From 03ad3b5c301d5410bdf28594246d001b8e86d5ba Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 17:51:37 +0200 Subject: [PATCH 1/7] [LIBNX] Remove task_autodetect workaround --- tasks/task_autodetect.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tasks/task_autodetect.c b/tasks/task_autodetect.c index 5da349b32b..4f8ac88943 100644 --- a/tasks/task_autodetect.c +++ b/tasks/task_autodetect.c @@ -843,12 +843,8 @@ static void input_autoconfigure_connect_handler(retro_task_t *task) if (!params || string_is_empty(params->name)) goto end; -#ifndef HAVE_LIBNX // This seems to be problematic on switch with threading if ( !input_autoconfigure_joypad_from_conf_dir(params, task) && !input_autoconfigure_joypad_from_conf_internal(params, task)) -#else - if ( !input_autoconfigure_joypad_from_conf_internal(params, task)) -#endif { char msg[255]; From 0a70d92da5861cd5807c6b309f441ebb2d305b0b Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 17:52:17 +0200 Subject: [PATCH 2/7] [LIBNX] Add HAVE_UPDATE_ASSETS and cleanup --- Makefile.libnx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.libnx b/Makefile.libnx index 547f8d3060..739abd4788 100644 --- a/Makefile.libnx +++ b/Makefile.libnx @@ -110,9 +110,9 @@ NO_ICON := 1 ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \ - $(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h $(shell $(DEVKITPRO)/portlibs/switch/bin/freetype-config --cflags) + $(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h $(shell $(PORTLIBS)/bin/freetype-config --cflags) -CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_FREETYPE +CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DHAVE_FREETYPE # The following line works around an issue in newlib that produces a compilation # error in glm. It will be removed as soon as this issue is resolved. From af21a6ad368c87a467baedb01747d34704fbc37a Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 17:52:35 +0200 Subject: [PATCH 3/7] [LIBNX] Prefered default for Analog DPAD Mode --- configuration.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configuration.c b/configuration.c index fae1a05383..d8c8018b8d 100644 --- a/configuration.c +++ b/configuration.c @@ -1879,7 +1879,11 @@ static void config_set_defaults(void) for (i = 0; i < MAX_USERS; i++) { settings->uints.input_joypad_map[i] = i; +#ifdef SWITCH // Switch prefered default dpad mode + settings->uints.input_analog_dpad_mode[i] = ANALOG_DPAD_LSTICK; +#else settings->uints.input_analog_dpad_mode[i] = ANALOG_DPAD_NONE; +#endif input_config_set_device(i, RETRO_DEVICE_JOYPAD); settings->uints.input_mouse_index[i] = 0; } From 7a841eae2423646eb7448cd20cd25b9acbe7082e Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 17:53:29 +0200 Subject: [PATCH 4/7] [SWITCH] Change platform dir layout to match unix, fixes autodetect --- frontend/drivers/platform_switch.c | 65 ++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/frontend/drivers/platform_switch.c b/frontend/drivers/platform_switch.c index 9157f71366..171d05d8ac 100644 --- a/frontend/drivers/platform_switch.c +++ b/frontend/drivers/platform_switch.c @@ -35,6 +35,7 @@ #include "../../retroarch.h" #include "../../file_path_special.h" #include "../../audio/audio_driver.h" +#include #ifndef IS_SALAMANDER #ifdef HAVE_MENU @@ -105,18 +106,18 @@ static void frontend_switch_get_environment_settings(int *argc, char *argv[], vo fill_pathname_basedir(g_defaults.dirs[DEFAULT_DIR_PORT], SD_PREFIX "/retroarch/retroarch_switch.nro", sizeof(g_defaults.dirs[DEFAULT_DIR_PORT])); RARCH_LOG("port dir: [%s]\n", g_defaults.dirs[DEFAULT_DIR_PORT]); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT], - "downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT], - "media", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], g_defaults.dirs[DEFAULT_DIR_PORT], "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], g_defaults.dirs[DEFAULT_DIR_CORE], + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], g_defaults.dirs[DEFAULT_DIR_PORT], "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], g_defaults.dirs[DEFAULT_DIR_PORT], + "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT], + "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], g_defaults.dirs[DEFAULT_DIR_CORE], "savestates", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE])); @@ -126,24 +127,56 @@ static void frontend_switch_get_environment_settings(int *argc, char *argv[], vo fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], g_defaults.dirs[DEFAULT_DIR_CORE], "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], g_defaults.dirs[DEFAULT_DIR_CORE], - "playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], g_defaults.dirs[DEFAULT_DIR_PORT], "config", sizeof(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], g_defaults.dirs[DEFAULT_DIR_PORT], - "config/remaps", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], + "remaps", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], g_defaults.dirs[DEFAULT_DIR_PORT], - "filters", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], g_defaults.dirs[DEFAULT_DIR_PORT], + "playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], g_defaults.dirs[DEFAULT_DIR_PORT], - "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG], g_defaults.dirs[DEFAULT_DIR_PORT], + "records_config", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], g_defaults.dirs[DEFAULT_DIR_PORT], + "records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CURSOR], g_defaults.dirs[DEFAULT_DIR_PORT], "database/cursors", sizeof(g_defaults.dirs[DEFAULT_DIR_CURSOR])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], g_defaults.dirs[DEFAULT_DIR_PORT], + "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], g_defaults.dirs[DEFAULT_DIR_PORT], + "filters", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], g_defaults.dirs[DEFAULT_DIR_PORT], + "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], g_defaults.dirs[DEFAULT_DIR_PORT], + "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], g_defaults.dirs[DEFAULT_DIR_PORT], + "overlay", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT], + "downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], g_defaults.dirs[DEFAULT_DIR_PORT], + "screenshots", sizeof(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], g_defaults.dirs[DEFAULT_DIR_PORT], + "thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS])); + + int i = 0; + for (i; i < DEFAULT_DIR_LAST; i++) + { + const char *dir_path = g_defaults.dirs[i]; + if (!string_is_empty(dir_path)) + path_mkdir(dir_path); + } + fill_pathname_join(g_defaults.path.config, g_defaults.dirs[DEFAULT_DIR_PORT], file_path_str(FILE_PATH_MAIN_CONFIG), sizeof(g_defaults.path.config)); } From 6b24ca4632ebf79674719572cf9667d1df0b3f27 Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 19:25:45 +0200 Subject: [PATCH 5/7] [LIBNX] Add Static Dummy --- Makefile.libnx | 22 ++++++++++++++++------ cores/dynamic_dummy.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/Makefile.libnx b/Makefile.libnx index 739abd4788..e6b53a9c45 100644 --- a/Makefile.libnx +++ b/Makefile.libnx @@ -100,19 +100,24 @@ EXEFS_SRC := exefs_src #ROMFS := switch/romfs APP_TITLE := RetroArch -APP_VERSION := 1.0.0 +APP_VERSION := 1.7.5 APP_AUTHOR := libretro Team -NO_ICON := 1 +APP_ICON := pkg/libnx/retroarch.jpg #--------------------------------------------------------------------------------- # options for code generation #--------------------------------------------------------------------------------- ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd -CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \ - $(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h $(shell $(PORTLIBS)/bin/freetype-config --cflags) +CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \ + $(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h $(shell $(PORTLIBS)/bin/freetype-config --cflags) -CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DHAVE_FREETYPE +CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DHAVE_FREETYPE + +ifeq ($(strip $(HAVE_STATIC_DUMMY)),1) + HAVE_STATIC_DUMMY = 1 + CFLAGS += -DHAVE_STATIC_DUMMY=1 +endif # The following line works around an issue in newlib that produces a compilation # error in glm. It will be removed as soon as this issue is resolved. @@ -169,7 +174,12 @@ else endif #--------------------------------------------------------------------------------- -export OFILES := $(OBJ) libretro_libnx.a +export OFILES := $(OBJ) + +ifeq ($(strip $(HAVE_STATIC_DUMMY)),) + OFILES += libretro_libnx.a +endif + export HFILES_BIN := $(addsuffix .h,$(subst .,_,$(BINFILES))) export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ diff --git a/cores/dynamic_dummy.c b/cores/dynamic_dummy.c index ad61faff97..21b8014a85 100644 --- a/cores/dynamic_dummy.c +++ b/cores/dynamic_dummy.c @@ -25,6 +25,34 @@ static uint16_t *dummy_frame_buf; +#if defined(HAVE_LIBNX) && defined(HAVE_STATIC_DUMMY) +void retro_init(void) { libretro_dummy_retro_init(); } +void retro_deinit(void) { libretro_dummy_retro_deinit(); } +unsigned retro_api_version(void) { return libretro_dummy_retro_api_version(); } +void retro_set_controller_port_device(unsigned port, unsigned device) { libretro_dummy_retro_set_controller_port_device(port, device); } +void retro_get_system_info(struct retro_system_info *info) { libretro_dummy_retro_get_system_info(info); } +void retro_get_system_av_info(struct retro_system_av_info *info) { retro_get_system_av_info(info); } +void retro_set_environment(retro_environment_t cb) { libretro_dummy_retro_set_environment(cb); } +void retro_set_audio_sample(retro_audio_sample_t cb) { libretro_dummy_retro_set_audio_sample(cb); } +void retro_set_audio_sample_batch(retro_audio_sample_batch_t cb) { libretro_dummy_retro_set_audio_sample_batch(cb); } +void retro_set_input_poll(retro_input_poll_t cb) { libretro_dummy_retro_set_input_poll(cb); } +void retro_set_input_state(retro_input_state_t cb) { libretro_dummy_retro_set_input_state(cb); } +void retro_set_video_refresh(retro_video_refresh_t cb) { libretro_dummy_retro_set_video_refresh(cb); } +void retro_reset(void) { libretro_dummy_retro_reset(); } +void retro_run(void) { libretro_dummy_retro_run(); } +bool retro_load_game(const struct retro_game_info *info) { return libretro_dummy_retro_load_game(info); } +void retro_unload_game(void) { libretro_dummy_retro_unload_game(); } +unsigned retro_get_region(void) { return libretro_dummy_retro_get_region(); } +bool retro_load_game_special(unsigned type, const struct retro_game_info *info, size_t num) { return libretro_dummy_retro_load_game_special(type, info, num); } +size_t retro_serialize_size(void) { return libretro_dummy_retro_serialize_size(); } +bool retro_serialize(void *data, size_t size) { return libretro_dummy_retro_serialize(data, size); } +bool retro_unserialize(const void *data, size_t size) { return libretro_dummy_retro_unserialize(data, size); } +void *retro_get_memory_data(unsigned id) { return libretro_dummy_retro_get_memory_data(id); } +size_t retro_get_memory_size(unsigned id) { return libretro_dummy_retro_get_memory_size(id); } +void retro_cheat_reset(void) { libretro_dummy_retro_cheat_reset(); } +void retro_cheat_set(unsigned idx, bool enabled, const char *code) { libretro_dummy_retro_cheat_set(idx, enabled, code); } +#endif + void libretro_dummy_retro_init(void) { unsigned i; From da5bf9659e12869b07d35f88d768500723844e88 Mon Sep 17 00:00:00 2001 From: M4xw Date: Sat, 29 Sep 2018 19:25:59 +0200 Subject: [PATCH 6/7] [LIBNX] dist-cores cleanup, add hbmenu icon --- dist-scripts/dist-cores.sh | 3 +-- pkg/libnx/retroarch.jpg | Bin 0 -> 14797 bytes 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 pkg/libnx/retroarch.jpg diff --git a/dist-scripts/dist-cores.sh b/dist-scripts/dist-cores.sh index 81766ae007..6911781411 100755 --- a/dist-scripts/dist-cores.sh +++ b/dist-scripts/dist-cores.sh @@ -40,7 +40,6 @@ mkdir -p ../pkg/vita/vpk elif [ $PLATFORM = "libnx" ] ; then platform=libnx EXT=a -mkdir -p ../pkg/${platform}/build/romfs # CTR/3DS elif [ $PLATFORM = "ctr" ] ; then @@ -265,7 +264,7 @@ for f in `ls -v *_${platform}.${EXT}`; do mv -f ../retroarch_3ds.3ds ../pkg/${platform}/build/rom/${name}_libretro.3ds elif [ $PLATFORM = "libnx" ] ; then mkdir -p ../pkg/${platform}/retroarch/cores/ - mv -f ../retroarch_switch.nro ../pkg/${platform}/retroarch/cores/${name}_libretro.nro + mv -f ../retroarch_switch.nro ../pkg/${platform}/retroarch/cores/${name}_libretro_${platform}.nro elif [ $PLATFORM = "unix" ] ; then mv -f ../retroarch ../pkg/${platform}/${name}_libretro.elf elif [ $PLATFORM = "ngc" ] ; then diff --git a/pkg/libnx/retroarch.jpg b/pkg/libnx/retroarch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..502ad4266ff7d286791499a63ef8fdadc2d3c3eb GIT binary patch literal 14797 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 F`%je3&j Date: Sat, 29 Sep 2018 19:46:46 +0200 Subject: [PATCH 7/7] [LIBNX] Update hb icon --- pkg/libnx/retroarch.jpg | Bin 14797 -> 17774 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pkg/libnx/retroarch.jpg b/pkg/libnx/retroarch.jpg index 502ad4266ff7d286791499a63ef8fdadc2d3c3eb..30b51136e8df2d6c46a90aab63cbdbacec13465a 100644 GIT binary patch literal 17774 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 literal 14797 zcmeHudpK0>`|k)zVv=LTR8E!fRt|*>$tka>LK;<%QXX!C+QlpTB?{^N95RIGVaaO_4)^WV&O?m&NO9OL}! zcmJQRU!D9vb@1!U(ia%jRWj&UWo0&FR;bFzs>(>aF*tPe^8dMS)QEpwGAm@|d*yu6$odUq1~IYv%Ze%+=WPAk<8pH|o$t-kZht^2DC_SJT1 z92o))cb&PAthicJOMAVJk+I2^t=lZEtZjDhv31_>;_Bw^ap35&NF z4GWKnjk_36PDs3ZEhRPWdU{4~-k-Pg3+~)4d{A0e{;=Xv<>O~{jQWPgrsvI_UEMvs zeJ@|V9v*rBVU+c8jLqWYub2_YWI$CY>&MT|b_uaZ*+o5Q%>jhGE6e`Pu>Wco8?#1M23Jh;62|F?fP2Xs#;1Pl^r^;UZx z9-=D4CQyMe;>7Uwf}4tvk`ye(tWg!mN-;wP)KMao4QS*4$u32-4Ma0iOsTo#2~)TM`3?B4=ZG^N zBJPJ+qJ5Glh%PzgsIa1&ICe>t4q~q|j-`5q^psdZCPLHB$@RlQ&!4BhoAe?Cvg~)A zF8^q_6u;K5ljU=Gd*iOI6`J|`z5ikVdt3HFkzgLbu{Yp?pbNjsK^xu&Rq;K&90CFt zyQCQ9RxLhZ!(4vzF*T=1hl=PjD9G!B1#g7c)LftJKV~+{-cxfb{WI1w{DuCd|5Jn9 z$&I4j61u%CuiwAd!A^3U8HSZ7yE)d|uop8Z{-7N{KFxm5gE0m7tf}gn2z{-(5zFzz zhPQg7EX?m;x4&MrwDaosB#ioDm;ayz{sYR2d?aO3On5(V5~R{Hp zY^0bDA7Dn0*kFTbf3dQx9<>RElvk1+z)6|`$9W{laVg~&m7x&A*(MrYTJd_gu2 z8>1MzwW{0le{lL_esUBC9lkK;pccKleaxEFH|`va7uFuB!QM9>HO(Z5@Y zQ3Fn!UE;ZQEsp!Y&~dn>)opQwrn}uLXB`yZNwxW{wYq}nat})D(t)KItbO8W;k7_{ zC@VN7TKUEhip}Mol{2=zx3#|0g#L)i87U_D8D%Y$C9t?g(`Z*j-s&qt>0ITD;x6iT zu)Q8+@{egPdsm+}esw02xqec&DC}lm+-V?eyU6zTH4#gsrKK7F8^PqeP^?6K%>e@~ zAQNCgjVr~leMC{{$j{SMpnpag!LnG zi|iB!GN!{D@b?h*q#a9&ISW8rExHzy3pG=Oonx)*xy*H;&GM3h&YZRF%=7Hyi(UAP zKz(83_11u>o6wU1QKVL2?s86zUGe$L&?pTr7J)>-xZT1AL1vrXFRJa5@87PdNbg)^ce$NGpH|PG`VoHSD&0`u(}YvkUSQ#qZ5- zJ=b&YvbQj*e~;DpP&VT4rB0V*p+izdU9^t63i`~=#6!k3Slv6oq|c9##Yk|_p_oA_ zLNl{C4wm8wPSL|-AGNQc_$P(F(VMy-y(aS^*`_=3%H6m>F9F!_XC03_$^*kMmC-2=3zEGC z-^_xL`aNLOeqBoluo4<7Z6VL+Dm2fcqV`xwh+O2~Y)cB$V19tmd zxDrzXwe&QLZbv)}Ez~bKZ`9iMJm16IFk3D1bi}1cgou#c3NLZBIrBkcCn^WWP)L?y z&JB#wJ8Y=CpfrIJZD*K@n4|(ZcU^qe+04mmji}cC)Cfv3*IMywW*o{ZPp(V|&Sm{R zVz&6R*x75OMv560znEMhNkJE4l=RVjRM*oEmx-%S>vd-I1zbTt>>X%fU{xkT!}TSyhIFeIUV$mc8GF}B>D5`&%0(+Lu8n# zc7AiCQ0qE3l|9b4Sx^{`yH}i{G<7O2O%5$}aWqZ^|H>4)(F!H<~%T zem#@8#>N|rrGg^?;mv<7HP=giF1%3q8Uu8&aNyx@Z+&>I`TWNxZWAFNoSJTUUguXS zCgt_6E4_d08fBI)LWa`|V<_IOkyKLEp+-@c1DdecD1)?yVgY_GFNSmH3bXGTwr^@mVLoFk?;H(q1*Qg&Rll6T z<%1LxiB}8dFr=6T8(xdVRCEArf56gT4}M-^Th1-!Ae)E3-UvBZx9Uu5Ca)$hVa+Y5 zz(0j&`}1!LUbRlhcy-`Rz%;zURG5RTZWI3zeu3Hz)P}%n$${()}jIMOa>SJ!%2o z8n*49b_^IiyQ%IvJv~kgKJ1^fi!Am#xO1%lVCb+}gQ1_~!#!+&qUl#cCJy|a32h<0$Vo#s zLv$fcv{mx3U5l~{ykYI5zePBmO;sUtx~S?Ptdm_4TzbOmNkn2v4(ar1jmhdqAHxPc zVl2aqK7Vdq{d?{`yz-!oi~6B|HR2bPn5?A2y5RIY8Ybj^O6r*0d%)TSHNrC?Gb1kZ zgjK?j_i>0IwuYRKuznU*Z9OY{)&?;ZT4ZdW-XB?@<)B-yvYwkm`sdYV#*IfA@4j}Z zs%xG*w{hF!8@X@YF*3Oa<$*_pg|K@$kP!{m-3msCPG4xpK{TNaFRjbsTH@!7TN-0f zn()EbIsQ^#mB$LcZxCZ-oUeIp|2XM-c>!081NRf4?X-n))H97GRjr^4%K zFwcm1`5^SpT`g!W{p%v4yd5%&m|32C}OKj?LRKmCz5PH?p-6FZ445^abH62dIW@;~*N!RPso1~cIXC&L0usTk3<+-N)NIVYoD+g|U~wcP!-At`2zNb8B1Yste_+L+bI zZGiihG#2b&f^cx!%rHramzJ%`d>0rlH~=nus{OnjjfmkbP2js?dle^riUVe-eY3y2 zdg}i7f}pH7H?eaeh*BiF9C1P#ysqkiq}W~$w0VJB(;CK?V$yFy%~MOx!XNsZ^V~t! zWmqlpURdJU<|KMbs}pbhQOJ8MuVZ6l^*!CA560cvvUl6}U~ybI8hEjBq1#85I)H!n z*gCQOwlLf&XUVN+%K);Mh)z}yz^I}Qa=@d^Oda#$M@fyH#JbTO-s0u<4JSCUiU5!N zHIAvj+r`LX1lMh$3Ke-49{%pJGVk0C_Y@4g{T_A}Mb`I{X6CQ`5{!ja;geF#be*FV zbG05Hg@(YorTP2W&>&)tWg(ic`aV%_LjZ38GA6<5COwG$V5={W^s!HrBUDJG5K3p- zH-cZ=%HS=+NYU-;(8T_~Y_o4yg*846qbpCO-VchFpD2H8K13i{UMST#6%m2xq3ADf zj3#?Jk_wbR43OVQF}Gu7hJlX#Om6AqW)uK(pf_C{HL4MHfVP6F1s@x#_BrqY*+kh~ zD{Q}24RM^4u_j)_a2Sb?(}r?>A0@i1&MXU;VuG&v)z{(1asY=Sz3S@5>DBH+TTivt z3$C-mmp5L1`QmI)TDhj?iLB{Xd3U+BE=kjIC{Cd9CpqT?`|rs~YB!GYp}zbtwSa(= z{a{+}jxJIpN!Qc<+e`MTV;Ng+mEHPy`B8cL3wm;>?6RGtn8}?6#=moII~v~Inl?pHEq@=FXpz<5F1O4iBd5wnXYdY%NHu%;)G*6a*t zH7-rYeVQBwxC?~w3KJYU`43i-74}0-?l>akFN?oP{~VQpK`I7dy$Uh;tbnUE|L01w zGLLgZ?#j3!<@6y!(_z|yVmx<&G=6UjR=gK^H7~_#ntx^E*?2$1JM?Znf8~gZ*=~F8DrF zGW?ovm(JLGX0eN%eXFM9VfX=BaC?%$@sT)OoySH-d;OiVnSNF)#ZHpX45MXE>gk(9 zhsE}kKcKrj=cKrYST(XNkC06{eNXSe%l)M7D{FZYr9&hA3-?OYV#3YszsS|zJse-- zh`%?m1|`lPfCl^(*owEfl8h6bmSo$T@bIg@i1cybVwxpsHN~fPh~cGnpg!Zx@54W; z9R~Oxs_V0|vdVUhkB@h0XKi*lj#0VD|o$AK|;1S+Jr2NG&mW4{Hc@JCH4)){R*2hJc{Xl3jyV#5Lr+0}*fB zEf%zn4F0V0H#^u<^CYU8Zr0P!aED&b>Wb&L3ZhV=B#QCQjYHaAS{m@^Y`DdbZQa3@L^%09h2I z#iAJ^9@cHUhkR(?FmjqHG`S4hfX>9RMBEmq z9rXjL4-#aoU%o;77&6FP8hA*G8J`olb)cczs3H~5y+?eux8O4D6#bYS!^QWQwvhC{ zBvxGi;frWePSp>Y6;81STv@GqV>C;HE6D?$OXp_jfvdKkdY|im&it7(d=K50$C=;} z(y|&5%!I8cccZvlPJBiKT_=*zgaiE?JU_vCA=!7j8e*b9yAlY+j-?A?re2Zg6ns*I z59GA!Xl_n9Ip`P^ZWfbO9inUe+YWe@hi;ES&$gW&YK#j8E7t32S5?Ul-M%7sar0&T z5Fk>KJf<8)A$J1BIUi&kuSms*PRc%oDr&+2bq9sn!uVuHvGV~C)}-!)Vj>??wh6E4 zMA4tjEnQ@1)A)Dk!KpFS8A&P6y@r=<{5t1bI4d@Q(3Ln@%bN%v_E!#Z{1B(C)o`wX3JZ6I5u$_-7RW$3br7fc zY1Gox1E&}-U|wr{Hh1x+P z5amD4g!~T1cQdtn#EvjtQR{YCG>@63iO%4i@EtQVm*w*_1()brP@oax^*>&G2@^G-fCt1ZQ~Znugrk!{(?#9>K;R0dkF~a0#T8q)~anU%@tY? zwj6*wxNn{ddRoYH0+omC{KiW`J2p&yaZm)0PZp6MyA^~9?sy7!`b_)48u6m691)5= z$*IT(qV~K+YALVUjh|2FS;z(SncR(x=91DB6;Mf2k>hvj_6e&b-L8wxqaV2al?SG` zf4YesK*7v~aJ4~;2_6I>>q|ZQI~y3ywL+L#%j%|O3|6#g$uLoz)~3~4HJa=D4QUNl42@&(i*YB=)Sfzx=% z0NX=kFY>eR+N8zdGMlG+7TE^GB)^GyD#s`JvdMxHk^=cncVg%* z=fC~Qk0;&#d@}SE3PCpi4M|X3j|MHInAK8@4j|03mIh(Yqw@jO?Q z9aqk7t?(lxgemvW`Dcb2H8*B^Xgs`O11h2!Et(M|qjJ$uI`tzS%Hp7Uf6hJZ&x7c@ zDDCe!OhGxAe2C<-gB3DNTT9g>d-C+_c{Ch+3?iTeQ?EKgXR08k0*c|$uTeZzs?DYv zH~54l#Nac(nw4MCdg=az7i;v10^C*IGsSEtKvp?iS}*=GiUjT)wm}C+w_P1}gYf+E z0X9}ZZ3*M$q))CE;;z^`#XSh5XhZ%XVO8T_5R;ME{(X@l+%-xvgl5OEnDB-im>(rI_oJ z%y8`Tj)BWeC>q%WeAA=8MduYAo`87+ods_aDt4kmbe&H(cC3+?)9Iz=1R3!;8MWl1 zj!83NV9VpbiBL>8qBwYZ_-x(i0-xb;cc=CE-tM}pgjYso+pb2mcv#0-yb(dQoE3QP!$1dNLGR)iO)%YwT{S^{jbCSJM^dL8gj@ui z6%bY6*D74cw;)Ufz0Z0kQHh?BLm*IHnJ!NHAM7PilOJeT*LU~q)x-@ z2bwRxK5#Q)83l}Fbf0$|qne_R=Jp9f&mIoeUJ3QLL_!ZuF%;P#)VgNx|2Ta4;GM#> zG^@1tFrL5LJeKmeu4LyVx<)$T`({t)a{`*;H@lyqkM*LU(@4eFZs*hvyy!h=bhoHi z-^wU`k73?Q50hMi;owR-ync@mAl8A{g+{SCRCRFFvTUgJC^#peT|56X$$GiR{EX0{ z;1PuF!-k2P&bayeQY^S6#)Gq|?+wm4#1IFtuzDWX6Y0k{(iTpG$G5Y)eg}bG=K6kK z(K)XoR0Ym*YCX+8cX;G%JC^ms>bS;M#v z(^ZBcfBAf0LOo@zq~Rw3ZE;($sG*Jo8bBeuoRkt{p-l>G!jk~bU`a*gEc;w}0#DCI zyzWgv?zH#*X8%_|Jd;el3O6+yWgfUP`1RHc%x5X)6d`8`c*a>M7w?2GB`?g+BYKq6 z;Kg$O9@UJy6t&9m!(a6GJ~ISVO1W+Rfls5Fv(8*iaP$erYOSvVR6V8Yejo4 zZ|V+7iG4`*_&xIHhBZ`Uig|{|&B(LS2|@>Vz4XZq+y0W*fFDmW+lb@3T|vm|Ml?t_ zWIsnAf&_ z=SH*7)l=n4uiX^awd87eU~pg1Xe5_9?1L!M(82V=?vjVWH$nl`_T6NEeqZl`_1ECF zfjBjaXKOvQ3v_iKYj|adA8QV|+Uk7nE_-NpSHJf7t{n*O?%lDw>F3V)-c2{U^H;9N zr`&@cd%b`-0K8yb7c90!J$5fX2oIUiJNiwIHw`|_>-0N19%ij&Ly83JMCU>8TfD3l zZ;oa3YPpa53H9rE{Rg)i$__MxZF4ogdTAiK|)QcE6SB7{51Lp)klFskTGb=I8)}_xU-n$xjlp|DH-<#>{w!!>&WVtp@zKp^-k{jzA^J~U19&{ z{p7oT?xSaBwNnf+X@}5HSuLDDFe0 zLRJRlLc5{REgkkMn?1MKqdF5kaOV7vJ0+}n5pyj1PT3kGz^Y3S&f;33CdUEY0eD85 zM8~272b)n6P?#7gKvZTWrC0u8o+Tuo->cP&*d6`n&fip87O*+?kisaZ5x)?@$Bh?= zN+Fu~FuAJJ*5*pwV)_Un?`=L%ze~6zPex6Gg9ul;ql-zDUF!d z?j7nfnJ#fS@EUmpNx`ZEJbV@K%}Aj`-*N+O75SdbD-*{Ls9^W%0Os?YxCmXuL&&Z$ zDMl3^0nYWAMeZ#nl1r|@>{5p&m3DsR!4#(ZY)c}+L^$$ zkeHXFNl{~cCB+sWWcMmNpJ1eQBT6M9`4gMe2m-uPXyNvC?p>!wA7bF?jkwo@g#s~t zmieq=AxP{-?O%R-v?l>PD!_N+(+*p8?(~Q+ha$S!S*dB2SuZrxyoZ8De%d9tdPiJp zD&KebJ*_Ze`4@b5q5>NZI)Vp}CaDQTIj16FGx14y6S#Q8ye25^bv=F^Rl5wQ+!_+1 z`C-)vP9=>&wh5#F)-8KiY|E@vMj}TH9l`kZ^c(~#>vSqoi&MvM$9zs9*w5oLX)4b zD+$ov5mD})t2XnSz;#DTF(||D%Xa)B&$xQ!M@1is?M>9d)6o|5N}wLc#0=Mi)pc!J z_|}*fym7gB+98>l*1SbloQeZ40e#$6#E(kc1Jfos8G)9)N$&dV*Drkv8La}kBRPx^ zi8k>C7T%56qBV@Yz}n-YK3MIND6&aHXOi$^7NW@PVb3=>G;QAi%ikyG?-qou2~=Q= zZe-afCBAIE!&sD?@k8$K_)_a{w+>@`8UH~ns*^lx4dY^=&1sp;2u`Lx7F_CFL}`v1 zGZ?ST>ER}=xKvd{TuC8F?lF`t9Kqfz6#=uioGSwZAh$!p>f56azV&Tr`QddS*qxV& z1{aGBtfgwydr_i0G;m^FU3Asz}OdS{DaBIwpd=|fLm5Mspj8Aqudf>~ zQ+}g;4~V+~uh)DuQghcN1GcCk$60AMs9L@L*iH{R*BBX9*BPQY<-E4gz<6kL$PF~Z z&0l5GT%sEh8r<}}DSx-w0yk@_Bw;Fg!=Wzq(`EU-XM^1ZE+O%!9xHD2c_PJhIlzf? zXtLwR7vbj%p#dr8Pln7VOP?qGpqik(b?4tFDVk87+*;S~1bdDO<+S>5UF!;Rea|N8 z9ohY>pNp$Aly+d$PU7Ir2&(Gdj}Jf*)b+j;^YVvGic1s<+I!Avb5}y76{A{L^YF&(vu;~_eVt_(w@;}!y^ue!r8*Mp#IpB# z?DvJLJ5*0v8{zYICa5elF>b2*aiINS`)_77wA0Ex6J2g=F8n^X#{9^ZNmm(->zG#$ znv?uH94rT|l(I|$z?}3S0Y?UV%^4H^jvrzd_I-S#S2Nt{w*8DdixQRn z-1|rj^JyGsdBrRTGH;b)1eP*+L^c5HxQLzoJZ%;TV&l0OC&Ox7nu7zhc~}tC;->2d zDez5lbIxZ=0X;J?csB% zBv4CS0K~4;*Cm@JDTv%`0cQoWo!t21qTd83hY}NnPq*Jw5x&!tht=3yIAfk)#iuL& z{iS_#_NqyDLFQ4HY&XXms(%iG{X=qp#Vwn8Wl(1y;RIqrW*ha|YLKwMd(6G#?&vk0 z!a??VB9wcl{8IK!L7P5_4MB4mx8Mx!>PmcAny|snpamuVVdK27t=U|;1OXU}Qz^?U z{&eukgcJVd2Mq8>DS{JR&V|GZ0+?-5`Cm*kj z>S^u22~DoYnYP*WEbq;~ONTCeW%-XR@UnYF0=L09yu8^z5?`?YeKbGF zFO}VIg=-*MI*(MajwwYapQcPB4q^0MgwoA1e zm!rG4|3l-o&q9l|`y*%uW_Ej|`@%%gd+SV6^go#{7$6A{ZpcUB$Nl37Q)n6mEbBi) z^SMv;q-EFMVzhwdA0x#K{v^IAKTp2Y#a_y+m#B5NYYx@pRmnx&&F#ha(6^V3vffoZ zi71?;C#cZM!*slhLpHGDm-9=LqUDQk7c-8WJo$J3hTnR>*;Zl@i9K4&R(J-9``WjF zi^=wCsK+(ZdP;T(FE&0TlR780z@-H{l$kGHr#MvyI#XHy0y*=9X##?#7m#BpbqxrPjrFoY!>IY_H&Xpe)SMY1C^fcKXR1Ddq@0HNmpVpVy zt)*3n?c}IH4+LH9YZ`?n87XDqlSXazL-$aPzL4Y7Y+H_Gm1hMm{)5u?WG56vjPM~$ zXp_bK2p#C~#Bjiu{x zLD7$iywBO%4%;3utBBA>3s^M~pUr-lDUPGE0yjKmNQz)RqtWMJ)r)qstc}m0+L|v% zcQs~F2oY3+dSZ%$M#<<@tmii~NOe6+uRl= z+1RTvo(CvSQVu}7cm$lJ$ZN1wo@eIJ^D`b23s-yj1lJdLC+@eXBr6e~J2nSgtK`pR zvHxPPo@uuejw9G8kZ_G^4lSWvMuvH2E7hE0IB4$_Uj~`*Ng2rQK+2v``b=gP(417xeg~;gYRa*4O&zN|XY%{lzYBFMi}1^N>yT13F#-AhC!!p4PKGFz+GW zOn%^x`^e!iUs^&4_14&vbYMUmvm0*_J{E3nPna% zih;n?&bq;8oFAY+L^7lJ^E`mp51IP_ZXppo0%;H&Sey58-CtwslG_F%f^H+O;_#qaIJ{brl!r z^C2a}Q|oCoFf9{4%EhWfKrgaNs8Y+rYm<+9*Rooz_$2JCmaTW={W;t7GjXRYX9~0a zx^;4F((iBA+%C(Vrlu-o>#$2n;?vZ(v}foUodEGV$Wyc^xn}W03CE7;(s2%B=>%39 z)5^$s$KS_hYS+Xqj(rzwOeUEAE=;{P(u2R;N_b>h7&AWM>p`MUst65r%G1D0e7X`j z@5Q9CP~ob5(EZtx^}>)8t76ZtNki~!eTX%!>PzBOPP|!aWqJ5Tn^k#i;)zKotNOR= z9<*NQeeI?$gWLqb{d8zMGa0S7+%J)@g-nHo0uL1QvbYw?Pns7Ppr3CTO~=w~^X}>z zhmGU|yN7pg8s$67O7^ ztE4=n-19Wg7fKLf4@fFVBONqNdxgDkpN3I)fww0H<`?qT^jb4UV-w0E-MR|j+9bN( zTXVB-Z=cWu9On~qs95s%PNo{7O{V*S_#9aE2|EJO5E9eqXP9|zWB1Pp+Eah{5Oks7=J9lVZM*%W)vZin}ofGQN0Y)y8Cec!HDMg;fS3^2?1stl%V|!wKNhI1C$D zjVQV)B+j$MF64ym6sJ;jPqI1#EryTGq8$Ao==Jw^ms0X{hi&m&&4r}WS%>{kPmX(S z@XJnrJkAMiuCH$>4YGIU>tK)@Ol|`T8)hbmk^$Jqtw^rNfBe?RwaI8#gysT;t|@|X zAnOS1-qbos@wr!Xn@?2qD18Oib>PljJ<1%hw|JuL7@k*@5Gxb4Jy`4EC14sA)iDqL z$0qCPI#ds+hA;c1{ZO_zH2QNQ{_wM*9|5`^bxr7b4Rkx#oOw3F=(p}1-4jJ8E!Iq> zjt&pAx0*DeT>FgMtq+9d-%-C%1-NKlBaeDn4vL%gbZ9FbR%a7deF1QmfHKf|m{+aV zO$+&e9;u^s#gAUkzo@DC$xE|QDDJ5X=qr;SDs5{WoN8$R3sOGQj<-=9DG?na*%2&1buz#6dWsr)2%h3U$klJw!F$Fq) zN38p6!m*DaXRg8(E9HG7+=@;j18d?wayBRmu@Igae<@;D_PX88C~_`zhIp`iMXNDNV8oJyeBg5*2`D-7hFBYCtPI%lk-OSa^H83W~-yg9>PZ z)v<=j&03y@)s^@GjlImQX8npXq>rOqf6uD&la0=KDP}$FTVa2J-Zh{+(R=1O@`7=* z7qMr}2Pl`{*T;=SJs6EsH2(n{K%>ZQbhTP1_1`nHVh}}?F33qn&%;(=-U|@uY>_-@ zH-u!k!?9lBtgff#89>NDYEJ2$>IF1)HL4wklPbfe>>?8{9S1KKDx{tNS%E?nb%F-Q zD`d6rMqaU}=X=Cz)HiM-eOgbI`ITzQK9JL0jPreOZ^t!rA)OU!UIoWpKxP+BhE28! z5Nh-cWlZ;6Y}`3H({OY)vTWQx!lq&QT`?S4x2w($ZJNK-ygQ%o-uaYonCr2}B+pU# zzjJ5VpCO3idejTgKxl#|cUMw2?_dV+$(`!~R#SY>MNAk(-id)#m@qr4&*06KQDylU_0T~m^KWsX6 zZF~l?0nf5BqbneQZ=77Tj&md;I+8xK)g-OHL35hG9CoyS@O5~R(9-;rS>N=m{aI7t zu;}$y#mJfk^M$g|D6^>Qsbhtc{K>QAhpERrHs8{*IUc+*5#K?(!BJy|Fw+qg=oJ{# ztHZpE7?PDvT=fV0(iy(3RV}7XSKYSna-9{imLnyMyc6Ng$A8%9T&$`%IT5xbVrdqr z?U!OkMypVcjS_|qv!4@$L!C|Dc`8-qXC#U<4bef^mkh&D9DPwvHKFxTXN<;7X7g*OUQVB0u) zHmqR;r=K0^xIf$Y+iXL-itsFY4na>Ghjji6vg<_YLSTMG>;WA`RM8SB6qYM?8)ZzF zeDBo9gIV)+=IH{OY{ZfAapj;czt>J%GF+2UPUO{|yyQCigs~8DkomL`8KZ1M2S`C@ z!3x1eM3W0%5J6A6CS=h4hf{RKN+wSUd$~ksl-JOb^SY%m^Y{>>#qNGrQz*~>liRuVgp59crAvvmIde|P;`Q4=p6 F`%je3&j