From 8254ed4237628757aa17ba388a5d019463d2569a Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Thu, 27 Dec 2018 00:56:33 -0500 Subject: [PATCH 01/62] Target nocona for 64-bit builds --- src/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Makefile b/src/Makefile index a2279a94d..151026d87 100644 --- a/src/Makefile +++ b/src/Makefile @@ -297,6 +297,9 @@ else M5=-mpentium M4=-m486 endif +else + M5=-march=nocona + M4=-mnocona endif ifndef NOASM From f0d6711ce16ebbee2299fae412961f2a977a2de5 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Thu, 27 Dec 2018 18:54:10 -0500 Subject: [PATCH 02/62] More explict check --- src/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Makefile b/src/Makefile index 151026d87..c0a4cc3aa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -107,6 +107,7 @@ endif ifdef LINUX64 LINUX=1 NONX86=1 +64BIT=1 endif ifdef HAIKU @@ -181,6 +182,7 @@ endif #ifdef MINGW ifdef MINGW64 MINGW=1 +64BIT=1 include win32/Makefile.cfg endif #ifdef MINGW64 @@ -292,14 +294,13 @@ OPTS += -DCOMPVERSION ifndef NONX86 ifndef GCC29 M5=-march=pentium - M4=-march=i486 else M5=-mpentium - M4=-m486 endif -else +endif + +ifdef 64BIT M5=-march=nocona - M4=-mnocona endif ifndef NOASM From 0fb3a622ef7966887a1d9d62c018fe366835ba54 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Thu, 27 Dec 2018 19:00:18 -0500 Subject: [PATCH 03/62] Stupid restrictions --- src/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index c0a4cc3aa..552379196 100644 --- a/src/Makefile +++ b/src/Makefile @@ -107,7 +107,7 @@ endif ifdef LINUX64 LINUX=1 NONX86=1 -64BIT=1 +X86_64=1 endif ifdef HAIKU @@ -182,7 +182,7 @@ endif #ifdef MINGW ifdef MINGW64 MINGW=1 -64BIT=1 +X86_64=1 include win32/Makefile.cfg endif #ifdef MINGW64 @@ -299,7 +299,7 @@ else endif endif -ifdef 64BIT +ifdef X86_64 M5=-march=nocona endif From 41cbd834983e3ac7eee70de262bb7d405f18a931 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Thu, 27 Dec 2018 21:17:02 -0500 Subject: [PATCH 04/62] Don't set if LINUX64 is defined --- src/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 552379196..5a4a9abc9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -107,7 +107,6 @@ endif ifdef LINUX64 LINUX=1 NONX86=1 -X86_64=1 endif ifdef HAIKU From 16f1dd420f570e7ae4951260065ddffe0b46ce88 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 21:14:50 -0500 Subject: [PATCH 05/62] Check for NONX86 in addition to X86_64; move MINGW64 subflags from win32/Makefile.cfg to Makefile --- src/Makefile | 26 +++++++++++++++----------- src/win32/Makefile.cfg | 2 -- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/Makefile b/src/Makefile index 5a4a9abc9..e2122b586 100644 --- a/src/Makefile +++ b/src/Makefile @@ -107,8 +107,18 @@ endif ifdef LINUX64 LINUX=1 NONX86=1 +# LINUX64 does not imply X86_64=1; could mean ARM64 or Itanium endif +ifdef MINGW64 +MINGW=1 +NONX86=1 +NOASM=1 +# MINGW64 should not necessarily imply X86_64=1, but we make that assumption elsewhere +# Once that changes, remove this +X86_64=1 +endif #ifdef MINGW64 + ifdef HAIKU SDL=1 endif @@ -179,12 +189,6 @@ ifdef MINGW include win32/Makefile.cfg endif #ifdef MINGW -ifdef MINGW64 -MINGW=1 -X86_64=1 -include win32/Makefile.cfg -endif #ifdef MINGW64 - ifdef UNIX UNIXCOMMON=1 endif @@ -292,14 +296,14 @@ OPTS += -DCOMPVERSION ifndef NONX86 ifndef GCC29 - M5=-march=pentium + M5?=-march=pentium else - M5=-mpentium + M5?=-mpentium endif -endif - +else ifdef X86_64 - M5=-march=nocona + M5?=-march=nocona +endif endif ifndef NOASM diff --git a/src/win32/Makefile.cfg b/src/win32/Makefile.cfg index 802fb517d..157d97446 100644 --- a/src/win32/Makefile.cfg +++ b/src/win32/Makefile.cfg @@ -7,8 +7,6 @@ # ifdef MINGW64 - NOASM=1 - NONX86=1 HAVE_LIBGME=1 LIBGME_CFLAGS=-I../libs/gme/include LIBGME_LDFLAGS=-L../libs/gme/win64 -lgme From b24cded68e9a03c38fac4110a3af5cf6e69dfcd3 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 21:55:13 -0500 Subject: [PATCH 06/62] Rename M5 to ARCHOPTS; allow override by command line --- src/Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Makefile b/src/Makefile index e2122b586..355b8daaf 100644 --- a/src/Makefile +++ b/src/Makefile @@ -296,13 +296,13 @@ OPTS += -DCOMPVERSION ifndef NONX86 ifndef GCC29 - M5?=-march=pentium + ARCHOPTS?=-march=pentium else - M5?=-mpentium + ARCHOPTS?=-mpentium endif else ifdef X86_64 - M5?=-march=nocona + ARCHOPTS?=-march=nocona endif endif @@ -431,7 +431,7 @@ else WINDRESFLAGS = -DNDEBUG CFLAGS+=-O3 endif - CFLAGS+=-g $(OPTS) $(M5) $(WINDRESFLAGS) + CFLAGS+=-g $(OPTS) $(ARCHOPTS) $(WINDRESFLAGS) ifdef YASM ifdef STABS @@ -921,15 +921,15 @@ endif ifndef NOHS $(OBJDIR)/s_ds3d.o: hardware/s_ds3d/s_ds3d.c hardware/hw3dsdrv.h \ hardware/hw_dll.h - $(CC) $(M5) -Os -o $(OBJDIR)/s_ds3d.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_ds3d/s_ds3d.c + $(CC) $(ARCHOPTS) -Os -o $(OBJDIR)/s_ds3d.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_ds3d/s_ds3d.c $(OBJDIR)/s_fmod.o: hardware/s_openal/s_openal.c hardware/hw3dsdrv.h \ hardware/hw_dll.h - $(CC) $(M5) -Os -o $(OBJDIR)/s_fmod.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_fmod/s_fmod.c + $(CC) $(ARCHOPTS) -Os -o $(OBJDIR)/s_fmod.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_fmod/s_fmod.c $(OBJDIR)/s_openal.o: hardware/s_openal/s_openal.c hardware/hw3dsdrv.h \ hardware/hw_dll.h - $(CC) $(M5) -Os -o $(OBJDIR)/s_openal.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_openal/s_openal.c + $(CC) $(ARCHOPTS) -Os -o $(OBJDIR)/s_openal.o $(WFLAGS) -D_WINDOWS -mwindows -c hardware/s_openal/s_openal.c endif endif endif @@ -959,11 +959,11 @@ else $(OBJDIR)/s_fmod.o: hardware/s_fmod/s_fmod.c hardware/hw3dsdrv.h \ hardware/hw_dll.h - $(CC) $(M5) -Os -o $(OBJDIR)/s_fmod.o -DHW3SOUND -DUNIXCOMMON -shared -nostartfiles -c hardware/s_fmod/s_fmod.c + $(CC) $(ARCHOPTS) -Os -o $(OBJDIR)/s_fmod.o -DHW3SOUND -DUNIXCOMMON -shared -nostartfiles -c hardware/s_fmod/s_fmod.c $(OBJDIR)/s_openal.o: hardware/s_openal/s_openal.c hardware/hw3dsdrv.h \ hardware/hw_dll.h - $(CC) $(M5) -Os -o $(OBJDIR)/s_openal.o -DHW3SOUND -DUNIXCOMMON -shared -nostartfiles -c hardware/s_openal/s_openal.c + $(CC) $(ARCHOPTS) -Os -o $(OBJDIR)/s_openal.o -DHW3SOUND -DUNIXCOMMON -shared -nostartfiles -c hardware/s_openal/s_openal.c endif ifdef FILTERS From 6b02af97f2f6fbed15cc2ee5bad4b47ebdcb0599 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 22:17:41 -0500 Subject: [PATCH 07/62] Add 64-bit SDL builds to appveyor config --- appveyor.yml | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 69913cfc8..6c5e26973 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,8 +4,12 @@ os: MinGW environment: CC: ccache CCACHE_CC: i686-w64-mingw32-gcc + CCACHE_CC_64: x86_64-w64-mingw32-gcc WINDRES: windres + # c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead MINGW_SDK: c:\msys64\mingw32 + # c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead + MINGW_SDK_64: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64 CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn NASM_ZIP: nasm-2.12.01 NASM_URL: http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip @@ -23,20 +27,24 @@ cache: - C:\Users\appveyor\.ccache install: +- if [%CONFIGURATION%] == [SDL64] ( set "MINGW_SDK=%MINGW_SDK_64%" ) +- if [%CONFIGURATION%] == [SDL64] ( set "CCACHE_CC=%CCACHE_CC_64%" ) + - if not exist "%NASM_ZIP%.zip" appveyor DownloadFile "%NASM_URL%" -FileName "%NASM_ZIP%.zip" - 7z x -y "%NASM_ZIP%.zip" -o%TMP% >null -- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs %TMP%\%NASM_ZIP% %MINGW_SDK%\bin nasm.exe || exit 0 +- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%NASM_ZIP%" "%MINGW_SDK%\bin" nasm.exe || exit 0 - if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip" - 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null -- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs %TMP%\%UPX_ZIP% %MINGW_SDK%\bin upx.exe || exit 0 +- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%UPX_ZIP%" "%MINGW_SDK%\bin" upx.exe || exit 0 - if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%" - ccache -M 99M -- xcopy /Y /V /I ccache.exe %MINGW_SDK%\bin +- xcopy /Y /V /I ccache.exe "%MINGW_SDK%\bin" configuration: - SDL +- SDL64 - DD matrix: @@ -44,26 +52,36 @@ matrix: - configuration: DD before_build: -- set Path=%MINGW_SDK%\bin;%Path% -- i686-w64-mingw32-gcc --version +- set "Path=%MINGW_SDK%\bin;%Path%" +- if [%CONFIGURATION%] == [SDL64] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) - mingw32-make --version - nasm -v - upx -V - ccache -V - ccache -s -- set SRB2_MFLAGS=-C src MINGW=1 WARNINGMODE=1 GCC72=1 CCACHE=1 NOOBJDUMP=1 +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC72=1 NOOBJDUMP=1" +- if [%CONFIGURATION%] == [SDL64] ( + set "SRB2_MFLAGS=%SRB2_MFLAGS% MINGW64=1 SDL=1" + ) else ( + set "SRB2_MFLAGS=%SRB2_MFLAGS% MINGW=1 %CONFIGURATION%=1" + ) build_script: -- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean -- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1 -k +- cmd: mingw32-make.exe %SRB2_MFLAGS% clean +- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k after_build: +- if [%CONFIGURATION%] == [SDL64] ( + set "BUILD_PATH=bin\Mingw64\Release" + ) else ( + set "BUILD_PATH=bin\Mingw\Release" + ) - ccache -s - cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt - cmd: set /P GITSHORT=<%TMP%/gitshort.txt - set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z - set BUILDSARCHIVE=%APPVEYOR_REPO_BRANCH%-%CONFIGURATION%.7z -- cmd: 7z a %BUILD_ARCHIVE% bin\Mingw\Release -xr!.gitignore +- cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore - appveyor PushArtifact %BUILD_ARCHIVE% - cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE% - appveyor PushArtifact %BUILDSARCHIVE% @@ -73,7 +91,7 @@ test: off #deploy: # - provider: FTP # protocol: ftps -# host: +# host: # secure: NsLJEPIBvmwCOj8Tg8RoRQ== # username: # secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA= From e93896ebeb501c1ab3dcfead54e21046cafb6634 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 22:51:10 -0500 Subject: [PATCH 08/62] Disable UPX by default in appveyor --- appveyor.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 6c5e26973..e3b2c3778 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,6 +19,8 @@ environment: CCACHE_URL: http://alam.srb2.org/ccache.exe CCACHE_COMPRESS: true CCACHE_DIR: C:\Users\appveyor\.ccache + # Disable UPX by default. The user can override this in their Appveyor project settings + NOUPX: 1 cache: - nasm-2.12.01.zip @@ -56,10 +58,11 @@ before_build: - if [%CONFIGURATION%] == [SDL64] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) - mingw32-make --version - nasm -v -- upx -V +- if not [%NOUPX%] == [1] ( upx -V ) - ccache -V - ccache -s -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC72=1 NOOBJDUMP=1" +- if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC72=1 NOOBJDUMP=1 %NOUPX%" - if [%CONFIGURATION%] == [SDL64] ( set "SRB2_MFLAGS=%SRB2_MFLAGS% MINGW64=1 SDL=1" ) else ( From ca0ca0f75c94680ab6731f3c029a7e4e832fd45a Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 23:15:09 -0500 Subject: [PATCH 09/62] Consolidate [%CONFIGURATION%] == [SDL64] into %X86_64% --- appveyor.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index e3b2c3778..20c467c0d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,8 +29,10 @@ cache: - C:\Users\appveyor\.ccache install: -- if [%CONFIGURATION%] == [SDL64] ( set "MINGW_SDK=%MINGW_SDK_64%" ) -- if [%CONFIGURATION%] == [SDL64] ( set "CCACHE_CC=%CCACHE_CC_64%" ) +- if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" ) +- if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" ) +- if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" ) +- if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" ) - if not exist "%NASM_ZIP%.zip" appveyor DownloadFile "%NASM_URL%" -FileName "%NASM_ZIP%.zip" - 7z x -y "%NASM_ZIP%.zip" -o%TMP% >null @@ -55,30 +57,28 @@ matrix: before_build: - set "Path=%MINGW_SDK%\bin;%Path%" -- if [%CONFIGURATION%] == [SDL64] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) +- if [%X86_64%] == [1] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) - mingw32-make --version -- nasm -v +- if not [%X86_64%] == [1] ( nasm -v ) - if not [%NOUPX%] == [1] ( upx -V ) - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC72=1 NOOBJDUMP=1 %NOUPX%" -- if [%CONFIGURATION%] == [SDL64] ( - set "SRB2_MFLAGS=%SRB2_MFLAGS% MINGW64=1 SDL=1" - ) else ( - set "SRB2_MFLAGS=%SRB2_MFLAGS% MINGW=1 %CONFIGURATION%=1" - ) +- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1" ) +- set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" build_script: - cmd: mingw32-make.exe %SRB2_MFLAGS% clean - cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k after_build: -- if [%CONFIGURATION%] == [SDL64] ( +- if [%X86_64%] == [1] ( set "BUILD_PATH=bin\Mingw64\Release" ) else ( set "BUILD_PATH=bin\Mingw\Release" ) +- if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" ) - ccache -s - cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt - cmd: set /P GITSHORT=<%TMP%/gitshort.txt From 3b581bdccea224af4b3ed380beea62f259a11403 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 29 Dec 2018 23:16:08 -0500 Subject: [PATCH 10/62] Add 64-bit DD buildbot --- appveyor.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 20c467c0d..e06c46a5f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -31,6 +31,8 @@ cache: install: - if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" ) - if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" ) +- if [%CONFIGURATION%] == [DD64] ( set "X86_64=1" ) +- if [%CONFIGURATION%] == [DD64] ( set "CONFIGURATION=DD" ) - if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" ) - if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" ) @@ -50,10 +52,12 @@ configuration: - SDL - SDL64 - DD +- DD64 matrix: allow_failures: - configuration: DD + - configuration: DD64 before_build: - set "Path=%MINGW_SDK%\bin;%Path%" From dab907ff6f3b73c6bb325bcbb37ce1f141e989db Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 03:03:12 -0500 Subject: [PATCH 11/62] Implement install building for appveyor (deployer) --- appveyor.yml | 28 +++++ deployer/appveyor/deployer.bat | 193 +++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 deployer/appveyor/deployer.bat diff --git a/appveyor.yml b/appveyor.yml index e06c46a5f..29cd80f55 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,12 +21,36 @@ environment: CCACHE_DIR: C:\Users\appveyor\.ccache # Disable UPX by default. The user can override this in their Appveyor project settings NOUPX: 1 + ############################## + # DEPLOYER VARIABLES + # DPL_ENABLED=1 builds installers for branch names starting with `deployer`. + # DPL_TAG_ENABLED=1 will also build installers for release tags. DPL_ENABLED=1 must also be set. + # Set these in the Appveyor project settings + ############################## + DPL_ENABLED: 0 + DPL_TAG_ENABLED: 0 + DPL_INSTALLER_NAME: SRB2-v2123 + # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. + # Include the README files and the OpenGL batch in the main and patch archives. + # The x86/x64 archives contain the DLL binaries. + ASSET_ARCHIVE_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z + ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-patch-assets.7z + ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-x86-assets.7z + ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-x64-assets.7z + ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/music.dta + # This is overridden to 1 for release tag builds + ASSET_FILES_OPTIONAL_GET: 0 + # For patches, also include the X86/X64 DLLs. + ASSET_PATCH_DLL_GET: 0 + # Delete all asset downloads so they can be redownloaded + ASSET_CLEAN: 0 cache: - nasm-2.12.01.zip - upx391w.zip - ccache.exe - C:\Users\appveyor\.ccache +- assets\deployer\archives install: - if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" ) @@ -92,6 +116,10 @@ after_build: - appveyor PushArtifact %BUILD_ARCHIVE% - cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE% - appveyor PushArtifact %BUILDSARCHIVE% +############################## +# DEPLOYER SCRIPT +############################## +- if [%DPL_ENABLED%] == [1] ( call "deployer\appveyor\deployer.bat" ) test: off diff --git a/deployer/appveyor/deployer.bat b/deployer/appveyor/deployer.bat new file mode 100644 index 000000000..c3a29bf84 --- /dev/null +++ b/deployer/appveyor/deployer.bat @@ -0,0 +1,193 @@ +@setlocal enableextensions enabledelayedexpansion + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Appveyor Deployer +: See appveyor.yml for default variables +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Evaluate whether we should be deploying +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +if not [%DPL_ENABLED%] == [1] ( + echo Deployer is not enabled... + exit /b +) + +: Don't do DD installs because fmodex DLL handling is not implemented. +if [%CONFIGURATION%] == [DD] ( + echo Deployer does not support DD builds... + exit /b +) + +if [%CONFIGURATION%] == [DD64] ( + echo Deployer does not support DD builds... + exit /b +) + +: Substring match from https://stackoverflow.com/questions/7005951/batch-file-find-if-substring-is-in-string-not-in-a-file +: The below line says "if deployer is NOT in string" +: Note that APPVEYOR_REPO_BRANCH for pull request builds is the BASE branch that PR is merging INTO +if x%APPVEYOR_REPO_BRANCH:deployer=%==x%APPVEYOR_REPO_BRANCH% ( + if not [%APPVEYOR_REPO_TAG%] == [true] ( + echo Deployer is enabled but we are not in a release tag or a 'deployer' branch... + exit /b + ) else ( + if not [%DPL_TAG_ENABLED%] == [1] ( + echo Deployer is not enabled for release tags... + exit /b + ) + ) +) + +: Release tags always get optional assets (music.dta) +if [%APPVEYOR_REPO_TAG%] == [true] ( + set "ASSET_FILES_OPTIONAL_GET=1" +) + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Get asset archives +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +if [%ASSET_CLEAN%] == [1] ( + echo Cleaning asset archives... + rmdir /s /q "assets\deployer\archives" +) + +if not exist "assets\deployer\archives" mkdir "assets\deployer\archives" + +goto EXTRACT_ARCHIVES + +:::::::::::::::::::::::::::::::: +: ARCHIVE_NAME_PARTS +: Call this like a function. %archivepath% is the path to extract parts from. +:::::::::::::::::::::::::::::::: + +for %%a in (%archivepath%) do ( + set "file=%%~fa" + set "filepath=%%~dpa" + set "filename=%%~nxa" +) + +set "localarchivepath=assets\deployer\archives\%filename%" + +goto EOF + +:::::::::::::::::::::::::::::::: +: EXTRACT_ARCHIVES +:::::::::::::::::::::::::::::::: + +set "archivepath=%ASSET_ARCHIVE_PATH%" +call :ARCHIVE_NAME_PARTS +set "ASSET_ARCHIVE_PATH_LOCAL=%localarchivepath%" +if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATH%" -FileName "%localarchivepath%" + +set "archivepath=%ASSET_ARCHIVE_PATCH_PATH%" +call :ARCHIVE_NAME_PARTS +set "ASSET_ARCHIVE_PATCH_PATH_LOCAL=%localarchivepath%" +if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATCH_PATH%" -FileName "%localarchivepath%" + +if not [%X86_64%] == [1] ( + set "archivepath=%ASSET_ARCHIVE_X86_PATH%" + call :ARCHIVE_NAME_PARTS + set "ASSET_ARCHIVE_X86_PATH_LOCAL=!localarchivepath!" + if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X86_PATH%" -FileName "!localarchivepath!" +) + +if [%X86_64%] == [1] ( + set "archivepath=%ASSET_ARCHIVE_X64_PATH%" + call :ARCHIVE_NAME_PARTS + set "ASSET_ARCHIVE_X64_PATH_LOCAL=!localarchivepath!" + if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X64_PATH%" -FileName "!localarchivepath!" +) + +if [%ASSET_FILES_OPTIONAL_GET%] == [1] ( + set "archivepath=%ASSET_FILES_OPTIONAL_PATH%" + call :ARCHIVE_NAME_PARTS + set "ASSET_FILES_OPTIONAL_PATH_LOCAL=!localarchivepath!" + if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_FILES_OPTIONAL_PATH%" -FileName "!localarchivepath!" +) + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Build the installers +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +mkdir "assets\deployer\installer" +mkdir "assets\deployer\patch" + +7z x -y "%ASSET_ARCHIVE_PATH_LOCAL%" -o"assets\deployer\installer" >null +7z x -y "%ASSET_ARCHIVE_PATCH_PATH_LOCAL%" -o"assets\deployer\patch" >null + +: Copy optional files to full installer (music.dta) +if [%ASSET_FILES_OPTIONAL_GET%] == [1] ( + xcopy /I /Y "%ASSET_FILES_OPTIONAL_PATH_LOCAL%" "assets\deployer\installer" +) + +: Copy EXE -- BUILD_PATH is from appveyor.yml +robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\deployer\installer" /XF "*.debug" ".gitignore" +robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\deployer\patch" /XF "*.debug" ".gitignore" + +: Are we building DD? (we were supposed to exit earlier!) +if [%CONFIGURATION%] == [DD] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" ) +if [%CONFIGURATION%] == [DD64] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" ) + +: If we are not a release tag, suffix the filename +if not [%APPVEYOR_REPO_TAG%] == [true] ( + set "INSTALLER_SUFFIX=-%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%" +) else ( + set "INSTALLER_SUFFIX=" +) + +if not [%X86_64%] == [1] ( goto X86_INSTALL ) + +:::::::::::::::::::::::::::::::: +: X64_INSTALL +:::::::::::::::::::::::::::::::: + +: Extract DLL binaries +7z x -y "%ASSET_ARCHIVE_X64_PATH_LOCAL%" -o"assets\deployer\installer" >null +if [%ASSET_PATCH_DLL_GET%] == [1] ( + 7z x -y "!ASSET_ARCHIVE_X64_PATH_LOCAL!" -o"assets\deployer\patch" >null +) + +: Build the installer +7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe" .\assets\deployer\installer\* + +: Build the patch +7z a "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip" .\assets\deployer\patch\* + +: Upload artifacts +appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe" +appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip" + +: We only do x86 OR x64, one at a time, so exit now. +goto EOF + +:::::::::::::::::::::::::::::::: +: X86_INSTALL +:::::::::::::::::::::::::::::::: + +: Extract DLL binaries +7z x -y "%ASSET_ARCHIVE_X86_PATH_LOCAL%" -o"assets\deployer\installer" >null +if [%ASSET_PATCH_DLL_GET%] == [1] ( + 7z x -y "!ASSET_ARCHIVE_X86_PATH_LOCAL!" -o"assets\deployer\patch" >null +) + +: Build the installer +7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe" .\assets\deployer\installer\* + +: Build the patch +7z a "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip" .\assets\deployer\patch\* + +: Upload artifacts +appveyor PushArtifact "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe" +appveyor PushArtifact "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip" + +: We only do x86 OR x64, one at a time, so exit now +goto EOF + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: EOF +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +endlocal From 1db0ba29cff0c7b05ea3d71289358210b6d67c87 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 10:43:17 -0500 Subject: [PATCH 12/62] Rename ASSET_PATCH_DLL_GET to PACKAGE_PATCH_DLL_GET --- appveyor.yml | 2 +- deployer/appveyor/deployer.bat | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 29cd80f55..4db11104e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,7 +41,7 @@ environment: # This is overridden to 1 for release tag builds ASSET_FILES_OPTIONAL_GET: 0 # For patches, also include the X86/X64 DLLs. - ASSET_PATCH_DLL_GET: 0 + PACKAGE_PATCH_DLL_GET: 0 # Delete all asset downloads so they can be redownloaded ASSET_CLEAN: 0 diff --git a/deployer/appveyor/deployer.bat b/deployer/appveyor/deployer.bat index c3a29bf84..86aa8b3ec 100644 --- a/deployer/appveyor/deployer.bat +++ b/deployer/appveyor/deployer.bat @@ -146,7 +146,7 @@ if not [%X86_64%] == [1] ( goto X86_INSTALL ) : Extract DLL binaries 7z x -y "%ASSET_ARCHIVE_X64_PATH_LOCAL%" -o"assets\deployer\installer" >null -if [%ASSET_PATCH_DLL_GET%] == [1] ( +if [%PACKAGE_PATCH_DLL_GET%] == [1] ( 7z x -y "!ASSET_ARCHIVE_X64_PATH_LOCAL!" -o"assets\deployer\patch" >null ) @@ -169,7 +169,7 @@ goto EOF : Extract DLL binaries 7z x -y "%ASSET_ARCHIVE_X86_PATH_LOCAL%" -o"assets\deployer\installer" >null -if [%ASSET_PATCH_DLL_GET%] == [1] ( +if [%PACKAGE_PATCH_DLL_GET%] == [1] ( 7z x -y "!ASSET_ARCHIVE_X86_PATH_LOCAL!" -o"assets\deployer\patch" >null ) From bda09035e37544f4f1becc9c672e5505b8af6ece Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 12:38:55 -0500 Subject: [PATCH 13/62] Dummy out ERRORMODE from appveyor; update to Kart version 1.0.2 --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 4db11104e..57541ae34 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.1.20.{branch}-{build} +version: 1.0.2.{branch}-{build} os: MinGW environment: @@ -98,7 +98,7 @@ before_build: build_script: - cmd: mingw32-make.exe %SRB2_MFLAGS% clean -- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k +- cmd: mingw32-make.exe %SRB2_MFLAGS% -k # ERRORMODE=1 -k after_build: - if [%X86_64%] == [1] ( From 5ec958fcc304881f6fe97ca25daa4f9b85816598 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 12:42:58 -0500 Subject: [PATCH 14/62] Update Kart asset paths to 1.0.2 --- appveyor.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 57541ae34..07cc59ec7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,15 +29,15 @@ environment: ############################## DPL_ENABLED: 0 DPL_TAG_ENABLED: 0 - DPL_INSTALLER_NAME: SRB2-v2123 + DPL_INSTALLER_NAME: srb2kart-v102 # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. # Include the README files and the OpenGL batch in the main and patch archives. # The x86/x64 archives contain the DLL binaries. - ASSET_ARCHIVE_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z - ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-patch-assets.7z - ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-x86-assets.7z - ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-x64-assets.7z - ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/music.dta + ASSET_ARCHIVE_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-assets.7z + ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-patch-assets.7z + ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-x86-assets.7z + ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-x64-assets.7z + ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/music.kart # This is overridden to 1 for release tag builds ASSET_FILES_OPTIONAL_GET: 0 # For patches, also include the X86/X64 DLLs. From 0056ff7a6590df7f96602b574f75a882b80d868b Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 13:34:43 -0500 Subject: [PATCH 15/62] Dummy out DD builds --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 07cc59ec7..a8e6da0eb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -75,8 +75,8 @@ install: configuration: - SDL - SDL64 -- DD -- DD64 +#- DD +#- DD64 matrix: allow_failures: From e2bd04442517e920d377f8613ccdab12fac1c5f3 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 13:40:21 -0500 Subject: [PATCH 16/62] Correct asset links --- appveyor.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index a8e6da0eb..57fc58a98 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,11 +33,11 @@ environment: # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. # Include the README files and the OpenGL batch in the main and patch archives. # The x86/x64 archives contain the DLL binaries. - ASSET_ARCHIVE_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-assets.7z - ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-patch-assets.7z - ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-x86-assets.7z - ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/srb2kart-v102-x64-assets.7z - ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/SRB2/releases/download/kart_assets/music.kart + ASSET_ARCHIVE_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z + ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z + ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z + ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z + ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/music.kart # This is overridden to 1 for release tag builds ASSET_FILES_OPTIONAL_GET: 0 # For patches, also include the X86/X64 DLLs. From e52eba698ac1cc197204033a30c6a2971cc6e21a Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 13:50:41 -0500 Subject: [PATCH 17/62] Dummy out ERRORMODE=1 from circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ca9105685..d42cc791a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -50,7 +50,7 @@ jobs: - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} - run: name: Compile - command: make -C src LINUX=1 ERRORMODE=1 -k + command: make -C src LINUX=1 -k #ERRORMODE=1 -k - store_artifacts: path: /root/SRB2/bin/Linux/Release/ destination: bin From 337e0da8e409c14b25b79bdf2fe03c4d19c059b9 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 15:41:58 -0500 Subject: [PATCH 18/62] Implement deployer scripts for Travis -- OSX and Linux package building [Kart merge] --- .gitignore | 2 + .travis.yml | 448 +++++++++++++++++- CMakeLists.txt | 10 +- assets/.gitignore | 11 +- assets/CMakeLists.txt | 84 +++- .../{debian => debian-template}/README.Debian | 52 +- .../{debian => debian-template}/README.source | 0 assets/debian-template/changelog | 5 + assets/{debian => debian-template}/compat | 0 assets/{debian => debian-template}/control | 8 +- {debian => assets/debian-template}/copyright | 10 +- assets/{debian => debian-template}/rules | 54 ++- .../{debian => debian-template}/source/format | 0 .../source/options | 0 assets/debian/changelog | 19 - {debian => debian-template}/README.Debian | 50 +- {debian => debian-template}/README.source | 0 debian-template/changelog | 5 + {debian => debian-template}/compat | 0 {debian => debian-template}/control | 24 +- {assets/debian => debian-template}/copyright | 10 +- {debian => debian-template}/docs | 0 {debian => debian-template}/rules | 25 +- {debian => debian-template}/source/format | 0 {debian => debian-template}/source/options | 2 +- debian-template/srb2.desktop | 10 + debian/changelog | 12 - debian/srb2.desktop | 10 - debian_template.sh | 166 +++++++ deployer/travis/deployer.sh | 157 ++++++ deployer/travis/deployer_build.sh | 190 ++++++++ deployer/travis/deployer_defaults.sh | 107 +++++ deployer/travis/deployer_dput.sh | 133 ++++++ deployer/travis/deployer_ftp.sh | 137 ++++++ src/sdl/CMakeLists.txt | 13 +- 35 files changed, 1598 insertions(+), 156 deletions(-) rename assets/{debian => debian-template}/README.Debian (59%) rename assets/{debian => debian-template}/README.source (100%) create mode 100644 assets/debian-template/changelog rename assets/{debian => debian-template}/compat (100%) rename assets/{debian => debian-template}/control (84%) rename {debian => assets/debian-template}/copyright (57%) rename assets/{debian => debian-template}/rules (58%) mode change 100755 => 100644 rename assets/{debian => debian-template}/source/format (100%) rename assets/{debian => debian-template}/source/options (100%) delete mode 100644 assets/debian/changelog rename {debian => debian-template}/README.Debian (62%) rename {debian => debian-template}/README.source (100%) create mode 100644 debian-template/changelog rename {debian => debian-template}/compat (100%) rename {debian => debian-template}/control (65%) rename {assets/debian => debian-template}/copyright (57%) rename {debian => debian-template}/docs (100%) rename {debian => debian-template}/rules (87%) rename {debian => debian-template}/source/format (100%) rename {debian => debian-template}/source/options (81%) create mode 100644 debian-template/srb2.desktop delete mode 100644 debian/changelog delete mode 100644 debian/srb2.desktop create mode 100644 debian_template.sh create mode 100644 deployer/travis/deployer.sh create mode 100644 deployer/travis/deployer_build.sh create mode 100644 deployer/travis/deployer_defaults.sh create mode 100644 deployer/travis/deployer_dput.sh create mode 100644 deployer/travis/deployer_ftp.sh diff --git a/.gitignore b/.gitignore index 922fac4aa..3090417dd 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ Win32_LIB_ASM_Release *.db *.opendb /.vs +/debian +/assets/debian diff --git a/.travis.yml b/.travis.yml index 3166ed783..e546f2f98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,20 @@ +# Travis-CI Config +# +# You may use the Deployer to upload packages and builds to external servers. +# See deployer/travis/deployer_defaults.sh for environment variables to configure. + language: c sudo: required dist: trusty matrix: include: +################################ +# Test Buildbots +# Deployer does not operate on these. See Deployer Buildbots, below. +# These bots are disabled when a deployment is triggered by 'deployer' branch name AND DPL_TERMINATE_TESTS=1. +# These bots remain enabled when a deployment is triggered by release tag. +################################ - os: linux addons: apt: @@ -15,6 +26,7 @@ matrix: - p7zip-full - gcc-4.4 compiler: gcc-4.4 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7 - os: linux addons: @@ -27,6 +39,7 @@ matrix: - p7zip-full - gcc-4.6 compiler: gcc-4.6 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4 - os: linux addons: @@ -39,9 +52,11 @@ matrix: - p7zip-full - gcc-4.7 compiler: gcc-4.7 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.7 - os: linux compiler: gcc + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 - os: linux addons: @@ -56,6 +71,7 @@ matrix: - p7zip-full - gcc-4.8 compiler: gcc-4.8 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 - os: linux addons: @@ -71,6 +87,7 @@ matrix: - gcc-7 compiler: gcc-7 env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough" + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802 - os: linux addons: @@ -86,9 +103,11 @@ matrix: - gcc-8 compiler: gcc-8 env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow" + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0 - os: linux compiler: clang + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.5.0 (tags/RELEASE_350/final) - os: linux addons: @@ -103,6 +122,7 @@ matrix: - p7zip-full - clang-3.5 compiler: clang-3.5 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) - os: linux addons: @@ -118,6 +138,7 @@ matrix: - p7zip-full - clang-3.6 compiler: clang-3.6 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2) - os: linux addons: @@ -133,6 +154,7 @@ matrix: - p7zip-full - clang-3.7 compiler: clang-3.7 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1) - os: linux addons: @@ -148,6 +170,7 @@ matrix: - p7zip-full - clang-3.8 compiler: clang-3.8 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.8.1-svn271127-1~exp1 (branches/release_38) - os: linux addons: @@ -163,6 +186,7 @@ matrix: - p7zip-full - clang-3.9 compiler: clang-3.9 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.9.X # - os: linux # addons: @@ -178,6 +202,7 @@ matrix: # - p7zip-full # - clang-4.0 # compiler: clang-4.0 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #clang version 4.0.X # - os: linux # addons: @@ -193,32 +218,321 @@ matrix: # - p7zip-full # - clang-5.0 # compiler: clang-5.0 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #clang version 5.0.X # - os: osx # osx_image: beta-xcode6.1 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) # - os: osx # osx_image: beta-xcode6.2 # compiler: gcc +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) ## - os: osx ## osx_image: beta-xcode6.3 +## if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ ## #I think xcode.6.3 VM is broken, it does not boot # - os: osx # osx_image: xcode6.4 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) # - os: osx # osx_image: xcode7 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.0 (clang-700.0.72) # - os: osx # osx_image: xcode7.1 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.0 (clang-700.1.76) # - os: osx # osx_image: xcode7.2 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.2 (clang-700.1.81) - os: osx osx_image: xcode7.3 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Apple LLVM version 7.3.0 (clang-703.0.31) + + +################################ +# Deployer Buildbots - OSX +################################ + - os: osx + osx_image: xcode7.3 + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=osx + - _DPL_FTP_TARGET=1 + - _DPL_PACKAGE_BINARY=1 + #Apple LLVM version 7.3.0 (clang-703.0.31) + + +################################ +# Deployer Buildbots - Linux assets +# Set DPL_TERMINATE_ASSETS to disable all of these +# List Ubuntu LTS next, newest to oldest +# Then list non-LTS, newest to oldest +################################ + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_ASSETS) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=bionic-asset + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - _DPL_PACKAGE_MAIN=0 + - _DPL_PACKAGE_ASSET=1 + - PACKAGE_DISTRO=bionic + #- PACKAGE_SUBVERSION=~18.04bionic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + + ################################ + # The below asset bots produce packages that occupy too much space. + # It would be nice if the asset files were not included in the source package itself, + # so these can deploy to each Ubuntu target without manual intervention. + # + # Currently, to get around Launchpad's space limitation, + # copy the packages from *one* bot and the space usage is not increased. + ################################ + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: trusty + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=trusty-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=trusty + # #- PACKAGE_SUBVERSION=~14.04trusty + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=disco-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=disco + # #- PACKAGE_SUBVERSION=~19.04disco + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=cosmic-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=cosmic + # #- PACKAGE_SUBVERSION=~18.10cosmic + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=xenial-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=xenial + # #- PACKAGE_SUBVERSION=~16.04xenial + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + + +################################ +# Deployer Buildbots - Linux binaries +# List Ubuntu LTS, newest to oldest +# Then list non-LTS, newest to oldest +################################ + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=bionic + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=bionic + - PACKAGE_SUBVERSION=~18.04bionic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: trusty + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=trusty + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=trusty + - PACKAGE_SUBVERSION=~14.04trusty + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=disco + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=disco + - PACKAGE_SUBVERSION=~19.04disco + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=cosmic + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=cosmic + - PACKAGE_SUBVERSION=~18.10cosmic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=xenial + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=xenial + - PACKAGE_SUBVERSION=~16.04xenial + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 allow_failures: - compiler: clang-3.5 - compiler: clang-3.6 @@ -229,12 +543,14 @@ matrix: - compiler: clang-5.0 - compiler: gcc-8 + cache: apt: true ccache: true directories: - $HOME/srb2_cache + addons: apt: packages: @@ -242,23 +558,127 @@ addons: - libpng-dev - libgl1-mesa-dev - libgme-dev + - zlib1g-dev - p7zip-full -before_script: - - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - - mkdir build - - cd build - - export CFLAGS="-Wall -W -Werror $WFLAGS" - - export CCACHE_COMPRESS=true - - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi + # Initialize Deployer defaults + - . ./deployer/travis/deployer_defaults.sh + # Initialize Deployer; check if Deployer is enabled + # This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session + - . ./deployer/travis/deployer.sh + # Also check if we should now terminate + - if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then + if [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Exiting early because this job is not deploying."; + exit; + fi; + fi + # If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1 + - if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then + ASSET_FILES_OPTIONAL_GET=1; + fi; + + +install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew update; + brew install sdl2 game-music-emu zlib p7zip; + brew install sdl2_mixer --with-flac --with-mpg123; + brew install cmake||true; + fi - mkdir -p $HOME/srb2_cache -script: make -k + +before_script: + # OLDPWD is root repo folder + - OLDPWD=$PWD + - cd "$HOME/srb2_cache" + + # stat is different for OSX + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + STATCMD="stat -f %m"; + else + STATCMD="stat -c %y"; + fi + + # Get asset files (required for MD5) + - if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then + if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then + echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; + fi; + wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$HOME/srb2_cache" -aos; + for f in $ASSET_FILES_REQUIRED; do + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + fi; + + # Get individual required files + - for f in $ASSET_FILES_REQUIRED; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + if [ ! -f "$HOME/srb2_cache/$f" ]; then + echo "Could not download \"$ASSET_BASE_PATH/$f\""; + return 1; + fi; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + + # Get the docs + - for f in $ASSET_FILES_DOCS; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + + # Get optional files too + - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]]; then + for f in $ASSET_FILES_OPTIONAL; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + fi; + + # Go back to root repo folder + - cd "$OLDPWD" + + # Prepare CMake asset lists + - SRB2_ASSET_REQUIRED=$(echo ${ASSET_FILES_REQUIRED// /\;}) + - SRB2_ASSET_OPTIONAL=$(echo ${ASSET_FILES_OPTIONAL// /\;}) + - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) + + # Prepare CMake + - mkdir build + - cd build + - mkdir package + - export CFLAGS="-Wall -W -Werror $WFLAGS" + - export CCACHE_COMPRESS=true + - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package + -DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}" + -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}" + -DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}" + -DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}" + + +script: + # Build our Makefile from Cmake! + - if [[ "$__DPL_ACTIVE" == "1" ]]; then + . ../deployer/travis/deployer_build.sh; + else + make -k; + fi; + +after_success: + # Run the Deployer scripts + - . ../deployer/travis/deployer_ftp.sh + - . ../deployer/travis/deployer_dput.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index eb91866f0..e7dda8366 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,6 @@ cmake_minimum_required(VERSION 3.0) +# DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. +# Version change is fine. project(SRB2 VERSION 2.1.20 LANGUAGES C) @@ -86,8 +88,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") # Set EXE names so the assets CMakeLists can refer to its target -set(SRB2_SDL2_EXE_NAME srb2) -set(SRB2_WIN_EXE_NAME srb2dd) +set(SRB2_SDL2_EXE_NAME srb2 CACHE STRING "Executable binary output name") +set(SRB2_WIN_EXE_NAME srb2dd CACHE STRING "Executable binary output name for DirectDraw build") include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) @@ -116,8 +118,8 @@ if(${CMAKE_SYSTEM} MATCHES "Darwin") set(CPACK_GENERATOR "DragNDrop") endif() -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2") -set(CPACK_PACKAGE_VENDOR "Sonic Team Jr.") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2" CACHE STRING "Program name for display purposes") +set(CPACK_PACKAGE_VENDOR "Sonic Team Jr." CACHE STRING "Vendor name for display purposes") #set(CPACK_PACKAGE_DESCRIPTION_FILE ) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR}) diff --git a/assets/.gitignore b/assets/.gitignore index 9ed61ca1a..d6e46a75b 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -1,5 +1,10 @@ -* -*.* +*.srb +*.pk3 +*.dta +*.wad +*.txt !README.txt !LICENSE.txt -!LICENSE-3RD-PARTY.txt \ No newline at end of file +!LICENSE-3RD-PARTY.txt +!CMakeLists.txt +!debian-template/* diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index 2cf93c84a..5f6db6dd5 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -1,32 +1,48 @@ ## Assets Target Configuration ## -# MD5 generation -set(SRB2_ASSET_ALL - ${CMAKE_CURRENT_SOURCE_DIR}/srb2.srb - #${CMAKE_CURRENT_SOURCE_DIR}/patch.dta - ${CMAKE_CURRENT_SOURCE_DIR}/patch.kart - ${CMAKE_CURRENT_SOURCE_DIR}/gfx.kart - ${CMAKE_CURRENT_SOURCE_DIR}/textures.kart - ${CMAKE_CURRENT_SOURCE_DIR}/chars.kart - ${CMAKE_CURRENT_SOURCE_DIR}/maps.kart - ${CMAKE_CURRENT_SOURCE_DIR}/sounds.kart - #${CMAKE_CURRENT_SOURCE_DIR}/music.dta - ${CMAKE_CURRENT_SOURCE_DIR}/music.kart - ${CMAKE_CURRENT_SOURCE_DIR}/README.txt - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE-3RD-PARTY.txt +# For prepending the current source path, later +FUNCTION(PREPEND var prefix) + SET(listVar "") + FOREACH(f ${ARGN}) + LIST(APPEND listVar "${prefix}/${f}") + ENDFOREACH(f) + SET(${var} "${listVar}" PARENT_SCOPE) +ENDFUNCTION(PREPEND) + +set(SRB2_ASSET_REQUIRED +"srb2.srb;\ +patch.kart;\ +gfx.kart;\ +textures.kart;\ +chars.kart;\ +bonuschars.kart;\ +maps.kart;\ +sounds.kart" + CACHE STRING "Required asset files for packaging. No spaces between entries!" ) -set(SRB2_ASSET_HASHED - srb2.srb - #patch.dta - patch.kart - gfx.kart - textures.kart - chars.kart - maps.kart +set(SRB2_ASSET_DOCS +"README.txt;\ +history.txt;\ +LICENSE.txt;\ +LICENSE-3RD-PARTY.txt" + CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!" ) +set(SRB2_ASSET_OPTIONAL +"music.kart" + CACHE STRING "Optional asset files. No spaces between entries!" +) + +# MD5 generation - Filename only, we don't append path to this +set(SRB2_ASSET_HASHED + ${SRB2_ASSET_REQUIRED} +) + +PREPEND(SRB2_ASSET_REQUIRED ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_REQUIRED}) +PREPEND(SRB2_ASSET_DOCS ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_DOCS}) +PREPEND(SRB2_ASSET_OPTIONAL ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_OPTIONAL}) + foreach(SRB2_ASSET ${SRB2_ASSET_HASHED}) file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE) @@ -34,13 +50,29 @@ endforeach() # Installation -if(CLANG) +if(${CMAKE_SYSTEM} MATCHES Darwin) get_target_property(outname SRB2SDL2 OUTPUT_NAME) - install(FILES ${SRB2_ASSET_ALL} + install(FILES ${SRB2_ASSET_REQUIRED} DESTINATION "${outname}.app/Contents/Resources" ) + install(FILES ${SRB2_ASSET_OPTIONAL} + DESTINATION "${outname}.app/Contents/Resources" + OPTIONAL + ) + install(FILES ${SRB2_ASSET_DOCS} + DESTINATION . + OPTIONAL + ) else() - install(FILES ${SRB2_ASSET_ALL} + install(FILES ${SRB2_ASSET_REQUIRED} DESTINATION . ) + install(FILES ${SRB2_ASSET_OPTIONAL} + DESTINATION . + OPTIONAL + ) + install(FILES ${SRB2_ASSET_DOCS} + DESTINATION . + OPTIONAL + ) endif() diff --git a/assets/debian/README.Debian b/assets/debian-template/README.Debian similarity index 59% rename from assets/debian/README.Debian rename to assets/debian-template/README.Debian index 68c952a4e..f3fe90030 100644 --- a/assets/debian/README.Debian +++ b/assets/debian-template/README.Debian @@ -12,9 +12,39 @@ with apt-key add. Thanks! -- Callum Dickinson Fri, 26 Nov 2010 18:25:31 +1300 +--------------- + + +Templating + +Note that you MUST run [repo-root]/debian_template.sh before running debuild +on these scripts! debian_template.sh fills these template files with working values. + +You should also set PACKAGE_NAME_EMAIL="John Doe " to match +the identity of the key you will use to sign the package. + + +Building for Launchpad PPA + +Run this step first: + + 1. source [repo-root]/debian_template.sh + * Initializes defaults for the package variables and fills in templates. + +Use these steps to prepare building a source package for Launchpad: + + 1. cd [repo-root]/assets/ + 2. debuild -T clean-all (optional; if you already have asset files, this clears them) + +Build the source package: + + 1. debuild -T build (this downloads the asset files from srb2.org if necessary) + 2. debuild -S (builds the source package for Launchpad, including the asset files) + + Signing for Launchpad PPA -First, follow the above instructions to generate a GnuPG key with your identity. You will need +First, follow Callum's instructions to generate a GnuPG key with your identity. You will need to publish the fingerprint of that key to Ubuntu's key server. https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver @@ -26,22 +56,18 @@ upload signed source packages and publish them onto your PPA. IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that means your key is not set up correctly with your Launchpad account. +Finally, if your packages have not already been signed, follow these steps: -Building for Launchpad PPA + 1. cd .. + * Packages are located in the parent folder of where debuild was called + 2. debsign "srb2-data_[version]_source.changes" + * You may need to specify -k [key-fingerprint] -Use these steps to prepare building a source package for Launchpad: - 1. Highly recommend copying the assets/ folder to outside your repo folder, or else the asset - files may be included in the main source package, when you build that. - 2. cd [wherever-your-assets-folder-is]/assets/ - 3. debuild -T clean (optional, if you already have asset files) +Uploading for Launchpad PPA -Building the source package is a two-step process: - - 1. debuild -T build (this downloads the asset files from srb2.org if necessary) - 2. debuild -S (builds the source package for Launchpad, including the asset files) - -Then follow the instructions at to upload +Follow the instructions at to upload to your PPA and have Launchpad build your binary deb packages. + -- Marco Zafra Mon, 26 Nov 2018 21:13:00 -0500 diff --git a/assets/debian/README.source b/assets/debian-template/README.source similarity index 100% rename from assets/debian/README.source rename to assets/debian-template/README.source diff --git a/assets/debian-template/changelog b/assets/debian-template/changelog new file mode 100644 index 000000000..64562e2a3 --- /dev/null +++ b/assets/debian-template/changelog @@ -0,0 +1,5 @@ +${PACKAGE_NAME}-data (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY} + + * ${PROGRAM_NAME} v${PROGRAM_VERSION} asset data + + -- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} diff --git a/assets/debian/compat b/assets/debian-template/compat similarity index 100% rename from assets/debian/compat rename to assets/debian-template/compat diff --git a/assets/debian/control b/assets/debian-template/control similarity index 84% rename from assets/debian/control rename to assets/debian-template/control index 22d9643ee..ae5c0ce67 100644 --- a/assets/debian/control +++ b/assets/debian-template/control @@ -1,15 +1,15 @@ # SRB2-data Debian package control file. -Source: srb2-data +Source: ${PACKAGE_NAME}-data Section: games Priority: extra -Maintainer: Sonic Team Junior +Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} Build-Depends: debhelper (>= 7.0.50~), wget Standards-Version: 3.8.4 -Homepage: http://www.srb2.org +Homepage: ${PACKAGE_WEBSITE} -Package: srb2-data +Package: ${PACKAGE_NAME}-data Architecture: all Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog diff --git a/debian/copyright b/assets/debian-template/copyright similarity index 57% rename from debian/copyright rename to assets/debian-template/copyright index 97d606b0f..cc47c453b 100644 --- a/debian/copyright +++ b/assets/debian-template/copyright @@ -1,18 +1,18 @@ This work was packaged for Debian by: - Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 + ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} It was downloaded from: - + ${PACKAGE_WEBSITE} Upstream Author(s): - Sonic Team Junior + ${PACKAGE_GROUP_NAME_EMAIL} Copyright: - Copyright (C) 1998-2018 Sonic Team Junior + Copyright (C) 1998-2018 by Sonic Team Junior License: @@ -21,7 +21,7 @@ License: The Debian packaging is: Copyright (C) 2010 Callum Dickinson - Copyright (C) 2010-2018 Sonic Team Junior + Copyright (C) 2010-2018 by Sonic Team Junior and is licensed under the GPL version 2, see "/usr/share/common-licenses/GPL-2". diff --git a/assets/debian/rules b/assets/debian-template/rules old mode 100755 new mode 100644 similarity index 58% rename from assets/debian/rules rename to assets/debian-template/rules index a34a3393f..99a4eaf3c --- a/assets/debian/rules +++ b/assets/debian-template/rules @@ -23,6 +23,16 @@ # ############################################################################# +############################################################################# +# +# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!! +# +# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH} +# Variables used by the rules script are parenthese'd $(DATADIR) +# See [repo-root]/debian_template.sh +# +############################################################################# + # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -37,9 +47,12 @@ RM := rm -rf DIR := $(shell pwd) PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g') -DATAFILES := srb2.srb zones.dta player.dta rings.dta music.dta patch.dta README.txt LICENSE.txt LICENSE-3RD-PARTY.txt +DATAFILES := ${ASSET_FILES_REQUIRED} +DOCFILES := ${ASSET_FILES_DOCS} +OPTIONALFILES := ${ASSET_FILES_OPTIONAL} +GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET} -DATADIR := usr/games/SRB2 +DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') RESOURCEDIR := . WGET := wget -P $(RESOURCEDIR) -c -nc @@ -49,18 +62,41 @@ build: # This will need to be updated every time SRB2 official version is # Copy data files to their install locations, and add data files to include-binaries for file in $(DATAFILES); do \ - if [ ! -f $(RESOURCEDIR)/$$file ]; then \ - $(WGET) http://alam.srb2.org/SRB2/2.1.21-Final/Resources/$$file; \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ fi; \ - if [ -f $(RESOURCEDIR)/$$file ]; then \ - $(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/$$file; \ - echo $(RESOURCEDIR)/$$file >> $(DIR)/debian/source/include-binaries; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ fi; \ - if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/$$file ]; then \ - echo $(DIR)/debian/tmp/$(DATADIR)/$$file not found and could not be downloaded!; \ + if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \ + echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \ return 1; \ fi; \ done + # Do the same for DOCFILES, but don't error out if not found + for file in $(DOCFILES); do \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + fi; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ + fi; \ + done + # Do the same for OPTIONALFILES if GETOPTIONALFILES == 1 + if [ "$(GETOPTIONALFILES)" = "1" ]; then \ + for file in $(OPTIONALFILES); do \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + fi; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ + fi; \ + done; \ + fi; + binary-indep: # Generate install folder file diff --git a/assets/debian/source/format b/assets/debian-template/source/format similarity index 100% rename from assets/debian/source/format rename to assets/debian-template/source/format diff --git a/assets/debian/source/options b/assets/debian-template/source/options similarity index 100% rename from assets/debian/source/options rename to assets/debian-template/source/options diff --git a/assets/debian/changelog b/assets/debian/changelog deleted file mode 100644 index f3a92e1cd..000000000 --- a/assets/debian/changelog +++ /dev/null @@ -1,19 +0,0 @@ -srb2-data (2.1.21~7) trusty; urgency=high - - * Updated for SRB2 v2.1.21 - - -- Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 - - -srb2-data (2.1.14~1) unstable; urgency=low - - * Updated for SRB2 v2.1.14 - - -- Alam Arias Sat, 6 Jan 2016 11:00:00 -0500 - - -srb2-data (2.0.6-2) maverick; urgency=high - - * Initial proper release.. - - -- Callum Dickinson Sat, 29 Jan 2011 01:18:42 +1300 diff --git a/debian/README.Debian b/debian-template/README.Debian similarity index 62% rename from debian/README.Debian rename to debian-template/README.Debian index 4b724816e..3aa52787e 100644 --- a/debian/README.Debian +++ b/debian-template/README.Debian @@ -10,10 +10,38 @@ and give them to your users to install with apt-key add. Thanks! -- Callum Dickinson Fri, 26 Nov 2010 18:25:31 +1300 +--------------- + + +Templating + +Note that you MUST run [repo-root]/debian_template.sh before running debuild +on these scripts! debian_template.sh fills these template files with working values. + +You should also set PACKAGE_NAME_EMAIL="John Doe " to match +the identity of the key you will use to sign the package. + + +Building for Launchpad PPA + +Use these steps to prepare building a source package for Launchpad: + + 1. cd [repo-root] + 2. git reset --hard; git clean -fd; git clean -fx; + * Resets your repo folder to a committed state and removes untracked files + * If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS, + OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE! + +Build the source package: + + 1. source [repo-root]/debian_template.sh + * Initializes defaults for the package variables and fills in templates. + 2. debuild -S (builds the source package for Launchpad) + Signing for Launchpad PPA -First, follow the above instructions to generate a GnuPG key with your identity. You will need +First, follow Callum's instructions to generate a GnuPG key with your identity. You will need to publish the fingerprint of that key to Ubuntu's key server. https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver @@ -25,22 +53,18 @@ upload signed source packages and publish them onto your PPA. IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that means your key is not set up correctly with your Launchpad account. +Finally, if your packages have not already been signed, follow these steps: -Building for Launchpad PPA + 1. cd .. + * Packages are located in the parent folder of where debuild was called + 2. debsign "srb2_[version]_source.changes" + * You may need to specify -k [key-fingerprint] -Use these steps to prepare building a source package for Launchpad: - 1. cd [srb2repo] - 2. git reset --hard; git clean -fd; git clean -fx; - * Resets your repo folder to a committed state and removes untracked files - * If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS, - OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE! +Uploading for Launchpad PPA -Building the source package takes just one step: - - 1. debuild -S (builds the source package for Launchpad) - -Then follow the instructions at to upload +Follow the instructions at to upload to your PPA and have Launchpad build your binary deb packages. + -- Marco Zafra Mon, 26 Nov 2018 21:13:00 -0500 diff --git a/debian/README.source b/debian-template/README.source similarity index 100% rename from debian/README.source rename to debian-template/README.source diff --git a/debian-template/changelog b/debian-template/changelog new file mode 100644 index 000000000..fb08908cd --- /dev/null +++ b/debian-template/changelog @@ -0,0 +1,5 @@ +${PACKAGE_NAME} (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY} + + * ${PROGRAM_NAME} v${PROGRAM_VERSION} program build + + -- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} diff --git a/debian/compat b/debian-template/compat similarity index 100% rename from debian/compat rename to debian-template/compat diff --git a/debian/control b/debian-template/control similarity index 65% rename from debian/control rename to debian-template/control index ce3b33fbd..e1348d704 100644 --- a/debian/control +++ b/debian-template/control @@ -1,24 +1,30 @@ # SRB2 Debian package control file. -Source: srb2 +Source: ${PACKAGE_NAME} Section: games Priority: extra -Maintainer: Sonic Team Junior +Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} Build-Depends: debhelper (>= 7.0.50~), libsdl2-dev, libsdl2-mixer-dev, - libpng12-dev (>= 1.2.7) | libpng-dev, + libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7), zlib1g-dev, libgme-dev, libglu1-dev | libglu-dev, libosmesa6-dev | libgl-dev, nasm [i386] Standards-Version: 3.8.4 -Homepage: http://www.srb2.org +Homepage: ${PACKAGE_WEBSITE} -Package: srb2 +Package: ${PACKAGE_NAME} Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.21) +Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, + ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), + libsdl2-2.0-0, + libsdl2-mixer-2.0-0, + zlib1g, + libgme0, + libpng | libpng16-16 | libpng12-0 Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy @@ -28,10 +34,10 @@ Description: A cross-platform 3D Sonic fangame and quite a lot of the fun that the original Sonic games provided. -Package: srb2-dbg +Package: ${PACKAGE_NAME}-dbg Architecture: any -# FIXME: should be Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat -Depends: libc6, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.21), srb2 +# FIXME: should be Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat +Depends: libc6, ${MISC_DEPENDS}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME} Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy diff --git a/assets/debian/copyright b/debian-template/copyright similarity index 57% rename from assets/debian/copyright rename to debian-template/copyright index 97d606b0f..cc47c453b 100644 --- a/assets/debian/copyright +++ b/debian-template/copyright @@ -1,18 +1,18 @@ This work was packaged for Debian by: - Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 + ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} It was downloaded from: - + ${PACKAGE_WEBSITE} Upstream Author(s): - Sonic Team Junior + ${PACKAGE_GROUP_NAME_EMAIL} Copyright: - Copyright (C) 1998-2018 Sonic Team Junior + Copyright (C) 1998-2018 by Sonic Team Junior License: @@ -21,7 +21,7 @@ License: The Debian packaging is: Copyright (C) 2010 Callum Dickinson - Copyright (C) 2010-2018 Sonic Team Junior + Copyright (C) 2010-2018 by Sonic Team Junior and is licensed under the GPL version 2, see "/usr/share/common-licenses/GPL-2". diff --git a/debian/docs b/debian-template/docs similarity index 100% rename from debian/docs rename to debian-template/docs diff --git a/debian/rules b/debian-template/rules similarity index 87% rename from debian/rules rename to debian-template/rules index 02e3dc78e..2cc001229 100755 --- a/debian/rules +++ b/debian-template/rules @@ -23,6 +23,16 @@ # ############################################################################# +############################################################################# +# +# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!! +# +# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH} +# Variables used by the rules script are parenthese'd $(PKGDIR) +# See [repo-root]/debian_template.sh +# +############################################################################# + # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -50,15 +60,16 @@ DIR := $(shell pwd) # FIXME: hate hate hate head/tail hack :( CONTROLF = $(DIR)/debian/control -PACKAGE = srb2 -DBGPKG = $(PACKAGE)-dbg -TITLE = Sonic Robo Blast 2 +PACKAGE = ${PACKAGE_NAME} +DBGPKG = ${PACKAGE}-dbg +TITLE = ${PROGRAM_NAME} SECTION = Games/Action -EXENAME = srb2 +EXENAME = ${PROGRAM_FILENAME} DBGNAME = debug/$(EXENAME) -PKGDIR = usr/games/SRB2 +PKGDIR = $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') DBGDIR = usr/lib/debug/$(PKGDIR) +LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///') PIXMAPS_DIR = usr/share/pixmaps DESKTOP_DIR = usr/share/applications PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)") @@ -101,8 +112,8 @@ binary-arch: $(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE) $(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE) # Install desktop file and banner image - $(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps - $(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications + $(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png + $(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop # add compiled binaries to include-binaries echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries diff --git a/debian/source/format b/debian-template/source/format similarity index 100% rename from debian/source/format rename to debian-template/source/format diff --git a/debian/source/options b/debian-template/source/options similarity index 81% rename from debian/source/options rename to debian-template/source/options index 841c65a6f..1ef771ddf 100644 --- a/debian/source/options +++ b/debian-template/source/options @@ -2,7 +2,7 @@ tar-ignore = "assets/*.srb" tar-ignore = "assets/*.pk3" tar-ignore = "assets/*.dta" tar-ignore = "assets/*.wad" -tar-ignore = "assets/debian/srb2-data/*" +tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*" tar-ignore = "assets/debian/tmp/*" tar-ignore = "*.obj" tar-ignore = "*.dep" diff --git a/debian-template/srb2.desktop b/debian-template/srb2.desktop new file mode 100644 index 000000000..07c7906e0 --- /dev/null +++ b/debian-template/srb2.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=${PROGRAM_NAME} +Comment=${PROGRAM_DESCRIPTION} +Encoding=UTF-8 +Exec=${PACKAGE_INSTALL_PATH}/${PROGRAM_FILENAME} +Icon=/usr/share/pixmaps/${PROGRAM_FILENAME}.png +Terminal=false +Type=Application +StartupNotify=false +Categories=Application;Game; diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 855c1c1b3..000000000 --- a/debian/changelog +++ /dev/null @@ -1,12 +0,0 @@ -srb2 (2.1.21~9) trusty; urgency=high - - * SRB2 v2.1.21 release - - -- Marco Zafra Mon, 27 Nov 2018 16:45:00 -0500 - - -srb2 (2.0.6-5) maverick; urgency=high - - * Initial proper release.. - - -- Callum Dickinson Sat, 29 Jan 2011 01:18:42 +1300 diff --git a/debian/srb2.desktop b/debian/srb2.desktop deleted file mode 100644 index 3a1cac9f6..000000000 --- a/debian/srb2.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Sonic Robo Blast 2 -Comment=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis. -Encoding=UTF-8 -Exec=/usr/games/SRB2/srb2 -Icon=/usr/share/pixmaps/srb2.png -Terminal=false -Type=Application -StartupNotify=false -Categories=Application;Game; diff --git a/debian_template.sh b/debian_template.sh new file mode 100644 index 000000000..c1af3c19f --- /dev/null +++ b/debian_template.sh @@ -0,0 +1,166 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Debian package templating +# +# Call this script BEFORE running debuild! +# source ./debian_template.sh [clean] [main/asset] +# +# Before running this script, +# you should also set PACKAGE_NAME_EMAIL="John Doe " to match +# the identity of the key you will use to sign the package. +# + +# Get script's actual path +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + +# Recursive function for directory crawling +# $1 = Directory root to crawl +# $2 = Code to eval on file +# $3 = Code to eval on directory +# Exposes $dirtails, $dirlevel, and $dirtailname +dirlevel=0 # initialize +dirtails=() + +# Utility function to make dira/dirb/dirc string +makedirtailname () { + dirtailname="" + for tail in $dirtails; do + if [[ "$dirtailname" == "" ]]; then + dirtailname="/$tail"; + else + dirtailname="$dirtailname/$tail"; + fi; + done; +} + +evaldirectory () { + if [ -d "$1" ]; then + # Set contextual variables + # dirtails is an array of directory basenames after the crawl root + if (( $dirlevel > 0 )); then + dirtails+=( "$(basename $1)" ); + else + dirtails=(); + fi; + dirlevel=$((dirlevel+1)); + + # Generate directory path after the crawl root + makedirtailname; + + # Eval our directory with the latest contextual info + # Don't eval on root + if (( $dirlevel > 1 )) && [[ "$3" != "" ]]; then + eval "$3"; + fi; + + # Iterate entries + for name in $1/*; do + if [ -d "$name" ]; then + # Name is a directory, but don't eval yet + # Recurse so our vars are updated + evaldirectory "$name" "$2" "$3"; + + # Decrement our directory level and remove a dirtail + unset 'dirtails[ ${#dirtails[@]}-1 ]'; + dirlevel=$((dirlevel-1)); + makedirtailname; + else + # Name is a file + if [ -f "$name" ] && [[ "$2" != "" ]]; then + eval "$2"; + fi; + fi; + done; + + # Reset our variables; we're done iterating + if (( $dirlevel == 1 )); then + dirlevel=0; + fi; + fi; +} + +# +# Initialize package parameter defaults +# +if [[ "$__DEBIAN_PARAMETERS_INITIALIZED" != "1" ]]; then + . ${DIR}/deployer/travis/deployer_defaults.sh; +fi; + +# Clean up after ourselves; we only expect to run this script once +# during buildboting +__DEBIAN_PARAMETERS_INITIALIZED=0 + +# for envsubst +export __PACKAGE_DATETIME="$(date '+%a, %d %b %Y %H:%M:%S %z')" +export __PACKAGE_DATETIME_DIGIT="$(date -u '+%Y%m%d%H%M%S')" + +if [[ "$PACKAGE_REVISION" == "" ]]; then + PACKAGE_REVISION="-$__PACKAGE_DATETIME_DIGIT"; + __PACKAGE_REVISION_BY_DATE=1; + export PACKAGE_REVISION=${PACKAGE_REVISION}; # for envsubst +fi; + +# +# Clean the old debian/ directories +# +if [[ "$1" == "clean" ]]; then + toclean=$2; +else + toclean=$1; +fi; + +if [[ "$toclean" == "" ]] || [[ "$toclean" == "main" ]]; then + echo "Cleaning main package scripts"; + if [[ ! -f ${DIR}/debian ]]; then + rm -rf ${DIR}/debian; + fi; +fi; +if [[ "$toclean" == "" ]] || [[ "$toclean" == "asset" ]]; then + echo "Cleaning asset package scripts"; + if [[ ! -f ${DIR}/assets/debian ]]; then + rm -rf ${DIR}/assets/debian; + fi; +fi; + +# +# Make new templates +# +if [[ "$1" != "clean" ]]; then + totemplate=$1; + + # HACK: ${shlibs:Depends} in the templates make the templating fail + # So just define replacemment variables + export SHLIBS_DEPENDS=${SHLIBS_DEPENDS}; + export MISC_DEPENDS=${MISC_DEPENDS}; + export DEBFILEVAR='$$file'; # used in assets/debian/rules + + # Package parameters are exported for envsubst in deployer_defaults.sh + + if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "main" ]]; then + echo "Generating main package scripts"; + fromroot=${DIR}/debian-template; + toroot=${DIR}/debian; + mkdir ${toroot}; + + evaldirectory ${fromroot} \ + "cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \ + "mkdir \"${toroot}\${dirtailname}\""; + fi; + + if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "asset" ]]; then + echo "Generating asset package scripts"; + fromroot=${DIR}/assets/debian-template; + toroot=${DIR}/assets/debian; + mkdir ${toroot}; + + # Root dir to crawl; file eval; directory eval + evaldirectory ${fromroot} \ + "cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \ + "mkdir \"${toroot}\${dirtailname}\""; + fi; +fi; + +if [[ "$__DPL_ACTIVE" != "1" ]] && [[ "$__PACKAGE_REVISION_BY_DATE" == "1" ]]; then + unset PACKAGE_REVISION; # so we can reset the date on subsequent runs +fi; diff --git a/deployer/travis/deployer.sh b/deployer/travis/deployer.sh new file mode 100644 index 000000000..c88155d21 --- /dev/null +++ b/deployer/travis/deployer.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Initialization +# +# Performs validity checks to ensure that Deployer is allowed to run +# e.g., is an FTP hostname specified? Are we whitelisted by OSNAMES and BRANCHES? +# +# Set these environment variables in your Travis-CI settings, where they are stored securely. +# See other shell scripts for more options. +# +# DPL_ENABLED = 1 (leave blank to disable) +# DPL_TAG_ENABLED = 1 (run Deployer on all tags) +# DPL_JOB_ENABLE_ALL = 1 (run Deployer on all jobs; leave blank to act on specific jobs, see below) +# DPL_JOBNAMES = name1,name2 (whitelist of job names to allow uploading; leave blank to upload from all jobs) +# DPL_OSNAMES = osx (whitelist of OS names to allow uploading; leave blank to upload from all OSes) +# DPL_BRANCHES = master,branch1,branch2 (whitelist of branches to upload; leave blank to upload all branches) +# +# To enable Deployer on specific jobs, set _DPL_JOB_ENABLED=1 for that job. Example: +# - matrix: +# - os: osx +# env: +# - _DPL_JOB_ENABLED=1 +# +# DO NOT set __DPL_ACTIVE, because that would bypass these validity checks. + +# Validate Deployer state +if [[ "$DPL_ENABLED" == "1" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then + # Test for base eligibility: + # Are we in a deployer branch? Or + # Are we in a release tag AND DPL_TAG_ENABLED=1? + if [[ $TRAVIS_BRANCH == *"deployer"* ]]; then + __DPL_BASE_ELIGIBLE=1; + __DPL_TERMINATE_EARLY_ELIGIBLE=1; + fi; + + if [[ "$TRAVIS_TAG" != "" ]] && [[ "$DPL_TAG_ENABLED" == "1" ]]; then + __DPL_BASE_ELIGIBLE=1; + __DPL_TAG_ELIGIBLE=1; + __DPL_TERMINATE_EARLY_ELIGIBLE=1; + fi; + + # Logging message for trigger word + if [[ "$__DPL_TAG_ELIGIBLE" != "1" ]] && [[ "$DPL_TRIGGER" != "" ]]; then + echo "Testing for trigger $DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE"; + echo "[${DPL_TRIGGER}]"; + echo "[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"; + echo "[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"; + fi; + + # + # Search for the trigger word + # Force enable if release tags are eligible + # + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_TRIGGER" == "" ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER]"* ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"* ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"* ]]; then + # + # Whitelist by branch name + # Force enable if release tags are eligible + # + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then + # Set this so we only early-terminate builds when we are specifically deploying + # Trigger string and branch are encompassing conditions; the rest are job-specific + # This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1, + # because we're filtering non-deployer jobs. + # + # __DPL_TRY_TERMINATE_EARLY is invalidated in .travis.yml if __DPL_ACTIVE=1 + if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then + __DPL_TRY_TERMINATE_EARLY=1; + fi; + + # + # Is the job enabled for deployment? + # + if [[ "$DPL_JOB_ENABLE_ALL" == "1" ]] || [[ "$_DPL_JOB_ENABLED" == "1" ]]; then + # + # Whitelist by job names + # + if [[ "$DPL_JOBNAMES" == "" ]] || [[ "$_DPL_JOB_NAME" == "" ]] || [[ $DPL_JOBNAMES == *"$_DPL_JOB_NAME"* ]]; then + # + # Whitelist by OS names + # + if [[ "$DPL_OSNAMES" == "" ]] || [[ $DPL_OSNAMES == *"$TRAVIS_OS_NAME"* ]]; then + # Base Deployer is eligible for becoming active + + # Are we building for Linux? + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]] || [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + __DPL_DEBIAN_ACTIVE=1; + fi; + fi; + fi; + + # Now check for deployment targets + if [[ "$_DPL_FTP_TARGET" == "1" ]] && [[ "$DPL_FTP_HOSTNAME" != "" ]]; then + if [[ "$TRAVIS_OS_HOST" == "linux" ]] && [[ "$DPL_FTP_PROTOCOL" == "ftp" ]]; then + echo "Non-secure FTP will not work on Linux Travis-CI jobs!"; + echo "Try SFTP or another target. Details:"; + echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci"; + else + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] || [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_BINARY" == "1" ]]; then + echo "Deployer FTP target is enabled"; + __DPL_FTP_ACTIVE=1; + else + echo "Deployer FTP target cannot be enabled: You must specify _DPL_PACKAGE_BINARY=1,"; + echo "and/or _DPL_BINARY=1 in your job's environment variables."; + fi; + fi; + fi; + + if [[ "$_DPL_DPUT_TARGET" == "1" ]] && [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] \ + && [[ "$DPL_DPUT_INCOMING" != "" ]]; then + if [[ "$DPL_DPUT_METHOD" == "ftp" ]]; then + echo "DPUT will not work with non-secure FTP on Linux Travis-CI jobs!"; + echo "Try SFTP or another method for DPUT. Details:"; + echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci"; + else + echo "Deployer DPUT target is enabled"; + __DPL_DPUT_ACTIVE=1; + fi; + fi; + + # If any deployment targets are active, then so is the Deployer at large + if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + __DPL_ACTIVE=1; + fi; + fi; + fi; + fi; + fi; + else + if [[ "$DPL_TRIGGER" != "" ]]; then + echo "Testing for global trigger [$DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE"; + fi; + if [[ "$DPL_TRIGGER" != "" ]] && [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER"* ]]; then + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then + # This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1, + # because we're filtering non-deployer jobs. + if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then + # Assume that some job received the trigger, so mark this for early termination + __DPL_TRY_TERMINATE_EARLY=1; + fi; + fi; + fi; + fi; +fi; + +if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Deployer is active in another job"; +fi; + +if [[ "$__DPL_TRY_TERMINATE_EARLY" != "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Deployer is not active"; +fi; diff --git a/deployer/travis/deployer_build.sh b/deployer/travis/deployer_build.sh new file mode 100644 index 000000000..3817f025d --- /dev/null +++ b/deployer/travis/deployer_build.sh @@ -0,0 +1,190 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Build Script +# +# Builds the required targets depending on which sub-modules are enabled + +if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then + echo "Building Debian package(s)" + + sudo apt-get install devscripts debhelper fakeroot secure-delete expect; + + # Build source packages first, since they zip up the entire source folder, + # binaries and all + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + . ../debian_template.sh main; + OLDPWD=$PWD; # [repo]/build + cd ..; # repo root + + if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then + echo "Building main source Debian package"; + expect <(cat < key.asc; + echo "$DPL_PGP_KEY_PASSPHRASE" > phrase.txt; + gpg --import key.asc; + + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + echo "Signing main package(s)"; + + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; # parent of repo root + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*.changes; do + debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f"; + done; + done; + + cd $OLDPWD; + fi; + + if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + echo "Signing asset package(s)"; + + PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + ) + + # Asset packages are in root repo folder + OLDPWD=$PWD; # [repo]/build + cd ..; # repo root + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*.changes; do + debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f"; + done; + done; + + cd $OLDPWD; + fi; + + # Delete the keys :eyes: + srm key.asc; + srm phrase.txt; + fi; + fi; + + # all other OSes + if [[ "$TRAVIS_OS_NAME" != "linux" ]]; then + # + # Check for binary building + # + if [[ "$_DPL_BINARY" == "1" ]]; then + echo "Building a Binary"; + make -k; + fi; + + # + # Check for package building + # + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then + echo "Building a Package"; + + # Make an OSX package; superuser is required for library bundling + # + # HACK: OSX packaging can't write libraries to .app package unless we're superuser + # because the original library files don't have WRITE permission + # Bug may be sidestepped by using CHMOD_BUNDLE_ITEMS=TRUE + # But I don't know where this is set. Not `cmake -D...` because this var is ignored. + # https://cmake.org/Bug/view.php?id=9284 + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + sudo make -k package; + else + # Some day, when Windows is supported, we'll just make a standard package + make -k package; + fi; + fi; + fi; +fi; diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh new file mode 100644 index 000000000..9716c31cb --- /dev/null +++ b/deployer/travis/deployer_defaults.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Default Variables +# +# Here are all of the user-set variables used by Deployer. +# See the "Cross-platform deployment" page on SRB2 Wiki for documentation. + +# Core Parameters +: ${DPL_ENABLED} # Enable Deployer behavior; must be set for any deployment activity +: ${DPL_TAG_ENABLED} # Trigger Deployer for all tag releases +: ${DPL_JOB_ENABLE_ALL} # Enable all jobs for deployment +: ${DPL_TERMINATE_TESTS} # Terminate all build test jobs (used in .travis.yml) +: ${DPL_TRIGGER} # Use a [word] in the commit message to trigger Deployer +: ${DPL_JOBNAMES} # Trigger Deployer by job name +: ${DPL_OSNAMES} # Trigger Deployer by OS name (osx,linux) +: ${DPL_BRANCHES} # Trigger Deployer by git branch name + +# Job Parameters +: ${_DPL_JOB_ENABLED} # Enable Deployer for this specific job. DPL_ENABLED must be set too. +: ${_DPL_JOB_NAME} # Identifier for the job, used for logging and trigger word matching +: ${_DPL_FTP_TARGET} # Deploy to FTP +: ${_DPL_DPUT_TARGET} # Deploy to DPUT +: ${_DPL_PACKAGE_SOURCE} # Build packages into a Source distribution. Linux only. +: ${_DPL_PACKAGE_BINARY} # Build packages into a Binary distribution. +: ${_DPL_PACKAGE_MAIN:=1} # Build main installation package. Linux only; OS X assumes this. +: ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only. + +# Asset File Parameters +: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z} +: ${ASSET_BASE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets} +: ${ASSET_FILES_REQUIRED:=srb2.srb zones.dta player.dta rings.dta patch.dta} +: ${ASSET_FILES_DOCS:=README.txt LICENSE.txt LICENSE-3RD-PARTY.txt} +: ${ASSET_FILES_OPTIONAL:=music.dta} +: ${ASSET_FILES_OPTIONAL_GET:=0} + +# FTP Parameters +: ${DPL_FTP_PROTOCOL} +: ${DPL_FTP_USER} +: ${DPL_FTP_PASS} +: ${DPL_FTP_HOSTNAME} +: ${DPL_FTP_PORT} +: ${DPL_FTP_PATH} + +# DPUT Parameters +: ${DPL_DPUT_DOMAIN:=ppa.launchpad.net} +: ${DPL_DPUT_METHOD:=sftp} +: ${DPL_DPUT_INCOMING} +: ${DPL_DPUT_LOGIN:=anonymous} +: ${DPL_SSH_KEY_PRIVATE} # Base64-encoded private key file. Used to sign repository uploads +: ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file. + +# Package Parameters +: ${PACKAGE_NAME:=srb2} +: ${PACKAGE_VERSION:=2.1.23} +: ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic) +: ${PACKAGE_REVISION} # Defaults to UTC timestamp +: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2} +: ${PACKAGE_LINK_PATH:=/usr/games} +: ${PACKAGE_DISTRO:=trusty} +: ${PACKAGE_URGENCY:=high} +: ${PACKAGE_NAME_EMAIL:=Sonic Team Junior } +: ${PACKAGE_GROUP_NAME_EMAIL:=Sonic Team Junior } +: ${PACKAGE_WEBSITE:=} + +: ${PACKAGE_ASSET_MINVERSION:=2.1.21} # Number this the version BEFORE the actual required version, because we do a > check +: ${PACKAGE_ASSET_MAXVERSION:=2.1.24} # Number this the version AFTER the actual required version, because we do a < check + +: ${PROGRAM_NAME:=Sonic Robo Blast 2} +: ${PROGRAM_VENDOR:=Sonic Team Junior} +: ${PROGRAM_VERSION:=2.1.23} +: ${PROGRAM_DESCRIPTION:=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis.} +: ${PROGRAM_FILENAME:=srb2} + +: ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages +: ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file. + +# Export Asset and Package Parameters for envsubst templating + +export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}" +export ASSET_BASE_PATH="${ASSET_BASE_PATH}" +export ASSET_FILES_REQUIRED="${ASSET_FILES_REQUIRED}" +export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}" +export ASSET_FILES_OPTIONAL="${ASSET_FILES_OPTIONAL}" +export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}" + +export PACKAGE_NAME="${PACKAGE_NAME}" +export PACKAGE_VERSION="${PACKAGE_VERSION}" +export PACKAGE_SUBVERSION="${PACKAGE_SUBVERSION}" # in case we have this +export PACKAGE_REVISION="${PACKAGE_REVISION}" +export PACKAGE_ASSET_MINVERSION="${PACKAGE_ASSET_MINVERSION}" +export PACKAGE_ASSET_MAXVERSION="${PACKAGE_ASSET_MAXVERSION}" +export PACKAGE_INSTALL_PATH="${PACKAGE_INSTALL_PATH}" +export PACKAGE_LINK_PATH="${PACKAGE_LINK_PATH}" +export PACKAGE_DISTRO="${PACKAGE_DISTRO}" +export PACKAGE_URGENCY="${PACKAGE_URGENCY}" +export PACKAGE_NAME_EMAIL="${PACKAGE_NAME_EMAIL}" +export PACKAGE_GROUP_NAME_EMAIL="${PACKAGE_GROUP_NAME_EMAIL}" +export PACKAGE_WEBSITE="${PACKAGE_WEBSITE}" + +export PROGRAM_NAME="${PROGRAM_NAME}" +export PROGRAM_VERSION="${PROGRAM_VERSION}" +export PROGRAM_DESCRIPTION="${PROGRAM_DESCRIPTION}" +export PROGRAM_FILENAME="${PROGRAM_FILENAME}" + +# This file is called in debian_template.sh, so mark our completion so we don't run it again +__DEBIAN_PARAMETERS_INITIALIZED=1 diff --git a/deployer/travis/deployer_dput.sh b/deployer/travis/deployer_dput.sh new file mode 100644 index 000000000..863a928cd --- /dev/null +++ b/deployer/travis/deployer_dput.sh @@ -0,0 +1,133 @@ +#!/bin/bash + +# Deployer for Travis-CI +# DPUT uploader (e.g., Launchpad PPA) +# + +if [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + # Install APT dependencies + # paramiko required for ssh + sudo apt-get install python-paramiko expect dput; # python-pip + #pip install paramiko; + + # Output the DPUT config + # Dput only works if you're using secure FTP, so that's what we default to. + cat > "./dput.cf" << EOM +[deployer] +fqdn = ${DPL_DPUT_DOMAIN} +method = ${DPL_DPUT_METHOD} +incoming = ${DPL_DPUT_INCOMING} +login = ${DPL_DPUT_LOGIN} +allow_unsigned_uploads = 0 +EOM + + # Output SSH config + # Don't let SSH prompt us for untrusted hosts + cat >> "./ssh_config" << EOM + +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null + PubKeyAuthentication yes + IdentityFile ${PWD}/key.private + IdentitiesOnly yes +EOM + sudo sh -c "cat < ${PWD}/ssh_config >> /etc/ssh/ssh_config"; + + # Get the private key + echo "$DPL_SSH_KEY_PRIVATE" | base64 --decode > key.private; + chmod 700 ./key.private; + + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; + + # Enter passphrase if required + for n in ${PACKAGEFILENAMES}; do + for f in $n*.changes; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + + expect <(cat < "commit.txt"; + echo "Job ID $TRAVIS_JOB_ID" >> "commit.txt"; + echo "" >> "commit.txt"; + echo "Commit $TRAVIS_COMMIT" >> "commit.txt"; + echo "$TRAVIS_COMMIT_MESSAGE" >> "commit.txt"; + echo "" >> "commit.txt"; + + # Initialize FTP parameters + if [[ "$DPL_FTP_PORT" == "" ]]; then + DPL_FTP_PORT=21; + fi; + if [[ "$DPL_FTP_PROTOCOL" == "" ]]; then + DPL_FTP_PROTOCOL=ftp; + fi; + __DPL_FTP_LOCATION=$DPL_FTP_PROTOCOL://$DPL_FTP_HOSTNAME:$DPL_FTP_PORT/$DPL_FTP_PATH/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/$TRAVIS_JOB_ID-$TRAVIS_JOB_NUMBER-$JOBNAME; + + # Upload to FTP! + echo "Uploading to FTP..."; + curl --ftp-create-dirs -T "commit.txt" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/commit.txt"; + + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/main/$f"; + done; + done; + + # Go back to [repo]/build folder + cd $OLDPWD; + fi; + + if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + ) + + # Asset packages are in root repo folder + OLDPWD=$PWD; # [repo]/build + cd ..; + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/asset/$f"; + done; + done; + + # Go back to [repo]/build folder + cd $OLDPWD; + fi; + else + if [[ "$_DPL_BINARY" == "1" ]]; then + find bin -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;; + fi; + + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then + sudo rm -r package/_CPack_Packages + find package -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;; + fi; + fi; +fi diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index a3626970e..441203ddb 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -150,7 +150,7 @@ if(${SDL2_FOUND}) ${ZLIB_LIBRARIES} ${OPENGL_LIBRARIES} ) - set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "Sonic Robo Blast 2") + set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") else() target_link_libraries(SRB2SDL2 PRIVATE ${SDL2_LIBRARIES} @@ -334,10 +334,19 @@ if(${SDL2_FOUND}) # Mac bundle fixup + # HACK: THIS IS IMPORTANT! See the escaped \${CMAKE_INSTALL_PREFIX}? This + # makes it so that var is evaluated LATER during cpack, not right now! + # This fixes the quirk where the bundled libraries don't land in the final package + # https://cmake.org/pipermail/cmake/2011-March/043532.html + # + # HOWEVER: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY} is NOT escaped, because that var + # is only available to us at this step. Read the link: ${CMAKE_INSTALL_PREFIX} at + # this current step points to the CMAKE build folder, NOT the folder that CPACK uses. + # Therefore, it makes sense to escape that var, but not the other. if(${CMAKE_SYSTEM} MATCHES Darwin) install(CODE " include(BundleUtilities) - fixup_bundle(\"${CMAKE_INSTALL_PREFIX}/Sonic Robo Blast 2.app\" + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CPACK_PACKAGE_DESCRIPTION_SUMMARY}.app\" \"\" /Library/Frameworks )" From 85ae6f9b74b1543323da045f16c1019853486f9b Mon Sep 17 00:00:00 2001 From: mazmazz Date: Tue, 18 Dec 2018 03:23:13 -0500 Subject: [PATCH 19/62] Add kart to tar-ignore --- debian-template/source/options | 1 + 1 file changed, 1 insertion(+) diff --git a/debian-template/source/options b/debian-template/source/options index 1ef771ddf..9532ff202 100644 --- a/debian-template/source/options +++ b/debian-template/source/options @@ -2,6 +2,7 @@ tar-ignore = "assets/*.srb" tar-ignore = "assets/*.pk3" tar-ignore = "assets/*.dta" tar-ignore = "assets/*.wad" +tar-ignore = "assets/*.kart" tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*" tar-ignore = "assets/debian/tmp/*" tar-ignore = "*.obj" From 1c1050fa9d9df9d81a9ef13427cebc3368cf7476 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Tue, 18 Dec 2018 14:14:14 -0500 Subject: [PATCH 20/62] Update Linux and Mac icons to Kart --- srb2.png | Bin 6208 -> 3778 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/srb2.png b/srb2.png index 72a08f6648b8c8849d5804889977a412b35e6deb..1bcccce229334a45b427f5230524814de10f52bf 100644 GIT binary patch literal 3778 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 From 41517ee57b9db2b0b6920c4d41e3c9d38aeb4f31 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 15:54:15 -0500 Subject: [PATCH 21/62] Update deployer defaults to Kart v1.0.1 --- CMakeLists.txt | 10 ++++---- deployer/travis/deployer_defaults.sh | 36 ++++++++++++++-------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7dda8366..5128589f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. # Version change is fine. project(SRB2 - VERSION 2.1.20 + VERSION 1.0.1 LANGUAGES C) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) @@ -88,8 +88,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") # Set EXE names so the assets CMakeLists can refer to its target -set(SRB2_SDL2_EXE_NAME srb2 CACHE STRING "Executable binary output name") -set(SRB2_WIN_EXE_NAME srb2dd CACHE STRING "Executable binary output name for DirectDraw build") +set(SRB2_SDL2_EXE_NAME srb2kart CACHE STRING "Executable binary output name") +set(SRB2_WIN_EXE_NAME srb2kartdd CACHE STRING "Executable binary output name for DirectDraw build") include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) @@ -118,8 +118,8 @@ if(${CMAKE_SYSTEM} MATCHES "Darwin") set(CPACK_GENERATOR "DragNDrop") endif() -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2" CACHE STRING "Program name for display purposes") -set(CPACK_PACKAGE_VENDOR "Sonic Team Jr." CACHE STRING "Vendor name for display purposes") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2 Kart" CACHE STRING "Program name for display purposes") +set(CPACK_PACKAGE_VENDOR "Kart Krew" CACHE STRING "Vendor name for display purposes") #set(CPACK_PACKAGE_DESCRIPTION_FILE ) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR}) diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index 9716c31cb..6df8f45e2 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -27,11 +27,11 @@ : ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only. # Asset File Parameters -: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z} -: ${ASSET_BASE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets} -: ${ASSET_FILES_REQUIRED:=srb2.srb zones.dta player.dta rings.dta patch.dta} -: ${ASSET_FILES_DOCS:=README.txt LICENSE.txt LICENSE-3RD-PARTY.txt} -: ${ASSET_FILES_OPTIONAL:=music.dta} +: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v101-assets.7z} +: ${ASSET_BASE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets} +: ${ASSET_FILES_REQUIRED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart bonuschars.kart maps.kart sounds.kart} +: ${ASSET_FILES_DOCS:=README.txt history.txt LICENSE.txt LICENSE-3RD-PARTY.txt} +: ${ASSET_FILES_OPTIONAL:=music.kart} : ${ASSET_FILES_OPTIONAL_GET:=0} # FTP Parameters @@ -51,26 +51,26 @@ : ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file. # Package Parameters -: ${PACKAGE_NAME:=srb2} -: ${PACKAGE_VERSION:=2.1.23} +: ${PACKAGE_NAME:=srb2kart} +: ${PACKAGE_VERSION:=1.0.1} : ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic) : ${PACKAGE_REVISION} # Defaults to UTC timestamp -: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2} +: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2Kart} : ${PACKAGE_LINK_PATH:=/usr/games} : ${PACKAGE_DISTRO:=trusty} : ${PACKAGE_URGENCY:=high} -: ${PACKAGE_NAME_EMAIL:=Sonic Team Junior } -: ${PACKAGE_GROUP_NAME_EMAIL:=Sonic Team Junior } -: ${PACKAGE_WEBSITE:=} +: ${PACKAGE_NAME_EMAIL:=Kart Krew } +: ${PACKAGE_GROUP_NAME_EMAIL:=Kart Krew } +: ${PACKAGE_WEBSITE:=} -: ${PACKAGE_ASSET_MINVERSION:=2.1.21} # Number this the version BEFORE the actual required version, because we do a > check -: ${PACKAGE_ASSET_MAXVERSION:=2.1.24} # Number this the version AFTER the actual required version, because we do a < check +: ${PACKAGE_ASSET_MINVERSION:=1.0.0} # Number this the version BEFORE the actual required version, because we do a > check +: ${PACKAGE_ASSET_MAXVERSION:=1.0.2} # Number this the version AFTER the actual required version, because we do a < check -: ${PROGRAM_NAME:=Sonic Robo Blast 2} -: ${PROGRAM_VENDOR:=Sonic Team Junior} -: ${PROGRAM_VERSION:=2.1.23} -: ${PROGRAM_DESCRIPTION:=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis.} -: ${PROGRAM_FILENAME:=srb2} +: ${PROGRAM_NAME:=Sonic Robo Blast 2 Kart} +: ${PROGRAM_VENDOR:=Kart Krew} +: ${PROGRAM_VERSION:=1.0.1} +: ${PROGRAM_DESCRIPTION:=A kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2.} +: ${PROGRAM_FILENAME:=srb2kart} : ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages : ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file. From c698eed16cb4a759d4f566aa671b39506597bece Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 15:59:19 -0500 Subject: [PATCH 22/62] Update SDL mac icon to Kart --- src/sdl/macosx/Srb2mac.icns | Bin 79787 -> 103434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/sdl/macosx/Srb2mac.icns b/src/sdl/macosx/Srb2mac.icns index 4baedc1c5a091a3917d2a33bc3780da5b1b5e996..1188d7c15bbf81bcd613dd191ec2345942ed5a6f 100644 GIT binary patch literal 103434 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 From 50e65ffce7a48371bd575e602552109ed116a577 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 16:01:32 -0500 Subject: [PATCH 23/62] Update deployer defaults to Kart v1.0.2 --- CMakeLists.txt | 2 +- deployer/travis/deployer_defaults.sh | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5128589f6..bc132c4da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. # Version change is fine. project(SRB2 - VERSION 1.0.1 + VERSION 1.0.2 LANGUAGES C) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index 6df8f45e2..c0122d6c4 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -27,7 +27,7 @@ : ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only. # Asset File Parameters -: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v101-assets.7z} +: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z} : ${ASSET_BASE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets} : ${ASSET_FILES_REQUIRED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart bonuschars.kart maps.kart sounds.kart} : ${ASSET_FILES_DOCS:=README.txt history.txt LICENSE.txt LICENSE-3RD-PARTY.txt} @@ -52,7 +52,7 @@ # Package Parameters : ${PACKAGE_NAME:=srb2kart} -: ${PACKAGE_VERSION:=1.0.1} +: ${PACKAGE_VERSION:=1.0.2} : ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic) : ${PACKAGE_REVISION} # Defaults to UTC timestamp : ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2Kart} @@ -63,12 +63,12 @@ : ${PACKAGE_GROUP_NAME_EMAIL:=Kart Krew } : ${PACKAGE_WEBSITE:=} -: ${PACKAGE_ASSET_MINVERSION:=1.0.0} # Number this the version BEFORE the actual required version, because we do a > check -: ${PACKAGE_ASSET_MAXVERSION:=1.0.2} # Number this the version AFTER the actual required version, because we do a < check +: ${PACKAGE_ASSET_MINVERSION:=1.0.2} # Number this the version BEFORE the actual required version, because we do a > check +: ${PACKAGE_ASSET_MAXVERSION:=1.0.3} # Number this the version AFTER the actual required version, because we do a < check : ${PROGRAM_NAME:=Sonic Robo Blast 2 Kart} : ${PROGRAM_VENDOR:=Kart Krew} -: ${PROGRAM_VERSION:=1.0.1} +: ${PROGRAM_VERSION:=1.0.2} : ${PROGRAM_DESCRIPTION:=A kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2.} : ${PROGRAM_FILENAME:=srb2kart} From bcbcc48adac2e2aecfdfb7dfd5b64e723a88460f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 18:54:04 -0500 Subject: [PATCH 24/62] Dummy out -Werror from travis config --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e546f2f98..3fe218846 100644 --- a/.travis.yml +++ b/.travis.yml @@ -660,7 +660,7 @@ before_script: - mkdir build - cd build - mkdir package - - export CFLAGS="-Wall -W -Werror $WFLAGS" + - export CFLAGS="-Wall -W $WFLAGS" # -Werror - export CCACHE_COMPRESS=true - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package -DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}" From c31ef0c82163b33d6d2577d05430c8ae0864a2c4 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 18:57:33 -0500 Subject: [PATCH 25/62] Set srb2home name to srb2kart --- src/doomdef.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index a35f3291d..0f96c22c5 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -346,9 +346,9 @@ enum { // Name of local directory for config files and savegames #if !defined(_arch_dreamcast) && !defined(_WIN32_WCE) && !defined(GP2X) && !defined(_WII) && !defined(_PS3) #if (((defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON)) && !defined (__CYGWIN__)) && !defined (__APPLE__) -#define DEFAULTDIR ".srb2" +#define DEFAULTDIR ".srb2kart" #else -#define DEFAULTDIR "srb2" +#define DEFAULTDIR "srb2kart" #endif #endif From 7d2d3dda7a493a082df2c3308d939135249c4e42 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 19:00:09 -0500 Subject: [PATCH 26/62] Kart v1.0.2 deployer default fix --- deployer/travis/deployer_defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index c0122d6c4..9f81733dc 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -63,7 +63,7 @@ : ${PACKAGE_GROUP_NAME_EMAIL:=Kart Krew } : ${PACKAGE_WEBSITE:=} -: ${PACKAGE_ASSET_MINVERSION:=1.0.2} # Number this the version BEFORE the actual required version, because we do a > check +: ${PACKAGE_ASSET_MINVERSION:=1.0.1} # Number this the version BEFORE the actual required version, because we do a > check : ${PACKAGE_ASSET_MAXVERSION:=1.0.3} # Number this the version AFTER the actual required version, because we do a < check : ${PROGRAM_NAME:=Sonic Robo Blast 2 Kart} From 08176eda1874c45c92e819fc3fc61bf38e8b235c Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 13 Dec 2018 12:01:07 -0500 Subject: [PATCH 27/62] Fix savegamename being improperly built due to missing null char after copying timeattackfolder --- src/dehacked.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dehacked.c b/src/dehacked.c index 8cb704125..ccb258106 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -3134,7 +3134,7 @@ static void readmaincfg(MYFILE *f) strncpy(timeattackfolder, gamedatafilename, filenamelen); timeattackfolder[min(filenamelen, sizeof (timeattackfolder) - 1)] = '\0'; - strncpy(savegamename, timeattackfolder, strlen(timeattackfolder)); + strcpy(savegamename, timeattackfolder); strlcat(savegamename, "%u.ssg", sizeof(savegamename)); // can't use sprintf since there is %u in savegamename strcatbf(savegamename, srb2home, PATHSEP); From 9be802f3046cdbb8fb7a1a17762d2f3b1cb26a4e Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 13 Dec 2018 13:11:25 -0500 Subject: [PATCH 28/62] EXEC: Search for CFG by file path --- src/command.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/command.c b/src/command.c index 4f824aa3e..18b51ae7a 100644 --- a/src/command.c +++ b/src/command.c @@ -33,6 +33,7 @@ #include "hu_stuff.h" #include "p_setup.h" #include "lua_script.h" +#include "d_netfil.h" // findfile //======== // protos. @@ -635,6 +636,7 @@ static void COM_CEchoDuration_f(void) static void COM_Exec_f(void) { UINT8 *buf = NULL; + char filename[256]; if (COM_Argc() < 2 || COM_Argc() > 3) { @@ -643,13 +645,23 @@ static void COM_Exec_f(void) } // load file + // Try with Argv passed verbatim first, for back compat FIL_ReadFile(COM_Argv(1), &buf); if (!buf) { - if (!COM_CheckParm("-noerror")) - CONS_Printf(M_GetText("couldn't execute file %s\n"), COM_Argv(1)); - return; + // Now try by searching the file path + // filename is modified with the full found path + strcpy(filename, COM_Argv(1)); + if (findfile(filename, NULL, true) != FS_NOTFOUND) + FIL_ReadFile(filename, &buf); + + if (!buf) + { + if (!COM_CheckParm("-noerror")) + CONS_Printf(M_GetText("couldn't execute file %s\n"), COM_Argv(1)); + return; + } } if (!COM_CheckParm("-silent")) From b42c2657073ff8325fd9cf427369a9e64530fb75 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 13 Dec 2018 13:17:56 -0500 Subject: [PATCH 29/62] Apply srb2home to SAVECONFIG --- src/m_misc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/m_misc.c b/src/m_misc.c index 603e3de07..6dff4dbe9 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -493,6 +493,7 @@ void M_FirstLoadConfig(void) void M_SaveConfig(const char *filename) { FILE *f; + char *filepath; // make sure not to write back the config until it's been correctly loaded if (!gameconfig_loaded) @@ -507,10 +508,14 @@ void M_SaveConfig(const char *filename) return; } - f = fopen(filename, "w"); + // append srb2home to beginning of filename + // configfile already has this applied + filepath = va(pandf,srb2home, filename); + + f = fopen(filepath, "w"); // change it only if valid if (f) - strcpy(configfile, filename); + strcpy(configfile, filepath); else { CONS_Alert(CONS_ERROR, M_GetText("Couldn't save game config file %s\n"), filename); From b77f290e027822df7b2f43946ef363fac4afa8a9 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 13 Dec 2018 13:23:09 -0500 Subject: [PATCH 30/62] Apply srb2home to debugfile --- src/d_net.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index eae921faf..62301dc11 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -27,6 +27,7 @@ #include "d_clisrv.h" #include "z_zone.h" #include "i_tcp.h" +#include "d_main.h" // srb2home // // NETWORKING @@ -1386,12 +1387,12 @@ boolean D_CheckNetGame(void) { k++; sprintf(filename, "debug%d.txt", k); - debugfile = fopen(filename, "w"); + debugfile = fopen(va("%s" PATHSEP "%s", srb2home, filename), "w"); } if (debugfile) - CONS_Printf(M_GetText("debug output to: %s\n"), filename); + CONS_Printf(M_GetText("debug output to: %s\n"), va("%s" PATHSEP "%s", srb2home, filename)); else - CONS_Alert(CONS_WARNING, M_GetText("cannot debug output to file %s!\n"), filename); + CONS_Alert(CONS_WARNING, M_GetText("cannot debug output to file %s!\n"), va("%s" PATHSEP "%s", srb2home, filename)); } #endif #endif From e510804b4bf9e8b31929f1e36ede2361308a708f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 13 Dec 2018 13:32:38 -0500 Subject: [PATCH 31/62] Apply srb2home to saveconfig ONLY if srb2home isn't already there --- src/m_misc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/m_misc.c b/src/m_misc.c index 6dff4dbe9..474fb46c3 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -509,8 +509,11 @@ void M_SaveConfig(const char *filename) } // append srb2home to beginning of filename - // configfile already has this applied - filepath = va(pandf,srb2home, filename); + // but check if srb2home isn't already there, first + if (!strstr(filename, srb2home)) + filepath = va(pandf,srb2home, filename); + else + filepath = Z_StrDup(filename); f = fopen(filepath, "w"); // change it only if valid @@ -518,7 +521,7 @@ void M_SaveConfig(const char *filename) strcpy(configfile, filepath); else { - CONS_Alert(CONS_ERROR, M_GetText("Couldn't save game config file %s\n"), filename); + CONS_Alert(CONS_ERROR, M_GetText("Couldn't save game config file %s\n"), filepath); return; } } From 937ac47650ca5c48cd21adfac30e0eae683f20e2 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 21:13:02 -0500 Subject: [PATCH 32/62] Change DEFAULTWADLOCATION to SRB2Kart --- src/sdl12/i_system.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/sdl12/i_system.c b/src/sdl12/i_system.c index 8299f6eb6..5ea6449c0 100644 --- a/src/sdl12/i_system.c +++ b/src/sdl12/i_system.c @@ -184,10 +184,10 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s? #define DEFAULTSEARCHPATH1 "host0:/" #define DEFAULTSEARCHPATH2 "ms0:/PSP/GAME/SRB2PSP" #elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) -#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2" -#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2" -#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2" -#define DEFAULTWADLOCATION4 "/usr/games/SRB2" +#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart" +#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart" +#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2Kart" +#define DEFAULTWADLOCATION4 "/usr/games/SRB2Kart" #define DEFAULTSEARCHPATH1 "/usr/local/games" #define DEFAULTSEARCHPATH2 "/usr/games" #define DEFAULTSEARCHPATH3 "/usr/local" @@ -196,21 +196,21 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s? #ifdef __GNUC__ #include #endif -#define DEFAULTWADLOCATION1 "c:\\srb2" -#define DEFAULTWADLOCATION2 "d:\\srb2" -#define DEFAULTWADLOCATION3 "e:\\srb2" -#define DEFAULTWADLOCATION4 "f:\\srb2" -#define DEFAULTWADLOCATION5 "g:\\srb2" -#define DEFAULTWADLOCATION6 "h:\\srb2" -#define DEFAULTWADLOCATION7 "i:\\srb2" +#define DEFAULTWADLOCATION1 "c:\\srb2kart" +#define DEFAULTWADLOCATION2 "d:\\srb2kart" +#define DEFAULTWADLOCATION3 "e:\\srb2kart" +#define DEFAULTWADLOCATION4 "f:\\srb2kart" +#define DEFAULTWADLOCATION5 "g:\\srb2kart" +#define DEFAULTWADLOCATION6 "h:\\srb2kart" +#define DEFAULTWADLOCATION7 "i:\\srb2kart" #elif defined (_WIN32_WCE) #define NOCWD #define NOHOME #define DEFAULTWADLOCATION1 "\\Storage Card\\SRB2DEMO" #define DEFAULTSEARCHPATH1 "\\Storage Card" #elif defined (_WIN32) -#define DEFAULTWADLOCATION1 "c:\\games\\srb2" -#define DEFAULTWADLOCATION2 "\\games\\srb2" +#define DEFAULTWADLOCATION1 "c:\\games\\srb2kart" +#define DEFAULTWADLOCATION2 "\\games\\srb2kart" #define DEFAULTSEARCHPATH1 "c:\\games" #define DEFAULTSEARCHPATH2 "\\games" #endif From 7024d89e942f5efceb52912ac58fe3a78d1a51e9 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 21:14:41 -0500 Subject: [PATCH 33/62] Fix dh_link for srb2kart debian symlink --- debian-template/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian-template/rules b/debian-template/rules index 2cc001229..0a77624cb 100755 --- a/debian-template/rules +++ b/debian-template/rules @@ -144,7 +144,7 @@ binary-arch: # dh_installcron # dh_installinfo # dh_installman - # dh_link + dh_link $(PKGDIR)/$(EXENAME) $(LINKDIR)/$(EXENAME) dh_compress dh_fixperms # dh_perl From af519d3c074541951e2a6fd80ef4bb05f8e4b2cf Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 31 Dec 2018 00:21:19 -0500 Subject: [PATCH 34/62] Also change DEFAULTWADLOCATION to SRB2Kart in SDL2 --- src/sdl/i_system.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index a1a9df905..95d144cdd 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -133,16 +133,16 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T); // Locations for searching the srb2.srb #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) -#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2" -#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2" -#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2" -#define DEFAULTWADLOCATION4 "/usr/games/SRB2" +#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart" +#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart" +#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2Kart" +#define DEFAULTWADLOCATION4 "/usr/games/SRB2Kart" #define DEFAULTSEARCHPATH1 "/usr/local/games" #define DEFAULTSEARCHPATH2 "/usr/games" #define DEFAULTSEARCHPATH3 "/usr/local" #elif defined (_WIN32) -#define DEFAULTWADLOCATION1 "c:\\games\\srb2" -#define DEFAULTWADLOCATION2 "\\games\\srb2" +#define DEFAULTWADLOCATION1 "c:\\games\\srb2kart" +#define DEFAULTWADLOCATION2 "\\games\\srb2kart" #define DEFAULTSEARCHPATH1 "c:\\games" #define DEFAULTSEARCHPATH2 "\\games" #endif From f395aeda965dfd31a36d55ad105a6c43e5f365e2 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 31 Dec 2018 01:26:25 -0500 Subject: [PATCH 35/62] Increase ChangeControl text buffer to resolve buffer overflow with System Menu/GIF control config --- src/m_menu.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 907a6d742..61daaea5a 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -8871,7 +8871,7 @@ static void M_DrawControl(void) #undef controlheight static INT32 controltochange; -static char controltochangetext[55]; +static char controltochangetext[33]; static void M_ChangecontrolResponse(event_t *ev) { @@ -8949,7 +8949,8 @@ static void M_ChangecontrolResponse(event_t *ev) } else if (ch == KEY_PAUSE) { - static char tmp[155]; + // This buffer assumes a 100-character message plus a 32-character control name (per controltochangetext buffer size) + static char tmp[133]; menu_t *prev = currentMenu->prevMenu; if (controltochange == gc_pause) @@ -8973,12 +8974,14 @@ static void M_ChangecontrolResponse(event_t *ev) static void M_ChangeControl(INT32 choice) { - static char tmp[55]; + // This buffer assumes a 35-character message (per below) plus a max control name limit of 32 chars (per controltochangetext) + // If you change the below message, then change the size of this buffer! + static char tmp[68]; controltochange = currentMenu->menuitems[choice].alphaKey; sprintf(tmp, M_GetText("Hit the new key for\n%s\nESC for Cancel"), currentMenu->menuitems[choice].text); - strncpy(controltochangetext, currentMenu->menuitems[choice].text, 55); + strlcpy(controltochangetext, currentMenu->menuitems[choice].text, 33); M_StartMessage(tmp, M_ChangecontrolResponse, MM_EVENTHANDLER); } From 3860c557b4243ec2d905dfc16d21a016a0d0a87f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 31 Dec 2018 17:31:25 -0500 Subject: [PATCH 36/62] Use optional asset archive instead of file --- appveyor.yml | 2 +- deployer/appveyor/deployer.bat | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 57fc58a98..e95c2dce5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -37,7 +37,7 @@ environment: ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z - ASSET_FILES_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/music.kart + ASSET_ARCHIVE_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z # This is overridden to 1 for release tag builds ASSET_FILES_OPTIONAL_GET: 0 # For patches, also include the X86/X64 DLLs. diff --git a/deployer/appveyor/deployer.bat b/deployer/appveyor/deployer.bat index 86aa8b3ec..7b1bc68a8 100644 --- a/deployer/appveyor/deployer.bat +++ b/deployer/appveyor/deployer.bat @@ -102,10 +102,10 @@ if [%X86_64%] == [1] ( ) if [%ASSET_FILES_OPTIONAL_GET%] == [1] ( - set "archivepath=%ASSET_FILES_OPTIONAL_PATH%" + set "archivepath=%ASSET_ARCHIVE_OPTIONAL_PATH%" call :ARCHIVE_NAME_PARTS - set "ASSET_FILES_OPTIONAL_PATH_LOCAL=!localarchivepath!" - if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_FILES_OPTIONAL_PATH%" -FileName "!localarchivepath!" + set "ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL=!localarchivepath!" + if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_OPTIONAL_PATH%" -FileName "!localarchivepath!" ) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -120,7 +120,7 @@ mkdir "assets\deployer\patch" : Copy optional files to full installer (music.dta) if [%ASSET_FILES_OPTIONAL_GET%] == [1] ( - xcopy /I /Y "%ASSET_FILES_OPTIONAL_PATH_LOCAL%" "assets\deployer\installer" + 7z x -y "%ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL%" -o"assets\deployer\installer" >null ) : Copy EXE -- BUILD_PATH is from appveyor.yml From a22e5d9a4ff85ec2e70257b550b6049135301406 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 31 Dec 2018 17:09:59 -0500 Subject: [PATCH 37/62] Don't download individual asset files; support only archives --- .travis.yml | 53 ++++++++-------------------- assets/CMakeLists.txt | 46 ++++++++---------------- assets/debian-template/rules | 52 ++++++++------------------- deployer/travis/deployer_defaults.sh | 10 +++--- 4 files changed, 47 insertions(+), 114 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3fe218846..12d3c59aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -594,8 +594,10 @@ install: before_script: # OLDPWD is root repo folder - OLDPWD=$PWD + - mkdir -p "$OLDPWD/assets/installer" - cd "$HOME/srb2_cache" + # Get stat command so we know what the cached archive date is. # stat is different for OSX - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then STATCMD="stat -f %m"; @@ -609,52 +611,25 @@ before_script: echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$HOME/srb2_cache" -aos; - for f in $ASSET_FILES_REQUIRED; do - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$OLDPWD/assets/installer" -aos; fi; - # Get individual required files - - for f in $ASSET_FILES_REQUIRED; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - if [ ! -f "$HOME/srb2_cache/$f" ]; then - echo "Could not download \"$ASSET_BASE_PATH/$f\""; - return 1; - fi; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; - - # Get the docs - - for f in $ASSET_FILES_DOCS; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; - # Get optional files too - - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]]; then - for f in $ASSET_FILES_OPTIONAL; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; + - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then + if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then + echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; + fi; + wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH"; + 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$OLDPWD/assets/installer" -aos; fi; - # Go back to root repo folder + # Copy assets to repo staging folder, then go back to root repo folder - cd "$OLDPWD" # Prepare CMake asset lists - - SRB2_ASSET_REQUIRED=$(echo ${ASSET_FILES_REQUIRED// /\;}) - - SRB2_ASSET_OPTIONAL=$(echo ${ASSET_FILES_OPTIONAL// /\;}) + - SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;}) - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) + - SRB2_ASSET_DIRECTORY="$OLDPWD/assets/installer" # Prepare CMake - mkdir build @@ -663,8 +638,8 @@ before_script: - export CFLAGS="-Wall -W $WFLAGS" # -Werror - export CCACHE_COMPRESS=true - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package - -DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}" - -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}" -DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}" -DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}" -DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}" diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index 5f6db6dd5..b957f48aa 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -9,7 +9,10 @@ FUNCTION(PREPEND var prefix) SET(${var} "${listVar}" PARENT_SCOPE) ENDFUNCTION(PREPEND) -set(SRB2_ASSET_REQUIRED +set(SRB2_ASSET_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/installer" + CACHE STRING "Path to directory that contains all asset files for the installer.") + +set(SRB2_ASSET_HASHED "srb2.srb;\ patch.kart;\ gfx.kart;\ @@ -18,7 +21,7 @@ chars.kart;\ bonuschars.kart;\ maps.kart;\ sounds.kart" - CACHE STRING "Required asset files for packaging. No spaces between entries!" + CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!" ) set(SRB2_ASSET_DOCS @@ -26,25 +29,13 @@ set(SRB2_ASSET_DOCS history.txt;\ LICENSE.txt;\ LICENSE-3RD-PARTY.txt" - CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!" + CACHE STRING "Documentation filenames. In OS X, these are packaged separately from other assets. No spaces between entries!" ) -set(SRB2_ASSET_OPTIONAL -"music.kart" - CACHE STRING "Optional asset files. No spaces between entries!" -) - -# MD5 generation - Filename only, we don't append path to this -set(SRB2_ASSET_HASHED - ${SRB2_ASSET_REQUIRED} -) - -PREPEND(SRB2_ASSET_REQUIRED ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_REQUIRED}) -PREPEND(SRB2_ASSET_DOCS ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_DOCS}) -PREPEND(SRB2_ASSET_OPTIONAL ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_OPTIONAL}) +PREPEND(SRB2_ASSET_DOCS ${SRB2_ASSET_DIRECTORY} ${SRB2_ASSET_DOCS}) foreach(SRB2_ASSET ${SRB2_ASSET_HASHED}) - file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") + file(MD5 ${SRB2_ASSET_DIRECTORY}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE) endforeach() @@ -52,27 +43,20 @@ endforeach() if(${CMAKE_SYSTEM} MATCHES Darwin) get_target_property(outname SRB2SDL2 OUTPUT_NAME) - install(FILES ${SRB2_ASSET_REQUIRED} + install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/" DESTINATION "${outname}.app/Contents/Resources" ) - install(FILES ${SRB2_ASSET_OPTIONAL} - DESTINATION "${outname}.app/Contents/Resources" - OPTIONAL - ) install(FILES ${SRB2_ASSET_DOCS} DESTINATION . OPTIONAL ) else() - install(FILES ${SRB2_ASSET_REQUIRED} + install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/" DESTINATION . ) - install(FILES ${SRB2_ASSET_OPTIONAL} - DESTINATION . - OPTIONAL - ) - install(FILES ${SRB2_ASSET_DOCS} - DESTINATION . - OPTIONAL - ) + # Docs are assumed to be located in SRB2_ASSET_DIRECTORY, so don't install again + #install(FILES ${SRB2_ASSET_DOCS} + # DESTINATION . + # OPTIONAL + #) endif() diff --git a/assets/debian-template/rules b/assets/debian-template/rules index 99a4eaf3c..c2d19922d 100644 --- a/assets/debian-template/rules +++ b/assets/debian-template/rules @@ -47,55 +47,31 @@ RM := rm -rf DIR := $(shell pwd) PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g') -DATAFILES := ${ASSET_FILES_REQUIRED} -DOCFILES := ${ASSET_FILES_DOCS} -OPTIONALFILES := ${ASSET_FILES_OPTIONAL} +ARCHIVEPATH := ${ASSET_ARCHIVE_PATH} +ARCHIVEOPTIONALPATH := ${ASSET_ARCHIVE_OPTIONAL_PATH} GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET} DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') RESOURCEDIR := . +STAGINGDIR := $(RESOURCEDIR)/installer WGET := wget -P $(RESOURCEDIR) -c -nc build: $(MKDIR) $(DIR)/debian/tmp/$(DATADIR) > $(DIR)/debian/source/include-binaries - # This will need to be updated every time SRB2 official version is # Copy data files to their install locations, and add data files to include-binaries - for file in $(DATAFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + if [ ! -d $(STAGINGDIR) ]; then \ + mkdir -p "$(STAGINGDIR)"; \ + $(WGET) $(ARCHIVEPATH); \ + 7z x "$(RESOURCEDIR)/$(shell basename $(ARCHIVEPATH))" -aos; \ + if [ "$(GETOPTIONALFILES)" = "1" ]; then \ + $(WGET) $(ARCHIVEOPTIONALPATH); \ + 7z x "$(RESOURCEDIR)/$(shell basename $(ARCHIVEOPTIONALPATH))" -aos; \ fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \ - echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \ - return 1; \ - fi; \ - done - # Do the same for DOCFILES, but don't error out if not found - for file in $(DOCFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ - fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - done - # Do the same for OPTIONALFILES if GETOPTIONALFILES == 1 - if [ "$(GETOPTIONALFILES)" = "1" ]; then \ - for file in $(OPTIONALFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ - fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - done; \ - fi; + fi + # Install asset directory and add asset file to include-binaries + cp -vr "$(STAGINGDIR)/." "$(DIR)/debian/tmp/$(DATADIR)" + find "$(STAGINGDIR)" >> $(DIR)/debian/source/include-binaries binary-indep: diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index 9f81733dc..96ce1142f 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -28,10 +28,9 @@ # Asset File Parameters : ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z} -: ${ASSET_BASE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets} -: ${ASSET_FILES_REQUIRED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart bonuschars.kart maps.kart sounds.kart} +: ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z} +: ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart bonuschars.kart maps.kart sounds.kart} : ${ASSET_FILES_DOCS:=README.txt history.txt LICENSE.txt LICENSE-3RD-PARTY.txt} -: ${ASSET_FILES_OPTIONAL:=music.kart} : ${ASSET_FILES_OPTIONAL_GET:=0} # FTP Parameters @@ -78,10 +77,9 @@ # Export Asset and Package Parameters for envsubst templating export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}" -export ASSET_BASE_PATH="${ASSET_BASE_PATH}" -export ASSET_FILES_REQUIRED="${ASSET_FILES_REQUIRED}" +export ASSET_ARCHIVE_OPTIONAL_PATH="${ASSET_ARCHIVE_OPTIONAL_PATH}" +export ASSET_FILES_HASHED="${ASSET_FILES_HASHED}" export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}" -export ASSET_FILES_OPTIONAL="${ASSET_FILES_OPTIONAL}" export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}" export PACKAGE_NAME="${PACKAGE_NAME}" From 120e5d9a63e007f7cf1f169776118a54b6ada55a Mon Sep 17 00:00:00 2001 From: mazmazz Date: Tue, 1 Jan 2019 10:49:10 -0500 Subject: [PATCH 38/62] Correct ASSET_FILES_HASHED for kart assets --- deployer/travis/deployer_defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index 96ce1142f..c97cee453 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -29,7 +29,7 @@ # Asset File Parameters : ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z} : ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z} -: ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart bonuschars.kart maps.kart sounds.kart} +: ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart maps.kart} : ${ASSET_FILES_DOCS:=README.txt history.txt LICENSE.txt LICENSE-3RD-PARTY.txt} : ${ASSET_FILES_OPTIONAL_GET:=0} From 3ccdea433d965566d990097397a9f305caf01f67 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 14:41:38 -0500 Subject: [PATCH 39/62] Flip back ERRORMODE=1 for AppVeyor and CircleCI --- .circleci/config.yml | 2 +- appveyor.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d42cc791a..ca9105685 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -50,7 +50,7 @@ jobs: - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} - run: name: Compile - command: make -C src LINUX=1 -k #ERRORMODE=1 -k + command: make -C src LINUX=1 ERRORMODE=1 -k - store_artifacts: path: /root/SRB2/bin/Linux/Release/ destination: bin diff --git a/appveyor.yml b/appveyor.yml index e95c2dce5..bf7eadd2b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -98,7 +98,7 @@ before_build: build_script: - cmd: mingw32-make.exe %SRB2_MFLAGS% clean -- cmd: mingw32-make.exe %SRB2_MFLAGS% -k # ERRORMODE=1 -k +- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k after_build: - if [%X86_64%] == [1] ( From a213898fdf374addf10bb37f3b6742103ffec1d4 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 17:27:15 -0500 Subject: [PATCH 40/62] Corrected CMake hashed assets; add kart to assets/gitignore --- assets/.gitignore | 1 + assets/CMakeLists.txt | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/assets/.gitignore b/assets/.gitignore index d6e46a75b..6b881b98d 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -3,6 +3,7 @@ *.dta *.wad *.txt +*.kart !README.txt !LICENSE.txt !LICENSE-3RD-PARTY.txt diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index b957f48aa..fd34939cf 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -18,9 +18,7 @@ patch.kart;\ gfx.kart;\ textures.kart;\ chars.kart;\ -bonuschars.kart;\ -maps.kart;\ -sounds.kart" +maps.kart" CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!" ) From 1f0c7425f9586fad0a8105468cbd5cc364e577b5 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 17:31:04 -0500 Subject: [PATCH 41/62] Add HISTORY.txt to assets; correct default lists for capitalization --- assets/.gitignore | 1 + assets/CMakeLists.txt | 2 +- assets/HISTORY.txt | 202 +++++++++++++++++++++++++++ deployer/travis/deployer_defaults.sh | 2 +- 4 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 assets/HISTORY.txt diff --git a/assets/.gitignore b/assets/.gitignore index 6b881b98d..b9dc7c70d 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -5,6 +5,7 @@ *.txt *.kart !README.txt +!HISTORY.txt !LICENSE.txt !LICENSE-3RD-PARTY.txt !CMakeLists.txt diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index fd34939cf..1eab62cc9 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -24,7 +24,7 @@ maps.kart" set(SRB2_ASSET_DOCS "README.txt;\ -history.txt;\ +HISTORY.txt;\ LICENSE.txt;\ LICENSE-3RD-PARTY.txt" CACHE STRING "Documentation filenames. In OS X, these are packaged separately from other assets. No spaces between entries!" diff --git a/assets/HISTORY.txt b/assets/HISTORY.txt new file mode 100644 index 000000000..dfa06f2c7 --- /dev/null +++ b/assets/HISTORY.txt @@ -0,0 +1,202 @@ +KartKrew: Chapter 1.0 - Who Would Actually Read All This???? [LIVE DOC] + + +-beep- + + +[Chromatian dual-wields onto the interview set, stage left, and takes a seat next to VelocitOni. Oni stands up to look at the confused camera-men before opening a binder to stoically show both of his redone Tails sprites for Kart 1.0 and Vanilla 2.2. He closes it and sits back down, the three sofa cushions being Sryder, toaster, and Lat’s limp timezone’d bodies respectively; throwing arm over the side of the Fooruman pillow] + +Chrome: Uh…......anyway Chaos Zero 64, a Vanilla SRB2 Developer at the time, during the “heyday” of Sonic Riders started working on his own side project of recreating that game in SRB2 v1.09.4. After programming a functional recreation, he went a step further and threw together a new race mode for all of the characters in the playable exe. After THAT, he took it another step further and made a Mario Kart game type as well. A bunch of young mappers (Including current KartKrew™ dev members Blade & I) tossed him a few maps and he called it a complete exe. + + While fully functional, it was as barebones as you could get. Character stats were altered Vanilla stats (lowered jump, speed, no spindash, and no drifting!) weapon rings reskinned into mario items, and a bunch of checkpoints that you had to hit to count as a lap around the course. It was pretty jank, but seeing all of those dents in the core gameplay is what gave way to the inspiration to push it further than what it initially was. + +Oni: There’s only one way to describe how I found it in 1.09.4, and the phrasing kinda caught on (to my pleasure), “ghetto footrace”. It was definitely an absolute MIRACLE at the time to even have SRB2 do anything different from it’s main gameplay scheme, bare ass open maps with collapsing FOFs; and the entire community as a whole was younger… so we all ate it up anyways. Standards were lower, times were simpler, we still really appreciate CZ for trying something ‘new’. When you pulled the wool off though, it was just ghetto footrace with reskinned buttons and totally unique…but also totally random weapon panels. + + + +[FlareBlade pops out of loose pipe in the room for some reason and hits his head on a kitchen sink.] + + + +Blade: While most of the maps back then harkened back to the simpler style of the 1.09.4 era; and were scrapped as SRB2 as a whole improved, Pipe Speedway has survived all the way to the present, although with a heavy style change, including a new name! (Now Daytona Speedway) + +Oni: [laughs] You really like that map, don’t you? + +Random Audience Member:[shouting] PICK, PICK STARDUST!! + +[The audience member is immediately shot through the heart with striking accuracy... the vote-screen SFX of a map being picked and Palmtree Panic Zone kids screaming "Yeah!" sounds. Cut to SeventhSentinel who just logged into the middle of the room with a shocked expression, smoking quality-controlling Desert Eagle in hand. The audience member's mask falls off, turning out to be Stardust Speedway Battle himself, now dead from the rotation.] + +Sev: Why would Blade do this…? + + +Chrome: Pipe Speedway opened the PIPES for Kart’s 2.0 development, you could say. [laughs] + +Blade: Well, it WAS the first one to be slope-ified! Mostly as a proof-of-concept to show what could be done. (the rest of you lot were too busy with that “TD” thing…) And then you all went and upstaged it anyway with some of the other maps. [chuckles] //shade + +Oni: Yeah, while we finished ANOTHER full fledged mod, you actually got about 54% done with Pipe Speedway after 4 years! I was impressed. ////clapback + +Chrome: Still, Blade kept the campfire lit while we went in search of food, that takes some dedication. + +Oni: No. That was Blitz-T who continued making entire maps the whole time-- + +Blade --Thank you. Overall though, the original kart was more-or-less a side feature of Riders. Never really the main focus of the mod, but without a doubt the most popular part of it. The other two modes never really caught on. (Though we did have that ill-fated “Rivals” mod…) =P + + + +Oni: [Holding a knife up to the two] The “what” mod?? Anywho, I was a frequent player of 1.09.4 but never really in the community much until 2.0. It wasn’t until CZ ported his mod to be up to date, that I jumped in with the idea that I actually had enough of a brain to contribute to things… the problem was that my standards from the get-go were way way too high, and my skill as a spriter and general design experience were a lot lower. Nevertheless, when SRB2Riders hype died down, I approached him in DMs with all my expectations and ideas for his mod...and… surprisingly he didn’t laugh me out! I guess he’d never had anyone directly tell him they’d help outright before (besides Ground The Fox), but he was a bit noticeably bummed that I only cared for what he’d considered the minor Mario mod within the mod. + + This is what kickstarted the chain of events. All my plans that I bugged CZ for every other day in PMs never came to fruition, he actually lost interest and began to slowly fade out of the SRB2 community as a whole. Instead out of LITERALLY nowhere, D00D64 decided to revive the SRB2Riders mod himself by releasing a pretty expansive mod...of a mod within a mod OF a mod himself. Naturally, everyone jumped onto this, it exploded in popularity pretty much right away, because there were finally more than just a few mediocre maps to play “kart mode” on. There were PORTS, glorious glorious ports. Of course, I flocked to D00D to help out. + + + +Blade: Flat, boring, ports. Though the crazy item spam helped. Also we FINALLY got DRIFTING! Separating the characters from the bloat of the other 2 modes also made making custom racers easier to make. + + + +Oni: ...yeah, the truth is, once the “D00DKart” era started, it didn’t help that there were so many more por-- er, maps to play kart-mode on that people realized the formula for a kart racer was just inherently more exciting than what CZ’d pulled off with the Riders half of it. I remember a LOT of content for kart, and then like 2 maps for the more fleshed out and polished main focus of the thing. Everyone just sorta... forgot about Riders mode, sadly. It didn’t help that someone else also exploded onto the scene in a siamese feedback loop once D00D churned out enough maps a day to actually make a full game out of; ZarroTsu, who also saw opportunity too. + + D00DKart and “Super SRB2Kart Z”, a continuation of ChaosZero’s mod, combined into one super project. A ‘team’ just kinda assembled naturally out of this, and more original content started to, slowly but surely, get made by a wider variety of people. The train continued to accelerate, lots of familiar faces coming into play. All the basics you’d expect out of a Mario Kart clone were coded by Zarro, basically updates every single day, stuff just kept getting done by this specific group of people. + + + +Chrome: That’s about when things for kart started to die down. D00DKart kept the entire game afloat, but Kart was always a sideline to Vanilla. Once D00DKart finally got comfortable, people moved back to Vanilla to see what else they could do with that. Servers stopped popping up as quickly as they used to, and eventually Super SRB2 Kart Z fell into obscurity. It was at this point that the small group still excited for the game tried to push for an even better project. + + + +Oni: Yep. When steam on this makeshift game finally died, Zarro lost interest too, and outright just vanished for a year or two(?) and when then, when he returned, he had very little momentum to continue. So in the meanwhile we kinda came closer together under the team “Kart Krew”, and in his place Sryder took the helm. Zarro’s vision was always to be a Mario clone, so when he was absent I wanted to push my idea of getting rid of most if not all references to Mario pronto, going for a Sonic aesthetic instead. The idea was that we’ll never be as good as a Nintendo game, and comparisons will always be drawn, so why not do something more unique? + + Progress boomed again, but in private this time. 2013 ended up being the “2.0 indev” period. Standards kept increasing and increasing internally, because no one was satisfied with “ghetto footrace” anymore, we grew out of it and wanted an actual game this time… not play-pretend with all the instathrust hacks and poor game design decisions we were left with. Like shields. + +NOBODY liked those shields. We just couldn’t force Zarro to do what he didn’t want with his mod of a mod in a mod of a mod. + + + +Chrome: [laughs] Whirlwind was just a bit too broken for everyone. + + + +Oni: Using a Whirlwind Shield felt like playing a game of fucking Twister with my fingers just to reach the convoluted buttons, and you’re rewarded with the equivalent of bomb-jumping into the sky, except your kart is a runaway shower tub on pig grease. Awful. But good going, you ruined the entire race! Your slap on the wrist is now an unavoidable Armageddon Shield to the entire server by that Brazilian player who accidentally somehow made it to Lap 2 by RNG. + + Mechanics were being edited, handling changed a bit, sprites were getting updated (notably the karts themselves), videos were being released from each of our channels, maps were bloating, notorious bug fixes at light speed. Unfortunately, literally at the same time, the new “Kart Krew” decided to sink their teeth into the Top Down experiment (we were on a high of too much confidence from all the progress) WHILE the release of Vanilla 2.1 invalidated all thre-- BOTH of our projects in one fell swoop. These were the dark ages, and it only got worse when I decided to disappear TOO before TD even got done. The story behind that development cycle (Top Down took all our Kart focus away when it was in progress) is known by now, but the real unexpected meat happened when we finally pushed that abortion out the door. + + + +Chrome: You probably should have listened to Blade and stuck with our guns on Kart, and not take a “break” for a new experiment. [laughs] + + + +[A silhouette outside the window in the rain can be seen with glowing cones, waving. Before anyone can process it, American Airlines smashes through the studio. For some reason Charybdizs walks out of the left-frontmost hatch] + + +Charyb: For the record, Top Down wasn't bad by any means! People are just jumping on it because its dev cycle was complicated and a big learning experience for everyone. There were numerous members who poured their hearts into it! I’m proud of them! But yeah… the dev cycle… + +[wolfs can be seen frantically searching for a point in this interview to be relevant, unscheduled anime forcing him to miss most of it] + + +wolfs: Oh man, TD’s dev cycle. What a shitshow. You’d either get a response in 3 seconds or 3 days depending on who was around. Motivation was at an all-time low back then. I felt like I was talking into a vacuum sometime-- + +Oni: Why the fuck would you interrupt THIS moment, talking about 3 day responses when you’ll be “online” and won’t say anything until Kony’s live fucking body is found. Get outta here. + +wolfs: says the guy who disappeared for two years + +Oni: 'ey fuk you mane + +[Oni can be seen across the room from the plane, his TD_PTSD.td filled breathing into a brown paper bag] + +Oni: No, if Top Down were bad it wouldn’t have made half the hype of what Kart is doing now by ITSELF and manage to make it on Retro’s front page. But the dev cycle was purgatory, a big explosion at the start that dwindled to a candlefire, put out by the rain of inactivity...and then reignited by the power of Discord Chat. The actual product itself was pretty decent, and another fresh multiplayer experience not ever done in SRB2. It had hype. + + +Blade: ...When you say the karts were updated, you mean “Oni nit-picked them to death and redid them like 10 times”. + +Oni: I wish he were joking about that number. + + + +Chrome: It all worked out for the better though. That (rather lengthy!) experiment taught us a lot about time management and what not to do for the far more important modification. Discord got popular around this time, and Top Down hopped into that plane, and quickly parachuted out into the community. This gathered a few new, very important members into KartKrew™. TehRealSalt, host of the Sugoi series, Seventh Sentinel, a new mapper with a fresh take on level design, and toaster, a Vanilla dev programmer with a fire for Kart so hot keeping up with her pace is a job in itself. Seriously, without these three members, Kart wouldn’t have the polish it does now. + + It’s around this time that the pioneer in Kart level design returned, Blitz-T. Every map he made for 2.0 indev kart was a jawdropper to everyone on the team, and his attention to the small details were more than impressive. On top of all of this, SRB2 version 2.1 supported sloped planes, something that was as unbelievable for this game as cell phones were back in the 50s. + This is where 2.1 Kart really started to shine, Zarro ported the entire game in the span of a few weeks, Blitz-T took his old maps and revamped them with slopes to nearly unrecognizable new iterations, TehRealSalt made the entire Battle mode in the span of a *single* night, and Seventh Sentinel finally gave us looped music and consistent sound quality. + + + +Blade: Yeah, they really picked up the slack of some of the older members that lost steam, such as myself. + + + +Oni: Sev, Sal, and toast were the most unexpected things to ever happen to this thing. This shit was literally overnight. It’s really crazy how new blood can help bring a new perspective and vision to the game, along with skills you didn’t know the team was lacking. SO much pressure was taken off of Sryder as Sal and toaster literally slapped the exe until it cried, like frame-perfect Ice Climber handoffs into a 300% wobble. EVERYONE was overwhelmed. I saw the chance and took it, so we decided to go with my vision while Zarro took a backseat. Most, if not all the remaining broken code was just thrown out the window at this point, the game was rapidly feeling cleaner in just nights. + + If you took your eyes off of it for a few hours, something changed massively. The physics went from instathrust to momentum based, Zarro coded new acceleration code, toaster put in 2.2 friction physics as a test that turned out overwhelmingly positive...and also divisive with the previous vision of the mod. These changes were all happening so fast, despite being in kinda stored with me idea-wise for years, that it caused a bit of a rift in what this game was supposed to be. Zarro decided to take a step back and dip because it’d changed so much in just the span of 4 months, he took one good look at 4-Player Splitscreen… a never seen before feat, and just breathed. It didn’t feel like his mod anymore, his personal connection with it felt lost… + +[Oni wiping sweat off his brow] Things only got more drastically revamped… very very rapidly. + + The Mario aesthetic was entirely tossed out, as Sal was willing to work with me night and day on redoing most of everything about items… and then sounds. My power level for sprites massively jumped during TD development, so I decided to take it upon myself to do almost everything. They’re such friendly and cooperative coders that I can’t help but push a little harder than I used to (I was WAY lazier before they got here) to keep up. + + + + +Chrome: Those kart sprites took a good 6 months longer than they needed to for sure! [laughs] + + + + +Oni: [laughs in Latin] It’s not as easy as sloping a single sector in Misty Maze, that’s for sure! + + The mappers went bonkers, especially Blitz-T and TyrannoChao aka “Ezo” (previously ChaoticChao) who’s content probably makes up half the game combined. The creative freedom and supportive style/mentality of how the team is led pretty much went to an unstoppable feedback loop of content AND polish, surprisingly. We got to a point where we could not only lay any remaining ChaosZero64 code that might’ve seeped to rest, but also throw out almost every direct Mario port or reference right down to the sounds. It became a Sonic game, in one year. + + +Blade: Stuff was added so rapidly, even right up to release it always felt like there was something new being added. Bonuschars alone got 2 extra characters added in the week before release! + +Oni: Really, if you asked me, I’d say that most of kart just happened since TD released til now, and the rest was just a confused fever dream of passing torches until it all just got thrown out and re-done anyway. That’s why a changelog is pretty pointless, it’s like going to a shop...sitting down…and getting a recommendation for your vehicle; but the paper’s blank and just reads “get new car”. Honestly, playing this and playing the old 2.0 public builds that people like Super Chris still host for some reason is like aging backwards, except you’re really just amputating your skeleton to appear small and young again, it’s HORRIBLE. So if they all liked that… hopefully they’ll like an actually good game...even more?? + +[Sounds of an angry midnight release crowd erupting outside, muffled. D00D64 can be seen at the forefront...slapping yet another unnaturally high quality gif meme onto the glass window. The camera pans out, there’s hundreds of gif memes all over the outer walls] + +Oni: Is it midnight?? I told them to fuck off, there’s no midnight release! @Chromatian FIND SOMETHING TO SAY AFTER ME TO CLOSE THIS UP ALREADY + +Chrome: [this shitty Iwata Asks atmosphere cracking at the seams of its own immersion, reality warping his professional and calm demeanor, but he laughs regardless...shakily] You just don’t know when to stop!! + +[TehRealSalt struggles trying to get into the room through the tiny doggy door for 5 awkward minutes, before giving up and just opening the door] … [she doesn’t know what to say.] + +Oni: EZO + +[The towering dinosaur just nonchalantly sits in his chair on-stage, legs crossed, resting his head on his hand] + +Ezo: Sticky Kart was a shitshow. [referring to the old controls/physics] + +Oni: holy shit YOU CAN’T SAY THAT ZARRO MIGHT BE READING + +Ezo: I have no regretties. Except for maybe Arid S--wait, that’s a secret, isn’t it? Hm. Anyway, yeah, working on this was fun. Usually. Learning to sprite was annoying but it paid off since I got to cram Wonder Boy in everyone’s faces like the scaly fucko I am. Though Gamma’s pretty cool too. I hope you all enjoy my Sonic Adventure references and that you all suffer an appropriately huge amount in Egg Quarters and Spotlight Syndicate. + +Oni: THIS IS A NON FURRY DOCUMENT :boi: + +Ezo: Speciesism UwU + + + +Boinciel: [screaming from a speaker contained offstage] HI MY NAME IS BOINCIEL I DESIGNED KART MAPS TO DESTROY YOUR EYES AND/OR YOUR SOUL OKAY BYE I HAVE TO DO MY JOB NOW + + +Oni: With a map like Kodachrome…..clearly... + +[Off in the corner, a lone wooden coat rack stands, although upon further inspection... It turns out to be, well, CoatRack in a disguise!] + +[The entire server pauses for Coat to come up with something] + +Coat: You know, these guys all did an awesome job. The controls, the graphics, music too! I just, uh… Had an engine stall on my map, sad how many times I ran out of fuel at a petroleum refinery when making it. Huh. But as one of the more outside members of the krew, just ask anyone, I could be placed under the decorative ornament members with how rarely I dropped in. But each time I did I was blown away by the leaps and bounds, filling me with joy to see this racer come to life. Even if I am a living example of why inanimate objects shouldn’t drive! + +[The entire Krew stares at the literal coat rack, smiling wholesomely until Blade opens his mouth] + +Blade: Whatever. Enough talking, LET’S GO AWAY!!!!!!!! DAYTONNNAAAAAAAAAAAAAAAA + + +[...the .txt file itself cringes to a halt.] + + + + + + + + + + +doot diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index c97cee453..9b853a80a 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -30,7 +30,7 @@ : ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z} : ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z} : ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart maps.kart} -: ${ASSET_FILES_DOCS:=README.txt history.txt LICENSE.txt LICENSE-3RD-PARTY.txt} +: ${ASSET_FILES_DOCS:=README.txt HISTORY.txt LICENSE.txt LICENSE-3RD-PARTY.txt} : ${ASSET_FILES_OPTIONAL_GET:=0} # FTP Parameters From 99baa585c8e11434d4e805e4b2222cbd74013a7a Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 17:33:57 -0500 Subject: [PATCH 42/62] Re-enable Werror CFLAG in travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 12d3c59aa..058b0f6b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -635,7 +635,7 @@ before_script: - mkdir build - cd build - mkdir package - - export CFLAGS="-Wall -W $WFLAGS" # -Werror + - export CFLAGS="-Wall -W -Werror $WFLAGS" - export CCACHE_COMPRESS=true - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package -DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" From 3d79264d9ecd52068d8773553ddc0d8adda9f4d0 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 18:19:44 -0500 Subject: [PATCH 43/62] Correct asset directory for travis --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 058b0f6b2..245bbe9d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -594,7 +594,8 @@ install: before_script: # OLDPWD is root repo folder - OLDPWD=$PWD - - mkdir -p "$OLDPWD/assets/installer" + - __ASSET_DIRECTORY="$OLDPWD/assets/installer" + - mkdir -p "$__ASSET_DIRECTORY" - cd "$HOME/srb2_cache" # Get stat command so we know what the cached archive date is. @@ -611,7 +612,7 @@ before_script: echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$OLDPWD/assets/installer" -aos; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$__ASSET_DIRECTORY" -aos; fi; # Get optional files too @@ -620,16 +621,16 @@ before_script: echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$OLDPWD/assets/installer" -aos; + 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$__ASSET_DIRECTORY" -aos; fi; - # Copy assets to repo staging folder, then go back to root repo folder + # Go back to root repo folder - cd "$OLDPWD" # Prepare CMake asset lists - SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;}) - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) - - SRB2_ASSET_DIRECTORY="$OLDPWD/assets/installer" + - SRB2_ASSET_DIRECTORY="$__ASSET_DIRECTORY" # Prepare CMake - mkdir build From 238be26915529cf33051d3f0bf3c2e862c1cb025 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 17 Dec 2018 21:31:00 -0500 Subject: [PATCH 44/62] Fix strncpy nodenum length overflow --- src/hu_stuff.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 9bdf9bd7d..52dc4a7a0 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -469,7 +469,7 @@ static void DoSayCommand(SINT8 target, size_t usedargs, UINT8 flags) const char *newmsg; int spc = 1; // used if nodenum[1] is a space. char *nodenum = (char*) malloc(3); - strncpy(nodenum, msg+3, 5); + strncpy(nodenum, msg+3, 3); // check for undesirable characters in our "number" if (((nodenum[0] < '0') || (nodenum[0] > '9')) || ((nodenum[1] < '0') || (nodenum[1] > '9'))) { @@ -977,7 +977,7 @@ static void HU_queueChatChar(INT32 c) spc = 1; // used if nodenum[1] is a space. nodenum = (char*) malloc(3); - strncpy(nodenum, msg+3, 5); + strncpy(nodenum, msg+3, 3); // check for undesirable characters in our "number" if (((nodenum[0] < '0') || (nodenum[0] > '9')) || ((nodenum[1] < '0') || (nodenum[1] > '9'))) { @@ -1679,7 +1679,7 @@ static void HU_DrawChat(void) nodenum = (char*) malloc(3); - strncpy(nodenum, w_chat+3, 4); + strncpy(nodenum, w_chat+3, 3); n = atoi((const char*) nodenum); // turn that into a number // special cases: From 08a788af746ac0064558f60cb0b40754044f7db7 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 19:11:51 -0500 Subject: [PATCH 45/62] Initialize skinnum for MD2 star colors (fix CLANG error) --- src/hardware/hw_md2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 2856cada3..0267770e4 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1286,7 +1286,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format && gpatch->width == ((GLPatch_t *)md2->blendgrpatch)->width && gpatch->height == ((GLPatch_t *)md2->blendgrpatch)->height) { - INT32 skinnum; + INT32 skinnum = TC_DEFAULT; if ((spr->mobj->flags & MF_BOSS) && (spr->mobj->flags2 & MF2_FRET) && (leveltime & 1)) // Bosses "flash" { if (spr->mobj->type == MT_CYBRAKDEMON) From 2fe8317103038caae42a8c77905b71d9234cb30e Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 24 Dec 2018 18:37:54 -0500 Subject: [PATCH 46/62] Fix gcc 8 compile by using strcpy instead of memcpy for PM --- src/hu_stuff.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 52dc4a7a0..01a19ff32 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -506,7 +506,7 @@ static void DoSayCommand(SINT8 target, size_t usedargs, UINT8 flags) } buf[0] = target; newmsg = msg+5+spc; - memcpy(msg, newmsg, 252); + strlcpy(msg, newmsg, 252); } SendNetXCmd(XD_SAY, buf, strlen(msg) + 1 + msg-buf); @@ -1014,7 +1014,7 @@ static void HU_queueChatChar(INT32 c) } // we need to get rid of the /pm newmsg = msg+5+spc; - memcpy(msg, newmsg, 255); + strlcpy(msg, newmsg, 255); } if (ci > 3) // don't send target+flags+empty message. { From 5b663bfd2818b04295cb4c41c0cf9905739c16d6 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 16 Dec 2018 19:39:16 -0500 Subject: [PATCH 47/62] Remove FIXUPO0 GCC pragma --- src/m_menu.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index bf60f3be6..a37ff7098 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -73,10 +73,6 @@ int snprintf(char *str, size_t n, const char *fmt, ...); //int vsnprintf(char *str, size_t n, const char *fmt, va_list ap); #endif -#if defined (__GNUC__) && (__GNUC__ >= 4) -#define FIXUPO0 -#endif - #define SKULLXOFF -32 #define LINEHEIGHT 16 #define STRINGHEIGHT 8 @@ -4584,10 +4580,6 @@ static boolean M_AddonsRefresh(void) return false; } -#ifdef FIXUPO0 -#pragma GCC optimize ("0") -#endif - static void M_DrawAddons(void) { INT32 x, y; @@ -4732,10 +4724,6 @@ static void M_DrawAddons(void) V_DrawSmallScaledPatch(x, y + 4, 0, addonsp[NUM_EXT+2]); } -#ifdef FIXUPO0 -#pragma GCC reset_options -#endif - static void M_AddonExec(INT32 ch) { if (ch != 'y' && ch != KEY_ENTER) From 93e8751938f80dc44b8756fbfa5b6c9b0d90d5e6 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 19:58:21 -0500 Subject: [PATCH 48/62] Better rewrite for addons draw adjustment [Kart] --- src/m_menu.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index a37ff7098..3a425a97f 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -4650,16 +4650,14 @@ static void M_DrawAddons(void) if (m > (ssize_t)sizedirmenu) m = sizedirmenu; - // then top... - i = m - (2*numaddonsshown + 1); - - // then adjust! - if (i < 0) + // then compute top and adjust bottom if needed! + if (m < (2*numaddonsshown + 1)) { - if ((m -= i) > (ssize_t)sizedirmenu) - m = sizedirmenu; + m = min(sizedirmenu, 2*numaddonsshown + 1); i = 0; } + else + i = m - (2*numaddonsshown + 1); if (i != 0) V_DrawString(19, y+4 - (skullAnimCounter/5), highlightflags, "\x1A"); From 72ff758b07fbc2da26a74a805969f41c8e370380 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 20:02:03 -0500 Subject: [PATCH 49/62] Dummy out unused functions (OSX xcode errors) --- src/p_inter.c | 13 +++++++------ src/r_data.c | 4 +++- src/st_stuff.c | 20 +++++++++++++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index fce8ccd56..5481b1314 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2951,7 +2951,8 @@ static void P_KillPlayer(player_t *player, mobj_t *source, INT32 damage) } } -static inline void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage) +/* +static inline void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage) // SRB2kart - unused. { fixed_t fallbackspeed; angle_t ang; @@ -2997,11 +2998,10 @@ static inline void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *so P_InstaThrust(player->mo, ang, fallbackspeed); - /* // SRB2kart - This shouldn't be reachable, but this frame is invalid. - if (player->charflags & SF_SUPERANIMS) - P_SetPlayerMobjState(player->mo, S_PLAY_SUPERHIT); - else - */ + // SRB2kart - This shouldn't be reachable, but this frame is invalid. + //if (player->charflags & SF_SUPERANIMS) + // P_SetPlayerMobjState(player->mo, S_PLAY_SUPERHIT); + //else P_SetPlayerMobjState(player->mo, player->mo->info->painstate); P_ResetPlayer(player); @@ -3009,6 +3009,7 @@ static inline void P_SuperDamage(player_t *player, mobj_t *inflictor, mobj_t *so if (player->timeshit != UINT8_MAX) ++player->timeshit; } +*/ void P_RemoveShield(player_t *player) { diff --git a/src/r_data.c b/src/r_data.c index b2c10a657..2d63317af 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -924,7 +924,8 @@ void R_ParseTEXTURESLump(UINT16 wadNum, UINT16 lumpNum, INT32 *texindex) Z_Free((void *)texturesText); } -static inline lumpnum_t R_CheckNumForNameList(const char *name, lumplist_t *list, size_t listsize) +/* +static inline lumpnum_t R_CheckNumForNameList(const char *name, lumplist_t *list, size_t listsize) // SRB2kart - unused. { size_t i; UINT16 lump; @@ -939,6 +940,7 @@ static inline lumpnum_t R_CheckNumForNameList(const char *name, lumplist_t *list } return LUMPERROR; } +*/ /*static lumplist_t *colormaplumps = NULL; ///\todo free leak static size_t numcolormaplumps = 0; diff --git a/src/st_stuff.c b/src/st_stuff.c index a34296900..747d4b068 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -439,11 +439,14 @@ void ST_changeDemoView(void) boolean st_overlay; +/* static INT32 SCZ(INT32 z) { return FixedInt(FixedMul(z<health-1, 0); @@ -701,6 +710,7 @@ static inline void ST_drawRings(void) ST_DrawNumFromHudWS(HUD_RINGSNUM, ringnum); } +*/ /* static void ST_drawLives(void) // SRB2kart - unused. @@ -1501,7 +1511,8 @@ static void ST_drawMatchHUD(void) // SRB2kart - unused. } */ -static inline void ST_drawRaceHUD(void) +/* +static inline void ST_drawRaceHUD(void) // SRB2kart - unused. { if (leveltime > starttime-(3*TICRATE) && leveltime <= starttime-(2*TICRATE)) V_DrawScaledPatch(SCX((BASEVIDWIDTH - SHORT(race3->width))/2), (INT32)(SCY(BASEVIDHEIGHT/2)), V_NOSCALESTART, race3); @@ -1520,6 +1531,7 @@ static inline void ST_drawRaceHUD(void) V_DrawString(hudinfo[HUD_LAP].x, STRINGY(hudinfo[HUD_LAP].y), 0, va("Lap: %u/%d", stplyr->laps+1, cv_numlaps.value)); } } +*/ /* static void ST_drawTagHUD(void) // SRB2kart - unused. @@ -1632,7 +1644,8 @@ static void ST_drawCTFHUD(void) // SRB2kart - unused. */ // Draws "Red Team", "Blue Team", or "Spectator" for team gametypes. -static inline void ST_drawTeamName(void) +/* +static inline void ST_drawTeamName(void) // SRB2kart - unused. { if (stplyr->ctfteam == 1) V_DrawString(256, splitscreen ? STRINGY(184) : STRINGY(192), V_HUDTRANSHALF, "RED TEAM"); @@ -1641,6 +1654,7 @@ static inline void ST_drawTeamName(void) else V_DrawString(244, splitscreen ? STRINGY(184) : STRINGY(192), V_HUDTRANSHALF, "SPECTATOR"); } +*/ /* static void ST_drawSpecialStageHUD(void) // SRB2kart - unused. From 1de758fcffe3f06ca040bd4d360687006a9569e5 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 20:48:00 -0500 Subject: [PATCH 50/62] Add __DPL_ACTIVE condition to optional asset download --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 245bbe9d5..1ae42e9cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -616,7 +616,7 @@ before_script: fi; # Get optional files too - - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then + - if [[ "$__DPL_ACTIVE" == "1" ]] && [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; fi; From 5347d5390f671b62b195e080e7e646d5fc01626b Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 20:57:57 -0500 Subject: [PATCH 51/62] Fixx GCC 4.4 array-bounds compile errors --- src/d_netcmd.c | 2 +- src/dehacked.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index f29798382..0a691d283 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2098,7 +2098,7 @@ void D_SetupVote(void) else m = G_RandMap(G_TOLFlag(gametype), prevmap, false, 0, true, votebuffer); if (i < 3) - votebuffer[i] = m; + votebuffer[min(i, 2)] = m; // min() is a dumb workaround for gcc 4.4 array-bounds error WRITEUINT16(p, m); } diff --git a/src/dehacked.c b/src/dehacked.c index ccb258106..3aba7aef7 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -3234,9 +3234,9 @@ static void readwipes(MYFILE *f) else if (fastcmp(pword, "FINAL")) wipeoffset = wipe_specinter_final; } - else if (fastncmp(word, "VOTING_", 10)) + else if (fastncmp(word, "VOTING_", 7)) { - pword = word + 10; + pword = word + 7; if (fastcmp(pword, "TOBLACK")) wipeoffset = wipe_specinter_toblack; else if (fastcmp(pword, "FINAL")) @@ -6934,7 +6934,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_GARU1", "S_GARU2", "S_GARU3", - "S_TGARU", + "S_TGARU", "S_TGARU1", "S_TGARU2", "S_TGARU3", // Wind attack used by Roaming Shadows on Players. From f0715d7af3d766a9e627c5496fba8d4b64238e51 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Thu, 3 Jan 2019 12:26:25 -0500 Subject: [PATCH 52/62] Updated Kart icons to higher res --- srb2.png | Bin 3778 -> 262991 bytes src/sdl/Srb2SDL.ico | Bin 82992 -> 125191 bytes src/sdl/macosx/Srb2mac.icns | Bin 103434 -> 120190 bytes src/sdl12/Srb2SDL.ico | Bin 82992 -> 125191 bytes src/sdl12/macosx/Srb2mac.icns | Bin 79787 -> 120190 bytes src/win32/Srb2win.ico | Bin 82992 -> 125191 bytes src/win32ce/Srb2win.ico | Bin 82992 -> 125191 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/srb2.png b/srb2.png index 1bcccce229334a45b427f5230524814de10f52bf..fccde9c3fadfdbff655cec6e128125a269533798 100644 GIT binary patch literal 262991 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 literal 3778 zcmZ9P4_H!p*2gcRrj?m%^Ui2GwvRiyGtG`RMuz$C-D#%UCiC5L)H1M~QCIR$-FW?j zfN5_{&89YOlMssYI8BBqG-m!uz&49igfR!mG*BsSih_i25d_}rPP=>C`|xltJkR<4 z&hLB9`J8jlCnxRlSsl0<005soyLbK>05HfS2JrGkZW$+=vjJe;`8_-T`(O!c{#iuP z#(lpzYc$DI@R5~ z_r?u)`qisfA>V%NFinJSnkiok{5cX^v0;t~#h>09;C2 zNPtZqQNZqdAI)LwQc2Y=NX8y8)`TR4iA6L=UKy>W*r3A2Iq#qI-Nkk-nVB)i)E#yj3DBXBlR<%JMT05 zP7pA=@4fa*A^F1wvs`b$4_n z8ydPAaap4fc+KE2JY+df;QcxbvbqnjvilZ_y~SZqNs_Xz(jgrf+<=cE@;LbQ2}A?U zb?)4`HYnBVP^nZ&)k}^vZ0&}j*P2a}fE4M94+F;G;bE@9H8Xl+U<-KAg5fJ0sGhBO z+6$-C`Etva8&C{2C6uv|jE?-WgNYZcFIf{MvCumIr3cZK)CJF;3{_xEOvheFpC;cPR*T#qaAt zwmsgXUkE5ZEDk{s^tD8-kj|+T|TeGxU%p8Z1p8oz#ql-(zA(zZXz~t+sNyG<1?s zxti`vBgWE6z_(|=dYx?74A{w@9m*?EgHf!61g<(ws$B*>3}Qe-CXM>0Ew+`i>X6Yq zw(Fko%om`G&b^rWYniPS(|Ea0gVIP+@`r$ z(aH1m@1V^#B9SpW*=0X&R6d~OD9p#CgJi09LEh`G+FK}67dIRYX^4Q<@I8}B>552BsTb7dy#Pa7 z?0@70?!$>P7XwbeAt4TE!*;4fLNlRac?aB-ir=byQR-yfRJJhNWm#Iu-1VFY=TpAt z&ppN8&sOCMBJQIpz#o=eco6R!5d( z$iKEyiVTTlUVn!PRp|HS0LS5yq%$;krcEuZOE`Cn0<5PNNT$-OHZ>5hjQ-^L)1qK4 zB?b26W_vc2HT2&s{Wpd9Q+Yr?xkSqc4f`SctikCs)zf)yJ$tUH5KEsQf0_Pzj$ z0C(m3t?XZV)bzzbFZ3$k3=Iu|>`(lq?q5ouj$e}!N)!Nxnb=W47;e^)sZ{EsgV6*Y zxkd%vQhcr;V4L;Bk7W1Nm({)^^|ONFk-C+G9S6k0W36{kT;C>{VZ@rg}&&jjclb zzVR@KwIU_g`}Q;xk}rz2$E1zc-Tm?QHgpzR0|5iJkJ&e&do1x|m@L{~1ROXgVh0?5 zd%C>pI_YCD>*5*pezUz=0Vkpj%{ai);14G0ckwJYU~Q4a?=YCDZOll8Bt3cAo0P3B zlquu#5={=PV?s~lbC`a1cdJ#ws3d7nhyEhLw~>i?L@w3#N=8Z~L0!zT)K>pg+^V*_ zQQGBfM;XV53(e)*!5ZD5T&L^h z#9tUe#|cT)3^CMm+#r~-+9Xpg1S6-DP4%41`nhKT&bpX;3Vp1uK;T3$Ro}gcaQ-SA zpFmoFn7vs<=3*8Ie`|t0P;Hn$rNtBl*TXr)r${0^ucKlle!C8|g0N~==6u@dl{7w{oPy z>n@*k#Zk=X@kMgGv=l2D!H?G1T?|coCkyx2S=AY^B|DI*DZGZl>S0GLFpVVNLaWZ! z&uWOmq-SLsVo3nYw@+mU;qOA$og3I9QwH|kc|&Cz&>Ri%2t4MJSPa&)ai>9O`7!+s z;3$Evk7Q&^_lXEVIg;+*Y*DkvZyH(}$woAml)(1T8l4{0=-R{j?4FCqd`^o6R1enC z5;{EruT`yqJ&%8b@^^*j^B$8f!ZW08?XfMwaL$R9nCM{ zJ<59+3jZ%Z?Bim#xciOc8`dO(YEq5vmE_WrtvuGgp{uw;U=g6@zPqUU zhA=VSC-kPNmt(mB3vh>T;$!~5>KEy~d2KCV@ZGnS_ZXr6c0jM!hlw+8#78UK>rCyR z^@(^sB7=j5Xh3~84VxL_MRG$X4xfL{NN3e+`c%u;4FWMjb?>nqQnK~{Z0Veib#J={ z2A9v{D)P=A(-AJUzM-}p=+X}gfwlt?0;x3U+o;7Zdigv&oh2O-0X!o7a})r!rD8X=-EDuHjsFA5O@hG_8)x6kNg4>cJvg@HEO$P}Z$thz zreB_1`skvF*rBYf3Ab!ncoJCg!|=bV%Ho#X5#2br)Kx9b(oRT98KEZ$09)o*l%%&1 z7O#V}V;3u<%xT!Em{?Iw_bqL5ec@O06r5Iz@?(X*bxl#>g@QsL#AUT^$7dU2?ZDSK zKrbea3t*1yzM%^KGu=tcXp^nW-~sjmg;_3=Lkoo@fqwSNpuPe^E$p^ld6Dsnu($U^n-kdTf*zjJiRQ(V&a3H#- z7w&6J#esaL-=n~t06CF~awM??*oQoyRxHHxd1dx>qjuJonuG+s#v9t!sq!>eaJUuU_3!x^!tv;lhP21q&9m{OO6~lEZMVXw`9$l)sjAaddqw7y=TdgA%mr8(V~{Gzy8`NFRD6KW8TeySk4Vw z;Lg}Te*D<-@Zm$tqeqV{M~)n^%$_~l;_dBi>CmBrrEJ-@3+sE!mMxa;+qYY`ZQEwqv15lNARxf9bLURuop1jB{+2)g{L@HFDDM(dhW=fD zC%<^oh^G$f=(bEXkcW91wb>={e;?3_7s+5|`7-M@c- z%lh@}EpzA2wPeYX#io3!S+ATfL4pL9j2Sapx_0eqiG((AHg*3${R-@XuQkW`b?@HY zpto#=%~xN2Wzc2NdL>GfurzDd%-H{J%^z3kQl&~|sa30%F$b*717}swf8HsWM+*BV zPo7vRRH$G{m@uJDYx1LyKC=Au(@zEs*t2I(%cq}yYUFcra`_v-vakx!-iR|U%zgdHf@?Eb?VfX)~#Dxgg$_u zb9Z;QfS02y?{$4YbLNb-uF{_Wth2V?vrg{by=xggdbCwofeYB%;mP5>ptBAhJZPCd zeYz!6rc9P}>C#y`cI;?Lks?Jz{bvKU&(gYiIf5i!Y3C@b1Fn>->LApQQ{!$qW6@Ga+&V+A8k$ z?c4IGhu;6CIiNcJ(w+~@@w;~IGI+eLTen*F@856ije+GM1?dGn@$(`YktDr@dP2LG3aVD;+Nmd>3!TO1r54BmXB`E12`tNP!1r~2(}?t5rxsD(XR zb>5)Sk|s@Rz?yekJ$xSW{HW4Hi?ct#n@5%Ib$)|B`QU>O44F0fPIs!_x8CXf<(YjR z-HPgXtUdY|=ze&C=*r2QIkN>k5nVc4zr$0Aw>1yx=(82)t-igrPWAVtwU2B@bvV|Z z^#py@v}seD%YZikS0qlH*ycQX8^I&&C5nc9353uolx>U5V!?t1FXex0fzJS%9JD@r zx<0lsd1jv&GGvGadT{L6v9T^ECUwG3KwC!VNP|ows(FCi!iw`&?Ro2*>gP*qKO`h1 z)-oCJC-fqEzh1q18FafEwAVTZzWnmb$mDod!1z3B(xgd|wkc)Glm>rb&ivK^AHbL# zYajdxpC`Ps=;%eiZVvfQ+Qy9=8#tdewr<@zOXbRyEvHYPHe>|Q*pg59aXqxguj}8* ziya8E17roj99iP6Tel4UQD`=F3)mMRo1jeUZQHi3WzL*Ark+|X6DCYB@YKM811(-& zUWQ(3z<>dU9#hIQW%7QT=78$kOKTt4|MSm3249Z;++Xq4=+@z_33Wc4IEhE64<8>K z9Bi!pz`#HQA0uCduVPM+pYkLhp_C`_@-CsI;XCc24CD{z&Yd%X<~hxZJOQ2m#*G^d zPrZv5FE(_|$S$!t(A|m^D-8Mc@ZrNP{rdGYJad8it<8bA4F3917=1=Ji+&8$V2g*w zW(r@Z$e5-5BS((3v~SC>l= zp##+8WBZKG2nVf_J9q8~{I0`T;4Y#5jlK~7%{Sjfi~_c*;1zS5pe4;XK&6TIE~4Y% z575=BQ!ja72S3an4{WDQnPTYd_5D)vF@BNlA?OUq|EjuP=nHWZCr&ixAF$NnD=?2N zBrS6Qymj{MSt-tP{`~ou)&REUR-AWyo&c&pFW`RYsd@9}MZg|CKD-lqx#(uF)oj_a z=wT&jsM` z=H~VS4GBH@@y8!Wj00_8j<5%qaDcb^7H^#y{?O9&4;&3ngsLssu%EZ$qYo0zx-ROMjH*^4N06qYD0&)iO5>hwvU=#eABk|T51E>8% ze~(=k{I%H36T$|);J^W+E-7Ei*3(lq z9@#zRn;mn2b|R}HBrWAz^VEY!_rGDo1|!5K0hxskTb?OT+Cd(io`&~$3w+gZ+Aj{A z2hUG*Y`v$ar?GCZ=eD&BbgfB}B(W(yuz=P(dGe$*+X&GyfXBrP4G>kxK0ta&1ATMt z+O>#sv2iO@sL%`T0tetsbHH2mHQqVZjpv;S?@y;ronGjx>QIc{!KF8D+^`HDJlI$_ z=KV9Ks4Ip+LF)72Aw5(Bq544KFjl2SP38RBK>2yzeXhir(ap(Zd?E?Rp z;7^)(=TskGfPZY(E8~|xe|}>hg+@f*him{_F!XA+;&nB6FO9RcIAA0W{u5q9=0H^N zj_#Yx1JXg~qcgxk1De}0Zrr%H1^zOW#<^IL-I@Cv)jPB{wjJ<;$oBg7?Q5(lczgB% z&iO=@Kc?T1HHvH4u;B|le{?X8?mKgUG|7@Bv-tSM0-@^Qu*`)$Ti4Tf<>AAUgIiF;KKpDs>h49vBt_ij+9$v6{6<>9+22VDYsUT8hsrAwC#J^(o)d^}|#r{GQjXf_FXw&vN_ ziI;Tp4*!DuS9k37$d}-aNKa^X@eTf}{V(kO^bvhId^0>2JT$zsgu+jg2D!`MfB$Xp z?vkDm{uzBce6sM}#0M)KE9ZYCUP4JD{B>mS=NgTbp#82yB<=ACf|_X@6uKPHXYb9NWH*c>nK=mUTM{ddFW zLSQD}Yz?`~M;vQ1Po6x64iY;<@ytV>32pW0F-a>S`v^|pOGy8i$LP8U+0%5V`Vg<2 z-gf$@8gKAYj059}ZiY1m4G$krpGgy$2fs!~>oazg$9@kVA6Z$E#UoRAQ=H5VX^(1i zymHcRLc!adxxr2o-5fSNF*$<+ov#KUT93^Y<%46PqxCbu(d9=k`KG#f1$+itbDYaD z+i67y3;jE`Lg-KQxTv1lZ@~qe2a`P~s`T*V(D`q&Q|*seP9IC?Zfsw%>wu5K!_$dw zRQNRcMhH(PJREv>c*lwrE51~Q&fDqvrA*4f^DcEty~M*aqL+BXopZbbzG|#_JmJaU z!|=lE2|p&GIUb&iyT0z+xnt*rhrd^$4Vn3Q2l+EJrM8T^_p*d^r0BcP~S~ zBlj0N9{XT$0(zjB;*_Y`5Ds?=Ms#!@-Rp=EBMiG+?%pOn=VCZR zt*>`@J7n?P@f2HGpWYVck?z#DckUHNKp#u=zSw*MD^;Xb51ofSKle6b1B_fqWZ~F( zu>YHJ2zRohGeI9n+Q`a|E}p#TU3B*fU4NIA0k`7N>%nisdy9uB$Hsy)vnyAwG+>F0 zKzMdS?grtUHS!~Ped21?tZC@eu+v7bgbgit1Dt@K&6*eet9+Ap&iClFA5DJ;#8(>u zE8sVx(52$Jj~TmYbiC-?(1#)e5dK``0r2OX?GDoJb>|!B2Z0}Ya^Vrs0i#!8Eu&+V z@1)_`nrALRTZ$e|+711$o}FK96#l!pWgI1B54dpQg0WY#4{%pUixw@6^&Fkf7MmYn zr$#eM&mK-%&i|q(f`4Ssh;DBn9cQnRF-78#WqAL0p&9d@>*L6oH}sy|zX@)~-aR^) z=&(jF3NNU~MfD6k*(c!Xixeqh6MYDdVUC*j0lgn@z_YXJcf4@=SaAopYILkUdpvf& z*iF1jIZ@@s2JG_X%WpdT>3_U%I{e|~Rik6&u@m6#1aJs?n%I_OOFrxmupNNrz;Q3t zo95yL@EL5)aR$?t@i(V|ub(w*mO&pP_vh{h^t$GBZ_7J<1IJ;vf{iSD5qb~ZslLVw zr?;82l*nsT!(-&RpA)`N zb^C01fAPZC^A4YnOaPt`9sxZrvS7Y}1JETRKOm3fC*)nc9v|Jao`+|2Oj4eN#MA!Q z8A>}CBig`kRxMn(P#ekk34ibyyuR@F@c6>#6YBbUFMEjSe24>sW7e6inz_ZQj^yvXl7zz@V`PqC#9Z%P{MB-!(H7a!pd&bDPt(f2?r zGFNmPaO8R1=Obk>FR&d(CxCsY#J_DJ@)GtR-Kjpt3#YdkJ9gFRNIh$s-}FO%kE~zU z^N|nTAN!%X3~cq$|3C|vzr79b=)19V(Vgm7yl{G((cP#<7qk%(`N0d9B4!p0)V@&p3T8sdmH*r?;8;i%g#L`{?Sy<($btUt`Ag zs&g-mKl<6|e$xfGQ69ccn>L1CkTW2*%8SqwMCHIi^a1=tnS|6SA|xls z;%SSFLwvPMFpnkrTXb^p(7<23@Y}-sN(kK}{5I$R*&jHA&3C>@exC8fOL}+(&Xhwx z$+MjCW}Lw#>>J<=^uOqekxxYB&<~=dKOhs#U8Z%401?W8jie-r#KZ6bu0(VdEm7fx?8&z#Ly z4Uds$uLcidFU0vAY`!_u8`E;k>5(nrl#N$JS>UCp9Op=Zp$o019&229Kavk zWNxqCF7+*5IK9n0$MkpC;p4dTi{Amo))Tuv^gieVu?bLv5Nof)8aPlEYdb0j&#J>- z)_81SFXc!G{Lya#fBjx;>7(ARcmaGGZgSWF@q10ur>H{KC$d27z`>314d?^dKcK;8 z&Yby5=RS}Zh=V2-J%Yqp3$aI+{a=TDWOP7u@dA6&q4VHg92|FC=wpLyOn2&Ayl{G( zc}ACoJq`31XSksUbPw+aABS8YdLDWhxe)Q(4a4{d@5k?cb1n>-AbW()GYT&#A^E9? zvfv5XM`WyN*VU_6jdKUcA)zrMbH2X5M*Ap>a`3`$Qdev|?S`h|x5e0taLjLbRr-bQ zhx_Mr7cYRX8mYILXK!=6ly@8~i2p3k--eJLqt!UwBE%lyWIMCSLNRD8aDdiOvwk&gq{$-oi(X{lQh;s zcx`<=d4~5REoEAB%nQ;8&Zf=c^*H@mzMDhR=;^@!`dz^0JCNWDbf?-GFPz?Hc?OTG z#z*+Vg$o<}4ZJmT!+a0Aq~*7~u*-xNkT^nQz04QJh&v)FFFF|kdIs~D0wc;JwC0#I zoI%uKDR7K!NLjQM9TxW>;dFjP`biqysrY!|RGYo^cJs`=4V>j;?}QHEjz8}ILf*|f zP#v@Cp^wn@NA`PR&~wO^&?iANB5PtDMKu@nwn2YO-PZO1@R6+9*uq=Sr_Uq$4b6vR zFOYWVq25*%A1|D0^GooD2ZZb zyWURPs>>W`k1k)}J7Z*SXMBb~?u7gyuYyhex-K4iblKRJW1mJNKDm zJFPp_#(3jYyI-OK;nP$HZ1#)+ww>^30wZXA<`8_mSyp6g*=D*5J)`8sHbWftSOPDB zsqEh|2_>)01@h`TXXF@Czl6{j=mmABzQr4-+Wivzp|4d3Z1T`u(BEP=fIbje8TpYV zAj?Nj6q`AKK2LYhgwig`7Kg5ac;FeY%9v;uc22i%3M0tb#49h9_zkbar%(o}rB zajI)C@Bs7`n5hm#>sjOAd7U@s_kmgSk{`Yexe#ZiY}rpFAEB-Trd|5oq`Dj!xun4C zRp8G&kU79Ja~j-+gU6r_y?s1`^Wy9IAJu-t86DLA!Rs;(>SLrHIWKgV*=B@wiJhc5 zFX_+^>1)`W#@f41Tfr0PX_$LBk^cz%WIe|w6!?SJnSa9fBcsymmSTS@W!HN7hOBNJ2(?N666DT;l-h);NiJ5fIR_xE_cD9cY?16KVbJw zdF&aiZQb#E+@yi;h6fi1zlx5Y`j7)qCww~Xl+YUg&o|nI=R15q`FWPQnd|URY{^HTm=C;@ z&b0o$;~V^GuRf0Q%x|?}Zv!0+P9&Kv9y?5EKr=qKC9j?axvCBaX&38~wMSZXmEzzD z*`sKy?Bh{|I=+`@LU2Dc3=WzFTQ?;P!xK1;}XI>tqHCPp54AovmeZcOu9OAqg$JLpG!ZXtIR2Mqz7g=UQk z=JHL)5zKe)vcmyecwB33k~pbX3!T-sc;{66|2K$QXOO|D&cw(wX4vfV+lkP3k*yzF z%hh>(X&S%7DEZ+Ds0)WYn0JAxz&NT<(ozq0OyXGkQirt=I@at|x_Il%ec>HmPjx6p z9@-z9KkonGzG(13boa+bR|mYm?wU7m{z9AB_r+cWeH`nUc_(lO#_}wo#1WDfc@Oj; zjqv$EfP_gw_9O?m9y@ZJ*gtiQv@!xx(AZ1!gG z3~7be7kLfv;5)K=WEa$f+<|A(<7q4J+3b)>B8!#s z$xm6(?z)4n!>)n709ay&&RHjM;2~@6H@AnguGmE5%=km4eJh;m+KYpyB7)VP2#usV z_<~2@hwT?IFn^PG#@!lxp#_->$W}SK#rad_hYm|AgHX!3lc)sGgxaaHg`oRi3xT>Ek2My8R7u0oEjRw%C5C&RZQrbf>KM$i4$BenSqO z4`;aG6(&rWV4NlA_aXH8!2JSdhb}R)ve|psw<2@%=g*Jv{gk?0x>l~UYQtOORKH%r z0rZvegtxPmA5;Tk{3akeLDoC(ui~L0%#PoL(B*;V^5OB=_q%oLX3!qc6WnPB?aw!J z`l#Na0jxQd=dE+r`pI3_tQmbxs*XoHhV0$gioNO_053dv@ZhDUv3Foc5R-PrB(3yO zw@KF;;r-SDpAJWY1F-SutOs;9G(7aO=*{(K=yCLPLQiu~8nim}7vDtB&N>tx9{P+j zB~H>1vPUD|<+sR8d#?cs?w`=xBW)tDw1IM|Ll60mCr+NF-GuNkocR|Sq`B_55%$t2 zZH`Ag(tl*T{N_74H}m-b(Ua@CcI1fI1)$HzmVj@P587PPl2?Bh`vF4YPn|ktz}^f4 zX&m)%7lD+ghkCiho4wv{>Z2^uAiv}tXQf_m8LPK3R9&`82Vk24UBy~b{kF-&`(qb^ zjRkZZdO}WpLcT2ec>^fgKX`NOfF%8^hU^j4g$=Vcr^wn>Ea^P@BNcH!tsE&D*vr_s?W~SZ#_h2k|j$P zo5z~FUOCgjcp}rmzLPzHyMB-(#PqBXGKI+G!|f!WC(@YVxf>!2C~ ztNQ@FKvegF>*EXD(aFIBz~>`R5_=2wSM){jmBi`!B74RLATr(_7;%pc@}i0_y{Ve!g4MwD%`#fjQo^9~kj4N{ndVskAPY<1qUV!=J z>FH_E>&TTN9{HFk~b=K-2tH>Z_lM78J zI#c1{pbv>dcF5UD_$xU(&D|gHY&y>epM_ok{sNEA7`+l69j!bQGGDlt1A0F?hx`c~ zgI$`~?m~ZH_lt-2=bR^Y2JA`fZ8$URiPMJTKliA*ZXC99ojQIiNwI9l3YHR>%F6=!f7(IE%tuv%xu=hT=c_ zs>UkPIRMUtre}|4AC2lxC}0ka&7Kh1UQZgnLC-U%kn;j><__~q=zMfYk?{jI!1kpi zg8To=`+ZasJgPasUW&b+t@;&cJ>2a6`(Rpl-#SZi(fW{)?9qgl;0SX||-~rC{ zfuo~Z+X7S8GW;LwTH<08a?U)CoVTj~or`7!qM8H10eLTXNTT15il<`@0dQqh3R+RP9sW-of1pTw@Z&7)CS3Z{p{7aE}R) zZAcpr<^l86*@mvXOY#aM@CMBT;O+eiU3r)F6-OX^F1+sj!GQBSSid5$-erHIMnKJH zYc9;-z$3mqRBis>ok-6$720nT@LA8W*?9Mg$ZovaWtaD7&)*{oe4gDd;s-cxJ^!9a z(w}|)9#P@u=kIp%-8=lg#hC-k|X2MD#e~J-mV8&9jpR zN4$qO_^gy?eh=@!X89i7dw2)EC4IE-&j%nPxm`@(pAXpo@*D3F!)5n;KwtGeVz|T0 zdyVf#|DTs1F?lS{!5J~RV)-61S;O;3_inCFCa1btz%<_4dv=R*@7^N@=#3Z;ZN3`q ziR*W5eHrDy>N_IOaA%Yk#k-RQ=Pk*@=V)~An@#B>fA=!VKO2$W`g;UE4aaxp_x~*j zqqzSqknlAg0TA^%ZB3)RbGUa^p|=&!_cU)rgJao<@cwx#S*LGw@=lf3s#E!bl^>%% z=7?o8{?%-%ovy0A%dB=LJQCS1zrny656*_5r{}K7F=NIUcfp`z=e!7Z9wz7duXZK| zm8o{t1y-i^S~zdU83ybPut~rM1(~*ZY#Zg-T8Ips-$oRt>IhWNZ_K)&Evikv(mq0d z1B0{Ax*iXG9rtZTb~mmX>PYo?l!N^Z^9J{(jDczjeFq+f!)6Hmgt;&19~cwP6>^t= z`Ma&}=r_3k689#IfoemS_{<}e)aAD z#i=&1XBm#)z~DDXutmeRl{>!CW3uM4QN;F;khRX4MDDXNuY2AlPJad`$U7l-Nto`p zas9UkKy^Atc-IY^OYTAA_xZ5X=bmQWjsyGb;>C-~TJdwgVRB8%sYKEI!$JKkAedLHaMasTEV5ZJ5G0?sq9PsRkeaSti> z!Pq2YM@qc4{aw$`S#xNGM~@y^PM#P~cP4OeHa4BqA+~(rRL*f>(@CA! zazaPq6g*!0UZARRr7moK&3(tlkUN4nw?ex)uOMmI^L3o4kC*<;Zxmn)Cw7X`cNqt4 zo!I}mi$>1TP_{T#)@yY#_c`OLDl*!DT?Y3hac`U4|4Dm^BMqMO9Nf=Lyu_J9?5uIz zlPUc+hvesXBXOMJrwqnK+Yg;p+-q~H|H0IK`}S>P566}q-i5OUta(|>#LF6$H4p6% zk0WVV*Wx+rB4^dHcbBpVuVGUTD1I&53CyR4h?2DwsGY9mLXJ21mV+^3HsY8BqPr=9kHTK^b*mDP%xnJ^* zy&8KIXB9cGLR;lqRAH-Dtt@~4{r3xfwKn%D4-ZYn@8_}RD3|==)cb33s(f$i;H-tU ze!-hyBM;3F-pBUJ*0a?@FGCmU{bs(1*Wf@dk(xN zbQA7%^`ElYXV`C;-|+I#IP_8aOURui`a9p@d9hDq4(s1|Hvb+h^}LExWxf_io4C7; z-?oRw1NMaC;rqDPjrl3xh?BI)gWwP4op0c8k?FijpCzwaqk*rZ^QwG<=izrpkWF&W zwRrY9o(YlvfCpFu5~qLXS@)bDV;>K94zHu_aZ#pfpRxDB$5_Mt%xn6Lhi|oY@8dVK zSi`RiZgJ6f%8>qpcX`!4bU*#&z5>n!Lc1gHu=d;EdOn^ROB{QPdVgb`YNE0Cv){nW zvA*$~#e>%)WIbb3%^C+MbH^v=E};RO)R{>+>&vrv_R(%mxpU`?^TK+3bkE36IadlT zD0E*;Le?Mi2>vPDd8<0()JgxjONn(Z`#Lb?nKN5Df6KWnzQx8%`L>2q2Yb)!?muVC z_5GW*4t)zh%GovKQtSnsOK;n@?F%%3o-Zz+1>b;sUU&b^_b(xn=C?KE_f_O~HsH_b zV{~VE)g+B{J;n4Jd(P|bKlqP5o8PkJ{3$Xn{hnjyfV7)2s9n3Z!3RgBBarlQ5x(yJ zBWq<2K+7}Uvi1mBukfnS1$sQ`$OCV{*(|U6{(0|A^t?{s`GGngOC)&k(R2~@_dmb`u-En6J<+H{JBlCQRmS7E{d!;V) zkKxW+y~n9j6eanIre@z~hTd3*9y{Yu?dyfdg0vA_J3jk_Q+gLqmSUTDo@aTEq}QKapS0!@GFO z!1GSXejKdsn&(}+XWKhYfzRNE!=HvC{~!vQhu;8zh84ONS(d<$XZ8m(txP`dKf=K) zX*`gjCuDBhGXJRudINa`?E&wGJ8$(Kr%sjYEQO=*;mkbv+$l8%86$ANzymp3xbu$F&a1*yxeih|=ZA^1=GpJfwhpADZFrd{ z@Qpa;0^^8d?*ku7AI)oCev5rhMRptVcz? z;MoJX`b`(HFFt#GI!lFKV)tLWBplwC!TfB-DA*HlnY%E?!47| zoIBNj!`6%Y&{W|sc;+H<4%*26hdds74EeY@E$`qB9D5+|=rFi@kN#6eRGz-GmY8eU z#Yp)YE$OY|;@qj`8Z-cF4jKSCA8mo21?F-O1#}?oR}C=aKhS*OX7mQK{#obDckZ_) zj(cb*7ksGqUDmuF$1~-To;{y>@T{+J=dIr3+^Mo7_5kK9v>tZCv{ z$KV2Nd`Sn53apVM$h|w1#rnlz+ambFj02<&?t299qc1~mNM5|y$Eadl$ zxz}bJt?F=`M1yU07dnXfHS?aiULnf^e7 zLi_0a0QA0Yvx@ATwt^eE?-d-#m|ePb$tVt3QWl;)RqXntF7^gp)+T9@0k9W_yMIN8 zs?P!RT-NXaeS=qsZ2e37g^ooJEOJ!7kq`UOH z*}#VVT4(^-t69^m5%ZqTcRaWQS(rF@2i>+t(owcNONdyE`blh2b}$YZ-ECCSvR^O_BP$IH?YqmQ$(KZqVB|lmmn>Bh0J>egV%2N9M!<8 zHoNNW#y%98Abmu(L!0sFhM{keiD4VTUI1@^4Gew4u7La8bq9Zh%oRB~a|gOg?7T>) z`W~o)*GBI})o=ZqYQqa-0LStaaIlQ{RHAOQn6|oNAXtc>9dDa;G4?5PUB> zdU#)WV?1jFyJheJ9$t3k%9Y0awstS^o7`_RAb^iP4#r@_;-4zRUuE-F{$HW%%>8)P zch&A3%Cj!$gRS0~e6L!!E%{YFmOuHY+GdxXKwUDBn(&sLopE!)W;;9MMgwnE9PyOu zr8ZqXbTYCT7r&_N#*IA2@iv62bR*ph;bx^ort$=R<#-TL^!CFuF5Bndm^f-m)Gc2wah4fn3Z|%tmqhb z<-4l2K23RF@hYyL^3|13_8OaGQ_-pod6n;>+O|RY3##1_4ml?LH+HP(qLI&FCyuT( z+_vw&%Ck`A|Int&;xLh_v#_dro$>~QjJyTeA$t-s6wV`|t3ZAY4F;VB?ShA9gYS~x zOHpNP;()+Ti6$QAW(^ildF@$eJCDOkx7gOsfS zcMj*{H}~8dJb?QygKqZep^Q8X(SyXJRIjgz%``jowUFM zxej;1@J>1G4{E#)#-gcKv#7FWU;|8hnGeXLXahDX%zydK6l5*f9O&(qXVRhDqJ7eK z+KUJO(0=%K(sS-L+-0)bpcqD~_Mc-P#Wo7v3G;=zfH(UQypzl+WDCfM^m&BcE%tNl z!`wR{c6cH?L59vZ?&%<(CO`T*hE07bxtfO`F&6Bf>f=kE^-O#9Z;Yw_4!)v&;917r zng?#k$=J`3t>M(TO?#<9F^o{{2j?3yE4@w3BjyjXCuCUY_Vn-iGrT^sADJ(ag{*1H zLx&H4tm^fTVRK(fuG-&Sc?&uOnG>v8@E$k=858fwB;>mu0ylnd44i|^j6}j5T%#=#k9$o_FvL{YSpWK4HycE5-Z= zpOOw8OB}V|Uu+|>X`b_c8cSJw|x&2Rb>klk?udgL#6Sj}W?F&iQ~_fDLzD5Ra~0wLetNh3}Qm^KbS++Rr$f@jLLq zR*`OsXWXHi<(&|DzNUj_IAY>%sXnJt<;2RVij46GpQ!>~@XQ%_N6uK8znR~mec%Pq z-`L{WgTV_p)&7rS)p!~a-hSFCIEE0K0sb3$fOEH;t(5PAccKd;OHVxWPHZpZqWzp{ zq&v(RaK707aX$@n2KYpUgUs--<(>H&SL2Uv3YrQ%oj$+8pR@&B1C4`6wCBH_1C8G&Ha$grDa-`Ui37^08e9 zKjG0q;=#v+e8ct+9*?;hSM7&pmob$PoP_Ow&b!JtLSO+uDfYCqg>ryZWb`NSLVf`* zW}k_x_Hz~i9XR)%Fdwi5g04gdip>J+fq3Q@o@aPX=y}Fg95gH6k#`{2b(eO9st+tXAtx=yWn;DNc-S}p)XY3MtbC&oJEdm?g-5Rp92jd z=Xc_u{Ri1U84t#axq+vh*wkU$tj`_h26Ke^|rcg}i*H<2?4=6QqMi#TXK>};q9 zxW&=zT@L)X?GB?1F+_l4g&39~wf|QJq{fILN?9yK z`KOxyYPt9+&jF)Qv{8w(gDnON$L6sFsAHbQ+Z}1Ca&pJbPgD!@7!WtlsG|)5r1|*KN zP2eeLapbe~g}s~gfy|t=?A6dw*g4}=y`AEs{gk2FZzva_%aMt&-efOhPGBFbk{SF7 z>zr|g21e$Bu8DEyJ9vhEgIm#sV1vor;u{_uh5dDS`(Ii9pvp9yzyLWk@><#_dl_pM zT7tccI6~$NAvCl6{w8o@U6Y3I%r{9#TFQhkQgtzR)=AxQ6{<2vFfPzT%u&H5;2r2W z=w-&9cW?@x_6je>T4o<1pM2Lt_HyLt;bUJauG%f-sBuZA`e0m!#@yA ztJ`8RC&c!QwQP;%CJpj=oT_7$)EU>I>O%ol{$0kBy&f3^^8&p9bSOLlIso_&JopJ( z8rU%3amdo)WuWufKgh$H4WBoEt1w+$w_7hym0w2n;STk|8-TwVKb6Md1;MR6gWKUZ z(Ydfjp*6HS!3?O)s+$j8B-*eKFw;b-X+UiK^K zCTLOmtvglD4Hd`b?J3Rmyv}!3r@g8h+mgq$2i(Nj70y#|)`pO^P8>L2&ZLl*Jj(A? zWw@)?f3@A_F;VqrQ|)LG-WOjLM&>7|bl<7;5SMY%W>wBGY`?HC@**_Mh*YTTl8}U8 zx0ISt*)t^}Jo~>8Ef;1<60!m;-gb88ke!M67ee)Fy#FuEZnVR&VlqBCncmImPoN5AEW$r@LaI6Q2;-3 z_ceSJ`zSOTxE`GVJh@8Crt{tl1;ye;l~GQWbs0VhT0#|JgzU*YTl1Xf;;g31x9C;c zpz`LR&){Jk%!2cEnTL` zIDp@wk%bO`|5Y*y=<68k`&Az1nL&3;|DdhV1;cAdoP^LP@YU#KvG+&Ljx2$@a#cUZ z#B>Z)o@vl6vQHt4qi>9b`S)5#10O(JgpWtw22BUwtIE0_i~57%J(1U82Sqv1B-CMs zJ+Ow?U|hr_^FTk!d-y$Xm~GnR)Yzv#apJ@a=Mm^L^ph&U@bp=pkt4%5$$ril@Ql46 zbAhu?3YJ}Ms$3;fX{#YKV7%dHfGzwNx-Z6*F%XZ=oAYd}1?jtl)DI5|zpr569fSJ2 zB7Q}z2ZXPD>c zCy*<{M6v%wv__xTgUgf@gV`XXYlhW$+xBmyopJVdR4`tsgnA^bwg9^HBCZiDykhci^y- z5!^2!<3vBm7t{KgQ_OqL=|gK^XCn8eGY-U|KM~tf=mPqy_nmiaY&a(u!}_QBD!U-y zFKd8#K)qd%noGWXdRxYL7m z0YAoAN#6W`7kRHYAK z?$Qt7&K`&iP428Aj%Q>i$Rdz`0%z$z^HucV%q3M`jOb7WgHF(|&^Evmc@8=WWHyW| z^PfF|{v($}R)anc+dbOC@6CYskUt}9R<5pUv&~MW$1eObGIr)W{bC)n_oD-5e?ZSe z8Zc>oOq{Ra;~A6b{oLHHqPB-S_%9E{ACcx3j-b5;K9>QjvAe*qMERT;;a zXYfDZ8}tOMDe7U5U~fW>heIxd&VYOORldt={K`mKu?@r95PHW z9u2H;s@_oL8I)M}+ge*yd39B}zRLSs@yk@4lDSywDsS^#vxF&e!De;5%G(ehcqwrL z-bslUbe|ou%|jLUP)Tzh+BqS<;oYhyt?nr=TukAl7KN8l7j@oJzr&(B3gMPR`3O0M z4JQm#AKzEw?V|AXEVU18Rs8u0wdPML*#PIJqO^xod6Oy`K>%wP7(&;A+wtIQwU)SG zGM8$SRi|Xky_t*9{>(o@@-in_pOmTAU8ML{wKa(K!Jfr@&Y3f(p$`CugKN-5DV&Y$ z@g+E_zGVd8W5)tNMBS`GbT^bme(*y$T~f~60hPZ3vK=x}H+`Druzi+E)8s{ZEY z`pHkd;2HKi%E7Y_Gp3Y<2QH+wmLI+Xm{UJ`Fz86+N$jn(2M_IFEx&40W!cwR_q2mO z23Ztkk(a$8{C=gE>R0(Qk`|g0xjp!lxx~I9@MG_!Z7OY3bNhK$eEn|v3@?O@J$Miu zHe<&eWUpl3Qu#|-%dg@agR7bA^qKtZne3^+fqp2y>YVC-B5V0od;+!aE@ppa9HEcE zgXn_Tht*u-%v>F7c_mJjkyzpMAu8=LMP~%7vmwDsr@B|+u!$;fK}jcJSav(RTd9># zVrO?&_g=CARkX8PJ|;z&+xzN0S=VY!JnZZ~2*4-U;l7}?on5OU)xWIxb?+88&LlZr zvg|iWx_Y|jZ(KL+`xRZ&W=zw~ZQ%O}PJGlj{repby0!V{pC3}C_53raZoMC>HECQR zSMr3(a}7$K{MX^{r+5%_z2|@nVaNL2ZF6(R6F-j-Pk;BjUNi63tWkVw&Dsi>weOTt zq{nkNY|xR+KjeI(UQW55^<9}Epj|0P$IY8FHtL&l+kyREFK(_Ik|nQ0`UaH(P7Iwj zpme7ZvmV;p@2i>e{#v&LDJ!4c-}PapYn=jqbV%<}DZtHbf$xs(masre%66%)JEZrl z6tJ_^f(cctObNQZ%<_0yqhUDM)B*rn1gXRcH!-L(I`s$Tc5^*y$sMV;)A#${i( z{$|f*8`kgZx%80Ig+D$P;_K_NuWbM0(}M2JTXZ+j$&!5iktJPLuRk>7=Bmes>pVSt zWWLwq`7XD!?bs0f^yZ>Ek0#c+8f@`SQqJ{$WtV%E7lk}t8q&1!1s`?lyJ3yz zh9jr^Zk&4XwP%IN>Abpp7ILRZ$iWHQ69vp>6q`Lg;_~#!wGhj*kS8IXQ&kLTGI&?mugHrAh%^iXC2kB7YX|%N0V`ElN>jt!vKCptItNtbHZ?68!?i!T>?qs@ltV7)s$40FE@@dry zcg8Jxa{6+GMbl3Io%h?352juDIQaI*jk4b@mVM>=?IoAi>+e@5*WSgSj_lm^bdU96 zj*f)}&#K*gV6B?jue@L2pWzQ{l&EmP(myz~zvs3bAAeDJkKffSe&@3I6m`nlwIbN+SzdW+EYEjBzGnEm0vMZE@G?p5KBmP@Ow3Y*-b@6~IGDx6L9TVQA{ zuh3pzr6+DVH*2>`rGN*St_2=l8}RYX{UtUP^XvBL;3i9|E?oy7xjf+J<)uN_Hw7(v z+%Ndv^vmViJ-l<#q3V|31}0qLQ^Yq_s=LJwPdkzS(|DMhV$JJWJ((K;w?dkIwjs*4mz^%eho;BJ(sa3H>j{}t#RV{Zu?V`ZPivyeXf2L;h zwMG7q7kLKEDf;wa(Hl$bN;Y0zu=SjK&(!o<6xw@C=-MyR-THX()1QVE|N5snKdkY) zzhqJHlTE?jK7Fj#?zJ@ouCM94D4_nvI(>9WUx{%S5Q%yeyg!(YN4-zjRjbL8S= zm!K^EYv)Z5DAc!6%hf>{D!DB^75wZ$|7F*DdJI3j`HM6SDm?r%b&LL2h7D-%+oEu% z>Y2V-*8j+&7OUH}%)52YuqQ#Gev5XLyHxDy+NT)@oXgm-sOO2@4U6{KS)*ame&Ek}POPw2EqsY}m`NnNL zwPDk@!M(?SS*>37J2|tj_$>6aMrQoM$f;T;8Opk>23k+R6^Zw#?OIkcWIC<%Si;V`f zxxcHCU-$ca+ErLtCuBsOe&?^{8*n~fL#I2romMszY;lFl9u?-VY1H+{Y|m~D z3*GZq# z(%^X&_piO<>H6*M0H?5kMZu3|1Yf=TWv&qu9ZI_dgt)IQ-fBULEcF@|{HWH@CzHJ% zP4){tJT2WfBNnIqmc`cV{u6)8lk%G$?R9Ul>0)8`CQsG4HF3|n^-;bDcXCd8s1TjI zXZ2jUZt<{8jp4Ij#ypuyPvA+oc;+}_aIxU-R@!A-S34w1KU+_sur@;ZObiC z&WX~=Gg*=hIGdy)%{mcy#%u4fezofO*ahFK6@0k#m-cB!|Ma_k)>J?B_ zw|IK3QD~*H)6V?UcGK+fiAU86cpBnm@w>fq|B#s#bI-3=DeK&F#~jABEmOSP#9SXg zdN$j2LE==6s-*1c`l;(PuZP3DuGDfVb}%5@gWvtSr(5EG=TrX`%T~FBZF4ytT%ugH zi~av;mHpJnApd(c{8#mTu+sO8%cA|6&XsVwTjEKNuUmKXy)$wCz4D=1f*)?5Ic{!1 zP=!6S8daHcUu|zKf=krMc=!4_m;1jpS~B2vMz7`m`JSa{acfYEUvpf_J$hi7EiJ25 zb*pZlX~vL&)jqD%_uz!b+s~(R?_J6Av}&6Hw;i+9@p^pdN!ZwGjuY)yu=sC|vH$$y zZ~Y3~*_y0Cuh3`rT`a4Qebl~R$!hiuM$fKN>~W@5seG>O@7gBdmZe?A_Ydc8mGu1b z0%fc3`Q$?P?G-akpXvRyT=@iPCoiaRplZ7uS&JQ;GWq7&?;345`O(jPPxkq$+=Z5b zA^k3Y9{OYDzFh(mjT$_(@kvTgd5J8K_q3{+d_sp@&`v!wbp=Y(_PbN6arDMzK; zj~;X$)A#V~z6H)M^1HUEp-X5_mo<;Kt7%Zd-6xNaoqdhbKYNv^lBeX3o>!jL37C{B zz~A@%@{@N}{qk6r9|nBArAOahlTNNJ)v8%w){+UgZ>ibO!)3}SuO^nvC3dGyykpMv z(GF>n4e@d5*Xqjbnwk6NoBv6rk@XMxj~MaY{tpkG?da;*((gw8K0nv6ub;fe_>Yne z+&Z?3>x9<(x4Exf;rj4$$9fGjv}!PF?)-xv);PalNP=JY2OOW;w9?Z1d$ymR*m7Lb zTpwSVHTqPs3TFaJ%)C9yZ%ym0bKG)%Q*Cy?;Cg@cm|bA+Y={2I(v6rp{N(39)@ZYC zbV%8Piwe{%`CjwWJ}W;C@SpkqM;C98@d~?kt&xAL)(QR^I$-@x0QOU)cKs$S|^13KOAaJ}%xsRfE}@^kxhX=cAX8HS%a-%62*i#p86Q($GSOf?cV z-{`Y4S%BA!RIMt1m8V{>%AFF`%(tR_Kv=`S@9%SecFFzb{8f!J7yrlY-ikWgs|IaK zb#KnRJRLiHoN#&8Ld&Zs^e)mO;KZPFzWaQ-%`Q+{Wp}aMcL~mtuKbmXsjt=Q-2BkB z2KS0(EEUpuseguElUqM<`*zBp#dCY+|MIt=SGKHowes<89m`~K2n%fD;8OGRF^{I~ zt-qpr%Z#n}xOb}a=Z?1759JKZk#WHb4LGjHFw-9+HPQfzpJI%F56ST$>Q6?C+r#j<(y-= zi+Q%`8c-SI-s6{L=vBSAr|ZL6mq(8F>JU~UNzJZJLT>yz{ij?%4XXL; zjeyOMzDwR}!>}S<0;Y~S=d`qP*=%_Rl&IQf-p|=iY}{Dj^Sd_{brpQ9(Sxj0XMdLZ z_IZ!MaqY5?acb3fYZu=PF7NlKwa8N1>u%}tiI%5qtuVLG7h}hb?bmyL#~;fcoSeAE zmscI^#(!|A@qqV-KU&Xe%~@~cIrFL{7O0=Jd||#lE6^+6#Hu3*^%VW(p|HT z_j8}@H+#j{%OMYc47qZ5RQ)1BzWwqB-`u&#qiSIHJ$G*x3wFPfxBS)I-8Q=PNp`vH z&}*5l`}JS&RjPKme7wq}XzJy0qwj#P*7iR7^yIRqO^c@8|Ci;e@3RgeONLFq`%mtY zf1fNn@5eR4PEQXx-CvpP$9adRdo=Dg<55rh_TN9)Qe$w!A47jRm%!a=rQOZjX(lf1 z(P`Vz;lT$d{M2J?w$qzV_quVa+}#0xHxF`qnlLb3;=P@d4tYA&_tDg#5a)GIFS$Q! z8?tagp(&Qn`i?30>4y``J!vuL_PC;b_O9DF@$d3^(*NCO&ZN3id%btjBbUF|Z?it> z_NZ;}@F9VHM%?L3^X+{srBf_?FVhDezilk|N45!}Gm7QOm#x&LLVr*9XtcNFuGPgH z$2cDwJ}9uB{Y|HPvr^yi^bE<-;mWKsn|kN{`1ZJ7YjkIuf-Kj_?(xiVj~d^eK@n zz<<%N4`%P(@NHn7xy9~pzt^jJs|>sHx9XCjMc0q>`gLzMVnWTr`-+U1TIkA%`^W9Q z3nb2;GiCOE8OASfe0tI+=MQd8IAOrhT0=u-jAYUcIp<$1*GJ9kR4LbEN$Iq!SN-Yo zbNka%AKy9qslOJ;buQ@Ld(bF7gu#n`fJ+8jUFZ1 z<=D-!*@l+S9EU&2pS@DT;PRJGZMc=HT|ysA$rQJ5Tz>Z5;nbs*S9ddtN%J1H< z6I(Z{(V$DVnJf3zZ&_r!W6>p{F1xli{<&tevLDuKapzNqB(;Al=05X8icza>eqOUz zmqAxIUMMtVOV6pbwq>oi;k{`;G%uXL{`fYBFa46@RM)>UJv&sT@fRspj;x=%Qo_Wa z7A)-fRB^!b?Yk5?@YBi%twLQq{eC>S=)*?U3r+7*=7VC>-9GgmnE71e7N@?LIq!0r zOifDd@yT=VgA0z8`kpN7P^-~M{}K0=<{7qPesJPBj)x}t)ZTD!uS1qZ7wfwIw*1K4d3gO?5lal8#Wy` zdEJ8QHLh2i-6nI%@fm6sJ5 z5jjWf`mzKts66G*gTX%OPwfevVBh{!NcYJb?v2jiny|s}Q%kEg%YATbR@auL z?v4BM=(sA?%J`JqVApX=^Ufpo4bOjT*?jvYMLGq{a(h@h%ena{Yko1Y^N8C?FXit3 z?Ps1#9lOrXa%RCAr!`BCOfQq^icjf{ZcgvHjj!1+Z^FArbJq`a+ghODN7H*GnfA-Z zDNpJLE%B&5KHr{Y2YwC++tai{&{^{+(XMdhEXlmm!wTq?Nzwlx0(IXO9>N~DS z)(&Ae2D?sbHE%3H@6Canlo+D4lb-x7b*QOe#_O-=Bv;XY7Yw+m1 zyLvA3Jaeev)@Jo@Kb#zVsnnW<6^f4dVBq0mC1yg0Mzu|x zX6KedUuNy}-L27C`_ydk^EU;W_ukt!N8stw_p7#C;V{ypRH6pIWJ!BzrPGs@PZAF= zTY5+SN+}+F5md2wx4;sIHtsu9BE^Crs9KyydNwc@d*~?GPxs9#g zG}G*jE-7+%-g=<*^bCo2_IKOWZuP3uBZtkrb-rxXHYf9k4n6djTgs|S{cmQ^xN~G^ zmlWOBRP^f*d~08~bxQ;4zMrLbx&Z&22W4xOu5_O4I!`_i=6u2l-C-tuAUmEMmE^_x2Pw@jC+wM^D>(y+{nFILT5 zrH<>hz=R)dpZEQPSr^;YY9H3=bcfU5)v?Rae%0k}OU_I>v*8=hlI2ECEj4g~dmZoM z1MGLK80Xl((cp&@r}%xcGV#>H)%%5xyy_l`a5J#X^8;_3VS zm3Vgg?@~5(NLuAY!_WN+H~Dt#VYjD#wSI5tQh0Q+arw9Z;@lux+mw4+I;`EYHfioB zLH#`T?e_d+UB24qb6@?gX7wf|&s6!o>1QAGxqSLu)r@}U<~W26Uj0k@3n@RWQSQL^ z6~FA#a8SVkGwmC#IJzi+9*zif`KC65B$oWZIr}s`-DN8{1 z(Vb5$TGs0C0>2F{95{E`#_9=tvXsn}>+qcllO1zpPV88IbAp!nEu)XmJ?@k@B-i6Z zH>VBD_u~qOR()%BTC(j#KDU{*j&Ci~pkbd;KbI>yb#;7cPHFMeEAN-bXbm)_6Ud7zq zKliCV9joKeSAp{G0RYuK6l&%zW(6mUFj0Y}#z=h;}JQj%XTKXH21*C(<0A@^FD; z+h=v{?S2ROH75{d(G7qgccT%hNr>+`8g@_x8!Rwz;0< z==lbJbU40!?Ui3g_MM$C`M#b%TkZ_#lQr0->V}CE z*XJoOUwW9Q$GI#tzVx7k`&!!nWA{(%+}Da!AL^Ff{mP%2l3qBx<;H~LS?gBm@k<5s2YlX7&^L|vUT?dq5NpE(`fEoFxP-eu&`#@ogn9^bmf$(e)trmB=6)fa_N z`~4NVugOi%l$8c9KR2=4y-Y`oy6##$t43hCBUjeBRQPn6M}_<4j_oQj@$$N&qpElp z-~ZKL^IQ^@?_JYp>X3YUYqf41Fn!vr19<~C7wH#J!C_)((>bf#4r#T_tLE9$2LgLI zPVT(H{i7}Cv+VIGoAmaFXA4by`ebDi%Y|&AYoA>?**~yw((~;%hGfp-In!rP|H1>t zb)A=>eCjr1JR5opA2@dTqIL)GE!{Zgsoj`Li;_({c6993N&PZb4=7n+*s!dL@`T*4 z9ej7<{Bm_=l_cR4kZ(q2p&WiINRXb52*zePzUWKx)bocLmtFT|O zHnXzsE+2Nc+3~Rt^S2nh@qU`SE+K9Qrg*F@U#Liv7C%q&UfAN>snx3n{o|XX==q$% zyVL9{TeV1=1Dz6lkhD^tWt9sS>Rj%+V|n|$Er0BIH%X~SdwN_L-_gCyyxEs-b{@NP z>b5$K#!dI|E&1c&MQP@L+}ty7wtB~pH|=}#dgrZf1wY;Bxus0T9qSwx)-88=Y?*_1 zZ_X*~Uh40$fnz=YDqCQO$M!0Be%yGhe38F0o$R$UApQ8%7w4TnG-v*fW=TTE*6EXa z*Q(Q@OZ;j~9a`V#=H$TXyW9O(pi!R_hZ6->+|_LT!O6WszS;L|b@8v47Vz3tDKJsD zO07~JS?P8x(=N~4Ul%VwDyT)Bg_AD-*0ECUCH^hyUte~)`{5_Krwwkpe&n=8PcJr^ zlJ@$2hko}xX6DY`tNhsaOO?-;z@hxn5}y?5<$Afv(&T;ixj4I5PySb?Z;HD2PcS}t zvZ0Ox9b5Yi&K!a$riJ6hpzF=;OPBX^A2+YpwN&>PPg&T|t>f7OJI9Wgwj%6g>575P z23M)PZk%1eH7oYFx;Cl5%hBS_`*LS46WHR}v%ww{9d2H3az0nLT5g}M&+auKD+t7?Hj$1l*n|tx}!44Tb?|+;p=g}D%DxdlK z$4Vb{KK_Z%ilC&q=5#AFZ^h<-MA;v1Zjp0)24Bn5CGP#N2bC`~vTM4h>vp%ywleYd z37I?gy^%Lv!)=fKT#rxCy zcmwOFQw-qkv9dR(LErXH=feOmqJ9?2TMx8jG+h4-Z2IeYu? z>kiA$d{_BS%Og2Q{xGH9{`PL4?JC=6{{Qjx)&Whv-}^Wqpwi9g?i}6ST}nue(IKV4 zM%M`G95tjtkw$6Bfq;w>L=mJxkWQ)Jc)fq0@Be$A``LZ&J?EV3T-UY1Q~5Qy%4wN- z3qZ~!VeJ6t*GoXa6BEQJ3g{$L+0?ZmIjk>6B$;BzXuMQrP15W!miQuO$f!OBln}n( zxp`+tn7A=4S%UwwL6=}dE+O7kPX$L2Z$~|T8aeS(iWH=$t7ZJd3w%*OUr{E!Ie4Rn z`XRPx{6&R5%gS_>4^};d|4lDk98fVxszH#g*P+Y1{47Im=hv++pI|c3#cZ6$6w-cdrpN#|e7O$C!<098KnPXDCF|cMK`gJnKRB=4~ zXaineA<4=D&zrOmu3MOGpwF#b417d;VkIYrfDUNoNQ|A(t`%V?pQLxWVi4e*UV<&E z8qqf&tdHIYGj#Y6cJ><~>44^qqPeFOl|KPLgn=9#sRQ;7Flh>d){EwxW_Mu@mWo0* z1*<#XHk-7wtID^erTp)Q*3`r`PU!%8fMqL@MQ!6_BQm!rqTY^}o{E-d7&FlR^JUW>@v( z+*I!qz6ghO?8BJyn^ZizxQ0FtE$lsTQ-S+{I6FB5`NNZB`Y^|W>%%uKO?yt~|Mw*t zlbeSn9C@dHgrT5w&CloCCte#sVC|M^$uutxbk|+d2G`*q`siaqzftIVP- zU|~_lI6j*Fa&23kX(O=pV46FD|Ml8I9&2(!3Ul?>cj)9E5L=QoAN95KZ6_LaTk3-q z2JJ99WkQ0JRcUhiNbwc@4=bk}YUl`7p;LkVk5ja_^Q$)}^-*EQ@DrW_WjSOnz%IsU> zz4_Z6$W>^Ia1&~_;d|uve6& zJx;D%p4ulMy;X(a}KI*=y882cqAvYI>xIo{AY>rw_AGeo3zp z-XgViuM>FNcbsOH)&P&GEaqD3J_tRqecFcqYf#3aVmQOc9mlSB{RRi=TOWSAOU!a7 zM1V|s^h@qxsb1Bohq?DMMo9n7c>a2%C1VNU!V+ki!d*FhdU;Ar0KH@c9Gs{Nn;FqO z8@GaXGA9=&$|LR>Rr9i8O1z!OL_R;}B;1HgLzMA;x4DQV_fFRQM)!{suX=x>Ez>Mv z?zOk`3gQux;wNqc&xEAR6VGa{H?Mc{9M%_Ypno_kq4=IU%*Zqw|p?T)O^Yr1a& zF;8E{i124|Zo0YG_m!sQbC=@oGeR7ZQ`;K87a%>Eej%*)9J(6l!w-)?!OR zGKX!}?T{4)BQDqu)=bn#QmZ0rSwm1HEK|blw<5QSYyme5_0sk z{6K{^rbY@7QLai;&5}k9$uPePNLe5HB*h8|Ou7$;{FO6P(Cp!JV?Cfk8b^;6pon^5 z784K^8JDbVmkG#aV@Iu}I4$m#3+?OaazUw%t>u?~+Klf!2Bra{fdVaiybZ5+ z+h*U50KP>L(cO01hMR=E2Ol_gWV`SWXF8+pfl6g$8DB)1LvfFr?9H$pnl5Po?qn`;{~eN`jN6}3B61m2&XUusR<<0ect-T&Z$VFtyou$Wnv ztnjQ{)td2N&OhKkiS6?%5_y#pb3q`DYF+EtYCnIubM3tTQ@Ffq6CRR#RsV}_-~t?Q zHgNy^?g|$*%jVp>I~`HdA;F(q62es?vb}KT+;RjZW@S+H+b_Q9T078p)U3pV-VlqQQUno3|{H%=x$W2-L_h>kL~35_i!=^EP&(`*I+7^N0V1 z^>Fyo>*>)@NS1l`;v>exh`Y`YB;{COc#W+t8&54FKegMt#i#n4UnR4^^7|v!X9(SlNj{`p^(2;m)2}sqkKDDg|9J)HXy z)>F*#(DY5)jX_F0TBR83ogZ+pLfw-r3ek!69b z_a8Q?l^m+Ghu~r)ucS=3`^C_4^5jZqd`Y)_%Ml;2ELLz-(|CfOR}Q$hWwJWIFVAWu zl(YYR>JBcI&BKz%hZ17$6XC~pZV5%WZg(}qOv}5NI|lfTTO5cq#<{e#o=clq=7kQMKO4&o{bCmg6witnc_;GIk&G@N*3i0E8H60WTbp ziAi601}xTmy}o7ssTo83mRb+pOwpG-B6}aZpvKFg-w{GKPsqbB1F}lxRD=Pu%xZ~% zbrm%htu?<}#dP!gXKfP*5Sz>^0~TPUEVfRW80VFQBcC!W{C%&JrOf|Zu69n9Cr(*7 z?e%SfyV|R*y(57Iuctl&mt=zNYQ8zK(5*85or+;|(u7%L_U7T)VePU-I|wQ`GHo#Q zE2mQUoBhtOEu}TC5V+kPk|1c>Or$%6Gc~14M6`m&HDY)JsBXHA5Pvu)^ZoxWqBLSO zDtCeo^6FR(Uf3~Z0{4KF<)7pYRFy{U4^Q4cmUrdDafF7BMYymLXmWPbV&HXf+)#J9 z;N{&j%~+?Em)Dc>(d?1bjK8RSByP`tr{h`n7_M?r3(_Xo=pfD6)2SEZr0mUt16!8n zh!m16EP@*8n~_C2#&0@PYO%%xtjk0KNy$v2gBm@-kyW20FJ1y7O5Bf9R032HQ3xOU zrS5inpw{a2@0=rDq(6g9jfdvFVsgZBh1^-vncdS$q!XmJjOP`KHfPYNE;Al5yfge# zrc{sAt=CBTpnks6ejo(dJuWBk>)9Jgbr?0hUimYTeu^pO?H!&Yc-4=&(Hqf&J`Te8 z{eVxMXS>wS(c{1@%MX166#mQ#;W$*U^GLaa7mm9ek&}zprl?QtL=~imzi0)MBZ%yi zeDh|tpyBcsk6349AIM&z=l2GW%(8bRETkd8kE-`}QT zRF)I7D~|hL5r3D5Zxt>Tr%x2Zz;wrgbK#>LPNx0xFjMx_{1)J2ryp~2Bf;4oUt*?F zkUG`1U7#1;aM(H?|sme05h|91NyalpQ_0wAF^BtQ#VTK->B~MBDipcz42Z$z5SJ zlcY&7LJDmaE=LW%JK9W(EgRI8G7an>!S}VypX2Zm^1#=Mvw^hRDg|(#8?0P@*A?0& zKlFQrIK%wT3>Rnqa!Hi~^?$oaKsp}hF_?lk(_Qs+jW>tijiH~Til1XWO3f>A?)?s%lyl}ndd~q)AP&n zVm$#0VF=-Bf_i$R!X|nfS#!?1Z=?``u`1+Eq*MZ5;r&VhnajJvIQO3o6fi#pSRSoA>=!%P)b} z3y&^ruYb&+|HD`1+)#EKAp*Tz1LA7OtB5x9TPpTJxIOqTi69eKZS*1a*L5eirt_vN zMX3Y1p!L}5`YxTzu%hU2_M{por1`1bpIqdEtoWSi{{@2#KKo-Is@dHM>~<|V0{9Ra zlN=?OH$spgqH`={8}jeo>DOp-H$rlU$IJxy^1}SsxAhxX9j&Jv+ zM~l1uy?jxZ$*$wNN6zWS40_FPT|F<*^dr{mzf-T`^wFz%BmdN~lwUny7Pv1_E39Ab zJB8uO%$=U3FHW*m93B>KSkWJZ{Oru3MK&Jb;dT%WSDIHcVf~r~O2sp+AH_08fZ8&I zjh|$)5%yr+{_~jHPCwU!}H|+5U&{J!QmH61}Ndp(bhRoCJBVb))Uj>ukXa)u8 z(rinibn5MDw{^ zn1we_WWGK3q|7??%gLmaBEqA=5}Yq1F(Cw^Yi#mFswGH0q@)bMXe-_a;Xw1g0Ci{x zSe-B;FZN-SS$_z_Y&m+)^gJQ{9(hj1+**kMHu|)RU8t9*1I=!Hr3f%Jr!WC8w}Il^ zpav5Pl)Rb9Mo)D}xc0H0LvuSm4(RGHdxtMgvK!v7W*7%BYnNT`TP^uQ4zqkL5BqA5 zFLT19833azKp0c;QAQMx_>3uSyp`28d-n;T)#sSj^XC)c%D$UjcwI=&5@cshhW8{* zu10ha0wu}6H91~z)QqZ}l=t{AI8oB|_MM!Gf;mxh48Pyk2TIOKN{&M(t((8HiBb61 zemPh6r^84bD~qbyfIl5@1oIB;y>Y)%x+}(wfJor@Entk-nEsbEAKvqgDBp9hm;MD| z(A0n;m9!(0^ySu#QkvC0cbC<&v{uql#v)`Vl|giX8GLoX2=wu_p1H_FZ!8eUo<}%| z;aUwz&R-K6bIUY;D~5hT@BbYi4}I)k!$AdpBc8qF#g~J&dM%dN3>a@DMR9)0kpInx zi{`#ad_bcX6@2u6Ji{HJ?2}^`oyn3+>z=_6DtPT<$uyCOsMO?JwKDigq(hpF)=C) zwa9JyvXyz_K%1^4R_aR8s767L6@tMx#y#SKuj7!HM zJ7T2qdNRnuLil+gx{s8I?G@vI?i(@Oq2IcFqe)+Z{!8dpEQ%49HAijjUNe4h-+9`g zwGhh4dd$XrGoy1sE^R7>#?AYnmvr9+k_K``F@7>{c#Au4ph%t!#P$_}n~drhJj_J) z7T4&H4Kujrd!(;2UG6hP&7Uqy2y%hEqLD`NEYCbJ&SM@nD-7eS98WKdl9z2)cIgGO zGRtq=SDYZ;g;q$`@g0#WGg7u9uxLmAV$C;4N-bP-CKO6Yq*0E6fGut1tzd*I1>7dP z6pC#OHHLgH3vSOLhG>O}d-kM%#`Nwh&koVaC3re~IjgV!IOdB80Pc z-3}j-96jS$XBj?8(#WOG&-o#`6u93>O)S2mixLrl%8i$UtwtbS2ZNb8Ez&WEV(Uf& zM@avR6Wf(bE+5Y0kixhwyB{U%u>;!2>^7iK&FS2n-~_IumUW>k=h-Hr>EFkCDw95z z^rvkjm9^!pGo^bRg+Jver6tY!<@hD944Jp~r2{FDlXwYi3?HwwI$BQjYITp7j@lcR z_`;4^2~k>}S{5k&>C(kvqfgtAu1v%D6^b&^U8#R||M&iHO>Cl^!#`f&tjx<1m8VP< zOH^5MIl}d47mx8Pt};(yLHQ>=Mx35rwhZ6g(meL91Ko1bqeO@IUefv1>!GHuS3hv3 zF0m|o&O)w$iXUMtKSPN$pllP`h1o&e$GzlpfjVQdR~^lo%p7SFmo32>BC8{0^A<}< zH{2=sd~7eaB1p5`OlHbHG7QVX3*E%(waN0?cC_2w;^jmgeM8WM;3?6cZISktHNHNx zQug~|WNxmb9%d3!5Kcu}tY*pMFUGog9t~rb7?bdP5ZO6e7NCEivwy9{Y1*ww@a-dr z=i${Z|2~$6!8~BWRkf$&Y~}-^CL`k+{UHx!T@E zR}h?fV`^r+2hb#T3237H3Gjb{$B$nx2t)Ajt@gZ}?`wKoQr+G2F>#n=s5dM=hFltx+(V zU87X;Zt62ywJ|G+=f>~8F_-Q8kRM)?g=N_5`JO@N?j=7CvAYonD>$nFdRwJ5ImX@j z_2sxUn5r<9rpvN2B=tUE{#K9AJ3VK|2ZxU(x{`eOGoc1I^?FMiu~+c>y~@Cx?|?3&f?wp{94qE?!&XrUu;; zv%~y8U`0PMA=6-`Je*{s1O%I&rV(vFZuxDQCYt@5n{xVlo=Wmu&v^(r2s%E|pcWQi z`igW=|Bc~fMzE&Ztrcx&sc-vUCJ2RX!uWp${QI};FAmQXJ1oD)oqPRwNR2F=!C7w)_n~(ia5m?1uxhQ{R@gJ}R=4>L+ z{LMIrcT{1CrxTUyAH6W*b7&bLTnhpXQZ^YNwQIgXV#+^1Tsl_l#HR6SEG(-a*p|78JQ?mKL0 zUbiRXow>VTnmK+m+2Pw|^%;khHgaR<>c zC``>8QPD|!w2Y7kp|1q2*c*XGlyg}%6q3B9qJ?=&59#7cCc$h9ts}S&L&MQY7tE@R zIex7^=%_e60>O|=nXlAB@U0&G7a$xL`ry5(O8gG&bgZP4q^TXO@Bd5}cfOAK0*-CU3df?!Q~&+W0&qT3VHgT&C;)P5I0y3g z4Bo(TU2GyQXNC_DL4vhQwsPzQPopIP#o_yJzEft^ExJC$Kh5)Y#8?j!l$l zb+g^2u1J;@qV+GOKWnG`fLj2CCRna+$)HXI**_1rGgcLE?Xz5sU9dtj!qtH9UFOrk zha}e|r3!SUjus>DW}AbEC0yRh+du3h*q)bQut-ey?s%Z8B=ug-p>^1$hyCR8sGVBV zy4;0&S+o=5WQZDOrWB}z2f}D*p0Ngxe;QBgO)rly=w3u*<#c@sQM$J?nA^cLv};YejnY=o5TSY2R|4uK&`{h;NSnqLMb$~_b$b?UOl>*I8%G| z^yn=2<+M=hF}Yv;cpyTyROH_2<`}Y{J6{qLxDW7Cyr4IgSUYrrwih>LdS4hELko+g zukfGl2LHPFY!de!dYQ}qbb6r!=J5YN6`#?^IjZ1>YV7-c8~6EzzvTA`=g9NI!1#>1 zR-&ucmnsJmYPz*z`E@&1G6YATXQ_jLay21Nht&V-M5Pi5ME+0lMw}{tW-OB) z4UwfA_hprYb4fn%=34ZvmcW`@~eR0V?Qs_&IF%wvMGJa4@*sZ8x zkL~n4dgz6H5cppcNWMeF^P$#8;QDVd7Gqn2;wj!@3a5H=Mwv8Fo$IkAq0A%Y)uc6- z8W=j7{`X0kWY1ADm%Hs)S1w}&C_YwQ46oJ41q&F;*=K*5hWl2{gJ83S5B0w%uuqn3 z_1jfwIfTPNX|VXX?|B`Cx!LhwEA1~Eova7Ww?|tZKrt&EFuk(QYNbbG%39s6VjSY` zwCaK^q7~B}mCIZTp)irCX#nsT4px*i1snp?y-M$oCbL~0fXI({62G2*8zP~)UY7%Z zl|MOq{%ZyKCX&4w-+}QTTDjxKHIshqg^X+@^>>^Q&?};0xvHz6jnH#b$3oYDQoa5hZMp?Qs#gwb}X0-Z~IqHFWeo(-+|N8 z;RTivlIZt53=#7CDenU(l}L~NzV2nnn<33~F!jr`rO-fhU$U&1K)0fgWnWswhv zH-gD9*e`Ikw+Cr@HbrlEF-qct#Lo}|x$%I%{A2cUXN&_pBcJEo|g>eA14W z)R)G1{m3%{PsbW#P)z^h6PRm-1B$DGfE>8K+hDip68}O zVR!E*kI`Kz)emu*WAs5;VWspVeliAhk- z&W}CiaLMT#&GiOYi-7u#Oj5iU7A;0Hl`~b!0O=+nm`ycVI1tV_(1~0Jyj!GT+C7XH$*pb+x6q%m3Wd< zX$DotJu|ukz0K|3bLwvM)Dsx}7}Ljtd$x}Jjl6{hk7vst0LA+g?=0d9vbHT!c+|0g^M25JgV$Vo!*YZ~#R^7MjyL|^$ukCHDTP#Aa_{Zw_y&l8mdzw6D?Jk;oyjR=imuKKM(T*7}I&&!}*m z%I<%wN)wzNQjpxI4|lR=V0d-bsKL~0@gC%ir}C9s>{xTL6fgo0Bw++%`P?BXQ;)-4 z7!AM0M*VnYf6-O4vMxM3z$>@JF_l&D5^UoN)Y4I;3xhh-8;aNq*}H!@RT8rq_B*sh zL7yM^y6EhaWQCcQvlRGY|3OHK71E={+IS|$@=M}7tqJ>{_cSZ6*sBTg7hMZGU-&I<8Jh|~}nJL+H`R&Wr@7cY%KMp*)$)4wjqPda zk{`-{E`T6WZf(|oTV8Rs7(;xM7+pmYaz&RAJx`a0cJ7H(P=?H_&7#$J+a=WY;i$D# zc84MRdG=TnE}v@0sq_c>=Ys-WCJ1l(g>e&2+#?sJz6)hQ9E}JUqwHf%TKfz=!`|ZG zlj`BG#$GHnNxGz{Z)82NU|glpQSc#~YbmRdWYj!b(S)w;F{EDpb5Xq7vpYces|{Z8 zUysS6!cO~v+l`+U50szBQ?UVIoH{=n)XLZquPpE6SDqSfb7a+W{kA>Md5wJ>7Vuc^ ziGZ7Ppu_zB*6lGYLujkVFyz4BOa2i`C!?~Ze673R_~wfcwVQ51Jsno>As;R6d1?uf zK~%v9>A;@-kiD}}svCQrkzW$mvnNa=(yR5w!71D*;Q$({?A=FFr5V2Ek5|7urnaY; zU#!Jp_MZMtl$7z9Fb~OY*7NhkXrBYML^pau54mwN4B6>C_!TePd~-D?4G7az9S8%? zex7-2^5T0&cqihy(6CFfp+fl0Uhsiyd_>Sndw|*km%@sltpY0SxbEs7e%vKq%nq;# zVQKAu4?P?VJTOj$nt7Y8%N?jq3obK}%}<@|nIBw^XeuwlDk8uHYS@oW!zp4~eKa{{ z5=VkV$d5yZi)==+Do!nUB*BEluynKbj`QLYBDI%gf?Tao9sm<0|*sI7NeVE^O8n z9pimJ+CLqt6w5GxC}@}m5Oxk4O+14?CBY_j0^$)XFhZa@oBcTl{pFt6<5Y0sPZ->R z%N!K2X&}D+{BJY^Nd-ojtZkKRi4jge)qC z;1Ty1?g?R{Dux_L3hWVlEDJzwu@-faGi}Its}E9D9L9!5v^KM9;1g+z=S_`w`Q3$x0ZPWaq+H z=uRTh=BDIlh@zhF-=LX-r51139sWgswbk}>J-|hI^ViojcF+li6YIO17tRxvu&q6a z>u%cvvX@%?3!ZlWo3Y?&_q`e0WcG`P6L`imLfpuxz)*J(70fCTXFk8t4o{orU3$Q19MBialifsAEa`? zrw-G9f7=SYw~g@W5!E~z+x_87FEqa~)l9JaJ=Wf~x0g2BB*{EHgpO0_r2Z&7Ww#uh z-y)8|6<<>P(nXfK7?2`ahs*kXK-31Vr+g4+cTlIw?evQU}MBd-y;zKg?yGB||1@}!w= zKYOytBL5B0j2=$jqdFN>d-S=|4_h_f;?FdA5IBY69jo40zp!uo^hu-mwp|BwQiVaM6clmO zG{MJ5%JxsW<>sxf@!+u2Bt)O=AkQ+mx)0wF<$Vc)^>+@fnKJ7u;5hTIQf}v!ZA}LV zeC-+oE=8?v9r2#(b-?&x3doyd1E}TW0XoxnU4qS9tl^KBkqQ>PZT1i{A9W+64B#>C4Wwc9jA z-)SyhB&oH(aDUF~`-Spf&e&?#=+9pJt@Lk~_i9#jgR`zB`-6tjg45cw`-ogl69mgVd#!a2VF{pB=D_9pk{1%w25{lyaU%5b=(ud=r_w2LJz*|M4Dy(L3;_^Ls6pOHFU zKypc!;iJu|Yc|Sw&BCv;y7iL7K{G6>IGVPvpKdLt#}&nDkbq0gh?3vfra6{yecN52 z?%iZY-fiyNo#fA-BDJAj2f>4Ej8j!Lk{SCIxwbzP%T7)6o=Moo9;XSj*hU}GCk+>$ z1OYk%1U(`0VJU@txgljDM+!?(bCSJUroDQ!@04gVd9^S{)AwUe9flo}88~N0q*;?{ zj?Rd7vIq)b9iH~Fx-zu-zL|*YI`IbI_coi-!V;?`L!Y$X-$=FDL=q!DfpmhJP z%AzClGo}RkkVqiKb7a>EyeW8ZqZ&L?ab>_NQ>iMen1dnuJYf#pCGwZV_@gbzqUuiDp7My-gG8Y9F&IfI|BsYWF> z_6oC051hRt{k+zm8|ZDM8?ej+e+m|}9i*j{wIre0B*0N|-{tnLeXcH%s)c#`aZH|s z5;zD$o!>zZdGn*cJ{_Kq?b8n!y{5S22}9!tBOad^!G?Xg?0U7iE*GiBNi_#Pak8hB zhTt+5qbo5A1YNNPR&cDY>I+^Be|{b( zQnID)#pPGsJKRi5yW3U+<+a+Ltt^IbmCLvqzIL>X`lY2H?a9&n$m?FCrDv`f+&?PM zcU~l3(xzeY6X-yYvW69=AbnZV_jZ^4)aUZ=4xJ9_qeutNDq+O!;qi{~BDltu-hX8W zF5&F!G8DLiG>{w5knSBoen)_sldae&Dr6H)C6}UPr<-1tQ5CrtbtUV43g$kTQF^RI z-u<=f);InV74y9|f)Uvh3Byz~3dSHSPPl?AvNPt|CaLr3$1qd{Yn4|q4Wy}~bo`!1 zgCyj=7p~{oBSMXrguH2a#=YR`<4n=t?Ee1L<$cZOhJhqhMiXwC(Az0?$wKi8dfzns zi-U$K-(lwG4539Sy(!w9<(}M^I5#C?gK0CIl z+W+&loyJJB;>I6l{xaLs&E5?BV_pqIlbw5nvmlgE3*~cVs50f7<9HV055O|=Q7%=| zoJd}PbD!AWD9;l@ChiV*H%78A7l4+(fW(&Qc3~@?jhG`HBtJ^hW-BD5sGvdRol%%c0x2o4A*saLD-6SR z#@!~=D*z#^tm4!F?{R11;P1@rVOPfRfaR=<+$*DryFOjp;|zrZ4)SaBjf=T>F>0}= zzmu6}nk=*BMN zAp0tHlZ7qZ6KJL*v(c#6DK~%3=7cI0(vmMBhKt_1!!RlVis(9g4_`H}IO>Mk)IX{a zduJnWsL265SsDkTe#<&dydBFurC0K8m5G*SsUiK-qiKMX6hZEZ@P>98u9odIiPMd@ z>;;hfeAF9Ws&s2L{{$_PeNg3~vn3H>XR*+C?KB>)ZbdNrAQnoV4%U<*OP&?ZGLvQc z_QKxn>YaJ_yNmAXA)z=N?ru?9J5+_049fvODjjKF_Cm!51k4vUWq8CT_*KeWW1w+$ANx4#)c6THNl}Q!GycouW4{9Z}REzg}?{1N6 zBaZyjQaO_^N#c2BO}bm^lFn(W9CdvhNwI`($S0<9XvZyCFC75_TG+ShEP_3#Acx$q zXz=vcX6vnAAtG;)EqC~KNg^T1{34l`rsKr_|GiDqiU)mTos~FB{Fm~n(49#Cmr=5QU)~UFzOh}U&ve_=Ub&Vg0qJx z29ELAlZ`QW>j!Dbd8Rv(B2O!)_s|4oI@JYpWzXQ7HKt{{utR_-f6#O$V%B5l>Rxo2 zp`O@&3E@vPz!-LlY>khjTZSm0@q=K*jygRAhgAV1D=lD)G6hKDWZ$(AM7i0$hsjN_ z!L^GM)1;xCqV?lA*80uB+GIn22hJ;k=`#U-))TLdj>k(0gByF9udy;dmK~6ocf6v~ zbJ7*+rOo7`4u$#ziMviwBJ>3Zt0CrrA9XK(4{3bI^$K9HadZsP4BZZn} z+I5@9i~?+{Xs7;!=AIQrAN$n`YfyJ-WLar5a+?_eJ74kWLb%H$#|I-qn?hJ-{~__a z!x=W5?Y}re2{R;Y)cAgX@#iVlddD)Jv?lkj=KSXGLH|5EI zY$fn%JJm#@9zO-4olcA|1H}7ZE=AQEE*HB13W64_@w|nhReTR(NN{-$&oC3KP8 z9|R4{p5rHLHB-HuFR$GeK?+m+_8Iu1UC#t7Voj2WBMYEs$~K9(A9*@9$u>O-ux{D1 z0EsMrRC=;W{0)tgNVyT*JCLDm9zw52S-0t@b$9wse?Yr~(arp=RCq(hAUXrB->bKm2jmn*}nGIAxlVUj&lHzzjjixh; z%MU(Vxw#@;H-rQY%n3|G;6M2RFQlY#mAE98z!(GX=F_@ay-$&1?- z@7~6J_x5zhK;u|(5i8+lE06PwIVW~muoa1F9H%@_vYNZwVwK`Q=RB>#@V9ef7=C?# zCdS$bDVXw;WeKkZ1KtEbFU*4$sluQf zXz?np{UukXeTEJmz&xKL!7p{F2v3#mWls-P%GXE`hIYxhT=}reTfYUT+@iL?HJN-Y z9A4PBG8sHN+yJ3*Cgc)qaHfr&81@_-q~?m8td}8ghcH;)4`i@V2EK zlfG;!+&y+C*13&N)Qxlo>CZr%7J=GhEi6NzzgH}2JjR`@-;DMr^^Sc{Z+EV$0J6it z_SBssE_t&PqZly^6lB8x-v!5w%&~Xnt0x@jD96E8mJ4BK*qrU10Nf;P^$PZuJ;@Wh z-R(@GrlgNGsuP@*6h-sXN`qk^A75LqzoHY7n;N0HvpBIQNERgbsGOr{q%S|c;Sf!Y zds1>FKVPz#`Plgzhp^B!@vv}{+fQl2&tePi?6!aOQ#d*f|65Kk3XHExNznQge#l+! zPyqa$;%S9f)*#GI=!y;JpyQmhnqS2qa8LH`XW_jk8M5ldA}#|q7h!2QxHD9ufO>xm zhE=1FjOkI`#fD0R063YDOkU^GSzYL&@13d)&RNuJr@VXGwZ~{vDAj>O?{|lyX9UjJ z-(&nOK;oP~1hv#F*1^q&JHt{#Ei9(CoLv$G>2di9O`|W{9AZJJz+V;&u>^KV=AG|5 zpO8}R!}>Itxo)5d;lKs%m@LhHH-cDTvJ4KIU3Q&^T|fzMx*ERZSCFR4b6XMTDK62% z0>AR5BcdEolp(yTk$#*#Fi{`U_qF+i8|g^j}s2{L5X`G&|w>uLyA&kjg9Dm>L7KEf8=(N{8(pGLi zyg~&BZ4BwAv87)ahe4|@@OKqQ_}=U3bWhW`5y)U}9N54ZVc>G03}uR~=S{i>oRr#I zg|0PbM>2HS=o>BCkwww!&E*px3K0XRE*0KMf2pnFdX*D$^8_tIDEU@aa61)a`vGmj zdoGq^-GP%!n4>5Z{9ACo?KjDTa`SWDT>o7u+)Y15J@saoHb_De% zRJ5i}qxQPdy)UC%`seKajdIrYm%IkNvl=LIxHQZ>Y<@;WNss9~)9gF{jqZrhdkOGsrj;#ZEM6`e0s8MC;O}r8ZNPu!duFyd+-w9-B%3zSd};ZV`JSV#5)DS z5_YoBvIU)9|0aDT0Xl1_8(tZnzasLrzQ(l*U0)R4Ww)2eh_=ngE-%r^Gl;Z_RyUPa zH;$rRHA!c{@0M4=`DTJp|>k%}V_1%@< znhn?vuimOlG(ju?y80u{p2$>{_Rs6z=s&QC^7>*lFe${nEE(pFcG%GCKU|)Ra?n?& z3|TIpCd>PvtjVH9_I7<5!(!kq)s|klhs~~)e5PQ6@VknUQ9_+h9Hwvj;48Z5R%Jqr z;Ql39jT$m4subt)I2Rx_m)L@9PnY!!*MG zA#sxfZ$7uay`?%WkFPAS6lk^+#XvT9w%m<1SyF&ow>sGqzh3`32=frY^?3VjUP)xp za#UESy?*yB8cl`COI%^9iyhUXptvcI2YArE{D)y0+v#9{E4(>FDDRHCP^WrEBP3+| z2=^OzK8w^JsqjRA`3A%8!@`-sn_=GL6Plza&Xr087 zjr)V!s`3bQ{k4F$_CmmX)qf`s^HUG(CIc0L`9sW&i!DW4db*aG+3#ogwQtA(xM+E` ze6i|c>Q~;{pMVWd&i(J0^`k#nE5*_8$_WXA`*RBWe@%}^+Ve0qR30o{q0|-<|Da@V z65z5u=uvum2RaT*q5!&A6LRq{KJZ8gR*U_mB`~!+0_P^T4|?||N>=u4)-ua+DqPp% zCkN){%gD}bZwQ4$?iE??J8qUuw^t93Z6oXIT&2@7U{Tk5z~8I>|3N zphAd6`P7o=y0Wz)sSBX4IiBy`*<-0Yc$C9Fowv;0KibsG9ey0E=c-T(7sdXBTyHg2VGmSKZK@U@^=sT*uu8VdP{b6%QBAn z3Jl#X6pBH9`?ML%;I*FNVVYByeujCxD7vf$(t*6UhQB^36)PKHKx^c)jqYaj0q=AM z77|w!i=%uuv|^PBjLfPp$4;uYG~SgObLUlU(xr-FcdZ2Vy8-x98N$Pe6ty^o>M~i_)TdP?sHo=-S%iUSUA-=;o=7>CwtIea=+E-i?x`WHT&19oGdD-XzBDk89 z(1j0nFGt7w0Z+D03hM44u^im(u~4w1{C8ux;u*@ziKzoeuwf2s(jpB&e`eBeF{I&L zvn68Z&0X>d%(<7xXm{{MahV_zQEwgCn;(6O3-zDI&2%`(HQar=EwFZC_wVinn|&9f zQeE>>L|b)0(b=Q9p+JR{`o%(*?x;e4oPeTJGDQ!1_MTwNDy4-~8ipHDLcf57rI?aL zvBJNAy9>AKGa_g~Eo0Ue^y3e!TVnt#-;~wq>Vw7Cve6`UITpE>IN6|mW#e31b2Fih z@(yBLWpX@v5LSk^%RDwyU*>%z#Ke2J2WPqhiisy(ipYcP==%OAv3zAOu6GTFV?4hBKs%5GbMcy zh_LMF_|cTupQ>hDNy4pA~#rV?f zH1IWu^ruM`FIh(`ujwZ;@8|BMVE}-TmqRS7vBy{0vHa&x{Q*p9vXr?q!I?dq zSv84g^YFcO{~$E9z|4q9qf=i-3M~e|7M75yIOY9BuS!eCN03)3Hp^XXlgIrgwFUPr zNCMU&oKQ3B*r9uBlg5ZZL{R4$x6S}w!4Rs84WNQ%9x$!d3wf>!?mL}7DJo^j}7U~=~=*WGO}VWX`mMVY#=iodVJHO%%A7<_(2!Hp<#Or_2)>?JF(+8HOIc)PBfBS zf{gnq2+jTT7qHRg<(FT6qRX7`ntU^5t6|nQ=;Ags934YFIugoW%2<`{KOX_cKVxH_ zZHWSm^3NhAce%@5dh0>@hqK8DNUyKQXC(F1r#|%xOTX6hH|!llomw26Rd@_Cy1~+O(lK)-hlw5I_GMc_Dfi z-vmd*^AJfp$J|f2+7a>lN7Bu?c)}z-Q=9V6cLDKy6fWOnN|Tavj#hsP!*6S7SPnzo zS{#N8=CSz$#0Q_>KL;ePuCC2Aa8J%2{+Ofe30(^(yfp+Its}rz!3sz5-AD27kH3C= z^rg$&k@J&0x#yW{Q*BujK{(IcFRv3{9PyK1M|qV-(q0E^F!+W|;ifSBu7-x)V5nz{ zATGxk5@8rjf;ssH=v6HZ#>CgsWHjKWz(U6TmLW4czLl#aqDoa^}S=b9&?bCh>j-++~3-jVks-jAj( z4Podri2A%Gh2;xz6b!$pp<(wJ>fEsqJ%JuvLy(?5z5pfk)_Qd&!sh)S@{ou048ug2 zpMb`|+5&tPG!$36+SPhxp>eeJ1{e-eq@A?4AcY{TL^)_p0meeiW-%V+nru%I2Cdy+lH}o<*SzNH$xnXr z>_t0j=+bIvI1CJR@>mGNJC=>Wm^PsdOR69}Tz1)Iy|T^JB+EsF0i!geNTj?Ysz3O_ z5AJsr(tzCK9{1>N8Z;yfaLzyf{C?QM@QB!sTwAxm3Pv23?4gk5)eT+TC+ZuLPy{k( zrY|V-S<)N~#oo|xco^#FUQja4ItI$Kspq@Iw(s1O&!Lzb8V(;rojoy}1j8Q}jrkkS zS`78LVM`3f*U)fwVW{6{H8zR#>o62kL&KE|L;XK%uuTIn6hT8n!x#gPoOKvJuc4t~ zDGa=Ia2T@J(9m!w7l({udZsh@+L3nq&X~002ovPDHLk FV1h@XzeNB5 literal 82992 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 literal 103434 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 FV1h@XzeNB5 literal 82992 zcmeHQ349IL{y$eF_MIZuKCkq3LkXg`>Z&c(mZH?!qEc(BmIx```-<+C5T0t)-dbu4 z@lZvY6t%T#t;8OR1i}2j-}z<6aVPh>S*ZVO=5y!HnKNh3`JLbS{(k3oe&@`LQZ5ys zA|e!yWz?NND%D*n)uc(<`Ta_bMqG^=Jg=-~+@aLsi%M0loOWJRsg9Lhswj@U-ZQsS z0X1F7f#-SEe+w(sC&;Dl#Ce27BEAem>25~OmcxM@4%`A9NWAIWEl}xOh=iNY{={3T z@_!L28RdDBxy75?*V-0kZeN(&7{~UGxk(yliGNYmZ;4`^-0&Wg!~g7RHcxyO4$IY5 z<|eoukxiS(g5>O^A-igK>*wRFyTs)1|3&N_m=l`HVg9;QVkUxL^lP6E!`rOtj)H(mOxrv4seJ+-aC;LaN9j8{89IBg} z^J>;(gdPzLoqjYy4*$X49RBMF_Y~HV?^cT)F8I2Kr?#bIJbjoakr;)Yp z54`!D%v^~%{LdWUvVNDYc?AEySnM(uSZ{8UUd95tuJ%1FV`rH)&@Fk%S+2^z$eQ;w z|BvvWoSdA)|Eyy;b2-41+^$_a;lJoxPa0L%;nF+n|8iCIzo*fGo`W+ic8*Z8*W5(D zoGB$nY%NJIvLN=ATop=mTxE_wH}0;32M@mZ;)_L!m#F$k=N$guI6kMF^X%EPYu2n; zqh<{`k3(FyY(V+fpI-H8OaLH^)au+cpn9L!n5S>3nh9Ey3{yrX6c(G&vg0l zmqbQHMC9_zUANl@ttRel`(0=|{WGI26A8Tn_)Uj%r_W*tl`yZMWT4zIL9`DCLZ z{1^K{uqRfB*x?fPWW#&6_9X|g*gfSSSH;>98U(}M%hhvpjs?VulQeSmR>1!wk33So z_T$e_J=kyIpKq_e@X01)>;_}Zk2(DJ1-w~J1291Cw4QPxbn%~`ZZbaJNY2YoupvG} zU2}R5OOGJ<_ny-GRq0c7#eh9%_>@|+}q0! zeH!o1e4GEGdwucw$mm$coANIh%V^)BBU7w*!DrUxNT2!AM=R1JNGZPZF3aiW&!3+w zSFWdejhwpQ7`M$BzuiD9j9!1WA%vbB{%4uf>142B!-i(fnnCk7>oKz12lHPX^;Ns@ zDMMy%nYhdNVk;X0KV2(|ovho{dRXwIr;!**BeuF8qu=W(EIo)=`+@=8ZufMT_jt)o z>ZRu<;hTp4HEY%Y`Oc?SiJax~!P_jU&MH&As zRBDw{OO<*@sX9vCt`ydM4jw#s@#4iWhi)8`z2w}aNs~`M{nSeWT!P7WtMNbD&u?DF z`7cejSgGYo{h-twrFtq=N+}3D7N0}YZr;2ZeWG`6WaHIEixyR_TJ`YZ!(Q^l=-`=W zo)P|w{iCmB@Dvtby;v+_X?RNMOT2h#ga)Hb86z<8Y{`;a^5p}bGbadW2;2)nSgBOB zQlBc-K`Fe123zOOok9G$bLYJ9B)cvR7%%_^kN4cVbm?O2|67IsXo9k3uaqsDQmWJs z0ReNf&O{L1XT$ua&=%bHTu3UNk{CV&E$;#Dk-MV$}-rY+MLx&DE zL6K(vIBgPVj6U57?Gx{_y_;x7Z`Y82bL6WdR<6nzL2Q2AuP7dSPh$Z+A7|Jj{%t`(ATThsbm={X3!@1j3t(gB_^;mu zW9fUPCMp%FR70g|K{Y8=v0_CGT3>zj)wOHaE;YA>3m1CtL!BIsjg4*Cu;GUve(1bp z#~^QEKK@1aZ)yIc2_Oh%%bqMzVq=~>3tcW4NSW@P?N$K)mzh7b1^S4|N`)!aPpJ~x z&(CxqpeKd8z|=Xs8L(y#95{estj$cffbaYl&da~}26Zc4w7Otk{v}3yJ7U{NdKoE; zr$szM665_}BuM7GgoZTDuOr_rY_`I&;>C9sD6q=U?>n;acM$(xUt|6@P^ej5V0k*ZD7Acfp~IMrCX(n%QZ?OB(&E*g}GKNiXu^T^0oYy02cxgO9QxdMWKc zFz{TdQiqBZNi16QNU>sT{r#7@Tq|G ze33+53T|}xa@n$HN|yBHhf(?EQl&!j=7m4myC1_B{=+ndcUo%qcjiB}oFy;U2?Pf2 zyY03Bmn$+d(i8F}-WUEOC6u=CKclPH#8V-jA5X~7XuR|w^6!0aH*;5|w-Ti3Qg;1b z#_I8tN|&zb?+?Xt;>3v@{%5omvc&(}Zi8q{DO$8};li*|yfYtHeZ)V!(}I7&gJ^Z# z{&$AOwh=pDIG~RLoat}17#U-V=T_=|ef*ayWt14xEVUFQ49e?02gvuDp7 z{(Iv;IA6Rtm~XuFQtLbKgtN{U=KIM1-+ue;i8gI?{_A*l+Wc}=kT0?IhaR~P% zXX&%j@DDxHq6N7fJq1Yu$CHpH}m!YZi@F<>U&NSh|x@<|F;CUAwUIb0AtXy>08(t+VFLDORGyib92i|MIUt+bh_X zf2R#ER*mR<=T&`VMc(uf?%Xj-R4!eU=ZnymcG)0d+2g=T%NT^itp?f8d0c-A$%*Ls~&>duavlcDw#OulJPBtKw@CpTD5`8Z>J32qjrTzMj8$ zt3)348HcO*2lKmj4J=Rq6I;`#Pq&$wi9p-7ZS%TZ7%vZWjF-_hfBe~JMU^^a`ZRL* zpT_^8Lx1klC9q(@=FOXDeNhnnKUnUCWstX5sIc$gLAwRvxC8(HS-bWCfFGj_@$8i; zBly?tc~4e^ST*|mm#388;{}0|#%YcFPLKCeuve-Luq8l z&bJxs76AV-Q;ezPJC(vX%f1TbGxp<;q1?VMQp8q1Xa(Qv`#;G4@bE2NyOt|h5N7j* z3m0r&WhDUqS1{M04pFLD#foRnoB`f;?%atv-#hNTw>o-WOY`gc$CvpmL6M9OM3;&! z?F$YijkKV&xaj9=tZ_~MXV(Zqyq$XObcqY8QKNMJ{Mn**>?RZZV@(St>kBCLK$9kG z*Q^;F7FPO>I|8rO{5kwDRjSm#|NU=3)aG8+1Hyk<06amdlF&HCi|6zAe=Jw7-{4=m z7W}sUkx{Uq(fKb{x>!D9Dd~2#Ty@^%jM07XV)=No|0REC4!*~TpH^f|r`C;ztTWs# z2b=$x**{Xa@UG&;=N2lo8eR_cxen(4&H3-fx@2Y4yKVq57 z`Ulay;?EHqUSAg>VO^t&?Iaev(=Vj=4uW1ClX6vJ%ep29+v2QL~dD7uOCjD#I#-yi?2f>N1EuCTU zf9ms7GDdKwbjHZYLVpjB_>sg`5lSS+d9Uv=(#wc^>7Gxq#B^E9MpmbrmGB=;u-qvE z7!g1IxG`*44*%0-UA9Dm|9FB7OMQX^0^CIa%BNmEPWqcGE~FJaS@nWFxhnoo-L{wU zf=GlfeoN^=q(r$_?vfbE-*>b-Qwp7ef9KVkjDNi7X8;61sk!0;()(hlpq@Rs&?q!C zhyU3Ec(+V|f4qQfmQw#x>cKpDF1a~^FgnA!BP_tM_%HU46ElK#T{;A@x~`TO(YKP` znUBQiBT$hVi5Kfgu6nxHmw2)8oplikMJ@zyZtTkTQ{g`z-1|bQyh=TpH}6H=5CZm4Ylhoj30_Qh)_`5P`vih5s@N5FCn@mQkvw zae-Xbt!oJj0_CcngJ4_6zfz+7OIczU>Ei-t&fa76o<;P$o?dF9mzz1R`hJ)2|10x> z)-3@6TS}C`dnXe9Coap+b0U`KOX4 zOXbQ{#O0bQvjgak(F;8IppFVbkuRE7*Z;nxmo##hu7{=9(5)cf#}sRA ziBi*6<~y>A<;ipZ{rBVj8(3q7syT&JP!&Hi_LsZ!nY-nEdjg(tqvaC&Yk;;?f^xDg1+Y$=HkDS;$Ba68I$)HFuR&!u@0lO?f4@@aoc;&I)UG|JdGjizOaDWuKg^jL;lKC{o%+*>I`P#D zt~{a6d6&fKqX4md^pt{RkuN>oQ`i@&(RJ*;!i5hPDT3d70RaFZ3c3-@7ydWGfjnh)xm-60`O=`kKWzSMreL6L z!2d2?IP%5dD=ci=E3XvQ-o+}dAR1V3rR#aYt&9<5-b&Cb{~|kL|9k(}?H?&o>=U_5 zN|$&k%TsQ0RZ@!0?@TE<%jiZ@ZZ26e$lt$Sy?U4~&vvs%7bWr^{%3m%42vQl3(r2w zCvLF%bl||Vefl)1PysgBv}x0XHu?YG=0D^ejy^n!sPpPZgslJuUQ484{I*>;9^T0$o* z1@giFmtG?H!@`dD?K|$_hYJS;;9ZN(lK!{(@2u|)jlqWi%9SfOEq{KaNfU4$u>YiK z(>sb4D_XQ@pFVxkEm}vTSUBGO`GQqRBl=%QulKOXf?lGGCY*Ok&Qgl}d+J&Ad-a)R zDJ9)1-_S^C7`*6z?Y;LN?9v6jExLYiUOL=#%hkD&!~b+yl%dFtsqv4*wy-2z!{eI61&BD)fpq{b<14Jm9l)#$Cvy!~g7Ug3RS6tsp4!#nKRaMzANkSJ%d#!jiMz;u3a_K0M{%jMu&Wl3V6D z@Ymjz!~a`>|I!LF-gF{OkCD-2dOa*71u0AZrQdOm2=u$0VM(v&^Vjk) zE2ZnT$l-rhIGL4u^;QsHiteQmyh)5`azVRDf#`6tPsE!l-XYzRm#`;WNJ^KUMeg7FoJEptc-?zuhIXnlsX@B z`2Sb6o!$zflV!B)3Fn^ToygZ?^cgO_MDO9hiYGU-T%7|s{J)u;*UQpdLBgVu1h?V^ zl7F%Mo&S0o3Cq2n>=|c?dW=rn-yy8mJ%|5)ZHqhG;^xHswY9!=O20YWc9wGMa3F`0 z91i4gARP`|!j!uza`l4yc?_@nUA^vp&dW+QwiCFWo7rgvxSyYr^mYO6=P`0!S^2x4 zr(L$MyPc;MXA|gto>rVqU`Ed^ax4ydJWs2jeci`%t2$N-WcoafLH7M}ZnFb#zT|dm zp4;F^qtE^PDtd+f>^m1YT+J{2a~pg{8hk9UTIb|?V@BHW`X4zLe&aFrwEEnbb7n96 z)9`8X^Hx7MOwzB?e*@16FGI^;&SPu>Zp`^rKui7}&(mbqzV73>-N0!w=zeZj*pgAJ zzV7FZg+4pIb#5^z?Xuy1ZV_xn#@BgR;65Bc4{8~uSaIs=u5>9N}JB=xR(5A=Omz)74 zL%T>;H?s;-B4$Y4=tKtb&w<$zq!xEP=);*p7K*EV@9YuyDe@ z>Pr9%O>a&Wq!j$ak&C8>V8XA9FaqGb{38I#^^Sl2DiT9{qzZVf25%0(L0A&vF`)y7 zgU>uM8uqMOi#UG#9a(=TiR{Z3#*3b0%O z@sI)?)ox)(H@XG^ITGU(8*1$qlkN2X_~VZ+bbST%gKs*cgu}9AML-4q>*Cou~&$P=)^CNW?OipwJXt=o5g>g{DCe=t7Ym?pU>9Ze4m<6p;}>g&1SPp51=7HzaHZZqoss+ z^lr|p5`%_A9U<2^MPs2vY?*6<@4ox4QRj${wvzK>ekAeO(nSRb14)3B7uXAVpba&Z zu%~~(2G*cll|nN?|FL7oo@mwn)A$P$cN*ii8K1_bfyb$NAkMND2qk)I9U%tr20hoU zqjX*(R%i&^l2Q7P965qF)fBp|;=K<)U;D{U?cbO@Y|buW1u&^Y8u?2M0*D8yC7`E~ zFd7K32Yv+G&IEQ0lA$a~hW|{^|H&tx;OW1{jT#2msa3yjP_ZI~1M>3K6Cf2J5oUrv zXlQ{G7>g#5cxWMP5_bEC;6o(>)!sMZIaq;Y(50E6f5nOwWy_X@y1-kTh7B9mu3fuI z6)Peiv@A#k<-h;}HhF-ME*GdHHk58BkbvlOfyefB*e=yq;_O_U#Dl z-n|=z0s|o1xjEw@Ca8j*Qj|F|S?F@jH{bV#H~i?oB}&EMd!~5yFn8{j_uV&S(4f_; zS7(%RNss3l-Ch~drArqS4gA=4f*n9J0T^g>J0{%#R0?vyYa&jTD6uh59#jFJkJ0Iu z@G|qYQK$=EsQ7%YT&txUbdA41UhlIYy;>|bzt4g<|Dc+KlzO6Ex!$k5f{FkPZj5zS>nn59<6nRM zb)g@S&`H86Bm&46T?fUkOM#ve;j8q^J8H_7y;8R9p2CHf`T2oJX%4Un?~KCFZWlBJ zYOz$QDN2PY)viE+mNjbh?$)hGmoA@u_8DsQ^Ups+)$7#0{r1}%H*VBp@U>R34jZ(Y zKpLzD<=7B_wgF%e521$AfFeS`Z9@gob0G)!x9gWJd%kq({Y8uZoG)KY?%b<$=U$R4 z7g|JWgw~NCVo;G)rhp(kTd9fobe&RQYx97B8u#6&Q;WwK-M&}VzI}TX4b=@AfEGwA zm}!F?F>(qNfo#O1UT(Dj{i4;$1-Dw5FDnD6E|)2T-z+ zcwln_2KX=d(c{q^Zu%3}5i$W2Sb>ah7fP2tTdLGK?U#JpZAVL%e5PJKH;H)Yp@+_$ zJEzk>*?ez|C-V$S3Cc$&-cuM2gw5_}uNy$Kf@xA^k@~Cu=BIyNFIEg6-P1`$*h&95 zlYZm_Rtx^^f1pJyVFc{RYz#m}Kslqit_lubl!4b0R;sl8-h2D??dwK7PVq?vH~hTu z-h0Ra^n+ud)823j;=v_|fQ0Q!*%g2&T@`%1RtUd;`~xpKINh~tiw7TsOgZU)>Zzx6 z{G2&|zEg`9px?G>1s)I+fB|6yz;Fa01!y2o;K^J(gb3<_{0HU#`j^qVHD5?Ia%Ati zb(b$+?j#;DBS(&mi;J@_{rvmyeQMT34&Vc5K!#{jP;Qe7`t6M-|+#E#q9bNc$983n&GtX=Iq6<3T3giI?UA%sM>yjm};ALoLxq@@MWd%;sf9a8KVGw|rG#Gox z$L$uJqOXVW+BY8S-~WX=b>M?amu5Zk!Kziqz|v^jcFyY64>fJN7%w(K7ipG@)^sZf zML-vmOqvQU!hVr@3>#RHVqV z0tJM4p&ud)GVBeI7B7lm6{q$kJ0RK{;L-7q^mc-D1JKE+wPY(f96fqeC(=u}VT~H` zARF&@`MsZB7hA{a7&}7moTzI zN(rMD2zw#e?b77QlLr+lbXp8``+baNyCW;)4C37g&~XK*K!xJpPJ`0HPY@%Lh#CoD zUjC5-noJT%TeuPF{S>BkdsF8K=lO5GIu%WsZlPXCLhFFxVjzhLhc-$#6Fm|%gI5xh zQT|KS+CKhxqKzN)efQi0Ho}B}G`S%bN)?Pv7yL*mutx%rBuGX-?v{h|6lH<`5|1!8 z?+kZd4Gj$)R2;<#cPd$b2fTMIB>L?Va(4T^K$OS6m)QxB$+=#2V zgaFd()H=h+6ZG5hnWKM5-@bj6>Y6X#1<()t+;x|HLjm})a|YQ`9S|m5MF4z5yqyLC z5kOQ8VZaHe`c-EbfVWFQhNuf_?Va1stNlVk<|#GO-~W{Y1(MJTfY9^LBOizWXaGwg zlDaJ5)P^w#z$rE)0JV@`+=vZ#0ZX6g*|1rv~dh*GUe zlxWkS!KhKAblct&@rYl%c=4P5{?wd-fg6h#Zy6A<0ER@BD#%SF%dHB+F1JYgRJbY- zLfCC6VJAcF&{%r@!hgJid$Y^+GTw#WzyGC6m%NZ|Us||u;TO^iW4um0~ z+U!H2*=+vUMMJBjEWK#^5&{4WDh}{SB#1TVDc5{~yo~*f(uzyzxe2@7}NpFfPXH>yaVovDF~jLbMP} z3xuJ)0dF)1z+iJ2brhOG4-_d3rehzG!MNj4}ka06vwgZJ1Mn)NjB%Y}jd zpdh>w@RuGvo(m5C<(FS10Wt&`0wG(43aL^N34<6Ah8Rf+XqmJmf;>rpI@;}mOHK`d zrbK+^UV#fSY5A{z?Rxs@kq3)rwv?EvBh%(xeKrJKf1 zj5Gy*Tu4e!rDr`}@`v2% zXY=ReeJRMN?&+!@lGoRlq-V1@s9B7Ge+vC8!H3f*7d?{t<&q_FV{oTC^16 zQ5U^-zLcIVX@nSbsct$1r*1JePC%_*1!p*02=hG?Apo3&*y=RvVVigfNQdR595KF^ zn~f=LO3)CX4Jrs5z;AC7gMVDrabn*nfovox6Ir zR30Apr9A=|g9izC9--ucF&y~t6K=z2Leid1XnggEY|ISJVy(5;F=>IiP*<@ z-;T)5Oy4-YV@z5#a71ot&s3lyI5#Wg>v5k_mC1l~j%GfH_vvWX6Zxcj1cfGF(m9&X zejwgFR=RpL`P~>5WBJx`1kNLHj)PfI9`~iS7Ya5X89_m2dm@8Mye=D`6RCl{Gj}f-4=ANY;OAJaRBqWr|=#IeyDbG^bS-GF|CMG7f#_=?chP59)eAqa6@Sw4E>sDj) z=FJA)r)<#M&7CfL&POrrp+kp8|CMzB4e=Ju99EFt1q&7!6ENRIJNy0j-#4)E#=sH; z1Fiyd$8?%`&M)y{A&!B%uR|VVvckuV-V0g_quk@@VKJ6`174L<2D(wB5Wd)V&pr3x zt@$q*c!9MU$9PYBL3kwbxdQ`z9NVKC=*X2(S~8kG4KqJrO_R}}K?4J?cs57}zUPAP zj67?=I>RR~?uL)9q({2l>%-5GVU3+thZ`yn7G^M{Ft{!VMx-%%^k@S{Bd1!8S6+F= zj3-T4<>b>I85wE(`RAVo z0`L@7tykC(erD`*(%$kv5*Q4WE1NIfE_%%EOJ2Y4BwxWwchUS`L~>OWU?> z@wLiw_O;@0wQ$$z&x`Lm)vQ_5l$rnh=RXENqtc>93j=nknGS;k3rDRpifeD_|M=sN z8le9u*FoSplxr|SyiA-p(ZDJ#d}L(cHP>|fbno8X)JOR0q_J$-G6Q3FQ&$o9-+c3p zf#HgQp^Sm`;lxn3&<_u5ss=PgBoeA**rw?YEmac=XXnjfxd3Vj;!9OuFyG$}M8aqRl$8uEfcrMT=}1v99q* zJ-~T%;*C6FKay4YyZ0NSUYroG#%wkeCtLsf-~VE%#{evs2sbgrF!Ax$TW^`|&M)g<(FT!uUTn`J>q8ExN!zt$_AW$S)%{l4?j^aMa8Sn zwi=4I4F=<;&e3_s@IU|gPqUxJ;#>#Mt+dojToeUc!K|MZuOHc0P@XXqGciQjK%1Mo z^m;gPzYh0@>N#e%nwDUwFSZ!O&e0`Hme{(^Dz`#~3Yf%u0q)$U#*5+b7hw@Fn zTlc1SY>BT*Q-4wivp->dQFey<0o4l!cIrFWz~M4CVP=p%#u8STG}(2u7p6tJz(@2D0}HdA$K)l_-& z<}>NX(>f+!XeUq(*#}V1z$Il=u3XvVYwg;#F*{J!p?`vdgN;p_HkoND_n!9Q!-t!C zXb2v%qa8xqE+h04N6>BjDyIV8)vQ^w)Yvg&P5RmP?016TK4%}r{)T(2R;@6RSHcVv z=d^qD>rC_f^Us_7hd%ih^vulQ?lXSQo;|Bz=bGuM_gSBH>(-g{fBf;s23$GU?9??_ z2yJ4*x<(As4zSL7+_1rXP9_5R`D00~!Yn3NYI8|2R|c!^v128z!a{8|75m^~#Z<`S zkE@VGMhZ+_VqQ0IsO`%Uv=>OEolP48v zbJsi2y=v{+wRSwy!fpsgyPu|hAr{y-v445ynP*J<3=UW>uQYecK_C{{=sRsZ_F2G8 zYjn`c+yevE+1qYY+weK#)&Bl!ajslyk;}!E&1Rjf_E~{*)@LsEkFmdAytwLDt(xl7 zpn(c)*-{Pd-(P+H>8CcmuzeM55&Ilt3i5s??ONI^>{qCRx^?Sjz+Y+VL+TzZuQcVY zW5AMRme~3fVMzI)kW0l&ypn-RyeCaiWXHnP^Ya03aAbE zHs@-5rWGsdRSfF42KB=Swbk0ReKq1*SE-_Ub?au+3p-4KR{I>brb$0%iYS}ZJ-XiJ z*rj2^hS$U~9qkJ}9r=%TG{;!{gp)5jbtlIHtaCEj3M-w}IUJL5#9&V?LR)mdRhk|9z)Une@|Urafcnl-5}C$}ua) z<+P<=!#8oMudVCZab&+vzlBLZXeQk-RusUhhClY0Lf>HX*`gl{d=#Esu;bT4-id!a zvSZ?bb^ymslvnbEriBmkr+4q(_BrWeyR#1?hUdp*7>u+!78MBb+sEhXgX}rw;|({b(DLQdR)f< z#~JLuINsCyHa*SMsZ-7IJ?%2&(VF>ijHahaFATfIY*)%K>3<)zFI=#|Bi$DLUFz3Y zAEAHm^W>9i$o==LgGGv%a?f%}Cv7$EwB1NM?F8DP>9=Il*ehHXJ2q`<_8ouV8}s=1yyz_SFQk9c zq)7(8183$-J$OGp#Z7yYSRqZU4{0WDxl>MPa}q=B*N}&4Te82f(xi7}9vo{>o-F#k z(X3yaHFKtV1G@Dr`+4eI9?@rze)^@DC*@dgbLt@Lyiub@Ca$eCwBc#Xvo7q5=mWLV zdOC89&#@-2)1Ef*4|&w-^cKb#T1{j>fxaCEzm0$TWXW^Ay~%%Klt(?DVfqv}7UYvwQ8wTTQmP@Jyc49=Z#w z5%p_4=U5#1nSCF|qz1+n*QC+YGfaGP%tD>UaR&YD8Rh?B*jEpM=C5H(!2zp4n8H&U ziVuF$SIBmy{Y)8VzeT)KcIm_77@U2ag$<4oIc}s(5=*SVbuGOk^ZM<#-|RFjGo$ol z{HX@qbB`JXJ+wScf5I`Sm@jn@`NIB){wmgiVbVnm(SL@Av`wEh@k9LX-@o7V>9Vh& zUSwU|F~f86fLLT2p0h8cotIJiX>$%hKY(ZT)Z5TOQ=p43!|tH`Su#MrvkzvQlTO;9 z3^R_`SU&MXy+a#}dWd}|XciixtdGI@n)NMTH7?^dZ-?IPHPpeNq`bc5v&UNJ& zi>%ae*chjvcPPJ~qYXYpJ)nb{5Ca_R>TOT|4{`0u|HC;K&Ksr+I4BCULyT(w`*tG+U$E_5U42NhxD^QXTHP@c}y%&|BoL( z-rxg3#1i$XzEg)&2Kdop#&h0_HiVvrwghbk%B>a8aW%>`>Hlo>XoU}t`$Rv}y#snv zXs@Cl#)Or66Lu5EVnvBX`iiON*~aXPXcJMta|}km3T#*tyVNDzvAV&;F~=`2zWAa+ zUn2d$^fwbZlU~2B=}po2ykT zSDJN4ely{tFl`h1NoYq~SYp`nJJZ)fKRz)-eZ+ABX`x-o^z_%!Kg;&y*p9lu%7;hF zLfX7uru@%Kmn=~|Yt~c)UwTP_4|cmjhWmq#^K4u4Teo>=m(pg@a?M!Gx(9UBr!Hb2&o{%o1Qu;|v0$U6x(p*eR!T|$g-o{Q~HJwkp{mvS7> zaTIsjsE{F3pJJS9`uREcW$n~E)MYz&?j-H=^zyPh3^~3F`$3NDsgHI(WNNHc99_Hi6% zS@VxP=gv8L>R##`s}9x?{J04ETigtq^)k}hfj;H))Y+UHrhcOBYwbMe9upH|(2nKX z87#VaL>}}@N9g(9>@f8bXlRm|9klvqkzU>onTf!Tqq$rRN32h3%yTR+s>CCf8x`Sk zpHg{vjBy_Q7$3o9N!K1-JckeVI>*Ll`R1ZCGyMpj%c>^xXhxdLq$EDwbC$!x@N1HG zw9dUBLARM+JDT*yq|u$u(X8jbwEBWSCSR;0_-678d^GuI@fCzMCVl3n6xV50#@+vu;eLlxT z)YV-7#c?a!$>M>p?ZC0ZgeX}X!SNyMM>~dP(Vk`>9Nj_a78RX-l-mrQRypS++v67za`@_;f*9H4ye9x+J&FEFkeJ=ayeI&l%pk0AY4 zU04Te4G`tPiszBn*yehi6((KuBM}$g$|pYIt5n^(c2!Sde8}=S{-OQFF$J+sKMd=~ zHrB`M^zm@q7Zw)g*oi}~aiC7}RzBKVf#2#h=5{bXH_PX|AjdJ>n>A}@`cbTNwz(Cy z^vqH}nS15j@k;D7u)hm`+gtEEd^>x#;ykt|48n(^@H!FmI{Y1G`Ifx%$nvT0+}oJ^ zAn#c>&cktzk@KdUD&Uv3-xj|0Yg~6k{}%mF z>FsIr%qETJLE9zFM-gM;-B)zxQy=f zN0>aK?-FwNYk+ivy2=Z2MYx;;;FZuw;8|p-^RVGc;)q0(+Fm)&U zDz=xm@=4D()2FNT#3%ftOv}8jdQgY64cP`(9C^d>E$t!py;i(_r0%61K%3!u^+b%LUlIAK_l6F2$eu;ZPa8L? zIF!$Mi5ZYnq;Eo8vz>__;*5PFZAym87s?-f`NTN=&FqWFGqwxcgnEPWXW4-6a&MK* zBe0~RFjqUfb7%EE+JbSsk9DLSz@3@&m%PLt;lu7b&rjh|sTe%)6@iEK;68vmVFY)& zX{;SChsLsxfZK+9W9+Jux1H_@>we_dm^<9-zww73Jjx98LInNG zw1+sqMLFR50L~k64HoB&;J56TUfEwvpReH0-^)1*`lUI?%6nKW3`Fz3)YzoXyJHPD!^HT5dzStv8C1LsXB!_%fs zi^muyf;+~I5m+Y>aY38g1X-m1ML~EmBScqFY7{j z7{_@4-f!_R9{tld_3D}TbFPy5hwaC*IVVmZJn!YsxdzT{>i5&H@bSwptHitSR$N!k z@g(cdIpbbIXa;}@_7zajK_oa8ld}kEr+Q>^{nX<%JZ4!Hs!z5p1 z5Vm^+Fu4l6UIm`4f<3zmJe#N2+ba8fC8bUkQEDIeJlZ}2uN&6SweTr~c@OV>uVstJ z3gr*X4>eP$+2apCOKrnFZvYM*2F&QLRN?oUJ^Wy+!I39^uimd*^WtxxKC`Vg-Yn9x zMvb5G2R>qI%-EPG5AI}O|jyK{Qz^d6wAK!oZ z%g6N``1#BufFfN z-?%m*qm9J)s12vbRBBvx{i@-Ydkq~vYf#djpoUl0yi??{DC5GJ#0{sD_O3Fv54rr} z_PoCi_LrMkN{E^?Gcqdp)bLeNCC2@kze)b?YV63e>dVf_ zu97c=rS9Fcr|Nplw0+VodCQs8Ya@-zsVR>|#jo^Rxwp^v4_q8N>`Hu8<1vk{^s9F% zKKT26snIJ}wivy%?#QUbOvx(rGq`BuPD#UQ?9EMVbN(_Eev8o;F1Pg?TXItx&klsB)^Vg^!)ZWh zc9L;q>(?7X!r3(0k<;lJio-KX(AGLMQ~ z8ho%%pV%XfhhM4}eC6V~V}C69K4s;9SB|_ZvD)^>TTD7rVsBKfGP`z+t?li)| zmUZV`3*$~FE<3&Z*zwt}`GZCr2{wiq+dGcfe&@K*sMJROYgel6_Y7XSUH!B7=d3L5 z>Afa>4_Ywjl{dL%DO&ew0AUuwmkM<(P=xvN3L zh84muZSR#!Yp{FzRL64jg!vs3d&I>>=V~4I)Ue?paq(wfF7!t5{f&!^8SmGoZIy5O zRjm}Ycf!^)XBJf5{C;@BOT*h%*%heq{kArKo#Qq{M()fL6FD~e%af?KSZwDIHcXyeFt|{TRp)Qa%Xf{ zh4UAOjfktVuj9!4BZ>^~)L=x2`uOda)4(<{$#37X2X=gxIQjJY9f{G#xPxs{;}d@< zKR$8OnS*=3x!7P%Se_S7pWF4=>XmOkA8L%4{b3ssGYZph!wN-2?|(A!wd0@lhzma& z88vfd?&L>WE{Ym)1mWmHvt0{^8L2p?mbWTUA1@6YpbY?$p^?2Stus@NGcMz+Q8I3td%r$LYHx zi?sYbb@bqs+mei!iF z+312{ty2PKcMq66bn@D7hFsM`^Y`~sYX=Tam>-(-bYkka-%k$mOPKOx(ic7A;v=JH z7VB5t@7p3%2JTtCwEv4y(U-RsjM=>7@&-+&3U%_^SO2wRSB#F4Wd|J%J6J5VZSo!S zA6*?eImnf;;&``xmqsq?R_M*Bc^5D5EZuV3Q`_U*Z+;+jS+A2L2KHU@L{e;{lP`8I z-0AnPBNF4+*GinzsCxW6#}cN^8+9h7*NII%qn}>;>ouf@sMu!X7ku}0MD(%a{)v|l zj(_g^J=G^Ct{>QK?xvLOC1*x1-nf6(_&0Z_#*__<4*G2Rx7~kPws*wYz`S}cA7CI7 z8ud_#xZE$r{rcO)xQ>IjtC_zdyA~v`+J{3n}@t#?U1IP-k#@bRqMjg{(TyBiVF8{(CFMSm9XUasLp%+l3M>5 zzbW$by^R|u?M|uF;e|zYBUaT-ynTK`*FsIU)JW6subz)qPwt&KI@~|@qg{DG_t!s^ zk0dK+=UaFnu~P3<4N~j3-8ydhR}1UtC_EpilKf&O#Oyw{CAQf3Gsy|RM9)m=QT>6G zMhg!N8#O)T{?Kk8zPb15bE%`Zr!>)TJQt*rCzl9qaq_Ww$zP`=^ouRlKD2Yfln!kY zW0&>nUU|oySz-H6U%D`STgu-0Rr>dyIiXl;?(^rjj~^LwP^i)g1m&5#yjHayg&SY2e`b5Xj!l9ZcR8^lm-J8QP<9?oRWmleH!IBV z&vC&G!+r~{w({JtdZA;EZQOS3*ov8r-ruaZ6M))bed4lLlcJBDzZkoJR>#vbzmEzJ zINt5&Wv5cQec1Cgy;@5GRsRa%Czqaup8p~$xN%6)_EC4Q8aUf^s^h2AQv9`Uc>ewb zSHB9AQhIdy6+rl7T(~Q?*kjMl2~FAaSmzUMx9&Ger#`$h&w&Q2*_s;Y_0df8_g_@w zMzsz-GJe{*p@Rqa9BOpz&?6!7$fUC8FJ7!4+eBG3k;0bfWhie*~Dko)Q*wCT% zFP=Zzv2Uq_KVmL$+XIB&v*_3J|?MFqVP zns{l;h-(zi4z=XI_<_kw`&U;xHn%G=BYAJsZ{H-%nlkXTu9kMFdR4|8I~jWL*n+At zsR3uZ7J6fSbhv+Hm%$@OG!9PKQy?Ya)ekg!sn1XN@4GTQIXU#J&c}9##}#~a(yXT& zbUJV$c~7}hr%(4E5W7;v)qbgY<=+nn6?0>4t<)tgI-T=Bbphu3CkJ7h!mJpI&i+{I zuoCs28`~m0N+p+_pV0F6$GY?$JnzR|KU7J1eSX#Z2Su%4dQJ6{3N#7b8#3nDpRpfZ zxHzmqYRM&oBBIZS#@CyD>T)~3{fUQCmY?18LC4*{#jMOXeD9?Ov&)`JSyZISmie~) zqVMfBcUEYH<)wG59$%$IDkm(euJ7=5qq^I3k2|yA(U?{93av`IJRCd-uh`bFbEUi? zxnOY=vTUTc_ZEoRb7^`~^m=IZe7hcq8<_B1O7iyy8swfkF|@+46G0KZ-tKy=<41F@ z;r2GQ`}UzlsgujN{vNJ%)Dc=GPfEq-0zCob@zMSb?ZA6z5kuG#rcU7lI?{m^cOMur8Q zzp~Bn>ojK7-ow$xADRNF)5fpz+~o^OM+M&-k}K8~+-b_uJ9@O(P=4XYT^FtlyRs#? z4x&%D`()pR`#xONY0-|6W2z(|GsY=e(a#7tW8!s#w9oH>kckGbyRR(la zQSq10#r`o4T3EC`R;Up309eaB6!RjqGy zUo5&ff4*LD_oN1?>fIo9a($=YqElwZuSpt}@<`90HoOGa#~@Z^8Zj~^K{wpZa1tw(j)`|zT@tInMZt~EA1 zcl%?Pt7&jtyfjd?uH`pm#loX2UAz0Pdae59-EFIM{_w5f@VifL>-^KyMf0Xj_@*b6 zes>z`RD=mBxr*-iaQs6nSFE__;uRF@H!gM0Yum~jOA`y6I=8e>{N?1<%_G8#Mu%0I zInb!BYq~Sxs?~{7Gfq~EFF$F0bjs0#!&7_3HT-to8$l6EQ|iwyG@?k{sC`LKw(pdp z(+GQV%FL=wVmFL`u1)Hp3xksV=f543cqVD>z;kmFFKt_)hVMNd_V}g?dRM>hg#VPI zdq%E}&IN03NsIW%&w_ggEf^boZ))D{b)M_@%B4mv!mF>_tn1eEjUt|CU1CP}i|0<( z?U7VJByVKdA0xjX_~@RVeekK9_3y0NfB4|mYYmEaemz@l%RO$?nJedxm+LvF*r}Dd zV&7=@Nty733Sk$<9}NAf%J?&t^wyf~dac)_YE5GMk6*ALCF-^C@kDLg!B?_G93~13T}ii$KTA@rtHMNvRdQ2`MYQF`b_ z1rwK}@3xjyg)GVobNk zQez=z>XB7Ab%%qhlJ1uCw-HOt6?Yt2CMmZW2EDK?)^b^Jo4%x^@BHl=MS_BYpNhD+ zA-KiBS_+nu;-179L?*zcr`qAxtQ2pC6Tqlm%6baoC6$$(L-V5&mv34j9;PbknMmWH zNyS)ILOxD%?;&u|pu!XioB?sb zlxYW54K*c0;Yps>U_rS@DN-7x?I2EigY78D9?TN>4dDve!LcMx_>hsuX`!}kugyZP4GSBP3xc(@uMJBNJtXhsQQ*3 zAfWd!(kM{sjW=7lZ??u;y-I*100jc!^hVHuq1Z#vDlb+dgxZq`n*#)79_#!-d4_mG z0G_a6b#Mio9IJ;Slx_j-3=}zjRR(2ANn|oGviSi*0bIOwDjwkmZdoXDD2T-yNC+mp zKCT7XdVhYjMq4jq4^zjrczg#8?*U{jAf&!JHWosVsF@IgQcT3t@6pGvCg4jb2{1$j zBT;k3m3h=4VF3iRVu+N4>g%k7lYrM7C+OORY;q>zk?SuT0>+MIod6_w;G4karGtT) zLr|+e5(sikvXPn$INIanyT%o7Ylz41>;S5Y9MyXVCWD@mhCpf)IHZXX1EL#`LX|qN z0doqRUaa1oBPjA;l9@=fxPe}!0mvFEn#91LRB80&ZB%#$GfKf2Olu1K}hyYu| zI6QLaM@l+y(Uc}7NXaS=LUB~nEDYEjWp=FXNOo#seC-Sc&VrCI6(&&-R3PG_Z7$m8 zqHQkv%|*YtFu%EVKE^@M$2h-j{Z>V^IHIL0$?9{g@LTh5Z~VVS3bc6P!yf)WcR~>V z$nTNG{QHFFp8?QcV9x_g{&|F;KVj2u_Ix=2!^BtpAHHOA>sQ?{Z1u$ef2B?XkNcya z;~VJkZxIp=YVEiBTmHcRS5);S+!y@?U$*~#{Y8Jv?`>bc|G(aU<`4P5=)wRHdl;vfCSU*P}i@{4}%e>Hw_5%dQ>H11lzvD0oZG`3a^_b0GmL zWv*qrPrP?jaAqbkuy7iFTNC6ObrE1>)5yTlj1Z)tX6LvB1f9L`uw*QRLZrbI&`E)x zSjft*^e8l0DI+7F3eP#ql4MX;6EFyNg{hQx8EOg&ik?aeO3F%>?_nQ#1!YxbB_*{O zDkT#V0p|@)U3y4F5E3_0<61V`38BKCPaj|cRN7(cZb%f6-iy}{Bls95h7j8k^QH8_t&9HJxr^YHZwc;uj6$>h5Hw1*of#5sL zfdp~T&&4v`5}`%RtRqVy=nf?V;)3B%ThwG%u5?`~y;4y{{sf#Dbt+btex=Nw^RluJ zXb@Dm$z+ZHD#fje79lqHRpWQHMoeQ>7*tht$JfXwP^jrNE}S8V&Yl~$S}ztt_hd^A zBH~eWhu1;`7<2{MkK{SZu(;xvDexj?t z)mYY3&f7t5rA#qw@(PZVmy?qPl+Z0E1~edE7;al7r(o@|HCh`GQV4tw&Z;?zN+cCJ zF98N^2GW`N;VFJ~7Q*FvHTkCUU*;lex^ zuCaA+u(!9fx7}ZnNdp4MJWm-#J_uR|A(t-~1JkKMBwErF>0&WxX)RG22r~@hA%vPX zWQ;Nu&V-O$zcrRQyEuo%WF`hUC%Zt-Bp0-^V=Ao+uw@F^GAmn=03nz~lf+R=chlNY zFl@j@gb;}B;1`My{Mzs#4IHb|z?l`Ei-?Qza!z-442pDf*yPwip;Gg~j8ke65SyKd z0n$tujYc7nE)@6xIGK47AvDrqot|(Ugj@}SCM0FpJ=TS}X*ZD98T=H&loT*@2DF57 zns*rng4DPnh)oKtV$RW27y`D!Lb)czX0RT^xEA8oMu4LxqN&I<&Wz6d!LaEC(9cAr z7CAe+&yZ3xko-X-+y z1Lp$TN@1qFV??m)t!Gw8FsYFs6!UEfBoT#SoA8J7VHotoa3B(b7~S+Fa3~VQf^6#5 zL!!`?6DWxnlsym{IEo4V&9G;0V!%#Pc5Q~)sBQwlW?VgxR#ObG#T1_>oXsHMFW>OPQt01oiulg?w=JAJ%8 z+}+(`1^|}_AQTmJ5MicIAKt!tIrU-=IL1OK76vELSPBtL-=Y^?^rDMibkU10deKEM zx)_Tt#-fX{=wdAT--<=I%xCx*zs&G`KK6?`7ZiPd<@gf5%%c5~75L&xumB_g{&;=7 z6!>pZ)F1x=``gu2$lqgVzWE9qH1rC6!N8Z7GSlAzhvA2uUqb!snsMmc;4pmlUoc-@ zr2HK?46A<$_uDn^hrfrv@D2EczXylmuSNcM!^7~_uLx}Zcf)^~&ioCt{@=p){B?Ym ze+v%3{44x7lX8EILFM`j!mdC1zIny-7x>C=LjBSBSNN-cbba&cuke2|`)^?U1z!9c zAb)CFg#VK|zPkB`_4A7L&-U~6e0>O+uX^}1*uU;L=Kjj@1Mrmm-@LxIpKoNwzrer# z*YV+0!WXZv{6ouE@PBG(_+se!%WveczeM=ral>cK?O*nOef<^ue^~Ed!Gl!Zzk3z@ zm49gb-+{x{U%?;xxA1??ztfOy{vG_)uZD*(5B?28$k*_Y_us=m{d${*AcjYOixBaR z;UUQQD;xc7fXCk&9t;usZ3448-y9w^ZUfH;zIx4?{T(<2$zS*iMi$ z@$iyc`=U)0Wu-;=c(}QF`GmzJX-RZ-OXmR6RqFc`xDQHz(e*Bx%m|P>#jvD9$bD3h z4DN>FVH9=CGDHG|q?2JthoF^v;11A;>=Z^PLP%yqOge;+|Fj3BaN9sLntBw$!X6JH z(du9zCIkw@#K=I0f<))`z~IRXr4_(nZazMVp)=tjK}ZHYj#!W`WtYOG#+?W;1+pTemawL_MaZxwLI{aE5|Gt~Hw~gk_<%YdU>K+!j9R4- zD8BB>QDsI@8AU$_2yR4WKoFXiVV#G9wk1P!grJa&7VA_9!8k*Lp~y@K3Y-V11;ZeF z>U5GIwEjqafmjNJlqxI%gS=b42k=;uLV{}{5-dUOy42m=+DdLEgYWh$Z-&Uttu5qM z+D}_+Tgxpfl>{@k4}i{AGH4@_83ANlJNaB2O%rDT6^ZF%S-RTVSn!S2($+cdiN|7f za5!C{N*q=PYdG^303yP4iP}6^thNr0_JzfQZ!K*thj{RKi3o-PYB*7bNQRJBYmvZ8 za^Ak~UlHe+UgBV)^o_i<{ ztAWnV^q@8t$=mm2Ckjj`#6eT&QqYSCr6$0LPlkX8I~v>bcntsq#qPJBmXBBUK|m;8 zvs0(l>A}Md@vT;|FlJN@kfkSrJbBAz9sKrw@Bnc=A|661@z91iMU$NRt`2~6#S%c} zn1dojr=Omui%Ni?-ElA-)l(L$mqmo>6HN^a42|vgf`KBnbwI%#UN8LJ{a7$U99T*) zOa)d)2NLz*VIq(bB;e8Da&C@R`vxAGP}An~@^A$Wy1ZHkfry1T_zXzZx)HgKl~ulY z9UTImK*Xa7c--|VA}m0)!{c-vz_3AjI{JEeyn!B0FAj#s>^}qPyHCY}!2t8^(K3k; zBXgl#gW|aiVI-JCL|QMf`IA70yJ6Utm5z>x22ViHbW6fP9YQ>qQPMmnAaUyhD;H5L*8JyF@g=p^t?b zC4eQogJ9sr)C0hh1>VBvI3287_P0njlB2we$xF9*-Al2G(WG)5Z?js{O)41kJh7^th2 zjA&pDsu2iav_^BWFat#kl7-=D26Q44JOBlPqghJedxZdrrm+(MNs`*s(mOQTLvCwn zBZIFiBVeVG!Ga^V_FcPieXxhz^9ES|-KKgXjOlA{Z2_G`GB*vRsj0EP5o~MJzE*Nu zN9!CgAlitGW9bEYj-lCcIyj;xkG4j!ot73(2d}>=AvZB*i<|Wt&GX4aYf0JATy zrlH2d0+gnPrWTshCDUB&@QbNuH^Ah!wzM=8TQM|~Xng>*i0o+ZCc@~!UUFMoA{hcU zfM{(cwlKDXHQqsPZ)pNBwBb;F`2-!3Hj9>~mb$k4F?r{3uZ;wN`U!@?te>S7QhY{5B5L7afXeq7 zm0np^li=W@fCkQzJpmXSMsV}?AVUEVJrH3OsAix55$I6J-C$*-z&6=J0`2o$ZUGN_ z<-NQ^v&r_BE+~d83hb6V7C@35x8}l46 z*F$cm0#dYbPz^5$da+s(+BoCZQ|j7Vj$&~K%Jp@@j*0`Ds(;zxQ7{1RB0x3E^;7w7e zG%(*tH2YCF76{?-84I!ibW0Xe z-5|1UjE{*SM#slML=t$XC!PX-0YIuE|3?0?}0af)yk-#AFF-T$zkr=}m6-_Lm!g-Nd$3JsLPi1iT(_v<$2L%|r z!FGv3Ffw{YxdLm06o57|Xx<2cOhpip^eEkf2NfVF@-rf1I|MOF8gBPj=LRuMnju&p z2th)Kv;Z3TG{oWgDFK^oWgLW7^N27&0%w+?56WmTYeIdvYCuf{&AtG@p?F$lM2aIl z5ke&C0MBh5uUi8l*qA<(fvOWBR>{BsaDI;jc|eSDg7g^(u?qLO7cmx)2r;w!hhd;- zEl?zq$A1<=7y=JX8yZP%AQRhofP!h;-Sv_7v5}5}+g)wI7n0kEWc2(*5XsD+C*<>Q zQX52$pZ{SZlUrKq&o^B8jZwOLS=w6KSR#%UtBoUU>~(I<#Z`Oif(9Zs87EE)F+rdS z;!F^le(Q^fMQQ1*Iq@6cFZfd+%%+O4U59;;wII~f0xoP`9f7G}@gIKMT#Y&d(V^%t zX4D(M_3Qv;F;cJZY2`v_fw*?~<>Ai=JHde{HIFU_LTXG{v;_YOjq+z0i@87#9OY6Jt=(F}uMAa)~xAb3?Y^FSihudxQ882-yTQD5w#S_d@{J zjsUiG2{;|71x)&~lw?UrED01x@h95SLU6|4Izb4;%)TR6lr4h|;wjk7xCdZd1V1Sd zBTGa%L-G=2*e-f-GPy>aZ$^lK6Ae8BsUTsAPCip6gf;;)N}(YjJad7=Kpec`-K?Ai zA=2M{CV-+jND>*M*+~1PHy=icEnKu^OLM2c+e&-;@GD@vU>LA_lWX*GxcT!35yz;F z#U($}qcsr0w#Wp|DWFRir>(X1D2Seb#tH~PQr63$1_s5i$_ADlW5AL59?W@&&(PJJ z51c}}z!t~uDkIGdu8)<@_cBr;1|cb9mpBgrFm17>Ag1S!!(u?#v7-nC+_cav7G`2& z1Ao@S#J;u5fI8roaN zufdNg0eDC)1_sR60=iK3u z1uD0 z!*C3!cL1ePL~sBB#x)!T+`+C_N5R@>qX$`#R>~+a(|95x5y=QnAxI1mb6O6dfD%R; zN-Qik^sc?V^K;x!3lZD8Ufh^Bbztt~?knvrv8{B#?%S@th=tMD+rc&!N9Jg00Wsy} zCt&WW9pIo&8><40B{4@0xA6?$7G!3C*TI3Q(+MtHrKzP2HYV-B?YcNHZL!*nTAGAZ z>Ld6%98AO_aJV=fHjomTq0WB#@Jd5RgK+$}!I(cCgCH)Py^~pjI|i5{LpBqL#9WP; zfH7+&!|*vFA{s)Gz+aVN5N^XTJS+mlVmc47D`|701vVrMkA6UYAT9c~#DWpj1L)Er zdKnnb1rrHQWI%;X_dpba08`0Lnny!Kg7A(R!7Lctq6rRfiUD9HATi;byCKwWn6fk$ zNkTD#@Bo1V3CoX`U|=6W?-Zbir~(NV2E?*U)l3j_3yAp;$^m;I1~d%6Wdm^y;1Zk$ zPzWJVp9|{rp!2koH0_{|O@=TG+sNi0_`4%;q( zlo&V$RskerYZNOmW`zDZ51At%Ur>hz+;M)I8z#cMRbaE8j|SPtVE7TO&{@c;k2XED zVD~gbZ-L zrmvYyj*N_H1uRqp7U*Uv9awG6cx`4)tli1x3x>DXfSe2oY=$H(hqi{6{%X%xz&a{@ z3~;*MN5GDg6CWEB6T!me^h86sC(rL0!Se61BV7Q^-{4Y z9oU7?YZAEjf`hwuX&i{5Q(%EhAXw~8PvY@;cF7Ua?l4tx>8mWpccB!hu_phTF1 z`f+CVdMVLI3#X|~i(kQ(8HYpYV2Rpjtd`N9k$4bX0NbF(!Mv@N`_@~nUuU8rzfw|E zTuhi7&8ui#36f9)&`Ed*Is)H<4#AJ0ED&*@gceiHi>c{uik3fg{9RYSmIK0f(fl*eFXZ4y$OC466$d{^9)`dAUs2GHyndMcuVLUP z$b&f`{D{O~;`|)>pJ(9DM*RbKUkbDE>y{s&_-B-#GD6~?$NHf=;=-l=9ph&w|1-b8 zkGAmlACmVgB;vvef5!L~+NW{zqx8R$#HyuM_{r6z~l> zez=LSa1;EM;{Qk}@WZlx6LG=v|5EXPzyQ7}#g8{GbOjK8oYXfl7fSyZtAD{0@J%6p zrg32g_^Z{wQ2Bqk`WG08{*0!-jk_=d{Pq|>)4Cw~zh3Nc_J@|DVvnqWyob2L1`{FWUe2YX2Ydzl493{x7Y2S*ZQBEI_vJ(ZWLM zf6tf;f%$LKU+DRJA+miB>_X`izh}?|!2GY#Z&`qB-vhc(`4(KpX8sRzGJ)vgDlejehn;m0er`7d_Q#v{PXo+|N38|5B+-a7v`h>f2aQs7~n$e z@1Ixz3!+c> zDd302pZ~ns|FExoNB5754?!*8G5&u5`3dm>=ReKB&!#5+gLMC~`)9OI!~My9knpqg ze~y8lCl566<2LXs$O8rbCUw}{uRKlB)@PDelc~x07O`T68-`5 zG!`J@ckw`+hyBNXfj{;BYPSDqAQJvD!hac<02uibE5!eMwEx1&kKX!tC}~0n8Su}! zAQoRMadB3rB=Bj}5Vv=5c#v<9ia2fD-`*|3`xbD^>$AmkI|PAGj->sd>FH@O5W7d< z*6p-5@F9ZWN7BR7%Ns(^-y^ES<-dCCAv-k^;24nae}YPUn^{R5S2FlM$X~H z#oMn38Tc^U){h){Wg7d8>Dc5<-Ik}!*XYthYiywV=E)_x0ynq!PYe3S$R)UpJVSMO z^_$iele{#@_fEgZaf~R7$d6lhU6?*z|DGuKAh&MNK}#g{)RkhXtHJGfu0+4Oh8C#{ zSza3w60V7;J$=vN-)Jv6lHhT44L>3^S~)0J-hP9~GPRBtfr}GRkQ&oXdDF zL^#Zv4LSwZ}^#Cd_ZJ+Eeker?F+#{jn}uyPrQ~eREzE% zQ0?^%f3D6I!dVhCcIZrW$nCkQVx8Vmw;Jz+Cjm2zT7lTgjx5rU!-$J;|53;ys=p>d z@-6*-2dfpQx854I@qM8v8gualfAsXFJPx;4YvM1zf146GwL`~bNamVxe{9?KZ0)#) z^Zd7iK8ZQ8_|zsDZAz|J4_&*-LGktOJ-M3)f-=csDitoHTbg~yIp`LyG{dP)ypmSr zL*bpO{d0}bO-X% zCzHgJb_K3XC7_VB9+QBK1?Fq(sfdo5Q`-28B_@ zqnQmk!lu(o0vIS)t_@?v<22qEWmzdJ80TxV#B99$7I|lIx=g6ZgYXKjuEYJJ`yLYZ zC6+bTZZ(P6t&60!W`(mi?CG~z2PMucDA zPjc<7Lsnh#|7fzRWo7sY*?RS?CewY}9(0rz_B|URalKsYePiO}oSeqV5WE-T(|1c= z=D&k!_C1k)_`9!x+lK66Kq>TN6?G&vEd3lwB!;PV@M6VByC?4qg zFz__6bQ*vCqAdq0LNW4*9DVI^KQ3)4OCbjt6{)7}u9Izx!V(uZ%8I#Z{;PvH4nMhyz%(X zCcXjN`|{En9bp?e>$*#PXOvNC#LY`p1)HB|X*@m_xvu)^s@k^$O31#H<8NkmPNAg* zrmr7S?@ns)FW4qzdi{*}J8JRytm)|c)6x0SBfjqoNS^(=FEFFeI7i=NH6dHyF8}2x zk3RUMlxq@G^7Q?c)o<3@%$;Y-nSOXzIb3qK!ftnZuH#E;;FwHz3l)pM46B{r)x6p5 z6kcWGX6xFPk(g*vpHnEU%QjrguONJQ;{BLfUVW0i2sN1~JT&X6SP_Ghe6XW7=lUn& zO2OcZn+wmb;ZZ6%d_5yMjaTz2L-TUZ(Wt_hz{mQIS%tfg-{@vZq^LR9F+6|N$P<4w zDMI*?@jjDLue2@tPEoFFD?A#poSW^QPv4$R)c5mCU>q4zXJfQECZhF}u8H#AXmqUm>TE$)5}3Du1v; z>0@2^4M#y|!?$^_gcB7HovxP+oRC+XUKeYuv_CW9oTItEjS@psMrGVexs6wR+nV;&=J>_|cjL{mQyeJ5Q$?3^7kE64N18G<(XV3b#eJ=vbOT)?_C8H? zct(dhAghkt5y~6LNm-?bS~ex_WM*R%2hhO;AO@ z>I#<;La~-bKYzu49d}Jr%OZmNq9x9t@2=CcmnX*U$~GMi$VWJ43(Z~9bAF|~D+W`8 z3KN}}z5h`yWyqE9)t#ZNn3emgmf8w@^1V(rv%Hh3-DYw&-~Sw)hl#%0GIIv48P`4` zy6I@NhHv_dE6kgY<$K2nmL#_5%j1~OU1#+xHeCMcWpBU}{!7opIq2J;J}OQW(NDq~3}c)zmDM-f^O)`2mMu3i z;ukJft&bV>w~`Hx7r<`wz-%q!ujfB6pd+r|Wc100^+F)0+Vo}P!fBT6Ywu*StSE@M zmwi*&u1dr|X_h1vcB4d!!Te2DXYzpqQBUu9&s@*XN)E3#s(qBLrZ*W=j~ZQib)|Ob z+ObPI+XXkA=~=0|H_oukOKFLrWik5*>dcDs zLTjF*g{Lf4Cl}`K({d(%#b3nx1HRtaltpDX)9cQ$l4w5@L~x!hHd zcqy_VD1^KbH>`9igka$&k>kDo%C?TD$Ya4PV+GZX$s!gH23%_~V*FW0s_$$v>RW!X zpV@~%TAz>>mVRA2dxLtyfk{E51h;7I(icNd=qt=GC9fAbczIXJ==8=My|aR1rYy^r zldtb!%Fh_C5yk@Hd0~}oF?Sn+z znO!w)CYh_x>_MYGG5S)ft-VpoqCz_2%ivF(-k+%<*fFx?s8fs@(mWb#M+n5XJ#71uisn8syv-!bhHf{HZECb zDWYt$+$)s(Y0+}m=*^SKY0vGNcqF$NAKu475Omi(&CzLgVOgrmOw*A52gHDblR%+; z?&*G#N_vuu#R?^VMCa`|YQrFN@)@~RKJ0~)iYzm?%B@4{20KnNOtD8OmC(B^Js+18 zw{w>w>s{ft<=kWmJHM_&kL#LWT`G_~5+}du$pvYMt=!Ejo1U{t|^pN}XAwp)9Ut`UxO4qg1X}A>wuqg3`&sew2icTM8VoLy#7U2$tmiZN*YMIDyPgZo z#6MJ(8Mo4jca@W>wlz(NZ9E!r+5NWstciQs3P!nz z+g?>u9OYwaFXL<@!!V~5WHg6ImhG8TSw=CBTp_dUSbpCub@dLuclkH{-=D?vvL)+= ziEVgxXFMpv?8@3c{aKQ#6<<&u&-mjNpDr+?vu>eW?F@Myn@lR4>};BFbc`DLL^_Tl zDoUPedvX%GV!raki5=(TMT?wFC5IE%xY{SIncl{f>`+!JH0)v^62I1wV^W9y*hHlJ z%;szyf4beBc23@yX4Y4B9D8*%^%5K2*jGmF>V9q2R_*$D{pPmN^TF{~gA-EqvdsGR zJ5BFSBsd3k)pcCD&n|Z8vES-e-m<7pC)Cr^d$70JNAd*o9cJ3Lj?LV;Ovb)NdMJss zs5-WCYq2L0`?Fg)9^6?^4AE+ixB75qiBQ$r#)%T|2U9nBdFw-4@86q=A`*SbkMwq= zP7kaUNMVAmB_c1s*!Q?p?_-_!V1KE^27Fh8%U&eQSj5B4N1S7+Pg~;Cv1eRkSDaGs zN68%%4qBQySD*Yo5=xm1P4rG=hF3hX-df!K3a1t1nr5jyGTv+s<#4v=>cV>3M07*xtz6mY9r(=y=xUqxXFqinx|N zPjX2eDCeb^c-QVZN7rPkd1WoSJ8kc+-0j{U*gTOlFD@S+77Dqvo z2B~}7y;dCE^^$aFr0byn4W>678jk0sm#a$^iByu?@7HIT&%r$XLETzu6&zfTi zrimWVug*RfId^B2foh`Pf2Ke}Hz2ZTF+Ny~4;JHt#rR+`K3I$o7UP4(_+T+USj-_nb1 z8{wGyXo_P{Qj8EOAzdK`lf>At6X!&}fB*-(xsVppMV}(Mv_<5%^8|R42t25Uf zx43gc+d|j+-l@3*5-s;V6;b?BirHoK*>{d6g{B|Os;z%gK0Y-pC|yfbzHtUuy+O#` zY18x?s^eUr=J|&&q9Wdii|Ab2FEe{LRANdEar~TZBFWFZ;vs(3%WbahQBj8F&-T7! zKcaSa@{q0j5~JM-e1p4uBFEHgQj|_C*Di^;dzIa z-Kf&!^$sWPDX?I!+*I?b;dD@SUzOJF^;*GW&agA~X^6V>HYW*|sVllS-?c9q}~J{@2W_f*M4sdL_B82Y@5@aAIS8MI!4?{=-f(Y zFS)8i`(b$k&sb5T&MZap%=Cxz52IDC}@$JZaq@N?zvcpIm6wTt>Mzb(4RhFmmHY zf^*n)iNYJBnmmqnN~7WWZzDDcIV*Y=R_QYkjb%loKPb@;O55J*oqgih@vxsENkn!% znt9(jvxG8Vy3J}=g3R@gWHXCr3h!NiIlZQrB*&Fv; z*(dEOT6Q_7S^jpkl>GBIO`W;X1dGV=*Zy}+^W)l0O@>nr;tmMqGH^O<`e>k9OHhfI zGLyb>Ioy8zQkx7(X7oLrc|>WS_Pc7E(0WR#x8DojY`W&H0h5jiuhw5bbyqMe)8rt7 zQ;nEl$fpMSq2-DaVH#Wp>%^3<=zO^5`;qWAHpq^2&&ld_j)zdxBZ;gQ!EFU=3JlC= z`2|IJ&H506wq}K9UR-G=jj!D+4R>GIp`YdyAJeygDUWJoXPG&)6En7jdrc@&!f03N zMXUE~#H>y+;tCGo`wp)PU(s?WDtlAR$|2H(*=Ds2JiTQ6a_7D+=*agCYWbOI>^F`q z9kMo>@*|{Bc0Ln~&ts{JK=Z4#xjkZ>PE%@g-=ihq=a4zg|GHfE{H>IMP1H&?%VOB& ziu#fIln&Om(u}mh4>1Sk?5*7FD>DwXJ&;k7sIMh->Zf{~e2_?;7ITgw9qoI@&afq6 zg|P(jz;dd9z`i%kC$bMes5o2}b3B~myiMKvGfP#)YTloq^Gm8%3o^{j%j}xG`atx} z<#7(lidCx+6o+L#xXn7TdpA|u@~|>rve<9P!EO4oYNLYi2Dj03chhPeq7Gl}wZ+zo zbs5|rc+?p3D0szA_mmL%v#g%0uvecv*1F1T<8LPU)M((@Q>sg6#XvMc?Ag=<&f!|= zzydat_>4JwdS90uf8E%1oY~n!ZG$y;p5NHjgp3%$uqPE)~PY}9C;zv@~PTluG9S=WfPWE?t)x1ro zy4dsf>EOtn!8gLJZ8uaeA4r(isUA^2@?g75zDX$=dt-7Y3j3n8V^Z{zq>K~hfRwOM z#>Ail%O;z%%Ed)1Q*Tut-dAEO9Ot)osCh&@vO*&2L6@z*0=v!+4_6k!eUGZ|!k@H;I8nXA*d1I69oKd?K=~Z^z*{gZ-qmrJ0d&R}6X892P zoh%(Em%X9hyH}ZrFxwz=#Z{sk<6otrv3l!HU&9uyvDT`jdq!cJJ<|Oy*&i}a3#nXs zFtSPfqnjTK1Ijo}s_%w%h{$ybE1chz#v2Lt{ij)S3S%D1M_8VwHl1GoaAUvHn}X+| zJRV+|{ztiuy)z!IaCw1wuWR-w|E~3($kq3UtUq`w#MO5B)QwIaX&WaU@RDGdP4l%K z%Xw2(9vS{fUNw%WbJb&y!^gKRdU+}tEXd7Fr36uN{ujbhhDKM}TRqDTGPLbvIIOW> zc%0c@LNLnTUS)I82i}KUP8*wugb5e+O(1heUY$6Z-D=D{@$`e&vGFT20{SlmN7k3G zsMg!esxi^C=RD)psyzXiHGad#Pqu_zXT2nToSj`U*h9LbehP=$V1^oQ;q6-O;bgbm02iN0Z@PY^SLXIlYYilt9($qld98{w z+k)NGR&836;Cz?;ywxLw$mr^REbHE^jBV3Wmo%)los8RY@Fbi5MiN!DOsn<7$6&A1 zLIvZ!f-bA+4G#z&81Z-)^MdLq#f2?CuW7bE&Gt4=ou6Zz?y&m*L?6`TfDM~DCBjs99#JISZ za~-jD@jTh-T;ZVOKvosDT&|D9P*dIvTyJy2B;l;7^}(OCR0JD*{?ExIHe z(O$R&PqxB-@|~0?zch0w6A8O5#V>Zin&$?7N}F(9ej;X{65pyq+f%!j3@PR1J`f0% z-Jn=|$}xy6J?>7Nr4y4(<4@4#?>SA z4?o|iTh=_2eD`AQ*_2i4w^g3?-@2&1NRy{O;7P^6Gg606%cNnfOiv*)E&NC(c1^x+GIPoy&2||>FQTz$ zEQ{^2P>njQZ}xB;t$SH9CP!uG*@jKeCpAAUb3@PFXf;yqHeYaRTt0r?x~~hL$t`u_FFa#3lfk1~nGx>v@t(PZ;oE- z>ApEM^eAseIPK;^X9LF`+@816F*v~v<;39-gJpNCJ(gbFn8p2`Saf#nTuzrvXtV#V zkpug9%v5Y8QlIGdP*PE-I_*2Xr^>l)M0iQM%3|)TtXoMEw`X2TtSzEOceSk?f4aIf zuTke{C)S~np<1$BvFN;_yiLG;i=v{d0s7{aPvorQ9oW?BxwbSdlNs*c;PpP#ZG(c0 zWW4~>>fK{F)g7au*Q~s+5rlf5UVfAmcA8Z>^+2ahrRJvKR(#C{wMY85Hyz&4D$CU! zILLB~@1iNF||wLJACzOZ_1e5TFTI{p#=f_4l^|emX4y>+mU^8OItp$E5=*5sU}PrYa3;ce4;Y1h(0TXE+N@+N1JXLlud zTdlt6ho;MmNOAPsr`C1Zdvc4uqM)qXQGJ`|wl~(|3h~m}QE&5WGAkRr&!$au46Q;U zXDS<3z*32)&udsKOxMzhwmoh?wEm3UDRH?I%=bE`R;uZE%CEw}$^}PMQkExfx%mvc z$|YiR!bH+GoO$a0o^y|pF=pA+5s7)@3!zY_wO?XCBo z^ro3z-gMqs;;g>Ky5&sNH1?ODFjf522{V`IY-M@vJKII4?&VJMgy`g|$FG<^Fln(j z(w(nD19x-S<%WBeDMF$;PCFfa&0yn>Ys#w>k%f1ndJ z?Cti@dYJ*E;zu*Oi2ifjmj@a-&1D}R=Uv-(+FxaDy4dqoR|b`Wl_$za%r9?8V-Au8 zTnBPON}n@Vb0&6O)F`coWnOHhd+IA7-yW#b*S5j;m{?tc$IP{IimVE7~t!2w%{#8JU@xdlyK5 z`h`?m?Z`MiFQi%=5#e-pssHm{^TeCR<~8y+&+ISoIFzgH&Z?DiV`R)ZE5~WK?(5lS zmknN4NaO|E_49x7Mo=;ZdM~VTFsE;oUM1mu`v{uyVI9`#KeesD^bU?rq?=R@9aT7W1j;8^lDig zT-%RI^Wq-Fgf8O|yo9`;t6cfy&|QWPiZ2C*PPl1$z6jNMp1sr5Ota27@Csx@s(GNC zCI6cEc4%|*Rq929tkKvpCD_UQl(<=QY~aqvgmf-erxk2>hE*cBv&7LKz-7ucxXPBp z1{*FD^0yj^MBe1qJ8`6MxoapcU+%4k-97i6Ta0eXj26{ha3c6Vw#OVllYd3LJK`Ke zRdfnde5MG4A4Y-e=81_-9WN{zlqZl;h;<)ZpY`3dd#ii+%^l$fhtE_Kg_<5E z>^GP>YRoTnBeZ<^k(%cx(1VGMU0FqK5!=FtIGmT=?VVO{?G~Zesw>FI=yhIh*Y#N0 zv4U<;^ugPX@*Kvn0q=gq{=2nxCJyd`Qd;DaPrS!i(S0Yg$(s)?jT_2E>n^?S!mJ!W zmgJ(}6s?_A$cxb(3fykAay(@p(p<@pU9LEe;^0Vs=JJW|)PUW^XZ?;8Yn&d=2#t%2 z?()uJk%$u+H?hmPi7hX4ae*=PgSpInY&=uVjHv>>R}WjLzh*~{GCr8O`)P97)qb8B zYrDW%O^{9I#{c>R^V+<~!wm?)gH~YqAokZ+Q{v+{-9cwPmj0Ng^RCOkHnPx#Y{Gn(kOJmNEHzd4it^GHl~@6SV&R!m+Etx)oKUN3pSL1Cr1>r zyp(U*U-p-|*uRR@>)i&Zv`^pU>j}Q5j(BIy7ZMAEg1t1KT1V*@aCAN9@cNUn4Pw}wQ%p4d{);_`RuQtQ+X0(5 zH!?NWIe6bJmiN8jchPC0+jO!NpFF;P73nO$1AF79dqRk?ScAe&c{%*45Ke0+!rBxu z7CCV;lsPijW1^UFwsC4B|8bE?0Ztuinep`rDf_Bt8O%>t1y3bzl}DU*aMvv~ie1a( z0=Y>X4QJ1E2~LbD3>St)a(_n z$;MUMKF{`4U$5hpn@|hNKCn$j@!Yzoq8%xT&t@rWc3RXQd*sK>(7olY`Wm*AZe5vP zjE3>Yf?m%VA24296nBMrvcAwD&39}N-4V=vjNzpJ(3D>14Ej;{I&#ka4J@a7+z({B znVgHYPVySh*MHt^Y!uH8%b%`y@6B*{v7%+qYE$o(`D`RljER zZ^_G3E^x2y*^`Jy?SrJW$`5=PQ+n4_88jw162R@bcK4E5MEm{x@Km*Fo6FtCgb{O} z`!BXlEIphOy?Ixk==h@#68n^QpAFAtdddQOHgC5GxqOgkV=Q``kY1Xu70a<6)K9{n4+1DjvodKC`gSG(Be>FH&$J>JzE(4K!#+%c^9 zs^z|BnF^wMkKuQ%*HUQ{;X4x zr>x>0k7iz8-j{`o89j?~r%d%O-yO7CpvXlLTb}%}yj@lN@%!5sCp=0HV(lK*IGA-y z1^4IjFPVMSPtiU8f7rXnCBfM+0mE(Ew(V)#wrxz?)3$Bfwr$(CZSS{LdkXunD<|+K zRYB#-okzRl046YHH{JY}aI^8yq9J+rU`c2-9ykOgG-& zTk^^>+1Y7mv|r&yTvWnh$8bFhtTQ;{sFoa{_)U);ZIHz3hh}S#j4T*!fCY4RH&k*K zDIz=8jZe$P^npq{kZ4crjkymPYny3ozftsq3?Z4RXk7thyy@t4Dhp2D@(F19LGGKR za^h}}<%~oA5L@)SP}q%f7-gHuF!>g*T+$(GnT7ca}`661MkG9?0^ z1qpXi8hV%RN$bofMZ3BYLCs@hv8?wzQsdvOEFNivqVlDlxvHF+@WQJ4aR-wd7^Ilk zr+G_LYzs<#hLoB8U8Xdz=(Hwm61UtFmH)}2ZiW56boy%7y`xjjRyMi_(6q{?=SiIr zJnDGVv?NTKl?|41Y|+W%WgSHftV0*{b~=?>piwe+BzpoAqt1%R4fx8DIvU$Y0{&Tl z7vz$_VGDFvs*#hmzd$Xv<0;%y*|k_KJEITBl;c`>viT$&89i~jy!+ouR^6@|%Au_p zncnaLhRN#>?U_YTQ;WEBQTApN-A{tr(HhOIimH77rE=8{Rh*4iyS|IGyeFW21dC#1 zG@O7LO839D8xEQ4Um8nr=De+u)}Bk;O|0O?bJ&U!bF=4cuJ0^uu%dWwOf&jEVxu=g zJ`x`BMRG;R6}`Ik1)57~epqK;LQLvd5CFp8W~cb5dDc)RrxtFqqIYj_AA zqGh27i>wUtCKKkAaZK)hlh8-%lp}9dbVWeT;sNv%R0VTUX+R7o%I-)T96*HG&`(31 zq7IIy#x>7aftRNsvMBZNC*RVxu*@I z=_>25$7OC6DNF+Q-P93oGbymctOTLY&ne{ibayaWy|viJl`hDPe62^Mh$14i>SdXZ zp{54Q5X98nxd5hF(!^UX2r+txy|-#c19wf5dnzviu}nytN?vF{kARvRx&aZw^W_@b z7mhGN9FkP@sXjD#Jhs3INvgxSaqhUWV?Goccs}+3^EU5iN+%!7^@9RhR?%CN`Xtxb zeM+?4gik%-MBJeH)ZA#gfon@yjjZ=uasZYOq~GxssxS_iso_Prg0dpjMJgP57A-p| zqiUe!Ic4)}+EO_Zyf!Q}fI;}K@+}+9WxaZlp66WKkfnz0 z1^VYa9UzsZJPNt2y5tOPt35#L;nHrmx(`P}pN$hyRa~n5NQFADhjKBJ)_VDc#Y%X0 zf}TTH-CunKRZkGL**=X|rasSwRo38@<$NO4HtEzPsYB44j*q=i-=_)-xJKX;kRD+trvdlh2MJNw_f0x1j0q)# zkz3%Ft|5%MT+Sv;MaH01d6pT*Ro1U}a}g|04cgB=>n+VKEvVWnpMnmO0JUXyESbx0 z+!?)lvRdE}tDLI~jJjmTHnP%}FgT4P#o>SQ4s9+SUHBD|yDAnG01gZ!=Pd$sW5CBF zC7ut}^0Qnqs+W0}PeC$T^!}jM9NrK^@q>G9Bq(foBdTT6loI)WLK_bC$|yp>wQXX%J19o>G$X zYxbGt6PorJa0hzTOs9uLCxvdhJB6b!dO@exQv}_%`+!ZzucAUE6oRWIyi(~(dm=#d zgF_!Di3gblpE_4CmtAtHOmr4Pbb!|Y+EZ5R2beHXo&s2b$Bia4fwpW}zKT>*rCG>El5$9MKey`<8wgZ|r96-Hm8FyVFM_2u$z8ScALc#f001TiK{E9c zbz>G%QeFSPsQlfMY9ugWoQ|ggQjirTFT zKpE(V(9Z+Y0}BF&U|yQH zwHldXbfSs2|(!aEjtvf2v25_JxJg&sv zo0`|0Vp+8+Mpep~7YLzYi^b_O5&{?EULzyrQAW;}BqWPauomjbo|Vp%c+Jerg02PG z5J^Kse0?dT57hvp?CNhtlNoV0W|&R1gLA;P;ZxJlbSqo(bd)(P6c+EG;`gg6ztV%T zHpyTKfICIV5^(l~y+#a#hbSy=GZfu=YayA5qR4zsL&I-*dlKi`U^f@2DZvXH``|{@ zYFu^fjX#u-;pnw)vQ?W=&KW0C|M+!M$K6(xwIIHkryL_;HlJ%=>hp#N)L+>VX84>R ztNsPwq2$N}2<%f~xDfM{o5@Y195JD+Z{R*x^K>y^zEq|9Q+Wt`<_sPbB+?I>JQdVp zW!7r2KwVrm4By2YuHF+l!yq@k&KROM9ENu?gDl^0eTjcs=%UV#dGuPPL%(vW{EN8k z6TS_QpQf_j=K=c;mi1Xc*&{f`DB3}49d^a|yyGZ^azP(sarZg7eSG@HOXM3^V19Lt z%NbZcc>UM+170b1`}kw@`cLi$Jiq7m(dip^(04DjcJC3Aw*<4k|4&y8rK5%fzB0tx zApXd60$2pa+CDrJ_;I%iT^unZvOF2_>5wW8O09T7ogSJrql_?^M2AH31pe8)l%knK za77mIG?U1ElYuDbF`bUZuIPmE6KG<6V?$~881@rm%0V^Nf`dRY+F#mr+6o3c*7}4j zOacN9y<_{VNLu7K_Yhhn3ow{;>+gaP|E(bM4#xgZRQ)CGm5Qe@U?Qryi-#hSjaHZB zc^o}Oc)d_2A=7qBDrdBnzHM3+9rqR_AnuphuMPOa!lN72^$o>uhz&61Ejx${a8LdlJqQ zUcqA9zmtAqWNi{>j4VWeQ*2pf5gIzaCWGe~ z_DoMf+66jQFgP@OHl$YT88sRNeccsTFEIajj>Sw}=f|sw)m%uhzn}#}Q=AQI%txyw zR%RQ-GC6eTPdT~}GCTed6Q$pO?U;x)_4@h4)G=qDMRe!bj37rIFXS1dsG{jM0Q1)7 zG9s}i>4OgtMz1uGJR0qWeVm4)F!TfaP3A_=iUrbo`+sTq5ifBV(b~o*Wt;89!)f5&m zN)1n8DJTl~R!a!3Kf<3ghtlcRj1Mc}x_l&xVZs53hfc3em#R1KE^`0wi$F#^;l;44 zNz~BBHpy_b)kU4P?Q6FjLR;qQ(ld?%T8*&@IE0baKXv4j?5VZ^j7+!lDYf>Axz!jo1}+1 z-=0CBdj)Dshnih^uTtfeWCJ2SHs>*9chX5;b1Q)U=cNdGBD$O(lTr5l1HLkLNJZ96 zDzTi5l{tVheo>fk*VxI1Fl)>E)&dRAxbyck=8)vi;W8V}Z|%pK8Lh(y{z$16Ai7+s zcZ!i>jcjQyNE6e0H=j5v1~OykJP_4o2Y^ngjNP2<=_3Q&LYPw)ofYEf@`2O*iM6MD z(WZe^cQG<1ypMgTdp~s5SK)Vc0*4~hYxN6zdPe2ozJqOg0A+5lh{bQNiZUr9L8LhK zudkP0P@skThc^Y~pBYqW;1o$Ot+Q=kRi8R&_RB?*FGRNq=>w7u?4?d!Rua6(ALeVy zo{*T>Ks<%85xjebtGtrCF%MX}ff*UiI6$f$FeJvnbJu6G{|Y+G=G{+nVuelX)EY=_ z_y8`(a!+I~6WqycivNbb*9l^D6(fOf!+BwfsUH`E#RFTlhdYml#K4 zY|)J5;O@0?0dC7xnpU*?>fZVJy~Inb+e2ohe~BL7^F_E=WVg&U#_CBIsje2zgqMsa zyyYb3DWHDqs0%~RrdkDyh~YH3Jq5QXQoH_paVJj#7}X-Mmbov)gDY7D8tLnC_Ss8} z`E>lHt=k?!xEAKvsYKM9fm=m)MfHv9!QXU&9Q0da?L#!)+|A&oXtE!lB*1Ru?M&h^ zBfgrcc+{mzLLNxDskJA4vRC=_A1>EG%btfW<;&dDaYddIz-&S@rq4Ts&y9amhtPgpj0I^tLO zSG-9m!5Xlb@CDYvMFX*^zQhJ={~F{?e-MiVt44WB7eRU^;{94KRRsvC8r*V&DT%uF z{#>L2a8TZSIs;Qrmf-p4gp$2hYaG@q36lh4-264P2Ed|C!n(3NpK%Rx?_Au!#0k+s zAsR282YGyWaKaoy);zRJXk)nurwsBiC@D?^*N84%r^v|~M_Jeuzkh=i)V@RyafGu& zp?{H;4f!j1$^}KtZulc=+RE>rzSXMUQv@#>u-Z`DwmZFB;|SlsU7Mo##)>W#FdL{O zaL-fLl8`{MI5M{|)u3;;Fi0bpHLMKS)u>XgtwwkS`vGuFX=3^mPFZ+5mV^v@U*}1{ z3p(of^6%lC5*+H>H*n;EEKZzbG`^G=U53%$oD3-jn1zcEW#pqG#|{=6$Z@gQeE7o9 z^atK+uUY&Q8|YdJHjt%O|LijgHfIaOUw{c!A}uHaxO^qTthf7Z35)hA z=%|lq$w-oW+ae8d`Wqmf2Lh!oq<)#IbhN!uGw5{GAXB~9XysT7Jssed3I>ZOlNJ`V z3ZQexD2=@hTk<|5>DBk{fY4tP7#qM(L759D;#^-gbO$&zLg$R2W9cG0`s%?pV}9li z9^3Uw1tK7K>Ncs@X9Gzk;qY$D>2asJozTK3jt;_*lii^S#(9BZTn#c#Hg!6d>EE&g#EG7cMN~6MsL>B)5%fH>?1?;Ui zc{9E8d*dDs9F^UauaqMi>f5rqU`<_SM4W_Ah)=YG(_R45hx$j%@)_DhO}OUh(a^VK zkn_xC_3d3R;?FBWi*M1@=z}?u)({PT5d}2MwNcAD0bX}d6%8>F>H9Lip%aNlLJ?b} z<KDOMJ7wU$0(VL0^{D84-{JUz^g%`C-{_XE>ywS z@&a3;%T(W017$OHV}A>f!C>2}!Tu)*8A@IfPl%)W(mTvdef==_lWzEOrhrfoq$hYd%37Kp z57xaL@zGYZ1UODBZgfuCM1LUV@w!)|M0gqBh7r5ICE1WJq;S7xnL5WSTjPayOrJi3 zDnNr^+I!ZdCI7zKs-#v-J9YN@$~p0QTs1JDg9dH?FPl979#*YP<;59hPk-K1v8_U0Q9pSXfoLe%RjIy_s48e2N>VM4JVe&GQe8f=w%$@W*b(XX z$ZXN$R1-d;fA^`|P*TvGv)MM-49rrb7ZioQob@<9V6|q1+YGfB!h)vCLYs%;fVJhy}LPjBD#{{@4PmzJ-|- z7a%o~di#y9{jnMcLNnkuk;3Tr^PakC=ghTvk*LTvmNewLMtS^3ifAKd9t{d{cSm>= zU(q6pp8!u^mSOmp2O8pDLd4a-ojSy98}2_C5e9N$AMd`(hC$4cuvz2E5(*jepz%TM z0ohUInTp>aQ)eO)KPQi`!`uu?5w4eXHE1zzLDY85q`w+}$2hIsVv$az4PxdG8#Q4% zy{gO%#h`U&Ub}&d!agX!)ib=P+y`P8U`806ht-$S3H6sw%QE{ z>XBq7 zE&4*5Kc6oE?xT>MF4d=WfHY>+Pxznl7Q=?ji&htKn%YF0{CjCU8ufzYQxy%AQUNVd zRuwB4@vW~=({+&f0{8o+t!`<7ZFHz{H_1qBM=?dT(^%;l!DoJ2_zuz=iA2cxOe1@4 znF77Geqj92(Gd3*dr!R9>Vgy^d-||wf1XpHH%1Y6-C*O>d<>_ym}0uovt#ijYWF$O zK#`gceYI-oaY=q8PA;M`srPA|TYb}V8$qPMh^C&N5QO-w+S~YGyoMauIKIrZT z`@z1iPb}|ql-Vg)TzC)d zO>zO)i@ZI1bYQza527>h$joVSfh=Wy_HVF91RsxYiCBv(&c0~S~WWg&p<>aO5wdWpTl(%(PK9&&D5e2gZYX3TOZCU-`H@o6HDAa z1OHJGlv{%&%h5s>xxOJRPFFoRCR(jV+tTns&z+*zHwVgvKq(HV8YjH^XQe2BAcq>! zD-?~1AgT%$cw7NuSHCg&)L^no+a8NOo6WD=kCp~z^`47Nwtftf!weg?@>MuDvbf}8 zl1SCDXfsTZnYAly&x?!n`i$7Ns_n8oUIAAbrSs`UB1p)A>o&@t0xZhYZK|w>_%eZhyehV+^4XpctSHA|}BcZ$4*aj&tYUfZO zr)anFccF0n2fPBs<&j=*`v$M}PwzUknTRQR1^rF$V~ilu(sEgQ1^#-uFORrn4mDM) zpj*3+wElAsc1)Iz)BHFbcUBn6;vyfRI}Bf2VFbB^Jz_nd4sv@iA4s);lD|77kMp70 zgN99N8cGTCEk9BTPwq$xR@5TIX@U~nOwAK^R0P0jgn6#2T}xb^;z_Y46pVY$(W&5=R6Z*SN^@-o+{%^5r2f89uIDC_adI(38{LB}S0gD?tle@T5Ciwl6XH zyb>X*9C&klRY91f7fPb7h+s26&ANwr8(8bPXbLc@l4D7a3Fy)nGL1m#$2x)1pY?_a zpH>A<;Zq{28>D`%7{@u9h#E$lHoJbOy%|>^DwSBg8vi26m>pF1)Ua`wo)nQ_iU+#h z>2Wt?WAkfv=RE6;Iy~HmDPFDVSn@}=3KT8jknl$npMj$xTj6F?4}WA`;?k2j@ct~8 zOsj!<{i4rM6wtRmhnvEtqSSdfCM8gn8piZQuITg`5us`KuXAHhE6A&y97{jJwe6cn z%e1BJim{1I4FjJKaASu8K4l!XDh3c0B85Uv1LE za^7^d*p@{yZ^G+Q*jo=yd~fh4XBWr}FAF*21wjb~ zUV3n#v(G{Tiyofy4*k@S*nX~rPWThQqx!Kb3;A_VnV9z{N$>u2{SS}wRRcku0Lm{h z@uC~pj2iPXyNWEnzk^-tI7L7Z+*hC*_2(N5{9h09P*{FuS`Y0%z8p1kLgvx@*cxn6x+v`}fh-xJyk@uGu`6V+!UdMXc=M0z_RbnY>>2m4YbQ-*eot`LEriLZhzl(i%xNOPD&#uKTGP)dHvre?WANWJmI}u-I+T@=64q z0A!6)N_V3?+jM<8K^OjbT45w3l#_I4rVO=uDfkm8>iSJ@hU+%b^@lYcp&dcpzmJBz z7HI(IEtLZgiAwb!kpcPeE5nfx=-VOCYU$H%jAK+&mr`_|&V9KSv{9;2P<3td!b>I^ zdiS)9HNpQGls&OIMIq~oyoB}8WGJ(lg|}MG!CPONn>fZF5I;Ojeh8+T<;Rv%k|)|` zx0ZEh2X17$g`R$biC8&^c68^x?%&3XdMOw2UZ@vQfyK{K%48h#+JqeIEH=ePH}ArOxF?=c7nru$3K-x*rpeA~a3CGHGCqQ;iy zPpplidgRU%;JcAS3ZJm1lF?mQ5XbgpaJEF-KW%Leqq<>QWf!Yg{>#|-DXR{(NBf=N z2D@4fFb5>VdhG$3oOc{hvQ)BOa0!K!TnA#Z`OM-Zey}7ZIHLT5K8pkWGVPO=Pymp< zHJpzkegNcN1w!g!pTZ5Nu0)H3)l6KfS7gZU@95VpU#NNtR&ieEQH^N@^@g6MCMaZ! zGgqiV+9a#a8Am?;&WZNF!xQQti(*_^1^2IYw*9g8P?(3cO@E_9R2gC%^44U8&UHKO zHet)5HDg}mLu;hph7gE|*;30C#}{5+oLAs@aKVWtDM}g-STkM84rRU<=LKyzSkPHp zw}VeTHVP|O!*YKfqx(ebd7#g|UEzQXqc`E!2aGFW20hn{a9R$8lCkvXhX82Bn*kap-ci(eSfl$Ui7_YW0t^H;a~EeR|!tk7k5miTJ1p&6jh zzo?TaC{1rDF&p!?#_ngR#+~S(HrTLe`P`4;uiX)y2%*;Nr7`SqUq9OO@D{{&#s%f_fQ;{A)MxUeVD0$E za|b|~HqN@A8_l?kv`BCj)&3TEqLEh;G1E0z!iR7zfUmioMZp5Is6~CIt9@&rh{7O3 z>sX<5yL)F!PxxIM^L#lCad?Gq1sZ=CBBzMCa9i?ie2w3vYr`Ulfkw9=7+ljN81l~a z_sgjwLNsMN62WjEPamtKGop~yhVsd*OV6}N@+ML!Mb`2wLtsTU!{ZzNKfdFT!&#`}(-$R|oSq_?#DLKwYs;{ds0Oe} zrhZJTUFwVipEd=B*<6R^NpG6Hv=$JHz!t4Lk(rl8&wQl$ds+j{j3)FMgl&6m>BWK>>)M*rhijssthZ8<_a&W>3oUU$?gpvKuD6J9&2+D0 z9}b9t)E8OuE;Wu1P^CC4$uKPNjsZdAM?5KqaH@7T+6v2ckiw~hua{TQ;gm>ct+vre z$JD2Q?jeN(aP!46ajBd3)>hMsDByw=VfE)BSX4^}vJgu=v_h;xidow1`GPI;(UkRI z#)tgpEV+)<70jugnS|CgBD6RuJGPb4&YnhrZCK@TXZF7#6x9lclfh!AgB;v#odS&2 znz_FOfuHg=b9Iv!nd{nX#($`xrW%udk|&22^ZUV}O}ki~@_Sv-{XDQp>XiRJMG=VP ziS>1Qc1Ra=>7TsPA)=1RJFnH?YKUI6ErdmFJG-e8#HYR9<#$c77j-Jw%9^VHq_ug$ zr6Xz4>TzHDd~3wPEzplbaT))UldOTQ`1=Fr6D4kle!tcA5LfjhMp`2I8fab}jA)}f zX$m2R=%Rx$^m4bV-`+<=neJ3pmpFet9cT z&KXPfs0&Sree@%3NL`+OCBzsyYzsLl`y}0W@%r*bCdqeoZcIv*U)K8xwUF*}T}}++ zBPm^O!FY&5O1ziX)8|Q{+Vr3AU)DA$FXfD3!$M{QVloGxrlv%0`u`}!0d zdoeRfCUwqBp)Kq6?SId)T=-CedgF{r~TAP@y2ehnIl=~w?Fl9)XZgA zAPiGxp+OWuneL99{9{bKw36zO62edw$l1vnMVin;I&SCZp+@F#ePKmGGVIxAUxN20 zA&`us!v^Q@&4O!r-^KNO>)?%Kxmo++ia5F=dzV+sBuFX(~u&b48f>K=BJRJDAEXC zx>uCesZXCmn3OymEfDRQg_%RjsZ~@@wUpW8G#(~6C_iSYxop7%6SylMf*R=qS*hpn zw`x9msrknY6Cq%a(NG{eAavSo^w^r1=RLrRmXUlFL-q@)#(^e-%+dv^Ux*LiivBn1^YOlrtL@v&?t&3iJI@y`B;&Y?+ z54bCJ_>s0C;u0Cc?#%yXs05W9&R72f8U_6-^sWE6376SPz>Khsh=A_fNbL$DX$6FdJ4aw8{J+NZzJ3-#Y(R~%i<71CjJQk8dKpho_1+M#9}h5KJ=62 zT)|?%e{BLJ^XevrchJS6`6EN2Svwy)?&~S*;cDA&#VNb2W~jgX#?Pe7v$JSI^iqI+ zf=oL*?wYEJyGkEs;m_gpFYK;UQ;>Q@sQErL&!w+DxE3@Ndy!I`>D_Qg0WIcuUS|wR z5lV2y&*AQqoPt202&dCP2T&E z{p-t$1`2mc66oBZ3}w;6zMzKvt>mv=Amt!b#|=4|$jay)+@bAx^EvtvD;tny_X-d) z^&^ic>fgN;^Ss|)pD}(Tu%93`>&C9)1M?)0+aBftmM26#zneX(BSv)lLs{=~ZE%Pe{}ukY@Z+E}Xoz2|PF3q}#WBO46=@q7o-OKx!BOA5t>i#9!$B;DZ7d)pxkPxJW2}T&R)e zK4u&N^7O`kXFQhhM7ByD`qB1|CfN{|NE{tbX>uY`R;`2#4DSL#h?QEvVXUv8&5lhB zlLP<&AkU}F11K2GnEfj7-F(D$7H?c2aQr22lYCk~P|rzmc+(H6s72drJw{l^i(Akm z<#iB!o{y8kFV60bwPl`BpR~yu6(l_$&Y(9KHINf3OFU&|M*zUGZ_O@lfa^P~Wj7AC z@tD+;p&BXmBoYLqbZcxXgpGx+U11^uZqolw5or}Kxr~heHM9>~ZfAF9lbO-;n$nrui4I1aQmZjRBPL-i)YLZKe~cYe9LVT_zGGC z!#L6)E5@!&;nG(`&R^SzXTfwNdGlM{?qA z_s7k}spQcmX%5N%9y%by`M2!SiOaHjU`jJgAgnA!GMv~Zow~VzG0whj9rSKn*x)i(-%5o@dJuJ zST@5xQ3hYEmVE)8nVr!hP!{(9?lb{SEauDl1(8Td*99#nYh2X7yT5D^(j+A%Vr7+y zvgE_G`fXzRNU*pqN0@6}Y_0pKJ++Pv4{%TP{-NJm{vx)EC~$B^j2^CAFLB8#@La z$J#%oLUrE`03>giods%r19VU+=<&VQwSNU}`+W(-kcz~IKw1;QH#fv`FA9Tva zIfD_wh+hT73Pf>Lph8x68w{PfMupsZ0h>`B+>7sls}xsA-dS@o9WC6o=FUClW;z*D zhoJ5nUJ*Ku;-@_Bq)mW z7_v{mE!UTu8YROWns3v>5_eyuI4Fc4!EMja!FEum3XS36&qov7xWUUV-s}fup7M}j zHWmBfswSI$3yZvi4EeD;VcyAD=)eW4$uGt0zNvgh z@%>n3O10q&ovc)^kmjf60p3BM$n7uje;cUlS=?Kb%~@7M=48ME3Ml>*-qKEoY0I-4 zf+a-OBo`lZdp`^5Ytr`ai1rV3!(5t0z{ziVp?`P=!kj~9-fj-XeFGhj6hAOnM4ZUJ z50WS&`BIgCx*lM!O>H*bzsDWjmc4*5_dcm0IJx|Q#b$R>NO0Bz9p3O*X=)vq9|qP$ zk0Rvhwm9@vI3tMy?sWj)|AHI#g2=gPk~1I*a`WE@il>`%@{@pBw!B28;;1Nz{ElaE z=p-56w+ymfgYzjB6)-q>%#;{0rO&`N7?8(D=K=Wd;yGhm5u_WCtCN+`wa=IJ=)SkZ zOqmul5shn;Pjw9IV8-@|B`#*%D+1Wad9eEx#1Y9*U2lD94UiD6fEv$v&zmxI$i*@oJ{g9e9SkK}I z*K>0M7+?SS)y${r5^H6-Ch+&pc(A{Df7RAo8c;?KX)rZ+dqMsc7rlr*?yJABPs1exSnTM zW3IPQ9qg}P;YQDT9TFOn!N4vL2+!s^UcROmH}>?J0SQZASiXHIB&65?0lZ&be` zGcy60`OlyH_bu6@CilW|1Q;D5f3}a{k4$UDd}P^wU!(`Dh2ErE=M}k>8u9k()*UEl zMJeIsJ_qRvZt@Jq2a!K~XJxF_)w!Vve131|;v)q9rR@!l!(L!|QaxLz#h$1IF-pUj zzP=Y23o{w|bDv;CrA&GYEMgyxzUf_%DE5Gm>=+`{1YZ@p--Lk(=6|gt2=Am!v#wgB zEF9lO2cT^})S}D!LxY%|lnQ+2mA?ZQL;_n|)ofBmJYNX!(b^rn;;5tFIcScZ;STzW zEC=^z-utP<*1poOUoGLsF=^C9zq|64gOx9;Gv8C;O0!=z!ypLx`tgR-0T-ekV*gCMG9{ zVp}{Hm%FbQV`)uBF|lqV30$vr>8t-~y`^ zXue(;SkdPx+(m$}^!|lYXf^-6wd{h;g*;twQ*-DKaWr#pIpG_ZbctNUwg=k*@9*vF z^oXfH0eO?}H1a;+h~@PwBqAGPy^pGxlud5QH1B-?n2oA8Ok zyb~P|SBku3dfrv-`@wOOz+D@)oK;)v{40%tTNPK4CJNZ?d?HVz6hf0kUZiz&Zz=CB zNjaE;i@r>CHwjFFE#L9{67dA9HA`T?!NsIlFvB%LGl_MWzf^O4>g@?sYYqCh=8@ul|g3?hnze#}w#+(b7OcA3%1;N;&Eq6<%yn{O3*r8n02 zcx=MAJ=O`Tn%OFVE`Nam)1=`-_|49|G}=|RUJE-<;7yOP{BEP`12{FZc=E>1-T~sn zYw{-QNuYEua!YLC@Q2(vwBg-fGowKm0E3^q2#ial&o0B?t``|_c+6vMd=)ZJgiU=Q zd*7rck*`sYFP53nAYqZca_o|frDayyrGItbQ%r@Mwx<_a0< z52%;iS&Q}DZ1f|5GuPpn={4r&H5zMEX>u#;K{dh_P8Et^>MISL$TfgZA zjZCXGb3G@fq=U79$Lg9t-ZO=OOw%;a0^hqk=FT^M#B)9xM|a?h@h}>s+X?0}LV0i^ z07ulbQ6?!$S#Z@kR6q1d6`!+LL1QAe^#u&}A191wA~R>7W%W3^8kCW&NspPsQ;G@? z!a%nolWdO=Rsqx`Hwox@{mnJj&~S5`TTS?KTQwj$VzMX$b^32DPw9%h!|qlQmPf4p zf5yf}LKTs^O+iww937?s4wpZAQ(I8&!!5F|)u2(AN+BD?eOR zC8H|LSOtw-hUpk3S(EjdtDQx*%M zN^5msj>R1qIm1GvYY0+$4%B$O)jRwQBQ+tzS7CjHw*yTqqcV#Th-n^k4G75xBUk`v zm*n4nY7-99(0sqpfcU3kMVth&F}kp)@@ZkTyHKXa8bk@ZmFN(gn6QUO+HUPp%ZZf7 z$i?}W+PhrOWFy4Ehz|k-Hmo?p?1wd1L#@3}*WyxzN)B$QscM70OK>7X19U$h`y+Aw z1tsXqxbVSS4*QyJnRNOVYW>q=tuHkhw0~;dWK$CdtLnaq$N!HXJl#Rrx(PfflzIw7 zIZuxsxK4i}ZqFFfpe#oO1YmXC`Gg*Ej2}CvKOz@S8o}6INM?Ku;>*AfI+z>s9)QFu z8o$D{W}OiCphUo5>8_Vad8S4{=!kQr4Ch!=BZL+W=+m!uyb~*p!4|0s4$e&Z?ZaW}o3y4hfMG-T#y#PRwS zD522g!Kzx;Jqm=j_M5sqEt>O~yE*K|-7mR&<-FgbEA^dSNH4cD+hE1E1$TAQC)u!1 z{896U=}fy|`UMk2Lw?#a<(Q!;lt*;e9*o);)O!bi?3tZNZpRfMYW{+Gnh{x%Nk^uR z6%zS`az1deN-Au{MuXIU7*X*t&@Y8xyz;7%A$ez|0W$3p!;IFrT9CGjQC%wzbT(*S zGi3g7B3$>3ksel)_2`k^gA?WGhGs4|IAQ$;h7_P@qEOUJJ%`YyY9g za>xW~Y0H`wLjQ+fqEmfS4dg*43wLBssUovReU3`|Od$FkN33z7z;O2W zqYP?~e<^f;?VrC}Nb!8QUWw9#CA1b$XIg$>$Quo}cG0xEabsStR zcSV9WqPVb!w`j&Y zFL#c@#=07Uj6|!iI~#9^ou{ce0e+F>ECrM??#IRkfB#mm;Y|}_x0M9290eTHn72Tb zKTI&m8>}}iEX*>AP-CX`ZPaGozF#r6tl0_^X!HFEK;2Ie|6>O@yDI=Y&*m2DvD>hz z-t~reV{cs-F3Y^kGRzD7EUiUdRG7qm=Ke-eTT+cjz554y$P$}q2`heEQE18n?X)jH zO)sqNi~NF~+ItF7_K3#cOJHqjtSGnWgM!jk`+gcCa9f%cU=|rkV3XeMkR*l#n(60% z+Pm{_DD*dg<1*O_DPtESvTrxCYa}8|gA8tyeWyEiveYC)hS0SPHzHZ1v4j*wwy|XF zTgDz^%~+D%+v{aJ*Z}SS746{J?NdJNwQk5mx0pyiP+kINEzY!EJ=*9xncVxc%h4XE^f> ziDJRMd2toV+G>iX#Mi$Zo^G4P*bj9(+cTo;cz*O&zgLAys5rmIepJ>)r}JZp2zZR9 zuktp02K^*stQ!BzQ!kOpO((HLq4ru)Wj@7eC5 zo-eDXCqc|k3_V%oU8yGABQ|jBG*Y(4VjfTQ+&@m|xO#0|J>RxwxH8OJ0nN6Zp?T}Z zgm&dG)~$FZDoq?_N-7v_DuUckhhlfSCr zmHAAt`STpnp4N;P#$(Bfy&VVLt4)|%I>ua$wcBdAPttjo?@Rc9#OIQ@rG74bKBhL_ zGIZ4{CzpPVHdhYj(GvVaXU&p#p0G4-dEBb%qY!beG3gD8U2nJsr=M zJX8)Q#{(7zjCOU)heK)wT5vf`@mAXMXu;=q!>WzN^4P1G1-p^`>p_Lk3y>|GB!dk~ zFXl`0^-u}Au!r;y%!BjiiN^k7>VcinZpNfkhnrL^ku}RtnZz$Glu7q{!YenMHq8mX zXzxrep*wDMHsVk5_66Udo}1xwVu73@pGDmWR;*>;lrvMD;{(KNHhOR_WntUN21NOt zEpJ|tPt$so>xZyA{`88!B!(nc-8-M14R!VZ6S03MynO%IwElJdzK?w;;NKit85)zbz zK?w;;NKit85)zb}LIM*Kn2^AP1STXfA%O`AOh{lt0uvILkidilCL}N+fe8sr zNMJ$&6B3w^z=Q-QBrqX?2?Hf3w-sgz7;oq3F7ZEAS3lqbclJW$T zM-_ei$uxhe)>O;bQJH&}rDXTX?TzHHxl!Q^8Rp*Jq5te6CFO9lJf(fj=3A@r_a52L z_P1!~bMonbOhtXHL%Y8!pg|crch0LV3!#+P6yJ(qQt*xZuCW(SXDQp(e1MA=p1Dk< z?$c@I`>AdkRq-Fav@KRWXIFfV;8F95wFSqdMsSWjR7`AG?0tB=rDBf}>lPH=XVtGa zeRJ(mMJTs%aHd7Xu|s++xq3Whab?3cVawqx(R6jvsI{?C?^&Rt-~E1fly+a&k2L88qIcFkHRA`tZ>C(mVeq&vjA z^|uh5-C=Oc`NP$G>P{I^>C?W9DY= zS?~KOMH!RF>s>>n(*2o6v7qGT>&1AN1r}P^zU&@vZ!RHtk9O}e3HFBnrrRr{w_ZgN zkpeBwag8i5BBd)!UT&TCDQ@_V?H*!5CRkFRi~3~f8TQN#nl%nQ`4F(=Q59l|c5Hf$ zH%%`nl|8OXlOxBJf0IhnZrzL9&&;=PK7#3lYDbkwj=(iomFOQOhCCcpD3>s&E1oD^ zzM`j+wy@uYV4B{TX&A_-(tPw9j5%k2T&8lXX_BFP zSdCq-iGPdR|4xHCmh56M2VV|3l!M&&W8{k(w&(0AqT)%XT@XHD*@Y)2V=KLdLG9>Y z-O>u5_*kc7?Av+zcWr{@(hfsjV)h0n9MxXc-|mspG_m9QeCZPBMZz8d+x`eHiz976 zuMWh1ivGg6?O~KDLXlJQ;#2s7n1Az5$Z1f<(|Ci|Sjk1JEoV2)zb|$&5u$AX+gh&*X8T$PZ zf2ZMw$%o;&82YWN!wNoQdqi3M*E+VI3Nt@((Hh^UKU*zlouabCo9CiVHSUwsoNbkS zo0O591r*456lS-S8yiV_W9bEvy3ezq{oohs{L&@wYx78p;vq(hF@>(M&9(QUeR|aj z=eeX4bX?`092J!deRa}?v<-Yj@f(H?Nq*125NQPIqqkRHl^Je^bhPwo+e)YhHQZ2x zrjsUJ?}~~-nXRJG64^d8MjG&=s$KXM*~hDH?KD4`;XQ7`=;#X_0seJVIpKJXSdU*_ z8FBe{EPb|32$37bAlOw09_p=Rcd=lh_HgTw}peT?|^JJ0qHZv?5QWF`~# z)~^%Q)Oax+j|F}2KykE3Zo&)=EaLM?tzZ2hrT$Ca4l$*5wel{ZEyzg}eir@jNSQyv zU3L{0Myi||Yl`$yWz&-6YNx^>iG==ji&w1%!+Jl2bGy_r&xRLmUOWr;y|O4wF&O1# zapOr~e%mt?NVj|oPQz?u?^vJ6i6vyNl-eP@G%ZDuE?OsNr6EuJ;U;*;8q`m tK0v4#!dI$CK=;6D-nTquu6a(v;@U9-`56>JB}1VAcHW+m05;mUzX4oZEExa* literal 79787 zcmeEuWnfg-*7g~9_v2?~qC{{nQrrm+1!5C{dTDQOjn2daNpLAHg|wnJjGT&_vwAKDWs6yBpW5tsY%fOah$v33H-OcN5!Gj&{X_Dbz9KYwH}k_3py zE$dm|<7bWE@JR>GeMYs(d#;=;iPD-0%8hAI6jN#_o6>|^tu`Bqy7^L(5aEjie1X8j z=h`aZ+L|X)gd1v(NMvY=@LQ_tIZrd!LWEc;_~JMqZ7om#R!wj5<> zlE83`+%e_NrUrJ7JOVT0Zd7S*pSS07&AH7P7L39@7-pM!_VB?2C+DbWCfsb)IC8<} zHE%dfC<)DUqhhU|v}w(l$HwCtDG>>I;YQ~0a}k8+=JNzR4jo2;v6g8lf zQP;P4%8nHJ$>Nvfr~7AgxgFOtI|5wZiQycgaSTa zC=iGQh?_sH{UI&NAIv_LTsp^u`$HX74vz>$J_^&g%pji@puB{O*ROLxu=o+DGovY2CZ#= zn(EnKTSf#qSBZ-!Cs)p~=7%rdH?nDn#DZ*RgN;p14WUpy`xPQU5M3n; zpFuzqd&hu4?X`2BvFxd(JMOYr9WIn z3QQie#AHTosMTh1n-FuJsSsBa7-o-gI_wPmg&CNK^Dz|9!=%=TJ`=`A6BOm4`6Pwr zVLHleBXAT)iC)RB)a)cG((WdO6v@zN4ra4<>h3hzNNd!njFgn*q}F&mZL(Rd78{d` z*-&OeT5pFTep346)bTwXLrM-#mg1-tqj7kNn-kKecC)^co}7}JJfZh@Ec=ewtT9qJ zlxaoDNn>!wgtX*I6DFmlk6zEdVjb2YlE8^PkV=hk5@fsd)Hg~#oRpl^{maqXUcI_^ zj^JKmq#Y`Tw@qHU&OO03J}x%O3ig3wNF3zmU|O7^X{WB;+yy1WA{`WJv%47&?Iw&U zMk+o{(cA5&!Mkrit~=Elg*9C(<_A9-kh*mPF4cClgw^{Aj zwg$If#ksx#Vf3kqq>h92zZF1v*_jXuBs zDZ5k>Nz;r~uC{^&ggLot>@`< z1sc9qqt4arMVeKbXEM8Oe2dlmLZwv%iau9q=x-wbxkigEk^Lu4iXn0+0ZkClCL1U; z4$6)aebTctUK>S4J88&3+bO7q(bDEr)5m+?dXzO($5$j8Q~zg{xv6NzR}Z`oR#j%NK5WjbmZ)09fJ~N0c0amCJ>Iv zndzyMQ!}$ClwKM{jO-E(?c=nW934pz9kMdso;^J+{k1;D{f&Kk_vjjlfi|P0gJc-I zUE0d8awlg`Oo(vUux4#0@f=KtKG)`X3(Jxsog~(*%@&v?Fb@>&G)|p|?7sWVf2K{d zIvb%#%xb@10Qx-ejK8U|p54Idvx$LaP(6;_ZnfjzvYZKOdn0^rg(=vYNC`E z*kD6Ls38Ojo&TFM?-3f2qij9AU>_wuS7wU9tuQ?Zv*IK6bM>o81(&g&{lx(m1tZKB zg5Z|qur7boWv}o$TOSJf*yXYaH|@mrCX~};_=6ML1ylQMF6GQ-6WcJUr45#7tA!+q ze9UZ%?bCC?_We(uJ$`z1!#8KLEq3UC8dTXtEWCcQeDhc9S8e<9(6JL+Fw%m7Di?sc zv04|MD?fI$@>u21e=9q;6^s<8$Y9t&%Lyx)Q}Ofh%8H5;+xHwu(%Eb@r^z-P%EE2> z&Yyg>=ivTboBrBLWi=U1U{7cq%EED@E~49*p)bYiP0-~wi_L~nXfCJ9B!yYb7K@D{ zIaTI#+4@|Sbv&)MPy_#QntT+I3WTsc@%Tc1AyQ~kS!^Z=pRZ8MC47a&mTxM+wX{uv zj$XXE^8As#gOdY{bsE7xxNNUbMwFe#-NdgI!j+6R~2HR|(^Huaj4<5|6O)<kHL=zjFEd zZ=d=bYp-$^Fi_`bcVJo)Bh_zx@Arou%-?kL@#8}WSYNQ-pA)e8>)6`XI@0Q_U4N&+ zw{TyeJ{V+=-fi&t^8@B*Y^5I6jAyqWV7IS_!u`I`oePbSjpz5e>r9W?1p+YTI}6yv z<6%=Cy7zOF-yPt4y`da-Vgs8BwtUl|98iDGmN(V>*!+`yynof=MaxeIzvgVYCac+& z`=*7!st*z(SMh1Fb3>ewR>SZMG1*kQwTjGH1blabKQd$r%D zQZ^W@53;^bSKMf*zc;4)5BF#rIOH%rFf1}LE`7$|U=lpJyy)$}e(;bjd+Ey%o313e z(Qr;%RGK%HxgV@! z&w;v&achjLaAv7{rl#!UkKY?IWSHwA8+_K-R}1zCGNPSEW=#9w{nyj`(^h+Y+tKSD zHL-8XDOe3)zko7{o!YdB1P{$(GV2YUzGgjA$^-L3!p#8Apt}h-DWPbyqHk{_Sos3Z zxWm7EjZkM0Np(4z1>l_V)*`Qky*OdB7Z>(t{wx21cMlK$kCTEg{QO0;Lm2)5g*89i zcl`L5yZ7kP4duM37vF;bMHz)#Hv z?~<+KR^Q(}jqEN>a{-9366`1YT=MfI4eU}x(A)wM@-`cK;b^{)(8Qk1R3Rd+hC*cG zZ*J?0*YLBEJ=OscKmsB1${)TDu|YSupz!`vkpBk{tO(z#z{9qMUFttb08a9E(C1ly zB)&O$JzIbvupIqCX6`HKZ8k}CiR+(#dYVF^hNgxfdqsHm58pq}(8MBp{y=^cdu!D@ zBRh=9D&B+?{lWW2_BIAh3qK?NsQDqblr!wGl}6e>`hyBIvS(p8%8jo8>E`|C1hBH8wOfa=(YzVnoE{=kY|ypl56&w@+zkR-q>NJ;ZMPO+$rEc{G)m)phk z`iA?!{=uKSNTYEJo=*sIFfK$P&W9f!0)c;D;5#rW3QHtsd7QbC(g=nkU?s-U8cYTF z072UwF>x_15)&eGW0X$Z-a0-ZHo{3mf-9Jcj);m$Oo&TJj88~lthuP#q_spcc8fDH zJ|@ae;ukO}&Ll+J^k$0Ap?D;j&+zRG>7nEdYIWMd1ACg;-%yB&kn(b2JX9IwRmOa!Ax^_EWK zCQfp>($Xiyk<5Hr4yX);;yNmpzz<_al#X(k^d`FVn6xz5ge9jWrwwp?MoSsWVo^C_ z8TufmB%*Mo(H7b5m9+HaY265B z2`#ph23w4s*n=rhDiYP|o&83qrl%IC2$R!B)6_CrM4Ih!c5*q!!?7H6E+oSu>>8b= z)!4MOS1gcBbu43OdM6kpP$!awR(KX1zIb0JOX`#gLpl zIdd{DHkspeGYWvFMJ}|%B8FBuskjkoWhu6djKR(p ztw#25>vs2oub9Xh<5KuxJ_WmbvJtfeAo3SWv54#&%!GNq)YjO-mn*crlT*4Rke zNRur_r$LQyD5bN#U60;f+Sy45BUiQ_R#3X{#}jKT7E)>`vx<#oIug*lWf-`49rIFj zsp(@9Q5bjJD&=WtB5G7xX$tO2Yt0Ow(A7zkc1pz0`R3H+8`rL0zOjq2kz##`RcvOW z>=AZiCB~;)bj(jtrM~iV9JF31vd|GPk1I_fQ(x&D({j`hCqdb53UbPZ%Qr4wICt*+ zrK{&%dYTgp$+;=YRM(`=jDe?h5}jO72QqcikWm@qd$o(A%-Ros zthsUV-1!TaYOeqKxM_<9M9hHx)k0H9d<`a`taNIAiXu5RwH@C?Q;}m*lgmPMK+x+f+5#oLWgy*D>*Mknw;WP0PGSs zc}@y1IoX|JNlkSn=*AtZy<(Io2GD$Y!;~ILI%d(Z=4cWKW7bIb#qHKuF3t zAnh{{k(@Owe%_;y7d%=sWHehzJ!Z97tO}_@E>jwe28Q|y6H>~aT#rdDdOPff9DP%l z!j#S!-)j5`))TP#*kh2-K*uH|Boao2N~=-ubg08Y;_ER19@#TBCq?dx62QJ6wpneG zm!(7|r)CWwxAj5D56wGawUI_*K>DP~lLod*AV^dxl7LZ;pm1U>#>WXNCqgQjVBIn%7pLT<&P<6&Pag*RSTDO+NozF@Y*_kauoo%mU=#brL^x5YoQZL8x*{W} zl$6O?-6SR|j}}l7Nv`4)B-t~OH)+z$6kW2bSL-EDz3dx^U8{EB{j$>X(p9buXh`qw zxW*70MH8zqDTtWt8m=@lg)~2Ma9UxCbaF=CygBn{zM4EEMVp-7#w7Z#k$o4j>x~Q* z-7deawpH(uBPOS%4~sL~WONi5xaF9Hpuiv+EwD)!QuaaVFdB+UugzY)VdKUP-z=UC zrdX5gYH3$2ZF=f5&}tO+$c2O!mcrPUty)Gfgc-vkB4}b6CML+#iP2g|F_=@zF*qG` zPL!OHyYlM|o-c%7e*Ws@)FKd-oIujn{r6j#t$f%v(=!-^bmMZ^C);s_HZqCwWwPh%4PWGZDg0vdyAx9jKuBt4dyF!EUuH?6GY<&#K896 z1Iv{O(L&^62`r;_6G}OpBt9SVM`PZ*C_YIu z`Jm`ld^N1PR-BHs<8vVs6K5r0?Znk&ukTKlyAQe#NcSJAJh7vTo?x~?N;41K5@I&D zZObf=mpW%b>3UIzjVJcGf5_V>`eDz3qkW~@;Y&(sf&j%VOw8E6{$+^NUPddNT4DN@ z!+ZDbEk9eEb4_~vmtzO^eAC0sd<)4LwH_9fQcOxpU#ma8t0iim2_sJPsIngp?%Q|h zmxsQ*pw$25cGc-MR+D`PE!1hjNR?nxT6Tavxxb~%!KGJP*B;xqf8U|1KromekOb@N zAJ%-VSGo}j;3>I77rFGueLozl{BSP8n0`P*YG2aIL^|uax`LfAgKuhfy zl6q|KzRDYOA#r1t9%?S87?sjN!%kUAm#1Sl#aAQJR(v1ZaMf7Y3 zj%XmUgp%-(h&%QEa9udzf1{O@R%CZ_!6)fUtlt9_50$GC8JAiPo`1~a=czA4>hHm8 zR>&9%5_6J00X+cYMnn!4g3`gB9f`UAJoTwQIF}kmlc0Z>nyob>VjH*s64Iis9Z~z0>rOiFvRvkx;voo2cIs4y^DsSRXjHrcG=4M76pV}HV?6{qy-E>e=`Xl z1%ZQH+Cm9%D2h__VMDNH`y1{|g$jvrT@C`9piQhdoUs6LETd(R(PGjl6>@6(iu;>qrtc8g(Lo zz@un`$!Ij79)RQZD!JC65eX!EgOLzRo{I~)0|tNS&g-yWL!vkBU_k5(alVERWzGdO z!njG5&7xF@RHQMX{g@U;%nb-R)QfgTI3r_QIOGzUT#Sej34o5Iehm9}nS3OD&nCwU znV>-a;I+<5$2?lckY>H!pc2ZQxGC1D)vJwelxIW3K~vb3!RV8AyE7^Rpi(RMK|l6+ z%ekr|$n;ZZ5)r-|;qPR9VX-$lnZR=EA#!TeXjM`H(t4y4(i-}9T6h< z_4-CPm#-(}R!7TR9``J3L|LI2vVw?>w(Ka1|*mpHFS8|jx z0?ML{TCG~Gb8Dp<8+dPWEoNJdnQ7AjfHWG}ALU5j$KGebUq}SW^nr>?yxwlcXs6R& zN+ULp7SVaMG93v^zrh?~##cd1$2?+6N?P)plcmUqAfkyqSWsNWHkbIZQt0OK^%2Yr zn$MUtd0L(h7GWW2jx^g=VJ0+!KkM+J4>(00v~xtS^ew0AngTGaN?*eXI}-Q)4{2g4 zZZCqoxQ@$f%>naf?hv5^7s!fRV%s7mhrZiJa(cl-RJ|yrXUCHU-~52u=Vix<-StqJ zz41JQ9bB#E(oHz$`PtC!+7;ZO#W=^!h=69jeub%(8N!+ezocA4c|R^ z>I(&+5&?FOeZjUGK=T5D`rMGRp#cIP&(>#+opnFt%LUDS+L(^mb72WKLJy%}xr7X^ zAi-Hx;*x$hI1s4`HV$AQ6@EXvvOO{C((PNmK;CV|wc0Jqw zKc4ahy@gPtz~hz@hlfT`sF0B=hQ^sy47vsrnUL0JSZ{Ga>h%WMy4~y6uLu9|t93PO zlZWL6p^6|sCm{0&pGAvd&&!Z`TE2mT_^HrtRXA*GF_8@!$@=^=U}f-fgUjYM34(sF z*X=_%gubD^Id_Z%a#O}!El*FBfS;~&SRpT=6S!G#X`sko#I<%8AoK2UVd3N!4J0>_ zCEUOoY+PA{TDG9cyCxv2WBY;4b_XO-u^6$FvWC^T6c#s&95X2@~DwBj7Cr7X?)HEQs~j-T9?@PfJ8!q!nn)G}Kwh7)ToZ z65t7)o*J>~r>8!Dz#W_wPzQqnpWpkS=E{|t{hj#+j|M`vd0L@H4^$Pdv-K(({R-S5 zOfNtZSDgO!-s5L=Fi2{DUESk5H!uHk_3DrAL`0q=%L<8<(F$WZ(gsyc>eOG zSqy4X7=ST>VII^3p(_gbP7!vKhA);2C2EygXM?#bV6-;d7L0)~4p0V+J%+rpZ1J2O zKOU?+Tsr;JqGjWH^c<)aLrjhUr`LmOtX7Dp8V!*qvr)@a7y%R$QdY)#IhR8ixe&XVAfgAOh(u@SHpF&?5ktR)EjmXTFlu$y zNX99*wuoBQ*hzF3=D`&C-Vi`~ z0SkuOL{h|lOu&lwp5~gR4 z3nRgljfr7kxrScnkYMOkhh49;ww{m)^_c0Bq-TYpU?#_oK(&P=6HDV97EBUA2n13g zhXu=_4)Kh|*%^v1gDjb2I4Bs+u?kQapki+Qq?ouEW(gqpExS;R1GLHk1VtFeFcQqz ztp;=CU}$xz%bl*Bl1j=fHo8OC&RyHtU?N5oIrAK1yTidmMgR<~$E{@M@OCy4UxFn% z2!f$VG#^l4Ix@;&cC;FuHQQyFGIi?64k+4t*ub&l$G*nG(tLTYB5yP;sL& zOI>LClT}B|sWKC$r;lPAV&esAoJvIwE3D3@G;~X*hB@PH?B)sJ5iQL+yMc8b13I`;Zu_k4w=eeZm=}r}(>v5@b zpgYr{vokWX6AdrVS-a|s?T3z3R#qH2wFayzSGoXrCmaw=P>CrSxh`3{D+VG#G}$Tb zGnX_wYvAAycOR>)^i)WW{Jh?5B@9ka1kYjjI7ATVL$F!KX@7R%YcZKT6&+Cjv9gv zSn6`5XHRT5c-{HR@`{S)i~t8GCL~f;rADvU3JjRtPJ97yZe-6~mpnTb6d%MA?bDaJ zBGWUbjv78||FLq&x!!~lMq+SQYFg^h)&K?*8j%b_cK{`WCnW&pK$^!T%akx7&5OSXoHS!k&@wpu1gu&t8JSoJE~S$C1nR4%&hc5Eh3$mTw#v{qArIA zlWDHBS9{7Vur~lacw}~wi^7VDYRs(`UG}=~-<};swXgyu!1C z1*f9h=eN_e?lWd|YGzhaoCTHBQ6#Yfd_^)XYn;UzMuZ(hGhsv&sc+2v{OfPN+5GMD zw2WdfI8$0N>W@zxOfpd%;qf^l+@cl08`Z= zt(!OIY!YtV@_tH20Z7SswKG5oyn!bOixog94iN^ZhjG|cR0Ihk1kP4MB8&(}belXS z{hhTNH@G*7H*DOnX-zh)Q0k1Vaa}n?m_R2uaD((ST8ya-(Lk~O3=^OlMHmk5I5wqd z=jN^MZQ>oWqthD$y2Ao5}W3pB$_xR_BkMI0YI2)284n0PJtcZ0AVL|F$W08bm;7w>`JhA z@7AI9py3n8_XR*W5y+@vK-hu+ZqW<~D>N}+g#Zx7^#Y6ogdM1&%e2z%Tet1px&6C! zIn%pn9rnKi!YB!VFtDB>NQuvbj*7RDa{xLgbrc5(A2`^I2m@`ctBDFD!WO;-aDNUF zwq#Yr%Q!^XZjyBV9U^>epbS7yN@Iq|E&#$5y5-6cc^DAZi(OkeK)B-kwcP8HUydKx zv!$n%161v>-rEU)g9+(djc5J_biyzk%%^9C;ovKegL#e8dhgxp7jUp%=d^QhFey94 zo;=V-$-%*PHTF5c!TS%@09hfwK?0o8Uu!>6hv8s_HIjpaDfR1Y!?lVx`C&MikvUfa z9K7%3gZjpq4Z?bMG=~O@7+i)%lEnZ9Tbx(ehWp1n&%t1Q%(5^T{H&?8K@?>F_8bhh zNvw7Pz+g%`wkgF_c{EhQLa#Lv-3bu)DkwCdpk*ZRTVA=TO z%z6WtSYlW7{bApcdyNYkMD^^c=TNXk0Y)+8tw3&WMuO#Wp{5WBZ@j&?&)<;6w zjx{tw&ZKxW1PJ7m7=sE?vfhA*HpoKk0}i?rlg2Rq`!yR3=K;ueIaoXJ^Q~sHK1ZyU zNaS*bOe_%tRTp-LZoAAWSAiT-Gm`Z*7((pBw>hLs9G`+A&Dd|Vpb`%I)q>f>P^(sH z(UYWJr_*XZ5V$3*8l~Q>6N_aAzHPQGy}C%$q*?ojQajw8VCArc0wIFAUOz{5^B8GS>;$j zYX~5(7-dS3(E_+BC|(NmOop*Xg4>IRQQoi^6*Lhlg&?1vIok~K?qci1Vs3Rc+vhd8Q-Oz7&@!RaZP8>QM<86YxFuq;+5p!u33Y#T?+6w0-q=XY3 zMwGC0-U5^Gd6C%dCN_sdcVDh+3WcX(wao;JhzK~wDyhk1720fS2fYTMOKYl+%l6<+ z=&G(an%Fr2?y45BTt$QIPB27((~>ruMr^WqtRm8`(nkS+W}&(lE zc0hL>ySZ#o$Fa@mE>zNNhFoF-oH3aeiZheOLt$*UT!9Rz3;G+Y0Nc%~2hEiPgFTE< z&DbvK0Xhu)!`!sMZq!9WKHNBZYHE7QTPZT68QJ}@pty!BO&(-FR)~c{0U*0GX#_8@ zB2*47FhfYI8P%OrdE`S*MF)R3qIc%@bAC8Su&_Z{&;IO0B2qpZCY0e|$$6A5&&sm_ zBr9OhsOXhkzr?md%8u;*_Bo_0Z(~uoch|9@`3-7dyN>5iIeGf$Q;Y08Gl0SfmT%>u zBnJuO+7=|f0^?g_Tjd~nJ}?x4W!CT74{KkGd$pSDv9bnzs6N=puI#w#OvT|NM@}7F zh-<+f^9ZN{LgaJ6i_Wncb`dIGE@G5KkYkotR-QWl!}w8`fKdok^oE9lkh@+6l)KCB zm)D&+3_h{=NX5lZWfT}+9vKz`_>J8p2Qfe`Yo7^B+LGdV2M!%MR#ATBaOF?$IG60Y z24{B~8uFUltgMNx+wj_uX?u>9=T?Zy4;>%I52Ls!SD!-8T&jTlunJZXyx*>?r%s>w zxuUY7+*6?_FF)muHH@ylf3LnF@4n*J?VW4BO-A}uo~|s<2SGnClVA|LLvWCThmljD zgu&j1uuS~sfcprq98xLDPn{`$H)BM%PiMW{*WE|a_vJTdywWFi*@p6?M~W*12czU1 zd`rOKpkesd0vH{@w-g@t#ZQnxdgMsu*(39F^Kx_YWd%9gj-5Gw`pi$2ITav02dYr{ zBQ15hX@m+3m;s$)RX9J#M6`CqnIq*hD){9`juxGiR6w_sA2|Y9_$Q7*%l@7b&jqz0 zOKH9u1FT3$5pSG0Qd&_|UQ{7Ea&q2^Q%Bqt(&kcNNrpl&KoSM8;xbSOPLS`PII^Zf zbog@Tndc#;q&X#p=UWkwDYRQ;(L^{Q_3rr}SHUQr&Wql4oEy*b%0m!;MIj-^A)2_F zvabV%1WvqtzPx-nygxGoai2S!TOlZq)sUd{B;c=hla?aZ0oY^iu=>!6BjrmV-LaM0 zA%~$!;>z+f3jxu4o|G}GDcGoit8RUB$MIw3iz{^HNB2bzD?bYRq{{L``!;k?Vuc`f zHu&C382=IDWqm9VF(tT?cB#Nnv z*UX4j;JLPZD<94hKzF?WXaNpI#O2WYkB}w5Xt45-Q-J%w1!-vy05JRG{sBM^nu$ZDF zUs<$x+3Hnm+$#+$R;*pO?(@~lmMmS8X|*_Uz@5O!^AKu=Fe&*`nOMsmS|h^HEQD9L z!ud;raawF0JM?_}jVXDhGs{XdCrnIz^QD%Zdypmv97`+%9GHR)jm@UhsEsOv6*hIi zj@yA*;piuv+aX$w8b4v+h~BN+w6x=d)k;yYU*L#MZdyXv6AeO@4Ge+MuC!6;PT)3z zLgS9axCAPyRbpZUM`B$HMu8-l7{aDe8GvKw=28P@x*J1Kw~dFPZtFTs3wr|~o9ZQ6 z%Fcve1O5s}pKyEwRFHI1W|Kv40xAZFyegoZoe?szP68jjn3%LXi~=(m0JC8SD0v}v z8JM#$wcvCKu@JvzL`;kRTfpmHW4>vJaVL%txg>(+p$Oq2c?7W;{|4g&=hlt$;8?4f z4`6sMq81oU8WV)BVTA{e1HA-W7C4<`(FkB|6$mVmo(N%-5)nvp5RuAc0VMkZ7K393 zwFI1^_#Q8H>(L=)_l3s~9zJ~V_{i$bd)IFq->oel;mOo`6wtm?K+wRIhy5Mr-oPc zU?BuWd|qF$;nYkUoJ5eJ_z&Fb0Cgn3e9DHdS5+6(@N4e}7ei3X-^kwF7=iGmKY+$# zQnBT&(~ZxrRaX_)@T(sMKMTmbP~z?gM4$!`4#7VIL8w}Q^f}+)y;W0PJ)?$KeIqB3 z=jTHRx+s7^Xinzy1&@tJ#A+1uPYiP#97Kq)%W#VrY4d(<@LKik8qs6F7tY({H1QjQ zf#M)9RG$+B4o4sv5onfRGOLt3ZL76e0e>$6G!$1Mnhp?et%0n(s=E*ayj|t47S+@~ z@l~HII4`(Z^SCbOnZ(al0j=HyxT=njwVM{_h>}6LS8uff1Va>n9Kt3RcUXDPccXe% zjqz&L)%!QUFDhG{UHsYn#l`)nzE`+%Y5p?)^0i-kzL9O-`SY>U-*!cmwnYH0io4xA zTz>48#I7wZA_P$wjo{?wfIv)*s8ed2>Tgz;)tIYm?mc|C`_q1Ha@Os+egEErn|s%f zny_(Y!D?hx{&LBZC0i#WQUio0?1UaE`?dDgBY)G~{hN|{s}Y26Fo&IHkREfeG5FwG zS&g;2=0@$`Uh6!d;MzT}zdpo~IvPVcLpQD{T$Q(4vTE(}sTd+PF2aBhi?pw(s=9jX zS5UP^wq#s;IViCSd{v%i@Ilu5u%^1CMqX8Q`^vGEaji4%hTJ|Sl=1M3l6hsDH%$6+ zW$7yE$`z|egOjg87h@Em7QcF_ss@zq+QT|u16%jq$70H6iaa_Sx1?r}gdBx_kejJ(2Gobje>cbCq<( zS99CS5rGlqup$dG>ULF5jSjl!X)pkX7HTITGaEzRTh*mCeaH<$gv|w3?Djlwuia;7s&ZKWqiU!Sb?xGg!}o69efq5NyCL>YBgZ8T8#**8IrFa{%^3Cl zuOO#rm1O1TxmrY|v#btB&->i0&aaVOy??IjS0S(OCMYU%?cS{_7>gT?{gENB3>!LR z#H6ghxC@F)JkGsbRaUNAmAg{5YUSsJ7MML40G1+BsNQ?Gs-Q-klm}f=S33u04UB-Y z`s)46D96jA$0on!$#WM=3d`O`_CM;F>siTLz1F=(x_ZT`rCh zu1|WWG2jb6sa;$ntG;(@<10NsESXX4DN+@dPUG!=kh$vfb?eqIU*ujYS-I}(6hx@T zzrciI>zX@No*Mbp2b&YPv&{Yn)t`Z^s)wgX^!{WBeNe|b=Qcit8cbh$Hm`~2TNeEuit;-W>t+%r7sPPfE|H~J4U)1j4P6Ot-7YV=H`m%&0PGQ=exbU zCaU_%tqX&Pm4blTsr}ixh3wN>D5mO4)%AN%z&zi`=_3*eU~U4lftH^Za)dKH$Uir$@qvKf)#R#tHG70 zC5~^NYiHJIt84CfCgv2*O=!!${{ic}UsYJGx?X$pf$ze4C#-%lE3rJB z`TCXnJ0iYkg9UK#@OE`!jik2b+^N&2&R!|0QD5~|#!M=m)qPU1bQc^REO@GW_VDIS zF#h+S?0*jt@T5vBm~gHNHMjOB9RV&vVSw+ySDRNOtgSwEyuw}1KXUTg%o=soBlhc& zvp-6$xm$D|Xop2XZGC;+)2C1T?6YH2IRrujVI?VrB-}igwuXH+Gr+qG(@t>dcsaPf z{PN>fGiy|}Peb=(GCt^Dy_>qs`ep_^L1n-fU~AniU{G}g#JD6N;Ni6FMt?~_;J;H1 zea62~0q!Bc@=9$nRN@Jou3t59dY9Vo1i!Gpxv+HAvu6gWc|xrvoVnW@iFX2!SsL^` zyk1p%^<;&oTzCYc2gi$QG@xgXK}CE`L!v%p7YzWOqymv%bb90lB}fsosMER-)!;ZWPaUtI0PzVD<;tYq_s{Py#&S9osj5yE-o?d-l^t ze=)E$>n_}@_xqM{3psl{7INzFIk35jr2YbHd>K?O^yI5sJM&a2)lx4Y47r*_Z@)#mAV%9Gyn~jNRF?<+`8u|F9RR#o{0K96Hhc zeLpCJ-@hgx_4yx_Oo~9X;1)}OVqEodD(jsYQ2BlAW@^H=@)s;)Su@MH*RDqYRw$@G zw5X#LQQ{m@3`FB|8$V@zGXg3fdwXQ7;{Crdjb$9u`0UD7m8=hP`2tNVyCgzU9Df+- z#y{;Ix{UP|f!E{@EH$h;@ps0tlw%y^svU5fm@RG8(>bT z{6XKRaZ8T=Mm!b={Y}GvFrEgrIHN zcN+YV#otibub)Cj7Glch^y8!N8z4(Q5UQF=9P0pceojCZ`PsgES>Lxny<;~-m=OaU zZCAbEARk#b9GaU4!^oa9Ogh=jLIzGy)@;_dJs^I@eyDWvtz3o|H00f5=CfYN;BWk_ z$Fb)`WI=uH3jYphe8at$`za6`91vF#rcaxh$Um066#!}(DEu~j(GiY{ya1@k8@_Dt zZ-zob_~5U5F@;BR->-^@oA``M#^d0HRN!v4r;lxiGE!!Ibw z693t+yRyL2psST^P)MHQeGvUWF`3&w zIR>jK?0lNJ%%J22J%D1kfSYQ;hNi}*;OtM{>_4=Z-lNG;Cur47e?ZlP^{|LGu-OtV zV9@_SXKp=g0?sWc&2(mvSJDSaW^;kc<_kcG4qC9j0T;Uhv@rt>(Q%2tDFSH$VnabJE?pmW8d$I&9J|@obi35e>NO^ z^0ALLd^{sM%ze!>WfU6L3W7hAU5g>xDn2His^* z;N+V8O~IQp`uFbs4BKWYT&RUvVB@O-5S!Ew`r1~h$kS<;A>WS?QfhYcP3RS(2W1IlS7&_AU+ zb2ha5wI*L_04Ce z`t=(*Z1{-YTiH4`39(X8^q(`IW&X#bufW!;vCdZvOLODdkwcS4j2JdNY3TcpLUrs$ zg@ys*H2G)rXN8yjOXR!RuV$=aL$D0NdAj+1q2iE#$fW89U%<~Ufn!kU3c%S3C-3h( z=%ij*TTj)2YrYW7O~VNXLiT&Bv-JZomIXlmY`8prXp(!lDrrd4a?bnpHPl2aqrjy^ zTO=SQ2g7V=4VMCg%5SUiBE%a-*X=^n008k$sa zild6ctr=|;b`C_hwMfW8JbX36YwaO9g;L0I%ec%wjRI&FfP-1YLeqv6SSH`)P<<2>+40uWpi`8486cYhcvUJ z6&yR71xUT+TeAy1MUujzg#%i`^*|oLL>fiS{*vm!h^UiP#=LBJ_L)X{CiM|p(>1%)80 zYS0X4bE+}wAPTtHJxkdWoVg($btoP3z z$o0;USFeP??Stvw1#!ZrONh1}Fkwa+^m9>>sIb)aS{d|^42txye&1(kk=x7u0D)aN+bO~m zJC7uM7GQPl7>78g`oXm2gFTi#QyRUV>5`Ccd9jQn(Z{%y?bix}dp`Ig^Kb zl7=PaK$a2BS^SNE0}>j_!TKEsO#1808HJ0Bw1qQr&~`;Lpc9IVJReSBx)g93&Vk*JCNxQ3r*>-?nwVclC05B(C8 zI{J0&R!~wpqj+JFs<@;G(z{{4;cZ5`hatn=N$z3p;gTU!%j^9x8-VQYZ~V%}WmVyL zY}f8ByN-D4tq-P8&v6$P!bH~OPyh6TH>ZwGN*XaR0gY)LK!)J0uR8G-+(Q`)%Z}`9+4pzrOX(>*L3b9z1MJpM+>7 zA~z$5n2f$a>KGVnPOE63qR zQAew;ttdl_0fUB(NE$i9lZ1?Pk5Z2uHe|q{Rw7I1gy;ykqB0*hSUFCnUd~74dTZBV zg9j!3jSYb<;4~L*k=%^gQ5%)mDuzy^o!z^(@7=F|-+t{|wQAD|$Kk&g2@VwQsVW4@ zvz{Pn%&Jq!6gpe$#DNQL!PP`?XwA#MiP%YWD`3||WI~&SHZOH;*{(~Qt{r0uCc1sg zxK8a`!;N)w09S{Y2#_kR8iib<>a>sz*1<_3?)Wf6YaWo?cAeFM|Ueh zTnx}BV6C>o^$;K_A}R`(BXQdvunk`CQ^;k(cLE#>r2=c2fh*z|5nQN=VsO$PuCc>u zr-LvGkmwHc;Z~4v>OELKAVO|bjXTV80iqkWXj}OE$8g;x$>3s$F)v91sgGgAx!c9e zYPecNfj@&RVw}Q^dK`#SmjTNKd>&Yy6hsCZ|0F8#Zur`s9{cMXfr#F8- zIY!6bI`{8;0AoYiPkM6~9On(+wfv7|zxd2uHV4n6W3%I7yZrB}0hBK2_?N>EABUjn zFN*rppW$xs?|Iz>HTZY*08BV>?CYoh!^MMtT6psdu8$rUw}2ZB|Mw5fIO|_4;Bxe) zf7$c@P$Nj|J2r0s0E7R#8o-oO_Fi1~pA7py6dwM_T}OK^39P}tuE4*v7Eroo*peE! znejg#_J67a;I8cP{`~)>2f{`(d>!ULR}}P)`s6NmV*H!8laPW#N;~g{5r^g(Y*isRTF!2$e)*wt%MrF#D*tqyz8%Q zd^-Uyf`KbY7CibNY5hOesEPfh*PoWpM>?GNyK+MvK+{6Ui@WQkFMZ3+-~av77`p6| z{fqL&p8r@zc%omNJ+1QJ)cB`gkCpss@m$y>amPQ{78nZF_awZG{Xh2J0xGX0=^w@k z?(XjH!7afF?(XguB)Gdf1SbK41$PN9!QI_8ID8M;nc3Z$cXsyw?qv3S=e&IqZr^*K z+rR3nwrZ*RXVU)P?;Ze~{z)KyzxF@B0b>2~8%F;bj0aHr2!IEijQE!U1PILb^tS~3 z2^2g&-L1sp0`^z@>i`Nw3^4EZ=LdikJH-CMIP33G0RjZ){)>x=Kb4G6JpbMR1dI}3 zclOT?k565^|7Pb80`zL@HznXdr04NzQS2Z3lHX(g_vau$#NB{Zr9U-1J{8dc7I**N zoBaz4K!9E(|Eb{L6Fca7%m2K(`AdKL`xJlxNdkKLKb?e!#dj=N&z5}tD1ZPF_5axd z_&#d6m@n7F_+t)$0Fey*>G*)=@3{xt4JHQq9d-Q|w)`M`fItC#$!WD1Kn?hpLilm` z-F{3PJxDGWfyxfU59xp3er@a{oKw zN8MC;oe?(2vLeUKcxmuRjEI0Dpe_^XujmFtqIuf%_jN02l<0|A6-AR}=tb zFctwg4EkFVK!7YRen9*GEBx=JAO+*M1b_ljbp93a&%5@IV<>-10Fd=xlKsE6$NBib z8j=Emi;ey@*?%SgV5E`upEv-}veU2sGJF8gZ9djN5&#OsIR4kce=h@u|J)K9|5eie zTZMRdnv@6or4|C(p60(Y``^pJ2+J>J5EMvo<1fd*@0dOliKTZ1q zc3r3a)$q@?a6%U1I|o33WH$eLe841q4b9&q0C11^-w2O)#efqqfMF?^+kXQd!14zh zfO-lz(%1CgVE=OwXlDl~20-ipW1Iga4io@-A|Teq{~G?eJtQa)+kXomFc|2i{%_&~ zS|N`ABL4wmUtj^`f9bE0|MLv_bpL?iP5h=8XqvR4X|MJw>tJ5{W%W6jRJTJ zOaEc`&pG~iTIuof|vEtP<)LDh+6$Q>kPln1t3*BfX4lOIq7*h=eySR907#q z_)nyO0Ew;tm;wlxfRzH6#s6iX`75>WJ3pS+A5e3C3_hTQmjTYh{R;Lsw}1iA&W|DB z@##?WkMTi)h`N4|?)?ZjuJwlm049F{u2X+qdj6Dqz|y1mFXQ~*F#hikepn5Bx=;Hb z)cwB$KgU3T&hHgFefS@igan9x zJ@pIVKb+(CuX^VH5cBV!KR%5D%y#`Y)BpGcaAH=i1z^kk?_d3SvB#$qg@2<40MVBG zDExD)Kj8o0%7EDPk0PKR?~erVOaX*G;2^-C$M;`SdUzV=_;>JuU`_t?CBSDQ9-mJA z;r|T+0EN(T>Blq!b-$kP`^UonOB}Gz$mK`OgFHSR8UH~A{2L7b7c8kiq82_p)dP&h z{F2Y#kAMIXMC|_gA^>bZ`TJzo@1q0W0DRzjAOGpK;PGjR{oiPUo+$$;BZ2$BXeYna zq5mxMtmXZi_<+6$*=p-Q-tqL$^a8Y8o_`k~zyU<}?dR>K|D48uc6S^2`}==>T_6C~ zK;)YKM?cB`YZ@M&KK+vm-d{uh^F3h4AFX%K@gHyedR8ufrs*G|KR^2W_2H@H{{jDb zN(_w3srOky{d*d}iTzEl{plCa7l4xeJHLN;`iSsvH2^;|0zd%_NATRUhWs1czdd+< zbF{GX#n%R~3*6quw_$nn`32zd|L_H%0s6PPz@Om(SHM0*D5*j~hx9+~d;~mud|E0q zXXBs-I4XM%kYp?}Y2_U|-?jVS@Bu)o)<2~EZ$$wt07h2MUic|H0K{k1=kT2Yhr{~F z&#s<-8e0M)An=I9QiapL>+r$3H=Gzk4IQ2+`+Ud=0 zg!{7t_rHAy0-qOK^dBW*`~Qv)5CT9&hJxd?wzu}_US3@290mO8 ziF2@Ego6TXPyBU{@~l=r(*OxWYUuEOVR02uiGLx%?tg<1px}FofVl#4b~ZL5T6Q*e z(ih+L_TSmh@vKq%lz&hQ?fF@FG@2mON&e!%NzHXu-F ze?A1Pb=d!a^#3@?=i&o`ZP>EYAPz7q^xp{2bpn)Jf*wHY|8d~|IPiZQ`2Q0J%nTSgfq-%a0W`y!zab=qgAM}h83sZ%c675fw`C@L z&dX0%S-{m4aEoqcYH0sF%K82u3=(iy1P~AmY%J}+$AAz4x5NPVQN{r4ThHOyjMPuR z2H1Xj9#efkZv;rr;7Jx>^oRLxKl)pe&++H*^9O&s0|J8t2L9#WlROZ>#x9^+0S5y( z0DjU0LLq#ks;c|*Kh-yHRG$oikbrp|=$Yx60M^Eyvj&u-2>2#$q#YJH zeAPu;mm%ecmJD=Hd?X|7s95ODfv1K~p_sKe8Si5a7Q8hV=dirX#giIsk84#U&#FPz_jQfE$eB-0pz~z$s z2NMeK%MHf!8W|_&kkGX2@rcMr+9`pcVXL_whTNgw^?s5Sa;e8v5c^c^UO%IOvp};g z_JF2Q+%orWUfY|YFL;EE9RmM_9WYr@(X93e=$FMHZH{9Y+LLv!{0JQq`JNRggwG%Z zJ~P~T(D_CVxqEHP3A)#AvLDU$@FKkpor!dFR z>b57duMP;U5U6wT<{scWd~*aZta);Nj~)&7w$7at($6H|^IZc1%+x&DTv6%>^1jGy zzof`D!Tpwl6R|^e+%jTk-~<*!3+cj*e4b6wo5Do?`Bv44yN{vw6D!9`w42yK z1V+^K)Cmq;q9x4w`?VA1*&xDXH1OGWFB)E_hcETbT5C*`E|hnuXCn=b6HcL#mz`sd z2EjDF92|2hRklReX<7)xWDHn+n7AyVgp-!HAAN5G@`}lbYZKR|qv<2qiYn@ta#a=H zlq}QFek9?a71CtUwW`Epam?7b=0ZVSxzk*Ui75N_Uxg2*RSw5AHcdMZNgGcCWgl?F z5N_DG-+=^Ny}0z+va}VW9?ubs4p6s`YHq(o6ud-kyA5fR!|%U5N)Vbn>ENyrMk#?g z+r0k(7Gkx7W|W$jb)kbQmG!N?OawLIwMT*F3b=Ee?~_;(!vq-ri2@odlS$wm#vzS; zqhJAl>4PR2GBr@93iAYXH*D=RV=;7*?9}p*eat->623u3pc;{X&x!+qFPN7}8`Kk; zCCZGV$<*D&TM}Js-Yqgc6{<@I`6LwKvadJHg{?X&+LoZB{Vta?Uf+`VSQ1|YM>u+o`zN}s(7H{?y8IHl?($!R`6fMSi zyIj=`>QG` zZjlbvCh5SGGyN?n1zrIe#BcO5jx%C%?M8<4qdGc*Ru#P?FPudAOb^-(yXC($>#LM0 z4n|Ko1~tj`p=JgP(d!L7Vz-;a8}|W`hlc9h1wCmUCgNlvot6YpZe#KcP!#9%r8}Y9 zVk9}g0pqMK64QUXrv)Z6kTd@z>RJDUn2l>!%E7`hwZrEMir%vbmRBC+8MDqpgix20 z(!|sv>o`rdgAFTon`=z6%)rB3{8}ye^_z1K+3h5_+VRWsfnmoWw+Bi2hRELQT;MPm z9bL z+guOBURFYvtygYDk|Hnk$(+G^_OZ%nL#Bp9JU|0_TlcG#RQ`Ok{Q)5&awMgHl1aQ2 zcjz~&_%&%I!)hC}h?na8hEEi9&|n7FP3XObChMOb`f5n+hqHZaNDyRS7p>L z1Z6m@&;|tD_}zFNS1PhH&Flm#kM2bB;5G~o$3JR0#j)MGvDV}cn`?Fyq{bM$pfDMg z9+Z;|jeHF`yeOB2$`$4~!_>pHpLC4466?g`mxfH+`a}RRkE(M>8x!P(lR^n3oi_O` zG(^&O@blDw^Q$`00{eS)2jVHU9uO|yhkL{E6**JY||saJVc1KChrygGb&ayM_!!V8isRYW1w@ z3ZImF`&Yc&R%P(TBfVO$*lxuwyPn7n+4fzrwKBzR zKLCZ8%DgwLWOR`!aDy`^f3vf~uGg|zocbE?5G9o#O3gNJ5Nog`reYfD6dJa)o@8+y z`yiQH{}x4pL>AdCc#zz#fByqvopTz_#m4(e#A6jH!48VPT}jN|4voxRjZZxN`@ZJP zYDBS7qwCPYBZRAtpPVF;UcP}x++7m}VK({*sGmZSg|{A%`)7j0EjQUBwei^nSA;qx?pGs?x#O1k;_cT2(b(D! zPX?Ru`#4JTBgI0dr;*i`xkUui3%v5GOVo-Yk#)|!J|$SHn=1IAZ}qIeJvjnhXw+%w z!SLOLBiM|~tlE|3v6G+PrHIg@i%$uur729}oTOdwpufc@0S2y8+asSqjH_D{P1Kv{ zUf)nfx|j@)?w4tayIZ|C8oBO?S@o%pop9FyT`N54*n;m&x%{}*V%A#6UbFi7>o8!@ z0@X7wX}+kU(|$=Oc*)rQt=ii!hf^T!2pdCL<7FtEWPjPf)v8iAD0+mp;x`tELR<>r zK2pTH{6Anxv601 zKqw&Hx$^n*n?bPS&{poO$WJhkJ8NMesLHsTD`1CL(Y=-^5Yi7;i`&Wa~wI;vo^21}+& z{Do>LjgC+J;z|xk7}d%gzMZk&r8_f95amv7Dy3Fy>4_4=xAtowhZF@#rbw;74Z3hi z&#Lh2Rf*TzqTVKqDJVv^XP5{PKxx;UTApfq6lR`|rk+{t8{}-M6QP_PP3bfPUcrMs zy4F#X`_^O?S&&ISPFznibBj4T#Rwdtyf`!JsO#F*y1l1114(k>RO{4xROhN5c|w?s ze*R?wy#~i(AE15vg}F3u1tTMBq#yul-5}Amks| zN7IPH4>dy*oI@WH#dgC|X@KX_v^^aW`J6^Y8aSNw#LKQm8_bSE(z}UvsT#(@veG$D z^_{m|U!$hmEd(ZNDcj%7I+(;jd2)s{DnOJDF^_+uef0^Afvy*=8m|CZOIuhINe`Wh7I!Dxf^u{v7x>^%m>&L? z1regfl5uEgae`>XM|f6RVcP$L*f1JBL!*EE*GQ+(k9nZuAbkDE#c3BKd{43!pPMPE zV0xbjd-j_z=>m4o}NQ#M5JwHJ7l7V9#hL;)pHL&ClzQXwB8^4d(vJS{|-x&KZ}! zcPB1tp|tLb1lQ=uuRd7}K1$#KUZa?!U79N{Ckf3;5hTQ(vq4kU2lJADMs)2%fHuv? zV-EPaa1a^^#$(`Ehpbg!>iQ{ssEa5T!ln>*33{fIqp!W}zTNH`&FN<0V`I*bY}f{w z)%?c3R=!$3Q!h*Du;KAz1Yd4*0%1qV`MaxCUN)9ORW7zVfNv4l%6!cS(IJMi59-6S z8~c!W6DA`%E%6Q{ErShaN?fT%JOxq@b;#kRe~>XTvjSo_!Jxf7X(-j#9JpV!yMM^W#-iIP%>nx4vb1&at_Q@i!yT$bcM&9h z6-+4~k>(by>1}nu1Za*fs&Oe8z`E*=AjwF|K=dO+GE4HK!AlVS;;)*))FrgK&JexT zSNF3#S#t48EUJ98jfp)>At8KB*;Pmbv9Tg85DR?Kc9T7Gaz0B-!x(jKW)*L{Y?^MZ z+XWC%N#lH7M2M_Rn)~wfm>}1;;l%Btyygl%61i1;N!{xbA|s35@7P#t&FbCkf;|=O z+a`L~SkZUS8H$*L6{u&ogA^==*t=#0nP|&7Y9rW*G!Q4cHQ&oO@xFtZWB{Y7AAINr zBH6?PgLA9dvZ#lAMH;%CRzLd#^6ePdaq*|vD{a`w8~S--56Ab*vW;RReG&yTH>_$q zrdLX+e1|(W5~P%sMQLX}6WOCo=jz9-IcG^YPB@$)+;xS#FG4(Q_FhEute^xu=y;y& zZUoWUdDnnfja12Uf4d4H9|qdn(h8{WBkrboqBXiH6{UDTpySMVr{=2|rId1-$+~Rx znkrYgG?Ta&Kg`;}mUEvypX6YpY5}+?M5uYfgrO}03Cg0+2lCJ@I4o4SGj(V*^-43T z#&zE&tc~MIwyp}>;GMWQqD-e_gs?nb%N1eu11w0;O>Zv%yy@{jik zc_COxRFeVnwaF#juc(WPW^hF2p>iC5gSZHUK}3+AwB ziki&0FTFi9uEAJysItAj6dZL$${8^<)w^NTZ>;3jqyJK*HB|+)K}RB-7}ddvwW?oI zU!PX!3-^brLOq{E_h$dn&$ zxf00)WyXy3_c>=MC;^um8F4c>S)TF2x#%qp!g!0OiRtTa2~|zZt(zw!z<{h>6qh`$ zFMpzt6zU_jcAMXril{#0DdNqvD{!69pOu8QNKVvjvR6a<@GV5&U74+H*xNQR|I>JI zSqJJ`k7%oZ5q8F*$Zfe8&6KxHV6llHhHPvYZle8Wk4~r?Vyl}61RVxu)hV^2@4Ku= z613E!{;0qWM&*woA|4}}{XGI@r~9i$b|2Kzv+DWO`i5RR+NX?s^PI(K1WHDH1OAk?$0iDd{PcYP2g*X{VG=?_(cpKaGTpTJv%*6%l78{yEWG^ zFJoJJ2^ouOhU7fkJ_gR&@3ks2zx6j=8-SHRN9m<7TmnKpm$>jYo-)GdL^;{di$<}T zX}~H(#tX59fgpYog-mZIAm-G~g(B&Vy;2LxMa%5vUvd(^xSS^>V+!heF*zaGFJ}*jV)Zd*uc<7&WQwndMD=UQBMMeosjJ{@4gE zFu8MY_zE5&k@$?+cih_PM@acoMNxJlhukoP;6(%ew@UM}35>#73mCH!l-h*ZSM;JT zV)n7=l5rD!lAM`w%;kpHXge7$@2UG~s)i63y<}^^HOHeZ2JxZxtrxgeCA7$jcW4*Y zK^6$YUA{rY8bYyNFVAc2_ILxU7qsqe^4P-CkK3n(2kY@tM#d2ww0GmKEn?Pxbx`ie zQ#1~&59mOYpgLSV(pa78LI$UC!1>IBsiG{m1^E#l7C3Bhr2n=&gglb!Eki>6a_rd9 zpef>oN-#8Nr|Ezjf)%CJhu2+Hi^)XF$TOnc_f&%?y2ra%{Q}KnNCUHoPd?CP5aDGw zjrjS(XzQijsET0O%}&^tbW5bt9@G?W$*JaClt3;JaWPpbX zol^I4^8=7buvw(rfafC(6K<)+B12|zA^u#_N3&q9cOZ4K?A}RiPAZv;UpP8V{Z&#P zJqzH&hc+ja4LLf5NvH@uq*I&eV}UH9ksF>zkYlhi);y`(}C6i?jpq z{IyU@IivT)EPnG0w6%>v@BrYS1S;uh?m`SUVR!_t4LU zNRTB3QE{z3YL$$sJX?1hi|1FYA);l@w0ilwj#q|DO0!cj4g>BTqH4!BtpRS~7LC@8 zvt?tS?S@919gXY~2tPSSfsEJ?@nY(Sm^~3idh{-z+`SL)47h-EMy?-vs7`2Inl1f6 zjWDLIE8g)~i?24;b#ZFO0KaS==~aM7Fe23{p3#W!;HDLp3EV<>hc{Mrq=)6ZJtb5H ztKn!J~J$_T7#9fpbXy9>lJ05w)4)tf`^yKzS%@a>`D9HKuD{UN2VBhw_3O6plP%z~= zt6*kCcJ57zFt?;3-wgoc_fxv-5)F{3xjh0wDQ$t*=P zlW?#p!&sdS-gWGRR>s(_>{ zO`6j)YU&eTU@2%DHB!;xDP4#c(VhhwMr3Kcw7?dKi;_gAN|h6P zM9N@I_V$aCh#4sfUvnK|B}iaj8`g-r+7_%=q^ z*V+}VF%=*+=10+7ypKTX`UR|Iz0z%S@(@TYP)gl&!7Xov3MY1Kg*?&5&2Gj?%BEJ1 zqaaTMDDI;e9_xj1^-7Eq+Qh?j9cd?6xp0N51x;L3n?1vQ=q*RqVA$me z*ZRja@zCnmxUS| zQOIFfT%I~_33K1c4yJ^kY8GpmX+krpqdBj`Yf2rcc1L&H*Z1Bvn6p}@Lg0*lQ#%;i zz5#I^uBb^agm9Rg<+n}kk+ciN)dUL&J|3Xw8$q?jF6>_++jyT6*0)(V4O=psm(yr1 ziUPJ*l4D6M+)R&mbls#za%rFMSlUtoPh;!;gxcGg^-d|@)7zFoKDX03;Vp>_q}5$x z-|=Wng@)Gy)ty0*4&5<>%M^*9*S2u!)L6>o$N;!twOkP0!@kuV9fpalZ!JS06U_r< zLc3a_{~Xl(lsrCSl7|54h}1@Zh=fIc_mB(E81>h{jW(&b(_iC=fOKbvm3BvF?sL{K z<@cg4cCI9l_Oit-P-0p!niiTjQ)@y9%~)$-StpRZ$F~AcRmy#y`SP0 zvgol@EKtr`swdu4O4_)AJYf?D$7gE$U-ZCSs!y}{-Qi|{72p&WoXX-sYU6aFvA#?2 zf5{E?h%ml&1Dmh`908g<9RSCSVfUnTQ^xL^Nfm&?a@L-|&@Gz-pA82!UMqT?awAju zBGGjYEWog#W4`B#GPA`7E6}zd6?MWs5Rb|HuE9M6vi5-ai}D0YWA<51ZRWMiB-Uir z_6RiXwJ=K>_2gdWv}I%CN9W0Pk|ws9=*X%Dc^t?T+C-HN7iLrei;;~O9&;8|=$H$r z;7mwfM_Jf^+J|!yhI%qNt}`=ZS}iU zf;94LqqDF~MP^Cmi!}XW?O&PtVMewocp$4stkg}mFVeoL!DMC$I}aD2{i4L~aqfnk*tb228Q=Wqw$&lEj3qZWB1`1qWSY@Zw z^~N|PkqjbDggsg&2@uh|LO6^Oo|atxdS3=B{molwUIQmI)|hu-)gy2SDNVv#0=}qn z(0)NMY!oZtRxTAA!zv;SpN*5Xk~67-$;bVNv+ff$($% z1D?Zo%}=boq+fE~}RsMsAxE5(k`QcCuu+nn2oJW`PpVj{aM{e3Mj{jnrwx|ZH$1x*w+5f+_Y{TX=keCzgdbt~>Qsy2cQ} zkfN4zlpsA)1T|Jpj%uQGzLZ~9+1pfJD`-LY!&*OxAkb|9oOLJhF)nh?&s>TH(RPX& zMCY%uV1Ft6>Qu_1m2s5$Ndq@K5=2cFD7#i9c_pOl*jKw_uufC~77uTz%-p=MAN|Wp zn*-bjSo4d+IVPS15Ngo^UY;Jc?69P&p_s*6CSp#3&&EUUfj63?F)uzBX>5n-WRO-^ zI2h@7p-x{e5w#V3(3nN{^`YZ1p!dS|7%dGVvC%Kn-5p)W`wIDr5H_*Lqy;hFo31muYQIs*)g5){x z?2qHYb3gOXt!p}BypJ>T6&D4)j|7YAyH%1-EC=^_*hp+wio*;MK19K!@7y*Iov6uG692W*IG=JeYG+Q+hur)A{e?@~8*tcZ&GI^{a&ysl1-`!*;+_f$>m{P`6 zT2}5ub0d1CKE6WoRvaN}VU(?_N(zPXWWLVjb@>ysV!k-^D{uS)ep{e7=XxdE2NV{_ zR4c+!Vv&qwAfLK(H@gx}V>fHi;S_M1fVWWszpkN+uOJrg(1#=I2$zB7oign*N`D@1 zt6k*qlrWwTxy#h;(p9Oyf3IW*pK?sImZ5f|2CG=X&4mE=?j5mSm#@9c{_AY`8lWMr zBLfpj{Gh8hdCkUdduL(;vmiQFN;T=*pxt!R)U>*9YD?GAd8O2&Am)8jAf4u4V!Qh@ zoQz%gKH(Rny@B}pLXE~EPIS8jU9LDBF8&UMV;p z*=!0vHqfUsuTH-ZJI617U2ryow7I@$ewUn$iOjv>g&*g>!>|l8HwD2GPPrn zE)Oe9n8C=d*VZkUwHhVEf8yDrIN0wq@?dh!)ja2@2Diyrn0D9>Lf z(^*)QByw^RD>MR!mVMvs6{DH*<2U$#^*VmIJJ34s_AD-)`;N2 zQVJ*{DiieSsu5~ru>BNx-P==U`uMUFyBeihN+>8i{JAlfy*YERpTC5s84gP-K%F_e zk9Rm7ynKf&uEA+Xg?~RJ{nB3U74zCz^DVBj{MrX65Bq?&Ly>I4kSavkQ#+39)ef-` zdu_0YoZawMKJ|Pc-03y}f8_%T_cI-RsS`;S=4;Am2?pX?0|d2gOYd`Urx!8TyV4@2 zyS}_=wRgGMJmd0T5J*93gC+ZH4i{w|nY+m8IyY!~{3oa-%UvVRDf>I(e9uuHjH~Qw zRI#a!Ty70z?Wl_UDAT;%_B}y2s+l1lng#I zIQ`_*KaWfa@JiXnX$>O2R%8Vx{*|k3xfPONp_mEYw@?=_qM8Ld-l8^N^IIxx4 zanZrcB8V$}vMu*xLVkpSegI=gu@o&I?32_S9gZ%t%ydcdUeVWkd6~`TD(x(&_nIVmFrPpDerwo1d^&Qyz zq5Cg$S4gDnLrIs^?qSI3S+9Ah=M`gwE5*eqj>3J^HlX@Dlban7-fQ*&M*>Xuu~U~7 ztzt4Kd~kLZXNVR=3!IgH5~FlZOu%!4u1b`xTbW|aC?b=6frgkc)Lq7KW01nC4okx^ zso@eZlT-mc?UrxjPV95T{YHl(bAfGTu`N7E#JD{RH*+P>>#CjlW>f=X9cOOW+eevb zpAo#TOFV+RLC)gS`xp`hm>^#3q3fh~-XeAK5{WFUw+l~hh*z16qxVOXee!#iNxVx9 zym^JasBIPqvCXURweyM2pA7hQX(vK3m$Wtr7`&BBpx6e$JUlk@Cv%KH)3J0~R&d zWZ1hXVkuTK`U9YT_xL!>ugDQNx_ysuqDSbaa5jeY*FQ~-ibAntOm*2eiZ11*R(?Pt z#9UmApzY0hvIyrjt3LCuKBkYTV6>}(3)`{#>N-9GZ%C^b!Jvt55U|G00^(f?d&#U~ zbUk;{cu>JX_{ENp#6jGFVFV$s789hqe+*u4+#2L{l#f{za2~|Et!02J`y?iJbENOV zErMBHOJW*m<_d10@9BNJszTphW(Jypt?(zYVN3SpTO)PD*(OhF8Fk|8zDnT9@-RK1 z0jk3gSo4{VM}}3^`R%f3f=Jx(KvkTk0ir~pUnAm+vt6H# zSaH`8XF4L_Mx-yo@Aq((EF{8Rzr4-5BEEkEm7^bp9-k-2T`L9fldL?Zvhg{H^7;r- z8r#(mWons32cs1~8HK#}z;_l*ZX4LXMVjSpbI{t&g|MZ;gdNH-HX|Bq&-_9Dqdel>OIC6#oTCFb_n8R z>uia@Rn59Hx_vX`h&^t^UQjok0Php3XN0yRn>m)AyboBJ-2cSVp@glcEr$`_x zYzU-E6qQ>Yvef<6Zs!+qOr7$&HTqS?(3tKjyolYSl5l-O{O-cl5%aU{79s*S#Mfv^ zteo0XQB90N=HGBi{ddl3i#52C-CD|W?VtoO_{jD9RSg>`3xMG@% zBvwi_-o@ne2Z71j0g9V$DOXk>q;)@1{)6DKu@CPu;uN=#UXhNI2KHOUu7pz$trTSt zA>9}0s~BcgBrA|>fYCAyz)^vLfx>F|sqGVfI(&KbWH!UHKSLj+KUP_@S5-xZdE}ev zyWPd`m?7=U49@Q-B<_JRXIDb4;}I%NM0?mNYZ+weym%+<5LVm(<(C|P+Sx^wkfMcu zfRyXI38Wou;N^3_d34T72I3Sc{Fa<4p%C6_4jHJ|kEIAf^N~K4^-k=@Q*Pq@E)3=V zI2=8u;vJ5mVu*!gu=*xPW?A_V9YfKB02Nj-?RD=MRU(xi<+VP{81+HDcBl!$gFUC% zjm894u}cN$gcErc6T>>a-@wOPD~{O4i}G47onoa&JCV;2Cgt1}Vy|0S*zlHWsZ|QD zOxnyj)HjRGhjC01wR#pm$i4eGckowC0( zuc_;ZXvMCRFZZe2iI%K3*fdouiGPj7ea3Y+%_vg}SyTu*Hq7t~QR|-7T}gn-*5!pC zv$6$ZsJ>J=Q$I;Ljh)33#WgVuVO4cnD5=c2TQ{(P#1a3AqVODDAT$aOvIdu0;)?D!H&UALjybMFF+XnWdZ&9>fi zvFV^SqqOZC58g0W&2|$M6o-fr!)LjLQX<~Ntjkcqy%{z*!U}M1Nn0m~ri!HN73k;z z_nyfVlk4EB2q&|awIKJDV9c0_?eyJ>ifq(~Rs9OvI}BGGi{7U^)j!5LQb$liUdxOv z=nTO(<>;Pjj7H6Kp)Y-3!h}Jt<#WMa6>Nn<(7&~KBTbwi?_48ZsGcEJ9aE`K5WZ*S zK;q(Un;isjP(9l80m-gu@)EKbYYSnRYh3!ACLFyJ!9WrYXdlVO9+$e>8}bV243!+| zUgJPvp(GWFN7Z2{W&a?19z+aWx!IR(qy6S6B*gr+x;0o#T~m@Yc0%;qdKXijIo-4waoR=@f=EsY=og3_|OtY%)<<1GRmKUJK4l zBj$o#*ir}&uKkdrLH{I%!r7?TL;6$+x&At^1(g$`X0Dsn?&;`3whp0q?lF2XK36pA zF|5eQACO{e(NHYrG;#Yg;0A;umQ-I5myqW-$2^W*94GHq?OgBCb57^*Pw{fC>LiSA z`&Mr9LcYy@t}@FSboq?C5v(;+99ZKwCPzS5_+7KP>&#as2V+10i#>_VQ@ zNIRkcdZm=(7u~@d=O4y&x1+`60y1DZNv`O*QcV7sM`2+k^MY4Cv7}HagIAE=^@fk` zo0!I~n+7f~qE)yDwTEv(d($M3>($YL5XSpU6!B0As!}y`?N80fiMQJ}6sFAQ>V8Yq zZM||dfzTL4Acuw}wr*;YgP7T5QkYQ0B(!vo3ag3^*EA&Lk?RI))B`E;)V*2zh_0V( zDHCrcG*>(x6B{F(i~E$=4?1?;5(OjQ@60(94+`^4BHVdftQn&>bs*EuQZ*l~Vc$FR z4x9@0QH?Gu;V2dfPLI=^K;kl>U6PjilSs6bNs&kQAiY5?Efpy8Hzrx0%Kc=w9#Du=IqhL|QLI^wb?dzO5T<8zVhT=B`ESfGr$Xj*MV zx6wXKqKcr4n;M&Jrk zdJQz;buV1#ObBnFm&LYXXR%a;{#WU0}si)Wp7U0wh zMGwCTThz1;$|$2J87o`DqUC}#YubRJdUANwGnlXjZ9L9+w-dNQ5Po4#IVuDvR2a+d zGi!7UD-|tErNsdhEDo)$N=>o+Sl((_J!H3sd~f&RiBX`6d_K~k!6D7oSMRtk+*^#w}r`%_0bU9Y1A~%61rcB*GlqSw=h2XTWnCbD%TlhU=CunKFEB+ zkeiJCv|D(vUxAxOSMXsQ7l$kY(_t(Ev=#2Zm~DEo%IdkHVJf=>e7u+}p)88TCgd24 z^JCj0L=dWKS=owsY)7^PU7*}{fe8bnxtR@)d4XH|zCN~eJClHl_}D(%tD<_X*6>UW z$cqI77di6%L}aMMH|1EL7(w7xoW8Pllg8l=!!=!%yb6?X-$D4JjTCnME|imudyHjJ zyxkhD>wAr4*NB8Tp)2r(%ny5OYS!tMn7d7*BL$PC(>~n~N-8&DZh{YY5FRA~#S#-m zJi(Y{l!b;%oT1hug$}Fuk<*VBKy^=uqKM>-aKL-Qqx0E)ELI6%*ay+Gcp47p3#FjK zXX-B{6WP891-U?mR~ZR-nv1ybXqO9~^`GWu+-SLE=ROkAdAxmqKxB9`c2y*z089cB zA4{Lr(NZ8MwkSFN;HJQFw-9j+8TJDMIYTtd?HS(0egap5X?l56d;N0}M zb%<8Xn#%$*QQme?KMYGh{5l?BxA@>TNg1Owy_%SqLybJhD^{Ywxr` zj+{v84eZ56a*c&>7mD+WX89n=va-lSEZksfLWwNM&HytkOUh`?Y`xOh?}%dk9yQ*1 zQ#~4kyNp3}oz6ovEpc)DMT^tc>jwU4*F9Mz;aAcrsha}5N3@w^TkbbQXnb}2XF zUis@7I00j|rm%%sH)_3FzK&UNE2rKL9*bEPlTyYBF8A_zkrnFX!p2({gP*|RacdWJ z8nU4(4Psu>3@hQ^^?@EHvDJVpE78zbc`tV~kDkRZ#;W*@RaTuOhvd5oCo^@lGUJo= zxj0Gg@P6La>OS1xEUiagC+N6;@DaRBWCS`@+4E!#+Vd3cmZ%&T`cl?x%8U2nt9*}m z88a?6W1jVGFMSAC1#t^r+~I)5Wgomb^cT^sZy%KrJ!i5y6HS@WFlDY!<0l8($2?cP@wClv;h#m@EWbRu2#r|y^97A%F~!wm z>1B;$m}18_UKIE`%Zqa5B8}UwX=TN= z-to~sNO6iBplMRRcZ603UQVU=wkMkR3fOd-pn3O1C7$uBRiybP;Nd9HbP~nfR|)F; zyF@B0eFwa)@Pa;TDa^4V^cR#SvK+7{7+2Dv5-yY#3(1OKiW%I5P?D~?UfPBc6b%+< ztB}19a3_(_Gvaq-SgFi~hx8lj-HW~Q+|-z@sOS9VUrRnmb+RyE>J@|7kw@cLXR6Y; zZE&C*Pb%Sun8jE#o1#Znj#JxRBru`8faba$@M=W)21Zn&ES6{tdxbF!(hTX~$WS1| zHwm?K4~|;bDsY5oX<+~j`20duvkfP)BrOy- zv$~TXm-JOg7#P>wHNTBSCgEqsu}CF3WmhcF-rvJpop+8V8P5`yT=EgR6bKzcZB_J~ zuwT?q%Ts*~g0^rE$!&IXk>eJtx(V}GoU5gv&x+o9nKXMT$IEIg(K3YIYzQ>LK{tfQ z;QCtWDwS$2b!m+Mg^c1M)jOUMM6MZ51^14q5<9t!8(-NXk-3# zOwudV?`7pPZooq=c;{M?%jRz`)pPtFu}29|MqomP?1S#f$ja`LCUAh<`Rg7ZrEsYU zF>FaJ`rVhMsYA>621V^a;m}~m5X$xBkuY0`DO-Gtc`9vjykOp0-b}O7yX`ltkiwD} zTkY=3AdiNuVhN7RN?a4oikFM#pK7YVFiGP-69SI8nBeg<1FB#fl!wm^9 z?6HLqSbuqR*)j1EG>w>~$36?X7vJc8G%XJL#DHH4w(g2Iq#=qF)F=KEVkflMHQl=& z*aMNPjkJ$3nELRtsBQrqT**s5dxWJ%<0!o*YM+vi>CF8F)FD;anj{tHEjnMLsgHB85bg6Lo4T?e_cOO{PkSp5u5apFbm~r!fJN!sjq2w5k~G7yfQ~zn-^mQQ8cf!z z3j2$`kO4u!-iU+CtqfMb3@}l-j$5P122~EDGjJ9v@)5k+`wb^^^a*Fc< z$ijJ%nvKyuduA$UyCBKe+n?!f87wjI0+)rcbAA-Xb~AtlzfyX#w{2O#L382z3jE%N zqT<-;#rE*+6&T|LKDHnCn_zBWhO5f`4X@6aUh4|k>SaoUtF7~p4Q=Y8IjdPzT2rv* zv2PIcEbFsmmbP?Fz@IO+W!5WS6e4jom)sP_PLT%O$`4bU0l$3kEfviPqxUr=EO^gv z%DyoNsgKkOo)%0z3b9OK>0o|06W0^>Hqb{<=Jk8y_%|m(@%gX?gtU@cIh78bT2Vd} zLNt{8(6?1LIXO|$TnI5pn4xBq_PQ??PYcB>3%Cwd!IjUbB1=5DV?P{NAZJfW;M(hb zOV}fEJmvOylLK}xqbW;0K~~ShP{^S{jrwvzDtG!APMP)_Kb!7RBqlxcykUk(A2mZK zyQ!6wT-wS+4yp{-Q9<%s%WTbbA>9!5bYZG!sGxm8*`@A15VjtazN((YB=Mq^Awdc< zXovMZg;7aK=&^E@Nir?B{+SoSD@*Z5Sk6d!z$uJp2%r!S6dEdBWkjF)Y1QD;!*p=V z2R7ew&+zJ~^$E1-m%d!h%~XuF_bdSDNbJ( zFweftW@jasC*Z4}e#G&xzr37l!#(kf;mzlb&qg~q{D`BCcsu>JkwJ`+g2hZ0KEABH zG`&E(=`|_U?Wk0kta$2MMLFJU)=B^UC3$b(W*ggpfyTkes$5b3akY@jf)}7LAN2cz zf)}jMok=jIR;ny{J}DgHz*0h^i8aol2=5g%tl%Y)yJNm2s~D46G7p`a@&_-^C^%hm)lbV3>Rxb8(fT->)%KSeI#poGh{(Im542p-( zWzs-hG(J@w?)X`FLH~N2XL2ZL$fA)q9ghR2dTAO^e>F4h{+$ydxkmC3rVvJ%@-pq`nNS5hl;3Y7L=zoRLfGMWJIZfDhXQHo z$yZ5@=81VQpF78W0kVNFQPlu5cXfu9f{~ca^KE9BX+2sVq4|&YCYtF%fkH!mYmzdNcUt{){kb9%5c$J4md>52^=dy z-`QF8y9?KptP4IOU<2;uZ%{@zFSD$EBf96(*J>>D7o-VjF8?L@B%i@#;QMwjgzwJv z<=g>8pz4+Xa-oL!$Lg3GC8tExcHD(BDI0PwTTUi@g&y9%cRdVsdJHOkQ*|n3fEvLp z$x^InD&6HLFk?58D|br=v7M@V36?}lmhq2Q^!!Zqm8#VKMm1ZrP6pQBd)J$Gy3JVR z>LKBK8+&fp@o^Bk)16li{TP@xo(ZC`ac@{}r%`P;;hro>_n8 z6NAozsm0W@*hHW01D#3^C~r6T+_nOgh`*6*Y)Z?lYd+T{Qf9mx`7e;F`SO01a~xWy z4BW%2@pKvsPow4H9*X$y!+>NygW(D>@Z~Cu`KUM9^`#UqsP|n%o`*;dKyXmn?(0Eb zotY4IS1Qmx+t*cBlSq)e31nH=Errwh)qUW96NWyf=g$c4HG*!p zt?y(KPpfE=I2+WF`b>@$=4qM5x{#%LjPgGfW5 zsU*Cl4P!A~r2j=4b)wgA{zS-GV0O}p5p|V^`>y~lJj1PvJB|dj&JTAH3*BV8o?F|L z7=u!K!|Oi;%zM_T{+m+Zd_%?}T$V|aWAQ|6koq1ah>*0rKRdOpERsDgA8q8tZ-vq0 z!5E?npQDmcA*BlyP;lgKFN3*G_6cY-smMh;8x|(>cabr%xdo;3QM)m7DRIl+ino0Q z=C`PUCGyAN(DXjujp6q0`0`UtN%V?O#YbuJcui^-y^Dd`81Pa!B@$mJPjmNrWFXw; z?!Pv`Nk@{1cuP^A$a^_4ro6FF{G+4o^giY-&9p=zIPSP^(mKs6L{c5twpE^xSk(Q3 z)tSV3nvUcEF9L-tGpFx)KNz!haBOLD0A_XYV>u!h2>fgYG`E}*#PZ%)I z`H05&+5crhCL31^nv9&{wwyLq9f|0h?IB-#%>-MthE+Q;X>xKX%4 z`;Fiogkse{@Z4W}dxIXW$*y8M`^P#HJ+%Br5d+j8y25E0LYNE3C(`$EL064i@L=en=3ws~%1 zEk%*73No^YNWdNz#m#;%H1*YfF1X+L_S|>5*1woCa#4mo?N1JoJrTnD`o-P9w(&>T z4CsNh3x$u2`Z2Mca0Lg*AdpQ!;sYbs>2n6l^9E`>g)b8Fho)}G*(C05M}EshqgJ55 zj=@m`m&Q4_7yu*l{Dba>mgo6r$XcXsg4uQ!P-A#KW|7=<#fN zvSb;G=*#M=yoH$GRjB?pzP|E-WNn%z$iPl%o$ZjSZDOjV?!^nx^z^mrsE9{s_w;Kd zI)IiQEW5$R*oXgmF`v=cpTb}}qDrd9!^eNe%QsB{CKWe1s2A&iZv)|h1gwel;W>!c zFVR(+nD{wQ(_ctHld40Olm>acQ^>KG0zWe{HA74lgO_lfG$`L`9;m0BOrM|Ih?8*e zPXmG#%o2iV$Qc~i_gD%Pk9akcSh zweVmJMB5TZm`mx5)kd`e4?K8z0cp%JZ}exONHnJb;p8NJJr`!ewcM-Z&h1JOmkx2Y z;4-P0l@JL)ZmUv^&_*_AO`V&>#^QP`$5y*%d^8XFdiTYB{Utzh-c%&-9LrdM!CdH% zegQd55J~U$ympSzt)$~WW{^yxIY`36|9J!A8iyofXh3<4MAG`|Z7FzB_8)d|G)Xsd zNl8(})g&}lxW{{yS--{Kh^xL}uRELM^7$>yIt`~a|6%e;(;HRec>0Xu9PLKa`}=*h z`z+CHY8}R%2A@Ns`ZOPiO7>jMV$tq@WY{rj)Ye$-R&9z&1a<0wDY+!-K`HNLY%@da zl|t5D8f&VPc#7_1w4zVxS~jqcbboM3s)y*zf06As+>Kq92RN)*sR&P05w$4Kc8!@dwpq29MfEoiLHoV7!M%3myBDuyf_qikzP#$skh=}xSLhT%zmvzw%i zF^D+ugtbWhoZAyR$QcvowPqpv7WSkPjJ*Pd`1hUwmkK(A#iq|RYt23(swX>-@;g)O z)r5l+ma4*o(QhE&6#Q$OxiU+i8XSsP&B>G)bRQ!au(vRd*P_|uaLqDuZc zNOvFIqZb_+STqQFMgcY;5F*jI6o=w6G3{IjkSX(Gfq?r^aFQtr-A97+`7g+5Ms~u(&uEuF(d7+3q&fU6I#b?n;p_aH6^#%DXq?KU=;EFpApo@ktfJI7DP4>=c08+ zi8%Y*h!H(X8ZCNzPFprvYbb-mC?Df2^Tc{(l!FpWO&wzPQ+jDBtk71RbLa5wkN9*E z{5uD}-h*=cd#3&!GJg)p@3*3CKW}E=w|PHrRbRJpK==)?0H?>|dB2-heksY?9Yx#9 zd&4JK;d=gStA93ilc(vC;FX?7jL!JSv6Gk6pGUG2qH@v z2S%J6uD9rV*(?grLG1IwQSe!wHRc8crOZTb*8C~W01P=Daz5bLx|lez`5HN|PAzlTg3Zb2Y%?M@Z553Z-7WET8Va9hbrm4$Ft4_CV* zmt!w|bsI6tbb+-i;N{u2o8H-C6UTPE*@GV6Otq6*Ca5Yprdm+Md= z-H{aZMkjBud)O|TZ8)kyj#u1H|XYxaC zfxvJwgyT!{$^7IA$+ars{Ab?#Y6r=K%581qYwpoARIF*1GyqYHCCU0=4Qb9j-mZ#b8}JA36^Z zIzufK{sl)yM;XX zQ4iFft{sbs6+t>`xDWOYSTI&MwV05*W(M?A+Z?7pmBNO84cINbLDH>-k+hNg6;6Kd zW{_59J5s>~k;tRfx(g_N{}p z`I7i^jz+f)-GI&Lpvh!a{)Sowr;q0h`A-GlmJYrCp0N@vyYR}cmTi=O3Kg?33=A{9 ziqII7rhMvMhV<|!8EUs|NB)6a`NswIKK%(RM}*blny+bR*||j8wc_n)*vYKvk#R<$ zQydNCH|t*>(Ce_o9RA+((!lam%+pnblqj25xXhGwEh7JOIYu8yX0k`EY?Kh4z(tn@ zSi01DN`h0k%k+uZTmLUh_3yZ?kSc>;iDSY@^rG=xTNa$Vfi& zWH}^#+Nlig8w3kkY%;qt?f-HdB0!dX(W9d*uLWpsMhQEJ3EO+n@zoTK&!H)eL#T5` zM4p|sqoHTH(`7vp^)ou?;#GN@3)W@v@F~7KAn&dh?0}%&PTY=qRlgOdK`h9*(*nYL zYIxwu>TgiWq;Z?LqiM%}O_tF85UubW*SvmSGkn{p7vL70IR8jV3we?6AR96q%E~h< zTO`XRh-)VNB9^>D&56F|ifT!o%4Cg}bu+xW!$5-e&sR1oAg+=GI9+jSP8H;>vtItM z#aPzq^p!0uDkI)Uo7}{KYQsGy!}?nALx^&^fUxP)_g~%tgD%znCTzt35|0k~>KB>3 zB*5fu-3ctHLfJp4ZKRZ-@A!v{mSb^}W-3sMDCi^ru+WsQZj(Mz$9_%wj~`lEo4gJ) zBwL~3q`*H-zq2rAFZPB#K^ZN#{`mgtA8UCb2uF7m1Eb%uEO=h0L{?wh^f)ee61#SX z#b@P!zk%XsLJFZG)kS+=R91+7&8ig!83^^V0=*{+0~x2k;HpI*8vdr< zU+RwfWLSn|bP@$N+|EJ9wi0VciY;}!;?5D3cP3Nm&hP|o{rPY3pi zZwCcK2tr2ySCIC>O7W0OXH`zFaa>IY5p%-PIdxhNIFr5E5IrbFCli=}3^H^nr{fK)8%&vZ2#}c@lgV7-&_P3T1j)4}1Q#o;NuiAqNdpx)msMJ{+N8nVY=$vJc|k(dE$~i*&kt zk8Wabb)lq=bE?|4YbAqHOHSu2`@b(tZ|bME^KRovH?!}533+H`Zh9T$`*#2p?_~s1 z$fy)A`aIAH@V8FXtj6Vf)s_l}XRX4)-|33>Lnw<}b*5vJ`$wf=2Okp%{TTq>?(1ZC z8*mihVqP?)4rj#pUyTaW0y4s9Po@rvz;HOh3t@5tKeuw8u>68w56l&8rd7T-rAL0S zzX`}nwgas~e;&~G`N&D;fulviyene0wD;Q_OXFy>?j`UK(@(u%Q*(ekf*IwUE*n^x z6x(&ol{R0$OlO`Oz6y<%qE%%8b3t%q2!u`oLb}N0j)QJ`4-ERfM3gELL${C$e_BSv zD3=}~gWTc?$>=OOZ)KdXkPzrz^HFjHxN>#^n|;|6qh=a|4tg))*8J%><0;q9^sI>2a$ zX!|A{$PZO(T})^A5pFowmEuLha{Dr-J!^HF%sqI= zi{3+7K4?HMeKY1?E3#O#?6;%J4CP?+lsJ&OV{qe+q5n(2T|svN2Wu9r=)9>|X7YI` z$ggm{Q;UEs?rjmA0LuS+eqom@C)05}^06=kC&UGflrmSxyd99X5+w@u_$?=L8O0HE zblO@e&;}~TKc%!er!ER=40~l2C?fC$_-8`zVy0|t41ikF_R^3Rlzeb!4DjM&UWJJO zXCUo}^S~C&rK!o;|YCwFOQbKHPg|wn5Qa&B6WsnaRO5V{-q@P zQi@RxIvsd&MNbe_bs#-5D*;MRq~6`)HvTnxi7m;o8?G^7f(SH5Aky(|D$#*ruhad- z|9}5!`cYSC_qI-zPl2qU(Sr*X@o|0H7Uw==Ar&+%+BPI=!RP?440yA#Uuj)P!)ocB zx#7X3ZazUc)TAh7wn!4S)Z0ghf9tcj*IcBp9#O|1ALOAJG!ojjv1yg^Gxmxq|$h8ZGpK;p1Z^R7^I{qbAe_Kc?VF_-YB zgwYBWyaOrruzxi5fu)){;0|C3l*d4n2D%$=czj+_>GMKr&9wSzTZ>w1JS>-wC&Os- zXKm@Vb^k-3McC(JU;?}a)G>Kr&F#>phP~{7hbf~@WG{UiY88;ywDbm=Hb}4ZDQGG- zmkM)`8*_)g)}qRT4pBBfRpcGLOS{5RgfYA*G4tmO@AoF4&Iz{)Z$rXt$8x_-3q;7u zqLU67!D!|LwU`PPdb0(l3Q-__cr>^?+>%hZT0fBiOuZ^>@EfQ}{~6{G`MrKi)l~@Z zD6P*Q!E^E!=(^D4Xg<2aA{j0`g%0Iq2Is{n;T249{-bV5A#Y|=+@QZ79PQIs%ftkI zxK3iE^c{^0g}* zO0MCql9}<*RREArK0~NahAIr-!SJaBRUyEM^g!`z?xqRH+*K&zsp_F?@n&axC*x| zGe#`ePhO7uU){2&yhn3m(c~cMDu60Y#r7&EDR=p+(F=gweH-C+r!da>CqVKO zI@3bm^52x9qVizU^Fe$t6}#6I$!aZ3fS8QHC;-B1?uNNi_7W9k{gwo`SwB64=exd) z>lmL152NLZuqSPg_aW6=O+ZOzSFRr%P&%>P;zyfgV_mF~C3=X_9L=BtlZ5h9VDzj3 z&(@1!y)xV!9b$i&ty%oT1#}<0bNIPfNzirzZ^PT3cf0$runX3|oo*@f{%EC+iw}HV;(8;c?SDOr_Gups{Y`? z!C7>!TFBd(|2sWX0j9IqJ?;9byV9d6P@vrhU~_la{}$2df{#GJ?fVj8b={dHg0zq| zF6R`P9>9jkqb?u{u7Pze9NE7$u1WmHHLGms$A`|w9*ejX8Zm_+6qxqO^#$*n{XA|U zEU`!{FvH%e1&5`-I_`l3k6dQQ*;XNO1GNHn{Vntqk^L^ujT1qX`qVtuClU9wT>Jl6 zS|MRmd9x6WYZ`;(=}YYjuW8hvQFb8VZvQ~1$x}L>($+S1O`4{}gK0VZo<4QjCU4_z zJDvo5U+?qwxnxdwNuruA9~}}s{{gl^l2Hp%%WwWz3v+=egFd|@|9kj?jhMy8*BnCM z{sQ9n4iHHJffnQeQ(N`V=C_Ln>D5={tMxinb=?`G?TJCGEcyu;xM&&l7|0V9TVuNf zWZldQHEIXU+RbGgDnKVn#>@$v^}Kyyf*K88&+|scN5j7UW=^Rf*BT-?lxXk7-_b}4 z@Bt-=M00xO1sO3Cg9joMU6#Mn^-GZ;GP;6*!#;&?cWr;cCKi@pZeBvB@1o5q@?08V zk68|&xvWRh%33Rzt$6~`7Z406o*uZ*?lYF}XxL<+7as4a1O=&l#Kbu<(P_B7|I-vcW$;eyc5_GYwpTV)& z+Ujh1k=^AGzKcs0ZC85R_F%P{a-8Mm$+m^;Y3a%?skj}4IQ3P;JPIX_q>SHKg=f&8 zg;7TjeM4>gIIInR>n1Wk7skKCf_P%FSyFl)%m}Te%;3L2xhQCJX?8!LuZpdnllupV zI25-Vd!cF_YQVC^Z=nXSAE%I}^KBYB*S}Ara7V6$8}I!>oSxu2Zp9e-gizr2B*A~R zyeS4~e{@vivfhIkE=_SH8*uC?H@FgJU-ca$Lm(CsC@mF%^EqLDz-spzTS+u1{84G_ zaF%K#_`4uN*oz#77oO}jrw2fG(8#fPW(w|~FhpaA_q%S_fW-IZ1&7N2J;(D z%U6e|>kthv^lg^Rt7qSQ%{$WNfazNScfj?vJmSZ|5=1!^`n-$)X1+rqd8OtHA(T)l zHWXu=`t^CZXhIIHkfB3hoZHTxPLKjZP2C zR03L?3N!zI_E&~x4z(^P)XSkEB+z@jzCmS*+h7QWG?=9NKsYDOU6_g-!uX;>Kz|>K zIq6pxn@HrX^ovA0mM_%wScBKg>abtFRaNAy{*gXE2lVT$oP?x{h@?CDx|XE>SIY^k zK;&X@hD|$?_hHjD#5jcK{~EP9^K-dtSJf?2F#Jh+E;}OG9rrSTy+MjqyK!fumRw(J zO{V^%3Z0YT{-pSwa@wlr(Zltfm@i4*BPffdryPUoG)&=ufU!v}*Iyu)*=!Z~RznL2 zQq$*EtQX?#sh^SE1}hHbdxHq)$$ci*aLU{X?!Ob6`%4pn-mS>qiQCquVEAjta%@y2vZ%(u`3xV$!w8N>VeLjLikj*UrS!~VFJRaF9SF-t7E1KPh#zDVX%mCh=)<;s`et_C#X_L9HFgViZgL0ll}ibFK^6xRYSWz zN82?}yc4mjzeb*kaTi2DIK;D(|3d>&U|K=`(n5CU`ADJJVsoU8Fry}Q)_aTSars}Cf#XbqOLO}_sMeSTq zW3)>e$$K+I!6Kam(yWv~f^@t69nOT$NDgsrwDbp4pI9a7m!2bN-YRLIBQ^r#Ofr6{ z&|)3@7;$?Xq|qdq@xkY)f7pV>$$D?vje<)W54&n@^5#xnW@tezC;I zPZdRJFG$EBGYPnxkGmN7kyz)oHew}Ay?e;HG7;=XrcvLW z%U(hQN=}M&naga!m{$n8gTE(sNN5?AeAv}I(W_F<`VCdVz!$kG0%jZYqb}2dK&n_v zY|ekIo?gg|hM0o=;V=qH`k*A{fKD+oA7EcAIHVa!UQLOgU}+qpEyPDf*Vq_SI>*HZ zdseQK?K!S|>ts`M4hf?@awNaU6GNYL*69AEx7oD{F*f_Q_a4_U$k9H^(x3@4}_t^-&+{(K)y1oL{s?hixT zqDvgK9);m=@ka}$8xi7E?LLNoY1ho(jGAAxC2bt^qM%{tD(b@}LAN;$ha=9f-@WX( z+*&QQ3FGnyH$R+Bzk9?nyfek(WyRz0>)mpmr`xwtoKMWCDc)0ODB%H-ZB-9ZM#(O5 z*vgJimeKrpHSJ(g}8{k zsX{d;0sS{o%QUq`;Vk9wV9$nBEU%FP!iSA;1z88&~Lb_f}Q*TGAz2B zF%`L)!z#wAIbw=uTuHEkF?Xyg`T0r3J6CBWpdJ-CA1^@pNZN~?OHBMRCUEq~&2Cv6 z!ZY8O@BkeAThqsCP5e5%L_bPoU;koA&e2*ew|*A?JHs1Kr%u&6Am3Bv%3Fs=pn?c! zTlbtCyPZWUFr+E(T+DSQHc@}O74y$?RwJh@L-nP}>u|@YrC6CWZpS4l4|erII!cS& zTPqFDLLGGR(88!3QI{zBT;LDSyA8B&LpDYVTi@eQJ(Xkb%H{v-sfeVMorT?IKhY1sTL)3V*rc$~62PWjm6TH1fr7 z{}cjb?T@ARuHo9C51!6<);So*sv!uh0HaDrb25$=v)oA>NG=AVOZGZsv1U&M`U^E6 z0y*|f1BuD~{i0-N$i)sprh+&*rlE)5Zvw@Y z4+`yT|9{xw(@+SAOKmz#%wEQvyHTqyw{n;@vd*}7Juc2qG7NPzh7h`pLV)8ozR+1v z*Qe(^%Yag#W)8>|M@+Z^;a3Baz7|xFp`IWn@`w%Do=MZzv(<*{M!u^bp-kJvBsK4# z=lGZcMkk!FM?_*@X9pg>YkaYQD&Va5j*Tc~S|4aps*5i~RST1>F4deHy^Oh3>gy{; zV5s+7Z3C3J&4DaGS12t5=QEtqoLRO?GdVla^45xYZz?@hBt?@y9a{38jPHLc1Tc2y ztH~PtgzXUoE{m8NOl3);kCPUm;7_)@_CX%!wL36(%MOtzWCxg7Nl>%-l)fz3 z8V>8thi)oRgcV?ns5Hu!%L^eyS=FGm?s6=c=`aE^WZ^zHV@tj+4pPqP#%pc;q*c#7 zep-kCYCEQ{OjSkA?$*9c18F2|P0+J8Fqn?_r!95);MM#L3%}(>)(57Bu$5(hAY7%G zecF9J)?1C6#2%r~a<3BW?`aXia=!)7AocayR$g_QdIes|I(f$n{f6wq1yNB}^_tvX za0`51<&TPLW4XV+mSX*t!EOx-0mOX~fZ|z61jR+v))oIMZN8nALYECd>>ZJJ8p#V< z_4M|gqyRH3z%{4M_pTCE=(GEQ`gPaCswRKh`>dJQJ2=>6A;p@C7|>}R+P7sXB<3|7 z(7XFp5M_|wb>1)x`n+jBV~7+T{nA22OZ_I`?y>UOWG|P&EDMsKoBI(P%;3DLi*xke zOS(ds6SY-V%z)r=__80L_GgvQ`3=SbVof}F5eR--mQ2ts;~(3!zVFIT^nbe%K_Ks0 zjr-unP>iKxh%P_=aW@PEz0D*eVB;K@evzC7CwyjVpS&ndLYDeptL&O0prcT#)xKH> zcl95<@DLrLKzlAmij(!can#*m9Z?_F@>lDlCM)UxGS(Te-E#<2ZAjK(+_yjTE(kp1 zq-AZyeqU>(KkG!^^}E2ejjg&2nzeh?@ye$>mushhWr;#8;HWTsn+t9-4Dy@YbtWuToe53L!z_6f*G0QV z<@Waz{5p}o-i&{TQkncarT!gmUvEa=!>SBlZ)l&xrMvCk@8QwV|$uzc+ z$s)s~#U&z3d;W^ET~Q&&*;MDTBl-i#u5O=!9(G8LAdX5`S3R7+h0)o@r{&I6u4_D+ zgE1^UYJQz>8!jl*!r@j8fV3_943nbWO+8 z7)8t3y}gL+2RdQS5P;*C|19728-;Yo^z@_4nyQ-x$W&P0Z6+7Cl&=Letb|6Q0dJ)~ zc3H#OCDmNT?vejU|9(@=@5aq@)!LlQmNR1vvbUak^}0^UC7K{ynTAe~A<~}R|9o4M za`5-rYVgiOWIvl$`e@U)b__$B#5c5Gyw%e90+9$1IAW1_28FDvl5WhjupRwdf)U*A zjtNu5nywJK;t-`lq4kLxdl7^H+JVhKH-21Y-TLO4$^!)%cp@{+@yUtQ)?MG9%Yr?+ zG|3(}hF71Zv$aLuVY9@kBgP891tZsiQnt{ya}pyhf!4IvNNJSfR7Lh{(_Ope$#~h# z3}7q3HT;)v?W#$?yd=S)QaWBf3{H$SQ2q2TaC~yTOf@*sj0$JJ(lrCEvqUf)t5w7pW;LNYOd1Zs~B|LHne0g-&s)n{UmXlfeJ(>bH+>^$1 zHkeu!+bE+TA@m*2yHi0be{EB(nDEaW`9;lCwopQ$Wb ztvs}XREWLShoy6Ey@t+?{x0of)*lvZa#IHG4Hw%;u>_i7vQsoe`ovuV-Uk65c{J+-RWA{YVi8$BOHTgy`K5NF*vxVkji;40r)>6o{E& zy^!=`;4HnA!f@kM265p#O-EVZpP_2~I5?5RZ_M{jlD?f*ub$9IzNh1YLY!%+^C6o< zMfiff1yQYciyayUj3ukFVVoMC?id(V411jE_IFYTA>J!bwp)Ui)FIElmwtatj3S*nn|4;eh#D=8tl%jNC^&+J-=pVuhs3q>RFc%;4~w-PJnI0eHC;XxpY{Oc~l??LviJouRgi*7KIhGV8Y&wh24*a&J zRvkM$h_Y?Mr}S*r7MUPDhGq?gx<<#cYSYaaT`dD<;XqET*LhC^)UoDjYqpu+LTI)) zN^`dHO}fX!B7Qj{3!!wKtGL6Las2~yJ9MqNZ`@nht(iuo7v#D+Fqe?CX@tWVlvZY5 zAu^UTD641Ev4!@ESf|V7##2I|KHes5O!`TlGkF@Pf700v^A?SebYcg%4H9{Yp`~eJ zEiev0;A(IL*KGR8>+4yfYd&%+krcJ^}PUGh*SB>H3 z>X@TM%b8I*jpo=0(33Hj+@lyroW!Ua&pX+5SRE%i9=E?uMK>>AQvl^KH!_Gw?)Q<8 z@fuo%{?Jd`o7$o?(=w6H>axr!AP4tK!;Ar@Pt7?Fs=4H2(deSig|GE!!HbKk%RZNe zE$#O%D7QlE;l+=)P_mmm1JQkh&6oPDC{3gHZd9z*;my;w(#8ry#GJPNZsEgk?|FF6 z`DO7nMG^8IF8vWG3`CUbD{|aKw!gD|aN%8B4HjVQdIw4U_P6=f$9QqWgDre-OqT*C zWtex!c1j5y6NDsogIP#zOT)_Uf^udCX^63B)|sKQw`DL95CB`lZpMrWJoDhN+^^wq zKc&}}StU%uXR?#R3K#_GL$`rs1Dj(2VC@(xhj7B6S=7e^Hx<-m+-)N-0Kgr4vmu|~ zd%K|wh7RJ{og4k8_TFVJ%E3n)Al^IOpv9@uY6Pk+2ffG6i7RGalf9$5D0K{DP4=)B z&|FVB;T%WSPV2xMN>nw(X9v@njfoED<48U8J>Bt53MkT3@k#2ko^wxFzgI--HdNUN(CZo)uyrL<{p>&9w9|df( z#8LX}h3y7yYj&OnOGHJGP>kh$jlH3gKI1^3!0fY@E5j zZXvAY26&pSN|4XNMrhvmu`?4Rqj;tbVi1u0Dk$uSWrx`70 zyl)gK6{MPvxmtha7)zM7%%jrfcwK2>1ZI9)IuZlr9bW>&0|^tRmpLwiMjR`4m(N#YNOBEI}+08(+n zMs(`~P1+7+8a^ZR#6295n>mPuJsdJzd^J_5W*&lw%W0)os6xLT4Yh zdp|6(3M)ARDG|0#`dk1H!rKC~Y1!|uRWzkiqYh)ct73|cq}^)PE+Z^%Twj%9rZfRzqaz&`>*m4tg^rz}@Vd|B_O z)kkhm3D9NP=$driV?3Q;p^MO7MD3?ofqr?O94jkFtL3J|#h??>H-6V7Yrl_EWXjwM zHOM!GB5D48%@4dRM-rgpEdO`8G>amYdbs*{UYm+^8Y$77&DGnQBB2UawtkX{^+S*zulB74RFA+;Rh>vfHCq2H+~x z7}Tn@O~@7Rh>s?!xn|HNGLFCu=Pf52r*{!);iRkeTfOCEh#-n&MX`5mwJ=`7_ae1z zCT~Wl3DC@=cj*+YP-G$KYs6kEGk@A~Rrf>#uFzkKj?#KE>qw#S)U@UAQzL9q)+X&j zJ`t!=in>jRBWt6s=l^kO1v?bsB8M}AvT<9lP#TadEiY+JRahbDBHpd=-;LqOXGX41 zl4c~*m~$xLgJJ}6Kx`+-|4ZP}qopOQW|KKX{(5=Oz-in)XN$*Be;7!CXWTpeq&4>E4Y-ms$KM@-4y%e>?7l0(fcp6e z2s8Wi-zh*5FVjZ$wsEaph$r#c9JisHO&Y$;UbhEF6$~@~0dtKrfLF1R(liV>w)H~t z^J7!2?7lOTV%uS)2**!SiV1JWFLvEHAaPXbS+m$m&`1s{$s-(Qj55zTQat))B7WOf z3LUHCbV6iYi4FNw_Iw8cZG@;UlAT8!bC>f46&BON$xRM9N8PBKVVCsI`$aIe4a)u> z!~ZZ3Sxip_((22OIzB)1+;CqvEsu`46F>oZa`hT+Po-$ejR#hR$9Wtj7uf*L{#Kfd zgdAa7h7Qg~A)2@KLVNCjW^rx&`bBsXFJLRoPEXCPM9DJscP}?hQ5c!N3^}vt#$_xg zafOc7zC>N0Df}Y(SbrON4}Qye1`Pir5KWai!2<*lAgNW4qi;15R4Y?w#9~tdcsc42 z?ZicIkiWu1A68spl3yDe!ta&uY~%|Es3tI?*&rd@mjO(#S@$-6!GrO2OLT49FCN7- zKwiD8y>B{kg35CR<%dc0_}_4k%XAb1Ft?xSy$R7nR}Uikz&LtTgw9`#;_s?B&d`p- z!zCRb+)F4)m*aE5#vpbY z^96dOS~wp3>oR9EE~Bj7jjzif#+m}sAK~AxG(YsenAlIFhdBeH1}d1f8*2J;Icmu2 z?hJ$wX#ps05?FSZ;6l}+SKUH#)8L8!81!^**FsUN@+~k1bwm%6fXD)#cZ;8hG0ob? zD$_4(IMq%h@mB$!;Avd$o@gLjZb~|dzbtgtNkXKAFh0{?3Z3;`SAs8Yq?<$+gfhUJ{TqTNCv_Ew&8gRVCe_JQBZ`=ri{TsSLxk6h18 zM}AZ?VGw=yo4P5XRQunk*)e%E4JwJ7&sYT1ZurJ=Ypj?JzhbhHl^qbZ`86km8KcOKaef5Z*f~uV0~+;twn;#yh}FE=+P&8u#~+ z)d}*cE2VQQ;ub6R%=|0zE}C7qwU*Oxdr`h9Hw-))H~K6HXp7cYbYf+3iD<4Cjbz-P0SZaQR)n3}hIMqcwy{6o3fkBc za9TkZCvYo&c&j<$+ft8=TfNE%W0N9+;a8rXflirY$VzZXUH&A_O=kY`BU>7#xR^HG zZ52Pic0TCQq|(-0;flq62A=yDOT(s=8&^B1(+3EjhbvtuF+q&~UwbA@6Jz4%^3JR^ zLdn|t6e~*+@`!Q`tnjHQ7MMr#wpI=&BVFfqO0m)d+}4TbHsp!9`32rE&<;(TM|*Y5E`R9D}ObF^}gVCF^jmttHxb}ra6b*xmx@#O1#Rg=H!gehA}0A7Z%44_XJ|;7G(Czd1Y@}f zmEEV|f`a^%Ee^;T_5V&deMBh$EWzMn8O+C|hB;nptyi&7iL+^W4sc?iGOnPZH2nuq za|#4dj+SF}qTq}^6imEEWzO|IeJoWoNrmc3`%biq-2O$dE<)Y!O_h+v@Qx33U-Ll7 zissIgf=h8}i>h-djL}%QF&*F{zjL!yeKxks1>$LMj(*w}>=ZS&0>eiEQKf^wlgr_; za@sbAz;%=1rMoYLHN(c^PTxLh{Gq#=DB5Fu192Jd8OT^B)alo~%d&)=^u8jwXQ+(r zp}~O27X@na8WpxrDTLE>tG|VcnpNNX5cm45wTZ=a80^(JUV|$6nX|9Q`KkCQJKDo{v;aUauSS18iMJGtv_gOc3yM0y(Eau6In6Bru5l((IgetmwgaCz_{yGrwWJ z8*9gw@AaH1vfAbS>jp(B_(JTuS$^)adK#J81FRXZ7RT+_CM3Zl0S2xl84Bw7>gfT9 z2GD_&i;?T@7+ls{$zRQ3bVL+oN7; zvl}_L9P)vo6cA%SZZ^(leHYPzd(1$Zd0)IB16kNj;9 zkdaMR6*uc@$=%kJf7Ua570BqJ5eP>*jO)Wl!ASQk5P#K?pV&|G__)MU*6kVaFtcu@ ztp2ElWXf-NKcKS>N15kQHO3DLaK|G=(Y3S+`*xQ{hvisdx%)@O*_=dxg(7~*d zyW1}jK34d7z3M3}CE9YtqgEV{wxUs)Z6coG^cRnysT7qfBY4rVW75butcKtKcb?P> z%y(o~I$<616Z!5nYlNr{J9vF~Q5rRC!(a8qr|ElUw0o zTL+AaLKYB;n@$f|rR@(~?|h|dpQ_GC*=o&%HkknulK8jGhBcll(A?$b2>|Fc=`E{o zyx}zLXu9$>KpMrgSSmvxv!wQEfcg-L9mH_Gn8cC(!?gL=o8Vgp(G1mG%7jriAr<&t zZm-+);o~M3K)cd9-E2#Q_Ns>ayu-khJu6~cWk=_DPf&R;a+Wqooul`{BmV}Sso{M0^rlKn|KJH^L#N=CDphaY)Q-i?kLoT<^~eK1b<5 zlkqx49Fv%0K>qI$xTH{C*Q2TX`WY$wx}P_=5_?(d0FVaXHDzUVDR@53nqin(^v0e& zG}ttmw5pc;YF%Er57e$3WFsp8CtJxRzvtt3M(%GZVZ#8Z>eN!hX+{yZ98j9fr~^~4 zM4UI(Ei-87GD(WM73pkge3n`NS*k-nsfD}uq`aA-zSd6q(lvOF4SotrYr=wjYKvI)$YDqFWuZO*Zu0`UB?#V^I4%=bMXb^+@AoFYP~Obuar3x1j* z^&2I7CwQfrMiR>6&xhhFw zCk1&4ynFX*V4FgVl+OeT3JWem&YG*({7UXwaT;}g@Z|@%xxLnfY#JB2W$O*Z|1N=Y z`XH5x$Mv*l#a-(UvwS)w!tgOu+2o;$_e`QXPyaM-d1S+Mpv(cXy-Uq&om@eSo%VA7 zVWz^7!;<1=RqUu1IlfML$2GMsX*~x)sy9|&4Q0|HyWEXj|rgn4H)AE zUaVEZ%2^iay*-sFeQ%4ovul@PK@8Qq`)v1ixlhvr;0YqEc!G@o4cW5H0DkAndyC!k zwzcLlEypb+iZ7786!egzY9*n07#RxM&F-&JCym#ATLJ?MX1lFsDJtxv9ky;QwK<$z zejTtU=mli|0pU~J*Fon{4B$X5e!Oij>mA2%tA4N*+_xg~z-XlOf-%%!h}D`L%-!S`l;| zf5FQnx_YW!E2lnAfz9;c|8rgizI--fl?eJ6#zM_^gJ6G$^qchIOE|W~)W*M=tG>23 zh<`YM@C)6bpy2QXGG$cv#N-t1Zi>)xZ?iTgD@L+z%_UlkU9z=xSwd-7)g@W}Z78Sz zGFy>!BI~Y$sUkYg>~7@EePC|gX}NH&t*Ya5%&vQH!IfK5obaQ6Y-$X z=^GtO1dGI#+KaVWP?QaFLmg&;&&$=C_)GKi*tFIXN)mKBF%k=A$N+A;N&4b4 z^H$zGkP6rU?fYseJbnz)vu<@HDRKk0WH3!@!nf%)Cjt9FFilMEC8a9nMhNZQu+jwX zdmKd?v(TfBm4T+?#HR)gSM=UeK}Awbv&Y^vln4%fP*aw{y`d>38oD$d92Zg@g$RO> zxfEmnKAXVRID?IgL%;K;RRBsJ{7lBa3VfNpYcUN{@Kg_~bk&(d0kl#J#;=udaTr^T z$Xdg=TiCs-1q4DKl^i;4Nh_-32HrfkNG8mIpM^|2*)z$VGa*{>+>Vfxs{+CqdA10O=)Cy&G6^mNV zy-U5@f8>zBlir(#*fAcd_~lhxGCpSt<`Ga#I8;|6W%7w4b%~9%aURTDcb)dxJ@=+3ZmVA^H~VBAA0RK{Ay> zwY`uSp|zd^$F;`wkp7Q*9C4augF$W6vC!4m`oa~BK}fIm^14clPg)PBJic00ntCn^ihzWF${CZTId#4U+I@b?SF`6? z3(0kMd7fimA9$8XZ4F7SQ=pJgk9;xfvPLRmho~1ExH-XKh;@H7L$?ANAKJT%^Ni^`MGez(>h^(6vwU_|u$=r$S~k4yEV|D4!=$e>fa`!G zzRhBQSx6YFkNR{QE(L%aW9gm_sBM`Wb@Y9QdTfb&NYi&S^@DVPPmqj^Jl`!v<5zYN zy!Hoi`}sO&fs4uPI^AEKAnP#LGiX#$%JH-hRqhxnj$;el zVU^lykrciH1&5vRW=GFG#oI24WNa>`id$-ViM4834a5a5rS6m>v5*H%d0A zt&+%Z4BICIEKTNGD%xKrg=PBDlNveAO>wT72Sja3@(ONbCj41i?$Uqgh$;}L_7(Oj zl@DKz*5sk{j+0acpPSx|SLyNYSG_02gi5*aQ?rna}1(z6x^ zivFb9GPB{4+95cwL@Q$X!TDl)i3Q%@9%U`@*!ICwjgDuOYgH8Knbdp)%x#p(rjq4- zsM9)c%-na3@=BzW#I}w-IfLPR{a(I)ivF#^{aVk5>eh?r>CfujU)8RdFQ2V9&(KfR zvVW^o0P-_GfA(gdS&z{;&vfJBmnCrVg5D&5UWv9ByGbPkQ!?Ipo(TTm41Dzssbs~9 zGPc5{@w0rG2+%D^{1Gmd9?r-!`}2H6qWFWOo{)9tJOQ~Dtm0<-j&_LZbp9UlhM8<< zMXfhXo=m4h6SF3R#J6tYEz>e0Z4b+2G^5 z=~)XK)~Uu){#y&}h*X~wvk1tA8o)fZ!V|!(_yI}b-;zF$m!+i-eYR{tB34&zqvhN7 zM-h^M5xy5#>-B|##(EL_!_5%P+Wx&C7p?A@MAgoxhFbNo31d#-GiDHEHV`I=Cnl<; zyJF*=G`2@SbKV$v=0VL0AE!3oiVLEP;L^ipVS%_E1Y`H|@&r%H{>%RksCe;H;k-en z8MAsN$}zcKc<7#?I$P$$RcuYw=2T#XHKuMR_|c$Qg7hHBzFRDT@v-WOj@(nmlRH>2Q%qd$hdZf?-!5rhUz ziueg=B4PNGAfe3m_6xAhk7^V3+#p{HyRD?-WeSzKy=7dDl7)jX2WR+ZVj{O-=eVDl z!!v;{(~?b|@H|QJEi5E_gZ-f)zr4DOJx{ii$iMp_{|;ZA^7=$rG`(woCr?I=Jv1*L z-imvGBL<+)VPM?FtxeqngDomZ)B&&=Rz zE@ca9cN+Ajr&ji`ok`1%*0l8nl~1H6-D(} zc8pK1&&n?!a%*oy(Vtksb{i1&b4Y=Si$Jh&`e+f1)A8ArX&D$X7?!iE=vN@w`f1m> zF5~qe?4r0CNa0E{ER4rHjQ+q_1-sJZ!4^a(bK!U30K{j?}s))mn|%zY)L`pC+q8-+KAc%T9w>Ga>`=WZ(;aB)JI&e7L3Q6?ZCm>%Xw<; zBGA#!4|jOl6oqbQ&3+OTzhtKsF6oSD}%CTlAICe9i>) zg7-9m8$<_C19Viy(oOz{p2-TG8LDg{GYwV6)1=52>(PjTBRLe_AM_woN=pit;Iy*W zeRk(m0*y5UAryts;}Ob1o1TO6x#-I-`irsl^a*Xxq;-Uz&G&QEw-#czPuM;{vRsOKfU|7O*tbmBhaCFw_^OJUvG{uxYFayj85Ze?2 zA9na!L|)3K%i3a*?odD~4adE+B)#W!dV{Nd7!_e~J@yrls?A4ZKvs;_yJy#pa{rC$K6flp)3bRS={aP9UeLa`NF}xI%bQoOHxOo zKu)=Z6}mC(MjJ(H`?;0eWCy#Wh9npWmX^H8=~>XvZHxC;@hXx(rT1xa-#Vd&9KbiI zigJ^7xG7pRCB7o6)~pDbzUG=9Rs~aBH8K+$<0G~jNBD?;R!BzWRdGp)nwa}Ghd|)+ zIk81-l#I(J$}Q&MdWx@7BJ#-ob>Ess8>1j6st}JW>Z98ZN&jDi1mye3ydZ#{6nsDv z?5UW`23(jyk0v#i+&orxP*ivGC8)O%3H3wo!oE%Mop4DSCI)FZi$-k44ez-42G_ZT zBpK&WCn5oZo`FTq#ZE%R-eXBx)SEQK`?ttz6@xCmARmkG7^ImY1G}AxPlokV7_hL# zFb6wfmOYAuPT5I3B<8A0B&x-G$kt6G8MQM%CR13lKCNaDd^_a|Pl)0dVXUZttQU_W z8iU@2Ma2%-+)99&;&sgEYAwmdD!QVMv2opj(_;kYkxtiGbh&zIbD)}Kae)F>sr&hb zyv8hrXz82=>_6Bt46yf$yLI{|WsjB*9c9izkKl{_ER-KdaVlA zd=P(EMJuk_JO64K4Rl~d_f}KNxN7R*jr*@MG2ggXMnmH} zi~2X^NxQRcj2kbb`C$g)crG`|t&jugs`5ONGm*B3`0;#Qz}9w4FZPCR{kD7xsQ8Q+ zoE_1)`GnpDN@I7zfU43I!DV(Yxe;?8nN@^w>eE)_=G}`qo6p%eznQd%ZBLqQrFHZL z={(OyMO)neLUB-sX%x??>&j04TH3py74OO^(h`grxmcZ~oXE&`*iz0LmE$>WQ1DK)gTfuM@v@1Ha#E!iwn-Ut#h zfy<@)^$&kx5}Vhm@^6Oq@uu;15+blSsD^9qq>2bDxeCkYwOF%gxfZT{Hi)diH^u{? z10%8|BFgc-{$Dj-dN*(rDme>7u#Kn)DQm5J8TIm(TB`*S1lP_t$HtVoBjey{zYufx zx;U=l0JjJCTHb1TsFJ*6F{2i4yGsRz%|{?0&BrYd+aSwJoKScep==)v0Vu4Tf*$i+ z#<9S*zZ2HSG;iqFO;Bwo6pf_ETq8-=TOoW1xAdxFEZo%tEKr?wjNvfh7F8B2>n?wQ zSuc|psoc;sC^cOXnmsI6kK5N(26p@lD=H4x&jhpdnbVIw0D714x1Foo#Bu}sBbv;$ zar!+FX3GjS7aIYoE||cFD^s1p*JP921B&7f6ygC2s)18v7-mv4o2Q_UP`*tlvrhav z6mY0gd>=$tz8zY>6KsNZj;ozHI=2T0M+HP_nCK&E@lhUY(>7ZsVMH+CDcc!vP%CZspo4+p^v|IB4%~~Kns>T^mjq1 zQp?S;meIflGvfh1Tpl8pQC0gH%xRe7K7Ni^PI$*FprzTc1`z*SLNoF|FZPG8RPGeB z=@?tr*UMFII|~>n5GwA#?lSKo@kwg^f(G?sN(NSlz80RmuYckdJH!Yi!-*^I$(kgR zk$*J;;uovBP)n}BedmF00z2+H#g7tc5QMo3--BH73?Ltv3P~cmIQoew&Sd`$}2d8 zn%?GiC^?73$NRnKO=5L>X&~gFB!tV_pyjlVqurT$Fn!7jF{?&z{~S!H#%s^C(Yjrk zPEPG)d~Q4b=QUPYoxEWW=6JO+))OZ0is!}9*K^DO34HgbR|E%mA$kab$9eoGj?X9a zoXMhZ!G}G63=}E6;F8k z!J%Sbi2iR>orvej6TNqSjp$mD&vifxzA(Sq#7v+V2XCC_VJ(gGdc*D^Fl`Kn%3AiV z%x-~{-D+!qBtRj4s*#qysd3}IX?0&_NftbWGnw?)fMT#ZaN%uc60O;8kpb_e&SO+K zNs-X_FFCf(eRRDM%Vnk|MyV9Z2E9cfoT`KzcUY&!pJPTi6{~6z({wx=10$?pz?z3@ zT}wrczAZ%85Jm+){7z=5QgI=qAUR3l-y4G#7MOuqfp9>2pfjbfVkrj-FL{T#x5RJ6 zE>SlCABiS*iuEU34hgyi!*QxL#b+MSSD5raMsv1T1w}0#1-t|V^CB8eA@)`X&+$+& z>o&VHwhx9HA?#kw1z8&C;b4ZS!`m`UszY3R5=Zu9uk7P)cXU4TsP7U`XIQ}&90au{ z$E-|TNmaPR_w@fay`YXDv@`NKaVon9?gplV_42D`XZ4=={#fx)jeRGV| zHe7TjoToh1Ejg&EpVNk1vGG`>aWzeo8IIKNfFhC4?DJQ^8+j6ytIT^aC+F}4+&a#! z`nkbj4|NZ3xkMfy=>Z(=(na0tX%<(E5u|`VJezYM6F8Y?h>14+l59xJLfSNy+y*`R zf(T&$9KlJ5vIkBB&>Cy+3?}gV6xLulIgQWlRsx8$vem9qHUk~^w%>bZrWoxb5Q>xA zu%*N1qKP7P21!XjWSuuyjDtI9WQj%5e@gEPFHzVGTo*a=<&H$EmOqhW|gJ22$X(e5B8; zJT4)hS-o0SsqvLB8?*mLMY;(>4f!sawVLp&GWTe9wr@R8whP^IX4hz(PT8rpm8xH&AZtV z`RehyE8NO_5ZWga=@KOfS?ZvX~Vd3H?qcMYKT3(VA(xlnX4}Z zZctJ!OK0UCYIFu>=syCB@P&Di0?44#670b|Do%i?5S}0mUn~P}<{HzCvshmoD*EqC zon`kd?CWau`?Z=(vVe9(`Cp*KJ#k{`Perp=gHF2lacA*HaC|vh=17w&&okH;E!QQh zyFhvxPbFGE+~}O+`UW4vG(y#4%RYY1ba&~Xa;;YiJ+yy5uU&=zVszRjba)`RwT$8V zv`6)52kN=MR*Yf#v^(`^r|P*sR*&F*eVh69@8{Mx$*zFx79s}}JHdKV7lTGF%l-Z1 zJ=k&t{&Ih-Y$yIIi8eI8PpW-+hppbUBx+t@AgaIKh-EJmB*XbU>O=hUL!`4jEK6s# zZ{;X{CHc0`yr4JbyiHka+`{|>?Hj%Mgq_wN$F6r116WvCAmtKUs;^Nw`k z0J3WNpb#zg0* z_56q{Fj;`?G@l#VGKU3CsQyE%poCMczr_CX+D=o@69bvq{^ZkOAD7KC!~SX1<#Qfk zAz{qP{x>RyTdI;4D1TfVJWZyOJ)6@s=~A{J7H;c{hV{bZJK^a+xZWOIYwpz4$%F$T zxI*0>1aY~K;k_eO(@Ck&ERR*yC)}!fjw$&OZ-Z@~2W`=ob%ksUeIHq`cu_mY$AGJ`Kuu%l-Nc=eVSy&8P-NBITK4*M zoZ!d8PK2=g=Ch znbn>e8~6vl={-8%luC&FqD*vn_N!gYgeL>CtgB3ACt_88t3z& za>|FiQpC-)RT}v6fm@&xzwO8=lX}I34v3JSrgwr@;0V-Fge;d0^s&hGj`v+<0fBgZ zCiL)e0xv_I>8ese+YYGVxhSQ~&q9S7Z)#F7CLhEVSS+|p$ps33*9nPNdAM5XA#_@d z3=m0)x!j1fW&Y`bB;$Slj(2rCtp0VC`L^+B!_Q&dA~&-*rV$6Bi75)yhbn{YT{o=8C|X*jATtJQme-K@f2% zjB<2_j5hcgPs9;FEmTI|D$XHm1N#2oaiP`6=b>xcTd(3j2AEd?JJ!v7c1dZ|(0XR+ z4!jvY7kAIbwT&iSHb{V=g9YmV`=#Y##jQ1Zg(Z@|XN01b~ZGRpR|p<< zFM?_@-vJTb_i;K#)WlX_)i*&|`Zp5BS56l+l(o2@H~=X9q7#{g)2~JL%~#D_y+Kd@ z@9$+RqBiQTble7~lal$!3+res`5xu>y^lmL;1g=WD9cK26ukc^jZxxkYz_t9cX0Hm zXsYXVIQc}6GbUzI;^MU<-2Vk5`w@OK<82Mh34jXpe*fr?Tg5vio)C-7VNRxEOv z2plKRj?^y?78>Y*REq#?<}_3#jX!45C_ae|LqekXsS6I1L%AK$6qtA7bGF<>Ls3F%MB z9()<%0Y69ejjHsUhDSm`m5v)(Qh9=QN${S-UQ&oEn&8E8JVb4qdLAq-=zXBrgZ3%B z7S}~30lc6i>`IArOY_lSc;lkPzZ@UGzX?*TPn>33fZG9N8CA=Zy7r=JrwxOCr)D_r zdqK@%Eo#Gmgej}^j6~=b+RD`?pg9TAsr@#>Qo^i3IZ48+E72q*+&gIVYYD?3=+^=a ziR8O8n`A;Hlbn??-PYFS$T>YCqWFxbsWt@qO9^+M+_mjo27c-GA2AMe;>Hy*)b9xi z?Q?s*Pu<0-+^DadBYdO|k`r5i90rVCl*hhw$c{U^8l&f1RXM zR4Ga7N^!YVZu8B{y@OAceA(4gTy^)44Zu@uhZ^AvaA%ZX-Bw8gYEJ#(?>bBOPvxHuUf;!0ZvCot& zZv1t5G~$jO`zpm_Lrk&kxeP<3_$v}sF~U9BkG%wOAt07ZDGbcjow7$taf9D#MFELnHKCL{Z8hj-ar z?n`1fqj;0@&3UKTc5)48Je?ja2lg>RI?9M?u`Cr_Q02vwPod|QKo%fgjX-%@QsIA+ zp*7XG0gLBE75*VCv7dA;r}B8xKOHTb+QL+IeCh!8vQ=l}(kzJlTGc3w>mC8IOzE0l ze_)Xh8m!9H);MK>2!=Y^(k74SV8XzzL&e@7--dfE&HMdsVx z7_V7Pr!yTe%Yv2Q6}W4{FH_eD1=X5c@|8`Iqcf<6y1TRk4dIe$VY#^cDPoEqs(vX( zgfNsIqY)l*Z+YyHZP1177PqK(hLjI*P{puu#P_nHjSz**C2RxN<_na^D{V#1C#rI# z>Rs?J1>A`WZ0`LH(hoY!ScW1RNp8?9nMQN+{~IDLRWh)oL%E_8rvMJ;G#TqeA z>=uQI6v93ByPTw5=x_GauSvJ~CX!?QSq|Z`iy4qM5U@<;m{a;*sOR0h^mCt}Qy|-S zuic||=TTp057o4U`A28K^2Wr0$Y&C+!fvW+(SZ?6&%6y36r_U4reUGIqlW|E?F)qc x+v9tl@1%ZHy1z^s)VY6XB>b>eOg-@aU|va}PHxmh|Ji9{ZdL#Q01QI#008W(|9=1g diff --git a/src/win32/Srb2win.ico b/src/win32/Srb2win.ico index 6e667b61c84414bc9758ea57721bb07d85a62083..4e3f81336fa0835b1fdaea4cd5b4f43838647c5a 100644 GIT binary patch literal 125191 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 FV1h@XzeNB5 literal 82992 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 FV1h@XzeNB5 literal 82992 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 Date: Sat, 5 Jan 2019 09:54:45 -0500 Subject: [PATCH 53/62] Revised comments --- .travis.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1ae42e9cc..b717ec187 100644 --- a/.travis.yml +++ b/.travis.yml @@ -565,16 +565,20 @@ addons: before_install: # Initialize Deployer defaults - . ./deployer/travis/deployer_defaults.sh + # Initialize Deployer; check if Deployer is enabled # This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session - . ./deployer/travis/deployer.sh - # Also check if we should now terminate + + # Also check if we should now terminate -- see `deployer.sh` for conditions. + # This should never happen on non-release buildbots when Deployer is not triggered. - if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then if [[ "$__DPL_ACTIVE" != "1" ]]; then echo "Exiting early because this job is not deploying."; exit; fi; fi + # If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1 - if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then ASSET_FILES_OPTIONAL_GET=1; @@ -607,6 +611,7 @@ before_script: fi # Get asset files (required for MD5) + # See `deployer_defaults.sh` for asset download path - if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; @@ -656,5 +661,8 @@ script: after_success: # Run the Deployer scripts + - if [[ "$__DPL_ACTIVE" != "1" ]]; then + exit; + fi; - . ../deployer/travis/deployer_ftp.sh - . ../deployer/travis/deployer_dput.sh From c88299a81b7ade49b8e18a03ac169f0a69c74d3e Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 10:17:33 -0500 Subject: [PATCH 54/62] Don't terminate in after_success because it halts the log abruptly --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b717ec187..bf7c1b613 100644 --- a/.travis.yml +++ b/.travis.yml @@ -660,9 +660,7 @@ script: fi; after_success: - # Run the Deployer scripts - - if [[ "$__DPL_ACTIVE" != "1" ]]; then - exit; - fi; + # Run the upload scripts + # These do nothing if Deployer is not triggered - . ../deployer/travis/deployer_ftp.sh - . ../deployer/travis/deployer_dput.sh From 3e52eb1de51116d11f9b0beb5ff7f0792e799adf Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:20:58 -0500 Subject: [PATCH 55/62] * Add homebrew tap mazmazz/srb2 * Use sdl2_mixer from mazmazz/srb2 due to removed options from homebrew-core * Use `brew install --build-bottle` to build compatible libraries for old Macs --- .travis.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bf7c1b613..72f2261d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -586,10 +586,18 @@ before_install: install: + # Install OS X library dependencies via Homebrew + # `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 + # `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 + # `brew postinstall` runs post-install scripts after building a bottle - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; - brew install sdl2 game-music-emu zlib p7zip; - brew install sdl2_mixer --with-flac --with-mpg123; + brew tap mazmazz/srb2; + fi; + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; + brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; brew install cmake||true; fi - mkdir -p $HOME/srb2_cache From 8d86c537e0668bad609204691dc5c220e1cccc0f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:27:34 -0500 Subject: [PATCH 56/62] OS X set CFLAGS+="-march=core2" for compatible binaries with old Macs --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 72f2261d0..170943ac4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -584,6 +584,9 @@ before_install: ASSET_FILES_OPTIONAL_GET=1; fi; + # Print version info + - gcc --version; + install: # Install OS X library dependencies via Homebrew @@ -651,6 +654,10 @@ before_script: - mkdir package - export CFLAGS="-Wall -W -Werror $WFLAGS" - export CCACHE_COMPRESS=true + # If OS X, set -march=core2 to build compatible binaries with old Macs + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + export CFLAGS="${CFLAGS} -march=core2"; + fi; - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package -DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" -DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}" From da0add55b0aa989db3f1b57e400af82e82e03ad4 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:43:37 -0500 Subject: [PATCH 57/62] Use standard OSX brew bottles to speed up test buildbots --- .travis.yml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 170943ac4..893e729ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -590,18 +590,24 @@ before_install: install: # Install OS X library dependencies via Homebrew - # `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 - # `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 - # `brew postinstall` runs post-install scripts after building a bottle + # Do this differently for release buildbots: + # * `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 + # * `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 + # * `brew postinstall` runs post-install scripts after building a bottle - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew tap mazmazz/srb2; fi; - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - brew install --build-bottle sdl2 game-music-emu zlib p7zip; - brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; - brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; - brew install cmake||true; + if [[ "$__DPL_ACTIVE" != "1" ]]; then + brew install sdl2 sdl2_mixer game-music-emu p7zip; + brew install cmake||true; + else + brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; + brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; + brew install cmake||true; + fi; fi - mkdir -p $HOME/srb2_cache From 0a40c19f7ac8f184581c620284a92a43024d771b Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:49:25 -0500 Subject: [PATCH 58/62] Remove zlib from release brew packages (it was never in the original travis script) --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 893e729ac..5570b0062 100644 --- a/.travis.yml +++ b/.travis.yml @@ -603,9 +603,9 @@ install: brew install sdl2 sdl2_mixer game-music-emu p7zip; brew install cmake||true; else - brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle sdl2 game-music-emu p7zip; brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; - brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; + brew postinstall sdl2 game-music-emu p7zip mazmazz/srb2/sdl2_mixer; brew install cmake||true; fi; fi From 2a447f88006a91b1db1e35a2aef6a7161c430a1e Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:56:27 -0500 Subject: [PATCH 59/62] Remove unnecessary version info call --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5570b0062..2a7efbebd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -584,9 +584,6 @@ before_install: ASSET_FILES_OPTIONAL_GET=1; fi; - # Print version info - - gcc --version; - install: # Install OS X library dependencies via Homebrew From 9490d225de25ebb64205c00029945d2869c1a856 Mon Sep 17 00:00:00 2001 From: SeventhSentinel Date: Sun, 6 Jan 2019 17:17:52 -0500 Subject: [PATCH 60/62] Minimum speed to get drift sparks --- src/d_player.h | 1 + src/dehacked.c | 3 ++- src/k_kart.c | 17 +++++++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index 1b1d4d0a2..2d9ed5c82 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -351,6 +351,7 @@ typedef enum // v1.0.2 vars k_itemblink, // Item flashing after roulette, prevents Hyudoro stealing AND serves as a mashing indicator k_itemblinkmode, // Type of flashing: 0 = white (normal), 1 = red (mashing), 2 = rainbow (enhanced items) + k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed NUMKARTSTUFF } kartstufftype_t; diff --git a/src/dehacked.c b/src/dehacked.c index 8cb704125..3f6fcecb2 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -8281,7 +8281,8 @@ static const char *const KARTSTUFF_LIST[] = { "YOUGOTEM", "ITEMBLINK", - "ITEMBLINKMODE" + "ITEMBLINKMODE", + "GETSPARKS" }; static const char *const HUDITEMS_LIST[] = { diff --git a/src/k_kart.c b/src/k_kart.c index 28a566c99..ccc0f64da 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -4585,6 +4585,7 @@ INT32 K_GetKartDriftSparkValue(player_t *player) static void K_KartDrift(player_t *player, boolean onground) { + fixed_t minspeed = (10 * player->mo->scale); INT32 dsone = K_GetKartDriftSparkValue(player); INT32 dstwo = dsone*2; INT32 dsthree = dstwo*2; @@ -4635,14 +4636,14 @@ static void K_KartDrift(player_t *player, boolean onground) } // Drifting: left or right? - if ((player->cmd.driftturn > 0) && player->speed > FixedMul(10<<16, player->mo->scale) && player->kartstuff[k_jmp] == 1 + if ((player->cmd.driftturn > 0) && player->speed > minspeed && player->kartstuff[k_jmp] == 1 && (player->kartstuff[k_drift] == 0 || player->kartstuff[k_driftend] == 1)) // && player->kartstuff[k_drift] != 1) { // Starting left drift player->kartstuff[k_drift] = 1; player->kartstuff[k_driftend] = player->kartstuff[k_driftcharge] = 0; } - else if ((player->cmd.driftturn < 0) && player->speed > FixedMul(10<<16, player->mo->scale) && player->kartstuff[k_jmp] == 1 + else if ((player->cmd.driftturn < 0) && player->speed > minspeed && player->kartstuff[k_jmp] == 1 && (player->kartstuff[k_drift] == 0 || player->kartstuff[k_driftend] == 1)) // && player->kartstuff[k_drift] != -1) { // Starting right drift @@ -4666,6 +4667,8 @@ static void K_KartDrift(player_t *player, boolean onground) player->kartstuff[k_driftend] = 0; } + + // Incease/decrease the drift value to continue drifting in that direction if (player->kartstuff[k_spinouttimer] == 0 && player->kartstuff[k_jmp] == 1 && onground && player->kartstuff[k_drift] != 0) { @@ -4694,6 +4697,12 @@ static void K_KartDrift(player_t *player, boolean onground) driftadditive -= abs(player->cmd.driftturn)/75; } + // Disable drift-sparks until you're going fast enough + if (player->kartstuff[k_getsparks] == 0) + driftadditive = 0; + if (player->speed > minspeed*2) + player->kartstuff[k_getsparks] = 1; + // This spawns the drift sparks if (player->kartstuff[k_driftcharge] + driftadditive >= dsone) K_SpawnDriftSparks(player); @@ -4713,11 +4722,11 @@ static void K_KartDrift(player_t *player, boolean onground) } // Stop drifting - if (player->kartstuff[k_spinouttimer] > 0 // banana peel - || player->speed < FixedMul(10<<16, player->mo->scale)) // you're too slow! + if (player->kartstuff[k_spinouttimer] > 0 || player->speed < minspeed) { player->kartstuff[k_drift] = player->kartstuff[k_driftcharge] = 0; player->kartstuff[k_aizdriftstrat] = player->kartstuff[k_brakedrift] = 0; + player->kartstuff[k_getsparks] = 0; } if ((!player->kartstuff[k_sneakertimer]) From 6943f59e79eedb38805d3f9dae4d1bcc2c92131c Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Wed, 9 Jan 2019 15:35:51 -0600 Subject: [PATCH 61/62] If kmd2.dat isn't found in srb2home, search the game's directory for it --- src/hardware/hw_md2.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 0267770e4..0568151a2 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -818,9 +818,13 @@ void HWR_InitMD2(void) if (!f) { - CONS_Printf("%s %s\n", M_GetText("Error while loading kmd2.dat:"), strerror(errno)); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "kmd2.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading kmd2.dat:"), strerror(errno)); + nomd2s = true; + return; + } } while (fscanf(f, "%19s %31s %f %f", name, filename, &scale, &offset) == 4) { @@ -885,9 +889,13 @@ void HWR_AddPlayerMD2(int skin) // For MD2's that were added after startup if (!f) { - CONS_Printf("Error while loading kmd2.dat\n"); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "kmd2.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading kmd2.dat:"), strerror(errno)); + nomd2s = true; + return; + } } // Check for any MD2s that match the names of player skins! @@ -931,9 +939,13 @@ void HWR_AddSpriteMD2(size_t spritenum) // For MD2s that were added after startu if (!f) { - CONS_Printf("Error while loading kmd2.dat\n"); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "kmd2.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading kmd2.dat:"), strerror(errno)); + nomd2s = true; + return; + } } // Check for any MD2s that match the names of player skins! From 8f1617a4dc840caf75c7869db815a453bbd4110f Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Wed, 9 Jan 2019 15:53:59 -0600 Subject: [PATCH 62/62] Missed a few spots --- src/hardware/hw_md2.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 0568151a2..63ef80986 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -300,8 +300,12 @@ static md2_model_t *md2_readModel(const char *filename) file = fopen(va("%s"PATHSEP"%s", srb2home, filename), "rb"); if (!file) { - free(model); - return 0; + file = fopen(va("%s"PATHSEP"%s", srb2path, filename), "rb"); + if (!file) + { + free(model); + return 0; + } } // initialize model and read header @@ -500,8 +504,12 @@ static GrTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_ png_FILE = fopen(pngfilename, "rb"); if (!png_FILE) { + pngfilename = va("%s"PATHSEP"md2"PATHSEP"%s", srb2path, filename); + FIL_ForceExtension(pngfilename, ".png"); + png_FILE = fopen(pngfilename, "rb"); //CONS_Debug(DBG_RENDER, "M_SavePNG: Error on opening %s for loading\n", filename); - return 0; + if (!png_FILE) + return 0; } png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, @@ -628,7 +636,13 @@ static GrTextureFormat_t PCX_Load(const char *filename, int *w, int *h, FIL_ForceExtension(pcxfilename, ".pcx"); file = fopen(pcxfilename, "rb"); if (!file) - return 0; + { + pcxfilename = va("%s"PATHSEP"md2"PATHSEP"%s", srb2path, filename); + FIL_ForceExtension(pcxfilename, ".pcx"); + file = fopen(pcxfilename, "rb"); + if (!file) + return 0; + } if (fread(&header, sizeof (PcxHeader), 1, file) != 1) {