From c5d2ba4169815afa936d00757c0b28f8aa41a58c Mon Sep 17 00:00:00 2001 From: N2614 Date: Tue, 14 Jun 2011 05:18:45 +0000 Subject: [PATCH] =?UTF-8?q?1st=20NUP=E5=AF=BE=E5=BF=9C=E7=89=88=20?= =?UTF-8?q?=E3=83=AA=E3=83=AA=E3=83=BC=E3=82=B9=E3=82=BF=E3=82=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@339 385bec56-5757-e545-9c3a-d8741f4650f1 --- tags/1stNUP/BoxyardEraser/BoxyardEraser.bsf | Bin 0 -> 2302 bytes tags/1stNUP/BoxyardEraser/BoxyardEraser.rsf | 37 + tags/1stNUP/BoxyardEraser/BoxyardRemover.desc | 232 ++ tags/1stNUP/BoxyardEraser/HeapManager.cpp | 39 + tags/1stNUP/BoxyardEraser/HeapManager.h | 40 + tags/1stNUP/BoxyardEraser/OMakefile | 68 + tags/1stNUP/BoxyardEraser/OMakeroot | 73 + tags/1stNUP/BoxyardEraser/RepairTool.desc | 232 ++ tags/1stNUP/BoxyardEraser/ResFont.cpp | 417 ++++ tags/1stNUP/BoxyardEraser/ResFont.h | 33 + tags/1stNUP/BoxyardEraser/banner/model.cbmd | Bin 0 -> 198785 bytes tags/1stNUP/BoxyardEraser/banner/sound.cbsd | Bin 0 -> 198785 bytes .../BoxyardEraser/banner/unknown24x24.ctpk | 1 + .../BoxyardEraser/banner/unknown48x48.ctpk | 1 + tags/1stNUP/BoxyardEraser/main.cpp | 314 +++ ...016102-0_0_0-nup.version.EU-UnfixedKey.cia | Bin 0 -> 31488 bytes ...016202-0_0_0-nup.version.JP-UnfixedKey.cia | Bin 0 -> 31488 bytes ...016302-0_0_0-nup.version.US-UnfixedKey.cia | Bin 0 -> 31488 bytes tags/1stNUP/BoxyardEraser/romfiles/lc.bcfnt | Bin 0 -> 16840 bytes .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes tags/1stNUP/CardCup/CardCup.bsf | Bin 0 -> 2302 bytes tags/1stNUP/CardCup/CardCup.rsf | 24 + tags/1stNUP/CardCup/OMakefile | 44 + tags/1stNUP/CardCup/OMakeroot | 73 + tags/1stNUP/CardCup/Readme.txt | Bin 0 -> 138 bytes tags/1stNUP/CardCup/banner/model.cbmd | Bin 0 -> 198785 bytes tags/1stNUP/CardCup/banner/sound.cbsd | Bin 0 -> 198785 bytes tags/1stNUP/CardCup/banner/unknown24x24.ctpk | 1 + tags/1stNUP/CardCup/banner/unknown48x48.ctpk | 1 + tags/1stNUP/CardCup/main.cpp | 314 +++ tags/1stNUP/CardCup/scrollBuffer.cpp | 89 + tags/1stNUP/CardCup/scrollBuffer.h | 55 + tags/1stNUP/CardSaveData/Mover/Imp/Imp.rsf | 18 + tags/1stNUP/CardSaveData/Mover/Imp/OMakefile | 69 + tags/1stNUP/CardSaveData/Mover/Imp/banner.bsf | Bin 0 -> 2362 bytes .../banner/BannerModel_imp/COMMON/COMMON.cmdl | 274 +++ .../COMMON/Textures/banner_imp.ctex | 17 + .../Mover/Imp/banner/banner_dummy.bcwav | Bin 0 -> 73288 bytes .../Mover/Imp/banner/banner_imp.cbmd | Bin 0 -> 16575 bytes .../Mover/Imp/banner/icon2_24.ctpk | Bin 0 -> 1152 bytes .../Mover/Imp/banner/icon2_48.ctpk | Bin 0 -> 4608 bytes .../Mover/Imp/banner_null_icon.bsf | Bin 0 -> 2402 bytes .../Mover/Imp/imp_list/batch/csm_list.txt | 3 + .../Mover/Imp/imp_list/batch/csm_sign.dat | Bin 0 -> 256 bytes .../Mover/Imp/imp_list/batch/makekey.bat | 4 + .../Mover/Imp/imp_list/batch/makekey_100.bat | 3 + .../Mover/Imp/imp_list/batch/makesign.bat | 7 + .../Mover/Imp/imp_list/caution.txt | 5 + .../CardSaveData/Mover/Imp/imp_list/digit.txt | 45 + .../Mover/Imp/imp_list/import.txt | 27 + .../Mover/Imp/imp_list/key/public_key.der | Bin 0 -> 294 bytes .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes .../CardSaveData/Mover/Imp/source/main.cpp | 490 +++++ tags/1stNUP/CardSaveData/Mover/OMakefile | 30 + tags/1stNUP/CardSaveData/Mover/body/OMakefile | 64 + .../1stNUP/CardSaveData/Mover/body/banner.bsf | Bin 0 -> 1954 bytes .../BannerModel_test/COMMON/COMMON.cmdl | 274 +++ .../COMMON/Textures/banner.ctex | 17 + .../Mover/body/banner/banner.cbmd | Bin 0 -> 9198 bytes .../Mover/body/banner/banner_dummy.bcwav | Bin 0 -> 73288 bytes .../Mover/body/banner/icon_24.ctpk | 1 + .../Mover/body/banner/icon_48.ctpk | 2 + .../Mover/body/banner_null_icon.bsf | Bin 0 -> 2394 bytes tags/1stNUP/CardSaveData/Mover/body/body.rsf | 29 + .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes .../CardSaveData/Mover/body/source/main.cpp | 966 +++++++++ .../Mover/body/source/screen/screen.cpp | 749 +++++++ .../Mover/body/source/screen/screen.h | 115 + tags/1stNUP/CardSaveData/Mover/body/ver.h | 22 + tags/1stNUP/CardSaveData/Mover/release.txt | 46 + tags/1stNUP/CardSaveData/OMakefile | 30 + tags/1stNUP/CardSaveData/OMakeroot | 73 + tags/1stNUP/CardSaveData/ToSD/Imp/Imp.rsf | 19 + tags/1stNUP/CardSaveData/ToSD/Imp/OMakefile | 70 + tags/1stNUP/CardSaveData/ToSD/Imp/banner.bsf | Bin 0 -> 2382 bytes .../banner/BannerModel_imp/COMMON/COMMON.cmdl | 274 +++ .../COMMON/Textures/tosdimp.ctex | 17 + .../CardSaveData/ToSD/Imp/banner/dummy.bcwav | Bin 0 -> 73288 bytes .../ToSD/Imp/banner/icon2_24.ctpk | Bin 0 -> 1152 bytes .../ToSD/Imp/banner/icon2_48.ctpk | Bin 0 -> 4608 bytes .../CardSaveData/ToSD/Imp/banner/imp.cbmd | Bin 0 -> 8133 bytes .../ToSD/Imp/imp_list/batch/cts_list.txt | 1 + .../ToSD/Imp/imp_list/batch/cts_sign.dat | 2 + .../ToSD/Imp/imp_list/batch/makekey.bat | 4 + .../ToSD/Imp/imp_list/batch/makekey_100.bat | 3 + .../ToSD/Imp/imp_list/batch/makesign.bat | 7 + .../ToSD/Imp/imp_list/caution.txt | 5 + .../CardSaveData/ToSD/Imp/imp_list/digit.txt | 45 + .../ToSD/Imp/imp_list/key/private_key.der | Bin 0 -> 1190 bytes .../ToSD/Imp/imp_list/key/private_key.pem | 27 + .../ToSD/Imp/imp_list/key/public_key.der | Bin 0 -> 294 bytes .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes .../CardSaveData/ToSD/Imp/source/main.cpp | 482 +++++ tags/1stNUP/CardSaveData/ToSD/OMakefile | 30 + tags/1stNUP/CardSaveData/ToSD/body/OMakefile | 62 + tags/1stNUP/CardSaveData/ToSD/body/banner.bsf | Bin 0 -> 2384 bytes .../BannerModel_test/COMMON/COMMON.cmdl | 274 +++ .../COMMON/Textures/tosd.ctex | 17 + .../CardSaveData/ToSD/body/banner/body.cbmd | Bin 0 -> 48490 bytes .../CardSaveData/ToSD/body/banner/dummy.bcwav | Bin 0 -> 73288 bytes .../ToSD/body/banner/icon_24.ctpk | 1 + .../ToSD/body/banner/icon_48.ctpk | 2 + tags/1stNUP/CardSaveData/ToSD/body/body.rsf | 30 + .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes .../CardSaveData/ToSD/body/source/main.cpp | 618 ++++++ .../ToSD/body/source/screen/screen.cpp | 765 +++++++ .../ToSD/body/source/screen/screen.h | 116 + tags/1stNUP/CardSaveData/ToSD/body/ver.h | 22 + tags/1stNUP/CardSaveData/ToSD/release.txt | 36 + tags/1stNUP/CardSaveData/common/common.cpp | 226 ++ tags/1stNUP/CardSaveData/common/common.h | 14 + tags/1stNUP/CardSaveData/common/gui/gui.cpp | 654 ++++++ tags/1stNUP/CardSaveData/common/gui/gui.h | 95 + tags/1stNUP/CardSaveData/common/my_defs.h | 82 + .../common/null_banner/banner_null.bsf | Bin 0 -> 2248 bytes .../common/null_banner/model.cbmd | Bin 0 -> 198785 bytes .../common/null_banner/sound.cbsd | Bin 0 -> 198785 bytes .../common/null_banner/unknown24x24.ctpk | 1 + .../common/null_banner/unknown48x48.ctpk | 1 + .../CardSaveData/common/savefile/exsave.cpp | 299 +++ .../CardSaveData/common/savefile/exsave.h | 70 + .../CardSaveData/common/savefile/membak.cpp | 225 ++ .../CardSaveData/common/savefile/membak.h | 193 ++ .../CardSaveData/common/savefile/savedata.cpp | 79 + .../CardSaveData/common/savefile/savedata.h | 41 + .../CardSaveData/common/savefile/savefile.cpp | 301 +++ .../CardSaveData/common/savefile/savefile.h | 141 ++ .../CardSaveData/common/savefile/sdmc.cpp | 458 ++++ .../CardSaveData/common/savefile/sdmc.h | 85 + .../CardSaveData/common/savefile/sdmcwo.cpp | 177 ++ .../CardSaveData/common/savefile/sdmcwo.h | 101 + tags/1stNUP/CardSaveData/common/shfnt.cpp | 368 ++++ tags/1stNUP/CardSaveData/common/shfnt.h | 30 + tags/1stNUP/CardSaveData/common/sleep.cpp | 110 + tags/1stNUP/CardSaveData/common/sleep.h | 46 + tags/1stNUP/CardSaveData/common/test_data.cpp | 1140 ++++++++++ tags/1stNUP/CardSaveData/common/test_data.h | 6 + tags/1stNUP/CardSaveData/docs/Error_code.txt | 37 + tags/1stNUP/CardSaveData/docs/HowToビルド.txt | 60 + .../CardSaveData/docs/csm_inf_sample.txt | 8 + tags/1stNUP/CardSaveData/docs/import.txt | 27 + tags/1stNUP/CardSaveData/docs/option.txt | 10 + .../1stNUP/CardSaveData/docs/マスタリング.txt | 10 + tags/1stNUP/CardSaveData/docs/操作説明.txt | 21 + .../CardSaveData/docs/署名に関する覚え書.txt | 34 + .../documents/CTR修理フロー_1stNUP.vsd | Bin 0 -> 222720 bytes .../documents/CTR本体データ移行ツール説明.doc | Bin 0 -> 487936 bytes .../ConsoleDataMigration/documents/Readme.txt | 17 + .../sources/ConsoleBackup/ConsoleBackup.bsf | Bin 0 -> 2302 bytes .../sources/ConsoleBackup/ConsoleBackup.cpp | 301 +++ .../sources/ConsoleBackup/ConsoleBackup.rsf | 54 + .../sources/ConsoleBackup/Controller.cpp | 339 +++ .../sources/ConsoleBackup/Controller.h | 51 + .../sources/ConsoleBackup/Exporter.cpp | 932 +++++++++ .../sources/ConsoleBackup/Exporter.h | 57 + .../sources/ConsoleBackup/OMakefile | 80 + .../sources/ConsoleBackup/banner/model.cbmd | Bin 0 -> 198785 bytes .../sources/ConsoleBackup/banner/sound.cbsd | Bin 0 -> 198785 bytes .../ConsoleBackup/banner/unknown24x24.ctpk | 1 + .../ConsoleBackup/banner/unknown48x48.ctpk | 1 + .../sources/ConsoleBackup/genversion.sh | 4 + .../sources/ConsoleRestore/ConsoleRestore.bsf | Bin 0 -> 2302 bytes .../sources/ConsoleRestore/ConsoleRestore.cpp | 354 ++++ .../sources/ConsoleRestore/ConsoleRestore.rsf | 54 + .../sources/ConsoleRestore/Controller.cpp | 1652 +++++++++++++++ .../sources/ConsoleRestore/Controller.h | 73 + .../sources/ConsoleRestore/Importer.cpp | 1862 +++++++++++++++++ .../sources/ConsoleRestore/Importer.h | 159 ++ .../sources/ConsoleRestore/NtpClient.cpp | 376 ++++ .../sources/ConsoleRestore/NtpClient.h | 33 + .../sources/ConsoleRestore/OMakefile | 85 + .../sources/ConsoleRestore/Shop.cpp | 560 +++++ .../sources/ConsoleRestore/Shop.h | 68 + .../ConsoleRestore/TitleDownloader.cpp | 261 +++ .../sources/ConsoleRestore/TitleDownloader.h | 65 + .../sources/ConsoleRestore/Updater.cpp | 251 +++ .../sources/ConsoleRestore/Updater.h | 41 + .../sources/ConsoleRestore/banner/model.cbmd | Bin 0 -> 198785 bytes .../sources/ConsoleRestore/banner/sound.cbsd | Bin 0 -> 198785 bytes .../ConsoleRestore/banner/unknown24x24.ctpk | 1 + .../ConsoleRestore/banner/unknown48x48.ctpk | 1 + .../sources/ConsoleRestore/genversion.sh | 4 + .../ConsoleDataMigration/sources/OMakefile | 27 + .../ConsoleDataMigration/sources/OMakeroot | 73 + .../sources/common/Aes_define.h | 76 + .../sources/common/CommonLogger.cpp | 117 ++ .../sources/common/CommonLogger.h | 116 + .../sources/common/DrawSystemState.cpp | 187 ++ .../sources/common/DrawSystemState.h | 80 + .../sources/common/FileChecker.cpp | 153 ++ .../sources/common/FileChecker.h | 88 + .../sources/common/FileName.h | 102 + .../sources/common/FileTransfer.cpp | 883 ++++++++ .../sources/common/FileTransfer.h | 62 + .../sources/common/HardwareStateManager.cpp | 81 + .../sources/common/HardwareStateManager.h | 51 + .../sources/common/HeapManager.cpp | 38 + .../sources/common/HeapManager.h | 40 + .../sources/common/LogConsole.cpp | 172 ++ .../sources/common/LogConsole.h | 79 + .../sources/common/LogConsole_Private.h | 28 + .../sources/common/OMakefile | 18 + .../sources/common/PlayHistoryManager.cpp | 224 ++ .../sources/common/PlayHistoryManager.h | 45 + .../sources/common/ProgramId.h | 28 + .../sources/common/ResFont.cpp | 417 ++++ .../sources/common/ResFont.h | 40 + .../sources/common/SdLogger.cpp | 268 +++ .../sources/common/SdLogger.h | 67 + .../sources/common/SdMountManager.cpp | 67 + .../sources/common/SdMountManager.h | 42 + .../sources/common/SdReaderWriter.cpp | 252 +++ .../sources/common/SdReaderWriter.h | 80 + .../sources/common/SimplePlayer.cpp | 240 +++ .../sources/common/SimplePlayer.h | 44 + .../sources/common/Util.cpp | 333 +++ .../sources/common/Util.h | 152 ++ .../sources/common/VersionDetect.cpp | 120 ++ .../sources/common/VersionDetect.h | 31 + .../sources/common/common_Types.h | 121 ++ .../sources/common/configLoader.cpp | 181 ++ .../sources/common/configLoader.h | 78 + .../sources/common/romfiles/annotation.wav | Bin 0 -> 28636 bytes .../sources/common/romfiles/cursor.wav | Bin 0 -> 29996 bytes .../sources/common/romfiles/lc.bcfnt | Bin 0 -> 16840 bytes .../sources/common/romfiles/ng.wav | Bin 0 -> 141180 bytes .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes .../sources/common/romfiles/ok.wav | Bin 0 -> 158700 bytes .../sources/common/wave.cpp | 150 ++ .../sources/common/wave.h | 148 ++ .../tests/ConsoleBackup/Exporter/OMakefile | 63 + .../ConsoleBackup/Exporter/test_Exporter.cpp | 113 + .../sources/tests/ConsoleBackup/OMakefile | 20 + .../sources/tests/ConsoleRestore/OMakefile | 20 + .../ConsoleRestore/TitleDownloader/OMakefile | 65 + .../TitleDownloader/test_TitleDownloader.cpp | 109 + .../sources/tests/OMakefile | 20 + .../sources/tests/common/OMakefile | 20 + .../sources/tests/common/util/OMakefile | 55 + .../sources/tests/common/util/test_Util.cpp | 174 ++ .../ExportedDataVerifier.bsf | Bin 0 -> 2302 bytes .../ExportedDataVerifier.rsf | 50 + .../tools/ExportedDataVerifier/OMakefile | 65 + .../ExportedDataVerifier/banner/model.cbmd | Bin 0 -> 198785 bytes .../ExportedDataVerifier/banner/sound.cbsd | Bin 0 -> 198785 bytes .../banner/unknown24x24.ctpk | 1 + .../banner/unknown48x48.ctpk | 1 + .../tools/ExportedDataVerifier/main.cpp | 496 +++++ .../sources/tools/OMakefile | 16 + tags/1stNUP/KENJEraser/DSiWareDeleteTool.desc | 229 ++ tags/1stNUP/KENJEraser/HeapManager.cpp | 39 + tags/1stNUP/KENJEraser/HeapManager.h | 40 + tags/1stNUP/KENJEraser/KENJEraser.bsf | Bin 0 -> 2302 bytes tags/1stNUP/KENJEraser/KENJEraser.rsf | 47 + tags/1stNUP/KENJEraser/OMakefile | 68 + tags/1stNUP/KENJEraser/OMakeroot | 73 + tags/1stNUP/KENJEraser/ResFont.cpp | 417 ++++ tags/1stNUP/KENJEraser/ResFont.h | 33 + tags/1stNUP/KENJEraser/banner/model.cbmd | Bin 0 -> 198785 bytes tags/1stNUP/KENJEraser/banner/sound.cbsd | Bin 0 -> 198785 bytes .../KENJEraser/banner/unknown24x24.ctpk | 1 + .../KENJEraser/banner/unknown48x48.ctpk | 1 + tags/1stNUP/KENJEraser/main.cpp | 391 ++++ tags/1stNUP/KENJEraser/romfiles/lc.bcfnt | Bin 0 -> 16840 bytes .../romfiles/nnfont_RectDrawerShader.shbin | Bin 0 -> 964 bytes 265 files changed, 29510 insertions(+) create mode 100644 tags/1stNUP/BoxyardEraser/BoxyardEraser.bsf create mode 100644 tags/1stNUP/BoxyardEraser/BoxyardEraser.rsf create mode 100644 tags/1stNUP/BoxyardEraser/BoxyardRemover.desc create mode 100644 tags/1stNUP/BoxyardEraser/HeapManager.cpp create mode 100644 tags/1stNUP/BoxyardEraser/HeapManager.h create mode 100644 tags/1stNUP/BoxyardEraser/OMakefile create mode 100644 tags/1stNUP/BoxyardEraser/OMakeroot create mode 100644 tags/1stNUP/BoxyardEraser/RepairTool.desc create mode 100644 tags/1stNUP/BoxyardEraser/ResFont.cpp create mode 100644 tags/1stNUP/BoxyardEraser/ResFont.h create mode 100644 tags/1stNUP/BoxyardEraser/banner/model.cbmd create mode 100644 tags/1stNUP/BoxyardEraser/banner/sound.cbsd create mode 100644 tags/1stNUP/BoxyardEraser/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/BoxyardEraser/banner/unknown48x48.ctpk create mode 100644 tags/1stNUP/BoxyardEraser/main.cpp create mode 100644 tags/1stNUP/BoxyardEraser/romfiles/000400DB00016102-0_0_0-nup.version.EU-UnfixedKey.cia create mode 100644 tags/1stNUP/BoxyardEraser/romfiles/000400DB00016202-0_0_0-nup.version.JP-UnfixedKey.cia create mode 100644 tags/1stNUP/BoxyardEraser/romfiles/000400DB00016302-0_0_0-nup.version.US-UnfixedKey.cia create mode 100644 tags/1stNUP/BoxyardEraser/romfiles/lc.bcfnt create mode 100644 tags/1stNUP/BoxyardEraser/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/CardCup/CardCup.bsf create mode 100644 tags/1stNUP/CardCup/CardCup.rsf create mode 100644 tags/1stNUP/CardCup/OMakefile create mode 100644 tags/1stNUP/CardCup/OMakeroot create mode 100644 tags/1stNUP/CardCup/Readme.txt create mode 100644 tags/1stNUP/CardCup/banner/model.cbmd create mode 100644 tags/1stNUP/CardCup/banner/sound.cbsd create mode 100644 tags/1stNUP/CardCup/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/CardCup/banner/unknown48x48.ctpk create mode 100644 tags/1stNUP/CardCup/main.cpp create mode 100644 tags/1stNUP/CardCup/scrollBuffer.cpp create mode 100644 tags/1stNUP/CardCup/scrollBuffer.h create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/Imp.rsf create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/OMakefile create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner.bsf create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/Textures/banner_imp.ctex create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_dummy.bcwav create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_imp.cbmd create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/icon2_24.ctpk create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner/icon2_48.ctpk create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/banner_null_icon.bsf create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_list.txt create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_sign.dat create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey.bat create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey_100.bat create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makesign.bat create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/caution.txt create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/digit.txt create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/import.txt create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/imp_list/key/public_key.der create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/CardSaveData/Mover/Imp/source/main.cpp create mode 100644 tags/1stNUP/CardSaveData/Mover/OMakefile create mode 100644 tags/1stNUP/CardSaveData/Mover/body/OMakefile create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner.bsf create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/BannerModel_test/COMMON/COMMON.cmdl create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/BannerModel_test/COMMON/Textures/banner.ctex create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/banner.cbmd create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/banner_dummy.bcwav create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/icon_24.ctpk create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner/icon_48.ctpk create mode 100644 tags/1stNUP/CardSaveData/Mover/body/banner_null_icon.bsf create mode 100644 tags/1stNUP/CardSaveData/Mover/body/body.rsf create mode 100644 tags/1stNUP/CardSaveData/Mover/body/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/CardSaveData/Mover/body/source/main.cpp create mode 100644 tags/1stNUP/CardSaveData/Mover/body/source/screen/screen.cpp create mode 100644 tags/1stNUP/CardSaveData/Mover/body/source/screen/screen.h create mode 100644 tags/1stNUP/CardSaveData/Mover/body/ver.h create mode 100644 tags/1stNUP/CardSaveData/Mover/release.txt create mode 100644 tags/1stNUP/CardSaveData/OMakefile create mode 100644 tags/1stNUP/CardSaveData/OMakeroot create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/Imp.rsf create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/OMakefile create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner.bsf create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/Textures/tosdimp.ctex create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/dummy.bcwav create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/icon2_24.ctpk create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/icon2_48.ctpk create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/banner/imp.cbmd create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_list.txt create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_sign.dat create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey.bat create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey_100.bat create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makesign.bat create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/caution.txt create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/digit.txt create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.der create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.pem create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/public_key.der create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/CardSaveData/ToSD/Imp/source/main.cpp create mode 100644 tags/1stNUP/CardSaveData/ToSD/OMakefile create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/OMakefile create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner.bsf create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/BannerModel_test/COMMON/COMMON.cmdl create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/BannerModel_test/COMMON/Textures/tosd.ctex create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/body.cbmd create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/dummy.bcwav create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/icon_24.ctpk create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/banner/icon_48.ctpk create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/body.rsf create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/source/main.cpp create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.cpp create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.h create mode 100644 tags/1stNUP/CardSaveData/ToSD/body/ver.h create mode 100644 tags/1stNUP/CardSaveData/ToSD/release.txt create mode 100644 tags/1stNUP/CardSaveData/common/common.cpp create mode 100644 tags/1stNUP/CardSaveData/common/common.h create mode 100644 tags/1stNUP/CardSaveData/common/gui/gui.cpp create mode 100644 tags/1stNUP/CardSaveData/common/gui/gui.h create mode 100644 tags/1stNUP/CardSaveData/common/my_defs.h create mode 100644 tags/1stNUP/CardSaveData/common/null_banner/banner_null.bsf create mode 100644 tags/1stNUP/CardSaveData/common/null_banner/model.cbmd create mode 100644 tags/1stNUP/CardSaveData/common/null_banner/sound.cbsd create mode 100644 tags/1stNUP/CardSaveData/common/null_banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/CardSaveData/common/null_banner/unknown48x48.ctpk create mode 100644 tags/1stNUP/CardSaveData/common/savefile/exsave.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/exsave.h create mode 100644 tags/1stNUP/CardSaveData/common/savefile/membak.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/membak.h create mode 100644 tags/1stNUP/CardSaveData/common/savefile/savedata.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/savedata.h create mode 100644 tags/1stNUP/CardSaveData/common/savefile/savefile.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/savefile.h create mode 100644 tags/1stNUP/CardSaveData/common/savefile/sdmc.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/sdmc.h create mode 100644 tags/1stNUP/CardSaveData/common/savefile/sdmcwo.cpp create mode 100644 tags/1stNUP/CardSaveData/common/savefile/sdmcwo.h create mode 100644 tags/1stNUP/CardSaveData/common/shfnt.cpp create mode 100644 tags/1stNUP/CardSaveData/common/shfnt.h create mode 100644 tags/1stNUP/CardSaveData/common/sleep.cpp create mode 100644 tags/1stNUP/CardSaveData/common/sleep.h create mode 100644 tags/1stNUP/CardSaveData/common/test_data.cpp create mode 100644 tags/1stNUP/CardSaveData/common/test_data.h create mode 100644 tags/1stNUP/CardSaveData/docs/Error_code.txt create mode 100644 tags/1stNUP/CardSaveData/docs/HowToビルド.txt create mode 100644 tags/1stNUP/CardSaveData/docs/csm_inf_sample.txt create mode 100644 tags/1stNUP/CardSaveData/docs/import.txt create mode 100644 tags/1stNUP/CardSaveData/docs/option.txt create mode 100644 tags/1stNUP/CardSaveData/docs/マスタリング.txt create mode 100644 tags/1stNUP/CardSaveData/docs/操作説明.txt create mode 100644 tags/1stNUP/CardSaveData/docs/署名に関する覚え書.txt create mode 100644 tags/1stNUP/ConsoleDataMigration/documents/CTR修理フロー_1stNUP.vsd create mode 100644 tags/1stNUP/ConsoleDataMigration/documents/CTR本体データ移行ツール説明.doc create mode 100644 tags/1stNUP/ConsoleDataMigration/documents/Readme.txt create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.bsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.rsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/model.cbmd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/sound.cbsd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/unknown48x48.ctpk create mode 100755 tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/genversion.sh create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.bsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.rsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/model.cbmd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/sound.cbsd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/unknown48x48.ctpk create mode 100755 tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/genversion.sh create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/OMakeroot create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/Aes_define.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/FileName.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole_Private.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/ProgramId.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/Util.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/Util.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/common_Types.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/annotation.wav create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/cursor.wav create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/lc.bcfnt create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/ng.wav create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/nnfont_RectDrawerShader.shbin create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/ok.wav create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/wave.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/common/wave.h create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/test_Exporter.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/test_TitleDownloader.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/common/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/test_Util.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/ExportedDataVerifier.bsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/ExportedDataVerifier.rsf create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/OMakefile create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/banner/model.cbmd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/banner/sound.cbsd create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/banner/unknown48x48.ctpk create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/main.cpp create mode 100644 tags/1stNUP/ConsoleDataMigration/sources/tools/OMakefile create mode 100644 tags/1stNUP/KENJEraser/DSiWareDeleteTool.desc create mode 100644 tags/1stNUP/KENJEraser/HeapManager.cpp create mode 100644 tags/1stNUP/KENJEraser/HeapManager.h create mode 100644 tags/1stNUP/KENJEraser/KENJEraser.bsf create mode 100644 tags/1stNUP/KENJEraser/KENJEraser.rsf create mode 100644 tags/1stNUP/KENJEraser/OMakefile create mode 100644 tags/1stNUP/KENJEraser/OMakeroot create mode 100644 tags/1stNUP/KENJEraser/ResFont.cpp create mode 100644 tags/1stNUP/KENJEraser/ResFont.h create mode 100644 tags/1stNUP/KENJEraser/banner/model.cbmd create mode 100644 tags/1stNUP/KENJEraser/banner/sound.cbsd create mode 100644 tags/1stNUP/KENJEraser/banner/unknown24x24.ctpk create mode 100644 tags/1stNUP/KENJEraser/banner/unknown48x48.ctpk create mode 100644 tags/1stNUP/KENJEraser/main.cpp create mode 100644 tags/1stNUP/KENJEraser/romfiles/lc.bcfnt create mode 100644 tags/1stNUP/KENJEraser/romfiles/nnfont_RectDrawerShader.shbin diff --git a/tags/1stNUP/BoxyardEraser/BoxyardEraser.bsf b/tags/1stNUP/BoxyardEraser/BoxyardEraser.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 zcmb7@%}&BV6ov0r6Q4m6H@Z+KhJ|rsM6B@-iN&}UA&7ugsXvL2;Tss=z?CbPK7-HU z)`;f}40Xb^b~0(1PS3sfyQi1I&zzJblt2oys8<2cr*etalpCCea)sR)c7e2|i~WpD z%Rcro7N2+UHiF)~Uy~`R|H-i|w|LvZ70EsBD^ipPeP2RkjQky)vxJ;2?`%a`MK<2; zYzL^;09`kOt2fp#wk|zHu)7fFWNu`{_Q#rGY=0EX_#@P9p&Pog2InT%2DrMq)-it1 z5bM@4GJuy|>5rV>09lO8Ax`gbHW_E@jjjxRjO#yrP0mrF2RAOE<`)kz2d6kOwUp*I z93`+s$UK?1hPc}iwV4q^!TDfENmN43p675qs~7dEzSM{MR`2Q)_czs1k9R9iC+b3# z6`dZs&Cc53ZE5GPQMHZQ&9SRVZt6E>3%bKUwF@%riEnqMis|N;Ye~iGdv;(iqYmL% zgnF^1x3#kaqppIk4p-ag{~U}rnxmrmV?1-}BHb4wwvf|Jvo7{BYB!CoUDx@U+m9xI zZ~1Ac&QC+NAI&!0$)cen)MPOjjbG&*sbyA9+-82Nvlu4Tel%g~#LiszPN!@7sdh7@sr_j7@Sk?igDXGP`DhB-LF)Z@%5t2-lYH^vj#EOln + +namespace common +{ + +class HeapManager +{ +public: + HeapManager(); + virtual ~HeapManager(); + + static nn::fnd::ThreadSafeExpHeap* GetHeap(); + +private: + // デバイスメモリ管理用拡張ヒープ + static nn::fnd::ThreadSafeExpHeap s_AppHeap; + +}; + +} // namespace common + +#endif /* HEAPMANAGER_H_ */ diff --git a/tags/1stNUP/BoxyardEraser/OMakefile b/tags/1stNUP/BoxyardEraser/OMakefile new file mode 100644 index 0000000..f277296 --- /dev/null +++ b/tags/1stNUP/BoxyardEraser/OMakefile @@ -0,0 +1,68 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-T*.Process.MPCore.* +CTR_APPTYPE = BOTH +CTR_MAKE_DEVELOPMENT_IMAGE = true + +TARGET_PROGRAM = BoxyardEraser + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + +SOURCES[] = + main.cpp + ResFont.cpp + HeapManager.cpp + +CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf + +ROMFS_ROOT = romfiles + +SHADER_BIN = nnfont_RectDrawerShader.shbin +SHADER_PATH = $(ROMFS_ROOT)/$(SHADER_BIN) + +ROMFS_DEPENDENCIES = $(SHADER_PATH) + +LIBS += libnn_cfg \ + libnn_driversEeprom \ + libnn_driversi2c \ + libnn_driversCal \ + libnn_crypto \ + libnn_driversCodec \ + libnn_spi \ + libnn_gpio \ + libnn_pdn \ + libnn_mcu \ + libnn_i2c \ + libnn_driversCamera \ + libnn_ps \ + libnn_driversRsa \ + lib_demo \ + libnn_nwm \ + libnn_friends \ + libnn_ns \ + libnn_am \ + +INSTALL_SDK_TOOL = true + +ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf +DESCRIPTOR = BoxyardRemover.desc + +include $(ROOT_OMAKE)/modulerules + +VERSION_H = $(file version.h) + +build: $(DEFAULT_TARGETS) diff --git a/tags/1stNUP/BoxyardEraser/OMakeroot b/tags/1stNUP/BoxyardEraser/OMakeroot new file mode 100644 index 0000000..7ee1cb5 --- /dev/null +++ b/tags/1stNUP/BoxyardEraser/OMakeroot @@ -0,0 +1,73 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakeroot +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev:$ +#---------------------------------------------------------------------------- + +# fBNgCAEgɂ‚Ă̐ +# +# a) \[XR[h[gfBNgɔzuꍇ +# : +# /OMakeroot +# /foo/bar/OMakefile +# +# : +# OMakefile ƓfBNgȉ objects images ܂B +# +# /foo/bar/objects/... +# /foo/bar/images/.. +# +# +# b) \[XR[h sources ȉɔzuꍇ +# : +# /OMakeroot +# /sources/foo/bar/OMakefile +# +# : +# [gfBNgȉ objects images ܂B +# +# /objects/foo/bar/... +# /images/foo/bar/... +# +# + +# [g‹ϐ̎擾 +public.HORIZON_ROOT = +if $(defined-env HORIZON_ROOT) + HORIZON_ROOT = $(absname $(getenv HORIZON_ROOT)) + export + +if $(defined-env CTRSDK_ROOT) + CTRSDK_ROOT = $(absname $(getenv CTRSDK_ROOT)) + if $(and $(defined-env HORIZON_ROOT), $(not $(equal $(HORIZON_ROOT), $(CTRSDK_ROOT)))) + eprintln(HORIZON_ROOT CTRSDK_ROOT v܂BpXݒ肷邩Aǂ炩`ĉB) + exit(1) + HORIZON_ROOT = $(CTRSDK_ROOT) + export + +if $(not $(HORIZON_ROOT)) + eprintln($"$$CTRSDK_ROOT `Ă܂") + exit(1) + +include $(HORIZON_ROOT)/build/omake/commondefs + +DefineCommandVars() + +.PHONY: all build clean clobber +.PHONY: run run-scripts run-emumem + +# +# OMakefile ̓ǂݍ +# +.SUBDIRS: . + diff --git a/tags/1stNUP/BoxyardEraser/RepairTool.desc b/tags/1stNUP/BoxyardEraser/RepairTool.desc new file mode 100644 index 0000000..d3d0e19 --- /dev/null +++ b/tags/1stNUP/BoxyardEraser/RepairTool.desc @@ -0,0 +1,232 @@ +AccessControlDescriptor: + AffinityMask: 1 + AutoGen: true + CoreVersion: 2 + DescVersion: 2 + Descriptor: | + AP///wAABAACAAAAAAAFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIEAAAAAAABBUFQ6VQAAACRo + aW9GSU8AJGhvc3RpbzAkaG9zdGlvMWFjOnUAAAAAYm9zczpVAABkc3A6OkRT + UGZyZDp1AAAAZnM6VVNFUgBnc3A6OkdwdWhpZDpVU0VSaHR0cDpDAABuZG06 + dQAAAG53bTo6VURTcHRtOnUAAABweGk6ZGV2AHNvYzpVAAAAc3NsOkMAAABs + ZHI6cm8AAHBzOnBzAAAAY2ZnOm5vcgBtY3U6OkhXQ2FtOnUAAAAAY2ZnOmkA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD+//vw/7//8ec/APIA8JH/APaR/1D/gf9Y/4H/cP+B/3j/gf8B + AQD/AAIA/v////////////////////////////////////////////////// + ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAA + ABUAAAAAAAAAAAAAAAAAAAI= + DisableDebug: false + EnableInterruptNumbers: [] + EnableSystemCalls: + ArbitrateAddress: 34 + Break: 60 + CancelTimer: 28 + ClearEvent: 25 + ClearTimer: 29 + CloseHandle: 35 + ConnectToPort: 45 + ControlMemory: 1 + CreateAddressArbiter: 33 + CreateEvent: 23 + CreateMemoryBlock: 30 + CreateMutex: 19 + CreateSemaphore: 21 + CreateThread: 8 + CreateTimer: 26 + DuplicateHandle: 39 + ExitProcess: 3 + ExitThread: 9 + GetCurrentProcessorNumber: 17 + GetHandleInfo: 41 + GetProcessAffinityMask: 4 + GetProcessId: 53 + GetProcessIdOfThread: 54 + GetProcessIdealProcessor: 6 + GetProcessInfo: 43 + GetResourceLimit: 56 + GetResourceLimitCurrentValues: 58 + GetResourceLimitLimitValues: 57 + GetSystemInfo: 42 + GetSystemTick: 40 + GetThreadAffinityMask: 13 + GetThreadContext: 59 + GetThreadId: 55 + GetThreadIdealProcessor: 15 + GetThreadInfo: 44 + GetThreadPriority: 11 + MapMemoryBlock: 31 + OutputDebugString: 61 + QueryMemory: 2 + ReleaseMutex: 20 + ReleaseSemaphore: 22 + SendSyncRequest1: 46 + SendSyncRequest2: 47 + SendSyncRequest3: 48 + SendSyncRequest4: 49 + SendSyncRequest: 50 + SetProcessAffinityMask: 5 + SetProcessIdealProcessor: 7 + SetThreadAffinityMask: 14 + SetThreadIdealProcessor: 16 + SetThreadPriority: 12 + SetTimer: 27 + SignalEvent: 24 + SleepThread: 10 + UnmapMemoryBlock: 32 + WaitSynchronization1: 36 + WaitSynchronizationN: 37 + FileSystemAccess: + - Debug + - DirectSdmc + - DirectSdmcWrite + - Core + - CategoryFileSystemTool + HandleTableSize: 512 + IORegisterMapping: + - 1ff50000-1ff57fff + - 1ff70000-1ff77fff + IdealProcessor: 1 + IoAccessControl: + - FsMountCardSpi + - FsMountNand + - FsMountTwln + MemoryMapping: + - 1f000000-1f5fffff:r + MemoryType: Application + Priority: 24 + ProgramId: 0x00040000ffffff00L + ServiceAccessControl: + - APT:U + - $hioFIO + - $hostio0 + - $hostio1 + - ac:u + - boss:U + - dsp::DSP + - frd:u + - fs:USER + - gsp::Gpu + - hid:USER + - http:C + - ndm:u + - nwm::UDS + - ptm:u + - pxi:dev + - soc:U + - ssl:C + - ldr:ro + - ps:ps + - cfg:nor + - mcu::HWC + - am:u + - cfg:i + Signature: | + aktZ4eHHc/0DJOO0+J0yS+OCTUDkOocI441pzjNa56jmsr3CsVoD5IGi9K+R + m+3gVcMc6DJHlflrsjGaEAg7a2s2b/yQ9kZAx8mwHgqihlD33eU73kOo0xV1 + hVLn2kWDDpweFKxPfjyfalqtwZLFAAnaz8HS852tokldYDVU6bchxCvF28aJ + vrVN0hHAvaJ2rVv/OMjgYIGwARPS7z5yDs2DxGbcJH55Q8KetUG0QFuXJZIC + g4eOXC2soHSnve1jKKvPfcaIJyBH+3fUVt1FQX88b8t8H51j5uSMbzTmskJY + rsMv6W6bler0T0zs8tHOS9aXCd75QTvpijFFgLQ14Q== + StorageId: + - 0 +CommonHeaderKey: + D: | + kVlG6tIpWOE416smaUI8k/v3soWJXEmzahOtNDHwHUyIKG/U7TWu2RsPHT+q + PvXaLZ6Rt34GqvZzVTpS0595/hqdkQEvFNQZyWTgi1XZJclnNFztAp4cje+l + c9rYm27XiqN01c4z/mJFf9EOFGDKuVTxS9YgOywWHCiOzsLMLc3bV09LGhGX + pMMtWk8CkubDU03onDLvIXT60Z0wJL2D65+cEtf2bt2CqBtIqBqwf7SYToNq + RnlPTohUQp0pXslnMllZ++PoWMOZhENAY6eA/ddwX43e3oHKDsAQPUtf8aX2 + nPf5fMKohI0SjqpFhsSh8mbBm+Bah02Xtd1OiF0XgQ== + DP: | + KRRQMwUuh9j3rsFqFXmkVfci7cnOObNolT5mISNLjOVyb5oBZSnjQGtwAGy3 + F3uUcdykCQi4ZZq1k+mzfuRr+tkKMfQbt9TJ2hHCUfmH5m7CSVr6uTlHaHmX + qXYgsknFDMEOHbwNFrI+89mAlyXwg0M2J9y5hHD3TYp3OfViHZE= + DQ: | + DsFfTFpoPFZYh5Hkb5apEE2WeS29NBt5wxhbqQ838TYeATtnFRKZJzbrVQ4G + TrNy8/pmaoZIUbK+xVCbO/FTid28jGVBOWQVig1KNrdk5nFjlvw3OHCwLIL7 + FyugGwkS7CTM0z+oNorMF71FRapRX0REE9FaCwmi4SNzi9UK2FM= + Exponent: | + AQAB + InverseQ: | + VhhJpDTD3EGpkm8BsN/SCBYOh9ozOVeMig81EjfFctH0u7TLwlMLVEJ96Z8h + 7oVh2c9ZQqWSBO8t/xhrQKdNjKo781rySHWDBjAewzULhUutV0QKUx1IG0wx + WeR3KdKWEURIsArdxT6dacyqOyb7xWdO40N/awZ+9Jv5G+RjCN4= + Modulus: | + 0DQPmbjwh2wztNIEgD/0To/vEjP93JCVQt71+OwxrsfxQYh3xPjcUSqGsZzv + vknSF68QjS5otNOhWMCGubCqn4+1wiFky5mp84xjSSJE0ji+JBomOaCmaC/q + WrEQGuZHIwWAvuMA68Hj/XC/FEV3nmol37j72CPoO3Aac39pgowuMiY4eshZ + TYmJL9K9mUMOXsJq++KoZl1mXEQmQIHfSQalG93yJwybdQs+TUJZy9LEEdGS + CL7Ei7i0bXb7HzS39AOC+g4OHhdCSGyRzutGkm7HoiiZdlK6ShpmBRUerAIl + ED9SuU+SQi9sjnsq3qTVNKbRF/Gzlr+7WrjWBCaxDw== + P: | + /UQWt9VELddu6yu01cCPt3MvdyGSXP+3xHFd3RDsNWQ3amiLFQf1EuXCiZQA + SzPfYOMZInTiVnvctanE9psQ43ZeMAdD3SPsg3uN11g8fr1O2YvTmKMB67K+ + 59DZhpX4vVdkr1/3NCW0ht/iWH4vhSvREH5rb/LL5aXaP5feKZk= + Q: | + 0nNwlIODzVV0tqZbySDZ4/UDG13lse24DQshAVSSb9/dpQs3POBP4bJBZ8HJ + /8N6CODEYhfkXYuWJi8p3vAXzNC5FcXQkZg0CxPK9jp6HPyadN/dfqFEUJ/8 + G8jqXVQt+aIfUDKOorzKRGE4J6UF8ChMqlZ1WkrfkAkszw+xaOc= +DefaultSpec: + AccessControlInfo: + AffinityMask: 1 + FirmwareVersion: 2 + HandleTableSize: 512 + IORegisterMapping: + - 1ff50000-1ff57fff + - 1ff70000-1ff77fff + IdealProcessor: 0 + MemoryMapping: + - 1f000000-1f5fffff:r + Priority: 16 + BasicInfo: + CompanyCode: "00" + Logo: Nintendo + Title: default + ExeFs: + ReadOnly: + - RO + ReadWrite: + - RW + Text: + - STUP_ENTRY + Media: + MediaType: Card + PlainRegion: + - .module_id + Rom: + DefaultReject: + - .* + File: + - "*" + SystemControlInfo: + Dependency: + ac: 0x0004013000002402L + am: 0x0004013000001502L + boss: 0x0004013000003402L + camera: 0x0004013000001602L + cecd: 0x0004013000002602L + cfg: 0x0004013000001702L + codec: 0x0004013000001802L + csnd: 0x0004013000002702L + dlp: 0x0004013000002802L + dsp: 0x0004013000001a02L + friends: 0x0004013000003202L + gpio: 0x0004013000001b02L + gsp: 0x0004013000001c02L + hid: 0x0004013000001d02L + http: 0x0004013000002902L + i2c: 0x0004013000001e02L + mcu: 0x0004013000001f02L + mic: 0x0004013000002002L + ndm: 0x0004013000002b02L + news: 0x0004013000003502L + nim: 0x0004013000002c02L + nwm: 0x0004013000002d02L + pdn: 0x0004013000002102L + ps: 0x0004013000003102L + ptm: 0x0004013000002202L + socket: 0x0004013000002e02L + spi: 0x0004013000002302L + ssl: 0x0004013000002f02L + StackSize: 16384 diff --git a/tags/1stNUP/BoxyardEraser/ResFont.cpp b/tags/1stNUP/BoxyardEraser/ResFont.cpp new file mode 100644 index 0000000..b0183df --- /dev/null +++ b/tags/1stNUP/BoxyardEraser/ResFont.cpp @@ -0,0 +1,417 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ResFont.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +//------------------------------------------------------------------ +// デモ: ResFont +// +// 概要 +// nn::font::ResFont の構築と破棄のサンプルです。 +// +// 操作 +// なし。 +// +//------------------------------------------------------------------ + +#include +#include +#include +#include +#include + +#include "ResFont.h" +#include "demo.h" +#include "HeapManager.h" + +namespace common +{ + +namespace +{ +const char s_ShaderBinaryFilePath[] = "rom:/nnfont_RectDrawerShader.shbin"; +const char s_FontFilePath[] = "rom:/lc.bcfnt"; + +const u8 s_Color = 255; + +nn::font::RectDrawer s_Drawer; +void* s_DrawerBuf; +nn::font::ResFont s_Font; +nn::font::DispStringBuffer *s_pDrawStringBuf0; +nn::font::TextWriter s_TextWriter; +void (*s_DrawTextFunc)() = NULL; + +//--------------------------------------------------------------------------- +//! @brief シェーダの初期化を行います。 +//! +//! @param[in,out] pResource 描画用リソースを管理するオブジェクトへのポインタ。 +//--------------------------------------------------------------------------- +void* +InitShaders(nn::font::RectDrawer* pDrawer) +{ + nn::fs::FileReader shaderReader(s_ShaderBinaryFilePath); + + const u32 fileSize = (u32)shaderReader.GetSize(); + + void* shaderBinary = HeapManager::GetHeap()->Allocate(fileSize); + NN_NULL_ASSERT(shaderBinary); + +#ifndef NN_BUILD_RELEASE + s32 read = +#endif // NN_BUILD_RELEASE + shaderReader.Read(shaderBinary, fileSize); + NN_ASSERT(read == fileSize); + + const u32 vtxBufCmdBufSize = + nn::font::RectDrawer::GetVertexBufferCommandBufferSize(shaderBinary, fileSize); + void *const vtxBufCmdBuf = HeapManager::GetHeap()->Allocate(vtxBufCmdBufSize); + NN_NULL_ASSERT(vtxBufCmdBuf); + pDrawer->Initialize(vtxBufCmdBuf, shaderBinary, fileSize); + + HeapManager::GetHeap()->Free(shaderBinary); + + return vtxBufCmdBuf; + +} + +//--------------------------------------------------------------------------- +//! @brief 描画の初期設定を行います。 +//! +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +InitDraw( + s32 width, + s32 height +) +{ + // カラーバッファ情報 + // LCDの向きに合わせて、幅と高さを入れ替えています。 + const nn::font::ColorBufferInfo colBufInfo = { width, height, PICA_DATA_DEPTH24_STENCIL8_EXT }; + + const u32 screenSettingCommands[] = + { + + // ビューポートの設定 + NN_FONT_CMD_SET_VIEWPORT( 0, 0, colBufInfo.width, colBufInfo.height ), + + // シザー処理を無効 + NN_FONT_CMD_SET_DISABLE_SCISSOR( colBufInfo ), + + // wバッファの無効化 + // デプスレンジの設定 + // ポリゴンオフセットの無効化 + NN_FONT_CMD_SET_WBUFFER_DEPTHRANGE_POLYGONOFFSET( + 0.0f, // wScale : 0.0 でWバッファが無効 + 0.0f, // depth range near + 1.0f, // depth range far + 0, // polygon offset units : 0.0 で ポリゴンオフセットが無効 + colBufInfo), + }; + + nngxAdd3DCommand(screenSettingCommands, sizeof(screenSettingCommands), true); + + static const u32 s_InitCommands[] = + { + // カリングを無効 + NN_FONT_CMD_SET_CULL_FACE( NN_FONT_CMD_CULL_FACE_DISABLE ), + + // ステンシルテストを無効 + NN_FONT_CMD_SET_DISABLE_STENCIL_TEST(), + + // デプステストを無効 + // カラーバッファの全ての成分を書き込み可 + NN_FONT_CMD_SET_DEPTH_FUNC_COLOR_MASK( + false, // isDepthTestEnabled + 0, // depthFunc + true, // depthMask + true, // red + true, // green + true, // blue + true), // alpha + + // アーリーデプステストを無効 + NN_FONT_CMD_SET_ENABLE_EARLY_DEPTH_TEST( false ), + + // フレームバッファアクセス制御 + NN_FONT_CMD_SET_FBACCESS( + true, // colorRead + true, // colorWrite + false, // depthRead + false, // depthWrite + false, // stencilRead + false), // stencilWrite + }; + + nngxAdd3DCommand(s_InitCommands, sizeof(s_InitCommands), true); +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを構築します。 +//! +//! @param[out] pFont 構築するフォントへのポインタ。 +//! @param[in] filePath ロードするフォントリソースファイル名。 +//! +//! @return ResFont構築の成否を返します。 +//--------------------------------------------------------------------------- +bool +InitFont( + nn::font::ResFont* pFont, + const char* filePath +) +{ + // フォントリソースをロードします + nn::fs::FileReader fontReader(filePath); + + s32 fileSize = (s32)fontReader.GetSize(); + if ( fileSize <= 0 ) + { + return false; + } + + void* buffer = HeapManager::GetHeap()->Allocate(fileSize, nn::font::GlyphDataAlignment); + if (buffer == NULL) + { + return false; + } + + s32 readSize = fontReader.Read(buffer, fileSize); + if (readSize != fileSize) + { + HeapManager::GetHeap()->Free(buffer); + return false; + } + + // フォントリソースをセットします + bool bSuccess = pFont->SetResource(buffer); + NN_ASSERT(bSuccess); + + //--- 既にリソースをセット済みであるか,ロード済みであるか、リソースが不正な場合に失敗します。 + if (! bSuccess) + { + HeapManager::GetHeap()->Free(buffer); + } + + // 描画用バッファを設定します。 + const u32 drawBufferSize = nn::font::ResFont::GetDrawBufferSize(buffer); + void* drawBuffer = HeapManager::GetHeap()->Allocate(drawBufferSize, 4); + NN_NULL_ASSERT(drawBuffer); + pFont->SetDrawBuffer(drawBuffer); + + return bSuccess; +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを破棄します。 +//! +//! @param[in] pFont 破棄するフォントへのポインタ。 +//--------------------------------------------------------------------------- +void +CleanupFont(nn::font::ResFont* pFont) +{ + // 描画用バッファの無効化 + // 描画用バッファがセットされているなら 構築時に SetDrawBuffer に渡したバッファへの + // ポインタが返ってきます。 + void *const drawBuffer = pFont->SetDrawBuffer(NULL); + if (drawBuffer != NULL) + { + HeapManager::GetHeap()->Free(drawBuffer); + } + + // フォントがセットされているなら SetResource 時に渡したリソースへの + // ポインタが返ってきます。 + void *const resource = pFont->RemoveResource(); + if (resource != NULL) + { + HeapManager::GetHeap()->Free(resource); + } + + // RemoveResource 後は再度 SetResource するまでフォントとして使用できません。 +} + +//--------------------------------------------------------------------------- +//! @brief 表示文字列用バッファを確保します。 +//! +//! @param[in] charMax 表示する文字列の最大文字数。 +//! +//! @return 確保した表示文字列用バッファへのポインタを返します。 +//--------------------------------------------------------------------------- +nn::font::DispStringBuffer* +AllocDispStringBuffer(s32 charMax) +{ + const u32 DrawBufferSize = nn::font::CharWriter::GetDispStringBufferSize(charMax); + void *const bufMem = HeapManager::GetHeap()->Allocate(DrawBufferSize); + NN_NULL_ASSERT(bufMem); + + return nn::font::CharWriter::InitDispStringBuffer(bufMem, charMax); +} + +//--------------------------------------------------------------------------- +//! @brief 文字列表示用にモデルビュー行列と射影行列を設定します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +SetupTextCamera( + nn::font::RectDrawer* pDrawer, + s32 width, + s32 height +) +{ + // 射影行列を正射影に設定 + { + // 左上原点とし、Y軸とZ軸の向きが逆になるように設定します。 + nn::math::MTX44 proj; + f32 znear = 0.0f; + f32 zfar = -1.0f; + f32 t = 0; + f32 b = static_cast(width); + f32 l = 0; + f32 r = static_cast(height); + nn::math::MTX44OrthoPivot(&proj, l, r, b, t, znear, zfar, nn::math::PIVOT_UPSIDE_TO_TOP); + pDrawer->SetProjectionMtx(proj); + } + + // モデルビュー行列を単位行列に設定 + { + nn::math::MTX34 mv; + nn::math::MTX34Identity(&mv); + pDrawer->SetViewMtxForText(mv); + } +} + +//--------------------------------------------------------------------------- +//! @brief ASCII文字列を描画します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] pDrawStringBuf DispStringBufferオブジェクトへのポインタ。 +//! @param[in] pFont フォントへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +DrawAscii( + nn::font::RectDrawer* pDrawer, + nn::font::DispStringBuffer* pDrawStringBuf, + nn::font::ResFont* pFont, + s32 width, + s32 height +) +{ + s_TextWriter.SetDispStringBuffer(pDrawStringBuf); + s_TextWriter.SetFont(pFont); + + s_TextWriter.SetCursor(0, 0, 1.f); + + s_TextWriter.StartPrint(); + if(s_DrawTextFunc != NULL) + { + s_DrawTextFunc(); + } + + s_TextWriter.EndPrint(); + pDrawer->BuildTextCommand(&s_TextWriter); + + + // 文字の色は、文字列の描画コマンドを再作成しなくても変更できます。 + s_TextWriter.SetTextColor(nn::util::Color8(s_Color, s_Color, s_Color, s_Color)); + + pDrawer->DrawBegin(); + + SetupTextCamera(pDrawer, width, height); + s_TextWriter.UseCommandBuffer(); + + pDrawer->DrawEnd(); +} + +} // namespace + +void SetDrawTextHandler(void (*func)()) +{ + s_DrawTextFunc = func; +} + + +//--------------------------------------------------------------------------- +//! @brief サンプルのメイン関数です。 +//--------------------------------------------------------------------------- +void +InitializeResFont() +{ + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + NN_UTIL_PANIC_IF_FAILED( + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE)); + + // フォントの構築 + { +#ifndef NN_BUILD_RELEASE + bool bSuccess = +#endif // NN_BUILD_RELEASE + InitFont(&s_Font, s_FontFilePath); + NN_ASSERTMSG(bSuccess, "Fail to load ResFont."); + } + + // 描画リソースの構築 + s_DrawerBuf = InitShaders(&s_Drawer); + + // 描画文字列用バッファの確保 + s_pDrawStringBuf0 = AllocDispStringBuffer(512); + + nn::fs::Unmount("rom:"); + +} + +void DrawResFont(s32 display) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + if(display == NN_GX_DISPLAY0) + { + InitDraw(NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + } + else if(display == NN_GX_DISPLAY1) + { + InitDraw(NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + } + + nngxUpdateState(NN_GX_STATE_ALL); +} + +void FinalizeResFont() +{ + s_Drawer.Finalize(); + + // 描画リソースの破棄 + HeapManager::GetHeap()->Free(s_DrawerBuf); + + // フォントの破棄 + CleanupFont(&s_Font); + + // 描画文字列用バッファの解放 + HeapManager::GetHeap()->Free(s_pDrawStringBuf0); +} + +nn::font::TextWriter* GetTextWriter() +{ + return &s_TextWriter; +} + +} diff --git a/tags/1stNUP/BoxyardEraser/ResFont.h b/tags/1stNUP/BoxyardEraser/ResFont.h new file mode 100644 index 0000000..ca53420 --- /dev/null +++ b/tags/1stNUP/BoxyardEraser/ResFont.h @@ -0,0 +1,33 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ResFont.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef RESFONT_H_ +#define RESFONT_H_ + +#include + +namespace common +{ + +void InitializeResFont(); +void DrawResFont(s32 display); +void SetDrawTextHandler(void (*func)()); +nn::font::TextWriter* GetTextWriter(); + + +} + + +#endif /* RESFONT_H_ */ diff --git a/tags/1stNUP/BoxyardEraser/banner/model.cbmd b/tags/1stNUP/BoxyardEraser/banner/model.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..f1c7b6279e13f5278c419d615d7d03d5660005e5 GIT binary patch literal 198785 zcmeF42b>f|^Y>?tBj+52Lvj*CGTiPSIf@`b5d(;Tf(Ze$9AX9&AYw*DP{DvG5@dG? zCW45fsF($_Vj>uMzrWt;z2=1T`M>%^cKB3HRZVrJ?&+D^yDd6(>w3ce-^+O%>5~iP z^Lz-wSRg-eOThog`A~=S&7fQgl9w|Vb6v>AcJ9$>Kx1T5-Ou3;x!mab-l8AVJjEbg z8=G{~%=HB7V@~4;!z>l7rW_%qgu1)C5`pM`%`%&JyO# zod2O8am46T4BK;p*Pj8~zjF{|tdJX=a8pLR9rF)yOYfnJ@N$fq8$F9`qOf*N3MpRoWmbfe^}1-Y$?3Qy`}Y|db@L=YdSOscXQVD+-t0> z6qvO#*c=a)SYrjeV({88+W@j&3ZA9wwFUAqC*|N@39f67D#3pX-wsH}Q#JTfOt!`s z;I7GlZw9aN1-V`u{^pMdVmf1)pc zR=)$fbN)nM(OUfsbjSUPzUId2r=#2XPxR9r{m)}VhPeW19 ztcT&Rf}aYnXV#1G^WbkVe7g53{5trNni#LBSAhI?z>kG5hW*;`=_Db0g}lOEC-~a% zvR8x%hQW7+m%Sofp9DVwegxx-GvXfjtKi2Nd-=ST@blnhueevjdmDZoyzG_4|33H~ z@UmBu>lIkL=@f7R<9+WauLXQ<_{-tbyr$j&_|EXMSH>&rO@JQ(FMH*v$Zhaf!OLDb zu0IVw5B@yHSMh3iufwl{zX-mnm*MS(-vKXs6}?Jc1@^0SCP?-wd*!`W@U`J(uQJyM z!FPr~i}7XHMJK|KfFB268jG{wuY#AoYTgmvGw}1^Wv@CBY=d71FMHLwz88K6yzEu< zYI+rUcBdCk*sDN%t>J6K%U(_INbdyr&hWBVi+nDE9|13WwYWYT{wnzMu~*(};4Oon z2Y)eq1+Ss^Cj2^h*{kc-^L~Qg0WW*?S=E(!pGYr~uvee!ZQ*OftA2I8M&60=o#9o# zI@r4yegwSiHR7pxC;V0LveyLvE8yqB-(dL0-rMl&;8m~MJPCh>-vNJ#vDd<@vK#+J z6ZV>UM|(S^dGfA=p9in_T6(R# zci`8-Pla!d|6k#Ez{_51u2%8+O>U;Jd@iUOTV7cL)4f zc-iZK#tZPbz{_3-uJ49_3jP|#m-fP5t-Wd9oA5WmXL=#83;eI})6frl5pOhnM)8Eb zEHrL_?+h<{SzKQPKN`LQ8%A56>@UMlgRc(X(d*=;?c_4N5el0e>da1d&hb=!hZn&nBn_)OW@N>ChQ&S_4VF{uMaPK$KlWWInC=0FMG#v zy)OKD@KMJ1@s9U;!_S0&9=;zlGy#4Yyy83F8{pjs{|>zD4MgKbc(w&&Zy?vdgRc$G zQKPa`|G{=71pV?-|fQ{lVjp&xeibw9R;uaJj+)m-`&;6LG= zES^0d<>V{--@z}V|*_CbKwW&q2JfhFHStY;Opk0 z-zb-UUHCn`BOWTA0=e{k_~-M`|M0_{`Y4`x@Uzg*COfyDyb_z^s$BY$;78`6f2yOe z{rM#LR(a^R&!yiAzCa%O6>{m9hJS;1_-vv*Sp468kdv?Cc?y0$`nTlL=M~%>Gjr+R z46mOt4yAvtqp#=J82GMv==aK{-xa<>9{P22>DPq+grAuX6_1}wf8G16fAr^&om-zG ziFCbrT(|E_ivK?NYx2;a%OMei2-8}SL<*A zcDcs1Wz5mY^tsBRVk>>%n2b)0dF9&^@f@u;$mke?WRqa9u|r%gAEP0%S|` z7;|l|F%ia0LUv^yV@}OACd8OQ$d1ipOsiaDIxwaQvMPCuDSqIX^mdHd_zu4-;Ikj) zZ`ZwOdo1F5z^5OJ{sQl^*ix_hXvg`906UsH_F~+n+HZYGd<#UaBf-zg) zO7m(mM!#Qh*Fhq4_CKz>HF%ma3z2>O<)Oz+%{68vW2PWmp2wKebB&2JW(cyY^BB`E z*O=!Rb2PGkd5kH2;28h-z8!lizZQ&f53PZrJNTWYT?{M>t6Rv?wR>f=L+HLkO!lx; z`XO{RANH{O@0%YVJcg?rU9DY>TyzNC6C7QwW!cU?gl=O;SMThyJwUqqAreQSJ_Gu8 zgv>vCTTZ;T4p!;Fvwna0=P+{Q$b_l z-})W;u**Ufh_GX*rddG2#Dd9J*SBxPt_^D7?_ec`vq9EGvax%bR=EzwXBu&x*e>ZLNNt=Z)W&zxY!n{O9(i`6ITp{dT)#9N9vhfzw2A+?03< z?4Ru2mo2`)k-~W&`u$$I=Vc5y!Q3C|AMn|WJzjq;NoV_YnSJ2EBRlLjKn^&^{({%s zZ~}Q{AK$%mf8^=Y9GjCJI%iCFIO!=zXsC?=-@HV#5^=9@w%9^Jp1~!rMu{3FUJR}U zvgG>IwO8`E_GTW}zRly>zJpxTdr5lYKG^>oziHC(fp$3xyw*Q3L%r+fK2XyUx$V_7 zZxo*i1xIr4`V_f6v~KKvYh^iSt<67&)ZUfayAE74{Ejt8V5tA5y{k5#3)!Rg<|O@> z_O4g>?8P3>Ikc7OKFiU_k%~GT_pY}#@vi+rvLea7tM$uCnc2OycOCqZ_-Fgpfi?bj zaQ40HAN6hXR0SerEj|ly-@B|%j!o*2eD9h#F_0&pYpM6HoJu90b$@;Ds{O^B&-LE* z@gpDHCF^=GTVCUWbM@Xe*Z+P~;4xe0&cJCRIR1|JuF=8gJF+)^eez!UOM6#2$7W%N zmXE~2`-=}WKh@uw+>^YXtCRF!+Ml-OeE#LV zygs*jH^%Rpg3qY9A4}QaJxp^xw^9jK*I&}|;sRg9 z=d8W02pt8=CHU z%lO;Sa+MQL2m5NYTPYiWMzZylAl!#Y>bdUZPaVQl(3lDpR^l+0tdol`U7kY`F^M zD^x6Bp;E<4l`B@NQn^ai%2ldWt#(A!YSoXZUgL=B88tF$*2p-r=8?5(9$C9q?K-t; z*R4~xUY)x2>(y^iuYSV@4I4FR*tk*SCXE^&)#RwAO^)L4lGB=|R7Kqrv{xnHE7hiQJ2n*nsjN>wM&zxU7L36+BB_OTC;A=j_!VRkM2h| z@6o(xkLJhpJf>IAV_NiT(YsfRmc3i{>D{tbpH|2AY1R7J)_sp{-KKAw_&bwbvO zCuDUzvEz^vJ9Zk<>7*f@I-k^e=t-Ts4DE9A&@Nq1?t03}UAvvq?bK7cH9NIg_fxy~ zIIYL9(|YtA)^qrMr-lz8-aeD7QBl?^%qR+8s96R!iWBZQmJ8ER#<3=4f zdem|KM)x~&bie**_CM>){>Ptn{Ft+jA24RX*f9eJjvaXR*nxx29(2yxg9e{7_}p^_ zpK$I8=bd}PiRYbo{&^=3Ie*Bw^M{-??xYLGoiy}g;o_KIfXN&pG#+bFaPT-1DwI@49QxJO8@#ufOj6ao3N#;rekG+;G9v8!i|>b^Nrc z<0nj;aO1QI6K|Y&(~T1^yy?Q5Z@Tcbn@_vw=38!^e(Q|sx6Yg~^R^i?XWcgI_S@9T+%SGr(;D(Zq2&q*F5*an&)3!^TJDOUR=NCr44J=Z(Ors)0&Mh zui3PD&C9Q>*}P@VE3dBE^4gkLx2}2Z^)*}HSo8X}HE+DRX4_k9-dwxpEp~#4-38EE*raL%-*o*if`Q%+qChz$i_>GuC93B^w`Wk z6AWE%PVxBI^z}xEbF4(q?ncfz&KM)dMhrb8XI#AU$7PKiKXGh@WfR+R`A+yMVQ9(g z&ABnII3y4BV^&`=NgmjbOD_A0L-HUVBUe1qOW40j@f*3~mtDz;OF0_3a;*4P2_sir zibM8ATYcgRJNjYAe%P@eapDOp4%tziocP0vBZxnuI1~?lB8o$D)n2|6@s}{PrNfQ8ZWu*U0f?Y>xrsA$2I4%@4kwN);fA`;%Y;47H?>-OV7}ZTRpe? zi!BrSg}670$3;u7@uIh)ukoUF7N5|+&ghBOxJ?@itro3#rZ7H`M;!f#V<+O+k2rp_ zG(KU!P?i&CmW>~KvJ;Vx&f*jL*G2Ga>wx`2hL*j>A7*52s=hP6`kcn`TA@;gzVD{_ z@$%EYj7ZKo4sYm6p;D{SGc@B?r^jAtDV-Z`sw;V1wB#Bu8hfiX-r5l_TGyo~TH`cc zbP$h~M;!f#V<+O+&vN{l`p6FUB)4&9+4z;8lb7sg1@T0jIz%+y#?$`&c3D%JZjA5f z(LKIsYCS`1u2e(G*D$xLwP>!Jds{T)R#$3Uu$AbSCT6YHcq`Xu zT6>tri&lLcdBoAzoLW0sj{Pi+*I4DD@uIOOdBn<{_*qMdymWT*jcB~|HBRG2%bu0z zuFqFZn`M=XEQ$AdqeHyj-XjcMYt+&M>UPf0o{@7tpoZv0G?sA()Dv4qj_m_#`{4Pn zwUmCFQLPTBvwTY~eWxa?6^FI&)NQrmkX&b{wk8hAHO{HOu`9X!xO1d9BoFFi=0$Z= z9D)7;bJv_a1N#Te<3%~~95AOge#RXzzfQgf%(dc>ed0P`-ko~NzF7~Nb6bDech>{) zWXX=s?%I%^jo+?^AYUVwA9u|t4(Tf{9V17UTCKCYPQ=GLC3M`ickbNza_7jM7ss!e3)xrRPMinS*{!WxPbc?CuDV5h6^SFS z_sjg#uFo7bY*Or-F*BYWJ8z<)e>|has!(c7>)*I})lb8E z7@cy%d#pNs%myRxI%dPFh9gTD`J3}5u6py0n~j`tt7?s%(Lwf)ns)svY#I5UT}7gb zOY+tuZ!$l(%l?~hl#HVPtmI|Ue+J)@6H65Pt0b3w#UZ)u6OWPiOvGd4=MWFM7EG4#h)UA*Y_w&y-wqW$V8xVc*D!OYvmN&WPbX zG8KpPb+&Wuk23Kax#Hh9HL)I+jhWFwaY$eDrZ}AX7`fsav+MZK*TpZ1eOUMORqfJ4 zhMs-q_Ek&jR5di`D14@L_T~#k(K9sT%o>n<;F%{ypJ%*i$u(Xy_M#duT4#+Ht?SYg zt#KMJI*7;6@}u#Aex_q5WbI=w_3;*@?! za_q^Dp>-CY&@Ugdbx?l9W8{iw(8v{`x2vBWoBZMntIF3{VCY+ZibOk&zs}H{qwt32 zdi2B>`K%9p#+mwvzU8NQG{kt(Es$%xXzABvylB}GpU{s)r6(GDt2AD;;<55x_;K_@ z)(+>8V?U(v8p}9SpM?E*NaL;CiC=a?k}JO-sweXeX}shbM?8jBJg0rJIaIXU=vbdO z-&=L*nJWzaOL%bfoEEbU%{dBhXs$ZUbMz(yyzevE6>#UKtJTz30eD!*YRuWlhEHLxs6l$A<3oRJ14IY_KjTEZ5=d@ zc#K@}%-q)|{OZmI;RTVd(H7h47`niuSoBcxX`>5Vp5!e{Um)UaY(MSOV=U}$u-WU$tx!N^5fEqLvqFC z(uyO{54p7B2<(SkT6GEHF*UNZ;*cG5O-z<{@-;C@jvo_;=!%oV2hdIprEhC1n}!bT zCuwRDwlTOgH8FCHb7}dOU)gqPYGUL;eUh|zK6f*7Smcos%k&xCt%K*aPSJVSfucq9 zyAK_DzfAnrEIa%PU!rh7ztr!FQ;@1bY7L~;z`tV+{E$&Iy!qCt9oVkI8=768S*$~i zaFZRaGTROA5H7uQW#$D}4hgr|Q$93r;K1t^b@YXpzud+iUr;H9y?RRbH!Urx5 zSB$-d=u4jidUa@JsV!sOeM-jX1FD6I%*t27$$?*^#`I+j`qN+xptN+IreL+WNV5(->PPTOV5&TMt_Yo4?K5=4&NQF^Slt`b zfI?t(R!jqmfQxuV!9}TVqRT>>>62KJ6<6FVNzb@a;4+*`(#^08SX~WE(%Y{bxB};r z^bM>4uEe>d=~1XYij|?O(2uYha0K`Wx(!wXYJh8yNj0D*SUm-+0ad`Y=*U+Gs0*%( ztPW5UToc_oKs|6hx&+n%YJnTj|F03y*mVAD0&YTwzD7V(a8r6jH3E(XAB}D!uQ~np zS^zD<>c!UrXbo(%8q()Zo%h;-)p4&4piX-o=#JM0Xaa76 zZX5d7RrSI^6>t?|4+9Z!1l_Rd#usL6JLq=khRLxu-}R{Nbp)$-UKY?9+!@_0AOenH zBMYbt?n3Ncf#%@m`0NT~f-}+W3Umf{#zt453%D(@cLN%L8&HF8KzDF=I_Y&Y-SoQA zF|QqTJ9N7-M^(LEKnNT{)(hwf?ul+Mpf|WTbJzd#Fcdu8JDu;eo$j3h zKEoRc9_ft&k3x3@Fbq5l8zX?>;L+Zh-dVsH@ECla1q=ZXLH8_R6nGRi&H_e*PbHSI zz}euly>r0lc;|x8rJK=M;C%4;*d7a<3LfWOK%d?Vyb0h5-bC<3??Ui}=#B@@1)qzJ z@xVCnMc&2UCBUWNOTEj$mwA_iFGu$h;6m_)*ti6^2z&*(P6CF5hvRb+a6b5abSD9q zgD=O%B;X401Y*esCW9w?SAwtfrhuo=u{j&K8hkajvw;cVYrJc{>wxRQ*VFOvI$$bz zD!SJJQ@~TOaUF0Cc$#-3-;cS`yBT~l9er*BZUx_p?oGf{@KkKv1WW@@C)XLkMc|9@ zIRm&Fd^Nf=fLp=0Vq*p{9eh2p%mi)&-$wW2nZWJf+r8P~+1?%CJFqpH0JsKx4K;fJmdND5!tOl?4)_~V|Yr$*LjRPydE3gpunxT5+ralmH+Y-CoA9|2cozIDx*LI)z%OBABd{L4npj>2 zHiI|Q(feg!3wVq7D)?3JHSlZLei>K|-s-*Xy#Z_kZ}Z*+zv;aNehb|1wf{3*6S0=9ua^FH^!0KNo&>3s$M%KIAp zHM(B_JHb1#@dfZ1_#1B*@7KG$@4(-A--EyRegOY~?zh0#;IFaqE$|KaM{?Z_ybXRE zpSyui!JneL8~6eI12%R8KZ3s`mOa2;@Lq2pc%SzZ_$TjY@Xy{a;9s!42lx{FD{JjH z;A!yF%VlC_kJbypngMI$Wc)yqC|BU=+#_b1Ifmfls zpLhIS^dQ(pF6sU^_)Pb|!hgE|3%coy;m?y9?}L3mA9ydZ=l4ISR{8zUs9Ao0hgZPQ z?-%e3f(!bEz=iyM$oG+7e*a_Us<8h$YooBgl{He>f5j`}7xs&wTNo$+E`W`~z{lXt ztj(f+jC-M|ALX7X>M!?-`9=L==oSTvfQw+GD6kp4jM^0Umy&yN|5s{I9KVJ9;>1u8 zT##|af#t}TbH5hnD~TJt62N-!dhUr5{)=8ozl2}XF9j~;mj;(6*AjpSeu1@F#($2r zSH}Nw;WIw zToxPUfOo;)vDPY3|9pN0>g$7j{8s=t;AxE5S(;7D*CxVk`Xa6P#CKwWTUEH?lef~&zb0vdp;!!-sP zfivKm0FA*%!W{)P0oR6W3LFKl3)c*23a$@#G|&v(0L#sRW5A8zS^&+#jp14XEx=9S zS^+J=N5QoQT7jFwwE9{?WU4+IZHx353QAMBq1 zoCrSA9|9iYp9DS$-4lTR;QrV+0T=`x>YwbN0-Opy)jthh zc({MMKLR)ddaB`0}sQ-2w*t)L}D2Ui~^7HM}tTEXM)f4&jO$2j{%Rt z_DJAF@L2zB{~X|4@VWkZ;Pd?R!RMoU4sa&;Ol+J3j0KPLFYw0$6TlPviQtL;h2RU( z9S@ujJ|7$7fpOrA$n|1iD0nD7F9ybd$Dn&La3T0YY+MXn1U{EoE&(nDU+P~5zRbTI ze7S!G_zHg#coMcR0nP=lzQLago{H{uz}4WZv2h)64R{*4-Uy5XkHhDUz$EY_bZ-Qvf~R8RMqnCv3bEV- z+zh_izXg1Ye=GP_e>!-&KLb1i+cyDIz%yBEw*h^?eVE(ZfLY*K=-vk03ceK^w*fQ3 zXRsD-2WEq3`*(ov@b3iQiSF&dEbuIB+zy-pzKdM%2Ce~LgU`Ex8Q>Y{-VNLdz7rdF z19yRMCiZ)PY;ZO;y9c-ze6N2W_&$FQcn-1L1KbS0l)1Ve7z-ZD8o3{s3!aPa{lLB8 zd$Dmpa4C2cYx4nM5O@&x!~?)Q@H})M0Oo?{V&ef|6!bNDbG`_86#OWc~0^fzt$AE{y z52O1S@F@6EY&-^B4}RQ#!e0zL34YRF0$$=j1%AqZ8vL}s6ui`b2K)@Vi~VK(a(@M| z61>uX7W}Ng3cL#46~I&Ar?9aCSO$*zF+UEh2Cw$lfYUP&x30xyAI^4Ejc`y0R;{Egs^{wDAyY`+Ms z1i$QW_FnO zz^`HB4PYzyZF1cXM8Q#fZU;7jH=(;7cnka%HnszAgSQaNJHWf(cm4Ok@A>b8-}gTN zf8c)z{t(;m09(Kx`5*f`fSur-{wLs1{7=E3qPqilAN)Qxb^srNKl4BLzW}}jf9Zb( z{>uLv{585?0H11 z?}&Xr@DcbUYPKKn()e%V(tNO=mIh8s`yToC=$ zrK6t@@W5W$d&u8IH(%OItj+vs%efcwr!C{2$e*^vFOZf$tpK|Dfpl;>Hu3{6fuE!{ z1=F4&_kwAA@L3SwX=w$C!w36}D+nw>zJ&X=VA{{rrcl~*+zW-$)^Sf1N?YR>PAimF zIIRe{NLo>F(X?NX|3du=rLAUd7E6n<_KKyw%^ED0_NHGvtyo%dbc+Fn!G*C=3|I}` z##$(m_BwN2BJCUIyhPepe#x{FX(iDu0Tc%p$3_WY8~96VUn=c$YFjGpH)>o8zeUqZ z5knDh5yq7QzC!*L>#pV3X4V- z*VvIG_e6BokE(=VY-s5^a=yot)Q{*|U`PI}FZqiEcF=EZXz4mSaYrX+ z?dYr{u=y{I?b#)R!g~kT3V-(2R({vHEc`|KP;)L4Jv03D{KerpYYRnm?e|72jZWm3 z55wPdEF01Jq)RU~^ukZeL=?Z|PRubU=D3rWsdEs6p@Z1sPRwy9m$-ZcImVoLq}S8O$Q*9&Q!>Zu%MTfP*VVo?lLhAeF_T1WjWyGIig|L+uX*>lE*9h+u+pd)!K z@MUTq_|hE29A7c(OYz%yoUt*@z2-$S&4Fs77&OPC6`SO$r)Wpt%zdD*H53o*NFKLx z>=-(*6L;)befhQeu_|l)(9LUBMQ&bme|T?!Q$x3HjYclIhp&!|`udUZ zwg<99OQWle&hay@3vJr?T;#&&1L5VrRy6eczddSVmE8Myv7z5BwmM?vvpTIZ`m(d* z?U$0i@;|pR>FeWG>y0nPQ)JsFqoW+s2fb{@ie5Esy|IZ-)anp()Ugw_cJLLozKA*M z#B6BACLNoX>^QkcZSL}A>!X^)YrYcsK5K@liDKBZ<<_ujqB!roW3s8qdpln-v|_IN z{+1*y`AK)oOpbkY&2Uq5#Xs@6ki5 z$JQaR6Sa1fqvDh=)xn7~YU8vz%7q-wSmmgERnIe~HZw7+p7Leafa0-hVBlE|lWSn$ zoFfgb`H~#_X8ic9UIis*i=2W9;Bl+ zAiweztR=I?g0&QNd_}D<9z*p4qWom2n9bZNs#9+oMW@}$^t%tR{Z;u>5 z^lNjEyjbv#$Y*6gH*50s+wO`qx^|DL^XK2)WpuPA^>-GZ4Blndr0BV~|72<|dfjEe z8M;*DuB7~>iMJbl%~!<|^OC;W?3*6j}i9*Hd7{+_9cVi-B*U2~r* z&cerRGBqh(d7+^d^N=!&lC;Lkssk!36qW@x3bJ<^f!%8zRvR}4HV$YZT z>=Fx2ZDr@~V^)~^)auwe1a_jZy3_ z8c;mim(0AsJSVvZ9{BujLui9CXwfc@PBM)LQV->Tt zFS+NVq48bch-_Fs*3h-?KRL2#!UCi7 zQGpSWE#W7O{M2F}hF>eY)W{c2{WQF}N6g6gPg>vV%l#{i{DKo+X*G1nIwLPy?8BJV zKXK}(u^oZ_PjgO=Tl>ojjEGzNU+%v@J~xQ7@}u+PM+dPD?(|ChwjkzHyS@?M9mMIx zA9do7Ix$C`IHOK%Q74|L6GPPT8+Ck9*JKT&P7R|@t)fnSqE1bsP9367?olV-sFP## z)&BQHKEM20)iByOvOZFz^l^r6*M4y1rG@tz`ivXj4sUyRk)fw8Sl8<22NxT<^o?)F zth`kF!SVM3{Z;+%iT@thY!_J{ZxPsZe1#leA;(w9@fC7>g&bcY$5+Vl6>@xqW)*%r za`hdph%+PnY5xx+OMhq|88V`1c*(A}BQ;iZkKFyhv8>e{ktx^oG&<*J?&N$*Bx_m2 zaKq=f8@kq>lfy$l*=*<|&pqGJLyC8cB<0mx7=78PQ1$|2N4~y)H9P6+lK00OUy7$l z_7tNdn(WIR!@2-njJDWDHO!^vnv+jdL%nuaMeQ=7g zBORNU?AY98$L20ywmz!KtL?6jG`Q`FkaAI+uQi_=QcV=6_CM9+=sHskt(d#cyfH~j zzU`M)?%1ePhnQnO>eM0T)WOh!ov2fXm{W(C;t%5FooJa| zwRW62jXCokbLO4Tppt9DjI}u`-#xV&X@1#Tc9?l*exoK|;$eEt{I>2}FFB{h&p$Fr zOV0edV@(YMn<33(pkwN6<%&mZOl!%+9Qabq)|aCb)g0M4-&ygwS*wb<-h=cMq5g`Y zU%77#O~{_)s-bA`~Ku_L+lCH=sc z(YL-FdDO8Jb?is)ZLlG3@4Ma~tc}}yb8@HkaeHqba}0exf_-W2?pRzgXkRLP_DhD= z{xS08B--vvMjq@-vSarp`Lg?xdj z5BeZ!XXMDwlfJe+@I^A_TN{6vj9EH1FWIrV%Z|-mzHEIIr`?y7i`|!06MMg_CiZ?; z%ywTAZTBT-Y}Bbk%&~9gC8$Hpse_^IzU0&)=F}mk`0c)=9D_Kcs)LPFb+BYXtiyzzU|*6QyDvF&Ve+;6k~3d1 zXHH|zyvLk*H#)&OG_|t(lJd3pyYdb83f`Al^TA%BeC=ML*zCR}+U`rvSW`p0|2R6P z&Q`9N?Y?AU4tyzQ>&wxJDqkDt;EPt8wW@ul_)W{r+Sb1GQT1mGtvyF_yH`lx?n{!} zy~2@)96KS$eyC&3UDj9V#-iU@U!i9%`61~`a_dX_c3+a*`f}t^$4=C-&))7ud(w>f;inxTAR3%Q$aog&$mX3Yap+p3pGL&2o^%Akm}qb) z@)Z^YcI3m*fm=@5K`fH|=g>dReKhn~&xSD|+-g%2A8XUB*FeY4oAD`K ztAD5(I6BFkg50zYj7)Q^xlm4;W7SO&YK|3`Xswk%Kji4!7-dKDSYRiFotR_Ck+l`ri8*$nK|ER?F~wtT z>nvU%9|wyuQ48UmeNsM^gEKZNe*tKIOzfQPyqFkm>^6_Uj&u~8(Fx+0E!i=#>&$f% zyL2^PvC5u1KaNgv&J~LV>R@ds_M{EjQ$DgsOs2-7?LDSzk}Jj_R#V>~R+DcKtDP(9 z+PRV+LkF?ixiUJ|hRxU7(Rl02jt}Cr_m&xtj>$#il&5lZ&dIt4b<-NOvHZvGCt4S( zzUp<5b!YO|npU35J6K0%{v5fv#{xUa_2||{w4Lw7{O3G-B~SP_dzYPKqo2?{K&}{U zUA1PVulca+->e_El2eTiW{chC8=K8&T-0x8vr{ceX_=zp1_+L!KA9Z4mIdPhMKZq@6 z<01E$6GP1Ul}*Q&c@8Dw$a!wqcZR=PPF_*+iUoN^$t%XZC@Lay&KrQR`t<4gJe337pQ*0v&+nbo`0$5W8!`cYN2OVvX0Ig(>t1d2h%gn zyho#J_5{5P*!KbKnD;wpF7*DNgw*pf@vdvvo$BR2SM2+g_6fUwRkJ{zdT$TzW35x? zebxSqVD9-~eVTh-bv)QTAFNNK6Rb~TFIb<(j@GxeW!JZCCFU&g4jt&2pBBy~XSus$(!W`q|N}Yu32gPb9bR2D&D>=G*Qm!MvM2MYdII*$?JQx~Y9B z=d%m5AFHCOi(Rj_X2ChRUbW9i_kUquB8^D8lHt(rJoLp6?X}mHI`DfQsF8CvYw&;N ztXxu%szGWEq}D)c4W!mUY7P8vt^vKTq~O1&2C4h-fAc;}&1-62Q)?i#2L9R_;O{e& zy{V@SOnh2lKC%eVvi8SE9w?A6D)xvM&JEu?bcvxkhs0BV^VyBA507q-3?DTo@Bz@tEjmhJC&N&A zp?|zLwLGggby1+0=}cW5T-+-GE}c~XSMoPt7~;7vaJXd1Q$fNB2W&jPS+KI^59~`QW>ZMR$uGNKsB&B zTUR#Stt-W6(K zu`~zNJz8C`)!(`$SbeaYn?Bgh>4RMhx)!?4>1M5t*KJL|YW2Hr2V{aX(QRk?Gq+=G z3+NW;Ci+>c*L4;xSJcfq0(1g*LN@|rg4L&5y|6>z&g9w!s1H^*?=C=VaBFnC0P0|^ zuF+k9&fxaMqK?+x!0KS#)pW7$N>}Qh(CSj%6-e~KZV%m?)!N6b*gh=ELePZ{(wn*; z@_y*{VGUHE_jCpN{`Ln3fYp1tKcK$UeHq&yCb&o!Y&bvc^lffsG(-5E=_!#Eu6rcvU25aOLAko)a zovVj3?i8Q}SRKtzVNDjHn{yHFh0}m^aJuPTJ-_El%>k-z}3`X`U%9xO!% z>{6_~vw)+)M+beg)fszq&?~zvw7SZl#hPzG2kZvS^;n=IxZ^?kW;aHzZtr7RV_`a0 zhpFv(z=_}!O&{y?=~a9la5ngCY@7#Vfe+nV`=X$e_INr8UjnUO+T(%C!0M+x9=HO0 z1vbWeljw7;Uf7es>SaBdzSC2{>Ono3F3nei)v192c@l%l; zy7%>T)9HE!cm_SGZvxc&TK%ilds5RJvxC49#y6R0mmk!c%=?|^`(lfy`@&5oY9X#Ee16FV92Y~y*vx((FK)s*m z(@R<%rqyR!J)_k2x>2S0AQIX{8!qrgL8^{RdpSO`|{ zX7zGbM`m?mUIHuyFGY6=@C5h?Y%Bp5gP$SSWx!qFyYRUTcm%9|*2@5OaaL#DWq`Ul zs{{3NK>e82&v`lUELi=VmjmiY8^!i=;4!c|JFBnr8q?W%EqER%d7RbylZXb#;CLSPx#0?hC*=@H%X~0H_1>26Ej9ECw&e=SCn3j-snR&+6yA z9vkZLtS-=Nh-DM-GFaW6HvzAJ)!}&)@GAIKY;OYAfM28U^;Xk+d@Ji|CiG0Y^{V6Z z7O=WHt7GqG@Md(kvIgeT;dw57m2>xkPIQ4zbc&wI)tTt37xeRV!&Nuy?Z8^_TKsPZ zwt%K%akPk)S!9l*`tZPaEba6eeR#CHPfFs-iCJAu!@pONcMU>o>e*5>EH zGvH@fgP#NHRs99Jp97zOKf%W5z`fw7SPNeQ8^9Zw^DhB)iT(=RF9CJ9{sJ3c0#AX} zJ^X9nZLoS%e+_&F{tVr(0d>Ou3L9SoFM zc=>_d;N9rv_kW~iUVhV?IzK&=^FjYiECqe_e^wuAb(c=`nO4teb&pmL>0neb{IIGWZ6+nHL)q%PyPz{{u=&T;j>g!ws zT*J=*XJET3PztP0&b5Hr;6z7f^>9{S=NjM|jH?A40Y1X?1g=LX<_3UzJ2y1lm(|U= z0Z;>6gK-UjI$(7QZa~-Na&%i(zv`oa(%{ngSGVUH;2MlO3TOmwglpw7@O{as!w;2ZEatf^Maulg~!Mz|4CuF5Ks;;^DV4mxs@rIVYU8Eo9E!$My>E=y7Mb zXR&Y0wY}5ln)7K3*Xd{Dh|agXGsMvQpWJVMUXJW8Rn+)haO?E2m4Dp->yY&2z!}yqECuZ&7BW8W! zJH~Juv!P{2IyNuaadM|GN+Ngpvh`7%bqZV<(OEethAzab+!QB1Jk?~Rwg-9IAaq;Q9QD_^84Zu`4YYT9WNrA=tQj!F-ILc zQELZZQR|DCqfX3*mL2KXyky78J!*58FIyi|lX~SMpFZEv)I>2Xzpg<3uC8io za^I#3hE~j9H>{GRCGWYbQF826lZ%_0EB-gm$(N`(_6K(=rW{Qj9=|a0te5@zMSeAF zPj-H+QZ!iy>DW31cA~EYc9f&ylrPo6i8E^Bv^vU#9L-qesC-q=-|pMRGcz%F@@3b6 z;<0OB*nlrgY^w9RJ3cnF=1X#oRh@%4%^FMQ%Nmn?<*Pc|e6?n5zFJGNW9P!=tNBXi z8`x1U)|Z|4AWk#yK|E${$d2;0IV#_bOYaD){)$=g1a%839y`BNn$9$|=J%8FHzsMx zH7|B-P)}o1^_0GJvyEXqK>bq^`*RQJa(+&Y`nEZSZh`E#4(k_s=s0= z|6yH2D`v@6L($S#zE)pzRpAG6lzXiaWwv0iIDq%|p8d8_84 zRS(gt_peUMw~SwD^krvWt1U@izl7gN`daz=7UN6tTvGW>qa!=-{P?CBEBdQ5Uo|$h zKCO=KN5@Xo+R;2(Us|6|%!XFX(y@8Tj+1-T<}P2hKB`IolJA)NRkir}wxvo27qpEojf7G!bb?RW=rGh#bIM*_ zPx+o&@EJpkUv|RNNm_FGamJb&1~x;|4|F7tTDf8le1$Yej<2Zo<>;80ZJgRSR72U* znpVDwLHD6(`IKBW6fJ$_YxOlpx#S_oPROw@Iu`hnPAu>h(!S*QiaEYwfiI))__A`v zZ0$rH`oc zYx}VHUXs?1YN?v4_Q713{XCc>Lu;OxyCkjeV5yeQ*kt`wM`;H-hPGo}o35{5eq$P| zSb})8Ry9X9o`ZgONjd2IUOET!YxLc*!F>>wA3Oijwd*m6H+jF=`^M@kZs|DkkYk5y z*oiKK@|G)wgv>+JE-K zHsM#j65;m#>ro&i8d(raPHqXEfidY>9qHwa9cXC9?8rlozNu4SNB*oY`Li*gKhV&! zlQ?qnaclJNri1<8>=|~iNRCX-#W?viGs}%3z^$ zO00EVlROx!z1Fe?r^`2qk(fMETOp#yfQ?UwE1I23N);?(K>ged5EBU;@M%d<$u9=r$|1@-vb2uS8 zVE>nG$?d)>J9dAzc2pN@-_}UAHuEamiSapmo8onRnVMRC$Cs5S^V6819%e3`^^kf` zPV}45&j@zz!_K{6<}H{fy?cZO!CDHlmXdR6*N5hfdo=g@aL1;4`uzuf2S2qhCHJ>~ z+rGq&6FJy-@Ux2?`1|}%e}5$O&8g+XH+=F^=#gSo!x@_&3!OK+ez;EL_0VP64Z~Mm z`8NA*Bs_WOljh9*m^{a}=rhUeP&8V`=wCHyps_RPhY`lkEu#j9Wxvdvvy5KHth3EI z>!=gMyZnYm-v5j@Go>FJc4SEU{r5kTDLa+-+?FZ7zjv)_{7J5Oq^~%ouQ+8#@hk3C z&rdXQ$e-fZ*~%5?9dBG>{M)nayZQVpc;%tE6u;uNXDk0#$Metjr+KjR)4Z+zZ^Z1- zs0R6yXU&h~R!{X1uX<>lJzM$T9q%PKer?uW^GA1^b!N|2uCvyeJ>N2;Y^M0hO&;uE z?u+1TaGsYaq1-QfnZ!1`b>U{4Of_-OEzd(#%hM2Scm& zPYN$T<@y!R{+6-whMlw8m49wh_{960WQKPg(Z0#NCaXSPHz{1W$irEUORS9CSoBMt zp*e?s-G~u^Ojq2mAh|AAJ8(*D`=S5B_?d z|4BZ7f&2vvpck>a?(gJILug~v^|ia}uWm53B>zWA?{NQR)w3)u`B(kgM6BGQC6_+` z*G>H_OEXq>q;KSw#znSr6S#5Myb%Y7`I$T-xen#6x=hK=ZlA%~jd_2rgUkDKLF8aR zr$lnufejAh+o8qhmbto#>*SPNXAf0A*gAV6o*3oYa_xw=*Rr$p|2x{N_N==7**d!j zosGbcKn4Re=Kpt{Y2jo5c^-b6mrqU(vBsKl!JRMI)%^8v9Lo{ttbm43%0*jw1Ug&h z1&3ZUwr*aw){NCn%zJiNXG;M1PAJ&JsXI#M?tT<(_-xYU9)#H&!6|nR~vl zE&bf{ZtI|H8mF_q+bz&x_m?KQdM zYSzd&vgVPsY93j;R_!{qYS*n(w_ct44H`CR)UZM0Mva>^I;v^2rbjnx+WhF|#~j_f z#W5{f9@C;#%T}#hwrbP5P21LO+O=)hzHNuhP-Zxk83{+S!W}zx?$o7or>p2*!;i-L}jbv@TEv9+8 zX!zntpC8J^p<|9b=E%bX=iL`sJ!qiOacEZ_etPY-kvVIx&8-u2hVv@17j=|M+oofv*2f!wS^@-#Zc83|}tu6!dwUYcL4qkOGg_0fG{>^O8- ze&kOvIJAi+n4_5D3TVwQx;o7KMhuylM|+=IedhlVe~un!k?6`FOU28*wrX+r! z=+e8M>lPwbqwms+BTVZI<8!~l0#T_4n-?ha{Ggh zD_0%J)9ARgawShAcWLEH+(z!wii4bu+@+PP)jt%iT(zb(&ed_{%2jJrI)|dQZUwn@ zT)A@9I+l)0%fHsKlsY2`Zi)AsD+I&x^~*!$F>BL{nz%T7D+d7eMMFZ2D@ zSB7=o_FlK}{!dQ}i`QAac%j=qJ+v=HfwsQsgkTRq8{a)XDle~h| zyh`L|^O|Xd8gGIBFQ#OVNRIt@9C|g^W0F-ovZ47IPIOML@i=n3M@dim*vx(8B}>|0 zTJgw7o?&Emj*WOE@GDth-}7n&d1;*}4dunjIc!cje$&RySS5v#Bj1SV+KOf7V!qn^Zu9$NUI|T$X;omhwI(8}%4=IhOpFNNML*+cVfkMM<=^}^rr?AaEbiNm+Y@Z2kYYoKt&XssgDB9KIF!Z`r5**>UFHzjO2d zZ2u|y2d_ZxdC1Kld{j#Mk5=ID-T6|Prz()Dz(2ZA{BP-9{EhONzIF44e@0%LH%#9u zy9qD<3=b)rf2{(k`M32;?SQEYq$+UuR>1B9{~2fZiK%Dk<_!bi-Mr!8|LTvcKQ8h2 z+KJfpEKfXl6MVv!9V^|<8$NC(K4J5wmG)ZVoRHQZw|Rr-ozcTyldV}h6BdOxZ`iw2 z*F+C|*Z!?+VubMA49~l1rEub~cJxjl`r~Fdt>kOBg+$+Q!(V^@=&(0YCB<_&klUZ+ z?y-00FMFgDMX0lT?eC$Z#_lhBa_W?btixVaI8lY1C=c{$D?RYt#ArKLIr=$N{c&gX z@Vwmi64!6I;ii=zH_PG+x0^Sd(L;KFJmzN1&2ZO%JO5e*iGPakkE=2#YB~*!ORTDd zzH2cN{lQjc&iH>fb@=XlsmxOqNLAq9z5o2Ve?8L^&lLCP^{9FJ{`u%X)7ZQrv198Q zv3Wyc-=Afk@QM9g&ka3CJn!RX!hIIjZmTPzH%zbHcK`lg_Q*%6je4fq=U0x`gq0k8 zc@VcGm+x=$$%g5&H8(?i{c(L3%C39lj7(6&Dkb9hbl9iEq}OL*B4$aguKP@s&W7nd zF40+Itj?j%*6zp6hE>uS=_Pz@n4a@iqboUw9n<3yWpm&^H@5??h?~AOk&U&LsC4bN zs%)Qy($G7VGCc6PYAv}lWo4T;wE09;*4vQYaY}8RwKE#bQqH_sDluyM*2F5)JDuK) z4xb~n1EwmFs=(n}fx~B~`%ld@@tnH&n?JrgDB{<)_S>klo>Myi-G{Z?Z{us`cNV$r z&)S*z={FH&?yD*Ozr6y7@6MOXJXL{I1-v<_f2j(jDsZ?~V9wL2f2j(jDsZ?~;Bejd zQhBE;kg9+;=WyNkQhBE;kgC9(r&D`issgDB9KIDu?SZKZq$+UuR^ag6`BIsuDv+wc z;k)ytGEY??Re{tFn5sak0*7w}QafO(0;vidz7;rpcfM5SsS2bjaQNa&d8z`b3LL&WUn=ud1yU6#?RgmkPUx%uuP%MW z1-@;>=4C?(28{B&)2Db|&K1wghde#FE*&Yh(fR-9NcA5`Rp9Wez-;s8G22U=|IYle znKftrVl2<@v$ov32lzpjG3VolF8=1;{e_+^wpP81{+2hOL>|U^v#sUcmEEN~Pc;9> zhT_PYGi;8|SI(I`XT_dsbgbUL_hfae-n)O-U-pmPxpS^G_J_^MnsfR7llSl6wSRB5 zy({)$f4?f6p{uGfx+i|K&2;lF_ii)O@9Ho65A0g|#nu*jQu%-UP{y1noumI?pBT!$ z+h?s}nZG#e@0|G@Ti6cb$&sa~R0UEMNLAoJqXOEW*rjSe{D=MVABj)<8~?gIJbi1h z&l!I1oKjo8*&EhOV25Y-H%IM{&Zsz}A^7*vk`k z4$NToV=KMcyVkZTF(H44o3~%#%~p)1OixGIOT-y{Uv!5Bcb-!zw6yrF{Q5T`zq*ql z-qj|wt^B<&bXbs(&oc4^Ui$yq`w}=QitGPkVYzi7h^``sM7-d~p@6Wn+9-;m2nO&V z374`W5m-eQB@vwHFBmT{#vmaCH{=i#5fDMxkwb`}5m`+XQPfSuM5D;6C?Fv7|9-pX zO?B7wZ13e?elp#knyOdz>UEv3-g{Nu1FWL#?K8H|U|PxamD5RwSM&1q&y~J2Y7ygC zB3}F*FYS0Kx;(mE{OvR5UPl_k2Iihi96r-~=XT!Pf$^`me!XQ-I^zuelIcQs{d3LB zM=dISN6II@E}i*(z2)nzHT}7G{;*@^*$B6xdvfz>C2YZ_8`y4YPAS54GH!%!QFgDR zw@=TXWhmM6PB4m-9eTj-|s-O{G-|9`x7PYIu~0M9*f@9wv@PoK7_2yM!^+@9NKux$M~ws<4V zf1_CQI>+FSg>lF_rv6jX^ndSubEeFhc+R8o@;OuTo|gXE@zT4`aU7(S8_#&~)eH5! zL^vfq(T)-ykI#?44LR${S5JP7|MRhab^VQ`+x`7`eAJ@P-eH-Wy^7i;%dbcLi|bjJ zqJImWTJuq2a1~wd(9+l1Q>|9X(9N{KVb=nj&72Y1$E<7y4ah2`%p2eoJT|T*e=o7` zDE`M=AFby<4aMVHtD9dMFF!Cdw&%UP7R}n2|LBUA z-j(A^tRi26;|rhH_~v)}^zAbYPb}zj-+py3T zpR$a%|I1%gb29xet(xlF{cXdkIf7#-t8olSY9;!AdTsQ7{@#z)v+p_o{_)lw#Rq1_ z%Zsvedy>4McH#F zQnuzZr(T!B|Ej)@3r9`lqbdt12CRzbOof{B(5D?Lnu42#hY!`PUIe&zR>mhew^8O?%ZVkg|7HQSA5D2lp&;? zQUZZ(e$BO?GJx9~Sb?Q|)A>S2wau4{sH%E2Dp7QajSXI0+)uo!rr(1w+iIt=1 z-!G!a+&+fxtpD}TCqHUDX*JrmVM#mrv1#!qUCZ%-+4+waWv_7=^qTVAp0KGx7j{AX zXz6>@A}>rEZYrNPwp-frL|>-umv&S?uUg@;%?76neOa$5DUdGp0orh-Jn4L|?KkN8 zwmxTNm+ppJNY}=1R=U+l%kn$wf@8o|ah3D5L zpzWV~0J=1#F>T#8{co?|91oT1|AfAr>Hkds2hBe-KQr^6bG7R8pW1`judDw2FA1Fg z*a3mu!QBvdmBD_KURfwFB&-Osq6GQ}W@8s6JAd)CIQL(kd}}srCzMg+d)Ht;F;#xi ztI`oGA9&>=S+8Ax!@_CUQ)7E^ANRD9621SsXMTM4YsdV1W-Rwuy`sFoYC=pEKau3$ zYR+z0t!Nu>wz(``u#~%b+$rX+B1ewq_v!clWWB1cFM2ZPes%VLtNUEZ$LAUzQ}z8{ zLr1TOHf+yV86;Iu@W8r-6C%G_B>GA~h_C0K|6XP>*hO6GH4NG8?!LHNX z>v~Pm`^;hczgX$djh9oCr_{9~d;X@`+4fG9^l6YU{U!QeX8$*{|C`zWH|Gl|LudB? z#Y&gz+xtg0oSGvzM(lr*T8aIC_nd|YKXd*g#rhh=@%?dO{6D(90owI<%j5Cbo*1-D z?$j19AGL_*EAQV*nL+Q+ra%8f{OIyiH^y-`^Q%OD#>^?_DNV`|?pf%>x|vv2y(@a^ zit34(x~pCBe7x;qxD zpSZUyVZUEcJRIj%d2_Yl325n+Vf|)j&z;|E3gOD^|Goe0f+eiI?Eh{+c!8EN+)`xr ze`SOR`_k^>i##j7#EU;0{gT=L7p_|jzMwCWA8puRRvgOg|H}w7^S(0kKRNFc=SysU zl$rlBB7=R?>N+IzUVJ-!_7OV&wS0EpR++`o<^8u%Hjq{goBz?}*^ndNTW#`hSRGxy zesw&qS5{fC`Q|QHRu}fHWA?Zfm~shMR>~2h;SS+U!=dC59Tfa3`|fIb2V{)- zc-sZ~yZe;$in*3^O%J7~B^kW;t7`^)SDv6O!J4y-T(gA^&ra}+slbW-p5*&l_Wlpw z{oF<3;_Ufl z_U1DC|K!p3{*mzQwEkgo{)cOIbUD{-Isdg|^}8=!w6(JHf6kQs^QUC@?kD3zYrWfN zaINN=&2{h&IIiVf)47&&O;6h{2_0K&;VbwaC-%DezN}tZ-JGGh!>GIIq=NT<z_N0$fO`gsa%-!{dBxok>%IZ(;wXGSWC7~HRh@b0D&GI)nMuOYJC5pa`X4=-2aymUy)Dl&RymCoAfR-&yMrEAUyjg`~T_se+tfL z&6zS6?>bJy&i0O%>fw#A`WyAfOsKo-l~vX++VW}B7dWha602%*rRQEkW#oo1x&i63 zA`6F3J~IGUa6)~a)#FJBzW*_7*M=oL%f~Z)I0JxF6Wgb#2mJ4U=T4dHp0gLZi)RH{ zW4vej`dn>~aLdWFggjHouel84Nsh!l{Ar%~<{3@hlfnR!lHjm|H=6c^8S)qdjFg6 zkom30>7mU2uSjT_{a=of#CXVj{~;;4%lOE=|Nl+A|8H9VusZ)Uy?W2uSo{ALfo)k99Lzq2-Vm*&#$It$zhFY+uIzk*6$UdAB4B}AJtzZK-3 z4>Od_Q}9IhTRoEIErGvW8R$rDfrKR24CBi^St#w0h_}YCq*mJ3U%}))65e~5$nWj) zIXu&_eFp3vaq zy_bw7|NJMHdA;QdeAAcf^~_k)4NW(cx!FqoLyzIo7x}IlzZJ}H2J>6N`Yal4;~%Z( zw}i=O_^n{~Jh$eTzO|SA#&7ky=e3zmt{{F8FUZ7YTHwfQ0lil0|LUpyx>?C~;(zr} z4(IIUKZ7J@A^s^&&q~_A66Y)Np6VSqpUM4~Cm{_D#}}@EANHKYym$XAC=vGMLEM6c z8rVPVr*`V(~@cZGScT+Rqe+KdV2XzA}KmSXJ;q5c{We>im zTa?ZJ4B~$Y@eNVNdH++Wy5~QNvcGJZd+zb4aQ|o~_6xxq%h--n%lUS&*pH&_cZB(S z>PEiv^HrSogE{5h-xuqG*nb4B?)%^Tn)J)>+_!ZUN^{zl&rzKUe-7KYcx|}y&Y$=}{l5Yapd9OGs_uRP?`BgTImNNe8|H5G?sQ=lY(jVGqukmeg{qEP5 zpkI`|ul4rnzumNZ>l5#g4ln+v5dTYP0ai1;|NCQ%%;D~T2D$$w#CgCQbEnv)Sbrn` ztB3ED9|On#^x=Q`=>PN~%yRPkr_?}5)#P{oE64-;=2qC;L^{7m=a!__IZIVblEKfk zK&AyUEs)Xz3Hit6QkCFnDfuhRQH37P{iw^r-vtl2)?QYYOk@pU&gj zjd8_i1<~6Z|1>Z@2saZ~-4>w85>IJo_Ko+dF7!7i>)=R2qpJ`>g)FwrT?DU$#Ve}86#^gRVea_*ZUvpTyoMG)_<5v|9qaTld?xK+H z=U;m-q>k^f@mbaS+W6u1_hZ=kYYPA08Q;OyRblc}jzOJId_zTZUsDQ`Qad3-S%++@Vd*x0 zRpBuDVd+(Uo{b----v#q`|0bE6u*pr_O-99cD=uTm@AuCZnNRA64>|}w#S2k2R#*! z)A_HQV*hPYZF~*;u~Q+FUx#druyh+=!_G4LYd>21QBb7y z2I&zDzvFj!y?mfpoqv1ca~c96|Y5mv82#RYY!Hs{3jt!o*C$GFmXSv)6p``dz@6YG-5Coy(Ti5EXLy{$`u@sD6v zUGT#Ek@$jWPORL6|H!VKn1fhj2hd|oKXE@=1#bo6x8hr4^A}t6o_3UYJ2yFVs#aoS zrNY!(y!I3uPR-$uvGE0#a@u~`{cD@h+3{!m_2Q?(LRb5y<;vH1+h4c6S9)albF`)08ebshtxSGt z5gCs*>@S^xxU$gM_%dcl#h3K8kUi)G_WD83_u@01aG4N=ueqs-uwj#;L&9w(-p03K8{dY7 zj^W=rB=O?g>D7ZN9dH#k>u@^y5-+~zc^y6BEJx7&__%; zT6mh!*ZEQ<`(U13{a9)k)GTWM*6WC&Yr`fbIAr7d*Ckm;q`d?->qT(L#<$_%T;5p9 z1zfZA#jqEac)zdZ!_UDrYjD;4%rCiJqG-8XxZl-UxGykXiS9>0APB=$p$@oV&5TziDU)FCNT;YKYF3M}%Tjc>!m_sUPS z3pmS!O57dGdba73v&P<9(?a64k}$97P15n>+i>t$O^u~xfz}T_>#1w%D;3j@*$-== zxhQ9wUN!OYcp=u}w#oH=F|^}CkKXQG-@IY;6^Kxm)^|KU692<3knL;TUB{9-pE44% zj?Pc3LR;wQED0ru^mGi}#aKu6MP1%2Pn5aQ2GfN2M7fFO%|(eQCsyj_<&T!1jon0B zM~vN8TQ^L*30;6kL z+i<#kzIe}S$#RrG;afjj5tqYEuXTx>t=#o(0@m_rh)=G=#G&IV4m!wL@h#=m{gG;4 zv|E(+8*((cDa4ijP^fVIrDR2&TP{jsTx;|#u^bQjbdrA^O4Tna*57S>8&1{t{q#)h zh(stc8kX{=lTZa)*PD6du3Ua;m$30E{9MW-a82{u>p>9gU3vK2#cz6Jf^wL+S=(;k zG;3SgR}w?boQ|vf;x`$qS2{+?B&BClu(thIG z1*ZdXf{PO~BX%1h(;QI6S}1s32d< znRbdk*+;7?8s_%<&~~m2!Z74rSO8cjXx9_gHree;bu5F(=lV&z0eg1? zy? ze)VB3Cz<>+ft;FRwLE;a)kZ&DuuE zB=wef@ofyDyVtc77`hUISW?0D$Qwdee4GBPZLFV2Id-aO&ZRr$L_ql=XPIB`PtBua z3O9CHpzQ<(!{jX7Sh`ckJIi>EfaeP2a+Vp5pE6e&*+`m;x<5yX+?*NY&vKh=U&g;m z*f|(?2yYP(I&mIq`J?8|CLL@(6>Wnh`9Z2p+L=ref0^r4mHixs|&PRW6!7d zO>LZdw%N@$(t;hLhD&``$CH-6Y`j#MyZ?e6$H@V|zMWc5e+(@H-d%gz7yR}H;(I%A zAK=|?TXm$qsc ziv#=5Yv1Mg^4goEe>GP&E1ke`*Scf)wX_BEdB>UH+w`Pd-<1CE>g&^33hJfhYqWMM zrAl4jsMm8XmD|R*;kaHs%LHF2v%at(B-i!wC-AI}-shFiN1j%Kug`ZRxS?kN2;Fo( z>jx^y99n8f$N^>S&jaZH1Ifpb4I}g@ooB_d)8M9P`Pw`BztZ3)aFjh$HC+Kkb8tVSMeYoYMYR=}l>7_=-&^fC5%XXr4qAxtLEV0|~ zMp)F6@(lCPZs2PAN$EqVh)=eyB|~Xv4O54x+)eq@E3Z-#^~$rAqf!~HVEw%^IW$N1IF`Q+Tic;kn z($|;SEAg&m%Df#qHvaBk$mMU16x;>loo zT9r#l5(*964o$i=1*>vTsXSJfgiXZcV2rjK@aYoI($FR%aJX-us4(v_uu`=Aa7LI* zpZJh@6sEsx>yMnqFjUBkIaVdVyw@PGU~-kAvtes}N$TAaZ{ypr;HC3zecgtIUScJ4 zK`%eC@oiXhJCox8Bw5a8UQBb#)zOrWT0devF*=QFsn(GNSFiKl{Q%cC;ZkNS>4=md zc~boZy3aG#eMajVNlqKqHVgBH1Mu9k%XtYK--d;*t{Y1&H^bhNh=eLd)v#b!H-BZv z_cx{g+xof<8-5=gvhi(LT2t@-YsidNy`FI0m77{WEdc_Djc<(Fk4TmHTnFWO)TU`W z5IS5v_1OT4(W|E5dwuU)gMyvT*ES1dZ_W$h_MxO^j zd%?PF)@>U$xio%ySf_aVnPGz;oNnVASdUBt>yXTM@x$ncrH9cEOE>gwecjG!ub4I* zTt6L430Z0!>vA&xz+@7mWXX3yKpUv1hUFxFPqy>x(R(0 z>t)lttE?_-(C-(pQBZFA()FdE4JP-!5@y&k6H7erex;WG%znSnIsE-#{k`(#4$f~{ z%3hf@EUQgAzoz;1s?2BU%Z9a->eW9rUzK{>_%^Kb8y#JqBfik7j=vjwqN4kYFLcG{ zu6RWkwH)r0%Vl<1C59*J<#YgL7XSW;U};~=8KpZ%J}2)KjC?L#&)M-JVM@G){q$2I z!PfGLma`bAcV$xX)5UOao;&3_eeJF;NjtJxp@KqsSKgefmlO4=xUvH-DSU>k@7iw7 z_tNz4x+x{Gz3;P`6dg)yT6B4lwyMh5pl{m-!{~>lvlL$X_Bi&Z>l4=+hbuDdH=g=Y zLejN@mV^}V`2gYt-GZ-AHIx}J5wi1e7e>GBpi|i1JmDahoX8MZ+hY%+jyfdq0t@{z zB+%j`uwZ87k z3T{dqdkp3C4V=U_`Fx?$eCgRFX2)d6hba=Jq-OMg^6_A)K>E<|d$SJsLt*)4Jf<7p z=1FDADeN7el3)0q4Tp_SmiG2drp!DuKwE@~(INdlf;V2<;xUF@p_7odO-PBU`Rg|v zY+7De>-&ao`Jq|cc&gBgqr<`b|2*BN-~5vtU6QsDiK!^Rls4V_E&BA|fh3v@ClgXm zY-_UsWdzk+2r)A^& z;ne+q>bTM>+`Ax@WPJ#0-Ie9hqt%aZ(-TT;A3gUZMxTzX*nY3=9RB+FA(kU?C50{T zSps5vcLDgOBIJh&LWS=RdhP6dm!D~*sjd2Y&yc0&K8{@aeK4Fqku^M3esEI+Kk1i2 zqVT-0D6LUlpSA_x`;aal^qvT)E@eBPy|US`jc>y?zJ`u&MhQY#lP|am69-HedIlV!Sfj8XmatqMI0?C?JQ$}FfA&YE9-WnAT0Id8sL5Zs}TLK z-#HM<+84Uo`eW=k67R=`M2!(xh_N7-;E6Bs;>&vt0;lsuOO$khlk1DDGnQ}T3oO2! zU*g5L^>rH#=GxNApCoq2g<7f~mfuj~=ubWOW>cihL0LjBlRsUEv%!3UL$EkLK7;Lm z5(Z^6xf821q=d@dQVvQKkS$sXEWS-e;>9=VA|XnQh6OL3ek9nk|8MZ^kS(EVSlUDE zSvD+GM9Z^b8{dX)e1XLeTXDklcRRn(72nP;@#5EXd{#ccw2a@Ea)@t_Z=M41?z)2) z;%fqB$@dMk^p}2o3tgTxDEo@G1^;EYUwSxL|F`k|)V=l@IWJ&i2%K(w>J}EPRQ+92 zs++&E`}bYa*q`nEQXcKgx*)zkl{RBz`xhLqAC~ULW!R=4mL5hwEIo{VSb7+JlTK+* zzw4lBGVFzQZ2J0Zd^^3euyAL=w_%A-=cmIr{5xI9udh=x)!M0klAX(bzKw6E+xof< z`?*yrWaHa#Y7T!4IhXf+S+D&*VM9sU?5Ncv)6?<+{W{XB`6T?{*2VA>Y6O+jL`m09ZH^}Tw5i(MvpQhnlj@om^k z_nQcFy(3ST%Pxb&i*Kjb6c)PT+w>$}d^^3Su+SCXrYG^@+vzohHC^5QT66YO3AxKCd2M^XK>}NV|&fPc`~D-wgP_q*vSZIQ-#M-H&DF<<;YByB^Z- z;@k8kUi;+IwR@AUcdx*v?teacW$oUEK2Ph_F74W-=3T{Vk1}mWv;)XxQX86znTzeC&mz=rou%Eyx2a3K_;z|tVWCSYBzOg==@Tl>-(0D7 zL$4lmzEY~*PbT3varJ>uclB7M>Kp@yuw2;))Pw7jaH^eBy%5e^Rc(Q+s%Eh8y}iOd zBE2l!+3278s)1?@xQ?m|xGrKEsD`*3tD{toYO0P_-%%|sdK#>g=(-Mss{^WyK$Z0Mb4a&?OFtLC?NQ$bDAiFYWj0FL7^OM}rD}sxHV0;|P1=S1ts01u zjI4(?;xm|st$Z||(h@D(7_odVudGCSGF%_EY7Bh#RCb~sjIYhBrlYDh%W`kKpcbeeY1DP&>m!zPjd+dRkJ;QSRdrTpsXVw|s*kz|v8Spt zR5#T{osHPOs=GP|@s}WFh`LH$qa4*w4Mb>=x>Ai)W7PsC(6SLA48V zoq=cd28DA$V~`rEE>@SS@2lZ>T35t5c*2>Wd!D*n4OXMo7*HRou5;-XfZi?YM{1(F zP5l%!?@M3`lT?wKq3%|<;=Whir+$sJzo;kFBe<91J`IGsuZug#rF$PJ7vV{F<4Hny9-j0Bo-`39 z`zcCRfSTWel0Jlz{Rt(z2PK^cs2y6iBdC)vv{$Xss%N3?`k*wYx~)u3c^rDC5qc^I zJ=GpP(+NFuEPAR9dg@BF)>yP`Ka~C|v@~1xUeLZC&zp+posBa01*KE*q;9Co5KzAc znCGB2m*6?%0S)oXt1iY;Q#`2!#!h`ejld`Dt4;z>;#&c`J;v10iF_Ra^+1hIaN}Dg z=+sY)QkB4KiYJn9>E{Zq+VWY(+Q0O=rsrE0xM%~^jq6)Q7fVtPb?1yc3fMWQbpymS zL_4#UTY?5#oa=N{59{ThG^x~Bmqt}2+ zYhbrmr(xW5Mp`S3rM77Qvw+_lSPsU-MdU38uu97 zlhjQr3jZe8pRVr5{TnqMqxwGeuzC=qwOBo-=3?|NRLe28SEP_`FsH{Vt&4^!*xKg!MZBze3&h5DWgZm9trruQ_sQ2J@s&e&TwF|$y)hBSD zt9^LFPJ};GA0wVIpQ}CUOSK=rd-1#9rCSQh>+mF&Qs{2OlXl=qD^arNP_jiRDNFeZ zaNkDBUO-Nkau+Cn4$3?6q|flAy`W6Gdl0)HPh!c+ky?h5et?p)Wc!e|3nkr+lzC{e z$IxbXqa`0kTdqROZ9-Z8gceMr($f7KMcl5>Vi>r zHb!N0jLKs%F3EoyVN{a;oP=>lzLbMeH5{YrdWZ-9BsCmw@VIS%b$EY#gLc5G z(iLsd9jnP8@aZei553X85v(%b$67NS?O2GlV~V;HYsEe2uODG8nTQqT0jwbppA zXIHf9gQ*07;i875&(D#GacHP)he==)pHJGWvq%vVd?74VN3(~B^& zIlErKh<*xVXeCDc7L4&%+>!n+#_k6gt>x|vdJkin;ZHEacVi^4#yDGtk+&6dWgEsF z>8!^*eG}uJGxS4X?!?Ua9CLv)<74F71&CqJz}*OOM(#uSfI0~O073_Ge}(&y8^@4| zIi%va58~zCy+1)N*+J#;rAKQjrB7a*4s&ArKwkLXNJ;u^0qwH3U zO3G1#L8UWBX;+L&%2z`%LiI=`e>oAewlQWJc}yEuKROPxjCxZ;cSfepN;B))V`gzC z=~>pu4R=Vu%@cefbyk}ECKNn>IafJnIag)=YWQS#PMiFc)x8``^Aqw4@(l6{@(l74 z@)YtCuKAp+YzfX)&RNc7&S}nN&S}n7&RI&UoU@$EoYS1koYUkL2r=VO?XNeeS5wNZ00j#49^g{+CPwZBDoCto8~3tDdZ*ODVhsXT40NO445_e z+?~su)10fEv$~hoyK|Xynsb?Rn!JLupS*%RgS>=c@)GhC@(S_{@(S_{@)C0BXI#1K zkM3OMoaJ2QoaJ2RoaS8SoaS8RoYkvJH+L>`PIE4EPLo%VXOLHrXONeWr;wMBr;t~W zXOLHrXONeWr;wMBr|4PL3Uh(>89jeFr)53|&q_1vPQuJ0&mgZL&mb=$Pa!WMPYIrt zCcg=Jxr~XWtWKGovN~mU%JN+2Da-ST;TL&A9k(>p8RViqPkupJoiaORb;|6NXg|jt5asDEKiwU%kqDBbp`4ST35K=)g`D?XkB6w zD3H#dK$-McfimgejVC^a=gz}eB_AM{A%ED7G5dil(^HnGOix)|OADMCdx1m#Lw-WO zvI&2us4Gymr!GOAg1Q8C3d-tQX6KBge!v;@F`h!X z2Xax#*1~UFr(d8K_H;E_Dg&6x0={Gf-Ec&Olv)It6tJ>J*gK zDYI`!OH*d2EKix9vOHya%IcKaDXUXvrz}sIp0Ye;dg=<)8K^5zXP_=Yor1aqbqeYV z)ETHlh|WNrg1Q8C3d-t~*(s}2W~VGqnVzydWqQi$l-Vh(Q)Z_uPnn*wJY{<73e*{> zD^O>kEI&2us4Gx5r!K+yNnL_-l(IVG8)8mTW~VGq37fJ!=YH_4lv$*J zO*?ZvcjYB6?HO4nxfVlVC8^${v`vq)kG9oO=g|Cuw!Hdiac#4st&TQ3wia!B+LqTU z`A}^uOf6#rV3Ur{*A(rkZHjy@c@S-NwAs;CN1GjOd9>-#mPeZ&ZFRKS(N;&B9c_8E z>Cu))n;vb2v>DP?NSh&TiL@!wme>?w+6rkiq^*!PL)sE)o2M<2HbvU%XtSfOjy5~m z@I!J=*GMv!kt!wl&)FXw#!Dk2XEp3TZQ>t&lcD+7f9~q%Dy)McN8!Go-DM zHbdGHX;Y*vkv2u4OIsancC_V@E^T?V>Csk4n;mU+wAs;?N1GmPd9>-#R!Ey6ZH2TM zo(IabDbkimn<8z6v>6UXNog~rEs-`w+7f9~q^(X{LkrQ$q&E_+ItZ;i(6#B&R!5s1 zZFRKS(UwP>9&LH2qWvyHJZ*-w$kJv=TOw_Wv?bD}NLwLohO`yZW=LBiZHlxd(xymT z9c^~hPPNUB_F>wKkH*b@q@B5uJ0rQ8G7oKodXy>`j}|Q23K`Ft%Q;9}A}{(nlpLzQ zKt*Xj#3LTa`dV5*k=kb2R!h8z^>!XrCc{ zN}!EUD%yFDanrbG$2~Rfw{b6zdwQ}*D8Bs+?_QyuMwokb+_NKH?%9zx_w+c|*katP z#)<_~UFrd00wdPY^{o_#oAdCwozA8bk#MX(RtV4OcV3xKzsMJGYDi^HGl zoXFJ)?eq_@D6O;+H2{55b(nv^to%JXi%zhzb?XWo;* ziNUS*;F@>wyrESt2I(w^la$p>mLhEE`JZDT!B6Lt7sQgKB7I#GQdsJVHxx6WObgUT z3vldmzAV9f(c_r&!M>~WB+f?WTZP%RtjW_Z%@TKZ+SJ2g&bpEoIvmzP#`!)u#7L#E`8jgzF_nR<*8)!`Bre^;{#Fj7$X+$;EyHUeS(tvygfcBa9YK!_X$xwpm662- zpSaYd1uj8&nNM=@j#FyoYcL9_W7p)?y1P(_VV0}{*O4;NU!Bl>{ILc@@_PN1Y0K@! z(qW;rA|V3{EIzTGa$Clazcf*u*9M<7ZkRT?=@1w{$p}_)H6AS|HN`nHI>jK&AyUEpT|Yz^a6PqJ5E>Yg$%XRH^w0 z9ieN-OM1r7v_Pf>f?6PWe#(6MrhI!IOF1N7;OhE8Es=@Kw7`+l0@a;2- zN()qX-c&sw?Tgx0Phak;)A8rfXP(SCB%y1^`*Rsc@H2j<1&+iPFf$=|ety$!V$WkK zkHic7P5GJgSv6~Ud_th!fGdU$fnWC*_!xm){N4b+GjKuwzC$~~C(Qq9@P3D&0C7y| za&q#^qtWjoOguM6dkKPF{S5Q_}2o=e9|wI{RMj;H>F& zvNL>sd*|BvCpn{UYU{jL*4mjq_(Ui6!U;~Ne#bkbo{{>+0+C z2kSaN?N`?sQ=H}WZj$B9x~q=!Maw$Qmn)Rh@do9zI!ifMCvPRe=b9OXRtJ>@jM9_c>?{%@7j;~C}r_ig1&$*SZ0^Yl8-{|v3;jQnXG z=eDJF&`x!npPi89OdXQtjGL9^4BL|BT-vOz)9;G9&Vb+6b*}xOt~0Y|J?HOt)pO2z ztDf`JS=r7HW@bB`c4j+gTvp%t{?hu+y4(iNs5=`t&ZiBW(bqI|Uf9~unKrPI6MdnP z^ZG@Nof$7Qc78FiiF0sk6X(TinmTnqYw9fg-=my0Cmikcf9hyw;P-NzS3b>gUi(!u zXVf{(ouUt#JI6o#9q01?Eu7Zz7S4>7$2c>KS~__>k9B75hg*M~bMDMsXTk8}opoJL zaOO5><@9{FmD7CfiO!N=w|0)6)W(^1aa-r|*6p0vKWXQT*>IB6|5xpu*RT7oGZOvS zy>SQU(YHD{jh39^JpR9@I{*6qY0myLPj~tsb%xXS!!w*MFLZPseY}%%@WKCa+Dz;0 zjJTnT(`-an=gup-IgJOO>3lKdEN9LSx;y8O>)~89t*5i+;j^9Juj=Le_TAo2uND#K zub1XKzr61pXYXt0I_I6%$60^pdCp58obN2V>H_DlFJI^k9eR&Bb{H&8{<6Q<3~>9cZE*lKTLMs&zkBya>s4Xq4%dd zukO9wQ7T$Rm*fur_XCU0jj7c?j;Z*aF?H2FvFO+bVyfHhm|FImnEJRl7A^Z@EPBtM zW6_VFh^fZQV$ru(#MBKXvFPH}vFM_8vFNoMV$oNgi>WU+#niSJV$s4EV`|;zSoHaq zV$r*|#G+ZHG1UXEE!_GoG1VGzU0;f+uYmW{zr~_!p2xE`#-gMD8jEgvHm3fw2IYyx zq61dOq7OY4Q@>ggQv)9d-lH+~-vzPg-+miY1#@E2l@G?E8}5rm@0t;d){Vy0jgw;P z(lIeL`-+$v+%Kl4_r$YKiK&h)W9rX!W2*a(618u2iJJFtiRv?|L^aDPQ4dU9rPS7* zs?QI5sp1X2)XPnKt544Et)kcVR&(y^t%`r!TdiBxTdBYGR@eU%X?uFBm+R-L?%&B% z3tPiKJx@K~Jx@*Ulczcj$W!~S%2O|2o2S+l!u=#qy?1Ax+H-fFYWe^^`!_pJT{$mL z{d_^5TE8$)Wi8HA1DEHi1+hGJ@Yy^y>iImic}t$^^ID!-vpr8;@GfY5kf*LM&r|jH zeyo=>fYlcD!X+=-Ptap>YWVu)QD=? zF{1v^Iik)!GooJV5mDoMM^wXeBI@xz5jFIJh*B3v)RIdhYRsUBYBMCF-n=rR=6ye+ zw*N4q9)UmN>WC^t+&_j!)Llrwe{e+o`+E^J6Yl45ufg4nxNDI1d*Ji{?(xVo2zj@H z#^R9?^~N<3b;WfN)&55j)n{TvJvj+^ZUMd9BGE6Rk?1RTg3gRcH0z#7^s4(K(X9_e z)U<~p(aYvURKIzV=-6W9`9nl?cq|fKwcbnzZLF>QMK;2s9JhoR29R`nio~m;C=*m)#Fjs7p^m0 zE?nJbqH1R>s$PRz1NWyFqiQDH6u9AV7r=FdYYw;XZ&CFQ++X4T4EGDTTi}Mn^@Tef zt{L3k7ozHIxaZ&=hkIyMRNV$w05=fsY`Bvii>fAYdlp93yK|yy3tSBDv7blP!*Da; zrra7;W8sEfA5{b3oU5a%JKPx;M^!tx++HZxX`lmFKNod@Qw{0R{~lKdVY)21x^UTW z_2C-AHG*rBi|@L@HG}&OTuZoIxK?m&;7)?;0CyT(r_+?`2G;|wH{7{!ec>*Ky9{m! z+|_U+dMPyq?gqG<;BJMx9c~8P{csP#&4c^H#Y#O6_Y~Y}xQ%e7aNFSi1@{r$7gs}u zg=;hn-xq{y19v)HcQ^;`Qn;(eDRnJeA>3_nKZpAj-0$I*z^#FM5$+AR_u)Q=tMenJ za^OycI~}ekTwl1$;fBNA0Cy|g&)|LuR}A+A+%rE02ZehB?tQpDaM?dWyTNt17i|M~ zA>5U4W8tR$MyY$@=EE(8`|Dp&Ke&(KvK~iUKciG6Z0jS#o`qMFRx^0fVfEWN>9c=&+;7HKhc5M(xC2TMdPe$lO z7pki+0-O)TR)G1Xzw-dEgRZ9jTB=S#xIG*%Pq*j@{JxyizYqQr&vUI?2jE#9aqI>3 znVscGkU{9!3mW3LDcsSM-^_#OUIlmjB}NBsaQ?HC|F-%srF-(|FzU~5tzJ22#LPdJ z&?$97U%;yo&ZEO-Eu(<`DMK*Yz^xEv;J@4IXEk;R%(=7kRV8$6XFks0 z6RP-G-ag5i^vl)HPrWlj2QGX58}+xGGjP%?C3H%?$v*M)!Rh`sR0aMvjy~W|k3M0g zZ?@7u^r!c!=kJ3)E&P3ida=A0-1(CTol<-2PQ{=r;=sdY_X)>-#aG4c#IE-C$+`zS z=F_o#-^+QS&%y^f=F?p>dg8=_Nqq|^PA-@@d1SY)>ii)iuPGceb!1mJc-{EI!byqn z_`)QxJ$ z4F%&1CXXI}-o$YeMo%7BI8j|W?&fjVj2l00@>COd+33jylg4?mCQMEi3&CWu5SC&g zD8*thQ7jizu}13pg3)78h_Qu=iK_q2?vuwCsLKj&zP{k*A9NkwIVG-JK-`%Dac2d@ zbq|Q^5fInY8`stS((+mOdT|fcQ%O7A{DbzWQ=(tm5AQ7TeGA7IPU?K&gmE|D%%+rR zjV_H;S^PvpRu(KTlku9_E& zyY9N8n=v#K6CtEWgVEDfGZ;HvHPc|Hsb(;Cx@r!&vEbUG@uMeot!zcpWk^@mbol8i zn-)J!b<^R8Rk&MKD{N;7tFVn9R^b%>r!ghwR3fuT$6;8nqsj!V7R^jedt+1UTtim>aScOyYLn>_JhgG;oRV!>~2&=G- zA6DTM{E!OU_@=@`3vQiUG^yaS(Kp^$Fv*pDhm4+Z@hB+K;GuTFN; z7}d#bnx2iiPO1g}p?UFWQSkt6t)LbPou2R=5m6D>uCZ}YvW*!XG1=o!(8b5i+^`o&0 MDvwobWHf|^Y>?tBj+52Lvj*CGTiPSIf@`b5d(;Tf(Ze$9AX9&AYw*DP{DvG5@dG? zCW45fsF($_Vj>uMzrWt;z2=1T`M>%^cKB3HRZVrJ?&+D^yDd6(>w3ce-^+O%>5~iP z^Lz-wSRg-eOThog`A~=S&7fQgl9w|Vb6v>AcJ9$>Kx1T5-Ou3;x!mab-l8AVJjEbg z8=G{~%=HB7V@~4;!z>l7rW_%qgu1)C5`pM`%`%&JyO# zod2O8am46T4BK;p*Pj8~zjF{|tdJX=a8pLR9rF)yOYfnJ@N$fq8$F9`qOf*N3MpRoWmbfe^}1-Y$?3Qy`}Y|db@L=YdSOscXQVD+-t0> z6qvO#*c=a)SYrjeV({88+W@j&3ZA9wwFUAqC*|N@39f67D#3pX-wsH}Q#JTfOt!`s z;I7GlZw9aN1-V`u{^pMdVmf1)pc zR=)$fbN)nM(OUfsbjSUPzUId2r=#2XPxR9r{m)}VhPeW19 ztcT&Rf}aYnXV#1G^WbkVe7g53{5trNni#LBSAhI?z>kG5hW*;`=_Db0g}lOEC-~a% zvR8x%hQW7+m%Sofp9DVwegxx-GvXfjtKi2Nd-=ST@blnhueevjdmDZoyzG_4|33H~ z@UmBu>lIkL=@f7R<9+WauLXQ<_{-tbyr$j&_|EXMSH>&rO@JQ(FMH*v$Zhaf!OLDb zu0IVw5B@yHSMh3iufwl{zX-mnm*MS(-vKXs6}?Jc1@^0SCP?-wd*!`W@U`J(uQJyM z!FPr~i}7XHMJK|KfFB268jG{wuY#AoYTgmvGw}1^Wv@CBY=d71FMHLwz88K6yzEu< zYI+rUcBdCk*sDN%t>J6K%U(_INbdyr&hWBVi+nDE9|13WwYWYT{wnzMu~*(};4Oon z2Y)eq1+Ss^Cj2^h*{kc-^L~Qg0WW*?S=E(!pGYr~uvee!ZQ*OftA2I8M&60=o#9o# zI@r4yegwSiHR7pxC;V0LveyLvE8yqB-(dL0-rMl&;8m~MJPCh>-vNJ#vDd<@vK#+J z6ZV>UM|(S^dGfA=p9in_T6(R# zci`8-Pla!d|6k#Ez{_51u2%8+O>U;Jd@iUOTV7cL)4f zc-iZK#tZPbz{_3-uJ49_3jP|#m-fP5t-Wd9oA5WmXL=#83;eI})6frl5pOhnM)8Eb zEHrL_?+h<{SzKQPKN`LQ8%A56>@UMlgRc(X(d*=;?c_4N5el0e>da1d&hb=!hZn&nBn_)OW@N>ChQ&S_4VF{uMaPK$KlWWInC=0FMG#v zy)OKD@KMJ1@s9U;!_S0&9=;zlGy#4Yyy83F8{pjs{|>zD4MgKbc(w&&Zy?vdgRc$G zQKPa`|G{=71pV?-|fQ{lVjp&xeibw9R;uaJj+)m-`&;6LG= zES^0d<>V{--@z}V|*_CbKwW&q2JfhFHStY;Opk0 z-zb-UUHCn`BOWTA0=e{k_~-M`|M0_{`Y4`x@Uzg*COfyDyb_z^s$BY$;78`6f2yOe z{rM#LR(a^R&!yiAzCa%O6>{m9hJS;1_-vv*Sp468kdv?Cc?y0$`nTlL=M~%>Gjr+R z46mOt4yAvtqp#=J82GMv==aK{-xa<>9{P22>DPq+grAuX6_1}wf8G16fAr^&om-zG ziFCbrT(|E_ivK?NYx2;a%OMei2-8}SL<*A zcDcs1Wz5mY^tsBRVk>>%n2b)0dF9&^@f@u;$mke?WRqa9u|r%gAEP0%S|` z7;|l|F%ia0LUv^yV@}OACd8OQ$d1ipOsiaDIxwaQvMPCuDSqIX^mdHd_zu4-;Ikj) zZ`ZwOdo1F5z^5OJ{sQl^*ix_hXvg`906UsH_F~+n+HZYGd<#UaBf-zg) zO7m(mM!#Qh*Fhq4_CKz>HF%ma3z2>O<)Oz+%{68vW2PWmp2wKebB&2JW(cyY^BB`E z*O=!Rb2PGkd5kH2;28h-z8!lizZQ&f53PZrJNTWYT?{M>t6Rv?wR>f=L+HLkO!lx; z`XO{RANH{O@0%YVJcg?rU9DY>TyzNC6C7QwW!cU?gl=O;SMThyJwUqqAreQSJ_Gu8 zgv>vCTTZ;T4p!;Fvwna0=P+{Q$b_l z-})W;u**Ufh_GX*rddG2#Dd9J*SBxPt_^D7?_ec`vq9EGvax%bR=EzwXBu&x*e>ZLNNt=Z)W&zxY!n{O9(i`6ITp{dT)#9N9vhfzw2A+?03< z?4Ru2mo2`)k-~W&`u$$I=Vc5y!Q3C|AMn|WJzjq;NoV_YnSJ2EBRlLjKn^&^{({%s zZ~}Q{AK$%mf8^=Y9GjCJI%iCFIO!=zXsC?=-@HV#5^=9@w%9^Jp1~!rMu{3FUJR}U zvgG>IwO8`E_GTW}zRly>zJpxTdr5lYKG^>oziHC(fp$3xyw*Q3L%r+fK2XyUx$V_7 zZxo*i1xIr4`V_f6v~KKvYh^iSt<67&)ZUfayAE74{Ejt8V5tA5y{k5#3)!Rg<|O@> z_O4g>?8P3>Ikc7OKFiU_k%~GT_pY}#@vi+rvLea7tM$uCnc2OycOCqZ_-Fgpfi?bj zaQ40HAN6hXR0SerEj|ly-@B|%j!o*2eD9h#F_0&pYpM6HoJu90b$@;Ds{O^B&-LE* z@gpDHCF^=GTVCUWbM@Xe*Z+P~;4xe0&cJCRIR1|JuF=8gJF+)^eez!UOM6#2$7W%N zmXE~2`-=}WKh@uw+>^YXtCRF!+Ml-OeE#LV zygs*jH^%Rpg3qY9A4}QaJxp^xw^9jK*I&}|;sRg9 z=d8W02pt8=CHU z%lO;Sa+MQL2m5NYTPYiWMzZylAl!#Y>bdUZPaVQl(3lDpR^l+0tdol`U7kY`F^M zD^x6Bp;E<4l`B@NQn^ai%2ldWt#(A!YSoXZUgL=B88tF$*2p-r=8?5(9$C9q?K-t; z*R4~xUY)x2>(y^iuYSV@4I4FR*tk*SCXE^&)#RwAO^)L4lGB=|R7Kqrv{xnHE7hiQJ2n*nsjN>wM&zxU7L36+BB_OTC;A=j_!VRkM2h| z@6o(xkLJhpJf>IAV_NiT(YsfRmc3i{>D{tbpH|2AY1R7J)_sp{-KKAw_&bwbvO zCuDUzvEz^vJ9Zk<>7*f@I-k^e=t-Ts4DE9A&@Nq1?t03}UAvvq?bK7cH9NIg_fxy~ zIIYL9(|YtA)^qrMr-lz8-aeD7QBl?^%qR+8s96R!iWBZQmJ8ER#<3=4f zdem|KM)x~&bie**_CM>){>Ptn{Ft+jA24RX*f9eJjvaXR*nxx29(2yxg9e{7_}p^_ zpK$I8=bd}PiRYbo{&^=3Ie*Bw^M{-??xYLGoiy}g;o_KIfXN&pG#+bFaPT-1DwI@49QxJO8@#ufOj6ao3N#;rekG+;G9v8!i|>b^Nrc z<0nj;aO1QI6K|Y&(~T1^yy?Q5Z@Tcbn@_vw=38!^e(Q|sx6Yg~^R^i?XWcgI_S@9T+%SGr(;D(Zq2&q*F5*an&)3!^TJDOUR=NCr44J=Z(Ors)0&Mh zui3PD&C9Q>*}P@VE3dBE^4gkLx2}2Z^)*}HSo8X}HE+DRX4_k9-dwxpEp~#4-38EE*raL%-*o*if`Q%+qChz$i_>GuC93B^w`Wk z6AWE%PVxBI^z}xEbF4(q?ncfz&KM)dMhrb8XI#AU$7PKiKXGh@WfR+R`A+yMVQ9(g z&ABnII3y4BV^&`=NgmjbOD_A0L-HUVBUe1qOW40j@f*3~mtDz;OF0_3a;*4P2_sir zibM8ATYcgRJNjYAe%P@eapDOp4%tziocP0vBZxnuI1~?lB8o$D)n2|6@s}{PrNfQ8ZWu*U0f?Y>xrsA$2I4%@4kwN);fA`;%Y;47H?>-OV7}ZTRpe? zi!BrSg}670$3;u7@uIh)ukoUF7N5|+&ghBOxJ?@itro3#rZ7H`M;!f#V<+O+k2rp_ zG(KU!P?i&CmW>~KvJ;Vx&f*jL*G2Ga>wx`2hL*j>A7*52s=hP6`kcn`TA@;gzVD{_ z@$%EYj7ZKo4sYm6p;D{SGc@B?r^jAtDV-Z`sw;V1wB#Bu8hfiX-r5l_TGyo~TH`cc zbP$h~M;!f#V<+O+&vN{l`p6FUB)4&9+4z;8lb7sg1@T0jIz%+y#?$`&c3D%JZjA5f z(LKIsYCS`1u2e(G*D$xLwP>!Jds{T)R#$3Uu$AbSCT6YHcq`Xu zT6>tri&lLcdBoAzoLW0sj{Pi+*I4DD@uIOOdBn<{_*qMdymWT*jcB~|HBRG2%bu0z zuFqFZn`M=XEQ$AdqeHyj-XjcMYt+&M>UPf0o{@7tpoZv0G?sA()Dv4qj_m_#`{4Pn zwUmCFQLPTBvwTY~eWxa?6^FI&)NQrmkX&b{wk8hAHO{HOu`9X!xO1d9BoFFi=0$Z= z9D)7;bJv_a1N#Te<3%~~95AOge#RXzzfQgf%(dc>ed0P`-ko~NzF7~Nb6bDech>{) zWXX=s?%I%^jo+?^AYUVwA9u|t4(Tf{9V17UTCKCYPQ=GLC3M`ickbNza_7jM7ss!e3)xrRPMinS*{!WxPbc?CuDV5h6^SFS z_sjg#uFo7bY*Or-F*BYWJ8z<)e>|has!(c7>)*I})lb8E z7@cy%d#pNs%myRxI%dPFh9gTD`J3}5u6py0n~j`tt7?s%(Lwf)ns)svY#I5UT}7gb zOY+tuZ!$l(%l?~hl#HVPtmI|Ue+J)@6H65Pt0b3w#UZ)u6OWPiOvGd4=MWFM7EG4#h)UA*Y_w&y-wqW$V8xVc*D!OYvmN&WPbX zG8KpPb+&Wuk23Kax#Hh9HL)I+jhWFwaY$eDrZ}AX7`fsav+MZK*TpZ1eOUMORqfJ4 zhMs-q_Ek&jR5di`D14@L_T~#k(K9sT%o>n<;F%{ypJ%*i$u(Xy_M#duT4#+Ht?SYg zt#KMJI*7;6@}u#Aex_q5WbI=w_3;*@?! za_q^Dp>-CY&@Ugdbx?l9W8{iw(8v{`x2vBWoBZMntIF3{VCY+ZibOk&zs}H{qwt32 zdi2B>`K%9p#+mwvzU8NQG{kt(Es$%xXzABvylB}GpU{s)r6(GDt2AD;;<55x_;K_@ z)(+>8V?U(v8p}9SpM?E*NaL;CiC=a?k}JO-sweXeX}shbM?8jBJg0rJIaIXU=vbdO z-&=L*nJWzaOL%bfoEEbU%{dBhXs$ZUbMz(yyzevE6>#UKtJTz30eD!*YRuWlhEHLxs6l$A<3oRJ14IY_KjTEZ5=d@ zc#K@}%-q)|{OZmI;RTVd(H7h47`niuSoBcxX`>5Vp5!e{Um)UaY(MSOV=U}$u-WU$tx!N^5fEqLvqFC z(uyO{54p7B2<(SkT6GEHF*UNZ;*cG5O-z<{@-;C@jvo_;=!%oV2hdIprEhC1n}!bT zCuwRDwlTOgH8FCHb7}dOU)gqPYGUL;eUh|zK6f*7Smcos%k&xCt%K*aPSJVSfucq9 zyAK_DzfAnrEIa%PU!rh7ztr!FQ;@1bY7L~;z`tV+{E$&Iy!qCt9oVkI8=768S*$~i zaFZRaGTROA5H7uQW#$D}4hgr|Q$93r;K1t^b@YXpzud+iUr;H9y?RRbH!Urx5 zSB$-d=u4jidUa@JsV!sOeM-jX1FD6I%*t27$$?*^#`I+j`qN+xptN+IreL+WNV5(->PPTOV5&TMt_Yo4?K5=4&NQF^Slt`b zfI?t(R!jqmfQxuV!9}TVqRT>>>62KJ6<6FVNzb@a;4+*`(#^08SX~WE(%Y{bxB};r z^bM>4uEe>d=~1XYij|?O(2uYha0K`Wx(!wXYJh8yNj0D*SUm-+0ad`Y=*U+Gs0*%( ztPW5UToc_oKs|6hx&+n%YJnTj|F03y*mVAD0&YTwzD7V(a8r6jH3E(XAB}D!uQ~np zS^zD<>c!UrXbo(%8q()Zo%h;-)p4&4piX-o=#JM0Xaa76 zZX5d7RrSI^6>t?|4+9Z!1l_Rd#usL6JLq=khRLxu-}R{Nbp)$-UKY?9+!@_0AOenH zBMYbt?n3Ncf#%@m`0NT~f-}+W3Umf{#zt453%D(@cLN%L8&HF8KzDF=I_Y&Y-SoQA zF|QqTJ9N7-M^(LEKnNT{)(hwf?ul+Mpf|WTbJzd#Fcdu8JDu;eo$j3h zKEoRc9_ft&k3x3@Fbq5l8zX?>;L+Zh-dVsH@ECla1q=ZXLH8_R6nGRi&H_e*PbHSI zz}euly>r0lc;|x8rJK=M;C%4;*d7a<3LfWOK%d?Vyb0h5-bC<3??Ui}=#B@@1)qzJ z@xVCnMc&2UCBUWNOTEj$mwA_iFGu$h;6m_)*ti6^2z&*(P6CF5hvRb+a6b5abSD9q zgD=O%B;X401Y*esCW9w?SAwtfrhuo=u{j&K8hkajvw;cVYrJc{>wxRQ*VFOvI$$bz zD!SJJQ@~TOaUF0Cc$#-3-;cS`yBT~l9er*BZUx_p?oGf{@KkKv1WW@@C)XLkMc|9@ zIRm&Fd^Nf=fLp=0Vq*p{9eh2p%mi)&-$wW2nZWJf+r8P~+1?%CJFqpH0JsKx4K;fJmdND5!tOl?4)_~V|Yr$*LjRPydE3gpunxT5+ralmH+Y-CoA9|2cozIDx*LI)z%OBABd{L4npj>2 zHiI|Q(feg!3wVq7D)?3JHSlZLei>K|-s-*Xy#Z_kZ}Z*+zv;aNehb|1wf{3*6S0=9ua^FH^!0KNo&>3s$M%KIAp zHM(B_JHb1#@dfZ1_#1B*@7KG$@4(-A--EyRegOY~?zh0#;IFaqE$|KaM{?Z_ybXRE zpSyui!JneL8~6eI12%R8KZ3s`mOa2;@Lq2pc%SzZ_$TjY@Xy{a;9s!42lx{FD{JjH z;A!yF%VlC_kJbypngMI$Wc)yqC|BU=+#_b1Ifmfls zpLhIS^dQ(pF6sU^_)Pb|!hgE|3%coy;m?y9?}L3mA9ydZ=l4ISR{8zUs9Ao0hgZPQ z?-%e3f(!bEz=iyM$oG+7e*a_Us<8h$YooBgl{He>f5j`}7xs&wTNo$+E`W`~z{lXt ztj(f+jC-M|ALX7X>M!?-`9=L==oSTvfQw+GD6kp4jM^0Umy&yN|5s{I9KVJ9;>1u8 zT##|af#t}TbH5hnD~TJt62N-!dhUr5{)=8ozl2}XF9j~;mj;(6*AjpSeu1@F#($2r zSH}Nw;WIw zToxPUfOo;)vDPY3|9pN0>g$7j{8s=t;AxE5S(;7D*CxVk`Xa6P#CKwWTUEH?lef~&zb0vdp;!!-sP zfivKm0FA*%!W{)P0oR6W3LFKl3)c*23a$@#G|&v(0L#sRW5A8zS^&+#jp14XEx=9S zS^+J=N5QoQT7jFwwE9{?WU4+IZHx353QAMBq1 zoCrSA9|9iYp9DS$-4lTR;QrV+0T=`x>YwbN0-Opy)jthh zc({MMKLR)ddaB`0}sQ-2w*t)L}D2Ui~^7HM}tTEXM)f4&jO$2j{%Rt z_DJAF@L2zB{~X|4@VWkZ;Pd?R!RMoU4sa&;Ol+J3j0KPLFYw0$6TlPviQtL;h2RU( z9S@ujJ|7$7fpOrA$n|1iD0nD7F9ybd$Dn&La3T0YY+MXn1U{EoE&(nDU+P~5zRbTI ze7S!G_zHg#coMcR0nP=lzQLago{H{uz}4WZv2h)64R{*4-Uy5XkHhDUz$EY_bZ-Qvf~R8RMqnCv3bEV- z+zh_izXg1Ye=GP_e>!-&KLb1i+cyDIz%yBEw*h^?eVE(ZfLY*K=-vk03ceK^w*fQ3 zXRsD-2WEq3`*(ov@b3iQiSF&dEbuIB+zy-pzKdM%2Ce~LgU`Ex8Q>Y{-VNLdz7rdF z19yRMCiZ)PY;ZO;y9c-ze6N2W_&$FQcn-1L1KbS0l)1Ve7z-ZD8o3{s3!aPa{lLB8 zd$Dmpa4C2cYx4nM5O@&x!~?)Q@H})M0Oo?{V&ef|6!bNDbG`_86#OWc~0^fzt$AE{y z52O1S@F@6EY&-^B4}RQ#!e0zL34YRF0$$=j1%AqZ8vL}s6ui`b2K)@Vi~VK(a(@M| z61>uX7W}Ng3cL#46~I&Ar?9aCSO$*zF+UEh2Cw$lfYUP&x30xyAI^4Ejc`y0R;{Egs^{wDAyY`+Ms z1i$QW_FnO zz^`HB4PYzyZF1cXM8Q#fZU;7jH=(;7cnka%HnszAgSQaNJHWf(cm4Ok@A>b8-}gTN zf8c)z{t(;m09(Kx`5*f`fSur-{wLs1{7=E3qPqilAN)Qxb^srNKl4BLzW}}jf9Zb( z{>uLv{585?0H11 z?}&Xr@DcbUYPKKn()e%V(tNO=mIh8s`yToC=$ zrK6t@@W5W$d&u8IH(%OItj+vs%efcwr!C{2$e*^vFOZf$tpK|Dfpl;>Hu3{6fuE!{ z1=F4&_kwAA@L3SwX=w$C!w36}D+nw>zJ&X=VA{{rrcl~*+zW-$)^Sf1N?YR>PAimF zIIRe{NLo>F(X?NX|3du=rLAUd7E6n<_KKyw%^ED0_NHGvtyo%dbc+Fn!G*C=3|I}` z##$(m_BwN2BJCUIyhPepe#x{FX(iDu0Tc%p$3_WY8~96VUn=c$YFjGpH)>o8zeUqZ z5knDh5yq7QzC!*L>#pV3X4V- z*VvIG_e6BokE(=VY-s5^a=yot)Q{*|U`PI}FZqiEcF=EZXz4mSaYrX+ z?dYr{u=y{I?b#)R!g~kT3V-(2R({vHEc`|KP;)L4Jv03D{KerpYYRnm?e|72jZWm3 z55wPdEF01Jq)RU~^ukZeL=?Z|PRubU=D3rWsdEs6p@Z1sPRwy9m$-ZcImVoLq}S8O$Q*9&Q!>Zu%MTfP*VVo?lLhAeF_T1WjWyGIig|L+uX*>lE*9h+u+pd)!K z@MUTq_|hE29A7c(OYz%yoUt*@z2-$S&4Fs77&OPC6`SO$r)Wpt%zdD*H53o*NFKLx z>=-(*6L;)befhQeu_|l)(9LUBMQ&bme|T?!Q$x3HjYclIhp&!|`udUZ zwg<99OQWle&hay@3vJr?T;#&&1L5VrRy6eczddSVmE8Myv7z5BwmM?vvpTIZ`m(d* z?U$0i@;|pR>FeWG>y0nPQ)JsFqoW+s2fb{@ie5Esy|IZ-)anp()Ugw_cJLLozKA*M z#B6BACLNoX>^QkcZSL}A>!X^)YrYcsK5K@liDKBZ<<_ujqB!roW3s8qdpln-v|_IN z{+1*y`AK)oOpbkY&2Uq5#Xs@6ki5 z$JQaR6Sa1fqvDh=)xn7~YU8vz%7q-wSmmgERnIe~HZw7+p7Leafa0-hVBlE|lWSn$ zoFfgb`H~#_X8ic9UIis*i=2W9;Bl+ zAiweztR=I?g0&QNd_}D<9z*p4qWom2n9bZNs#9+oMW@}$^t%tR{Z;u>5 z^lNjEyjbv#$Y*6gH*50s+wO`qx^|DL^XK2)WpuPA^>-GZ4Blndr0BV~|72<|dfjEe z8M;*DuB7~>iMJbl%~!<|^OC;W?3*6j}i9*Hd7{+_9cVi-B*U2~r* z&cerRGBqh(d7+^d^N=!&lC;Lkssk!36qW@x3bJ<^f!%8zRvR}4HV$YZT z>=Fx2ZDr@~V^)~^)auwe1a_jZy3_ z8c;mim(0AsJSVvZ9{BujLui9CXwfc@PBM)LQV->Tt zFS+NVq48bch-_Fs*3h-?KRL2#!UCi7 zQGpSWE#W7O{M2F}hF>eY)W{c2{WQF}N6g6gPg>vV%l#{i{DKo+X*G1nIwLPy?8BJV zKXK}(u^oZ_PjgO=Tl>ojjEGzNU+%v@J~xQ7@}u+PM+dPD?(|ChwjkzHyS@?M9mMIx zA9do7Ix$C`IHOK%Q74|L6GPPT8+Ck9*JKT&P7R|@t)fnSqE1bsP9367?olV-sFP## z)&BQHKEM20)iByOvOZFz^l^r6*M4y1rG@tz`ivXj4sUyRk)fw8Sl8<22NxT<^o?)F zth`kF!SVM3{Z;+%iT@thY!_J{ZxPsZe1#leA;(w9@fC7>g&bcY$5+Vl6>@xqW)*%r za`hdph%+PnY5xx+OMhq|88V`1c*(A}BQ;iZkKFyhv8>e{ktx^oG&<*J?&N$*Bx_m2 zaKq=f8@kq>lfy$l*=*<|&pqGJLyC8cB<0mx7=78PQ1$|2N4~y)H9P6+lK00OUy7$l z_7tNdn(WIR!@2-njJDWDHO!^vnv+jdL%nuaMeQ=7g zBORNU?AY98$L20ywmz!KtL?6jG`Q`FkaAI+uQi_=QcV=6_CM9+=sHskt(d#cyfH~j zzU`M)?%1ePhnQnO>eM0T)WOh!ov2fXm{W(C;t%5FooJa| zwRW62jXCokbLO4Tppt9DjI}u`-#xV&X@1#Tc9?l*exoK|;$eEt{I>2}FFB{h&p$Fr zOV0edV@(YMn<33(pkwN6<%&mZOl!%+9Qabq)|aCb)g0M4-&ygwS*wb<-h=cMq5g`Y zU%77#O~{_)s-bA`~Ku_L+lCH=sc z(YL-FdDO8Jb?is)ZLlG3@4Ma~tc}}yb8@HkaeHqba}0exf_-W2?pRzgXkRLP_DhD= z{xS08B--vvMjq@-vSarp`Lg?xdj z5BeZ!XXMDwlfJe+@I^A_TN{6vj9EH1FWIrV%Z|-mzHEIIr`?y7i`|!06MMg_CiZ?; z%ywTAZTBT-Y}Bbk%&~9gC8$Hpse_^IzU0&)=F}mk`0c)=9D_Kcs)LPFb+BYXtiyzzU|*6QyDvF&Ve+;6k~3d1 zXHH|zyvLk*H#)&OG_|t(lJd3pyYdb83f`Al^TA%BeC=ML*zCR}+U`rvSW`p0|2R6P z&Q`9N?Y?AU4tyzQ>&wxJDqkDt;EPt8wW@ul_)W{r+Sb1GQT1mGtvyF_yH`lx?n{!} zy~2@)96KS$eyC&3UDj9V#-iU@U!i9%`61~`a_dX_c3+a*`f}t^$4=C-&))7ud(w>f;inxTAR3%Q$aog&$mX3Yap+p3pGL&2o^%Akm}qb) z@)Z^YcI3m*fm=@5K`fH|=g>dReKhn~&xSD|+-g%2A8XUB*FeY4oAD`K ztAD5(I6BFkg50zYj7)Q^xlm4;W7SO&YK|3`Xswk%Kji4!7-dKDSYRiFotR_Ck+l`ri8*$nK|ER?F~wtT z>nvU%9|wyuQ48UmeNsM^gEKZNe*tKIOzfQPyqFkm>^6_Uj&u~8(Fx+0E!i=#>&$f% zyL2^PvC5u1KaNgv&J~LV>R@ds_M{EjQ$DgsOs2-7?LDSzk}Jj_R#V>~R+DcKtDP(9 z+PRV+LkF?ixiUJ|hRxU7(Rl02jt}Cr_m&xtj>$#il&5lZ&dIt4b<-NOvHZvGCt4S( zzUp<5b!YO|npU35J6K0%{v5fv#{xUa_2||{w4Lw7{O3G-B~SP_dzYPKqo2?{K&}{U zUA1PVulca+->e_El2eTiW{chC8=K8&T-0x8vr{ceX_=zp1_+L!KA9Z4mIdPhMKZq@6 z<01E$6GP1Ul}*Q&c@8Dw$a!wqcZR=PPF_*+iUoN^$t%XZC@Lay&KrQR`t<4gJe337pQ*0v&+nbo`0$5W8!`cYN2OVvX0Ig(>t1d2h%gn zyho#J_5{5P*!KbKnD;wpF7*DNgw*pf@vdvvo$BR2SM2+g_6fUwRkJ{zdT$TzW35x? zebxSqVD9-~eVTh-bv)QTAFNNK6Rb~TFIb<(j@GxeW!JZCCFU&g4jt&2pBBy~XSus$(!W`q|N}Yu32gPb9bR2D&D>=G*Qm!MvM2MYdII*$?JQx~Y9B z=d%m5AFHCOi(Rj_X2ChRUbW9i_kUquB8^D8lHt(rJoLp6?X}mHI`DfQsF8CvYw&;N ztXxu%szGWEq}D)c4W!mUY7P8vt^vKTq~O1&2C4h-fAc;}&1-62Q)?i#2L9R_;O{e& zy{V@SOnh2lKC%eVvi8SE9w?A6D)xvM&JEu?bcvxkhs0BV^VyBA507q-3?DTo@Bz@tEjmhJC&N&A zp?|zLwLGggby1+0=}cW5T-+-GE}c~XSMoPt7~;7vaJXd1Q$fNB2W&jPS+KI^59~`QW>ZMR$uGNKsB&B zTUR#Stt-W6(K zu`~zNJz8C`)!(`$SbeaYn?Bgh>4RMhx)!?4>1M5t*KJL|YW2Hr2V{aX(QRk?Gq+=G z3+NW;Ci+>c*L4;xSJcfq0(1g*LN@|rg4L&5y|6>z&g9w!s1H^*?=C=VaBFnC0P0|^ zuF+k9&fxaMqK?+x!0KS#)pW7$N>}Qh(CSj%6-e~KZV%m?)!N6b*gh=ELePZ{(wn*; z@_y*{VGUHE_jCpN{`Ln3fYp1tKcK$UeHq&yCb&o!Y&bvc^lffsG(-5E=_!#Eu6rcvU25aOLAko)a zovVj3?i8Q}SRKtzVNDjHn{yHFh0}m^aJuPTJ-_El%>k-z}3`X`U%9xO!% z>{6_~vw)+)M+beg)fszq&?~zvw7SZl#hPzG2kZvS^;n=IxZ^?kW;aHzZtr7RV_`a0 zhpFv(z=_}!O&{y?=~a9la5ngCY@7#Vfe+nV`=X$e_INr8UjnUO+T(%C!0M+x9=HO0 z1vbWeljw7;Uf7es>SaBdzSC2{>Ono3F3nei)v192c@l%l; zy7%>T)9HE!cm_SGZvxc&TK%ilds5RJvxC49#y6R0mmk!c%=?|^`(lfy`@&5oY9X#Ee16FV92Y~y*vx((FK)s*m z(@R<%rqyR!J)_k2x>2S0AQIX{8!qrgL8^{RdpSO`|{ zX7zGbM`m?mUIHuyFGY6=@C5h?Y%Bp5gP$SSWx!qFyYRUTcm%9|*2@5OaaL#DWq`Ul zs{{3NK>e82&v`lUELi=VmjmiY8^!i=;4!c|JFBnr8q?W%EqER%d7RbylZXb#;CLSPx#0?hC*=@H%X~0H_1>26Ej9ECw&e=SCn3j-snR&+6yA z9vkZLtS-=Nh-DM-GFaW6HvzAJ)!}&)@GAIKY;OYAfM28U^;Xk+d@Ji|CiG0Y^{V6Z z7O=WHt7GqG@Md(kvIgeT;dw57m2>xkPIQ4zbc&wI)tTt37xeRV!&Nuy?Z8^_TKsPZ zwt%K%akPk)S!9l*`tZPaEba6eeR#CHPfFs-iCJAu!@pONcMU>o>e*5>EH zGvH@fgP#NHRs99Jp97zOKf%W5z`fw7SPNeQ8^9Zw^DhB)iT(=RF9CJ9{sJ3c0#AX} zJ^X9nZLoS%e+_&F{tVr(0d>Ou3L9SoFM zc=>_d;N9rv_kW~iUVhV?IzK&=^FjYiECqe_e^wuAb(c=`nO4teb&pmL>0neb{IIGWZ6+nHL)q%PyPz{{u=&T;j>g!ws zT*J=*XJET3PztP0&b5Hr;6z7f^>9{S=NjM|jH?A40Y1X?1g=LX<_3UzJ2y1lm(|U= z0Z;>6gK-UjI$(7QZa~-Na&%i(zv`oa(%{ngSGVUH;2MlO3TOmwglpw7@O{as!w;2ZEatf^Maulg~!Mz|4CuF5Ks;;^DV4mxs@rIVYU8Eo9E!$My>E=y7Mb zXR&Y0wY}5ln)7K3*Xd{Dh|agXGsMvQpWJVMUXJW8Rn+)haO?E2m4Dp->yY&2z!}yqECuZ&7BW8W! zJH~Juv!P{2IyNuaadM|GN+Ngpvh`7%bqZV<(OEethAzab+!QB1Jk?~Rwg-9IAaq;Q9QD_^84Zu`4YYT9WNrA=tQj!F-ILc zQELZZQR|DCqfX3*mL2KXyky78J!*58FIyi|lX~SMpFZEv)I>2Xzpg<3uC8io za^I#3hE~j9H>{GRCGWYbQF826lZ%_0EB-gm$(N`(_6K(=rW{Qj9=|a0te5@zMSeAF zPj-H+QZ!iy>DW31cA~EYc9f&ylrPo6i8E^Bv^vU#9L-qesC-q=-|pMRGcz%F@@3b6 z;<0OB*nlrgY^w9RJ3cnF=1X#oRh@%4%^FMQ%Nmn?<*Pc|e6?n5zFJGNW9P!=tNBXi z8`x1U)|Z|4AWk#yK|E${$d2;0IV#_bOYaD){)$=g1a%839y`BNn$9$|=J%8FHzsMx zH7|B-P)}o1^_0GJvyEXqK>bq^`*RQJa(+&Y`nEZSZh`E#4(k_s=s0= z|6yH2D`v@6L($S#zE)pzRpAG6lzXiaWwv0iIDq%|p8d8_84 zRS(gt_peUMw~SwD^krvWt1U@izl7gN`daz=7UN6tTvGW>qa!=-{P?CBEBdQ5Uo|$h zKCO=KN5@Xo+R;2(Us|6|%!XFX(y@8Tj+1-T<}P2hKB`IolJA)NRkir}wxvo27qpEojf7G!bb?RW=rGh#bIM*_ zPx+o&@EJpkUv|RNNm_FGamJb&1~x;|4|F7tTDf8le1$Yej<2Zo<>;80ZJgRSR72U* znpVDwLHD6(`IKBW6fJ$_YxOlpx#S_oPROw@Iu`hnPAu>h(!S*QiaEYwfiI))__A`v zZ0$rH`oc zYx}VHUXs?1YN?v4_Q713{XCc>Lu;OxyCkjeV5yeQ*kt`wM`;H-hPGo}o35{5eq$P| zSb})8Ry9X9o`ZgONjd2IUOET!YxLc*!F>>wA3Oijwd*m6H+jF=`^M@kZs|DkkYk5y z*oiKK@|G)wgv>+JE-K zHsM#j65;m#>ro&i8d(raPHqXEfidY>9qHwa9cXC9?8rlozNu4SNB*oY`Li*gKhV&! zlQ?qnaclJNri1<8>=|~iNRCX-#W?viGs}%3z^$ zO00EVlROx!z1Fe?r^`2qk(fMETOp#yfQ?UwE1I23N);?(K>ged5EBU;@M%d<$u9=r$|1@-vb2uS8 zVE>nG$?d)>J9dAzc2pN@-_}UAHuEamiSapmo8onRnVMRC$Cs5S^V6819%e3`^^kf` zPV}45&j@zz!_K{6<}H{fy?cZO!CDHlmXdR6*N5hfdo=g@aL1;4`uzuf2S2qhCHJ>~ z+rGq&6FJy-@Ux2?`1|}%e}5$O&8g+XH+=F^=#gSo!x@_&3!OK+ez;EL_0VP64Z~Mm z`8NA*Bs_WOljh9*m^{a}=rhUeP&8V`=wCHyps_RPhY`lkEu#j9Wxvdvvy5KHth3EI z>!=gMyZnYm-v5j@Go>FJc4SEU{r5kTDLa+-+?FZ7zjv)_{7J5Oq^~%ouQ+8#@hk3C z&rdXQ$e-fZ*~%5?9dBG>{M)nayZQVpc;%tE6u;uNXDk0#$Metjr+KjR)4Z+zZ^Z1- zs0R6yXU&h~R!{X1uX<>lJzM$T9q%PKer?uW^GA1^b!N|2uCvyeJ>N2;Y^M0hO&;uE z?u+1TaGsYaq1-QfnZ!1`b>U{4Of_-OEzd(#%hM2Scm& zPYN$T<@y!R{+6-whMlw8m49wh_{960WQKPg(Z0#NCaXSPHz{1W$irEUORS9CSoBMt zp*e?s-G~u^Ojq2mAh|AAJ8(*D`=S5B_?d z|4BZ7f&2vvpck>a?(gJILug~v^|ia}uWm53B>zWA?{NQR)w3)u`B(kgM6BGQC6_+` z*G>H_OEXq>q;KSw#znSr6S#5Myb%Y7`I$T-xen#6x=hK=ZlA%~jd_2rgUkDKLF8aR zr$lnufejAh+o8qhmbto#>*SPNXAf0A*gAV6o*3oYa_xw=*Rr$p|2x{N_N==7**d!j zosGbcKn4Re=Kpt{Y2jo5c^-b6mrqU(vBsKl!JRMI)%^8v9Lo{ttbm43%0*jw1Ug&h z1&3ZUwr*aw){NCn%zJiNXG;M1PAJ&JsXI#M?tT<(_-xYU9)#H&!6|nR~vl zE&bf{ZtI|H8mF_q+bz&x_m?KQdM zYSzd&vgVPsY93j;R_!{qYS*n(w_ct44H`CR)UZM0Mva>^I;v^2rbjnx+WhF|#~j_f z#W5{f9@C;#%T}#hwrbP5P21LO+O=)hzHNuhP-Zxk83{+S!W}zx?$o7or>p2*!;i-L}jbv@TEv9+8 zX!zntpC8J^p<|9b=E%bX=iL`sJ!qiOacEZ_etPY-kvVIx&8-u2hVv@17j=|M+oofv*2f!wS^@-#Zc83|}tu6!dwUYcL4qkOGg_0fG{>^O8- ze&kOvIJAi+n4_5D3TVwQx;o7KMhuylM|+=IedhlVe~un!k?6`FOU28*wrX+r! z=+e8M>lPwbqwms+BTVZI<8!~l0#T_4n-?ha{Ggh zD_0%J)9ARgawShAcWLEH+(z!wii4bu+@+PP)jt%iT(zb(&ed_{%2jJrI)|dQZUwn@ zT)A@9I+l)0%fHsKlsY2`Zi)AsD+I&x^~*!$F>BL{nz%T7D+d7eMMFZ2D@ zSB7=o_FlK}{!dQ}i`QAac%j=qJ+v=HfwsQsgkTRq8{a)XDle~h| zyh`L|^O|Xd8gGIBFQ#OVNRIt@9C|g^W0F-ovZ47IPIOML@i=n3M@dim*vx(8B}>|0 zTJgw7o?&Emj*WOE@GDth-}7n&d1;*}4dunjIc!cje$&RySS5v#Bj1SV+KOf7V!qn^Zu9$NUI|T$X;omhwI(8}%4=IhOpFNNML*+cVfkMM<=^}^rr?AaEbiNm+Y@Z2kYYoKt&XssgDB9KIF!Z`r5**>UFHzjO2d zZ2u|y2d_ZxdC1Kld{j#Mk5=ID-T6|Prz()Dz(2ZA{BP-9{EhONzIF44e@0%LH%#9u zy9qD<3=b)rf2{(k`M32;?SQEYq$+UuR>1B9{~2fZiK%Dk<_!bi-Mr!8|LTvcKQ8h2 z+KJfpEKfXl6MVv!9V^|<8$NC(K4J5wmG)ZVoRHQZw|Rr-ozcTyldV}h6BdOxZ`iw2 z*F+C|*Z!?+VubMA49~l1rEub~cJxjl`r~Fdt>kOBg+$+Q!(V^@=&(0YCB<_&klUZ+ z?y-00FMFgDMX0lT?eC$Z#_lhBa_W?btixVaI8lY1C=c{$D?RYt#ArKLIr=$N{c&gX z@Vwmi64!6I;ii=zH_PG+x0^Sd(L;KFJmzN1&2ZO%JO5e*iGPakkE=2#YB~*!ORTDd zzH2cN{lQjc&iH>fb@=XlsmxOqNLAq9z5o2Ve?8L^&lLCP^{9FJ{`u%X)7ZQrv198Q zv3Wyc-=Afk@QM9g&ka3CJn!RX!hIIjZmTPzH%zbHcK`lg_Q*%6je4fq=U0x`gq0k8 zc@VcGm+x=$$%g5&H8(?i{c(L3%C39lj7(6&Dkb9hbl9iEq}OL*B4$aguKP@s&W7nd zF40+Itj?j%*6zp6hE>uS=_Pz@n4a@iqboUw9n<3yWpm&^H@5??h?~AOk&U&LsC4bN zs%)Qy($G7VGCc6PYAv}lWo4T;wE09;*4vQYaY}8RwKE#bQqH_sDluyM*2F5)JDuK) z4xb~n1EwmFs=(n}fx~B~`%ld@@tnH&n?JrgDB{<)_S>klo>Myi-G{Z?Z{us`cNV$r z&)S*z={FH&?yD*Ozr6y7@6MOXJXL{I1-v<_f2j(jDsZ?~V9wL2f2j(jDsZ?~;Bejd zQhBE;kg9+;=WyNkQhBE;kgC9(r&D`issgDB9KIDu?SZKZq$+UuR^ag6`BIsuDv+wc z;k)ytGEY??Re{tFn5sak0*7w}QafO(0;vidz7;rpcfM5SsS2bjaQNa&d8z`b3LL&WUn=ud1yU6#?RgmkPUx%uuP%MW z1-@;>=4C?(28{B&)2Db|&K1wghde#FE*&Yh(fR-9NcA5`Rp9Wez-;s8G22U=|IYle znKftrVl2<@v$ov32lzpjG3VolF8=1;{e_+^wpP81{+2hOL>|U^v#sUcmEEN~Pc;9> zhT_PYGi;8|SI(I`XT_dsbgbUL_hfae-n)O-U-pmPxpS^G_J_^MnsfR7llSl6wSRB5 zy({)$f4?f6p{uGfx+i|K&2;lF_ii)O@9Ho65A0g|#nu*jQu%-UP{y1noumI?pBT!$ z+h?s}nZG#e@0|G@Ti6cb$&sa~R0UEMNLAoJqXOEW*rjSe{D=MVABj)<8~?gIJbi1h z&l!I1oKjo8*&EhOV25Y-H%IM{&Zsz}A^7*vk`k z4$NToV=KMcyVkZTF(H44o3~%#%~p)1OixGIOT-y{Uv!5Bcb-!zw6yrF{Q5T`zq*ql z-qj|wt^B<&bXbs(&oc4^Ui$yq`w}=QitGPkVYzi7h^``sM7-d~p@6Wn+9-;m2nO&V z374`W5m-eQB@vwHFBmT{#vmaCH{=i#5fDMxkwb`}5m`+XQPfSuM5D;6C?Fv7|9-pX zO?B7wZ13e?elp#knyOdz>UEv3-g{Nu1FWL#?K8H|U|PxamD5RwSM&1q&y~J2Y7ygC zB3}F*FYS0Kx;(mE{OvR5UPl_k2Iihi96r-~=XT!Pf$^`me!XQ-I^zuelIcQs{d3LB zM=dISN6II@E}i*(z2)nzHT}7G{;*@^*$B6xdvfz>C2YZ_8`y4YPAS54GH!%!QFgDR zw@=TXWhmM6PB4m-9eTj-|s-O{G-|9`x7PYIu~0M9*f@9wv@PoK7_2yM!^+@9NKux$M~ws<4V zf1_CQI>+FSg>lF_rv6jX^ndSubEeFhc+R8o@;OuTo|gXE@zT4`aU7(S8_#&~)eH5! zL^vfq(T)-ykI#?44LR${S5JP7|MRhab^VQ`+x`7`eAJ@P-eH-Wy^7i;%dbcLi|bjJ zqJImWTJuq2a1~wd(9+l1Q>|9X(9N{KVb=nj&72Y1$E<7y4ah2`%p2eoJT|T*e=o7` zDE`M=AFby<4aMVHtD9dMFF!Cdw&%UP7R}n2|LBUA z-j(A^tRi26;|rhH_~v)}^zAbYPb}zj-+py3T zpR$a%|I1%gb29xet(xlF{cXdkIf7#-t8olSY9;!AdTsQ7{@#z)v+p_o{_)lw#Rq1_ z%Zsvedy>4McH#F zQnuzZr(T!B|Ej)@3r9`lqbdt12CRzbOof{B(5D?Lnu42#hY!`PUIe&zR>mhew^8O?%ZVkg|7HQSA5D2lp&;? zQUZZ(e$BO?GJx9~Sb?Q|)A>S2wau4{sH%E2Dp7QajSXI0+)uo!rr(1w+iIt=1 z-!G!a+&+fxtpD}TCqHUDX*JrmVM#mrv1#!qUCZ%-+4+waWv_7=^qTVAp0KGx7j{AX zXz6>@A}>rEZYrNPwp-frL|>-umv&S?uUg@;%?76neOa$5DUdGp0orh-Jn4L|?KkN8 zwmxTNm+ppJNY}=1R=U+l%kn$wf@8o|ah3D5L zpzWV~0J=1#F>T#8{co?|91oT1|AfAr>Hkds2hBe-KQr^6bG7R8pW1`judDw2FA1Fg z*a3mu!QBvdmBD_KURfwFB&-Osq6GQ}W@8s6JAd)CIQL(kd}}srCzMg+d)Ht;F;#xi ztI`oGA9&>=S+8Ax!@_CUQ)7E^ANRD9621SsXMTM4YsdV1W-Rwuy`sFoYC=pEKau3$ zYR+z0t!Nu>wz(``u#~%b+$rX+B1ewq_v!clWWB1cFM2ZPes%VLtNUEZ$LAUzQ}z8{ zLr1TOHf+yV86;Iu@W8r-6C%G_B>GA~h_C0K|6XP>*hO6GH4NG8?!LHNX z>v~Pm`^;hczgX$djh9oCr_{9~d;X@`+4fG9^l6YU{U!QeX8$*{|C`zWH|Gl|LudB? z#Y&gz+xtg0oSGvzM(lr*T8aIC_nd|YKXd*g#rhh=@%?dO{6D(90owI<%j5Cbo*1-D z?$j19AGL_*EAQV*nL+Q+ra%8f{OIyiH^y-`^Q%OD#>^?_DNV`|?pf%>x|vv2y(@a^ zit34(x~pCBe7x;qxD zpSZUyVZUEcJRIj%d2_Yl325n+Vf|)j&z;|E3gOD^|Goe0f+eiI?Eh{+c!8EN+)`xr ze`SOR`_k^>i##j7#EU;0{gT=L7p_|jzMwCWA8puRRvgOg|H}w7^S(0kKRNFc=SysU zl$rlBB7=R?>N+IzUVJ-!_7OV&wS0EpR++`o<^8u%Hjq{goBz?}*^ndNTW#`hSRGxy zesw&qS5{fC`Q|QHRu}fHWA?Zfm~shMR>~2h;SS+U!=dC59Tfa3`|fIb2V{)- zc-sZ~yZe;$in*3^O%J7~B^kW;t7`^)SDv6O!J4y-T(gA^&ra}+slbW-p5*&l_Wlpw z{oF<3;_Ufl z_U1DC|K!p3{*mzQwEkgo{)cOIbUD{-Isdg|^}8=!w6(JHf6kQs^QUC@?kD3zYrWfN zaINN=&2{h&IIiVf)47&&O;6h{2_0K&;VbwaC-%DezN}tZ-JGGh!>GIIq=NT<z_N0$fO`gsa%-!{dBxok>%IZ(;wXGSWC7~HRh@b0D&GI)nMuOYJC5pa`X4=-2aymUy)Dl&RymCoAfR-&yMrEAUyjg`~T_se+tfL z&6zS6?>bJy&i0O%>fw#A`WyAfOsKo-l~vX++VW}B7dWha602%*rRQEkW#oo1x&i63 zA`6F3J~IGUa6)~a)#FJBzW*_7*M=oL%f~Z)I0JxF6Wgb#2mJ4U=T4dHp0gLZi)RH{ zW4vej`dn>~aLdWFggjHouel84Nsh!l{Ar%~<{3@hlfnR!lHjm|H=6c^8S)qdjFg6 zkom30>7mU2uSjT_{a=of#CXVj{~;;4%lOE=|Nl+A|8H9VusZ)Uy?W2uSo{ALfo)k99Lzq2-Vm*&#$It$zhFY+uIzk*6$UdAB4B}AJtzZK-3 z4>Od_Q}9IhTRoEIErGvW8R$rDfrKR24CBi^St#w0h_}YCq*mJ3U%}))65e~5$nWj) zIXu&_eFp3vaq zy_bw7|NJMHdA;QdeAAcf^~_k)4NW(cx!FqoLyzIo7x}IlzZJ}H2J>6N`Yal4;~%Z( zw}i=O_^n{~Jh$eTzO|SA#&7ky=e3zmt{{F8FUZ7YTHwfQ0lil0|LUpyx>?C~;(zr} z4(IIUKZ7J@A^s^&&q~_A66Y)Np6VSqpUM4~Cm{_D#}}@EANHKYym$XAC=vGMLEM6c z8rVPVr*`V(~@cZGScT+Rqe+KdV2XzA}KmSXJ;q5c{We>im zTa?ZJ4B~$Y@eNVNdH++Wy5~QNvcGJZd+zb4aQ|o~_6xxq%h--n%lUS&*pH&_cZB(S z>PEiv^HrSogE{5h-xuqG*nb4B?)%^Tn)J)>+_!ZUN^{zl&rzKUe-7KYcx|}y&Y$=}{l5Yapd9OGs_uRP?`BgTImNNe8|H5G?sQ=lY(jVGqukmeg{qEP5 zpkI`|ul4rnzumNZ>l5#g4ln+v5dTYP0ai1;|NCQ%%;D~T2D$$w#CgCQbEnv)Sbrn` ztB3ED9|On#^x=Q`=>PN~%yRPkr_?}5)#P{oE64-;=2qC;L^{7m=a!__IZIVblEKfk zK&AyUEs)Xz3Hit6QkCFnDfuhRQH37P{iw^r-vtl2)?QYYOk@pU&gj zjd8_i1<~6Z|1>Z@2saZ~-4>w85>IJo_Ko+dF7!7i>)=R2qpJ`>g)FwrT?DU$#Ve}86#^gRVea_*ZUvpTyoMG)_<5v|9qaTld?xK+H z=U;m-q>k^f@mbaS+W6u1_hZ=kYYPA08Q;OyRblc}jzOJId_zTZUsDQ`Qad3-S%++@Vd*x0 zRpBuDVd+(Uo{b----v#q`|0bE6u*pr_O-99cD=uTm@AuCZnNRA64>|}w#S2k2R#*! z)A_HQV*hPYZF~*;u~Q+FUx#druyh+=!_G4LYd>21QBb7y z2I&zDzvFj!y?mfpoqv1ca~c96|Y5mv82#RYY!Hs{3jt!o*C$GFmXSv)6p``dz@6YG-5Coy(Ti5EXLy{$`u@sD6v zUGT#Ek@$jWPORL6|H!VKn1fhj2hd|oKXE@=1#bo6x8hr4^A}t6o_3UYJ2yFVs#aoS zrNY!(y!I3uPR-$uvGE0#a@u~`{cD@h+3{!m_2Q?(LRb5y<;vH1+h4c6S9)albF`)08ebshtxSGt z5gCs*>@S^xxU$gM_%dcl#h3K8kUi)G_WD83_u@01aG4N=ueqs-uwj#;L&9w(-p03K8{dY7 zj^W=rB=O?g>D7ZN9dH#k>u@^y5-+~zc^y6BEJx7&__%; zT6mh!*ZEQ<`(U13{a9)k)GTWM*6WC&Yr`fbIAr7d*Ckm;q`d?->qT(L#<$_%T;5p9 z1zfZA#jqEac)zdZ!_UDrYjD;4%rCiJqG-8XxZl-UxGykXiS9>0APB=$p$@oV&5TziDU)FCNT;YKYF3M}%Tjc>!m_sUPS z3pmS!O57dGdba73v&P<9(?a64k}$97P15n>+i>t$O^u~xfz}T_>#1w%D;3j@*$-== zxhQ9wUN!OYcp=u}w#oH=F|^}CkKXQG-@IY;6^Kxm)^|KU692<3knL;TUB{9-pE44% zj?Pc3LR;wQED0ru^mGi}#aKu6MP1%2Pn5aQ2GfN2M7fFO%|(eQCsyj_<&T!1jon0B zM~vN8TQ^L*30;6kL z+i<#kzIe}S$#RrG;afjj5tqYEuXTx>t=#o(0@m_rh)=G=#G&IV4m!wL@h#=m{gG;4 zv|E(+8*((cDa4ijP^fVIrDR2&TP{jsTx;|#u^bQjbdrA^O4Tna*57S>8&1{t{q#)h zh(stc8kX{=lTZa)*PD6du3Ua;m$30E{9MW-a82{u>p>9gU3vK2#cz6Jf^wL+S=(;k zG;3SgR}w?boQ|vf;x`$qS2{+?B&BClu(thIG z1*ZdXf{PO~BX%1h(;QI6S}1s32d< znRbdk*+;7?8s_%<&~~m2!Z74rSO8cjXx9_gHree;bu5F(=lV&z0eg1? zy? ze)VB3Cz<>+ft;FRwLE;a)kZ&DuuE zB=wef@ofyDyVtc77`hUISW?0D$Qwdee4GBPZLFV2Id-aO&ZRr$L_ql=XPIB`PtBua z3O9CHpzQ<(!{jX7Sh`ckJIi>EfaeP2a+Vp5pE6e&*+`m;x<5yX+?*NY&vKh=U&g;m z*f|(?2yYP(I&mIq`J?8|CLL@(6>Wnh`9Z2p+L=ref0^r4mHixs|&PRW6!7d zO>LZdw%N@$(t;hLhD&``$CH-6Y`j#MyZ?e6$H@V|zMWc5e+(@H-d%gz7yR}H;(I%A zAK=|?TXm$qsc ziv#=5Yv1Mg^4goEe>GP&E1ke`*Scf)wX_BEdB>UH+w`Pd-<1CE>g&^33hJfhYqWMM zrAl4jsMm8XmD|R*;kaHs%LHF2v%at(B-i!wC-AI}-shFiN1j%Kug`ZRxS?kN2;Fo( z>jx^y99n8f$N^>S&jaZH1Ifpb4I}g@ooB_d)8M9P`Pw`BztZ3)aFjh$HC+Kkb8tVSMeYoYMYR=}l>7_=-&^fC5%XXr4qAxtLEV0|~ zMp)F6@(lCPZs2PAN$EqVh)=eyB|~Xv4O54x+)eq@E3Z-#^~$rAqf!~HVEw%^IW$N1IF`Q+Tic;kn z($|;SEAg&m%Df#qHvaBk$mMU16x;>loo zT9r#l5(*964o$i=1*>vTsXSJfgiXZcV2rjK@aYoI($FR%aJX-us4(v_uu`=Aa7LI* zpZJh@6sEsx>yMnqFjUBkIaVdVyw@PGU~-kAvtes}N$TAaZ{ypr;HC3zecgtIUScJ4 zK`%eC@oiXhJCox8Bw5a8UQBb#)zOrWT0devF*=QFsn(GNSFiKl{Q%cC;ZkNS>4=md zc~boZy3aG#eMajVNlqKqHVgBH1Mu9k%XtYK--d;*t{Y1&H^bhNh=eLd)v#b!H-BZv z_cx{g+xof<8-5=gvhi(LT2t@-YsidNy`FI0m77{WEdc_Djc<(Fk4TmHTnFWO)TU`W z5IS5v_1OT4(W|E5dwuU)gMyvT*ES1dZ_W$h_MxO^j zd%?PF)@>U$xio%ySf_aVnPGz;oNnVASdUBt>yXTM@x$ncrH9cEOE>gwecjG!ub4I* zTt6L430Z0!>vA&xz+@7mWXX3yKpUv1hUFxFPqy>x(R(0 z>t)lttE?_-(C-(pQBZFA()FdE4JP-!5@y&k6H7erex;WG%znSnIsE-#{k`(#4$f~{ z%3hf@EUQgAzoz;1s?2BU%Z9a->eW9rUzK{>_%^Kb8y#JqBfik7j=vjwqN4kYFLcG{ zu6RWkwH)r0%Vl<1C59*J<#YgL7XSW;U};~=8KpZ%J}2)KjC?L#&)M-JVM@G){q$2I z!PfGLma`bAcV$xX)5UOao;&3_eeJF;NjtJxp@KqsSKgefmlO4=xUvH-DSU>k@7iw7 z_tNz4x+x{Gz3;P`6dg)yT6B4lwyMh5pl{m-!{~>lvlL$X_Bi&Z>l4=+hbuDdH=g=Y zLejN@mV^}V`2gYt-GZ-AHIx}J5wi1e7e>GBpi|i1JmDahoX8MZ+hY%+jyfdq0t@{z zB+%j`uwZ87k z3T{dqdkp3C4V=U_`Fx?$eCgRFX2)d6hba=Jq-OMg^6_A)K>E<|d$SJsLt*)4Jf<7p z=1FDADeN7el3)0q4Tp_SmiG2drp!DuKwE@~(INdlf;V2<;xUF@p_7odO-PBU`Rg|v zY+7De>-&ao`Jq|cc&gBgqr<`b|2*BN-~5vtU6QsDiK!^Rls4V_E&BA|fh3v@ClgXm zY-_UsWdzk+2r)A^& z;ne+q>bTM>+`Ax@WPJ#0-Ie9hqt%aZ(-TT;A3gUZMxTzX*nY3=9RB+FA(kU?C50{T zSps5vcLDgOBIJh&LWS=RdhP6dm!D~*sjd2Y&yc0&K8{@aeK4Fqku^M3esEI+Kk1i2 zqVT-0D6LUlpSA_x`;aal^qvT)E@eBPy|US`jc>y?zJ`u&MhQY#lP|am69-HedIlV!Sfj8XmatqMI0?C?JQ$}FfA&YE9-WnAT0Id8sL5Zs}TLK z-#HM<+84Uo`eW=k67R=`M2!(xh_N7-;E6Bs;>&vt0;lsuOO$khlk1DDGnQ}T3oO2! zU*g5L^>rH#=GxNApCoq2g<7f~mfuj~=ubWOW>cihL0LjBlRsUEv%!3UL$EkLK7;Lm z5(Z^6xf821q=d@dQVvQKkS$sXEWS-e;>9=VA|XnQh6OL3ek9nk|8MZ^kS(EVSlUDE zSvD+GM9Z^b8{dX)e1XLeTXDklcRRn(72nP;@#5EXd{#ccw2a@Ea)@t_Z=M41?z)2) z;%fqB$@dMk^p}2o3tgTxDEo@G1^;EYUwSxL|F`k|)V=l@IWJ&i2%K(w>J}EPRQ+92 zs++&E`}bYa*q`nEQXcKgx*)zkl{RBz`xhLqAC~ULW!R=4mL5hwEIo{VSb7+JlTK+* zzw4lBGVFzQZ2J0Zd^^3euyAL=w_%A-=cmIr{5xI9udh=x)!M0klAX(bzKw6E+xof< z`?*yrWaHa#Y7T!4IhXf+S+D&*VM9sU?5Ncv)6?<+{W{XB`6T?{*2VA>Y6O+jL`m09ZH^}Tw5i(MvpQhnlj@om^k z_nQcFy(3ST%Pxb&i*Kjb6c)PT+w>$}d^^3Su+SCXrYG^@+vzohHC^5QT66YO3AxKCd2M^XK>}NV|&fPc`~D-wgP_q*vSZIQ-#M-H&DF<<;YByB^Z- z;@k8kUi;+IwR@AUcdx*v?teacW$oUEK2Ph_F74W-=3T{Vk1}mWv;)XxQX86znTzeC&mz=rou%Eyx2a3K_;z|tVWCSYBzOg==@Tl>-(0D7 zL$4lmzEY~*PbT3varJ>uclB7M>Kp@yuw2;))Pw7jaH^eBy%5e^Rc(Q+s%Eh8y}iOd zBE2l!+3278s)1?@xQ?m|xGrKEsD`*3tD{toYO0P_-%%|sdK#>g=(-Mss{^WyK$Z0Mb4a&?OFtLC?NQ$bDAiFYWj0FL7^OM}rD}sxHV0;|P1=S1ts01u zjI4(?;xm|st$Z||(h@D(7_odVudGCSGF%_EY7Bh#RCb~sjIYhBrlYDh%W`kKpcbeeY1DP&>m!zPjd+dRkJ;QSRdrTpsXVw|s*kz|v8Spt zR5#T{osHPOs=GP|@s}WFh`LH$qa4*w4Mb>=x>Ai)W7PsC(6SLA48V zoq=cd28DA$V~`rEE>@SS@2lZ>T35t5c*2>Wd!D*n4OXMo7*HRou5;-XfZi?YM{1(F zP5l%!?@M3`lT?wKq3%|<;=Whir+$sJzo;kFBe<91J`IGsuZug#rF$PJ7vV{F<4Hny9-j0Bo-`39 z`zcCRfSTWel0Jlz{Rt(z2PK^cs2y6iBdC)vv{$Xss%N3?`k*wYx~)u3c^rDC5qc^I zJ=GpP(+NFuEPAR9dg@BF)>yP`Ka~C|v@~1xUeLZC&zp+posBa01*KE*q;9Co5KzAc znCGB2m*6?%0S)oXt1iY;Q#`2!#!h`ejld`Dt4;z>;#&c`J;v10iF_Ra^+1hIaN}Dg z=+sY)QkB4KiYJn9>E{Zq+VWY(+Q0O=rsrE0xM%~^jq6)Q7fVtPb?1yc3fMWQbpymS zL_4#UTY?5#oa=N{59{ThG^x~Bmqt}2+ zYhbrmr(xW5Mp`S3rM77Qvw+_lSPsU-MdU38uu97 zlhjQr3jZe8pRVr5{TnqMqxwGeuzC=qwOBo-=3?|NRLe28SEP_`FsH{Vt&4^!*xKg!MZBze3&h5DWgZm9trruQ_sQ2J@s&e&TwF|$y)hBSD zt9^LFPJ};GA0wVIpQ}CUOSK=rd-1#9rCSQh>+mF&Qs{2OlXl=qD^arNP_jiRDNFeZ zaNkDBUO-Nkau+Cn4$3?6q|flAy`W6Gdl0)HPh!c+ky?h5et?p)Wc!e|3nkr+lzC{e z$IxbXqa`0kTdqROZ9-Z8gceMr($f7KMcl5>Vi>r zHb!N0jLKs%F3EoyVN{a;oP=>lzLbMeH5{YrdWZ-9BsCmw@VIS%b$EY#gLc5G z(iLsd9jnP8@aZei553X85v(%b$67NS?O2GlV~V;HYsEe2uODG8nTQqT0jwbppA zXIHf9gQ*07;i875&(D#GacHP)he==)pHJGWvq%vVd?74VN3(~B^& zIlErKh<*xVXeCDc7L4&%+>!n+#_k6gt>x|vdJkin;ZHEacVi^4#yDGtk+&6dWgEsF z>8!^*eG}uJGxS4X?!?Ua9CLv)<74F71&CqJz}*OOM(#uSfI0~O073_Ge}(&y8^@4| zIi%va58~zCy+1)N*+J#;rAKQjrB7a*4s&ArKwkLXNJ;u^0qwH3U zO3G1#L8UWBX;+L&%2z`%LiI=`e>oAewlQWJc}yEuKROPxjCxZ;cSfepN;B))V`gzC z=~>pu4R=Vu%@cefbyk}ECKNn>IafJnIag)=YWQS#PMiFc)x8``^Aqw4@(l6{@(l74 z@)YtCuKAp+YzfX)&RNc7&S}nN&S}n7&RI&UoU@$EoYS1koYUkL2r=VO?XNeeS5wNZ00j#49^g{+CPwZBDoCto8~3tDdZ*ODVhsXT40NO445_e z+?~su)10fEv$~hoyK|Xynsb?Rn!JLupS*%RgS>=c@)GhC@(S_{@(S_{@)C0BXI#1K zkM3OMoaJ2QoaJ2RoaS8SoaS8RoYkvJH+L>`PIE4EPLo%VXOLHrXONeWr;wMBr;t~W zXOLHrXONeWr;wMBr|4PL3Uh(>89jeFr)53|&q_1vPQuJ0&mgZL&mb=$Pa!WMPYIrt zCcg=Jxr~XWtWKGovN~mU%JN+2Da-ST;TL&A9k(>p8RViqPkupJoiaORb;|6NXg|jt5asDEKiwU%kqDBbp`4ST35K=)g`D?XkB6w zD3H#dK$-McfimgejVC^a=gz}eB_AM{A%ED7G5dil(^HnGOix)|OADMCdx1m#Lw-WO zvI&2us4Gymr!GOAg1Q8C3d-tQX6KBge!v;@F`h!X z2Xax#*1~UFr(d8K_H;E_Dg&6x0={Gf-Ec&Olv)It6tJ>J*gK zDYI`!OH*d2EKix9vOHya%IcKaDXUXvrz}sIp0Ye;dg=<)8K^5zXP_=Yor1aqbqeYV z)ETHlh|WNrg1Q8C3d-t~*(s}2W~VGqnVzydWqQi$l-Vh(Q)Z_uPnn*wJY{<73e*{> zD^O>kEI&2us4Gx5r!K+yNnL_-l(IVG8)8mTW~VGq37fJ!=YH_4lv$*J zO*?ZvcjYB6?HO4nxfVlVC8^${v`vq)kG9oO=g|Cuw!Hdiac#4st&TQ3wia!B+LqTU z`A}^uOf6#rV3Ur{*A(rkZHjy@c@S-NwAs;CN1GjOd9>-#mPeZ&ZFRKS(N;&B9c_8E z>Cu))n;vb2v>DP?NSh&TiL@!wme>?w+6rkiq^*!PL)sE)o2M<2HbvU%XtSfOjy5~m z@I!J=*GMv!kt!wl&)FXw#!Dk2XEp3TZQ>t&lcD+7f9~q%Dy)McN8!Go-DM zHbdGHX;Y*vkv2u4OIsancC_V@E^T?V>Csk4n;mU+wAs;?N1GmPd9>-#R!Ey6ZH2TM zo(IabDbkimn<8z6v>6UXNog~rEs-`w+7f9~q^(X{LkrQ$q&E_+ItZ;i(6#B&R!5s1 zZFRKS(UwP>9&LH2qWvyHJZ*-w$kJv=TOw_Wv?bD}NLwLohO`yZW=LBiZHlxd(xymT z9c^~hPPNUB_F>wKkH*b@q@B5uJ0rQ8G7oKodXy>`j}|Q23K`Ft%Q;9}A}{(nlpLzQ zKt*Xj#3LTa`dV5*k=kb2R!h8z^>!XrCc{ zN}!EUD%yFDanrbG$2~Rfw{b6zdwQ}*D8Bs+?_QyuMwokb+_NKH?%9zx_w+c|*katP z#)<_~UFrd00wdPY^{o_#oAdCwozA8bk#MX(RtV4OcV3xKzsMJGYDi^HGl zoXFJ)?eq_@D6O;+H2{55b(nv^to%JXi%zhzb?XWo;* ziNUS*;F@>wyrESt2I(w^la$p>mLhEE`JZDT!B6Lt7sQgKB7I#GQdsJVHxx6WObgUT z3vldmzAV9f(c_r&!M>~WB+f?WTZP%RtjW_Z%@TKZ+SJ2g&bpEoIvmzP#`!)u#7L#E`8jgzF_nR<*8)!`Bre^;{#Fj7$X+$;EyHUeS(tvygfcBa9YK!_X$xwpm662- zpSaYd1uj8&nNM=@j#FyoYcL9_W7p)?y1P(_VV0}{*O4;NU!Bl>{ILc@@_PN1Y0K@! z(qW;rA|V3{EIzTGa$Clazcf*u*9M<7ZkRT?=@1w{$p}_)H6AS|HN`nHI>jK&AyUEpT|Yz^a6PqJ5E>Yg$%XRH^w0 z9ieN-OM1r7v_Pf>f?6PWe#(6MrhI!IOF1N7;OhE8Es=@Kw7`+l0@a;2- zN()qX-c&sw?Tgx0Phak;)A8rfXP(SCB%y1^`*Rsc@H2j<1&+iPFf$=|ety$!V$WkK zkHic7P5GJgSv6~Ud_th!fGdU$fnWC*_!xm){N4b+GjKuwzC$~~C(Qq9@P3D&0C7y| za&q#^qtWjoOguM6dkKPF{S5Q_}2o=e9|wI{RMj;H>F& zvNL>sd*|BvCpn{UYU{jL*4mjq_(Ui6!U;~Ne#bkbo{{>+0+C z2kSaN?N`?sQ=H}WZj$B9x~q=!Maw$Qmn)Rh@do9zI!ifMCvPRe=b9OXRtJ>@jM9_c>?{%@7j;~C}r_ig1&$*SZ0^Yl8-{|v3;jQnXG z=eDJF&`x!npPi89OdXQtjGL9^4BL|BT-vOz)9;G9&Vb+6b*}xOt~0Y|J?HOt)pO2z ztDf`JS=r7HW@bB`c4j+gTvp%t{?hu+y4(iNs5=`t&ZiBW(bqI|Uf9~unKrPI6MdnP z^ZG@Nof$7Qc78FiiF0sk6X(TinmTnqYw9fg-=my0Cmikcf9hyw;P-NzS3b>gUi(!u zXVf{(ouUt#JI6o#9q01?Eu7Zz7S4>7$2c>KS~__>k9B75hg*M~bMDMsXTk8}opoJL zaOO5><@9{FmD7CfiO!N=w|0)6)W(^1aa-r|*6p0vKWXQT*>IB6|5xpu*RT7oGZOvS zy>SQU(YHD{jh39^JpR9@I{*6qY0myLPj~tsb%xXS!!w*MFLZPseY}%%@WKCa+Dz;0 zjJTnT(`-an=gup-IgJOO>3lKdEN9LSx;y8O>)~89t*5i+;j^9Juj=Le_TAo2uND#K zub1XKzr61pXYXt0I_I6%$60^pdCp58obN2V>H_DlFJI^k9eR&Bb{H&8{<6Q<3~>9cZE*lKTLMs&zkBya>s4Xq4%dd zukO9wQ7T$Rm*fur_XCU0jj7c?j;Z*aF?H2FvFO+bVyfHhm|FImnEJRl7A^Z@EPBtM zW6_VFh^fZQV$ru(#MBKXvFPH}vFM_8vFNoMV$oNgi>WU+#niSJV$s4EV`|;zSoHaq zV$r*|#G+ZHG1UXEE!_GoG1VGzU0;f+uYmW{zr~_!p2xE`#-gMD8jEgvHm3fw2IYyx zq61dOq7OY4Q@>ggQv)9d-lH+~-vzPg-+miY1#@E2l@G?E8}5rm@0t;d){Vy0jgw;P z(lIeL`-+$v+%Kl4_r$YKiK&h)W9rX!W2*a(618u2iJJFtiRv?|L^aDPQ4dU9rPS7* zs?QI5sp1X2)XPnKt544Et)kcVR&(y^t%`r!TdiBxTdBYGR@eU%X?uFBm+R-L?%&B% z3tPiKJx@K~Jx@*Ulczcj$W!~S%2O|2o2S+l!u=#qy?1Ax+H-fFYWe^^`!_pJT{$mL z{d_^5TE8$)Wi8HA1DEHi1+hGJ@Yy^y>iImic}t$^^ID!-vpr8;@GfY5kf*LM&r|jH zeyo=>fYlcD!X+=-Ptap>YWVu)QD=? zF{1v^Iik)!GooJV5mDoMM^wXeBI@xz5jFIJh*B3v)RIdhYRsUBYBMCF-n=rR=6ye+ zw*N4q9)UmN>WC^t+&_j!)Llrwe{e+o`+E^J6Yl45ufg4nxNDI1d*Ji{?(xVo2zj@H z#^R9?^~N<3b;WfN)&55j)n{TvJvj+^ZUMd9BGE6Rk?1RTg3gRcH0z#7^s4(K(X9_e z)U<~p(aYvURKIzV=-6W9`9nl?cq|fKwcbnzZLF>QMK;2s9JhoR29R`nio~m;C=*m)#Fjs7p^m0 zE?nJbqH1R>s$PRz1NWyFqiQDH6u9AV7r=FdYYw;XZ&CFQ++X4T4EGDTTi}Mn^@Tef zt{L3k7ozHIxaZ&=hkIyMRNV$w05=fsY`Bvii>fAYdlp93yK|yy3tSBDv7blP!*Da; zrra7;W8sEfA5{b3oU5a%JKPx;M^!tx++HZxX`lmFKNod@Qw{0R{~lKdVY)21x^UTW z_2C-AHG*rBi|@L@HG}&OTuZoIxK?m&;7)?;0CyT(r_+?`2G;|wH{7{!ec>*Ky9{m! z+|_U+dMPyq?gqG<;BJMx9c~8P{csP#&4c^H#Y#O6_Y~Y}xQ%e7aNFSi1@{r$7gs}u zg=;hn-xq{y19v)HcQ^;`Qn;(eDRnJeA>3_nKZpAj-0$I*z^#FM5$+AR_u)Q=tMenJ za^OycI~}ekTwl1$;fBNA0Cy|g&)|LuR}A+A+%rE02ZehB?tQpDaM?dWyTNt17i|M~ zA>5U4W8tR$MyY$@=EE(8`|Dp&Ke&(KvK~iUKciG6Z0jS#o`qMFRx^0fVfEWN>9c=&+;7HKhc5M(xC2TMdPe$lO z7pki+0-O)TR)G1Xzw-dEgRZ9jTB=S#xIG*%Pq*j@{JxyizYqQr&vUI?2jE#9aqI>3 znVscGkU{9!3mW3LDcsSM-^_#OUIlmjB}NBsaQ?HC|F-%srF-(|FzU~5tzJ22#LPdJ z&?$97U%;yo&ZEO-Eu(<`DMK*Yz^xEv;J@4IXEk;R%(=7kRV8$6XFks0 z6RP-G-ag5i^vl)HPrWlj2QGX58}+xGGjP%?C3H%?$v*M)!Rh`sR0aMvjy~W|k3M0g zZ?@7u^r!c!=kJ3)E&P3ida=A0-1(CTol<-2PQ{=r;=sdY_X)>-#aG4c#IE-C$+`zS z=F_o#-^+QS&%y^f=F?p>dg8=_Nqq|^PA-@@d1SY)>ii)iuPGceb!1mJc-{EI!byqn z_`)QxJ$ z4F%&1CXXI}-o$YeMo%7BI8j|W?&fjVj2l00@>COd+33jylg4?mCQMEi3&CWu5SC&g zD8*thQ7jizu}13pg3)78h_Qu=iK_q2?vuwCsLKj&zP{k*A9NkwIVG-JK-`%Dac2d@ zbq|Q^5fInY8`stS((+mOdT|fcQ%O7A{DbzWQ=(tm5AQ7TeGA7IPU?K&gmE|D%%+rR zjV_H;S^PvpRu(KTlku9_E& zyY9N8n=v#K6CtEWgVEDfGZ;HvHPc|Hsb(;Cx@r!&vEbUG@uMeot!zcpWk^@mbol8i zn-)J!b<^R8Rk&MKD{N;7tFVn9R^b%>r!ghwR3fuT$6;8nqsj!V7R^jedt+1UTtim>aScOyYLn>_JhgG;oRV!>~2&=G- zA6DTM{E!OU_@=@`3vQiUG^yaS(Kp^$Fv*pDhm4+Z@hB+K;GuTFN; z7}d#bnx2iiPO1g}p?UFWQSkt6t)LbPou2R=5m6D>uCZ}YvW*!XG1=o!(8b5i+^`o&0 MDvwobWH +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "demo.h" +#include "ResFont.h" +#include "HeapManager.h" + +#define UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result) \ + if(result.IsFailure()) \ + { \ + if(result != nn::am::ResultNotFound()) \ + { \ + return result; \ + } \ + nn::dbg::PrintResult(result); \ +} \ + +// リリースする際には↓をコメントアウトしてReleaseビルドすること +//#define USE_PROD_CIA + +namespace { + +nn::Result DeleteBoxyard(nn::ProgramId programId); +nn::Result DownGradeNupVersion(nn::cfg::CTR::CfgRegionCode region); +void FatalDrawing(nn::Result result); + +const size_t ERASE_THREAD_STACK_SIZE = 0x1000; +nn::os::Thread s_EraseThread; +nn::os::StackBuffer s_EraseThreadStack; + +demo::RenderSystemDrawing s_RenderSystem; + +// グラフィックスに割り当てるメモリ +const size_t s_GxHeapSize = 0x800000; + +::std::vector* s_pOperationMessage; + +// インポートする +bit8 s_ReadBuf[64 * 1024]; + +const nn::ProgramId BOXYARD_PROGRAM_ID[] = +{ + 0x0004001000023000ULL, // JP + 0x0004001000024000ULL, // US + 0x0004001000025000ULL // EU +}; + +const nn::ProgramId NUP_VERSION_PROGRAM_ID[] = +{ + 0x000400DB00016202ULL, // JP + 0x000400DB00016302ULL, // US + 0x000400DB00016102ULL // EU +}; + +const wchar_t* ROM_NUP_VERSION_PATH[] = +{ +#ifndef USE_PROD_CIA + L"rom:/000400DB00016202-0_0_0-nup.version.JP-UnfixedKey.cia", // JP + L"rom:/000400DB00016302-0_0_0-nup.version.US-UnfixedKey.cia", // US + L"rom:/000400DB00016102-0_0_0-nup.version.EU-UnfixedKey.cia" // EU +#ifdef NN_BUILD_RELEASE +#warning !! Using Development Nup Version cia on Release Build !! +#endif +#else +#ifndef NN_BUILD_RELEASE +#warning !! Using Product Nup Version cia on Development Build !! +#endif + + L"rom:/000400DB00016202-0_0_0-nup.version.JP.master.ols.cia", // JP + L"rom:/000400DB00016302-0_0_0-nup.version.US.master.ols.cia", // US + L"rom:/000400DB00016102-0_0_0-nup.version.EU.master.ols.cia" // EU +#endif +}; + +void EraseThreadFunc(nn::cfg::CTR::CfgRegionCode region) +{ + nn::Result result; + + s_pOperationMessage->push_back(std::string("")); + s_pOperationMessage->push_back(std::string("Deleting...")); + // BOXYARDを消去する + result = DeleteBoxyard(BOXYARD_PROGRAM_ID[region]); + if(result.IsFailure()) + { + nn::dbg::PrintResult(result); + s_pOperationMessage->push_back(std::string("Failed Delete Program")); + FatalDrawing(result); + } + s_pOperationMessage->push_back(std::string("Done.")); + s_pOperationMessage->push_back(std::string("")); + + s_pOperationMessage->push_back(std::string("Updating System...")); + // NUPバージョンを更新する + result = DownGradeNupVersion(region); + if (result.IsFailure()) + { + nn::dbg::PrintResult(result); + s_pOperationMessage->push_back(std::string("Failed DownGrade NUP Version")); + FatalDrawing(result); + } + + + s_pOperationMessage->push_back(std::string("Done.")); + s_pOperationMessage->push_back(std::string("")); + + s_pOperationMessage->push_back(std::string("Finished.")); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 0, 1, 0, 0); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 0, 1, 0, 0); +} + +nn::Result DownGradeNupVersion(nn::cfg::CTR::CfgRegionCode region) +{ + nn::Result result = nn::ResultSuccess(); + + if(region > sizeof(NUP_VERSION_PROGRAM_ID) / sizeof(NUP_VERSION_PROGRAM_ID[0]) - 1) + { + return nn::Result(nn::Result::LEVEL_STATUS, nn::Result::SUMMARY_INVALID_ARGUMENT, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_INVALID_ENUM_VALUE); + } + nn::ProgramID programId = NUP_VERSION_PROGRAM_ID[region]; + + // リージョンに合わせて削除する + result = nn::am::DeleteProgram(nn::fs::MEDIA_TYPE_NAND, programId); + UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result); + + nn::fs::FileOutputStream* stream; + result = nn::am::BeginImportProgram(&stream, nn::fs::MEDIA_TYPE_NAND); + NN_UTIL_RETURN_IF_FAILED(result); + + NN_LOG("Importing: %ls...", ROM_NUP_VERSION_PATH[region]); + nn::fs::FileInputStream in; + + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + NN_UTIL_PANIC_IF_FAILED( + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE)); + + result = in.TryInitialize(ROM_NUP_VERSION_PATH[region]); + NN_UTIL_RETURN_IF_FAILED(result); + + s64 fileSize = in.GetSize(); + s32 totalRead = 0; + s32 readSize = 0; + do + { + result = in.TryRead(&readSize, s_ReadBuf, sizeof(s_ReadBuf)); + stream->Write(s_ReadBuf, readSize); + totalRead += readSize; + } while (totalRead < fileSize); + + in.Finalize(); + nn::fs::Unmount("rom:"); + + result = nn::am::EndImportProgram(stream); + NN_UTIL_RETURN_IF_FAILED(result); + NN_LOG(" done.\n"); + + return result; +} + +nn::Result DeleteBoxyard(nn::ProgramId programId) +{ + nn::Result result; + + NN_LOG("Deleting Boxyard Program..."); + // リージョンに合わせて削除する + result = nn::am::DeleteProgram(nn::fs::MEDIA_TYPE_NAND, programId); + UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result); + NN_LOG("Done\n"); + + NN_LOG("Deleting Boxyard eTicket..."); + // チケットを削除する + result = nn::am::DeleteTicket(programId); + UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result); + NN_LOG("Done\n"); + + return result; +} + +void SetTextWriterCore() +{ + using namespace common; + + GetTextWriter()->Print("3DMovie Eraser\n\n"); + ::std::vector::iterator it; + for (it = s_pOperationMessage->begin(); it != s_pOperationMessage->end(); it++) + { + GetTextWriter()->Printf("%s\n", it->c_str()); + } + +} + +void FatalDrawing(nn::Result result) +{ + char resultStr[32]; + std::snprintf(resultStr, sizeof(resultStr), "%X", result.GetPrintableBits()); + s_pOperationMessage->push_back(resultStr); + + for(;;) + { + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 1.f, 0, 0, 0); + s_RenderSystem.Clear(); + + common::SetDrawTextHandler(SetTextWriterCore); + common::DrawResFont(NN_GX_DISPLAY0); + s_RenderSystem.SwapBuffers(); + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 1.f, 0, 0, 0); + s_RenderSystem.Clear(); + + s_RenderSystem.SwapBuffers(); + } +} + +} + +extern "C" void nnMain(void) +{ + // os の初期化 + nn::os::Initialize(); + + // fs の初期化 + nn::fs::Initialize(); + + // appletの初期化 + nn::applet::Enable( false ); + + // hid の初期化 + nn::Result result = nn::hid::Initialize(); + NN_UTIL_PANIC_IF_FAILED(result); + + // cfg の初期化 + nn::cfg::CTR::Initialize(); + + // リージョンの取得 + nn::cfg::CTR::CfgRegionCode region; + region = nn::cfg::CTR::GetRegion(); + + // am の初期化 + nn::am::InitializeForLocalImporter(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ResFontの初期化 + common::InitializeResFont(); + + std::vector operationMessage; + s_pOperationMessage = &operationMessage; + + operationMessage.push_back(std::string("Region: ") + std::string(nn::cfg::CTR::GetRegionCodeA3(region))); + + s_EraseThread.Start(EraseThreadFunc, region, s_EraseThreadStack); + + // ボタン入力 + nn::hid::PadReader padReader; + nn::hid::PadStatus padStatus; + + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 0, 0, 0, 0); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 0, 0, 0, 0); + + for(;;) + { + padReader.ReadLatest(&padStatus); + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); + + common::SetDrawTextHandler(SetTextWriterCore); + common::DrawResFont(NN_GX_DISPLAY0); + s_RenderSystem.SwapBuffers(); + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1); + s_RenderSystem.Clear(); + s_RenderSystem.SwapBuffers(); + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(10)); + + if ( nn::applet::IsExpectedToCloseApplication() ) + { + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); + } + + } +} diff --git a/tags/1stNUP/BoxyardEraser/romfiles/000400DB00016102-0_0_0-nup.version.EU-UnfixedKey.cia b/tags/1stNUP/BoxyardEraser/romfiles/000400DB00016102-0_0_0-nup.version.EU-UnfixedKey.cia new file mode 100644 index 0000000000000000000000000000000000000000..e00a27f39ee2fda11dcec032428e1879d84ae818 GIT binary patch literal 31488 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 ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardCup/CardCup.bsf b/tags/1stNUP/CardCup/CardCup.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 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 MDvwobWH +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "demo.h" +#include "scrollBuffer.h" + +namespace +{ + const int s_GxHeapSize=0x800000; + nn::fnd::ExpHeap s_appHeap; + uptr s_GxHeap; + + demo::RenderSystemDrawing s_RenderSystem; + ScrollBuffer s_scrollBufferInstance; + ScrollBuffer *s_scrollBuffer; + + char s_updaterBuffer[1<<20] NN_ATTRIBUTE_ALIGN(4096); + + // デモの初期化 + void Initialize() + { + // os の初期化 + nn::os::Initialize(); + + // NuiShellの初期化 (CUPに必須) + NN_UTIL_PANIC_IF_FAILED(nn::ns::CTR::InitializeForShell()); + + // ndmの初期化 + nn::ndm::Initialize(); + + // 全デーモンの自律動作をacの自動接続も含めて止める + nn::ndm::SuspendScheduler(); + + // amの初期化 + nn::am::InitializeForSystemMenu(); + + // fsの初期化 (カード確認用) + nn::fs::Initialize(); + + // appletの初期化 + //nn::applet::InitializeForSystem( nn::applet::PHOME_MENU_APPLET_ID, nn::applet::TYPE_SYS ); + //nn::applet::Initialize( nn::applet::TEST2_APPLET_ID); + //nn::applet::SetAppletMode(); + nn::applet::Enable(); + + nn::cfg::Initialize(); + + // デバイスメモリの設定 + const int DEVICE_MEMORY_SIZE = 12*1024 * 1024; + NN_UTIL_PANIC_IF_FAILED(nn::os::SetDeviceMemorySize(DEVICE_MEMORY_SIZE)); + + // ヒープの初期化 + s_appHeap.Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // 描画インスタンスの初期化 + s_GxHeap = reinterpret_cast(s_appHeap.Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(s_GxHeap, s_GxHeapSize); + + // 描画インスタンスの初期化 + s_scrollBufferInstance.Initialize(&s_RenderSystem); + s_scrollBuffer=&s_scrollBufferInstance; + + // GPU利用宣言 + nn::applet::AssignGpuRight(); + } + + // 消費時間取得用関数群 + s64 s_StartTick; + void SetTick() + { + s_StartTick=nn::os::Tick::GetSystemCurrent(); + } + s64 GetConsumedMillisec() + { + s64 endTick=nn::os::Tick::GetSystemCurrent(); + nn::os::Tick consumed(endTick-s_StartTick); + return ((nn::fnd::TimeSpan)consumed).GetMilliSeconds(); + } + + // 動いていることを知らせるための、くるくる画面表示取得用メソッド + const char s_progress[]="-\\|/"; + int s_progressIndex=0; + char GetProgressChar() + { + s_progressIndex=(s_progressIndex+1)%(sizeof(s_progress)-1); + return s_progress[s_progressIndex]; + } + + nn::Result UpdateCore() + { + nn::Result result; + nn::cup::ProgressInfo info; + + /********************** アップデート*******************/ + SetTick(); + s_scrollBuffer->AppendText("Start Card Update")->Render(); + NN_UTIL_RETURN_IF_FAILED(nn::cup::CTR::DoUpdate()); + + // ステータスがStartedになるまで、プログレスは取得できない + s_scrollBuffer->AppendText(""); + do{ + s_scrollBuffer->ReplaceText(" %c Initializing", GetProgressChar())->Render(); + result = nn::cup::CTR::GetProgressInfo(&info); + NN_UTIL_RETURN_IF_FAILED(result); + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(40)); + }while(info.state==nn::cup::CTR::UPDATE_STATE_INITIALIZING); + + // 抜けた際のstateがFAILEDかどうか確認 + if(info.state==nn::cup::CTR::UPDATE_STATE_FAILED){ + NN_UTIL_RETURN_IF_FAILED(info.lastResult); + } + s_scrollBuffer->ReplaceText(" - Initialized (%lldmsec)", GetConsumedMillisec()); + + /********************* アップデート中 ******************/ + SetTick(); + s_scrollBuffer->AppendText("")->Render(); + do{ + result = nn::cup::CTR::GetProgressInfo(&info); + NN_UTIL_RETURN_IF_FAILED(result); + s_scrollBuffer->ReplaceText(" %c Title %d/%d, size %lld/%lld", + GetProgressChar(), + info.numImportedTitles, info.numTotalTitles, + info.importedSize, info.totalSize)->Render(); + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(40)); + + }while(info.state==nn::cup::CTR::UPDATE_STATE_STARTED); + // 抜けた際のstateがFAILEDかどうか確認 + if(info.state==nn::cup::CTR::UPDATE_STATE_FAILED){ + NN_UTIL_RETURN_IF_FAILED(info.lastResult); + } + s_scrollBuffer->AppendText(" - Imported (%lldmsec)", GetConsumedMillisec())->Render(); + + /***************** アップデート終了中 ******************/ + SetTick(); + s_scrollBuffer->AppendText("")->Render(); + do{ + result = nn::cup::CTR::GetProgressInfo(&info); + NN_UTIL_RETURN_IF_FAILED(result); + s_scrollBuffer->ReplaceText(" %c Update Finalizing", GetProgressChar())->Render(); + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(40)); + }while(info.state==nn::cup::CTR::UPDATE_STATE_FINALIZING); + // 抜けた際のstateがFAILEDかどうか確認 + if(info.state==nn::cup::CTR::UPDATE_STATE_FAILED){ + NN_UTIL_RETURN_IF_FAILED(info.lastResult); + } + + /******************* アップデート終了 *******************/ + s_scrollBuffer->AppendText(" - Finalized (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText(""); + + return nn::ResultSuccess(); + } + + nn::Result UpdateSequence(bool *isHandledError) + { + nn::Result result; + nn::Result lastResult=nn::ResultSuccess(); + + /********************* CUPの初期化 *******************/ + s_scrollBuffer->AppendText("Initializing Cup Library")->Render(); + SetTick(); // 初期化開始前の時間をセット + result=nn::cup::CTR::Initialize(s_updaterBuffer,sizeof(s_updaterBuffer)); + if(result==nn::cup::CTR::ResultUpdatePartitionNotFound()){ + s_scrollBuffer->AppendText(" - Update Partition Not Found (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText("")->Render(); + *isHandledError=true; + return result; + } + if(result==nn::cup::CTR::ResultUpdateNotRequired()){ + s_scrollBuffer->AppendText(" - Already Updated (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText("")->Render(); + *isHandledError=true; + return result; + } + if(result==nn::cup::CTR::ResultInvalidUpdatePartitionFormat()){ + s_scrollBuffer->AppendText(" - Invalid Update Partition (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText("")->Render(); + *isHandledError=true; + return result; + } + NN_UTIL_RETURN_IF_FAILED(result); + + s_scrollBuffer->AppendText(" - Need Update (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText("")->Render(); + + lastResult=UpdateCore(); + + // Initializeに成功した場合のみ、再びInitializeするためにFinalizeが必要 + SetTick(); + s_scrollBuffer->AppendText("Finalizing Cup Library")->Render(); + NN_UTIL_RETURN_IF_FAILED(nn::cup::CTR::Finalize()); + s_scrollBuffer->AppendText(" - Complete (%lldmsec)", GetConsumedMillisec())->Render(); + s_scrollBuffer->AppendText("")->Render(); + + return lastResult; + } +} + +extern "C" void nnMain() +{ + NN_LOG("Start cup demo\n"); + nn::Result result; + Initialize(); + + nn::ProgramId MMEN_PROGRAM_ID = 0x0004003000008202; + + nn::cfg::CfgRegionCode region = nn::cfg::GetRegion(); + switch(region) + { + case nn::cfg::CFG_REGION_AMERICA: + { + MMEN_PROGRAM_ID = 0x0004003000008f02; + } + break; + + case nn::cfg::CFG_REGION_EUROPE: + case nn::cfg::CFG_REGION_AUSTRALIA: + { + MMEN_PROGRAM_ID = 0x0004003000009802; + } + break; + + case nn::cfg::CFG_REGION_JAPAN: + { + MMEN_PROGRAM_ID = 0x0004003000008202; + } + break; + } + + + nn::am::ProgramInfo outInfos; + result = nn::am::GetProgramInfos(&outInfos, nn::fs::MEDIA_TYPE_NAND, &MMEN_PROGRAM_ID, 1); + if (result.IsSuccess()) + { + + /******************** CUPの実行 *******************/ + bool isHandledError = false; + result = UpdateSequence(&isHandledError); + if (isHandledError == false && result.IsFailure()) + { + { + // それ以外の場合は、Resultを表示 + s_scrollBuffer->AppendText(" - Unhandled Error: 0x%08x", result.GetPrintableBits()); + s_scrollBuffer->AppendText("")->Render(); + } + } + } + else if(result == nn::am::ResultNotFound()) + { + s_scrollBuffer->AppendText("Cannot find Home Menu"); + } + + s_scrollBuffer->AppendText("")->Render(); + + for(;;) + { + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + if(result.IsSuccess() || result == nn::cup::CTR::ResultUpdateNotRequired()) + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 0, 1, 0, 1); + } + else + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 1, 0, 0, 1); + } + s_RenderSystem.Clear(); + s_RenderSystem.SwapBuffers(); + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1); + if(result.IsSuccess() || result == nn::cup::CTR::ResultUpdateNotRequired()) + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 0, 1, 0, 1); + } + else + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 1, 0, 0, 1); + } + s_scrollBuffer->ReplaceText("%c Finished", GetProgressChar())->Render(); + + if ( nn::applet::IsExpectedToCloseApplication() ) + { + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); + } + + } +} diff --git a/tags/1stNUP/CardCup/scrollBuffer.cpp b/tags/1stNUP/CardCup/scrollBuffer.cpp new file mode 100644 index 0000000..54de11e --- /dev/null +++ b/tags/1stNUP/CardCup/scrollBuffer.cpp @@ -0,0 +1,89 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: scrollBuffer.cpp + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include "scrollBuffer.h" + +using namespace std; + +char ScrollBuffer::s_buffers[MAX_BUFFER_LINE][MAX_BUFFER_CHARS]; + +char *ScrollBuffer::GetFormattedString(const char *fmt, va_list arg) +{ + static char formattedBuffer[MAX_BUFFER_CHARS]; + vsnprintf(formattedBuffer, MAX_BUFFER_CHARS, fmt, arg); + return formattedBuffer; +} + +ScrollBuffer *ScrollBuffer::Update() +{ + return this; +} + +ScrollBuffer *ScrollBuffer::AppendText(const char *fmt, ...) +{ + va_list vlist; + va_start(vlist, fmt); + + int nextPosition=(m_tail+1)%MAX_BUFFER_LINE; + if(nextPosition==m_head){ + // ヘッドとビューの移動 + if(m_head==m_currentView){ + m_currentView=(m_head+1)%MAX_BUFFER_LINE; + } + m_head=(m_head+1)%MAX_BUFFER_LINE; + + } + strlcpy(s_buffers[m_tail], GetFormattedString(fmt, vlist), MAX_BUFFER_CHARS); + m_tail=nextPosition; + NN_LOG("cup: %s\n", GetFormattedString(fmt, vlist)); + + // ビューの移動 + if((m_currentView+MAX_DISPLAY_LINES)%MAX_BUFFER_LINE==m_tail){ + m_currentView=(m_currentView+1)%MAX_BUFFER_LINE; + } + + return this; +} +ScrollBuffer *ScrollBuffer::ReplaceText(const char *fmt, ...) +{ + va_list vlist; + va_start(vlist, fmt); + + NN_ASSERT(m_tail!=m_head); + strlcpy(s_buffers[(m_tail-1)%MAX_BUFFER_LINE], GetFormattedString(fmt, vlist), MAX_BUFFER_CHARS); + + return this; +} + +void ScrollBuffer::Render() +{ + // 描画前処理 + m_render->SetRenderTarget(NN_GX_DISPLAY1); + m_render->Clear(); + m_render->SetColor(1.0f, 1.0f, 1.0f, 1.0f); + + // リングバッファなので、終端条件を調整 + int tail=(m_tailDrawText(0, (i-m_currentView)*FONT_SIZE, s_buffers[i%MAX_BUFFER_LINE]); + } + } + + // 描画転送 + m_render->SwapBuffers(); +} diff --git a/tags/1stNUP/CardCup/scrollBuffer.h b/tags/1stNUP/CardCup/scrollBuffer.h new file mode 100644 index 0000000..1d3563a --- /dev/null +++ b/tags/1stNUP/CardCup/scrollBuffer.h @@ -0,0 +1,55 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: scrollBuffer.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SCROLL_BUFFER_H_ +#define SCROLL_BUFFER_H_ + +#include "demo.h" +class ScrollBuffer +{ +private: + enum + { + MAX_BUFFER_LINE=128, + MAX_BUFFER_CHARS=80, + MAX_DISPLAY_LINES=20, + FONT_SIZE=12 + }; + // 表示文字のバッファ (リングバッファ) + static char s_buffers[MAX_BUFFER_LINE][MAX_BUFFER_CHARS]; + int m_head; + int m_tail; + int m_currentView; + + demo::RenderSystemDrawing *m_render; + + char *GetFormattedString(const char *fmt, va_list arg); + +public: + ScrollBuffer() : + m_head(0), m_tail(0), m_currentView(0) + {} + void Initialize(demo::RenderSystemDrawing *render) + { + m_render=render; + } + + ScrollBuffer *Update(); // キー入力を参照して、スクロールする + ScrollBuffer *AppendText(const char *fmt, ...); // 文字列を追加する + ScrollBuffer *ReplaceText(const char *fmt, ...); // 最新の文字列を置換する + void Render(); // レンダリング +}; + +#endif // SCROLL_BUFFER_H diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/Imp.rsf b/tags/1stNUP/CardSaveData/Mover/Imp/Imp.rsf new file mode 100644 index 0000000..a5ba6f1 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/Imp.rsf @@ -0,0 +1,18 @@ +BasicInfo: + Title : $(TITLE) + BackupMemoryType: None + Logo : Nintendo +# Companycode: "00" + ProductCode : "CTR-P-22MA" +# MediaSize: 2GB + +AccessControlInfo: + FileSystemAccess: + - Debug + +Rom: + HostRoot : $(ROMFS_ROOT) + +TitleInfo: + UniqueId: 0xf8015 + Version: 0 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/OMakefile b/tags/1stNUP/CardSaveData/Mover/Imp/OMakefile new file mode 100644 index 0000000..b16c825 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/OMakefile @@ -0,0 +1,69 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev: 31765 $ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +#demoライブラリ位置指定 +#SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir ../common/include) +#SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir ../CTR_SDK/sampledemos/common/include) +#INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) + + +SOURCES[] = + ./source/main.cpp + ../../common/test_data.cpp + ../../common/shfnt.cpp + ../../common/sleep.cpp + ../../common/common.cpp + +OBJECTS[] = + $`(ObjectFromBinary $(TARGET), ./Imp_list/key/Public_Key.der) + +TARGET_PROGRAM = CtrSaveDataMover_imp + +TITLE = CSM_imp + +LIBS += libnn_ps + +IMPORTEE_CIA = importee.cia + +SRC_IMPORTEE_PATH = ../body/images/$(BUILD_TARGET_DIR)/$(BUILD_TYPE_DIR)/CtrSaveDataMover.cia +#とりあえず、マスタリング時は直おき、配置時に改名 +#SRC_IMPORTEE_PATH = CtrSaveDataMover_master.cia + +# ビルドタイプ別に romfs を作る +#ROMFS_ROOT = $`(TARGET.getObjectDirectory)/romfsroot +ROMFS_ROOT = ./romfiles +DEST_IMPORTEE_PATH = $(ROMFS_ROOT)/$(IMPORTEE_CIA) +foreach(TARGET, $(BUILDER.getTargets $(SUPPORTED_TARGETS))) + $(DEST_IMPORTEE_PATH): $(SRC_IMPORTEE_PATH) $(makeDirectory $(ROMFS_ROOT)) + cp $< $@ +ROMFS_DEPENDENCIES = $(DEST_IMPORTEE_PATH) + +# プログラムから参照するためのROMFSのパスとプログラムIDを定義する +ROMFS_IMPORTEE_PATH = L\"rom:/$(IMPORTEE_CIA)\" +CCFLAGS += -DROMFS_IMPORTEE_PATH=$(ROMFS_IMPORTEE_PATH) + +ROM_SPEC_FILE = Imp.rsf +DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/repairtool.desc + +# バナー、アイコン +#CTR_BANNER_SPEC = banner.bsf +CTR_BANNER_SPEC = banner_null_icon.bsf + +include $(ROOT_OMAKE)/modulerules + +build: $(DEFAULT_TARGETS) + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner.bsf b/tags/1stNUP/CardSaveData/Mover/Imp/banner.bsf new file mode 100644 index 0000000000000000000000000000000000000000..a18d99e892c0d16bedb6a58da53b5bf30ea9b6b2 GIT binary patch literal 2362 zcmbVNO;5r=6r8Ij{s$7zeuQu^+ytya1qp>Sp_G)yB8XMvpI2uVONtP)k8B8Ac4pqZ z?d0+Ob&3W;1gPN5tqPyVc;=d7#a}}#xtnkoAVtRg36Al=ea@xlHcuDC7w2^xAu4HH z5W7ZHF+vqJobx%S?vvAM@H{c9)Nu7jr9%%f-DLmxD7zZ5>YN_rCE_l2UP7w8v6t9e zB_@8(^+~0OS|9BE-D&Bb`gD}AlJ2L@JKSB@beuW-klzzl-j5SApmv7W-*<4$$~l!o zS8=+Bw~a4wE#h;2cI#~82bj6uB6=UQ2i@$7yE*HxxtFCrrI`|$xSn6gOo^Uu`q|dj z-4wYg{OIkdH)-#p@6coFbdL$TB^OQh-yx$-UrU~^=tId>g&QKRoPhqVoLg41a@rV} zIpG0!&^+J{?(t~$*22)t=^ap~e?T2&LHP-p=ygIY39_@4Av;Scva^&UJ4;Ejvy>$} zOKGyRlqWk&iL$elDLbo3RgbeS;&eSSv{K=ZRvP@#N`XK62kf$c{{R30 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl b/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl new file mode 100644 index 0000000..3e85377 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl @@ -0,0 +1,274 @@ + + + + + + MetaData + + + + + + + + + ContentSummaries + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelDccToolInfo + + + OptimizationLogs + + + + + + + + + + + + Skeleton.Bones["*"].AnimatedTransform + + + + + + + IsVisible + + + Meshes["*"].IsVisible + + + IsBranchVisible + + + + + + + Materials["*"].MaterialColor.Emission + + + Materials["*"].MaterialColor.Ambient + + + Materials["*"].MaterialColor.Diffuse + + + Materials["*"].MaterialColor.Specular0 + + + Materials["*"].MaterialColor.Specular1 + + + Materials["*"].MaterialColor.Constant0 + + + Materials["*"].MaterialColor.Constant1 + + + Materials["*"].MaterialColor.Constant2 + + + Materials["*"].MaterialColor.Constant3 + + + Materials["*"].MaterialColor.Constant4 + + + Materials["*"].MaterialColor.Constant5 + + + Materials["*"].TextureMappers["*"].Sampler.BorderColor + + + Materials["*"].TextureMappers["*"].Texture + + + Materials["*"].FragmentOperation.BlendOperation.BlendColor + + + Materials["*"].TextureCoordinators["*"].Scale + + + Materials["*"].TextureCoordinators["*"].Rotate + + + Materials["*"].TextureCoordinators["*"].Translate + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 1 2 1 3 2 + + + + + + + +-12 -6 6.5 +12 -6 6.5 +-12 6 6.5 +12 6 6.5 + + 0 0 1 + +0 0 +1 0 +0 1 +1 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Textures["banner_imp"]@file:Textures/banner_imp.ctex + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DccToolSourceNode + + BONE_00 + + + + Shapes[0] + Materials["MT_00"] + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/Textures/banner_imp.ctex b/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/Textures/banner_imp.ctex new file mode 100644 index 0000000..83e936f --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/banner/BannerModel_imp/COMMON/Textures/banner_imp.ctex @@ -0,0 +1,17 @@ + + + + + + + + + + + + F5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QnlBeUJ5QXlBeUF5QXlBeUJ5QnlCeUF5QnlBeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5UnlSeVJ5UnlCeVJ5QnlSeVJ6UnlSelJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlSeUJ5UnlCeVJ5UnlSeVJ6UnpSelJ5UnpSeVJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelN6UnpTelJ6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pjelN6YnpSelJ6UnpSelN6U3pTelJ6U3pSelN6U3pTelN6U3pTelN6U3pTelN6Y3pjemN6Y3pTemN6U3pjemN6Y3pjemN6Y3pjemN6Y3pjemN6ZHpjemN6Y3pjemN6ZHpjemR7ZHpke2R7ZHtke2R7ZHtke2R7ZHtke2R7ZHtke3R7ZHtzemN6Y3pjemR6ZHtkemR7Y3pkemN6ZHpke2R7ZHtke2R7ZHtke2R7ZHtke3R7dHt0e2R7ZHtke3R7dHt0e3R7dHt0e3R7dHt0e3V7dXt1e3R7dHt0e3R7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8hXx1fIR7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1fIZ8hXyGfIV7dXyFe3V8hXyGfIZ8hnyFfIZ8hXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfJZ8h3yWfIZ8hnyGfIZ8l3yXfJd8lnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyHfJd8l3yXfJd8lnyHfJd8l3yXfJd8l3yXfZd8l3yXfJd8l3yXfZd9l32XfJd9l3yXfZd9l32XfZd9l32XfZd9l32YfZh9qH2ofad9mH2XfZh9qH2ofah9qH2nfJd9l32XfZd9l32XfZd9l32XfZd9l32XfZh9l32Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2pfah9qX6ofal+qX2pfql+uX65frl+uX6pfrl+qX65frl+uX65frh9qH2ofah9qX2pfql9qX6ofah9qH2pfal+qX65fql+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frp+uX65frl+uX65frp+un66frp+un66frp+un66fsp+yn7Kfrp+un66frp+yn7Kfsp+yX66frl+un66frp+un66frl+un66frp+un66frp+un7Kfrp+yn66fsp+yn7Kfsp+yn7Kfsp+yn7Kfsp/yn7Kf8p+yn7Kfsp+yn/Kf8p/y3/Kfsp/yn/Kf8p/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Kf8p/yn/Lf8t/y3/Lf8t/yn/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/23/Lf8t/y3/bf9t/23/bf9t/y3/bf8t/23/bf9t/23/bf9t/23/bf9t/3H/bf9x/23/bf9t/23/cf9x/3H/cf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/cf9t/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/cf9x/3H/cf9x/3H/cf9t/3H/cf9x/3H/bf9t/23/bf9t/23/bf9t/23/bf8t/y3/Lf9t/23/bf8t/y3/Lf8t/zH/bf9x/23/bf9t/23/bf9t/23/bf9t/23/bf8t/23/Lf9t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y37Lf8t/y3/Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lf8t/y3/Lfst+y37Lfst+y37Lfst/y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Kfsp+yn7Kfsp+u37Kfsp+yn7Kfsp+un7Kfrt+y37Lfst+y37Lfst+yn7Lfst+y37Lfst+yn7Kfsp+yn7Kfsp+yn7Kfrp+un66frp+yn66fsp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp9un26fbp9un26frp9un26fbp9un26fbp9un66frp+un66frp9un66fbp+un66frp+un66fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un25fbp9un26fbp9un25fbp9uX26fbp9un26fbl9uX25fbl9uX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2qfbl9uX25fbl9uX2pfbl9qX25fbl9uX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfKl9qX2pfal9qX2pfKl9qXypfKl8qXypfKh8qHyofKh8qXyofKh8qHyofKh8mHyofJl9qX2pfal9qXypfKl8qHypfal8qX2pfKl8qHypfKh8qHyofKh8qHyofKh8mHyYfJh8qHyYfKh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yYfJd8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yXfJd7mHyYfJh8l3yXfJd7l3uXe4d8l3uXfJd7l3uXe4d7l3uHe5d7l3uXe5d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe5d7h3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z7h3uHe4d7h3uGe4Z7hnuGe4d7hnuHe4Z7hnuGe4Z7hnuGe4Z7hnuGe3Z6dnp2enZ6dnt2enZ7dnp2enZ6dnp2end7hnuGe4Z7hnuGe3Z7hnp2e4Z7hnuGe4Z7dnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enZ6dXp1enV6dXp1enV6dXplenV6dXp1enV6dXplenV6Znp2enZ6dnp2enV6dXp1enZ6dnp2enV6dXp1enV6dXp1enV6dXp1emV6ZXplemV6ZXp1emV6ZXplemV6ZXplemV6ZXplemV6ZXpleWV5ZXllemV5ZXplemV5ZXlleWV5ZXlleWV5ZXlleWR5ZHlkeWV5ZXlleWV5ZHlkeWR5ZHllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VHlkeWR5ZHlkeWR5VHlUeVR5ZHlkeWR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeVR5VHlUeVR5VHlUeFR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHhTeFR5VHhUeVR4VHhTeFR4U3hUeFR4VHhTeFN4U3hTeFN4VHhTeFR4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeEN4Q3hDeFN4U3hTeEN4Q3hDeEN4Q3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hDeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hCeEJ4QnhCeEN4QnhDeEJ4QnhCd0J4QndDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4Q3hCeEJ4QnhCeEJ3QndCd0J3QndCeEJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QndCd0J3QndCdzJ3Qncyd0J3QndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXcxdzF3MXcydzJ3MncxdzF3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MXcydzF3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXcxdjF3MXcxdzF2MXcxdjF2MXYxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXYxdjF2MXYxdjF2MXcxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdiF2MXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdjF2IXYhdiF2IXYhdjF2IXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYheUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlCeUJ5QnlBeUJ5QXlCeUJ5QnlCeUJ5QXlBeUF5QXlBeUF5QXlBeUF5QXlBeUF5QXlCeUF5QnlBeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlCeVJ5QnlCeUJ5QnlSeVJ5UnlSeUJ5UnlCeVJ5UnlSeVJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6U3pSeUJ5UnlSeVJ6UnpSelJ6UnlSelJ5UnpSelJ6UnpSelJ6UnpSelJ6U3pTelN6U3pSelJ6UnpTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pTemN6U3pjemN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pjemR6Y3pkemN6U3pTelN6U3pTemN6Y3pjelN6U3pTemN6Y3pjemN6Y3pjemN6Y3pkemR6ZHpke2N6ZHpjemR6ZHtke2R7ZHtkemR6ZHpke2R7ZHtke2R7ZHpke2R7ZHtke2R7ZHtke3R7ZHt0e3R7dHt1e3R7dXt0e3R7dHt0e3V7dXt1e3V7dHtke2R7ZHtke2R7dHt0e3R7ZHtke2R7dHt0e3R7dHt0e3V7dHt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXyFe3V8hXyGfIV8hnyGfIZ8hnyGfIV8hnyGfIZ8hnyGfIZ8hnyFe3V7dXt1e3V8hXyFfIZ8hXt1fIV7dXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyHfJZ8hnyGfIZ8hnyHfJd8l3yXfJd8l3yXfJd9l32XfZd9l3yXfZd8l32XfZd9l32XfZZ8hnyGfId8l3yXfJd8l3yWfJd8lnyXfJd8l32XfJd9l3yXfZd9l32XfZd9l32XfZd9l32XfZd9l32YfZd9mH2nfZd9l32YfZh9mH2ofah9p32YfZd9mH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX2ofal9qH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX6pfal+qH2ofah9qX2pfql+uX6pfrh9qX6pfal+qX65frl+uX65fql+uX6pfrl+uX65frl+uX65frl+uX65frl+uX66frl+uX65frl+uX66frp+un65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frp+un66frp+un65frp+un66frp+un66frp+un66frp+un66frp+yn66fsp+un66frp+un7Kfsp+yn7Kfsp+yn7Kfsp/yn/Kf8t/yn7Kf8p+yn/Kf8t/yn/Lf8p+un7Kfsp+yn7Kfsp+yn/Kfsp+yn7Kfsp+yn/Kfsp/yn/Kf8p/y3/Lf8t/y3/Lf8p/y3/Kf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf9t/23/bf8t/23/Lf9t/23/bf9t/23/Lf8t/y3/Lf8t/y3/Lf9t/y3/Lf8t/y3/Lf9t/y3/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/cf9t/3H/bf9t/23/bf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9x/23/cf9x/3H/cf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/23/bf9x/3H/cf9x/3H/bf9t/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/cf9t/23/bf9t/23/bf9t/23/bf9t/23/Lf9t/y3/bf9t/23/bf9t/y3/Lf8t/23/Lf9t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y37Lfst/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst+y37Lfst/y37Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+yn7Kfst+y37Lfsp+yn7Kfsp+yn67fsp+yn7Kfsp+yn66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66fsp+yn7Kfsp+un66frp+un7Kfrp+yn66frp+un66frp+un66frp+un66frp+un26frp+un66frp+un26fbp9un66frp+un26fbp9un26fbp+un26frp9un26fbp9un26fbp9un26fbp9uX25fbl9un26fbp9uX25fbl9uX25fap9un26fbp9un26fbp9un26fbp9un26fbp9un26fbl9un25fbp9uX25fbl9qX25fal9uX25fbl9qX2pfal9qX2pfbl9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qXypfal8qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qXypfKl8qX2pfKl9qXypfKh8qXyofKl8qXypfKl8qHyofKh8qHypfKh8qXyofKh8qHyofKh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfKh8qHyofKh8qHyYfJh8mHyofJh8qHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yYfJd7l3yXe5d7l3uHe5d7h3yXe5d7l3uHe4d7h3uHe4h8mHyYfJh8mHyXe5d8l3uYfJh8mHyXfJd7l3uXe5d7h3uXe4d7l3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuGe4Z7hnuHe4Z7h3uGe4Z7hnuGe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuHe4Z7hnuGe4Z7hnuGe4Z7dnuGe4Z7hnuGe4Z6dnp2enZ7hnt2e4Z6dnp2enZ6dnp2e3Z6dnt2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enV6dXp2enZ6dnp1enV6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXp1emV6dXplemV6ZXplemV6ZXllemV5ZXplemV6ZXpleWV5ZXlleWV6dXp1enV6ZXplemV6ZXplenV6ZXplemV6ZXplemV5ZXpleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHlleWV5ZXlleWV5ZHlleWR5ZXlleWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeVR5VHlUeWR5ZHlkeVR5VHlUeVR5VXlkeWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHhUeVR4VHhUeFR4VHhTeFN4U3hTeFR4U3hUeFN4U3hTeFN4U3hUeVR5VHlUeVR5VHhUeFR4VHlUeVR5VHhUeFN4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hTeFN4U3hTeFN4Q3hDeEN4U3hTeFN4U3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhDeEN4Q3hDeEN4QnhCeEJ4Q3hCeEN4QnhCeEJ3QndCd0J4QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QnhCeEJ4QnhCeEJ3QndCd0J4QndCeEJ3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCd0J3QndCdzJ3MncydzJ3Qncyd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzF3MncydzJ3MncydzF3MXcxdzJ3MncydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF2MXcxdzF3MXcxdjF2MXcxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdjF2IXcxdjF3MXYxdjF2MXYxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2IXYxdiF2MXYxdjF2MXYxdiF2IXYhdiF2MXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXlBeUF5QXlBeUJ5QnlCeUF5QXlBeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5UnlSeVJ5UnlCeUJ5QnlSeVJ5UnlSelF5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5QnlCeUJ5UnlCeVJ5UnlSelJ6UnpSelJ5UnlSeVJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpTelJ6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6YnpSelJ6UnpTelN6U3pTelJ6UnpSelN6U3pTelN6U3pTelN6U3pTelN6Y3pjemN6Y3pTelN6U3pjemN6Y3pjemN6U3pjemN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pjemR6ZHpke2R6ZHtke2R7ZHtke2R7ZHtke2R7ZHtke2R7ZHtzemN6Y3pjemR6ZHpkemR6Y3pjemN6ZHpkemR7ZHpke2R7ZHtke2R7ZHtke3R7ZHt0e2R7ZHtke3R7dHt0e3R7dHtke3R7ZHt0e3V7dHt1e3R7dHt0e3R7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8hXt1fIR7dXt0e3V7dXt1e3V7dXt0e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1fIV8hXyGfIV7dXx1e3V8hXyGfIZ8hnyFfIV8hXyGfIZ8hnyGfIZ8hXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8h3yWfIZ8hnyGfIZ8l3yXfJd8lnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfJd8l3yXfJd8lnyHfJZ8l3yXfJd8l3yXfZd8l3yXfJd8l32XfZd9l32XfJd8l3yXfZd9l32XfZd9l32XfZd9l32YfZh9qH2ofad9mH2XfZh9qH2ofah9qH2nfJd9l32XfZd9l32XfZd9l32XfZd9l32XfZh9l32Yfah9mH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX2ofal+qX2pfql+uX65frl+uX2pfql+qX65frl+uX65frh9qH2ofah9qH2pfql9qX6ofah9qH2pfal9qX6pfql+uX6pfrl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frp+uX65frl+uX65frp+un66frp+un66frp+un66fsp+un7Kfrp+un66frp+yn7Kfsp+yX65frl+un66frp+un66frl+un65frp+un66frp+un66frp+yn7Kfsp+yn7Kfsp+yn7Kfsp+yn7Kfsp+yn7Kf8p+yn7Kfsp+yn/Kf8p/y3/Kfsp/yn7Kf8p/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Kf8p/yn/Lf8t/y3/Lf8t/yn/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf8t/23/Lf8t/y3/Lf9t/23/bf9t/y3/bf8t/23/bf9t/23/bf9t/23/bf9t/3H/bf9t/23/bf9t/23/bf9x/3H/cf9t/y3/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/cf9x/3H/cf9x/3H/bf9t/23/bf9t/23/bf9t/23/bf8t/y3/Lf9t/23/bf9t/23/Lf8t/zH/cf9x/3H/bf9t/23/bf9x/23/bf9t/23/bf9t/23/bf9t/y3/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lf8t+y3/Lfst+y37Lfst+y3/Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Kfsp+yn7Kfsp+u37Kfst+yn7Kfsp+un7Kfrt+y37Lfst+y37Lfst+yn7Lfst+y37Lfst+yn7Kfsp+yn7Kfsp+yn66frp+un66frp+yn66fsp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp9un26fbp9un26frp9un26fbp9un26fbp9un66frp+un66frp+un66fbp+un66frp+un66fbp+un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un25fbp9uX26fbp9un25fbl9uX25fbl9uX25fal9uX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2qfbl9un25fbl9uX2pfbl9qX25fbl9uX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfKl9qXypfKl8qXypfKh8qHyofKh8qXyofKl8qHyofKh8mHyofJl9qX2pfal9qX2pfKl8qXypfal8qX2pfKl8qHypfKh8qXyofKh8qHyofKh8mHyYfJh8qHyYfKh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJd8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yXfJd7mHyYfJh8mHyXfJd7l3uXe5h8l3yXfJd7l3uXe4d7l3uHfJd7l3uXe5d7l3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe5d7l3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z7hnuGe4d7h3uHe4Z7hnuGe4Z7hnuGe4Z7dnuGe3Z6dnp2enZ6dnuGenZ7dnp2enZ6dnp2end7hnuHe4Z7hnuGe3Z7hnt2e4Z7hnuGe4Z7hnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enZ6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXplenV6Znp2enZ6dnp2enV6dXp1enZ6dnp2enV6dXp1enV6dXp1enV6dXp1emV6dXplemV6ZXp1emV6dXplemV6ZXplemV6ZXplemV6ZXpleWV5ZXllemV6ZXplemV5ZXlleWV5ZXlleWV5ZXlleWR5ZXlkeWV5ZXlleWV5ZHlkeWR5ZHllemV5ZXpleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VHlkeVR5ZHlkeWR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeFR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHhUeFR5VHlUeVR5VHhTeFR4U3hUeVR4VHhUeFN4U3hTeFN4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeEN4U3hDeFN4U3hTeEN4Q3hDeEN4Q3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4QnhCeEN4QnhDeEJ4QnhCeEJ4QndDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hCeEJ4QnhCeEJ3QndCd0J3QndCeEJ3QnhCd0J3QndCd0J3QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3MndCdzJ3MncydzJ3MndCdzJ3MncydzJ3MncydzJ3QndCd0J3QndCdzJ3Qncyd0J3QndCd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXcxdzJ3MXcydzJ3MncydzF3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXcydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXcxdjF3MXcxdzF3MXcxdjF2MXYxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXYxdjF2MXYxdzF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2IXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdjF2MXYxdiF2IXYxdjF2MXYxdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYhdjJ5QnlCeUJ5QnlCeVJ5UnlSeUJ5QnlCeUJ5UnlSeVJ6UnlSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6U3pSeUJ5UnlSeVJ5UnpSelJ6UnlSeVJ5UnpSelJ6UnpSelJ6UnpSelJ6UnpTelN6U3pSelJ6UnpSelN6U3pTelN6UnpTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pjelN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pjemR6Y3pkemN6U3pTelN6U3pTemN6U3pjelN6U3pTelN6Y3pjemN6Y3pjemN6Y3pkemR6ZHpkemN6ZHpjemR6ZHpke2R7ZHtjemR7ZHpke2R7ZHtke2R7ZHpke2R7ZHtke2R7ZHtke2R7ZHt0e2R7dHt1e3R7dXt0e3R7dHt0e3V7dXt1e3V7dHtke2R7ZHtke2R7dHtke3R7ZHtke2R7ZHt0e3R7dHt0e3R7dHt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXx1e3V8hXuFfIV8hnyGfIZ8hnyGfIV8hnyGfIZ8hnyGfIZ8hnyFe3V7dXt1e3V8dXyFfIV8hXt1e3V7dXyFfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyHfJZ8hnyGfIZ8hnyHfJZ8l3yXfJd8l3yXfJd8l32XfZd9l3yXfJd8l32XfZd9l32XfZZ8hnyGfId8l3yXfJd8l3yWfId8lnyHfJd8l3yXfJd8l3yXfZd8l32XfZd9l32XfZd9l32XfZd9l32YfZd9mH2XfZd9l32XfZh9mH2ofZh9p32YfZd9mH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2Yfah9mH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX2ofal+qH2ofah9qX2pfql+qX6pfrh9qX2ofal+qX6pfrl+uX65fql+qX6pfrl+uX65frl+uX65frl+uX65frl+uX66frl+uX65frl+uX66frp+un65fql+uX6pfrl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frp+un66frp+un65frp+uX66frp+un66frp+un66frp+un66frp+yn66fsp+un66frp+un7Kfsp+yn7Kfsp+yn7Kf8p/yn/Kf8t/yn7Kfsp+yn/Kf8t/yn/Lf8p+un66frp+yn7Kfsp+yn7Kfsp+yn7Kfsp+yn7Kfsp/yn/Kf8p/yn/Lf8t/y3/Lf8p/y3/Kf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf9t/23/bf8t/y3/Lf9t/23/bf9t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf8t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/cf9t/3H/bf9t/23/bf9t/3H/bf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9t/23/cf9x/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/23/cf9x/3H/cf9x/23/bf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/bf9x/23/bf9t/23/bf9t/23/bf9t/23/bf9t/y3/bf9t/23/bf9t/y3/Lf8t/23/bf9t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y37Lfst+y37Lfst/y37Lf8t+y37Lfst+y37Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+y37Kfst+y37Lfst+y37Kfsp+yn7Lfsp+y37Kfsp+yn66fsp+un7Kfrp+un66frp+un66frp+un66frp+un66frp+un66fsp+yn7Kfsp+un66frp+un7Kfsp+yn66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66fbp9un66frp+un26fbp9un26fbp+un26frp9un26fbp9un26fbp9un26fbp9uX26fbl9un26fbp9uX25fbl9uX25fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un25fbp9uX25fbl9qX25fap9uX25fbl9uX2pfal9qX2pfbl9uX25fal9qX2pfal9qX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qXypfal8qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qXypfKl8qX2pfal9qX2pfKl8qXyofKl8qXypfKl8qHyofKh8qHypfKl8qXyofKh8qHyofKh8mHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyZfKh8qHyofKh8qHyYfKh8mHyofKh8qHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yYfJd8l3yXe5d7l3uXe5d7h3yXe5d7l3uXe4d7h3uHe4h8mHyYfJh8mHyXfJd8l3uYfJh8mHyYfJd8l3uXe5d7l3uXe4d7l3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uGe4Z7hnuHe4d7h3uHe4Z7hnuGe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuHe4Z7h3uGe4Z7hnuGe4Z7dnuGe4Z7hnuGe4Z6dnt2enZ7hnuGe4Z6dnp2enZ6dnp2e4Z7dnt2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enV6dXp2enZ6dnp2enV6dXp1enV6dnp1enZ6dXp1enV6dXp1enV6dXp1enV6dXp1emV6dXplemV6ZXplemV6ZXpleWV5ZXplemV6ZXlleWV5ZXlleWV6dXp1enV6dXplemV6ZXplenV6dXp1emV6ZXplemV6ZXplemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHlleWR5ZXlleWV5ZXlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5ZHlkeWR5VHlUeVR5VXlkeWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VHlkeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeFR5VHhTeFN4U3hTeFR4U3hTeFN4U3hTeFN4U3hUeVR5VHlUeVR5VHhUeFR4VHlUeVR5VHhUeFR4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hTeEN4U3hTeFN4U3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhDeEN4Q3hDeEN4QnhCeEJ4Q3hDeEN4QnhCeEJ4QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Q3hCeEJ4QnhCd0J3QndCd0J4QndCeEJ4QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCd0J3QndCd0J3MncydzJ3QndCd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzF3MncxdzJ3MncydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2IXcxdzF3MXYxdzF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2IXYxdjF2IXYxdiF2MXYxdiF2IXYhdiF2IXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdjF2MXYhdjF2IXYxdjF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdzF2MXcyeVJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpSelJ6UnpTelJ6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6YnpSelJ6UnpSelN6UnpTelJ6UnpSelJ6U3pTelN6U3pTelN6U3pTelN6U3pjelN6Y3pTelN6U3pTemN6Y3pjemN6U3pjemN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pjemR6ZHpkemR6ZHtke2R7ZHtke2R6ZHtke2R7ZHtke2R7ZHtjemN6Y3pjemN6ZHpkemR7Y3pjemN6ZHpkemR7ZHtke2R7ZHtke2R7ZHtke3R7ZHt0e2R7ZHtke2R7dHt0e3R7dHtke3R7ZHt0e3R7dHt1e3R7dHt0e3R7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8dXt1fIR7dHt0e3V7dXt1e3V7dXt0e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1fHV8hXyGfIV7dXt1e3V8hXyGfIZ8hnyFfHV8hXyFfIZ8hnyGfIZ8hXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyWfIZ8hnyGfIZ8h3yWfId8lnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfJd8l3yXfJd8lnyHfJZ8h3yXfJd8l3yXfJd8l3yXfJd8l3yXfZd9l32XfJd8l3yXfZd9l32XfZd9l32XfZd9l32YfZh9qH2Yfad9mH2XfZh9mH2ofah9qH2nfJd9l32XfZd9l32XfZd9l32XfZd9l32XfZh9l32YfZh9mH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qX2pfql+qX65frl+uX2pfql+qX65frl+uX65frh9qH2ofah9qH2pfah9qX6ofah9qH2ofal9qX6pfql+uX6pfrl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frp+uX66frp+un66frp+un66fsp+un7Kfrp+un66frp+un7Kfsp+yX65frl+un66frp+un66frl+un65frp+un66frp+un66frp+yn66fsp+yn7Kfsp+yn66fsp+yn7Kfsp/yn7Kf8p+yn7Kfsp+yn/Kf8p/yn/Kfsp+yn7Kf8p/y3/Kf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Kf8p/yn/Kf8t/y3/Lf8t/yn/Lf8p/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/23/Lf8t/y3/Lf8t/23/bf9t/y3/Lf8t/23/bf9t/23/bf9t/23/bf9t/23/bf9x/23/bf9t/23/bf9x/3H/cf9t/y3/bf8t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/cf9t/3H/cf9x/3H/bf9t/3H/bf9t/23/bf9t/23/bf8t/23/Lf9t/23/bf9t/23/Lf8t/zH/cf9x/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/y3/bf9t/y3/Lf8t/y3/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y37Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lf8t/y3/Lfst+y37Lfst+y3/Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Kfsp+yn7Kfsp+y37Lfst+yn7Kfsp+yn7Kfrt+y37Lfst+y37Lfst+y37Lfst+y37Lfst+yn7Lfsp+yn7Kfsp+yn7Kfsp+un66frp+yn66fsp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un26fbp9un26frp9un26fbp9un26fbp9un66frp+un66frp+un66frp+un66frp+un66fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9uX26fbp9un26fbl9uX25fbl9uX25fbl9uX2pfal9qX2pfal9uX2pfal9qX2pfal9qX2qfbl9un25fbl9uX2pfbl9qn25fbl9uX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qXypfKl8qXypfKh8qHyofKh8qXypfKl8qHyofKh8qHyofJl9qX2pfal9qX2pfKl8qXypfal8qX2pfKl8qXypfKh8qXyofKh8qHyofKh8mHyYfJh8qHyofKh8qHyYfJh8mHyYfKh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJd8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yYfJd7mHyYfJh8mHyXfJd7l3uXe5h8l3uXfJd7l3uXe5d7l3uHfJd7l3yXe5d7l3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe5d7h3uXe4d7h3uHe4d7h3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z7hnuGe4d7h3uHe4Z7hnuGe4Z7hnuGe4Z7hnuGe3Z6dnp2enZ6dnuGe3Z7hnp2enZ6dnp2end7hnuHe4Z7hnuGe4Z7hnuGe4Z7hnuGe4Z7hnt2e3Z6dnt2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXp1enV6Znp2enZ6dnp2enV6dnp1enZ6dnp2enZ6dXp1enV6dXp1enV6dXp1enV6dXplemV6ZXp1enV6dXplemV6ZXplemV6dXplemV6ZXpleWV6ZXllemV6ZXplemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWV5ZXlleWV5ZHlkeWR5ZHllemV5ZXpleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VHlkeVR5ZHlkeWR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5ZHlkeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeFR5VHlUeVR5VHhTeFR4U3hUeVR4VHhUeFN4U3hTeFN4VHhTeFR4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hDeFN4U3hTeFN4U3hDeEN4Q3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeEN4Q3hDeEN4Q3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4Q3hCeEN4Q3hDeEJ4QnhCeEJ4QndDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4QnhCeEJ4QnhCd0J3QndCeEJ4QnhCeEJ3QndCd0J3QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3MndCdzJ3MncydzJ3MndCdzJ3QncydzJ3MncydzJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MXcydzF3MncydzJ3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzF3MXcxdzF3MXcxdzF3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXYxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXYxdjF2MXYxdjF2MXcxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdiF2MXYhdjF2MXYxdjF2IXYhdiF2IXYxdiF2IXYhdiF2IXYhdiF2MXYxdjF2MXYxdiF2MXYhdjF2MXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdjF2MXYxdiF2MXYhdjF2MXYxdjF2MXYxdjF2MXcxdzF3MXcxdzF2MXcxdzF3MXcydzF3MncxdiF2MXYxdjF2MXYxdjF3MXYxdjF2MXYxdjF3MXYxdzF2MXcxdzF3MncydzJ3MncxdzJ3MXcydzJ3MncydzJ3MnpTelN6U3pTelN6U3pTelN6U3pTelN6U3pTelN6U3pjelN6Y3pTemN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pkemN6U3pTelN6U3pTemN6Y3pjelN6U3pTelN6Y3pjemN6Y3pjemN6Y3pjemR6ZHpke2N6Y3pjemN6ZHpke2R6ZHtjemR6Y3pke2R7ZHtke2R7ZHpke2R7ZHtke2R7ZHtke2R7ZHt0e2R7dHt0e3R7dXt0e2R7dHt0e3R7dXt1e3V7dHtke2R7ZHtke2R7dHtke3R7ZHtke2R7ZHt0e3R7dHt0e3R7dHt1e3V7dXt1e3V7dHt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8hXt1fIV8hnyGfIZ8hnyGfIV8hnyFfIZ8hnyGfIZ8hnyFe3V7dXt1e3V7dXyFe3V8hXt1e3V7dXyFfIZ8hXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfJZ8hnyGfIZ8hnyHfJZ8l3yXfJd8l3yXfJd8l32XfZd9l3yXfJd8l32XfZd9l32XfZZ8hnyGfIZ8hnyXfJd8l3yWfIZ8lnyHfJd8l3yXfJd8l3yXfZd9l32XfZd9l32XfZd9l32XfZd9l32XfZd9mH2XfZd9l32XfZd9mH2ofZh9p32XfZd9mH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9p32Yfah9mH2ofah9qH2ofah9qH2ofaeKiH2ofaa2VrVYfah9qH2ofah9qX2ofal9qH2ofaa1VrVZfal+qIuJfah9qX2ofal+qX6pfrl+qX65fal+qX6pfrl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX66frl+un65fql+uX6pfrl+uX65frl+uX65frl9qX65frl+uYynmXl+uX65frl+un66frp+un65frp+trVWtVp+un62tVa1Wn66frp+un66frp+yn66fsp+un66frp+un66fsp+yn7Kfsp+yn7Kfsp+yn/Kf8p/yn7Kfsp+yn/Kf8t/yn/Lf8p+un66frp+yn7Kfsp+yn7Kfrp+x7VXtmp+yn7ImYp+yn7Kf8p+yn/Kf8t/y3/Lf8p/yn/Kfsp+y3/Lf8mamJmKf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf9t/y3/bf8t/y3/Lf8t/23/bf9t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/ImYiZi3/Lf8mZiZmLf8t/23/bf9t/23/bf9t/23/bf9mZiZqbf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9t/23/bf9x/3H/cf9x/23/cf9t/23/cf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/ZmZe2bH/cf9x/3H/cf9x/3H/cf9x/3H/Xtme2bH/cf9i2aoysf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/bf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/23/bf9t/23/cf9t/23/bf9t/23/bf9t/3H/bf9t/23/bf9t/23/Lf8t/23/bf9t/23/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y3/Lfst/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst/y37Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+y37Kfst+y37Lfst+y37Kfsp+yn7Lfsp+y37Kfsp+yn66fsp+yn7Kfrp+un66frp+un66frp+un66frp+un66frp+un67fsp+yn7Kfsp+un66frp+un7Kfsp+yn66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un26frmMqn66frp+un66fbp9un26fbp+un26frp9un26fbp9un26fbp9un26fbp9uX26fbl9un26fbp9un26fbl9uX25fbp9un26fbp9un26fbp9un26fbp9uJh4mHp9un24mHiYen26fbp9uX25fbl9uX25fap9uX24mHl9qX25fal9qX2pfbl9uX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qXypfal8qX2pfal9qX2pfKl8qXyofKl8qXypfal8qHyofKh8qHypfKl8qXypfKh8qHyofKh8qHyofJh8qHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyZfKh8qHyofKh8qHyYfKh8mHyofKh8qHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJd8mHyXfJd7l3uHe5d7h3yXe5d7l3uXe4d7h3uHe4h8mHyYfJh8mHyXfJh8l3uYfJh8mHyYfJd8l3uXe5d7l3uXe5d7l3uHe4d7h3uHe4d7l3uHe5d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uGe4d7hnuHe4d7h3uHe4Z7hnuGe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z7h3uGe4Z7hnuGe4Z7h3uGe4Z7hnuGe4Z7dnuGe3Z7hnuGe4Z7hnt2enZ6dnp2e4Z7dnuGenZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enZ6dXp2enZ6dollllZ6dXp1llWWVnp1enZ6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXplemV6ZXplemV6ZXplemV5ZXplemV6ZXplemV5ZXlleWV6dXp1enV6dXp1emV6ZXplenV6dYllemV6ZXpleWV5ZXplemV6ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWWXVZZFeWV5ZXlleWV5ZHlleWR5ZXlleWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeVR5ZHlUeWR5ZHlkeWR5VHlUeVR5VXlleWV5ZHlkeWR5ZHlkeWR5ZHlllkWHVHlkeWR5ZHlkeWR5ZHlkeVR5VHlUeVR5VHlkeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR5VHhTeFN4U3hTeFR4VHhUeFN4U3hTeFN4U3hUeVR5VHlUeVR5VHhUeVR4VHlUeVR5VHlUeFN4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hTeEN4U3hTeFN4U3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hDeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhDeEN4Q3hDeEN4QnhCeEJ4Q3hDeEN4Q3hCeEJ4QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Q3hCeEN4QnhCeEJ3QndCd0J4QnhCeEJ4QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCd0J3QndCd0J3MndCdzJ3QndCd0J3MncydzJ3Mncyd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXcxdzJ3MncydzF3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MXcydzF3MXcxdzF3MXcydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXYxdzF2MXcxdzF3MXcxdjF3MXcxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdjF2MXcxdzF3MXcxdzF2MXYxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2IXYxdjF2MXYxdjF2IXYhdiF2MXYhdjF2IXYhdiF2IXYhdjF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdiF2MXYhdiF2IXYxdjF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdjF2MXYxdjF3MXcxdzJ3MXYxdzF3MXcxdzJ3MXcydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QXcxdzF3MXcydzJ3MncydzF3MncxdzJ3MncydzJ3MncydzJ3MncydzJ3QndCd0J3Qncyd0J3MndCd0J3QndCd0N6U3pjelN6Y3pjemN6Y3pjemN6Y3pjemN6Y3pjemR6Y3pkemN6ZHpke2R7ZHtke2R6ZHtkemR7ZHtke2R7ZHtjemN6Y3pjemN6ZHpkemR6Y3pjemN6Y3pkemR7ZHpke2R7ZHtke2R7ZHtke3R7ZHt0e2R7ZHtke2R7ZHt0e3R7dHtke3R7ZHt0e3R7dHt1e3R7ZHt0e3R7dHt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3R7dHt0e3V7dXt1e3V7dXt0e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8hXt1fIV7dXt1e3V7dXyGfIV8hnyFe3V8hXyFfIZ8hnyGfIZ8hXyGfIV8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8h3yWfId8lnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8l3yXfJd8lnyHfJZ8h3yXfJd8l3yXfJd8l3yXfJd8l3yXfZd8l32XfJd8l3yXfJd9l32XfZd9l32XfZd9l32XfZh9qH2V0zd9l32XfZeLhrVV8SXyNfEnfJd9l3yXfZd9l32XfZd9l32XfZd9l32XfZd9l32YfZd9lqZXfZXTRfEl8SXxJfEnfZXiOH2V8SXxJfEl8SXxJsRF8SXxJfEl8SXxJfEl8SXxJfEl8SXyNfEl4jamVZhl8SXxJfEl8SXxJsRF8SXxJeM18SWXZdM18SXxJfEl8SXxJcVF8SWnZZhkp1SnU6ZF4jSnVeI0pkOlQ7VDtUO1NKZUtUO1Q7VExDS1Q7VDtUO1Q7VDtUO1Q7VDtUSmRKZYjKenZ5h14zXxJfEl8SXxJqZV8jW1RfEl8SXxJfElxEXxJfEl8SXxJfEl8SXxJfEl8jXxJqhl8jXxJfEl8SXxJLVF4jO1RLVEtUWnVKZEplS1RLZEp1SmVKZUplSmVKdUp1XxJMRF8SXxJfEl8SXxJMQ18SXTNfEl8SXxJfEl8SXxJfEl8SXxJfEl8jXxJfEl8TXyNdM1plXxJfEl4jXiOKh5jKbTR6h18jXxJfEl8Sa2ZsVVp2XURfEl8SXxJfEkxDO1Q8QzxDO1RLVDxDO0Q8QyxDPEM8QzxDO0M8QztUS2VdM0tUXTNfEl8SXxJfEktUXTNLZV0zXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfI18Sa1VsRF8jaYdqdl8SXxJfEl8SbTSZqV8SXyNfEl8SXiNfEl8SXxJfEl8SXxJbZV8SS1VaZVtVTERfI18SXiNfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8jXxJfEl8SXxJfEkwzPDM8Q7fst+yo26jbt/23/bjst+x6d5jKa2Z5mJjKqNuIuZjKx/3H/bf9x/3H/cf9x/3H/bfst/2o27fsx/2oysf9mZhbVWqGS1RaZXmYiblqdnmYO0RLVDxDS1RaZnmXWmVph6jKuOyYyqjbt/2ZmLfsqNuIuajbibmo27fst+y37LfsuOxtNHxFXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SbFVfEl8SXxJfEl8SXxJfEl8SXiNtNHmYeYdfEl8SbFRfEl8SXxJfEl8SXxJtNF8SXxJ8VV8SqNtsVV8SXxJfE18SanZadl8SXiNbZVtUTERLVF8SXxJfEl8SXxJeI18SXxJtNKjLXxJ8Vbfst+yo26jbXyN6h1xEaoeIuZjKeZiJqLf8t/247Lfsx/3H/bf8t/2o26jbe2ZfI6i6mZhfEl8SW2VadktUS2Vqdmp2WnZrVUxES2VfElxEWnZqh1p2aodfEl8SXxJfEl8SXxJfI18jbTRfI3mYeneJqXqHbFVeI8f9x/3H/cf9x/3H/cf9t/23/bf9XxJtRLf8t/yoy7fst/23/bf9t/23/bf9t/23/bf9t/237G4jt/y3/F8SXyNfEl8SXxJfEm4jmLpfEmtVXyNfEl8SXxJfEl00XxJeI6jbXxKYuV8SXxJfEl8SXxJ5mF8SWnZeI18SXxJfEl8St/y3/Lf8t/y3/Lf8t/y3/Lf8t/yJmLfst/y37LfsbiO37Lfst+y37Lfst+y37Lfst+y37F8SbiO37LfsqMu37HtmqNt6h5jKqNtfEpjKXxJrZomoXERph4moXxJph18SXxJfEl8SXxKKh6jbeod6dl8SXxJfEl8SendeI2mHXxK37Lfst+y37Lfst+y37Lfst+y37Kfse1W37JmpXyNfErfst+y37Lfst+yn7Kfsp+yZqafrXxJfI6frp+t7VafbbURfEl8SXxJfEl8SXxJeI18SXxJfEl8SbER5mGtVXTRfEl8SXxJfEl8Sa1VfEl8jbERfEl8SXxJfEl8SXxJfI6fsp+un66frp+un66frp+un66frp9un26frp+un26fbp+un66frp+un23tmp9ttM6frp+un26fbp9teI6fbXxKYypjKiKiIuZfap9uIyZjKaYd5l1plWXZ4qIi5aZd4qKfbp9uX26fbl9tfEpfaXxKYypfaiLmXypfaXxKXyl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJeI18jWXZfEl8jXxJfEmtVl8pfEm1EXyNfElp1XyNfEl8SXxJfEl8SXxJfEl8SXTRKZV0zSlRfEl8SXxJfEl0zO1RdMztDSlRMQztEO0NfEl8SXyJfEjtDO0M7QztDTSNfEk0zXxKXypfKiLmIuZfKl8qHyYfKbER4qF8SanZ4uIi5aJd4qJfKl8qXyofKl8qHyofKh8qHyYfJbERfE3mXeZdfEl8SXxJdM18SXyNZhltUSmVcRF8SXxJfEl8SS0RKZUxDOlRfEl8SXxJfEl8SXxJeI18SXiNeI0pUW1RZhltVXTNfI4fKh8mHyYfJh8mHyYfJh8mHyYfJXxJsRIfJh8l4qIe5h8mHyYfJh8mHyYfJeJdeI4fJh8l4qF0za1VfEl8SXxJfEl8SXxJfEl4jeKhfEmplXxJfEl8SXxJfElwzXxJNM2p2XxJqZV8jXxJfEl8SXxJZdlmGSmRKZV4jXxJeI18SanZrVV8SXxJ3uHe4eJd3uF8SXiNfEl8SeKhop10zWJZ3uHe4d7h3uHe4d7h3uHe4aKdoqFmGXERnqGl2XxJfEl8SXxJfEl8jXxJbVF4jSlRfEktDXxI8MzpTOkMrQytDXDNfEl4jXxJfEl8SXxJeIztDXiMrQztDXTNJdUtDXSN3uHe4d7h3uHe4Z7h3uGe4aYZ3uF8SXxJnuGe4W0Rnp2e4Z7hnuGe4Z7dnp2enZ6dnp2e4Z6dnp2enZ6dnp2enXxJfEl8SXxJfElwzXxJfEktDXxJfIl8SXxJfEl8SXxJYlliXWWVYhlenZ6dYlliWS0RJdUwzOlRIhViGSWRIdWenZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp1enXERfEl0jXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJnp2enV6dXp2enV6dXp1eWWJZXp1iGV5ZXp1eWV6dZZV8SXxJfEl8SXxJfEl8SOzNfEl8SXxJfEl8SKkNfEitCXiNYhl8SXTNXlleWSIVIhV8SXxJfEl8SSlRJZF4jTSNXllwzWlRfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJOIl8SPSJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SPDJfEl8SPSJfEiwhLCJfEi0iXxJfEl4jXxJfEkeFR4VIhTiFXxJfEl8SXxJKQzhkO0MpU0eFR5U4hUeFR5VHlUeFR4U4dDh0KWM6UziFSHRfIl8SXxJfEl8SXxI8MipCLCIbMl8SXxJfEl8SPiIsIj4SPSI7Q18STiJfEl8SXxJfEl8SXxJfEl8SXxJfEilTTSIqQkeVR4VHhUeFR4U3hUeFN4VJVDeFXxJfEjeFN4VcMzh0N4U3hTeFN4U3hTeFN4U3hDeFN4U3hElkN4U3hF4iXxJfEl8SXiNfEl8SXiNfEl8SKVNMMypCGkJfEl8SXxJfEjh0SlNLMzpDXxJfEl8SXxJeIjtDXxIaQl8SXxJfEl8SN4Q3hDeEN4Q3hDeEN4Q3hDeEN4ReIzhkN4Q3hDeEOGQ3hDeEN4Q3hDeEJ4Q3hCeEN4Q3hF8SXxInhCeETDMndF8SOWNfEihjKHQ6UyhjOkNfEilTXxI7MilTOkMZQjsyXxJfEl8SXxJfEihzXxIoY18SXxJfEl8SXxIpU04iOzInhCd0J4QndCd0J3QndCd0J3QndCd0KGMndCd0TDNfEid0J3QndCdzJ3MncydzJ3M5UzhjXxJfEidzJ3NeIjpDKGNeIkwzXxJfEl8SXxJfEl8SXxJfEl8SXxI6Ql4iOzJfEl8SXiJfEl8SXxJfEl8SGVJOIk4iXxJfEl8SXxJfEidzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3NeIl8SJ3MncydzJ3MncydzJ3MXcydzJ3NeIjpDF3MoU14iXxI5QxhjTSI6Ql8SXxJfEl8STiIrMj0iGjFfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxIsIjsyXxIKMSshF3MXcxdzF3MXcxdzF3MXcxdzF3NeIihjF3MXcxdjF2MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXcxdjF2MXc18SOzJfEjwyGGIYYhhSGFJfEhpCGzEKMRlCGUIKMQlBF2IXYxhiGGIXYhdjF2IXYxhSGFIZQhhSGGIXYhhiF2IXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdiF2MXYhdiF2IXYhdiF2MXYhdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYhdjF2MXYxdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2IXYxdjF2IXYxdiF2MXYhdiF2MXYxdjF2MXYxdjF2MXYxdzF3MXcxdzF2MXcxdzF3MXcydzF3MncxdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF3MXYxdzF3MXcxdzF3MncydzJ3MncxdzF3MXcydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Mncyd0J3MndCdzJ3QndCd0J3Q3dDd0N3QndCd0J3QndDd0N3Q3dDeEJ3MncydzJ3MndCd0J3QndCdzJ3Mncyd0J3QndCd0J3QndDd0J3Q3dDeEN4Q3hDeEN3Q3hDd0N4Q3hDeFN4Q3hTemR6Y3pkemR7ZHtke2R7ZHpke2R6ZHtke2R7ZHtke2R7ZHtke2R7dHt0e3R7dHt0e2R7dHt0e3R7dXt0e3V7dHtke2R7ZHtke2R7ZHtke3R7ZHtke2R7ZHtke3R7dHt0e3R7dHt1e3V7dXt1e3V7dHt1e3R7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1fIV8dXyGfIZ8hnyGfIV8hnyFfIZ8hnyGfIZ8hnyFe3V7dXt1e3V7dXyFe3V8hXt1e3V7dXt1fIV8hXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyHfJZ8h3yWfJd8l3yXfJd8l32XfJd9l3yXfJd8l3yXfZd9l32XfZZ8hnyGfIZ8hnyXfJd8l3yWfIZ8lnyHfJd8l3yXfJd8l3yXfJd8l32XfZd9l32XfZd9l32XfZd9l32XfZd9l32XfZd9l32XfZd9mH2YfZh9p32XfZd9l32YfZh9qH2ofah9lfEofZXjNfEl8SXxJfEofZXUSHyWp2XxJfEl8SXxJ32YfZh9mH2ofah9qH2ofah9mH2ofah9qH2ofah9qH2ofZeLiH2Xi5XyNfEmp2XxKH2njJh9qIyWioWmV4uGmXXyM7VF8STEM7VDtUO1M7VF8SXyNfEl8SO0M7VF8STTM7VEplSmVZhlp2WYZpl10zSnVpl1tUXURrVV8SXxJfEl8SXxJfEl8SXxJfEl8SXxJfI18SSmVMM18SXxJNM14iXxJfEl8SXxJfEl8SXxJeI18SXxJNI00zXiNadTtUS2Rph1mGeKh4qFmGWYZ5qHmoeZeIyXtmiMqIuYi5iMqIyl1EXxJcRF8SXxJfEl8SXxJsVV8SbFVfEl8SXxJfEl8SeYeIuXmoeaiIyYjJeKiIuVmGaYdKZVp1aZd5qFmGaZdsVV8SbFVfEl8SXxJfEl8Sa2ZfEnmobFVfEl8Sa2VbVDtDO0NLVDtUO1RLZEtUWmVMREtUTERLVEtlWnZKZWqGWnVdRGqGbERfEl8SXxJfEmmXbER5mGxVXxJfEl8SXxJdM0tUXiNLVEplaoZLZVp2XxJLVExES1RLZVp2S2VadnmYbFV5mGxVXxJfEl8SXxJ5mHp2eZeJqV8SXxJ6dmtmXxJfEl8SXxJfEl8SXyNfEl8SXiNfEkxDPENOIzxDPDNfEl8SXxJfEk0zPENfEj0zXxJfEl8SXxJfEl8iXxJfEl8STTNfEl4zPEMsMzxDPDNfEl4jXFRMRDxDPEM7VDtETyJfEk4jXxJfEl8SXxJfEk0zXxJLVExEXxJfEkxETEQ8Q0tUPENLVFplaYdadnmYO0RLVUwzS2VqdnmYanaJqIi5qNuYuqjbt+yo27fse2aYyrjsmMq47Lf8bTS3/G00TiNLZV4jS2VqdomoWnZ5mF4jS1RMREtUWnZ5l1plaoeYyrjsmMqo27fsfFW37Jm6iLmo24mpqMq37LjcuOyo2200iahfEntmaoddRHmHWmZfEm4zXxJfEnmYWnZeM2tVXyNfEktUTDNfEl8SXyNfEktlS1RbVVxETTNfEl8jXxJfEl8SXyNfEl8SXxJfEl8SiZhfI5jKialfEl8Sa1VdNF8SXxJfEl8SXxJfEl8SXxJfEl8SXiNdM18SXxJNM0xEXxJfEl8SXxJadmmHW1Vqdl8SXxJfEl8SXTRcRExEXiNqdl8jXxNfEl8SXxJfEl8SXxJfEl8SXxJfEl00XyNbZV8SXxJfEk0zS0ReMzxETDNOIzxDO0Q8QzxDPEM8QzxDXxJfEl8SXxJfEl8SXxJfEk0zXxI7REtUXxJfEkxDTDNfEl8SXxJfEl8SXiNfEl4jTERfEk0zXxJfEl8iXxJPIktlXjM7RE0zXxJfEl8SXxI8Q0wzPDM8Q18SXxJfI18SXxJfEl8SXxJfEl8iXxJfEl8SXxJNMz0zXxJfEj0iLDMsMzxDLDM8Q00zXxI7RF8jLDM8QzxDO0M7RExES1RLZV0zWnZfI0tlW1VfEl00XxJfEkxDXxJfEl8jXxJfEl8SXxJeI18SXTNbVV8SXERfEl8SXERfI0tUTERfEkxEXxJfEl8SXxJfEl8SXxJfEl8jXxJfEktUXTNfEjwzTEM7Q00zO1Q7QztDO0RfIjtDTTM8QzxDPEM8QztDO0Q7REtUXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJOI04jPDNfEl8SXxJeI18STDM9MzxDPDMsMywzLDIsM00jTiJfEl8SXxJfEl8SXxJfEl8SXxJOI18SS1RMRF8SXxJNM04jTiJfEl8SXxJfEl8SXxJOI18SXxJOI00jXyI8QzxDO0NLVEplO0NLVFl2eZdadWmHO0NLVDtDS1RaZWmHWmVph4i5mMp4qJjKl8pfEpjKXxJ4qIjJeKiIyZjKXxKYyl8SO0NKVDtUSmVadWmHWXZpl0tUSmVLVEplWXZ5l1l2eZd4qIjJeKiYypjKXxKYyl8SiLmIyYi5iMmIyl4ziMp5l18SXxJfEl8STTM7Q00zO0RfEl8SXxJfEl4jO1RfEjtDO0M7QztDO1RMM18STDNfEjtUSlQ7VExDXTNfEl8SXxJfEl8SXxJfEl8SXyJfEl8SXxJfEmplW1RfEl8STEM8M14jXxJfEl8SXxJfEl8SXxJfEl8SPDM8M18SXyI8MztDXxJfEl8SXxJMMztDTDM8M18SXxJfEl8STDNOIztDXiJMM18SXxJfEl8SXxJfEl8SXxJfEl8SXxJfEk0zTiM7Q18SXiNfEkxDO0NeIjtDTSNMQztDO0M7QytDKzMrQytDXxJfEl8SXxJfEl8SXxJfEk0iXxIrQytDXxJfEjwzPDJfEl8SXxJfEl8STSNfEk4iTiNfEk4iXxJfEk8iXxJPEjtDOlQrQztDXxJfEl8SXxIsMitDLDIrMl8SXxJfIl8SXxJfEl8SXxJfEk8SXxJPEl8SXxI9Ij0iXxJOEi0iHCIsMisyLDIrMl4iXxJeIl8SLDIrMiwyKzJOIl8SOzNNI18SPDNfEjwyKzIrMisyKzJfEjwzXxJNIisyK0IrQytDK0NMMzwyXxJfEl8SXxJfEl8iXxJfEl8SXxJfEl8SXiNfEk4iXxJfEitDK0M7QytDXxJNIztDK0M7QytDK0MrQ18SXxJNI18SXxJfEl8SXxI6Q00jOkM6U18SXxI6QzwzXxJfEl8SXxJfEl8SXxJfEjtDTiIqQ18iXxJfEl8SXxJNIipDTSIrMjpUSWQqQzlkPiIrMj4iHDIrQzpTKzI6U18SXxJfEl8SXxJfEl8SXxJfEl8SPDI9Il8SXxItIi0iPiIcIk4iHCIrMipTKzIqQ04SHCIcIRwyKzIqQysyKkNIhViWSHVYhleWWWVXllllSXRIhTlkSIVYlliFWJZYll8SXxJfEl8SXxIrMl8SPDJfEl8SXxJfEl8SPDJfEk0iOWRIdTlkSHVYhliWSIZIljlkSHU5ZEh1SIZIlkiGSJZfEl8SXxJfEl8STiJfEl8SXiNfEklkSkNfEl8SO0M7MhsyXxIbMk8SXxJfEl8SXxIbMj0iGzIcIl8SXxJOEl8STxIcIT4SHCEtIV8SPhJfEj0iHCEcIRwhPhJfEk4SXxIbMhsyGzIbMhsyGzIbMhsyKzIbMhsyGzIbMhsyGzIqQhsyGzEbMhsyTxJfEl8SXxIqQjwyKkMqU18SXxI7MzsyXxJfEl8SXxI+Ej4iPhI+Il8SXxJfEl8SPhI+Ii0iLSJfEl8SXxJfEk0iGkI9IhsyXxJfEl8SXxJOIhsxXxI9Il8SXxJfEl8SLSIcISwiHCFfEl8SPDIsIhwhHCEbMRshXxJfEj4iXxJfEl8SXxJfEhwhThIcIRshXxJfEiwiPSIaMhoyGzIbMk4iXxJPEl8SGzEbMiwiTiJfEl8SXxJfEl8SLDJfEiwiXxJfEk4iXxJfEhwhXxIbMT0iXxIcIV8SXxJfEl8SXxJfEl8SXxJfEl8SXxJOEj0iXxIsIhwhGyFOIhsxKzIbMRshThIbIRwhGzEbIRshGyEbIRshGyEbMV8SPCJfEk4iGjI9IhsxTiJfEl8SXxJfEiwhXxJfEl8SXxJfEl8SXxJNIj0iPCI9Il8SXxJfEk4iGzE9IhshPSJfEl8SXxJfEl8SXxJfEl8SPSJfEhsxLCJfEk8SPSIcIV8SLCE+EgshCyEcIQshCyEcIQwhDCEMIQwhCyELIQshXxJfEl8SXxJfEl8SXxJfEl8SXxJfEl8SXxJOEl8SLRFfEl8SXxJfEl8SXxJOEhwhPRIcIQwQDBAMEC0RDBFfEl8SXxI+El8SXxJfEl8SXxIbIU4SCyELMV8SXxIsIT0iTxI+El8SXxJfEl8SXxJfEl8SXxJOEj4SXxJOEi0RDCEcIQshDCELIV8SXxJfEl8SLREMIU4SCyFfEl8SXxJfEl8SHCFfEgshCyELIQshCyFfEgshXxIcIQshCyELIQshThILIS0hCyFfEl8SXxJfEgshCyELIQshXxJfEiwhLCFfEiwhXxI9IgshCyELIQshXxJOEiwhGyELIQshCyEKMQshCyELIQshCjEKMQoxCjELIQshCyEKMQoxCTEKMRlCGUIYUhlCGFIYUhdiGFIXYhlCGFIYUhhSGGIXYhhiF2IKMQoxCjEJQRlCGFIYUhhSCjEZQgoxGUIYUhhiGFIYYhhSGGIXYhdiF2IXYhdiF2IXYhdjF2MXYxdjF2IXYxdiF2MXYhdjF2MXYhdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYxdiF2MXYhdiF2IXYxdjF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYhdjF2IXYxdjF2MXYxdjF2MXYxdjF2MXYxdzF2MXcxdjF2MXYxdjF2MXcxdzF3MXYxdzF2MXcxdzF3MXcydzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QXcxdzF3MXcxdzJ3MncydzF3MXcxdzJ3MncydzJ3MncydzJ3MncydzJ3MndCd0J3QncydzJ3MndCd0J3QndCd0J3MndCd0J3QndDd0J3Q3dCd0J3QndCd0N3Q3hDd0N4Q3hDeEN4Q3hDeEN4U3hTeFN4Q3hDeEN4U3hUeFN4VHhSd0N3QndDd0N4Q3hDeEN4Q3dDeEN3Q3hDeEN4Q3hDeFN4Q3hTeFN4VHhUeFR4VHhTeFR4U3hUeFR4VHhUeFR4VHtke2R7ZHt0e3R7dHt0e3R7ZHt0e3R7dHt1e3R7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3R7dHt0e3R7dXt1e3V7dXt0e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V8hXx1fIV7dXt1e3V7dXx1fIV8hnyFe3V8hXt1fIV8hnyGfIZ8hXyFfIV8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfId8lnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8h3yXfJd8lnyGfJZ8h3yXfJd8l3yXfJZ8l3yXfJd8l3yXfJd8l32XfJd8l3yXfJd8l32XfZd9l32XfZd9l32XfZh9l32Yfad9l32XfZd9mH2Yfah9qH2nfJd8l3yXfZd9l32XfZd9l3yXfZd9l32XfZd9l32YfZd9mH2XfZh9qH2ofah9qH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofaeLloqIjJeLiH2ofal9qX2ofaiMmX2ofah9qH2ofah9qH2ofah9qX2ofah9qH2ofah9qX6pfal+qX6pfal+qX65fal9qX65frl+qX65frl+uX65frl+uX61mGSmVpl1p2O1Q7Q0plO1R4qGmXiMl4qFp2SmVpl1mGO0M7QztDO0M7QztUO0M7VEtkO1Radlp1O1RLVFp1WnaH2ojJl9uX2ni5eKiI2ojKl+uX65frl+uX25fbp+un62mXaZeIuYi5aZdpl4i5iLmX25jap+un65jamNun66frS1RKZUtUSmVadmmXWoZ5mEplWnZahmmXaZd4qHmoiLl5qHmoeKh5qGmXWnZ5mGqGiLmIuZjKmMp5qWmXiMqIuXmoiLmIypjKiMqY2pjbp+uX26frp+yn7Kfst+yn7Lf8qNuo26fsp+yY25jKp+uo27f8t/y3/Lf8t+y37Lf8t/xLZUtlWnVaZUtlWnZadWqGaoZadnmYeZhqhmmXeZiJqHmYial5mIi5ial5mIi5eaiJqYi5mLqYypjKiLmo25jKiLmIuajbmNuIuZjKqNuo26fsp+y3/Lf8t+y37Lf8t/2Y26jbqOy37KjbqNu37Lfst/y3/Lf9t/23/Lf9t/23/Wp2W2Vph1p2S1VLVFplWmV5mGqHiLmJqGqHaod5mHmoS2VaZVp2anZaZUtlanZadmmHeZiJqIm5eZhph4m5iamYypjKqOyo25i6mLqo26jbt+y37Mf9x/237Lfsx/3H/ZjKmMqo27jsmMqYyrjsqNu37Lfsx/3H/bf8t+zH/cf9S1VLZVplWmVaZWqHWnZqh2qHaoZ5qHmYaod5mImoibmJqJjKiamYyqjsuNyo7LjsiLmoy5jKqNu47Lfst+y37JjKmLqo26jbmLqYyqjbqNy37Lfsx/3H/bfst+zH/cf9qNu37Lfst+y37Mf9t/3H/bf9x/3H/cf9x/3H/cf9x/2YyompqNuIuWmHWnZ5mGp2qNuYyrfsqNuJqXmXmMqJqUtlS1RaZUtVS1Q7VEtUO1RadlpleZhqh0tlS1Vqdlp2t/237Mf9t/2o25jKt+yo28f9x/3H/cf9t/23/Mf9t/2YuYmpqNuYynmYeZiYypi6t+y37Lf9t/2o26jbt+y37DtEPEQ7VEtUO0Q7VEtUS2VLVUtlWnZqdlplWnZph3mYS1RLVFplWmVLVEtUWmVLZWqHaYeJqImpaYdqdomoeZh5mHmomLqYyompmLmoyqjbqNuo3Lfst/y37Lfst/y3/JjKmMqo27frmMqYuqjbqNu37Lfst/y3/Lfst+y3/LfsO0Q8Q0tUO1Q8MzwzO0M7RFp2WmV5l2mHS1VLVWp2anY8QztUO1RLVUtVWmVaZVp2SmVadmqGaYdqhmmXeZiIqYi5iamoy5jKeah5mJjKmMqn7Kfst+y37Kfbp9u37LfseaiIqZjKmMqIuZjKmMqo26fbp9u37Lfsp+un7Lfst+xaZUplanZadktUO0RaZUtVeZdph4ipiKhphlp2eZh5lztDO0RLVEtUS1RKZUplWnZadVp2aYdpl2mGaZd5mIiomMqYyqfbqNuIuYi5qNuYyqfrp+u37Lfsp9un26fsp+uIqYi5mMqYyoi5mMqYypfbp9un26frp+un26fbp+un61plSmVphlp2S1Q7VFplSmV5l3mXiLmIuWmHWnZ4qGmXO0M8QztUO0Q8QztDO0M7VEplSlRphlp2S1RKZVp1WnaYypjKp9uX24i5iKiYypjKp9un26frp+un25fap9un23mYaZeIuYi5aZdpl4ioiKiXypjKp9un25jKmMqX25faS1RKZUpUWmVZdnmXaYZ4mEplWXZZdmmHaYd4qHioiLmIuYjKiLmXyofKiLmXyoi5iLmXyojJl8qXyoi5l8qHyXmXeKiIuYi5iLmIyYjJl8qXypfKl9uX2pfal9qX2pfal8qX2pfal9qX2pfKl9qXypfal9qX2pfal9qX2pfal9pol1l2eJhZhkpUO0NKZTtUeKhpl4i5eKhZdUpkaYZZdjtDK0M7QztDK0M7QztDO0M6VDtUSnVKZTtTO1RKZUpliLl4uIfKh8l4qGiXiLl4qJfKl8qX2pfKh8mHyYfKh8pph1mGeKh4qFmGWYZ4p3ioh7mHuYfJh8mIuYe5h8mHyStDK0M7QztDO0M7QztTOlQ7VDpUSmVJdUpkSmVZdlmGO0M7QzpUOlQ7QytDOlQ7U0l1SXVZhliGSXVKZFmGWXZZhmmGeKh4qGiXaJd4qHi4d7l3uYfJh8mHuYe5h8mHyWinaKd3uHe4aJdol3i4eKh3uXe5h8mHyXe4d7h3yXe4KzIsMitDKzMsMiwyKzIrMjpUOlNJdUllO0M7Q0pkSmQsMitDK0M7QytDOlM6UzpUOlM6VElkSXU6ZElkSXVJdViGWYZop2inWXZZdWiXaJd3uHe4d7h3uHeoZ6h3uHe4WYZYhmiXaJdYhliWaKdop2eoZ6h3uHe4Z6hnqHe4Z7g6UzpDOlQ6VDpDOkM6UzpTSWQ5ZEl1SXU5ZDlkSXVJdTpTOlM6VDpUOlMqQzpUOlM5ZElkSXVIdUlkOWRIdUl1WIZYhmiXaJdYhliGaJdol2enZ6dnuGe4Z6dnp2enZ6dYhliGWJdYl1iGWIZYl1iWZ6dnp2enZ6dnp2enZ6dnpytCKzIqQysyHCIcISsyGzI6VCpTSXU5ZCtDK0I6VDpTHCEbMhsyKzIrQipTKkM6UytCKkM6UzlUKlM5ZDlkSXVIhUh1WJZYlkl1SXRYhkiGV6dXl2enZ6dXlleWV6dXpzl0SXVIhUiFSHVIhUiGSJZXlleWV6dXpleWV5ZXpleWOWRIdTlkSHVIlleWSJZHlkh1SIVIhUiFV5ZXlleWV5ZIhTl0SIU4dClTKkM5ZCpDSIVIdUeWSIU5ZClTOHQ5ZEiGV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWR5ZIhUeWR5ZIhTh0R4VIhUeWR5ZHlkeWR5VHlUeWR5YrMhsyKkIqQipCKkMqQylTKlMqUzlkOWMpUzljOWQ4dClTKVM5ZDhkKVMpUzhkKWM4ZDh0OHQ4hTh0OGQ4hDh0OHQ4dEiFOIU4dDh0OIVIhUeFR4VHlUeVR4VHhUeVR5U4hTeFR4VHhTeFOIQ3hTeFR4VHhUeVR5U3hTeFR4U3hSpCGzIpUxpCGzIbMRoyGzIpUylDOGQpUypCGkIpUylTGzEbMRsyGjIbMRsxGjIaMhpCGkIpUylTKUIaQilTKVM4dDhkOIQ4dChjKGM4dDh0N4U3hDeFN4U3hDeEN4U3hShjKGM4dDh0KGMoYzh0OHQ3hDeEN4Q3hDeEN4Q3hDeEGzEbIRsyGzEbIRshGyEbIRpCGjIpUhlCGzEbMRpCGkIbIRshGyEbMRsxGjEaMhpCGjEaMhpCGUIaQhlSGVIoUyhjKVModChjKVMpUyhjKGM3dCd0N4Q3hCh0KHQ3hDeEKVMoUyhjKGMoYyhjKHMncyd0J3QndCd0J3QndCd0J3QaMhoyGUIZQhoxGyEaMhoxGVIZUihjKGMZQhpCGFIZUgshCyEbMRsxCyELMRsxGjEaMhoxGUIZQhoyGUIZQhlSKGMoYydzJ3MoYyhjJ3MoYyd0J3MndCdzJ3MncydzJ3MYUxhSKGMoYxhTGGMoYyhjJ3MncydzJ3MncydzJ3MncxoxGjEaQhlCGjELIRpCGjEZQhlSGFIYUhlCGUIYUhlSCyELIQsxCyEMIQshCyELIRoxCjEZQhlBCzELMRoxGjEYYxhjJ3MncxhjGGInYxhjJ3MncydzJ3MncxdzJ3MncxhSGVIYYxhSGUIZQhhSGFIXYxdjF3MXcxhjGGMXcxdjCyELIQshCjELMQoxCjEKMQoxCjEaMRlBCjEKMRlCGUIKIQshCjEKMQshCjEKMQoxCjEKMRlCGUIKMQkxGUIZQhlCGUIYUhhSGFIYUhhiGGIYYxdjF3MXYxdiF2MXYxdjGFIYUhhiGGIYUhhSGGIYYhdjF2IXYxdjF2IXYhdjF2MJMRlCCUEZQhhSF2IYUhdiGUIYUhhSGFIYUhdiGGIXYhdjF2IXYxdiF2MXYhdiF2IXYxdiF2MXYhdiF2IXYhdiGFIYYhhiF2IXYhdiF2IXYhdiF2IXYxdjF2MXYhdjF2IXYhdiF2MXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYxdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYxdzF3MXcxdzF2MXYxdjF3MXcxdzF3MncxdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF3MXYxdzF2MXcxdzF3MXcydzJ3MncxdzF3MXcydzJ3MncydzJ3MXcydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QndCd0J3Q3dCd0N3QndCd0J3QndDd0N4Q3dDeEJ3MncydzJ3Mncyd0J3MndCdzJ3Mncyd0J3QndCd0J3QndDd0J3Q3dDd0N4Q3hDeEN3Q3hDd0N4Q3hDeEN4Q3hTd0N4Q3hDeEN4Q3hTeFN4U3hDeEN4Q3hTeFN4U3hUeFR4VHhUeFR4VHhUeVR4VHlkeFR4VHhUeFR5VHlkeWV5Y3hDeFN4U3hTeFR4VHhUeFN4U3hTeFR4VHhUeFR4VHhUeFR5VHhUeWR5ZXlkeWV5ZHlUeWR5ZHlleWV5ZXlleWV7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1e3V7dXt1fIV7dXyFfIZ8hnyGfIV8hXyFfIZ8hnyGfIZ8hnyFe3V7dXt1e3V7dXuFe3V8hXt1e3V7dXt1fHV8hXyGfIV8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyWfId8l3yXfJd8l3yXfJd9l3yXfJd8l3yXfJd9l32XfZZ8hnyGfIZ8hnyHfJZ8l3yWfIZ8hnyHfJd8l3yXfJd8l3yXfJd8l32XfZd9l32XfZd9l32XfZd9l32XfZd9l32XfZd9l32XfZd9mH2XfZh9p32XfZd9l32YfZh9qH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9p32YfZd9mH2Yfah9qH2ofah9mH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qH2ofah9qH2ofal9qX2pfqh9qH2ofal9qX6pfrl+qX64fal9qX2pfql+qX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65fal+qX6pfrl+uX65frl+uX6pfrl+uX65frl+uX65frl+uX65frl+uX66frp+un65frl+uX66frp+un66frp+uX66frp+un66frp+un66fsp+un66frp+un66fsp+un7Kfsp+yn7Kfsp+yn/Kf8p/yn7Kfsp+yn7Kf8p/yn/Kf8p+un66frp+un7Kfsp+yn7Kfrp+yn66fsp+yn7Kfsp+yn7Kf8p/yn/Kf8t/yn/Lf8p+yn/Kf8t/y3/Lf8t/y3/Kf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf8t/y3/Lf8t/23/bf9t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/23/Lf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/3H/bf9t/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9t/23/bf9t/3H/cf9x/23/bf9t/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9x/3H/cf9x/3H/bf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/23/bf9t/23/cf9t/3H/cf9t/23/bf9t/3H/bf9t/23/bf9t/y3/bf9t/23/bf9t/23/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst/23/bf9t/23/Lf8t/y3/Lf9t/y3/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst/y3/Lf8t/y37Lfst+y37Lf8t+y37Lfst+y37Lfst+y3/Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Kfst+y37Lfst+y37Kfst+yn7Lfst+y37Lfsp+yn7Kfsp+yn7Kfrp+yn66frp+un66frp+un66frp+un66frp+un67fsp+yn7Kfsp+yn66fsp+un7Kfsp+yn66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp9un26fbp+un66frp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbl9un25fbp+un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9uX25fbl9uX25fbp9uX26fbl9uX25fbl9uX2pfbl9uX25fbl9qX2pfal9qX25fal9uX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qX2pfal9qX2pfal8qXypfKl9qX2pfal8qXyofKl8qHypfKl8qXypfKh8qHyofKh8qHyofKh8qHyYfJh8mHyYfJh8qHyYfJh8mHyYfJh8mHyZfKh8qXyofKh8qHyofKh8mXyofKh8qHyofKh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyXfJd7l3uXe5d7mHyXe5h8l3uXe5d7h3uXe4h8mHyYfJh8mHyYfJh8l3yYfJh8mHyYfJh8l3yYfJd7l3uXe5d7l3uXe4d7h3uHe4d7l3uHe5d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuHe4d7h3uHe4d7hnuHe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uGe4Z7hnuGe4Z7h3uGe4Z7hnuGe4Z7hnuGe3Z7hnuGe4Z7hnt2enZ6dnp2e4Z7hnuGe3Z7dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2e4Z6dnt2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enZ6dnp2enZ6dXp2enV6dnp2enZ6dXp1enV6dXp1enZ6dXp1enV6dXp1enV6dXp1enV6ZXp1emV6ZXplemV5ZXplemV6ZXplemV5ZXpleWV6dXp1enV6dXp1emV6dXplenV6dXp1enV6ZXplemV6ZXplemV6ZXlleWV5ZXlleWV6ZXllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5ZHlkeWR5ZHlUeWR5VXlleWV5ZXlkeWR5ZHlkeWV5ZHlleWR5ZHlkeWR5ZHlkeWR5ZHlkeVR5VHlUeVR5VHlkeWR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR5VHhUeFN4VHhTeFR4VHhUeFN4U3hTeFN4U3hUeVR5VHlUeVR5VHlUeVR4VHlUeVR5VHlUeVR4VHhUeFR4U3hUeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hTeFN4U3hDeEN4Q3hDeFN4U3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhDeEJ4Q3hDeEN4Q3hCeEJ4QnhCeEJ4QndCeEJ3QndCd0J3QndCeEJ3QndCd0J3QndCd0J3Q3hCeEN4QnhCeEJ3QnhCd0J4QnhCeEJ4QnhCd0J3QndCd0J3QndCd0J3QndCd0J3MndCd0J3QndCd0J3MndCdzJ3QndCd0J3QncydzJ3Mncyd0J3QndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MncydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXYxdzF3MXYxdzF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdzF3MXcxdjF2MXcxdjF3MXcxdzF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2MXYxdjF2MXYhdjF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2MXYhdiF2IXYhdjF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdjF3MXYxdjF2MXcxdzF3MXcydzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QXYxdzF3MXcxdzJ3MXcydzF3MXcxdzJ3MncydzJ3MncydzJ3MncydzJ3MndCdzJ3QncydzJ3Mncyd0J3QndCd0J3MndCd0J3QndCd0J3Q3dCd0J3QndCd0N3Q3dDd0N4Q3dDeEN4Q3hDeEN4U3hTeFN4Q3hDeEN4Q3hTeFN4VHhSd0J3QndDd0N3Q3hDeEN4QndDd0N3Q3hDeEN4Q3hDeEN4Q3hTeFN4U3hUeFR4VHhTeFN4U3hUeFR4VHhUeFR4U3hUeFR4VHhUeFR5VHhUeWR4VHhUeFR4VHlUeWR5ZHlkeWV5ZHlleWV5ZXlleWV5ZXlleWV5ZXlleWV5dXlleXR4VHhUeFR5VHlleWR5ZXlkeVR5ZHlkeWV5ZXlleWV5ZXlleWV5ZXlleXZ6dXl2enV5ZXl1eWV5dnp2enZ6dnp1e3V8dXt1fIV8hnyGfIZ8hXuFfIV8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8lXyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8h3yWfJd8lnyGfIZ8hnyHfJd8l3yXfJZ8h3yXfJd8l3yXfJd8l3yXfJd8l3yXfJd8l32XfZd9l32XfZd9l32XfZh9l32YfZd9l32XfZd9mH2Yfah9mH2nfJd8l3yXfZd9l32XfZd9l3yXfZd8l32XfZd9l32XfZd9l32XfZh9mH2ofah9qH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2pfal+qX6pfql+uH2pfqh9qX6pfql+uX65frh9qH2ofah9qH2ofah9qX2ofah9qH2ofah9qX2ofal+qX6pfql+qX65frl+uX65frl+qX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX66frl+un66frp+un63j5p+uY6qfrp+un66frp+un66frp+uX65frl+uX65frp+uX66frl+uX65frp+un66frp+un66frp+un66frp+yn66fsp+un66fsp+un7Kfsp+yn7KfsHfEd8TvzO/Md8R3xHvEP8Kfrp+un65fbWuYP8FrmD/Ad8R3xD/Ae8R3xHfE88zzzD/Ba1g/wSsWIuYi5eah5qKfrmNun65jbWtYP8FrWD/Cn66fbp+yn61rWD/Ba5g/wD/BLtA/wO6Rph2mHWnZadg/wO6QP8DukWnZadlp1WnaI6bfsiNmo27fst/yn67fsmMqYyomoiLmo26jrmMqo27f8t/y3/Lf8t/23/bf9t/237Lf8p+y3/Lf9t/23/cf9aZd5qGqHeZiIuZjKebg75GqGeZhqhnmYPNMP8Ii5LfKo27fsHfI79Lf9x/23/Gn3D/AP8A/wD/AP8A/wD/AP8Lf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/23/cf9x/23/Yn4HvFa9g/wD/Ad8Q/wD/AP8Mf9x/2o+8f9x/3H/cf9qPsP8Gr2D/Ae8bfsO/So25jqx/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/1q9jzzx/3H/R3xx/0P8A/wWuYP8A/wWvUP8A/wx/3H/aj7effH/cf9efeY+g/wD/AP8DzjD/AP8B7xD/DH/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/Tzzt+wP8Czzt+y37KjbqNvH/cf9x/3H/cf9x/3H/cf9t/y3/bfsefiJ+B3xD/AP8Mf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9t/3H/cf9x/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/Lf9t/zH/cf9ifh598f9t/1595j5D/AP8A7wS/QP8A/wLPMP8Lf9t/23/Lf8t/y3/Lfst+ws8pjqD/Ae8bfst+yoy6jbt/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y3/Lfst/y37Lfst+y37Lfst/y37Lfst+y37Lfst+y37Lf8t/y37Gn3t/y37Fr2O/S37A/wqNt56A/wD/Bp5x3yt+y37B7xLfK37Lfst+y37A/wHfEP8B7xidge8Q/wD/C37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+yn7Kfsp+y37Lfst+y37Kfsp+yn7Kfst+y37Hnoafe37LfsmOqn7A/wD/As4h7xD/A78w/wD/C37Kfsp+un66fsp+yI6Vr2p9un25jKmMod8Q/wedha5qfsp+yn7Kfrp+un66frp+un63nnp+tp5g/weecP8Gnmp+un66frp+un66fbp9un26fbp9un25fbp9un25fbl9un6yzzLPIP8A/wWeYP8DvkD/AP8FrWD/AP8A/wD/As05jKmMpa1VrVl8qXylrViMkP8A/wS7Q7tA/weKhKpXmXp9un26fbp9un26fbp9un26fbl9un25fbp9un26fbl9un25fbl9uX25fal9qX2pfal9uX2pfbl9qX2pfal9qX2pfal9qXypfal9uX25fal9qIuYjKeKiIuZfal9qXyojZl9qX2pfal9qX2pfaeNhZ5ojZLPIO8Q/wD/AP8A7wOuSX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qX2pfKl8qHypfKh8qXypfKl8qXyofKh8qHyofKl9qX2lnmadeX2pfKl8qXyg/wD/A75B7xHfFZ1g/wD/CXyofKh8qHyofKh8qHyVnVh8mHyVnGeLiHyQ/weLlZxofKh8qHyofJh8mHyYfJh8mHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJSuUr44fJh8kO8B3xD/AP8EnVHfEP8B3xD/AP8IfJh8mHuXe5h8mHyVnWSdVZxQ7wD/AP8A/wD/Ac4g7wh8mHyYfJh8l3yXe5d7l3uYfJd7l3yXfJd7l3uHe5d7h3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHfJd7lox3e4d7l3uHe4d7gP8CvjD/AP8He4d7hop2ind7h3uHe4d7h3uHe4d7h3uHe4d7hop2eod7h3uGe4Z7h3uHe4d7h3uHe4d7h3uGe4d7h3uHe4d7h3uGe4d7hnuGe4Z7hnuGe4Z7hnp2e3Z6dnuGe4Z7hnt2e3Z6dnp2end7h3uHe4d7hnuGe4Z7hnuHe4Z7hnuGe4Z7hnuGe4Z7hnuGe3Z7dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp2enV6dnp1enV6dXp1enV6dnp2enZ6dnp2enZ6dnp1enZ6dnp2enZ6dnp1enV6dXp1enV6dXp1enV6dXplenV6ZXp1enV6dXp1emV6ZXplemV6dXplenV6ZXplemV6ZXplemV6ZXplemV6ZXllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWV5ZHllemV6ZXpleWV5ZXlleWV5ZXpleWV6ZXlleWV5ZXlleWV5ZXlleWV5ZHlkeWR5ZHlleWV5ZXlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5ZHlkeWR5ZHlUeVR5VHlUeWR5VHlkeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR5VHlUeVR5VHhUeFR5VHhUeVR4VHlUeVR4U3hUeFN4VHlUeFR5VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hDeFN4U3hTeFN4U3hDeEN4RHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hDeEN4Q3hTeEN4Q3hDeEN4Q3hDeEN4U3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hCeEN4Q3hDeEN4Q3hCeEJ4QnhDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4QnhCeEJ4QndDeEJ4QnhCeEJ4QndCd0J3QnhCeEJ4QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3MncydzJ3MndCdzJ3QncydzJ3MncydzJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MncydzJ3MncydzF3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzF3MXcxdzF3MncxdzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF2MXYxdjF2MXcxdzF2MXYxdjF2MXYxdjF2MXYxdzF2MXYxdjF2MXYxdjF2MXYxdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2MXYxdjF2MXYxdiF2IXYxdjF2MXYxdjF2IXYhdjF2MXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2IXYhdiF2MXYxdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYxdjF3MXYxdzF2MXYxdjF3MXcxdzF3MXcxdiF2IXYhdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdjF3MXcydzJ3MncxdzF3MXcydzJ3MncydzJ3MXcydzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Qncyd0J3QndCd0N3QndCd0J3QndCd0N3Q3dDeEJ3MncydzJ3Mncyd0J3MndCdzJ3MncydzJ3QndCd0J3QndCd0J3Q3dDd0N4Q3hDeEJ3Q3dDd0N3Q3hDeEN4Q3hDd0N4Q3hDeEN4Q3hTeEN4U3hDeEN4Q3hTeFN4U3hUeFN4VHhUeFR4VHhUeFR4VHlkeFR4VHhUeFR4VHlkeWR5Y3hDeFN4Q3hTeFR4VHhUeFN4U3hTeFR4VHhUeFR4VHhUeFR4VHhUeVR5ZXlkeWV5ZHhUeWR5VHlleWV5ZXlleWR5ZXlkeWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5dXl2eXV5dnp2enZ6dnp2enZ5dnp2enZ6dnp2eoZ6d3qFeWV5ZXlleWV5ZXl1eXZ6dXlleWV5ZXl2eXZ6dnp2enZ6dnp2enZ6dnqHeod6h3uGenZ6hnp3eod6h3uHe4d7hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfIZ8hnyGfId8lnyXfJd8l3yXfJd9l3yXfJd8l3yXfJd9l3yXfZZ8hnyGfIZ8hnyHfJZ8l3yWfIZ8hnyGfJd8l3yXfJd8l3yXfJd8l32XfZd9l32XfZd8l32XfJd9l32XfZd9l32XfZd9l32XfZd9mH2XfZh9l32XfZd9l32XfZh9qH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9p32XfZd9mH2Yfah9qH2ofad9mH2ofZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qH2pfqh9qH2ofal9qX2pfql+qX6ofal+qH2pfql+qX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65fal+qX6pfrl+uX65frl+uX6pfrl+uX65frl+uX65frl+uX65frl+uX66frl+un65frl+uX65frp+un66frp+uX66frl+un66frp+un66frp+un66frp+un66fsp+un7Kfrp+yn7Kfsp+yn7Kfsp/yn7Kfsp+yn7Kf8p/yn/Kf8p+un66frp+un66fsp+yn7Kfrp+un66fsp+yn7Kfsp+yn7Kfsp+yn/Kf8t/yn/Lf8p+yn/Kf8p/y3/Lf8t/yY+6fsp+un7KfsWuYP8GrmD/C3/Kfst/y37GrmD/Bq5g/wD/BLpA/wS7Radlp2WnZadg/wS7QP8Eu0WnZadlp2Wna3/Lfst/y3/GrnD/Bq5w/wt/y3/Dv0O/Rq5w/wHfIP8A/wS7QP8Eu0WnZadlp2WnYP8Eu0D/Ae4Vp2WnYtwi3Caod5mGmHeaiIuTzjiLk842mHeahph3momLk845i6POMP8A/wD/Ae8WrXS9V5qEu1D/Ae8Q/wHvFpl0ukaoc8pGmHiahph4momLo845i6PONph4moapZ5qJi6PONq1x7xD/Ae8Q/wHvFqhzyTaoc8kw/wHvEP8A/waoc8lEu0HtEP8A/wD/AP8DzTS9V5h0u1D/AP8A/wD/BadjukS2U8kw/wD/AP8A/wmLqYynmYiagP8A/wD/AP8GqGaodaZVp2D/AP8A/wD/BLVTyDS1Qsgw/wD/AP8A/wS2U8gyyjHcEP8A/wD/AP8EtlWmVLZVtlD/AP8A/wD/BLZVtlLbJbZZjKD/CJqQ/wD/Ae8Q/wS8V5lw/wanYP8A/waocP8Gp2ebiJuXmYeZeJqTzjeZdql2qGanZadlp2anZqdlp2WnZadg/wWnYP8A/wWnYP8EuVWnYP8Fp2D/AP8A7gD/AP8Fp2WnZadlp2WnZadmp2aodahWp2D/AtwmqHPMMO8A/wD/AP8A/wD/B5yJjKPNOJqQ/wD/Ae4Q/wLNJ5mC3Caoeo2x7xascP8A/wLfIP8GnXPNMP8CzSD/AP8Ii5D/B5mB7hD/AP8A/wLcJqdizDWnYP8A/wD/At0lqWanZph2p2PLMP8EuFD/AP8GmHD/BLlFp2HtFadkt1D/Ae4Q/gD/Co26jKmMqIuZjKiciJqXmoial5mHmXaYd5l2mHaYdqhw/wD/At4g/wPOOYyg/wialLtA/wS6QP8A/wWqYP8Eu0aodqhlp2WnZqhmqHaodph1p2WnYP8B3SaYdaph7hD/BLtA/wLdIP8A/wWoYP8Gp2D/AP8A/wHeI8w2qGeZdqhpjKqMuIuZi6qNs845i6PON5mImoaYd5mIipLON5qCzTD/AP8A/wD/AP8DvULdJphg/wD/AP8B7hWoVaZVplSmVqhmmHWnZqhnmYLNJphyzSWnZqdlqFLcJphyzSLNIe4Q/wHuEP8B7hWmVLZVp1SmUP8B7hD/AP8Fp2WmUtwi3Ceah5qGmGaYcs4lrGaYdpl1plWnVLZUplWnZphlplWnaIqYi5eZh5qIi5iLl4qIi5aYdpl2mHaZd5mHioeZh4qEtUSmVKZVplWnVphlp2aYdaZVp2O5RphmmHeZh5l4ipaZd5mHmoiKl4qIi5iLmIuYi5iLmYypfamMqYypfbp9uIuQ/weKgP8A/wS7QP8DukeKgP8HioD/AP8DuTD/A7o1p2WnVKZUplWXZphkplWXZKVEtUSlRLVEplWnVKZVp1iKgP8Ii5D/AP8DujD/A7pJjKDvCXyjvUD/Ad0Q/wD/BKZUpkSmVKZUplWXYd0Q/wWmVLhA7gD/AP8B3hD/A7s3mXeKhph3ioiLkr44i5D/BphniXaYd4qHioD/CIuQ/wD/AO8A/wLOJ4yIi5eKh4lw/wD/AP8A7wHvEe4Q7hDuFph3ioaZd4qIi5D/CIuQ7weJd4qGmXeKiIuTvTeLh4qA/wLMMP8B3RWXZKZUplSlQP8A/wDvAP8CuTOlQP8A/weKh4p2mXaYYP8A/wHeEP8A7hDuEO4A7gD/AP8A7gDuAs4ninDuFph3ioeKhol2iXD/BZdQ7RSmVZhlmGSmVZdUpkSlQ6VDpUSlRKVDtkD/A7VDpUHcEP8A7RD/AP8ByySlRKZB3BSlRKZUl1SmRJZSuDSlRKZEpkSmRJZTp0HMJ4qCziaJcs0g/wD/AP8A/waIYs0lmGLNIP8A/wD/AO4A/wOrQcwkllWYZJlUllSWU6dDpUOlQ6UzpUOlQ7QzpTWXYc0ll2HNIP8A7gD/AO4Fl1HNIc0g7wD/AO4A/wD/A6VDtDOlQ6UztDOlM6UzpUSmQ6VB3BHbE6VDpkK4NJZB3hOqRJdUl1WIZYlkl1WIY6VEpkOlQ6ZEllSXVJZUl1aJdop1iGaJdnp2eoaKdnp1iGWJZYhliWaJdnp2iXZ6c6VElkOmRJdUl1WXVZhliGSWVZhkl1WIZYhmiXaJdnp1iGWJdYlmiXaKdnp2enZ6dol2enZ6dnp2enZ6dnp2enZ7hnuGe4Z7hnuGe3Z7hnp2e4Z7hnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enZ6dnp2enZ6dXp1enV6dnp2enZ6dnp1enV6dXp1enZ6dXp1enV6dXp1enV6dXp1enV6ZXp1emV6ZXplemV6ZXplemV6ZXplemV6ZXpleWV6dXp1enV6dXp1emV6dXplenV6dXp1enV6ZXplemV6ZXplemV6ZXpleWV5ZXlleWV6ZXllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5VXlleWV5ZXlleWR5ZHlkeWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VHlUeVR5VHlkeVR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHhUeFN4VHhTeFR5VHhUeFR4U3hTeFN4U3hUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHhUeFR4U3hUeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeEN4U3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hTeFN4U3hDeEN4Q3hDeFN4Q3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4Q3hDeEN4Q3hDeEJ4QnhCeEJ4QnhCeEJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Q3hDeEN4QnhCeEJ4QnhCd0N4QnhCeEJ4QnhCd0J4QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCdzJ3Mncyd0J3QndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Mncyd0J3MndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MncydzJ3MncxdzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MncydzF3MncxdzF3MXcydzJ3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXYxdzF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdzF3MXcxdzF2MXYxdjF3MXcxdzF2MXcxdjF2MXYxdjF2MXYxdjF2MXYxdjF2IXYxdjF2MXYxdiF2IXYxdjF2MXYxdjF2IXYhdjF2IXYhdjF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYhdiF2IXYhdjF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdjF2MXYxdjF2IXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdjF3MXYxdjF2MXYxdzF3MXcxdzF3MncxdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXYxdzF2MXcxdzJ3MncydzF3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MndCdzJ3QncydzJ3MncydzJ3QndCd0J3MndCdzJ3QndCd0J3Q3dCdzJ3QndCd0J3Q3dDd0N3Q3dDeEN4Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hTeFN4U3hSd0J3QndDd0N3Q3hDeEN4QndDd0N3Q3dDeEN4Q3hDeEN4Q3hTeEN4U3hUeFR4VHhTeFN4U3hUeFR4VHhUeFR4U3hUeFR4VHhUeFR4VHhUeVR4VHhUeFR4VHhUeWR5VHlkeWV5ZHlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleXR4VHhUeFR5VHlleWR5ZXlkeFR5ZHlUeWR5ZXlleWV5ZXlleWV5ZXlleWV5dXl2enV5ZXlleWV5dXl2enZ6dnp1eWV6dXl2enZ6dnp2enZ6dXl2enZ6dnp2enZ6hnp3eoZ6h3qHeod7h3uHe5d7iHuXeod7h3uHe4d7mHuYe5h7lnp2enZ6dnp2eod6h3qHeoZ6dnqGend6h3qHe4d7h3uHe4d7l3uIe5h7mHyYe5h8l3uYe5h7mHuYe5l8qHyZfKZ8h3yWfId8l3yXfJd8l3yWfJd8l3yXfJd8l32XfJd9l32XfZd9l32XfZd9l32YfZd9l32XfZd9l32Yfah9mH2nfJd8l3yXfJd9l32XfZd9l3yXfZd8l32XfZd9l32XfZd9l32XfZh9mH2ofah9qH2nfZh9qH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qX6pfal+qH2pfah9qX6pfql+uX6pfrh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX2ofal+qX2pfql+qX65frl+uX65frl+qX65fql+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+un65frp+un66frp+un66frp+un66frp+un7Kfrp+yX65frl+uX65frp+uX66frl+uX65frl+un66frp+un66frp+un66frp+un7Kfsp+yn66fsp+un7Kfsp+yn7Kfsp+un7Kfsp+yn7Kfsp+yn/Kfsp+yn7Kfsp+yn/Kf8p/yn/Lf8p/y3/Lf8efi3/Lf8t/y3/Lf8t/y3/Lf8t/y37Kfsp+yn7Kf8p/y3/Kf8t/yn/Kf8p/yn/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst/y3/Lf8t/y3/Lf8t/y3/Lf8t/wP8A/wt+yn6w/wD/CYyoi5p+yo66fsqNuYyompmMqJqA/wD/B5l2qGD/AP8Fp1WnVpl2p2eZdqhlp1WnZadlp2p+yo27fsqNuYyompmNuYyrfsp+y3/LfsqNuY27fsqNt5mGmHial5qGqGaoZ5mHmYmMqYuqjbqNuIuYi5qNuo20uleZhqhnmYPOMP8ImpiLlqhnmXaoZ5l4moibl5qImpD/AP8ImpeZge4Q/waodadompeZiJqXmYaodadmmHanZph3mYiaiJuYmoiLmYupjKmLqYyqjbqNuoy6jbqOy47Im5iaiYypi6eZhph4m5iaio26jLuOy47JjKmMqo26jbD/AP8EtlS2UP8A/wS2VLVVplW2VadlpmW2VLZVplWmUP8A/wS1RLZQ/wW2VLZVtlS2VLZVplWmVLZVplWmUtwmqHaoZ5mHmYanZqdnmYeZiYupi6qNuo25i6mLqo26jbanZqdnmYeZhqdkuleZh5mJi5mLmo26jbmLmYuajbqNtaZg/wWmYP8A/wLMMP8Gp2S5QP8A/wD/AP8EuUD/AP8A/wD/Badlp2D/AP8GqGaodadlp2LcJaZVp2WnZaZVp2LcItwnmYeZctwi3CaYdqdom5iaiYyoi5eZhqh3moeZc7lFtlWnZaZVplWnZadmp2WnZadmqHaodqdmmHaYd5mDzTeZdqh2mHaYdqdmqHanZqdmqGWnZqdmqHaoZqh2mHWnZadlp2WnZadR3CanZqdmqGaYd5l3mYaYdph3mYeZhadmqHaYd5mHmXeZiJqIi5eZiJqYmpmMqYupjKqNuo24moiLmYupjKiLmIuajLqMuo26jbt+y37Kfrp9u37LfsD/AP8Fp2anYP8A/waYdph2mHaod5mGmHaYdph2mHaYc803mYaZdph2mHanZph2p2aYdph2mHaoZph2qGaYdph4ipeaiYyoi5eZh5l4ipiaio25jKt+yn25jKmLqo26jbaYdph3moeahph3mXiaiIqYi5iLmYy5jKmLmYyqjbqNtLlA/wWnZqhg/wD/Bph3mXaoZph2mHeZd5l3mXeZh5mA/wD/Bph2mGD/AP8Fp2WmVph2mGaZdph1p2WmVadlpleZiIqIi5mLmIqXiomLqIuZjKmMqn26fbmMqYyqfbp9t5mGmHiKl5qGmGWnZ5l2mXmMqIuZjKmMqIuYipmMqYyh7RaYZadWmGeZeIuXmXiLladWmGWnZphmmXiKlpl3iomMqn25jKp9un26fbp9un25jKl9qIyZfap9un26fbp9tadmmHaZd5mHmXeKh4qIi5iKmIuZjKmMqIuZjKmMqXyoi5l8qYypfal9un25fbp9uXypfbl9qX25fbp9un25fbl9p4yJfaiLkd4g/weKhph5fbiMmX25jKeKhpl4i5eJgP8B3RWnZKZTujWXZKZVp1WXZadWmGWnZKZVp1WnVadafbl8qX25faiLl4qJjKiLmX25fbp9uX25fKiMmX2pfKaZdphnioeJdZdll2aZdpl4i5eKiXyojJeKh4qIi5iLlphniXWXZph3ioaJdol2iXWXZZhll2WYZpl2iXaZdol1mWLMJphll2D/AP8EplSmRpl1mGaJdpl1l1SmVZhll1WYZph2iXeJdol3ioeKh4uHioeLiIuYfJiLmHuYfJh8l4qHioeLl4uGiXWYZ4qGiXh8mHuYfJh8l4uXioh8mHuQ/wD/BKVEpUHcFKZEpkSmVKZEpkSmVKZUpkSmVKZUplSmVKZUplSWU7ow/wSXVZdkllSXVJdVl1WXVZhlmGWIZZdll1aJdZhll1WXVZhlmGeKhol3i4eKhol2iXeKh4qFl2WYZZhmiXWIZolmiXaJdol2ineKh4uGioeKh3uHe4D/AP8FmGWYYP8A/wWXVJZViGWYZYhlmGWXVJZVl1SWUP8A/wOmQ6VB2xSWQ6VElkOlQ6VDpkOlQ6VElkOlRJZGiXWIZol2iXWXZJdViGWYZ4p2ind7h3qGiXWJdoqGinSWQ6ZEl1SXVKZEllSXVZdViGWIZol2iXWIZYhmiXaKdJdViWSXVYhminZ6hop2eoSXVYhkl1WIZol2enaJdnp2e4Z7hnuGenZ6dnp2e4Z6dnp2enZ6dnp2enZ6dnp2enSXVYhliGWJZYl2enaKdnp1iWaJdop2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp2enV6dnp1enV6dXp1enV6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp1enV6dXplenV6ZXp1enV6dXp1enV6ZXplemV6dXp1enV6ZXplemV6ZXplenV6ZXplemV6ZXllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHllemV6ZXplemV6ZXlleWV5ZXpleWV6ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWR5ZHlleWV5ZXlkeWR5ZHlkeWR5ZXlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeVR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5ZHlkeWR5ZHlkeVR5VHlUeWR5ZHlkeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR5VHlUeVR5VHlUeFR5VHhUeVR5VHlUeVR4U3hUeFN4VHlUeFR4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4RHhUeFR4U3hTeFN4U3hTeFR4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hDeEN4Q3hTeFN4U3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hCeEJ4QnhDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhCeEJ4QndDeEJ4Q3hCeEJ3QndCeEJ3QnhCeEJ4QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3MndCd0J3QncydzJ3MncydzJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3Qncyd0J3QndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzF3MXcxdzF3MncxdzF3MXcxdzF3MXcxdzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXYxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXYxdzF2MXcxdjF2MXYxdjF2MXcxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2IXYhdjF2MXYhdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYhdjF2MXYxdjF2MXYxdjF2MXYhdiF2MXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYxdiF2IXYhdiF2IXYxdjF2MXYxdjF2MXYxdjF3MXYxdzF2MXYxdjF2MXcxdzF3MXcxdiF2IXYhdjF2MXYxdjF2MXYhdjF2IXYxdjF2MXYxdjF2MXYxdzF3MXcydzF3MncxdjF3MXcxdzJ3MncydzJ3MXcydzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Qncyd0J3QndCd0N3Qncyd0J3QndCd0N3Q3dDd0J3MncydzJ3MncydzJ3MndCdzJ3MncydzJ3MndCd0J3QndCd0J3Q3dDd0N4Q3dDeEJ3Q3dCd0N3Q3hDeEN4Q3hDd0N4Q3hDeEN4Q3hTeEN4U3hDeEN4Q3hDeFN4U3hUeFN4VHhTeFR4VHhUeFR4VHlUeFR4VHhUeFR4VHlkeFR5Y3hDeFN4Q3hTeFR4U3hUeFN4U3hTeFN4VHhUeFR4VHhUeFR4VHhUeVR5ZHlkeWV5ZHhUeWR4VHlkeWV5ZXlleWR5ZHlkeWV5ZXlleWV5ZXlkeWV5ZXlleWV5ZXlleWV5dXlleXV5dnp2enZ6dnp2enV5dnp2enZ6dnp2enZ6dnqFeWV5ZXlleWV5ZXl1eXZ6dXlleWV5ZXl1eXZ6dnp2enZ6dnp2enZ6dnp3eoZ6h3qGenZ6dnp2eod6h3uHeod7hnp3eod6h3qHe4d7l3uIe5d6h3uHe4d7h3uYe5h7mHuYe5h7mHuYfJl8qXypfKl8qHuZfKh8mXypfKl8qXypfKd7h3uXe4h7mHuYe5h7mHyXe5h7mHuYe5h7mHyofJl8qXypfKl8qXypfKp8uXyqfbl8qXypfKl8qny6fbp9un23fZd9l32XfZd9l32XfZh9l32XfZd9l32XfZh9qH2Yfah9mH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9p32XfZd9mH2YfZh9qH2ofad9mH2YfZh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qH2pfqh9qH2ofah9qX2pfql+qX6ofal9qH2pfql+qX65fql+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65fal+qX2pfql+uX65frl+uX6pfrl+qX65frl+uX65frl+uX65frl+uX65frl+un65frl+uX65frp+un66frp+uX66frl+un66frp+un66frp+un66frp+un66frp+un7Kfrp+yn7Kfsp+yn7Kfsp+yn7Kfsp+yn7Kf8p/yn/Kf8p+un66frp+un66fsp+yn7Kfrp+un66frp+yn7Kfsp+yn7Kfsp+yn/Kf8p/yn/Lf8p+yn/Kf8p/yn/Lf8t/y3/Kf8t/yn/Lf8t/y3/Lf8t/yn/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf9t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf9t/23/bf9t/23/Lf9t/y3/bf9t/23/bf9t/y3/Lf9t/23/Lf8t/23/bf9t/23/bf9t/23/bf9t/237Lfst/3H/bfst+zH/cf9x/3H/cf9x/3H/cf9x/3H/bf9t/23/bf9t/3H/bf9x/23/bf9t/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/237Lfsx/3H/bf8t/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9t/3H/cf9t/y37Mf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bfst+zH/cf9t+y37Mf9x/3H/cf9x/3H/cf9x/3H/cf9t+y37Mf9x/237Lfsx/23/cf9x/3H/cf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9qNuYyrfsqNuYuYmomMqYurfst+y3/Lf8qNuo27fst+x5mHmYmLmIuYmoiLmYupjKqMuoy7jsqOyo26jbt+y37Mf9x/3H/cf9t/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9t+y37Mf9x/23/Lf8x/23/cf9t/3H/bf9t/23/bf9t/2YyqjbqNu37Lfst+y37Lf8t+y37Lfst+y37Lf8t/y3/bfst/y3/Lf8t+y37Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf9t/23/bf8t/23/Lf9t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst/y3/Lf8t/y3/Lfst+y37Lfst+y37Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+yn67fst+yn7Kfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+yn7Lfst+yn7Kfbt+yn7Lfst+y37Lfst+yn7Kfsp+yn26fbp+yn66fbp9un66frp+yn66frp+un66frp+un67fst+y37Kfsp+yn7Kfsp+yn7Kfsp+yn7Kfsp+un7Kfrp+un66frp+un66frp+un66frp+un66frp+un66frp+uX25fbp+un66fbp9un66fbp+un66frp+un66fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un25fbp+un66frp9un26fbp9un26frp9un26fbp9un26fbp9un26fbp9un26fbl9uX25fbp9un26fbp9uX25fbl9uX2qfbl9uX25fbl9qX2pfal9qX25fbl9uX2pfal9qX2pfal9qXypfal9qXypfKl9qX2pfal9qX2pfal9qX2pfal9qX25fal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qX2pfKl8qHypfal8qXyofKl8qHypfal8qXypfKl8qHypfKh8qHyofJh8qHyofJh8mHyYfJh8qHyYfJh8mHyYfJh8mHyZfKl8qXypfKh8qHyofKh8qXyofKh8qHyofKh8mHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYe5h8mHyXe5d7mHyYfJh8mHyYfJh8mHyYfJh8mHyXe5d7mHyYfJd7l3uHfJd7mHyXfJh8l3uXe5d7l3uXe5h8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3yYfJd8mHyXe5d7l3uXe5d7h3uXe4d7l3uXe5d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z6hnqHe4d7hnp2eod7h3uHe4d7h3uHe4d7hnuHe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuGe4Z7h3uHe4d7hnuGe4Z7hnuGe4Z6dnp2e4Z7hnp2enZ7hnp2e4Z7hnuGe4Z7hnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2e4Z7dnuGe3Z6dnp2enZ6dnt2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enV6dnp2enZ6dnp1enV6dXp1enZ6dnp2enV6dXp1enV6dXp1enV6dXp1emV6ZXplemV6ZXp1emV6ZXplemV6ZXpleWZ6dXp1enV6dXp1enV6dXplenV6dXp1enV6dXplenV6ZXplemV6ZXplemV5ZXlleWV6ZXplemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWV5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5VXlleWV5ZXlleWR5ZXlkeWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeVR5VHlkeWR5ZHlkeVR5VHlUeVR5ZHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR4VHhTeFR5VHhUeVR4U3hTeFN4U3hUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeFR4U3hUeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hDeEN4Q3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hTeFN4U3hTeEN4Q3hDeFN4U3hTeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEJ4QnhCeEJ4QnhCeEJ3QndCd0J3QndCeEJ3QndCd0J3QndCd0J3Q3hDeEN4QnhCeEJ4QnhCeEN4QnhCeEJ4QnhCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCdzJ3Qncyd0J3QndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Mncyd0J3MndCdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MXcydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MncydzJ3MncxdzF3MXcydzF3MncxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF2MXcxdzF3MXYxdzF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdzF3MXcxdzF3MXcxdjF3MXcxdzF2MXcxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2IXYhdjF2MXYxdjF2MXYhdiF2MXYhdjF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2IXYhdiF2IXYhdiF2MXYxdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2IXYxdjF2MXYxdjF2IXYxdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdjF3MXYxdjF2MXYxdzF3MXcxdzF3MXcxdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXYxdzF2MXcxdzJ3MXcydzF3MXcxdzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3QncydzJ3MncydzJ3QndCd0J3MndCdzJ3QndCd0J3QndCd0J3QndCd0J3Q3dCd0N3Q3dDeEN3Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hDeFN4U3hSd0J3QndCd0N3Q3hDd0N4QndDd0J3Q3dDeEN4Q3hDeEN4Q3hDeEN4U3hUeFN4VHhTeEN4U3hTeFR4VHhUeFR4U3hUeFN4VHhUeFR4VHhUeFR4VHhUeFR4VHhUeVR4VHlkeWR5ZHlleWV5ZXlleWV5ZHlleWV5ZXlleWV5ZXlleXR4VHhUeFR4VHlkeWR5ZXlkeFR5VHhUeWR5ZXlleWV5ZXlleWV5ZXlleWV5dXl2enV5ZXlleWV5dXl2enZ6dnp1eWV5dXl2enZ6dnp2enZ6dXl2enZ6dnp2enZ6dnp2eoZ6d3qGeod6h3uHe5d7iHuXeod7h3qHe4d7mHuYe5h7lnp2enZ6dnp2end6hnqHeoZ6dnp2enZ6h3qHe4d6h3uHe4d7h3uIe5h7mHuYe5h8l3uYe5h7mHuYe5h8qHyZfKh7mHuYe5h8mXypfKl8qXyoe5h8qHyZfKl8qXypfKl8qXyqfLl8qn26fbp9un26fbp8un26fbp9un27fbp9u33IfKl8qXypfKl8qny5fKp9uXypfKl8qXypfLp9un26fbp9un26fbp9un27fct9y33Kfbp9un27fct9y37Lfct+yH2Yfah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofal9qX6pfal+qH2ofah9qX6pfql+qX6pfrh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qX2ofal9qX2pfql+qX6pfrl+uX65frl+qX65fql+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+un65frp+un66frp+un65frp+un66frp+un66frp+yX65frl+uX65frp+uX66frl+uX65frl+un66frp+un66frp+un66frp+un7Kfrp+yn66frp+un66fsp+yn7Kfsp+un7Kfsp+yn7Kfsp+yn/Kfsp+yn7Kfsp+yn/Kf8p/yn/Lf8p/y3/Lf8t/y3/Lf8p/y3/Lf8t/y3/Lf8t/y3/Kfsp+yn7Kfsp/yn/Kf8t/yn7Kf8p+yn/Kf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/y3/Lf8t/y3/bf9t/23/bf8t/y3/Lf9t/23/bf9t/23/bf9t/23/bf9x/3H/cf9t/23/bf9x/23/cf9x/3H/bf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9x/23/cf9t/23/bf9t/23/bf9t/23/bf9t/23/Lf9t/zH/cf9x/3H/cf9x/23/bf9x/3H/cf9x/3H/bf9t/23/bf9t/23/bf9t/23/Lf8t/y3/bf8t/23/Lf8t/y3/Lf8t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst/y37Lfst+y37Lfst/y37Lfst+y37Lfst+y37Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfsp+y37Lfst+y37Lfsp+yn7Kfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Kfst+yn7Kfsp+yn7Kfrp+yn7Kfsp+yn7Kfrp+un66fsp+yn7Kfsp+un66frp+un7Kfrp+yn66frp+un66frp+un66frp+un66frp+un26frp+un66frp+un26fbp9un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66fbp9un26fbp9un66fbp+un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbl9un25fbl9uX25fbl9qX2pfal9uX25fbl9qX2pfal9qX2qfbp9un26fbl9uX25fbl9un26fbp9uX25fbl9uX25fal9uX2pfbl9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfKl8qXypfKl8qX2pfKl8qXypfKh8qXyofKl9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qXypfKl8qXypfKl8qHyofKh8qHyofKl8qHypfKh8qHyofJh8qHyYfKh8qHyofKh8mHyYfJh8mHyofJh8qHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyXfJh8mHyYfJh8mHyXfJd8l3uYfJh8mHyXfJd7l3uXe5d7h3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uIfJd7l3yXe5d7l3uHe5d7h3yXe5d7l3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuGe4Z7hnuGe4Z7hnt2e4Z6dnuGe4Z7hnuGe3Z6dnt2end7h3uHe4d7h3uGe4Z7hnuHe4Z7h3uGe4Z7hnuGe4Z7hnuGe4Z7hnp2enZ6dnp2enZ7dnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp2enV6dnp1enV6dXp1enV6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXp1enV6ZXp1emV6dXp1enV6ZXplemV6ZXplenV6ZXplemV6ZXplemV6ZXpleWV6ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHllemV6ZXplemV6ZXlleWV5ZXplemV6ZXlleWV5ZXlleWV5ZXlleWV5ZXlkeWR5ZHlleWV5ZXlkeWR5ZHlkeWR5ZXlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5ZHlkeWR5ZHlkeVR5ZHlUeWR5ZHlkeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR5VHhUeVR5VHlUeVR4VHhUeFN4VHlUeFR5VHhUeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4RHhUeFR4U3hTeFN4U3hTeFR4U3hUeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hDeEN4Q3hTeFN4U3hTeEN4Q3hDeEN4U3hDeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4QnhCeEJ4QnhDeEJ4Q3hCeEJ4QnhCd0J3QnhCeEJ4QnhCd0J3QndCd0J4QndCeEJ3QndCd0J3QndCd0J3QndCd0J3QncydzJ3MndCd0J3QndCdzJ3MncydzJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3MndCd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzF3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXcxdzF3MncydzJ3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXYxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF3MXYxdzF3MXcxdjF2MXYxdjF2MXcxdjF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2IXYhdiF2IXYxdjF2MXYhdiF2IXYhdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYhdiF2IXYhdiF2IXYhdiF2MXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2IXYhdiF2IXYxdjF2MXYxdjF2MXYxdjF3MXYxdzF2MXYxdjF2MXYxdzF3MXcxdiF2MXYhdjF2IXYxdjF2MXYhdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdzF3MncxdjF3MXcxdzF3MncydzJ3MXcxdzF3MncydzJ3MncydzF3MncydzJ3MncydzJ3MncydzJ3Mncyd0J3QndCd0J3Qncyd0J3QndCd0N3QndDd0J3MncydzJ3MncydzJ3MndCdzJ3MncydzJ3MndCd0J3QndCd0J3QndDd0N4Q3dDeEJ3Q3dCd0N3Q3dDeEN4Q3hDd0N4Q3dDeEN4Q3hDeEN4U3dDeEN4Q3hDeEN4U3hTeFN4VHhTeFR4VHhUeFR4VHhUeFR4VHhUeFR4VHlUeFR5Y3hDeFN4Q3hTeFR4U3hUeFN4Q3hTeFN4U3hUeFR4VHhUeFR4VHhUeFR5VHlkeWV5ZHhUeVR4VHlkeWV5ZXlleWR5ZHlkeWV5ZXlleWV5ZXlkeWV5ZXlleWV5ZXlleWV5dXlleXV5dXl2enZ6dnp2enV5dnp2eXZ6dnp2enZ6dnqFeWV5ZXlleWV5ZXl1eWV5dXlleWV5ZXlleXZ6dnp2enZ6dnp2enZ6dnp3eoZ6h3qGenZ6dnp2eod6h3uHeod7hnp3eoZ6h3qHe4d7h3uIe5d6h3uHeod7h3uIe5d7mHuYe5h7mHuYe5h8qXypfKl8qHuYfKh7mXypfKl8qXypfKd7h3uHe4h7mHuYe5h7mHuXe4h7l3uYe5h7mHyoe5l8qHypfKl8qXypfKl8uXyqfbl8qXypfKl8qXyqfbp8un25fKl8uXyqfbp9un26fbp9uXy6fbp8un26fbp9un27fcp9u33Lfct9y33Lfst+y37Lfct+y33Lfst+zH7Lfsx+2n26fbp9un26fbt9y33Lfcp9un26fbt9y33Lfst9y37Lfct+y37Lfsx+zH7cftx+237Mfst+zH7cftx+3H7cfth9qH2ofah9qH2pfql9qX6ofal9qH2pfal+qX6pfql+uX65frl+uX65frl+uX65frl+uX65frl+uX65frl+uX64fal+qX6pfql+uX65frl+uX6pfrl+qX65frl+uX65frl+uX65frl+uX65frl+un65frl+uX65frl+un66frp+uX66frl+un66frp+un66frl+un66frp+un66frp+un66frp+yn7Kfsp+yn7Kfsp/yn7Kfsp+yn7Kfsp+yn/Kf8p+un66frp+un66fsp+un7Kfrp+un66frp+yn7Kfsp+yn7Kfsp+yn7Kf8p/yn/Lf8p+yn/Kfsp/yn/Lf8t/y3/Kf8p/yn/Lf8t/y3/Lf8t/yn/Lf8p/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/bf8t/y3/Lf8t/y3/bf8t/23/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf9t/23/bf9t/23/Lf8t/y3/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/3H/cf9x/3H/cf9t/3H/cf9x/3H/cf9x/3H/bf9t/23/bf9t/23/bf9x/23/bf9t/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9x/23/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/cf9x/3H/bf9x/23/cf9x/3H/bf9t/23/bf9t/3H/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf9t/23/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/23/bf9t/23/bf8t/y3/Lf9t/23/bf8t/y3/Lf8t/y3/Lf8t/y3/Lf8t/y3/Lfst/y3/Lf8t/y3/Lfst+y37Lf8t/y3/Lf8t+y37Lfst+y3/Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+y37Lfst+yn7Lfst+y37Lfst+yn7Lfsp+yn7Kfsp+yn66frp+un66frp+yn66fsp+un66frp+un67fst+y37Kfsp+yn7Kfsp+y37Kfst+yn7Kfsp+yn7Kfrp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp+un66frp9un66fbp+un66frp+un66fbp9un26fbp9un26fbp9un26fbp9un26fbp9un26fbp9un25fbp+un66frp+un26fbp9un26frp9un66fbp9un26fbp9un26fbp9un26fbl9uX25fbp9un26fbl9uX25fbl9uX26fbl9uX25fbl9uX2pfbl9qX25fbl9uX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX25fal9uX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal9qX2pfal8qX2pfKl9qX2pfal8qX2pfKl8qXypfal8qX2pfKl8qHyofKh8qHyofKh8qHyofJh8mHyYfJh8qHyofKh8mHyYfJh8mHyZfal8qXypfKh8qHyofKh8qXypfKl8qHyofKh8mHyofJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8l3uXfJd7mHyYfJh8l3yXe5d7l3uXe4h8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJh8mHyYfJd8mHyXe5d8l3uXe5d7h3uXe4d7l3uXe5d7h3uHe4d7h3uHe5d7h3uXe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7hnuHe4Z7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4d7h3uHe4Z7hnuGe4Z7h3uHe4d7hnuGe4Z7hnuGe4d7hnuGe4Z7hnuGe4Z7hnt2e4Z7hnuGe4Z7dnp2e3Z6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2e4Z7dnuGe3Z6dnp2enZ6dnuGe3Z6hnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dnp2enZ6dXp2enZ6dnp2enZ6dnp1enV6dXp1enZ6dXp2enV6dXp1enV6dXp1enV6dXp1enV6ZXplemV6ZXp1emV6dXplemV6ZXpleWZ6dXp1enV6dXp1enV6dXp1enV6dXp1enV6dXplenV6ZXplemV6ZXplemV5ZXpleWV6ZXplemV5ZXlleWV5ZXllemV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZXlleWV5ZHlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZXlleWV5ZXlleWR5ZHlkeWV5ZXlleWR5ZHlkeWR5ZHlkeWR5ZHlkeWR5ZHlUeWR5VHlkeWR5ZHlUeVR5VHlUeVR5ZHlUeWR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeFR4VHhTeFR5VHlUeVR4VHhTeFN4U3hUeVR5VHlUeVR5VHlUeVR5VHlUeVR5VHlUeVR4VHlUeFR5VHhUeFN4U3hTeFN4U3hUeFN4VHhTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4U3hTeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4U3hTeFN4U3hTeEN4U3hDeFN4U3hTeFN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDeEN4Q3hCeEN4QnhCeEJ4QnhCd0J3QndCeEJ3QndCd0J3QndCd0J3Q3hDeEN4Q3hCeEJ4QnhCeEN4QnhDeEJ4QnhCd0J4QndCeEJ3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCd0J3QndCdzJ3Qncyd0J3QndCd0J3QncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Mncyd0J3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncxdzJ3MXcydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzJ3MncydzJ3MXcxdzF3MXcydzJ3MncydzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdzF3MXcxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXcxdzF3MXcxdzF2MXcxdjF3MXcxdzF3MXYxdzF3MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdiF2MXYxdjF2IXYhdiF2MXYhdjF2MXYxdjF2IXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYxdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2MXYhdiF2IXYhdiF2MXYhdjF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdiF2IXYhdjF2MXYxdjF2IXYhdiF2MXYxdjF2MXYxdjF2MXYxdjF2MXYxdjF3MXYxdjF2MXYxdjF3MXcxdzF3MXcxdzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MXYxdjF2MXcxdzF3MXcydzF2MXcxdzF3MXcydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3MncydzJ3Qncyd0J3MncydzJ3QndCd0J3QndCdzJ3Qncyd0J3Q3dCd0N3Q3dDd0N3Q3hDeEN4Q3hDeFN4Q3hDeEN4Q3hDeFN4U3hSd0J3QndCd0N3Q3dDd0N4QndDd0J3Q3dDd0N4Q3hDeEN4Q3hDeEN4U3hUeFN4VHhTeEN4U3hTeFN4VHhUeFR4U3hUeFN4VHhUeFR4VHhUeFN4VHhUeFR4VHhUeVR4VHlkeVR5ZHlkeWV5ZXlleWV5ZHlleWR5ZXlleWV5ZXlleWR4VHhUeFR4VHlUeWR5ZHlkeFR5VHhUeWR5ZXlkeWV5ZXlleWV5ZXlleWV5dXlleXV5ZXlleWV5ZXl2enV5dnp1eWV5dXlleXZ6dnp2enZ6dXl2enV5dnp2enZ6dnp2eoZ6d3qGeod6h3uHe4d7h3uXeod7h3qHe4d7iHuXe5h7lnp2enZ6dnp2end6hnp3eoZ6dnp2enZ6h3qHe4d6h3uHeod7h3uHe5h7mHuYe5h7l3uIe5d7mHuYe5h8mHuZfKh7mHuYe5h7mHyZfKl8qXyoe5h8mHuZfKl8qXypfKl8qXypfKl8qny6fbp9un26fbl8qn26fLp9un26fbp9u33IfJl8qXypfKl8qXypfKp8uXypfKl8qXypfKp9uny6fbp9un26fbp9un27fct9y33Kfbp9un27fct9y33Lfct+yn27fct9y33Lfct+y37Lfst9y37Lfct+y37Lfst+zH7bfsx+3H7cftx+3H7cftx+3H7cftx+3H7cftx+3H7cftt9y37Lfst+zH7Mftx+3H7bfst+y37Mftx+3H7cftx+3H7cftx+3H7cftx+3H7cftx+3H7cftx+3H7cftx+3H7Q== + + + + + diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_dummy.bcwav b/tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_dummy.bcwav new file mode 100644 index 0000000000000000000000000000000000000000..d579907da6824f4216b582327a468dba0808fdc3 GIT binary patch literal 73288 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_imp.cbmd b/tags/1stNUP/CardSaveData/Mover/Imp/banner/banner_imp.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..e64d1836615ed50dc9c8773508b2729bc3621c5e GIT binary patch literal 16575 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 UoriK*?DL2Wgazm|m>K(j0PUE9DF6Tf literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/banner/icon2_24.ctpk b/tags/1stNUP/CardSaveData/Mover/Imp/banner/icon2_24.ctpk new file mode 100644 index 0000000000000000000000000000000000000000..a96f3786494d1c396c3d8d3c514b63a22f657187 GIT binary patch literal 1152 zcma)5D{{jy6!ZZK41I;%z!wOxXF?1^i#&lHqtK#)o}ef2jG@g!O#*s@Tp%EzARyqi zoAvr>6t`1(r1xJvucU0u=I^pM%f{Pjy|Q^A3PW-ZOv>lIM&9cI*{mqaw~GGb_Pm8A zo8F={YdYadGUluNk{$`Q>j73SSSt25k(Dl#{z4PZ?Bb%cr@lQivmraLkp(y@nd*m+- zXzg@bI2Vq(Y^(Zi!H2FlJMGJkn@+j0OcQ>wKeoYAKIY@l=OcN;+H};(AaybWp17+s z6=N>jaX#%OFHUNCq(65?1A3a^2H?%et9!z?1oX$DdnAbr@kP|o@_O#B7;0D-)nXcuA{##mfOg(B&I$*39Q##6J^aj_Z-{cSmg=eu-RF$C359 zr~CN5Vt1agH^vlpQH83;;KidrrzH3q9Ul)LR{UPpJJh>K?9hDv(t_lipe3ZFypKj*J^s zuI3uw7VG(m=~%Cj=Xa(v!8t=BZ}nQQo)5Ef9(UlA<21}BLN}{9VMNe%pNea9UhZAj zowQExK3{8pjk-s#yM8_4dlmQNp8gv2do^v;=e~FTGk62LC$09^==wX~^{-F*tTLb1 z+;eyMPT2kGy!U=4?NykNGuFSc+4<>y_oUT+pmxXQ|6f=~^p7kS*LN#&n3Q!z7Hn5Wj;z?DqvY3XJNe(0bv+`{ZgPJ_%6;5@fF8)ZKJbpcs4rU-XSQlkUZuOc& z^biakowta*t$)e5B+JOi)y%jJq6Vt$8ugj%qfd1Z_Q1<1K6VYw?I8*)Y^09TfS#`1 zA(D?+H*o7($D;pxAZj5KJzc@wjE{nLnc4&Fj*;1} zF(1{FdR8CmO?|3Y^^WyLb=3X!;=`djRb@s0hJLfQHi%o=`wLXi26gk-*ElxyC8agpLu&Yfcy}$?F)Ggt%n_+QcoraEXy{FCW)P`sp!4Bt8}*-nv9CFHG=GR^ z_F?ebOBKYl)2xa)7@ul8jj3JL@u_yBslvDPG*qXjq1ugR4fRfRw#;1A`!?@aw#!KwjIrPZ9zH4gi45r2{b1AVqZQW0`ogqo>Mze`;+TIVg_*AE( z$!Z6wcjGDJ-`&m=-}rFHE}`1alcaW|sU^B&i%)fW8mirB_ME(-Iz0{5>1e(Iled{G literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_list.txt b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_list.txt new file mode 100644 index 0000000..5f9944f --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_list.txt @@ -0,0 +1,3 @@ +# +EJF10000237 +EJF10000308 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_sign.dat b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/csm_sign.dat new file mode 100644 index 0000000000000000000000000000000000000000..65d55eb549fc20fd0596b2694992d007b5fb91ae GIT binary patch literal 256 zcmV+b0ssC;gI2aZKN{fw(jcfxhv~-FIkCNuc;(C7QGP#R-e0}o-XX9=liRi%N@F74 zwUd{E21>JCqeWf7afb-aanANfQQ*sV8&L0b0uv%z&*i1A@@h~=h?Mu14R1{g4lBv! z#EsALosuz>Cbm$#631~>=1pfPmY&$cAKdkiL}YzuYaG1|j|RT5VG6ChdO(ixI5 z?}&UggY9QRuEsc~jzOvIwe5p#*`!*~^gdv0B#C3X7vkO1W7*28++ZqpP`BE72rU&f z9}yNrK<@062y%ueJrx<=nMzY$zZOn4(9P^Gi5qh5l9$$j^&%ZOK2cRmhzl_k0D{dX GQlcIQ(|w)* literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey.bat b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey.bat new file mode 100644 index 0000000..813beb0 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey.bat @@ -0,0 +1,4 @@ +openssl genrsa -out private_key.pem 2048 +openssl enc -d -base64 -in private_key.pem -out private_key.der +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der + diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey_100.bat b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey_100.bat new file mode 100644 index 0000000..0524431 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makekey_100.bat @@ -0,0 +1,3 @@ +rem ver1.0.0p +openssl genpkey -out private_key.der -outform DER -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makesign.bat b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makesign.bat new file mode 100644 index 0000000..1d87ba0 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/batch/makesign.bat @@ -0,0 +1,7 @@ +@echo off +if "%1"=="" goto 1 +openssl dgst -sha256 -binary -keyform DER -sign ../key/private_key.der -out csm_sign.dat %1 +goto end +:1 +openssl dgst -sha256 -binary -keyform DER -sign ../key/private_key.der -out csm_sign.dat csm_list.txt +:end diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/caution.txt b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/caution.txt new file mode 100644 index 0000000..496953d --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/caution.txt @@ -0,0 +1,5 @@ +閧̈͒ +쐬Kv̖ɂ͏oȂ + +쐬́AzzŎgpo[WɓĂ +ƃyA̔閧g diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/digit.txt b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/digit.txt new file mode 100644 index 0000000..6691db8 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/digit.txt @@ -0,0 +1,45 @@ + +{̈̃VAŌ̎lpgɓ +digitƂ̂炵 +Xg쐬ɓ͈Ⴂ`FbN̂Ɏg +R}hCŃt@Cw肷ȒPȃ`FbJ[Ƃ + + +ȉAJ삳񃁁[ +---------------- +`FbNfWbǧvZ@͈ʓIȂ̂炵A +"WX10 EFCg3E1iM10W31j"Ƃ̂炵łB + + +// NULLI[ꂽVAio[󂯎 +// NULL̏ꏊɃ`FbNfWbgtĐVNULLI[ +void AddCheckDigit(char* serial) +{ + size_t len = std::strlen(serial); + + u8 digit = 0; + bool odd = true; + for(u8 i = len - 1; i > 0 && std::isdigit(serial[i]); i--) + { + if(odd) + { + digit += (serial[i] - '0') * 3; + } + else + { + digit += (serial[i] - '0'); + } + odd = !odd; + } + + if(digit % 10 != 0) + { + serial[len] = 10 - (digit % 10) + '0'; + } + else + { + serial[len] = '0'; + } + + serial[len + 1] = '\0'; +} diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/import.txt b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/import.txt new file mode 100644 index 0000000..e94a4f3 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/import.txt @@ -0,0 +1,27 @@ + +ړIF‚{̂̂݃C|[g + +JROMǂݍ + +SCj@c[p{̂̃VA[ȂǂRED֘A +RED)@Xg(csm_list)Ə(csm_sign)쐬 + + +C|[g菇 +E@XgASDCTRɍ +E@C|[gpAvJ[hN +E@LȖ{̂ȂC|[gj[\ + + +Openeelō쐬 +ɎSD[gɒu + +Xg̏ +C|[gƒVAeLXgŗ +--- +aaaaaaaa +bbbbbbbb +---- +{̗VAI[digit(lpg̐)͏Ȃ +digitmFꍇ̓Xg쐬ɂƂ +t@CTCY64K܂(VÂ݋LڂŁA悻4000) diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/key/public_key.der b/tags/1stNUP/CardSaveData/Mover/Imp/imp_list/key/public_key.der new file mode 100644 index 0000000000000000000000000000000000000000..1fa5839e9ca56fe8fc04d59c64fbd1eea44357fa GIT binary patch literal 294 zcmV+>0ondAf&n5h4F(A+hDe6@4FLfG1potr0S^E$f&mHwf&l>lzS6fQ=>U7M&2Scf5Xi%L!e#ZkK%eF##}bK*?r z+-k`}x4^w)>?z!?udkMObJ4vfWMPyyTE}h-iA`*1HRwURrdMyR`hY$JlqbyAf*EUs z+rj? zf!m|k^xk|;KQmd=Gg;rwntN{FTyUv>Zik)aJ8tKa^_prt68->UeLT3*KNnal^Ao@J zx|sGT$F#>6n6`hJX@iU5+wMIc4SJT7p`tT{y&o)M{Q*B@H0{t44_Ov^%v;QaKIaje zf)ee@c^~=Vuot?+-aFVgmri+@1Lwdw!9RH`56*-0g8%Sn1Uv#B0grm@8Z{F~xn=f> z7VT*4|NiIgLxWzrM)s3yn7>_`w!;Fr04@kF+bt7pf=$5-c2oox!9~I7FSA^FLrpu9 zeb();IE6e%-a~%ZZW&+$YzW4D^pLbX+p$)B$GQ`UGd4wBYfLsWaMs_a8=cT6qtw9f zrP`3vai;V*)~ANzbVHZ(Qv-^1o|3#4*IA9%H&0dF-B@>G{rXwOab4tor5BTOefUu6 zkAjLX>?;o9baY~-04Cne z5o{2~WE2j~z&JXD$r(g{F#w>1tSwm75JUVYhPcoqJke(gU!iI0klG7hjNAUL4XSRe ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/Imp/source/main.cpp b/tags/1stNUP/CardSaveData/Mover/Imp/source/main.cpp new file mode 100644 index 0000000..32e77e2 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/Imp/source/main.cpp @@ -0,0 +1,490 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "demo.h" +#include "../../body/ver.h" +#include "../../../common/sleep.h" +#include "../../../common/common.h" +#include "../../../common/shfnt.h" +#include "../../../common/test_data.h" + +#define INF_FILE "sdmc:/csm_inf.txt" + +#define KEY_LENGTH 2048 +#define LIST_FILE "sdmc:/csm_list.txt" +#define SIGN_FILE "sdmc:/csm_sign.dat" + + +extern "C" { + extern u8* PUBLIC_KEY_BEGIN[]; + extern u8* PUBLIC_KEY_END[]; + + const void* PUBLIC_KEY = PUBLIC_KEY_BEGIN; +} + +demo::RenderSystemDrawing s_RenderSystem; +nn::fnd::ExpHeap appHeap; +uptr heapForGx; +void ErrorStop(char *s); +void ErrorPOff(char *s); + +const size_t ROMFS_BUFFER_SIZE = 64*1024;//ROMマウント用 +const size_t READ_BUFFER_SIZE = 64*1024; + +#define SDK_SER_LEN nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN + +namespace +{ + u8* readBuf; + u8* romfsBuf; + +} +nn::Result result; + + +bool ImportFile(nn::fs::MediaType mediaType, wchar_t* filename) +{ + //nn::Result result; + + nn::fs::FileOutputStream* stream; + result = nn::am::BeginImportProgram(&stream, mediaType); + if (result.IsSuccess()) + { + //NN_LOG("Importing: %ls...", filename); + nn::fs::FileInputStream in(filename); + + while(s32 read = in.Read(readBuf, READ_BUFFER_SIZE)) + { + stream->Write(readBuf, read); + } + result = nn::am::EndImportProgram(stream); + } + return result.IsSuccess(); +} + +#define LIST_MAX 4000 +#define LIST_LENGTH (LIST_MAX * (nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1)) +u8 s_list[LIST_MAX][nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1];//シリアルリスト +u8 sign[256];//署名 +u8 serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1]; + +//本体シリアル取得 +int GettedSerLen; +bool GetSerial(){ + nn::cfg::CTR::init::Initialize(); + nn::cfg::CTR::system::Initialize(); + result = nn::cfg::CTR::system::GetSerialNo(serialNo); + nn::cfg::CTR::system::Finalize(); + nn::cfg::CTR::init::Finalize(); + serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN] = 0; + GettedSerLen = strlen((char*)serialNo); + return result.IsSuccess(); +} + + + +//#define setColor(r,g,b,a) s_RenderSystem.SetColor(r,g,b,a) +void setColor(f32 r,f32 g,f32 b,f32 a){ shf_SetColor(r,g,b,a);} +//#define setText(x,y,s) s_RenderSystem.DrawText(x,y,s) +void drawText(u16 x,u16 y,char *s){ shf_DrawText_0( x,y,s);} +//上はASCIIのみ対応したTextWriterへのラッパ +//日本語表示の場合、WideTextWriterを使う(要sft_側の関数追加) + + +nn::hid::PadReader *hpr; +//入力待ち +nn::hid::PadStatus padStatus; +u32 WaitKey(u32 mask) +{ + + while(1){ + hpr->ReadLatest(&padStatus); + if(padStatus.trigger & mask)return padStatus.trigger; + CheckSysBreak(); + int i = nn::ndm::GetDaemonStatus( nn::ndm::DN_CEC ); + if (i !=3 )NN_LOG("DN_CEC %d\n",i); + i = nn::ndm::GetDaemonStatus( nn::ndm::DN_BOSS ); + if (i !=3 )NN_LOG("DN_BOSS %d\n",i); + i = nn::ndm::GetDaemonStatus( nn::ndm::DN_NIM ); + if (i !=3 )NN_LOG("DN_NIM %d\n",i); + i = nn::ndm::GetDaemonStatus( nn::ndm::DN_FRIENDS ); + if (i !=3 )NN_LOG("DN_FRIENDS %d\n",i); + } +} + +//終了 +void endfunc() +{ + appHeap.Free(reinterpret_cast(readBuf)); + appHeap.Free(reinterpret_cast(romfsBuf)); + nn::hid::Finalize(); + SharedFontFinalize(); + nngxWaitVSync(NN_GX_DISPLAY_BOTH);//SDK2.0以降では不要? + s_RenderSystem.Finalize(); +} + +//署名検証 +bool VeriRsa(u8* src,size_t sz,u8* sig) +{ + nn::crypto::RsaKey key; + //nn::crypto::Initialize(); + nn::ps::CTR::Initialize(); + result = key.InitializePublicKey(PUBLIC_KEY_BEGIN,KEY_LENGTH); + if (result.IsSuccess()) + { + result = nn::ps::CTR::VerifyRsaSha256(src,sz,sig,key); + } + //nn::crypto::Finalize(); + nn::ps::CTR::Finalize(); + return result.IsSuccess(); +} + +//エラー +void ErrorCommon(char *s,char *ss) +{ + char str[128]; + nn::am::FinalizeForLocalImporter(); + nn::fs::Unmount("sdmc:"); + nn::fs::Unmount("rom:"); + NN_LOG(s); + NN_LOG(" result = %d\n",result.GetDescription()); + shf_SetScale(0.7,0.7); + setColor(1.0, 0.0, 0.0,1.0); + strcpy(str,"Error: "); + strcat(str,s); + drawText(10,100,str); + drawText(10,140,ss); +} + + +void ErrorStop(char *s) +{ + ErrorCommon(s,"Push Home Button & end"); + s_RenderSystem.SwapBuffers(); + WaitKey(0); +} + +void ErrorPoff(char *s) +{ + ErrorCommon(s,"Push Power Button & Power Off"); + drawText(10,160,"Home Button is invalid"); + s_RenderSystem.SwapBuffers(); + WaitKey(0); +} + + +//改行後の位置を返す、0=見つからなかった +int CrLf(int n,int max) +{ + u8 d; + while(n < max) + { + d = readBuf[n]; + if (d==0x0a)return n+1;//LF + if (d==0x0d)//CR + { + if (n == max-1)return 0;//終端 + n++; + if (readBuf[n]==0x0a)return n+1;//CR+LF + ErrorStop("list broken");//CRのみは異常、署名時にファイル壊れてた? + } + n++; + } + return 0; +} + + +nn::fs::FileInputStream fi; +//ファイルリード +s32 FileRead(char* fname) +{ + s32 size; + result = fi.TryInitialize(fname); + if (result.IsFailure()){//open error + //NN_LOG("desc= %d\n",result.GetDescription()); + return 0; + } + result = fi.TryRead(&size,readBuf,READ_BUFFER_SIZE); + fi.Finalize(); + if (result.IsFailure()){ + //NN_LOG("desc= %d\n",result.GetDescription()); + return 0; + } + return size; +} + + +char ver[16]; +char seri[32]; +void nnMain( void ) +{ + //nn::Result result; + bool flg_applove=false; + bool flg_test=false; + int i,j,n; + s32 fsize; + extern bool prohibitHome;// HOME ボタン禁止 + + nn::os::Initialize(); + nn::fs::Initialize(); + + //DEA-SUPにて推奨のフリーズ暫定対策:無線デーモンを停止 (2011.3.1 現在) + //ただし、スリープ時の"いつのまに通信"は止まらない + //無線は使わないので本体横スイッチ切っとくのが確実 + nn::ndm::Initialize(); + result = nn::ndm::SuspendScheduler(); + NN_LOG("%d",result.GetDescription()); + + //中断処理の準備 + InitSysBreak((uptr)endfunc); + // グラフィックスライブラリの初期化は、以降で行わなければならない + // 他、アプリケーションの初期化処理 + + nn::hid::Initialize(); + nn::hid::PadReader padReader; + hpr = &padReader; + + //result = nn::ns::CTR::InitializeForShell(); + //if (result.IsSuccess()) + result = nn::am::InitializeForLocalImporter(); + + nn::applet::DisableSleep();//スリープ非対応 + + // ヒープの確保 + appHeap.Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + const u32 s_GxHeapSize = 0x800000; + // RenderSystem の準備 + heapForGx = reinterpret_cast(appHeap.Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + SharedFontInit(); + + // 共有フォントの種類を取得 + //nn::pl::SharedFontType sftype = nn::pl::GetSharedFontType(); + + // スリープ要求に対する返答を有効にする + // また、蓋の状態チェックを行い蓋が閉じられているならスリープ要求が発生する +// nn::applet::EnableSleep(true); + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); +// s_RenderSystem.SetFontSize(12); + shf_SetScale(0.8,0.6); + setColor(1.0,1.0,1.0,1.0); + drawText(20,20,"CTR Card Savedata Mover Setup"); + s_RenderSystem.SwapBuffers(); + + shf_SetScale(0.5,0.5); + sprintf(ver,"version %.2f",VERSION); + drawText(250,40,ver); + + shf_SetScale(0.7,0.7); + if (result.IsFailure())ErrorStop("Initialize");//初期化に失敗 + if (READ_BUFFER_SIZE < LIST_LENGTH)ErrorStop("buffer size");//バッファサイズのチェック + + //ファイルバッファ + //カゲマイ上のSDリード速度比較実験で32アラインが良かったので、おまじない + //回数もサイズも少ないので気にする必要ないかも + if (READ_BUFFER_SIZE > appHeap.GetTotalFreeSize())ErrorStop("memory alloc"); + readBuf = reinterpret_cast(appHeap.Allocate(READ_BUFFER_SIZE,32)); + if (ROMFS_BUFFER_SIZE > appHeap.GetTotalFreeSize())ErrorStop("memory alloc"); + romfsBuf = reinterpret_cast(appHeap.Allocate(ROMFS_BUFFER_SIZE,32)); + + + //シリアルチェック + if( GetSerial() == false)ErrorStop("Get Serial");//本体シリの取得に失敗 + + result = nn::fs::MountSdmc();//ダイレクトでマウント..マスタリング時にワーニング + if (result.IsFailure())ErrorStop("Mount SD"); + fsize = FileRead(INF_FILE);//設定ファイルがあるか + if((fsize < 1024) && (fsize > 0))//サイズチェック,増えても1Kは超えない + {//不具合調査時に状況にあわせて現場で作成&変更を想定したオプション + //通常は不要なので無しでも動くようしとく + n = 0; + while(n < fsize) + { + if (readBuf[n] == '-'){ + if (n == fsize-1)break;//終端 + n++; + switch (readBuf[n]){ + case 'p':// -p .. 本体シリアル表示 + strcpy(seri,"s/n: "); + strcat(seri,(char *)serialNo); + shf_SetScale(0.5,0.5); + drawText(10,40,(char*)seri); + shf_SetScale(0.7,0.7); + break; + case 't':// -t .. テストメニュー有効 + flg_test = true; + break; + } + } + n++; + } + } + + //シリアル表示(オプション)後にチェック + //デバッガ=15,実機=11 + if (GettedSerLen < 11)ErrorStop("invalid Serial"); + + fsize = FileRead(SIGN_FILE);//署名リード + if(fsize != 256)ErrorStop("sign file");//鍵のbit長は2046固定 + memcpy(sign,readBuf,256);//readBuf -> sign + fsize = FileRead(LIST_FILE);//リストリード + if((fsize > LIST_LENGTH ) || (fsize == 0))ErrorStop("list file"); + + nn::fs::Unmount("sdmc:"); //検証後はSDから読まないでメモリバッファ上のデータを使う: 差替え対策 + if (VeriRsa(readBuf,fsize,sign) == false)ErrorStop("sign verify"); + + //署名検証OK + int list_ct = 0; + n=0; + while(n < fsize)//リスト作成 + { + if (readBuf[n] == '#')//コメント行を無視、ワイド文字非対応 + { + i = CrLf(n,fsize);//コメントの次行 + if (i == 0)break;//ファイル終わりまで改行が見つからない + }else + { + //改行さがし + if ((fsize-n) > (SDK_SER_LEN+2)) + {//シリアルは改行つける + i = CrLf(n,n+SDK_SER_LEN+2); + if (i == 0)ErrorStop("list broken");//改行が見つからない + }else{ + i = CrLf(n,fsize); + if (i ==0)i = fsize;//改行以外でファイル終 + } + if ((i-n) > GettedSerLen)//シリアルをリスト化 + { + j = 0; + while(n=LIST_MAX)ErrorStop("List too Long"); + } + } + if ((fsize-i) < GettedSerLen)break;//ファイル終 + n=i;//ポインタを改行の次へ + } + + //プログラムミス、コードバグ対策 + //値が小さいと判定が緩くなるが、動作確認時にスルーしそうなので + //念の為チェック + if (GettedSerLen < 11)ErrorStop("invalid Serial"); + + //本体シリアルがリストにあるかチェック + n =0; + while(n exsave ύX +SOURCES[] = + ./source/main.cpp + ./source/screen/screen.cpp + ../../common/savefile/savedata.cpp + ../../common/savefile/membak.cpp + ../../common/savefile/savefile.cpp + ../../common/gui/gui.cpp + ../../common/shfnt.cpp + ../../common/sleep.cpp + ../../common/common.cpp + +#LIBS += lib_demo libnn_am +#LIBS += libnn_ps + +TARGET_PROGRAM = CtrSaveDataMover + +TITLE = CSM_body + +# ROMFS ̃[gpXw肵܂B +#ROMFS_ROOT = + +# Ǝ RSF t@Cw肷ꍇ +ROM_SPEC_FILE = body.rsf +DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/repairtool.desc + +# oi[AACR +CTR_BANNER_SPEC = banner_null_icon.bsf + + +#Cia o[W:}X^OɍXV邱 +#W[rsfŎw(Remasterversion) +MAKECIAFLAGS = -minor 0 -micro 12 + +include $(ROOT_OMAKE)/modulerules + +build: $(DEFAULT_TARGETS) diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner.bsf b/tags/1stNUP/CardSaveData/Mover/body/banner.bsf new file mode 100644 index 0000000000000000000000000000000000000000..516f44d35878f9fb77d917481df66b6b4c23f6e1 GIT binary patch literal 1954 zcmb7^TTjA35QWdHCjJK!pS{HJV0e>D4Jt?|JQE6}G!{`T8vnd{&SFUs(pj@1?9y+} z&dllX{dI~uLIkMb%&iK~V?1-su;Q;FUbvfZ7a&2({Rxioz93d)b zT#(%mBV3`1bDlD)J~^d2pT_^vsN(vMMu+!LnMqobLop*|5MjX>)e6pqSKKXl|0edbP^UB#lCi7#m5~YQ*|wftZS^L9 zSMq%1ifWVgK7EHC-!%0xMz@efgY|b@9xeV}P6W)YoVZ2HAleuhL}+H(Ff+Z!qj5_U zLxbp<8hukkKB@B|--RXp%u0H1G3vg>sQ(rt2P{S&Sd3h-82Ml^a>8Qdg~iAXi^=`y zalRr>WWtG=b7od + + + + + MetaData + + + + + + + + + ContentSummaries + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelDccToolInfo + + + OptimizationLogs + + + + + + + + + + + + Skeleton.Bones["*"].AnimatedTransform + + + + + + + IsVisible + + + Meshes["*"].IsVisible + + + IsBranchVisible + + + + + + + Materials["*"].MaterialColor.Emission + + + Materials["*"].MaterialColor.Ambient + + + Materials["*"].MaterialColor.Diffuse + + + Materials["*"].MaterialColor.Specular0 + + + Materials["*"].MaterialColor.Specular1 + + + Materials["*"].MaterialColor.Constant0 + + + Materials["*"].MaterialColor.Constant1 + + + Materials["*"].MaterialColor.Constant2 + + + Materials["*"].MaterialColor.Constant3 + + + Materials["*"].MaterialColor.Constant4 + + + Materials["*"].MaterialColor.Constant5 + + + Materials["*"].TextureMappers["*"].Sampler.BorderColor + + + Materials["*"].TextureMappers["*"].Texture + + + Materials["*"].FragmentOperation.BlendOperation.BlendColor + + + Materials["*"].TextureCoordinators["*"].Scale + + + Materials["*"].TextureCoordinators["*"].Rotate + + + Materials["*"].TextureCoordinators["*"].Translate + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 1 2 1 3 2 + + + + + + + +-12 -6 6.5 +12 -6 6.5 +-12 6 6.5 +12 6 6.5 + + 0 0 1 + +0 0 +1 0 +0 1 +1 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Textures["banner"]@file:Textures/banner.ctex + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DccToolSourceNode + + BONE_00 + + + + Shapes[0] + Materials["MT_00"] + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner/BannerModel_test/COMMON/Textures/banner.ctex b/tags/1stNUP/CardSaveData/Mover/body/banner/BannerModel_test/COMMON/Textures/banner.ctex new file mode 100644 index 0000000..c36b19c --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/banner/BannerModel_test/COMMON/Textures/banner.ctex @@ -0,0 +1,17 @@ + + + + + + + + + + + + B/YH9gf2B/YH9gf2B/YH9wf2B/YH9gf2B/YH9wf2B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf2B/YH9gf2B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH9wf3B/cH9wf3B/gH+Af4B/cH9wf3B/cH+Af4B/gH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af5B/gH+Af4B/gH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+gf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/sH+gf6B/oH+gf6B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf7B/sH+wf7B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af8B/wH/Af7B/wH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/0H/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf9B/0H/Af8B/wH/Af8B/0H/Af9B/wH/Af8B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf+B/0H/Qf9B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/4H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/wf+B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf/B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf/B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/8H/gf/B/4H/wf/B/4H/gf+B/4H/gf+B/8H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/0H/Qf9B/4H/Qf9B/0H/Qf9B/0H/Qf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Af8B/wH/Af8B/0H/Af8B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Af9B/wH/Qf9B/0H/Qf9B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH/Af8B/wH/Af7B/sH+wf8B/sH/Af7B/sH+wf7B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+wf6B/sH+wf7B/sH+gf6B/oH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf4B/gH+Af4B/gH9wf4B/cH+Af4B/gH+Af4B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/gH+Af4B/gH+Qf4B/kH+Af4B/gH+Af5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf5B/oH+Qf5B/kH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/sH+wf7B/sH+wf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/wH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH/Af8B/sH+wf7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af9B/wH/Qf8B/wH/Af8B/0H/Qf9B/0H/Af9B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf9B/0H/Qf9B/0H/gf+B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf+B/4H/gf+B/4H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/8H/wf/B/4H/wf+B/8H/wf/B/8H/wf+B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/8H/wf/B/4H/wf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/gf+B/4H/gf/B/8H/wf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/0H/Qf9B/0H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Qf9B/0H/Af8B/wH/Af9B/0H/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH+wf7B/sH+wf7B/sH+wf8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/sH/Af8B/wH/Af8B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf7B/sH+wf7B/sH+gf6B/oH+wf7B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/kH+Qf6B/oH+gf5B/kH+Qf5B/kH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH9wf4B/cH9wf3B/cH+Af4B/gH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af5B/gH+Af4B/gH+Af5B/kH+Qf4B/gH+Af5B/kH+Qf5B/kH+Af5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+gf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+wf7B/sH+wf7B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/wH/Af7B/wH+wf8B/wH/Af8B/wH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/0H/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf9B/0H/Af8B/wH/Af8B/0H/Af9B/wH/Af8B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/0H/Qf9B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/Qf9B/4H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/wf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf+B/8H/gf+B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf+B/4H/wf+B/8H/wf+B/4H/gf+B/8H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/0H/Qf9B/4H/gf+B/0H/Qf9B/0H/Qf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Af8B/wH/Af8B/0H/Af8B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Qf9B/wH/Qf9B/0H/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH/Af8B/wH/Af7B/wH+wf8B/wH/Af7B/sH+wf7B/sH/Af7B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+wf6B/sH+wf7B/oH+gf6B/oH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/sH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH+Af4B/gH9wf4B/gH+Af4B/gH+Af4B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Qf5B/kH+Qf5B/gH+Qf5B/kH+Qf5B/kH+Qf4B/gH+Af4B/gH+Af4B/kH+Af4B/gH+Af4B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf5B/oH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf5B/kH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+wf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/sH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH/Af8B/sH+wf7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/wH/Af8B/wH/Qf8B/0H/Af8B/wH/Qf9B/0H/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf+B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/8H/wf/B/4H/gf+B/8H/wf/B/8H/wf+B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/8H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/wf+B/8H/gf/B/4H/wf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/Qf+B/0H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf9B/0H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf8B/0H/Af9B/0H/Qf8B/wH/Af8B/wH/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH+wf7B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/sH/Af8B/wH/Af8B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf7B/sH+wf7B/sH+gf7B/oH+wf7B/sH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf6B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/kH+Qf6B/oH+gf6B/kH+Qf5B/kH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH9wf4B/cH9wf3B/cH+Af4B/gH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af5B/gH+Af4B/gH+Af5B/gH+Qf4B/gH+Af5B/kH+Qf5B/kH+Af5B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+gf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+wf7B/sH+wf7B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/wH/Af7B/sH+wf8B/wH/Af8B/wH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf9B/0H/Af8B/wH/Af8B/wH/Af9B/wH/Af8B/wH/Af9B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf+B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/0H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/wf+B/4H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/8H/wf/B/8H/gf+B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf+B/4H/wf/B/8H/wf+B/4H/gf+B/8H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/0H/Qf9B/4H/gf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Qf8B/wH/Af8B/0H/Af8B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Qf9B/wH/Qf9B/0H/Qf9B/wH/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH+wf8B/wH/Af8B/sH+wf7B/sH/Af7B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/sH+wf7B/sH+wf6B/oH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+gf6B/oH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/gH+Af4B/gH9wf4B/cH+Af4B/gH+Af4B/cH9wf3B/cH9wf3B/cH+Af3B/cH9wf3B/cH9wf3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af5B/kH+Qf5B/gH+Qf5B/kH+Qf5B/kH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf5B/oH+Qf5B/kH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/kH+gf6B/oH+gf6B/kH+gf6OPsH+gf6m/2r/gf6B/oH+gf6B/oH+gf6B/oH+gf6q/6r/gf6B/o4+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oo+2n8B/oH+gf6B/sH+wf7B/sH+wf6B/qr/qv+B/sH+6v+q/4H+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/ur/pv+B/sH+2n9B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7Wf1p/Qf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/sH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH/Af8B/sH+2n9af0H/Af8af1p/Qf8B/wH/Af8B/wH/Af8B/wH/Af8af1Z/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af9B/wH/Qf8B/wH/Af8B/wH/Qf8B/0H/Af9B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Wn+q/8H/Qf9B/0H/Qf9B/0H/Qf9B/0H/av/q/8H/Qf9m/44/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf9B/0H/Qf9B/0H/gf+B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/wf/B/4H/gf+B/4H/wf/B/8H/wf+B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/GP8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/9p/2n/B/8H/2n/af8H/wf/B/8H/wf/B/8H/wf/B/8H/2n/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8Y/2n/B/8H/2n/af8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/gf+B/4H/gf/B/8Y/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+Wf9p/wf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/mn/OP4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf9B/0H/gf+B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/wH/Af9B/0H/Qf9B/wH/Af8B/wH/Qf8B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/sH+wf7B/wH+wf7B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf7B/oH+wf7B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+gf6B/oH+gf6B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf5B/kH+Qf5B/kH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf4B/gH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Af5B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/cH9wf3B/gH+Af4B/gH+Af3B/cH9wf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af5B/kH+Qf4B/gH+Af4B/kH+Qf5B/kH+Af5B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+c3uB/kH+Qf5GPqb7N/dz9zPzAf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/lq2wf5jbq/u7+7r6qvqgf5jqkH+Y+In5mfmY+Ij4i8/f//7+7v7v/////v7u/u393f3c/Mz8zf3c7dSskJpv/////v7u/u//+8/e/u7+6+3N/dCZaNut/d393PzM/Mv7t8ua+qGpYJlgqFCoUKZI6ZCoV+iAp0CmQLZAtkC1MKdBt1C2QLUzyGK3ULUwtkC1MLUwtkC2QLZAtkCnQKdQjpevxJ2s7t/////+/u7+5aud/dW6jPzN/d393PzIy6/////+/u7+7/////7+7v7t/d390al7/M393f3c/Mz8wrdp66C2QLZEuXCnUKZAp0C2QLZAp1CnUKZApkCnUKdQp1v7s8hq+qv7u/u6+qr6pMhp+ZXXePiJ+Zn5mPiI+I/////+/u7+7//+//7+7v7t/dz92Nuhp2393f3a67rstq7Bjrve1a2+/////v7u/uW7mMywqGjbrf3d/dz8zPzDx2C1QcVAxDC1QrdQxDC1MMQwxDDEMMQwxDC0MMQwtUC2R9qQtUbZi/u7+7r6qvqgtUXYcLZF13n5mfmY+Ij4j/////7+7v7v/////v7u/u393f3c/MW6mc3M/dCYYal//////v7u/u3f5J7O/u3+7f3d/drsvPzN/d393PzM/Mv7srhq+qC2QKdSt2HGWfqZ+ZfoiPiI+In5mfmY+Ij4i/u7+7r6qvqr+7v7uvqp+pn5mfmY+Ij4ifmSxVHFQMQwf7B/wI2gjrB/wH/AjrB/xaygjJS6kJqAjKCOsIuQjKB/wH/Af8B/wH/Qf9B/wH/QfsB/wI6wf8B/w4/Qf8Wew7hwqGC1QKZQmXCbkKhgmoC1QLVAxDC1QKdQmXCmUJhwjKCOsIygjrB/xJ7Af8GOwIuQjbCbkI2wfsB/wH7AfsGP3d/7zu7+7/////7+7v7t/d393PzM/M393f3c/MjMv/////7+7v7v/////v7u/uzt293QmoCZff3d/dbKnPzL+7v7uvqq+qv7uNuq+qr6psup+ZCNtcmJ+Zn5mPiI+IGocKdq+qfpkLZSt2PHYLVJ+Zn5mPiI+In5l+iI+Ij4jN/hjs7+6c7QfsB/0I2wjs390qumypCocIugjKCZgJqQf9B/0I7Af9B/0H/gf9B/4I2wjsa8vPzDjtWe3PzM/MC2UKdgtVC2UKhzqpCnZLmSxlC2WPiCx2CnYKhwp2Coe/u7+7r6qvqr+7v7uvqq+qfZmfmQmYKpkJuhqpTJh+iAf+B/4H/gf+B/4H/gf+B/4H/gf+z8yt3Qf+B/4Y7Qf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/r7dB/4H/s/Mz92/u7+7r6qvqq7MGNyvqmu6j5mfmY+Ij4ifmX2Zj4h+iAjsv7sIy6+qv7u/u6+qr6oJqZ+ZCod+iJ+Zn5mPiI+IB/4H/gf+B/4H/gf+B/4H/gf+B/5Z7Qf+B/4H/gf+vt0H/gf/B/4H/wf/B/8H/wf/B/8H/8/Mvt0H/wf/GP4H/nvMCO1KywjMCO2/uwjMr6pLqgm6XIgJmAm6n5kJmI+Iv7u/u6+qr6pK3QjtSstay5+Zn5mPiI+IKqqOmQmZj4gH/wf/B/8H/wf/B/8H/wf/B/8H/wf+i90H/0n+z93PzAf/B/8H/wf/B/8H/wf/B/9J/gf/z8zP3Qf/B/+L3Qf+ncy/u6+qr6q/u7+7r6qeu5+Zn5mPiI+IbKoJqjuIXYi/u7+7r6qvqr+7e8yvqq+qbJmfmY+Ij4ifmZ+Zj4h/iAf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/wf/B/8H/wf/B/8H/wf/B/8H/5v/B//N7gf/B/8H/wf/B//e7Qf/z8wI3QjuCMsIzAfuB/4I3QjuCZkJqgp3CYgIywjdCaoIywf/B/8H/gf/B/+/uwf/r6oI7gf/CN0H7gf+n5kH7o+I/////+/u7+7/////7+7v7t/d393PzM/M392+3c/MGan//+//7+7v7pv/B+7v7r3uz93f3RqZv8zf3d/dz8zPzL+7v7uvqq+qjbsKd22ZCmafmZ+Zj4iPiF2IC2VddwtVCnY8iAtVC1W/u7+7n6qvqgtVC1ULVQtVXXefmT1mj4gH/gf/CN0I7gf/B/8H7gf/nN0IzM/MKrsI3QjuCLsIzAf/B/8H/wf/B/8H/wf/B/8H/wf/jN3P3Un/Sf/PzM/Mv7uNqq+qn6oJmWu7Cohsqp+Zn5mPiI+IG3cKiCx3Cma/u7+7r6qvqr+7v7ueu6+qjpmOmQp3O4gJqjuqXYh/iAf/B/8H/wf/B/8H/wf/B/8H/wf/z8yc3Qf/B/8Y7gf/B/8H/wf/B/8H/wf/OP/e7gf/B/8Y/63di+7f3c/Mz8y/u7+7r6qvqq7MCN2vqjq7n5mfmY+Ij4ifmWyZj4hdiErdv7tKu6+7v7u/u6+qr6oJqgmqCogKiI6Zn5l+iI+Iev+b/+/u7+4H/wf/OP8H/9/dzt3PzM/MCO4I7a3MCMwH/wf/B/8H/wf/B/8H/wf/CO4I7hnMnN0H/lnuz8zPzL+7v7uvqq+qv7tbu56qGoifmTuIj4gsdwpmCmYLVQtVfLu/u46qr6q/u7+7r6qeugt3jpkLZht3fZkJmSuIbYgH/wf/B/8H/wf/B/8H/wf/Sf4H/8/Mz90H/wf/i90H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/gf/B/8H/gf/v7u/u6+qr6q/u4zMr6qvqkuZn5l/iI+In5mfmY+Ij4gI3QjtKbsIzAfuB/4I3QjtO5kJqkyHCogIuwjcCakIuwf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+vP///83u7+7/////7+7v7t/d393PzM/M393f3c/Mz8wH/gf/B/4H/gf/B/4H/wf+CO0H/gjcB+4H/gf+B/45y7+7v7uvqq+qv7u/u6+qO4ifmZ+Zj4iPiJ+ZCnaPiAtm3v8Y/u/uve4H/gf+CNwI7d/d393PzM/MWssZy67MncsH/rz/eu3v7v/////v7u/u393f3c/Mz8zf3d/dz8zPzL+7v7uvqq+qv7u/u6+qr6p+iJ+ZPWaPiJ+Zn5mPiI+Iv7u/u6+qr6q/u7+7XJivqp+ZXXePiBxUPGafmS1Vj4j//97/7+7v7gf9B/0I3Ajc393f3c/Mz8xaywi6S6oJmAf9B/0I7AftB/0H/Qf9B/0IywjcCak6ywjsOO3PzM/Mv7u/u6+qr6pMiAp2PHYLZZ+Zn5mPiI+IXncsZU5mTWY7mL+7jqqvqr+7v7uvqq+qn5mfmY+Ij4ifmRmoXYgKhwf+B/0H/Qf9B/0H/Qf9B/1Z7Qf9z8zPzAf9B/2s3RjsB/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/UnsB/0H/c7cz8y/u7+7nrqvqr+7rsuvqq+qCalcmQqHCoefmZ+Zj4iPiAjbSttbukq6v7u/u6+qr6qOmTuYj4gKhp+Zn5mPiI+IB/0H/Qf9B/0H/Qf9B/0H/Qf9B/2+3CjsB/0H/Qf8KOwH/Qf9B/0H/Af8B/wH/Af8B/0H/M/cz8wH/Af8rNwH/L+7KduvqgjKCOtK2wjKSsqfmRmpj4g7hwm5OqkJlzuXv7u/u6+qr6q/uwjrr6oIyp+Zn5mPiI+In5kZuX6IO5cH/Af8B/wH/Af8B/wH/Af8B/wH/Af8GPwH/Af8rNzPzAf8B/wH/Af8B/wH/Af8B/xZ/Tj8z8zPzAf8B/vO3GrsGOuuy3y6r6q/u7+7r6qvqp+Zn5mPiI+In5k6qX6IO4e/u7+7nrqvqr+7v7uvqq+qCaiOmW6Ij4ifmZ+Zj4iPiAf8B/wH/Af8B/sH+wf7B/sH+wf7B/sH+wf7B/vO3M/MB/sH+wf7B/sH+wf7B/sH+wf7B/u+3HrsB/s4/M7cz8w52gjajbpKub+7v7uvqq+qjpk7mF2HCnWfmZ+Zj4iPiL+7v7uvqq+qv7u/u6+qr6qfmZ+Zj4g8hkuYn5kKdSt2B/sH+wf7B/sH+wf7B/sH+wf7B/u+3BjrB/sH+wf6B/oH+wf7B/sH+wf7B/sH+wf6B/sH+wf6B/oH+wf6B/oH+r+7e8uvqmy5COkI6gjICMifmQqWC3UKdQmnCacKhQmWB+oH+gjZCOkH+gf6B/oH+gjICNkJpwjICOkH+gjpB/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+Qf5B/oH+gf6B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Af4B/kH+Qf5B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4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B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf5B/gH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af5B/gH+Af4B/gH+Af5B/kH+Qf4B/gH+Af4B/kH+Qf5B/kH+Af5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf6B/kH+Qf5B/kH+Qf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B+kH+gf6CNgItwjpCMgH+gf6B/oH+gfpCNkH+gfpB/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gmWCnUJpwqFC2QLUwp0C2QIyAmnCNkIyAqFCnUJpwmWC0MLQwtTC1MLUwtTC1MLUwtkC2QKhQp1C2QLZAp1CoUH6QjZB/oH6gjICLgI6QjZB/oH+gf6B/oH+gfqB/sH+wmnCacIyQjICacJpwjICMkH6gjqB/sH+wjqCOoH+wf7C2QKdQtkCnUKhgmXCoYJpwp1CoUKhgmXCZcIuAm4CMkJpwmnCLgJuAmXCoYJpwqGCMkIyQjZCNkJuAmXCMkIuAmnCLgIyQjZCMkI6gjqB/sH6gf6B/sH+wf7B/sH+wf7COoI6gf7B/sI2gjJB+sI6gf7B/sH+wf7B/sH+wf7B/sLZAtkCnUKZQtlCoYKdQqGCoYKhgmnCZcKhgmXCacJqAmXCbgJpwi4CbgJlwi5CagJuAjJCMkI2gjJCLkI2gjJCMkIuQjaCNoIyQjJCNoI6gf7B+sH/Af8B/sH+wf8B/wI2gjqCOsH6wjrCNsH+wfrB/wH/Af8B/wH/Af8B/wH/AqGC2UJhgp1C1QLVAp1CnUJqAqGCLkJqAqGCoYJqAmoC2UKZQp2CoYKZQtlCoYKdgmHCZcJqAm5CZcJhwm5CagI2gjJCOsI6wjJCMkI2wjbB/wH/Af8B/wH/Af8B/wH/AjKCMoI6wjrCMoIygjrCOsH/Af8B/wH/Qf8B/wH/Qf9C2QLZQp1CmUKZQqHCnYKhwqGCoYJqAmoCocJmAmoCbkJqAjKCakIygjsCOwI7AjsCLkI2wjKCNsI7AfsB+wH/QjKCMoI2wjbCMoIygjbCOwH/Af8B/0H/Qf8B/0H/Qf9CNsH7AfsB/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0IywmpCNsIugmXCnYJmAqHCOwIygfsCNwJqQmYCMoJqQtlC1UKZgtlC1QLVAtUC1QKdgpmCZgKhwtlC2UKhwp2B/0H7Af9B/0I3AjLB+0I7Af9B/0H/Qf+B/0H/Qf+B/4IugmpCNwIywmpCZgIywjLB/0H7Qf+B/4I7AjsB/0H/QtEDEQLVAtUC0QLVAtVC2ULZQtlCncKhwp2CncJmAmZC1ULZQpmCnYLVQtVCnYLZgqHCZgJqQm6CYgKhwm6CakJqQmpCMsIywm6CMsI3AjcCOwI7Qf+B/4H7Qf9B/4H/gjLCNsI7QftCMwIywjtCO0H/gf+B/4H/gf+B/4H/gf+C0QMRAtVC1QMQwxDC0QLVAp2CmYJmAmIC2ULZQqHCocMRAtVC1ULZQtlCnYKdgqHCmYKdwqICZkKiAmZCakIugi7CboI3AjcCakJqgjMCMwH/gfuB/4H/gftB+0H/gf+CaoIuwjcCNwIywjcCO0I7QfuB+4H/gf/B/4H/gf/B/8Kdwp2CogKhwtlC1UKdgtmCakJmQi7CLsJiAqHCaoJqQtUC1ULZQtmC2UKZgp3CogKdwqHCZkJqQmICakJqgi7CNwI3AfuCO0IzAjLCO0I7Qf+B/4H/wf/B/4H/gf/B/8IywjLCN0I7QjMCN0I7QfuB/4H/gf/B/8H/wf/B/8H/wp3CncJiAqIC2YLVQp3CmYJqgmqCMwIzAmZCogIuwmqC1QMRAtVC1UMRAtVC1ULVQp3CmYJmQqIC2YKZgqICogI7QjdB/4H/gjcCMwI7gjtB/8H/wf/B/8H/wf+B/8H/wm7CaoI3QjMCaoJqgjMCMwH7gjuB/8H/wjuCO4H/wf/C2YKdwpmCocJmQm7CZkIuwp3CYgJmQmqCaoIzAi7CNwIzAjuCN0H7gfuCN0H7gjdCN0H7gjuB/8H/gjuB/8H7gm7CMsI3AjdCNwI7gjuB/4H7gf+B/8H/wf/B/8H/wf/B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8IuwmZCMsJmQp3C1UKdwtmCMwJqgjdCMwJiAp3CaoJmQtVC1ULVQtVC1ULVQtVC1UKZgtmCogKiAtmC2YKiAqICO4I3Qf/B+4IzAi7CO4I3Qf/B/8H/wf/B/8H7gf/B/8JqgmqCMwIzAmqCaoIzAjMB+4H7gf/B/8I7gfuB/8H/wtVC1ULVQtVC1ULVQtmCmYLZgp3CogJmQp3CogJmQmqC2YLZgp3CncLZQtVCncLZgmZCZkJuwi7CZkKiAm7CaoJqgm7CMwI3QjLCMwI3QjuB+4H7gf/B/8H/wf/B/8H/wjdCN0H7gfuCMwIzAjuCO4H/wf/B/8H/wf/B/8H/wf/C0QMRAtVC1UMRAxEC0QLVQp3CmYJmQmIC2YLZgqICogMRAtVC1ULZgtmCnYKdwp3CmYKdwmICZkKiAmYCaoJqgi7CbsI3QjdCaoJqgjMCMwH/gfuB/8H/wfuB+4H/wf/CbsIuwjdCN0IywjMCN0I7QfuB+4H/wf/B/4H/gf/B/8KdgpmCncKdwpmCmYKdwp3CZgJiAmqCaoJiAmYCaoJqgp3CncKhwqICncKZgqICncJmQmZCboIuwmZCZgIuwm6CMwIzAjtCO0IzAjMCO0I7Qf+B/4H/wf/B/4H/gf/B/8IzAjcCO0I7QjcCMwI7QjtB/4H/gf/B/8H/gf+B/8H/wtVC1QKZgtVDEQMQwtUC0QKiAp3CaoJmQtmC2UKiAqIDEQLRAtUC1ULZQp3CmYKiAtmCnYKiAmYCocJmQmZCboIywi7CO0I3Qm6CaoI3AjMB/4H/gf/B/8H7gfuB/4H/gmqCboIzAjcCLsIzAjcCO0H7QftB/4H/gf+B/4H/gf+CakIywmqCMsI7QftCO0H7Qi6CNwIywjtB+0H/Qf9B/4I3Am6CNwIugmYCnYJmQqHCO0IywftCNwJqgmYCMsJugjcB+0H7Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0I7Qf+B/0I3AjLB+0I7Af+B/4H/gf+B/4H/Qf+B/4LZgtlCnYKdgp2CocKhwmYCocKhwmpCakJmAmpCakIygmYCakJqQi6CagJmAi6CakIygjLCNsI7AjLCLoI7AjbCMsIywjcCNwIywjbCOwI7Af9B/0H/gf+B/0H/Qf+B/0I7AftB/0H/QftCOwH/Qf9B/0H/Qf9B/4H/Qf9B/0H/QqHC2UJlwp2C1ULVAplC2UJqQmHCLoJqQqHCnYJqAmYC1QLVAtlCnULZQtVCnYKdQqGCocJqAmpCYcKhwmpCagI2wjKCOwI7AjKCLoI2wjbB/0H/Af9B/0H/Af8B/0H/QjKCMoI2wjrCMoIygjsCOsH/Af8B/0H/Qf8B/wH/Qf9C1QLVAtlC1ULVAtUC1QLVAp2CnUJmAmXC2ULZQqGCoYLVAtUC1QLZQtlCnUKdQqGCmUKdgqGCZcKhwmXCagIuQi5CbkI2wjaCagJqAjKCMoH/AfsB/wH/AjrCOsH/Af8CagIuQjKCNoIygjaCOsH6wfrB+wH/Af8B/wH/Af8B/wKdQp1CYcJhwplC1QKhgp1CagJqAjJCMkJlwqGCLkJqAtUC1QLZAtkC1QLZAtlCnUKdgp1CZcJlwqGCZcJpwm4COsI6wf7B/sI2gjJB+sI6wf8B/wH/Af8B/wH+wf8B/wIyQjJCOoI2gjJCMkI6gjqB/sH+wf7B/sH+wf7B/sH+wp1CnUKhgmWCnULZAqGCnUJpwmoCMkIyQmnCZYIyQm4C1QLQwtkC1QMQwtDC1MLVAqFCnUJpwmWC2QLZAqGCoUI2gjqB+sH+wjaCMkH6wjqB/sH+wf7B/sH+wf7B/sH+wjICbgI2gjZCacJpwjJCMgH+gfqB/sH+wjqCOoH+wf7C1QLZAtkCmQLZApkCnUKdQp1CnUKhgmWCoUKhQmWCacKZAtkCnUKdAtkCnUKdQqFCoUKhQmnCaYKhQmWCacJpwmnCbcIyQjZCLgIyAjZCNkI6gfqB/sH+wfqB/oH+wf6CMgIyAjZCNkIyAjICNkI6Qf6B/oH+gf6B/oH+gf6B/oJhgmnCZYJtwjIB+kI2AfpCaYItwi3CMgI2QfpCOkH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6CMgI2QjpB+kH6Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+gf5B/oH+gf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Qf4B/kH+Qf5B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af4B/gH+Af4B/gH+Af5B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af5B/kH+Qf5B/gH+Qf4B/kH+Qf5B/kH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+Qf5B/kH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf5B/kH+Qf6B/oH+gf6B/kH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf6B/sH+gf7B/sH+wf7B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH+wf8B/sH+wf7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/0H/Af8B/wH/Qf9B/0H/Qf9B/wH/Qf8B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/gf+B/4H/wf/B/8H/wf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/gf+B/4H/gf+B/4H/wf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/wf+B/8H/gf/B/8H/wf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf9B/0H/gf+B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Af9B/0H/Qf9B/0H/Af8B/wH/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/sH+wf7B/wH/Af8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/sH/Af7B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf7B/oH+wf7B/sH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+gf6B/oH+gf6B/sH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/kH+Qf5B/kH+gf5B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf5B/kH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Qf4B/gH+Af4B/gH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/cH+Af4B/gH+Af4B/cH9wf3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf4B/gH+Af4B/kH+Qf5B/kH+Af5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf6B/kH+Qf5B/kH+Qf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf6B/sH+wf7B/oH+wf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/sH+wf7B/sH/Af8B/wH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf9B/0H/Qf8B/0H/Qf9B/0H/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af9B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/Qf9B/4H/gf+B/4H/gf9B/4H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf+B/8H/gf+B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/wf/B/8H/wf+B/4H/gf+B/8H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/4H/gf+B/0H/Qf9B/0H/Qf+B/0H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/wH/Af8B/0H/Af9B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/wH/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH+wf8B/wH/Af8B/wH+wf7B/sH/Af7B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/sH+wf7B/sH+wf6B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf7B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+gf5B/oH+gf6B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Af4B/kH+Qf5B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af5B/gH+Af4B/gH+Af5B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH9wf4B/gH+Af4B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf4B/gH+Af3B/cH9wf3B/cH+Af3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf5B/kH+gf6B/oH+gf6B/kH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf6B/oH+gf7B/sH+wf7B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/sH+wf8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/0H/Af8B/wH/Af8B/0H/Qf9B/wH/Qf8B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/gf+B/4H/wf/B/8H/wf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/wf+B/4H/gf/B/8H/wf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Af9B/0H/Qf9B/wH/Af8B/wH/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/sH+wf7B/wH/Af8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/sH/Af7B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+gf6B/oH+gf6B/sH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/kH+Qf5B/kH+gf5B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Af5B/kH+Qf5B/kH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/cH+Af4B/gH+Af3B/cH9wf3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH9wf3B/cH9wf3B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf6B/kH+Qf5B/kH+Qf6B/kH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf7B/sH+wf7B/oH+gf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/sH/Af7B/sH+wf7B/wH/Af8B/wH+wf8B/sH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf9B/0H/Qf8B/wH/Af9B/0H/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af9B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/0H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/Qf9B/0H/gf+B/4H/gf9B/4H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf+B/8H/gf+B/4H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf/B/4H/wf/B/8H/wf+B/4H/gf+B/8H/gf/B/4H/gf+B/4H/gf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/gf+B/4H/Qf9B/0H/Qf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/wH/Af8B/0H/Af9B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf8B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af7B/wH+wf8B/wH/Af8B/sH+wf7B/sH/Af8B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+gf6B/oH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/kH+gf5B/oH+gf6B/oH+gf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Qf5B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af5B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH9wf4B/gH+Af4B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf4B/gH+Af3B/cH9wf3B/cH+Af3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/oH+Qf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf5B/kH+gf6B/oH+gf6B/kH+gf5B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/oH+wf6B/oH+gf7B/sH+wf7B/sH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/sH+wf8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/0H/Af8B/wH/Af9B/0H/Qf9B/wH/Af9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf/B/4H/gf+B/4H/gf/B/8H/wf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/gf/B/4H/wf+B/4H/gf+B/4H/wf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/wf+B/8H/gf/B/8H/wf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/Qf+B/0H/gf+B/4H/gf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Af9B/0H/Qf9B/0H/Af8B/wH/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/sH+wf7B/wH/Af8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+wf7B/sH+wf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+wf6B/oH+gf6B/sH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+Qf6B/oH+gf6B/kH+Qf5B/kH+gf6B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf5B/kH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/gH+Af4B/gH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/cH+Af4B/gH+Af3B/cH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af3B/cH9wf3B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+gf6B/oH+gf6B/sH+wf7B/oH+gf6B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf8B/sH/Af7B/sH+wf7B/wH/Af8B/wH+wf7B/sH/Af8B/wH/Af8B/sH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af9B/0H/Qf8B/0H/Af9B/0H/Qf9B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf+B/0H/gf9B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/Qf9B/0H/Qf+B/4H/gf9B/0H/Qf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf+B/4H/gf+B/4H/wf+B/8H/gf+B/4H/gf+B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/wf/B/8H/wf+B/4H/gf+B/8H/wf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/0H/gf9B/4H/gf+B/4H/gf9B/0H/Qf+B/0H/gf9B/0H/Qf9B/0H/gf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/wH/Af8B/0H/Af9B/wH/Af8B/wH/Af9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/wH/Qf8B/0H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf8B/sH/Af8B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH/Af7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf6B/oH+gf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+gf6B/oH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+gf6B/oH+gf6B/oH+gf5B/oH+gf6B/oH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Qf5B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/kH+Af5B/gH+Af4B/gH+Af5B/gH+Qf4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf4B/gH+Af4B/cH9wf3B/cH9wf3B/gH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/YH9wf3B/cH9wf2B/cH9wf2B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf7B/sH+wf6B/oH+gf6B/sH+wf7B/sH+gf7B/oH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/wH+wf8B/sH+wf7B/sH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/0H/Af8B/wH/Af9B/0H/Qf9B/wH/Af8B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/4H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/gf+B/4H/Qf9B/0H/gf+B/4H/gf+B/0H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/gf/B/4H/gf+B/4H/gf/B/4H/wf+B/8H/gf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/8H/wf/B/4H/wf/B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/8H/wf/B/8H/wf/B/8H/gf/B/8H/wf/B/8H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/gf+B/4H/Qf9B/0H/Qf9B/4H/Qf9B/0H/Qf9B/0H/Qf+B/4H/gf+B/4H/gf+B/0H/gf+B/4H/gf+B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Qf9B/0H/Af9B/0H/Qf9B/0H/Af8B/wH/Qf9B/0H/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Qf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/sH+wf7B/wH/Af8B/sH+wf7B/sH+wf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/sH+wf7B/oH+wf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+wf7B/sH+wf6B/oH+gf6B/sH+gf7B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf6B/oH+gf5B/oH+Qf6B/oH+gf6B/oH+Qf5B/kH+gf6B/oH+Qf5B/kH+Qf5B/oH+Qf6B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf4B/kH+Af5B/kH+Qf5B/gH+Af4B/gH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/kH+Qf5B/gH+Qf5B/gH+Af4B/gH+Qf4B/kH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/cH+Af3B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af4B/gH+Af3B/cH9wf3B/gH9wf4B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/cH9wf3B/YH9gf2B/YH9wf2B/cH9gf2B/YH9gf2B/cH9wf3B/cH9wf2B/cH9wf3B/cH9wf3B/cH9gf3B/YH9wf2B/YH9gf2B/YH9gf2B/YH9gf2B/YH9gf2B/YH9g== + + + + + diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner/banner.cbmd b/tags/1stNUP/CardSaveData/Mover/body/banner/banner.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..23645681f03e6cd923ffc06645b11524b4a7f9a7 GIT binary patch literal 9198 zcmc(E{aX`P`u-ULW+np$*Se^PnaK+Q5oSU_M8p{g7SSR>NU5bbp%N(T3qf9@r8-b6 z!L=4_SCPxw!F5{%s)1UIKy7r}uC>vEYb~olN7wdaE%MSAixlB}hwdNo%@4WeI&;pM z=eh4^&Y5%Hro_}FApL4){{BDxMl=A-sho!ZQ}WZ#!Re>|2*YQlA;F8lk`gi#z9asW zjS%xni3PO$C{6lUW!_0Crp%>Q2ZT`&(oXxH2-b-JpD`r>G-3_&5MgW{LA?n8Yf9B8 zJwrT{w-Jo}-}L?Fw#_oq?;<-|$<)cFK(W+65VXxjdMU%+Vti-r0V{FhKzraCKLAe2 zX94gbo^GOlpglhrOoqPVe^y(+@0txlfSH^)l5o!peB44PKeHCe$f=8js_mxQ8?@Kz za%ynkZVHfvg4<+?H6zf!jpQ$s z1b_Ya48xz>aN~wI$ky^RR*L3!+>_rcuqyp?b~I)$0{&@j+3cjZ8vn%Tne!rLNG|3h zMY_OeTJy*>YAn(`q{ECw?fFli(|UVpF*?m#>%YqMdY}v}HUwyim0GPKATvf?k))+l zwNVI|rvPU4fjlj{Mw?`rMcmw?KK7c{oT$yTc$0Ig)vf=qDt(AYnJ3iUpK0wWtP%s3 zkJX;b38;(42x$`l&rh+K)eJVK4h8;(6Muo7f`1B_Lfr zRHGdj(SGgg2WErqkuL4Sa_x6Men1J1Yw)YuCkcDBzbb)0xS$ENjOl!j=)C>O)!%Bu z{_<4ReD%K`Yq*azo2TD@vDP1G4jj?!&Fesac4=y>HE(^TDWb#LsM3B*ej_!caX+j1 z^c{`xqj9K>E4jR^k^4?F8a%D}g}xCzx2@LvfqHLatteH1a?Z5N4x=ztxLTg7K%K3h!m+KiP~g5}(7;!ZnJA9*sGj}eQ{eh~BPh|NFu za^>g2akpK%Q@aVz{JfYLWmK5Mnca2A_)i+@22uzZb?iTF1?7(F-h$-MGSU)vtXk_lpM$cU<-X@0Z>~?xOyd%x-}&)T=?}`jA;c~N6Eu9BAu}sOsT3nEFZ{q@ z0<`S*7fkFp8~Ri1FA1>(^19`RU<3su9vXmrcV-E}=nKkY6!rr4Ri9)e3!Q~1!QEt# zvM#y%N3R7O(!OPuIV*3-bSJFrNhR2lb?y6{+na1j-_;*n8&GP4r zMCNlQjZemF&C4tPX0NOp5`OIVsmxfDv|(j-QuEH2V!_-4;L?q&TPx;z-SeG&5u|;f zdQGL8Jx?|J3(y$Y3mRko0~#~3$3SDzV?Z2Oj(e-eS9a~13du^pA8uLl#ivO3J{RyV z@-I`)|IvHp{a=rzwtutjSlOyI;h+Db1?GIv+qdKl61C-`<~P>(d+Iod$rvv`x$Is= zPemHC<-3($Tjkfl8-|F@?7aJ`mCjdMu1>EywCcdi9g(#WwQ(16R0MQ;!`Fez zxnHbXx~1(kDyx@GySkwOfIY_W26s=q7=O>MVIDoav+dW4EN0r2mYSLd)`J&ww{N%Y z03c(FZL6&`7i>+~Ubro{v=9_+2hSFk6u#(PxV5l!SKZvyT(s1-qp(evn#mzF4HDDV zucqZhN(mdi)do^+pyVZ6Nj9AmQCT-Pr6h4j?)J^;FWEJ8Wm-wLnqA|s&WW(UXe!!T zgzSh|y{)jMq-|Fvs0>Zm_F|!JdubKozagnGKfkPmI8h14Dl+W0&1GA2U)q5X@7b3a z5dZ6@qV4jM(%kK(2=Tvq4o9@LvGH*zfjd?hH_O zfGt0_Y-?%8OV(Vn+G}7zN@_xK&1+0M;)Tf4GTBS+@QoL1lg4km)GctJxpZsIks9lNp8)atliB*Q!!==tKZmbTOVr6!u4L2)$^>xv1Yz z8IH`{Zd2lBgomsQj3I55d1knOn3+UMN!S*anf|LyaoB)-q(5T&tqko8gB>?}@xJ?D zekeNs`_5fp#GOg~jU_ryJGQdfV9th(6yaFv8oW+Z;v?FgfzkTa?51j43!Fj~H zxYz-t2i<^D&rawT1nE)z3V#GCy);XT?A+atQXzQOfY$qfm`mfG(u`QIyfYcubprN= z`>I4R`R*9y9`+CCPa<5;-z?DWQi#WpZ}hwiEGtGk41M2&=N7=3NK_uNkH6>cN4XAe ziici5GN8kOvb^18$~08dr4yUibqapPxICv*av6YKPZ+L_x-g;J0)r z3PUJ!8E`HL9G|0N>#Y>TKg?^vIgB}p@YnkHL9e(={^7l$d@GWf)kZ0V8xlguk&Te= zk#KUmb|OF&3mnX>#ORQz>?;H z{!2vx5qrQ>dIfAn4iAeitRsLs3;&lgdUTNUz`Ig4GcIIO2YHuNs512z8qvGg8!dII3N61 z7`=x?Sw72}j}%?sywRxlrltzva+w6SLaeJ71J*ihxAYa<+-|2sJLP#o+T=($>n zsNi4vpvOr5(lv(2fOTgX|h*3T`dcbVE#uG`v@fOjRpnSx2Hx? zs>s7%rI8FpXqf zj;|9I67_DYs^@B0`8x?+bm6*sMVW#~Z)3B{Sllcxb9b-wuXeTA;WO1jLsX8V4%UgI zR@gI$9_(6JZjhhpJ_9^|c{qRQ!tnD%|7fl%yYqFAf~~HDE6efBMVVf{COk8&jPS__ z@io~IoR($cd0xAl@yu;Ui+LQ$%yHs*IS$~@SGM!n&2JC%3}XJ(3+s#P2d7gWUL%hu z2xmOSDgz%z3|7*=gq1I{3C#l2u!p>PNGu*thqNkv+*fE=YN0!pT}N-z=nw;GpXa|s zuYh&U*eUc&bjT0wM89-h;M@<*dP4q$ihHv0VVn~vs_{&P4Xc-7or-Gg6!BAnAFe3F z>WO(yHknxWC;5{UB6j{mBBS4q5i(k8dN_Y-FbaMQ68Qw^`3ZhC=yhQbJB8IpHf_yo zj^yp)!LCSgYnPYMfcC#|bceVQI2GltmOTylB3oFwp|uXC>#t3(nNMcDJxugXq5UkX zu`KD@+N^K_vT#Q*oWL!Fk8?${q8zMiSZc#< zwKd*L%N6AcVwb{MbDej!?AAE2qf0;o*0r$tnWK9WYoynu=j!P}2F~9$d_{D@Pgs?v zX|SXZoVhxGz}2#)%UoL}?$(HVYS4!YcQ@*J6JlyovCO$=F9hoXhA$QX<;foFRf6AA zP;nIS|dxs|D+Np@xhlomk4zH~F=LwElTdsbkiXmNyzOZ57CVbl@Pt zrA+r|_d}Snbk6_L;|wHp)5o<{Z;J1*-KBk7TdhZV$ewdz&r)X5J3D=$TT zjDkA87JfVYssTd>(Giq@a_fjXkifA9tVQAPz-oxOgIEj7dg{{L-E!z^S%VS@=pY>~ zG{_4_KnaZIKhZfCG?&(YPVCmbdtsy}3O4)=R+jZ0>{d9oH7MBpvc8-e+?M0;!YzvO zl{IR?@^Lg2qId$Ql~Gmk`HvGIQA;1DATjv%AbMOkwWOQvBd<&0y{^+NOo1r|rw$$r zwg|EotYJ&Hf-Eb~0)Y-i%~FRV{~sUn?*v!9(GW~J;?~rV$6InhF5h$Y?f-7zPHbb~ za`LVZ@8-g20pP~;mN zujn0byeWV#-0?;Oo*$@j>{d^O)ocS^@MrN6D4MrvoC-QDzMd$q)A!}`??SaO9BR0{ zK^RVqQwz^H6*Xl4z(TAURlfy9{^OAO*M0^2gbcH4>Bzppa71;-t!55Bxrbm*e z7GdGOKt1(Q}g5W6L$_lns@LEPUX}nwmPAxtC&j2q8`0JSTXnQkDC^Th# z7(C$)X|;$i=tPCHstWe6?a%I7yB`L;(GaIQtO)h7K|sNPPXnKL(JzU$UlM)IwKdXOf_1KF#_Hqhj~?aGAzI%EJNMLt#nl7u z!TdD%zO}#&eK$@mf0F2+4t+K7dhGEto>y4-6StyyjNp>_bX7h)^+v}TNBQsQEp+n({yL$#g*6eO z#2i>R54|V{qA;eHzJ5?n{8rlNKA%?byqBsKFao%~0Q=eJ&EZ$4c;JvvY$}&v29Bcq zqI~&8JSdY-EIh(lxLKC8q_iZU@wpd|vj3rFl#wwisv{{ip)^gPm#K;`0M=CG!1Ido z%a?NXlt5TA=`5y|F(idYxT&mCtU78PiZ$hwhxZ)`%u|GC#+93ShRCA))s)&USItq) zK^0}bk+j^8oNb=dt6FRg@QYkb(uy*sgRmSy&!cPyEyp^rjs>R_=&i77ZTpp|W|X{@ zN=!UcUX*W#i7N@mQd?S*9WIzxk6zIZbr94oB6-#qST%Npff2P$l?2|j)W#SWWmeV+ zxJ@+&Yx3P=qMHcb{3zlqJ;|(I^xp`#v>o8p3L7CS^G+>SRIjY!v3h!CIc+KCgG_iH zvsld_l$#2G4vGeKDnqJ&jX%IO}Q9fr`^(x6PO7b;D z5HerZSUetY@ii6YuMc9!850c+QwBcBZZc#MVYJMsnzPtW5-}{o9H1f@Be(d3;72wv zCk#zA$Fx33b5WO=vpCVSC~4KrSnL$j!?>8U@`ubLdfm~Y9?FxNFMlG7w=6c|HUg5N zdkLx>JGz*3Ln`@GB8-DeZSsfI1OuOI4i9)p1Q4=qH5k@hlphz;9$!udHmWV_$-%TF z?5ILkzA7^?zeqi9IP_|Q%2t$*+sM;4-$j{0nWP-3B}_t9B-PoRAZGdzQ#IgE!fetn zvB@veH$SN)ix_o=QD;lC;;YoQMVYITmK;4KTr~0}4$cy9W0D9we*+9M;+cy{lP`I0 zw%RvIjT9x>k+)P-I!~U6EK1;$jE6+tv0Wo>vOKp`(-+QirW_M)Tf2#X@s<+kn;7W( z+XnfkyqPmOjE3(uy!vZ{NFVl9H!;LXmAcKW#MzS(0r@!&g_ncN$MeIqTznTRF5R#( zk2BY&vZ|#Xvx*+KEzDkK}U3Y zOZfd&Hbum6#Kwr5Y#JMnS-WYOok2$!Bl^?`rLI#hCX`sq`(=HpRBL>Mp{#F}WiuYh z6`jWOm+BA$f0=NRrx!`6LtudPb*D*8@-;>Poe=3TtKK`rFICHy=11;+Hfxc|LR48+ zC9MRxg8JPWA_%uIL@uTFbw)ghFyas z=}fhls%?nBsR>nc&Cy(hHYY+`cv{_2qpono^Z`UPMcGaop`ZFE-=xJ+ZxLaSX(~!E zHCUAqJ;P{MCDlG1+btgn?fNzY>)e&Otem>|xw zJ3=o{%85!z+HCc+*^x2*-k5$uSuADbn>os;?EJ2*^}&t}yEkSw}@LY+YusBQrc0`i3@xr^Qj-MDk#WGh&U;^1B*gc|&fVUAg8_9`9Hgnv<|zKbk6S zwd+Ip$B}&@ReH_>ONG?(m67@JFO94B+2TW^g9ZQw*KoFtTreM8CM{x%BV#xFuFc(f zEL4**60)U=2LasrCC)=U3oX%$OeB11Feo&L3BLLEbq>!6sale?MvU}}C8^Cqi9TI5 zn_T1bduVj*5PhJ6BP=G;XgYt0U$nezMbHXO24`7_XQag>n2`+aqYU0JbhM67$Tjn! zP8x= ~FgsLOTe6~v4O>wKq@&S3MV?~cg}*pU;|eG@^?BI4?=j~D=Cb_vwC=bC zMQ+*{_m+pygsnzzQNO%L$1ry#*@c;8rk(`I_+vy3I)7}VPM?q3_7B^S@=1BgWYQ(dlX(TbLWHsb4%8}V zO4yWYY60b z1?X*}V#r(p+f>%e%fqN4>K6jhmC*+_*6VhkVp{E0XeXikgx+?APNf#mK4!TYyFJbJ zQ+fiS_Y!h?E)_e}Mn(5m1~$s1!;;N`5xbaHGOdg$qYGH4>J)a0+D{!Ij+swHy!%%& z@D$cbN~P&@YLwki=NJO|sir#|+bhH1#OE~$6g9pU&_;OW%4ta$;|PaU{_tCSmNbNT#Oi?^SrXs;A<@yrOj5r%iGnZX$U}4h zYsQW;m&d8m)ZCq)hsEX7`jkPU{T^|J%~^8VBOfLXn+u2!osFU%$%2F!><`|2Z=PSNG(-_?OkY*aq&fS;T6r;vQ$(yKAp6jW!4ou81uSmuXp8 zQy1Dz>>?Z_b!JuTRbpbq%Cq+)E_MIT*3-vnKH>@)1lf~NFNYDG(s9m{P(X;Sq@#f_ zbhBa$$!Dicue!(XG6d4QD2gs-v*oXhq|L1pi7Y#3C_x9O(u{& zDWg{BQ>)p_^j)HVnyO7la^+?XF~!JzT_^b9TqIHC= zpOC5zk|KSBa-rSy!EvhFyw4EJz(GSa?L%DohW4QorrG2X>aJmY5Qc}-8`F0;igzSq z4=3HJ2|~_sJfCi6U1TB2NAj>IotdJ?SLLvfK2A8<)6k3;=dkyy(kdkthx9SSX}62a zNKi&{i8hiq&v8JLGeV{=BSYzP5r;@Yt>L;8`aKDEBXbhCN-@CzS-~J&3{2oRKZy>F~w zZ(2FF#F;oASybd;p|Pw%D;O*2zEzW=RW9vbSGnXw0ccc=Oe=~sjBie2Hyg%{#b%h- zFlnwzkQ0-pee`~hM%2hY(H?3s%J%XZ_caoW15oS3?k^1}bu!ZHMvdy?r=psoQdvJs zvTlDA*QGm_U9K&2Qum_^2DE{?w9%-FvGnimPOVlR78(~MN!IJes9Vb_f=gJRXiKy$ z*wJE@cj@;ZUG4dDb^1e>&eIkAR(}$gDbn+vErjNrr+tE(%vX*C9#I9uWhvv!DiWNO z80>H^GsgJQCF5!FdeWj=Lpnp|5jwW1=v1;_OyHNg12KI0L;)ujsIvHn1$?8*%q>Hz zMXpT0tNv**-424uA?{y5ZnlGnArf6A+ zGvs*I$({W25+@|C>2qTdHaT>2?7`)uo6b#cy0Ipd7DA5~s?M*;Xy8WAi_gJW*N=sv zg_E6v`R4SBeUu-~hnBGXl8Vr&^Pf;Y?jvCfp1&WqAb}_5JxV*wY$k$Oq+{)&^J#}2x0Vb(zxjFR z??tD>()n{=5AiFu9U)9#gkArSJo^DP)InWlMjuf35al^&wQ%>m&5|H1{2`cPl8}jf zavcI%i3^>;paboCMWjp+k+*`xyU>Fzo)u@85P5K$c) z3!6ObPeBj7`C+tz6ATlMwBsh29{_k!(uH{eigyusR#KX~=ODKqV3H~<>Gx0i zB>#(dwC?+}A`IE#^N3n@W4JRzQLQ-U_5!u=MMRB@3bN9@Ct)N-05%?%uJMIV_{aGe1lIdg!lxgmfXrw~ z632V}BrROP_~!Zvu>?_x=+6FIyCgWI%ugVJK|pm46=qQKT67EJZ%8RXgm0h02%biv z=q1?-T+=L3L_SP~rR}1Ca;-ozAC9bs_uySrxDGq6xJ68yF%_g7a0wvBBT9||6#Xgg zERd##BF>#f{+tDtZN!)xQZSM=A?ab#sa;|KGtbmcc9q0iw+)pHm*bew%5M>8Do3(P za9(h`5Y;V-a&HLHl4kH!E(E3RU++g~<1Dv?2y8`#j{0^80?vV6qr&X-KSad46NhoW z1A=2G-2Kuc{b^N?DBu!h@PDq6G>R9VLy&;Gz&{M_#U#H55zo$&UZSoCZWk8#6JR8Z zWyXSnlA$9t^Y2Q!dYw`s)eF-M=(Oaf#jFNc2qMd^07u z$G^vflTgzBrBr<-o`g@K&?fVz>yQ~Q<8KxTYh1iB1CiuW`y0{vRJR*~<#ObFf>ewR z`;piNu;2vNiy>Sqgm)#hW-*_-1zz%^?0S?tHZAdr@Hc!J!7M|>YxWp_WDNNYS`qG3 QyPweG?iYr7!vKN(KO269zW@LL literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner/banner_dummy.bcwav b/tags/1stNUP/CardSaveData/Mover/body/banner/banner_dummy.bcwav new file mode 100644 index 0000000000000000000000000000000000000000..d579907da6824f4216b582327a468dba0808fdc3 GIT binary patch literal 73288 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner/icon_24.ctpk b/tags/1stNUP/CardSaveData/Mover/body/banner/icon_24.ctpk new file mode 100644 index 0000000..cc54fe7 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/banner/icon_24.ctpk @@ -0,0 +1 @@ +MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUUMMMMMMMMMMMMMUUUMUUUU]]]U]]]]eemMMMUUUU]UU]]]eee]]]eemm nemm v v,v,v-~]eeeemm ve n n v v,~-~M v,~,~-~-~NNoM~NNoop n,v,v-~-~NNo-~NNooppnopӦҦӮӮopӦӦӦԮӦԮ7778XYφMUUUU]]]U]]e]eem]eej]mkeK*!m2 vk+;-~LmNeeemm v v,vm v v,~,v-~-~N v!-~K moK*.uNoS: v-~!dM}K*!NnuopkNdl2oL2ktrҍk.Kl2kpO}nKtd CtӦԮ KB:kB.KB|77cXyӦ|k7m:!kXkY7XXYYzzzYzzכߛߛm:[kV:WJOSzzߛtxߛ,~-~M~NNooNooӦӦӮӮҦӮӮӮԮ77X77XXYyzԮ77X77XXYYz8YYyyzzߛzךߚߛXYyzzכߛߛzߛߛߜߜ \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner/icon_48.ctpk b/tags/1stNUP/CardSaveData/Mover/body/banner/icon_48.ctpk new file mode 100644 index 0000000..24fd5a8 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/banner/icon_48.ctpk @@ -0,0 +1,2 @@ +MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUUMUUUUUUUMMMMMMMUMUUUUUUUUUUUUUU]UUU]]]]]UUUUUU]]U]]]]]]]]]]]]eee]eeeeeem]]]]]]ee]]eeeeemeeeeemm nmmm n n n v veeemmmm nmmm n n v v v n v v v v,v,v,~ v,v,v-~-~-~-~Mm n n v v v,v,~ v,v v,~,~-~-~M~,~-~-~-~M~NNN-~NNNNooo,~-~-~M~M~NNNMNNNNoooNooooppopNNooooopoppӦӦӦӮӦӦӮӮӮԮԮMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUMMMMMMMMMMMMMMMUMMMUUUUUUUUUUUUUMMMMMUUUMUUUUUUUUUUUU]]]U]]]]]]]UUUUU]]]U]]]]]]e]]]eeeeeeeeeemmm]]]]]eee]eeeeeemeeemmm n nmmm n n v v,veemmmm n vm n n v v v v,v n v v,v,v,~,~-~ v,~,~-~-~M~MN n v v v v,v,v-~ v,~,~-~-~-~-~N-~-~-~NMNNoNNNONoop-~M~M~NNNNoNNNoooopOoopppnoooopopӦӦӮҦҦӦӮӮҦӦӦӮӮӮӦӦӮӮԮԮӮԮ777777777778X78XXXYYy׆MMMUUUUUUUUUUUU]UUU]]]]]]]]]]]]eUUU]]]]]]]]]]eee]]]eeeeeeeememmm]]]eeeeeeeeeemmTemmm +n n n+e+]2kkkk2Kemm ne! Lk n n v v2k2kkKT+;,~,~-~-~-~d-~u-~-~NNN v vm,v,v-~-~-~kk+;K*l\N e~-~MMNNNnumm *!kkkKK-~NNNN\OdNoooo/pkKkBp!k} *:P}kkoooppkS *NdӦl2kkktӮ CӦ:rӦ2Ӯkkk!kk|knSk0dk.Km:kӦӦӮԮӮԮt *kBkB777kckնS * 2kck 2!k7XXXBkBkXYYy7777XXX7XXXXYYyXYYyYyzzyzzzzߚzߛXYYyyzzzyzzzzߚߛߛzzߚߛߛߛߛ]eeeeeemeeemmm n nemm n n v v v n v v v v,v,v-~mmm n n v v v n v v v v,~,~-~ v,v,~-~-~-~-~M-~-~-~NNNNo v,v,v,~2kCk-~-~-~M ekN: eNm\NNooo *k *opd/uNNNNNoonoopopLCkpkkNd\oppt\ul *r ColӦԮq/dkk\p\SӦӮӦӦӮӮԮԮkkҕplkk0d2k: *kl2kk *0l0lk0lkttkukkk7m:7Dz|!󝵮Pl7u677777XkԝԝXϗXYXXXYYyyz[.S!k6,2Ykkkky׷zא[krtkzr|kr|kk:zzzߚzzzߚߚߛߛߛr|k:Uμzߛߛߛ,v,~,~-~-~M~M~N-~M~M~NNNNoNNNoOoopoooppNNNoooopoooppӦpӦӦӮӦӦӮӮӦӦӮӮԮӦӮӮԮԮԮӮԮ777777788X77777778XX7XXXXYYyXYYyyzzz788XXXXYXYYYYyyzYyyzzzzߛzzzߛߛߛYyzzzߚߚߛzߚߚߛߛߛߛߛߛpҦҦӦӦӦӮӮԮӦӮӮԮԮӦӦӮӮӮԮԮ67Ԯ77777877788XXX7777X777XXXXY8XXYYYyyYYyyyzzߚ7XXXXYYyXYyyyzzzyzzzzߚߛߛzߛߛߛߛߛyzzzzߛߛߛzߛߛߛߛ \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/Mover/body/banner_null_icon.bsf b/tags/1stNUP/CardSaveData/Mover/body/banner_null_icon.bsf new file mode 100644 index 0000000000000000000000000000000000000000..9b21bc2f833e175526e52f13c969ad66cbecd02a GIT binary patch literal 2394 zcmcJPO->s@5QS?C5@)~?o3H@45DUZxVay=HPb?1+OXR_pF*Zy>hCgwP+#t#gSg~T6 zGvplEMseON(~Mj0G1Cjw>Q;~Eb=6m|Ydrk7AT^04l8P+psNlIJmlz$n!mqJ>!R{2h zNP05Beokg(ANvf0&%1b=LT}%%%Zw~zR9{xUy}+QRig}Gw138goEKe1`UP>P`m0PSU zvMP7FE+cvdhQ8*lA#e9xGOo%RGIDh@9)PHgDhEz|F8lZsPba9ht-LW#v$A%{(`rZUd7aq{db==A1*i?6^{fyly;`wzv86oySzP;S(CNgJ;9Bamo z=bWpzx;pe3=42jMe84I`_FRlHds@BF6Us? z3z$F5PxEO0m|y0vc{abXKAFCGxLNsrY|c&H(7%!2tgQ#)u6q9!74$&edG$4qP5qW^ zL-%PccSS~3@$E-x;LG9Nb>+~he17N-tB&DWihP-)ceV3Ft8RcU!HxD%{}~vsl;cqO zGd!~o)7M_wMod4=hPZ?AsrJ*j+6|3Qbr?+q-^$ZaU7m*OFq$3IJB@~pP&19eYQi$_ z%F)!!x!a6S^)!Y_br?-t*s&kbBa3?1)c6@(O<3lw!tV5SKh=JQB6S$e9=>URKltKP zU5=)r4pJY+Q^&u%pC`ZZ(T-h0wV$U*9Y)hAbjKH;>hd&HhtV{HyrH^04b|mn{sV-( BmxcfU literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/body/body.rsf b/tags/1stNUP/CardSaveData/Mover/body/body.rsf new file mode 100644 index 0000000..ffe9238 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/body.rsf @@ -0,0 +1,29 @@ +# AvP[ṼftHgl +BasicInfo: + # vÕ^Cgw肵܂B + Title : $(TITLE) +# BackupMemoryType: 128KB + BackupMemoryType: None + Logo : Nintendo +# CompanyCode: "00" + ProductCode : "CTR-N-22NA" + +TitleInfo: +# Category: 0x0010 +# Category: SystemApplication + UniqueId: 0xf8014 + Version: 0 + +Rom: + HostRoot : romfiles +# SaveDataSize: 512K + +AccessControlInfo: + UseExtSaveData : false + + FileSystemAccess: + - CategoryFileSystemTool + +SystemControlInfo: + RemasterVersion: 2 + diff --git a/tags/1stNUP/CardSaveData/Mover/body/romfiles/nnfont_RectDrawerShader.shbin b/tags/1stNUP/CardSaveData/Mover/body/romfiles/nnfont_RectDrawerShader.shbin new file mode 100644 index 0000000000000000000000000000000000000000..4290c2ccf471f95efa5505da684e57bb896f592b GIT binary patch literal 964 zcmXw&PfQa*6vkhtv@8qQf(W$0cDr~$4u%*mdSSMy2_c(xgQOvZL^e=^Nd+rj? zf!m|k^xk|;KQmd=Gg;rwntN{FTyUv>Zik)aJ8tKa^_prt68->UeLT3*KNnal^Ao@J zx|sGT$F#>6n6`hJX@iU5+wMIc4SJT7p`tT{y&o)M{Q*B@H0{t44_Ov^%v;QaKIaje zf)ee@c^~=Vuot?+-aFVgmri+@1Lwdw!9RH`56*-0g8%Sn1Uv#B0grm@8Z{F~xn=f> z7VT*4|NiIgLxWzrM)s3yn7>_`w!;Fr04@kF+bt7pf=$5-c2oox!9~I7FSA^FLrpu9 zeb();IE6e%-a~%ZZW&+$YzW4D^pLbX+p$)B$GQ`UGd4wBYfLsWaMs_a8=cT6qtw9f zrP`3vai;V*)~ANzbVHZ(Qv-^1o|3#4*IA9%H&0dF-B@>G{rXwOab4tor5BTOefUu6 zkAjLX>?;o9baY~-04Cne z5o{2~WE2j~z&JXD$r(g{F#w>1tSwm75JUVYhPcoqJke(gU!iI0klG7hjNAUL4XSRe ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/Mover/body/source/main.cpp b/tags/1stNUP/CardSaveData/Mover/body/source/main.cpp new file mode 100644 index 0000000..7da7521 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/source/main.cpp @@ -0,0 +1,966 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +//#include +#include +#include +#include +#include +#include +//#include +#include "../../../common/savefile/savefile.h" +#include "../../../common/savefile/savedata.h" +#include "../../../common/savefile/membak.h" +#include "./screen/screen.h" +#include "../../../common/common.h" + +nn::fnd::ExpHeap appHeap; +uptr heapForGx; +//Gui gui; +myResult errRes; + + +//char strBuff[128]; +//bool exist; + +SaveData savedata; +nn::os::LightEvent ejectEvnt(false); +nn::os::LightEvent insEvnt(false); +MemBak exsave; + +//バックアップの状態 +bool Active,Formatted; +bool exActive,exFormatted; +tArcInfo arcInfo,arcInfo_ex;//アーカイブ情報 + +//プロダクトコードの一致 +bool isAgreePCode; +//ベリファイ結果 +//bool failveri; + +//Top画面エラー表示 +int tmerr; + +//結果 +typedef enum { + SUCCESS + ,ERROR + ,CANCEL + ,INSEXIT +}RetCode; + +//挿抜イベント時に設定 +typedef enum { + InEx_None + ,InEx_InsCard + ,InEx_EjcCard +}tIsInsEject; + +tIsInsEject isInsEject; + +extern u8 scr_evnt; +void WaitUI(); +void PutError(ErcDev dev,int cd=0); + + +//終了処理 +void endfunc() +{ + + nn::fs::UnregisterCardEjectedEvent(); + nn::fs::UnregisterCardInsertedEvent(); + ejectEvnt.Finalize(); + insEvnt.Finalize(); + + savedata.Finalize(); + exsave.Finalize(); + + ScrFinalize(); + +} + +//エラー停止 +void failstop() +{ + NN_LOG("fail %d,stop\n",errRes); + finish(); +} + +char sts[64]; +void PutError(ErcDev dev,int cd) +{ + nn::Result res; + switch (dev) + { + case ERC_DEV_CARD: res = savedata.LastNnResult;break; + case ERC_DEV_OUT: res = exsave.LastNnResult;break; + } + GetErrorStr(dev,res,cd,sts); + scr_Status(sts,COLOR_RED); +} + + +//-------------------------------------------------- Verifi +wchar_t file_pathw[MAX_PATH_LENGTH]; +char file_path[MAX_PATH_LENGTH]; +//ドライバの仕様で速度的に4バイトアラインした方がいい(SDK 0.14.23 時点) +char fileBuffer[512] NN_ATTRIBUTE_ALIGN(4);//検証が512単位なので +char fileBuffer_ex[512] NN_ATTRIBUTE_ALIGN(4); +#define FILEBUFF_SIZE sizeof(fileBuffer) + +bool Verifi() +{ + myResult res; + int ct,i,msize,rsize; + s64 total=0; + + //セーブデータのマウント + res = savedata.Mount(); + if(res != RESULT_OK){ + PutError(ERC_DEV_CARD); + return false; + } + +//ファイル数の再取得..ファイル多いと時間かかる +//arcInfoの保持があやしい or 出来ない場合に有効にする +/* + scr_Status("Ready to Verifi",COLOR_YELLO); + //情報ファイル + LogAdd("Directry Info"); + if(savedata.GetInfo(&arcInfo)==false) + { + savedata.Unmount(); + PutError(ERC_DEV_CARD); + return ERROR; + } +*/ + + //出力デバイスのマウント + res = exsave.Mount(); + if(res != RESULT_OK){ + PutError(ERC_DEV_OUT); + return false; + } + + //情報ファイル + if (exsave.GetInfo(&arcInfo_ex) == false) + { + savedata.Unmount(); + exsave.Unmount(); + return false; + }//todo:将来、構造体を変更したらバージョンチェック入れる + + //フォーマット情報の比較 + if ((arcInfo.DirEntry != arcInfo_ex.DirEntry) || + (arcInfo.FileEntry != arcInfo_ex.FileEntry) || + (arcInfo.Dup != arcInfo_ex.Dup)) + { + PutError(ERC_DEV_OUT,ERC_VERIFI); + savedata.Unmount(); + exsave.Unmount(); + return false; + } + + ct =0; + if (arcInfo.FileCount == 0)//ファイルが無い + { + savedata.Unmount(); + exsave.Unmount(); + return true;//フォーマット一致のみ + }else{ + scr_Status("file compairing",COLOR_YELLO); + savedata.ResetPath(); + exsave.ResetPath(); + s64 fsize; + res = RESULT_OK; + while(res==RESULT_OK){ + res = savedata.GetPath(file_pathw); + if (res != RESULT_OK) + { + if (res == RESULT_DIR_LEVEL_OVER){ + break; + } + if (res == RESULT_PATH_LENGTH_OVER){ + break; + } + res = RESULT_FAIL_OPEN; + break; + } + if (file_pathw[0] == 0)break;//root then end + if (ct>=arcInfo.FileCount) + {//カウンタ壊れ、メモリフローの可能性 + res = RESULT_FAIL; + break; + } + scr_CountPerMax(ct,arcInfo.FileCount); + if (savedata.Open(file_pathw)==false) + { + res = RESULT_FAIL_OPEN; + break; + } + fsize = savedata.FileSize; + total += fsize; + if (exsave.Open(file_pathw)==false) + { + res = RESULT_FAIL_OPENW; + //savedata.Close(); + break; + } + if (fsize != exsave.FileSize)//file size + { + res = RESULT_FAIL; + break; + } + msize=fsize; + if(msize <= FILEBUFF_SIZE ){//一回で読めるサイズならゲージは出さない + scr_CountPerMax2(0,0,-1); + } + while(fsize) + { + if(msize > FILEBUFF_SIZE ){ + scr_CountPerMax2(msize-fsize,msize,0); + } + if (fsize > FILEBUFF_SIZE) + { + rsize = FILEBUFF_SIZE; + fsize -= FILEBUFF_SIZE; + }else{ + rsize = fsize; + fsize = 0; + } + if(savedata.Read(fileBuffer,rsize) != rsize ) + { + //中身のデータが作成サイズに満たない場合に検証エラーとなる対策 + //読めないブロックは置き換える + //検証は512単位でされるので読めてるとこまで置き換えないよう + //リードサイズは512にしておく + if(nn::fs::ResultVerificationFailed::Includes(savedata.LastNnResult)) + { + for (i = 0; i < rsize; i++) + { + fileBuffer[i] = 0;//0埋め + } + }else{ + res = RESULT_FAIL_READ; + break; + } + } + if(exsave.Read(fileBuffer_ex,rsize) != rsize ) + { + res = RESULT_FAIL; + break; + } + } + savedata.Close(); + exsave.Close(); + if (res != RESULT_OK)break; + //verifi + for (i = 0;i MEM_BKUP_SIZE) + { + savedata.Unmount(); + PutError(ERC_DEV_OUT,ERC_WRITE_NS);//容量オーバ + return ERROR; + } + //カウント異常なら実行エラー + if (arcInfo.FileCount > arcInfo.FileEntry) + { + savedata.Unmount(); + PutError(ERC_DEV_OTHER,ERC_EXEC); + return ERROR; + } + + scr_Status("BackUp Check",COLOR_YELLO); + if(exsave.IsExist()){ + if(exsave.Delete()==false) + { + savedata.Unmount(); + PutError(ERC_DEV_OUT); + return ERROR; + } + } + + scr_Status("Create Backup",COLOR_YELLO); + res = exsave.Create(arcInfo.DirEntry+1,arcInfo.FileEntry+1); + if (res != RESULT_OK){ + savedata.Unmount(); + PutError(ERC_DEV_OUT); + return ERROR; + } + + if (arcInfo.FileCount == 0)//ファイルが無い + { + scr_Status("no files",COLOR_YELLO); + savedata.Unmount(); + exsave.Unmount(); + return SUCCESS;//フォーマットのみ + }else{ + scr_Status("file reading",COLOR_SKY); + savedata.ResetPath(); + s64 fsize; + res = RESULT_OK; + while(res==RESULT_OK){ + res = savedata.GetPath(file_pathw); + if (res != RESULT_OK) + { + if (res == RESULT_DIR_LEVEL_OVER){ + PutError(ERC_DEV_CARD,ERC_DIRDEPTH); + break; + } + if (res == RESULT_PATH_LENGTH_OVER){ + PutError(ERC_DEV_CARD,ERC_PATH); + break; + } + res = RESULT_FAIL_OPEN; + break; + } + if (file_pathw[0] == 0)break;//root then end + if (ct>=arcInfo.FileCount) + {//カウンタ壊れ、メモリフローの可能性 + res = RESULT_FAIL; + break; + } + + scr_CountPerMax(ct,arcInfo.FileCount); + if (savedata.Open(file_pathw)==false) + { + res = RESULT_FAIL_OPEN; + break; + } + fsize = savedata.FileSize; + total += fsize; + if (exsave.OpenW(file_pathw,fsize)==false) + { + res = RESULT_FAIL_OPENW; + //savedata.Close(); + break; + } + + msize=fsize; + while(fsize) + { + if(msize > FILEBUFF_SIZE * 2){ + scr_CountPerMax2(msize-fsize,msize,0); + } + if (fsize>FILEBUFF_SIZE) + { + rsize = FILEBUFF_SIZE; + fsize -= FILEBUFF_SIZE; + }else{ + rsize = fsize; + fsize = 0; + } + if(savedata.Read(fileBuffer,rsize) != rsize ) + { + //中身のデータが作成サイズに満たない場合に検証エラーとなる対策 + //読めないブロックは置き換える + //検証は512単位でされるので読めてるとこまで置き換えないよう + //リードサイズは512にしておく + if(nn::fs::ResultVerificationFailed::Includes(savedata.LastNnResult)) + { + for (int i = 0; i < rsize; i++) + { + fileBuffer[i] = 0;//0埋め + } + }else{ + res = RESULT_FAIL_READ; + break; + } + } + if(exsave.Write(fileBuffer,rsize) != rsize ) + { + res = RESULT_FAIL_WRITE; + break; + } + } + savedata.Close(); + exsave.CloseW(); + //todo: ゲージ表示 + ct++; + } + savedata.Close(); + exsave.CloseW(); + } + + if (res == RESULT_OK){ + if (ct != arcInfo.FileCount)//ファイル数に満たないパス検索終了 + {//ディレクトリ情報かパス取得で失敗してると思われる + PutError(ERC_DEV_OTHER,ERC_EXEC); + return ERROR; + } + //フォーマット情報を記録 + //Exsaveに2重化が無いので情報取得APIでは不足 - 2011.1 現在 + //プロダクトコードを追加(2011.1.26) + //バージョンを追加(2011.1.27) + if (exsave.OpenSysW()) + { + strcpy(arcInfo.Pcode,savedata.PrdCode); + if(exsave.WriteSys(&arcInfo) ==false) + { + res = RESULT_FAIL_WRITE; + } + }else{ + res = RESULT_FAIL_OPENW; + } + exsave.CloseSysW(); + } + savedata.Unmount(); + //exsave.Commit(); Nand,SDはコミット入れる + exsave.Unmount(); + scr_CountPerMax(ct,arcInfo.FileCount); + if(total>0)scr_CountPerMax2(0,0,total); + +//結果 + switch(res) + { + case RESULT_OK: + if (Verifi()) + { + scr_Status("Complate",COLOR_WHITE); + return SUCCESS; + } + //PutError(ERC_DEV_OTHER,ERC_VERIFI); + break; + case RESULT_FAIL_WRITE: + case RESULT_FAIL_OPENW: + //本体メモリなので容量以外でエラーはない + PutError(ERC_DEV_OUT,ERC_WRITE_NS);//容量オーバ + break; + case RESULT_FAIL_READ: + case RESULT_FAIL_OPEN: + PutError(ERC_DEV_CARD); + break; + } + exsave.Delete();//バックアップを削除 + return ERROR; +} +bool mkdir; +//---------------------------------------------------------------- SD->CARD +RetCode Sd2Card() +{ + myResult res; + int ct=0,msize,rsize; + s64 total = 0; + + + scr_RestoreYesNo();//実行確認 + WaitUI();//入力待ち + if(isInsEject != InEx_None ){//挿抜? + //isInsEject = InEx_None; + return INSEXIT;//挿抜による中断 + } + + if (scr_evnt != EVNT_YES)return CANCEL;//キャンセル + scr_Restore();//画面表示 + scr_Status("Check Backup",COLOR_YELLO); + //保存先のマウント + res = exsave.Mount(); + if(res != RESULT_OK){ + PutError(ERC_DEV_OUT); + return ERROR; + } + + //セーブデータのフォーマット&マウント + scr_Status("Card savedata format",COLOR_YELLO); + res = savedata.Format(&arcInfo);//_exの方がいいかも + if(res != RESULT_OK){ + exsave.Unmount(); + PutError(ERC_DEV_CARD); + return ERROR; + } + //パラメータはバックアップ時 + //Top画面開始時、挿入イベントで取得 + if (arcInfo.FileCount == 0)//ファイルが無い + { + savedata.Unmount(); + exsave.Unmount(); + return SUCCESS;//フォーマットのみ + }else{ + scr_Status("file writing",COLOR_PARPL); + exsave.ResetPath(); + s64 fsize; + res = RESULT_OK; + while(res==RESULT_OK){ + res = exsave.GetPath(file_pathw); + if (res != RESULT_OK) + { + if (res == RESULT_DIR_LEVEL_OVER)break; + if (res == RESULT_PATH_LENGTH_OVER)break; + res = RESULT_FAIL_OPEN; + break; + } + if (file_pathw[0] == 0)break;//root then end + if (ct>=arcInfo.FileCount) + {//カウンタ壊れ、メモリフローの可能性 + res = RESULT_FAIL; + break; + } + + scr_CountPerMax(ct,arcInfo.FileCount); + if (exsave.Open(file_pathw)==false) + { + res = RESULT_FAIL_OPEN; + break; + } + fsize = exsave.FileSize; + total += fsize; + + int rev = 0; + while(1){ + if (savedata.OpenC(file_pathw,fsize,&mkdir)==false) + { + if(mkdir)//ディレクトリのみ作成 + {//深い場合に作成が多いと画面が止まるので + rev++; + if (rev & 1)scr_MessOnCount2("Create Directry -"); + else scr_MessOnCount2("Create Directry |"); + + }else{ + res = RESULT_FAIL_OPENW; + //exsave.Close(); + break; + } + }else break; + } + if (res != RESULT_OK)break; + + msize = fsize; + int itvl = 0; + while(fsize) + { + if(msize > FILEBUFF_SIZE * 2){ + scr_CountPerMax2(msize-fsize,msize,0); + if (++itvl & 1)scr_Status("file copying |",COLOR_PARPL); + else scr_Status("file copying -",COLOR_PARPL); + }else scr_MessOnCount2(""); + + if (fsize>FILEBUFF_SIZE) + { + rsize = FILEBUFF_SIZE; + fsize -= FILEBUFF_SIZE; + }else{ + rsize = fsize; + fsize = 0; + } + if(exsave.Read(fileBuffer,rsize) != rsize ) + { + res = RESULT_FAIL_READ; + break; + } + if(savedata.Write(fileBuffer,rsize) != rsize ) + { + res = RESULT_FAIL_WRITE; + break; + } + } + savedata.CloseW(); + exsave.Close(); + ct++; + } + savedata.Close(); + exsave.CloseW(); + } + savedata.Commit(); + savedata.Unmount(); + exsave.Unmount(); + scr_CountPerMax(ct,arcInfo.FileCount); + scr_CountPerMax2(0,0,total); + +//結果 + switch(res){ + case RESULT_OK: + if (Verifi()==false)return ERROR; + if(exsave.Delete()){//バックアップを削除 + scr_Status("Complate",COLOR_WHITE); + return SUCCESS; + } + case RESULT_FAIL_WRITE: + case RESULT_FAIL_OPENW: + PutError(ERC_DEV_CARD); + return ERROR; + case RESULT_FAIL_READ: + case RESULT_FAIL_OPEN: + PutError(ERC_DEV_OUT); + return ERROR; + } + //その他、実行時エラー + PutError(ERC_DEV_OTHER); + return ERROR; +} + +//--------------------------------------------------------------- セーブデータの情報取得 +//呼ぶ前に tmerr のクリアを忘れない事 +void CheckSaveDataState() +{ + myResult myres; + + Formatted = false; + Active = false; + + if (savedata.GetPrdCode()) + { + Active = true;//カード + myres = savedata.IsExist();//セーブマウント + //NN_LOG("%d",savedata.LastNnResult.GetDescription()); + if (myres == RESULT_OK) + { + Formatted=true; + }else{ + tmerr |= SDATA_ERRPUT_MEDIA; + } + } + scr_PrdCode(savedata.PrdCode); + //プロダクトコードのチェック + isAgreePCode = strcmp(savedata.PrdCode,arcInfo.Pcode)==0; +} + +void CheckExSaveState() +{ + exActive = true;//メモリなので常にtrue + //if (exActive){ + exFormatted = exsave.IsExist() && exsave.GetInfo(&arcInfo); + //todo:変更時はバージョンチェック入れる + exsave.Unmount(); + //}else{ + ////arcInfo.Pcode[0] = 0; + // exFormatted = false; + //} + if (exFormatted==false) arcInfo.Pcode[0] = 0; + scr_PrdCodeEx(arcInfo.Pcode); + //プロダクトコードのチェック + isAgreePCode = strcmp(savedata.PrdCode,arcInfo.Pcode)==0; +} + + +//---------------------------------------------------------------- 入力待ち +void WaitUI() +{ + tmerr = 0; + scr_Draw();//画面更新 + scr_evnt = EVNT_NONE; + while(scr_evnt == EVNT_NONE) + { + nn::os::Thread::Yield();//スレッド実行 + //scr_GetEvnt();//入力イベント + + CheckSysBreak();//中断処理 + + //挿抜を検知したら中断して抜ける + //トップ以外ではトップメニューへ戻るようする + if (ejectEvnt.TryWait()){ + CheckSaveDataState(); + isInsEject = InEx_EjcCard; + return; + } + if (insEvnt.TryWait()){ + CheckSaveDataState(); + isInsEject = InEx_InsCard; + return; + } + } + ScrClr();//画面消去 + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(500));//チャタ対策 +} + +tColStr mess_ReadError = {"[Read] is failed",COLOR_RED}; +tColStr mess_WriteError = {"[Write] is failed",COLOR_RED}; +tColStr mess_ReadOk = {"[Read] is Success",COLOR_GREEN}; +tColStr mess_WriteOk = {"[Write] is Success",COLOR_GREEN}; +tColStr mess_PullOut = {"Pull Out",COLOR_RED}; +tColStr mess_ChkDev = {"check device",COLOR_RED}; +tColStr mess_Insexit = {"Detect Insert or pull out",COLOR_RED}; +tColStr mess_WhenExc = {"When you exchange device",COLOR_WHITE}; +tColStr mess_PoffSys = {"PowerOff or return Top Menu",COLOR_WHITE}; + +//---------------------- main loop -------------------------- +void nnMain() +{ + int i; + myResult mres; + RetCode retc; + //tColStr *colstr[4]; + //colstr[2] = &mess_WhenExc; + //colstr[3] = &mess_PoffSys; + isInsEject = InEx_None; + + //NN_LOG("Start\n"); + nn::os::Initialize(); + nn::fs::Initialize(); + + //DEA-SUPにて推奨のフリーズ暫定対策:無線デーモンを停止 (2011.3.1 現在) + //ただし、スリープ時は止まらない + //心配なら本体スイッチで切っとく + nn::ndm::Initialize(); + nn::ndm::SuspendScheduler(); + + //中断処理の準備 + InitSysBreak((uptr)endfunc); + // グラフィックスライブラリの初期化は、以降で行わなければならない + // 他、アプリケーションの初期化処理 + + nn::applet::DisableSleep();//スリープ非対応 + + //Heap + appHeap.Initialize(nn::os::GetDeviceMemoryAddress(), + nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + const u32 GxHeapSize = 0x800000; + heapForGx = reinterpret_cast(appHeap.Allocate(GxHeapSize)); + //画面初期化 + if (ScrInitialize(heapForGx,GxHeapSize) == false)failstop(); + ejectEvnt.ClearSignal(); + insEvnt.ClearSignal(); + nn::fs::RegisterCardEjectedEvent(&ejectEvnt); + nn::fs::RegisterCardInsertedEvent(&insEvnt); + + // スリープ要求に対する返答を有効にする + // また、蓋の状態チェックを行い蓋が閉じられているならスリープ要求が発生する + //nn::applet::EnableSleep(true); + + extern u8 scr_evnt; + while(1) + { + tmerr = 0; + CheckSaveDataState(); //セーブデータの状態取得 + CheckExSaveState(); //同バックアップ + if (isAgreePCode==false) tmerr |= SDATA_ERRPUT_PCODE; +// scr_TopMenu(Formatted,Active,exFormatted,exActive,isAgreePCode,failveri); + scr_TopMenu(Formatted,Active,exFormatted,exActive,tmerr); + + + WaitUI();//入力待ち + if (isInsEject != InEx_None){ + ScrClr();//画面消去 + isInsEject= InEx_None; + }else + switch(scr_evnt) + { + case EVNT_PUSH_B: + case EVNT_NONE: + break; + case EVNT_PUSH_Y: + break; + case EVNT_SEL_READ://リード + NN_LOG("select read\n"); + retc = Card2Sd(); + switch (retc){ + case SUCCESS: + //CheckExSaveState(); //状態の更新 + scr_ResultQuit("Success",COLOR_GREEN);//成功とQuitボタン + break; + case INSEXIT: + //scr_InsExitQuit();//挿抜検知表示 & Quit + ScrClr();//画面消去 + scr_Backup(); + { + if (isInsEject == InEx_EjcCard)PutError(ERC_DEV_CARD,ERC_DEVICE); + else PutError(ERC_DEV_OTHER); + scr_ResultQuit("Break",COLOR_RED);//エラーとQuitボタン + } + break; + case CANCEL: + //scr_ResultQuit("Canseled",COLOR_YELLO);//キャンセル + break; + default://errors + scr_ResultQuit("Failed",COLOR_RED);//エラーとQuitボタン + break; + } + if (retc == CANCEL)break; + //isInsEject = InEx_None; + while(1){ + WaitUI(); + if (isInsEject != InEx_None){ + isInsEject = InEx_None; + } + if(scr_evnt==EVNT_QUIT)break; + if(scr_evnt==EVNT_PUSH_B)break; + } + break; + case EVNT_SEL_WRITE://リストア + NN_LOG("select write\n"); + retc = Sd2Card(); + switch (retc){ + case SUCCESS: + //CheckSaveDataState(); //状態の更新 + //CheckExSaveState(); + scr_ResultQuit("Success",COLOR_GREEN);//成功とQuitボタン + break; + case INSEXIT: + //scr_InsExitQuit();//挿抜検知表示 & Quit + ScrClr();//画面消去 + scr_Backup(); + { + if (isInsEject == InEx_EjcCard)PutError(ERC_DEV_CARD,ERC_DEVICE); + else PutError(ERC_DEV_OTHER); + scr_ResultQuit("Break",COLOR_RED);//エラーとQuitボタン + } + break; + case CANCEL: + //scr_ResultQuit("Canseled",COLOR_YELLO);//キャンセル + break; + default://errors + scr_ResultQuit("Failed",COLOR_RED);//エラーとQuitボタン + break; + } + if (retc == CANCEL)break; + while(1){ + WaitUI(); + if (isInsEject != InEx_None){ + isInsEject= InEx_None; + } + if(scr_evnt==EVNT_QUIT)break; + if(scr_evnt==EVNT_PUSH_B)break; + } + break; +/* case EVNT_SEL_END: + NN_LOG("select end\n"); + finish(); + break; + case EVNT_NO: + NN_LOG("select NO\n"); + break; + case EVNT_YES: + NN_LOG("select YES\n"); + break; +*/ + //old debug key + case EVNT_PUSH_L:// ------------------------------- 表示の切り替え + case EVNT_PUSH_DOWN_Y:// ---------------------------------- 表示の切り替え + break; + + case EVNT_PUSH_LEFT_X:// ------------------------------------- LEFT + X + //バックアップ削除 + scr_DelConf();//実行確認 + WaitUI(); + if (scr_evnt != EVNT_YES)break; + exsave.Delete(); + //CheckExSaveState(); //状態更新 + break; + + case EVNT_PUSH_R:// ------------------------------------------- R + //CARD(NAND)へテストファイル書き込み + //デバグモード時のみ + bool flg; + scr_ConfirmDbg("dummy savedata write OK?");//実行確認 + WaitUI(); + if (scr_evnt != EVNT_YES)break; + for ( i =0;i +#include +#include "screen.h" +#include "../../../../common/my_defs.h" +#include "../../ver.h" + + +Gui gui; +u8 scr_evnt; + +enum{ +//PANEL_END, +PANEL_ERROR, +PANEL_SUCCESS, +PANEL_TOPMENU, +PANEL_TITLE, +PANEL_QUIT, +PANEL_READ, +PANEL_WRITE, +PANEL_YES, +PANEL_NO, +PANEL_CONFIRM, +PANEL_DELCONF, +PANEL_MENU, +PANEL_BKUP, +PANEL_INSEXIT, +PANEL_DBGLOG +}; + +enum{ +MESSAGE_VERSION, +MESSAGE_PRODUCT, +MESSAGE_PRODUCT2, +MESSAGE_ERROR_TITLE, +MESSAGE_ERROR_INFO, +MESSAGE_ERROR_INFO2, +MESSAGE_ERROR_INFO3, +MESSAGE_SUCCESS_TITLE, +MESSAGE_SUCCESS_INFO, +MESSAGE_SUCCESS_INFO2, +MESSAGE_CONFIRM_TITLE, +MESSAGE_CONFIRM_MSG, +MESSAGE_DELCONF_TITLE, +MESSAGE_DELCONF_MSG, +MESSAGE_DELCONF_MSG2, +MESSAGE_DELCONF_MSG3, +//MESSAGE_TOPMENU_HELP_TITLE, +MESSAGE_TOPMENU_HELP_READ, +MESSAGE_TOPMENU_HELP_WRITE, +MESSAGE_TOPMENU_HELP_END, +MESSAGE_TOPMENU_HELP_OPERATE, +MESSAGE_TITLE, +MESSAGE_MENU_READ, +MESSAGE_MENU_WRITE, +//MESSAGE_MENU_END, +MESSAGE_MENU_OPERATE, +MESSAGE_MENU_CAUTION, +MESSAGE_MENU_ERROR, +MESSAGE_MENU_DEBUG, +MESSAGE_INSEXT_1, +MESSAGE_INSEXT_2, +MESSAGE_INSEXT_3, +MESSAGE_OPERATE, +MESSAGE_RESULT, +MESSAGE_QUIT_OPERATE, +MESSAGE_CONF, +MESSAGE_COUNT, +MESSAGE_COUNT2, +MESSAGE_STATUS +}; + +enum{ +MEMO_DBGLOG +}; + + +//ʏAR|[lgfBZ[u +void ScrClr() +{ + gui.ButtonMask(0); + gui.DisableAll(); + gui.Draw(); +} + +nn::os::Tick holdTck; +u32 holdVal; +//---------------------------------CxgR[obN +//----------------PAD{^ +void pushButton(u32 sts) +{ + //NN_LOG("button > %4x\n",button); + u32 trg = sts & 0x0ffff; + u32 hld = sts >> 16; + + if( holdVal )// + { + if (hld != holdVal) + { + holdVal = 0; + }else + if (nn::fnd::TimeSpan::FromMilliSeconds(4000) < (nn::os::Tick::GetSystemCurrent()-holdTck)) + { + holdVal = 0; + scr_evnt = EVNT_PUSH_LEFT_X; + } + }else if (hld == ( nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X )) + { + holdVal = hld; + holdTck = nn::os::Tick::GetSystemCurrent(); + } + else if (trg & nn::hid::BUTTON_B)scr_evnt = EVNT_PUSH_B; +} + +//-----------------pl^b` +// ---- Top Menu :READ +void touchRead(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_SEL_READ; +} +// ---- Top Menu :WRITE +void touchWrite(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_SEL_WRITE; +} + +//---- Top Menu :END +//void touchEnd(u32 pos NN_IS_UNUSED_VAR) +//{ +// scr_evnt = EVNT_SEL_END; +//} + +//---- YES +void touchYes(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_YES; +} + +//---- NO +void touchNo(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_NO; +} + +void touchQuit(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_QUIT; +} + +#define NULL_PTR 0 +#define NULL_STR 0 +#define SCREEN_UPPER 0 +#define SCREEN_LOWER 1 +#define LOC_CONF_X 60 +#define LOC_CONF_Y 20 +#define LOC_CONF_W (400 - LOC_CONF_X*2) +#define LOC_CONF_H 70 +#define LOC_LOG_X 50 +#define LOC_LOG_W (400 - LOC_LOG_X*2) +#define LOC_LOG_Y (LOC_CONF_Y + LOC_CONF_H + 10) +#define LOC_LOG_H (240 - LOC_LOG_Y - 10) +#define LOG_MAX 10 + +// -------------------------------------------------- R|[lg݌v +// + +//Top Menu +const tPanel panel_Read = {(uptr)touchRead,"Backup",80+20,30,160,80,PANEL_READ,SCREEN_LOWER}; +const tPanel panel_Write = {(uptr)touchWrite,"Restore",80+20,130,160,80,PANEL_WRITE,SCREEN_LOWER}; +//const tPanel panel_End = {(uptr)touchEnd,"End",80,180,160,30,PANEL_END,SCREEN_LOWER}; + +//Yes No +const tPanel panel_Yes = {(uptr)touchYes,"YES",40+10,60,80,120,PANEL_YES,SCREEN_LOWER}; +const tPanel panel_No = {(uptr)touchNo,"NO",200+30,60,80,120,PANEL_NO,SCREEN_LOWER}; + +//Quit +const tPanel panel_Quit = {(uptr)touchQuit,"Quit",80+20,60,160,120,PANEL_QUIT,SCREEN_LOWER}; + +// +//foOp +//G[\ +const tPanel panel_Error = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_ERROR,SCREEN_UPPER}; +const tMessage mess_Title_Err = {"title",10,10,COLOR_RED,8,MESSAGE_ERROR_TITLE,PANEL_ERROR}; +const tMessage mess_Info_Err = {"info",10,22,COLOR_RED,8,MESSAGE_ERROR_INFO,PANEL_ERROR}; +const tMessage mess_Info2_Err = {"info2",10,40,COLOR_RED,8,MESSAGE_ERROR_INFO2,PANEL_ERROR}; +const tMessage mess_Info3_Err = {"info3",10,50,COLOR_RED,8,MESSAGE_ERROR_INFO3,PANEL_ERROR}; + +// +const tPanel panel_Success = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_SUCCESS,SCREEN_UPPER}; +const tMessage mess_Title_Suc = {"title",10,10,COLOR_GREEN,8,MESSAGE_SUCCESS_TITLE,PANEL_SUCCESS}; +const tMessage mess_Info_Suc = {"info",10,40,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO,PANEL_SUCCESS}; +const tMessage mess_Info2_Suc = {"info2",10,50,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO2,PANEL_SUCCESS}; + +//smF +const tPanel panel_Confirm = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_CONFIRM,SCREEN_UPPER}; +const tMessage mess_conf_Title = {"title",10,10,COLOR_YELLO,8,MESSAGE_CONFIRM_TITLE,PANEL_CONFIRM}; +const tMessage mess_conf_Msg = {"Do you execute?",10,40,COLOR_WHITE,8,MESSAGE_CONFIRM_MSG,PANEL_CONFIRM}; + +//gbvj[ +const tPanel panel_topmenu_help = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_TOPMENU,SCREEN_UPPER}; +const tMessage mess_topmenu_help_read = {"[Backup] Card -> bkup",10,4,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_notread = {"[Backup] is Invalid",10,4,COLOR_RED,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_write = {"[Restore] bkup -> Card",10,16,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_notwrite = {"[Restore] is Invalid",10,16,COLOR_RED,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_end = {"[End] return to SystemMenu",10,28,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_END,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_operate = {"touch below",10,48,COLOR_GREEN,8,MESSAGE_TOPMENU_HELP_OPERATE,PANEL_TOPMENU}; + +//O\ +const tPanel panel_dbglog = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_DBGLOG,SCREEN_UPPER}; +const tMemo memo_dbglog = {LOG_MAX,10,10,COLOR_WHITE,8,MEMO_DBGLOG,PANEL_DBGLOG}; + + +//ʏ펞 +//^Cg +#define FONT_SIZE_TITLE 12 +#define LOC_TITL_X (40-FONT_SIZE_TITLE*2) +#define LOC_TITL_Y 20 +#define LOC_TITL_W (400 - LOC_CONF_X*2) +#define LOC_TITL_H 50 +#define FONT_SIZE_PRODUCT 10 +const tPanel panel_title = {NULL_PTR,NULL_STR,LOC_TITL_X,LOC_TITL_Y,LOC_TITL_W,LOC_TITL_H,PANEL_TITLE,SCREEN_UPPER}; +const tMessage mess_title = {"title",0,0,COLOR_WHITE,FONT_SIZE_TITLE,MESSAGE_TITLE,PANEL_TITLE}; +const tMessage mess_product = {"product",0,LOC_TITL_H - 22,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT,PANEL_TITLE}; +const tMessage mess_product2 = {"product2",0,LOC_TITL_H - 10,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT2,PANEL_TITLE}; +const tMessage mess_version = {"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZE_TITLE+2,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_VERSION,PANEL_TITLE}; + +#define LOC_MESS_X 20 +#define LOC_MESS_W (400 - LOC_MESS_X*2) +#define LOC_MESS_Y (LOC_TITL_Y + LOC_TITL_H + 10) +#define LOC_MESS_H (240 - LOC_MESS_Y - 10) +//TOPj[ +//\̓OƔr +#define FONT_SIZE 10 +#define STR_LINE(ln) (FONT_SIZE + 2)*ln +const tPanel panel_menu = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_MENU,SCREEN_UPPER}; +const tMessage mess_menu_read = {"[Backup] Card savedata Backup",10,STR_LINE(1),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_READ,PANEL_MENU}; +const tMessage mess_menu_write = {"[Restore] restore to Card",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_WRITE,PANEL_MENU}; +//const tMessage mess_menu_end = {"[End] close this apprication",10,STR_LINE(3),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_END,PANEL_MENU}; +const tMessage mess_menu_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_MENU_OPERATE,PANEL_MENU}; +const tMessage mess_bkuperr = {"Backup error",10,STR_LINE(6),COLOR_RED,FONT_SIZE,MESSAGE_MENU_ERROR,PANEL_MENU}; +const tMessage mess_carderr = {"CARD error",10,STR_LINE(7),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_CAUTION,PANEL_MENU}; +const tMessage mess_debug = {"Crush Mode",10,STR_LINE(3),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_DEBUG,PANEL_MENU}; + +//Backup +//const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_BKUP,SCREEN_UPPER}; +const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_BKUP,SCREEN_UPPER}; +const tMessage mess_quit_operate = {"touch [Quit],or Push B",10,STR_LINE(4),COLOR_SKY,FONT_SIZE,MESSAGE_QUIT_OPERATE,PANEL_BKUP}; +const tMessage mess_conf = {"Do you execute?",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_CONF,PANEL_BKUP}; +const tMessage mess_result = {"result",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_RESULT,PANEL_BKUP}; +const tMessage mess_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_OPERATE,PANEL_BKUP}; +const tMessage mess_status = {"status",10,STR_LINE(7),COLOR_WHITE,FONT_SIZE,MESSAGE_STATUS,PANEL_BKUP}; +const tMessage mess_count = {"count",10,STR_LINE(8),COLOR_WHITE,FONT_SIZE,MESSAGE_COUNT,PANEL_BKUP}; +const tMessage mess_count2 = {"count2",10,STR_LINE(9),COLOR_GREEN,FONT_SIZE,MESSAGE_COUNT2,PANEL_BKUP}; + + +//} +//const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_INSEXIT,SCREEN_UPPER}; +const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_INSEXIT,SCREEN_UPPER}; +const tMessage mess_insexit = {"device insert or pull out is detected",10,STR_LINE(3),COLOR_RED,8,MESSAGE_INSEXT_1,PANEL_INSEXIT}; +const tMessage mess_insexit2 = {"return to top menu",10,STR_LINE(5),COLOR_WHITE,8,MESSAGE_INSEXT_2,PANEL_INSEXIT}; +const tMessage mess_insexit3 = {"please touch or push B",10,STR_LINE(6),COLOR_WHITE,8,MESSAGE_INSEXT_3,PANEL_INSEXIT}; + +//폜mF +//const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_CONF_X-10,LOC_CONF_Y,LOC_CONF_W+10,LOC_CONF_H*2,PANEL_DELCONF,SCREEN_UPPER}; +const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y-36,LOC_MESS_W,LOC_MESS_H,PANEL_DELCONF,SCREEN_UPPER}; +const tMessage mess_delconf_Title = {" *** DELETE *** ",10,10,COLOR_YELLO,16,MESSAGE_DELCONF_TITLE,PANEL_DELCONF}; +const tMessage mess_delconf_Msg = {" caution!",10,50,COLOR_YELLO,12,MESSAGE_DELCONF_MSG,PANEL_DELCONF}; +const tMessage mess_delconf_Msg2 = {"this is delete backup",10,70,COLOR_YELLO,12,MESSAGE_DELCONF_MSG2,PANEL_DELCONF}; +const tMessage mess_delconf_Msg3 = {"Do you execute?",10,90,COLOR_YELLO,12,MESSAGE_DELCONF_MSG3,PANEL_DELCONF}; + + + +nn::os::LightEvent stopEvnt(true); + +char scr_ver[16]; +char scr_err[32]; +char scr_debug[32]; +//menu +bool ScrInitialize(uptr heap,u32 size) +{ + scr_evnt = EVNT_NONE; + holdVal = 0; + holdTck = nn::fnd::TimeSpan(0); + + if (gui.Initialize(heap,size,&stopEvnt)==false)return false; + + gui.ButtonCallback((uptr)pushButton); + //R|[lgo^ + gui.PanelSet(&panel_Read); + gui.PanelSet(&panel_Write); +// gui.PanelSet(&panel_End); + gui.PanelSet(&panel_Yes); + gui.PanelSet(&panel_No); + gui.PanelSet(&panel_Quit); + gui.PanelSet(&panel_Error); + gui.PanelSet(&panel_Success); + gui.PanelSet(&panel_Confirm); + gui.PanelSet(&panel_delconf); + gui.PanelSet(&panel_topmenu_help); + gui.PanelSet(&panel_title); + gui.PanelSet(&panel_menu); + gui.PanelSet(&panel_bkup); + gui.PanelSet(&panel_dbglog); + gui.PanelSet(&panel_insexit); + + gui.PanelLineStyle(PANEL_TITLE,COLOR_BLACK); + + + gui.MessSet(&mess_Title_Err); + gui.MessSet(&mess_Info_Err); + gui.MessSet(&mess_Info2_Err); + gui.MessSet(&mess_Info3_Err); + gui.MessSet(&mess_Title_Suc); + gui.MessSet(&mess_Info_Suc); + gui.MessSet(&mess_Info2_Suc); + gui.MessSet(&mess_conf_Title); + gui.MessSet(&mess_conf_Msg); + gui.MessSet(&mess_delconf_Title); + gui.MessSet(&mess_delconf_Msg); + gui.MessSet(&mess_delconf_Msg2); + gui.MessSet(&mess_delconf_Msg3); + + gui.MessSet(&mess_topmenu_help_read); + gui.MessSet(&mess_topmenu_help_write); + gui.MessSet(&mess_topmenu_help_end); + gui.MessSet(&mess_topmenu_help_operate); + + gui.MessSet(&mess_title); + gui.MessSet(&mess_version); + gui.MessSet(&mess_product); + gui.MessSet(&mess_product2); + gui.MessSet(&mess_menu_read); + gui.MessSet(&mess_menu_write); +// gui.MessSet(&mess_menu_end); + gui.MessSet(&mess_menu_operate); + gui.MessSet(&mess_quit_operate); + gui.MessSet(&mess_conf); + gui.MessSet(&mess_operate); + gui.MessSet(&mess_bkuperr); + gui.MessSet(&mess_carderr); + gui.MessSet(&mess_debug); + gui.MessSet(&mess_result); + gui.MessSet(&mess_status); + gui.MessSet(&mess_count); + gui.MessSet(&mess_count2); + + gui.MessSet(&mess_insexit); + gui.MessSet(&mess_insexit2); + gui.MessSet(&mess_insexit3); + + gui.MemoSet(&memo_dbglog); + + gui.MemoEffective(MESSAGE_PRODUCT); + gui.MessEffective(MESSAGE_ERROR_TITLE); + gui.MessEffective(MESSAGE_ERROR_INFO); + gui.MessEffective(MESSAGE_ERROR_INFO2); + gui.MessEffective(MESSAGE_ERROR_INFO3); + gui.MessEffective(MESSAGE_SUCCESS_TITLE); + gui.MessEffective(MESSAGE_SUCCESS_INFO); + gui.MessEffective(MESSAGE_SUCCESS_INFO2); + gui.MessEffective(MESSAGE_CONFIRM_TITLE); + gui.MessEffective(MESSAGE_CONFIRM_MSG); + gui.MessEffective(MESSAGE_DELCONF_TITLE); + gui.MessEffective(MESSAGE_DELCONF_MSG); + gui.MessEffective(MESSAGE_DELCONF_MSG2); + gui.MessEffective(MESSAGE_DELCONF_MSG3); + gui.MessEffective(MESSAGE_TOPMENU_HELP_READ); + gui.MessEffective(MESSAGE_TOPMENU_HELP_WRITE); + gui.MessEffective(MESSAGE_TOPMENU_HELP_END); + gui.MessEffective(MESSAGE_TOPMENU_HELP_OPERATE); + gui.MessEffective(MESSAGE_MENU_READ); + gui.MessEffective(MESSAGE_MENU_WRITE); +// gui.MessEffective(MESSAGE_MENU_END); + gui.MessEffective(MESSAGE_MENU_OPERATE); + gui.MessEffective(MESSAGE_INSEXT_1); + gui.MessEffective(MESSAGE_INSEXT_2); + gui.MessEffective(MESSAGE_INSEXT_3); + gui.MessEffective(MESSAGE_TITLE); + gui.MessEffective(MESSAGE_VERSION); + gui.MemoEffective(MEMO_DBGLOG); + + gui.PanelLineStyle(PANEL_DELCONF,COLOR_YELLO); + + sprintf(scr_ver,"ver %.2f",VERSION); + gui.MessStr(MESSAGE_VERSION,scr_ver); + gui.MessStr(MESSAGE_MENU_CAUTION,scr_err); + gui.MessStr(MESSAGE_MENU_ERROR,scr_err); + gui.MessStr(MESSAGE_MENU_DEBUG,scr_debug); + + return true; + +} + +void ScrFinalize() +{ + stopEvnt.Signal(); + while(stopEvnt.TryWait()){ + nn::os::Thread::Yield(); + + }; + gui.Finalize(); +} + +//YES-NO {^ +void YesNo() +{ + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_B); + gui.PanelEffective(PANEL_YES); + gui.PanelEffective(PANEL_NO); + gui.Draw(); +} + +void Quit() +{ + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_B); + gui.PanelEffective(PANEL_QUIT); + gui.Draw(); +} + + +//gbvj[ +//:J[h +void scr_TopMenuDbg(bool formatted,bool insertted)//fobOp +{ + scr_evnt = EVNT_NONE; + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_R | nn::hid::BUTTON_L); + + if (formatted) + {//[h”\ + gui.MessSet(&mess_topmenu_help_read); + gui.PanelEffective(PANEL_READ); + }else{//[hs + gui.MessSet(&mess_topmenu_help_notread); + gui.PanelEffective(PANEL_READ,false); + } + if (insertted) + {//݉ + gui.MessSet(&mess_topmenu_help_write); + gui.PanelEffective(PANEL_WRITE); + }else{//ݕs + gui.MessSet(&mess_topmenu_help_notwrite); + gui.PanelEffective(PANEL_WRITE,false); + } + + gui.MessEffective(MESSAGE_TOPMENU_HELP_READ); + gui.MessEffective(MESSAGE_TOPMENU_HELP_WRITE); +// gui.PanelEffective(PANEL_END); + gui.PanelEffective(PANEL_TOPMENU); + gui.Draw(); +} + +//ʏ펞 + +//v_NgR[h +//:J[hAgZ[uɋL^ꂽ +char scr_pcode[32]; +void scr_PrdCode(char *s) +{ + strcpy(scr_pcode,"CARD : "); + if (s[0]==0) strcat(scr_pcode,"----"); + else strcat(scr_pcode,s); + gui.MessStr(MESSAGE_PRODUCT,scr_pcode); +} + +char scr_pcode2[64]; +void scr_PrdCodeEx(char *s) +{ + strcpy(scr_pcode2,"BKUP : "); + if (s[0]==0) strcat(scr_pcode2,"----"); + else strcat(scr_pcode2,s); + gui.MessStr(MESSAGE_PRODUCT2,scr_pcode2); +} + +//폜̎smF +void scr_DelConf() +{ + scr_evnt = EVNT_NONE; + gui.PanelEffective(PANEL_DELCONF); + YesNo(); +} + + +//Top menu +//:foCX +//arg : v_NgR[hv +void scr_TopMenu(bool formatted,bool inserted,bool exfm,bool bkupins,int err) +{ + + int i; + scr_evnt = EVNT_NONE; + + u32 mask = 0; + mask |= (nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X);//LEFT+X = Delete L + + gui.MessStr(MESSAGE_TITLE," < CTR Card Savedata Mover >"); + + gui.MessEffective(MESSAGE_MENU_ERROR,false,false); + gui.MessEffective(MESSAGE_MENU_CAUTION,false,false); + gui.MessEffective(MESSAGE_MENU_OPERATE,false,false); + //Е̂ݗL + if (formatted && bkupins && (exfm == false)) + {//obNAbv + gui.MessEffective(MESSAGE_MENU_OPERATE); + gui.PanelEffective(PANEL_READ); + gui.PanelEffective(PANEL_WRITE,false,false); + }else if (exfm && inserted) + {//XgA + mask |= (nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X);//LEFT+X = Delete L + gui.PanelEffective(PANEL_READ,false,false); + i =0; + if (err & SDATA_ERRPUT_PCODE) i = ERC_DEV_OTHER + ERC_PRODCODE;//v_NgR[hsv + //else + //if (err & SDATA_ERRPUT_MEDIA) i = ERC_MEDIA + ERC_DEV_CARD;//obNAbvȂ + if (i !=0 ) + { + gui.PanelEffective(PANEL_WRITE,false,false); + sprintf(scr_err,"ERROR %d",i); + gui.MessEffective(MESSAGE_MENU_ERROR); + } + else{ + gui.MessEffective(MESSAGE_MENU_OPERATE); + gui.PanelEffective(PANEL_WRITE); + } + }else{//Ȃ + gui.PanelEffective(PANEL_WRITE,false,false); + gui.PanelEffective(PANEL_READ,false,false); + + if (inserted == false) + { + strcpy(scr_err,"Please Insert Card"); + gui.MessEffective(MESSAGE_MENU_CAUTION); + + }else{ + if (err & SDATA_ERRPUT_MEDIA) i = ERC_MEDIA + ERC_DEV_CARD;//Z[uf[^}EgłȂ + else if (bkupins == false) i = ERC_DEVICE + ERC_DEV_OUT;//ofoCX + else i = ERC_DEV_OTHER;//s + sprintf(scr_err,"ERROR %d",i); + gui.MessEffective(MESSAGE_MENU_ERROR); + } + } + + gui.ButtonMask(mask); + + gui.MessEffective(MESSAGE_PRODUCT); + gui.MessEffective(MESSAGE_PRODUCT2); + + gui.PanelEffective(PANEL_TITLE); + gui.PanelEffective(PANEL_MENU); + + gui.Draw(); +} + +//fobOpA{^҂ +void ScrStep() +{ + scr_evnt = EVNT_NONE; + gui.ButtonMask(nn::hid::BUTTON_B); +} + + +void ClearBkupMess() +{ + gui.MessEffective(MESSAGE_CONF,false,false); + gui.MessEffective(MESSAGE_RESULT,false,false); + gui.MessEffective(MESSAGE_OPERATE,false,false); + gui.MessEffective(MESSAGE_QUIT_OPERATE,false,false); + gui.MessEffective(MESSAGE_STATUS,false,false); + gui.MessEffective(MESSAGE_COUNT,false,false); + gui.MessEffective(MESSAGE_COUNT2,false,false); + gui.PanelEffective(PANEL_BKUP); +} + +//Backup +void scr_Backup() +{ + scr_evnt = EVNT_NONE; + gui.PanelLineStyle(PANEL_BKUP,COLOR_SKY); + gui.MessStr(MESSAGE_TITLE," --- Backup Card Savedata ---"); + gui.PanelEffective(PANEL_TITLE); + ClearBkupMess(); + gui.Draw(); + +} +void scr_BackupYesNo() +{ + scr_Backup(); + gui.MessEffective(MESSAGE_CONF); + gui.MessEffective(MESSAGE_OPERATE); + YesNo(); +} + +//restore +void scr_Restore() +{ + scr_evnt = EVNT_NONE; + gui.PanelLineStyle(PANEL_BKUP,COLOR_PARPL); + gui.MessStr(MESSAGE_TITLE,"--- Restore Card Savedata ---"); + gui.PanelEffective(PANEL_TITLE); + ClearBkupMess();//backupƓplg + gui.Draw(); + +} +void scr_RestoreYesNo() +{ + scr_Restore(); + gui.MessEffective(MESSAGE_CONF); + gui.MessEffective(MESSAGE_OPERATE); + YesNo(); +} + + +void scr_Status(char *s,eColor col) +{ + gui.MessCol(MESSAGE_STATUS,col); + gui.MessStr(MESSAGE_STATUS,s); + gui.MessEffective(MESSAGE_STATUS); + gui.Draw(); +} + +void scr_ResultQuit(char *s,eColor col) +{ + gui.MessCol(MESSAGE_RESULT,col); + gui.MessStr(MESSAGE_RESULT,s); + gui.MessEffective(MESSAGE_RESULT); + gui.MessEffective(MESSAGE_QUIT_OPERATE); + Quit(); +} + + +void scr_InsExitQuit() +{ + ClearBkupMess(); + gui.PanelLineStyle(PANEL_INSEXIT,COLOR_RED); + gui.PanelEffective(PANEL_INSEXIT); + Quit(); +} + +// JEg/MAX \ +char str_Counter[128]; +char str_Counter2[128]; +void scr_CountPerMax(int ct,int max) +{ + sprintf(str_Counter,"%d / %d",ct,max); + gui.MessStr(MESSAGE_COUNT,str_Counter); + gui.MessEffective(MESSAGE_COUNT); + gui.Draw(); +} + +//Q[Wtotal +void scr_CountPerMax2(int ct,int max,int total) +{ + if (total == -1) str_Counter2[0]=0; + else if (total != 0){ +// gui.MessCol(MESSAGE_COUNT2,COLOR_WHITE); + sprintf(str_Counter2,"total size %d",total); + }else{ +// gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); + int i; + int lv = ct/(max/25); + for (i =0;i'; + while ( i < 25 )str_Counter2[i++] = '|'; + str_Counter2[i] = 0; + } + //sprintf(str_Counter2,"%d / %d",ct,max); + gui.MessStr(MESSAGE_COUNT2,str_Counter2); + gui.MessEffective(MESSAGE_COUNT2); + gui.Draw(); + +} + +void scr_MessOnCount2(char *str) +{ +// gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); + gui.MessStr(MESSAGE_COUNT2,str); + gui.MessEffective(MESSAGE_COUNT2); + gui.Draw(); +} + + +//smF +void scr_ConfirmDbg(char *str) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_CONFIRM_TITLE,str); + gui.PanelEffective(PANEL_CONFIRM); + YesNo(); +} + + +//G[\Quit{^ +void scr_ErrorQuitDbg(tColStr **s) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_ERROR_TITLE,s[0]->str); + gui.MessCol(MESSAGE_ERROR_TITLE,s[0]->color); + gui.MessStr(MESSAGE_ERROR_INFO,s[1]->str); + gui.MessCol(MESSAGE_ERROR_INFO,s[1]->color); + gui.MessStr(MESSAGE_ERROR_INFO2,s[2]->str); + gui.MessCol(MESSAGE_ERROR_INFO2,s[2]->color); + gui.MessStr(MESSAGE_ERROR_INFO3,s[3]->str); + gui.MessCol(MESSAGE_ERROR_INFO3,s[3]->color); + gui.PanelEffective(PANEL_ERROR); + Quit(); +} + +//\Quit{^ +void scr_SuccessQuitDbg(tColStr **s) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_SUCCESS_TITLE,s[0]->str); + gui.MessCol(MESSAGE_SUCCESS_TITLE,s[0]->color); + gui.MessStr(MESSAGE_SUCCESS_INFO,s[1]->str); + gui.MessCol(MESSAGE_SUCCESS_INFO,s[1]->color); + gui.MessStr(MESSAGE_SUCCESS_INFO2,s[2]->str); + gui.MessCol(MESSAGE_SUCCESS_INFO2,s[2]->color); + gui.PanelEffective(PANEL_SUCCESS); + Quit(); +} + + +//fobOO +void scr_DgbLog(cStrLst *p) +{ + gui.PanelLineStyle(PANEL_DBGLOG,COLOR_BLUE); + + for (int i=0;igetpos()+1;i++)gui.MemoStr(MEMO_DBGLOG,p->line(i),i); + + gui.PanelEffective(PANEL_DBGLOG); + gui.Draw(); +} + + + +int ScrDbgLogGetMax() +{ + return LOG_MAX; +} + + +void scr_Draw() +{ + gui.Draw(); +} + +void scr_GetEvnt() +{ +// gui.thUpdate(); +} + + diff --git a/tags/1stNUP/CardSaveData/Mover/body/source/screen/screen.h b/tags/1stNUP/CardSaveData/Mover/body/source/screen/screen.h new file mode 100644 index 0000000..081be50 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/source/screen/screen.h @@ -0,0 +1,115 @@ +#ifndef SCREEN_H_ +#define SCREEN_H_ + +#include +#include +#include "../../../../common/gui/gui.h" + +//plID +enum { + EVNT_NONE, + EVNT_YES, + EVNT_NO, + EVNT_QUIT, + EVNT_PUSH_A, + EVNT_PUSH_B, + EVNT_PUSH_R, + EVNT_PUSH_L, + EVNT_PUSH_X, + EVNT_PUSH_Y, + EVNT_PUSH_LEFT_X, + EVNT_PUSH_DOWN_Y, + EVNT_SEL_READ, + EVNT_SEL_WRITE, + EVNT_SEL_END, + EVNT_ERROR, + EVNT_FATAL +}; + +typedef struct{ + char *str; + eColor color; + u8 pad[3]; +}tColStr; + + +#define LST_MAX 30 +#define LST_LENGTH 128 +class cStrLst { +private: + int pos; + int buttom; + char str[LST_MAX][LST_LENGTH]; +public: + cStrLst():pos(0){}; + void add(char *p){ + if (pos>=LST_MAX)return; + //char *s = &str[pos][0]; + int i; + if (pos == buttom) + { + i =0; + while(i < buttom){ strcpy(str[i],str[i+1]);i++;} + }else pos++; + i=0; + while(i < (LST_LENGTH-1)){ //I[o[[h΍ + if (p[i]!=0){ + str[pos][i] = p[i]; + i++; + }else break; + } + str[pos][i] = 0; + //strcpy(str[pos],p); + //for (i =0;i=LST_MAX))return false; + buttom = btm; + return true; + } +}; + + +//Topj[ł̃G[\p̃tO +//bit`FbN +#define SDATA_ERRPUT_PCODE 1 +#define SDATA_ERRPUT_MEDIA 2 +#define SDATA_ERRPUT_VERIFI 4 + + +bool ScrInitialize(uptr heap,u32 size); +void ScrFinalize(); +void ScrClr(); +int ScrDbgLogGetMax(); +void ScrStep(); +void scr_TopMenuDbg(bool formatted,bool insertted); +void scr_TopMenu(bool formatted,bool inserted,bool exfm,bool sdins,int err); +void scr_ErrorQuitDbg(tColStr **s); +void scr_SuccessQuitDbg(tColStr **s); +void scr_ConfirmDbg(char *str); +void scr_DgbLog(cStrLst *p); +void scr_BackupYesNo(); +void scr_Backup(); +void scr_RestoreYesNo(); +void scr_Restore(); +void scr_InsExitQuit(); +void scr_Status(char *s,eColor col); +void scr_ResultQuit(char *s,eColor col); +void scr_CountPerMax(int ct,int max); +void scr_CountPerMax2(int ct,int max,int total); +void scr_PrdCode(char *s); +void scr_PrdCodeEx(char *s); +void scr_DelConf(); +void scr_MessOnCount2(char *str); +void scr_Draw(); +void scr_GetEvnt(); + +#endif + diff --git a/tags/1stNUP/CardSaveData/Mover/body/ver.h b/tags/1stNUP/CardSaveData/Mover/body/ver.h new file mode 100644 index 0000000..78aaf06 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/body/ver.h @@ -0,0 +1,22 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef VER_H_ +#define VER_H_ + +#define VERSION 1.10 + + +#endif diff --git a/tags/1stNUP/CardSaveData/Mover/release.txt b/tags/1stNUP/CardSaveData/Mover/release.txt new file mode 100644 index 0000000..cf32e59 --- /dev/null +++ b/tags/1stNUP/CardSaveData/Mover/release.txt @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////// +{c[ uNintendo for 3DSvѐpJ[hpł +J[h̃Z[uf[^obNAbvyуXgA܂ +//////////////////////////////////////////////////////////////// + +NANDC|[gĂAAvl̎菇ŋN +{̃VXe2.0ȍ~ɂĂ +CUP(v1.02ȍ~)͖{̃VXeÂꍇXVj[N +AUPP(?)Homej[NłȂƎgȂ + +(C|[g菇) +EfobK̓C^"cci"J[hɏ +E{̃VA܂񂾃XgƏSD +EHomej[J[hNj[Inports +Ej[ImportI +EId{^Z ->"d؂"^b` +dȂȂƃACRj[Ɍ܂ + + +(NAND폜) +N܂ł̓C|[gƓl +Ej[Deletes +I̓j[ɖ߂܂ + + +c[{̂̑͑}jAQ + + +[Histry] +#\ver@}X^Over +# ύXe +v1.10 - Remaster 2.0.12 + body:[gfBNg̍ŏȂsC(`Q[eȂ) + t@C̊mۃTCY𒴂ɃG[\ + tH[}bgnG[\𓝍(G[ԍ106) + +v1.04 - Remaster 2.0.10 - svnrW 190 + body,imp: ACRHɕύXFj[̃oOŋۃtOݒ肵Ăt@[ł͗ɌĂ܂ + 쒆̖~ + +v1.03 - Remaster 2.0.8 - svnrW 181 + body: "LEFT+X"SbɕύX + ^b`̒ + imp: C|[g{̃VAԍŐ + ݒt@CŃIvVL悤 + SDK2.0+`j[œmF diff --git a/tags/1stNUP/CardSaveData/OMakefile b/tags/1stNUP/CardSaveData/OMakefile new file mode 100644 index 0000000..9890e86 --- /dev/null +++ b/tags/1stNUP/CardSaveData/OMakefile @@ -0,0 +1,30 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev: 34658 $ +#---------------------------------------------------------------------------- + +#\DemoCugp܂ +#PC‹ɍ킹ăTvf̃fBNgw +#SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir ../common/include) +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/sampledemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) + +LIBS += lib_demo libnn_am + +.SUBDIRS: $(exist-dirs \ + Mover \ + ToSD \ + ) + +DefineDefaultRules() diff --git a/tags/1stNUP/CardSaveData/OMakeroot b/tags/1stNUP/CardSaveData/OMakeroot new file mode 100644 index 0000000..7260486 --- /dev/null +++ b/tags/1stNUP/CardSaveData/OMakeroot @@ -0,0 +1,73 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakeroot +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev:$ +#---------------------------------------------------------------------------- + +# fBNgCAEgɂ‚Ă̐ +# +# a) \[XR[h[gfBNgɔzuꍇ +# : +# /OMakeroot +# /foo/bar/OMakefile +# +# : +# OMakefile ƓfBNgȉ objects images ܂B +# +# /foo/bar/objects/... +# /foo/bar/images/.. +# +# +# b) \[XR[h sources ȉɔzuꍇ +# : +# /OMakeroot +# /sources/foo/bar/OMakefile +# +# : +# [gfBNgȉ objects images ܂B +# +# /objects/foo/bar/... +# /images/foo/bar/... +# +# + +# [g‹ϐ̎擾 +public.HORIZON_ROOT = +if $(defined-env HORIZON_ROOT) + HORIZON_ROOT = $(absname $(getenv HORIZON_ROOT)) + export + +if $(defined-env CTRSDK_ROOT) + CTRSDK_ROOT = $(absname $(getenv CTRSDK_ROOT)) + if $(and $(defined-env HORIZON_ROOT), $(not $(equal $(HORIZON_ROOT), $(CTRSDK_ROOT)))) + eprintln(HORIZON_ROOT CTRSDK_ROOT v܂BpXݒ肷邩Aǂ炩`ĉB) + exit(1) + HORIZON_ROOT = $(CTRSDK_ROOT) + export + +if $(not $(HORIZON_ROOT)) + eprintln($"$$CTRSDK_ROOT `Ă܂") + exit(1) + +include $(HORIZON_ROOT)/build/omake/commondefs + +DefineCommandVars() + +.PHONY: all build clean clobber +.PHONY: run run-scripts + +# +# OMakefile ̓ǂݍ +# +.SUBDIRS: . + diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/Imp.rsf b/tags/1stNUP/CardSaveData/ToSD/Imp/Imp.rsf new file mode 100644 index 0000000..158e306 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/Imp.rsf @@ -0,0 +1,19 @@ +BasicInfo: + Title : $(TITLE) + BackupMemoryType: None + Logo : Nintendo +# Companycode: "00" + ProductCode : "CTR-P-23BA" +# MediaSize: 2GB + +AccessControlInfo: + FileSystemAccess: + - Debug + +Rom: + HostRoot : $(ROMFS_ROOT) + +TitleInfo: +# UniqueId: 0xffff6 + UniqueId: 0xf8031 + Version: 0 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/OMakefile b/tags/1stNUP/CardSaveData/ToSD/Imp/OMakefile new file mode 100644 index 0000000..c55d0fe --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/OMakefile @@ -0,0 +1,70 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev: 31765 $ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +#demoライブラリ位置指定 +#SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir ../common/include) +#SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir ../CTR_SDK/sampledemos/common/include) +#INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) + + +SOURCES[] = + ./source/main.cpp + ../../common/test_data.cpp + ../../common/shfnt.cpp + ../../common/sleep.cpp + ../../common/common.cpp + +OBJECTS[] = + $`(ObjectFromBinary $(TARGET), ./Imp_list/key/Public_Key.der) + +TARGET_PROGRAM = CtrSaveToSd_imp + +TITLE = imp + +LIBS += lib_demo libnn_am +LIBS += libnn_ps + + +IMPORTEE_CIA = importee.cia + +SRC_IMPORTEE_PATH = ../body/images/$(BUILD_TARGET_DIR)/$(BUILD_TYPE_DIR)/CtrSaveToSd.cia +#とりあえず、マスタリング時は直おき、配置時に改名 +#SRC_IMPORTEE_PATH = CtrSaveToSd_master.cia + +# ビルドタイプ別に romfs を作る +#ROMFS_ROOT = $`(TARGET.getObjectDirectory)/romfsroot +ROMFS_ROOT = ./romfiles +DEST_IMPORTEE_PATH = $(ROMFS_ROOT)/$(IMPORTEE_CIA) +foreach(TARGET, $(BUILDER.getTargets $(SUPPORTED_TARGETS))) + $(DEST_IMPORTEE_PATH): $(SRC_IMPORTEE_PATH) $(makeDirectory $(ROMFS_ROOT)) + cp $< $@ +ROMFS_DEPENDENCIES = $(DEST_IMPORTEE_PATH) + +# プログラムから参照するためのROMFSのパスとプログラムIDを定義する +ROMFS_IMPORTEE_PATH = L\"rom:/$(IMPORTEE_CIA)\" +CCFLAGS += -DROMFS_IMPORTEE_PATH=$(ROMFS_IMPORTEE_PATH) + +ROM_SPEC_FILE = Imp.rsf +DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/repairtool.desc + +# バナー、アイコン +CTR_BANNER_SPEC = banner.bsf + +include $(ROOT_OMAKE)/modulerules + +build: $(DEFAULT_TARGETS) + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/banner.bsf b/tags/1stNUP/CardSaveData/ToSD/Imp/banner.bsf new file mode 100644 index 0000000000000000000000000000000000000000..140ac49143bf2668e32fafbccd24afd470867b62 GIT binary patch literal 2382 zcmcJPO->s@5QS?Sq@2N)*d&YCEyMz`LHK7P5<)D7D9gx$Ei?3HDEAMRu{zG5EZLw;A;I{iZyT21fI4<=amf)HE^AaB3nSB)ONTiC>RpjG4&= z)-_p|uevr6JqN>B^R|$8^j|Wr%LX!Xbu+#J(Eu(d5BxPB@TYKiqGuEA21*;_EPV|g zIXi%g6}rUv1b#12nRAW6TJIzK2)FZDh_7 zIo6Cr&pB6bbsgw)%*8ye{y>h@TLSjJ_D_Va>cgweWz?tTXn`d|8IHecQ8KHei~Q1rSYi_qlr+r>NHeWr=dEG<|X_tqhUp;S;k;B zVVQU2U}@%}+Kf;2GKNKU7)@N-vCq&W&-JdU@iVxZu*~h!?(}s()qaLDbr{WSeAE7Z z@WrRP8ckg*NPQSj2mkJVp5n%5J9Y`xex5RQ7)`IVI==W+SEr#mjAlQmHdI%qp}HE) EKZbpjI{*Lx literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl new file mode 100644 index 0000000..aaa5fbd --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/COMMON.cmdl @@ -0,0 +1,274 @@ + + + + + + MetaData + + + + + + + + + ContentSummaries + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelDccToolInfo + + + OptimizationLogs + + + + + + + + + + + + Skeleton.Bones["*"].AnimatedTransform + + + + + + + IsVisible + + + Meshes["*"].IsVisible + + + IsBranchVisible + + + + + + + Materials["*"].MaterialColor.Emission + + + Materials["*"].MaterialColor.Ambient + + + Materials["*"].MaterialColor.Diffuse + + + Materials["*"].MaterialColor.Specular0 + + + Materials["*"].MaterialColor.Specular1 + + + Materials["*"].MaterialColor.Constant0 + + + Materials["*"].MaterialColor.Constant1 + + + Materials["*"].MaterialColor.Constant2 + + + Materials["*"].MaterialColor.Constant3 + + + Materials["*"].MaterialColor.Constant4 + + + Materials["*"].MaterialColor.Constant5 + + + Materials["*"].TextureMappers["*"].Sampler.BorderColor + + + Materials["*"].TextureMappers["*"].Texture + + + Materials["*"].FragmentOperation.BlendOperation.BlendColor + + + Materials["*"].TextureCoordinators["*"].Scale + + + Materials["*"].TextureCoordinators["*"].Rotate + + + Materials["*"].TextureCoordinators["*"].Translate + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 1 2 1 3 2 + + + + + + + +-12 -6 6.5 +12 -6 6.5 +-12 6 6.5 +12 6 6.5 + + 0 0 1 + +0 0 +1 0 +0 1 +1 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Textures["tosdimp"]@file:Textures/tosdimp.ctex + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DccToolSourceNode + + BONE_00 + + + + Shapes[0] + Materials["MT_00"] + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/Textures/tosdimp.ctex b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/Textures/tosdimp.ctex new file mode 100644 index 0000000..ed9df3e --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/BannerModel_imp/COMMON/Textures/tosdimp.ctex @@ -0,0 +1,17 @@ + + + + + + + + + + + + oKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoKqgqqCqoaqgqqiqrKqvqqCqoKqgqqCqoKqgqqCqoaqgqqCqoKqgqqCqrKqoqq+qo6quqq6qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qgqqCqoaqpqqCqpKqvqq+qr6qvqq+qr6qvqq+qr6qvqqiqrKqvqq+qrKqvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvuq+qr6qvqq+qv7qvu7+7v6qvur+6r6q/q6+7r6uvqr+rr7u/ur+7r6uvq7+7r6u/u6+qv6qvqr+7r6qvu6+rv7uvqq+7r6qvq6+rv7qvq6+6r7qvq6+rr6u/u7+7v7u/u7+7v7uvqr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u8/Mv7u/y7+8v7vPzM/Mz7vPzL+7z7vPu7/Lz8zPzM/Mz8y/u7+7v7u/u7+7z7u/y8/Mv7u/u7+7v8u/zL+8v7y/vL/Lz8y/vM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzc/Mz8zPzM/Mz8zPzc/cz93PzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/d39zP3c/M393PzN/dz8zPzM/M393f3d/d393PzN/N393f3d/d393f3d/N393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393v7d/d7+3f3d/d393f3e/t7+7v3e/u393f7d/d793v7u/u7+7v7t/t7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7s7u/u7+7s7uju7+7v7u/u7+7v7u/u7+7v7u/u7+7k7uDu7+7v7uDv8P75/vH/7+7v7u/u7+7/7////////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u/+7v7u/v7+7////////////////////u///////////////////w//D/8P/w//D/8P/w//D/+P/w/////P/w//D/8f/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D////////////+//P////+///////////////////////w//D/8f/w//D/8P/w//D//P/w////+P/w//D/8P/w/6Cqoaqgqqmqr6qvqq+qr6qgqq+qpaqvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qpqq+qrKqvqq+qr6qvqq+qrqqvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvu6+qr7uvqq+qr6qvqq+rv6q/q7+6r6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+6r6qvur+rv7uvu6+7v6u/q7+7r6qvur+6v7qvu6+rv7qvqq+rr7qvq7+7r7uvuq+qr6qvqr+6v7uvq7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uvqq+6r6uvu6+rv7u/u7+7v7uvq6+6v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/y7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7/Lz7u/vL+7v7u/u7/Lv8y/u8+8v7y/u8/Lv8vPvL+7z8zPvM/Mv7vPvL+7z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzN/Mz8zPzM/Mz8zPzM/M38zfzc/cz9zP3d/d393f3d/d393fzN/d393f3d/d393f3d/dz8zPzM/Mz83Pzd/dz9zf3c/M383P3M/d39zf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d7+3f3e/e7+7v7u/u7+7v7u/u3+7v7u/u7+7v7u/u393f3d/d393f3e/d393v7d/d393f3d/d797v7u/d7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7v//7+7v7+/u7+7v7u/u7+7/7u/v///v7u/+7+7v///////////////////////////////////////////////////////v////7/7//////////////+7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////H/8P/5//D///////////////D////1//////////////////////////////////////////////////////////n////8///////////////+//////+vqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqr+rr6qvu6+qr6qvqq+qr6q/uq+qv6u/u6+rv7uvqr+6v7u/u7+7v6uvqr+6v7q/uq+rr6u/u6+qr6qvqq+6r6uvq6+6v7qvqq+qr7qvq6+qr6q/qq+7r6qvqq+rr7qvu7+7v7u/u7+7v6qvqr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u8/Mv7u/u8+7z8y/u8/Mv8vPzM+7z8zPu7+8z8zPzM/Mz8y/u7+7v7u/u7+7v8y/vM/Lv7u/u7+7z7vPu7/Lz8u/y8/Lz8zPvM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zf3M/Mz8zPzM/Mz8zP3c/M39zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzN/cz9zPzM/N393PzN/dz9zPzd/c393f3d/dz9zPzN/M393f3d/d393f3c/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d7+7v7e/u393f7t/d393v7u/u7+7v7t/t7+7f3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/v7+7v7///7+7v7+/u7+7//////////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+/v7v/u7/7v7////////////////+/u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6uvqq+qr6qvqq+qv7qvq7+6r6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvuq+7v6u/uq+7r6qvur+qv6q/q7+qr6uvq6+6r6qvu6+7r7uvqq+qr6u/u6+rr6qvq7+6r6qvu7+7r6q/u7+7v7u/u7+7v7u/u7+qv7u/q7+7v7u/u7+7v7uvuq+rr7q/qq+7v7u/u7+7r7uvuq+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7vPu7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7/Lv8u/zL+7v7u/u8/Lz7zPu7+8z7u/u8+7v7zPu7+7z8y/u8/Mz8vPu7+7v8vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz7vPzM+8z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzK+qb2bPzM/Mz8zPzM/Mz8zPzM/Mz8zPzK+qz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Nz8zPzM/Mz8zPzN/M393PzN/cz93f3N/d393f3d/d393f3N/d393f3d/d393f3d/dz8zPzM/M383f3d/c383f3c/Mz8zP3c/c383f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d793f3d/e7+7v7u/u7+7f7u/u7+3v7u/u7+7v7u/u393f3d/d393f3d/u393f3t/d393f3d/d393v7t/e7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7v/+7+7//+/u7+7v7u/u7+/////u///v7v/v7+7//u/////////////////////////////////////////////////////v/u/u7+//////////////7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6q/uq+qr6qvqq+qr6qvuq+6v6qvq7+qv6uvqq+6r6q/u7+7v7u/q6+7r7qvqr+6v7q/u6+qr6qvqq+6v7uvur+qv6qvqr+6r6uvqr+6v7u/u6+rv6qvuq+7v6qvur+7v7u/u6+6v7q/ur+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uvqi8iv7uvqr+7X1UvIg8ADwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7r6oPAH93DwAPAE9EDwCPiF9VDwAvIg8ADwC/uw8Av7t/dz8zDwAPAC8iLyIvIg8ALyKfma+qv7u/u6+qv7u/u19VT0QPAA8AX0S/uw8Av7tfVQ8Av7s/Mw8An5kPAH93v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u5+Zv7u/uw8AX1V/d6+qv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7ufmS8iHxEPAL+7v7uvqo+Iv7u/u4+Ij4gPAA8ALyJ/dw8ADwCPiH93v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uvqr+7v7u/u7+7v7sPAC8iDwAPAL+7v7uPiL+7v7u/u7+7r7q/u7+7j4h/d7+7j4i/u7+7DwAPAI+Ij4i/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u19VHxG/u7+7b2a/uw8ADwAfEQ8AX1WPiC8iDwC/u7+7v7uPiL+7v7uPiL+7DwAPAA8AX1UPAA8ADwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7/Mv7u/y8+8v7vPu8/Mz7zPzM+7v7vPy8+7z8zPzM/Mz8y/u7+7v7u/u7+7v8zPy8/Lj4i/u09Ev7vPu8+7z7u/zM+8z8zPu8/Mz8zPzK+qn5m/uz8zLyIPAA8ADwAPAG9mj4g/Ip+ZPzMPAA8ADwAPAM/Mz8zPzM/MDwAPAA8ADwCfmc/Mn5nPzM/Mz8zPzM/Mn5nPzJ+Zz8zPzM/Mz8zPzM/Mz8y/u8/MDwAPAA8ADwAPAE9Eb2YPAA8ADwAPAA8An5nPzJ+Zz8zPzM/Mz8zPzJ+Zz8yfmc/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzL+7LyJ/dz8zDwAPAG9mDwAfEQ8AHxGvqn93z8zPzM/Mz8zPzM/Mz8zPzM/M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7+7v7t/d7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/v7////v//7+7v/+/u7/7v/v///////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7//v7u/u/+7//u/u/////////////+/v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr7qvqq+qr6qvqq+qr6uvq7+6r6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqr+7v7uvqq+rr6q/uq+qr7uvuq+qr7qvuq+7v6u/qr+qr7u/q7+rr6u/q7+rv7q/qr+qv6qvqr+7r6q/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u6+6v7uvuq+qv7u/u7+7v7qvuq+qv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7LyIPAC8iDwAPAL+7DwC/u09EDwBfVQ8ADwC/uw8Ar6m/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u4+IDwC/ux8RDwB/dw8ALyK/u393v7u/uw8ADwBPRA8Av7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7b2aPiL+7v7u/u7+7v7u/u7+7v7t/d7+7DwAfEb+7r6o/Mw8Av7uvqr+7T0QPAF9VDwCvql9VDwAPAC8iT0S/u6+qv7u/u6+qv7u/uw8ADwB/dz8zv7u/u7+7v7u/u6+qf3cPAH94v7uvqr+7v7u/u6+qb2ZfVR8RDwAPAA8ADwBPRI+Iv7uvqr+7X1UPAA8ADwAPAL+7T0S/u6+qDwAPAA8ADwAvIq+qr6q/u7+7v7u/u7+7r6q/ux8RX1W/u6+qT0QPAE9EDwAvIg8AT0S/uy8iv7sPAA8AX1UPAC8iv7svIr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7tfVQ8AX1UPAC8iv7svIr+7PzMPAA8ADwAfES8iDwAPAL+7v7u/u7+7v7u/u7+7v7uvqr+7v7ufmb+7v7tfVV9VLyIPAC8iDwAPAA8ADwCPiC8iDwAvIg8ALyK/u19Vv7u/u7+7v7u/u5+ZPzO/u7+7v7u/u7+7v7u/u7+7v7u/zC8iDwAvIg8AX1W/u19Vv7svIg8ADwAPAF9Vv7svIl9Vv7u/u7+7v7u/u8/Mv8vPu7+7v7tfVb+7z8zPu7/Lz7y/u8/Lv8zPu8/Lf3e/vC8iv8u/zM+8z7zPzA8Az8wPAA8ADwAPAE9Er6rPzM/Mz8wPAH93DwCfmc/Mz8zPzM/Mv8zPzM/Mz8zPzA8Az8wPAM/Mz8zPzM/Mz8xPRM/Mv7sPAI+IDwBfVc/Mz8zPzM/MDwAfES8iDwC/u8/MDwBPRM/Mn5nPzM/MDwAPAA8ADwDPzM/Mz8zPzA8ADwAPAA8An5nPzJ+Zz8zPzM/Mz8zPzJ+Zz8yfmc/Mz8zPzM/Mz8zPzM/Mz8y/uw8ADwAPAA8Az8xPRC8iDwAPAA8ADwAPAJ+Zz8yfmc/Mz8zPzM/Mz8x/d8/MDwA/M8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8y/u8/Mz8zPzM/Mn5k/M8/Mz8zPzM/MT0S/qs/Mz8zPzM/Mz8zPzM/Mz8zPzK+qz8zPzM/Mz8zPzM/Mz8zPzM/Mz8wPAF9VDwAPAM/Mz8y/u8/MPzMPAE9EDwBPRM/MDwAfEQ8ADwCfmT8zDwAfEQ8ADwDPzM/Mz8zPzH93DwDPzG9mr6rPzA8Ar6rPzM/Mz8zPzA8AHxEPAA8Az8zPzK+qz8zPzM/Mz8zPzM/Mv7vPzL+7z8zPzF9VX1XPzH93HxEPAA8ADwAPAA8An5nPzK+qz8wPAB8RDwCvqs/Mz8zPzM/Mz8wfEc/Mr6oPAG9mPzOvqs/Mz8zPzK+qz8x/dx8RDwDPzM/Mz8y/u8/Mj4iPiE9ELyIPAA8AT0QPAA8Aj4iPiM/MPzOfmQ8ADwAfEQ8Aj4iPiA8Az8wfEQ8An5kPAA8Ar6rPzM/Mz8zPzJ+Zz8yfmc/Mz8xPRF9Vz8xvZh8RDwAPAB8RDwAPAM/Mz8zPzM/dDwAPAA8ADwDPzN/Mz93Pzc/dz8zP3N/dj4gPAN/dDwDfzd/d393f3d/dT0Tf3Y+IDwAPAA8ADwDP3N/Mz93f3Q8ADwAPAA8AT0SfmQ8Ar6rf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3Q8Az8wPAI+I393f3d/d390PAE9EDwAPAN/dn5nPzE9ET0QPAA8ALyKfmd/d393f3Q8Af3cPAL+7393f3d/d390PAA8AT0QPAH93DwAPAA8An5kPAN/dHxEPAA8ADwBPRE9E392PiN/d393f3d/d393PzN/d393f3d/d393f3d/d393f3d/d392fmQ8AX1UPAN/d393f3d/dPzMPAD8zDwAPAK+qLyLf3d/d393f3d/dDwA/Mw8APzM/Mz8zPzM/M9/d393f3d/dPzMPAG9mDwDf3d/d393f3b+7DwDf3W9mPzPf3Q8A393f3d/d393f3Q8Ab2YPAA8A393f3Q8AX1Xf3V9V392fmQ8AHxEPAA8APzMvIj8zPzMPAA8APzM/M9/d393PzN/d393f3d/d392vqt/dv7vf3d/d393f3d/d393f3d/d393f3d/dT0QfEd/dj4g/Mw8ADwBvZj8z393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d390PAA8ADwAPAG9m391vZt/dDwAPAA8ADwBvZt/db2bf3d/d393f3d/d393f3d/d393f3d/d393f3d/d392/u29mDwAPAA8ADwBvZt/db2bf3Q8ADwAPAA8Ab2bf3S8ib2bf3d/d393f3d/db2bf3V9V393f3d/d393f3T8z390fEQ8ADwAPAA8A7+7v7u/u7+4PAA8ADwA/M+/u7+7v7u/u393f3d/d393PzA8Ab2YPAN/dj4g/Mw8ADwAPAA8AX1UPAG9mDwDPzO/u7+7v7t/db2bv7u/u7+7v7s/M7+7v7k9EDwDf3U9EPzPv7p+Z7+7v7u/u390/M6+qT0QPAA8A7+7v7t/dn5nPzA8Af3cPAA8ADwAvIo+IDwAPAM/MDwB/dw8ADwAPAA8An5lfVe/uDwAPAF9VDwB/d+/uDwBPRO/u7+7v7u/u7+4PAO/uDwDv7u/ub2YfEa+qDwAPAA8ADwDPzA8Ar6rv7u/u7+7v7g8Ar6oPAK+q7+7v7u/u7+7v7u/u7+7v7u/ur6rv7q+q7+7v7u/u7+7v7q+q7+6vqg8Ar6oPAK+q7+7v7u/u7+4PAD8zDwAPAI+I7+6PiO/u7+7v7u/u7+7v7q+q7+6vqu/u7+7v7u/u7+6vqu/u7+4PAD8zDwA/M+/u7+7v7u/uDwA/Mw8APzPv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uDwA/Mw8APzPv7u/u7+7v7g8ADwAfEQ8Av7vv7g8AHxHv7u/uz8wPAO/u7+6fme/ub2YPAA8ALyKvqu/u7+7v7u/un5nv7u/uDwAPAG9mX1Xv7u/u7+7v7u/uz8xvZg8A393v7u/u7+7v7u/uv7uPiF9VDwAPAB8RDwAPAG9mv7vv7q+q7+4/Mw8ADwAPAB8R7+4fEe/un5kPAD8zDwAPAF9V7+7v7u/u7+7v7u/u7+7v7u/uLyJ/d+/uz8xPRA8ALyIPAB8RDwCfme/uf3fv7g8ADwA/Mw8Af3fv7n937+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7j8zDwA/Mw8Af3fv7n937+4fEQ8ADwAPAD8zT0QPAE9E7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u//7+7//u/u7+7v7u/u7////+/u///v7v//7+7v/u/+///////////////////////////////////////////////////v7+/+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r6qvqq+qr6qvqq+qr6q/qq+qr6qvqq+qr6qvur+qr7q/ur+rv7uvqq+qr6uvu7+qv6u/q7+rv7qvqr+7r7q/u6+qr6qvqr+7r6u/q6+7r6uvqr+7r7q/uq+rv7qvqr+6v7q/uq+qv7uvq7+7v7u/u6+qr7uvur+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7t/d7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/ux8RDwC/u7+7DwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7T0Svqr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uPiB8Rv7u/u7+7v7u/u7+7v7u/u7+7v7sPAA8Av7u/uw8AT0S/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uPiC8iv7u/uw8Af3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7b2a/u7+7DwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uw8ADwC/u7+7DwAPAL+7v7u/u7+7v7u/u7+7v7u/u8+7DwCPmL+8v7u/u8/Mz8vPzM/Lv7zPvL+7z8zPzM/Mz8y/u7+7v7u/u7+7v7u/u8+7v7u/u7+7z8u/vL+8v8u/u7/Mz8y/y8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8y/u09Ez8zPzA8ADwDPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8wPAF9Vz8zPzA8AHxHPzM/Mz8zPzM/Mz8zPzM/Mz8zPzE9Ej4jPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8x/dx8Rz8zPzF9VPzPPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8wPAA8Az8zPzA8APzPPzM/Mz8zPzM/Mz8zPzM/Mz8zPzK+qz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mr6rPzM/MPzMPAM/Mz8zPzM/Mz8zPzM/Mz8zPzM/MDwAPAM/Mz8xPRI+Iz8zPzc/Mz8zPzM/Mz8zfzM/c38zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/d393fzc/N393PzN/dz83PzM/M393f3d/dX1UPAM/d391PRN/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3V9V393PzA8An5mfmd/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/dn5kvIt/d390PAA8A393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/dDwBfVd/d393PzN/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/db2YPAN/d393f3d/d393f3d/d393f3d/dDwAPAN/d390PAA8A393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f7t/d3+3f3d/d393f3d/d797f7u/uDwBPRN/d7+6fme/u7+7v7u/d393v3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7t/e7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7f3U9E7+7v7g8ADwDv7u/u7+7v7u/u7+7v7u/u7+7v7g8ALyLv7u/uj3ePiO/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7g8ALyLv7u/u393v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/un5lPRO/u7+4PAB8R7+7v7u/u7+7v7u/u7+7v7u/u7+6PiN/d7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7n93DwDv7u/u7+7v7u/u7+7v7u/u7+7v7g8ADwDv7u/uDwBfVe/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7q+qLyLv7u/uDwDPzO/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/+///v7v//7+7//u/u7+7/7////////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u//7v7u///+/v7//v/////////////+/u/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+6r7u/u6+7r6q/u6+rr7uvuq+qv7uvuq+rr7u/q7+7r7q/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uvuq+6v6qvu7+qv7u/u7+7r6u/q7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/y7+7v7u/u8+7z8y/u7+8z7u/u8+8z7y/zL/Mz8y/y8/Mv7y/zM+7z7vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz7zPzL+8z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/M393fzd/d38zPzN/d393f3d/d393fzd/d393f3d/d393f3d/dz8zPzM/M38zP3c/M383f3c/Mz9zPzd/c38zf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3e/e3+3v7u/u7+7f3d/e793v7u/u7+7v7u/u393f3d/d393f3d/d393f3d/d393f3d/d393v7e/e7+7v7e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7+/u7+7v7u/u///v/+/////v7v/v7+7////+///////////////////////////////////////////////////v7v//7+7/////////////7+7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/qr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v8u/zM/Mz8vPzM/Mz8zPzL+7z8zPzM/Mz8y/u7+7v7u/u7+7v8y/u8/Mv7u/u7+7v7u/u8+7v7u/vL+8z8zPy8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zfzM/Mz8zPzM/Mz8zP3N/cz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzN/c383PzM/d393PzM/c39zf3M/M393f3d/dz83f3M/N393f3d/d393f3c/M393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d3+7f3d/d393f3d/d3+7f7u/u393f3d/d3+7v7e/u7+7v7t/d3+3v3u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/d7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u/+7v/v//7+7v7u/u7//v/////////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7v/u7+7v///u/////////////+/u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7tfVS8if3gfES8iLyIPAA8Av7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u19Vv7tfVQ8ADwAPAA8Av7tfVb+7X1UPAA8ADwAPAL+7v7u/u7+7v7u/u7+7v7svIi8iPzNfVS8iLyJfVT8zv7u/u7+7v7u/u7+7v7u/uy8iLyIPAA8Aj4i/uz8zv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7tvZp+ZDwC/u4+IDwC/uw8Af3efmb+7DwC/u393r6q/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7uPiI+Iv7u/u7+7v7u/u7/Lv7vPvL+7v7uPiI+Iv7zPu6+qn5m/u8/Mv7vPvM/Lz8zPvM/Mv7y/vM/Mv8vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv8zPzM+7z8zPzM/Mz8zPzM/Mz8yfmZ+Zz8zPzJ+Zr6rPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv7vPzM/Mj4hfVc/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzD8zz8zPzM/Mv7ufmc/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mn5mvqs/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzK+qn5nPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8yfma+qz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8yfmc/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzI+Ib2bPzM/MLyI/M8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8yvqp+Zz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz7vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzK+qz8yfmc/Mz8y/u4+Iz8xfVU9EDwDPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz93fzd/M383f3d/d393f3d/d393f3N/d393f3d/d393f3d/dDwCvqg8An5nPzd/Mz83f3Q8An5kPAH93z9zf3Z+Zn5nf3d/d393f3d/d393f3d/d393f3Z+Z393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3c/M393f3a+qb2bf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d390PAN/dDwBvZt/db2bf3a+qDwAPAA8Ab2bf3V9Vr6rf3d/d393f3d/d393f3d/d393f3a+qr6rf3d/dz8zf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393PzN/d392vqq+q393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/dv7vf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/t3+7v7u/u7+7f3d/d7+7v7u/u7+7v7u/u393f3d/d393f3d/d393v3d/d393f3d/d393f3d/e7+7v3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/un5lfVQ8AT0Q/Mw8AHxHv7u/u7+7v7u/ur6rv7k9E7+7v7u/u7+7v7j8z7+5PRA8ADwAPAE9Er6rv7u/u7+4PAF9VDwAPAO/u7+7PzO/u7+7v7u/u7+7v7u/u7+7v7j8zX1UfEQ8Aj4hvZg8ADwDv7u/u7+7v7u/u7+7v7u/un5nv7j8z7+7v7m9m7+6PiO/ur6rv7u/uLyIPAM/MDwDv7u/u7+7v7u/uX1Xv7u/uPzPv7h8R7+7v7u/u7+7v7g8A7+7f3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uPzM/My8iDwA/Mz8zDwAfEe/u7+7v7u/u7+7v7u/u7+4/M09ET0QPAJ+Z7+4PAB8Rr6oPAK+qDwAPAO/uDwDv7q+qDwCvqg8ADwDv7g8A7+7v7t/d7+7v7l9VDwDv7h8R7+7v7u/u7+7v7o+I7+6vqu/u7+7v7u/u7+7v7u/u7+7v7u/uv7vv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+4PAL+7DwA/M+/u7+7v7u/uDwAPAA8ADwC/u+/uf3fv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7+/u7+7v7u/u7+7/7u/////v7u/u7+7//v/v///////////////////////////////////////////////////v7v/v/+//////////////7+7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u19Vv7tfVQ8ADwAPAA8Av7tfVb+7X1UPAA8ADwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7tfVb+7X1UPAA8ADwAPAL+7X1W/u19VDwAPAA8ADwC/u7+7LyIvIr+7X1UvIg8ALyIvIr+7v7svIg8Av7tfVQ8Av7sPAL+7v7u/u7+7v7sPAL+7DwC/u7+7v7u/u7+7v7u/u7+7v7u/u19Vv7u/u7+7v7u/u7+7v7u/u7+7v7sPAL+7j4i/u7+7v7u/u7+7v7u/u7+7r6pvZn93DwBPRL+7b2a/u7+7DwAPAI+ILyK/u7+7v7u/u7+7r6q/u7+7DwAPAA8ADwBvZS8iv7uvqg8ADwBfVg8Ab2ZvZg8ADwC/u7+7v7u/u7+7z8u/u8+7v7u/u7+7v7vPu7+7v8u/u7/LHxHPvE9EDwAPAA8ADwCfmQ8ADwAPAA8ADwCfmQ8ADwAPAA8ADwAPAD8zj4ivqg8Ab2YvIs/Mz8zPzM/Mz8zPzG9mz8y/uw8ADwCPiA8Az8zPzM/Mz8zPzA8Az8wPAJ+Zz8yfmc/Mz8zPzM/Mz8wfEc/MDwBvZs/Mz8zPzM/Mz8zPzM/Mz8zPzA8Az8wPAM/Mz8zPzM/Mz8wPAM/MDwAPAH93DwAPAA8ADwAfEW9mDwAvIg8An5m/u8/Mz8zPzA8ADwAvIg8AX1XPzA8AX1XPzG9mz8y/uw8ADwAPAA8ADwDPzA8Az8zPzM/Mz8zPzA8Az8wPAK+qz8zPzM/Mz8zPzM/Mz8zPzB8RDwA/Mw8Az8zPzM/Mz8w/Mw8ADwAPAM/Mz8zPzM/Mz8zPzM/Mr6qvqs/Mb2bPzM/MPzOvqg8Ar6o/Mw8ADwAPAA8AHxF/dw8APzMPAK+qz8zPzM/Mz8xvZs/Mb2bPzG9nDwBvZg8Ab2bPzH9mz8x/dw8Ar6oPAA8Az8wPAM/Mz8zPzM/Mz8wPAM/MDwCvqs/Mz8zPzM/MDwAPAF9VDwBPRL+7DwA/M8/Mv7vPzM/MDwAPAF9VDwDPzM/Mz8zPzM/MDwDPzK+qb2bPzB8Rz8zPzM/Mz8zPzM/Mz8zPzM/Mn5kPAJ+ZDwDPzM/Mz8zPzJ+ZDwBfVQ8ADwC/uw8An5nPzM/Mz8zPzA8Av7sfEc/Mz8zPzM/Mz8wPAA8An5k/Mw8APzMPAC8iz8xvZs/Mb2YPAA8ADwAPAL+7PzMPAA8ADwAPAF9VPzMPAH93X1XPzM/Mz8zPzM/Mz8xvZs/Mb2YPAA8ADwA/M8/Mb2bPzG9mDwA/Mw8APzO/u8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzA8Ab2YPAA8Az8zPzM/Mz8xfVa+qz8zPzM/Mz8zPzM/MPzMPAL+7n5kPAA8An5kPAM/Mz8zPzM/Mz8wPAN/NDwDPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Nz8wPAM/dDwDPzN/N39zfzM/NDwDf3Q8ADwAPAA8Af3cPAA8An5mfmQ8An5kPAJ+Z393f3d/d390PAN/dr6rf3d/d393f3d/d393f3d/d393f3d/d393f3Q8An5kPAJ+Z393f3d/d390PAJ+ZDwCfmd/d393f3d/d393f3d/d393f3d/d393f3d/d391PRB8R393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d391/d9/d390PAA8Ar6qvqt/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/dDwAPAF9VDwAPAA8AX1Wvqm9mDwBvZg8Ab2bf3W9m390PAA8Ar6qvqq+q393f3d/d393f3d/d393f3d/d393f3W9mDwBvZg8Ab2bf3W9m391vZg8Ab2YPAG9m391vZt/d393f3d/d393f3d/d393f3d/d393f3Z+Z393f3Q8Av7vf3d/d393f3d/dz8zPzC8i393f3d/d391vZg8ADwAPAF9VDwAPAA8ADwAPAG9mb2YfEc/Mf3ff3d/d393f3d/d392vqt/dr6oPAA8ADwAPAN/dv7vf3d/dDwAPAB8RDwCvqt/dr6rf3d/d393f3d/dr6rf3X93393f3d/d393f3Q8APzMfEQ8Av7vf3Q8Az9zf3T8z392fmQ8AT0QPAA8A393f3d/d393f3d/d393f3d/d393PzN/d393f3d/d393f3d/d393f3Q8ADwAPAA8A393f3d/dn5kPAA8ADwAPAI+I391vZt/d393f3d/d396fmd/dz8zf3d/d7+7v3u/u393f3d/d397v7u/u7+7v7t/d397v3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/t7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uj4jv7u/u7+7v7u/u7+7v7u/u7+7v7g8ADwB/dw8ADwBfVQ8ADwDv7s/M7+7v7l9VDwDv7s/M7+7v7u/u7+7v7u/u7+5/d+/u7+7v7u/u7+4fEe/uPzPv7u/un5nv7u/u7+7v7u/uLyLv7g8Ar6rv7u/u7+7v7s/M7+4PAF9V7+7v7s/M7+4PAA8AX1UPAA8Aj4gPAA8A7+7v7u/u7+7v7u/u7+7v7u/u7+6PiO/u7+7v7u/u7+7v7q+q7+7v7g8ADwCvqg8A7+7v7u/u7+7v7i8i7+4vIg8Az8wPAI+I7+7v7u/u7+4PAH93DwCPiO/u7+7v7u/ur6oPAK+qDwAPAO/uDwDv7q+qDwCvqg8ADwDv7g8A7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7q+qDwCvqg8ADwDv7g8A7+6vqg8Ar6oPAA8A7+4PAO/u7+7v7u/u7+7v7u/u7+6vqu/u7+7v7u/u7+6PiO/uHxEPAA8ADwAPAF9V7+4/M+/uDwAPAA8ADwA/M+/uPzPv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uDwAPAA8ADwBvZu/uj4jv7g8ADwAPAD8zv7vv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u//7v////7+7v7u/u/+7v7v///////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7v/+7+7v/+/u///////////////u//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7tfVY+ILyIPAA8ADwAPAC8iDwC/u7+7DwAPAL+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u19VX1W/u7+7X1VfVQ8ADwC/u7+7DwAPAL+7v7u/uy8iHxEPAA8Aj4gPAL+7DwAPAL+7v7svIr+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u8+7v7vPy7+7v7u/u7+7v8y/y7+8z7u/u8+7v7tvZr+8PzMvIg8Av7sPAM/Mv8sPAA8Az8zPzA8Ab2YPAJ+Zz8xvZs/Mb2YPAG9mz8zPzM/MDwDPzM/Mv7zPzL+7z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzA8ADwAPAA8An5nPzA8Ab2YPAA8Az8zPzA8ADwDPzM/Mz8zPzM/Mz8zPzA8Az8wPAM/Mz8zPzM/Mz8wPAM/MDwDPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzG9mn5kPAA8ADwDPzJ+Zz8zPzG9mb2bPzM/MDwAvIg8ADwC/u8/MHxFvZg8Ab2YPAM/MHxEPAM/Mz8zPzG9mLyIPAA8ADwAPAF9VDwAfEc/Mz8xvZs/Mz8zPzA8An5oPAA8Az8zPzG9mz8xvZm9mz8zPzK+qz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8yvqs/Mz8zPzM/MT0TPzL+7z8zPzM/Mz8zPzM/Mz8zPzA8APzMvIg8Az8zPzA8AX1W/u19Vz8zPzA8ADwDPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv7s/Mw8ADwAPAA8AT0QPAB8Rz8zPzH93z8zPzM/Mf3fPzM/Mz8zPzM/Mv7tvZs/Mz8zPzM/Mr6oPAM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8xvZm9mPzMPAD8zDwAPAA8ADwDPzM/MDwAPAM/Mz8zPzM/Mb2ZvZs/Mz8yvqs/MDwAPAM/Mz8xPRM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/cz8zPzM/Mz8zPzM/Mz9zPzd/Nz83P3d/d390vIt/dj4jf3N/d393f3d/dz8zf3d/dz8zPzM/Mz8zf3N/M38zf3c/M38zPzc/M38zf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3Q8AT0QPAA8A392/uy8iDwBPRB8R393f3Q8AT0Tf3d/dDwBPRA8An5nf3d/d393f3Z+Z393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3W9mDwC/uw8ALyLPzA8ADwDf3Y+I393f3S8iDwDf3d/d390/Mx8RDwAPAM/MX1Xf3T8zj4jf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d392PiA8A391fVd/d393f3d/d393f3d/d390fEc/MDwAPAN/d391fVV9Vf3cfEd/d390PAA8A393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3S8iDwAPAA8AX1UvIt/dDwBvZt/d393f3d/d393f3d/d393f3e/e3+7v7u/u7+7f3e/d393v7u/u7+7v7u/u393f3d/d393f3d/d393v3d/d393f3d/d393f7e/d7+7f7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7n937+6PiO/u7+7v7u/u7+6/u+/u7+4PAC8iDwAPAN/d7+4PAF9VDwBvZu/u7+4/Mw8A7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uf3cvIq+qDwAPAA8ADwAPAO/u7+4vIp+Z7+7v7g8Az8yfme/u7+7v7u/un5nv7u/u7+7v7u/uPzPv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7q+qDwBPRA8ADwDv7g8Ab2YPAA8A7+7v7g8ADwDv7u/u7+7f3X93HxFfVQ8ADwAPAA8ADwDv7u/uX1XPzO/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uDwCvqp+Z7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7+/u7+7v7u/u7+7v/+/+///v7u/u7+7v/+/u///////////////////////////////////////////////////v7v/u/+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7vPzL+7v8vPy8/Mz7zPzM+7z7u/u7+8z8zPzM/Mz8y/u7+7v7u/u7+7z8u/u7+7v7u/u7+7v7vPvL+7v7zPy7+8z8zPu8/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zfzM/Mz8zPzM/Mz8zPzN/dz9zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz83fzN/N393PzN/Mz8zf3M/d393f3d/d393fzc/c393f3d/d393f3d/c393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d797f3d/d393f3d/d397v3e/u393f3d/d797f3u/u7+7v7t/d393v3u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/d7+7v7u/u7+7v7u/un3vv7u/u7+7v7u/uv5zv7u/u7+7v7m86bzrv7u/ubzpvOp97byrv7p97TwlvKk8Jn3vv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7m86n3vv7u/u7+7v7p97v5zv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7///7///7+7v7u/u7+/v7v///////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/+7+7//+/u/////////////+/vz73PvU8J/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7/Mv7u/zL+7v7u/u7+7z8u/vM+7v8u/u7+7v7u/u8/Mz8y/zM/Mv8y/u7/Lz7vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv8zPzL+7z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzN/cz8zP3N/N393P3d/d393f3d/d393f3N/d393f3d/d393f3d/dz8zPzM/Mz8zP3N/cz83f3c/Mz8zPzN/N39zf3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/t797v7u/u7+7f3d/e3+3v7u/u7+7v7u/u393f3d/d393f3d/d393f3t/d393f3d/d393f3e/d7+7v3e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+6fe+/un3tPCZ97Twmfe+/un3vv7p97Twmfe08Jn3vv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/un3vv7p97Twmfe08Jn3vv7p977+6fe08Jn3tPCZ977+7v7u/u7+7v7u/u7+6/re/u7+7v7u/u7+6/nO/u7+7v7u/uf0t/S+/u7+6/ra+MTwlPCU8JTwlPCU8Jr4xPCe/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uTwlvOk8Jbzrv7m867+5vOk8JbzpPCW867+5vOu/ubzrv7u/u7+6/re/u7+6fjN/eXxpPCU8Jj2tPCW86XxpPCe/u7+7v7p+M7+7v7n9Lf0vv7n9L7+7v7k8JXxpvOk8JTwnv7k8J7+5vOk8JbzpPCU8J7+5PCe/ubzpPCW86Twnv7u/u7+7v7m86XxpvOm867+7v7u/u7+5vOm86bzpPCe/u7+7v7q+c7+7v7q+c7+5fGk8Jj1vv7k8JXxrPrU8J7+7v7u/u7+7v7u/u7+7v7q+c7+5PCd/O7+7v7u/uj2vv7u/u7+7v7u/uj2vv7q+M7+7v7t/e7+7v7q+c7+6Pa08Jr5xPCZ987+5PCc+9TwlPCZ98TwmvnO/eTwnv7l8a7+7v7u/u797v7u/ur5yvnI9bTwlPCZ98XxpPCe/u797v7u/u7+7v7u/u7+7v7u/uTwmffH9LTwnv7u/uv63v7l8a7+5vOu/u7+7v7u/u7+5vOu/uTwnv3u/u7+7v7u/u385PCe/uTwl/S+/uTwnv7u/uTwnPvU8JXxrv7o9b7+7v7u/ur5yPW+/u7+5fGk8Jn3xvOu/u7+5PCU8JbzpPCe/u7+7v7r+t7+7v7p98v62PW08JTwnPzU8JTwnv7m867+7v7u/u7+5vOk8JbzpPCe/u7+7v7u/ubzpPCW86TwmvjO/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v/+/u7+7v7u/u7+7v7q+cj1uvnO/uz83//598bzr/////r5xPCU8JTwn/////n3yffE8JTwlvOk8JbzpvOv/////v7v//7+//////////////7+///////////////////286TwlvOk8J//////////9vOk8JbzpPCf///////////////7+d/////////////598///////////////////////////////////f3p98385vOl8aTwlPCW86z73////////////////Pvf//z73/////Xxq/nf//z73//9/eTwlfGk8JTwn/////TwlPCU8Jf0tPCW8qz73Pvf//////////387/////////////TwlfGu/uTwm/rf//Xxr////////f3p98/////286Twnf3m86/////18aTwnPvU8J//9vOk8JTwlPCd/OTwnPvc+9z73//7+tz73//08J/////////////8+9TwnPvU8J///////////PvU8Jz71PCf/////Pvd/e/////598r4yffE8JTwmPW08JTwn//49b/////+/e/////////////18a//+PW/////////////9fGv//v53/////////////z73//8+9//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/u7+7vru/u7+7v7u/u7+7vLu/u7m7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7tbu/u7C7v7u/u7+7v7u/u7C7ubuwu7G7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/y7+7z7zPy8/Mv8vPzL/Mv8vPu7+7z8zPzM/Mz8y/u7+7v7u/u7+7v8y/u8+8v7u/u7+7v7vPy7/Mv8zPvL+7z8y/vM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zf3c/M38zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/M39zf3c/d383PzN/Mz8zfzM/c393P3d/d39zPzM/Mz93f3d/d393f3c/N393f3N/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d3+3v3e/u393f3d/d393v7u/u7+7v7t/d793f7e/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7t/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7m867+7v7u/u7+7v7u/u7+7v7u/uj2tPCU8JTwmPa08JTwnv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+5PCW867+7f3u/uf0vv7u/u7+7v7u/u7+7v7u/uTwlvKk8JTwnv7m8qTwlPCe/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/uTwnf3k8JTwlvKk8JTwlPCe/u7+7v7u/u7+7v7u/u7+7f3u/ubzrv7m86TwlvOm8q7+7v7u/uj2tvOm86TwlPCe/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+6ffO/u7+6ffJ987+7v7u/u7+7v7u/u7+7v7u/u7+5vKs+tj2tPCa+MTwlPCY9r7+7v7o9r7+7v7u/u7+7v7k8J797fzu/u7+7Pve/u7+7v7u/u7+7v7u/u7+7v7u/un3zv7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7k8Jf0vPvY9bz72vnE8JTwnv7u/u7+7v7u/u7+7v7u/ubypPCW8qz83fzu/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v3k8JTwlvKk8JTwlPCe/u7+7v7u/u7+7v7u/u7+7v7u/uTwlPCe/u/+7//v//7+7v7u/u7+7v/v///////+/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7v/u7+7//v///////////////+/u/////////////////////////////////////////////////////////////598Twnf3m8qj1ufbE8Jbyr//////////////////////////////////////////////////////////////////////////////////////////////////////////08J7+6/rf//////////////////////////////////f0tPCe/uj1t/S7+tTwlPCf//////////////////////////////////////////////////////////////////////////////////////////////////////////n2xPCW86v52vjP//////////////////////////////////n3xPCa+MTwlPCU8J//////////////////////////////////////////////////////////////////////////////////////////////////////////+/nf//TwlPCf////+ffP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+///////////////8////+f/////////////////////////////////////////////////////////1////8P////////////n/8P/x//D/sLuwu7C7sLu4u7+7sLu9u7C7sLuwu7C7sLuyu7C7sLu/u7+7v7u/u7+7v7u/u7+7vru/u7O7vru/u7+7v7u/u7C7sLuwu7C7sLuwu7C7sLuwu7C7sLuwu7C7sLuwu7C7sLuxu7C7sLu8u7+7sLu4u7C7sLuwu7C7sLuwu7C7sLu/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7G7ubuwu7C7v7u/u7C7tLu/u7+7v7u/u7+7v7u/u7+7v7u/u7m7vLu/u7+7vLu/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/y7+7v7u/u7+7z7zPu8/Mv7y/u8+7v7u/vM+8z8y/y8/Mz7u/zM+7z7vPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mv8zPzM+7z8zPzM/Mz8zPzM+7z8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzM/Mz8zPzN/Nz8zfzc/Mz83PzN/N393f3d/d393PzN/dz9zf3d/d393f3d/dz8zPzM/Mz8zPzN/M38zfzM/M383PzN/dz9zf3c/N393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/d393f3d/u3+7v7u/u7+7f3e/e397v7u/u7+7v7u/u393f3d/d393f3d/d393v3d/d393f3d/d393v3t/t7+7v3u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7v7u/u7+7//+/u7+7v7u/u7+7v/v/v///v7u/u7+7v/u/u////7v/////////////////////////////////////////////v7u/v7+7v7////////////+7//+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8///////8//n////////////////////////////0//D/+f/x//D/8P////////////////////////////////////7//v/z////+P/9//D/8P/w//D/8P/y//D/8P/w//D/8P/w//D////8//j/8P/x//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w//D/8P/w/w== + + + + + diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/banner/dummy.bcwav b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/dummy.bcwav new file mode 100644 index 0000000000000000000000000000000000000000..d579907da6824f4216b582327a468dba0808fdc3 GIT binary patch literal 73288 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/banner/icon2_24.ctpk b/tags/1stNUP/CardSaveData/ToSD/Imp/banner/icon2_24.ctpk new file mode 100644 index 0000000000000000000000000000000000000000..a96f3786494d1c396c3d8d3c514b63a22f657187 GIT binary patch literal 1152 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_list.txt b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_list.txt new file mode 100644 index 0000000..0f11b78 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_list.txt @@ -0,0 +1 @@ +EJF10000237 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_sign.dat b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_sign.dat new file mode 100644 index 0000000..990b849 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/cts_sign.dat @@ -0,0 +1,2 @@ +c;qi|x$^DQl_O?OQw]idUʛPL8QLQj)~SVO>( $6i(H?8?0ۄU zOW󃳽$}葯PГ<]Ϩ[ )3v}2^Fo{5TzdNA*-\$4]9KmTF0L39i='[4>Q,/Gȗ]03 += \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey.bat b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey.bat new file mode 100644 index 0000000..813beb0 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey.bat @@ -0,0 +1,4 @@ +openssl genrsa -out private_key.pem 2048 +openssl enc -d -base64 -in private_key.pem -out private_key.der +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der + diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey_100.bat b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey_100.bat new file mode 100644 index 0000000..0524431 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makekey_100.bat @@ -0,0 +1,3 @@ +rem ver1.0.0p +openssl genpkey -out private_key.der -outform DER -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makesign.bat b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makesign.bat new file mode 100644 index 0000000..f853d3c --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/batch/makesign.bat @@ -0,0 +1,7 @@ +@echo off +if "%1"=="" goto 1 +openssl dgst -sha256 -binary -keyform DER -sign ../key/private_key.der -out cts_sign.dat %1 +goto end +:1 +openssl dgst -sha256 -binary -keyform DER -sign ../key/private_key.der -out cts_sign.dat cts_list.txt +:end diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/caution.txt b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/caution.txt new file mode 100644 index 0000000..496953d --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/caution.txt @@ -0,0 +1,5 @@ +閧̈͒ +쐬Kv̖ɂ͏oȂ + +쐬́AzzŎgpo[WɓĂ +ƃyA̔閧g diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/digit.txt b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/digit.txt new file mode 100644 index 0000000..6691db8 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/digit.txt @@ -0,0 +1,45 @@ + +{̈̃VAŌ̎lpgɓ +digitƂ̂炵 +Xg쐬ɓ͈Ⴂ`FbN̂Ɏg +R}hCŃt@Cw肷ȒPȃ`FbJ[Ƃ + + +ȉAJ삳񃁁[ +---------------- +`FbNfWbǧvZ@͈ʓIȂ̂炵A +"WX10 EFCg3E1iM10W31j"Ƃ̂炵łB + + +// NULLI[ꂽVAio[󂯎 +// NULL̏ꏊɃ`FbNfWbgtĐVNULLI[ +void AddCheckDigit(char* serial) +{ + size_t len = std::strlen(serial); + + u8 digit = 0; + bool odd = true; + for(u8 i = len - 1; i > 0 && std::isdigit(serial[i]); i--) + { + if(odd) + { + digit += (serial[i] - '0') * 3; + } + else + { + digit += (serial[i] - '0'); + } + odd = !odd; + } + + if(digit % 10 != 0) + { + serial[len] = 10 - (digit % 10) + '0'; + } + else + { + serial[len] = '0'; + } + + serial[len + 1] = '\0'; +} diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.der b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.der new file mode 100644 index 0000000000000000000000000000000000000000..a6addbc8492b16616e6b5dd134eb5156489d6cf9 GIT binary patch literal 1190 zcmV;X1X=qqf&`)h0RRGm0RaH8=$tBV;a<5)aIA@U=)rmoauKd$^3?rMgJcN*)L2}L zL)>iqMhKeZB^n&+ljPP-Pi%C#&Z)Eo$1smbJHLs`N^2|pWt1@%j253N@4V%%Jadk_fM;TCpED~O2i#IfkUq?^M)M%TAP zx8{rKP#n=qD4dRSBCf*%0|5X50)hbmPj52k?=qk0%^wJ<^*DmxefSYBU)-X6SJ9Vp zUj+u_4)|J{X)rw==YTC(e2@vboF62R$oZYaqOgquSt-)kS$e_Zk3&SV7##$`NCgZA zPEFPH>{J-{0G4;P620m`2mdenkAi-Y?Hw0oIRKaFKF2%#b+HQ#OC)> zg9CDII+(}Bf9FXRec~6w?yR|GlQHWc$f{aJHmhKE_|JDN!0X{CcqKbp_G1iUa7Ghm zF3VJ^#2Bv!A>W*Z#Uu(S0}HdzA8sW)Z+9gvHu;9hVyk0G#dkJ?0gkwZ`cW4`ISh0Vo9StI4Q1T+y1)- zW6))Is07C(aYtAVpzIRRomZ*qZGMNCzsJV-Uffs;Fs~~=0rzRy7|w;6dc4|Oa1r5d zN(F2!jqm4hHRU#{(f6LOHrLv^$Q_>30)c>6N(C&nUk!P3gk8tdhNf{KZR>*{(84j{ z0Mt_#_Qg)ZU^%8TXw`6}S6z#_#Pdl$fgm%6V#LUgRA1*vIT~@{Vzee`dZ;DtljY{+ z2$~DuTV7Mg(x3?G3`Z!Bt_V#~lTygvYp7fgc(50pMy>S1>9b$0#}1=$$&M@FJWUY- zfq*m)atq6)_hD*uBdF`_th)40UnqXZIz#jLN9bM zbUgpErCusaU4WNp>?Z#Kx}mYdd&3a_9@7GWfM@MJ+JPT6T$yTkkDq{h3vo=CEcxe@ z$Av-D&RKvVIR$xf^wX$YsCE~wiI!3DIH~MPSgI0lmn#JMy@&nImj@PtNnH#!1DjNe zPO$?jYG#l#iZOb_iu)Cql?!IwbOa48O}+U}j8DsOp|p*V%VEBo*}^jKKz8vcv-%M) EuW$l7JOBUy literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.pem b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.pem new file mode 100644 index 0000000..61e3eb9 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAsOicKm/hXrlKcKyJd+jBeg1yEa5j8tT9UINkCP/UWFyLQ9xs +/EYImuQlGhzqk+TWTU9sdLnOqbQFxzCPSDu/ictKayv8ZZwW53N1YodMITEPLo2i +ZVuknNkl/XQcLGjl9SymFXShry0g433QO2SxuyLcREkV9ZSRanS8Ei/NftyK7OEZ +zbcf5D8MSwhmF5gwU5h9xt0UvEkSwYUjQXBsvwJzVb5c5pDhiGX2+4KWo3+ZQlbS +OCL86HA31SzMNyKvI5zrLPpEJNLLOp8s7wX1S2YPrVbwYtxciHsQCNfhFnZKK4iI +78Sx6L6km8NARte3Q7fmi+lQHNFLKJyOcyKuwwIDAQABAoIBAE9vMufvMp/ozR8I +qfU4gt99+BEuX9yifFfRl3JfBQbkDvhammkwPR7ngC1YfJAJuZwfJJDI+Z3DorCN +Alkp0thZesHij0NEshgdBMFIBQwGTk3V9OxUGPcAnglPQHNEarUK5kxOAWd5+QGM +9ZolnZRsk8DpnD2YBy9o2SXFZx0lxOb3UoMDcm46mMfFf+dJFX3iF8LurLllkzHr +IMiqWkU2q2B2+M93LMDr4Sh4JTta9mMMYnBGE2Yuy1SqxBivByHfnIXFJAooAwuz +0B9uJTxvdyUtNvmGyWKrY0nFdzaDAY64hfpRF0I5D9QTQXso3gKyWxytiDTUWF8S +H7nTZuECgYEA2YH0wVTdIhnpEO3tQZ4wI7r2AM7tUgEsmca4wo4vahScxt/fuXE/ +WZ0qmjBUaky9liRy8GwkRz4SSd6cYRDf5ht5OdFh/0ksFwcZscCDbowx8d0qVRMR +BPIGSjJZg8gBuLzcrdx6XfbUVUzFVIm9l8NTd6DHaDNqxUSrUrCWGlECgYEA0DdX +i5iYqbrgarbJYzDV2yy4mvkL2rTCC34Eya//yDwhsNFVR6GdzmJJoz04Ka5i2/67 +BmPQZXioBMckcUdYDqDsEtCdV6nqbX6HmL/Hxvhe3FgKMK8rPwH3adkYzoWZerza +W3AR4W5KBWwtje/ncDXlNqrR956vNtfausgdntMCgYBXSgUstV8NeXKEXcfShqZx +IG3rgx/QwjHhANRTF/bFTsJgOaYyaNVwpFddi7nE80k+gSAzhmLEyI9UX+dIORpx +4WK0Jmh6qCXuk+Xm5QiaC99bXlPH0qAI6QxHKI+uCE1Qk1LI32uoXA94sBedRq30 +wumzX63HDqNxyY4r4DxNEQKBgDQOcgvLpfdhanQjqOvsrLr0Tl8ofsc6Q/1dj1Lh +dsCYEBBF9d1H0c1kk2aFisIZAExiPl4VnGeSJ+ex5jGQFbrqjrsRfxUIvTyM0tfk +sszTEdxjAoEzektxcWr8RRB1JG8kQi90MHQ8/7KlXipLXYCXaOwm/wG6obHDe8MQ +/x7TAoGAZ+092oEfNVyZaniPn4B7C3FMmCz555THhUHTzlmAITkFeXH006hbqHYX +romWUfA4qexKWKoSb5crBPm9h/3OlwcWgkldDDYDm1SKTrEDKmpmkDOKMXrDivsV +mJULZt10BA0tTb35ToxPy3ChtI2Qy2G+m9nCMu9AdvEos/oRL68= +-----END RSA PRIVATE KEY----- diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/public_key.der b/tags/1stNUP/CardSaveData/ToSD/Imp/imp_list/key/public_key.der new file mode 100644 index 0000000000000000000000000000000000000000..7a9e7517b3d7c6b13f65a18619349ccce5be2049 GIT binary patch literal 294 zcmV+>0ondAf&n5h4F(A+hDe6@4FLfG1potr0S^E$f&mHwf&l>lu;`pBZ{c3KN^q=+ zcj&=-4RR5#WAfDfP=jO$|I}Dqi$mOO{6+|xXYQwO;2oexz4Gy1;;RtNISoY z%Svl2{AHXL=W}&phfE|pbfK>;Ame?|J7lrDBHTnt z74?*nYIM93FU@}3itOPT&9@)qKMYF+rj? zf!m|k^xk|;KQmd=Gg;rwntN{FTyUv>Zik)aJ8tKa^_prt68->UeLT3*KNnal^Ao@J zx|sGT$F#>6n6`hJX@iU5+wMIc4SJT7p`tT{y&o)M{Q*B@H0{t44_Ov^%v;QaKIaje zf)ee@c^~=Vuot?+-aFVgmri+@1Lwdw!9RH`56*-0g8%Sn1Uv#B0grm@8Z{F~xn=f> z7VT*4|NiIgLxWzrM)s3yn7>_`w!;Fr04@kF+bt7pf=$5-c2oox!9~I7FSA^FLrpu9 zeb();IE6e%-a~%ZZW&+$YzW4D^pLbX+p$)B$GQ`UGd4wBYfLsWaMs_a8=cT6qtw9f zrP`3vai;V*)~ANzbVHZ(Qv-^1o|3#4*IA9%H&0dF-B@>G{rXwOab4tor5BTOefUu6 zkAjLX>?;o9baY~-04Cne z5o{2~WE2j~z&JXD$r(g{F#w>1tSwm75JUVYhPcoqJke(gU!iI0klG7hjNAUL4XSRe ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/Imp/source/main.cpp b/tags/1stNUP/CardSaveData/ToSD/Imp/source/main.cpp new file mode 100644 index 0000000..cbb5ec1 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/Imp/source/main.cpp @@ -0,0 +1,482 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "demo.h" +#include "../../body/ver.h" +#include "../common/sleep.h" +#include "../common/common.h" +#include "../common/shfnt.h" +#include "../common/test_data.h" + +#define INF_FILE "sdmc:/cts_inf.txt" + +#define KEY_LENGTH 2048 +#define LIST_FILE "sdmc:/cts_list.txt" +#define SIGN_FILE "sdmc:/cts_sign.dat" + + +extern "C" { + extern u8* PUBLIC_KEY_BEGIN[]; + extern u8* PUBLIC_KEY_END[]; + + const void* PUBLIC_KEY = PUBLIC_KEY_BEGIN; +} + +demo::RenderSystemDrawing s_RenderSystem; +nn::fnd::ExpHeap appHeap; +uptr heapForGx; +void ErrorStop(char *s); +void ErrorPOff(char *s); + +const size_t ROMFS_BUFFER_SIZE = 64*1024;//ROMマウント用 +const size_t READ_BUFFER_SIZE = 64*1024; + +#define SDK_SER_LEN nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN + +namespace +{ + u8* readBuf; + u8* romfsBuf; + +} +nn::Result result; + + +bool ImportFile(nn::fs::MediaType mediaType, wchar_t* filename) +{ + //nn::Result result; + + nn::fs::FileOutputStream* stream; + result = nn::am::BeginImportProgram(&stream, mediaType); + if (result.IsSuccess()) + { + //NN_LOG("Importing: %ls...", filename); + nn::fs::FileInputStream in(filename); + + while(s32 read = in.Read(readBuf, READ_BUFFER_SIZE)) + { + stream->Write(readBuf, read); + } + result = nn::am::EndImportProgram(stream); + } + return result.IsSuccess(); +} + +#define LIST_MAX 4000 +#define LIST_LENGTH (LIST_MAX * (nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1)) +u8 s_list[LIST_MAX][nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1];//シリアルリスト +u8 sign[256];//署名 +u8 serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN+1]; + +//本体シリアル取得 +int GettedSerLen; +bool GetSerial(){ + nn::cfg::CTR::init::Initialize(); + nn::cfg::CTR::system::Initialize(); + result = nn::cfg::CTR::system::GetSerialNo(serialNo); + nn::cfg::CTR::system::Finalize(); + nn::cfg::CTR::init::Finalize(); + serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN] = 0; + GettedSerLen = strlen((char*)serialNo); + return result.IsSuccess(); +} + + + +//#define setColor(r,g,b,a) s_RenderSystem.SetColor(r,g,b,a) +void setColor(f32 r,f32 g,f32 b,f32 a){ shf_SetColor(r,g,b,a);} +//#define setText(x,y,s) s_RenderSystem.DrawText(x,y,s) +void drawText(u16 x,u16 y,char *s){ shf_DrawText_0( x,y,s);} +//上はASCIIのみ対応したTextWriterへのラッパ +//日本語表示の場合、WideTextWriterを使う(要sft_側の関数追加) + + +nn::hid::PadReader *hpr; +//入力待ち +nn::hid::PadStatus padStatus; +u32 WaitKey(u32 mask) +{ + + while(1){ + hpr->ReadLatest(&padStatus); + if(padStatus.trigger & mask)return padStatus.trigger; + CheckSysBreak(); + } +} + +//終了 +void endfunc() +{ + appHeap.Free(reinterpret_cast(readBuf)); + appHeap.Free(reinterpret_cast(romfsBuf)); + nn::hid::Finalize(); + SharedFontFinalize(); + nngxWaitVSync(NN_GX_DISPLAY_BOTH);//SDK2.0以降では不要? + s_RenderSystem.Finalize(); +} + +//署名検証 +bool VeriRsa(u8* src,size_t sz,u8* sig) +{ + nn::crypto::RsaKey key; + //nn::crypto::Initialize(); + nn::ps::CTR::Initialize(); + result = key.InitializePublicKey(PUBLIC_KEY_BEGIN,KEY_LENGTH); + if (result.IsSuccess()) + { + result = nn::ps::CTR::VerifyRsaSha256(src,sz,sig,key); + } + //nn::crypto::Finalize(); + nn::ps::CTR::Finalize(); + return result.IsSuccess(); +} + +//エラー +void ErrorCommon(char *s,char *ss) +{ + char str[128]; + nn::am::FinalizeForLocalImporter(); + nn::fs::Unmount("sdmc:"); + nn::fs::Unmount("rom:"); + NN_LOG(s); + NN_LOG(" result = %d\n",result.GetDescription()); + shf_SetScale(0.7,0.7); + setColor(1.0, 0.0, 0.0,1.0); + strcpy(str,"Error: "); + strcat(str,s); + drawText(10,100,str); + drawText(10,140,ss); +} + + +void ErrorStop(char *s) +{ + ErrorCommon(s,"Push Home Button & end"); + s_RenderSystem.SwapBuffers(); + WaitKey(0); +} + +void ErrorPoff(char *s) +{ + ErrorCommon(s,"Push Power Button & Power Off"); + drawText(10,160,"Home Button is invalid"); + s_RenderSystem.SwapBuffers(); + WaitKey(0); +} + + +//改行後の位置を返す、0=見つからなかった +int CrLf(int n,int max) +{ + u8 d; + while(n < max) + { + d = readBuf[n]; + if (d==0x0a)return n+1;//LF + if (d==0x0d)//CR + { + if (n == max-1)return 0;//終端 + n++; + if (readBuf[n]==0x0a)return n+1;//CR+LF + ErrorStop("list broken");//CRのみは異常、署名時にファイル壊れてた? + } + n++; + } + return 0; +} + +nn::fs::FileInputStream fi; +//ファイルリード +s32 FileRead(char* fname) +{ + s32 size; + result = fi.TryInitialize(fname); + if (result.IsFailure()){//open error + //NN_LOG("desc= %d\n",result.GetDescription()); + return 0; + } + result = fi.TryRead(&size,readBuf,READ_BUFFER_SIZE); + fi.Finalize(); + if (result.IsFailure()){ + //NN_LOG("desc= %d\n",result.GetDescription()); + return 0; + } + return size; +} + + +char ver[16]; +char seri[32]; +void nnMain( void ) +{ + //nn::Result result; + bool flg_applove=false; + bool flg_test=false; + extern bool prohibitHome;// HOME ボタン禁止 + + nn::os::Initialize(); + nn::fs::Initialize(); + + //DEA-SUPにて推奨のフリーズ暫定対策:無線デーモンを停止 (2011.3.1 現在) + //ただし、スリープに入ると再開 + //無線は使わないので本体横スイッチ切っとくのが確実 + nn::ndm::Initialize(); + nn::ndm::SuspendScheduler(); + + //中断処理の準備 + InitSysBreak((uptr)endfunc); + // グラフィックスライブラリの初期化は、以降で行わなければならない + // 他、アプリケーションの初期化処理 + + nn::hid::Initialize(); + nn::hid::PadReader padReader; + hpr = &padReader; + + //result = nn::ns::CTR::InitializeForShell(); + //if (result.IsSuccess()) + result = nn::am::InitializeForLocalImporter(); + + nn::applet::DisableSleep();//スリープ非対応 .. 無線対策 + + // ヒープの確保 + appHeap.Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + const u32 s_GxHeapSize = 0x800000; + // RenderSystem の準備 + heapForGx = reinterpret_cast(appHeap.Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + SharedFontInit(); + + // 共有フォントの種類を取得 + //nn::pl::SharedFontType sftype = nn::pl::GetSharedFontType(); + + // スリープ要求に対する返答を有効にする + // また、蓋の状態チェックを行い蓋が閉じられているならスリープ要求が発生する +// nn::applet::EnableSleep(true); + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); +// s_RenderSystem.SetFontSize(12); + shf_SetScale(0.8,0.6); + setColor(1.0,1.0,1.0,1.0); + drawText(20,20,"CTR Card Savedata Exporter Setup"); + s_RenderSystem.SwapBuffers(); + + shf_SetScale(0.5,0.5); + sprintf(ver,"version %.2f",VERSION); + drawText(250,40,ver); + + shf_SetScale(0.7,0.7); + if (result.IsFailure())ErrorStop("Initialize");//初期化に失敗 + if (READ_BUFFER_SIZE < LIST_LENGTH)ErrorStop("buffer size");//バッファサイズのチェック + + //ファイルバッファ + //SDKで4倍数サイズ、4アライン推奨 + if (READ_BUFFER_SIZE > appHeap.GetTotalFreeSize())ErrorStop("memory alloc"); + readBuf = reinterpret_cast(appHeap.Allocate(READ_BUFFER_SIZE,32)); + if (ROMFS_BUFFER_SIZE > appHeap.GetTotalFreeSize())ErrorStop("memory alloc"); + romfsBuf = reinterpret_cast(appHeap.Allocate(ROMFS_BUFFER_SIZE,32)); + + if (nn::os::CTR::GetRunningTargetHardware() != nn::os::TARGET_HARDWARE_PRODUCT) + {//デバッガ + flg_test=true; + flg_applove=true; + }else{//実機ならシリアルチェック + int i,j,n; + s32 fsize; + if( GetSerial() == false)ErrorStop("Get Serial");//本体シリの取得に失敗 + + result = nn::fs::MountSdmc();//ダイレクトでマウント..マスタリング時にワーニング + if (result.IsFailure())ErrorStop("Mount SD"); + fsize = FileRead(INF_FILE);//設定ファイルがあるか + if((fsize < 1024) && (fsize > 0))//サイズチェック,増えても1Kは超えない + {//不具合調査時に状況にあわせて現場で作成&変更を想定したオプション + //通常は不要なので無しでも動くようしとく + n = 0; + while(n < fsize) + { + if (readBuf[n] == '-'){ + if (n == fsize-1)break;//終端 + n++; + switch (readBuf[n]){ + case 'p':// -p .. 本体シリアル表示 + strcpy(seri,"s/n: "); + strcat(seri,(char *)serialNo); + shf_SetScale(0.5,0.5); + drawText(10,40,(char*)seri); + shf_SetScale(0.7,0.7); + break; + case 't':// -t .. テストメニュー有効 + flg_test = true; + break; + } + } + n++; + } + } + + //シリアル表示(オプション)後にチェック + //デバッガ=15,実機=11 + if (GettedSerLen < 11)ErrorStop("invalid Serial"); + + fsize = FileRead(SIGN_FILE);//署名リード + if(fsize != 256)ErrorStop("sign file");//鍵のbit長は2046固定 + memcpy(sign,readBuf,256);//readBuf -> sign + fsize = FileRead(LIST_FILE);//リストリード + if((fsize > LIST_LENGTH ) || (fsize == 0))ErrorStop("list file"); + + nn::fs::Unmount("sdmc:"); //検証後はSDから読まないでメモリバッファ上のデータを使う: 差替え対策 + if (VeriRsa(readBuf,fsize,sign) == false)ErrorStop("sign verify"); + + //署名検証OK + int list_ct = 0; + n=0; + while(n < fsize)//リスト作成 + { + if (readBuf[n] == '#')//コメント行を無視、ワイド文字非対応 + { + i = CrLf(n,fsize);//コメントの次行 + if (i == 0)break;//ファイル終わりまで改行が見つからない + }else + { + //改行さがし + if ((fsize-n) > (SDK_SER_LEN+2)) + {//シリアルは改行つける + i = CrLf(n,n+SDK_SER_LEN+2); + if (i == 0)ErrorStop("list broken");//改行が見つからない + }else{ + i = CrLf(n,fsize); + if (i ==0)i = fsize;//改行以外でファイル終 + } + if ((i-n) > GettedSerLen)//シリアルをリスト化 + { + j = 0; + while(n=LIST_MAX)ErrorStop("List too Long"); + } + } + if ((fsize-i) < GettedSerLen)break;//ファイル終 + n=i;//ポインタを改行の次へ + } + + //文字数チェック + //開発初期のファームアップで空ID本体が発生してたので念の為 + //2011.5現在、製品で報告はない + if (GettedSerLen < 11)ErrorStop("invalid Serial"); + + //本体シリアルがリストにあるかチェック + n =0; + while(ns@5QS?Sq?`duY?4KA3$cjUAdDHrZ!8ZH%gBQ*V{90HhCgu(ZV=@LtXQ$+ z3^_-(QOtW~nxS!znO;P#ZuQK(uKHee*~5P`Qj=IBsmK={6+E}(2%{sXcpJ+xc6-=G z(vt!9A7x55vClC0yoRqS^!EFLe2`g;>hsF4hZxjUG0$;oAU`B|m8XigN7BbkzHQJV{mz-l*tKX4*^_GCWr5zNZuUhbGa~bt%Ici`@5&6Biw(BehyNRCib2$fH z&tU#Ezs#NaV;;?4^I(2sy*GVxb1`?jYYt4^uzsU@(_0V3U9J5I9P~ild8un2oBCy0 zf$rO@+!YzQ;@5R);P=A2>&mv{e0t~(tBz5#6!|ho?`o%qR^0$yf*b9@|2`N`m1A4^ zGd#2V(wAOZK}FOb6sf~#Ht?JF_k%A! z)#Yd^T0!c=c + + + + + MetaData + + + + + + + + + ContentSummaries + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelDccToolInfo + + + OptimizationLogs + + + + + + + + + + + + Skeleton.Bones["*"].AnimatedTransform + + + + + + + IsVisible + + + Meshes["*"].IsVisible + + + IsBranchVisible + + + + + + + Materials["*"].MaterialColor.Emission + + + Materials["*"].MaterialColor.Ambient + + + Materials["*"].MaterialColor.Diffuse + + + Materials["*"].MaterialColor.Specular0 + + + Materials["*"].MaterialColor.Specular1 + + + Materials["*"].MaterialColor.Constant0 + + + Materials["*"].MaterialColor.Constant1 + + + Materials["*"].MaterialColor.Constant2 + + + Materials["*"].MaterialColor.Constant3 + + + Materials["*"].MaterialColor.Constant4 + + + Materials["*"].MaterialColor.Constant5 + + + Materials["*"].TextureMappers["*"].Sampler.BorderColor + + + Materials["*"].TextureMappers["*"].Texture + + + Materials["*"].FragmentOperation.BlendOperation.BlendColor + + + Materials["*"].TextureCoordinators["*"].Scale + + + Materials["*"].TextureCoordinators["*"].Rotate + + + Materials["*"].TextureCoordinators["*"].Translate + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 1 2 1 3 2 + + + + + + + +-12 -6 6.5 +12 -6 6.5 +-12 6 6.5 +12 6 6.5 + + 0 0 1 + +0 0 +1 0 +0 1 +1 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Textures["tosd"]@file:Textures/tosd.ctex + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DccToolSourceNode + + BONE_00 + + + + Shapes[0] + Materials["MT_00"] + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/body/banner/BannerModel_test/COMMON/Textures/tosd.ctex b/tags/1stNUP/CardSaveData/ToSD/body/banner/BannerModel_test/COMMON/Textures/tosd.ctex new file mode 100644 index 0000000..49e893c --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/banner/BannerModel_test/COMMON/Textures/tosd.ctex @@ -0,0 +1,17 @@ + + + + + + + + + + + + AKqrqgCqq6oAq6qrAKuqqwCrq6oAq6uqAKqqqgCrq6sAq6qqAKuqqgCqqqsAq6urAKqrqgCsq6wAq6urAKusqwCsrKsArKurAKysqwCrq6sAq6ysAKysqwCsq6wArKysAKurrACsrKwAq6urGKusrAmrrKyErKysyaurq/+sq6sAqqqrAKurqwCqqqoArKurAKyrrACrq6wArKusGKyrrACqq6sAq6yrAKusqwCsrKwGq6usyayrq4Srq6v/q6usMKyrq+Gsq6zkq6ur/6ysrP+srKv/q6us/6yrq/+rrKz/rKus/6yrq/+rq6z/rKyr/6ysrP+srKz/rKys/6ysrQCrq6sAq6urGKyrq5mrrKsDraysSK2srfCsra3/rKyt86ysq/+sraz/q6ur/6ytrf+srK3/ra2s/62trf+sra2NrKytyaysrP+srK3/ra2szK2srPysrKz/rK2t/6ytrP+sra3/rays/6ytrf+trK3/rKys/66urf+sra3/ra2u/62srP+sraz/rayt/6ytrP+trK3/rKyt/6ytrf+srK3/rK2s/62srf+srK3/rayt/62trf+srKz/rKys/62srf+traz/rays/62trP+sraz/rq2u/66trf+ura3/rq6t/6ytrf+trq7/rays/66trf+urq7/rq2t/62urf+trq3/ra2t/62trf+urq3/rq2t/66trv+trq7/ra6u/66trv+tra3/rq6u/66urv+tra7/rq6t/66urv+urq7/ra6t/66trf+trq7/rq2t/62urf+urq7/rq+v/66vr/+urq7/ra2t/6+ur/+ura3/rq6u/6+urv+urq7/rq+u/6+ur/+ura7/rq2t/62urv+urq3/rq6u/62trf+tra3/rq6t/62urv+trq3/rq6t/66urv+tra7/r6+u/62trf+vrq//rq6u/6+vr/+vrq//r6+v/6+urv+vrq//r66v/66vr/+vrq7/r66u/66vr/+vr6//r66u/66vr/+urq//r66v/6+vrv+ur67/r66u/66vrv+urq//r6+v/6+ur/+vr7D/r6+u/66ur/+vr67/rq6v/7CvsP+vsLD/sLCw/7Cvr/+vr7D/sK+w/6+vr/+wsK//r7Cw/6+wr/+vr6//sLCv/6+wsP+wr7D/sLCw/6+wr/+vsK//sbGx/6+wr/+xsLH/rq+u/7Cvr/+vr67/sLCw/6+vr/+vsLD/r7Cv/7CwsP+vr6//r7Cw/6+vr/+vsK//r7Cv/7CvsP+vsK//r6+w/6+vsP+vsK//r7Cv/6+wr/+wsLH/sLGw/7CwsP+wsLD/sLCw/7CwsP+vr6//sbCw/7GxsP+wsbH/sbGw/7Gxsf+xsbH/sLGw/7GwsP+xsLD/sbGw/7CxsP+xsLD/sLGw/7Cwsf+wsLH/sLGw/7Cxsf+wsLH/sbGw/7GwsP+xsbH/sLCx/7Gysf+xsLH/srGy/7Gysf+ysrL/sbGx/7Kxsf+xsbH/sbKx/7Gxsf+xsrH/srGy/7Kxsf+xsbH/srGx/7Cwsf+xsLD/sbGw/7Cxsf+xsbD/sbKy/7CxsP+ysbH/sLGx/7CxsP+xsbD/sLGx/7Gxsv+xsrL/srGy/7Kxsf+xsbH/sbKy/7Gysv+ysbL/sbKy/7Gysv+xsbH/srKz/7Kysf+xsbH/sbGy/7Gxsv+xsrL/srKz/7Ozs/+ys7L/srGy/7Gxsf+xsrH/srKy/7Oysv+ys7L/s7Ky/7Ozs/+xsrL/s7Ky/7Kzsv+ysrL/s7Oy/7Kzs/+zs7P/s7Ky/7Kys/+zs7L/s7Ky/7Ozsv+zs7T/tLSz/7OztP+0s7P/s7Oz/7O0s/+ysrL/tLOz/7OztP+0tLP/s7Sz/7Ozs/+zsrL/srKy/7Kys/+ysrL/srOy/7Oysv+ysrL/srKy/7Oys/+zsrL/s7Ky/7Ozsv+zsrL/s7Sz/7Kys/+0s7T/s7Oz/7S0tP+0tLT/s7Sz/7O0tP+zs7T/s7O0/7OztP+0s7T/tLO0/7SztP+0s7T/s7Sz/7SztP+0s7P/tLW1/7O0s/+0s7P/tLOz/7SztP+0s7T/tbW0/7S1tf+0tbT/s7Sz/7SztP+zs7P/tLW0/7W1tP+0tLT/tbW0/7W0tP+0tbT/tbS0/7W0tP+0tbX/tLW1/7a1tf+2tbb/tbW1/7S0tP+1tbX/tbW0/7W2tf+2trb/tra1/7a1tv+2trb/tLOz/7S0tf+0tLT/tLS0/7S1tP+0tLT/tbS0/7S1tf+0tbX/tLS0/7W0tP+0tLT/tLS0/7W0tP+1tLT/tba1/7W0tP+2trb/tbW1/7a1tv+1trX/tbW1/7W2tv+1tbb/trW2/7W1tv+1trX/tba1/7a1tf+2trX/tbW1/7a3t/+1tbX/tba1/7W2tv+2tbb/tba2/7e3t/+3t7b/t7a3/7W2tf+1tbb/trW1/7a2t/+2t7b/t7e2/7a3tv+3trf/tre2/7e3tv+3t7f/tre2/7e2t/+4uLf/uLi3/7i3t/+2t7b/tra2/7a3t/+3uLj/t7e3/7e4t/+3t7j/t7e3/7W2tf+3trb/t7e3/7e2t/+3trb/tra2/7a2tv+2t7b/tra3/7e2tv+2t7b/t7a3/7a2tv+3trf/tre3/7i3t/+3trf/t7i3/7e3t/+4t7j/uLi4/7i4t/+3t7j/t7i3/7i3uP+4uLf/t7e4/7i3t/+3t7f/uLe3/7i4uP+4ubn/uLe4/7e3t/+4uLf/t7e3/7i4t/+5uLj/uLm4/7m4uf+4t7j/t7i4/7i4t/+4ubn/uLi5/7m4uf+5ubj/ubi5/7i4uP+4ubj/uLi5/7i4uf+5ubn/ubm5/7m5uf+5ubr/uLm5/7m5uf+4uLj/ubm5/7m5uf+5urr/urq5/7q5uf+3t7j/uLm4/7i5uf+5uLj/uLm4/7m5uP+5uLn/uLi5/7i5uP+4uLn/ubi4/7m5uP+5uLn/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubq5/7m6uf+6ubn/ubm5/7m6uv+5ubn/ubm5/7m6uf+6ubr/urm5/7q6uv+5urr/urq6/7m5uf+5ubr/ubq6/7q6uv+6urr/urq6/7q6uv+6u7r/ubm6/7q6uv+6urr/urq6/7u7uv+6u7v/u7q7/7q7uv+6urr/u7q6/7q6u/+7u7v/u7u7/7u7u/+8vLz/u7u7/7u6u/+7u7v/u7u7/7y7vP+7vLv/u7u8/7u8vP+7u7z/urq6/7q6u/+6urr/u7u7/7u6u/+6u7v/u7u7/7u7u/+7u7r/urq6/7q7u/+6urv/urq7/7u7u/+7u7v/vLu7/7u7u/+7vLz/vLu7/7u7vP+8vLz/vLy8/7y8u/+8vLz/u7y7/7u8u/+8u7z/vLy7/7y8vP+9vLz/vLy8/7y8vP+8vLz/vLy8/7y7vP+8vLz/vLy9/7y9vP+8vbz/vby8/7y8vP+8vLz/vLy8/7y9vP+8vLz/vLy9/728vf+9vb3/vL28/729vf+9vb3/vr2+/769vv++vr7/vb2+/769vf+9vb3/vr69/769vv+9vr3/vr29/76+vv+9vb3/vr6+/728vP+9vb3/vby9/728vf+9vbz/vb29/729vf++vr7/vby9/728vP+9vL3/vb29/729vf++vr3/vb6+/72+vf++vr7/vb69/729vf++vr3/vr6+/7+/vv++vr7/vr+//72+vf++vr7/vr2+/76+vv++v77/v7++/76+v/++vr//vr6+/76+vv++vr7/v7+//76+v/+/v77/v76//7+/v/+/v7//vr++/7+/v/++vr//v76+/7+/v/+/v7//wMDA/7+/v/+/v8D/v8C//7+/v//AwMD/wMDA/8C/v//AwMD/v7+//8C/v//Av7//v7/A/8DAwP/BwcD/wMDA/8HAwf++v77/vr6+/76+v/+/v7//v7+//8C/v/+/v8D/wMDA/7++vv+/v7//v7+//7+/wP+/wMD/v8C//7/Av/+/wL//v7/A/8DAwP+/wL//wMDA/8HAwP/BwcH/wMDA/8HBwP/AwMD/wcDB/8DAwP/BwMH/wMHA/8HBwf/AwcH/wcHB/8DAwf/BwMD/wMHA/8HBwf/BwcH/wsHB/8HBwf/BwsH/wcHA/8HBwf/AwcD/wcHB/8HBwf/CwcH/wcHC/8HCwv/BwcH/wsLC/8LBwf/CwsL/wsLC/8LCw//Dw8L/wsPC/8LCwv/CwsL/wsLC/8LDwv/DwsP/wsLC/8PDwv/Dw8P/wcHB/8HBwf/BwcH/wsHB/8LCwf/BwsL/wcLC/8LCwv/BwcH/wcHC/8HBwf/BwcL/wsHC/8LCwv/CwsL/wsPD/8LCwv/DwsP/w8LD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PC/8LCw//DwsL/w8PD/8PDw//Ew8P/w8PD/8PDw//Cw8P/w8PD/8PDw//Dw8P/w8TD/8PDw//DxMP/xMPE/8PDw//ExMT/w8PD/8TEw//DxMP/xMTE/8PExP/ExMT/xMTE/8TExP/ExMT/xcXE/8XFxf/FxcX/xcXF/8XFxf/ExcT/xcXF/8XExP/ExcX/xcXF/8bGxv/FxcX/xcbG/8PDw//ExMT/xMPE/8PExP/ExMT/xMTE/8TExP/ExMT/w8TE/8TExP/ExMT/xMTE/8TFxf/ExcT/xMTE/8TFxf/FxcT/xcXF/8TFxf/FxcX/xcXF/8XFxf/Fxcb/xsXG/8XFxf/FxcX/xcXF/8bGxv/FxsX/xsbF/8XGxv/Gxsb/xcbF/8bFxf/FxsX/xsXF/8bFxv/Gxsb/xsbG/8fGx//FxsX/xsbG/8bFxf/Gxsb/xsbG/8bGxv/Hxsb/xsbG/8fHxv/Gx8b/xsbH/8fHx//Hx8f/x8fI/8fHyP/Ix8f/xsbG/8fHx//Hx8f/x8fH/8jIx//Hx8j/x8jI/8jIyP/GxcX/xsbG/8bGxv/Gx8f/x8bH/8fGx//Hxsf/x8fH/8bGxv/Gxsb/x8bG/8fGxv/Gx8b/x8fH/8fHx//Hx8j/x8fH/8fHyP/IyMf/yMjH/8fIx//IyMj/yMjI/8jJyf/Ix8f/x8jI/8fIx//IyMj/yMjI/8nIyf/JyMj/ycjI/8fHyP/IyMj/yMjI/8nJyP/JyMn/ycnI/8nJyP/JyMn/yMjI/8jJyP/Jycn/ycnI/8jIyP/Jycn/yMnJ/8nJyf/Jycn/ycnK/8nJyf/Kysn/ycrJ/8rKyv/Kycn/ysrK/8rKyf/Kycr/ysrJ/8rJyf/Kysr/y8rK/8rKyv/Lysv/yMjI/8nJyf/JyMn/yMjI/8nJyf/Jysn/ycnJ/8nKyv/JyMn/ycnJ/8jIyf/Jycn/ysrJ/8rJyf/Kysn/ycnK/8rKyv/Kysr/ycnJ/8rKyv/Kysv/ysvK/8rLyv/Ly8r/ysrK/8rLy//Kysr/ysrK/8vKyv/Ly8v/ysvL/8vLy//Ky8r/y8vL/8vKy//Kysr/y8vL/8vLy//Ly8v/y8vL/8rKyv/Ly8v/y8vK/8vLy//MzMv/y8zL/8vLzP/LzMv/zMzL/8zMzP/MzMv/zMzM/8zNzf/NzM3/zM3M/83NzP/MzMz/zc3N/8zMzP/MzMz/zM3M/83Nzf/MzM3/zc3N/8vLy//My8z/y8vL/8vLy//MzMv/zMzM/8zLy//MzMz/y8zL/8vMy//My8v/y8vM/8zMzP/Mzcz/zMzM/8zNzP/Nzc3/zczM/83NzP/Nzcz/zc3N/83Ozf/Nzc3/zs7N/8zMzP/Nzc3/zM3N/83Nzf/Nzc3/zc3O/87Ozv/Nzc3/zc3N/87Nzv/Nzc3/zc3O/87Ozf/Nzc7/zs7N/87Ozv/Nzs3/zs7O/83Ozv/Nzc7/zc7N/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs/P/8/Pz//Pzs//z8/P/8/Pz//P0M//z87P/87Pzv/Ozs//z8/P/8/Pz//P0M//z8/Q/8/Q0P/Ozs3/zs7O/83Nzf/Ozs7/zs7O/8/Pzv/Pzs7/zs7O/83Ozv/Ozs7/zs7O/87Pz//Oz87/z8/P/87Ozv/Pz8//zs/O/8/Pz//Pz8//z9DQ/9DP0P/P0ND/z8/P/9DQ0P/Pz8//0NDQ/8/Pz//Pz8//z8/P/9DQ0P/Q0ND/0NDR/9DQ0P/Pz8//0NDP/9DQ0P/Q0ND/0dDQ/9DR0f/R0dD/0NDP/9DQ0P/Q0ND/0NDQ/9DR0P/Q0dD/0dHR/9HR0f/R0dD/0dHR/9HR0f/S0tL/0dHR/9HR0v/S0dL/0tLS/9HR0f/S0tL/0dLR/9LR0v/S0dL/0tLS/9LS0v/S09P/0NDQ/9DQ0P/R0dD/0NDQ/9DR0f/R0dH/0dHR/9LS0f/R0dD/0dDQ/9HR0f/R0dH/0dHR/9HR0f/R0dL/0dHR/9LR0f/R0tH/0dLS/9LS0v/S0tL/09LS/9PT0v/S0tP/0tLS/9LS0v/S0tL/09LT/9PS0v/T09P/0tPS/9PT0//S0tL/0tPS/9LS0v/S09L/09PS/9PT0//T09P/1NTU/9LT0//T0tP/0tLS/9PT0//T09P/1NTU/9PT0//T1NP/09TT/9PU0//T09T/1NTU/9TU1P/U1dX/1NXU/9XV1P/U1NP/1NTU/9TU1P/U1NT/1dXV/9XV1f/U1NX/1dXV/9PT0//T09P/09PT/9PU0//T09T/09PT/9PT0//U1NT/09PT/9PT0//U1NT/09PT/9PU1P/U1NT/1NTU/9TV1P/U1NT/1NXU/9XU1P/V1NT/1NTV/9XV1f/V1dX/1dXV/9TU1P/U1NT/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1tX/1NTU/9XV1f/V1dX/1dXV/9XV1f/V1tX/1dXW/9bW1v/V1dX/1dXV/9XV1f/V1tX/1tXV/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9fX1v/X19f/19fX/9fX1//X19f/1tbW/9fX1v/X19b/19fX/9fX1//X19f/19fX/9fY1//V1dX/1dXV/9bV1f/W1tb/1tbW/9bW1v/W1tb/19fW/9XV1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bX1v/X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9jY2P/X19f/19fX/9fX1//Y19j/19jX/9jY2P/Y2Nj/2NjY/9fX1//Y19f/19fY/9jY2P/Y2Nj/2NjY/9jY2P/Z2Nj/19fY/9jY2P/Y2Nj/2NjY/9jY2P/Z2Nj/2NnZ/9nZ2f/Y2Nn/2dnZ/9nZ2f/Z2dn/2dnZ/9na2v/Z2dr/2tra/9nZ2f/Z2dn/2dnZ/9na2f/Z2dn/2tra/9ra2v/a2tr/2NjY/9jY2P/Y2Nj/2NjZ/9nY2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NnZ/9jY2P/Z2dn/2dnZ/9nZ2f/Z2dn/2dna/9nZ2f/a2dr/2dnZ/9ra2v/a2tr/2tra/9ra2v/a29v/2trZ/9ra2v/a2tr/2tra/9ra2v/a29v/29ra/9vb2//a2tr/2tra/9ra2v/b29r/2tva/9vb2//b29v/29vb/9ra2v/b29r/29va/9vb2//b29v/29vb/9vb2//c29v/29vb/9zc3P/b3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c29v/3Nzc/9zc3P/c3Nz/3Nzc/9zd3f/c3Nz/3N3d/9va2v/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vc/9vb2//c3Nz/29vc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/93d3f/d3Nz/3d3d/9zc3P/d3dz/3Nzc/9zc3P/d3d3/3d3d/93d3f/d3d3/3Nzc/93d3f/c3Nz/3d3d/93d3f/d3t3/3d3d/93d3v/d3d3/3d3d/93d3f/d3d3/3d3d/97e3v/e3d3/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/39/f/9/f3v/f39//3t7e/97e3//e3t7/39/f/9/f3//f39//39/f/9/f3//d3d3/3t3d/93d3f/d3t3/3t7e/97e3v/e3t7/3t7e/93e3f/e3t7/3d7d/97e3v/e3t7/3t/f/97e3v/e3t//397f/9/f3//e39//39/f/9/f3//g3+D/39/f/+Df4P/f39//39/f/9/f3//f39//4N/g/+Dg4P/g39//4ODg/9/f3//f3+D/39/f/+Df3//g4OD/4ODg/+Dg4P/g4OD/39/g/+Dg4P/g4OD/4ODg/+Dg4P/g4OH/4ODg/+Hg4P/g4OH/4eHh/+Hh4P/h4eH/4eHh/+Hh4f/h4eH/4uHi/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4uLh/+Hh4f/i4uL/4ODg/+Dg4P/g4OD/4ODg/+Dg4f/h4eH/4eHh/+Hh4f/g4OD/4OHh/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Lh4v/h4eL/4uLi/+Li4v/i4uL/4eHh/+Hh4f/i4eL/4uLi/+Li4v/i4uL/4uLi/+Li4//h4eL/4uLi/+Li4v/i4uL/4uLi/+Lj4v/j4+P/4+Pj/+Li4v/i4uL/4uLi/+Pj4//j4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pk/+Pj4//k5OT/5OTk/+Tk5P/j4+P/4+Pk/+Pj5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Li4v/j4+L/4uLj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uPi/+Pj4//j4+P/4+Pj/+Pj4//k4+P/4+Tk/+Tk5P/j4+P/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eTk/+Tk5P/k5OT/5OTk/+Tk5P/l5OT/5eXl/+Tl5f/l5eX/5OTk/+Tk5P/k5OT/5OXl/+Xl5f/l5eX/5eXl/+Xl5f/l5OT/5eXl/+Tl5f/l5eX/5eXl/+Xm5f/l5eX/5uXl/+bl5v/m5ub/5ebm/+bm5v/m5ub/5ubm/+bm5v/n5uf/5ubm/+bm5v/m5ub/5ubm/+bm5v/n5uf/5+fm/+fn5//l5eX/5eXl/+Xl5f/l5eX/5eXl/+bm5v/m5eX/5ubm/+Xl5f/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5+fn/+fn5//n5+f/5+fn/+fn5//m5ub/5+bm/+fm5//n5+f/5+fn/+fn5//n5+f/5+jn/+fn5//n5+f/5+fn/+fn5//n5+f/5+jn/+fn6P/o6Oj/5+fn/+fn5//n5+f/5+fo/+fo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+np6f/p6On/6enp/+jo6P/o6Oj/6Ojo/+jp6P/p6en/6enp/+np6f/p6en/5+fn/+fn6P/o5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+np6P/o6Oj/6Ojp/+np6f/p6en/6Ojp/+np6f/p6en/6enq/+np6f/p6un/6enp/+np6f/p6en/6enp/+rq6f/p6en/6urp/+rq6v/p6en/6urp/+np6f/p6er/6urq/+rq6v/q6ur/6urq/+nq6v/q6ur/6erp/+rq6v/q6ur/6urq/+rq6v/r6+v/6urq/+rq6v/q6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q6+r/6+vr/+vr6//r6+v/6+vr/+zs7P/r6+v/6+zs/+rq6v/q6ur/6urq/+rq6v/q6ur/6urr/+vr6//r6+v/6urq/+rq6v/q6ur/6uvr/+rr6v/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/7Ozr/+zs7P/r6+v/7Ozs/+vr6//s7Ov/6+vr/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/6+zr/+zs7P/r6+v/7Ozs/+zs7P/s7Oz/7Ozs/+3s7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zt7P/t7Oz/7e3t/+3s7f/t7e3/7e3t/+3t7f/t7e3/7e7t/+3t7f/u7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7u7/7e7t/+7u7v/s7Oz/7Ozs/+zs7P/s7O3/7Ozs/+3t7f/t7e3/7e3t/+zs7P/t7ez/7O3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+7u7v/u7u7/7u7u/+7u7v/t7e7/7u7u/+3t7v/u7u7/7u7u/+7u7v/u7u7/7u/u/O7u7szu7u7/7u7u/+7u7snu7u6N7u7v/+7u7//v7+//7u7u/+7u7v/u7u7/7u7u/+7v7//v7+//7+/v/+/v70jv7+8D7+/v/+/v7/Dv7+8A7/DvAPDv8Jnw7/AY8PDw/+/v7//v7+//7+/v/+/v7//w8O/z8PDw//Dw8P/w8PD/7u7u/+/v7v/v7+7/7+/v/+/v7//v7+//7+/v/+/v7//v7u//7+/v/+/v7//v7+//7+/v//Dv7//v7+//7/Dv/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8O/v//Dw8P/w8PD/8PDw//Dw8P/w8fD/8PDx//Hw8QDw8PAA8PDwAPDw8ADw8fAA8fDwAPHx8QDx8PAA8fHxhPDw8Anw8fD/8PHxyfDw8ADx8fEA8fHxGPHx8QDx8fEA8fHxAPHx8QDx8fEA8fHxAPHx8QDy8vIA8vLyAPLy8gDx8fEA8fHxAPHx8QDy8vIA8vLyAPLy8gDy8vIA8vLy//Dw8P/x8fH/8PDw//Hx8eTx8fEw8fHx//Hx8eTx8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8QDx8fEA8vLyGPHx8QDy8vIA8vLyAPLy8gDy8vIA8vLyyfLy8gby8vL/8vLyhPLy8gDy8vIA8vLyAPLy8gDz8/MArKurG6yrqwCsrKuTrKur86urrP+rq6v/rKyr/6ysqwyrrKz2q6ysWqusq/+sq6v/q6ur/6urrP+rrKv/rKys/6usrP+rq6v/rKys/6ysrP+srKz/rK2t/6ytrP+srKz/q6ur/62srf+sq6v/rK2t/6ytrf+traz/rays/6ysrZmsq6z/q6usxqysrP+sq6z/rKys/6ysrP+sq6v/rKus6qyrrP+rq6v5rKur/6yrrP+rrKz/rK2s/6urrP+srKz/rK2s/6ysrP+sra3/ra2t/62trf+trKz/rays/6ytrP+tra3/ra2s/62trf+srKz/rayt/62trf+sraz/rays/6ysrP+trK3/rK2s/62trP+sraz/rayt/6ysrP+traz/rKys/62trf+sra3/rK2s/62trf+urq3/rKys/66trv+urq7/ra2u/62urf+tra7/rq2u/66trf+tra7/ra2u/62urf+trq7/rq2t/62trf+trq3/rq6u/62trv+ura7/rKys/62trP+tra3/ra2t/62urv+ura3/rq6t/62urf+srK3/ra2t/62trf+urq3/ra2t/62urf+ura3/ra6u/66urv+ura7/ra2u/66urf+urq7/ra6t/66urf+tra7/rq6t/62urf+ura7/rq2u/62urv+urq7/rq2u/6+vr/+urq7/ra6u/66trf+tra7/r66v/66ur/+vrq7/r66v/66urf+urq//ra6u/66urv+vrq//rq6v/6+vrv+vrq//rq+u/66ur/+ur67/rq6u/6+vrv+vsLD/rq+u/6+wsP+ur6//rq6u/6+vrv+vr6//r7Cv/7Cvr/+wsK//sK+w/66urv+ur67/rq6u/6+vrv+urq//rq6v/6+vrv+vrq7/rq+u/66vrv+vr67/rq+v/66urv+vr6//rq+v/6+ur/+vrq7/r6+w/66vr/+vr7D/sLCv/7CwsP+vsLD/r7Cw/7Cwr/+wsK//sLCw/6+vr/+vr7D/sK+w/7CvsP+vsLD/r7Cv/7CvsP+vr6//r7Cv/6+vsP+vsK//sLCw/6+wsP+vr7D/r6+v/6+vr/+vr6//sK+w/7CxsP+vsK//sbGx/7Cxsf+wsLD/sbCw/7Cxsf+wsbD/sbCx/7Gwsf+xsLD/sLCx/7Gxsf+xsLH/sbGx/7GxsP+xsLH/sLCx/7CwsP+vr6//r6+w/6+wr/+vsLD/r7Cv/7Cwsf+xsLD/sbCw/7CwsP+vsK//r6+w/7CwsP+wsLD/sLCw/7Cwsf+wsLH/sbCx/7Cxsf+wsLH/sbCw/7Gxsf+ysrL/sLCw/7Gysf+wsbH/sLGw/7GwsP+wsLH/srKx/7Kxsf+ysrH/sbKy/7Gxsf+ysbL/sLCx/7Gysf+xsrL/sbGy/7Kxsv+ysbH/sbGx/7Gxsv+ysbL/sbGy/7Gxsv+ysbH/sbKy/7Gxsf+ysbL/srGx/7Gysf+zsrL/s7Ky/7Oysv+ysrP/s7Kz/7Gxsf+ys7L/srKz/7Kzsv+ysrP/s7Oy/7Oys/+ysrL/srKx/7Gysv+ysbL/sbKy/7Gysv+ysbL/sbKy/7Kys/+xsbL/srGy/7Gysf+xsbL/sbGy/7Kysv+zs7L/srOy/7Oysv+ysrP/srKy/7Kys/+ys7L/srOy/7Oys/+ys7P/s7Ky/7Kzs/+zsrP/srKz/7Ozs/+0s7T/s7Kz/7Szs/+ys7L/srOy/7Oysv+zsrP/tLSz/7O0s/+0tLP/s7Sz/7Oys/+ztLP/srOz/7O0s/+0tLT/tLOz/7O0s/+zs7T/tLO0/7S0s/+ztLP/s7Oz/7S0s/+0tLT/tbS0/7W1tP+zs7P/tLSz/7Ozs/+1tLT/tLW0/7W0tf+0tbT/tLS0/7S0tP+0s7P/tLOz/7O0tP+zs7P/s7Sz/7S0tP+ztLT/tLSz/7Szs/+zs7T/tLS0/7OztP+0tLP/tLS0/7W0tf+zs7T/tLS1/7S0tP+0tLT/tLS1/7S0tf+0tbX/tbW0/7W0tf+0tLX/tbW0/7S0tf+0tLT/tbS1/7W0tf+2trb/tLS0/7S1tP+0tbX/tLW0/7S0tf+2trb/tba2/7W1tf+1tbX/tLS0/7S0tf+1tbb/tra1/7W2tv+2trX/tba2/7a2tf+1tbb/trW2/7W2tv+1trb/tre3/7a2tv+2t7f/tra1/7W2tf+1tbX/t7e3/7a2t/+2trf/t7e2/7e2t/+0tLX/tra2/7W1tv+2tbX/tbW1/7a1tv+1tbb/tba2/7a1tf+2trb/trW1/7W2tf+1tbb/tra1/7W2tf+3t7b/trW1/7e2tv+2t7b/t7a2/7e2t/+2trf/t7a2/7a2tv+2trb/tre2/7e3tv+2trb/t7a2/7e2tv+3t7f/t7i4/7a3tv+2t7b/t7e3/7a3tv+3trf/uLi3/7i3uP+4t7f/tra2/7a3tv+2t7f/t7e3/7e4uP+4t7j/t7i4/7i4t/+3t7f/uLi3/7e3t/+3t7j/uLe3/7m4uf+4ubj/uLm4/7i3t/+4t7j/t7e4/7m5uP+4uLj/ubm4/7i4uP+4ubj/tre3/7i3uP+3t7f/uLe3/7i3uP+4t7f/uLe3/7e3uP+3t7f/uLe3/7i3uP+4t7j/t7i4/7e3t/+4uLj/ubm5/7i3t/+5ubn/ubm4/7m4uP+5uLn/ubi4/7i5uf+4ubn/uLm4/7m4uP+5ubn/ubi4/7i4uP+5ubn/uLm5/7m5uf+4uLj/uLi5/7m4uf+4uLn/ubm5/7m5uf+5ubn/urm5/7i4uP+5ubn/uLi4/7m5uf+5ubn/ubq6/7m5uv+6ubr/urq5/7q5uv+5ubn/ubq5/7q6uv+6urv/urq6/7u6uv+5ubn/urq6/7m5uf+6urr/u7u6/7q6u/+7u7r/u7u6/7m5uf+5ubn/ubm5/7m6uf+5urr/ubm6/7q5uv+6ubn/ubm5/7q6uf+5ubn/ubq6/7m5uf+6urr/ubq5/7q6uv+6urr/u7q6/7q6uv+7u7v/u7u7/7u6u/+7u7v/u7u7/7q7uv+6u7v/u7u6/7q6uv+6urr/u7u7/7u7u/+8u7z/u7u7/7u7uv+7u7v/u7u7/7u7u/+7vLv/u7y8/7y7vP+6urr/u7u7/7u7u/+8u7v/vLu7/7y8u/+7vLv/u7u7/7y8u/+8vLz/vLu7/7y8vP+9vLz/vby9/729vP+8vbz/vLy8/7y9vP+8vLz/vby9/729vP+9vL3/vLy8/729vf+7u7v/vLu7/7u8vP+7vLz/vLu7/7y8vP+7vLz/vLy8/7u8vP+7u7z/u7y8/7u7u/+8vLz/vb28/7y8vP+8vL3/vby8/728vP+8vb3/vLy8/729vf+9vb3/vb29/769vv+9vL3/vL28/729vf+9vb3/vb29/769vv+9vr7/vr29/7y9vP+9vb3/vb29/76+vf+9vb3/vr2+/729vf+9vr7/vb29/72+vv+9vb7/vb6+/72+vf++vr7/vr29/76+vv++vr7/v76+/76+vv++v7//v7+//7+/v/+/vr7/v7+//76/vv+/vr7/vr++/7+/v/+/v77/v7+//7+/v/+/v8D/vb6+/72+vv+9vr7/vb69/76+vv+/v7//vr6+/76+vv+9vr3/vr6+/729vv++vr7/vr6+/7++vv++v77/vr6+/76/vv++vr7/v7+//7+/v/+/v7//v7/A/8C/v/+/wL//vr6+/7+/v/+/v7//v7/A/7/AwP+/v7//wMC//7/Av/+/v7//wL/A/7+/wP/AwL//v7+//8DAwP/AwL//wMDA/7+/v//AwL//v7+//8DAwP/AwMD/wMHA/8DAwP/BwcD/wMHA/8HAwP/BwcD/wMDA/8HBwf/BwcH/wcHB/8HCwv/BwcD/wcHB/8HAwf/BwcH/wcHB/8HBwv/CwsH/wcHB/7/AwP/AwMD/wMDA/8DAwP/AwcD/wMDB/8DBwf/AwMH/wMDA/8HBwP/AwMD/wcDB/8DBwf/BwcH/wMHA/8HBwf/BwcH/wcHB/8HBwf/CwsH/wsHC/8LBwv/CwsH/wsLC/8HBwf/BwcL/wcLC/8LBwf/BwcL/wsLC/8LCwv/DwsL/wsLB/8LBwf/CwsH/wsLC/8LCwv/CwsL/w8PD/8LDwv/BwcL/wsLC/8LCwv/Cw8L/wsPD/8LCwv/CwsP/w8PD/8LCw//Dw8P/w8PD/8PDw//Dw8T/w8PD/8PDxP/Ew8P/w8PD/8PEw//Dw8P/w8TD/8PDw//ExMT/xMPD/8TExP/CwsL/w8LC/8PCwv/CwsP/w8LC/8PDw//Dw8P/w8PD/8PDw//Cw8L/wsLD/8PDw//Dw8P/w8TD/8PDw//Dw8T/xMTE/8PDw//Ew8P/w8PE/8TExP/ExcX/xMTE/8XExP/Dw8P/xMTE/8TEw//ExMT/xcTE/8XExf/FxcT/xcXE/8TExP/FxMX/xMTE/8XFxP/ExcX/xcXF/8XFxP/FxcX/xMTF/8XExf/FxcT/xMTF/8XFxf/Fxsb/xcXF/8XFxf/FxcX/xcbG/8XGxf/Fxcb/xsXF/8bGxv/Gxsb/xsbG/8bFxv/Fxsb/xsbG/8bGxv/Gxsb/xsbG/8fGxv/Gxsb/xcTE/8XFxf/ExcT/xcXF/8bFxf/Fxsb/xsbF/8XFxf/FxcX/xsbG/8XFxf/Fxcb/xsbG/8XGxf/Gxcb/xsbG/8XFxf/Gxsb/xsbG/8bHx//Hx8b/xsbG/8fGx//Hx8f/xsbG/8fHxv/Gxsb/x8bG/8fGxv/Hx8f/x8fH/8fHx//Gxsf/xsbG/8fHx//Hx8f/x8fH/8jIx//Ix8f/x8jH/8fHx//Hx8f/x8fH/8jHyP/IyMf/yMfH/8fHyP/IyMj/x8jH/8jIyP/IyMj/yMjI/8jIyf/IyMj/yMjJ/8nIyP/IyMj/ycnJ/8nJyP/Iycn/yMnI/8nJyf/IyMn/ycnJ/8fHx//IyMj/x8fI/8jIx//HyMf/yMjI/8jIyP/Jycj/x8fI/8fIyP/HyMj/yMjI/8jIyP/IyMn/yMnI/8jJyP/IyMj/ycnJ/8jIyf/Iycn/ycnJ/8nKyf/Jycn/ysnJ/8nJyf/Jycn/yMnJ/8nJyf/Jycr/ysnK/8rJyv/Jysr/ycnJ/8nJyv/Jycn/ysrJ/8nJyv/Kysr/ysrJ/8rKyv/Jycn/ycrJ/8nJyv/Kycr/ysrK/8vLyv/Kysr/ysvL/8vLyv/Ky8r/y8rL/8rLy//Ly8v/y8vM/8vLy//Ly8z/ysrK/8vLy//Kysr/y8vL/8zLzP/Ly8v/zMzM/8zMy//Kycn/ysrK/8rKyf/Kysr/ysrK/8vKyv/Lysv/y8vK/8rKyv/Ly8r/ysrK/8vLy//Lysr/y8vL/8vKyv/Ly8v/y8vL/8zLy//Ly8v/y8vM/8zLzP/MzMz/zMzM/8zMzP/LzMv/y8vL/8vLy//LzMz/zMzM/83Mzf/MzMz/zM3M/8vLy//MzMz/y8zL/8zMzP/Mzcz/zczM/8zMzP/MzMz/zMzM/83MzP/MzMz/zMzN/8zNzP/NzM3/zMzM/83Nzf/Nzc3/zc3N/83Nzf/Nzc7/zs3O/87Ozv/Ozc3/zs7O/83Nzf/Ozs7/zc3O/83Ozf/Nzc3/zs7O/87Ozv/Pzs7/zMzM/8zMzP/Nzc3/zc3M/83NzP/Nzc3/zc3N/83Ozf/NzM3/zc3M/8zMzP/Nzc3/zc3N/87Ozv/Ozs3/zc7O/87Ozv/Nzs3/zc7N/87Ozv/Ozs7/z87P/87Pzv/Oz8//zc3N/87Ozv/Ozs7/zs/O/87Pzv/Ozs7/zs7P/8/Pz//Ozs7/zs7O/8/Oz//Ozs//zs7O/8/Pz//Pz8//0M/P/87Oz//Pzs//z8/O/8/Pz//Pz8//z8/P/9DPz//Q0M//z8/Q/8/P0P/P0ND/0NDQ/9DQ0P/Q0NH/0dHR/9DR0P/Qz8//0NDQ/9DQ0P/Q0ND/0NDR/9DQ0f/Q0dH/0dHR/8/Ozv/Pz8//z8/P/8/Qz//P0M//0NDQ/8/P0P/Q0ND/z8/P/9DQz//Pz9D/z9DQ/9DP0P/Q0ND/0NDQ/9DR0f/Q0ND/0NDR/9DQ0P/Q0dD/0NDQ/9HR0f/R0dH/0dLR/9DR0P/R0ND/0dHQ/9HR0f/R0dH/0dHS/9LS0f/R0dH/0NDR/9HR0f/R0dH/0dLS/9LR0v/R0dL/0dLR/9LS0v/R0dH/0tLS/9LS0f/R0dH/0dLS/9LS0v/S0tL/0tLT/9LS0v/T0tP/09LT/9PS0v/S0tP/09PT/9PT0//T09T/0tLS/9PT0v/T09L/09PT/9PT0//T09P/09PT/9TU1P/S0dH/0dHR/9HR0v/S0tL/0tLS/9PT0//T09L/0tPS/9LS0f/S0tL/0tLS/9LS0v/T0tP/0tLS/9PS0v/T09P/0tLS/9PT0//T09P/09PT/9PU1P/U09T/09TU/9TU1P/T09P/1NPT/9TU0//T1NP/09PT/9TU1P/U1NT/1dTU/9TT0//T1NP/1NPU/9TU1P/U1NT/1NXV/9TU1f/V1NT/09TT/9TU1P/U1NT/1NTV/9XU1f/U1NT/1NTV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XW1v/V1db/1tbW/9XV1f/V1dX/1dXV/9XV1f/W1dX/1tbW/9bW1v/W1tb/1NTU/9XU1P/V1NT/1NTU/9TV1P/V1dX/1dXV/9XV1f/U1NX/1NXV/9TV1P/V1dX/1dXV/9XV1f/V1dX/1dbW/9XV1f/V1tX/1dXW/9bW1v/W1tb/1tbW/9bW1v/X1tf/1dXV/9bW1v/W1tb/1tbW/9bW1v/X1tb/1tbX/9fX1//W1tb/1tbW/9bW1v/W1tf/1tfW/9fX1//X19f/19fX/9bW1v/W1tf/1tfW/9fX1//X19f/19fX/9fX1//Y19f/19fX/9fX1//X19j/2NjY/9jY2P/Y2Nj/2NjY/9nZ2P/X2Nf/2NjY/9jY2P/Y2Nj/2NjY/9nY2f/Z2Nj/2dnZ/9fW1v/X19f/19fX/9fX1//X19f/19fX/9jY1//Y2Nj/19fX/9fX1//X19f/19fY/9fY1//Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Z2Nn/2djZ/9nZ2f/Z2dn/2dnZ/9jY2P/Y2dn/2djY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2NnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dr/2dnZ/9ra2v/Z2dn/2dnZ/9nZ2f/Z2tr/2tna/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9va2v/a2tr/29vb/9vb2//b29v/2tra/9rb2//a2tr/29vb/9vb2//b29v/29vb/9vb2//Z2dn/2dnZ/9nZ2f/a2tr/2tra/9ra2v/a2tr/2tvb/9ra2f/a2tr/2dna/9ra2v/a2tr/2tra/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b3Nv/29vb/9zb2//b29v/29vb/9vb2//b29v/3Nzc/9zc3P/c3Nz/3Nzc/9vb2//b29z/29vb/9zb2//c3Nz/3Nzc/9zc3P/c3Nz/29vc/9zc3P/b29v/3Nzc/9zc3P/d3Nz/3Nzc/93d3f/c3dz/3d3d/9zc3P/d3d3/3d3d/97d3f/d3d3/3t3e/93d3f/d3d3/3d3d/93d3f/d3t3/3t7e/93d3f/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/93c3f/d3d3/3d3c/93d3f/c3Nz/3N3c/9zc3P/d3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/e3d3/3d3d/97d3f/e3t7/3t7e/97e3v/e3t7/3d3d/97e3v/d3d7/3t7e/97e3v/e3t//3t7e/9/e3v/e3t7/3t7e/97e3v/e3t7/3t/e/9/f3//e3t7/39/f/97e3v/e39//3t7e/9/f3//f39//39/f/9/f3//f39//39/f/+Df4P/f39//4ODf/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9/g4P/g4OD/4ODg/+Dg4P/g4OD/4OHh/9/f3v/f39//397e/9/f3//f39//4N/f/9/f3//g3+D/39/f/9/f3//f39//39/f/+Dg3//g4OD/4N/f/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHg/+Hh4f/g4eD/4eHh/+Dg4P/g4eD/4ODg/+Hh4P/g4OH/4eHh/+Hh4f/h4eH/4eDg/+Hh4f/g4eD/4eHh/+Hh4f/h4eH/4eHh/+Li4v/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4uH/4uLi/+Lh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Pi4v/j4+P/4uLi/+Li4v/i4uL/4uLj/+Pi4v/j4+P/4+Pj/+Pj4//h4eH/4eHh/+Hh4f/i4eL/4eLh/+Li4v/i4uL/4uLi/+Hh4f/h4uH/4eLh/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pk4//i4uP/4+Pj/+Pj4//j4+P/4+Pj/+Tj5P/j4+T/5OTk/+Pj4//j4+P/4+Pj/+Pj4//j5OP/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+T/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eXk/+Tk5P/l5OT/5eXl/+Xl5f/l5eX/5eXl/+Xk5P/l5eX/5eXk/+Xl5f/l5eX/5uXm/+Xl5f/l5uX/5OPj/+Tk5P/k5OT/5OTk/+Tk5P/l5eT/5OTk/+Xk5P/k5OT/5OTk/+Tk5P/k5OT/5OTl/+Xl5f/k5eT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5ub/5ubm/+Xl5v/m5ub/5eXl/+Xl5v/l5eX/5uXm/+bm5v/m5ub/5ubm/+bm5v/l5uX/5ubm/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5+bn/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ufm/+fn5//n5+f/5ubm/+fn5//n5+f/5+fn/+fn5//n6Oj/6Ofn/+jo6P/n5+f/5+fn/+fn5//n5+f/5+fo/+jo6P/o6Oj/6Ojo/+bm5v/m5ub/5ubm/+bn5v/m5ub/5+fn/+fn5//n5+f/5ubm/+bm5v/n5+b/5+fn/+fn5//n5+f/5+fn/+fo6P/n5+f/6Ofo/+fo5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo5//o6Oj/6Ojo/+jo6P/o6Oj/6ejo/+jo6P/o6en/6Ojo/+jo6P/o6Oj/6Ojo/+jp6P/p6en/6Ojp/+np6f/o6Oj/6ejp/+jo6P/p6Oj/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+rp6f/p6un/6urq/+rq6v/q6ur/6unp/+rp6v/q6un/6urq/+rq6v/q6ur/6urq/+vq6//p6ej/6enp/+np6f/p6en/6enp/+nq6f/p6en/6unp/+np6f/p6en/6enp/+np6f/p6er/6erq/+np6f/q6ur/6urp/+rq6v/q6ur/6urq/+rq6v/r6+r/6+rq/+vr6//q6ur/6urq/+rq6v/r6ur/6urr/+vr6//r6+v/6+vr/+rq6v/q6ur/6+vq/+vr6//r6+v/6+vr/+vr6//r6+v/6urq/+vr6//r6+v/6+vr/+vr6//r7Oz/6+vr/+zs7P/r6+v/7Ozs/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7e3s/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7O3s/+3s7P/t7e3/6+vr/+vr6//r6+v/6+vr/+vr7P/s7Oz/6+vr/+zs7P/r6+v/6+vs/+vr6//r7Ov/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zt7f/t7ez/7e3t/+3t7f/t7e3/7Ozs/+3s7P/s7ez/7e3t/+3t7f/t7e3/7e3t/+3t7f/s7O3/7e3t/+3t7f/t7e3/7e3t/+3t7v/t7e3/7u7t/+3t7f/t7e3/7e3t/+3t7f/u7u3/7u7u/+7t7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7+7/7+7v/+/v7//u7u7/7u7u/+7u7v/u7+7/7u/v/+/v7//v7+//7+/v/+3t7f/t7u3/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7e3u/+7u7v/t7e7/7u7u/+7u7v/u7u7/7u7u/+/v7//u7u7/7u/u/+/v7v/v7+//7+/v/+/v7//v7+//7+/v/+7v7v/v7+//7+/v/+/v7//v7+//8PDw/+/v7//v8O//7+/v/+/v7//v7+//7+/v/+/v7//w7+//7/Dv//Dw8P/v7+//7+/w/+/v7//v8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/x8PH/8fHx//Dw8P/x8fH/8PDw//Dw8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/v8PD/8PDw/+/v8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dv7//w8PD/8PDw//Dw8P/w8PD/8fDw//Dw8P/x8PD/8PDw//Hx8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vLz8vLy//Ly8v/y8vIb8vLyAPPz85Pz8/MA8/Pz//Ly8v/y8vL/8vLy//Pz8/bz8/MM8/Pz//Pz81rz8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/OZ8/Pz//Pz88bz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8+rz8/P/8/Pz+fT09P+rrKv/rKys/6urq/+rq6z/rays/62trf+traz/ra2t/6usrP+trKz/rKus/6ytrP+sra3/rK2t/6ytrf+sra3/rKyt/6ytrf+traz/rayt/62srP+srKz/rK2t/6ysrP+traz/rK2t/6ysrf+trK3/rKys/6ysrf+trKz/rq6u/6ytrf+traz/rayt/6ysrP+traz/rays/6ytrP+trK3/rKys/6ysrP+trKz/rays/6ytrf+srKz/rays/62trP+trK3/rKyt/6ytrf+trK3/rKyt/62urf+tra7/ra6t/62trP+srKz/rK2s/62trf+urq3/ra2t/62urv+urq3/rays/66trf+trq3/rq2t/62urv+urq3/ra2t/62trv+urq7/ra2u/66trv+tra3/ra6t/66trv+tra3/rq2u/66urf+ura7/rq6u/66urf+vrq7/r6+u/6+vrv+vrq7/rq2u/66vrv+trq7/rq6u/6+vr/+ur67/rq6u/6+vrv+trq7/rq2u/62trf+ura7/ra2u/62urf+tra3/rq2t/66urv+tra3/ra6t/62trf+trq7/rq+u/66trf+vrq7/rq6v/66ur/+vr67/rq+v/6+urv+urq7/rq+u/66vrv+vrq//r66u/6+ur/+urq//rq+v/6+urv+vrq7/r6+v/66urv+urq7/r66u/66vrv+ur67/sLCv/66urv+vsLD/rq+u/66ur/+vrq//rq6v/66urv+wr7D/r6+v/7Cwr/+wsLD/r7Cv/7CwsP+vr6//sK+w/7CwsP+wsLD/sLCw/7Cwr/+vr6//sK+w/7CvsP+wr7D/r7Cv/6+wr/+xsbD/rq+u/66vrv+urq7/r6+w/6+wr/+vsK//r6+w/7CvsP+vr67/r6+v/6+vsP+vsK//r6+v/6+vr/+wr6//r7Cw/6+vr/+vr6//r7Cv/6+vsP+vsLD/sbCw/7CwsP+xsLH/sLCw/7Cvr/+vr6//sLCx/7Gxsf+xsbD/sLCx/7GxsP+wsLD/sLGx/7CxsP+xsbD/sbGw/7Gxsf+xsbH/sLCw/7GxsP+wsbD/sLCx/7GxsP+wsbH/sbGw/7GwsP+wsLH/sLCx/7Gxsf+xsLD/sbGy/7Kysv+xsrH/sbKx/7Kysf+ysbL/srGx/7Kxsf+ysbH/srGx/7Gysf+ysrH/sbKy/7Cwsf+xsLH/sLCw/7CxsP+xsbD/srKy/7GwsP+xsbH/sbCx/7Cwsf+xsbH/sLCw/7Kxsf+ysbL/sbKy/7Kysf+ysbH/sbGy/7Gxsv+xsbL/sbKx/7Gysf+xsbL/s7Kz/7Kxsv+ysbL/srGx/7Kxsv+xsrL/srKy/7Oys/+ys7P/srGy/7Kysv+xsbL/srOz/7Oys/+ysrL/srOy/7Ozs/+ysbL/srOz/7Oysv+ys7L/srOy/7Kys/+ysrL/s7Oy/7Oysv+ysrL/s7Ky/7Kzsv+zs7P/s7S0/7O0s/+zs7T/s7Oy/7O0s/+ysrL/tLOz/7OztP+ztLT/s7Sz/7O0s/+zs7P/srKz/7Kysv+ysrL/s7Oz/7Oysv+ys7P/s7Ky/7Oysv+ysrP/s7Oz/7Kzsv+ys7L/tLOz/7Kzs/+ztLP/tLS0/7S0s/+0tLP/tLS0/7Ozs/+ztLP/tLS0/7S0s/+0s7P/tLS0/7OztP+ztLT/s7O0/7Ozs/+0tLP/tbW0/7OztP+0tLT/s7O0/7S0s/+0s7T/tLS1/7W0tf+1tbX/tLO0/7Szs/+ztLT/tLW0/7S1tP+1tLX/tLS0/7S1tP+0tLT/tbW1/7W1tf+1tbT/tLS0/7a2tv+1tbX/tba2/7W0tP+1tLT/tbS0/7a1tv+1trX/tba2/7W1tv+1trX/s7S0/7W1tf+0tLT/tbS1/7W0tP+0tbT/tLS0/7W1tP+0tLX/tLS0/7W1tP+0tLT/tLW0/7S0tf+0tLX/tba1/7S0tP+1tbb/trW1/7a2tf+2trX/trW1/7a2tf+1trX/trW1/7W1tf+2tbb/tbW2/7W2tf+1trX/tba2/7a3tv+2tbX/tra2/7a1tf+1tbX/tba1/7a2tv+2trb/tra3/7W1tf+1tbb/tbW1/7a2t/+3trb/tra2/7a2t/+2t7f/t7e2/7e3tv+3t7b/t7e2/7a3t/+3uLj/uLe3/7e3uP+3t7f/t7e3/7e3tv+4t7j/t7i4/7i4t/+4uLj/t7i4/7a2tf+3trb/tre2/7e2tv+3trf/tra3/7a2t/+2trb/t7e2/7e3tv+3t7b/t7a3/7a3t/+2trb/t7a2/7e3uP+2trb/t7e4/7i4t/+4uLj/uLe3/7i4uP+4t7f/uLe3/7i4t/+3t7j/t7e4/7e3t/+4uLf/t7i3/7e3t/+4ubn/uLe3/7e4t/+3uLj/t7e3/7e4uP+4ubn/uLm5/7m5uf+4uLf/t7e3/7e4uP+5uLj/ubi5/7i5uf+5uLj/ubi5/7m4uP+4uLj/uLm4/7m4uf+5ubn/ubm5/7m5uf+5urn/uLi5/7m5uf+4uLj/ubm5/7m5uf+5urr/urm5/7m6uf+4uLf/uLi5/7m4uf+4ubn/ubi5/7i4uP+5ubj/ubm4/7m5uf+4ubj/ubi4/7m4uP+5uLj/ubm5/7m4uP+5ubn/ubm5/7m5uf+5ubn/ubq5/7m5uf+5urn/urm5/7m5uf+5ubn/urm6/7q6uv+5ubn/ubm5/7q6uv+5ubn/urq6/7q5uf+5urn/ubq6/7q5uf+6urr/uru6/7q6uv+6u7r/ubq5/7q6uv+5urn/urq6/7u6uv+7urr/u7u6/7u7uv+6u7r/u7u6/7u6u/+7u7v/u7u7/7u8vP+8u7v/u7y8/7u6uv+7u7v/u7u7/7y8vP+8vLz/vLu8/7u7vP+8u7z/urq6/7q7u/+6urr/uru6/7u6uv+6urv/uru6/7u7u/+7u7v/uru7/7q6uv+6u7v/uru7/7u7u/+7u7v/u7y8/7u7u/+7vLz/vLu7/7y8vP+7vLv/vLy8/7y7vP+8vLz/u7u8/7y8vP+7u7v/u7y7/7y8vP+8vL3/vLy8/7y9vf+8vLv/vLy8/7u7u/+8vLz/vby8/7y8vf+9vL3/vL28/7y8vP+8vL3/vLy8/7y8vf+9vLz/vby8/7y8vP+9vb3/vLy9/729vf+9vb3/vb29/729vv++vr7/vr29/729vv+9vb3/vb2+/72+vf++vr3/vb2+/76+vv+9vr3/vr6+/7y9vP+9vb3/vLy8/7y8vP+9vLz/vb29/729vf++vb3/vLy8/7y9vP+8vb3/vb29/729vf++vr7/vb29/72+vv+9vb7/vb69/769vf+9vr3/vr6+/76+v/++vr7/vr6+/729vv++vr7/vr29/76+vv+/vr//v7+//76+v/++vr7/vr6+/7+/v/++vr7/v76//7+/vv+/vr7/v76+/7+/v/++vr//vr++/7++vv+/v7//vr6+/7+/v/+/v7//wMDA/7+/v/+/v7//wL+//8DAwP+/v7//wMDA/7+/wP/AwMD/wL+//8DAwP/Av7//v8C//8DAwP/BwcD/wMDA/8DBwf++v77/vr6+/7++v/+/v7//v7+//7/AwP+/wL//wL/A/7+/vv+/v7//v7+//8C/v//Av7//v7/A/8C/wP+/v8D/wL/A/8DAwP/AwL//wMDA/8DBwP/AwMH/wcDA/8DAwf/AwMD/wMHB/8DAwP/BwcD/wcHA/8HBwf/AwcD/wcHB/8DBwP/BwMD/wcDB/8DAwP/BwcH/wcHB/8HBwf/BwsH/wMDA/8HBwf/BwMH/wcHB/8HBwf/BwcH/wcLB/8LBwv/BwcH/wsHC/8HCwf/CwsL/wsLC/8LDw//Dw8P/w8LC/8HCwf/CwsL/wsLC/8PCwv/CwsP/wsPD/8PCw//Dw8P/wcHB/8HBwf/BwcH/wcHB/8HCwv/CwsH/wcHB/8LCwv/BwcH/wcLC/8LBwv/CwsH/wsHC/8LCwv/CwsL/w8PC/8LCwv/Cw8L/wsLC/8LCwv/Dw8L/w8PD/8PDw//Dw8P/w8PD/8PCwv/DwsL/w8PD/8PDw//ExMP/w8PD/8PDxP/DwsP/w8PD/8PDw//Dw8P/xMPD/8TExP/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PExP/Ew8T/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xcXE/8XFxP/FxcX/xcTE/8XFxf/FxMT/xMTF/8XFxP/FxcT/xcXF/8XFxf/FxcX/xsXF/8TDxP/DxMT/w8TE/8PDxP/ExMT/xMXE/8TExP/FxcX/xMPE/8TExP/Dw8T/xMTE/8TExf/ExMT/xMXE/8TExP/ExMX/xcTF/8XFxP/FxcX/xcXF/8bFxv/Fxsb/xsXG/8TExP/FxcX/xcXF/8XGxv/Gxsb/xsXG/8XFxf/Gxsb/xcXF/8bFxf/Gxsb/xcbG/8XGxv/Gxsb/xsbG/8fHxv/FxsX/xcbG/8XFxf/Gxsb/xsbG/8bGxv/Hxsb/xsbG/8fGx//Gxsf/x8bG/8fHx//Hx8f/yMjH/8fIx//Hx8j/xsbG/8fHx//Hx8f/yMjI/8fHyP/HyMf/yMfI/8jIyP/GxsX/xsbG/8bGxv/Gx8b/x8bH/8bHx//Gx8b/x8fH/8bGxv/Gxsf/xsfH/8bHx//Hx8b/x8fH/8fHx//HyMj/x8fH/8fIx//Hx8f/yMjH/8fHyP/IyMj/yMfI/8jIyP/Ix8j/yMfH/8fHx//Ix8f/yMjI/8jJyf/IyMj/ycjJ/8fHyP/IyMj/yMjI/8jIyP/Iycj/ycjI/8jIyP/IyMn/yMjI/8jJyP/IyMj/ycnI/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ysrK/8nJyf/Jycn/ysnK/8rKyv/Jycn/ysrK/8nJyv/Kysr/ysnK/8nJyv/Kysr/ysvL/8rKyv/Lysr/ycnI/8nJyf/Jycj/ycnI/8nJyf/Jycn/ycnJ/8rKyf/Iycj/ycnJ/8jIyP/Jycn/ycrJ/8nKyf/Kysn/ycrJ/8rJyf/Kysr/ycnK/8rKyv/Kysv/ysrL/8rKyv/Ky8v/ysrK/8vKy//Kysr/ysvK/8rKyv/Ly8v/y8rK/8vLy//Ly8r/ysvK/8vKy//Lysr/y8vL/8zLzP/Ly8v/zMvL/8rKy//Ly8v/ysrK/8vLy//Ly8z/y8zM/8zLy//Ly8z/y8zM/8zMzP/MzMv/zMzM/8zMzf/MzMz/zc3N/8zMzf/MzMz/zMzM/8zMzP/Mzcz/zczN/83Mzf/Nzcz/zc3N/8vLy//LzMz/y8vL/8vLzP/Ly8v/zMzM/8zMy//MzMz/y8zL/8vMy//LzMv/y8vM/8zMzP/MzMz/zMzM/8zMzf/Mzcz/zM3N/8zNzf/Mzcz/zMzM/83Nzf/Nzc3/zc7O/8zNzP/MzMz/zc3M/83Nzf/Nzc3/zc3O/87Nzf/Nzc7/zczM/83Nzf/Nzc3/zc7N/83Nzf/Nzc7/zc3O/87Ozv/Nzc3/zc3N/87Ozf/Ozs7/zs3N/87Ozv/Ozs7/zs7P/87Ozv/Pz8//zs7O/87Pzv/Pzs7/z8/P/8/Pz//Qz9D/z8/O/8/Oz//Ozs//z8/P/8/Pz//P0ND/z8/P/9DP0P/Ozc7/zc3N/87Ozf/Ozs7/zs7O/87Ozv/Ozs//zs/O/87Ozv/Ozs7/zs7O/87Oz//Pzs7/zs7P/87Pz//Pz8//z8/P/8/Pz//Pz8//0M/Q/8/P0P/Pz8//z9DP/9DQ0P/Pz8//0NDQ/8/P0P/P0M//0M/Q/9DQ0P/Q0ND/0dDQ/8/P0P/Pz8//0M/P/9DQ0P/Q0ND/0NDR/9DQ0f/R0dD/z9DQ/9DQ0P/Q0ND/0dHR/9DQ0P/Q0ND/0NHQ/9HR0f/R0ND/0dHR/9HR0f/R0dH/0tHR/9LS0f/S0dL/0tLS/9HR0f/S0dL/0tHS/9LS0f/R0tL/0tLS/9LS0v/T09P/0NDQ/9HR0P/R0ND/0NDR/9DR0P/R0dH/0dHR/9LS0v/Q0ND/0NHQ/9DQ0f/R0dH/0dHR/9HS0v/S0dH/0tLS/9LS0f/R0dL/0tHS/9LS0v/S0tL/0tLT/9PS0//T09P/0tHS/9LS0v/S0tL/09PS/9PS0v/T0tL/0tLT/9PT0//S0tL/0tLT/9LT0v/T09L/0tLS/9PT0//T09P/09PU/9LS0v/S09L/0tPS/9PT0//T09P/09TT/9PT0//T09T/1NPT/9TU0//T09T/1NTU/9TU1P/U1dX/1dTV/9XV1P/U09T/1NTU/9TU1P/V1NX/1NXU/9TU1P/U1NT/1dXV/9LT0//T09P/09PT/9PT1P/U1NT/1NPT/9PT1P/U1NT/09PT/9TT1P/U1NP/1NTT/9PT0//U1NT/1NTU/9XU1P/U1NT/1dTU/9TV1f/U1NT/1NTV/9XV1f/V1dX/1dXV/9TU1P/V1NT/1NTU/9XV1f/V1dX/1dXV/9XV1f/V1tX/1NTU/9XV1f/V1dX/1dXV/9XV1f/W1db/1dbW/9bW1v/V1dX/1dXV/9XV1f/W1dX/1tXW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/X19f/19fX/9fX1//X19f/1tbW/9bW1//X1tb/19fX/9fX1//X19f/19fX/9fY1//V1dX/1dbW/9bV1f/W1tb/1tbW/9bW1v/W1tb/19bX/9bV1f/W1tb/1tbW/9bW1v/W1tb/1tbW/9bX1v/X19f/1tbX/9fX1//X19f/19fX/9fX1//Y2Nj/2NjX/9jY2P/X19f/19fX/9fX1//X19j/2NjX/9jY2P/Y2Nj/2NjY/9fX1//X19j/19jX/9jY2P/Y2Nj/2NjY/9jY2P/Z2Nn/2NjX/9jY2P/Y2Nj/2NjY/9jY2P/Z2dj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/a2tn/2trZ/9nZ2f/Z2dn/2dnZ/9na2v/Z2dn/2tra/9nZ2f/a2tr/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjZ/9jZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2tn/2dnZ/9ra2v/a2tr/2tra/9ra2v/b2tr/2dra/9ra2v/a2tn/2tra/9ra2v/a29r/2tra/9vb2v/a2tr/2tra/9ra2v/a29r/2tvb/9vb2//b29v/29vb/9ra2v/a29v/29ra/9va2//b29v/29vb/9vb2//b29v/29vb/9vb3P/b29v/29zc/9zc3P/c3Nz/3Nzc/9zc3P/c29z/3Nzc/9vc2//c3Nz/3Nzc/9zd3P/c3Nz/3Nzd/9va2v/b29v/29rb/9vb2//b29v/3Nzb/9vb2//b29v/29vb/9vb2//b29v/29vb/9zc2//c3Nz/29vc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3dzd/93d3f/c3d3/3d3d/9zc3P/c3N3/3Nzc/9zc3f/d3d3/3d3d/93d3f/d3d3/3N3d/93d3f/d3dz/3d3d/93d3f/e3d7/3d3d/93e3v/d3d3/3d3d/93d3f/d3d3/3t7d/97e3v/e3d7/3t7e/97e3v/e3t7/3t7e/97e3v/f3t7/39/f/9/e3v/f39//3t7e/9/e3//e3t7/3t/e/9/f3//f39//39/f/9/f3//d3d3/3d3e/93d3f/e3d3/3t7e/97e3v/e3t7/3t7e/93e3v/e3t7/3d7d/97e3v/e3t7/39/e/97e3v/f3t//39/e/9/f3//e39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/+Dg4P/g3+D/4ODg/9/f3//f4OD/39/f/9/f3//g4OD/4ODg/+Dg4P/g4OD/39/g/+Dg4P/f39//4ODg/+Dg4P/g4OD/4ODg/+Dg4f/g4eH/4ODh/+Hg4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eLh/+Hh4f/i4uL/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OH/4OHg/+Hh4f/g4OD/4ODg/+Dg4P/g4eH/4OHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4uL/4uLi/+Li4v/i4uL/4eHh/+Lh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Lj4//h4eH/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Li4v/i4uL/4uLi/+Lj4//i4+L/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pk/+Pj5P/k5OT/5OTk/+Tk5P/j4+P/4+Pj/+Tj5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Li4v/i4uP/4uLi/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uLi/+Pj4//j4+P/4+Pj/+Pj4//k5OP/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5P/k5OT/5eXk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5OTk/+Tl5f/k5OT/5eXk/+Xl5f/l5eX/5eXl/+Xl5f/l5OX/5eXl/+Tk5f/l5eX/5eXl/+Xm5f/l5eX/5ebl/+bm5v/m5ub/5ubl/+bm5v/m5ub/5ubm/+bm5v/m5uf/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+fn5//l5eX/5eXl/+Xl5f/l5eX/5ebm/+bm5v/m5uX/5ubm/+Xl5f/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubn/+fn5v/n5+f/5+fn/+fn5//m5ub/5ubm/+fm5//n5+f/5+fn/+fn5//n5+f/5+fn/+fm5v/n5+f/5+fn/+fn5//n5+f/6Ojn/+jn6P/o6Oj/5+fn/+fn5//n5+f/6Ofn/+fo5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6ejp/+np6f/o6Oj/6enp/+jo6P/p6Oj/6Ojo/+no6P/p6en/6enp/+np6f/p6en/5+fn/+jo6P/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n6Of/6Ojo/+jo6P/o6Oj/6Ojo/+no6P/o6Oj/6Ojo/+jp6f/p6en/6Ojo/+np6f/p6en/6unp/+np6f/p6er/6enp/+np6f/p6en/6enp/+nq6f/q6ur/6unq/+rq6v/p6en/6erp/+np6f/q6un/6erq/+rq6v/q6ur/6urq/+np6f/p6en/6enq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rr6//r6uv/6+vr/+vr6//r6+v/6+vr/+vr6//q6uv/6+vr/+vr6//r6+v/6+vr/+vs6//r6+v/6+zs/+np6v/q6ur/6urq/+rq6v/q6ur/6+rq/+vr6v/r6+v/6urq/+rq6v/q6ur/6+vr/+rr6v/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+zr/+zs7P/r6+z/7Ozs/+vr6//s6+v/6+vr/+vs7P/s7Oz/7Ozs/+zs7P/s7Oz/6+vr/+zs7P/s6+z/7Ozs/+zs7P/s7Oz/7Ozs/+3s7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+3s7P/t7ez/7e3t/+3s7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7u7/7e3t/+3t7f/t7e3/7e3t/+3u7v/u7u7/7e3t/+7u7v/s7Oz/7Ozs/+zs7P/s7ez/7e3t/+3t7f/t7e3/7e3t/+zs7P/s7ez/7ezs/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3u7v/t7e3/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7e3/7u7u/+7u7f/u7u7/7u7u/+7u7v/u7u7/7u/v/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+/u7v/v7+//7u7u/+7u7v/u7u7/7u/v/+7v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7/Dv/+/v7//v8O//8PDw/+/v7//v8O//7+/v/+/v7//w8PD/8PDw//Dw8P/w8PD/7u7u/+/v7v/u7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+7/7+/v/+/v7//v7+//7+/v/+/w7//v7+//8O/v/+/v8P/v8O//8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/x8PD/8PDw//Dx8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/x8PD/8fHx//Dw8P/w8PH/8PDw//Dw8P/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hw8f/x8fH/8fDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1/62srf+srKz/rKys/62trP+sra3/rK2s/6ytrP+trKz/rays/62trP+srKz/rK2s/6ysrP+tra3/rK2s/66trf+trK3/rq2t/62trv+urq7/rq6u/62trf+ura3/ra6u/62trf+tra3/rq6t/62urv+ura7/rq2t/66urv+urq7/rKys/6ytrP+srKz/rK2s/6ytrP+trq3/ra2t/66trv+tra3/rK2s/6ytrf+ura7/ra6t/66trf+trq3/rq6t/66urv+tra3/ra6u/66trf+trq7/ra2t/62urv+tra7/rq6t/66urv+tra3/ra6u/66urv+vrq7/ra6u/6+urv+ura3/rq2t/62urf+tra3/rq6v/6+vr/+ur6//r6+u/62trf+vrq//rq2u/6+urv+vrq//rq6u/66urv+ur67/rq+u/66vr/+urq7/rq6v/6+vr/+urq//rq6v/6+wr/+vr6//rq6u/6+vr/+vrq//rq+u/7CvsP+vsK//sK+w/66vrv+vr6//rq6v/66vrv+vrq7/r66v/66ur/+vrq//rq6u/6+vr/+urq7/rq6u/66urv+vrq7/rq+v/66vrv+vrq//r66u/6+urv+vr7D/r7Cw/7Cwr/+wr7D/r7Cw/6+urv+vr7D/sK+v/7Cvr/+wsK//sK+v/6+wr/+vsK//r6+w/6+vr/+vsLD/r7Cw/6+wsP+vr6//r6+v/6+wr/+wsLD/r7Cv/6+vr/+vsK//sK+w/6+vr/+vsLD/sLCw/6+vr/+wsbD/sLGx/7Gwsf+wsbD/sLGx/7GxsP+wsLH/sK+v/7Cwsf+wsK//sbGw/7CxsP+xsLD/sbCx/7CxsP+vr7D/r7Cv/6+vsP+wr6//r7Cw/7GxsP+xsLH/sbCw/6+wsP+vr7D/r7Cw/7Gxsf+xsLH/sLCx/7GxsP+wsLD/sLGx/7Gwsf+wsbH/sLGx/7Gwsf+ysrH/sbGw/7Kysf+xsLH/sLCw/7CxsP+xsLD/sbKx/7Gysf+xsrL/sbKy/7CwsP+xsrL/sLCx/7Kysv+ysrL/srGx/7Gxsv+ysbH/sbGy/7Gxsv+xsbH/srGy/7Gxsf+xsbH/srKx/7Kysf+xsbH/srKy/7Gxsf+zsrL/srKy/7Kysv+ysrL/srKz/7Kxsv+zsrL/s7Ky/7Ozs/+zsrP/srKy/7Oysv+ys7P/sbKx/7Gxsf+xsrH/sbGy/7Kysf+xsbH/sbKx/7Kys/+xsbH/sbKx/7Gxsv+ysrH/sbGx/7Kysv+zs7L/s7Ky/7Oys/+ysrL/s7Kz/7Oys/+zsrL/s7Oy/7Ozsv+zsrL/s7Oy/7Kzsv+ysrP/srOy/7Kzs/+zs7P/srKz/7O0s/+zsrP/srKy/7Oysv+ysrP/tLSz/7S0s/+0s7P/s7O0/7Ozs/+ztLT/s7Kz/7Szs/+zs7T/tLO0/7O0tP+0s7P/s7Oz/7Szs/+zs7T/tLS0/7S0tP+0tbT/tbW1/7S0tP+ztLP/s7Oz/7SztP+1tLT/tbW0/7S0tf+0tLT/tLW1/7O0tP+ztLP/tLSz/7O0s/+0s7P/s7Oz/7O0s/+zs7T/s7O0/7S0s/+zs7P/tLOz/7O0s/+zs7P/s7Oz/7W0tP+ztLP/tbW1/7W0tP+0tbX/tbW1/7W1tP+0tLT/tLW0/7S0tf+1tLX/tbS1/7W0tf+1tLT/tbW0/7S0tP+1trb/tLW1/7W1tP+1tbX/tLS1/7S0tf+1trb/tbW2/7W2tv+1tbX/tLS0/7S1tf+2trX/trW1/7a2tf+2tbb/tra1/7W1tf+2tbX/trW1/7a2tf+1tbX/tra3/7e3t/+2trb/tbW1/7W2tf+2tbX/t7a3/7e2t/+2trf/t7e2/7a2tv+1tbT/tba1/7a1tf+1trX/tbW1/7W2tf+1trX/tbW2/7a2tf+1trX/tbW2/7a1tv+1trb/tba2/7a1tf+2trb/tra2/7a2t/+2trf/tra2/7a3tv+3t7b/tra2/7a2tv+3trb/tra2/7a3t/+2trb/tra2/7a2tv+2trb/t7e3/7e2tv+2t7b/tre3/7a3tv+2t7b/t7i3/7e3t/+3t7f/tre3/7e3tv+2trf/t7e3/7e2tv+3t7f/tra2/7a3t/+3t7f/uLe4/7e4t/+3t7f/t7e3/7m5uf+3t7j/uLi4/7e3t/+3t7f/tra2/7i4uP+3t7j/t7i4/7i4uP+5uLj/t7e3/7a2tv+3t7f/tra2/7e2tv+2trf/tre2/7e4uP+3trf/t7e3/7i4t/+3uLj/t7e3/7i4t/+4uLj/ubm5/7e3t/+3uLj/uLi4/7m4uP+4ubn/ubm5/7m4uf+5ubn/uLi5/7m4uf+5uLj/uLi5/7m4uP+5ubn/uLi4/7m5uf+5uLj/ubi4/7i4uP+5uLj/ubm5/7m5uf+4uLj/urq6/7m5uP+5ubn/ubi5/7m5uf+5ubn/ubm5/7q5uf+6ubr/ubq5/7q6uf+6ubn/urm5/7q6uv+6urr/urq6/7u6uv+5ubr/urq6/7m6uv+6urr/uru7/7u6uv+6u7r/u7q7/7m5uf+5ubn/ubm5/7m5uv+5ubn/ubm5/7q6uv+6urr/ubm5/7q5uf+5ubn/ubm5/7m6uf+6urr/urm6/7q6uv+6urr/urq7/7q6uv+6u7v/u7q7/7q6uv+7urr/u7u7/7u6uv+7urv/urq6/7q6uv+6urr/u7u7/7u7u/+7u7v/urq7/7q6uv+6u7v/u7u7/7u7u/+8vLz/u7y7/7u8vP+7urv/u7u7/7u7u/+7u7z/u7y7/7u7u/+7u7v/u7y7/7u8vP+8vLz/vLy7/7y8vP+8vb3/vL29/7y9vf+8vL3/vLy8/7y8vP+8vLz/vLy8/7y9vf+8vbz/vby9/729vf+7u7v/vLy8/7u7u/+7u7z/u7y8/7y8vP+8vLv/vLy8/7u8u/+8vLv/vLy8/7u8vP+8vLz/vb29/7y8vP+8vLz/vb28/729vP+8vb3/vLy8/729vf+9vb3/vb29/729vf+8vL3/vL29/7y9vf+9vb3/vb29/76+vf+9vb3/vr6+/7y8vf+9vb3/vb29/729vf++vb3/vr29/729vf+9vb7/vb29/769vf+9vb3/vr29/72+vv++vr7/vr69/76+vv++vr7/v76+/76+vv+/vr7/v76+/7++vv++v7//v7+//76+v/++vr//vr6+/7++vv+/vr7/v7+//7+/v//Av7//vb29/729vv+9vb7/vr69/76+vv++vr//vr6+/7++v/++vb3/vr6+/72+vf++vr7/v76+/76+vv+/vr//v76//76+v/+/vr7/vr++/7+/v/+/v7//v7/A/7+/wP+/wMD/vr6//7+/v/+/v7//wL/A/8DAv//Av7//v8C//8C/v/+/v7//wL+//7/Av//Av7//v7+//8DAwP+/v7//wMDA/8C/wP/Av7//v7+//7+/wP/AwMD/wMDA/8DAwP/AwMD/wcDA/8DBwP/AwMH/wMHA/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8DBwP/BwcH/wcHB/8LCwv/BwsH/wcHC/8C/v//AwMD/wMC//8DAwP/AwcD/wcDB/8HAwP/AwMD/wMDA/8DBwP/AwMD/wMDA/8HBwP/BwMD/qamp/2xsbP/AwcD/wcHB/8HBwf/BwcL/wsLC/8HBwf/CwcL/wsLC/8HBwf/BwsL/qaqp/8LCwf/CwsH/wsLC/8LCwv/CwsP/wsLB/8HBwf/CwsH/wsLC/8LCwv/Cw8L/wsPC/8LDwv/CwsH/wsLC/8LCwv/Dw8L/w8PD/8PCw//DwsP/wsPC/8PDwv/Dw8P/wsPD/8PDw//Ew8T/xMTE/8TEw//DxMT/w8PD/8PDw//Dw8P/xMTE/8PDxP/ExMT/w8PE/8TExP/CwsL/w8LD/8PDw//CwsP/wsPD/8PDw//CwsL/w8PD/8PCw//CwsP/wsPC/8LDw//Dw8P/w8TD/8PDw//Ew8P/xMPD/8PDxP/DxMT/xMPE/8TExP/FxMT/xMTE/8XExf/Dw8T/xMTE/8TDw//ExMT/xMTE/8TExf/FxcX/xMXF/8TExP/ExMX/xMTE/8XFxP/ExMT/xcXF/8TFxP/FxcX/xcTE/8XExf/ExcX/xMXF/8XExP/FxcX/xcXF/8bGxf/FxcX/xcXG/8XFxf/FxcX/xcbF/8bGxv/Gxsb/x8fH/8bFxv/Fxcb/xcXG/8bGxv/Gxsb/xsbH/8fHxv/Hx8b/xMTF/8XExf/FxcT/xcXF/8XFxf/Gxcb/xsXF/8bGxf/FxMT/xcXF/8XFxf/Fxsb/xsXG/8XGxf/GxcX/xsbG/8XGxv/Gxsb/xsbG/8bGxv/Hxsf/x8bH/8fGxv/Hx8f/xsbG/8bGx//Hxsb/xsbH/8bHx//Hx8f/x8fH/8jHx//Gxsb/xsfG/8fGxv/Hx8f/x8fH/8fHyP/IyMf/x8fH/8bHxv/Hx8f/x8fH/8fHx//Hx8f/yMjI/8jHx//HyMj/x8fI/8jIyP/Hx8f/yMjI/8jIyf/Jycj/ycnJ/8jIyf/IyMj/yMjI/8jIyP/Iycj/yMjI/8nJyf/IyMn/ycnJ/8fHx//Hx8f/yMfH/8fHyP/Hx8f/yMjI/8fIyP/IyMj/yMjI/8jHyP/Ix8f/x8fI/8jIyP/Iycn/yMjI/8jJyf/IyMj/ycjI/8jJyP/Jycn/ycnJ/8nJyf/Jycn/ysnK/8nIyf/Jycn/ycjJ/8nJyf/Jysn/ysrK/8rJyv/Kycn/ycnJ/8nJyv/Jycn/ycnK/8rKyv/Kysr/ycnJ/8rKyv/Jycr/ysrJ/8nJyv/Jysn/ysrK/8rLyv/Kysr/y8rL/8rKyv/Ky8r/y8rK/8rLyv/Ly8v/zMvL/8vLy//Ly8v/y8rL/8vLy//Ky8r/y8vL/8zLy//My8v/zMzL/8zLy//Jysn/ysrK/8rJyv/Kysr/ysvK/8rKy//Ly8v/ysvK/8rKyv/Ly8v/ysrK/8rKyv/Ly8v/y8vL/8rKy//Ly8v/y8vL/8vMzP/Ly8v/y8vM/8zLy//My8z/y8vM/8zMzP/Ly8v/zMvL/8vMy//Ly8v/y8zL/8zMzP/MzMz/zM3M/8zMzP/MzMz/y8vL/8zMzP/MzMz/zMzN/83NzP/Mzc3/y8vM/8zMzP/MzMz/zczM/83Mzf/NzM3/zM3N/83Nzf/Nzcz/zc3N/83Nzf/Nzs3/zc3N/83Nzv/Ozs3/zs7O/83Nzf/Nzc3/zs7N/83Ozv/Nzc3/zs7O/87Ozv/Oz8//zMzM/8zMzf/Mzcz/zMzN/8zMzP/Nzc3/zc3N/87Nzf/Nzc3/zczM/83Nzf/Nzc3/zc3N/83Ozv/Ozs7/zc3N/87Nzf/Ozc3/zs7N/87Ozv/Ozs7/z87P/8/Ozv/Pz8//zs7O/87Ozv/Ozs7/zs/P/87Oz//Pzs//z8/P/8/Pz//Ozs7/z8/P/87Ozv/Ozs7/z8/P/8/Pz//Pz8//z9DP/87Ozv/Ozs7/zs7P/8/Pz//Pz8//0M/P/9DQ0P/Pz8//0M/Q/8/Q0P/Qz9D/0NDQ/9DQ0P/R0dD/0NDQ/9HR0P/Qz9D/0NDQ/9DQ0P/Q0dD/0dDQ/9HR0P/Q0dD/0dHR/87Pz//Pz8//z8/P/9DQz//Q0ND/0M/Q/9DQz//Q0ND/z8/P/8/Pz//P0ND/z8/Q/9DQz//Q0ND/0NDQ/9HR0f/Q0ND/0NDR/9HQ0P/R0ND/0NDR/9HR0f/R0dH/0tLR/9HQ0P/Q0NH/0dHQ/9HR0f/R0dH/0dLR/9LR0f/S0tH/0NHR/9HR0f/R0dH/0dHS/9HR0v/R0dH/0dHR/9LS0v/R0dH/0dLS/9LR0f/S0dH/0dLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tPT/9PT0v/T09L/09PT/9PT0//U1NT/09LS/9PS0v/T0tL/09PT/9PT0//T1NT/09TT/9PU1P/R0dH/0tHR/9LS0v/S0tL/0tLS/9PS0//T09L/09LT/9HR0v/S0tL/0tLS/9PS0v/S09P/0tPT/9PT0//T09P/0tLS/9PT0//T09P/09TU/9TT0//U1NT/09TT/9TU1P/T09P/1NTU/9PT0//U1NP/1NTT/9TU1P/U1NT/1dXU/9TT0//T09T/09PT/9TU1P/U1NT/1NTU/9XV1P/U1NX/1NPU/9TU1P/U1NT/1NXU/9XV1P/U1NT/1dXU/9XV1f/V1NX/1dXV/9XV1f/V1dX/1dXV/9bW1v/W1dX/1tbW/9XV1f/V1dX/1dXV/9XV1f/V1tX/1tbW/9bW1v/W1tb/1NTU/9XU1P/U1NT/1dTU/9TU1P/V1dX/1dXV/9XV1f/V1dX/1dTU/9TU1P/V1dX/1dXV/9XV1f/V1dX/1tXV/9XV1f/V1dX/1dbV/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tXV/9bW1v/W1tb/1tbW/9bW1v/W1tf/19bW/9fX1//W1tb/1tbW/9bW1v/X19b/19bW/9fX1//X19f/19fX/9bW1v/X1tb/1tfX/9fX1//X19f/19fX/9fX1//Y2Nj/19fX/9fX2P/X19f/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Y2Nf/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Y2Nj/2dnZ/9fW1v/X19f/19fX/9fX1//X19f/2NfY/9fY2P/Y2Nj/19fX/9fX1//X19f/19jX/9jX2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Z2Nn/2NnY/9nZ2f/Z2dn/2dnZ/9jY2P/Y2Nj/2NnZ/9nY2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2tn/2dnZ/9ra2v/Z2dn/2dnZ/9nZ2f/Z2dn/2drZ/9ra2v/Z2tn/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/29vb/9rb2v/b29v/2tra/9va2//a2tr/29vb/9vb2//b29v/29vb/9vb2//Z2dn/2tnZ/9nZ2f/a2dn/2tra/9ra2v/a2tr/2tra/9ra2f/a2tr/2dna/9ra2v/a2tr/29ra/9ra2v/b29r/2tra/9vb2//a2tr/29vb/9vb2//b3Nz/29vb/9vb2//b29v/29vb/9vb2//b29v/29vc/9zc3P/b3Nz/3Nzc/9vb2//c3Nz/29vb/9zc2//c3Nz/3Nzc/9zc3P/c3Nz/3Nvb/9zc3P/c29z/3Nzc/9zc3P/c3Nz/3Nzc/93d3P/c3Nz/3d3d/9zc3P/d3d3/3d3d/93e3v/d3d3/3t3d/93d3f/d3d3/3d3d/93d3f/e3t3/3t7e/97e3v/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/93d3P/d3d3/3d3d/93d3f/c3Nz/3d3d/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/e3d3/3d3d/93e3v/e3t7/3t7e/97e3v/e3t7/3t7d/97e3v/d3t3/3t7e/97e3v/f3t7/3t7e/9/e3v/e3t7/3t7e/97e3v/e3t7/3t/f/9/f3//f39//39/f/97e3v/f3t7/3t7e/97e3v/f39//39/f/9/f3//f39//39/f/+Df3//f39//3+Df/+Dg4P/g4OD/4ODg/+Dg4P/f4OD/4ODg/+Df4P/g4OD/4ODg/+Dg4P/g4OD/4eDh/9/f3//f39//397e/9/f3//f39//3+Dg/9/f3//f4N//39/f/9/f3//f39//39/f/9/f3//g4OD/3+Df/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dh4f/h4eD/4eHh/+Dg4P/g4OD/4ODg/+Hh4f/h4eD/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Li4f/g4eD/4eHh/+Hh4f/h4eH/4eHh/+Hi4v/h4uL/4uLi/+Hh4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/j4+P/4uLi/+Li4v/i4uL/4uPj/+Lj4//j4+P/4+Pj/+Pj4//h4eH/4eHh/+Hh4f/i4eL/4eHh/+Li4v/i4uL/4uLi/+Hh4f/h4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4+P/4uLi/+Pi4v/i4uP/4+Pj/+Pj4//j4+P/4+Pj/+Tk4//j4uL/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P/k5OP/5OTk/+Pj4//j4+P/4+Pj/+Pk4//k4+T/5OTk/+Tk5P/k5OT/4+Pj/+Tj5P/k4+T/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OXl/+Tk5P/l5eT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5OTk/+Xl5f/l5eX/5eXl/+Xl5f/l5eb/4+Tj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5f/k5OT/5OTk/+Tk5P/k5OT/5OTl/+Xl5f/k5OT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5ubm/+bl5v/m5ub/5eXl/+bl5v/l5eX/5ebm/+bm5v/m5ub/5ubm/+bm5v/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/n5+f/5ufm/+fn5//n5+f/5+fn/+fn5//o6Oj/5+jn/+jo6P/n5+f/5+fn/+fn5//n5+f/5+fn/+jo6P/o6Oj/6Ojo/+bm5v/m5ub/5ubm/+bn5//m5uf/5+fn/+fn5//n5+f/5ubm/+bn5//m5+f/5+fn/+fn5//n5+f/5+fn/+fn6P/n5+f/5+jn/+fo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6ejp/+jo6P/o6en/6Ojo/+jo6P/o6Oj/6Ojo/+jp6P/p6en/6Ojo/+np6f/o6Oj/6ejp/+jo6P/o6Oj/6enp/+np6f/p6en/6enp/+np6f/p6er/6enp/+nq6f/p6un/6urq/+rq6v/q6ur/6enp/+rq6v/p6en/6urq/+rq6v/q6ur/6urq/+vq6v/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6erp/+np6f/p6en/6enp/+np6f/p6en/6erp/+nq6f/q6ur/6enq/+rq6v/q6ur/6urq/+rq6v/r6ur/6uvq/+vr6//q6ur/6urq/+rq6v/r6ur/6+rr/+vr6//r6+v/6+vr/+rq6v/q6+r/6+rq/+vr6//r6+v/6+vr/+vr6//r6+v/6+vq/+vr6//r6+v/6+vr/+vr6//s7Ov/6+vr/+zr7P/s7Oz/7Ozs/+vs7P/s7Oz/7Ozs/+zs7P/s7Oz/7ezs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7O3t/+zt7P/t7e3/6+vr/+vr6//r6+v/6+vr/+zs6//s7Oz/7Ovs/+zs7P/r6+v/7Ovs/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+3s7f/t7O3/7e3t/+3t7f/t7e3/7Ozs/+3s7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/s7ez/7e3t/+3t7f/t7e3/7e3t/+7u7v/t7e3/7u7t/+3t7f/t7e3/7e3t/+3t7f/u7u7/7u7u/+3t7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7+7u/+/v7//u7u7/7u7u/+7u7v/v7u7/7+7u/+/v7//v7+//7+/v/+3t7f/u7u7/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7e3t/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7//u7u7/7u7u/+7u7//v7+//7+/v/+/v7//v7+//7+/v/+/u7//v7+//7+/v/+/v7//v7+//8O/w/+/v7//w8PD/7+/v/+/v7//v7+//7+/v/+/w7//w8PD/8O/v//Dw8P/v7+//8PDv/+/v7//w7/D/7/Dw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PH/8fHx//Dx8f/x8fH/8PDw//Dx8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/v7/D/7+/v/+/w7//w8PD/8PDw//Dw8P/w8PD/8PDw/+/w8P/w8PD/8PDw//Dw8P/w8PD/8PDx//Dw8P/w8PD/8fHw//Hx8f/w8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//z8/P/8/Pz//Ly8v/y8vL/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9fX1//X19f/09PT/9PT0//T09P/19fX/9fX1//X19f/19fX/9fX1//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/rKys/66trv+trq3/rq6t/62trv+ura3/rq2t/62trf+trq3/rq2t/62trv+tra3/ra6t/62trf+trq7/ra6t/66trf+ura3/ra6t/62urf+ur67/rq6v/6+ur/+urq//rq2t/66vr/+tra3/r6+v/6+urv+vrq//r6+v/66urv+tra3/rq2u/66urf+tra3/ra2u/66urv+trq7/rq2t/66urf+trq7/rq2t/62trv+urq7/r66u/66urf+vr67/r66v/66ur/+ur67/rq+v/66ur/+ur6//r6+v/66vr/+urq7/rq6u/66vrv+urq7/rq+v/66ur/+ur6//rq+u/66vrv+urq7/r66v/6+ur/+vrq//rq+u/6+ur/+wr7D/rq6u/66vrv+vrq7/r6+u/66vrv+vr7D/r6+w/7Cvr/+vsK//sK+v/7Cwr/+vr6//r6+w/6+vr/+wsLD/sLCw/7CwsP+wsK//r7Cw/6+vsP+vr6//sK+w/7CvsP+xsbD/r66v/6+urv+ur67/r6+w/7CwsP+vr7D/sK+v/7Cvr/+vrq//sK+w/6+wr/+vr6//sK+w/7CwsP+wsLD/r7Cv/7Cvr/+vr7D/r7Cw/7Cvr/+vr7D/sbCw/7GxsP+xsbH/r6+w/7CvsP+wr7D/sLGw/7CxsP+xsLD/sbGw/7GwsP+wsLD/sLGw/7Cxsf+xsLD/sbGx/7CwsP+xsLD/sLCx/7GwsP+xsbD/sLCx/7Cxsf+xsLD/sbGw/7Cxsf+wsLD/sLCx/7Gxsv+wsLD/sbKy/7Kysf+ysrL/sbGx/7Gxsf+ysrH/srKy/7Gxsv+xsbH/srKy/7Gysf+ysbL/sbKy/7GxsP+wsbD/sbCx/7Gwsf+xsLD/sbKx/7Cwsf+ysrL/sLCx/7Gxsf+wsLD/sbCx/7Kxsv+ysbH/sbGx/7Gysv+ysrL/srGx/7Kysv+xsrH/sbKy/7Kxsf+xsbH/s7Oz/7Kxsv+xsrL/sbKx/7Kysv+ysrL/s7Ky/7Ozsv+zsrP/sbGy/7Gxsv+xsrL/srKy/7Oys/+ysrL/s7Kz/7Kzsv+xsbH/srOy/7Ozsv+ysrL/s7Oy/7Kysv+zs7P/s7Oz/7Oys/+zsrL/s7Kz/7Ozs/+0s7P/s7Sz/7OztP+0s7T/s7Oy/7O0s/+zs7L/s7Sz/7OztP+zs7T/s7S0/7O0s/+ysrP/srOz/7Oysv+ysrL/srOy/7Kysv+zs7L/srOz/7Kzsv+zs7P/s7Oz/7Kys/+zs7P/tLSz/7Ozs/+zs7P/tLO0/7Szs/+0s7P/tLS0/7Ozs/+zs7T/tLO0/7S0tP+ztLP/s7O0/7O0s/+0tLP/tLSz/7S0s/+ztLP/tLS0/7O0s/+0tLP/tLOz/7S0tP+0tLT/tLS0/7S1tf+1tLX/s7O0/7Szs/+0tLT/tbW0/7S0tf+1tLT/tLS1/7W0tf+1tLX/tLW1/7S0tf+0tbT/tbW1/7W1tv+qqqv/IiIh/7W0tf+pqqn/tLS1/1pbW/8hISH/AAAA/wAAAP8LCwv/tLO0/7S1tf+0tbT/tLS0/7S0tP+1tbT/tLW0/7S0tf+0tLT/tLS0/7S0tP+0tbT/tbW0/7W1tP+0tbT/tbW1/6qpqv8LCwv/fHx9/wAAAP8AAAD/T09P/wAAAP+IiIj/W1pa/wAAAP8tLS3/AAAA/wAAAP+1trb/AAAA/7a2t/9xcXH/ODg4/wAAAP8AAAD/LS0t/y0tLf8iIiL/AAAA/yEiIv+Tk5P/q6qq/7a2t/+2t7b/rKys/7a2tv+3trf/W1tb/09PT/8AAAD/AAAA/1BPT/+4uLf/AAAA/7e4t/9bW1v/AAAA/7a3tv85OTn/AAAA/5WVlf8AAAD/c3Ny/7a1tv+2trb/t7e3/7a2tv+2trb/tre2/7a2t/+2t7b/tre3/7a3tv+3trf/t7e3/7a3t/+3trb/tre2/7e3t/+3t7f/lZWV/7e3uP+4t7j/AAAA/1BQUP9+fn7/oaGh/7i3t/+3t7j/t7e3/7e4uP+4t7f/t7e3/7e4t/+5ubj/uLi4/7i4t/+4t7j/uLi4/7e4uP+5uLn/ubi5/7i5uf+4t7f/t7e4/7i3uP+4uLj/uLm4/7m4uf+4uLn/uLi5/7m4uP+4uLn/uLi5/7m4uf+5ubn/ubm5/7m5uf+6ubn/ubi4/7m5uf+5uLj/ubm5/7m5uf+5ubr/ubq5/7m5uv+3t7f/ubi5/7m5uf+5ubj/uLi5/7i5uf+4ubn/uLm5/7i5uP+5uLn/ubi4/7i4uf+Vlpb/Li4u/xYWFv8AAAD/ubm5/7m5uf+ioqL/i4uL/7m6uf+6ubr/i4uL/4uLi/8AAAD/AAAA/yIiIv90c3P/AAAA/wAAAP+Li4v/dHR0/7m6uf+6ubn/urm5/7m6uf+6urr/urq7/7q6uv+7u7r/urm6/7q6uv+6urn/urq6/7u6u/+7u7r/uru6/7u7u/+7urv/u7q7/7q7uv+7u7v/u7u7/7y7u/+8vLv/vLy7/7q7uv+7u7v/u7u7/7u7u/+7u7v/vLu7/7y8u/+7vLv/urq6/7q7u/+jo6P/u7u7/7q7uv+6u7r/u7q6/7u7u/8AAAD/Li4u/wsLC/8AAAD/uru7/7u7u/+MjIz/u7u7/7u7u/+7u7v/u7y7/6+vsP+8u7v/vLy8/4yMjf91dXX/u7y8/4yMjP+8vLv/vLu8/wAAAP8AAAD/jY2N/42Njf+7vLz/vLy8/7u7u/+8vLz/vLy8/728vP+8vbz/vLy9/7y8vP+8vLz/vLy8/729vf+8vbz/vL29/7y8vP+9vb3/vL28/729vf+9vb3/vb29/72+vf+9vb3/vb2+/72+vv+9vb3/vr2+/729vf++vr3/vb6+/76+vv+9vr3/vr6+/7y8vP+8vL3/UlJS/xcXF/+8vL3/vb29/2pqav+9vb3/AAAA/wAAAP8XFxf/AAAA/15eXv+CgoL/IyMj/wAAAP+9vr7/vb29/769vv+Ojo7/vr6+/76+vv+Ojo7/v76//wsLC/8AAAD/CwsL/19fX/8AAAD/CwsL/wsLC/8AAAD/vr6+/76/vv++vr7/vr++/7++v/++v7//vr++/7+/v/++v7//v7+//76+v/++vr7/vr++/7+/v/+/v7//v8DA/7+/v/+/v8D/wMC//7+/v//Av7//wMDA/8DAv//AwMD/wL+//7+/v//Av8D/wL+//8DAwP/AwcD/wMDA/8DAwP+/vr//vr+//76+v/+/v7//v7+//7/AwP/Av8D/wL/A/46Ojv+/v7//R0dH/7+/v//Av7//wL+//8C/v/+/wMD/wMC//8DAwP/Av7//wMDA/8HBwP/AwMD/qamp/5GQkf+0tLT/PDw7/yMjI/8AAAD/AAAA/wAAAP8LCwv/YGBg/4SEhP8wLy//nZyd/zs7O/8AAAD/AAAA/wAAAP8AAAD/wMHA/8HAwf/BwcD/wcHB/wAAAP8AAAD/AAAA/wAAAP+RkZH/wcLB/5GRkf/CwsL/wsLC/8LDw//DwsP/w8PC/5GRkf/CwsL/kZGR/8LCwv/Cw8L/w8PC/8LDwv/Dw8L/wMHA/8HBwf+1tbX/wcLC/wAAAP8AAAD/AAAA/wAAAP8AAAD/SEhI/2BgYf8LCwv/AAAA/wAAAP8AAAD/AAAA/5GRkf/CwsL/kZGS/8LCwv/DwsL/w8PD/8PCwv/Dw8P/kpGR/8LDwv+SkZL/wsPC/8PDw//ExMT/w8PD/8PDw//Cw8L/w8PD/8LCw//Dw8P/w8PE/8PExP/ExMP/xMPE/8PDw//ExMT/w8PD/8PDw//ExMT/xMTE/8TDxP/ExMT/xMTE/8XExf/ExMT/xcXE/8XFxP/ExcT/xMXF/8XFxf/FxMX/xcTE/8XFxP/ExMX/xMTF/8XFxf/FxcX/xsbF/8TEw//ExMP/xMPE/8PExP/ExMT/xMXE/8TExP/FxMT/w8TE/8TExP/ExMP/xMTE/8TFxf/ExcX/xMTF/8TExP/ExMT/xMXF/8TExf/FxcX/xcXF/8XFxf/GxcX/xsbG/8XExf/FxcX/xcXF/8bFxv/FxcX/xsXG/8XGxf/Gxsb/xcXF/8bFxv/Gxcb/xcbF/8bGxv/Gxsb/xsbG/8bGxv/FxsX/xsbF/8bFxv/Gxsb/xsbG/8bGxv/Gx8f/xsfG/8bHxv/Hxsf/u7q7/yUlJf98fHz/MTEx/wAAAP8AAAD/Y2Nj/wAAAP8YGBj/AAAA/xgYGP+vrq7/cHBw/8jIx//Gxcb/xsbG/8bGxv/Gx8f/xsfH/8fGxv/Gx8f/x8fH/8bGxv/Gx8f/x8bH/8bHxv/Gx8b/x8fH/8fHx//Hx8f/AAAA/wAAAP8MDAz/AAAA/319ff/IyMj/JSUl/7u7u/9XV1f/AAAA/7u7u/8+Pj7/AAAA/wwMDP8AAAD/AAAA/zExMf8xMTH/JSUl/wwMDP9XV1f/fX19/wAAAP8AAAD/yMjI/8jIyf/IyMj/yMjI/319ff8MDAz/ycnI/319ff9LS0v/o6Sk/wAAAP9kZWT/ysnK/8rKyv/Kycn/ysrK/wAAAP9lZWT/AAAA/z8/Pv/Kysr/ysvL/8rKyv/Kysv/yMjJ/8jIyP/IyMn/yMnJ/8nJyf/Jysn/ycnJ/8nKyf9kZGT/vLy8/wAAAP8MDAz/ycrK/8nKyv9lZWT/vL29/xkZGP8/Pz//vLy9/8rKyv/Kysr/y8vK/8vLyv/Lysv/ysrK/8rKy//Kysr/y8rK/8vLyv/Ly8v/ysrL/8vLy//Lysr/ysrK/8vLyv/Ly8r/y8vL/8zMzP/Ly8v/y8vM/8rLy//Ly8v/ysrL/8vLy//LzMv/zMzM/8zMy//LzMz/y8zM/8zLy//Ly8v/zMzM/8zMzP/MzM3/zczN/8zMzf/LzMv/zMzM/8zMzP/Mzc3/zczM/8zMzf/Mzcz/zc3N/8vLy//MzMz/y8vL/8vMzP/LzMv/y8vM/8zLy/+/v7//zMvL/7++vv/LzMz/TExM/zIyMv8AAAD/AAAA/wwMDP/MzMz/zM3N/5mZmf+ampr/zM3M/83Nzf+ampr/p6em/wAAAP8AAAD/cnNy/5qamv8AAAD/AAAA/42Njf8mJib/zMzM/83Nzf/Nzc3/zs7O/87Nzv/Nzc3/zs3O/87Ozv/Nzc3/zc7O/83Ozv/Nzc7/zs7N/87Ozv/Ozs7/z87O/87Ozv/Ozs//zs7P/87Ozv/Pz8//z8/P/8/Pz//Qz8//z8/P/87Pzv/Oz8//z8/P/8/Pz//Qz8//z9DQ/8/Pz//Ozs7/zs7N/83Ozv/Ozs7/zs7O/8/Oz//Oz87/z87O/yYmJv+0tLT/AAAA/2dnZ//Pz87/z8/O/8/Pz//Pz8//zs7O/8/Pz//Pz8//qKio/8/P0P/Qz8//nJub/5ycnP/Pz8//AAAA/8/Qz/+pqKj/AAAA/wAAAP8mJib/AAAA/8/Qz//Qz8//0NDQ/9DQ0P/Q0ND/0dHR/9DQ0P/R0ND/z8/P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/+vq6//r6+v/29zb/+vr6//r6+v/6+vr/+vr6//r6+v/6+vs/+zs7P/s7Oz/7Ozs/+vr6//s7Oz/6+vr/+vr7P/s7Oz/7Ozs/+zs7P/s7Oz/6+vs/+zs7P/r6+v/7Ozs/+zs7P/s7Oz/7Ozs/+zt7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7f/s7Oz/7e3t/+3s7P/t7e3/7e3t/+3t7f/t7e3/7e7u/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+7t7f/u7u7/7e7u/+7u7v/s7Oz/7Ozs/+zs7P/t7Oz/7Ozs/+3t7f/t7e3/7e3t/+zs7P/t7Oz/7ezt/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+7u7f/t7e3/7u7t/+7u7v/u7u7/7u7u/+7u7v/u7e3/7u7u/+3u7f/u7u7/7u7u/+7u7v/u7u7/7+7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7v/+7v7v/v7+//7u7u/+7u7v/u7u7/7+/u/+7v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7/Dv/+/w8P/w7/D/8PDw/+/v7//v8PD/7+/v/+/v8P/v7/D/8PDw//Dw8P/w8PD/7u7u/+/u7v/v7u//7+/v/+/v7//v7+//7+/v/+/v7//u7u//7+/v/+/v7//v7+//7+/v/+/w8P/v7+//7+/v//Dv7//w7/D/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/7/Dv//Dw8P/w8PD/8PDw//Dw8P/w8fD/8PDw//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PHw//Hx8f/w8PH/8fHx//Dw8P/x8fH/8PDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Dx8P/x8fH/8PHw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v+urq7/rq2t/62urf+urq7/rq6v/66urv+urq7/r66v/62trf+vr6//ra6t/6+ur/+urq7/rq6u/66vrv+vrq7/r66u/66ur/+vrq7/r66v/6+urv+vrq7/rq6v/6+vsP+urq//rq+v/66vrv+ur67/r6+u/6+wr/+vsK//sK+w/66ur/+vr67/r6+v/66vrv+urq//rq+u/66urv+urq//rq+u/6+ur/+urq7/r66u/66urv+vr67/r6+u/6+ur/+vrq7/rq6u/66vrv+vr6//sLCw/7CwsP+vr6//r7Cv/6+vrv+wr7D/r6+v/6+wsP+vr7D/r6+v/6+vsP+vr7D/r7Cw/7Cwr/+wr6//sK+v/6+wsP+wsK//sLCv/6+wr/+wsK//sLCv/7CvsP+wr6//sK+v/7Cvr/+vr6//sLCw/6+vr/+wsbH/sbGw/7CwsP+wsbD/sLCx/7Gwsf+wsbH/sLGw/7CwsP+wsbH/sbCw/7GxsP+wsbH/sLCw/7CwsP+wsLD/r6+w/7CwsP+vr7D/r6+v/7CwsP+xsbH/sLCx/7CvsP+vr7D/r6+v/7Gwsf+xsLH/sLGw/7Gwsf+wsLD/sLGw/7Gwsf+wsbH/sbCx/7Gxsf+xsbH/sLCw/7Gysv+xsLD/sLCx/7GxsP+xsLH/srGx/7Gxsf+ysrH/sbKy/7GwsP+ysbH/sLCx/7Gysf+ysbL/sbGy/7Kysv+ysbH/srKx/7Gxsf+xsbH/sbKy/7Gxsv+ysrH/srGx/7Gysv+xsbH/srKy/7Kysv+ysrP/srKy/7Kzsv+ys7P/s7Ky/7Kysv+zs7L/srOz/7Ozsv+zsrP/srOz/7Kzs/+ysrL/sbGx/7Kxsv+xsbH/sbKy/7Gysf+xsrL/srKx/7Ozsv+ysbL/srGy/7Gysf+xsbH/sbGx/7Kzsv+ysrL/srOz/7Kzs/+ysrP/s7Ky/7Oys/+zsrP/s7Ky/7Kys/+ysrP/s7Kz/7Kzs/+ysrL/s7Oy/7Oys/+zs7T/srKy/7S0s/+zsrL/s7Oz/7Kysv+zsrL/tLSz/7Szs/+0s7P/s7S0/7Kysv+ztLP/srKz/7S0tP+0s7P/s7Oz/7OztP+ztLP/s7S0/7SztP+0tLP/tLSz/7SztP+0tLT/tLS0/7Szs/+zs7T/tLS0/7SztP+0tLT/tLSz/7W1tP+ztLP/tbW1/7S0tP+0s7T/s7Sz/7O0tP+zs7P/s7Oz/7SztP+zs7T/s7Sz/7Ozs/+zs7P/tLS0/7SztP+zs7P/s7Oz/7S1tf+0s7T/s7S0/7S0tP+0tLT/tLS0/7S0tP+0tLX/tbS0/7W0tP+1tbT/tLW0/7W0tf+0tbX/tLW0/7W0tP+1trb/tbW1/7W1tP+1tbT/tLS0/7S1tf+0tbX/tLS0/7W1tf+1tLT/tbS0/7S1tP+1tbX/tLW0/7W1tf+1tbb/tbW1/y0tLf8AAAD/LS0t/wAAAP8AAAD/t7a3/wAAAP+3trf/Q0RE/wAAAP9bWlv/AAAA/wAAAP+3t7f/AAAA/6CfoP+1tbT/trW2/7W1tf+1trX/tbW2/7W1tf+1trX/tba1/7W2tf+1tbX/trW1/7a2tf+1tbb/tbW2/7W1tf+2trb/iIiI/wAAAP+2t7b/FhYW/wAAAP9xcnH/AAAA/y0tLf+3trf/cXJx/7a2tv+3t7f/AAAA/wAAAP9ERET/AAAA/7a3t/+2trf/t7e3/7e3t/+2trb/t7e4/7e4uP+4uLf/t7e3/7a3tv+2t7b/uLi3/7i4t/+4uLj/t7i3/7e4uP+3t7j/uLe3/7i4uP+3t7j/t7e4/7m5uP+4uLj/ubm5/7e3t/+4t7f/uLi3/7m4uf+4uLn/uLm4/2hnZ/+Lior/t7e2/7e3uP+4t7f/t7e4/7i4t/+4t7f/uLe4/7i4t/9zcnP/t7e3/wAAAP8WFhb/t7i3/6ysrP85OTn/AAAA/7e3uP+ioaH/ubm5/0VFRf8AAAD/UVFQ/wAAAP+hoqH/XFxc/wAAAP8AAAD/IiIi/0VFRf+5ubn/rayt/7m5uf+4ubn/oaKh/7i5uP+5uLn/AAAA/wAAAP9zc3P/Ojk6/7m5uP+5ubn/uLm4/7m5uf+5ubn/ra6t/3N0dP8LCwv/f4B//7q5uv+tra3/urm5/7q6uv+7urv/o6Oj/2hoaP9dXV3/FxcX/wAAAP8LCwv/AAAA/wAAAP9FRkX/gICA/7m5uf+tra3/ubm5/11dXf8LCwv/AAAA/wAAAP8AAAD/ubm5/0VFRf+5ubn/o6Ki/wAAAP8LCwv/AAAA/wAAAP8uLi7/rq6u/6Ojo/+7u7v/u7q6/7q7uv+7u7r/u7u7/6+urv+7u7r/FxcX/1FRUf+7u7v/r6+v/0ZGRv8LCwv/RkVF/wAAAP8uLi7/AAAA/0ZGRv+8vLz/Li4u/7y7vP8AAAD/AAAA/11dXf8AAAD/Li4u/7y7vP8uLi7/u7y7/7y7vP+8vLz/u7u8/7y8vP+8vLz/vby9/729vf+8vLz/vLy8/7y8vP+8vLz/vby8/729vP+8vLz/vby8/729vf9dXV3/AAAA/11dXf8AAAD/Li4u/7y8vP8uLi7/vLy8/zo6Ov8AAAD/AAAA/wAAAP8XFxf/Li4u/wAAAP8LCwv/vLy8/728vP+8vbz/vLy8/728vf+9vb3/vb29/729vf+lpaT/vby8/7y8vf+ZmZn/vb29/76+vf9eXl7/Xl9e/y8vL/8AAAD/Ly8v/wAAAP8AAAD/CwsL/wAAAP+Ojo7/Ly8v/wAAAP8vLy//AAAA/y8vL/++vr7/Xl5f/76+vv+ysrL/vr6+/76+vv+/v77/mpqa/zs7O/+/v77/v7+//76+vv+/v77/vr6+/7+/v/+/v77/v7+//7+/v/+/wMD/Ly8v/wAAAP8vLy//AAAA/19fX/++vr7/X19f/7++v/8vLy//AAAA/wsLC/8AAAD/X19f/76+v/8jIyP/X19f/76/v/+/v77/vr6//7+/v/+/v7//wMDA/7+/wP/Av7//vr6+/7+/v/9fX1//tLSz/8DAwP/Av7//v7/A/8DAv/+zs7P/wL/A/7/AwP/Av7//wL/A/3h4eP+/wL//IyMj/7+/wP+/wMD/wMC//8DAv//AwMD/AAAA/8DAwP8AAAD/AAAA/wsLC/8AAAD/SEhI/6moqP/BwcH/wcHB/8HCwv8AAAD/eHh4/wAAAP+RkZH/wcHB/8HBwf/BwcH/wcHC/7/AwP/AwMD/wMDA/8DAwP/BwMD/AAAA/8DAwf8LCwv/wMDA/8HAwf/AwMD/wcHB/8DBwf9ISEj/wMHA/7W1tf8AAAD/hISE/wAAAP9UVFT/wsLC/8LBwf/BwcL/wsLC/wAAAP8XGBf/JCQk/wAAAP+1trX/wsLC/wsLC/9ISEj/wcHB/52dnf/BwsL/wsLC/wAAAP8AAAD/AAAA/wAAAP/BwsH/wsLC/8LCwv/Cw8L/AAAA/wAAAP8AAAD/AAAA/5GRkv/Dw8P/kZKR/8PDw//Dw8P/xMPD/8TEw//DxMP/kpKS/8TDxP+SkpL/xMPD/8PDw//ExMT/w8PE/8TExP/CwsL/wsPC/8LDwv+2t7b/AAAA/wAAAP8AAAD/AAAA/8LCwv9JSEn/JCQk/wAAAP8AAAD/AAAA/wAAAP8AAAD/k5OS/8PDxP+SkpP/w8TD/8TExP/ExMX/xMTE/8TFxP96enr/xMTE/wAAAP89PT3/xcXF/8XExf/FxcX/xMXF/8TExP/ExcX/xMTE/8XFxP/ExMT/xMTF/8TExP/FxcX/xMXF/8TExP/FxMX/xcXE/8TExf/FxcX/xcXF/8bFxf/FxcX/xsbG/8XFxv/Fxcb/xsXF/8bGxv/Gxsb/xsbH/8XGxf/Gxcb/xsXF/8bGxv/Gxsb/x8bG/8bGx//Gxsf/xcTF/8XExP/FxMT/xcXF/8XFxf/FxcX/xsbG/8bFxf/ExcT/xcXF/8XFxf/FxcX/xcXF/8bFxf/FxsX/xsbG/8bFxv/Gxsb/xsbG/8bGx//Hx8b/xsfG/8bHxv/Hx8f/xsbG/8fGxv/Hx8f/xsbH/8bHxv/Hx8f/x8fH/8jHyP/Hxsb/xsbH/8fHx//Hx8f/x8fH/8fIx//IyMj/yMjH/8bGx//Hx8f/x8fH/8fHyP/Ix8j/yMfH/8fIx/+7u7v/x8fH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/9rZ2f/a2tr/29vb/9rb2//b29v/2tra/9rb2v/a2tr/2tra/9vb2//b2tv/29vb/9vb2//Z2dn/2dna/9nZ2f/Z2dr/2tra/9ra2v/a2tr/2tra/9nZ2v/a2tr/2dnZ/9ra2v/a2tr/2tva/9ra2v/b2tv/2tvb/9vb2//a2tr/29vb/9vb2//c3Nv/29vb/9vb2//b29v/29vb/9vb2//b29v/29zb/9zc3P/b29z/3Nzc/9vb2//b29z/29va/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/29zc/9zc3P/b29v/3Nzc/9zc3P/c3N3/3Nzc/9zd3P8AAAD/AAAA/wAAAP8AAAD/bm5u/93d3v9ubm7/3d3e/wAAAP8AAAD/AAAA/wAAAP9vbm7/3t7e/25ubv/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/d3d3/3dzc/93d3f/c3Nz/3Nzc/9zc3P/d3d3/3d3d/93d3f+zs7P/YGBg/wAAAP8AAAD/AAAA/wAAAP9vb2//3t7e/29vb//e3t7/AAAA/wAAAP8AAAD/AAAA/29vb//e39//KSkp/29vb//e3t7/3t7e/97e3v/e3t7/397f/29vb//e39//U1NT/97e3v/f3t//3t7e/97e3//f39//Nzc3/9/f3/8bGxv/AAAA/wAAAP8AAAD/AAAA/+Dg4P/g4OD/4ODg/+Dg4P8AAAD/AAAA/wAAAP83Nzf/4ODg/+Dg4P/g4OD/4ODh/97e3v/f39//3t/f/9/f3//Dw8P/AAAA/29vb/8AAAD/39/f/4uLi/83Nzf/AAAA/wAAAP8AAAD/AAAA/1NTU/8AAAD/YmJi/wAAAP/ExMT/4ODg/+Dg4f/g4OD/09PT/2JiYv/g4OD/4ODg/+Hg4P/h4eD/xcXF/+Hh4f/h4eH/RUVF/wAAAP/T09L/RkZG/zg4OP/h4eH/mpqa/+Li4f/h4eD/4eHh/9PT0/84ODj/qamp/0ZGRv8AAAD/AAAA/+Lh4f/i4uL/1NTU/5ubm//Gxsb/AAAA/3Fxcf8AAAD/AAAA/wAAAP8qKir/jY2O/wAAAP8AAAD/x8fH/wAAAP9wcHD/AAAA/w0NDf8AAAD/AAAA/5ubm/9UVFT/4uLi/wAAAP8AAAD/VFRU/wAAAP9xcXH/4uLi/wAAAP9GRkb/4uLi/+Pj4//j4+L/4+Pj/+Pj4/8AAAD/4+Pj/wAAAP/i4+P/4+Pj/2NjY/8cHBz/qqqq/wAAAP8AAAD/AAAA/wAAAP/Hx8f/AAAA/6qqqv/k5OP/5OTk/+Tj5P/k5OT/AAAA/6urq/8AAAD/q6qq/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eTk/+Tk5P/l5OT/5eXl/6ysrP/l5eX/rKys/+Xk5P/l5eX/5eTk/+Xl5f/l5eX/rKys/+Xl5f+srKz/AAAA/6urq/8AAAD/q6ur/+Tk5P/k5OX/5OTk/+Xk5P8AAAD/ODg4/wAAAP8AAAD/jo6O/+Xl5f+AgID/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eb/rKys/+bl5f+srKz/5eXl/+Xm5f/l5eX/5uXl/+bm5v+srKz/5ubm/+bm5v8AAAD/OTk5/wAAAP85OTn/5ubm/+bm5v/m5ub/5ubm/wAAAP85OTn/AAAA/zk5Of/m5ub/5ubm/+bn5//n5+f/5+fm/+fn5//n5+f/5+fn/+fn5//n5+f/5+jn/+jo6P/n5+f/5+fn/+fn5//n5+j/5+fo/+jo6P/o6Oj/6Ojo/wAAAP85OTn/AAAA/zk5Of/m5uf/5+fn/+fn5//n5+f/AAAA/w4ODv8cHBz/AAAA/7y8vP/n5+f/Dg4O/xwcHP/n5+f/5+fo/8rLyv8ODg7/6Ojo/+jo6P+RkZH/6Ojo/2VlZf8AAAD/AAAA/ysrK/+urq7/6Ono/+jo6P/o6Oj/6Ojo/5GRkf/o6Oj/6Ojo/wAAAP8AAAD/ZWVl/1dXV//o6Oj/6Ojp/+jo6P/o6On/6enp/8zMzP9lZWX/AAAA/9ra2v/p6en/6enp/+nq6v/q6un/6urq/76+vv+Dg4P/V1dX/w4ODv8AAAD/HBwc/wAAAP8AAAD/ZmZm/76+vv/o6en/r6+v/+jo6P86Ojr/AAAA/wAAAP8AAAD/HBwc/+np6f8cHBz/6enp/5GRkf8AAAD/Ojo6/wAAAP8AAAD/V1dX/+rq6v/q6ur/6urq/+rq6v/q6ur/6uvq/+rr6//q6ur/6urq/ysrK/91dXX/6urq/87Ozv9JSEj/AAAA/ysrK/8AAAD/HBwc/wAAAP+Tk5P/6+vr/3V1df/r6+v/AAAA/wAAAP86Ojr/AAAA/3V1df/r6+v/dXV1/+vs6//r6+v/7Ozs/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozt/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7ezt/+zs7P/t7e3/Ojo6/wAAAP86Ojr/AAAA/3V2dv/s7Oz/dXV2/+zs7P8dHR3/AAAA/wAAAP8AAAD/Ojo6/0lJSf8AAAD/SUlJ/+zs7P/s7Oz/7Ozs/+3t7f/s7e3/7e3t/+3t7f/t7e3/7Ozs/+3t7P/t7ez/7e3t/+3t7f/t7e3/7e3t/+3t7f/s7e3/7e3t/+3t7f/t7e3/7e3t/+3u7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7u3/7u7u/+7t7f/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/v7u7/7u7u/+/v7//u7u7/7u7u/+7u7v/v7+7/7u7u/+/v7//u7u7/7+/v/+3t7f/t7e7/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7u7t/+7u7v/t7e3/7u7u/+7u7v/u7u7/7u7u/+/u7v/u7u7/7u7v/+7v7v/u7u//7+/v/+/v7//v7+//7+/v/+/u7//v7+//7u7v/+/v7//v7+//7/Dw/+/v7//w7/D/7+/v/+/v7//v7+//7+/v/+/w8P/w8PD/7+/v//Dw8P/v7+//8PDw/+/v7//v7/D/7+/w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PH/8fHx//Dw8P/x8fH/8PDw//Hw8P/w8PD/8fHw//Hx8f/x8fH/8fHx//Hx8f/v8O//7+/w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PHw//Dw8P/x8fD/8fHx//Hx8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//z8/P/8/Pz//Ly8v/y8vL/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9fX1//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//b29v/39/f/9vb2//b29v/29vb/9vb2//f39//39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/6+urv+ur6//rq+u/6+urv+vr6//r6+u/66urv+wr6//r6+u/6+vrv+vrq7/r66u/66vr/+vr7D/sK+v/6+vsP+wr7D/sLCv/7CwsP+vr6//r6+v/6+wr/+vsLD/sK+v/7Cwr/+wsK//sLCv/7CvsP+vr6//sLCw/6+vsP+xsbH/rq+v/6+vrv+ur6//sLCw/6+wr/+wsK//r7Cw/6+wr/+urq7/sLCw/6+vsP+wr7D/r7Cv/7CvsP+vr6//sK+w/7CvsP+wr7D/r6+v/7CwsP+vsK//sbGx/7CwsP+xsLD/r6+v/6+wsP+vr7D/sLCx/7Gwsf+xsLD/sbCx/7CwsP+wsLD/sbGx/7Gwsf+wsbD/sLCx/7CwsP+wsLD/sbGw/7CwsP+xsLD/sbCw/7CwsP+wsbD/sLCx/7GwsP+xsbD/sbGx/7Gysv+wsLH/srKx/7Gysf+xsbH/srKy/7Gysv+xsrH/sbGx/7Kysf+ysbL/sbKx/7Gysv+xsbH/sbKx/7GxsP+xsLH/sLGx/7CwsP+xsLD/sbKx/7Gwsf+xsbL/sbGw/7CxsP+xsbD/sbGw/7Kxsv+ysbL/sbKy/7Kxsf+ysrL/sbKx/7Kysf+xsbH/srGy/7Kysf+xsrH/srKx/7Kysf+xsbL/srKy/7Gxsf+xsbL/s7Kz/7Gysv+ysrP/sbGx/7Kxsf+ysrH/s7Kz/7Oysv+zsrL/srKy/7Kzs/+xsbH/srKy/7Kzs/+zsrL/s7Oy/7Kzsv+zs7L/srKy/7Ozsv+ys7L/srOy/7Oys/+zs7P/s7S0/7Szs/+0tLT/s7Ky/7OztP+zs7P/s7Oz/7S0tP+0s7P/s7Oz/7SztP+ys7L/srKy/7Kzsv+ysrL/srOy/7Kzsv+ys7L/srOy/7Kzs/+ysrL/s7Kz/7Ozs/+ys7L/s7Oz/7Kzsv+ztLP/tLOz/7S0s/+ztLP/tLS0/7O0tP+0tLT/s7Oz/7O0tP+0s7T/s7S0/7Szs/+0tLP/tLOz/7O0tP+0tLT/tbW1/7S0s/+ztLP/s7Oz/7Szs/+zs7P/tbS0/7W0tP+0tLX/s7S0/7O0s/+0s7P/tLS0/7S0tP+0tbX/tbS1/7W0tf+1tLT/tbS1/7W1tf+0tbT/tLS1/7a1tf+1trb/tra2/7W1tP+0tLT/tLS0/7a2tv+1tbb/tbW2/7W1tf+1trX/tLS0/7W0tf+0tLT/tLW0/7W0tP+0tLT/tbW1/7W0tP+0tLX/tLS1/7W0tP+0tLT/tLW0/7S0tf+1tbX/tbW1/7S1tP+2trb/trW2/7a1tv+2tbb/tba1/7a1tf+1trb/trW2/7a1tf+2tbX/trW1/7W1tv+2tbb/tbW2/7e3tv+2trb/tbW2/7W1tv+1tbb/tba1/7e2tv+2trb/tre3/7W2tf+1trb/trW2/7e3t/+2t7f/tra2/7a3tv+3trf/tre3/7a2tv+2trb/tra2/7a2t/9ycnP/t7i3/7e4t/+2t7b/tre3/7a2tv+4t7f/uLe4/7i4t/+3t7j/t7i3/7a1tv+2trb/t7e2/7a2t/+2t7b/tre3/7a3tv+2t7f/tre3/7a2t/+3trb/tre3/7e2tv+3trf/tra3/7i3uP+2trb/uLi3/7i4t/+3uLj/uLi3/7i3uP+4t7j/uLe4/7i3t/+3uLj/t7e4/7i3uP+3uLj/uLi3/7e3t/+4ubj/FhYW/wAAAP+3uLj/t7e3/wAAAP8LCwv/uLm5/7m5uf+3t7j/t7e4/7i3t/+4uLn/ubm5/7i4uf+4uLn/uLi4/0VFRf+trKz/ubi4/7i4uP+5ubn/ubm5/7m5uf+5ubn/ubi4/7m5uf+4uLj/ubm5/7m5uf+5ubn/urm5/7q5uv+3uLf/uLi4/7m5uP+4ubj/ubi5/7m5uP+4uLj/ubm4/7m5uP+4ubj/uLm4/7i4uP+4uLn/uLm4/7i5uP+5ubn/ubm5/7m5uf+5ubn/urm6/7q6uv+6ubn/ubm5/7q5uf+5ubn/urm6/7m5uf+6urn/urm6/7q6uv+5urn/urq6/7m6uv+6urr/ubm5/7q5uv+AgID/FxcX/7q6uv+7u7r/ubm6/7q6uv+5ubn/urq6/7q6u/+7urr/uru7/7q6u/8AAAD/AAAA/7u7uv+7u7v/CwsL/0ZGRv+7u7v/vLy8/7q6u/+7u7v/u7u7/7u7u/+8vLz/vLy8/7u7u/+8vLv/urq6/7u6u/+6urr/uru7/7u6uv+6u7v/uru6/7u7u/+7urr/u7u6/7q6uv+6urv/uru6/7u7u/+7u7v/u7u7/7u7u/+8u7z/u7u7/7u8u/+8u7v/vLy8/7y8vP+8vLz/u7u8/7y7u/+7u7v/u7u8/7y8vP+8vLz/vLy8/728vP+BgYD/Li4u/7u8u/+8vLz/AAAA/3V1dv+9vbz/vLy9/7y8vP+8vLz/vLy8/729vf+8vL3/vLy9/7y8vP+9vb3/vL28/2pqav+9vb3/vb29/wAAAP8AAAD/vr29/729vf+9vb3/vr29/729vf+9vb3/vr69/76+vv+9vr3/vr6+/7y8vP+8vb3/vb28/729vP+9vbz/vb29/729vf+9vb3/vL28/728vP+9vbz/vb29/729vf+9vr3/vb29/72+vv++vr3/vr29/72+vf++vr7/vr6+/76+vv++vr7/vr++/729vv++vr7/vb6+/76+vv++vr7/vr6+/76+vv++vr7/AAAA/wAAAP++vr7/v76+/wAAAP8AAAD/vr++/7+/v/++vr7/vr+//76+v/++v7//vr++/7+/v/+/v7//wL+//wAAAP+Pj5D/v8C//7+/v/+/v7//wMDA/8C/wP/AwMD/wL/A/7/Av//AwL//v7+//8DAwP/AwMH/wMDA/8DAwf++vr7/vr6//7+/vv+/v7//v7+//7+/v/+/v7//wL+//7++v/+/v7//v7+//8C/wP+/wL//v8C//7+/wP+/v7//v8DA/8DAwP+/v8D/wMDA/8HBwf/BwcH/wMHB/8DBwf/AwMD/wMDA/8DAwP/AwMH/wcDA/8HAwf/BwMH/wcHB/8DBwf/BwMD/wcHB/8HAwP/BwMD/wcHB/8HBwf/BwcH/wcDB/8DBwf/AwcH/wcHB/8HBwf/BwcH/wsLC/8HBwf+2trX/SEhI/8LCwf/CwsL/AAAA/wAAAP/Dw8L/w8LC/8LCwv/CwsL/wsLC/8LCw//DwsL/wsLD/8PCwv/Cw8P/wcDA/8HBwf/BwcH/wcLC/8LCwf/CwcH/wsLB/8LCwv/BwcH/wsHC/8LBwf/BwcL/wcHC/8LCwv/CwsL/wsLC/8LCwv/Cw8P/wsLC/8PDwv/Cw8L/w8PD/8LCw//Dw8P/w8PD/8PCwv/Dw8P/w8LC/8PDw//Ew8P/w8PD/8PDw/8LCwv/VVVV/8LCwv/Dw8P/CwwM/xgYGP/Dw8P/w8PE/8PDw//DxMT/w8PD/8TDxP/Dw8T/xMTE/8PDw//ExMT/SUlJ/4eHh//ExMT/xMXF/8TFxP/ExMX/xcXE/8XFxf/ExcX/xcXE/8TExP/ExcX/xMTE/8XFxf/FxcX/xcbG/8TDxP/Dw8T/w8PD/8PEw//ExMT/xMTE/8TExP/ExcX/w8TE/8TExP/Dw8T/xMTE/8TExP/FxcT/xcXE/8TFxf/ExcT/xMXE/8TFxf/FxcX/xcXF/8bFxv/GxsX/xsbG/8XExP/FxcX/xcXF/8XFxv/FxcX/xsXF/8XGxv/Gxsb/xcXF/8XGxv/Fxsb/xcXG/8XFxf/Gxsb/xsbG/8fGxv/Fxcb/xcbF/8XGxf/Gxsb/xsbG/8bGxv/Hxsb/xsfH/8bHx//Hxsb/x8bG/8fHx//Hx8f/x8fI/8jHx//Ix8f/xsbH/8fHx//Hx8f/x8fI/8jHx//HyMj/x8fI/8jHx//Gxcb/xsbG/8bGxv/Gxsb/x8bG/8fHxv/Gxsf/x8fH/8bGxv/Gxsf/x8fG/8fGxv/Hx8b/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fI/8jHx//IyMj/yMfH/8jIyP/Ix8j/x8jH/8fHx//Hx8j/yMjI/8jIyf/IyMj/ycnI/8fHx//IyMj/yMfH/8jIyP/JyMj/ycjJ/8nIyP/IyMj/yMjI/8jJyP/IyMj/ycjJ/8nIyP/Jycn/ycjI/8nJyf9xcXH/GRgZ/8nJyf/Kycn/WFhX/zIyMv/Jysn/ysrK/8nJyf/Jycr/ycnJ/8rKyv/Kysr/ysvL/8rKyv/Lysr/ycjI/8jIyP/IyMn/ycjI/8nJyf/Jycn/ycnJ/8nKyf/Iycn/ycnJ/8nIyP/Jycn/ycrJ/8rJyf/Jysn/ysrJ/8nJyf/Kysr/ysnK/8rKyv/Kysv/ysvK/8vLyv/Ly8v/ysrK/8rKy//Kysr/y8vK/8rKy//Ly8v/ysvL/8vLy/8AAAD/AAAA/8vLy//Ly8r/AAAA/z8/P//Ly8v/y8vL/8rKyv/Ly8v/y8vL/8vLy//LzMz/y8zL/8vLzP/MzMz/pqal/8zLy//LzMv/zMzM/8zMzP/NzMz/zM3M/83Mzf/LzMv/zMzM/8zMzP/Nzcz/zczN/83NzP/MzMz/zc3N/8vLy//Ly8v/y8vL/8zMzP/MzMv/zMvM/8zLzP/MzMz/y8vL/8zMzP/Ly8z/zMvM/8vLzP/MzMz/zMzM/8zMzP/MzMz/zM3M/8zMzP/NzMz/zc3N/83Nzf/Nzc3/zc3O/83Nzf/Mzc3/zM3M/83Nzf/Nzc3/zc7O/83Ozv/Nzc3/zMzN/6ampv/Nzc3/zc7O/zMzM/8AAAD/zc3O/87Ozv/Nzc3/zs3O/83Nzf/Ozc3/zs7N/87Ozv/Ozs7/z87O/wAAAP8AAAD/z8/P/87Pzv9AQED/gYGB/8/Pz//P0M//zs/O/87Ozv/Oz8//z8/P/8/Pz//Qz8//z8/Q/9DPz//Nzs3/zc7O/87Nzf/Ozs7/zs7O/87Pz//Pzs//z87P/87Nzv/Ozs7/zs7O/8/Ozv/Oz87/z87O/87Pzv/Pz8//z8/O/8/Pz//Pz8//z9DQ/9DQ0P/Q0M//z9DP/9DQ0P/Pz8//0NDQ/8/Qz//Pz8//z8/P/9DQ0P/Q0ND/0NHR/1tbW/8AAAD/z9DQ/9DQ0P9NTU3/0dHQ/9DR0P/R0ND/0NDQ/9DQ0P/Q0ND/0NHQ/9DR0P/R0dD/0dHQ/9HR0f/Q0dH/0dHR/9HR0f/R0dL/0tHR/9LR0f/R0dH/0tLS/9HR0f/R0dH/0tLS/9HS0f/R0dH/0tLS/9LS0v/S0tL/0NDQ/9DQ0P/R0NH/0dHQ/9DQ0P/R0dH/0dHR/9HR0f/R0dH/0dDQ/9DQ0f/R0dH/0dHR/9HS0v/S0dL/0dLR/9HS0v/R0tH/0dHR/9LS0v/S0tL/0tLT/9PS0v/S09L/0tHR/9LS0v/S0tL/09LT/9PT0//S09P/09PS/9PT0//S0tL/W1tb/9PT0v/Gxcb/AAAA/56env+enp7/1NTU/9LS0//S0tL/09LS/9PT0//T09P/09PT/9TU0//U1NT/09TT/9PT0//U09T/1NTU/9TU1P/V1NT/1NXU/9TU1P/T09T/1NTU/9TU1P/V1NX/1NXU/9TU1P/U1dX/1dXV/9LT0//T09P/09PT/9PU0//T1NP/09PT/9TU0//U1NT/09PT/9TT1P/U1NT/09PT/9TU0//U1NT/1NTU/9XV1f/U1NT/1NXU/9TU1f/V1NT/1dTV/9XV1f/U1dX/1dXV/9TV1P/U1NT/1dXV/9TU1P/V1dX/1dXV/9XV1f/V1tX/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1dX/1dbV/9bW1v/V1dX/1dXV/9XV1f/V1db/1dXW/9bW1v/W1tb/1tbW/5OTk/8nJyf/1tbW/9bW1v8AAAD/AAAA/9bX1v/X19f/1tbW/9fW1//W1tb/19bW/9fX1//X19f/19fX/9fX1//V1dX/1dXV/9bV1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bV1f/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/X19b/1tbX/9fX1//W1tb/19fX/9fX1//X19f/19fX/9fY2P/X19f/19fX/9fX1//X19f/19fY/9jY2P/X2Nf/2NjY/w0NDf9QUFD/19fY/9fX1//Kysr/2NjY/9jY2P/Y2Nj/2NfX/9jY2P/X2Nj/2NjY/9jY2P/Y2dn/2NjY/9jY2P/Z2Nn/2dnZ/9nY2P/Z2dn/2dnZ/9na2v/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2tn/2tra/9ra2f/a2tr/2NjY/9jY2P/Y2Nj/2NjY/9jZ2f/Z2dn/2NnZ/9nZ2f/Y2Nj/2djY/9jY2P/Y2Nj/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/a2dn/2dnZ/9na2f/a2tr/2tra/9ra2v/a2tr/2tna/9ra2v/a2dr/2tra/9ra2v/a2tr/2tra/9vb2v/a2tr/2tra/9ra2v/a2tr/2tva/9vb2//a29r/29vb/9ra2v/a2tr/2tra/9va2v/b29v/29vb/9vb2//b29v/29vb/9zb2//b29v/29vb/9zc3P/c3Nz/3Nzc/9zc3P/c29z/3Nzc/9zb3P/c3Nz/3Nzc/9zd3P/c3Nz/3Nzd/9rb2//b29v/29vb/9vb2//b29v/29vb/9vb2//c29v/29vb/9vb2//b29v/29vb/9vb2//c3Nz/3Nzb/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/93d3f/d3d3/3d3d/9zc3P/c3Nz/3Nzc/93d3f/d3d3/3d3d/93d3f/d3d3/3N3d/93d3f/c3N3/3d3d/25ubv8AAAD/3d3d/97e3v/d3d3/3d3d/93d3f/d3d3/3t3d/97e3v/d3d3/3t7e/wAAAP8AAAD/3t7e/97e3v8AAAD/AAAA/97f3v/f39//3t7e/9/e3//e3t7/3t7f/9/f3//f39//39/f/9/f3//d3d3/3d7e/93d3f/d3d7/3t7e/97e3v/e3t7/3t7e/93d3f/e3t7/3t7e/97e3v/e3t7/3t/f/97e3v/e39//39/e/9/f3//f39//39/f/9/f3//f4OD/39/f/9/f4P/f39//39/f/9/f3//f39//39/f/+Dg3//f4OD/4ODg/wAAAP9FRUX/39/f/+Dg4P+ampr/4ODg/+Dg4P/g4OD/4N/f/9/f3//g39//4ODg/+Dg4P/g4OD/4ODg/+Hh4P/g4OD/4OHg/+Hh4P/h4eH/4eHh/+Hh4f/h4eH/4uLh/+Dh4f/h4eH/4eHh/+Hh4f/h4eH/4eHi/+Hi4v/i4uL/3+Df/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODh/+Hh4f/g4OD/4ODg/+Dg4P/h4OH/4eHg/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4v/i4uH/4uLi/+Li4v/i4uL/4eHh/+Li4v/i4eL/4uLi/+Li4v/i4uL/4uLi/+Lj4v/T09T/RkZG/+Li4v/i4uL/AAAA/wAAAP/i4+P/4+Pj/+Li4v/i4uL/4uLi/+Pj4//j4uP/4+Pj/+Pj4//j4+P/AAAA/yoqKv/j4+P/4+Pj/4B/f/+AgID/5OPk/+Tk5P/j4+P/5OPj/+Pj4//j5OT/5OTk/+Tk5P/k5OT/5OTk/+Li4v/i4+L/4+Lj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uPi/+Pj4//j4+P/4+Pj/+Pj4//j5OT/4+Pj/+Pj4//j4+P/5OTk/+Pj4//k5OT/5OTk/+Tl5P/k5OT/5eXk/+Tk5P/k5OT/5OTk/+Tk5P/l5OT/5eXl/+Xk5f/l5eX/DQ0N/yoqKv/k5OT/5OTl/9fX1//l5eX/5eXl/+Xl5f/k5eX/5eXl/+Xk5P/l5eX/5eXl/+Xl5v/l5eX/5ubl/+Xm5f/m5ub/5eXl/+bm5v/m5ub/5ubm/+bm5v/n5+f/5ebl/+bm5v/m5ub/5ubm/+bm5v/m5uf/5+fm/+fn5//l5eX/5eXl/+Xl5f/l5eX/5ubl/+Xm5f/l5eX/5ubm/+Xl5f/l5ub/5eXl/+Xm5f/m5eb/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ufm/+bm5v/n5+f/5+fn/+fn5//m5ub/5+fm/+fm5//n5+f/5+fn/+fn5//n5+f/5+jo/5+env9ISEj/5+fn/+fn5/8AAAD/HBwc/+jn5//n6Oj/5+fn/+fn5//n5+f/6Ojn/+fn6P/o6Oj/6Ofn/+jo6P+CgoL/2dnZ/+jo6P/o6Oj/6enp/+np6f/p6Oj/6enp/+jo6P/p6ej/6Ojo/+jp6f/p6en/6enp/+np6f/p6en/5+fn/+jo5//o5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o5+f/6Ojo/+jn5//o6Oj/6Ojo/+no6f/o6Oj/6Ojo/+jp6P/p6en/6Onp/+np6f/p6en/6enp/+np6f/q6un/6enp/+np6f/p6en/6enp/+np6f/q6un/6erq/+rq6v/p6en/6enp/+np6f/p6en/dHV1/w4ODv/q6ur/6urq/+np6f/q6ur/6enq/+rq6v/q6ur/6urq/+rq6v/r6+v/AAAA/wAAAP/r6uv/6urr/w4ODv9YWFj/6+vr/+vr6//r6+r/6+vr/+rr6//r6+v/6+vr/+vr6//r6+v/6+zs/+rp6v/q6ur/6urq/+rq6v/q6ur/6uvr/+rr6v/q6ur/6urq/+rq6v/q6ur/6urr/+vq6//r6+v/6uvr/+vr6//r6+v/6+vr/+vr6//r6+v/6+zs/+zr7P/s6+v/7Ozs/+vr6//r6+z/6+vr/+zr6//r6+v/7Ozs/+zs7P/s7Oz/oaKi/ysrK//r6+v/7Ozs/w4ODv/AwMD/7Ozs/+3s7f/r7Ov/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/t7O3/7e3t/+3s7P/t7e3/7e3t/+3t7f/t7e3/7u7u/+3t7f/u7e3/7e3t/+3t7f/t7e3/7e3t/+7u7f/t7u3/7u7t/+7u7v/s7Oz/7Ozs/+zs7P/s7ez/7Ozt/+3t7f/t7e3/7e3t/+zs7P/s7O3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7u3t/+7u7v/u7u7/7u7u/+7u7v/u7u7/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7+7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u/v/+/u7//v7u//7u7u/+7u7v/u7u7/7+/u/+7v7v/v7+//7u7u/+/v7//v7+//7+/v/+/v7//v7+//7+/w//Dw8P/v7+//8PDw/+/v7//w7/D/7+/v/+/v7//w8O//8PDw//Dw8P/w8PD/7u7u/+/u7v/u7u7/7+7v/+/v7//v7+//7+/v/+/v7//u7u//7+/v/+/u7v/v7+//7+/v//Dv8P/v7+//7/Dw//Dw7//v8O//8PDv//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PH/8PDw//Hx8P/w8PD/8PDw//Dw8P/w8PD/8fDw//Hx8f/x8fH/8fHx//Dw8P/x8PD/8PDw//Dx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hx8P/x8fH/8PDx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9PT0//T09P/09PT/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//29vb/9/f3//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j4+P/39/f/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//b29v/39/f/9vb2//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/r6+w/6+wsP+wsLD/r7Cw/6+vr/+wsLD/r7Cv/6+wsP+vr7D/r6+v/7CwsP+vr7D/r7Cv/6+wsP+wsK//sLCw/6+vsP+wsLD/sbCw/7Cxsf+xsbH/sLCw/7CwsP+wsLH/sbGw/7CxsP+xsbH/sLGx/7Gxsf+wsLD/sLCx/7Cxsf+vr7D/r6+w/7Cvr/+vsLD/sK+v/7Gxsf+wsLH/sbCw/6+wr/+wsK//sLCw/7Gwsf+xsbH/sLCw/7Cwsf+wsbH/sLCw/7Cxsf+wsLD/sLCx/7Cxsf+xsbH/sLCw/7Kysv+xsLD/sLCw/7Cwsf+xsLD/srGx/7Gxsf+xsbH/sbKy/7CwsP+xsbL/sLGx/7Gysf+ysrH/sbGx/7Gysv+ysbH/srGx/7Kxsv+ysrH/srKx/7Gxsf+xsrH/srKy/7Gxsf+xsrL/sbGy/7Kxsv+ysbH/srOy/7Oys/+zs7L/s7Ky/7Gxsf+ysrL/sbGx/7Oysv+ysrP/s7Oy/7Kysv+zs7P/sbGy/7Kxsf+ysbH/sbKy/7Kysf+ysrL/sbKx/7Gxsv+ysrH/sbGx/7Kysf+xsrH/sbGy/7Kzsv+xsrH/s7Ky/7Oys/+zs7L/s7Kz/7Kzs/+ysrL/s7Oz/7Ozsv+zsrL/s7Kz/7Oys/+zs7L/s7Oy/7Kzsv+ysrL/s7Kz/7S0s/+zsrP/srOz/7Kys/+zs7P/tLO0/7O0s/+zs7T/tLO0/7Oysv+zs7T/srKz/7O0s/+0s7P/tLOz/7OztP+0tLT/tLSz/7Ozs/+0s7P/tLS0/7O0tP+0tbX/tLS1/7S0tf+zs7P/tLO0/7O0tP+1tLT/tbW0/7S1tP+1tLT/tLS0/7Oysv+zs7P/tLO0/7OztP+zs7T/tLSz/7SztP+zs7T/s7O0/7SztP+zs7P/tLS0/7O0s/+0tLT/tLOz/7W1tP+0tLP/tbW0/7S1tf+0tbT/tLS0/7S0tf+0tbT/tbW1/7W0tf+0tLT/tbS1/7S0tP+1tLT/tbW0/7S0tf+1trX/tbS0/7S0tP+1tLX/tbS0/7S0tP+1trb/tba2/7a2tv+0tbT/tLW0/7W0tP+1tbX/tba1/7W1tf+2trX/tba1/7W2tf+2tbX/trW2/7a2tf+2tbX/tre2/7e2t/+3t7f/tba1/7W1tf+2tbX/t7e2/7e3tv+3t7f/tre2/7a2tv+0tbX/trW2/7W2tf+1tbX/tra2/7a1tv+1trX/tba1/7W1tv+2trb/tra2/7W1tv+2trb/tra2/7a1tf+3trb/trW2/7e2t/+2trb/t7a3/7a3tv+2trf/t7e2/7e3tv+2trb/t7e2/7a3tv+2trb/t7a2/7e2tv+2t7b/t7i4/7a3tv+2t7f/tra2/7a2t/+3t7f/uLi3/7e3t/+3uLj/tre3/7a2tv+2t7f/t7i4/7i3t/+3uLf/uLe3/7e3t/+3t7f/t7i3/7e3t/+3t7f/uLe3/7i5uf+5uLj/ubi5/7i4t/+3t7f/t7e3/7m4uP+4ubj/uLm4/7m4uf+5uLj/t7e3/7e4t/+3uLf/uLe4/7i3t/+4uLf/t7e3/7e3t/+3t7j/t7e4/7i3uP+3uLf/uLi3/7e3uP+4uLf/ubi5/7i3uP+4ubj/uLm4/7i5uP+4uLn/ubm5/7m5uP+4ubj/ubi4/7m4uf+4ubj/uLm4/7m4uP+5uLj/ubm5/7m5uf+4ubn/uLi5/7i5uf+5ubj/ubm4/7m5uf+5ubn/ubm5/7i5uf+5ubj/ubi4/7m5uf+5ubn/ubm6/7q6uv+5ubr/urm5/7m5uv+5ubn/ubq6/7q6uv+6urv/urq6/7u6uv+5ubr/urq6/7m5uv+6urr/u7q7/7q6u/+6urr/u7u6/7i5uP+5ubn/ubm5/7q5uv+6ubn/ubm5/7m5uf+5urn/ubm5/7m6uf+6urn/ubq6/7m6uv+6urr/urq5/7q6uv+6urr/uru6/7q6uv+7u7r/urq6/7q6uv+7u7r/u7u7/7u7uv+7urr/urq6/7q7uv+6urr/u7u7/7u7u/+7u7v/uru6/7q6uv+6urv/u7u7/7u7u/+7u7v/u7u7/7u7u/+6urr/u7u7/7u7u/+7u7v/u7y7/7y7u/+7u7v/u7u8/7y7u/+8vLz/u7u7/7y8vP+8vLz/vLy8/729vP+8vbz/vLy8/7y8vP+8vLz/vby9/7y8vf+9vLz/vLy8/729vf+7u7v/u7y7/7u7u/+8u7z/vLy8/7y8vP+8vLv/vLy8/7u7vP+7vLv/u7y7/7u8vP+8vLz/vLy8/7y8vP+8vb3/vLy8/729vP+8vLz/vb28/728vP+9vb3/vb29/729vf+8vbz/vLy8/728vf+9vb3/vb29/769vf+9vb3/vr69/7y9vf+9vb3/vb29/729vf++vb7/vr29/729vv++vb3/vb29/769vv+9vb3/vb69/76+vv++vr7/vr2+/76+vv++vr7/vr6+/76+vv+/v77/vr6+/76+vv+/vr//v7+//76+vv++vr7/vr++/7++vv++vr//v7+//7+/v/+/v7//vr29/769vv++vb3/vr29/76+vv++vr7/vr6+/76/v/+9vr3/vr6+/72+vf++vr7/vr6+/7++v/+/vr7/vr6+/76+vv+/vr//vr6+/7+/v/+/v7//v7+//7+/v/+/v8D/v7++/7+/v/+/v7//wL+//8DAwP+/v7//v8C//8C/v/+/v7//wMC//8DAv/+/wMD/v8DA/8DAwP+/v8D/wMDA/7/Av/+/wMD/wL+//8C/v//AwMD/wcDA/8DAwP/AwcD/wcHB/8HAwP/BwMD/wcHB/8DAwf/BwcH/wcHB/8HBwv/BwMH/wcDB/8HBwf/BwcH/wcHB/8HCwv/BwcL/wsHC/8DAv//AwMD/v8C//8DAwP/AwMD/wcHA/8HAwP/AwcD/wMDA/8HAwf/AwMD/wMDA/8DBwf/BwcD/wcHB/8HBwf/AwMD/wcHB/8HBwf/BwsH/wcHB/8HBwf/BwcL/wsLC/8HBwf/BwcH/wsLB/8HBwv/BwcH/wsLC/8LCwv/CwsL/wcLB/8HBwf/CwcH/wsLC/8LCwv/DwsP/wsLC/8LDwv/CwsH/wsLC/8LCwv/CwsL/wsLC/8LDwv/Dw8P/wsLC/8LDw//Dw8P/w8PD/8PDw//Dw8P/w8TD/8PExP/DxMP/w8PD/8TDxP/Dw8P/xMTD/8TDw//ExMT/xMTD/8TExP/CwsL/w8LD/8LCwv/CwsP/w8LC/8PDw//CwsP/w8PD/8PCw//DwsL/w8PC/8PDw//Dw8P/xMPE/8PDw//DxMP/xMTE/8PDw//Ew8P/w8PD/8TExP/ExMT/xMTE/8TExf/ExMT/xMTE/8TEw//ExMT/xMTE/8XFxf/FxcT/xcTE/8TExP/ExMT/xMTE/8TExf/ExcX/xcXF/8TExf/FxcX/xMTE/8TExf/ExcX/xMXE/8XExf/FxcX/xcXF/8bGxv/FxcX/xcbG/8XFxv/GxcX/xcXF/8bGxv/Gxsb/xsbG/8bGxf/GxsX/xcXF/8bGxv/Gxsb/xsfH/8bGx//Hx8b/xcTE/8TExf/FxcX/xcXF/8XFxf/Gxcb/xsXG/8bGxv/FxMX/xcXF/8XFxf/Gxcb/xcbF/8bFxf/Fxcb/xsbG/8XGxv/Gxsb/xsbG/8bHxv/Hxsf/xsfH/8fGxv/Hx8f/xsbG/8bGxv/Gx8b/x8bG/8bGxv/Hx8f/x8fG/8fHx//Hx8f/xsfG/8bGx//Hxsb/x8fH/8jHyP/Hx8f/x8fH/8bGx//Hx8f/xsfH/8fHx//Hx8f/yMjH/8jIx//Hx8f/yMfI/8jIyP/IyMf/yMjI/8nIyf/Iycj/yMnI/8jIyf/IyMj/ycjJ/8jIyP/Jycn/ycjI/8nJyf/IyMj/ycnJ/8fHx//IyMf/x8fH/8jHyP/Hx8j/yMjI/8fIyP/IyMj/x8fH/8fHx//IyMj/x8fH/8jIyP/Jycj/yMjI/8jJyf/JyMj/yMjI/8jIyP/Jycj/ycnJ/8nJyv/Jycn/ysnJ/8jIyP/Jycn/yMjJ/8nJyf/Jysn/ycrK/8nKyf/Jysn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Kysr/ycnJ/8rKyv/Jysn/ycnJ/8rKyf/Jysr/ysrK/8vKyv/Kysr/ysrL/8vLyv/Ky8r/y8rL/8vKyv/Ly8v/y8vM/8vLy//LzMv/y8vL/8vLy//Kysr/y8vL/8vLy//MzMv/zMzL/8zLzP/Jycn/ysrK/8nJyv/Kysr/ysvK/8rKyv/Lysr/y8vK/8rKyv/Ky8r/ysrK/8vKyv/Ky8v/y8rK/8rLy//Ly8v/y8vL/8vLy//Ly8v/zMvM/8vLzP/My8v/y8zL/8zMzP/Ly8v/zMvM/8zLy//LzMz/y8vL/8zMzP/MzMz/zczM/8vLzP/LzMv/y8vL/8zMzP/MzMz/zM3N/8zMzP/Mzcz/zMvL/8zMzP/MzMz/zM3M/8zMzP/Nzcz/zMzN/83Nzf/NzMz/zc3N/83Nzf/Ozc3/zs7N/87Ozv/Ozs3/zs7O/83Nzf/Nzc3/zs3N/83Nzv/Ozs3/zs7O/87Ozv/Oz8//zMzM/8zMzP/MzMz/zczM/83MzP/Nzc3/zc3N/83Nzf/Mzcz/zMzN/8zMzP/Nzc3/zc3N/83Nzf/Nzc3/zs3N/83Nzv/Nzc3/zc3O/87Ozv/Ozs7/zs7O/8/Oz//Pzs//zc3O/87Ozv/Ozs7/zs7O/87Pzv/Pz87/zs/O/8/Pz//Ozs7/zs7O/87Ozv/Pz87/zs/P/8/Pz//Pz8//z8/P/87Pzv/Ozs7/z8/O/8/Pz//Pz8//z8/P/9DQ0P/Q0M//0NDQ/9DPz//Pz8//0NDQ/9DQ0P/Q0ND/0dDQ/9HR0f/Q0M//0NDQ/9DQ0P/Q0ND/0NDR/9HQ0P/R0dD/0dHR/87Pz//Pz8//z8/P/9DPz//P0ND/z8/P/9DQz//Q0ND/z8/P/8/P0P/P0M//0M/Q/9DPz//Q0ND/0NDQ/9HQ0P/Q0ND/0dDQ/9HQ0P/Q0dH/0dDR/9HR0f/R0dH/0tHR/9DR0f/R0NH/0NDQ/9HR0f/R0dH/0dHS/9HR0f/S0dL/0dDQ/9HR0f/R0dH/0dLR/9HR0v/R0dL/0dLS/9LS0v/R0dH/0tLR/9LR0f/R0tL/0tLS/9LS0v/S0tL/09LT/9LS0v/T0tP/0tLS/9LS0//S09L/09PT/9PT0//U1NP/0tPS/9PS0//S0tL/09PT/9PT0//T09P/09PU/9PU1P/R0dH/0tHR/9HR0v/S0tL/0tLS/9PT0v/T0tL/09LT/9HS0f/S0tL/0tLS/9PS0v/T09P/09PS/9LT0//T09P/09PS/9PT0//T09P/1NPU/9TU0//T1NT/09PT/9TU1P/T09P/1NTU/9TT1P/U1NT/09PT/9TU1P/U1NT/1dTV/9TT0//U09T/1NTT/9TU1P/U1NT/1NTV/9XU1P/V1dX/1NPU/9TU1P/U1NT/1NTV/9TV1f/V1NT/1dXV/9TU1P/V1dX/1dXV/9XV1P/V1dX/1dXV/9bV1v/W1db/1tbW/9XV1f/V1dX/1dXV/9bW1f/V1db/1tbW/9XV1f/W1tb/1NTU/9TV1f/V1dT/1NXV/9XU1f/V1dX/1NTV/9XV1f/U1NT/1NXU/9XV1f/U1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1db/1tbV/9XW1v/W1tb/1tbW/9bW1v/W1tb/1tbV/9bW1v/W1dX/1tbW/9bW1v/X19f/1tbW/9fW1//W1tb/1tbW/9bW1v/W1tb/1tbW/9fX1//W19b/19fX/9bW1v/W19f/1tbW/9bX1v/X19f/19fX/9fX1//X19f/19fX/9fY2P/X19f/2NfX/9jY2P/Y2Nj/2NjY/9jY2P/X19j/2NjY/9fY1//Y2Nj/2NjY/9jZ2P/Y2Nj/2djZ/9fX1v/X19f/19fX/9fX1//X19f/19fY/9fX1//Y19f/19fX/9fX1//X19f/19fX/9fY2P/Y2Nj/19jX/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Y2Nj/2dnZ/9jY2P/Z2Nj/2NjY/9jY2P/Z2dn/2dnZ/9nZ2f/Z2dn/2djY/9nZ2f/Y2Nn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2v/Z2dn/2dnZ/9nZ2f/Z2dn/2dra/9ra2v/Z2tr/2tra/9ra2v/a2tr/2tra/9ra2v/b29v/29vb/9rb2//b29v/2tra/9ra2//a2tr/29rb/9vb2//b29v/29vb/9vb2//Z2dn/2dna/9nZ2f/Z2dr/2tra/9ra2v/a2tr/2tra/9rZ2f/a2tr/2drZ/9ra2v/a2tr/2tva/9ra2v/a2tr/2tra/9vb2//a2tr/29vb/9vb2//b29z/29vb/9vb2//b29v/29vb/9vb2//b29v/3Nzb/9zc3P/b3Nz/3Nzc/9vb2//c29z/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3Nzb/9zc3P/b29v/3Nzc/9zc3P/d3Nz/3Nzc/9zd3P/c3Nz/3d3d/9zc3P/d3d3/3d3d/97e3v/d3d3/3t7e/93d3f/d3d3/3d3d/93d3f/d3d7/3t7e/97e3f/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zd3f/d3d3/3d3d/93d3f/c3Nz/3Nzc/9zc3P/c3dz/3d3d/93d3f/d3d3/3d3d/93d3f/e3d3/3d3d/93e3f/e3t7/3t7e/97e3v/e3t7/3t3e/97e3v/d3d3/3t7e/97e3v/f3t7/3t7e/9/f3//e3t7/3t7e/97e3v/e3t7/39/f/9/f3//e397/39/f/97e3v/f3t7/3t7e/97f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4ODf/9/f4P/g4OD/4ODg/+Dg4P/f39//3+Df/+Df3//g4OD/4ODg/+Dg4P/g4OD/4ODg/9/f3//f39//3t7e/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//g3+D/4ODf/+Dg4P/g3+D/4ODg/+Dg4P/g4OD/4ODg/+Dh4P/h4OD/4eHh/+Dg4P/g4OD/4ODg/+Hg4f/h4OH/4eHh/+Hh4f/h4eH/4ODg/+Dh4P/h4OD/4eHh/+Hh4f/h4eH/4eHh/+Hi4f/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Lh4f/h4eH/4uLi/+Hi4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Lj4//j4+P/4uLi/+Li4v/i4uL/4uLi/+Pj4v/j4+P/4+Pj/+Pj4//h4eH/4eHh/+Hh4f/h4eL/4uHh/+Li4v/i4uL/4uLi/+Hh4f/h4eL/4eHh/+Li4v/i4uL/4uLi/+Li4v/j4uP/4uLi/+Lj4v/i4uP/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//i4+L/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P/j4+P/4+Tj/+Pj4//j4+P/4+Pj/+Pj4//j4+T/5OTk/+Tk5P/k5OT/4+Pj/+Tk5P/j4+P/4+Pk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eTk/+Tk5P/l5OT/5eXl/+Xl5f/l5eX/5eXl/+Tk5P/l5eX/5OTl/+Xl5f/l5eX/5uXl/+Xl5f/m5uX/4+Pk/+Tk5P/k5OP/5OTk/+Tk5P/l5OX/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OXk/+Xl5f/k5eT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/m5eX/5ebm/+Xm5f/m5ub/5eXl/+Xm5f/l5eX/5ubl/+Xm5v/m5ub/5ubm/+bm5v/m5uX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5+bm/+Xm5v/m5ub/5ubm/+bm5v/m5ub/5ubn/+fm5v/n5+f/5ufn/+fn5//n5+f/5+fn/+fn5//o6Oj/5+jo/+jo6P/n5+f/5+fn/+fn5//o6Oj/6Ofn/+jo6P/n6Oj/6Ojo/+bm5v/m5ub/5ubm/+fm5//m5ub/5+fn/+fn5//n5+f/5ubm/+bm5//m5ub/5+fn/+fn5//n5+f/5+fn/+fo5//n5+f/5+fn/+fn6P/n6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fn5//o6Oj/5+fo/+jo6P/o6Oj/6Ojp/+jo6P/p6en/6Ojo/+jo6P/o6Oj/6Ojo/+no6f/p6en/6Ojp/+np6f/o6Oj/6Ono/+jo6P/p6ej/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+rp6v/q6ur/6urq/+rq6v/q6ur/6enp/+rp6f/p6ur/6urq/+rq6v/q6ur/6urq/+vr6//p6ej/6enp/+np6P/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+nq6v/q6ur/6enq/+rq6v/q6ur/6urq/+rq6v/r6ur/6urq/+vr6//q6ur/6urq/+rq6v/q6ur/6uvr/+vr6//q6ur/6+vr/+rq6v/r6+v/6urr/+vq6//r6+v/6+vr/+vr6//r6+v/6+rr/+vr6//r6uv/6+vr/+vr6//r7Ov/6+vr/+vs7P/r7Oz/7Ozr/+zs6//s7Oz/7Ozs/+zs7P/s7Oz/7O3s/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7O3s/+3t7P/s7e3/6+vr/+vr6//r6+v/6+vr/+zs6//s7Oz/7Ozr/+zs7P/r6+v/6+vr/+vr6//r7Ov/6+zs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zt7f/t7Oz/7e3t/+3s7P/t7e3/7Ozs/+3t7f/t7O3/7ezt/+3t7f/t7e3/7e3t/+3t7f/s7Oz/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e7u/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3u/+3u7f/u7u7/7e3u/+7u7v/u7u7/7u7u/+7u7v/u7+//7u7u/+7u7//u7u7/7u7u/+7u7v/v7+//7+/v/+/v7//v7u7/7+/v/+3t7f/t7u3/7e3t/+3u7v/u7u3/7u7u/+7u7v/u7u7/7u7u/+7u7v/t7e3/7u7u/+7u7v/u7u7/7u7u/+/u7//u7u7/7u/u/+/v7v/v7+7/7+/v/+/v7//v7+//7+/v/+/u7//v7+//7u7u/+/v7//v7+//7+/v/+/v7//v8O//7+/v/+/v7//v7+//7+/v//Dw8P/v8PD/7/Dw//Dw8P/v7+//8PDv/+/v7//w8PD/8O/w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8PH/8fHx//Hw8P/x8fH/8PDw//Hw8f/w8PD/8fDx//Hx8f/x8fH/8fHx//Hx8f/v7+//8PDw/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDw/+/v7//w8PD/8PDw//Dw8P/w8PD/8PHx//Dw8P/w8fD/8fDx//Hx8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//y8vL/8/Pz//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9PT0//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//b29v/39/f/9vb2//b29v/29vb/9vb2//f39//39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//f39//39/f/9/f3//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//j4+P/5+fn/9/f3//f39//39/f/+Pj4//j4+P/4+Pj/+Pj4//j4+P/39/f/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5+fn/+fn5//n5+f/5+fn/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f+wr6//sLCw/7Cwsf+wsLH/sLGw/7GwsP+xsbH/sLCx/7Cwsf+wsbH/sbCx/7Cxsf+wsbH/sLGx/7CwsP+xsLD/sLCx/7Kysv+xsLH/sbKy/7Kysv+xsrH/srGx/7Kxsv+wsbD/srGy/7Gxsv+ysbH/sbKx/7Kxsf+ysbL/sbGx/7Gxsf+xsLD/sbCw/7CxsP+xsLD/sbGw/7GxsP+xsbH/sbCw/7Cxsf+wsbH/sLCx/7CxsP+xsbL/sbKx/7Kysf+ysbH/srGy/7Gysv+ysbH/sbGy/7Kxsv+ysrL/srGx/7Kysv+ysbH/srKy/7Gxsf+ysbH/srKy/7Gxsv+ys7L/sbGy/7Gysv+xsrH/sbGy/7Kzs/+ysrP/srKy/7Kzsv+xsbL/srKy/7Kxsv+ysrL/srKy/7Oysv+zs7L/s7Ky/7Kzs/+ys7L/srKy/7Kys/+zs7L/tLOz/7O0s/+zs7P/s7Ky/7Ozs/+zsrP/s7O0/7Szs/+0tLP/s7O0/7OztP+ys7P/s7Oy/7Kzs/+ys7L/srKz/7Kzsv+zs7L/srOz/7Kys/+zsrL/s7Ky/7Kzsv+zsrP/srOy/7Kysv+0tLP/s7Kz/7Szs/+ztLP/tLSz/7S0s/+zs7P/tLS0/7O0s/+zs7T/s7S0/7OztP+zs7T/s7Oz/7OztP+zs7P/tLW1/7SztP+0s7T/tLS0/7S0tP+zs7T/tbW1/7W0tf+0tLT/s7O0/7O0s/+ztLP/tLS1/7W1tP+0tLX/tbW0/7S0tP+1tbX/tLW0/7S0tf+1tLX/tLS1/7W2tv+1tbX/trW2/7W0tP+1tLT/tLS0/7W1tf+2tbb/tbW1/7W2tf+2trX/s7Sz/7S1tP+1tbT/tLS0/7W0tP+0tbT/tbW0/7S0tf+0tbT/tbW1/7S1tP+0tbT/tLW0/7S0tf+1tLT/tbW1/7W0tP+1trb/tba2/7a1tf+1trX/tba1/7W1tv+2trX/tbW2/7W2tv+2trX/tra1/7W1tv+1tbb/trW2/7W1tf+1trb/tba1/7a1tv+1trb/tbW2/7e3t/+2trX/tre2/7W1tf+2tbb/tba2/7a2tf+3trb/t7e3/7e3t/+3trb/tre3/7e2t/+3t7b/tra2/7a3t/+4uLf/t7i4/7e4uP+2t7f/t7e2/7e2t/+3uLj/t7e3/7i3t/+3t7f/uLi3/7a1tf+3trb/tra1/7e3t/+3trb/tra3/7a2tv+2trf/tre3/7e3t/+2trf/t7a2/7a2t/+3t7f/tra2/7i3uP+2trb/t7i4/7e3uP+3uLf/uLe3/7e3t/+4t7j/uLi3/7e3t/+3uLj/t7i4/7i3uP+4t7f/t7e4/7e3t/+5uLj/uLe3/7e3t/+3t7j/uLe3/7i3uP+4uLj/ubi5/7m4uf+3uLf/t7e3/7e4t/+5ubj/uLm4/7m5uP+4uLj/uLi4/7i5uP+4ubj/uLi5/7i4uP+5ubj/ubm5/7m5uf+5ubr/ubi5/7m5uf+5ubj/ubm5/7m5uf+5urr/urq6/7q5uv+3t7f/uLi5/7i4uf+4uLn/uLm5/7m4uf+5uLn/uLm4/7i5uP+4uLj/uLi5/7m4uP+4ubn/ubm5/7m4uP+5ubn/uLm5/7m5uf+5ubn/ubq5/7q6uf+5urn/ubm5/7q5uf+5ubn/urm5/7m6uv+6ubn/urm5/7q6uv+5urr/urq6/7q5uf+6urn/ubq5/7q5uv+6urr/u7u6/7q6uv+7u7r/urm5/7q6uv+5urr/urq6/7u6u/+7urr/uru6/7u6u/+6urr/uru7/7u6uv+7u7v/u7u7/7u8u/+7u7v/vLu8/7q7uv+7u7v/u7u7/7u7u/+8vLv/vLu7/7y8vP+8vLv/urq6/7q6uv+6urr/u7u6/7u7u/+6urv/u7q6/7u7u/+6urr/uru6/7q6u/+6u7r/uru7/7u7u/+7u7v/u7u7/7u7u/+8u7v/u7u7/7y7vP+8u7v/vLy8/7u8u/+8vLz/u7u7/7u8u/+7u7v/vLu8/7y8vP+8vLz/vLy8/7y9vf+7vLv/vLy8/7y7vP+8vLz/vLy8/7y9vP+9vb3/vL28/7y8vP+8vLz/vLy8/728vP+8vLz/vLy9/728vf+9vb3/vLy9/729vf+9vb3/vb29/76+vv++vr7/vr6+/729vf+9vb3/vr6+/729vf+9vr3/vr6+/76+vv++vr3/vr6+/7y8vP+8vb3/vLy9/729vf+8vbz/vb29/728vf+9vb3/vby9/7y8vP+8vbz/vL28/729vf+9vr3/vLy8/729vf+9vb3/vr2+/729vf++vr7/vr6+/76+vv++vb3/v76//72+vv+9vr3/vb2+/769vv+9vb3/vr6+/76/vv++vr7/vr6+/76+vv++vr7/vr+//7+/v/++v7//vr6//7+/v/++vr7/v7++/7+/v/+/v7//v7++/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/wP+/wMD/wMDA/8C/wP/AwMD/wMDA/8DAwP/AwMD/v7+//8DAwP/AwMH/wMDA/8DAwf+/vr7/vr+//76/vv+/v7//v7+//7/AwP+/v7//wMDA/76/vv+/v7//v7+//7+/v/+/v7//wL+//7+/v/+/wL//v8C//8DAwP/Av8D/wMDA/8HAwf/BwMD/wcDA/8HAwP/AwMD/wcHA/8DAwP/AwMH/wcDA/8DAwP/AwMH/wcHB/8HBwP/BwMH/wcHB/8DBwf/AwMD/wcHB/8HBwf/BwcH/wcHA/8DBwf/AwcH/wcHB/8HBwf/CwsH/wcHC/8HCwf/BwcL/wcHC/8LCwf/CwsL/wsLC/8LDwv/CwsL/wsLC/8LBwv/CwsL/wsLC/8LCwv/DwsL/wsLC/8PCw//Cw8P/wcDB/8HBwf/BwcH/wcLC/8LBwf/BwsL/wsHB/8LCwv/BwcH/wcLB/8HBwv/CwcH/wsLB/8LCwv/CwsL/wsLC/8LCwv/CwsP/wsLC/8PDw//Dw8P/w8PD/8LCw//Dw8P/w8PD/8PCwv/Cw8L/w8LC/8PDw//ExMP/w8PD/8TExP/Dw8L/w8PD/8PCwv/Dw8P/xMTD/8TDw//Dw8T/xMTE/8PDw//DxMP/w8PD/8PDw//Dw8P/xMTE/8PDw//ExMT/xMTE/8TExP/ExMT/xcTE/8XExf/ExMX/xcXE/8XFxf/ExMT/xMTF/8XExf/FxcT/xMTE/8XFxf/FxcX/xsbF/8PDw//DxMP/w8TE/8PEw//ExMT/xMTE/8TExP/ExcT/w8PD/8TExP/ExMT/xMTE/8TExP/FxcX/xMTE/8XExf/ExcX/xcTE/8TExf/FxcX/xcXF/8bFxv/Gxcb/xsXG/8XExf/FxcX/xcXF/8bGxv/Fxcb/xcXF/8bFxf/Gxsb/xcXF/8bFxf/GxcX/xsbF/8bFxf/Gxsb/xsbG/8bHx//Fxcb/xsbF/8XFxf/Gxsb/xsbG/8fHxv/Hxsb/xsbG/8bGx//Hx8b/xsfG/8fHx//Hx8f/x8jI/8fHx//Hx8f/xsfG/8fHx//Gxsf/x8fH/8jIyP/IyMj/yMjI/8jIx//Fxsb/xsbG/8bGxv/Gx8f/xsbH/8bGx//Gxsf/xsbG/8bGxv/Hxsb/x8fG/8bHx//Hx8b/x8fH/8bHx//Hx8f/x8fH/8fHx//Hx8f/x8jH/8jIyP/IyMj/yMjH/8jIyP/Ix8j/x8fI/8fHyP/Hx8j/yMjI/8jIyP/IyMj/ycnI/8jHyP/IyMj/yMjI/8jIyP/IyMj/ycjJ/8nIyP/JyMj/yMjI/8jJyf/IyMj/yMjI/8nIyP/Jycn/yMnJ/8nJyf/Jycn/ycnJ/8nJyf/Kysn/ycrJ/8rKyv/Kysr/ysrK/8nKyv/Jysn/ycrK/8rKyf/Kysr/ysrL/8rKyv/Lysv/yMnJ/8nJyf/Jycj/yMnI/8nJyf/Jycn/ycnJ/8rJyv/JyMn/ycnJ/8nIyf/Jycn/ysrJ/8nJyf/Kycn/ycrK/8rJyv/Kysr/ysnK/8rKyv/Kysr/ysrK/8rKyv/Ly8r/ysrK/8rKyv/Kysr/y8vL/8vKyv/Kysr/ysvK/8vLy//Kysv/ysrL/8rLy//Kysr/ysvK/8vLy//Ly8v/y8zL/8rLy//Ky8v/ysrK/8vLy//Ly8v/y8zM/8vMzP/My8z/y8vL/8zLy//LzMv/zMzM/8zMzP/Mzcz/zc3M/8zMzf/Ly8z/zMzM/8zMzP/Mzcz/zM3M/83Nzf/NzM3/zc3N/8rKyv/Ly8v/y8vL/8vMzP/LzMz/zMzL/8vMzP/MzMz/y8vL/8vMzP/My8v/y8vL/8vMy//MzMz/zMzM/8zNzP/MzMz/zczN/83Nzf/Nzc3/zczM/83Nzf/Nzc3/zs7N/83Mzf/MzM3/zM3N/83Nzf/Nzc3/zc7N/87Nzf/Ozs3/zMzM/83Nzf/Nzc3/zs3O/83Ozf/Nzc7/zc7N/87Ozv/Nzc3/zc7O/87Nzv/Nzs3/zs7N/87Ozv/Ozs7/zs7P/87Ozv/Pz8//zs7O/87Oz//Pzs//z8/P/8/Pz//Qz8//z87O/87Ozv/Pzs//z8/P/8/Pz//Pz9D/0M/Q/8/Pz//Ozs7/zs3O/83Nzv/Ozs7/zs7O/87Ozv/Pzs7/zs7O/83Ozf/Ozs7/zs7O/87Pzv/Oz8//z8/O/87Ozv/Pz8//z87P/8/Pz//Pz8//0M/Q/9DQz//Pz8//z9DQ/9DQ0P/Pz8//z8/Q/9DP0P/Qz9D/z8/P/9DQ0P/Q0ND/0NHQ/8/Qz//Qz9D/z9DP/9DQ0P/Q0ND/0dHR/9DQ0f/Q0ND/z8/P/9DQ0P/Q0ND/0NDR/9HQ0P/R0dD/0NHR/9HR0f/Q0NH/0dHR/9HR0f/R0dL/0dHS/9HR0v/S0dH/0tLS/9HR0f/S0dL/0tHS/9HS0v/R0dH/0tLS/9LS0v/T09L/0NDQ/9HR0P/Q0dD/0dHQ/9DQ0P/R0dH/0dHR/9LS0v/Q0dH/0NDQ/9HQ0P/R0dH/0dHR/9HR0f/S0dL/0tHS/9HR0v/R0dH/0tLR/9LS0v/S0tL/09PS/9PS0v/S09L/0dLR/9LS0v/S0tL/09LT/9PS0v/T0tL/09PT/9PT0//S0tL/0tLT/9PT0//S09L/0tLS/9PT0//T09P/1NPU/9LS0v/S09P/0tLS/9PT0//T09P/1NPU/9TT0//T09P/09TT/9TT1P/T1NP/1NTU/9TU1P/U1NX/1NTU/9XU1P/U1NP/1NTU/9TU1P/U1NT/1NTU/9XU1f/U1dX/1dXV/9PS0//T09P/09PT/9PU1P/T09P/1NTT/9TT0//T09P/09PT/9PT1P/U09P/09PT/9TU1P/U1NT/09PU/9TU1P/U1NT/1NTV/9TU1P/V1NT/1NXU/9XV1f/U1NX/1dXV/9TV1f/V1dT/1NTU/9XU1f/V1dX/1dXV/9XV1f/V1dX/1NTU/9XV1f/U1dT/1dXV/9XV1f/V1tX/1dXV/9XV1v/V1dX/1dXV/9XV1f/V1dX/1tXV/9bW1v/V1dX/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tf/19fX/9fX1//X19f/1tbW/9fX1v/W1tb/1tbX/9fX1//X19f/19fX/9fX1//V1dX/1dbV/9XV1f/V1tX/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1dXW/9bW1v/W1tb/1tfX/9bW1v/W1tf/19bW/9fX1//X19f/19fX/9fX1//X19j/19fX/9jY1//X19f/19fX/9fX1//X19f/19fX/9jY2P/Y2Nf/2NjY/9fX1//Y19f/19fX/9jY1//Y2Nj/2NjY/9jY2P/Y2Nj/2NjX/9jY2P/Y19f/2NjY/9jY2P/Z2Nn/2NjY/9jZ2P/Z2dj/2dnZ/9nY2f/Z2dn/2dnZ/9ra2f/Z2dn/2tnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/a2dn/2tra/9rZ2v/a2tr/2NjY/9jY2P/Y2Nj/2NjY/9jZ2f/Z2dn/2NjZ/9nZ2f/Y2Nj/2djY/9jY2P/Z2Nn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2v/a2tr/2tra/9ra2v/a2tr/2tna/9ra2v/Z2tr/2tra/9ra2v/a29v/2tra/9vb2v/a2tr/2tra/9ra2v/a2tr/2tra/9vb2//a29r/29vb/9ra2v/b29v/2tra/9ra2//b29v/29vb/9vb2//b29v/29vb/9vb3P/b29v/29zc/9zc3P/c3Nz/3Nzc/9zc3P/b3Nz/3Nzc/9vb2//c3Nz/3Nzc/93d3P/c3Nz/3Nzd/9ra2v/b29v/29rb/9vb2//b29v/29zb/9vb2//c3Nv/29vb/9vb2//b29v/29vb/9zc3P/c3Nz/3Nzb/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzd/93d3f/d3N3/3d3d/9zc3P/c3Nz/3Nzc/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/93d3f/d3N3/3d3d/93d3f/e3t3/3d3d/97e3f/d3d3/3d3d/93d3f/d3d3/3t7d/97e3v/e3d3/3t7e/97e3v/e3t7/3t7e/97e3v/e39//39/f/97e3//f39//3t7e/9/e3//e3t7/397e/97f3//f39//39/f/9/f3//d3d3/3d7d/93d3f/e3d3/3t7e/97e3v/e3t7/3t7e/93d3f/e3t7/3d3e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97f3v/f3t//39/f/9/f3//f39//39/f/9/g4P/e3t//39/f/9/f3//f39//39/f/9/g4P/f4OD/4ODg/9/f3//f39//39/f/9/g4P/g3+D/4ODg/+Dg4P/g4OD/39/f/9/f4P/g4N//4ODg/+Dg4P/g4OD/4ODg/+Dh4P/g4OD/4eHh/+Hh4P/h4eH/4eHh/+Hh4f/h4eH/4eLh/+Dg4f/h4eH/4eHh/+Hh4f/h4eH/4uLh/+Hh4v/i4uL/4N/f/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/+Hh4f/g4OD/4ODg/+Dg4P/g4eD/4eDg/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/i4uH/4uLi/+Li4v/i4uL/4eHh/+Hh4f/h4eH/4uLi/+Li4v/i4uL/4uLi/+Pi4v/h4uL/4uLi/+Li4v/i4uL/4uLi/+Pj4//i4uL/4+Pj/+Li4v/i4uL/4uLi/+Pi4//i4uP/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pk5P/k5OT/5OTk/+Tk5P/j4+P/4+Pj/+Pj4//k5OP/5OTk/+Tk5P/k5OT/5OTk/+Li4v/i4+P/4uLj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uLi/+Pj4//i4+P/4+Pj/+Pj4//k5OT/4+Pj/+Pj4//j4+P/5OTk/+Pk4//k5OT/5OTk/+Xk5P/k5OT/5eXk/+Tk5P/k5OT/5OTk/+Tk5P/l5eX/5eXl/+Xk5P/l5eX/5OTk/+Tk5f/k5OT/5OTk/+Xl5f/l5eX/5eXl/+Xl5f/l5OX/5eXl/+Xk5P/l5eX/5eXl/+Xl5f/l5eX/5ubl/+bl5v/l5eb/5uXl/+bm5v/m5ub/5ubm/+bm5v/m5+b/5eXl/+bm5v/m5ub/5ubm/+bm5v/n5+f/5ubm/+fn5//l5eX/5eXl/+Xl5f/l5eX/5eXm/+Xm5v/l5uX/5ubm/+Xl5f/l5eX/5eXl/+bm5v/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubn/+fm5v/n5+f/5+fn/+fn5//m5ub/5+bm/+bm5v/n5+f/5+fn/+fn5//n5+f/5+fo/+bm5v/n5+f/5+fn/+fn5//n5+f/5+jn/+fo5//o5+f/5+fn/+fn5//n5+f/6Ojn/+fn5//o6Oj/6Ofo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+np6f/o6Oj/6enp/+jo6P/p6Oj/6Ojo/+jo6P/p6en/6enp/+np6f/p6en/5+fn/+fn6P/n5+f/5+fn/+jo6P/o6Oj/6Ojo/+jo6P/n5+j/6Ojo/+fo6P/o6Oj/6Ojo/+jp6f/o6Oj/6ejo/+no6f/p6en/6ejo/+np6f/p6en/6enp/+np6f/p6er/6enp/+np6f/p6en/6enp/+np6f/p6en/6urp/+rq6v/p6en/6enp/+np6f/q6en/6enp/+rq6v/q6ur/6urq/+np6f/q6ur/6unp/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+vr6v/q6ur/6+rq/+vr6//r6+v/6+vr/+vr6//r6+r/6+vr/+vq6//r6+v/6+vr/+zs6//r6+v/7Ovr/+np6f/q6ur/6urq/+rq6v/q6ur/6+vq/+rq6v/r6uv/6urq/+rq6v/q6ur/6urq/+rr6v/r6+v/6+vq/+vr6//r6+v/6+vr/+vr6//r6+v/6+vs/+zr7P/s7Oz/7Ozs/+vr6//s7Oz/6+vr/+vs7P/r7Ov/7Ozs/+zs7P/s7Oz/6+vs/+zr6//s7Ov/7Ozs/+zs7P/s7Oz/7Ozs/+3t7P/r6+z/7Ozs/+zs7P/s7Oz/7Ozs/+3s7P/t7e3/7O3t/+zt7P/t7e3/7e3s/+3t7f/t7e3/7u7u/+3t7f/u7e7/7e3t/+3t7f/t7e3/7e3t/+7t7f/t7e3/7u3t/+7u7v/s7Oz/7Ozs/+zs7P/s7O3/7ezs/+3t7f/t7Oz/7e3t/+zs7P/t7ez/7Ozs/+3s7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+7t7v/t7e3/7e7u/+7t7f/u7u7/7u7u/+7u7v/u7e7/7u7t/+7u7v/u7u7/7u7u/+7u7v/u7u7/7+7u/+7u7f/u7u7/7u7u/+7u7v/u7u7/7u/v/+/u7//v7u7/7u7u/+7u7v/u7u7/7u/v/+7v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Dv7//v7/D/8PDw/+/v7//v7+//7+/v/+/w8P/v8PD/8PDw//Dw8P/w8PD/7u7u/+7v7v/u7+//7u7u/+/v7//v7+//7+/v/+/v7//v7u7/7+/v/+7v7//v7+//7+/v/+/v7//v7+//8O/v/+/v7//v8PD/8O/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dx8P/w8PD/8PDw//Dw8P/w8PD/8PDx//Hx8f/w8fH/8fHx//Dw8P/w8fD/8PDw//Hx8P/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hx8P/x8fH/8PHw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//Pz8//09PT/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9PT0//T09P/09PT/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//29vb/9/f3//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j4+P/39/f/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//b29v/29vb/9vb2//f39//39/f/9/f3//f39//39/f/9vb2//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//j4+P/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6+vr/+fn5//r6+v/5+fn/+fn5//n5+f/5+fn/+vr6//r6+v/6+vr/+vr6/7CwsP+wsLH/sLCw/7Kxsf+ysrL/sbKx/7Gxsf+xsrH/sbGw/7Kxsv+ysbH/sbGx/7Kxsv+ysbL/sbKy/7Gysf+ysrH/sbGx/7Kxsf+xsrH/srOy/7Ozsv+zsrP/srOz/7Gysv+ys7L/sbKy/7Ozsv+zs7L/s7Kz/7Kzs/+ysrL/srGx/7Kxsf+xsrH/sbKy/7Kxsf+xsbL/sbGy/7Kysf+xsrL/sbGx/7Kxsv+ysbH/sbKy/7Ozsv+xsbH/s7Oy/7Oys/+zs7L/s7Oy/7Kzsv+zsrP/s7Ky/7Oysv+zs7P/srKz/7Ozs/+ys7L/srOz/7Kysv+zsrL/srOy/7OztP+zs7L/s7Kz/7Kzs/+ys7P/srOz/7SztP+0tLT/s7Oz/7Ozsv+ys7P/srOy/7Ozs/+0tLP/tLOz/7SztP+ztLT/s7Oz/7SztP+0s7P/s7S0/7S0tP+1tbX/tLS1/7W1tf+ztLP/tLOz/7O0s/+1tbT/tLS1/7S1tP+0tbT/tLS1/7Oys/+0tLT/tLO0/7SztP+zs7T/s7Sz/7Ozs/+0tLP/tLS0/7Ozs/+ztLP/s7O0/7O0s/+0s7T/s7Oz/7S0tf+0s7P/tbS1/7S1tP+0tbT/tbS1/7S0tf+1tLT/tLW0/7S0tf+0tLT/tLS0/7S0tf+1tbX/tbW1/7W1tf+2tbX/tLS0/7S0tP+0tLT/tbS1/7W0tf+2trX/tba2/7a2tv+1tLX/tLW0/7S0tf+2trb/trW2/7W1tv+2trX/tba2/7a1tv+1tbX/tra1/7a1tv+1trb/tra2/7a2tf+2trb/trW2/7a2tv+1tbb/tra2/7a2tv+2t7b/t7e2/7a2t/+0tbX/trW2/7W2tv+1trX/trW1/7a1tv+2trX/tba1/7W1tv+1trX/tra2/7W1tf+2trb/tba1/7a2tf+1trb/tbW1/7e3tv+2trb/t7a2/7e2t/+2trf/t7a3/7a3tv+2t7b/tra2/7e2tv+2trf/t7e3/7a2t/+2t7b/uLe3/7a2tv+2trb/tre2/7e3t/+3trf/uLe4/7i4uP+3t7f/t7a3/7e2tv+3t7b/t7e3/7e4uP+3t7f/uLe4/7e4t/+3t7j/uLi3/7e3t/+4uLf/uLe3/7m5uf+4ubn/uLm4/7i4t/+3t7j/t7e4/7i5uP+5ubn/ubm5/7i4uP+4ubj/t7e3/7i3uP+4uLf/uLi3/7e3t/+4t7f/uLe3/7i3uP+4t7j/t7i3/7i3t/+4uLj/t7e4/7i3uP+3uLj/ubi4/7i4uP+5ubn/uLm4/7m5uP+5uLn/uLi4/7i5uP+5uLj/uLi5/7m5uf+5uLn/ubm5/7i4uf+4ubn/uLi5/7m5uf+4ubn/uLm4/7i4uP+4uLn/uLi4/7m5uf+5ubn/urm5/7i5uP+5ubn/uLm5/7m5uf+5ubn/ubm6/7m5uv+6urn/ubq5/7m5uf+6ubn/urq5/7q6uv+6urr/urq6/7q6uv9cXV3/Li4u/3+Af/8XFxf/Li4u/y4uLv8AAAD/AAAA/7i5uf+5ubn/ubm5/7m6uf+6ubn/urq6/7m5uf+5urr/ubm5/7m6uf+6ubn/ubq6/7m5uv+6urr/ubm5/7q6uv+6urr/XV1d/7q6uv9dXV3/AAAA/wAAAP8AAAD/AAAA/7q6uv9dXV3/urq7/11dXf8AAAD/AAAA/wAAAP8AAAD/u7u6/7q6uv+6u7v/u7u7/7u7u/+7u7v/u7u7/7u7vP8uLi7/Li4u/zo6Ov9dXV3/Li4u/y4uLv9dXl7/Ojo6/7u8u/+8vLz/vLu8/7y8vP+8vLz/vby9/728vP+8vL3/Li4u/y4uLv8AAAD/AAAA/4GBgf+8vbz/Ojo6/7y8vf+7u7v/vLu7/7u7u/+8vLv/u7u8/7y8vP+8u7v/vLy8/7u8vP+7u7z/u7y8/7u7u/+7vLv/vLy8/7y8vP9pamr/mZmZ/wsLC/+8vL3/gYKB/wAAAP+xsbH/AAAA/3Z2dv+ZmZn/vby8/wAAAP+9vLz/dnZ2/6alpv+9vb3/vb2+/7y9vP+9vb3/vby8/729vf++vr3/vb29/729vf+9vr7/vb29/729vv+9vb3/vb69/729vf++vr7/vb69/76+vv++vr7/vr6+/76+vv++v7//v7++/7++vv++vr7/v7+//76+vv++vr//vr6+/76/vv++vr7/v7+//7+/v/+/v7//vb69/769vf+9vr7/vr29/76+vv++vr7/vr6+/76/vv+9vr3/vr6+/769vv+ysrL/vr6+/76/v/+Ojo7/j46P/7++v/++vr//vr++/7+/v/+/v7//v7/A/7+/v//AwL//vr+//7+/v/+Pj4//j4+P/7/Av//Av7//p6io/5ucm/+/v7//wMDA/7+/v//AwL//wL/A/8DAwP/AwL//wMDA/7/Av/+/wL//wMDA/7+/wP/AwMD/wMHA/8DAwP/BwcH/wcDB/8HAwP/AwcD/wcHB/8HAwP/BwcH/wcHB/8LBwf/BwcH/wcDA/8DAwP/BwcH/wcHB/8LCwf/BwcH/wsHC/7/AwP/AwMD/wL+//8DAwP/AwMD/wMDA/8DAwP/BwMH/wMDA/8HBwf+QkJD/kZGQ/8DBwP/AwMH/kJGQ/6mpqf/AwMH/wcHB/8HBwf/CwsL/wsHC/8LBwf/CwcL/wsLC/8HBwf/BwcH/wcLC/7W1tf/CwcL/wsLC/4WFhf9UVFT/wcLB/8HBwv/CwcH/wsLC/8LCwv/CwsL/wsLC/8LDw//BwcL/wsLC/8LCwv/CwsL/w8LC/8LCwv/DwsP/wsLD/8LDwv/Dw8P/wsPD/8PDw//Ew8T/xMTD/8PDw//DxMP/w8PD/8TExP/Dw8P/w8PD/8PDw//ExMT/w8PE/8TExP/CwsL/wsLD/8LCwv/Cw8L/w8PC/8PDw//DwsL/w8PD/8PCwv/Dw8P/MDAw/8PCw//Dw8P/w8TD/7e3t/+Sk5L/w8PD/8TDw//DxMP/xMPD/8TExP/ExMT/xMTE/8XExP/Ew8T/w8PD/5KTk/+rq6v/xMTE/8XFxf/FxMT/xMXF/8TExP/ExMT/xMTE/8XFxP/ExMT/xMTE/8XFxP/FxcX/xMTE/8TFxP/FxcT/xMTE/8TFxP/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxsX/xsXF/8bGxv/Gxsb/xsbH/8XFxv/Fxsb/xcXF/8bGxv/Gxsb/x8bH/8fGxv/Hx8f/xcXE/8TExP/ExMT/xcXF/8XFxf/FxcX/xcbF/8bGxf/FxcX/xcXF/8XFxf/FxsX/xsbG/8XGxf/GxcX/xsbG/8bFxf/Gxsb/xsbG/8fHx//Gxsb/xsfG/8fGx//Hxsb/xsbG/8bHxv/Gx8f/xsbH/8fHxv/Hx8f/oaGi/5WVlf/Gx8b/xsfH/8bHxv/Gx8b/x8fH/8jIyP/Hx8f/yMfH/8bGx//Hx8f/x8fH/8fHx//Ix8j/x8jI/8fIx//HyMj/x8jI/8jIyP/Ix8f/yMjI/8nJyP/IyMj/yMjI/8jIyf/IyMj/yMnJ/8jIyP/JyMn/yMjI/8nJyf/Iycn/ycnJ/8fHx//Hx8f/x8fH/8fHyP/HyMj/yMjI/8fHx//IyMj/x8jH/8jIx/+VlZX/r66v/8jIyP/IyMj/yMjI/8jJyf/JyMj/ycnJ/8jIyP/Iycn/ycnJ/8nJyf/Jycn/ysrJ/8nIyf/Jycn/yMnJ/8nJyf/Kysr/ycrJ/8nJyv+Xl5f/ycnJ/8nKyf/Jycn/ycrJ/8rKyv/Kysr/ysnJ/8rKyv/Jycr/ysrJ/8nJyv/Kycn/ysrK/8rKyv/Kysr/y8rK/8vKy//Kysv/y8rL/8vLy//Ly8r/y8vL/8vLy//Ly8z/ysrL/8vLy//Kysr/y8vL/8vLy//MzMv/zMvM/8zLzP/Jycr/ysrK/8rKyv/Kysr/ysrK/8vLy//Lysv/y8vK/8nKyv/Kysr/i4uL/2VlZf/Ky8r/y8vL/yUlJf8/Pz//ysrK/8vLy//Ly8v/zMvM/8vLzP/My8v/y8zM/8zMzP/Ly8v/y8vL/8zMzP/MzMz/zMzM/8zMzP+mpqb/mZqZ/8vLy//MzMz/y8vL/8zMzP/MzMz/zM3M/8zMzP/Mzc3/zMvL/8zMzP/MzMz/zczM/8zMzP/MzMz/zM3M/83Nzf/Mzcz/zc3N/83Nzf/Nzs7/zc3O/87Ozv/Nzc7/zs7O/83Nzf/Ozs3/zc7O/83Ozf/Nzs3/zs7O/87Ozv/Ozs7/zMzM/83Mzf/Mzc3/zczM/83MzP/Nzc3/zc3N/83Nzf/NzM3/zMzM/8C/v//Nzc3/zc3N/87Ozv/Nzc7/zc3O/83Ozf/Nzc7/zc3O/87Ozv/Ozs7/p6en/87Pz/+ampr/zc7N/87Ozv+0tLT/jo2O/8/Pz/9aWlr/TU1N/wAAAP/Ozs7/zs7P/87Ozv/Oz8//zs7P/8/Pz//Pz8//z8/P/87Pz//Oz8//zs/P/8/Pz//Pz8//z8/P/8/Q0P/Q0M//0M/P/9DQz//Q0ND/0NDQ/9DQ0P/Q0NH/0dDR/9HQ0f/Qz9D/0NDQ/9DQ0P/Q0ND/0NDR/9HQ0P/R0ND/0dHR/wAAAP+oqKj/AAAA/5ybm//P0M//0M/P/8/Qz//Q0ND/AAAA/5ubnP8AAAD/dXV1/8/P0P/Q0ND/nJyc/52dnP/Q0ND/0dDR/9HR0P/R0dD/0NDQ/9HR0f/R0dH/0tHS/9DR0P/Q0ND/nZyc/9HR0f/R0dH/0tHR/9HS0v/R0dL/0dDR/9HR0f/R0dH/0dHR/9LS0v/R0tH/0tLS/9LS0v/R0dH/0tHR/9HS0v/S0dL/0tHS/9LS0v/S0tL/0tLS/9LS0v/S0tL/09LS/9LS0v/S0tL/09PT/9PT0//U1NP/0tLT/9PS0//S0tP/09PT/9PT0//T1NT/09PT/9PU0//S0dL/0dLS/9HR0f/S0tL/0tLS/9PS0//S0tL/0tLT/9HR0v/S0tL/0tLS/9LS0v/T0tL/09PS/9PT0//T09P/09LS/9PT0//T09P/09PU/9TU1P/U09P/09TT/9PT1P/T09P/1NPU/9TT0//T09P/09TT/9TU1P/T09P/1NTU/9TU0//U1NP/09TU/9PT0//U1NT/1NXU/9TU1P/V1dT/1NPU/9TU1P/T1NP/1NTU/9XV1P/U1NT/1dXU/9TV1P/V1NT/1dXV/9TV1f/V1dX/1dXV/9bV1v/V1dX/1dbV/9XV1f/V1dX/1dXV/9XV1f/W1tX/1tbW/9XW1f/W1tb/1NTU/9XV1P/U1NT/1NTU/9XV1P/V1dX/1NTU/9XV1f/V1dX/1NTU/9XU1P/U1NT/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1db/1dXV/9XW1f/W1tb/1tbW/9bW1v/W1tb/1dbV/9bW1v/V1dX/ycnJ/9bW1v/W1tb/oKCg/2tra//W1tb/1tbW/9bW1v/W1tb/19bX/9fX1//W1tf/19fX/9bW1v/X19b/1tbW/9bX1v/X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9jY2P/Y2Nj/2NjY/9jY2P/X19f/2NjY/9fY2P/Y2Nj/2NjY/9jY2f/Y2Nj/2NjY/9bW1v8NDQ3/1tbW/wAAAP9ra2v/2NfY/2tra//X2Nf/oaGh/wAAAP8NDQ3/AAAA/2tra//Y2Nj/UFBQ/6Kiov/Y2Nj/2NjY/9jY2P/Y2Nj/2djZ/9nZ2f/Y2Nj/2dnZ/9jY2P/Z2Nj/oqKi/6Ojo//Z2dn/2dnZ/8vLy//Z2dn/2dnY/9nZ2f/Y2Nn/2dnZ/9nZ2f/Z2dn/2dnZ/9na2v/Z2dn/2dnZ/9nZ2f/Z2dn/2dna/9ra2v/a2dr/2tra/9ra2v/a2tr/2tra/9ra2v/b2tr/29vb/9ra2//b29v/2tra/9ra2v/a2tr/2trb/9vb2//b29v/29vb/9vb2//Z2dn/2dna/9nZ2f/a2tr/2tra/9ra2v/a2tr/2tra/9rZ2v/a2tr/2tnZ/9ra2v/a2tr/2tra/9ra2v/a2tr/2trb/9vb2//b2tr/29vb/9vb2//b29z/29vb/9vc2//b29v/29vb/9vb2//AwMD/29vc/9zc3P+kpaT/paWl/9vb2//b3Nz/29vb/9zb2//c3Nz/3Nzc/9zc3P/c3Nz/29vb/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3f/c3dz/3d3d/93d3P/d3d3/3d3d/97d3v/d3d3/3d7e/93d3f/d3d3/3d3d/93d3f/d3d7/3t7e/97d3v/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/d3d3/3Nzc/93d3f/c3Nz/3Nzc/7Ozs//d3N3/3d3d/93d3f/d3d3/3d3d/93d3f/d3t3/3d3d/97d3v/e3t7/3t7e/97e3v/e3t7/3d7e/97e3v/e3t3/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97f3v/e397/39/f/97e3v/e3t7/3t7e/97e3v/f397/39/f/9/f3//f39//39/f/9/f3//f39//39/g/9/g4P/g4OD/4ODg/+Dg4P/f39//39/f/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4OHh/97e3v/f3t7/39/f/9/f3//f39//39/f/9/f3//g39//397f/9/f3//f39//39/f/9/f3//f39//3+Df/+Dg4P/g39//4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/4eHh/+Dg4P/g4OD/4ODg/+Hg4f/h4OH/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/h4OH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/g4OH/4eHh/+Hh4f/h4eH/4eHh/+Li4f/h4eL/4uLi/+Lh4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Li4//i4+P/4uLi/5ubm/9UVFT/AAAA/0ZGRv84ODj/AAAA/xwcHP/h4eH/4eHh/+Hh4f/h4uH/4eHi/6mpqf/i4uL/RkZG/+Hh4f/i4eL/4uHh/+Li4v/i4uL/ODg4/+Li4v9GRkb/AAAA/wAAAP8AAAD/RkZG/6qqqv/j4+P/4+Pj/+Pj4/8AAAD/VVVV/wAAAP8NDQ3/4+Pj/+Pj5P/Hx8f/5OPj/+Pj4//j4+P/4+Pj/+Pj4//j4+T/5OTk/+Pj4//k5OT/ODg4/1VVVf8cHBz/AAAA/4CAgP9jY2P/AAAA/wAAAP/k5OT/5OXl/+Tk5P/l5eX/5eXl/+Xl5f/l5eX/5eXl/5ycnP/l5eX/ODg4/+Xl5f/l5eX/ZGRk/+Xl5f+Pj4//5OPk/6urq//j5OP/5OTk/yoqKv8AAAD/x8fH/wAAAP/k5OT/5OTk/+Tk5P/k5OT/5OTl/1VVVf/l5eT/5eXl/zk5Of/l5eX/HBwc/+Xl5f/l5eX/5uXm/+bl5f/m5ub/DQ0N/+Xl5f/X19f/5uXm/+Xl5v/m5ub/5ubm/+bm5v/m5eb/5uXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5+fm/zk5Of85OTn/Kioq/wAAAP85OTn/OTk5/wAAAP8cHBz/5ubm/+fn5//n5+f/5+fn/+fn5//o5+j/5+fn/+jo5/85OTn/SEhI/0hISP8ODg7/kZCR/+jo6P8AAAD/HBwc/6ysrP8AAAD/rKys/wAAAP8AAAD/5+fn/wAAAP/n5+f/rKys/wAAAP+sraz/AAAA/wAAAP/n5+f/AAAA/+fn5//n5+f/2dnZ/+fn5//o6Of/VlZW/wAAAP/o6Oj/HBwc/+fn6P/o6Oj/5+jo/+jo6P/o6Oj/goKC/+jo6P+vr67/6Ojo/+jo6P/o6Oj/6Ojo/+no6f/p6en/6ejo/+np6f/o6Oj/6eno/7y8vP/p6Oj/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+nq6v/q6en/6urq/+rq6v/q6ur/6enp/+rq6v/p6en/6urq/+rq6v/q6ur/6urq/+rq6v8ODg7/vb29/wAAAP86Ojr/6enp/+np6f/p6en/6enp/wAAAP8AAAD/AAAA/wAAAP+9vb3/6enq/3R1df/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6+v/6urq/+vr6//q6ur/6urq/+rq6v/q6ur/6urr/+vr6//r6+r/6+vr/+rq6v/q6uv/6urq/+rq6v/r6+v/6+vr/+vr6//r6+v/6+vq/+vr6//q6ur/6+vr/+vr6//r7Ov/6+vr/+zr7P/r7Oz/7Ozr/+zr7P/s7Oz/7Ozs/+zs7P/s7Oz/7ezt/+vr7P/s7Oz/7Ozs/+zs7P/s7Oz/7ezt/+3s7P/t7ez/6+vr/+vr6//r6+v/6+vr/+zs6//s7Ov/6+zr/+zs7P/r6+v/7Ovr/+vr6//r7Oz/7Ovr/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7f/s7e3/7e3t/+zt7P/t7e3/7Ozs/+zs7f/s7e3/7e3s/+3t7f/t7e3/7e3t/+3t7f/s7ez/7e3t/+zs7P/t7e3/7e3t/+7u7v/t7e3/7u7u/+3t7f/t7e3/7e3t/+3t7f/t7e3/7u7u/+3t7f/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7//u7u7/7u7u/+7u7v/u7+//7u7u/+/v7//u7u//7+/v/+3t7f/u7e3/7e3t/+3u7v/u7e7/7u7u/+7u7v/u7u7/7u7u/+3u7f/t7u3/7u7u/+7u7v/u7u7/7u7u/+/u7//u7u7/7u7u/+7v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7v/v7+//7+/u/+/v7//v7+//7+/v/+/v7//v8O//7+/v/+/v7//v7+//7+/v/+/v7//w7+//7/Dw//Dw8P/v7+//7+/v/+/v7//w7/D/8PDv//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8PD/8fHx//Dx8f/x8fH/8PDw//Dw8P/w8PD/8fDw//Hx8f/x8fH/8fHx//Hx8f/v7+//8PDv//Dw7//w8PD/8PDw//Dw8P/w8PD/8PDw/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDx//Dw8P/w8fH/8fDx//Dw8P/w8fD/8fHx//Hx8f/x8fH/8fHx//Hx8f/w8PH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//y8vL/8/Pz//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//Pz8//z8/P/8/Pz//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9PT0//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5+fn/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//j4+P/39/f/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//r6+v/5+fn/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//n5+f/5+fn/+fn5//n5+f/5+fn/+vr6//n5+f/6+vr/+fn5//n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+/v7//r6+v/7+/v/srGy/7Kxsf+ysbL/srGy/7Kzsv+ysrP/srKy/7Oys/+ysbL/srOy/7Gysv+ys7L/s7Oz/7Kzsv+ys7L/srOz/7Kzsv+zsrL/srKy/7Kysv+ysrP/tLS0/7Szs/+0tLP/s7Ky/7Kysv+ys7P/tLSz/7O0s/+zs7P/tLS0/7O0tP+zs7L/s7Kz/7Oys/+zsrL/srKy/7Kzsv+ys7L/srOy/7Oys/+zsrP/s7Kz/7Kys/+ys7P/srKy/7Kzsv+0s7P/srOz/7SztP+0s7P/s7S0/7OztP+ztLP/s7S0/7S0s/+zs7T/tLOz/7O0tP+0tLT/tLSz/7S0tP+0s7P/tLW0/7OztP+0s7P/tLS0/7SztP+ztLP/tLW0/7S1tP+1tbT/tLO0/7S0tP+0s7T/tLW1/7W1tP+1tbT/tbW0/7W1tP+1tbT/tLS0/7S1tP+0tLX/tLW1/7W1tv+2tbX/trW2/7W1tP+0tLT/tLS1/7a2tv+1trX/tbW1/7a1tv+2trX/s7O0/7W0tP+0tLT/tLW1/7S1tP+1tLX/tLS0/7S1tf+1tLT/tLW1/7S0tP+1tLT/tLW0/7S1tP+0tbT/tLW0/7W0tf+1tbb/tLW0/7a1tf+1tbb/tbW2/7W1tv+2tbb/tba1/7W1tv+1trX/trW2/7a1tv+1trX/trW1/7a1tf+2tbb/tbW2/7a2tf+1tbX/trW1/7a2t/+1trb/tra2/7W1tf+2trX/trW1/7W1tv+2t7f/tre3/7a2tv+2t7b/t7a2/7a2tv+3t7b/tra3/7a2tv+4t7f/t7e4/7i4uP+2t7b/t7a3/7a3t/+3t7f/t7i4/7e3uP+3uLj/uLi4/7a2tv+3t7f/tra1/7a2tv+2trf/t7e2/7a2t/+3trb/tra3/7e2t/+3t7b/tre3/7a3t/+2trb/t7e3/7e3tv+2trf/uLi4/7e3tv+3t7j/t7i4/7e3t/+3uLf/t7i3/7i3uP+3t7f/t7e4/7i3uP+3t7j/t7e4/7e3uP+5uLn/t7e3/7i4uP+3t7f/t7e4/7i4t/+4ubn/uLi4/7m5uP+3t7f/t7i3/7e3t/+5uLn/uLm4/7i5uf+5uLj/uLi4/7m4uP+5ubn/uLi4/7i5uP+4uLn/ubm5/7m5uf+5urn/ubi4/7m4uf+4ubn/ubm5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/9LT0//S0tL/09LT/9LS0v/T0tL/0tLS/9PT0//T09P/09PT/9LS0v/T0tP/0tLS/9PT0//T09P/09PU/9PT0//T09P/1NTU/9TT0//U1NT/1NTT/9TU1P/U1dT/1NTU/9XV1P/U1NT/1NTU/9TT0//U1NT/1dTU/9TV1P/V1dT/1dTU/9LT0//T09P/0tLS/9PT0//T1NP/09PU/9PT0//T1NT/09PT/9PT1P/T09P/09PU/9PU0//U1NT/09TT/9TU1P/U1NT/1NTU/9TU1P/U1NX/1dTU/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dTU/9TV1P/V1dX/1dXV/9XV1f/V1dX/1dXU/9XV1f/U1NT/1dXV/9XV1f/V1dX/1dXV/9XW1v/V1dX/1dXV/9XV1f/V1dX/1tbV/9bW1v/W1db/1tbW/9bW1v94eHj/1tbW/9bW1v8AAAD/AAAA/6Ggof+hoaH/1tbW/9bW1v/W1tb/19bW/9fX1//X19f/19fX/9fX1//V1dX/1dbV/9XV1f/W1tb/1tbW/9bW1v/W1tb/1tbW/9XW1f/W1tb/1tXV/9bW1v/W1tb/1tbW/9bW1v/W19b/1tbX/9fX1//X19f/19fX/9fX1//X2Nf/19fX/9fX1//X19f/19fX/9fX1//X19f/2NfY/9jY2P/Y2Nf/2NjY/wAAAP8AAAD/UFBQ/wAAAP8AAAD/AAAA/1BQUP+ioqL/bGxs/wAAAP9sbGv/AAAA/2xsbP/Y2Nj/bGxs/9jY2f8AAAD/AAAA/6Oiov+jo6P/o6Oj/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dr/2tra/9rZ2f/a2tr/bGxs/wAAAP9sbGz/AAAA/2xsbP/Z2dn/bGxs/9nZ2f9sbGz/AAAA/2xsbP8AAAD/bGxs/9nZ2f9sbGz/2dnZ/9nZ2f/a2tn/2dnZ/9nZ2v/a2tr/2tra/9ra2v/a2tr/2dra/9ra2v/Z2dn/lpaW/9ra2v/b29v/AAAA/7Kxsf/a2tr/2tra/9ra2v/a2tr/29va/83Nzf/NzM3/KCgo/9ra2v/a29r/2tra/9rb2v9tbW3/AAAA/w0NDf8AAAD/UlJS/wAAAP8AAAD/DQ0N/wAAAP8AAAD/YGBg/25ubv8bGxv/zs7O/3t7e//c3Nz/3Nzc/93d3P/c3Nz/3dzc/9rb2v+kpKT/2tva/6SkpP8AAAD/AAAA/wAAAP8AAAD/29vb/7Kysv/b29v/29vb/wAAAP8AAAD/Gxsb/wAAAP+lpaX/3Nzc/6Wlpf/c3Nz/3dzc/93d3f/d3d3/3d3d/6Wlpf/d3N3/e3t7/9zd3P/d3d3/3d3d/93d3f/d3d3/AAAA/zc3N/8bGxv/AAAA/7Ozs//e3t3/DQ0N/8/P0P/d3d3/Nzc3/93d3f+YmJj/AAAA/0VFRf8AAAD/AAAA/97e3v/e3t7/3t7e/97e3v/e3t7/397f/97f3v/f39//3t7e/97e3v/CwsL/3t7f/9/e3v/f39//39/f/9/f3//d3d3/3d7d/93d3f/d3d3/AAAA/wAAAP8AAAD/AAAA/97d3f/e3t7/3t7d/5iYmP8AAAD/AAAA/wAAAP8AAAD/ioqK/97f3/9vb2//39/f/9/f3//f39//39/f/9/g3/+ZmJj/39/f/8PDw//f39//39/f/+Dg4P/g4N//4ODg/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/39/f/9/g3//g39//4ODg/+Dg4P/g4OD/4ODg/+Dh4f/g4OD/4OHg/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eLi/+Dh4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hi4f/i4uL/4N/g/+Dg4P/g4OD/4ODg/+Dg4P/h4OD/4ODg/+Hh4f/g4OD/4ODg/+Dg4P/g4eD/4OHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/i4eL/4uLi/+Li4v/i4uL/4eHh/+Hh4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/h4eL/4uLi/+Li4v/i4uL/4uLi/42Njf/i4uL/4uLj/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Lj4v/j4+P/AAAA/wAAAP9xcXH/AAAA/wAAAP9VVVX/AAAA/wAAAP/j4+P/x8fH/+Pj4//j4+P/VVVV/wAAAP/k5OT/x8fH/+Li4v/i4uL/4uLi/+Lj4//j4+P/4+Pj/+Pj4/9xcXH/4+Pi/+Pj4//i4+P/4+Pj/+Pj4/8cHBz/4+Pj/zg4OP/k4+P/5OTk/5ycnP/k5OT/5OTk/+Tk5f/k5OT/5OXl/yoqKv/k5OT/AAAA/6urq//l5OT/5eXl/+Xk5P/l5eX/x8fH/+Tl5f8AAAD/VVVV/+Xl5f/l5eX/yMjI/+Xl5f8AAAD/AAAA/1VVVf8AAAD/DQ0N/4+Pj/8AAAD/AAAA/+Xl5f/l5uX/5ubl/+bm5v/m5ub/5ubm/+bm5v/n5+f/5ebl/+bm5v+Pj4//5ubm/+bm5v/m5ub/5+bn/+fn5//l5eX/rKys/+Xl5f/l5eX/DQ0N/wAAAP+srKz/AAAA/+Xl5f/l5eX/5eXl/+Xl5v/l5eX/Kioq/+bm5v8qKir/AAAA/8nJyf8AAAD/gYKB/+fm5//n5+f/5+fn/+fn5/8AAAD/c3Nz/wAAAP+CgoL/5+fn/+fn5//n5+f/5+fn/62trP8AAAD/ra2t/wAAAP8AAAD/6Ofn/wAAAP/o6Oj/ra2t/wAAAP+tra3/AAAA/wAAAP/o6Oj/AAAA/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6ejo/+np6f/o6en/6enp/+jo6P/o6ej/6Ojo/+jo6P/p6en/6enp/+np6f/p6en/ra2t/wAAAP+tra3/AAAA/wAAAP/o6Oj/AAAA/+jo6P+ura3/AAAA/66trf8AAAD/AAAA/+no6P8AAAD/6ejo/+np6f/p6en/6Ojo/+np6f/p6en/6enp/+np6f+vr6//6enp/+np6f/p6en/6enp/+np6f+Dg4P/6erq/xwcHP8AAAD/AAAA/wAAAP8AAAD/V1dX/+rq6v86Ojr/6urq/wAAAP8AAAD/AAAA/wAAAP86Ojr/6urq/zo6Ov/q6ur/6urq/+vq6v/q6ur/6uvr/+vr6//r6+v/6+vr/+vr6//q6+v/6+vr/+vq6//r6+v/6+vr/+vs6//r6+v/7Ozs/wAAAP8AAAD/AAAA/wAAAP9mZmb/6urr/4ODg//r6ur/AAAA/wAAAP8AAAD/Ojo6/76+v//r6+v/6urr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vs7P/r7Ov/7Ozs/+vr6//r6+v/6+vr/+vs6//s7Ov/7Ozs/+zs7P/s7Oz/6+zr/+vr7P/r6+z/7Ozs/+zs7P/s7Oz/7Ozs/+zs7f/r7Ov/7Ozs/+zs7P/s7Oz/7Ozs/+3t7P/t7e3/7e3s/+zs7P/t7e3/7ezs/+3t7f/t7e3/7u3u/+3t7f/u7u3/7e3t/+3t7f/t7e3/7e3t/+7t7v/u7u7/7u3u/+7u7v/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+3t7f/s7O3/7e3t/+zs7P/t7ez/7e3s/+3s7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e7t/+7u7v/u7u7/7u7u/+7u7v/t7e7/7e3u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u/v/+3t7f/u7u7/7u7u/+7u7v/u7u7/7+/v/+7u7v/u7u//7u7u/+7u7v/u7u7/7u/v/+7v7v/v7+//7+7v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Dv8P/v8PD/8PDw/+/v7//v7+//7+/v//Dv7//v7+//8PDw//Dw8P/w8PD/7u7u/+/v7v/u7+//7u7u/+/v7//v7+//7+/v/+/v7//u7u7/7+/v/+/u7v/v7+//7+/v/+/v7//v7+//8O/w/+/v7//v8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8O/v//Dw8P/w8PD/8PDw//Dw8P/w8fD/8PDw//Hw8P/w8PD/8PDw//Dw8P/w8PD/8fHw//Hw8f/x8fD/8fHx//Dw8P/x8fD/8PDw//Hx8P/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hw8P/x8fD/8fDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fDx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//Pz8//09PT/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9PT0//T09P/09PT/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j4+P/39/f/+Pj4//b29v/29vb/9vb2//f39//39/f/9/f3//f39//39/f/9vb2//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/+Pj4//j4+P/4+Pj/+Pj4//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//j4+P/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6+vr/+fn5//r6+v/5+fn/+fn5//n5+f/5+fn/+vr6//r6+v/6+vr/+vr6//n5+f/6+vr/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+/v7//v7+//7+/v/+/v7//r6+v/7+/v/+vr6//v7+//7+/v/+/v7//v7+//7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//6+vr/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/+ys7P/s7Oz/7Kzs/+ys7P/srOy/7SztP+0tLT/tLOz/7Ozsv+zsrP/srOz/7S0s/+zs7P/tLO0/7Ozs/+0s7T/s7Sz/7Ozs/+0tLT/s7O0/7SztP+1tbT/tLW0/7W0tf+ztLP/s7Oz/7Szs/+1tLT/tLS0/7W1tf+0tLT/tbS1/7Kzsv+ztLP/tLOz/7O0s/+0tLP/tLOz/7O0tP+0tLT/s7Oz/7O0s/+0s7P/s7Sz/7O0tP+ztLP/s7Sz/7S0tP+0s7P/tLW0/7S0tP+0tLT/tLW1/7W1tP+1tbX/tbS1/7W0tP+0tLT/tbW0/7W0tP+1tLT/tLS1/7S1tf+1tbT/tbW1/7S1tP+0tLT/tLS0/7S0tf+2trX/tbS0/7W1tv+0tLT/tLS0/7W0tP+1tLX/tba2/7W1tv+2tbX/tba2/7a1tf+1tbb/tra2/7W1tv+2trX/tra3/7W2tf+2trf/tbW2/7W2tv+2trX/tbW1/7e3tv+3t7f/tre2/7a2t/+1tbT/tba1/7S0tf+1trb/tba1/7W1tv+1tbb/tbW2/7W1tv+2tbb/tbW2/7a2tv+1tbX/tba1/7a2tv+2tbX/tba2/7a2tv+1tbb/tre3/7a3tv+3t7b/t7e2/7e3tv+3trf/t7a3/7a2t/+2trf/tre3/7e2tv+3trf/tre2/7e3t/+3t7b/t7a2/7e3tv+3trf/t7e3/7e3t/+3uLj/t7a2/7e2t/+3trb/t7a2/7e4t/+4t7f/uLi4/7e3t/+3uLf/t7e4/7i3uP+4t7f/uLe4/7i4uf+4ubn/ubm4/7e3t/+3uLf/t7e3/7i4uf+5uLj/ubm5/7m4uP+5uLj/t7e2/7i3t/+3trf/uLe4/7e4t/+3uLf/t7i4/7i4uP+4t7f/t7i4/7e3t/+3t7f/t7e3/7e3t/+2trf/uLe4/7i4t/+4uLj/uLi5/7i3uf+4uLn/ubm5/7i4uP+5uLn/t7e5/7i4uP+5ubj/ubi4/7i4uP+5uLj/uLi5/7m5uf+4ubj/ubm4/7i4uP+5ubn/uLm4/7m5uf+5ubn/urq6/7m4uP+4uLn/uLi5/7m5uf+5ubn/urq5/7m6uv+5urn/urm6/7q6uv+5urr/ubq5/7q6uv+6urr/urq6/7q6u/+5urr/urq6/7q6uf+6urr/urq6/7q7uv+7u7r/u7q6/7m4uP+5ubn/ubm5/7m5uv+5ubn/urq5/7m6uv+6urr/ubm5/7m6uv+5urn/ubm6/7m6uv+6urr/ubq5/7q6uv+6urr/urq6/7q6uv+6urv/urq6/7u6uv+7urv/uru7/7q6uv+6urv/urq7/7q6u/+7u7v/u7u7/7q6uv+7u7v/u7u6/7q6uv+6urr/u7u6/7u7u/+8u7v/u7u7/7u7vP+6u7r/u7u7/7q6u/+7u7v/u7y8/7u7u/+7vLz/u7y7/7y8vP9eXV3/gIGB/y4uLv8AAAD/AAAA/wAAAP8AAAD/Li4u/wAAAP+8vLz/vby8/wAAAP8AAAD/vL29/7y8vf+7u7v/u7y7/7u7u/+8u7v/u7y7/7u7u/+8vLz/vLy8/7u8u/+8u7v/vLu7/7u7u/+7vLv/vLy8/7y8vP+8vLz/vLy8/7y8vf+8vbz/vLy8/7y8vf+9vb3/vL29/729vf+8vLz/vLy9/728vf+9vL3/vb29/72+vv+9vb3/vb2+/7y9vP+9vb3/UlJS/15eXv+9vb7/vr29/15fXv9fX1//AAAA/wAAAP+9vb3/vb69/wAAAP8AAAD/vb2+/76+vv+ysbH/IyMj/xcXF/8AAAD/AAAA/4KDg/8AAAD/s7Oz/wAAAP8AAAD/vr6+/76+v/8vLy//v7+//7+/v/+/v7//vb29/76+vv++vb7/vb29/72+vf++vr7/vr6+/7++vv+9vb3/vr69/769vf++vr7/vr6+/7+/v/+/v77/v76//76+v/+/vr//vr6//76+v/+/v7//wL+//7+/v//Av8D/v7++/7+/v/++v77/v7+//7/AwP+/v8D/v8C//8C/v/+/v7//wL+//7+/v/9ra2v/v8C//zs7O/8jIyP/AAAA/7+/v/8LCwv/wMDA/7+/wP8AAAD/AAAA/8DAwP/BwMD/AAAA/2xsbP8LCwv/nZyc/8DBwf9sbGz/wcHB/2xtbP8AAAD/YGBg/8DBwf/BwcH/wcHB/wsLC//CwcH/wcLC/7/Av//AwMD/v7+//8DAwP/BwMD/wcDA/8HBwf/AwMD/wMDA/8DAwf/AwMD/wMDB/8HAwP/AwcD/wMDB/8HBwf/BwMH/wcHB/8HBwf/CwcL/wsHB/8HBwf/BwsH/wcHB/8HBwf/AwcL/wcHC/8HBwf/BwsH/wcHC/8HCwv/CwsL/AAAA/wAAAP8AAAD/AAAA/52dnf/Dw8L/CwsL/21tbf8AAAD/AAAA/8HBwf/CwsL/AAAA/wAAAP/Dw8L/w8LC/8PCwv/Dw8P/wsPC/8PDw//DxMT/AAAA/8PExP8AAAD/w8PD/8PDw//Dw8P/xMTE/8TDw/8AAAD/w8PE/wAAAP/CwsL/wsLC/8LCwv/CwsL/wsPD/8PDw//Dw8L/w8PD/8LCwv/DwsL/wsLD/8PCw//Dw8P/xMPD/8PDw//Ew8P/w8PD/8PDxP/DxMP/YWJh/5+fnv8AAAD/AAAA/wAAAP/ExMP/np+f/8PDw//ExMT/YmJi/2JiYv/FxMX/xcXE/wAAAP8kJCT/AAAA/wAAAP+4ubj/xcXE/xgYGP9iYmL/AAAA/25ubv8AAAD/xcTF/xgYGP8AAAD/xcXF/8XFxv/FxcX/b25v/yQkJP8AAAD/AAAA/wAAAP8AAAD/VlZW/wAAAP8YGBj/xcbF/8bGxv9vb2//x8bH/8bGxv/Hx8b/AAAA/5+gn/8AAAD/AAAA/8XFxf/FxcX/Y2Ji/8XGxf9iYmL/YmJi/8XFxf/Fxcb/oKCg/8bGxv/FxcX/xcXF/8XFxv/Gxsb/xsXF/8bGxv/Hx8b/xsfH/8bHx//Hxsb/xsbG/8bHx//Gxsb/x8bH/8bGxv/Hx8f/xsfG/8fHx/+urq7/xsfG/8bGxv/Hxsf/x8fH/0tKSv/Hx8f/u7u7/8bHxv/Hx8f/xsbG/8fHx//HyMj/yMjH/8fIyP/Hx8j/AAAA/zExMf8lJSX/AAAA/8nIyP/Iycj/DAwM/1dXV/+7u7v/V1dX/8jIyP/Iycj/DAwM/wAAAP/IyMn/ycnJ/8fHx//Ix8f/x8fH/8jIyP/Hx8j/yMjI/8fIx//IyMj/x8fI/8fHyP/Hx8j/x8fH/8jIyP/JyMj/yMjI/8jIyf/Iycj/ycjJ/8nIyf/JyMj/ycnJ/8rJyv/Jycn/ycnJ/8jJyf/Jycn/yMjI/8nJyf/Kycr/ysrJ/8nKyv/Kysn/ycnJ/728vP8+Pj7/AAAA/wwMDP8AAAD/AAAA/0tLS/8AAAD/GBkZ/8nJyf/Kysn/cXFx/8rKyv/Kysr/ysrL/35+fv/Ly8v/y8rL/8rKyv/Kysr/y8vL/76+vv9mZWX/ysvK/8vKy//Lysr/y8vL/6Wlpf8AAAD/zMzM/8vMy//Kycn/ysnK/8nJyv/Kysr/ysrK/8vKyv/Kysv/ysrL/8rJyf/Kysr/ysrK/8vKyv/Ly8r/y8vK/8rKyv/Ly8v/ysrL/8vLy//Ly8v/zMvL/8vLy//Ly8z/y8vM/8zMzP/Ly8v/zMvM/8zLy//My8z/y8vL/8zMzP/MzMz/zMzN/8vMzP9mZmb/ZWVl/zIyMv8AAAD/MjIy/wAAAP8MDAz/AAAA/wAAAP/MzMz/zMzM/wAAAP8AAAD/zM3N/83Nzf/Mzc3/zc3N/2ZmZv9mZmb/zc3O/87Ozv+np6f/zs7O/wAAAP8AAAD/zc3O/87Nzv9AQED/zs7O/87Ozv/Ozs//zMzM/8zMzP/Nzcz/zc3M/83Mzf/Nzc3/zc3N/83Ozf/Nzcz/zMzM/8zMzf/Nzc3/zc3N/83Nzf/Nzs7/zc7N/83Nzv/Ozc7/zc7N/87Ozv/Ozc7/zs7O/8/Pzv/Pzs7/zc7O/87Ozv/Ozs7/zs/P/8/Ozv/Ozs//zs/P/8/Pz//Ozs7/z87O/8/Pz//Pzs7/z87O/8/Pz//Pz8//z8/Q/87Ozv/Ozs//z8/O/8/Pz//Pz8//z8/P/8/P0P/P0M//0NDP/8/Qz//P0ND/0NDQ/9DQ0P8nJyb/0dDQ/4KCgv/Qz9D/0NDQ/9DQ0P/Q0NH/0NDR/8PExP/Q0ND/0dHR/87Ozv/Pz8//z8/P/8/Pz//Qz9D/0M/P/9DPz//Q0ND/z8/P/9DPz//P0M//z8/P/9DPz//Q0ND/0NDQ/9DR0f/Q0ND/0dDR/9DQ0P/Q0dD/0dHQ/9HR0f/R0dH/0dHR/9DR0f/Q0NH/0dDQ/9HR0f/R0dH/0tHS/9HR0f/S0dL/AAAA/05OTv8AAAD/AAAA/9HR0f+4uLj/Jycn/wAAAP9OTk7/GRoa/9HR0f/S0tH/DAwM/05OTv/S0dL/0tLS/wAAAP9BQUH/AAAA/5CRkP/S0tP/09PT/9PS0v/T09P/np6d/9LS0//S0tL/0tLT/9PT0//U09T/09PT/9TU0//S0tH/0tHS/9HS0f/R0tH/0tLS/9LT0//S0tL/09LT/9LS0f/S0tL/0dLR/9LS0v/T09L/0tPS/9PS0v/T0tP/09PT/9PT0//T09P/09PT/9PT1P/U1NP/1NTT/9PU0//T09P/1NTT/9PT0//T1NP/09TT/9TU1P/U09T/1NTU/9PU0//U09P/09PU/9TU0//U1NT/1NXV/9TU1P/U1NX/09PU/9TU1P/T1NP/1NTU/9TU1P/U1NX/1dTV/9TU1P/V1NT/1dXV/9XV1f/V1dX/1dXV/9XW1v/V1dX/1dXW/9XV1f/V1dX/1dXV/9XV1f/V1tb/1tbW/9XW1v/W1tb/1NTU/9XU1P/U1NT/1NXV/9TU1P/V1dX/1dTU/9XV1f/U1NX/1NTU/9XU1P/V1dT/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1tX/1dXV/9bV1f/W1tb/1tbW/9bW1v/W1tb/1dXW/9bW1v/W1db/1tbW/9bW1v/W19f/1tbW/9bX1v/W1tb/1tbW/9bW1v/W1tb/19bX/9fX1//X1tf/19fX/9bW1v/W19b/1tbW/9bW1v/X19f/19fX/9fX1//X19f/19fX/9fX2P/X19f/19jX/9jY2P/Y2Nj/2NjY/9jY2P/X2Nj/2NjY/9fX2P/Y2Nj/2NjY/9nZ2f/Y2Nj/2djZ/9bW1v/X19f/1tbW/9fX1//X19f/19fY/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX2P/Y2Nj/19fX/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2djY/9nZ2f/Y2Nj/2dnZ/9jY2P/Y2dj/2NjY/9nY2P/Z2dn/2dnZ/9nZ2f/Z2dn/bGxs/wAAAP++vr3/AAAA/ygoKP/MzMv/AAAA/w0NDf/Z2dn/h4eH/9nZ2f/Z2dn/KCgo/wAAAP/Z2dn/2tra/9ra2v82Njb/Gxsb/wAAAP8AAAD/zc3N/19fX//b29v/NjY2/4iJiP/a2tr/29ra/9vb2//b29v/29vb/9vb2//Z2dn/2dna/9nZ2f/a2tn/2tra/9ra2v/a2tr/2tra/9na2f/a2tr/2tnZ/9ra2v/a2tr/2tra/9ra2v/b29v/29ra/9vb2//a2tr/29vb/9vb2//c29v/29vb/9vc2//b29v/29vb/9vb2//b29v/3Nvb/9zc3P/b29v/3Nzc/9vb2//b3Nz/29vb/9vb2/+JiYn/AAAA/9zc3P9SUlL/3Nvc/9zc3P/b3Nv/3Nzc/9zc3P/c3d3/3Nzc/9zc3P8bGxv/z8/P/wAAAP8AAAD/3d3d/97d3f9SUlL/U1NS/3x8fP8bGxv/3d3d/93d3f8AAAD/AAAA/97d3f/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zd3P/d3d3/3Nzd/93d3f/c3Nz/3Nzc/9zc3P/c3N3/3d3d/93d3f/d3d3/3d3d/93d3f/e3d3/3d3d/93e3f/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/d3d3/3t7e/97e3v/e3t7/3t7e/9/f3//Q0ND/KSkp/w0NDf8AAAD/AAAA/1NTU/8pKSn/0dHR/w0NDf9hYWH/3t7e/97f3v/Q0NH/39/f/9/f3//f39//39/f/9/f3//f39//4ODf/9/g4P/g4OD/4ODg/+Dg4P/f39//4N/f/9/f3//g4OD/4ODg/+Dg4P/g4OD/4eDh/97e3v/e3t//3t/e/9/f3//f39//39/f/9/f3//g39//39/f/9/f3//f39//39/f/9/f3//f3+D/4N/f/+Dg4P/f4OD/4ODg/+Dg4P/g4OD/4ODg/+Hg4f/g4eD/4eHh/+Dg4P/g4OD/4ODg/+Dg4f/g4OD/4eHh/+Hh4f/h4eH/4ODg/+Hh4f/h4eD/4eHh/+Hh4f/h4eH/4eHh/+Li4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hi4f/i4eL/4uLi/+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4+L/4uLi/+Li4v/i4uL/4uLi/+Li4//j4+P/4uLj/+Pj4//h4eH/4eHh/+Hh4f/i4uH/4uLh/+Li4v/i4uL/4uLi/+Hh4f/i4eH/4eHh/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Lj4//i4uL/4+Lj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pi4v/j4+P/4+Pj/+Pk5P/j4+P/5OPj/+Pj4//j4+P/4+Pj/+Pj4//j5OT/cnJy/+Pj5P+AgID/4+Pj/+Pk4//j4+P/5OTj/+Tk5P+5ubn/5OTk/+Tk5P8AAAD/Kioq/wAAAP8AAAD/19fX/+Xl5f8NDQ3/VVVV/w0NDf9kZGT/5OTk/+Xl5f85OTn/DQ0N/+Xl5f/m5uX/4+Pj/+Tk5P/j5OP/5OTk/+Tk5P/l5OX/5OTk/+Tl5P/k5OT/5OTk/+Tk5P/k5OT/5eTl/+Xl5f/k5OX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5uXl/+bl5v/m5ub/5eXl/+Xl5f/l5eX/5eXl/+bm5f/m5ub/5ubm/+bm5v/l5eX/5ebl/3Nycv8qKir/rKys/wAAAP8AAAD/AAAA/wAAAP8AAAD/5ubm/+bm5v8qKir/np+f/+bm5v/n5+f/AAAA/8rKyv+QkJD/5+fn/+fn5//n5+j/5+fn/5+fn//n5+f/5+fn/+fn5//n5+f/6Ofo/zk5Of/n5+j/6Ojo/+bm5v/m5ub/5ubm/+bn5v/m5uf/5+fn/+fn5//n5+f/5ubm/+bn5v/n5+b/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6Ofo/+fn5//n5+j/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/5+fn/+jo6P/o6Oj/6ejo/+jo6P/o6en/rq6u/wAAAP9ISEj/AAAA/wAAAP/p6en/AAAA/2VlZf8AAAD/AAAA/+jo6P/o6en/AAAA/wAAAP/p6en/6enp/+np6f/a2tr/dHR0/xwcHP9XV1f/AAAA/wAAAP8AAAD/AAAA/w4ODv/p6un/6urq/1dXV//Nzc3/6urq/+rq6v/p6Oj/6enp/+jp6f/p6en/6enp/+np6f/p6en/6enq/+np6f/p6en/6enp/+np6f/p6en/6unp/+np6v/q6ur/6urp/+rq6v/q6ur/6urq/+rq6v/q6+r/6urq/+vq6//q6ur/6urq/+rq6v/q6ur/6+rq/+vr6//r6ur/6+vr/wAAAP+vr6//kpKS/+vr6v/r6+v/6+vr/+vr6//r6+v/6+rq/+vr6//q6ur/6+vr/+vr6//r7Ov/6+vr/+vr7P/s6+z/7Ozs/+vr7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zr7P/s7Oz/7Ozs/+zs7P/s7Oz/7O3s/+zs7f/t7O3/6+vr/+vr6//r6+v/6+vr/+vr6//s6+z/7Ovr/+zs7P/r6+v/6+vr/+vr6//r6+v/7Ovr/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+3t7f/t7O3/7e3t/+3s7f/t7e3/7Ozs/+zs7f/t7O3/7ezs/+3t7f/t7e3/7e3t/+3t7f/s7ez/7e3t/+zs7P/t7e3/7e3t/+3u7f/t7e3/7u7u/+3t7f/t7e3/7e3t/+3t7f/t7e7/7e3t/+3t7v/u7u7/7e3t/+7u7v/u7u7/7u7u/+7u7v/v7+7/7u7u/+/v7v/u7u7/7u7u/+7u7v/u7u7/7+7v/+/v7//v7u//7+/v/+3t7f/t7u3/7e3t/+7u7v/u7e7/7u7u/+7u7v/u7u7/7u7t/+3t7v/t7e7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/v7+7/7+/v/+/v7//v7+//7+/v/+7u7//v7+//7u/v/+/v7//v7+//7+/v/+/v7//v8O//7+/v/+/v7//v7+//7+/v/+/v7//v8PD/7+/w//Dw8P/v7+//7+/v/+/v7//v8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8PH/8fHx//Hw8f/x8fH/8PDw//Hx8P/w8PD/8fDw//Hx8f/x8fH/8fHx//Hx8f/v7+//8O/v//Dw7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PHw//Dw8P/w8fH/8PDw//Hw8P/w8PH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//y8vL/8/Pz//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//Pz8//z8/P/8/Pz//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9PT0//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5+fn/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//j4+P/39/f/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//r6+v/5+fn/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//n5+f/5+fn/+fn5//n5+f/5+fn/+vr6//n5+f/6+vr/+fn5//n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+/v7//r6+v/7+/v/+vr6//r6+v/6+vr/+vr6//v7+//7+/v/+/v7//v7+//6+vr/+/v7//r6+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//Pz8//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/7Ozs/+0tLP/s7Oz/7S0s/+ztLP/tLS1/7W1tf+1tLT/tLOz/7Szs/+zs7P/tbW1/7S1tf+1tbX/tbS0/7S0tP+1tbT/tLW1/7W0tP+0tbX/tbS0/7W2tf+1tLT/trW1/7S0tP+0tbX/tbS0/7S0tP+2tbX/tba1/7W1tf+1tbX/s7Oz/7S1tP+0tbT/tLW0/7W1tP+0tbT/tLS0/7W0tf+1tLT/tbS0/7W0tP+0tbX/tLS0/7W1tf+1tbX/tbW1/7W1tf+1trb/tLW0/7W1tv+1tbb/trW1/7W1tv+1trX/trW2/7W2tf+2tbb/trW1/7a2tv+1tbb/tba2/7a1tf+2trX/trW2/7a1tv+1tbb/trW1/7a2tv+1tbX/t7a2/7a2tv+2trX/tba1/7a1tf+2t7b/tra2/7e3tv+3trb/t7a2/7a2t/+2t7f/t7e3/7e2tv+3uLf/tre2/7e4uP+3trf/t7e3/7a3tv+3trf/uLe3/7e4t/+4t7j/uLe3/7W1tv+2t7b/tba1/7e2tv+2t7b/t7a2/7a2t/+2trb/tre2/7a2tv+2trb/t7a2/7e3tv+3t7f/tra2/7a3tv+3t7f/t7e3/7e2t/+3uLj/t7i3/7e4t/+3uLj/uLi4/7e3uP+4t7f/t7e3/7e4t/+4uLf/t7e4/7e3uP+4ubj/t7i3/7W4tv+4uLj/uLe3/7i3uP+4ubj/ubi5/7m5uf+3t7j/t7e3/7e4uP+4ubj/ubi4/7i4uP+5uLn/uLi5/7m5uP+5ubn/uLm4/7m5uP+5uLj/ubm5/7m5uf+6urn/uLm4/7i4uP+4uLn/ubm5/7m5uf+6ubr/ubq5/7q6uf+4uLf/ubi4/7m4uf+4uLj/uLi4/7m5uf+4uLj/uLi4/7m4uP+4ubj/ubi5/7i5uf+5ubn/ubi5/7m4uP+5ubn/uLm4/7m5uf+5ubn/ubm6/7q6uf+5urr/ubq5/7m5uv+5ubn/ubq5/7q6uf+6ubr/urq5/7q6uv+5urr/urq6/7m6uf+6ubn/ubq5/7m6uf+6urr/urq6/7q6uv+6u7v/ubq6/7q6uv+5ubr/urq6/7q6uv+6u7v/u7u7/7q7uv+6u7r/u7q7/7q6u/+6urr/u7u7/7u7u/+7u7v/u7y8/7q6uv+7u7v/urq6/7u7u/+7vLz/u7u8/7y7u/+8u7z/urq6/7q6uv+6urr/u7q7/7u6uv+6urv/uru7/7q6u/+6urr/u7q7/7u6uv+7u7v/u7q7/7u7u/+6urr/u7u7/7u7u/+7vLv/u7u7/7u7u/+8vLv/vLy7/7u7vP+8vLz/u7y7/7y8u/+8u7z/u7u8/7y8u/+8vLz/vLy8/7y9vf+7vLz/u7y7/7u8vP+8vLz/vLy8/7y8vP+8vLz/vLy9/7u8vP+8vLz/vLy8/728vf+8vL3/vb29/7y9vP+9vL3/vby8/729vf+9vbz/vb29/72+vf++vb7/vb29/76+vv+9vb3/vb69/729vf+9vb7/vb2+/76+vf+9vr7/vr6+/7y8vP+9vL3/vby9/729vf+8vb3/vb29/728vf+9vb3/vL28/7y9vf+8vb3/vLy9/729vf+9vr3/vb29/76+vv+9vr7/vr2+/729vv++vb3/vb6+/76+vv++vr7/v76//72+vf+9vr7/vr69/76+vv++vr7/v76//76+vv+/v7//vr29/76+vv++vr7/vr6+/76+vv++vr7/v76+/7++v/++vr7/vr++/76/vv+/vr//vr+//7+/v/++vr7/v7+//7+/v//AwMD/v7+//7+/wP/Av8D/wMDA/8DAv//AwMD/wL+//8C/v/+/v7//v8C//8DAwP/BwcH/wMDA/8HBwf+/vr//v7++/7++v/++v7//v7+//8C/wP+/v7//v7+//7+/vv+/v7//v76//7+/v//AwL//v7+//7/Av//Av8D/v8C//8DAwP/Av7//wMDA/8DAwP/AwMD/wMHB/8DAwf/AwMD/wMDA/8DAwP/AwMH/wcHA/8HBwP/AwcH/wcHB/8DAwP/AwMH/wcHB/8HBwf/BwMD/wcHB/8HBwf/BwcH/wMHA/8HAwP/AwcH/wcHB/8HBwf/BwcH/wsLC/8LBwf/BwcL/wsLC/8HBwf/CwsH/wsLC/8LDw//CwsL/wsPC/8LBwf/CwsL/wcHC/8LCwv/Dw8L/w8PC/8PDw//CwsL/wMHA/8HBwf/BwcH/wcLC/8LBwf/BwcL/wsLC/8HBwf/BwcH/wcLC/8HCwv/BwsH/wcLB/8LCwv/BwsH/wsLC/8LCwv/Dw8L/wsLC/8LCwv/DwsP/w8PD/8PDwv/Dw8P/w8PD/8LDwv/Dw8P/wsPD/8PDw//ExMP/w8PD/8PEw//DwsL/w8PD/8PCw//Dw8P/xMTD/8PDw//Dw8P/xMTD/8PDw//ExMT/w8PD/8PExP/ExMP/xMTE/8PDxP/ExMT/xMPE/8TExP/ExMT/xcXE/8TExf/ExcX/xMXE/8XFxf/ExMT/xcTF/8TExP/FxMT/xMTE/8XFxf/FxcX/xcbF/8TExP/Ew8P/xMPD/8PDxP/DxMT/xMTE/8TExP/FxMX/w8TE/8TExP/Dw8T/xMTE/8TExP/FxMT/xMTF/8XFxP/FxMX/xcXF/8XExf/FxcX/xcXF/8XFxf/GxcX/xsbG/8TExf/FxcX/xcXF/8XFxv/GxsX/xcbG/8XFxf/Gxcb/xcXF/8XGxf/Fxcb/xcbF/8XGxf/Gxsb/xsXG/8bGxv/Gxcb/xcXF/8bGxf/Fxsb/xsbG/8bGxv/Gxsb/x8bG/8bGxv/Hxsf/x8bG/8fGx//Hx8f/x8jH/8fHx//HyMf/x8fH/8fHx//Gxsf/x8fH/8jIyP/Hx8f/x8fI/8jHx//Gxcb/xsbG/8XFxv/Gxsb/xsfG/8fHxv/Gxsb/xsfH/8bGxv/Gx8f/xsbG/8bHxv/Gxsb/x8fH/8bHx//Hx8f/x8fH/8fHx//Hx8f/x8fI/8fIx//IyMj/yMfI/8jIyP/HyMf/x8jH/8jIyP/HyMj/yMjI/8jJyP/IyMj/ycnI/8jHx//IyMj/yMfH/8jIyP/IyMj/ycjI/8nJyf/IyMn/yMjI/8jIyf/IyMj/ycnI/8jJyP/Jycn/yMnI/8nJyf/Jycn/ycnJ/8nJyf/Jycr/ycnK/8nJyv/Kycn/ysrK/8rJyv/Kysn/ycrJ/8nKyv/Jysr/ysrK/8rKyv/Lysv/yMjI/8nJyf/IyMn/ycnJ/8nJyf/Kycr/ycnJ/8rJyf/Iycj/ycnJ/8nIyP/Jycn/ysrK/8rJyf/Jysr/ycrJ/8nKyv/Jycn/ysnJ/8rKyv/Kysr/ysrK/8rKy//Lysv/ycnK/8rKyv/Kysr/y8vK/8vLy//Lysv/y8rK/8vLy//Kysr/y8rL/8vKyv/Ly8r/y8rK/8vLy//Ly8v/zMvL/8rKyv/Kysr/y8vK/8vLy//Ly8v/zMzL/8vLy//My8v/y8vM/8vMy//My8v/zMzM/8zMzP/Mzcz/zczM/83Mzf/MzMz/zMzM/8zMzP/Nzc3/zc3M/8zMzP/Nzc3/zc3N/8vKy//Ly8v/y8vL/8vLzP/Ly8v/zMvM/8vLzP/MzMz/y8vL/8zLy//Ly8z/zMvL/8zMy//MzMz/zMzM/83Nzf/MzMz/zMzN/83Nzf/MzMz/zMzM/83Nzf/Nzc3/zs7O/8zMzf/Nzcz/zM3M/83Nzf/Nzc3/zc3N/83Nzf/Ozs3/zc3N/83Nzf/Nzc3/zs3N/83Ozf/Ozc3/zc3N/87Ozv/Nzc3/zs7N/87Nzv/Nzs7/zc7N/87Ozv/Ozs7/z8/O/87Ozv/Ozs//z87O/87Pzv/Pz8//z8/P/8/Pz//Qz8//z87P/87Ozv/Oz87/z8/P/8/Pz//Pz8//0NDQ/8/P0P/Ozs7/zs7N/83Nzf/Ozs7/zs7O/8/Pz//Ozs7/z8/O/83Nzf/Ozs7/zs7O/87Pz//Oz87/zs/O/87Pzv/Pz8//z87O/8/Pz//Pz8//z8/P/8/Qz//Qz8//0NDP/9DQ0P/Pz8//0M/P/8/Pz//Qz9D/z9DQ/9DQ0P/Q0ND/0NHQ/9DQ0P/Q0M//z8/Q/9DQ0P/Q0ND/0NHR/9DR0f/Q0dH/0M/Q/9DQ0P/Q0ND/0dDR/9HR0P/R0dH/0NDQ/9DQ0f/Q0ND/0dHR/9HR0f/R0dH/0dHS/9LS0v/R0dH/0tLR/9HR0f/S0dH/0dHR/9HS0v/R0dH/0tLS/9HS0v/S0tL/0NDQ/9HR0f/R0dD/0dDQ/9HQ0P/R0dH/0NDQ/9HR0f/R0ND/0NHQ/9DQ0f/Q0dD/0dHR/9HR0f/R0dH/0dLR/9HS0v/S0dL/0dLS/9HR0f/S0tL/0tPT/9LS0v/T0tL/0tLS/9LS0v/R0dH/0tLS/9PT0//T0tL/0tLT/9PT0//S0tL/09LT/9LS0v/S09P/09LS/9PT0//T09L/09PT/9LS0//S0tL/0tLS/9PS0//T09P/1NPT/9PT0//T09P/1NTU/9PU0//U1NT/1NPU/9TU1P/U1dT/1NTU/9TV1P/U09T/1NTU/9TT1P/U1NT/1dXV/9TV1f/U1dX/1NXU/9LS0v/T09P/0tLS/9PT0//U09P/1NTT/9TU0//T1NT/09PT/9PU1P/T09P/09TU/9PT0//U1NT/09TT/9TU1P/U1NT/1dTU/9TU1P/V1NT/1dXU/9XV1f/U1NX/1dXV/9XV1P/V1NT/1dXV/9TU1P/V1dX/1dXV/9XV1f/V1dX/1NXU/9XV1f/U1NT/1dXV/9XV1f/V1dX/1dXV/9XW1v/V1dX/1dXV/9XV1f/V1dX/1tbW/9bW1v/V1dX/1tbW/9bW1v/W1tb/1tbW/9bW1v/W19f/19fX/9fX1v/X19f/1tbW/9fW1//W1tb/1tbX/9fX1//X19f/19fX/9fX1//V1dX/1dXW/9XV1f/V1tX/1tbW/9bW1v/W1tb/1tbW/9XW1f/W1tb/1dXV/9bW1v/W1tb/1tbW/9bW1v/X19f/1tbW/9fX1//X1tb/19fX/9fX1//X2Nf/19fX/9jY1//X19f/19fX/9fX1//X19f/19jY/9jY2P/Y2Nf/2NjY/9fX1//Y19f/19fX/9fY2P/Y2Nj/2NjY/9jY2P/Y2Nj/19jX/9jY2P/X2Nf/2NjY/9jY2P/Y2dj/2NjY/9nY2P/Z2Nj/2dnZ/9nZ2P/Z2dn/2dnZ/9rZ2v/Z2dn/2dna/9nZ2f/Z2dn/2dnZ/9nZ2f/a2tr/2tra/9nZ2f/a2tr/2NjY/9jY2P/Y2Nj/2NjY/9jY2f/Z2dn/2dnY/9nZ2f/Y2Nj/2NjY/9jY2P/Y2dj/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9na2f/a2tr/2tra/9ra2v/a2tr/2tna/9ra2v/a2dr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2trb/9vb2//b29r/29vb/9ra2v/a2tv/2tra/9ra2//b29v/29vb/9vb2//b29v/29vb/9vc2//b29v/29vc/9zc3P/c3Nz/3Nzc/9zc3P/b29z/3Nzc/9vb2//c3Nz/3Nzc/9zc3f/c3Nz/3dzc/9ra2v/b29v/2trb/9vb2//b29v/29zc/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb3P/c3Nz/29vc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3dzc/93d3f/c3N3/3d3d/9zc3P/c3N3/3Nzc/93d3P/d3d3/3d3d/93d3f/d3d3/3N3c/93d3f/d3dz/3d3d/93d3f/d3d7/3d3d/93d3v/d3d3/3d3d/93d3f/d3d3/3d3d/97e3v/e3t3/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97f3v/f39//3t7e/97e3v/e3t7/3t7e/97f3//f39//39/f/9/f3//d3d3/3d7d/93d3f/d3d3/3t7e/97e3v/e3t7/3t7e/93d3v/d3t3/3d7e/97e3v/e3t7/3t7e/97e3v/f397/3t7e/97f3v/e3t//39/f/9/f3//f39//39/f/+Dg3//f397/39/f/9/f3//f39//39/f/9/g3//g39//4ODg/9/f3//f39//39/f/+Dg3//f4N//4ODg/+Dg4P/g4OD/39/f/9/f3//g4N//4ODg/+Dg4P/g4OD/4ODg/+Dh4f/g4OD/4ODg/+Hh4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Dh4f/h4eH/4eHh/+Hh4f/h4eH/4eHi/+Hi4f/i4uL/4N/f/+Dg4P/g4OD/4ODg/+Dg4P/h4OH/4ODg/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4OHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Lh4f/i4uL/4uLi/+Li4v/i4uL/4eHh/+Li4v/i4eL/4uLi/+Li4v/i4uL/4uLi/+Li4v/h4eL/4uLi/+Li4v/i4uL/4uLi/+Li4//i4uL/4+Li/+Li4v/i4uL/4uLi/+Li4v/i4+P/4+Pj/+Pj4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pk4//k5OT/5OPk/+Tk5P/j4+P/5OTk/+Pj4//j4+P/5OTk/+Tk5P/k5OT/5OTk/+Li4v/i4uP/4uLi/+Pi4//j4+P/4+Pj/+Pj4//j4+P/4uPj/+Pj4//i4+L/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P/j5OP/5OTk/+Tk5P/k5OT/5OTk/+Xk5P/k5OT/5OXl/+Tk5P/k5OT/5OTk/+Tk5P/k5eT/5eXl/+Tk5f/l5eX/5OTk/+Xk5f/k5OT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5OT/5eXl/+Xk5f/l5eX/5eXl/+Xl5f/l5eX/5eXm/+Xl5f/l5uX/5eXm/+bm5v/m5ub/5ubm/+bm5v/n5uf/5ebm/+bm5v/m5ub/5ubm/+bm5v/n5ub/5ubn/+fn5//l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5ubm/+Xl5f/l5eX/5eXl/+Xm5v/m5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ufn/+bm5v/n5+f/5+fn/+fn5//m5ub/5+bm/+bn5//m5+f/5+fn/+fn5//n5+f/5+fn/+bn5v/n5+f/5+fn/+fn5//n5+f/6Ofo/+fn5//n6Oj/5+fn/+fn5//n5+f/5+fn/+fo5//o6Oj/6Ofn/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6enp/+np6f/p6en/6enp/+jo6P/p6On/6Ojo/+np6P/p6en/6enp/+np6f/p6en/5+fn/+fn5//n5+f/6Ofn/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/6Ojo/+fo5//o6Oj/6Ojo/+no6P/o6Oj/6ejp/+jo6P/p6en/6enp/+np6f/p6en/6enp/+np6f/q6en/6ejo/+np6f/p6en/6enp/+np6f/p6ur/6enp/+rq6v/p6en/6enp/+np6f/p6ur/6erp/+rq6v/q6ur/6urq/+np6f/p6er/6erq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6+rr/+vr6//r6+v/6+vr/+vr6//q6ur/6+vr/+rr6v/r6+v/6+vr/+vr6//r6+v/6+vr/+nq6v/q6ur/6urq/+rq6v/q6ur/6+rr/+rq6v/q6uv/6urq/+rq6v/q6ur/6urq/+vr6v/r6+v/6urr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+zr7P/r6+v/7Ozs/+vr6//r6+v/6+vr/+zs6//r6+v/7Ozs/+zs7P/s7Oz/6+vr/+zs7P/r7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7f/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/t7e3/7O3s/+zs7P/t7e3/7O3s/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7e3/7e3u/+7u7v/s7Oz/7Ozs/+zs7P/t7O3/7O3t/+3t7f/t7ez/7e3t/+zs7P/s7ez/7Ozt/+zs7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e7t/+7t7f/u7u7/7u7u/+7u7v/t7e3/7e3u/+3t7f/u7u7/7u7u/+7u7v/u7u7/7u7u/+3u7v/u7u7/7u7u/+7u7v/u7u7/7+7v/+7u7v/v7+7/7u7u/+7u7v/u7u7/7u7u/+7v7v/v7+//7u7u/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/w8P/w8O//8PDw/+/v7//v7+//7+/v/+/w7//v7+//8PDw//Dw8P/w8PD/7u7u/+7v7v/u7u7/7+7v/+/v7//v7+//7+/v/+/v7//v7u7/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/w/+/v7//w8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/7/Dv//Dw8P/w8PD/8PDw//Dw8P/x8PH/8PDw//Hx8P/w8PD/8PDw//Dw8P/w8PD/8PHx//Hw8P/x8fD/8fHx//Dw8P/w8PH/8PDw//Dx8f/x8fD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hw8P/x8PD/8PDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8PDx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//Pz8//09PT/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9PT0//T09P/09PT/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j4+P/39/f/+Pj4//b29v/29vb/9vb2//f39//39/f/9/f3//f39//39/f/9vb2//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/+Pj4//j4+P/4+Pj/+Pj4//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//j4+P/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6+vr/+fn5//r6+v/5+fn/+fn5//n5+f/5+fn/+vr6//r6+v/6+vr/+vr6//n5+f/6+vr/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+/v7//v7+//7+/v/+/v7//r6+v/7+/v/+vr6//v7+//7+/v/+/v7//v7+//7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//6+vr/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//v7+//7+/v/+/v7//z8/P/8/Pz//Pz8//z8/P/8/Pz/+/v7//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//39/f/8/Pz//f39//z8/P/8/Pz//Pz8//z8/P/9/f3//f39//39/f/9/f3/tLW0/7W1tP+1tLX/tbS0/7S0tP+2trb/tLW0/7W2tf+0tLT/tbW1/7S0tP+0tLT/trW1/7W2tf+1trb/tba1/7a2tf+2tbX/tbW1/7a1tf+1trX/tra2/7a2tf+2t7f/tra1/7W1tf+2trX/tba1/7e3t/+3trf/tre2/7a2t/+1tLT/tbW1/7S0tf+2tbb/tbW1/7W1tv+1tbb/tbW1/7a1tf+1tbb/trW2/7a1tv+2trX/tra2/7a2tv+2trX/tbW2/7a2t/+1tbX/tra3/7a2t/+2t7f/t7e2/7a2t/+2t7f/tre2/7a2t/+3trf/t7e3/7e3tv+3t7f/t7e2/7a2tv+2t7f/tra2/7a3t/+3trf/uLe3/7a2tv+4t7j/tre2/7e2tv+2trf/t7e2/7e3uP+4t7f/t7i4/7e3t/+3uLj/t7i4/7e3uP+3t7f/t7i4/7i4uP+4ubn/ubm5/7e3t/+3t7j/uLi4/7m5uP+4ubn/uLm4/7m5uf+4ubn/t7a3/7e3t/+3trb/t7e4/7i4uP+4uLf/t7e4/7e4t/+4uLj/t7e4/7e3t/+3t7f/uLi3/7e3t/+4uLf/ubm4/7i4t/+5uLn/ubm4/7m4uP+4ubn/uLi5/7i4uP+4ubj/uLi4/7m5uP+4uLj/ubi5/7m4uP+4ubj/uLi5/7m5uf+4uLj/ubi5/7i4uP+5uLn/ubi4/7m5uf+5ubn/ubq5/7i4uP+4uLn/uLi4/7m5uf+5ubn/urm5/7q6uf+5urr/urq5/7q6uf+5ubr/ubq5/7q6uv+6urr/urq6/7u6u/+6ubr/urq6/7q6uf+6urr/urq6/7q6uv+6urr/uru6/7m4uf+5ubn/ubm5/7q6uf+6urn/urq5/7m5uv+6ubn/ubm5/7m5uv+6ubr/urm6/7m5uf+6urr/urm6/7q6uv+6urr/urq6/7q6uv+6u7v/u7u6/7q7u/+6urv/u7q7/7q6uv+6urr/u7q6/7q6u/+6u7v/u7u7/7q6uv+7u7v/urq7/7q7uv+6u7v/u7q7/7u7u/+8u7v/u7u7/7u8u/+7u7r/u7u7/7q6uv+7u7v/u7u8/7u8u/+8vLz/u7y7/7y7vP+8u7v/u7y7/7y8vP+8vLz/vb29/728vP+9vb3/u7y7/7y8vP+8vLz/vb28/7y8vf+8vLz/vby8/729vP+7u7v/u7u8/7u7u/+8u7z/u7y8/7u8u/+8u7v/vLy8/7y8u/+7u7v/u7y8/7u7u/+8vLz/vLy8/7y8vP+9vbz/vLy8/728vf+9vL3/vby9/729vf+9vb3/vLy9/729vf+8vb3/vL28/7y9vP+9vbz/vb29/729vv+9vb3/vb2+/728vP+9vb3/vby9/729vf+9vb3/vr69/769vv++vb3/vb29/76+vf+9vb3/vb29/769vf+9vr7/vb69/76+vv+9vr7/vr6+/76+vv+/vr7/v76//76/vv++vr7/v76+/76+vv+/v77/v7+//76/vv+/vr//v7+//7++v/+/v7//vr69/769vf+9vb7/vb6+/729vv++vr7/vr6+/76+v/+9vb7/vb69/72+vf++vr7/vr6+/7++v/++vr//v7+//7+/vv+/v7//vr++/7++v/+/v7//v8DA/7+/v/+/wMD/vr6+/7+/v/+/vr7/v7+//8C/wP+/wL//wL+//7+/wP+/v7//v7+//7+/v/+/v7//wMDA/8DAwP+/wMD/wMDA/7/AwP+/v7//v7/A/8C/v//AwMD/wMDA/8DAwP/AwcD/wMDA/8HAwf/AwcH/wcDA/8HBwf/BwcH/wcHB/8HBwv/BwcD/wcDA/8HBwf/BwcH/wcHB/8HBwf/BwcL/wcHB/7/AwP/AwMD/v7+//8DAwP/AwMD/wMDA/8DBwP/BwcH/wMDA/8DAwP/AwMD/wMHA/8HAwP/AwMD/wMDA/8HBwf/AwMD/wcHB/8HBwf/CwcH/wcHC/8HBwv/BwcH/wsHC/8HBwf/BwsL/wcLC/8LBwf/BwcH/wsLC/8HBwf/CwsL/wsHC/8HBwf/CwsH/wsHB/8LCwv/CwsL/wsLC/8PDwv/CwsH/wsLC/8LCwv/CwsL/wsLC/8PDwv/DwsL/w8PD/8PDwv/Dw8P/wsPC/8PDw//Ew8P/xMTD/8PDxP/ExMP/w8PD/8PExP/Dw8P/xMPD/8PExP/Dw8T/w8PD/8TExP/CwsL/wsPC/8LCwv/Cw8P/wsLD/8PDw//CwsP/w8PD/8PCwv/Cw8P/w8PD/8LCwv/Dw8P/xMPD/8PDw//Dw8T/xMPD/8TDxP/Ew8P/xMTD/8TDxP/ExMT/xMTE/8XExP/Dw8T/w8TE/8TDw//ExMT/xMTE/8XFxf/FxcT/xMXF/8TDw//ExMT/xMTE/8XFxf/ExMT/xMTF/8TExP/FxcX/xMTE/8TFxf/ExMT/xMTF/8TExP/FxcX/xcXF/8XFxv/FxcX/xcXG/8bGxf/Fxcb/xcXF/8bGxv/GxcX/xsbG/8XFxf/FxsX/xcbF/8bGxf/Gxsb/xsbH/8bGxv/Hx8b/xcXE/8XFxP/ExMX/xcXF/8XFxf/Gxsb/xcXF/8bFxf/ExMT/xcXF/8XFxf/FxsX/xcbF/8XFxf/Fxsb/xsXF/8XGxf/Gxsb/xcbG/8bGxv/Gx8f/x8bG/8fGxv/Gx8b/xsbG/8fGxv/Gxsb/x8fG/8fGx//Hx8f/x8bG/8fHx//Hxsf/xsbH/8fGxv/Hx8b/x8fH/8fHx//Hx8f/x8jH/8fGx//Hx8f/xsbH/8fHx//HyMj/yMjI/8fHx//Ix8j/x8fI/8jIyP/Hx8j/yMjI/8nIyf/Iycn/yMjI/8nIyf/IyMj/yMnI/8jIyP/Jycj/yMjI/8nJyf/IyMj/ycnJ/8fHx//IyMf/x8fH/8jHx//HyMj/yMjI/8fIx//IyMj/yMjI/8jHyP/HyMj/yMjI/8jIyP/Jycj/yMjI/8jIyP/JyMj/ycnI/8jIyf/JyMn/ycnJ/8rJyv/Jycn/ycnK/8nIyP/Jycn/ycjI/8nJyf/Jycn/ycrK/8nKyf/Jysr/ycnJ/8rKyf/Jycn/ysrJ/8rKyf/Jysn/ycrJ/8rKyv/Jycn/ysrJ/8rJyv/Jycr/ysrJ/8rKyv/Kysr/y8vK/8rKyv/Ky8v/ysvK/8rKy//Kysr/y8vL/8vLy//LzMv/y8vL/8rLyv/Kysv/y8vL/8vLy//Ly8v/zMvM/8vMzP/Kysr/ycrJ/8rJyf/Kysr/ysrK/8rLyv/Lysr/ysvL/8nJyv/Kysr/ysrK/8rLyv/Ky8v/y8rL/8rLyv/Ly8v/y8vL/8vLy//Ly8v/zMvM/8vLy//My8v/zMvL/8zMzP/Ly8v/y8vM/8vLy//MzMz/zMvM/8zMzP/MzMz/zM3M/8vLzP/LzMz/zMzL/8zMzP/MzMz/zc3M/8zMzf/NzM3/y8zL/8zMzP/MzMz/zczM/83NzP/MzMz/zMzN/83Nzf/Mzcz/zc3N/83Nzf/Nzs7/zc3O/83Nzf/Nzc7/zs7O/83Nzf/Ozc7/zc3O/87Nzv/Nzc3/zs7O/87Ozv/Pz8//zMzM/8zMzP/MzM3/zc3N/83MzP/Nzc3/zc3N/83Nzv/NzMz/zczM/83Nzf/Nzc3/zc3N/83Ozf/Nzc7/zc3N/87Ozf/Ozc7/zc3O/87Ozv/Ozs7/zs/O/87Pz//Pzs//zc7N/87Ozv/Ozs7/zs7P/8/Pz//Pz8//zs7O/87Pzv/Ozs7/zs7O/87Oz//Ozs7/z8/O/8/Pz//Pz8//z8/P/8/Ozv/Ozs7/zs/P/8/Pz//Pz8//0M/Q/8/Pz//Pz9D/0NDP/9DQ0P/P0ND/0NDQ/9DQ0P/R0NH/0dHR/9HQ0f/Qz9D/0NDQ/9DQ0P/Q0ND/0dDQ/9DR0f/R0ND/0dHQ/87Ozv/Pz8//z87O/8/Pz//Pz9D/0M/Q/8/Qz//Q0ND/z8/P/8/Pz//Pz8//0NDP/9DP0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0dDR/9HR0f/Q0dH/0dHR/9DR0f/Q0ND/0NDQ/9DR0f/R0dH/0tHR/9HR0f/R0tL/0NHQ/9HR0f/Q0NH/0dHR/9LR0v/R0tL/0tLR/9HR0v/R0dH/0dHR/9HR0f/S0tH/0dHR/9LS0v/S0tH/0tLS/9LS0v/S09P/0tLS/9PS0//S09P/09PT/9LT0v/T09P/09PS/9LT0//S0tL/0tLT/9PT0//U09T/09PT/9TU0//R0dH/0dHR/9HS0f/R0dL/0tLS/9LT0//S0tL/0tLS/9LR0f/S0tL/0dHS/9LS0v/S09L/0tLS/9LT0//T09L/0tLT/9PT0//S09L/09PT/9PT0//U09P/09TT/9PU1P/T09P/09TU/9PT0//U1NP/09PU/9TU1P/T1NP/1NTU/9PT0//U09T/09PU/9PT0//U1NT/1NTU/9TU1P/V1NX/1NPU/9TU1P/T1NP/1NTU/9TV1P/U1NT/1NTV/9XU1P/V1NX/1dXV/9XU1P/V1dX/1dXV/9bV1f/V1dX/1tXW/9XV1f/V1dX/1dXV/9XV1f/V1tX/1tbW/9bW1v/W1tb/1NTU/9TV1P/U1NT/1dTU/9XV1f/V1dX/1NTU/9XV1f/U1NT/1dTV/9TU1P/V1NT/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1tb/1dXV/9XV1v/W1tb/1tbW/9bW1v/W1tb/1tXV/9bW1v/V1dX/1tbW/9bW1v/W1tf/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tfX/9fX1//X1tb/19fX/9bW1v/X19f/1tbW/9bX1//X19f/19fX/9fX1//X19f/19fX/9fY2P/X19f/19jY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nf/2NjY/9fX1//Y2Nj/2NjY/9jZ2P/Y2Nj/2NjY/9fW1v/X19f/1tfW/9fX1//X19f/19fY/9fX1//X2Nj/19fX/9fX1//X19f/19fX/9jX2P/Y2Nj/19jY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NnY/9nZ2f/Z2Nn/2dnZ/9jY2P/Z2Nj/2NjY/9jZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2NjY/9nZ2f/Y2dn/2dnZ/9nZ2f/a2dn/2dnZ/9nZ2v/Z2dn/2dnZ/9nZ2f/Z2dn/2drZ/9ra2v/a2dn/2tra/9ra2v/a2tr/2tra/9ra2v/b2tv/29vb/9va2v/b29v/2tra/9va2v/a2tr/29ra/9vb2//b29v/29vb/9vb2//Z2dn/2tra/9nZ2f/a2tn/2tra/9ra2v/a2tr/2tra/9nZ2f/a2tr/2dna/9ra2v/a2tr/2tvb/9ra2v/b2tr/2trb/9vb2//b29v/29vb/9vb2//c29v/29vb/9vc2//b29v/29vb/9vb2//b29v/3Nvc/9zc3P/b29v/3Nzc/9vb2//c29z/29vb/9vc2//c3Nz/3Nzc/9zc3P/c3Nz/29vc/9zc3P/b3Nz/3Nzc/9zc3P/c3N3/3Nzc/9zc3P/d3d3/3d3d/93d3P/d3d3/3d3d/93d3f/d3d3/3t7e/93d3f/d3d3/3d3d/93d3f/d3d3/3d7e/93d3v/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zd3P/d3d3/3N3d/93d3f/c3Nz/3Nzc/9zc3P/d3N3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/97d3f/d3t3/3t7e/97e3v/e3t7/3d3d/97d3v/e3d7/3t7e/97e3v/e3t7/3t7e/9/e3v/d3d7/3t7e/97e3v/e3t7/3t7e/97f3v/e3t//39/f/97e3v/e3t7/3t7e/97f3v/f3t7/39/f/9/f3//f39//39/f/9/f3//f39//39/g/+Dg3//g4OD/4ODg/+Dg4P/f39//3+Df/9/f4P/g4OD/4ODg/+Dg4P/g4OD/4eDg/97e3v/f39//3t/f/9/f3//f39//39/f/9/f3//f4N//3t7e/9/f3//f39//39/f/9/f3//f39//4N/f/+Dg4P/g39//4ODg/+Dg4P/g4OD/4ODg/+Hg4P/g4OD/4eHh/+Dg4P/g4OD/4ODg/+Dg4P/g4OH/4eHh/+Hh4f/h4eH/4ODg/+Dh4P/h4eD/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/g4eH/4eHh/+Hh4f/h4eH/4eHh/+Lh4v/i4eL/4eLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Lj4v/j4+P/4uLj/+Pj4//h4eH/4eHh/+Hh4f/h4uL/4uLh/+Li4v/i4uL/4uLi/+Hh4f/i4eH/4eHh/+Lh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Pi4v/i4uL/4uPi/+Pj4//j4+P/4+Pj/+Pj4//i4+L/4+Pj/+Pj4v/j4+P/4+Pj/+Pj4//j4+P/4+Tj/+Pj4//j4+P/4+Pj/+Pj4//j5OP/5OTk/+Tj5P/k5OT/4+Pj/+Tj5P/j4+P/4+Tj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5eXk/+Tk5P/l5eT/5eXl/+Xl5f/l5eX/5eXl/+Tk5P/l5eX/5OXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eb/5OPk/+Tk5P/k5OT/5OTk/+Tk5P/k5eX/5OTk/+Xl5f/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5f/k5OT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5uXl/+Xl5f/m5ub/5eXl/+Xl5f/l5eX/5eXm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5ebl/+Xm5f/m5ub/5ubm/+bm5v/m5ub/5+bm/+Xm5f/m5ub/5ubm/+bm5v/m5ub/5+bm/+bn5v/n5ub/5+fm/+fn5//n5+b/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6Ojo/+jo6P/n6Of/6Ojo/+bm5v/m5ub/5ubm/+fn5//n5ub/5+fn/+fn5v/n5+f/5ubm/+bn5//m5ub/5ubm/+fn5//n5+f/5+fn/+fn5//n5+f/5+fo/+fn5//n5+j/6Ojo/+jo6P/o6Oj/6Ojo/+fn6P/o6Oj/6Ofo/+jo6P/o6Oj/6ejp/+jo6P/p6ej/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6ej/6ejp/+np6f/o6Oj/6Ojp/+jo6P/p6On/6Ono/+np6f/p6en/6enp/+np6f/p6en/6enp/+rq6f/p6er/6urq/+rq6v/q6ur/6enp/+nq6v/p6un/6urq/+rq6v/q6ur/6urq/+rq6v/p6Oj/6Ojo/+jo6P/p6en/6enp/+np6f/p6en/6erp/+jp6P/p6en/6enp/+np6f/p6en/6unp/+nq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/r6+r/6urq/+vq6//q6ur/6urq/+rq6v/q6ur/6+rq/+vr6//q6uv/6+vr/+rq6v/q6ur/6urq/+rq6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6ur/6+vr/+vr6//r6+v/6+vr/+zr6//r6+v/6+zr/+zr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zr7P/s7Oz/7Ozs/+zs7P/s7Oz/7O3s/+zs7P/t7Oz/6+vr/+vr6//r6+v/6+vr/+vr6//s7Ov/7Ovr/+zs7P/r6+v/6+vr/+vr6//r7Ov/6+zs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/t7Oz/7e3t/+zs7f/t7e3/7Ozs/+zs7f/s7Oz/7O3t/+3t7f/t7e3/7e3t/+3t7f/s7Oz/7e3t/+zs7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7u3u/+7t7v/u7u7/7e3u/+7u7v/u7u7/7u7u/+7u7v/u7u//7u7u/+7v7//u7u7/7u7u/+7u7v/u7u7/7u7u/+/v7//u7u//7+/v/+3t7f/t7e3/7e3t/+3t7f/t7u3/7u7u/+7u7v/u7u7/7e3t/+7t7v/t7e3/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7+7u/+7u7v/u7+//7+/v/+/v7//v7+//7+/v/+/v7v/v7+//7+/u/+/v7//v7+//7+/v/+/v7//v8PD/7+/v/+/v7//v7+//7+/v/+/v7//v7+//8PDv//Dw8P/v7+//7+/v/+/v7//w8PD/8PDv//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHw//Dx8f/x8fH/8PDw//Dw8f/w8PD/8PHx//Dw8P/x8fH/8fHx//Hx8f/v7+//8PDw/+/w7//w8PD/8PDw//Dw8P/w8PD/8PDw/+/w7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8PH/8PDw//Hx8P/x8PH/8fHx//Hx8f/x8fH/8fHx//Hx8f/w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//y8vL/8/Pz//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//Pz8//z8/P/8/Pz//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9PT0//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5+fn/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//j4+P/39/f/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//r6+v/5+fn/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//n5+f/5+fn/+fn5//n5+f/5+fn/+vr6//n5+f/6+vr/+fn5//n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/7+/v/+vr6//r6+v/6+vr/+vr6//v7+//7+/v/+/v7//v7+//6+vr/+/v7//r6+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//Pz8//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//f39//z8/P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pz8//z8/P/8/Pz//Pz8//z8/P/9/f3//Pz8//39/f/8/Pz//Pz8//z8/P/8/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/fm2tbb/trW26ra2tf+2trb/tbW2/7a3tv+2trb/t7a3xra1tf+1trWZtbW1/7W2tf+3t7f/t7e2/7a2tv+3t7b/t7e3/7a2tv+3trb/tra2/7e3t/+4uLf/tre3/7i4t/+3t7b/tra2/7e2t/+2t7f/t7e4/7e4t/+3uLf/t7e3Wra1tv+3t7YMtrW29ra3tv+2trb/tra2/7e2tv+3trYAtre2lra2tgC2trYbtre3/7a2t/+3t7bztra2/7e3t/+2t7f/uLi3/7e3tv+4t7f/uLe3/7i3t/+3t7f/t7e3/7e3t/+3t7f/t7e4/7e3uP+3t7f/uLe3/7e3t/+5uLj/uLe4/7e4t/+3uLf/t7e3/7e3t/+5uLj/uLm5/7m5uP+3t7j/uLi3/7e3uP+4ubn/uLi4/7m4uf+4uLn/ubi4/7m5uP+4uLn/ubi4/7m5uP+4ubn/ubm5/7m5uf+5ubr/ubi5/7i5uf+5uLn/ubm5/7m5uf+6ubn/ubm6/7m6uv+4t7f/ubi5/7m5uP+4ubn/uLi5/7i4uP+4uLj/ubi4/7m5uP+4uLn/ubi5/7m4uP+4uLj/ubi4/7i4uf+5ubn/uLm5/7m5uf+5ubn/ubm5/7q5uv+6ubn/urq5/7q6uv+5ubn/urq5/7m5uf+5ubn/ubq5/7q6uv+5urr/urq6/7m6uf+5ubr/ubm5/7m6uv+6urr/urq6/7q6uv+6u7r/ubq5/7q6uv+6ubn/urq6/7q6uv+6u7v/u7q7/7q6uv+6urr/uru7/7u6u/+6u7r/u7u7/7y7u/+7u7v/u7u8/7q6uv+7u7v/u7q7/7u7u/+7u7z/u7y7/7u7u/+7u7v/urq6/7q6uv+6urr/u7u6/7q7uv+7urr/u7u6/7q7uv+6urr/u7q6/7u7uv+7urr/uru6/7u7u/+7u7r/u7u7/7u7u/+7u7v/u7u7/7y7u/+7u7v/u7u7/7u8u/+8vLz/vLy8/7u7u/+7vLv/u7u7/7y7u/+8vLz/vLy8/7y8vP+7vLv/u7u7/7y8u/+8vLz/vLy8/7y9vP+8vbz/vby9/7y7vP+8vLz/vLy8/728vP+9vLz/vby8/728vP+8vb3/vb28/729vf+8vbz/vb29/729vv++vb3/vb2+/72+vf+9vb3/vr6+/729vf+9vb7/vr2+/76+vf++vr7/vr6+/7y8vP+9vLz/vL28/7y9vP+8vL3/vb29/7y9vP+9vb3/vLy9/7y8vf+8vL3/vLy9/729vf+9vb7/vb29/729vf+9vr7/vb69/769vv++vr7/vr29/76+vv++vr7/vr++/769vv+9vb7/vb69/76+vv++vr7/vr++/76+v/++v7//vb29/76+vv++vr7/v7+//76/v/++v7//vr++/7++v/++vr7/v76+/76/v/++vr7/v7++/7+/v/+/vr//v7+//7+/v/+/v8D/v7+//8DAv//Av8D/wMDA/7+/wP/AwMD/v8DA/7+/wP/Av7//v7+//8DAwP/AwMD/wMDA/8HAwP+/vr//v76+/76/vv+/v77/v7+//7/AwP+/v7//wMC//76/vv+/v7//vr6+/7+/v//Av8D/v8DA/7/AwP/AwL//v7+//8DAwP+/wL//wMDA/8DAwP/AwMD/wMHA/8HAwf/AwMD/wMDA/8DAwP/AwMH/wcDB/8HAwP/AwMD/wcHB/8DAwP/BwMD/wcDB/8HBwP/BwcD/wcHB/8HBwf/CwsH/wMHA/8DAwP/BwcH/wcHB/8HBwf/CwcH/wsHC/8LBwf/BwcH/wcLB/8LCwv/BwcL/wsLC/8LCwv/CwsL/w8PD/8LCwv/CwsL/wcLB/8LCwv/Dw8L/wsLC/8LDw//DwsP/wMDA/8HBwf/BwcH/wcHB/8HCwv/CwsL/wsHC/8LBwf/BwcH/wsHB/8LBwf/CwcL/wcHC/8LCwv/BwsL/wsLC/8LCwv/Cw8L/wsLC/8PDwv/CwsP/w8PD/8LDw//Dw8P/wsPD/8PDwv/Dw8L/wsPC/8PDw//Dw8T/w8PD/8TExP/Dw8L/w8PD/8LCwv/Dw8P/w8PD/8PDw//Dw8P/w8TD/8PDw//Ew8P/w8PD/8PEw//DxMP/w8PD/8TDxP/ExMT/xMTE/8TExP/ExMT/xcXF/8TExf/FxMX/xcTE/8XFxf/ExMT/xMXF/8XExP/FxcX/xMTF/8XFxf/FxcX/xsbG/8TDw//Dw8T/w8PD/8PDw//ExMP/xMTE/8TExP/ExcT/w8TE/8TExP/Ew8P/xMTE/8TExP/FxcX/xcTE/8XFxP/ExcT/xcTE/8TExP/FxcX/xcXF/8bGxv/Gxcb/xcXG/8XFxP/FxcX/xcXF/8bFxf/GxcX/xsbG/8XFxv/Fxsb/xcXF/8bGxf/Fxcb/xcbF/8bFxv/Gxsb/xcbF/8bGxv/FxsX/xsbG/8XFxv/Gxcb/xsbG/8fHxv/Gxsb/x8bG/8bHxv/Hx8b/x8bG/8fGxv/Hx8f/x8jH/8fHx//Ix8j/xsfH/8fHx//Hxsb/x8fH/8jIyP/HyMf/yMfH/8fHx//Fxcb/xsbG/8XGxv/Gxsb/xsfG/8bGx//Hx8f/x8fG/8bGxv/Gxsf/xsbG/8bGxv/Gxsb/x8fH/8bHxv/Hx8f/x8fH/8jHx//Hx8f/x8fI/8jHyP/IyMj/yMfI/8jIyP/Hx8f/yMfI/8fIyP/HyMf/yMjI/8nIyP/IyMj/yMnJ/8jHx//IyMj/x8jI/8jIyP/IyMn/ycjJ/8nIyP/Jycj/yMjI/8jJyP/IyMj/ycjI/8jIyP/IyMj/yMnI/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ysnJ/8nJyv/Jysr/ysrK/8nJyf/Jysr/ysrK/8rKyv/Jycn/ysrK/8rKyv/Ly8v/yMnJ/8nJyf/IyMj/yMnI/8jIyf/Jycn/ycnJ/8nJyf/IyMn/ycjI/8jIyf/Jycn/ycnJ/8rKyv/Jycr/ycnJ/8nJyf/Jysr/ysnJ/8rKyv/Kysr/y8rK/8vKyv/Lysr/ysnJ/8rKyv/Kysr/y8rK/8rKy//Ky8r/y8vL/8vLy//Kysr/ysrK/8vLy//Kysr/y8vK/8vLy//Ly8v/y8zL/8rLyv/Lysv/y8rK/8vLy//Ly8v/y8vM/8vLzP/MzMz/zMzM/8zLzP/LzMv/zMzM/8zMzP/NzMz/zMzM/83Nzf/My8z/zMzM/8zMzP/MzMz/zMzN/8zNzf/NzMz/zc3N/8vLy//Ly8v/y8vL/8vLy//LzMv/zMzL/8zLy//MzMz/y8vL/8vMy//My8v/zMvL/8vLy//MzMz/zMzM/8zNzP/MzMz/zM3N/83Nzf/MzMz/zM3N/83Nzf/Nzc3/zc7N/83Mzf/Mzcz/zMzM/83Nzf/Nzc3/zc7N/87Ozv/Nzc3/zMzM/83Nzf/Nzc3/zc7N/87Nzv/Nzs7/zs7N/87Ozv/Nzc3/zc3O/87Ozv/Ozs3/zc3O/87Ozv/Ozs7/zs7P/87Ozv/Ozs//z8/O/8/Pz//Oz87/z8/P/87Oz//Pz8//zs/O/8/Pz//Oz87/z87O/8/Pz//Q0ND/z8/P/9DPz//Nzs7/zc7N/83Nzv/Ozs7/zs7O/87Pzv/Oz87/zs7P/83Ozf/Ozs7/zs7O/87Ozv/Pz87/zs7O/87Oz//Pzs7/zs7P/8/Pz//Ozs7/z8/P/9DP0P/Q0ND/z9DQ/9DQz//Pz8//0M/P/8/Pz//Qz8//z8/Q/9DQ0P/P0ND/0NDQ/9DP0P/Pz8//z8/P/8/Q0P/Q0ND/0dHR/9DQ0P/Q0ND/z9DP/9DQ0P/Qz9D/0NDQ/9HQ0f/R0dD/0NDR/9DR0f/R0NH/0dHR/9DQ0P/R0dH/0dLR/9HS0v/S0dL/0tHR/9HR0f/R0dL/0dHR/9HR0f/R0dL/0tLS/9LS0v/S0tL/0NDQ/9HQ0P/Q0ND/0NHR/9DR0P/R0dH/0NDQ/9HR0f/Q0ND/0dDQ/9DQ0f/Q0NH/0dHR/9LS0f/R0dH/0dLS/9HR0v/R0tL/0tLS/9HS0f/S0tL/0tLT/9LS0v/T0tL/0tHS/9LS0v/R0dH/0tLS/9LS0v/S0tL/09PS/9LS0//S0tL/0tLS/9LS0v/S0tP/0tPT/9PT0//T0tL/09PT/9LS0//S09L/09PT/9LS0v/T09P/09PT/9PT0//U1NT/09TU/9TU0//T1NP/1NPU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TT0//U1NT/1NTU/9TV1P/V1NX/1NTU/9PT0v/T09P/0tLT/9PT0//U1NP/1NTT/9TT1P/U1NT/09PT/9TT1P/T09P/1NPT/9PU1P/U1NT/1NPU/9TU1P/U1NT/1NTU/9TU1P/V1NX/1NTV/9XV1f/V1NX/1dXV/9TU1f/V1dT/1dXU/9TV1f/V1dX/1dXV/9XV1f/V1dX/1NTV/9XV1f/V1dT/1dXV/9XV1f/W1dX/1dXV/9XW1v/V1dX/1dXV/9XV1f/V1dX/1dbV/9bW1v/V1db/1tbW/9bW1v/W1tb/1tbW/9bW1v/W19f/19fX/9fX1v/X19f/1tbW/9bX1v/W1tb/1tbW/9fX1//X19f/19fX/9fX1//V1dX/1tXW/9XV1f/V1db/1tbW/9bW1v/W1tb/1tbW/9bV1v/W1tb/1tbV/9bW1v/W1tb/1tfW/9bW1v/W1tb/19bW/9fX1//W1tb/19fX/9fX1//Y2Nf/19fX/9jX1//X19f/19fX/9fX1//X19f/19fY/9jY2P/X19f/2NjY/9fX1//X2Nj/19fX/9fX2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjX/9jY2P/Y2Nf/2NjY/9jY2P/Y2dn/2NjY/9nZ2P/Z2dj/2dnZ/9jY2P/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2tr/2tra/9nZ2f/a2tr/2NjY/9jY2P/Y2Nj/2NjY/9jZ2P/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY2P/Y2dj/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9rZ2f/a2tr/2tra/9ra2v/a2tr/2dnZ/9ra2v/Z2tr/2tra/9ra2v/b2tr/2tra/9ra2//a2tr/2tra/9ra2v/a2tr/2tra/9vb2//b29v/29vb/9ra2v/a29v/2tra/9ra2v/b29v/29vb/9vb2//b29v/29vb/9vc3P/b29v/3Nzb/9zc3P/c3Nz/3Nzc/9zc3P/c3Nv/3Nzc/9vc3P/c3Nz/3Nzc/93c3P/c3Nz/3dzc/9va2v/b29v/2tra/9vb2//b29v/29vc/9vb2//b29v/29vb/9vb2//b29v/29vb/9zc2//c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3dzd/93d3f/d3Nz/3d3d/9zc3P/c3d3/3Nzc/9zc3P/c3dz/3d3d/93d3f/d3d3/3d3d/93d3f/c3dz/3d3d/93d3f/d3d3/3d3d/97d3f/d3d3/3d3d/93d3f/d3d3/3d3d/97e3v/d3t3/3t7e/93e3v/e3t7/3t7e/97e3v/e3t7/3t7f/97e3v/f39//3t7e/97e3v/e3t7/3t/e/97e3v/f39//39/f/9/f3//d3d3/3d3d/93d3f/e3d3/3t3d/97e3v/e3t7/3t7e/93d3f/e3t3/3t3d/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/9/e3//f3t//39/f/9/f3//f39//39/f/9/f3//e39//39/f/9/f3//f39//39/f/9/f4P/g39//4ODg/9/f3//f39//39/f/9/f3//g4OD/4ODg/+Dg4P/g4OD/39/f/+Df3//f3+D/4ODg/+Dg4P/g4OD/4ODg/+Dg4f/g4OD/4eDg/+Dg4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hg4f/h4eH/4eHh/+Hh4f/h4eH/4eHi/+Hh4f/h4eH/3+Dg/+Dg4P/g4OD/4ODg/+Dg4P/h4eD/4ODg/+Hh4f/g4OD/4ODg/+Dg4P/h4eH/4eDg/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4uLi/+Hi4f/i4uL/4eHh/+Hi4f/h4eH/4uHi/+Li4v/i4uL/4uLi/+Li4v/h4uL/4uLi/+Hi4f/i4uL/4uLi/+Li4//i4uL/4+Li/+Li4v/i4uL/4uLi/+Li4v/i4uP/4+Pj/+Li4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pk4//k5OT/4+Pj/+Tk5P/j4+P/4+Pj/+Pj4//j4+P/5OTk/+Tk5P/k5OT/5OTk/+Li4v/j4+P/4uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4uPj/+Pj4//i4uP/4+Pj/+Pj4//k5OP/4+Pj/+Tj5P/j4+P/5OTk/+Pk4//k5OT/5OTk/+Tk5P/k5OT/5OXk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tl5f/l5eX/5OTk/+Tk5P/k5OT/5OTk/+Tl5P/l5eX/5eXl/+Xl5f/k5OT/5OTk/+Tl5f/l5eX/5eXl/+Xl5f/l5eX/5ubm/+Xl5f/l5ub/5ebm/+bm5v/m5ub/5ubm/+bm5v/m5+b/5ebl/+bm5v/m5ub/5ubm/+bm5v/n5+f/5+bm/+bm5//k5OX/5eXl/+Xl5f/l5eX/5eXl/+bm5v/l5uX/5ubm/+Xl5f/l5eX/5eXl/+Xl5f/m5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+fm5v/n5+f/5+bm/+fn5//m5ub/5ubm/+fm5//n5+f/5+fn/+fn5//n5+f/5+fn/+bm5//n5+f/5+bm/+fn5//n5+f/6Ojo/+fn5//o6Of/5+fn/+fn5//n5+f/5+fn/+fn5//o6Oj/5+jn/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ono/+np6P/o6On/6enp/+jo6P/p6On/6Ojo/+jo6P/o6ej/6enp/+np6f/p6en/5+fn/+fn6P/n5+f/6Ojn/+jo6P/o6Oj/6Ojo/+jo6P/n6Of/6Ojo/+fn5//o6Oj/6Ojo/+np6P/o6Oj/6ejp/+jp6P/p6Oj/6Ojp/+np6f/p6en/6enp/+np6f/p6en/6Ojo/+np6f/p6en/6enp/+np6f/p6un/6enp/+rq6v/p6en/6enp/+np6f/q6er/6urp/+rq6v/q6ur/6urq/+np6f/p6un/6urp/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+vr6//q6ur/6urq/+vr6//r6+v/6+vr/+vr6//r6+r/6+vr/+vr6v/r6+v/6+vr/+vr6//r6+v/6+vs/+rp6v/q6ur/6urq/+rq6v/q6ur/6urr/+rq6v/q6+r/6urq/+rq6v/q6ur/6urq/+vr6v/r6+v/6urq/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr7P/r7Oz/7Ozs/+vr6//r6+v/6+vr/+zs7P/s6+z/7Ozs/+zs7P/s7Oz/6+vr/+vs7P/s6+v/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/r7Ov/7Ozs/+zs7P/s7Oz/7Ozs/+zs7f/s7Oz/7e3t/+zs7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7e7/7e3t/+3t7f/t7e3/7e3t/+3t7f/u7e7/7e7u/+7u7v/s7Oz/7Ozs/+zs7P/s7Oz/7e3s/+3t7f/t7Oz/7e3t/+zs7P/s7ez/7Ozs/+zs7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e7u/+3t7v/u7u7/7u7u/+7u7v/t7e3/7e3u/+3t7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7f/u7u7/7u7u/+7u7v/u7u7/7+7u/+7u7v/u7+//7u7u/+7u7v/u7u7/7u7u/+/u7v/v7+//7+7u/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Dv7//w7/D/8PDw/+/v7//v7+//7+/v/+/v7//v7/D/8PDw//Dw8P/w8PD/7u7u/+/v7//u7u7/7+/u/+/v7//v7+//7+/v/+/v7//u7u7/7+/v/+/v7v/v7+//7+/v/+/v7//v7+//8O/v/+/v7//w7/D/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v//Dw8P/w8PD/8PDw//Dw8P/x8fD/8PDw//Hw8f/w8PD/8PDw//Dw8P/w8PD/8PHw//Dx8P/x8fD/8fHx//Dw8P/w8PH/8PDw//Dx8P/x8fD/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/y8vL/8fHx//Ly8v/x8fH/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Hx8P/w8fH/8fDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8PDx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PT0//Pz8//09PT/8/Pz//Pz8//z8/P/8/Pz//T09P/09PT/9PT0//T09P/y8vL/8/Pz//Ly8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9PT0//T09P/09PT/9PT0//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b29v/19fX/9vb2//X19f/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/9PT0//X19f/09PT/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j4+P/39/f/+Pj4//b29v/29vb/9vb2//f39//39/f/9/f3//f39//39/f/9vb2//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/+Pj4//j4+P/4+Pj/+Pj4//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//j4+P/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//j4+P/4+Pj/+Pj4//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//r6+v/5+fn/+fn5//n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//n5+f/6+vr/+fn5//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//7+/v/+/v7//r6+v/6+vr/+vr6//v7+//7+/v/+/v7//v7+//7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+/v7//r6+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//v7+//7+/v/+/v7//z8/P/8/Pz//Pz8//z8/P/8/Pz/+/v7//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//f39//z8/P/8/Pz//Pz8//z8/P/8/Pz//f39//39/f/9/f3//Pz8//39/f/8/Pz//f39//39/f/9/f3//f39//39/f/8/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f35/f39//39/er+/v7//f39//39/f/9/f3//f39//39/cb+/v7//v7+mf7+/v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//v7+//7+/lr+/v72/v7+DP7+/v/9/f3//v7+//7+/vP+/v6T/v7+AP7+/hv+/v4A/v7+ALe2tgC2trcAtra3ALa3t4S2t7f/t7i3Cba3t9W4uLcAtra2ALe3tgC3trYAt7e3ALi4tyS3t7cAuLi3ALi4t/+4uLf/t7e3/7i3t/+4uLj/t7e4/7m5uP+4uLj/uLi56re4t/+4t7gzuLi45Li3t/+4uLn/uLm5/7i4uP+4uLkAtra2ALe3twC2t7YAt7i3ALe4twC4uLgAt7e4ALe3uAC3t7cAt7i4ALi4uAC4uLcAt7e4ALi3twC3uLcAt7e4ALe4uBi4ubgAt7i3ALi4uMm5ubj/ubm5Cbm4uYe5ubkAuLi4ALi4uAC4uLgAuLi4ALi5uAC5ubkAubi5ALm5uf+4uLj/uLi4/7i5uP+4uLj/uLm4/7m5uf+5ubn/ubm5/7m5uP+5uLj/ubi5/7m5uf+5ubn/ubq5/7m5uf+5ubn/urq6/7m6uf+5urn/ubm6/7q6uv+6urr/urq6/7q6u/+5urr/urq6/7q5uv+6urr/urq6/7u6uv+7u7r/u7u7/7i4uP+5ubn2ubm5/7m5uf+5ubr/urq5/7m5uv+5urkYubm5mbm5uQC5ubkAurq68Lq5uf+6uroGurm6S7q6uv+6urr/urq6/7q6uv+7urv/u7q7/7q6u/+7u7v/u7u7/7q6uv+7u7qTuru7zLq7uv+7u7r/u7u7z7q7uv+7u7v/u7q6/7q6uv+7u7r/urq6/7u7u/+7vLv/u7u7/7y7u/+7urv/u7u7/7u6uv+7u7v/u7y7/7u8vP+8vLz/u7u8/7y7u/+8vLv/vLu7/7y8vP+8vLz/vL29/729vP+8vL3/vLu7/7y8vP+8vLz/vL28/728vP+9vL3/vby9/7y9vf+7u7v/u7u7/7u7u/+8vLz/u7u7/7y8u/+8u7z/vLy8/7y8u/+7u7v/u7u7/7y7vP+8u7z/vLy8/7y8vP+8vbz/vLy8/728vf+8vL3/vby8/7y8vP+9vb3/vLy9/729vf+9vL3/vL28/7y8vP+8vbz/vb29/72+vf+9vb3/vr2+/7y9vP+9vb3/vL29/729vf++vr7/vb6+/729vv++vb3/vb29/729vf+9vb3/vb29/729vf+9vb7/vb29/76+vv++vb3/vr6+/76+vv++vr//vr6//76+v/++vr//vr6+/76+vv++v7//vr6+/7+/v/++vr7/v7+//7++v/+/v7//vr2+/729vv+9vr7/vr69/72+vv++vr7/vr6+/76+v/++vb3/vb6+/72+vv++vr7/vr6+/76+v/++v77/vr6//7++vv+/vr//vr6+/7++vv+/v7//v7+//7+/v/+/v8D/vr6//7+/v/++vr7/v7+//8DAv//Av7//wMDA/7/Av/+/v7//wL+//7+/v/+/wL//wMC//8DAwP+/v8D/wMDA/8C/v/+/wMD/wL+//8C/v//AwMD/wMDA/8DAwP/AwMD/wMDA/8HBwP/BwMD/wMHB/8HAwP/BwcH/wcHB/8HCwf/AwMH/wcDA/8HBwP/BwcH/wcHB/8LBwv/CwsH/wcHB/7/AwP/AwMD/wL+//8DAwP/AwMD/wMDB/8HAwf/AwcD/wL+//8DAwP/AwMD/wcDB/8DBwP/AwcH/wcDB/8HBwf/BwcD/wcHB/8HBwf/BwsL/wcHC/8LCwf/BwcL/wsHB/8HBwf/CwsH/wsLC/8HBwf/CwsH/wsLC/8LBwf/CwsL/wsLB/8HCwf/CwcH/wcHB/8LCwv/Dw8L/wsLC/8LCw//CwcH/wsLC/8HBwv/CwsL/wsPC/8PCw//Cw8L/wsLC/8LDwv/Dw8P/wsLC/8PDw//Ew8T/xMPD/8PDw//ExMP/w8PD/8TEw//Dw8P/w8TD/8TExP/Ew8P/w8TE/8TExP/CwsL/wsPC/8LCwv/Dw8L/w8PD/8PDw//CwsL/w8PD/8LCwv/DwsL/wsLC/8PCw//Dw8P/xMTD/8PDw//Dw8P/xMPD/8TDxP/Dw8T/xMPE/8PDw//ExMT/xMTE/8XExf/Dw8T/xMTD/8TDw//ExMT/xMTE/8XFxf/ExMX/xMTE/8PDw//ExMT/xMTE/8TFxP/ExMT/xcXE/8TExP/FxcX/xMTE/8XFxf/FxcT/xcTF/8XExf/FxcX/xcXF/8XGxf/FxcX/xsXG/8bFxv/GxcX/xsXG/8bGxv/Fxcb/xsbG/8XFxf/Fxcb/xsXG/8XFxv/Gxsb/x8fG/8bGxv/Gxsf/xcXF/8TExf/ExMX/xcXF/8XFxf/GxsX/xsbG/8XGxv/ExMX/xcXF/8XFxf/Fxcb/xcXF/8XFxv/GxsX/xsXF/8XFxv/Gxsb/xsbG/8bGxv/Hx8b/xsbH/8fGx//Hx8b/xsbG/8bHxv/Gxsb/x8fH/8bHx//Hx8f/xsbH/8fHx//Gxsf/xsbG/8fGxv/Gxsb/x8fH/8fIx//Hx8f/x8fH/8fGx//Hx8f/xsbH/8fHx//HyMj/yMjI/8jHx//Hx8j/x8fI/8jIyP/HyMf/yMjI/8jIyf/Iycj/ycnJ/8nIyP/IyMj/ycjI/8jIyP/JyMj/yMjJ/8jJyP/JyMj/ycnJ/8fHx//IyMj/x8fH/8jHx//IyMj/yMjI/8jHx//IyMj/x8jH/8jHyP/HyMj/yMfH/8jIyP/IyMj/yMjI/8nIyP/Iycj/ycjJ/8jIyP/Jycj/ycnJ/8nJyf/Jycn/ysrJ/8jJyf/IyMn/yMjJ/8nJyf/Jycn/ysrK/8rKyf/Kycn/yMjI/8nJyf/Jycn/ysrJ/8nJyv/Jycr/ycnJ/8rKyv/Jycn/ycrJ/8nJyf/Kysn/ysnK/8rKyv/Kysr/ysvK/8rKyv/Ky8v/ysvK/8vLy//Lysr/y8vL/8vLy//LzMv/ysrK/8rKyv/Ky8r/y8vL/8vLy//LzMz/y8vM/8vLzP/Jycn/ycrJ/8nJyv/Kysr/ysrK/8rKyv/Lysr/ysrK/8rJyv/Kysr/ysrK/8rLy//Ky8v/y8rL/8rKy//Ly8v/y8rK/8vLy//Ly8v/y8vM/8vLy//Ly8v/zMvM/8zMzP/Ly8v/y8vL/8vMy//My8z/zMzM/8zMzP/MzMz/zc3N/8vMzP/My8z/y8vM/8zMzP/MzMz/zMzM/8zMzf/Nzcz/zMvL/8zMzP/MzMz/zMzM/8zMzP/Nzc3/zc3N/83Nzf/MzMz/zc3N/83Nzf/Nzc3/zs7N/87Nzv/Nzc3/zs7O/83Nzf/Ozs3/zs7O/87Ozf/Ozs3/zs7O/87Ozf/Ozs7/zMzM/8zNzP/Nzcz/zczN/8zMzf/Nzc3/zc3N/83Ozf/Nzc3/zc3N/8zMzP/Nzc3/zc3N/83Nzf/Ozc7/zc7N/83Nzv/Ozc3/zc3O/83Nzv/Ozs7/zs/P/87Ozv/Oz87/zs7N/87Ozv/Nzc3/zs7O/87Ozv/Pz8//zs/O/8/Pz//Ozs7/z87P/87Ozv/Pzs7/zs7P/8/Pz//Ozs//z8/P/87Oz//Pzs//z87O/87Pz//Pz8//0NDP/8/Pz//Q0M//z8/P/8/Qz//Pz8//0NDP/9DQ0P/Q0dD/0NDQ/9DR0P/Pz8//0NDQ/8/P0P/Q0ND/0NDR/9DQ0P/Q0NH/0NHR/87Oz//Pz8//zs7P/8/Pz//Pz8//0M/P/9DPz//Qz8//z8/P/9DQz//Pz8//0NDQ/8/P0P/Q0ND/z9DP/9DQ0P/Q0ND/0NDR/9DQ0P/R0ND/0dDR/9HR0f/R0dH/0dHR/9DR0P/Q0NH/0NDR/9HQ0f/R0dH/0dHR/9HR0f/R0dL/0dHR/9HR0f/Q0ND/0dHR/9LR0f/S0tL/0dLR/9LS0v/R0dH/0dHR/9HR0f/S0tL/0tHR/9LS0v/R0dH/0tLS/9LS0v/S0tL/0tLS/9LS0v/T0tL/09PT/9PS0v/T09P/09PS/9PS0v/S09L/0tLS/9PT0//U09P/09PT/9TU0//R0dL/0tLS/9LS0f/S0tH/0tLS/9LS0v/S0tL/09PS/9HR0f/S0tL/0dHS/9LS0v/T09P/09LS/9PT0//T0tL/0tLT/9PT0//T09L/09PT/9TU1P/T1NP/1NTT/9TT1P/T09P/1NTT/9PT0//U09P/09TT/9TU1P/U1NP/1NTU/9PU0//T09T/09TU/9PU0//U1NT/1NTU/9TU1P/U1NX/09PU/9TU1P/U1NP/1NTU/9XV1f/V1NT/1NXU/9XU1P/U1NT/1dXV/9XU1P/V1dX/1dXV/9bW1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1db/1tbW/9XW1v/W1tb/1NTU/9XV1P/U1NT/1dXU/9XU1f/V1dX/1dXV/9XV1f/V1dT/1NXV/9XU1P/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/W1dX/1dXV/9XV1f/W1tb/1tbW/9bW1v/W1tb/1tXW/9bW1v/W1tX/1tbW/9bW1v/X1tf/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tfW/9fX1//W1tf/19fX/9bW1v/X1tb/1tbW/9fX1v/X19f/19fX/9fX1//X19f/19fX/9fY1//X19f/2NjX/9jY2P/Y2Nj/2NjY/9jY2P/Y19j/2NjY/9fX1//Y2Nj/2NjY/9jY2P/Y2Nj/2NjZ/9fX1v/X19f/19fW/9fX1//X19f/2NfY/9fX1//X2Nf/19fX/9fX1//X19f/19fX/9fX1//Y2Nj/2NjX/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2dnY/9nZ2f/Y2Nj/2dnZ/9jY2P/Y2dn/2NjY/9nZ2P/Z2dn/2dnZ/9nZ2f/Z2dn/2NjZ/9nZ2f/Z2dj/2dnZ/9nZ2f/a2tr/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2tnZ/9ra2v/a2dr/2tra/9ra2v/a2tr/2tra/9ra2v/a29r/29vb/9va2//b29v/2tra/9va2v/a2tr/2tra/9vb2//b29v/29vb/9vb2//Z2dn/2dna/9nZ2f/Z2tr/2tra/9ra2v/a2tr/2tra/9nZ2f/a2tr/2dnZ/9ra2v/a2tr/29rb/9ra2v/a2tv/29vb/9vb2//b2tv/29vb/9vb2//c3Nv/29vb/9vc3P/b29v/29vb/9vb2//b29v/29vc/9zc3P/b29v/3Nzc/9vb2//b3Nv/29vb/9zb3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nvc/9zc3P/c29v/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/d3N3/3N3c/93c3f/d3d3/3d3d/93d3f/d3d3/3d3e/93c3f/d3d3/3d3d/93d3f/d3d3/3t3d/93d3v/e3t7/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3d3c/93d3f/c3Nz/3Nzc/9zc3P/d3d3/3d3c/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3v/d3t7/3t7e/97e3v/e3t7/3d3d/93e3v/e3d3/3t7e/97e3v/e3t7/3t7e/97f3v/e3d7/3t7e/97e3v/e3t7/3t7e/97f3v/e397/39/f/97e3v/e3t7/3t7e/97e3v/e3t7/39/f/9/f3//f39//39/f/9/f3//f39//3+Dg/9/g4P/g4OD/4ODg/+Dg4P/f39//4ODf/9/g3//g4OD/4ODg/+Dg4P/g4OD/4eHg/97e3v/f3t7/397f/9/f3//f39//39/f/9/f3//g39//397f/9/f3//f39//39/f/9/f3//g4N//39/g/+Dg4P/g4N//4ODg/+Dg4P/g4OD/4ODg/+Hh4f/h4OD/4eHh/+Dg4P/g4OD/4ODg/+Hg4f/h4OD/4eHh/+Hh4f/h4eH/4ODg/+Dh4f/g4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4OD/4eHh/+Hh4f/h4eH/4eHh/+Hi4v/h4eH/4uLi/+Lh4f/i4uL/4eLh/+Li4v/i4uL/4uLi/+Li4v/j4+P/4uLi/+Li4v/i4uL/4uLi/+Li4//j4+P/4+Pj/+Pj4//h4eH/4eHh/+Hh4f/h4eH/4eHi/+Li4v/h4uH/4uLi/+Hh4f/h4eH/4eHh/+Hi4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Pj4v/i4uL/4+Li/+Pj4//j4+P/4+Pj/+Pj4//i4+P/4+Pj/+Pi4//j4+P/4+Pj/+Pk5P/j4+P/5OTk/+Pj4//j4+P/4+Pj/+Pj4//k4+T/5OTk/+Tj4//k5OT/4+Pj/+Tk5P/j4+P/4+Tk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5f/l5eX/5eXl/+Tk5P/k5eX/5OXl/+Xl5f/l5eX/5eXl/+Xl5f/m5eb/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5f/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xk5P/k5eX/5eXl/+Xk5P/l5eX/5eXl/+Xl5f/l5eX/5eXl/+bm5f/m5ub/5eXl/+Xl5f/l5eX/5ubl/+bm5v/m5ub/5ubm/+bm5v/l5eX/5uXm/+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ufm/+bl5v/m5ub/5ubm/+bm5v/m5ub/5+bn/+fn5//m5+b/5ubn/+fn5//n5+b/5+fn/+fn5//n5+f/5+fn/+jo6P/n5+f/5+fn/+fn5//n5+f/5+fn/+jo6P/n5+j/6Ojo/+bm5v/m5ub/5ubm/+bn5//m5+b/5+fn/+fm5//n5+f/5ubm/+bn5//n5+f/5ubm/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jn6P/o6Oj/5+fo/+jo6P/o6Oj/6Ojo/+jo6P/o6On/6Ojo/+jo6P/o6Oj/6Ojo/+jp6P/o6Oj/6Ojo/+np6f/o6Oj/6Ojo/+jo6P/o6ej/6Ono/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/q6er/6urq/+rq6v/q6ur/6enp/+nq6f/p6en/6urq/+rq6v/q6ur/6urq/+rq6v/p6On/6Ojp/+jo6f/p6en/6enp/+np6f/p6en/6enq/+jp6f/p6en/6enp/+np6f/p6en/6unq/+nq6v/q6ur/6enp/+rq6v/q6ur/6urq/+rq6v/r6uv/6urq/+vq6//q6ur/6urq/+rq6v/q6ur/6+vr/+vr6//q6uv/6+vr/+rq6v/q6ur/6urq/+rr6v/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q6ur/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7ezs/+zs7P/t7O3/6+vr/+vr6//r6+v/6+vr/+vr6//r7Oz/6+zr/+zs7P/r6+v/6+vr/+vr6//r7Ov/6+vr/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/t7Oz/7e3t/+zt7P/t7e3/7Ozs/+3t7f/s7Oz/7ezt/+3t7f/t7e3/7e3t/+3t7f/s7Oz/7e3t/+zs7P/t7e3/7e3t/+3t7f/t7e3/7e7u/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+7u7v/u7u7/7e3t/+7u7v/u7u7/7u7u/+7u7v/u7+7/7u7u/+/v7//u7u7/7u7u/+7u7v/u7u7/7u7v/+/v7//u7+7/7+/v/+3t7f/t7e3/7e3t/+7u7v/t7u7/7u7u/+7u7v/u7u7/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7+7v/+7u7v/v7+7/7+/v/+/v7//v7+//7+/v/+/v7v/v7+//7+/u/+/v7//v7+//7+/v/+/v7//w8PD/7+/v/+/v7//v7+//7+/v/+/v7//v7/D/8PDv//Dw8P/v7+//7+/v/+/v7//v7/D/7+/v//Dw8P/w7+//8PDw//Dw8P/w8PD/8PDw//Dw8P/w8fD/8fDw//Hw8P/x8fH/8PDw//Hx8P/w8PD/8fDx//Hw8f/x8fH/8fHx//Hx8f/v7+//7/Dv/+/v7//v8O//8PDw//Dw8P/w8PD/8PDw//Dv7//w8PD/7/Dw//Dw8P/w8PD/8fHx//Dw8P/w8fD/8PHw//Dw8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLy//Hx8f/y8vL/8fHx//Hx8f/x8fH/8fHx//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Pz8//y8vL/8/Pz//Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8//z8/P/8fHx//Ly8v/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/z8/P/8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T09P/z8/P/9PT0//Pz8//z8/P/8/Pz//Pz8//09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fX/9PT0//X19f/09PT/9PT0//T09P/09PT/9fX1//X19f/19fX/9fX1//Pz8//09PT/8/Pz//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//T09P/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/29vb/9fX1//b29v/19fX/9fX1//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//f39//19fX/9vb2//X19f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/9/f3//f39//29vb/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//4+Pj/9/f3//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5+fn/9/f3//f39//39/f/9/f3//j4+P/4+Pj/+Pj4//j4+P/39/f/+Pj4//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+Pj4//j4+P/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/4+Pj/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+vr6//r6+v/6+vr/+vr6//r6+v/5+fn/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/6+vr/+fn5//n5+f/5+fn/+fn5//n5+f/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/7+/v/+/v7//v7+//6+vr/+vr6//r6+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//Pz8//z8/P/6+vr/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/7+/v//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9/f3//f39//39/f/9/f3//f39//z8/P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//39/f/8/Pz//Pz8//z8/M/8/Pz//Pz8//39/cz9/f2T/f39//39/f/9/f3//f39//39/f/9/f3//f39//39/fb9/f3//f398P39/Uv9/f0G/f39mf39/Rj9/f0A/f39AP39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//v7+//39/f/9/f3//f39//39/f/9/f3q/v7+5P7+/jP+/v7//v7+hP7+/tX+/v4J/v7+AP7+/gD+/v4A/v7+AP7+/iT+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+//39/cn9/f2H/f39Cf7+/hj+/v4A/v7+AP7+/gD+/v4A/f39AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A////AP7+/gD///8= + + + + + diff --git a/tags/1stNUP/CardSaveData/ToSD/body/banner/body.cbmd b/tags/1stNUP/CardSaveData/ToSD/body/banner/body.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..05869f726eba83c562bb665017389a13216b75c1 GIT binary patch literal 48490 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 RSv?m(1dLXjADS>awIv>)=h52mB(w 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_24.ctpk b/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_24.ctpk new file mode 100644 index 0000000..cc54fe7 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_24.ctpk @@ -0,0 +1 @@ +MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUUMMMMMMMMMMMMMUUUMUUUU]]]U]]]]eemMMMUUUU]UU]]]eee]]]eemm nemm v v,v,v-~]eeeemm ve n n v v,~-~M v,~,~-~-~NNoM~NNoop n,v,v-~-~NNo-~NNooppnopӦҦӮӮopӦӦӦԮӦԮ7778XYφMUUUU]]]U]]e]eem]eej]mkeK*!m2 vk+;-~LmNeeemm v v,vm v v,~,v-~-~N v!-~K moK*.uNoS: v-~!dM}K*!NnuopkNdl2oL2ktrҍk.Kl2kpO}nKtd CtӦԮ KB:kB.KB|77cXyӦ|k7m:!kXkY7XXYYzzzYzzכߛߛm:[kV:WJOSzzߛtxߛ,~-~M~NNooNooӦӦӮӮҦӮӮӮԮ77X77XXYyzԮ77X77XXYYz8YYyyzzߛzךߚߛXYyzzכߛߛzߛߛߜߜ \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_48.ctpk b/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_48.ctpk new file mode 100644 index 0000000..24fd5a8 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/banner/icon_48.ctpk @@ -0,0 +1,2 @@ +MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUUMUUUUUUUMMMMMMMUMUUUUUUUUUUUUUU]UUU]]]]]UUUUUU]]U]]]]]]]]]]]]eee]eeeeeem]]]]]]ee]]eeeeemeeeeemm nmmm n n n v veeemmmm nmmm n n v v v n v v v v,v,v,~ v,v,v-~-~-~-~Mm n n v v v,v,~ v,v v,~,~-~-~M~,~-~-~-~M~NNN-~NNNNooo,~-~-~M~M~NNNMNNNNoooNooooppopNNooooopoppӦӦӦӮӦӦӮӮӮԮԮMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMUMMMMMMMMMMMMMMMUMMMUUUUUUUUUUUUUMMMMMUUUMUUUUUUUUUUUU]]]U]]]]]]]UUUUU]]]U]]]]]]e]]]eeeeeeeeeemmm]]]]]eee]eeeeeemeeemmm n nmmm n n v v,veemmmm n vm n n v v v v,v n v v,v,v,~,~-~ v,~,~-~-~M~MN n v v v v,v,v-~ v,~,~-~-~-~-~N-~-~-~NMNNoNNNONoop-~M~M~NNNNoNNNoooopOoopppnoooopopӦӦӮҦҦӦӮӮҦӦӦӮӮӮӦӦӮӮԮԮӮԮ777777777778X78XXXYYy׆MMMUUUUUUUUUUUU]UUU]]]]]]]]]]]]eUUU]]]]]]]]]]eee]]]eeeeeeeememmm]]]eeeeeeeeeemmTemmm +n n n+e+]2kkkk2Kemm ne! Lk n n v v2k2kkKT+;,~,~-~-~-~d-~u-~-~NNN v vm,v,v-~-~-~kk+;K*l\N e~-~MMNNNnumm *!kkkKK-~NNNN\OdNoooo/pkKkBp!k} *:P}kkoooppkS *NdӦl2kkktӮ CӦ:rӦ2Ӯkkk!kk|knSk0dk.Km:kӦӦӮԮӮԮt *kBkB777kckնS * 2kck 2!k7XXXBkBkXYYy7777XXX7XXXXYYyXYYyYyzzyzzzzߚzߛXYYyyzzzyzzzzߚߛߛzzߚߛߛߛߛ]eeeeeemeeemmm n nemm n n v v v n v v v v,v,v-~mmm n n v v v n v v v v,~,~-~ v,v,~-~-~-~-~M-~-~-~NNNNo v,v,v,~2kCk-~-~-~M ekN: eNm\NNooo *k *opd/uNNNNNoonoopopLCkpkkNd\oppt\ul *r ColӦԮq/dkk\p\SӦӮӦӦӮӮԮԮkkҕplkk0d2k: *kl2kk *0l0lk0lkttkukkk7m:7Dz|!󝵮Pl7u677777XkԝԝXϗXYXXXYYyyz[.S!k6,2Ykkkky׷zא[krtkzr|kr|kk:zzzߚzzzߚߚߛߛߛr|k:Uμzߛߛߛ,v,~,~-~-~M~M~N-~M~M~NNNNoNNNoOoopoooppNNNoooopoooppӦpӦӦӮӦӦӮӮӦӦӮӮԮӦӮӮԮԮԮӮԮ777777788X77777778XX7XXXXYYyXYYyyzzz788XXXXYXYYYYyyzYyyzzzzߛzzzߛߛߛYyzzzߚߚߛzߚߚߛߛߛߛߛߛpҦҦӦӦӦӮӮԮӦӮӮԮԮӦӦӮӮӮԮԮ67Ԯ77777877788XXX7777X777XXXXY8XXYYYyyYYyyyzzߚ7XXXXYYyXYyyyzzzyzzzzߚߛߛzߛߛߛߛߛyzzzzߛߛߛzߛߛߛߛ \ No newline at end of file diff --git a/tags/1stNUP/CardSaveData/ToSD/body/body.rsf b/tags/1stNUP/CardSaveData/ToSD/body/body.rsf new file mode 100644 index 0000000..e0d0e65 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/body.rsf @@ -0,0 +1,30 @@ +# AvP[ṼftHgl +BasicInfo: + # vÕ^Cgw肵܂B + Title : $(TITLE) +# BackupMemoryType: 128KB + BackupMemoryType: None + Logo : Nintendo +# CompanyCode: "00" + ProductCode : "CTR-N-23AA" + +TitleInfo: +# Category: 0x0010 +# Category: SystemApplication + UniqueId: 0xf8030 + Version: 0 + +Rom: + HostRoot : romfiles +# SaveDataSize: 512K + +AccessControlInfo: + UseExtSaveData : false + + FileSystemAccess: + - CategoryFileSystemTool + - DirectSdmcWrite + +SystemControlInfo: + RemasterVersion: 1 + diff --git a/tags/1stNUP/CardSaveData/ToSD/body/romfiles/nnfont_RectDrawerShader.shbin b/tags/1stNUP/CardSaveData/ToSD/body/romfiles/nnfont_RectDrawerShader.shbin new file mode 100644 index 0000000000000000000000000000000000000000..4290c2ccf471f95efa5505da684e57bb896f592b GIT binary patch literal 964 zcmXw&PfQa*6vkhtv@8qQf(W$0cDr~$4u%*mdSSMy2_c(xgQOvZL^e=^Nd+rj? zf!m|k^xk|;KQmd=Gg;rwntN{FTyUv>Zik)aJ8tKa^_prt68->UeLT3*KNnal^Ao@J zx|sGT$F#>6n6`hJX@iU5+wMIc4SJT7p`tT{y&o)M{Q*B@H0{t44_Ov^%v;QaKIaje zf)ee@c^~=Vuot?+-aFVgmri+@1Lwdw!9RH`56*-0g8%Sn1Uv#B0grm@8Z{F~xn=f> z7VT*4|NiIgLxWzrM)s3yn7>_`w!;Fr04@kF+bt7pf=$5-c2oox!9~I7FSA^FLrpu9 zeb();IE6e%-a~%ZZW&+$YzW4D^pLbX+p$)B$GQ`UGd4wBYfLsWaMs_a8=cT6qtw9f zrP`3vai;V*)~ANzbVHZ(Qv-^1o|3#4*IA9%H&0dF-B@>G{rXwOab4tor5BTOefUu6 zkAjLX>?;o9baY~-04Cne z5o{2~WE2j~z&JXD$r(g{F#w>1tSwm75JUVYhPcoqJke(gU!iI0klG7hjNAUL4XSRe ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/ToSD/body/source/main.cpp b/tags/1stNUP/CardSaveData/ToSD/body/source/main.cpp new file mode 100644 index 0000000..32ccd77 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/source/main.cpp @@ -0,0 +1,618 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +//#include +#include +#include +//#include +#include +#include +#include "../../../common/savefile/savefile.h" +#include "../../../common/savefile/savedata.h" +#include "../../../common/savefile/sdmcwo.h" +#include "../../../common/common.h" +#include "./screen/screen.h" + + +nn::fnd::ExpHeap appHeap; +uptr heapForGx; + +myResult errRes; + +SaveData savedata; +nn::os::LightEvent ejectEvnt(false); +nn::os::LightEvent insEvnt(false); +Sdmcwo exsave; +nn::os::LightEvent ejectEvntSd(false); +nn::os::LightEvent insEvntSd(false); + +//バックアップの状態 +bool Active,Formatted; +bool exActive; +tArcInfo arcInfo,arcInfo_ex;//アーカイブ情報 + +//Top画面エラー表示 +int tmerr; + +//結果 +typedef enum { + SUCCESS + ,ERROR + ,CANCEL + ,INSEXIT +}RetCode; + +//挿抜イベント時に設定 +typedef enum { + InEx_None + ,InEx_InsCard + ,InEx_EjcCard + ,InEx_InsSd + ,InEx_EjcSd +}tIsInsEject; + +tIsInsEject isInsEject; + +extern u8 scr_evnt; +void WaitUI(); +void PutError(ErcDev dev,int cd=0); +bool CheckInsExit(); + + +//終了処理 +void endfunc() +{ + + nn::fs::UnregisterCardEjectedEvent(); + nn::fs::UnregisterCardInsertedEvent(); + ejectEvnt.Finalize(); + insEvnt.Finalize(); + nn::fs::UnregisterSdmcEjectedEvent(); + nn::fs::UnregisterSdmcInsertedEvent(); + ejectEvntSd.Finalize(); + insEvntSd.Finalize(); + + savedata.Finalize(); + exsave.Finalize(); + + ScrFinalize(); + +} + +//エラー停止 +void failstop() +{ + NN_LOG("fail %d,stop\n",errRes); + finish(); +} + + + +wchar_t file_pathw[MAX_PATH_LENGTH]; +wchar_t file_pathw2[MAX_PATH_LENGTH]; +char file_path[MAX_PATH_LENGTH]; +//カゲマイ報告の速度実測でFSで4バイトアライン有利(SDK 0.14.23 時点) +char fileBuffer[512] NN_ATTRIBUTE_ALIGN(4);//検証 512単位 +char fileBuffer_ex[512] NN_ATTRIBUTE_ALIGN(4); +#define FILEBUFF_SIZE sizeof(fileBuffer) + +//エラー表示 +char sts[64]; +void PutError(ErcDev dev,int cd) +{ + nn::Result res; + switch (dev) + { + case ERC_DEV_CARD: res = savedata.LastNnResult;break; + case ERC_DEV_OUT: res = exsave.LastNnResult;break; + } + GetErrorStr(dev,res,cd,sts); + scr_Status(sts,COLOR_RED); +} + +//デバグ用ウエイト +void waitSec(int sec) +{ + nn::os::Tick tm,tn; + tm = nn::os::Tick::GetSystemCurrent(); + while(1) + { + tn = nn::os::Tick::GetSystemCurrent()-tm; + if(tn.ToTimeSpan().GetSeconds() > sec)break; + } +} + + +char mes[128]; +//保存先のディレクトリ削除 +bool TryDeleteDir() +{ + if(exsave.Delete())return true; + //フォルダ削除に失敗したら手削除 + strcpy(mes,"Illegal folder [ "); + strcat(mes,exsave.DirName);//フォルダ名 + strcat(mes," ]"); + //scr_Status(sts,COLOR_RED); + scr_MessOnCount(mes); + return false; +} + +//情報ファイルの占有サイズ計算 +//vnfは発生見込み低い上、面倒なので作成時エラー任せ +size_t GetSysSpace(size_t cl) +{ + size_t sz; + int sn; + sn = sizeof(FormatParameters) / cl; + if ((sizeof(FormatParameters) % cl) > 0)sn++; + sz = sn*cl; + sn = sizeof(AdditionalInfo) / cl; + if ((sizeof(AdditionalInfo) % cl) > 0)sn++; + sz += sn*cl; + return sz; +} + +//---------------------------------------------------------------------- CARD to SD +RetCode Card2Sd() +{ + myResult res; + int ct=0,msize,rsize; + s64 total=0,free_size; + + scr_BackupYesNo();//実行確認 + WaitUI();//入力待ち + if(isInsEject != InEx_None )return INSEXIT;//挿抜による中断 + if (scr_evnt != EVNT_YES)return CANCEL;//キャンセル + scr_Backup();//画面表示 + + + //保存先ディレクトリ作成 + //ディレクトリ作成時にクラスタサイズ、空き容量を取得 + scr_Status("Create Dir to SD",COLOR_YELLO); + if (exsave.Create() == false) + { + PutError(ERC_DEV_OUT); + return ERROR; + } + + //セーブデータのマウント + scr_Status("Mount SaveData",COLOR_YELLO); + res = savedata.Mount(); + if(res != RESULT_OK){ + exsave.Unmount(); + TryDeleteDir(); + PutError(ERC_DEV_CARD); + return ERROR; + } + + //ディレクトリ情報 + scr_Status("Get Directry",COLOR_YELLO); + if(savedata.GetInfo(&arcInfo,exsave.ClasterSize)==false) + { + savedata.Unmount(); + exsave.Unmount(); + PutError(ERC_DEV_CARD); + TryDeleteDir(); + return ERROR; + } + strcpy(arcInfo.Pcode,savedata.PrdCode); + + if ((arcInfo.total + GetSysSpace(exsave.ClasterSize)) > exsave.FreeSize) + {//容量不足 + savedata.Unmount(); + exsave.Unmount(); + PutError(ERC_DEV_OUT,ERC_WRITE_NS); + TryDeleteDir(); + return ERROR; + } + + //カウント異常 + if (arcInfo.FileCount > arcInfo.FileEntry){ + savedata.Unmount(); + exsave.Unmount(); + PutError(ERC_DEV_OTHER,ERC_EXEC); + TryDeleteDir(); + return ERROR; + } + + if (arcInfo.FileCount == 0)//ファイルが無い + { + scr_Status("no files",COLOR_YELLO); + savedata.Unmount(); + exsave.Unmount(); + TryDeleteDir(); + return SUCCESS;//何もしない + }else{ + //ファイルコピー + scr_Status("file copying",COLOR_SKY); + savedata.ResetPath(); + s64 fsize; + res = RESULT_OK; + while(res==RESULT_OK){ + if(CheckInsExit())break;//挿抜による中断 + res = savedata.GetPath(file_pathw);//パス取得 + if (res != RESULT_OK) + { + if (res == RESULT_DIR_LEVEL_OVER){ + PutError(ERC_DEV_CARD,ERC_DIRDEPTH); + break; + } + if (res == RESULT_PATH_LENGTH_OVER){ + PutError(ERC_DEV_CARD,ERC_PATH); + break; + } + res = RESULT_FAIL_OPEN; + break; + } + if (file_pathw[0] == 0)break;//ルートなら終了 + if (ct>=arcInfo.FileCount) + { + res = RESULT_FAIL; + break; + } + + if(CheckInsExit())break;//挿抜による中断 + scr_CountPerMax(ct,arcInfo.FileCount); + if (savedata.Open(file_pathw)==false) + { + res = RESULT_FAIL_OPEN; + break; + } + + fsize = savedata.FileSize; + total += fsize; + if(CheckInsExit())break;//挿抜による中断 + //SDで支障あるパス名の場合は別ファイルに格納する + exsave.GetRootPath(file_pathw2);//格納先ルート取得 + ChainPath(file_pathw2,file_pathw);//実パス名に変換 + if (CheckPath(file_pathw2)==false)//パス名チェック + { + if (exsave.OpenVnfW(file_pathw,fsize)==false)//退避ファイル + { + res = RESULT_FAIL_OPENW; + break; + } + }else{ + bool mkdir; + int rev; + while(1){ + if (exsave.OpenC(file_pathw,fsize,&mkdir)==false) + { + if(mkdir)//ディレクトリ作成のみ + {//深いと作成に時間かかるので画面に変化つける + rev++; + if (rev & 1)scr_MessOnCount2("Create Directry -"); + else scr_MessOnCount2("Create Directry |"); + }else{ + NN_LOG("%d\n",exsave.LastNnResult.GetDescription()); + if(nn::fs::ResultInvalidArgument::Includes(exsave.LastNnResult)) + {//パス名エラー + if (exsave.OpenVnfW(file_pathw,fsize)==false)//退避ファイル + { + res = RESULT_FAIL_OPENW; + } + break; + }else{ + res = RESULT_FAIL_OPENW; + break; + } + } + }else break; + } + if (res != RESULT_OK)break; + } + + msize=fsize; + while(fsize) + { + if(msize > FILEBUFF_SIZE * 2){//サイズが大きい場合にゲージ表示 + scr_CountPerMax2(msize-fsize,msize,0); + } + if (fsize>FILEBUFF_SIZE) + { + rsize = FILEBUFF_SIZE; + fsize -= FILEBUFF_SIZE; + }else{ + rsize = fsize; + fsize = 0; + } + if(CheckInsExit())break;//挿抜による中断 + if(savedata.Read(fileBuffer,rsize) != rsize )//リード + { + //中身のデータが作成サイズに満たない場合に検証エラーとなる対策 + //読めないブロックは置き換える + //検証は512単位でされるので読めてるとこまで置き換えないよう + //リードサイズは512にしておく + if(nn::fs::ResultVerificationFailed::Includes(savedata.LastNnResult)) + { + for (int i = 0; i < rsize; i++) + { + fileBuffer[i] = 0;//0埋め + } + }else{ + res = RESULT_FAIL_READ; + break; + } + } + if(CheckInsExit())break;//挿抜による中断 + if(exsave.Write(fileBuffer,rsize) != rsize )//ライト + { + res = RESULT_FAIL_WRITE; + if(exsave.LastNnResult.IsSuccess()){//容量不足でオープンすると書けるとこまで書いてエラーとならない + if (exsave.GetFreeSize(&free_size)){ + if (free_size == 0 ) res = RESULT_DEVICE_FULL;//空き無し + } + } + break; + } + } + savedata.Close(); + exsave.CloseW(); + if(isInsEject != InEx_None )break;//挿抜による中断 + ct++; + } + savedata.Close(); + exsave.CloseW(); + } + savedata.Unmount(); + exsave.Unmount(); + +//結果 + scr_CountPerMax(ct,arcInfo.FileCount); + scr_CountPerMax2(0,0,-1); + if(isInsEject != InEx_None ) + {//挿抜による中断 + if(TryDeleteDir())return INSEXIT; + return ERROR;//デリート失敗表示 + }else{ + if (res == RESULT_OK) + { + if (ct == arcInfo.FileCount)//ファイル数一致? + { + if(exsave.WriteSys(&arcInfo))//フォーマット情報 + { + //成功 + strcpy(sts,"output folder [ "); + strcat(sts,exsave.DirName);//保存先 + strcat(sts," ]"); + scr_Status(sts,COLOR_WHITE); + + scr_CountPerMax(ct,arcInfo.FileCount);//ファイル数 + scr_CountPerMax2(0,0,total);//総サイズ + return SUCCESS; + } + res = RESULT_FAIL_WRITE; + if(exsave.LastNnResult.IsSuccess()){//容量不足でオープンすると書けるとこまで書いてエラーとならない + if (exsave.GetFreeSize(&free_size)){ + if (free_size == 0 ) res = RESULT_DEVICE_FULL;//空き無し + } + } + }else{ + NN_LOG("file count error\n"); + res = RESULT_FAIL; + } + } + //失敗 + if (res == RESULT_DEVICE_FULL)PutError(ERC_DEV_OUT,ERC_WRITE_NS); + else if ((res == RESULT_FAIL_WRITE) || (res== RESULT_FAIL_OPENW)) PutError(ERC_DEV_OUT); + else if ((res == RESULT_FAIL_READ) || (res== RESULT_FAIL_OPEN)) PutError(ERC_DEV_CARD); + else if (res == RESULT_FAIL_VERIFI) PutError(ERC_DEV_OUT,ERC_VERIFI); + else PutError(ERC_DEV_OTHER); + TryDeleteDir();//ディレクトリごと削除 + } + return ERROR; + +} + + +//--------------------------------------------------------------- セーブデータの情報取得 +//呼ぶ前に tmerr のクリアを忘れない事 +void CheckSaveDataState() +{ + myResult myres; + + Formatted = false; + Active = false; + + if (savedata.GetPrdCode()) + { + Active = true;//カード + myres = savedata.IsExist();//セーブマウント + //NN_LOG("%d",savedata.LastNnResult.GetDescription()); + if (myres == RESULT_OK) + { + Formatted=true; + }else{ + tmerr |= SDATA_ERRPUT_MEDIA; + } + } + scr_PrdCode(savedata.PrdCode); +} + +//エクスポート先の状態確認 +void CheckExSaveState() +{ + exActive = nn::fs::IsSdmcInserted() && nn::fs::IsSdmcWritable(); +} + +//------------------------------------------------------------ 挿抜チェック +bool CheckInsExit() +{ + + if (ejectEvnt.TryWait()){ + //CARD抜け + CheckSaveDataState(); + isInsEject = InEx_EjcCard; + return true; + } + if (insEvnt.TryWait()){ + //CARD挿入 + CheckSaveDataState(); + isInsEject = InEx_InsCard; + return true; + } + if (ejectEvntSd.TryWait()){ + //SD抜け + CheckExSaveState(); + isInsEject = InEx_EjcSd; + return true; + } + if (insEvntSd.TryWait()){ + //SD挿入 + CheckExSaveState(); + isInsEject = InEx_InsSd; + return true; + } + return false; +} + + +//---------------------------------------------------------------- 入力待ち +void WaitUI() +{ + tmerr = 0; + scr_Draw();//画面更新 + scr_evnt = EVNT_NONE; + while(scr_evnt == EVNT_NONE) + { + nn::os::Thread::Yield();//スレッド実行 + //scr_GetEvnt();//入力イベント + + CheckSysBreak();//中断処理 + + //挿抜を検知したら中断して抜ける + //トップ以外ではトップメニューへ戻るようする + if (CheckInsExit())return; + } + ScrClr();//画面消去 + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(500));//チャタ対策 +} + + +//---------------------- main loop -------------------------- +void nnMain() +{ + + RetCode retc; + isInsEject = InEx_None; + + //NN_LOG("Start\n"); + nn::os::Initialize(); + nn::fs::Initialize(); + + //DEA-SUPにて推奨のフリーズ暫定対策:無線デーモンを停止 (2011.3.1 現在) + //スリープ中は止まらないので、本体スイッチ切るのが確実 + //SDK2.2以降で対策不要となったが、点滅が鬱陶しいので残しとく + nn::ndm::Initialize(); + nn::ndm::SuspendScheduler(); + + //中断処理の準備 + InitSysBreak((uptr)endfunc); + // グラフィックスライブラリの初期化は、以降で行わなければならない + // 他、アプリケーションの初期化処理 + + nn::applet::DisableSleep();//スリープ非対応 + + //Heap + appHeap.Initialize(nn::os::GetDeviceMemoryAddress(), + nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + const u32 GxHeapSize = 0x800000; + heapForGx = reinterpret_cast(appHeap.Allocate(GxHeapSize)); + //画面初期化 + if (ScrInitialize(heapForGx,GxHeapSize) == false)failstop(); + ejectEvnt.ClearSignal(); + insEvnt.ClearSignal(); + nn::fs::RegisterCardEjectedEvent(&ejectEvnt); + nn::fs::RegisterCardInsertedEvent(&insEvnt); + ejectEvntSd.ClearSignal(); + insEvntSd.ClearSignal(); + nn::fs::RegisterSdmcEjectedEvent(&ejectEvntSd); + nn::fs::RegisterSdmcInsertedEvent(&insEvntSd); + + // スリープ要求に対する返答を有効にする + // また、蓋の状態チェックを行い蓋が閉じられているならスリープ要求が発生する + //nn::applet::EnableSleep(true); + + extern u8 scr_evnt; + while(1) + { + tmerr = 0; + CheckSaveDataState(); //セーブデータの状態取得 + CheckExSaveState(); //SD挿入状態 + scr_TopMenu(Formatted,Active,exActive,tmerr); + + WaitUI();//入力待ち + if (isInsEject != InEx_None){ + ScrClr();//画面消去 + isInsEject= InEx_None; + }else + switch(scr_evnt) + { + case EVNT_SEL_READ://リード + NN_LOG("select read\n"); + retc = Card2Sd(); + switch (retc) + { + case SUCCESS: + //CheckExSaveState(); //状態の更新 + scr_ResultQuit("Success",COLOR_GREEN);//成功とQuitボタン + break; + case INSEXIT: + //scr_InsExitQuit();//挿抜検知表示 & Quit + ScrClr();//画面消去 + scr_Backup(); + if (isInsEject == InEx_EjcCard)PutError(ERC_DEV_CARD,ERC_DEVICE); + else if (isInsEject == InEx_EjcSd)PutError(ERC_DEV_OUT,ERC_DEVICE); + else PutError(ERC_DEV_OTHER); + scr_ResultQuit("Break",COLOR_RED);//エラーとQuitボタン + break; + case CANCEL:break; + default://errors + scr_ResultQuit("Failed",COLOR_RED);//エラーとQuitボタン + break; + } + if (retc == CANCEL)break; + while(1){ + WaitUI(); + if (isInsEject != InEx_None){ + isInsEject = InEx_None; + } + if(scr_evnt==EVNT_QUIT)break; + if(scr_evnt==EVNT_PUSH_B)break; + } + break; + + case EVNT_PUSH_LEFT_X:// ------------------------------------- LEFT + X + //バックアップ削除 + scr_DelConf();//実行確認 + WaitUI(); + if (scr_evnt != EVNT_YES)break; + exsave.DeleteAll();//全削除 + //CheckExSaveState(); //状態更新 + break; + + } + }//while() + +} + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ + diff --git a/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.cpp b/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.cpp new file mode 100644 index 0000000..3d277d3 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.cpp @@ -0,0 +1,765 @@ +#include +#include +#include "screen.h" +#include "../../../../common/my_defs.h" +#include "../../ver.h" + + +Gui gui; +u8 scr_evnt; + +enum{ +//PANEL_END, +PANEL_ERROR, +PANEL_SUCCESS, +PANEL_TOPMENU, +PANEL_TITLE, +PANEL_QUIT, +PANEL_READ, +PANEL_WRITE, +PANEL_YES, +PANEL_NO, +PANEL_CONFIRM, +PANEL_DELCONF, +PANEL_MENU, +PANEL_BKUP, +PANEL_INSEXIT, +PANEL_DBGLOG +}; + +enum{ +MESSAGE_VERSION, +MESSAGE_PRODUCT, +MESSAGE_PRODUCT2, +MESSAGE_ERROR_TITLE, +MESSAGE_ERROR_INFO, +MESSAGE_ERROR_INFO2, +MESSAGE_ERROR_INFO3, +MESSAGE_SUCCESS_TITLE, +MESSAGE_SUCCESS_INFO, +MESSAGE_SUCCESS_INFO2, +MESSAGE_CONFIRM_TITLE, +MESSAGE_CONFIRM_MSG, +MESSAGE_DELCONF_TITLE, +MESSAGE_DELCONF_MSG, +MESSAGE_DELCONF_MSG2, +MESSAGE_DELCONF_MSG3, +//MESSAGE_TOPMENU_HELP_TITLE, +MESSAGE_TOPMENU_HELP_READ, +MESSAGE_TOPMENU_HELP_WRITE, +MESSAGE_TOPMENU_HELP_END, +MESSAGE_TOPMENU_HELP_OPERATE, +MESSAGE_TITLE, +MESSAGE_MENU_READ, +MESSAGE_MENU_WRITE, +//MESSAGE_MENU_END, +MESSAGE_MENU_OPERATE, +MESSAGE_MENU_CAUTION, +MESSAGE_MENU_ERROR, +MESSAGE_MENU_DEBUG, +MESSAGE_INSEXT_1, +MESSAGE_INSEXT_2, +MESSAGE_INSEXT_3, +MESSAGE_OPERATE, +MESSAGE_RESULT, +MESSAGE_QUIT_OPERATE, +MESSAGE_CONF, +MESSAGE_COUNT, +MESSAGE_COUNT2, +MESSAGE_STATUS +}; + +enum{ +MEMO_DBGLOG +}; + + +//ʏAR|[lgfBZ[u +void ScrClr() +{ + gui.ButtonMask(0); + gui.DisableAll(); + gui.Draw(); +} + +nn::os::Tick holdTck; +u32 holdVal; +//---------------------------------CxgR[obN +//----------------PAD{^ +void pushButton(u32 sts) +{ + //NN_LOG("button > %4x\n",button); + u32 trg = sts & 0x0ffff; + u32 hld = sts >> 16; +/* + if (holdVal)//P\ + { + if (nn::fnd::TimeSpan::FromMilliSeconds(100) > (nn::os::Tick::GetSystemCurrent()-holdTck)){ + holdVal |= trg; + if (holdVal == nn::hid::BUTTON_LEFT | holdVal & nn::hid::BUTTON_X ){ + holdVal = 0; + scr_evnt = EVNT_PUSH_LEFT_X; + } + }else holdVal = 0; + }else if( (holdVal = trg & (nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X ))>0) + {//莞Ԃǂ̃{^ێ + holdTck = nn::os::Tick::GetSystemCurrent(); + } +*/ + + if( holdVal )// + { + if (hld != holdVal) + { + holdVal = 0; + }else + if (nn::fnd::TimeSpan::FromMilliSeconds(4000) < (nn::os::Tick::GetSystemCurrent()-holdTck)) + { + holdVal = 0; + scr_evnt = EVNT_PUSH_LEFT_X; + } + }else if (hld == ( nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X )) + { + holdVal = hld; + holdTck = nn::os::Tick::GetSystemCurrent(); + } + + + else if (trg & nn::hid::BUTTON_B)scr_evnt = EVNT_PUSH_B; +} + +//-----------------pl^b` +// ---- Top Menu :READ +void touchRead(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_SEL_READ; +} +// ---- Top Menu :WRITE +void touchWrite(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_SEL_WRITE; +} + +//---- Top Menu :END +//void touchEnd(u32 pos NN_IS_UNUSED_VAR) +//{ +// scr_evnt = EVNT_SEL_END; +//} + +//---- YES +void touchYes(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_YES; +} + +//---- NO +void touchNo(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_NO; +} + +void touchQuit(u32 pos NN_IS_UNUSED_VAR) +{ + scr_evnt = EVNT_QUIT; +} + +#define NULL_PTR 0 +#define NULL_STR 0 +#define SCREEN_UPPER 0 +#define SCREEN_LOWER 1 +#define LOC_CONF_X 60 +#define LOC_CONF_Y 20 +#define LOC_CONF_W (400 - LOC_CONF_X*2) +#define LOC_CONF_H 70 +#define LOC_LOG_X 50 +#define LOC_LOG_W (400 - LOC_LOG_X*2) +#define LOC_LOG_Y (LOC_CONF_Y + LOC_CONF_H + 10) +#define LOC_LOG_H (240 - LOC_LOG_Y - 10) +#define LOG_MAX 10 + +// -------------------------------------------------- R|[lg݌v +// + +//Top Menu +const tPanel panel_Read = {(uptr)touchRead,"Export",80+20,30,160,80,PANEL_READ,SCREEN_LOWER}; +//const tPanel panel_Write = {(uptr)touchWrite,"Restore",80+20,130,160,80,PANEL_WRITE,SCREEN_LOWER}; +//const tPanel panel_End = {(uptr)touchEnd,"End",80,180,160,30,PANEL_END,SCREEN_LOWER}; + +//Yes No +const tPanel panel_Yes = {(uptr)touchYes,"YES",40+10,60,80,120,PANEL_YES,SCREEN_LOWER}; +const tPanel panel_No = {(uptr)touchNo,"NO",200+30,60,80,120,PANEL_NO,SCREEN_LOWER}; + +//Quit +const tPanel panel_Quit = {(uptr)touchQuit,"Quit",80+20,60,160,120,PANEL_QUIT,SCREEN_LOWER}; + +// +//foOp +//G[\ +const tPanel panel_Error = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_ERROR,SCREEN_UPPER}; +const tMessage mess_Title_Err = {"title",10,10,COLOR_RED,8,MESSAGE_ERROR_TITLE,PANEL_ERROR}; +const tMessage mess_Info_Err = {"info",10,22,COLOR_RED,8,MESSAGE_ERROR_INFO,PANEL_ERROR}; +const tMessage mess_Info2_Err = {"info2",10,40,COLOR_RED,8,MESSAGE_ERROR_INFO2,PANEL_ERROR}; +const tMessage mess_Info3_Err = {"info3",10,50,COLOR_RED,8,MESSAGE_ERROR_INFO3,PANEL_ERROR}; + +// +const tPanel panel_Success = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_SUCCESS,SCREEN_UPPER}; +const tMessage mess_Title_Suc = {"title",10,10,COLOR_GREEN,8,MESSAGE_SUCCESS_TITLE,PANEL_SUCCESS}; +const tMessage mess_Info_Suc = {"info",10,40,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO,PANEL_SUCCESS}; +const tMessage mess_Info2_Suc = {"info2",10,50,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO2,PANEL_SUCCESS}; + +//smF +const tPanel panel_Confirm = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_CONFIRM,SCREEN_UPPER}; +const tMessage mess_conf_Title = {"title",10,10,COLOR_YELLO,8,MESSAGE_CONFIRM_TITLE,PANEL_CONFIRM}; +const tMessage mess_conf_Msg = {"Do you execute?",10,40,COLOR_WHITE,8,MESSAGE_CONFIRM_MSG,PANEL_CONFIRM}; + +//gbvj[ +const tPanel panel_topmenu_help = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_TOPMENU,SCREEN_UPPER}; +const tMessage mess_topmenu_help_read = {"[Backup] Card -> SD",10,4,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_notread = {"[Backup] is Invalid",10,4,COLOR_RED,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +//const tMessage mess_topmenu_help_write = {"[Restore] bkup -> Card",10,16,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; +//const tMessage mess_topmenu_help_notwrite = {"[Restore] is Invalid",10,16,COLOR_RED,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; +//const tMessage mess_topmenu_help_end = {"[End] return to SystemMenu",10,28,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_END,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_operate = {"touch below",10,48,COLOR_GREEN,8,MESSAGE_TOPMENU_HELP_OPERATE,PANEL_TOPMENU}; + +//O\ +const tPanel panel_dbglog = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_DBGLOG,SCREEN_UPPER}; +const tMemo memo_dbglog = {LOG_MAX,10,10,COLOR_WHITE,8,MEMO_DBGLOG,PANEL_DBGLOG}; + + +//ʏ펞 +//^Cg +#define FONT_SIZE_TITLE 12 +#define LOC_TITL_X (40-FONT_SIZE_TITLE*2) +#define LOC_TITL_Y 20 +#define LOC_TITL_W (400 - LOC_CONF_X*2) +#define LOC_TITL_H 50 +#define FONT_SIZE_PRODUCT 10 +const tPanel panel_title = {NULL_PTR,NULL_STR,LOC_TITL_X,LOC_TITL_Y,LOC_TITL_W,LOC_TITL_H,PANEL_TITLE,SCREEN_UPPER}; +const tMessage mess_title = {"title",0,0,COLOR_WHITE,FONT_SIZE_TITLE,MESSAGE_TITLE,PANEL_TITLE}; +const tMessage mess_product = {"product",0,LOC_TITL_H - 22,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT,PANEL_TITLE}; +//const tMessage mess_product2 = {"product2",0,LOC_TITL_H - 10,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT2,PANEL_TITLE}; +const tMessage mess_version = {"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZE_TITLE+2,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_VERSION,PANEL_TITLE}; + +#define LOC_MESS_X 20 +#define LOC_MESS_W (400 - LOC_MESS_X*2) +#define LOC_MESS_Y (LOC_TITL_Y + LOC_TITL_H + 10) +#define LOC_MESS_H (240 - LOC_MESS_Y - 10) +//TOPj[ +//\̓OƔr +#define FONT_SIZE 10 +#define STR_LINE(ln) (FONT_SIZE + 2)*ln +const tPanel panel_menu = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_MENU,SCREEN_UPPER}; +const tMessage mess_menu_read = {"[Export] Write to SD",10,STR_LINE(1),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_READ,PANEL_MENU}; +//const tMessage mess_menu_write = {"[Restore] restore to Card",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_WRITE,PANEL_MENU}; +//const tMessage mess_menu_end = {"[End] close this apprication",10,STR_LINE(3),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_END,PANEL_MENU}; +const tMessage mess_menu_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_MENU_OPERATE,PANEL_MENU}; +const tMessage mess_bkuperr = {"SD error",10,STR_LINE(6),COLOR_RED,FONT_SIZE,MESSAGE_MENU_ERROR,PANEL_MENU}; +const tMessage mess_carderr = {"CARD error",10,STR_LINE(7),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_CAUTION,PANEL_MENU}; +//const tMessage mess_debug = {"Crush Mode",10,STR_LINE(3),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_DEBUG,PANEL_MENU}; + +//Backup +//const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_BKUP,SCREEN_UPPER}; +const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_BKUP,SCREEN_UPPER}; +const tMessage mess_quit_operate = {"touch [Quit],or Push B",10,STR_LINE(4),COLOR_SKY,FONT_SIZE,MESSAGE_QUIT_OPERATE,PANEL_BKUP}; +const tMessage mess_conf = {"Do you execute?",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_CONF,PANEL_BKUP}; +const tMessage mess_result = {"result",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_RESULT,PANEL_BKUP}; +const tMessage mess_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_OPERATE,PANEL_BKUP}; +const tMessage mess_status = {"status",10,STR_LINE(7),COLOR_WHITE,FONT_SIZE,MESSAGE_STATUS,PANEL_BKUP}; +const tMessage mess_count = {"count",10,STR_LINE(8),COLOR_WHITE,FONT_SIZE,MESSAGE_COUNT,PANEL_BKUP}; +const tMessage mess_count2 = {"count2",10,STR_LINE(9),COLOR_GREEN,FONT_SIZE,MESSAGE_COUNT2,PANEL_BKUP}; + + +//} +//const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_INSEXIT,SCREEN_UPPER}; +const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_INSEXIT,SCREEN_UPPER}; +const tMessage mess_insexit = {"device insert or pull out is detected",10,STR_LINE(3),COLOR_RED,8,MESSAGE_INSEXT_1,PANEL_INSEXIT}; +const tMessage mess_insexit2 = {"return to top menu",10,STR_LINE(5),COLOR_WHITE,8,MESSAGE_INSEXT_2,PANEL_INSEXIT}; +const tMessage mess_insexit3 = {"please touch or push B",10,STR_LINE(6),COLOR_WHITE,8,MESSAGE_INSEXT_3,PANEL_INSEXIT}; + +//폜mF +//const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_CONF_X-10,LOC_CONF_Y,LOC_CONF_W+10,LOC_CONF_H*2,PANEL_DELCONF,SCREEN_UPPER}; +const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y-36,LOC_MESS_W,LOC_MESS_H,PANEL_DELCONF,SCREEN_UPPER}; +const tMessage mess_delconf_Title = {" *** DELETE *** ",10,10,COLOR_YELLO,16,MESSAGE_DELCONF_TITLE,PANEL_DELCONF}; +const tMessage mess_delconf_Msg = {" caution!",10,50,COLOR_YELLO,12,MESSAGE_DELCONF_MSG,PANEL_DELCONF}; +const tMessage mess_delconf_Msg2 = {"this is delete data on SD",10,70,COLOR_YELLO,12,MESSAGE_DELCONF_MSG2,PANEL_DELCONF}; +const tMessage mess_delconf_Msg3 = {"Do you execute?",10,90,COLOR_YELLO,12,MESSAGE_DELCONF_MSG3,PANEL_DELCONF}; + + + +nn::os::LightEvent stopEvnt(true); + +char scr_ver[16]; +char scr_err[32]; +char scr_debug[32]; +//menu +bool ScrInitialize(uptr heap,u32 size) +{ + scr_evnt = EVNT_NONE; + holdVal = 0; + holdTck = nn::fnd::TimeSpan(0); + + if (gui.Initialize(heap,size,&stopEvnt)==false)return false; + + gui.ButtonCallback((uptr)pushButton); + //R|[lgo^ + gui.PanelSet(&panel_Read); +// gui.PanelSet(&panel_Write); +// gui.PanelSet(&panel_End); + gui.PanelSet(&panel_Yes); + gui.PanelSet(&panel_No); + gui.PanelSet(&panel_Quit); + gui.PanelSet(&panel_Error); + gui.PanelSet(&panel_Success); + gui.PanelSet(&panel_Confirm); + gui.PanelSet(&panel_delconf); + gui.PanelSet(&panel_topmenu_help); + gui.PanelSet(&panel_title); + gui.PanelSet(&panel_menu); + gui.PanelSet(&panel_bkup); + gui.PanelSet(&panel_dbglog); + gui.PanelSet(&panel_insexit); + + gui.PanelLineStyle(PANEL_TITLE,COLOR_BLACK); + + + gui.MessSet(&mess_Title_Err); + gui.MessSet(&mess_Info_Err); + gui.MessSet(&mess_Info2_Err); + gui.MessSet(&mess_Info3_Err); + gui.MessSet(&mess_Title_Suc); + gui.MessSet(&mess_Info_Suc); + gui.MessSet(&mess_Info2_Suc); + gui.MessSet(&mess_conf_Title); + gui.MessSet(&mess_conf_Msg); + gui.MessSet(&mess_delconf_Title); + gui.MessSet(&mess_delconf_Msg); + gui.MessSet(&mess_delconf_Msg2); + gui.MessSet(&mess_delconf_Msg3); + + gui.MessSet(&mess_topmenu_help_read); +// gui.MessSet(&mess_topmenu_help_write); +// gui.MessSet(&mess_topmenu_help_end); + gui.MessSet(&mess_topmenu_help_operate); + + gui.MessSet(&mess_title); + gui.MessSet(&mess_version); + gui.MessSet(&mess_product); +// gui.MessSet(&mess_product2); + gui.MessSet(&mess_menu_read); +// gui.MessSet(&mess_menu_write); +// gui.MessSet(&mess_menu_end); + gui.MessSet(&mess_menu_operate); + gui.MessSet(&mess_quit_operate); + gui.MessSet(&mess_conf); + gui.MessSet(&mess_operate); + gui.MessSet(&mess_bkuperr); + gui.MessSet(&mess_carderr); +// gui.MessSet(&mess_debug); + gui.MessSet(&mess_result); + gui.MessSet(&mess_status); + gui.MessSet(&mess_count); + gui.MessSet(&mess_count2); + + gui.MessSet(&mess_insexit); + gui.MessSet(&mess_insexit2); + gui.MessSet(&mess_insexit3); + + gui.MemoSet(&memo_dbglog); + + gui.MemoEffective(MESSAGE_PRODUCT); + gui.MessEffective(MESSAGE_ERROR_TITLE); + gui.MessEffective(MESSAGE_ERROR_INFO); + gui.MessEffective(MESSAGE_ERROR_INFO2); + gui.MessEffective(MESSAGE_ERROR_INFO3); + gui.MessEffective(MESSAGE_SUCCESS_TITLE); + gui.MessEffective(MESSAGE_SUCCESS_INFO); + gui.MessEffective(MESSAGE_SUCCESS_INFO2); + gui.MessEffective(MESSAGE_CONFIRM_TITLE); + gui.MessEffective(MESSAGE_CONFIRM_MSG); + gui.MessEffective(MESSAGE_DELCONF_TITLE); + gui.MessEffective(MESSAGE_DELCONF_MSG); + gui.MessEffective(MESSAGE_DELCONF_MSG2); + gui.MessEffective(MESSAGE_DELCONF_MSG3); + gui.MessEffective(MESSAGE_TOPMENU_HELP_READ); + gui.MessEffective(MESSAGE_TOPMENU_HELP_WRITE); + gui.MessEffective(MESSAGE_TOPMENU_HELP_END); + gui.MessEffective(MESSAGE_TOPMENU_HELP_OPERATE); + gui.MessEffective(MESSAGE_MENU_READ); + gui.MessEffective(MESSAGE_MENU_WRITE); +// gui.MessEffective(MESSAGE_MENU_END); + gui.MessEffective(MESSAGE_MENU_OPERATE); + gui.MessEffective(MESSAGE_INSEXT_1); + gui.MessEffective(MESSAGE_INSEXT_2); + gui.MessEffective(MESSAGE_INSEXT_3); + gui.MessEffective(MESSAGE_TITLE); + gui.MessEffective(MESSAGE_VERSION); + gui.MemoEffective(MEMO_DBGLOG); + + gui.PanelLineStyle(PANEL_DELCONF,COLOR_YELLO); + + sprintf(scr_ver,"ver %.2f",VERSION); + gui.MessStr(MESSAGE_VERSION,scr_ver); + gui.MessStr(MESSAGE_MENU_CAUTION,scr_err); + gui.MessStr(MESSAGE_MENU_ERROR,scr_err); + gui.MessStr(MESSAGE_MENU_DEBUG,scr_debug); + + return true; + +} + +void ScrFinalize() +{ + stopEvnt.Signal(); + while(stopEvnt.TryWait()){ + nn::os::Thread::Yield(); + + }; + gui.Finalize(); +} + +//YES-NO {^ +void YesNo() +{ + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_B); + gui.PanelEffective(PANEL_YES); + gui.PanelEffective(PANEL_NO); + gui.Draw(); +} + +void Quit() +{ + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_B); + gui.PanelEffective(PANEL_QUIT); + gui.Draw(); +} + + +//gbvj[ +//:J[h +void scr_TopMenuDbg(bool formatted,bool insertted)//fobOp +{ + NN_UNUSED_VAR(insertted); + + scr_evnt = EVNT_NONE; + gui.ButtonMask(nn::hid::BUTTON_A | nn::hid::BUTTON_R | nn::hid::BUTTON_L); + + if (formatted) + {//[h”\ + gui.MessSet(&mess_topmenu_help_read); + gui.PanelEffective(PANEL_READ); + }else{//[hs + gui.MessSet(&mess_topmenu_help_notread); + gui.PanelEffective(PANEL_READ,false); + } +// if (insertted) +// {//݉ +// gui.MessSet(&mess_topmenu_help_write); +// gui.PanelEffective(PANEL_WRITE); +// }else{//ݕs +// gui.MessSet(&mess_topmenu_help_notwrite); +// gui.PanelEffective(PANEL_WRITE,false); +// } + + gui.MessEffective(MESSAGE_TOPMENU_HELP_READ); +// gui.MessEffective(MESSAGE_TOPMENU_HELP_WRITE); +// gui.PanelEffective(PANEL_END); + gui.PanelEffective(PANEL_TOPMENU); + gui.Draw(); +} + +//ʏ펞 + +//v_NgR[h +//:J[hAgZ[uɋL^ꂽ +char scr_pcode[32]; +void scr_PrdCode(char *s) +{ + strcpy(scr_pcode,"CARD : "); + if (s[0]==0) strcat(scr_pcode,"----"); + else strcat(scr_pcode,s); + gui.MessStr(MESSAGE_PRODUCT,scr_pcode); +} + +/* +char scr_pcode2[64]; +void scr_PrdCodeEx(char *s) +{ + strcpy(scr_pcode2,"BKUP : "); + if (s[0]==0) strcat(scr_pcode2,"----"); + else strcat(scr_pcode2,s); + gui.MessStr(MESSAGE_PRODUCT2,scr_pcode2); +} +*/ + +//폜̎smF +void scr_DelConf() +{ + scr_evnt = EVNT_NONE; + gui.PanelEffective(PANEL_DELCONF); + YesNo(); +} + + +//Top menu +//:foCX +//arg : v_NgR[hv +void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err) +{ + + int i; + scr_evnt = EVNT_NONE; + + u32 mask = 0; + mask |= (nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X);//LEFT+X = Delete L + + gui.MessStr(MESSAGE_TITLE," < CTR Card Savedata Exporter >"); + + gui.MessEffective(MESSAGE_MENU_ERROR,false,false); + gui.MessEffective(MESSAGE_MENU_CAUTION,false,false); + gui.MessEffective(MESSAGE_MENU_OPERATE,false,false); + + if (formatted && sdins) + {//obNAbv”\ + gui.MessEffective(MESSAGE_MENU_OPERATE); + gui.PanelEffective(PANEL_READ); + }else + { + gui.PanelEffective(PANEL_READ,false,false); + + if (inserted == false) + { + strcpy(scr_err,"Please Insert Card"); + gui.MessEffective(MESSAGE_MENU_CAUTION); + + }else + if (sdins == false) + { + strcpy(scr_err,"SD protected or not Insert"); + gui.MessEffective(MESSAGE_MENU_CAUTION); + + }else{ + if (err & SDATA_ERRPUT_MEDIA) i = ERC_MEDIA + ERC_DEV_CARD;//obNAbvȂ + else i = ERC_DEV_OTHER;//s + sprintf(scr_err,"ERROR %d",i); + gui.MessEffective(MESSAGE_MENU_ERROR); + } + } + + gui.ButtonMask(mask); + + gui.MessEffective(MESSAGE_PRODUCT); + //gui.MessEffective(MESSAGE_PRODUCT2); + + gui.PanelEffective(PANEL_TITLE); + gui.PanelEffective(PANEL_MENU); + + gui.Draw(); +} + +//fobOpA{^҂ +void ScrStep() +{ + scr_evnt = EVNT_NONE; + gui.ButtonMask(nn::hid::BUTTON_B); +} + + +void ClearBkupMess() +{ + gui.MessEffective(MESSAGE_CONF,false,false); + gui.MessEffective(MESSAGE_RESULT,false,false); + gui.MessEffective(MESSAGE_OPERATE,false,false); + gui.MessEffective(MESSAGE_QUIT_OPERATE,false,false); + gui.MessEffective(MESSAGE_STATUS,false,false); + gui.MessEffective(MESSAGE_COUNT,false,false); + gui.MessEffective(MESSAGE_COUNT2,false,false); + gui.PanelEffective(PANEL_BKUP); +} + +//Backup +void scr_Backup() +{ + scr_evnt = EVNT_NONE; + gui.PanelLineStyle(PANEL_BKUP,COLOR_SKY); + gui.MessStr(MESSAGE_TITLE," --- Backup Card Savedata ---"); + gui.PanelEffective(PANEL_TITLE); + ClearBkupMess(); + gui.Draw(); + +} +void scr_BackupYesNo() +{ + scr_Backup(); + gui.MessEffective(MESSAGE_CONF); + gui.MessEffective(MESSAGE_OPERATE); + YesNo(); +} + +//restore +void scr_Restore() +{ + scr_evnt = EVNT_NONE; + gui.PanelLineStyle(PANEL_BKUP,COLOR_PARPL); + gui.MessStr(MESSAGE_TITLE,"--- Restore Card Savedata ---"); + gui.PanelEffective(PANEL_TITLE); + ClearBkupMess();//backupƓplg + gui.Draw(); + +} +void scr_RestoreYesNo() +{ + scr_Restore(); + gui.MessEffective(MESSAGE_CONF); + gui.MessEffective(MESSAGE_OPERATE); + YesNo(); +} + + +void scr_Status(char *s,eColor col) +{ + gui.MessCol(MESSAGE_STATUS,col); + gui.MessStr(MESSAGE_STATUS,s); + gui.MessEffective(MESSAGE_STATUS); + gui.Draw(); +} + +void scr_ResultQuit(char *s,eColor col) +{ + gui.MessCol(MESSAGE_RESULT,col); + gui.MessStr(MESSAGE_RESULT,s); + gui.MessEffective(MESSAGE_RESULT); + gui.MessEffective(MESSAGE_QUIT_OPERATE); + Quit(); +} + + +void scr_InsExitQuit() +{ + ClearBkupMess(); + gui.PanelLineStyle(PANEL_INSEXIT,COLOR_RED); + gui.PanelEffective(PANEL_INSEXIT); + Quit(); +} + +// JEg/MAX \ +char str_Counter[128]; +char str_Counter2[128]; +void scr_CountPerMax(int ct,int max) +{ + sprintf(str_Counter,"%d / %d",ct,max); + gui.MessStr(MESSAGE_COUNT,str_Counter); + gui.MessEffective(MESSAGE_COUNT); + gui.Draw(); +} + +//Q[Wtotal +void scr_CountPerMax2(int ct,int max,int total) +{ + if (total == -1) str_Counter2[0]=0; + else if (total != 0){ +// gui.MessCol(MESSAGE_COUNT2,COLOR_WHITE); + sprintf(str_Counter2,"total size %d",total); + }else{ +// gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); + int i; + int lv = ct/(max/25); + for (i =0;i'; + while ( i < 25 )str_Counter2[i++] = '|'; + str_Counter2[i] = 0; + } + //sprintf(str_Counter2,"%d / %d",ct,max); + gui.MessStr(MESSAGE_COUNT2,str_Counter2); + gui.MessEffective(MESSAGE_COUNT2); + gui.Draw(); + +} + +void scr_MessOnCount2(char *str) +{ +// gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); + gui.MessStr(MESSAGE_COUNT2,str); + gui.MessEffective(MESSAGE_COUNT2); + gui.Draw(); +} + +void scr_MessOnCount(char *str) +{ +// gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); + gui.MessStr(MESSAGE_COUNT,str); + gui.MessEffective(MESSAGE_COUNT); + gui.Draw(); +} + + + +//smF +void scr_ConfirmDbg(char *str) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_CONFIRM_TITLE,str); + gui.PanelEffective(PANEL_CONFIRM); + YesNo(); +} + + +//G[\Quit{^ +void scr_ErrorQuitDbg(tColStr **s) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_ERROR_TITLE,s[0]->str); + gui.MessCol(MESSAGE_ERROR_TITLE,s[0]->color); + gui.MessStr(MESSAGE_ERROR_INFO,s[1]->str); + gui.MessCol(MESSAGE_ERROR_INFO,s[1]->color); + gui.MessStr(MESSAGE_ERROR_INFO2,s[2]->str); + gui.MessCol(MESSAGE_ERROR_INFO2,s[2]->color); + gui.MessStr(MESSAGE_ERROR_INFO3,s[3]->str); + gui.MessCol(MESSAGE_ERROR_INFO3,s[3]->color); + gui.PanelEffective(PANEL_ERROR); + Quit(); +} + +//\Quit{^ +void scr_SuccessQuitDbg(tColStr **s) +{ + scr_evnt = EVNT_NONE; + gui.MessStr(MESSAGE_SUCCESS_TITLE,s[0]->str); + gui.MessCol(MESSAGE_SUCCESS_TITLE,s[0]->color); + gui.MessStr(MESSAGE_SUCCESS_INFO,s[1]->str); + gui.MessCol(MESSAGE_SUCCESS_INFO,s[1]->color); + gui.MessStr(MESSAGE_SUCCESS_INFO2,s[2]->str); + gui.MessCol(MESSAGE_SUCCESS_INFO2,s[2]->color); + gui.PanelEffective(PANEL_SUCCESS); + Quit(); +} + + +//fobOO +void scr_DgbLog(cStrLst *p) +{ + gui.PanelLineStyle(PANEL_DBGLOG,COLOR_BLUE); + + for (int i=0;igetpos()+1;i++)gui.MemoStr(MEMO_DBGLOG,p->line(i),i); + + gui.PanelEffective(PANEL_DBGLOG); + gui.Draw(); +} + + + +int ScrDbgLogGetMax() +{ + return LOG_MAX; +} + + +void scr_Draw() +{ + gui.Draw(); +} + +void scr_GetEvnt() +{ +// gui.thUpdate(); +} + + diff --git a/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.h b/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.h new file mode 100644 index 0000000..1e8f7dc --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/source/screen/screen.h @@ -0,0 +1,116 @@ +#ifndef SCREEN_H_ +#define SCREEN_H_ + +#include +#include +#include "../../../../common/gui/gui.h" + +//plID +enum { + EVNT_NONE, + EVNT_YES, + EVNT_NO, + EVNT_QUIT, + EVNT_PUSH_A, + EVNT_PUSH_B, + EVNT_PUSH_R, + EVNT_PUSH_L, + EVNT_PUSH_X, + EVNT_PUSH_Y, + EVNT_PUSH_LEFT_X, + EVNT_PUSH_DOWN_Y, + EVNT_SEL_READ, + EVNT_SEL_WRITE, + EVNT_SEL_END, + EVNT_ERROR, + EVNT_FATAL +}; + +typedef struct{ + char *str; + eColor color; + u8 pad[3]; +}tColStr; + + +#define LST_MAX 30 +#define LST_LENGTH 128 +class cStrLst { +private: + int pos; + int buttom; + char str[LST_MAX][LST_LENGTH]; +public: + cStrLst():pos(0){}; + void add(char *p){ + if (pos>=LST_MAX)return; + //char *s = &str[pos][0]; + int i; + if (pos == buttom) + { + i =0; + while(i < buttom){ strcpy(str[i],str[i+1]);i++;} + }else pos++; + i=0; + while(i < (LST_LENGTH-1)){ //I[o[[h΍ + if (p[i]!=0){ + str[pos][i] = p[i]; + i++; + }else break; + } + str[pos][i] = 0; + //strcpy(str[pos],p); + //for (i =0;i=LST_MAX))return false; + buttom = btm; + return true; + } +}; + + +//Topj[ł̃G[\p̃tO +//bit`FbN +#define SDATA_ERRPUT_PCODE 1 +#define SDATA_ERRPUT_MEDIA 2 +#define SDATA_ERRPUT_VERIFI 4 + + +bool ScrInitialize(uptr heap,u32 size); +void ScrFinalize(); +void ScrClr(); +int ScrDbgLogGetMax(); +void ScrStep(); +void scr_TopMenuDbg(bool formatted,bool insertted); +void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err); +void scr_ErrorQuitDbg(tColStr **s); +void scr_SuccessQuitDbg(tColStr **s); +void scr_ConfirmDbg(char *str); +void scr_DgbLog(cStrLst *p); +void scr_BackupYesNo(); +void scr_Backup(); +void scr_RestoreYesNo(); +void scr_Restore(); +void scr_InsExitQuit(); +void scr_Status(char *s,eColor col); +void scr_ResultQuit(char *s,eColor col); +void scr_CountPerMax(int ct,int max); +void scr_CountPerMax2(int ct,int max,int total); +void scr_PrdCode(char *s); +void scr_PrdCodeEx(char *s); +void scr_DelConf(); +void scr_MessOnCount2(char *str); +void scr_MessOnCount(char *str); +void scr_Draw(); +void scr_GetEvnt(); + +#endif + diff --git a/tags/1stNUP/CardSaveData/ToSD/body/ver.h b/tags/1stNUP/CardSaveData/ToSD/body/ver.h new file mode 100644 index 0000000..75c8563 --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/body/ver.h @@ -0,0 +1,22 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef VER_H_ +#define VER_H_ + +#define VERSION 0.01 + + +#endif diff --git a/tags/1stNUP/CardSaveData/ToSD/release.txt b/tags/1stNUP/CardSaveData/ToSD/release.txt new file mode 100644 index 0000000..dd5a30b --- /dev/null +++ b/tags/1stNUP/CardSaveData/ToSD/release.txt @@ -0,0 +1,36 @@ +//////////////////////////////////////////////////////////////// +J[h̃Z[uf[^SDփ_CNgo + +{c[ uNintendo for 3DSvѐpJ[hpł +s͈ȊO̎gp͋ւ܂ + +oe +CTR_SDK\tools\TargetTools\CTR-TS\Release\NandFiler +ŊJJ[h̃TuJ[hփCgł܂ +eʂ^Cg̃`FbN͂܂̂Ŏgp҂ŒӉ +//////////////////////////////////////////////////////////////// + +NANDC|[gĂAAvl̎菇ŋN +{̏̃o[W 2.0.0 (1stNup)ȍ~̃t@[œ삷 + +(C|[g菇) +EfobK̓C^"cci"J[hɏ +E{̃VA܂ރXgƏSD +EHomej[J[hNj[Inports +Ej[ImportI +EId{^Z ->"d؂"^b` + + +(NAND폜) +N܂ł̓C|[gƓl +Ej[Deletes +I̓j[ɖ߂܂ + + +c[{̂̑͑}jAQ + +F +2011.6.8 ver0.01(}X^o[W1.0.0) + + +[Histry] diff --git a/tags/1stNUP/CardSaveData/common/common.cpp b/tags/1stNUP/CardSaveData/common/common.cpp new file mode 100644 index 0000000..c9f509a --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/common.cpp @@ -0,0 +1,226 @@ +#include +#include +#include "common.h" +#include "sleep.h" +#include "demo.h" +#include +#include +#include + + +extern demo::RenderSystemDrawing s_RenderSystem; +extern nn::fnd::ExpHeap appHeap; +extern uptr heapForGx; + + +//G[\p񐶐 +void GetErrorStr(ErcDev dev,nn::Result res,int cd,char* s) +{ + int desc=0,code; + + if ((cd ==0 ) && (dev != ERC_DEV_OTHER)) + { + desc = res.GetDescription(); + if (desc < 100 ) code = ERC_UNKNOWN;//L[ .. 肦Ȃ + else if (desc < 180 ) code = ERC_READ;//t@C‚Ȃs + else if (desc < 200 ) code = ERC_WRITE_OW;//t@C .. 폜s? + else if (desc < 220 ) code = ERC_WRITE_NS;//󂫂 + else if (desc < 260 ) code = ERC_ACCESS;//싑 + else if (desc < 280 ) code = ERC_WRITE_PROTECT;//݋֎~ + else if (desc < 340 ) code = ERC_ACCESS;//ANZXG[ + else if (desc < 390 ) code = ERC_FORMAT;//tH[}bgG[ + else if (desc < 400 ) code = ERC_SDK_VERIFI;// + else if (desc < 580 ) code = ERC_ROM;//ROMG[ + else if (desc < 590 ) code = ERC_RETRY;//gCv + else if (desc < 600 ) code = ERC_UNKNOWN;//CCI,CXIs .. 肦Ȃ + else if (desc < 900 ) code = ERC_EXEC;//sG[A\tgoO + else code = ERC_FATAL;//{̂ɖ̉”\ + }else code = cd; + //if (desc>=600){ + // sprintf(s,"ERROR %d, desc %d",dev+code,desc); + //}else{ + sprintf(s,"ERROR %d",dev+code); + // } +} + + + +bool prohibitHome = false;// HOME {^֎~ +// t@CVXeƑJڂX[vƂ̔rɗp +//nn::os::CriticalSection g_SleepCS; +// HOME {^Jڂƃt@CVXe̔rɗpi蓮Zbgj +nn::os::LightEvent g_TransitionEvent; +// X[vƃt@CVXe̔rɗpi蓮Zbgj +nn::os::LightEvent g_AwakeEvent; + +void restoreGraphicSetting() +{ + // GPU WX^ݒ̕A + // AL DMPGL API gpĐݒ肵Ԃ̕ + // WX^ݒR}h͑SčĔsׂ + nngxUpdateState(NN_GX_STATE_ALL); + nngxValidateState(NN_GX_STATE_ALL,GL_TRUE); +} + +FUNCP end_func; +void InitSysBreak(uptr adrs){ + end_func = (FUNCP)adrs; + + SleepHandler::Initialize(); + + //g_SleepCS.Initialize(); + g_AwakeEvent.Initialize(true); + g_TransitionEvent.Initialize(true); + + // N͏ Signal ԂɂĂ + g_AwakeEvent.Signal(); + g_TransitionEvent.Signal(); + + // AvbgCuɊւ@\Lɂ + nn::applet::Enable(false); + // gx, snd, dsp eCu Initialize ֐ applet::Enable() ̌ɌĂ΂Ȃ΂ȂȂ + // ɁAgx ̏ł nngxInitialize ֐́AEnable() ̏Ǐɍsׂ + + // S\ɓd{^ꂽȂǁAɏIĂꍇAŃAvI + if ( nn::applet::IsExpectedToCloseApplication() ) + { + SleepHandler::Finalize(); + nn::Result result = nn::applet::PrepareToCloseApplication(); + NN_UTIL_PANIC_IF_FAILED( result ); + nn::applet::CloseApplication(); + } + // OtBbNXCȕ́Aȍ~ōsȂ΂ȂȂ + // AAvP[V̏ + +} + + +//I +void finish() +{ + + SleepHandler::Finalize();//SLEEP + //g_SleepCS.Finalize(); + + (*end_func)(); + + g_AwakeEvent.Finalize(); + g_TransitionEvent.Finalize(); + + nn::fs::Finalize(); + + + appHeap.Free(reinterpret_cast(heapForGx)); + appHeap.Finalize(); + + nn::os::SetDeviceMemorySize(0); + nn::os::SetHeapSize(0); + + NN_LOG("End\n"); + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); +} + + +void CheckSysBreak(){ + // X[v̋ŃA1t[̕`抮҂Ă LCD Lɂ + if ( SleepHandler::s_IsAfterWakeUp ) { + nn::gx::StartLcdDisplay(); + SleepHandler::s_IsAfterWakeUp = false; + } + + // GPU ̃WX^ݒ̐lꍇA + // eJځAX[vvւ̕ԓ͕`Iɍsׂ + + // {̃X[v + if ( SleepHandler::IsSleepRequested() ) + { + SleepHandler::SleepSystem(); + } + + // Iv`FbN + if ( nn::applet::IsExpectedToCloseApplication() ) + { + finish(); + } + + // AvP[V̑Jڏs + + // HOME{^iOtBbNXCuς݂łȂ΂ȂȂj + if ( nn::applet::IsExpectedToProcessHomeButton() ) + { + if (prohibitHome){ // HOME {^֎~ + nn::applet::ClearHomeButtonState();//HOME {^tO폜 + }else + { + g_TransitionEvent.ClearSignal(); + + // t@CVXe͑Jڂ҂ + //if ( g_SleepCS.TryEnter() ) + { + // X[vv REJECT 悤 + nn::applet::DisableSleep(); + + //nngxWaitCmdlistDone(); + nn::applet::ProcessHomeButton(); + nn::applet::AppletWakeupState wState = nn::applet::WaitForStarting(); + NN_UNUSED_VAR(wState); + + //g_SleepCS.Leave(); + g_TransitionEvent.Signal(); + + // HOME j[̒fobe[s̗vɂ + // AvIƔfꂽꍇAAṽC[v𔲂ďI + if ( nn::applet::IsExpectedToCloseApplication() ) + { + // `挠͓nĂȂ + finish(); + } + + nn::applet::EnableSleep(true); + + // OtBbN̐ݒ߂ + restoreGraphicSetting(); + } + } + + } + + + // d{^iOtBbNXCuς݂łȂ΂ȂȂj + if ( nn::applet::IsExpectedToProcessPowerButton() ) + { + g_TransitionEvent.ClearSignal(); + + // t@CVXe͑Jڂ҂ + //if ( g_SleepCS.TryEnter() ) + { + nn::applet::DisableSleep(); + //nngxWaitCmdlistDone(); + nn::applet::ProcessPowerButton(); + nn::applet::AppletWakeupState wState = nn::applet::WaitForStarting(); + + NN_UNUSED_VAR(wState); + + //g_SleepCS.Leave(); + g_TransitionEvent.Signal(); + + // AvIƔfꂽꍇAAṽC[v𔲂ďI + if ( nn::applet::IsExpectedToCloseApplication() ) + { + // `挠͓nĂȂ + finish(); + } + + nn::applet::EnableSleep(true); + + // OtBbN̐ݒ߂ + restoreGraphicSetting(); + } + + } + + + + +} diff --git a/tags/1stNUP/CardSaveData/common/common.h b/tags/1stNUP/CardSaveData/common/common.h new file mode 100644 index 0000000..b2a8566 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/common.h @@ -0,0 +1,14 @@ +#ifndef COMMON_H_ +#define COMMON_H_ + +#include "my_defs.h" + +typedef void (*FUNCP)(); + +void finish(); +void CheckSysBreak(); +void InitSysBreak(uptr adrs); +void GetErrorStr(ErcDev dev,nn::Result res,int cd,char* s); + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/gui/gui.cpp b/tags/1stNUP/CardSaveData/common/gui/gui.cpp new file mode 100644 index 0000000..c39d534 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/gui/gui.cpp @@ -0,0 +1,654 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include "demo.h" +#include "gui.h" +#include "../shfnt.h" + +//----------- types etc --------------- +typedef struct{ + u16 x,y; +}tU16xy; + +typedef struct{ + f32 r; + f32 g; + f32 b; + f32 a; +}tCol; + +typedef struct{ + uptr image; + tCol color; + f32 width; +}tStyle; + +typedef void (*FUNCPTR)(u32 value); + + +//------------------ コンポーネントクラス +class cmBase{ +public: + FUNCPTR callback; + tU16xy pos; + tU16xy size; + bool enable; + bool visible; + u8 scr; + u8 padding[1]; +public: + cmBase():enable(false),visible(false){callback = 0;}; + virtual ~cmBase(){}; + void SetCallback(uptr adrs){ callback = (FUNCPTR)adrs;}; +}; + +//PADボタン +class cmButton: public cmBase +{ +public: + u32 mask;//PadStatus.Trigger のマスク +public: + cmButton(){mask=0;}; + +}; + +//パネル +class cmPanel: public cmBase +{ +public: + tStyle style; + char *caption; +public: + cmPanel(){ + caption="None"; + style.image = 0; + style.color.r = 1.0f; + style.color.g = 1.0f; + style.color.b = 1.0f; + style.color.a = 1.0f; + style.width = 2.0f; + } +}; + +//メッセージ +class cmMessage: public cmPanel +{ +public: + u32 parent;//親コンポーネントID +public: + cmMessage(){style.width = 8.0f;} +}; + + +#define LINES_MAX 20 +#define CHARS_MAX 128 +//メモ +class cmMemo: public cmBase +{ +private: + char strlst[LINES_MAX][CHARS_MAX]; +public: + tStyle style; + u32 lines;//行サイズ:strlen配列数以下であること + u32 parent;//親コンポーネントID +public: + cmMemo(); + bool setline(char *p,u16 ln); + char* line(u16 ln); + void clr(){ + for (int i=0;i 80 ) + { + if (x < 160) return -10; + else if (x <230) return -30; + else return -50; + } + return 0; +} + +//PANEL上の座標かチェック +bool onPanel(u16 x,u16 y,cmPanel *p) +{ + int px = pos2tpx(p->pos.x); + int pw = pos2tpx(p->size.x); + int py = 20; + + if (x <= (p->pos.x + px))return false; + if (x >= (p->pos.x + p->size.x + pw))return false; + if (y <= p->pos.y + py )return false; + if (y >= (p->pos.y + p->size.y))return false; + return true; +} + + +#define setText(x,y,s) shf_DrawText_0(x,y,s) +#define setSize(sz) shf_SetSize(sz) + +void setColor(tCol *col) +{ + //s_RenderSystem.SetColor(col->r, col->g, col->b,col->a); + shf_SetColor(col->r,col->g,col->b,col->a); +} + +//void setSize(f32 sz) +//{ +// s_RenderSystem.SetFontSize(sz); +//} + +/* +#define FONT_CAPTION_SIZE 12 +//caption付きBox描画 +void drawBox(tU16xy top,tU16xy size,tStyle *st,char* str = 0) +{ + u16 xe = top.x + size.x -1; + u16 ye = top.y + size.y -1; + setColor(&st->color); + s_RenderSystem.SetLineWidth(st->width); + s_RenderSystem.DrawLine(top.x, top.y, xe, top.y); + s_RenderSystem.DrawLine(xe, top.y, xe, ye); + s_RenderSystem.DrawLine(xe, ye, top.x, ye); + s_RenderSystem.DrawLine(top.x, ye, top.x, top.y); + if (str != 0){ + int w = (size.x - strlen(str)*FONT_CAPTION_SIZE) >> 1; + int h = (size.y - FONT_CAPTION_SIZE) >> 1; + if ((w>0) && (h>0)){ + setSize(FONT_CAPTION_SIZE); + s_RenderSystem.DrawText(top.x + w,top.y + h,str); + } + } +} +*/ + +//上画面、メッセージ枠表示 +void drawBox(tU16xy top,tU16xy size,tStyle *st,char* str = 0) +{ + int i; + shf_SetScale(2.0f,2.0f); + setColor(&st->color); + for (i=0;i> 1; + h = (size.y - h) >> 1; + if ((w>0) && (h>0)){ + setText(top.x + w+10,top.y + h,str); + } + } + +} + +//下画面ボタン表示 +void drawBox2(tU16xy top,tU16xy size,tStyle *st,char* str = 0) +{ + int i; + setColor(&st->color); + shf_SetScale(2.0f,2.0f); + for (i=0;i> 1; + h = (size.y - h) >> 1; + if ((w>0) && (h>0)){ + setText(top.x + w+10,top.y + h+10,str); + } + } + +} + + + +//描画 +void drawDisp() +{ + //NN_LOG("draw\n"); + //上 + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); + int i,j; + + for (i=0;ir = 0.0; + col->g = 0.0; + col->b = 0.0; + break; + case COLOR_GRAY: + col->r = 0.5f; + col->g = 0.5f; + col->b = 0.5f; + break; + case COLOR_RED: + col->r = 1.0f; + col->g = 0.0f; + col->b = 0.0f; + break; + case COLOR_BLUE: + col->r = 0.0f; + col->g = 0.0f; + col->b = 1.0f; + break; + case COLOR_GREEN: + col->r = 0.0f; + col->g = 1.0f; + col->b = 0.0f; + break; + case COLOR_YELLO: + col->r = 1.0f; + col->g = 1.0f; + col->b = 0.0f; + break; + case COLOR_WHITE: + col->r = 1.0f; + col->g = 1.0f; + col->b = 1.0f; + break; + case COLOR_PARPL: + col->r = 1.0f; + col->g = 0.0f; + col->b = 1.0f; + break; + case COLOR_SKY: + col->r = 0.5f; + col->g = 1.0f; + col->b = 1.0f; + break; + default: + col->r = 1.0f; + col->g = 1.0f; + col->b = 1.0f; + break; + } + col->a = 1.0f; +} + +//------------------ class code ---------------------------- + +nn::os::Thread s_thread; + +//thread +//void Gui::thUpdate() +void thUpdate(nn::os::LightEvent* pEvnt) +{ + nn::hid::PadReader padReader; + nn::hid::PadStatus padStatus; + nn::hid::TouchPanelStatus tpStatus; + tU16xy tpOld = {0,0}; + nn::hid::TouchPanelReader tpReader; + u32 value; + int i; + + while(1) + { + if (pEvnt->TryWait())break; + + if (s_Button.enable && (s_Button.callback !=0))//PADボタン + { + padReader.ReadLatest(&padStatus); + value = (padStatus.trigger & s_Button.mask) | ((padStatus.hold & s_Button.mask) << 16); + if (value)(*s_Button.callback)(value); + } + + tpReader.ReadLatest(&tpStatus);//タッチ + if((tpStatus.x != tpOld.x) || (tpStatus.y != tpOld.y)) + { + tpOld.x = tpStatus.x; + tpOld.y = tpStatus.y; + if (tpStatus.touch) + { + NN_LOG("x =%d , y=%d\n",tpStatus.x,tpStatus.y); + for (i=0;iClearSignal(); +} + + +Gui::~Gui() +{ + Finalize(); +} + + +//初期化、終了 +bool Gui::Initialize(uptr pHeap,u32 size,nn::os::LightEvent* pEvnt) +{ + if (Initialized)return false; + Initialized = true; + + //コンポーネントの初期化 + int i; + for (i=0;i< PANEL_MAX;i++)PanelEffective(i,false,false); + for (i=0;i< MEMO_MAX;i++)MemoEffective(i,false,false); + for (i=0;i< MESS_MAX;i++)MessEffective(i,false,false); + + //Render + s_RenderSystem.Initialize(pHeap, size); + + SharedFontInit(); + + //HID + nn::hid::Initialize(); + + //Thread + NN_LOG("Thread Start\n"); + nn::Result res =s_thread.TryStartUsingAutoStack(thUpdate,pEvnt,8192); + if (res.IsFailure()){ + NN_LOG("failed :res.desc = %d\n",res.GetDescription()); + return false; + } + + + + return true; +} + +void Gui::Finalize() +{ + if (Initialized != true) return; + if (s_thread.IsAlive()) + { + s_thread.Join(); + s_thread.Finalize(); + } + Initialized = false; + //nn::hid::Finalize(); + // nngxFinalize 関数呼び出しと VSync 割り込みが同時に発生すると + // 画面が暗転したまま止まる不具合を回避するために VSync 待ちを行う + nngxWaitVSync(NN_GX_DISPLAY_BOTH); + SharedFontFinalize(); + nngxWaitVSync(NN_GX_DISPLAY_BOTH); + s_RenderSystem.Finalize(); + +} + +void Gui::ButtonCallback(uptr adrs) +{ + s_Button.SetCallback(adrs); +} + +void Gui::ButtonMask(u32 mask) +{ + s_Button.mask = mask; + s_Button.enable = true; +} + +myResult Gui::PanelSet(const tPanel *panel) +{ + if (panel->id >= PANEL_MAX)return RESULT_BAD_PARAM; + s_Panel[panel->id].pos.x = panel->x; + s_Panel[panel->id].pos.y = panel->y; + s_Panel[panel->id].size.x = panel->width; + s_Panel[panel->id].size.y = panel->height; + //if (panel->caption[0] != 0 ) + s_Panel[panel->id].caption = panel->caption; + s_Panel[panel->id].SetCallback(panel->callback); + s_Panel[panel->id].scr = panel->scr; + s_Panel[panel->id].visible = false; + s_Panel[panel->id].enable = false; + return RESULT_OK; +} + +myResult Gui::PanelEffective(u8 id,bool enable,bool visible) +{ + if (id >= PANEL_MAX)return RESULT_BAD_PARAM; + s_Panel[id].enable = enable; + s_Panel[id].visible = visible; + return RESULT_OK; +} + +myResult Gui::PanelLineStyle(u8 id,eColor col,u8 width) +{ + if (id >= PANEL_MAX)return RESULT_BAD_PARAM; + ColorFromCode(col,&s_Panel[id].style.color); + s_Panel[id].style.width = width; + return RESULT_OK; +} + + +myResult Gui::MessEffective(u8 id,bool enable,bool visible) +{ + if (id >= MESS_MAX)return RESULT_BAD_PARAM; + s_Message[id].enable = enable; + s_Message[id].visible = visible; + return RESULT_OK; +} + + +myResult Gui::MessSet(const tMessage *mes) +{ + if ((mes->parent >= PANEL_MAX) || (mes->id >= MESS_MAX))return RESULT_BAD_PARAM; + s_Message[mes->id].pos.x = mes->x; + s_Message[mes->id].pos.y = mes->y; + s_Message[mes->id].caption = mes->str; + s_Message[mes->id].parent = mes->parent; + s_Message[mes->id].style.width = mes->size; + ColorFromCode(mes->color,&s_Message[mes->id].style.color); + s_Message[mes->id].visible = false; + s_Message[mes->id].enable = false; + return RESULT_OK; +} + +myResult Gui::MessStr(u8 id,char *str) +{ + if (id >= MESS_MAX)return RESULT_BAD_PARAM; + s_Message[id].caption = str; + return RESULT_OK; +} + +myResult Gui::MessCol(u8 id,eColor col) +{ + if (id >= MESS_MAX)return RESULT_BAD_PARAM; + ColorFromCode(col,&s_Message[id].style.color); + return RESULT_OK; +} + +myResult Gui::MemoSet(const tMemo *m) +{ + if ((m->parent >= PANEL_MAX) || (m->id >= MEMO_MAX))return RESULT_BAD_PARAM; + if (m->lines > LINES_MAX)return RESULT_BAD_PARAM; + s_Memo[m->id].lines = m->lines; + s_Memo[m->id].pos.x = m->x; + s_Memo[m->id].pos.y = m->y; + s_Memo[m->id].parent = m->parent; + s_Memo[m->id].style.width = m->size; + ColorFromCode(m->color,&s_Memo[m->id].style.color); + s_Memo[m->id].clr(); + s_Memo[m->id].visible = false; + s_Memo[m->id].enable = false; + return RESULT_OK; +} + +myResult Gui::MemoStr(u8 id,char *str,u16 ln) +{ + if ((id < MEMO_MAX) && s_Memo[id].setline(str,ln) )return RESULT_OK; + return RESULT_BAD_PARAM; +} + + +myResult Gui::MemoEffective(u8 id,bool enable,bool visible) +{ + if (id >= MEMO_MAX)return RESULT_BAD_PARAM; + s_Memo[id].enable = enable; + s_Memo[id].visible = visible; + return RESULT_OK; +} + + + +void Gui::Draw() +{ + //s_drawFlag = true; + drawDisp(); +} + + +void Gui::DisableAll() +{ + for (int i=0;i +#include +#include "../my_defs.h" + +typedef struct +{ + uptr callback; + char* caption; + u16 x,y; + u16 width,height; + u16 id; + u16 scr;//0:up,else down screen +}tPanel; + +typedef enum { + COLOR_BLACK, + COLOR_GRAY, + COLOR_RED, + COLOR_GREEN, + COLOR_BLUE, + COLOR_YELLO, + COLOR_WHITE, + COLOR_PARPL, + COLOR_SKY +}eColor; + +typedef struct +{ + char* str; + u16 x,y;//親の始点との相対 + eColor color;// + u8 size;//文字サイズ + u8 id; + u8 parent;//親コンポーネント指定 +}tMessage; + +typedef struct +{ + u16 lines;//表示行数 + u16 x,y;//親の始点との相対 + eColor color;//文字色 + u8 size;//文字サイズ + u8 id; + u8 parent;//親コンポーネント指定 +}tMemo; + + + +class Gui +{ +private: + bool Initialized; + +public: + Gui(){}; + ~Gui(); + bool Initialize(uptr pHeap,u32 size,nn::os::LightEvent* pEvnt); + void Finalize(); + void ButtonCallback(uptr adrs); + void ButtonMask(u32 mask); + myResult PanelSet(const tPanel *panel); + myResult MessSet(const tMessage *mes); + myResult MemoSet(const tMemo *m); + void Draw(); + void DisableAll(); + myResult PanelEffective(u8 id,bool enable=true,bool visible=true); + myResult MessEffective(u8 id,bool enable=true,bool visible=true); + myResult MemoEffective(u8 id,bool enable=true,bool visible=true); + myResult MessStr(u8 id,char *str); + myResult MessCol(u8 id,eColor col); + myResult MemoStr(u8 id,char *str,u16 ln); + myResult PanelLineStyle(u8 id,eColor col=COLOR_WHITE,u8 width = 2); + //void thUpdate(); +}; + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/my_defs.h b/tags/1stNUP/CardSaveData/common/my_defs.h new file mode 100644 index 0000000..4ea84a0 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/my_defs.h @@ -0,0 +1,82 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef MYDEFS_H_ +#define MYDEFS_H_ + + +//エラー表示コード +enum { +ERC_UNKNOWN = 0, //不明 +ERC_DEVICE, //デバイスが見つからない(カード抜け) +ERC_PRODCODE,//プロダクトコード不一致 +ERC_VERIFI,//ベリファイエラー +ERC_PATH,//パスが長すぎ +ERC_DIRDEPTH,//ディレクトリ深すぎ +ERC_MEDIA, //メディアが見つからない(サブ基盤外れなど) +//ERC_PULLOUT,//抜け検出 +ERC_READ = 10, //ファイルが見つからない +ERC_WRITE_OW = 20, //既に存在 +ERC_WRITE_NS, //空き容量がない +ERC_WRITE_PROTECT, //書込み禁止 +ERC_ACCESS = 30, //アクセスエラー +ERC_FORMAT = 50, //フォーマットエラー +ERC_SDK_VERIFI = 60, //検証に失敗、改竄 +ERC_ROM = 70, //ROM情報エラー +ERC_RETRY = 80, //リトライ要求 +ERC_EXEC = 90, //実行時エラー +ERC_FATAL = 99 //深刻なエラー +}; + +typedef enum{ +ERC_DEV_CARD = 100, +ERC_DEV_OUT = 200, +ERC_DEV_OTHER = 300 +}ErcDev; + + +//内部使用のエラー +typedef enum { + RESULT_OK, + RESULT_FAIL, + RESULT_FAIL_OPEN, + RESULT_FAIL_OPENW, + RESULT_FAIL_DELETE, + RESULT_FAIL_CREATE, + RESULT_FAIL_READ, + RESULT_FAIL_WRITE, + RESULT_FAIL_MOUNT, + RESULT_FAIL_FORMAT, + RESULT_FAIL_GETDIR, + RESULT_FAIL_VERIFI, + RESULT_NOT_FAUND, + RESULT_NO_MEDIA, + RESULT_NOT_FORMAT, + RESULT_BAD_FORMAT, + RESULT_SDK_VERIFI, + RESULT_FILE_EXIST, + RESULT_NO_EXSAVE, + RESULT_ALREADY_MOUNT, + RESULT_INVALID_FILE, + RESULT_BAD_PARAM, + RESULT_DIR_LEVEL_OVER, + RESULT_PATH_LENGTH_OVER, + RESULT_DEVICE_FULL, + RESULT_MAX +}myResult; + + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/null_banner/banner_null.bsf b/tags/1stNUP/CardSaveData/common/null_banner/banner_null.bsf new file mode 100644 index 0000000000000000000000000000000000000000..e52a6415ae84fb6c09618afc47449a91be09f4f5 GIT binary patch literal 2248 zcmb7@%T59@6o$`M6Q4m6H@eU?goR;4L>z-x!f0HJ8bmImFrtZ%;Tss=z?CbPK7-HU z)`zG7 zk-={TH{cQ@a){X>=BC%#yx}U~V?6)yM{frZtB|K zAcGdHFD7+OVw2yLEpUf__Rh&TD}LRP8ty62t|k1^&=i*#OGv4xm!o08bg&~6)>E$R4-?Pn99ZrN=}XSX5kXS0p! z%(7uc$jovujNi^xIhwh1Qf(^$KWVo^ z8trGZi~qFyKDgqO&SsO-6(sNHQ<38opX9{HJ>C-1Zl5&T&!(1I9antP*=1;MXS6_W@ literal 0 HcmV?d00001 diff --git a/tags/1stNUP/CardSaveData/common/null_banner/model.cbmd b/tags/1stNUP/CardSaveData/common/null_banner/model.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..f1c7b6279e13f5278c419d615d7d03d5660005e5 GIT binary patch literal 198785 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 MDvwobWH +#include +#include +#include <../fs/fs_ResultPrivate.h> +#include "exsave.h" + +#define OWN_UID 0xf8014 +const char *exsaveName = "exsave:"; +const wchar_t *exsaveRoot_w = L"exsave:/save/"; +const char *exsaveRoot = "exsave:/save/"; +#define ROOTLENGTH_EX 8 +const wchar_t *exsaveSys_w = L"exsave:/ncl_sysdata.ncl";//暫定 +wchar_t expath_w[PATHLENGTH_MAX];//パス名 +wchar_t expathu_w[100][PATHLENGTH_MAX];//上層パス名 +wchar_t expathw_w[PATHLENGTH_MAX];//パス名ワーク +static nn::fs::DirectoryEntry exdcEntry[MAX_LEVEL]; +static nn::fs::Directory exdc[MAX_LEVEL]; + + +//拡張セーブデータ +//存在確認 +bool ExSave::IsExist() +{ + LastNnResult = nn::fs::MountExtSaveData(exsaveName,OWN_UID); + nn::fs::Unmount(exsaveName); + return LastNnResult.IsSuccess(); +} + +//パス検索位置のリセット +void ExSave::ResetPath() +{ + s_lv=0; + s_serch = false; + wcscpy(expath_w,exsaveRoot_w); + //wcscpy(expathu_w,expath_w); +} + + +myResult ExSave::GetPath(wchar_t *path) +{ + int n; + while(1){ + if (s_serch==false){ + LastNnResult = exdc[s_lv].TryInitialize(expath_w);//Open + if (LastNnResult.IsFailure()){ + return RESULT_FAIL; + } + } + while(1){ + n = (exdc[s_lv].Read(&exdcEntry[s_lv],1)); + if ( n==0 )//終端 + { + exdc[s_lv].Finalize(); + if (s_lv == 0){path[0]=0;return RESULT_OK;}// ---- rootなら終了 + s_lv--;//上の層に戻る + wcscpy(expath_w,expathu_w[s_lv]);//パス戻す + }else{ + if(exdcEntry[s_lv].attributes.isDirectory){//ディレクトリ + //m_info.DirCount++; + wcscpy(expathu_w[s_lv],expath_w);//パス保存 + wcscat(expath_w,exdcEntry[s_lv].entryName);//次のディレクトリパス + wcscat(expath_w,L"/"); + if (++s_lv == MAX_LEVEL)return RESULT_DIR_LEVEL_OVER; + s_serch = false; + break; + }else{//ファイル + //m_info.FileCount++; + s_serch = true; + wcscpy(path,pPathTop); + wcscat(path,exdcEntry[s_lv].entryName); + return RESULT_OK; + } + } + } + } + +} + + +//削除 +bool ExSave::Delete() +{ + LastNnResult = nn::fs::DeleteExtSaveData(OWN_UID); + //if (nn::fs::ResultNotFound().Includes(LastNnResult))return RESULT_NOT_FOUND; + return LastNnResult.IsSuccess(); +} + +//セーブ作成、成功時はマウント状態 +myResult ExSave::Create(const void* icon,size_t iconSize,u32 entryDir,u32 entryFile) +{ + if ( IsMounted )return RESULT_ALREADY_MOUNT; + LastNnResult = nn::fs::CreateExtSaveData(OWN_UID,icon,iconSize,entryDir,entryFile); + if (LastNnResult.IsFailure())return RESULT_FAIL_CREATE; + LastNnResult = nn::fs::MountExtSaveData(exsaveName,OWN_UID); + if (LastNnResult.IsFailure())return RESULT_FAIL_MOUNT; + LastNnResult = nn::fs::TryCreateDirectory(exsaveRoot_w); + if (LastNnResult.IsFailure()){ + nn::fs::Unmount(exsaveName); + return RESULT_FAIL_MOUNT; + } + IsMounted = true; + return RESULT_OK; +} +//マウント +myResult ExSave::Mount() +{ + if ( IsMounted )return RESULT_ALREADY_MOUNT; + LastNnResult = nn::fs::MountExtSaveData(exsaveName,OWN_UID); + if (LastNnResult.IsFailure()){ + return RESULT_FAIL_MOUNT; + } + IsMounted = true; + return RESULT_OK; +} +void ExSave::Unmount() +{ + IsMounted = false; + nn::fs::Unmount(exsaveName); +} +//ライト属性ファイルを閉じる +void ExSave::CloseW() +{ + writer.Finalize(); +} + +//ファイルライト +s32 ExSave::Write(char *buffer,size_t size) +{ + s32 ct; + LastNnResult = writer.TryWrite(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure())ct=0; + return ct; +} + + +//管理用ファイル +//ライト属性で開く +bool ExSave::OpenSysW() +{ + LastNnResult = nn::fs::TryCreateFile(exsaveSys_w,sizeof(tArcInfo)); + LastNnResult = writerSys.TryInitialize(exsaveSys_w,false); + return LastNnResult.IsSuccess(); +} +//ライト属性ファイルを閉じる +void ExSave::CloseSysW() +{ + writerSys.Finalize(); +} +//システムファイルライト +bool ExSave::WriteSys(tArcInfo *pinfo) +{ + s32 ct; + pinfo->Ver = INFO_VERSION; + LastNnResult = writerSys.TryWrite(&ct,(void*)pinfo,sizeof(tArcInfo)); + return LastNnResult.IsSuccess(); +} +//リード属性で開く +bool ExSave::OpenSysR() +{ + LastNnResult = readerSys.TryInitialize(exsaveSys_w); + return LastNnResult.IsSuccess(); +} +//ライト属性ファイルを閉じる +void ExSave::CloseSysR() +{ + readerSys.Finalize(); +} +//ファイルリード +bool ExSave::ReadSys(tArcInfo *pinfo) +{ + s32 ct; + LastNnResult = readerSys.TryRead(&ct,(void*)pinfo,sizeof(tArcInfo)); + return LastNnResult.IsSuccess(); +} + + + + +//ライト属性ファイルを開く +bool ExSave::OpenW(wchar_t *path,s64 size) +{ + int pos,pos2; + + wcscpy(expath_w,exsaveRoot_w); + wcscat(expath_w,path); + while(1){ + LastNnResult = nn::fs::TryCreateFile(expath_w,size); + if(LastNnResult.IsSuccess())break; + //ディレクトリがなければディレクトリを作成 + pos = GetPosDelmLast(expath_w,ROOTLENGTH_EX);//ファイルが存在するディレクトリ + if (pos <= 0)return false;//rootかパスが不正 + //while (1){ + wcscpy(expathw_w,expath_w);//ワークにコピー + while (LastNnResult.IsFailure()){//ディレクトリ作成できるまで遡る + if(LastNnResult.GetDescription()!=nn::fs::DESCRIPTION_DBM_DIRECTORY_NOT_FOUND)return false; + pos2 = GetPosDelmLast(expathw_w,ROOTLENGTH_EX);//境界位置を探す + if (pos2 == 0)return false;//root到達 + expathw_w[pos2] = 0;//境界まで削除 (例) dir1/dir2/file -> dir1/dir2 -> dir1 + LastNnResult = nn::fs::TryCreateDirectory(expathw_w); + } + //if (pos2 == pos)break;//配置ディレクトリなら抜ける + //todo:ディレクトリが深いとき時間がかかるなら、無駄なTryCreateを省く + //案)直上から最初の成功までのデリミタ位置を記録 + //先に全ディレクトリ作っておくのがよさげ + //} + } + LastNnResult = writer.TryInitialize(expath_w,false); + return LastNnResult.IsSuccess(); +} + +//ファイルリード +s32 ExSave::Read(char *buffer,size_t size) +{ +// if (IsMounted==false)return 0; + s32 ct; + LastNnResult = reader.TryRead(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure())ct=0; + return ct; +} + + +void ExSave::Close() +{ + reader.Finalize(); +} + + +//ファイルを開く +//パス指定はルート以降 +//(ex)data:/dir/file -> dir/file +bool ExSave::Open(wchar_t *path) +{ + wcscpy(expathw_w,exsaveRoot_w); + wcscat(expathw_w,path); + LastNnResult = reader.TryInitialize(expathw_w); + if (LastNnResult.IsSuccess()) + { + LastNnResult = reader.TryGetSize(&FileSize); + if (LastNnResult.IsSuccess())return true; + else Close(); + } + return false; +} + +//アーカイブ情報の取得 +bool ExSave::GetInfo(tArcInfo *pinfo) +{ + if(Mount()==RESULT_FAIL_MOUNT)return false; + //システムデータからフォーマット情報 + if (OpenSysR()) + { + if(ReadSys(pinfo) == false){ + pinfo->Pcode[0]=0; + CloseSysR();//クローズ + Unmount(); + return false; + } + }else{ + Unmount(); + return false; + } + CloseSysR();//クローズ +// Unmount(); +//#ifdef INFO_API_USE +//API情報と比較 +// LastNnResult = nn::fs::GetExtSaveDataFormatInfo(OWN_UID,&m_info.FileEntry,&m_info.DirEntry); +// if (m_info.FileEntry != pinfo->FileEntry)return false; +// if (m_info.DirEntry != pinfo->DirEntry)return false; +// //if (m_info.Dup != pinfo->Dup)return false; //ExSaveには無い +//#endif + return true; +} + + +//コンストラクタ +ExSave::ExSave() +{ + IsMounted = false; + s_lv=0; + m_info.DirCount = 0; + m_info.FileCount = 0; + m_info.DirEntry = 0; + m_info.FileEntry = 0; + wcscpy(expath_w,exsaveRoot_w); + //wcscpy(expathu_w,expath_w); + pPathTop = (wchar_t*)((u32)&expath_w+strlen(exsaveRoot)*2); +} + +void ExSave::Finalize() +{ + Close(); + Unmount(); +} +//デストラクタ +ExSave::~ExSave() +{ + Finalize(); +} + diff --git a/tags/1stNUP/CardSaveData/common/savefile/exsave.h b/tags/1stNUP/CardSaveData/common/savefile/exsave.h new file mode 100644 index 0000000..0806d88 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/exsave.h @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef EXSAVE_H_ +#define EXSAVE_H_ + +#include +#include +#include "../my_defs.h" +#include "savefile.h" + +class ExSave +{ +public: + s64 FileSize; + nn::Result LastNnResult; +private: + nn::fs::FileReader reader; + nn::fs::FileWriter writer; + nn::fs::FileReader readerSys; + nn::fs::FileWriter writerSys; + wchar_t *pPathTop; + tArcInfo m_info; + int s_lv; + int exrootlen; + bool IsMounted; + bool s_serch; +public: + ExSave(); + ~ExSave(); + void Finalize(); + myResult Create(const void* icon,size_t iconSize,u32 entryDir,u32 entryFile); + myResult CreateSys(const void* icon,size_t iconSize); + myResult Mount(); + myResult MountSys(); + bool IsExist(); + void Unmount(); + bool Delete(); + void CloseW(); + bool OpenW(wchar_t *path,s64 size); + bool OpenSysW();//暫定 + void CloseSysW();//暫定 + bool OpenSysR();//暫定 + void CloseSysR();//暫定 + s32 Write(char *buffer,size_t size); + bool WriteSys(tArcInfo *pinfo); + bool ReadSys(tArcInfo *pinfo); + void ResetPath(); + s32 Read(char *buffer,size_t size); + void Close(); + bool Open(wchar_t *path); + myResult GetPath(wchar_t *path); + bool GetInfo(tArcInfo *pinfo); +}; + + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/savefile/membak.cpp b/tags/1stNUP/CardSaveData/common/savefile/membak.cpp new file mode 100644 index 0000000..a8e17a8 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/membak.cpp @@ -0,0 +1,225 @@ +#include +#include +#include +#include +#include "membak.h" + +using namespace nn; + +namespace +{ + const size_t BUFFER_SIZE = MEM_BKUP_SIZE; + bit8 s_Buffer[BUFFER_SIZE] NN_ATTRIBUTE_ALIGN(4096); +} + +bool info_alive; + +//-------------------------------------------------------------------- +// + + +//RXgN^ +MemBak::MemBak() +{ + m_Exists = false; + m_pBuffer = s_Buffer; + m_pBufferPos = s_Buffer; + m_pBufferSize = sizeof(s_Buffer); + LastNnResult = ResultSuccess(); + ResetPath(); + + info_alive = false; +} + +void MemBak::Finalize() +{ +} +//fXgN^ +MemBak::~MemBak() +{ +} + + + + + +//-------------------------------------------------------------------- +// mount, unmount, create, delete + +//݊mF +bool MemBak::IsExist() +{ + return m_Exists; +} + +//Z[u쐬A̓}Eg +myResult MemBak::Create(u32 entryDir,u32 entryFile) +{ + if ( m_IsMounted ) + { + return RESULT_ALREADY_MOUNT; + } + + m_NumDirEntry = entryDir; + m_NumFileEntry = entryFile; + + m_Exists = true; + m_IsMounted = true; + return RESULT_OK; +} + +//폜 +bool MemBak::Delete() +{ + m_Exists = false; + info_alive = false; + m_pBufferPos = m_pBuffer; + return true; +} + +//}Eg +myResult MemBak::Mount() +{ + if ( m_IsMounted ) + { + return RESULT_ALREADY_MOUNT; + } + + m_IsMounted = true; + return RESULT_OK; +} +void MemBak::Unmount() +{ + m_IsMounted = false; +} + + + + +//-------------------------------------------------------------------- +// SetInfo, GetInfo + +//A[JCu̎擾 +bool MemBak::GetInfo(tArcInfo *pinfo) +{ + if (info_alive==false)return false; + *pinfo = m_ArcInfo; + return true; +} + + +//Ǘpt@C +//CgŊJ +bool MemBak::OpenSysW() +{ + return true; +} +//Cgt@C‚ +void MemBak::CloseSysW() +{ +} + + +//VXet@CCg +bool MemBak::WriteSys(tArcInfo *pinfo) +{ + info_alive = true; + pinfo->Ver = INFO_VERSION; + m_ArcInfo = *pinfo; + return true; +} + + + + +//-------------------------------------------------------------------- +// Traverse + +//pXʒũZbg +void MemBak::ResetPath() +{ + m_pFind = reinterpret_cast(m_pBuffer); +} + + +myResult MemBak::GetPath(wchar_t *path) +{ + if( m_pFind->IsEnd() ) + { + path[0] = '\0'; + return RESULT_OK; + } + + std::wcscpy(path, m_pFind->GetName()); + m_pFind = m_pFind->GetNext(); + + return RESULT_OK; +} + + + + +//-------------------------------------------------------------------- +// Write + +//Cgt@C‚ +void MemBak::CloseW() +{ +} + +//t@CCg +s32 MemBak::Write(char *buffer,size_t size) +{ + return m_ForWrite.Write(buffer, size); +} + + + +//Cgt@CJ +bool MemBak::OpenW(wchar_t *path,s64 size) +{ + m_ForWrite.Init(reinterpret_cast(m_pBufferPos)); + m_ForWrite.Set(path, size); + m_pBufferPos = reinterpret_cast(m_ForWrite.GetNext()); + return true; +} + +//-------------------------------------------------------------------- +// Read + +//t@C[h +s32 MemBak::Read(char *buffer,size_t size) +{ + return m_ForRead.Read(buffer, size); +} + + +void MemBak::Close() +{ +} + + +//t@CJ +//pXw̓[gȍ~ +//(ex)data:/dir/file -> dir/file +bool MemBak::Open(wchar_t *path) +{ + EntryHeader* pE = reinterpret_cast(m_pBuffer); + + while( ! pE->IsEnd() ) + { + if( pE->Match(path) ) + { + m_ForRead.Init(pE); + FileSize = m_ForRead.GetSize(); + return true; + } + + pE = pE->GetNext(); + } + + return false; +} + +//-------------------------------------------------------------------- + diff --git a/tags/1stNUP/CardSaveData/common/savefile/membak.h b/tags/1stNUP/CardSaveData/common/savefile/membak.h new file mode 100644 index 0000000..08c54e4 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/membak.h @@ -0,0 +1,193 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef MEMBAK_H_ +#define MEMBAK_H_ + +#include +#include +#include "../my_defs.h" +#include "savefile.h" +#include + +//̉zobNAbve +//SDKXVŃAv̈悪”\̂ŖȂ +#define MEM_BKUP_SIZE 10*1024*1024 + +class MemBak +{ +public: + s64 FileSize; + NN_PADDING4; + nn::Result LastNnResult; +private: + struct EntryHeader + { + s16 nameSize; + NN_PADDING2; + s32 dataSize; + s32 nextOffset; + + EntryHeader* GetNext() + { + return reinterpret_cast( + reinterpret_cast(this) + nextOffset); + } + bit8* GetDataPointer() + { + return reinterpret_cast(this + 1) + nameSize; + } + const wchar_t* GetName() const + { + return reinterpret_cast( + reinterpret_cast(this + 1)); + } + void SetName(const wchar_t* name) + { + s32 len = std::wcslen(name); + nameSize = len * 2 + 2; + std::memcpy(this + 1, name, nameSize); + } + void SetSize(size_t size) + { + dataSize = size; + } + s32 GetSize() const + { + return dataSize; + } + void SetNext() + { + nextOffset = nn::math::RoundUp(sizeof(*this) + nameSize + dataSize, 4); + } + bool Match(const wchar_t* p) + { + return std::wcscmp(p, GetName()) == 0; + } + bool IsEnd() const + { + return nameSize == 0; + } + }; + struct FileState + { + EntryHeader* pE; + s32 pos; + + void Init(EntryHeader* p) + { + pE = p; + pos = 0; + } + void Set(const wchar_t* name, size_t size) + { + pE->SetName(name); + pE->SetSize(size); + pE->SetNext(); + pE->GetNext()->nameSize = 0; + } + s32 GetSize() const { return pE->GetSize(); } + EntryHeader* GetNext() + { + return pE->GetNext(); + } + bit8* GetCurrentPointer() + { + return pE->GetDataPointer() + pos; + } + s32 GetRemain() const + { + return pE->dataSize - pos; + } + void Advance(s32 size) + { + pos += size; + } + s32 Write(const void* p, size_t size) + { + s32 remain = GetRemain(); + if( remain <= 0 ) + { + return 0; + } + + s32 copySize = nn::math::Min(remain, size); + std::memcpy(GetCurrentPointer(), p, copySize); + Advance(copySize); + + return copySize; + } + s32 Read(void* p, size_t size) + { + s32 remain = GetRemain(); + if( remain <= 0 ) + { + return 0; + } + + s32 copySize = nn::math::Min(remain, size); + std::memcpy(p, GetCurrentPointer(), copySize); + Advance(copySize); + + return copySize; + } + }; + + tArcInfo m_ArcInfo; + FileState m_ForRead; + FileState m_ForWrite; + + bool m_Exists; + bool m_IsMounted; + NN_PADDING2; + bit8* m_pBuffer; + size_t m_pBufferSize; + bit8* m_pBufferPos; + EntryHeader* m_pFind; + + u32 m_NumDirEntry; + u32 m_NumFileEntry; + +public: + MemBak(); + ~MemBak(); + void Finalize(); + myResult Create(u32 entryDir,u32 entryFile); +// myResult CreateSys(); + myResult Mount(); +// myResult MountSys(); + bool IsExist(); + void Unmount(); + bool Delete(); + void CloseW(); + bool OpenW(wchar_t *path,s64 size); + bool OpenSysW();//b + void CloseSysW();//b +// bool OpenSysR();//b +// void CloseSysR();//b + s32 Write(char *buffer,size_t size); + bool WriteSys(tArcInfo *pinfo); +// bool ReadSys(tArcInfo *pinfo); + void ResetPath(); + s32 Read(char *buffer,size_t size); + void Close(); + bool Open(wchar_t *path); + myResult GetPath(wchar_t *path); + bool GetInfo(tArcInfo *pinfo); +}; + + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/savefile/savedata.cpp b/tags/1stNUP/CardSaveData/common/savefile/savedata.cpp new file mode 100644 index 0000000..2e4e010 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/savedata.cpp @@ -0,0 +1,79 @@ +#include +#include +#include +#include "savedata.h" +#include +#include +#include +#include + +//プロダクトコード +//結果は PrdCord に格納 +bool SaveData::GetPrdCode() +{ + PrdCode[0] = 0;//clear + s32 numPrograms; + nn::ProgramId programId; + + LastNnResult = nn::am::InitializeForLocalImporter(); + if (LastNnResult.IsFailure()){ + nn::am::FinalizeForLocalImporter(); + return false; + } + LastNnResult = nn::am::GetProgramList(&numPrograms, &programId, 1, nn::fs::MEDIA_TYPE_CTRCARD); + if (LastNnResult.IsFailure()){ + nn::am::FinalizeForLocalImporter(); + return false; + } + LastNnResult = nn::am::GetProductCode( (nn::ProductCode*)&PrdCode,nn::fs::MEDIA_TYPE_CTRCARD,programId); + nn::am::FinalizeForLocalImporter(); + PrdCode[sizeof(nn::ProductCode)] = 0;//表示時のオーバラン対策 + return LastNnResult.IsSuccess(); +} + +//セーブ作成、成功時はマウント状態 +myResult SaveData::Format(tArcInfo *pinfo) +{ + if ( IsMounted )return RESULT_ALREADY_MOUNT; + LastNnResult = nn::fs::FormatCtrCardSaveData(pinfo->FileEntry,pinfo->DirEntry,pinfo->Dup); + if (LastNnResult.IsFailure())return RESULT_FAIL_FORMAT; + if ( Mount() != RESULT_OK )return RESULT_FAIL_MOUNT; + IsMounted = true; + return RESULT_OK; +} + + +//コミット +bool SaveData::Commit() +{ + LastNnResult=nn::fs::CommitSaveData(devName); + return LastNnResult.IsSuccess(); +} + + +//マウント +bool SaveData::MountCore() +{ + //リストア先の場合、コール元でチェック(エラーによってはフォーマットすれば使える) + LastNnResult = nn::fs::MountCtrCardSaveDataForCheck(devName); + return LastNnResult.IsSuccess(); +} + +//フォーマット情報 +void SaveData::GetFormatInfoCore(tArcInfo *ifo) +{ + LastNnResult = nn::fs::GetCtrCardSaveDataFormatInfo(&ifo->FileEntry,&ifo->DirEntry,&ifo->Dup); +} + + +//コンストラクタ +SaveData::SaveData() +{ + PrdCode[0] = 0; + strcpy(devName,"data:"); + SetRootPath(L"data:"); + +} + + + diff --git a/tags/1stNUP/CardSaveData/common/savefile/savedata.h b/tags/1stNUP/CardSaveData/common/savefile/savedata.h new file mode 100644 index 0000000..0b247ea --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/savedata.h @@ -0,0 +1,41 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SAVEDATA_H_ +#define SAVEDATA_H_ + +#include +#include +#include "../my_defs.h" +#include "savefile.h" + +class SaveData: public SaveFileRead,public SaveFileWrite +{ +public: + char PrdCode[20]; +private: + void GetFormatInfoCore(tArcInfo *ifo); +public: + bool MountCore(); + myResult Format(tArcInfo *pinfo); + void Finalize(){Close();}; + bool GetPrdCode(); + bool Commit(); + SaveData(); + ~SaveData(){Finalize();}; +}; + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/savefile/savefile.cpp b/tags/1stNUP/CardSaveData/common/savefile/savefile.cpp new file mode 100644 index 0000000..eedd2ba --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/savefile.cpp @@ -0,0 +1,301 @@ +//ʊ֐ + +#include "savefile.h" + +//I[OŌ‚E("/"=0x2f)ʒuԂ +//top :͈͂̐擪w +int GetPosDelmLast(wchar_t *s,int top) +{ + size_t i = wcslen(s); + if (i <= top)return 0; + i--; + while(i > top-1){ + if (s[i]==L'/')return i; + i--; + } + return 0; +} + +//pX +void ChainPath(wchar_t *p1,wchar_t *p2) +{ + int n=wcslen(p1); + if ((p1[n-1] == L'/') && (p2[0] == L'/')) p1[n-1] = 0; + if ((p1[wcslen(p1)-1] != L'/') && (p2[0] != L'/')) wcscat(p1,L"/"); + wcscat(p1,p2); +} + + +//pX`FbN for SD +//fs֐ňG[(INVALID_ARGUMENT)ɂȂȂ̂`FbN +bool CheckPath(wchar_t *s) +{ + int i; + size_t n = wcslen(s); + + if ((n > 253) || (n==0))return false; + if (n>251) + {//fBNgI[v251܂ + if ((s[251]==L'/') || (s[252]==L'/'))return false; + } + + for (i =0;i< n-1;i++) + { + if ((s[i-1] == ' ')||(s[i+1] == ' '))return false;//ɂ̓XbVOƍŌ + if ((s[i-1] == 0x5c) ||(s[i+1] == 0x5c))return false;//0x5c = ~}[N + } + return true; + +} + +//-------------- Class SaveFileWrite +//fBNg쐬̃I[v +bool SaveFileWrite::OpenC(wchar_t *path,s64 size,bool *mkdir) +{ + int pos,pos2; + + wcscpy(pathw_w,root_w); + ChainPath(pathw_w,path); + + *mkdir = false; + LastNnResult = nn::fs::TryCreateFile(pathw_w,size); + if(LastNnResult.IsSuccess()) + { + LastNnResult = writer.TryInitialize(pathw_w,false); + return LastNnResult.IsSuccess(); + } + //fBNgȂ΃fBNg쐬 + pos = GetPosDelmLast(pathw_w,RootLength);//t@C݂fBNg + if (pos <= 0)return false;//rootpXs + wcscpy(pathw_w2,pathw_w);//[NɃRs[ + while (LastNnResult.IsFailure()){//fBNg쐬ł܂ők + if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false; + pos2 = GetPosDelmLast(pathw_w2,RootLength);//EʒuT + if (pos2 == 0)return false;//rootB + pathw_w2[pos2] = 0;//E܂ō폜 () dir1/dir2/file -> dir1/dir2 -> dir1 + LastNnResult = nn::fs::TryCreateDirectory(pathw_w2); + } + + //쐬fBNgƉʎ~܂̂ŁA쐬Ƃɔ + *mkdir = true; // AlFfalse mkdir=true ȂfBNg쐬̂ + return false; +} + +//fBNg쐬ȂI[vA݂ꍇ͒NjL +bool SaveFileWrite::OpenAdd(wchar_t *path) +{ + wcscpy(pathw_w,root_w); + ChainPath(pathw_w,path); + LastNnResult = writer.TryInitialize(pathw_w,false); + if (LastNnResult.IsSuccess()){ + LastNnResult = writer.TrySeek(0,nn::fs::POSITION_BASE_END);//NjL + }else LastNnResult = writer.TryInitialize(pathw_w,true);//VK + if (LastNnResult.IsFailure()) + { + writer.Finalize(); + return false; + } + return true; +} + + +//fBNg쐬ȂI[v +bool SaveFileWrite::OpenW(const wchar_t *path) +{ + wcscpy(pathw_w,root_w); + ChainPath(pathw_w,(wchar_t*)path); + LastNnResult = writer.TryInitialize(pathw_w,true); + return LastNnResult.IsSuccess(); +} + + + +//N[Y +void SaveFileWrite::CloseW() +{ + writer.Finalize(); +} + +s32 SaveFileWrite::Write(char *buffer,size_t size) +{ + s32 ct; + LastNnResult = writer.TryWrite(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure()){NN_LOG("write fail\n");ct=0;} + return ct; +} + + +//fBNg쐬 +bool SaveFileWrite::CreateDir(const wchar_t *dir) +{ + LastNnResult = nn::fs::TryCreateDirectory(dir); + if(LastNnResult.IsSuccess())return true; + return nn::fs::ResultAlreadyExists::Includes(LastNnResult); +} + +//폜 +bool SaveFileWrite::DeleteDir(const wchar_t *dir) +{ + LastNnResult = nn::fs::TryDeleteDirectoryRecursively(dir); + return LastNnResult.IsSuccess(); +} + + +//------------------------------------------------------ Class SaveFileRead +bool SaveFileRead::Open(const wchar_t *path) +{ + wcscpy(pathw_w,root_w); + ChainPath(pathw_w,(wchar_t*)path); + LastNnResult = reader.TryInitialize(pathw_w); + if (LastNnResult.IsSuccess()) + { + LastNnResult = reader.TryGetSize(&FileSize); + if (LastNnResult.IsSuccess())return true; + else Close(); + } + return false; + +} + +void SaveFileRead::Close() +{ + reader.Finalize(); +} + + +//t@C[h +s32 SaveFileRead::Read(char *buffer,size_t size) +{ + s32 ct; + LastNnResult = reader.TryRead(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure())ct=0; + return ct; +} + +//݃`FbN +myResult SaveFileRead::IsExist(){ + myResult res; + res = Mount(); + Unmount(); + return res; +} + + +void SaveFileRead::ResetPath() +{ + s_lv=0; + s_serch = false; + wcscpy(path_w,root_w); + wcscat(path_w,L"/"); + for (int n = 0;nMAX_PATH_LENGTH - 1)return RESULT_PATH_LENGTH_OVER; + wcscat(path,dcEntryl.entryName); + return RESULT_OK; + } + } + } + +} + + +//A[JCu̎擾 +bool SaveFileRead::GetInfo(tArcInfo *pinfo,size_t clsz) +{ +static nn::fs::DirectoryEntry dcEntryl; +static nn::fs::Directory dcl; + + if(IsMounted==false){NN_LOG("GetInfo: Not Mounted\n");return false;}; + + s_lv=0; + m_info.DirCount = 0; + m_info.FileCount = 0; + m_info.DirEntry = 0; + m_info.FileEntry = 0; + m_info.total = 0; + m_info.Dup = false; + wcscpy(pathw_w,root_w); + wcscat(pathw_w,L"/"); + + int n; + int lv = 0; + for (n = 0;n0)m_info.total +=clsz;//SD..fBNgŃNX^ + wcscpy(pathu_w[lv],pathw_w);//pXۑ + wcscat(pathw_w,dcEntryl.entryName);//̃fBNgpX + wcscat(pathw_w,L"/"); + if (++lv == MAX_LEVEL)return false; + break; + }else{//t@C + m_info.FileCount++; + if (clsz==0){ + m_info.total += dcEntryl.entrySize; + }else{//NX^TCYŒ .. SDLe + sn = dcEntryl.entrySize / clsz; + if ((dcEntryl.entrySize % clsz) > 0 )sn++; + m_info.total += sn*clsz; + } + } + } + } + dcl.Finalize(); + } + for (n = 0;n +#include +#include +#include "../my_defs.h" +#include +#include + + +//******************************** defines ********** +//pX :SDK̓A[JCu253 +//A[JCuSDi[fBNg̗]T݂Ƃ +#define MAX_PATH_LENGTH 512 +//pXKw +//t@CɎgpA"/"+1ŒZȂ̂128ŏ\ +#define MAX_LEVEL 128 + +//******************************** functions ********** +//pX`FbN +//FATᔽ̔pXy[X邩`FbN +//A\񖼁ApXAPIG[(INVALID_ARGUMENT)Ŕ +bool CheckPath(wchar_t *s); + +//f~^("/")ʒuԂ +int GetPosDelmLast(wchar_t *s,int top); + +//pX +void ChainPath(wchar_t *p1,wchar_t *p2); + + +//******************************** Types ********** +//Z[uɊւ +#define INFO_VERSION 0 +struct tArcInfo{ + s64 total;//t@CTCYv + u32 DirEntry,FileEntry;//tH[}bg + u32 DirCount,FileCount;//Dir,t@C + char Pcode[20];//product code SDK̃TCYȂ + bool Dup;//2d + u8 Ver; + u8 yobi;//pfBO +}; + +//******************************** Class *************** +class SaveFileBase +{ +public: + nn::Result LastNnResult; +protected: + wchar_t root_w[MAX_PATH_LENGTH];//pX(foCX) + wchar_t path_w[MAX_PATH_LENGTH];//pX + wchar_t pathw_w[MAX_PATH_LENGTH];//[N + wchar_t pathw_w2[MAX_PATH_LENGTH]; + s32 RootLength; + wchar_t *pPathTop; + char devName[16]; + bool IsMounted; +public: + //pXݒ + void SetRootPath(wchar_t *path) + {// Ō"/"͂‚Ȃ ) "data:" + wcscpy(root_w,path); + RootLength = wcslen(path); + pPathTop = (wchar_t*)((u32)&path_w+RootLength*2); + } + void GetRootPath(wchar_t *path) + { + wcscpy(path,root_w); + + } + virtual bool MountCore() =0; + myResult Mount(){ + if ( IsMounted )return RESULT_ALREADY_MOUNT; + if (MountCore()){ + IsMounted = true; + return RESULT_OK; + } + return RESULT_FAIL_MOUNT; + }; + void Unmount(){ + if(IsMounted){ + IsMounted = false; + nn::fs::Unmount(devName); + } + }; + SaveFileBase(){IsMounted = false;root_w[0]=0;RootLength=0;}; + ~SaveFileBase(){Unmount();}; +}; + +//Cg +class SaveFileWrite :public virtual SaveFileBase +{ +private: + nn::fs::FileWriter writer; +public: + SaveFileWrite(){RootLength=0;}; + ~SaveFileWrite(){}; + bool DeleteDir(const wchar_t *dir); + bool OpenW(const wchar_t *path); + bool OpenC(wchar_t *path,s64 size,bool *mkdir); + bool OpenAdd(wchar_t *path); + void CloseW(); + s32 Write(char *buffer,size_t size); + bool CreateDir(const wchar_t *dir); +}; + +//[h +class SaveFileRead :public virtual SaveFileBase +{ +public: + s64 FileSize; +private: + virtual void GetFormatInfoCore(tArcInfo *ifo) = 0; + int dc_readed[MAX_LEVEL];//[hς݃Gg + wchar_t pathu_w[MAX_LEVEL][MAX_PATH_LENGTH];//pX + nn::fs::FileReader reader; + int s_lv; + tArcInfo m_info; + bool s_serch; +public: + myResult IsExist(); + bool Open(const wchar_t *path); + void Close(); + myResult GetPath(wchar_t *path); + void ResetPath(); + bool GetInfo(tArcInfo *pinfo,size_t clsz = 0); + s32 Read(char *buffer,size_t size); + SaveFileRead(){ + s_lv=0; + m_info.DirCount = 0; + m_info.FileCount = 0; + m_info.DirEntry = 0; + m_info.FileEntry = 0; + }; + ~SaveFileRead(){}; +}; + + +#endif diff --git a/tags/1stNUP/CardSaveData/common/savefile/sdmc.cpp b/tags/1stNUP/CardSaveData/common/savefile/sdmc.cpp new file mode 100644 index 0000000..7e5ef4b --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/sdmc.cpp @@ -0,0 +1,458 @@ +/* + + Horizon/tools/SaveDataFiler で読めるファイルを作成 + +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +//#include <../fs/fs_ResultPrivate.h> +#include "sdmc.h" + +const char *sdmcName = "sdmc:"; +#define PATHLENGTH_MAX_SD 512 + +wchar_t sdmcRoot_w[MAX_PATH_LENGTH];//sdmc:/filer/UserSaveData/YearMtDtHrMtSc/00000000 +#define ROOTLENGTH_SD 49 +wchar_t fp_path[MAX_PATH_LENGTH]; +wchar_t ti_path[MAX_PATH_LENGTH]; +wchar_t expath_w[MAX_PATH_LENGTH];//パス名 +//wchar_t expathu_w[100][PATHLENGTH_MAX_SD];//上層パス名 +wchar_t expathw_w[MAX_PATH_LENGTH];//パス名ワーク +wchar_t latestPath_w[MAX_PATH_LENGTH];//sdmc:/filer/UserSaveData/YearMtDtHrMtSc +bool created; +bool IsMounted; + +//SDKツールのSaveFilerのフォーマットに合わせる +//------------ sources\tools\NandFiler\nandf_Dialog.h 参照 +const wchar_t SDMC_ROOT_DIR_NAME[] = L"sdmc:/filer"; + +struct FormatParameters +{ + size_t m_LimitSize; + size_t m_MaxDir; + size_t m_MaxFile; + s32 m_IconSize; + bit8 *m_pIconData; + bool m_Duplicate; + + FormatParameters() + : m_LimitSize(0),m_IconSize(0), m_pIconData(0) {} + //オリジナルはLinitSize不定 +}; + +struct AdditionalInfo +{ + bit64 m_Version; + bit64 m_Id; + bit64 m_Reserved[128];//オリジナルは乱数埋 + AdditionalInfo() + : m_Version(0), m_Id(0) {} +}; +//--------------------------- nandf_util.cpp 参照 +std::wstring Sdmc::GetDateName() +{ + nn::fnd::DateTime tm = nn::fnd::DateTime::GetNow(); + + std::wostringstream name; + name << std::setw(4) << std::setfill(L'0') << tm.GetYear() + << std::setw(2) << std::setfill(L'0') << tm.GetMonth() + << std::setw(2) << std::setfill(L'0') << tm.GetDay() + << std::setw(2) << std::setfill(L'0') << tm.GetHour() + << std::setw(2) << std::setfill(L'0') << tm.GetMinute() + << std::setw(2) << std::setfill(L'0') << tm.GetSecond(); + + + //char型 :表示で使う + wcstombs(DirName, name.str().c_str(), 14); + DirName[14] = 0; + return name.str(); +} + +nn::Result CreateDirIfNotExists(const wchar_t *dirName) +{ + nn::fs::Directory dir; + nn::Result result = dir.TryInitialize(dirName); + NN_LOG("%d",result.GetDescription()); + if (!nn::fs::ResultAlreadyExists::Includes(result) && result.IsFailure()) + { + result = nn::fs::TryCreateDirectory(dirName); + } + dir.Finalize(); + return result; +} + +bit64 ChangeId(bit64 id, bit64 key) +{ + return id ^ key ^ 0xce8a4d52f7105339; +} + +//----------------------------- + + +//SDMCにライト専用アーカイブ +//ディレクトリもファイルも読めない + +//直前のCreateで作成したDateTimeフォルダ削除 +bool Sdmc::Delete() +{ + if (created==false)return true; + if (Mount() == RESULT_FAIL_MOUNT)return false; + LastNnResult = nn::fs::TryDeleteDirectoryRecursively(latestPath_w); + Unmount(); + return LastNnResult.IsSuccess(); +} + +//全削除 +bool Sdmc::DeleteAll() +{ + if (Mount() == RESULT_FAIL_MOUNT)return false; + LastNnResult = nn::fs::TryDeleteDirectoryRecursively(SDMC_ROOT_DIR_NAME); + Unmount(); + return LastNnResult.IsSuccess(); +} + + +//保存先のディレクトリ作成 +//成功時はマウント状態 +bool Sdmc::Create() +{ + std::wostringstream woss; + created = false; + if (Mount() == RESULT_FAIL_MOUNT)return false; + + LastNnResult = CreateDirIfNotExists(SDMC_ROOT_DIR_NAME);//sdmc:/filer + if (LastNnResult.IsSuccess()) + { + woss << SDMC_ROOT_DIR_NAME << L"/" << L"UserSaveData";//sdmc:/filer/UserSaveData + LastNnResult = CreateDirIfNotExists(woss.str().c_str()); + if (LastNnResult.IsSuccess()) + { + DateDirName = GetDateName(); + woss << L"/" << DateDirName;//sdmc:/filer/UserSaveData/YearMtDtHrMtSc + LastNnResult = nn::fs::TryCreateDirectory(woss.str().c_str()); + if (LastNnResult.IsSuccess()) + { + wcscpy(latestPath_w,woss.str().c_str()); + created = true;//日時ディレクトリ作成フラグ + //コピー先ルート + woss << L"/" << "00000000";//sdmc:/filer/UserSaveData/YearMtDtHrMtSc/00000000 + LastNnResult = nn::fs::TryCreateDirectory(woss.str().c_str()); + if (LastNnResult.IsSuccess()) + { + woss << L"/";//sdmc:/filer/UserSaveData/YearMtDtHrMtSc/00000000/ + wcscpy(sdmcRoot_w,woss.str().c_str()); + return true; + } + } + } + } + Unmount(); + return false; +} + +//格納先パスの取得 +//先にCreateしとくこと +void Sdmc::GetRootPath(wchar_t *path) +{ + wcscpy(path,sdmcRoot_w); +} + + +//マウント +myResult Sdmc::Mount() +{ + if ( IsMounted )return RESULT_ALREADY_MOUNT; + LastNnResult = nn::fs::MountSdmc(sdmcName); + if (LastNnResult.IsFailure()){ + return RESULT_FAIL_MOUNT; + } + IsMounted = true; + return RESULT_OK; +} +void Sdmc::Unmount() +{ + IsMounted = false; + nn::fs::Unmount(sdmcName); +} +//ライト属性ファイルを閉じる +void Sdmc::CloseW() +{ + writer.Finalize(); +} + +//ファイルライト +s32 Sdmc::Write(char *buffer,size_t size) +{ + s32 ct; + LastNnResult = writer.TryWrite(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure())ct=0; + return ct; +} + + +/* +//ライト属性ファイルを開く +bool Sdmc::OpenW(wchar_t *path,s64 size) +{ + int pos,pos2; + wcscpy(expath_w,sdmcRoot_w); + wcscat(expath_w,path); + + while(1){ + LastNnResult = nn::fs::TryCreateFile(expath_w,size); + if(LastNnResult.IsSuccess())break; + if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false; + NN_LOG("%d\n",LastNnResult.GetDescription()); + //ディレクトリがなければディレクトリを作成 + pos = GetPosDelmLast(expath_w,ROOTLENGTH_SD);//ファイルが存在するディレクトリ + if (pos <= 0)return false;//rootかパスが不正 + wcscpy(expathw_w,expath_w);//ワークにコピー + while (LastNnResult.IsFailure()) + {//ディレクトリ作成できるまで遡る + if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false; + pos2 = GetPosDelmLast(expathw_w,ROOTLENGTH_SD);//境界位置を探す + if (pos2 == 0)return false;//root到達 + expathw_w[pos2] = 0;//境界まで削除 (例) dir1/dir2/file -> dir1/dir2 -> dir1 + LastNnResult = nn::fs::TryCreateDirectory(expathw_w); + } + } + + LastNnResult = writer.TryInitialize(expath_w,false); + return LastNnResult.IsSuccess(); +} +*/ + +bool Sdmc::OpenW(wchar_t *path,s64 size,bool *mkdir) +{ + int pos,pos2; + + wcscpy(expath_w,sdmcRoot_w); + wcscat(expath_w,path); + *mkdir = false; + LastNnResult = nn::fs::TryCreateFile(expath_w,size); + if(LastNnResult.IsSuccess()) + { + LastNnResult = writer.TryInitialize(expath_w,false); + return LastNnResult.IsSuccess(); + } + //ディレクトリがなければディレクトリを作成 + pos = GetPosDelmLast(expath_w,ROOTLENGTH_SD);//ファイルが存在するディレクトリ + if (pos <= 0)return false;//rootかパスが不正 + wcscpy(expathw_w,expath_w);//ワークにコピー + while (LastNnResult.IsFailure()){//ディレクトリ作成できるまで遡る + //if(LastNnResult.GetDescription()!=nn::fs::DESCRIPTION_DBM_DIRECTORY_NOT_FOUND)return false; + if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false; + pos2 = GetPosDelmLast(expathw_w,ROOTLENGTH_SD);//境界位置を探す + if (pos2 == 0)return false;//root到達 + expathw_w[pos2] = 0;//境界まで削除 (例) dir1/dir2/file -> dir1/dir2 -> dir1 + LastNnResult = nn::fs::TryCreateDirectory(expathw_w); + } + //作成ディレクトリ多いと画面止まるので、作成ごとに抜ける + *mkdir = true; // 帰値:false で mkdir=true ならディレクトリ作成のみ + return false; +} + + +//パス名エラーで作成できない場合の退避先 +//例:FAT規約違反、"/ test"->"/test"、SD格納先ディレクトリでパス長オーバー +bool Sdmc::OpenVnfW(wchar_t *path,s64 size) +{ + s32 sz; + tVnf vnf; + //パス名&オフセット用ファイル + wcscpy(expath_w,latestPath_w); + wcscat(expath_w,L"/00000000.vnf"); + if(reader.TryInitialize(expath_w).IsSuccess()) + { + Close(); + LastNnResult = writer.TryInitialize(expath_w,false); + if (LastNnResult.IsSuccess()) + LastNnResult = writer.TrySeek(0,nn::fs::POSITION_BASE_END);//追記 + }else LastNnResult = writer.TryInitialize(expath_w,true);//新規 + if (LastNnResult.IsSuccess()) + { + wcscpy(vnf.path,path); + vnf.size = size; + LastNnResult = writer.TryWrite(&sz,&vnf,sizeof(tVnf));//ヘッダ格納 + } + if (LastNnResult.IsFailure()) + { + writer.Finalize(); + return false; + } + return true; + +} + +//退避ファイルをリード用に開く +//成功時はパス名のデータ先頭位置にシーク +bool Sdmc::OpenVnf(wchar_t *path) +{ + s32 sz; + tVnf vnf; + wcscpy(expath_w,latestPath_w); + wcscat(expath_w,L"/00000000.vnf"); + if(reader.TryInitialize(expath_w).IsSuccess()) + { + while(1) + { + LastNnResult = reader.TryRead(&sz, &vnf, sizeof(vnf));//ヘッダ + if (LastNnResult.IsSuccess() && (sz == sizeof(tVnf))) + { + vnf.path[MAX_PATH_LENGTH-1] = 0;//念の為、終端 + if(wcscmp(vnf.path,path) ==0)return true;//パス名一致 + LastNnResult = reader.TrySeek(vnf.size,nn::fs::POSITION_BASE_CURRENT);//次 + if (LastNnResult.IsFailure())return false; + }else return false; + } + } + return false; +} + + + +//情報ファイル +// +bool Sdmc::WriteSys(tArcInfo *ifo) +{//SaveFilerで読むためのファイル + std::wostringstream woss; + if (Mount() == RESULT_FAIL_MOUNT)return false; + woss << latestPath_w << L"/00000000"; + // FormatParameter を保存 + LastNnResult = writer.TryInitialize( (woss.str() + L".dat").c_str(), true); + if (LastNnResult.IsFailure()){Unmount();return false;} + s32 size; + FormatParameters Fparam; + Fparam.m_MaxDir = ifo->DirEntry; + Fparam.m_MaxFile = ifo->FileEntry; + Fparam.m_Duplicate = ifo->Dup; + LastNnResult = writer.TryWrite(&size, &Fparam, sizeof(FormatParameters)); + if (LastNnResult.IsFailure()){Unmount();return false;} + LastNnResult = writer.TryFlush(); + if (LastNnResult.IsFailure()){Unmount();return false;} + writer.Finalize(); + //AdditionalInfoを保存 + AdditionalInfo Ainfo; + LastNnResult = writer.TryInitialize((woss.str() + L"_.dat").c_str(), true); + if (LastNnResult.IsFailure()){ Unmount();return false;} + Ainfo.m_Version = 0; + Ainfo.m_Id = ChangeId(Ainfo.m_Id, static_cast(std::wcstoll(DateDirName.c_str(), NULL, 10))); + LastNnResult = writer.TryWrite(&size, &Ainfo, sizeof(AdditionalInfo)); + if (LastNnResult.IsFailure()){ Unmount();return false;} + LastNnResult = writer.TryFlush(); + if (LastNnResult.IsFailure()){ Unmount();return false;} + writer.Finalize(); +//ツールが使うファイル + std::wostringstream woss2; + woss2 << latestPath_w << L"/toolinfo.dat"; + LastNnResult = writer.TryInitialize(woss2.str().c_str(), true); + if (LastNnResult.IsFailure()){ Unmount();return false;} + LastNnResult = writer.TryWrite(&size, ifo, sizeof(tArcInfo)); + if (LastNnResult.IsFailure()){ Unmount();return false;} + LastNnResult = writer.TryFlush(); + if (LastNnResult.IsFailure()){ Unmount();return false;} + writer.Finalize(); + Unmount(); + + woss << L".dat"; + wcscpy(fp_path,woss.str().c_str()); + wcscpy(ti_path,woss2.str().c_str()); + + return true; +} + + +//アーカイブ情報の取得 +bool Sdmc::GetInfo(tArcInfo *pinfo) +{ + s32 size; + + if (Mount() == RESULT_FAIL_MOUNT)return false; + + // FormatParameter .. SaveFiler用ファイル + // FormatParameter を保存 + LastNnResult = reader.TryInitialize( fp_path); + if (LastNnResult.IsFailure()){Unmount();return false;} + FormatParameters Fparam; + LastNnResult = reader.TryRead(&size, &Fparam, sizeof(FormatParameters)); + if (LastNnResult.IsFailure()){Unmount();return false;} + reader.Finalize(); + + //ツール情報 + LastNnResult = reader.TryInitialize( ti_path); + if (LastNnResult.IsFailure()){ Unmount();return false;} + LastNnResult = reader.TryRead(&size, &m_info, sizeof(tArcInfo)); + if (LastNnResult.IsFailure()){ Unmount();return false;} + reader.Finalize(); + + //両ファイル共通パラメータのチェック + if((Fparam.m_MaxDir != m_info.DirEntry) || + (Fparam.m_MaxFile != m_info.FileEntry) || + (Fparam.m_Duplicate != m_info.Dup))return false; + + *pinfo = m_info; + return true; + +} + + +//ファイルを開く +//パス指定はルート以降 +//(ex)data:/dir/file -> dir/file +bool Sdmc::Open(wchar_t *path) +{ + wcscpy(expathw_w,sdmcRoot_w); + wcscat(expathw_w,path); + LastNnResult = reader.TryInitialize(expathw_w); + if (LastNnResult.IsSuccess()) + { + LastNnResult = reader.TryGetSize(&FileSize); + if (LastNnResult.IsSuccess())return true; + else Close(); + } + NN_LOG("sdmc:Open %d",LastNnResult.GetDescription()); + return false; +} + + +void Sdmc::Close() +{ + reader.Finalize(); +} + +//ファイルリード +s32 Sdmc::Read(char *buffer,size_t size) +{ + //if (IsMounted==false)return 0; + s32 ct; + LastNnResult = reader.TryRead(&ct,(void*)buffer,size); + if(LastNnResult.IsFailure())ct=0; + return ct; +} + + +//コンストラクタ +Sdmc::Sdmc() +{ + IsMounted = false; +} + +void Sdmc::Finalize() +{ + CloseW(); + Close(); + Unmount(); +} +//デストラクタ +Sdmc::~Sdmc() +{ + Finalize(); +} + diff --git a/tags/1stNUP/CardSaveData/common/savefile/sdmc.h b/tags/1stNUP/CardSaveData/common/savefile/sdmc.h new file mode 100644 index 0000000..406bd09 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/sdmc.h @@ -0,0 +1,85 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef sdmc_H_ +#define sdmc_H_ + +#include +#include +#include +#include "../my_defs.h" +#include "savefile.h" + +class Sdmc +{ +public: + s64 FileSize; + nn::Result LastNnResult; + //std::wstring DateDirName; + char DirName[16]; +private: + std::wstring GetDateName(); + std::wstring DateDirName; + nn::fs::FileReader reader; + nn::fs::FileWriter writer; + //wchar_t *pPathTop; + tArcInfo m_info; + //int s_lv; + int exrootlen; + //bool s_serch; +public: + bool MountCore() + { + LastNnResult = nn::fs::MountSdmcWriteOnly(devName); + return LastNnResult.IsSuccess(); + } + Sdmc(); + ~Sdmc(); + void Finalize(); + bool Create(); + myResult MountSys(); + void Unmount(); + bool Delete(); + bool DeleteAll(); + void CloseW(); + //bool OpenW(wchar_t *path,s64 size); + bool OpenW(wchar_t *path,s64 size,bool *mkdir); + bool OpenVnfW(wchar_t *path,s64 size); + bool OpenVnf(wchar_t *path); + void GetRootPath(wchar_t *path); +// bool OpenSysW();//暫定 +// void CloseSysW();//暫定 +// bool OpenSysR();//暫定 +// void CloseSysR();//暫定 + s32 Write(char *buffer,size_t size); + bool WriteSys(tArcInfo *ifo); +// bool ReadSys(tArcInfo *pinfo); + //void ResetPath(); + s32 Read(char *buffer,size_t size); + void Close(); + bool Open(wchar_t *path); + //myResult GetPath(wchar_t *path); + bool GetInfo(tArcInfo *pinfo); +}; + +//Fat違反パス格納データのヘッダ +//直後にデータ配置 +//Header+Data,、Header+Data ... と連続して追記してゆく +typedef struct{ + wchar_t path[MAX_PATH_LENGTH]; + s64 size; +}tVnf; + +#endif diff --git a/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.cpp b/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.cpp new file mode 100644 index 0000000..6660dd0 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.cpp @@ -0,0 +1,177 @@ +/* + + Horizon/tools/SaveDataFiler で読めるファイルを作成 + + ライトのみアーカイブ使用 +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "sdmcwo.h" + +const wchar_t *SDMC_ROOT_DIR_NAME = L"/filer"; + +//保存先:日時をディレクトリ名 +//-------- nandf_util.cpp 参照 +std::wstring Sdmcwo::GetDateName() +{ + nn::fnd::DateTime tm = nn::fnd::DateTime::GetNow(); + + std::wostringstream name; + name << std::setw(4) << std::setfill(L'0') << tm.GetYear() + << std::setw(2) << std::setfill(L'0') << tm.GetMonth() + << std::setw(2) << std::setfill(L'0') << tm.GetDay() + << std::setw(2) << std::setfill(L'0') << tm.GetHour() + << std::setw(2) << std::setfill(L'0') << tm.GetMinute() + << std::setw(2) << std::setfill(L'0') << tm.GetSecond(); + + + //char型 :表示で使う + wcstombs(DirName, name.str().c_str(), 14); + DirName[14] = 0; + return name.str(); +} + + +bit64 ChangeId(bit64 id, bit64 key) +{ + return id ^ key ^ 0xce8a4d52f7105339; +} + +//---------------------------------------------------------- + + +bool Sdmcwo::DelDir(const wchar_t *dir) +{ + //if (created==false)return true;//未作成ならなにもしない + if (Mount() == RESULT_FAIL_MOUNT)return false; + bool res = DeleteDir(dir); + Unmount(); + return res; +} + +//直前に作成したDateTimeフォルダ削除 +bool Sdmcwo::Delete() +{ + return DelDir(latestPath_w); +} + +//全削除 +bool Sdmcwo::DeleteAll() +{ + std::wostringstream woss; + woss << devName << SDMC_ROOT_DIR_NAME;//sdmc:/filer + bool res = DelDir(woss.str().c_str()); + if(res)created=false; + else NN_LOG("Deldir fail %d\n",LastNnResult.GetDescription()); + return res; +} + + +//保存先のディレクトリ作成 +//成功時はマウント状態、クラスタサイズを設定 +bool Sdmcwo::Create() +{ + s64 size,size2; + std::wostringstream woss; + created = false; + if (Mount() == RESULT_FAIL_MOUNT)return false; + + woss << devName << SDMC_ROOT_DIR_NAME;//sdmc:/filer + if (CreateDir(woss.str().c_str())) + { + woss << L"/" << L"UserSaveData";//sdmc:/filer/UserSaveData + if ( CreateDir(woss.str().c_str()) ) + { + DateDirName = GetDateName(); + woss << L"/" << DateDirName;//sdmc:/filer/UserSaveData/YearMtDtHrMtSc + if ( CreateDir(woss.str().c_str()) ) + { + wcscpy(latestPath_w,woss.str().c_str()); + created = true;//日時ディレクトリ存在フラグ + //コピー先ルート + woss << L"/" << "00000000";//sdmc:/filer/UserSaveData/YearMtDtHrMtSc/00000000 + if (nn::fs::ResultAlreadyExists::Includes(LastNnResult)) + {//既にあれば混じらないよう削除(時計合ってれば起こらないはず) + nn::fs::TryDeleteDirectoryRecursively(woss.str().c_str());//保存先ディレクトリ + wcscpy(pathw_w,woss.str().c_str()); + wcscat(pathw_w,L".vnf"); + nn::fs::TryDeleteFile(pathw_w);//追記型ファイル + } + GetFreeSize(&size); + if ( CreateDir(woss.str().c_str()) ) + { + GetFreeSize(&size2); + FreeSize = size2; + if ((size-size2)<0) ClasterSize = 0; + else ClasterSize = size-size2;//クラスタサイズ + wcscpy(rootPath_w,woss.str().c_str());//格納先パス保存 + SetRootPath(rootPath_w); + return true; + } + } + } + } + Unmount(); + return false; +} + + +//パス名エラーで作成できない場合の格納先 +bool Sdmcwo::OpenVnfW(wchar_t *path,s64 size) +{ + tVnf vnf; + bool res=false; + //パス名&オフセット用ファイル + SetRootPath(latestPath_w);//基底パスを変更 + if (OpenAdd(L"/00000000.vnf"))//追記で開く + { + wcscpy(vnf.path,path);//ヘッダ格納 + vnf.size = size; + res = (Write((char*)&vnf,sizeof(tVnf)) == sizeof(tVnf)); + } + SetRootPath(rootPath_w);//基底パスを戻す + return res; +} + + +char buff[32768*2]; +//情報ファイル +// +bool Sdmcwo::WriteSys(tArcInfo *ifo) +{//SaveFilerで読むためのファイル + if (Mount() == RESULT_FAIL_MOUNT)return false; + bool res = false; + SetRootPath(latestPath_w);//基底パスを変更 + // FormatParameter を保存 + if(OpenW( L"/00000000.dat" )) + { + FormatParameters Fparam; + Fparam.m_MaxDir = ifo->DirEntry; + Fparam.m_MaxFile = ifo->FileEntry; + Fparam.m_Duplicate = ifo->Dup; + if ( Write((char*)&Fparam, sizeof(FormatParameters)) == sizeof(FormatParameters)) + { //AdditionalInfoを保存 + CloseW(); + if(OpenW( L"/00000000_.dat")) + { + AdditionalInfo Ainfo; + Ainfo.m_Version = 0; + Ainfo.m_Id = ChangeId(Ainfo.m_Id, static_cast(std::wcstoll(DateDirName.c_str(), NULL, 10))); + res = Write((char*)&Ainfo, sizeof(AdditionalInfo)) == sizeof(AdditionalInfo); + } + } + } + CloseW(); + Unmount(); + SetRootPath(rootPath_w);//基底パスを戻す + return res; +} + + diff --git a/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.h b/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.h new file mode 100644 index 0000000..63cb155 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/savefile/sdmcwo.h @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + *---------------------------------------------------------------------------*/ + +//SDKツールのSaveFilerで読める形式でsdmcダイレクトで書き出す +//リードはしない + +#ifndef sdmcwo_H_ +#define sdmcwo_H_ + +#include +#include +#include +#include "../my_defs.h" +#include "savefile.h" + + +//SDKツールのSaveFiler用の情報ファイル +//-------ources\tools\NandFiler\nandf_Dialog.h 参照 + +struct FormatParameters +{ + size_t m_LimitSize; + size_t m_MaxDir; + size_t m_MaxFile; + s32 m_IconSize; + bit8 *m_pIconData; + bool m_Duplicate; + + FormatParameters() + : m_LimitSize(0),m_IconSize(0), m_pIconData(0) {} + //オリジナルはLimitSize不定 +}; + +struct AdditionalInfo +{ + bit64 m_Version; + bit64 m_Id; + bit64 m_Reserved[128];//オリジナルは乱数埋 + AdditionalInfo() + : m_Version(0), m_Id(0) {} +}; + +class Sdmcwo: public SaveFileWrite +{ +public: + char DirName[16]; + size_t ClasterSize;//SDクラスタサイズ .. Create後有効 + size_t FreeSize;//Create直後の空き..Create後有効 +private: + bool DelDir(const wchar_t *dir); + std::wstring GetDateName(); + std::wstring DateDirName; + wchar_t latestPath_w[MAX_PATH_LENGTH];//dev:filer/UserSaveData/YearMtDtHrMtSc + wchar_t rootPath_w[MAX_PATH_LENGTH];//dev:/filer/UserSaveData/YearMtDtHrMtSc/00000000/ + bool created; +public: + bool MountCore() + { + LastNnResult = nn::fs::MountSdmcWriteOnly(devName); + return LastNnResult.IsSuccess(); + } + bool GetFreeSize(s64 *size) + { + s64 sz; + LastNnResult = nn::fs::GetSdmcSize(&sz,size); + return LastNnResult.IsSuccess(); + } + void Finalize(){CloseW();}; + bool Create(); + bool Delete(); + bool DeleteAll(); + bool OpenVnfW(wchar_t *path,s64 size); + bool WriteSys(tArcInfo *ifo); + Sdmcwo(){ + strcpy(devName,"sdmcwo:"); + ClasterSize = 0; + FreeSize = 0; + DirName[0] = 0; + }; + ~Sdmcwo(){Finalize();}; +}; + +//Fat違反パス格納データのヘッダ +//直後にデータ配置 +//Header+Data,、Header+Data ... と連続して追記してゆく +typedef struct{ + wchar_t path[MAX_PATH_LENGTH]; + s64 size; +}tVnf; + +#endif diff --git a/tags/1stNUP/CardSaveData/common/shfnt.cpp b/tags/1stNUP/CardSaveData/common/shfnt.cpp new file mode 100644 index 0000000..65ca877 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/shfnt.cpp @@ -0,0 +1,368 @@ + +#include +#include +#include +#include +#include +#include + +#include "demo.h" + +const char s_ShaderBinaryFilePath[] = "rom:/nnfont_RectDrawerShader.shbin"; + +extern nn::fnd::ExpHeap appHeap; + +//--------------------------------------------------------------------------- +//! @brief シェーダの初期化を行います。 +//! +//! @param[in,out] pResource 描画用リソースを管理するオブジェクトへのポインタ。 +//--------------------------------------------------------------------------- +void* +InitShaders(nn::font::RectDrawer* pDrawer) +{ + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE); + nn::fs::FileReader shaderReader(s_ShaderBinaryFilePath); + + const u32 fileSize = (u32)shaderReader.GetSize(); + + void* shaderBinary = appHeap.Allocate(fileSize); + NN_NULL_ASSERT(shaderBinary); + + shaderReader.Read(shaderBinary, fileSize); + + const u32 vtxBufCmdBufSize = + nn::font::RectDrawer::GetVertexBufferCommandBufferSize(shaderBinary, fileSize); + void *const vtxBufCmdBuf = appHeap.Allocate(vtxBufCmdBufSize); + NN_NULL_ASSERT(vtxBufCmdBuf); + pDrawer->Initialize(vtxBufCmdBuf, shaderBinary, fileSize); + + appHeap.Free(shaderBinary); + + shaderReader.Finalize(); + nn::fs::Unmount("rom:"); + return vtxBufCmdBuf; +} +/*---------------------------------------------------------------------------* + @brief グラフィックスの初期設定を行います。 + *---------------------------------------------------------------------------*/ +void +InitGX() +{ + glClearColor(0.3f, 0.3f, 0.3f, 1.0f); +} + + +//--------------------------------------------------------------------------- +//! @brief 描画の初期設定を行います。 +//! +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +InitDraw( + int width, + int height +) +{ + // カラーバッファ情報 + // LCDの向きに合わせて、幅と高さを入れ替えています。 + const nn::font::ColorBufferInfo colBufInfo = { width, height, PICA_DATA_DEPTH24_STENCIL8_EXT }; + + const u32 screenSettingCommands[] = + { + + // ビューポートの設定 + NN_FONT_CMD_SET_VIEWPORT( 0, 0, colBufInfo.width, colBufInfo.height ), + + // シザー処理を無効 + NN_FONT_CMD_SET_DISABLE_SCISSOR( colBufInfo ), + + // wバッファの無効化 + // デプスレンジの設定 + // ポリゴンオフセットの無効化 + NN_FONT_CMD_SET_WBUFFER_DEPTHRANGE_POLYGONOFFSET( + 0.0f, // wScale : 0.0 でWバッファが無効 + 0.0f, // depth range near + 1.0f, // depth range far + 0, // polygon offset units : 0.0 で ポリゴンオフセットが無効 + colBufInfo), + }; + + nngxAdd3DCommand(screenSettingCommands, sizeof(screenSettingCommands), true); + + static const u32 s_InitCommands[] = + { + // カリングを無効 + NN_FONT_CMD_SET_CULL_FACE( NN_FONT_CMD_CULL_FACE_DISABLE ), + + // ステンシルテストを無効 + NN_FONT_CMD_SET_DISABLE_STENCIL_TEST(), + + // デプステストを無効 + // カラーバッファの全ての成分を書き込み可 + NN_FONT_CMD_SET_DEPTH_FUNC_COLOR_MASK( + false, // isDepthTestEnabled + 0, // depthFunc + true, // depthMask + true, // red + true, // green + true, // blue + true), // alpha + + // アーリーデプステストを無効 + NN_FONT_CMD_SET_ENABLE_EARLY_DEPTH_TEST( false ), + + // フレームバッファアクセス制御 + NN_FONT_CMD_SET_FBACCESS( + true, // colorRead + true, // colorWrite + false, // depthRead + false, // depthWrite + false, // stencilRead + false), // stencilWrite + }; + + nngxAdd3DCommand(s_InitCommands, sizeof(s_InitCommands), true); +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを構築します。 +//! +//! @param[out] pFont 構築するフォントへのポインタ。 +//! @param[in] filePath ロードするフォントリソースファイル名。 +//! +//! @return ResFont構築の成否を返します。 +//--------------------------------------------------------------------------- +bool +InitFont( + nn::font::ResFont* pFont, + void* pBuffer +) +{ + // フォントリソースをセットします + bool bSuccess = pFont->SetResource(pBuffer); + + // 描画用バッファを設定します。 + const u32 drawBufferSize = nn::font::ResFont::GetDrawBufferSize(pBuffer); + void* drawBuffer = appHeap.Allocate(drawBufferSize, 4); + pFont->SetDrawBuffer(drawBuffer); + NN_NULL_ASSERT(drawBuffer); + + return bSuccess; +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを破棄します。 +//! +//! @param[in] pFont 破棄するフォントへのポインタ。 +//--------------------------------------------------------------------------- +void +CleanupFont(nn::font::ResFont* pFont) +{ + // 描画用バッファの無効化 + // 描画用バッファがセットされているなら 構築時に SetDrawBuffer に渡したバッファへの + // ポインタが返ってきます。 + void *const drawBuffer = pFont->SetDrawBuffer(NULL); + if (drawBuffer != NULL) + { + appHeap.Free(drawBuffer); + } +} + +//--------------------------------------------------------------------------- +//! @brief 表示文字列用バッファを確保します。 +//! +//! @param[in] charMax 表示する文字列の最大文字数。 +//! +//! @return 確保した表示文字列用バッファへのポインタを返します。 +//--------------------------------------------------------------------------- +nn::font::DispStringBuffer* +AllocDispStringBuffer(int charMax) +{ + const u32 DrawBufferSize = nn::font::CharWriter::GetDispStringBufferSize(charMax); + void *const bufMem = appHeap.Allocate(DrawBufferSize); + NN_NULL_ASSERT(bufMem); + + return nn::font::CharWriter::InitDispStringBuffer(bufMem, charMax); +} + +//--------------------------------------------------------------------------- +//! @brief 文字列表示用にモデルビュー行列と射影行列を設定します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +SetupTextCamera( + nn::font::RectDrawer* pDrawer, + int width, + int height +) +{ + // 射影行列を正射影に設定 + { + // 左上原点とし、Y軸とZ軸の向きが逆になるように設定します。 + nn::math::MTX44 proj; + f32 znear = 0.0f; + f32 zfar = -1.0f; + f32 t = 0; + f32 b = static_cast(width); + f32 l = 0; + f32 r = static_cast(height); + nn::math::MTX44OrthoPivot(&proj, l, r, b, t, znear, zfar, nn::math::PIVOT_UPSIDE_TO_TOP); + pDrawer->SetProjectionMtx(proj); + } + + // モデルビュー行列を単位行列に設定 + { + nn::math::MTX34 mv; + nn::math::MTX34Identity(&mv); + pDrawer->SetViewMtxForText(mv); + } +} + +nn::font::RectDrawer drawer; +void *drawerBuf; +nn::font::DispStringBuffer *pDrawStringBuf0; +nn::font::DispStringBuffer *pDrawStringBuf1; +nn::font::ResFont font; +nn::font::TextWriter writer; +//--------------------------------------------------------------------------- +//! @brief ASCII文字列を描画します。 +//--------------------------------------------------------------------------- +void shf_DrawText_0( u16 x,u16 y,char *s) +{ + writer.SetCursor(x, y); + + writer.StartPrint(); + (void)writer.Print(s); + writer.EndPrint(); + drawer.BuildTextCommand(&writer); + + + drawer.DrawBegin(); + + SetupTextCamera(&drawer, NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + writer.UseCommandBuffer(); + + drawer.DrawEnd(); +} + +void shf_DrawText_1( u16 x,u16 y,char *s) +{ + writer.SetCursor(x, y); + + writer.StartPrint(); + (void)writer.Print(s); + writer.EndPrint(); + drawer.BuildTextCommand(&writer); + + + drawer.DrawBegin(); + + SetupTextCamera(&drawer, NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + writer.UseCommandBuffer(); + + drawer.DrawEnd(); +} + + +void shf_SetSize(f32 sz) +{ + writer.SetScale(sz/14,sz/20); +} + +void shf_SetScale(f32 h,f32 v) +{ + writer.SetScale(h,v); +} + + +void shf_SetFontSize(f32 sz) +{ + writer.SetFontSize(sz); +} + +f32 shf_GetFontWidth() +{ + return writer.GetFontWidth(); +} + +f32 shf_GetFontHeight() +{ + return writer.GetFontHeight(); +} + + +void shf_SetColor(f32 r,f32 g,f32 b,f32 a) +{ + writer.SetTextColor(nn::util::FloatColor(r,g,b,a)); +} + +//初期化 +//AppHeap確保、RenderSystem.Inititの後に呼ぶ +void SharedFontInit() +{ + + InitGX(); + + // 共有フォントの初期化 + NN_UTIL_PANIC_IF_FAILED(nn::pl::InitializeSharedFont()); + + // 共有フォントのロードが完了するまで待機 + while (nn::pl::GetSharedFontLoadState() != nn::pl::SHARED_FONT_LOAD_STATE_LOADED) + { + // 共有フォントのロードに失敗していないか確認 + if (nn::pl::GetSharedFontLoadState() == nn::pl::SHARED_FONT_LOAD_STATE_FAILED) + { + NN_TPANIC_("failed to load shared font!\n"); + } + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(1)); + } + + // 共有フォントの種類を取得 + //nn::pl::SharedFontType sharedFontType = nn::pl::GetSharedFontType(); + + // 共有フォントデータのアドレスを取得 + void* pFontBuffer = nn::pl::GetSharedFontAddress(); + + InitFont(&font, pFontBuffer); + + // 描画リソースの構築 + drawerBuf = InitShaders(&drawer); + + // 描画文字列用バッファの確保 + pDrawStringBuf0 = AllocDispStringBuffer(1024); + pDrawStringBuf1 = AllocDispStringBuffer(512); + + writer.SetDispStringBuffer(pDrawStringBuf0); + writer.SetFont(&font); + SetupTextCamera(&drawer, NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + +} + + +void SharedFontFinalize() +{ + drawer.Finalize(); + + // 描画リソースの破棄 + appHeap.Free(drawerBuf); + + // フォントの破棄 + CleanupFont(&font); + + // 描画文字列用バッファの解放 + appHeap.Free(pDrawStringBuf1); + appHeap.Free(pDrawStringBuf0); + +} + + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/CardSaveData/common/shfnt.h b/tags/1stNUP/CardSaveData/common/shfnt.h new file mode 100644 index 0000000..e168087 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/shfnt.h @@ -0,0 +1,30 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: irp.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef GUI_SHFNT_H_ +#define GUI_SHFNT_H_ + +void SharedFontInit(); +void SharedFontFinalize(); +void shf_DrawText_0(u16 x,u16 y,char* s); +void shf_DrawText_1(u16 x,u16 y,char* s); +void shf_SetSize(f32 sz); +void shf_SetScale(f32 h,f32 v); +void shf_SetColor(f32 r,f32 g,f32 b,f32 a); +void shf_SetFontSize(f32 sz); +f32 shf_GetFontWidth(); +f32 shf_GetFontHeight(); + +#endif diff --git a/tags/1stNUP/CardSaveData/common/sleep.cpp b/tags/1stNUP/CardSaveData/common/sleep.cpp new file mode 100644 index 0000000..67d32cc --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/sleep.cpp @@ -0,0 +1,110 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: sleep.cpp + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include + +#include "sleep.h" + +//extern nn::os::CriticalSection g_SleepCS; +extern nn::os::LightEvent g_TransitionEvent; +extern nn::os::LightEvent g_AwakeEvent; + +volatile bool SleepHandler::s_IsAfterWakeUp = false; + +/*------------------------------------------------------------------------*/ +void SleepHandler::Initialize( void ) +{ + nn::applet::SetSleepQueryCallback(SleepQueryCallback, 0); + nn::applet::SetAwakeCallback(AwakeCallback, 0); +// nn::applet::SetSleepCancelCallback(NULL, 0); // CancelCallback は使わないことを推奨します +} + +/*------------------------------------------------------------------------*/ +void SleepHandler::Finalize( void ) +{ + nn::applet::SetSleepQueryCallback(NULL, 0); + nn::applet::SetAwakeCallback(NULL, 0); + + nn::applet::DisableSleep(); +} + +/*------------------------------------------------------------------------* + システムスリープの指示が来ているかどうかを返します。 + *------------------------------------------------------------------------*/ +bool SleepHandler::IsSleepRequested( void ) +{ + if ( nn::applet::IsExpectedToReplySleepQuery() ) + return true; + + return false; +} + +/*------------------------------------------------------------------------* + 本体スリープ状態に移行させるための処理を行います。 + グラフィックスなどの処理がスリープに入っても問題ない + 適切なタイミングで呼び出す必要があります。 + *------------------------------------------------------------------------*/ +void SleepHandler::SleepSystem( void ) +{ + // SleepHandler::IsSleepRequested() == true における呼び出しが前提 + + // 何らかの理由で SleepQuery に対して REJECT を返す場合は、ここで判定して + // REJECT を返し、この関数を抜ける + + // ファイルシステム処理中はスリープをしない + //if ( g_SleepCS.TryEnter() ) + { + // スリープ前処理 + + nn::applet::ReplySleepQuery(nn::applet::REPLY_ACCEPT); + + g_AwakeEvent.Wait(); + + // スリープ復帰時の処理 + + // g_SleepCS.Leave(); + } +} + +/*------------------------------------------------------------------------* + スリープ問い合わせ時に呼ばれるコールバック + *------------------------------------------------------------------------*/ +AppletQueryReply SleepHandler::SleepQueryCallback( uptr arg ) +{ + NN_UNUSED_VAR(arg); + g_AwakeEvent.ClearSignal(); + + if ( !nn::applet::IsActive() ) + { + // Inactive なとき、メインスレッドは applet::WaitForStarting() で停止状態であり、 + // 他のスレッドも停止状態になっているはず(アプリケーション側の実装依存) + return nn::applet::REPLY_ACCEPT; + } + else + { + return nn::applet::REPLY_LATER; + } +} + +/*------------------------------------------------------------------------* + スリープ復帰時に呼ばれるコールバック + *------------------------------------------------------------------------*/ +void SleepHandler::AwakeCallback( uptr arg ) +{ + NN_UNUSED_VAR(arg); + g_AwakeEvent.Signal(); + + s_IsAfterWakeUp = true; +} diff --git a/tags/1stNUP/CardSaveData/common/sleep.h b/tags/1stNUP/CardSaveData/common/sleep.h new file mode 100644 index 0000000..15a14f1 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/sleep.h @@ -0,0 +1,46 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: sleep.h + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef NN_SAMPLE_DEMOS_DEMO2_SLEEP_H_ +#define NN_SAMPLE_DEMOS_DEMO2_SLEEP_H_ + +/*------------------------------------------------------------------------* + 本体スリープに関連する処理 + *------------------------------------------------------------------------*/ + class SleepHandler + { + public: + SleepHandler() {} + ~SleepHandler() {} + + static void Initialize( void ); + static void Finalize( void ); + static bool IsSleepRequested( void ); + static void SleepSystem( void ); + + static AppletQueryReply SleepQueryCallback( uptr arg ); + static void AwakeCallback( uptr arg ); + static void CancelCallback( uptr arg ); + + // スリープからの復帰後、1フレーム分描画を待ってから LCD を有効にするためのフラグ + static volatile bool s_IsAfterWakeUp; + + private: + static nn::os::LightEvent s_AwakeEvent; + static bool s_IsInitialized; + }; + + +#endif // NN_SAMPLE_DEMOS_DEMO2_SLEEP_H_ diff --git a/tags/1stNUP/CardSaveData/common/test_data.cpp b/tags/1stNUP/CardSaveData/common/test_data.cpp new file mode 100644 index 0000000..fd73e36 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/test_data.cpp @@ -0,0 +1,1140 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: main.cpp + + Copyright (C)2010 Nintendo Co., Ltd. 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. + + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include "demo.h" + +nn::Result res; + +nn::fs::FileOutputStream fout; +nn::fs::FileInputStream fin; + +nn::fs::Directory dc[256]; + +wchar_t file_pathw[1024]; +char file_path[1024]; +char file_path2[1024]; +char src_buff[1024*1024]; +char get_buff[1024*1024]; +char str[512]; + + +extern demo::RenderSystemDrawing s_RenderSystem; + +//終了処理 +extern void finish(void); +extern u32 WaitKey(u32 mask); + +extern void setColor(f32 r,f32 g,f32 b,f32 a); +extern void drawText(u16 x,u16 y,char *s); +void drawText(u16 x,u16 y,char *s,int v) +{ + sprintf(str,s,v); + drawText( x,y,str); +} + + +//----------------------------------------  テストパターン +void make_pattern() +{ + int i; + int *buff; + buff = (int*)&src_buff[0]; + for (i=0;i= SIZE_TEST1)break; + if ((SIZE_TEST1 - total) < 512)size2 = SIZE_TEST1 - total ; + } + fout.Finalize(); + nn::fs::CommitSaveData(); + nn::fs::Unmount("data:"); + NN_LOG("total %d",total); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + +//ベリファイ +bool Test1_V() +{ + int i,total; + + res = fin.TryInitialize(L"data:/test1.bin"); + if (res.IsFailure()) + { + //NN_LOG("%d\n",res.GetDescription()); + drawText(8,100,"open Fail"); + nn::fs::Unmount("data:"); + return false; + } + total =0; + while(1){ + res = fin.TryRead( &size,&get_buff[total],512); + if (res.IsFailure()){ + drawText(8,100,"read Fail"); + fin.Finalize(); + nn::fs::Unmount("data:"); + return false; + } + //if (size == 0)break; + for (i=0;i= SIZE_TEST1)break; + + total += size; + s_RenderSystem.Clear(); + sprintf(str,"now %d",total); + drawText(10,80,str); + s_RenderSystem.SwapBuffers(); + if (size<512)break; + } + fout.Finalize(); + nn::fs::Unmount("data:"); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + + +//ファイル数 +bool Test2_W(int n) +{ + int total,size2; + + res = nn::fs::FormatSaveData(680,1,false);//dupなしファイル680 + if (res.IsFailure()){ + drawText(8,100,"format Fail"); + return false; + } + res =nn::fs::MountSaveData(); + if (res.IsFailure()){ + drawText(8,100,"Mount Fail"); + return false; + } + + total =0; + int num = 0; + size2 = 512; + while(1){ + sprintf(file_path,"data:/test%d.bin",num); +// res = nn::fs::TryCreateFile(L"data:/test2.bin",SIZE_TEST1); +// if (res.IsFailure()){ +// drawText(8,100,"Create Fail"); +// nn::fs::Unmount("data:"); +// return false; +// } + res = fout.TryInitialize(file_path,true); + if (res.IsFailure()){ + drawText(8,100,"open Fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fout.TryWrite( &size,&src_buff[total],size2); + if (res.IsFailure()){ + drawText(8,100,"write Fail"); + fout.Finalize(); + nn::fs::Unmount("data:"); + return false; + } + fout.Finalize(); + total += size; + num++; + sprintf(str,"size %d , num %d",total,num); + s_RenderSystem.Clear(); + drawText(10,80,str); + s_RenderSystem.SwapBuffers(); + //if (size<512)break; + if (num == n)break; + } + fout.Finalize(); + nn::fs::CommitSaveData(); + nn::fs::Unmount("data:"); + NN_LOG("total %d",total); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + +bool Test2_V(int n) +{ + int total,size2,i; + + total =0; + int num = 0; + size2 = 512; + while(1){ + sprintf(file_path,"data:/test%d.bin",num); + res = fin.TryInitialize(file_path); + if (res.IsFailure()){ + drawText(8,100,"open Fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fin.TryRead( &size,&get_buff[total],size2); + if (res.IsFailure()){ + drawText(8,100,"read Fail"); + fin.Finalize(); + nn::fs::Unmount("data:"); + return false; + } + for (i=0;i= SIZE_TEST5)break; + } + fout.Finalize(); + nn::fs::CommitSaveData(); + nn::fs::Unmount("data:"); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + + +bool Test5_V() +{ + int i,pos; + + res = fin.TryInitialize(L"data:/test5.bin"); + if (res.IsFailure()){ + drawText(8,100,"open Fail"); + nn::fs::Unmount("data:"); + return false; + } + pos =0; + while(1){ + fin.SetPosition(pos); + res = fin.TryRead( &size,&get_buff[pos],512); + if (res.IsFailure() || (size!=512)){ + drawText(8,100,"read Fail"); + fin.Finalize(); + nn::fs::Unmount("data:"); + return false; + } + sprintf(str,"position %d",pos); + s_RenderSystem.Clear(); + drawText(10,80,str); + s_RenderSystem.SwapBuffers(); + + for (i=0;i<512;i++) if (src_buff[pos+i] != get_buff[pos+i]) + { + drawText(8,100,"verifi Fail at %d",i); + return false; + } + pos += 1024;//512飛ばす + if (pos >= SIZE_TEST5)break; + } + fin.Finalize(); + nn::fs::Unmount("data:"); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + +const char kinsi[] = {0x22,'<','>','?','*','|',0x5c,':',' ',0};//0x22 = "",0x5c = 円マーク +// スラッシュはセーブ時に重ね("//")ても"/"になり,末尾だとエラーとなる +const char *kinsi2[] = { "CON","PRN","NUL","AUX","LPT1","LPT2","LPT3","LPT4","COM1","COM2","COM3","COM4" +,"con","prn","nul","aux","lpt1","lpt2","lpt3","lpt4","com1","com2","com3","com4",""}; + + +//FAT違反の名前 +bool Test6_W() +{ + + res = nn::fs::FormatSaveData(100,100,true); + if (res.IsFailure()){ + drawText(8,100,"format Fail"); + return false; + } + res =nn::fs::MountSaveData(); + if (res.IsFailure()){ + drawText(8,100,"Mount Fail"); + return false; + } + + + +//禁止文字 + char *base = "test6"; + char dname[128],fname[128]; + int ofst=0; + + //頭に付ける + strcpy(dname,"data:/"); + int pos = strlen(dname); + strcat(dname,"_"); + strcat(dname,base);//data:/_base + int pos2 = strlen(dname)+1; + strcpy(fname,dname); + strcat(fname,"/_"); + strcat(fname,base); + strcat(fname,".bin");//data:/_base/_base.bin + + int i =0; + char c; + while(kinsi[i] != 0) + { + c = kinsi[i]; + dname[pos] = c; + res = nn::fs::TryCreateDirectory(dname); + if (res.IsFailure()){ + drawText(8,100,"Dir fail"); + nn::fs::Unmount("data:"); + return false; + } + fname[pos] = c; + fname[pos2] = c; + res = fout.TryInitialize(fname,true); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fout.TryWrite( &size,&src_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"write fail"); + nn::fs::Unmount("data:"); + return false; + } + fout.Finalize(); + i++; + ofst+=512; + } + + //末尾 + strcpy(dname,"data:/"); + strcat(dname,base);//data:/base + pos = strlen(dname); + strcat(dname,"_");//data:/base_ + strcpy(fname,dname); + strcat(fname,"/"); + strcat(fname,base);//data:/base_/base + pos2 = strlen(fname); + strcat(fname,"_.bin");//data:/base_/base_.bin + + i =0; + while(kinsi[i] != 0) + { + c = kinsi[i]; + dname[pos] = c; + res = nn::fs::TryCreateDirectory(dname); + if (res.IsFailure()){ + drawText(8,100,"dir fail"); + nn::fs::Unmount("data:"); + return false; + } + fname[pos] = c; + fname[pos2] = c; + res = fout.TryInitialize(fname,true); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fout.TryWrite( &size,&src_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"write fail"); + nn::fs::Unmount("data:"); + return false; + } + fout.Finalize(); + i++; + ofst+=512; + } + + +//禁止名 + i=0; + while(kinsi2[i][0] != 0) + { + strcpy(dname,"data:/"); + strcat(dname,kinsi2[i]); + res = nn::fs::TryCreateDirectory(dname); + if (res.IsFailure()){ + drawText(8,100,"dir fail"); + nn::fs::Unmount("data:"); + return false; + } + strcpy(fname,dname); + strcat(fname,"/"); + strcat(fname,kinsi2[i]); + res = fout.TryInitialize(fname,true); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fout.TryWrite( &size,&src_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"write fail"); + nn::fs::Unmount("data:"); + return false; + } + fout.Finalize(); + i++; + ofst+=512; + } + + nn::fs::CommitSaveData(); + nn::fs::Unmount("data:"); + + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + + +bool Test6_V() +{ + +//禁止文字 + char *base = "test6"; + char fname[128]; + int ofst=0; + + //頭に付ける + strcpy(fname,"data:/"); + int pos = strlen(fname); + strcat(fname,"_"); + strcat(fname,base);//data:/_base + int pos2 = strlen(fname)+1; + strcat(fname,"/_"); + strcat(fname,base); + strcat(fname,".bin");//data:/_base/_base.bin + + int i =0; + int j; + char c; + while(kinsi[i] != 0) + { + c = kinsi[i]; + fname[pos] = c; + fname[pos2] = c; + res = fin.TryInitialize(fname); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fin.TryRead( &size,&get_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"read fail"); + nn::fs::Unmount("data:"); + return false; + } + fin.Finalize(); + + for(j=0;j<512;j++)if(src_buff[ofst+i] != get_buff[ofst+i]){ + drawText(8,100,"verifi fail"); + nn::fs::Unmount("data:"); + return false; + } + + i++; + ofst+=512; + } + + //末尾 + strcpy(fname,"data:/"); + strcat(fname,base);//data:/base + pos = strlen(fname); + strcat(fname,"_/");//data:/base_/ + strcat(fname,base);//data:/base_/base + pos2 = strlen(fname); + strcat(fname,"_.bin");//data:/base_/base_.bin + + i =0; + while(kinsi[i] != 0)//末尾スラッシュは名無しでエラー + { + c = kinsi[i]; + fname[pos] = c; + fname[pos2] = c; + res = fin.TryInitialize(fname); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fin.TryRead( &size,&get_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"write fail"); + nn::fs::Unmount("data:"); + return false; + } + fout.Finalize(); + + for(j=0;j<512;j++)if(src_buff[ofst+i] != get_buff[ofst+i]){ + drawText(8,100,"verifi fail"); + nn::fs::Unmount("data:"); + return false; + } + + i++; + ofst+=512; + } + + +//禁止名 + i=0; + while(kinsi2[i][0] != 0) + { + strcpy(fname,"data:/"); + strcat(fname,kinsi2[i]); + strcat(fname,"/"); + strcat(fname,kinsi2[i]); + res = fin.TryInitialize(fname); + if (res.IsFailure()){ + drawText(8,100,"open fail"); + nn::fs::Unmount("data:"); + return false; + } + res = fin.TryRead( &size,&get_buff[ofst],512); + if (res.IsFailure()){ + drawText(8,100,"read fail"); + nn::fs::Unmount("data:"); + return false; + } + fin.Finalize(); + + for(j=0;j<512;j++)if(src_buff[ofst+i] != get_buff[ofst+i]){ + drawText(8,100,"verifi fail"); + nn::fs::Unmount("data:"); + return false; + } + i++; + ofst+=512; + } + + fin.Finalize(); + nn::fs::Unmount("data:"); + drawText(10,100,"end"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + return true; +} + +#define menu_ct 7 +#define menu_max (menu_ct-1) +char* menu_str[menu_ct] = {"Casual check","Large size","many files","Deep directry","max size name","data < create size","fat error name"}; + +#define menu_top_Y 80 +#define menu_top_X 60 +#define menu_spc 14 + +//---------------------------------------------------------------- main +void TestMain() +{ + u32 value; + int curs = 0; + int i; + bool sccs; + + //Render + setColor(1.0f,1.0f,1.0f,1.0f); + + //TEST PATTERN + make_pattern(); + + while(1){ + + //menu 表示 + s_RenderSystem.Clear(); + drawText(8,20," Backup Verifi for SaveDataMover Test "); + drawText(8,40," for 512KB Backup"); + for (i=0;i"); + drawText(menu_top_X,menu_top_Y+menu_spc*(menu_max+2),"push A:Write ,X:Verifi"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + + //ボタン待ち + value = WaitKey(nn::hid::BUTTON_A | nn::hid::BUTTON_X |nn::hid::BUTTON_UP |nn::hid::BUTTON_DOWN); + if (value & nn::hid::BUTTON_A){//ライト + sccs = false; + s_RenderSystem.Clear(); + drawText(10,70,"writing"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + switch(curs){ + case 0:sccs = Test0_W(5);break; + case 1:sccs = Test1_W();break; + case 2:sccs = Test2_W(680);break; + case 3:sccs = Test3_W();break; + case 4:sccs = Test4_W();break; + case 5:sccs = Test5_W();break; + case 6:sccs = Test6_W();break; + default:break; + } + }else if (value & nn::hid::BUTTON_X) + {//ベリファイ + sccs = false; + s_RenderSystem.Clear(); + drawText(10,70,"verifi"); + s_RenderSystem.SwapBuffers(); + nngxWaitVSync(NN_GX_DISPLAY0); + res =nn::fs::MountSaveData(); + if (res.IsFailure()){ + drawText(8,100,"Mount Fail"); + }else + switch(curs){ + case 0:sccs = Test0_V(5);break; + case 1:sccs = Test1_V();break; + case 2:sccs = Test2_V(680);break; + case 3:sccs = Test3_V();break; + case 4:sccs = Test4_V();break; + case 5:sccs = Test5_V();break; + case 6:sccs = Test6_V();break; + default:break; + } + }else if (value & nn::hid::BUTTON_UP){ + if(curs > 0)curs--; + }else if(curs < menu_max)curs++; + + if (value & (nn::hid::BUTTON_A | nn::hid::BUTTON_X)){ + if (sccs == false){ + fin.Finalize(); + fout.Finalize(); + res =nn::fs::Unmount("data:"); + drawText(8,120,"Failed"); + } + sprintf(str,"desc %d",res.GetDescription()); + drawText(10,140,str); + s_RenderSystem.SwapBuffers(); + NN_LOG("desc %d",res.GetDescription()); + WaitKey(nn::hid::BUTTON_B); + } + } +} + + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ + diff --git a/tags/1stNUP/CardSaveData/common/test_data.h b/tags/1stNUP/CardSaveData/common/test_data.h new file mode 100644 index 0000000..3525aa4 --- /dev/null +++ b/tags/1stNUP/CardSaveData/common/test_data.h @@ -0,0 +1,6 @@ +#ifndef TEST_DATA_H_ +#define TEST_DATA_H_ + +void TestMain(); + +#endif diff --git a/tags/1stNUP/CardSaveData/docs/Error_code.txt b/tags/1stNUP/CardSaveData/docs/Error_code.txt new file mode 100644 index 0000000..0920809 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/Error_code.txt @@ -0,0 +1,37 @@ + +//エラー表示コードの下位2桁 +0, //不明 +1, //デバイスが見つからない +2,//プロダクトコード不一致 +3,//ベリファイエラー +4,//パスが長すぎ +5,//ディレクトリ深すぎ +6, //メディアが見つからない(サブ基盤外れなど) +10, //ファイルが見つからない +20, //既に存在 +21, //空き容量がない +22, //書込み禁止 +30, //アクセスエラー +50, //フォーマットエラー +60, //検証に失敗、改竄 +70, //ROM情報エラー +80, //リトライ要求 +90, //実行時エラー +99 //深刻なエラー + + +//上位 +CARD = 100, +BKUP DEVICE = 200, +OTHER = 300 + + +これらの合成で表示される +例えば、カードが刺さっていない場合は 101 となる + + +通常時に発生しやすいと思われるもの + +302 .. プロダクトコードが一致しない +101 .. カードが見つからない + diff --git a/tags/1stNUP/CardSaveData/docs/HowToビルド.txt b/tags/1stNUP/CardSaveData/docs/HowToビルド.txt new file mode 100644 index 0000000..ecbe1c6 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/HowToビルド.txt @@ -0,0 +1,60 @@ +mF‹F +ARM RVC_Nintendo 4.1 +omake 0.9.8.5 +CTR SDK2.3.4 + PrivateKit(SystemProgramKit,RepairTool,SystemMenu) + +vF1stNup(SDK 2.3x)ȍ~̃VXe{ + +) +Sampledemos common,gxrhĂ +omakeroot̂fBNgɂomaket@C +SAMPLED_DEMOS_COMMON_INCLUDE_DIR Ɂ@ +sampledemos/common/includëʒuw肵Ă +Jpubkeyimp/omakeŎw + +rh) +omakeroot̂fBNgomakes +bodyŃrhocia AImpomake(SRC_IMPORTEE_PATH)Ŏw +(ʎY@Ŏgɂ́A}X^Ociaw) +rhNANDC|[gpccił + + +C|[g: +ciaSDC|[g -> SD .. DevMenugp,DevMenufullȂnandɂ +J[hNC|[g -> NAND + +ʎY@ł̎sɂ̓}X^OK{ +bodyō쐬cia OLStŃ}X^O +ciagč쐬cci}X^O + +}X^O̗F +Ebody/imagesɏocia}X^OOLSt +EciaImpomakeŎwA͎wꏊɒu +ibodỹrhŏ㏑Ȃ悤ꏊt@CςقSj +Eimp/omakesAcci쐬 +Ecci}X^O +EfobKC^ŊJJ[hɏĂA +fobKł̓[hTARGET ERRORƕ\邪CɂĂ +C^͎gƖł͂.. + +OLSƃ}X^o[WXVKv +common/ver.h͕\o[WAύXĂ_ +body/omekẽRgQl + +NANDC|[gŎsꍇcia`FbN +SDC|[g +J@œ- }X^OĂȂ +ʎY@œ- OLStĂȂ +(1stNupȍ~̗ʎY@̓}X^OSDAvtOK{) + +C|[g̖{̂VAԍŐĂ܂ +"imp/imp_lis/"ɃXgƏTv +OpenSSL0.9.6k,r 1.0.0d œmF +imp/imp_list ɃR}hCc[(win32)pob` +gcygwinł +[UɂomakewpubkeyƑgprivatekeyōn + + +{c[J̃}X^O͐iG()Ɉ˗ +}X^OςDevMenu(full) +CUP쐬͔ѓɕ diff --git a/tags/1stNUP/CardSaveData/docs/csm_inf_sample.txt b/tags/1stNUP/CardSaveData/docs/csm_inf_sample.txt new file mode 100644 index 0000000..7c50204 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/csm_inf_sample.txt @@ -0,0 +1,8 @@ +#TvłAgp +#csm_inf.txt ɉĉ + +#{̃VA\ +-p + +#eXgj[L +-t diff --git a/tags/1stNUP/CardSaveData/docs/import.txt b/tags/1stNUP/CardSaveData/docs/import.txt new file mode 100644 index 0000000..e94a4f3 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/import.txt @@ -0,0 +1,27 @@ + +ړIF‚{̂̂݃C|[g + +JROMǂݍ + +SCj@c[p{̂̃VA[ȂǂRED֘A +RED)@Xg(csm_list)Ə(csm_sign)쐬 + + +C|[g菇 +E@XgASDCTRɍ +E@C|[gpAvJ[hN +E@LȖ{̂ȂC|[gj[\ + + +Openeelō쐬 +ɎSD[gɒu + +Xg̏ +C|[gƒVAeLXgŗ +--- +aaaaaaaa +bbbbbbbb +---- +{̗VAI[digit(lpg̐)͏Ȃ +digitmFꍇ̓Xg쐬ɂƂ +t@CTCY64K܂(VÂ݋LڂŁA悻4000) diff --git a/tags/1stNUP/CardSaveData/docs/option.txt b/tags/1stNUP/CardSaveData/docs/option.txt new file mode 100644 index 0000000..64a334f --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/option.txt @@ -0,0 +1,10 @@ +C|[^̃IvVL + +cms_inf.txt̖OŃt@C쐬 +ȉ̋LqŃIvVLɂȂ + +-t: eXgj[ +@@@J[h̃Z[uɃeXgp^[݁xt@C + +-p: {̃VA\ + diff --git a/tags/1stNUP/CardSaveData/docs/マスタリング.txt b/tags/1stNUP/CardSaveData/docs/マスタリング.txt new file mode 100644 index 0000000..3009e14 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/マスタリング.txt @@ -0,0 +1,10 @@ +ʎY@ł̓ɂ̓}X^OKv + +cia̓T[oF؁iOLSjK{ +OLS͑O擾烊}X^o[WグKv(2011/2) +(Ⴆ΁AO 1.0.0 Ȃ@1.0.1 ) +W[rsfŎw(Remasterversion) +}Ciƃ}CNOmakefile +MAKECIAFLAGS = -minor 0 -micro 1 +̏ꍇ *.0.1 (*rsfRemasterversion) + diff --git a/tags/1stNUP/CardSaveData/docs/操作説明.txt b/tags/1stNUP/CardSaveData/docs/操作説明.txt new file mode 100644 index 0000000..603c6ed --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/操作説明.txt @@ -0,0 +1,21 @@ + +c[{(bodyfBNg) +삪oԂ̂ƂʂɃ{^\ +\ɂă^b`Őis܂ + +(obNAbvf[g) +擪ʂ L[ LEFT + X + + + + +SDɈȉL^čĂ +cms(cts)_list.txt .. {̃VA +cms(cts)_sign.dat .. +/imp/imp_list ɃTv + +Nɖ{̃VA`FbN +–{̂ł΃j[\A\ɂă{^ + +̓rhɎw肵ƃyǍg + diff --git a/tags/1stNUP/CardSaveData/docs/署名に関する覚え書.txt b/tags/1stNUP/CardSaveData/docs/署名に関する覚え書.txt new file mode 100644 index 0000000..484e487 --- /dev/null +++ b/tags/1stNUP/CardSaveData/docs/署名に関する覚え書.txt @@ -0,0 +1,34 @@ + +rhɑgݍ񂾌J̃yAƂȂvCx[ggďs + +o[WŌʂ +ύX̏ꍇło[Wς邱 + +Openssl.exe : cygwiñCXgAWinł +RSAArbg͂QOSŴ +SHA256̃_CWFXgɏ +Openssl0.9.6.k(r),1.0.0d쐬̏œmF + +(쐬) +openssl genrsa -out private_key.pem 2048 +openssl enc -d -base64 -in private_key.pem -out private_key.der +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der + +(1.0.0̏ꍇ) +openssl genpkey -out private_key.der -outform DER -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 +openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der + +() +openssl dgst -sha256 -binary -keyform DER -sign private_key.der -out csm_sign.dat csm_list.txt + +vCx[g̃oCisvȂ +openssl genrsa -out private_key.pem 2048 +openssl rsa -pubout -outform DER -in private_key.pem -out public_key.der + +openssl dgst -sha256 -binary -sign private_key.pem -out csm_sign.dat csm_list.txt + +쐬pubC|[gAvomakeŎw +OBJECTS[] = + $`(ObjectFromBinary $(TARGET), ./Imp_list/Public_Key.der) + +XgvCx[gŏ쐬AXgƏC|[gSDǂ diff --git a/tags/1stNUP/ConsoleDataMigration/documents/CTR修理フロー_1stNUP.vsd b/tags/1stNUP/ConsoleDataMigration/documents/CTR修理フロー_1stNUP.vsd new file mode 100644 index 0000000000000000000000000000000000000000..a3d6b8900896e5522f538aecffd6eb7a91fe5882 GIT binary patch literal 222720 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

~FPhAebN(E|} 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 z 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

h8>`_4QzXWz&S? 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%0AB+`KzBN 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

Ox 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/documents/Readme.txt b/tags/1stNUP/ConsoleDataMigration/documents/Readme.txt new file mode 100644 index 0000000..19421aa --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/documents/Readme.txt @@ -0,0 +1,17 @@ +yrh‹z + +ESDK +Horizon 2_3 branch r36989 + + Horizon 1_0 branch r33839RepairTool.desc + $HORIZON_ROOT/resources/specfiles/_privateɃ}[W + +Ecygwin +Esubversion + +yrh̒Ӂz +J@EʎY@AESς邽߁A}X^Oprh +sources\common\Aes_define.h + +#define USE_PROD_KEY +Lɂ邱ƁB + diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.bsf b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 zcmb7@%}&BV6ov0r6Q4m6H@Z+KhJ|rsM6B@-iN&}UA&7ugsXvL2;Tss=z?CbPK7-HU z)`;f}40Xb^b~0(1PS3sfyQi1I&zzJblt2oys8<2cr*etalpCCea)sR)c7e2|i~WpD z%Rcro7N2+UHiF)~Uy~`R|H-i|w|LvZ70EsBD^ipPeP2RkjQky)vxJ;2?`%a`MK<2; zYzL^;09`kOt2fp#wk|zHu)7fFWNu`{_Q#rGY=0EX_#@P9p&Pog2InT%2DrMq)-it1 z5bM@4GJuy|>5rV>09lO8Ax`gbHW_E@jjjxRjO#yrP0mrF2RAOE<`)kz2d6kOwUp*I z93`+s$UK?1hPc}iwV4q^!TDfENmN43p675qs~7dEzSM{MR`2Q)_czs1k9R9iC+b3# z6`dZs&Cc53ZE5GPQMHZQ&9SRVZt6E>3%bKUwF@%riEnqMis|N;Ye~iGdv;(iqYmL% zgnF^1x3#kaqppIk4p-ag{~U}rnxmrmV?1-}BHb4wwvf|Jvo7{BYB!CoUDx@U+m9xI zZ~1Ac&QC+NAI&!0$)cen)MPOjjbG&*sbyA9+-82Nvlu4Tel%g~#LiszPN!@7sdh7@sr_j7@Sk?igDXGP`DhB-LF)Z@%5t2-lYH^vj#EOln +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "demo.h" + +#include +#include + +#include "DrawSystemState.h" +#include "FileName.h" +#include "Controller.h" +#include "SimplePlayer.h" +#include "Exporter.h" +#include "CommonLogger.h" +#include "SDMountManager.h" +#include "HeapManager.h" +#include "PlayHistoryManager.h" +#include "common_Types.h" +#include "VersionDetect.h" +#include "Util.h" +#include "ResFont.h" +#include "HardwareStateManager.h" + +// svnリビジョン埋め込み用 +#include "../../generated/ConsoleBackup/version.h" +#ifndef BACKUP_VERSION_NUM +#define BACKUP_VERSION_NUM 0 +#endif + +namespace { + +// グラフィックスに割り当てるメモリ +const size_t s_GxHeapSize = 0x800000; + +common::Util s_HwUtility; + +} // namespace + +namespace ConsoleBackup{ + + +extern "C" void nnMain(void) +{ + nn::Result result; + + // os の初期化 + nn::os::Initialize(); + + // fs の初期化 + nn::fs::Initialize(); + + // appletの初期化 + nn::applet::Enable( false ); + + // hid の初期化 + result = nn::hid::Initialize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // ndmの初期化 + result = nn::ndm::Initialize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // 全デーモンの自律動作をacの自動接続も含めて止める + result = nn::ndm::SuspendScheduler(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // cfg の初期化 + nn::cfg::CTR::init::Initialize(); + nn::cfg::CTR::system::Initialize(); + + // 時計設定用ptm初期化 + nn::ptm::CTR::InitializeForSystemMenu(); + + // ps の初期化 + nn::ps::Initialize(); + + // amの初期化 + nn::am::InitializeForSystemMenu(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + demo::RenderSystemDrawing renderSystem; + renderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ResFontの初期化 + common::InitializeResFont(); + + // サウンドスレッドの起動 + common::InitializeSimplePlayer(); + + // ログ描画の初期化 + common::Logger::GetLoggerInstance()->Initialize(common::CONSOLE_WIDTH, common::CONSOLE_HEIGHT, + common::CONSOLE_MAX_LINE, &renderSystem); + + // RenderSystemを作ってからログが出せる + common::Logger::InitializeEjectThread(); + common::Logger::SetEjectHandler(OnSdEjected); + // 起動時に削除 + common::Logger::GetLoggerInstance()->ClearSdLog(); + + COMMON_LOGGER("\n"); + COMMON_LOGGER("CTR Console Backup start\n"); + + // ボタン入力 + nn::hid::PadReader s_PadReader; + nn::hid::PadStatus padStatus; + + // データの準備 + s_HwUtility.Initialize(); + common::HardwareStateManager manager(s_HwUtility); + + // 情報出力 + COMMON_LOGGER("CTR Console Backup %s Rev.%s\n", __DATE__, BACKUP_VERSION_NUM); + COMMON_LOGGER("System Ver. %d.%d.%d-%d\n", + s_HwUtility.GetCupMajorVersion(), + s_HwUtility.GetCupMinorVersion(), + s_HwUtility.GetCupMicroVersion(), + s_HwUtility.GetNupVersion()); + COMMON_LOGGER("System Region %s\n", s_HwUtility.GetRegionCodeA3()); + COMMON_LOGGER("Serial Number %s\n", s_HwUtility.GetSerialNumber()); + COMMON_LOGGER("Device ID %llu\n", s_HwUtility.GetInfraDeviceId()); + COMMON_LOGGER("MAC Address %s\n", s_HwUtility.GetMacAddress()); + COMMON_LOGGER("Friend Code %04u-%04u-%04u\n", + static_cast(s_HwUtility.GetFriendcode() / 100000000ULL % 10000ULL), + static_cast(s_HwUtility.GetFriendcode() / 10000ULL % 10000ULL), + static_cast(s_HwUtility.GetFriendcode() % 10000ULL) ); + + + bool flip = false; + bool continueBackup = false; + + for(;;) + { + bool nextStep = false; + s_PadReader.ReadLatest(&padStatus); + + // AまたはSTARTボタンで進行 + if(padStatus.trigger & nn::hid::BUTTON_A || + padStatus.trigger & nn::hid::BUTTON_START) + { + nextStep = true; + } + + // LまたはRボタンで上下画面フリップ + if(padStatus.trigger & nn::hid::BUTTON_R || + padStatus.trigger & nn::hid::BUTTON_L) + { + flip = !flip; + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_UP) + { + common::Logger::GetLoggerInstance()->ScrollUp(); + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_DOWN) + { + common::Logger::GetLoggerInstance()->ScrollDown(); + } + + if(padStatus.hold & nn::hid::BUTTON_LEFT) + { + common::Logger::GetLoggerInstance()->ScrollToBegin(); + } + + if(padStatus.hold & nn::hid::BUTTON_RIGHT) + { + common::Logger::GetLoggerInstance()->ScrollToEnd(); + } + + + // 情報更新 + // ACアダプタ + std::string adapterState; + if(manager.IsAdapterConnected()) + { + adapterState += ::std::string("Connected"); + } + else + { + adapterState += ::std::string("Not Connected"); + } + + // 操作用メッセージ + // 進捗確認メッセージを兼ねる? + ::std::vector operationMessage; + + ControlState(manager, operationMessage, nextStep, continueBackup); + + nn::util::FloatColor titleColor; + + titleColor.r = 0.3f; + titleColor.g = 0.f; + titleColor.b = 0.2f; + + // 上画面表示 + common::DrawSystemState("CTR Console Backup", + renderSystem, + titleColor, + flip, + adapterState, + BACKUP_VERSION_NUM, + s_HwUtility.GetCupMajorVersion(), + s_HwUtility.GetCupMinorVersion(), + s_HwUtility.GetCupMicroVersion(), + s_HwUtility.GetNupVersion(), + s_HwUtility.GetBatteryRemain(), + s_HwUtility.GetInfraDeviceId(), + s_HwUtility.GetFriendcode(), + GetProgress(), + IsBackupFailed(), + IsBackupSucceeded(), + s_HwUtility.GetMacAddress(), + operationMessage, + s_HwUtility.GetRegion(), + s_HwUtility.GetSerialNumber() + ); + + renderSystem.SwapBuffers(); + + // デフォルトで下画面に描画するもの + renderSystem.SetRenderTarget(common::GetRenderTarget(NN_GX_DISPLAY1, flip)); + if(IsBackupSucceeded()) + { + renderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR); + } + if(IsBackupFailed()) + { + renderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR); + } + renderSystem.Clear(); + renderSystem.SetColor(1.f, 1.f, 1.f); + + common::Logger::GetLoggerInstance()->DrawConsole(); + renderSystem.SwapBuffers(); + + + renderSystem.WaitVsync(NN_GX_DISPLAY_BOTH); + + // 電源長押しで終了 + if ( nn::applet::IsExpectedToCloseApplication()) + { + common::Logger::GetLoggerInstance()->Finalize(); + // アンマウント + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + nn::fs::Unmount(common::SDMC_ARCHIVE_NAME); + renderSystem.Finalize(); + + nn::ps::Finalize(); + nn::ptm::CTR::FinalizeForSystemMenu(); + nn::cfg::CTR::system::Finalize(); + nn::cfg::CTR::init::Finalize(); + nn::hid::Finalize(); + nn::fs::Finalize(); + + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); + } + } +} + + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.rsf b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.rsf new file mode 100644 index 0000000..3b10ee6 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/ConsoleBackup.rsf @@ -0,0 +1,54 @@ +BasicInfo: + Title : ConsoleBackup + ProductCode: CTR-P-22TA + BackupMemoryType: None + +TitleInfo: + Use: Evaluation + Category: Application + UniqueId: 0xf8021 + Version: 0 + +SystemControlInfo: + AppType : Application + StackSize : 0x4000 + Dependency : + - gpio + - pdn + - spi + - i2c + - mcu + - ptm + - codec + - cfg + - hid + - gsp + - friends + - nim + - ac + - ndm + +AccessControlInfo: + Priority : 16 + DisableDebug : true + + FileSystemAccess: + - DirectSdmc + - Debug + - Core + - CategoryFileSystemTool + + IoAccessControl: + - FsMountCardSpi + - FsMountNand + - FsMountTwln + +Option: + FreeProductCode: true + +CardInfo: + CardDevice: None + +Rom: + # ROM に含めるファイルシステムのルートパスを指定します。 + HostRoot: "$(ROMFS_ROOT)" \ No newline at end of file diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.cpp new file mode 100644 index 0000000..c612f5e --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.cpp @@ -0,0 +1,339 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Controller.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "Controller.h" +#include "FileChecker.h" +#include "Exporter.h" +#include "SimplePlayer.h" +#include "CommonLogger.h" + +#include + +namespace ConsoleBackup +{ + +namespace +{ + +typedef enum BackupState +{ + STARTUP, // 初期値 + EXPORT_TWL_NAND, // TWLセーブデータ領域の吸出し中 + EXPORT_TWL_SOUND, // TWLサウンド領域の吸出し中 + EXPORT_TWL_PHOTO, // TWL写真領域の吸出し中 + EXPORT_CTR_NAND, // 吸出し中 + DELETE_NIM, // nimのシステムセーブデータ削除 + DONE, // 吸出し完了 + FINISHED, // SDカード抜き完了 + FAIL // 失敗 +} BackupState; + + +// APSettingの書式が無い警告サウンドを鳴らしたかどうか +bool s_ExistAPSettingAnnotation = false; +// SDに書き込みできない警告サウンドを鳴らしたかどうか +bool s_SdWriteProetctAnnotation = false; + +BackupState s_BackupState = STARTUP; +bool s_PlayedStartCursor = false; +bool s_PlayedSdPullOutCursor = false; +bool s_PlayedFinishedSound = false; +bool s_PlayedFailSound = false; + +} // namespace + +bool NeedsAcAdapter(common::HardwareStateManager& manager) +{ + return manager.IsBatteryLower() && !manager.IsAdapterConnected(); +} + +void ControlState(common::HardwareStateManager& manager, ::std::vector& operationMessage, bool& nextStep, + bool& continueBackup) +{ + // 状態遷移Controller + switch (s_BackupState) + { + + // 起動時 + case STARTUP: + { + bool error = false; + // 完全性検証SEEDを読めるか? + if (manager.CanReadIvs()) + { + // SDカードが挿入されているか? + if (nn::fs::IsSdmcInserted()) + { + // SDカードに書き込みできるか? + if (!nn::fs::IsSdmcWritable()) + { + if (!s_SdWriteProetctAnnotation) + { + s_SdWriteProetctAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + operationMessage.push_back(::std::string("Can*t Write SD Card!!\n")); + break; + } + + // 無線設定ファイルがあるか? + if (common::ExistsAPSetting()) + { + // 書き込み中に抜かないように + if (nextStep) + { + // シリアルナンバーを読み取れるか? + if (!manager.CanReadSerialNumber()) + { + common::PlaySound(common::SOUND_ANNOTATION); + COMMON_LOGGER("Can't Read Serial Number\n"); + } + } + } + else + { + error = true; + if (!s_ExistAPSettingAnnotation) + { + s_ExistAPSettingAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + operationMessage.push_back(::std::string("Accsess_Point_Setting does not exist!")); + } + } + else + { + error = true; + operationMessage.push_back(::std::string("Insert SD Card!!")); + } + } + else + { + error = true; + operationMessage.push_back(::std::string("Can't Read SDCI!!")); + } + + // ACアダプタが必要か? + if (NeedsAcAdapter(manager)) + { + error = true; + operationMessage.push_back(::std::string("Connect AC Adapter!!")); + } + + // エラーが無ければ進行用メッセージ表示 + if(!error) + { + operationMessage.push_back(::std::string("Push A or START Button")); + if(!s_PlayedStartCursor) + { + common::PlaySound(common::SOUND_CURSOR); + s_PlayedStartCursor = true; + } + } + + if (nextStep && !error) + { + COMMON_LOGGER("Start Export Data\n"); + + s_BackupState = EXPORT_TWL_NAND; + } + } + break; + + + // TWLセーブデータ領域の吸出し中 + case EXPORT_TWL_NAND: + { + static bool init = true; + if(init) + { + // コンテキストを初期化する + InitializeFileListContext(); + + // データを書き込む + ExportTwlSaveData(); + init = false; + } + + // 処理が完了した + if (IsExportThreadFinished()) + { + FinalizeExportThread(); + s_BackupState = EXPORT_TWL_SOUND; + } + } + break; + + // TWLサウンド領域の吸出し中 + case EXPORT_TWL_SOUND: + { + static bool init = true; + if(init) + { + // データを書き込む + ExportTwlSoundData(); + init = false; + } + + // 処理が完了した + if (IsExportThreadFinished()) + { + FinalizeExportThread(); + s_BackupState = EXPORT_TWL_PHOTO; + } + } + break; + + // TWL写真領域の吸出し中 + case EXPORT_TWL_PHOTO: + { + static bool init = true; + if(init) + { + // データを書き込む + ExportTwlPhotoData(); + init = false; + } + + // 処理が完了した + if (IsExportThreadFinished()) + { + FinalizeExportThread(); + s_BackupState = EXPORT_CTR_NAND; + } + } + break; + + // 吸出し中 + case EXPORT_CTR_NAND: + { + continueBackup = true; + + // ACアダプタが必要か? + if (NeedsAcAdapter(manager)) + { + continueBackup = false; + operationMessage.push_back(::std::string("Connect AC Adapter!!")); + } + + // データを書き込む + ExportData(manager); + + // 処理が完了した + if (continueBackup && IsExportThreadFinished()) + { + FinalizeExportThread(); + COMMON_LOGGER("Export NAND Data Finished.\n"); + + if(GetProgress() > 99) + { + s_BackupState = DELETE_NIM; + } + else + { + s_BackupState = FAIL; + } + + } + } + break; + + // nimのシステムセーブデータ削除 + case DELETE_NIM: + { + DeleteNimSaveData(); + s_BackupState = DONE; + } + break; + + // 吸出し完了 + case DONE: + { + operationMessage.push_back(::std::string("Backup Done. Pull Out SD Card.")); + if(!s_PlayedSdPullOutCursor) + { + common::PlaySound(common::SOUND_CURSOR); + s_PlayedSdPullOutCursor = true; + } + } + break; + + // SDカード抜き完了 + case FINISHED: + { + operationMessage.push_back(::std::string("Backup Succeeded!!\n")); + if(!s_PlayedFinishedSound) + { + common::PlaySound(common::SOUND_OK); + s_PlayedFinishedSound = true; + } + } + break; + + // 吸出し失敗 + case FAIL: + { + operationMessage.push_back(::std::string("Backup Failed.")); + if(!s_PlayedFailSound) + { + common::PlaySound(common::SOUND_NG); + s_PlayedFailSound = true; + } + } + break; + + } +} + +bool InProgress() +{ + return s_BackupState == EXPORT_CTR_NAND; +} + +bool IsBackupSucceeded() +{ + return s_BackupState == FINISHED; +} + +bool IsBackupFailed() +{ + return s_BackupState == FAIL; +} + +void OnSdEjected() +{ + if(s_BackupState == DONE || s_BackupState == FINISHED) + { + s_BackupState = FINISHED; + } + else + { + common::InitializeFileCheck(); + InitializeState(); + } +} + +void InitializeState() +{ + s_BackupState = STARTUP; + s_PlayedFailSound = false; + s_PlayedFinishedSound = false; + s_ExistAPSettingAnnotation = false; + s_PlayedStartCursor = false; + s_PlayedSdPullOutCursor = false; + s_SdWriteProetctAnnotation = false; +} + +} // namespace ConsoleBackup diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.h new file mode 100644 index 0000000..b60d065 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Controller.h @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Contoroller.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef CONTOROLLER_H_ +#define CONTOROLLER_H_ + +#include +#include +#include "HardwareStateManager.h" + +namespace ConsoleBackup +{ + +// 状態遷移を管理する +// manager ハードウェア情報を取得するためのラッパ +// operationMessage 操作情報として表示したい文字列 +// nextStep 次の状態に遷移してもよいかどうか +// continueBackup 処理を続けてもよいかどうか +void ControlState(common::HardwareStateManager& manager, ::std::vector& operationMessage, bool& nextStep, + bool& continueBackup); + +// バックアップ処理中かどうか +bool InProgress(); + +// バックアップが完了したかどうか +bool IsBackupSucceeded(); + +// バックアップが失敗したかどうか +bool IsBackupFailed(); + +// SDカードが抜き出されたときに実行したい関数 +void OnSdEjected(); + +// 状態を初期化する +void InitializeState(); + +} + +#endif /* CONTOROLLER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp new file mode 100644 index 0000000..d9186df --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp @@ -0,0 +1,932 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Exporter.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // cfg:norの初期化に必要 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Exporter.h" +#include "CommonLogger.h" +#include "SDMountManager.h" +#include "HeapManager.h" +#include "SdReaderWriter.h" +#include "FileName.h" +#include "FileTransfer.h" +#include "common_Types.h" +#include "Aes_define.h" +#include "PlayHistoryManager.h" +#include "VersionDetect.h" +#include "Util.h" + +namespace ConsoleBackup +{ + +namespace +{ + +common::SdReaderWriter s_SdWriter; +common::NtrNorData s_NtrNorData; +common::CfgCountryLanguage s_CountryLanguage; + +const size_t EXPORT_THREAD_STACK_SIZE = 0x4000; +nn::os::Thread s_ExportThread; +nn::os::StackBuffer s_ExportThreadStack; + +wchar_t s_RootName[256]; + +nn::crypto::Sha256Context s_FileListContext; + +} + +void AddCmac(nn::fs::FileOutputStream* file, nn::crypto::Sha256Context* context); + +void DeleteTrash(std::wstring currentDirectory) +{ + // TODO: リードオンリーのファイルが消去できない + + COMMON_LOGGER("Delete Trash.\n"); + + nn::fs::FileInputStream fis; + nn::fs::Directory dir; + nn::Result result; + std::vector entryList; //カレントディレクトリのエントリ一覧を格納 + std::vector::iterator entryIndex; + + common::SdMountManager::Mount(); + + result = dir.TryInitialize(currentDirectory.c_str()); + + if (result.IsSuccess()) + { + nn::fs::DirectoryEntry entry; + s32 numEntry; + for (;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if (result.IsFailure()) + { + dir.Finalize(); + } + if (numEntry == 0) + { + // ルートディレクトリを閉じる + dir.Finalize(); + + // ルートディレクトリの子を開く + for (entryIndex = entryList.begin(); entryIndex != entryList.end(); entryIndex++) + { + // ディレクトリなら削除する + if (entryIndex->attributes.isDirectory) + { + NN_LOG("Try Delete %ls%ls/\n", currentDirectory.c_str(), entryIndex->entryName); + result = nn::fs::TryDeleteDirectoryRecursively((currentDirectory + ::std::wstring( + entryIndex->entryName)).c_str()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + } + // ファイルならログとAP設定以外は削除する + else + { + if (std::wcscmp(entryIndex->entryName, common::AP_SETTING_FILENAME) != 0 && std::wcscmp( + entryIndex->entryName, common::LOG_FILENAME) != 0) + { + NN_LOG("Try Delete %ls%ls\n", currentDirectory.c_str(), entryIndex->entryName); + result = nn::fs::TryDeleteFile( + (currentDirectory + ::std::wstring(entryIndex->entryName)).c_str()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + } + } + + // 削除完了 + break; + } + else + { + // vectorに保存する + entryList.push_back(entry); + if (entry.attributes.isDirectory) + { + NN_LOG("%ls%ls/\n", currentDirectory.c_str(), entry.entryName); + } + else + { + NN_LOG("%ls%ls\n", currentDirectory.c_str(), entry.entryName); + } + } + } + } + else + { + NN_LOG("failed initialize directory\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + dir.Finalize(); + } + + common::SdMountManager::Unmount(); +} + +void WriteTwlTitleList(std::vector& programIdList) +{ + COMMON_LOGGER("Export TwlTitle List.\n"); + + size_t heapSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + char* titleListBuf = reinterpret_cast (common::HeapManager::GetHeap()->Allocate(heapSize)); + + size_t writeSize = 0; + if (titleListBuf != NULL) + { + for (std::vector::iterator it = programIdList.begin(); it != programIdList.end(); it++) + { + nn::nstd::TSNPrintf(titleListBuf + writeSize, heapSize - writeSize, "%s\n", common::GetCharStr(it->c_str())); + NN_LOG("%ls\n", it->c_str()); + writeSize += it->size() + sizeof('\n'); + } + } + + nn::Result result = s_SdWriter.WriteBufWithCmac(common::TWL_TITLELIST_PATHNAME, titleListBuf, writeSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + common::HeapManager::GetHeap()->Free(titleListBuf); +} + + +void WriteRegionData() +{ + COMMON_LOGGER("Export Region Data.\n"); + + nn::cfg::CTR::CfgRegionCode region; + region = nn::cfg::CTR::GetRegion(); + + s_SdWriter.WriteBufWithCmac(common::REGION_DATA_PATHNAME, ®ion, sizeof(nn::cfg::CTR::CfgRegionCode)); +} + +void WriteCountryLanguageData() +{ + COMMON_LOGGER("Export Country and Language Data.\n"); + + nn::Result result; + + nn::cfg::nor::CTR::Initialize(); + + // 国設定 + s_CountryLanguage.country = nn::cfg::CTR::GetCountry(); + if (s_CountryLanguage.country != nn::cfg::CTR::CFG_COUNTRY_UNKNOWN) + { + // 言語設定 + s_CountryLanguage.language = nn::cfg::CTR::GetLanguage(); + + s_SdWriter.WriteBufWithCmac(common::COUNTRY_SETTING_PATHNAME, &s_CountryLanguage, sizeof(s_CountryLanguage)); + } +} + +void WriteNorData() +{ + COMMON_LOGGER("Export NOR Data.\n"); + + nn::Result result; + + nn::cfg::nor::CTR::Initialize(); + + NN_LOG("Get NTR User Setting\n"); + + // NTR設定 + result = nn::cfg::nor::CTR::GetNtrSetting(&s_NtrNorData.ntrConfig.ncd, &s_NtrNorData.ntrConfig.ncd_ex); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // TWL WiFi設定 + result = nn::cfg::nor::CTR::ReadTwlWifiSetting(0, s_NtrNorData.TwlWiFiSetting, common::TWL_WIFI_SETTING_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // NTR WiFi設定 + result = nn::cfg::nor::CTR::ReadNtrWifiSetting(0, s_NtrNorData.NtrWiFiSetting, common::NTR_WIFI_SETTING_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + s_SdWriter.WriteBufWithCmac(common::NOR_PATHNAME, &s_NtrNorData, sizeof(common::NtrNorData)); +} + +void WriteSerialNumber(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Export Serial Number.\n"); + + u8* serial; + size_t size; + manager.GetSerialNumber(&serial, &size); + + s_SdWriter.WriteBufWithCmac(common::SERIAL_PATHNAME, serial, size); +} + +void WriteDeviceId(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Export Device ID.\n"); + + bit32 deviceId = manager.GetDeviceId(); + + s_SdWriter.WriteBufWithCmac(common::DEVICE_ID_PATHNAME, &deviceId, sizeof(deviceId)); +} + +void WriteIvs(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Export SDCI.\n"); + + void* ivs; + size_t size; + manager.GetIvs(&ivs, &size); + + void* enc; + nn::Result result; + enc = common::HeapManager::GetHeap()->Allocate(size); + if(enc != NULL) + { + // AES暗号化する + nn::crypto::Initialize(); + + nn::crypto::SwAesCtrContext swAesCtrContest; + + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); + swAesCtrContest.Encrypt(enc, ivs, size); + + s_SdWriter.WriteBufWithCmac(common::IVS_PATHNAME, enc, size); + + common::HeapManager::GetHeap()->Free(enc); + } +} + +void CreateTwlDirectory(enum common::TWL_PATH_INDEX path) +{ + NN_ASSERT(path < common::TWL_PATHNAME_MAX); + + s_SdWriter.CreateDirectory((::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + + std::wstring(common::SD_TWL_ROOTNAME_TABLE[path])).c_str()); +} + +void ListTwlSaveData(std::wstring currentDirectory, std::vector* list) +{ + nn::fs::Directory dir; + nn::fs::DirectoryEntry entry; + s32 numEntry; + + nn::Result result = dir.TryInitialize(currentDirectory.c_str()); + if(result.IsSuccess()) + { + for(;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if(result.IsFailure()) + { + dir.Finalize(); + break; + } + + if(numEntry == 0) + { + dir.Finalize(); + } + else + { + common::SavePathInfo pathInfo; + pathInfo.name = currentDirectory + std::wstring(L"/") + std::wstring(entry.entryName); + pathInfo.isDirectory = false; + list->push_back(pathInfo); + } + } + } +} + +void AddCurrentProgramIdPath(std::vector* programIdList, std::wstring currentDir) +{ + std::wstring currentPath(currentDir); + std::wstring token(common::NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH); + + std::wstring::size_type pos; + pos = currentPath.find(token); + if(pos != std::wstring::npos) + { + std::wstring subStr = currentPath.substr(token.size()); + + std::wstring slash(L"/"); + pos = subStr.find(slash); + while(pos != std::wstring::npos) + { + subStr.erase(pos, slash.size()); + pos = subStr.find(slash); + } + + std::wstring ctrProgramIdHi(L"00048"); + subStr.replace(0, ctrProgramIdHi.size(), ctrProgramIdHi); + + programIdList->push_back(subStr); + } + else + { + NN_LOG("Can't find %ls\n", common::NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH); + } + +} + +void AddCurrentDirectory(std::vector* list, std::wstring currentDir, wchar_t* currentEntry) +{ + common::SavePathInfo pathInfo; + + pathInfo.name = currentDir + std::wstring(L"/") + std::wstring(currentEntry) + std::wstring(L"/"); + pathInfo.isDirectory = true; + list->push_back(pathInfo); +} + + +bool ListTwlSaveDataDirectory(std::wstring currentDirectory, u32 level, std::vector* list, + std::vector* programIdList) +{ + nn::fs::FileInputStream fis; + nn::fs::Directory dir; + nn::Result result; + std::vector entryList; //カレントディレクトリのエントリ一覧を格納 + std::vector::iterator entryIndex; + const u8 TWL_SAVEDATA_DIRECTORY_LEVEL = 2; // data ディレクトリまでの階層 + const wchar_t* const TWL_SAVEDATA_DIRECTORY_NAME = L"data"; + + result = dir.TryInitialize(currentDirectory.c_str()); + if (result.IsSuccess()) + { + nn::fs::DirectoryEntry entry; + s32 numEntry; + for (;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if (result.IsFailure()) + { + dir.Finalize(); + } + if (numEntry == 0) + { + dir.Finalize(); + + bool retValue = false; + for (entryIndex = entryList.begin(); entryIndex != entryList.end(); entryIndex++) + { + // レベル2未満のディレクトリなら再帰的に開く + if(level < TWL_SAVEDATA_DIRECTORY_LEVEL) + { + if (entryIndex->attributes.isDirectory) + { + if (ListTwlSaveDataDirectory( + currentDirectory + std::wstring(L"/") + std::wstring(entryIndex->entryName), + level + 1, list, programIdList)) + { + NN_LOG("%ls/%ls has data directory.\n", currentDirectory.c_str(), entryIndex->entryName); + retValue = true; + + AddCurrentDirectory(list, currentDirectory, entryIndex->entryName); + } + } + } + // レベル2のディレクトリなら data かどうかチェック + else if(level == TWL_SAVEDATA_DIRECTORY_LEVEL && entryIndex->attributes.isDirectory) + { + if (std::wcscmp(entryIndex->entryName, TWL_SAVEDATA_DIRECTORY_NAME) == 0) + { + // ファイル一覧を取得する + retValue = true; + ListTwlSaveData(currentDirectory + std::wstring(L"/") + std::wstring(entryIndex->entryName), list); + + AddCurrentDirectory(list, currentDirectory, entryIndex->entryName); + AddCurrentProgramIdPath(programIdList, currentDirectory); + } + } + else + { + return false; + } + } + + if(level != 0) + { + return retValue; + } + + break; + } + else + { + // vectorに保存する + entryList.push_back(entry); + } + } + } + else + { + NN_LOG("failed initialize directory\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + dir.Finalize(); + } + + return false; +} + + +void WriteTwlData(enum common::TWL_PATH_INDEX path) +{ + NN_ASSERT(path < common::TWL_PATHNAME_MAX); + + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::TWL_ARCHIVE_NAME_TABLE[path], common::TWL_FS_ARCHIVE_KIND[path]); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + u32 fileNum = 0; + s64 fileSize = 0; + common::CalculateFileNum(::std::wstring(common::NAND_TWL_ROOT_PATHNAME_WITH_SLASH_TABLE[path]), fileNum, fileSize); + + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + NN_LOG("File Number = %d\n", fileNum); + NN_LOG("File Size = %d\n", fileSize); + // 進捗表示用 + common::InitializeTransferProgress(fileSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + nn::fs::FileOutputStream list; + result = list.TryInitialize(common::FILE_LIST_PATHNAME, true); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + result = list.TryGetSize(&fileSize); + if (result.IsSuccess()) + { + // 末尾に移動 + result = list.TrySetPosition(fileSize); + if (result.IsSuccess()) + { + wchar_t archiveName[nn::fs::MAX_FILE_PATH_LENGTH]; + ::std::mbstowcs(archiveName, common::TWL_ARCHIVE_NAME_TABLE[path], + std::strlen(common::TWL_ARCHIVE_NAME_TABLE[path]) + 1); + std::wstring archiveString(archiveName); + common::CopyDirectory( + NULL, + (archiveString + ::std::wstring(L"/")).c_str(), + (common::SDMC_ROOT_DIRECTORY_PATH + ::std::wstring(common::SD_TWL_ROOTNAME_TABLE[path])).c_str(), + buf, bufSize, true, &list, &s_FileListContext); + } + + list.TryFlush(); + list.Finalize(); + } + } + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + nn::fs::Unmount(common::TWL_ARCHIVE_NAME_TABLE[path]); +} + +void CalculateTwlSaveData(std::vector* fileList, s64* fileSize) +{ + NN_NULL_ASSERT(fileList); + NN_NULL_ASSERT(fileSize); + + *fileSize = 0; + nn::Result result; + + for (std::vector::iterator it = fileList->begin(); it != fileList->end(); it++) + { + if(!it->isDirectory) + { + nn::fs::FileInputStream file; + result = file.TryInitialize(it->name.c_str()); + if(result.IsSuccess()) + { + s64 size; + result = file.TryGetSize(&size); + if(result.IsSuccess()) + { + *fileSize += size; + } + } + } + } + +} + +void WriteTwlSaveData() +{ + nn::Result result; + std::vector fileList; + std::vector programIdList; + + COMMON_LOGGER("Export Twl Save Data.\n"); + + // ディレクトリ作成 + s_SdWriter.CreateDirectory((::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + + std::wstring(common::SD_SAVEDATA_TWL_ROOT_NAME)).c_str()); + + // セーブデータを含むディレクトリ一覧を生成 + result = nn::fs::MountSpecialArchive(common::NAND_TWL_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_TWL_NAND); + COMMON_LOGGER_RESULT_IF_FAILED(result); + ListTwlSaveDataDirectory(std::wstring(common::NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH), 0, &fileList, & programIdList); + + NN_LOG("No Twl Savedata\n"); + if(fileList.size() == 0) + { + return; + } + + NN_LOG("listup Twl Savedata Directory\n"); + for (std::vector::reverse_iterator it = fileList.rbegin(); it != fileList.rend(); it++) + { + NN_LOG("%ls\n", it->name.c_str()); + } + + WriteTwlTitleList(programIdList); + + // 合計サイズ取得 + s64 fileSize; + CalculateTwlSaveData(&fileList, &fileSize); + common::InitializeTransferProgress(fileSize); + + NN_LOG("\n"); + // SDに書き出し + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + nn::fs::FileOutputStream list; + result = list.TryInitialize(common::FILE_LIST_PATHNAME, true); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + result = list.TryGetSize(&fileSize); + if (result.IsSuccess()) + { + // 末尾に移動 + result = list.TrySetPosition(fileSize); + if (result.IsSuccess()) + { + wchar_t archiveName[nn::fs::MAX_FILE_PATH_LENGTH]; + ::std::mbstowcs(archiveName, common::NAND_TWL_ARCHIVE_NAME, + std::strlen(common::NAND_TWL_ARCHIVE_NAME) + 1); + std::wstring archiveString(archiveName); + + for (std::vector::reverse_iterator it = fileList.rbegin(); it + != fileList.rend(); it++) + { + // twln:/title/をsdmc:/CTR_Console_Repair/TWLBackup/に置換 + std::wstring toPath(it->name.c_str()); + toPath.replace( + 0, + std::wcslen(common::NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH) + 1, + std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + std::wstring( + common::SD_SAVEDATA_TWL_ROOT_NAME)); + + if(it->isDirectory) + { + common::ExportTwlSaveDirectory(toPath.c_str(), &list, &s_FileListContext); + } + else + { + common::ExportTwlSaveFile(it->name.c_str(), toPath.c_str(), buf, bufSize, &list, + &s_FileListContext); + } + } + } + + list.TryFlush(); + list.Finalize(); + } + } + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + + nn::fs::Unmount( common::NAND_TWL_ARCHIVE_NAME); +} + +void WriteTwlPhotoData() +{ + COMMON_LOGGER("Export Twl Photo Data.\n"); + CreateTwlDirectory(common::TWL_PHOTO); + WriteTwlData(common::TWL_PHOTO); +} + +void WriteTwlSoundData() +{ + COMMON_LOGGER("Export Twl Sound Data.\n"); + CreateTwlDirectory(common::TWL_SOUND); + WriteTwlData(common::TWL_SOUND); +} + +void InitializeFileListContext() +{ + nn::crypto::Initialize(); + s_FileListContext.Initialize(); +} + +void ExportTwlSaveData() +{ + // 不要なデータを削除する + DeleteTrash((std::wstring(common::LOG_ROOT_DIRECTORY_PATH) + std::wstring(L"/")).c_str()); + + s_ExportThread.Start(WriteTwlSaveData, s_ExportThreadStack); +} + +void ExportTwlPhotoData() +{ + s_ExportThread.Start(WriteTwlPhotoData, s_ExportThreadStack); +} + +void ExportTwlSoundData() +{ + s_ExportThread.Start(WriteTwlSoundData, s_ExportThreadStack); +} + + +void WriteMcuRtcData(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Export RTC Data.\n"); + nn::Result result; + nn::Handle handle = manager.GetMcuHandle(); + + if(handle.IsValid()) + { + nn::mcu::CTR::HwCheck mcu(handle); + + nn::mcu::CTR::RtcData rtc; + result = mcu.GetRtcAll(&rtc); + const u8 RETRY = 10; + for (u8 i = 0; i < RETRY; i++) + { + if (result.IsSuccess()) + { + NN_LOG("RTC = 20%02d/%02d/%02d %02d:%02d:%02d\n", rtc.m_Year, rtc.m_Month, rtc.m_Day, rtc.m_Hour, rtc.m_Minute, rtc.m_Second); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + s_SdWriter.WriteBufWithCmac(common::MCU_RTC_PATHNAME, &rtc, sizeof(rtc)); + break; + } + nn::os::Thread::Sleep( + nn::fnd::TimeSpan::FromMilliSeconds( + nn::os::Tick::GetSystemCurrent().ToTimeSpan().GetMilliSeconds() % 100)); + } + } + else + { + NN_LOG("invalid handle\n"); + } +} + +void ExportThreadFunc() +{ + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + nn::fs::FileOutputStream list; + result = list.TryInitialize(common::FILE_LIST_PATHNAME, true); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + s64 fileSize; + result = list.TryGetSize(&fileSize); + if (result.IsSuccess()) + { + // 末尾に移動 + result = list.TrySetPosition(fileSize); + if (result.IsSuccess()) + { + common::CopyDirectory( + NULL, + ::std::wstring(common::NAND_DATA_ROOT_PATHNAME_WITH_SLASH).c_str(), + (std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( + common::SD_SAVEDATA_ROOT_NAME)).c_str(), buf, bufSize, true, &list, + &s_FileListContext); + + AddCmac(&list, &s_FileListContext); + list.TryFlush(); + list.Finalize(); + } + } + } + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + NN_LOG("Export Thread Finalize\n"); +} + +nn::Result WriteSaveData(::std::string& sysSaveRoot) +{ + // NANDからSDカードに書き出し + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + u32 fileNum = 0; + s64 fileSize = 0; + common::CalculateFileNum(::std::wstring(common::NAND_DATA_ROOT_PATHNAME_WITH_SLASH), fileNum, fileSize); + + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + NN_LOG("File Number = %d\n", fileNum); + NN_LOG("File Size = %d\n", fileSize); + // 進捗表示用 + common::InitializeTransferProgress(fileSize); + + ::std::mbstowcs(s_RootName, sysSaveRoot.c_str(), sysSaveRoot.size() + 1); + + NN_LOG("%ls\n", (::std::wstring(common::NAND_DATA_ROOT_PATHNAME_WITH_SLASH) + ::std::wstring(s_RootName) + ::std::wstring(L"/")).c_str()); + + // セーブデータディレクトリ以下のデータをSDカードにコピー + // コピー用ディレクトリ作成 + s_SdWriter.CreateDirectory((::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( + common::SD_SAVEDATA_ROOT_NAME)).c_str()); + + COMMON_LOGGER("Export NAND Data Start...\n"); + + // SDにコピーするためのスレッドの作成 + s_ExportThread.Start(ExportThreadFunc, s_ExportThreadStack); + + return result; +} + +void FinalizeExportThread() +{ + s_ExportThread.Join(); + s_ExportThread.Finalize(); +} + +void WriteVersionData(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Export Version Data.\n"); + + common::VerDef versionData; + manager.GetVersionData(&versionData); + + s_SdWriter.WriteBufWithCmac(common::VERSION_DATA_PATHNAME, &versionData, sizeof(common::VerDef)); +} + +void WritePlayHistory() +{ + common::PlayHistoryManager historyManager; + + COMMON_LOGGER("Export PlayHistory\n"); + historyManager.Export(); +} + +void DeleteNimSaveData() +{ + nn::Result result; + ::std::wstring nimSaveDataPath = + ::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + + ::std::wstring(common::SD_SAVEDATA_ROOT_NAME) + + ::std::wstring(s_RootName) + + ::std::wstring(L"/") + + std::wstring(common::NIM_SAVEDATA_DIRECTORY_NAME); + + common::SdMountManager::Mount(); + + NN_LOG("%ls\n", nimSaveDataPath.c_str()); + result = nn::fs::TryDeleteDirectoryRecursively(nimSaveDataPath.c_str()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + common::SdMountManager::Unmount(); +} + +void AddShutDownPtmEvent() +{ + nn::pl::CTR::NotifyPlayEvent(nn::pl::CTR::EVENTTYPE_TERMINATE, nn::CTR::INVALID_PROGRAM_ID, + nn::fnd::DateTime::GetNow()); +} + +void ExportData(common::HardwareStateManager& manager) +{ + static bool init = true; + + if (init) + { + // リージョンデータをSDに書き込む + WriteRegionData(); + + // 国データと言語データをSDに書き込む + WriteCountryLanguageData(); + + // NORデータをSDカードに書き込む + WriteNorData(); + + // シリアルナンバーをSDカードに書き込む + WriteSerialNumber(manager); + + // デバイスIDをSDカードに書き込む + WriteDeviceId(manager); + + // 完全性検証SEEDをSDカードに書き込む + WriteIvs(manager); + + ::std::string systemSaveRoot; + void* ivs; + size_t size; + manager.GetIvs(&ivs, &size); + // IVSからセーブデータディレクトリ名を計算 + common::Util::GetSaveDataDirectoryRoot(systemSaveRoot, ivs, size); + + // プレイ履歴をSDに書き出す + //WritePlayHistory(); + + // 電源断の履歴をptmに追加する + AddShutDownPtmEvent(); + + // RTCをSDに書き出す + WriteMcuRtcData(manager); + + // バージョン情報をSDに書き出す + WriteVersionData(manager); + + // NANDのセーブデータをSDに書き出す + WriteSaveData(systemSaveRoot); + + init = false; + } +} + +u32 GetProgress() +{ + return common::GetProgress(); +} + +bool IsExportThreadFinished() +{ + return s_ExportThread.IsValid() && !s_ExportThread.IsAlive(); +} + +//!@ brief ファイルにSHA256から計算したAES-CMACを付加します +//!@ param[in] file CMACを付加したいInitialize済みのファイル +//!@ param[in] context CMAC計算元のSHA256コンテキスト +void AddCmac(nn::fs::FileOutputStream* file, nn::crypto::Sha256Context* context) +{ + nn::Result result; + + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + context->GetHash(sha256Hash); + + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + s32 writeSize; + result = file->TryWrite(&writeSize, cmac, sizeof(cmac), false); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.h new file mode 100644 index 0000000..83d39d3 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/Exporter.h @@ -0,0 +1,57 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Exporter.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef EXPORTER_H_ +#define EXPORTER_H_ + +#include +#include "HardwareStateManager.h" + +namespace ConsoleBackup +{ + +// 出力ファイルリストのコンテキストを初期化する。出力ファイルリストを +// 生成する前に必ず呼び出す必要がある +void InitializeFileListContext(); + +// 新たにスレッドを起動して、DSiWareのセーブデータをSDカードに出力する +void ExportTwlSaveData(); + +// 新たにスレッドを起動して、TWL写真領域のデータをSDカードに出力する +void ExportTwlPhotoData(); + +// 新たにスレッドを起動して、TWLサウンド領域のデータをSDカードに出力する +void ExportTwlSoundData(); + +// 本体固有情報をSDカードに出力する +// 新たにスレッドを起動して、CTR領域のセーブデータをSDカードに出力する +void ExportData(common::HardwareStateManager& manager); + +// NIMのセーブデータをSDカードから削除する +void DeleteNimSaveData(); + +// 出力スレッドの進捗を返す +u32 GetProgress(); + +// 出力スレッドが終了したかどうか +bool IsExportThreadFinished(); + +// 出力スレッドを終了する +void FinalizeExportThread(); + + +} + +#endif /* EXPORTER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/OMakefile new file mode 100644 index 0000000..7bd1982 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/OMakefile @@ -0,0 +1,80 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-T*.Process.MPCore.* +CTR_APPTYPE = CARD + +TARGET_PROGRAM = ConsoleBackup + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + ../common + +SOURCES[] = + ConsoleBackup.cpp + Controller.cpp + Exporter.cpp + ../common/Util.cpp + ../common/DrawSystemState.cpp + ../common/FileTransfer.cpp + ../common/FileChecker.cpp + ../common/SdReaderWriter.cpp + ../common/HeapManager.cpp + ../common/SdLogger.cpp + ../common/wave.cpp + ../common/SimplePlayer.cpp + ../common/LogConsole.cpp + ../common/CommonLogger.cpp + ../common/SdMountManager.cpp + ../common/PlayHistoryManager.cpp + ../common/VersionDetect.cpp + ../common/ResFont.cpp + ../common/HardwareStateManager.cpp + +CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf + +ROMFS_ROOT = ../common/romfiles + +SHADER_BIN = nnfont_RectDrawerShader.shbin +SHADER_PATH = $(ROMFS_ROOT)/$(SHADER_BIN) + +ROMFS_DEPENDENCIES = $(SHADER_PATH) + +LIBS += libnn_cfg \ + libnn_crypto \ + libnn_mcu \ + libnn_i2c \ + libnn_ps \ + lib_demo \ + libnn_nwm \ + libnn_friends \ + libnn_nim \ + libnn_am \ + +INSTALL_SDK_TOOL = true + +ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf +DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/RepairTool.desc + +include $(ROOT_OMAKE)/modulerules + +VERSION_H = $(file ../../generated/$(TARGET_PROGRAM)/version.h) + +$(VERSION_H): $(SOURCES) + section + bash genversion.sh + +RequireSetup($(VERSION_H)) +build: $(VERSION_H) $(DEFAULT_TARGETS) diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/model.cbmd b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleBackup/banner/model.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..f1c7b6279e13f5278c419d615d7d03d5660005e5 GIT binary patch literal 198785 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 MDvwobWH ../generated/ConsoleBackup/version.h diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.bsf b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 zcmb7@%}&BV6ov0r6Q4m6H@Z+KhJ|rsM6B@-iN&}UA&7ugsXvL2;Tss=z?CbPK7-HU z)`;f}40Xb^b~0(1PS3sfyQi1I&zzJblt2oys8<2cr*etalpCCea)sR)c7e2|i~WpD z%Rcro7N2+UHiF)~Uy~`R|H-i|w|LvZ70EsBD^ipPeP2RkjQky)vxJ;2?`%a`MK<2; zYzL^;09`kOt2fp#wk|zHu)7fFWNu`{_Q#rGY=0EX_#@P9p&Pog2InT%2DrMq)-it1 z5bM@4GJuy|>5rV>09lO8Ax`gbHW_E@jjjxRjO#yrP0mrF2RAOE<`)kz2d6kOwUp*I z93`+s$UK?1hPc}iwV4q^!TDfENmN43p675qs~7dEzSM{MR`2Q)_czs1k9R9iC+b3# z6`dZs&Cc53ZE5GPQMHZQ&9SRVZt6E>3%bKUwF@%riEnqMis|N;Ye~iGdv;(iqYmL% zgnF^1x3#kaqppIk4p-ag{~U}rnxmrmV?1-}BHb4wwvf|Jvo7{BYB!CoUDx@U+m9xI zZ~1Ac&QC+NAI&!0$)cen)MPOjjbG&*sbyA9+-82Nvlu4Tel%g~#LiszPN!@7sdh7@sr_j7@Sk?igDXGP`DhB-LF)Z@%5t2-lYH^vj#EOln +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "demo.h" + +#include +#include + +#include "DrawSystemState.h" +#include "Controller.h" +#include "SimplePlayer.h" +#include "CommonLogger.h" +#include "SDMountManager.h" +#include "HeapManager.h" +#include "VersionDetect.h" +#include "Util.h" +#include "ResFont.h" +#include "HardwareStateManager.h" + +// svnリビジョン埋め込み用 +#include "../../generated/ConsoleRestore/version.h" +#ifndef RESTORE_VERSION_NUM +#define RESOTRE_VERSION_NUM 0 +#endif + +namespace { + +// グラフィックスに割り当てるメモリ +const size_t s_GxHeapSize = 0x800000; + +common::Util s_HwUtility; + +demo::RenderSystemDrawing s_RenderSystem; + +} // namespace + +namespace ConsoleRestore{ + +void FinalizeAll(common::HardwareStateManager& manager) +{ + common::Logger::GetLoggerInstance()->Finalize(); + // アンマウント + nn::fs::Unmount("nand:"); + nn::fs::Unmount("sdmc:"); + s_RenderSystem.Finalize(); + + manager.Finalize(); + nn::ps::Finalize(); + nn::ptm::CTR::FinalizeForSystemMenu(); + nn::cfg::CTR::system::Finalize(); + nn::cfg::CTR::init::Finalize(); + nn::hid::Finalize(); + nn::fs::Finalize(); + + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); +} + +extern "C" void nnMain(void) +{ + nn::Result result; + + // os の初期化 + nn::os::Initialize(); + + // fs の初期化 + nn::fs::Initialize(); + + // appletの初期化 + nn::applet::Enable( false ); + + // hid の初期化 + result = nn::hid::Initialize(); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + + // ndmの初期化 + result = nn::ndm::Initialize(); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + + // デーモンの自律動作を停止 + result = nn::ndm::Suspend(nn::ndm::DN_CEC); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + result = nn::ndm::Suspend(nn::ndm::DN_BOSS); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + result = nn::ndm::Suspend(nn::ndm::DN_FRIENDS); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + result = nn::ndm::Suspend(nn::ndm::DN_NIM); + NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result); + + // cfg の初期化 + nn::cfg::CTR::init::Initialize(); + nn::cfg::CTR::system::Initialize(); + + // 時計設定用ptm初期化 + nn::ptm::CTR::InitializeForSystemMenu(); + + // ps の初期化 + nn::ps::Initialize(); + + // amの初期化 + nn::am::InitializeForSystemMenu(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ResFontの初期化 + common::InitializeResFont(); + + // サウンドスレッドの起動 + common::InitializeSimplePlayer(); + + // ログ描画の初期化 + common::Logger::GetLoggerInstance()->Initialize(common::CONSOLE_WIDTH, common::CONSOLE_HEIGHT, + common::CONSOLE_MAX_LINE, &s_RenderSystem); + + // RenderSystemを作ってからログが出せる + common::Logger::InitializeEjectThread(); + common::Logger::SetEjectHandler(OnSdEjected); + common::Logger::SetInsertHandler(OnSdInserted); + COMMON_LOGGER("\n"); + COMMON_LOGGER("CTR Console Restore start\n"); + + // ボタン入力 + nn::hid::PadReader s_PadReader; + nn::hid::PadStatus padStatus; + + // データの準備 + s_HwUtility.Initialize(); + common::HardwareStateManager manager(s_HwUtility); + + // 情報出力 + COMMON_LOGGER("CTR Console Restore %s Rev.%s\n", __DATE__, RESTORE_VERSION_NUM); + COMMON_LOGGER("System Ver. %d.%d.%d-%d\n", s_HwUtility.GetCupMajorVersion(), + s_HwUtility.GetCupMinorVersion(), + s_HwUtility.GetCupMicroVersion(), + s_HwUtility.GetNupVersion()); + COMMON_LOGGER("System Region %s\n", s_HwUtility.GetRegionCodeA3()); + COMMON_LOGGER("Serial Number %s\n", s_HwUtility.GetSerialNumber()); + COMMON_LOGGER("Device ID %llu\n", s_HwUtility.GetInfraDeviceId()); + COMMON_LOGGER("MAC Address %s\n", s_HwUtility.GetMacAddress()); + COMMON_LOGGER("Friend Code %04u-%04u-%04u\n", + static_cast(s_HwUtility.GetFriendcode() / 100000000ULL % 10000ULL), + static_cast(s_HwUtility.GetFriendcode() / 10000ULL % 10000ULL), + static_cast(s_HwUtility.GetFriendcode() % 10000ULL) ); + + + bool flip = false; + InitializeState(); + + for(;;) + { + bool nextStep = false; + + s_PadReader.ReadLatest(&padStatus); + + // AまたはSTARTボタンで進行 + if(padStatus.trigger & nn::hid::BUTTON_A || + padStatus.trigger & nn::hid::BUTTON_START) + { + nextStep = true; + } + + // LまたはRボタンで上下画面フリップ + if(padStatus.trigger & nn::hid::BUTTON_R || + padStatus.trigger & nn::hid::BUTTON_L) + { + flip = !flip; + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_UP) + { + common::Logger::GetLoggerInstance()->ScrollUp(); + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_DOWN) + { + common::Logger::GetLoggerInstance()->ScrollDown(); + } + + if(padStatus.hold & nn::hid::BUTTON_LEFT) + { + common::Logger::GetLoggerInstance()->ScrollToBegin(); + } + + if(padStatus.hold & nn::hid::BUTTON_RIGHT) + { + common::Logger::GetLoggerInstance()->ScrollToEnd(); + } + + // 情報更新 + // ACアダプタ + std::string adapterState; + if(manager.IsAdapterConnected()) + { + adapterState += ::std::string("Connected"); + } + else + { + adapterState += ::std::string("Not Connected"); + } + + // 操作用メッセージ + // 進捗確認メッセージを兼ねる? + ::std::vector operationMessage; + + ControlState(manager, operationMessage, nextStep); + + nn::util::FloatColor titleColor; + + if(GetRestoreMode() == RESTORE_MODE_RESTORE) + { + titleColor.r = 0.1f; + titleColor.g = 0.25f; + titleColor.b = 0.1f; + } + else if(GetRestoreMode() == RESTORE_MODE_NUP_ONLY) + { + titleColor.r = 0.35f; + titleColor.g = 0.35f; + titleColor.b = 0.f; + } + else if(GetRestoreMode() == RESTORE_MODE_GET_IVS) + { + titleColor.r = 1.0f; + titleColor.g = 0.2f; + titleColor.b = 0.2f; + } + else if(GetRestoreMode() == RESTORE_MODE_CHECK_SD) + { + titleColor.r = 0.2f; + titleColor.g = 0.2f; + titleColor.b = 1.2f; + } + + // 上画面表示 + common::DrawSystemState("CTR Console Restore", + s_RenderSystem, + titleColor, + flip, + adapterState, + RESTORE_VERSION_NUM, + s_HwUtility.GetCupMajorVersion(), + s_HwUtility.GetCupMinorVersion(), + s_HwUtility.GetCupMicroVersion(), + s_HwUtility.GetNupVersion(), + s_HwUtility.GetBatteryRemain(), + s_HwUtility.GetInfraDeviceId(), + s_HwUtility.GetFriendcode(), + GetProgress(), + IsRestoreFailed(), + IsRestoreSucceeded(), + s_HwUtility.GetMacAddress(), + operationMessage, + s_HwUtility.GetRegion(), + s_HwUtility.GetSerialNumber() + ); + + if (GetRestoreMode() != RESTORE_MODE_RESTORE) + { + const u8 spaceSize = 10; + const u8 lineBottom = 23; + const u32 screenWidth = 400; + + s_RenderSystem.SetColor(1.f, 1.f, 1.f); + + if (GetRestoreMode() == RESTORE_MODE_NUP_ONLY) + { + s_RenderSystem.DrawText(0, lineBottom * spaceSize, "NUP-Only Mode"); + } + else if (GetRestoreMode() == RESTORE_MODE_GET_IVS) + { + s_RenderSystem.DrawText(0, lineBottom * spaceSize, "GET-SDCI Mode"); + } + else if (GetRestoreMode() == RESTORE_MODE_CHECK_SD) + { + s_RenderSystem.DrawText(0, lineBottom * spaceSize, "CHECK-SD Mode"); + } + + s_RenderSystem.SetColor(titleColor.r, titleColor.g, titleColor.b); + s_RenderSystem.FillRectangle(0, lineBottom * spaceSize, screenWidth, spaceSize); + s_RenderSystem.SetColor(1.f, 1.f, 1.f); + } + + s_RenderSystem.SwapBuffers(); + + // デフォルトで下画面に描画するもの + s_RenderSystem.SetRenderTarget(common::GetRenderTarget(NN_GX_DISPLAY1, flip)); + if(IsRestoreSucceeded()) + { + s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR); + } + else if(IsRestoreFailed()) + { + s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR); + } + else + { + s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), NORMAL_COLOR); + } + s_RenderSystem.Clear(); + s_RenderSystem.SetColor(1.f, 1.f, 1.f); + + common::Logger::GetLoggerInstance()->DrawConsole(); + s_RenderSystem.SwapBuffers(); + + + s_RenderSystem.WaitVsync(NN_GX_DISPLAY_BOTH); + + // 電源長押しで終了 + if ( nn::applet::IsExpectedToCloseApplication()) + { + FinalizeAll(manager); + } + } +} + + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.rsf b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.rsf new file mode 100644 index 0000000..981df7c --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/ConsoleRestore.rsf @@ -0,0 +1,54 @@ +BasicInfo: + Title : ConsoleRestore + ProductCode: CTR-P-22UA + BackupMemoryType: None + +TitleInfo: + Use: Evaluation + Category: Application + UniqueId: 0xf8022 + Version: 0 + +SystemControlInfo: + AppType : Application + StackSize : 0x4000 + Dependency : + - gpio + - pdn + - spi + - i2c + - mcu + - ptm + - codec + - cfg + - hid + - gsp + - friends + - nim + - ac + - ndm + +AccessControlInfo: + Priority : 16 + DisableDebug : true + + FileSystemAccess: + - DirectSdmc + - Debug + - Core + - CategoryFileSystemTool + + IoAccessControl: + - FsMountCardSpi + - FsMountNand + - FsMountTwln + +Option: + FreeProductCode: true + +CardInfo: + CardDevice: None + +Rom: + # ROM に含めるファイルシステムのルートパスを指定します。 + HostRoot: "$(ROMFS_ROOT)" \ No newline at end of file diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp new file mode 100644 index 0000000..4ef85f9 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp @@ -0,0 +1,1652 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Controller.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Controller.h" +#include "FileChecker.h" +#include "SimplePlayer.h" +#include "CommonLogger.h" +#include "Importer.h" +#include "Updater.h" +#include "NtpClient.h" +#include "TitleDownloader.h" +#include "Shop.h" +#include "Util.h" + +namespace ConsoleRestore +{ + +namespace +{ + +// ネットワーク設定ファイルを読んだかどうか +bool s_ReadSettingDone = false; +// インターネット設定を読んだ結果 +bool s_ReadSettingIsSuccess = false; +// NUP専用モードかどうか +bool s_NupOnlyMode = false; +// IVS取得専用モードかどうか +bool s_GetIvsOnlyMode = false; +// SDカード確認専用モード +bool s_CheckSdOnlyMode = false; +// NUPスキップモードかどうか +bool s_SkipNupMode = false; + +// APSettingの書式が無い警告サウンドを鳴らしたかどうか +bool s_ExistAPSettingAnnotation = false; +// APSettingの書式が違っている警告サウンドを鳴らしたかどうか +bool s_APSettingAnnotation = false; +// シリアルナンバーがない警告サウンドを鳴らしたかどうか +bool s_SerialNumberAnnotation = false; +// 失敗サウンドを鳴らしたかどうか +bool s_PlayedFailSound = false; +// 操作開始サウンドを鳴らしたかどうか +bool s_PlayedStartCursor = false; +// リブート開始前サウンドを鳴らしたかどうか +bool s_PlayedRebootCursor = false; +// SD抜き出し前サウンドを鳴らしたかどうか +bool s_PlayedSdPullOutCursor = false; +// SDに書き込みできない警告サウンドを鳴らしたかどうか +bool s_SdWriteProetctAnnotation = false; +// WiFiがOFFである警告サウンドを鳴らしたかどうか +bool s_WifiStatusOffAnnotation = false; + +// ネットワークアップデートを開始したかどうか +bool s_ExecuteFgNup = false; +// FGNUPを何回リトライしたか +u32 s_FgNupRetryCount = 0; +// 時計同期モードかどうか +bool s_IsSyncClock = false; +// TWLタイトルのダウンロードを開始したかどうか +bool s_ExecuteTitleDownload = false; +// TWLタイトルのダウンロードを何回リトライしたか +u32 s_TitleDownloadRetryCount = 0; + +// ショップ処理を開始したかどうか +bool s_ShopOperationExecuted[SHOP_OPERATION_NUM_MAX]; +// ショップ処理を何回リトライしたか +u32 s_ShopOperationRetryCount[SHOP_OPERATION_NUM_MAX]; + +void PutAliveMessage(::std::vector& operationMessage, const char* str); +bool CheckAndReadAPSetting(::std::vector& operationMessage); + +bool NeedsAcAdater(common::HardwareStateManager& manager) +{ + return manager.IsBatteryLower() && !manager.IsAdapterConnected(); +} + +bool HasValidRtcData() +{ + return !s_CheckSdOnlyMode && !s_NupOnlyMode && !s_GetIvsOnlyMode; +} + +typedef enum RestoreState +{ + STARTUP, // 初期値 + INITIALIZE_CONSOLE, // セーブデータ領域のNAND初期化を行う + SERIAL_IS_NOT_IN_SD, // シリアルナンバーファイルがSDカードにないことを表示 + SERIAL_IN_SD, // シリアルナンバーの情報を表示 + WAIT_START_UPDATE, // アップデート開始入力待ち + WAIT_START_IMPORT, // 書き込み開始入力待ち + WAIT_START_SYNC_CLOCK, // 時計合わせ開始入力待ち + IMPORT_RTC, // RTC同期 + UPDATE_IN_PROGRESS, // アップデート中 + UPDATE_DONE, // アップデート完了 + NUP_ONLY_WAIT_SD_EJECT, // NUP_ONLYモードでSDカード抜き待ち + NUP_ONLY_WAIT_NEXT, // NUP_ONLYモードでキー入力待ち + WAIT_START_TRANSFER_ACCOUNT, // アカウント転送開始入力まち + TRANSFER_ACCOUNT, // アカウント転送を完了させる + TRANSFER_ACCOUNT_DONE, // アカウント転送完了 + DOWNLOAD_IVS, // インフラからIVSを取得する + DOWNLOAD_IVS_DONE, // インフラからIVSを取得完了 + DOWNLOAD_IVS_WAIT_NEXT, // IVS取得モードでキー入力待ち + CHECK_IVS, // IVSとSDカードのセーブデータディレクトリの一致を確認 + CHECK_SD_DIRECTORY, // SDカードのIVS依存ディレクトリを探す + CHECK_SD_DIRECTORY_SUCCESS, // SDカードのIVS依存ディレクトリチェック完了 + CHECK_SD_DIRECTORY_FAIL, // SDカードのIVS依存ディレクトリが見つからなかった + WAIT_START_DELETE_ACCOUNT, // ショップアカウント削除開始入力待ち, + DELETE_ACCOUNT, // ショップアカウントを削除する + DELETE_ACCOUNT_DONE, // ショップアカウント削除完了 + SYNC_TICKET, // eTicketを同期する + READ_FILELIST, // ファイル一覧の読み込み + RESTORE_TWL_NAND, // TWL NANDの書き込み中 + RESTORE_TWL_SOUND, // TWLサウンドの書き込み中 + RESTORE_TWL_PHOTO, // TWL写真の書き込み中 + RESTORE_IN_PROGRESS, // 書き込み中 + POST_RESTORE, // 書き込み後の処理 + RESTORE_DONE, // 書き込み完了 + REBOOTING, // 再起動を行う + ERASE, // 削除処理を行う + RESTORE_CAL, // cfgの一部をcal値で上書きする + TIME_ADJUST, // 時計あわせを行う + DOWNLOAD_TWL, // TWLアプリ本体をダウンロードする + WAIT_SD_EJECT, // SDカードぬき待ち + ALL_DONE, // すべて完了 + SHUTDOWN, // シャットダウン + INITIALIZE_AND_SHUTDOWN, // 本体初期化後にシャットダウン中 + FAIL // 失敗 +} RestoreState; + + + +// Restore状態管理 +RestoreState s_RestoreState = STARTUP; +// Restoreモード管理 +RestoreMode s_RestoreMode = RESTORE_MODE_RESTORE; + +void CheckSdInserted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckAcAdapter(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckSdWritable(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckApSetting(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckNupExecuted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckDownloadIvs(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckAccountDeleted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckAccountTransfered(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckWriteFinished(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckReadIvs(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckConsoleInitialized(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckExistsSerialNumber(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckIvsinSd(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); +void CheckRegioinSd(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep); + +// SDカード挿入チェック +void CheckSdInserted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + if (nn::fs::IsSdmcInserted()) + { + CheckAcAdapter(manager, message, goNextStep); + } + else + { + message.push_back(::std::string("Insert SD Card!!")); + s_RestoreState = STARTUP; + } +} + +// ACアダプタが必要かどうかチェック +void CheckAcAdapter(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // ACアダプタが必要か? + if (NeedsAcAdater(manager)) + { + message.push_back(::std::string("Connect AC Adapter!!")); + s_RestoreState = STARTUP; + } + else + { + CheckSdWritable(manager, message, goNextStep); + } +} + +// SDカード書き込みチェック +void CheckSdWritable(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // SDカードに書き込みできるか? + if (nn::fs::IsSdmcWritable()) + { + CheckApSetting(manager, message, goNextStep); + } + else + { + if (!s_SdWriteProetctAnnotation) + { + s_SdWriteProetctAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + message.push_back(::std::string("Can't Write SD Card!!\n")); + s_RestoreState = STARTUP; + } +} + + +// 設定ファイル書式チェック +void CheckApSetting(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(manager); + NN_UNUSED_VAR(goNextStep); + + if (CheckAndReadAPSetting(message)) + { + s_RestoreState = IMPORT_RTC; + } + else + { + s_RestoreState = STARTUP; + } +} + +// NUP済みかどうかチェック +void CheckNupExecuted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + if (common::ExistsUpdateCheckedFile()) + { + if (s_NupOnlyMode) + { + s_RestoreState = WAIT_START_DELETE_ACCOUNT; + } + else + { + CheckAccountDeleted(manager, message, goNextStep); + } + } + else + { + // NUPを実行 + if (CheckAndReadAPSetting(message)) + { + if (nn::nwm::CTR::IsWifiOn()) + { + // ネットワークアップデートを行う + s_RestoreState = WAIT_START_UPDATE; + } + else + { + if (!s_WifiStatusOffAnnotation) + { + s_WifiStatusOffAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + + message.push_back(::std::string("Wireless is Off\n")); + s_RestoreState = STARTUP; + } + } + } +} + +// インフラからIVS取得済みかチェック +void CheckDownloadIvs(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(message); + NN_UNUSED_VAR(goNextStep); + + // IVS取得確認ファイルがあるか? + if (common::ExistsDownloadIvsCheckedFile()) + { + if(s_GetIvsOnlyMode) + { + s_RestoreState = DOWNLOAD_IVS_WAIT_NEXT; + } + else + { + CheckWriteFinished(manager, message, goNextStep); + } + } + else + { + COMMON_LOGGER("Download SDCI\n"); + s_RestoreState = DOWNLOAD_IVS; + } + +} + +// アカウント削除済みかチェック +void CheckAccountDeleted(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // アカウント削除確認ファイルがあるか? + if (common::ExistsDeleteAccountChecked()) + { + CheckAccountTransfered(manager, message, goNextStep); + } + else + { + // 同一本体下記書き戻しの場合はアカウント削除しない + if(EqualsDeviceIdFileandDeviceId(manager).IsSuccess()) + { + // IVS専用モードならばIVSを取得させる + if(s_GetIvsOnlyMode) + { + CheckDownloadIvs(manager, message, goNextStep); + } + else + { + CheckAccountTransfered(manager, message, goNextStep); + } + } + else + { + s_RestoreState = WAIT_START_DELETE_ACCOUNT; + } + } +} + +// アカウント移行済みかチェック +void CheckAccountTransfered(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // アカウント移行確認ファイルがあるか? + if (common::ExistsTransferAccountChecked()) + { + CheckDownloadIvs(manager, message, goNextStep); + } + else + { + s_RestoreState = WAIT_START_TRANSFER_ACCOUNT; + } +} + +// 書き込み完了かどうかチェック +void CheckWriteFinished(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(goNextStep); + + // SDカードに書き込み完了ファイルがあるか? + if (common::ExistsWriteFinishedFile()) + { + if (CheckAndReadAPSetting(message)) + { + if (nn::nwm::CTR::IsWifiOn()) + { + // 削除処理を行う + s_RestoreState = WAIT_START_SYNC_CLOCK; + } + else + { + if (!s_WifiStatusOffAnnotation) + { + s_WifiStatusOffAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + message.push_back(::std::string("Wireless is Off\n")); + } + } + } + else + { + CheckReadIvs(manager, message, goNextStep); + } +} + +// IVSを読めるかどうかチェック +void CheckReadIvs(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // IVSを読めるか? + if (manager.CanReadIvs()) + { + CheckConsoleInitialized(manager, message, goNextStep); + } + else + { + s_RestoreState = FAIL; + COMMON_LOGGER("Can't Read SDCI!!"); + } +} + +// 本体初期化済みかどうかチェック +void CheckConsoleInitialized(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + // 本体初期化完了ファイルがあるか? + if (common::ExistsConsoleInitializedFile()) + { + CheckRegioinSd(manager, message, goNextStep); + } + else + { + CheckIvsinSd(manager, message, goNextStep); + } +} + +// シリアルナンバーがあるかどうかチェック +void CheckExistsSerialNumber(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(manager); + NN_UNUSED_VAR(message); + NN_UNUSED_VAR(goNextStep); + + + // SDカードにシリアルナンバーがあるか? + if (common::ExistsSerialNumberFile()) + { + u8 serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + nn::Result result = ReadSerialNumber(serial); + if (result.IsSuccess()) + { + s_RestoreState = WAIT_START_IMPORT; + } + else + { + s_RestoreState = FAIL; + } + } + else + { + COMMON_LOGGER("Can't Read Serial Number in SD Card!!\n"); + s_RestoreState = SERIAL_IS_NOT_IN_SD; + } +} + +// SDカードにIVSがあるかどうかチェック +void CheckIvsinSd(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(manager); + NN_UNUSED_VAR(message); + NN_UNUSED_VAR(goNextStep); + + if (common::ExistsIVSFile()) + { + s_RestoreState = INITIALIZE_CONSOLE; + } + else + { + // 移行不能なのでFAIL + COMMON_LOGGER("Can't Read SDCI in SD Card!!\n"); + s_RestoreState = FAIL; + } +} + +// SDカードにリージョンデータがあるかどうかチェック +void CheckRegioinSd(common::HardwareStateManager& manager, ::std::vector& message, bool& goNextStep) +{ + NN_UNUSED_VAR(message); + NN_UNUSED_VAR(goNextStep); + + // SDカードにリージョンデータがあるか? + if (common::ExistsRegionData()) + { + // リージョンデータは一致しているか? + if (EqualsRegionDataandRegion().IsFailure()) + { + COMMON_LOGGER("Current Region and Region in SD differ!!\n"); + s_RestoreState = FAIL; + } + else + { + CheckExistsSerialNumber(manager, message, goNextStep); + } + + } + else + { + // 移行不能なのでFAIL + COMMON_LOGGER("Can't Read Region in SD Card!!\n"); + s_RestoreState = FAIL; + } +} + +void ShopOperationSuccess(ShopOperation op, const char* logMessage, RestoreState nextState) +{ + COMMON_LOGGER("%s", logMessage); + if (op == SHOP_OPERATION_UNREGISTER || op == SHOP_OPERATION_FORCE_UNREGISTER) + { + CreateDeleteAccountFinishedFile(); + } + else if (op == SHOP_OPERATION_GET_IVS) + { + CreateDownloadIvsFinishedFile(); + } + + s_RestoreState = nextState; + +} + +void ShopOperationSingleTemplate( + common::HardwareStateManager& manager, + std::vector& message, + ShopOperation op, + const char* aliveMessage, + const char* logMessage, + const char* retryLogMessage, + RestoreState nextState + ) +{ + // ACアダプタが必要か? + if (NeedsAcAdater(manager)) + { + message.push_back(::std::string("Connect AC Adapter!!")); + } + + // アップデートを行う + if (!s_ShopOperationExecuted[op]) + { + if (ImportCountryLanguageData().IsSuccess()) + { + StartShopOperationSingle(op); + s_ShopOperationExecuted[op] = true; + } + else + { + s_RestoreState = FAIL; + } + } + + // 動いていることを表示 + { + PutAliveMessage(message, aliveMessage); + } + + if (IsShopOperationSingleFinished()) + { + FinalizeShopOperationSingle(); + // エラーがあったら表示する + if (GetShopOperationSingleResult().IsSuccess()) + { + ShopOperationSuccess(op, logMessage, nextState); + } + // IVSがアップロードされていない場合もあるため + // IVSを取得できない状況も成功として扱う + // IVSサイズが違う場合も成功として扱う + else if(op == SHOP_OPERATION_GET_IVS && ( GetShopOperationSingleResult() == nn::nim::ResultCannotGetIvs() || + GetShopOperationSingleResult() == nn::nim::ResultInvalidData() + )) + { + ShopOperationSuccess(op, logMessage, nextState); + } + else if(op == SHOP_OPERATION_CONNECT && nextState == TRANSFER_ACCOUNT_DONE && + GetShopOperationSingleResult() == nn::nim::ResultNeedGetIvs()) + + { + NN_LOG("ResultNeedGetIvs\n"); + ShopOperationSuccess(op, logMessage, nextState); + } + else + { + if (GetShopOperationSingleResult().IsFailure()) + { + if (GetShopOperationSingleResult() == nn::ac::ResultFailedConnectAp()) + { + COMMON_LOGGER("Failed Connect AccesPoint."); + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromSeconds(5)); + } + + + // APが見つからない + if (GetUpdateResult() == nn::ac::ResultNotFoundAccessPoint()) + { + COMMON_LOGGER("No Access Point Found!"); + } + } + + if (s_ShopOperationRetryCount[op]++ < RETRY_MAX) + { + // エラーのためやり直す + COMMON_LOGGER_RESULT_IF_FAILED(GetShopOperationSingleResult()); + COMMON_LOGGER("%s %d\n", retryLogMessage, s_ShopOperationRetryCount[op]); + + // スレッドを作るとこからやり直し + s_ShopOperationExecuted[op] = false; + } + else + { + s_RestoreState = FAIL; + } + } + + } +} + +void UpdateOperation(common::HardwareStateManager& manager, ::std::vector& message, RestoreState nextState) +{ + // ACアダプタが必要か? + if (NeedsAcAdater(manager)) + { + message.push_back(::std::string("Connect AC Adapter!!")); + } + + // アップデートを行う + if (!s_ExecuteFgNup) + { + if (ImportCountryLanguageData().IsSuccess()) + { + StartFGNetworkUpdate(); + s_ExecuteFgNup = true; + } + else + { + s_RestoreState = FAIL; + } + } + + // 動いていることを表示 + { + PutAliveMessage(message, "Updating"); + } + + if (IsNetworkUpdateFinished()) + { + FinishFGNetworkUpdate(); + // エラーがあったら表示する + if (GetUpdateResult().IsFailure()) + { + // APが見つからない + if (GetUpdateResult() == nn::ac::ResultNotFoundAccessPoint()) + { + COMMON_LOGGER("No Access Point Found!"); + } + } + + if (GetUpdateResult().IsSuccess()) + { + COMMON_LOGGER("Network Update Finished.\n"); + if(nextState == UPDATE_DONE) + { + // アップデート完了ファイルを作成 + CreateUpdateFinishedFile(); + } + + s_RestoreState = nextState; + } + else + { + if (s_FgNupRetryCount++ < RETRY_MAX) + { + // エラーのためやり直す + COMMON_LOGGER_RESULT_IF_FAILED(GetUpdateResult()); + COMMON_LOGGER("Network Update Failed. Retrying... %d\n", s_FgNupRetryCount); + + // FGNUP用のスレッドを作るとこからやり直し + s_ExecuteFgNup = false; + } + else + { + s_RestoreState = FAIL; + } + } + + } +} + +bool CheckAndReadAPSetting(::std::vector& operationMessage) +{ + using namespace common; + + if (!ExistsAPSetting()) + { + if(!s_ExistAPSettingAnnotation) + { + s_ExistAPSettingAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + operationMessage.push_back(::std::string("Accsess_Point_Setting does not exist!")); + return false; + } + + // 設定ファイルからAP設定を読み込む + if (!s_ReadSettingDone) + { + s_ReadSettingDone = true; + s_ReadSettingIsSuccess = ReadSetting(&s_NupOnlyMode, &s_GetIvsOnlyMode, &s_CheckSdOnlyMode, &s_SkipNupMode); + } + + if (s_NupOnlyMode && s_GetIvsOnlyMode + || s_GetIvsOnlyMode && s_CheckSdOnlyMode + || s_CheckSdOnlyMode && s_NupOnlyMode) + { + operationMessage.push_back("Only one special mode setting is valid!!"); + s_ReadSettingIsSuccess = false; + } + else if(s_NupOnlyMode && s_SkipNupMode) + { + operationMessage.push_back("Both NUP_ONLY and SKIP_NUP are described!!"); + s_ReadSettingIsSuccess = false; + } + else + { + if (s_NupOnlyMode) + { + s_RestoreMode = RESTORE_MODE_NUP_ONLY; + } + + if (s_GetIvsOnlyMode) + { + s_RestoreMode = RESTORE_MODE_GET_IVS; + } + + if(s_CheckSdOnlyMode) + { + s_RestoreMode = RESTORE_MODE_CHECK_SD; + } + } + + if (!s_ReadSettingIsSuccess) + { + operationMessage.push_back(::std::string("Invalid Accsess_Point_Setting format!")); + if(!s_APSettingAnnotation) + { + s_APSettingAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + } + + return s_ReadSettingIsSuccess; +} + +void PutAliveMessage(::std::vector& operationMessage, const char* str) +{ + std::string message = std::string(str); + static u8 i = 0; + if (i < 0xff / 4) + { + operationMessage.push_back(message + std::string(" /")); + } + else if (i < 0xff * 2 / 4) + { + operationMessage.push_back(message + std::string(" |")); + } + else if (i < 0xff * 3 / 4) + { + operationMessage.push_back(message + std::string(" \\")); + } + else + { + operationMessage.push_back(message + std::string(" -")); + } + i += 4; +} + +nn::Result ExecSyncMcuRtc(common::HardwareStateManager& manager) +{ + nn::Result result = nn::ResultSuccess(); + if(!common::ExistsRtcSyncFinishedFile()) + { + result = ImportMcuRtc(manager); + if(result.IsSuccess()) + { + // RTCを同期完了ファイルを作る + CreateRtcSyncFinishedFile(); + } + } + + return result; +} + +} // namespace + +void ControlState(common::HardwareStateManager& manager, ::std::vector& operationMessage, bool& nextStep) +{ + using namespace common; + nn::Result result; + + // 状態遷移Controller + switch (s_RestoreState) + { + // 起動時 + case STARTUP: + { + CheckSdInserted(manager, operationMessage, nextStep); + } + break; + + + case INITIALIZE_CONSOLE: + { + COMMON_LOGGER("Initialize Console\n"); + + // 本体初期化完了ファイルを作る + CreateConsoleInitializedFile(); + + // ファイルシステムの初期化を行う + InitializeFileSystem(); + s_RestoreState = REBOOTING; + } + break; + + case WAIT_START_UPDATE: + { + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("Network Update Mode")); + if (!s_PlayedStartCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedStartCursor = true; + } + + if (nextStep) + { + COMMON_LOGGER("Start Network Update\n"); + s_RestoreState = UPDATE_IN_PROGRESS; + } + } + break; + + case WAIT_START_IMPORT: + { + u8 serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + result = ReadSerialNumber(serial); + if (result.IsSuccess()) + { + ::std::string serialStr(reinterpret_cast (serial)); + operationMessage.push_back(::std::string("Serial Number in SD : ") + serialStr); + } + else + { + s_RestoreState = FAIL; + } + + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("Import Data Mode")); + if (!s_PlayedStartCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedStartCursor = true; + } + + if (nextStep) + { + s_RestoreState = READ_FILELIST; + } + } + break; + + case WAIT_START_SYNC_CLOCK: + { + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("DownLoad Twl Title and Clock Sync Mode")); + if (!s_PlayedStartCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedStartCursor = true; + } + + if (nextStep) + { + COMMON_LOGGER("Erase Trash\n"); + s_RestoreState = ERASE; + } + } + break; + + case IMPORT_RTC: + { + result = nn::ResultSuccess(); + if (HasValidRtcData()) + { + result = ExecSyncMcuRtc(manager); + if (result <= nn::fs::ResultVerificationFailed()) + { + s_RestoreState = FAIL; + } + else + { + if (s_SkipNupMode) + { + CheckAccountTransfered(manager, operationMessage, nextStep); + } + else + { + CheckNupExecuted(manager, operationMessage, nextStep); + } + } + } + else + { + if (s_CheckSdOnlyMode) + { + s_RestoreState = CHECK_IVS; + } + else + { + CheckNupExecuted(manager, operationMessage, nextStep); + } + } + } + break; + + // シリアルナンバーがSDカードにないこと警告 + case SERIAL_IS_NOT_IN_SD: + { + operationMessage.push_back(::std::string("Serial Number Is Not In SD Card")); + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("Import Data Mode")); + + if (!s_SerialNumberAnnotation) + { + s_SerialNumberAnnotation = true; + PlaySound(SOUND_ANNOTATION); + } + + if (nextStep) + { + s_RestoreState = READ_FILELIST; + } + } + break; + + // アップデート中 + case UPDATE_IN_PROGRESS: + { + UpdateOperation(manager, operationMessage, UPDATE_DONE); + } + break; + + // アップデート完了 + case UPDATE_DONE: + { + operationMessage.push_back(::std::string("Network Update Done.")); + operationMessage.push_back(::std::string("Press A or START Button to Reboot")); + + if (!s_PlayedRebootCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedRebootCursor = true; + } + + if (nextStep) + { + s_RestoreState = REBOOTING; + } + } + break; + + case DOWNLOAD_IVS: + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_GET_IVS, "Get SDCI", + "Get SDCI Finished.\n", "Get SDCI Failed. Retrying...", DOWNLOAD_IVS_DONE); + } + break; + + + case DOWNLOAD_IVS_DONE: + { + operationMessage.push_back(::std::string("Get SDCI Done.")); + operationMessage.push_back(::std::string("Press A or START Button to Reboot")); + + if (!s_PlayedRebootCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedRebootCursor = true; + } + + if (nextStep) + { + s_RestoreState = REBOOTING; + } + } + break; + + case CHECK_IVS: + { + operationMessage.push_back(::std::string("Insert User's SD Card")); + } + break; + + case CHECK_SD_DIRECTORY: + { + if (nn::fs::IsSdmcInserted()) + { + NN_LOG("Check User's SD Card\n"); + // ユーザのSDカードにはAP設定ファイルは無いはず + if (ExistsAPSetting()) + { + NN_LOG("AP Setting Exists. Retry\n"); + s_RestoreState = CHECK_IVS; + } + else + { + NN_LOG("Read User's SD Card\n"); + void* ivs; + size_t size; + manager.GetIvs(&ivs, &size); + std::string sysSaveRoot; + + common::Util::GetSaveDataDirectoryRoot(sysSaveRoot, ivs, size); + if (ExistsIvsDirectory(sysSaveRoot)) + { + s_RestoreState = CHECK_SD_DIRECTORY_SUCCESS; + } + else + { + s_RestoreState = CHECK_SD_DIRECTORY_FAIL; + } + } + } + } + break; + + case CHECK_SD_DIRECTORY_SUCCESS: + { + operationMessage.push_back(::std::string("Check User's SD Card Succeeded.")); + operationMessage.push_back(::std::string("Pull Out SD Card")); + } + break; + + case CHECK_SD_DIRECTORY_FAIL: + { + operationMessage.push_back(::std::string("Check User's SD Card Failed.")); + operationMessage.push_back(::std::string("Pull Out SD Card")); + } + break; + + case WAIT_START_TRANSFER_ACCOUNT: + { + if(s_SkipNupMode) + { + operationMessage.push_back(::std::string("After Operating BMS Account Transfer,")); + } + + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("Transfer Account Mode")); + if (!s_PlayedStartCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedStartCursor = true; + } + + if (nextStep) + { + COMMON_LOGGER("Transfer Account\n"); + s_RestoreState = TRANSFER_ACCOUNT; + } + } + break; + + case TRANSFER_ACCOUNT: + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_CONNECT, "Transfer Account", + "Transfer Account Finished.\n", "Transfer Account Failed. Retrying...", TRANSFER_ACCOUNT_DONE); + } + break; + + case TRANSFER_ACCOUNT_DONE: + { + CreateTransferAccountFinishedFile(); + s_RestoreState = STARTUP; + } + break; + + case WAIT_START_DELETE_ACCOUNT: + { + operationMessage.push_back(::std::string("Push A or START Button")); + operationMessage.push_back(::std::string("Delete Account Mode")); + if (!s_PlayedStartCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedStartCursor = true; + } + + if (nextStep) + { + COMMON_LOGGER("Delete Account\n"); + s_RestoreState = DELETE_ACCOUNT; + } + } + break; + + case DELETE_ACCOUNT: + { + if(s_NupOnlyMode) + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_FORCE_UNREGISTER, "Deleting Account", + "Delete Account Finished.\n", "Delete Account Failed. Retrying...", DELETE_ACCOUNT_DONE); + + } + else + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_UNREGISTER, "Deleting Account", + "Delete Account Finished.\n", "Delete Account Failed. Retrying...", DELETE_ACCOUNT_DONE); + } + } + break; + + case DELETE_ACCOUNT_DONE: + { + if(s_NupOnlyMode) + { + s_RestoreState = NUP_ONLY_WAIT_SD_EJECT; + + // リストア状態チェックファイルをすべて削除 + DeleteAllCheckFiles(); + } + else + { + operationMessage.push_back(::std::string("Delete Account Done.")); + operationMessage.push_back(::std::string("Operate BMS.")); + operationMessage.push_back(::std::string("")); + operationMessage.push_back(::std::string("Press A or START Button to Continue")); + + if (!s_PlayedRebootCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedRebootCursor = true; + } + + if (nextStep) + { + s_RestoreState = STARTUP; + } + } + } + break; + + case READ_FILELIST: + { + result = SetupFileList(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + if (result.IsSuccess()) + { + if (s_IsSyncClock) + { + s_RestoreState = RESTORE_TWL_NAND; + } + else + { + s_RestoreState = RESTORE_TWL_SOUND; + } + + } + else + { + s_RestoreState = FAIL; + } + } + break; + + // TWLサウンド領域の書き込み中 + case RESTORE_TWL_SOUND: + { + static bool init = true; + if (init) + { + // データを書き込む + ImportTwlSoundData(); + init = false; + } + + PutAliveMessage(operationMessage, "Importing TWL Sound Data"); + + // 処理が完了した + if (IsImportThreadFinished()) + { + FinalizeImportThread(); + s_RestoreState = RESTORE_TWL_PHOTO; + } + } + break; + + // TWL写真領域の書き込み + case RESTORE_TWL_PHOTO: + { + static bool init = true; + if (init) + { + // データを書き込む + ImportTwlPhotoData(); + init = false; + } + + PutAliveMessage(operationMessage, "Importing TWL Photo Data"); + + // 処理が完了した + if (IsImportThreadFinished()) + { + FinalizeImportThread(); + s_RestoreState = RESTORE_IN_PROGRESS; + } + } + break; + + // 書き込み中 + case RESTORE_IN_PROGRESS: + { + // ACアダプタが必要か? + if (NeedsAcAdater(manager)) + { + operationMessage.push_back(::std::string("Connect AC Adapter!!")); + } + + // データを読み込む + if (ImportData().IsFailure()) + { + s_RestoreState = FAIL; + } + + PutAliveMessage(operationMessage, "Importing Nand Data"); + + // 処理が完了した + if (!NeedsAcAdater(manager) && IsImportThreadFinished()) + { + COMMON_LOGGER("Import NAND Data Finished.\n"); + + if (GetProgress() > 99) + { + s_RestoreState = POST_RESTORE; + } + else + { + s_RestoreState = FAIL; + } + + } + } + break; + + // リブート中 + case REBOOTING: + { + static bool init = true; + + if (init) + { + // ErrDispから引用 + result = nn::ns::CTR::InitializeForShell(); + if (result.IsSuccess()) + { + COMMON_LOGGER("System Reboot.\n"); + + nn::ns::CTR::HardwareResetAsync(nn::CTR::MEMORY_ARRANGE_NORMAL); + while (!nn::applet::IsExpectedToCloseApplication()) + { + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(5)); + } + + nn::ns::CTR::FinalizeForShell(); + + // INFO: リブートは非同期のため処理は継続 + } + init = false; + } + } + break; + + // 書き込み後の処理 + case POST_RESTORE: + { + operationMessage.push_back(::std::string("Post Process...")); + // 書き込み完了ファイルを作成 + CreateWriteFinishedFile(); + + s_RestoreState = RESTORE_DONE; + } + break; + + // 書き込み完了 + case RESTORE_DONE: + { + operationMessage.push_back(::std::string("Restore Done.")); + operationMessage.push_back(::std::string("Press A or START Button to Reboot")); + + if (!s_PlayedRebootCursor) + { + PlaySound(SOUND_CURSOR); + s_PlayedRebootCursor = true; + } + + if (nextStep) + { + s_RestoreState = REBOOTING; + } + } + break; + + // 削除処理 + case ERASE: + { + Cleanup(); + s_RestoreState = RESTORE_CAL; + } + break; + + // 削除処理 + case RESTORE_CAL: + { + // ptmのセーブデータ移行後に時計を無効化する + nn::ptm::CTR::InvalidateSystemTime(); + + // cfgの本体固有値をcal値で初期化する + result = InitializeHardwareDependentSetting(); + if (result.IsFailure()) + { + s_RestoreState = FAIL; + } + + COMMON_LOGGER("Sync eTicket\n"); + s_RestoreState = SYNC_TICKET; + } + break; + + case SYNC_TICKET: + { + if(s_GetIvsOnlyMode) + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_CONNECT, "Shop Connect", + "Shop Connect Finished.\n", "Shop Connect Failed. Retrying...", WAIT_SD_EJECT); + } + else + { + ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_CONNECT, "Shop Connect", + "Shop Connect Finished.\n", "Shop Connect Failed. Retrying...", DOWNLOAD_TWL); + } + } + break; + + case DOWNLOAD_TWL: + { + // ファイルリストがなければ次へ + if( !ExistsTwlTitleListFile()) + { + s_IsSyncClock = true; + s_RestoreState = READ_FILELIST; + } + else + { + if (!s_ExecuteTitleDownload) + { + COMMON_LOGGER("Download Twl Title\n"); + s_ExecuteTitleDownload = true; + StartTitleDownload(); + } + + // 動いていることを表示 + { + PutAliveMessage(operationMessage, "Download Twl Title"); + } + + if (IsDownloadTitleFinished()) + { + FinalizeTitleDownload(); + if (DownloadTitleSucceeded()) + { + s_IsSyncClock = true; + s_RestoreState = READ_FILELIST; + } + else + { + if (s_TitleDownloadRetryCount++ < RETRY_MAX) + { + // エラーのためやり直す + COMMON_LOGGER_RESULT_IF_FAILED(GetShopOperationSingleResult()); + COMMON_LOGGER("Download Twl Title Failed. Retrying... %d\n", s_TitleDownloadRetryCount); + + s_ExecuteTitleDownload = false; + } + else + { + s_RestoreState = FAIL; + } + } + } + } + } + break; + + // TWL NAND領域の書き込み中 + case RESTORE_TWL_NAND: + { + static bool init = true; + if (init) + { + // データを書き込む + ImportTwlSaveData(); + init = false; + } + + PutAliveMessage(operationMessage, "Importing TWL SaveData"); + + // 処理が完了した + if (IsImportThreadFinished()) + { + FinalizeImportThread(); + s_RestoreState = TIME_ADJUST; + } + } + break; + + // 時計あわせ + case TIME_ADJUST: + { + static bool init = true; + if (init) + { + COMMON_LOGGER("Adjust Time\n"); + AdjustTime(); + init = false; + } + + // 動いていることを表示 + { + PutAliveMessage(operationMessage, "Sync Clock"); + } + + if (IsTimeAdjustFinished()) + { + if (IsTimeAdjustSuccessed()) + { + s_RestoreState = WAIT_SD_EJECT; + } + else + { + s_RestoreState = FAIL; + } + + // リストア状態チェックファイルをすべて削除 + DeleteAllCheckFiles(); + } + } + break; + + // すべて完了 + case WAIT_SD_EJECT: + { + operationMessage.push_back(::std::string("ALL Done. Pull Out SD Card.")); + // SDカード抜けのみで次の状態に遷移する + + if (!s_PlayedSdPullOutCursor) + { + common::PlaySound(common::SOUND_CURSOR); + s_PlayedSdPullOutCursor = true; + } + + } + break; + + // すべて完了 + case ALL_DONE: + { + operationMessage.push_back(::std::string("Restore Succeeded!!")); + static bool init = true; + if (init) + { + PlaySound(SOUND_OK); + init = false; + } + } + break; + + // 書き込み失敗 + case FAIL: + { + static bool init = true; + if (init) + { + // 状態初期化 + DeleteAllCheckFiles(); + init = false; + } + + operationMessage.push_back(::std::string("Failed.")); + if (!s_PlayedFailSound) + { + PlaySound(SOUND_NG); + s_PlayedFailSound = true; + } + } + break; + + case NUP_ONLY_WAIT_SD_EJECT: + { + operationMessage.push_back(::std::string("Update Done. Pull Out SD Card.")); + + // SDカード抜けのみで次の状態に遷移する + if (!s_PlayedSdPullOutCursor) + { + common::PlaySound(common::SOUND_CURSOR); + s_PlayedSdPullOutCursor = true; + } + } + break; + + case DOWNLOAD_IVS_WAIT_NEXT: + { + operationMessage.push_back(::std::string("Press A or START Button to Continue.")); + if(nextStep) + { + s_RestoreState = SYNC_TICKET; + DeleteAllCheckFiles(); + } + } + break; + + case NUP_ONLY_WAIT_NEXT: + { + operationMessage.push_back(::std::string("Press A or START Button to Shutdown.")); + + if (nextStep) + { + s_RestoreState = INITIALIZE_AND_SHUTDOWN; + } + } + break; + + case SHUTDOWN: + { + nn::ptm::CTR::ShutdownAsync(0, nn::fnd::TimeSpan::FromSeconds(0)); + } + break; + + case INITIALIZE_AND_SHUTDOWN: + { + // 本体初期化を行う + InitializeFileSystem(); + + // シャットダウンする + nn::ptm::CTR::ShutdownAsync(0, nn::fnd::TimeSpan::FromSeconds(0)); + } + break; + + } +} + +bool InProgress() +{ + return s_RestoreState == RESTORE_IN_PROGRESS; +} + +bool IsRestoreSucceeded() +{ + return s_RestoreState == ALL_DONE; +} + +bool IsRestoreFailed() +{ + return s_RestoreState == FAIL; +} + +void OnSdEjected() +{ + if (s_RestoreState == WAIT_SD_EJECT || s_RestoreState == ALL_DONE || s_RestoreState == CHECK_SD_DIRECTORY_SUCCESS) + { + s_RestoreState = ALL_DONE; + } + else if (s_RestoreState == NUP_ONLY_WAIT_SD_EJECT || s_RestoreState == NUP_ONLY_WAIT_NEXT) + { + s_RestoreState = NUP_ONLY_WAIT_NEXT; + } + // ユーザのSDが抜かれてからFAILにする + else if (s_RestoreState == CHECK_SD_DIRECTORY_FAIL) + { + s_RestoreState = FAIL; + } + // FAILのときは一旦電源を切らないと動かないようにしておく + // IVSチェック時はユーザのSDカードを挿入してもらうため + else if (s_RestoreState != FAIL && s_RestoreState != CHECK_IVS) + { + InitializeState(); + ClearFileReadResult(); + } +} + +void OnSdInserted() +{ + if(s_RestoreState == CHECK_IVS) + { + // SDカードが変わるのでファイルチェックは初期化する + common::InitializeFileCheck(); + s_RestoreState = CHECK_SD_DIRECTORY; + } +} + +void InitializeState() +{ + s_RestoreState = STARTUP; + s_RestoreMode = RESTORE_MODE_RESTORE; + + for(u32 i = 0; i < SHOP_OPERATION_NUM_MAX; i++) + { + s_ShopOperationExecuted[i] = false; + s_ShopOperationRetryCount[i] = 0; + } + + common::InitializeFileCheck(); + + s_ExistAPSettingAnnotation = false; + s_ReadSettingDone = false; + s_ReadSettingIsSuccess = false; + s_APSettingAnnotation = false; + s_SerialNumberAnnotation = false; + s_PlayedFailSound = false; + s_ExecuteFgNup = false; + s_FgNupRetryCount = 0; + s_PlayedStartCursor = false; + s_PlayedRebootCursor = false; + s_PlayedSdPullOutCursor = false; + s_NupOnlyMode = false; + s_GetIvsOnlyMode = false; + s_SdWriteProetctAnnotation = false; + s_WifiStatusOffAnnotation = false; + s_CheckSdOnlyMode = false; + s_SkipNupMode = false; +} + +u32 GetProgress() +{ + if(s_RestoreState == RESTORE_TWL_SOUND || + s_RestoreState == RESTORE_TWL_PHOTO || + s_RestoreState == RESTORE_TWL_NAND || + s_RestoreState == RESTORE_IN_PROGRESS || + s_RestoreState == POST_RESTORE || + s_RestoreState == RESTORE_DONE) + { + return GetImportProgress(); + } + else if(s_RestoreState == UPDATE_IN_PROGRESS || + s_RestoreState == UPDATE_DONE) + { + return GetUpdateProgress(); + } + else if(s_RestoreState == DOWNLOAD_TWL) + { + return GetTitleDownloadProgress(); + } + else + { + return 0; + } + +} + +RestoreMode GetRestoreMode() +{ + return s_RestoreMode; +} + +} // namespace ConsoleRestore diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.h new file mode 100644 index 0000000..bc8400b --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Controller.h @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Contoroller.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef CONTOROLLER_H_ +#define CONTOROLLER_H_ + +#include +#include +#include +#include "HardwareStateManager.h" + +namespace ConsoleRestore +{ + +typedef enum RestoreMode +{ + RESTORE_MODE_RESTORE, + RESTORE_MODE_NUP_ONLY, + RESTORE_MODE_GET_IVS, + RESTORE_MODE_CHECK_SD + +} RestoreMode; + +// ネットワーク処理のリトライ回数の最大値 +const u32 RETRY_MAX = 3; + +// 状態遷移を管理する +// manager ハードウェア情報を取得するためのラッパ +// operationMessage 操作情報として表示したい文字列 +// nextStep 次の状態に遷移してもよいかどうか +// continueBackup 処理を続けてもよいかどうか +void ControlState(common::HardwareStateManager& manager, ::std::vector& operationMessage, bool& nextStep); + +// リストア処理中かどうか +bool InProgress(); + +// リストアが完了したかどうか +bool IsRestoreSucceeded(); + +// リストアが失敗したかどうか +bool IsRestoreFailed(); + +// 書き込みスレッドの進捗を返す +u32 GetProgress(); + + +// SDカードが抜き出されたときに実行したい関数 +void OnSdEjected(); + +// SDカードが挿入されたときに実行したい関数 +void OnSdInserted(); + +// 状態を初期化する +void InitializeState(); + +// リストア状態を取得する +RestoreMode GetRestoreMode(); + +} + +#endif /* CONTOROLLER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp new file mode 100644 index 0000000..7b114d3 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp @@ -0,0 +1,1862 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Importer.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include // cfg:norの初期化に必要 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "FileName.h" +#include "Importer.h" +#include "SdMountManager.h" +#include "HeapManager.h" +#include "SdReaderWriter.h" +#include "CommonLogger.h" +#include "FileTransfer.h" +#include "common_Types.h" +#include "Aes_define.h" +#include "configLoader.h" +#include "PlayHistoryManager.h" +#include "FileChecker.h" +#include "VersionDetect.h" + +#include +#include + +namespace ConsoleRestore +{ +namespace +{ +const size_t IMPORT_THREAD_STACK_SIZE = 0x4000; +nn::os::Thread s_ImportThread; +nn::os::StackBuffer s_ImportThreadStack; + +const size_t TIME_ZONE_LENGTH = 9; // "+23:45" +char s_TimeZoneStr[TIME_ZONE_LENGTH]; + +TimeZone s_TimeZone; +const size_t NTP_SERVER_NAME_LENGTH = 256; +char s_NtpServerName[NTP_SERVER_NAME_LENGTH]; + +bool s_CheckedEqualsDeviceIdFileandDeviceId = false; +bool s_CheckedEqualsRegionDataandRegion = false; +bool s_ReadSerialNumber = false; + +struct SdFileSize +{ + s64 totalFileSize; + s64 twlFileSize; + s64 twlSoundFileSize; + s64 twlPhotoFileSize; + s64 ctrFileSize; +}; + +SdFileSize s_SdFileSize; + +// シリアルナンバー +u8 s_SerialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + +// 空のファイルを作成する +bool CreateEmptyFile(const wchar_t* path); +// SDからNANDにセーブデータをコピーする +void ImportSaveData(); +// SDからNORにNORデータをコピーする +nn::Result ImportNorData(); + +// SDカードに保存してあるバージョン情報 +common::VerDef s_SDVersionData; + +// SDカードから読み込んだファイル一覧 +common::ImportDataList s_FileLists; + +} + +// SDからファイル一覧を読み込む +nn::Result ReadFileList(SdFileSize* sdFileSize, common::ImportDataList* fileList); + +CheckedNetworkSetting s_CurrentNetowrkSetting1; + +void ConvertTimeZoneString(const char* str) +{ + s_TimeZone.hour = 0; + s_TimeZone.minutes = 0; + s_TimeZone.isMinus = false; + + bool hour = true; + bool ten = true; + u32 count = 0; + for(u32 i = 0; i < TIME_ZONE_LENGTH && count < 2; i++) + { + switch (str[i]) + { + case ':': + { + hour = false; + } + break; + + case '"': + { + // 2回読んだら終了 + count++; + } + break; + + case '+': + { + s_TimeZone.isMinus = false; + } + break; + + case '-': + { + s_TimeZone.isMinus = true; + } + break; + + default: + { + if(hour) + { + if(ten) + { + s_TimeZone.hour += (str[i] - '0') * 10; + ten = false; + } + else + { + s_TimeZone.hour += str[i] - '0'; + ten = true; + } + } + else + { + if(ten) + { + s_TimeZone.minutes += (str[i] - '0') * 10; + ten = false; + } + else + { + s_TimeZone.minutes += str[i] - '0'; + ten = true; + } + } + } + break; + } + } + + + NN_LOG("Converted TimeZone = "); + if(s_TimeZone.isMinus) + { + NN_LOG("-"); + } + NN_LOG("%02d:%02d\n", s_TimeZone.hour, s_TimeZone.minutes); + +} + +namespace +{ + +bool CreateEmptyFile(const wchar_t* path) +{ + nn::Result result; + bool create = false; + result = common::SdMountManager::Mount(); + + if (result.IsSuccess()) + { + nn::fs::FileOutputStream fos; + + result = fos.TryInitialize(path, true); + if(result.IsSuccess()) + { + fos.TryFlush(); + create = true; + } + fos.Finalize(); + } + + common::SdMountManager::Unmount(); + + return create; +} + +} + +nn::Result ReadSerialNumber(u8* serial) +{ + static nn::Result result = nn::ResultSuccess(); + + if(s_ReadSerialNumber) + { + std::memcpy(serial, s_SerialNo, sizeof(s_SerialNo)); + return result; + } + + COMMON_LOGGER("Read Serial Number in SD.\n"); + + size_t readSize; + common::SdReaderWriter sdReader; + size_t bufSize = 1024; + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if(buf != NULL) + { + result = sdReader.ReadBufWithCmac(common::SERIAL_PATHNAME, buf, bufSize, &readSize); + if(result.IsSuccess()) + { + std::memcpy(s_SerialNo, buf, sizeof(s_SerialNo)); + std::memcpy(serial, s_SerialNo, sizeof(s_SerialNo)); + s_ReadSerialNumber = true; + } + common::HeapManager::GetHeap()->Free(buf); + } + else + { + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + return result; +} + +nn::Result EqualsDeviceIdFileandDeviceId(common::HardwareStateManager& manager) +{ + static nn::Result result = nn::ResultSuccess(); + + if(s_CheckedEqualsDeviceIdFileandDeviceId) + { + return result; + } + + COMMON_LOGGER("Check Device Id\n"); + + bit32 sdDeviceId; + common::SdReaderWriter sdReader; + size_t totalSize; + size_t bufSize = 1024; + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + result = sdReader.ReadBufWithCmac(common::DEVICE_ID_PATHNAME, buf, bufSize, &totalSize); + if (result.IsSuccess()) + { + s_CheckedEqualsDeviceIdFileandDeviceId = true; + std::memcpy(&sdDeviceId, buf, sizeof(sdDeviceId)); + + if (manager.GetDeviceId() == sdDeviceId) + { + result = nn::ResultSuccess(); + } + else + { + result = nn::Result(nn::Result::LEVEL_STATUS, nn::Result::SUMMARY_INVALID_RESULT_VALUE, + nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_INVALID_RESULT_VALUE); + } + } + common::HeapManager::GetHeap()->Free(buf); + } + else + { + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return result; +} + +nn::Result EqualsRegionDataandRegion() +{ + static nn::Result result = nn::ResultSuccess(); + + if(s_CheckedEqualsRegionDataandRegion) + { + return result; + } + + COMMON_LOGGER("Check Region\n"); + + nn::cfg::CTR::CfgRegionCode region; + region = nn::cfg::CTR::GetRegion(); + + nn::cfg::CTR::CfgRegionCode sdRegion; + common::SdReaderWriter sdReader; + size_t readSize; + size_t bufSize = 1024; + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + result = sdReader.ReadBufWithCmac(common::REGION_DATA_PATHNAME, buf, bufSize, &readSize); + if (result.IsSuccess()) + { + std::memcpy(&sdRegion, buf, sizeof(sdRegion)); + s_CheckedEqualsRegionDataandRegion = true; + if(region == sdRegion) + { + result = nn::ResultSuccess(); + } + else + { + result = nn::Result(nn::Result::LEVEL_STATUS, nn::Result::SUMMARY_INVALID_RESULT_VALUE, + nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_INVALID_RESULT_VALUE); + } + } + common::HeapManager::GetHeap()->Free(buf); + } + else + { + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return result; +} + +void SetCountry(nn::cfg::CTR::CfgCountryCode countryCode) +{ + using namespace nn::cfg::CTR; + using namespace nn::cfg::CTR::detail; + + SimpleAddressIdCfgData simpleAddressId; + TwlCountryCodeCfgData countryData; + + nn::cfg::CTR::system::Initialize(); + + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::system::GetConfig(&simpleAddressId, sizeof(SimpleAddressIdCfgData), GET_CFG_KEY(NN_CFG_SIMPLE_ADDRESS, NN_CFG_SIMPLE_ADDRESS_ID))); + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::system::GetConfig(&countryData, sizeof(TwlCountryCodeCfgData), GET_CFG_KEY(NN_CFG_TWL, NN_CFG_TWL_COUNTRY_CODE))); + nn::cfg::CTR::system::Finalize(); + + simpleAddressId.id = (countryCode << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT) | (1 + << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT); + countryData.country = countryCode; + + nn::cfg::CTR::system::Initialize(); + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::system::SetConfig(GET_CFG_KEY(NN_CFG_SIMPLE_ADDRESS, NN_CFG_SIMPLE_ADDRESS_ID), &simpleAddressId, sizeof(SimpleAddressIdCfgData))); + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::system::SetConfig(GET_CFG_KEY(NN_CFG_TWL, NN_CFG_TWL_COUNTRY_CODE), &countryData, sizeof(TwlCountryCodeCfgData))); + nn::cfg::CTR::system::FlushConfig(); + nn::cfg::CTR::system::Finalize(); +} + +void SetLanguage(nn::cfg::CTR::CfgLanguageCode languageCode) +{ + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::init::SetConfig( + GET_CFG_KEY(nn::cfg::CTR::detail::NN_CFG_USER_INFO, + nn::cfg::CTR::detail::NN_CFG_USER_INFO_LANGUAGE), + &languageCode, + sizeof(nn::cfg::CTR::detail::LanguageCfgData))); + NN_UTIL_PANIC_IF_FAILED(nn::cfg::CTR::init::FlushConfig()); + nn::cfg::nor::CTR::Initialize(); + NN_UTIL_PANIC_IF_FAILED(nn::cfg::nor::CTR::SetLanguage(static_cast(languageCode))); + nn::cfg::nor::CTR::Finalize(); +} + +nn::Result ImportCountryLanguageData() +{ + nn::Result result = nn::ResultSuccess(); + + if (common::ExistsCountryLanguageFile()) + { + size_t bufSize = 1024; + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::COUNTRY_SETTING_PATHNAME, buf, bufSize, &readSize); + if (result.IsSuccess()) + { + // SDから読み出し成功 + SetCountry(reinterpret_cast (buf)->country); + + SetLanguage(reinterpret_cast (buf)->language); + } + common::HeapManager::GetHeap()->Free(buf); + + NN_UTIL_RETURN_IF_FAILED(result); + } + } + else + { + // リージョンから適当な国を指定する + nn::cfg::CTR::CfgRegionCode region; + region = nn::cfg::CTR::GetRegion(); + NN_LOG("Country Setting does not exist. Use Default Setting\n"); + switch(region) + { + case nn::cfg::CTR::CFG_REGION_JAPAN: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_JAPAN); + } + break; + + case nn::cfg::CTR::CFG_REGION_AMERICA: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_UNITED_STATES); + } + break; + + case nn::cfg::CTR::CFG_REGION_EUROPE: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_FRANCE); + } + break; + + case nn::cfg::CTR::CFG_REGION_AUSTRALIA: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_AUSTRALIA); + } + break; + + case nn::cfg::CTR::CFG_REGION_CHINA: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_CHINA); + } + break; + + case nn::cfg::CTR::CFG_REGION_KOREA: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_SOUTH_KOREA); + } + break; + + case nn::cfg::CTR::CFG_REGION_TAIWAN: + { + SetCountry(nn::cfg::CTR::CFG_COUNTRY_TAIWAN); + } + break; + } + + } + + return result; +} + +inline u8 DecimalToBcd(u8 param) +{ + u8 theTen, theOne; + theTen = param / 10; + theOne = param - theTen * 10; + return (theTen << 4 | theOne); +} + +nn::Result ImportMcuRtc(common::HardwareStateManager& manager) +{ + COMMON_LOGGER("Import RTC Data.\n"); + nn::Result result = nn::ResultSuccess(); + nn::Handle handle = manager.GetMcuHandle(); + + if(handle.IsValid()) + { + if (common::CheckFileExists(common::MCU_RTC_PATHNAME)) + { + size_t bufSize = 1024; + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::MCU_RTC_PATHNAME, buf, bufSize, &readSize); + if (result.IsSuccess()) + { + // mcuを使ってセットする + nn::mcu::CTR::HwCheck mcu(handle); + nn::mcu::CTR::RtcData* rtc = reinterpret_cast (buf); + NN_LOG("RTC = 20%02d/%02d/%02d %02d:%02d:%02d\n", rtc->m_Year, rtc->m_Month, rtc->m_Day, rtc->m_Hour, rtc->m_Minute, rtc->m_Second); + + // BCD変換が必要 + + size_t RTC_PARAM_SIZE = sizeof(nn::mcu::CTR::RtcData); + u8 bcd[RTC_PARAM_SIZE]; + for (int i = 0; i < RTC_PARAM_SIZE; i++) + { + bcd[i] = DecimalToBcd(reinterpret_cast (rtc)[i]); + } + + const u8 RETRY = 10; + for (u8 i = 0; i < RETRY; i++) + { + result = mcu.WriteBySend(nn::drivers::mcu::CTR::MCU_RTC_SEC_ADDR, bcd, RTC_PARAM_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + if(result.IsSuccess()) + { + break; + } + nn::os::Thread::Sleep( + nn::fnd::TimeSpan::FromMilliSeconds( + nn::os::Tick::GetSystemCurrent().ToTimeSpan().GetMilliSeconds() % 100)); + + } + } + + common::HeapManager::GetHeap()->Free(buf); + NN_UTIL_RETURN_IF_FAILED(result); + } + else + { + COMMON_LOGGER("Failed Allocate Heap!!\n"); + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + } + } + else + { + result = nn::Result(nn::Result::LEVEL_PERMANENT, nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_INVALID_HANDLE); + } + + return result; +} + +void InitializeFileSystem() +{ + nn::Result result; + + for (u32 i = 0; i < common::TWL_PATHNAME_MAX; i++) + { + result = nn::fs::MountSpecialArchive(common::TWL_ARCHIVE_NAME_TABLE[i], common::TWL_FS_ARCHIVE_KIND[i]); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + nn::fs::Directory dir; + std::vector entryList; //カレントディレクトリのエントリ一覧を格納 + std::vector::iterator entryIndex; + + std::wstring currentDirectory = common::NAND_TWL_ROOT_PATHNAME_WITH_SLASH_TABLE[i]; + result = dir.TryInitialize(currentDirectory.c_str()); + + nn::fs::DirectoryEntry entry; + s32 numEntry; + for (;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if (result.IsFailure()) + { + dir.Finalize(); + } + if (numEntry == 0) + { + // ルートディレクトリを閉じる + dir.Finalize(); + + // ルートディレクトリの子を開く + for (entryIndex = entryList.begin(); entryIndex != entryList.end(); entryIndex++) + { + // ディレクトリなら削除する + if (entryIndex->attributes.isDirectory) + { + NN_LOG("Try Delete %ls%ls/\n", currentDirectory.c_str(), entryIndex->entryName); + result = nn::fs::TryDeleteDirectoryRecursively((currentDirectory + ::std::wstring( + entryIndex->entryName)).c_str()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + } + // ファイルなら削除する + else + { + NN_LOG("Try Delete %ls%ls\n", currentDirectory.c_str(), entryIndex->entryName); + result = nn::fs::TryDeleteFile( + (currentDirectory + ::std::wstring(entryIndex->entryName)).c_str()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + } + + // 削除完了 + break; + } + else + { + // vectorに保存する + entryList.push_back(entry); + if (entry.attributes.isDirectory) + { + NN_LOG("%ls%ls/\n", currentDirectory.c_str(), entry.entryName); + } + else + { + NN_LOG("%ls%ls\n", currentDirectory.c_str(), entry.entryName); + } + } + } + } + nn::fs::Unmount(common::TWL_ARCHIVE_NAME_TABLE[i]); + } + + nn::fs::InitializeCtrFileSystem(); +} + +nn::Result ImportIvs() +{ + nn::Result result = nn::ResultSuccess(); + nn::fs::FileOutputStream fos; + + size_t bufSize = 1024; + void* enc = common::HeapManager::GetHeap()->Allocate(bufSize); + if (enc != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::IVS_PATHNAME, enc, bufSize, &readSize); + if(result.IsSuccess()) + { + // SDから読み出し成功 + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + if (result.IsSuccess()) + { + void *dec = common::HeapManager::GetHeap()->Allocate(readSize); + if (dec != NULL) + { + // AES復号化する + nn::crypto::Initialize(); + nn::crypto::SwAesCtrContext swAesCtrContest; + + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); + swAesCtrContest.Decrypt(dec, enc, readSize); + + // IVS書き込み + result = fos.TryInitialize(common::IVS_NAND_PATHNAME, true); + if (result.IsSuccess()) + { + if (result.IsSuccess()) + { + s32 writeSize; + result = fos.TryWrite(&writeSize, dec, readSize, true); + if (result.IsSuccess()) + { + COMMON_LOGGER("Import SDCI.\n"); + } + } + } + common::HeapManager::GetHeap()->Free(dec); + } + else + { + COMMON_LOGGER("Failed Allocate Heap!!\n"); + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + } + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + } + common::HeapManager::GetHeap()->Free(enc); + NN_UTIL_RETURN_IF_FAILED(result); + } + else + { + COMMON_LOGGER("Failed Allocate Heap!!\n"); + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return result; +} + +void ImportThreadFunc() +{ + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = common::SdMountManager::Mount(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + + common::CopyDirectory( + &s_FileLists, + (::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring(common::SD_SAVEDATA_ROOT_NAME)).c_str(), + common::NAND_DATA_ROOT_PATHNAME_WITH_SLASH, + buf, bufSize, false, NULL, NULL); + + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + NN_LOG("Import Thread Finalize\n"); +} + +namespace +{ + +void ImportSaveData() +{ + // SDカードからNANDに読み込み + nn::Result result; + + // ファイルサイズ設定 + common::InitializeTransferProgress(s_SdFileSize.ctrFileSize); + + // SDカードにあるセーブデータディレクトリ以下のデータをNANDにコピー + COMMON_LOGGER("Import NAND Data Start...\n"); + s_ImportThread.Start(ImportThreadFunc, s_ImportThreadStack); + +} + +nn::Result ImportNorData() +{ + COMMON_LOGGER("Import NOR Data.\n"); + + nn::Result result = nn::ResultSuccess(); + + nn::cfg::nor::CTR::Initialize(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize() / 2; + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::NOR_PATHNAME, buf, bufSize, &readSize); + if(result.IsSuccess()) + { + // cfgを使ってセットする + result = nn::cfg::nor::CTR::SetNtrSetting(&reinterpret_cast(buf)->ntrConfig.ncd, + &reinterpret_cast(buf)->ntrConfig.ncd_ex); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // WiFiコネクションIDが仮の値であればWiFi設定は移行しない + // TWL修理に準拠している + u64 attestedUserId1 = 0; + u64 attestedUserId2 = 0; + const u32 WIFI_CONNECTION_USERID_OFFSET1 = 0xf0; + const u32 WIFI_CONNECTION_USERID_OFFSET2 = 0x1f0; + const u32 USERID_SIZE = 6; + const bit64 USERID_MASK = 0x7FFFFFFFFFF; // 43bit + + + void* NtrWifiSettingAddr = &reinterpret_cast(buf)->NtrWiFiSetting; + std::memcpy(&attestedUserId1, + &reinterpret_cast(NtrWifiSettingAddr)[WIFI_CONNECTION_USERID_OFFSET1], + USERID_SIZE); + attestedUserId1 &= USERID_MASK; + + std::memcpy(&attestedUserId2, + &reinterpret_cast(NtrWifiSettingAddr)[WIFI_CONNECTION_USERID_OFFSET2], + USERID_SIZE); + attestedUserId2 &= USERID_MASK; + + if (attestedUserId1 == attestedUserId2 && attestedUserId1 != 0) + { + // TWL WiFi設定 + result = nn::cfg::nor::CTR::WriteTwlWifiSetting(0, + reinterpret_cast (buf)->TwlWiFiSetting, common::TWL_WIFI_SETTING_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // NTR WiFi設定 + result = nn::cfg::nor::CTR::WriteNtrWifiSetting(0, + reinterpret_cast (buf)->NtrWiFiSetting, common::NTR_WIFI_SETTING_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + } + + common::HeapManager::GetHeap()->Free(buf); + + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + } + else + { + COMMON_LOGGER("Failed Allocate Heap!!\n"); + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return result; +} + + +} + +nn::Result ReadVersionData() +{ + nn::Result result = nn::ResultSuccess(); + std::memset(&s_SDVersionData, 0, sizeof(common::VerDef)); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize() / 2; + NN_LOG("AllocatableSize = %d\n", bufSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::VERSION_DATA_PATHNAME, buf, bufSize, &readSize); + if(result.IsSuccess()) + { + // バージョン情報を保持する + std::memcpy(&s_SDVersionData, buf, readSize); + NN_LOG("SD Version = %02d.%02d.%02d-%02d\n", s_SDVersionData.cup.majorVersion, + s_SDVersionData.cup.minorVersion, + s_SDVersionData.cup.microVersion, + s_SDVersionData.nup.majorVersion); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + } + + common::HeapManager::GetHeap()->Free(buf); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + } + else + { + COMMON_LOGGER("Failed Allocate Heap!!\n"); + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return result; +} + +bool ExistsIvsDirectory(std::string& ivsRoot) +{ + nn::Result result; + nn::fs::Directory dir; + + common::SdMountManager::Mount(); + + result = dir.TryInitialize(common::SD_NINTENDO_3DS_ROOT_PATH); + if(result.IsFailure()) + { + NN_DBG_PRINT_RESULT(result); + common::SdMountManager::Unmount(); + return false; + } + + wchar_t ivs[34]; + std::mbstowcs(ivs, ivsRoot.c_str(), ivsRoot.size() + 1); + + nn::fs::DirectoryEntry entry; + s32 numEntry; + for (;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if (result.IsFailure()) + { + dir.Finalize(); + common::SdMountManager::Unmount(); + return false; + } + if (numEntry == 0) + { + dir.Finalize(); + common::SdMountManager::Unmount(); + return false; + } + else + { + // 比較する + if (entry.attributes.isDirectory) + { + NN_LOG("%ls\n", entry.entryName); + if(std::wcscmp(ivs, entry.entryName) == 0) + { + common::SdMountManager::Unmount(); + return true; + } + } + } + } +} + +void Cleanup() +{ + nn::Result result; + bool execCleanup; + + result = nn::am::NeedsCleanup(&execCleanup, nn::fs::MEDIA_TYPE_NAND); + if(result.IsSuccess()) + { + if(execCleanup) + { + COMMON_LOGGER("Cleanup NAND\n"); + nn::am::DoCleanup(nn::fs::MEDIA_TYPE_NAND); + } + } + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); +} + +void DeleteAllCheckFiles() +{ + nn::Result result; + common::SdMountManager::Mount(); + + for(u32 i = 0; i < sizeof(CHECK_FILENAME_TABLE) / sizeof(CHECK_FILENAME_TABLE[0]); i++) + { + if(common::CheckFileExists(CHECK_FILENAME_TABLE[i])) + { + result = nn::fs::TryDeleteFile(CHECK_FILENAME_TABLE[i]); + COMMON_LOGGER_RESULT_IF_FAILED(result); + } + } + common::SdMountManager::Unmount(); +} + +void FinalizeImportThread() +{ + s_ImportThread.Join(); + s_ImportThread.Finalize(); +} + +bool IsImportThreadFinished() +{ + return s_ImportThread.IsValid() && !s_ImportThread.IsAlive(); +} + +void CreateWriteFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_WRITE_FINISHED]); + common::ClearFileCheck(common::EXISTS_WRITE_FINISHED); +} + +void CreateConsoleInitializedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_CONSOLE_INTIALIZED]); + common::ClearFileCheck(common::EXISTS_CONSOLE_INTIALIZED); +} + +void CreateUpdateFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_UPDATE_FINISHED]); + common::ClearFileCheck(common::EXISTS_UPDATE_FINISHED); +} + +void CreateRtcSyncFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_RTC_SYNC_FINISHED]); + common::ClearFileCheck(common::EXISTS_RTC_SYNC_FINISHED); +} + +void CreateDownloadIvsFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_DOWNLOAD_IVS]); + common::ClearFileCheck(common::EXISTS_DOWNLOAD_IVS); +} + +void CreateDeleteAccountFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_DELETE_ACCOUNT]); + common::ClearFileCheck(common::EXISTS_DELETE_ACCOUNT); + +} + +void CreateTransferAccountFinishedFile() +{ + CreateEmptyFile(common::FILENAME_TABLE[common::EXISTS_TRANSFER_ACCOUNT]); + common::ClearFileCheck(common::EXISTS_TRANSFER_ACCOUNT); +} + +u32 GetImportProgress() +{ + return common::GetProgress(); +} + +bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting) +{ + nn::Result result; + bool retval = true; + + result = nn::ac::InitializeInternal(); + if(result.IsFailure()) + { + retval = false; + COMMON_LOGGER("Error: nn::ac::InitializeInternal() failed\n"); + } + else + { + //特に入力させる必要のない自動で設定する項目 + networkSetting.wireless.enable = true; + networkSetting.wireless.multiSsid.enable = false; + networkSetting.ip.enableDHCP = true; + networkSetting.scanlessConnect.hasConnected = false; + networkSetting.proxy.enable = false; + networkSetting.other.enableUPnP = false; + + // 現在のインターネット設定1を一時的に保持 + result = nn::ac::LoadNetworkSetting(0, s_CurrentNetowrkSetting1.setting); + if(result.IsSuccess()) + { + s_CurrentNetowrkSetting1.isValid = true; + } + else + { + s_CurrentNetowrkSetting1.isValid = false; + } + + result = nn::ac::UpdateNetworkSetting( 0, networkSetting ); + if(!result.IsSuccess()) + { + retval = false; + COMMON_LOGGER("Error: SetNetworkSetting (Update Error)\n"); + } + else + { + result = nn::ac::FinalizeInternal(); + if (!result.IsSuccess()) + { + retval = false; + COMMON_LOGGER("Error: SetNetworkSetting (Finalize Error)\n"); + } + } + } + + return retval; +} + +bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup) +{ + nn::Result result; + bool retval = true; + common::ConfigFileLoader configfileLoader; + + common::SdMountManager::Mount(); + size_t size = 10240; + void* heapAddr = common::HeapManager::GetHeap()->Allocate(size); + + if(heapAddr != NULL) + { + result = configfileLoader.Initialize(common::AP_SETTING_PATHNAME, heapAddr, size); + if (result.IsSuccess()) + { + nn::ac::NetworkSetting networkSetting; + + { + const char* ssid = configfileLoader.ReadAsChar(L"SSID"); // SSID + if(ssid == NULL) + { + COMMON_LOGGER("SSID: is missing\n"); + retval = false; + } + else + { + std::strncpy(reinterpret_cast (networkSetting.wireless.essidSecurity.ssid), ssid, 32); + networkSetting.wireless.essidSecurity.ssidLength = std::strlen(ssid) % 33; + COMMON_LOGGER("SSID = %s\n", networkSetting.wireless.essidSecurity.ssid); + } + } + + + { + const char* mode = configfileLoader.ReadAsChar(L"MODE"); // MODE + if(mode == NULL) + { + COMMON_LOGGER("MODE: is missing\n"); + retval = false; + } + else + { + if (std::strcmp(mode, "OPEN") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::OPEN; + } + else if (std::strcmp(mode, "WEP40") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WEP_40BIT; + } + else if (std::strcmp(mode, "WEP104") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WEP_104BIT; + } + else if (std::strcmp(mode, "WEP128") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WEP_128BIT; + } + else if (std::strcmp(mode, "WPA-TKIP") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WPA_TKIP; + } + else if (std::strcmp(mode, "WPA2-TKIP") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WPA2_TKIP; + } + else if (std::strcmp(mode, "WPA-AES") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WPA_AES; + } + else if (std::strcmp(mode, "WPA2-AES") == 0) + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::WPA2_AES; + } + else + { + networkSetting.wireless.essidSecurity.securityMode = nn::ac::OPEN; + } + + switch (networkSetting.wireless.essidSecurity.securityMode) + { + case nn::ac::OPEN: + { + COMMON_LOGGER("MODE = OPEN\n"); + } + break; + + case nn::ac::WEP_40BIT: + { + COMMON_LOGGER("MODE = WEP_40BIT\n"); + } + break; + + case nn::ac::WEP_104BIT: + { + COMMON_LOGGER("MODE = WEP_104BIT\n"); + } + break; + + case nn::ac::WEP_128BIT: + { + COMMON_LOGGER("MODE = WEP_128BIT\n"); + } + break; + + case nn::ac::WPA_TKIP: + { + COMMON_LOGGER("MODE = WPA_TKIP\n"); + } + break; + + case nn::ac::WPA2_TKIP: + { + COMMON_LOGGER("MODE = WPA2_TKIP\n"); + } + break; + + case nn::ac::WPA_AES: + { + COMMON_LOGGER("MODE = WPA_AES\n"); + } + break; + + case nn::ac::WPA2_AES: + { + COMMON_LOGGER("MODE = WPA2_AES\n"); + } + break; + + } + + } + } + + { + const char* pass = configfileLoader.ReadAsChar(L"PASS"); // PASS + if(pass == NULL) + { + COMMON_LOGGER("PASS: is missing\n"); + retval = false; + } + else + { + switch (networkSetting.wireless.essidSecurity.securityMode) + { + case nn::ac::WEP_40BIT: + case nn::ac::WEP_104BIT: + case nn::ac::WEP_128BIT: + { + std::strncpy(reinterpret_cast (networkSetting.wireless.essidSecurity.passphrase), + pass, 64); + std::memcpy(networkSetting.wireless.essidSecurity.key, + networkSetting.wireless.essidSecurity.passphrase, 64); + } + break; + + case nn::ac::WPA_TKIP: + case nn::ac::WPA2_TKIP: + case nn::ac::WPA_AES: + case nn::ac::WPA2_AES: + { + std::strncpy(reinterpret_cast (networkSetting.wireless.essidSecurity.passphrase), + pass, 64); + size_t phrase_size = std::strlen( + reinterpret_cast (networkSetting.wireless.essidSecurity.passphrase)); + + nn::nwm::Ssid ssid(reinterpret_cast (networkSetting.wireless.essidSecurity.ssid)); + nn::nwm::ConvertPasswordToPsk( + reinterpret_cast (networkSetting.wireless.essidSecurity.passphrase), + phrase_size, ssid, networkSetting.wireless.essidSecurity.key); + } + break; + + case nn::ac::OPEN: + default: + { + //do nothing + } + break; + } + } + } + + + { + s32 dnsAuto; // DNS_AUTO + if(configfileLoader.ReadAsChar(L"DNS_AUTO") == NULL) + { + COMMON_LOGGER("DNS_AUTO: is missing\n"); + retval = false; + } + else + { + dnsAuto = configfileLoader.ReadAsInteger(L"DNS_AUTO"); + if (dnsAuto == 1) + { + networkSetting.ip.autoDNSSetting = true; + } + else + { + networkSetting.ip.autoDNSSetting = false; + } + + COMMON_LOGGER("DNS_AUTO = %d\n", networkSetting.ip.autoDNSSetting); + + } + } + + { + const char* dnsPrimary = configfileLoader.ReadAsChar(L"DNS_PRI"); // プライマリDNS + if(!networkSetting.ip.autoDNSSetting) + { + if (dnsPrimary == NULL) + { + COMMON_LOGGER("DNS_PRI: is missing\n"); + retval = false; + + } + else + { + u8 dns[4]; + nn::socket::InAddr addr; + if (1 == nn::socket::InetAtoN(dnsPrimary, &addr)) + { + dns[3] = (0xff & (addr.addr >> 24)); + dns[2] = (0xff & (addr.addr >> 16)); + dns[1] = (0xff & (addr.addr >> 8)); + dns[0] = (0xff & (addr.addr)); + } + std::memcpy(networkSetting.ip.dns[0], dns, 4); + COMMON_LOGGER("DNS_PRI = %03d.%03d.%03d.%03d\n", networkSetting.ip.dns[0][0], + networkSetting.ip.dns[0][1], + networkSetting.ip.dns[0][2], + networkSetting.ip.dns[0][3]); + + } + } + } + + { + const char* dnsSecondary = configfileLoader.ReadAsChar(L"DNS_SEC"); // セカンダリDNS + if(!networkSetting.ip.autoDNSSetting) + { + if(dnsSecondary == NULL) + { + COMMON_LOGGER("DNS_SEC: is missing\n"); + retval = false; + } + else + { + u8 dns[4]; + nn::socket::InAddr addr; + if (1 == nn::socket::InetAtoN(dnsSecondary, &addr)) + { + dns[3] = (0xff & (addr.addr >> 24)); + dns[2] = (0xff & (addr.addr >> 16)); + dns[1] = (0xff & (addr.addr >> 8)); + dns[0] = (0xff & (addr.addr)); + } + std::memcpy(networkSetting.ip.dns[1], dns, 4); + COMMON_LOGGER("DNS_SEC = %03d.%03d.%03d.%03d\n", networkSetting.ip.dns[1][0], + networkSetting.ip.dns[1][1], + networkSetting.ip.dns[1][2], + networkSetting.ip.dns[1][3]); + + } + } + } + + { + const char* ntpServerName = configfileLoader.ReadAsChar(L"NTPSRV"); // NTPサーバ + if(ntpServerName == NULL) + { + COMMON_LOGGER("NTPSRV: is missing\n"); + retval = false; + } + else + { + std::strlcpy(s_NtpServerName, ntpServerName, sizeof(s_NtpServerName)); + COMMON_LOGGER("NTPSRV = %s\n", s_NtpServerName); + } + + + } + + { + const char* timeZone = configfileLoader.ReadAsChar(L"TIMEZONE"); // タイムゾーン + if(timeZone == NULL) + { + COMMON_LOGGER("TIMEZONE: is missing\n"); + retval = false; + } + else + { + std::strlcpy(s_TimeZoneStr, timeZone, sizeof(s_TimeZoneStr)); + COMMON_LOGGER("TIMEZONE = %s\n", s_TimeZoneStr); + ConvertTimeZoneString(s_TimeZoneStr); + } + + } + + { + const wchar_t* const NUP_ONLY_STR = L"NUP_ONLY"; + NN_NULL_ASSERT(nupOnly); + if (configfileLoader.ReadAsChar(NUP_ONLY_STR) != NULL) + { + s32 num = configfileLoader.ReadAsInteger(NUP_ONLY_STR); + if (num == 1) + { + *nupOnly = true; + COMMON_LOGGER("NUP Only Mode.\n"); + } + } + } + + { + const wchar_t* const GET_IVS_STR = L"GET_SDCI"; + NN_NULL_ASSERT(getIvs); + if (configfileLoader.ReadAsChar(GET_IVS_STR) != NULL) + { + s32 num = configfileLoader.ReadAsInteger(GET_IVS_STR); + if (num == 1) + { + *getIvs = true; + COMMON_LOGGER("GET SDCI Mode.\n"); + } + } + } + + { + const wchar_t* const CHECK_SD_STR = L"CHECK_SD"; + NN_NULL_ASSERT(checkSd); + if (configfileLoader.ReadAsChar(CHECK_SD_STR) != NULL) + { + s32 num = configfileLoader.ReadAsInteger(CHECK_SD_STR); + if (num == 1) + { + *checkSd = true; + COMMON_LOGGER("CHECK SD Mode.\n"); + } + } + } + + { + const wchar_t* const SKIP_NUP_STR = L"SKIP_NUP"; + NN_NULL_ASSERT(skipNup); + if (configfileLoader.ReadAsChar(SKIP_NUP_STR) != NULL) + { + s32 num = configfileLoader.ReadAsInteger(SKIP_NUP_STR); + if (num == 1) + { + *skipNup = true; + COMMON_LOGGER("Skip NUP Mode.\n"); + } + } + } + + configfileLoader.Finalize(); + + // 書き込み完了しなければfalse + if(!UpdateNetworkSetting(networkSetting)) + { + retval = false; + } + + } + else + { + NN_LOG("configfileLoader Initialize Failed\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + retval = false; + } + common::HeapManager::GetHeap()->Free(heapAddr); + } + else + { + NN_LOG("Can't Allocate Heap\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + retval = false; + } + + common::SdMountManager::Unmount(); + return retval; +} + +char* GetNtpServerName() +{ + return s_NtpServerName; +} + +TimeZone GetTimeZone() +{ + return s_TimeZone; +} + +CheckedNetworkSetting* GetTempNetworkSetting() +{ + return &s_CurrentNetowrkSetting1; +} + +void ImportTwlData(enum common::TWL_PATH_INDEX path, s64 fileSize) +{ + NN_ASSERT(path < common::TWL_PATHNAME_MAX); + + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::TWL_ARCHIVE_NAME_TABLE[path], common::TWL_FS_ARCHIVE_KIND[path]); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + // ファイルサイズ設定 + common::InitializeTransferProgress(fileSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + wchar_t archiveName[nn::fs::MAX_FILE_PATH_LENGTH]; + ::std::mbstowcs(archiveName, common::TWL_ARCHIVE_NAME_TABLE[path], std::strlen(common::TWL_ARCHIVE_NAME_TABLE[path]) + 1); + std::wstring archiveString(archiveName); + common::CopyDirectory( + &s_FileLists, + (::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring(common::SD_TWL_ROOTNAME_TABLE[path])).c_str(), + (archiveString + ::std::wstring(L"/")).c_str(), + buf, bufSize, false, NULL, NULL); + + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + nn::fs::Unmount(common::TWL_ARCHIVE_NAME_TABLE[path]); + +} + +void ImportTwlTitleSaveData(s64 fileSize) +{ + nn::Result result; + + result = nn::fs::MountSpecialArchive(common::NAND_TWL_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_TWL_NAND); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + NN_LOG("AllocatableSize = %d\n", bufSize); + + // ファイルサイズ設定 + common::InitializeTransferProgress(fileSize); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + common::CopyDirectory( + &s_FileLists, + (::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring(common::SD_SAVEDATA_TWL_ROOT_NAME)).c_str(), + (std::wstring(common::NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH) + ::std::wstring(L"/")).c_str(), + buf, bufSize, false, NULL, NULL); + + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + nn::fs::Unmount(common::NAND_TWL_ARCHIVE_NAME); +} + +void ImportTwlPhotoDataFunc() +{ + COMMON_LOGGER("Import Twl Photo Data.\n"); + ImportTwlData(common::TWL_PHOTO, s_SdFileSize.twlPhotoFileSize); +} + +void ImportTwlSoundDataFunc() +{ + COMMON_LOGGER("Import Twl Sound Data.\n"); + ImportTwlData(common::TWL_SOUND, s_SdFileSize.twlSoundFileSize); +} + +void ImportTwlSaveDataFunc() +{ + COMMON_LOGGER("Import Twl Save Data.\n"); + ImportTwlTitleSaveData(s_SdFileSize.twlFileSize); +} + +void ImportTwlPhotoData() +{ + s_ImportThread.Start(ImportTwlPhotoDataFunc, s_ImportThreadStack); +} + +void ImportTwlSoundData() +{ + s_ImportThread.Start(ImportTwlSoundDataFunc, s_ImportThreadStack); +} + +void ImportTwlSaveData() +{ + s_ImportThread.Start(ImportTwlSaveDataFunc, s_ImportThreadStack); +} + + +void ClearFileReadResult() +{ + s_CheckedEqualsDeviceIdFileandDeviceId = false; + s_CheckedEqualsRegionDataandRegion = false; + s_ReadSerialNumber = false; +} + +void ImportPlayHistoryThreadFunc() +{ + common::PlayHistoryManager historyManager; + + COMMON_LOGGER("Import PlayHistory\n"); + historyManager.Import(); +} + +void ImportPlayHistory() +{ + s_ImportThread.Start(ImportPlayHistoryThreadFunc, s_ImportThreadStack); +} + +void ExportCalData() +{ + using namespace nn::cfg::CTR::detail; + + nn::Result result; + common::CfgCalData cfgCalData; + common::SdReaderWriter sdWriter; + + COMMON_LOGGER("Export CalData\n"); + + common::SdMountManager::Mount(); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData), + GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.lcdFlickerCfgData, sizeof(LcdFlickerCfgData), + GET_CFG_KEY(NN_CFG_LCD, NN_CFG_LCD_CAL_FLICKER)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.fcramCfgData, sizeof(FcramCfgData), + GET_CFG_KEY(NN_CFG_FCRAM, NN_CFG_FCRAM_CAL_DELAY)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.rtcCfgData, sizeof(RtcCfgData), + GET_CFG_KEY(NN_CFG_RTC, NN_CFG_RTC_CAL_COMPENSATION)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.gyroscopeCfgData, sizeof(GyroscopeCfgData), + GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_GYROSCOPE)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.accelCfgData, sizeof(AccelCfgData), + GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_ACCELEROMETER)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.codecCfgData, sizeof(CodecCfgData), + GET_CFG_KEY(NN_CFG_CODEC, NN_CFG_CODEC_CAL)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::GetConfig(&cfgCalData.mcuSlideVolumeRangeCfgData, sizeof(McuSlideVolumeRangeCfgData), + GET_CFG_KEY(NN_CFG_MCU, NN_CFG_MCU_SLIDE_VOLUME)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + sdWriter.WriteBufWithCmac(common::CFG_CALIBRATION_PATHNAME, &cfgCalData, sizeof(cfgCalData)); + + common::SdMountManager::Unmount(); +} + +nn::Result ImportCalData(common::CfgCalData *data) +{ + using namespace nn::cfg::CTR::detail; + + nn::Result result = nn::ResultSuccess(); + + COMMON_LOGGER("Import CalData\n"); + + common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize() / 2; + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::CFG_CALIBRATION_PATHNAME, buf, bufSize, &readSize); + if(result.IsSuccess()) + { + // SDから読み出し成功 + std::memcpy(data, buf, readSize); + } + common::HeapManager::GetHeap()->Free(buf); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + } + else + { + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + common::SdMountManager::Unmount(); + return result; +} + +nn::Result InitializeHardwareDependentSetting() +{ + using namespace nn::cfg::CTR::detail; + nn::Result result = nn::ResultSuccess(); + + common::CfgCalData cfgCalData; + result = ImportCalData(&cfgCalData); + NN_UTIL_RETURN_IF_FAILED(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL), + &cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_LCD, NN_CFG_LCD_CAL_FLICKER), + &cfgCalData.lcdFlickerCfgData, sizeof(LcdFlickerCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_FCRAM, NN_CFG_FCRAM_CAL_DELAY), &cfgCalData.fcramCfgData, + sizeof(FcramCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_RTC, NN_CFG_RTC_CAL_COMPENSATION), + &cfgCalData.rtcCfgData, sizeof(RtcCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_GYROSCOPE), + &cfgCalData.gyroscopeCfgData, sizeof(GyroscopeCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_ACCELEROMETER), + &cfgCalData.accelCfgData, sizeof(AccelCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_CODEC, NN_CFG_CODEC_CAL), &cfgCalData.codecCfgData, + sizeof(CodecCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_MCU, NN_CFG_MCU_SLIDE_VOLUME), + &cfgCalData.mcuSlideVolumeRangeCfgData, sizeof(McuSlideVolumeRangeCfgData)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + NN_LOG("Set cfgCalData\n"); + + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + nn::cfg::CTR::init::ResetCameraCalibration(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + nn::cfg::CTR::init::ResetAnalogStickCalibration(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + return result; +} + +nn::Result SetupFileList() +{ + std::memset(&s_SdFileSize, 0, sizeof(s_SdFileSize)); + + // ファイル一覧を読み込む + nn::Result result = ReadFileList(&s_SdFileSize, &s_FileLists); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result ReadFileList(SdFileSize* sdFiles, common::ImportDataList* fileList) +{ + nn::Result result = nn::ResultSuccess(); + + COMMON_LOGGER("Read File List\n"); + + size_t readSize; + common::SdReaderWriter sdReader; + s64 fileSize; + { + nn::fs::FileInputStream file; + + // サイズ取得のため一時的に開く + result = file.TryInitialize(common::FILE_LIST_PATHNAME); + NN_UTIL_RETURN_IF_FAILED(result); + + result = file.TryGetSize(&fileSize); + if (result.IsFailure()) + { + file.Finalize(); + return result; + } + file.Finalize(); + } + + void* buf = common::HeapManager::GetHeap()->Allocate(fileSize); + if(buf != NULL) + { + result = sdReader.ReadBufWithCmac(common::FILE_LIST_PATHNAME, buf, fileSize, &readSize); + if(result.IsSuccess()) + { + // ファイル一覧 + const char comma[] = ","; + const char newLine[] = "\n"; + char *token = NULL; + token = std::strtok(reinterpret_cast(buf), comma); + bool parseFileName = false; + common::ImportDataEntry entry; + + entry.fileName = std::string(token); + while( token != NULL) + { + if(parseFileName) + { + token = std::strtok(NULL, comma); + if(token != NULL) + { + entry.fileName = std::string(token); + } + } + else + { + token = std::strtok(NULL, newLine); + if(token != NULL) + { + s64 size = std::atoll(token); + if(size != -1) + { + entry.isDirectory = false; + sdFiles->totalFileSize += size; + + wchar_t wcToken[nn::fs::MAX_FILE_PATH_LENGTH]; + if(std::mbstowcs(wcToken, entry.fileName.c_str(), entry.fileName.size()) != entry.fileName.size() - 1) + { + if(std::wcsstr(wcToken, common::SD_SAVEDATA_ROOT_NAME) != NULL) + { + sdFiles->ctrFileSize += size; + } + else if(std::wcsstr(wcToken, common::SD_SAVEDATA_TWL_PHOTO_ROOT_NAME) != NULL) + { + sdFiles->twlPhotoFileSize += size; + } + else if(std::wcsstr(wcToken, common::SD_SAVEDATA_TWL_SOUND_ROOT_NAME) != NULL) + { + sdFiles->twlSoundFileSize += size; + } + else if(std::wcsstr(wcToken, common::SD_SAVEDATA_TWL_ROOT_NAME) != NULL) + { + sdFiles->twlFileSize += size; + } + } + } + else + { + entry.isDirectory = true; + } + + fileList->push_back(entry); + } + } + parseFileName = !parseFileName; + + } + + } + common::HeapManager::GetHeap()->Free(buf); + } + else + { + result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + return result; + +} + +nn::Result ImportData() +{ + static nn::Result result = nn::ResultSuccess(); + static bool init = true; + if(init) + { + init = false; + + // NANDのごみを削除する + Cleanup(); + + // SDカードのIVSファイルを書き込む + result = ImportIvs(); + NN_UTIL_RETURN_IF_FAILED(result); + + // NORデータを書き込む + result = ImportNorData(); + NN_UTIL_RETURN_IF_FAILED(result); + + // 固体固有calLデータをSDカードに出力する + // 本体初期化後はcal値が設定されている + ExportCalData(); + + // SDカードのセーブデータをNANDに書き込む + ImportSaveData(); + } + + return result; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.h new file mode 100644 index 0000000..cbe3cb5 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Importer.h @@ -0,0 +1,159 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Importer.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef IMPORTER_H_ +#define IMPORTER_H_ + +#include +#include "FileName.h" +#include +#include +#include "HardwareStateManager.h" + +namespace ConsoleRestore +{ + +// SDカードのデバイスIDファイルと本体のデバイスIDが一致しているかどうか +nn::Result EqualsDeviceIdFileandDeviceId(common::HardwareStateManager& manager); + +// SDカードのリージョンと本体のリージョンが一致しているかどうか +nn::Result EqualsRegionDataandRegion(); + +// シリアルナンバーを取得する +nn::Result ReadSerialNumber(u8* serial); + +// 出力ファイル一覧を読み込む +nn::Result SetupFileList(); + +// インポート用のスレッドを終了する +void FinalizeImportThread(); + +// インポート用のスレッドが終了したかどうか +bool IsImportThreadFinished(); + +// 新たにスレッドを立て、TWLサウンド領域をインポートする +void ImportTwlSoundData(); + +// 新たにスレッドを立て、TWL-NAND領域をインポートする +void ImportTwlSaveData(); + +// 新たにスレッドを立て、TWL写真領域をインポートする +void ImportTwlPhotoData(); + +// 本体固有データを読み込む +// 新たにスレッドを立て、CTRセーブデータ領域をインポートする +nn::Result ImportData(); + +// インポート完了ファイルを作る +void CreateWriteFinishedFile(); + +// ネットワークアップデート完了ファイルを作る +void CreateUpdateFinishedFile(); + +// 本体初期化完了ファイルを作る +void CreateConsoleInitializedFile(); + +// RTC書き込み完了ファイルを作る +void CreateRtcSyncFinishedFile(); + +// IVSダウンロード完了ファイルを作る +void CreateDownloadIvsFinishedFile(); + +// アカウント削除完了ファイルを作る +void CreateDeleteAccountFinishedFile(); + +// アカウント移行完了ファイルを作る +void CreateTransferAccountFinishedFile(); + +// インポートスレッドの進捗を取得する +u32 GetImportProgress(); + +// NANDのごみを削除する +void Cleanup(); + + +// ファイルが存在するかどうか確認するためのテーブル +const wchar_t* const CHECK_FILENAME_TABLE[] = +{ + common::UPDATE_CHECK_PATHNAME, + common::INITIALIZED_CHECK_PATHNAME, + common::WRITE_FINISHED_CHECK_PATHNAME, + common::RTC_SYNC_CHECK_PATHNAME, + common::DOWNLOAD_IVS_CHECK_PATHNAME, + common::DELETE_ACCOUNT_CHECK_PATHNAME, + common::TRANSFER_ACCOUNT_CHECK_PATHNAME +}; + +// ファイル存在確認をクリアする +void DeleteAllCheckFiles(); + +struct TimeZone +{ + u32 hour; + u32 minutes; + bool isMinus; + NN_PADDING3; +}; + +// ネットワーク設定ファイルを読み込む +bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup); + +// ネットワーク設定ファイルからNTPサーバの名前を取得する +// 先にReadSettingが成功している必要がある +char* GetNtpServerName(); + +// ネットワーク設定ファイルからタイムゾーンを取得する +// 先にReadSettingが成功している必要がある +TimeZone GetTimeZone(); + +struct CheckedNetworkSetting +{ + nn::ac::CTR::NetworkSetting setting; + bool isValid; + NN_PADDING3; +}; + +// SDカードから読み込んだネットワーク設定ファイルから生成した +// インターネット設定へのポインタを取得する +// インターネット設定は内部のバッファに読み込む +CheckedNetworkSetting* GetTempNetworkSetting(); + +// 国設定を読み込む +nn::Result ImportCountryLanguageData(); + +// RTCを読み込む +nn::Result ImportMcuRtc(common::HardwareStateManager& manager); + +// TWL写真領域を初期化してから本体初期化を行う +void InitializeFileSystem(); + +// SDカードのファイルと本体情報の比較結果をクリアする +void ClearFileReadResult(); + +// プレイ履歴を読み込みます。ptmのセーブデータ移行後に呼び出す必要があります +void ImportPlayHistory(); + +// cfgのハードウェア固有領域をcal値で初期化します +nn::Result InitializeHardwareDependentSetting(); + +// SDカード上のバージョン情報を読みます +nn::Result ReadVersionData(); + +// SDカードのNintendo 3DS以下ににIVSと一致するディレクトリがあるかどうか +bool ExistsIvsDirectory(std::string& ivsRoot); + +} + +#endif /* IMPORTER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.cpp new file mode 100644 index 0000000..f2a5114 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.cpp @@ -0,0 +1,376 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: NtpClient.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Importer.h" +#include "CommonLogger.h" + +namespace ConsoleRestore +{ + +namespace { + +const size_t NTP_THREAD_STACK_SIZE = 0x1000; +nn::os::Thread s_NtpThread; +nn::os::StackBuffer s_NtpThreadStack; +bool s_NtpSyncSuccessed = false; + + +struct NTP_Packet{ // NTPパケット + u32 controlWord; + u32 rootDelay; + u32 rootDispersion; + u32 referenceId; + s64 referenceTimestamp; + s64 startTimestamp; + s64 receiveTimestamp; + u32 transmitTimestampSeconds; + u32 transmitTimestampFractions; +}; + +const size_t TIMEOUT_MILLISECOND = 5000; // タイムアウト ミリ秒数 +NTP_Packet s_NTPSendPacket; // 送信するNTPパケット +NTP_Packet s_NTPRecvPacket; // 受信するNTPパケット +const u32 NTP_PORT_NUM = 123; + +nn::Result InitializeNetwork(void) +{ + nn::Result result; + nn::ac::Config config; + + result = nn::ac::Initialize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // 接続要求用のパラメータを作成 + result = nn::ac::CreateDefaultConfig(&config); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return result; + } + + // デバッグ用に接続テストを無効化 + nn::ac::DebugSetNetworkArea(&config, nn::ac::NETWORK_AREA_LAN); + + // 接続要求を発行 + result = nn::ac::ConnectWithoutEula(config); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return result; + } + + return nn::ResultSuccess(); +} + +nn::Result FinalizeNetwork(void) +{ + nn::Result result; + + // 接続要求用のパラメータを作成 + result = nn::ac::Close(); + NN_UTIL_RETURN_IF_FAILED(result); + + result = nn::ac::Finalize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + return nn::ResultSuccess(); +} + +bool GetNtpTime(u32* ntpTime) +{ + nn::Result result; + + bool retval = true; + NN_LOG("Initializing network.\n"); + + // 本体に書き込まれているネットワーク設定を使ってネットワーク接続を初期化 + result = InitializeNetwork(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + { + NN_LOG("Initializing socket..\n"); + + // 一つのスレッドからソケット API を利用する + const s32 sessionCount = 1; + // ソケットの送受信バッファとして 64 KB を割り当て + const size_t bufferSizeForSockets = 65536; + // ソケットライブラリに必要なワークサイズを求める + const size_t workSizeForLibrary = nn::socket::GetRequiredMemorySize(bufferSizeForSockets, sessionCount); + + // ワークメモリを確保して 4KB にアラインにする + u8* pWorkMemory = new u8[workSizeForLibrary + 4096]; + uptr workMemoryAddress = nn::math::RoundUp(reinterpret_cast (pWorkMemory), 4096); + + // ソケットライブラリの初期化 + result = nn::socket::Initialize(workMemoryAddress, workSizeForLibrary, bufferSizeForSockets, sessionCount); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + { + s32 ret; + nn::socket::InAddr addr, netmask; + ret = nn::socket::GetPrimaryAddress(reinterpret_cast (&addr), reinterpret_cast (&netmask)); + NN_ASSERT(ret == 0); + COMMON_LOGGER("host : %s\n", nn::socket::InetNtoA(addr)); + COMMON_LOGGER("netmask : %s\n", nn::socket::InetNtoA(netmask)); + + nn::socket::InAddr dns1, dns2; + ret = nn::socket::GetResolver(reinterpret_cast (&dns1), reinterpret_cast (&dns2)); + if (ret == 0) + { + COMMON_LOGGER("dns1 : %s\n", nn::socket::InetNtoA(dns1)); + COMMON_LOGGER("dns2 : %s\n", nn::socket::InetNtoA(dns2)); + } + + nn::socket::InAddr gateway; + ret = nn::socket::GetDefaultGateway(reinterpret_cast (&gateway)); + if (ret == 0) + { + COMMON_LOGGER("gateway : %s\n", nn::socket::InetNtoA(gateway)); + } + + COMMON_LOGGER("\n"); +#ifndef NN_SWITCH_DISABLE_DEBUG_PRINT + nn::socket::DumpRoutingTable(); +#endif + } + + { + s32 socket = nn::socket::Socket(nn::socket::PF_INET, nn::socket::SOCK_DGRAM, 0); + NN_LOG("socket = %d\n", socket); + + // クライアントアドレスの設定 + nn::socket::SockAddrIn host_addr; + host_addr.len = sizeof(nn::socket::SockAddrIn); + host_addr.family = nn::socket::AF_INET; + host_addr.addr.addr = 0; + host_addr.port = nn::socket::HtoNs(NTP_PORT_NUM); + + // ローカルアドレスをバインド + s32 ret = nn::socket::Bind(socket, &host_addr); + NN_LOG("bind = %d\n", ret); + + // ******************************************************************************** + // NTPパケットを生成して送る + // ******************************************************************************** + + // サーバアドレスの設定 + nn::socket::SockAddrIn serverSockAddrIn; + serverSockAddrIn.len = sizeof(nn::socket::SockAddrIn); + serverSockAddrIn.family = nn::socket::AF_INET; + + // GetHostByNameを使う場合 + nn::socket::HostEnt* serverHostent; + u64 serveraddr = 0; + serverHostent = nn::socket::GetHostByName(GetNtpServerName()); + if (serverHostent == NULL) + { + COMMON_LOGGER("Error: GetHostByName %s\n", GetNtpServerName()); + retval = false; + } + else + { + // サーバのホスト情報からIPアドレスをコピー + serveraddr = *(reinterpret_cast (serverHostent->addrList[0])); + } + serverSockAddrIn.addr.addr = serveraddr; + COMMON_LOGGER("Destination address: %s\n", nn::socket::InetNtoA(serverSockAddrIn.addr)); + serverSockAddrIn.port = nn::socket::HtoNs(NTP_PORT_NUM); // ポート番号 + + // NTPパケットをSNTP用に初期化する + s_NTPSendPacket.controlWord = nn::socket::HtoNl(0x0B000000); + s_NTPSendPacket.rootDelay = 0; + s_NTPSendPacket.rootDispersion = 0; + s_NTPSendPacket.referenceId = 0; + s_NTPSendPacket.referenceTimestamp = 0; + s_NTPSendPacket.startTimestamp = 0; + s_NTPSendPacket.receiveTimestamp = 0; + s_NTPSendPacket.transmitTimestampSeconds = 0; + s_NTPSendPacket.transmitTimestampFractions = 0; + + // サーバを指定してNTPパケットを送信する + if ((ret = nn::socket::SendTo(socket, reinterpret_cast (&s_NTPSendPacket), sizeof(s_NTPSendPacket), 0, + &serverSockAddrIn)) < 0) + { + COMMON_LOGGER("Error: Failed Send to Server, %d\n", ret); + retval = false; + } + + NN_LOG("SendTo finished\n"); + + // 受信待ち + nn::socket::PollFd pollFd; + pollFd.fd = socket; + pollFd.events = nn::socket::POLLRDNORM; + if ((ret = nn::socket::Poll(&pollFd, 1, TIMEOUT_MILLISECOND)) < 0) + { + COMMON_LOGGER("Error: recv error, %d\n", ret); + retval = false; + } + + NN_LOG("Poll Finished\n"); + + switch (pollFd.revents) + { + case nn::socket::POLLERR: // ソケットにエラーが発生しました。 + COMMON_LOGGER("Error: POLLERR %s %d\n", __FILE__, __LINE__); + retval = false; + break; + case nn::socket::POLLHUP: // ストリーム・ソケットが未接続です。 + COMMON_LOGGER("Error: POLLHUP %s %d\n", __FILE__, __LINE__); + retval = false; + break; + case nn::socket::POLLNVAL: // 不正なソケット記述子です。 + COMMON_LOGGER("Error: POLLNVAL %s %d\n", __FILE__, __LINE__); + retval = false; + break; + default: + break; + } + + // サーバから時刻情報を受信する + // サーバを指定して受信を行う + // 受信するまで待たされる + if ((ret = nn::socket::RecvFrom(socket, reinterpret_cast (&s_NTPRecvPacket), sizeof(s_NTPRecvPacket), nn::socket::MSG_DONTWAIT, + &serverSockAddrIn)) < 0) + { + COMMON_LOGGER("Error: RecvFrom, %d\n", ret); + retval = false; + } + + NN_LOG("RecvFrom finished\n"); + + // NTPサーバから取得した時刻を現地時間に変換する + *ntpTime = nn::socket::NtoHl(s_NTPRecvPacket.transmitTimestampSeconds) - 2208988800; /* 1970/01/01 からの秒数に変換 */ + NN_LOG("ntp_time = %d\n", ntpTime); + + nn::socket::Close(socket); + NN_UNUSED_VAR(ret); + } + + NN_LOG("Finalizing socket..\n"); + // ソケットライブラリの終了 + result = nn::socket::Finalize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + + NN_LOG("Finalizing network.\n"); + result = FinalizeNetwork(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + return retval; +} + +void RestoreCurrentInternetSetting() +{ + COMMON_LOGGER("Restore Current Internet Setting\n"); + nn::Result result; + if (GetTempNetworkSetting()->isValid) + { + result = nn::ac::CTR::UpdateNetworkSetting(0, GetTempNetworkSetting()->setting); + COMMON_LOGGER_RESULT_IF_FAILED(result); + } + else + { + // 無効の場合は消去しておく + result = nn::ac::CTR::RemoveNetworkSetting(0); + COMMON_LOGGER_RESULT_IF_FAILED(result); + } + + result = nn::ac::FlushNetworkSetting(); + COMMON_LOGGER_RESULT_IF_FAILED(result); + + result = nn::ac::FinalizeInternal(); + COMMON_LOGGER_RESULT_IF_FAILED(result); +} + +} + +void NtpThreadFunc() +{ + // NTP時間を取得する + u32 ntpTime; + if (GetNtpTime(&ntpTime)) + { + // タイムゾーンを考慮してDateTimeに変換する + TimeZone timeZone = GetTimeZone(); + + // 1970/01/01 + nn::fnd::DateTime utc = nn::fnd::DateTime(1970, 1, 1, 0, 0, 0, 0); + nn::fnd::DateTime current = utc + nn::fnd::TimeSpan::FromSeconds(ntpTime); + + if (timeZone.isMinus) + { + current -= (nn::fnd::TimeSpan::FromHours(timeZone.hour) + nn::fnd::TimeSpan::FromMinutes(timeZone.minutes)); + } + else + { + current += nn::fnd::TimeSpan::FromHours(timeZone.hour) + nn::fnd::TimeSpan::FromMinutes(timeZone.minutes); + } + + // SWCを書き込む + nn::ptm::CTR::SetUserTime(current); + + COMMON_LOGGER("Set User Time %04d/%02d/%02d %02d:%02d:%02d\n", + current.GetYear(), current.GetMonth(), current.GetDay(), current.GetHour(), current.GetMinute(), current.GetSecond()); + + s_NtpSyncSuccessed = true; + } + else + { + COMMON_LOGGER("Failed Get Ntp Time\n"); + s_NtpSyncSuccessed = false; + } + + // インターネット設定を元に戻す + RestoreCurrentInternetSetting(); +} + +bool IsTimeAdjustFinished() +{ + // Initialize済みかつ終了 + return s_NtpThread.IsValid() && !s_NtpThread.IsAlive(); +} + +bool IsTimeAdjustSuccessed() +{ + return s_NtpSyncSuccessed; +} + +void AdjustTime() +{ + nn::Result result; + + result = nn::ac::CTR::InitializeInternal(); + COMMON_LOGGER_RESULT_IF_FAILED(result); + + if(IsTimeAdjustFinished()) + { + s_NtpThread.Join(); + s_NtpThread.Finalize(); + } + s_NtpThread.Start( NtpThreadFunc, s_NtpThreadStack); +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.h new file mode 100644 index 0000000..0e9514e --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/NtpClient.h @@ -0,0 +1,33 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: NtpClient.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef NTPCLIENT_H_ +#define NTPCLIENT_H_ + +namespace ConsoleRestore +{ + +// 新たにスレッドを立て、NTPサーバと同期する +u32 AdjustTime(); + +// NTPサーバとの同期が終了したかどうか +bool IsTimeAdjustFinished(); + +// NTPサーバとの同期が完了したかどうか +bool IsTimeAdjustSuccessed(); + +} + +#endif /* NTPCLIENT_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/OMakefile new file mode 100644 index 0000000..4420d61 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/OMakefile @@ -0,0 +1,85 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-T*.Process.MPCore.* +CTR_APPTYPE = CARD + +TARGET_PROGRAM = ConsoleRestore + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + ../common + +SOURCES[] = + ConsoleRestore.cpp + Controller.cpp + Importer.cpp + Updater.cpp + Ntpclient.cpp + TitleDownloader.cpp + Shop.cpp + ../common/Util.cpp + ../common/DrawSystemState.cpp + ../common/FileTransfer.cpp + ../common/FileChecker.cpp + ../common/SdReaderWriter.cpp + ../common/HeapManager.cpp + ../common/SdLogger.cpp + ../common/wave.cpp + ../common/SimplePlayer.cpp + ../common/LogConsole.cpp + ../common/CommonLogger.cpp + ../common/SdMountManager.cpp + ../common/configLoader.cpp + ../common/PlayHistoryManager.cpp + ../common/VersionDetect.cpp + ../common/ResFont.cpp + ../common/HardwareStateManager.cpp + +CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf + +ROMFS_ROOT = ../common/romfiles + +SHADER_BIN = nnfont_RectDrawerShader.shbin +SHADER_PATH = $(ROMFS_ROOT)/$(SHADER_BIN) + +ROMFS_DEPENDENCIES = $(SHADER_PATH) + +LIBS += libnn_cfg \ + libnn_crypto \ + libnn_mcu \ + libnn_ps \ + lib_demo \ + libnn_nwm \ + libnn_friends \ + libnn_ns \ + libnn_am \ + libnn_nim \ + +INSTALL_SDK_TOOL = true + +ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf +DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/RepairTool.desc + +include $(ROOT_OMAKE)/modulerules + +VERSION_H = $(file ../../generated/$(TARGET_PROGRAM)/version.h) + +$(VERSION_H): $(SOURCES) + section + bash genversion.sh + +RequireSetup($(VERSION_H)) +build: $(VERSION_H) $(DEFAULT_TARGETS) diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.cpp new file mode 100644 index 0000000..b165be6 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.cpp @@ -0,0 +1,560 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Shop.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Shop.h" +#include "CommonLogger.h" + +using namespace ES_NAMESPACE; +using namespace EC_NAMESPACE; + +#define NIM_SHOP_RESULT_CHECK(result) \ +do { \ + if (result.IsFailure()) \ + { \ + ECCustomerSupportCode csc; \ + nn::nim::Shop::GetCustomerSupportCode(&csc); \ + COMMON_LOGGER("CSCode: %d\n", csc); \ + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); \ + NN_DBG_PRINT_RESULT(result); \ + COMMON_LOGGER_DETAIL("Result = %08X\n", result.GetPrintableBits()); \ + s_ShopResult = result; \ + return; \ + } \ +} while(0) +namespace +{ + +nn::Result s_ShopResult = nn::ResultSuccess(); + +const size_t SHOP_OPERATION_THREAD_STACK_SIZE = 0x1000; +nn::os::Thread s_ShopOperationThread; +nn::os::StackBuffer s_ShopOperationThreadStack; + +const size_t EC_BUFFER_SIZE = 128 * 1024; +u8 s_EcBufffer[EC_BUFFER_SIZE]; +bool s_IsNimShopInitialized = false; + +struct ShopThreadParam +{ + ConsoleRestore::ShopOperation op; + nn::nim::TitleConfig config; +}; + +// TitleProgress の ==, != を定義 +bool operator==( + nn::nim::TitleProgress& lhs, + nn::nim::TitleProgress& rhs) +{ + return (lhs.state == rhs.state && + lhs.lastResult == rhs.lastResult && + lhs.downloadedSize == rhs.downloadedSize && + lhs.totalSize == rhs.totalSize); +} + +bool operator!=( + nn::nim::TitleProgress& lhs, + nn::nim::TitleProgress& rhs) +{ + return (! (lhs == rhs)); +} + +// TitleState の文字列を取得 +#ifdef COMMON_LOGGER_DETAIL_ENABLE +const char* GetTitleStateString(nn::nim::TitleState state) +{ + switch (state) + { + case nn::nim::TITLE_STATE_NOT_INITIALIZED: + return "NOT_INITIALIZED"; + case nn::nim::TITLE_STATE_INITIALIZED: + return "INITIALIZED"; + case nn::nim::TITLE_STATE_DOWNLOAD_TMD: + return "DOWNLOAD_TMD"; + case nn::nim::TITLE_STATE_PREPARE_SAVE_DATA: + return "PREPARE_SAVE_DATA"; + case nn::nim::TITLE_STATE_DOWNLOAD_CONTENTS: + return "DOWNLOAD_CONTENTS"; + case nn::nim::TITLE_STATE_WAIT_COMMIT: + return "WAIT_COMMIT"; + case nn::nim::TITLE_STATE_COMMITTING: + return "COMMITTING"; + case nn::nim::TITLE_STATE_FINISHED: + return "FINISHED"; + case nn::nim::TITLE_STATE_VERSION_MISMATCH: + return "VERSION_MISMATCH"; + default: + return "UNKNOWN"; + } +} +#endif + + +// 空文字列と NULL ポインタをそれぞれ と NULL として返す +#ifdef COMMON_LOGGER_DETAIL_ENABLE +const char* Cstr(const char* p) +{ + return p ? (p[0] ? p : "") : "NULL"; +} +#endif + +// ECTicketVersions を出力 +void PrintECTicketVersions(const ECTicketVersions& ticketVersions) +{ + if (ticketVersions.nTicketVersions == 0) + { + COMMON_LOGGER_DETAIL("No TicketVersions\n"); + return; + } + + COMMON_LOGGER_DETAIL("----- ECTicketVersions -----\n"); + for (u32 i = 0; i < ticketVersions.nTicketVersions; i++) + { +#ifdef COMMON_LOGGER_DETAIL_ENABLE + ECTicketVersion version = ticketVersions.ticketVersions[i]; +#endif + COMMON_LOGGER_DETAIL("%03d: 0x%016llx v%d\n", i, version.ticketId, version.version); + } + COMMON_LOGGER_DETAIL("---------------------------\n"); +} + +// ECAccountInfo の情報を出力 +void PrintECAccountInfo(const ECAccountInfo& accountInfo) +{ + COMMON_LOGGER_DETAIL("========== ECAccountInfo ==========\n"); + + COMMON_LOGGER_DETAIL("accountId\n %s\n", Cstr(accountInfo.accountId)); + + COMMON_LOGGER_DETAIL("accountStatus\n %s\n", Cstr(accountInfo.accountStatus)); + + if (accountInfo.accountBalance == NULL) + { + COMMON_LOGGER_DETAIL("accountBalance\n NULL\n"); + } + else + { + COMMON_LOGGER_DETAIL("accountBalance->amount\n %s\n", + Cstr(accountInfo.accountBalance->amount)); + COMMON_LOGGER_DETAIL("accountBalance->currency\n %s\n", + Cstr(accountInfo.accountBalance->currency)); + } + + if (accountInfo.agreedEULAVersion == NULL) + { + COMMON_LOGGER_DETAIL("agreedEULAVersion\n NULL\n"); + } + else + { + COMMON_LOGGER_DETAIL("agreedEULAVersion\n %lld\n", + *accountInfo.agreedEULAVersion); + } + + if (accountInfo.latestEULAVersion == NULL) + { + COMMON_LOGGER_DETAIL("latestEULAVersion\n NULL\n"); + } + else + { + COMMON_LOGGER_DETAIL("latestEULAVersion\n %lld\n", + *accountInfo.latestEULAVersion); + } + + COMMON_LOGGER_DETAIL("country\n %s\n", Cstr(accountInfo.country)); + + COMMON_LOGGER_DETAIL("extAccountId\n %s\n", Cstr(accountInfo.extAccountId)); + + COMMON_LOGGER_DETAIL("deviceToken\n %s\n", Cstr(accountInfo.deviceToken)); + + COMMON_LOGGER_DETAIL("weakToken\n %s\n", Cstr(accountInfo.weakToken)); + + COMMON_LOGGER_DETAIL("isStandbyMode\n %d\n", accountInfo.isStandbyMode); + + if (accountInfo.owned == NULL) + { + COMMON_LOGGER_DETAIL("owned\n NULL\n"); + } + else + { + PrintECTicketVersions(*(accountInfo.owned)); + } +} + +nn::Result PrintNetworkSetting() +{ + nn::Result result; + nn::ac::NetworkSetting networkSetting; + result = nn::ac::LoadNetworkSetting(0, networkSetting); + COMMON_LOGGER("SSID: %s\n", networkSetting.wireless.essidSecurity.ssid); + COMMON_LOGGER("DNS : %d.%d.%d.%d\n", + networkSetting.ip.dns[0][0], networkSetting.ip.dns[0][1], + networkSetting.ip.dns[0][2], networkSetting.ip.dns[0][3]); + return result; +} + + +nn::Result ConnectNetwork() +{ + nn::Result result; + nn::ac::Config config; + + result = nn::ac::CreateDefaultConfig(&config); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + + result = nn::ac::ConnectWithoutEula(config); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + + COMMON_LOGGER_DETAIL("Success nn::ac::ConnectWithoutEula\n"); + + result = PrintNetworkSetting(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result InitializeInternal() +{ + nn::Result result; + + result = nn::ac::InitializeInternal(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + + result = ConnectNetwork(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result FinalizeInternal() +{ + nn::Result result = nn::ResultSuccess(); + + nn::ac::CloseAll(); + + result = nn::ac::FinalizeInternal(); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +} + + +namespace ConsoleRestore{ + +nn::Result ShopOperationConnect(); +nn::Result ShopOperationFinalize(); + + +nn::Result CheckStandbyMode(s32 isStandbyMode) +{ + if(isStandbyMode) + { + COMMON_LOGGER("Shop is Standby Mode\n"); + return nn::MakePermanentResult(nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_NOT_AUTHORIZED); + } + else + { + return nn::ResultSuccess(); + } +} + +nn::Result ShopOperationConnect(ECAccountInfo** pAccountInfo) +{ + nn::Result result = nn::ResultSuccess(); + + /* ------------------------------------------------------------------- + Connect + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("nim::Shop::Connect\n"); + result = nn::nim::Shop::Connect(pAccountInfo, s_EcBufffer, EC_BUFFER_SIZE); + NN_UTIL_RETURN_IF_FAILED(result); + result = CheckStandbyMode((*pAccountInfo)->isStandbyMode); + NN_UTIL_RETURN_IF_FAILED(result); + + PrintECAccountInfo(**pAccountInfo); + COMMON_LOGGER_DETAIL("\n"); + + return result; +} + +nn::Result ShopOperationInitialize() +{ + nn::Result result = nn::ResultSuccess(); + + /* ------------------------------------------------------------------- + Initialize + -------------------------------------------------------------------- */ + if (!s_IsNimShopInitialized) + { + COMMON_LOGGER_DETAIL("nim::InitializeForShop\n"); + result = nn::nim::InitializeForShop(); + NN_UTIL_RETURN_IF_FAILED(result); + s_IsNimShopInitialized = true; + } + + /* ------------------------------------------------------------------- + SetParameter + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("nim::Shop::SetApplication Id\n"); + + nn::nim::Shop::SetApplicationId(); + NN_UTIL_RETURN_IF_FAILED(result); + + COMMON_LOGGER_DETAIL("nim::Shop::SetTIN\n"); + result = nn::nim::Shop::SetTin(CONSOLE_RESTORE_TIN); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result ShopOperationConnect() +{ + nn::Result result; + result = ShopOperationInitialize(); + NN_UTIL_RETURN_IF_FAILED(result); + + /* ------------------------------------------------------------------- + Connect + -------------------------------------------------------------------- */ + ECAccountInfo* pAccountInfo; + result = ShopOperationConnect(&pAccountInfo); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result ShopOperationFinalize() +{ + nn::Result result = nn::ResultSuccess(); + + /* ------------------------------------------------------------------- + Finalize + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("nim::FinalizeForShop\n"); + result = nn::nim::FinalizeForShop(); + NN_UTIL_RETURN_IF_FAILED(result); + s_IsNimShopInitialized = false; + + COMMON_LOGGER_DETAIL("util::ac::Finalize\n"); + result = FinalizeInternal(); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +namespace +{ + +void ShopOperationUnregisterCore(bool force) +{ + nn::Result result; + result = ShopOperationInitialize(); + NIM_SHOP_RESULT_CHECK(result); + ECAccountInfo* pAccountInfo; + result = ShopOperationConnect(&pAccountInfo); + NIM_SHOP_RESULT_CHECK(result); + if(force) + { + if (pAccountInfo->accountStatus && (pAccountInfo->accountStatus[0] == 'R' || + pAccountInfo->accountStatus[0] == 'T')) + { + COMMON_LOGGER_DETAIL("nim::Shop::Unregister\n"); + result = nn::nim::Shop::Unregister(); + NIM_SHOP_RESULT_CHECK(result); + } + } + else + { + if (pAccountInfo->accountStatus && (pAccountInfo->accountStatus[0] == 'R')) + { + COMMON_LOGGER_DETAIL("nim::Shop::Unregister\n"); + result = nn::nim::Shop::Unregister(); + NIM_SHOP_RESULT_CHECK(result); + } + else + { + COMMON_LOGGER_DETAIL("Not registered.\n"); + } + } +} + +// メイン関数 +void ShopOperationSingleThreadFunc(ShopThreadParam param) +{ + nn::Result result; + + s_ShopResult = nn::ResultSuccess(); + + COMMON_LOGGER_DETAIL("util::ac::Initialize\n"); + result = InitializeInternal(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + NIM_SHOP_RESULT_CHECK(result); + + switch(param.op) + { + case SHOP_OPERATION_CONNECT: + { + result = ShopOperationConnect(); + NIM_SHOP_RESULT_CHECK(result); + } + break; + + case SHOP_OPERATION_GET_IVS: + { + result = ShopOperationInitialize(); + NIM_SHOP_RESULT_CHECK(result); + // IVSを取得する + result = nn::nim::Shop::ImportIvsFromInfrastructure(); + NIM_SHOP_RESULT_CHECK(result); + } + break; + + case SHOP_OPERATION_UNREGISTER: + { + ShopOperationUnregisterCore(false); + } + break; + + case SHOP_OPERATION_FORCE_UNREGISTER: + { + ShopOperationUnregisterCore(true); + } + break; + + case SHOP_OPERATION_CONNECT_WITHOUT_CLOSE: + { + result = ShopOperationConnect(); + NIM_SHOP_RESULT_CHECK(result); + return; + } + + + { + case SHOP_OPERATION_DOWNLOAD_TITLE: + COMMON_LOGGER_DETAIL("Try Download %016llx\n", param.config.titleId); + result = nn::nim::Shop::StartDownload(param.config); + + if (result == nn::nim::ResultBusy() || result == nn::nim::ResultAlreadyDone()) + { + COMMON_LOGGER("Download Content -> Nim is busy\n"); + } + else if (result == nn::nim::ResultInvalidTitle()) + { + COMMON_LOGGER("Download Content -> Invalid Title\n"); + } + else if (result.IsFailure()) + { + COMMON_LOGGER("Download Content -> Failure %x\n", result.GetPrintableBits()); + } + + /* ------------------------------------------------------------------- + GetProgress + -------------------------------------------------------------------- */ + + COMMON_LOGGER_DETAIL("nim::Shop::GetProgress()\n"); + nn::nim::TitleProgress before; + nn::nim::TitleProgress latest; + while (true) + { + result = nn::nim::Shop::GetProgress(&latest); + + NIM_SHOP_RESULT_CHECK(result); + NIM_SHOP_RESULT_CHECK(latest.lastResult); + + // Print progress + if (latest != before) + { + COMMON_LOGGER_DETAIL("%8lld / %8lld (%d:%s)\n", + latest.downloadedSize, + latest.totalSize, + latest.state.Get(), + GetTitleStateString(latest.state)); + + if (latest.state == nn::nim::TITLE_STATE_FINISHED) + { + COMMON_LOGGER_DETAIL("Finished Download\n"); + break; + } + + before = latest; + } + + // あまりにも頻繁に GetProgress を呼ぶと、ダウンロード処理の速度に + // 影響が出てしまいます。少なくとも数フレーム以上の間隔をあけて + // GetProgress することを推奨します。 + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(100)); + } + } + break; + } + + result = ShopOperationFinalize(); + NIM_SHOP_RESULT_CHECK(result); +} + +} + +void StartShopOperationSingle(ShopOperation op, nn::nim::TitleConfig config) +{ + COMMON_LOGGER_DETAIL("Start ShopOperationSingle, %s\n", SHOP_OPERATION_STR[op]); + + ShopThreadParam param; + param.op = op; + param.config = config; + s_ShopOperationThread.Start(ShopOperationSingleThreadFunc, param, s_ShopOperationThreadStack); +} + +void StartShopOperationSingle(ShopOperation op) +{ + ShopThreadParam param; + param.op = op; + + COMMON_LOGGER_DETAIL("Start ShopOperationSingle, %s\n", SHOP_OPERATION_STR[op]); + s_ShopOperationThread.Start(ShopOperationSingleThreadFunc, param, s_ShopOperationThreadStack); +} + +void FinalizeShopOperationSingle() +{ + COMMON_LOGGER_DETAIL("Finalize ShopOperationSingle\n"); + s_ShopOperationThread.Join(); + s_ShopOperationThread.Finalize(); +} + +bool IsShopOperationSingleFinished() +{ + return s_ShopOperationThread.IsValid() && !s_ShopOperationThread.IsAlive(); +} + +nn::Result GetShopOperationSingleResult() +{ + return s_ShopResult; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.h new file mode 100644 index 0000000..1cf5eac --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Shop.h @@ -0,0 +1,68 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Shop.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SHOP_H_ +#define SHOP_H_ + +#include +#include + +namespace ConsoleRestore +{ + +// ショップサーバにConsoleResotoreが接続するためのTINコード +const char* const CONSOLE_RESTORE_TIN = "987654321"; + +typedef enum SHOP_OPERATION +{ + SHOP_OPERATION_CONNECT, // Shop::ConnectしてCloseするだけ + SHOP_OPERATION_GET_IVS, // Shop::ImportIvsFromInfrastructureを実行 + SHOP_OPERATION_UNREGISTER, // Shop::Unregisterを実行 + SHOP_OPERATION_FORCE_UNREGISTER, // アカウント移行後でもUnregisterを実行 + SHOP_OPERATION_CONNECT_WITHOUT_CLOSE, // Shop::ConnectしてCloseしない + SHOP_OPERATION_DOWNLOAD_TITLE, // Titleをダウンロードする + SHOP_OPERATION_NUM_MAX + +} ShopOperation; + +// ショップ操作のモード表示用文字列(デバッグ用) +const char* const SHOP_OPERATION_STR[] = +{ + "Connect", + "Get SDCI", + "Unregister", + "Force Unregister", + "Connect Without Close", + "Download Title" +}; + +// 新たにスレッドを立て、ショップ操作を開始する +void StartShopOperationSingle(ShopOperation op, nn::nim::TitleConfig config); + +// 新たにスレッドを立て、ショップ操作を開始する +void StartShopOperationSingle(ShopOperation op); + +// ショップ操作スレッドを終了する +void FinalizeShopOperationSingle(); + +// ショップ操作スレッドが終了したかどうか +bool IsShopOperationSingleFinished(); + +// ショップ操作のResultを取得する +nn::Result GetShopOperationSingleResult(); + +} + +#endif /* SHOP_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.cpp new file mode 100644 index 0000000..2019e70 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.cpp @@ -0,0 +1,261 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: TitleDownloader.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include + +#include "FileName.h" +#include "CommonLogger.h" +#include "HeapManager.h" +#include "TitleDownloader.h" +#include "Shop.h" +#include "SdReaderWriter.h" + + +namespace +{ + +bit8 s_buffer1[400 * 1024]; + +const size_t TITLE_DOWNLOADER_STACK_SIZE = 0x1000; +nn::os::Thread s_TitleDownloaderThread; +nn::os::StackBuffer s_TitleDownloaderThreadStack; +u64 s_Progress; + +nn::fs::MediaType GetMediaType(const ES_NAMESPACE::ESTitleId titleId) +{ + return (nn::CTR::IsTwlApp(titleId)) ? + nn::fs::MEDIA_TYPE_NAND : nn::fs::MEDIA_TYPE_SDMC; +} + +const char *GetAttribute(EC_NAMESPACE::ECNameValuePair *attributes, u32 nAttributes, const char *attributeName) +{ + for(int i=0; inEntries == 1) + { + *entry = &(titleCatalog->entries[0]); + } + else + { + return nn::MakeStatusResult(nn::Result::SUMMARY_NOT_FOUND, nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_NOT_FOUND); + } + + } + return result; +} + +nn::Result GetTitleConfig(const ES_NAMESPACE::ESTitleId titleId, nn::nim::TitleConfig *titleConfig) +{ + EC_NAMESPACE::ECTitleCatalogEntry *entry; + NN_UTIL_RETURN_IF_FAILED(GetEntry(titleId, &entry)); + + titleConfig->titleId=titleId; + titleConfig->version=std::strtoull(GetAttribute(entry->attributes, entry->nAttributes, "Version"), NULL, 10); + titleConfig->ratingAge=0; + titleConfig->media=GetMediaType(titleId); + + COMMON_LOGGER_DETAIL("titleId : 0x%016llx\n", titleConfig->titleId); + COMMON_LOGGER_DETAIL("version : %lld\n" , titleConfig->version); + COMMON_LOGGER_DETAIL("ratingAge : %d\n" , titleConfig->ratingAge); + COMMON_LOGGER_DETAIL("media : %d\n" , titleConfig->media); + + + return nn::ResultSuccess(); +} + + +} // namespace + +namespace ConsoleRestore +{ + +nn::Result TitleDownloader::m_Result = nn::ResultSuccess(); + +void TitleDownloaderThreadFunc() +{ + TitleDownloader TwlTitleDownloader; + + s_Progress = 0; + TwlTitleDownloader.Start(); +} + +void StartTitleDownload() +{ + s_TitleDownloaderThread.Start(TitleDownloaderThreadFunc, s_TitleDownloaderThreadStack); +} + +bool IsDownloadTitleFinished() +{ + return s_TitleDownloaderThread.IsValid() && !s_TitleDownloaderThread.IsAlive(); +} + +void FinalizeTitleDownload() +{ + s_TitleDownloaderThread.Join(); + s_TitleDownloaderThread.Finalize(); +} + +bool DownloadTitleSucceeded() +{ + return TitleDownloader::m_Result.IsSuccess() && GetShopOperationSingleResult().IsSuccess(); +} + +u32 GetTitleDownloadProgress() +{ + return s_Progress; +} + + +TitleDownloader::TitleDownloader() : m_TwlTiteNum(0) +{ + for(u32 i = 0; i < TWL_IMPORTABLE_TITLE_MAX; i++) + { + m_ProgramIdList[i] = 0; + } + +} + +TitleDownloader::~TitleDownloader() +{ + +} + + +nn::Result WaitCancelled() +{ + nn::nim::TitleProgress progress; + while(true) + { + // キャンセルがResultとして返ってくる / ダウンロード終了まで待つ + NN_UTIL_RETURN_IF_FAILED(nn::nim::Shop::GetProgress(&progress)); + if(progress.lastResult==nn::nim::ResultCancelRequested() || progress.state==nn::nim::TITLE_STATE_FINISHED) + { + break; + } + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(100)); + } + return nn::ResultSuccess(); +} + +void WaitShopOperationAndFinalize() +{ + while (!IsShopOperationSingleFinished()) + { + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(100)); + } + + FinalizeShopOperationSingle(); +} + +void TitleDownloader::Start() +{ + m_Result = ListUp(); + if(m_Result.IsFailure()) + { + return; + } + + for(u8 i = 0; i < m_TwlTiteNum; i++) + { + s_Progress = i * 100 / m_TwlTiteNum; + StartShopOperationSingle(SHOP_OPERATION_CONNECT_WITHOUT_CLOSE); + WaitShopOperationAndFinalize(); + + nn::nim::TitleConfig config; + m_Result = GetTitleConfig(m_ProgramIdList[i], &config); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(m_Result); + if (m_Result.IsSuccess()) + { + StartShopOperationSingle(SHOP_OPERATION_DOWNLOAD_TITLE, config); + WaitShopOperationAndFinalize(); + } + } +} + +nn::Result TitleDownloader::ListUp() +{ + COMMON_LOGGER("Read TwlTitle List.\n"); + + size_t heapSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + char* titleListBuf = reinterpret_cast (common::HeapManager::GetHeap()->Allocate(heapSize)); + + size_t readSize = 0; + if (titleListBuf != NULL) + { + common::SdReaderWriter sdReader; + m_Result = sdReader.ReadBufWithCmac(common::TWL_TITLELIST_PATHNAME, titleListBuf, heapSize, &readSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(m_Result); + if (m_Result.IsSuccess()) + { + u32 listHead = 0; + for (u32 i = 0; i < readSize; i++) + { + if (titleListBuf[i] == '\n') + { + char ProgramIdStr[32]; + char *error; + std::memcpy(ProgramIdStr, &titleListBuf[listHead], i - listHead); + m_ProgramIdList[m_TwlTiteNum] = std::strtoull(ProgramIdStr, &error, 16); + m_TwlTiteNum++; + COMMON_LOGGER_DETAIL("%016llx\n", m_ProgramIdList[m_TwlTiteNum - 1]); + + listHead = i + 1; + } + } + } + COMMON_LOGGER("%d Title(s) found.\n", m_TwlTiteNum); + common::HeapManager::GetHeap()->Free(titleListBuf); + } + else + { + m_Result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + } + + return m_Result; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.h new file mode 100644 index 0000000..cd1818e --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/TitleDownloader.h @@ -0,0 +1,65 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: TitleDownloader.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef TITLEDOWNLOADER_H_ +#define TITLEDOWNLOADER_H_ + +#include + +namespace ConsoleRestore +{ + +// 新たにスレッドを立て、タイトルのダウンロードを開始する +void StartTitleDownload(); + +// タイトルのダウンロードスレッドが終了したかどうか +bool IsDownloadTitleFinished(); + +// タイトルのダウンロードスレッドが成功したかどうか +bool DownloadTitleSucceeded(); + +// タイトルのダウンロードスレッドを終了する +void FinalizeTitleDownload(); + +// タイトルダウンロードの進捗を取得する +u32 GetTitleDownloadProgress(); + +// ショップからタイトルをダウンロードするためのクラス +class TitleDownloader +{ +public: + TitleDownloader(); + virtual ~TitleDownloader(); + + // タイトルのダウンロードを開始する + void Start(); + + NN_PADDING4; + static nn::Result m_Result; + +private: + nn::Result ListUp(); + + static const size_t TWL_IMPORTABLE_TITLE_MAX = 30; + + nn::ProgramID m_ProgramIdList[TWL_IMPORTABLE_TITLE_MAX]; + u32 m_TwlTiteNum; + + +}; + +} + +#endif /* TITLEDOWNLOADER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.cpp b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.cpp new file mode 100644 index 0000000..55addb4 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.cpp @@ -0,0 +1,251 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Updater.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "CommonLogger.h" + +namespace ConsoleRestore +{ + +using namespace ES_NAMESPACE; +using namespace EC_NAMESPACE; + +/* ------------------------------------------------------------------- + GetCustomerSupportCode +-------------------------------------------------------------------- */ +#define NIM_UPDATER_RESULT_CHECK(result) \ +do { \ + if (result.IsFailure()) \ + { \ + ECCustomerSupportCode csc; \ + NN_UTIL_PANIC_IF_FAILED( \ + nn::nim::Updater::GetCustomerSupportCode(&csc)); \ + COMMON_LOGGER("CSCode: %d\n", csc); \ + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); \ + NN_DBG_PRINT_RESULT(result); \ + COMMON_LOGGER_DETAIL("Result = %08X\n", result.GetPrintableBits()); \ + s_Result = result; \ + goto LABEL_FINALIZE; \ + } \ +} while(0) + +namespace +{ + +nn::Result s_Result = nn::ResultSuccess(); + +const size_t UPDATER_THREAD_STACK_SIZE = 0x1000; +nn::os::Thread s_UpdaterThread; +nn::os::StackBuffer s_UpdaterThreadStack; + +u64 s_Progress = 0; + +nn::Result PrintNetworkSetting() +{ + nn::ac::NetworkSetting networkSetting; + NN_UTIL_RETURN_IF_FAILED(nn::ac::LoadNetworkSetting(0, networkSetting)); + COMMON_LOGGER("SSID: %s\n", networkSetting.wireless.essidSecurity.ssid); + COMMON_LOGGER("DNS : %d.%d.%d.%d\n", + networkSetting.ip.dns[0][0], networkSetting.ip.dns[0][1], + networkSetting.ip.dns[0][2], networkSetting.ip.dns[0][3]); + return nn::ResultSuccess(); +} + + +nn::Result ConnectNetwork() +{ + nn::Result result = nn::ResultSuccess(); + nn::ac::Config config; + + result = nn::ac::CreateDefaultConfig(&config); + NN_UTIL_RETURN_IF_FAILED(result); + + result = nn::ac::ConnectWithoutEula(config); + NN_UTIL_RETURN_IF_FAILED(result); + + COMMON_LOGGER_DETAIL("Success nn::ac::ConnectWithoutEula\n"); + + NN_UTIL_RETURN_IF_FAILED(PrintNetworkSetting()); + + return result; +} + +nn::Result InitializeInternal() +{ + nn::Result result = nn::ResultSuccess(); + + result = nn::ac::InitializeInternal(); + NN_UTIL_RETURN_IF_FAILED(result); + + result = ConnectNetwork(); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +nn::Result FinalizeInternal() +{ + nn::Result result = nn::ResultSuccess(); + + nn::ac::CloseAll(); + + result = nn::ac::FinalizeInternal(); + NN_UTIL_RETURN_IF_FAILED(result); + + return result; +} + +} + +void UpdateThreadFunc() +{ + nn::Result result; + + COMMON_LOGGER_DETAIL("********************UpdateThreadFunc Start********************\n"); + nn::cfg::CTR::init::Initialize(); + nn::cfg::CfgCountryCode country; + nn::cfg::CfgRegionCode region; + const char *regionStr; + const char *countryStr; + NN_UNUSED_VAR(regionStr); + NN_UNUSED_VAR(countryStr); + + country = nn::cfg::GetCountry(); + region = nn::cfg::GetRegion(); + countryStr = nn::cfg::GetCountryCodeA2(country); + regionStr = nn::cfg::GetRegionCodeA3(region); + + COMMON_LOGGER("[Updater] country:%2d:%s\n", country, countryStr); + COMMON_LOGGER("[Updater] region :%2d:%s\n", region, regionStr); + + /* ------------------------------------------------------------------- + Initialize + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("[Updater] nn::nim::InitializeForUpdater\n"); + result = nn::nim::InitializeForUpdater(); + NIM_UPDATER_RESULT_CHECK(result); + + COMMON_LOGGER_DETAIL("[Updater] InitializeInternal\n"); + result = InitializeInternal(); + NIM_UPDATER_RESULT_CHECK(result); + + + /* ------------------------------------------------------------------- + StartNetworkUpdate + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("[Updater] nn::nim::Updater::StartNetworkUpdate()\n"); + result = nn::nim::Updater::StartNetworkUpdate(); + NIM_UPDATER_RESULT_CHECK(result); + + /* ------------------------------------------------------------------- + GetProgress + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("[Updater] nn::nim::Updater::GetProgress()\n"); + + while(true) + { + nn::nim::NetworkUpdateProgress progress; + NIM_UPDATER_RESULT_CHECK(nn::nim::Updater::GetProgress(&progress)); + NIM_UPDATER_RESULT_CHECK(progress.lastResult); + COMMON_LOGGER_DETAIL("\x1b[1A\x1b[K"); + COMMON_LOGGER_DETAIL("Downloading %2lld/%2lld %8lld/%8lld (%d)\n", + progress.downloadedTitleNum, + progress.totalTitleNum, + progress.currentDownloadedSize, + progress.currentTotalSize, + static_cast(progress.state)); + + // ゼロ除算を防ぐ + if(progress.totalTitleNum == 0) + { + progress.totalTitleNum++; + progress.downloadedTitleNum++; + } + if(progress.state > nn::nim::CTR::NUP_STATE_CHECKING) + { + s_Progress = progress.downloadedTitleNum * 100 / progress.totalTitleNum; + } + + if (progress.state == nn::nim::NUP_STATE_NO_NEED) + { + COMMON_LOGGER("[Updater] No need to NetworkUpdate\n"); + s_Progress = 100; + break; + } + if (progress.state == nn::nim::NUP_STATE_FINISHED) + { + COMMON_LOGGER("[Updater] Finished NetworkUpdate\n"); + s_Progress = 100; + break; + } + + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(300)); + } + + LABEL_FINALIZE: + + /* ------------------------------------------------------------------- + Finalize + -------------------------------------------------------------------- */ + COMMON_LOGGER_DETAIL("[Updater] nn::nim::FinalizeForUpdater\n"); + result = nn::nim::FinalizeForUpdater(); + NIM_UPDATER_RESULT_CHECK(result); + + result = FinalizeInternal(); + NIM_UPDATER_RESULT_CHECK(result); + + COMMON_LOGGER_DETAIL("[Updater] Finish nim Updater demo.\n"); + +} + +void StartFGNetworkUpdate() +{ + COMMON_LOGGER_DETAIL("Start FGNetworkUpdate\n"); + s_Result = nn::ResultSuccess(); + s_UpdaterThread.Start(UpdateThreadFunc, s_UpdaterThreadStack); +} + +void FinishFGNetworkUpdate() +{ + COMMON_LOGGER_DETAIL("Finalize FGNetworkUpdate\n"); + s_UpdaterThread.Join(); + s_UpdaterThread.Finalize(); +} + +bool IsNetworkUpdateFinished() +{ + return s_UpdaterThread.IsValid() && !s_UpdaterThread.IsAlive(); +} + +u32 GetUpdateProgress() +{ + return s_Progress; +} + +nn::Result GetUpdateResult() +{ + return s_Result; +} + + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.h b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.h new file mode 100644 index 0000000..7802590 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/Updater.h @@ -0,0 +1,41 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Updater.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef UPDATER_H_ +#define UPDATER_H_ + +#include + +namespace ConsoleRestore +{ + +// 新たにスレッドを立て、ネットワークアップデートを開始する +void StartFGNetworkUpdate(); + +// ネットワークアップデートスレッドを終了する +void FinishFGNetworkUpdate(); + +// ネットワークアップデートスレッドが終了したかどうか +bool IsNetworkUpdateFinished(); + +// ネットワークアップデートの進捗を取得する +u32 GetUpdateProgress(); + +// ネットワークアップデートのResultを取得する +nn::Result GetUpdateResult(); + +} + +#endif /* UPDATER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/model.cbmd b/tags/1stNUP/ConsoleDataMigration/sources/ConsoleRestore/banner/model.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..f1c7b6279e13f5278c419d615d7d03d5660005e5 GIT binary patch literal 198785 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 MDvwobWH ../generated/ConsoleRestore/version.h diff --git a/tags/1stNUP/ConsoleDataMigration/sources/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/OMakefile new file mode 100644 index 0000000..0ebeff4 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/OMakefile @@ -0,0 +1,27 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- + +.SUBDIRS: $(exist-dirs \ + common \ + ConsoleBackup \ + ConsoleRestore \ + tools \ + ) + +if $(IsTestBuild) + .SUBDIRS: $(exist-dirs tests) + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/OMakeroot b/tags/1stNUP/ConsoleDataMigration/sources/OMakeroot new file mode 100644 index 0000000..7ee1cb5 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/OMakeroot @@ -0,0 +1,73 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakeroot +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev:$ +#---------------------------------------------------------------------------- + +# fBNgCAEgɂ‚Ă̐ +# +# a) \[XR[h[gfBNgɔzuꍇ +# : +# /OMakeroot +# /foo/bar/OMakefile +# +# : +# OMakefile ƓfBNgȉ objects images ܂B +# +# /foo/bar/objects/... +# /foo/bar/images/.. +# +# +# b) \[XR[h sources ȉɔzuꍇ +# : +# /OMakeroot +# /sources/foo/bar/OMakefile +# +# : +# [gfBNgȉ objects images ܂B +# +# /objects/foo/bar/... +# /images/foo/bar/... +# +# + +# [g‹ϐ̎擾 +public.HORIZON_ROOT = +if $(defined-env HORIZON_ROOT) + HORIZON_ROOT = $(absname $(getenv HORIZON_ROOT)) + export + +if $(defined-env CTRSDK_ROOT) + CTRSDK_ROOT = $(absname $(getenv CTRSDK_ROOT)) + if $(and $(defined-env HORIZON_ROOT), $(not $(equal $(HORIZON_ROOT), $(CTRSDK_ROOT)))) + eprintln(HORIZON_ROOT CTRSDK_ROOT v܂BpXݒ肷邩Aǂ炩`ĉB) + exit(1) + HORIZON_ROOT = $(CTRSDK_ROOT) + export + +if $(not $(HORIZON_ROOT)) + eprintln($"$$CTRSDK_ROOT `Ă܂") + exit(1) + +include $(HORIZON_ROOT)/build/omake/commondefs + +DefineCommandVars() + +.PHONY: all build clean clobber +.PHONY: run run-scripts run-emumem + +# +# OMakefile ̓ǂݍ +# +.SUBDIRS: . + diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/Aes_define.h b/tags/1stNUP/ConsoleDataMigration/sources/common/Aes_define.h new file mode 100644 index 0000000..68a4cc6 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/Aes_define.h @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Aes_define.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef AES_DEFINE_H_ +#define AES_DEFINE_H_ + +//マスタリング用ビルド時に有効にする +//#define USE_PROD_KEY + +#ifdef NN_BUILD_RELEASE +#ifndef USE_PROD_KEY +#warning !! Using Development Key on Release Build !! +#endif +#endif + +#include + +namespace common +{ + +#ifndef USE_PROD_KEY + + const bit8 key[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = + { + 0x81, 0x35, 0xc6, 0x54, 0x19, 0x1a, 0x47, 0x2a, + 0x6b, 0x78, 0xbe, 0x25, 0x90, 0xf6, 0xee, 0x74 + }; + + const bit8 cmacKey[AES_KEY_SIZE] = + { + 0x87, 0xdd, 0xc6, 0xd6, 0xf2, 0xe0, 0x2c, 0xa6, + 0x04, 0x21, 0x9c, 0x5e, 0x33, 0x8c, 0x3d, 0xaa + }; + + const bit8 iv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = + { + 0xdf, 0x0f, 0xf9, 0x1b, 0x34, 0x47, 0x70, 0x7f, + 0x7d, 0x06, 0x85, 0xe6, 0xe7, 0xb6, 0x4e, 0xe9 + }; + +#else + const bit8 key[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = + { + 0x64, 0x02, 0x6d, 0xbd, 0x9f, 0xb6, 0x62, 0x39, + 0x86, 0x90, 0x67, 0x8a, 0xe2, 0xfa, 0xe1, 0x6e + }; + + const bit8 cmacKey[AES_KEY_SIZE] = + { + 0xdf, 0x3c, 0x58, 0xeb, 0xeb, 0xbf, 0x45, 0x6d, + 0xc9, 0xbe, 0xe3, 0x10, 0xe2, 0x23, 0xfc, 0x30 + }; + + const bit8 iv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = + { + 0xe4, 0xcf, 0x58, 0xe5, 0xc9, 0xd6, 0xac, 0x7d, + 0xf1, 0xb9, 0x82, 0xf9, 0xa2, 0xd8, 0xda, 0x7b + }; +#endif + + +} + +#endif /* AES_DEFINE_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.cpp new file mode 100644 index 0000000..373230e --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.cpp @@ -0,0 +1,117 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: CommonLogger.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "CommonLogger.h" +#include "LogConsole_Private.h" + +namespace common +{ + +namespace Logger +{ + +namespace +{ + static CommonLogger s_CommonLogger; + +} + +CommonLogger::CommonLogger() +{ + + +} + +CommonLogger::~CommonLogger() +{ + +} + +void CommonLogger::Initialize(u32 width, u32 height, u32 maxLine, demo::RenderSystemDrawing* renderSystem) +{ + m_CriticalSection.Initialize(); + GetConsoleInstance()->Initialize(width, height, maxLine, renderSystem); +} + +void CommonLogger::Finalize() +{ + +} + +void CommonLogger::Print(const char* fmt, ...) +{ + nn::os::CriticalSection::ScopedLock sdLock(m_CriticalSection); + va_list vlist; + + va_start(vlist, fmt); + + NN_LOGV(fmt, vlist); + GetSdInstance()->Print(fmt, vlist); + GetConsoleInstance()->AddText(fmt, vlist); + + va_end(vlist); +} + +void CommonLogger::PrintResultSdLog(const char* fmt, ...) +{ + nn::os::CriticalSection::ScopedLock sdLock(m_CriticalSection); + va_list vlist; + + va_start(vlist, fmt); + + GetSdInstance()->Print(fmt, vlist); + + va_end(vlist); +} + +void CommonLogger::ClearSdLog() +{ + nn::os::CriticalSection::ScopedLock sdLock(m_CriticalSection); + GetSdInstance()->Clear(); +} + +void CommonLogger::ScrollUp() +{ + GetConsoleInstance()->ScrollUp(); +} + +void CommonLogger::ScrollDown() +{ + GetConsoleInstance()->ScrollDown(); +} + +void CommonLogger::ScrollToBegin() +{ + GetConsoleInstance()->ScrollToBegin(); +} + +void CommonLogger::ScrollToEnd() +{ + GetConsoleInstance()->ScrollToEnd(); +} + +void CommonLogger::DrawConsole() +{ + GetConsoleInstance()->Print(); +} + +CommonLogger* GetLoggerInstance() +{ + return &s_CommonLogger; +} + +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.h b/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.h new file mode 100644 index 0000000..e16ac9a --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/CommonLogger.h @@ -0,0 +1,116 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: CommonLogger.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef COMMONLOGGER_H_ +#define COMMONLOGGER_H_ + +#include +#include "demo.h" + +#include "SdLogger.h" + +#define COMMON_LOGGER( ... ) (void)common::Logger::GetLoggerInstance()->Print(__VA_ARGS__) +#define COMMON_LOGGER_RESULT(result, func) \ + NN_DBG_PRINT_RESULT(result); \ + (void)common::Logger::GetLoggerInstance()->PrintResultSdLog("Func = %s\n", func); \ + (void)common::Logger::GetLoggerInstance()->PrintResultSdLog("Result = %X\n", result.GetPrintableBits()); \ + +#ifndef NN_SWITCH_DISABLE_DEBUG_PRINT +#define COMMON_LOGGER_DEBUG( ... ) COMMON_LOGGER(__VA_ARGS__) +#else // ifndef NN_SWITCH_DISABLE_DEBUG_PRINT +#define COMMON_LOGGER_DEBUG( ... ) ((void)0) +#endif // ifndef NN_SWITCH_DISABLE_DEBUG_PRINT else + +#ifndef NN_SWITCH_DISABLE_DEBUG_PRINT +#ifdef COMMON_LOGGER_DETAIL_ENABLE +#define COMMON_LOGGER_DETAIL(...) COMMON_LOGGER(__VA_ARGS__) +#else +#define COMMON_LOGGER_DETAIL( ... ) ((void)0) +#endif +#else +#define COMMON_LOGGER_DETAIL( ... ) ((void)0) +#endif + + +#define COMMON_LOGGER_RESULT_WITH_LINE(result, line, func) \ + NN_LOG("%s\n", func); \ + NN_LOG("%d\n", line); \ + NN_DBG_PRINT_RESULT(result); \ + (void)common::Logger::GetLoggerInstance()->PrintResultSdLog("Func = %s\n", func); \ + (void)common::Logger::GetLoggerInstance()->PrintResultSdLog("line = %d\n", line); \ + (void)common::Logger::GetLoggerInstance()->PrintResultSdLog("Result = %X\n", result.GetPrintableBits()); \ + +#define COMMON_LOGGER_RESULT_IF_FAILED(result) \ + if(result.IsFailure()) \ + { \ + COMMON_LOGGER_RESULT(result, __func__); \ + } \ + +#define COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result) \ + if(result.IsFailure()) \ + { \ + COMMON_LOGGER_RESULT_WITH_LINE(result, __LINE__, __func__); \ + } \ + +namespace common +{ + +namespace Logger +{ + +// SDカードのログと下画面ログを同時に扱うためのクラス +class CommonLogger +{ +public: + CommonLogger(); + ~CommonLogger(); + + void Initialize(u32 width, u32 height, u32 maxLine, demo::RenderSystemDrawing* renderSystem); + void Finalize(); + + // SDログに書き込み、下画面ログ出力のためのバッファに溜め込む + void Print(const char* fmt, ...); + + // SDログのみにResult値を出力する + void PrintResultSdLog(const char* fmt, ...); + + // SDカードのログファイルを消去する + void ClearSdLog(); + + // 下画面ログを上スクロールする + void ScrollUp(); + + // 下画面ログを下スクロールする + void ScrollDown(); + + // 下画面ログの先頭にスクロールする + void ScrollToBegin(); + + // 下画面ログの末尾にスクロールする + void ScrollToEnd(); + + // バッファに溜め込まれた文字列を下画面ログに書き込む + void DrawConsole(); +private: + nn::os::CriticalSection m_CriticalSection; +}; + +CommonLogger* GetLoggerInstance(); + +} + +} + +#endif /* COMMONLOGGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.cpp new file mode 100644 index 0000000..d1457c4 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.cpp @@ -0,0 +1,187 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: DrawSystemState.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "DrawSystemState.h" +#include "ResFont.h" + +#include + +const u16 PROGRESS_MAX_LINES = 129; + +namespace common +{ + +namespace +{ +u8 s_CupMajor; +u8 s_CupMinor; +u8 s_CupMicro; +u8 s_NupMajor; +nn::cfg::CTR::CfgRegionCode s_Region; +u8 s_SerialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN + 1]; +bit64 s_DeviceId; +char8 s_MacAddress[nn::nwm::Mac::MAC_STRING_SIZE]; +u64 s_FriendCode; +u8 s_BatteryRemain; +std::string s_AdapterState; +u8 s_Progress; +::std::vector* s_OperationMessage; + +} + +u32 GetRenderTarget(u32 target, bool flip) +{ + if(flip) + { + if(target == NN_GX_DISPLAY0) + { + return NN_GX_DISPLAY1; + } + else + { + return NN_GX_DISPLAY0; + } + } + else + { + return target; + } +} + +void SetTextWriterCore() +{ + GetTextWriter()->Print("\n"); + + GetTextWriter()->Printf("System Ver. %d.%d.%d-%d\n", s_CupMajor, s_CupMinor, s_CupMicro, s_NupMajor); + GetTextWriter()->Printf("System Region %s\n", nn::cfg::CTR::GetRegionCodeA3(s_Region)); + GetTextWriter()->Printf("Serial No. %s\n", s_SerialNo); + GetTextWriter()->Printf("Device ID %llu\n", s_DeviceId); + GetTextWriter()->Printf("MAC Address %s\n", s_MacAddress); + GetTextWriter()->Printf("Friend Code %04u-%04u-%04u\n", static_cast (s_FriendCode + / 100000000ULL % 10000ULL), static_cast (s_FriendCode / 10000ULL % 10000ULL), + static_cast (s_FriendCode % 10000ULL)); + + GetTextWriter()->Printf("Battery %d%%\n", s_BatteryRemain); + GetTextWriter()->Printf("AC Adapter %s\n", s_AdapterState.c_str()); + GetTextWriter()->Printf("Progress %02d%%\n", s_Progress); + GetTextWriter()->Print("\n"); + + ::std::vector::iterator it; + for (it = s_OperationMessage->begin(); it != s_OperationMessage->end(); it++) + { + GetTextWriter()->Printf("%s\n", it->c_str()); + } + + +} + +void DrawSystemState +( + const char* toolName, + demo::RenderSystemDrawing& renderSystem, + nn::util::FloatColor titleColor, + bool flip, + std::string& adapterState, + const char* toolVersion, + u8 cupMajorVersion, + u8 cupMinorVersion, + u8 cupMicroVersion, + u8 nupVersion, + u8 batteryRemain, + u64 deviceId, + u64 friendCode, + u32 progress, + bool isBackupFailed, + bool isBackupSucceeded, + char8* macAddress, + ::std::vector& operationMessage, + nn::cfg::CTR::CfgRegionCode region, + u8* serialNo +) +{ + // パラメータ保存 + s_AdapterState = adapterState; + s_CupMajor = cupMajorVersion; + s_CupMinor = cupMinorVersion; + s_CupMicro = cupMicroVersion; + s_NupMajor = nupVersion; + s_BatteryRemain = batteryRemain; + s_DeviceId = deviceId; + s_FriendCode = friendCode; + s_Progress = progress; + std::memcpy(s_MacAddress, macAddress, sizeof(s_MacAddress)); + s_Region = region; + std::memcpy(s_SerialNo, serialNo, sizeof(s_SerialNo)); + s_SerialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN] = '\0'; + s_OperationMessage = &operationMessage; + + + // デフォルトで上画面に描画するもの + renderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY0, flip)); + if (isBackupSucceeded) + { + renderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), SUCCESS_COLOR); + } + else if (isBackupFailed) + { + renderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), FAIL_COLOR); + } + else + { + renderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), NORMAL_COLOR); + } + + + renderSystem.Clear(); + renderSystem.SetColor(1.f, 1.f, 1.f); + u32 line = 0; + + size_t fontwidth = 8; + size_t fontheight = fontwidth + 2; + + SetDrawTextHandler(SetTextWriterCore); + DrawResFont(GetRenderTarget(NN_GX_DISPLAY0, flip)); + + renderSystem.SetFontSize(fontwidth); + + // ツール名、ハイライト + renderSystem.DrawText(0, line++ * fontheight, "%s %s Rev.%s", toolName, __DATE__, toolVersion); + renderSystem.SetColor(titleColor.r, titleColor.g, titleColor.b); + renderSystem.FillRectangle(0, (line - 1) * fontheight, 400, fontheight); + renderSystem.SetColor(1.f, 1.f, 1.f); + renderSystem.DrawText(0, line++ * fontheight, ""); + + // プログレスバー + fontwidth = 8; + fontheight = 14; + line += 9; + const u8 offset = 19; + const u8 diff = 4; + renderSystem.SetColor(0.f, 0.2f, 0.f); + renderSystem.DrawLine(offset * fontwidth, (line - 1) * fontheight - diff, offset * fontwidth + PROGRESS_MAX_LINES, (line - 1) + * fontheight - diff); + renderSystem.DrawLine(offset * fontwidth, (line - 1) * fontheight - diff, offset * fontwidth, (line) * fontheight - diff); + renderSystem.DrawLine(offset * fontwidth, (line) * fontheight - diff, offset * fontwidth + PROGRESS_MAX_LINES, (line) * fontheight - diff); + renderSystem.DrawLine(offset * fontwidth + PROGRESS_MAX_LINES, (line - 1) * fontheight - diff, offset * fontwidth + + PROGRESS_MAX_LINES, (line) * fontheight + 1 - diff); + renderSystem.SetColor(0.f, 0.5f, 0.f); + renderSystem.FillRectangle(offset * fontwidth, (line - 1) * fontheight - diff, progress * PROGRESS_MAX_LINES / 100 + 1, + fontheight); + + renderSystem.SetColor(1.f, 1.f, 1.f); + renderSystem.DrawText(0, line++ * fontheight, ""); +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.h b/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.h new file mode 100644 index 0000000..8acab14 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/DrawSystemState.h @@ -0,0 +1,80 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: DrawSystemState.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef DRAWSYSTEMSTATE_H_ +#define DRAWSYSTEMSTATE_H_ + +#include +#include "demo.h" +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "common_Types.h" + +// 描画色の定義 +#define WHITE_COLOR 1.f, 1.f, 1.f, 1.f +#define GRAY_COLOR 0.5, 0.5, 0.5, 1.f +#define RED_COLOR 1.f, 0.f, 0.f, 1.f +#define GREEN_COLOR 0.f, 1.f, 0.f, 1.f +#define BLUE_COLOR 0.f, 0.f, 1.f, 1.f +#define SUCCESS_COLOR 0.f, 0.6f,0.f, 1.f +#define FAIL_COLOR 0.6f, 0.f,0.f, 1.f +#define NORMAL_COLOR 0.f, 0.f, 0.f, 1.f + +namespace common +{ + +// 現在の描画先ディスプレイを返す +// target NN_GX_DISPLAY0 または NN_GX_DISPLAY1 +// flip 上下画面を入れ替えているかどうか +u32 GetRenderTarget(u32 target, bool flip = false); + +// システム状態を描画する +// InitializeResFont()、demo::RenderSystemDrawing.Initializeが呼び出されている必要がある +void DrawSystemState +( + const char* toolName, + demo::RenderSystemDrawing& renderSystem, + nn::util::FloatColor titleColor, + bool flip, + std::string& adapterState, + const char* toolVersion, + u8 cupMajorVersion, + u8 cupMinorVersion, + u8 cupMicroVersion, + u8 nupVersion, + u8 batteryRemain, + u64 deviceId, + u64 friendCode, + u32 progress, + bool isBackupFailed, + bool isBackupSucceeded, + char8* macAddress, + ::std::vector& operationMessage, + nn::cfg::CTR::CfgRegionCode region, + u8* s_SerialNo +); + +} + + +#endif /* DRAWSYSTEMSTATE_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.cpp new file mode 100644 index 0000000..80893ed --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.cpp @@ -0,0 +1,153 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: FileChecker.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include "FileChecker.h" +#include "SdMountManager.h" + +namespace common +{ + +bool s_FileExistsChecked[EXISTS_MAX]; +bool s_FileExistsCheckeResult[EXISTS_MAX]; + +bool CheckFileExists(const wchar_t* path) +{ + nn::Result result; + bool exist = false; + result = common::SdMountManager::Mount(); + + if (result.IsSuccess()) + { + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(path); + if(result.IsSuccess()) + { + exist = true; + } + fis.Finalize(); + } + + common::SdMountManager::Unmount(); + + + return exist; +} + +bool ExistsFile(FileExistsCheck index) +{ + if(index > EXISTS_MAX) + { + NN_LOG("Invalid File index!!\n"); + return false; + } + + if(s_FileExistsChecked[index]) + { + return s_FileExistsCheckeResult[index]; + } + + s_FileExistsChecked[index] = true; + s_FileExistsCheckeResult[index] = CheckFileExists(FILENAME_TABLE[index]); + return s_FileExistsCheckeResult[index]; +} + +void ClearFileCheck(FileExistsCheck index) +{ + if(index > EXISTS_MAX) + { + NN_LOG("Invalid File index!!\n"); + return; + } + + s_FileExistsChecked[index] = false; +} + +bool ExistsUpdateCheckedFile() +{ + return ExistsFile(EXISTS_UPDATE_FINISHED); +} + +bool ExistsSerialNumberFile() +{ + return ExistsFile(EXISTS_SERIAL_NUMBER); +} + +bool ExistsIVSFile() +{ + return ExistsFile(EXISTS_IVS); +} + +bool ExistsConsoleInitializedFile() +{ + return ExistsFile(EXISTS_CONSOLE_INTIALIZED); +} + +bool ExistsWriteFinishedFile() +{ + return ExistsFile(EXISTS_WRITE_FINISHED); +} + +bool ExistsAPSetting() +{ + return ExistsFile(EXISTS_AP_SETTING); +} + +bool ExistsRtcSyncFinishedFile() +{ + return ExistsFile(EXISTS_RTC_SYNC_FINISHED); +} + +bool ExistsCountryLanguageFile() +{ + return ExistsFile(EXISTS_COUNTRY_LANGUAGE); +} + +bool ExistsRegionData() +{ + return ExistsFile(EXISTS_REGION_DATA); +} + +bool ExistsDeleteAccountChecked() +{ + return ExistsFile(EXISTS_DELETE_ACCOUNT); +} + +bool ExistsTransferAccountChecked() +{ + return ExistsFile(EXISTS_TRANSFER_ACCOUNT); +} + +bool ExistsDownloadIvsCheckedFile() +{ + return ExistsFile(EXISTS_DOWNLOAD_IVS); +} + +bool ExistsTwlTitleListFile() +{ + return ExistsFile(EXISTS_TWL_TITLELIST); +} + +void InitializeFileCheck() +{ + for(u32 i = 0; i < EXISTS_MAX; i++) + { + s_FileExistsChecked[i] = false; + } +} + + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.h b/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.h new file mode 100644 index 0000000..2172ec1 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/FileChecker.h @@ -0,0 +1,88 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: FileChecker.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef FILECHECKER_H_ +#define FILECHECKER_H_ + +#include "FileName.h" + +namespace common +{ + +// チェックしたいファイルのリスト +typedef enum FILE_EXISTS_CHECK +{ + EXISTS_UPDATE_FINISHED, // ネットワークアップデート完了 + EXISTS_SERIAL_NUMBER, // シリアルナンバー + EXISTS_IVS, // IVS + EXISTS_CONSOLE_INTIALIZED, // 本体初期化完了 + EXISTS_WRITE_FINISHED, // 書き込み完了 + EXISTS_AP_SETTING, // 無線設定ファイル + EXISTS_RTC_SYNC_FINISHED, // RTC書き込み完了 + EXISTS_COUNTRY_LANGUAGE, // 国設定書き込み完了 + EXISTS_REGION_DATA, // リージョン + EXISTS_DELETE_ACCOUNT, // アカウント削除完了 + EXISTS_TRANSFER_ACCOUNT, // アカウント移行完了 + EXISTS_DOWNLOAD_IVS, // IVSダウロード完了 + EXISTS_TWL_TITLELIST, // TWLタイトルリストファイル + EXISTS_MAX +} FileExistsCheck; + +// チェックしたいファイルのリストに対応したパス +const wchar_t* const FILENAME_TABLE[EXISTS_MAX] = +{ + common::UPDATE_CHECK_PATHNAME, + common::SERIAL_PATHNAME, + common::IVS_PATHNAME, + common::INITIALIZED_CHECK_PATHNAME, + common::WRITE_FINISHED_CHECK_PATHNAME, + common::AP_SETTING_PATHNAME, + common::RTC_SYNC_CHECK_PATHNAME, + common::COUNTRY_SETTING_PATHNAME, + common::REGION_DATA_PATHNAME, + common::DELETE_ACCOUNT_CHECK_PATHNAME, + common::TRANSFER_ACCOUNT_CHECK_PATHNAME, + common::DOWNLOAD_IVS_CHECK_PATHNAME, + common::TWL_TITLELIST_PATHNAME +}; + +// ファイルが存在するかどうか +bool CheckFileExists(const wchar_t* path); + +bool ExistsUpdateCheckedFile(); +bool ExistsSerialNumberFile(); +bool ExistsIVSFile(); +bool ExistsConsoleInitializedFile(); +bool ExistsWriteFinishedFile(); +bool ExistsAPSetting(); +bool ExistsRtcSyncFinishedFile(); +bool ExistsCountryLanguageFile(); +bool ExistsRegionData(); +bool ExistsDeleteAccountChecked(); +bool ExistsTransferAccountChecked(); +bool ExistsDownloadIvsCheckedFile(); +bool ExistsTwlTitleListFile(); + +// ファイルチェックの結果を初期化する +// 一度チェックするとその結果を保持するため +// ファイルを作成したり削除した時に呼ぶ必要がある +void ClearFileCheck(FileExistsCheck index); + +// 全てのファイルチェックの結果を初期化する +void InitializeFileCheck(); + +} + +#endif /* FILECHECKER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/FileName.h b/tags/1stNUP/ConsoleDataMigration/sources/common/FileName.h new file mode 100644 index 0000000..0d45e9c --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/FileName.h @@ -0,0 +1,102 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: FileName.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef FILENAME_H_ +#define FILENAME_H_ + +#include + +namespace common +{ + +const char* const NAND_ARCHIVE_NAME = "nand:"; +const char* const SDMC_ARCHIVE_NAME = "sdmc:"; +const char* const NAND_TWL_PHOTO_ARCHIVE_NAME = "twlp:"; +const char* const NAND_TWL_SOUND_ARCHIVE_NAME = "twls:"; +const char* const NAND_TWL_ARCHIVE_NAME = "twln:"; + +const wchar_t* const LOG_ROOT_DIRECTORY_PATH = L"sdmc:/CTR_Console_Repair"; +const wchar_t* const SD_SAVEDATA_ROOT_NAME = L"CTR_Console_Repair/CTRBackup/"; +const wchar_t* const SD_SAVEDATA_TWL_PHOTO_ROOT_NAME = L"CTR_Console_Repair/TWLPhotoBackup/"; +const wchar_t* const SD_SAVEDATA_TWL_SOUND_ROOT_NAME = L"CTR_Console_Repair/TWLSoundBackup/"; +const wchar_t* const SD_SAVEDATA_TWL_ROOT_NAME = L"CTR_Console_Repair/TWLBackup/"; +const wchar_t* const NIM_SAVEDATA_DIRECTORY_NAME = L"sysdata/0001002c"; +const wchar_t* const LOG_PATHNAME = L"CTR_Console_Repair/Migration_Log.txt"; +const wchar_t* const LOG_FILENAME = L"Migration_Log.txt"; +const wchar_t* const COUNTRY_SETTING_PATHNAME = L"sdmc:/CTR_Console_Repair/CountrySetting.bin"; +const wchar_t* const AP_SETTING_FILENAME = L"CTR_Repair_Accsess_Point_Setting.txt"; +const wchar_t* const AP_SETTING_PATHNAME = L"sdmc:/CTR_Repair_Accsess_Point_Setting.txt"; +const wchar_t* const NOR_PATHNAME = L"sdmc:/CTR_Console_Repair/NtrNorSetting.bin"; +const wchar_t* const SERIAL_PATHNAME = L"sdmc:/CTR_Console_Repair/serial.bin"; +const wchar_t* const MCU_RTC_PATHNAME = L"sdmc:/CTR_Console_Repair/rtc.bin"; +const wchar_t* const IVS_NAND_PATHNAME = L"nand:/private/movable.sed"; +const wchar_t* const IVS_PATHNAME = L"sdmc:/CTR_Console_Repair/movable.sed"; +const wchar_t* const NAND_DATA_ROOT_PATHNAME_WITH_SLASH = L"nand:/data/"; +const wchar_t* const NAND_TWL_PHOTO_DATA_ROOT_PATHNAME_WITH_SLASH = L"twlp:/"; +const wchar_t* const NAND_TWL_SOUND_DATA_ROOT_PATHNAME_WITH_SLASH = L"twls:/"; +const wchar_t* const NAND_TWL_DATA_ROOT_PATHNAME_WITHOUT_SLASH = L"twln:/title"; +const wchar_t* const SDMC_ROOT_DIRECTORY_PATH = L"sdmc:/"; +const wchar_t* const WRITE_FINISHED_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/WriteFinished"; +const wchar_t* const UPDATE_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/UpdateFinished"; +const wchar_t* const DELETE_ACCOUNT_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/AccountDeletedChecked"; +const wchar_t* const TRANSFER_ACCOUNT_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/AccountTransferedChecked"; +const wchar_t* const DOWNLOAD_IVS_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/DownloadSDCIFinished"; +const wchar_t* const INITIALIZED_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/ConsoleInitialized"; +const wchar_t* const RTC_SYNC_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/RtcSyncFinished"; +const wchar_t* const PLAYHISTORY_PATHNAME = L"sdmc:/CTR_Console_Repair/playhistory.bin"; +const wchar_t* const PLAYHISTORY_COUNT_PATHNAME = L"sdmc:/CTR_Console_Repair/playhistoryCount.bin"; +const wchar_t* const CFG_CALIBRATION_PATHNAME = L"sdmc:/CTR_Console_Repair/cfgCalibration.bin"; +const wchar_t* const VERSION_DATA_PATHNAME = L"sdmc:/CTR_Console_Repair/version.bin"; +const wchar_t* const REGION_DATA_PATHNAME = L"sdmc:/CTR_Console_Repair/Region.bin"; +const wchar_t* const DEVICE_ID_PATHNAME = L"sdmc:/CTR_Console_Repair/deviceId.bin"; +const wchar_t* const FILE_LIST_PATHNAME = L"sdmc:/CTR_Console_Repair/FileList.txt"; +const wchar_t* const TWL_TITLELIST_PATHNAME = L"sdmc:/CTR_Console_Repair/TwlTitleList.txt"; +const wchar_t* const SD_NINTENDO_3DS_ROOT_PATH = L"sdmc:/Nintendo 3DS/"; + +enum TWL_PATH_INDEX +{ + TWL_PHOTO = 0, + TWL_SOUND, + TWL_PATHNAME_MAX +}; + +const char* const TWL_ARCHIVE_NAME_TABLE[TWL_PATHNAME_MAX] = +{ + common::NAND_TWL_PHOTO_ARCHIVE_NAME, + common::NAND_TWL_SOUND_ARCHIVE_NAME + +}; + +const wchar_t* const SD_TWL_ROOTNAME_TABLE[TWL_PATHNAME_MAX] = +{ + common::SD_SAVEDATA_TWL_PHOTO_ROOT_NAME, + common::SD_SAVEDATA_TWL_SOUND_ROOT_NAME +}; + +const wchar_t* const NAND_TWL_ROOT_PATHNAME_WITH_SLASH_TABLE[TWL_PATHNAME_MAX] = +{ + common::NAND_TWL_PHOTO_DATA_ROOT_PATHNAME_WITH_SLASH, + common::NAND_TWL_SOUND_DATA_ROOT_PATHNAME_WITH_SLASH +}; + +const u32 TWL_FS_ARCHIVE_KIND[TWL_PATHNAME_MAX] = +{ + nn::fs::CTR::ARCHIVE_TYPE_TWL_PHOTO, + nn::fs::CTR::ARCHIVE_TYPE_TWL_SOUND +}; + +} + +#endif /* FILENAME_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.cpp new file mode 100644 index 0000000..4678c06 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.cpp @@ -0,0 +1,883 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: FileTransfer.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include + +#include +#include +#include +#include + +#include "Aes_define.h" +#include "FileTransfer.h" +#include "CommonLogger.h" +#include "common_Types.h" +#include "FileName.h" + +namespace common +{ + +namespace +{ + +u64 s_TotalFileSize; +u64 s_FinishedFileSize = 0; +u64 s_Progress = 0; + +} + +bool VerifyMac(nn::fs::FileInputStream* sdFile, nn::fs::FileStream* nandFile, s64 sdFileSize, s64 nandFileSize, + const wchar_t* nandPath, void* buf, size_t bufSize); +bool ConfirmFile(nn::fs::FileInputStream* from_file, nn::fs::FileStream* to_file, s64 sdFileSize, s64 nandFileSize, + void* buf, size_t bufSize, const wchar_t* sdPath, const wchar_t* tmpPath, const wchar_t* truePath); +void AddPkcsPadding(u8* paddingSize, void* buf, size_t bufSize, s32* readSize); +void AddPathNameAndUpdateContext(nn::fs::FileOutputStream* file, const wchar_t *str, s64 fileSize, + nn::crypto::Sha256Context* context); + +const char* GetCharStr(const wchar_t* path) +{ + static char filename[nn::fs::MAX_FILE_PATH_LENGTH]; + std::memset(filename, 0, sizeof(filename)); + std::wcstombs(filename, path, sizeof(filename)); + filename[sizeof(filename) - 1] = '\0'; + return filename; +} + +nn::Result CalculateFileNum(std::wstring currentDirectory, u32& fileNum, s64& fileSize) +{ + nn::fs::FileInputStream fis; + nn::fs::Directory dir; + nn::Result result; + std::vector entryList; //カレントディレクトリのエントリ一覧を格納 + std::vector::iterator entryIndex; + + result = dir.TryInitialize(currentDirectory.c_str()); + + if(result.IsSuccess()) + { + nn::fs::DirectoryEntry entry; + s32 numEntry; + for(;;) + { + result = dir.TryRead(&numEntry, &entry, 1); + if(result.IsFailure()) + { + dir.Finalize(); + return result; + } + if(numEntry == 0) + { + // カレントディレクトリを閉じる + dir.Finalize(); + + // カレントディレクトリの子を開く + for(entryIndex = entryList.begin(); entryIndex != entryList.end(); entryIndex++) + { + if(entryIndex->attributes.isDirectory) + { + CalculateFileNum(currentDirectory + std::wstring(entryIndex->entryName) + std::wstring(L"/"), fileNum, fileSize); + } + } + + return nn::ResultSuccess(); + } + + entryList.push_back(entry); + fileNum++; + fileSize+= entry.entrySize; + } + } + else + { + NN_LOG("failed initialize directory\n"); + dir.Finalize(); + return result; + } + +} + +bool ExistsInList(ImportDataList* fileList, const wchar_t* path, bool isDirectory) +{ + std::wstring sdPath(path); + if(isDirectory) + { + sdPath += std::wstring(L"/"); + } + + char str[nn::fs::MAX_FILE_PATH_LENGTH]; + std::strlcpy(str, GetCharStr(sdPath.c_str()), sizeof(str)); + + bool returnValue = false; + for(ImportDataList::iterator it = fileList->begin(); it != fileList->end(); it++) + { + if(std::strcmp(str, it->fileName.c_str()) == 0) + { + returnValue = true; + NN_LOG("%s exists in FileList.txt\n", str); + break; + } + } + + return returnValue; +} + +void ExportTwlSaveDirectory(const wchar_t* dirPath, nn::fs::FileOutputStream* list, + nn::crypto::Sha256Context* listContext) +{ + NN_LOG("Create Directory %ls\n", dirPath); + + nn::Result result = nn::fs::TryCreateDirectory(dirPath); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + AddPathNameAndUpdateContext(list, dirPath, -1, listContext); +} + +bool ExportTwlSaveFile(const wchar_t* from_path, const wchar_t* to_path, void* buf, const size_t bufSize, + nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext) +{ + NN_LOG("from = %ls\n", from_path); + NN_LOG("to = %ls\n", to_path); + + nn::Result result; + + bool ret_value = true; + // ファイル作成 + nn::fs::FileInputStream from_file; + nn::fs::FileStream to_file; + s64 filesize; + s32 readsize; + s32 writesize; + + NN_LOG("Copy File %ls\n", from_path); + + // 読み込み対象ファイル開く + result = from_file.TryInitialize(from_path); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + else + { + // 読み込み対象ファイルのサイズ取得 + result = from_file.TryGetSize(&filesize); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + else + { + AddPathNameAndUpdateContext(list, to_path, filesize, listContext); + + nn::crypto::SwAesCtrContext swAesCtrContext; + swAesCtrContext.Initialize(iv, common::key, sizeof(key)); + + size_t totalReadSize = 0; + nn::crypto::Sha256Context context; + context.Initialize(); + + // ファイルサイズをヘッダに書いておく + // 書き込み対象ファイル作成 + result = nn::fs::TryCreateFile(to_path, filesize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + result = to_file.TryInitialize(to_path, + nn::fs::OPEN_MODE_READ | nn::fs::OPEN_MODE_WRITE | nn::fs::OPEN_MODE_CREATE); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + // フルパスをハッシュに含める + context.Update(from_path, std::wcslen(from_path) * sizeof(wchar_t)); + + BackupDataHeader header; + BackupDataHeader enc; + std::memset(&header, 0, sizeof(header)); + std::memset(&enc, 0, sizeof(enc)); + header.size = filesize; + result = swAesCtrContext.Encrypt(&enc, &header, sizeof(header)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(&enc, sizeof(enc)); + s32 writeSize; + result = to_file.TryWrite(&writeSize, &enc, sizeof(enc), false); + if (result.IsFailure()) + { + ret_value = false; + return ret_value; + } + + while (1) + { + // バッファの後半半分を暗号・復号用に使う + result = from_file.TryRead(&readsize, buf, bufSize / 2); + totalReadSize += readsize; + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + return ret_value; + } + else + { + if (readsize == 0) + { + NN_LOG("Add CMAC %ls\n", from_path); + // SHA256を計算してCMACを付加する + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + context.GetHash(sha256Hash); + + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, + common::cmacKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = to_file.TryWrite(&writesize, cmac, sizeof(cmac)); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + result = to_file.TryFlush(); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + break; + } + else + { + NN_LOG("EncryptSize = %d\n", readsize); + + u8 paddingSize = 0; + AddPkcsPadding(&paddingSize, reinterpret_cast (buf), bufSize / 2, &readsize); + + // 暗号化後SHA256を計算しつつ書き込み + result = swAesCtrContext.Encrypt(reinterpret_cast (buf) + bufSize / 2, buf, readsize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(reinterpret_cast (buf) + bufSize / 2, readsize); + + result = to_file.TryWrite(&writesize, reinterpret_cast (buf) + bufSize / 2, readsize, + false); + + // 事前計算したファイルサイズに一致させるためパディング分減算 + readsize -= paddingSize; + + s_FinishedFileSize += readsize; + s_Progress = s_FinishedFileSize * 100 / s_TotalFileSize; + NN_LOG("finish = %lld, total = %lld, progress = %lld\n", s_FinishedFileSize, s_TotalFileSize, s_Progress); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + } + } + } + to_file.Finalize(); + } + } + from_file.Finalize(); + + return ret_value; +} + + +bool CopyDirectory(ImportDataList* fileList, const wchar_t * from_path, const wchar_t * to_path, void* buf, + const size_t bufSize, bool encode, nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext) +{ + nn::fs::Directory from_dir; + nn::fs::DirectoryEntry entry; + s32 numread = 0; + std::wostringstream target_from; + std::wostringstream target_to; + bool ret_value = true; + + nn::Result result = from_dir.TryInitialize(from_path); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + while (1) + { + result = from_dir.TryRead(&numread, &entry, 1); + if (result.IsFailure() || numread != 1) + { + break; + } + + if (std::wcscmp(entry.entryName, L".") == 0 || std::wcscmp(entry.entryName, L"..") == 0) + { + continue; + } + + target_from.str(L""); + target_from.clear(std::stringstream::goodbit); + target_from << from_path << entry.entryName; + + target_to.str(L""); + target_to.clear(std::stringstream::goodbit); + target_to << to_path << entry.entryName; + + // NAND書き込みの場合はリストに存在するかチェックする + if (!encode) + { + if (!ExistsInList(fileList, target_from.str().c_str(), entry.attributes.isDirectory)) + { + NN_LOG("============No such file %ls in FileList.txt. Skip=============\n", target_from.str().c_str()); + continue; + } + } + + // ディレクトリの場合 + if (entry.attributes.isDirectory) + { + // ディレクトリ作成 + NN_LOG("Create Directory %ls\n", target_to.str().c_str()); + result = nn::fs::TryCreateDirectory(target_to.str().c_str()); + if (result.IsSuccess() || result.IsFailure() && result <= nn::fs::ResultAlreadyExists()) + { + target_from << L"/"; + target_to << L"/"; + if(encode) + { + AddPathNameAndUpdateContext(list, target_to.str().c_str(), -1, listContext); + } + + // 再帰処理 + if (!CopyDirectory(fileList, target_from.str().c_str(), target_to.str().c_str(), buf, bufSize, encode, list, listContext)) + { + ret_value = false; + } + } + else + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + } + // ファイルの場合 + else + { + std::wostringstream target_tmp; + target_tmp.str(L""); + target_tmp.clear(std::stringstream::goodbit); + + if(!encode) + { + target_tmp << to_path << L"_" << entry.entryName; + } + else + { + target_tmp << target_to.str(); + } + + // ファイル作成 + nn::fs::FileInputStream from_file; + nn::fs::FileStream to_file; + s64 filesize; + s64 fileSizeWithoutHeaderAndFooter; + s32 readsize; + s32 writesize; + + NN_LOG("Copy File %ls\n", target_from.str().c_str()); + + // 読み込み対象ファイル開く + result = from_file.TryInitialize(target_from.str().c_str()); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + else + { + // 読み込み対象ファイルのサイズ取得 + result = from_file.TryGetSize(&filesize); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + else + { + if(encode) + { + AddPathNameAndUpdateContext(list, target_to.str().c_str(), filesize, listContext); + } + + nn::crypto::SwAesCtrContext swAesCtrContext; + swAesCtrContext.Initialize(iv, common::key, sizeof(key)); + + size_t totalReadSize = 0; + nn::crypto::Sha256Context context; + context.Initialize(); + + // ファイルサイズをヘッダに書いておく + if (encode) + { + // 書き込み対象ファイル作成 + result = nn::fs::TryCreateFile(target_tmp.str().c_str(), filesize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + result = to_file.TryInitialize(target_tmp.str().c_str(), + nn::fs::OPEN_MODE_READ | nn::fs::OPEN_MODE_WRITE | nn::fs::OPEN_MODE_CREATE); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + // フルパスをハッシュに含める + context.Update(target_from.str().c_str(), target_from.str().size() * sizeof(wchar_t)); + + BackupDataHeader header; + BackupDataHeader enc; + std::memset(&header, 0, sizeof(header)); + std::memset(&enc, 0, sizeof(enc)); + header.size = filesize; + result = swAesCtrContext.Encrypt(&enc, &header, sizeof(header)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(&enc, sizeof(enc)); + s32 writeSize; + result = to_file.TryWrite(&writeSize, &enc, sizeof(enc), false); + if (result.IsFailure()) + { + ret_value = false; + continue; + } + } + else + { + // ヘッダを読む + // ハッシュの計算は終わっているので復号化のみ + BackupDataHeader header; + BackupDataHeader dec; + std::memset(&header, 0, sizeof(header)); + std::memset(&dec, 0, sizeof(dec)); + s32 readSize; + result = from_file.TryRead(&readSize, &header, sizeof(header)); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + continue; + } + swAesCtrContext.Decrypt(&dec, &header, sizeof(header)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + fileSizeWithoutHeaderAndFooter = dec.size; + + // 書き込み対象ファイル作成 + result = nn::fs::TryCreateFile(target_tmp.str().c_str(), fileSizeWithoutHeaderAndFooter); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + result = to_file.TryInitialize(target_tmp.str().c_str(), + nn::fs::OPEN_MODE_READ | nn::fs::OPEN_MODE_WRITE | nn::fs::OPEN_MODE_CREATE); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + } + + while (1) + { + // バッファの後半半分を暗号・復号用に使う + result = from_file.TryRead(&readsize, buf, bufSize / 2); + totalReadSize += readsize; + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + break; + } + else + { + if (readsize == 0) + { + if (encode) + { + NN_LOG("Add CMAC %ls\n", target_from.str().c_str()); + // SHA256を計算してCMACを付加する + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + context.GetHash(sha256Hash); + + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, + nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = to_file.TryWrite(&writesize, cmac, sizeof(cmac)); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + } + + result = to_file.TryFlush(); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + // 復号済みなら検証する + if (!encode) + { + if (!ConfirmFile(&from_file, &to_file, filesize, fileSizeWithoutHeaderAndFooter, + buf, bufSize, target_from.str().c_str(), target_tmp.str().c_str(), + target_to.str().c_str())) + { + ret_value = false; + } + } + + break; + } + else + { + if (encode) + { + NN_LOG("EncryptSize = %d\n", readsize); + + u8 paddingSize = 0; + AddPkcsPadding(&paddingSize, reinterpret_cast(buf), bufSize / 2, &readsize); + + // 暗号化後SHA256を計算しつつ書き込み + result = swAesCtrContext.Encrypt(reinterpret_cast (buf) + bufSize / 2, buf, + readsize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(reinterpret_cast (buf) + bufSize / 2, readsize); + + result = to_file.TryWrite(&writesize, reinterpret_cast (buf) + bufSize / 2, + readsize, false); + + // 事前計算したファイルサイズに一致させるためパディング分減算 + readsize -= paddingSize; + + s_FinishedFileSize += readsize; + s_Progress = s_FinishedFileSize * 100 / s_TotalFileSize; + NN_LOG("finish = %lld, total = %lld, progress = %lld\n", s_FinishedFileSize, s_TotalFileSize, s_Progress); + } + else + { + // ハッシュ検証は通っているので復号化しつつ書き込み + // パディング以降は書き込まないよう書き込みサイズを変更する + + NN_LOG("DecryptSize = %d\n", readsize); + result = swAesCtrContext.Decrypt(reinterpret_cast (buf) + bufSize / 2, buf, + readsize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // パディングまで読んだかどうか + bool readDone = false; + // パディングまで読んでいたら書き込みサイズを減らす + if (fileSizeWithoutHeaderAndFooter < totalReadSize) + { + readsize -= totalReadSize - fileSizeWithoutHeaderAndFooter; + readDone = true; + } + + result = to_file.TryWrite(&writesize, reinterpret_cast (buf) + bufSize / 2, + readsize, false); + s_FinishedFileSize += readsize; + s_Progress = s_FinishedFileSize * 100 / s_TotalFileSize; + NN_LOG("finish = %lld, total = %lld, progress = %lld\n", s_FinishedFileSize, s_TotalFileSize, s_Progress); + + // 読みきったので次のファイルへ + if (readDone) + { + result = to_file.TryFlush(); + if (result.IsFailure()) + { + ret_value = false; + } + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + if (!ConfirmFile(&from_file, &to_file, filesize, + fileSizeWithoutHeaderAndFooter, buf, bufSize, + target_from.str().c_str(), target_tmp.str().c_str(), + target_to.str().c_str())) + { + s_FinishedFileSize -= readsize; + ret_value = false; + } + break; + } + } + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + + } + } + } + to_file.Finalize(); + } + } + from_file.Finalize(); + } + } + + from_dir.Finalize(); + return ret_value; +} + +u32 GetProgress() +{ + return s_Progress; +} + +void InitializeTransferProgress(u64 totalSize) +{ + s_TotalFileSize = totalSize; + s_FinishedFileSize = 0; +} + +bool CalculateAndCompareCmac(nn::crypto::Sha256Context* context, bit8* sdCmac) +{ + nn::Result result; + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + + context->GetHash(sha256Hash); + context->Finalize(); + + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, sizeof(sha256Hash), common::cmacKey); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + return std::memcmp(cmac, sdCmac, sizeof(cmac)) == 0; +} + + +bool VerifyMac(nn::fs::FileInputStream* sdFile, nn::fs::FileStream* nandFile, s64 sdFileSize, s64 nandFileSize, + const wchar_t* nandPath, void* buf, size_t bufSize) +{ + nn::Result result; + bit8 sdCmac[nn::crypto::AES_CMAC_MAC_SIZE]; + + // ハッシュが付加されていないとエラー + if(sdFileSize < nn::crypto::AES_CMAC_MAC_SIZE) + { + return false; + } + + s32 readSize; + // ハッシュを取得する + nn::crypto::Initialize(); + result = sdFile->TrySetPosition(sdFileSize - nn::crypto::AES_CMAC_MAC_SIZE); + if (result.IsSuccess()) + { + result = sdFile->TryRead(&readSize, sdCmac, sizeof(sdCmac)); + if(result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + } + else + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + sdFile->Finalize(); + + nandFile->SetPosition(0); + + // ハッシュを計算する + nn::crypto::SwAesCtrContext swAesCtrContext; + swAesCtrContext.Initialize(iv, common::key, sizeof(key)); + + nn::crypto::Sha256Context context; + context.Initialize(); + + // NAND上のフルパスをハッシュに含めている + context.Update(nandPath, std::wcslen(nandPath) * sizeof(wchar_t)); + + BackupDataHeader header; + BackupDataHeader enc; + std::memset(&header, 0, sizeof(header)); + std::memset(&enc, 0, sizeof(enc)); + header.size = nandFileSize; + result = swAesCtrContext.Encrypt(&enc, &header, sizeof(header)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(&enc, sizeof(enc)); + + bool ret_value = false; + + size_t totalReadSize = 0; + while (1) + { + result = nandFile->TryRead(&readSize, buf, bufSize / 2); + totalReadSize += readSize; + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + break; + } + else + { + if (readSize == 0) + { + ret_value = CalculateAndCompareCmac(&context, sdCmac); + break; + } + else + { + u8 paddingSize = 0; + AddPkcsPadding(&paddingSize, reinterpret_cast(buf), bufSize / 2, &readSize); + result = swAesCtrContext.Encrypt(reinterpret_cast(buf) + bufSize / 2, buf, readSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + context.Update(reinterpret_cast(buf) + bufSize / 2 , readSize); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + } + } + } + nn::crypto::Finalize(); + nandFile->Finalize(); + + return ret_value; +} + +bool ConfirmFile(nn::fs::FileInputStream* from_file, nn::fs::FileStream* to_file, s64 sdFileSize, s64 nandFileSize, + void* buf, size_t bufSize, const wchar_t* sdPath, const wchar_t* tmpPath, const wchar_t* truePath) +{ + nn::Result result; + + bool ret_value = true; + NN_LOG("Verify CMAC %ls\n", sdPath); + if (!VerifyMac(from_file, to_file, sdFileSize, nandFileSize, truePath, buf, bufSize)) + { + // 検証に失敗したので削除する + s_FinishedFileSize -= nandFileSize; + COMMON_LOGGER("**********Verification Failed %s, Delete**********\n", GetCharStr(sdPath)); + result = nn::fs::TryDeleteFile(tmpPath); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + } + else + { + NN_LOG("Verification Success %s, Rename\n", GetCharStr(sdPath)); + // 削除する + nn::fs::TryDeleteFile(truePath); + // リネームする + result = nn::fs::TryRenameFile(tmpPath, truePath); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED(result); + s_FinishedFileSize -= nandFileSize; + ret_value = false; + } + } + + return ret_value; +} + +//! @brief 入力データの末尾16バイトをPKCS5で必要バイト数パディングする +//! @param[out] paddingSize パディングしたバイト数 +//! @param[in] buf 入力データの入ったバッファ +//! @param[in] bufSize バッファサイズ +//! @param[inout] readSize バッファに読み込んだバイト数。書き込み時に参照するためパディングしたら増加させる +void AddPkcsPadding(u8* paddingSize, void* buf, size_t bufSize, s32* readSize) +{ + if (*readSize < bufSize) + { + if ((*readSize % AES_BLOCK_SIZE) != 0) + { + *paddingSize = AES_BLOCK_SIZE - *readSize % AES_BLOCK_SIZE; + std::memset(reinterpret_cast(buf) + *readSize, *paddingSize, *paddingSize); + *readSize += *paddingSize; + } + } +} + +//! @brief パスにnimのセーブデータディレクトリが含まれているかどうかを返します +//! @param[in] str パス +//! @return パスにnimのセーブデータディレクトリが含まれているか +bool ContainsNimSaveDataDir(const wchar_t* str) +{ + return std::wcsstr(str, common::NIM_SAVEDATA_DIRECTORY_NAME) != NULL; +} + +//! @brief ファイルに文字列とサイズをカンマ区切り、改行付きで追加します +//! @param[in] file 文字列を出力したいファイル +//! @param[in] str 入力文字列 +//! @param[in] fileSize サイズ +//! @param[in] context SHA-256計算用コンテキスト +void AddPathNameAndUpdateContext(nn::fs::FileOutputStream* file, const wchar_t *str, s64 fileSize, + nn::crypto::Sha256Context* context) +{ + nn::Result result; + s32 writeSize; + + if(ContainsNimSaveDataDir(str)) + { + return; + } + + std::string output(GetCharStr(str)); + result = file->TryWrite(&writeSize, output.c_str(), output.size(), true); + context->Update(output.c_str(), output.size()); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + char comma = ','; + result = file->TryWrite(&writeSize, &comma, sizeof(comma), true); + context->Update(&comma, sizeof(comma)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + char sizeStr[10]; + std::memset(sizeStr, 0, sizeof(sizeStr)); + s32 sizeStrSize = std::snprintf(sizeStr, sizeof(sizeStr), "%lld", fileSize); + result = file->TryWrite(&writeSize, sizeStr, sizeStrSize, true); + context->Update(sizeStr, sizeStrSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + char newLine = '\n'; + result = file->TryWrite(&writeSize, &newLine, sizeof(newLine), true); + context->Update(&newLine, sizeof(newLine)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.h b/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.h new file mode 100644 index 0000000..625b65a --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/FileTransfer.h @@ -0,0 +1,62 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: FileTransfer.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef FILETRANSFER_H_ +#define FILETRANSFER_H_ + +#include +#include +#include +#include "common_Types.h" + +namespace common +{ + +// currentDirectory以下のファイル数、ファイルサイズを再帰的に計算する +nn::Result CalculateFileNum(std::wstring currentDirectory, u32& fileNum, s64& fileSize); + +// 単一のディレクトリを作成する +// アーカイブはマウント済みにしておく +void ExportTwlSaveDirectory(const wchar_t* dirPath, nn::fs::FileOutputStream* list, + nn::crypto::Sha256Context* listContext); + +// 単一のファイルをコピーする +// アーカイブはマウント済みにしておく +bool ExportTwlSaveFile(const wchar_t* from_path, const wchar_t* to_path, void* buf, const size_t bufSize, + nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext); + +// ディレクトリ間のコピー +// アーカイブ越しのコピーが可能 +// アーカイブにマウントした状態で呼び出す必要あり +// 書き込み先のディレクトリはあらかじめ消去しておくこと。 +// 引数はスラッシュ付き +// TODO:分割して短くする +bool CopyDirectory(ImportDataList* fileList, const wchar_t * from_path, const wchar_t * to_path, void* buf, + const size_t bufSize, bool encode, nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext); + +// ファイル転送の進捗を取得する +// InitializeTransferProgress で設定した値を100とする割合が返される +u32 GetProgress(); + +// ファイル転送の目標値を設定する +void InitializeTransferProgress(u64 totalSize); + +// wchar_t* を char* に変換する。 +// 内部のバッファを使用するためスレッドアンセーフ +const char* GetCharStr(const wchar_t* path); + +} + +#endif /* FILETRANSFER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.cpp new file mode 100644 index 0000000..aa633ee --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.cpp @@ -0,0 +1,81 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HardwareStateManager.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "HardwareStateManager.h" + +namespace common +{ + +HardwareStateManager::HardwareStateManager(Util& hwUtility) +{ + m_pUtil = &hwUtility; +} + +HardwareStateManager::~HardwareStateManager() +{ + +} + +void HardwareStateManager::Finalize() +{ + m_pUtil->Finalize(); +} + +bool HardwareStateManager::CanReadIvs() +{ + return m_pUtil->CanReadIVS(); +} + +bool HardwareStateManager::CanReadSerialNumber() +{ + return m_pUtil->CanReadSerialNumber(); +} + +bool HardwareStateManager::IsBatteryLower() +{ + return m_pUtil->IsBatteryLower(); +} + +bool HardwareStateManager::IsAdapterConnected() +{ + return m_pUtil->IsAdapterConnected(); +} + +bit32 HardwareStateManager::GetDeviceId() +{ + return m_pUtil->GetDeviceId(); +} + +void HardwareStateManager::GetIvs(void** ivs, size_t* size) +{ + return m_pUtil->GetIvs(ivs, size); +} + +nn::Handle HardwareStateManager::GetMcuHandle() +{ + return m_pUtil->GetMcuHandle(); +} + +void HardwareStateManager::GetSerialNumber(u8** serial, size_t* size) +{ + return m_pUtil->GetSerialNumber(serial, size); +} + +void HardwareStateManager::GetVersionData(common::VerDef* version) +{ + return m_pUtil->GetVersionData(version); +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.h b/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.h new file mode 100644 index 0000000..65b6525 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/HardwareStateManager.h @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HardwareStateManager.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef HARDWARESTATEMANAGER_H_ +#define HARDWARESTATEMANAGER_H_ + +#include "Util.h" + + +namespace common +{ + +// ハードウェア状態に依存するAPIをクッション +class HardwareStateManager +{ +public: + explicit HardwareStateManager(Util& hwUtility); + virtual ~HardwareStateManager(); + + void Finalize(); + + bool CanReadIvs(); + bool CanReadSerialNumber(); + bool IsBatteryLower(); + bool IsAdapterConnected(); + bit32 GetDeviceId(); + void GetIvs(void** ivs, size_t* size); + nn::Handle GetMcuHandle(); + void GetSerialNumber(u8** serial, size_t* size); + void GetVersionData(common::VerDef* version); + +private: + NN_PADDING4; + Util* m_pUtil; +}; + +} + +#endif /* HARDWARESTATEMANAGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.cpp new file mode 100644 index 0000000..22b8e87 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.cpp @@ -0,0 +1,38 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HeapManager.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "HeapManager.h" + +namespace common +{ + +nn::fnd::ThreadSafeExpHeap HeapManager::s_AppHeap; + +HeapManager::HeapManager() +{ + +} + +HeapManager::~HeapManager() +{ + +} + +nn::fnd::ThreadSafeExpHeap* HeapManager::GetHeap() +{ + return &s_AppHeap; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.h b/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.h new file mode 100644 index 0000000..b9fc469 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/HeapManager.h @@ -0,0 +1,40 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HeapManager.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef HEAPMANAGER_H_ +#define HEAPMANAGER_H_ + +#include + +namespace common +{ + +class HeapManager +{ +public: + HeapManager(); + virtual ~HeapManager(); + + static nn::fnd::ThreadSafeExpHeap* GetHeap(); + +private: + // デバイスメモリ管理用拡張ヒープ + static nn::fnd::ThreadSafeExpHeap s_AppHeap; + +}; + +} // namespace common + +#endif /* HEAPMANAGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.cpp new file mode 100644 index 0000000..0af3ee8 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.cpp @@ -0,0 +1,172 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: LogConsole.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "LogConsole.h" +#include + +namespace common +{ + +const size_t FONT_WIDTH = 8; +const size_t FONT_HEIGHT = 10; + +static LogConsole s_LogConsole; + +LogConsole* GetConsoleInstance() +{ + return &s_LogConsole; +} + +LogConsole::LogConsole() +{ + +} + +LogConsole::~LogConsole() +{ + +} + +void LogConsole::Initialize(u32 width, u32 height, u32 maxLine, demo::RenderSystemDrawing* renderSystem) +{ + m_Width = width; + m_Height = height; + m_MaxLine = maxLine; + m_RenderSystem = renderSystem; + m_CurrentViewLine = 0; + m_LineNum = 0; +} + +void LogConsole::AddText(const char* fmt, ::std::va_list arg) +{ + s32 stringSize; + const size_t STRING_BUFFER_SIZE = 256; + char formatStr[STRING_BUFFER_SIZE]; + + stringSize = nn::nstd::TVSNPrintf(formatStr, sizeof(formatStr), fmt, arg); + ::std::string str(formatStr); + + size_t addedText = 0; + while (addedText < stringSize) + { + if(m_LineNum >= m_MaxLine) + { + // 満杯なので先頭を削除する + ::std::vector::iterator it; + it = m_Log.begin(); + m_Log.erase(it); + m_LineNum--; + } + + // 部分文字列を追加 + AddWrapedText(str.substr(addedText, m_Width).c_str()); + m_LineNum++; + + // 画面領域の末尾を描画中 かつ + // 画面領域以上追加したら末尾にスクロールする + if(m_CurrentViewLine == (m_LineNum - m_Height - 1) && m_LineNum > m_Height) + { + ScrollToEnd(); + } + + + if(stringSize - addedText > m_Width) + { + addedText += m_Width; + } + else + { + addedText += stringSize - addedText; + } + } +} + +void LogConsole::ScrollUp() +{ + if(m_CurrentViewLine > 0) + { + m_CurrentViewLine--; + } +} + + + +void LogConsole::ScrollDown() +{ + if (m_LineNum > m_Height) + { + if (m_CurrentViewLine < m_LineNum - m_Height) + { + m_CurrentViewLine++; + } + + } +} + +void LogConsole::ScrollToBegin() +{ + m_CurrentViewLine = 0; +} + +void LogConsole::ScrollToEnd() +{ + if(m_LineNum > m_Height) + { + m_CurrentViewLine = m_LineNum - m_Height; + } +} + + +void LogConsole::Print() +{ + ::std::vector::iterator it; + + it = m_Log.begin(); + it += m_CurrentViewLine; + + u32 count = 0; + for(; it != m_Log.end() && count < m_Height && count < m_MaxLine; it++) + { + m_RenderSystem->DrawText(0, count++ * 10, "%s", it->c_str()); + } + + if(m_LineNum > m_Height) + { + DrawScrollBar(); + } +} + + +void LogConsole::AddWrapedText(const char* str) +{ + m_Log.push_back(::std::string(str)); +} + +void LogConsole::DrawScrollBar() +{ + m_RenderSystem->SetColor(0.4f, 0.4f, 0.4f); + m_RenderSystem->DrawLine((m_Width + 1) * FONT_WIDTH, 0, (m_Width + 2) * FONT_WIDTH - 1, 0); + m_RenderSystem->DrawLine((m_Width + 1)* FONT_WIDTH, 0, (m_Width + 1)* FONT_WIDTH, m_Height * FONT_HEIGHT); + m_RenderSystem->DrawLine((m_Width + 2) * FONT_WIDTH - 1, 0, (m_Width + 2) * FONT_WIDTH - 1, m_Height * FONT_HEIGHT); + m_RenderSystem->DrawLine((m_Width + 1)* FONT_WIDTH, m_Height * FONT_HEIGHT - 1, (m_Width + 2) * FONT_WIDTH - 1, m_Height * FONT_HEIGHT - 1); + + u32 y = (m_Height * FONT_HEIGHT - 2) * m_CurrentViewLine / m_MaxLine; + m_RenderSystem->SetColor(0.7f, 0.7f, 0.7f); + m_RenderSystem->FillRectangle((m_Width + 1) * FONT_WIDTH, y + 1, FONT_WIDTH - 1, FONT_HEIGHT - 4); + + m_RenderSystem->SetColor(1.f, 1.f, 1.f); +} + +} //namespace ConsoleBackup diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.h b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.h new file mode 100644 index 0000000..9b120bc --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole.h @@ -0,0 +1,79 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: LogConsole.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef LOGCONSOLE_H_ +#define LOGCONSOLE_H_ + +#include +#include +#include +#include "demo.h" + +namespace common +{ + +//! @brief 画面にテキストコンソールを描画します +class LogConsole +{ + +public: + LogConsole(); + ~LogConsole(); + + void Initialize(u32 width, u32 height, u32 maxLine, demo::RenderSystemDrawing* renderSystem); + + // コンソールに描画する文字列を追加する + void AddText(const char* fmt, ::std::va_list arg); + + // 上スクロールする + void ScrollUp(); + + // 下スクロールする + void ScrollDown(); + + // 先頭にスクロールする + void ScrollToBegin(); + + // 末尾にスクロールする + void ScrollToEnd(); + + // AddTextで追加された文字列を描画する + void Print(); + +private: + void AddWrapedText(const char* str); + void DrawScrollBar(); + + ::std::vector m_Log; + + //! @brief コンソールの列数 + u32 m_Width; + //! @brief コンソールの行数 + u32 m_Height; + //! @brief コンソールのログの最大行数 + u32 m_MaxLine; + //! @brief 描画のためのRenderSystemDrawingへのポインタ + demo::RenderSystemDrawing* m_RenderSystem; + //! @brief 追加したログの行数 + u32 m_LineNum; + //! @brief 表示を開始するログの行数 + u32 m_CurrentViewLine; + + +}; + +} + +#endif /* LOGCONSOLE_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole_Private.h b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole_Private.h new file mode 100644 index 0000000..8fbdd42 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/LogConsole_Private.h @@ -0,0 +1,28 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: LogConsole_Private.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef LOGCONSOLE_PRIVATE_H_ +#define LOGCONSOLE_PRIVATE_H_ + +#include "LogConsole.h" + +namespace common +{ + +LogConsole* GetConsoleInstance(); + +} + +#endif /* LOGCONSOLE_PRIVATE_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/common/OMakefile new file mode 100644 index 0000000..e874cbc --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/OMakefile @@ -0,0 +1,18 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +include $(ROOT_OMAKE)/modulerules + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.cpp new file mode 100644 index 0000000..c846745 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.cpp @@ -0,0 +1,224 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: PlayHistoryManager.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include + +#include "PlayHistoryManager.h" +#include "HeapManager.h" +#include "SdMountManager.h" +#include "SdReaderWriter.h" +#include "CommonLogger.h" +#include "FileName.h" +#include "ProgramId.h" + +namespace common +{ + +PlayHistoryManager::PlayHistoryManager() +{ + + +} + +PlayHistoryManager::~PlayHistoryManager() +{ + +} + +void PlayHistoryManager::Export() +{ + nn::Result result; + SdMountManager::Mount(); + SdReaderWriter sd; + + size_t historyNum = nn::pl::CTR::GetPlayHistoryLength(); + if ( historyNum == 0) + { + NN_LOG("No Play Event\n"); + return; + } + + // SDに書き込む + result = sd.WriteBufWithCmac(common::PLAYHISTORY_COUNT_PATHNAME, reinterpret_cast(&historyNum), + sizeof(historyNum)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + nn::pl::CTR::PlayEvent* pEvent; + pEvent = reinterpret_cast (HeapManager::GetHeap()->Allocate( + sizeof(nn::pl::CTR::PlayEvent) * historyNum)); + if ( pEvent == NULL ) + { + NN_LOG("Failed to Allocate Heap\n"); + return; + } + + // 一番古いデータから素直に全部読み込む + nn::pl::CTR::GetPlayHistory(pEvent, 0, historyNum); + + // SDに書き込む + result = sd.WriteBufWithCmac(common::PLAYHISTORY_PATHNAME, reinterpret_cast(pEvent), + sizeof(nn::pl::CTR::PlayEvent) * historyNum); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + HeapManager::GetHeap()->Free(pEvent); + + SdMountManager::Unmount(); +} + +nn::Result PlayHistoryManager::GetPlayHistoryNums(size_t* nums) +{ + nn::Result result = nn::ResultSuccess(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::PLAYHISTORY_COUNT_PATHNAME, buf, bufSize, &readSize); + if (result.IsSuccess()) + { + *nums = *reinterpret_cast (buf); + } + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + HeapManager::GetHeap()->Free(buf); + } + return result; +} + +nn::Result PlayHistoryManager::Import() +{ + nn::Result result = nn::ResultSuccess(); + SdMountManager::Mount(); + SdReaderWriter sd; + + SdMountManager::Mount(); + + // プレイ履歴の件数を取得する + size_t historyNum = 0; + + GetPlayHistoryNums(&historyNum); + + if(historyNum == 0) + { + NN_LOG("No PlayHistory found\n"); + return nn::Result(nn::Result::LEVEL_PERMANENT, nn::Result::SUMMARY_NOT_FOUND, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_NOT_FOUND); + } + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize); + if (buf != NULL) + { + common::SdReaderWriter sdReader; + + size_t readSize; + result = sdReader.ReadBufWithCmac(common::PLAYHISTORY_PATHNAME, buf, bufSize, &readSize); + if(result.IsSuccess()) + { + nn::pl::CTR::PlayEvent* pEvent = reinterpret_cast(buf); + NN_LOG("history num = %d\n", historyNum); + + // プレイ履歴を無効化する + nn::pl::CTR::ClearPlayHistory(); + + // データ移行ツールを無視して書き込む + for(u32 i = 0; i < historyNum; i++) + { + COMMON_LOGGER("Importing PlayHistory %d/%d", i, historyNum); + if ((pEvent[i].GetProgramId() & WITHOUT_VALIATION_MASK) != CONSOLE_BACKUP_PROGRAM_ID + && (pEvent[i].GetProgramId() & WITHOUT_VALIATION_MASK) != CONSOLE_RESTORE_PROGRAM_ID) + { + NN_LOG("%05d 0x%16llx : %X : %d\n", i, pEvent[i].GetProgramId(), pEvent[i].GetEventType(), + pEvent[i].minutes); + + nn::pl::CTR::NotifyPlayEvent(pEvent[i].GetEventType(), pEvent[i].GetProgramId(), + pEvent[i].GetEventTime()); + } + else + { + NN_LOG("Skipped\n"); + } + } + + } + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + common::HeapManager::GetHeap()->Free(buf); + } + else + { + NN_LOG("Failed Allocate Heap!! %s, %d", __FILE__, __LINE__); + return result; + } + + SdMountManager::Unmount(); + + return result; +} + +void PlayHistoryManager::Dump() +{ + nn::Result result; + + s32 playEventLength = nn::pl::CTR::GetPlayHistoryLength(); + if ( playEventLength == 0 ) + { + NN_LOG("No Play Event\n"); + return; + } + + nn::pl::CTR::PlayEvent* playEvent = reinterpret_cast (HeapManager::GetHeap()->Allocate( + sizeof(nn::pl::CTR::PlayEvent) * playEventLength)); + if ( playEvent == NULL ) + { + NN_LOG("Failed to Allocate Heap\n"); + return; + } + + // 一番古いデータから素直に全部読み込む + (void)nn::pl::CTR::GetPlayHistory(playEvent, 0, playEventLength); + + // 取得したデータを順番にすべて表示していく + s32 restPlayEventLength = playEventLength; + s32 displayCount = 0; + + nn::pl::CTR::PlayEvent* pEvent; + while ( restPlayEventLength > 0 ) + { + // 一気に表示できるところまで表示する + int line; + for ( line = 0; line < 24; line++ ) + { + pEvent = &playEvent[displayCount]; + NN_LOG("0x%16llx : %X : %d\n", pEvent->GetProgramId(), pEvent->eventType, pEvent->minutes); + restPlayEventLength--; + displayCount++; + if(restPlayEventLength <= 0) + { + break; + } + } + } + NN_UNUSED_VAR(pEvent); + + HeapManager::GetHeap()->Free(playEvent); + return; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.h b/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.h new file mode 100644 index 0000000..73afb52 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/PlayHistoryManager.h @@ -0,0 +1,45 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: PlayHistoryManager.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef PLAYHISTORYMANAGER_H_ +#define PLAYHISTORYMANAGER_H_ + +namespace common +{ + +//! @brief データ移行ツールの履歴を消しながらプレイ履歴を移行するためのクラスです。 +class PlayHistoryManager +{ +public: + PlayHistoryManager(); + virtual ~PlayHistoryManager(); + + //! @brief SDカードに出力します。 + void Export(); + + //! @brief SDカードからプレイ履歴に書き込みます + nn::Result Import(); + + //! @brief デバッグ用。プレイ履歴をデバッグ出力します。 + void Dump(); + +private: + nn::Result GetPlayHistoryNums(size_t* nums); + +}; + +} + +#endif /* PLAYHISTORYMANAGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/ProgramId.h b/tags/1stNUP/ConsoleDataMigration/sources/common/ProgramId.h new file mode 100644 index 0000000..c565f11 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/ProgramId.h @@ -0,0 +1,28 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ProgramId.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef PROGRAMID_H_ +#define PROGRAMID_H_ + +namespace common +{ + +const u64 CONSOLE_BACKUP_PROGRAM_ID = 0x000400000f802200L; +const u64 CONSOLE_RESTORE_PROGRAM_ID = 0x000400000f802300L; +const u64 WITHOUT_VALIATION_MASK = 0xffffffffffffff00L; + +} + +#endif /* PROGRAMID_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.cpp new file mode 100644 index 0000000..b0183df --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.cpp @@ -0,0 +1,417 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ResFont.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +//------------------------------------------------------------------ +// デモ: ResFont +// +// 概要 +// nn::font::ResFont の構築と破棄のサンプルです。 +// +// 操作 +// なし。 +// +//------------------------------------------------------------------ + +#include +#include +#include +#include +#include + +#include "ResFont.h" +#include "demo.h" +#include "HeapManager.h" + +namespace common +{ + +namespace +{ +const char s_ShaderBinaryFilePath[] = "rom:/nnfont_RectDrawerShader.shbin"; +const char s_FontFilePath[] = "rom:/lc.bcfnt"; + +const u8 s_Color = 255; + +nn::font::RectDrawer s_Drawer; +void* s_DrawerBuf; +nn::font::ResFont s_Font; +nn::font::DispStringBuffer *s_pDrawStringBuf0; +nn::font::TextWriter s_TextWriter; +void (*s_DrawTextFunc)() = NULL; + +//--------------------------------------------------------------------------- +//! @brief シェーダの初期化を行います。 +//! +//! @param[in,out] pResource 描画用リソースを管理するオブジェクトへのポインタ。 +//--------------------------------------------------------------------------- +void* +InitShaders(nn::font::RectDrawer* pDrawer) +{ + nn::fs::FileReader shaderReader(s_ShaderBinaryFilePath); + + const u32 fileSize = (u32)shaderReader.GetSize(); + + void* shaderBinary = HeapManager::GetHeap()->Allocate(fileSize); + NN_NULL_ASSERT(shaderBinary); + +#ifndef NN_BUILD_RELEASE + s32 read = +#endif // NN_BUILD_RELEASE + shaderReader.Read(shaderBinary, fileSize); + NN_ASSERT(read == fileSize); + + const u32 vtxBufCmdBufSize = + nn::font::RectDrawer::GetVertexBufferCommandBufferSize(shaderBinary, fileSize); + void *const vtxBufCmdBuf = HeapManager::GetHeap()->Allocate(vtxBufCmdBufSize); + NN_NULL_ASSERT(vtxBufCmdBuf); + pDrawer->Initialize(vtxBufCmdBuf, shaderBinary, fileSize); + + HeapManager::GetHeap()->Free(shaderBinary); + + return vtxBufCmdBuf; + +} + +//--------------------------------------------------------------------------- +//! @brief 描画の初期設定を行います。 +//! +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +InitDraw( + s32 width, + s32 height +) +{ + // カラーバッファ情報 + // LCDの向きに合わせて、幅と高さを入れ替えています。 + const nn::font::ColorBufferInfo colBufInfo = { width, height, PICA_DATA_DEPTH24_STENCIL8_EXT }; + + const u32 screenSettingCommands[] = + { + + // ビューポートの設定 + NN_FONT_CMD_SET_VIEWPORT( 0, 0, colBufInfo.width, colBufInfo.height ), + + // シザー処理を無効 + NN_FONT_CMD_SET_DISABLE_SCISSOR( colBufInfo ), + + // wバッファの無効化 + // デプスレンジの設定 + // ポリゴンオフセットの無効化 + NN_FONT_CMD_SET_WBUFFER_DEPTHRANGE_POLYGONOFFSET( + 0.0f, // wScale : 0.0 でWバッファが無効 + 0.0f, // depth range near + 1.0f, // depth range far + 0, // polygon offset units : 0.0 で ポリゴンオフセットが無効 + colBufInfo), + }; + + nngxAdd3DCommand(screenSettingCommands, sizeof(screenSettingCommands), true); + + static const u32 s_InitCommands[] = + { + // カリングを無効 + NN_FONT_CMD_SET_CULL_FACE( NN_FONT_CMD_CULL_FACE_DISABLE ), + + // ステンシルテストを無効 + NN_FONT_CMD_SET_DISABLE_STENCIL_TEST(), + + // デプステストを無効 + // カラーバッファの全ての成分を書き込み可 + NN_FONT_CMD_SET_DEPTH_FUNC_COLOR_MASK( + false, // isDepthTestEnabled + 0, // depthFunc + true, // depthMask + true, // red + true, // green + true, // blue + true), // alpha + + // アーリーデプステストを無効 + NN_FONT_CMD_SET_ENABLE_EARLY_DEPTH_TEST( false ), + + // フレームバッファアクセス制御 + NN_FONT_CMD_SET_FBACCESS( + true, // colorRead + true, // colorWrite + false, // depthRead + false, // depthWrite + false, // stencilRead + false), // stencilWrite + }; + + nngxAdd3DCommand(s_InitCommands, sizeof(s_InitCommands), true); +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを構築します。 +//! +//! @param[out] pFont 構築するフォントへのポインタ。 +//! @param[in] filePath ロードするフォントリソースファイル名。 +//! +//! @return ResFont構築の成否を返します。 +//--------------------------------------------------------------------------- +bool +InitFont( + nn::font::ResFont* pFont, + const char* filePath +) +{ + // フォントリソースをロードします + nn::fs::FileReader fontReader(filePath); + + s32 fileSize = (s32)fontReader.GetSize(); + if ( fileSize <= 0 ) + { + return false; + } + + void* buffer = HeapManager::GetHeap()->Allocate(fileSize, nn::font::GlyphDataAlignment); + if (buffer == NULL) + { + return false; + } + + s32 readSize = fontReader.Read(buffer, fileSize); + if (readSize != fileSize) + { + HeapManager::GetHeap()->Free(buffer); + return false; + } + + // フォントリソースをセットします + bool bSuccess = pFont->SetResource(buffer); + NN_ASSERT(bSuccess); + + //--- 既にリソースをセット済みであるか,ロード済みであるか、リソースが不正な場合に失敗します。 + if (! bSuccess) + { + HeapManager::GetHeap()->Free(buffer); + } + + // 描画用バッファを設定します。 + const u32 drawBufferSize = nn::font::ResFont::GetDrawBufferSize(buffer); + void* drawBuffer = HeapManager::GetHeap()->Allocate(drawBufferSize, 4); + NN_NULL_ASSERT(drawBuffer); + pFont->SetDrawBuffer(drawBuffer); + + return bSuccess; +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを破棄します。 +//! +//! @param[in] pFont 破棄するフォントへのポインタ。 +//--------------------------------------------------------------------------- +void +CleanupFont(nn::font::ResFont* pFont) +{ + // 描画用バッファの無効化 + // 描画用バッファがセットされているなら 構築時に SetDrawBuffer に渡したバッファへの + // ポインタが返ってきます。 + void *const drawBuffer = pFont->SetDrawBuffer(NULL); + if (drawBuffer != NULL) + { + HeapManager::GetHeap()->Free(drawBuffer); + } + + // フォントがセットされているなら SetResource 時に渡したリソースへの + // ポインタが返ってきます。 + void *const resource = pFont->RemoveResource(); + if (resource != NULL) + { + HeapManager::GetHeap()->Free(resource); + } + + // RemoveResource 後は再度 SetResource するまでフォントとして使用できません。 +} + +//--------------------------------------------------------------------------- +//! @brief 表示文字列用バッファを確保します。 +//! +//! @param[in] charMax 表示する文字列の最大文字数。 +//! +//! @return 確保した表示文字列用バッファへのポインタを返します。 +//--------------------------------------------------------------------------- +nn::font::DispStringBuffer* +AllocDispStringBuffer(s32 charMax) +{ + const u32 DrawBufferSize = nn::font::CharWriter::GetDispStringBufferSize(charMax); + void *const bufMem = HeapManager::GetHeap()->Allocate(DrawBufferSize); + NN_NULL_ASSERT(bufMem); + + return nn::font::CharWriter::InitDispStringBuffer(bufMem, charMax); +} + +//--------------------------------------------------------------------------- +//! @brief 文字列表示用にモデルビュー行列と射影行列を設定します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +SetupTextCamera( + nn::font::RectDrawer* pDrawer, + s32 width, + s32 height +) +{ + // 射影行列を正射影に設定 + { + // 左上原点とし、Y軸とZ軸の向きが逆になるように設定します。 + nn::math::MTX44 proj; + f32 znear = 0.0f; + f32 zfar = -1.0f; + f32 t = 0; + f32 b = static_cast(width); + f32 l = 0; + f32 r = static_cast(height); + nn::math::MTX44OrthoPivot(&proj, l, r, b, t, znear, zfar, nn::math::PIVOT_UPSIDE_TO_TOP); + pDrawer->SetProjectionMtx(proj); + } + + // モデルビュー行列を単位行列に設定 + { + nn::math::MTX34 mv; + nn::math::MTX34Identity(&mv); + pDrawer->SetViewMtxForText(mv); + } +} + +//--------------------------------------------------------------------------- +//! @brief ASCII文字列を描画します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] pDrawStringBuf DispStringBufferオブジェクトへのポインタ。 +//! @param[in] pFont フォントへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +DrawAscii( + nn::font::RectDrawer* pDrawer, + nn::font::DispStringBuffer* pDrawStringBuf, + nn::font::ResFont* pFont, + s32 width, + s32 height +) +{ + s_TextWriter.SetDispStringBuffer(pDrawStringBuf); + s_TextWriter.SetFont(pFont); + + s_TextWriter.SetCursor(0, 0, 1.f); + + s_TextWriter.StartPrint(); + if(s_DrawTextFunc != NULL) + { + s_DrawTextFunc(); + } + + s_TextWriter.EndPrint(); + pDrawer->BuildTextCommand(&s_TextWriter); + + + // 文字の色は、文字列の描画コマンドを再作成しなくても変更できます。 + s_TextWriter.SetTextColor(nn::util::Color8(s_Color, s_Color, s_Color, s_Color)); + + pDrawer->DrawBegin(); + + SetupTextCamera(pDrawer, width, height); + s_TextWriter.UseCommandBuffer(); + + pDrawer->DrawEnd(); +} + +} // namespace + +void SetDrawTextHandler(void (*func)()) +{ + s_DrawTextFunc = func; +} + + +//--------------------------------------------------------------------------- +//! @brief サンプルのメイン関数です。 +//--------------------------------------------------------------------------- +void +InitializeResFont() +{ + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + NN_UTIL_PANIC_IF_FAILED( + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE)); + + // フォントの構築 + { +#ifndef NN_BUILD_RELEASE + bool bSuccess = +#endif // NN_BUILD_RELEASE + InitFont(&s_Font, s_FontFilePath); + NN_ASSERTMSG(bSuccess, "Fail to load ResFont."); + } + + // 描画リソースの構築 + s_DrawerBuf = InitShaders(&s_Drawer); + + // 描画文字列用バッファの確保 + s_pDrawStringBuf0 = AllocDispStringBuffer(512); + + nn::fs::Unmount("rom:"); + +} + +void DrawResFont(s32 display) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + if(display == NN_GX_DISPLAY0) + { + InitDraw(NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + } + else if(display == NN_GX_DISPLAY1) + { + InitDraw(NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + } + + nngxUpdateState(NN_GX_STATE_ALL); +} + +void FinalizeResFont() +{ + s_Drawer.Finalize(); + + // 描画リソースの破棄 + HeapManager::GetHeap()->Free(s_DrawerBuf); + + // フォントの破棄 + CleanupFont(&s_Font); + + // 描画文字列用バッファの解放 + HeapManager::GetHeap()->Free(s_pDrawStringBuf0); +} + +nn::font::TextWriter* GetTextWriter() +{ + return &s_TextWriter; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.h b/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.h new file mode 100644 index 0000000..379a0bb --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/ResFont.h @@ -0,0 +1,40 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ResFont.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef RESFONT_H_ +#define RESFONT_H_ + +#include + +namespace common +{ + +// ResFontを初期化する。 +void InitializeResFont(); + +// 文字列の描画時に実行したいハンドラを設定する +void SetDrawTextHandler(void (*func)()); + +// SetDrawTextHandler で設定した関数を使って文字列を描画する +void DrawResFont(s32 display); + +// 内部で保持しているTextWriterへのポインタを返す +nn::font::TextWriter* GetTextWriter(); + + +} + + +#endif /* RESFONT_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.cpp new file mode 100644 index 0000000..9851395 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.cpp @@ -0,0 +1,268 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdLogger.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "SdLogger.h" +#include +#include "SDMountManager.h" +#include "FileName.h" + +namespace common +{ + +namespace Logger +{ + +static SdLogger s_SdLogger; +static nn::os::LightEvent s_SdEjectedEvent; +static nn::os::LightEvent s_SdInsertedEvent; + +const size_t SDMC_EVENT_THREAD_STACK_SIZE = 1024; +nn::os::Thread s_SdmcEjectedEventThread; +nn::os::StackBuffer s_SdmcEjectedEventThreadStack; + +nn::os::Thread s_SdmcInsertedEventThread; +nn::os::StackBuffer s_SdmcInsertedEventThreadStack; + +void (*s_SdEjectedEventFunc)() = NULL; +void (*s_SdInsertedEventFunc)() = NULL; + +void PrintResultIfFailed(nn::Result result, u32 line = 0) +{ + if (result.IsFailure()) + { + if(line != 0) + { + NN_LOG("%s, %d\n", __FILE__, line); + } + NN_DBG_PRINT_RESULT(result); + } +} + +void SdmcEjectedEventThreadFunc() +{ + NN_LOG("********************:SD Ejected Event Thread Start**********************\n"); + + for(;;) + { + s_SdEjectedEvent.Wait(); + NN_LOG("********************:SD Card Ejected**********************\n"); + + if(s_SdEjectedEventFunc != NULL) + { + s_SdEjectedEventFunc(); + } + SdMountManager::ForceUnmount(); + s_SdEjectedEvent.ClearSignal(); + s_SdLogger.Inactivate(); + } +} + +void SdmcInsertedEventThreadFunc() +{ + NN_LOG("********************:SD Inserted Event Thread Start**********************\n"); + + for(;;) + { + s_SdInsertedEvent.Wait(); + NN_LOG("********************:SD Card Inserted*********************\n"); + + if(s_SdInsertedEventFunc != NULL) + { + s_SdInsertedEventFunc(); + } + s_SdInsertedEvent.ClearSignal(); + s_SdLogger.Inactivate(); + } +} + +void InitializeEjectThread() +{ + s_SdEjectedEvent.Initialize(true); + s_SdInsertedEvent.Initialize(true); + nn::fs::RegisterSdmcEjectedEvent(&s_SdEjectedEvent); + nn::fs::RegisterSdmcInsertedEvent(&s_SdInsertedEvent); + + // SDカード抜けを検知するためのスレッド作成 + s_SdmcEjectedEventThread.Start(SdmcEjectedEventThreadFunc, s_SdmcEjectedEventThreadStack); + + // SDカード挿入を検知するためのスレッド作成 + s_SdmcInsertedEventThread.Start(SdmcInsertedEventThreadFunc, s_SdmcInsertedEventThreadStack); + +} +void SetEjectHandler(void (*func)()) +{ + s_SdEjectedEventFunc = func; +} + +void SetInsertHandler(void (*func)()) +{ + s_SdInsertedEventFunc = func; +} + +SdLogger::SdLogger() : m_TryActivate(false), m_Permitted(false) +{ + +} + +SdLogger* GetSdInstance() +{ + return &s_SdLogger; +} + +void SdLogger::Print(const char* fmt, ::std::va_list arg) +{ + Activate(); + if(!m_Permitted) + { + NN_LOG("SD Write Not Permitted\n"); + return; + } + + nn::Result result; + result = SdMountManager::Mount(); + if (result.IsFailure()) + { + PrintResultIfFailed(result, __LINE__); + } + + s32 stringSize; + const size_t STRING_BUFFER_SIZE = 256; + char str[STRING_BUFFER_SIZE]; + + stringSize = nn::nstd::TVSNPrintf(str, sizeof(str), fmt, arg); + + ::std::wstring log(common::SDMC_ROOT_DIRECTORY_PATH); + log += common::LOG_PATHNAME; + + // ディレクトリが無ければ作る + nn::fs::Directory dir; + result = dir.TryInitialize(common::LOG_ROOT_DIRECTORY_PATH); + if(result.IsFailure()) + { + result = nn::fs::TryCreateDirectory(common::LOG_ROOT_DIRECTORY_PATH); + } + + result = sd.TryInitialize(log.c_str(), true); + if (result.IsSuccess()) + { + // 追記する + // サイズ取得 + s64 fileSize; + result = sd.TryGetSize(&fileSize); + if (result.IsSuccess()) + { + // 末尾に移動 + result = sd.TrySetPosition(fileSize); + if (result.IsSuccess()) + { + s32 writeSize; + result = sd.TryWrite(&writeSize, str, stringSize, true); + if (result.IsSuccess()) + { + result = sd.TryFlush(); + if (result.IsFailure()) + { + NN_LOG("SD TryFlush failed\n"); + PrintResultIfFailed(result, __LINE__); + } + } + else + { + NN_LOG("SD TryWrite failed\n"); + PrintResultIfFailed(result, __LINE__); + } + } + else + { + NN_LOG("SD TrySetPosition failed\n"); + PrintResultIfFailed(result, __LINE__); + } + } + else + { + NN_LOG("SD TryGetSize failed\n"); + PrintResultIfFailed(result, __LINE__); + } + } + else + { + NN_LOG("SD TryInitialize failed, %s, %d\n", __FILE__, __LINE__); + PrintResultIfFailed(result, __LINE__); + } + + dir.Finalize(); + sd.Finalize(); + SdMountManager::Unmount(); +} + +void SdLogger::Clear() +{ + Activate(); + if(!m_Permitted) + { + return; + } + + nn::Result result; + SdMountManager::Mount(); + + ::std::wstring log(common::SDMC_ROOT_DIRECTORY_PATH); + log += common::LOG_PATHNAME; + + result = nn::fs::TryDeleteFile(log.c_str()); + if(result.IsFailure()) + { + NN_DBG_PRINT_RESULT(result); + } + + SdMountManager::Unmount(); +} + +void SdLogger::Inactivate() +{ + m_TryActivate = false; + m_Permitted = false; +} + +void SdLogger::Activate() +{ + if(m_TryActivate) + { + return; + } + + nn::Result result; + result = common::SdMountManager::Mount(); + + if (result.IsSuccess()) + { + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(common::AP_SETTING_PATHNAME); + if(result.IsSuccess()) + { + m_Permitted = true; + } + fis.Finalize(); + } + + common::SdMountManager::Unmount(); + m_TryActivate = true; +} + +} // namespace Logger +} // namespace ConsoleBackup + + diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.h b/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.h new file mode 100644 index 0000000..6d543f2 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdLogger.h @@ -0,0 +1,67 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdLogger.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SDLOGGER_H_ +#define SDLOGGER_H_ + +#include + +namespace common +{ + +namespace Logger +{ + +class SdLogger +{ +public: + SdLogger(); + ~SdLogger() {}; + + // SDログに文字列を出力する + void Print(const char* fmt, ::std::va_list arg); + + // SDログを削除する + void Clear(); + + // 内部状態を初期化する。SDカード挿抜時に呼ばれることを期待 + void Inactivate(); + +private: + void Activate(); + + nn::fs::FileOutputStream sd; + bool m_TryActivate; + bool m_Permitted; + NN_PADDING2; + +}; + +// SDカード挿抜用のスレッドを初期化する +void InitializeEjectThread(); + +// SDカードが抜けた時に呼ばれるコールバック +void SetEjectHandler(void (*func)()); + +// SDカードが挿入された時に呼ばれるコールバック +void SetInsertHandler(void (*func)()); + +// 内部で保持しているインスタンスへのポインタを返す +SdLogger* GetSdInstance(); + +} // namespace Logger +} // namespace ConsoleBackup + +#endif /* SDLOGGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.cpp new file mode 100644 index 0000000..4895529 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.cpp @@ -0,0 +1,67 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdMountManager.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include "SdMountManager.h" +#include "FileName.h" + +namespace common +{ + +u32 SdMountManager::m_MountCounter = 0; + +SdMountManager::SdMountManager() +{ + + +} + +SdMountManager::~SdMountManager() +{ + +} + +nn::Result SdMountManager::Mount() +{ + nn::Result result = nn::ResultSuccess(); + + if(m_MountCounter == 0) + { + result = nn::fs::MountSdmc(); + } + m_MountCounter++; + + return result; +} + +nn::Result SdMountManager::Unmount() +{ + nn::Result result = nn::ResultSuccess(); + if(m_MountCounter != 0 && --m_MountCounter == 0) + { + result = nn::fs::Unmount(common::SDMC_ARCHIVE_NAME); + } + + return result; +} + +nn::Result SdMountManager::ForceUnmount() +{ + m_MountCounter = 0; + return nn::fs::Unmount(common::SDMC_ARCHIVE_NAME); +} + + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.h b/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.h new file mode 100644 index 0000000..c4db65b --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdMountManager.h @@ -0,0 +1,42 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdMountManager.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SDMOUNTMANAGER_H_ +#define SDMOUNTMANAGER_H_ + +namespace common +{ + +//! @brief SDカードのMount状態を管理するためのクラスです +class SdMountManager +{ +public: + SdMountManager(); + virtual ~SdMountManager(); + + //! @brief マウントが必要ならマウントします。 + static nn::Result Mount(); + //! @brief アンマウントが必要ならアンマウントします。 + static nn::Result Unmount(); + //! @brief 強制的にアンマウントします。 + static nn::Result ForceUnmount(); + +private: + static u32 m_MountCounter; +}; + +} + +#endif /* SDMOUNTMANAGER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.cpp new file mode 100644 index 0000000..3a72428 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.cpp @@ -0,0 +1,252 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdReaderWriter.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "SdReaderWriter.h" +#include "SdMountManager.h" +#include "CommonLogger.h" +#include "Aes_define.h" + +#include +#include +#include +#include + +#include + +namespace common +{ + +nn::Result SdReaderWriter::Initialize() +{ + nn::Result result; + + // 初期化済みなら何もしない + if(m_IsInitialized) + { + return nn::ResultSuccess(); + } + + result = SdMountManager::Mount(); + if(result.IsSuccess()) + { + m_IsInitialized = true; + return nn::ResultSuccess(); + } + else + { + return result; + } +} + + +nn::Result SdReaderWriter::Finalize() +{ + nn::Result result; + result = SdMountManager::Unmount(); + + m_IsInitialized = false; + return result; +} + +nn::Result SdReaderWriter::WriteBufCore(const wchar_t* path, void* buf, size_t size) +{ + NN_ASSERT(path != NULL); + NN_ASSERT(size > 0); + + nn::Result result = Initialize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = file.TryInitialize(path, nn::fs::OPEN_MODE_WRITE | nn::fs::OPEN_MODE_CREATE); + + if (result.IsSuccess()) + { + s32 writeSize; + result = file.TryWrite(&writeSize, buf, size, false); + if (result.IsSuccess()) + { + // 何もしない + } + else + { + NN_LOG("SD TryWrite failed\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + } + else + { + NN_LOG("SD TryInitialize failed\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + + return result; +} + +nn::Result SdReaderWriter::WriteBuf(const wchar_t* path, void* buf, size_t size) +{ + nn::Result result; + + result = WriteBufCore(path, buf, size); + NN_UTIL_RETURN_IF_FAILED(result); + + result = file.TryFlush(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + file.Finalize(); + + result = Finalize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + return result; +} + +nn::Result SdReaderWriter::WriteBufWithCmac(const wchar_t* path, void* buf, size_t size) +{ + nn::Result result; + + result = WriteBufCore(path, buf, size); + NN_UTIL_RETURN_IF_FAILED(result); + + nn::crypto::Initialize(); + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + nn::crypto::CalculateSha256(sha256Hash, buf, size); + + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + s32 writeSize; + result = file.TryWrite(&writeSize, cmac, sizeof(cmac), false); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = file.TryFlush(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + file.Finalize(); + + result = Finalize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + return result; + +} + +nn::Result SdReaderWriter::ReadBufCore(const wchar_t* path, void* buf, size_t size, size_t* totalSize) +{ + NN_ASSERT(path != NULL); + NN_ASSERT(size > 0); + + nn::Result result; + + if(!m_IsInitialized) + { + Initialize(); + } + + result = file.TryInitialize(path, nn::fs::OPEN_MODE_READ); + if (result.IsSuccess()) + { + s32 readSize; + result = file.TryRead(&readSize, buf, size); + if (result.IsSuccess()) + { + // TODO バッファを超えるサイズのファイル読み込み + *totalSize = readSize; + } + else + { + NN_LOG("SD TryRead failed\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + } + else + { + NN_LOG("SD TryInitialize failed\n"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + } + + return result; +} + +nn::Result SdReaderWriter::ReadBuf(const wchar_t* path, void* buf, size_t size, size_t* totalSize) +{ + nn::Result result; + + result = ReadBufCore(path, buf, size, totalSize); + NN_UTIL_RETURN_IF_FAILED(result); + + file.Finalize(); + return result; +} + +nn::Result SdReaderWriter::ReadBufWithCmac(const wchar_t* path, void* buf, size_t size, size_t* totalSize) +{ + nn::Result result; + + NN_ASSERT(size > nn::crypto::AES_CMAC_MAC_SIZE); + + result = ReadBufCore(path, buf, size, totalSize); + NN_UTIL_RETURN_IF_FAILED(result); + + file.Finalize(); + // ハッシュが付加されていない + if(*totalSize < nn::crypto::AES_CMAC_MAC_SIZE) + { + return nn::fs::ResultVerificationFailed(); + } + *totalSize -= nn::crypto::AES_CMAC_MAC_SIZE; + + // CMACの検証を行う + nn::crypto::Initialize(); + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + nn::crypto::CalculateSha256(sha256Hash, buf, *totalSize); + + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + if(std::memcmp(reinterpret_cast(buf) + *totalSize, cmac, sizeof(cmac)) != 0) + { + // 無効なファイル + char filename[256]; + std::wcstombs(filename, path, sizeof(filename)); + filename[sizeof(filename) - 1] = '\0'; + COMMON_LOGGER("Verification Failed %s\n", filename); + return nn::fs::ResultVerificationFailed(); + } + + // CMACを0埋め + std::memset(reinterpret_cast(buf) + *totalSize, 0, sizeof(cmac)); + + return result; +} + +void SdReaderWriter::CreateDirectory(const wchar_t* path) +{ + nn::Result result; + + if(!m_IsInitialized) + { + Initialize(); + } + + NN_LOG("Create Directory %ls\n", path); + result = nn::fs::TryCreateDirectory(path); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + result = Finalize(); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.h b/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.h new file mode 100644 index 0000000..81a10d7 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SdReaderWriter.h @@ -0,0 +1,80 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SdReaderWriter.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SDWRITER_H_ +#define SDWRITER_H_ + +#include + +namespace common +{ + +//! @brief SDカードに書き込むためのクラスです。 +class SdReaderWriter +{ +public : + SdReaderWriter() : m_IsInitialized(false) {}; + ~SdReaderWriter() {}; + + //! @brief 渡されたバッファからsizeバイト指定されたパス名で書きこみます。CMACが付加されます。 + //! @param[in] path sdmc:で始まる出力パス名。予めディレクトリを作っておく必要があります。 + //! @param[in] buf 入力データへのポインタ + //! @param[in] size 入力データのサイズ + nn::Result WriteBufWithCmac(const wchar_t* path, void* buf, size_t size); + + //! @brief 渡されたバッファへ(size - CMAC)バイト指定されたパス名から読み込みます + //! @param[in] path sdmc:で始まるCMAC付きの入力パス名 + //! @param[in] buf 出力バッファへのポインタ + //! @param[in] size バッファサイズ + //! @param[out] totalSize 読み込んだデータ - CMAC のサイズ + nn::Result ReadBufWithCmac(const wchar_t* path, void* buf, size_t size, size_t* totalSize); + + //! @brief 渡されたディレクトリ名のディレクトリを作成します + void CreateDirectory(const wchar_t* path); + +private: + //! @brief 渡されたバッファからサイズ分指定されたパス名で書きこみます + //! @param[in] path sdmc:で始まる出力パス名。予めディレクトリを作っておく必要があります。 + //! @param[in] buf 入力データへのポインタ + //! @param[in] size 入力データのサイズ + nn::Result WriteBuf(const wchar_t* path, void* buf, size_t size); + + nn::Result WriteBufCore(const wchar_t*path, void* buf, size_t size); + + //! @brief 渡されたバッファへサイズ分指定されたパス名から読み込みます + //! @param[in] path sdmc:で始まる入力パス名 + //! @param[in] buf 出力バッファへのポインタ + //! @param[in] size バッファサイズ + //! @param[out] totalSize 読み込んだデータのサイズ + nn::Result ReadBuf(const wchar_t* path, void* buf, size_t size, size_t* totalSize); + + nn::Result ReadBufCore(const wchar_t* path, void* buf, size_t size, size_t* totalSize); + + //! @brief 初期化します。 + nn::Result Initialize(); + + //! @brief 終了します。 + nn::Result Finalize(); + + nn::fs::FileStream file; + + NN_PADDING3; + bool m_IsInitialized; + +}; + +} + +#endif /* SDWRITER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.cpp new file mode 100644 index 0000000..b04e2ad --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.cpp @@ -0,0 +1,240 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SimplePlayer.cpp + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include + +#include +#include "SimplePlayer.h" +#include "wave.h" +#include "HeapManager.h" + +namespace common +{ + +namespace +{ + const int nFiles = 4; // 使用できる voice の最大値は 24 + const char* apFileNames[nFiles] = + { + "rom:/ok.wav", + "rom:/ng.wav", + "rom:/cursor.wav", + "rom:/annotation.wav" + }; + + nn::snd::CTR::Voice* apVoice[nFiles]; + nn::snd::CTR::WaveBuffer aBuffer[nFiles]; + WaveFmt fmt[nFiles]; + WaveData data[nFiles]; + u8* apMemory[nFiles]; + + nn::os::CriticalSection s_CriticalSection; + bool s_SoundThreadInitialized = false; + + // サウンドスレッド関連 + const int SOUND_THREAD_STACK_SIZE = 4096; + nn::os::StackBuffer s_SoundThreadStack; + nn::os::Thread threadSound; + bool threadSoundFlag; + void SoundThreadFunc() + { + // サウンド出力をステレオに + nn::snd::SetSoundOutputMode(nn::snd::OUTPUT_MODE_STEREO); + + // マスターボリュームを設定 + nn::snd::SetMasterVolume( 1.0 ); + + NN_LOG("Loading wav files...\n"); + + // ファイルを開く + for (int i = 0; i < nFiles; i++) + { + if (apFileNames[i] == NULL) continue; + + nn::snd::Voice* pVoice = NULL; + + nn::fs::FileReader fileReader; + nn::Result result = fileReader.TryInitialize(apFileNames[i]); + NN_UTIL_PANIC_IF_FAILED(result); + if (::std::strcmp(::std::strrchr(apFileNames[i], '.'), ".wav") == false) + { + // 連続メモリ領域の取得、確認 + apMemory[i] = reinterpret_cast(HeapManager::GetHeap()->Allocate(GetWaveLength(fileReader), 32)); + if (apMemory[i] == NULL) + { + NN_LOG("Failed to allocate continuous memory\n"); + continue; + } + + + // Wave データを読み込み、キャッシュを無効に + data[i].buf = apMemory[i]; + LoadWave(fileReader, &fmt[i], &data[i]); + nn::snd::FlushDataCache(reinterpret_cast(apMemory[i]), data[i].size); + + NN_LOG("%s (%1dch, %5dHz, %2d-bit wav file)\n", + apFileNames[i], fmt[i].channel, fmt[i].sample_rate, fmt[i].quantum_bits); + + pVoice = apVoice[i] = nn::snd::AllocVoice(128, NULL, NULL); + NN_TASSERT_(pVoice); + + nn::snd::SampleFormat format = (fmt[i].quantum_bits == 8) ? + nn::snd::SAMPLE_FORMAT_PCM8 : + nn::snd::SAMPLE_FORMAT_PCM16; + + pVoice->SetChannelCount( fmt[i].channel ); + pVoice->SetSampleFormat( format ); + + nn::snd::InitializeWaveBuffer(&aBuffer[i]); + aBuffer[i].bufferAddress = apMemory[i]; + aBuffer[i].sampleLength = nn::snd::GetSampleLength(data[i].size, format, fmt[i].channel); + aBuffer[i].loopFlag = false; + + fileReader.Finalize(); + + // 音量の設定 + nn::snd::MixParam mix; + mix.mainBus[nn::snd::CHANNEL_INDEX_FRONT_LEFT ] = 0.707f; // メインボリューム (L) + mix.mainBus[nn::snd::CHANNEL_INDEX_FRONT_RIGHT] = 0.707f; // メインボリューム (R) + pVoice->SetMixParam(mix); + pVoice->SetVolume(1.0f); + + // pitch の設定 + pVoice->SetSampleRate(fmt[i].sample_rate); + pVoice->SetPitch(1.0f); + + } + } + + // 再生開始 + for (int i = 0; i < nFiles; i++) + { + if (apFileNames[i] != NULL) + { + apVoice[i]->SetState( nn::snd::Voice::STATE_PLAY ); + } + } + + s_SoundThreadInitialized = true; + + threadSoundFlag = true; + while (threadSoundFlag) + { + nn::snd::WaitForDspSync(); // DSP からのデータ受信を待つ。 + + + s_CriticalSection.Enter(); // メインスレッドとの排他制御 + nn::snd::SendParameterToDsp(); // パラメータを DSP に送信。 + s_CriticalSection.Leave(); // メインスレッドとの排他制御 + } + + // 再生終了 + for (int i = 0; i < nFiles; i++) + { + if (apVoice[i]) + { + nn::snd::FreeVoice(apVoice[i]); + } + } + } +} + +void InitializeSimplePlayer() +{ + NN_LOG("Initialize SimplePlayer\n"); + + nn::Result result; + + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + NN_UTIL_PANIC_IF_FAILED( + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE)); + + // dsp, snd の初期化 + result = nn::dsp::Initialize(); + NN_UTIL_PANIC_IF_FAILED(result); + result = nn::dsp::LoadDefaultComponent(); + NN_UTIL_PANIC_IF_FAILED(result); + result = nn::snd::Initialize(); + NN_UTIL_PANIC_IF_FAILED(result); + + s_CriticalSection.Initialize(); + + // サウンドスレッドを起動(DSP 割り込みイベント待ち) + threadSound.Start(SoundThreadFunc, s_SoundThreadStack); +} + +void PlaySound(SoundEffect index) +{ + NN_ASSERT(index < SOUND_MAX); + + while(!s_SoundThreadInitialized) + { + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(1)); + } + + nn::snd::CTR::Voice* pVoice = apVoice[index]; + + if (!pVoice->IsPlaying()) + { + nn::snd::InitializeWaveBuffer(&aBuffer[index]); + aBuffer[index].bufferAddress = apMemory[index]; + nn::snd::SampleFormat format = (fmt[index].quantum_bits == 8) ? nn::snd::SAMPLE_FORMAT_PCM8 + : nn::snd::SAMPLE_FORMAT_PCM16; + + aBuffer[index].sampleLength = nn::snd::GetSampleLength(data[index].size, format, fmt[index].channel); + aBuffer[index].loopFlag = false; + + pVoice->AppendWaveBuffer(&aBuffer[index]); + NN_LOG("[voice%d] %s (pitch = %f)\n", + index, + (pVoice->GetState() == nn::snd::Voice::STATE_PAUSE ? "pause" : "play "), + pVoice->GetPitch()); + } +} + +void FinalizeSimplePlayer() +{ + nn::Result result; + + // サウンドスレッドの破棄 + threadSoundFlag = false; + threadSound.Join(); + + // SND の終了処理 + result = nn::snd::Finalize(); + NN_UTIL_PANIC_IF_FAILED(result); + + s_CriticalSection.Finalize(); + + // DSP の終了処理 + result = nn::dsp::UnloadComponent(); + NN_UTIL_PANIC_IF_FAILED(result); + nn::dsp::Finalize(); + + + NN_LOG("Finalize SimplePlayer\n"); + +} + +} // namespace ConsoleBackup +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.h b/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.h new file mode 100644 index 0000000..2f73c78 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/SimplePlayer.h @@ -0,0 +1,44 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: SimplePlayer.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef SIMPLEPLAYER_H_ +#define SIMPLEPLAYER_H_ + +namespace common +{ + +typedef enum SoundEffect +{ + SOUND_OK, + SOUND_NG, + SOUND_CURSOR, + SOUND_ANNOTATION, + SOUND_MAX + +} SoundEffect; + +// サウンドを鳴らすための初期化を行う +void InitializeSimplePlayer(); + +// 終了処理を行う +void FinalizeSimplePlayer(); + +// サウンドを鳴らす +void PlaySound(SoundEffect index); + +} // namespace common + + +#endif /* SIMPLEPLAYER_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/Util.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/Util.cpp new file mode 100644 index 0000000..45082ec --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/Util.cpp @@ -0,0 +1,333 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Util.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Util.h" +#include "FileName.h" +#include "CommonLogger.h" +#include "HeapManager.h" + + +namespace common +{ + +Util::Util() : + m_BatteryRemain(100), m_CanReadSerialNumber(false), m_CanReadIvs(false) +{ + + +} + +Util::~Util() +{ + +} + +void Util::Initialize() +{ + // friendsの初期化 + nn::Result result = nn::friends::detail::Initialize(); + + // mcuの初期化 + nn::mcu::CTR::InitializeHwCheck(&m_McuSession); + mp_Mcu = new nn::mcu::CTR::HwCheck(m_McuSession); + + // 完全性検証SEEDの取得 + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + if (result.IsSuccess()) + { + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(common::IVS_NAND_PATHNAME); + if (result.IsSuccess()) + { + s64 fileSize = fis.GetSize(); + s32 ret; + void* addr = NULL; + addr = common::HeapManager::GetHeap()->Allocate(fileSize); + if (addr != NULL) + { + mp_Ivs = addr; + m_SizeofIvs = fileSize; + result = fis.TryRead(&ret, addr, fileSize); + if (result.IsSuccess()) + { + m_CanReadIvs = true; + } + // 後でIVSを参照するのでFreeしない + } + } + fis.Finalize(); + } + // 一旦アンマウントしておく + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + + // シリアルナンバーの取得 + std::memset(m_SerialNo, '\0', + nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN); + result = nn::cfg::CTR::system::GetSerialNo(m_SerialNo); + if(result.IsSuccess()) + { + m_CanReadSerialNumber = true; + } + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + AddCheckDigit(reinterpret_cast(m_SerialNo)); + + + // デバイスIDの取得 + result = nn::ps::CTR::GetDeviceId(&m_DeviceId); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // リージョンの取得 + m_Region = nn::cfg::CTR::GetRegion(); + + // バージョンの取得 + common::GetSystemVersion(&m_VerData, m_Region); + + // MACアドレスの取得 + nn::nwm::Mac mac; + + result = nn::nwm::GetMacAddress(mac); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + mac.GetString(m_MacAddress); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + // フレンドコードの取得 + nn::friends::CTR::FriendKey friendKey; + result = nn::friends::CTR::GetMyFriendKey(&friendKey); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + m_FriendCode = nn::friends::CTR::FriendKeyToFriendCode(friendKey); +} + +void Util::Finalize() +{ + nn::mcu::CTR::FinalizeHwCheck(&m_McuSession); + nn::friends::detail::Finalize(); +} + +// NULL終端されたシリアルナンバーを受け取る +// NULL終端された場所にチェックデジットを付加して新たにNULL終端する +void Util::AddCheckDigit(char* serial) +{ + size_t len = std::strlen(serial); + + u8 digit = 0; + bool odd = true; + for(u8 i = len - 1; i > 0 && std::isdigit(serial[i]); i--) + { + if(odd) + { + digit += (serial[i] - '0') * 3; + } + else + { + digit += (serial[i] - '0'); + } + odd = !odd; + } + + if(digit % 10 != 0) + { + serial[len] = 10 - (digit % 10) + '0'; + } + else + { + serial[len] = '0'; + } + + serial[len + 1] = '\0'; +} + +// IVSからセーブデータディレクトリ名を生成する +void Util::GetSaveDataDirectoryRoot(::std::string& sysSaveRoot, void* ivs, size_t size) +{ + nn::Result result; + using namespace nn::dbg; + + const size_t SEED_SIZE = 16; + bit8 hash[nn::crypto::Sha256Context::HASH_SIZE]; + const size_t SYS_SAVE_ROOT_LENGTH = 16; + char rootHash[SYS_SAVE_ROOT_LENGTH]; + char rootStr[SYS_SAVE_ROOT_LENGTH * 2 + 1]; + + // 最後の16バイトのハッシュを使う + nn::crypto::CalculateSha256(hash, &reinterpret_cast (ivs)[size - SEED_SIZE], SEED_SIZE); + + for (u8 i = 0; i < SEED_SIZE / 4; i++) + { + for (u8 j = 0; j < SEED_SIZE / 4; j++) + { + rootHash[i * 4 + j] = hash[i * 4 + 3 - j]; + } + } + + // 得られたハッシュから文字列を生成 + for (s32 k = 0; k < SEED_SIZE; k++) + { + for (s32 i = 6; i < 8; ++i) + { + bit32 n = (rootHash[k] >> ((7 - i) * 4)) & 0xf; + NN_TASSERT_(n < 16); + rootStr[i - 6 + k * 2] = static_cast (n < 10 ? '0' + n : 'a' + (n - 10)); + } + } + rootStr[SYS_SAVE_ROOT_LENGTH * 2] = '\0'; + + // セーブデータディレクトリ名を保存する + sysSaveRoot = ::std::string(rootStr); + + NN_LOG("%s\n", sysSaveRoot.c_str()); +} + +bool Util::IsAdapterConnected() +{ + static nn::os::Tick last(0); + static bool lastResult = false; + const u8 UPDATE_INTERVAL = 100; + + nn::os::Tick now = nn::os::Tick::GetSystemCurrent(); + if(last == 0 || (now - last).ToTimeSpan().GetMilliSeconds() > UPDATE_INTERVAL) + { + u8 buf; + nn::Result result = mp_Mcu->ReadByReceive(nn::drivers::mcu::CTR::MCU_PERIPHERAL_STATUS_ADDR, &buf, sizeof(buf)); + if(result.IsSuccess()) + { + last = now; + lastResult = buf & nn::drivers::mcu::CTR::MCU_STATUS_ADAPTER_MASK; + } + } + return lastResult; + +} + +bool Util::IsBatteryLower() +{ + m_BatteryRemain = GetBatteryRemain(); + return m_BatteryRemain <= 10; +} + +bool Util::CanReadIVS() +{ + return m_CanReadIvs; +} + +bool Util::CanReadSerialNumber() +{ + return m_CanReadSerialNumber; +} + +void Util::GetSerialNumber(u8** serial, size_t* size) +{ + *serial = m_SerialNo; + *size = nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN; +} + +u8* Util::GetSerialNumber() +{ + return m_SerialNo; +} + + +void Util::GetIvs(void** ivs, size_t* size) +{ + *ivs = mp_Ivs; + *size = m_SizeofIvs; +} + +bit32 Util::GetDeviceId() +{ + return m_DeviceId; +} + +u8 Util::GetCupMajorVersion() +{ + return m_VerData.cup.majorVersion; +} + +u8 Util::GetCupMinorVersion() +{ + return m_VerData.cup.minorVersion; +} + +u8 Util::GetCupMicroVersion() +{ + return m_VerData.cup.microVersion; +} + +u8 Util::GetNupVersion() +{ + return m_VerData.nup.majorVersion; +} + +nn::Handle Util::GetMcuHandle() +{ + return m_McuSession; +} + +u32 Util::GetBatteryRemain() +{ + u8 remain; + mp_Mcu->GetBatteryRemain(&remain); + return remain; +} + +u64 Util::GetInfraDeviceId() +{ + bit64 infraDeviceId; + infraDeviceId = m_DeviceId + common::INFRA_DEVICE_ID_OFFSET; + return infraDeviceId; +} + +u64 Util::GetFriendcode() +{ + return m_FriendCode; +} + +char8* Util::GetMacAddress() +{ + return m_MacAddress; +} + +nn::cfg::CTR::CfgRegionCode Util::GetRegion() +{ + return m_Region; +} + +const char* Util::GetRegionCodeA3() +{ + return nn::cfg::GetRegionCodeA3(m_Region); +} + +void Util::GetVersionData(common::VerDef* version) +{ + *version = m_VerData; +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/Util.h b/tags/1stNUP/ConsoleDataMigration/sources/common/Util.h new file mode 100644 index 0000000..17151c0 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/Util.h @@ -0,0 +1,152 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: Util.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef UTIL_H_ +#define UTIL_H_ + +#include +#include +#include +#include +#include + +#include "VersionDetect.h" + +namespace common +{ + +class Util +{ +public: + Util(); + virtual ~Util(); + + void Initialize(); + void Finalize(); + + // シリアルナンバーにモジュラス10 ウェイト3・1(M10W31)でチェックデジットを付加する + static void AddCheckDigit(char* serial); + + // IVSから計算されるセーブデータディレクトリ名を取得する + static void GetSaveDataDirectoryRoot(::std::string& sysSaveRoot, void* ivs, size_t size); + + // ACアダプタが接続されているかどうか + bool IsAdapterConnected(); + + // バッテリ残量が10%未満かどうか + bool IsBatteryLower(); + + // IVSを読み取れるかどうか + bool CanReadIVS(); + + // シリアルナンバーを読み取れるかどうか + bool CanReadSerialNumber(); + + // シリアルナンバーを取得する + void GetSerialNumber(u8** serial, size_t* size); + + // シリアルナンバーを返す + u8* GetSerialNumber(); + + // IVSを取得する + void GetIvs(void** ivs, size_t* size); + + // 32bitデバイスIDを返す + bit32 GetDeviceId(); + + // CUPメジャーバージョンを返す + u8 GetCupMajorVersion(); + + // CUPマイナーバージョンを返す + u8 GetCupMinorVersion(); + + // CUPマイクロバージョンを返す + u8 GetCupMicroVersion(); + + // NUPバージョンを返す + u8 GetNupVersion(); + + // MCUプロセスに接続するためのハンドルを返す + nn::Handle GetMcuHandle(); + + // バッテリ残量を0~100で返す + u32 GetBatteryRemain(); + + // 64bitインフラデバイスIDを返す + u64 GetInfraDeviceId(); + + // フレンドコードを返す + u64 GetFriendcode(); + + // MACアドレスを返す + char8* GetMacAddress(); + + // リージョンコードを返す + nn::cfg::CTR::CfgRegionCode GetRegion(); + + // リージョンコードを3文字のアルファベットに置き換えた文字列を返す + const char* GetRegionCodeA3(); + + // バージョン情報を取得する + void GetVersionData(common::VerDef* version); + + +private: + NN_PADDING4; + // フレンドコード + u64 m_FriendCode; + + // バージョン情報 + common::VerDef m_VerData; + + // mcu接続のためのハンドル + nn::Handle m_McuSession; + + // デバイスID + bit32 m_DeviceId; + + // IVSへのポインタ + void* mp_Ivs; + + // IVSのサイズ + size_t m_SizeofIvs; + NN_PADDING4; + + // MCUへのポインタ + nn::mcu::CTR::HwCheck* mp_Mcu; + + // リージョン + nn::cfg::CTR::CfgRegionCode m_Region; + + // バッテリ残量 + u8 m_BatteryRemain; + + // シリアルナンバーが読めるかどうか + bool m_CanReadSerialNumber; + + // IVSが読めるかどうか + bool m_CanReadIvs; + + // シリアルナンバー + u8 m_SerialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + + // MACアドレス + char8 m_MacAddress[nn::nwm::Mac::MAC_STRING_SIZE]; + NN_PADDING3; +}; + +} + +#endif /* UTIL_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.cpp new file mode 100644 index 0000000..f028569 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.cpp @@ -0,0 +1,120 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: VersionDetect.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include + +#include "VersionDetect.h" +#include "HeapManager.h" +#include "CommonLogger.h" + +namespace common +{ + +void GetCupVersion(nn::pl::CTR::CardUpdateVersion* cup, nn::cfg::CTR::CfgRegionCode region) +{ + nn::Result result; + const size_t BUF_SIZE = 1024; + u8 buf[BUF_SIZE]; + // CUPバージョン + { + result = nn::fs::MountContent("cver:", nn::fs::MEDIA_TYPE_NAND, common::cCupVerId[region], 0, 1, 1, buf, + BUF_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(L"cver:/version.bin"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + s64 fileSize = fis.GetSize(); + NN_LOG("version.bin size = %lld\n", fileSize); + s32 ret; + void* addr = NULL; + addr = common::HeapManager::GetHeap()->Allocate(fileSize); + if (addr != NULL) + { + result = fis.TryRead(&ret, addr, fileSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + nn::pl::CTR::CardUpdateVersion* ver_buf = reinterpret_cast (addr); + + std::memcpy(cup, ver_buf, sizeof(nn::pl::CTR::CardUpdateVersion)); + } + common::HeapManager::GetHeap()->Free(addr); + } + } + fis.Finalize(); + + nn::fs::Unmount("cver:"); + } + +} + +void GetNupVersion(nn::pl::CTR::NetworkUpdateVersion* nup, nn::cfg::CTR::CfgRegionCode region) +{ + nn::Result result; + const size_t BUF_SIZE = 1024; + u8 buf[BUF_SIZE]; + + // NUPバージョン + { + result = nn::fs::MountContent("nver:", nn::fs::MEDIA_TYPE_NAND, common::cNupVerId[region], 0, 1, 1, buf, + BUF_SIZE); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(L"nver:/version.bin"); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + s64 fileSize = fis.GetSize(); + NN_LOG("version.bin size = %lld\n", fileSize); + s32 ret; + void* addr = NULL; + addr = common::HeapManager::GetHeap()->Allocate(fileSize); + if (addr != NULL) + { + result = fis.TryRead(&ret, addr, fileSize); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if (result.IsSuccess()) + { + nn::pl::CTR::NetworkUpdateVersion* ver_buf = + reinterpret_cast (addr); + + std::memcpy(nup, ver_buf, sizeof(nn::pl::CTR::NetworkUpdateVersion)); + } + common::HeapManager::GetHeap()->Free(addr); + } + } + + fis.Finalize(); + nn::fs::Unmount("nver:"); + } + +} + +void GetSystemVersion(common::VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region) +{ + GetCupVersion(&mVerData->cup, region); + GetNupVersion(&mVerData->nup, region); +} + +} + diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.h b/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.h new file mode 100644 index 0000000..9b41b56 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/VersionDetect.h @@ -0,0 +1,31 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: VersionDetect.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef VERSIONDETECT_H_ +#define VERSIONDETECT_H_ + +#include +#include "common_Types.h" + +namespace common +{ + +// リージョンコードに基づいてバージョン情報を取得する +void GetSystemVersion(common::VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region); + +} + + +#endif /* VERSIONDETECT_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/common_Types.h b/tags/1stNUP/ConsoleDataMigration/sources/common/common_Types.h new file mode 100644 index 0000000..e36889c --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/common_Types.h @@ -0,0 +1,121 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: common_Types.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef COMMON_TYPES_H_ +#define COMMON_TYPES_H_ + +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace common +{ + +const u32 CONSOLE_WIDTH = 38; +const u32 CONSOLE_HEIGHT = 24; +const u32 CONSOLE_MAX_LINE = 1000; + + +const u32 NTR_WIFI_SETTING_SIZE = 0x400; // NTR Wifi 設定のサイズ +const u32 TWL_WIFI_SETTING_SIZE = 0x600; // TWL Wifi 設定のサイズ + +const u64 INFRA_DEVICE_ID_OFFSET = 0x400000000; + +// NOR領域のみにある設定データ用構造体 +struct NtrNorData +{ + nn::cfg::CTR::NtrConfig ntrConfig; + u8 TwlWiFiSetting[TWL_WIFI_SETTING_SIZE]; + u8 NtrWiFiSetting[NTR_WIFI_SETTING_SIZE]; +}; + +struct CfgCountryLanguage +{ + enum nn::cfg::CTR::CfgCountryCode country; + enum nn::cfg::CTR::CfgLanguageCode language; + NN_PADDING1; +}; + +struct VerDef +{ + nn::pl::CTR::CardUpdateVersion cup; + nn::pl::CTR::NetworkUpdateVersion nup; +}; + +// CALに依存するCFGパラメータ +struct CfgCalData +{ + nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData; + nn::cfg::CTR::detail::LcdFlickerCfgData lcdFlickerCfgData; + nn::cfg::CTR::detail::FcramCfgData fcramCfgData; + nn::cfg::CTR::detail::RtcCfgData rtcCfgData; + nn::cfg::CTR::detail::GyroscopeCfgData gyroscopeCfgData; + nn::cfg::CTR::detail::AccelCfgData accelCfgData; + nn::cfg::CTR::detail::CodecCfgData codecCfgData; + nn::cfg::CTR::detail::McuSlideVolumeRangeCfgData mcuSlideVolumeRangeCfgData; + NN_PADDING2; + +}; + +// TODO:リージョン追加時に範囲外アクセスにならないよう注意 +const nn::ProgramId cCupVerId[] = +{ + nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_JP, + nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_US, + nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_EU, +}; + +const nn::ProgramId cNupVerId[] = +{ + nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_JP, + nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_US, + nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_EU, +}; + +// SDに出力するデータのヘッダ +struct BackupDataHeader +{ + s64 size; // パディングを含まないファイルサイズ + NN_PADDING4; + NN_PADDING4; +}; + +// SDから読み込むファイルリストのエントリ +struct ImportDataEntry +{ + std::string fileName; + NN_PADDING3; + bool isDirectory; +}; + +typedef std::vector ImportDataList; + +// TWLセーブデータリストのエントリ +struct SavePathInfo +{ + std::wstring name; + NN_PADDING3; + bool isDirectory; +}; + +} + +#endif /* COMMON_TYPES_H_ */ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.cpp new file mode 100644 index 0000000..b262ba9 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.cpp @@ -0,0 +1,181 @@ +#include +#include +#include +#include "configLoader.h" + +namespace common +{ + +Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const size_t bufferSize) +{ + s64 fileSize; + FileInputStream fi; + NN_UTIL_RETURN_IF_FAILED(fi.TryInitialize(fileName)); + NN_UTIL_RETURN_IF_FAILED(fi.TryGetSize(&fileSize)); + + // NULL終端ぶん読めるサイズを減らす + if (fileSize > bufferSize - sizeof(wchar_t)) + { + NN_TLOG_("Too Large File\n"); + return Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_TOO_LARGE); + } + + m_Buffer = static_cast(buffer); + NN_UTIL_RETURN_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize)); + NN_LOG("config size = %d\n", m_UsedBufferSize); + return ParseData(); +} + +void ConfigFileLoader::Finalize() +{ + m_Buffer = 0; + m_ParamNum = 0; +} + +Result ConfigFileLoader::ParseData() +{ + if (!m_Buffer) + { + return Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_NOT_INITIALIZED); + } + + int pos = 0; + + // ビッグエンディアンでないことを確認 + NN_ASSERTMSG(m_Buffer[0] != 0xfffe, "Invalid Config File's Endian\n"); + + if (m_Buffer[0] == 0xfeff) + { + // UTF-16 BOMの調整 + pos++; + } + + m_ParamNum = 0; + m_ParamName[m_ParamNum] = &(m_Buffer[pos]); + m_ParamValue[m_ParamNum] = L""; + m_Buffer[m_UsedBufferSize / sizeof(wchar_t)] = L'\0'; // NULL終端しておく + + // ダブルクウォート中なら : も文字として読み取る + bool inEscape = false; + // # で行末までコメント + bool inComment = false; + // : で行頭から:までがkey、:から行末までがvalue + bool inSettingKeyValue = false; + + while (pos < m_UsedBufferSize / sizeof(m_Buffer[0])) + { + switch (m_Buffer[pos]) + { + case L'"': + { + inEscape = !inEscape; + } + break; + + case L'#': + { + inComment = true; + } + break; + + case L':': + { + if (inEscape || inComment) + { + break; + } + + if (inSettingKeyValue) + { + break; + } + else + { + inSettingKeyValue = true; + } + m_Buffer[pos] = L'\0'; + m_ParamValue[m_ParamNum++] = &(m_Buffer[pos + 1]); + + } + + break; + case L'\r': + case L'\n': + { + if (inComment) + { + inComment = false; + } + if (inSettingKeyValue) + { + inSettingKeyValue = false; + } + + m_Buffer[pos] = L'\0'; + m_ParamName[m_ParamNum] = &(m_Buffer[pos + 1]); + m_ParamValue[m_ParamNum] = L""; + } + break; + + } + + if (PARAM_MAX_NUM <= m_ParamNum) + { + NN_TLOG_("Too Many Params\n"); + return Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, + nn::Result::DESCRIPTION_TOO_LARGE); + } + pos++; + } + + return ResultSuccess(); +} + +s32 ConfigFileLoader::SearchParamName(const wchar_t *paramName) +{ + if (!m_Buffer) + { + NN_TLOG_("ConfigFileLoader not initialized.\n"); + return -1; + } + + for (s32 i = 0; i < m_ParamNum; i++) + { + if (wcscmp(m_ParamName[i], paramName) == 0) + { + return i; + } + } + return -1; +} + +const wchar_t *ConfigFileLoader::ReadAsWChar(const wchar_t *paramName) +{ + s32 idx = SearchParamName(paramName); + if (idx < 0) + { + NN_LOG("Unknown Parameter Name %ls\n", paramName); + } + return (idx < 0) ? NULL : m_ParamValue[idx]; +} + +const char *ConfigFileLoader::ReadAsChar(const wchar_t *paramName) +{ + memset(m_ReadCharBuffer, 0, sizeof(m_ReadCharBuffer)); + const wchar_t *value = ReadAsWChar(paramName); + if(value == NULL) + { + return NULL; + } + wcstombs(m_ReadCharBuffer, value, sizeof(m_ReadCharBuffer)); + // NULL終端する + m_ReadCharBuffer[sizeof(m_ReadCharBuffer) - 1] = '\0'; + return m_ReadCharBuffer; +} + +int ConfigFileLoader::ReadAsInteger(const wchar_t *paramName) +{ + return atoi(ReadAsChar(paramName)); +} + +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.h b/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.h new file mode 100644 index 0000000..67e1edf --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/configLoader.h @@ -0,0 +1,78 @@ +#ifndef NN_CONFIG_LOADER_H_ +#define NN_CONFIG_LOADER_H_ + + +namespace common +{ + using namespace nn; + using namespace nn::fs; + using namespace std; + +class ConfigFileLoader +{ +private: + static const int PARAM_VALUE_MAX_STRING_LENGTH = 128; + static const int PARAM_MAX_NUM = 64; + + char m_ReadCharBuffer[PARAM_VALUE_MAX_STRING_LENGTH]; + wchar_t *m_ParamName[PARAM_MAX_NUM]; + wchar_t *m_ParamValue[PARAM_MAX_NUM]; + wchar_t *m_Buffer; + + s32 m_UsedBufferSize; + s32 m_ParamNum; + +public: + ConfigFileLoader() : m_Buffer(0), m_UsedBufferSize(0), m_ParamNum(0) + { + } + +/* + @brief ConfigFileLoader を初期化します. + + 使用するファイルが存在するアーカイブは,あらかじめマウントしておく必要があります. + 読み込みに使用するバッファを確保し,引数 buffer に与える必要があります. + Finalize を呼ぶまでこのバッファは開放しないでください. + + 読み込ませることのできるフォーマット + ・エンコーディング:UTF-16 + ・バイトオーダ  :リトルエンディアン + ・改行記号    :不問 + + 半角コロンを含む行のみパラメータ記述行として読み込み,含まない行は無視します. + 半角コロンより前の文字はすべてパラメータ名として取得し, + 半角コロンより後の文字はすべてパラメータの値として取得します. + ParameterName : ParameterValue; + と記述すると + パラメータ名は L"ParameterName " + パラメータ値は L" ParameterValue;" + となります. + + @param[in] fileName 設定ファイル名 + @param[in] buffer ファイル読み込み用のバッファ + @param[in] bufferSize 上記 buffer の大きさ + + @return 結果を返します. + +*/ + Result Initialize(const wchar_t* fileName, void* buffer, const size_t bufferSize); + void Finalize(); + + // スレッドセーフです. + const wchar_t *ReadAsWChar(const wchar_t *paramName); + + // スレッドセーフではありません. + const char *ReadAsChar(const wchar_t *paramName); + + // スレッドセーフです. + int ReadAsInteger(const wchar_t *paramName); + +private: + Result ParseData(); + s32 SearchParamName(const wchar_t *paramName); +}; + +} + + +#endif // NN_CONFIG_LOADER_H_ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/annotation.wav b/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/annotation.wav new file mode 100644 index 0000000000000000000000000000000000000000..b64f77b43ac9f34d7cd61d8e055e40aee4ba1e2b GIT binary patch literal 28636 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/cursor.wav b/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/cursor.wav new file mode 100644 index 0000000000000000000000000000000000000000..85765b3dead4eccac6cd33c601a68cd55dadd745 GIT binary patch literal 29996 zcmeI3XH*njx96*KBZJpppaxk(@C>lQR-TK}11GB1%v(kOV^(JR;d zB{=~AfI-Em8~|d^!2meG2{=3WI{;9fozD(|9RfQ9b_nbc`2S7d?;7==pZ~o6d;j0^ zw-)%%=fA)I&$GX49Q>a;|MvH9&;PbyL0^A=Wr0kP_0QSg)e-(r&wu;)x5a<8LjcHs z`uf}3-@7cR{H+5A5dW0F?f&-rw+9fUgEXkuzx^Tpxn@9De@B4>XaEJZXF&JqP;KP@ zzW#gfzn+K%-J?K-0U`h#Km^#K1NF~{e|!Je4i-oS$xshS=pGlq3$5cwfCjY#p*AdV z6&weL!5MHHBmn#XH}uN_I1R3WXh00u4F~~Da1!hRM ze_Kz1E6`{h02_1<28}NW90D8wFTfelgKTL7pMy2v5XcKCLUks<2I#s0!~t%=Js<=c zV;KAZz6IN%aj{U_VXzd81{1+*umh|GAAonkbTAcs2sT4jO@Wo5FL)cW)*8qK8iCiq zIiMFT0)K$AfGgk*s6x-C3}`{t@j^BZg0G+!2LTtr3|NMG%mTT941fjL!#rRZSS(bV z1F#1c0SVY5FaUjj0`3E~Kr4_8TmY;ATfh^@hpux0KfoMfu?t894#U=9XW(k^6xdh5 z1dxYD&jkvAQ@~g7Aozv#iX{N{gEfE+><&x;77R3i=fJCAJ-7reLr-51rhrLcALs*^ z!NlNx@H22b_%ys0;fd@-)*(+LF-T!#E;1N(8QqWmi7rLILa(9EVfrw}*jw0#*e_TP zoFlFU$A_23Bk&Yl3T^~LMWW!ZKnByExtpa73W6w>2jdj&40V3%_a~zGm2>G_k3s!Q7o;B5Hx@RaxTo0;Epr3;&jm8*i= zC5S5G0iGWIJN$2Wgt=F_+4$gswIb>gjZ)_FmsK0~a%&N^>$M+i^J=SV6Ala=5YnkQ zAbjAfcDB|n%>rd_*$Bx%iF_%0xhVx5g_Yf9(sv}ZMNacA;o#edS@D7AKi$7q{J8e} z&F|+wC%-j!9BZ|2;`-2DmtRGwyjIy>8CiL@vi!Mh#X^}t`Gbne%BxiuUg^DFX^i?d z(HAjlI$GU-;CJw^$sXj8@r3KV^*S%>1t&r-M92L2ElYxxz6I9ovbm)t@0lVS!Ug2T zPYyO$LflSVdFQC&kmZo;*x^*IRtrtDYo`NzCZW}lv|(5eotKi}-zg`FmY-U4h2 z6B-+u`_utdoZh$xcmfJUCBXq-?Lt8=$gU@R<{b_05UxL3ZC}&-+UJd4?Yhj@krgv5v34!#gz;B9m@++~+D&4t5l)3wD#!_m=x+6HIUVWNCc zR6&wA40dVLYuRX-YsGD`ZmM~(<7eP!fe-Iqh8Hbo?@Drtrr(jiV;yNrx)=Q*`fBuI zbZLxetaseOr0W^;xi*CXPwk%B7IPF`F8*G!@ced7>pS8n!5_p4sckgJs^lqUN40rX zaW%ocyt*fkESg<9Q*2l1l5pK1cs}A^&!cZfN0fz|hF=IHg}e*m4~+LM_egaVu${2f zHrFthvp`y;na&!O>mAysseEEr6xRU;$5dI@cq8hq>ucFJWpzC-J<2~8?Rm(4Pcq|6 z;zabZ$Oy>V_^4b`X7q!Y?AVUD*@T+pJ!t}WIdkV9zpCV}UunjFj%qvAYW;b#^Vx60 zNa$SB<|1r>$5er$ch&-7+hEUe@s)kWr8iE8+;Tl1c;o#wgJeVBg>i%}2h##~2WkY$ z1-bylogbHEZHNto8tiTGxf`&^|0#K>etgx zr|#o2kr|sAckk}cc%I6Y{4Ak1&Mx+B3_j*&Y;gilidEWDT3woGdRYdTsdX%@Co)Z&wcSi1^m8h!%C}lhu~{z{#il$g8Ty-{2v6s zf=q(7LwrIQ!Q(+!14Mji9?h=LTuNO|Ua4~lbmG43c_H)ck&`aR1a)T=b_-lZH*V*y zTdfW(E6uaU411-%>9)+h-BlG<#D4Ej@`>2#C|nd9>1_0e=<4X9=%X>*u{YzQ6Uvjn zX87g)D9|iwDwZg&E-HB1RAy0S_S&f7)8~%vk%{LN6oDmdx?5KHqzX#CbN{nLpz)cL z@-|i%$u5~*wt+ffei5=aDk37n{lm&bi$eT@4TIhXWc%5Bqdbl~y*VFndfdYIM9~Qs zbLHb(ha+_w)NSNB#E){mV&0g0-ZRnO*5Lon`Rz)rQdM&4%H!a?*V#qsPD$rukCO7E zq)FqXhUmnYBe6bldlFcQi^)D|;N7HL+~c^44|Tsk*0eacy0xLcl>Zp%)1P>?fq2X#QJ2eJ@s7QBGXeRqB#x2M-Rv3#{I_Is0nB=F9CjGNoVgeX{r8 zZOu55;h#32Y?SySt}A9OIxl)Dx+1nV;d`<~+O2fajE0QROphGk0cSz^6WP+OsI%p|~FNhX68bk=u2^9@f z3%e648*BJF27+2I3Zp9n27Rm3|0+zjI zZ;d$oF74oG=&0p=PJ1kNk0*5~P9nN5DuUz`T^ijK4Mtyz5s5X9n~i^wq?3D9#|&7oILJ; z^RXLNb+!)nlb1Z423%b{e|kUn4+u&Pu@BP^{~Q(^IudLZBo)XPaMRD+=b4w8#}QX? zC#8!otTW8B536cftL&E#lesA=CVY#_3B$+mU*(;u=tXoyzO5=Rd{lSOE;B1bHhnV1 zIH@5%DwZ6r8jXl9iM|@U7+;*EmCBc{osoBUC2Q!OdmiJ_o~O0tyw%S?1bwmTWt;R} zs@yQ3inBb>mYgag*}JpVRSq^DOFmP3Ir-{qAMU{KLC1n;f~P|kLYu>s!c9Cvk0&t2VxE8ZuGU+f-_anZ| z{ynmqP!{@VHhU%IK>S_E^BGaUqS#5tNl!`c(G@X=;tnNvC!;cqb8_-R3df2no|crH zudsSae2w@h&{q9@t1ohfM7e@V;FH~TML}7WcVGO$UL&IuRcEv8Q=D}?CVjGk+`_^l zj@*#A5gkz%{wVA`#B?$++<(>QvDXv#qfUi(C#`9gw@(P0#T}y_KB#*`(?juI} zl0mdaY)5=v(#cfcbe_BHS>&9+2iFQ@itI~QD=~Gy8q&T-_r97iT)Mt#K|2eJ!1wSz zm3XOmdEXQLWK&n`Qir~)k9@F!M}w_G%tD>RjKe>Lw}mch$?t1MT+I zrQB)i@|vCDxiPC6a{=S0hsO7s%ZCdqv1!2qC<3cCbKGOPJwWGTlgb;B7hX?E`JI^& z$(nJ!B;zPplzh~YsPHHxX@zt;MjiWcb+x@43H*0m+{-Z2w9HZqP>cq2M!y5w;VY40_vs6cJXS_#Rv9}6FOW#y6I#77z zfQ6>5kJAqi318npF!*+8eOOz#dqiTy-iT}A+F^%6lmeZ7v%J=?=DSjzpEyQb61jk} zzGg`@g&&dCbys(hH50r=r~?bh!Anz9M~2e6E8F`%?ylvnc=W{d!RfmVNj!0)(MeIr zC}!lrsJ5saQd6{B?A7@1iK3}#cT?|q<}Vi37dMn_mnT&@)vdj^|Ma%=`JWe~!;4hf z3ETtz(^4Z!H#D1dx(&~n)tqj=pyZV4e(w4=f9DX_@Wlw{84dV-y4^|1Z^7r=T^;Wnx>%RBOnuEQ)e68pk~kHSaA^8kf!xlNBJd??t_% zys-k+Lo|2?uoZ?gyB~sSXJnrUX zaos!dK&Zg+iBAb{CA>!FUGXQvkN1OpGkt6FwDT}M+)Hk>SiW3<#xA`h$1a?zyAb4( zbgj(qPmoqJGCaF|ZUx$eE{1E~@Vv1Ru`7ZZb~*H7uwr1X--dVJHHQ0V z=NlInY*J5km~tnLHVcRzPzhA0~TrZ@t9XPN89#0-5N|KXGvqB&x4dK zm$bb}D{*IHf=QK8>rvw*>6q|XM%+|_ZgP9-vkac>v0Sc)woi1*BwlIO1I^RzZr^=> zRrh}y=U+76+7G)(91w_>iO{%e&|yAlope#eImYe1=cM;re`Iics7AP0#Oa8laKSKm z$j87G|8!rHH_nUKqr$boiFHxz{Jk?*Pk0z*=rpRO%XLb43(azWz;na$w$c_5+lkRMUV zDn3#!^3v&b@5eLk!M_wolNUad`B*Zj5uzdgQ%N%=`2HA!R8#jer!T&6y?I?HU@KTW z%qV<1{BVSQ1V@Bu`2EmN!CryNew^3uUX{M0<*0e-k)5Zl@LBRnoaw#|DIr>PIsa;(!z6AEMYk_4j`BK4wvMwO6eqF=|N z5`vQCQrj|0a}MWEJ=Q3xs8Fs-s$P4Y{lVlDTW8hprs3+@!p%fDi}SX)o??~e0bLVA zjH$7e#ral;KsPlnPQSB3pFIk~q}SwrTLa15s)I-EAUs6DLQHQN074e=$S+@x5jVCdeFyKyP666#_j zqoqh6qU@me`moqt@#P7TNmD5w(=k~u??vQAJ$hCAt^!+o^FwfJQ0Knx@ZMj;6Vr!R zZ`019PIBH6>6Q!Ir*h={Nj=-r%d;+^JG+;T?_5B0aDS+7cz<|dcw|^q$Xwta{~ta} z*U8tcJcw>y&JLHqT^P4Maf;3Khrzx5kCY3gQKAWa)9fv1X=dsAhnc#;=mwv8H zu9>WlZa&fZv$uM3d1Y){41N%|&1o&%D05cz^MU>&S58b@mtUT6Kj9M<*b`C_mJm*i zu!AzaSGZ1CYsgZNUO=GFl&84cEvLXsPIljHBdy7&63nBGoAsTvkE;djwiccxz6IZJ z+@13plkdm;eD-W=a$D@T|eooLW552x95B%`H!peIv~KU*u0e0k^f(1+Wtm%0#x z60;vS#8{E&n`~rW0rAuF?HYUa^p7Q5=GqQAKJ@tPyArfFY$m)Qq9>vvVjr}2qQZnj zR-qVG_dei3a~ZzuW+!8tU~PVS$RgN8^N8BPpL@S5FG!X1@4|J_YgT-x4h;$XIrr`A zCrbUZm*XWoh06DH@7hA|cQvH0NW;kck@is@q`~Niu^-}3Cn=>`Wkh8Q=eaz7RN_!6 zQ2nG%vcBGM`XU?m6crKT;|N%9CDQco*;q{mt$7#ev3A;tY9Nf_easXImBcCRM2NO&2`=`i$?z zSr-wH8L#8MegP)I1)+PwC&Muj?%@wZN1&B6&?nf7?2+pJ{))3x^d+_nD%QfMl+4_Y zd^jMkdRJyi_&c{Mu>pl-HE)*Ai;nvJ*8QT>m{ohD?BpZ(z2@|+WbwqLc*i(W>|)Hj z7{l1GxRVKtq=#ugGgWd==f8bq_eA7rRVnlN`&Y;}KR&2_`UL&^IBLvlDUTWp&&1nu z*$QS#{!t)lD(h(*M_8m=|GJoZWz;ju=Z^nE!0y12fZ%{h|9QVFzJA^^UNRm8SBzta z-H=VvX*Nrd6MZJRM?DOpbwJH+<>RuVqIAwGqz9FIDQ-exu*@J&yZ559adM3ceJ6dt&|6qV#6P z{ENcs_Se1d54W^`$?ab5KRo6#4J@2ng;Vla{pbfAX9Sxh-zv0eQuHXsXDyhgCv5JW z=de$_^xol$Q?T=hbFp);lZoTVC8nL+`8*rvvnHo|EWe(xGc7RoHJsCAPREl2(XJQ z$oeY3)=bl>H>fclGk<60W%KO(L%U*o;Nq%%nZ3Ndw%w2Oc-u*9{WFV}J?2)&;YODY zZt9_R4YVKbJ)-8Wv@OdnIVH5reF0wpuu+_rSEuJky9RFlx!rZRL!~ADL;M@D8paFd z3f@wVXG%}ypWc6Zy!g6To_YxOGsRH-7%ZbO)iC_iQaZO+jH+sCM z_Ip7)qs71R)Cb1f+`5u#o0o|%&Qw-EPkv5*F7#r!s_#`<&5^p9*W|Ym@2wj`n)_NE zJFb6w(EY9tHM%urw2-x8vJpyo$w-6$#QJdT<7bG9$+Rm)YKG~s8?YIDH(otHXWC;P zYf*jju;p1xeoMEL92NxgJQKEK4~)_bdkrQJnIAMd0POeF$X2{(iwE*~xIFZp%#o5*M9rk3~aZ_Qp4>ZEJW)ihR8}TP3tY*)xG!q=-c?Xnf$5j^PaC(UAKQZ_I3}v8nzg7o-~?GUSwOFA@k4^ zfY<0>Z2Ej6qTEs(a)6SRN|UnEtdY+VV?(9GgZey& zHgp>g1Zi#UmC`6zaZ#+6Rof*XMiRQge}`v;gGBg=?uR{K7*dMXPAqs%&J3CMW_EXd z-};)`vFCH|r{-pC)8_`pN1u;}KYstn(U{c4(Q@w-cU#P7vyPyzec#-E9QtM4Q`rAy z`0E60Zg@#;y_byH4rP=A=THXtD;x#9jY7f_voghsPgOr@VzulKFmxOa*66hzx~)H@ zzph`dkJq2oGdyUlBcYAhufO-3hJrd(<+5^`LhSA{(jyXYL`wM;xEcsm=%eswEKB+w zio!~Q*A)>`;!vBjZnu~&GpQb|Rm3WGH(NI6I?p!&w5XXRNhVUBU-^bA zT|;qyhPIB5xo(H1OAboA?Zzv#D_N`Ls%2}a?RDMfu%BPcQj4|UaQ~To&U^hdZ8RuqHmcY57%CwY zp6+gzR+GFSS|+H+cZ7R@;||+hJP*bSVGYXCx3;R*x0VKHS0_?O1_!o#JO0f4;_bHk z@$-Ayw>O;!Iv2jKe7)Xz=3B(~o-W0oX5Asb;D7$~4EOCBEE!fBqfGeB1TPe>Jl;^J zaMSV`*T5I>y)pml&E&9wW-HyNN9R#T4^q7SZSP5 zpHSVe5~2J}@r(jo{^sr+nQKx6NguHmVVXb@?>)|a#6iqkgan|?%%zo4j&J6#ep|%P zMNjP+|1^AVK&_YbJFuJor`3M5AYjmVsqT9kMumMPLH#3@MO^W&-JY=n3kVVV%l zpaH#X>*o5_ve4qIxf3%*lWSvFMks^t`!{+cdIbMW{M!AiulrB8_^+a0Cx6TS(d=>T zec7isz#7~hzBHydiJfVlGg-W{thTyuy?wKiQct5XEnyW%7wkhKnG?zPLa<&06dRN1 z+VxqwR5nBouOO#LQ!G{DROVA2R|->VRa{cwQxKHz+HEJ>AX=?rGUjw4TCOz&q?5-H`8>-mvh~F4|=;DJtyj0`*<{4k_DLK}TI9zLlwojo%=>of1Un7rJ&s<`oltVcag z?_ynrccPZCxr7F`FB~%5mArcdvV{gjM#S1AN_SaFXUoLN%I-e5+kCg$?qyj|*(RB7 zX;5l(*HcMl2~#lz5e^|mfoMKX-aFh6Ilb9Mh|h5R7;of5m=|k-c8#L5>Aj|~a%{(F-GH!?8oEL&DGzFf=;kIlN~?d{kx3eY|Z#ZmMef6~r=dsd%Me z&1z$8vv}(*6-`fO?gQS!52N;Ag9%OSJzNF6ll+B(O2ThNjK%83@siTJP*PP=;?kzl zhSGpENor-+sa;u;&n5E3?Zs9^0)zn}M}doco7@*T|F9(!GI2u~6|@1gMJWMfGOp6* zDfZ;3^^ldvi}LfZS&M1$DTztW3662&vD#7lQMJ)sqh_OBqmg4eiuMguvDDoDS?JPGo_m~c^)1Ev#qocNf1j`Ix9FyBc*lJI5G8nFy< zZHYz+70D>cH^nmPss&)5ZElb4A>R9fj-#l?A@@o#cJO-NQ*^N3eayAHe#d zUcq+*1I#`;2kkIbb8BPc^;*tK!czP~!d%Qu_0-wP>k|Xx(c|{xhU16EeaC-~8%?xL z#7!nmy_rVL`pi)wkC!ZUE(@)etzFwNBkNH#w~gpenO6XP1P$enjlpXYzq1u^ByhR$ z81QijJQw5>zAo}!v_;HXJW2e4c)IvyakTh-F%dBj(PWXQ!gWGPf*65ge33leTqc~` z>@94z#4LOXwif*ynF@CVC`@&_J#~uwXM=M+aaC#M`4V=~Z=QEjXm=TP$s3sH;w%Ofk@Ydd_ ze3y8Ic-pzNIL+8qiM)7m>~%B(^#madcLow!>5L@WeQLp$|K|R6nN{QEdyD1^!Smg7 zoO8!!t7cBjAZ7-pC#LykuFWuJ-p^*vdC!|IC@k_WNiLsVd9XUOX0gH8T-}0i^U-CQ z{9rA>4);Zfp_bA0*f_icQI&mzqmAn^k2T*L{*MBFf*XR?LJx(yg#clk@E;+Pkcv=& z;A??m{`-6xyg5AYxVyPtaRzc|vbPhp2t_z128ZrJl)wtXA523=5AFPRBSm!U>Sq1A z{94J%?&Y#YyMiGp3$tHmTV{XEGH0#lzRew-@0`zCc(mBL#I|yF_10R%y3fY# z&9`JRN-wmTX0<@EHy91EjzB9 zTMb_OvTnXPN_L>sQD?W&bXkTAbCg8_Ooxo~TN;|-yhXe{ysNw{UK;OD-Z)-K-ejI3Zei{NT*oXxIC;I z28Fgl-i9{-;@~SLiQz<7p>0r0DaW_So8LEHu1Bu9tOl%9F7q$fE=4VQE_p8{FV!ur zESW5~ET37~T6woxyVkqDwK2E(iX6V>OUa`SZS&Ht7*ClTU@Wi;{u>d862-VGGBL!MJS8{9G6Xl@6t0?s}TI0uWZmsmo$ zg%89PV7oD0=p2+SQUviG76cGLZ)P1`h*nN@py+HFlAShhZropQS);F-uXe1su3%Rh zmY*%xEcY+Vt)xLD%~rctW7ZC?udX+4yx$xli&LDb54XS2{?Hp4@0s%~Q9vIS0q;lb zMqNXXV_b0c_(cMOZIJCIyCTOpM;Ip^vbKwh!NtkV!9C8E#bv-Xz0@-!TgrZJW-9APOrFSz7Svg=m z&ow&%Rc3o?`y;KK zUdSk5K4*1-FxXLeA%cn2Kp(`&VOOzFaRK+U_FwFV92p#)9J3r_94#E# z9G5r*Ad<(}JJ|NJMH1TxaDoV45T}H7#T205qlS=JqyPd9XF$7hCs@y!feb@BAB}BW zlj=)p*b?8mLGIr?viWJlZUedTem!A5YW>Cf{JP|Z+s5~e1DnO0D&#L@udQ8_c}ffQ z&2}^GBV=VH(}u+f4uU;EH|!1kC88ZU2<1_JtS;^Vo`dj?aG3akc$lq%4P-NCPhziN zuVF7|k6_=+zQp!`O@*zVXhrNL93b4rx8U$NGpskp3vG`&jkG{m!|%Y_q5Zhxpf1av z>A`TOU!g^8r%|&gFSig|VPrh{?dHu*-Oa6y-i^VHiH-FQnavxU^P3mQKgcJx+PBOp zqm*c>`u5oNBbqPWh#}2XW?6ymfCJ1JE`k_Bc{e%Kz29L5QKA2o>NK`J7o;k+;c zfCKqiN0^C>KXiWj8Cu$Q3zb1RLuuMl-nvg#BoA-C+$`M8hf3w<;HD7y61j@Zvz5H1 zMwz4}QTJ_6Zzs?s=uPwph7Oa->}S0L695;O8$1LN4B4rLUP7l~bg>iITR3t2JG=oQ zkFY^FL(C`E5G#r0!~&u}QHw|?R1!`Qrtu;8Wt<7F5W9|%!dRk9P;#hTrgUx0F+qg{_1w<1L}BEokr8Jb8tT+p^qxvemc6 zM!7~=f+CYbP1)9>ZPGgE&lq9MeXMSlHz))20nxA%a3#bF;vVu6L{tj1hIxgx#m(b9 z@QrvX{siF-WGkIOB#IKz#4*B4!UX~a{~UiAKZo;$Xa-`xV-91g(5omhlnpWxQ4C*z znZXKyHSidi!TQ2PGfy!J>5DW)n%{OW)r{InxlM7P?4kVL%H7J|dI**3t(h%#N+M+q zdhckW%56t&Q@2xSa`bBYSq6?-$Gpxm1C;?XPzwu&OCnw&%#cgS9F!#*hRML}!nR;9 z;`*T3{}Mlsr{IYMHNruHGyy@F#J|G3;@R+}xc#`7SXFF2#uC$qwnVp}_MuXc?Fbmc z2#U~Gz%;lEbYrzM^_b5XL`DRCnPx$Ivu(0HO1(;jQEMsT6l;np#e{O2;zP-zyn(Dd zOwFW%)VtdXw8ykP^k4MzjJJ#f%t>YvOAXqM9u3ID#$hku*Aeo_1!M*akB&g2G4U7% z#vAg#0kn5|2q%U&#yjG@@b-8EygZ(TtHhnh@!(!#wXqeD&tuWkC{t89k`MV1VTkw& zSBEFTR)EvMJ5T`fd>V6-q0NY;!|0D`I<(ep&uxkAW~x8cih77DN(G=I2%ULS?^AzK zrMH8(JGS@IT4?9!f9N)hbw)N*mo?6cfcD#a0CeC!OcmY$cS5isUm@L43g}L>5vBx# z#h%0FVP~=GI5!*#mk5<4+)dm$oE&ZwTYflorf#uI!VYo7W(T~$V(T+fo8ozC}&9_aVj!|Dzv#I&ikJLFRTVC1D z-TnjFSWF|(FVd^%LX2F7C^MbO$tq$U1_vOX`(RBlWq1yp7jX|Eg{(lTqDoOR==*3Q z<|bwqqY7E%i_OQrhe{>37@L80!>VDIG5HuX42Uj7E2A4w?kG4a63K=vKu93c;hgYz zh^Hm+7L*4cvJ_ZN%uCE=h6`hu9zj>9|DpxZ_R?tEFSdiWeV|y3*}efCFSh5lMQA5! z`7}8FGQF98gwe{7VFo~6cV~^VOdth;9?$|Dg|)$~;A3!a1c-=2E+P-2l2Eg#m%7n%`G0xAb-HZ)&aHtiE+qZvJx z{*lhlh+)hy4l*m4dssP;4CE%H^KgaiRD~78MByoLI3fr!k2r^HM;fE*Q5NDy$st>Yx4%Lc!ih7JnN7bqu%#eWMfSrM1Y|vNf+zc(oQHC8Ojq!;w$sjT< znfI9eOet0vtCyt>=~%Ww6CfQJ1vFu|VV_}~a0mDYxCG)R;txU?X@yKj4k7tb8YmOU zR!@lTRn%>$*rWDBIh}x7Mt(%zK^h?m$nS_m#9_n|JQaQjz6HyJsX|JWNWcKn;Z%cH zAfnYQH)uYsK=F2&DZykgh8We*Y`zPzb!J>(I6}pP5zi=w^5rBnd+eC;%n!_MXeIJt zm9QpRDj*3`sHg(*ke#ZqDA+F;H{28+3vY%q;6{iHL=S=sX@(3&W+C4oXOSpqPLq*j zBm+r7&LF!X6-x@z3ArB$AR7@RggHdB4_*Mj3>Sg-!jfSJU~|ADzy?w{l|#B14CH%% zmIe!C{$S=n3YL9LKIS~cwHC6sgpmVz`XMyG7Z`K~8}k73IXGO6(St6hv zcn``;qL8wu9>Bql!bq^+FgbV#{3l!t8aD#bh9DqSAYRVMo5)mT5%L4_6GZSM@;&k? zG8XBLv_`5S(a0f0Il>>I4bi*{d7T^H16gSf6NS`3FCguY6z~U99-Rg8U@7Y)i-)z$ zY-8p!gP4wxXZ4tJOb#X_x`O;H$vnus09hEp%wpC zunvg8Od+BjFkbk1cozIC9EC7Kgd<8IrXYeHioe~+W5{#JGe}e9QRES%7E%I7FMx+Z9`F~dm=(g(V_~6L z^^TdzOo3uBi5Uvn7R|f``MQevi`mB0qFcA;w|CIaPjmVN@sk4kA3lmvY(ELGw8lVSQ2IV9w$Oh~Mt^-ejFOa2*uuHH= zST&3aQ-|Ba!{NE`ckp>Q7h*R;3!-a^IE^@uu!hPR$U1e%(@F?9Vh-K|uY_XS2W|{U zz&l|DkQ(d|OawLyR06SpBcxGVg_LK{!8@P{$PccwzO%|9OK-EhS!Y=LS+Xn{mOM)d zvic~?isivdWmU2oSwC4bEGCN!TFoq=CwvHLy%xb;z)?uymI=HBnt^cu1#wV@*+6qY z5B3Ju4O@g^;F6G%><~1+EZ|mfYv}J`xE{oAA6yqZ*7I zwhVMaPaX?BzZqnw5P$*Z!7hku2^0a>Kx^nlIAGE+EtoMBYt}F) zm=_ckL9j4bDD>AKy1D{$fpYE%*g=>&RF50R0%m|7pbJ{tDj-!{A`lFz|IPx2P~XCk z?vMcy8G>|rt z26zq>L7C?vkPW0j8xkXdK)?fvbX(~C!vxBl`ym~m9K?VhQZussqn+G_)Q@wJu5l3T z{ipnb7=H)9{d07JozQnT_y@W(0KIFDK?=iJ$iiiC15#oBRcRt1uizmaCO6a{FCYLt zy$Ey&LnBE1Q=|ZCNJ}XDkG2v8sVn~~Isa-y|5dI2{rlfnf7PS^@6UhgUH{+p|L-;a zj{HCS{AbJmy!xN@xYKHfzz%^O0y_kD2<#BpA+SSWhrkYj9RfQ9b_nbc*dee(V28jC zfgJ)n1a=7Q5ZEEGLtux%4uKs4I|OzJ>=4)?utQ*nzz%^O0y_kD2<#BpA+SSWhrkYj X9RfQ9b_nbc*dee(V28l}l)(Q2mpGp_ literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/lc.bcfnt b/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/lc.bcfnt new file mode 100644 index 0000000000000000000000000000000000000000..28d1db0fe06bc5666eab4319d4c58b524f31b7df GIT binary patch literal 16840 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 G#Qz^H@u2nq literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/nnfont_RectDrawerShader.shbin b/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/nnfont_RectDrawerShader.shbin new file mode 100644 index 0000000000000000000000000000000000000000..4290c2ccf471f95efa5505da684e57bb896f592b GIT binary patch literal 964 zcmXw&PfQa*6vkhtv@8qQf(W$0cDr~$4u%*mdSSMy2_c(xgQOvZL^e=^Nd+rj? zf!m|k^xk|;KQmd=Gg;rwntN{FTyUv>Zik)aJ8tKa^_prt68->UeLT3*KNnal^Ao@J zx|sGT$F#>6n6`hJX@iU5+wMIc4SJT7p`tT{y&o)M{Q*B@H0{t44_Ov^%v;QaKIaje zf)ee@c^~=Vuot?+-aFVgmri+@1Lwdw!9RH`56*-0g8%Sn1Uv#B0grm@8Z{F~xn=f> z7VT*4|NiIgLxWzrM)s3yn7>_`w!;Fr04@kF+bt7pf=$5-c2oox!9~I7FSA^FLrpu9 zeb();IE6e%-a~%ZZW&+$YzW4D^pLbX+p$)B$GQ`UGd4wBYfLsWaMs_a8=cT6qtw9f zrP`3vai;V*)~ANzbVHZ(Qv-^1o|3#4*IA9%H&0dF-B@>G{rXwOab4tor5BTOefUu6 zkAjLX>?;o9baY~-04Cne z5o{2~WE2j~z&JXD$r(g{F#w>1tSwm75JUVYhPcoqJke(gU!iI0klG7hjNAUL4XSRe ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/ok.wav b/tags/1stNUP/ConsoleDataMigration/sources/common/romfiles/ok.wav new file mode 100644 index 0000000000000000000000000000000000000000..bf5149fdbf4e7e1e1cbd4260c707d719eca447a2 GIT binary patch literal 158700 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%0AXBj)7&cZj8@1h8< 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
u?kI$o1k0y}61QJtL!KgbYqfgt&;%p_a6 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 literal 0 HcmV?d00001 diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/wave.cpp b/tags/1stNUP/ConsoleDataMigration/sources/common/wave.cpp new file mode 100644 index 0000000..a897109 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/wave.cpp @@ -0,0 +1,150 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: wave.c + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------*/ +/* includes */ +#include "wave.h" + +/*---------------------------------------------------------------------------*/ +/* functions */ + +/*---------------------------------------------------------------------------* + Name: LoadWave + + Description: Wave データを読み込む. + + Arguments: filepath : ファイルパス + fmt : Wave データの fmt チャンクを格納 + data : Wave データの data チャンクを格納 + + Returns: None. + *---------------------------------------------------------------------------*/ +void LoadWaveCore(nn::fs::FileReader& reader, WaveFmt * fmt, WaveData * data, bool isSizeOnly) +{ + reader.SetPosition(0); + + WaveRiff riff; // RIFF ヘッダ + WaveChunk chunk; // CHUNK + u32 readbyte = 0; // ファイル読み込みの判定に使用 + u32 fsize = reader.GetSize(); + + // RIFF ヘッダ読み込み + reader.Read((u8*)&riff, sizeof(WaveRiff)); + + // サイズを積算 + readbyte += sizeof(WaveRiff); + + // "RIFF" との一致を確認 + if (riff.tag != MAKE_WAVE_TAG_VALUE('R','I','F','F')) + { + NN_PANIC("Not RIFF format.\n"); + } + // "WAVE" との一致を確認 + if ( riff.type != MAKE_WAVE_TAG_VALUE('W','A','V','E') ) + { + NN_PANIC("Not Wave format.\n"); + } + + // ファイルサイズより大きくなるまで読み込む + while(fsize > readbyte) + { + // CHUNK の読み込み + reader.Read((u8*)&chunk, sizeof(WaveChunk)); + readbyte += sizeof(WaveChunk); + + // "fmt " + if (chunk.tag == MAKE_WAVE_TAG_VALUE('f','m','t',' ')) + { + reader.Read((u8*)fmt, sizeof(WaveFmt)); + readbyte += sizeof(WaveFmt); + + // 拡張領域があれば読み捨て + if (chunk.size > sizeof(WaveFmt)) + { + u16 ext_size; + + reader.Read((u8*)&ext_size, sizeof(ext_size)); + readbyte += sizeof(ext_size); + + readbyte += chunk.size; + if (readbyte == fsize) break; + + reader.Seek(ext_size, nn::fs::POSITION_BASE_CURRENT); + } + } + // "data" + else if (chunk.tag == MAKE_WAVE_TAG_VALUE('d','a','t','a')) + { + data->size = chunk.size; + + if (isSizeOnly) + { + return; + } + else + { + reader.Read((u8*)data->buf, data->size); + // 8-bit wav ファイルの場合は unsigned -> signed の変換が必要 + if (fmt->quantum_bits == 8) + { + s8* p = (s8*)data->buf; + for (int i = 0; i < data->size; i++) + { + p[i] -= 128; + } + } + } + readbyte += chunk.size; + } + // それ以外 + else + { + readbyte += chunk.size; + if (readbyte == fsize) break; + + // 読み飛ばす + reader.Seek(chunk.size, nn::fs::POSITION_BASE_CURRENT); + } + } +} + +#ifndef NN_BUILD_RELEASE // Release ビルドでは HostIO は使えません。 +void WriteWaveHeader(nn::hio::CTR::HostFile& hostFile, WaveFmt* fmt, s32 size) +{ + WaveRiff riff; + riff.tag = MAKE_WAVE_TAG_VALUE('R','I','F','F'); + riff.size = + + sizeof(WaveRiff) // riff header + + sizeof(WaveChunk) + sizeof(WaveFmt) // wave fmt header + + sizeof(WaveChunk) + size // wave data + - 8; + riff.type = MAKE_WAVE_TAG_VALUE('W','A','V','E'); + hostFile.Write(&riff, sizeof(WaveRiff)); + + WaveChunk chunk; + chunk.tag = MAKE_WAVE_TAG_VALUE('f','m','t',' '); + chunk.size = sizeof(WaveFmt); + hostFile.Write(&chunk, sizeof(WaveChunk)); + hostFile.Write(fmt, sizeof(WaveFmt)); + + chunk.tag = MAKE_WAVE_TAG_VALUE('d','a','t','a'); + chunk.size = size; + hostFile.Write(&chunk, sizeof(WaveChunk)); +} +#endif // NN_BUILD_RELEASE + +/*---------------------------------------------------------------------------*/ +/* end of file */ +/*---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/common/wave.h b/tags/1stNUP/ConsoleDataMigration/sources/common/wave.h new file mode 100644 index 0000000..cbaf2f3 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/common/wave.h @@ -0,0 +1,148 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: wave.h + + Copyright (C)2009 Nintendo Co., Ltd. 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef __WAVE_HEADER__ +#define __WAVE_HEADER__ + +/*---------------------------------------------------------------------------*/ +/* includes */ +#include +#include +#ifndef NN_BUILD_RELEASE // Release ビルドでは HostIO は使えません。 +#include +#endif // NN_BUILD_RELEASE + +/*---------------------------------------------------------------------------*/ +/* constants */ + +#define MAKE_WAVE_TAG_VALUE(c1, c2, c3, c4) \ + ( c1 | (c2<<8) | (c3<<16) | (c4<<24) ) + +#define MAKE_WAVE_TAG_STRING(str, val) \ + { \ + str[3] = (char) ( (val>>24)&0xff ) ; \ + str[2] = (char) ( (val>>16)&0xff ) ; \ + str[1] = (char) ( (val>> 8)&0xff ) ; \ + str[0] = (char) ( (val )&0xff ) ; \ + str[4] = (char) ( 0 ) ; \ + } + +#define MAKE_FMT_CHUNK(ch, s) \ + { \ + ch.tag = MAKE_WAVE_TAG_VALUE('f', 'm', 't', ' '); \ + ch.size = s; \ + } + +#define MAKE_DATA_CHUNK(ch, s) \ + { \ + ch.tag = MAKE_WAVE_TAG_VALUE('d', 'a', 't', 'a'); \ + ch.size = s; \ + } + +#define saturate(v, min, max) \ + { \ + if ( v < min ) {v = min;} \ + else if ( v > max ) {v = max;} \ + } + +#define swap(v,t) swap_##t##_(v) + +#define swap_u16_(v) \ + { \ + v = (u16)(((v)>> 8)&0x00ff | \ + ((v)<< 8)&0xff00); \ + } + +#define swap_s16_(v) \ + { \ + v = (s16)(((v)>> 8)&0x00ff | \ + ((v)<< 8)&0xff00); \ + } + +#define swap_u32_(v) \ + { \ + v = (u32)(((v)>>24)&0x000000ff | \ + ((v)>> 8)&0x0000ff00 | \ + ((v)<< 8)&0x00ff0000 | \ + ((v)<<24)&0xff000000); \ + } + +#define swap_s32_(v) \ + { \ + v = (s32)(((v)>>24)&0x000000ff | \ + ((v)>> 8)&0x0000ff00 | \ + ((v)<< 8)&0x00ff0000 | \ + ((v)<<24)&0xff000000); \ + } + +/*---------------------------------------------------------------------------*/ +/* typedef */ +typedef struct _riff +{ + u32 tag; + u32 size; + u32 type; +} +WaveRiff; + +typedef struct _chunk +{ + u32 tag; + u32 size; +} +WaveChunk; + +typedef struct _fmt +{ + u16 fmt_id; + u16 channel; + u32 sample_rate; + u32 trans_rate; + u16 block_size; + u16 quantum_bits; +} +WaveFmt; + +typedef struct _data +{ + u32 size; + u8* buf; +} +WaveData; + +/*---------------------------------------------------------------------------*/ +/* prototype */ + +void LoadWaveCore(nn::fs::FileReader&, WaveFmt*, WaveData*, bool); +static inline void LoadWave(nn::fs::FileReader& reader, WaveFmt* fmt, WaveData* data) +{ + LoadWaveCore(reader, fmt, data, false); +} +static inline int GetWaveLength(nn::fs::FileReader& reader) +{ + WaveFmt fmt; + WaveData data; + LoadWaveCore(reader, &fmt, &data, true); + return data.size; +} +#ifndef NN_BUILD_RELEASE // Release ビルドでは HostIO は使えません。 +void WriteWaveHeader(nn::hio::CTR::HostFile& hostFile, WaveFmt* fmt, s32 size); +#endif // NN_BUILD_RELEASE + +#endif // __WAVE_HEADER__ + +/*---------------------------------------------------------------------------*/ +/* end of file */ +/*---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/OMakefile new file mode 100644 index 0000000..ef5f9f7 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/OMakefile @@ -0,0 +1,63 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +include $(makePlatformDefsPath tests) + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + ../../../common \ + ../../../ConsoleBackup \ + + + +TEST_COMMON_SOURCES[] = + ../../../ConsoleBackup/Exporter.cpp + ../../../common/Util.cpp + ../../../common/HeapManager.cpp + ../../../common/SdLogger.cpp + ../../../common/LogConsole.cpp + ../../../common/CommonLogger.cpp + ../../../common/SdMountManager.cpp + ../../../common/PlayHistoryManager.cpp + ../../../common/VersionDetect.cpp + ../../../common/HardwareStateManager.cpp + ../../../common/FileTransfer.cpp + ../../../common/SdReaderWriter.cpp + + +SOURCES_TEST[] = test_Exporter.cpp + +ROMFS_ROOT = ../../../common/romfiles + +TEST_ENVIRONMENT_PROCESSLIST = true +TEST_ENVIRONMENT_EMUMEM = true + +LIBS += libnn_test \ + libnn_mcu \ + libnn_ps \ + libnn_am \ + lib_demo \ + + +ROM_SPEC_FILE = ../../../ConsoleBackup/ConsoleBackup.rsf +DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/_private/RepairTool.desc + + +include $(makePlatformDefsPath build.tests) + + +tests: $(TEST_TARGETS) diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/test_Exporter.cpp b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/test_Exporter.cpp new file mode 100644 index 0000000..486e320 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/Exporter/test_Exporter.cpp @@ -0,0 +1,113 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: test_Util.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "demo.h" + +#include "CommonLogger.h" +#include "HeapManager.h" +#include "Exporter.h" + +using namespace nn::test; + +class ExporterTest : public Suite { +public: + virtual bool InitializeSuite(); + virtual void FinalizeSuite(); + + ExporterTest() { + SUITE_NAME("TestUtil"); + TEST_ADD(ExporterTest::ExportTwlSaveData); + } +private: + void ExportTwlSaveData(); +}; + +namespace +{ + +const size_t s_GxHeapSize = 0x800000; + +} + +//------------------------------------------------------------------ +// Initialize/Finalize +//------------------------------------------------------------------ + +bool ExporterTest::InitializeSuite() +{ + // os の初期化 + nn::os::Initialize(); + + nn::fs::Initialize(); + + // amの初期化 + nn::am::InitializeForSystemMenu(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + demo::RenderSystemDrawing renderSystem; + renderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ログ描画の初期化 + common::Logger::GetLoggerInstance()->Initialize(common::CONSOLE_WIDTH, common::CONSOLE_HEIGHT, + common::CONSOLE_MAX_LINE, &renderSystem); + + return true; + +} + +void ExporterTest::FinalizeSuite() +{ +} + +//------------------------------------------------------------------ +// Test Util +//------------------------------------------------------------------ + + +//------------------------------------------------------------------ +// Test Functions +//------------------------------------------------------------------ + +void ExporterTest::ExportTwlSaveData() +{ + NN_LOG("WriteTwlTitleData\n"); + ConsoleBackup::ExportTwlSaveData(); + + while (!ConsoleBackup::IsExportThreadFinished()) + { + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(10)); + } + ConsoleBackup::FinalizeExportThread(); + +} + +NN_TEST_DEFINE_MAIN(ExporterTest) + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/OMakefile new file mode 100644 index 0000000..0b7f26b --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleBackup/OMakefile @@ -0,0 +1,20 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- + +if $(IsTestBuild) + .SUBDIRS: Exporter + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/OMakefile new file mode 100644 index 0000000..19fef5c --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/OMakefile @@ -0,0 +1,20 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- + +if $(IsTestBuild) + .SUBDIRS: TitleDownloader + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/OMakefile new file mode 100644 index 0000000..30f3b2d --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/OMakefile @@ -0,0 +1,65 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +include $(makePlatformDefsPath tests) + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + ../../../common \ + ../../../ConsoleRestore \ + + + +TEST_COMMON_SOURCES[] = + ../../../ConsoleRestore/TitleDownloader.cpp + ../../../ConsoleRestore/Shop.cpp + ../../../common/Util.cpp + ../../../common/HeapManager.cpp + ../../../common/SdLogger.cpp + ../../../common/LogConsole.cpp + ../../../common/CommonLogger.cpp + ../../../common/SdMountManager.cpp + ../../../common/PlayHistoryManager.cpp + ../../../common/VersionDetect.cpp + ../../../common/HardwareStateManager.cpp + ../../../common/FileTransfer.cpp + ../../../common/SdReaderWriter.cpp + + +SOURCES_TEST[] = test_TitleDownloader.cpp + +ROMFS_ROOT = ../../../common/romfiles + +TEST_ENVIRONMENT_PROCESSLIST = true +TEST_ENVIRONMENT_EMUMEM = true + +LIBS += libnn_test \ + libnn_mcu \ + libnn_ps \ + libnn_am \ + lib_demo \ + libnn_nim \ + + +ROM_SPEC_FILE = ../../../ConsoleRestore/ConsoleRestore.rsf +DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/_private/RepairTool.desc + + +include $(makePlatformDefsPath build.tests) + + +tests: $(TEST_TARGETS) diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/test_TitleDownloader.cpp b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/test_TitleDownloader.cpp new file mode 100644 index 0000000..97adbe2 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/ConsoleRestore/TitleDownloader/test_TitleDownloader.cpp @@ -0,0 +1,109 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: test_Util.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "demo.h" + +#include "common_Types.h" +#include "CommonLogger.h" +#include "HeapManager.h" +#include "TitleDownloader.h" + +using namespace nn::test; + +class TitleDownloaderTest : public Suite { +public: + virtual bool InitializeSuite(); + virtual void FinalizeSuite(); + + TitleDownloaderTest() { + SUITE_NAME("TestUtil"); + TEST_ADD(TitleDownloaderTest::ListUp); + } +private: + void ListUp(); +}; + +namespace +{ + +const size_t s_GxHeapSize = 0x800000; + +} + +//------------------------------------------------------------------ +// Initialize/Finalize +//------------------------------------------------------------------ + +bool TitleDownloaderTest::InitializeSuite() +{ + // os の初期化 + nn::os::Initialize(); + + nn::fs::Initialize(); + + // amの初期化 + nn::am::InitializeForSystemMenu(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + demo::RenderSystemDrawing renderSystem; + renderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ログ描画の初期化 + common::Logger::GetLoggerInstance()->Initialize(common::CONSOLE_WIDTH, common::CONSOLE_HEIGHT, + common::CONSOLE_MAX_LINE, &renderSystem); + + return true; + +} + +void TitleDownloaderTest::FinalizeSuite() +{ +} + +//------------------------------------------------------------------ +// Test Util +//------------------------------------------------------------------ + + +//------------------------------------------------------------------ +// Test Functions +//------------------------------------------------------------------ + +void TitleDownloaderTest::ListUp() +{ + NN_LOG("WriteTwlTitleData\n"); + ConsoleRestore::TitleDownloader dl; + + dl.Start(); +} + +NN_TEST_DEFINE_MAIN(TitleDownloaderTest) + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/OMakefile new file mode 100644 index 0000000..970e68a --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/OMakefile @@ -0,0 +1,20 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- + +if $(IsTestBuild) + .SUBDIRS: common ConsoleBackup ConsoleRestore + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/common/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/OMakefile new file mode 100644 index 0000000..10686fc --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/OMakefile @@ -0,0 +1,20 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- + +if $(IsTestBuild) + .SUBDIRS: util + +DefineDefaultRules() diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/OMakefile new file mode 100644 index 0000000..825ae74 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/OMakefile @@ -0,0 +1,55 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +include $(makePlatformDefsPath tests) + +SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include) +INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \ + ../../../common \ + + + +TEST_COMMON_SOURCES[] = + ../../../common/Util.cpp + ../../../common/HeapManager.cpp + ../../../common/SdLogger.cpp + ../../../common/LogConsole.cpp + ../../../common/CommonLogger.cpp + ../../../common/SdMountManager.cpp + ../../../common/VersionDetect.cpp + + +SOURCES_TEST[] = test_Util.cpp + +ROMFS_ROOT = ../../../common/romfiles + +TEST_ENVIRONMENT_PROCESSLIST = true +TEST_ENVIRONMENT_EMUMEM = true + +LIBS += libnn_test \ + libnn_mcu \ + libnn_ps \ + + +ROM_SPEC_FILE = ../../../ConsoleRestore/ConsoleRestore.rsf +DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/_private/RepairTool.desc + + +include $(makePlatformDefsPath build.tests) + + +tests: $(TEST_TARGETS) diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/test_Util.cpp b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/test_Util.cpp new file mode 100644 index 0000000..9910ec5 --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tests/common/util/test_Util.cpp @@ -0,0 +1,174 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: test_Util.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include + +#include "Util.h" + +using namespace nn::test; + +class UtilTest : public Suite { +public: + virtual bool InitializeSuite(); + virtual void FinalizeSuite(); + + UtilTest() { + SUITE_NAME("TestUtil"); + TEST_ADD(UtilTest::AddCheckDigit); + TEST_ADD(UtilTest::GetSaveDataDirectoryRoot); + } +private: + void AddCheckDigit(); + void GetSaveDataDirectoryRoot(); +}; + +//------------------------------------------------------------------ +// Initialize/Finalize +//------------------------------------------------------------------ + +bool UtilTest::InitializeSuite() +{ + nn::fs::Initialize(); + + return true; +} + +void UtilTest::FinalizeSuite() +{ +} + +//------------------------------------------------------------------ +// Test Util +//------------------------------------------------------------------ + + +//------------------------------------------------------------------ +// Test Functions +//------------------------------------------------------------------ + +void UtilTest::AddCheckDigit() +{ + + // 通常チェックデジット + { + const char serialBase[] = "EJF10000445"; + const char serialWithCheckDigit[] = "EJF100004458"; + char serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + std::memcpy(serial, serialBase, sizeof(serialBase)); + common::Util::AddCheckDigit(serial); + + NN_TEST_ASSERT_EQUAL(std::strcmp(serial, serialWithCheckDigit), 0); + } + + // チェックデジットが0になる場合 + { + const char serialBase[] = "CJF10004638"; + const char serialWithCheckDigit[] = "CJF100046380"; + char serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + std::memcpy(serial, serialBase, sizeof(serialBase)); + common::Util::AddCheckDigit(serial); + + NN_TEST_ASSERT_EQUAL(std::strcmp(serial, serialWithCheckDigit), 0); + } +} + +void UtilTest::GetSaveDataDirectoryRoot() +{ + bit8 ivs[512]; + s64 ivsSize; + // 完全性検証SEEDの取得 + nn::Result result = nn::fs::MountSpecialArchive("nand:", nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + if (result.IsSuccess()) + { + nn::fs::FileInputStream fis; + + result = fis.TryInitialize(L"nand:/private/movable.sed"); + if (result.IsSuccess()) + { + ivsSize = fis.GetSize(); + s32 readSize; + result = fis.TryRead(&readSize, ivs, ivsSize); + if (result.IsFailure()) + { + NN_DBG_PRINT_RESULT(result); + NN_TEST_FAIL("Can't Read SDCI"); + } + } + else + { + NN_TEST_FAIL("Can't Initialize File"); + } + fis.Finalize(); + } + else + { + NN_TEST_FAIL("Can't Mount nand:"); + } + + wchar_t saveDataRootWStr[nn::fs::MAX_FILE_PATH_LENGTH]; + nn::fs::Directory dir; + result = dir.TryInitialize("nand:/data/"); + if(result.IsSuccess()) + { + nn::fs::DirectoryEntry entry; + s32 num; + result = dir.TryRead(&num, &entry, 1); + if(result.IsSuccess()) + { + if(num == 1) + { + std::memset(saveDataRootWStr, 0, sizeof(saveDataRootWStr)); + std::wcscpy(saveDataRootWStr, entry.entryName); + } + else + { + NN_TEST_FAIL("Unknown Directory exists"); + } + } + else + { + NN_TEST_FAIL("Can't Read nand:/data/"); + } + } + else + { + NN_TEST_FAIL("Can't Initialize nand:/data/"); + } + + // 一旦アンマウントしておく + nn::fs::Unmount("nand:"); + + std::wstring tmp(saveDataRootWStr); + char saveDataRootStr[nn::fs::MAX_FILE_PATH_LENGTH]; + std::wcstombs(saveDataRootStr, tmp.c_str(), tmp.size()); + + std::string sysSaveRoot; + common::Util::GetSaveDataDirectoryRoot(sysSaveRoot, &ivs, ivsSize); + + NN_TEST_ASSERT_EQUAL(std::strcmp(sysSaveRoot.c_str(), saveDataRootStr), 0); +} + + +NN_TEST_DEFINE_MAIN(UtilTest) + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/ diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/ExportedDataVerifier.bsf b/tags/1stNUP/ConsoleDataMigration/sources/tools/ExportedDataVerifier/ExportedDataVerifier.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 zcmb7@%}&BV6ov0r6Q4m6H@Z+KhJ|rsM6B@-iN&}UA&7ugsXvL2;Tss=z?CbPK7-HU z)`;f}40Xb^b~0(1PS3sfyQi1I&zzJblt2oys8<2cr*etalpCCea)sR)c7e2|i~WpD z%Rcro7N2+UHiF)~Uy~`R|H-i|w|LvZ70EsBD^ipPeP2RkjQky)vxJ;2?`%a`MK<2; zYzL^;09`kOt2fp#wk|zHu)7fFWNu`{_Q#rGY=0EX_#@P9p&Pog2InT%2DrMq)-it1 z5bM@4GJuy|>5rV>09lO8Ax`gbHW_E@jjjxRjO#yrP0mrF2RAOE<`)kz2d6kOwUp*I z93`+s$UK?1hPc}iwV4q^!TDfENmN43p675qs~7dEzSM{MR`2Q)_czs1k9R9iC+b3# z6`dZs&Cc53ZE5GPQMHZQ&9SRVZt6E>3%bKUwF@%riEnqMis|N;Ye~iGdv;(iqYmL% zgnF^1x3#kaqppIk4p-ag{~U}rnxmrmV?1-}BHb4wwvf|Jvo7{BYB!CoUDx@U+m9xI zZ~1Ac&QC+NAI&!0$)cen)MPOjjbG&*sbyA9+-82Nvlu4Tel%g~#LiszPN!@7sdh7@sr_j7@Sk?igDXGP`DhB-LF)Z@%5t2-lYH^vj#EOlnf|^Y>?tBj+52Lvj*CGTiPSIf@`b5d(;Tf(Ze$9AX9&AYw*DP{DvG5@dG? zCW45fsF($_Vj>uMzrWt;z2=1T`M>%^cKB3HRZVrJ?&+D^yDd6(>w3ce-^+O%>5~iP z^Lz-wSRg-eOThog`A~=S&7fQgl9w|Vb6v>AcJ9$>Kx1T5-Ou3;x!mab-l8AVJjEbg z8=G{~%=HB7V@~4;!z>l7rW_%qgu1)C5`pM`%`%&JyO# zod2O8am46T4BK;p*Pj8~zjF{|tdJX=a8pLR9rF)yOYfnJ@N$fq8$F9`qOf*N3MpRoWmbfe^}1-Y$?3Qy`}Y|db@L=YdSOscXQVD+-t0> z6qvO#*c=a)SYrjeV({88+W@j&3ZA9wwFUAqC*|N@39f67D#3pX-wsH}Q#JTfOt!`s z;I7GlZw9aN1-V`u{^pMdVmf1)pc zR=)$fbN)nM(OUfsbjSUPzUId2r=#2XPxR9r{m)}VhPeW19 ztcT&Rf}aYnXV#1G^WbkVe7g53{5trNni#LBSAhI?z>kG5hW*;`=_Db0g}lOEC-~a% zvR8x%hQW7+m%Sofp9DVwegxx-GvXfjtKi2Nd-=ST@blnhueevjdmDZoyzG_4|33H~ z@UmBu>lIkL=@f7R<9+WauLXQ<_{-tbyr$j&_|EXMSH>&rO@JQ(FMH*v$Zhaf!OLDb zu0IVw5B@yHSMh3iufwl{zX-mnm*MS(-vKXs6}?Jc1@^0SCP?-wd*!`W@U`J(uQJyM z!FPr~i}7XHMJK|KfFB268jG{wuY#AoYTgmvGw}1^Wv@CBY=d71FMHLwz88K6yzEu< zYI+rUcBdCk*sDN%t>J6K%U(_INbdyr&hWBVi+nDE9|13WwYWYT{wnzMu~*(};4Oon z2Y)eq1+Ss^Cj2^h*{kc-^L~Qg0WW*?S=E(!pGYr~uvee!ZQ*OftA2I8M&60=o#9o# zI@r4yegwSiHR7pxC;V0LveyLvE8yqB-(dL0-rMl&;8m~MJPCh>-vNJ#vDd<@vK#+J z6ZV>UM|(S^dGfA=p9in_T6(R# zci`8-Pla!d|6k#Ez{_51u2%8+O>U;Jd@iUOTV7cL)4f zc-iZK#tZPbz{_3-uJ49_3jP|#m-fP5t-Wd9oA5WmXL=#83;eI})6frl5pOhnM)8Eb zEHrL_?+h<{SzKQPKN`LQ8%A56>@UMlgRc(X(d*=;?c_4N5el0e>da1d&hb=!hZn&nBn_)OW@N>ChQ&S_4VF{uMaPK$KlWWInC=0FMG#v zy)OKD@KMJ1@s9U;!_S0&9=;zlGy#4Yyy83F8{pjs{|>zD4MgKbc(w&&Zy?vdgRc$G zQKPa`|G{=71pV?-|fQ{lVjp&xeibw9R;uaJj+)m-`&;6LG= zES^0d<>V{--@z}V|*_CbKwW&q2JfhFHStY;Opk0 z-zb-UUHCn`BOWTA0=e{k_~-M`|M0_{`Y4`x@Uzg*COfyDyb_z^s$BY$;78`6f2yOe z{rM#LR(a^R&!yiAzCa%O6>{m9hJS;1_-vv*Sp468kdv?Cc?y0$`nTlL=M~%>Gjr+R z46mOt4yAvtqp#=J82GMv==aK{-xa<>9{P22>DPq+grAuX6_1}wf8G16fAr^&om-zG ziFCbrT(|E_ivK?NYx2;a%OMei2-8}SL<*A zcDcs1Wz5mY^tsBRVk>>%n2b)0dF9&^@f@u;$mke?WRqa9u|r%gAEP0%S|` z7;|l|F%ia0LUv^yV@}OACd8OQ$d1ipOsiaDIxwaQvMPCuDSqIX^mdHd_zu4-;Ikj) zZ`ZwOdo1F5z^5OJ{sQl^*ix_hXvg`906UsH_F~+n+HZYGd<#UaBf-zg) zO7m(mM!#Qh*Fhq4_CKz>HF%ma3z2>O<)Oz+%{68vW2PWmp2wKebB&2JW(cyY^BB`E z*O=!Rb2PGkd5kH2;28h-z8!lizZQ&f53PZrJNTWYT?{M>t6Rv?wR>f=L+HLkO!lx; z`XO{RANH{O@0%YVJcg?rU9DY>TyzNC6C7QwW!cU?gl=O;SMThyJwUqqAreQSJ_Gu8 zgv>vCTTZ;T4p!;Fvwna0=P+{Q$b_l z-})W;u**Ufh_GX*rddG2#Dd9J*SBxPt_^D7?_ec`vq9EGvax%bR=EzwXBu&x*e>ZLNNt=Z)W&zxY!n{O9(i`6ITp{dT)#9N9vhfzw2A+?03< z?4Ru2mo2`)k-~W&`u$$I=Vc5y!Q3C|AMn|WJzjq;NoV_YnSJ2EBRlLjKn^&^{({%s zZ~}Q{AK$%mf8^=Y9GjCJI%iCFIO!=zXsC?=-@HV#5^=9@w%9^Jp1~!rMu{3FUJR}U zvgG>IwO8`E_GTW}zRly>zJpxTdr5lYKG^>oziHC(fp$3xyw*Q3L%r+fK2XyUx$V_7 zZxo*i1xIr4`V_f6v~KKvYh^iSt<67&)ZUfayAE74{Ejt8V5tA5y{k5#3)!Rg<|O@> z_O4g>?8P3>Ikc7OKFiU_k%~GT_pY}#@vi+rvLea7tM$uCnc2OycOCqZ_-Fgpfi?bj zaQ40HAN6hXR0SerEj|ly-@B|%j!o*2eD9h#F_0&pYpM6HoJu90b$@;Ds{O^B&-LE* z@gpDHCF^=GTVCUWbM@Xe*Z+P~;4xe0&cJCRIR1|JuF=8gJF+)^eez!UOM6#2$7W%N zmXE~2`-=}WKh@uw+>^YXtCRF!+Ml-OeE#LV zygs*jH^%Rpg3qY9A4}QaJxp^xw^9jK*I&}|;sRg9 z=d8W02pt8=CHU z%lO;Sa+MQL2m5NYTPYiWMzZylAl!#Y>bdUZPaVQl(3lDpR^l+0tdol`U7kY`F^M zD^x6Bp;E<4l`B@NQn^ai%2ldWt#(A!YSoXZUgL=B88tF$*2p-r=8?5(9$C9q?K-t; z*R4~xUY)x2>(y^iuYSV@4I4FR*tk*SCXE^&)#RwAO^)L4lGB=|R7Kqrv{xnHE7hiQJ2n*nsjN>wM&zxU7L36+BB_OTC;A=j_!VRkM2h| z@6o(xkLJhpJf>IAV_NiT(YsfRmc3i{>D{tbpH|2AY1R7J)_sp{-KKAw_&bwbvO zCuDUzvEz^vJ9Zk<>7*f@I-k^e=t-Ts4DE9A&@Nq1?t03}UAvvq?bK7cH9NIg_fxy~ zIIYL9(|YtA)^qrMr-lz8-aeD7QBl?^%qR+8s96R!iWBZQmJ8ER#<3=4f zdem|KM)x~&bie**_CM>){>Ptn{Ft+jA24RX*f9eJjvaXR*nxx29(2yxg9e{7_}p^_ zpK$I8=bd}PiRYbo{&^=3Ie*Bw^M{-??xYLGoiy}g;o_KIfXN&pG#+bFaPT-1DwI@49QxJO8@#ufOj6ao3N#;rekG+;G9v8!i|>b^Nrc z<0nj;aO1QI6K|Y&(~T1^yy?Q5Z@Tcbn@_vw=38!^e(Q|sx6Yg~^R^i?XWcgI_S@9T+%SGr(;D(Zq2&q*F5*an&)3!^TJDOUR=NCr44J=Z(Ors)0&Mh zui3PD&C9Q>*}P@VE3dBE^4gkLx2}2Z^)*}HSo8X}HE+DRX4_k9-dwxpEp~#4-38EE*raL%-*o*if`Q%+qChz$i_>GuC93B^w`Wk z6AWE%PVxBI^z}xEbF4(q?ncfz&KM)dMhrb8XI#AU$7PKiKXGh@WfR+R`A+yMVQ9(g z&ABnII3y4BV^&`=NgmjbOD_A0L-HUVBUe1qOW40j@f*3~mtDz;OF0_3a;*4P2_sir zibM8ATYcgRJNjYAe%P@eapDOp4%tziocP0vBZxnuI1~?lB8o$D)n2|6@s}{PrNfQ8ZWu*U0f?Y>xrsA$2I4%@4kwN);fA`;%Y;47H?>-OV7}ZTRpe? zi!BrSg}670$3;u7@uIh)ukoUF7N5|+&ghBOxJ?@itro3#rZ7H`M;!f#V<+O+k2rp_ zG(KU!P?i&CmW>~KvJ;Vx&f*jL*G2Ga>wx`2hL*j>A7*52s=hP6`kcn`TA@;gzVD{_ z@$%EYj7ZKo4sYm6p;D{SGc@B?r^jAtDV-Z`sw;V1wB#Bu8hfiX-r5l_TGyo~TH`cc zbP$h~M;!f#V<+O+&vN{l`p6FUB)4&9+4z;8lb7sg1@T0jIz%+y#?$`&c3D%JZjA5f z(LKIsYCS`1u2e(G*D$xLwP>!Jds{T)R#$3Uu$AbSCT6YHcq`Xu zT6>tri&lLcdBoAzoLW0sj{Pi+*I4DD@uIOOdBn<{_*qMdymWT*jcB~|HBRG2%bu0z zuFqFZn`M=XEQ$AdqeHyj-XjcMYt+&M>UPf0o{@7tpoZv0G?sA()Dv4qj_m_#`{4Pn zwUmCFQLPTBvwTY~eWxa?6^FI&)NQrmkX&b{wk8hAHO{HOu`9X!xO1d9BoFFi=0$Z= z9D)7;bJv_a1N#Te<3%~~95AOge#RXzzfQgf%(dc>ed0P`-ko~NzF7~Nb6bDech>{) zWXX=s?%I%^jo+?^AYUVwA9u|t4(Tf{9V17UTCKCYPQ=GLC3M`ickbNza_7jM7ss!e3)xrRPMinS*{!WxPbc?CuDV5h6^SFS z_sjg#uFo7bY*Or-F*BYWJ8z<)e>|has!(c7>)*I})lb8E z7@cy%d#pNs%myRxI%dPFh9gTD`J3}5u6py0n~j`tt7?s%(Lwf)ns)svY#I5UT}7gb zOY+tuZ!$l(%l?~hl#HVPtmI|Ue+J)@6H65Pt0b3w#UZ)u6OWPiOvGd4=MWFM7EG4#h)UA*Y_w&y-wqW$V8xVc*D!OYvmN&WPbX zG8KpPb+&Wuk23Kax#Hh9HL)I+jhWFwaY$eDrZ}AX7`fsav+MZK*TpZ1eOUMORqfJ4 zhMs-q_Ek&jR5di`D14@L_T~#k(K9sT%o>n<;F%{ypJ%*i$u(Xy_M#duT4#+Ht?SYg zt#KMJI*7;6@}u#Aex_q5WbI=w_3;*@?! za_q^Dp>-CY&@Ugdbx?l9W8{iw(8v{`x2vBWoBZMntIF3{VCY+ZibOk&zs}H{qwt32 zdi2B>`K%9p#+mwvzU8NQG{kt(Es$%xXzABvylB}GpU{s)r6(GDt2AD;;<55x_;K_@ z)(+>8V?U(v8p}9SpM?E*NaL;CiC=a?k}JO-sweXeX}shbM?8jBJg0rJIaIXU=vbdO z-&=L*nJWzaOL%bfoEEbU%{dBhXs$ZUbMz(yyzevE6>#UKtJTz30eD!*YRuWlhEHLxs6l$A<3oRJ14IY_KjTEZ5=d@ zc#K@}%-q)|{OZmI;RTVd(H7h47`niuSoBcxX`>5Vp5!e{Um)UaY(MSOV=U}$u-WU$tx!N^5fEqLvqFC z(uyO{54p7B2<(SkT6GEHF*UNZ;*cG5O-z<{@-;C@jvo_;=!%oV2hdIprEhC1n}!bT zCuwRDwlTOgH8FCHb7}dOU)gqPYGUL;eUh|zK6f*7Smcos%k&xCt%K*aPSJVSfucq9 zyAK_DzfAnrEIa%PU!rh7ztr!FQ;@1bY7L~;z`tV+{E$&Iy!qCt9oVkI8=768S*$~i zaFZRaGTROA5H7uQW#$D}4hgr|Q$93r;K1t^b@YXpzud+iUr;H9y?RRbH!Urx5 zSB$-d=u4jidUa@JsV!sOeM-jX1FD6I%*t27$$?*^#`I+j`qN+xptN+IreL+WNV5(->PPTOV5&TMt_Yo4?K5=4&NQF^Slt`b zfI?t(R!jqmfQxuV!9}TVqRT>>>62KJ6<6FVNzb@a;4+*`(#^08SX~WE(%Y{bxB};r z^bM>4uEe>d=~1XYij|?O(2uYha0K`Wx(!wXYJh8yNj0D*SUm-+0ad`Y=*U+Gs0*%( ztPW5UToc_oKs|6hx&+n%YJnTj|F03y*mVAD0&YTwzD7V(a8r6jH3E(XAB}D!uQ~np zS^zD<>c!UrXbo(%8q()Zo%h;-)p4&4piX-o=#JM0Xaa76 zZX5d7RrSI^6>t?|4+9Z!1l_Rd#usL6JLq=khRLxu-}R{Nbp)$-UKY?9+!@_0AOenH zBMYbt?n3Ncf#%@m`0NT~f-}+W3Umf{#zt453%D(@cLN%L8&HF8KzDF=I_Y&Y-SoQA zF|QqTJ9N7-M^(LEKnNT{)(hwf?ul+Mpf|WTbJzd#Fcdu8JDu;eo$j3h zKEoRc9_ft&k3x3@Fbq5l8zX?>;L+Zh-dVsH@ECla1q=ZXLH8_R6nGRi&H_e*PbHSI zz}euly>r0lc;|x8rJK=M;C%4;*d7a<3LfWOK%d?Vyb0h5-bC<3??Ui}=#B@@1)qzJ z@xVCnMc&2UCBUWNOTEj$mwA_iFGu$h;6m_)*ti6^2z&*(P6CF5hvRb+a6b5abSD9q zgD=O%B;X401Y*esCW9w?SAwtfrhuo=u{j&K8hkajvw;cVYrJc{>wxRQ*VFOvI$$bz zD!SJJQ@~TOaUF0Cc$#-3-;cS`yBT~l9er*BZUx_p?oGf{@KkKv1WW@@C)XLkMc|9@ zIRm&Fd^Nf=fLp=0Vq*p{9eh2p%mi)&-$wW2nZWJf+r8P~+1?%CJFqpH0JsKx4K;fJmdND5!tOl?4)_~V|Yr$*LjRPydE3gpunxT5+ralmH+Y-CoA9|2cozIDx*LI)z%OBABd{L4npj>2 zHiI|Q(feg!3wVq7D)?3JHSlZLei>K|-s-*Xy#Z_kZ}Z*+zv;aNehb|1wf{3*6S0=9ua^FH^!0KNo&>3s$M%KIAp zHM(B_JHb1#@dfZ1_#1B*@7KG$@4(-A--EyRegOY~?zh0#;IFaqE$|KaM{?Z_ybXRE zpSyui!JneL8~6eI12%R8KZ3s`mOa2;@Lq2pc%SzZ_$TjY@Xy{a;9s!42lx{FD{JjH z;A!yF%VlC_kJbypngMI$Wc)yqC|BU=+#_b1Ifmfls zpLhIS^dQ(pF6sU^_)Pb|!hgE|3%coy;m?y9?}L3mA9ydZ=l4ISR{8zUs9Ao0hgZPQ z?-%e3f(!bEz=iyM$oG+7e*a_Us<8h$YooBgl{He>f5j`}7xs&wTNo$+E`W`~z{lXt ztj(f+jC-M|ALX7X>M!?-`9=L==oSTvfQw+GD6kp4jM^0Umy&yN|5s{I9KVJ9;>1u8 zT##|af#t}TbH5hnD~TJt62N-!dhUr5{)=8ozl2}XF9j~;mj;(6*AjpSeu1@F#($2r zSH}Nw;WIw zToxPUfOo;)vDPY3|9pN0>g$7j{8s=t;AxE5S(;7D*CxVk`Xa6P#CKwWTUEH?lef~&zb0vdp;!!-sP zfivKm0FA*%!W{)P0oR6W3LFKl3)c*23a$@#G|&v(0L#sRW5A8zS^&+#jp14XEx=9S zS^+J=N5QoQT7jFwwE9{?WU4+IZHx353QAMBq1 zoCrSA9|9iYp9DS$-4lTR;QrV+0T=`x>YwbN0-Opy)jthh zc({MMKLR)ddaB`0}sQ-2w*t)L}D2Ui~^7HM}tTEXM)f4&jO$2j{%Rt z_DJAF@L2zB{~X|4@VWkZ;Pd?R!RMoU4sa&;Ol+J3j0KPLFYw0$6TlPviQtL;h2RU( z9S@ujJ|7$7fpOrA$n|1iD0nD7F9ybd$Dn&La3T0YY+MXn1U{EoE&(nDU+P~5zRbTI ze7S!G_zHg#coMcR0nP=lzQLago{H{uz}4WZv2h)64R{*4-Uy5XkHhDUz$EY_bZ-Qvf~R8RMqnCv3bEV- z+zh_izXg1Ye=GP_e>!-&KLb1i+cyDIz%yBEw*h^?eVE(ZfLY*K=-vk03ceK^w*fQ3 zXRsD-2WEq3`*(ov@b3iQiSF&dEbuIB+zy-pzKdM%2Ce~LgU`Ex8Q>Y{-VNLdz7rdF z19yRMCiZ)PY;ZO;y9c-ze6N2W_&$FQcn-1L1KbS0l)1Ve7z-ZD8o3{s3!aPa{lLB8 zd$Dmpa4C2cYx4nM5O@&x!~?)Q@H})M0Oo?{V&ef|6!bNDbG`_86#OWc~0^fzt$AE{y z52O1S@F@6EY&-^B4}RQ#!e0zL34YRF0$$=j1%AqZ8vL}s6ui`b2K)@Vi~VK(a(@M| z61>uX7W}Ng3cL#46~I&Ar?9aCSO$*zF+UEh2Cw$lfYUP&x30xyAI^4Ejc`y0R;{Egs^{wDAyY`+Ms z1i$QW_FnO zz^`HB4PYzyZF1cXM8Q#fZU;7jH=(;7cnka%HnszAgSQaNJHWf(cm4Ok@A>b8-}gTN zf8c)z{t(;m09(Kx`5*f`fSur-{wLs1{7=E3qPqilAN)Qxb^srNKl4BLzW}}jf9Zb( z{>uLv{585?0H11 z?}&Xr@DcbUYPKKn()e%V(tNO=mIh8s`yToC=$ zrK6t@@W5W$d&u8IH(%OItj+vs%efcwr!C{2$e*^vFOZf$tpK|Dfpl;>Hu3{6fuE!{ z1=F4&_kwAA@L3SwX=w$C!w36}D+nw>zJ&X=VA{{rrcl~*+zW-$)^Sf1N?YR>PAimF zIIRe{NLo>F(X?NX|3du=rLAUd7E6n<_KKyw%^ED0_NHGvtyo%dbc+Fn!G*C=3|I}` z##$(m_BwN2BJCUIyhPepe#x{FX(iDu0Tc%p$3_WY8~96VUn=c$YFjGpH)>o8zeUqZ z5knDh5yq7QzC!*L>#pV3X4V- z*VvIG_e6BokE(=VY-s5^a=yot)Q{*|U`PI}FZqiEcF=EZXz4mSaYrX+ z?dYr{u=y{I?b#)R!g~kT3V-(2R({vHEc`|KP;)L4Jv03D{KerpYYRnm?e|72jZWm3 z55wPdEF01Jq)RU~^ukZeL=?Z|PRubU=D3rWsdEs6p@Z1sPRwy9m$-ZcImVoLq}S8O$Q*9&Q!>Zu%MTfP*VVo?lLhAeF_T1WjWyGIig|L+uX*>lE*9h+u+pd)!K z@MUTq_|hE29A7c(OYz%yoUt*@z2-$S&4Fs77&OPC6`SO$r)Wpt%zdD*H53o*NFKLx z>=-(*6L;)befhQeu_|l)(9LUBMQ&bme|T?!Q$x3HjYclIhp&!|`udUZ zwg<99OQWle&hay@3vJr?T;#&&1L5VrRy6eczddSVmE8Myv7z5BwmM?vvpTIZ`m(d* z?U$0i@;|pR>FeWG>y0nPQ)JsFqoW+s2fb{@ie5Esy|IZ-)anp()Ugw_cJLLozKA*M z#B6BACLNoX>^QkcZSL}A>!X^)YrYcsK5K@liDKBZ<<_ujqB!roW3s8qdpln-v|_IN z{+1*y`AK)oOpbkY&2Uq5#Xs@6ki5 z$JQaR6Sa1fqvDh=)xn7~YU8vz%7q-wSmmgERnIe~HZw7+p7Leafa0-hVBlE|lWSn$ zoFfgb`H~#_X8ic9UIis*i=2W9;Bl+ zAiweztR=I?g0&QNd_}D<9z*p4qWom2n9bZNs#9+oMW@}$^t%tR{Z;u>5 z^lNjEyjbv#$Y*6gH*50s+wO`qx^|DL^XK2)WpuPA^>-GZ4Blndr0BV~|72<|dfjEe z8M;*DuB7~>iMJbl%~!<|^OC;W?3*6j}i9*Hd7{+_9cVi-B*U2~r* z&cerRGBqh(d7+^d^N=!&lC;Lkssk!36qW@x3bJ<^f!%8zRvR}4HV$YZT z>=Fx2ZDr@~V^)~^)auwe1a_jZy3_ z8c;mim(0AsJSVvZ9{BujLui9CXwfc@PBM)LQV->Tt zFS+NVq48bch-_Fs*3h-?KRL2#!UCi7 zQGpSWE#W7O{M2F}hF>eY)W{c2{WQF}N6g6gPg>vV%l#{i{DKo+X*G1nIwLPy?8BJV zKXK}(u^oZ_PjgO=Tl>ojjEGzNU+%v@J~xQ7@}u+PM+dPD?(|ChwjkzHyS@?M9mMIx zA9do7Ix$C`IHOK%Q74|L6GPPT8+Ck9*JKT&P7R|@t)fnSqE1bsP9367?olV-sFP## z)&BQHKEM20)iByOvOZFz^l^r6*M4y1rG@tz`ivXj4sUyRk)fw8Sl8<22NxT<^o?)F zth`kF!SVM3{Z;+%iT@thY!_J{ZxPsZe1#leA;(w9@fC7>g&bcY$5+Vl6>@xqW)*%r za`hdph%+PnY5xx+OMhq|88V`1c*(A}BQ;iZkKFyhv8>e{ktx^oG&<*J?&N$*Bx_m2 zaKq=f8@kq>lfy$l*=*<|&pqGJLyC8cB<0mx7=78PQ1$|2N4~y)H9P6+lK00OUy7$l z_7tNdn(WIR!@2-njJDWDHO!^vnv+jdL%nuaMeQ=7g zBORNU?AY98$L20ywmz!KtL?6jG`Q`FkaAI+uQi_=QcV=6_CM9+=sHskt(d#cyfH~j zzU`M)?%1ePhnQnO>eM0T)WOh!ov2fXm{W(C;t%5FooJa| zwRW62jXCokbLO4Tppt9DjI}u`-#xV&X@1#Tc9?l*exoK|;$eEt{I>2}FFB{h&p$Fr zOV0edV@(YMn<33(pkwN6<%&mZOl!%+9Qabq)|aCb)g0M4-&ygwS*wb<-h=cMq5g`Y zU%77#O~{_)s-bA`~Ku_L+lCH=sc z(YL-FdDO8Jb?is)ZLlG3@4Ma~tc}}yb8@HkaeHqba}0exf_-W2?pRzgXkRLP_DhD= z{xS08B--vvMjq@-vSarp`Lg?xdj z5BeZ!XXMDwlfJe+@I^A_TN{6vj9EH1FWIrV%Z|-mzHEIIr`?y7i`|!06MMg_CiZ?; z%ywTAZTBT-Y}Bbk%&~9gC8$Hpse_^IzU0&)=F}mk`0c)=9D_Kcs)LPFb+BYXtiyzzU|*6QyDvF&Ve+;6k~3d1 zXHH|zyvLk*H#)&OG_|t(lJd3pyYdb83f`Al^TA%BeC=ML*zCR}+U`rvSW`p0|2R6P z&Q`9N?Y?AU4tyzQ>&wxJDqkDt;EPt8wW@ul_)W{r+Sb1GQT1mGtvyF_yH`lx?n{!} zy~2@)96KS$eyC&3UDj9V#-iU@U!i9%`61~`a_dX_c3+a*`f}t^$4=C-&))7ud(w>f;inxTAR3%Q$aog&$mX3Yap+p3pGL&2o^%Akm}qb) z@)Z^YcI3m*fm=@5K`fH|=g>dReKhn~&xSD|+-g%2A8XUB*FeY4oAD`K ztAD5(I6BFkg50zYj7)Q^xlm4;W7SO&YK|3`Xswk%Kji4!7-dKDSYRiFotR_Ck+l`ri8*$nK|ER?F~wtT z>nvU%9|wyuQ48UmeNsM^gEKZNe*tKIOzfQPyqFkm>^6_Uj&u~8(Fx+0E!i=#>&$f% zyL2^PvC5u1KaNgv&J~LV>R@ds_M{EjQ$DgsOs2-7?LDSzk}Jj_R#V>~R+DcKtDP(9 z+PRV+LkF?ixiUJ|hRxU7(Rl02jt}Cr_m&xtj>$#il&5lZ&dIt4b<-NOvHZvGCt4S( zzUp<5b!YO|npU35J6K0%{v5fv#{xUa_2||{w4Lw7{O3G-B~SP_dzYPKqo2?{K&}{U zUA1PVulca+->e_El2eTiW{chC8=K8&T-0x8vr{ceX_=zp1_+L!KA9Z4mIdPhMKZq@6 z<01E$6GP1Ul}*Q&c@8Dw$a!wqcZR=PPF_*+iUoN^$t%XZC@Lay&KrQR`t<4gJe337pQ*0v&+nbo`0$5W8!`cYN2OVvX0Ig(>t1d2h%gn zyho#J_5{5P*!KbKnD;wpF7*DNgw*pf@vdvvo$BR2SM2+g_6fUwRkJ{zdT$TzW35x? zebxSqVD9-~eVTh-bv)QTAFNNK6Rb~TFIb<(j@GxeW!JZCCFU&g4jt&2pBBy~XSus$(!W`q|N}Yu32gPb9bR2D&D>=G*Qm!MvM2MYdII*$?JQx~Y9B z=d%m5AFHCOi(Rj_X2ChRUbW9i_kUquB8^D8lHt(rJoLp6?X}mHI`DfQsF8CvYw&;N ztXxu%szGWEq}D)c4W!mUY7P8vt^vKTq~O1&2C4h-fAc;}&1-62Q)?i#2L9R_;O{e& zy{V@SOnh2lKC%eVvi8SE9w?A6D)xvM&JEu?bcvxkhs0BV^VyBA507q-3?DTo@Bz@tEjmhJC&N&A zp?|zLwLGggby1+0=}cW5T-+-GE}c~XSMoPt7~;7vaJXd1Q$fNB2W&jPS+KI^59~`QW>ZMR$uGNKsB&B zTUR#Stt-W6(K zu`~zNJz8C`)!(`$SbeaYn?Bgh>4RMhx)!?4>1M5t*KJL|YW2Hr2V{aX(QRk?Gq+=G z3+NW;Ci+>c*L4;xSJcfq0(1g*LN@|rg4L&5y|6>z&g9w!s1H^*?=C=VaBFnC0P0|^ zuF+k9&fxaMqK?+x!0KS#)pW7$N>}Qh(CSj%6-e~KZV%m?)!N6b*gh=ELePZ{(wn*; z@_y*{VGUHE_jCpN{`Ln3fYp1tKcK$UeHq&yCb&o!Y&bvc^lffsG(-5E=_!#Eu6rcvU25aOLAko)a zovVj3?i8Q}SRKtzVNDjHn{yHFh0}m^aJuPTJ-_El%>k-z}3`X`U%9xO!% z>{6_~vw)+)M+beg)fszq&?~zvw7SZl#hPzG2kZvS^;n=IxZ^?kW;aHzZtr7RV_`a0 zhpFv(z=_}!O&{y?=~a9la5ngCY@7#Vfe+nV`=X$e_INr8UjnUO+T(%C!0M+x9=HO0 z1vbWeljw7;Uf7es>SaBdzSC2{>Ono3F3nei)v192c@l%l; zy7%>T)9HE!cm_SGZvxc&TK%ilds5RJvxC49#y6R0mmk!c%=?|^`(lfy`@&5oY9X#Ee16FV92Y~y*vx((FK)s*m z(@R<%rqyR!J)_k2x>2S0AQIX{8!qrgL8^{RdpSO`|{ zX7zGbM`m?mUIHuyFGY6=@C5h?Y%Bp5gP$SSWx!qFyYRUTcm%9|*2@5OaaL#DWq`Ul zs{{3NK>e82&v`lUELi=VmjmiY8^!i=;4!c|JFBnr8q?W%EqER%d7RbylZXb#;CLSPx#0?hC*=@H%X~0H_1>26Ej9ECw&e=SCn3j-snR&+6yA z9vkZLtS-=Nh-DM-GFaW6HvzAJ)!}&)@GAIKY;OYAfM28U^;Xk+d@Ji|CiG0Y^{V6Z z7O=WHt7GqG@Md(kvIgeT;dw57m2>xkPIQ4zbc&wI)tTt37xeRV!&Nuy?Z8^_TKsPZ zwt%K%akPk)S!9l*`tZPaEba6eeR#CHPfFs-iCJAu!@pONcMU>o>e*5>EH zGvH@fgP#NHRs99Jp97zOKf%W5z`fw7SPNeQ8^9Zw^DhB)iT(=RF9CJ9{sJ3c0#AX} zJ^X9nZLoS%e+_&F{tVr(0d>Ou3L9SoFM zc=>_d;N9rv_kW~iUVhV?IzK&=^FjYiECqe_e^wuAb(c=`nO4teb&pmL>0neb{IIGWZ6+nHL)q%PyPz{{u=&T;j>g!ws zT*J=*XJET3PztP0&b5Hr;6z7f^>9{S=NjM|jH?A40Y1X?1g=LX<_3UzJ2y1lm(|U= z0Z;>6gK-UjI$(7QZa~-Na&%i(zv`oa(%{ngSGVUH;2MlO3TOmwglpw7@O{as!w;2ZEatf^Maulg~!Mz|4CuF5Ks;;^DV4mxs@rIVYU8Eo9E!$My>E=y7Mb zXR&Y0wY}5ln)7K3*Xd{Dh|agXGsMvQpWJVMUXJW8Rn+)haO?E2m4Dp->yY&2z!}yqECuZ&7BW8W! zJH~Juv!P{2IyNuaadM|GN+Ngpvh`7%bqZV<(OEethAzab+!QB1Jk?~Rwg-9IAaq;Q9QD_^84Zu`4YYT9WNrA=tQj!F-ILc zQELZZQR|DCqfX3*mL2KXyky78J!*58FIyi|lX~SMpFZEv)I>2Xzpg<3uC8io za^I#3hE~j9H>{GRCGWYbQF826lZ%_0EB-gm$(N`(_6K(=rW{Qj9=|a0te5@zMSeAF zPj-H+QZ!iy>DW31cA~EYc9f&ylrPo6i8E^Bv^vU#9L-qesC-q=-|pMRGcz%F@@3b6 z;<0OB*nlrgY^w9RJ3cnF=1X#oRh@%4%^FMQ%Nmn?<*Pc|e6?n5zFJGNW9P!=tNBXi z8`x1U)|Z|4AWk#yK|E${$d2;0IV#_bOYaD){)$=g1a%839y`BNn$9$|=J%8FHzsMx zH7|B-P)}o1^_0GJvyEXqK>bq^`*RQJa(+&Y`nEZSZh`E#4(k_s=s0= z|6yH2D`v@6L($S#zE)pzRpAG6lzXiaWwv0iIDq%|p8d8_84 zRS(gt_peUMw~SwD^krvWt1U@izl7gN`daz=7UN6tTvGW>qa!=-{P?CBEBdQ5Uo|$h zKCO=KN5@Xo+R;2(Us|6|%!XFX(y@8Tj+1-T<}P2hKB`IolJA)NRkir}wxvo27qpEojf7G!bb?RW=rGh#bIM*_ zPx+o&@EJpkUv|RNNm_FGamJb&1~x;|4|F7tTDf8le1$Yej<2Zo<>;80ZJgRSR72U* znpVDwLHD6(`IKBW6fJ$_YxOlpx#S_oPROw@Iu`hnPAu>h(!S*QiaEYwfiI))__A`v zZ0$rH`oc zYx}VHUXs?1YN?v4_Q713{XCc>Lu;OxyCkjeV5yeQ*kt`wM`;H-hPGo}o35{5eq$P| zSb})8Ry9X9o`ZgONjd2IUOET!YxLc*!F>>wA3Oijwd*m6H+jF=`^M@kZs|DkkYk5y z*oiKK@|G)wgv>+JE-K zHsM#j65;m#>ro&i8d(raPHqXEfidY>9qHwa9cXC9?8rlozNu4SNB*oY`Li*gKhV&! zlQ?qnaclJNri1<8>=|~iNRCX-#W?viGs}%3z^$ zO00EVlROx!z1Fe?r^`2qk(fMETOp#yfQ?UwE1I23N);?(K>ged5EBU;@M%d<$u9=r$|1@-vb2uS8 zVE>nG$?d)>J9dAzc2pN@-_}UAHuEamiSapmo8onRnVMRC$Cs5S^V6819%e3`^^kf` zPV}45&j@zz!_K{6<}H{fy?cZO!CDHlmXdR6*N5hfdo=g@aL1;4`uzuf2S2qhCHJ>~ z+rGq&6FJy-@Ux2?`1|}%e}5$O&8g+XH+=F^=#gSo!x@_&3!OK+ez;EL_0VP64Z~Mm z`8NA*Bs_WOljh9*m^{a}=rhUeP&8V`=wCHyps_RPhY`lkEu#j9Wxvdvvy5KHth3EI z>!=gMyZnYm-v5j@Go>FJc4SEU{r5kTDLa+-+?FZ7zjv)_{7J5Oq^~%ouQ+8#@hk3C z&rdXQ$e-fZ*~%5?9dBG>{M)nayZQVpc;%tE6u;uNXDk0#$Metjr+KjR)4Z+zZ^Z1- zs0R6yXU&h~R!{X1uX<>lJzM$T9q%PKer?uW^GA1^b!N|2uCvyeJ>N2;Y^M0hO&;uE z?u+1TaGsYaq1-QfnZ!1`b>U{4Of_-OEzd(#%hM2Scm& zPYN$T<@y!R{+6-whMlw8m49wh_{960WQKPg(Z0#NCaXSPHz{1W$irEUORS9CSoBMt zp*e?s-G~u^Ojq2mAh|AAJ8(*D`=S5B_?d z|4BZ7f&2vvpck>a?(gJILug~v^|ia}uWm53B>zWA?{NQR)w3)u`B(kgM6BGQC6_+` z*G>H_OEXq>q;KSw#znSr6S#5Myb%Y7`I$T-xen#6x=hK=ZlA%~jd_2rgUkDKLF8aR zr$lnufejAh+o8qhmbto#>*SPNXAf0A*gAV6o*3oYa_xw=*Rr$p|2x{N_N==7**d!j zosGbcKn4Re=Kpt{Y2jo5c^-b6mrqU(vBsKl!JRMI)%^8v9Lo{ttbm43%0*jw1Ug&h z1&3ZUwr*aw){NCn%zJiNXG;M1PAJ&JsXI#M?tT<(_-xYU9)#H&!6|nR~vl zE&bf{ZtI|H8mF_q+bz&x_m?KQdM zYSzd&vgVPsY93j;R_!{qYS*n(w_ct44H`CR)UZM0Mva>^I;v^2rbjnx+WhF|#~j_f z#W5{f9@C;#%T}#hwrbP5P21LO+O=)hzHNuhP-Zxk83{+S!W}zx?$o7or>p2*!;i-L}jbv@TEv9+8 zX!zntpC8J^p<|9b=E%bX=iL`sJ!qiOacEZ_etPY-kvVIx&8-u2hVv@17j=|M+oofv*2f!wS^@-#Zc83|}tu6!dwUYcL4qkOGg_0fG{>^O8- ze&kOvIJAi+n4_5D3TVwQx;o7KMhuylM|+=IedhlVe~un!k?6`FOU28*wrX+r! z=+e8M>lPwbqwms+BTVZI<8!~l0#T_4n-?ha{Ggh zD_0%J)9ARgawShAcWLEH+(z!wii4bu+@+PP)jt%iT(zb(&ed_{%2jJrI)|dQZUwn@ zT)A@9I+l)0%fHsKlsY2`Zi)AsD+I&x^~*!$F>BL{nz%T7D+d7eMMFZ2D@ zSB7=o_FlK}{!dQ}i`QAac%j=qJ+v=HfwsQsgkTRq8{a)XDle~h| zyh`L|^O|Xd8gGIBFQ#OVNRIt@9C|g^W0F-ovZ47IPIOML@i=n3M@dim*vx(8B}>|0 zTJgw7o?&Emj*WOE@GDth-}7n&d1;*}4dunjIc!cje$&RySS5v#Bj1SV+KOf7V!qn^Zu9$NUI|T$X;omhwI(8}%4=IhOpFNNML*+cVfkMM<=^}^rr?AaEbiNm+Y@Z2kYYoKt&XssgDB9KIF!Z`r5**>UFHzjO2d zZ2u|y2d_ZxdC1Kld{j#Mk5=ID-T6|Prz()Dz(2ZA{BP-9{EhONzIF44e@0%LH%#9u zy9qD<3=b)rf2{(k`M32;?SQEYq$+UuR>1B9{~2fZiK%Dk<_!bi-Mr!8|LTvcKQ8h2 z+KJfpEKfXl6MVv!9V^|<8$NC(K4J5wmG)ZVoRHQZw|Rr-ozcTyldV}h6BdOxZ`iw2 z*F+C|*Z!?+VubMA49~l1rEub~cJxjl`r~Fdt>kOBg+$+Q!(V^@=&(0YCB<_&klUZ+ z?y-00FMFgDMX0lT?eC$Z#_lhBa_W?btixVaI8lY1C=c{$D?RYt#ArKLIr=$N{c&gX z@Vwmi64!6I;ii=zH_PG+x0^Sd(L;KFJmzN1&2ZO%JO5e*iGPakkE=2#YB~*!ORTDd zzH2cN{lQjc&iH>fb@=XlsmxOqNLAq9z5o2Ve?8L^&lLCP^{9FJ{`u%X)7ZQrv198Q zv3Wyc-=Afk@QM9g&ka3CJn!RX!hIIjZmTPzH%zbHcK`lg_Q*%6je4fq=U0x`gq0k8 zc@VcGm+x=$$%g5&H8(?i{c(L3%C39lj7(6&Dkb9hbl9iEq}OL*B4$aguKP@s&W7nd zF40+Itj?j%*6zp6hE>uS=_Pz@n4a@iqboUw9n<3yWpm&^H@5??h?~AOk&U&LsC4bN zs%)Qy($G7VGCc6PYAv}lWo4T;wE09;*4vQYaY}8RwKE#bQqH_sDluyM*2F5)JDuK) z4xb~n1EwmFs=(n}fx~B~`%ld@@tnH&n?JrgDB{<)_S>klo>Myi-G{Z?Z{us`cNV$r z&)S*z={FH&?yD*Ozr6y7@6MOXJXL{I1-v<_f2j(jDsZ?~V9wL2f2j(jDsZ?~;Bejd zQhBE;kg9+;=WyNkQhBE;kgC9(r&D`issgDB9KIDu?SZKZq$+UuR^ag6`BIsuDv+wc z;k)ytGEY??Re{tFn5sak0*7w}QafO(0;vidz7;rpcfM5SsS2bjaQNa&d8z`b3LL&WUn=ud1yU6#?RgmkPUx%uuP%MW z1-@;>=4C?(28{B&)2Db|&K1wghde#FE*&Yh(fR-9NcA5`Rp9Wez-;s8G22U=|IYle znKftrVl2<@v$ov32lzpjG3VolF8=1;{e_+^wpP81{+2hOL>|U^v#sUcmEEN~Pc;9> zhT_PYGi;8|SI(I`XT_dsbgbUL_hfae-n)O-U-pmPxpS^G_J_^MnsfR7llSl6wSRB5 zy({)$f4?f6p{uGfx+i|K&2;lF_ii)O@9Ho65A0g|#nu*jQu%-UP{y1noumI?pBT!$ z+h?s}nZG#e@0|G@Ti6cb$&sa~R0UEMNLAoJqXOEW*rjSe{D=MVABj)<8~?gIJbi1h z&l!I1oKjo8*&EhOV25Y-H%IM{&Zsz}A^7*vk`k z4$NToV=KMcyVkZTF(H44o3~%#%~p)1OixGIOT-y{Uv!5Bcb-!zw6yrF{Q5T`zq*ql z-qj|wt^B<&bXbs(&oc4^Ui$yq`w}=QitGPkVYzi7h^``sM7-d~p@6Wn+9-;m2nO&V z374`W5m-eQB@vwHFBmT{#vmaCH{=i#5fDMxkwb`}5m`+XQPfSuM5D;6C?Fv7|9-pX zO?B7wZ13e?elp#knyOdz>UEv3-g{Nu1FWL#?K8H|U|PxamD5RwSM&1q&y~J2Y7ygC zB3}F*FYS0Kx;(mE{OvR5UPl_k2Iihi96r-~=XT!Pf$^`me!XQ-I^zuelIcQs{d3LB zM=dISN6II@E}i*(z2)nzHT}7G{;*@^*$B6xdvfz>C2YZ_8`y4YPAS54GH!%!QFgDR zw@=TXWhmM6PB4m-9eTj-|s-O{G-|9`x7PYIu~0M9*f@9wv@PoK7_2yM!^+@9NKux$M~ws<4V zf1_CQI>+FSg>lF_rv6jX^ndSubEeFhc+R8o@;OuTo|gXE@zT4`aU7(S8_#&~)eH5! zL^vfq(T)-ykI#?44LR${S5JP7|MRhab^VQ`+x`7`eAJ@P-eH-Wy^7i;%dbcLi|bjJ zqJImWTJuq2a1~wd(9+l1Q>|9X(9N{KVb=nj&72Y1$E<7y4ah2`%p2eoJT|T*e=o7` zDE`M=AFby<4aMVHtD9dMFF!Cdw&%UP7R}n2|LBUA z-j(A^tRi26;|rhH_~v)}^zAbYPb}zj-+py3T zpR$a%|I1%gb29xet(xlF{cXdkIf7#-t8olSY9;!AdTsQ7{@#z)v+p_o{_)lw#Rq1_ z%Zsvedy>4McH#F zQnuzZr(T!B|Ej)@3r9`lqbdt12CRzbOof{B(5D?Lnu42#hY!`PUIe&zR>mhew^8O?%ZVkg|7HQSA5D2lp&;? zQUZZ(e$BO?GJx9~Sb?Q|)A>S2wau4{sH%E2Dp7QajSXI0+)uo!rr(1w+iIt=1 z-!G!a+&+fxtpD}TCqHUDX*JrmVM#mrv1#!qUCZ%-+4+waWv_7=^qTVAp0KGx7j{AX zXz6>@A}>rEZYrNPwp-frL|>-umv&S?uUg@;%?76neOa$5DUdGp0orh-Jn4L|?KkN8 zwmxTNm+ppJNY}=1R=U+l%kn$wf@8o|ah3D5L zpzWV~0J=1#F>T#8{co?|91oT1|AfAr>Hkds2hBe-KQr^6bG7R8pW1`judDw2FA1Fg z*a3mu!QBvdmBD_KURfwFB&-Osq6GQ}W@8s6JAd)CIQL(kd}}srCzMg+d)Ht;F;#xi ztI`oGA9&>=S+8Ax!@_CUQ)7E^ANRD9621SsXMTM4YsdV1W-Rwuy`sFoYC=pEKau3$ zYR+z0t!Nu>wz(``u#~%b+$rX+B1ewq_v!clWWB1cFM2ZPes%VLtNUEZ$LAUzQ}z8{ zLr1TOHf+yV86;Iu@W8r-6C%G_B>GA~h_C0K|6XP>*hO6GH4NG8?!LHNX z>v~Pm`^;hczgX$djh9oCr_{9~d;X@`+4fG9^l6YU{U!QeX8$*{|C`zWH|Gl|LudB? z#Y&gz+xtg0oSGvzM(lr*T8aIC_nd|YKXd*g#rhh=@%?dO{6D(90owI<%j5Cbo*1-D z?$j19AGL_*EAQV*nL+Q+ra%8f{OIyiH^y-`^Q%OD#>^?_DNV`|?pf%>x|vv2y(@a^ zit34(x~pCBe7x;qxD zpSZUyVZUEcJRIj%d2_Yl325n+Vf|)j&z;|E3gOD^|Goe0f+eiI?Eh{+c!8EN+)`xr ze`SOR`_k^>i##j7#EU;0{gT=L7p_|jzMwCWA8puRRvgOg|H}w7^S(0kKRNFc=SysU zl$rlBB7=R?>N+IzUVJ-!_7OV&wS0EpR++`o<^8u%Hjq{goBz?}*^ndNTW#`hSRGxy zesw&qS5{fC`Q|QHRu}fHWA?Zfm~shMR>~2h;SS+U!=dC59Tfa3`|fIb2V{)- zc-sZ~yZe;$in*3^O%J7~B^kW;t7`^)SDv6O!J4y-T(gA^&ra}+slbW-p5*&l_Wlpw z{oF<3;_Ufl z_U1DC|K!p3{*mzQwEkgo{)cOIbUD{-Isdg|^}8=!w6(JHf6kQs^QUC@?kD3zYrWfN zaINN=&2{h&IIiVf)47&&O;6h{2_0K&;VbwaC-%DezN}tZ-JGGh!>GIIq=NT<z_N0$fO`gsa%-!{dBxok>%IZ(;wXGSWC7~HRh@b0D&GI)nMuOYJC5pa`X4=-2aymUy)Dl&RymCoAfR-&yMrEAUyjg`~T_se+tfL z&6zS6?>bJy&i0O%>fw#A`WyAfOsKo-l~vX++VW}B7dWha602%*rRQEkW#oo1x&i63 zA`6F3J~IGUa6)~a)#FJBzW*_7*M=oL%f~Z)I0JxF6Wgb#2mJ4U=T4dHp0gLZi)RH{ zW4vej`dn>~aLdWFggjHouel84Nsh!l{Ar%~<{3@hlfnR!lHjm|H=6c^8S)qdjFg6 zkom30>7mU2uSjT_{a=of#CXVj{~;;4%lOE=|Nl+A|8H9VusZ)Uy?W2uSo{ALfo)k99Lzq2-Vm*&#$It$zhFY+uIzk*6$UdAB4B}AJtzZK-3 z4>Od_Q}9IhTRoEIErGvW8R$rDfrKR24CBi^St#w0h_}YCq*mJ3U%}))65e~5$nWj) zIXu&_eFp3vaq zy_bw7|NJMHdA;QdeAAcf^~_k)4NW(cx!FqoLyzIo7x}IlzZJ}H2J>6N`Yal4;~%Z( zw}i=O_^n{~Jh$eTzO|SA#&7ky=e3zmt{{F8FUZ7YTHwfQ0lil0|LUpyx>?C~;(zr} z4(IIUKZ7J@A^s^&&q~_A66Y)Np6VSqpUM4~Cm{_D#}}@EANHKYym$XAC=vGMLEM6c z8rVPVr*`V(~@cZGScT+Rqe+KdV2XzA}KmSXJ;q5c{We>im zTa?ZJ4B~$Y@eNVNdH++Wy5~QNvcGJZd+zb4aQ|o~_6xxq%h--n%lUS&*pH&_cZB(S z>PEiv^HrSogE{5h-xuqG*nb4B?)%^Tn)J)>+_!ZUN^{zl&rzKUe-7KYcx|}y&Y$=}{l5Yapd9OGs_uRP?`BgTImNNe8|H5G?sQ=lY(jVGqukmeg{qEP5 zpkI`|ul4rnzumNZ>l5#g4ln+v5dTYP0ai1;|NCQ%%;D~T2D$$w#CgCQbEnv)Sbrn` ztB3ED9|On#^x=Q`=>PN~%yRPkr_?}5)#P{oE64-;=2qC;L^{7m=a!__IZIVblEKfk zK&AyUEs)Xz3Hit6QkCFnDfuhRQH37P{iw^r-vtl2)?QYYOk@pU&gj zjd8_i1<~6Z|1>Z@2saZ~-4>w85>IJo_Ko+dF7!7i>)=R2qpJ`>g)FwrT?DU$#Ve}86#^gRVea_*ZUvpTyoMG)_<5v|9qaTld?xK+H z=U;m-q>k^f@mbaS+W6u1_hZ=kYYPA08Q;OyRblc}jzOJId_zTZUsDQ`Qad3-S%++@Vd*x0 zRpBuDVd+(Uo{b----v#q`|0bE6u*pr_O-99cD=uTm@AuCZnNRA64>|}w#S2k2R#*! z)A_HQV*hPYZF~*;u~Q+FUx#druyh+=!_G4LYd>21QBb7y z2I&zDzvFj!y?mfpoqv1ca~c96|Y5mv82#RYY!Hs{3jt!o*C$GFmXSv)6p``dz@6YG-5Coy(Ti5EXLy{$`u@sD6v zUGT#Ek@$jWPORL6|H!VKn1fhj2hd|oKXE@=1#bo6x8hr4^A}t6o_3UYJ2yFVs#aoS zrNY!(y!I3uPR-$uvGE0#a@u~`{cD@h+3{!m_2Q?(LRb5y<;vH1+h4c6S9)albF`)08ebshtxSGt z5gCs*>@S^xxU$gM_%dcl#h3K8kUi)G_WD83_u@01aG4N=ueqs-uwj#;L&9w(-p03K8{dY7 zj^W=rB=O?g>D7ZN9dH#k>u@^y5-+~zc^y6BEJx7&__%; zT6mh!*ZEQ<`(U13{a9)k)GTWM*6WC&Yr`fbIAr7d*Ckm;q`d?->qT(L#<$_%T;5p9 z1zfZA#jqEac)zdZ!_UDrYjD;4%rCiJqG-8XxZl-UxGykXiS9>0APB=$p$@oV&5TziDU)FCNT;YKYF3M}%Tjc>!m_sUPS z3pmS!O57dGdba73v&P<9(?a64k}$97P15n>+i>t$O^u~xfz}T_>#1w%D;3j@*$-== zxhQ9wUN!OYcp=u}w#oH=F|^}CkKXQG-@IY;6^Kxm)^|KU692<3knL;TUB{9-pE44% zj?Pc3LR;wQED0ru^mGi}#aKu6MP1%2Pn5aQ2GfN2M7fFO%|(eQCsyj_<&T!1jon0B zM~vN8TQ^L*30;6kL z+i<#kzIe}S$#RrG;afjj5tqYEuXTx>t=#o(0@m_rh)=G=#G&IV4m!wL@h#=m{gG;4 zv|E(+8*((cDa4ijP^fVIrDR2&TP{jsTx;|#u^bQjbdrA^O4Tna*57S>8&1{t{q#)h zh(stc8kX{=lTZa)*PD6du3Ua;m$30E{9MW-a82{u>p>9gU3vK2#cz6Jf^wL+S=(;k zG;3SgR}w?boQ|vf;x`$qS2{+?B&BClu(thIG z1*ZdXf{PO~BX%1h(;QI6S}1s32d< znRbdk*+;7?8s_%<&~~m2!Z74rSO8cjXx9_gHree;bu5F(=lV&z0eg1? zy? ze)VB3Cz<>+ft;FRwLE;a)kZ&DuuE zB=wef@ofyDyVtc77`hUISW?0D$Qwdee4GBPZLFV2Id-aO&ZRr$L_ql=XPIB`PtBua z3O9CHpzQ<(!{jX7Sh`ckJIi>EfaeP2a+Vp5pE6e&*+`m;x<5yX+?*NY&vKh=U&g;m z*f|(?2yYP(I&mIq`J?8|CLL@(6>Wnh`9Z2p+L=ref0^r4mHixs|&PRW6!7d zO>LZdw%N@$(t;hLhD&``$CH-6Y`j#MyZ?e6$H@V|zMWc5e+(@H-d%gz7yR}H;(I%A zAK=|?TXm$qsc ziv#=5Yv1Mg^4goEe>GP&E1ke`*Scf)wX_BEdB>UH+w`Pd-<1CE>g&^33hJfhYqWMM zrAl4jsMm8XmD|R*;kaHs%LHF2v%at(B-i!wC-AI}-shFiN1j%Kug`ZRxS?kN2;Fo( z>jx^y99n8f$N^>S&jaZH1Ifpb4I}g@ooB_d)8M9P`Pw`BztZ3)aFjh$HC+Kkb8tVSMeYoYMYR=}l>7_=-&^fC5%XXr4qAxtLEV0|~ zMp)F6@(lCPZs2PAN$EqVh)=eyB|~Xv4O54x+)eq@E3Z-#^~$rAqf!~HVEw%^IW$N1IF`Q+Tic;kn z($|;SEAg&m%Df#qHvaBk$mMU16x;>loo zT9r#l5(*964o$i=1*>vTsXSJfgiXZcV2rjK@aYoI($FR%aJX-us4(v_uu`=Aa7LI* zpZJh@6sEsx>yMnqFjUBkIaVdVyw@PGU~-kAvtes}N$TAaZ{ypr;HC3zecgtIUScJ4 zK`%eC@oiXhJCox8Bw5a8UQBb#)zOrWT0devF*=QFsn(GNSFiKl{Q%cC;ZkNS>4=md zc~boZy3aG#eMajVNlqKqHVgBH1Mu9k%XtYK--d;*t{Y1&H^bhNh=eLd)v#b!H-BZv z_cx{g+xof<8-5=gvhi(LT2t@-YsidNy`FI0m77{WEdc_Djc<(Fk4TmHTnFWO)TU`W z5IS5v_1OT4(W|E5dwuU)gMyvT*ES1dZ_W$h_MxO^j zd%?PF)@>U$xio%ySf_aVnPGz;oNnVASdUBt>yXTM@x$ncrH9cEOE>gwecjG!ub4I* zTt6L430Z0!>vA&xz+@7mWXX3yKpUv1hUFxFPqy>x(R(0 z>t)lttE?_-(C-(pQBZFA()FdE4JP-!5@y&k6H7erex;WG%znSnIsE-#{k`(#4$f~{ z%3hf@EUQgAzoz;1s?2BU%Z9a->eW9rUzK{>_%^Kb8y#JqBfik7j=vjwqN4kYFLcG{ zu6RWkwH)r0%Vl<1C59*J<#YgL7XSW;U};~=8KpZ%J}2)KjC?L#&)M-JVM@G){q$2I z!PfGLma`bAcV$xX)5UOao;&3_eeJF;NjtJxp@KqsSKgefmlO4=xUvH-DSU>k@7iw7 z_tNz4x+x{Gz3;P`6dg)yT6B4lwyMh5pl{m-!{~>lvlL$X_Bi&Z>l4=+hbuDdH=g=Y zLejN@mV^}V`2gYt-GZ-AHIx}J5wi1e7e>GBpi|i1JmDahoX8MZ+hY%+jyfdq0t@{z zB+%j`uwZ87k z3T{dqdkp3C4V=U_`Fx?$eCgRFX2)d6hba=Jq-OMg^6_A)K>E<|d$SJsLt*)4Jf<7p z=1FDADeN7el3)0q4Tp_SmiG2drp!DuKwE@~(INdlf;V2<;xUF@p_7odO-PBU`Rg|v zY+7De>-&ao`Jq|cc&gBgqr<`b|2*BN-~5vtU6QsDiK!^Rls4V_E&BA|fh3v@ClgXm zY-_UsWdzk+2r)A^& z;ne+q>bTM>+`Ax@WPJ#0-Ie9hqt%aZ(-TT;A3gUZMxTzX*nY3=9RB+FA(kU?C50{T zSps5vcLDgOBIJh&LWS=RdhP6dm!D~*sjd2Y&yc0&K8{@aeK4Fqku^M3esEI+Kk1i2 zqVT-0D6LUlpSA_x`;aal^qvT)E@eBPy|US`jc>y?zJ`u&MhQY#lP|am69-HedIlV!Sfj8XmatqMI0?C?JQ$}FfA&YE9-WnAT0Id8sL5Zs}TLK z-#HM<+84Uo`eW=k67R=`M2!(xh_N7-;E6Bs;>&vt0;lsuOO$khlk1DDGnQ}T3oO2! zU*g5L^>rH#=GxNApCoq2g<7f~mfuj~=ubWOW>cihL0LjBlRsUEv%!3UL$EkLK7;Lm z5(Z^6xf821q=d@dQVvQKkS$sXEWS-e;>9=VA|XnQh6OL3ek9nk|8MZ^kS(EVSlUDE zSvD+GM9Z^b8{dX)e1XLeTXDklcRRn(72nP;@#5EXd{#ccw2a@Ea)@t_Z=M41?z)2) z;%fqB$@dMk^p}2o3tgTxDEo@G1^;EYUwSxL|F`k|)V=l@IWJ&i2%K(w>J}EPRQ+92 zs++&E`}bYa*q`nEQXcKgx*)zkl{RBz`xhLqAC~ULW!R=4mL5hwEIo{VSb7+JlTK+* zzw4lBGVFzQZ2J0Zd^^3euyAL=w_%A-=cmIr{5xI9udh=x)!M0klAX(bzKw6E+xof< z`?*yrWaHa#Y7T!4IhXf+S+D&*VM9sU?5Ncv)6?<+{W{XB`6T?{*2VA>Y6O+jL`m09ZH^}Tw5i(MvpQhnlj@om^k z_nQcFy(3ST%Pxb&i*Kjb6c)PT+w>$}d^^3Su+SCXrYG^@+vzohHC^5QT66YO3AxKCd2M^XK>}NV|&fPc`~D-wgP_q*vSZIQ-#M-H&DF<<;YByB^Z- z;@k8kUi;+IwR@AUcdx*v?teacW$oUEK2Ph_F74W-=3T{Vk1}mWv;)XxQX86znTzeC&mz=rou%Eyx2a3K_;z|tVWCSYBzOg==@Tl>-(0D7 zL$4lmzEY~*PbT3varJ>uclB7M>Kp@yuw2;))Pw7jaH^eBy%5e^Rc(Q+s%Eh8y}iOd zBE2l!+3278s)1?@xQ?m|xGrKEsD`*3tD{toYO0P_-%%|sdK#>g=(-Mss{^WyK$Z0Mb4a&?OFtLC?NQ$bDAiFYWj0FL7^OM}rD}sxHV0;|P1=S1ts01u zjI4(?;xm|st$Z||(h@D(7_odVudGCSGF%_EY7Bh#RCb~sjIYhBrlYDh%W`kKpcbeeY1DP&>m!zPjd+dRkJ;QSRdrTpsXVw|s*kz|v8Spt zR5#T{osHPOs=GP|@s}WFh`LH$qa4*w4Mb>=x>Ai)W7PsC(6SLA48V zoq=cd28DA$V~`rEE>@SS@2lZ>T35t5c*2>Wd!D*n4OXMo7*HRou5;-XfZi?YM{1(F zP5l%!?@M3`lT?wKq3%|<;=Whir+$sJzo;kFBe<91J`IGsuZug#rF$PJ7vV{F<4Hny9-j0Bo-`39 z`zcCRfSTWel0Jlz{Rt(z2PK^cs2y6iBdC)vv{$Xss%N3?`k*wYx~)u3c^rDC5qc^I zJ=GpP(+NFuEPAR9dg@BF)>yP`Ka~C|v@~1xUeLZC&zp+posBa01*KE*q;9Co5KzAc znCGB2m*6?%0S)oXt1iY;Q#`2!#!h`ejld`Dt4;z>;#&c`J;v10iF_Ra^+1hIaN}Dg z=+sY)QkB4KiYJn9>E{Zq+VWY(+Q0O=rsrE0xM%~^jq6)Q7fVtPb?1yc3fMWQbpymS zL_4#UTY?5#oa=N{59{ThG^x~Bmqt}2+ zYhbrmr(xW5Mp`S3rM77Qvw+_lSPsU-MdU38uu97 zlhjQr3jZe8pRVr5{TnqMqxwGeuzC=qwOBo-=3?|NRLe28SEP_`FsH{Vt&4^!*xKg!MZBze3&h5DWgZm9trruQ_sQ2J@s&e&TwF|$y)hBSD zt9^LFPJ};GA0wVIpQ}CUOSK=rd-1#9rCSQh>+mF&Qs{2OlXl=qD^arNP_jiRDNFeZ zaNkDBUO-Nkau+Cn4$3?6q|flAy`W6Gdl0)HPh!c+ky?h5et?p)Wc!e|3nkr+lzC{e z$IxbXqa`0kTdqROZ9-Z8gceMr($f7KMcl5>Vi>r zHb!N0jLKs%F3EoyVN{a;oP=>lzLbMeH5{YrdWZ-9BsCmw@VIS%b$EY#gLc5G z(iLsd9jnP8@aZei553X85v(%b$67NS?O2GlV~V;HYsEe2uODG8nTQqT0jwbppA zXIHf9gQ*07;i875&(D#GacHP)he==)pHJGWvq%vVd?74VN3(~B^& zIlErKh<*xVXeCDc7L4&%+>!n+#_k6gt>x|vdJkin;ZHEacVi^4#yDGtk+&6dWgEsF z>8!^*eG}uJGxS4X?!?Ua9CLv)<74F71&CqJz}*OOM(#uSfI0~O073_Ge}(&y8^@4| zIi%va58~zCy+1)N*+J#;rAKQjrB7a*4s&ArKwkLXNJ;u^0qwH3U zO3G1#L8UWBX;+L&%2z`%LiI=`e>oAewlQWJc}yEuKROPxjCxZ;cSfepN;B))V`gzC z=~>pu4R=Vu%@cefbyk}ECKNn>IafJnIag)=YWQS#PMiFc)x8``^Aqw4@(l6{@(l74 z@)YtCuKAp+YzfX)&RNc7&S}nN&S}n7&RI&UoU@$EoYS1koYUkL2r=VO?XNeeS5wNZ00j#49^g{+CPwZBDoCto8~3tDdZ*ODVhsXT40NO445_e z+?~su)10fEv$~hoyK|Xynsb?Rn!JLupS*%RgS>=c@)GhC@(S_{@(S_{@)C0BXI#1K zkM3OMoaJ2QoaJ2RoaS8SoaS8RoYkvJH+L>`PIE4EPLo%VXOLHrXONeWr;wMBr;t~W zXOLHrXONeWr;wMBr|4PL3Uh(>89jeFr)53|&q_1vPQuJ0&mgZL&mb=$Pa!WMPYIrt zCcg=Jxr~XWtWKGovN~mU%JN+2Da-ST;TL&A9k(>p8RViqPkupJoiaORb;|6NXg|jt5asDEKiwU%kqDBbp`4ST35K=)g`D?XkB6w zD3H#dK$-McfimgejVC^a=gz}eB_AM{A%ED7G5dil(^HnGOix)|OADMCdx1m#Lw-WO zvI&2us4Gymr!GOAg1Q8C3d-tQX6KBge!v;@F`h!X z2Xax#*1~UFr(d8K_H;E_Dg&6x0={Gf-Ec&Olv)It6tJ>J*gK zDYI`!OH*d2EKix9vOHya%IcKaDXUXvrz}sIp0Ye;dg=<)8K^5zXP_=Yor1aqbqeYV z)ETHlh|WNrg1Q8C3d-t~*(s}2W~VGqnVzydWqQi$l-Vh(Q)Z_uPnn*wJY{<73e*{> zD^O>kEI&2us4Gx5r!K+yNnL_-l(IVG8)8mTW~VGq37fJ!=YH_4lv$*J zO*?ZvcjYB6?HO4nxfVlVC8^${v`vq)kG9oO=g|Cuw!Hdiac#4st&TQ3wia!B+LqTU z`A}^uOf6#rV3Ur{*A(rkZHjy@c@S-NwAs;CN1GjOd9>-#mPeZ&ZFRKS(N;&B9c_8E z>Cu))n;vb2v>DP?NSh&TiL@!wme>?w+6rkiq^*!PL)sE)o2M<2HbvU%XtSfOjy5~m z@I!J=*GMv!kt!wl&)FXw#!Dk2XEp3TZQ>t&lcD+7f9~q%Dy)McN8!Go-DM zHbdGHX;Y*vkv2u4OIsancC_V@E^T?V>Csk4n;mU+wAs;?N1GmPd9>-#R!Ey6ZH2TM zo(IabDbkimn<8z6v>6UXNog~rEs-`w+7f9~q^(X{LkrQ$q&E_+ItZ;i(6#B&R!5s1 zZFRKS(UwP>9&LH2qWvyHJZ*-w$kJv=TOw_Wv?bD}NLwLohO`yZW=LBiZHlxd(xymT z9c^~hPPNUB_F>wKkH*b@q@B5uJ0rQ8G7oKodXy>`j}|Q23K`Ft%Q;9}A}{(nlpLzQ zKt*Xj#3LTa`dV5*k=kb2R!h8z^>!XrCc{ zN}!EUD%yFDanrbG$2~Rfw{b6zdwQ}*D8Bs+?_QyuMwokb+_NKH?%9zx_w+c|*katP z#)<_~UFrd00wdPY^{o_#oAdCwozA8bk#MX(RtV4OcV3xKzsMJGYDi^HGl zoXFJ)?eq_@D6O;+H2{55b(nv^to%JXi%zhzb?XWo;* ziNUS*;F@>wyrESt2I(w^la$p>mLhEE`JZDT!B6Lt7sQgKB7I#GQdsJVHxx6WObgUT z3vldmzAV9f(c_r&!M>~WB+f?WTZP%RtjW_Z%@TKZ+SJ2g&bpEoIvmzP#`!)u#7L#E`8jgzF_nR<*8)!`Bre^;{#Fj7$X+$;EyHUeS(tvygfcBa9YK!_X$xwpm662- zpSaYd1uj8&nNM=@j#FyoYcL9_W7p)?y1P(_VV0}{*O4;NU!Bl>{ILc@@_PN1Y0K@! z(qW;rA|V3{EIzTGa$Clazcf*u*9M<7ZkRT?=@1w{$p}_)H6AS|HN`nHI>jK&AyUEpT|Yz^a6PqJ5E>Yg$%XRH^w0 z9ieN-OM1r7v_Pf>f?6PWe#(6MrhI!IOF1N7;OhE8Es=@Kw7`+l0@a;2- zN()qX-c&sw?Tgx0Phak;)A8rfXP(SCB%y1^`*Rsc@H2j<1&+iPFf$=|ety$!V$WkK zkHic7P5GJgSv6~Ud_th!fGdU$fnWC*_!xm){N4b+GjKuwzC$~~C(Qq9@P3D&0C7y| za&q#^qtWjoOguM6dkKPF{S5Q_}2o=e9|wI{RMj;H>F& zvNL>sd*|BvCpn{UYU{jL*4mjq_(Ui6!U;~Ne#bkbo{{>+0+C z2kSaN?N`?sQ=H}WZj$B9x~q=!Maw$Qmn)Rh@do9zI!ifMCvPRe=b9OXRtJ>@jM9_c>?{%@7j;~C}r_ig1&$*SZ0^Yl8-{|v3;jQnXG z=eDJF&`x!npPi89OdXQtjGL9^4BL|BT-vOz)9;G9&Vb+6b*}xOt~0Y|J?HOt)pO2z ztDf`JS=r7HW@bB`c4j+gTvp%t{?hu+y4(iNs5=`t&ZiBW(bqI|Uf9~unKrPI6MdnP z^ZG@Nof$7Qc78FiiF0sk6X(TinmTnqYw9fg-=my0Cmikcf9hyw;P-NzS3b>gUi(!u zXVf{(ouUt#JI6o#9q01?Eu7Zz7S4>7$2c>KS~__>k9B75hg*M~bMDMsXTk8}opoJL zaOO5><@9{FmD7CfiO!N=w|0)6)W(^1aa-r|*6p0vKWXQT*>IB6|5xpu*RT7oGZOvS zy>SQU(YHD{jh39^JpR9@I{*6qY0myLPj~tsb%xXS!!w*MFLZPseY}%%@WKCa+Dz;0 zjJTnT(`-an=gup-IgJOO>3lKdEN9LSx;y8O>)~89t*5i+;j^9Juj=Le_TAo2uND#K zub1XKzr61pXYXt0I_I6%$60^pdCp58obN2V>H_DlFJI^k9eR&Bb{H&8{<6Q<3~>9cZE*lKTLMs&zkBya>s4Xq4%dd zukO9wQ7T$Rm*fur_XCU0jj7c?j;Z*aF?H2FvFO+bVyfHhm|FImnEJRl7A^Z@EPBtM zW6_VFh^fZQV$ru(#MBKXvFPH}vFM_8vFNoMV$oNgi>WU+#niSJV$s4EV`|;zSoHaq zV$r*|#G+ZHG1UXEE!_GoG1VGzU0;f+uYmW{zr~_!p2xE`#-gMD8jEgvHm3fw2IYyx zq61dOq7OY4Q@>ggQv)9d-lH+~-vzPg-+miY1#@E2l@G?E8}5rm@0t;d){Vy0jgw;P z(lIeL`-+$v+%Kl4_r$YKiK&h)W9rX!W2*a(618u2iJJFtiRv?|L^aDPQ4dU9rPS7* zs?QI5sp1X2)XPnKt544Et)kcVR&(y^t%`r!TdiBxTdBYGR@eU%X?uFBm+R-L?%&B% z3tPiKJx@K~Jx@*Ulczcj$W!~S%2O|2o2S+l!u=#qy?1Ax+H-fFYWe^^`!_pJT{$mL z{d_^5TE8$)Wi8HA1DEHi1+hGJ@Yy^y>iImic}t$^^ID!-vpr8;@GfY5kf*LM&r|jH zeyo=>fYlcD!X+=-Ptap>YWVu)QD=? zF{1v^Iik)!GooJV5mDoMM^wXeBI@xz5jFIJh*B3v)RIdhYRsUBYBMCF-n=rR=6ye+ zw*N4q9)UmN>WC^t+&_j!)Llrwe{e+o`+E^J6Yl45ufg4nxNDI1d*Ji{?(xVo2zj@H z#^R9?^~N<3b;WfN)&55j)n{TvJvj+^ZUMd9BGE6Rk?1RTg3gRcH0z#7^s4(K(X9_e z)U<~p(aYvURKIzV=-6W9`9nl?cq|fKwcbnzZLF>QMK;2s9JhoR29R`nio~m;C=*m)#Fjs7p^m0 zE?nJbqH1R>s$PRz1NWyFqiQDH6u9AV7r=FdYYw;XZ&CFQ++X4T4EGDTTi}Mn^@Tef zt{L3k7ozHIxaZ&=hkIyMRNV$w05=fsY`Bvii>fAYdlp93yK|yy3tSBDv7blP!*Da; zrra7;W8sEfA5{b3oU5a%JKPx;M^!tx++HZxX`lmFKNod@Qw{0R{~lKdVY)21x^UTW z_2C-AHG*rBi|@L@HG}&OTuZoIxK?m&;7)?;0CyT(r_+?`2G;|wH{7{!ec>*Ky9{m! z+|_U+dMPyq?gqG<;BJMx9c~8P{csP#&4c^H#Y#O6_Y~Y}xQ%e7aNFSi1@{r$7gs}u zg=;hn-xq{y19v)HcQ^;`Qn;(eDRnJeA>3_nKZpAj-0$I*z^#FM5$+AR_u)Q=tMenJ za^OycI~}ekTwl1$;fBNA0Cy|g&)|LuR}A+A+%rE02ZehB?tQpDaM?dWyTNt17i|M~ zA>5U4W8tR$MyY$@=EE(8`|Dp&Ke&(KvK~iUKciG6Z0jS#o`qMFRx^0fVfEWN>9c=&+;7HKhc5M(xC2TMdPe$lO z7pki+0-O)TR)G1Xzw-dEgRZ9jTB=S#xIG*%Pq*j@{JxyizYqQr&vUI?2jE#9aqI>3 znVscGkU{9!3mW3LDcsSM-^_#OUIlmjB}NBsaQ?HC|F-%srF-(|FzU~5tzJ22#LPdJ z&?$97U%;yo&ZEO-Eu(<`DMK*Yz^xEv;J@4IXEk;R%(=7kRV8$6XFks0 z6RP-G-ag5i^vl)HPrWlj2QGX58}+xGGjP%?C3H%?$v*M)!Rh`sR0aMvjy~W|k3M0g zZ?@7u^r!c!=kJ3)E&P3ida=A0-1(CTol<-2PQ{=r;=sdY_X)>-#aG4c#IE-C$+`zS z=F_o#-^+QS&%y^f=F?p>dg8=_Nqq|^PA-@@d1SY)>ii)iuPGceb!1mJc-{EI!byqn z_`)QxJ$ z4F%&1CXXI}-o$YeMo%7BI8j|W?&fjVj2l00@>COd+33jylg4?mCQMEi3&CWu5SC&g zD8*thQ7jizu}13pg3)78h_Qu=iK_q2?vuwCsLKj&zP{k*A9NkwIVG-JK-`%Dac2d@ zbq|Q^5fInY8`stS((+mOdT|fcQ%O7A{DbzWQ=(tm5AQ7TeGA7IPU?K&gmE|D%%+rR zjV_H;S^PvpRu(KTlku9_E& zyY9N8n=v#K6CtEWgVEDfGZ;HvHPc|Hsb(;Cx@r!&vEbUG@uMeot!zcpWk^@mbol8i zn-)J!b<^R8Rk&MKD{N;7tFVn9R^b%>r!ghwR3fuT$6;8nqsj!V7R^jedt+1UTtim>aScOyYLn>_JhgG;oRV!>~2&=G- zA6DTM{E!OU_@=@`3vQiUG^yaS(Kp^$Fv*pDhm4+Z@hB+K;GuTFN; z7}d#bnx2iiPO1g}p?UFWQSkt6t)LbPou2R=5m6D>uCZ}YvW*!XG1=o!(8b5i+^`o&0 MDvwobWHf|^Y>?tBj+52Lvj*CGTiPSIf@`b5d(;Tf(Ze$9AX9&AYw*DP{DvG5@dG? zCW45fsF($_Vj>uMzrWt;z2=1T`M>%^cKB3HRZVrJ?&+D^yDd6(>w3ce-^+O%>5~iP z^Lz-wSRg-eOThog`A~=S&7fQgl9w|Vb6v>AcJ9$>Kx1T5-Ou3;x!mab-l8AVJjEbg z8=G{~%=HB7V@~4;!z>l7rW_%qgu1)C5`pM`%`%&JyO# zod2O8am46T4BK;p*Pj8~zjF{|tdJX=a8pLR9rF)yOYfnJ@N$fq8$F9`qOf*N3MpRoWmbfe^}1-Y$?3Qy`}Y|db@L=YdSOscXQVD+-t0> z6qvO#*c=a)SYrjeV({88+W@j&3ZA9wwFUAqC*|N@39f67D#3pX-wsH}Q#JTfOt!`s z;I7GlZw9aN1-V`u{^pMdVmf1)pc zR=)$fbN)nM(OUfsbjSUPzUId2r=#2XPxR9r{m)}VhPeW19 ztcT&Rf}aYnXV#1G^WbkVe7g53{5trNni#LBSAhI?z>kG5hW*;`=_Db0g}lOEC-~a% zvR8x%hQW7+m%Sofp9DVwegxx-GvXfjtKi2Nd-=ST@blnhueevjdmDZoyzG_4|33H~ z@UmBu>lIkL=@f7R<9+WauLXQ<_{-tbyr$j&_|EXMSH>&rO@JQ(FMH*v$Zhaf!OLDb zu0IVw5B@yHSMh3iufwl{zX-mnm*MS(-vKXs6}?Jc1@^0SCP?-wd*!`W@U`J(uQJyM z!FPr~i}7XHMJK|KfFB268jG{wuY#AoYTgmvGw}1^Wv@CBY=d71FMHLwz88K6yzEu< zYI+rUcBdCk*sDN%t>J6K%U(_INbdyr&hWBVi+nDE9|13WwYWYT{wnzMu~*(};4Oon z2Y)eq1+Ss^Cj2^h*{kc-^L~Qg0WW*?S=E(!pGYr~uvee!ZQ*OftA2I8M&60=o#9o# zI@r4yegwSiHR7pxC;V0LveyLvE8yqB-(dL0-rMl&;8m~MJPCh>-vNJ#vDd<@vK#+J z6ZV>UM|(S^dGfA=p9in_T6(R# zci`8-Pla!d|6k#Ez{_51u2%8+O>U;Jd@iUOTV7cL)4f zc-iZK#tZPbz{_3-uJ49_3jP|#m-fP5t-Wd9oA5WmXL=#83;eI})6frl5pOhnM)8Eb zEHrL_?+h<{SzKQPKN`LQ8%A56>@UMlgRc(X(d*=;?c_4N5el0e>da1d&hb=!hZn&nBn_)OW@N>ChQ&S_4VF{uMaPK$KlWWInC=0FMG#v zy)OKD@KMJ1@s9U;!_S0&9=;zlGy#4Yyy83F8{pjs{|>zD4MgKbc(w&&Zy?vdgRc$G zQKPa`|G{=71pV?-|fQ{lVjp&xeibw9R;uaJj+)m-`&;6LG= zES^0d<>V{--@z}V|*_CbKwW&q2JfhFHStY;Opk0 z-zb-UUHCn`BOWTA0=e{k_~-M`|M0_{`Y4`x@Uzg*COfyDyb_z^s$BY$;78`6f2yOe z{rM#LR(a^R&!yiAzCa%O6>{m9hJS;1_-vv*Sp468kdv?Cc?y0$`nTlL=M~%>Gjr+R z46mOt4yAvtqp#=J82GMv==aK{-xa<>9{P22>DPq+grAuX6_1}wf8G16fAr^&om-zG ziFCbrT(|E_ivK?NYx2;a%OMei2-8}SL<*A zcDcs1Wz5mY^tsBRVk>>%n2b)0dF9&^@f@u;$mke?WRqa9u|r%gAEP0%S|` z7;|l|F%ia0LUv^yV@}OACd8OQ$d1ipOsiaDIxwaQvMPCuDSqIX^mdHd_zu4-;Ikj) zZ`ZwOdo1F5z^5OJ{sQl^*ix_hXvg`906UsH_F~+n+HZYGd<#UaBf-zg) zO7m(mM!#Qh*Fhq4_CKz>HF%ma3z2>O<)Oz+%{68vW2PWmp2wKebB&2JW(cyY^BB`E z*O=!Rb2PGkd5kH2;28h-z8!lizZQ&f53PZrJNTWYT?{M>t6Rv?wR>f=L+HLkO!lx; z`XO{RANH{O@0%YVJcg?rU9DY>TyzNC6C7QwW!cU?gl=O;SMThyJwUqqAreQSJ_Gu8 zgv>vCTTZ;T4p!;Fvwna0=P+{Q$b_l z-})W;u**Ufh_GX*rddG2#Dd9J*SBxPt_^D7?_ec`vq9EGvax%bR=EzwXBu&x*e>ZLNNt=Z)W&zxY!n{O9(i`6ITp{dT)#9N9vhfzw2A+?03< z?4Ru2mo2`)k-~W&`u$$I=Vc5y!Q3C|AMn|WJzjq;NoV_YnSJ2EBRlLjKn^&^{({%s zZ~}Q{AK$%mf8^=Y9GjCJI%iCFIO!=zXsC?=-@HV#5^=9@w%9^Jp1~!rMu{3FUJR}U zvgG>IwO8`E_GTW}zRly>zJpxTdr5lYKG^>oziHC(fp$3xyw*Q3L%r+fK2XyUx$V_7 zZxo*i1xIr4`V_f6v~KKvYh^iSt<67&)ZUfayAE74{Ejt8V5tA5y{k5#3)!Rg<|O@> z_O4g>?8P3>Ikc7OKFiU_k%~GT_pY}#@vi+rvLea7tM$uCnc2OycOCqZ_-Fgpfi?bj zaQ40HAN6hXR0SerEj|ly-@B|%j!o*2eD9h#F_0&pYpM6HoJu90b$@;Ds{O^B&-LE* z@gpDHCF^=GTVCUWbM@Xe*Z+P~;4xe0&cJCRIR1|JuF=8gJF+)^eez!UOM6#2$7W%N zmXE~2`-=}WKh@uw+>^YXtCRF!+Ml-OeE#LV zygs*jH^%Rpg3qY9A4}QaJxp^xw^9jK*I&}|;sRg9 z=d8W02pt8=CHU z%lO;Sa+MQL2m5NYTPYiWMzZylAl!#Y>bdUZPaVQl(3lDpR^l+0tdol`U7kY`F^M zD^x6Bp;E<4l`B@NQn^ai%2ldWt#(A!YSoXZUgL=B88tF$*2p-r=8?5(9$C9q?K-t; z*R4~xUY)x2>(y^iuYSV@4I4FR*tk*SCXE^&)#RwAO^)L4lGB=|R7Kqrv{xnHE7hiQJ2n*nsjN>wM&zxU7L36+BB_OTC;A=j_!VRkM2h| z@6o(xkLJhpJf>IAV_NiT(YsfRmc3i{>D{tbpH|2AY1R7J)_sp{-KKAw_&bwbvO zCuDUzvEz^vJ9Zk<>7*f@I-k^e=t-Ts4DE9A&@Nq1?t03}UAvvq?bK7cH9NIg_fxy~ zIIYL9(|YtA)^qrMr-lz8-aeD7QBl?^%qR+8s96R!iWBZQmJ8ER#<3=4f zdem|KM)x~&bie**_CM>){>Ptn{Ft+jA24RX*f9eJjvaXR*nxx29(2yxg9e{7_}p^_ zpK$I8=bd}PiRYbo{&^=3Ie*Bw^M{-??xYLGoiy}g;o_KIfXN&pG#+bFaPT-1DwI@49QxJO8@#ufOj6ao3N#;rekG+;G9v8!i|>b^Nrc z<0nj;aO1QI6K|Y&(~T1^yy?Q5Z@Tcbn@_vw=38!^e(Q|sx6Yg~^R^i?XWcgI_S@9T+%SGr(;D(Zq2&q*F5*an&)3!^TJDOUR=NCr44J=Z(Ors)0&Mh zui3PD&C9Q>*}P@VE3dBE^4gkLx2}2Z^)*}HSo8X}HE+DRX4_k9-dwxpEp~#4-38EE*raL%-*o*if`Q%+qChz$i_>GuC93B^w`Wk z6AWE%PVxBI^z}xEbF4(q?ncfz&KM)dMhrb8XI#AU$7PKiKXGh@WfR+R`A+yMVQ9(g z&ABnII3y4BV^&`=NgmjbOD_A0L-HUVBUe1qOW40j@f*3~mtDz;OF0_3a;*4P2_sir zibM8ATYcgRJNjYAe%P@eapDOp4%tziocP0vBZxnuI1~?lB8o$D)n2|6@s}{PrNfQ8ZWu*U0f?Y>xrsA$2I4%@4kwN);fA`;%Y;47H?>-OV7}ZTRpe? zi!BrSg}670$3;u7@uIh)ukoUF7N5|+&ghBOxJ?@itro3#rZ7H`M;!f#V<+O+k2rp_ zG(KU!P?i&CmW>~KvJ;Vx&f*jL*G2Ga>wx`2hL*j>A7*52s=hP6`kcn`TA@;gzVD{_ z@$%EYj7ZKo4sYm6p;D{SGc@B?r^jAtDV-Z`sw;V1wB#Bu8hfiX-r5l_TGyo~TH`cc zbP$h~M;!f#V<+O+&vN{l`p6FUB)4&9+4z;8lb7sg1@T0jIz%+y#?$`&c3D%JZjA5f z(LKIsYCS`1u2e(G*D$xLwP>!Jds{T)R#$3Uu$AbSCT6YHcq`Xu zT6>tri&lLcdBoAzoLW0sj{Pi+*I4DD@uIOOdBn<{_*qMdymWT*jcB~|HBRG2%bu0z zuFqFZn`M=XEQ$AdqeHyj-XjcMYt+&M>UPf0o{@7tpoZv0G?sA()Dv4qj_m_#`{4Pn zwUmCFQLPTBvwTY~eWxa?6^FI&)NQrmkX&b{wk8hAHO{HOu`9X!xO1d9BoFFi=0$Z= z9D)7;bJv_a1N#Te<3%~~95AOge#RXzzfQgf%(dc>ed0P`-ko~NzF7~Nb6bDech>{) zWXX=s?%I%^jo+?^AYUVwA9u|t4(Tf{9V17UTCKCYPQ=GLC3M`ickbNza_7jM7ss!e3)xrRPMinS*{!WxPbc?CuDV5h6^SFS z_sjg#uFo7bY*Or-F*BYWJ8z<)e>|has!(c7>)*I})lb8E z7@cy%d#pNs%myRxI%dPFh9gTD`J3}5u6py0n~j`tt7?s%(Lwf)ns)svY#I5UT}7gb zOY+tuZ!$l(%l?~hl#HVPtmI|Ue+J)@6H65Pt0b3w#UZ)u6OWPiOvGd4=MWFM7EG4#h)UA*Y_w&y-wqW$V8xVc*D!OYvmN&WPbX zG8KpPb+&Wuk23Kax#Hh9HL)I+jhWFwaY$eDrZ}AX7`fsav+MZK*TpZ1eOUMORqfJ4 zhMs-q_Ek&jR5di`D14@L_T~#k(K9sT%o>n<;F%{ypJ%*i$u(Xy_M#duT4#+Ht?SYg zt#KMJI*7;6@}u#Aex_q5WbI=w_3;*@?! za_q^Dp>-CY&@Ugdbx?l9W8{iw(8v{`x2vBWoBZMntIF3{VCY+ZibOk&zs}H{qwt32 zdi2B>`K%9p#+mwvzU8NQG{kt(Es$%xXzABvylB}GpU{s)r6(GDt2AD;;<55x_;K_@ z)(+>8V?U(v8p}9SpM?E*NaL;CiC=a?k}JO-sweXeX}shbM?8jBJg0rJIaIXU=vbdO z-&=L*nJWzaOL%bfoEEbU%{dBhXs$ZUbMz(yyzevE6>#UKtJTz30eD!*YRuWlhEHLxs6l$A<3oRJ14IY_KjTEZ5=d@ zc#K@}%-q)|{OZmI;RTVd(H7h47`niuSoBcxX`>5Vp5!e{Um)UaY(MSOV=U}$u-WU$tx!N^5fEqLvqFC z(uyO{54p7B2<(SkT6GEHF*UNZ;*cG5O-z<{@-;C@jvo_;=!%oV2hdIprEhC1n}!bT zCuwRDwlTOgH8FCHb7}dOU)gqPYGUL;eUh|zK6f*7Smcos%k&xCt%K*aPSJVSfucq9 zyAK_DzfAnrEIa%PU!rh7ztr!FQ;@1bY7L~;z`tV+{E$&Iy!qCt9oVkI8=768S*$~i zaFZRaGTROA5H7uQW#$D}4hgr|Q$93r;K1t^b@YXpzud+iUr;H9y?RRbH!Urx5 zSB$-d=u4jidUa@JsV!sOeM-jX1FD6I%*t27$$?*^#`I+j`qN+xptN+IreL+WNV5(->PPTOV5&TMt_Yo4?K5=4&NQF^Slt`b zfI?t(R!jqmfQxuV!9}TVqRT>>>62KJ6<6FVNzb@a;4+*`(#^08SX~WE(%Y{bxB};r z^bM>4uEe>d=~1XYij|?O(2uYha0K`Wx(!wXYJh8yNj0D*SUm-+0ad`Y=*U+Gs0*%( ztPW5UToc_oKs|6hx&+n%YJnTj|F03y*mVAD0&YTwzD7V(a8r6jH3E(XAB}D!uQ~np zS^zD<>c!UrXbo(%8q()Zo%h;-)p4&4piX-o=#JM0Xaa76 zZX5d7RrSI^6>t?|4+9Z!1l_Rd#usL6JLq=khRLxu-}R{Nbp)$-UKY?9+!@_0AOenH zBMYbt?n3Ncf#%@m`0NT~f-}+W3Umf{#zt453%D(@cLN%L8&HF8KzDF=I_Y&Y-SoQA zF|QqTJ9N7-M^(LEKnNT{)(hwf?ul+Mpf|WTbJzd#Fcdu8JDu;eo$j3h zKEoRc9_ft&k3x3@Fbq5l8zX?>;L+Zh-dVsH@ECla1q=ZXLH8_R6nGRi&H_e*PbHSI zz}euly>r0lc;|x8rJK=M;C%4;*d7a<3LfWOK%d?Vyb0h5-bC<3??Ui}=#B@@1)qzJ z@xVCnMc&2UCBUWNOTEj$mwA_iFGu$h;6m_)*ti6^2z&*(P6CF5hvRb+a6b5abSD9q zgD=O%B;X401Y*esCW9w?SAwtfrhuo=u{j&K8hkajvw;cVYrJc{>wxRQ*VFOvI$$bz zD!SJJQ@~TOaUF0Cc$#-3-;cS`yBT~l9er*BZUx_p?oGf{@KkKv1WW@@C)XLkMc|9@ zIRm&Fd^Nf=fLp=0Vq*p{9eh2p%mi)&-$wW2nZWJf+r8P~+1?%CJFqpH0JsKx4K;fJmdND5!tOl?4)_~V|Yr$*LjRPydE3gpunxT5+ralmH+Y-CoA9|2cozIDx*LI)z%OBABd{L4npj>2 zHiI|Q(feg!3wVq7D)?3JHSlZLei>K|-s-*Xy#Z_kZ}Z*+zv;aNehb|1wf{3*6S0=9ua^FH^!0KNo&>3s$M%KIAp zHM(B_JHb1#@dfZ1_#1B*@7KG$@4(-A--EyRegOY~?zh0#;IFaqE$|KaM{?Z_ybXRE zpSyui!JneL8~6eI12%R8KZ3s`mOa2;@Lq2pc%SzZ_$TjY@Xy{a;9s!42lx{FD{JjH z;A!yF%VlC_kJbypngMI$Wc)yqC|BU=+#_b1Ifmfls zpLhIS^dQ(pF6sU^_)Pb|!hgE|3%coy;m?y9?}L3mA9ydZ=l4ISR{8zUs9Ao0hgZPQ z?-%e3f(!bEz=iyM$oG+7e*a_Us<8h$YooBgl{He>f5j`}7xs&wTNo$+E`W`~z{lXt ztj(f+jC-M|ALX7X>M!?-`9=L==oSTvfQw+GD6kp4jM^0Umy&yN|5s{I9KVJ9;>1u8 zT##|af#t}TbH5hnD~TJt62N-!dhUr5{)=8ozl2}XF9j~;mj;(6*AjpSeu1@F#($2r zSH}Nw;WIw zToxPUfOo;)vDPY3|9pN0>g$7j{8s=t;AxE5S(;7D*CxVk`Xa6P#CKwWTUEH?lef~&zb0vdp;!!-sP zfivKm0FA*%!W{)P0oR6W3LFKl3)c*23a$@#G|&v(0L#sRW5A8zS^&+#jp14XEx=9S zS^+J=N5QoQT7jFwwE9{?WU4+IZHx353QAMBq1 zoCrSA9|9iYp9DS$-4lTR;QrV+0T=`x>YwbN0-Opy)jthh zc({MMKLR)ddaB`0}sQ-2w*t)L}D2Ui~^7HM}tTEXM)f4&jO$2j{%Rt z_DJAF@L2zB{~X|4@VWkZ;Pd?R!RMoU4sa&;Ol+J3j0KPLFYw0$6TlPviQtL;h2RU( z9S@ujJ|7$7fpOrA$n|1iD0nD7F9ybd$Dn&La3T0YY+MXn1U{EoE&(nDU+P~5zRbTI ze7S!G_zHg#coMcR0nP=lzQLago{H{uz}4WZv2h)64R{*4-Uy5XkHhDUz$EY_bZ-Qvf~R8RMqnCv3bEV- z+zh_izXg1Ye=GP_e>!-&KLb1i+cyDIz%yBEw*h^?eVE(ZfLY*K=-vk03ceK^w*fQ3 zXRsD-2WEq3`*(ov@b3iQiSF&dEbuIB+zy-pzKdM%2Ce~LgU`Ex8Q>Y{-VNLdz7rdF z19yRMCiZ)PY;ZO;y9c-ze6N2W_&$FQcn-1L1KbS0l)1Ve7z-ZD8o3{s3!aPa{lLB8 zd$Dmpa4C2cYx4nM5O@&x!~?)Q@H})M0Oo?{V&ef|6!bNDbG`_86#OWc~0^fzt$AE{y z52O1S@F@6EY&-^B4}RQ#!e0zL34YRF0$$=j1%AqZ8vL}s6ui`b2K)@Vi~VK(a(@M| z61>uX7W}Ng3cL#46~I&Ar?9aCSO$*zF+UEh2Cw$lfYUP&x30xyAI^4Ejc`y0R;{Egs^{wDAyY`+Ms z1i$QW_FnO zz^`HB4PYzyZF1cXM8Q#fZU;7jH=(;7cnka%HnszAgSQaNJHWf(cm4Ok@A>b8-}gTN zf8c)z{t(;m09(Kx`5*f`fSur-{wLs1{7=E3qPqilAN)Qxb^srNKl4BLzW}}jf9Zb( z{>uLv{585?0H11 z?}&Xr@DcbUYPKKn()e%V(tNO=mIh8s`yToC=$ zrK6t@@W5W$d&u8IH(%OItj+vs%efcwr!C{2$e*^vFOZf$tpK|Dfpl;>Hu3{6fuE!{ z1=F4&_kwAA@L3SwX=w$C!w36}D+nw>zJ&X=VA{{rrcl~*+zW-$)^Sf1N?YR>PAimF zIIRe{NLo>F(X?NX|3du=rLAUd7E6n<_KKyw%^ED0_NHGvtyo%dbc+Fn!G*C=3|I}` z##$(m_BwN2BJCUIyhPepe#x{FX(iDu0Tc%p$3_WY8~96VUn=c$YFjGpH)>o8zeUqZ z5knDh5yq7QzC!*L>#pV3X4V- z*VvIG_e6BokE(=VY-s5^a=yot)Q{*|U`PI}FZqiEcF=EZXz4mSaYrX+ z?dYr{u=y{I?b#)R!g~kT3V-(2R({vHEc`|KP;)L4Jv03D{KerpYYRnm?e|72jZWm3 z55wPdEF01Jq)RU~^ukZeL=?Z|PRubU=D3rWsdEs6p@Z1sPRwy9m$-ZcImVoLq}S8O$Q*9&Q!>Zu%MTfP*VVo?lLhAeF_T1WjWyGIig|L+uX*>lE*9h+u+pd)!K z@MUTq_|hE29A7c(OYz%yoUt*@z2-$S&4Fs77&OPC6`SO$r)Wpt%zdD*H53o*NFKLx z>=-(*6L;)befhQeu_|l)(9LUBMQ&bme|T?!Q$x3HjYclIhp&!|`udUZ zwg<99OQWle&hay@3vJr?T;#&&1L5VrRy6eczddSVmE8Myv7z5BwmM?vvpTIZ`m(d* z?U$0i@;|pR>FeWG>y0nPQ)JsFqoW+s2fb{@ie5Esy|IZ-)anp()Ugw_cJLLozKA*M z#B6BACLNoX>^QkcZSL}A>!X^)YrYcsK5K@liDKBZ<<_ujqB!roW3s8qdpln-v|_IN z{+1*y`AK)oOpbkY&2Uq5#Xs@6ki5 z$JQaR6Sa1fqvDh=)xn7~YU8vz%7q-wSmmgERnIe~HZw7+p7Leafa0-hVBlE|lWSn$ zoFfgb`H~#_X8ic9UIis*i=2W9;Bl+ zAiweztR=I?g0&QNd_}D<9z*p4qWom2n9bZNs#9+oMW@}$^t%tR{Z;u>5 z^lNjEyjbv#$Y*6gH*50s+wO`qx^|DL^XK2)WpuPA^>-GZ4Blndr0BV~|72<|dfjEe z8M;*DuB7~>iMJbl%~!<|^OC;W?3*6j}i9*Hd7{+_9cVi-B*U2~r* z&cerRGBqh(d7+^d^N=!&lC;Lkssk!36qW@x3bJ<^f!%8zRvR}4HV$YZT z>=Fx2ZDr@~V^)~^)auwe1a_jZy3_ z8c;mim(0AsJSVvZ9{BujLui9CXwfc@PBM)LQV->Tt zFS+NVq48bch-_Fs*3h-?KRL2#!UCi7 zQGpSWE#W7O{M2F}hF>eY)W{c2{WQF}N6g6gPg>vV%l#{i{DKo+X*G1nIwLPy?8BJV zKXK}(u^oZ_PjgO=Tl>ojjEGzNU+%v@J~xQ7@}u+PM+dPD?(|ChwjkzHyS@?M9mMIx zA9do7Ix$C`IHOK%Q74|L6GPPT8+Ck9*JKT&P7R|@t)fnSqE1bsP9367?olV-sFP## z)&BQHKEM20)iByOvOZFz^l^r6*M4y1rG@tz`ivXj4sUyRk)fw8Sl8<22NxT<^o?)F zth`kF!SVM3{Z;+%iT@thY!_J{ZxPsZe1#leA;(w9@fC7>g&bcY$5+Vl6>@xqW)*%r za`hdph%+PnY5xx+OMhq|88V`1c*(A}BQ;iZkKFyhv8>e{ktx^oG&<*J?&N$*Bx_m2 zaKq=f8@kq>lfy$l*=*<|&pqGJLyC8cB<0mx7=78PQ1$|2N4~y)H9P6+lK00OUy7$l z_7tNdn(WIR!@2-njJDWDHO!^vnv+jdL%nuaMeQ=7g zBORNU?AY98$L20ywmz!KtL?6jG`Q`FkaAI+uQi_=QcV=6_CM9+=sHskt(d#cyfH~j zzU`M)?%1ePhnQnO>eM0T)WOh!ov2fXm{W(C;t%5FooJa| zwRW62jXCokbLO4Tppt9DjI}u`-#xV&X@1#Tc9?l*exoK|;$eEt{I>2}FFB{h&p$Fr zOV0edV@(YMn<33(pkwN6<%&mZOl!%+9Qabq)|aCb)g0M4-&ygwS*wb<-h=cMq5g`Y zU%77#O~{_)s-bA`~Ku_L+lCH=sc z(YL-FdDO8Jb?is)ZLlG3@4Ma~tc}}yb8@HkaeHqba}0exf_-W2?pRzgXkRLP_DhD= z{xS08B--vvMjq@-vSarp`Lg?xdj z5BeZ!XXMDwlfJe+@I^A_TN{6vj9EH1FWIrV%Z|-mzHEIIr`?y7i`|!06MMg_CiZ?; z%ywTAZTBT-Y}Bbk%&~9gC8$Hpse_^IzU0&)=F}mk`0c)=9D_Kcs)LPFb+BYXtiyzzU|*6QyDvF&Ve+;6k~3d1 zXHH|zyvLk*H#)&OG_|t(lJd3pyYdb83f`Al^TA%BeC=ML*zCR}+U`rvSW`p0|2R6P z&Q`9N?Y?AU4tyzQ>&wxJDqkDt;EPt8wW@ul_)W{r+Sb1GQT1mGtvyF_yH`lx?n{!} zy~2@)96KS$eyC&3UDj9V#-iU@U!i9%`61~`a_dX_c3+a*`f}t^$4=C-&))7ud(w>f;inxTAR3%Q$aog&$mX3Yap+p3pGL&2o^%Akm}qb) z@)Z^YcI3m*fm=@5K`fH|=g>dReKhn~&xSD|+-g%2A8XUB*FeY4oAD`K ztAD5(I6BFkg50zYj7)Q^xlm4;W7SO&YK|3`Xswk%Kji4!7-dKDSYRiFotR_Ck+l`ri8*$nK|ER?F~wtT z>nvU%9|wyuQ48UmeNsM^gEKZNe*tKIOzfQPyqFkm>^6_Uj&u~8(Fx+0E!i=#>&$f% zyL2^PvC5u1KaNgv&J~LV>R@ds_M{EjQ$DgsOs2-7?LDSzk}Jj_R#V>~R+DcKtDP(9 z+PRV+LkF?ixiUJ|hRxU7(Rl02jt}Cr_m&xtj>$#il&5lZ&dIt4b<-NOvHZvGCt4S( zzUp<5b!YO|npU35J6K0%{v5fv#{xUa_2||{w4Lw7{O3G-B~SP_dzYPKqo2?{K&}{U zUA1PVulca+->e_El2eTiW{chC8=K8&T-0x8vr{ceX_=zp1_+L!KA9Z4mIdPhMKZq@6 z<01E$6GP1Ul}*Q&c@8Dw$a!wqcZR=PPF_*+iUoN^$t%XZC@Lay&KrQR`t<4gJe337pQ*0v&+nbo`0$5W8!`cYN2OVvX0Ig(>t1d2h%gn zyho#J_5{5P*!KbKnD;wpF7*DNgw*pf@vdvvo$BR2SM2+g_6fUwRkJ{zdT$TzW35x? zebxSqVD9-~eVTh-bv)QTAFNNK6Rb~TFIb<(j@GxeW!JZCCFU&g4jt&2pBBy~XSus$(!W`q|N}Yu32gPb9bR2D&D>=G*Qm!MvM2MYdII*$?JQx~Y9B z=d%m5AFHCOi(Rj_X2ChRUbW9i_kUquB8^D8lHt(rJoLp6?X}mHI`DfQsF8CvYw&;N ztXxu%szGWEq}D)c4W!mUY7P8vt^vKTq~O1&2C4h-fAc;}&1-62Q)?i#2L9R_;O{e& zy{V@SOnh2lKC%eVvi8SE9w?A6D)xvM&JEu?bcvxkhs0BV^VyBA507q-3?DTo@Bz@tEjmhJC&N&A zp?|zLwLGggby1+0=}cW5T-+-GE}c~XSMoPt7~;7vaJXd1Q$fNB2W&jPS+KI^59~`QW>ZMR$uGNKsB&B zTUR#Stt-W6(K zu`~zNJz8C`)!(`$SbeaYn?Bgh>4RMhx)!?4>1M5t*KJL|YW2Hr2V{aX(QRk?Gq+=G z3+NW;Ci+>c*L4;xSJcfq0(1g*LN@|rg4L&5y|6>z&g9w!s1H^*?=C=VaBFnC0P0|^ zuF+k9&fxaMqK?+x!0KS#)pW7$N>}Qh(CSj%6-e~KZV%m?)!N6b*gh=ELePZ{(wn*; z@_y*{VGUHE_jCpN{`Ln3fYp1tKcK$UeHq&yCb&o!Y&bvc^lffsG(-5E=_!#Eu6rcvU25aOLAko)a zovVj3?i8Q}SRKtzVNDjHn{yHFh0}m^aJuPTJ-_El%>k-z}3`X`U%9xO!% z>{6_~vw)+)M+beg)fszq&?~zvw7SZl#hPzG2kZvS^;n=IxZ^?kW;aHzZtr7RV_`a0 zhpFv(z=_}!O&{y?=~a9la5ngCY@7#Vfe+nV`=X$e_INr8UjnUO+T(%C!0M+x9=HO0 z1vbWeljw7;Uf7es>SaBdzSC2{>Ono3F3nei)v192c@l%l; zy7%>T)9HE!cm_SGZvxc&TK%ilds5RJvxC49#y6R0mmk!c%=?|^`(lfy`@&5oY9X#Ee16FV92Y~y*vx((FK)s*m z(@R<%rqyR!J)_k2x>2S0AQIX{8!qrgL8^{RdpSO`|{ zX7zGbM`m?mUIHuyFGY6=@C5h?Y%Bp5gP$SSWx!qFyYRUTcm%9|*2@5OaaL#DWq`Ul zs{{3NK>e82&v`lUELi=VmjmiY8^!i=;4!c|JFBnr8q?W%EqER%d7RbylZXb#;CLSPx#0?hC*=@H%X~0H_1>26Ej9ECw&e=SCn3j-snR&+6yA z9vkZLtS-=Nh-DM-GFaW6HvzAJ)!}&)@GAIKY;OYAfM28U^;Xk+d@Ji|CiG0Y^{V6Z z7O=WHt7GqG@Md(kvIgeT;dw57m2>xkPIQ4zbc&wI)tTt37xeRV!&Nuy?Z8^_TKsPZ zwt%K%akPk)S!9l*`tZPaEba6eeR#CHPfFs-iCJAu!@pONcMU>o>e*5>EH zGvH@fgP#NHRs99Jp97zOKf%W5z`fw7SPNeQ8^9Zw^DhB)iT(=RF9CJ9{sJ3c0#AX} zJ^X9nZLoS%e+_&F{tVr(0d>Ou3L9SoFM zc=>_d;N9rv_kW~iUVhV?IzK&=^FjYiECqe_e^wuAb(c=`nO4teb&pmL>0neb{IIGWZ6+nHL)q%PyPz{{u=&T;j>g!ws zT*J=*XJET3PztP0&b5Hr;6z7f^>9{S=NjM|jH?A40Y1X?1g=LX<_3UzJ2y1lm(|U= z0Z;>6gK-UjI$(7QZa~-Na&%i(zv`oa(%{ngSGVUH;2MlO3TOmwglpw7@O{as!w;2ZEatf^Maulg~!Mz|4CuF5Ks;;^DV4mxs@rIVYU8Eo9E!$My>E=y7Mb zXR&Y0wY}5ln)7K3*Xd{Dh|agXGsMvQpWJVMUXJW8Rn+)haO?E2m4Dp->yY&2z!}yqECuZ&7BW8W! zJH~Juv!P{2IyNuaadM|GN+Ngpvh`7%bqZV<(OEethAzab+!QB1Jk?~Rwg-9IAaq;Q9QD_^84Zu`4YYT9WNrA=tQj!F-ILc zQELZZQR|DCqfX3*mL2KXyky78J!*58FIyi|lX~SMpFZEv)I>2Xzpg<3uC8io za^I#3hE~j9H>{GRCGWYbQF826lZ%_0EB-gm$(N`(_6K(=rW{Qj9=|a0te5@zMSeAF zPj-H+QZ!iy>DW31cA~EYc9f&ylrPo6i8E^Bv^vU#9L-qesC-q=-|pMRGcz%F@@3b6 z;<0OB*nlrgY^w9RJ3cnF=1X#oRh@%4%^FMQ%Nmn?<*Pc|e6?n5zFJGNW9P!=tNBXi z8`x1U)|Z|4AWk#yK|E${$d2;0IV#_bOYaD){)$=g1a%839y`BNn$9$|=J%8FHzsMx zH7|B-P)}o1^_0GJvyEXqK>bq^`*RQJa(+&Y`nEZSZh`E#4(k_s=s0= z|6yH2D`v@6L($S#zE)pzRpAG6lzXiaWwv0iIDq%|p8d8_84 zRS(gt_peUMw~SwD^krvWt1U@izl7gN`daz=7UN6tTvGW>qa!=-{P?CBEBdQ5Uo|$h zKCO=KN5@Xo+R;2(Us|6|%!XFX(y@8Tj+1-T<}P2hKB`IolJA)NRkir}wxvo27qpEojf7G!bb?RW=rGh#bIM*_ zPx+o&@EJpkUv|RNNm_FGamJb&1~x;|4|F7tTDf8le1$Yej<2Zo<>;80ZJgRSR72U* znpVDwLHD6(`IKBW6fJ$_YxOlpx#S_oPROw@Iu`hnPAu>h(!S*QiaEYwfiI))__A`v zZ0$rH`oc zYx}VHUXs?1YN?v4_Q713{XCc>Lu;OxyCkjeV5yeQ*kt`wM`;H-hPGo}o35{5eq$P| zSb})8Ry9X9o`ZgONjd2IUOET!YxLc*!F>>wA3Oijwd*m6H+jF=`^M@kZs|DkkYk5y z*oiKK@|G)wgv>+JE-K zHsM#j65;m#>ro&i8d(raPHqXEfidY>9qHwa9cXC9?8rlozNu4SNB*oY`Li*gKhV&! zlQ?qnaclJNri1<8>=|~iNRCX-#W?viGs}%3z^$ zO00EVlROx!z1Fe?r^`2qk(fMETOp#yfQ?UwE1I23N);?(K>ged5EBU;@M%d<$u9=r$|1@-vb2uS8 zVE>nG$?d)>J9dAzc2pN@-_}UAHuEamiSapmo8onRnVMRC$Cs5S^V6819%e3`^^kf` zPV}45&j@zz!_K{6<}H{fy?cZO!CDHlmXdR6*N5hfdo=g@aL1;4`uzuf2S2qhCHJ>~ z+rGq&6FJy-@Ux2?`1|}%e}5$O&8g+XH+=F^=#gSo!x@_&3!OK+ez;EL_0VP64Z~Mm z`8NA*Bs_WOljh9*m^{a}=rhUeP&8V`=wCHyps_RPhY`lkEu#j9Wxvdvvy5KHth3EI z>!=gMyZnYm-v5j@Go>FJc4SEU{r5kTDLa+-+?FZ7zjv)_{7J5Oq^~%ouQ+8#@hk3C z&rdXQ$e-fZ*~%5?9dBG>{M)nayZQVpc;%tE6u;uNXDk0#$Metjr+KjR)4Z+zZ^Z1- zs0R6yXU&h~R!{X1uX<>lJzM$T9q%PKer?uW^GA1^b!N|2uCvyeJ>N2;Y^M0hO&;uE z?u+1TaGsYaq1-QfnZ!1`b>U{4Of_-OEzd(#%hM2Scm& zPYN$T<@y!R{+6-whMlw8m49wh_{960WQKPg(Z0#NCaXSPHz{1W$irEUORS9CSoBMt zp*e?s-G~u^Ojq2mAh|AAJ8(*D`=S5B_?d z|4BZ7f&2vvpck>a?(gJILug~v^|ia}uWm53B>zWA?{NQR)w3)u`B(kgM6BGQC6_+` z*G>H_OEXq>q;KSw#znSr6S#5Myb%Y7`I$T-xen#6x=hK=ZlA%~jd_2rgUkDKLF8aR zr$lnufejAh+o8qhmbto#>*SPNXAf0A*gAV6o*3oYa_xw=*Rr$p|2x{N_N==7**d!j zosGbcKn4Re=Kpt{Y2jo5c^-b6mrqU(vBsKl!JRMI)%^8v9Lo{ttbm43%0*jw1Ug&h z1&3ZUwr*aw){NCn%zJiNXG;M1PAJ&JsXI#M?tT<(_-xYU9)#H&!6|nR~vl zE&bf{ZtI|H8mF_q+bz&x_m?KQdM zYSzd&vgVPsY93j;R_!{qYS*n(w_ct44H`CR)UZM0Mva>^I;v^2rbjnx+WhF|#~j_f z#W5{f9@C;#%T}#hwrbP5P21LO+O=)hzHNuhP-Zxk83{+S!W}zx?$o7or>p2*!;i-L}jbv@TEv9+8 zX!zntpC8J^p<|9b=E%bX=iL`sJ!qiOacEZ_etPY-kvVIx&8-u2hVv@17j=|M+oofv*2f!wS^@-#Zc83|}tu6!dwUYcL4qkOGg_0fG{>^O8- ze&kOvIJAi+n4_5D3TVwQx;o7KMhuylM|+=IedhlVe~un!k?6`FOU28*wrX+r! z=+e8M>lPwbqwms+BTVZI<8!~l0#T_4n-?ha{Ggh zD_0%J)9ARgawShAcWLEH+(z!wii4bu+@+PP)jt%iT(zb(&ed_{%2jJrI)|dQZUwn@ zT)A@9I+l)0%fHsKlsY2`Zi)AsD+I&x^~*!$F>BL{nz%T7D+d7eMMFZ2D@ zSB7=o_FlK}{!dQ}i`QAac%j=qJ+v=HfwsQsgkTRq8{a)XDle~h| zyh`L|^O|Xd8gGIBFQ#OVNRIt@9C|g^W0F-ovZ47IPIOML@i=n3M@dim*vx(8B}>|0 zTJgw7o?&Emj*WOE@GDth-}7n&d1;*}4dunjIc!cje$&RySS5v#Bj1SV+KOf7V!qn^Zu9$NUI|T$X;omhwI(8}%4=IhOpFNNML*+cVfkMM<=^}^rr?AaEbiNm+Y@Z2kYYoKt&XssgDB9KIF!Z`r5**>UFHzjO2d zZ2u|y2d_ZxdC1Kld{j#Mk5=ID-T6|Prz()Dz(2ZA{BP-9{EhONzIF44e@0%LH%#9u zy9qD<3=b)rf2{(k`M32;?SQEYq$+UuR>1B9{~2fZiK%Dk<_!bi-Mr!8|LTvcKQ8h2 z+KJfpEKfXl6MVv!9V^|<8$NC(K4J5wmG)ZVoRHQZw|Rr-ozcTyldV}h6BdOxZ`iw2 z*F+C|*Z!?+VubMA49~l1rEub~cJxjl`r~Fdt>kOBg+$+Q!(V^@=&(0YCB<_&klUZ+ z?y-00FMFgDMX0lT?eC$Z#_lhBa_W?btixVaI8lY1C=c{$D?RYt#ArKLIr=$N{c&gX z@Vwmi64!6I;ii=zH_PG+x0^Sd(L;KFJmzN1&2ZO%JO5e*iGPakkE=2#YB~*!ORTDd zzH2cN{lQjc&iH>fb@=XlsmxOqNLAq9z5o2Ve?8L^&lLCP^{9FJ{`u%X)7ZQrv198Q zv3Wyc-=Afk@QM9g&ka3CJn!RX!hIIjZmTPzH%zbHcK`lg_Q*%6je4fq=U0x`gq0k8 zc@VcGm+x=$$%g5&H8(?i{c(L3%C39lj7(6&Dkb9hbl9iEq}OL*B4$aguKP@s&W7nd zF40+Itj?j%*6zp6hE>uS=_Pz@n4a@iqboUw9n<3yWpm&^H@5??h?~AOk&U&LsC4bN zs%)Qy($G7VGCc6PYAv}lWo4T;wE09;*4vQYaY}8RwKE#bQqH_sDluyM*2F5)JDuK) z4xb~n1EwmFs=(n}fx~B~`%ld@@tnH&n?JrgDB{<)_S>klo>Myi-G{Z?Z{us`cNV$r z&)S*z={FH&?yD*Ozr6y7@6MOXJXL{I1-v<_f2j(jDsZ?~V9wL2f2j(jDsZ?~;Bejd zQhBE;kg9+;=WyNkQhBE;kgC9(r&D`issgDB9KIDu?SZKZq$+UuR^ag6`BIsuDv+wc z;k)ytGEY??Re{tFn5sak0*7w}QafO(0;vidz7;rpcfM5SsS2bjaQNa&d8z`b3LL&WUn=ud1yU6#?RgmkPUx%uuP%MW z1-@;>=4C?(28{B&)2Db|&K1wghde#FE*&Yh(fR-9NcA5`Rp9Wez-;s8G22U=|IYle znKftrVl2<@v$ov32lzpjG3VolF8=1;{e_+^wpP81{+2hOL>|U^v#sUcmEEN~Pc;9> zhT_PYGi;8|SI(I`XT_dsbgbUL_hfae-n)O-U-pmPxpS^G_J_^MnsfR7llSl6wSRB5 zy({)$f4?f6p{uGfx+i|K&2;lF_ii)O@9Ho65A0g|#nu*jQu%-UP{y1noumI?pBT!$ z+h?s}nZG#e@0|G@Ti6cb$&sa~R0UEMNLAoJqXOEW*rjSe{D=MVABj)<8~?gIJbi1h z&l!I1oKjo8*&EhOV25Y-H%IM{&Zsz}A^7*vk`k z4$NToV=KMcyVkZTF(H44o3~%#%~p)1OixGIOT-y{Uv!5Bcb-!zw6yrF{Q5T`zq*ql z-qj|wt^B<&bXbs(&oc4^Ui$yq`w}=QitGPkVYzi7h^``sM7-d~p@6Wn+9-;m2nO&V z374`W5m-eQB@vwHFBmT{#vmaCH{=i#5fDMxkwb`}5m`+XQPfSuM5D;6C?Fv7|9-pX zO?B7wZ13e?elp#knyOdz>UEv3-g{Nu1FWL#?K8H|U|PxamD5RwSM&1q&y~J2Y7ygC zB3}F*FYS0Kx;(mE{OvR5UPl_k2Iihi96r-~=XT!Pf$^`me!XQ-I^zuelIcQs{d3LB zM=dISN6II@E}i*(z2)nzHT}7G{;*@^*$B6xdvfz>C2YZ_8`y4YPAS54GH!%!QFgDR zw@=TXWhmM6PB4m-9eTj-|s-O{G-|9`x7PYIu~0M9*f@9wv@PoK7_2yM!^+@9NKux$M~ws<4V zf1_CQI>+FSg>lF_rv6jX^ndSubEeFhc+R8o@;OuTo|gXE@zT4`aU7(S8_#&~)eH5! zL^vfq(T)-ykI#?44LR${S5JP7|MRhab^VQ`+x`7`eAJ@P-eH-Wy^7i;%dbcLi|bjJ zqJImWTJuq2a1~wd(9+l1Q>|9X(9N{KVb=nj&72Y1$E<7y4ah2`%p2eoJT|T*e=o7` zDE`M=AFby<4aMVHtD9dMFF!Cdw&%UP7R}n2|LBUA z-j(A^tRi26;|rhH_~v)}^zAbYPb}zj-+py3T zpR$a%|I1%gb29xet(xlF{cXdkIf7#-t8olSY9;!AdTsQ7{@#z)v+p_o{_)lw#Rq1_ z%Zsvedy>4McH#F zQnuzZr(T!B|Ej)@3r9`lqbdt12CRzbOof{B(5D?Lnu42#hY!`PUIe&zR>mhew^8O?%ZVkg|7HQSA5D2lp&;? zQUZZ(e$BO?GJx9~Sb?Q|)A>S2wau4{sH%E2Dp7QajSXI0+)uo!rr(1w+iIt=1 z-!G!a+&+fxtpD}TCqHUDX*JrmVM#mrv1#!qUCZ%-+4+waWv_7=^qTVAp0KGx7j{AX zXz6>@A}>rEZYrNPwp-frL|>-umv&S?uUg@;%?76neOa$5DUdGp0orh-Jn4L|?KkN8 zwmxTNm+ppJNY}=1R=U+l%kn$wf@8o|ah3D5L zpzWV~0J=1#F>T#8{co?|91oT1|AfAr>Hkds2hBe-KQr^6bG7R8pW1`judDw2FA1Fg z*a3mu!QBvdmBD_KURfwFB&-Osq6GQ}W@8s6JAd)CIQL(kd}}srCzMg+d)Ht;F;#xi ztI`oGA9&>=S+8Ax!@_CUQ)7E^ANRD9621SsXMTM4YsdV1W-Rwuy`sFoYC=pEKau3$ zYR+z0t!Nu>wz(``u#~%b+$rX+B1ewq_v!clWWB1cFM2ZPes%VLtNUEZ$LAUzQ}z8{ zLr1TOHf+yV86;Iu@W8r-6C%G_B>GA~h_C0K|6XP>*hO6GH4NG8?!LHNX z>v~Pm`^;hczgX$djh9oCr_{9~d;X@`+4fG9^l6YU{U!QeX8$*{|C`zWH|Gl|LudB? z#Y&gz+xtg0oSGvzM(lr*T8aIC_nd|YKXd*g#rhh=@%?dO{6D(90owI<%j5Cbo*1-D z?$j19AGL_*EAQV*nL+Q+ra%8f{OIyiH^y-`^Q%OD#>^?_DNV`|?pf%>x|vv2y(@a^ zit34(x~pCBe7x;qxD zpSZUyVZUEcJRIj%d2_Yl325n+Vf|)j&z;|E3gOD^|Goe0f+eiI?Eh{+c!8EN+)`xr ze`SOR`_k^>i##j7#EU;0{gT=L7p_|jzMwCWA8puRRvgOg|H}w7^S(0kKRNFc=SysU zl$rlBB7=R?>N+IzUVJ-!_7OV&wS0EpR++`o<^8u%Hjq{goBz?}*^ndNTW#`hSRGxy zesw&qS5{fC`Q|QHRu}fHWA?Zfm~shMR>~2h;SS+U!=dC59Tfa3`|fIb2V{)- zc-sZ~yZe;$in*3^O%J7~B^kW;t7`^)SDv6O!J4y-T(gA^&ra}+slbW-p5*&l_Wlpw z{oF<3;_Ufl z_U1DC|K!p3{*mzQwEkgo{)cOIbUD{-Isdg|^}8=!w6(JHf6kQs^QUC@?kD3zYrWfN zaINN=&2{h&IIiVf)47&&O;6h{2_0K&;VbwaC-%DezN}tZ-JGGh!>GIIq=NT<z_N0$fO`gsa%-!{dBxok>%IZ(;wXGSWC7~HRh@b0D&GI)nMuOYJC5pa`X4=-2aymUy)Dl&RymCoAfR-&yMrEAUyjg`~T_se+tfL z&6zS6?>bJy&i0O%>fw#A`WyAfOsKo-l~vX++VW}B7dWha602%*rRQEkW#oo1x&i63 zA`6F3J~IGUa6)~a)#FJBzW*_7*M=oL%f~Z)I0JxF6Wgb#2mJ4U=T4dHp0gLZi)RH{ zW4vej`dn>~aLdWFggjHouel84Nsh!l{Ar%~<{3@hlfnR!lHjm|H=6c^8S)qdjFg6 zkom30>7mU2uSjT_{a=of#CXVj{~;;4%lOE=|Nl+A|8H9VusZ)Uy?W2uSo{ALfo)k99Lzq2-Vm*&#$It$zhFY+uIzk*6$UdAB4B}AJtzZK-3 z4>Od_Q}9IhTRoEIErGvW8R$rDfrKR24CBi^St#w0h_}YCq*mJ3U%}))65e~5$nWj) zIXu&_eFp3vaq zy_bw7|NJMHdA;QdeAAcf^~_k)4NW(cx!FqoLyzIo7x}IlzZJ}H2J>6N`Yal4;~%Z( zw}i=O_^n{~Jh$eTzO|SA#&7ky=e3zmt{{F8FUZ7YTHwfQ0lil0|LUpyx>?C~;(zr} z4(IIUKZ7J@A^s^&&q~_A66Y)Np6VSqpUM4~Cm{_D#}}@EANHKYym$XAC=vGMLEM6c z8rVPVr*`V(~@cZGScT+Rqe+KdV2XzA}KmSXJ;q5c{We>im zTa?ZJ4B~$Y@eNVNdH++Wy5~QNvcGJZd+zb4aQ|o~_6xxq%h--n%lUS&*pH&_cZB(S z>PEiv^HrSogE{5h-xuqG*nb4B?)%^Tn)J)>+_!ZUN^{zl&rzKUe-7KYcx|}y&Y$=}{l5Yapd9OGs_uRP?`BgTImNNe8|H5G?sQ=lY(jVGqukmeg{qEP5 zpkI`|ul4rnzumNZ>l5#g4ln+v5dTYP0ai1;|NCQ%%;D~T2D$$w#CgCQbEnv)Sbrn` ztB3ED9|On#^x=Q`=>PN~%yRPkr_?}5)#P{oE64-;=2qC;L^{7m=a!__IZIVblEKfk zK&AyUEs)Xz3Hit6QkCFnDfuhRQH37P{iw^r-vtl2)?QYYOk@pU&gj zjd8_i1<~6Z|1>Z@2saZ~-4>w85>IJo_Ko+dF7!7i>)=R2qpJ`>g)FwrT?DU$#Ve}86#^gRVea_*ZUvpTyoMG)_<5v|9qaTld?xK+H z=U;m-q>k^f@mbaS+W6u1_hZ=kYYPA08Q;OyRblc}jzOJId_zTZUsDQ`Qad3-S%++@Vd*x0 zRpBuDVd+(Uo{b----v#q`|0bE6u*pr_O-99cD=uTm@AuCZnNRA64>|}w#S2k2R#*! z)A_HQV*hPYZF~*;u~Q+FUx#druyh+=!_G4LYd>21QBb7y z2I&zDzvFj!y?mfpoqv1ca~c96|Y5mv82#RYY!Hs{3jt!o*C$GFmXSv)6p``dz@6YG-5Coy(Ti5EXLy{$`u@sD6v zUGT#Ek@$jWPORL6|H!VKn1fhj2hd|oKXE@=1#bo6x8hr4^A}t6o_3UYJ2yFVs#aoS zrNY!(y!I3uPR-$uvGE0#a@u~`{cD@h+3{!m_2Q?(LRb5y<;vH1+h4c6S9)albF`)08ebshtxSGt z5gCs*>@S^xxU$gM_%dcl#h3K8kUi)G_WD83_u@01aG4N=ueqs-uwj#;L&9w(-p03K8{dY7 zj^W=rB=O?g>D7ZN9dH#k>u@^y5-+~zc^y6BEJx7&__%; zT6mh!*ZEQ<`(U13{a9)k)GTWM*6WC&Yr`fbIAr7d*Ckm;q`d?->qT(L#<$_%T;5p9 z1zfZA#jqEac)zdZ!_UDrYjD;4%rCiJqG-8XxZl-UxGykXiS9>0APB=$p$@oV&5TziDU)FCNT;YKYF3M}%Tjc>!m_sUPS z3pmS!O57dGdba73v&P<9(?a64k}$97P15n>+i>t$O^u~xfz}T_>#1w%D;3j@*$-== zxhQ9wUN!OYcp=u}w#oH=F|^}CkKXQG-@IY;6^Kxm)^|KU692<3knL;TUB{9-pE44% zj?Pc3LR;wQED0ru^mGi}#aKu6MP1%2Pn5aQ2GfN2M7fFO%|(eQCsyj_<&T!1jon0B zM~vN8TQ^L*30;6kL z+i<#kzIe}S$#RrG;afjj5tqYEuXTx>t=#o(0@m_rh)=G=#G&IV4m!wL@h#=m{gG;4 zv|E(+8*((cDa4ijP^fVIrDR2&TP{jsTx;|#u^bQjbdrA^O4Tna*57S>8&1{t{q#)h zh(stc8kX{=lTZa)*PD6du3Ua;m$30E{9MW-a82{u>p>9gU3vK2#cz6Jf^wL+S=(;k zG;3SgR}w?boQ|vf;x`$qS2{+?B&BClu(thIG z1*ZdXf{PO~BX%1h(;QI6S}1s32d< znRbdk*+;7?8s_%<&~~m2!Z74rSO8cjXx9_gHree;bu5F(=lV&z0eg1? zy? ze)VB3Cz<>+ft;FRwLE;a)kZ&DuuE zB=wef@ofyDyVtc77`hUISW?0D$Qwdee4GBPZLFV2Id-aO&ZRr$L_ql=XPIB`PtBua z3O9CHpzQ<(!{jX7Sh`ckJIi>EfaeP2a+Vp5pE6e&*+`m;x<5yX+?*NY&vKh=U&g;m z*f|(?2yYP(I&mIq`J?8|CLL@(6>Wnh`9Z2p+L=ref0^r4mHixs|&PRW6!7d zO>LZdw%N@$(t;hLhD&``$CH-6Y`j#MyZ?e6$H@V|zMWc5e+(@H-d%gz7yR}H;(I%A zAK=|?TXm$qsc ziv#=5Yv1Mg^4goEe>GP&E1ke`*Scf)wX_BEdB>UH+w`Pd-<1CE>g&^33hJfhYqWMM zrAl4jsMm8XmD|R*;kaHs%LHF2v%at(B-i!wC-AI}-shFiN1j%Kug`ZRxS?kN2;Fo( z>jx^y99n8f$N^>S&jaZH1Ifpb4I}g@ooB_d)8M9P`Pw`BztZ3)aFjh$HC+Kkb8tVSMeYoYMYR=}l>7_=-&^fC5%XXr4qAxtLEV0|~ zMp)F6@(lCPZs2PAN$EqVh)=eyB|~Xv4O54x+)eq@E3Z-#^~$rAqf!~HVEw%^IW$N1IF`Q+Tic;kn z($|;SEAg&m%Df#qHvaBk$mMU16x;>loo zT9r#l5(*964o$i=1*>vTsXSJfgiXZcV2rjK@aYoI($FR%aJX-us4(v_uu`=Aa7LI* zpZJh@6sEsx>yMnqFjUBkIaVdVyw@PGU~-kAvtes}N$TAaZ{ypr;HC3zecgtIUScJ4 zK`%eC@oiXhJCox8Bw5a8UQBb#)zOrWT0devF*=QFsn(GNSFiKl{Q%cC;ZkNS>4=md zc~boZy3aG#eMajVNlqKqHVgBH1Mu9k%XtYK--d;*t{Y1&H^bhNh=eLd)v#b!H-BZv z_cx{g+xof<8-5=gvhi(LT2t@-YsidNy`FI0m77{WEdc_Djc<(Fk4TmHTnFWO)TU`W z5IS5v_1OT4(W|E5dwuU)gMyvT*ES1dZ_W$h_MxO^j zd%?PF)@>U$xio%ySf_aVnPGz;oNnVASdUBt>yXTM@x$ncrH9cEOE>gwecjG!ub4I* zTt6L430Z0!>vA&xz+@7mWXX3yKpUv1hUFxFPqy>x(R(0 z>t)lttE?_-(C-(pQBZFA()FdE4JP-!5@y&k6H7erex;WG%znSnIsE-#{k`(#4$f~{ z%3hf@EUQgAzoz;1s?2BU%Z9a->eW9rUzK{>_%^Kb8y#JqBfik7j=vjwqN4kYFLcG{ zu6RWkwH)r0%Vl<1C59*J<#YgL7XSW;U};~=8KpZ%J}2)KjC?L#&)M-JVM@G){q$2I z!PfGLma`bAcV$xX)5UOao;&3_eeJF;NjtJxp@KqsSKgefmlO4=xUvH-DSU>k@7iw7 z_tNz4x+x{Gz3;P`6dg)yT6B4lwyMh5pl{m-!{~>lvlL$X_Bi&Z>l4=+hbuDdH=g=Y zLejN@mV^}V`2gYt-GZ-AHIx}J5wi1e7e>GBpi|i1JmDahoX8MZ+hY%+jyfdq0t@{z zB+%j`uwZ87k z3T{dqdkp3C4V=U_`Fx?$eCgRFX2)d6hba=Jq-OMg^6_A)K>E<|d$SJsLt*)4Jf<7p z=1FDADeN7el3)0q4Tp_SmiG2drp!DuKwE@~(INdlf;V2<;xUF@p_7odO-PBU`Rg|v zY+7De>-&ao`Jq|cc&gBgqr<`b|2*BN-~5vtU6QsDiK!^Rls4V_E&BA|fh3v@ClgXm zY-_UsWdzk+2r)A^& z;ne+q>bTM>+`Ax@WPJ#0-Ie9hqt%aZ(-TT;A3gUZMxTzX*nY3=9RB+FA(kU?C50{T zSps5vcLDgOBIJh&LWS=RdhP6dm!D~*sjd2Y&yc0&K8{@aeK4Fqku^M3esEI+Kk1i2 zqVT-0D6LUlpSA_x`;aal^qvT)E@eBPy|US`jc>y?zJ`u&MhQY#lP|am69-HedIlV!Sfj8XmatqMI0?C?JQ$}FfA&YE9-WnAT0Id8sL5Zs}TLK z-#HM<+84Uo`eW=k67R=`M2!(xh_N7-;E6Bs;>&vt0;lsuOO$khlk1DDGnQ}T3oO2! zU*g5L^>rH#=GxNApCoq2g<7f~mfuj~=ubWOW>cihL0LjBlRsUEv%!3UL$EkLK7;Lm z5(Z^6xf821q=d@dQVvQKkS$sXEWS-e;>9=VA|XnQh6OL3ek9nk|8MZ^kS(EVSlUDE zSvD+GM9Z^b8{dX)e1XLeTXDklcRRn(72nP;@#5EXd{#ccw2a@Ea)@t_Z=M41?z)2) z;%fqB$@dMk^p}2o3tgTxDEo@G1^;EYUwSxL|F`k|)V=l@IWJ&i2%K(w>J}EPRQ+92 zs++&E`}bYa*q`nEQXcKgx*)zkl{RBz`xhLqAC~ULW!R=4mL5hwEIo{VSb7+JlTK+* zzw4lBGVFzQZ2J0Zd^^3euyAL=w_%A-=cmIr{5xI9udh=x)!M0klAX(bzKw6E+xof< z`?*yrWaHa#Y7T!4IhXf+S+D&*VM9sU?5Ncv)6?<+{W{XB`6T?{*2VA>Y6O+jL`m09ZH^}Tw5i(MvpQhnlj@om^k z_nQcFy(3ST%Pxb&i*Kjb6c)PT+w>$}d^^3Su+SCXrYG^@+vzohHC^5QT66YO3AxKCd2M^XK>}NV|&fPc`~D-wgP_q*vSZIQ-#M-H&DF<<;YByB^Z- z;@k8kUi;+IwR@AUcdx*v?teacW$oUEK2Ph_F74W-=3T{Vk1}mWv;)XxQX86znTzeC&mz=rou%Eyx2a3K_;z|tVWCSYBzOg==@Tl>-(0D7 zL$4lmzEY~*PbT3varJ>uclB7M>Kp@yuw2;))Pw7jaH^eBy%5e^Rc(Q+s%Eh8y}iOd zBE2l!+3278s)1?@xQ?m|xGrKEsD`*3tD{toYO0P_-%%|sdK#>g=(-Mss{^WyK$Z0Mb4a&?OFtLC?NQ$bDAiFYWj0FL7^OM}rD}sxHV0;|P1=S1ts01u zjI4(?;xm|st$Z||(h@D(7_odVudGCSGF%_EY7Bh#RCb~sjIYhBrlYDh%W`kKpcbeeY1DP&>m!zPjd+dRkJ;QSRdrTpsXVw|s*kz|v8Spt zR5#T{osHPOs=GP|@s}WFh`LH$qa4*w4Mb>=x>Ai)W7PsC(6SLA48V zoq=cd28DA$V~`rEE>@SS@2lZ>T35t5c*2>Wd!D*n4OXMo7*HRou5;-XfZi?YM{1(F zP5l%!?@M3`lT?wKq3%|<;=Whir+$sJzo;kFBe<91J`IGsuZug#rF$PJ7vV{F<4Hny9-j0Bo-`39 z`zcCRfSTWel0Jlz{Rt(z2PK^cs2y6iBdC)vv{$Xss%N3?`k*wYx~)u3c^rDC5qc^I zJ=GpP(+NFuEPAR9dg@BF)>yP`Ka~C|v@~1xUeLZC&zp+posBa01*KE*q;9Co5KzAc znCGB2m*6?%0S)oXt1iY;Q#`2!#!h`ejld`Dt4;z>;#&c`J;v10iF_Ra^+1hIaN}Dg z=+sY)QkB4KiYJn9>E{Zq+VWY(+Q0O=rsrE0xM%~^jq6)Q7fVtPb?1yc3fMWQbpymS zL_4#UTY?5#oa=N{59{ThG^x~Bmqt}2+ zYhbrmr(xW5Mp`S3rM77Qvw+_lSPsU-MdU38uu97 zlhjQr3jZe8pRVr5{TnqMqxwGeuzC=qwOBo-=3?|NRLe28SEP_`FsH{Vt&4^!*xKg!MZBze3&h5DWgZm9trruQ_sQ2J@s&e&TwF|$y)hBSD zt9^LFPJ};GA0wVIpQ}CUOSK=rd-1#9rCSQh>+mF&Qs{2OlXl=qD^arNP_jiRDNFeZ zaNkDBUO-Nkau+Cn4$3?6q|flAy`W6Gdl0)HPh!c+ky?h5et?p)Wc!e|3nkr+lzC{e z$IxbXqa`0kTdqROZ9-Z8gceMr($f7KMcl5>Vi>r zHb!N0jLKs%F3EoyVN{a;oP=>lzLbMeH5{YrdWZ-9BsCmw@VIS%b$EY#gLc5G z(iLsd9jnP8@aZei553X85v(%b$67NS?O2GlV~V;HYsEe2uODG8nTQqT0jwbppA zXIHf9gQ*07;i875&(D#GacHP)he==)pHJGWvq%vVd?74VN3(~B^& zIlErKh<*xVXeCDc7L4&%+>!n+#_k6gt>x|vdJkin;ZHEacVi^4#yDGtk+&6dWgEsF z>8!^*eG}uJGxS4X?!?Ua9CLv)<74F71&CqJz}*OOM(#uSfI0~O073_Ge}(&y8^@4| zIi%va58~zCy+1)N*+J#;rAKQjrB7a*4s&ArKwkLXNJ;u^0qwH3U zO3G1#L8UWBX;+L&%2z`%LiI=`e>oAewlQWJc}yEuKROPxjCxZ;cSfepN;B))V`gzC z=~>pu4R=Vu%@cefbyk}ECKNn>IafJnIag)=YWQS#PMiFc)x8``^Aqw4@(l6{@(l74 z@)YtCuKAp+YzfX)&RNc7&S}nN&S}n7&RI&UoU@$EoYS1koYUkL2r=VO?XNeeS5wNZ00j#49^g{+CPwZBDoCto8~3tDdZ*ODVhsXT40NO445_e z+?~su)10fEv$~hoyK|Xynsb?Rn!JLupS*%RgS>=c@)GhC@(S_{@(S_{@)C0BXI#1K zkM3OMoaJ2QoaJ2RoaS8SoaS8RoYkvJH+L>`PIE4EPLo%VXOLHrXONeWr;wMBr;t~W zXOLHrXONeWr;wMBr|4PL3Uh(>89jeFr)53|&q_1vPQuJ0&mgZL&mb=$Pa!WMPYIrt zCcg=Jxr~XWtWKGovN~mU%JN+2Da-ST;TL&A9k(>p8RViqPkupJoiaORb;|6NXg|jt5asDEKiwU%kqDBbp`4ST35K=)g`D?XkB6w zD3H#dK$-McfimgejVC^a=gz}eB_AM{A%ED7G5dil(^HnGOix)|OADMCdx1m#Lw-WO zvI&2us4Gymr!GOAg1Q8C3d-tQX6KBge!v;@F`h!X z2Xax#*1~UFr(d8K_H;E_Dg&6x0={Gf-Ec&Olv)It6tJ>J*gK zDYI`!OH*d2EKix9vOHya%IcKaDXUXvrz}sIp0Ye;dg=<)8K^5zXP_=Yor1aqbqeYV z)ETHlh|WNrg1Q8C3d-t~*(s}2W~VGqnVzydWqQi$l-Vh(Q)Z_uPnn*wJY{<73e*{> zD^O>kEI&2us4Gx5r!K+yNnL_-l(IVG8)8mTW~VGq37fJ!=YH_4lv$*J zO*?ZvcjYB6?HO4nxfVlVC8^${v`vq)kG9oO=g|Cuw!Hdiac#4st&TQ3wia!B+LqTU z`A}^uOf6#rV3Ur{*A(rkZHjy@c@S-NwAs;CN1GjOd9>-#mPeZ&ZFRKS(N;&B9c_8E z>Cu))n;vb2v>DP?NSh&TiL@!wme>?w+6rkiq^*!PL)sE)o2M<2HbvU%XtSfOjy5~m z@I!J=*GMv!kt!wl&)FXw#!Dk2XEp3TZQ>t&lcD+7f9~q%Dy)McN8!Go-DM zHbdGHX;Y*vkv2u4OIsancC_V@E^T?V>Csk4n;mU+wAs;?N1GmPd9>-#R!Ey6ZH2TM zo(IabDbkimn<8z6v>6UXNog~rEs-`w+7f9~q^(X{LkrQ$q&E_+ItZ;i(6#B&R!5s1 zZFRKS(UwP>9&LH2qWvyHJZ*-w$kJv=TOw_Wv?bD}NLwLohO`yZW=LBiZHlxd(xymT z9c^~hPPNUB_F>wKkH*b@q@B5uJ0rQ8G7oKodXy>`j}|Q23K`Ft%Q;9}A}{(nlpLzQ zKt*Xj#3LTa`dV5*k=kb2R!h8z^>!XrCc{ zN}!EUD%yFDanrbG$2~Rfw{b6zdwQ}*D8Bs+?_QyuMwokb+_NKH?%9zx_w+c|*katP z#)<_~UFrd00wdPY^{o_#oAdCwozA8bk#MX(RtV4OcV3xKzsMJGYDi^HGl zoXFJ)?eq_@D6O;+H2{55b(nv^to%JXi%zhzb?XWo;* ziNUS*;F@>wyrESt2I(w^la$p>mLhEE`JZDT!B6Lt7sQgKB7I#GQdsJVHxx6WObgUT z3vldmzAV9f(c_r&!M>~WB+f?WTZP%RtjW_Z%@TKZ+SJ2g&bpEoIvmzP#`!)u#7L#E`8jgzF_nR<*8)!`Bre^;{#Fj7$X+$;EyHUeS(tvygfcBa9YK!_X$xwpm662- zpSaYd1uj8&nNM=@j#FyoYcL9_W7p)?y1P(_VV0}{*O4;NU!Bl>{ILc@@_PN1Y0K@! z(qW;rA|V3{EIzTGa$Clazcf*u*9M<7ZkRT?=@1w{$p}_)H6AS|HN`nHI>jK&AyUEpT|Yz^a6PqJ5E>Yg$%XRH^w0 z9ieN-OM1r7v_Pf>f?6PWe#(6MrhI!IOF1N7;OhE8Es=@Kw7`+l0@a;2- zN()qX-c&sw?Tgx0Phak;)A8rfXP(SCB%y1^`*Rsc@H2j<1&+iPFf$=|ety$!V$WkK zkHic7P5GJgSv6~Ud_th!fGdU$fnWC*_!xm){N4b+GjKuwzC$~~C(Qq9@P3D&0C7y| za&q#^qtWjoOguM6dkKPF{S5Q_}2o=e9|wI{RMj;H>F& zvNL>sd*|BvCpn{UYU{jL*4mjq_(Ui6!U;~Ne#bkbo{{>+0+C z2kSaN?N`?sQ=H}WZj$B9x~q=!Maw$Qmn)Rh@do9zI!ifMCvPRe=b9OXRtJ>@jM9_c>?{%@7j;~C}r_ig1&$*SZ0^Yl8-{|v3;jQnXG z=eDJF&`x!npPi89OdXQtjGL9^4BL|BT-vOz)9;G9&Vb+6b*}xOt~0Y|J?HOt)pO2z ztDf`JS=r7HW@bB`c4j+gTvp%t{?hu+y4(iNs5=`t&ZiBW(bqI|Uf9~unKrPI6MdnP z^ZG@Nof$7Qc78FiiF0sk6X(TinmTnqYw9fg-=my0Cmikcf9hyw;P-NzS3b>gUi(!u zXVf{(ouUt#JI6o#9q01?Eu7Zz7S4>7$2c>KS~__>k9B75hg*M~bMDMsXTk8}opoJL zaOO5><@9{FmD7CfiO!N=w|0)6)W(^1aa-r|*6p0vKWXQT*>IB6|5xpu*RT7oGZOvS zy>SQU(YHD{jh39^JpR9@I{*6qY0myLPj~tsb%xXS!!w*MFLZPseY}%%@WKCa+Dz;0 zjJTnT(`-an=gup-IgJOO>3lKdEN9LSx;y8O>)~89t*5i+;j^9Juj=Le_TAo2uND#K zub1XKzr61pXYXt0I_I6%$60^pdCp58obN2V>H_DlFJI^k9eR&Bb{H&8{<6Q<3~>9cZE*lKTLMs&zkBya>s4Xq4%dd zukO9wQ7T$Rm*fur_XCU0jj7c?j;Z*aF?H2FvFO+bVyfHhm|FImnEJRl7A^Z@EPBtM zW6_VFh^fZQV$ru(#MBKXvFPH}vFM_8vFNoMV$oNgi>WU+#niSJV$s4EV`|;zSoHaq zV$r*|#G+ZHG1UXEE!_GoG1VGzU0;f+uYmW{zr~_!p2xE`#-gMD8jEgvHm3fw2IYyx zq61dOq7OY4Q@>ggQv)9d-lH+~-vzPg-+miY1#@E2l@G?E8}5rm@0t;d){Vy0jgw;P z(lIeL`-+$v+%Kl4_r$YKiK&h)W9rX!W2*a(618u2iJJFtiRv?|L^aDPQ4dU9rPS7* zs?QI5sp1X2)XPnKt544Et)kcVR&(y^t%`r!TdiBxTdBYGR@eU%X?uFBm+R-L?%&B% z3tPiKJx@K~Jx@*Ulczcj$W!~S%2O|2o2S+l!u=#qy?1Ax+H-fFYWe^^`!_pJT{$mL z{d_^5TE8$)Wi8HA1DEHi1+hGJ@Yy^y>iImic}t$^^ID!-vpr8;@GfY5kf*LM&r|jH zeyo=>fYlcD!X+=-Ptap>YWVu)QD=? zF{1v^Iik)!GooJV5mDoMM^wXeBI@xz5jFIJh*B3v)RIdhYRsUBYBMCF-n=rR=6ye+ zw*N4q9)UmN>WC^t+&_j!)Llrwe{e+o`+E^J6Yl45ufg4nxNDI1d*Ji{?(xVo2zj@H z#^R9?^~N<3b;WfN)&55j)n{TvJvj+^ZUMd9BGE6Rk?1RTg3gRcH0z#7^s4(K(X9_e z)U<~p(aYvURKIzV=-6W9`9nl?cq|fKwcbnzZLF>QMK;2s9JhoR29R`nio~m;C=*m)#Fjs7p^m0 zE?nJbqH1R>s$PRz1NWyFqiQDH6u9AV7r=FdYYw;XZ&CFQ++X4T4EGDTTi}Mn^@Tef zt{L3k7ozHIxaZ&=hkIyMRNV$w05=fsY`Bvii>fAYdlp93yK|yy3tSBDv7blP!*Da; zrra7;W8sEfA5{b3oU5a%JKPx;M^!tx++HZxX`lmFKNod@Qw{0R{~lKdVY)21x^UTW z_2C-AHG*rBi|@L@HG}&OTuZoIxK?m&;7)?;0CyT(r_+?`2G;|wH{7{!ec>*Ky9{m! z+|_U+dMPyq?gqG<;BJMx9c~8P{csP#&4c^H#Y#O6_Y~Y}xQ%e7aNFSi1@{r$7gs}u zg=;hn-xq{y19v)HcQ^;`Qn;(eDRnJeA>3_nKZpAj-0$I*z^#FM5$+AR_u)Q=tMenJ za^OycI~}ekTwl1$;fBNA0Cy|g&)|LuR}A+A+%rE02ZehB?tQpDaM?dWyTNt17i|M~ zA>5U4W8tR$MyY$@=EE(8`|Dp&Ke&(KvK~iUKciG6Z0jS#o`qMFRx^0fVfEWN>9c=&+;7HKhc5M(xC2TMdPe$lO z7pki+0-O)TR)G1Xzw-dEgRZ9jTB=S#xIG*%Pq*j@{JxyizYqQr&vUI?2jE#9aqI>3 znVscGkU{9!3mW3LDcsSM-^_#OUIlmjB}NBsaQ?HC|F-%srF-(|FzU~5tzJ22#LPdJ z&?$97U%;yo&ZEO-Eu(<`DMK*Yz^xEv;J@4IXEk;R%(=7kRV8$6XFks0 z6RP-G-ag5i^vl)HPrWlj2QGX58}+xGGjP%?C3H%?$v*M)!Rh`sR0aMvjy~W|k3M0g zZ?@7u^r!c!=kJ3)E&P3ida=A0-1(CTol<-2PQ{=r;=sdY_X)>-#aG4c#IE-C$+`zS z=F_o#-^+QS&%y^f=F?p>dg8=_Nqq|^PA-@@d1SY)>ii)iuPGceb!1mJc-{EI!byqn z_`)QxJ$ z4F%&1CXXI}-o$YeMo%7BI8j|W?&fjVj2l00@>COd+33jylg4?mCQMEi3&CWu5SC&g zD8*thQ7jizu}13pg3)78h_Qu=iK_q2?vuwCsLKj&zP{k*A9NkwIVG-JK-`%Dac2d@ zbq|Q^5fInY8`stS((+mOdT|fcQ%O7A{DbzWQ=(tm5AQ7TeGA7IPU?K&gmE|D%%+rR zjV_H;S^PvpRu(KTlku9_E& zyY9N8n=v#K6CtEWgVEDfGZ;HvHPc|Hsb(;Cx@r!&vEbUG@uMeot!zcpWk^@mbol8i zn-)J!b<^R8Rk&MKD{N;7tFVn9R^b%>r!ghwR3fuT$6;8nqsj!V7R^jedt+1UTtim>aScOyYLn>_JhgG;oRV!>~2&=G- zA6DTM{E!OU_@=@`3vQiUG^yaS(Kp^$Fv*pDhm4+Z@hB+K;GuTFN; z7}d#bnx2iiPO1g}p?UFWQSkt6t)LbPou2R=5m6D>uCZ}YvW*!XG1=o!(8b5i+^`o&0 MDvwobWH +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "Aes_define.h" +#include "FileTransfer.h" +#include "CommonLogger.h" + +#include "demo.h" + +#include +#include + +#include "DrawSystemState.h" +#include "FileName.h" +#include "SimplePlayer.h" +#include "CommonLogger.h" +#include "SDMountManager.h" +#include "HeapManager.h" +#include "PlayHistoryManager.h" +#include "common_Types.h" +#include "VersionDetect.h" +#include "Util.h" +#include "CommonLogger.h" + +namespace +{ + +// グラフィックスに割り当てるメモリ +const size_t s_GxHeapSize = 0x800000; + +const u32 CONSOLE_WIDTH = 38; +const u32 CONSOLE_HEIGHT = 24; +const u32 CONSOLE_MAX_LINE = 1000; + +const size_t VERIFY_THREAD_STACK_SIZE = 0x4000; +nn::os::Thread s_VerifyThread; +nn::os::StackBuffer s_VerifyThreadStack; + +u32 s_VerifySuccess = 0; +u32 s_VerifyFail = 0; + +} + +void GenerateNandPath(wchar_t* toPath, const wchar_t* fromPath) +{ + // 切り詰める + std::string tmp(common::GetCharStr(fromPath)); + std::string twlPhotoRoot(common::GetCharStr(common::SD_SAVEDATA_TWL_PHOTO_ROOT_NAME)); + std::string twlSoundRoot(common::GetCharStr(common::SD_SAVEDATA_TWL_SOUND_ROOT_NAME)); + std::string ctrRoot(common::GetCharStr(common::SD_SAVEDATA_ROOT_NAME)); + + std::string output; + + std::string::size_type size; + size = tmp.find(twlPhotoRoot.c_str()); + if(size == std::string::npos) + { + size = tmp.find(twlSoundRoot.c_str()); + if(size == std::string::npos) + { + size = tmp.find(ctrRoot.c_str()); + if(size == std::string::npos) + { + // 想定外のパスへの出力のためreturn + return; + } + else + { + output += std::string("nand:/data/"); + output += tmp.substr(size + ctrRoot.size()); + } + } + else + { + output += std::string("twls:/"); + output += tmp.substr(size + twlSoundRoot.size()); + } + } + else + { + output += std::string("twlp:/"); + output += tmp.substr(size + twlPhotoRoot.size()); + } + + s32 length = std::mbstowcs(toPath, output.c_str(), nn::fs::MAX_FILE_PATH_LENGTH); + if(length == -1) + { + NN_PANIC("failed mbstowcs"); + } +} + +bool CalculateAndCompareCmac(nn::crypto::Sha256Context* context, bit8* sdCmac) +{ + nn::Result result; + bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; + bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; + + context->GetHash(sha256Hash); + context->Finalize(); + + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, sizeof(sha256Hash), common::cmacKey); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + return std::memcmp(cmac, sdCmac, sizeof(cmac)) == 0; +} + +// ディレクトリ間のコピー +// アーカイブ越しのコピーが可能 +// アーカイブにマウントした状態で呼び出す必要あり +// 書き込み先のディレクトリはあらかじめ消去しておくこと。 +// 引数はスラッシュ付き +// TODO:分割して短くする +bool VerifyDirectory(const wchar_t * from_path, void* buf, + const size_t bufSize) +{ + using namespace common; + + nn::fs::Directory from_dir; + nn::fs::DirectoryEntry entry; + s32 numread = 0; + std::wostringstream target_from; + bool ret_value = true; + + nn::Result result = from_dir.TryInitialize(from_path); + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + while (1) + { + result = from_dir.TryRead(&numread, &entry, 1); + if (result.IsFailure() || numread != 1) + { + break; + } + + if (std::wcscmp(entry.entryName, L".") == 0 || std::wcscmp(entry.entryName, L"..") == 0) + { + continue; + } + + target_from.str(L""); + target_from.clear(std::stringstream::goodbit); + target_from << from_path << entry.entryName; + + // ディレクトリの場合 + if (entry.attributes.isDirectory) + { + { + target_from << L"/"; + + + // 再帰処理 + if (!VerifyDirectory(target_from.str().c_str(), buf, bufSize)) + { + ret_value = false; + } + } + } + // ファイルの場合 + // SDカード上のファイルのCMACを検証する + else + { + nn::fs::FileInputStream sdFile; + s64 sdFileSize; + + result = sdFile.TryInitialize(target_from.str().c_str()); + if(result.IsFailure()) + { + ret_value = false; + break; + } + + result = sdFile.TryGetSize(&sdFileSize); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + break; + } + else + { + + bit8 sdCmac[nn::crypto::AES_CMAC_MAC_SIZE]; + + // ハッシュが付加されていないとエラー + if (sdFileSize < nn::crypto::AES_CMAC_MAC_SIZE) + { + return false; + } + + s32 readSize; + // ハッシュを取得する + nn::crypto::Initialize(); + result = sdFile.TrySetPosition(sdFileSize - nn::crypto::AES_CMAC_MAC_SIZE); + if (result.IsSuccess()) + { + result = sdFile.TryRead(&readSize, sdCmac, sizeof(sdCmac)); + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + } + else + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + return false; + } + + sdFile.SetPosition(0); + + + // 復号化しながらハッシュを計算する + nn::crypto::SwAesCtrContext swAesCtrContext; + swAesCtrContext.Initialize(iv, common::key, sizeof(key)); + + nn::crypto::Sha256Context context; + context.Initialize(); + + wchar_t nandPath[nn::fs::MAX_FILE_PATH_LENGTH]; + // sdパスからnandパスを生成する + GenerateNandPath(nandPath, target_from.str().c_str()); + + // NAND上のフルパスをハッシュに含めている + context.Update(nandPath, std::wcslen(nandPath) * sizeof(wchar_t)); + + BackupDataHeader enc; + BackupDataHeader dec; + std::memset(&enc, 0, sizeof(enc)); + std::memset(&dec, 0, sizeof(dec)); + sdFile.TryRead(&readSize, &enc, sizeof(enc)); + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + if(result.IsFailure()) + { + ret_value = false; + break; + } + context.Update(&enc, sizeof(enc)); + swAesCtrContext.Decrypt(&dec, &enc, sizeof(enc)); + + size_t totalReadSize = 0; + while (1) + { + result = sdFile.TryRead(&readSize, buf, bufSize); + totalReadSize += readSize; + + if (result.IsFailure()) + { + COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); + ret_value = false; + break; + } + else + { + if (readSize == 0) + { + ret_value = CalculateAndCompareCmac(&context, sdCmac); + if(!ret_value) + { + COMMON_LOGGER("********** Verification Failed **********\n %s\n", common::GetCharStr(target_from.str().c_str())); + s_VerifyFail++; + } + else + { + COMMON_LOGGER("Success %s\n", common::GetCharStr(target_from.str().c_str())); + s_VerifySuccess++; + } + break; + } + else + { + bool readDone = false;; + // CMACまで読んだかどうか + if (sdFileSize - (sizeof(BackupDataHeader) + nn::crypto::AES_CMAC_MAC_SIZE) < totalReadSize) + { + readSize -= totalReadSize - (sdFileSize - (sizeof(BackupDataHeader) + nn::crypto::AES_CMAC_MAC_SIZE)); + readDone = true; + } + context.Update(buf, readSize); + + if(readDone) + { + ret_value = CalculateAndCompareCmac(&context, sdCmac); + if(!ret_value) + { + COMMON_LOGGER("********** Verification Failed **********\n %s\n", common::GetCharStr(target_from.str().c_str())); + s_VerifyFail++; + } + else + { + COMMON_LOGGER("Success %s\n", common::GetCharStr(target_from.str().c_str())); + s_VerifySuccess++; + } + break; + } + } + } + } + nn::crypto::Finalize(); + sdFile.Finalize(); + } + } + } + from_dir.Finalize(); + return ret_value; +} + + +void VerifyThreadFunc() +{ + nn::Result result; + + COMMON_LOGGER("VerifyThreadFunc Start\n"); + s_VerifyFail = 0; + s_VerifySuccess = 0; + + result = common::SdMountManager::Mount(); + + size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize(); + + void* buf = common::HeapManager::GetHeap()->Allocate(bufSize, AES_BLOCK_SIZE); + if (buf != NULL) + { + u32 i = 0; + result = nn::fs::MountSpecialArchive(common::TWL_ARCHIVE_NAME_TABLE[i], common::TWL_FS_ARCHIVE_KIND[i]); + if (result.IsSuccess()) + { + VerifyDirectory( + (std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( + common::SD_SAVEDATA_TWL_SOUND_ROOT_NAME)).c_str(), buf, bufSize); + + } + nn::fs::Unmount(common::TWL_ARCHIVE_NAME_TABLE[i]); + + i++; + + result = nn::fs::MountSpecialArchive(common::TWL_ARCHIVE_NAME_TABLE[i], common::TWL_FS_ARCHIVE_KIND[i]); + if (result.IsSuccess()) + { + VerifyDirectory( + (std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( + common::SD_SAVEDATA_TWL_PHOTO_ROOT_NAME)).c_str(), buf, bufSize); + } + nn::fs::Unmount(common::TWL_ARCHIVE_NAME_TABLE[i]); + + result = nn::fs::MountSpecialArchive(common::NAND_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND); + if(result.IsSuccess()) + { + VerifyDirectory( + (std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring(common::SD_SAVEDATA_ROOT_NAME)).c_str(), + buf, bufSize); + } + nn::fs::Unmount(common::NAND_ARCHIVE_NAME); + + common::HeapManager::GetHeap()->Free(buf); + } + + common::SdMountManager::Unmount(); + + COMMON_LOGGER("Verify Thread Finalize\n"); + + COMMON_LOGGER("\n\n"); + COMMON_LOGGER("Verify Finished, success = %d, fail = %d\n", s_VerifySuccess, s_VerifyFail); +} + +extern "C" void nnMain(void) +{ + nn::Result result; + + // os の初期化 + nn::os::Initialize(); + + // fs の初期化 + nn::fs::Initialize(); + + // appletの初期化 + nn::applet::Enable( false ); + + // hid の初期化 + result = nn::hid::Initialize(); + NN_UTIL_PANIC_IF_FAILED(result); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + demo::RenderSystemDrawing s_RenderSystem; + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ログ描画の初期化 + common::Logger::GetLoggerInstance()->Initialize(CONSOLE_WIDTH, CONSOLE_HEIGHT, CONSOLE_MAX_LINE, &s_RenderSystem); + + // RenderSystemを作ってからログが出せる + common::Logger::InitializeEjectThread(); + + COMMON_LOGGER("Verify Start\n"); + + // ボタン入力 + nn::hid::PadReader s_PadReader; + nn::hid::PadStatus padStatus; + + for(;;) + { + s_PadReader.ReadLatest(&padStatus); + + if(padStatus.trigger & nn::hid::BUTTON_A) + { + // SDにコピーするためのスレッドの作成 + if(s_VerifyThread.IsValid() && !s_VerifyThread.IsAlive()) + { + s_VerifyThread.Join(); + s_VerifyThread.Finalize(); + } + s_VerifyThread.Start(VerifyThreadFunc, s_VerifyThreadStack); + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_UP) + { + common::Logger::GetLoggerInstance()->ScrollUp(); + } + + // コンソールスクロール + if(padStatus.hold & nn::hid::BUTTON_DOWN) + { + common::Logger::GetLoggerInstance()->ScrollDown(); + } + + if(padStatus.hold & nn::hid::BUTTON_LEFT) + { + common::Logger::GetLoggerInstance()->ScrollToBegin(); + } + + if(padStatus.hold & nn::hid::BUTTON_RIGHT) + { + common::Logger::GetLoggerInstance()->ScrollToEnd(); + } + + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); + s_RenderSystem.SetColor(1.f, 1.f, 1.f); + + common::Logger::GetLoggerInstance()->DrawConsole(); + s_RenderSystem.SwapBuffers(); + + s_RenderSystem.WaitVsync(NN_GX_DISPLAY_BOTH); + } +} diff --git a/tags/1stNUP/ConsoleDataMigration/sources/tools/OMakefile b/tags/1stNUP/ConsoleDataMigration/sources/tools/OMakefile new file mode 100644 index 0000000..2d83e1f --- /dev/null +++ b/tags/1stNUP/ConsoleDataMigration/sources/tools/OMakefile @@ -0,0 +1,16 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. 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. +# +# $Rev$ +#---------------------------------------------------------------------------- +.SUBDIRS: $(glob D, *) diff --git a/tags/1stNUP/KENJEraser/DSiWareDeleteTool.desc b/tags/1stNUP/KENJEraser/DSiWareDeleteTool.desc new file mode 100644 index 0000000..68d8a82 --- /dev/null +++ b/tags/1stNUP/KENJEraser/DSiWareDeleteTool.desc @@ -0,0 +1,229 @@ +AccessControlDescriptor: + AffinityMask: 1 + AutoGen: true + CoreVersion: 2 + DescVersion: 2 + Descriptor: | + AP///wAABAACAAAAAAAFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIEAAAAAAABBUFQ6VQAAACRo + aW9GSU8AJGhvc3RpbzAkaG9zdGlvMWFjOnUAAAAAYm9zczpVAABjZmc6dQAA + AGRzcDo6RFNQZnJkOnUAAABmczpVU0VSAGdzcDo6R3B1aGlkOlVTRVJodHRw + OkMAAG5kbTp1AAAAbndtOjpVRFNwdG06dQAAAHB4aTpkZXYAc29jOlUAAABz + c2w6QwAAAGxkcjpybwAAYW06c3lzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD+//vw/7//8ec/APIA8JH/APaR/1D/gf9Y/4H/cP+B/3j/gf8B + AQD/AAIA/v////////////////////////////////////////////////// + ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAA + AAQDAAAAAAAAAAAAAAAAAAI= + DisableDebug: false + EnableInterruptNumbers: [] + EnableSystemCalls: + ArbitrateAddress: 34 + Break: 60 + CancelTimer: 28 + ClearEvent: 25 + ClearTimer: 29 + CloseHandle: 35 + ConnectToPort: 45 + ControlMemory: 1 + CreateAddressArbiter: 33 + CreateEvent: 23 + CreateMemoryBlock: 30 + CreateMutex: 19 + CreateSemaphore: 21 + CreateThread: 8 + CreateTimer: 26 + DuplicateHandle: 39 + ExitProcess: 3 + ExitThread: 9 + GetCurrentProcessorNumber: 17 + GetHandleInfo: 41 + GetProcessAffinityMask: 4 + GetProcessId: 53 + GetProcessIdOfThread: 54 + GetProcessIdealProcessor: 6 + GetProcessInfo: 43 + GetResourceLimit: 56 + GetResourceLimitCurrentValues: 58 + GetResourceLimitLimitValues: 57 + GetSystemInfo: 42 + GetSystemTick: 40 + GetThreadAffinityMask: 13 + GetThreadContext: 59 + GetThreadId: 55 + GetThreadIdealProcessor: 15 + GetThreadInfo: 44 + GetThreadPriority: 11 + MapMemoryBlock: 31 + OutputDebugString: 61 + QueryMemory: 2 + ReleaseMutex: 20 + ReleaseSemaphore: 22 + SendSyncRequest1: 46 + SendSyncRequest2: 47 + SendSyncRequest3: 48 + SendSyncRequest4: 49 + SendSyncRequest: 50 + SetProcessAffinityMask: 5 + SetProcessIdealProcessor: 7 + SetThreadAffinityMask: 14 + SetThreadIdealProcessor: 16 + SetThreadPriority: 12 + SetTimer: 27 + SignalEvent: 24 + SleepThread: 10 + UnmapMemoryBlock: 32 + WaitSynchronization1: 36 + WaitSynchronizationN: 37 + FileSystemAccess: + - Debug + - DirectSdmc + - DirectSdmcWrite + - Core + HandleTableSize: 512 + IORegisterMapping: + - 1ff50000-1ff57fff + - 1ff70000-1ff77fff + IdealProcessor: 1 + IoAccessControl: + - UseDirectSdmc + - SdApplication + - FsMountTwln + MemoryMapping: + - 1f000000-1f5fffff:r + MemoryType: Application + Priority: 24 + ProgramId: 0x00040000ffffff00L + ServiceAccessControl: + - APT:U + - $hioFIO + - $hostio0 + - $hostio1 + - ac:u + - boss:U + - cfg:u + - dsp::DSP + - frd:u + - fs:USER + - gsp::Gpu + - hid:USER + - http:C + - ndm:u + - nwm::UDS + - ptm:u + - pxi:dev + - soc:U + - ssl:C + - ldr:ro + - am:sys + Signature: | + df8WcNTaVgoVquQ9BkEsZoF3PpbJVmH6XIv6V9KHR/rJNpR/QcT2k/psvUNf + tlgvSy+ZtRIUE+xM0qelRXXZ/kpUUtPuYF0//cdetGKJIXVzV/0CLsChV1LQ + ZKDZasONA2of0sBQmyh82GWbIvwKuaQjkTcEpZ0xSO8qMRIFsE9T1itpZI3y + 39KZSBz5FNGizpA2UoFKCART2VDvx1owquaB6FaUjUEljRYF2B5xfzImsWtR + CMkbV7rSfKjCl1f2VLIPxc7GbOkY4/nYShaZgp9tvCFlBtUPLoec9TEr6Nn+ + +r6Kh9BvXqPdd3rpDtHXim9CSWgXmZsNtIdoJ5rS7g== + StorageId: + - 0 +CommonHeaderKey: + D: | + 2dZqKOrq81unaSIjE7BboKKaCHaNsjpoZcjSnwX3x8NMSHC2ovTPP3iR+6Qz + Rq15iPQg2NV/4WbMMmKFNfVIrsNEAbpOFpQCXdriiwsXHMziM1wO7Td4qzYN + z/s6ZNxhTxpdKtISUDmkyLGVFBCGNV4EPJkEM+GWqn5yKw1uX0lt2x/iICGR + WE8f02khCCpAD1/CrrSaUHBrodE9lXX0lGT8rYEB7avrl99FNFcxa8NUslqN + 0lcP9yzzssJNQitYiZv5VLkJgAt4RCadsZd5sWblqGTFK/zEd7wN4BXs87tR + RLDWMAeJ3L/e4ZRpenon/vit1o9UmSgSGKb9klejAQ== + DP: | + xRNzBAhcOLE51pbYrWt4xBMokTuY/NhJN6IoN+r8dg3jIwBq4H9PtlV+gyqU + 4mTptKZiNyZa8uvUt0TlB/BgFiwc7MWkFTcJ+TBB1orXC38bTTBLGP1J7B/S + MEPveiQjjUHRaBFjS+5BMfcXeOcQ9/FOt1FiuHcvDKWKD85tgYE= + DQ: | + euNxPVbXvF/a9HPArd3Fd8BUcm4Fb0Q18W0SYqHdDD4mP7lWjTKHGADix1OX + UtqNPyv6NbJ5WnwKg4oqB9zl4Dxu6JyrifBiZ2VxngrLLA0xRKYjxNxMIAgx + 7PbgQcZ5x45fgNa1QFA31oQnaa2Mvr4PgHqMlK6VIFqEg+ZA/+c= + Exponent: | + AQAB + InverseQ: | + 5WZLcyBu4+Mq8aTpVybYh1boPuVyMSvBeCvkedKssUvG8PFhx5Z5vMkvjgpo + ckM/etwsOwSLGuDzzUhMFflM1koSi+dwyR0FpRAkTnXeY12xgwbVaiMJot0v + e37qFGCMYiDQXu4wjbiR2IJ6YRmSSy3RyBHiMw++y/6vKKQ1jPI= + Modulus: | + 5OQ4q7/KRkL+yc/QrOysdG0wKlwgzj0VlwfdnvEBfBSjG6bAALQkqWVzUXkk + JaHcun6evvaHq7Tc9Aa6xNMgA7oBsfGVpneGMFrjvJzDqi9gjZQUdirfyIDR + Hp+F/A4DXQ3CUufnUTv2F+W5ACNOpe8QR9UOBjrJGYzmFS1VvF2wNqy5cNhg + CH4lK6fmetKCJn60EWzPahvLPRJbWITvtmky21GQ0JOU87I8n4r288JTVKEW + FDtku26iWW67erVUpn21KQvimhWjiuKAjAWEzt97np0GdxNs8fSWq57jTwuT + eyEZayHXbHsjp8hNU11aML7mM5IYgRRZGFV3OU+ufw== + P: | + /B+LD7VSdc2FL61myP2m92eBsOdxzMtb7egh3zGnnRDbUxKE7o97imkL+gx5 + MtdXvWWZSKnB9dbmkcSxpaLuV6cvHmBPxUmn2W6nlRT025c2F4Zti+fJrUEE + GSMKH/Xp+qE5o03+geWPYffFjUugxGJMrmKYpVGxYdRWYSY5xKE= + Q: | + 6Gk6mKRG6huUf7xPHhuFYNdzigZO1Z15XfRmcrNaHwlVhkPofzEQDpj8mI4g + RaJIVi1a147vK8B5gcgeGNQ2Ukyhw9j+tjDN9nB9b7mAnZ97+9Q9R5A/rtQF + kGFga2AwkNsT2/cXX9HYBi0IqhFoe+URHvJc8ba23O3EQLSlfx8= +DefaultSpec: + AccessControlInfo: + AffinityMask: 1 + FirmwareVersion: 2 + HandleTableSize: 512 + IORegisterMapping: + - 1ff50000-1ff57fff + - 1ff70000-1ff77fff + IdealProcessor: 0 + MemoryMapping: + - 1f000000-1f5fffff:r + Priority: 16 + BasicInfo: + CompanyCode: "00" + Logo: Nintendo + Title: default + ExeFs: + ReadOnly: + - RO + ReadWrite: + - RW + Text: + - STUP_ENTRY + Media: + MediaType: Card + PlainRegion: + - .module_id + Rom: + DefaultReject: + - .* + File: + - "*" + SystemControlInfo: + Dependency: + ac: 0x0004013000002402L + am: 0x0004013000001502L + boss: 0x0004013000003402L + camera: 0x0004013000001602L + cecd: 0x0004013000002602L + cfg: 0x0004013000001702L + codec: 0x0004013000001802L + csnd: 0x0004013000002702L + dlp: 0x0004013000002802L + dsp: 0x0004013000001a02L + friends: 0x0004013000003202L + gpio: 0x0004013000001b02L + gsp: 0x0004013000001c02L + hid: 0x0004013000001d02L + http: 0x0004013000002902L + i2c: 0x0004013000001e02L + mcu: 0x0004013000001f02L + mic: 0x0004013000002002L + ndm: 0x0004013000002b02L + news: 0x0004013000003502L + nim: 0x0004013000002c02L + nwm: 0x0004013000002d02L + pdn: 0x0004013000002102L + ps: 0x0004013000003102L + ptm: 0x0004013000002202L + ro: 0x0004013000003702L + socket: 0x0004013000002e02L + spi: 0x0004013000002302L + ssl: 0x0004013000002f02L + StackSize: 16384 diff --git a/tags/1stNUP/KENJEraser/HeapManager.cpp b/tags/1stNUP/KENJEraser/HeapManager.cpp new file mode 100644 index 0000000..29f4367 --- /dev/null +++ b/tags/1stNUP/KENJEraser/HeapManager.cpp @@ -0,0 +1,39 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HeapManager.cpp + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include "HeapManager.h" + +namespace common +{ + +nn::fnd::ThreadSafeExpHeap HeapManager::s_AppHeap; + +HeapManager::HeapManager() +{ + // TODO 自動生成されたコンストラクター・スタブ + +} + +HeapManager::~HeapManager() +{ + // TODO Auto-generated destructor stub +} + +nn::fnd::ThreadSafeExpHeap* HeapManager::GetHeap() +{ + return &s_AppHeap; +} + +} diff --git a/tags/1stNUP/KENJEraser/HeapManager.h b/tags/1stNUP/KENJEraser/HeapManager.h new file mode 100644 index 0000000..b9fc469 --- /dev/null +++ b/tags/1stNUP/KENJEraser/HeapManager.h @@ -0,0 +1,40 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: HeapManager.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef HEAPMANAGER_H_ +#define HEAPMANAGER_H_ + +#include + +namespace common +{ + +class HeapManager +{ +public: + HeapManager(); + virtual ~HeapManager(); + + static nn::fnd::ThreadSafeExpHeap* GetHeap(); + +private: + // デバイスメモリ管理用拡張ヒープ + static nn::fnd::ThreadSafeExpHeap s_AppHeap; + +}; + +} // namespace common + +#endif /* HEAPMANAGER_H_ */ diff --git a/tags/1stNUP/KENJEraser/KENJEraser.bsf b/tags/1stNUP/KENJEraser/KENJEraser.bsf new file mode 100644 index 0000000000000000000000000000000000000000..104a94da96cd5d963d349ca5c6fcce26ae7e3cbb GIT binary patch literal 2302 zcmb7@%}&BV6ov0r6Q4m6H@Z+KhJ|rsM6B@-iN&}UA&7ugsXvL2;Tss=z?CbPK7-HU z)`;f}40Xb^b~0(1PS3sfyQi1I&zzJblt2oys8<2cr*etalpCCea)sR)c7e2|i~WpD z%Rcro7N2+UHiF)~Uy~`R|H-i|w|LvZ70EsBD^ipPeP2RkjQky)vxJ;2?`%a`MK<2; zYzL^;09`kOt2fp#wk|zHu)7fFWNu`{_Q#rGY=0EX_#@P9p&Pog2InT%2DrMq)-it1 z5bM@4GJuy|>5rV>09lO8Ax`gbHW_E@jjjxRjO#yrP0mrF2RAOE<`)kz2d6kOwUp*I z93`+s$UK?1hPc}iwV4q^!TDfENmN43p675qs~7dEzSM{MR`2Q)_czs1k9R9iC+b3# z6`dZs&Cc53ZE5GPQMHZQ&9SRVZt6E>3%bKUwF@%riEnqMis|N;Ye~iGdv;(iqYmL% zgnF^1x3#kaqppIk4p-ag{~U}rnxmrmV?1-}BHb4wwvf|Jvo7{BYB!CoUDx@U+m9xI zZ~1Ac&QC+NAI&!0$)cen)MPOjjbG&*sbyA9+-82Nvlu4Tel%g~#LiszPN!@7sdh7@sr_j7@Sk?igDXGP`DhB-LF)Z@%5t2-lYH^vj#EOln +#include +#include +#include +#include + +#include "ResFont.h" +#include "demo.h" +#include "HeapManager.h" + +namespace common +{ + +namespace +{ +const char s_ShaderBinaryFilePath[] = "rom:/nnfont_RectDrawerShader.shbin"; +const char s_FontFilePath[] = "rom:/lc.bcfnt"; + +const u8 s_Color = 255; + +nn::font::RectDrawer s_Drawer; +void* s_DrawerBuf; +nn::font::ResFont s_Font; +nn::font::DispStringBuffer *s_pDrawStringBuf0; +nn::font::TextWriter s_TextWriter; +void (*s_DrawTextFunc)() = NULL; + +//--------------------------------------------------------------------------- +//! @brief シェーダの初期化を行います。 +//! +//! @param[in,out] pResource 描画用リソースを管理するオブジェクトへのポインタ。 +//--------------------------------------------------------------------------- +void* +InitShaders(nn::font::RectDrawer* pDrawer) +{ + nn::fs::FileReader shaderReader(s_ShaderBinaryFilePath); + + const u32 fileSize = (u32)shaderReader.GetSize(); + + void* shaderBinary = HeapManager::GetHeap()->Allocate(fileSize); + NN_NULL_ASSERT(shaderBinary); + +#ifndef NN_BUILD_RELEASE + s32 read = +#endif // NN_BUILD_RELEASE + shaderReader.Read(shaderBinary, fileSize); + NN_ASSERT(read == fileSize); + + const u32 vtxBufCmdBufSize = + nn::font::RectDrawer::GetVertexBufferCommandBufferSize(shaderBinary, fileSize); + void *const vtxBufCmdBuf = HeapManager::GetHeap()->Allocate(vtxBufCmdBufSize); + NN_NULL_ASSERT(vtxBufCmdBuf); + pDrawer->Initialize(vtxBufCmdBuf, shaderBinary, fileSize); + + HeapManager::GetHeap()->Free(shaderBinary); + + return vtxBufCmdBuf; + +} + +//--------------------------------------------------------------------------- +//! @brief 描画の初期設定を行います。 +//! +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +InitDraw( + s32 width, + s32 height +) +{ + // カラーバッファ情報 + // LCDの向きに合わせて、幅と高さを入れ替えています。 + const nn::font::ColorBufferInfo colBufInfo = { width, height, PICA_DATA_DEPTH24_STENCIL8_EXT }; + + const u32 screenSettingCommands[] = + { + + // ビューポートの設定 + NN_FONT_CMD_SET_VIEWPORT( 0, 0, colBufInfo.width, colBufInfo.height ), + + // シザー処理を無効 + NN_FONT_CMD_SET_DISABLE_SCISSOR( colBufInfo ), + + // wバッファの無効化 + // デプスレンジの設定 + // ポリゴンオフセットの無効化 + NN_FONT_CMD_SET_WBUFFER_DEPTHRANGE_POLYGONOFFSET( + 0.0f, // wScale : 0.0 でWバッファが無効 + 0.0f, // depth range near + 1.0f, // depth range far + 0, // polygon offset units : 0.0 で ポリゴンオフセットが無効 + colBufInfo), + }; + + nngxAdd3DCommand(screenSettingCommands, sizeof(screenSettingCommands), true); + + static const u32 s_InitCommands[] = + { + // カリングを無効 + NN_FONT_CMD_SET_CULL_FACE( NN_FONT_CMD_CULL_FACE_DISABLE ), + + // ステンシルテストを無効 + NN_FONT_CMD_SET_DISABLE_STENCIL_TEST(), + + // デプステストを無効 + // カラーバッファの全ての成分を書き込み可 + NN_FONT_CMD_SET_DEPTH_FUNC_COLOR_MASK( + false, // isDepthTestEnabled + 0, // depthFunc + true, // depthMask + true, // red + true, // green + true, // blue + true), // alpha + + // アーリーデプステストを無効 + NN_FONT_CMD_SET_ENABLE_EARLY_DEPTH_TEST( false ), + + // フレームバッファアクセス制御 + NN_FONT_CMD_SET_FBACCESS( + true, // colorRead + true, // colorWrite + false, // depthRead + false, // depthWrite + false, // stencilRead + false), // stencilWrite + }; + + nngxAdd3DCommand(s_InitCommands, sizeof(s_InitCommands), true); +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを構築します。 +//! +//! @param[out] pFont 構築するフォントへのポインタ。 +//! @param[in] filePath ロードするフォントリソースファイル名。 +//! +//! @return ResFont構築の成否を返します。 +//--------------------------------------------------------------------------- +bool +InitFont( + nn::font::ResFont* pFont, + const char* filePath +) +{ + // フォントリソースをロードします + nn::fs::FileReader fontReader(filePath); + + s32 fileSize = (s32)fontReader.GetSize(); + if ( fileSize <= 0 ) + { + return false; + } + + void* buffer = HeapManager::GetHeap()->Allocate(fileSize, nn::font::GlyphDataAlignment); + if (buffer == NULL) + { + return false; + } + + s32 readSize = fontReader.Read(buffer, fileSize); + if (readSize != fileSize) + { + HeapManager::GetHeap()->Free(buffer); + return false; + } + + // フォントリソースをセットします + bool bSuccess = pFont->SetResource(buffer); + NN_ASSERT(bSuccess); + + //--- 既にリソースをセット済みであるか,ロード済みであるか、リソースが不正な場合に失敗します。 + if (! bSuccess) + { + HeapManager::GetHeap()->Free(buffer); + } + + // 描画用バッファを設定します。 + const u32 drawBufferSize = nn::font::ResFont::GetDrawBufferSize(buffer); + void* drawBuffer = HeapManager::GetHeap()->Allocate(drawBufferSize, 4); + NN_NULL_ASSERT(drawBuffer); + pFont->SetDrawBuffer(drawBuffer); + + return bSuccess; +} + +//--------------------------------------------------------------------------- +//! @brief ResFontを破棄します。 +//! +//! @param[in] pFont 破棄するフォントへのポインタ。 +//--------------------------------------------------------------------------- +void +CleanupFont(nn::font::ResFont* pFont) +{ + // 描画用バッファの無効化 + // 描画用バッファがセットされているなら 構築時に SetDrawBuffer に渡したバッファへの + // ポインタが返ってきます。 + void *const drawBuffer = pFont->SetDrawBuffer(NULL); + if (drawBuffer != NULL) + { + HeapManager::GetHeap()->Free(drawBuffer); + } + + // フォントがセットされているなら SetResource 時に渡したリソースへの + // ポインタが返ってきます。 + void *const resource = pFont->RemoveResource(); + if (resource != NULL) + { + HeapManager::GetHeap()->Free(resource); + } + + // RemoveResource 後は再度 SetResource するまでフォントとして使用できません。 +} + +//--------------------------------------------------------------------------- +//! @brief 表示文字列用バッファを確保します。 +//! +//! @param[in] charMax 表示する文字列の最大文字数。 +//! +//! @return 確保した表示文字列用バッファへのポインタを返します。 +//--------------------------------------------------------------------------- +nn::font::DispStringBuffer* +AllocDispStringBuffer(s32 charMax) +{ + const u32 DrawBufferSize = nn::font::CharWriter::GetDispStringBufferSize(charMax); + void *const bufMem = HeapManager::GetHeap()->Allocate(DrawBufferSize); + NN_NULL_ASSERT(bufMem); + + return nn::font::CharWriter::InitDispStringBuffer(bufMem, charMax); +} + +//--------------------------------------------------------------------------- +//! @brief 文字列表示用にモデルビュー行列と射影行列を設定します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +SetupTextCamera( + nn::font::RectDrawer* pDrawer, + s32 width, + s32 height +) +{ + // 射影行列を正射影に設定 + { + // 左上原点とし、Y軸とZ軸の向きが逆になるように設定します。 + nn::math::MTX44 proj; + f32 znear = 0.0f; + f32 zfar = -1.0f; + f32 t = 0; + f32 b = static_cast(width); + f32 l = 0; + f32 r = static_cast(height); + nn::math::MTX44OrthoPivot(&proj, l, r, b, t, znear, zfar, nn::math::PIVOT_UPSIDE_TO_TOP); + pDrawer->SetProjectionMtx(proj); + } + + // モデルビュー行列を単位行列に設定 + { + nn::math::MTX34 mv; + nn::math::MTX34Identity(&mv); + pDrawer->SetViewMtxForText(mv); + } +} + +//--------------------------------------------------------------------------- +//! @brief ASCII文字列を描画します。 +//! +//! @param[in] pDrawer RectDrawerオブジェクトへのポインタ。 +//! @param[in] pDrawStringBuf DispStringBufferオブジェクトへのポインタ。 +//! @param[in] pFont フォントへのポインタ。 +//! @param[in] width 画面の幅。 +//! @param[in] height 画面の高さ。 +//--------------------------------------------------------------------------- +void +DrawAscii( + nn::font::RectDrawer* pDrawer, + nn::font::DispStringBuffer* pDrawStringBuf, + nn::font::ResFont* pFont, + s32 width, + s32 height +) +{ + s_TextWriter.SetDispStringBuffer(pDrawStringBuf); + s_TextWriter.SetFont(pFont); + + s_TextWriter.SetCursor(0, 0, 1.f); + + s_TextWriter.StartPrint(); + if(s_DrawTextFunc != NULL) + { + s_DrawTextFunc(); + } + + s_TextWriter.EndPrint(); + pDrawer->BuildTextCommand(&s_TextWriter); + + + // 文字の色は、文字列の描画コマンドを再作成しなくても変更できます。 + s_TextWriter.SetTextColor(nn::util::Color8(s_Color, s_Color, s_Color, s_Color)); + + pDrawer->DrawBegin(); + + SetupTextCamera(pDrawer, width, height); + s_TextWriter.UseCommandBuffer(); + + pDrawer->DrawEnd(); +} + +} // namespace + +void SetDrawTextHandler(void (*func)()) +{ + s_DrawTextFunc = func; +} + + +//--------------------------------------------------------------------------- +//! @brief サンプルのメイン関数です。 +//--------------------------------------------------------------------------- +void +InitializeResFont() +{ + const size_t ROMFS_BUFFER_SIZE = 1024 * 64; + static char buffer[ROMFS_BUFFER_SIZE]; + NN_UTIL_PANIC_IF_FAILED( + nn::fs::MountRom(16, 16, buffer, ROMFS_BUFFER_SIZE)); + + // フォントの構築 + { +#ifndef NN_BUILD_RELEASE + bool bSuccess = +#endif // NN_BUILD_RELEASE + InitFont(&s_Font, s_FontFilePath); + NN_ASSERTMSG(bSuccess, "Fail to load ResFont."); + } + + // 描画リソースの構築 + s_DrawerBuf = InitShaders(&s_Drawer); + + // 描画文字列用バッファの確保 + s_pDrawStringBuf0 = AllocDispStringBuffer(512); + + nn::fs::Unmount("rom:"); + +} + +void DrawResFont(s32 display) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + if(display == NN_GX_DISPLAY0) + { + InitDraw(NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY0_WIDTH, NN_GX_DISPLAY0_HEIGHT); + } + else if(display == NN_GX_DISPLAY1) + { + InitDraw(NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + + DrawAscii(&s_Drawer, s_pDrawStringBuf0, &s_Font, NN_GX_DISPLAY1_WIDTH, NN_GX_DISPLAY1_HEIGHT); + } + + nngxUpdateState(NN_GX_STATE_ALL); +} + +void FinalizeResFont() +{ + s_Drawer.Finalize(); + + // 描画リソースの破棄 + HeapManager::GetHeap()->Free(s_DrawerBuf); + + // フォントの破棄 + CleanupFont(&s_Font); + + // 描画文字列用バッファの解放 + HeapManager::GetHeap()->Free(s_pDrawStringBuf0); +} + +nn::font::TextWriter* GetTextWriter() +{ + return &s_TextWriter; +} + +} diff --git a/tags/1stNUP/KENJEraser/ResFont.h b/tags/1stNUP/KENJEraser/ResFont.h new file mode 100644 index 0000000..ca53420 --- /dev/null +++ b/tags/1stNUP/KENJEraser/ResFont.h @@ -0,0 +1,33 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: ResFont.h + + Copyright 2009 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. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#ifndef RESFONT_H_ +#define RESFONT_H_ + +#include + +namespace common +{ + +void InitializeResFont(); +void DrawResFont(s32 display); +void SetDrawTextHandler(void (*func)()); +nn::font::TextWriter* GetTextWriter(); + + +} + + +#endif /* RESFONT_H_ */ diff --git a/tags/1stNUP/KENJEraser/banner/model.cbmd b/tags/1stNUP/KENJEraser/banner/model.cbmd new file mode 100644 index 0000000000000000000000000000000000000000..f1c7b6279e13f5278c419d615d7d03d5660005e5 GIT binary patch literal 198785 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 MDvwobWH +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "demo.h" +#include "ResFont.h" +#include "HeapManager.h" + +#define UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result) \ + if(result.IsFailure()) \ + { \ + if(result != nn::am::ResultNotFound()) \ + { \ + return result; \ + } \ + nn::dbg::PrintResult(result); \ +} \ + +#define RED 1.0f, 0.0f, 0.0f +#define GREEN 0.0f, 1.0f, 0.0f +#define YELLOW 1.0f, 1.0f, 0.0f +#define WHITE 1.0f, 1.0f, 1.0f +#define BLACK 0.0f, 0.0f, 0.0f + +namespace { + const char* const NAND_TWL_ARCHIVE_NAME = "twln:"; + const char* const NAND_TWL_KENJ_DIR_PATHNAME = "twln:/title/00030004/4b454e4a"; + const char* const NAND_TWL_KENJ_SAVE_DATA_PATHNAME = "twln:/title/00030004/4b454e4a/data/Public.sav"; + const nn::ProgramId NAND_TWL_KENJ_PROGRAM_ID = 0x000480044b454e4aULL; + + // 乱数生成クラス + // 線形合同法を用いて乱数を生成する。 + class Random + { + private: + nn::util::Int64 m_x; //!< 乱数値 + nn::util::Int64 m_mul; //!< 乗数 + nn::util::Int64 m_add; //!< 加算する数 + + public: + Random(u64 seed = 0) + { + SetSeed(seed); + } + + void SetSeed(u64 seed) + { + m_x = seed; + m_mul = (1566083941LL << 32) + 1812433253LL; + m_add = 2531011; + } + + u32 Get32(u32 max = 0xFFFFFFFFU) + { + m_x = m_mul * m_x + m_add; + + if (max != 0) + { + return (u32)(((m_x >> 32) * max) >> 32); + } + return 0; + } + }; + + nn::Result DeleteKENJ(void); + + const size_t ERASE_THREAD_STACK_SIZE = 0x1000; + nn::os::Thread s_EraseThread; + nn::os::StackBuffer s_EraseThreadStack; + + demo::RenderSystemDrawing s_RenderSystem; + + bool s_IsAppExist = false; + bool s_IsFinish = false; + bool s_IsSaveDataCleanSuccess = false; + bool s_IsAppDeleteSuccess = false; + nn::Result s_result; + + // グラフィックスに割り当てるメモリ + const size_t s_GxHeapSize = 0x800000; + + + void EraseThreadFunc(void) + { + // ほぼ日健康手帳を消去する + s_result = DeleteKENJ(); + + s_IsFinish = true; + } + + nn::Result FillRandamDataToKENJSaveData(void) + { + nn::Result result; + nn::fs::FileStream file; + s64 file_size; + + // セーブデータオープン + result = file.TryInitialize( NAND_TWL_KENJ_SAVE_DATA_PATHNAME, nn::fs::OPEN_MODE_WRITE ); + if( result.IsFailure() ) + { + return result; + } + + // セーブデータファイルのサイズを読む + result = file.TryGetSize( &file_size ); + if( result.IsFailure() ) + { + file.Finalize(); + return result; + } + + nn::fnd::DateTime tm; + nn::os::Tick tick; + Random rand; + u64 seed; + s32 sizeResult = 0; + + // バッファの確保 + void *buf = std::malloc( file_size ); + NN_TPANIC_IF_NULL_( buf ); + + // 乱数のシードを設定 + nn::fnd::DateTimeParameters param = tm.GetNow().GetParameters(); + seed = tm.DateToDays( param.year, param.month, param.day ); + seed = (u64)(seed * 86400 + param.hour * 3600 + param.minute * 60 + param.second); + seed = (u64)(seed ^ tick.GetSystemCurrent()); + rand.SetSeed( seed ); + + // バッファを乱数で埋める + u8 *p = (u8 *)buf; + for (s32 loopSizeFile = 0; loopSizeFile < file_size; loopSizeFile++) + { + p[loopSizeFile] = (u8)rand.Get32(0xff); + } + + // 書き込み + result = file.TryWrite(&sizeResult, buf, file_size); + + file.Finalize(); + + return result; + } + + + nn::Result DeleteKENJ(void) + { + nn::Result result; + + // TWl領域をマウントする + result = nn::fs::MountSpecialArchive( NAND_TWL_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_TWL_NAND ); + if( result.IsFailure() ) + { + NN_LOG("Twl NAND Mount Failed...\n"); + return result; + } + + // アプリが存在するかどうか確かめる + nn::fs::Directory dir; + if( dir.TryInitialize(NAND_TWL_KENJ_DIR_PATHNAME).IsFailure() ) + { + dir.Finalize(); + } + else + { + // アプリ存在フラグを上げる + s_IsAppExist = true; + + // ここでfinalizeしておかないと、DeleteProgramでフェータルになる。 + dir.Finalize(); + + // ほぼ日健康手帳のセーブデータを乱数で埋める + result = FillRandamDataToKENJSaveData(); + if( result.IsFailure() ) + { + nn::fs::Unmount( "twln:" ); + return result; + } + else + { + s_IsSaveDataCleanSuccess = true; + } + + // ほぼ日健康手帳を消す + result = nn::am::DeleteUserProgram(nn::fs::MEDIA_TYPE_NAND, NAND_TWL_KENJ_PROGRAM_ID); + if( result.IsSuccess() ) + { + s_IsAppDeleteSuccess = true; + } + + UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result); + } + + nn::fs::Unmount( "twln:" ); + + return result; + } + + + void DrawResultText() + { + s_RenderSystem.SetFontSize(8.0f); + s_RenderSystem.SetColor( YELLOW ); + s_RenderSystem.DrawText(10.0f, 20.0f, "SaveData Cleaner"); + + s_RenderSystem.SetColor( WHITE ); + s_RenderSystem.DrawText(10.0f, 60.0f, "Initialcode : KENJ"); + + if( s_result.IsSuccess() ) + { + if( s_IsAppExist ) + { + s_RenderSystem.SetColor( GREEN ); + s_RenderSystem.DrawText(10.0f, 75.0f, "application found"); + + s_RenderSystem.SetColor( WHITE ); + s_RenderSystem.DrawText(10.0f, 120.0f, "Private Save :"); + s_RenderSystem.DrawText(10.0f, 135.0f, "Public Save :"); + s_RenderSystem.DrawText(10.0f, 150.0f, "application :"); + + s_RenderSystem.SetColor( YELLOW ); + s_RenderSystem.DrawText(130.0f, 120.0f, "not existed"); + + s_RenderSystem.SetColor( GREEN ); + s_RenderSystem.DrawText(130.0f, 135.0f, "cleanup succeeded"); + s_RenderSystem.DrawText(130.0f, 150.0f, "cleanup succeeded"); + } + else + { + s_RenderSystem.SetColor( YELLOW ); + s_RenderSystem.DrawText(10.0f, 70.0f, "application not found"); + } + } + else + { + s_RenderSystem.SetColor( WHITE ); + s_RenderSystem.DrawText(10.0f, 120.0f, "Private Save :"); + s_RenderSystem.DrawText(10.0f, 135.0f, "Public Save :"); + s_RenderSystem.DrawText(10.0f, 150.0f, "application :"); + + s_RenderSystem.SetColor( YELLOW ); + s_RenderSystem.DrawText(130.0f, 120.0f, "not existed"); + + // アプリある? + if( s_IsAppExist ) + { + s_RenderSystem.SetColor( GREEN ); + s_RenderSystem.DrawText(10.0f, 75.0f, "application found"); + } + else + { + s_RenderSystem.SetColor( RED ); + s_RenderSystem.DrawText(10.0f, 75.0f, "application not found"); + } + + // セーブデータの乱数埋めでエラー? + if( s_IsSaveDataCleanSuccess ) + { + s_RenderSystem.SetColor( GREEN ); + s_RenderSystem.DrawText(130.0f, 135.0f, "cleanup succeeded"); + } + else + { + s_RenderSystem.SetColor( RED ); + s_RenderSystem.DrawText(130.0f, 135.0f, "cleanup failed"); + } + + // アプリ削除でエラー? + if( s_IsAppDeleteSuccess ) + { + s_RenderSystem.SetColor( GREEN ); + s_RenderSystem.DrawText(130.0f, 150.0f, "cleanup failed"); + } + else + { + s_RenderSystem.SetColor( RED ); + s_RenderSystem.DrawText(130.0f, 150.0f, "cleanup failed"); + } + } + } +} + +extern "C" void nnMain(void) +{ + // os の初期化 + nn::os::Initialize(); + + // fs の初期化 + nn::fs::Initialize(); + + // appletの初期化 + nn::applet::Enable( false ); + + // hid の初期化 + nn::Result result = nn::hid::Initialize(); + NN_UTIL_PANIC_IF_FAILED(result); + + // cfg の初期化 + nn::cfg::CTR::Initialize(); + + // am の初期化 + nn::am::InitializeForSystemMenu(); + + // ヒープの確保 + common::HeapManager::GetHeap()->Initialize(nn::os::GetDeviceMemoryAddress(), nn::os::GetDeviceMemorySize(), nn::os::ALLOCATE_OPTION_LINEAR); + + // RenderSystem の準備 + uptr heapForGx = reinterpret_cast(common::HeapManager::GetHeap()->Allocate(s_GxHeapSize)); + s_RenderSystem.Initialize(heapForGx, s_GxHeapSize); + + // ResFontの初期化 + common::InitializeResFont(); + + s_EraseThread.Start(EraseThreadFunc, s_EraseThreadStack); + + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, BLACK, 0); + s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, BLACK, 0); + + for(;;) + { + if( s_IsFinish ) + { + // 初期化 + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0); + s_RenderSystem.Clear(); + + // 上画面の色変更 + if( s_result.IsSuccess() ) + { + if( !s_IsAppExist ) + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, YELLOW, 0); + } + else + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, GREEN, 0); + } + } + else + { + s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, RED, 0); + } + + // バッファへ + s_RenderSystem.SwapBuffers(); + + // 初期化 + s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1); + s_RenderSystem.Clear(); + + // 変更 + DrawResultText(); + common::DrawResFont(NN_GX_DISPLAY1); + + // バッファへ + s_RenderSystem.SwapBuffers(); + } + + nn::os::Thread::Sleep(nn::fnd::TimeSpan::FromMilliSeconds(10)); + + if ( nn::applet::IsExpectedToCloseApplication() ) + { + nn::applet::PrepareToCloseApplication(); + nn::applet::CloseApplication(); + } + } +} diff --git a/tags/1stNUP/KENJEraser/romfiles/lc.bcfnt b/tags/1stNUP/KENJEraser/romfiles/lc.bcfnt new file mode 100644 index 0000000000000000000000000000000000000000..28d1db0fe06bc5666eab4319d4c58b524f31b7df GIT binary patch literal 16840 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 ON!_m0@0b0$kN7{x%f}r6 literal 0 HcmV?d00001