From 870a91f72ea059477e0af51d5190e4385ef7dd38 Mon Sep 17 00:00:00 2001 From: suloku Date: Wed, 14 Oct 2015 16:56:21 +0200 Subject: [PATCH] Initial commit for 0.1 version --- .gitignore | 5 + Makefile | 179 +++++++++++++++++++++++++ README.md | 34 ++++- icon.png | Bin 0 -> 7742 bytes icon.psd | Bin 0 -> 171569 bytes pdrpse.smdh | Bin 0 -> 14016 bytes pdrpse.xml | 3 + source/filesystem.c | 310 ++++++++++++++++++++++++++++++++++++++++++++ source/filesystem.h | 21 +++ source/main.c | 295 +++++++++++++++++++++++++++++++++++++++++ source/text.c | 77 +++++++++++ source/text.h | 15 +++ 12 files changed, 937 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 icon.png create mode 100644 icon.psd create mode 100644 pdrpse.smdh create mode 100644 pdrpse.xml create mode 100644 source/filesystem.c create mode 100644 source/filesystem.h create mode 100644 source/main.c create mode 100644 source/text.c create mode 100644 source/text.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85d966e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +build/ +*.3dsx +*.exe +*.elf +*~ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fd3d0f6 --- /dev/null +++ b/Makefile @@ -0,0 +1,179 @@ +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- + +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +TOPDIR ?= $(CURDIR) +include $(DEVKITARM)/3ds_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# DATA is a list of directories containing data files +# INCLUDES is a list of directories containing header files +# +# NO_SMDH: if set to anything, no SMDH file is generated. +# APP_TITLE is the name of the app stored in the SMDH file (Optional) +# APP_DESCRIPTION is the description of the app stored in the SMDH file (Optional) +# APP_AUTHOR is the author of the app stored in the SMDH file (Optional) +# ICON is the filename of the icon (.png), relative to the project folder. +# If not set, it attempts to use one of the following (in this order): +# - .png +# - icon.png +# - /default_icon.png +#--------------------------------------------------------------------------------- +TARGET := $(notdir $(CURDIR)) +BUILD := build +SOURCES := source +DATA := data +INCLUDES := include + +APP_TITLE := PDR Pocket Save Editor +APP_DESCRIPTION := A save editor for Pokemon Dream Radar +APP_AUTHOR := suloku +ICON := +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard + +CFLAGS := -g -Wall -O2 -mword-relocations \ + -fomit-frame-pointer -ffast-math \ + $(ARCH) + +CFLAGS += $(INCLUDE) -DARM11 -D_3DS + +CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 + +ASFLAGS := -g $(ARCH) +LDFLAGS = -specs=3dsx.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) + +LIBS := -lctru -lm + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(CTRULIB) + + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) +export TOPDIR := $(CURDIR) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) + +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +ifeq ($(strip $(ICON)),) + icons := $(wildcard *.png) + ifneq (,$(findstring $(TARGET).png,$(icons))) + export APP_ICON := $(TOPDIR)/$(TARGET).png + else + ifneq (,$(findstring icon.png,$(icons))) + export APP_ICON := $(TOPDIR)/icon.png + endif + endif +else + export APP_ICON := $(TOPDIR)/$(ICON) +endif + +ifeq ($(strip $(NO_SMDH)),) + export _3DSXFLAGS += --smdh=$(CURDIR)/$(TARGET).smdh +endif + +.PHONY: $(BUILD) clean all + +#--------------------------------------------------------------------------------- +all: $(BUILD) + +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).3dsx $(OUTPUT).smdh $(TARGET).elf + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +ifeq ($(strip $(NO_SMDH)),) +$(OUTPUT).3dsx : $(OUTPUT).elf $(OUTPUT).smdh +else +$(OUTPUT).3dsx : $(OUTPUT).elf +endif + +$(OUTPUT).elf : $(OFILES) + +#--------------------------------------------------------------------------------- +# you need a rule like this for each extension you use as binary data +#--------------------------------------------------------------------------------- +%.bin.o : %.bin +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + @$(bin2o) + +# WARNING: This is not the right way to do this! TODO: Do it right! +#--------------------------------------------------------------------------------- +%.vsh.o : %.vsh +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + @python $(AEMSTRO)/aemstro_as.py $< ../$(notdir $<).shbin + @bin2s ../$(notdir $<).shbin | $(PREFIX)as -o $@ + @echo "extern const u8" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(notdir $<).shbin | tr . _)`.h + @echo "extern const u8" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(notdir $<).shbin | tr . _)`.h + @echo "extern const u32" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(notdir $<).shbin | tr . _)`.h + @rm ../$(notdir $<).shbin + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------------- diff --git a/README.md b/README.md index 67d1728..c145f05 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,32 @@ -# pdrpse -PokĂ©mon Dream Radar Savegame Editor for 3DS +# Pokémon Dream Radar Pocket Save Editor +by suloku 2015 + +This is a very simple save editor for Pokémon Dream Radar, based on fylesystem.c and filesystem.h from meladroit's svdt, which is in turn based on ironhax installer by smea (aka sploit_installer). + +This editor allows to modify current orbs (the that can be used to buy), total collected orbs (shown in the records screen). +Also allows to modify the "current orb count for reward", which is the value that stores how many orbs were gathered since the last reward was received: + +Retrieval Extension: Obtain a total of 200 Dream Orbs +Eureka Extension A (Tornadus): Obtain a total of 400 Dream Orbs + +Dowsing Extension: Obtain a total of 700 Dream Orbs, catch Tornadus +Eureka Extension B (Thundurus): Obtain a total of 1500 Dream Orbs, catch Tornadus + +Eureka Extension G (Landorus): Obtain a total of 3000 Dream Orbs, catch Thundurus + +After the player catches Tornadus, Thundurs or Landorus, the "current orb count for reward" is reset to 0. This means that currently, to unlock all game content, one has to do the following: +1.- Set "current orb count for reward" to at least 400 +2.- Enter the game, Retrieval and Eureka A extensions are received +3.- Catch Tornadus, "current orb count for reward" is reset to 0. + +4.- Set "current orb count for reward" to at least 1500 +5.- Enter the game, Dowsing and Eureka B extensions are received +6.- Catch Thundurus, "current orb count for reward" is reset to 0. + +7.- Set "current orb count for reward" to at least 3000 +8.- Enter the game, Eureka G extensions is received +9.- After catching Landorus, the credits will roll and all left game content will be unlocked (simulator A, B and G will be received and gen IV extensions, if unlocked, will be available). + +It also allows to unlock the geneartion IV extensions, which can normally only be unlocked by inserting a gen IV DS cartridge in the 3DS console, and to re-catch those legendaries so they can be transfered to another Black2/White2 cartridge. + +See more information about the game at: http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Dream_Radar diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa3b302af42ca0d1fcc994b55dd5434842ec6ef GIT binary patch literal 7742 zcmV-E9>L*>P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000wdNklC%0@#p%SquhjV{GF^c#$_r*1lRZ8qIP)z)jLNX&c(- zKKFc^dFFlR_sqQK{Qu_w?%xriP-ye!*A^|D-`srVU)&1fI1b!ta2$Xj5Qz}$UwF1{ zl*1IbitOF=r!6?Hx#K;55Qt%DpU3TVI2ewJ*CoW^+S~VO+HMu0)Z3w6uxUD?rbogktNOQ)t~R903nG|d)+_I`{SI zGv{xPhY1#CIUq$Q%Lqwbm%0aN=1v8FG>2y6Du|M zOD*lEfKZR1A|TSzp3ci77^{PN&nw|Fb|{T{k{_|Lr~ppRdhN zP2}R`K91!qUcGB%j2b)3!I&(4rYVbuAjC0q{uHf6!IOET>Xxx!x|TL*vS5Fwlflx} z)_#A|jKmger0mkct$=0qMfXG~n(%uxJiA1QB*f!JV_HsbQGR}|Kp^-o0J47l`fo1U z+uMKt`#*R^Q>M;)_CE?fs7<(#fz|K5d3S=i`?s~PkiPIj({YPCX?T>2OE8VX*^gEYgYs z&O<=m-93l)eWufBjp=DH41dD_f0xc`vqebCO()6dmg(si^>Q!5qI<8eq#)JY__yP; z=jKhR4g{cU!=@aq{u4z#A6Qr6x|>$Cg!BJ#$iDW8q2JF zAR#j)8V;+3<77g0tyIy?T_(?wfiF+Pci#e&H{o_uB`GSeuxF@z^u-7?@vEW~d@ z000i8=_kYjDoSxIb#bxr{nuu{b;FwOqvcilmXg$73djiOuwI8}nX;h2Jm`P%%U~Ez zNHBbLVz>A^cHwihA5A?)L{G)=9(t zWuK-hhKlul)F+WRwNqQ;btyw0#ZL>Gvs8Us&ab37^y%uYXF5s=NN&O{{)lvM z`y7H3teSdaz^*yjch}YN@@-e|YaPVb%|GyU&(uAgOZ|Q!in0%sePLAftE7{?6B#Oj zcdF@T|Ae8TdkzTn*453+%F6t!EQ9|x@zy=DZoz_|2m&pABk?UGc>oghj>`J2LJpB^ zTK&%Ivi)Z)RV9YbD2;z|`LTz0|5h#a7ijy;jtYYWRf?du8rGift2}Yd$nu0jHt-*Yg|7yn*Q!~c~+$AkTDk(pVh|*2SF;@tG@7#kzK9R2TU%$9Rs!ALV z;RZu|v2OgL*_fk+d(5>uR6R1*nJga(Q?h6b47l@2pQUJenMR}jK_I8gy?*^45U&Mg zBYRJUOxbzqrrZgCe{)~%wIL&}h%K(r^mg!0UCc_AC3E4?{@Z0>AnKwvH{qfn_Y z_t=JqN5+_;VF+S}yRp22QkJK`X-(FtCbR+zqk=v@v&!G@YA2B*5NUMMaZ7KbLW%$B z_1E?K`0xKhDup~H#TfEhfI_`y#WJ7YEtZRR96Q=-k~ogfo;6FURNMwSR(}#qbT3@9qT$`&x0(As{-R^SvYMs8T9s<| z%GB!LJk}Va0Efg(Sp`q6TL(c90AS~?U3qzVdAYgKXw+h{e0l7|V~?#B@CBi8Xu~TT zYOAUrdT7nXOP4^||Mt$KzB_uKU%#{f7=5Iy5{wyycy@SeA{&C;*^U zEAP)t&rm8Ax3jGE+*eEHP21IQ_ObU4q7^yDMKz6H-vo)&mM<9`3G)PEhU2IxHLbin zDJgm5#*Ip)vb?l(!TkB#wry)`Ybz`)OgE-ZDJt5&{nIU5-efs;!GigyP-rk1cs!(d z>Qt#h8Kq(+Wz(e!O&}PiVlfy(#9|D?gd&k>*-w`)TDUMHGaUfHi$*E?n0?Sb5OY8{>6bQpfii?U49N6F7+{|&n=l6>xl6mtN zBqk-DJb6;4R60Dqikg`{AAXo=$_|8yPq%%h)#)%yIA*n7ZE3BYSt}NcEf$N}+{;Hr z5Dc>{6CtQ+C8c-Io>MZl1j8@@0I%sn(|^7Ad}_H-W1P0=LFU@P^^2F=5=5x9XQC!A zC7*K@t)0gLItqx!E;oWHu6K6MnOkRdIuTU(#j)eg35Qm%-~QRQ?b~-8J#ysm!2=$T z`|T}Tq!P)r(kZQNZM8Ku5EIMG&ce0T7cN|oOE7O>Qk_x&ATBr=%~J>$*3Bv{n<|$} zZ&&J<{`ktN?sMy3cn((>XaxD_)ol$sj@sf2JKRuFu9T$l;_Tl3AIW!KEK3RQ#n07GXwfI?OE;*n>I8KTq8(k_L7Iv<5SMn z*XK+rtF9_NdbVxfYcBxjs8|T}N?wGM#W?6FXcU2u2tP2Bph`s&qlXQ3v-en3h*wRf!RveR`6obX4g?yk0vPxSYgX_}srnKX(aS;@(Kp=iPrm{DD$(CS?w z+D9;6inE1d-s^p3ad>fA*>`Dfi)%uHzN)gaqOxMitQuj^X>LAWUw@p`r`sJ4d(U;P zLiWbyOEtV{OQ@3wXo{5&7Z88wX8I^n5O8Yq{J8B*bokde=>iO zFW}p>`HhmIA}y}=x*b_*hWbOh=U11fX~Y?7egQ7v2HRl2b>^JA6-veTh${rc219~E zA;)C$<;$19`}(Vu>B+k`yclQgFUdCLQq)=Y!3y|V-63v4zUt~VSw{KcLF2Vqpy+Sy|ZG86*<0KI+Y z&aRH>l~r0T{`bW7TQ%YHfBDEmi^s;5YIR$CJ4q4*Nxt>=J7S6W>8GDgHKwa^-JydA zbMtZqLgB#3*q+^c);#j){)2}Lii`A#Nf*waOH51>@OUz*}gZJKj>E)Mh z_7CLbWUEywz;QEcYlz6?x+fm*>ArFA^5vnRzpS)WsgNTul$(?N`fD5STe;%>_djCt z77PNl+2)cDHmFsR{((D z9~c}O3Wvh67)?e=F@`}9!~rNu5-<#-sF35>Th0yw5CGgQT&YZIGG(dMDvo2r;jn;@ zibSHWZgW%P>8k3g{DS;DY^84nNs@kl0000%-#&Ru?Z0;+1RxHu!C+`|G7_gzOC%B) zK|+DRiR1MdnVGe<)er>zOF(xVp-S!7!PVm0VC=5_Z|g z>@Ft{hBa|&saz>n;ShxU{l$K_og~73zu)5z*uzW`b*5i598^Luh{qD;-t zF-uV8jtIguN^uA-Cdv}&)1%TF-416+eZjdRUFrT+!9BgKV?%2z7HX6U35b0pe4F@`$R-G?nNkuu|||Jmd|iJniH5>TIQCRXU&<9AP5g| z8~`v3(KzP&^5&ekuRe5->6A|5nDAptkuOO;Fhjb_P9$A&&Lw^FEcvwnBejgDr`_1Y zDzyPhMYHIDEBTqz&j+G1H-Yo`BUSot85%u5Qr_Xp{?Ez}WbkAm-aA+S-`&KraZ6-4 z#KR?aYY;EdT!<6-B>W)Du?=G@qb=@~{ z%hqBoW-m8%ax8LR{-H+%lRSvw7(}87{i5KDB}eYn%VN)#{w`T!V>rH1WkoR(P!K>l zM}xG@vBGY(W@Z<_06-8+X(h4Ot~~L|*(aCe*Y98Q=*!iwFUUImN!J<|iIZV5Lm4u|HXoE5=jm($cVJS{ukJSXGquq~m*QCXz%rlw}_ zcsz(>00&1xlEr&JUw-7zgT7>g)LNT-i3d2qLNtrG2sOb82^ve1TK6qmTa?tBAau-1 zZqiDffCVIlUU!wSys32w9@noqyHf7PqC8&yJ|FCgO~ z)ZDx?c${l8CafQ<1rPutu3@keft0xhSfYr7Ar=OJqD2UgRtkM$e$ebmmkWan3r-3} z5dcA`fI?vQ`e^pDyrV}~K7fmzed9)@!uw#wu4s%m>`UN_NGTf5k@Vj)GrOd`@^;#z zsL+79S{&1#IKHVue=$RT^W;$Vr#F6)kN0FKZlb(sw=4V9NX_EmFSQcK8SCOyk*&DU z1OPz!2mlbpps0d8ecw`w7IFv-82Di4JU1armycFvHZv^q+LdP+fTqd@_n24qx^wT# z-WlU~2h2aqQ1``Q9zUt(aW*{u+iC~VG<~-5>x*5^ZkNg(m6HJGL!1HghbZ18E#d$q z;!!A{3(+uu7zv-ZAbD)f11lkf|Mgc5?=((}Pc zn(W2|nX3_SHa`?*umq7;AqWqLaTwwfF_)i`#28+NVq$)|zGmjEZ(P7F>EQfsyT{|S zj5-|dpac_Srs|^D0M<-RSqVVt3CcuT9Qs7la5*^5E#MZlq5+C1c*|lQEL;w z>q-7fTsgqf0D{4772|H(FTk;}D9f@uJ__J(`vQk;?54RdM9>VwMkyv5qhm3~pq0#+ zF@q!~L&1Pbt&z&r0D=I=fPbWn{}=Y-4gv=M&*Fau0E|5UpRaHLQvd(}07*qoM6N<$ Eg6;R%H~;_u literal 0 HcmV?d00001 diff --git a/icon.psd b/icon.psd new file mode 100644 index 0000000000000000000000000000000000000000..0afb8be6ab97590f94f2f69ef1909c01df5b17f9 GIT binary patch literal 171569 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

EPm>q;~Uh z9?c>{odROa|FAvWKkdO0%=ZeMBdT+Hl1PPxMcGlY|HDH2ehMYo@0GoItE!k+4DwWk zkf-{Oh3H_@zs(4+Wt5Q0$O%cFoY=}_Q{Ude-MZQ2!h&%4qyI23*!_E@IEWcRgo;AW zk59V5&zDCsJ0B3$cW|Fa5jj5sj+((?J9yw?umAURo*Lw*68^zY{guJvV-pBb=T0k2 z>{pK`7ZO6nIpP~^{8E$Mi*N8?qDpfj;^RW8VS?eIVWBDiT`>^r7>CC*@F_Qs^C1j; zYC{ilU(tTXGHmReydrxQuaRS9cLw#kxTcO&M|-tiWY>lG)TM)b0w{P03CTv2ixT5; zgoOV~xmt^Jg7lR25h+2oeY^MWN6DXp^b}nW(o>!WGW*!XEfex`Z`$sXxpZi!^Ux*d z*wNXRX#49O*aK)04DUX*W5l~z~TpTy(ssBScrp37?5U$#(aqQ!g(|5aY z<(#dq$R2K;YlV=X3OXjbms8v!t)ZpxZdUy8IW~T-6GJgB;e$hY{(j}1?y`q;4;?v{ zT-(rixAAVP8=FI3pvJy^ykfehKH+gVI?DMkT!$@0LJ3#RMR#)>UMXp8t}QPsZ)mQI z)7p#j%Z@bWWs`GDZ)zb&`gmKNb`2Z4#--Vl=Hg2#x#U|gKu|HcdAFstr7y?joWHN1 zS5E%^6Q(@-%`Ta%@v-j_Ryg5&K9Yv}4Z5z_fAUs4A>HJP-685))>2Nmh-DgUyIliwvj2hRY{bDhM(7&-fM0Uqv2Gc$fxt)ZTNUf!Ng-aa8Q z(f%>z!b*a|iM2PH8!MB2kBG6eb4VYy-r%QVe{qnW#9-~+e7-eJDLxKv7p^8=PfLyq z@o^0APUI6oNs}@?yqp4}3u*|SUfvlQUS4&}RVtQ#?w($ruA#SH<*R#Kgry?R&$n){ zJ~X&NQ50oSt#QWh627pu^-h7uQCZ$yT$m%40TJ;DfB9tZcw&&~PNT}UcqgZzw93}L zp`pS4j{1UYZk|1n2l#ZG4xRQZ=o*|HPWEz5oM=q-aj9(gclV3H5#vI=9f|IG9w|fp z1GoGGho-use3}e-cwI<}Hs=C;T%EnHq~CA5Qxa{i!o8P6MuW~zF{**xgv(g=%L6%X zj#qE=j7^M<(nc&s$42`qi5?gGjJUPxO)dOV@`lF-(p-XiCq^36FSs~*CD#v*jrP{% zg?reVxl?9FC+aU<8z1e*yVf}$;IzJ>YZFp`D<>)HytAjvWg@w*@kYW4)NW&lQ9;S? zu{+~~v78|_F3#u5h9}2Hehiz9jnu?B6sGbh);Zb)xLzC_8@ldRJ3Txy)*j>HTQPON zv#eo!vbQ|M%iFzTa%j9GBynnVFvF=Lm;)71Z|v-k?;q=HzwT{i=i}|_=7%e5)!+^y z6*1J}w&7j&DKr`>cwFe2Tp6~Qm>i!R8yzHjhty()t2``i90U8thttxhhKEOH$~;|* z?@#7AIl9ISKD_PY<>u2mK0MkNT{Jl|Om@z`9acPe^UO(0zplx#F_N#l3!x&L5bkif zQA|FC^n-32L{8$A4rIqko^iuXjI0e?j#c8WrFM^x)d%`Cn7BXaNR~f)v3ufP_2B66 z@N}h@W9Z0qnNvlnWzzjSzHa)~!2_eiBlj}u$45phy&|5MNBOw8TAG9oj}DJjU2u1; zni=ZPvn|E%JyXEY`$pK2bdF1--CWDjvub8)j5aJc+8=D|Y;*bEMEhm8`(qV3nGr@- zzAY0&Fo@ylS~o}Mw5jnh;)hGI5AXW8I;uNFkJE;Q2O9@QhQ}HMJ$-F2#l>9>bh*$w zF+A2B;^f~mHa2q2snwM8Qt>i9zu>hAi3YpEZ)u%z3GFFp7#|)U9mF};##`Tf(0a~0 z>!PEVzn`CrYs1v=2-K_h2)XH$H!~a_5)ypB)5pQz&BZZ!iaIPb3cnre2(k0Kd4pKd zaWmR6er#m4C&4akWMty5N7x;#bP_}FD;!^p5E5>%50g3 zt8GMi*^QclNJrcl3~!>r)4F8D;ri5AzU8@*4sVxSQjn`d_I-GZ>%#(5WllkTw|vPX z6WtYI_O%nE16lTIlOvOb*5o8Mh^f)7`+{>%vfE?RZffT4;_B57jT^t~8;N&ly&q@q zMwuwQT01^ab=B?`G;S#8qNlU3*pmJUM`KbgPU@O~>o-*Cadm2Rv@)o9V!Xv8q)AvdmCTU)jCW1+=hSS=tvz$x;at!7@W^Psefq<` z^VV0V`hy)JI=e2FbcDM1jE_!Dj19EjjI%r6IWs;wIzBcr)1T_(RyjRU<8ouBKeL}` zb7!XFf{l%(32~;@{n~KTctiTV(MggyDQVy70@8OFl|OK6co#yVE}MN~bE>L^Lmsql ztfA^r_a!^WvIlJuc8(ryb`3+(PAwBz+4rU=#)iwntb8c_qvN9kjp+dnwh@z~<0W>N zrz_62MmV-kb>&`iaKH^r-?GiTn>*RlIXXHVY14d$JDBnfs;x#d!&dPc-Z?Q$n443( zMNiM+;t_6}a{ll=ugR_14uCkG;&y9UB6&Xb^IUrB_$rB7(=)r+o{R;D(o zQzPR!4vsa+E;UhhO%o$sHKp~?bev_~t+a`e(c$rCmn#k8GD&|6#>LX&t?+aJ%j$qA zZ*I7(rNd2VEx zjyE1pPZ8}Lg998&u3Hw~AA*rRK0MuE6Fiwgn4}H=Hc@!CAc@VSko1?4P%{q18bY4t zT8J;(**X;+yHJ?-M{oGp8Jc)BPr_0T6Jlhl;B4|t-!VGa0n@X zu71odJm+?8sI{YmlWp!TH_vW3p~f*f)8S{=FcTjK%h%}eRqG~8j*G=bP!qCP%&;DY z%?mgd5kqIO6a>mWq|Q25O%IRV4RJVm!Y=m#jAmGzr@Orz?@sq!wfEFkKWS@!u5jqV zSmN2ns_;7DBbH|^99&&YPPsT*CATM71=NjAPV`f}Y;VpC21i59i59o>_2Sa0P3>MCr?kg7VZBzY`Hjlf54=EX2+Xj&O zlPnsnHLAkh&Ky5-Q2UI5mfdOd=$Silc6NdB*Szh_L#D>ty{E?I9RVd2s|F)~=-YNL7F#^=Vs_*ggD%gWlR?NNW2W0O~2Lzudvk(JH) zOV+h+Le6O=Wwp1jhqd9b2O$@Ir==>})8e?1nU)ED_I|xX#N_bE$Tiaz>-|BH14DkQ z`oQ>&gGiRou>&TBkF;ICWgn`94|Iu zWs}K;g=Kui<^XUGKvxP2Z~%E~Gq)IVimV>j^BjoZrF z(%!`~WMX)-=u}?HJ`)IK6|QY)#wJ`eloXcL)x}CB6;rO`^x4xRd5>FVO^@75J)Qlb z)aSU4flFTPLk~S$k5D3|+y(;pq5^_v3hP2t9XrpUu%cKoG5Ej;>E)Fd5H6n8Q&Y6A zYYf*tc1YvU3A2#<6C)Akcg=Z%ib!jPD^PPS`f%Ju^#f=v<8#H=l=$g17U3f2i8^U{ zbHBldli606>+CbiYi<{MNX0c(-6Ro1ETjd+;4F?PhF{n?r>@ckgQ1EdVpLHf5dqPI zXD<+ntID&h&!5V#zH^J@Bz`KOVWQLNT)l+AK@-?BhJKGOn&68M=Ht`8*!UXMsH2V; znmPv&bT}!V0w-*;ORl<{wQWAc1;~1(hOm`B;7huw6M0KAT$!bhYvWT z1Sur}em;z{vEyMOAu$DQBT|{b346!jNVAMgC2>AB^CHrQ>?&R=$%RYx>JP~38q14e zutFG}Q{47dXcapX7E)fNQm zV5KALY8er8cHY$#+0w7rq;oOV!|@;BY431R&^~&w3Ir$NJC2%D=ewC@v$(!DL)YdPWL!217r|LGX~zJ@6fL_&YkEPrXM4Lop{+^-X-tWknd7 zMNC-19!}e;(Ah6#%Oe&B^bE&s=A@Mw5h%_e5Yx4TEtQxUZSdD zbXv_uNk&>x?a&!BF(C;pB{~(RtOgM-RcSruIC9Y%K|U#1RKsfqOvO%3oRXDRI%;1q z2cF~Yy_y~pj?+^Z7FN^=nUj|xTNM}-6d-16DNYLlfeP^5Q8_15u?z47ei!6~pf4O$ zgXh5(%m&AGAdD3h>_~^PJc9#+E^9LB>j??33or=^(D+#dxH&wS3yL6$1qdQXC2ZQj zn6vS4Edv9w(viq(WjT;UsKpja9< zqFKM7SPqDuvM@a-!u-f^E*zHm%y2viiKixT5(2SDQ>ZWewB*mET|F+15f+j@UHD-Q z(&C$*L>&IxdjJ zdh-d?BAblYzdZi%tNUX5GNGueWy7)gxEEC7IZ&?#dID|Rl z_rjdMQ4d5%PiPHFZ^jA=g^`P3a}J8f!r2?yV-(P1DJdeN88x?DTF_Tt+Hv>Rb820{ zQ4M)Ue#2r;NJ6Y50Ag4L5W`}HY{^dyYu)e{49hA+;P-C}vi5VY$`C!ZD^r~ocZR(Y zrQtr8nu%#O#6%wY8;0-2iU}R?rVj_w3Lyywn>@kd=AEF?SX4y%SZFWpJ;dU0u4nxE zK&!nJoWiGx0gSoSaXN;j3O6Q$l+;fQt1uroKgPCVXgjHdiyB{;cOY{ zrgt?TT}1W?wNLg4A&$?VRWbdh`t%b{VmgWS z>CHnn%O_*K*)=`wtrzX(>iV6w zw*I;_(8tLl^2K}HG3`?xgz|>Y$yZ-jzr6e7@x++5+F)NZoId5eJM;VbeO=Gr1|UpT zbBmP_#%lSroJohV3L%WO@(YZ$JqWD52G8~~V62^f7PPb5%+8pcGB&taKq`b|?6kto zNmr$Gau*?3VfrN9LPbgndp4&o{)o&$kDK>OBLYHFN?NDqR=_v4;6EQsm6zUV`Qyz8 zRoVHuk2(nF+11ZK3^sVIhL)C&+JDVsaWZ(U+lbT^CpT9YCr5ibbDt~}~HJmR%R!mbp15lG_nk*1k(_GVF($u19>{hpa{x1KZD*Z|| zHQ1J*sWHQ*1XXRjML|yH_0;6VxUg*4HlrH?a5{uoRY^rbLvu;Xlzvzzt$zLtC%b8b z38wNG=#cbb)C8l*{tRDb>THC zbq##~v^4+z^^4!1J{%qF@9FAjz1!4qr>5-I%^Srfl(t99`BvKB@RD=wm9YIxGn*vL@-*lBe!)gy*ygCk>;vIr{Ngg zV;T-c3^52PB$IRe4oe?(ycA0$#uYCEaK}Otwl_tr=ztbYlv7L`Wu*bvZm<=UCss`aO0!o+XdMT8Py^ zJZn%D3Au!!<5}zj6)5M~7kvV8!+pK5O7dP)@*nD@_HF9F=gHu+XlpCqzkc{M9h*b` z3bkl){IR$~=pBmkWAT|8VZPQD$HZ*!gD+32+~q}u56RH^tWvZEMvuW~onbkD(hPnw zzeJDbUuq*L<$ozsT(5)9hH(6L!FfD zpz~Q*ufb~V8;_uqkqji_>3kN`B_&v%mmr_@JDtyBiWGo+7EG@c#3xk=X1J2b$Rv0j zgY0JOSO0Z2pKZJ--v09qppi~h(_2xzgiMU#p?GmO*t-_&vvj>^kO zX?Y|SxS$Vf|3zp$We{4PbV5rK5?Yol)>`mBeiB;UkkIM_v{T{ht9ZmlG4|!tTu5lC z-|Om?K_bB_ozU7e9hFy9xB;N~{*xj(Gd96O);2tyRFY|K>>`^15iRTnqNRs;(Gjg! z2BP(wl>6U^*2+}`IraKQ`PQK6vGd3=Y;o_f-#!kG%a3N7_iUlOc=qDmhp%umr#BGM zD*P$x^@}KkwBSas7f8#7d28Co`P&fEQW+f_RE8MU zK))^$I(0vU39WH|=D|o;Pw&G&K4c>zce=a!hbJC9dHoXR8rn}yzF##rFs)+f#mU#h z%cjHR>6q4?O}t#>uS;PFSJQ+0#>lpco*{@fNjOi9HLxR&zdyabi8<;0JPtv;KfRb^ z&_64%F>tKrc6rsE#@5bznRqx6yb-JF|0K2nY8Apk69{TOGoyoAm$T=eKZ$dPpq5Hs zS9>llv!!SJBqBXAHLC|fEz0Zng_}6~=HHBzmfxRWO-GRG^&i8I_tw|mhI;cO0XOoC zNX4bMsxsn8i;R3D@~`xYaudRe-`>ZDPmf$jwpaEH`p`kGoQLC2UM;?#eel*2@t%J> zz8`{Gvmcf{kxSH1a8{uijVCpkYWD?2-`w%_$`SanF5Q3a|{pxXbWyReWZ@)Vtl$Gxt@+yiEYimC=A*Z!I-rCX0 z;IvLaPU|Sb0&{aaq8*)|o1IBZXHB}63rqTjpyscFKQXQBYmpJShuj%i6$Pzv&LvNF@I z!RF)w!#<^d$o;};;UWv(EE!w?;0+gZu4*iu)AE3v7WOBn<#^%;5bfcUg;kdu!luID zw06MeMFk?4cVGg5KGqA>6gc0V80P%CMg=ahfI(e2KD0jkL9-wovh{5^MItIA7DD8vL((Hui# z$A$(ei$Q9w#6wVPrA2JIe0%W|#I&|;U|QXuAf^Q=E&4lJ1QNLxfsTv_xv}(-0ck;y zD`Rna-H1GB-aK~4)gby9l5SG+hOI&Sdw{L&&k-o1SJevy8% zxU{tR_T}pZ#tGy7;^K$JCF&yoho$*f?;xthIN;OL-2CUyALib^d_3JxNQI^Up9C@z zKI0Euiye4Qudbia;jG6S2Yi`*{OAeoG4f~){!t%q+xUF;@t+@;Ru-u9I~Et_-o1M9 zJRc9eSkXqL{JiUogfDm=96k!tTFJ=})B1(hqC;AAT5DSp{DRJIL0XHJ%t5~>DKYWx z>(7gG^9(QwvQZGJVp;f5A4@HI$B6P@LI*g=ZROE&SaNf6a=+z(Txt%IOM`za@O(XI zYi?%T^}fYV5Xhn}AoJ9Pt@8_?hokc7xX8Z@ivV{!0*pn>R5)lvA2?cp@8O~j(iTW~ zO~cm10(B8AY+GFT{5uXJrvEw|I^+f0-|I!Ig)Fca22TN8Ysm~x*WlTD;SP94O2tQ& zz5M=RabbON)5oP8BKhTiHSYfw(0+O!FD)gVNNAb+_K}_;K773eM|%Drf?{U`m7H0W z5u4Wc;roZBrRDZ07z3~V^Sk2w8B~65MpAUvZm9(4$EdhH*NaO?_(Zsy3?4^J z4!u%TvQA+x$%tRU@x^BrQ z0$);0r7)Lf{(n?TB)CZL=I1<~TLP6xDGC4MHgWy5iI`%wm(P!&alp5vm_jMei^czs zOYQq9mFl!t`bO`QVqPq+lty7rkNY2!LT_XVxV|tkgOMjveK20)hU(W&MZQkbuJz z2}uN)^Z$|G(F8m(CGO%G6)6r)LMb^pQi45Zg3@oUdG~4Q0nxbI1=k1!S|sz;$g8wS z-t_;rAQcCa?1*vU7rZ>Y;j$@wVgjRl;c&#H#Q1T#grzP79c7HH4 zV%PQTJloMk+_lSx`Qdbj5L|668&_JKN+2c?8D;hVSkMmR@X5GfTOBFEefxGndQIW< z1!4}pND~vUc^k>@W5b%o=jT>f@07WGc!&Mtrmn=T2$y~BgI+OiI7Y;~Peq5SE1)I9 zed%Ti(ZeMuhM1fPeZ#*j+TL^@g2xk+V;nU&_Hw{(yWb@ri$mz$2XtfM-f2l!46u9m zi`pc&KbU@cxA&0w)Ha0#wG3?6jTy$BBotKP8 z%t>v$_dJ|aeQ3PC<&1Gj-|TF>(y5BkiHWhld-vLA^7fxR%gbeY{){r;el`)M zldgf$#6)QBKRGZrXk{Y7Lwp;?seJ0u#J!%5mgd&Z-oYoM0lZvZDtqN(`X1dM>}tu+ zY$|CeFX?%jkYDXXZmQ{Qxi>fKWj0t<+uqyP)6&osWNDi_T7y;=#1K12X8Wp$9)~ax zUXwXu3r9N=2{b&@Up`ZtfKLuRvYW@Fadxt=r3B|?bWr`U>7~Nff#-N$5tLMM{f)a7 zDV{33joKR8b+M&g559Ey0`#;q_&alsBUi>f?>@q`HdMd@14-&;d5;9E4dYv zQQ6!#IQDv^`$ps$1ulrKX}ac=Zqy08l0(JW17|0iYJw#3$m}#hSXr2^r68<`ZtFw416&rJ5#<@o zyG1l?66=d8{WG)E{kLL`(7R5N8J2y=?SK#}=asIKrd%lmVgAm_z6m+ict7QUe0yHe z-Cpum7DS~<0im&qA?Dqc@(3cJEwdSpg$H#uG;1QPn-H%cs3lST zvPY(|_!cFlytRMuNxvHRm6GBW3XSp|zb(;ypL|=GPeTbOvckHKoMA7pP>nYW z3aZJwnGi(>WD^YZaBcf>1TihGtPkIcsNHU?twkfOtcWqRj)|k_erfQ{nTZTyc_k0j z<|a3`Ic*m??0vhtLsT)nR^A;8;r%~IJ{2N@$dcX0m4xta2<&A@?XPX?vIv z-}W~TX6`@iNiC@sLN>F|1?4Ln+T7t@zB4~YeG$>J-qLdou?Urw>9;L3R(>R;y}kCb ziLng1elxcCf6o3L;YV>3fg1 z=`yo!M_jvQk||)|?o)(e&mZEW-R->R_v|LPiONF84XfHSOGf^}(UB_~<$kOjuSXkz1AsM|#gy zW+bF9L4fnBG2&Fi!32vwD>K4s(4NNwOC}35EOq-lnyTQg2z!e3kS&Hgjk{!!O@VDq z?L*$kwwx&Bz$RA3z3{(dR!kH2nUagY!;G>*TupRIN;$UAKC!O;LT(!@K&+d#@gv-+ zt@RpkU-6E*(%W~Xk&}&Rn@BVskQYg-13>fHi?-(mEF0K zAMPFOU6}8*4dJbE{!NQzGwUW+#IbqC_&{jsH>kE6$DDx2uO&LCTovZpfAC&JWW)8X zOfVe~#r)=)Vm^d_eD$Nei5XMTeDX8*!jbOg`<#h9Hta!^^_939OjXYy%TKU^qBOp1*N zU^nUW4Qq;nxu0n}u|6jEHj198G-NllyUh(jEE}V**S2IE?xi6Ln+@;ele=EJ;TmJi zG)28@Z`IT^p4ggGx*uVIzd;UU)QKZT7wD;kI5bb2aRuEhhN7Stfswn3Axpz?!PW{f zHCchbBF&|!PM&V8%U!qx$^@3_W1Cr#y_q#=SU{Sy11}}lv}78?*;DoEC$}zlTE$Q* z8XGDrGm~q|n%oh!mTVaoxVgANVcj9PlJqkDuD2!kwqoVdODS+i?SB#lc&B7ac8bex z?-sj=)=SLLQ)o40U%6Ex1mg;3Rj%lE$^q!Jo8FHVUJ6L5X~{C$sZu+8R=uV8dTc~Q zG_fH5;*FHrD+r=pUV{&gEUa&dMwm9mh0||e^7dpRyD5y{zf`?8VwjMa6cRx$$&Qtj zXby2GEr$`yw4Z$Qd{lj*_71rJyg^QVSs9#rwP+o1&FiBC_!BEz6EBv{IEgr?l-9Pj zR27VsIfVq>&XMP1J#f9Lq_`-y+8^#Jl6RG^YSVDvoGY|s8SX-~VJky5F*zZ?fX9?l zQjlb|FTCp1RhWdVo0zXPliZ@J8}p)Z#nqLmX%*)#B^6f>$nl%x^%Vtp;j8P*r=10b zP!h^;3$c)p-lQPcg1Xwm%K0~ZPlu>nTImnU`roRA#N?~a zDtrQLI{Brf>k(-6E-#1M#hgr=5$iioDqX#aMK{Rl=~H-8(nypeiDMV=8g4X-UZn+-+&Y zRynwb^$95<6jmN1lX|1{f3f!+08J%Z*h8^5>;-{P5)uL=K%R59|NTEkAb0Mab7sz*Idf*_ zn{&5CJNAoDc8)qb0iM=AaJ%UA=CIJkF~^U;*t2qbLVD(@Bhwfn^=?Wu=RLpenHzt9 zoC;eAxCRJ5Wt({V*xqd`=g$k;as9-h#Y+|~S{a|U0=n$9laE}6E=o^Nt)f^qM(V9! zU^axNNjFSgFyOdR7hz*^}aqWv=m0 zy1N+wYkj7qri+>wH$-d2dk$tz0NlcHwx%jgO+|h9czM^069Y1j9L?ChfTgaX!O~C%G#nsz00sjrnRIp7r|ZasC|^o66%nhSI%BZQrQjKU z8xNc~aN8d+Ysw>%zOs$Qo6PKK%%vDV(cqYx>S$>&nQE-8)nhm8+?sam*R?tf7C=I% zcn(yJ2nPZ^1dxV?CPB=JG&&JMLv4XARtNMK1)2+>Q)hI>%v-AD z2qC;ulf{Crk5PHvvTRfB+2Sf!J)3PhlQSS2DAtSSQ#Hi)M-KxL?r+xin3`!el^ z(r8LUMyKqDEV0)-yM5<{5a00C(&p_vo#1By z5H@I17E6PnXF*_U04*`)(byKIBD1a*=9bo0EIP-;+)QNN5AKzKI!KZHV*EgzY*^&%ZvA*X&LOrC3rK}z|hil zS2d2&;~CoMTH0vSL6l^dR^QDMLX8+fR5GJ!){`9!O^igwR;GrdTvf)p7?EUSBV*Ii zQ?w^IkSnu^F7#>ekg<{37#HIihB_QLYCnFWx(eIE&=mH^jZ6&SdF_$X>-VNM#>&Sp zVQT81#HY-Uo}dHbMpJD}4$c^6X&QB8l7&dUFLWFx?JIz79&^T23czMS0BpLmC$b~} zHV-M)`IaVP0Gp%3FkOJH0f5b5u>`>8FhW%g^i>1^HdzJ5!Tsh+C#R(fVw7Sx+0(VQ z;w%o!;h+^0x)6^$;tt+6;cx>E8_6ZR)3OZuq$UJge=&m1&Q^?I(^{e^MzER9WQq}N zylD;s+{F!zG$aT%mWF_d)usDQOO{SgO+g!k8wbWNVrxvRziXhSqdVMKM+-tMag1la ztbPFjV9!i25vg|v0Gal1t3Tk^3ckg!d7^0}B=|K;KUE0#AcFJx+Nx(D#^h(Ej#B}N zCL{nhfR-`_jNA!pMtHqwWB=Gmsydn21Gul=2RrHW2gh**Is<7I);>8Xwdms6q;0>HN-Gx zAGlfC>mwn)&IT*>VIS{kahMF<3C|DPnOF`VyW~+>L(S=J5h2rzN#GU0ud!g~>L~0s zlSpD3GhkzxL=t;TLMo6*V!8sPGsu+Pj9+sc5BRl&`(+!D^!9hjyKmh0Ms^S+1>{c* zFB33q%b}}L1&G?PF+!I$6R(4atPGyxM4lYU~uQgoZ}B38>8_&rUn4WK!Z9l zRR;T|!3v=$HDG;Y)cOre+3HL15-yXjWjt)1;NAzEI&q}MnEg0oqBfv$!I&`^TB88N zCNgfquyuMtLWw1kP+}B@t@2A*(TC#WGK$REj~;A5uD5UQLE7{KFSCZ-d*hE1%Jz?W z|M7M&xv6YTkroEKNHA=!iC}C+sf)o2i;Y>Tp&N%+@aWpMv*PaK#vOw&&o4k=QIv5VpqpvQJgJ(7^M#S8w0Tz4LMb>Z|tK<7;YY*6UYC zrMnovtk_`o>5GTPr}_y?8tXHVrmLQzfq|Z$t`3KzJYoloZlcuiwJSnBoXpr}oAG)h zqhS+H;&*pT{KiJEo9{NoFT~B3#{=xEnT3UsJL`fNz~)-<@mb%gFYjI7b>iBk?CrZp zBisA8ZhBac961K!zeId~cP-Fo|EH2{85GpeFl&UMZgMofO+tyyL$(vG?QCsqEG^9~ zb*(n+O-)T9t)R7P#6Tq_2G?S-@Ni&EtY^dyujOT@rn)YO$vA)Ix8plk_)HjP!sBY` zP1VeO_M8CNmgL^t-f?|y?oJu&M-QHkB>=Y11s4IprpEpNhy4M-Rw@Cox#6015KW8% zupy6`<0niQ?;>)>qoh}+r3rxf@Yvad^&F>%ZO?A3t;z`<=QMJp*P}O!%(*(|Qv<@c z9liVE%ZK~fnVVLPvbvpf9z5c~=kneL_qqJ$a}biwDlR<&0Jd`#b=$=NwmLx*fK8S} z6YB=i#0u~$3cx1UV_|^Ex3iD8m*<=ru)g02ygSB4aP+*MLCCQ2C#Tu)w6rwF#{atB zM$6D6J}$(OXJkKX#lGA!L8aNE_fH=k-nak!yTUI|=c)oR|>8iD_m5(ow2KII$EGSxhT_bwtGKl`F!-!@_o?HvsPr(eaZwldb`F?Mdy+ zU>g!^lruHsj2ma%z8CkBW>}a)z!Gg;izzD^SL(~FAf_5%*TM;Q?d71ZVFbH&y(yd+ zVAqaIp-y7#T6`0Bt&0S^=8`7b+Gz{Gt~M^;1b(9^)ix$>A!o!|Tyr?|B7PJ$N)wJq z7$%hM^Gp1KpGJ)^Ffp^Rva~cYaMn0+@xq0R*}q-79!zj+wkt*Z}+Zxho|QvtR{qKP@<%bg*bnDo91D~Kl6Yu~vO$BtxXWbRp$M6K4~ z=)RkLSra|SYH7Rf{e*?D&u)uY_bY_G?q8HSQ;(^^*3{?%v8;p``<$IV0aS}z^*?Zn63wIC&WyJP^ap2mYKD+ zz4L_0GdyN{&kYD$x@z5~?R()BW1lMPL_$;gpj~@#1 z-@kkF=Jl(WFJHfT{rcsrS35WDO(9E0qG+3V*WUEmI}>Jd9iz@XFRN{AsHuiwAs*1) zOoCh+?d0e*8bXVWHB#g7j4j+ez2*i4En4imFe)l;_x=-??>~74$hB_O5KrvI^B0AH zTzlT|V&GE<8(m*lQ(am91vb_Tp#b@xvZB(c)d$f=TI@1Mn85AbGtWwAOmKAafqm)M z1Q4{6uLbs*?yARB7cjeOsJfcbG+BWu`lb_R=tg2skAs5dY!Evde?CMAum2#BI+>!P;7q$4$DW8_>b9epr?BiBQ; z>Bg){n(7R$-N+`;8f}s;jWvaJ^cKVvGw$f^1~J7%*YMSTIhm@{kDvWjIr0`n6`PCv z8Vv$+nqX@Kvg>hIim%{Z)Xwx2F+Z7g8;R3DFnL|{&h5(sXG|Hz^v#D6?m?)&x~c_t z9R*vP${3-!62gkP$a>q8uwpk9=Vnf_5X07jo~cn`#pbBqsm2{DcWj2jSHn7kC<;g? zr-@RHlGkn6ws-&D)U@UF>36@}h<4KEFlo+Ot$=GDV*t4JrGx|)3pM~y835N#P{1|W zWzE2~pacS3+bagHT}KvWfFu(f+yJF-#cv4V2gB^%y=&lffS>*V?#uwT>Szga4WO=o zTwACnL9R*7r?*0`@gTIA7`f)-E|GrM`^ z1{Xl`LQw;jd9*euy`0jFCUMRd^V^#cwQ-v6%#}OR5A2*WhOYy_wY#h#RBW-~$X7D~ zfNOFOAhuX%&KxmtZRq2=`jrTcEqtHZWntd^5M=}e%F53S54osBI9AWo&>j+T2&T~2AzKT)CqMxa{aEi2ytfT-9Ob2dAxmf zNJcugsAN6h)+*kAZmj)MUe*A(HOIGa-@MH)`0%M@FXaKWW~V1+2MFW!Fe6G$+p{L- z_U{vC;o5?Q3B_+-MtT{b4#qiGF74T{%3mrTD_RBuj7|APoV;(q zJocD*B;MF>$$h*70vQ_f8vWG+0mfz+5&$r^O^*S_Hg8zB*#Yy6(D>pp1jg2ldGFSk11#9qZ@}whZkJtG0~f*J%X>4xvCV2c+Y17Yv0uN@2OL|Z z=of-xi}>*3)!E48W-1*iDrvhbH}+k>?%LbJtfecKFJGKd{N-Bs^5rX+i&pemdg)8i z{>95zEMK_-Zmn3cl5B(H6&;r^IZ#@5VHx?}fBA}KE3cN7LbS5w%a?3@UT|mqPMFMo zrh05AibMML4OP({VzO$HI5{0C9tF!V+n~vk6PO6I5H# z`$8(}Sf#M4PesYc&lQzb6%}7TeRvT^hLP6fcWkJL?jEu3CP3K;cnzRz1iU7E-c5{T z127vP*o4oep1lw}?@YjK0A(vHsV%|~9Snc&^y%}bv<*P?Bc(1)Mc%QYGFo-FMt5?xG4{m7Qz zTASE55t(%{u)PHLq+q=!O*%C#wH7X9iF%|8(>kSZkJ|mHvK%71;gSvjV%wMildLw& z0z3`CV$Kox8Z>lSWd^MCq^1=7ElQgc(so2`y;fEOlxniqkSX+!Q-Zps zY~2h9%pLKOJ0H|k);wO92o~~(>(-}<&Ym4xx2=mhP*4!NJ^js(R;%|{B3m}4Y>bQB zviJ3m(&*cQMr`u#t=mbDc?(ov@wzj-xVSG;Mr`;|fe#mOVU83!jQqBTmrq(#FO$?p z=ExR}L5iq1>UR=J(_#Yi&}k%Vm56b89y)^%7hW_QE@wq+gqw-ncc>9z?p@Tu$~inS zJF5Y~fz6mQjNRa6tR#;Wd9$XJTP|cO%MRy0M;&NZ;W62-;l1YBZ;YZLcmoQ8 zM=?T);KP+AI?KIAD7>0_2wqj&{D2g)s>H~->1G+B&?ynvB_d=cCLx8w;f2SqUm+9& z*>kBU!f9@9axI?_;SR5@tirQ_If|)6Snd--*>EZ#H!IwkTStl&-q_-KHxW>RceXl% zhste0GIHT%fg+fSp=<#>SxE{J4v)htQb;|s!o%GvQCFIkTX>+Hb4+$NoOzT+au6t! zP?fSugf}E}-2xNgHKe&h)G;tO8*O(M(_+tF5_lF6Xs@vY(&{82692FY_8mETvm@e#=t58REiL9 z#L|h#isX=^K`{t>XF1YDSyc$$I&FoZjMCwxp&LNj(1vAla=0w80W=N-5Kg_u*y=T@ zRiX&XK=nb2R4o(TfShv`f?&tlF@Z5cj3K{-7D$E$&v$_5-Du7rFRKQ46R$M1G2|`- zLa*frOR4ZIAd*eQTnXHul&{^01b~_}7a<8XXj{1~oC^|tEeB#D@0taAGRP{C2Jbbd z<<^sYpzTuO&b5^85R#y4@LRepytz=&XPm)Dm3i%El~s@HVGj%XQlb^`ldB*y07)Pk zltY|35u_82(_~HkQz>i2~j7x@N8U` z9SCjGfy&`bs94cz;WgP(T)9#ZccLg8C4QmuqHxMIWxqhT5elq;^1*wb!=>D~Btcrv z%1s!K5`j2q0SeCrd<^vOzwudz|IX)cbGxx2n|`D~w2wa=*9XH@Mos`eRG z+w-lzJ#_qy`P8~wf1BIim`|+(AT!`}Z0tunyN85GzK;(JfrBrx=`@aAfJdkw-#=s= zKR6&X$b%nDGc%)ch6nhExbQ=$?_cjsYjsUsxP%1p-TlV9d(t?z0Rg__7Y6c4UK+=K zHW2lmCjiOpa?SPdG*E3#ma8uH1i;t2J;7fK$1A zSYP#rGr!(&YIiuK_@j`Y!f!lq@B?naAWuG=EglEFh)n&V&Ms&)8ZY76LblUMg*l@G ze7qe({k&}hX7k4f*!sE$2md7nkTfi-No>@_y z|3j>xE?!Wt5cmnEz6Bx!s9OM>fcAzrbA&>Ty`i>zc!CG@9nJTf#Saqeb&J~3xHOJ) z5Pvp*j<-L5Hql_+KWTYMHGhD&-jDF+{jl9r+=D{MUm7C7p$34Kk z%ze)-;1+UAxz*enZX;K~6>?!G1b4t)aCh7j55e+S37g~TEoFmTnGn@tF-k@IXoF}& zxt)P&cWzIv9Jdd*AC|$gxHG0e|B{aU zPwK#b&;*N(sY}R0aO%AH{J%DfXjaJl7#d{G< z6Lht~l^gCJ8fFvVJDWDg-8YyozP1l>_x1LWq*#ZB1UT~DXA`>{5)=y0NUpeqz{r3g z??o_marbrcaQ6kWByl1?2woi0DrtO>yT@EY18&>62lIWweRT2io)bc&$k=+h!vi7w zpm6~q?jha*{^Df9+<_nDFDbdLdtfl3KqgBPDw1ob@y-Fk-r~G84$QE;=ki0mf&xN4 zy;|Ow055I{BHY_dbec0K7$$I3nH;@6n*=DXH#q1XL43l%JqX-%$;~Fo*+P-{VIiUJ zzTe!k_JxZ1yNB?N0E1vjf>RI(9-2mS?Xti<*h_LT-a7;;;wia= z68Q6}?85_s{Jv%ZrGhzyw?}g^nr}HlsmLt0IbpcBCuoegNFZkCpn$*tXiBKD?`S?q z)T8-H2X}vW31hLsG~XH*I%}cimZXvFyo1C=gXscid@#(N#WJQ?jSKa+_VxDkCq*Im z9buRcb@zlvXq-{*f$skNV19Gqo3xtT8|F_YL6h8ryluTgB^;YB9ifG7146|FTcnL} z4fCc{6vwh$mRb?m-Bs=owgpBj{^a^Qxha_9i^`>c2JxlyR^W`XS zJLrF;LSq7KU`b)FL<+;beSK{Md;`SG2rZTyT)h1PefiGr-ek4m>k~~Y2b_uSzM)_- zrcwQv^a9BbWuVB67ia~{1=0Qt+BUv?aQjFzd{biT7OaYpB9O`r_l2paxL=A(L?uY9 z7wNv0G>tR&>?r~q%UMWB=L9a=ubOKjmrdqbCY z^!D=(q49{tBe(6KYqqu@;xy}^AoqnJQW#E%n01Evdjt@3O3XJAHKaR0R`1#Flx>5q zLJAe+J)7zPcHW-e)NlY??7ZDQCW76f@xcgbbT+b*!I1G%U2g95%PPm@uFi4WCkw$Paa{3OPy zO%-na2q<#%|G(g9h#drH7$rS}+ylLSj+4+zJBZd(orvhRJ&c;rb*OQXny9r*fVo=B zOP4@*555h5PC$^v$dd%?InZOo1ngi~p+<7>M_RfUa9FL`yPymblz`kHxiHX+PsY!t z?%aGmds0BqY!~9q7*I18@eMMBKqm?LdIck6FyA9I#CtwpoJcj<)Bt}zP0xTRKr=-s zmN#*K7V&5Qff)>fFgKdR590fK@M$n4a466UBR>S{OGF{Q zEwQ6w4d#sSg*tt`E75QA7c#p*9vIl5a;;kgYAKnuH5oA?9vC}FTagLg_yAAvc|gu$ zyJr&`hzzuTfdRolvFTxW$R#8ITs7zi#9-U;=eURZhCs5|go=gUlq&9{O;0u} z_*aJkO4&*Z;D~qy%qE4GupLHL1t?=l7Ei_W#1$gfm4X5B)OKD%fHbT z$Ahy6?wa3UTZFaYFOsb3JHv|Q2kuut9|vwh#8~oDs%v(!XeX8_+agN~c2pa$8f2<-qGNxOA-q@{caxH@nD^ZEB}kJ}~_jZ{|tTpf84i zpCL{h={*}9JjyGfHlj({n&$vtlgWJ73#LB7#G`9ovl;Ck7%28~NVYZ}APe@027R)b zWOH8X7VLdBHP81l_xOHhgMXR1%l9*L|5aw1E9?8Y_5W3FB=c`%=A!Rs{?`)A{C;NG zVx=?`e!;pykRL46H7`68Pf48C?21uy4U+B>8VEbW9zouLA(Ydtt#72)Dz$k@4V+-= z&a5_`Zc6*(vrr0O@V>=_VWDI~FyF-wc7(=;27tabIkaC>sCk!oo4n<6ky9Yw-!32& zCaF|DqFuD1APHMv@K67ELji7(3}SctYlcCR41c^axVgQXd4gxu7EeO@hj;>MafZLZ z6MA7AJW+;(#2@O3&ccm8fp=R3ye=Zg0`*68OlZQC6EWbytt?2*oY!yxJWH!PCwcP!FR z9ZGe-W08I?)9+ZMpUd<+7U{c8{|V1i_d6EphnarYJ!-?<)ot4%{rDLEBfg66cP!FR zHG{hU4U44Pwnh5B%lkb=`l0DW+ZKuYz44R_8umxGS+8va!|g6{N&he>;lhOe8yf$V zz4#ITQ13hT;-~5snH;y}Abz*&lG2b2f1JR4x9hesv(anYUi^61{UPzTZ7+VVgQ)i% zd+~F{+qS*<$>RM{d-0DbQrq_8hii(=B*x(nYK<(uH4ePC4b1l~<3CYTUfUMwC)e~l z7U`#IFYh}RiAeE>*0FxXIPm@{i}WMT1n)m&k;FS+)Xr?v;=6dYax|P2@}+i1$vtZM z+XeQL<^ynZ80>C&QwMZ{5LxhUUV#OGoOnMKfO1V>B5Ly>)W3Nbw)t7{YAv}f+1&t2 zt)QT-cGJnaZad1O836KsH_8Ld(f>TkgTn4g@VwM&e>)Pn1#Y<+q9%c+5O~s8+;BS* z`M-ulZbuvcKZZ6Y_|b2mtSw=r)C27>;&vGEKLR5ryY0A+No$vr!juqC6AsBxV?K{S3IDCrN7`KQhT2abH6d=> zI(;Pe6`CP8U!91iJpUgaJ_40#KYaARarlTp;k6Bo4Y)=$=<50g#$p>qESLD?&cA)A z#C#V&$rtnMR zAT;Ep0~{cPBRaF2*TsP6_m<4WCs)W3QOX5stMXuJ;1sch8#x{4E{@tnPC&TueF0QE z0#3LEeucAg;GnaAFr0nzqY4NIHQ;PYi^CpbN6Utsifii(2vot=%iDK0oVWq{Kq(6Pj#qRyJY6*&(UMvDHA zivx!6|67Xkr&1x>C6S5bWR3XvjpY11&xrWI!$yzflT*Jmu}f?xxzf=#)HgJO+KSZ- zG{HL9gE;V7dPXoV8d1<&N(14R9bbG;$4J}QfM*2j>OU^`uXKrZYo^qOM*e9NxbQux zL(LosDxCDw=Kdi*l1;E`ltmCAT@p6YV_SB#mEEzN?i!QeM&BjGCtrQ>A7av-0 zIzst}6LOLs_;ub5omZ0BA`S%^?WluxprOMc0NQMFP}`9|AGT~j=g5IWUp`T9hyX#D zOG@%*Vu#bQ!S?>P<0KGvNuT|p?mQX}>_ge15EQF_`3ukjR0NK%XZggFKFCP=WBVpl z`%z=ch5Z{xjiG0>Z$c5X(A1$N!#No>+ZUuHr>omqkZM|YYMvCduSoe*-ue%O!)f1y zYTtxvk7Xl{Rn`i}(ri@PW7&{cHO(tee~4uR{$KkhRQo2>e=Y=G`zBOVu*0u2PjH~y zH=)`$q5dSsUi&6gdoVm|okp@0)haAw`zF+Pc65ky(*~-g*){yxn@~+in)Xd7@)DB2 zu>(O?P$WNXY&-nvc1!yvR9oAF?VC_dp^4fzp|~wJ4%;`OT5o%`Z$ka0J>~XIDDeh< zd%RoNR{rnCyKUcul59JP7g!`$?VC{48!!F@72UoGC4oJBU6BIM`bSoz+Bc!vH=)`$ zq1rd0T5L1@&V9lTZYEOO`Uf zeHl~xNvQTWGKn2Af)=MMgF#LLjA=v zYJa*l*S-nWz6sTQ*zxNrv-VA>_Dv}9J7ND@C!xT+i_hn}`?h!uN~>6T)Cn`#Y-kQ# z(jKg=Jy==$Ym?hwn=F2@a+~yLH?hu!6!HetAb1;U0K6eH1ityBMQ9}ogVa^hF#Adzlg?1)24}uSoNo!e< zmJrKg9>`%n=tT(pT?+MI3HiwH<z%7_*WSX7_yX?qA!Ftc^~mETx8d?4?kc)Eo7HttU)$}c8t;fx?oRF@9~iCQ z*DK`#N%;+Tf9Bppdw;^lv_WcX_Ifm1bBSwrIZf{QOAC#7H-rsZEsRth_3W01Xp7{2V zw_%^2{W&A&1TCI7-A1kZ0Gr+KFwTn`uGX^;%RTI7+e*fsfJvmq8CTnz@3;k&Dk!?=NcT|y@t43_Ib({c2TJMpBb_6snnz#g@~`7%1I@DF7~ zP1I8!GIXf?P&KQ_vq1y<&(Z72UUMRGp0T{Vg(HW~G}YxEica+C#?>`YQ=NU~k^iKl z9?TXdKA zJ(N6yF<5I%(5A%XgoxQjgKQ6P9H^qm+7o5LP#d=3@T)kcrbcR(9zCJ>#u4#EAmk8M`0cC ztHM2tqUc>55APc27!>!kq;lvIE&HP4#pUR{t=?4P#+Eeb=l3eW%6`rceCz@Rwc7996B2ET@Mj zW$ul17~0iw&;F+kz^n#$sfbhW6P9VBG~#k4?kg-@r?fC`knTYy-B5XCJ;v$UH-)%Q zZG@`v6^!3qxF^K*Z#*@0H7|&;bd~Qi5mr9Tj1H4i2-(wD!(d@KuCF<$tHw07)ne*Q zi~7}||NNBXoF+zvUcI!B8x7zN`&5B@3v+C24yh}r5AMfdk17W~@dDiEtRCYC#z}fy z-QZe$-iX67d0EiX`T;laLH1evF63`ZS&M@kJCAuQc?@V zY`Tih>h<3qD#vCl6gA*MqN|I%HWXp}aTX`T#q-{_z(GvgkGTGMgAn(Gi-Q%iA`H~aR@&GY9?RArmJz(N7;ds9zcJqF{TImLF1 zah|!FE<@c%2$jok0A`=vxJIfoBG)gS#28&H!m_3QbX)k_c@h1POTYQ)NjHgNRN-#- z?Yl17+K0)S`62b85cdXEfzJ^d8yFP@9MU;Q|ez5vvyK3;hiv~hu*Ll%P_lb-akiA_T?P5Bp>J{65@(CA!>Ip793}665%etsIH9Z<(!m~)kyeM;%@n~x=%YiP+pI#W0nuq z`8;9DT;A_^wTk``ynW^!k>Fjp@);2x(s07Vf^EX^7vYkF@9Gmbyug)rL$ypUU|}tc zD3w#SUlkd13UI}i;tQN;Xuun$XF+z$7>6eH4oOYEO}cRf?s`h6@9qFJNQKSZB*Zk~ zMuu7vzNx2i1ZVV4!uVF+6Psxu5@C7%Z;@lUdUu6bs-{YShiqXRT*05#m0(;a`b~K~ z&N0xMacGHS#qYMhBHZ)2_alry4;%ffvQ~UbN`aVFw=YZknq+w=Xewwr7D2sE8zkV5 zE;N7K$XDXODV&*AA8Jw}z#SXDL7;*Huymofg`{8wC^Ru!*y7yr&@vDF5x z!>?@v1aEP{p-Pal>gwp8&WXuK>j;~2-1VMa&uP);7xmKCNEhNk@9*P+X-w{KxMG<) z$HrXq9*)#`iPLv~5n(yei-ok|Sw#(4@a1W|BU?QHq^CF#hxbmXEwM|qF zzN5V*|1hqq0O>8IXO8Q?FfBQ!mg3c|eg|zpAB*E^s+`Gn0<3XkG@EPt2G?Jnti@u* ziA0O_KMEHqjz0)Jx%U2Yj`DD?MS&BIR5iIQX!u@7x!gND44$oKzreWi?OiZfvKv$$ z-rOd@T?&Ug9aGneO-uSf7=6KA-%c5*HgJcRoUZm+A!gq<*U(}(6kuF_bLXauLj1+i zLD0BLQ(MbreY&J48VXs9TtkI`1;9tREErOol2%(-|#^*}xD@SHnSlo1I$PN_@u zj_@eMUC(R|k{h2fR87mPQG`3*8^=+hTmLS?QX+v6vrec+pBZdj!=MrEJ|mos614aSM;>Bp8G>8HYBv2-oW zw6si&HDYUaXpFxN3R!u06!#1k1&0BTPoqX2Ww7H?lRpq1<#=F2HO9r>U43`=W3iVC zp+hI|v}oLsFB-AY2XDqO@LE=L9-i}1>Cfh9PdHST%HB8C@Sy)#6D>7`q1qbCMjVYW z{9%g$&uv+dgAQXZ#uej3fX`X=h`8=fds2?n5k8f8a_xhJEqOwmrOrHIHbmFrC3NXa zHavNT&X|)`7=Oxg)Ydb5jT^)Dj`${I&Q%-$6`Ss(o5EL`8JDu}P->L_uZy}X(>X3V zZ(p7r%^FJM@iZbZes38l#GO~sv!?b9OHInD23|F|kMMJL`0znvlTO#ZckL0rzK53P z1`!_idXm}9zD!-7i=UUhx|XJf>GE)QOWq-_{J5RRyj1(KIC}c2bA~9$tLqJ)9JDC> zl!NX-eG?PAiE~F7hMixjt~=-WqjNk^`!2;Joqu6y#iS;`C;aO0^!n#}XLE-Pm9yHB z`ULM%F#1({u-=GI7?&+$9A4FL0F%vBp-sjiZ^VpZ zsabhWWrESYiJy*?i(k-FOFJ3khJ)%W%J;Y$=onAha{Rur>Tnm|TTojI_NDRn-Q#q(X6^JdmLIABN&(DNIHrb1Mh5UP;wq?{8bN$kfw7DljcwRy zgbi5+#!Lm4p%Hvccywi^iIK4({HG0K+06~L&@nPnRvzfMZEI%EwQHj5qH9vuuSn(9 z3!ybTyyFj@aJWo_1IkWqir;qw#^1tdYi)BaBc50}=xWN`>E;H8h6WHV)?l*5M0WVjV($LY)22dh$&v?{C_E>uZ149Fo@ne)HQxBOqI_Xd2X=~{kS&Va0Q(~Iv8R+X9 z@C@|ydHQTS>B!R`M9{iQ^_x{4Gplj=lbVucJdW9<iB>C@X7Q&bp7cJ0GkU z`5LLK5Voo+l5|pp1$dw!jy~%Ft~=nsnRhdJI73B6Ntr$M_sVA?+~>qF zE$A_-YRYU|D-jlz78X{CaNh`-dl=_myMC(zNT} zset1r!WX49RZbJ%PO-ye=v9O{)w5Ol4%?P0opcCVSb+O~7{}gGg>&c76>XyuJh?O# z6;&OF%R;QtcyFvW)g5WZyam9`lFfDnJ@k?Xx78gvvf^vKm$&MCOJ}av@f@n@)JE{6ZKcf%STc4IBl?tAx0JCyThF`=D zTlJMybbJbrnrLtgtOD^c-u(R)td2X?E(TFg_we1MEe(lr;n65*>tkzrlD3 z8die^Is(KPXv~_A@h%UHbI_=2zB0# z@qJksEzXFL^)Tp^qtGght0vjokFxGMd9l)~sv_?6!Z-WTaHILRPrGDZnS=DMUUWNj z>#iXJX@aE_H-gdtpOloOs|c251b9&rgMSzA(xIu)HS|{sazEho(Uv@u?RdG4nzAyn ziOMwAi17j}G(@NiG;Ko1=NP|8*s~`W{MMn;Cxqpt#UI~&I4m<%edev42sH6h_Ew~& zmhx!7bjxoJ>@2RBll!-C=G@(+a^vAcCs4%D%h@pb38&@8CLIWg#`yTHnaXP+wO^M?-g6YI4#; z%HTcm?Wb-r)^F3<#+vHuKGvo>T;tOZCfiM0o^-vwp`u18!m5JCx?15J-lgp0N(dyL z`y!zCg%|k&Nb1nXqC=gK%$YAWTN_bF={>l%v93YXH~{C#3@XMiyUxdr`S_(Abd0>- zy=IvS&AXZy8}jr56H}5di3s+YO{IQ|_$uDQlW*_atg8_277KfdM z@l!MkcS~E;-tgWmp%uIOh38_gZfMp}@fZvUy4ZkG9#t&*AJ2Dkj zR8`b8Y#h{;nXaFzqXOnFi%vdy`&mKl4f#v8Wfd@O5Y-8mq7|U~gSv#MT*LU9v}Zl; z_i*4bjE|8`2AF=oM{!`PP!jkgpZdvxkqQ8tU}|Y;VQyy1n-mX9l@R~_?Z$;n9%$chNY?23i*CgvP@MYcs6 zE=!nV3@A2o0;im5stSMSs=4| zQ*0(O?Qi0G^?IBIco*PP7#fpb;5!(L40{<(a)2qICR<(8e@{x%Zvw(sgl$ghD=7CL zIZ=_R>Gcrf(wDEmM%2&M)Mt}%ho+!J1Jk2vVr}C%Zo;^6W5|V( z3d`$+LP4Fd3e`0T=nXZsWuFS(Jb!fe#--DldlM5jM@Oz)GJl@8v%Q_AsXk}sj?|>% zbz~I-*cMLdrR=_a`!qV8Z7?_e;=Oxkj@05k94!?XaFuyu?Hxus*pD1x=fqQHX=rGT zoj76gv>BfKakG{zU9&mqaCUCq(<)eOsCp`RM*o0u(bMP8Up#$y@7Cp;@AB?kJ^u^% z<=bK+S1u0qo8!ih1*It_(|^z@VdBWeiK(dvR+!P$)HU?Y%s3W>SQxA&Qkz6qo}!}; zYqsj@OqR+NBLzCm+Cc>@o;uB8n!7a_&6H`%Y6>$SJpb6RdI(r!btUafc!|6^6d5ux zSf_DgT~*1)x6dEmx^nJBW?E|0+T^6<*JS<-izfvcFmPO{tvET)n5jymscIU)An?gS z8|Z4*H&aqWF5JA?b=PFPBX@{PhJ;X?R(>p>XiM5GHGjXUb%7$ zwvhz-0Xc#zvRAKr^}o=7y9*m?%8LsMuC3XXl5~%Fp#m&Z|M=u{@F5C+UFth^;&2s> z!=kH8Mi_!?ZmJzshdZV#Pgb#GuMl9_aUI<4CPK<}#n}ntEQR0-ZAJkPRPKVW)W}!4 zU5z_dZ;MMw$`%m94HyXU(EL1#&1+X>|i{?ZcfG?CD9v%Zrjn|NQX)W$3+y{pJ zSPhx;eZhUJ3zMKTF&OeX(|wuBql`c`r-K1c#rTHQkohWLD7L|{GEpj6^&-ZbMToW- zG?>;|XRHAKwh7}nwXFoK&t`>JVzbXaPfy}u|G5d-Qi^;L_j@>hh zW^OeVo@F33_yxx6&~Pv9FZd%H7H}uaPBr_2@l+8~-3Oi%>N)TV7C9|ztdBy|^j5!q zx?KjgPP5OP*FwwcYXl-Niw{@rPDy@MNwJvzbP{KJ_?DEt+b7t&bGKl8hdFrQcs<{XT_&=Hb?(Y(O`?^0G!Q6BHicjzU{pLTs_iL}t zn=f6-eU@KRU5^VRx1}WIR*0FDN3YqHnv!yI>!P?AMQ}7KfB*eCNcEFK&r#NmxKK&% zF&0ge>Ks@4aerro^sisO%tM_MFJ@b#1-EnOOR1RLzyIjQh2JhcdRej!sjpqVaa+ov zlb3QIZr+rdbU{d%l;G}FxAyP9l;5x^H}uUyYxIYw{Ot|McR?>N)zTgZ_mxC$~hz{c=8MG}5|x=aHQVX(hk=uv@0z zl~4J%(lZ_w)o(^9OHg~$?OJ2Qhb40rWF{DD>zh~&A2ZH(eM-{a&%{qD#62&iet67U zbmwXe>bn2jWiJs@klA|wX5O2R1&<%*PewkU3-0tssK=Ai8hEF&pd8k;X|Q*)8w~|l zbtxGR8yyfDGD}Nalg-v*kBCT4PWinINPomGqJzJEIi;}odafTrJ}}TKBjot*-P6N| zGETnzQ0<0N>T53O80sx+Xsk2s`vEuRp1Y7;EW%01u>oT{Bz+m<3sTmBlg!MG4RqKB zi(pi^Qz|B1w*7H+IQQv`_twaie*bet1nPL9reR}O*p)A6#P0o`;f9*Ba+nW*UarRY z-eB1F27f!546^xhJ$17K<%M&spcUM-SYRdk@Q0Cfo7vSLBt8W^H~Cp&nbaL>k_m){g-E)HK7zVKkt zm#d;>-Ij;L#p2(-eBQfonJ8RlS@<&eBMpCq;a!$3+E-F`ehGEacggb0#fAG9EDT!^ zvi@Mw#uZ>yZ+)g}*s);SjrX66i$x_}3g5jeEG{l7DlQTg%M`wS|5;QlT~b`qNc|QT zMOX=tLFY|8wc5Ka-l%#V4La`9be%yTh_b0-q(odc~ z5j;iDgipIYd-Ck*Gx$$F!lxoC>FLwFr*BJ3iar+=i9X8|eg5=WRMhoj!RzM_cWg*a zI$ZS$h<(5^g*)S8M6rD~MaM?R#>8xj-W0PbHWq%xY!b!Fi2rnriGwe(vC;65C|dT^ z`!B_xsz2kRj>X5$lR7A{u6&oPkup@8UHkKy|X-1+I`fiAK0c%2iU!1b@VTdtA%+E1q_)JTu4L9&UnFK+Gg^(ap}2-#(qJ?vdo7KJqmw zRXy&u-9~z>wxvb|=||SSD~*ePj)zBiA#d^r4T|2P_+F^X!;K z1w(ds9)sZo55)0Yts5DgtTUY$j69uO(rh9uldE1oPQbuUbqpDY+df_}|0pfRGIgDv z`PDJHxcbCp=A30Pe6WZCl1+jkJxm12Pykm3BgguJn25AdLaK-%6$b0)GUYjOP69@E zhlfmD?xoqgx2D&H#tJNb&h{Eq+uAiQDJQ=X%jQ5WD4M7ob_lH*5#Yy&DZ<|Hs|$(Y z(YFo-SVBvXi3`Tkb)5tv2Fk3(3gwwTJO-n*pI4^^56jCR`dG^v?Z?n`mQLZ}=U^P@ z5WYN~!HBDF=26!~zavF|P!_Dk6E?87EWEQ=M>w&Hd zNL|GAK_vOEu5mdaXqhAigWJf!JOM+BwWyxa#p1%E$(9$1V4zL%&c^wG`bn(>y#(TM zjSOG_OazP$Z$_lt4dIqDq*+H(5SJpJ=nj<)6JeAmV95Hwl;5d=A;XI+j}W<5F*;kk zA1bCR07CT)#1a6>PI08waXF|-=d*EfVGKs>v(!39S8La>xCow4Qcg~Ukb&+>d2R$MlkqJI+o{-TyA}5WbJlBXMP+V(Lgz`!(LzEcQ-W48~&X35f!7`AED^=N@(3bXEaFM92 z087Pzyipu%zLn?KQElJ^J9Z$8kkrZ8dF5>)ZRzryasifh@*&mDE5#^BlI1KUlvl$o z216QpEzHWHj}1B#*+jb>`XiZsOXu;*fjATZICcTCT=U$H3lXRc)QQ|LcRC9_Auk7n zFUmnlAZSRH&Ew_c@_O7k=`5^T01HX!Wplw)jswzhjaWJpstE*m*3g)wls-JrrLJHW zEZ%pj1K=SrDaX>T45*!S98t^$&>WC%Igf|SBVgMCWS1WY9FIyxQF15tf;4G95l$vl z2qX!OMhPo33``+(zTImlgTx4JnAzkcMI?bv09gqO$ZiceJ3!7bYaeJ3*G8h9m!x{U zCdwoIR9#TdkOqAOvLI8Ld>$#7RNPspLk^@tmy<3vya5!H-Vh~%3g(A__Jd?7SxfkU z((%sXJSa*&55xgL57HrI{75g`M>;~M$ORdo2btE;r>yhp2^lbEQgJ>oc_D3lkO`(u z+!w%>0R__7an1Dr{qZSpfbxa8o~?(W3bQyHU6WSBZ3UqYD11lOwWZXgA zx-H0p`IrI^LL7AO{-2iHu0) zP7Ei|M;Yh^peP;Tk_?iBvMk81W|)8>4HgRYzC07;&kM^0ofPIEAF)uI+N7BU$TvST z4DJ)P&Ji*?@#1oDc}@iA5bTgZULSA;d|a*JH;mw9i40>Ix1ie&bx<5$DJVszD5oP> zSklE>P(^VK#5U)=Wk`eLAkNpZR?Fw%o86u@3@HnTB8GIv+R3oF6g>}GFror%Vgo}I z*C7n*6AJ^3w8KS*2C(s4z^d~+FCOdhnh*hl>@~=6!ST{l5mSVWt~}5G)7yPOHL-<@ z0v^*z$fA1MG-~1#^w!TYpGPw7IVSstk_iR#_^VFmWaH@rL zxmI)`bYl1-DbPH0-azj%4JL(orTe-npXkDiPg+|YXE&z|B_<9P)O=)p%XH+;MbDL{ zS?j93aB%(xKSsS6fu}__!dY19lRJ!3t~(luLrG3d11y|encBk)T-17WP?)o_w9951 ziqG&~sNq?`KF5N+Wp8zQ0}i+LeaCuR2eA9yA9mdRh>)2h_s zH|QrE-&q`uL&LDLgc>o`FmQ@F#^QpGAE`-U_#sXV1N6wTP?y}b_sNrm`DE2VvbHn)>974fWcJ{XseZMp(CP4UN>kY=4KQy4pPAKM+E(`8`~}~-^t+aYSJv(a!TLybD-R!h2?$8vrF{CkU^Uz;!MkSlidF0R zWKR4Ntj80p>zB^&7h1V#A6u~cX^5=aAZF~BQ$WlM^rBx{vu)$C z+I#q$HMOC3w#lUzrPcPU?bUcf&dJTo%_}6VF%G?^w0bo+ZvXkae-o_wA}cl>y-v!_ zCnqN*=j3O3s;uI(FN#0Ty=DjD8Koe~-P%g;K(R_~C6LNmp&ct9|58#pe|i z7SMw6m+Wk8ErY|>A3L*Uz4p~}3R~B%6qMDn`9rWS8!xjFT_$oNsUX?ssyWl_v?<=| zW^(z}ts5`yS}o&MKnZiko7!HrHMX#~xK#R(cyEW%C42LWkK5X8^$J}rY%Q%UOs%Y4 z?%lP!mn^uGSMU)zE)lL2`Sof^hYLh{EYHdt#xb?{2?}?|2waLx$ zM_YyXBqN`jTbkP64bSkgu(S#Yu(Zq?Pm|ZRy=Y-+altj=W0<1(mHYR-J#B5WYO-CO za^yt#bkdbh+g^P@Bo}6en;($o{%fP~UbFkj4fBH4vfo=|xn^pSm#L|vUuq$(wzj6S zBs=^z!J@)_^Va?Q6}l`Ir&Yi)=4S-609qRAB(Pat_~)c+={Dc zXlkfu*6G$a)YDQQnqQ%5Zc@oUqhtFtl-^M7hj*kl)#W~Oz?)b;$*yUrr)GuTG(WF> zF}kh3Df{Z}#`?+!7qZMYZ_tn1Z{U)h5d8SgWit!B^TVjD+_?M4_*Q6z$9JG>+fUZ= z@4liNTr%)xmy+ns4RsUrvki3_p2kGqEpk~V2KE=O)HKxk6UeRfx`yI=c$<`#_R^%B z#%5}=i>1}Yl;+yT5|>9U^)&&eDNgJ7?6bAZ>>gA$(2D)7^bD=7E)ZcDEmzCtYRZ~BR5VZ0^_rR+n;YtDqO4rVqJnAWx&|iKXpMBgXDxJkU0agHg_!o{ zP*al&_i8#4tt|=Gg^l!j+TDoeI(n2@P~wf4n)uVlb#2R<8yX^QF5-Psf_!coJLlqL zo<>G}oNeAxX2H(QL7w8L3EoY0({%lYRPWoq<&6#5*Q|3+U3^jUMCR<3@}{cvntD3D zHPzC@wXQYEG$mH|aeJl>;jq3_bv?bVDj>VDu0GY$?M?C>Yy1V>Q?B%SdPADS#S3X| zwUwdgV;`(K9Uhr6CtH_|-QK8Fd``v0BCV~Zfl1#{U+Hw-%)q&-so0s&-jEXf+)Y!@ zrl6@73Zb`>2_|NKEsZxG4qx@?$g{p+qG)`#kx3V>$*r!VH{@QkusMI#)AQCfyaTm~ z-jMHNYFE+FP6b=E-p^(rPjuF1iZ z5`WjktD&yG;=bXHy1J%3^Bb9>l8`C6tFNnWBI!Tv zh`nHTJ=(*zHr4!AOMQK+V}4U(fw>DsP}=vGe7*SX<_6`W5c26m#+ND@>2>vCM$bBE zm-TP8R5}^Em6ly4mAGE4XsmB(YN#%Z_cXj*+SXWK-`LR9R_SX>NNsJ(z{j;!KCgUe zklB{vU|^to>R}uC;%z#mG3QxTeRJfw$j7TshDWB4&kEQJO$XK(J<9jptz#Stt!v0h z>ngu$Xp;1z$j#8ioM4z!d)Ks}DKMz2wW)!gbVJWNy0X5pzB>1rz43Xs=K4mGp>u1> zr9wB8!j`g-tH#FO)vXEVpXY@%SCrP*)7=g7Pj7OHCRU?Yy+&9UCW8exZP-(A@SyRP zT8Q|%mUKHKW6R>^%5ZDFb7!A4SG$>&Ro~FL90}FYNNz^D)~+76u3XU7J7eJ6Qr8%4 zY?AQ=pK-^K(o|QL5t|LI_SVfx@N258r#I%~ujhzKJ&q>!qLqDvTSD|Ui*SeBl-4zl zhn6*^;tkJf+mtodmqdDdk{X(eEp6*)w+#)AE)%QUYt#Ik@P_BLwNBZnshGsQY;AdH zXyRmVO!C(yw%0=cHqu*j44j$+e43f`B~8S$;g8pxB1Wc8qje3l4(0hftT~${zt7MW z0=+)Y+VJQp^ZaI*)zIa2E#YUMw9#&#KXAgp=u$*Y8#OD@%h=c@`Hi9m;bw3m*;U`f z*z|lz0>Ppjn8f<}wh~*zoHj2{m`wHbTly5;bys2{=;-yfVU{VFSXrKAbBVKNX|42z zJQw5R#|%SWKwrX~Z7sJn$!n$EGP2mCc>KK4C1UN1hDT>}({5%7?$tf3V|)RB>IB|I z?@94}J^QSN=BCPM%k%MVHBNV-rltbIKdpI zjL+=Tx5#gAfJxU@eqHBcQA?$}!OLCb=%7DoJ&h%vE?nOt2yd)xGx%oY2#>JqpS<_I#x_PTXVY(KEJ81Cj5ed z@*xB3xa!7+@+eC^ebb_@${QvW%g~$~igKEI2A8kulL-Q5exxLFqW_H|Z&6h>9lOke zv>*$eLz>zuryg{+XB)dU)9dPPpDEB^?-(`DW6gobx@&AcMWl>>IKRr>kNbeZLpY?R zTV1#&eNf-X{)UU?X&vq3CZ3+x%+6=aZPO0Ty{;^EMAz_q=0&)+zg_;2-W6B(LgPcy z=gdql+B;q_yiar9taCjko2YlAiQZUba)lx){UmCh$68Llj3eya%DZN7P!#Z3UgbPR zF&*==#)d-I(}hnZcW9hAab*9M0=*+fXEYBTxs$n5fLGvH1jTi?q{a!d1rJU{7)%on z&nD}xRB7p5s)tYL7#LQ+B5cyr*EPcHx-`+7BTj@qU41GNmdIHiYXv-3Q(RDb|9(-4 z$1ydm&ckb;xpN=V3v8{c@;w z(|n>LqBtD<5f(TYnjG$P$~AtmZZ!%+nSE%AU)?Sqk!a$M54KbCnYUD@}Y~4Brgswt&0e6 z6VwXMO2xyc0U`*F0XUCGMD?tLPfS{JQ2ON)Vd~oq*O)q6{=TSZ7)jnIJ z?N9%$TlZYa?PX;s^6fpU?GzckZ$q>N&oP4_(k=Yi^Z9BU;W8WlRzaB)dv*xIy=a1H zeQ3)>_yzaK@j?UPd-wy__<@r0Y}+clOUp!EKmaGZM>8^s=a`X+le>1n^POT_*PJ8O z&JkIOPc|EO--1u2=vp#3VNn6$eJ3^xKTTEFHUmL37s?P4i5uk_z(ONvWMz4_zsf* zZ(13dTNrBZ2Ld9RqPOM1QSEDiDc&+dXsd*w8E7$3FuM*w3-Bd|KFe=qRiSDAfUaGSV> zz2lypib{e)TeJe6r&LdZkFDTnXZu*E9s;kLbrqcVme`q?UG}YFuxjre-+lO$^*L!F zc3|KHWsLyO$fGoOm+oGjBj^JVG&>LJ@f|-24?yh7?^Zl|PV&s*UGSZ<_DLb#!|;~f zN}4AX40cLM$|wr_zWA$<_oU%n}xD_@bI}D1=)UmYdw6d zSBEGWh`~&^w_G%oc6nQNK#l(K=LGU zcp7f7!FJzK7sfF~mIz7hR|obw^kojp0*LrnSzQM>q-PZdG}>hEJd`z^gR&}?b5Isx zLs_n`JY2e>!ZWzVXrPJ+Z#eio3KNku%Vc}c;7l7?fk(uI_IafE91+Ed%jgI9f?geX zb_kt7B7!PAQ6;-aLi{{@&}+dBI?@!uEQZgo%emIT)&C$+vSJbo7wG>|vitC$WIv6t z$Ou+zX7uIoXePpYiVvNCXcsVX*e$z!K*>hUDOpu{_p#4b^1?#o8701NVoL6*Ky+WN*wXS-y>mV!xH_DU<23z@{N@1QYO<7)+}-NA?{Q zn1-qsi1G^Dh>9R0tte0xO_kP&W>x5l3kfOT`8pmOPRouh$xC>{$g)46B*Tt3QQ>3a zZ&@sRAhO{=WVt~5%@Ns|qkj-tJr|z0V*}DgUq2=x2NkZjl88B0DuP^m!y0*-%hdj{bbubp=^1P~2Q0fS9~_oyM_f z_p1?ar7y!~qF*M?xJ*qZBHMMOWOm3%NdvMI-*x~l@yDa|gtsyAvHh{#V)!an{`td3 z4_>iG`+g=rjE#JH>uyX|$TcHFris3>iHW`gN@QbDB0KV_V~uWi12rh4qPQ?1_$acs zp}NXcO+(|@Rs^~GAR+k9qwTvlORL3u>xco`eJaG}O>+C!Q z!pfOm`E0@cy1GD&T61Ij2_UjAUp|&BLy2r}|JR`@#@OH#9gC!~zV8Ae>-B+UwRsXH zvWBM)9zLvbaR0u2D(Y?!g=`{wu)}(j0^wd{*<0rHOmFNpYf~Nfo<47lJtxe4l5g9aHM@5Oa&raFf#reC9*^yvXg%h*`0Z|BRcs==+*XHqcB%I1Qzx{JTnUdP&KubjiG3l1;M&e~Khu$ykPtl^oaMDwO4U5R zD%Q>3SOu^~>iHC1`^1r1Bb!rDP(uE{8QDZc z;<_o}0^Zcb$nczXU^H>w$iCNB@cF=G2@cE*1Zcu75JFPt!s4{W4?p|d8*Ot=-_*wO z?$fA(RNjioZ=*AC(=2LaZ?lc;bpa4J^F}t4ZDbcAa9;2Mc?t^^5;<#RVTrOsj=Ndg z+1glHnwwcYfyf&|KZ6G&>nm+p#F}YL=wQ9Mt0@lmv&eeBd1!FAmsROY`um?P!2Q1Z{)=T^5Sw=K6Rz{vAXUblaSh}pt|P( z{K#~E3_%tE?a`VgvYeq^D3M*`eb@bltFz;ZgJaKO42CuEo-_Z z#@+tPGZbaCKh}oTM^s!|cDJI+K0FXvB}FBM@=_%;2avnUiUBOfW2Q1E_+jN~B@Sg3 zrqT*U{Wo92RClBAR8W9(38n%DP9+!$f9Zq=Klk^2^2qZ>P!zHBmyz8qF2{THoVf1O zN;oJ@eg6)-!>qY~Mn)J`d?A4TaBd~3y6@mg1A@J)=c7PUDmkyHw5+D1XQ+R4a)vR( z7zZOeJ~JaS%>X_5b7ZK$ueayztB(4b%8Ig*!aPb&W=2v%d|V7E+S50RNdBc{^;Qd* zK7Vc?x&Lxd@vFY!;ZJZu>7}!ZFiuoVNdC;x<43hLj~>=IsfgRX_vl$CcaO(`;j!f0 zyv+2R;_~XI7oDABaN+p}Xrh;0U7z5}Lsu8`C3k0gOZ|)QUq8IyxakCDN? zkMCY}w!!B;Nq3165pztI2W7HEHj`D8l9AgbzxV1_xIOlnmN-sWYM%zJdZubEiezQ@ zM0Ic(fMjcSBQ95kQ6#&zI)%@yvxmmxNvBca;AAzu)2^1vpkXVkEZ9nxIX(IF$M8t2 zM{pGJx0217Q?fStIvTk1?X1!6w2Lw#f@)Hzl8xop5kAOPvZpyOAJ>Lws=2Rp8Y#^x zS^M@`B}?F^gOdFb@HC28{C6c=o=UnQbSkSM%JG1NB#!U6cnPXxZ{3E2+t?OfQ%xzj zX9-oZ99MV3lpX>l`xaHQ9PT`zWMRObBG$e;A?8T#?vLSppkxO@$nQ54MtBBysVVlAXMTASZfzk{3I+He5zDL}RFQ+tusVId`??uUr`2 z^SbBD@Q+C_aiC<04f9I&u}4T`RAg?zjpt9d!MVoh>sckc?GGhufLZMKtv?ZztbBb< z%`Q-_)s_1Z*Oqn{4t}Nfwik6}71WM*!$F8pW_ej9z3D}F?+0|?i~dluab+K;e3M#l z$e>C#6U)6Z>c`LxWFzH8yB4w}rJ@$}siav;L(W>ngKQ=HS{qfe&O!Zex;-y~l9i{G6^D2~FQ{ldjz~7O zbRGmH8{OMS#IB?Df2xa3ZttIZh9K!P6LgcRnd#52R@)H!xG*qvu?cAbo{>b-FC`oE zxn1;TYn?x`G_|6}8db8v9gW=|2m3l-eAY#*`ad_W2PNA%JZ^zpWsE?M2VTYxRyeX1 z4njBQmF&tVVS#}`LBZj^cZk1~>=9;S#rM2zNp-f)aBk&`KXc+?1wHcJ`@;{X< z&=S_(?J3dWp}~RA{cfW=lQFMkiJyj!IIvisHey0{d!S0z9K4a}oRT#;21>SKt27)B z2*?_Fwvt^2$LthjN9g7z7K_H^kRBaH3=g^YI4UCbw~`%g=LRKv29&JtW-Gg2N|uN! zSz*!3pk(bXu19uVu>~djxOK}3JNpAm&1~&=BPZV;m9e+8SSFg597~FRct0{C_RB9N zTlbBvWRDDgP-H9Fe72H(^A1(A_kN^-l3nalnvoWCFFZ10PRTBq4xzsPlIqHI!#XDp zj)0O~GOJ|EM?lE}l10B`x*_h!-GSNLB8Rk{*Pb4$+ExT zpP{e)-@gxk{rur&Yo!ky3=8ItUs^6f;v2N7GzMTDn|2kiGbu(WgUDNQF@p8%R z^PMl>e;b+{VDv8=9QgX>W6zr~m_;dbN_G>fWS=|%9{Y!qMR6>uWS2aK7f>?`N|yO# z9r~unj~?aqejohW&(^B|Sb?}M92m~_i1@{27yYa!1qX+~pRr(82qPE?VZz@@csvul zIOMsPKW%UXP%Lu*>1PZq>L2({zk}-4-+*=z3TRv5s5rnFWDP7D9Qgj$`+4NNpIz7$ zn)Ko4@ZiAA;KFZ1!4IQ|^LlpmL_=`F*RgMCClCKf@QjK``Ge2WhJOwZ4UHGyiH!Ko zXH$cke~yl~1D_>!&hyz5d_z<-C&)+ZFc`)}}B z2Gx;4SRVO5;47r@Bx#C(vH6qF zCjBHVu<@sk{^GMWj^7E`{2l_qnL+0aw03itCM0v&BpThYtm6p^*cfX9&yO|G{TF zpxF*?fkblgG#yJO5PaBWA~Xga<3R9b(79$y{LlC-gGoS0Qnji}4RWJ68#fK(J>wWFZMU zhXmU)=zLHUt?zGqcA$%vS@^C#!N({4-5-1wE#wCsfzIRXp%uDM64u6js(lxC$0r~& zvtyReCJ+cjXbgowxHDT%po5PO^Z?X@xG@OJl4kiVY~I!EI7Z-%{PYK(MayT>xr*J~ z0?E+PoJ0b_W}3jVo*{6UM@|wJJ2qbjKI=mukYP+HNr4{D3<5_S#3d9SI8A^GppqE^ zSD!}It1z1(0>-@hH=l*3`!MMUWrl$DAk*p2Qv^=yK$e zQ936Y#1Qsw@ODhGFX<&1YNDke#7(1VVo!Fb*8F;tBQ`IM2`*Ltlik`D{1Z z+ZY;|Hbciad!Wsw4ABwt{3c281Z@mnA`mbzYv=iF(p=dz*aL*fq+=-7G$_I^mUqZ63he&89JXyMu^bS@GO>MT}-D<(iahv=ybGa=Jy`uvy6LCbl@}{ zLn64L1z0=4V4{2JVGXgg1eOKIc|J=Rp<~<#&^k;Y8kkcMIS_UF*u-FHpA9{w} z*Yov2&{-$ZDKL1&*3cbfw5AyXXCOMu=J_lY!kXj&bIO4-i53Hk8AqVUIGqa}<2gQy z&IJY?rWE{(p#}bG2gHvDZ3_0!$1Q1+&V)z}>-dAu`onm_vH}wwvHp(sF7z?i?C7$^ z>uj;Ge0akfVGsfd))4&G1OjCcE$nZ6wh#6nhL4jR=oZK>i#SPNFgJ>S6bAd~3njsr z!Ja0$1r9(#f8(?H(B)sysvIWgM~cm7XZHne79}7KBkVCv8i!z>fVhX4d~=v;%6eWvHffvr%{6>%H}6Y6Eh0T~9s89gG=oC(elkDM?IAW#;- zxAVJ;^4Uq(83G1YD2RI+3HsmKhXgUnAR`{LojNxrzp8-#EhhQE>u6Y$8H9z_a04@q z>2QF-xVO4b!5W_ptGc~^ z>wn<0qxA{i48jt7f9hmwA2q@!A)VoaNgvLhByirF=d)Op=)8eWX8KGL zcx{HeI?}xfaQ5;J_$+(#`q9M1(Z;TUf9JD3WB=f@qtpnd4;D_Y=J>4pAc3=^vQWfheEtU}i3-_52U{>{u6#kqIu=2XST+7JAqGf9139!oBK$Wq?gF z+qV5d_RxF=*eY|$727r(3dx(#0NZ4+YOAe}(ql~kbiC-ldN9~T`7WGd2+5kZa z8DPhlXa-oP4I;^z#FBTHR~`(d%=6iakEO9Ullmc9+>qzCt%0S)!t}ZZmDScU&GQ*x ze~h9TVEM-06g@gEFR@PfaT9YaX#3iGP0^L-l=EK2ZWi%O`^*}v&6>>SX#1V~wXGn+ z$Nk3b$FXH^*~wpD<#?QyUbANX7J-#J?^UJ9EW6Z|Sm}g849i|$UUT44NZM2NZEz7- z0Mg}1dlr0V4gX61+E*25yibC6_3FQX&dQ$jX@U!}xSub`E}GJ-*NAF+g@vT(FPCyw zUuN`@Qub&uveAhAf{NP&pOSO0mfy$Nzg$IV)7ALY5(n#`g4WN!a=)foE3I3#4nCT+ zy=twa#=m0o{>Tq3R>!j=qN~=67(6L{(fTTn`pOFA?BTX5O6ZCedXW{~4HlBhdz4i7 zJuGf$XsmCdUs!7v;jFTD?Y8X)O*|5+UXIM?eoZmNt=OR97*A_{@uH)>y|L)7(n|iz zC5b1v*Gic_D}T{eUy>W_n_Knf<_5*u#_WRAS|nO$r`OICDfLZF4V^_Xg|w=wqPEcW z$Io(aJahT?uVsYM^Q3L3#z_$T58v%k&CIcih>-9qwe{T`V9VEyuuGl z>pE#^56#ttLC#9;HS^7F{ydlaRjn^z?}{zvxt-0l0+P3-rmCX)nXAOY>NgL#h4>_5 zvg7hno?6JS&@9R+-Y*(k_F}ZmI<%BpQdnGE)%>~WMs6@uQ%Ikj!wnzX)K~1l@t>=( z4=Ju~>*#DOBwpMjvFWdkBKrtFX-$1|xnGy{Kf?WWDD5S^H0$<}O_Rv-RYvK>?_D-= z@1Z#bQdAkpracAJYX~9|S^VNPr98_1q=uGNWKmtvopLKCBFq&+T7*H)QJW5K*=kZ? zOGujQAIEiBs1UtpWgF%$j%G(Za zR4RKImgQiy0E;M85Z7{WAp*~{b2IeU%^*8A+GNH(FFl2DadO;#if|$O3p)%qZ`3Ju zOAf%S5K=ODlpPaY+1A-wnc$(x|JRAAq`9=O%f1JQZMa@WqJ&5w2<9i(S}bxRxBcm6 znc~ohJZjWpPDGv}i!ixx$hq=V83f_kBeei7=sA|=+Yd^Bon;=840+K1TF40%Dv>LmEQ0hX?YVi@h)jB(M?%CB3>O!NurLP~=K`O~{>~O! zK~Z9&?;;K^43~FNzC06IESA>cwd!mXDQh0e{`Ao_CPP9sy)SRM=2!d~$sJB5xlBltlay$?Q7ssN7OfFu;rMQ^v zd`io}2L>8#x^-FXI%q7ur2WK3=eTJ4EL&aHs=4Ai?YeLA<4tG8pvHB`!Mxljd3zD8 zM^Sxk^1aJ<6N+;rpw#t{fY!;9UwE(4jwX?(=alS6!YbWnzW{O;IT?nU3xjp5EKlG^Ov^I%A|?;T zxDZ5#s)iOSaxJEyxa1ZF!=b>#vG3Go1hepBZn6@`f~ByRoS238^Z1q~=50k5>aN&G zzKC#P){tO3#H_eYd!tiqOg-vIzq2mp$*m2peER%ha50|UyyFE0=Mb^m_V32jkJhC$-p$NEwi$GK&hx5{RAxn+cVz`!Yh!$HSo02JyH7|w!#T9%H z;lwU*6h$zLd}|5?Wdlg0-nr^V+}A7C)HZnC&5DG<<>C-Z&_&igtGI%87yLx7wVN2Kl#EMjS*I9$l_gCWTUyVB?xzh*&-Fr z1zcDz#3a8>YqM)?G<{ylh6!$5uUh5ip5wom1I7T63(L=l*@|FR-p$R=HQ_{zGq)f{ zmCuj;g>Z0k>SR?!dpNoWq~|9EQZB$GmCVeMJVM@jt^lSB2eNiG{KAHFWs*E+Vdijg zEO}U6gp=`$i=ImsE7o&<3ywP^)*>_?jRs^(TtOfyVj~R8a^<6v7!Ix{5epGrN>+Z5 z)-ootOvoafoKKDqkFs;ggUbp__EK`(9^^_%mTJL5w*-N8l{@V*W|uiks3nM0Qk&0O z?I=>loRZyG7V_JQD?drwg03f!1fVM*_%_}xj@}HbF{Q78c-8)CMnRzFa(Qy+S;c}Fe-AgeyAQ*? zuEaehUq_HV$r%rv+=B3ac-K(xUC{9;OyPx{}mpDrELFmRwYj7T%C# z>f)FfEVGqsvptA3I(M&mt!VUk^-9Z6R5u-ajBFn&<|H+C>j4NziO%PIf0+$ZzFY zvo9>RlSSlLEVDFDjM>1k0MXCvPQ76DFd{DMS#sOM2dNp!5rHKoviv;!N5g3m*5>yk z+Ar_{^$`}}=i%LC(@nc*<>=ubnVORFsyWO$IxR0VJ_~9@#Nt{WtvW*@k>`-?j*(hl zEeQcWQ5j(=-#9v}OLMJXC~kMu~~VkIhRj{WftUSdl*Cn;1*)<(+Y4r>e@bY zS!89$1Ga9JJ^Zwd8PKJM*pp2H9w7@p* zt*DV@in7GGaDu|>a(qlt4)`7n9r^|7Pq%Ir+No)%E+~YPRX-YBa?Y2W;$a)n;15Q2 zwQhXccGLrDXYS^DUoe<_21*0Fz~kV#NgbfW`7H;f4Q1K*&NCNT$$2VG+=` z0)mi-l*PZ0j~{Z6LB={JKTCiUxGW^qUCqzE+xS6NQe4VmZeCuV&BvnR+h?1(qsc%( z3I|sne|FW?cQaVk))JC(A$h?zs=#Go>_kPygk@Dx5(|<|Nsf2BsuELqiK>d)9(7S6 zDMb}!rpj7)O;Ke#pEw)Os_w=KimNIsGnCc|@kku7y{5iXQCUcE^NEn)^xEp`n(CPv zq>`fpa@9|<hrxkW9C>_(4)IN%Sr+oIbkUqRgVYjl@X$3?19a501 z>C9OX{_U#rN?>tzEAE2#OCG{JC}4xxEtAi2;yZI$6qSrDAs~L@f?74KqyuV7-s$I5 znIdaoe&Be2gV{?sLp?T_-Gzc#8T?t%c`$3nA#hDiaTd&K9z7rfOcucGE|+;QdsIU} z5TcU_U>3V|+orWvn8=s}^ak~9ZHI*<0$6EMqDK?eaWGxvq&4bU&$UyhSWbteQ3rz+ z7CJX4X4lP%+5P)w#jJ$uwplT&Y=oN?vvT@JA)A6Ra!4K(v!Y@%IF<-zt$rki6rDHg zWuI*q)1PeEC9y;1pu!Fb$hRq_VDx&d8*Yov*H&bTECaAAc~Jd7c-h{6dfAJJzQ(+l zRkIPOhb8E|XMrBbR|X1ZfvyX$KNJ#+iB5wnQQsO20x@eK*va}7InJs^_7hatd1c86 z7l_&JZ$HQg-)UZ$aiVOoE+V>F{&8G1M{F-UuPj|%!OsBag65SKGX&Ct=9LBSI4fpl&>!=Zw*L~dnrA@F1~(7; zAeg|O$gt{W3uHee#e)$*mslLAS@+nOXr!I3W;0|&jac^~iN3I$X8WKiKH}y@KVSQb z$@^#3qHBAF9tDzw?W(UP zWVW;`AZO%Yz1a?Hk;p(OB?|;%T$>spk`mf*%X?YZ%)llPY(C}2t_s&HPY&u8tY#>B5MT8 z+A9SS)3-D`(`HAH>vG9J(+}v8_3G<+9fM1vqMUXPa}vFos1@gb8AlW zy#hIemHk-{cJDr*oy+QJ7_>R*b^n^NuFVzWeR6Uj?v+(lcbkZUZ9>(o!S^p+YxG_> zRfT3%mX`#E9Ygjt(`(K496F>0`Ty>H?Wwf4jPDyP;Y2P^O_^%UOz1pf)uD-HFCqKR z?%BU@?_M=E6*U=kpV;U)_%%Y1STOUUYpH+H>5)vRk{ZQz0jjg29kd)it$Poiq}Yi}v2S;6g}AnO&V*`awg zYs~t29}>&5)huFWbVghI%xUHc))DM&2!b|r**Vy0yGd5_yi;Jw^!SgOtEY}1I%MAV z?z)Qf4i!B+x91rRpT2!+E=hTM=ZJb;O%a^lZYq57-eGmcyRVlKOxnOuI;h#g?-PNu zYIb5~PR(M`#Ij4Tp=$OGTg|Rq?rg`jUTSG!evx2!J%SWXoy#nnE+uQ;H34ciSAVaZ zgoM~hznlkqCFITge6MKA?LKUJE3R>PW>oq5ht9UtxcH);&);_M80-f%yXoBYD5_@r zrlvY_3JOceYap{M12W5sr-8BN_#?Ay6q;mK!td_Adv|Z&a&vQXg5l4d%PjjrN9tT9 zsM(J3*A9Epl=D)0N%_W7r{cPsA`DfPAXA>CjH>Q!Vd~__4@j~LY8HNv9FXyiOPo+O zTQ!$i7SwDe2eNQh&HBx$*~O4q7Qm7nayo_?u;dwl&xh_$A@b%k%RZCR@MQf=y;{m@ zb2=gp_hQKh569UMzp*;KHFhZ~tE#K1DegKUmQ`9@Tv}3AUgdzQ**Y%{q4v`!=GCke z-AVw|?0#fVx+Gi8`q!5KUCp{CLZUxnSZKJ9cXUk5`?<`rjfZwyl=$lDd%k7$#$D1> zlvMB;9c=!=8j91Fl$6;CH=QUd9nk|dizb#m!KzpUiDfZy-_=3Qu81qlBB!S$rG$IH zIJTmn?66pCzPpN^y?9bW(jc~v#durr{NDW>_+2II`csT#abnxWC8c)A%Iz{b0%lfG z2~HiBDH+(Pz}+^=0Zf*^I^?BL1u?74Qo+CtI82qll+S;eB&oyQIVh)vXOuaWR8&v4t&NeWMdh1~SPQ@Zqw1o_0aUwIgC1L^w%Dm#Dn#cHI-Cx9W%7!Me#UGL4E^_*Ev1ndzwsXggFrG&ol25fu~j4*l?e!Q$ynC6S^l$G=k?)OYNJ zRq@aR`1K;wY3Ia6gr)Z%niI3U=VW+AbwxAikXBYi-ca`l&iW%9^jfa& z6cJFBzRxDJdcqpww;{3YX{^OzG_h>;Hmj6#s~CcD z6D=d&UFdwnx9Ug7C8cn@CnWwxX3eyK%zgs}d79H<7tmH9vsrIZGK;Dl`>3_dJVuBBE>!+kgmCS>4g^Nb+Hyq(J{ z+odmKbUTQY5TdJfVF!rW2GPyzys`%oYw=(ZvnyL5uk0cz!mOC(Zl9REjUXpKe@I#E z{G#~^a#$4Zv%R!>{W_QKj-piyG8o^-#;1U%vpzovCPg>RidoJPKW`$FbT%*e=5s%u zSuxv<=9S&{m*%g$vIdwX{v!j)AZ8WdwrqK1aeQ6v0p!MuPFD^A<<1vfb>)?`&K|gv zMyPeTuYYiOJ}HUXJM}E7)lGI@%trqhc0)Gib#@*{mZVoTSb&(t zzi6hcMaL)> zXH8k-z0Sb{?_PVE??Si~YN+MmK0(EmEyoe5mbRA~AZAIQzD8o#RSkTu2QfP^6~Gp= zbtYBQAZD$%A?_c5(RaUo`#I}AB#`c(%PUKb{nRez{-W_YvW#3+Z;OiA(5~j!pNIRq zI{Wkx>!B}A>p{$R4Nq9kiP?3GF&6O;F{=ruaLL`R%(jIuUKM#p#*khQ!$d>#%BEC| zwtH-tN+FV8w;6&VxrdN!}@n(6S$_n*^l z+;Vq!NgDW8>E`Z!+nsr9^^Njx{qZjDx7=^vf|qXHy6t|8>CU>fz}+=rXt?+$`gooD zt(&)L!$Xji*4^DT;AL<9gAh`5-7K2r>J6#w?H^9^V+{`2?qgD2rXc=DOAKfLMbGkEyaH~-_vAmpfBIGZ)LA093k zra55SFaExm2?+i76k(fEEuzGTwo2Lt(zL(M5BqW>-%% zg%zS$7P@eFH0eQXbowtWTO3|F{1cx4S>h2B6ZZv8feN{1zh;EC{2cw+exDc<{VUh( zo4ADD-Y0>i=$iRlvu&}y&tjts=CSM;JtIEn|0&n(z?hjT9Ec@lOl3sz0&p+n>}0RWH6w z{lcq@YxoD29foEn`{Q-w zxTmpLIV!c4T_&=UfyE?K?HO3E*%JRVEX!n45zTSz)|HxG6e@L!jb*2&{}s#jP^tK_ zUv*5(mA`;p{(p^ShoOTxLH>HuKbp$00o;oCRnKd|gvB`c}aYIZ{wYC`8|!nO=7 zAJo)0{x>W;@vX0?cXZ%QYwP>bKd>xX$PX;S4T12ZueV{6y7u*0?da>q){dT@;aM#E zhDz0e#^9*b#@TxC$*!)@15gj*&!8@QJBwvu^KXN-V^q%Wu|KdZT0RrY#qIBpmxGSx z)S*(Vrl~B-43&e{JxN_$J9r(iY%7&22V;U$$9qLEs2r~$E}?MzG!-g=BwPf6m502ZOo*HiSWu8;4dx z^mqNnvM{`^3@nFS@+4FtH-<%$ALPr!*f`c3T;APUm2keGXW`krEOioI*Rj`OU|CS?d=;>HGHl5O zW8j+X1q0$gjYj7mSe7|S#XvklvCyZS+!S=jIPmJw203^RrW|H!4$Hz1Zrsp7ZdZtY z=oxlj&({M%M^VS(VDPvp&>eDUO*2%^4s@2yW7#hd)|$yMr;>4#Xfd#uap1kiv0UgF z&tX|~E-hX25_FJL@jS%Ha;P`;zR3w_Kr zJGyM&I$JC(A1&}k7z8|(0>KZ<18xv4>~C0h9QGfEk5dlsk7t*qGl^X=H;R802K#6a zCBc}%o~rxf2cV$8VcCz+Q z6q?7fuxAukb#xxAOpbt_LQ8g?o*xIcIqiXh$6+v`UUnSF!2m>{N2HYz)Ch=2PFNrO z8Q2Bz?fmYdSe8*YL&d-f1#!Pp6Z)UxstGa4kVCv?J9TbMepLbe%dP1OucKit$Dl5x z;N`F@IOkmn*dAJse;#4MPo6u*Ubms$TtK z=s#fDsev~w4C<2V7hfh@$G^O6ee<5tig`cTGfCxan#Z!E(0YGY1|HFb=ArWjI+@uz zN#(7Y>>7UGLWQ%JQNXh7%?G9u6Q>5gP5e8S{W1LyEIak(C9@R^Cs%V=wqcOUIb7P+ yF%89k{olp1BMrk;t_~E-4l{d}_x<=EV%h0$eT*LDC8HIgGpP$(zW)Eivi}FaaOW!k literal 0 HcmV?d00001 diff --git a/pdrpse.smdh b/pdrpse.smdh new file mode 100644 index 0000000000000000000000000000000000000000..f83a3374147a280239ab769c8456625e5015a63f GIT binary patch literal 14016 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 + 00040000000ae100 + diff --git a/source/filesystem.c b/source/filesystem.c new file mode 100644 index 0000000..d070b9d --- /dev/null +++ b/source/filesystem.c @@ -0,0 +1,310 @@ +#include +#include +#include + +#include <3ds.h> + +#include "filesystem.h" + +Handle saveGameFsHandle, sdmcFsHandle; +FS_archive saveGameArchive, sdmcArchive; + +typedef struct lsLine +{ + FS_dirent thisLine; + struct lsLine* nextLine; +} lsLine; + +typedef struct lsDir +{ + struct lsLine* firstLine; + struct lsDir* parentDir; +} lsDir; + + +// bypass handle list +Result _srvGetServiceHandle(Handle* out, const char* name) +{ + Result rc = 0; + + u32* cmdbuf = getThreadCommandBuffer(); + cmdbuf[0] = 0x50100; + strcpy((char*) &cmdbuf[1], name); + cmdbuf[3] = strlen(name); + cmdbuf[4] = 0x0; + + if((rc = svcSendSyncRequest(*srvGetSessionHandle())))return rc; + + *out = cmdbuf[3]; + return cmdbuf[1]; +} + +Result filesystemInit() +{ + Result ret; + + ret = _srvGetServiceHandle(&saveGameFsHandle, "fs:USER"); + if(ret)return ret; + + ret = FSUSER_Initialize(&saveGameFsHandle); + if(ret)return ret; + + ret = srvGetServiceHandle(&sdmcFsHandle, "fs:USER"); + if(ret)return ret; + + saveGameArchive = (FS_archive){0x00000004, (FS_path){PATH_EMPTY, 1, (u8*)""}}; + ret = FSUSER_OpenArchive(&saveGameFsHandle, &saveGameArchive); + + sdmcArchive = (FS_archive){0x00000009, (FS_path){PATH_EMPTY, 1, (u8*)""}}; + ret = FSUSER_OpenArchive(&sdmcFsHandle, &sdmcArchive); + + return ret; +} + +Result filesystemExit() +{ + Result ret; + + ret = FSUSER_CloseArchive(&saveGameFsHandle, &saveGameArchive); + ret = FSUSER_CloseArchive(&sdmcFsHandle, &sdmcArchive); + ret = svcCloseHandle(saveGameFsHandle); + ret = svcCloseHandle(sdmcFsHandle); + + return ret; +} + +Result filesystemSoftReset() +{ + // exit and reinit without giving up those handles + Result ret; + + ret = FSUSER_CloseArchive(&saveGameFsHandle, &saveGameArchive); + ret = FSUSER_CloseArchive(&sdmcFsHandle, &sdmcArchive); + + saveGameArchive = (FS_archive){0x00000004, (FS_path){PATH_EMPTY, 1, (u8*)""}}; + ret = FSUSER_OpenArchive(&saveGameFsHandle, &saveGameArchive); + + sdmcArchive = (FS_archive){0x00000009, (FS_path){PATH_EMPTY, 1, (u8*)""}}; + ret = FSUSER_OpenArchive(&sdmcFsHandle, &sdmcArchive); + + return ret; +} + +Result FSUSER_ControlArchive(Handle handle, FS_archive archive) +{ + u32* cmdbuf=getThreadCommandBuffer(); + + u32 b1 = 0, b2 = 0; + + cmdbuf[0]=0x080d0144; + cmdbuf[1]=archive.handleLow; + cmdbuf[2]=archive.handleHigh; + cmdbuf[3]=0x0; + cmdbuf[4]=0x1; //buffer1 size + cmdbuf[5]=0x1; //buffer1 size + cmdbuf[6]=0x1a; + cmdbuf[7]=(u32)&b1; + cmdbuf[8]=0x1c; + cmdbuf[9]=(u32)&b2; + + Result ret=0; + if((ret=svcSendSyncRequest(handle)))return ret; + + return cmdbuf[1]; +} + +/*Result FSUSER_GetMediaType(Handle handle, u8* mediatype) +{ + u32* cmdbuf=getThreadCommandBuffer(); + + cmdbuf[0]=0x08680000; + + Result ret=0; + if((ret=svcSendSyncRequest(handle)))return ret; + + if(mediatype) + *mediatype = (u8)cmdbuf[2]; + + return cmdbuf[1]; +}*/ + +// let's add stuff from 3ds_hb_menu, just because +Result loadFile(char* path, void* dst, FS_archive* archive, Handle* fsHandle, u64 maxSize) +{ + // must malloc first! (and memset, if you'd like) + if(!path || !dst || !archive)return -1; + + u64 size; + u32 bytesRead; + Result ret; + Handle fileHandle; + + ret=FSUSER_OpenFile(fsHandle, &fileHandle, *archive, FS_makePath(PATH_CHAR, path), FS_OPEN_READ, FS_ATTRIBUTE_NONE); + if(ret!=0)return ret; + + ret=FSFILE_GetSize(fileHandle, &size); + if(ret!=0)goto loadFileExit; + if(size>maxSize){ret=-2; goto loadFileExit;} + + ret=FSFILE_Read(fileHandle, &bytesRead, 0x0, dst, size); + if(ret!=0)goto loadFileExit; + if(bytesRead 0) return 1; + return 0; +} diff --git a/source/filesystem.h b/source/filesystem.h new file mode 100644 index 0000000..326d898 --- /dev/null +++ b/source/filesystem.h @@ -0,0 +1,21 @@ +#ifndef FILESYSTEM_H +#define FILESYSTEM_H + +extern Handle saveGameFsHandle, sdmcFsHandle; +extern FS_archive saveGameArchive, sdmcArchive; + +Result filesystemInit(); +Result filesystemExit(); +Result filesystemSoftReset(); +Result FSUSER_ControlArchive(Handle handle, FS_archive archive); +//Result FSUSER_GetMediaType(Handle handle, u8* mediatype); +Result loadFile(char* path, void* dst, FS_archive* archive, Handle* fsHandle, u64 maxSize); +Result writeFile(char* path, u8* data, u32 size, FS_archive* archive, Handle* fsHandle); +Result deleteFile(char* path, FS_archive* archive, Handle* fsHandle); +u64 sizeFile(char* path, FS_archive* archive, Handle* fsHandle); +Result readBytesFromSaveFile(const char* filename, u64 offset, u8* buffer, u32 size); +Result writeBytesToSaveFile(const char* filename, u64 offset, u8* buffer, u32 size); +Result getSaveGameFileSize(const char* filename, u64* size); +Result doesFileNotExist(const char* filename, Handle* fsHandle, FS_archive archive); +int file_exist (const char *filename); +#endif diff --git a/source/main.c b/source/main.c new file mode 100644 index 0000000..a1e7662 --- /dev/null +++ b/source/main.c @@ -0,0 +1,295 @@ +#include +#include +#include + +#include <3ds.h> + +#include "filesystem.h" +#include "text.h" + +#define bitcheck(x) (number >> x) & 1 + +int main(int argc, char**argv) +{ + + amInit(); + filesystemInit(); + + gfxInitDefault(); + //gfxSet3D(true); // uncomment if using stereoscopic 3D + consoleInit(GFX_TOP, NULL); +/* + //u8 mediatype; + u64 TID; + //FSUSER_GetMediaType(&saveGameFsHandle,&mediatype); + aptOpenSession(); + APT_GetProgramID(NULL, &TID); + aptCloseSession(); +*/ + printf("Pokemon Dream Radar Pocket Save Editor v0.1\n"); + printf("------------------------------by suloku '15\n\n"); + + int exitnow = 0; + + // Load savegame + u64 size; + u8* buffer = NULL; + //Try to open savefile + Result res = getSaveGameFileSize("/cygsavedata.dat",&size); + if (res != 0 ){ + printf ("Can't open cygsavedata.dat\n"); + exitnow = 1; + } else{ + buffer = (u8*)malloc(size); + res = readBytesFromSaveFile("/cygsavedata.dat",0,buffer,size); + if (res != 0 ){ + printf ("Failed to read cygsavedata.dat\n\n"); + exitnow = 1; + } + } + + //Save is loaded in buffer + + //Variables we'll modify + u32 orbs_cash; + u32 orbs_totalcol; + u32 orbs_reward; + u8 gen4ext; + u16 gen4catch; + + int save = 0; + + // Main loop + if (!exitnow){ + //Copy Data + memcpy (&orbs_cash, buffer+0x68, sizeof(u32)); + memcpy (&orbs_totalcol, buffer+0x6C, sizeof(u32)); + memcpy (&orbs_reward, buffer+0x288, sizeof(u32)); + memcpy (&gen4ext, buffer+0x26E, sizeof(u8)); + memcpy (&gen4catch, buffer+0x272, sizeof(u16)); + int cursor = 0; + while (aptMainLoop()) + { + gspWaitForVBlank(); + hidScanInput(); + gotoxy(0,0); + + printf("Pokemon Dream Radar Pocket Save Editor v0.1\n"); + printf("------------------------------by suloku '15\n\n"); + + printf ("\tOrbs Cash: %06lu \n", orbs_cash); + printf ("\tTotal Collected Orbs: %06lu \n", orbs_totalcol); + printf ("\tOrb count for next reward: %06lu \n", orbs_reward); + + printf ("\nGen IV Extension: 0x%02X - 0x%04X\n", gen4ext, gen4catch); + printf ("\tTemoral (Dialga): "); + if ((gen4ext & 0x4) >1) printf("unlocked - "); + else printf ("locked - "); + if ((gen4catch & 0x10) >1) printf("catched \n"); + else printf ("uncatched\n"); + printf ("\tSpatial (Palkia): "); + if ((gen4ext & 0x8) >1) printf("unlocked - "); + else printf ("locked - "); + if ((gen4catch & 0x20) >1) printf("catched \n"); + else printf ("uncatched\n"); + printf ("\tRenegade (Giratina): "); + if ((gen4ext & 0x10) >1) printf("unlocked - "); + else printf ("locked - "); + if ((gen4catch & 0x40) >1) printf("catched \n"); + else printf ("uncatched\n"); + printf ("\tRainbow (Ho-Oh): "); + if ((gen4ext & 0x20) >1) printf("unlocked - "); + else printf ("locked - "); + if ((gen4catch & 0x80) >1) printf("catched \n"); + else printf ("uncatched\n"); + printf ("\tDiving (Lugia): "); + if ((gen4ext & 0x40) >1) printf("unlocked - "); + else printf ("locked - "); + if ((gen4catch & 0x100) >1) printf("catched \n"); + else printf ("uncatched\n"); + + printf("\n\n\nControls:\n"); + if (cursor < 3){ + printf("\tLEFT/RIGHT: +-100 \n"); + printf("\tLEFT/RIGHT (hold R): +-1 \n"); + printf("\tLEFT/RIGHT (hold L): +-1000 \n"); + }else{ + printf("\tA: toogle all gen IV extensions \n"); + printf("\tY: toogle gen IV extensions \n"); + printf("\tB: toogle gen IV as catched/uncatched\n"); + } + + printf("\n\tX: unlock next reward\n"); + printf("\n\nPress START to exit\n"); + printf("Press SELECT to save & exit\n"); + + u32 kDown = hidKeysDown(); + u32 kHeld = hidKeysHeld(); + if (kDown & KEY_START) + break; // break in order to return to hbmenu + + if (kDown & KEY_SELECT){ + save = 1; + break; // save and exit + } + + if (kDown & KEY_DOWN){ + cursor++; + if (cursor > 7) cursor = 7; + } + if (kDown & KEY_UP){ + cursor--; + if (cursor < 1) cursor = 0; + } + + switch (cursor){ + case 0: + if (kDown & KEY_RIGHT && kHeld & KEY_R){ + orbs_cash++; + } else if (kHeld & KEY_RIGHT && !(kHeld & (KEY_R|KEY_L))){ + orbs_cash+=100; + } else if (kHeld & KEY_RIGHT && (kHeld & KEY_L)){ + orbs_cash+=1000; + } + if (orbs_cash > 999998) orbs_cash = 999999; + if (kDown & KEY_LEFT && kHeld & KEY_R){ + orbs_cash--; + } else if (kHeld & KEY_LEFT && !(kHeld & (KEY_R|KEY_L))){ + orbs_cash-=100; + } else if (kHeld & KEY_LEFT && (kHeld & KEY_L)){ + orbs_cash-=1000; + } + if (orbs_cash < 1 || orbs_cash > 999999) orbs_cash = 0; + break; + + case 1: + if (kDown & KEY_RIGHT && kHeld & KEY_R){ + orbs_totalcol++; + } else if (kHeld & KEY_RIGHT && !(kHeld & (KEY_R|KEY_L))){ + orbs_totalcol+=100; + } else if (kHeld & KEY_RIGHT && (kHeld & KEY_L)){ + orbs_totalcol+=1000; + } + if (orbs_totalcol > 999998) orbs_totalcol = 999999; + if (kDown & KEY_LEFT && kHeld & KEY_R){ + orbs_totalcol--; + } else if (kHeld & KEY_LEFT && !(kHeld & (KEY_R|KEY_L))){ + orbs_totalcol-=100; + } else if (kHeld & KEY_LEFT && (kHeld & KEY_L)){ + orbs_totalcol-=1000; + } + if (orbs_totalcol < 1 || orbs_totalcol > 999999) orbs_totalcol = 0; + break; + + case 2: + if (kDown & KEY_RIGHT && kHeld & KEY_R){ + orbs_reward++; + } else if (kHeld & KEY_RIGHT && !(kHeld & (KEY_R|KEY_L))){ + orbs_reward+=100; + } else if (kHeld & KEY_RIGHT && (kHeld & KEY_L)){ + orbs_reward+=1000; + } + if (orbs_reward > 999998) orbs_reward = 999999; + if (kDown & KEY_LEFT && kHeld & KEY_R){ + orbs_reward--; + } else if (kHeld & KEY_LEFT && !(kHeld & (KEY_R|KEY_L))){ + orbs_reward-=100; + } else if (kHeld & KEY_LEFT && (kHeld & KEY_L)){ + orbs_reward-=1000; + } + if (orbs_reward < 1 || orbs_reward > 999999) orbs_reward = 0; + break; + } + + if (kDown & KEY_X){ + orbs_reward = 3000; + } + if (kDown & KEY_A){ + //Disable if there's one enabled + if (gen4ext & 0x7C){ + gen4ext &= ~0x7C; + //And disable catched flags + gen4catch &= ~0x10; + gen4catch &= ~0x20; + gen4catch &= ~0x40; + gen4catch &= ~0x80; + gen4catch &= ~0x100; + }else //enable all + gen4ext |= 0x7C; + } + if (kDown & KEY_Y){ + if (cursor == 3) gen4ext ^= 0x4; + if (cursor == 4) gen4ext ^= 0x8; + if (cursor == 5) gen4ext ^= 0x10; + if (cursor == 6) gen4ext ^= 0x20; + if (cursor == 7) gen4ext ^= 0x40; + //Disable catched if unlocked + if (!(gen4ext & 0x4)) gen4catch &= ~0x10; + if (!(gen4ext & 0x8)) gen4catch &= ~0x20; + if (!(gen4ext & 0x10)) gen4catch &= ~0x40; + if (!(gen4ext & 0x20)) gen4catch &= ~0x80; + if (!(gen4ext & 0x40)) gen4catch &= ~0x100; + + } + if (kDown & KEY_B){ + if (gen4ext & 0x4 && cursor == 3) gen4catch ^= 0x10; + if (gen4ext & 0x8 && cursor == 4) gen4catch ^= 0x20; + if (gen4ext & 0x10 && cursor == 5) gen4catch ^= 0x40; + if (gen4ext & 0x20 && cursor == 6) gen4catch ^= 0x80; + if (gen4ext & 0x40 && cursor == 7) gen4catch ^= 0x100; + } + + gotoxy(0, 3); printf (" "); + gotoxy(0, 4); printf (" "); + gotoxy(0, 5); printf (" "); + gotoxy(0, 8); printf (" "); + gotoxy(0, 9); printf (" "); + gotoxy(0, 10); printf (" "); + gotoxy(0, 11); printf (" "); + gotoxy(0, 12); printf (" "); + if (cursor < 3) + gotoxy(0, 3+cursor); + else if (cursor > 2) + gotoxy(0, 3+cursor+2); + printf(">>"); + + //if (kHeld || kDown) consoleClear(); + // Flush and swap framebuffers + gfxFlushBuffers(); + gfxSwapBuffers(); + } + }else{ + printf("\nPress START to exit.\n"); + while(aptMainLoop()){ + gspWaitForVBlank(); + hidScanInput(); + + u32 kDown = hidKeysDown(); + if (kDown & KEY_START) + break; // break in order to return to hbmenu + + // Flush and swap framebuffers + gfxFlushBuffers(); + gfxSwapBuffers(); + } + } + + if (save){ + //set data to buffer + memcpy (buffer+0x68, &orbs_cash, sizeof(u32)); + memcpy (buffer+0x6C, &orbs_totalcol, sizeof(u32)); + memcpy (buffer+0x288, &orbs_reward, sizeof(u32)); + memcpy (buffer+0x26E, &gen4ext, sizeof(u8)); + memcpy (buffer+0x272, &gen4catch, sizeof(u16)); + // Save savegame + res = writeBytesToSaveFile("/cygsavedata.dat", 0, buffer, size); + } + + if (buffer != NULL) free(buffer); + + filesystemExit(); + amExit(); + gfxExit(); + + return 0; +} diff --git a/source/text.c b/source/text.c new file mode 100644 index 0000000..e66f74e --- /dev/null +++ b/source/text.c @@ -0,0 +1,77 @@ +// some text routines from 3dsfindskitten +#include +#include +#include +#include "text.h" + +void gotoxy(int x, int y) +{ + // in other words, move to row y, column x + // (both zero-indexed!) + printf("\x1b[0m"); + printf("\x1b[%d;%dH",y,x); +} + +void textcolour(enum colour c) +{ + printf("\x1b[0m"); + if(c>>3) // i.e. if normal intensity + { + printf("\x1b[3%d;1m",c%8); + } + else + { + printf("\x1b[3%dm",c%8); + } +} + +int lastSpace(char *tocut) +{ + char *lastSpace; + lastSpace = strrchr(tocut,' '); + if(lastSpace) + { + return (int)(lastSpace-tocut); + } else { return -1; } +} + +void wordwrap(char *towrap, int width) +{ + int idx = 0; + int i, lastSpc; + char* buffer = (char*)malloc(width+1); + memset(buffer,0,width+1); + do + { + strncpy(buffer,towrap+idx,width); + if(strlen(buffer)0) + { + for(i=0;i