From 101a0f8f9de265af54b0f0d3dfe3f973affe7c3a Mon Sep 17 00:00:00 2001 From: Julian Xhokaxhiu Date: Mon, 15 Apr 2024 20:40:22 +0200 Subject: [PATCH] SeventhHeavenUI: Enable native Steam edition support Launching the Steam edition of the game will no more require a conversion. Additionally, launching 1998 edition will now require the official disk. Every other way is not officially supported starting now. --- .../{main-3.5.1.yml => main-3.9.9.yml} | 12 +- 7thHeaven.Code/LaunchSettings.cs | 13 - 7thHeaven.Code/RegistryHelper.cs | 8 +- 7thHeaven.Code/Settings.cs | 10 +- 7thHeaven.Code/StringKey.cs | 1 + 7thHeaven.Code/Sys.cs | 1 - 7thHeaven.sln | 14 + 7thWrapperLib/Profile.cs | 4 +- 7thWrapperLib/Wrap.cs | 52 ++- FF7_Launcher/FF7_Launcher.cpp | 27 ++ FF7_Launcher/FF7_Launcher.h | 3 + FF7_Launcher/FF7_Launcher.ico | Bin 0 -> 46227 bytes FF7_Launcher/FF7_Launcher.rc | Bin 0 -> 3332 bytes FF7_Launcher/FF7_Launcher.vcxproj | 95 +++++ FF7_Launcher/Resource.h | 3 + README.md | 2 +- SeventhHeavenUI/Classes/FFNxDriverUpdater.cs | 35 +- SeventhHeavenUI/Classes/GameConverter.cs | 118 +++--- SeventhHeavenUI/Classes/GameDiscMounter.cs | 282 ------------- SeventhHeavenUI/Classes/GameLauncher.cs | 390 +++++++----------- SeventhHeavenUI/Resources/FF7DISC1.ISO | Bin 1245184 -> 0 bytes .../Languages/StringResources.br.xaml | 1 + .../Languages/StringResources.de.xaml | 1 + .../Languages/StringResources.es.xaml | 1 + .../Languages/StringResources.fr.xaml | 1 + .../Languages/StringResources.gr.xaml | 1 + .../Languages/StringResources.it.xaml | 1 + .../Resources/StringResources.xaml | 1 + .../Resources/WinCDEmu/LICENSE.txt | 165 -------- .../Resources/WinCDEmu/PortableWinCDEmu.exe | Bin 682840 -> 0 bytes SeventhHeavenUI/SeventhHeavenUI.csproj | 10 +- .../ViewModels/ControlMappingViewModel.cs | 5 +- .../ViewModels/GameLaunchSettingsViewModel.cs | 179 +++----- .../ViewModels/GameLaunchViewModel.cs | 2 +- .../ViewModels/GeneralSettingsViewModel.cs | 82 ++-- .../Windows/GameLaunchSettingsWindow.xaml | 29 +- .../Windows/GeneralSettingsWindow.xaml.cs | 31 -- 37 files changed, 548 insertions(+), 1032 deletions(-) rename .github/workflows/{main-3.5.1.yml => main-3.9.9.yml} (94%) create mode 100644 FF7_Launcher/FF7_Launcher.cpp create mode 100644 FF7_Launcher/FF7_Launcher.h create mode 100644 FF7_Launcher/FF7_Launcher.ico create mode 100644 FF7_Launcher/FF7_Launcher.rc create mode 100644 FF7_Launcher/FF7_Launcher.vcxproj create mode 100644 FF7_Launcher/Resource.h delete mode 100644 SeventhHeavenUI/Classes/GameDiscMounter.cs delete mode 100644 SeventhHeavenUI/Resources/FF7DISC1.ISO delete mode 100644 SeventhHeavenUI/Resources/WinCDEmu/LICENSE.txt delete mode 100644 SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe diff --git a/.github/workflows/main-3.5.1.yml b/.github/workflows/main-3.9.9.yml similarity index 94% rename from .github/workflows/main-3.5.1.yml rename to .github/workflows/main-3.9.9.yml index b2178209..e1dd5807 100644 --- a/.github/workflows/main-3.5.1.yml +++ b/.github/workflows/main-3.9.9.yml @@ -1,6 +1,6 @@ name: 7th-Heaven -run-name: 3.5.1.${{ github.run_number }} +run-name: 3.9.9.${{ github.run_number }} on: workflow_dispatch: @@ -20,7 +20,7 @@ env: _RELEASE_VERSION: v0 _RELEASE_CONFIGURATION: Release _BUILD_BRANCH: "${{ github.ref }}" - _BUILD_VERSION: "3.5.1.${{ github.run_number }}" + _BUILD_VERSION: "3.9.9.${{ github.run_number }}" _CHANGELOG_VERSION: "0" # VCPKG: Enable Binary Caching VCPKG_BINARY_SOURCES: clear;nuget,github,readwrite @@ -40,7 +40,9 @@ jobs: git config --global core.filemode false git config --global core.longpaths true - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Prepare Environment run: ".github/workflows/prepare.ps1" shell: pwsh @@ -55,7 +57,7 @@ jobs: - name: Restore NuGet Packages run: nuget restore ${{ github.workspace }}\${{ env._RELEASE_NAME }}.sln - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@v1.3.2 + uses: microsoft/setup-msbuild@v1 - name: Run MSBuild run: msbuild ${{ github.workspace }}\${{ env._RELEASE_NAME }}.sln /p:WindowsTargetPlatformVersion=10.0.19041.0 /m -p:Configuration=${{ env._RELEASE_CONFIGURATION }} -p:Platform="Any CPU" - name: Prepare Installer @@ -90,7 +92,7 @@ jobs: return ret; - name: Publish PR artifacts if: env._IS_GITHUB_RELEASE == 'false' && success() - uses: actions/upload-artifact@v4.0.0 + uses: actions/upload-artifact@v4 with: name: "${{ env._RELEASE_NAME }}-${{ env._RELEASE_VERSION }}" path: ".dist/*" diff --git a/7thHeaven.Code/LaunchSettings.cs b/7thHeaven.Code/LaunchSettings.cs index cfb3564e..3136c242 100644 --- a/7thHeaven.Code/LaunchSettings.cs +++ b/7thHeaven.Code/LaunchSettings.cs @@ -2,21 +2,11 @@ namespace _7thHeaven.Code { - public enum MountDiscOption - { - Unknown = -1, - MountWithPowerShell = 0, - MountWithWinCDEmu = 1, - DoNotMount =2, - } [Serializable] public class LaunchSettings { - public bool AutoMountGameDisc { get; set; } - public bool AutoUnmountGameDisc { get; set; } public bool AutoUpdateDiscPath { get; set; } - public MountDiscOption MountingOption { get; set; } public bool DisableReunionOnLaunch { get; set; } @@ -49,8 +39,6 @@ public static LaunchSettings DefaultSettings() { return new LaunchSettings() { - AutoMountGameDisc = true, - AutoUnmountGameDisc = true, AutoUpdateDiscPath = true, DisableReunionOnLaunch = true, SelectedSoundDevice = Guid.Empty, @@ -62,7 +50,6 @@ public static LaunchSettings DefaultSettings() HasDisplayedOggMusicWarning = false, HasDisplayedMovieWarning = false, EnablePs4ControllerService = false, - MountingOption = MountDiscOption.MountWithPowerShell, EnableGamepadPolling = false, }; } diff --git a/7thHeaven.Code/RegistryHelper.cs b/7thHeaven.Code/RegistryHelper.cs index 08be5c98..27501ea2 100644 --- a/7thHeaven.Code/RegistryHelper.cs +++ b/7thHeaven.Code/RegistryHelper.cs @@ -24,9 +24,13 @@ public static class RegistryHelper private static List transaction = new(); - public const string SteamKeyPath64Bit = @"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140"; + public const string SteamKeyPath64Bit = @"HKEY_CURRENT_USER\Software\Wow6432Node\Valve\Steam"; - public const string SteamKeyPath32Bit = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140"; + public const string SteamKeyPath32Bit = @"HKEY_CURRENT_USER\Software\Valve\Steam"; + + public const string FF7SteamKeyPath64Bit = @"HKEY_CURRENT_USER\Software\Wow6432Node\Valve\Steam\Apps\39140"; + + public const string FF7SteamKeyPath32Bit = @"HKEY_CURRENT_USER\Software\Valve\Steam\Apps\39140"; public const string RereleaseKeyPath64Bit = @"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{141B8BA9-BFFD-4635-AF64-078E31010EC3}_is1"; diff --git a/7thHeaven.Code/Settings.cs b/7thHeaven.Code/Settings.cs index dd69363c..e52ef49a 100644 --- a/7thHeaven.Code/Settings.cs +++ b/7thHeaven.Code/Settings.cs @@ -15,6 +15,13 @@ The original developer is Iros namespace Iros._7th.Workshop { + public enum FF7Version + { + Unknown = -1, + Steam, + ReRelease, + Original98 + } public enum GeneralOptions { None = 0, @@ -105,6 +112,7 @@ public List SubscribedUrls public string FF7Exe { get; set; } [System.Xml.Serialization.XmlElement("AlsoLaunch")] public List ProgramsToLaunchPrior { get; set; } + public FF7Version FF7InstalledVersion { get; set; } public FFNxUpdateChannelOptions FFNxUpdateChannel { get; set; } public AppUpdateChannelOptions AppUpdateChannel { get; set; } public DateTime LastUpdateCheck { get; set; } @@ -202,7 +210,7 @@ public static Settings UseDefaultSettings() /// public void SetPathsFromInstallationPath(string pathToFf7Install) { - FF7Exe = Path.Combine(pathToFf7Install, "FF7.exe"); + FF7Exe = Sys.Settings.FF7InstalledVersion == FF7Version.Original98 ? Path.Combine(pathToFf7Install, "FF7.exe") : Path.Combine(pathToFf7Install, "ff7_en.exe"); LibraryLocation = Path.Combine(pathToFf7Install, "mods", @"7th Heaven"); LogAndCreateFolderIfNotExists(LibraryLocation); diff --git a/7thHeaven.Code/StringKey.cs b/7thHeaven.Code/StringKey.cs index 2c6789b6..da3e3e52 100644 --- a/7thHeaven.Code/StringKey.cs +++ b/7thHeaven.Code/StringKey.cs @@ -280,6 +280,7 @@ public enum StringKey DeletingTemporaryFiles, BeginningToPollForGamePadInput, FoundLanguageInstalledCreatingEnglishGameFiles, + ErrorOnlyEnglishLanguageSupported, Ff7IsCurrentlyInstalledInASystemFolder, CanNotContinueDueToFf7nstalledInProtectedFolder, CannotContinue, diff --git a/7thHeaven.Code/Sys.cs b/7thHeaven.Code/Sys.cs index 8cb45668..9ea05ad3 100644 --- a/7thHeaven.Code/Sys.cs +++ b/7thHeaven.Code/Sys.cs @@ -17,7 +17,6 @@ The original developer is Iros namespace Iros._7th.Workshop { - public class ModStatusEventArgs : EventArgs { public ModStatus OldStatus { get; set; } diff --git a/7thHeaven.sln b/7thHeaven.sln index aeb1b0f8..51e27845 100644 --- a/7thHeaven.sln +++ b/7thHeaven.sln @@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7thWrapperLoader", "7thWrap EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "7thWrapperProxy", "7thWrapperProxy\7thWrapperProxy.csproj", "{F955F161-A47E-4399-9FD2-DB0D83E6461A}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FF7_Launcher", "FF7_Launcher\FF7_Launcher.vcxproj", "{E9DF030F-3113-46CD-81EB-DDEC52A7C926}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -109,6 +111,18 @@ Global {F955F161-A47E-4399-9FD2-DB0D83E6461A}.Release|x64.Build.0 = Release|Any CPU {F955F161-A47E-4399-9FD2-DB0D83E6461A}.Release|x86.ActiveCfg = Release|Any CPU {F955F161-A47E-4399-9FD2-DB0D83E6461A}.Release|x86.Build.0 = Release|Any CPU + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|Any CPU.ActiveCfg = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|Any CPU.Build.0 = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|x64.ActiveCfg = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|x64.Build.0 = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|x86.ActiveCfg = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Debug|x86.Build.0 = Debug|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|Any CPU.ActiveCfg = Release|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|Any CPU.Build.0 = Release|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|x64.ActiveCfg = Release|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|x64.Build.0 = Release|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|x86.ActiveCfg = Release|win32 + {E9DF030F-3113-46CD-81EB-DDEC52A7C926}.Release|x86.Build.0 = Release|win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/7thWrapperLib/Profile.cs b/7thWrapperLib/Profile.cs index cd9d82d7..15aeae14 100644 --- a/7thWrapperLib/Profile.cs +++ b/7thWrapperLib/Profile.cs @@ -311,7 +311,7 @@ public IEnumerable GetLoadPrograms() public static bool DirExists(string dir) { bool exist = System.IO.Directory.Exists(dir); - DebugLogger.DetailedWriteLine($"MOD: Check if directory exists {dir}: {exist}"); + //DebugLogger.DetailedWriteLine($"MOD: Check if directory exists {dir}: {exist}"); return exist; } @@ -350,7 +350,7 @@ private bool FileExists(string file) exist = System.IO.File.Exists(file); if (exist) _activated.Add(file); } - DebugLogger.DetailedWriteLine($"MOD: Check if file exists {file}: {exist}"); + //DebugLogger.DetailedWriteLine($"MOD: Check if file exists {file}: {exist}"); return exist; } diff --git a/7thWrapperLib/Wrap.cs b/7thWrapperLib/Wrap.cs index 901fa8e3..2e74fdb8 100644 --- a/7thWrapperLib/Wrap.cs +++ b/7thWrapperLib/Wrap.cs @@ -32,7 +32,7 @@ private static void MonitorThread(object rpo) do { - DebugLogger.WriteLine("MONITOR:"); + DebugLogger.WriteLine(">> MONITOR:"); for (int i = 0; i < accessors.Count; i++) { int value; @@ -85,16 +85,29 @@ public static void Run(Process currentProcess, string profileFile = ".7thWrapper } } - DebugLogger.WriteLine($"Wrap run... PName: {_process.ProcessName} PID: {_process.Id} Path: {_profile.ModPath} Capture: {String.Join(", ", _profile.MonitorPaths)}"); + DebugLogger.WriteLine($"Starting wrapper now:"); + + DebugLogger.WriteLine($">> PName: {_process.ProcessName}"); + DebugLogger.WriteLine($">> PID: {_process.Id}"); + DebugLogger.WriteLine($">> FF7Path: {_profile.FF7Path}"); + DebugLogger.WriteLine($">> ModPath: {_profile.ModPath}"); + DebugLogger.WriteLine($">> MonitorPaths:"); + foreach(string monPath in _profile.MonitorPaths) + DebugLogger.WriteLine($" - {monPath}"); for (int i = _profile.MonitorPaths.Count - 1; i >= 0; i--) { if (!_profile.MonitorPaths[i].EndsWith(System.IO.Path.DirectorySeparatorChar.ToString())) _profile.MonitorPaths[i] += System.IO.Path.DirectorySeparatorChar; if (String.IsNullOrWhiteSpace(_profile.MonitorPaths[i])) _profile.MonitorPaths.RemoveAt(i); } + DebugLogger.WriteLine($"\nLoading mods:"); + foreach (var item in _profile.Mods) { - DebugLogger.WriteLine($" Mod: {item.BaseFolder} has {item.Conditionals.Count} conditionals"); - DebugLogger.WriteLine(" Additional paths: " + String.Join(", ", item.ExtraFolders)); + DebugLogger.WriteLine($">> Mod: {item.BaseFolder}"); + DebugLogger.WriteLine($" - Conditionals: {item.Conditionals.Count}"); + DebugLogger.WriteLine($" - Extra Folders:"); + foreach (string extraFolder in item.ExtraFolders) + DebugLogger.WriteLine($" - {extraFolder}"); item.Startup(); } @@ -119,6 +132,8 @@ public static void Run(Process currentProcess, string profileFile = ".7thWrapper } } + DebugLogger.WriteLine($"\nLoading hext patches:"); + foreach (var mod in _profile.Mods.AsEnumerable().Reverse()) { foreach (string file in mod.GetPathOverrideNames("hext")) { foreach (var of in mod.GetOverrides("hext\\" + file)) { @@ -128,11 +143,11 @@ public static void Run(Process currentProcess, string profileFile = ".7thWrapper } else { s = of.Archive.GetData(of.File); } - DebugLogger.WriteLine($"Applying hext patch {file} from mod {mod.BaseFolder}"); + DebugLogger.WriteLine($">> Applying hext patch {file} from mod {mod.BaseFolder}"); try { HexPatch.Apply(s); } catch (Exception ex) { - DebugLogger.WriteLine("Error applying patch: " + ex.Message); + DebugLogger.WriteLine(" - Error applying patch: " + ex.Message); } } } @@ -167,6 +182,9 @@ public static void Run(Process currentProcess, string profileFile = ".7thWrapper AddIROFilesToMappedFiles("", null, archive); } } + + DebugLogger.WriteLine($"\nWrapper startup complete."); + DebugLogger.WriteLine($"\nListening for game actions..."); } catch (Exception e) { DebugLogger.WriteLine(e.ToString()); return; @@ -262,7 +280,7 @@ public static int HCloseHandle(IntPtr hObject) if (_varchives.ContainsKey(hObject)) { _varchives.Remove(hObject); - DebugLogger.WriteLine($"Closing dummy handle {hObject}"); + DebugLogger.WriteLine($">> Closing dummy handle {hObject}"); } return ret; @@ -272,7 +290,7 @@ public static uint HGetFileType(IntPtr hFile) { uint ret = 0; - DebugLogger.DetailedWriteLine($"GetFileType on {hFile}"); + DebugLogger.DetailedWriteLine($">> GetFileType on {hFile}"); if (_varchives.ContainsKey(hFile)) { //DebugLogger.WriteLine(" ---faking dummy file"); @@ -319,7 +337,7 @@ public static int HReadFile(IntPtr handle, IntPtr bytes, uint numBytesToRead, In public static IntPtr CreateVA(OverrideFile of) { VArchiveData va = new VArchiveData(of.Archive.GetBytes(of.File)); IntPtr dummy = of.Archive.GetDummyHandle(_process); - DebugLogger.WriteLine($"Creating dummy file handle {dummy} to access {of.Archive}{of.File}"); + DebugLogger.WriteLine($">> Creating dummy file handle {dummy} to access {of.Archive}{of.File}"); _varchives[dummy] = va; return dummy; @@ -348,7 +366,7 @@ public static IntPtr HCreateFileW( if (isFF7GameFile) { lpFileName = lpFileName.Replace("\\/", "\\").Replace("/", "\\").Replace("\\\\", "\\"); - DebugLogger.DetailedWriteLine($"CreateFileW for {lpFileName}..."); + DebugLogger.DetailedWriteLine($">> CreateFileW for {lpFileName}..."); if (lpFileName.IndexOf('\\') < 0) { //DebugLogger.WriteLine("No path: curdir is {0}", System.IO.Directory.GetCurrentDirectory(), 0); @@ -375,7 +393,7 @@ public static IntPtr HCreateFileW( if (mapped != null) { - DebugLogger.WriteLine($"Remapping {lpFileName} to {mapped.File} [ Matched: '{match}' ]"); + DebugLogger.WriteLine($" - Remapping {lpFileName} to {mapped.File} [ Matched: '{match}' ]"); if (mapped.Archive == null) { @@ -391,7 +409,7 @@ public static IntPtr HCreateFileW( } } else - DebugLogger.DetailedWriteLine($"Skipped file {lpFileName}"); + DebugLogger.DetailedWriteLine($">> Skipped file {lpFileName}"); if (ret == IntPtr.Zero) ret = Win32.CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); @@ -403,7 +421,7 @@ public static IntPtr HCreateFileW( public static IntPtr HFindFirstFileW(string lpFileName, IntPtr lpFindFileData) { - DebugLogger.WriteLine("FindFirstFile for " + lpFileName); + DebugLogger.WriteLine(">> FindFirstFile for " + lpFileName); return IntPtr.Zero; } @@ -419,7 +437,7 @@ public static int HGetFileInformationByHandle(IntPtr hFile, IntPtr lpFileInforma if (result && _varchives.ContainsKey(hFile)) { - DebugLogger.DetailedWriteLine($"Overriding GetFileInformationByHandle for dummy file {hFile}"); + DebugLogger.DetailedWriteLine($">> Overriding GetFileInformationByHandle for dummy file {hFile}"); _lpFileInformation.FileSizeHigh = (uint)(_varchives[hFile].Size >> 32); _lpFileInformation.FileSizeLow = (uint)(_varchives[hFile].Size & 0xffffffff); @@ -438,7 +456,7 @@ public static int HDuplicateHandle(IntPtr hSourceProcessHandle, IntPtr hSourceHa if (_varchives.ContainsKey(hSourceHandle)) { _varchives[lpTargetHandle] = _varchives[hSourceHandle]; - DebugLogger.DetailedWriteLine($"Duplicating dummy handle {hSourceHandle} to {lpTargetHandle}"); + DebugLogger.DetailedWriteLine($">> Duplicating dummy handle {hSourceHandle} to {lpTargetHandle}"); } return 1; @@ -450,7 +468,7 @@ public static uint HGetFileSize(IntPtr hFile, IntPtr lpFileSizeHigh) if (_varchives.ContainsKey(hFile)) { - DebugLogger.WriteLine($"GetFileSize on dummy handle {hFile}"); + DebugLogger.WriteLine($">> GetFileSize on dummy handle {hFile}"); ret = _varchives[hFile].GetFileSize(lpFileSizeHigh); } @@ -463,7 +481,7 @@ public static int HGetFileSizeEx(IntPtr hFile, IntPtr lpFileSize) if (_varchives.ContainsKey(hFile)) { - DebugLogger.WriteLine($"GetFileSizeEx on dummy handle {hFile}"); + DebugLogger.WriteLine($">> GetFileSizeEx on dummy handle {hFile}"); byte[] tmp = BitConverter.GetBytes(_varchives[hFile].Size); Util.CopyToIntPtr(tmp, lpFileSize, tmp.Length); diff --git a/FF7_Launcher/FF7_Launcher.cpp b/FF7_Launcher/FF7_Launcher.cpp new file mode 100644 index 00000000..a30de374 --- /dev/null +++ b/FF7_Launcher/FF7_Launcher.cpp @@ -0,0 +1,27 @@ +// FF7_Launcher.cpp : Defines the entry point for the application. +// + +#include +#include "Resource.h" + +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) +{ + // Initialize the process start information + STARTUPINFO si; + PROCESS_INFORMATION pi; + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + ZeroMemory(&pi, sizeof(pi)); + + // Start the process + if (!CreateProcess(L"ff7_en.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) return 1; + + // Wait for the process to finish + WaitForSingleObject(pi.hProcess, INFINITE); + + // Close process and thread handles + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + + return 0; +} diff --git a/FF7_Launcher/FF7_Launcher.h b/FF7_Launcher/FF7_Launcher.h new file mode 100644 index 00000000..e60f2eb7 --- /dev/null +++ b/FF7_Launcher/FF7_Launcher.h @@ -0,0 +1,3 @@ +#pragma once + +#include "resource.h" diff --git a/FF7_Launcher/FF7_Launcher.ico b/FF7_Launcher/FF7_Launcher.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 Vme>>Dk?V+rl||XmRZNaz^&dqQ%M<_r literal 0 HcmV?d00001 diff --git a/FF7_Launcher/FF7_Launcher.vcxproj b/FF7_Launcher/FF7_Launcher.vcxproj new file mode 100644 index 00000000..6f963e0d --- /dev/null +++ b/FF7_Launcher/FF7_Launcher.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + win32 + + + Release + win32 + + + + 17.0 + Win32Proj + {e9df030f-3113-46cd-81eb-ddec52a7c926} + FF7Launcher + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)\SeventhHeavenUI\bin\Release\net8.0-windows7.0\ + + + $(SolutionDir)\SeventhHeavenUI\bin\Debug\net8.0-windows7.0\ + + + + Level3 + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FF7_Launcher/Resource.h b/FF7_Launcher/Resource.h new file mode 100644 index 00000000..daf20a19 --- /dev/null +++ b/FF7_Launcher/Resource.h @@ -0,0 +1,3 @@ +#pragma once + +#define IDI_ICON1 101 diff --git a/README.md b/README.md index e1c3d23b..a3c92801 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![License](https://img.shields.io/github/license/tsunamods-codes/7th-Heaven) ![Overall Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/total?label=Overall%20Downloads) ![Latest Stable Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/latest/total?label=Latest%20Stable%20Downloads&sort=semver) ![Latest Canary Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/canary/total?label=Latest%20Canary%20Downloads) ![GitHub Actions Workflow Status](https://github.com/tsunamods-codes/7th-Heaven/actions/workflows/main-3.5.1.yml/badge.svg?branch=master) +![License](https://img.shields.io/github/license/tsunamods-codes/7th-Heaven) ![Overall Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/total?label=Overall%20Downloads) ![Latest Stable Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/latest/total?label=Latest%20Stable%20Downloads&sort=semver) ![Latest Canary Downloads](https://img.shields.io/github/downloads/tsunamods-codes/7th-Heaven/canary/total?label=Latest%20Canary%20Downloads) ![GitHub Actions Workflow Status](https://github.com/tsunamods-codes/7th-Heaven/actions/workflows/main-3.9.9.yml/badge.svg?branch=master)
diff --git a/SeventhHeavenUI/Classes/FFNxDriverUpdater.cs b/SeventhHeavenUI/Classes/FFNxDriverUpdater.cs index ab5ad940..182c23f9 100644 --- a/SeventhHeavenUI/Classes/FFNxDriverUpdater.cs +++ b/SeventhHeavenUI/Classes/FFNxDriverUpdater.cs @@ -26,11 +26,19 @@ private string GetUpdateInfoPath() public string GetCurrentDriverVersion() { + _currentDriverVersion = null; + try { - _currentDriverVersion = FileVersionInfo.GetVersionInfo( - Path.Combine(Sys.InstallPath, "FFNx.dll") - ); + if (IsAlreadyInstalled()) + { + _currentDriverVersion = FileVersionInfo.GetVersionInfo( + Path.Combine( + Sys.InstallPath, + Sys.Settings.FF7InstalledVersion == FF7Version.Steam ? "AF3DN.P" : "FFNx.dll" + ) + ); + } } catch (FileNotFoundException) { @@ -60,11 +68,12 @@ private string GetUpdateVersion(string name) private string GetUpdateReleaseUrl(dynamic assets) { - for (int i = 0; i < assets.Count - 1; i++) + for (int i = 0; i < assets.Count; i++) { string url = assets[i].browser_download_url.Value; + string prefix = Sys.Settings.FF7InstalledVersion == FF7Version.Steam ? "FFNx-Steam" : "FFNx-FF7_1998"; - if (url.Contains("FFNx-FF7_1998")) + if (url.Contains(prefix)) return url; } @@ -307,5 +316,21 @@ public static void CleanupUnnecessaryFiles() } } } + + public static bool IsAlreadyInstalled() + { + var fi = new FileInfo( + Path.Combine(Sys.InstallPath, Sys.Settings.FF7InstalledVersion == FF7Version.Steam ? "AF3DN.P" : "FFNx.dll") + ); + bool ret = fi.Exists; + + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam && fi.Exists) + { + // Steam driver is not FFNx, force installation + if (fi.Length <= (192 * 1024)) ret = false; + } + + return ret; + } } } diff --git a/SeventhHeavenUI/Classes/GameConverter.cs b/SeventhHeavenUI/Classes/GameConverter.cs index 7dd94114..dacfb559 100644 --- a/SeventhHeavenUI/Classes/GameConverter.cs +++ b/SeventhHeavenUI/Classes/GameConverter.cs @@ -10,6 +10,7 @@ using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; +using ValveKeyValue; namespace SeventhHeaven.Classes { @@ -34,31 +35,32 @@ public GameConverter(string installPath) public static string GetInstallLocation(FF7Version installedVersion) { - string installPath = null; + string installPath = ""; switch (installedVersion) { - case FF7Version.Unknown: - return ""; - case FF7Version.Steam: - if (Environment.Is64BitOperatingSystem) - { - // on 64-bit OS, Steam release registry key could be at 64bit path or 32bit path so check both - installPath = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath32Bit, "InstallLocation", "") as string; + // Detect if Steam is installed + string steamPath = GetSteamPath(); - if (string.IsNullOrEmpty(installPath)) - { - installPath = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath64Bit, "InstallLocation", "") as string; - } - } - else - { - installPath = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath32Bit, "InstallLocation", "") as string; + if (steamPath != null) + { + var stream = File.OpenRead(steamPath + "\\steamapps\\libraryfolders.vdf"); + var kv = KVSerializer.Create(KVSerializationFormat.KeyValues1Text); + KVObject data = kv.Deserialize(stream); + + foreach (var section in data) + { + if (section["apps"]["39140"] != null) + { + if (section["apps"]["39140"].ToString() != "0") + installPath = section["path"] + "\\steamapps\\common\\FINAL FANTASY VII"; + } + } } - return installPath; + break; case FF7Version.ReRelease: // check 32-bit then 64-bit registry if not exists @@ -69,14 +71,39 @@ public static string GetInstallLocation(FF7Version installedVersion) installPath = RegistryHelper.GetValue(RegistryHelper.RereleaseKeyPath64Bit, "InstallLocation", "") as string; } - return installPath; + break; case FF7Version.Original98: - return RegistryHelper.GetValue(FF7RegKey.FF7AppKeyPath, "Path", "") as string; - - default: - return ""; + installPath = RegistryHelper.GetValue(FF7RegKey.FF7AppKeyPath, "Path", "") as string; + break; } + + return installPath; + } + + public static string GetSteamPath() + { + string ret = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath32Bit, "SteamPath", "") as string; + + if (ret == null) ret = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath64Bit, "SteamPath", "") as string; + + return ret; + } + + public static string GetSteamExePath() + { + string ret = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath32Bit, "SteamExe", "") as string; + + if (ret == null) ret = RegistryHelper.GetValue(RegistryHelper.SteamKeyPath64Bit, "SteamExe", "") as string; + + return ret; + } + + public static string GetSteamFF7UserPath() + { + string ret = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Square Enix\\FINAL FANTASY VII Steam"; + + return ret; } public bool IsGamePirated() @@ -728,49 +755,12 @@ public void CopyMusicFiles() } /// - /// Checks FFNx.dll is present in the current game directory. - /// If not present it will automatically download and install the latest stable version. - /// - /// returns false if error occurred - internal bool InstallLatestGameDriver(string backupFolderPath) - { - string pathToCurrentDriver = Path.Combine(InstallPath, "FFNx.dll"); - bool currentDriverExists = File.Exists(pathToCurrentDriver); - - if (!currentDriverExists) - { - try - { - FFNxDriverUpdater updater = new FFNxDriverUpdater(); - - SendMessage($"Download and extracting the latest FFNx {Sys.Settings.FFNxUpdateChannel} version to {Sys.InstallPath}..."); - updater.DownloadAndExtractLatestVersion(Sys.Settings.FFNxUpdateChannel); - } - catch (Exception ex) - { - Logger.Error(ex); - return false; - } - } - else - { - SendMessage($"FFNx seems to be present."); - } - - return true; - } - - /// - /// Creates 'mods/Textures', 'direct' and subfolders, 'music', 'music/vgmstream', 'data/kernel' 'data/battle' folders if missing + /// Creates 'direct' and subfolders, 'mods/Textures' folders if missing /// public void CreateMissingDirectories() { string[] requiredFolders = new string[] { - Path.Combine(InstallPath, "data"), - Path.Combine(InstallPath, "data", "movies"), - Path.Combine(InstallPath, "data", "kernel"), - Path.Combine(InstallPath, "data", "battle"), Path.Combine(InstallPath, "direct"), Path.Combine(InstallPath, "direct", "battle"), Path.Combine(InstallPath, "direct", "char"), @@ -788,13 +778,7 @@ public void CreateMissingDirectories() Path.Combine(InstallPath, "direct", "snowboard"), Path.Combine(InstallPath, "direct", "sub"), Path.Combine(InstallPath, "direct", "world"), - Path.Combine(InstallPath, "music"), - Path.Combine(InstallPath, "music", "vgmstream"), - Path.Combine(InstallPath, "sfx"), - Path.Combine(InstallPath, "shaders"), - Path.Combine(InstallPath, "voice"), - Path.Combine(InstallPath, "ambient"), - Path.Combine(InstallPath, "widescreen"), + Path.Combine(InstallPath, "mods", "Textures"), }; foreach (string dir in requiredFolders) diff --git a/SeventhHeavenUI/Classes/GameDiscMounter.cs b/SeventhHeavenUI/Classes/GameDiscMounter.cs deleted file mode 100644 index fd225859..00000000 --- a/SeventhHeavenUI/Classes/GameDiscMounter.cs +++ /dev/null @@ -1,282 +0,0 @@ -using Iros._7th.Workshop; -using System; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Threading; - -namespace _7thHeaven.Code -{ - public class GameDiscMounter - { - private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); - - MountDiscOption MountOption { get; set; } - - public GameDiscMounter(MountDiscOption mountingOption) - { - MountOption = mountingOption; - } - - /// - /// Mounts FF7DISC1.ISO in 'Resources' folder to virtual drive - /// - /// - /// This will force use WinCDEmu if OS does not support powershell mounting - /// - public bool MountVirtualGameDisc() - { - if(MountOption == MountDiscOption.DoNotMount) - { - return true; - } - - bool usePowerShell = MountOption == MountDiscOption.MountWithPowerShell; - - if (!OSHasBuiltInMountSupport()) - { - Logger.Info($"OS does not support PowerShell Mount-DiskImage... forcing option to mount with WinCDEmu ..."); - usePowerShell = false; - } - - try - { - string isoPath = Path.Combine(Sys._7HFolder, "Resources", "FF7DISC1.ISO"); - Logger.Info($"\tattempting to mount iso at {isoPath}"); - - if (!File.Exists(isoPath)) - { - return false; - } - - if (usePowerShell) - { - return MountWithPowershell(isoPath); - } - else - { - return MountWithWinCDEmu(isoPath); - } - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Unmounts FF7DISC1 - /// - /// - /// This assumes the iso image at Path.Combine(Sys._7HFolder, "Resources", "FF7DISC1.ISO") is the mounted iso. - /// ... this code does not handle unmounting other iso files. - /// - /// - public bool UnmountVirtualGameDisc() - { - if (MountOption == MountDiscOption.DoNotMount) - { - return true; - } - - bool usePowerShell = MountOption == MountDiscOption.MountWithPowerShell; - - if (!OSHasBuiltInMountSupport()) - { - usePowerShell = false; - } - - try - { - string isoPath = Path.Combine(Sys._7HFolder, "Resources", "FF7DISC1.ISO"); - - if (!File.Exists(isoPath)) - { - return false; - } - - if (usePowerShell) - { - UnmountWithPowershell(isoPath); - } - else - { - UnmountWithWinCDEmu(isoPath); - } - - return true; - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Invokes PowerShell command 'Mount-DiskImage' with given - /// - private bool MountWithPowershell(string isoPath) - { - try - { - if (!File.Exists(isoPath)) - { - return false; - } - - ProcessStartInfo startInfo = new ProcessStartInfo("PowerShell.exe") - { - CreateNoWindow = false, - UseShellExecute = true, - WindowStyle = ProcessWindowStyle.Hidden, - Arguments = $"Mount-DiskImage -ImagePath '{isoPath}'" - - }; - Process.Start(startInfo); - - return true; - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Invokes PowerShell command 'Dismount-DiskImage' for given - /// - private bool UnmountWithPowershell(string isoPath) - { - try - { - if (!File.Exists(isoPath)) - { - return false; - } - - ProcessStartInfo startInfo = new ProcessStartInfo("PowerShell.exe") - { - CreateNoWindow = false, - UseShellExecute = true, - WindowStyle = ProcessWindowStyle.Hidden, - Arguments = $"Dismount-DiskImage -ImagePath '{isoPath}'", - }; - Process.Start(startInfo); - - return true; - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Invokes PortableWinCDEmu.exe process with as argument to mount image - /// - /// true if succeeded; false otherwise - private bool MountWithWinCDEmu(string isoPath) - { - try - { - if (!File.Exists(isoPath)) - { - return false; - } - - InstallWinCDEmuDriver(); - RunWinCDEmuWithArguments($"\"{isoPath}\""); - - return true; - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Invokes PortableWinCDEmu.exe process with arguments '/unmount ' - /// - /// true if succeeded; false otherwise - private bool UnmountWithWinCDEmu(string isoPath) - { - try - { - if (!File.Exists(isoPath)) - { - return false; - } - - InstallWinCDEmuDriver(); - RunWinCDEmuWithArguments($"/unmount \"{isoPath}\""); - - return true; - } - catch (Exception e) - { - Logger.Error(e); - return false; - } - } - - /// - /// Invokes PortableWinCDEmu.exe process with argument '/install' to ensure the driver is installed - /// - /// - /// It is safe to run this command multiple times because the process will check if the driver is already installed - the output is 'The driver is already installed' - /// If the driver installs successfully then the output of the command is 'The operation completed successfully.' - /// - private void InstallWinCDEmuDriver() - { - RunWinCDEmuWithArguments("/install"); - } - - /// - /// Launches PortableWinCDEmu.exe with the given and waits for the process to exit (with timeout of ) - /// - private void RunWinCDEmuWithArguments(string arguments, int timeoutInSeconds = 10) - { - ProcessStartInfo startInfo = new ProcessStartInfo(Sys.PathToWinCDEmuExe, arguments) - { - WorkingDirectory = Path.GetDirectoryName(Sys.PathToWinCDEmuExe), - UseShellExecute = true, - CreateNoWindow = true, - WindowStyle = ProcessWindowStyle.Normal - }; - - using (Process winCd = Process.Start(startInfo)) - { - winCd.WaitForExit(timeoutInSeconds * 1000); - } - } - - - /// - /// Returns true if OS is Win 8+ which has built in ISO mounting - /// - internal static bool OSHasBuiltInMountSupport() - { - Version osVersion = Environment.OSVersion.Version; - if (osVersion.Major < 6) - { - return false; - } - else if (osVersion.Major == 6) - { - if (osVersion.Minor < 2) - { - return false; // on an OS below Win 8 - } - } - - return true; - } - - } -} diff --git a/SeventhHeavenUI/Classes/GameLauncher.cs b/SeventhHeavenUI/Classes/GameLauncher.cs index 08d4c237..9cd1f902 100644 --- a/SeventhHeavenUI/Classes/GameLauncher.cs +++ b/SeventhHeavenUI/Classes/GameLauncher.cs @@ -23,14 +23,6 @@ namespace SeventhHeaven.Classes { - public enum FF7Version - { - Unknown = -1, - Steam, - ReRelease, - Original98 - } - internal enum GraphicsRenderer { SoftwareRenderer = 0, @@ -65,7 +57,6 @@ public static GameLauncher Instance private Dictionary<_7thWrapperLib.ProgramInfo, Process> _sideLoadProcesses = new Dictionary<_7thWrapperLib.ProgramInfo, Process>(); private ControllerInterceptor _controllerInterceptor; - private GameDiscMounter DiscMounter; public delegate void OnProgressChanged(string message); public event OnProgressChanged ProgressChanged; @@ -91,7 +82,7 @@ public static GameLauncher Instance private static Process ff7Proc; - public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = false, bool LaunchWithNoValidation = false) + public static async Task LaunchGame(bool varDump, bool debug, bool launchWithNoMods = false, bool LaunchWithNoValidation = false) { MainWindowViewModel.SaveActiveProfile(); Sys.Save(); @@ -131,7 +122,7 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.SystemDEPDisabledPleaseReboot), NLog.LogLevel.Info); } - catch (Exception e) + catch (Exception) { Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.SomethingWentWrongWhileDisablingDEP), NLog.LogLevel.Error); } @@ -187,36 +178,6 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.ErrorCodeYarr), NLog.LogLevel.Error); Logger.Info(FileUtils.ListAllFiles(converter.InstallPath)); return false; - } - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingGameIsNotInstalledInProtectedFolder)); - if (converter.IsGameLocatedInSystemFolders()) - { - string message = ResourceHelper.Get(StringKey.Ff7IsCurrentlyInstalledInASystemFolder); - var result = MessageDialogWindow.Show(message, ResourceHelper.Get(StringKey.CannotContinue), MessageBoxButton.YesNo, MessageBoxImage.Warning); - - if (result.Result == MessageBoxResult.No) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.CanNotContinueDueToFf7nstalledInProtectedFolder)}", NLog.LogLevel.Error); - return false; - } - - - // copy installation and update settings with new path - string newInstallationPath = @"C:\Games\Final Fantasy VII"; - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.CopyingGameFilesTo)} {newInstallationPath}"); - bool didCopy = converter.CopyGame(newInstallationPath); - - if (!didCopy) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCopyFf7To)} {newInstallationPath}. {ResourceHelper.Get(StringKey.Aborting)}", NLog.LogLevel.Error); - return false; - } - - // update settings with new path - Logger.Info($"\t{ResourceHelper.Get(StringKey.UpdatingPathsInSysSettings)}"); - Sys.Settings.SetPathsFromInstallationPath(newInstallationPath); - converter.InstallPath = newInstallationPath; } Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.CreatingMissingRequiredDirectories)); @@ -231,142 +192,71 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingEnglishGameFilesExist)); if (!converter.IsEnglishGameInstalled()) { - Instance.RaiseProgressChanged($"\t{string.Format(ResourceHelper.Get(StringKey.FoundLanguageInstalledCreatingEnglishGameFiles), converter.GetInstalledLanguage())}"); - converter.ConvertToEnglishInstall(); - } - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingGameIsMaxInstall)); - if (!converter.VerifyFullInstallation()) - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.YourFf7InstallationFolderIsMissingCriticalFiles), NLog.LogLevel.Error); + Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.ErrorOnlyEnglishLanguageSupported), NLog.LogLevel.Error); return false; } - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingAdditionalFilesForBattleAndKernelFoldersExist)); - if (!converter.VerifyAdditionalFilesExist()) + if (Sys.Settings.FF7InstalledVersion == FF7Version.Original98) { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.FailedToVerifyCopyMissingAdditionalFiles), NLog.LogLevel.Error); - return false; - } - - converter.CopyMovieFilesToFolder(Sys.PathToFF7Movies); - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingAllMovieFilesExist)); - if (!GameConverter.AllMovieFilesExist(Sys.PathToFF7Movies)) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.CouldNotFindAllMovieFilesAt)} {Sys.PathToFF7Movies}", NLog.LogLevel.Warn); - - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.AttemptingToCopyMovieFiles)}"); - - if (!converter.CopyMovieFilesToFolder(Sys.PathToFF7Movies)) + Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingGameIsMaxInstall)); + if (!converter.VerifyFullInstallation()) { - // skip warning if an active mod contains movie files - bool activeModsHasMovies = Sys.ActiveProfile.ActiveItems.Any(a => Sys.Library.GetItem(a.ModID).CachedDetails.ContainsMovies); - - string title = ResourceHelper.Get(StringKey.MovieFilesAreMissing); - string message = ResourceHelper.Get(StringKey.InOrderToSeeInGameMoviesYouWillNeedMessage); - if (!Sys.Settings.GameLaunchSettings.HasDisplayedMovieWarning && !activeModsHasMovies) - { - Sys.Settings.GameLaunchSettings.HasDisplayedMovieWarning = true; - MessageDialogWindow.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Warning); - } - - if (!activeModsHasMovies) - { - Instance.RaiseProgressChanged(title, NLog.LogLevel.Warn); - Instance.RaiseProgressChanged(message, NLog.LogLevel.Warn); - } - + Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.YourFf7InstallationFolderIsMissingCriticalFiles), NLog.LogLevel.Error); + return false; } } Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingMusicFilesExist)); - if (!converter.AllMusicFilesExist()) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.CouldNotFindAllMusicFilesAt)} {Path.Combine(converter.InstallPath, "music", "vgmstream")}", NLog.LogLevel.Warn); + converter.AllMusicFilesExist(); - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.AttemptingToCopyMusicFiles)}"); - converter.CopyMusicFiles(); + string backupFolderPath = Path.Combine(converter.InstallPath, GameConverter.BackupFolderName, DateTime.Now.ToString("yyyyMMddHHmmss")); - if (!converter.AllMusicFilesExist()) + if (Sys.Settings.FF7InstalledVersion == FF7Version.Original98) + { + Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingFf7Exe)); + if (new FileInfo(Sys.Settings.FF7Exe).Name.Equals("ff7.exe", StringComparison.InvariantCultureIgnoreCase)) { - // skip warning if an active mod contains music files - bool activeModsHasMusic = Sys.ActiveProfile.ActiveItems.Any(a => Sys.Library.GetItem(a.ModID).CachedDetails.ContainsMusic); - - string title = ResourceHelper.Get(StringKey.OggMusicFilesAreMissing); - string message = ResourceHelper.Get(StringKey.InOrderToHearHighQualityMusicYouWillNeedMessage); - if (!Sys.Settings.GameLaunchSettings.HasDisplayedOggMusicWarning && !activeModsHasMusic) + // only compare exes are different if ff7.exe set in Settings (and not something like ff7_bc.exe) + if (converter.IsExeDifferent()) { - Sys.Settings.GameLaunchSettings.HasDisplayedOggMusicWarning = true; - MessageDialogWindow.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Warning); - } - - if (!activeModsHasMusic) - { - Instance.RaiseProgressChanged(title, NLog.LogLevel.Warn); - Instance.RaiseProgressChanged(message, NLog.LogLevel.Warn); + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.Ff7ExeDetectedToBeDifferent)}"); + if (converter.BackupExe(backupFolderPath)) + { + bool didCopy = converter.CopyFF7ExeToGame(); + if (!didCopy) + { + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCopyFf7Exe)}", NLog.LogLevel.Error); + return false; + } + } + else + { + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCreateBackupOfFf7Exe)}", NLog.LogLevel.Error); + return false; + } } - } - } - string backupFolderPath = Path.Combine(converter.InstallPath, GameConverter.BackupFolderName, DateTime.Now.ToString("yyyyMMddHHmmss")); - - - converter.CheckAndCopyOldGameConverterFiles(backupFolderPath); - - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingLatestGameDriverIsInstalled)); - if (!converter.InstallLatestGameDriver(backupFolderPath)) - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.SomethingWentWrongTryingToDetectGameDriver), NLog.LogLevel.Error); - return false; - } - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingGameDriverShadersFoldersExist)); - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.VerifyingFf7Exe)); - if (new FileInfo(Sys.Settings.FF7Exe).Name.Equals("ff7.exe", StringComparison.InvariantCultureIgnoreCase)) - { - // only compare exes are different if ff7.exe set in Settings (and not something like ff7_bc.exe) - if (converter.IsExeDifferent()) + if (converter.IsConfigExeDifferent()) { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.Ff7ExeDetectedToBeDifferent)}"); - if (converter.BackupExe(backupFolderPath)) + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.Ff7ConfigExeDetectedToBeMissingOrDifferent)}"); + if (converter.BackupFF7ConfigExe(backupFolderPath)) { - bool didCopy = converter.CopyFF7ExeToGame(); + bool didCopy = converter.CopyFF7ConfigExeToGame(); if (!didCopy) { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCopyFf7Exe)}", NLog.LogLevel.Error); + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCopyFf7ConfigExe)}", NLog.LogLevel.Error); return false; } } else { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCreateBackupOfFf7Exe)}", NLog.LogLevel.Error); + Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCreateBackupOfFf7ConfigExe)}", NLog.LogLevel.Error); return false; } } } - if (converter.IsConfigExeDifferent()) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.Ff7ConfigExeDetectedToBeMissingOrDifferent)}"); - if (converter.BackupFF7ConfigExe(backupFolderPath)) - { - bool didCopy = converter.CopyFF7ConfigExeToGame(); - if (!didCopy) - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCopyFf7ConfigExe)}", NLog.LogLevel.Error); - return false; - } - } - else - { - Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.FailedToCreateBackupOfFf7ConfigExe)}", NLog.LogLevel.Error); - return false; - } - } - // // GAME SHOULD BE FULLY 'CONVERTED' AND READY TO LAUNCH FOR MODS AT THIS POINT // @@ -399,74 +289,6 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = return false; } - - // - // Get Drive Letter and auto mount if needed - // - Instance.DidMountVirtualDisc = false; - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.LookingForGameDisc)); - Instance.DriveLetter = GetDriveLetter(); - - if (!string.IsNullOrEmpty(Instance.DriveLetter)) - { - Instance.RaiseProgressChanged($"{ResourceHelper.Get(StringKey.FoundGameDiscAt)} {Instance.DriveLetter} ..."); - } - else - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.FailedToFindGameDisc), NLog.LogLevel.Warn); - - if (!Sys.Settings.GameLaunchSettings.AutoMountGameDisc) - { - return false; // game disc not found and user is not trying to auto mount the disc so exit as failure - } - - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.AutoMountingVirtualGameDisc)); - - - Instance.DiscMounter = new GameDiscMounter(Sys.Settings.GameLaunchSettings.MountingOption); - bool didMount = Instance.DiscMounter.MountVirtualGameDisc(); - - if (!didMount) - { - Instance.RaiseProgressChanged($"{ResourceHelper.Get(StringKey.FailedToAutoMountVirtualDiscAt)} {Path.Combine(Sys._7HFolder, "Resources")} ...", NLog.LogLevel.Error); - return false; - } - - Instance.DidMountVirtualDisc = true; - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.LookingForGameDiscAfterMounting)); - - // when mounting with WinCDEmu it can take a few seconds (anywhere from 1 to 3 seconds from my experience) so add a fallback here to try mounting multiple times instead of once - int maxMountAttempts = 15; - int currentAttempt = 0; - - do - { - Instance.DriveLetter = GetDriveLetter(); - currentAttempt++; - - if (string.IsNullOrEmpty(Instance.DriveLetter)) - { - System.Threading.Thread.Sleep(1000); // sleep for a second before looking for the drive letter again - } - - } while (string.IsNullOrEmpty(Instance.DriveLetter) && currentAttempt < maxMountAttempts); - - - if (string.IsNullOrEmpty(Instance.DriveLetter)) - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.FailedToFindGameDiscAfterAutoMounting), NLog.LogLevel.Error); - return false; - } - - Instance.RaiseProgressChanged($"{ResourceHelper.Get(StringKey.FoundGameDiscAt)} {Instance.DriveLetter} ..."); - } - - // - // Update Registry with new launch settings - // - Instance.SetRegistryValues(); - // // Copy input.cfg to FF7 // @@ -507,7 +329,6 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = return false; } - // // Copy 7thWrapper* dlls to FF7 // @@ -606,7 +427,7 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = Instance._controllerInterceptor = new ControllerInterceptor(); } - Instance._controllerInterceptor.PollForGamepadInput().ContinueWith((result) => + await Instance._controllerInterceptor.PollForGamepadInput().ContinueWith((result) => { if (result.IsFaulted) { @@ -624,11 +445,11 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = if (runAsVanilla) { Instance.RaiseProgressChanged(vanillaMsg); - LaunchFF7Exe(); + await LaunchFF7Exe(); if (didDisableReunion) { - Task.Factory.StartNew(() => + await Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(5000); // wait 5 seconds before renaming the dll so the game and gl driver can fully initialize Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.ReenablingReunionMod)); @@ -667,7 +488,7 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = { try { - LaunchFF7Exe(); + await LaunchFF7Exe(); didInject = true; } catch (Exception e) @@ -780,16 +601,6 @@ public static bool LaunchGame(bool varDump, bool debug, bool launchWithNoMods = Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.StoppingOtherProgramsForMods)); Instance.StopAllSideProcessesForMods(); - if (Sys.Settings.GameLaunchSettings.AutoUnmountGameDisc && Instance.DidMountVirtualDisc) - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.AutoUnmountingGameDisc)); - if (Instance.DiscMounter != null) - { - Instance.DiscMounter.UnmountVirtualGameDisc(); - } - Instance.DiscMounter = null; - } - // ensure Reunion is re-enabled when ff7 process exits in case it failed above for any reason if (File.Exists(Path.Combine(Path.GetDirectoryName(Sys.Settings.FF7Exe), "Reunion.dll.bak"))) { @@ -945,9 +756,15 @@ private static void Copy7thWrapperDlls() File.Copy(Path.Combine(src, "7thWrapperLib.dll"), Path.Combine(dest, "7thWrapperLib.dll"), true); File.Copy(Path.Combine(src, "7thWrapperLoader.dll"), Path.Combine(dest, "dinput.dll"), true); File.Copy(Path.Combine(src, "7thWrapperLoader.pdb"), Path.Combine(dest, "7thWrapperLoader.pdb"), true); + + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) + { + File.Move(Path.Combine(dest, "FF7_Launcher.exe"), Path.Combine(dest, "_FF7_Launcher.exe")); + File.Copy(Path.Combine(src, "FF7_Launcher.exe"), Path.Combine(dest, "FF7_Launcher.exe")); + } } - private static void Delete7thWrapperDlls() + private static async void Delete7thWrapperDlls() { string dest = Path.GetDirectoryName(Sys.Settings.FF7Exe); @@ -960,6 +777,13 @@ private static void Delete7thWrapperDlls() File.Delete(Path.Combine(dest, "7thWrapperLib.dll")); File.Delete(Path.Combine(dest, "dinput.dll")); File.Delete(Path.Combine(dest, "7thWrapperLoader.pdb")); + + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) + { + await waitForProcessExit("FF7_Launcher"); + File.Delete(Path.Combine(dest, "FF7_Launcher.exe")); + File.Move(Path.Combine(dest, "_FF7_Launcher.exe"), Path.Combine(dest, "FF7_Launcher.exe")); + } } private static void StartTurboLogForVariableDump(RuntimeProfile runtimeProfiles) @@ -990,20 +814,74 @@ private static void StartTurboLogForVariableDump(RuntimeProfile runtimeProfiles) aproc.Exited += (o, e) => Instance._alsoLaunchProcesses.Remove(turboLogProcName); } + internal static async Task waitForProcess(string name) + { + Process ret = null; + + do + { + if (Process.GetProcessesByName(name) is [{ HasExited: false } process, ..]) + ret = process; + else + await Task.Delay(5000); + } while (ret == null); + + return ret; + } + + internal static async Task waitForProcessExit(string name) + { + Process ret; + do + { + if (Process.GetProcessesByName(name) is [{ HasExited: true } process, ..]) + { + ret = process; + await Task.Delay(5000); + } + else + ret = null; + } while (ret != null); + + return true; + } /// /// Launches FF7.exe without loading any mods. /// - internal static bool LaunchFF7Exe() + internal static async Task LaunchFF7Exe() { try { - ProcessStartInfo startInfo = new ProcessStartInfo(Sys.Settings.FF7Exe) + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) + { + // Start game via Steam + ProcessStartInfo startInfo = new ProcessStartInfo(GameConverter.GetSteamExePath()) + { + WorkingDirectory = GameConverter.GetSteamPath(), + UseShellExecute = true, + Arguments = "-applaunch 39140" + }; + Process.Start(startInfo); + + // Wait for game process + Process game = await waitForProcess(Path.GetFileNameWithoutExtension(Sys.Settings.FF7Exe)); + if (game != null) + { + ff7Proc = game; + } + } + else { - WorkingDirectory = Path.GetDirectoryName(Sys.Settings.FF7Exe), - UseShellExecute = true, - }; - ff7Proc = Process.Start(startInfo); + // Start game directly + ProcessStartInfo startInfo = new ProcessStartInfo(Sys.Settings.FF7Exe) + { + WorkingDirectory = Path.GetDirectoryName(Sys.Settings.FF7Exe), + UseShellExecute = true, + }; + ff7Proc = Process.Start(startInfo); + } + ff7Proc.EnableRaisingEvents = true; ff7Proc.Exited += (o, e) => { @@ -1015,13 +893,6 @@ internal static bool LaunchFF7Exe() Instance._controllerInterceptor.PollingInput = false; } - if (Sys.Settings.GameLaunchSettings.AutoUnmountGameDisc && Instance.DidMountVirtualDisc) - { - Instance.RaiseProgressChanged(ResourceHelper.Get(StringKey.AutoUnmountingGameDisc)); - Instance.DiscMounter.UnmountVirtualGameDisc(); - Instance.DiscMounter = null; - } - // ensure Reunion is re-enabled when ff7 process exits in case it failed above for any reason if (File.Exists(Path.Combine(Path.GetDirectoryName(Sys.Settings.FF7Exe), "Reunion.dll.bak"))) { @@ -1591,7 +1462,10 @@ public static bool CopyKeyboardInputCfg() try { - string targetPath = Path.Combine(Path.GetDirectoryName(Sys.Settings.FF7Exe), "ff7input.cfg"); + string targetPath = Path.Combine( + Sys.Settings.FF7InstalledVersion == FF7Version.Steam ? GameConverter.GetSteamFF7UserPath() : Path.GetDirectoryName(Sys.Settings.FF7Exe), + "ff7input.cfg" + ); Instance.RaiseProgressChanged($"\t{ResourceHelper.Get(StringKey.Copying)} {pathToCfg} -> {targetPath} ..."); File.Copy(pathToCfg, targetPath, true); @@ -1679,13 +1553,24 @@ private void CollectCrashReport() using (var archive = ZipArchive.Create()) { // === FF7 files === - var savePath = Path.Combine(Sys.InstallPath, "save"); - if (Directory.Exists(savePath)) + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) { - var saveFiles = Directory.GetFiles(savePath); - foreach (var file in saveFiles) + var di = new DirectoryInfo(GameConverter.GetSteamFF7UserPath()); + foreach (FileInfo fi in di.GetFiles("*.ff7", SearchOption.AllDirectories)) { - archive.AddEntry(Path.Combine("save", Path.GetFileName(file)), file); + archive.AddEntry(Path.Combine("save", Path.GetFileName(fi.FullName)), fi.FullName); + } + } + else + { + var savePath = Path.Combine(Sys.InstallPath, "save"); + if (Directory.Exists(savePath)) + { + var saveFiles = Directory.GetFiles(savePath); + foreach (var file in saveFiles) + { + archive.AddEntry(Path.Combine("save", Path.GetFileName(file)), file); + } } } @@ -1697,7 +1582,10 @@ private void CollectCrashReport() archive.AddEntry("7thWrapperLoader.log", Path.Combine(Sys.InstallPath, "7thWrapperLoader.log")); archive.AddEntry("applog.txt", File.Open(Sys.PathToApplog, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); archive.AddEntry("settings.xml", Sys.PathToSettings); - archive.AddEntry("registry_transaction.bat", Path.Combine(Sys.PathToTempFolder, "registry_transaction.bat")); + + string rt = Path.Combine(Sys.PathToTempFolder, "registry_transaction.bat"); + if (File.Exists(rt)) archive.AddEntry(Path.GetFileName(rt), rt); + // Convert profile.xml to profile.txt Profile currentProfile = Util.Deserialize(Sys.PathToCurrentProfileFile); IEnumerable profileDetails = currentProfile.GetDetails(); diff --git a/SeventhHeavenUI/Resources/FF7DISC1.ISO b/SeventhHeavenUI/Resources/FF7DISC1.ISO deleted file mode 100644 index 7b3b2a1762dcf7e4e899635bb48a7a26749271f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1245184 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 Verificando se arquivos de jogo em Inglês existem ... Linguagem instalada encontrada: {0} Criando arquivos de jogo em Inglês... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Extraindo arquivos .lgp ... Renomeando arquivos específos á linguagem ... Não foi possível encontrar arquivo para renomear: {0} ... diff --git a/SeventhHeavenUI/Resources/Languages/StringResources.de.xaml b/SeventhHeavenUI/Resources/Languages/StringResources.de.xaml index 30871e91..c23771f8 100644 --- a/SeventhHeavenUI/Resources/Languages/StringResources.de.xaml +++ b/SeventhHeavenUI/Resources/Languages/StringResources.de.xaml @@ -1237,6 +1237,7 @@ Möchten Sie die Einstellung übernehmen und es erneut versuchen? Prüfe, ob die englischen Spieldateien vorhanden sind... Installierte Sprachdateien gefunden in: {0}. Erstelle englische Spieldateien... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Entpacke .lgp-Dateien... Bennene sprachbezogene Dateien um... Datei zum Umbenennen konnte nicht gefunden werden: {0}... diff --git a/SeventhHeavenUI/Resources/Languages/StringResources.es.xaml b/SeventhHeavenUI/Resources/Languages/StringResources.es.xaml index 659f9d4a..6d5f99a3 100644 --- a/SeventhHeavenUI/Resources/Languages/StringResources.es.xaml +++ b/SeventhHeavenUI/Resources/Languages/StringResources.es.xaml @@ -1238,6 +1238,7 @@ Por último, si quieres usar archivos .OGG de alta calidad, cambia la opción de Verificando que existen los archivos del juego Inglés ... Encontrado idioma instalado: {0} Generando los archivos del juego Inglés... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Extrayendo los archivos .lgp ... Renombrando los archivos específicos del idioma ... No se ha encontrado el archivo para renombrar: {0} ... diff --git a/SeventhHeavenUI/Resources/Languages/StringResources.fr.xaml b/SeventhHeavenUI/Resources/Languages/StringResources.fr.xaml index 20734982..737b226d 100644 --- a/SeventhHeavenUI/Resources/Languages/StringResources.fr.xaml +++ b/SeventhHeavenUI/Resources/Languages/StringResources.fr.xaml @@ -1224,6 +1224,7 @@ Voulez-vous appliquer ce réglage et essayer à nouveau ? Vérification que les fichiers de la version anglaise du jeu existent... Fichiers d'une autre langue trouvés: {0} Création des fichiers anglais... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Extraction des fichiers .lgp... Renommage des fichiers spécifiques à la langue... Impossible de trouver le fichier a renommer: {0} ... diff --git a/SeventhHeavenUI/Resources/Languages/StringResources.gr.xaml b/SeventhHeavenUI/Resources/Languages/StringResources.gr.xaml index 0643e8c1..b99963ba 100644 --- a/SeventhHeavenUI/Resources/Languages/StringResources.gr.xaml +++ b/SeventhHeavenUI/Resources/Languages/StringResources.gr.xaml @@ -1232,6 +1232,7 @@ Υπάρχει επαλήθευση αρχείων αγγλικών παιχνιδιών ... Εγκατεστημένη γλώσσα που βρέθηκε: {0} Δημιουργία αγγλικών αρχείων παιχνιδιών ... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Εξαγωγή αρχείων .lgp ... Μετονομασία αρχείων ειδικά για τη γλώσσα ... Δεν ήταν δυνατή η εύρεση αρχείου για μετονομασία: {0} ... diff --git a/SeventhHeavenUI/Resources/Languages/StringResources.it.xaml b/SeventhHeavenUI/Resources/Languages/StringResources.it.xaml index cd104472..3f0881e1 100644 --- a/SeventhHeavenUI/Resources/Languages/StringResources.it.xaml +++ b/SeventhHeavenUI/Resources/Languages/StringResources.it.xaml @@ -1228,6 +1228,7 @@ Vuoi applicare questa modifica e riprovare? Verifico l'esistenza dei file di gioco in Inglese... Trovata versione in lingua: {0} Creo i file di gioco in Inglese... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Estraggo i file .lgp ... Rinomino i file specifici della lingua ... Impossibile trovare il file da rinominare: {0} ... diff --git a/SeventhHeavenUI/Resources/StringResources.xaml b/SeventhHeavenUI/Resources/StringResources.xaml index c4ac1594..0cc2a40d 100644 --- a/SeventhHeavenUI/Resources/StringResources.xaml +++ b/SeventhHeavenUI/Resources/StringResources.xaml @@ -1237,6 +1237,7 @@ Do you want to apply the setting and try again? Verifying English game files exist ... Found language installed: {0} Creating English game files... + ERROR: Only English language is supported. Consider installing FF7 in English (US) on Steam. Extracting .lgp files ... Renaming language specific files ... Could not find file to rename: {0} ... diff --git a/SeventhHeavenUI/Resources/WinCDEmu/LICENSE.txt b/SeventhHeavenUI/Resources/WinCDEmu/LICENSE.txt deleted file mode 100644 index 0a041280..00000000 --- a/SeventhHeavenUI/Resources/WinCDEmu/LICENSE.txt +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe b/SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe deleted file mode 100644 index 850dd7c0964daf2106e4affb49ea4a4363b15ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682840 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�$Mm z{ETBPbXC@ZXr(mpYudwuBGU$uMl2{e)w15iL4zo@fNxWv9FZ;e7aOiIGG`YRSET(K z(ZcV_Ug|Kq^?JOwsBr+w#8jq6;KMA-Vk4y_0$2fH#!*1a{R_7A2>b{x-9;4OA8@cG z)m7?m`1~oMG3+Zwn9Vp zQe!4IEg7}cDN8smEUb8DYww#rlM{E?j~(b${_!A8UinQimLe6OHYsC-u`UU&Am_5h zX;Xcl_jqjXPd8i}n7Sdb>^DwhAiFf*!`R1rT{FMnm8kz14#P%feEE2mkI?Q_--(lK zK^_fn5#8M9b8W&I*e`I%0#h{N(iun8Cv{=WJXEA$(lETviFrdclfDB3Wg3QN_+$5T zjIgvU5f$6U)x414xkmWGiE3B`kj>AM;*uicBbgmDPG+3T2!~Iwc!8Xcj8BYanE4-H zE}RZxj}jjaf5=1tk}55WD(2SYA^?)QK+71GQOKG!`=W(mPg=6tqbVh+44aqw=r34a z1(tVK$e%UxXPriRG}ajOn3YL7tB^Ne#wYikOR^$O(3IqEtvY+((IjhueL2_laT3kJ zRn)ml9;N_{D4x!jO=pc9pTsT^N}_ow}QpjF!sS()4D}SezY)-#c54htVed zwNqU6Cd-auu`Co)#U1h|v?RQ7nenD715c%ab#@~@w9shrDTn6<&MclQ^VzVEeZF_t zZRR8!I`E3rX@~p?UH*zRbcg&2CB7m}-64M>wuhJ(MF`2C*Um$i>UK7RZ_`UzdF|c= zh&S;kJUQg<5Z*u$YGX@xh9;^P$DmYy|!YDWmLXDDT{y9VJ;k?tKzo-x1W+cW(`DF|y zoyQg7jjM{nOWI3ABjni;dbj0u1*cwhhMjR~i;lavT4>FV)(KgL9Cs0#Apm>+`yJ;M@C} zmzTbvR)8ujmK=+^Mh`t<<}GGaOqMW|Ye-C?juD2=bR#FNSzU4dxUW4X(l7nr1nVck zSX0CtMaIcmG0M@TTP{y7BH*ImyYCTkB!L)(@tsZUyG@`1yrybLAgH*6l}w#_i}_>q zS&J`wGyMdCDsOd#YoK(Jk_B2bnVpOjBU?)iCKCm#Rjvj;r-7zm9?ZxJn?&rCOv3NT zcSoXp*YtkBrN8T<-#Z_{N4uRBzm*7`W@iIoJLHd1piEthyd<2LHArARH}r3 zvE}^xEcXxE>dbu3;6|&SX#1=b#fSc4yj{*qX9TwnMGbYNpD@i8C2~i>=|=2JpsAf{ z>yQ}Pcv^BajckN|7A1BL1hQq+dJppKC%U3$mA+P=6}|O&iIaJxKH9EDoMv(OddkQu-DBO8;$isMa6dG{$!!b_)urt={AvqG+9?p#1m;nIG!!JA0?j zTng4Z7M)y64@xx==;Dn~36C(k)o;HI$REO`NTCc-FX*KDUcb$FCp4ewJ5bP#Wmws5 zcCf<~QLr{{xwXtP_!>~Cen^_q&>u`=ZZ>Tt&NPY`z~Ezz>q`;8T7o)teGk(hOUX2@ z|9!88wV?ophqeWps%Ddq&xI|EzB;rRZw6%s;B8pcH0Ve*DgtNeg;RI@nib-NHs2Vv zdMOq#k>4`VeYN0voA3P?PivvdqOInQO2Rp9jgqH*5g~tJaK5A0RrZ&s{Y%Y$g8%6>@@xp)%wJ@YJaIJ_V!T%&WqSSuch=s~>P<{m2)_688`;AT zCHvrL@;)~w6HVq0F+m}sxUUGW`>?ZE&E$2A7N~e4mI_$U%}KD;pwE;K^)q-&M$Q`S z5#=Wb>Rpt|xwO!*hNmVNpM-~!m%ydc22;vT>lXM_QTDRC6H_Q>*^^RKAROYnyKq%1MSb z7EWzg(%De(FW+66s1lb)TA^DVuQX$*h+d^3tOWrnGyOGd0Y`xx_YueT=g1h?`Z0yv{)vW&A6hP%?>eJhGdQaJ}Ro*0~3LbMN!r&qgGQ|Rspp2B@o7I8Ryb9Aq4940df~O*H37?Y<8~yY3a0@ z&l53RuCdZ;8I&^@iI=&xJ>ko^?f;|EVJ1oM5PVMrnm*K-T)G=)OK}=5M&rWW>UhL0 zVJ+!;LO`zBv26{_4vz1wIyV8*q5UeIPn_>L84%Rnthtb^)P1>B9&2=$S>Ln1Vb^kzTDFbZ5Cg#n8>Nw#Mv{EX=>t#?4n-wo=0Sw``uY zOrG2r=JaQdap?!I1O|i*BMs}dpl+HZ zzEszGlB|0K(EZ-l*Fs6=0%?*qA$dJVC7*Z2-<7|-O&xaC=T2y!3sC)oIrMeKdN{wblGBg6B* z`78}xADwMvGSA_Bs5_=6bEMW_nx>x6=~F?4+JV>S(u~$5LsukS4+_kEirmq1b zjL^<7m%7g)i+ciwz^B;Q#(P?e)UxegS==Kldy!h(CCeArg=a#;)lp=lBKSCgSK8Ch zHm|v)pHc5{D=7*giqx}`t+}9^cS72ti~2Sy*U>y{_vgxyVvz5aBzs$KiYQwR4dKHU z$W11SAV#Xi$hG@cBE}oj#}*N`jYG}ot&AMJ`fYQDsw;b=)We*GL+?eEh4vYCru8wj zKBq5NeGl~aCwdq3TvD3*zns2j1}2{|<9F=-v{4YbBPwy!-^c(gR_vt0r7ssEkt#g0 zYl}_8RwDU6wpe|iNV=go(hsVhZ;YXoivH4sQgoNLH0GqGZJiP8s8ck%Sc_3<@n14p zDmh0oTJV*O^Z5nFCH!jHTY_J=H9eZPP{ewe;L3DN}B3XmLtk#3; zIWo^(-Ld(2IlI@8%Qx57vuThqn2&PIN5{jOmrHUITr-IkP%9|b)`Xs}>OH-P%o|&A zEV97M9ELGWk27NCg?nYOH@$=)$0P`qRBU`z=17i(h& z6M9Wr=-7*~#KT}tzs;x?VYr4D`1D#KzJSEnUAw6 zsc!;WKT&e)Bvr1=<=EXeY9u{{IqJ&6c|-;;cn5y90V%6C3&QMLJ}+v`SjM-TXyLF@ zQd1!%ku}eNFDlJZKOLaZOXk^Mu4E$*5B_NG#v{ZHzO?W{hYCVd(f!#3Rwsay!Elxw`0-qgU()mB5Y5&g_P#qS`5~vpH~taccZkTYc`Fbh z6Yj8_Fw=*?H6COVK&(H7n~sOg4=d)$H4A;~hRf7{Gf>TwaL#k|Rci>rj}#HF{6$@q zicH}G=r{R*JWIib(1shKLG4fpZ$~c4r>2y(9B@LjkgUVEoVWvb zvB8tCZSoaZm{`t(I9?hyiD}XU9nr|#-pH!I9Vll9qLZZeh5kM;e}fJi-WPTt8fNVa zdoCLGG3_#otNLyfvbUh+gQbd!k`+g!!5aX-8F&?-0L-9NRvDzz^iGHIdNlDCD~m+Rm+rgkBX5 z)e7^Qr%2dkzC%+&aW9S3xF#D>KVohsgyI+Kl~bg{WTSYrMT?7RVKJvHe#W5V^tMdR zq0w?>D~C`!f5XF0=|#qCy)usnnBoeO#x)<+ENLiIu6mpUj|g>m2k>n>|2}hK(fRiy z(=t=6)tsQ;x4wBNQF=r(At3e8X97G46X5NS%FG4!IgXdL@aPlH%O{99#LVShpr?J~ zWxR!r%9!nkwZ-1)248j|FKv*^L#GeP;SgX3Raka1YnfT0gI{=x1jI-HmpQy%IU@Vr z`TO&~-QULR{p}k?YV*Uge?q>%fO!?q z>!a(7RQQ{O!J6A;)_-8+*uh2@Ia~Bb$)&;w75t7&nP>cV^*TOt^LwdH?+08pnw#GL zlCsQk$S|b&Los?*oB0_B}-REzJGcTT4Svr zHjE>_o6GZxwgjm;3Z+6L3)S?mRUQSnSmFWjW*D>-!SY1?&Fax-V~dKi%3NMsQBf#9 zs>7qJ1jMG9ODZiWQ7H`SQqn009+u+L!0I!yIu&$h{9gToeva&;^#02(dx(2CGsSo( zvdxs7w9XI{X=c%d>c2I&Fzr&iv4so!Xhjo>rh?S|RFK+71umh2WK9LmJ}O8RDu4u- zbwXRW%%}}_ATP3UYX82UI`->*|Ha*3?R&X!@w|kX0j9!>l#{ly;Sv1E-asgTl0f4S zT8A2JUc>6C3#=8X57+~k$U57LtS0uwUqjXm1`=q}$Pztry&I206_V-naO$PdBs_YN zjk_Bzml%D1le&jD*wt(LH%YbVU#EIm|0b*7=wH-!$?uKoS^eo!PwC$@^_c#hs2J%@e^b>O{hO&)>E9V@8Na^6IpGaCYM~CAqi)f^`54NS8ZA&+`nOPB zuYVV-tM%_vb*27Yrbg)ByVMZ(}0=#Jfd%pAqkR z?R{3f71}F2LJZqUX}=ZkBJFJw?>y~2EZ!N~D@PD@z4kI#EouT@UFGBQm7*i|i+7Or zo)T}Y_MR5+`IS;iyLiuP?-}vFuf0mVZ)@*a@xG?LTKc_7dpjg_kM?$o_h;JMCEg!t zZ?||K(_YziE5G)N+?Lv+z4CNNt;egYEOu$sY8@dLk?IcZO&0I%+AD(4YL51%iZ@Gp zUE;k~d(*@_PJ1VcH${6ViFc6pP7!ac_D&V=`Mae3nc_XGy)(r7zV_yb_igQ+Bi`4v zH($I>cy*N*$k(rRM4@CjD*}_hUB=hZ)>(b-wc`Kj{9vSM2F!mmd4mbt{t&K@A$bbjn~;ovK$Q)jyd|qcpcRmc0Q zos-CIA*w2yhbKXOG14AY-oW~9Bo)>o%fwcs5wSp_OE@$aUk|>X&$8oZ7Pj+^#)cZ>H*^}dfUF0sd`!}!`PDP*V);595krYCkZb|d>Z zBTpD49VVM5>{Wrh;|$HSdUKf+eg}~ja$Co99$D3z#vO4V@ut&dF`n_Yt2@bNt4>ZT z(tbVRO~#G?PE?@BJiZjFTd7m2xwd|9*l%lw9duy@P3W-cLr3iW`XSkD8P1}A^|z*MQiE_Q^v zl{(dC`lyrVb|O2W%wU+kp`4hz3&S_IBHyH*K$L*pDd*7c{zf&P+|7_*oy!YT{6va>RYvFmOAb_qlz{`Og>h}(xB&$`9v^_7-aO~HHspWi zWD9M1uI3R3KV$idHNW_gFB=OWaWIF*wC451gwSH>+%IpbG!Y~c7AtC?dn}Q$%Sj0G z%|K~VI0wl=NBz@$B8aT#g>lW~XvuMC1!Ur_@jM6rtc(o~<%{PAC7>eyFS5Qn2OjdgUZMm3 zbvhi@M%m?*_8md8HIR2k@R&Iwf;C6oM%kEm#d<1H&*P|nftuA;pZWOZS1sP9((2$T zLPS{-6_jgPKporfh3=`O<69+oBBeJ_m@eH>H=j_m2J6khafhfuy_^Jtc8cS1&Um?q z$nN2fcO>=s2a`mpO09{^AbxLGa0Ly^mPUFb^W?;5%ZRr`Qnkm%KKvHX$`>$L7!b|~KA8Ec27rA4S0U%@@lh$azp`fSc z{jF0F*1R+Xq|oSW4mz9OPpJ7|YvQq*>Mtz~cJGyXG9M+WB)8tI&3tV&cGpD{$re44 zZ0a4g(W#_T^p-MncY>zyR{WgCWTs*!ni`!ohHcfu_R{6JdO+BGx~Vky<1c`_(Rib; zGUj!n-^LA2SFreV;CF%M^2a+t6;;c`t7Vve@rYaw^yLa4F}yWc4yZiSVM?5!#`i&Q zy(F}#N+^cu#||l6;KZn;WABM`b7Du^&}-~jEfpW(*y}hqCx(zR9$|KY$8zJdphyBE ztll_u`kP*~)^&vzH@{EXljQ@CNhbS_mK&dtMY(&Ovnq+dL(xQMU6&lX9{=T4>HJOE zIG&J^p(`BwmUIP@V$bD{c6tUl_WI>1z1Vn^(+nyuvu_8{mgYmd#Bhz@Siq^m-I@4XpuntO2dcjg7AuU_gvDX`OG@_OMlAs5)8 zmU9_nRCoHeqP_a6K622;iVi0UXTubth~5^;8wmE`cJ|=oRL;Y_B=KaUd0!O0I@BZ) zS|RtNEZb>nSRd#EfJRs*=G~GB%hq}zSas}eo{i+sXqzWn*Ve^FXvR@91hvCFpo$hD zn{0IQHCj;{BX3#<>CR{>ABY_D(b*((>^(mB+??rT<%%{uba~_D6vB4>v*vb_Yz}eF zFc)UIcZfW@ds-kJ^=!Jrq3@bV)`dP6Ras(u4a+~Ghx)KAC(x2&HE}hgR_@;mcWAAB zJqXvHtEmHfF`PDfV!f&7a^}Q%F2}&_m#dh5Vt7>AiKi4PPT^h4y}Pi5^}eUciy4*| z*a4aB!eTXt*spKFN?Q@7u*kEp67?E47p1WJ^*eTx!)?EYIdC(wj1dm^DD^#n*vY6( z{6=`n-1tf*`*FHQsx=X?g}q?v=RDf`-$-;cN;9Gy?HHURQ(fwh7kj&NZPByp|6t>G zcGSl0H1^GoePZOc5Ir#ku;h7J7>k)(bOVT;TW96XgijMzy*6}vTvX0})zB?Uo%?G| zGRl&rt{A#ySTQXI0%Bs?zefym`=1u$)c*Px^xrQ1_muwIssEnVe|PJ@$N8)F!I@Mi zHcA>X6wZ)JSBLnFOvtIrV{1fb5{R7 ztpDzkzu#}?Z@K$zN8Pi)^B}}}!GBP!W@8JFzm7*X5sWEXF7d<|?Y={fy)`Mwuwx8J z3wLWn-1jvxi`GraB)rm&b)x0|dMN_=IBgxu*OlP-)*$i;r_~=mD7OSYZ91MdJr0<^ z-fXXl2NMG(W&{I45%;8A9_@SbF*4|xn%?S3ZmLMeolJP5}X{(cl<^9N~GjFSm!HW;b5%JQT+XLl<(l*?PkNfZb3t5SA{3X z*M)^zU)M$y6A)!KNi=o_5Avtnck>$W5bK3VFz4^!PY5>a?+iZK>vsi3OiRPRvUmqZeRqu~7l+?8R*-eAT)*CqAcO1*B^u@Sqp7z=gOW$O?u(@xbMOw*=o z54LH?Y7gdBM~KI?)o#?kMP7?cd-84d(#tHs7WKvkhFP$KLzMKlSed<^jn;3^ zags*~|5^N=Sq=3^_zl#*$X}!-<)^j&D1R;C-EyJ|==ef3u?c_*{+T9-K-NPJ|DN3h zg%ZmBI?jaf*Gs$1sV8_Nb?7%HxT2YETDZ+H(JJKZcolhHN#hxcfM*|l1V7=l>U&Nq zYzc~0+I~1JRIej4QW`uiAYJPm-}!Gy1zBqT`noW1`-%?7z^&dHVc>SH7`RQ-25x^$ zoQaMaOl?ZJ--wI_Fc~WDofzmvRl7hB;kr#6G$JVET{osbNmlN+hU})-Z*9|)nviwy zy!4EoaB|w}C4XkZ2o+gsq?S(rW_{0?-DMPY2mi>2cPO*cJ>C+NDkYQ9t?nae`O{Qt z9I3sqldvr}1%6dVWU)Hi#?4s9Ra**+winMp#!YQ7rswUFbZfE%;1 zL;Dz>NT-MQ$Vk$5Xoav%@<0k+NDV`n{4GJre?AOi-WnY@o|eJFby)4+XpRN_bb2^w zJG7dHO8VQOE%zN19Ec&>ciD-WR0c$0BsWY<+&tMkB+>&kZ=PR|*OH*T7x(Xx3bpC= zlX=1tO4EjDAMVy9UiXyj$ixus8zeNLt^z93yC(LT8NvBxASxs*=9HL7wT5B?=c#6V${2H19&3UTTG9@%aPkhP9r<$~B#`g{I z(16>~nZO$_YcsF7uwp9&e4@)N#dmNwUv$DQT5st28P;n0^MWvst#Wc`Fn026mFb~) z%;Y6kx=^GLkgjdhSP+aE2T$>xt|!d&gMu5sCdFMz-n7sdb5W{vnXA(6Dp%OA2W4Di zF5Oli-uhm6kEAgUJ|%yjev7{WO+3tm0;az8ujrg0=4h`od)nrmVCYgpBP*wvc^fUa ztG_+)mE1q@9Xw7Z7Vmw=(`WJ2zq@6np$Y$@i8wj~%S>HTc&l3TNAlrWeZBM=H#2GB zJrZR$#w<>4q%7+}0Vu71ckAxZwZ4FER%pCAqRkeCbuUKSr5m&tj~&aJko*TC>=uz7 zSSY7ntg0bj?$5)jY*Oj2ZE%T)!jg%cvTjRqap+}H$c7@J-$CkMtXt-@{?PkS@Nm%? zy$cm20ioF2?7sFM|6ue=lbOWmo3P4QU;D>*4s0R#`6Tl3PEs|CKx~uC-Qh`69_`O@ zcX$WE4p4J>+$F+L=s5fII9^mt+euVn>cJDUbu$C`vHrovZ7Jzp>96^3gV?u>W`ZZ} zKmH)(CCa)&xA~5^C@`4KfZzrU3sjy_z6(8Edtlx43aoQ}9tU60YSRq&5O}YKF;G8Q7u zIn4Q7x1g*=)V-gnMM(u4+l}v*1^-6o^j4JBbX?ZNeyk>}#g$~d%L6;aZZPo3EoG;g z{yP~EN^|f1OU?=blyaRS5NZr@#*uNy$U|r<7i=Ldo!&9(b4Nof*xPDHE?BEZd|B?y ziV*x8_FFh2j6jk6gEXP-;p&$aQg^uqRXgz-rgf(Z*u8dq&`Q8Zoy`7X;fiK-ksa z8NR{*>LhDnIiEk3{{$AM#~tDdRi>k>)uDT&t&+VuhS%tbhz`b6*KyuXB!p3KN4HQE zH-Abp-QUu`C}Aza5SAZ36ntk>jU`$uN@dSdZeg(i$?P#ots!@x%c2(Q0y(Mbhd2BQ5R1psAhK5f5~1NQF70;#yL~cVw;Y4HRSc6+%Lb< zR_Ym%kFwuG=Z`asUhey#$G-#)y;T>dMQYWJ-otnpopb z^v2cLZ6Rxoi%GkK%N=VAmShmgbf0qgPEfGiDaFhf>8SfJK4zfgyur$w%mQanWTS!4 zcOO}w63C6I$>f11Q!i1i*2It({Do4MS_+pMQTIR+OX z*W2>Cv6}}pUS>EN77rdjTP%-6zb4F1KNT8!{?rrLeP=4Ot3SM|TgIhi zdRfN_xx*J7i9B$PypR+rT^a!LdhgzzpaP``C4^aaSO7i9NsVz6#9a|jz8v)i-4A|( zKJ(WY&Rg&n$M>792yArv7hFCi1be_Uu-x}Q6NP9r=Cax$s_r0*Kha>{g+ZPn<^F;4 zBDpD+o)7LJRFsW2_n_5g4Eqw+=0q=g1#QGuCTjUxA)-1-&9!`lO4vbk{aY%zQ&Y*3 zD3wesM*(M|=hwVn=EN?P(j}B4o(p)!8wss*;wL1At`W*fFoEke>GTMK*S?|=Y=#do zGok)b0vag278H`X^F#=H#c& z;q^}mRs!Sey5CWMhj`FE5?qFd^;@jQ=xJNH%*ARSED5=AVA6WNHxs!4C=mX$%u7kE zCZYgBo3`N|QQs&C_m=Hz5_)z?rEd&Ief?%3st2OaC=7Q%S`C7R4J4b7Iup%XSnC^& zxy;HXj=c}rn3Ze)UPCvX=&Jp~k^|`%@=Jhc7QdX@JQL&>>4Y)zi(Eo>%`LVXBQdbx z`n1L&H6PU09E)if61wW*&}}uxVneECrEP0yP+v^Vl{NLEGmgEw6j9b93+H%C6I!69 z=*W(ajXHEcOl?D8CbG{t&5@<@@}&R_di)!lOX1p=VG0)&09O95ups16@yunS=4BZO z+$l$bmgvC%`*S?4OaQrZS7UaG@2p(JI^`nv%iCBB%Ir+;*>XnR$UU+$YGl6PWyMk^ zx-xrnwcReW92L_BhTviyp)c62dxkdV*(+lk^12$zF0|%-j;)x)jH3-@U9EW+EV<;w zjqti;URcT2d7)50`JmE8Wxgro>7t#^%)GvfTI8)U=9SkyE{|l$v8!T-%6nzqfud3xw~0F#ck;B%5<`k#a!45{^2(K}Kz~QM~4*>JFp!b!p{Z zTS{;zo=Ab_J+#phe2Oqy;M;HJdHp33(bD!6M07WleJSE8rJ-S}d3kio6r6Oo=6%_V z6I))&O%MUVN)8CA$7#<;Z$<=Sc1#SZeHeZAjk@R|9C5 zi&(`59`zK+)l+rSzTDs3vDYPXj1v;iG$weiLS%6ql6tFB9v;6Ax``fQcq%w2Erkb-DZHOa z#_#NX(3r%7#y3N``T-+W$Ia)Cmw3RKq8~6O_dZ~B@_;dc2aHJ@Vs6Vg$qPk!a}zC( zeC&Z)NydDYaYQxU#CCtxxLKCq`W)mY<6Y2u%e_}@x=(bwW7eT~E?rxBlV$@se@ zevQOmMtpD9XGxkTQECEFT{lOH*5xC1A52-=gY@Frpi}>>s)FH_xq zfzKECj3|7dUQR|q?|n3(p3_t~cnk{%fjutq{z$w5Vax{~%f(ypXz&q!jrt}D`c*Xh zZ7=d^H16gvH6KMGXnr&1ckwY;N_O4h!7QC|n@$nAAUxWi=3ZLA)b#BDrsSgioWf!EDWor0qrXPbH%+$>@$~ zMv(&Lj4lf5IFrJa>FCk)mby@_qRuV7mFc81cS{~=lgZ=qet9qf2krM#1N2_1Yp-Lr z!#3&Z;O_)AY`priK1AXy`u8FcA%NcEn(R;P;&WkKb?GAM16l(uU||M67u z=$kOXp1D;LNE1+9+5Ks*<>iKCRGjW&?Ncu;>IqjI7pQLnwzfj=hj>jb{>((rxwajpXXNr8V<;P1FJd>?)m2z;f$ z?-uxLE)Cy@p9XLR{=q^pT|$9`y*^ny7mL5D&3g6KgjkiD?5#iT~5Z@w=k&FGk`ITpWKU8s8C#f8yeJ7k#eFpM*#1_t3@h%cAiWk@(V!;~$U4 zKO2e9x;Xx=XncDle#FJ`P80uwvs3X%`4{L0b1u>CUl5I78j1hYMe)AuPRJrc9XTK8 zS}?ni-7P_$o{t9T#Xz-Mrc_=Ko}b0EOBxF)=h{4LjVKs>?EAvB%O*Z(|vQ>^8q z8)GdNep7HC;!fh4aKFYqgZne_TligzTZWsDn~s}^lYg;Uv6g>k##%=5EB~Gae!t`? z|1x4NPFxD^8r*c;B3wCcGwxa3UfdzvpK+h!dT>coV=ZHGQ*kqK3vf$umAD$*qd4V` zwVc8o!~OFH(##}nHh$a@++N&IaF60@aO-fzxEZ*yxXW=iT-OZJ;6A_|$Gt~hFOlaP z{5IisaF^pOxR0)nwY-IE#qF10^4pL58SaO;Uy^SlzZ-B% zaWin&;#|1FxMzs3!+CJekiG%84)60ehFL9}af57i{=wJhG6|NXJ2X_N*0xlV6!F@W7`s4nLdjod}_e%434UAx}1a?Kjo#s4O| zs#f3sz=qYXbq`c|R(@m6YS*f&dpE4E61g);cj;6v*JM{T=IaS1-I{yXdoC`?{F?02 zG50^fo!y`syB&7fuy^;V)fnkk^KxEpa<2a_`#NbMo%@ zy1uc}b9aTAXm!=K0#O+4&R&?wuDc&tyZ!-s`2Gi0trnnfSXNp*mb=j-e7|KazH2S3 zEt_yAPIRB#yB?fZtzNn6p-Aqlu1vJd%3VA=zu>mT(_L#HaLt}$_K0i!y482zTYm5A zRT`)FuUvQC`qiEpi?LAjzyq!|53Ie%GWmb}muQhbhks1tWc)S<<$-gPM$(HN2|2m5oyxwnl zK>wQY*J*sO=I?zP<{JJkF{xXsDg?f2^@e-zUcLU>Yp*5lt9h)ntl>Wiub|YmmQ{SM zwrCU(wuXAF*EN~Fa;-EV(scU3HEZQJ?_FPPB4GBMS>E;6u77C#bl3PI-Cq&-D(_m? z>NTr3tQ2gmt9pQX^ubi=cC6H;jpwh65|=Q)%(fI-Zo%bQrduRj{w?FbYjNwS(K>3l z%u<4HEwFQdyPup^SZ4LoUxB8-6_MOlkjpCa*oeD0f5Gi!TE3c=u9IRe`VyQ(W3IE@ ztmCDOZ)&U*(hpVOW+iklIFp)ii5saezF^|iLR{y+A<20p6l z%==CnX-m78Lfcp=L}i`#|3By6nL9TVz_$DD@9pk| zlY7tCbDr~@bDr~@=RD^O@a;q?s{pqXxfLUK2>z8yj&cL)Z%xq!zk>2BK(}hpqe3ad zR|&q%hlef6%gNK-a85WE9Cq}?8=I=)O=~WOGcDf`=!9tI2OgcG#@Ka4T`QC_z%N0K z^YM*eodzA61s&?qjv=Jk0;e$E%aOVbZ}I{=e#C>2 ztyJ@h^7yw6J1^H?Ta9oDCAX>T+ zDLEGr2A?4MU=S(&N~z)Zqt8|eu2YFPnI>PvmI_MBe8mDreFCg`1|FSaq%IdF6d?~e zsfi2W6#$Qwz>J*4?6U=c$2zP)D7k?-UljoRAbM0G@eC8ux1-?0x zlEd;T60nFzVoWv4;`|8dSHNY>gK!W34zf1f18}`?-Ed8Cm2ib{xp33r6u1+=%~y`V z?Sb0?w;k>=xCh|Yz%{|03tj)uN0t{HwI3;b^Hq zius74e8SYkCJv_rxe5TO1o5SK7a(pP()(GQC7qdq@e(w@Jy$ksZFP?M$eH-8{!v$sYl`AQ9;pr29m7>Z^mv=t7=Fr3!PAmVQJoEi)8jjsqdetuvPW;hM zmvZgTQ!`iC{4F;B;}?E5^jhf9#2{lmlyhrIPTl=|Ze*E`+i=X(SbI#V(qX%mz{(RfksdJRBsMG->Zv4^Da zj`|X=6p&9rd#8U*b0{E}5DIvA7iKT={|5Yvb3M7Hpd>;W#|vl5tzH4B662~2Jt3G7 z$KFQ1&T%$3Nep>^nHWt>VTCGlD(FEsVy%{ge+>CF(&S^l;f%xCD=z&?UhM@emR5pv ztVO-RwGp^-wzEoNW}javRvDDv*lRiKwPF6Fq$(vF&SO?sjHk5PjCii%K4+xkJUSNR zz?Afut{(A}Dv50upwz)FLn(yMcvJ4{6mgta2~p;d@-`*Jd7_q5^5D!$x!EgH-UYa= zLIN@6Q?^={7=27bNkhuDoVm=JNh#N))29WUNXz&tV;a_r%aNl~`4sXu0$v;Z)-`}h zPu6HSrQ|qdk6|wMCE~)r@s=nA{8qFUS2u0wXZH5KA=chpGq5(4QYa;_5b|*sFs=i9 zwoan~y%ld#kGw}xSjJEiHnF#tbA7CwyTtHyl4lmxjJI7$Oz(1dLNA}KE3&l)&&5Xf2 ze|psdb4u@PL=U}A^m5b3mNQ$?>??74U9ZfFm6xo&+tI3QFUk2hp4*L4MUKjPvS%lQ zo7j(t4Iz;aaBURtGs$?p6~B1@A%4T*P&0*JsTVbG67;VV@Ffqp3nj&8sAPElDgA|` zo-Hj)su%RGGpHcj@p{ZvERFLNsZXvD!fKa%lzKqU0?Powq%C3rofycN8?cs+Uw`#N}U zJBjrq-o1FQ#k&>n&*2@w`wZSkCSm6m?`-(FK3@)cah{edeJ}J*oW0}PsB4vL0lxwv zq=_j}NeuxtL!F`&1$7iEU(6u<2Qzcf&8k0=bFY-g2et$oTalW)II)DduJLjK zJCFeFW>M#9$jy<}iayI{T3fia6`xq^rEx*%QBu>Cv=ooi@Ar@5^OkC_CUL&BuBka_l7~ zQqH9;Yn5@iBCLR%=!bkK*W`uxDq%57QEOLGXF~(u!G=(EU29l;&$WE#Q!HlMV*I-q zy?G`6a^=IP-uO2iR46t6Q6{Wc7_!#*$8}68q$7r3C&HLFfG|E%LqnOC9FGzz$2wOb zQa3_b(i&EVRFsd*R6)d3rnRQRh4o_WajxQXyJ#KuLitVJ$cK6vO0U$ZP^#(#>?V8{ zA$}Qr?0sgxx*gwaWiv$LYvQOtA}3yy+ldch69=}%Eyd&I$67o}Y3X(K_1ED8PXNuI4_DZ*ykX@s zp*m9LW3SfyE?XXIXK)a!H8U_jydvBM#BL9_3K+MC+eAa=cXT$3HmvJhF50hQS!cMe zQ>LkF6Q3xD@D;!%Oa-tA2d+&ity`-A2Hu@YQNuFj_PRDDScl!!dPLwU>TDKYl}+K! zE+ed_p}wub@KlE7S802jhz*8~cU_2iu@(<2NUtEBf;0-^3085Wq&i2XjdqP0JI+0R zLb_+-1(Px+Pq{GjqEB2r^^!|3^Im?%m04GP^6F`yy5`#HpPq4D_VqX9%>2xaH|5T{ zIdAqYx8CN8;a)=d_$Kdo<}U-5qy&`@p;hljnj^?@U52bFIc|6X!-t<<@@QBc;0`pd~-d{ zISuf{{*kw!ePsuAeBQEUE!Yh8mT)QG-g!0Ry#=jxU0vSd=7vu8j1-*%|IY_r{o1y=l|Tt< zQRpkM`PyZc+6Yug9%ZSSrn#*-)Lhrv{5hBr7_mzmnoP9MiIOGlSrNC>!-A8A62NO1 z-C*J|oMg(yO;Q9{_gMc-S_Nfk7wBHs zDM?Q2fH)wdUp6$>g&JV`)0-7%a=coU^Hxn)!ZaUmFxGXp?+*G(sxC}TCoD*(n zG|Zdfj=~*)>w|j=?g6+~xDvSOaBes~4Qb%E!S%u|g)4-c36~8w4K5Sz(@(LticT?Sh=F zAd4Wps;i+>PMq`F!1-5-2=2Ebt^|#rzdQu1xj=hI7=kUrq+fzjjQzhk?Q3dcJ4p6* zMp}3GmhO$+SO}$V>E81B?u=2RuoBw5c{2oy?CkD9cP~~o)2_}9)O2H=gT+uF(2L@| z)4F@RkxRjHsHv&RmK0P82jfq&&O;*zCZ7X z|4VV4-#;^d@?QOMLeDh7Sz#lYJ^lIBHlE6(#J}a2!@)t&z47xs zn>KH`uUEZadm!@QLtDS_#V{lYjT^?`-?~fB5cG z|M*Y;XZ!d5`TI}*%MYH}@$7TYzwoa={88V|UAy=E+ur_t`+xl6ftL=xeCU-|UpxHo zKY9Jg8*je#_D_HI&cM%q@ynyX`t^V4$9{AC#BYE1`@whr@ZQNko;p4B{s$kP`A^(+ z{^u@eM_#a=*Mj!HyZ-;(<^S3AKbJybpri+}sFILv+cw&u-* z-*=NwSqj$yw-v4rZU9cn^(h`W?<^nA9{H32oD=B>5vJgqZtzmz5C2xUxAEPV7sqQU z{2vE)3DR3(=UQNA*a-`y6;r<)x7=> z*>kpxKeg(C2mkIH=5Y=r6%S9-B(|muFE--;l$WajbhrX*C0k~v59>JC;_~5G!`_W@ zlD4^-Si`|}z-@;+0XG}AjC_~}OBnH(w&_0j2qz11rk>OqSB(68SO)VhfPW zfsYl&0~Q!8<1zS?;kOm}Q$+5>{0A)g3IA>Q?RDFOynG1XTDHrmJL6b~O!&PhO=I?;WzPM znE9MQ{soq_91l(Kcf%!XSEeTo`B=-d!eE?x4*IhJm*tO!>w|v)?hKrLtoUF*$cOnj z?)g~Z6IK@Dl9iolp=K~Wqs^nV%!5}2Aq|~%wyum zZ)-UwOtT!~O1!L(J&ffvAe;DpD zxT(O4j}Xb3;CP*SYcUt9?O5&l8123wz1~1mi6R#hw@Jo9Ln~&4(0KC9g6o6hca*gxn9CI zoDXgx+@o+W!VSWC4?2{4;rieP;VypJp)7^#h1(AIYq(nuIh60ho$Yylxi8jlP5jLC z%t@Dhr9O1q_o8#rP&27K{LQ>l|60NmKH?7e4X{9G)@WFCZ_+%>lf(!e!yAGd|msIFm0*gkz5n;eHA}Bjx}4Wr^{<7Cfe3p0D`e&X&J3D>1&$lArlj zU7Z+@s|pk9`A?-Xz60;i!I^kk=~)fCz*;yT0UA$k8SdRMV3}_-&VdiQr#~6*dwcNB zu)}y;ABOQU%YE90Uq>Kc#1EjnV{m3VE1hd9a1TG66^<4ELByRj;x8zX={8+0=a{W{ zn|+wF7$37f?En8!GcsJJ9rM{ZPMMZ(Yxzv~;=*{k*Dc@HbQ>1uE1!qsW7g9ee-Lr6 z+T!i)`Ofmh{0D6GY;KV8EaNlyHp{WnlW`{+6XDp)DQilMx96X7S7N*!54|lh-k!g; z^X&0ERwc&U`~6j)PmH(H@%f&7rWF z*Bn1UN6t&fR= z=U~1F&cxfylWR+B<}>s7j67!e9q^M*)p)bsb$Cp4Iy&Y-!>@e~W z?!I&688GtbmON+9k;n70#EEsv#-)+T9<#myq~)`~$U~eKog+`T1^(7^q$O<9hvmI+ zj!LxCEcqC%Rsth&;Q;v_rG_|{ZG4VE+xgV zIP-UQw&MuMD>xlMliq?(m?p!%FlcP3{!a1Zg0)V2ure#Pq@ixru;j`^io6;EmsB*= zU}v%b_Q4Is;(jgVeP<1>B`a$048k(BwL#j!DepLd3D0;J;5xC`K5qu`D{Ze2xAMM= zhWT|X0Zz$`hf0_T+h&w#n%u#zb5sp#A@V8p%n=OL8z?A!sTHsoCrJE~VrrnF;Vy!% z4>Wf)DEAQ)*tf$Ry1t~j4Fx`Kz>cLsc{@d_aAzm%pp7!;;ocV~j`h%j&!Fc|40=jB zRHnjA{;rCKuJ&-}a+I78e_egt|2=0A#^CLZ@sRnBBHa05`fHSbb_QD;aF*hGsTFn2 zT@C*D(fTJ@!|I04F6@8%VHvo`cCoVB5b%J!P( z`UYHz(y81kXlSHi#g#^;D{Nkc6{*NyAn&PDib?&tR&oC77PgZSf$oL2m}3bk3x_(w zp#mt=JW4)~W0@e73zhs(2y`?9?(kR4_m||{Fr%Ipx_eRpRa$A5;D$Qjf*Z=j6)7^1 z=zSYK0>o)wYgltWLfR+fc`**9vSCdKP#%k?slb3#GDLf|HiMAD|2%V4Hm~HFo+B8k z!YV@C6{9FuGi_n(ig`HGgF7@+tk$FJkgu)Y2the-IbdgDIVcak!=#hb(BuTBCd-#qbt&wy!h*Js8Jbspof~jzdOy6L{7a;`l@R3gx#B zj)Qs2+tFcuFTZ*39x&R#9Kp3+K)$qrw$s2wVOWAi?DYz}!hAujrxXbk=CLTLZe@+~ zL&rR6k$^K9f?UcwDZ!@p)n-ixVzsVr?rMfXiE?`ij7d7{VksU&n>8ABM?VK%RY8A+ z+3FK$p&JAjv~Val!+4{PC9I&Vw6J8Znd?Ibqk|2dyqymaYb1{}0!%*jsg&|?L+4r} zlorI{F8>-u*`I>%&QL7-A_YAXy$TFl08~I<$;r)t_hoqnrQ&c*CraFC^vxI$r4IEr z?*U?8okhRwz_{awA%zT)fDuxo6vzGIFk_99E%K1vBZ0DkK6FkIDMn`#Lqw(6X9N(X zjA8z^@JgeU{KD$|z&w*umpg(@4Xv&IH4V$dA+S93Go`SzZbklb-YY@^cj25YL%=JW zyP6c7j-^i&A{j6C7%dFFvOT|Z#VSxBSnMw`2k#1`sI2R{tF&RI81f1%X<{LmEaa(7 z55fw>h$dsLYadG=?%`>Jg7!Es#YuwJ2BUIiCI0-XO0%Z86NLSq z7fsg6QjpdXR?#5Njc}mg)*M1)t-#r3+l!uoURF?PR!V7efcW8#!e(^GLU9qK;Kq$O zz*E=|s%vfq6$;EWYyn%ME@e)#*v59{HZ$B{XJ*F6cA}3JqZyBq#epy+=pxPil~n<> zuH=|Y9FPNG{vPK+|A(`Q9BW;L!l0|Y6CF+I5Hq;o1eV~<46STf*%7DoAg*HvZ%I@q;o!4bVws#ic+AbW|3Shb>FFxTkF7gzBj+s7V91JFu z-`-&<9%mm|QbmJIn(3?vwN|yQ#uTF5M><#}uJ>Y8!f7AnH{kxuDd=%30a1SpI$8a% z3Alh@IUj+OlcGJz_`)4>#<|F0y%y*tk;@!8uQ{vQKtf#US|5{>&|)l3`8#4aax`dF z*sv_TVnsuzNuxezWkcu6<~B?sX7^J5%~{#nWl*V~-)I2A>6Cr+p$O^QOP`=^JIj^K zT?$W1C+SiUV0Dxxe&|OY<#-m1r#S(sM#`rgLUY26jSyUM;wrTS^HYbc0n+puGZYi$ zD_K&W$3Wt>!!^pN)T*}5h85s8SeWq0DbyQ32Tw;0g1kH!qF#GzJz7w(hOcl&t_Zh* zF|UwIj!KG2xFJFI7Xg9d%U$drcUicX$=M{opC|6cOQt{g->|%Hj8<-fG5e z`PBvN3R1xH)l`=Fd??Zye_NI%#XKBQ_6^TsX0+v#P??A4lPi%?&O*L?mLvb#%aSRW zr=q<*lsrp9o&=aS+zX6J5F@}SEwOF|m>J|!I2N4%8+FeQwaOGk-qaJUt3yMSXJV`DceYrkRO7Z98Jmd&qF*0DAsQzs%WkR`16cQ;uw`x5tv_|1I;+Ix?Jqdgk;5_o?E z_ldY)Oxr2G8OAqn5MmtfyfEVkmwEY4ha+5ebB6IAr3(zl@XO&C{uwy>^9_H2;fGKn z@>Ce%LE{Y}L%_ciZe`KjU#2dCj*8%JiG>k-|rc|G4Q*IOf~T|JVEWjQGepdq;f! zI%qQTVMSTLkq^uLb=04=7_kc&62ORE!28!j1JvaI^RBSH81h?+)Ab}K%%z`S`}xa_ z#`*R;^5dI-C*K>tF>r=oz75^ty$$Jie(TL|d1dslzZ*Z2K|bUCFXx#)-$?%hq<{H| zqfdN7`PCEp6AMR%zu}uAM>!_=@;8^f=~ZgqYmkl=!&I^|b=Y~_@h8#E}0H?zpg&Tl-8}10)VYowZ2jKR>?Sboq zdjalgxNUHc!#xVe^jqP2;kw~MaIJ7l;VR(*a3yd)xan|SxG@lB%sD0#eh-`rPJtUz zV9O4t!ySR!2e$+6Nw}?W-EggN^>B;eD&hF6Dg3RN*>E%Aro&~yO@+&VbHkm9;>;u5 z+i-{An0^o5JK(m#Jq))At^;lnTqRryTrQjk?u;QLn0OCsm_IY%a4G63a>%3!}eA#VR}qH^?K^Of^)W_s%#;|!Z&xDJ%Pb=kSyy~Yzl z`iGHzB*(h24qpS#tS8H{*B3$m-#zELg(1cEq#BP|QPZx_^jqcGe4)yzX%02bE5nwC z&xb_T_}j8-WfEUCwL(7ei&WSM_W3NIwmkXsih{Pp2{7~L<#(-ZTW(KcOEWAwAztpV z)l0Pq(XVN!yUS2?2g4owfjgg!H1^^W(M^D5?9CY}mXUK=>5@>sP`iwr@2TCFwjFrm z);Yb)p8MGa1zG!!UV8G;zuEX<(f54cIkj$K-xsWK?Q08b9M>Lo+#)j-8D@k2h2CJn z7%!u750lc3wOlu*DXz`BxxUph0}(G^S3Y*%y}ph2rj^T zBHkT%Pr|zw?+m;j$9po~JMf-@_aVIB#aqYw4|u~6v-=~wGx3H`JhDDO2)^tQ!i$rH zvwllQ2w#&VoP}*A5sb$ym)^&dg(JcC5yJaM2tPDJ_`nF^gGs_UXDbppfvJfn!#yK} zdq)V*9wFQ}LU>?=@TDV!cZ?9;Jwo`_5yBrIA$)t1a0Ov~Ny15=LnDL_Al$VXztws? zMLBAuS=up5SrBx_{5y7!QMN%@5sN=GMwy0b-1PTeFjm=iRotJQ3qJ;_8GodBtkMM7 zrr%dOR=EO$&-B-qja7=!qNe{T_^+|}kHG(kC4EQ5SY;aehnfD-s{NPKm^p%UpLf(t}ABX>prToX1 zj#buL{DhY5SNuvpyH#N~C)ugZ*?~77pZI(BKZA&#aM^Pcl&8nMbomZP$xD}4;!Z*S z9ODYu$KWzf@zajW8od0q#^yF}VOh}lP0#UTvkcIGcae9+&)3YKX*ykbY348B*Oed7 z91!of#QW!K%4U8A{wr2bn)z$-o+!dU_|?y6o`C;@U;S$4N8)|h2!BnyE1H)#5w=;A zfM0=Oy~0lcpe1;BRw;4 zZ7hr@lt)@n3F6m^HyhpZcrlgDz(vWSI@r2hj|kSCOD{|$*2jls)(n|UImC!Q#52hg z!_w`WQBYCIB-Amojw0QY!_pPc2v)K?OVSM(>ApQI-M)GA=LvYTskj6!#bN4giRrwG z@{1XrU7gF3MABHck@ADYbUqm8&FE}^Z~?2P$w&;^3nlAw!_y)5ukxwVPH2Aj;@$j> zcRuhhKK7ljI~3`a{?~2(`x5+`-xbiGMo`ZlXB?1`zk2hlp^1%Jc4OZ4;qg6vDLp$= zZV&%Hr*Fyb^k?v+-i{>~_w@{XvRXTP^GZ)fND@Wh^7Df7ceYl&uU&%P-B z?%>#3viktwH)<(n@|;&2^Y*1b+!sTi@#)XR;t_js-{~XqXwp;A>&eF?y>>ZGN=t&B zD_$#hZQdUmqwN$Q;nNn-0)STRHskRzJYIDr=0JJXEgtP%{k6YwC|apot8$?k%PRtE zT6FTXjdK)j?~=v4TrngyM?l|)q<0!%G)Iflq6DIovyc{H0)IjYXpRaa`1BDHK|-l+ z@uILsK*-sTg4DFUouP}$`-MEL7CY5qSBs;k&yAc$;fd%TVEM(?^2bE4a(6>VV>}xC zE{ng#tH1v>L25N^b6;qTz;&vqmw>Ff%Jm^6h}Fl%`tVRK$C9{!xZS$bPNwG+=Qw;sV^qmeL0)sV?B4^KwQTQ|O2w$UZaBYr;E~wT| zLgBEfFYJQ*L(&Eq#Mi13$yB8wARs?2wA4;m$H;VFH+Fr9PHX!M#y=%d0 zp~Q-f5^s?r8JMI+z!u8&s}XH<=$gm|Pk-7>kV^l;6^dd3oFZXJptU9rN%{luu|T;a z5y}f+5kyNw?>jQEHVJ;m#v#Axsqzo&TcfRavA>D7Dw0hm+ZD9^M2)^ig5v!0UZDXqaJxk0y}@T`}>s=(55<4oSE}#&MCFntp+^(z6_3@M)msM zfD1g|`t&=PUdv}c!!XR0!|)VtUyuZE@#!i&=tnZ2Y|s8QkxTSWPh>uGjS1*|G9hWl zVRpClCK63^B$m(4F##MN+<6;@jwG4|N5L3uiJFbcD|dA{HRsmd zIdM>e45&|eFy}4XFjSYg^e=u{R2xGuZ+GaTpuy4?IMoFSEIm?W^v9h2s_XvJXm6&< zG#=IGQhn~;;tXx?LhV2cj{?9111?X%nq3rl4uUi=eGH+@$AnIOh;-U^Eq;X zNWOD$j7RcbRtWTYmeO9N8sTG46*;|_T+=vlk&{ih;Z;mT_*!E28^ZIuG?$j2DJC@f zH*Nv|ma(xHAL0*g^*$txeSCxT6D!=pN8i#;X)^CTZnPt-={88S8qE z;}I-(;%?06pZb!~(Om4Qu?anA{|+xwJxBg=`WNY2cbC+}e zDjiNW1Kr5kGqkSr_gY%NZymCrvDNv`L}m=4p)cr1079D&zWTC&l`vp>K8%L)dTv!h zH-blUE|{o|HYEb|B1#b21g+W`aeh_xs6|es7{?Td)6uVDeAjHBKy^!Dbn{`cJC)J1+_OI)}Y{v)rHRL8nwWs7P!>{ z59H%b+fY`d+@)4#dDOzJjK;itXL`?*b`rt~3(y~As)UW;m${mW# zr6`JK^J!C5k2W8|p;N2INQR`LxgVi-X zC#GvBTe9@K09Z}SiGqD@a6-zs0LfdfXaqr~G_jG6FS}&^(Wq_!PbCAu$eX zY65CcA+kvUKk_`3=zv{}zhuMxJtg?s0ShJli}O>Ijk}u|UBGgboG6+tf=-pn8lVlQ ztM|-Q@5xpd=Jpr(JXiRTaQ1eT)v~BJSgilzK~Z2{KN$LuUJ2>qcnZe<;xhsL^d)F4 z$Q&>0>;IMuky#VMpQ&!@xWuPGxC@j={6_;#(dcDLb-({;CQ4RIbqpIKsFt2kOHZn$ zL($1Tj?w;DCPaIcYg<^sU=8^Igi8`tu8(?tIE@w2E}03o5V|-zxeze&wqzqP zG+uj-phQW{UiflnPy>)i^7Fcs+ET7;N{7UVX1yo$HaM2J~xW zy^XR$)6Y_hwuMDvgpEdDoK9A?g>8v|Ns&ifh|1eVIVDp<)V8oUAo4~`e|I`lk3@n_ zERMmJQ;Ne^X!nr&jScF*d5@BCXd+q-$rWvqkbqx|9?~9UCo9+02>RzEC-GgOujls` z9p3@{ZhS|6NQF|)TRnT+vuZt|3$-$5IchrvwPjsvohs^D>j7`-+UZbgt&)O;|G6+l z*J$sn>(6ZNOW$+_DpIX&7xT`k^i4ZafQFu5>-gO?XB3vODZQhZOZKpJ1pTj07XxVgFrp^K1WQP#A*g;_a{ z#{R;r=?(|{Gv&O~g2R%WX~6r7%OekDZAFoKEBbxp;jC_aSCGF}X5}J2qe6A*-vpz| zT~ZwOX}1((+(iBcX%zH?JKg9#DBBazFa4GS9dzwyktMr47(|J)`~Gz>inosjiqY4R zKXd>yKn7$~^z2(T!6UQ~Dp-=`&U-gBsam^H|Bw5D1STs?KY4!$|5kJnInZ~<^QKtx zRwC~oLQ^91(9v$xw=p~LVfMlBZ)=z2^u;=A&a0TUupng@!>Yrrx^hlop`iw*tAUwn zAY1k2_WL9=^9g3w8z{Dj_XmR7C1e`a+Th-zVn@%0=}L`ui(n@=MqkS-ni(3a6-^h6 zC;B>LLzkJs^F?rZ^mQb#4tWYj9!#2fdr6V$z#Vv_wsHygXcHxP_4$j62KMKgseA`McDR_&{RpIRJ!l}sYE z2t_lgcdF%zxK;*RSHxOTc0iw-yr7QZ1$`YtkhP%kG6~8Rh3v-qZ%`|ONN{osaX)0> z-m~{@IUFvL>Ei^g)>}?RqnOmcA|-S&K3o_a?(SPJ4o~aeAjU@^Ha-IS*C4Qo@qteL zyT{G3qA$l!y}j&A-TY=xiLb)ZE8oC$tZfm=wuofn8(S9?8-dT_ zW2bRxjR6*Zj=zS}@$okXRYg6mRE^_sEDtH;-UCgFmqJMs(P%1!eA#jhQ1}5<75!-^ zL4$r#ILbB_3jGd-9{YFb;{+6x-?M|bDxpuxx^czcRH0R6!ezjD;M{Pois+%myE2p= zzY?lRV^ymPdc+4D>0RaSzIj6W=KEOa9JlIsZ%YlY?|D{~5`W3^*8>ilFs0i+WDqy161H!bA&r=0LD=?|T z&QGEB*t02VD+D7&nNXqRyrnMjK!O&HzrO~u zbrYMqcZsV%?Ff%PTz-&Zv&Qwz)4nN(~QTC9_ZJz@S|fx-fv7 zn>W>xshAmDoP-h-ywEb;X5UjjSKhpxP;GvTx-7Tw{YSnP`iUSUk3M~hHk z-eBiL5;F~OO9unxO?^Nt`WnPtVjaFRQu?;uyc_f^Jp+OmO1>qvJ7AR~WC%={TGdcR zlk#O|YswZc_P+HxU<4p4F9hASvfQQ)M720-^oyYgB@Nel346R9HhQp-q5-(+Y4o=K zxwAnsMSpT5vymO13Qefi!|$3*4!kYub*& z)kosYiQO24FPp8+&6Oh>kcrRwUBl`sg(cv__{H{k)HQ}M6U>$g@?JKHRlDO`aauvY zSEIe#GyrtuxQR|?ztD^%nDO6mz=UBt6=!pG<@TeV`5J?2VZToNkiTU2#Iu!XhKjphH zo8=uskpb3!w3_dvq^miqDeKP+sO8R>=nMUJd~yQ>&7%7uK&eKLCy9TF;)bO+m$PEC z3Q6Pw-BE1jBYu9!EANW!P$;sEJv&nv7xiPX*hSsV`GAW0UZ~lifAetXQYh;0pV%A7 zNG88S&F3)-L;3do=40br3Hv{mq@qH0zozu`S>ZvMT8>2%tO_P+x67^YSHws7v^r%s z7VvquyTfC(A474Buh6Mkw$hv6e z0ladJN|9S2?W6eWNGK&??VVKRqRNO%?^i`3Yi^I&37Khs%yZ@~9ME~_ilK%X25n4 z4YVpI$VD(Xi0M4FB^i=Kmt34uuD`O@c z>Tqfwe&JsK<9hJuRT-N9ZSv?rFw71zOlQui<72ea!(yhmTMZwv;?bf+{D<{Fj>3%W zKTP#r8weGt8pzv~zG*o=1A4Q>BZj4*oB0Ry!~O_#vrc1C)1rWw5lmuOz~1{lmhA`i z;-{c`*g_)a?C(z-0_(@##w)17`z>CzYEWH&QeDh0CbupHJH!U2{srhpAW5h~oq5(h zP|yRrb7GPd%H-+h;tfb+-Y`)Y@5J>vPA{LMfAzBgEOQF#FZtEY8fJmJ zovDM^`HX3CEzIi5pPido0i%Ha4;bL_4jqGk9{jNHr{^xhJ|EioVZ3BXCc7W_h*2Wc zN&$WR>XEcc--n2ujF#y0uJ4-5wi^AwD$&SP{0pvTFYn{}?fhQi3-RY&i=ehz7Agfb zH4R%VhNLETT@uVJAbcdC0C-sL8YV|jJxVLAc$c!5kNy8)`TZ_Kf1s<{)%v2ar1yK9-wOY7Vd9PlwK56F0>5GNw+r$@Qfa|6 zqO@S8pdJ3X{A|CL1$sjWoNX{dS(t)pfmZ4vW)Kj#X$ct#o0w|_C0lMKsGF?I!V*j$*vnBASAHk+N z*_g5r(eg?3hqb3YUe*r+KoB#t{-6`xL`+hfFcbU^oK8-JIek#)bKgSjUEnSDoqG*G zczIz~X5>C{cx+X8urHmVe+g{NI?rHFz{5?Cyur{ato^tP6@XGps0A+7F4X3%32HA# z4|T7H_UFa$X#JPivpzmbe}P-qMQ-gNNS2}P!*ImMwZ;b~T(2?VPBiRQ5rcWRnDcHv z=iPnScfjD!`*HaGo^@H7irhTMu7f+k9SYqIlEN(2*mRV&jeLVO32J-wHtJOcJurd4 z7oH^T>vmj~qQtUjOJ>VZps#O$LQ2%=?IbmtC~Nc^=r2ve(7X?#otiB*^ZJ8W8Jlqw z5{#V=%cK=&7IK~}whHrTZ;l0PkbS+7(4W$A%IVMSPv}48S}NM4D%t#ZLtI$D^7RoW zCoF+#)p4*AkkT^^3ns;V7@nzSRI>g&j6d1eH-9F-;&?pU`XeGXz$(j_5^<9kN$Rass#Rcc7AB*m&y2}xr8OzV~;vUooB59=~Lw) z%fc#B%!i5mGoiA8@^R}A&9f6~G3_TkA2~Wl3A-gtc{U3&BqpINwP>T3+n6^iJT7Jm ze|&;8gqL>k;ZGo6*LVnIIr}&F)xxxV2~6-1hSh33Bv!iv2adf3b&$o6`oTgK%z}Gm zr7p}s`m^M0L)u*IN0J$NA~jRxzP_(b@O`Mh#?y@509tCQ#(1lxj)_S1U-VA=Py@I)87h}S|5uuxY&d>#J&4WIut#PS~ z&uAB^nK0FWg{5|<3x=55oo;o3Tb-y?ol)<0s%u?pxmyc3(KS<57(o@g!>KUBoK@`N z+XYQ>e?DedFx`1Bb)H-6fB@sERqysJft9S-(gr|iMDKQL0EOZ*)r&M(bKdF1;#9rU z1!Po|hy~vnwZo|brGOhEkSOkUCnh`;GtWIMpT*5{jf{va80Df^V;|n^@}Q5szwhUy zl&rr8?y~gvROzwzcU%7*#=q?PsAT=+?CsxTw7*NVe}XY5DrN7VSnuR}EGJCP)nB27 zf?hfm0{g6h(V79-niA7<^=H}Nw248qEZ2vkRcqM1Nm>@W6fjT`EnB+;w$m{y2eWm! zKKxpX>V}7P$Sn1FY3R-${%{RYJECN!|>8hZ;pn4 ziN0dxWh@|>eru>nf*wv2zyGK*%@1hJHibrw1>B=pE4 zhcmfl)S-ihNHNSZs>mZ4^Zcn&AMhQCP_@1UA1IoOh*RPFY8O&ZIE+8U>2XscJ&HV3 zJ(A;_fajZlN68OCrUO@22sUPE(z*_9pvJIjzX9CxOsni-Lw&+q}6bOzx%ay+Q%j8s<$NrXVkOul;r}obA zpJ)MUi#?{iy-WDRr^%cAXQ0Rd$^RLq8FEpU2O<1Y3*dlL{VXLi!MNPuk;hZOTEZ?^ z4C3t4aW3d)-R{DM-2VZE#&qX7(l^&4NGo&Yy^+58?@6FCclRtM z?Az;bXmj0rM=LluqL#Vk@v>BPtrK>Js7c6>`<9Q^5R!cxnMHqsYd4e_cHKX^*RglBLz~B=YpKNOWql@M zkA0VrVpzHamTtAoB@elcfTf#Qx{0MrUE@ZT1(sBR3M?+QV0?l04tGoMb%JJ_U&RTY z$~H`Ie; zAdnENP99Iys!nPJ*zH&i{CP$P zF+Ke$;zaf@C~z(w(iXaor)di*g+VL)q!u2^3%f$O*kH=rw+aPti|G~cSfiBEll*>` zrRe{;Gm0IiwGba%l1HNt3flxjnX}VSti@^wr5dl+iS4nXzU4vfh*mHi_@2ie$J={G zP$OZ_mue_a&u*TVLsR_o646#R8QN|iU?1NQIE4wLQ_@x&8>=fVTf?J%D2V$CcC}Ja zb*d23AB9dKRzKF~eD|+CXQ_+1e;tP`i?I7q9%!Glf5ao-wh1lC{uShLZKAnj3Ohdg zrl~k{W#R*CLyu`ILyScEFk=u$)UgG*Xfdgd#k`>g(suSM_d#81;%(m_k@&}vgrAc| z5tKgbUEqh;19a-Xy!XKv-`A!DYAW;(7Rj^jZk}}yPk`YIrW2<)5AA|cp0idQZ8q0| z;5TN`f`CcNhrDkVsJ)Xnv??2A9SLY@!GQi?yew=Ip}4WMvyrPH82=exh>D5)IR74< zTnW{!QL2{jODI2*Uy|U*xyJ-Q>K~oFfcwK$Xw|$qxmc^lsRMp24oAkb+@C)_?vd?L zF4knLog4Q)hLL7DM_%TP_|F73?tB=*ILo1XaYqN1V6Zom8f=T%grF7w*w0G>zhF(% zo=5SE?1%a1B>q4>cSK+Q01lhMuGK5dTe~5qv^ZL>i9A?{Fa0OnzVW;I#X+8}-=y`} zjwfjB%Ge=%X^Oh#2);3bA=`0^i4>;9502blyw*rbQ^RLVq0$0cT?n@GSI5=%uiy#!)U|Q{~Lrf84D} za6HactUgGPV27ig&-g0v+f55Falb{veHe-MUqA`7!|}ApmQ2jLbJZQhj6iTAT0-0 z=>xv&i*N!iE^3HAgZy$ci89T4clr-T_vjO}H_|r^p!&t3>w0u|`sP#s%AJcv)CVXV zV;v`wx50M;KAeAmd}YifE^I$JF&1#bCLM0O#lT`G#Dz=Uf~DG)x9PK zTD+$S%{)qxzWM9$2KDd4^aGn&n{iwYW6FL1ob1T$*;+*=rco;DD?Gh0GOeQd!R*xZ zP0)5IvoA>BRL9gB2g>IC>6?P|!OS`{QZ)!OXM*z~s9JkbcU!T=%I}tm_=&4f>}(y+qA0#sOR&vn6^FQUDG<(dAoZ({o%hCLe2 z-z{arDeC7kpM^!4g5yquV_+GDiSARopqDWZ=D8G6nQ*~~FrRw@!)$^!q^>p0zX{1B zAiaYr(*g;d>_z?ByDiOq;6T#?cGE|y#YjT8B)`$#(5rxwwC@b+UzL$KR%&I82FC&~ zH+asj4&ZTc$+0)rTaU1axfvSfhXI6!hJatL^>EC9^+0M^X8`Zvz#=z_XdKH@x~nxK z$yG$;m)K{e_J58UY4EZ05N6U}7*UvsXo7M6C--$;)Tf{h(r)S4afBFk<*O%83De$W zcTGeb7))|px&S-o;Yrw)7^|fRjJsBlqjon0N^S7k95v|N`B4hutp}-T$4su!FYo#g zE8BTIF&t+V0t+nW%JtDzF{#-WeSZ1-D`WYGEujrvkw=@C0d2KfoY7P48XYf1@SALN ziP;G8t_8m<*@r(kt_^nzr>(R=25s1?2DAVUM+96Eo;ZCQL!um0O+`5@psG$(XfPi- zTwZ}As)wa@n=rM)fmQT8*pbmF4BV(5g9P&K6zpBdt0JJWn4&s_9?^{{j(W#5DPtL7 zf=cl}z!#}7xl`yUb;D{4BkU$>KDnj<2zlRzJU@kMGCeG+sKUAcd^oK?4WqLU=Wd1K z5_jidsZdcKfepK~VT5(wki=M=pNdXyk{G8W^JFZDpym@fB`l_l1qmcA<#}x7?Pdw( z6_L^*kc|IEDr-D4PBP2dZ7(U_b}Z0R-k(;#*8hj~Gs^my_3Js|Z5h>)8SxJUv=mYg zT)88Tb&8sX(Kzl9$G4SMx>j{Uj`?`+5%lUgF&p~ZoanXv>6`wD1}qNUU7Wu8G@G)@ zB}>{TN*c73G`ie<)VMPz6gEKnasWlE4>gr5PBaDXK%z*pMqcz@NsG#z@rw zqUua6&Ps0fPwW?p3c#k6?PsMbN7YE}N0`IgPv{HAqX+PKxMU#-1Hx{P$MSg}L@o?0 zr@?+ElQ_U|#nQCnQGeBeWx6@Aui!Nh8jNtDaYIs240k)=o+Nd?TVGTrW>#=}rt%_H zmYS~CIPt-RbCIgXt>0**dJ8IqlB`TbPF2StI_Shb6f~Y`QE(fDo-UJ7vPYjludwf? z$o>lZ=qWuXvW*&egyBs&+Q=9LW7W~(Y$jAsQ1_14Qnfpr!qf=312o!cJhotcPM8&C zB77>^U4(Ii(=<2IrVN8Fd%&6}`bP`Yc={7180~o_I%Jae7?q^3RcfRr1rmWXJ(1%XV}gdkH(6!U1$PN#k) zPUE8~?(gnHca67+px@LW*!`>xGedrP)di2L&)P6ObggMEb|VW%c; z!ocx$mo^{a;L8}j8>Xv8*=o^DG+g>K98s_Qrh><^bFtTgY>}er;m;V>|HaPonn=~r z3e)0WUfZ!gc5TP{6SUgKp+j+Phk4=+H4;WZar7ns%+f{&I8dUK*MKckSixeXB_ra0 zJJ3RoYRD{F3b|Uh~lcr*( z8($Vxw*W-?bZflx1s!?i!W3#d^Yi!Yi+%P%yT2Vdrq(wI7s<#9c?83+2!_1ykq zF-()M=Z-BzN=p^Y_1j@&;`%L!b8VJWZC{tLQ@VHBlJ?^Q32kfCG!Fq zaoEoiB=`q_9p%A%G$`8#`)xA#UHv5yEKTcU?T6M5K+FAZ`ZKOqj)?`xjphQx99A)k z1K#3e7Xo`DM8e0dji{YCVxt|2P7a_WK%J)H6e}y{k`==#^x#~uBr_V_8r6lE%qHYeja6O?VFg|j0j^Q+hB9~!h>&+0+hYCN82!G#=dMF|V&3Vl zG zOk)ecPvRKGh|1Hi!qgzHIj!wabH-GsKB`XT!qKQN;0p}d&2Z0TF!G>K^!!V`L%D_1 zcz8@r5KY9Br9x*NV_Zgl=$A3L<5bi(?o03s{EZWHP$d^4Qs052q^2qc@#P>`_mB2N zzodkM=>5<1;ZrK3Bi|r47M1iJR+aSPGkOHk5W8Y3Y0R&*6i>tHX%LeFh*QyrI99$w zEui|9Ui|GBhl=rm?N1|(Q5$JL8$bO9{&%+XX*qpziowu_yexKfc-KsoSMk<)JbTVJjF^M61_`H zmj>(`cbf+6|M<&j6x(5+Fk@*{zT-3K2QdvRHsokl*^k@mL3#rSlc95RyMPJ?{nt1G zCQhWU{j`~crt1(W-_t(<7GnmAe6g)S$nzGYP*4;y4s92)O(~IOdh!GMJzkWDJFFu= z6vbKb^}9CiWpUN|3KW;OH~q`I6Y;)3i3U=_J7TnsnO>srGTKGIkm&ErdlBec2yp`& zh3ISfvm-%w1&rQ6^GJcKLN9s~8F1P#W^!yApuLnYmvg7MJKZfkkVd0-c=Rt$Cb3<1 zVsCfEmH!weEe`$tm!i?wfNxRsV^+WBOEfsP^G~}ydQiJ4ps&U`I%7XR2G|&pc0cAf zTE@XvK*kJ%pQiP)WsC!viI*n=Caz9XMZ9rKwWf?>o5hOxuRh;wum8sy|KC3M__xy| zDL;?{X7yC_(xkc0X%yn-y0gVABNs3IiGY3o{T4&WFp1ABhu8@j+@<=eEtM)|Qr5h&lP56s7w(h&6mhAt!nyvm}lk`o?C2&pxu ztTGgXatTCu(69J2AbL}d$AZr9!9B|5`m4u5d`y^v>_+XSKE|TYV);TZ@iEFb6kD=< z3cf{|KyLynA#_?rRG;%|fALWM%7kQQ4oHbFuEeRPdIOoOGoi8&I-x9!j$;DoK%JIY zFk=M>H3(H%hN^>VpiHVdrbE@?)#hh%@k3pQT>R`>a{HBsKnob-34tM2d3><_{V=Xs zoWVP$Fwvmsa+m()6J}4f5lo~9aXrYwTS3;l0u_<{SP@&1^!H&QVcTaBCjtD0Ib*|=DlChEu%nwD2Rxv3{B%1ojt6XrEv-MM7mmHXJ7 zE*51ISlK>UpJQ`&8tv#Rs&SPJ1!6PVu@CX9&6W;eKks7a-}ZQ(Pq12$V7`Hor`elj ze>&UwFmW$LJo$lR&wo68P`~PynR>%4h`fUlUcSQf2xCAF+&A+a`XKhfZ>7ANt*(yW zf)cMVE@M?J%b#KPo)*+Zro`G|e*H7+PyAzBve#iF9gC0RrRMqXYW+a2T>P6Bb!<;@ z|J_jx74sTZTy;0Szi6ts>h9v*sC3b^0Q};rJ52(hG66xctL{QJxF$sapSynjikJm4 zw;A^g7N*F_P-=P2)Jg4QWqvVXCgd0M=6UBg=hk@nVv0RienbBe+aHw7HyNS+z|D3G zp_bhwC~XqSXn5H^mfs_IUSx~?h{JT5OORLofQ36Uf2dr~km0qFq9KcRL5v5qw*}r^ ziSXXOQD89)-X0l#Zg>|b!h2u@c%c#CX+GRx8|zrR4*=6l-1;oKR$m_}mVvJ25?w1> z!hqMf+z{QuntrP-y>gE9OKs^7ea2`J3w-u}ze}iZbPwiHD{p15M7)@Zs624N^E z2uw7OU>=KP1`G37RGMZRL@S1(YsIFgG5*OloIvUJ5b}*ch~6&f5YJ z=Vx)d)AQsnG4+$FeX`s%1+iw>O;Z$VBtDqAc0->5wfeC8v0&cQ;z;eM(s2;=;T6CV zGj||Zt`~@Md8<@vKNRgB|6VDSUlRyYT8!zLOf}R-7Ke(am7j+iiZ+BoS!3#@N=n)HFRqa5c~Iib%$oib%x(VSP0r-^Nh04f_PbHI{v z;j9hL&QC_>M&m6pUaCUVXy}FMI)1?yDqxvtWpxkGcoqjS_QHm8(4w*X_b&^Lod+7b zQP_#)AzY!bGsQ$Bx1g7xFOCK^0uW3&8r76Wb&f?Jr*ZZ(Z%6`tEk2na8&t*6Z}M2g zeBKrTvz~?<#86{W-tk~c2ROerTPh_KgK>qHxNzHp3%BE^@*`hKT!N;F%eD{VvTdHqzi0_IWG893?LUBi z^oiKdM)171A@$kqi6I~TMeheWmWP8mvEDKK{xgm*$VdKcyL^P@r}90JxXJ~SZp#%P zH);LW4lqnUyZD^tq4H#(s`%9t{(ee=e7G}FLS+9OgU(($!u@EBx58t6&;du?9v6}R z{yN!rO%cgLjdS-u!UOApF4$zmdh>^pEJaSv5ZVMVll%((S#k($c?{#ka{SY%UyOg_ z=MIbu{;Weu;1$Wo?TYw`E%P_rSU(IphdGZK{(R%-x{URh9Hf0SL`4%|R_njPDbFP1 zC#Qde@$;O7BFE24=^1(a*vBvFh5q!%Pbc)Jai|0CWBw-;X=??0|6%>mJ9xewdkG0u z5%ft?o@jp?Ka0@|xHJP7Fm9RCo*(h^tnoYc%s*kZ(E~oXkE=QoKCHiT6zEf*zE3Y2 z!o^Nk3o%DIOvI!e+H1JgABR)M)h>)>(-jz2Lg>(L1i5hWZMoQo#NL&Ic0{#Y%P+*O za*2E9kX2^!795yB2vVHuyljn@hZ}wKtF_Y_Hok8Y6`k*s+wxnd%Yh{>al^!!At%nY zGPqjLmLGW^hIcN(kFcm0L&aaM<>1EJYihKQaEmyOgphD$#a)XgPcm&&Z&V}NQOT3 zsb~~8$nZvf%nu4~l3ACP5sZWo1>0UKPCUGgA9zlr8Hud;S0sKAwr7*N);?uf$|vow zSbX9ae7^l%Q)O(;%M7SrwU~egwLQG9a4M0oj2XK=ll=*7Cn!!{Tq#doWCA_@nxQ=5 zF-{)v=q-&NAB`gyd;c$UZv!7ybte8NnIQ~h%nT493e{L+rG~X=s0Byc@RAULguIvp zUm&!#lv2Azm;tPU&>@xK_O5QLUEA&M+Fk9oZgNKycgt=kvFplDYSum*<@Goaa2}d957C6*?uJ8Xpl)4Wm#P$v3Zb z)!9->K;{rG=4cjWd{k3^^?Q#;5d8~l`b$(XnyNQX_Ber(|AUq@AxZK7^E~^ zQWvK`U`l{Xm^Bp&A$D;!;`K5f2AfuzQQUvk-H2HiHM*@Ga57lve=K=79@xdYsOoTu zyR0;}2*qJtOS47BLKh@8A!x=iHg<^wA#@Kk)|0q}bYuoe%5uJP6TnvAh`8O+ zDx$`Al)>5|jb5zJ88Y-pDqm0!U3Z1dEj`om^Ws(POrt&0ol@*PW^}Y}_Tl!;l`>qc zX!>y;GY(igu%+O|W%6Qe7(ax~C^6{~^*CMLnx)GFguDkA@gsP!gXv#rsKwYwJDV%d z@OIN3(t6H^Q> zHCR6pXcYC7T>u}#?Q()3jLca_hAAP3VlwfNi>noN2VTQuso8Oo;52%o>>Ur{Qv zc_?D-!W=K%+wR@sjvj{5pI#j#yugewZrmd59<5!{KkxvDqhw%p{JZfnHMD!bv9Q*+^R;!ZJLs?J41=6o&RJX zh5%&iiyu#^RE1pEV#6bw2!2d@5&VC+SpagRZLMGpaaxE}zBAJHJxH(7EDo(BHeAQL ze1~U3A0(zL@Kq=TLK$cW+L^*lV=oXJPAGr~ArFWOFjGPS%#~08bMbK%g&6&aK#vUv!)S=$nKTSs9E)AT8sme0aM+a%V7B8)jEGhvn6e~SmjGjiS$d8w5 zwhcY0h)G9_VV-sJQR<`Ash^x`zFsb~BrOPeKAh z1G5MaBv)2jjl+03ET91@gh$YLnSe4+{=g(0c!@k<_9Y6N`gn%%D6Yw8{sP7 ztJC@P{?@oR41;&Skf%lBRZO92v71AQNdUzuRA&+kf+P zAjj@N2!xtHv4AArFY0xs37_Z4CNd!BG`I8y9{_eL8q>6m=#AvF_WJwT_NDW$B|z_# z4=Tclu~}tLl?3SB-CZflXEGz~mjJzDX6mYM)a;fN+KBOk*VeVvTXQ}HX4UM^YF}Ej z+s-OCuP9Zy*Iu}$-I;0dyLw-q&euKMw|=q2$J74avVKP8?#MSg7312}qdDIDE>#2B zbTEDqQzyD8g3U39V`Y7Rp(GEzU3iB};FhM-$#th8fG^4_uIrDj3&j`7j3KkEH*0oV zKYoPwbI@ZtP%rQ}k0*8$%8>=s?&CjAs-ya0F}3Cb(nHcG>=^n>^np_u+H{Zr9vRm& z)-TKXw8Jj$J)eH4-wts;nUwOLPw<}Z^T~f0-sbKsEo-Z?-(oN5jR){o=@063$_oDo zca!PFQSV-&CczJXa|@KEg>RtIdPU|2;)N1=a*WLTtjVc4lN}N#SN2YSyglJJN3lm! z(Je%rS7Fm^$n+mtKY6k0S#!2LA9g=)#Y!mPVtQ?Qv{&r&n?$spz+eEQud7?csWNd4 z2M-vw#4&g{xVJoGXJ+>K};0kYKdz~$nsooPVLhxpYQ0cDY_&2|~|cxaB79%y19uW!0G zufb?k=EbCcS6u(VSY=*}XN0W+x4Tg77cs$oa?d6SsqwO;Qsh60$FBY;|1V2?Y?&W! zikG1mh2yFuB1B}<-%zB^`o;(J4#Tcg*g%BXi~3j$F@#hJ5;D*K`3(qc*a$M)`q|Au_&t z;w`%Db`g@ZBFbr+_=}`9;&41J#HZ_KN2rvUekD)Bew*+y@Vk2QMFhAYxSTYPqa;eX z+%@pna9eM?tX}Eg2>9&3g^uIY{r57xZhAg1C`)MGl*8(cYQf!Ijxb-_UhK2apRh!= zG`Ldr%f&^<>+qpVu{u2@zNPQ{!8u0bi_>FzH0ctk>S-Et{K~XB{wNuXnBzm|IoikK3tpba5EU!{%(1@ZNO6=|ya@~6gG=_1g;94!*+034y;Sr72Z!h$<<4hm=d1x;F%+FCm4l>(+)Oyl>Rw)tfh@Af; z`-sS|IFl?*O*gBjNs7d^Q{Y^xCzAk28L(!tZ)g8B8{0&^w>A&{FoTcX`@nX_+P{}H zzqXJ^N}4O&Y)@I2u__4L)1Ouc6{tbWp5&tv$0pjk7M`BCG^4t()pf0ebVg+fbSb0V&_WXF)NVilL zh*T_V2owEHnKQYFAz0>@Z`Y@;O|1?ZNOo1+YHP9*Z)8{~+0QM@Z?~Qtr&$zbu!6Ip zuqZ1~Hkq>~*O?0@TetIj%e;k~7c5+AG~Ti_)pCnm90%cmts=}Q26043p@+mj zX$IK|$E43Qga!)^>-LNba{d;!Vr-CqIgl?1$zMcnW5e=;71tHkQ}%29_~}Tg>R?Ov?5l%P%w=lS^lcWgxv0T0 zHTwA|wFk5nn=%KIi|~Kyx6aur5Tp7yXTzue-rMjUx{0(6lZJn42L6Te^X!At<6+2B zg|xK&3`oYKsx>>X%#=Y+@egu^z*1XO?+o%#G}|C|>bLGe>ZMWts_`mt&%fXPZ+ZJ& zrh7=wfvb6S-;kBedGvASp@FgG1>5DPyxX67*QeeQyEmj(RTT`&q7uiDmkL7tQq7Fi zzJsrPdQb{Aa8Z(`xAH&?cfy#Ys*%#2PE}8|FRnIFaH4MT2F2e}!WdT(*H2Z?Zy(~v zfB*hb>wBbohGnnsA-%p~y}qP^*5lO+tOjhZpVD1bq73Hlhsnjim<29T26F?2t_3a; zqdCFi!}@LZ1*U&(PpRf#d=2dR7aL7A{~jAlwG3{JrGNbC_S7=z_S7;-duo+D?Wtk9 z+ank?V^#$f!kynleC1*9L>#|BO$76ju^iOP3ViSrF8j!NQk4V)INmZ}*0Z|iAp6Ki z_4{o0k>2^s*pn(Wc8^UU7;?Tc_0_cb>l@Wax+@g2D94bzBWecK%gl@)k*c~Ux4q;N zcs{p%<=(J8OJ4g&@BEahO6mFewyra1em3d%gXX6@XEQrDGioHdfIO`t|_}3@-=~=uTvPZUmgj( zNJ~WSF);Q?SOU>EG@WJ($!#5G9&=9>t3qSHoL|pr3iI6lA5gk^uOyBhJB45NLloXSIbcETstik%!F1WW@B|P70 z%qtZ|nZz$4e*HbULE>_!?kSDhToa*I8q76O>j_cpFL2nVIl<(P0l22njfp8bLw%IX ziq-o?#WsDwpnmyr)K+8`B4e)PN=mINvBjUQi@Rr)0G-lwc$QS?jd|yDRw*B4(+ELc zI6}>*+bknJr$)XkPw;BJI(Vw5S0|ia9dWN>b!=mjxw^F$GNf1+a~m|*&+o3fUY!qL z{5l(~xf(9#dPUq`L+XKMj>j}v1ir>*^PBw$^jgdxid4k<@V5y{x1RV~s*N&fBSRm* zt($P|f5apA>6eJ426<%Ce!bCUTOnD6V$~oV)P4vQNE#L#RCGQ#MSglvRpZzDq<3J| z6KWKnMx~S)#b>_e8O2K&c`y<9a?3=x_Z09NGybpV@xb5Gi|ai8qV7gbmOhGP`ERy6 z&%XZuxAV`}@o{V~)ItwB|KR7vunYU+x&amG*`34}%teo2&d$l)@Z|E1t;@cZ5p8K| zi?SAXmhDWQAwM&LS@I|nF^lRYafTBHJ&n)A3xB2F`iktdPPwtxS=WK1nJoe#^_Z|S z|EUGYW)UH$hJ)u7Flj<#>x0JpyeO!OEv<9;LH@3;O~RcAND#oI%_2>IwZVq<76p6 z;+)6jp!TxJCn2EZI7JWw7SF@0!T7}Vwb7Ns4eWB#s=41|@BWe4UD1_SBJr+M2Jc_y zHmEaZVPpEsJVhYVcDZtuCwRkPg-&MY$Y^c-i86kmW7(jef;^=6k-d#vI0s_fC}R3- zyXXoMh0p@JhJI@kk&YOPST=MIN+(00Il8g~&)VIoqdm^9O^Z>`J7^T|x5lwVSy6lg zRwnTZV>l2CYe0Q>y4WjF#t1;o0QBx>6)Ic;P&PMZj8j|tc|05)mAE(?JAv1=i?M&c zhI(dy!N2K{3u-=F*=Gzfv&~%8j>$YNW+~~(bYZc3GCv0FzR67QG=yJ@u&&kptR!P@ z3VBs}7Lj{8!YHw&aL-~|7{&aBATZusyY9(*YUz1Qp7@?Rlb3b~8EU@#-W6#DsdBNQ7sq5VXUQ%L$hm%YMY+TKs~hdPdY z_TIqj_5d8XobgZ|1Ka-CnZ%XLi>#mi3I4Y_T7HlZ)h07(;bK@U~EI8HJnARX9v!l=WgwhLzjhL34c& zBlC|QU`Jw2R)sZLF+S_=cmxn4V;k#xxj0Z8*G|7v*0;m6zT4u%V=JQQmA0W*@F<8F zKk#&66zvEF8A|RCOYhzbjV}SEmKb( z4jrC^FTS%L@@#!06CzojdvNaeeD^;e&3un-XOtb84jCVpMY#HP{l+fh)Lq4%vc_|} zHLwI5NJKHdkofSn@kMWwQ|>k?_cpe!>IJcgsrwOmcaV1kJk|XW5(^f#Z}l^%&CS|e zvU3b)16KC+jx@%Ub(rC~shU3OGMnbQJ}de|t!LFH8+t^*SKn-|2|0eubAlEBju`2& z&#>MS>?6vPy5UR@7R%2T-c6PtD%MAEs{B+YCiajAw|5&wtfq6dSDk6EZs_*bN_)f3 z)!yxy_U;(Ey$7YeAKiYA@ovbpw|VIHo{;uFbFTKjooVmUEbV#aSD)VmWSRTxt0xt* zyY8>rpZYodevtf1)FXnCU2WM&T!Sije_sgE~-gcJuW}l@!x4iHX)l|kmJgV!! zo~6YZa$oU|=kwnFUnNd+w)uHZzaKO|?*2=B{Xd}Vc=~sj@7pLt&%nE6i1O{e@>7N= z|A4Q2PL}e1e00NC=d0g-T+NMVJpTIc_nGy8c89Fn;mEUGFLrn5DDsVwF#plG|GwwH zU&($H8XIwDNj?wwT7$M>Svc=SD}^eT|M{-CN}2)uh5u`02&g!RLwp zyWopTymcPwE=q1b3w|QF#Yb4M{6YzXK=2ABar2}A((b6~dzu02Ucnbz-y>1A5es+kTzAYRZrF)5{U1*X*^fzLRaaXuq+(2xn4CDTI45_8J1y14iXu{D3|r_NB#3 zV;7!1e|jM;P$j~Z=rzK4VFDVw=3sB$4|9*xU>u|7y{uZ)ta(-YirsKjk#IZ-TDbcx zA0S)AUh8`+u&t@wi_z&L)*S#)HFhlT-`eNSs7((B7YB_(5MPpqTHjQ~*NShGMA}ccxQMA%zMhsi-8jCU z;=l=Nbs|~l6Dd}v{K6umItm>4Z>kpWx{emb<1sNFGhGeFPrOwsi3n^1_%Gfs*p$jp z8?1Q(c#az|ygnPn>(f1kUut*OOSGYvF*8gG5}5O3&|No(p`R>MSmin{ z)>F{IB+T(ZAb`o#5IV#Q*OtmN*Y)7zRufJ|G5~{w&1TcFhB~WVDufoxM;q&Ge3$&V z_~yzc^B*bfzn7Wn^!{`0pGyII(Ef3K&*gh&W7!1VORW_@=E>LomzMYV=>_}SmgmgJ z_2mz}%t#L#55j|l9u04~endGGaX{vQO^_vKID81ndsSRdATGT117baam1#oiGppN7rEc zG)aLy3D-RwrM2H)x5zWax8p4CfoDYe47enJ5lU#z(R29pW;KW61*i#8+6(Z%WG_x@ zUF`D$bhw8Mem`m>u^+#|hvX6Q7lb7dcR^C5k`V5@>=ZE|Aip@FRn`PuNhc<}rH(1v zDR76+DNsVtgEBW5HM>nxX$&V7oArr5u%WM4M_poSJI{qqy&UZ|tm&Qg-XipwGQvs{B zXm9LYy>!T)V(+R$UK|7mIMyqBV*L_^Xz5|+STB?=un%wMYx78xPX;3cU251hE7h}H$;+G5{?grMf4iwF9{zUm@|CD6kxi2nJ}Uq8 zMLM@+7Jnt}Z{|YP6}lshsvs)7tT?XP$tfQdlM%PSljE-j=3XnwDen{FSSkLiu|6Wk ztq_lnVEJ)D3YuD)3a=D0*O^M}jdg;h&YIWkHs%nsB7PzLioL!fEn_j-=K?f0@iqh^ z_Ul!}TylCZiaedOG?uF|HU3+^^a_gV#do=}*7RuRv;DUYmI{G!v?qFs+TPHpnT{fF zlK@$MW&e%F$WZ=*ilPr*etXH4{r6C1T_)g)emK%u_>S)U?IJSNHYYvuQ;cYjI1qltWCjkW{eS9%zHA%2v}k-&^FxP{9lIRm=z_v(>B~N z>*3Z^RrFS6<|4cQkFrZu#7UQN(k3jq^yfJzNwa9Te}pANKUL>KCj<8)~B?m<*8~JJn~ev z8birb6(B8MKsNui7m)rp6d=HrkqbH}j*Q1^|EVgc?HixfbqC2$AJy*%$p@1i#}04j z>~h+7%h&q8AaJ?le-2z;d8OzNT%p4!|A)xGYpBYhCt)IIf&u893(Aj|%?dWxPk0Gd z@v;BJ*sUov>>H2>e85gvMRGE8h>bzzKm&rMvoPkJ9xUN0HK#b$QUuHC)?B3VP1)mt zZ7*-UyGUVBOX6nGu6!W!=!t^z9UZ?d2&^KG&6tzMJOz%VPXWsmIv$9VmdqyeD)KhD z%!M}_V~iHR!Hz=(_$logcp+UxSTKSmi7#Z%>J`Er%r2Fn+Y%_r42Dj8y2$7&-$94Q zds(}jA3Kn!)__Pw)r-P=QnV_p7iPabez~-_krFbX3i^oRjIr|Xa8&`MG%!-Abun)g zyRCF`8sFbkXeMTduE@8S3g77p==!(6apAj)d@J~Vw|?v3yK3lPy$$tz-rG>MuHuUf ztJf#lapdqasyp}vd>(tB^Rti2{|!C5On%aud@iG2lOMG|&(}Wci@&1Tv@t?<`>21b zvV~55s}8*inUh?P&@X@Ve+NGH1!OT?))yZqsgt7EMM`{C&cT2Lx>9JU{z{9P^07X& ztCdmprL0fav}P&l-F;!> zy8hbAhL7?gR}=HZGRfI^gmlM7B_gUmWADb-@xSGM($O0&c#%JEL@(z#r+{Cfj<-Su zFQ%F->;hiqyDmzpmnpUJH>%jnr15e}mbaH5EZA1C3o%yjEr37_{DHk1gawf{5r-_# z>6%rVYZNX=waONP(-43GHUzM;UptI_9d7{vZ5M1a_R%A-bo?e-u&=`kb-W%b*akaO zd8D8N6>4PD)6#;Btxky93uTfpIdnr#PBbTSpZIliXC@rpy(lCk{E`Z#($uFaR6uU9 zf+ZOzAjT?>B)%AH>Psx=8;({1T*~>%V&*A=)Ck>@q{iPB%|^fsPcblV3B``Cx^Cmg zD{E(88o!2fELHO+2fXz)4AxqVmq_1i-A7&&v*u0fUI_)qr!{;s*WB^@8-)-qP-y(l{g7-L(Q5Sg5#UXA=8*bCZcUK&%zBEud)=`xS`ha9k*_2 z!uvOxsx3;@7N=?_npGu^W=BbL@zgpO*GIy z=BS|ejr!yTtKL~Ta!nA=(;yPdcZ>r1Ayh;PE_xpKuKk=~W!y@8xDrn|nyP%2=2K0i zc_CJ-Q2oly}06%fksb_&^SLoXw(;%)fa93?9!!6PrTLf9+oK`)+K>$ zX$)h&;Rg{_fWW%cVW*U+tODC&{VPMQ;JjSqiD?|`Se0LI3+(2gn!^GH)(1uaB}=Tz1AN z^C;sLqe1p*1Che8n!0&Xe8vXycV9r6>9+(E!;D+Qy&o}FNr0>(JDeCxE^);YCyZbB z7EvyCi-bUX2ak-{N`jObuaw$Ft&V5+5T@ zfrOGYZX=|mIwZKjpMuAFy&%vO?)Y6nix9}}_?>33+|A@DIAFOZ(o)XqMtGhupGo*D zNj!Rk(vxxb6luI_nkJ_$nw-v>lDLu56Y+c~HdarAn<`e^)H4z{^xem(J~0LZwely@ zWPo3?F0fgVFRxK|JwK~OyeSW>rH)wE-lzO%Wq{lM#?jFTend?ieB|?s?BvCN$ zFSFls4_SBuea8Bmx~pcZdr0b2%y3m5_mJ7@9&+-4i!Yn)+(X{bZyml&bH&xH9(;qw1L5{@0xLU$xe#_C=G! zK(BM!f3EfLU(B7mXy;_k zIW=rnQ{_U=!>W@c&>~$m5(9NL$muv7AQ<{r4)ScS&F3(1=iw z)rDKOZ}?4Q!^x4WBJEai%ig>f_}{j?_PmbGm4Dna=kz&?Y`D8LXLIH8_@y*?Ch}AZ zL4-Sg6D-?q2De0>if|&CUnOSMz(DVZj5%kF?VMU~39BOf#7;TFZ0=@n$6>`z?Bp1d z5R_G+_-G~ytIA_3{5XTjs$i&hq*mK}0`KW$cW9vIbfk?`qyqv1>_B|D)mD^~(>u(% z3Ocm8Y9cWoOL#wRR%twH-BPUH8FJ8b`?PjmsGbE;s@ySG$K^t^KD*L-clYp$7X z^sw2$TojLUg79)Z9fjNz%j2D4SRi86`5^oobxK>*ZXjW~}oMKSa^;f!GOY_1PCQ z)7CBX_;32fbXJ6Eqnf0HuCRjA;C!ZSAI;3hxvYX_tNE*^O;vruZp&@uJc!;Ix{#2W z6~kR*rrdrHnOQ~}FBh5l<{~e>8=*^Txl5Yfz59Y1h@aji@12Mn`I>N=r;I^+vhkG0 zaEVGyWSh5WC=*`<(=|QYU)Sxccx#l}WS7d&&;Qm1WMF?M?l}%2zr}vf!0yNJ(>1X6 z+q?stqD!8Iel|GmziNFrVx<>AK% zQ2A$@I~RrErcjm(*YCWN%R^PLET31{r@;K*Dzx8b{%K!-7b+*`-bij;I9NJ#ZgFRQ zowXdkFe3o>+gAvF+4+#N+S3fO&!`TTg?x;hi``T3WaIVByK~|7x>x15SRa;SdYl>l z`&Ki!GXt5Pcd^faO1tt4YOK0xuf{6GPBP?K!Pu-&d>r2jS`-f}TyJY~R&Ww=PMWRb zGG?W#bmq}nRsZu)>+83_IeaSMJ^%goDuslbO@$JL+;XPR4JPt2xla{}nVE2vI-c$2 z+`8>}w&VB`jLi)tM%nQojh(_O&Xst!;{;aM`aF~^Ux|Nx&NhEVd-VJbjW1WSJegJT z&zJw1GYNd~)A>v(=}+N_ADJm;i0_lpt0x$pl&!RP<( zm$zwra?z(BLt9;o=%+XS`k=qZ{?d=nY5Y+)%=F#Sp(VfK2z2$P{Nc0GkD}cgU*7M0 z`}cqHUgRquYet6*S5eaVfS6_z^XHFp6fY)d`ww<$e&AigGrn;vcTXgJBJUGnp8)Eg z&!L|E^WmS*zqEbDQ0sBF{rKcgJ-`3w_4U#RXMGomUdla3XX}5e-M_o6Y|y{-v)>y7b7pgAw>R|bqdBj4Fq3JWTDM#bT>j60@%~+H%X|%n=auc}f@g5~$In^b zPrrtG?)nScWB#Sv^DOpx;2ZP@OCKx%jh7)HS84jO%R&V#sy}1B_>*#r_zdgLZLHb4 zP5&@X5YY2QWLjD5T}1pSCd?&`&E*FP`$+!qiNa zY5PP+%F6hV7b}*v5uUZhwqq6hIzpmhVI3gss4+dzkHmdo;F8q^lFYna>rgNbxzG&a zDo0=abscX9tc!IwMo({E`9T?Hei>F2q4=o!y2gwar!v%=hXEu4+YI;Hj>!wf^=yu} zn?c4GJk?6zwPwi|pSGD3ym$Tseo`#q*IU*B_>B(y!h6pX!FEsC%N?fz*p^Mi2KKb| z??8_rRr;AwXZ`2T)vWYlUwgVuIy-H8b3e2!_6EL#@)e;12!4ANl+> zS+Q*Xn(NNPU(=rddBL&*j?O`hI^*e=yEhg{4XYdM^pQ!lGSlbhB(B>m@;Fy=Vvy91-usnqx*`s^$?}u)o(_ z_dVvk<`F_I?lu#rQ=_c8YAc^kwijzQw$+?joRM6~e1m&pJ$aGPDdXDMoj3}6@o{m+ zQ`p8gxuX6B_WM=a)Jpuh`~3>Lne*H44t^;P1Er6rF1Y=?+a)5>5`8KWq+wZ>3C)WM=Pe$FYAMYjy)bd<)a zrrjtyMg5#!xE z+~n&~(R5>IH!GU#42$4k0(y^8&#($8%%0T>vt#80h!3XpjxcMUt+zfS+Oo?2ie%Tt zVmg^P7OU)we7RF(giYx5V+UFnqjXg#h;#Dk6U4J#3#~t4NP*5UqhMsUrbM2q9gV&z zHMf{epFBKn>wTXr{>q8pl>c=;#z06}63BADOh3M+i_m*w#AsAS!4hfI#*zczg%5nja}p>) zBn5iGDG$hClHGVgHyT!K6)+_5BGtZBlR~5f3+P28L`{N7l65N8BsgePJ{#Bv=EU~K zCtw(-QKfb2c%PynGv#HU(fI_=GE0E8O zu47j}=ik^LW@9sxXI&Dut1JojGfi)*RY^5HdtUqZu~E+cMOmKSzi*%C{;d;w%luzs z-SF#d^cG_|G-B-2BLtThy_oQN=87??M88q>d!zPfYTc7+!0o7UiwJs8ZpS47g7QMafxxyg7(7V8 zlEhvkfl148E?mi6(XLx{ZzuLGfEhbnY9q|o72L5H4H)02L5cv6$| z{tP*PvflbeM9|@wQFDYHSVDvbRw~90tffP!`JS^;bMC_<&K-Y=o$nI5cMi&LMywI8 zH3iLDNd3;ck1bYV`Cvc89q z1?{EsryEM1;rI8cv;JqRmi*`;iMu78O#|>K%Uw5EDgM zv2sWDK1d!%raqMFg;pba0d&Hyp(?1h%H72E5?_pS>Q9{U-VP9=MH_0oGM>S=w)S`# z(KsNoB@Trb|Yl_lub*1%N&UmH*#QEZjy3Tk6FJwdkUn)9&i^S>iCl#^);^QZV zKo*%_@@i+GANtvkUqi{8n=#ugD~H896G$n`**T$&5N+QEj`hXIn!!KH{x$mQ*tXW2 zKU8-vv#3v3YYB<{X92RWNZC=O6V_c2l%$vdBc8|7-5JB#=+S=KlliT)cFM1`eAZ9j zWIql94~p!fFE`S_S?PrNZa?BujJh%1I4^ET-PWOOaD#|q)@7mg|UUa64)&d7v9+R_2V$2Y-nk2 zwC+@Fk5l5FaO&fk^5T5HuHU+9I1S++*_pVI7Fw_?mx|Lo6@`%+5vz_y%p(E`HsSFX zd5491eI11hJcY@7`e6)#jru6S#-i)S(Pmve#om;j(%{w|ew4OsAP(otdLY~;)*y_P zPG^iSfB*El=(=l^L;pA&`c-fL;Aw`D)(gP*dEVO1HqfjqsqvMni|Nuu$0o!Mj%#Qq z-ii>kSY0&o)l2w66-iUPM_6?tXsY?XLdKZWDo*8op?aDh{rZ0>0t){4q$%MG``CC{*v;1tVYHX9Y9OZjdzpn zljgqrSmN!porELw*1ao!(H>v6Q=`zeHb*$#I67#kb&B3)8LH}%@%r}T zcYXVD-7)L4f*)tukE_S({b0)HQ>yOpKWFx$c?h(3_TtyYWvj`kBbz4MJMqhxWp?8J^iE`^|0L~a--#MS{PZ>J ze)Pu+_3g*^qaPS*e=7V5k;zc&tNe`d5c;aYoW+j#rDpg>gz93G^ms;DwVz|+{V1!1 z=N4tv6h~S0qHe%ZR!J8DM_n~9t**-E4`%Pj!LYUitIc$Ol-Ajd`p`VbX6#gC$+a2% z`PARPmE2F z{mDHIzuMaC%e=AgM2(5PR@lyn&N*3(mn7pCLvD#TPp}h-bb^(%JDzfL)Hnl|gNe604v9rn0A5X%2qY3u zS)CaYQn}uGT1vS7Co4j!6)J{upJ3KZJYahTqIvJHdYBMtcS~?&V)LvIns<|)#wuPfh!wIC zOPux`?kA03I-$YK+41YwPQ30+oEwY0^5EA;V>gEqmn-~ggte8B-7j0;R|rO!rLH*y z>~=yeNx<%Vd;AEt>Vtw{PR%c7tqDFZPK~EAqCNT9_c4VGlFuC z+=<3$TmKWQ7wx?VyVAHKvzF#B75#_5oZ{s#J@{4$rBX7J48FbJ^TuButuizZV~|yF zS>Ti_6o*<=;=hy-U4JZJT{LnO35U&AMIl4h%fBZsl|vlGf5AOK|9#(YKj*jaY+hbr z^jY8ij%VA9X&JO>TJ@Ik^d$ff)t{{AD2US8^0^Q7-JhRosAp*T%a5p;)w9A5+~IjH zv7YffS6JV7Kg<1lxNAb?IqjSvyO!fh1B=QZ2u8@ zL&9=BAKSJDkQyfErwG%Z2Qf0CS*jMp1sB$tPer_(4IYSO(jbS z8SOiPf8&uH)W6G6r{MM%eP&~+b@ zD){7@s;*2S_8#f^Gn+yUrYS}66US;MY<2u2ZA&x`Hx4U!f_XWTtiHT`*%=_KGtE2> zqWYz&wjBOiUx2s?Op$CbMYO9h8S2z{9+DawCVrT8oBujX5Ai6SQ&i_PSy|wq- ziqH@zswzB(Eamx5;DPm_rKu>x%F=`}P8u7Z z8i@&HpHVrng$R0G*h69!^_Ba%hl>iosmNFqH5!Tx9Hsl2kBV?}b2F2GGe1Esnwyu` znQa!ZvWCh2x=7oXsb{nu;|-qKn@|O+;QTZ)C;h?NK5#}|p-=$DOx0*Zv(arGoq!K&SK{)r z6I&1evvJjlKZq%xwkp+QB^KJcL)Miea0M*ji{iYa$iU5w90oAk!uvH9JgM}GL5 zYUD@^F}Qk2Y}bsoBL2m~W{W9!lWJobe5XkL{Xwefd&by_{3cv)s^(GSf?|HxL5PgkQZ-LtN6}sRJp^ev){ptO z&NyQ=%CPfbt16E$x(^|N-EPb*9@q<)e4$bEoYB;7RBo?ts4E{Z6GyCvNX3aQhgo^V zdVHZEh}%UkY#XDtixN|O^u)-nz22%DCD#nuZk5L(Pt6^fB+f^Qpu3m@;T+R$vvSXL{!{eudkjoj>2~GkaL+D3h?bAQB~<{; zj$aIQ3SsJ2-rf@1wPu7lV?cti5EidFsKVmSlnYW-$gG;usIsRk!Z|bC*x1Nc79u*j zv2porW*gq9dbiycY5OQhyfsSezuoj7Gjk$s69m1jV6r2a><_Mboe5sl zw=~v9eByyf@=XB39G{RAgsF@W{sESFv236P2(<%~Q?VDL8;)+>u9CBct*VxCb$5 z)(sN9&{)?)x}5&_mC5e?Dt?FL6pNY*!g}w0K^IKEJ=tuT9D6Zwh$^~?G5X7fb*FL? zOO3@-i3Kz-NbV#Fd?v25^wRf`Mx<3(iiUB5zsy{_U**`!w10u8{g-H8r6i;B4|U~6 z>v4WCB88ECk*A5X2_9gM-4~BfKaSD9N7fln*+7j^Pn0a zqpdT>W{3sGbvC`gzU%@;Fq)1SV}(M9E!YJ@Hei>Garg)rbBQwbCcYv4-IYfa!MGA9 zLro~;47kEgC@#Vef@DTk5U{u|KX4Nx@6=Z3Ja=>AL2$n0dfTes=`>f0YgYb+whMWk z24D0m`Sr&BRGxUKaR0lAfnEy%#2x>ybdk)pjQVWcI&1$06jFE1XtK+Wa8Thd?98W~ zU#rW4_%O`Zs#Qe0MR2hMT1HKrDYb1 z$4&pj4@j|0yp@zL>5D(GO1~BSceCA@_yAwCJD}q=?vAg^bo@nc$B#_(b{y3uyR*kv zxyEV#RcpLz-;NLP3W8P{u*3%_q=WR-s2{{(BDDueBi6`8A`iooxu{?=7e3_8xvubB zgYz}I%1VQN`2qJ`?8P#ShcCR+ZtU$|h*byE5eL%#vfe6gf9nr(vKyVBZ=amS-I_qK zUjKXDo@c*(PJEv1{q~aw)Z}FL8`lm(mc-`RQCI4X?be4!K>+6jC%1OiTcV%N7)!`_ z{o@}ZzJMRTwEYu+h<#2r`zeg2()Lq2KEO*bhvyw1K)J!Z)M9j)U&?)8%gCAPK6{{5 zr`LAls#?Dx>_yp6zWAM!9wi;wobVL&r)U~~tiL-6p^k7wh>q$)&DL=JL$J1d2PFBy_Vj?#KV&ia&;Km`*KUvBLC=He z!F4cvnO2w&;kvB{ITHnUywVW%gU_DsEc-d_AI;&L*?hozw*66L>iscPe`l+||Es#b zoCny_bg)*6PxA;L=-+S8<9~MH!wj1A;)CShv+*G=M2e2km5^#?oVZ0@-I~J20|Q8R zpR}j;XBFzCkEf=IF`t7Im(qSVocR7|7fzfuR3XhhysaNnu~s+`y|c66KU1DrPyhJ* z>*tquWoim`4aP73cbV@h+#SnB1~QUMGU?V5dF9-&!pT#)tLM&Jo*U?tSdX(>f!T$|{qGHk+Ekoym4sm)i-hX(rLTUXa%l94b?_0T@xaIqdhg9mY zwq+4+%zcA64-#hzp5RnN2(`37_l4y6UUY2ZsYUU9!@QRD2jdri{@~n1vdjotb$ z##R4w;tjT?7@#A99qxDzbK5;#cGM+_k;^An&zk zbF%t)?;G+FDj^YJeu1ISm(-S`!R(pxs0J zsV-h#k*}<;?SHH|s=@xDk>my@zQ;(>vCS)PCmEf`U zSfk}ewC>TeZpV$KfntmXf!A05x}-=Ct)qJ zQNQuhsA8e^SYL8AimbNNW-RO$v)P+B8!vMT1zNHaq7u3{`dh5V^_hA89cUo@-x%X% zB*zliCky9ioMOBem+eB^4RjX-_S7@tUx^5|CS(u#cZ1 z{8<0V)X|?uNcdyqLi-!>rWaf9yMh=Wa_5P4Cq5--`$$Rig*o;r%m(^NlcW=L=F{_e zJ6U9>iB1?<1?xwZQG<%v{~E;TZ1^#V7k?8J#|s0%V9Lvdr?~N5y~N` z)MU+Ak@Co2^Bz~tT~br2%38Vg6A%A1?Khzz>nG4Cxq4%#RGKwenQR%$+}Wxmui9xc z=?#-vl%!Rs5Zc<4Vss@)P8PCNkY4ea;y-03B{yjkOy6^u>{jQUo!?_oM=MtD0-f*8 zk&`(aR`>&lpIdUbBA9-D?y%sc&ClJSi)8qV_eDSMKjotzomu(UwRGt4uO54$k3#2s z_FHM-|K&?rfuAhE+hMsj*hRWrhYs=*&k4(Zb>h=zjeq*S#`{n24H_@TvL}7I{WP&1 zPrfrq4;g0nShr`Y9!WdjuxRhA|4TBBXnNhb8$oU(x*V=0!D~ocYm8{HzBztiKq9hN z2uCgB$ML8#9KRBy2l5wI?}tAfW7Zu)${Mb>?zxNkR36<)i(M%t69=8e0zUtJ<9)&V zMdZ+)^F`qY_S;^3N8vxu7)f(d$=6$ty z|KRrQ_yrF+5@El+od4M_pOzr|$_dW>A}^Mk7@hosG62{{BFf;ZBM2X7 zN1n=yJT<+nJ8^aLOz!HBMxL5UGM2k?c~O!)lefB*7ZkWFj~9{TnZW8XyatW3IJPvyj6AaWVNG*g{ED_6N|u*r z$n$L^Ik)X?(q(Ro2g=(!CEke^f~xa$3b(?O$$ODz_aw-b{JeGTi8IRZQG(nh?+)f9 zqLPQN#P!yA(Yh0~!J4E5Yq3;*`3~Dyth*{Cjkk(ThVmxtM3;dHSZw=BvC0@`j5mXG z1-N*V@5692Sj~rz#IMKx`gEPSXfLv*+i1)B*J_Tbe&g5H`f;*bM6p+*Q(z-yxo)*0 zRC0qAa2qMsLNVvrAJUNgc zq4%+(Z=#IRft`9UQPzms7V#L-^sq(T?${z86Fs}wA|A7Tfyb8|jbiqu?wncs|JdOE zOL-OR!(p-u-6RSBlo{o{wB|CStj+}py5+p%JntQ8j4A6d!*d-=$YZcK)_flTs((an zm1K0zU7kmtB_8sKC5U09vTYm~+fF*Hw)VS5iaV$_*Xzz_N|2!HC(n$YXL~9y@i#ke zyllI8^}5=jKI9Lob7T?%@?l$xNh4S%;0%miOOh|(R8Rry@MRkSVmYBL5nc8X!SImT z)YG6|ihQlRvZt8u-IcHMFMr;w;1ut!Wb4SEBl2fp?Cms3N_F8M>0mMgB|(740JDC1 zMV<9oFq_y>Q;BQ|8<7$AGIBlM~PS-9&Qzw49dsWI!Ed)=srneuBlS zooZH9V573sXr8t-fX!ocsZo3V(g5i?tMkO_LKvjl+l}TWBw?uv%90>(C!3IeHQ>RG zswE))_&Te4mBRS$swFb2?yB4655SOkS3|;YY!96$&w8aB31n+Toe#+)laZ>IAH*u^ zQhGhQJhwZ)?g`dn_;QiUEoIxPSzj7xZ(ItF@&ET^Q7ZfD>_stagUfQs^;K^#N@~%o z_JT;xqeVxYg}5s~vSyVr@8|EF8Q>zs@2S=^{9aba>ZKMhVQ})x`shkE$aMAuiC^BYj+uY!f2r@vJb}Vm?G}4c@qQi81T?eO6tvb9SRy zv)B3zV3nfvat)#irr&CwFETdd25ukTKTA&rQPlejihB3nYRp<<)Lp;tt%hX#Y&u^OpyAlrcAfr zk{MF1U@rHn?)F-zaSct=6S~h!^lJwbgaR8gWD`v_s;^I;46d1+xagUyn7^gdt7j*| z{9BdC*JmS#B(^7R)Q)@9>OI6eC zC?yb9`(d(LsoH6JG7tZ?#tGr_F}4y*I@B&N>bD-`rdQ<6!Ws-?h3S*r9jDj$(&C1N&s#G_+>F)^#qg5DQBJnOUny znWQK_7Kf3CI@OF2MNrv7ANYcrk=DgqI{g$y);FXEtjB9eF3m!+22vBT=RZ)>bAI@~ zuN&g~BL8=pPsxXQG}#|rGi>W9W@CA7oi$9*p-@mtoi)MqSrf9)8pkLrHY2!FI6#uQ z2WJ5CQ1Q|H_D_EOCh+Kd4A&XTDKyY$HV4@qeUXm5>O^UaM8qD5k8HNS{=ymI7DvG! z$`TsmjJ)N!#`6PvwLPJOz<&PQ-#`5kpIRbiBQ7x4l#p48qshAbC2(%InA!v*H_2Ir zc|&V3)yltNV|=PLx|!72GlPNd)SQV7c|mb(S3D-R6!0E1gJwJ=rY8eq!|(^__Ug^% zXoI<^-}jt>sj>Xv^wwgDcoLEg zyD%twR`Jc7FSM1I&04-Ny)_)aOc>>wWA*Sj$3!fK^lD)2b1*N-=R!mkX#0-L=bA7I zuVhzwtZ#KGY-69%60B=(u&)2Spf2XWBD;~@GZ6c>6Klb^&8+u)<6bGw`%^`7qg===g%zL>WiR`pRCK+2F*SM$JbTWnEY{ z1+85dummvEH9g|C^989_*~1>2ff;LT8=e`s5hi-N<`m^xdquq}*2rwi?m1xwl4D(; zuE1&Wrryq2Pl+HqbIiKdr;+xOr=lwh%~@=#pMFl2gaTECXJKfbc8QVE%n9BK99JW+ z8Yj0ji>)f-sTI$cw1ozFm2vwPw@9O~D;UbrzcU@e!M7y$*anFGv3E&MnBP)o+iLVm ztQ$tH;%@|u!WP`6H%d2Y@0wP}y+$G+NhjmFf}=Q4DJFzOC+v~vMPNZTdV07HV6(GPM zOao#M8T?mnxtLJRU}*-OUlK`sK`^#&Wkg$&*hkso&a$1!GXwD;gglQTk-$#z1Pb|& zquoZXr#snioIHKvjrI3}5YE81H8ZST)(zZjWPI7a_wjul-{k^UE;p_ImE+j3tzN+7 zUI(?|?$sT@s1T#~j?^ecZABH=T@gFEYG>IV+5q+rU>D0PV~nq81|NX89#MR%Y9iHP z;%iH~DhF~>>x&)v!z`kpnN0%?Msu-w(@VjIvhF%W>(+j#s&q0{-iN29!Y^S%Y~1vG zFtB&Sx`78hBp5*h4ZZ zik+Y8jjV@x=OMGU*xJ~}&UV~~<4e^}BN*e9?y3@%=kYtj=v7T7&tr+o^EgTu(RRlr zD#fChjKB98Rg>K;OCb$UayL9-aKqKUhPUb#=qHo6(FT9FS=(>*Y!X1e9P$8$6Ww>lK=FAWoNRuoZEdlcr4MhwK8U zrJBqC&?qe12B!uIp8-jGAM}Iu64niqbY%2LGnDaBE}hU&n=+<71sAK%=LDInk2!>K z4>TqVVJuXHQSs(#4>{y9{YEXpdC|u?0eZ0M<0qxJ^QVuRJ}|tanTg&0>CD)eSZ35_ z*_l{@&KBi3_>2oWWFfWeW)2OasG{=6>7$yC2IL{2my3{G1p{pX3 zsI%_is>k^OX&nP;4GCqHmTcnc>DuWZ`T}*p6f1y|z<0WeXKF+LGLD{d(doCF;7w7gq#~8~hPYuSK!Uj!|g=$%^ry{%b_KU(UdzjpaPYa$mQ_oxQ#58wHLym;i6(bJ;w{E8bB zc*y$q+j-&3csh0Pvq;;gSUFF9mm(D&6!!IfK02A1x0`!6AU zh-@j=?OzxVOZ#Qr+M-ZdNgMEPSSQw@E%B*lGh&I{*tW!k7VB@8FqyUR&$Z$Dx>UZkUr~u@ zZ*_f3o%LUQ6xK1ncRHg%h!WPf^t;r1VuR$iST(uK`6iPS6W zL(>-rS6(&`t!=<;9U!YtA+ES~ew@(6S-x|dZ8j78t)t^O7Fgas>uE$(V!b%<8Yfoeeo3SWw`pG%Om(X?Og!wB73g4s|u-mwa1u#mfP>*5Tfs(mJ% zi?Ljb4WhvJSXb&ndB)VWI5Q^CcEG;BL-CK%icK#NHlRzQwu0=6d+avGSU>o!kefs? z#O(rbQsly|EJm7r%)ChBBk`1=aE$Ys_VR=9%8-D(%@?wYP2tE_FtL<9wk14r!^ztc zfmyv{Hk|xmB8=N|VmK=K2iuMJ$`7I#4{q8KU$Eh1NqpFblOqz>@@Bg5lT+CY8?Mj) zU?R5)E%OL-?m+BhB9DkIM9kS)_IxT7dnrD}K9Qn1)ZpVgGh|Ak+Da2V-Whk9>`^W_i&j>!5;1&$ulEX4tr*Vya?1UTgE1-vu6E5 zQ4{8BynG(bKioce3@uhi8@gDhaz2&w?aFagIp1A5Un=LPE6Wnz+PUl=3T~Ayt(*Cm zc0T}Eql^j3&Jm=p+OBTj!PM}@Tj4#V{AMXHKwILUH=y(#zy;3AvA+57n zRRWs{Np-{wh#ZgrV%*u1x~)_SPgJhc_2N4HLT?DIC?dn_>(Nd$;>-&tH;Tvy8IS3i zA$+G}FGlYFZ$@)Z!3{YT_`Tov7!O2VFuz(V^6Gl)(2v2Ne)GxF@9}7D!;Ng&!;Bi? z^tG3ZaC&~}GHdrMkjzc01X(h=<3;9!rB6~^9}SCd(R7B~(#r>0NPm5Y;N`MX+MQi` zyCi|3krnz@e~n#slj_}W>QK6=G4|&!>vM2C;??;UE4RGb`qIs+4=TizNe%g(i(-3- zB2ynEm8&^_WJt+Tk@`qyMR?9CPYdfBmW^;*6dPG=;fo=w*1X_UL3oZ%I4Avs;MOK0csVhaB+GH77Ky$Fy-N*LP6rXs1t zKV@KDFWRh>< z{|kG^>-*yw?vGuD%*{=Fm|eP%hD+!_5|@&WqkoU z2jnH7%p*)CuWxH`sw}bcsA6nVUm!L1h9z0}B)w|IkxiypKLK$yp8S#f?&WEqw5?*{ zjGP~TPx`&7wAA|jAA}r7+CHTXrBYWPUdXQ>KjD1;h5dadZ`+RFHLCo0Gt)K2dMJ{U zbNH`#nLP99^}~MpX~5GT?vW2g(%NmMMafg2UOnu`@{yIFteiH|sd$MUhqEt!Vm&M8 zt0CXc_?GeiJNW;K&9YiNGtcrjzJ;{!hNLFHgD-3A5ndU4n98_y59Ev-?YCRAz&1cb zXi!?(K=h0^c&@X40YjIXayUtVkRLzm462`iTr%h{@Rlk?wG3i4IP+4e#g= zf<_+!u1%#6$kcBteNg{-SpOlC3|H}7Q-3xNSc3ob`T_YfzqB}cI0wnj6euNEUdrag zOKyyhzA@5v5-jS@$p^T@e^5V#93Or|{p4lN;U0dnXj2JjR~^Jpu_@FwGn&hrX<)AG z(Akw2O}43r;WfWk9Voi%2<&bfLlL zxAM1j!mc_Bco-VBY@V7eNb6~~Fq1Y^1Z3bV21TRLy`8luxV?A|&&Q_tU57|O}sO-St zrn*?=m1E4Nf`+>07OQSTx*?usg6ej&E`BUCQ~IU<8TikcKi-ocegU2uL*N6KImw@r z7K-})za`kLxKfx^xg94l?pTF&RJANnm*m$DXeSL9{Acs`e6t~KZ(rYNydq-NdAL}{ zjD2MXa3_krv+9b#aWi-Vl$?tN-N|@iiz9yLjDWLSOdv_6>?(UFKFMe#fumG=Y2{cE zKGrphGgrAg=2uXvk~Ay`tZvN6XF2TiePX@DEYHXO5&D3i2gm}T|d~rRn}MeC=8{)dhzN1kMvi2A-mRRew@)? zJ;w{i`IpdNovDLZ{{KpUbpZ;j_oKhMr%o;P`RlL#gF^ykSa$u@RkZeJ>95dL+ZwD- zzs1y^mj-JD0l+gFtbdbwXVYL6%156D>r3eh84Xs|0!3!CXt0uNgE?!If>(=>&r2RQ z94^L@hh5sp{GGr2G~0f*<@?|H0aH7wOlw+|}Qo z$or?cJ1QI8(L!HG+iMgoXO;I`cL?CNy#FADUGjdvetJ;64^MPN^j{upXo-K2^*lan zJOJnu`fdb#Q{~93S7FhwJmEe*yH-YpBuk!%)*{wUsBt5#Rs+YVj~GLLX%AaZPTG;; zmRV<=hN;4eB<&A(w)5n{`RVgSifj&{07_Mp)*+NqiP5)=+FV!UYR5SOJm=#_;KPPE zAN}h))bpRa9>g0_=WY71JqV1hQ&!FgBtvDeFQKx#f*k|F*n2BSnd=5x>KdA@Gh>-O zndC+y(!FfG&HUf0o}JsFY64`WyM|&~F>G^r^WC~c=NmT=Ik!_yas*D{9 zxVM3isyq|EXObZq$iNIRVAND&g_a7oQK*6eO^^veO`IfVVv7X(J}u2=eV&KHj2~^m z&>@(UEh^-$9ut`8_1G{?5 zUQ%z{_*va|3H=7b!K(GJUlAIDLav5wriWT-~U! z-FvgCerb>64?rE7v_F6X6yV)>o>I(VQN*~z$JKj`^zpOI$Uy~sb+!h+pG4HKh`L4me^Iwo^P^X(<|X7Y zPuV{`gg-}fm#e~93eL4QJQcMP0sBwF-HSX0_SFRr=mKxn1-kV#+nOo5Lchk!E^X4b zy4AXRUJl;Tt5?r=zCVM}b25rI`SP)x{rXOLE$_2m10qdk2v#yKA7Pjh>=kKvG+;Ck zBg@CeS!i72TU0F=e??$XwP5@eq9TxkGt6knXb5#j!(9#G{wjs=(`exEFKDdW8Gh3r zoOkc{Ja-RA-}sbRV@BMN9d2PoB`2{3ad!t{HKX9$(rEvHbm`Z7w+r6M>Xi1s z@P7QA9DdB%XVVaeAM=}~3MO;-G4Jb-K%u@oe*|KGU**OlT~4XkH|uCOz%eLS;#mKc z@krq%h!oY_)dRj05kgM0Ke|UP?pz_{ z1NlNod9io9Aja(Z(D83G{2N3!q81c)Y6U*tZ+tlds1TUJTu(d4;%BS)oo`k#0#5io zoMt)dA1)rvKTqU8Q@_AkM9>?fI@O4knSEI}I6uAkKg;HDlHax0ytgMSpSu9^^XJ>s zoq2t{28zvIA3sGTm$N>mBC$v>gv|QrCSCgVxb;DOdaHgfc>VfS|84M^4-eG;KJ$5w zRDQd)IhlST~4DWSp7J`r;D8~3Q^#Bq!w%mKWmvb-ib zH}VqKRw1K4b3ESQ6|sV| zk$uGyI)Yn73IBxmd65!ZSL0;%S9Z?<7U9+NMCCjZfN-z()Bf)1T{G3$NGt?U&l-zG z?SBTz$QkKNeghH!LD?<_N9$L$SJ5+oHLaz*6g-7zrF<=AQT`~(XehVL18>mcYyHNxf$rii?B~%^ z_j6Je7fia{=mBH&ks`2@~X-0-qsY&=ww8HyJOg z1Ht=tm^-jsEXC7y3;H(9k^MtNG?{|>t)`HD7)uZIKT3@A(jO#{AL{-on3FW0;l!i! zSxusR%>nBb`}5g_fG?3}J*)}|ZvH-4E%~JYt=Gv_rI%-?mjYLzavp7o+2>_{s63Fk z4N}Qm8fG03A8-JN6c~=uAFU@GG#f+qmv=fnMYFt)G`T$mu>6EK5OAciG5Z-MDR2lu z=nFNXjrP~2T2EGZPp7}vOMk}=?nGVXIqu+UrwS9ZMmYF@6FG4Kr~l**EOG36LEe~m zTu5)l_#xPNyT~|K`3a^-yFQZLE~oOZLHBe=L=t~*FVk@&<~&T!b(GT;IVJM>o1_G1 zHsWDD>=)~5W-~=n69XUId;{s!@G?_RBY{cJDy4VVoswv$Q>Canh9hzm0aKT>CL6%q z&5hrD`fpJ-F`@CX_#aW;uJWm}7@kM4O$}8>LWtOz%87*o%;=^Q;|Z$W@mYj9bbPNX zItuSsK8#vN?Kc-Hk_{_~jB`EMER}tcqX6eoVcXd=WkTyhL=HINO-$u5Lc$qZw63P|4&VA}EAfWyp?<2iBGaXj5W!%##`&*CyH-uNS+J=^ ztBwXYUnXQgoh=-sawPN)s-S&n&O;Mp=@DL0xW90J(k?CBkChMQ1qzV+e@5d&>~`wT zc;2Xd;k4(Cu2QkEQT&qZqlPdgZVXXR@^C4Frtf8m6CGZ_$>2R31v~ZmteP=~>lUki zj1A6<`lL~f5@mov?K&G5et0(pxwi)73=<12y3rS}>^d9PFtV!WKoqR+BDOV}H_?>+ z4afFuWj?j7VY#aJH|%qcQ=aU5RWQH;*9#x&d7tuH-PS>SrQc$H@Hc#25W zQx{}W@ST@23mFPNAmsa5a)QS!=7@b8W@U;92luKI4N)GRw?C74n`wdG4~46JwQp`= z3mgTt1_Jo8&}(37;h@nx<}es?h_wCja&#OHF$}$jeNov;|KpR?OSHcM*-Gn1hbB2^ zcL7fP#Q5iq#;0QgqnW5ARFcXeWm6%$`1zu5ixXKBkBZRy8~w)Zesg2MxE;^!p%sZY zL?KLE6`7;N9CoFhx)^J5ky;ResQm-o2pNgUD9j9)XoZ8TGwUH&p;Y?+#;95n#O7;3 z10z&<$+}487kulhU<9GDx@=Y{@)VRY%FI}Rr*dv*p_UM2kp$4jC{s50jVQ~U@3DWx zGD**~NX!*i(fr-qU-zE$RUWwYRvE9~%{@Rl;mVV^&+DJNGuqT*|1Ee5y^1nPPZbP| z7eVu{J73*6wW)FLNr&&OCOAO4aN!Xv&zrF)9L+FU2YyY{gG*gIx;;mU!lz2w|u7!_FS(}TvpK4Om%|K6h^%lq$nF? z{*j08HP9@ z_)S4Xou?bGG_}wE?3}lKm+Fm~`2q4`<|RZB|AIsiH;EFp)^C0xK=ev{jf*F?eQc10 z(AfMFY&wBL)WK+Yk8aP_t7dk+F4M;FT z-3gc;WK8+nSYX8k{W*VZXq0ES3 zIgt}oxm(D!4Pj5>`s4tD{|%;ij>H=OC+YUG^XKnIS&q; zwlU+QDPLGj!bm3Qtq8v~JS2xjj4ocp==lkJ6%zIK)p)zm_t3->aqR<1MIfJ{BB5_M z5G9V9UlOr}ILy-uQZ8$=dBncFv^F85}SDrMhu+TtVoEkH2oZ?ZjqCdNH$Rj^Y>Nxyy|cnARf@D9THVc{3u~7 zaa$PRC0!p4f^@8W8-3m#W=qI^>M_-v84_n0qG5#d>+Z^t;C;PjFDLcssyacax<<}C z7Ioperj@!pPF-rCoJ-#MY{|U5^BKP21|34a2^~Z2|F-b$`L9;Kv+*Xge=FyQYyO+g z4;&uqlf9+Mp3=&9?)>Lgvv(y@UMOL9n+f*O;S^REYQ1Bh$62q%T0DR_eE^^AnRDZ> zdxy?1{54Y!p;o5sx5!)qrE5P%ex~MH4gsC7I^IErk&;%_aK_{Cb1=-a1_Z~VcQU8F359ub+6(?r^xQ7A6V5=-u?jhz z#24V>D7AIb?W5LO8$!CqCtOME_lg1$pX@L%H-<>d0nzcx_kvIZx#a&i|9tuQj^o{x zcpF>mbNHLdjRAC>F{#-&CM?1aNqrlA+QF7GG=&aj68cIxYF0j%z&l13vSbKypTs11N&Jv1tb0hvn{}r9y_N< zY1;!ZoOIi=2t5a;^T$*6qp6^+GsR!dr>FCukqo~*w@;`-b^5(Xoa?8B`J9&2;=TNE zD&?%a|KJRi-QdG30W7C&@-ufp1M)?VzYfmXGYP0(fzU~a(RGR#T_?oo3f7;1bMA!Z z!1MRe_|98@^fx&?%N&52z=;^9khp^qmMJ1g6+aKt<=b#WC`REm7=;HuswMuJN_`Jv%+nWh@2IN0c6pEmQINEO*gNb-v4nG-33%&U`FyG%}KK$p;fBv(Jub2Hv z65qb>ce6LAxVH@+ClIq0O>hS|EV&?n& zo{mLc(HY{{G=G1`l^FZ(U?aM)yV~0w^Ikf5Y)2>_3U2G^wSC72lZU+Oh*$Z%l#+ki z+q*Zo&6~76@rkwZqFUuT6W2~oo0Mpp`k>m5v@au)0)&%2$oiv!!ENFN1}m5NMJwVn zR>WtCT#O?q#H!4V?Bj|9jS?k%K(r=e{-KcR$2lT;6qsD1A%!2A9)GmO9aT457A(rG z9uJNUcm>0yqca8Fkx+MYxT}a>()zBLH-1TN{DRu})J!u}D}*hq12fYk9_j+hb&P(1 zJxWWYu@0^3)CUSZ(n4ej%o=5C%+cVsA{iqYpjtGw>H^6V0krbPWKpICS5H`+=Wv;l zy`xqOVOygGl_zd{sY!KI&nEELXDt_J&3Z=ZA7g1uT4PoffcDoIX-jQA5Q-i|{=VSD z8Ge9rvBDZvqwLMqAOM5pcqo?f1K(BF`2n}_84v`kAJt%~>VL2PoT2>4f2DloPb?q!^1(Cb zJ6efR?Drenm(lQ?RS&;nVivnXwSTIf|7pflca`e7bKuDx|I_Ll$o!xv zGX3H`=JT}W<>Ox|Pw7Vqe_o1^z$Y=!TC*%-%-&oQUg{SHzuyc=XuKA45&UbFUjpbUPeNI(QR`h$TQ?2> zM8B=$DzIDc{QZj+lG_(AS?pEj^wNj!8gKXY-b)9L^@ie;du-pa!PT<_szj4@b?|Ef zYkm*)H*g5EBB?0KY0B47h#o0N=&*~`uYFvkY8*Zg1xb4+%6vKw5_lGT-~hP!J3#zG zKpf%l4)pD`t%ZPiiH7j5x{{${43_&MC0_EV^xDDL6frNqCp%Afqy&mMF^R?DL=tqp zJopeC$~T22a!*9kzW0H*GqiVFcHJMay}w1hGu_9(y1jYhnKimDe$ODLTUGDLJGTO*1o&`5i!-m z`KmB3VW!ytCPwYqWr{$Qp{U4NkTSorSSkk-W#&{w7@s#p8ZoXVizX&!8dFg|)QXA5 zBo+8g#?hP#0OT}|5+K!I;-z_|c@E;dD@+eS&btO0P8du0bjlo&2CMo}-3wLjfQf-q ziI0L9S->bg`ix0YbRg}&!4QsZl{B1;oMeetq$})5xzf~hd1#YV4uDXa{gs393p6HS z`4?%#f)6%Ek<+mr?=K(E9rssfO-}zwQm;s1?~BHD56{Jf@u~ z<2$)-7a_%a8ga0_H)_>w$3gGjWe~Xi5z#pD*pHphQ6Vybi{uMCk0s7Gq1rKBM`CMS zF0!DyvH8EWzeyTF2Dro6u-B9LMEf$-E$joV9-v0&SV|7FdB8X;o$2%GOiqnrP2NS7 zW@J~6Crgfli-<}g2V`+th__^4i*jKZ#Dy|kqFqs3TT1l#HAYK8lhwSJaOvBl_DQNo zr-il$pD1QA^s*SLQ<)>pWOKt~!YcF~{(Gr(iag?SHC!#PI(TJ84jPd`T7x6=$cwyS zOb*Zu&l-HM)J1&t*K;9fXsBPVv@ep*sS#K3k{pg_=35CP zP#k8yL-TvA=6f5XR`UamQ6uu85qZFhJQ!^->b4rI?lv}j(|%RZ6@F753~rVP@Mhfu zm3xAlW8CWQD>pO;t;nOw!+{Zbm?3L^(O7lBXnw?4^+WpfXyx09LcH@*V!0Q;S+XTTyC)PgCMk$hG?UG-*HqqcEMpk4Zh&;BWwJU$|FJn zn8m0)ZQdW;d@r+L;zA?1Sybz~YyDQ#KmXN^6Ho>_yXx?}(6Q0)C3-LPLgg#*iKwXy z=`d8*eT}z!wfE9jj_nM^C-ofm9oyIOd+*SM%9n#*6Z|%ph8+PVfqE`gI8LOw1tOZ} zccVf~kSj2MdlAH6rWneB$|Jf>o&SsTJGN%C5d~j>3YRfSO1MJGD&PX+0_+OzCoUT$ z2(r*bM%Dmnd<(M!rJ8uc6qTa(8?Ci|d*=+gJIYakIblMo#tE85u#H{@;gYprJ6jNq zS7T(+F(G5!BNO@y#`$0zV$fnW14&q5M9^XgB`if{xJMw}9^N;B{$ni+(Cz6aRs3IX z67|w5wecjna@yq%nY2&HIZ?qu2?%9$O~O3}Vi9Ok-ywC6Ky_M?AY35%ei_ja&F75@ zTe-xLBcBU*q!+1#c{$ck(~v*J%**U9%-m#aJDxZq#+t@e#+^Rl>a5l8C6ZN|V9B({ zAu01n%O5)J%5J|pkBAY!ZWmo3uWH^~;*lboy&(HB`k3G;L?n^17-9*fOovRuYM$PR zQVIPeKmO?{Vh_Q6{zZxqHLX!7_)CCSJ`sxLqj0tqcv^{30NsVq#Fzu2bz=hKvJU zHJN~^W=iVwQ=c>bjJ$DGh8ocH#Odb$#jN>9UXEz@900^hl*APAW`?2)5d5}@P$x}Y zIQvch_|}bC%|U=G)F7-oNS(cz?l7>Z@&CJshSX>=Rv%}S|B4}=Df~_8Zz;76)?E0xJ!kD&1lfB_IZ$^qn5J#_7uP*H)a~`SNy^aP@!YykzZ8N z0eFIEOFq4PiqV*Imd}rsf}sD}#BbobQh}h`+~bqL>lw!LYskCLG@co#mHY}|VT#$` z0qD%-Ay`v>`-LOw9#lQmydE_mR&}HOn8Fz9tl<#YXRd$Rd(@vfB9lKkypSdkzk(Kg zXe03i>cdTTm>ZaMHFG$b&ZAbjzlHm9?$;RKew1MYiG2GpevNN$SJ$Vwt}(Xs@WW&! zca@5J?355obtyq8jVLyzx>lW1?hFpV34?4d2j~&`Opa1hdTUv@D#es{ZTYD#DV?2+ zl#rV7;<&uG?X$b+GQ!@s2QJ-44>J+-7 z?8065OV?;p4fOtiJ$VD;5gA}c!nRj%PV)h)z6?Bh(7sgsB}Ir>hwcY#|EX*sgHR$< z6|xCP=87$nImHLuaUW#}PC;j`I?52FX6)4!H@OwlP`H75 zF+YF$Kio>EnstK?RD7HD4)G&ZKHVu*9uhKoqych&Shh4yFSfjSqoJwMSoMaEDPpV| zK}dn4CmLc#-k=*TX7i!K<`L^2nbgAO;lgISaIn#SSE}41?~r?#&9=E=xNx9wU*Wsf zszZSONa63AtW_gTLWxmxNT z@z9`Q$#bJ+jj4~4#Qq%?XW|{x_|`CwQj+)_Gw+j+ir$dMnQkdTyr&W`M3toY8z#gX`s@+4MGgU$QUFDv{hjhV0zQHEir+dpm{W2((p@rss z(pkP3Q=Bhws`r>@!?Y~L7O_YdX5Oey%%Ad^s{d@@%ViTd8NB-n=u&I*e@bVZ9@yUn zEYLa$U9ATzd9o^K-7TH8WEMv10s)|W&Rg>V6*I0N|1QBlA4 zU!NE@)y!F&e~H4$mS_Dk6|0USJ_1@lA^U4^8@@hZ-cPEH7uUwc z3}iBH12L8q);_Fr^RhzmN`HVXrYu4GT50)uKXO|mF=GEGiZ$lU_JS7H#z9$mSDN#a z|8vZr?DspmyKHxxe@V3ty_6~3JmA)SW37lMh+=j4??{N`FR)%7Hp}Rv$yJO88;RT; z3t2c65V67Xf}t9fOxk<1oclQh1`KROYC_hvej>rIF|IEd`fxhUVmSkxMQlR|e6v1e zHTelzARGjSF4;4RVy%=kQyOPo?{7e|A(AEbszRzXFZ)%WW*$r zQyrErYlO$7G*#5H1|1}y5#-`&NtCsRHS)2y$S^6KL$Hq2j1d_rm8!{VokMLR@(OOd zM>YsVHX_k#xNxUgK_SY;J`F^zm1edv}@yqt@d{u#p@PUac z7@YqcdP{vz?v{`*`fD~xnOq{dJ@Lx6$G(D}t0QP1w|!ae{v>zHDTcX9{a<-(o-4E@_Q>_Z1KvtK&hjJ6Gv8!XGF*XChIZLq(E#(HvBs6A!fCvS!L zxEq23%xd<{|7EMaPc+&UW|gAVKgy@PC&Q`@;G>i4;m`u?8nRpPv)l^LC|7Z$@ZKdfgd- z#YyKiSBRVm2x@~@I11*L9*IA1`scQML%QXW{Fa}CYwL#WmJ31TY)~qOpv35-Z&{7c zq)_e0{!hkNw}*E8ZPv)DcGS7;AZ(l-v@?w2+4-Y5zA1U*m`;#2->N-mgNe?CaV2|U z;tSgsCYj|4+r#{*))^ZRbjm=bYvj1bVV9shdag4gR%aU!Fk|Mdad@RO4iJYV6!fGDF{;d(dwt~$K>6moO~&HlzH=8>_6)XS`? zZ-^S|*=AFKxNl-9Yhn2_1E|Fa@Zp-FhuD&F>^Gq+QZf{xZ{MW$&K_O{zY!@xFE-Gm z;xo&}y-Nk)aR(6bn+heBg`5~c;BC`z2kpzo7f>%J7(%12i<)L`hfwcXO*;{8Jd3fp z?spSwqr+Jn_|g4P2ko#Tck6C*2J2{GB!xiqq+VEZp+t)83-2+*FL*e zsgziCTkVz(L7H7E_?-Rb9*$(ZymZZ}RLqt`vT9_ylrN`C5rM`;K}U6CE9d`m`(YVo zdsX_g3*W#^+tT_-3&cojhKHq)B`%lw%X}w-=jp!#cL7~SYKAYT1ULWH)z`ge`SLwK zuQZVSB4R;VI?TS%wluq(m8*6N2c8%N)6@s3G^w00zI=(PS1oRzL@hWmJv&*eP6wxw zz(NHQoF!&IjL#k>Cp#JVibxLWEl~QS&Dz59zi7|$!!$Py5TL{t0} z@*}>Ul`PmR0l7HTrHgaMSE$yUcyfRF7Som;Pfi6cRh4CUyUzH)e`RQpfL0;Ih1@`L zhone_1vRehuVJrd*V9pf@jzb3R(aM#A;yUy9-Q$d(rbXHA%E}*7>3I{1^eurwty`^ z3dos7Lc7=atT1~FMF66bxv-~2&I73#e#+n^Am-omd$8pH81g^P$~DA+aCfKEiU#Aq zHm9UTftj=lIQ9JJ^^Y1wHksEm)i2%YzG9C#Lps=T1)<moG3lSgXH)QZuus| z?Q~G2vExsV?qAt=$CBtV#p z;0c)F_vF0Vo0>gHm8sct)OD7+maA)-y4oPa)a(W7UN*1P>_^m_S?W4RUF8Ionq8r; z3)FS7x>l*{GIgz0*Xz_Zs;)Pv>y7Gqle*rlt`fO7HM>n+Z&BB^>Ka#9*_TtZzpSo; zs8h2yt816K-mR`%)%9L=l`SnbTeg<88LVRfxgefgofe^gx`Q`hb4`joo%sOv6u z9Z=W3>N=>dFRJSSbv>xAht%~Ab(OPPYWA?YA5qt%>N={fW9ljxE;U;aNouwLb!xUO zkJM}dg4ApQB;Kf$es%S!YpJ@Hajl#z$^ePN9XQLDrDvwV83=*L+C8aHhWV8Gq$Efs z#@deaIW=P;MY`bb-~+SjW(TKe{K<3Do+Yo+&mFaed8&A-48C_@e*?}Y4|^;^0;6`+ zh>rDD{mv8jajojuP|96L?e97|Hk9eR@>M%ZbsKc~s6yRr)f{Yjk^>XxmUq6ly05A* zCr*&tV4eO{)rHBbn^gnd56*9X{76&I-&OS3L4hj2P-f;tdT+pdi?HidGGQAA3Oha}WJswee7mgCxm$P;TonL?FbXat0k9;($ z7eAUkkI6f#Uti@6u!N**m=wD$>}sTqm}_RYL=0uWOXKwv9XpdGIzUC@Y#&Rn8ZXyw#iY{ ztgdAi&Pm=8^$_sB_d4X`0jO-O#MM0cJ*r6O&?-CKMiLh5dSH22HL~+ZNz14d_igE5 zfW7H+_qg<))1}X_AXNIQO!=mCEB-b?>}n~O)pi3F_17$u2RbMAiDa?=fVX;=S@JO@ z`#&ACgz*=9&?=+}?!1s6=3eqk%RI4`#3vQw*u1?|#SkJ8>&V1O$7+1#co-<6kFz@1 zBBxxsKQ&{H+`$7-LKh}Mo$jp`m43NOFI2TkU+k={W6OP^co-$IrezI~#W&FnH~(4Y zwdft+n0cc?Oic>aSBobnvou2zlouYf4Adew+anPPKA1&Sn}XY@IJ zTx|yXt4q1>`MDfvtmU%G^iZC5Xo7CDTenLlRTc4IpsUrb>VWC(=h^jE==c{wUwJd^ za`ET-SLzRcj_hg0!}ro3HiZGmA44W+i;&f*sjC-#)qd!0^)h$98j^PqlB8}dQL-J* zbB`P%(3(T+5^GUYVO_(xc+CQhqs>u;q~H0TU}#=e-MqTLYP9ExYJB{SNzXy~hmI}v zg<4l)88b-?NR}=W=L-TsPTBBdrkN`o7}D?DCNaOs;qd8NBxE@@FjxCDYic4MaD?$N z3~&nBg2M>4hvc@ekoM8M2Wg&FH*D0(wsh#&)xHqtNprecyDUDb5&SQ08!FN;y+kH7 zah8;>YN#7_HVD!$EzOsr0Gac(rKK~|uDr@3O5ltK~eQSez)w{*lj zf;G&?ta>NAS7k4$P0Tc7bE45kbeU>YPG=dJ^>f@7xy>1+fHEsKZoMFh)axa^;@!dJ zSLz1=L0HQ&%GTd4cqbdgKA8UQ^KWP6`D^uIwfynn_!g~BOuI3#v?g9Ligva=@hLjnLTu;nPVQM{%An#tdv zOzwt*BKE%62R@(Lub?k}M|WiGk;3@AM+y@2b+;p9BNP3{B4g!j){2LxkagXti;{*) zCX)e;%@tvJE4ys-_eMgmx*ZK|BBXU|MZBa{ zZSSI5u(Q3?UV=~=G6ZQXPHyaHDP*WXPGuE%yCJD?MO4z3SX;+a)t)9L+HFgv&PR-~ z0M?SNSXHZrg=;EoR1xyxs%s2@mLbMYe8Wf0)(ZGSAp%l-=X&ho?86A#s1s=Kuc;6W zq!b-csNh^K&B}s)P0tLAK2*m>XwiT|obN`BguUR+*hGm6at-^gYp z2(o(>dYE6lnROWKUhZ97822qMNceu@9V)nVcW~QIk?SN6g>do&!x-g~qU1n1cZe&a zK0I}e!oE%I2UR;WcZ8X9hB`wNGTuU4H>)9sr^tz~I}%2@o?UeQt1a!J{-PfEJVq?g zRf8`f2?f^GT4uDC+dq8^xL+cuk-=dH@J5ZAS*e%XL-qrF$-JABdbz80p3z!iv@S4O z7aFaLjn*oob(zsxYt`Ir)ZAdS-q>Grlk948Zbs|0>)RbX7&X@!HPJ<_bK(;gwa!Wu z_tz}`2iX-lXtI98&JjcKjnFF$ttJl@2_p0hA!(Myq5p(BR4-*w(axy=@kf3R10b6n zAxfkO;ObE)-OVAnw!mzv68ZeibdT_hx6d@Mf+TRLNmZKhrCL~2>NXnyq&*6FTNbKb z#LrpO8ja6r%AxX#bPvs%ioTjMFTgy_tPM1^dz%{ih}y0<(M7FQ!Oaga4%WtU^JRAr zz;TXR=W#IkG&TZoF_^sG*#lna*x>iXXJwMhmT~%&W=!P~oKH99d?I z$TYfVQDB6nuqOdz)#|J>XT-^h?gW+{^$VJeRerM|s@5C3$XY(3<8t>NdLiJ~5HA$@G)5tLA@*gMN)aHZVIQQ%Ee%fOx)tD+^JRn=CR8!K>qG#y3b zA0yRju}>ge1$=>6LS8dL9&G&m9FC%)SZY6Wp5t>xHrjTNUL%QQHTM*1w3#$KVtv+)}I^{5DKGlGiV1N zKb1;uc#+f8rh32N7zJm1n7NHauKvAf-UqkU<9tgg;y0j$kGNlH;EV1^lMe~Q!G?A} z5cFjlLww0s@0gdbhJO^3Z-7Xx7cB~SOz@=|7LEzAz{F^o93AHLdzLPX#6+7#>?DGl zze=-Ul;2=4rQvS-Zl&R(&xG=P-5~<5ieW%_qO(e*&j@FJYeyy3=~oMb)RXM=vP^)m@WEES``!j^Q(2* z4Nms?=%Y+`^*!e}$=^vFX*E{*jB~Rr@L6A*hC^&V*&r{QAL2Wsa}3FMWq+4U1dtH9G^|Ig1ew(2q3cC&`a2FvpE*)I5dfw@6s zc^T#ZXRsOvYGUT&lEipguBb(qnyQFaM{LucZUI!^X6DlB^pG&x($emW8Bfc7>IFk( zG1V8k@Cg(N1kI*iGCNhN#Bq+wgEV!eTXHB}GHOiHEqfkHNGN!5YpQ-)mK5L6C{-a^ z64)srp zf}6W=40c>d)Ywaf-=j6%MZkY;InsurL(E;@maV|4Hb-~3i*o)(Op!s?>UnY2bH7)z z9)6rsRK3)Pek}$z7&#*~OpZ8~zR_0^OHpQxXL z%&_sgXz+;|6yDKv1QRu28^h8YJ$w`SB}ZX@mCkXNxip#@U0-EZ z=hl1kdzI8pe(L?Hv{Kc3(|e^B+A+Jf?jnS}i-U>D9nY#63wFLP^Hv|&bYiOKTn<$) z^0?{5G<83q?x(B!rzBZ#@=#%Nv@m#=2sD|GAIf|bg6C*L$A%KzEQ)Iv1`1cABBx?h z+M<{!qeYb-H%0M~$LHpew9yeaC)vo2ZQYpU{%n43r6x%3#cpmlU#7-eXhA41-%tz9 ztn#sD%8ykQO~5l#RbXgpd$~H-YnDwH>y5QhgdvMrUCM|^{cBZ^oGI^2-5#PkVtR=B zIX;Bslw4@Q0#q!lCSmF66QjC?)ltq-j76%sdnN99QSk=!+N2In7>%{DXllR1-hk3X z10iZ}#1bw2YU`GPYR`85_VahmZtnSOV)WbiBZOx`VUhdK=PN3juyy7h(m8)!{5tCy zT178d`zj2&TuSG{*EIHU2_3Z>)%uUMv+nKJ@th-v=jH%726nFjyGHSSBtz!Bly8rp zFAvCnX1&uMj^y>Fn*GCJVzwgFrvXDQ%Z1?+5}a=nS%zAVMH6JmUg0OwHYaA7Ssl*8 zF5sW)WqHrFInRRM>csP25tu5J+MkaC)8C6_FZYd0Aa5&D`)T0aG;n^JPwWgI_51p& z10J)sRxzQrl4xB0SQu@KdXqa&5Ow|CDZ#sB$#E7-&AM;#^Q^6@0Ik{R2Rd*NGt*qe zV{!*xOj`oHTJj6<3FPz?qqlz_meV+2^l&Th zR&SREDiGOPMsMEzWwmD=f4lg5fxjQ|SHb)2za!4OJDuOx_)U)|j^%x#EWb3K8e}A8 zej+$ZV~820tWkC*GT+}x&frsMKD;ttIZ1%m9RCVAAIYz*d9q&W_Gn^j@V9D7WiO9$ z@+C>1?O!4PIp2Rl)>2bLlK)-&{mnRCdy3h$#SLOkYlI)Jjy3M^3cO0Z)B?8%)>qE6 z?jKmd@InuWzIrwKi5Vp-xBa>*pJzKTaFtsawdnjyeKExZk2H2fD;Lvdag(u1IPm7RJIx1|C0ZaY~L#~DEa<{ z#y{uIi0+>dFxaM{ry(}@A>`)|3dO>0!oCjwA7*nI)K@uwrOHeq+Sp$cmLW50K%e)5Tny0!z5v!{H^bL+(5MM_ z)q2gD{Yy(_9hyb`4hbX;D09!VWfE;(U`=@X_D^+1N=?b(Z^8sY zi4CbNSs`QH4FTKNks%cNhTZMJ;lQ&U{LxH|I68|aq6mAHF4R%B;J~it15ZDam2AQT z&XI`8_xJH%k?(&4;B&okXn0=1+0=a{aKoBsugdQdO(VU$;KDy^_B^1FB?g z@2aQ-MqwI$e)bSDd}0*_CMPr_I15#%`gQxyxLyhs3e8);)5?mgK%2O`G>)gUK;qt%Uc4XX-~uRDasMKXKU2D@qYF~ZV$DO?960;^ZLG)Ndlwv7d= zpX3Y%#`LX3OKxy4g43G72tR9#DGHpzo=kedAIS}V@e_<9MVgdpX@^set}NIDg+!y6 zYT$hf`yFufd-^?0kVoVU6(V9VgD3++94(cnL31EA;{h^i7|T%3ddjI!`0%1Idp&U# zS0Owj5Xg=%M>upO4?R1%loKaScQ|}uWW$SUO7XT`U%IHKOn%E2)s)L`InH{GSOvD9 zBCKe^<5@s>v!|hN<-Gk0zWNJAmoR==K`h-h3>Xryv>m%ukX&KU+!2wW6cSq1{=C8} z0fxteq#3S5ldr*A)>42(#a^VprB69&69t*S_wr|B_A19QX$aBt{lWd)WXt!Z5S{;h z@Z+Cebnqj5d!?n5UVeLFE^A}_89E+@n2wF=BxG3YDt|rt3@LWVg zR1X4K->mw@?OywDguT@)4v-ODB0%CW+3 z>w;6~((qOM{WE_F{`B}G7gAk}H`T^zh?{{!#<$B@+T$9N2#9EqPEsm~6snfCEmLj7 zFHxqKQpN~_Hogp8bB4qdv+6X-?iZZi)YxL55@umUm6G}FfT#){w~tMBT2)MYv$;HGjnpJ`I4?`+NF0B5IfBD8#N41%;rPgzng= zv%2w5*d~8KjnrpGureCM7m881+VX8}HLmt6yz2^bo%xpasx&i-PkV+sJAH(ju8WoP z)8&xQ1@n&qLaaD;^2u|1qgW9Cvu=u(ZMi2n1^?J%;n3=YY@XXOA3&z8n8*s#2h?J4 z-k2WDWW-@Q7JxnR`NX_ZHYp!9?-HuQ`l?*nzIySo?OBRfx)Uf8P6EK)>^L>LO9(ek z4CKcrk3+ku?3?;k_T5MTicL>7O!^ar&o?n+qFkno3)KFL=iCtlX&>U`;Fh6ixK_0v zJ2gQeoQtK76?mMyo`&QOAEq$AsQuj+Wbgx=W5nYMdVZM7RDr;)n@pdcPXu9iAl^A! z_#hRsdmDv%|4v~Mv(q;Odk1pvGADE5S7L&LZVCQNO0t`ScK{wm=T#dm$O-x!xb*H& zxH}HxKffnU^s&=(3jDcH6KmMOIn5a{!nW0y5t2_lEiE!?s*Kn&tG?E#U#uQ)F=A_> z*Npl$9<6&GB&VTpp|M4T<;MLo+<5h*k0PGAr-w)TPj!e|#8|4)x<`Z|ENGEo;v!-0psX%@ zRHG17`SSWzn?M`j4Zmv&PHE<^=N{-iSwM5kasGwA5mJ!P(KJFb%i;U1sQvO@)#0Il zSYoxwVD|hx)dzAe{mD#*72DF%w1tN4=49B(oA}YEC zAs{JVuqzzCu@SY*8nop7@6mzbkswi2>YSC7fy)4C0MR zAMZsy!Mf*R-u7>KP(Jd{{-^5@2CHKgS~+b(+fx0-tQY7&x`|LOtjYh6=?a}Q_u|ai zMS2B1D}O=YXcjq`SzHELKa;kZ115GnzJr~67ev)-< zCd4OD<=c9#mWv6>ZZg8Wh3?pIUPkc}?|_AzcwN%scjyS=ry$#^p94s+A64f5Z<$Hy zFCCd~nU8X(PdKYcBgpvgrGbt16dujXCCBl2Sm6Uj{}Iksy-OUyON@A9vOoC;aTGIN z-AVU9EEF~ZQ!6ROqE2OO7}h3>;I<6bODd%KGY9MS#V1Mp2@qdj;sk=!VLK|c4E`>3 z*H>x$wA$ZyH3$fC$O0O(YBaS!IXWSJDHijUk)!b`bg;l6W&#RtBSSOPdcsqUn4u!2 zAGV(cH2aq;fH1FeN>2QXxoS-L)xiE+Jp1^a{^Hrk>A_`qg`i~BbTug(h6V2(M^9vi zIVF2SupP&p!4NP5N{rec5{tSKHcaG|KiRE@Q7J6R2BXdhvcI(lph%nen!TjemM;#* zDo}MHBwP({UdbZqg??pdT>AA>y4*9;ugZVViR81Ig)l|QL7kNdshPlu8$J{|#g?P( zfZ)E}0}Q(u7K&?yL0;6%Y(Z;t0Nwo2kCYx@VbmU?HNN{w;F5^&ynui+umYRXta6C!_(6 z<*ctiNY&d(Ne#!z3cW4BVn6O>m2-jh(|7s*{=3r|2RJZntcgcq#A;O#GSckCNQdN1i4too3>50^(Dq#`Q0FI`C^ z_MN$vjH^L40F{@;_Wz~^Gze7YIp1H3#r==6G6!hk)^WL2RgG4Cn|;X#Z(sHxT%%Th zSdRl$tR7c|GX#pvu%E-@5ldan{a+(zdSN?TTwnFP9Qzq_Qx`L1Y?8$&r)cKSjFbvv zpRKPU4Rcyg*4Xfu$7T zO~5+71b706A=H1~-o_TjtMj0Fcr``#-REsDM1_(#K5xhPu6RRfKXY#R{a$Iy;TbSQ z)hpUBC&vvTYk4`g%jPT2Ss0=ae*j)jIozhOG`b&-J^%1#D-P*#Lhn~j=n;d9)ZBnv)-vrLeL#))2$~^+91I=~Jg}k&GYC?}FRbd6RDy=#zq3 zRT`gEpE!q2vTEVb1o>HPu0wRPE`VGy)(BM#hsqHjUY`*kN{PC>?t;ZLIbjf><3 zfl76$I+jz=GDVxE2HoeXtY^t@pJWZq?@6yyQ_ZxYX1!nCbHMP}6Vw1}{)bwxGPlMS zfek&+>>D2Yca$ag#@_btYHC6q&&bS+om_X$|%o-Hg>MGYzRbDknBSR^EU&X^6vK<)(5-Rawkx zy$W(b2LCCqS}$k^l_pP~6})Q|n_+O8Nae&Pg zr4Xf53~|DnGI?`&hh*ldTs=MJJe8`a?>kSk)RSzpl2SJD{fE1qr;t1i-Kh-(r9VFU zBc=jsj}P+|oM4U^Ul`ZAlNafepyrV~a%jld?pV^_L%An5D|b5~iD&qo`V39fxs9%HiRi8is%O z=W5UM{5{U!H~8DYpUK}8X6-}#eUiVOJlFB-K~=^#p{Ted>z}`5;v^T}!6!i-X+bHb{i2QjThadXnSt%87nWCU^sjq+HH2z|J@^bT zG6ljBg18{{f}^&QrCh1;YjU_EL##N)IP=BZ%|V^RoP0A|43FmI&#Ie4=HxbY^M*P3 z7H%Xys(8G?-W)wvfngMW(fzILz0I*f7w63Qr(a|Eu4%ui#i)DHF8_phK9GYPF09(Z z-_XjyQ*IRkqi)ciU}ThQ&+ZoP04sBl11Y}8vHJ2&Yo|idv=!yr_A1<2qi>78Ia;fd>2Sr<~c5 zoJ_a`!DhBOSlAO)7w(v*jxy*u$&5R5k*n>rcke?__2g*usP@XR;+k1vB!2=GW}eR9 zv{2NT6KA2NB0~XzgZH2T`_C*pVMjR1nA`}zEsH^+_k*IP?cM>s(|u^ZJ0J6 z1`AaC`l}Xn96^6=A#KL>Z@(|}AdehUmpsgyjl+_pV=K3VyzaOI`O;*;uMMRVKKAYE zY#|Nh+YhYwc)qKKMbui|J`3+B_{0<#Hv0}YG+MO*yJ9_ntU4=H%v2G|Ek(Cy8BX9LqS&tCDA`vu(%s;@G*+;>b*&$?k`k%l{uXMUQR$b*6yoWt(Z-Pu z4lIa~o zGu~9*At4N>qYWuqsWZim@1H?k0zNQdj)}X!f7Z1K6{^}R^5czRq;Gy5*C^mgrsl2p zi<2oqE#37HU<9$5yCd$G08-5%)L5GX9VZIn2T`vq?62IhI(WZMEAxRovpQT@t>Vwh zGvb%tei;dmc}*BpcoZSJ;GBV(=<7T_^tbEd5_!IF|bnK z7D?nyJ|pkI-Tu~iz^O;Ehx$E=1a(DE50TATQ&Ir(1p zVspj=Tp#+T?9Wro$q&je3~1bH)&~yvNVo2a(mV57f91e>q(_K(OjT+W5f*SU?H77# zC&yJ`w@YDPb_(mrE^O%5#f6DW%_hIfXMJ@crP{5CaVe2Sf0sNPcP&=eDs^4Pb?E!1 z>Jqf^G;BYIQQb5n%epz6!A$3iD$9-=g7LXC*MZVn#V2J8jGpsy)qRel27rQ*VY%DT{P z6OyCz)}Jq*@8k1or=bdsf8^)7Zy`?;c_vt86;Q{oCZ82}@FdD5&u7T9a<$rT94vn1 zNjFn>tPJgO;RQzCFe7`raQobR08)wQDZ>y>618KUbW+Ct5TMajBl3i)!ELc(g2lj? zy%)B3S50wueX+twV!g_mEvzY(s1k`u((noDi;4F;uQX>rbI;_UyYx#oBl~mdwz#Ow zT`xKGCS#>Z&IAt457FA>$$9I~YE?tw*rA=9F3F6A#q4K;UHNjn!t!0p@Fw4#w{EdU zD0AUu*CvYLeIOP+DcIyf#-MOd<*#l#hhFN@zeKuNI9S>2jJ{a2g`iTLx_%5M(WgL6Q^_aws7qSe-JP__bXrDR4K>GFyQ>+u)&V2(q7@l5nh)Sr4z<7{nf=HCc2q_@ zJ=XQb4eZCmN;;q9JUjn3JLxxZR1%F%-{V} zZ`apl(_f@mu8Fg90C%C&jew`}h6^}eoH z;o*NG35$dkGGKjG&;asy+rI8y1{lyB79Lsihi>qYlT;r=psnz)UC|At- zjqi-9M-i8GY^*ppF}35_Z}7$gE1R}-poP#~Q+R4XIRsvLZqMr3By!oq@rg2IBrtbYYAzGKOX&T#Ui zKlqi4X@lCLIamZc&*y28H`pn9IW3E}$ij(lv?5_aooh$gTNZl0{J)aV$R2ca;&Z0j zYOUMK(eAZ32||*%TGnkL2v%X_SH<2RZi z*rp8}zHsmVBcdyzoXi68It=1AoSkluqs}8}CM@!!p>)YAnHYJQ_D@`gn(nh$}AcHzSEpwN(Z;yCTw zu**Y)Bp6jfgTDz44(098;85eezlR3L<#q3C{-$0VI@~4B%~yJdLM1PluWWiFb3Kn-6`$B&BZixvp-H_q2j)-}_sp5WeL&tDu`m>^9F{dW&S%VI zP%^}?-d`caVoSnt}W)Nx8)1DfYzIF7bpf_QaQ(#=Rtk9{ji|0p=L@QvPKB774)8P-@WezC9by7FSJ> ztwNQeSD2J1Vgj5+{+*xe5Sbnw6+}L0WFMSY2WW) z&m^A-Q4=Mp&-Vm)K>E~X@8lb8&zU^B@n1dPHNn(87GJVy=lxW&{qarp=N^CE+|zrw zu)FuC*B*QGq66EFuCA`*zwdo>LidiIL%xf46!aAITr|+tTG&-zK;+xLB2PAli}7P} zYs5slyV)P>tM-Pw8Vcf*tuOfOtsIDHGVF;#bENmJkUo2sykw4S`lEvEL!pw9-ao2S z=u4QIsI-}>QFoT_-volwJE&UE;;JoL(G-K<41LRSavj{=)}m`!pH|@CCXqgQGL?wq zzr*~ZPeShfBZHj$qTd(%%HMHkH56=mcNQCQ@Gj+4c3;=^UaQvIb$uag%p92eT-RBB z%L}})wk0Y9_L5)YibaGp1XRgcxU#{2+Xl;b9+O`s#Pw8oiAxv23SCfnU|qLxA0`L3 z$YCMG)!->Czt}y@DCMS=SXnT{9dRl=S>Z4Th#NL|m{4KCZTrBVqtJ0Of?v6vab=;?acjXZrBRjZ{I}g~UK8m46nZ~yYX*lpUiS)be9XG; zSHhyKT+`3&`~Yt%lVo<@W-$zX^gXBMO+T|!B2%NQGnWRst0vCsSzML)(EMW*dDeDS z{ZjvJllztxzw50b!a?Pcb#JK=7zXIg86#X}1dhtDjKC;2>>t@f@O}f9mpmIp^6kIW zdJc3W{7U#c-aR*dK{VF!?$z;t{WIoUi4Xxt1P5~%8O`g1*pMYYFDiEY`Ru>F`TQa& zUsQVWujLCqLnIS6qj^74n~_?a|JC(KdBR5$AVmcSG#diV3LOVeoe;Lx7yQCVHwj3> z4zlU@Y75z84ziSFYhVEl_8#`Lg_P`(kPgTJh&z_rUuzENv?^OkZU#o%&123e7r+df zlgk`Ho#g`RoD87ieGPS00qVuPG-p&fX_vWaYvo2ws7jhWKWaXR4j%P21-IQ;jNo!@ z0YC-G8r)V}SaO8x1Oc+QNg~k3MptsAW!9A$zyeh!mY6fHlPV`irK*rQ;|BS~l5z5lx=LZ5 z1(0Wy3X3+Upuo`M<_sBrbF!KYGOJcdW|;(9k;&}ve*)m}MqtIa?m7;5{T?9+lD)1& zdTr5(f|ReLzMw-*oGM>Wc78AQ#DRO2v;7Y+$115i$7+841o`xQm^R312RNwB1X|>~ zFbneIb^qmiqUI)=neQL3J2@OsBKJUdaaSY=xq!c;(N6^Ls$^^A%(0*ZuMV?1%lIJx zqQpTJy_@8neio7-ZegJmSl9ZQuMe_{;K9MNfk-BYtfLRG@Q_$CsP8evX+YB46qWov zmQsFl{4`_V!GUNw+uYg$Svay}WbOFe8?}h!O>uBrmB07*{*r;@m++H{GELpl#PqB| zfF9-L)gkk0j&etXKkls@ymbP)Kqiz}B$%}4#MeN-#HT{Z(9q!K53}1G-Y)|gL8**Q zh(&O%-#oj~Y!Y*0g2SjK5bQi51lnY^3}&chz@VsQAXwj72Dw;2zq|m}$$AQ3p)BQO za?x_8QDj2YL$!{ShV8#RwSP0`p-p@eC_j9=)K2uu(P`@@C~i3!Xuk`Yau8RW4y!P0 z7Cs1`(8py}w127R?|FWcd(VUk-U+AuSCDyIIAMa1|NKkyo@EWO zK9qXucz=QW|0#Qkd@z53-_FkS*ZK=YIXrV-;v}lHY(d!VHxr|1)rh?UfB?CiySlZ% zP#n%7yoNl$+5i6UGX)$lM3BuE85AKY0y{gvdtqlI`z^z<#-KT+d+Mcw9j~2VL1?Lt z^7GB2?%KkR-@o0lyP&JKkWK8Yc9gLEkW}R&Fi#EstUNjDUmp^GHs+MBo4kHpbNSaD zRVhQs9(;F@(km(PbiO{I(u7D8A`O+!GJn+3VCN`w<63_|flM$kk1rDjpDwBG?|>F&A6PtRYhJpvK3#$wH85{M)f{q9<)ki3nhv)^gz~#HsItofbGsEv_oVZjn)uDnSK0F>qmj;5o`qft(R)M zADF0~#M?PNQm?L)fk@P_9nthctoyoHwzpu39A=ED#pLG#8X?q`#+I+{ z4|YBd)jRHF47)vKc05Q<#2n(y?8ibI*Oj5`#ygs(j{9Zn_Cgl}n_qj8w_tin+3BVf zMG%$JNzdCTIw)4y(e@^f#mjDxdkWPp^+3CcabY6904)0XCOKz%?G26s*yy0R`fCn{n z7yB0QMmOzV$))T6A?e1|uUmb$RFl_g%@O&YY&$gm5mE?OLJw1`+ZN%I=spf^dec)Y zEm+DFCg1c0JI_{ChdLI@f#hr3Nr~dOc+qkD-W-+@6aGo|Xff9p(<@Otav;GMxY%>s z+W7TLuIpjkFInR8lVJ0&$+yJAr(oxgN$Yg-Dc+9nq^jtFyo#J0yRvdvYv-gHE=$6c z9lv==M~I)firo|Jj5syHu%St zk88d^ssjE^5wf%mH0^TEa$ z)h;PB57;mE_r$~tpzXsJnF@L|WcW9_c&1nslwq5Ly zcK5dwPFBh)F6Pz0{Z$I;Q&s}`KChL1f7eh*DE0gaRWq;2Y@5uKm`9A5)-*1-h zZ+-=I^`Ydw2Ht-1^^;@9o*& zb9AWNdOf4O|W=*-`%`uA zjG}O`@a4+pz^yp2fF%<06h_4Ozz)+7Xw2p?&9ed_V+zbT{HXZ*d{aHCB9&4q$@&L* z)L--fz0&?JSm^kNc#u|UdnW6CHSywB;%kqJiaIE3g%9JCT1U-9+MBI^s68DgF#kl0 zFfj;$;$3R4D#y32_iD3l4t?=fqwh55{e&PQ^N7IKH6s;7`+W{A3+sldb5MooFPcN^ z`fJLj@Pm)iUK$e{0gpR6^p3UIDLzlz2KSMejh~%(1RJ+gn)|P~k=~04>Gp$#;I#{vnyoorSAP z8RtIV`JSthB4!FH(}k3$3%P+pm@FyrTyeh>wZi8&+Mjm{DbExlIyaK)6J}%_`LHyjuoQrD>{+il~f#;=DD=IOuK^T_nh*7xYwC- z`@w(BsEaRi-pWZMdx5F>Cpcgt+>$)SQTj<5l949<3r~pTt|S~?Qxk$etlYH_&m2Uj zyiv>W81-jGjMvhHuIvy0Q#Op!m8->gU+HOtQRHwWd(W0jH!}jWQCDV$LEIrj0{Yn` z@Dan&QzeqU(J5wM<#8l?{Zx!_S6uL+XfCF~`*}JaV zoYP%VH?(Kd@M5T!%#pmixwJb1OH6c{+C5$O?K&w_g2Om{_X;L8jSXF$d*!vIu841= z7!Q7HfLHdUA7U+5C@4i+VfHT<+Q@^IpddSIIqpuBb(=YPFP=Ni8G~FO5^ut7Z$ZWz z_xZ+P#&k;j&xc;*tzmh1vBsQyfCuZoDLkNtYIOSLtziZDu}jp9!L&?V&?c$}xR&4b zfSiKTtb?zULT0km)0UzcmMR|yiC=(5)(?!a5<&Xd_n0y>kZ zg$I@zoiCCKt!q_V)SgpD&Jj~R0dLbSOPZrMfV&a0!FJemY60UKzYtn@Lh|H!w-sG| zxIj)xkIR&|i92alLln3hD$?&x-*ho}b3(iR%KrUwAYWYHXahRMXTcvVg~0s@wEaOB zdQxUCqciqAct}rVYW6}-%cwd#7Ex<=Ji!uO9w2(PR;I6*UjqMrLN+mF*RF^2~)Gh*d;al0d*Be0z@WL*N4^h z5q15cx<0C|kE!c+b$v=*d(?H8x(=wTFk&?OMMVKa-zSv_poVGBVCgWet9GjQs}4hI zYpl-tZHYC3-b!}IBdl0tJx^5s?98A)uQ(Jhz2Z;nimrJ5wt|8` zUeV9pPVV}yIFu+(9`+{weQ4s7OlN9c!SPqjUfdP$cBxQ>-zyZI(!_?WJc7s2LOAd! zD(#U&ht$s-w)%Nd*%9E)Au`$mQ2!%s^q4nIIM`kItfzyey-JLhyCO`dzq>iLFdVcN z1cROTkm^b4kNE;^Hj63?f}LOFF?krv5MQ#-mptKHZ?lV+cNbhy^#8K=Ch$=e+5Y%V z(m;Sf2M7=ZwbfQpP!s6Aa>QQ(WXh!o($}2j#&bJvh)-Zv!!^sq>T*6DSFBK{L*%QTHAPlxxDjE7>i0*IEc#W7C;GF zuHb;EK#RKX+1$CA|xU$CEf!Uwm-a3dsIi`L21rr!m?V#2eBuQC*whrL9=$?YE zQwsWr&LjIRQO)*F4o*7WQ#aLFqBzgsWUSLUZpk;}V%`DISt3A(X77wreYE_0dcP3& zKp5bO zVU>Jd$>6=?pf*MQTW!8bA&lWZ}pSWh(64FV@wNgVec&!X(Uw zFjz|{6z)TDC~Q+y;8-;*^*h+sUl0rPLW%2SYaf0TdqEx{ zu#H28NXJQ5Z*Pqi{RPNJ7$X2r@uNlb4;Nt|u7G)T2ftK+5}ggs zc94m5#WXfJkE{0pib1^RocBVMdjz?*pp%5Bk|8^KJE8((*mJH>nCD|?LNXl9$2j&b z?T8}ns9ePS#UY@o}1f<5f#dyjW`+uV?H!KE=&vHr-D8*+rt zZ^F*f5;-nbnZu{c9pK%fiU}nS@@LA6#Q8T)1Q03G5dn8UTN@d~e4bo`mxgS9uWu0j zi4qP>2L+|eHFV1X>2V#xnn2p-01;pZ7Uh`JvUV#KllL?J&Q(NB`wDE#$h$`i4%Oiy|8QP^4*-^sAIEWVTTL&u8mu$Yo3 zBGp(zKwb{tfwD*Up|T6%)t?Rz`qJfe?ja8rfxB^tvU5LZc|4Qa{Jv~|kvxI#5XNtWWC4TZ-mQc2g>rkh_6^||t&S5skUgmRLYxZS zOiF)Z1JEpB{9}6Zwq-*8osT>Hycc4y-v_~zT?0^#k;@!a9}91>bb;;DhsfF>Zy8t^0zrR^dJ-ld00 zuWLVq_}Jx!aT7A_Zmj$}>J}w%xZ-IM4$F+;m%>TR-W)$G$03{{FakAArJ4>?O(#)P z>wW%dhy0#rg;RL#UD^~=D`$j8`0(SH2o(;nG0Z6hGPMK&U@IB!mt|NiaJ`&{2w+ND9G;>HBJ_g?Xe$)k@6pvDV z;d?47RLBw(5-ee@Si+GL=aGQ22>bAe!d@FH7Pf{8Tes^10r>visBXXi(e?NxyeenV zVg=Jc`5c1t?}**aHxryABC5DatYSg9in;8Ol`@k(Qt?8*Sg|co@i5j3YB(IsNv3&5v+gTwy{yP6{^ff}x$;_r{A?h}^b z4c3+dF3|A%83>=?k#AUwG@z#G-bG{KseSaa>zBkXKg(ghsJg8udrgOrN|#h z?K#+ba{xE~1{QnoAjD>g{Ud1LFw5^}a4kk1B)SEXeFa$RmUg1t4W1hqvC+~@s72Go zZW1yWe5~`VcsxN1 z40a(B@4ik*rwgOeWBG^7A9}Dmd#J#HZPUy;n4l)k;c!UikWhUUl0$ulsBEE;C^GBg z9u}kU(sig=0^Mnr%NR^D&`z3RQtOS)or;DK@Y23&21$ptJwYGFV4rh9*6(={!v19Fv0E}af@ZSPPKx%FW zjO{UJ{kX^iru9D0DJ)5v?QypV+lbF}bV?f@CayUxwk3vG4bO(X$nf%jB$46mucNj| zc*X}13ETEM(dE{wff&XFuxeBFT=*d>W+_wMQRkCVWkPwWKG)%;z!w$8#rYj@y_&{t%PqD-XG4WtAv5XSaAC}lN2*tA%z_eIj%n6KebYYj=>0<6f zeOOh)DEFXH?mo!P)&_)F0LGnof_j@_H-zl&Xs%dxDKt+G#B@WmA@F)Q;rPsn2dE12 zf7HT}@+vgd2laDIe$2yS2~)HRGe^4IQV7{c1Mvw9J@UqvDNjZ)_}mbmPSa6O+++Z` zUKz_I19Ha%=@ZfyZs{V?(}BlPaJ4HRC7eG4*bSWYk)6nBBz;*vCVK(NWc4Z70 z4B%ugxlbnd79>(m=Ya}-i5zST9(|ZZX+If|C`SpGh2Xl1{~!kvWg=va?_ea22Kst4 z=}~XJ(0Ky7fr*sqR!VT$HDqTZ&5Q^FyW;b%*a-Ot3&ZAJB9G^m z%7Gr*W}%hRXpzW1zmw4uIjIf|AtpIPstqR1LsI70{53IYq}(4Ah%FmxN3Pmk_nEZr zY`@w;WDH6=9)E(*draz=IClP0`)lcId-(0w!j>Aw)MOUje|u1~Cf0}pQYmZR8FdHHhW3FU zGI}4~(-N)y1(5sQAOAGD2bXAAp#|v$qza=zdz|nLMtc{ElXIStAR{tJ!xDVa;sB)u zGlHKaGGfDl3b2cIVdaaE-Y^jO9bnWl%1NtZT1(TUf^Ru}i>2KtmKL!F4bmcgqrIfx zn^Va|*1K>t1CuB+>it=r*mSYS3zt24fyslO(P75ZA@*=E{kwI0`m^*Bq$h!)pnL;Mul(8R*R%9d zJ*RJ}+ta68`DFZ?6fFK8 z=Gkp{KraW*0+6mH;FsFlk-P+&!n9>Eo1%8&avX0HD(SxvoVPCBfXxtjg9Tq=oDNS$ zguo{%3epb@bt!+pV1B-ijKab^7VRg+MvLDO#q^h}Vv}*)_w1M*=H}XX_B!+i$$-g1 zhp>;0NFsqC7DMEW`;Eq`4~C1!{XSi`!)d(MWkkoojX)8V#&05UYGX-nPuz1((HvYT zJ5{W}KR#N$hrf3>=wkc#v5k%ktJrg+qtpB%y@ZBc6%P$}-RDsXm?2{$q{y{@OA!hT zb7Iy$I-G7b}Y;$e-jKpc7C=mq7Kz^6kvwJ^wR z*pVYj)eEWE?h~fW@=~PA7WQ>X74Ca_0^9s4eJ?i7mU`AXq2B zK4-vs(s>Vk1b^XZ23|hs0Up+dZe(x9`WyJgrgEMhDo=>Yw^*sN)h=m|3Es}j9x zhdfCk(XW!|`6FXK^|nTPzrWE_CSTSl(POvR)oUy9sa$`$K03gt<}MIBVkd1Tn3n%Q z0@8wBTj;AXT_5FN(g#bHQ~amqjs>Ft$YBQnxhe<!lx_|ryet+XQxN}T^h|@UC+=2oiF#u_ag$3C@gYdNnNWry>Ly2QOP7Eu+sfLS; z3O8H(CdU@|3gZO-e1a2Y*(40G1ku zuUKk2d_}24hp&Pxk@YX^JK|P3qS#?J>|BTka^mYg$9c9w^e>&tuKOOFD{wm>=;vO5 zlXj2TLBDr_MezGRtf%Rk?&e(boCpWnadf_O4H;qt_ka8^OQ^q3F1QLk+dE<#$M+6UQ(<)DlVJ+Y6oDR2OzsG)4`>-{**e4_K4LbwkREY*ylrqbFY*yoWP2K^5m zFkIAvCpGcSGy#QV0|&LOk;W-p@6YKJMFaSbVyOa!F#3u0-YMe>3OyCxtxSmU%&gmb z7}+>aA@BVd-)4KPs~_zR5(u$SC3aw2YjYil+S4)SWdSMprRPR&ZNmeYNJbUGEWxHD z9cw8p5Vo4Ah&btQvDOkxAlFdhQ)FZC40y1SBE#aZtS7a^FltgxEN)w(Q>ce~ULWGh z$e`-!{QH*@Kk3e5!WOf43h&pUe)x}K0L^C+7Gz;&XE-O^ZLco{xJE4Mu8$ zk@qK4BwLYR8;n%ol|%SoE-T1?j|@MBM7rer9_*lW3ZFOu$~|jMRPKIA}zm2y|mRkTTu4(7|3oR{uj?s#7-Cv;G=tF5G(nEv}9P7fN z^w^jdI_B3GXP@DA+=`muxtyuUVkPiR6u4}FZa*l9&+$*|5Ug_nA4QPwaqLnD6>z=P zA3+ev_D_x%R<)k*%+2-ZAIm9^;jScuIJlfVMhipVG*~dUk;R#Bnt+pVm}onPZbU)T z`4*?l~#0Qr#q)!bkW56;KaEFGK(1VI4xUk_vzzblf@wsxq>jPKC5Xp>=_ZLM=0tg0$ z`)lKc4P`*?#JJ86{Sza#lXo(;bguB(djZ~%M(ZuQQ<}7s?_yj4C-!qKX)=0EyW@{h zw7B-|y3mz2cquB#ZPth-x-L?5hg3{x^&mbP+ylD7aT*@JP~mJFhS(kgb({k2y4owc zEb}veW@L>W=e+~w-~9-u*+ScONNC5^DcF<~lL$sNJmdyd3yfaH`yco_Wxl27pn@NQ ztKEPkf2JwCZeN8n@b7rfW=rp`1r29;ws^Or)z;PDbd-m zeXJ`J_@!;Z+a>z2-lS{Omv*$U+5i-qhJ%8*v61Mh6|Oiui)b2-zZWBTKmz?8nux!? z-j9!>FVP3xxHw{ywbumv5EEO4b<7Yrp8&B?Pev|fA7|4zJn^x4oO$9yZrJDws;&ii zw~`crEw$(H*SnP#O|U6>1YdREkMrDu@=y}D$kOxc>ol_AYA(=FzilDPmmU|bx>rK_;Vu_w81g9bZ^%& zHiTW^0JMd4sS<9j+n&m;AD7BaLpXxKMYy2q_6RRk;ZGM|RpHn4)HMoztb!km4-6l& zRW1AW?Gai^8b4%zQv_up`2Z&6X%hUXTH|ptOWHtY24Kv%vg2K8{c>#iNMDO8 zGw+nvduU@62bXq4n|Da>o{e7z1Q=ICshufL7fxd%1RDs+{Ok@D}2%x5v?kU)sSg*cGyrg}RExC*?TIJ^PHpvBviSmrg{>`wPj zH^8VWmhUezJ?5S#Po9pe7c9bcw}8#wl^nNFq9zO5yDZ+8M0hJ$*#zz`T`}~CefdcivgA%k!7WnF3>F%XEI9!aQTXz+j%4Uim6$4EeI*`Dq&?R9 zftc)8-Lo52!W6$TwuKg-T{GrU#$`Oa*o0iZ7mbVtsuS7aeQ&3Pp&NEJw9SA`=ON|P zF1XE=EF^CpK2rn`=x1-sIp|aP7V{6-U)|~8SCTD1vVA<8Wn-^@fK=~ok@$=eS(l%k z5`3i@FLuD zvfUfcb%>4^PF~Jzuo48}Dm=IW;6D$a?^Ff%ZxXP|5sPj_(b8AnKl9g-2dUg^_QRl( z>dY>{PnmGyH0B|yz<~-_$qxiez9(4nI+WZxnZ^JV@fJ0X!J@b_jL(cvnb|;J294TK z(Q+v2^ME`~SV>jDB2KVU$yC?zW-!8!a3Tw>1ucMPeDN(&)QK~u2kd;AhLg?Tc_gtd z#l=AW*J$kx$rFbnc0tT+86UTo#Lr>xf}gYqYaEyx$4grJ9D=Bdi7$>MQOKm}Mu~zR z3lYVH`0=q!f=@-1LBhm$Q6iWu^NsMQn{fYiB6+8V9s^zmz|S*{&}fY1qkZE?%>ZBAf(v*vA8a*P~n@Q5#k}{ zgI;{&4JdR(u6RornRrgY?Y0rOgN@Jdjkow_B)5#GJA~lR&%dyoUpfkx6baLYqb7)F zS@ITkw-t*&?R$AW()qm`@Yly~wPGhmaM5|=Z=3Lr&mZ0BWlRG%UcO8W%g3`Z_*?`2x=ws?=>FL({4A4-lUyxfj&A6x7CUT(v)kTOGTj+f*k++i`IAkd;3 ziLa(hi};Boe}VcglN9*8B<;X~y@QGKg}#?b5`u+%B9-qsMrV>xvCjkVgKf~Gh!Q=& zROa_=5~dGB^F44V5s)Iuaf*h={V~w1tBMepMk3^u-mQcW&d(FOf{ohJ&5$4c`I{g= zzA%cecEWhDZ*qw7!dY4X+BYF1EIYP|o1N*KMJT&fXish5rBA2s!`DCHXZ_qcXCE%v2bEpGMAIh>WO7ov#f0)fq7WZa{BKy&v zR;=*B$P1mfv2sxU^0p>48$$?3#>#g;hS?O?x|QC>PU3iu8>YpJw`9ObhU}Z55QK9x ztQZP#XGwOB4@W45uBEBb9&c`z*7rka@ma^A>+b+ZCEeoL?802(Z77=f!;DHo=yT34d6xct5+~ zJ)0?Au>!4t@1Hkr#rNxr(2f|K=HLxxqh~J8>ysrrRQ%sdYTH%~GR1oeS51gAWkh)< z!;cO`kEI=)e`10=1^s0ugQfv6ByGbQeG!`0IwYnEk~VgCV7uA|DFt^wz(pEhYol(d zN0ItEv)_($!$i<$t{(S-x7;f@;w)nC(zdi)N-%R{3 zApKA2SVMpNl=@(ceH#r^T-MN3_7nsf@%WD4Px0A~a%x$5Ipy$d7XFcNp|cEr%;H|} zLj^6O*GupF_NlU`c+X~j>6R^@LQzsOo;L_zY5jO~PRi&sK z=^KjBgs@GkMa=fXv;xqrm588x6XBMmAgrh_ufrQ8h|4BZmpKV2Y;?|?Xhe^8WCypO zJKu+g?8`7CkL9qW#O&sGWajucm7`_CQv(71v2ck$tE>bRG8VAM@oss7Z)FAwYL(D) zxn={v!47y1*6!(YT$zR102OREvH=wV=jZ~}z(7g8eJe9jN_igTCj|Z;YfZ-PNYdc% zAx@2fBlM;vC}av$9_&{91iBa=ae9Te?YDzvV7dw!h_F=x`kTLp6rP1aT|=zH|0Yc% zg+jaTLZ`W92Cm>`DMX7fajnVkWQ)cO0I^Sab{W%l9pUQ^16c72+aZDd_q?c(?xi2w zbdQJ#Du-b18!KD`n+36+$QnrBL;5P1_7>7%l#{3cQZQBz(iMNlGcA0AxoB~Z(HTS2 zoDWXP?m0#eS%Uc;IG2ZPnkI?Eix!Ul2J?`dJ{`M$OudBditXEvfepo(J8B1#NRuXM ziK67K@9}RQrqb-~{*{Cra|g`r=yb@^HsW+NulsWoaA*WK0b~irtW#32f4Ntz;;2{0$~gwCMveXa-v~fEdO=fL@rWZW0QlFz|RS9;b#n zz3<4pyJhD6t++IT)N{X!XREYKY*+X-F=kJ~!mIen@iAZpQ0r{QP^5i~tPUn&ox_CT zQ^91@-qDgw(>^DCGm8M~#38s092$$qgby=!z~lF{32SM#hyDPmK@lWKemK%$NGcR_nWAj(N)f#^zJ>_j*0zU1mnX9_1%e=*zB?n*xIT{7H_K->atO_Vm!CYkq5u~Qo8DyTX}!B|qAMpO8ENGvq3 zAs$tm0<C33}>H>u@(kz6zKu{Jzm3&ft!ct>Ch1ShSwT!rjZ(TXQ2g+}-r z>~8tp{>603IIxq5mGEK|k-%eEfb)63k9Q6Crw@*H2qRDymJKrCZ4?s2EMYv(byqhk_4J4Ecep*su`7*kw8djbY8Gar%G6H{;P zA2@%=z^;v>(_T`4o(?W${+i3Wq7{~h@{Dn~#06AL6pUOPrs#AmEBG`l&Y{f0B;f~B zOCzUeLPsH?FAgsq7vZlTB@O5@P!yyL{1v!kKn7ExuxSM96PiZu5bNhhB8|*^SlWPY z>BKB2<9Fkx;IaG#=rMU6A=Fhd@MgegU7-Fq)NcX3XZ1X zbXJjkEMSi(4}M6KjAsMMfXJCHyqXQrnX&;Z#~}cTNl}VyC>th1a0)6LND)_$G9wfY z(s~_Uh?)V7P;~%3gabo>A*6SZL67dhu+A1{!bJ%BZ!GE{ampa}-y5hK2rxp4gnKwJ zgoScwLhz6v%ouc`b4yI$&`~Bi=VuH6ZHW_J`r&*hfR9JYQhZN=iw-z{OqUlC;o*BG z>SVUqrN#^iZbgGE47f^#IatfI+6`HWaODhdUzn0s5{2jB?g(}c@YY0Xk0{WU3Kpa$ zm_a{e+iDPdu(t?vSm0C$X=pkG&awW@a$;q|kl3)mc{d7i_*cs}Q^aM2qk5JIg_6uk z+)XU^4-STlP=z5RtqVld%Qqo$H?ec9@Wn)tj-j<7tHx3BkBh`1_L4_k<^18WC4?7DE7>S_p6 z1^#;ZBPdqAr+h4sg5IGuyRV*owbV0tA1^pOQZkWdR?9cwS!n75`Qy>hIt`6>LyH5iXaG;>xFB>ZPlqF#3g+laLH%J`zl~<3Kh!p}Imn35LfMeDOKLgm2Gxw)9TkNSnjNed_Rp5qNq|XD*7;2z{{`1F@xmbgUZT z;eOP^A&Lo+XbC_70H>)UcVAY&L!>;apHbd@^0jyr@v0G%BVD{;_~2*v)A_7R^wV)M z0_7zN>-z@!X$=N;=+qs2dt!`(7ick2(e_!_tv}Bd*!F{C0Gw}G|1#U;7yxgPT_(S{ zP@gc= zJblo|t8g}pqR?|g#50#-$K9F9dH}l5fhbHHJg@@jr^PP+A%oi8PxPtx8xUyl0D*ru zo+zAvnMPTK+>E zkl?<|?}xE=r||AO=R3C|26MT;f!?$Z_GfJrHq&cbsR0A_jr;}Sx5TX4Pw$K-kDeR7 ze>;y>LVveOY+^65iKlmBPjNm<<5^K8s+ZuGKfm6*;{@$R5ImRBH{hW?0GcTM=&?>A z4Hfzu=+RLiyh@w~9ZWw(Y)-+GSk*(firBrsEVZWdKXcu<>u}cSl8nEe8Pi-Y=PEqz(klnwI9&Yme3!Lfn2uu6&+yYxdo6F@FQO3lhmzd31Ac`; zCFu9a;RwG*===Q+kl4M%YumeL;{(~Su^1S_C?P&f_84Q+ic`7wW~Fl9mZWl-7=|az zY%^wqD07GVR_GhYYy1l#?gzAXmf9f6-`LY5pw^CV-vs+=UxUBB^wdk9<(ZsO-Vyv!iMV-c^v1tk=E)v z18x#*AXLnW$=SlGCX6891@+HGfim-s)+uu;g-^x>VI7QgF!-Uq+W@Lgdi1$d?1Sb57EinX6WfWOb2Z*Eqw03 zbsmPzRphb&eV!v+{Rf6HI6l4!C^9&NlW#E;&{B&4O%ws0Dq;Y3Yizi{F6q^8&m0|j z8ig3VUqt6D--lBUoUpma%vXq+BU;)0d{Kzr$}O?0SEIhHg< z?tx5=7Z45LbeWiX=oeHnkj7})fIw!w*}_AwlXqDxg4gY!WaL1H98Uy3q4uFO;YE>% zQH_Dv3>h~8AyJr$?C_68?y-G_P(4Oavbzo2xJA&ygUgv)+@lIW&EyTkSd4zkiiO$L z_E38KCR=}c7wD!y{XOBkEt&L>a57|XatQr1P+F{bp&D<84zL|Kz(loI?EXOg47ai7 zc5%61{|0ap@CSvx(n%It?bthD_eRn^xhEbRboB$X?+)psc0#N%Ag93&%%2u{7Aa_q z(hjnY)CGl%QRsNQCl5QAd^2uG;TR9rB9#UzP&eoy)eSjX}K$k_}Tasxx2 zn?g>UM1-NgXqbo|L)51W&HJFhz=Vl5i4IJp^(W{jEElr2Wb>c;JRQRBaX=y5QXR(? zmbm+iw{Hr}!PaQ- zjHQc_C6c9vI?7A%6Rl2rmY8^Ah%lGM#&se+Lcbp~mLAB+V1z`2N38rl%FQk( z9#|;+VUp+~z?)&{Dzlxh%btqj*db6=tG6+CGGCH!Gw{{+?s zX6_HCzfybyR~`Yh$a9yZ|IMfg@2WEuQBfn0>5wadduwNg(jVz(fm>j=-ETeHCs4VHTSq z{)_WaKiS-ov>+mHv=L1Xo?W=8z2}79ti9(rcO~)P$X4ONjX%E~Cy&r7az86f1oy(A zFaH=eRsO8@Y;6CDyYkp1nu8mPV{_)<~dfwq#ZHnp0yHH_OJeBJrM z^0s8mD7a{^z+bC?T?v>U?m6k!$q+oSNp*lG0GO+?t2m8mu^t`2-I1Nm@A4)2mPv3F z%0C)nDD2k1gGP&vi2Z>!eujm*mv3R5Y$rce0^cRQw$j!-?&(B_3V+iRNx;)$1{z9} zd1SFV6pIc;yMl^0s$^}Tk_kOm0=po#s%5KXUqfXlGzJYd_)Bcl$D9$t;VUhnA$?$j zfIOgZEHSJeaLG!J-?K%igvHk!ST;ag<);#aR?+W>ys>GQ)82|U))u?92& z#F4+zZ{Ou#C&3E<%+lDmz$RlCjHkE2ZIADjILh%T=^A{m(Cp`X)Plb)_6_UFOxd%| zH?2ufLDx5@6HshHQ>bu3)Tb$IrkKPD#+Q@El`*0j>5o(0baJwMBgp z0s=sIwz**@-oQ-h*%v}J!T@8JunqP^B&qnBent3%_Jac0%ikqxfEJ5Y@(qVE1;go0 z0*n)P!)m61G%~B=8`n|M<-2G+*wR>lne#_H&-6u})rc2*)gvb(tuO z`Gb*EwV0E7Ud&k&h_sUk93*sH5RK!AZB~J_bE~I8X#z8wi$_QTY(j!GNAM6?i=|!` zEcH}`kqQl;>^P$2?>4I0fW|gHlMwo*m6Be zqbbgp-ze0nFtYKOb&9xWoj-p)Osdvr`|Yd216u6uY;fkUZn2XZ8)N4_0!~;p0wX4W zH3nWD`cU}YYZx(*L3i^z{WZ~R%XpmJ7PmUaG-Hhlx6K`J&fHv!OPd0&$@}u}3x9c# zEl~%X&xk$+;n&}M1~Nb9#Re)Cjs+R@F)9~Z_YD{l(QTm7`GGT79|d1`)PLl;vI}7f zAWR`Zn43ZWt^FgS8I~H_(IVcufjawgnx?@>{fx_%kA4~ls5?Kz)+sitqWo-(K*&Z{ zKt33zq)CwGY@8r_f86p5MEy&4op>C@iTUBgTGU5(_lJ!>5eqZ#c3sQo@AAWzdtEY( zh6A-j`FFDR;U z;jJ{ikJ-WJw;ky4r*qLTSc_r>VgP*zD>!?+^tIhgKY*?NEHZdoUxqUV{u)r-dSBLR zpZz|1XKr4I-7|0-Tm^8twJ)qQeUkY+qCIQ*BUm7b({MR4ZW1^|kT4pDf#SNk3MVJw zG&$17IV==|a>$3>iRNkWK1NFkBHw0mOngv|X(Kr%K0=N`{w8t;5$_u8&*QKsKMwiH z0|BfVdgB|TpEl-$JjJ&#mNw<>pk}w4m(rHJeH(4bJ4trRYQly&dJO#^12==L*?U@J z`QfbLx6-wv_O|ZbMWcMTI1au7-(j#5XAk!&t*QIt%urBLjbL7#*B%0CcV2s#{rwn! z|MU5u!a(nH(OhFkH0MGnLipwf(wA}EMm%prppWd^XikTaiEulD8=(&2euPa3yAh5d ze2*YG70nGsxDg>4VG4o^VFkikgvSuJAnZpF5IPY0eHYDLfnY<(K$wm&2Vn`qDunwH zVo~;HeD6XyjL?Q~8bNY8noB^q0>Oe%gs=qR5rl0BdlA|Y4t*2NjXi@lAk0Bngs>9f zHwe!oyoqoW;T%Fd+O0rnLY`+49zs}&Z~@_I)cFOzk0SnSgmVaSXQR2R5t0##5Edb< zLU;(_d4z2U`w+fBxPWlk_rMQADncH@9E24JPawR3a2TNjVIcZKhHxvw6a*K-5`>2k zo4tgs%|d0Q(}qb{YEgIs_F$PoEzetMchR#m+%Ew+Zdo0GMR5Yqg~^ceT5? zQZ~;yuiCX(R$N(GT~h3>sIID&6}z0Ws%p2a%;j{J%II?=_8>UQmu1hIoO7Ej)1ERh zSC)}dV3(!Z?UQ8b_B?x9o;_VQVUjE_!!AqDnNVQQ3Fbt;o<4;sIg=(#8sAftSmTZV zoevX}-cY(k0V3LOa5KgiQ#t))X!oVJ1Qi z($pcWMc6>$1k$x39iE#I_9L_-97Bk|EScjF6bLeeWCRDo{v#;=1C;k+3dj95g*%3j zjNcA=hfsr1hp^!bl%12z-TYEYD6Bn>G!gK|{{^uBt!H?Tee&zTyLMj+`l}XLqrc*( z2DoTP+y7O(QNOs*D+?H9g!?5>4f~>TNG@+=?3Xw$C3sE`{HCwe;yWs8Gb?7v3MyP~ z55{M%yV_Me+bK(TE~qGRa^q2c6><>G&P96hcN(bB1sb0hQBwG^r+Ntvc{oXzr=Lns z@sKk)T&&7y`dWpiR4m}%I|lNr%8RQ?E5VZ{R~1xOdgeJNS5;P2IY-~nkLw|>tSlG_ z;3DJG%AF;13!JWsvc;6OOWb&;TP!-gqIRx*k=t42uI*kv(m0A;?h4|T6ROIpe=6R- zh*i_2p4^`(qkDW$We|uHY71Qz?&4XM3=0>vCEZoAz&YMoJek1oI~*TqS!CUWy9g5K(q@92jkZaid9$1@*09LDh|gsxAMdFs6`S29 ze{M-_MOH;sMNPHKomO4tc2!r7E-!UeTCXh~D=TqVmQe^(*QW_*}pBj1#ENlRtXOiron+#*(j2W2=RGb~07JpDWK)Te2;E9YU*kri;mq_|M!>A8WH+) zb?8ZaAbfO}z3Cl1ss%p(JA7aQIK4PqIq*&M1g!^xD~U|-Qa782XtkMze`%ZpvDI7| zW{*n5(kBx+X|_ti9OFh@7J>(}pd0g;o0aN8{KcQ{I6)u%FY&^zu=N1fzjY2EF(W+B z6#%m?;LQWfRRZ7XkU2#Bh0{2IVMVtHD6s;Ab3WgM*-s%FdB z0Z#0JXR)iKoPa5-cCqqid1_^j^vS`3E|t%X`iotqvdZe}xt<#2_5dDeil{8K z!QphFzZ7DqHP08>xx z7{}^IDTI=7>61s--e9IeYpQA4R#99@FKb2QUOKjv;lDyd89+N#PtBzs6RF_R@a9)lRu`92jvoP(h$Zm3 z5#R9%(EAKY<~V%Ih9yJB7oXP-jd*_&`jT&;lfm~f#J3~N9G=W2Ul&eKMQRXc;((wG zVM7kq3QnvU{!MzG{WDWT>zhq#=%!?V8=qr3!1h0^XQKKyXan_M54<4!+uKj|1oU#j z_RqW_ncFlP_(wm*-FT=wOt`OKHOgOuh^z(5^T1%2nf>`_|{XpwWC)0iYGPuP$ zY33#xq<*YsR79oxlKRDRf|QYma^?Y^pnUc7aX{^GbN_ldUEzT{A^fBMnZ=~RAY?xu zt`ty6X$Y==y}UF)Qw?hSB{-&i8KP9G{g>nmQ>K{n*B_rh#@`~jT6ccd(`Y7rPvq`X zcvSyXo4fB@5tmrZxD?5Nv@=wTeN}-&2_@;Fs&6C9O zf^@K$JbmX4%`JWvhIi8%QRXd+j47ehV+y{iC4Od&K} zlwO7zlICt&7246S9*$&_;F_Lg;gav_DwqDd^!}0iwecRv>a;ieGxuwo${|N19HX%2 zVtBa64-s6tk?~Z)lv>?1rf-jLy2^tz1&n>)kyrYLWSvBfKkkvrON7#VS zju1Z|?+`Y*fP-4ZA#iw(N0^DQ0de~gl0g^2bsoW!2zcl_KJZOyQxZWQg?<3o z5&Wko`Tm#9qcgxAXulLcnQPaGt443E+x}Ye_lLScBh5N-?ZOIk_xR5 zDk=LfnD2kQrpURT%Kh=w)EAT4=&Op5Lqti7;2X!rV;aVd3;#qpN7TayWo@d1Y1!~y zSW%UhZlC9&cY#kd?Z426bldb9Eq-y{z;_fEOc8i-iLYe5#|#E4Bl!$wSqLK$ZbTS^ zKs-FQ!J4Axzf44aW8#94t8eJYo11_h&@CZykl_O>IQ;HZmeKf$4Rsw*6{PfP7T z2N>3F49DRoXF(us%xrvDf$r#g9_F%Ie3!5}kG@OT>=westKl-JT%xPwa==*u_%`wp_M@Yh4!EVPJZ4O(GU<2wj<@LTrI z#pTKN0B;D%2$ar&??@UV9ub*F@h;Nt?V5&Uzy;V`s&-)?`+dYC%tY8k;V)g&CL?Y4 zG#mbUahfc9`h*nN3g@QfOmO5)CU$gDKG{g4vN% ziCdFh5Xn=ELt3q$lG`rMNhK5C_kf}zWi)y}32zpm4*C?azrSwzB1a8tOGS-AEox1} z+TI?~Dw-4MO*jSF5CvDg0|48&37K{RF?GVEl$_f@Pk6qW%^n<=my?n<5x=u0r`wgc zsMK1O_^j&otk$95Y_Js`AMPtEQ-&}#t+Kibo1W9?8Af&`c$k{&tgVHuB#XDh9&WLW zo0{h;E}1Js-N6xy{FsbjlSfIpyy_B4S>eRsod&;Q(Buxhn>!qbQ2^3Ff{;4+%;?53g`S2f#0Evj8yi|5(3H_fha zmwRRv1?TXhl*-Di>QYaov$lxr`DjbGhkZY_>gJl#St#@W>SyDsR4y_kZ{@fbN4%9D z`R=ElNnnUYpneM4wvY@#{Dk<$Pvxih7j|AzwfBfEwQ<%PM+c|LcOSpv)cS{)|1j>w zl9ybu3on<>?wDD zyoX>~>*N$MlV_EsJ6+B)1X!pAisw>e9M#N5Z<2G7+flvH>6+lG;rQmCSNr8g6XM5p@C(h6~xplo}EU2woSVIt%aSKJb1Ffod;ebX7O?dU}A1I-se}lA)?EC~LDR%vwbWBM zxgl2sHb9{lY5SOyw(Y-`vYMKP*#)@sbht4^6!iz9ZR%5*M)V(HLRaS0NYc+hQ&)19>?u8JC_ALt*5PrpQbd?0?j ztJ+i3Ljgkq@snZw>FObVHydw^lu}BdCSF46fu>8rvp5icDR}M(#9s=YI|K2Tf@g0S zo*tlG-D^g8ka2@UJxqPC#IMOU&MJCN;p~gBxFq{tr=z;MvJeZ;yyDr=CfFB^!^!K& zch6CcDOI%Cz>A~MjsSO#c$>^ca+e9N`RLD# zl+2q;Y2{3v8kSl%F^7$Rp8InRn?x_ zakZtPxmro{eYd7_oUPl~ zuC)sLIzfFu?J}0JeUVI-hHUf1e;Qcip&hVny8?NG=UT;`TiOpQM`>>C_?lpceoMew zopy%k#IFZh>F(!vZ)Q6PvyqmAwO?GQ%o^-!R$*sh6256?fIg!AVfYNN3~kTH``ft@ z$QOj2_QA;_f$YL+087{&xx4+@kK2=B$m27blSGtVfU?PsFkGevZ6bW!%=JRLOvKLy z#B{!itWFj)C}uOP5a$?=9fV9)t_eHDk?Hf0k}PuxPh__^7q!r*dz4b5+3}p>kCWCUO706um|JJCXSBZhc32#xneL&C?xAK^&zc zeH5Ul_64C0QyTfrAet31QHAzbB4uR%VP`r>+*I}djSrOc^?>AZ)dbZ{)kCUXsza*p zRF|vu>MZqa^+EOL>QS1>no>=j=C_)ynr}6|wF%lsw13ckq5V!9qZ_L;>#}swdX>Ih zzg6F=Pc_UlEHI2PUSn)F%`o3-zTfNhL`Y zNehzhN;;lI8$@dXLqCO2`I2&>>Q&YK>POWttKU|iSAV5Br|GNB*3Q!2ubr=3uDeh7 zSKU{-vpR$RCWFP0W4Og=G?p7*HXbm3VH{z)(sYAKVKSR0n6gc^riV;#nOaOoOkbLY zny)t-&4uO}=2~-|d4u^i^PA=)=5ywoECrU;mKQ94w*1}FYB_0{V7)#GfM7r*<10pS znc^+wC(0**m2Xvj)Fae4sx9gX>c`Z3)Yoc$uen+~U;DK2AWCmCA2Xje-)yy8&S;uy$~Vt7FS6C!j@rJmeUS875*c9RA)R0GzM_}Pu6jVV zMfHWMRn@M#Mty@?tzM^oU!AR8rMp-6hVCB2lZIV}PmL2y_nOX|=9@n;UvIhB(q?J2 zerdhIR%siXv?}Sfq%%oi#H>GMiXz25iegobs!_E=by9VuI#sAy_PrW2+MreWrrfwe_uzq#4`g?X4o zZ+X~qyY&w1-L`vd>ugWj{$Sf;+iCl=?Xc~*t=0C8Eed^lA_4YTl633zto@6_cjbSTyM}B?l&wkK5X1;=IU5Capx5|s%ff48n0%a_D=0P+P`R@ zH@$2sGMAf6EY+5g)*GzXC8?6WNg@K<1Y8eR+^Sfkd`|hEvX@GuN>MFT{a$rIB~=%z z*Q&Rv|7hCH+Pwwz(QJMXZ9Zv^vm{!swx}$2i_l*80*4M4OK=p^MpIiT7J!6fw^|uYSU1@vWw%c|P6d>3- zFba%G=}B2hGm?Bs_a!}=^v9&;qytGGC4HH6GKt#&GXuaIrHEIIRhSi7ip2_E@w(z& z#TSZ`iXRlcmBW?SD|O0DHOwbyGiwNth8w9jA!zpnj2`?ds;hKca=_|o1mMbo29GLEz&jW9@aJM z4(LA8eW^RCi_*vIztDH;Qw#-$A;z)BDx=pp&~%OIZu29cd8y@)<%Gq8wgXrocs0Jh zRjyF2RXwcQsQRPopz0VX`jo0ub+uZdHmlRslhrPDotjtQr~WVX4)uQZN9yD1f2!j& zBQ-Z^Zqv-wJfiuX=1-u^A2b8B7VSjsH0^5b!`k0#Kh%B+SmSgfF`^1}voWgf);*wm zTKAf+MfU+9J)`Tbzh1A`kJG=T2M|rLMZwqAhMPb&DTZ3ZYD1ZEfzfAt&bZb1Ph%(A zFczF5%XGKt0n^i_9i|xbAajAG%(B?>UzR^w-n8_#UTH11F0h`qrrS`^e(~I*LTOf} zD<>kIAdSqVB<)m+<3hy z*)-8K-CSi}ZvN2xCHicI&1YL{d(8Hn?Pc4WpvU)ZpW42#{lj*F+9``-aDAb=Nj+7Y zs~d^2xW#zDlx+UYyu@6(G&l^C%{wgbTLxOM z$Ef>_&6xBmM$!@R!YJm;>Pp2e3Y+3Z)c|dYE=NDsRBV3RG6?+Zq%9x3DvI^dOB#v( z8vU#K(|W7n2IC=PhY>*3iTUTL<;FF}KN{aR{>^y7xX|=>(_r&m=Dp?yqWQH^G<|V> z)T7mBG$N+yd$dQi$Fzd>ERLP1bS7OcW{%(L{-oQX+oL<8JEa?^&(fFb>-A57 zH*VIyso$;Nr$4O!ULObgZZ`bgU^mtopD_N}7-zc4ben0Wsmk=2>1|Ul^CWW#`meX; zM$lD-WsG&dwcR?{rm#)2EwZh#ZM3~=`^5HI(%aNmo1(Z_2-lM!^{;rs!oUSZY z&QaDV7buq~S122m_bBfJ?Qc*%t$YEq^%muu%3aELl>3z*C_h$yt`wACD^DrES8}S} zsyNkPRif$&m0WeBN}Jilws%KSy zP;FMdp=we!tM-C>99A7w9anvYIq|gWoGMx!s~)IMP~W1~s?*e3O@YR(d0RV5mjSNz zqHe5S2WnlUU#0)O{vCaXexYHxVT>`^_<->Z<38h1lg?CNnr>QX`km4}4&gd9!(odAE50AXsd<%$j7avRZ7(wsc#DEz{<(<=Lj#ifl6>GnHe0ud%sp zPcc3e#cYZ46dM&a%14ynD2J%3Fvq{8+NeIIehNI`G~|-owI1z$-G{mX;D&;Jm%(iu zZo1yI+_c|x$aL8Bv1y<=$J}CBZ!Na@QEKlb4d$UaN!+n0npU}UihGm?ln&J_)lyZV zdN5?ZIiSybv~Oy6Y4>TBx=Qf8=XE=Ee*xDWtGDSh^*;Sx{ZW0Jex+fsQEgm-(Xt3K z(I;jn=F4v_-&^jpt+zdbQL)kXtnCHcCfjDn4clx@wwR>CBoAc3yOY)?eE^;)^0V(0 zgFtEPlus%Df>}C4RfrZYS3L+hrjNQsH%fms`1~#U3VpTStzV*lz|dlR#%#ma0)rnCzPM;M{<4$>$_bcz3e_{!6E)eGX=Z8efK=P4xmVM!?Z9~JtGhxc zheWHzeDY_s?I`BHGrCS)tlp$g)@SIm^$Q`BH0bZqf2jXN|9Ab@`e;L}A>J^;@RH$m zg9&t&VazsG7^{s7F$z;m<4u!IQ%wIfeFu51w|SIVW|o8E#+nu8K9+x4vaKtv>#R?K zmvZRw2O$#-Ou8aToy5gQa~lEmAdM1G&IfcaY7S^lY6fYQkb>uH@72DjJ)k`aKBxpA zoDbRXE!{dm)M$)04aaDI$Sgo&8EhGDxyfR(9JUMtE#-icrh|^=fQlB_me^L<8X>>k zXL|@e@-+J6CG^Id;8^cKGXDU4>vKpaU)xUEzPE8ny_4dS1}7x~HhI$Sr1z+oI8FvX zt@xS;ndBbuiE*mmsyC|lsrzUKYj$axwR<619MgWKJ*EAVu2i36*k(vDs*HD-o-^+^ zKLm;Cv~`#*&9>aeDWcgJ8?LxqalJwbDaWpuuY6HCQ_~-k;ao@|@9KWgsq|CyAL%~> zzR&2#7*vq@lOcy(X&h}VG0rg_Hwwl!W4rMbIQBUsXOfr}0Smp&aps}sE6hvh(ftOm^P8P;4-!5^&uv~I^(_?U3(h-Mb= z$qJ9+Q$?)Op{!NDf^qP<@=N6fz(M`R$G12gGou;=&TA#HZv>vmzT2EO!t^I5o zTdFO~R$waz9`DEa{v%rv?1OaMJ84kTWl7h9n=XTN`@5ufX{E<;P})$P62%boca`F9 z#lwm>6h|P{UQqObL|dwS9y7`*r4*RHQhl%bg!)_c5X~nVwKhxJsNJG{53A0hSTStV zEzqyiKc)Yj{&oEt!^4Kx4BHK#VE((+m}h+a|FQSpfl*ak-|$QtlL8Y;AoLLfMCzoF zHUVZx0%u?%p-H485JHb+BB3Y=Nr3S%bQKi^uc)A0L`90CBm_u+(2?E*l@o#*Kp_;J z_qX;rXIg^jectFsgF#I`My`uoAGtAdbL5uD?U6ep z3&9bk@U)J);Pz%@W#n&>Rq$;UUA$nIH|wJ55&}!0LliZbj@<%U+8J9IyC=3ZwhWfn$=EZo7h1}CdVn3;{0LEQ7ELLHYzeI zCMrHkAC(9#Yl=#V8VEmOSk$Pfu~F&J1ldt@qH?10;WI3XS_#lqP?P3(E;!>8bk+2H;dLp zheU@)cZk+TM@Gj)$3yleLi(DbQ=$h#5)6wT1q&!WdUA9IH2s|D99TmOqZdUljb0hO zDtdMF+URxB>!UYDZ-#xe9d>tN^d4AAWzk2YPr_2V5Pc1rtlP4K&j!wU;~W}Plpwh z5pISZG$%XIX=o zo3M<23$KE0q=@i>brcX02>U2FqFIC{A_O*R2Y6kP5iy8c=;3>D5vGWgh=CEQ5yPMd z$3~<_OpeHiFh^uZ%z;mqAF(iE5&Ynl5o;mO*F&~!j@S}W2(BrOD1)bV;csz|{=ddC z3&G7x<5tG4id!AGHf~+q`nZj8o8z{`ZI9a-R~WYkzPo7MT#5T3PKdi1R|zYxD$Yx% zf;I@$HP8jywQ!^^Mi;Ns!z$x+CS8hdpe|K6OgBn5S(l+RBi`X^tF3~kyH>YOx882G z?Syr6Qg=po0db!npmA^NDs{iYHBLsxCrNa&Dw=nzxal&%B2ro!$??>f0_Mptv!oUZv@ z7j|9Lb!petUDtM92bsOGYiZXq*!?FFk+=Z)eG?wQZ(XapK7#$>)h)1FgKojynsw83 z3+WcxE#Acnb+$mW-RwB<%x2_q;gX^qs7*!8X^*y4Tc*W}LY&8ri$d$ARcQmX!P;h8 zjW$FZifD#b8>x-a#%uN3vD$R)WNn7ltj*TW(dKCLwd<*FCC+rmMF}0zMB5T|I@8<# z|KEQB1F5u0%meyyUei84zU}67^Y7JG*78_8uW3A9#ds){Vg6cQAMf^cJUyCtE41l8 ze(imfUdnmV9!jsZLonwNPH)uO)}BhmTFt*&eRsDd$$j=%#eX1s5bjG-_ z2HJY`x>kMv#H{HrjGp?^gvpb~g{jdR-ul(|8JIqLhIw3Ab8S<4;a|Uj_(GE~4kxvx zQIZX^sKQ!mo6~2{`VFPe1Ce5be5WZ`Qys5KFlbvesvQP%Ej$eLj(=5k;CtwE+kh}A%-vCSWqme@}Mw2jYIu@SA?zGxYVs~xrpQ%GSKThm%z_{sj z5O^lK)^ybL3fIn4wsJ<0(p%v91U7b>fJZ!N0rNs%#)(KnQyNVxO**3e_T-NIJmX!*Rd&xiV+OjP%WYVFL zNxEZ+hZE{$Hk!vz*wX&sn=Lj@Z`vmL#g?CiU3}PYw8wxCKmOg=!8<$YgU*)2*WbMU z=c22FyLa8U{6g=l*%3d?^m|yDwa~EIw%4=Yn;)N^yk^CO1>>H{E7(1%!Jg9nx(4S8 zb1PfcHeXua>XQTa9-8O0{pnusrgJ|kez)VMS8sgy)5mQazC8Ngsu%0-yqfY}pC5-m z__5AM9oBq2PIKbS>q6`g=Iz2yU_{8k7Nry)Dd}Ux!{W*JQ-r8UE zq6a8d`F`#LZSFlbmCfsTHS}sQ@~z*e4l64&zjgBB%fEI%f76uH>7q8=M+Kty_O7K= zdbNQNYb8HxmGc{>o6Q+&FF`&(y!r`t_+LCD9Y}o>DC~+_-pl zaQEgjj0@T|^cnGC%*0mp-tX5q@0G3Ed0wI5_&|~4{k=%yDLX&=eV1Wwz-k9Ou}_aA zd6a(j1A9%L_QL4N115~0s+syy$IQ`Tfeb@nRjYX8yb1E!-WPBT@ zjSPzr85evT7VGq=?f17kZmVrAcGJSC8_KpK;6y3$_gMAwz74JietWvj^iQJR_;tXp z9{D3ukG&fDD52-HS3(n0{IiBDPRIKtzN?wI?p{*w=uz)a?OyM}lm}aT7EgSCdqCSz zkHMkGQtpk89kjjp`_}XO$M5oPe)@~Is@@6-Gk*844OdSr`=ncZ=C603xmDWbsCM?; zXP1BAvt+^5!@n1eN!u7apy{F54$Rzxt2zQwO%_Tio+HaBTbr^R*9D1JCAl(Jfx|bU@bDOY?ib+oYRciZN#O z@%2l0t$I+psD0bIue5u3_|k?=F)La<`0(b#VWVFvPCQi>@Ji%ZRC@;BY- z%z-WMIJ2rdwUaD&=QEPbB0H<5p4qzk)m=Y#J6&uZUY65xedm-}+FtZon3g$#5^Op{^`W7bULCaUw4rO; ztPPpp%88$y>P;PI?mQi|_c$K*)V8FSp7sjXHq2=-YIa(aq}p#Bu%vW;+3Qf`dfTHv z`nXX)B)L-2YS`Y3U4Qe>ICJgy>w6dbD!=~h^{8P(YW=%peWI~n>sgy>uWPJZzWT_H z9&NtXO@8Bg$>F+F(wCjHPPsK8d0@<<(RWJcy)@z5+;IP};>r8p)%c}$uH^oFg{$@P z>4emknFGDTHe}b)b*9q-*j$QeD(Jw0ZT7T`k?gN^by0SRAnFk*7#bBplsE$ zhmob<=Kp)=m3kHp=$B_V4vuU+=i?l^oB$3-1+88qzc9P>06+nT*vxb~G*= zHGTcM#{DxAMw~m<({poroseI9-}P@D@@oiW#ru#Iyks5JIr3Xf>7Tp0O!Yc5aaGeM zDQ+nHuj^Y;-)qBSn7WtseR!;_?_Y3|8&B5vM3Bt9X#XUAPr?LezC!0mK2hiYYm9$v z;`Xnf{wUG-bsgJ#m81Oztk}Hj{J%S>d+(iUn;$=5kUHqFSNHaRYa|~Xw@)Zqb0&SuVtwCV3SxHD-TUpV`kYjLR0 z_ZP=}*T@n+bn}Qehpc}mG^I|XUtT{yT9?$X`H_0h`7iJF=#x!%)4KNBm@)nO^6MiH z1@73BH+E&?Z(8SkFC1_6!O^cgX1zCK#n5rZzce!MG|X>zL1kLBe9^Lw@6JeUnSN@$ zdB*uVL&N#!_=s=Ljwv<16SsHojR^nax88618~^RuF9!3vOI{z%YV~=@rcNapd%t}) zuZ`-V|2G@@zNz{?Fm(FIheSa#PdONv8lVjzreiAF1Ia-R>8UlT(Z5iywQ{tXvg(B~ zFkU-O+fIIlG0;Nde{*I>W)IBBL>{VW%`u}O+FsUUetSpR(Gx~@ax2=|oSE5i%;=8e z!#j-`Hyv_{Nt!O&2yNKf&TBh5*CylPFKWYV_`4QCxRW8&bKivb>-28W;ycs1{$m<- z9}%^)_D?Qiszyu6)gotNDqFW@Sv!TPa>)zY=G|>eXIrm% zOYhn2;^AvE4?dOdb8c(+mMOb_>(FLQ#1F=?Q)>TIJig97?{!@!&#^SzSN{3s&&w}r z_PwY+^qTp?)?t^viEf#Y{ZsarheEwH?|*!&&z^$A9XzApwoYBqCA&g_j7e*0tf)_{iXZ_OR*+x6|CR~sIvpF2g-DW>-NXO?vM z{`234Y*2n0w7NrQW7G4kzApYVdu6}k`Jc^OIJ~m!mVWQejA-9!_Kpi0-}*0BOl&;# zi12}Sa0iRA`;H@X_wVY~Dt*j=x4xNR-nh4U{M_YNigz|U8~JLS>e%tmOQ&}A?Qp(P{o>}!xj%%0 z`}3k&{rTpgZLcN59KI#sM#EVDld~4~N|-j+HnN`W#naQDKKD_}Ht%eV*w*B$y!6bL zA1zbujF>TC{JU=}p1u6e+r^bX&-~_tU*ZCLwlw%%9Q4aR)pMt3ymV^!_0m39-)!Ao zmO(r)wZPSQhjcL!qiej9vnGQVTZ1`HWK<1_Jp+EPQN5Q!xSmfZQWK!Y%xg&>Yze%5--kCfU%K0fxqxZ6=< zkRdejEkyP*A1 z->VykoqpJ$QnRt%&p$1m_S(X!-*F)&G+mlD~3 zrstcHi<`g4{rp|ekN$P!@Kf0@?JH}vzhii|H8r(U^2E%e8CPG3_x)9Ws(+5R@yo>R zrk~clKdDc%`}OpVm&f+$f8yG-hmVTiJzKUeVfpr9=~o+`X%#!>Ph&x?A3m!W_rd4O zPxrlkd(+PG7mc;nf4gqEcBy&NJDS<^?-*~?uc%z#=HropA^Wqp|O3=Xtk*+^QqWEx*yv1hr-Hr*`i0YOa&; zfMHW#TNhM?sEgm=(V27tycy9F$p@()0@`A?_cZt>MIX#@p-K$-QZf@YPWgEYjwT8sT_0c>iD!H%`P5k%C-N+YFYf& zr_bb!`=q?2W4(i)G&5z?datXW_E3lJ|ZzaQkFS+1vNy5B&It<@b8=%d=lUb-_G! zMdIjV){>r|XVsZ6G=BBFDU-j;Zur{2%1ixXDsG3=@0&SrMg4-fraN0ie#v_;+A)Lw z?0iejvQK;mOkH|-cC>j%Mz3Y9`i*HgbJJ&=3~f}UjoTmV`7w8DY`fEWk+u%)iY7Ns z=v}Me`iVJrpGyDr#_j%V=B`+JMDp7XYI92&Q9!WyAsXx>IbHrFebg*!F<+~u2WE_U zYdv9wIk9w&4w19R^uj~Gr-sf=m|FLo@4%EvzaM}7#ar)c2T_A9y`I&Yw7u7IYkSU5 zbdqgTWSV0>UB;vdogvOTL$i&|!Vf2Owv!xr>x|%t(3r?`mlTNWjI263&O9-9--ic= zdTw3TTj=x6ukGLKQTgkZ5B_~9!gAC9wStW=q|{Y?oO*o7+PuIYKa7}ld&up*e`e3A zT%C8hvESLu*A*R4bvRVs;AHc6gzoW8Ub?sR*@wz5ev?v5KYh5h=Gr@B`(9jduYJ1FGx*8}m**a&dA)^&SRA&?U%bdmzY;% zUwg)5$dH7qsfXtrdF#OOD2wju$a8JHpDjIky~DCPjo#S%?Js=&x=%m-Oy382M^o;8 z_29d%Uo`6ao6WQL`>ikhlr{R;gD$E`r`jeSP2Xlsx>8Zlq4d4sqZ7>y>pY*j>G+qw ze6aJ>=~@%FK9l{&8{@}cwDxVZvhVSq13rBtB)a%tt8>py`aWUn;Mt~|yJpsJe0`0O zSl%ml+lY)7%c{B_o89(z|BUAnIPZ%aI)5@hu(^M|YfX-tre<9_mGp(bdEtT;!=CGH z@ObOqrfqMY**bUOgSxkq=KOZL>9WFRx7I#9sq!;4Y0&QQZxxZ;)U*Zfe%EJK?A)*G zbd4E(By+IO5A}Q|ot-p5btofvcgMbO^jx-cLuJ@JFEy+@e-EWnJN~~AAM&WlXmrHn z*Jfw~onr6-VWjRG+e72No?!t_pS>V=9U*-GusU#q9M3`8ryUi&!VnPsvW~UGkY2;P zec5oqTf5qge&$-?_r=Z{0C8onc}j))>=)1bT>hk4yFJ?FUw*mO*KlQg$=O`xd&c6} zhOM@@JNHv*(1sOk9(epbBNlz#HZt3!spmpS(4;WJO2Pb&!M z=WkuIGH8Fm(%Ku6*7WJqxWhM}Zcqz~Pp&Q7w*H3~lMb91Fu!(oeUGtwUcLKH?#`e) zXU;B|y8Ozg$>}qeejTT5+2+iWHseQqIee-|%Rl|o?%aD;xb)I^L;jz->!ntoqLUMU zoja>lLCKKfN2AK0`8ca;li${NO5WaO8&dFZVNvO}`P)2wN*-;{4-Z*qdHvd!R#ne@ zwP^dsiQ}g3fPD)#)eVZ*7GzrQiu@MYVUzjE7to^-VNh#}R;;j-e{9b;aqIGcWKWoho3kJm@NQc!}-y+uXT{boVaEi zon72`u{vW)Sv!66&pPMS>-aQ$hdN(>c=WxCeftG3oOJDyziIE~ukO4Qx_Fj<=U{Eo zjenicPrjsizhKj{O^a5HFtqJzwbu8&zxB)B<1}w1{dBR`h6bB#n%H}3U2gxLJYoK= z0VntT(DI$w*sqm+*6dCHampgg`3)hpf9?5Qtzl|ai+j6s&8;ubJNE9&j{>@v%}ZQ$ z{XIqUkfqoWg*+GhXR|33+nMd8VEYQB+s9rg_o7bAuj(ka_#S#{yV7*%se$PeGBxCP zO&>i)GiLNu`W5CE#%ZQ!P1Q`8s!8lSKtpF?b*f$4FGOm!Z)UAY{`Drr$p3jvd=%q{ zXOD?DVpQzbq|4cPa@~7`ZFfsBDCdS%K_ckJKFT9Tzw<}$smP}G9`mmg4x*qur@@_3h(OljO2pvwPlN4dou*^=>S*k=e*+)T zCQFE;BowEAdTg=lBo?ETX5^LQJE5tpTDejjH^$myW5ie$y;1IPwQ^jig#H8ZMMR?> zfKhwFt^n$(-vI+D9b2KHKPghVCe_N78lN??_FkdG3%o*cMuoyT_)dqBcB))f6z0$sm1b^UJQ_b20oo)+qs`E0!EZ60ZcSY=kAF|Wvj%iHZ?w3TMvh$t*pZ}T(c zmD;uwouGuTLEWPeko-^UbCx+FDvrM&QOM=(x24_wl;i2ey^+N>-doQk_Iyk$NRTF8-_W`*O#3 zet)^IGX~3>IzN?_al9dr1B~_6EprHg9AC=udU}=h8^;$F<9l%R@AOLgZmCPfWN^wj z%P(O+xC`an9EISSL?K89E8YJ6ljOo(c-puVEhcggWZ$ z2Z&&t-9aK*_@)k0bS<7VB2C18v{b^RCuiYQ7A}ypa=`{`iqaPJGQ<K?uQ--eu5Jvx)`mg?F{Y7$pxA`sDuYS`(U1eo%pUWZ& zW0mT693{m0DI&BK>^Ilp@(P1FU8&hySWz1@;WAYs{;b|F_ViSg7-+Kvrb_8TT^Ntm zyC1&egE;OI4;;)`=#VPz&l3Kv-c6|%e-;(*?pC7z69MSI`V70%ul0Fw_iZpZS8(3! z%kloUpy%6rD)L@YDa;zjyJWlz2N;Zy?NprCU9qp1msBv8RSrSH%@~wxK}SPg_>O`? zBm?h=(1Bg$(x~am9%c6NO-f?pb3$B+ftds%;qUP$!cSnl+y-<{q%P7v5j9CN*TDs#rB-E>6NN(isG=C_}KM*;b zvlxH`Qf$Y~tvLRG;6u$bu@9m)*W)a+F^|MlB3-$XkUW*_D(M%ZOmE?`3eC96tlh9S zo&UK%Ll|4VuN!CvlrRajoTVS;20FFG5XwvuOW?wOK!L16WqE0>{W+@yI5{w_C_1&G z=uCA2W5+14ZTU~NWP)?d7y6w>P4H)d7LubzsU2&A)J`DU(cdj$M14@$jW&qo9eAN} zal9mGr9nFJ7nA5v;WOKyml9@5JNRD431$Tf;WfKLsG)xBU)ASepEzqcPS-DRx+iQT zd;o5|jyiuNc)>rC>0$LA496kDCenmmFwP9L_Kgv?_z*>i@~}AxL+fCrlR1#BvSbI^ zf?jHip;`NAfXh4G(bjPgk$P()2**-)p&?X4SIok?oMk2`4id})EL*_gGMxg-BEcu` zii}0z6FN|9hnk*weX#R0uXlVV{997Am3c;$ij}eBk6wA)HK;VCm056Rc#x%E$H?nd+!)TQvWG2E3AT21c7QP_{^TW_ z^cgQkip&g`jY99IJrz4Nn4Mjummy;Beb1E?LH61>wY~^;qj18LYB5W;OT_U+Yp+J? zmWd=#{ozTdIIEYM%PUdA`{68!epOl5Io{J`$*DqXxC7;bdE9xOCe%(}AS&Tg>VxkS z$VjUEJv;#)4{YXXb^{+0G!{k3Kq6T`3@XL?JVtV!^tgWwR%?S+M5eVkYd|H(ld4j3 zmcCF9=gt0%dTl}VSP5zg8j3^L+L3o0G$+Dm;&&5Q^T&2z$gqX$usSvAcXxWOx&Gm& z2&$Uuv+`QfEz})w83OU07!qpb5=~Y->`M%3t4t%ST&bk@wxD_TwzO~^#QH#lVY^M) z5}lky4ULDe<+xJnkxDuKxx>rxdjVA;R3nlJ+Xlx?r@*)gSpsSgt`2>D7(wKWAK zTSZ#4zk$auzFCt3KuiIa-oN3|%hJ0F7nP;=BLknLV3@b`z?UR1OAmZWQdxSiFV$Y! zf~IN+zo0owOVL1yAr-9N*3*OYtTd>RHSMJn)Qd)fzD@kbkhKIizcXYNyKV_t%C0m$ z8HQoQhk|bLf9bXJJNe#$PMP0wZ|1Nz?sFKw);=BLT!hMq5MDvJhvUyML;wo|coe2- zj+fAY=SZLdml&Xdha!;Cfcr?G0hbt{fxZ9@t}kst<69CMi0XBW11*@mkzmBt;s|s1 z5RgvJFUH|we~cvX{@VVK><3$l297+6LJ`zOuXc=Zd@gPIvy&W?M`VJ6mLyAc6qtEO z2p|!T*g&M9ZEZa~MVx2Up9Y|L?=QR1NCt*zcGSfu&f zjzRO*CE0);wz%-c1IR+lnx%NeWi4Gw7Ockw|3|q6o7sm2t8gKZt={1RkY`y?MenWN zKj1eRSY!f~kFug`u85a2?6RPeU3Lk$2n+ti;fyTm0Hj(Lz-)rd8A6k3T@s9kk_8B= zut;Iaf(E$T?vF~xRd5=tYdAdbAVM};hN_Gu34v%(VYDU$8!et9U`CiuMoYpdKs5qT zp3T$X3lQKn z4N4f%h~5ng$>8|OA=$(;Iq02C_Pjl#7@;wH$v*WO!0>7`#>Jl{ACas^3yn77xGm^~ z=6Ij?HMOfSKZW>1Gd$~H+2FAr$Mf`oA;}grm_Au~8oDss3msa&CNxFdysUesp>07|#5Xkc z^rkLn&D%`(Ebh>h8s_<>(#Lo*z{X^Iah~@PZ-Y15OND@88;&p3+aBgc%MP{)9Bv%wVwKN8M#l5BR@z}1!qZi%*xe?vRUuo zUy}5`Xz)3v6hcLv%fGb{NTXP!ChrIg-rFYrd(x@1MWH)6B!w9zw#3GO8Df|$6z2yJ zgmrRb6^5Tg!*9>=$@1{O6Uu*K!*9ryB*8dCH<134|9yyXutE!PjMhaV3>W9`fiFRA zDIC9;0p(;h0V2KJKW81rI-ISt9m#6PtPGR{zE23*VuwK-xJB&HQ|j*^^~X#DjFiNi zVb};KI;?X)t4RyaSX)zRi(gNgQ1ijms2z-#5vnKCyQzqvRNLp10dq7lC zB`XsnpS%mr9h6l`axrO=y8!;>ftO2DOMF_)wytkW(ie74A0mP!tr-9Ebkt@Us1w%JGHYRN8Do z0cekEn-P5l9xw&oLe+f&e7J}m-5GNONN0|3Dy+qOlXdtTM&0?Wo7;g^Jgp8P^cwl0 z!A5?z#>ihA4%I9-^r>4z4bzrNO$~BxDx$Drt4!eVivy`;@|)o$lX=)rm1aR`*83?0 zh42K^p&!Rt45RR>6Mo7Dk9s_&!ZJ!(*e}E3O0y#9Vrb3X+`3W{>{#REL8^7X{2$Rlr`J95*)P z#5B!nXvhI?WU2Wce@B)jxvoGk`$+7cJOD99=`DOmZSdG7{m=}FbcEx( z3-joe?qOCX#)2_5b)F@ey6ygz7#{;IGJM=?{kQQ^BR=oJTBBM0oA?BD_VpR-^V`XL z>!TNT|4u{d17A!eXN^eC74+KLhZDjpY&QMfeNwb&B`eKhdkkwbJxcIdpXY!qy)Z>= zv`}vJjM(Vw>@`FoX1x6D4V%r5AgMmXb(PSm=IVp#wMZ@Y@TP5r-QJICgT$qZy zJ(64JfUgI36N}}=QerI%n>iCc>~~-;KO~3V!=co|Ce9|u64wk|HNsmrVBh8K;Y1VO zL7!55_O6q>`1KA=sf)ZQ_eTN8@TBpXtls|ZJQao=B+S2RhrTh?P=y9Chz_el_yP+N zK<`*$K@oJ6a$s8aVj+|bRK%hzUq&m9Y&>~82u(2L>?7kX^v1-)rmA6#2HSG_%tpEW zM_S);8ZQf7+5H!WUp;0O;^>^ZU^%K8cm!y8&%3)l)ddBt8L|5$J{7Jr7o0@vn-Co- zX4p9l4n*W)WLOd*fI|}r(-3YFAbeGY_bvtp?`g?KG_H?IMSnc*CW!GjtP0JpOA-X} z8(UB|ZVBt?0)XquU!@?Nc<+RJx^>JSFjot!j%*r%KA}HWJ?)ae_3dgiDK^CF+xc0` zLd;TV8Rj+xnk_HFr@{yC9atg7bm|wrh~X=DoB?VC>n&;*E`Omp21MW!>Z!0k*G{AZ z2u7I-^b5_PyvCfgyp< z8AzgLo3N^8t^F0nSozynR|~|Awf0p!+k#AZF!A2W>|IbDz?ID7>!Ogg1a?{ z7Qf=ScJV8`b-_QG*kdOvr%>m6gTc5w=n354XEw6rY+Gv|qmDrb=_ZK7l%$BewxCmL zf@NTc9x4X@e+Jnr@aRRaOZOlX;lF^Y3Xh2WwxIV}(KGZ3WG%wQ#d4}FxHnKJ`Sh7Q zTN8hWJX^f#$7&q31#xmOoUMe@J(&J>a=~47K}WD2IpP^6%h-@nK*WoH&x9ALNfAFJ zMf_|FiedE<0o~7NTAeS3M-Yo3>FUqv1O{KZ2%je_TuJZ^G1~URSCry|0N{EZ8YY|d z`kd|(MUe6KGxqj!#Rc*lniH!MuDRF*RhEy@wg&@Y#a?B_4%>oq*$u$q&^*F7^D-zr z2_KWeWvy)h{K@=YBYzU>i70D=SCDGrX>hp9z@W3@SvW?BHe$|X9EwIn2r6txu1q1Z zQMw!=F~K(?p2{|i98nAuwLlj}1hayg6D-!+-SBJ+3S@wtGQ!3Dx5)zq`lgtywO_zD z!)B!s4&57&W&9Z!#7~L+Z-b}m*8jTNV8!B!+z8u_LXeHoGB;Hi^$Rfzn{t@Mr9vV6 z6!63Iketvs#0Zz+3?%dW&<9Xuw2XvN3P(lwNRR%ipfH{j6#yV@0BGFxhArqh^qS0% zOfmAkQWmbpeA7dvf?q(N zO4wi0ca{Y#Fv<5pvHfO0c;L*vBj2u1iu)_8_Xb)YLZqAT6D*q%(gIfBpJ_rI#xRpF zuJ&_0Xwoi4FW;;tMaj#64JdgXG&0HGkXGa*`6|c9*nBe28@^5@$KL=tjCoZyv$qjS zqCVvSLHqL$C=rNqfM(jbJX_%OI#yG64DuQJ2M?4PZa}xCjMdtUVEnXuyjZ@ zk;Uu;t^?BQ`U56|)w>%lb`>0lZ|lCmBE>(kdLhz^J>TSMzz@mclp4e+oWp_-ttRM> z5^#DOXo1BeK?Q(93Gf=|O%{W=_(t@F1wA|R@LYlo=S1@M^;`QLYrf2F`Lt|16-S&! zDW*e|i9si&tyF5%y}aFi#EK)SB#3H1=qbb&YqoI3@w36BDAonPprVd(M-;-WF%g-w zC2~#TLfpcu!Mde-s|Q=tl!s!+4-4-~h~_NdS0|+ZgZ2LRSTIst?;li7MEswu_q*YD zx7+$V<_y-H#y&+R9xUdO46`p8vL?ic>Ba<`8_4+;CPZ}Qd^Z!8S1>kO!!zmh!C8Uo zmZ083d}q(*JH}Xjut}YSH@ksC)(00`*J*W|=);4Ah#g83?}4IDYlA6lZO{XXyWOXSfmq0N&*AUsD^DHL!_z;;!nsea8jtiPl$d&5r@mgYa zmSo2M!l$>pI*9xF$h1Z_z7u`NnvDwlZ7X)jMoGIJX`gISU%Y}J;bCGf-42PL~>-1p$$RT0jHI2fX8g&3Cw1 z_*0-^bOp=w`}fdK>x4M7X|)2{0~|H=}Zm@74>RDCDHA_5lr5%J*R7D!peISY z!lSi=`o0H1rKL6K0R}HyNJ68~m+Jf;WWr;5Vi2cM=SSj6xN%LXC~t>5Mn96hz~V=_ zHk+-+QoO7J3RmN*?s)Z`i^BI<~?BMe?1Q& z7r;p7|MQ4X_fkgem#lxzg0QP(pM&F(!DH8WWS=@KaF~H)j@s2&wf^1gQ*vjV>;Hdg z|6vP^obNg4GEK~XVE?(#kGs9a@pVmn4;Xue=C&~8n6cN$DW6uf=je6TZ)66;3S(xM zE=9EWAhASwpTgvQk6;LUyeR_S85*ni?_w@jqbC=7F!INY{24*;rqHJ+vvG_(r!rX} z&1%se1lS%%3$zWQhY|_=6MIT=2}u2?_7v@(fM0<=4+y(1q5;{G6M2N(4!bdnS2fDR z83BJ=9{xx8WBUKO!OZW5o`LE=kfh#v1rc8%zCIBZQ^PQm3MMgiyzQZfA_+gBvY%9$ z#srgEOMjRl2K8d1I}`k3`70|D!&zS^twhQUZjq#hV}#xisCMl+4lRqeDb?k4XVm#? zA>JMN+Wdf2(yFf^_AN!&LQFiuhM=Lt2HVm~rVEZF<^PaXOSpnHzzT0+2QIKXU|BHh z1WOlZWa}h$spA3W348#_JPDHhm&e&BY-|Ky!9-H&h=A%50TsI^Ocb0~=U-*O41g@c zh=u7$T0x9O10x0OA+7*tAE4+?A8^)iAxStaG`P#baD2LRr>i6M?Z!SRQL zSwVJu5%9XbS+#9J9Z_t1YY#087Hoxj61X3Bu5q#xw9gHl9% zxXVk2{Aa0_WF$8}L)>)6kr$#iS$oNemV95zv*i0ynk8S$o)yxIax9TKNLeAZC@IA0 zg)K;Zj~D}r%08nt_8}OtiUK7=E{(GpVJ}||U;hw4WN!)|LDNGTuOz3{&7&(v zJlNqq1K*%;G2a0}75G*rt1;MwIpD0oF0T?UFzH)`T@d7;P@Y8!gwg>BrT(XZMueGB z?1l5BZYUr>+dg=V@`>|H!H@reJaAE#=&u?+pTr-CCpm5JBzPUcEVQ=|&-*kH#mpPmv@t6MH~<0h=(1aD|F-wN_A`>3_=l+5H`wt~Oun`}U8;e;x>vz7((n zalArX(8Rm6ybIF-0oj25T+#R5RJ&YG-y7MJ9!4lbqos!m*Faq1!%xY8xPUq6WkOU455Y!Vu~D74n-xWCj>ka5J}f7dBrxnE^%B)7 zt*Hk>{e3h@!^D5RHFw}IqHBL6LQTo&IT_0mNadtnP=q=FFaU@;!u}GY#m{H~*nltD z0B3-~eVffGK80X&m-PYC$ggB)C!31x6==e-eMqfp1Rgw>p2_KHq_=}eq<5w_H-5pVScAsFQcva|a1BimGskK3vu-!1PK5nW z+yhRsKZKMFteSqe{U4a7L>UA)GY%TI>*&m{^}@U zzcvBU>n9ZwrGamDJDQh6YPP{G1v)g;Cqe(-vqpj?;5Rhqtv02 zU72;hpO*Z914<{xG&tqRl3Ci1(HyA-QV~|~;2kg@ECyuUdmkcoYcXKnB{F%^`bACc zWrH}R_N?yhRiii3|E}>}jR_lVFn5$}hgHae{aIKrco|q24$ia@XO2{vV(Y03HnM4t zE8osE1T>tuli+^ENsbp}7YbIed`~A9ybOtZ!~6v{%`j1oRA0#4iNWT!F3lsu7C>b) zDUKqf1c0-2RRx^(i|8907A);58jy%K#ij&i`QT$<1t3dj>PEda8CXnG;nV|Vi_jCX`uD ztRk!5J|%=wpJ3=i(E%dw6!anr##Go9P-8?qx+a7QzY63-Fwc~sf@5RDwp9zZg0avR zR_>+h-Z?SKEG!R0noinIoclOrI%Ghgo?o%iswT0b?nh;Ftt)2^&`#b@k zSem}W(;=4Yjw0n{)TCn!f#Mhd3|6Y8DwwFh7(*~kCl^f9i6bE_B%vuh2Q*358GKLU zi6MkN1wsCiYT>bp1w0q5LdHc!l1mX95DnTa4`>-vy?p{51HwjNhy%}k9`b+=vm$$$ znY*u+lE@F4JY?cJR?A7uIut$_7mR~`u-GYg?;QVfCMRNYD1Ja}2+pc6%Xg~JUeS67 zCQ+T_tTF6@LDDx;JcvJM!ECw%d z0?3Q^_={(F2mvU=TqNYN-+&COrVT~=R%iq|e~do@{SAH0S!k7*uviUVf{$?Oo=Cd%;0_87Fh`UI78yv^oloKq zU=j02tP~~d&LyjR9E{kHqZ()dy`gx%jv}j#F|SZMUuS>TjYI@C$LvljIG)wmnDq5*0M2o1K+=zwjhbPo`_m>>@($&(MChSS= zRig(tkQn|*Uz2nI63-<=dBH~H>l)$As(YMC)|~|gPhgoBJ9Co3-VL$eQIQtwk@XCA zf_M-bjkW_>Hw^rKZcGuBT^p0`d}b3wfC*ou#{-K|dIv~Yq3&^{;+z54G)U+aKTE8{ zF69VNy7<>T^g0Oy+ZFa5P`W(3kIw`l#p33$cjfpw2|_?(fO10EKSSxXw;$}>elTmFniOA4orw>Q_Mvfc zz>spGGI1f}XBYW&nUu^EH>IQWfaiKp_z_Lz(_W>^u2DzS z3$EDbG(J1N1=^G9tZBqTQa%z5+89Gx5UZY`Pgt1Icdl+5FI+%KMXk#X?T;exaoDx|{2YmJ_B=^x8H0=-I8wlnP0LP^q^icuZx0Mue zoEEY=IpG`f7wGnNpu1@L)3B$QBq?Hton18WyP@n>NymtZw}=mmHzIxg<9wqZw>|+g z8i_aD<%zpK#EDyC##~+z$$(0Wp$g{@QMQ1swdx0;q566`knT&%860FN3W~`|9Hou0 zoEckC;rFN~orFcmxz}m{86G@fK>`f6J7mVB z+npH+xQw2Kh>3CP9#yna^vG_|0^|$)kosa~B#dHat}!Ex_Pir4$MJ&r9rDnHUfcj; zt|80HbaZY+6s`{;MRas;8`V83Db}CDy2t8`2tosv|AY`f_+4@YM;42jq3-YK1R8r0 zCvGG7=sdH#SL8i0BK;t*umZ30tDm=q@ua(q$C{f1Mzz1fcNcyb$MFqX)5cjG?2_sT z)7W7U&nvN4FH>(d1Ua6t9w}w4((x;l?+TRYx!jT}CLGEsT~cie`sgwUgwIlOx%&k6 zp$?}zjNKoQ3cyWcPB$Si3m70d0isM$30n&>k^DjA#%Dnwu~ICLmUB^2u7NYsp)M3lfY&vGJL1 zIo>#30`IJvY3B4aa-q2U_SB&X0Gjc&p*Pqj86L1C9g;!(E!i(1GJw zZxmVvB{-i9VB`-`UbEbF2adDw44MMuOLb{Zl2e`ZyPSCar<5{nLj>eLmv^7#Uif+l z-ZUcqXax=)SpiEJn4;X}6-Vh7IolW-$e9Lu1{aL59Rw1#weY9p6zrME^iTA~8=mS2 zKN73)tP-cIqCD(uF|XOk|G~heQfQ|`HfQ;o+C<0Ml!G9!&v4g`UGH3M=z77oOa@SvyFeNMe~ zcg_P(b^Z-7Kzu!{b~8p;!UO=Nx*>cD_^^`!wQMO`$g%-77E~XN zV0*2>GP~w|Z+YifZ<>Pm;F)>;2g4sr5y9e2EK1?lx@Bm1K-q!D8GbW zESpOj^H|iuxLYhw_*2XZdlI=FavB65{nwI6Ug~X`(ecE^2=k6L3gD zXFD!0(FbY@QcW+nN2fpK|Fd^JZs7>StWXq7h7Sd zlbUmmg;5C#mX$BSt`2F8?j`JtwSQH=mvepSB@fXSVV(l4xgLRey;ZenYXY5De1RP# zW68uRceyt=gFN9wMBGj0k75mRvwB+(m4UC9=2-|sD8*>WT$%t2|Wu$dsreU&6Z$%ECbrn>5vR$Z(*tNFh6b8QqZ4!V;b347 zsN`UvKnjzMR21n-EyNKvqQ)Cj&?N&V780yerS{oikw!yr=&Sge(FdKs3lXjX5){I- zG)Bo&5eeph2mZA0*bMzQ;m3j-+t0xCsev7>M8ifz7+GS!oMipO?If!3l(?Q|1}}U{ zAm@mTX_o|>FNv2J{`fsuh|w^k8R{+_=XxK)1ZKdXylo^ezdVTyh=XXrU@J9u#UFLS zZq}S{k~O(8_H-RZ&PZX2e!U3F7=S`a^eF{}Mm2W`2jzvq;N;YOiz>_@BN_uoV~7#Q zKzU_3XwET~R;+L6X;B3TLL{mic7WzsK|13djbF3{{eD91EylUGV)O=@6dNWo z)52q%iK8lThnh%r6Z7EFKD7?xe_+Tc*VeKBn6)gQjkb{`zoC`JPcvd^EpbIPv@b5AJ92EbDK}v>Fzq8qcER%>olKs zey1+L)W{7CI}RL4G(cL@xp=kxN~9(r5~ZWcU?hX_D*-EL!I}I*F-n>;te=4VrlALb z>jl9yma}XO$-!INLw(nboHmF)Iv5CRK2ue~H=jcz15xaK3cW{O?lhI~0lnv?UETnj zeTU@Q@g@F`Kis}Pl9I$%Kj2=1lHBI!mb&!^mq1IvXG=N*1% zdNB?Gw2I{^WXDW4zzjWVa?_)fMMv|1Kg?;-*n-X;CN}`v?&V%)HX#zlc?l?!h{%g` zNA$&m-cfz$5AwjJ>;J>!y>;lnF_in^?=EEdveyBM>mTljb$TpgcauRV29+GbW#STXV4vN!BU|a4sJ!Bgy|!mLwn!W)O}YAv=VPlI_2@Qw#JBTkm702>go=_Y)O3 z=PYBTlS2xg=zIZgP(V%lr=|V0eJH-#lMaN)s?By)*n&I(Qbm)rBrFurUSO~VF^2)m zzU&sMP5z8aY(clsIdH|c`eLhfcp)H>k5#f`OtzoSVR;|Y@t~mlme|SeHp$=53iHbG z!Rq}9(sZ%WG6WaSB1MCXY2R5MGqoiA+s^|N&-*m;2u@c)x7mWm04nu1&MVF0kIR`f ziyD`sX%>V6OGPSYn+VX_NGudgDU}xrWch68M=_q#3}5fg0;OHa`YkP43X)BEcQjqIG7PV z&F{!^D^^K~yR;Z_Y(n6S*`Uq9Og}nVGZ5TUF^Pn*)8U1Ge56#cvr10l28ok_NSvhQ z1T5Wx<$HtD4po2@5QS#}bmT=*T9xj|^j4g;uMKjXLgDr^eGefHfFnMrxP?-v=nRwY zv{LoqC)7ICbdH_l#1pv!BowWBuz|22Yhd=6m{aP4GLhaTjR0(6|20PJ&JRxCXV>%{ zQXDat{s8eTN%0vhNNVRPCvue5oA9eqc5N%J5Ma-O%}8$v>({YrVyAzccVz<4BT)f* zlf(`4Q<&5gM$q)Q5H#aQ%E#gOAy~dga*{6+a*!I2Sw>;Kb7M+jO*N2HaF__JxB;WQ;z!Cg@s$E+l*$3+iTsk? zs3c*TK}Qb0dYeIopi`Q~0|z_F>hiyrp4u=pp`f(l}8G@{)Uk+rXvxtwb! zZbxrHNn99o3Iyf9Zjyw=0+Dy{&vdtdDwA}QRfnBFLG+G6-9q4(g6i1V3FR$xKoV|O zGPAP~iUva29=DIM>E$tl;P_k>6t{g$d~SyGBk89YDYPs`ryRkgestiZOE3u#GWucb zK{-3J0G2|ufHV@6LfKWDjh#*6uGb)LTtzt z3WRNoMR}OFND7jZE<}C)kMkS6UzcOukIDQ1=Q6W^_`&)2OeA?dIV4!xpQ_=kZ)SjU zV1ctUlAf)mo zRGAW74+$fhz{JDvW}>vc;BgdWA_WJn(aP1Uh`-ZeV>8=3%6y12QWHZ-{@E+Ph7Wv6 zMQ6vG*^Z)>jj^5wBh!L_yA0M?dXQl)pGhNu{zcIjTifM8UME)_-(O@NhWJwY>n#`$XUtVD5YZpwTb+wRAKv3LR)1G zdw4oQhDm{z^U;}@qXJ}3h8Y2jQdAbK&&G(n zgYxv<4ik<1uvDjK$a9U1d#X@PU%2fj=lFW%oZ7A~QQlRgxIaHh{I|MHLJUC^?> zDev6z`FQ!~Oz+Ds}bp_tg8jZzp1y5G?RD~yy?QL0O3*8`wY3~Ib zmOIxW)-1ynv`&c%Az1H(yZMX?_c6FPQ8*z98Yn54JWH`qG!=rRM7dy;<5-;}4GM)y zC6c6O;4^!V7C%D`P;9;*SH3%r)OIV+;QOoj5F_62V9VB%1MJmi!*PCxh|k6L zQN#3N@JjfGl!No1lH!VNlqf$4ztJ&WB;VP3wQTUapU*}KuFmV`R6eiJk@85-$k&8{ zC#Gz=@89R7GvH*kP=5X&_D}wSv%P+Q2gmHG+rqL{WICLIzlv=)`)R4eBU%+OB*dH(Fveb_ zDv|Nm^^nq$u2T61y>tn$IQa+2wJ0U$pbuk91iv0SO^z>irg%r}&S zG)^Oecr;%1ptvI~$v{M7I^i53)f!)>;R|@g52%&3dNq7ly(c`j{`kLDfAnMP5B?kV zUE_aW0$>+^T;>OaVMO@_MCDK^3i6WdDsQsLE=+0uWq(v7#=9QzV!R8{lfIS0h}SVA z)?SsO5$Uk190+xs2K}7qWGWrXz5DpKJdo9h<8= zmxcXyVlc_t;6)+zP2}pmOVk%TJ5aqKhwgCdu2YyR1I67UUG;$q7U{aNlDK35RyqNk zBhrP(3U7pHDI0)tMIE88r>lp$s4$3}9lp!4viOZ02Z$NMmrT~U1-x7j?aik2a3?PY zPA*5{m-!nY74gtsG2i(K@u%@P(@&lsQU1yJW|9NZT^2Tcz4u2q~8L>;RU!qz|PN=BYzlIlBxn} z#z~X{>ji`)V_>d68lqB+{9!*Mojubtoc*F_pwSwjN1Rh_{{?fR7y0}f3OLYu4)#~g zK)T|Cz)bumk%0v=nHmvuzu>7z5l<5PF-b@{?ao z+J7b~L8kxR<9|*Hl6`jy2v)NX?DEpc15xLg_P|N87HHpIl;~$}D1mJZnC8W7blPR?O!(B6Oq&cJ2l$vA``;IuwQ@<%9Eh z-TiGRev$GM2#L}zDDZ=6jGlHu8LejghK0I_9T|m%UZ*3Y?$48b!^a;P#j-EK;RxNq z^^$%|j9D5^w94eY`+lDP<@5Qu76gU8)}u0cLR(=a1Z4A=-07Gn;`NQA8jRALUl z6ZZa#rVsnr?Lj9Vi-b5L%hFO*6)+ixpd=G|&QYRj_N@OC;QOE2i|+O9{3hBbi@tC& z7 zNs)B+MEJBLrZ@mw3Qh`sByF(X4&ui7EDUrSmFFQb9_GBnr8eQ{dr@kH8rbiWk_8|) zP4Ol6T2jUA!j^5F&UkX{R1-@fIl$o@;T4N#Lz<(T147G10L{fbmE-ML`108ISMp}% z&d13cKWbE#H{bAh_$ztiKK~ATRpuHYmfCRmRmjmkExfjdx_1~e_KX9GAM6@K_K)NP zab!Is0duj~`lASD$Oc=7+*e^xk{ONngXdRMe9tbZyB9tFQqL0w%UAiR*Aitbb zZt4J5r<5C~Y`@t^y}1UH({21@KWdQ#Cg#;64J8#QNVF!vKu!z^#R?Vw00Jfz{~_Tk zW&5Y9b=@e8Ha?y$lNgT!@*uKFL^9KqaA~&-KZJ+IyapqJiGv(G z9JT>fE+0wB;F0|MSO(91vx%gm{rshS_^~-zU!&umQpX9b}$;3V`zao;%UyymCrv*PQgch;94nj9s^Fwk7KAaG`l&<`tL@-{eoX#y^ixXZF zOCS%MN|<;FdN&rSm=Anf6DWgd)JVv9SrAFrYVycg7@>?PziAK8^0&Z*uELwXyOkH| z8K*STk{%+BESwo5(0(#e(a3>1sejnlE+9$#DzA5mn}+G9TxioU5|pvJ@c>B#RV0)( zG&FK~3z4lvc^sAml|I~t91M7(`fZpf5Ya(lCgxkRWU8-vvHm2l5^m#t;gdIQwnY3K zBghQCOG%<-q)XO@10Veh(0g@!Q2YT?;4OsL{M`*-j{aTuM|Z+d<#EPPOX4{H?zU_R zyA&@SgoRzUW!K2ZBvYm~uvyOOW(KMYVrW+KW@;2!PbI^RqQJR8=dW`-h;<)_94SP@ z4Z}x{Altw?`2X;BCh$?#cm59v(P)r~2Z~1}DqYjY1I5;H{sVbbYcM1Wn)_BU=pbN9{HjFKTwM0+CSf z$6ubw%Z~;3+sj#MkDgQZfPWPVE)}4j){&AdB}8;~VnQ43uqti(?dk`kQ*o3*cI5iO z$!CNAYID?TuR4CVry`Edgfccm8)I5y@Z9}Ti|?i}3!cD}6CXhENm4jU=gs+I{mTe*SaL23T=&F9ncPn& zE@7++CSj_ri#WTCGIiqz+O1d};33?YVpf3X^n}ibaPZLu;4^`TfX_`0arnS7Rn&hHg>MELqTZ*(|l7Bb`^#vF!C!;!6+kk^KnvD;x6spV>6FGwcs| z$!ACj4Hx%PZg8@hN>>*uEZN^@inb){7x(w*zU;Ft;TAo$%k9OJmO}RxhQFh9 zl^xfya^pwPZe-!<=?$y1yt-s4_Eb8auh&#HXm0JQ%OY{BTpj$| zirZV?puOvROuWZ*u8Ig6xGA!$4EYTDR%yti(h!%Q(~zlRWIrC$Gc4Z;TI6Htl`45rZ(+w7hSUE8H_wKw z=82Ho%lv2#E*uSGkMk_4KgT>(^JvfWgolD*RMJ#6C!|$2EUK@R^4AeJ{uLEhIK=a>YZz!ST`COm96>u5}^?Wh~oe>4McZ#lPOd+&(0cg`(! z+xz55f0O(J0QPQw*IxdM;L>}9ZHZ;yE(Ok<8;1nWeV-c%IB8&+ZFbVbgTbyJsdYkh znf^bs;Tw($VM`%%o4YkUWIpv~3^D_wJ67Bb(3I=IhB_z0?XC#7uS#86%%X{~Tl&WX z9_-~J@Y-SZJY+JQ3$JASXOSio%TU1?;XGD)K4(^vdbw3Pg4z~bW30xkB=H#Xv_BYW zgzdSr7l92;8B_C2Zb`1oNCtTf$Kpm(xyi4KuXfw9VPpzeGgw^Q zL8K^@s$V16ow!(tTmd_vJ#c`oH_pwSu_(G5ra_%YPe??L=8m zCprSLttOMFNry_@+gVktPqu!+HBf8M8j3}(vxxL(+WkLtEPtsj@fF}Fj^*G-u4>v} zA1uD!;K!=`UJ1(I5(Q!}xYIuGGW&wg5uTFXfUmhck0C@kNT zeAqx=mGa@6*Kw8IU0`#2mddpo&HMp z3Dkc0P)ls1AIkizdY)0}wvE`?f2r?NwE|hCOxfoN>%IT+?#Q0&ey=V3F0X%%d=EEM zB}7*PQ9HAfX~?hea%WQ{_pDO>HKj?Z7Wspo`hV=v$<^%ETlB3^4snp}TBVlx=oQ|d zR>J>=s)u+|Sv^EfIf&{Z-tPGt0y36TJbE6e;|K&Q9{wg=J@_*$=0p=hLZhG@;K8&N z0`paX`7*#POA82V#n$7G;!NEY9Bq$Ak5w3Cyruob2v_xAjJHyqM!)}rz!m?!jL>ZT zRuQK-%74fUi!+56%YT>4Ppn5UJxYuzczA(`z}%j*we`+n8Avk}x!5oyLuKpM z?GJ!^2f8W4L{NPuW4n~ zhv(12q)mSD;J6QcUO?{z4sv!{Ch8m+%I5%>ur3a(ma^Pps16uS{A*mHqfg39|H&K^&r4>qgh+1KAFQ{UT z;)j#KFtf)ZNn{TpV-_OxBGkb}q*)+dbO~$Pa9gQMmqsO~!N0D-ao?mv5qVeSrFxHf zsU8jvX59E4fC~m4993$__zjKtkB7tkAaA>*U7Bbs?;n0sh%d~#6M~yo4~{#t@KR4a z*H{Q%sPA-bLv-LBm|_Jm`k4*2n;LNnP`im7eHAP6A5Zyz?#x}Yz9V>k(d zb6QpYQr6P=*i%a=b^ktGB;zB_Aw&gnafLHh9fiX#)~ozck1V+d2SB!1pj_m6?)kWQ zsU4ZivZ;Owr844~MUD*=;faf2rrs$9VafedhqzC`n7A8!j+4D)BqJN&*jx%MxuA`J zGS6|pREsW`OCXrZM$F%h;&Y1?8HzcgB8c%1I3~d?-Nqebabkv0N|^8FYzP4CO{3a$JvTESwM&7|? z#%&AR^bq?cM7is}6}At&5d7UoM0SWi^Dz^@-i?rBr&#~?W?-0~)#Bx6v;^DufxF|1 z`RyyNoR4<5U~X>40`ojTuO{ZV$#rPq@{p7~wFS&BC!lis^(j-AGA-tLvEya$igNEG#5{7v~y1jt7eI%F9eT%m_caO zSUeW)Jd9m_9HN`;$h>EI2SiQ(e0pRsqhiQ}?@BHwxs(bkrcUX_1t z6tqrEz!Csm{Bikumg8rLZ*hH5s1{7ra7|wX&j!0sLco!}c=Judvr8E5%$8t2Kftpq z=OaP2ueb_So55&jf@%>l!|bC(M7JFfvTY$05qmA+-a2$M+b3xUB$yeX&uSyLA|2#`b5L&Acc<=p0a z&c`Znn~(Bi2yP?(B1=CXEiO|2Vu^Z(Xb7H{ym(?)_KU*RM&Wgn@EVm&L+W{8QtI-; zIb=3so!L4`Y!mm?;J925GB93TMO=6iNE?IeEbQfcZgz8X#~_{4j4VQ$W`kxJ1*Kaf zEZg9?l(n;v0Zc=MQw-N;yOXbsMwL5<{v+p4QDBNDSa#1Ziw_~sGN#z_QYaR71+gquZ*7M_J372^@Ls0bmH{u=JPc76a|DzP? zwU>p>X0Dl{+spXLZ0mLgH-Z|4iaXC-y~o)~U$OaqC~Pe@hkvq543gIWApcbNKm%k$_f9-<=nrfP9fir7ikl2XL-wQcs@9tqcZZtU)j_8sh$6V)y0 z*SU0Fu6@*aUjA>s%g2gCHo6_eZjUy2KVHGSWhX?KdVA%E_F0_!ZeZHdoBW;rEJ=Q+$S-(mUR%*GQ3c|s@5H=R@$T{}C zF4{kv76vqIlYz3d(!_T?S{j9 z&|7)_`#;_C_?nNO;k|L3*Y^UkGqK%A`+aGAdHH%(v`0Q$Gt-Ymd~c=7@hy3SZM{%Q zya=75{WbM1$s;apc4vs1TuO7?&EU8Ri-D+re(&J8+MDd#dbtG%{++rVYcPh8X_t$t zFZ#ax5r-4~6Ee2U!O+S@D}(9kp1lnLMhdnHRv=@Hwb&J^aT++sHEuyFkawBz>Qcz-{*ooCeL=di0*1$Wum2=04hNyoSCx#Mt0EWi^EF-edL zp4!R8sgD8GkcxJU5f4^=e=6&Abchl6+tv1?Sk8iG?-~^Se^2yQO8<7L{XnDt%G)1~ zZm*8)|4~_-O~IxUv`isL&Y4*t+;IFw{(!ut{V7RX75mdCTnB~y>3(_8iu=>=^|P=) zJxNvcf`D@N`?Y+-ier)oH|Xt3e*dQR;pRNUzL$VxVRXCyBlH)}27E`}#eSCZw}dvz zE+P@^RJ&2iUG0*2FisCVkEqgKRUKZGZ?QAEYQaHb1gM^n9(2^%yd~YUYq0wuY<3(7 zNOV9ZF?EZlS}_;aou?dEYeBjQ zW%f|BhdCe%+>FW&oNEVn!U0C0u0ivZUbwMa!*l9un}hYe*!SJdA92&v*9g+6u_Ycg zXTMMksrd4tGM`Aqtl5|*d@UIJ#}Z&eHH;%p4i)uKEAYqsAH%i(y&dK4_YZ)31?t?J z{z~`f5%Yb@#$P_4h#vn(^mgKMrWI-NAH8@_^j0oU$by3X4R@rJT0;a}ript3c~;p@ z9U_Cj8I~!X&m2$}e1wv!AtHZpkBEHdf=Wat`43bvM9y)$h{$crUeYE`;CW1%2;S$> z7q*oykt|!Nj7B906_?GmjOFty|6Qb4sNTHCyF~bh;$gM2%9>@(`e3<=E;(ZTK=~Z^ zGg__rmBaX-e5!&RB$2qA|G`a14$LdU^kCj}O{#(w85ZvAd?Nf=1-s7V(^z%TSo13Q zTo*L-&`*RG7hUMkqQH3_(u>GV)S09+gIy6`d3yZ5)PIdqycsUv{p0a=$rQ;WeW}D3 zR&^|UqdYk26JGBnTGeV3h zh`)k^EozFmZX$5;T4!3@$fJ;EJ#aREvEcT013(v0{%$}dLmJpg3dJ$@yn?k43G*w~ zWAGx@+Ee}np43*aapB3X7OF6ZFMt_+=7PHV_}p^bgeL9kvv%2kphLl*`Aq8y_62 zS7G+j;p3M)<-h+Q#_Ow|(wAa3yK;Osd2UF5Llo!zoP3SMdB4Zbj0i59DFJO8MVuPD z_s>w`Ba>4>$RVP+`-OB0DEyT&UUSg3tP#1#K>&u#<#kBS$v!|)Bkv9h~b}IP^yU=lAt5mHytpu~7HWJzsYJ%-HYbMovE^&LgCo0xCuOm(m1Qo+3HpZmgCYR7HXMx;U*Zr$@kitk~+hVx>`P$Y0#=e9IFZ(Ko-WJrq^E>n^ z%3l5*9*-1tzVq}#PC6gU zuV{Y%QqkWXBlWjh4-5fMzu4c3lKws$>+i~n{w^P;KjX*d&v5p~pPn1Hza4v?*oVTy z3J&&=j-wBdWfUC`ZGU{@8wP^71+`Khi~Q@M{j;S1e@TznKP2h=^X~mWpA#SdmHYhu zPfOlEcAwv0T=M>}uv(1(KiNa4^HRhg%jR=ZNqe8$yY}9AU$H&4|NFAvPn7*$SNvVE zK6?K@hreI`{7Ap&%7bf4AiS(4px~_ptVp{?|H8hs9IT0qmj%OV2%nMkSv#*A8!93i z{~8nb;8<9}&ve6zRFfn}vg}IaE6Zeytf#U^l*(jr+k}QNqQ1xa#ay+xVc*o2$Wd<^ z5b;4n)kA6{;20rS#!KQb`&%R5>hSfDl9HYwN_H1TC`dcPON}~Ra<%*d;}^Y0<2$No zujnj{PeuzB=+AfCsr5tDYfA6M_$DYb{Ge$6*i*fxGW~dn^_A#XSTfma{@V4AOXOGN z*)NyKvo78v3h4;t*~K8WR=DS3HrJ=v@<%PWHsc@6IS)s9gX<~mO+5d)&it4ub30m( z%yw8TIbr{3Qsn>4O_ASuTv{h6SlHZ#>-A39s9Hv<)g1kt{NuVl4lm13eTx zNv@ZX=-u#5LYm2EjoQ&7`+^Zh5%FYTaD~DS7^YCzmiO)rVG!+e2*w0TOvuPaqhMbv zt7FnqoIGp-75a&ZuEnb!R)RSGnLafIWw*Ec#DZ!X(~m<*9r-=`CxIPsnMEVnH9p&5 z=TB^L`YA^uzv{IT1Fu9d@uh=p84~v%GB>V55jSc##lz6*!=)>(Sh>H5yx=15bn9Gv zm>E0K+=e8K@TW*R1Ud@F$Io51x_UmsbhqAG&jyvKi1JeNADj3j2g7bb4xaqFX%fYG+rtWu;$*@C*!p!H$E+xBWYg7I!1MuOFmocy(Hb3K^ zkHNR&WehZp=_JPvVP4L@fwaCm^)s2F)3VGDb{~_Nu!LV6MKo$|Yc(o^DAN*PAI=V> zVCvVbBYC8r78Xq4^b&XkA?f2(&E!y?Px)`B5>x&>fE}gdWh$GbUSBh+`*0x*M=5vg zpGk(PLg3W*NY%itS5o`q77v1>mx|dFWu1=Mz*Q9y1dZh0`-ko=M*7OGN zwZ6#b1MEL9Ei1(ir-QAFr`2eLzTV8Gu(PQ2YuJR-|uR{@ud| z@>s4$yKtl;mD5k+o>bF{B6|(r$NE@We`h&8#hY=&$6tv~!4bG_ECahlbh2k`KQejV z@{D!`{)Ni@tjXl2w`iS0Cv2BFVXFZVdq!NgFCU-r?~vZ<8~Yh%u4gTyin^$uBBMJH zY^*5Fky5$2-51Q24lHLvC*?)ty2xMBsBG0Mamq08+%ip%YE_n!-8zOJxoI#W#oQ6r z@9!LlGMM$+gTaaR+9Jzfu6IxCDKELua=WL7x!pUgJO&NfEi=d9*t9B`pw;zt!QDSY zR~ww#=;dy%>c7awHG>X*5v=9A#`T7Q{T3Q0ly0yad?v;PsHF<|#%eoW-v-akNcC-Y zDREULvL<%=$d79+M zY!M%jzxrPoRkV&L=w9-ViRE8nycz!^Dx{OncQyt&ZcrP3T_!n@9jE1*N1th>)oVdn z%np2B+2(Y9mM!K7+~c;G=R{BXJ2S~^t+c{aN-L<56WlGWGqJ?$;V^L3Y^@_Bf`t9oR z+`@Wd$&1xPfk1BM;&iLW1}y$D)E)I)VE12`*#3>d)Y9F$O*%wzt=StDhgMf zRtR)w)x}^7t9}cx=e$=tHA=2J1t6y2&dN5e%PQeV;X&|MKT;{*IE!^md@()=P* zmWsKl9MyvXfg=VVs{-@yt^2i*#Tj)hVRRvNsHhO41&HS<;XgcTn{+~}f#9|Z zf9K-N`VHs$l1Kr-wKen5LIn<3KOgMh6Gcjco zk`aoEygP>zqhBQf=Uq|7f%G8iN6O#mUDJnyH3YH)@P3MVFx#zE%pajzm5PBP{|(&f^k)<7 zgQKL=Z%O-4r+PLICMGQ7h8X)Sct9tj@zb6DrcS~}{I_v2Y)bo2pl^aaeUc)^g<|pX zkyxA_T%R34(@bB}+W{**j%ODhmh#sQ93g4gLO(hZQ`QdrnuyorMw6CZ0U3M+AGaX& zkHdps$}SNNb!GC`0pnk*BuYPH@{+e8XMEbe?as3AJQ&m(WlX0|5(kotJ8moG0(Og#r8zxQ~c2t~Yc2u0jm1a@#p%Q-cc>_fWKcZgCMYB-$E&;9PsZRlJ7c!xl~M>4qCwxg zh<_6F{fipOX6)2~&l^ZS1fN$8kI(J?+7O?QRifg-)L|Jo41DhJ*MQ9H2A<=pzt)g> znCdLYGF???!6E#-Rc9GpsLAp?Y(f=Bz5+sZCV!V$wp;kE`SrYI>etcL!Ou@Gh1OK` zVRSwxIx6{Rcxe6by?-&ZI#r0pz?C-GC#fE>3Skdmt=cIs&SAp+*A;$O)Dv;^2ldTyg_53AHBc2w zBH0s?pU>tM5#Id9G@M*#sTb=b$zrlO?f-e03O`rSacPAg!!X{Fi*gcGk($-QpHY&+ z7V-s~3-lCpo*^*vWWnlUCYQATTCpn9NukXJ%5?O%L1mVt{!oA?liW;7F-H^*b{{Eu zJlt50i#8S|5o2$8+u2)=l4&KhENOOgK{&3Y< zAD^kNO8J2&!(*xrHDeA#uaaezo8RW95|ZTL{TbiGr{s{}$|iTW4*shC^hSFt$i<#Q zU}NrjbSH&i%9$R;Va|>PE&eb=gHZ@(m!#yz;LfKt6^r%yXKphA7lJvPS>!(12s|f+ zR+J({Lwb(OV>UM{u80^z0mQ&nBEZf**u{pox?82bCt7Xn{9&gk?Z+RLvN(P_bc1}f z_bI3!nNxso3oXHg2+(5R`sSC0qd!=lZ&Q9hzJ95IGp@GD;X@=T;Yxt=qVXA+3vqK* zb-`)twSS-A6wE%p7(l)$`0+_1q18pCh_e^@!?xlN8`{76ggj+?KJO~p-!Z#m4VJ|3 z)>r3cS!C)(NMyPM5YwquyV>wSx_O$EaR z*zO39Qtt&9pyh|0Ssa4;N4_oOKjv$1)TF5g?;^6dxsWyBGfAi(d~Bj{j<7PqbO*Z{ z{7Xj@1J=CC`>OZGE*vfxcG~kx{y|T!LWD9*1}R#IhInC_y!XdC)UW+BzX0uNtRc}M z)0)B(F>QiTJfKzM8?W(^HLXgGqQ#{*GzsBSI`$}Nx6*c5@*qyq5~L7S`kt>3QMhIs z17%ntBJa=Prpk5IzT43EJ3VC>{}_@;h|B$-9MgdWpNY>B>oJ$vRW*hN!>n2kb%ru{h17YaS~n8xlPy4X#_dMw3eJUT_B^lNHON zG8uywe~z}!d7@}n_HT9H@9Pl&o{HfQc()z;*fK1A9K6QRa8l4RAx#yHj!A#vI!mbL@Fs=x5Av3AYQ( z(K8lb;7*Qy_7I=`^y>KV@Yj^aORp-4ZZ47cd%fl-@kfv@Anvn1SSm(TQ#4(R9mdwr z)ve;NtnAoQcI7ogSwv(JSh+4ZTaDyLPZ*9PXg>EH3l0yC`>IFOm(@Gxq9;%Ne4WUm znvd+LH?a5I(15U`kf>W4souO|TGNWLvRQh$>tG4jjbG6TuyEHu1z$@nBV`4`aAln# zjrpRi{H1?t&rh!gzeQnwJwK4Zxqk7)`CM#ULH;)TgYgS~FXgov9T&dGu4fnXG<)Tj zCN9x%8#19)r^DZrq7se&XsYko27GgUFEqZB`$!I}QcIubOI1hxCU5DpdWlEs()`QR zulH9ieNH#~wl{F4p?+1Sena2(=q?d_>As-B8cNsq4&V)8h^dvRxpW+j6%_I@Z3ZA4d ze@naH>w0;vp?(WRYYI!)_go#T=$hZ+%8WAuW#3AuV>e&g}`i6@C^e%P4Ov>h&EeOEeO`3RMLMF zr3&0o?Qi0qgK-&+O5BsKzV?x`^X=8UukAg*rsy*^)0FLxF)?)zEBWM?w7{N|R6`kb z|C`x@{f){amymiVKf?zk0CVMgcEwV1%Y@Xle_Dx<3TQE80|hT8q$Z|R^5M6(6!`GY zRGbfsA<+tH2a;8DpKRhEaQ$Qprv5gFLqSF#p^J|+5=G%cj1*PD6Z84E$jjZmgk=u5 z$wJ;Zv*rV%IkO7cMy0#@&xcwjKSBsdhBHspRJysh-G4Rx z#_K{&9yp!{w7HLwT)}{9c4le)4U&+)=ZU;?k2i0;Vz7 z`6n-_Dk?LYx=+pcAKH=eKaPl(-Inoh-XhXDG?P0klUo3IZiE0oidE=u!Ms!*@viuK zw*>Dz3KHsgQLp-pjJI*~ZZEVz$LfamS%EFV^~dn^qnR9a0o~LxC3^3iM*PVwqj27=**PNx?haG%!2hn8QNBW+hfV6_)n>2BTlwKIw%L25-|Ksm zodX^coa@!ZV)nJ3q5hV?p{boGif{Qd>r$8?niF~-i@K;yTv$z@`1V;6A2b;n7^pq2 zAYc*W!@(Hq9~^Bl2H2WB13ReaS$q<-h6=u)*-81 zfBKCVN~W?UJI2^Xm*h5%31T{+uVQ6jif!VZI#No;;z>xFiDh?!bb?AGZ>IeYZ)*N9 zRGcf?j9C$qz7S@GU|YtluITFi+a*b}oZ=R2oo$Y}%f=570fa{qK6ku(3p;RccT3cM z@f!X)o`7#9-(TXN(|U1H=LZm7)O-=mWm5hhnpdToUreq^ObKN5-VQzZH?^hx&ITZ1 zmF$p>cX~B9wLmc(PGcL@y2SE(_2AUDbZf_=#BJZDf#wyvdh;G+&cO7^fiB8{u1XYAq{&qPBc+N?drjwB@uBn>-80n{gZfmR%n9!ny7B%c1 zbe0Xi`v`S&1%rPm2#(R<2jYY0ZL!g^!TU4rbn9bX{=iUPr_Sn_tvyr0T?*_{P#1Bq{A*f~I%CN#Ue!t-fk-e2Y$o(9 z@Rh5NZFbohlg>O|GmL3LTC5SpzbpXS^n2Fr=l3V>nfX@Yp6PF{Kp0xG>&}HoCGOd} zHxFEx=J8N!S7auh#^Zk;;V})0M^Eo2T6g*&FYLZ{!`U_K z6Zhdu*AS6i4 z1Jesk;i3jS&wvw_D%p*=#-6El92Fdja+`u@4rg*b>*~D0hZ4)NIv{M?LIVN~%dEzm zy7v#h3~mn827iDnub6rU)%4%xZnaGFI52j96dEpvYLVwwDcCw;h^q)oXT%LWs@KYK zPfK51X@pigQOUpluE{U4Vs)IiE;Po9fRdBDYvOi(1fPWp&64qO@O9NNAj%Qz#Sclm z&EzJ8){C{u(WPDsQWT|Ac{;V?<5j`!q~Un2uBdtTWZha6+*K#M)k9kA+2BC%k)wpZ z>xg&Km^h@uPLsNrM|h(#`0U$oftHU=yg1va7tKgn8~o`=y(AY4xcqOyZ}~a!&!XHG z9oZJpkfin<`qX(Gl4-urkM#ZD{f_H zkU9=2`i10%<-eD|#hQh@xN&Tp|K3JW+FtNq)gEhfi6rBL`z`0+jwY`SmZ|}<#Zr8X zo_8shOzKGMD12#5*-N4QrO0o;`=)R*5P&NWYdi7MO=jix*H1DUN|=R##k*XUmqbz_i!QM6pq5$iN&v1=0}#rldJKf2-$qFS0=E7CfJy8)3&WVKj!CHZ`Nz-Zd=u^RoqR= zf+y5J_8iaEJg5y`9%mR;%;qSC7gZc|On3>rEQUHa#g);@O+n{vYXpu+3@8h$``?b> zsJZID@_5Q}`_?|=Q(3(GKFBLe4RB6gdF?O}<6j`Jl;el1MWIw^(i{{{7iL4(^NpRH z8&QZSb?c&dMKa`i#IVAN`gc5!hlzoGDDSqw~ zKK%O7J>tW`!Uxj4ML$~ay4C%iz|__``ZLmc8!@hoHW4qPm*VzOI=wy6OVmbzUW#pO ziPOtxwe0!Pw|afssas*@l9-2hpWyTJLn`1i;(ReX#HrBHpFt8u3jQN`P*Q;9@F-Av z$oh@TYok<(Vd^(RfR>e2PG9@_d!O@9M&R!u|91MsligRC?M_F4%Y%%p(Jg)AQbh7i z!6@6CXTqN3yp&KslXGt*4otVt-3q$I$Z4-&0o2k_F+K&xn5e+teO~Xsod1p@LO9YFvl_`?#(#^pO3i=d^(^IwmFx9?TyJ3n zeAuV;JQWLlNcVz;{`(){Uy-GT_!ncT1^hcp%UJNQ?bCQ~J*Z;5S`K9urD7kBI^S30gmb54N%9z&|P|%BTa;wAo#A;{RdX>i`{jZO&jGqlV z-skG~YP`d~|INL7zkEL&;rCxVKkl#HemOpm_!|*xwuFM{(0PK4{-{l}aK8IRY?hmY zUzqLVd^XFQ!p-vd16e<|(WC71*GfPEmt{UQt)8v%N-BIHe|T=cL7A}F;G^6913Rd? zv-kjCiF_{f8aCYzSdyTCJ-rV9J7@nL?L=onlMqGyYJm*;b3;kg;r^b1j zeM~V&!57~lZm)A(dU~6n1J6;3rZ#@oB~i)x7fc>xh6sYV>)NEH&o~=EfDNLrB$fQR&6&RRI3NC6CJaOd*ZYYy&J~S|J(0vUw89cYYCKz}< zzu)18c#2o^wpa6vvyjORZ>D7(r^--04HeU*_*Ya9se^h*?bJhByoY*79aax1GkiUy zq1Lyc+iIDaw=Hsffy;DeT(H80A(uUL@$460_Q4b5%lkaE z-#~5fll_LngVSJO6?o7T#{(e*h@m5E+9z@{?o`y@_KA&rX)K_~*VKM~w0VKLgeUni zga8_nfG|1g29)54)tfha0FDY!fUt#)oz1J#KPmXK{9PRVHk3G+=uvJ!v7irCBq0PB ztMSs`01;u7j*T-kL(&GR)~A~{ns@6JuWvWBvDSIFc65Sh6SOWZY5$SnOe~?Q#f4Xh zt?Y;1r3^&;?JBbddUVfem2vyLoDyoZP`AIZzxKR1duaZ)V2}K5;Z(RF znfHL8Q9imR{h6dcoM#I%>W|g*ktuqPKrugLb#sE1z+97`AF{gHF@ZqzB?s9Ah)eMg z?a4Otx2-Srw*@E&l(JBL_b@fYne{^cxT~B$)+i@!c>Z`skv~o#(zn1LAD?K1BJ#(b zL;mNO*FYf#|3|Oy4>iHpYXsb?Mg&BwKUo|6tKQ9z zepSd|{Dqu9=S&X~z@61JEWSswC&u&wzL$!hi5~g)yp^-uf3KtNiWyO@&qVhk286yi7YpK{s=h zL^(SpbTv!S%G?U~AEmhtx2z%m*T(;FB)>FT&eboo1$jMdslNK2w=$5Vw?__>lCPCF-lwf zX`|cyZG|_UC$4}zh4%VwC2u@md}A9CAnkroc;mOc!T#1>AC$cD+u|F6v=8kRB2M7( zXThW8>_ZYgGUO-j+2YkaLIedzpk*Gf(}RRgJU*I%>xFjx7^8&vHhyIgei(RTOjwRG1cG;K|@-5yFM+Sf_4a1RqNO_VU9q%tg@?DlDzYBc4Z(WsDbCij6bm;(D~ zZVFORs&3K%VieB>3t<|A1n;dqR*^=_@dvXsU+z_6A`FaW)uu5|P6@Z{cR4f&gW4?Z zDnu2csW%i5tc{bJVI8~}Vc2Y8*ena}hMo6j>v(OR&cqdJEisg85_YXHkaciiii_Ep z{CbE}moX8Ir-yW%l}CR1>hb#Dkj`P(Ztsofz2>L9tpi?-?Xk*sxT;z>wgwz~-&aqo zu8QGTXBmEN0l##{9Jti(Kk08(2%HAr_fEMC3DIg?YVmOG^|(Mg3B6g*6S&%*W4s)4 z+MnwCEfIRpb7}-@lBp*wrZ=^8y9JXebdPwt`rb_aQ~p+bjkFpy)=y*H4jOr%s6O5& z-lBe6TE7Z?_c!31Z%Eho(W^siVXy1jhG$tznR?=MN;>_m>y*qZc{r_2dg3{nP7~E< z@A_NaSZKbzp3r0Kf&S|BoIZg1q_Xbnca-(?JJ-`I){S1>5$}Sg-LQ9*Qc4Gu!WLRV zDNjHtPehdRM4VEd7?M&}b)Vp`O)Y&>lwwk7qP33L}CsYMB#K zOUK1Criofk+@`ocqZaXFvPevbny<}yk!VFN%jHWnb=psQ1zA%|*5yBwe&d=t)vE3L z!|3JYn=1wrr*(ZMe{%j5Xdxbt)9%lF&7Zl8_ZmAW)9Uwi_**STF@=jf<=p1&^}XD{ z`%`eFbCadUo30TxaXH=h0*>?uyPbEvvwllG!Dv(m;AzD>_N5}!gP&8=yssaDw8%d9 z@2FqjUb9iPR}C}nW0DaMZGVi=wajA?YCIN4jmI2n*eaKBQe%)@X&jD8dby9X>=&}^ z=MBB=Gmd20VUp_(Oa3Zx+ZHj&*I9P4M%bEL2MHOABytceqY!tuUM%&KTH};tYq#I- z`Z4Q!y4H8PVz~>OE#9re(; zw|oAKmvlfXLgWW0Hi@56o!8O1@in7-ak3e&!MoCZ1C8(qv9KafLwkc|1mMG~9_$PT zl=4>_PH?9IKG9yk!>gx&2^V2=;ut!SlxW#beb|l~@fJ~kdwoB_#c&33I)9bDB$h-} zv*TPLL$gR{IG1Cd#x-9EBcwwnma3;2@i3%=u$g|^cojAyXrRjm#=J;BjAD1w^(GH^ z_3J%euIUf?kRXVzVB7Y7VnYu(WaGr#k2VtvVf!{Ho7obf+?F`XZHZ9s(#A53n>l_@ z2uD~W2)AJPU0LxZ;xlU-lW!+(JGHngYrzSGfK%*oS9W;-^HW!?4tM1d>(8NJq0~Dg zwcJ6ex)PnH!k)?V_z~mJ<3?)Wy#_wV^NIQ-2AXQLc7}R?KllF7_v6kg=%>P7W&UFv zl4j%l9tBt+xR?XEydI77|5Vh=$*S}Vs%cMII0N}pd$!MVzgS#O<15%(kFOYu=-)pC z2k9MAG&Ii_>_(wIO8$)IV!XjV*|YC{y?pwizvuu5p3e_)KX-73HO^2N%mz>n--`7@ z1P3nO<)i=L_b&hEAQaOrg{$+2eo!3y{b6g%0yLUnACAbr(pW(T7Te+WFRuS2EC ztK!y+i$o{%^ws53J1MXg9Io{Jp_U7HMh2M(o)%8MaNYL@%kjCq-sCX&{qGi=^1q7TQy704Z~&m;_ZMRL9WO?w`_(y8FstAPY!V82 zNnyMq905MzA{0`Me2QN*87i8+!swyK;b(k(e*S935QbYHXPh0x7ErQ2vknW_=fr4z z#Q4FjO~LVMylJ%^U#Z#tsrY8p5E4JZ4Zy~5ve`X1?b1-{FE6?0g7ewqJT z{7F(MC{;-MBtwD%6GeX2e3Xua$q_`{_ZFN0qZUQ{KGhI6;huenP5fyxd16NUv40e9 zg!b$+RTIqP90wI`_rsi|MTY7Xvr!TtS%OHmdi&@< z|M`x}^)2i_->kf8_!?3|BE;9d;^(Iv9HK#ipO04Sd&AEQoYD0+0>50-P>yc}e))x$ z|0?{_#lA(jQO+OU6OE^mKU6cGediC+{D+~pHHq^17wGK^fA~x2tz!SKkf%oQ$3kyz zFO}hPGdpC)j9Q6nViYO6WsCQ-m;RM@SF!KI!tj+0>?uIxit$s=1lk1B7Xsnhs z+Z5nxq!gD3iv7jtS4MiO2g<$R+QGX%e%JJ_<2Zi`hiGR1z-^lnEwLc8L&5GJD%%^~F$4B!SiNBZ3hyAxi zge>_H=RXsQ{0CNzlR^BNBzOd9{6gcSB9VVox=v#GN>gZWXspU&aO>+ofI>ql|6qS= zV{%pEbHC7zjqRh$OFo&MdS4qqgAWdH4WDIr=*BoDuIZd{tc@l`29NF<9AxBH3T`@` zZcU`qXcNS>YP$t{bg=Fe{njvA?@TzN|vVXw3jQM7fW98@0$ORXpj14>>QmWXmk zE>l?Ys=DBkYcT*&BT9uOrO|cutA-y*o0RS9KbfzD<4t8yYfu<9EWRiu+~d%70JC6{Z#$t6gdXA9t?&8BmB)C*PeU?4N+Oq zZ(~qY}?EeIyYd>p!V%f9Y>+~Pc+JM%Rg2{j|EG8&%W45G>dCCtq+kFp} z1TPoGnSQDOUelLv!7ouN!&mqR&HwI39ZMb#uuwYxAgWpGC@(Q(qoZ_*uqVJgqx?Hb zvpPa#kT8rCwqO(acM{1F?n4?+=p)`xCte3ql=Fi|kL28FhfY`>0W8_i#vO@y_wHiE zEOR9G{SLWqb8zMFnIBe9I6*ph#zYIYNIoM8jW7hz{$UAe8;rn}X#%L)1UFAx5oBnJ zse_x_{iL7%FUKbUuVe+hnjE~gh49*LsFh1$>QWH5!4Y1O+L_%F!LcyDB0O){-{5Ji zb#cgA0VNr&&wBSo`D*z0^6OsmZ9(~M$6Qp{;hGopngLkB2Y5aKv^mX70BrheTc?ji&7tT|W^iXEmN$uu zC}cN#j3GOmB{;z}+B#VQa`oVF+hwaE?-aJC z=HUfnGVXW-`_+l93jg^?{57oz={?u$4e6P4!a9?yv&Wm0u{fGWjV8D>J`mA%qKC3G zgXx|d#{;8Bvl9w$F#-3=#P}<*d5PoJ#qVV(uyJyn+xBdLWmtoH&9(M8{L9%-1hyq- z!N1vbba>hn4o~YMwN?NbIG4Z1dBxkrW4md&7ycFTTkdlrS=S!;Z7O+TV_V`2>r};V zmYD6rndzQIZkoqAMq3zFn~h5QIExxC%c|I1wT8zG@l0XqWIC`^;9|Yy5?)M_*xs(6 zs;Ymfm%rJ0sn!b{IWUdD5F{RF2LCtrg25%Kd`DesrXd%({ZkhQUXxOflg*DUm2$A|R1SZDEC zk95DoEEi`_G__#ktKN4#|7>Kg(OX%|I>ZcB-Yd~1G;Fb#iuk*de2ih^v*1Qiir*gM zvkHQ5EG+M;YU7OJLxkliKI<|s>hn7mHc^bvI{I0W%2087fB#z;OL?5$q`i#KQlJ*G zTvMA0fm*L@r=$Gn%d~rUDNsux9XSQ{Me$nG8h~JVJYSLD=SJ;;-$!7mK*_vL!Pp85U4-{`dw`F%OQ?(1*KF{eaEB3`rlQeCR4#GfJj zbNcMw)hD{+d0Qp)w78a9B)|%PfTHOBisya&pVvPw^LHS|m*h{{c>b#ME%gsn$Uo)w z4Xtm{9;kiJDVgjQ)J)l71yig_bIK`>&CdvL2`2O`75Pvd^qA*_y-;nuW5B5{l$_8} z1BzZnf#cu!fg8h$&L@RuNFI>FkezBBbu${SXGRu5V@I+ejyLKcS4BC? zF8W89d3ccP#FSq(_x2R=ww!r_{xszIts_{#CroXhsW5Ux8rkSEn zyC~}GgZq{8C6j;_DXQh{6m@`0G3WnxS){06K^?8SQT?q_TFdJ>bM|L@R3D#u&MwLF z^u&aAOOS)OyTlImRFBT|K|61?$vLEdGNP>PxxRrKD z?}Y7iH1gTVXOp&48F7Z-gq_21!iB~OpOo`9#tA1FCp1IZ{q7e1h)E7n)c)kz`@-Bp z`I0Fph*6=uLZGl#O)fB=Ql0@^VSCz1nN!*icGW- znA)pH0MmcZDg{%Fi5XH{uFcl0ZCw!)Q>C49d3Gp%wKw|MvA#Q>JS>m3zEpi9cr*-{ zko|3Hg*|DKvnOpqKNb?ot|T0kT}db?yOJjtM}Xef<$)+nFJE%E`UTYtqV3iTe4TuPKji%^@{c) z(^t#$Bg^xTqk1Wh89eidY{c6#`L;&cmQMB$P30iPi%3ZBZ^xHt(|N7Rb?1D|Z|98dT zZP0rEqMcY)x>BHZp<|C3VD$jh|m#(zvBjM*r_xE*u?+`QD1HP2^x3BG= z{a0@PmoTI~jb9=TjA<8=UC)NWSH34Lvd(*hgXB|#=076dMn!JJ<3^#kFw~||ffSPz zW$y13+F;JTHU#~u=x+T4>btk9F&R-PKW?e1*R zo#Zy0O~$0#)L3_|mkh3BnA2poBwb0qy8+@40xvN&@O+Nq>8^7Zs^l7Qp#Zhx`*!%qh1j;laZThB0GaOsQ6cteylquNtSS4>TQB(;)a$yF3( zY^w^cG|8skvpS8W^M!>XDRj(O+T7*B^Nmz$7SMUj?&gszSO5jg>jK5bwt9mUvnCu~ zzO4nDWq!QFvhHxFr2We<-!H_A@q9sff}X6a4-Q zKFANans%;kYR~<%V0coq3KWs_L zPaWpeMxu#*&e(G^|VR+ge6}Rr$*_Bv6iPrpCFD`#1v1}Kr((BU>Y3Qy8 zLC#Q!|D=KUxwox(N^h4mMiwkMRBWv-vHUrj;1IGisuIh-%U6HaVLIwrML&U0oBnwE z)1^PN)#qjdiv~Dk7Y&SeWw8fTqa|wg=9SAip*F3~ZvJUiH>=+{uU!t-M>#lbRPX^D z+5J66?D=Q;h$x7g)oYh;=So#@xVVM7(NgCYMl&h+n@zNl?*R8Ym#ARyKRmO0F!lP{Y9032IVsiiySKFu>gZRGup=q~ zE#JTbzrJ=90nUEsJRYDJ&;~r7`Q=MA9DC+!o*^!91zKBTSzc;b&s)_CZa{Zl!liVg z{eihXE$`0GVetty$cFm~Kj7abw&4p2q?D(C|*=7+($sf343Z{Q@L z6FAIxg{0tfsou^A5}h@@K?c6Ssaz{$F3TjhE#TeRM%iQacDkpduBFre`YpOLtybGu?V$uIrT4$!@wI;0cXOo$2)X|CS{6Rn8IZ7w0NR+MW z*}ngho1d-oM=uq!r4|l|9UrVXOkn$wLZUqXpWFEGjl*XA zJV!uqg3~>z0|!?*uAAJFxa})eLejYR+A1tBYbZr3j$S-^`LZjJARJ0;k5J-?;QMPp zi7h4K=!2Y(q{7&wZ7qFqJK$eC3VKZG*z9$w@gPK%XJ)c~#ShQT0jUl`*LHG_IdM6b z+?w|W{mn+%>~Lo=<<5po{^M=%vCiDbtM~^f4s_eBPMl%08XNMseCqP(^oX_<#Kvix z-FbOp`O9?c<(ExdqTcfdoi%~{B;qBK2kT%Boj-6vU3N4_C)OU_+p~>R3=_+LrZ>nb z(}0yu+sLQNsVc6b-T&R(iTuoOo-KC%34^~q=()F%?soM=wkRhq1pNGG+X<(Fw&@k4toxOAuFuJys! ziSeM`HQO!{oGJ^C;#gqdMZ&buu{OAWHI0L8z76--Rd|9_XECK+(mX}2Q`Y}D& z^KuJUcx-i+@E^Su)n~nq+ifkb_v~pf0?&3Ej9EGUmmQSKHr8WC4du^oaOZF0lTUIX zaqlt%U~2Gz_T=`&ZR?OCC~RJpPOcHNt5Vt6yzQi@*d5FHP$vac5B zvh;!NtcAl>D!1^?z@vJx?0Sf%iF?Z8cVW*~io0z|D{a4-SVj#+M*OKZ3?^+}a&uxC z#RRy6F}F3AGYnhSJL+3DPwW~Yc*8N%+<#EYhh7qKZ)vc&Ns>i7Q8c+pwjx@irJn5OspF|*@y zvzQSwh6Mbc2iizAf?_q2Dy_f)17G*n!4dRi{Gmu+b@nBBX~3QL_vx{)B5kH7vUIow zDB7cX`r3kHZ6Bt_JTHQMlwmRKyHqXUx~EdEwiMzWT-15K_MxLiyrt!u&Cu`)f_Pi- zD|oHqm{3|?y+br%wVLPfQn6O^0ySZ^njM!;EMrThQ3OCBn^<+;8BMODF#&T?XhrwO{AXhJMAoILXK_t~>Lk}Rbf3s~!m=7O z{^*)^KT|WtZ?CD#B<^0{SpyY59CZG()ro9k)vSlXHP%Vb>dKD1VF!Ez|A5%NO1en}geaE+`rAD8{12 zRVV8vT;F`59(=tTjId!d_!l3|gAeu(e50g3v6)T$L(<@JI@ycB*4zJW(6I0lnn3HQ zSjAM(}M+7)>F>H}2XD~wnl+_@EM zqrkgGC0@4LQnR)g-S&SO@4XGWay|B~-tykTBg{Yi^-oL2t^wGf=u%}q{(^eQ?_;rw zz~@`Ra2j4^4=BAadk`^=p<%**Gc*aMF=M~6RYgh$H(ZQ4bfWAI7aT{*ZQH{O$ffrfI(FmC5@ zoy6(={R{)0dI%|J?vLq7QqC22$l<0URrjCIt@wCb4=5hS&h^5?!e=V*iTU;P7E4}g zzNNpV8@o}#H*2XwX+e1CuA1j=pz%cfSUQeY& zMe$V|A+NL`L~F z48jq`f)tV!!~M2sPt>N%0k3k%K?*)~2q9zk4cWyLM9f?j?S-#uCXihQH;_%LU$hJ%^Ox*Q)z`mOmwOjtQNX2Xu>Z0z7% z9zSqMMTpdsDStOsjqI4TY?3`l{)u)wo*0sUdsO1nD3w*|e0LKST&Sj(T$}jJXC#F6 z>~2_iAWCF|1lNJpE-cmXDK z@q4RfK{@bVTFX%?Qesnn8temSf9t}!1t$P??B(laE%nT%f|1Eo(VDsKriz{qXP;V^ zXaE`sL5`Lh@>`XKlAquY4o?^CU3(Su20exT03(GzI;Zn*FrrzE)*`f(!ES1+UlNn4 zyyn9T=Q3>Mpd1eL+A4ARb8H3~S!#IL9~;cXtmW+GGr_^>b-`{-Jp~~P-NqFiEK-Z; z!Sw7w*=ohGoS}f~2 z;TIggE~engg3xTz@5(Ql_4EsbzjFl5vn2({g2(?$>lTn1^AhW7bzYwcu0BK;%^Jw* z48M>BdMuU$xFa@PM4)fgsrwFQKeQ^D&v0yb27nf52c$Q z9LiAKx%@ZXm$_D4mTvHfTG=~@{TrGpz){8)*+cLK&fN)4HTC+T;0=5U15@Ko=l7xM zbi8R*Xu9_G7F$9kU)H=)ETT(kI%uqoB+Lc~fxvqmWF&kmuNVB+t|xoomJjZIH7T9txK7nMwXGdxwmNZJ{t?V|Xv81KZkrZr#ypl@u6??uH5x zgN@|xqa=7T9Ew6LW*UqslGn>M*YhezrZ++%y@DSjLyB5ED9M7`G)TaqM?23V>?RB7Zvin_R6bG2s9y*+=g}D#TC~4`#ZJCT)Jkts9NJTy{_HvC!$MjYz-)F6H(dxRx!fC5E>kx*~7*Gvct zXOXWBzAsA6kH*Dou$H)0u_O*Yp}pqR(z$5G&^k)$Yen@KqWs&k`Vwn4*%rB>yHJmz zSpVcZLX&;17ZtINNbalr9o-4>i?xn;n;UY&>Q3+20H`7jIYct6}E@n(Pr}@elTCAsXPO)1p4vw3{qTUK(?iGVLz&dJ7 zqP-!-58g6?`~iu#*wh{u%({MpG(Y&T*R#5X+qeFvz(?9V{CQ^lC=N8lVeyl&9>RT; zrh$Ky>6b7kR7GmX?+hj>Sjm6FvQ5yow*?8!%hbY3LwwZ!|8~6rH@*mdX0eYHkd5h| z7B)`*g-r7Xd`uQ9hkO7i%S!%p06;ZXgz~u_!Oh;%)!X%L`RliSoildL+Z7%aTHMRG5GK#* zy!;u@pRBsnNWNuFWiPjdbeF#DE~R6aZnI0!dlpL?%WHc^lzk@=vmi|7do;*_U*aH~ zKkztzTL!l9-oPgDgD`%)RGuu>(;)Z<7K2B`Jd8cP+aX(IxYzzovtEY>T(0fKdypr6 z4%4V6vYgk(3SUh=;rp%a$p87fQu(m|yG%R8Eqx3<{yoXVXQ}ye$)q3;7v;ab zi@*LeTmlw6VK{~xjZgUlcz)y|y5V01yG_BTek*c{0`0>&NvxNjIy4_XDBoH9e8c{) zmCnDMUf~u6=`my_!*Gw|oP9sWKN{{GhJVD&KK*!qK zr;8`ntxo&gKDMjd* ziG&q|&&ANi@wd<(jpSw#rZ`8Q?! zv~+#8$yzkb`W){yze>In>oW!mDMI0<;FCC%V+{WJA$V_uZ~I8k@BD^vatL}he@W0% zkRrUEQ9z+6!wngKUX+)$d&Tf^ALo0k+-}7UZK(O0JZxljp&l*@_Ti%UQ|T)1G8a0= zNveGO<-fz{zZ9jZ0FMGJ)J6Z(KV{b}{?~tEOUZBaIUHhdRxhkMy;tRDvH4wJ+wS)c z?9a)mX@y>^t0}NO%LNmIsI^=JvE+o~<>EFVqwW>7RT< zvvdfv=XgCg)?vs9EI9s2qGBPDv_GG5>~2^v)(rjQzHY*eLMPup9+Ow@=z=MqwBxy{ zT$13)I!H6ItR4y@fRcapGXK}Zy$GO$uBVm;P*Rfm*UDM$e~RuPqq$RZXA?eoSzSMI zsZ|tVsjJE!7~J(=y9fIfD~c~D_%#B>jS z0yq>f?GwqrPT;^hI@%*>_44k&H8;>Ow@>Y!sz9Peiu!6qNW!1HNLc{EG|nV9t0?>6 zrl92=8n7M#kvPgn=b5lwjSCY0!nWzmrzT(}co2&gF=d=cWbyCUHWKXJ6a{;O2BrLX zQkb6*Pd#wC1>H(4C3vk%=GQR$z}@+P?j(us-Uh3DI^FZuV76I-Whf8priZ}6SvHgK zJ{G~$$u?&%vaAAw2P|_e&ntjRf0_mkBi1#Om?jRGAM<7sD{Omek> zSo=A|87d-DBN`m{0I`hAdvB=Eu`Ot;o`2cubqIh$nDA$j_Vw+5yZ?6jpS%G&WKZ%} zqchqNiha`G(ibt2GM-V?#>|hKim!kO6QTSZFVV4OaNIWtQDZ)u8n{60YlcHySZqyS zw5BKroSe|y--So*{GEYHzXe3@H!ZRIpp!x>=VuDhpno^9mpeb!?R73fbdvk}6+RR> z>*bc&0WO2%UcnBwychSB?_L@lH=8Rg{n7_C{_s?H@$((5`u1nlIy=!hwFTAjZue06Psnr8D)W`NevqG==pI19=D=_Md zph~d{{K32o@e$1osvBY{kHKLesP&Pb5bd}P;Ge!q%j-U)mi6B{>q_77 zO+0N=BJ{*}Q_$or7pIVL67B!Uo4F;tq&5!^rqL$D&g8zPYwfwO+3-;YL#P+=DdYb# z&8foa98k+GB+1HQ7k;FCt@oM&FJCeLUN!5`1(?2{xOWQ4rPtmLd_a`8<7huZEb+5B z`t!Hx{M2uu)kc`snLmGJXMXB>5VJwRuZvKO2DhcwOTz;#c8ZsuV%yA=aGSvkaGu*{rZ@Oo0arHR<-16unpx*> z?GMxfX%e|H@RUpI`nTC{;(R$d^-X?(Tb{gaF**W_9cV&;5+jC?4DcOVgn088bKa<#$Ioh+cI$J-v*X}Bc z36aqAZFL0OT92SjF0?hpBus}tunh&y3|gW=iN;u<_uxWJ%QmGrRhRDH!0{C=vaBMx zYB&*b%%cSV+$F3t3pI_UyrhlGp1VA)MVI}pX=Ts(n;FOdr|#Y3`gX|YLLY(o)fVTB^DoDh(p*rw$&zvt_H&Rmm1-Szv&FONsgnREMG-k+--WHZW$k*>TcBIM0;1HlRURiQin`coSlFLh>{ms&S!yv=MS`j#epPwV!lqEJ zf5^{hwfs5J=?~D#FKK`d%iaxK??0@&xjA6{59B?>w*6l7_iXf`6N_5ClXT%XJg|Ed z!)uwupY(~ZJOUcBriP-svVMuLA0+PZ=l`HK4UJTbxuOyR4`E^&{OChggxPx;N^Fu% z%TqWpStI)sll4O(S2IM_}rGw zaOleeIg~brw%YrUwT@L$4C9(`=w9`DS)mhh4&GkHcLkdwWMf23-jaZACWyoFr3=9R z{1*-Eg}AE$Jm~xX_7}e2J@NZ~dpG#2_<>qc@zDGs2(9*ye{ofnHgIR;heC zzCDHhuo#Z3zxc8irv0<`f|X%SP&vjzY<8v~!S2l1HS_T2ntqAiN=<9EJqS`a*K&sQ zn4G$qD4Lra&5gB^+|r9$9CtR)n&hu_uE`>>Kw;~l8=uYE-S%T6>9d<8nT1UR@lO4a zA+8=b@|b{(*$^EVDxqnogq-edz;xFwjb(|c@NxBJ$;zLUi-g*^WDkm;l5Y-NJo<0+ z=C8)*T-}sBSyWHEA2|cL#f`{Wm_$tg+p<_}p|M55{(te*4;xwc%i?pE*C!Z|3t=_B z)Yv8X2dpm6Q)QXDAN-VX6@+bg^mVw;0n3k)WO;rqs@mCd897y-#?X3cD1U`Si%T!- zbzgF7JhhxQEmxXjbF#sM(Y>@jh<&QOw1$w}GuwMVj{idD2o>M+_g4Ice(~uOP_^y4 z=>yg>_jPI*lOFo|f*R_wH7Ju=dv9aq@EI`Gc=#}UA7%L1Z&EjpfrW|qfEI37=3iy16h8|@`x6PZK`!4Ep@nFlU) zlzCs%#3wIQ9E4~s3fZhyq-G7z%A$0GqWDeob3`wQosChcL-dnzJS^hIz_C4^23MN% zECLt`71RF)$Nd`$#Rft)iHth2sNCC~&UNB)#_xEhWer8asEF9ltBq`~q?7ZdJxM_0 zk7kMT9%ty{E-B?owI!q@+`q=^GgdcNnsR@FZ+aL=p02uJtsdfrViUIG;Sxo9{2I=s0J<8c0u@9_1 zTp?BYTM(qS*X`Pu>#~6xK?|G``>EVs1;|rl-DBmea50;~6}qDicWcbun5b>7#lIJa zlgyTpKgOCjvRuJK<$9y|g~enH-neSImR)xM9Os9+vwy0BR^SmKw zr?xGPrKbT{l+|oUjD5FQ-xuIVp%4m^3}+#g#6@ka!`-E*g{ORYS+?4}iSy&=&|>a^ zj&#+T9c@Fa&+z?qV(?b(CelVFW`ynyEnnYSlbCM(*_wPU)_h=Onv)rb!2>+$bnhU> zkI<}Nc}q1tuh}7G%2XokR+ISp)sgo$4*-U1hPbf`9uox`xL7mtE}o%Dq^lMf@J9^I zB&ry7Dm$P5JmH8)i3;&VudJvpx z3q>F@rm|1kf)=OwNof5h63g!J(uWbjOcsr$EO0I9qb56dJC$2fN8#{)F`sSaf+@U> zR|mT&l_~YvP)8`uvK zJ!@N}Wz{T}kZ{?}#b^QYvA|)i%Hj#w7gjf}nbse7FX;!92FGDif6TyZiT^jo+lIiT zJ{1%P*FYtt$^ezD9Xx3%#LrTClfHaV&quT%i;24n1y5)0u0sTl{&a)V+G}-~H)!q~dgs zdC7c~R51|o32-25IH~f@0)R>?g|7&?C2ElA=Z{QNKgkK6Cf)mMS53?Gdk5~!k@qWD zqx{SvBJ=Wd4@kX8JXqqsgL7}%?rxCfBt+9u9q8J z3ztqy80h1wVC&Ck;TgyYAcquFfa1ZVHoK3-a2lZ?2OzChTiP$Ee zB8k5P7Z!7Ol210)wwr}(lXuHW2V1zFooL~DcHF|H^(pS|)DqQVOB9xzV>{e!S$iU6 zfo!~bJOdr&5$juLh`#qbF!`_9T17y0^Y>72P5`Fyrti{8D zZ6<;rpfat-1j+1sly?P_#D_XuMEY$kEtMT@yH=lJi^@hVDz%||=Y(5ZNkpMFa%=KW ze!()?1H?=}hWJ&ucW@OfoRTEzP=7&vPZiX+*y#m{rrHkzW;7KYqOhzJ((!!RZ*Kn+yDPTg!2O z5jG9ALHjg3;-*smN1f#fS;lHWAawTOAki{?mX(f2Ld&0ZX9!NslAyj%bCK+ znNQ|KUzx1T8N%x>D-&bb#~J!rE8{^W4aJ{3eL)7DSJmdKnt(loatqhncC2DOTVzHp zP}>ie3Djeio2w*i@uu;P+RWmAF~$FCB&Cpi+x#kmFY7%O!*sbraab6z>wLL=;-Q$H zR>`zkOc@vf`rWl^{|aMX9NjT7# z98|bzpr?_vm91pd%=@j28x{`noYcagQvV7_nu$jzOsi zhc{KSV&c7P|0vlM8aw12_a*(Ld~q+P{|%I7Gt^MpNKdlXUZ|`rEw{?z>u)1t{Liw` zebvuDU5<&R50Y{}W`;5%-VkNQ|Dx99m+62l8JKKBEf9{InfEXZB#b3Yu5YB8K37H5 zP&0%2%=HmPjsD52xkg|64+m-VM{W~3No%*v7%a(u-r414nBIJMm=XnDz+YtL85=*R z`&Wn>yDeKixx=15b0;!P99Kk_v{X+gD%*RHX9FuKBoNKZ=7#Q_R@1c~&xBZJ)5y_X z`%g|D9@)F8JXzDTlZcwomsCX0&SVt{j+?snHzYz``==zPiffLC+J{D_@@$f>k~qQP zC)T&>M|}=!C3QFT#hK}aVK>+ z^4thfjtEEsgL%b)0O}n~7Bd$g^g?PU{z4LAQT%Ugw1CAm_!zzTOXT6rUpp9E@t4cP z;9lO)Wx9W zG?iI;eGvMglt-*TFy<^Y6;hUeLfwn}9JNQ8)An-IeHd%^Z+4ZF_2wmbxnFueIw}A< zp|Nc*tvb@(jE2D-WP;VCBjv*^s-VP;6cUPT5Q0z$C4ARP@T`REb0thCmUdD}5f#Jz zhE)nS4iP65Yf}qW^F4f}=eOd&I^2i7##}MeC}zs4S*YSSyW45V@xtp6pQB`*lBv7- z8|1F3+#r8~krkM`&ZevfCR-&tyo;u3(iVL(IaAl}e^RASKENl_3O|`S;U_cvPpb8a zWLwsOmO`OF?4U@;)7;JW^I|9bvIp z5MG`-%88{GIj9fhgQ3iieU@18aFmKlF;nZDR~E*adDmwdLUPez-~YAu!oOe^Ojp-D z$xx&_kZgy%kAsvkc53hqSIQmb{nPJ6GkFZ1$AlW~^trdw{ziDwu~N5ZIO%n8f1rk( zTx)rvGQ1b?)KqGl8tU|O7bS1uC1}xkj(d_wL|6lR1VS#^87!mFaZnuH#tIY$_a9Q{ zy&t3fn7ud7UKd*F$Qr6wX742>mNYCamMf-RCBbqbEoM`redJiBBQnDPp;^8Sc$&1y zH{M`|ff;CWsII^$KqzFW=fjM6=-zK=bm;9*oK*52)U00SQrm8gAE1&1>%_5c0O~%5~SSZ)bd!f$}QmHCpV}%+^qk9LaV5XLy6| z7b`+NmjMQDtUHGXeBK+`peYSKxsJk7_(6{byr)ByD77m4baiK{LU&A4ky)}9TK6WU zxoJUk!!>-J+0woLn$UtlCQ?hRc|jAtrTt?B5|4)Nz$k!dc3De@yMQ#`LccY1y$is` zn)?u+?7hL&@788ivC2Wk^j#&+t@%I#zrF#l?p8H!+GOTt%ShB|9!!L(r4{n-f7-ul zCR1mOTC^V>T+bRN4iumrTjuxQ3wp6D(H8T?(|zyK(`{xoG1A^?Oe!VI3Rks2+M@*V zzAut_BylVU&jV(FV} zx--`paL54K9$L`nG#{SZS?aVX?5Txj!yISxPsQ6_4Bhb(zT$wVX)06HR5{YXxEFmfZaKW?3)BSMMttbSBt}vcwJINjep> zKR4v(TTzfA9$MbUBZL`?8XOmEn@_R;xDlqClX|qnJHyVT0^OS&P+zTbi2-Vy)#^8b zdexj2gf-I+Pibat0K<%ry2~d!+(C=@EL@Zc?*QxN-%I1AupJoMMxIN z%+yu4<&ZI%VB~J8cdmJY0Bs1Gx0>erC4Qe0Bi(QK!=R_3MSEh`{MuWbd*jYrowoR; z>n<#)^NDGNbxvM&Sgy{*RKJ3`d>&1)ELTRn zxzdlJ&6hEh&+oO(I|pDm>8jgoKe|d2TMP8p0uysfNqCfOphVk~w~x*6*aT*~A z+zaU5=2-I%eAUlv4(#| z`U&KPto{bvehN*C!~3uYwuWt7UG4RT=&`nXpCCirJK>LSFAd^rcid>GQ7AH7JR!IN zH;QAwxZo*TJDP0?#rm`Q>=>gTuf(RfGqGIQi?JiGA|OI%fOHGm-*-Ah5j->)LVZIf0@I+Ktbtvk-yA7JT_2S$zSF*_y0fs zGSlHGGIf9RcYlGu%r|ZTz5k#3%d{2L@Za^9`O5PekDR|uMS;Ieh4++*2!1^i`^$WU zPXm9M_nQN!DQUC*GM~O)Ow?cIFY`&O?|tn3Ijx*5l~*Vxm^F?}BrIJ8j2o^r%C%C$_rQ#xj968tl?v%doXEY$TbV6a zhzaR{2}z2ngZ;T87q}JxjgONGh~6~(#R{<=f6@AU#)`tGTZxL@>5J!B#D?}>xWyQJ zb*w&gZ-vjZ6aqLHuVQ{>0h$vvJQLH@8J`I>q2Daca9%!Q0`SJWM9>g9WJH^=EW>c zA0ks_9+FlFwG$9>2-M2QB zB`$Ydd_0i$v-zeR7kM8@{knozOxnM(RN7Bnt4BM$h@COPyqw%3Az#=DA(W(;TG(I~ z$Zg)ar>Lq;NKBhsO!pRR`%P$_v}&=o*AkywFYV&>76r(dFc#*Og0reQV9ci^jM@^{ zAOm=%E@iM}<=%`2k3qI)wfW21&68N2ag0sfLS@;R zIs3x6e2k_0=cOaX_DuYT3h9B=%m_6zB;&x~2c#qaMt~2w^~(JWL{t+a);tPVm}nxA z5BgCJ>2uf7z{<^j4j)5#rih%f=r7J{MeCF5@^8z2V*R@amEIxruasXdy)Kalw4X%Q zU20tCG~eGL^;hw1()-1C#$98*xjIiodS|}i~sWiZCC1J z00MYM?EEaVCyDfI1Sd;?@~evE{n}vtLgz>ZRCj9!p34tr*Fw}1crT38KuB2c-YSjP zhV0h$c!iRa2RaGU`i(n?>XxsM#crqoS^KdjVtvfzB4kEw_S3VB$~)qG)8ipUc>_nQ z2Zv$i=X<%sn;y|j11Kdrv66ZZH~FtH^v8IYT@B8g(#Ank;H?mOCt@dEb(65BNvUi5 z_aNR5Fxi+!QZJ^bp>}wVdqhUjEGR-P$io7hofyISud}{CaU?CW;)C`5%QeA`{7Co} zYUpVVgCeC0!)qxb9aok?B|k8seN(9WI|h1?K!0qfrsS7C=uf^q2l^YN#QJPwSm8^} z2V@w;i3WX^_wHi_Ar>XipF2k{(>2&J^4`Kcnoo97lqg`GsR!WU`bVm~?_Z^t{bZTl zFO1qF@?ciJ=~P+@OzQj`P^MnI=4(}~G&v1^BFsZwZ@(=RC|GYVLGNnUCF5hd>bAkq zqCtORWv>?m*N*#eu!q=XPI|>ZVV0A)=iPIfI<_m; zHW2Fhcfr@CA2~PnBj|Qkws=F5`^f~#9gfZb{+;`$nV6_%J_-NF8XY| zZBGI^{D^nuN6X5>Js4k3*OFV*-;;Ti>#w<;_+3_a2|?Il;Rn9g{+w)=Pco7-L6^yg z^oBml_E|dBY@hQW{_&OhDkldZeudBWQD?^Li|){bBpQARAnJI<`w=sr>_x0$-g<~?r2Y4i;wA**LfGnN=I2Ft-Lu<5J$0s$)I^Y z?ctGyg~@35tbe;nx6|_+^w>fs)?(7UvSpD_)7D$*xGHiwWSpP^9de5|T`I@IMR;S0 z{%}J6`i1@e9=M0XU+31tj~!Q1mCc;tTWLYT94f89^tyC?%F1i7ZrFx)gHD74h(R6n z-nEPhD@y|4#+9e`!7%_LNOwUz++$Zv)Z9mgugCUN(BAxV<5OzXisXOHEmmlnOT?`b zeS5b3QbwW$HGMY&WJ>ScC|!3lZOQ7p4}91f76|3AIuqs#%r1g50v04{`!e$t3R;ja zFcy$f?_-q9{K_@{2hP6dMJ!ubEuH=stDV#_BAZu{_UGvcx9s;L*hiXrD-aKYg{m}v zyx+f=i^>$6h1dtPU0kd6#xJCJiNiVJZTUN%7ujR-{N!&hpJ>30-wX83+P^^V*U&jU z0H2na)AlUHY?JrIO-9BLUbO!=cUK>Yx9++vp}YGG1b%0^?+%im$Zq)$eIOL!gTDl3 zLRox}3|F8JH+&29(`Srta_M*$v_G548n*-U%q|$#U)&N5>q*(s{L)gO!Rq)+3C_7V)=_Vr+M@dx055_O++3Y6?)npfK)xu)4c1KV*fziu$1R{c-tw zRKMw$#5q7XKi=4|#BpC@+>t%lNfrI}Z(-cyZTK5Z(W23IIeYJApo6{vI6CB;d82zE znEI{%UHp5!OEAJ{&w{9jLvk3ltb_XrygDoSO$NH1j^ z?u@|R3p${m0B>I7g*`FJTPz7j2L8?VL0GqvuR--a~tKE+1=-zE;qJLxK-fC{I?h>%(sE4p4eL z$viar@Xcf?JQ9~2B0Ngv(LDUghuSAS#$ml=LPd@-g@%+FQXtH20y5Ge%(Qzi6ScVu5Kl0;Yt0u)%7ZSTN2U7LETyx@ z($6w^^YazPfea41#e9Z^=Xue5_MiLn*?(SA9`I=h_6v?T)&x7Z*)I1ie%_lGsf(T# zL1ex)4N@hc*1MSY@9>7UiL_qfh^9)97OmwUwP$5-l#fjHCwFKBZpagi4w7ix{iVlF z+3@dCKp}pNv@Vd3P|u41lYEU3#*nJij=PST-VdQVn$=qqnHlb-Hr)QMhZ_Fe zwLiEV+24TO9+t3NAa$Zy9aiKB$F^J8Zn#zJg;dAMcge;tuFLzEBQ!#^2*nTV;KO0| z5&5VR`KK>Kg}TN27m_p(N$_4rId2R~QX_P@guxI(@GCi6tst9$zAyZE5g$M9ecC?8 z8!Yvqk{8^o=;{s;ewJ1oJ^=N(^5;YT%i-e)QS3OcwmJ35y8L_@nqx^Js5^E)u^llSVAY)>_Rh29o$ zjstfx=D3&RQcv=Wg$>>pb0wZeVK&#FC~knaNLGX*z;w93940#gE`i9vq_l_=yx&Dz zlMFgtowKGUImrPwBkdf4%G2y56HtURgY{SN@#o{nOkM&Mx7HTIhbc@@cH6vK;1i7D z3x8&!h3*}t_m`^e8k)zr$Mt;lyjf@fpXBjDr}JR+QXya|Z#FTIS=gwj4c@2qXoU8w z&Ei#727^ijgg>Zf7Y*opaszr)z%TgpW&C(Xd-g^`UwW8R@)JalSd$z4ZtS7iA7;E0 zXq^1Po$U7|TrjfgOT8Lggc9C=9FC@{Rej8Ngc0_>qx%ifb6z8>P3l7XxD}5s^Us$*q3Naa)#?j*yHN7uooWcOI-;|2wQOF5sD zsp9h9c~vrOXNUV7s{3&UEtyGHpb+%cbfJ0F4lO&kqJXPu8_T8ZzT?wc8^P8Cv?zUWwKQP4{TeQG-D{=Rn4)wEObCwuhkUci%cg4EjD925f*~=C!IO`31+s2qd zD9}e{06t^+2EDV5#(=n&YE5L5B`<29qX63_;jG%LQyp@m(uOV{g&L`OrZZ#+)JknD z$5N+ljwI~|(iiZiBel6W6vBV?`nAdu^Jilsqc;%2S zgTLcKx%2b%l9fj7JY|>B0&rd6R)ZHq$`{9-T9;3I^EKFCSv_+BI z{R%E>XSLF}KBw&fk%6qSa6C^+F@C+V_Po&jhZdz%cs?!{b{GHT97a3){$RM3sZ^?z ze17m#viZS9Vrfqo6xP1Bl&URY>TP?_C^b0cf1{0kJZU%lQC{RZM_AhivC z)@{=|yz1Pa)fdEM3j3|o)}NanAM-!^EYiEJ{~#E>J%OI%p+&1syFkzy%XKHGH}I7P zM-#I^t5J{HmOO79qqlEB7Yo^N)L-NhGpYFTScbYo&000LGc9B36DEyR#@yeC@KM6ciRJ?QBKKwY zrdlWStJJ(vcYalB-fLLtQuD^#`O{MK-bjMWiN=~(^S;CpU~|k*4!*`F`w5d`?zBdK z`X5a*)U1xw>5VY}ZUkUOtn$q`plgaj!_7M2Yx;7soW@-CiJFTAI!q7y6-?wl#f)Dy zU$cF6IO3KwU0Nb;q>A%doNG9@a-L?n9=JGnb{`2hmkHvK8F&Zpdw>$WcdpWQMmHcz z0y@U;GqmatPBY#FZ(^SILZAP8=7+rJxE*VLQKPcPY5Q}6B@~mIJeT9mzx3R=5P(r6 zAp=8N4q0g)0g9hHT3f|wg&{}AcJJf7W^WKrdK}Jcp`M+Z$?M(8g0FzPz<|5JfV)7z z<*no%;noV_7K@*?INnUnPxwxKPvC?XZ{8fkXaO(#Ig&<~iGCd?s8kqC=2jU<=GF)z zskzh0V@*oCTHe0x@wkk9ZGTD}ZT)!+U%+_tChtKb672IbHV)GeO-XSu*{{C`2Bfl*z`0nYR-7JgQQGc( zdcN@N5BwgBrOs;9R23tEaRX*j{I77?JVKDyOgJDo2Ixq?!CZBTx(zsF^A!sI!9 zi>kIR4L?nbvYq2x+Maj1E|AaNgX%Z_7q|GOx+3$;`ugudYup7QuiXePhgV1u|=MsdkLJp8<+5d9bry^5EQhghB4eCBk?_ zE5E<%oU&w{g@VrMtVzPE@LsMks}nKHL8{t9@_N(A=r!jt+lM>&JGO6% z-#)DGYNUe63mTcfR0~Or=PPY;t+ZMVy2GCjXNeeiP~4sg{1p!YG6H6RPZe+5kAkin z8u;zmdw#AxrS+G#Z^LZ=FS~!|xc4o;73*Q3=3x|ww-}8pcObG(e==@WN*E7&pQBy~ zPCUJ=LAGbIE*MjK8K#wX_sXUy$k`;Jwt&`{&w#w0QfMK_OsJ@@{APR$2}^r#-sNvXKf3M3!~WOa?V z_90?iGYg=C=*wax*OTN2C#NiT4bnsvAy+fJ?$?|(K2xKBUxIwiy$#*he)4O= z09@bUu3@U~SiU~)ei{;cX+x}SN6dZJB>cCC8oH~G);^rz_Bvx>b{7FnllEn2r9NsMZHGkKvu z^ItqKnEAmXU^4P{Z_~X5h0%GYK8rv$bLPN2qG5PHbrmVDfllg5>UwCv}|QII>tnc80Gbd&JuWj{pc~3OWmv zx7fatLKf5ogr^9EBPZ%{Q~q%=01c~et?|D5b76I~L5+sy<(&vg(>;+7VZnmo^B?`= z^+&VS*FsLw|A^cLIZ5=iQrr6w+$OVfp%r!tXRVExs%zxlDW*RH!i9F#D%8v+5L%7xL5@1@dqN)mwKz0`b;V zWHjQ2t5T8IIMt*gW1Oa?B5x%Bvv5Jm^IImz;JomtoRwiYa>gB}dA}v3V9&(?@7xc8 z25+-}lfm;K`7FxxZ3%=GIXyx957v04p8C&1pE-*xdo+k4Bfu-pE@u7v5jVGd?hMoC z`|@U)j2hExQ3x#2QSm}^^?h&0~aSV%zccepR!-N|e8_Z`7GTc4V5}$K@gVI9!?$PJx z^=-a?^uIq2ZcQ8w{fSlzhu3?Toh=&LyrbjV9RTlW&J9j?vFSBr>=n^mGKmMjFwop zowi>l?-mzA)igpqY|Wwnm4(R0yesYBJ6(&VKQ)h3(mRrC`_dnqz{OfCgI;!~sj9-c zscHUB*IE49ouk;fj9IsTP+-Wb0*q>i*gC1a0}-Uy>GoQ3qsV?$Lxpt~HeK3m?;rnF zP0u!aoI}dE@kaNMDpvx!UWo;z>?!dpxvH&wrPo%!FeH#)3YQyGvG3092UbFC-{sq@ z3h3=m_8f%X7SP$@ZHU#@691s}4c#Y8N0y#!k^ZWTJ{fU^o`|?YPefeFKD*V(@4B70 zJ#Ltjhu@*m*ZeY=;LqyYSDA{$kGN=_hM60oo(Az`ia_F1|m@3g}G%}VEUDL$57=lO?=o&mc` zRyW0G7325t^)#puzn~9CyA`Q&cP>kH74kF4DfaS{5{67kZUgep=qa#Xdnz0x<}1Ocs( z`atS|RD@+hHn0dQMWj{9kqXF&PyZ}u79{Y|`_Y&YesH1is+9B@)F*!bq=UX+SeFV= z|1x!Zc^@I`%YEYp+<*QI&ruwW!v_C**iY0Y?qH_w|18qRJcZ@JD0j`lW&6>H+mF_) z>zs0Sb;J_g7isHD!q~>j@%1S`v;TXwiD{vG`}@7BeM8-Q$~O@{ANpe7pA7z?duPD) zgxDtaF#ab4QZ)p+G>v>%LCg9e3W^2t;Xw!>0cYvO)3h|Cq{ET^M!K8103Y9?)Lei+ zmt}ExYHk>6UIW@5li89ulK&7ajh56byrGV8+%+~7sY(dr8>xAa$ui!_)cyN~#UoRK zpAl&i{Fb=;tpqCDovB;PXUe6}**mj$LAkq)$$tt}&*Y!ndQNI`3hxCOw}gncfE(v* z*C{dw`fGZyXGy{I%j(Cn^1QhfWG!`MDes?Vi_C#c-C+zBJ`5dfK^3L*QzKMe%>jRj z?zg6`uA1F9@&Sy4WweDPiZmxZuV#5_0h;&ua2UI8CS>3;v;)y;?zT+bzjkQc6Wbub zG~3#o)w+rYaTuEhU(c^}x2dwweUXagsS0Mc(Hq~mU+sPCeGs=|By()N&10>j^}R3e z;;U=7mgj+jvWWNzzYB>W*TwU(VB!Tpq`dL;#(efH`p4KELi}!eAN)xyGG^d;=U;FC{3NDc{wg1*$2{n z3@cua+N(dsEFkzweaanU9rV@5)GY;!@}Y9qEw zi={fVMkcKn^?6X6=;*G3ph>QZVSznUFh^Eq8TbQ$_fR=|cfKdr@u^wB%T*tF7r~Y{ zO&#-`B_xqf5&=+pD)cn?ksanaq8H*@eW^D)6gDS<@t}e9ih&RUvvksgm^JyG@Y~iu z>rc$32t+K2NpqZ3E9z0yVA_pvO_Q467Bs<(z>0^p2C*!kqtzm-C9?XIe-@JpyZC^u zZT;*jr)7P@CPHtLs3SpY8D;|O4f8s61f~}a0g+paQPYuQnwd`eJ5BA>)EEzAmhcJ4 z;9iM7ueO7ELz1^47~|x$ z1OK>8-N)whC>?zW*$XGC0ra@|vUXtECs;6$vKj`Wo5ZNLr;-nOeJ#pcy5?96BuNY; z1e=l8aZZJvesK8xI?qXNO3s$&H=NcYdb0=wTLf=LuDg_y1}*{#7PY1pg(WFf2q*)? zVWgFoMe`F&Gt-zYHIdML zB(YLo*t0U*o#k+Ly3a(m+YQR=>UD*1v0Sz!LGH9Ita7r8lK;Ui^_ zPVVDj`Kqh+%4$*?M_e~&?gKJ7Ar3X_i9cr1buZu2Xq>Il0hvl< zx=LZHN-bc_7ck}vT2l+cKE{w_I`uvUdTM|v{TOHVBi?$|bo;~ia0|ahycQ99!%Hqk zec)%Ry`k|rFnX7LQT^C&vlzWEidTxn?GA)PRxc)}dLVzLv&@ggGKS!Oi{_ynwOxx2 zXL)ZyCEMLy?Q^&j>iIW@g<(HSS+Bp#Z}i^U=W>Y3;;C<2JSsr@7D@Bd*WMWqMW4sN z@y?EQd%5|flTP0GAg(NBu~2j`8Sm+O$3q}#Xue#P;;FTFF}z<1#(nL#xPf1AbVv5a zlio4wwSrBuEwNJb8$$QZ2YqjS?>|@B;Brx<`$I?r<9S>Go9bVs4LsMKeu|>ewd)T0|E>AYq7~aN?>U%GF4t9XjMc0o|`))2PIm@iuwt zqhXJ0!4QGvq$`Zz4rI3zGOM$maApxHrMJQQAcs4#g>b&oI;gw~ut``WVmm+`(=(V%f2g}cJRWM?8qBII~_-U*mH zFnqk`E<7rA!I-wJsIh z$<&=}UD8;|aez~+zpoI>C>Mvv+NL#z)+K}9&`Y%~%L&REyx2uR!Ua57fxjKJgLMO1 z;`uO^nFj*l)J~~bJp;%-ECL0gwCn2@ZUzMMODOtk#7~T?o3f58aHri`0 zL5M>ba1k4SzW0HXfLz<_$x%leGhI=W-}~x#J@M5e0YjN(rL2{KyrjW8G)d|B;!c{p z43b!9G@t2a7$H&s0#I}_uCW$)X5{);kcPwGUz<5{J%ZTk`VKPph+A&K9U^@z^4V(7 z(QC})8lZP zA!7TO9sb1loBYIx!YJxh25Uj^tDh9<;@}_=K!{R|ayqFwB1BTgH~E~p5LH!KQcPx9 z&i)5{DR3-tyl-#Mjz1mN-W>Ryyq+BK@z=*>Z5Y~}-7VDQV`YP34%&zz7K@WcNrNcN zC|q0*8q^{w*9RgpjQj3bYN6+yB3GMI>M*6RV&aWXMP|5t_ef;RRB;GwS3U&(rH~=*7@8wp}O^UCA=_!2y`@84x51jHH z`4KGU#N2w&P-+69AE;P>f3fuS9tK_TkEhp<63QOx`CD+%$G_#r3IDu2A^U64=F9P& zDa5}hDAG~pq(G7z0t9?Ev`+pHn(xrxs>T56UQIYT^nH6TSSln$w9HqKfA{%I#WacCdQZa(NW%>j^BO{H#X{&d)da`5Fr;r!oJ*8wb0Y zsr&NTj3Mp5TMk=MxwfCKXqv)!nr$K_2(2b}*GkOxE~{7XpGp2!9i`pYXvIUeDpXSo zi-^h6xP?o?LW_3@)}*h4^dp1P2M2Ep^nMgA9XFu3yB`VzlK}qMQ%?&P5hN-ISWx;h zN;m%_wZP_6gy2g*IAaH!0Z33+P?czn1d-tHzd7F5Dy*fDbR6n<+j<$$BeQ3}E~25` z?bC~Dy>Gs($?*}5d0;E}Z?^B3NB=k5hkTZe#v>pHrGrGY4S*kFqFihHy>pI2xM5R( z**m>6_^AYra;1ZaEnrL+0Q?0j_+QEY8YgvU7vFM{Jv4QvNr$OBzvSQhx_|n%fBK<+ zvcyNJJAdw9iSy*^M>wVK{58krsXHYO#8VIL@lT$A(yT!Md1#EYDHy(t<^twS>2{t( zoAG+-uaY@&KIGN z+k4kum#O=fUqDl~0Ib7bQJ(_cdS_uFPjlZSHB|N;*HPTFwCF}!q@w7J8cfO0X6hn- zsh^?#8!>%9Yi&?x#XetwVETghiz5X4CCK}1%Fr(##`L0ADHXhr``cRV(^^yQO;WZh z7hORb-9X!}#EDFv9!k<(&0p_3N2zO9zJRhJ`BF*4)EXLhW2WxAbOb=%Skxj5=ch%N zTZ>N5wg`uw7QaEDG7Wm{MWHfsoHZy(eT5A=p`<-^h3%o$I{?%+bH^4}3Ke95h~BJu z9o7|nj^3uL7JdxOW`Da!bQ^z`wfNPtnDT>EC2Mcv|7QMoWa=Ix@DZQiZBYowXWb<` zob+9LfJfz$n=6;xR=H##Qu&y7hQ$beMfcm?j&1Fv$8tMvbE7xME4RkeOLi#4sk5W9 zUpsD8_N$_Nv$T-snmJ>6&fS) zmlX-|?{QtusR{Kw!VhsAS75TZ)$`#`N7*(FnL*44izLi1gTkRBb^R^}mT#q?)?y@F zU%(ALov=5;7J;UffxzC4M!S&>7(54tM{wx$KKH7;DI}1HzGikLH^$saazaCuGf1nY z%IW1CYug;^ahUPIr-rQViL>Jf;Hct}no~y@>wwOfloV1#bF%|ItfYVciCzjLN>k75 zy|XhN*ZddSuh8H5JKxX&XU_4Vo&!RP(7o%l`;&9cW;MHot%l)S9$x8fensuH-0$pi z_jK|cD~yJOdVa!p@zjyA)Q71}-ACefQuPKRgPQ@xU^LvryUrY7mjrh>X_q}f#r|_} zczmuetq9I0MvZjlq23v)MH8UaFlA?mv2t$oh2EnPfpdq+U{nKTdEDhCx=^HwHid%v zl^Mved~d3awY?Gg!kdz)D%r3p{>Dn_%ki;4$8Vnc_wTg1BQ>KVg-%8NleQcc_k{h^ zB4FKNbm$^|@q1^=7_k)UYPO3VsVN=k#77o)@Wi@lA82N^8k#LreakQn=)6MpN`;~b z$g&ukj?~l+mq!QdW2EiR$?1{IFC*P=hC}RODb?>J;nBMLS&_M0{y7?VWmhDlAX_z2@LC$BE@?+lPhl`%`jtKgQbat8+Qo?DPSaxtb zf4#AfvlO*mcAd7Vj;if<^}Kfb!y*L{*rOnX_|h|Qp(*+c-3tL3z86aG-!^(B24C?Q zgiGL4=^m@hhWmd}qtS+OZ3*3baV-nRbeut^@Q-8GFGp(0!*D{T?gQ`h9aZ`mxZ|Bl z$tlSp)e)A5=pw3#y9)?}8NKN=WYSv4eFmEvGT&p~Yv0Y|?|aO|j4d1HhTn1%NyCNHCzhABzd%q)$i4wel_f zh`VxK_{u(s^g<2FTv%xcBYRgY;FM%!^Fj#oS}E z7!!pJw5Lyee<=D`rta_ccKTaivSN7iJ;9selz53ZLs3)&k7w$x;z`#-Vu8w}Du(At zGdE!i{x54&-v~aseUYD*i!I%rsXNVH7I#vno!xeLS0DV{z0GQ{rWAt%T|_qUm4rDv zW)|te=q4EiVG}DdLkwe6PIRzWOhHop?roF@0di8)kJrzeaypV-33 z){=t$yC*)R+mwmJex83UEpO|Tg7Q-5x%wu3;tj0^nQL_dGKUqw#YcnyBK~++N3EvZ zm=8<;8jQF3I~2`dihuKL760D7I!OVF#o#wZah-@NOjtK(9qAaP~!$H(V9GLL4e|6Xrq zF>*9B{r19Z^|$-HPjRa(G1o~?PcSpQe-b@NPjAuhFZ;h=I*s2ce!F!Mt9klA>(0&o z(+}y*>-D>If@u8eMe0zS-u_aHEjraND66%s*FB95c4v1xkrV0aGblzpK*IytrpvoQ z;p7CLft9SF4a@)d<6y5Fz}vmQcGcnO_>>Coz+{d05Trk?R38hlC2s*F=Gg^1*QYqU zlLKwavUxs>qDZ~d5OdWG1zx|~yn+iRRKjDmF zXul!NZtboOAqN6s!s#=0UwL)pio&h zyN`P-!Y2HR7gU^Kd*ezS){tm7G5vvKfo-Pl^iwJN1mmc9)C5g^;QX=>t!!^>$ka{Z zse0B$+4QWIp5dYN{8fM26zJ2%dF4{KgN}TKpyC~F%00RKXI1DyxAXJG@4J?~-E@4+ zNxjE$v2x-0;SwOVCGjc6`UnD(>D&!umf%Hox3H571V1{7 zk4?6N{D$$oL7jXTPqUqb{`&pAo_=b}=wanF?3aaNL9{~ZJ+yg- zwz4$!OS*1q6V*<3(sjETboHgh!BImapQ$@K=u?Z@8+OuPu=|EW8uLzuA?)KHRw*u) z3h`9?G96ZA>VByL+%MT@0#-9D0j?;lx7+l71Nf5hcA4tlFIy-uDO30I$?C0SFB=#J z<@yPym#vTW(if8TC_Al=ot<&{} zMo|ptnpOPTh{(=u79r&JA>PkT3~3k8Oz#TCck-^x(jFZVvh9Zl={!lAF?ZuGQr4s7!-vR2uv!hjLt zN#uJtQgLRVoKi$75m34~73y!p41Larl?X2=-ryB zJO5qkN{Gb9CZ=3m(?iU)>3OO=-Uh9kR$RHVj{iK;sEmp792{~F{9b@q~;Gh~Ta|cHLx4WMqy*BOqwD{RX8lgWFa zM(x<v|7e+6;pO%(6nOP6guL6EC_ni5V znf1-$hrDO}7;QN00Tq&|QK@@eS=vC4BmA~V zIQoTsJ@Rg+4fX@4qCsZoKFFeXB{Mqz+E?sj3&m|Ittx<_WD`sF*VkP z?ps*9JmpmQ+n zzzxqWb$x@~+mh96WRlJf?;2 zQ$M>m=D<-jVB5TYEd3LK!v}^RAeH5`kF0R`TA`(Gai{LPPsKL2%)53ZnQ)yMYsPfnb@x4%3w?Qg55LJiq~ zth>K_Z+}H1wA|%Rx5u>7y^6j4Rpk4zTUB+9h750$B9+v=2-IA)HQQ>74$dPU5Z}s+c?jy|E$8b=;li*B1|Mn!>-_&f-(icwI8Jp37LR?xA6ePlZpoWNH)5 z3hVwJ-S>3gZ&+qfcSm)1Ect^N>MUxA-9DyMsQWWCaMae&;YJ{{P+}9afsv7K6Olx z7^Pwj5OJ^Chp&AqfIG^sMhfv6$;WMY9K2OKzC_@#!xZpLkH8 z;LEo2n-&A`_*6iD$y5zO%+tL+y0=UB&{+-J2x<5hGmvq=W&QxwaC62xjZbFQFOJcS z?X%-XJ3eg3&2}8L<5oL9V#n=v9J1q1JO0{^PuOvn9iOt}OZ6)G8T-A*j=#0z@9g+{ zJ9>6}(T*?K@eg(!wc{T-7SHxa9?3y?J&F&*qKiZK?u^}E9{j~ZKYoSqImf@4Y*TxN3SBRKUof{{lkIpa8;|+3c`wsDi@!F1 z(F&|amcrm7hfa`!sls^||9cGmn8>Nc$PUbqT_a!e=fA^v@Xr?-E&GHYyL4qAarSgE zs>4`v$e%@*fK{1Uqelytf3)LkcHC>nF*_cx;~RE-%Z_CRzY056*>RE`YwS4Hj??UT zxE*Wlc!V8Ku;WP_vpT=1i<0muB0nPC&yPj+mQ@i%nm7`#lbVieI;-~WVvl9#n!)%f zkH)Uqbb)&mb7WqvJX$Lk*6fW`h7?X3sqEe}>f9Z#9E{K2N}45ODu!ds2jc@V1i_T? z;8Dwgo>f4ikfcS zt3Ki=5D%J%5}`*@BV1nly4IPUE-<>r?C;F_EUzMExm-Q`sJ zfoyU2@AZDPXUqLz&XLV?ACv-U?t_>kM?=y6F62z?X*lro&V7&o&#ns|?BZTang6?? z)PczH%M){vn!CYgu;#+nSp4iDXE?99L!6;ab9Zq@ik-WMGnhHoQ|-B?Tc_TN%yYV} zOMd&|aq(yVaxRWd(M_3I7uIEAAb9DXgn9Y{d@2x=7`VWVjb{Fb7YqUF7gXoLluUByHiUn}b z);H|_sYpIqw{uP9nSGm5ir0~(i}dwy z8g6WbBEyg^YB%(hOEyHX6joogX>X*ZEAb-P$5)mmYB$tRE_#T3At!!yU{~y#5;dKduOKZLq*>UJxad^>f#ZYz%D}vpy7FO>_eAz#lH<1<%yHj)BUx6qcT>62Htg_zj5~qc zFY=?H_~JQ{6?p{Df6qv-q)l?tf+Kb-+%+wu-51nU?44WFkRT*yYNqZoL>Sb^>ft5) zEGk*=mKVI+Z0}aS6=r^Q2{oO)^J*Z1WIkN9QoB23F@uphRoyJSaX2@E{-Ljrxr4KJ zBG_c=zDc1QaP<;e_=YKym))&uQh&%q)a;Y|_eMBJL;aD{Gkx7-6_`)m7+R5AW>9PK z+gaM~6L#U+VTNn|00JSWj6473H-I5krmZ8G&3O>FV#uOA$c>S#?a4j~DiU+!zL&m5gp;GR^vo zhAlJeV+E}%pog7>^QqPvD->VG_;g+sG#hyzMSY);_YnpjkD8e4+FbdcbfYrBMyzGO zkfxb#sQJDMj=W@r^N@X^Y)!sP(~Y8pnZWBQ3gJ$+Ea-@U&AMY+2O zdhm(qyuqp>)rRRhuF7#(j~WBS(tknC$%@ z@MNUgdxd=u-BA>y0B7OpC|;)`(gWp%2IYm>A*%Ho=#)Y$EGOG}OLZOg&c0ECx^&K= zo{!mEQbnadkWqUvozZ{}w_6jZ`?=Rm9VSn*hVCt4U#Y(>(^+Gv9qOs#bF|M*0O-u` zRfN{v$48^xsQxSVa<@U8kSXDAm?A*&Q=qzzi{Z3-IOo=tp`PySHxQn7R8l_icm8{G zHr#v5gGI%pK7)vK%a~Cdngl?l_Hq}lOfXsB)S$^;#Q7b^X(i1Lx852~95LtC)5i_d zLLdm7y{A5v1Ma#Xqn!x!d>V(mSu;1sZTwc+N(ldwILznd*fatsiWWgAu%&rN;#-Q< zQz9emn0Lvi74C>96r;+xvvLH+gC90_=`$+?Z?{wCx7n*x_}1>U!`( z>Uw-+$QIuxk23L=jy%Y8wsz*A5zzY_J!t8=rAgw=m`@WDb^cmjLQ;SpIdK0H*!?!mebRV z>b<|kBQbqhxitHT1*v%$DXsz~^ytQtM=S#EJPP;T8b$(c#|DFiYVD zXK!hDH|vva)#YW{9T@_@G(P9L6`>vx=I(77cbmVY=T@ynwrVZPu38_1^oM(1PMpkZ zSDl{O#^Sb3i(AQSZM?=!zVcZJ<;ZNv)SbX;EB4{##L;|z^XZw*-EWyBAgXk7zJl7n zS>aE?PWo>@7xC+Ue#KMQb^1{F2cQt2^Ic)4f*bD=CT5YqyQxzc;D@86@A@8(;0i&6 zJN3HZK{*%qWG^C^N&XEuP@d2>aT4Wq@q>5~?qWucr@p0YPI^uQSe!&ePcngX5m@wb zeV)2*1sjDyYoC^(V4HUp4qiGR!+sV#bbt*B46kdF)Qg141bs5o*&wu1HV&`UE%9GQe|-5GqhKZ{UoWz6isWm>6Di+=LW#CusrT2L>i@cj0hFaaI@66T z>u`q&ryunvx5oW)IW}m%n}feVn!b8PVyeyT;j{D*QS=z^E+zDZ17ucCH7Rtso@X6w z(SwqfZQZy_qQ<`A3Vq=&Y|(-@WaISn#xBm8x^>_T@kAF=yVg=*8YmSfzpEJlkOels%b5M(?BT#0Z|McRw@Lndl zhN}|RzLK1L`@(6e7R~dFn?KGwY`)T;JoWxY?s>DHldm&xr`iT`+3Pp8`6}M_dw{H^#ow8n;-oJiE?~z9f|b7_ z`k69ZTQj`UwVRG6jfg1lZ2G zi`H0F0B1g!DW{ZI#o^ulux6yTmGgIyFP1l{2*JeM&o%bd-jALUIxZy8X|++QYVRNI z&WG@1&>qMXZlTpt-EDhI@%|rlQa3>iajvuyuDACsh^gTHI(uLF0VMPJ0YJFBek7|c z&2d1)%aXn!{lmsRZ>jY!HHgJ^tG|pr*XYSQF(43rEf9d|A^<hHCv#^uj7fpVKwh)+R^8IRx{Vdx2$bUo~COoi7hEq-m)w|ePAuFrf#&a z9oCg~61h%X{W8Xgb1QwLAGmUA<%IcKJGi_u!-Ez*AdK%POztjeD^}nWRx4M~rY`#= zx_&v#(Mlaw4Me+I^m;1UI}p7)On3Qt5C7k@J<>9DW3R&mYtm2FjTIy0(4;#Zec9>1 z%b))L^q=YqFW6g_HtI~;!BVZ(En~foq!*)&*si`T3s&~8ze(Bg#$}YhMft&S+%Km( ziIyuUKh*OIO+%hLz{Z-tQ`6o3pv`fZU$p*j@y?~vxC86 zJ}gHN@;la-zT>xt7(sW_16buKln`WNG^VRL>MC+BO}U9`M=pjk^U7o1=)-hS&TSB^ zOE!|WKfOfGZmr(FpW1^m?|s`dnQVzfBxLG-_J)=2juDSQSt`l<{u_dm-#>Y_&Cml_ z04BvY?;}sEKUo~~F;w}3g@qCX0$g>|hS$v6HZ2IZKPyc%}gp2jW%ggK+MAUv!AAWae-RoZB<&@A04gsQB6Z6|U1FHv(MnE23=tZdE{IyZc%L zqyZbk^;BflHc-n?{F1JrB<1!g{t~y1gMX=&h4vAwQT7WK;=bXT|MS-L`DH%NL{w|O zThx!YZOsP%%YWp{9JJud$|7B3q2#pIzuUv}&^nZ&W$tD5w;z~Mc04(AGTglVz!CQQ zPxkvr`~3pH-HqLQDnmWr;inW;iub|Va8tZ{tTMFj^IRc?1K+sq5`Y>RNU1IjXDcaw zlysP%Erd{MfaQYc#XJ=w|WbfRm)rmiV7jALl*&XW#oF--txzMttA0W>6Z%)m0gU5M zUcJAb=11JI(7jK2|H`ftc$kaevDIb@V%xJtLZ*Ia;Omv33{PyGyTg?I)@c zzftUV(%hm$xt@v`uJ=hD1?RG`HY>6g*b81@itx@ON?QTDAy*~!w@S(E9k9ac<&g(kDT!NoN(<})1bu!u$65_5{e`%n6L(lA1z1PrJc zq&ITeG(w~Emn|cU3olzo=31Y_BcxgjH)sW6Pge4UUhJNG*qo zwxB6Bq|!U@K}fY+)=5^k)SrnFTNep=*`Q|{&MP*-3qR9QQT8+b+xhR}|1SPN!T;g( zyzu`=!M%%v^EWwXK?>s|aI24*dpzKfeGr_LMs)MsqfG3#@woW4qIYtEU%~qui=GO< zit!)($}i@8Q<@KY-1mNtq#Ozw{y++8@mBBroy_7q?x+dlzh?>+SYhQaRdii=G12!W z&z%iF@c*XzP10Nd*YS=iH%E@5!qq<+teVT6{xN^UIj(Dqu2VBmqvF69^E2c5MdeG$ z?ZZ0LuP${K^FdK+V=xfrsSsrVCsG5dl1Z>V!_mSzis~Y((x(X|KXjk zbM&#nas$5Oeoi-N8=be?Z^XCv<>SZ54Q5;_{34lq+0@0S|Dk(57y7?L;laoqo%C|h zNzJd#)ZH;E_+D5G&1vic)^RbrWW{HlWr={n5HsAXL6C6_31VPAE0Hcq0KoHxOxtm5;Z2U~dvA32ZJ_+7aPJDLnuI%pO?_6_fpDvR?k}^p_Zcg(Bp_RaHHZa&h3i>1 ze(Ca+)+cmIn+f|X_jVy=6!r?GDe)l)N^-47?H}}l+vy7}gNCA(_&_QG32>?dVG&zM zrtVxpgIN8ZTwNpGiCwmNf&he%waXB4@H8IHM3g3ZcI z-KS`cLRHtCsv9|VZBXeeF9lDh02G=_Irf@&5@<0Gc) z$x_)oa1!oqfEL+x$W=lh>+54xq?*W2+y zC6|=nqzY1~E7gbnW$8VlPVMGM9Y{mVHbU=n-+oQsO8b^&nTPj~TGRNk26*jF%uwGl zfI@GDggj7My8kZyHhu2UR$%SAQYK{|I=P4c=0E)ZnEMy_sH&@v8=qW;j9i>(iAF_@ z8a0Zosn{9}))_JbGcW^DL}LpYt0GUUHibm6iY80~InU`>yxWVFr>(7h>hqM|xMIkz1IC`NUT@q^4!N+<|9Yjd_lBaH`mP*b)(C((YQU4#Q6(~ zrb7oL5QgLOXoEU zgSu-;E~gRGr>FcQQH=+G@Ry3&K2m9K+Dgy>x$P%Ue;4LT1BU}Ju*tNQm)fs2b0=afW9(USJ-u9vf(jy zT}3urp$@1!MH}Y2fO(G0PMo|cq59#tIV3e}h3i5Fo-Crv2>%gH7Z)4tq{-=sj~f)X zgl#8N)@d+Z>Myv(LI$K`-?;q|K8m#Hk9{X$uXjd6y`o(C%XVNA`)hoJAr`GGbl!qP z@J?x28;q6Tm0FFYKm%BVFSloeL>X8f_I`PRzPtQyj)ub@e(HT9>J+KuX?ZBk8AOCheh3%g|&b9xu@t<#Pq|{GcU$Xt_o_F4lzslTs z=fwhPu$02gC*d7SwS9+j_x-|T=*`Pe>}L2zE<^JTG5d}#QgAAO0KeDC^h((LV`bvBa-tRa zT4DcHcDNy1rB_1LKncvR^Xs$OyG-_r8ghBRXooAZc|CC7dNT`dOYyju#o3*YoOZox zZzDUKn=BC+>Z!!VkG=OFl!^Xp{u2FFV*0Cpj@{M-O&U`B)w$Yn5^CR}Wv>4eyG`dN zLsCX^DGi(llUnPZ2kP@ZW>Q&4yYpi2pt|$bK1fsKspf;S_WcLPGK%o#hoJ}mAHEOe zGtr|Q|H~oBkolayevB7?fiLM}y+go|lIJ@m{0#KQv|M?mBIp=Yn)KQX#!mmV>x!!AsMG(^<2q|MkI!EyA!o|aU>=dtm}q{ zN~S9d23Y1q?Y7)b{cEp_5u=}cShV@DDd~~mj!@;bc=uaH&f$QFg*V!9 z_%t~rX}^;gyS@2fbF=yrP8tfqMJ9fu>-UPTvE`I2(|lNtp5k=QIB?<`W~+|tV-HdcE5B$s>AkGK7OlW>6;CC<#5pO z)U3NGs&|Wjevhtf;fBIK^yuiv>)EBJ9~O`6s!C|jtnq^P4`#}$|4f>;4Ju2b^x6&0 zBiS!d6kek@w7eIw-!nueo*s>Y(CFs^q|21OyiKUG4Q8bUZZ=!g+pn;375~<^m{b5+ zHZ5I@Bo&O|CznHN8BM`Cv1Af?_d_&#J1vmduf$2aM zoy`6Q8v|YI(gzDv&VhFoUmN(^=zX0lrwmrO-u?7Tt%Eln~7R&iR*Su5B{y9YB?u51`6b znIG>1!1;e10I-#`1Bwwp)G`c!3;Cf3oA}8B_%T#s&mL5IXNC))G7SQd8@Wso{c!dv zrF4O`9#px)+nAX7dQXouWGD=`WaQ3QhVtthb?KMX+;@*QBIjG^jH53HndVyN&&9^>ZsvpoO1#;5 z^I@&CV@motk^QqYj=0?d54jNe5$tbjZ-JHGS;z{;LXpFaoXapFVKgq zP{u6e=7zN$oCP_5U!zjo3t{LC&U$e+K)~qy6vZ(I)*Ustp_L5HLWVX(8`v$sB8Ep{ z_dag+S}{rN?U&+XLC#&0<3rbjDY3@`Ynm%ZLmUD@Ui=b$f`LWGqUCm;VAnF%|HXW<+&C2{xq*7y6Xw6DHPIjf@JJBfThmUiBH~x3Z-7@L{R|K)i`GZ;GgX$@yIFrj=am|gY ziDu6A#<7uBV(c}*jpVmit1r$IE~~7VDQ8}~10?NFvtVTfW$8uRKnqBrI>M9}KAw*7V z5`BcEkk6(zMJ?Lae;s-}WZ2bGX)4x>a1_ac`Jg)COI=O3{wWFK1(edFM(PMSu%AC& ztPDwyr)33cb*5gJ|1-=EcB>cPX=U|`%R}!^<=bC|K-hz>jj>bRjpIhDx+s_N&?*w!h zlmqYx(=>)j15>XdYA~nijpoY0*_cteC#Rbj{4D?J$+uq29+NqD{0{KAflV`kId-Ty zMb^1~xslvSfQQ#J=&ads#Tz z*L+~sZa!r6@>Fo6$XOGML$KpYwwnvly~{UIQ+Z4-R=r|J$70q^roNsfp#ccQ zdjdhsg`k=r0crbxZO$}qQiKb^&lO?L-TXgwgFx_Kgj@(zWW2U(0h+rZSMin$&%}-| zF=bA)Mu!sC5>s2x5^LZup*dDq zMXQ`OB`RpI4R=dZ!|_y4>s6Q3#(Wh%U#G0f(l;$9D!fLuKX5YTpuz5Z>3Jc%Ut3k- zNZNn;E`^pTDJleDq;+*5{72q=G7`SmM<@nO%b+8>Icz^0vF4O!>X~lLmYEgAW$K%Z zt6>BV!#v|vRP9PRoSh#_-))8(T8i)@dk}WqlQgSb%}PJy@Z%i3VqgxU#PCIoS(t#Z zAcmWB{jm)yp>MNbN-mTY)7?+G8`I*bb-CGQX!5WfZPN0Quji_1W&C}%y;W-3vBa>>F-#*S)3}I z6ZThnz0)&{($i%QYk+|WQ!nQoEw`TnRJv1xkXBARJpfm0wsi(Bxp$-B6U9jcqbRS_ zTmc2F&P`qgrp@g1hPFE0r3y|l6@1t2YSfYMH!R+dDnshTwnsH4`R+L%-w+NBQZTaH zpyNKv?99ao=IF0NYsXf@F!yor1 zXPFz#+P2AgmStDlVXX|TSv5KSJ?(#y1rc)4cL|4;S$=*Gc}ZAz+u|(=EIq%9`^F{e zUtuQ1&eilG#G@qEGr3$%?3rA_N}X9Sn@vy zz!;-W$2aSS7+UKGqNtAD-4zrZXQm~@{Lw;V(VyEXv-8kBk{6@Q_hk~AZp%Hq^J4^O z_DhUTeL-q_VFV@Vq`jrN9A^e6p(R}b?-{nwEk!x696Hi}@E&msBhY;*%*C<_bKUAN zHjGjLpKwTX*@PqTA%T;XP&FH3>ADG>-B2r`96a!gRnBC$^L4VMciUi-EA2s62zCj_ zoJ$5$<+2apTZNm;xa4;;xCIPT))UD3Tb8s<&IFFIK!sqdK{H=-@rJrk!C;nPpm0Ji zTTs{%%tv$%oL%o6k3XIdD@(rz>%fV$+uy4DMaRdcoVv?xgY7QPOKa3hseNFd+l7Pb z&o5s`w{Fu0%6H)_-Y0xUwwkv?%gxVJ|9QbHwRz`p?2LvV?qQL^^ufH6u@f1BYQ})1PvMqU=tML&k*~Mx>ItK=3=zO@LD~lK2Lp1+D_3^QFelOM@w?LPEl-L=GG*}UsV!p zztf~oo=Q*4*3RPoZma_N%a|j7jOhNx8ef{QE@7d=%sRMo1Mdd|A&JHE%mk&AXJpEz z13Cjag||bqYQY|W&jJ*mPPL;)19}NTtml#(VLxf6Fq%Zqq8F=-90EFjzfaw~P8?J6 zP-h!&Y=_f7s#H&+ECqR!2m0$c4Sz#Z8tV}CKg=TM>xRiSin)>{*qnI1Xip)fliGP` zaOrO$I*GLZ^GiR@MD6dkKKq?QU$UrI%DM7TWke5beq8cc1s#+JfrW_RkQYS(51F-0 z=}YY$ZJ!uF9EXYkA+Hdzsc{AWVC%)}I^JJ+NIpJ`*17nM;)2m^pDu?$({Tti*>wnn z;QgHqLKNer<1K=efj}NEhZ@WAOK?Z_rKS(f08+Z2LVZZXa&OgrPvpJD`sArPo3g&| zH+gRreLvNk>zT`I@|Pe8=>BR0_Ajj_ zbTfXJj5`ClJ{wwL+b(IAXvbV)NHIVUB(V)mzIffT*A^D~etm7B??wI|;_tus>)`KJ z{>}n1ZumFrLufHTT8lQ;c#4r%L0mExqP&qhBU( zyCZjH%AS6dLCW;RYOgDu*XOBpObs}j?$s1AQcI3S{zr*CReM7%H6JSQ7jNiLp3ivy zjLSSWG74wFNgjJT4l+)P+5YcyYQN?HPy$KwRa=?y({E0f^sls9biUPDyZ153Av9`Uv@& z%jda=0rvBlB6^Hxmow{7V>r7dXE+O^20-ZBd4{w7Khu&g=k+tUCX2c_c&EB9rx=Qw zXE^&FsT7X^ajy)Bx3~txkisrNoy(3h+FNR%B@JCB4?=1xM#H@ks7WQ`9;CtJfd77tOal+DgraCE1I8 zo9J0~|L=T3MxdCy&=#c7)^$bzaJ9Kt4rs4ASH}xUBLM!rC=ur4b0-!IcsT}RqL^y9tRk+ z{U=>oFyK@XK1ssiFG{d{3T_ue8uKIDYGfQOZwqXWkXekx(5gFbKi&5bq}BD&XHGrW z?V-;meuukw)_)yrB_lK06Z=7ndi?)QwEn>vcvd4g;UxJTZgQN2ada(vK<-ak%aBrK zEK`v`AKmnG_LiQjmiA0f;p6v69LqG8dWF*XJpY8qOUurr_gQH!iRg5{ZBc$TG)u474^U)r4p3;lza}sl{ zA)0P_ni|OOzai!e=ucrzbX(4Srdf|Ggufv$<<*NlnuEogX9Y=j6_4xczliyL@ciSo z39AUN*5q_hreITO_OVE$HaVvmLf6wTb7Kj(CgP5LV(Es$9r#f#K5b%QWw3f;A>lyh zM7dTSxnW|-h|YA4F$(@zFev) zPZUFIK9_Is9iJ;FJBC9&dakY+)cnWy_cI&m~H z_LPw^G)7y$6A*TE)}b1(vH2+H3-@SJ)CF2^4ES1t2|Owo3#MKt3Tg5P&0rCx5Px8F zvi=%duPp~#Uu-VL9~(vBP1rubDKKTQd{UL)dE>{FxaS69zwjH6vipMnY8ARS_&a{` z|2zC)Q$`m4<30uch#emtwzo#K!G0<#D@!>$LXmG>IJN7P`GM0I8ogmE2%UHup=1=Q z9Kg9-iT#Ys-Jikqv#@z<*q(?4kCb69h~#eWJG$1{;n79mkpn&MIiIvAj;4fRv7)sa z?mVsk*dF*xahyJu=ioC|pjr6hsa-Yy4t$`I;Ir4pi#Eap2*NBTyT3Lv$f9t0E;e^* z6OMuR2JznDb=TY0HPzaDx@5G4nPW+uEo5RVQIJS4mG2cJHDVvIVW|>hm-mQb$+WKd zpaF|VZ>{Vp5;v*_D~X0*%Kxpq#(orI|LVRJ1Rp7=B9m z>0gl@7?uh+g@O!*Pl%JT)j0*CFDcvU5jTf*>qs(Kwz65N(L5toiFJYGO4elXidDv2 zC3?iIX@R(CK=D3HpWXdsR@K#zJjjoTN9*Yzaf6Iv1~NeQ*b7$pPA9+Zq-9^?k_X`rGFDOCi+Lwk%E zZ_V4HMP^%?gC;j=LKhfi!mKHle?mhJi5g;@#&=OxRIoXtrNQGvClE-xpk4BQ@U& zv>fOP@Who)xf>jrUd}w57+g8Iq^LVwyJ3M}bnN74`(K(5lM5r(#UmjzWl-A5=vF0^{yFD^_cNK!$tA&+ z(@P%E`f0C~pKn;;qRHhfeFZIkR5&KG%jFywdOD<;Xp*R5VfMZ# z9Vs@dlm_uS1zJD6&Bevxi`-Mdq2rx6|1*qt&A!Lm{s!E~XB+SEoqHYcul`WuU9rb_ z*X%Lg)uhag_va|>-x%+I{U9&z3wI0|?@GqI^0SP0diQ4;?-INsX2)CnRNi=3?0>xD z`JkQxsGo7X4_dyL@fNPK|2K9fpoV|edAadM*YRhS%K;DBeAL*kbBL5byK!Rfv(IHd zyIwK5Wv+*<-RY=BeJ-{8lzCy0dTXWPaSEmEt)!79LD6QU^c8`Ey_5jSq40sVD*|{%f*thi@!^esYe^b zv-ZA!&+q>~ox9)u&&@Wj5MoW$jRpe)pndh3@pN%18>X6hlNf??H3VV%X$=9_O%EA? zN}Ca|H^z(bz+}duV(2*Js=N17#=&yOfjLr#PLOEgr;o$sAAFW^colbn*>TW3$&EvW z8Hb=52QJKzdex^5#GzUU_C65euVAj$1S#I`p0liVLTN?IkufYobT)Y7j(ATfz$cdP zE|@FBS;;f`rM)O2X3$`U9gB_FsKL+U#xfh@obu*n$t|abpHqEs7yqx+7n&jVj}^eb z7>R*#38quT)Ee;-vu$Q;c;HXVf9KxH_~3BdV2zy)9>hGB~J8?JNr}ttKlXke+XSoI#1N zu>IyjAD%Fp`H2-hhHeky_O$=ot6?#$#!?vE@;Tw25F*~bja1{#Y|U}3RvSNIh^_n0 zTysQUBR1?CCg2>-6;m}*x1)cgXQc^_^vTu`0U(O;I+V9|!w>xv3=$k`PRM$kuaJJCJuhm)?^=~yj5#ZFT|D|s(EA-X#cQJoor|*0PMMZ^$g++x$dH)Js95nk` zjY6q={v9jbIisyKY~-?$P9 zvt|ftgF0XOAYmmlQX4FZr|T>1Zbj?$P;b7L4$N1j?61h1qNRD$lUt5;%@uwot(hOF z5Hsyn(uovYnw$Us=kky}ml$Lxa47!g43xA0f=JAX@TKPT9Ems6!|6Iw-I=@*mJW-H z_h_%WAnkAcgW{i|DW>6M8QKq&w0US8xaprpPF0)jAb_C*>Eoj*To7bG7?_X+MGwsa zXW*`IPRWO<|1u4exK08kyM{o(G%LiTMvssl zP%Ef|9u0alO6R;0{}R>5>$OI&^+xqvvRzhOezQ6YD<^#}8 zWP12G+3a?P@e(pn6!p|`gMkQ5-DuR4>jEPcO)aMF)$oFD+Xt;THTK%1{o?1#ON)KM zc62d(pMQ(PzF_;q1XE6FupOi!?$knG^9^VDMxWqo=3v(BS+&nRUH&baa10bNw1|$V zB4TdRUPlnWU*}egd%C@A4P)Pho{u>*t8r-*pwu8*C%1OojqKD#q$x?gX$pzk&v=C_ zG>Pfgx#jF7j??})m)pz8HCM47U%490r@l8n_IUJM&cHl2e$*E4DKKN!W7O3oEXiKJ zM7L!1H(qqsz9b54XN5MGw>~JbhOgx?L&=%3a>5^sOhqoc#Yw#-YIxpCs_|J*M1XorSz?L5kj9_i=cPg ztn<*nOq#8^G+W#>o#e@;`Mycx8U6jc^5+C694u&OwRPV?k*ojEHtmS;hC<&5uW{r2 zim74lYz)8OcXID)tFyB++&QHv{K0G8+x;shggehIcz=83S1Jj+L*J{B~Y-|At$_04dbiBNqaX3$w`p9 z+}vP(;joA;|9VZCP3h6=hm$|`VJ6t|69V?1r8ixXM28zi;!Lo8g&DEyD@%)mi+@Hq zJ+bhtN{}bGRF_p4L5JiT)%IE@cGPy{5VR^Xwm;li5>AH-!kxIA-!Qqb;2}-laOY$Q z<@>?*->E7rfY_rCod00%SR1J<4K7`xq*&51cyTBw=F)6xIP?bU{@U8D!Nm=nhuHq# z|Js$Et``*02+Wve0S8EboZR8vh8s15aY4|NBK*Q4n`YSlMRs<<- z&!$+GO<@yA(5ebg&X?;S^zrg!*P^N}{eYp=;)9abF%#;V4|Gld-*g<2(yXMZMwN8n z6=5ZcU=6tx1LXPfq32^DsHBvVMRVSP5B7&qjpn@LCPUh**8RKl-LQJ*{KXab8a`}= zMk=)nChzBjVmcEsBCGU;rP8D*wR;&AoJ+VXmV2bd`Bp@0lv1#mf!N)zvtF%@Sd-AS zD3b3yWL(vmUaanWbEjYszeht|wSXxGS#8cK}hU-9m zJ|rt~&8ZUF{sZ`6bPKIQ+wW7ViRAq7eg(+)z6p5vZET0s%^ts-)i)H=Tj4s@U<|`W zJpQAQ!{$p$y59_hyZ?e;%auDuIQmAbULq29*nRi&;)ZDUw$!z709e(~b*b*sOsO@w zLW-IV_5~I8W8vVhA5YYFCxVl^L#>}w1>4)`WY{z4)vhsNl_%M(eZ}_g`juPUd-_#z zJ4}G$`U&(;*k@Vg{lB&SwwHTpHuvIe?nMMNy&#;;@J`GVj4mMfzt{uAmj&ZPhy*8SjIRj{ zs+X&b{Qp!m2=R`7g%I0KfDCV%z>o~E13iVu3hP0doR_PC2{{12dvz0D5w;yxa zPwE2y?nmOqf6O;?D+{r8`oK+*z9K z8!K9YdcT>Vc(tX#L~S3lv@hKHQC0H-o+me-!jl=Q8EgBO+~>A*v3}LkMJ52?3kme! zn6Qlp>{5;#n3hrdiKN}*O-||3uzQ+d`!DednVl`9AzR1{6>{c23MubjWBcFxg$uwx z^eX_~G64Yi8v(6ZjmAzWw{YRH$LsV5l#)(gsb6*aZ%lx!_Y>&5N%)gRrVCl+g-pf4 z#nT94%-s`Wy8v2&FS62eCuy)F!%E#ct+2K4eY0eTO4mpiBRi#PyJNwLy-YE8ZXpDd z#B2bhGdz&SWkLEv7NnC*06bWmm!b2&3VmpQy;z{Amuu+natbeK_j)ZaX#S@k2KP+iQ1lcaI&E}=jFkYu)c|0?VEwn zX&DUk(ew(f;yAAk_poF>Lkd~6Z{fpk2^%P32Pb{b!2=}>&z8XDc-DN#Aj$F5E7D#q zt2pIs8QBx{$<(axBi=kMuMw(d+|$m=4l!(4Mca>O>TA%+2(BD{S}z--YK#Gj#y#Cy zaWpw1=_vtC-^zDK7IucwjK!jvJgF{3qvQ*5q8*s;Idsd~8>*sA*M>+zNrgVoL-W_< zGB!9A7$hqtK(Lg(bUylLpEDT>gUV1k?;Uv}cwAa{y4mU&)tISA<;K7LXF_LA(9peK zec_?2o-$jTQUCFD>4~s5V;_6KPdl9-AdTXlMOM~|uvJ%qh9hlXFIKin;)N%c7(T4V zXcOyCS(8 zmi+sKe~XRrz?L?*pXGkjyRneMtdAKta4a2MiLy)P`2XRXDH8qC^1fBqV-T2AC0fBp#y={fIJRzZREK_!-0i!Br z*UE(Cbo5aJEvQu11(eOxJq2y;$qUUI%4KCb@Ga%~p;jfZhT*WI?w|rrb&MQ8mV zKT>}gS1HDvw#Tp_E^Lnvy6jZ^UJpAkrS}|74y@-WMWTOXjhDXK9P8TB^z;hnrtfHg zq;1sId=QE+tJ&V%Xa?y@Qz^o(>nd_=j>bsk!7X3ub{gxqA8lg3PrKZk<=S@pVugfK+#>{-dsI^`NOkL|IW_C7D||K_C~qpnrE+(ZguV$&+Hw^veqb0oFB zvbi#~JAm-pYd`Oc35E-ld1rC3<4lr;TgR&sDdD@l*yPq~WPXy_xv^EmYPdg7 zi#Xz>6d8B7?JgeqdEbJC&F8f3PIS@l<46-AP5VF9&fPw~20NZ{OWa#GFLXZ*sZ0_z zBML;=m`sPOB)T-iCZy)7f=+$c@VD(AO%2Ugwe4;#<@Za}I9fHL+?p%El)b0O@|L@@ zg=k<$1{a?XN0jZyWqi}Xo@vT)`*CEpAC;bdKOryuT+;QW7zl{0J{QjmYAOy-+TGzS zK`Y2C3wXu8p`tvrH(Z+A7N75YdiO3qHeUz6_>#WnhSc^zb4_Y@X|N+r{P^=K=LQ$w zk5Wn&(&b)}62NDRM3$SI9ee9^$E4jW+V9x+r&4Na+aBmT-`9Mkyn4DSLS`5M#zPYy ziFnH_+nI%72)%LFyEwK8_G9?5YE?4G7b_Tc^v%nGF?`h|#h%g#jY(t9+T7#=^p0g|l%GY;`A;&r zDpskidb#m0p8fuf{d}LYpYJE{`}-)>KYTymw=dWyd}Yf2*nYnM_rAX$Y1+S^@88(Z z_bL1Se!R**c|YHW@8|pWYxdcGQ~qQ7`TpPg`Tn2#`TmXle4nzP?l?wI!3mYwa*i0j76X4yT!HIbB$xI1;U#?x=ZBjrZY9MfOL{MW=PG z8>;VZ_^W~alyPmeRqh6vo=~uhWwyoqyg+xkh{c!&gFmjT20>Qv_O4h_cf6=8jvs(C zVnv&sCV<4>U%eP`S<9ow!d9lJxnx6eHKtAIA$uYx!#p#Ib%o0;Z{Ouk*(@9F&DN~E zmZQ-bhM|K2L=>Gn+>*a%LvoCBmu*d=iGAY-L{gp7E5Y zCfO;1ggo=q+(xe{PM3~*8BQ@_w^xd;CG71n`?gA#R&w6%T8~RBB4oTC7zL&X2c^WI zegJ2fNG~)nBlbjGJ@PBgY%-yF8^`ZJ!NkrnC-fKMMSv2jttgt# zpRthgeH2n-MMviq@_9jGAU|#pBxMGYXXbId@~R8ShT;=^*6ec5?iuTzm~|i_@M9YI zkz{i)jk%XZHE5br!1zzAa939Lk6dskol9YfaYiXSbIHhZ_%yIz0cY=lRc6!T+Dz;V zYfrw~V6F3$TQix^`#lA&y6dx?)a-SC$?90jg@JimABz?w?Wa;1SQ3yntMXAvP%0nn zRej^6l+b@0h>L0g>J$3Q*e_%i5cFo0Gx8J_vT;&MSVK;(dCICDoERIdlTecVu%}J} zNx?GbF2k>QdJ@vIyAPn~#bx}=UdJBvJ5o_-k=)5O{e7@P3G($6P)V45qBYyoRw$OX zLdextKo7e1L#Zm@3By%Y=z|Q@ekfIiS6x*FhS4pT8iv*mf&C?;9#fjLDR=U57rnoz7TN3{pa)K(Of zL*HC{k9V{YOaD^EM|H~i?m#6^K%E`i)Du7%Wl?>%yW6d@V!|Z=NYk ztPZYvagKFhYF%NZ_Ko=`#(GKym?)R>4muVPe4GWyg$i61-b1DpIzRlDIIEY@#;}g= zf6P^0>K%Yz_u*dPUWj{t02{iPnlRO&Q(aQeF?$DtDD@$-?dMEE;dsoCx z?=U;3m$;wOenApq;}5P=^bX2Zv5exIIf^VaE_&1JNQD>W18%aW}*e_O!&OE`7V5h<24 zT$OoFPE1)|F{s)P+`oAM7Jl;8>6fYt&c5)}smhH;I`c<G-e#V6nCD&Q`2+L(k$L{uJeQm2Pt5aY=J~(o zxxzeuYo5P1&z0u6+B_dH&p(>y!{*s#o@>qXQS;njp1tPzn0Y>Ko}0~ci+Mh6p3j=+ z^X9qLJYV7|`$d_2joa8i=|6|ZGri%O;muzTx1JfE7v%ZX1qX1_S(xgo=$DRUVe2m9 zTX%hR!Eg>*HinT}_3NO1W0*TXM#OO`ms!g~-SUU_5e= zua(EG8R%1#t)#iw|(4RuDDIjna-6t+@BG z)u>FSue*;7tCRMLv2>fS)#rOq4*)-%pj zcxrudIQ2v_SXO)r=Y5a(Fz`9dFwu{jBT%9?q-_<5?s1Vd?cx_ZNj$7DP|m z7{+H69~X=WwZ9*{ZC$#qpnrn>jM}qC@v%#LBDLMu91=^nSLwZ`yyZ0fS7*AywY~G+ z#V#8)Bzql(q;B>ivrT|G6V&V-SkGB1*Jaj*i*_O!x&BxEPv%-Uq7Jg(k&i@{q|sNyp0}=QnU8 z;nWi>6y#(BDd=&-yl* zb#78q%oi119Zr3mX&xs9r!Pe9lCbd%@BD=7xGSc`k5jt-5^jcVDa@>|-Ed8#y(4N} zjU%{W{WD3OfCH6?4{vT&6#R$^wLgc|nRCfL3OFEF0G{=WW0@ygp47o{wRl;T1bHGB z(?$bZu;U^K6gyS514216^>IP-VdLIb1K-bdF-ZELOKld*4VOB3?j>4+=`tNfgDdo< zG7U$kp`azej*GeLRHT!SaI}g5TJAY2oWH#JNhVTr)vGOFb~2N&*mfG%yeL2$hUG7fYD){gxvtPebH6U3n!YyJ%$wQhP!hvHyL{1E(8O-#cbvrrPU_i zX^E20t&u%3EEqMe)qR=0&bJ0tdQ7g;nZE}7JE`i|UX^$D+iP4r{gH7-3pQ0$vs&_7 zsX6Z4d$ERKtLDyy_Nc!>gwP$}X;h#QBUIa?p68X?GrXN{k9wRpE1Ke^#vZkf7a?c~ zMG-Rr`(1s8vy0oCoNIq7HVP{1PTi@8K_1`(ohkg}==1e_st zOo%FtiuE&dDZBHd-I>gqR_ck^+agT3N@qLx=6e5ZzMh4D#2SG)tr}zAfOBBO$298* zQJhWT%nYbEY8zW)tEYZ2>^5ucD@P>9{we-Jf2?~ql909WZs+W1y1i6dry95_XL_|D zpA^7R-u0^m1h)soup{%|#2Z8U#emk>3aYA7>)tabad@OAQL2}DKkKl-j$n5ksxjg) z-BSg(JuN42@@BlNFp$qUKR@T=3^azTF~13nMdq+tJ;Mve27@u}JEpx^OgqKA3DagS zWzc`YpfB|X{TF@hw8Wt5%gtvS*!Bc$2p~uP8-V;{c0S7g)Vvu$z6T)p0Lb?|K<;t= zTA4$5X2(L4)Wt-}Kk|@%U?O`VZ#^~o7Hw~>(9j?mOqZRG(z)vg-Rax$F&r7oeCr=8 zw~+wVgZE#CPuo`5_lnYMZFH@bougiNcN|S5cscb(p^+B0%u){{>TGvuxtY(S4UDpM zH4}RMEHwZWH;ADk8Fl1TiVL|?hCrCsCb0o#W+28%FTcU3e8T6Z0=SK%vt4881Ilt(YE zg9cMHpC^x?1bM8Pwh|OiApMeOrck;#t zAlQDRqU{2$%&-C4m|uTLPYE-(%f$zk1rcO_HFzOUV5#Wi8%%+rXU^MSrEZmYtSJ$H zGQG}WkIAJITS}rwC^~)nPD5;ZWnflMcISB|N&AmjWxjHT3^ct?#gkwMeO<$D*!kz< zLY1`1$?zeF>L^t@uw#VtKGnMWg&4C(#)2dO}p*_JeD@aad~!WLvg(5 z)p%-iMxJix2f~@nEr@6HsMXGdp;n_=(i7IDg9%mw^D|X1f+uifj;1ab+o6%$b9^6? zU^r&q9WwM^?zmgf-n$Hw6x34j9(Y-0WB+tb)xtgqv5Rl^_AnN2s=Kw|;T-4$-#T98yXYEYNADsBIX`>i?I2|;Y7-rxOR^(I@L zTQ<4X7P-|HEHJHJm}_;DD(3E`{<_$uX&rvX?Ayyt&70g-H>uSN`zvE(UyP-8XXK-w z>GBenDbV1pG#FKtSs3rrVD_Hp>5<&({OUrHkw3(kk-Rf_&pWXPG#jF1kv3wwS7NH4 zt^Nd!zRfyNW;P`4&2oNz@mdK}OakE|rym{LBpWgK^ZEtCpC_CL)_uZS7VLOkHQ2Ma zCG6Q-SI+|X<^V`VEcIc*yvvYMBDvX_LAPu}GCjJED9G|NF_b2V=SD)%t zTV<-fWN@`3>)5YT^Y~L+Cgf`7x})xW)wwDD)ULhOxk+{Q754v@eoEFpl?+aN43*_f z%Oa{Rop)e5aYUi>)AJ37)z4YX?9~9m9X_*{gFN?v7c02G`=f+)?{X!x?pEr30Ri?k&sN2WbTMaWFF0dFV5ykPtLDM^xD|haBKuE^k9~1! zdcxG0^-x~Hrp5ndTKt=tZj0|E|8fL?tfhbkqAm9jtwM-ayYdqp>Th=OO!%|=5rbs< zm_@Rh9Fi@fOo68_T#ON2?c&}XqLue6-7fCUQ3iPvOmmP=B}?R9I-Pb5f!*Rve$KqQ z0%7)fTb+BCn3!eCXK%qu(fR2ghQRf87cP^;L;m}6aJ_k+;7Xeky^rOrYA$rW?nhI* z_tBTj`78IMz|1xmGh8p{O?*_l=5)F3y2&(vlcNE=no1JyBBQ&vXn+lB-3^1vQgCmV zVyuo{emopQ+rO(hf{2}|pH?cN*q0j&iXqrANe5w>A1sqk_YNiYFzoIw!gQ#%q)-qP zNu5hO%#yn8*XBcm+mX&Iy$ojhc4Z}by`f@^O2=G6j5?s1xOB&IBESJaZcw70jz)g? zUt;xpm71iT{E%Ro-g-Lj;)nlD0_AqPA5vXurOG1IGtT`c@^-hDbQAD8he7UWyV7NQ zT>0Ix8Z*NTq)G3Mm8sp3xXiicqiLM?u_-r@ue%>jmv|rRb11OheC*hv2>Sn=TIk_ zy;F=v$S`8 zr6G|{D{XA-3(i4Le}aG{(|jR=ucYbGC9%6=MH{X2o~VcaFu7qJaQtN_o@j^_!82SR zEQr+Hs{&fsb$>FSyC_lVbd#n&ESh(7Kdv6KF;Ys+eF`rA+b8NB7ew0y5tiZ*Ly9lI zOKc9VOds#3O;7aK#x6|)!y-;UHqRR=6=f0Z%kSzxHkQg{T3~5DiH+SQmS#h2EEnzV zWQE@uFTyFwqPxPT&LNz}8E9Stt&s6n}7WJrISt)#Uar zyO;6q2=T6kaRD_x0YLF!I;7aDQP;N}?zit}zj3EY zu>DUejf0{3M6DBS-^`l`Vhd>onAN_23STZwHpT3j3)O`I-~gun!(wCqk>!mz$$8i1 zjdmo8`jGxrBg1*Wd93_Br9LT`cPyTibTEVo0nwv9d2?&csmxXhN;kIrGdE?{n4JpT z6Od~eGOhAEuTB$va2up((;&aoYodkiB+qBLf6a%yR(zgT#K*1|j^0j6X;ih-WZopKDZqXrh?LVy&hJQoEx}wIP)_OKa(<(7vKT`@4WLYZZ?z@!duz}JCD_saPZeP{DZ%zR=H(e@ zdPp0UV7vVB^qs?_r-UBt>id=n>il)+cEpo94E%_NE_F|#E|Av4Q|xq?1AP>Aa5-zR z-;G#{aC>nWY}`BYlt2Yqk`}RZS%gNy>?g%iaTbG)Hqw_JnaE+KaK%r8sW(!xS&wPY7 zqe!t)JJv14I$eLw$@X?ctd@07(15v3U|xgNt@>WDoK>Sb&Q2oWd@(XuxMwFHiI3e7 z`+n?$U4YItua8I4tzv|orC1@$J{T#VTNMJmU;Rug$O%bnOr6fHu{LF zsOsmcWj908{u@2muWr6T3grmgeI(|My*b9aF zQRP;3Slgq^`QeOC+C75=G6o-wzQzS$VyhAxdDxhrhyrla>{jQ+S0oP$1#jy?Ahv=O z7@CIOf7O+UVMa@iBiy5QPA``6E(;=wu@K>k?}6Z>xiJT^Hw?Q3@-+D1Y=b=nCV`5m zF>akDBo4(mw^3!RzAhd={WfhP>)F|?LqwuOy6dMC-0q6)DFSt&l;|R)c1Uo?k&tQG zqVgO~^)v^*7B_OY!?SWXLqWW6XY+K*xX zd_1JyH=>*H>sj+>oP0bcBg%XTf~yYt)bb+sMw=5$_uW>>#c_8*>;v>4{E+IUkH^z_RN312pPdDmV@$T)OV}v6fSoTIa6@K0bm9wpxGFg#W?vh zzW9iZ`-aA~zX|A67G6Peh$jgBPiGwFZ)}(ADg0rS36h@&x71|j8 z^QccU?{m=}%ay@M2?859D|d!}Nn}u|Snd7Jrb)ub!G#Dno!3tvl)9r9jlmVU;<`bY6>U!gV!&Me`9DjW9GZ_7myERv>`e+KfJ2iBeo`{G?xc zj+UcB77LuF^AbzXDh%|G(Ul23qVI@mUv938dz5a9RvxCXcc9U7@*t7mn>A+kmJQsA zH|P)plPlekgWkcwOmmy$>a$_xSBS>%gJY<*Qddg#aaYL5qD1XFY^Jw%h6@>D@f9~Q zfhFZi<(sJG`bL4l<*~K$Rc@lZn^oS3J<9va|FyjFdoS_zJ zFxy|ldz=eq0kjd%7`A^b5gcXO{u4|9K@4nyu7FJqz53P6gVe6j^?}r`x*Lnov`63G zMCLtE`@8<&)UHEr7@pd7*bSsSVsJ{ldMN+!!Lb7c*lkk08YnhLk17)OMo$?}myvJ9 zx3p1NjMw(gM@t2TLgV3(xb%hao~S2obRH4K644Vo!JHmS9H`a~4@QKcO&X}bbxL88 zy++VcJL1<_^MeLK1`0RFz>)OCS^Cv{)RDLG5-FOKVLy%QD9&H ziv7d(^(h-);!QDk{W2%0y_gdmo_Va9n>XC<%sL3`glX>|nHBq7%^T8rIyM%ZYzA@e z#JsT>n7Sq;rsUJ~VFu=tj*>WviHSS9<`F4j&#H`Z<;%4PMMR(SXDzoj;amM2Qh#a6fqI>x&dJ_R~v0@Z^{$U*6vM$6@aF^Iv<2?H1^9JetkeeG?P zXJh;lPW|QVsQs@AXSb9@?AIdcZ=d{-W(2ZR`#I;EXQ}Z!U~@Qqrgl1yrJ>%ais2p0 z8WyenYjEjPqz_8pGnT%mkW}2od(AOSf>#o_9PY+(zOsVSQ|DPb}pWqOf#w%T=wf-DnmfX4{WZgNfCy>m*S+aYkWwmi2^y z5%*xtXng|+qo<+koOK4m+Ut)ljMaX8&52kKc(4GK;JIaj8rDz4Xr83FTsawWQ1()T zmYl8yCOsW}Y|b;fJEvjZ^CYhS0-eJ&#hYTaJ;8}P73Au`9xjD<>VU!aum2X?Oe@Ov z{}Dp8oEH|Im2Nbv&I&g)(kU|48#O=}T?~4p4%jHf%&L-Jgr}B{TzNOTAqu-TSJ-^7 zu>O^{|7*FFGjl1Y=TgSADeuT(h8r;WAycOcbLEtWB*rT>Yq$HfL;UN!i_7)j8e@p<>mfzl=#eED!(*Oc^_6YS@3(zHI2o?6VxVphH< zI}wQVggU=j5F3l|(ZO;*f{xi1-9aGfUucbs7Pv#1+}&AM6iYV`LudE{Va1=l8iNyG zRjt=kt9)X1bkUM5R_x5I7vwh~Bt_tRr`AMNqCNsK!kvlAqHyPVl_elYdAPF}&F5}{ zrD0eWbWPz*5*!(WIEpAlDaw8psPzIOc??bMhTy~by2K5QbbdcxaKq#nX2wIOCeUd>GZ}RHa<05;Hv~GJoGYx-D@^D#GM92# zE~PJ*a`%-6u95vi(aGH}grId&Ob_-H`i)RZunlsd;|=Rj0?eYs;`V-P=dhz7V|CtP>Z* z_PGTO0mZy}_CxlC)soFzWn?pG8PwznCus{hc`&+M4a2t3-YMoSJ?n7kvP}&j2Oqrk z+kWz=Z2fF@ek$Ft1KD*fAFj^~4^p|$2G3Xj{{v4&RGukcZic_B3nV1E4NGLAN$s}Ws=6H{l}(>u-cXz*?ikw`nj}T%8%!m5ADNE zlpViMEJbOi>?bo-z|{LPWv%BaG=nwxY274NXymI!j}f)g`O_Ai?oV}``Ck%hPu=Ex z!vyTPTEHlYbCbGOS1P*9{i4m2zR1{?{VV$@sVlkp?VWRY5$d$dL`xdO6opk zF)95&G#}azGf`>(ThPY6rW=u;&P|R>Of-({y^psmFeY1 z1dJ^Ifg<10QUwlG1ElnmwEJ!F!5`}d?Rd1g^q3pzysVNcXV1`XXci2L*3qxAwf`np zsJ^MhRwxEtHp;6N6^(Spi3zqipR`a zs5#9!YTj{7V*F_>B^%5&_3&R08~p=p&JKX9&6Iuj9L`McqcIU{rO32%-D$#-u4Zh9 zAEgI$njHfRr2o5tyX8gPr9K#Wm5xFAU*Mp?eTU*BGBA{VgBd~lTuv9@qMlH6l@37^ zO?OpDB9bZlDt#@rv8F!_KfW}jaz(n@;_P7lJ^^J|>uCqN178bjsxIIZ|* zAoIi!@q6X*uJ}D+v0KkSJ<ne*63or0T%D>vy|TvkSMwDoL$$$gn0ew=e$<;@D?{|uo| zy#|o$j4>0^2p%|?D#Q7K(0C!!5XX?wGxqKGP!S$hFPTu)9Kg$J@q}|)4j^x^{Up#a z^^mwCU$FgN^P=r$L9qQUURrle3U+*%KoYqqzV+l=p1}^4i%F}B*>pYU?hF%-`kMN# zCL!lViiA?z{^rZXX%w>oy4r-WO5?t8F9-wF=mkgiovxgK)A4PQt@J~K@ow~VgxMX! zINLmHJ3@qmi@D*Dx^6dU*70<(eY$!7DhE?nB49O`PWSA2T+_s$vc4qJ->AUZXtaUz zM{r|L)R|f1jNhcejMi|5$CUASJ~LsOL@AD9+FmmaDAI|e45etLA6-guF(*%6idm$9 zQXB;`q1gahNW(=#?>bsR7j_XIA;63EPTx)BLe(&qPAdU;k&wFKbIy+Mi>!SO63h-J ze(6*c->xhO><9b$>MZR4GM17pC+$D!Ev*#WPcJ;-Jp2n0AKkjD@lc5fkgZFb)|*l*r}Qd+@HBf?59TC1>78)V+u7T_{)X zS!u@7_v8MWR9pu^pUQ3gwuIexeCF&-=B!fO2?aZjAl@iBjvx>Yt}2})B>sd3hH<46 zT(uS%>C$(2#r_-n++;(XC8$vMhTh6qJ{mHOF}tN<+{@tyN0JDV*uvFW$R+fs?>{JB zi_?o{46uTeUQH;9J^0Bt7+kH4IbGNS!{yIG8)noz3W8(LjJ$?rep30IRLvKflkqg= z=g92MQ$fP=oa3k94A6T)PedBGm7#wYbzV~wFF$DwDAUPYB8W$Y^eIin7ob3dlYw7lJS;oMvFk$ z_E|=t-M_wV_hqEwHX5S2;x?Y zR|Fq$h7-QtDL7e^zpMFhot`v`N0KYD?LwnV?OIi(Xt-nzC)z#P^VjPO1NH`X*^{-k z8%)XDk8mluN5nk~u_r~z-Hwq?N?tjXvX}MXEBh>E{Osky_Km_jduFG`#aW9(y1rE= z#;YM@R-FCUvi0zN!AdP+zP%b6so}J){`pYE8n-9uwP=OuS#@WF`qlL3Y%b%DR*NFd zv1Y@V%#vyfo$S1AG`(<=<5AWcw}a2ez>*TR*+WT1lDr&Q3sA@ke9yVlR_EM>J zW&G@E5wE%oYsseUdRDreWEx$tT`Y7f)In+g%p25myT-jAv%-*Me^T#l-AyXmYSW$& zZ{4pY?H!0Gt(NIdi;jOd1pN3>e$)PyXi;$2(lXdBR`bkeJ&;Tsem@vb~$=R@0w>op_^Y@fAS=8mk z4Pg*lX;KbWc2C%Uma_X&C7v_UIvsP0draZhs%=EYdX_r;2teT8p&x6hxYjvVH7&K4 zYTdS@-%41kgsyB%t)<#%*wF={&Q+y^BAvg`O3PafKh{$1JR;UAar!+=Lp-6=FhkR7 zD59QMekA*Ij+1$zwX}h-I`(MwYB+tqjO5+UP0+Cs)3e(&XhNZM^iJ*z6G#%>Fq1-^ z%}}OvsW{iosGv0EEzbsLXOOu!5Kpf9B1?e%nlfcNoF8GF=k}4N29QgDVne^68gL_ zcnFdV0h{k=55@-S|JhH%=2NrTa!yA)@SHWd!5R0s5OI3FQ1|G>cr!Z9!xH0Lp5&J9 zwCqst)VMhIV$HCbynj#cSw`-*w6Z5rQgm6eS6#w!q}r19E}S(Y3F@0)6SuE}w!e`* z>Bv*bQ+}>envK z^1mtne(f`L|A+Bq$rfuNTP(k0wb9hQ6s6)G&-qUZGrzB_d=Zi+?8a-$yE;P&uEbiS z?1jq#C!M?kTytv2$jj*4Vf#I8Ijh6=$NB|Z*;}=6t>W8It^(k2H=lDq*wJoR$ucjiOdwW!- zY(>a;Tm62QbcMgC50gfwwtbS?nV7ebd#34tC702t)iBZ67i@N%vy5khS-OWhJ#BRC zDF?S#SNNKz3K=Hp1g8ZOj-o@N5`WgmQhNU(@{I*&RxcyC*c@!x6qq8ow9=96b0mYk z5fIIVnN3D)j>DrrvUJFnQhka2Xuub2kE)aKYtk;75v=lC02izpbqhaq^C~9YJ+}Xk z=IyL6UC6hSqWD_#FIKXXl7F+JM+aB=m-CjepCsRR2;s5oI26%I`2k5vaM9=DaFEzYChg`0&Sa~O`tA4@K{A+cmS&>nFzG{_o!nK-R{^?3(&;G@l zS2@qpXT%Qvi6*O7cVnvVKU41*i=+EO$co+xbf*ylrXPlb4{w-r92*LHl6P5>-2+gu zV034uY~xo{dh&`$dJOukbYj@t`KS9BtF-K}UL&gbm79ue?nGbZPW01{2APnBLVq?p zC+bB*L7HKivM$CqYm{!>CrnuwEe@sLe=^j2OV$`s1Z2+FX?i-jCA@kBh~oV1 zdqR(`F2`>KSz-DCCQTj45^xs)-3MUHy&lOfC+rK7cL}0qh=VIDB3-_b zq%mL9a&lJ|pyg_X7(X*m9$Gja{Ralq$3g|8I=s;RP;5R#@1ilU>7YYo#>K=fqKd~K zO1^a29hbPDYBFVGClF+`V8Eg=jVQ7*uvmy%6JD)FUZP$d@2Pd4V z<|XgSPTLjkFf2O4Xw$Yms>z3w6n9eQJ%#A7>aaQTf?DpLzRLfS)udXvw5@E-cvb&n z@md;<5SwPF?7ygQyoE|D4lMP&e3Q)1gZ?)QGqpSyGKHqh_4zTa=J-`(rkb3V`Koaa2}IscyX z_alkJ%}B*6_GhDzk` zqhcfS-MU6@Ra&dJ-E)FRPrq$f8Z}!17ZFzO@u{NmUBhN+n9H4t>}2C042^R2)=DLN{6uquo3$&4%tBOxS<8IuymuV5koReo4H4c~iv``rDAXF8_{#n!PN?ow-wf96mb6=G#1I(5?q$09~X^|6q!=((LuFI;~P+a8-^yg2L0!;}{ zE7e|mgZ-=x0{I4VJ86|c=~k_6X1=LflI!$cF9WY~QSHle(Jf<*lUt?PPi1 z+-_>iJF)qC>6k?aYRf6qmUHzyL&}5MqHv14`6z9j@!=dZH`I5XF}dNTviTd*ebk(B zZE@qZHD^2^%}?W!ib)TMEznq3-mEWTIpb4e{z^M?2*ZoxzoG}phmDdWg4<_8cKxNEa0lO>6iZR#}@e)5W<#!GLAgBz>=iH`jb6l^I(k<+z)|KR#? zyL02Ak&+jf>}Z|Vd>t2(@XUEZLx`Oz7eMx={~zMlws$O^OrK~hf#sUZ^NHiZHpPwf z6_S&tN=b!6H@X5+uS|WTo~72WyH7z!$)ZP1TlY)Wx#YGQsY)_UC^bxs9I0{Asz?pg zYG(66o4Bpmrxxh_r1E|0{^WgfgrxHM#3#W?dFd!`>X2qbt~&Bsm0oAX`Wn7CwH{MO zZ+y5!hUsj2Am3?lqSClD52~6j622uzQss`B=0WE`&<8zvUeEJKd1n5xi^o=3Qs4}O ztSVH{<%h9CBW!_>Z>YRud*ymrc}Q#;4tGlISi8_5JYSM^hLdBGp{z5==2E#UTQ_cU zi4{%HB6*N?hxcG2vo+>gw{OVPnrHPHD0ZhlJHTxHTHlz%taZFO4>hKejIY_Hq`MIR<^M-7{5&bU5DHbKqU#Eqyj=;*xu zy`H^uDkeP=$6ss~cXxoRn{RCeu?80ck?UNk`xF*ZC~?t8gseleLq!;T1_oFr;!#o$ z?{(6~8U>7CJ5_b_4WXLmt3v*C-!BV#b1K2mjPc^?U3%INA!X1wnQt}d5i4!TrL-Al z$oMl|UoQ=jQC%Fvm&;_rQp)5OgqQ7zk&Fs61-+}LWl(9Y2zzm7RZB~!l*v2R>b9iQ z|+;wq8bNQTW1@c2XyEeJ-9_MlIIkww5^T*w=FsUKwvht!D!H(*OiD7-JMUAHn;+3R*77NxV}E^t*e02R*~5PKA6IQ) zd3OUl99m|8^-z)l5e~LVQ86S>ulR#R*QKMYBDx>WL1>KLo>9L;R*aDr_HeX}x>aj) zMo}gEkmbVzvdXf(aw2lcG)r;f+N<8{LDF?yPzoNnvmHdFMTy_+74^1s$}2x42uK4uPClgbsc{LnqMr{V}IL1mF7Y6THUM@Y|rM#B;} z6H5DMG;dG*l?%m?vW>|qRyM|7Mk(IFzMBo}+VDlQwl|x9mCbybFR8lzE;29ElI+?$ zxTfXHZK4O=zkPYVI7MOWq$xjOW6~mi6BDKVYu3K|HYwQr>%^CCRVXFmCar`mGuZYd<;%npA2*aN8I*LnS_;weqGs$l!2w@}-h%x3?2$AnNlHGBq#d7Al(>01>W^lmu$rrU9D9^UZ&M;ZHHHK7M>5_iefx%0{1%~0CzXx8z%wnK}q+o`RCdwSOX3UxEijqiCp8+G6G zUX^6~P?PO^R%SL-44I7+vQQ?DwG#&6z*tc_KlPR$_L8lgkfX^h3FQ3|uds!7%CuH^ zy&OKL-=uS82}XCN(#Ny9wRS=_VRYmD<^3kfj|f)`?oiE!N4g;;R_+sBX|5H$4Z4n7 zCt**v>==4yB?kg%)}^sKBfVDYtr!ddy;+;@|4rAPVKp0cV=kxl+09Yj{M4R@F%f0? zC+swFF}iHb+xC0W&{yRpw#4kJ=Fb-)sMzrADaHnudyJZYD$f(eVlkVDN0Cc1QIB_B zN%VCm+ZCmj4!uVNWx#3n5bEiregw_ySI|@AdkPUncJIk@=cVn#D&MO zCb|EeCo^PzYsRKEzkAR1+ID*TD_PhEPqGpDyI5CvDdT;?+ONw)OXci6pTQv-pAOa< zKU>}mpm8s)$H3MNt{7WrMR%ICYJ+{?OmGujxYl)Tl!#JAWAPYQB$0t(hnkT$=iGPGy7H2S(L z;_mtmX?hN>`Fk>Y+v`@TbVm6rwDiV~)Pvgr8tWM=5?`Wqq4KVm!2M>y3R~PBX~IjN zX8O61*GzLc8g2C7CiiWl@4*{sUQxb&`~=rXYk74GH<(n|21M7Vstw%dut$bHd`qY0 z&~4`sM?odG(8~5gNm}zi2I#-O91u?STSF^E8?sgr(du9!lcby}9GFA-S)Y+UE1!uL zYOOT0(Z0IK6M94|gAY52#ULxdi}Z>|NDR1$B+OsaD@GV?QtYjnv2J$^Pr8ki`GE*s zhb|8?$lCH6TTJ)w9rV~yw7~sxdQIVD``$t3+lWjOiGd(XjM`vuwr0BF^3$SB_1!}< z)mIM#AD*d>I5bl|DjP=m=)8QOUcmbzJx?F($EWKD36Ft(SxIZmoHq)|8c{^nQljP% zgx?MmBF(0><3}Q zH%-Rkviidgkvdrn9rg7|w29vf$l$!-!D$U-z4XO$g-swa?2nSYW&(p(^TS_MXqw$B5mAVG5>4>CWQlZxy<@@I${gszrNGwyO;1x54 zSs~&*+cWC(hl+#tFwVm6$&ZL zAL&Bq?ph+|i4R54Lm~r-B?bnlI|w&%PavOqjw5AaQRF+&`G3xsn$21tOQw3U zn=fG`uAHPV6Dp?J-YKf5I7F+?;9tSo4*kr{&Dyir%F=u!eto8BSuS1S?#n?{e8TN2 zeQ!~s^gSc(2&ruZ;-Hz#FwU3)nT1q++@#M}6w;16M!Ve*XR=!-&gg?JTNO@qgMt`p$ zdCAmuOuyKV6-;SOzh`Q!y=O`vgG;%`UsTET8$!O6*nPUa$4Q8h#*)NQRlF_4f6kq95&)i?knsbK|>+$!VPS|aNn z;iMmEHCeFMtCl!=OXh5oe_s?qny(1TI8#PmGGLXqN2ZILeYbZp60+feUHZR~8<{_W~ryJcR&uH7DJeao!hlFD^#%VLAL%-J;Qh>Rj+ z5k@P|@zyD1orR5YY;H+e+%@-Ll7U53 zWGO%lXI<8&tY#`A{o)sA(QNUA?w|Yf{owR(^~gW*uk5c4W|oNW?J2dcMc<7zHo6hU${s= z4LkaEr<}CYuu>MaA%IO67p~wYu-wXJi{r=3nLw0nHGFCdOW4LvFGsequ*~h4G-N$t zj+S1TqmOF0%$bz4hdqQ89h1jiIGL*mNsB~amf)W66OQXY*pB-SEmO^gQ`1D~uR`ed z(e8@knyyZ^OC)wYPO)X*6LXEa-;uc|J!n=i({h9GT6`H$+|ao7A2Lnul5n> zWzCI2)p(@%LLR=!$G$koC2`65*%B}NMCB`gy1ulW^~MQ=q4ksbEl!rYrL_~^ME%@+ z8CJ3T+4yAaIJ_~|(z|rEO)k?fx~CJfIC175rGGQSvBp7sI$-bko>7$}C95FH#kF71 zyYiW8|ELHGl}Po}`!VwDNjzA;ck-4MJRn=*kl8EvT0fjm#ZG4U^0BgVY3W}-uzp(E ztf=)k|^ac>a1Wz^(jggurjbtl?0>J5>Bq%&d?BU_ria(%3kz~tmarrPM3$Wrz}C%qai z1@yBMR4eXH8c1JpKb2=PdIkClr(7|tw+`x0JDHsZa)k!HWl;J-)W$GXtq?$8s3>K`D7F-%T zUdVW$rKJp`aK?ru0_^a=M;;SjY?j(AoBFlS$=wBOPo&vOjz8HYa5^)sZoJ1iByI3d zdrOL)nSk}Sk({8(&nI@1P%(Uqt0(`t@rQeU#gwxt`J>*J^&T>YK3sB9uPC3s7vETq zWd-X#r*j)|t>FF2{Ms!dv*w}mU%_WHnvfTwOzuA-1-4Q)XI4gQT28!Xf+Y0Nn?W+JS7aXcB{{)> z9?>hCpGw>yM@d>{L}k~m-9vExWhQA_-+Fe%D*VMiiH=sUC|J9L!pa<6w5nz3HzrCP z`gpKW=MKq5iWTLhWe4KGo#LVw^b^57QZp*cm>#C1;FA58$~KPnG}&bi2^oQzlnTm< zn1n2DcazTjQo5>G;dUuqP3c)(3}KQ@`sy-@lL;a78q}!S_6;K${5ApWf!4(3H?TB* z#v>BRYOYn_z^Yh@Yl&>n^&)TcYA8LiYb(UAXt^|BbX6q>)@Pn8w-+#jAlK+#D7lXj zhgj8o`-sg6)svrGo>kpa$W-+iXEvV9{3iE<%C~(!#xUgRMz*cLy0>8A^bJ#Jj9pND zq#bsRKa&3N8fkk?_RN^*_EA5~7Y`*spX`{XeP2u_%;%dmD;ZLZA;NiZ`DP(t6cPDhE>8M0NusZ7WgKG%sMgF6aG*mp4Dx zQp3W{%hLRrU4&N_aZr^ttQ@-oXnN3SiH#j7iH7WA`r86gk!}x~uh>ts8cflUF6zwZ z54Os|Dr~usrMinJCT?JF0+WbWL@L%_87+9Qa^AuX)0r_8bC_yI*KsZl!>}sZvO8m& zSe<$_EmtgbnpS^?PR|TI&mrV8LzecNAl+hD2sy`)4>#mCYi?}Il>x<5bU{bbV zV>e3`e9@&!v`prwwD`7na-CITpV_Yzl^ulA2+MS(w5W{i={L=u5NUo*#Q*WS$kW?D zoK4Ir{X=ZV!TPuPnnj=ftwxidPh^36`!~~drgp);eQ4)bW))uYWv#mT8b9lI#BJ!+i1U{vmsZIu*zuV*aQ zJtO6p7{UlpocISHdY9}A(-Q`zvX>$DHY$6QlqS4Q(q<*{Z^3^XX=t};pn`BNaYJJf z5K64M?!BHhdd*0!9z$KAzSFO5fJveV$@bhR?3xL{TtKWs<^ozSp>vzjCVktrd~1ZN zy+tn5p=)EaV)N=YL=}7CJjRmGFtS|EYGL7p^lllAC&+06KCSNW`Rm*}6cZ%tQWu(i zf5NWuQ5FOepX1|6GN@g>C8c$~5^{g5N0gdHqKfFk4JCX=Z;L%HcX6B4DSce-V%=h0 zu|=;PrL;bIocNZ)m^?0L4t>v&<8u0ln_R{mF*jRRH^0w!!IMi{HIsiq$*yUBfm_D8 zfwL!8!p8$=9RHNRf0=IyvNa(;xR7%d3prk~5H%d#INp58@cG6r<_$KH-;IaOnEcD- z!mFqSl26I6zquNVN z$%=4wEc>6RDPrqV>S+V3T3VX$Ckr|xiCFOX1qH{iYs?aMe9~ zPqP<=w_t3EHgz5P>kBn4<+}DH#+)U^E6D({P86}4Z4HqbFl~$P(CwJ6B6f2}m97zq zmwqFaWYky38o@b^w^^s_X?^_(Y0|?fT`%7Lu7v;V3oTi!%3wF??$b0*QNk2Fdgmt6 zr{{g}{}45mT1E~$W@;5TC@o|KbA?RQL?tkt`199M&{rBW4tsuY?!pbFEA;B5h}|+O z3cYuqrGEp;)buXr?;T2bp!+^XjgY`uMywt+JXc zw=@-rxm3NOaDr*X5j1G3W0zD%cA8vF`<6dJOo8pX9$(xg8x)!C^fv=D!6SDWNyA?n zu12#M2G*LT7<@!Glzl$1b(NMw543e5mX9#`-Px-=%S@eg6ms9yO&!uhaiJa84EDS6 zo*LY$p|$Gx7pm9n&uKXFoyP~q3KzEC5;!v}j|Q#h@#>x(&>G*I!B++z-;>#RxFoZ{ zyw5l98{gt6+>?BGXIIaYt$4~XmuyUi!{z!M*5r!3oW>fQXrUr6*mxFBwklNQ6*Y1` z>+w)Ex2^u9dQI2iHj>zvWNu%=AEFOW^7>6)58k^*9+S|VKfJ1d&)z=Gkix`Hp8k9M z@;@QvkDKBxc2Y;`41I;gw_1F+#oH`?#^T>v{D#F@3rzTN78hH5w#Bn8uCw@hi|?>_ ztHm7_|Hk4sEY4bJ_!n7RZ1H&(UuN+li?6k~)#5D{$1U!(__r3nWARLzp3qe$zSAw9 zYH_W_^DJI!@eLMlw0N_{?G`_3@lP#&!{Yo!CY}>4uCch@;#C%Jw)kO-U$OXIi^nZC zd?s3ay2Vp1zRcpK7T;>|R*T~ncUgS4)x&5jXR&=g*Or@0EM92wDvQ5p@dFmWXz^}~ z_gS2EwUKwU#S<+qvv{_}F^kt)yxHP=E$*=R6^q}sxUk;vFR^&0#fvPy-r~D0zR%+4 zEPl!2eHN=FhF_7zr(1lU#kCgKTYRm>u73IWGwYXfRKnau^9k_7H)N`Z8|VP|9Ty56 zeOg^8wk$TcKD1=Pl4T7mLv!ovm(8CWTfA)P^3dFd1)-(OVxff%3l`LcC& z0Gh7)rw7vLM_B*eXJ<(7r=o`_jpwKeWVjYt=Y!?ci1`(tZ~PTcxBeRqZnNQ<>~p)t z;cKmbi-Q)oTHJ1Nr+c=1;ud#W+~si0#<#-YZcA6=jod+ti!BaW9JaX3;;6+Di<>NN zwb-S%>v9uM*=&R376<2;=kOHIrB`sG#uT~^*QTb`o- z%jHe#MFX|sT3thX>xIiNhh-eVKuCowL7t@ruCUJzO`UuF;^j4q=Y=j=+z@M|&72im z)-d;~1)+)s*DjvFKusr}rG%1pgg*kTzbi}`o<*-E?io_cSLBryOD_!uE@Y5H>OcWK1mtS4EBDP>@Y`OF3^TA(uZbNLb^k~&f7cLV& z2YO$*!f{b4{$?G7Px||T_=vdG%P(zM9Gg3@-fAXIo{EOW*Djd8VA+xdu?C&^f!_1l zk0wRlngvU*iY;;}Ho4y)pPIQVmo>&rng@PwqDgySwJa8`Z@j8E4*&g(1$B$(&cvp; zc5c1XsQ;dP(Ozm-Mi;n@8}PkNrT<>^m{vSe(hq-AD=%nVGH*eH7QqkC`&l{*rZ+CG zvjY0>XU$)}c*f$Ti=)dLV$+r_jWsN*pSY;5q5iC+>rM#GkJZm#R<{7RE!jrDW#2dL z;y~^HzgvIX{Y{ge^!_&b14EB&HMq-Sb&q)tSzKmu#NsB4+boV-+-0%4*M_&a%;Jc} zO%}IV9Jjd3;?Q?Zcx7>!#ceiUBKEn-Vn4qxYFyB;GTg8%x}YJ}+u|tQe!BKl`ULsS zn_K7E$xOc-zlx_5wQU^3 z8g4||Ie<$?y-tTvuE(EP*9~x;1C~@RAzXtxiE!rkKa>7})BNG%pG9gKl9sifSN}D= z|7-hSj)^rjp=uc$2t)uGUqFvH@jspZ&l->X{}yj1iWFVyb^%8gFh~ge+QqNoY)eu^GuyXpF7=6hMppl+2M&B0GoEv%H_m{4h|Gjo8 zRknWQ`j?g;XO8stcbA~u26Wem_Uh4j1-3}94txEDbq_8&o~Lso)u$f+hB1g`=rXNh zYUA=V83N1bYUx#>zAsNY>7=20;Me!nnV}jz%SgELY2oS+!^Ti}T6L&ShCU6UW%E9< zV18`5V<0neQBvT3QJ&?gKfbdT%x##zNCaBAtU>df*SI_suDH-Kb4&&bA48V84RxXV zWy`K^jKZZ6*_Z_to}?$dpaI59B!anh*Unu!pV2Pdt#=)X9=d7|_4T2n>q2#UcEBYn zwCuX2gqgR}OR$x#zx14|FX(}Nts_+Mosi*AH{zB@06!1)GpCWawX?Xi5OVk ziRSBPC&HL_&)?Y@Z<{v%6;D5LI!>%z#?)33v@f4H3vZD=_^vf?; zW}XKcKmWU>f1vqlm;Sc1Q_~+l(L6VuU~t>NdH#o7deY|WUHV=A2TwNX4WDGNt5+=1 z=<+{cy(%^DP3igPk7pOr2S#bnuA{eE%8agz1!Xm;9-54HmqVY!`1T}qa?1bI(eTN% zk^PN^nP1dgm-7BPTS}2z9=mH8>aP z#p05YY&G#O#y(iA?SsXP=EV~G*Ub-HN=!?UqgSIRD`x>7c)p;2`LEO~cyrN76+9)^ z+?w2fO&?dPOVO}sWI;b1Ke%3H1wgD;r%@x#2M;gv4-52Kf`t6w;Y_?@%}E)Rd|jqX zn6Hfw&(D>ZTKFwNu5=sxgUcuBim87dKa*a^kFR&|C;2x|k06|+A6&k2N>W`?zW+YI zX-Kn-QfYo4Tn<^6mQpPee3<;|ExjhBiT9sfpAXbN`mJJmd)Qy?mw7{f1-`cxuu3~< z`qS6&rFB`UTQ?a$$jbO~{$z$yT0E!OOLU9Z$lHVI_rviwCA^or%+aR*=BRV{^X=t< z#%V_#uTNA@o^$G z>U3Zsu2cA{gLKlq$shU6 zVQxTry1BZwk+!%&w>i@_P38m2y_~HjEtPhycO~xLeH)q?|7Ot|EaXr2Ni2q&aHs{# zT!Zw*(o(u|u~NIPA%uCq9G}Y=IZKZzv-FM0+N{#3u5}d6O06~NFtVE+CMM?I*%H@| z_O=THl>;fcqO;z7>*b=f4e~)s(+BZ$5;}_7G@5xDzjV}6ilmPn+tU+%ethKtau*9KPO~k?P z(#1=sRa7o%G*8L@8M4OVezKM+zljE^H5Lby@5>U?P#MqVz*Jxwz`;dz2q0@R#{<$Q z$(~hif>9%ZLLdxW1k40x0WyNP43Pd^wkF5|qmyZ}x~Atuo(K9JT%TqhNoGT3(%1Uu)bus|&OEpO*o1Gl?_K_cy3Bi*K4ty8{7Fw=_a5UvVsYp-^Bnz+!D_d~ zw!pab2W>n}Hl0ncTRt{@Z3jtz+fxIle-X{32|+RuVj4TSe*l*uHDv_@&)wKiaIzmVLzF(8~w*ANi$8f9O{Rw;jZPe1cu~J<8y& zgZK}Zo6Pb)D5 zc`oVa`P9?R`}Ss&pWUDDKVQYyB;fLC^~;vBaqJ3lbAV&MIK(|`!Sdyt&k5-#o+~+T zu`;ACuWgt+|LPDjx|WbKi_yoq5Am*Qm(3TSixISQVQgF$TXkc8P8W+n|omsDM`=LE*QGMl-+;24;2+FV!C00WM1J}7z}QSRcIv2bVX=|1J&>WE z2UbWJ(M>E*<<;iGGe`OFbX+A!5YLF{JeRzbyltRtrRg-_@><@{K=;=hdeE&*cVUru7;UzO&k(uZcLq0k4V(F21s)!=z1e*^j1D!+7y z%Ac7N9URFH3-5SthWa^hzbA`N^JVeVD`6vf8LAQJ_QLwKl(3?Yz!){Odq`Jq=ivCD zXjVkZgYXFt%TSAfNo#ub;nPgKgQY&84@S552^-lpx;agHRtBS`OXRrsRyQ#zXWz2&Is@C>yd2(1(SXOJi3R4R@2O5cyvp)@~Z z$I}keUSviyBGOL8(N|KpOLNrHT4~pFT-`9~kp4l};aupvn~BU?ceI}~Y0q67?sVv5 zsi&^K`ucWZ(y{Nycl$i2dNRB4?!6yIyYp4vZOG`}r>7&mZAyEV@>F(uhPo2i^eI#B z#k~$#E6>v3)aB~;DKy$iKb$KM!taVn8R}u6L&8fQ#YUvkPR>#%*D)(q8^nkqzkzP& zH;tzGzBo|+nEqCm722)Hm}L!ANa6nP~NO0!kaquKh^TZa8IuG@}$ z+KwT#9eJv-p`Z38T?Q}iw%QE!G!W)CFBi8@OUCWRY1*D_)pT)&`UbGk3+vOgKCrt6 zwD~-qe%bNey8eAEL#+Y!xp*j}WgaasDo2f?4vwk?)2ELr86J1~^?5m(@GQPOLwyXW zx}`VWKCQoWr|{BxPwS)lqdDFCX|-*Z$kB9VhDrdPPL7>JQ)q!jd1?{$ZNAjIlHBgW zU4!D%b_dGyR5^M`Pq*;o?hf@Fa6&U_8=b92@6J-gJFr_~`6=%LQ*+hSorBb5%FgMO zot$}D-5C+eei62qZ;zD}c8-WsuKYBt&r$2^hNv)hS8j=xsgIo}vP7@SP(K3h7g;1c zeT&%VKHb=81~ znWzc^M=H}BoAyTq(3R$I`@!_~U?4r({CDLsi9K0u`AbbpXow2YUWV$%s!(Z>3Ng0O zITJRvdfSQ&^%_vzLfWJetIJj?G~HLF(zL#*H`W%8ijKmc%uo@aPWae9!KXRd^w^_x ztQ!4xerI0XXhzyk-7f32*t*|O9T+=S#)CsuUPE?N!pK-XrF=OZ^`{fvMg~;CVJ|K% z|2pIcCfthrSs5yeDU+~A)A~j|V;Q$G#)#7L7bj)Vd6=q?&QE8k5$oyih2K$m>ZqOh z^e02r=(=I_g$48}qm}PRY^eHNF zC9R>)(DwsdJik7z*DuC1^-a}{Qmy!Z7nsrte|V%me^7r)^H|kN{tF+mC$PPRZ<0pY z8%vxyX>pDn%{cD2w64Xben*fYFg};IXEbfkDB7MvH9jzczL~N!ihdlsOLV(P{7D&~ z2Tr!_6tI0+iuD2Y5|Hy*NfTpAXlf^za+CUwS#o)|d(Z&y(TC5gB1cu=_oMJCf!Cn4 zxB?>wsgd&v;zOhPks+kV$))9-YRW?Emon6YK#jr%GzX}UhT{(GSL9lw5hZe0ex zO8?rHp?2xCi$3!8^T(id2yH}`8Ubz4?jfmkk%e}hwX|gTz>sV;q{NPC!_MCAoqv+} zSZhMM<}Aei6yC)TWT;~v z%urjMTphQi(8eCiTo>~pxm}buJ69uVY@!(m9G0gJD-Ei{W{&GF>Kffy7#|TG9tno^ zTtSSvD=yT{!)}+kJu`ohHU`MaR5?%315t)eA3j9IAIVTBK8k+sv}ui{(Q@byYZ-T@ z)5WgcN1wPeSLJo&QIGP~z3_PenBsUr_i4$p=ki*YTQd(CIwzn`20A3H?MHl?4og-f zd3gEl^3J50a#EYixCi-WVxPLWJ}8!YcQf(u-PA)%v&?*Wy8Y?L?Yqdx=V>&%HWrzY>w>mb?&)_~P4VD0B5ANZv_llk~l2k{q>d8OK6YRt@$-NU;II)}!G zM0Ff>L-qV5>(1&1AYtQ3eI^e4$^2$2oqpR3r}ZggV3XFU>mxc787gy6hN}I%k>7uI zd0@)iV8uGPS`IW>zy5Q&U)Ii5=IhiK>(_q{d^$^gIyN|UtwQU$ka;xb(q6Q4heNS_ z8gz|{W7ma^%)?aZO>_>ZO~|avVu60111%^tvO(Va&wiKyWvrAselmSX?ro-b(0q30 zs9-nt>suLWw&mkLyEFz4$z^WvOm#@0MD<$B)Jg;fnpUF9hq>S#pUzQ!s;W4>t zOdzC&bo;HAO-IMED%z8wb^wtt7@hjhdYl(HN?~DzO*{P&)s~T|9s@Ru|H3R)*l{Fw z*)f{-Ec7j!5BUaN{H4=U!jp&obD)s9W99`4nG?`+$fL8==ofW6TCDSKU#=<}oT*j< zE$0*W!sD3woNTzDFJjJj7?1vBBJ4D?Zo1wl|TC0u-T%bmD z>#=WS2z{H@>&_Y#EXY)QgPCf#<(K-5J`dt2Fm^C&2^DT#DK2YQnm6%s#$L@W%2ZWf zA}unHS64%yd!D9!5&9gVqZjeh`;5&?ScPAOU!RBR&xfnL`?75thCNH$#vKIedf;npQAhM-lx|yC#zuR*I^eXy-sWSu>susbe>bmHzn;o;|t1f)2@Je z6{z?!=@h?uJ|>kOpd1dlnb}=zha_JoM|%9nXRG6}NAsv-vUX(hvY&O{Li*@*yT!^Z zWhL^}fVvadC2~ocn7i<4hOeDZkoRKuq|4%T;jpg@->t*-j`34uc6uBrz3zQ(rpl$B zi+$B^_=Cyd%k!^rJ2}&^E(>B`)aEJn{-~b=k*}IEpYkj+iM^8M&)8iuZun8Pwx!RqWHWZc=G}T`_fkF!@b=x}5oDAgpP7tjHmxo3)BHjB4wRSu#piUI&ex|Czvwr9s8X*0;ji0rMtSmS0o}jl zs^HB0-tomiah4=)-Ty()l~O!%kj#e$lfL(!(9>xj(rrZ_#~tWk9V2a=y`< z|2{3Ldry}VF0vw^HUMQ_IG^Ui={T+>4xrxi8}?|(Z~9(|fiqt+e%HUO(UzY&k-`|Un8z<#8F+T!{3 zY0j@-x3tbn&^gfMg$sK$7f$?kokAPHyZmqV%I?#AzhV5Y1SWZYeVX&@%ahc(m!DlH z5$DMP)#UNdo<_Q#Uo)tCj?YA(B*~kX~{5Nxpv_P!dh2{1k_)E zNn1Q!c{DvXrT^1wkc)EEBF6edDUYnV#$^pcwtk;N6FbTa*C!s^jtT#!%z$bYu>8gS z6=0RezYh)mez+w6tB0wp_hqa39fQ@!V>#+$wYjRcbeI}(+psR?L(I4#X6^c1%9w9g z4N!kgS!GUgrnd))y>dLKuAAz;e%NEl_2u4mg8}!g8a>#(S!s6V!P;(TJNji*hmmz{ z_L9gx61`8bK;_?N)=dK!<*JM7%9$UUs`9&;GmH){mbvO9re&#V9c9cBouisg&Q#~0 zlBu?R+vKq$H1{_XxETGqw3Dh~9z?*kHO}Oq=UY(X;I9G5cu<-@UAHm0`;0Sf9kFHG&5!nCS7*Jt)cQ@OegN#&@iP|Rna_O4 zDD3${Z1a&S<^4$dL*5tgK8N>NY47!V#uIvOIi6E2<9phiyOi1m6y0O>*unl>kCwL2 zvQzJ~bm>TwH<>O+cQ{4QGQRQZk@X|8gxD^68gRFhg)xgyGxgSt<;8#NCZ)as>~#KP ztV4P<&wnH-n=S`w^Z&klo;;nmqZ=S{ugQCHkGX?yt;n-3bGiC`k`_YV4jKQl)=`_I z{O|$h{c@&eb?R}ymLaWe@MUmqh|^zMyCG@s{v_v0S5f|*ERQAWvQK6t^ECNU>WR$nG9Ro;seg-D!w0GypER20Gc%*lUR_ChIKp{g zV5@}XS=<|eJCeMzQ)!}SJ#x;-p+VH9rAcU?U(e5|CrfB=hMACbP*lq z(SZ6rF!B2?FF60;(Tsm>??#fcxikzgJ{G>g?+4W3K$GLkx~We~^77N=`1+VOz}Q~H zIWrXG%uoSmhK8we_l=HAJYAm&s6PP-FCL$kj3-_HI?rg|;HBF*iStF`(sXbCdit{` zuf!i+6;L+;i|+5$pHH)Ox9>cU$EUyi>|;xK{w3Z}LqMGZbb0amv}C+D=BOLf#wZd# zG9Q_NsvjUX&*EMU6w9-2U$ataZr+c6#}Av-ugxK>3Z|C4E2XQ^?xc1+}spGn(G{H+qVZi};1X#L4O(B9po&b=~mz&0nn z?5918d|ihI)U?9_s`NqR6TZ?9k=H&wAY-Ny+Flv=l0QSqCq3?!{r$r8>&C|H9v4uv z7&AAe@$%_OUIUcR&LYn40UeHqZp#KMpKj_6<2rp7iA0Ryd>^n+!sz^9EzzU(+m<<9 zSS-5eETCQik!?~=&<*Z4ff{)hzSyaKXzV%g!?`l8!w=)^9+(b&J(7NP$bg`RWj-!=)~ zsZ;~7R``p|j8}b{FH3|Yl&gSt=a+Kl)B2RLR;4oV-{t(nyUU|F-YK}jreErw=)qw} zzt607h1Xyo08<{Za?=+0G?(X6X1bcVv*IS~2j{l~IXs%_m)KiVOWwQvHM;C!Q_{ca zxi(!c((GluXDju*r^FYzfjSE8a`7RXPjj*vefj$f3e3I{sne`Uhq(c`xvz%R+ zGDef|Z5J|c26VglC|f>F$48x#@}~7YU8(bd(zwlk-WB^a$-6X~Uk9BolQ^w!?kuNn z0C#Kt#{DMGt@5nP1@(mI6dLjQ;hbKNAbrtu&?V5B44;)k^Ye>~yHx@3uIJaMIloES zT^pR1hTs{L51`_4Co}ot(HtL|w(wk0`^g?stTzXULZu(8h5m1$*&E$406w>X`pd&l9}J`GRm(%G!ZW z^BBq>uu1bZ?)Q0KE6+C1<$Veb9dvo&oDPIv_h{~$<6Xk?6L$#M>GA7BtL6R*FPzpT zw!GNw!ZZ4x0ksJzdeX|o{I5?t;QX)CxwDz=v+yl@nKgbO>iBY&(5D3!=c&b3B#yT4u|5Xuba5~S@oAcuwTU9P1k{s&>L8ucelkDq(*i>W zF_$z-4VAtAQQF4ybJY2?u?6IJ0d15qw@M{yqtjF)FEKWi^O%^U0cVg35v8lxNm>n%@l-vdNFo+&hsrythwOs(_1Ycno= zB6s+jfcgaRio_xHnm!_r@-E|4|DCR*%-_m6APLvLG@ynoDC1Jb63Mk)8RLEsyTxyNT$%Q1t`0eTpm)wse|!eWZ!I@zOUfOQyG4ev zpu~RVokOS(`OJl|r=N1JDCdeYAO1){H3Aje(a)K~)S37_4Zp|YcLILL<2Q(3u|a&l zI&WUg=r;F&z&{3m=IG?inxei$Cs0O!JB07?dEED5?qL~$pFI2wO7o-n-Iqb0A>%&y zao)?Ue<3S2xZHD4c0@p34ZI;dr{}Bb_?wEqlUWBloP9bY@u$}qJb!vE<_T_`DHhue zU8L|%)kPO`AUTJ#&tnJtYlf*B{1(Iic=(6VMUkfq->=n0+%KZ^MWbwb$z&B>j+I@F+FL3B!btuoA zl!%Xr3=apToE(*{j@lPgMLQ`^u_6_on5k|D@}H43GOxrt#XHsK9qp9oH?>`pwb0%% zcgj0o<`3zXJP7_&sp&ws$fs=$=081}j?2!!i2u+}$TJ}HY_ETx);mYReHJtO?z0je zk!O_pB2ee?@M(UW$+GLG&E-v6nR0a~iTyDD3b&KP=Ph;2vpjq4(CoP z%FBJ`4g{^^tFZk9p0hfR4OStKmgMQjtN9IsA8k!(zA9?4cPi-dZ~^<)^j;Wq|53W$ z^xihkFP3uFiSjJ>4w?Fb{X%=|Y?uMdozp`)Uthj4gVmVW1U07gD099iZ03B+j;7oL zn|>no!?>68+$7Jstz(Uk=Ok@7cTF(AB=bss*g!B-1*hi6^CHNu$5KXwnt9B1I%e9>%-V=_WzAkW6gP^aNwpqbyID=T2(qk4KHDrPN%s)M`S$n z1?-p?v42HI(J6CaDKu{mto8YTe)k4``^K_N=L1AMVvi%?iBtr`y?a|;fJn#nx1c+ zsqf#=b+zkt_GIj3Kfd#ijpow=qw~~gbZ*zryMmqO%%{Xv_B-Y!ey`N{7l}*c*oPgu zdsqrRAodV#Is3?x_mw2`ZM@7+AI1F+<2cW$_axdIO}zBEJU$ps)4yp;(&kD%T_t7E zG}|sp8;8A?(!Qth)%p5TK>a5W{F&1+^J5-OuRqd11!?cxx~Yp#>+P|CY6EH|yq=$v zJu-t-nMY67d6(b5?1v9ghnJSA!vm-H)!Sj&>af6*iq+m|e(?~yA2F`lew?8Wdy0Fb zB+fUo)f>AXSGzl&U@ZTPreDFk&GL?X6@R_Y?AzHFXZ-Lu+}4WyZr1K1bIxbHg7q~(l(ml3oOy{Wh$S4+VG4}!J zykOk*BI~!>&DeP+?g4m;PMh9S>OG+1=cG~B%iI)N9~)82)sMVV9&YyP$M8XFcp#*> zHHj0xw1J|F(g}(?v(?8R=l&ImPs&)wN671=HLc(Y%7M_4OZ@oHemJwge=Igo5jN0h zZ39V|a3r8!0)j8uv|tzbG_%h(Pvw`GeYO%t%?YTdfkhHVZ2k@m7;GO!{ZDyUl&y+* z7vx<|+PgrIIu#hN^o?Ada(cwH`EA(&bu;&yZV}#xW~)PY)8BL)MtTob{=0yjQxA+$ z+-Rrw#%j4}Q=5PjUbb?{*j~o;rHqqP-Wh*~ox=D){K}r9os<*C^>S`jcqHG69Ri<1 z_~fMV3FI^G`E5>jc7#04%}}{-v+k(#Y=mk$DpNfLOwzItpZ9Fa2Xkq(r81u;D*eCm z+jT)^SpZ=M!X;mS^~5h6uhdVj2)(#)XHU;S{{Fjk`B+E}Aa_R>1M=fh1%V>qzsui+ z-}>ZXOP~A2*;Cig`{8d!Oq;M{_hI`sed(ruocq19Z@#nY^7v<+Kcf8q;@63S-vqih zXR0oS@yAegx^RcVR{^_lN5S_4ow&QfhmTZh2kv6u0ByM2!LJIP@tD8f;IBu>y2L~ZT@?R<&jBL11y=%L++pz7fvu#s z9sCq@yOF2t5WXV;Y!sg3m3kIf zEB+5fe?Z;W(INOTU=D8o+@+k!JpM4&s-X-1C~yMqGVpw06?~e&cL6cs5B?J{0YBZ~ zQLF=v$L+82$l6e42>KJ58h;FT4sO8m#MZptjjPEDC#o%*+Lij|$*8%m!)e3H* ztJs09*$O^|?ju21f4u9DiDhj3I#7>J1kd~k>BTL$7O24;0T)eV?Fx4k{06WU8A8V@ zbs=y9^f36Fz$?Vn4*nyMk8IuGBaWktK`#b>3wRjW+QEMTc0iYp9i0NiMNaTFz&6}X z;8%h1@b3bTIf3-z4uLNO?nZ_%_!=NaKiv*~1IUti!Q)P3J@RY#2cHkr<0lNh5y*j0 zEBIGH9eV2qPd4(=eh8t8_982lEn1)2T6(C_P{&nqaw z1f=g3d_J%nx8Rkhq6gf9?*g{rZU@gPr3}L}0{#r}E^|8V;Pt1`RuFG1_>|Kz5pYMq zHvd@}AixCNgE)Zq5lU}b%FF;EO$ z@KPXzyA}KxaQD}!FW^^z&A7Y4XPimi;U^5f7Koz5PVm{2shjvI178D-NB>RWM}UpO z2mBV0PgpgDvIG?3rx^UBvnbo>Bo1ynn=&T)0skkECH~LpU6Yoz=}Uk_JX7P#aqq(I zuW`#-_tU_`&;|b#*or$?rqnv11O8p$lz8f6bXlz}$@Vd$;k{{ZGdkAvR=s-PEFuvh(D+EQfb1P7)oRVH+>+fyL; zE+7P5@Iyd8Zo$t0@3K#!yNbT1nz-QK1^zQog*$j2M_+*{xLePM4^WD`9sCAx0`BMx z_y8f?p$m`^D8gNKA>|DS;`aAH$li!Q0k06R;J1M1aLa{{)j%A#zt>_uv|$%fW}pj} zy&D^G`+GQKf5){zJ#@hVvi@&qs8t{0#VdKA0{P|(}KF9Q49 z(cz`!FE9r`tzh}sP&f1_cny%i-3hM!7-fG1#@UuiC6H+z(m}FPXmIu%fOccwWQJC{~~*19s?#p7yK(=B5r>_ zjqJ7g1&|M2@Na;3+1pe6aqjsB@~KDd;GtL2Z+-zf*xlzKxC!WPgD3b7;1%40?*g8~ z9S6S*Od)JI(tGaYGTa*hIddZTL7)k@;HQ8nZoxkXBDlN3Q|8m}Qnth3+krUz+rVoU zQe5!U27VscDCHmgHc(2u>MG0_U>p8JU^n+I_$NRV|AJowBDnptHFCygF;EJB!Cwc) z<1SlF`|%0N5AGoN7+|014Lltf)qw8tcp!@r@{QX$6FKhS`!sB1?TwpV9!CwG2;%)=~1=s{1 zKHZ}x2q3?I9!kzi{T_(nNATZ)I`O}Zb{Gibj)O-=X)ADt!1n`_gf6se$Y0{}_ngTd zwa0)u=z=FUzz4VBa$pK>e?Oe;i~BARf-bmdIpq_#;8TG8?7b@kPl*v9`4|De1Dt>i z!A7M%4~)m%2F|z^o#Q_UUJc|xZv}r77*E^nI|8ejh z;1%56;4z=1?ZQt8{B58Pw|~}7&f%Q_JdA(A6~I>9VemF!Hvai8xXN9P-bf?gE?2cc z7H+QozI_Uz3ZXhr4UkttssKV{H&gJJfLiE+e*{#B|C^P%4JadCe~)Km4fY{05kG?O1&VNYf`7A?_5}U& zO=3%cMbKnLzJ@H4=}xPz^f2cQW)5%4#FeWa@k?DqW% zo(?=m+67+-JdE4lH!ORKe++DfE;s>f#NB!uc?Z!%KY$=^!H)w9cQ-imOV~HUA6xcRM&|E4mUo*qyx>JoX;a1zqqFzy#ca zj{)*=7lS_zDBKZnGqCSF(N6e_|$f? z5PBK-VIT%Q4t@iu$L-%+Aom)){5|5szu=PlB%Oo>zX{ah?go$iK0L|y5ct&l=_BA% z2EGKi19}8}EwB-H7kKm!aDN;B;D>;Mi0E^x&Usn@tW!Fz!!cm{t&I)Fmx5%AZ59NhkS z5IHw;-NS^%zu=WX5O)*!Q9y}*@Y+XkL+5+E>Mr1wXOZDC+Et)a+>g^A0Ufy8o>1xq zV4Jv~#0_l49sDu#2Eg68`5vn}{wZ{en{Sq?6~J2hrY7)LfmOKq=BauM*oYssoiqV; z%s;e(?*rCCkAq8g5FU5%Y04O|pZiOS!Cw|PXKVa3HJ#8#JVPCWE;t12z%BSZAPOIU zFO2My=>o#g1-}WD;r7q;$a$Ytz*hJOUI%Q(-3opXn1ugs@R;YwFWhb5p+6yCC0?-G z&m;I=ARj-1Ujp8JhIIY3caM+dnTRXUQ6YeGg@7yb1Si+>uwH0o&m3pGo`1 zugPm5jvv8?{DyuCclcG>)!z~?X^enZ1Bs_eBe(-7hTaMO9k2!e-QW{{M}FbQU&EHQ z>}wLV?f4hG9@zH+=>^{d?8JXN_$R<~xI4kW1KNZq_?kVGAKanWvFm_s`0>}$Wu5&Y zU?i&fdIMhrWFe=2hm?QEl-xhH16YKA!LI_daSQ%EP=&i2Jc709cRMpv_R0AB zX#9OPvIl1!unqr$Hv?O63;s5+3Af;#zqjQvhrg zeS)V9VNZwX8GJ1;3IG0`U;aH|ayQrtAO}B!KLhOFlBw~XxD&XeLj&qlKo{=dFzy2c z?tp(Q_&u5OB6zgLf2YqRN6*OdumD&LiQvKTBg;g z5JF@LVXTEB*@|dX2)XC~I@84Px%cz=e3$$9etwVt9bP?ObLPCy`<(MW=e(DBzt4dE z+au5LR^T#7f;=eBpQbp!8l8Ks0TLn(WxEd89`KZ%AOSqPBkqTT{NZ_E8pI%d3HSoy zAv|A;#oUIRX`D_hW))-yF9r)BTX@Ci(&;nni=gsjIK~E-KoWR6@F66iZ3(=D=i$w< ztl~59^ci_aJ#16Nr}Tv4;q$@Qcn&`bUh%nm`dt29$Qj|34VbdRF-iBd;{+1 zSG>2M-s8WhC!YUDIHf%l53l%40e!Z>qBrUs;gptC@QTkU(B~R1_eI-4IOR2{8qa|U ze_=7lAaz=wU_IoIdgk;)Ss)dJ3&EpMV>0R!ya(08Yxc)82v8-w06Yk(po~(mJv19D&ZC9r=)XNWEgj4p12GDfC z=KDG+gNLKdqis-LGeMoeOTd><9`b275^WID#lD`h1?KulK)4vB^L}U|Tyg#nIuFP& zC>U`lmqBjuiu04uc}hZl#d;A=c>o#%PdRlg#yxmSS4azNjVqFfiDMpOhB98 zi!z$w*(`IE8R?XR0h5tW)Rh3-38f>x1ng*m`7jXQ4m=1wgBOFxr=TpT|9o()CAKf( zGt<$Ap%TQ20mV=>!YRK(Ian8G2Kp4Fj%CF&Sxg;Ng!qgVmWA@+1z-V`178j@vydMw zYYI9*3Gn4$kJ;Gvh+_(_g5u$Y;8Q3DUJACgMjzacx&@o(xuHA&IU{eBuOVA_DcHsa z=^%Yg@F>)fh%$oL=3vZ+mw>ekP)6JXsCZu)z4t6^G5X^@Y*R22;=ohxg4pn4@a+@cP!4=KINAZ@ z4AN1Y_eXKQAUbbQCS-v1QszVI@RV1e#vGIpRCC0>4C(N|NT>v5XSgip7bpsKYX#0+ zhHZiM3c<^eKjKTkPEP0}@cG~u$Pu3HjD0aAK{^6(2UJMw6Vz}){UeSh=m(j@E6yiO z=Nis~;t`*6qbu4Kd<=LHihwT%>!4tGwj25sWQ=sApt3uQ;UioK9`s-_Y=kR5OGuwL zY{kR2zJP1IAbxd-sf4E-y#gL}qWH`reXg;k7wQgiDD@yQyyBcrbiOBNs0hnadO&%! zZozs;MAP?1ok8*N0`NH$1JB{3jv+DPD?Wdz_>3lfe)AEu5b-IckR?3jXJ`z(;`5-2 z&y3RNNoPQ+h(l=yHQ?D*%H>ccd<@vx7h?|czy^myvG9s>Mbmktvmx6=>=(c@kOe&B zhyDmf)AE9|{n3`-73ZX;^Hmo>0}!9`24ny)0VfAw8^9~heNE@Z&W7p}urBZ<^bB4C zK7vZ&%R$FLv@3WXD4;@Hr92PuXjy_-jC(NJ;d#UXo96?g%!Oy>~F&^Eek2tJ2$6VUd+=4Xs42ZSOm#G$l-9O3Q2 z!;lH`AOYz!%OWhR`0O%$t~m;_Kzz!LkO_P~$O*&tLVQXyD2DoQ7IR`1jt6KQFggNb zKGKf?N36y^5#AKcf}#*VAM728ZGmtO_yuxCxtKL*8;}5T*x=YG#6g;-;0h>aJL&;E zw-(`a{|j2ILm3fY@wsmL%=gaq7}E-rWlV!Fh1ZN`G5sJ_EXx5WLp&^N1r|Ye@R}RY z-XU8W4hradcuL=m*k>Tm0&pkPkd3|%o`cL0M*`MDcC;*;Fn&T(#NmK^Xbj>g&Pzw< ztQ#JK<3Gfq91Wd^w*w6}BmEmFI~cSTbxZRAcG`xq9qF^d5s(GE73c+-!VAE9$QWL@ z9p{WYP*+$s2DILZbPz5D7sjGLB7HkB0V;{ zVlZPr`U2`i3{F3Qyuw?74p2Jc@TfnCHVGdCswANO!E?YpkN`d(d=5pS{Yb%;Nhl-A zA^@Ku?_kj1$ao6*BMxN^#W|3xrF+&rlu>zl=FLu3+0=M;ic}f8T?$$5qrD;!_TW z4B+j+laMC7;_ryi-xD!|>Tz!;G0_g8p~l5iS6u?m_S|AbqaM3U#jdd=q{4 zNvjxTzojhWukh9IigT3E`Ae7*^abRf(g(7HSNtt3`kPpr@1w4eKIQlaNEhA;w1d>) zDc?f^zR;0JR7ut1jwfyxEV4>`eLvE8UwFciv0ytgnEks&qKxtmw+!I9@3G5 zt;&!G8XxqB79v~%8b3n4VOjQLghQ4HSDfF4&i(QjQo*v6_7&KU=MV>+_#9&$@@55k zLFQQ2^ab`E&_bGL@EK$QZ~7AL5Mof?81M+x5RYXmSJr=T%NNAdYu`kZZG z71|imp$v!A;T50FrO)u%zry;i;T|f`0lEV(1g}FJq{+O-u?7{q9k?DcfG-Cvt5J6} zKKK+8AwP=q{nB}X2ff99?Xa?pqu|To1>jaF56iM^(2t?gTPPzag!+bJy;AfShy%|7 ztsxV59vA_c!pDI7Aq#jhSOi(YYrbPK;~-mjQ}7gI2cHib*P_4EaIg&WhnIpa>yQul z81NYs3$Iy^Z3QL3^S}#`7@qS1Z3N1N7l5y!e0b&~_8pJ}UJCvW^%W?~*r@?+7@pD` z!bNo%7r{#rpVAj9htCJwd_rCkM+~<8OphZ`|DeGajF0e?WsPXZ@RV9#QAT*m!H^X^ z2TX&c@RZq5DLm!7-!YECQ}!h&3p}M4B!ZWKw-_ZxJq+6#`~;c8Q)aM~n7;6ohag>e zF?a*=ho=lw!tZy&Q$|3R@G;;K`W`+XY=ENS8D;!lC$tUT4vd2m;Dulbln!4GPQ~+a zIq+8C4ycgE0jnShycFz&XYESi*`N*d4Bifuv{GWK;VGX(eZz6@A2=A#SZTpi8bK=X zrr=zN4^P=0&tolwrad7Ak_5fK%`seIvXT=mMFn!abZ|BGeO}QVeOqQ`SN8@RX-IV7tIm7DLYP zlusdZc&4Kg!_mU>@RYYY;WxqI%fULR1fH#}#LR)p;qAaYs2V;WY@vf~39kuuhk8b! zuE6<_COoAb#K2QthX%k)z}JuoycFE0tHhYX=Yv|9`_cxU4R+E;{ZkK0A%7Yl?A%$2 ziK5})LnsEm99(UH_5&XS^1EPLzzaZsL$n#{!3K!E8s9;H`fRjwcuHfa5pgJ$yWux` z;VC;oCGd7&0A!5#V(Po&cbDNMphge033yGgeNVJ$cs9uHg*t~a-2c3tfd;^K$DO-$0zk}BVxuZ}PcpkWTG@gT9gFJ)LkQF?o2pR)VsX7MZ13YC{ zNDH0~`j16BgcpEPhzCz;I1by9#sQZ=ci<^ApnQ1Bv;pN{_@EGqg{SnNhj9Zw9~^Cq{SLe-m=ERBaB$Rb zs4p50u7c{}Df6Imc*s)(@$!L!E>7Ax(JA1*lKR0G23f#U3Ls;6$|$HO zd<=LSvVt!M+bu*pgx3V8EJD4*TY>dZFpaYqbqK}4GfNN$iluQte<%T709Ha0cuG?{ zlmVVH2}*|-gA?r$58etaf(EQtmhs+Flm(vh4aC4p!Bj5xDe(DV>t)C%ye6pOgnUvD zxm@jg8f~QXLt_i;f}n)^T4B!N;K9B)M? zL1^nVP0$W5sg{R!I9%X^2 zOow9O#b6zzvI)mUpz;Rf8{w4QpmKN)$cIc3hcbF2@&iwq3K_tQ!5SzSp0d>@v~74w zZO9g$4K9I1@RWYgHh9WNC;~nPY=p+d;9fW|I0p3tPiedv^#e~i1HzBL$+#3=ie)KX zpb~gWK2!)#83&2sg`nj&)DM=m0wcF0pYSnY><)|t@IugiC)zO$k5yvsL8_b4uR-5k z=wAq@%!EqdDO<*2JcOs*1;xWtUWcOK%fVi|acqEeOhG${4Icv@gDl}Ge~ZVlA3Wtc zs4tBJHtazi!ZUj@K0`eCd{Ap2>Ij|OohtfDX&9C@RawVJos|( zGt>yrWZ;+SUX; zj8b?8p0dLc^fkm`gAPzng!8~F5FeiMEo28zsd5y34W7~v8Us(+8yW!50s9<7-ry<2 za?u9hDaB9}JaYnRpG04VF9(n1VY|cUgK4MG9;gQgo<^I*^>)fANDH1a6Y2|3c@!E0 zPpO`d?E+6Z9OA<(&gr5!-wU1hr3w<>RhCg&fc_3oNuWY_&GXp)7tjac73cI(oFju3M>hR@Y z=Q6Aho&&l<2Jiy#B-9gL0;)a2wuWbe&X6%Y4;=g$;|#nQB#;$6ryS?z&_Z|#_^ATR zz%x%V4nRD30r(N}r{T|VEDc4#Qzk#BSatI(FDfv(#ya051jr_y&z`ANI56`?oJ-@{<20ROs%X zcn?n*37x0$!Q|g@egw}D)IVgkOPMhR7eco1Jg^Y5gQqlL;k#&f$~Yw)YrqS^Gf+G{ zALtG|<*61pmWQVt+!DtW@TTC9R@k<2@L&LB08e=X>I+Z#i>fj+ z2AL@ck;VG{{Ch+B;y)O3i@RV`TLU_vCY~&4|vKoqlr{s21W@6!a zU?7wOPnikj!&4e{$Cw09X$4ioQzk%-@M7=+)Dzd+DO>eGe}$*ig3RGLpbZtg0BoM4 ziBixL^B35I2|NZ*A2L7&rziZ&{ z8uS*&ewkH-5bfx81&P*hZ8v8uYS<@$4$>n~UCLi8!?B~#X4wpew(Z&l#2 zucW9*f_+Z&>vtCwM%NVg1}cP&T8_^V_Gd43`Z-=bRX^mXOr$T?Nc`EokT=__Z9 zoFX~%<&?--A?F73D5pN!0)6$BbGV!nfqA%Bj&-f$En#*r`!)(L5dG;>+NuFNTE*?&9+?h+4 za~=512xg-Hc!w1}E?(S8_TK#IK76h}W+y@DY_1#E-dizr$Pa62inW-BPj43p*bszqq3E!HQ(NgKZEPfxAOGkdQI`-F&|h{ zJeQeyy7Sz)e5`7P57(QIXTX(b^WDrmc>&fgj(9R1aVB&5mUJ0&uCL4YG>sVZrA}5} zE~pU339-z*Tzt7+O@+4!;BoO}t+JK34cE)v#lxP@wGQy+bKPy6y}0&{j0Zk3gZn9% z2}C&7X6ECC?DLxn zczRiRc{*^ty_qctpW;1q$Wj-6a}X1WG*KrGuH*Um>-;TzBf{r+c+*eJxj%f;kJhs+ z*OOe_P(ClbpN--)z1v2&j+YCcD|_pRce8xBUI9})mU())+tWNZ#S6nHXg&WBK2`8qY zH(Gc%Zvf^Oe9}}$P2EF)_uuhuzn8r4jG*cG@Z4M+ux@$3xkBp!`EYTh4bX|c zv*da>@ttMuaSMHK&2?Lbu7OJR<=S|TU+V4YhTdgu&KT2A(SWS&9T3UE2b&|noa^o2 z<-+58dSU(u`RC?;@;OKT`D8CoAKo7%FjW5eOg|5<*B^XdBkMb|CNkc^4ZoQ}Y0 zmY<#S&;KkxvGULVEI+&CpZ{5Y>b~da4{|GPvE+N#VFrBLa&(){#Jib1t_Ss#=t$<~ z=1Dh_m8YlMJQu#RjlB~l?3?I6$&33#n1rrzyoa|-Q}ea){HZnHqB-{eqX-yYnNLbH z+`OkRHAC~avUlRrl`vU!i62tICjYhqJPR*N@sA?V6g~K!-mYFAZiBe~=&^) zcYB_*rx(&4iC);$1)Dmcjb{^O;|`OCPiJ$TTre=o$JQwxu*>WnxJ*7iL&Ir`{w)~G z@ws?t3!|-UXlnWx(;6UTnHlg}f{cI%YJd(Tmn2-JCyE zCFZyL7SlSweW@q%2Yo1WpwQx7zLOm&D+BqM>h@_S_7K)ZP#0P^S$sNvxT&<=X<&|A5;D3 z5cjwvGrBn4`!P?ruO9)NKM2>u;iLsVv*Y1+3jW}9O;gzzpU!2hnI-r;k(muQg_+6B z!22oqI|-h?PN~#jCJee3Bq)0|QAgn&{Z#SA!&eHp>zLs)UW^MSl5|39E{q$)Mamw` zGCEZxV=0TnLEfAG88b_1IT#zJE0#4w9C!S~NQhK0kYOrLKK}8TQOscc^OL3Pz&Ij? zJLAI)LYx4Ihc$X)eclN1gm*$*+yaN+>uXMv$Jisy0F=;PmOeg4PJdjMjk3={_(z@_P8fa#C z^+kPtPkXK`+*=_{W0Zi_#~`K!;#uNzC#3Hts~H~hOH*@_)e7p8nT$MG%F-Pro1x@; zd>h2Hm)Da$yerB;Uq6?bhRtPku&$Z%v}pl5P?^sc#Y|$t1}%$s)-r$u`L@iI?P`BuI)%ib;x15+;d~ z#7VhH`ALOIlBANP@+4_eLlTp$nyi_uo6Jt`o6JczNj6QkNVZD0O}0yRPUa>1Ckv9J zl4Fu%lZDBmWN~tCa(;4QvLv}AS(@CC%!pJ)nj&2hThv#?5t)cgMHV6}k*&y1tEkCU=O_ElUR-RUwCQWNdW71XAHPdy| z+3B2glXTN`i*&1W+jP5h=X74Wf4U$&Dm^AWHeHx5N*AZ+rst;@rc2UG(#z8;(|@c5 z&i`s1pul#@j1cX_N}=8bq9{>}C{`pCi9}*it|(trD3XXuMCGDNkyO+mVp3F7G*fg_ z*eQKeI4Pzn7AaOKwkdWg&MCYU{}e$=R7y-rY>F^Nlp;>aPbo~1q?DwTr&Oj$QyNm3 zRMk|?RNYi|YTr~&s!6J8szs_*s%@%Ws>Y)jw5`8kHK8O1FaepKgP`|AVc-PVf5% zTS0LfeBS~;)_&hVX@kQ5Ve1oSiZaESxtaNyg_)AflFahV%1miyLnd>G;oL8(N`C0m zv`2q$O?E%@XWbr< z>{k87uYd1AHDS1RGACU5Ei?}g8M2g=G()z&{t|p~#&55t#rfT7**Kch_FIlwEs(dc z^|HJw&rxaFQEC2oqfVTTE%8RRqxw8tyXSg&u+8jwTq7+`2O8X}qnf#o*HU{AUl%tw zu2DOrhR`-0TiQ6=`|-I(T{xX-fLcebrU14X*NgA6j9!ez)oLR{P8a&Iaz}0X$2KnR zSc|a;Z)Vl-rk5l8l#uhVu2$7sk<&XA$QMh+V}pR-sYvvaJQSJ$Sa z7A_>&<4TtU+sxAomq(gb$KecWT3w%SAJY}Gam}k~jn-T*`u&49R?QyBo;(B-l5|(B zAXW=TIh@swPE^uHDV&8FP|~xf*i74L(4kF9uYk?n=k@a}&Fy{O%-i+cnL$?bzi6HF z-Dt+@WtOwQVq$&ev7iEeQTO7UZH&^#>2J>D95e6fdTq(X(KpSnn|1Kk319D$)BozO zuIXN#drx0sc-W}y%Pe~(>!j58QwFr~pO`p!?e&+tUj80kF>l<Y`}4+i@td-ypLWZ|NhZs?cQ`mpZ&k=qPPj^6 z^mxst93x5P}XmaIL1apn>sG~t#A8ZwO(qTF7EA>HhgD|^_d9~i*0YN>)U8H$up#{xs{sFBBppu8}q&F zAEic&MrPVztUqn87)}4 zXV;}mgO}a?x>P@W&isp?P5m}r=8WkqtsR!@_FMeds(V**OuK$mxpLDfh5s~B)#m=H zVWT%j_fYpa`Y3YhUj4CctfrX6-x9@~iTzv{-M>%!kbYmTKT63o+1mYcQuUXG_Pzz? z_lnd*2D`Tu9N?RtJZ4xwy4c&suuie7{@mK>SpIWAqa$-ucUJW%IU2w2%$u>r1^h)t z0z=VYt3b|V`Y~I@lrxqyrlkrj!!iEe$CX&xy=k}fMyK}k^Bd$OYfs+TWVBxo_Tut9 zy%+<%Lz+?#6&Hlrsg)L9DEqZujaTyY{mTm*TeD6c-Z6aP{8ky4 zMCMaw^$N^vo1iy(OZ<)F6MCNEs-d+<9yI*xI=n#D`Vw%(V;KRx~{;i*8h>q?Um=GdRo*DJ=tn2(qovsbg zTVKM9e?D+Zl%1C-L2owCZ1ID8la$5I8a->Keo*Vxv!*A;ih~#{*2|9$G;Y+J6#jl@ zn1@Qq^4QM$RzFqQU%tO>+TU}GOn%tk4;k6Kzh9~_Zv5;0J#CP(!;Aj^YJX1$6RsB> zNR0pGKL3D&+DP-kVw zalfwDradWhxT~{v$O7@=UGqhI`dVq|yxsB8e)PmyU2b%ktF~owV_N2iWxq~N=Xt%{ z@^Z;F&Ew}+Id0QC)l2ZC@>cgm$qA*v{eD{)a0}k*@bkt;_A6DjjNTHxdEj0@b3^BQ zBEH{4jRiy2&s{(C)P0A-DSJj;xbSMI+O2m7JJ+v2eLs8N`q7V6k^{SE^~@Y}iFe`j zj8(l=zo?x`nYl~#iDqA~)N4%xNjPgBYRa0UPCK1!7p;UZ2ej$CUUWD5Pj;`Z1RU?? zT`vv>oH$%gzvlNi80aeR|9tO(vf}|iZ+t)6bTlVBC>ZfAu2N+G?{V#2><9f6bui!C zd!U2;K&K&t9JpQ>r(`3|FwRhpk#MkZpyJZ>;NhPvjl+h2_lRJK!hz7Fi!KK>rfPM) zYx!WdgU-0c!}Hp{_+gm(!y~01kH}@il>g|Q&HWfl>87Qe5&j1w`n2-Y&3e?URCs5b za%$v^Ui;!ql?}?SKMlCr&AH`+qeF7s&(sg-?J)G&6i4^AFAAJAKDJ00<`%qG`(jnr z7SC+c%ai^!1pzSYzU( z@g8l(uT0_&k9yF0g=V8cK#m|N-KG9({84r7{_jE;wElJXf(q>`9mCw2K_+cQzib-t zB&&XY3hPj(_yL2bbbi?VWWn$L+h!F+9uALMB>gpK*8YH@{RagdFJ-sxxZ?G4y#+Ta z6FKt+terCM_>IuZXU2AScCd~+<-$+D&}B^Mmhyr;gAx@V3{yE6rsA81sSfSCeLOFn z8SrXw+Y+xO?cGMb;r={O{RIaYbZi>R88O7zh%?M&h%r5;8Lse_GgV=1nmDofT&PvY zmecL+y&Qd-Pnp_uRKtx*JTFftZ}!YN&7sOag#ODh=*ZaYjgO4wO)t@4tdc7413+R4$o56;&2^~<^3 zd38SfS7DslB+F3eL%;6K_pRGDes}gfn_eZJOV*82y?HCE(Bs$E10L#hEa0SyAlO<3X}v?>*^5kLjOSkj4TeIgJAC?m`$z3mE(7-{R7KVlUi&KBE+x4WXlg$)|dy^L|3R@iCD`fAQ z{*u-e=?ja$Xi3@W9p1dy=(#=0e58Sxk&ENN8kBOS**obVRCF>YxzjazN(f9cdmcG;=l&*N37!r*}en~t3J zXjQoC(q^8$w=+(2__$gkKL=}tb1<%>yQhbvQCE%ujn<}Pr|B*ZUY_2b%W!I@aKYmj zP9OTYa!0n}=Z;+VT&~x*t1xVO()R6)ZJ5!>VZ%5k^hygofg3i2gLZ8)|F1h${8yJ) z9%#JSwc+}~r!&`ue0jHiRWH|97KZQoiH~n@uX0N2aI?Z`*$soT8=WoszumBQW89%% z1l+W$O9MMxO*63Mwc7t{8_u;(8)i0?-HEp9WKd)E_WYoaja9R2H?J&rzdMYxaj}_q z?f9y@%b#Yg9W{5PiD%0(Q7#MmO}~(Alk2v&X!oZvSDt@e`@X}NE&e<1mGV8dn%m#p zaA{JOk49vr-nzT)Zg>5)w;!k~Y-94ewr9tg-Zoo1t{&AnudDHq^(~^0`>j9x(2%`3 zt+lmB%=MrV{NudIo4e0)&<@BvoH@R?YN1~Lo0C#4?m6}=US&)M^gHXOXEwFf>X)~J zKXh}hc~v`mU+C7D8}jqEtDLYxS);(f)`o-2A@Y+hH9GpVlU=ol3FU#gE5>9#-7d5$ARxX_*;{sXX~;CM;n@K$oqMuz;&G^4H7PYdDz9ID+`p5 zZk}2>?Nm+w{S%}$If)t9hOVtv+rBz|sa1Q`RNGtgg{w55Ck+j(onL$5cmH5%{Hn)# zZSH&TU0L}io1phY zI&Z69;$yg>v+)Br+vKYQ`|R!B``G1FPEjkr+~H5dSw}{WDcW#9c}ZxG>@}ee=f!Sb zUwpk6`{^FXnPqD}_IIA5tXrP=ICzP( z7PI^x-|12|>Q3muXESV0uQKZz$RC=M@Vc1io!3t(cI~paAM!TwxB5T*MQQ$gvkKem z!8hWr+#0@ibj6Yfy<5yEyz_FvW(}R47f!!j-?4p<9>2`|yh>vA;l$^=zh>+FT2GXx z9_&^6!pHvR=V7X@_xhMioR4joSpItTfWrNY?9KVw8o$|Q-a7I&G4Eb+tK~<3@&CHh z$*F9^Or32rZ@p1Jw6o`kf&=kk4_u#^9i10sS$!s;qu$GXmF88G!;UTHb=}&>7( z@6~v7%`94!r3_As)a;_x;itAZN}?s^}AmG+StNl*_yp~rv;7-J*n}liTw@lc`cuHXz6<2)mrr$ zPxsuwnL8(K&P$ORg{!o~QJ$I-i^XyJ3$70-{n0_=_iOS(9!FE*8oas@-QDYbyENWf z*+^aCV-<|M-!I{-8EN1&===LloF3m7R58K@(I9`}o3UDtb(PxYjd3y_IF8r2uCL-A z0N0gO!ZF8kQ2Lq$;k6>4^@sIdOj?pWyV^LR>#rkv=;+zc+SYyD(RX>VH^;5Wn%zg` ztBa6(YHRE$am;45cD_N^69;>I=so1u4lZfl$%hU0o(`IRZ9|l~r~T+Fewl|lWOa?n zY+daWZ8pNQmuE@zB?~g^rk;%p84(%U%CF)0HeasW+*QAw;bh#+Dm8u9D#tCRX&zQ22+P62YSZEH-U;DIfVbl(12E%Z9dMIZYzN#2H{~ww|{`pq}J(Y&8c2%D^ z>b~CFO&$T!oIhv|aRU}hXY@a@>>g`y%(apQ{aO@FAJ)G3W$T|>&nIBDNzwQ!o~;jGm7$0J&F)EUre-;$Wz!^c7;4_EgeHNKnn`_;VyuMS_AKXFyR zqV)8y!waOZ7jz1L_UiKV%q0889cG`I`+O(apfk+*m!R+&15K?Z>j#X>whFfYrLWsb zl`h$4gW^Z4J8qkw5Tny7?&zzHWeJWAPPp%mVc3uKM08JZ_>z4oFicWU+J>5AZOD8m2 zcXhT-)FGYKJ36|Dw_6a<*4kIy3jZVeJN~y`}wOo*+tV|tN$;&3VNoObUR~O$5X0Uz5y@Nm>jxugE}`}-*>NmfKWf^fZob|dO>GG)Bl|n9C6#1p|>tg zH%j(@ZAPc{y9Wl>eXRTN0Y8yQUszF5cEKLCfK0vUG~KmLF-1BN`TTz?{S$$S3HqV? z^@I262kg=Ji`Vmw&|Y%q+KrE2@NR;2vV;`0!y#-RJio$)}QYS5EiXUuIZT z(*44nZut^+9{!&joLDS8^DmOd>^PV9KgtZde;~N{z{=8$4bRRWl2(*_tgF2$%3C$w zX@@Pow~aiYz5JSfOli0CrQNPP=w65hP~82}DU-!V7whEjSpH|Lc>O5v?e&!}@`B0_ zhdxLOD@h11J-qeB)!h156< zzSr%-N!zaJiFZ$f@0r_vJdskomO8Ttg z&BMp1hVK+>haT4tzSuSJHhXt|&zM6_>W3Ye4bxZw<5)qatdQ|c#KiCS;=jHYDZLd` z`%q9{5s6j2xfW7!MDQSC<)iE!wJ*vV8yg$y>*`)t)jWIhro8M;X>sX+^I1CK**YO- z41%(|yX=_IA={lvn9mBCzzQ^Fg_$d@nW7XmiAf6@ha$WzzVtN9yXx%9x7R{yi$m+5 zMAVgqR^<8KNL($++FSMH;pY$U>t0p8ttfx<=;52vTW^XlRNpzDH+1Wv&H=eoEH+Ni z*|=!Lj)k2CW0~ObO!!2lb<>o#&Q{v<8*Be>w1ys>IB@Sk!2Klu$C>^wPX$ROE35AY zS3N%ewx;%F)$9BB@0Z@X@%C}4Eaie~$(lPyzPT@-zo@BecwGK$ zd$5Q9C}x{AYu^H;#KlUvS(KFZ#5YOCA!=?3*RwTOuUhdahP4aDKD;Oy*#(SsxamC^~2S7 zPSup&czRFr=;8f0Z{L3S^yO3I*H>jZuM2%&ob-Q`?o*QBd-p)lZDGiXjq^iHnWQa| z?>;m(G$L(MQBru;P4mKUOv((_wrQ+2lUTtcncQ6gH5K>X+&cEA`23rPlDFlhbybyU zFmGR1mfpE`H$SW7*yie6f$yJ2)!twAwkV`3Kj>)|zbqp-&UsLDWk8YGC zt$vss^y-qJt~9K^Vr|`{)zVv`HCF;|=d2DkYrz|-B$&XQaAQ*Kn8?A5cnR|=hlO9p zc%8y3U&Y*Bj9=H1Kbunfx(Xe${&iJDT`k5Lr2qNj``3319%e+}PZCrd6TFp#)|Js! z)R#v{iz9crkM$nS@*c&Cvu0fpFo)e)F=JS97Ocx5jPxw4<}~ZAnDsn{d3__ZY189x z{oCq~wbC!28ooAuY5el#8Lh7HaKC;7;KZ;o~inVGY zOKi_vjbPH9S)0ePwvA_{FJwx0;RnE3HOKL@+jid)Z!(`hen86j|K)Q-T~+z>!mNiG z8|WyP8um0-@cMGlyOPkFsyq3q+uV#8pOMUtS*%lTOkpIG;>g-Mfwg%IYu_x^X*cFY zGE;MB{!fWFy=}xe{N?lK4|UQfcb*ocJxE_yyg%gr!Ju;S%F3d>-xevob7i|-zXR4x zfjg!(Ws(*%TTGetLzwMj8L^YrOUd_<^V=ed1_NeoW%V5d3^nN`OWix7LE1| z(lCyY@>Yc8D-$AM(c=(;hoPuKsqoVQ;~H542xORXc>ch!oMBq!V^)4alUPWfs_B)F z!QT`QKFMDKd`6XzxaC+*sw`;N*sgpWF>E08JjE0eKrDuhzkk2}u7Ur%8sMo}>hRTP zS_HP8<0sIV9~;qbaVAa}kA<~ckc}{*pZcsYd_KopeP(y?dz=5i%kuwt%_y@v&dBW6 zv|Dm=cgGdADV;({rgj7oYe$kS?KK3ah2&tTK!S5a5~XQR!Za2ToI!u~RiAYgb>O!` zZ92V+_y4&U@~w<=FW#WJv^2SsA337CiX7KlM~>;PBUw68DF14iGIUmv{rG%SdnZ}> zBibz@AsV(Mu&oX8Z#$bHjki3tX)B#n%{BgCsRU0o%l>OM7Zzsd_>p5e0+d&P?Ho#S zbRtj>YyYAA`?P$?#`ep|8cjPAj_n`Zb}qqH4ubwba1lZ#Z?zc}%UYRF|4*+2Z}sWc z!cNO-3Jd~BUgr>$cO^Njy%OaQLAk^6K8oOKj;#IDHbA%kUM(LI-JVM#+bu!+pHJJr zY}+@NA8mlP1FGL$R40Y}r`7@b>#{7pmE@XX1i8>9fSm5^Pmbw_pu8x*b_h9)c5p;@ z4aq?r9M*~a*8cZs@lk$9g0Ya`0+g)n-)hU8Hi2YBi1C)JXo_;*J z&rT;-4L6WWT|-Dg7eBOtAaXs9E^9g4Jej>x0V-KujxQ&-(RUQ58M8G+gB_* zuF0VeW)fNlPOZ#i{!{9}Q*FxdEWI6{o^`)Q9vGe^w+s`>6~p!9V%K1TON`{W{>r8{ zpwI`hbTIbI+kafg6=bdEQnISu!f$QAx!?a|`K@H*LXd_Hv2QUBvr+utzC6?{GL8EYmes*p^n*Zh#=xH(mA8TBKG3`mp#49#qo;h|H@~Uv%g4PR z%ic5w(0&nseZ$Ij^GI;Jd7tJhj~wxTSpzFI=7-6xYL>?NRLOVzx zmklGy`7ZwCWamJVts5d62Xb^*%fEhSN%9Ee?uaesVL`WIJ>Kx0uaUjSX3@GJ!ZSV~A(VDa2p>`}U{%e_HmHnzq>H zi%@Pm+4f%FX&Kq5?LuO-UCB0G53;F~3t6ZGRWo? z;l!@HIa$bzAiio%V?6Ea_!0-(oVIlb(p>J%+HPd4jtAMU>q&O#@kp$`7vZ&;vHmYC z?hi?0f2R}HZgC90$|3kJ2gf_dWV~T`9CdLLG0_l~@gz9p|}-jJI&ZxUZidorIfCL!%?NjSDS?c=oEo3xjcEjsSl z-kxMT%Dh9LM|SG3AUiv+AiE8GNO=1tm(d3Ff5_-x^ajVcxCTw|tr4lMttD^YqWrI3 zk=JjkN!gRf#C!Zg!fQE|Y}9c5n z{6$6nAzA;nHr(A>D=RK`5#tyy1N--f?>ub51vnY-9V7n(8;-%8%`TyQZe*+sy;--@o65 zdLXnOUe#2SFwID#?UJ%)@7fkSVB{_&=se^ijun}t)FrL&=K7^|-KRq#|& zM)r0Tkh}D_soN=XgMETrV;?6)>|E5xQJhm8A%%w7IHo)-8(--7dj$31+h(4__gwyU z&Rc!Ps5M<3^V25a7xva^-b#OjaLsKb+lpXU+P~OU(beQa7bscJEe~y9H-MuVDuOgN%)&G;2F~d}2R&dNGSs-nl?tNN$jO*%wH**KV?|w=;269!C~+A4g7QWn+wg zMWpq$r1nD{dH?w%X&|4;%cm7&pOp_uYaLF?yA_d#IJSP!4absH-7m?GE$Q*ZEgW+; z*Tr?z#SL~I$uSQ7bTcI`_tBjqyC-G$|JSdT-oJHYXxX(>qVoLsy2n|O4G|qa$&o;%pkJync$jEt8P?*H6i(_wNY4 z-zB)$gS>w$B`2dq#JROOSh41xH*mTZ?^Xzk7Q^?7M9mvsT3`t+akocJl*)dm>WXHHaE4_93zjptZLWSMC zes$=Ro9V@GBw?ibVjy{WMnInBhLR`Qp#-frWk4n84y8Y4q}LT76dWR5fKDIkc7w}^E}Bs2%&WSzw4Y_3DrLO zyuau7dEfu%y_}pooOAYGYp=cb+G~H;UN3sWH#P_B0=_s;$J}@d^!p^}{E6Vfe7Xib z*N_MI`2e~BAcD^!l8z{x=;&~P4mk-F_=}8I^_J1x?gDw}1@iszU5X6ZzC9-`v1J3& z{_WdqQRjQ+$E~lbPMk;;ag(Vu%8Ra_@uIwA-jp5WMHzd&DP@N@C86z^2le!?rJV4+ zR1_CZmANT&tEvq2VzwjFejD#^gC92uxEw0W%BPTT*1$JD3$(LeoPEOZnPV&sYwbzr z+jyccEUM$dInl3lUlu@n>YI_Uw+~Zr@3s^?RG@tWWwhxB87=-&Ml(K<5nvSL1|E3W zo}v?5=11kGr##kLQhen3p4SsM+_{nFNtH>HsWM>-m0g`e#TUFp8OVVQWbXH-)SaMz zt3-cdUHfMQucKV(zv62bsQP*qWWQRZo$2S}PAzmjz60a|eW8S^p%+elz5#1tKJbU| zx&W`2Oo7jo{l^{{=ca%Mew5H=Kjh$Soh+O~p8);sF46(*uM{#$5M_VIuQFQAZU32! z0B8c;(lOp7&;+xLj%}QooRgmX%HK79+@**Q3zIh9x|uVRs?%pvRjPMA53Wq1qO*{J zP{_bx^npE+4iNjm7S?~hlyP(ew*hyreR*al;Yd$ zqfF?;$kz|jmR_Cch%0nHWPi^98LdIv&*=`i?^56PO#5WWf_FCu^6Dbcysw|9xbUD= zkD@;*>iEL)xT#bHT7eq^{WIuBj-3ZyA`i-A(GMb62A~HIaUTHvtOIZ)WBkiJwuuTZ zpP;Jzbdg?QVkEgopT7lPM?=~x^0GzR%QDlT3(_fW)^R$FKCmBsfb{^&KnT{*PGc?Y ze49z&!3>IVT#0%0HuBeWp`Bx8bYzS`hoSej{VXFt^n35F^=;3zb3b6(r+?x=v${Lb zH1J^K7z1UeB-k4AAR+3)+j&tdYb&BBP{mdBd9*dR`;DyW;De7S2bC${!L`X$hJH|Z znq|NneE@W09K28e@hwyodzNZS3+l$aJ7S*)eoCYrctNTx$fJtfEGo-Rr_zj6Dow|c zmP{q7=@hD523^2?05Sj`1VI;aKVTpFMaL<03clnuoj#(q-^)b$gGNYtZyi3*`c#s2 zmVG`U+=1rxfPVN?p!2&Ioy|!{;>o&Ka^$hV;)tnKddZ6bcck*mlSI8= zmE;B5r$G*8*YRKqRe%R2ky9uiGLU&d>I2DWfA0U;VcV%RIf`nlE70!JSXT=>kK4Vv zxR5IIbMLpgM0*P8PlCRPqtX=Ei+(5X_W@A`L|y2Gxz9xOkMXqT12rxGSVrri=l8nG zC}@~KJNij&&uuOC^}2SS`Y~w#)PaEMBtS1|eoqJT>*YX8U>|IE`;fAe<9jpt370Ru zo_>7Ut^6bIbRB(LR&09!!l)Ly{$_a@RTnYs=EqXFo<<JlV?F?FD#|;z zxo-~#S_Hb6^>&~&eI021PcqujN1*7#%a1etiIHc1OWE#8X@O%YbGIAi26<57N%Zsc zkO$_&W$3=RNze&i-~q;ktXb$AUQ~2xJYC!6OqaIKpbNWKQN)4Gbm7QOO1OBMN(*wt z{(h^n9OGaCdu_4eUk}Ezi>!xj>Vk-EZh zHvH^Bn|^VifPN0N@q2+ne7>m7$xLgT7=GyBwap%|V?3bC#!<>vH%i~(M%f3(Q$gq? zDn928K6p`i%w$nF)<7?o!Y)b;pFkOLrwL$PDuP{GP*g%$Ik^-UA5YPj;P;M=qB7|A zikz$l{rs9lcj7s;cNpkBMu7GbAgJKyZn_>3NbzffDah(X7oFr(w)<%c_rciaBBz*e z@Cdlv^6HyZjB{>bF-1p3k&p90`o1lA&{??O=JUS<-QPOUTF|`_G;apYzy{M+K9~nT zKz4?`OzCkK2P7N|EQ;GSjpDb=p!k4kln^k5t_65Pr;QhRk+IvI@`637C>**W8pjpT zePI%nm1NT$IBPhpfakH8&x<}x_T^?}XH(S03zT^NG!>_!y}6I0e*+DRwmwcJF-NF4 z3N!9qwNg7K1O`vl)cDkFW68hsF=Et`%j@W(1#l_%z zaS7#JFQL^wUey0>*t^hgcDlK(8`8Y>Cw%@9w4)Df{0@Bp<7NEuO{?P$ZYq!2G>@(Z z%*Qd0Vzw|Nk!=qs11oe3-((v58&6SV*e%k zv$<|Lxp@?I?lfgZVlI?;MwIX3sC{((!geY+yM^*jZ=~Fl8z|@aI?4`RLs=oKDf7ru z$~?1!PR#j^4ty=p0(BG0iN7M2#Xb`DkFk#s{1(e%pD`b~up_;G>`F5*z6B0&plxVp z0KtiA25g%)eeXd2-=XibOnl=&t63j>CQ!t-8E0a)uPM8{VF6vZ0Bni{cA{0F{^9JKwX@MpY;dVK;up?Ht_YCMg!L)+Tqbot{a>@u=hB@<6N;|lO(he-4l)VcnuOvUmi!C_w+PZ|;}F zZ$SGc_)at^??sg3hVp7z?kaE8(DD5{Xp-Rx+6Mi$xexj~^qrm7mCysr(I=KdCoINT z;0L`p7rY8tG9u;5#-(M^YZp-Tx`j9v)gSBe-hONVZ~PZi#EMyTapwlAMLTeN@BvzX zVm)eq!I#~a+lc*qMI~hvxo0IM?)0V9eM{jhSxia0aqRS?#2tQgZ99%Y*!SCTZ1tl! z@H^>%KOJ7~Nxk2I?639{>1W^AojZ4G(AMqk=3=b$fjvA6dT}P~!s!?vrsD8s`xs-%t{MFcuWnvacGZ6&+IA6Lg$(@ZfIM8q z5x3coB3I3%OS}CEAwQzeisc?MZ*Ev8__K_ttN45M&07=^xQ;HaoJ}#{-<1u14<76B zxxsN6?GOk42CtYxecQmc@n1>z;1=ZPfuGl*TN*bk3*U|4KEb~i6&2G^^P4mpkLDSDdtWWm)3RMU=G54}L5hd;BN`?UcF?$9|T}rI68Okk=KE zQ`GmsD(IbJv3urW%RK0t`8dFr4f7}-cEstW1IQ2hY4TSeP+opM zRiF&k`zWh6KR z0q|xNz@q z3&4D6;pglN0zaS!Wu*}WnpFZOhD0dzCdd;P)=(GDq&J|NKy zdrY*?k}iridRb<=IDg4aileyb2hG?_Tl;cDAY}$+<5}U!xs<@+xRSO+#rnc0lj3j zqNj`&ffv5u#azh7%&xGNK5hhC^|)_g>eZFSk$b4*^1(WqkBPP!;<+%FiInKhNWr`% zOY~RVge}5;jMBm!N`j3Sd-)QjBqdOGRwiY^woi=#Cgj)x%0A}|9}3T*eQ}-%{{d|2 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 Y3F*$sVdWY@r0}~HvA6^BDO9Ha0tWZ)KL7v# diff --git a/SeventhHeavenUI/SeventhHeavenUI.csproj b/SeventhHeavenUI/SeventhHeavenUI.csproj index 20ad07e6..25635ec3 100644 --- a/SeventhHeavenUI/SeventhHeavenUI.csproj +++ b/SeventhHeavenUI/SeventhHeavenUI.csproj @@ -159,9 +159,6 @@ PreserveNewest - - PreserveNewest - Always @@ -574,12 +571,6 @@ PreserveNewest - - PreserveNewest - - - PreserveNewest - @@ -628,6 +619,7 @@ 4.2.0 + 2.2.3 diff --git a/SeventhHeavenUI/ViewModels/ControlMappingViewModel.cs b/SeventhHeavenUI/ViewModels/ControlMappingViewModel.cs index 88d3ecf7..255ea986 100644 --- a/SeventhHeavenUI/ViewModels/ControlMappingViewModel.cs +++ b/SeventhHeavenUI/ViewModels/ControlMappingViewModel.cs @@ -1253,7 +1253,10 @@ internal void DeleteSelectedCustomControl() public bool CopyInputCfgToCustomCfg(bool forceCopy, string customFileName) { string pathToCustomCfg = Path.Combine(Sys.PathToControlsFolder, customFileName); - string pathToInputCfg = Path.Combine(Path.GetDirectoryName(Sys.Settings.FF7Exe), "ff7input.cfg"); + string pathToInputCfg = Path.Combine( + Sys.Settings.FF7InstalledVersion == FF7Version.Steam ? GameConverter.GetSteamFF7UserPath() : Path.GetDirectoryName(Sys.Settings.FF7Exe), + "ff7input.cfg" + ); Directory.CreateDirectory(Sys.PathToControlsFolder); diff --git a/SeventhHeavenUI/ViewModels/GameLaunchSettingsViewModel.cs b/SeventhHeavenUI/ViewModels/GameLaunchSettingsViewModel.cs index 08ac7a2e..05652a1b 100644 --- a/SeventhHeavenUI/ViewModels/GameLaunchSettingsViewModel.cs +++ b/SeventhHeavenUI/ViewModels/GameLaunchSettingsViewModel.cs @@ -17,6 +17,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; +using System.Runtime.InteropServices; namespace SeventhHeaven.ViewModels { @@ -41,10 +42,7 @@ class GameLaunchSettingsViewModel : ViewModelBase #region Data Members private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); - private bool _autoMountChecked; - private bool _autoUnmountChecked; private bool _autoUpdatePathChecked; - private bool _isAutoMountSupported; private bool _isReverseSpeakersChecked; private bool _isLogVolumeChecked; private string _selectedSoundDevice; @@ -62,7 +60,6 @@ class GameLaunchSettingsViewModel : ViewModelBase private bool _isShowLauncherChecked; private VolumeSlider _lastVolumeSliderChanged; private bool _isSoundDevicesLoaded; - private string _selectedMountOption; private int _voiceVolumeValue; private int _ambientVolumeValue; @@ -102,45 +99,6 @@ public bool IsSoundDevicesLoaded } } - public bool IsAutoMountSupported - { - get - { - return _isAutoMountSupported; - } - set - { - _isAutoMountSupported = value; - NotifyPropertyChanged(); - } - } - - public bool AutoMountChecked - { - get - { - return _autoMountChecked; - } - set - { - _autoMountChecked = value; - NotifyPropertyChanged(); - } - } - - public bool AutoUnmountChecked - { - get - { - return _autoUnmountChecked; - } - set - { - _autoUnmountChecked = value; - NotifyPropertyChanged(); - } - } - public bool AutoUpdatePathChecked { get @@ -469,56 +427,6 @@ public VolumeSlider LastVolumeSliderChanged } } - /// - /// List of ways to mount disc (matches the order of enum ) - /// - public List MountOptions - { - get - { - // this list matches the order of the mountoption enum - List ret = new List(); - if (IsAutoMountSupported) - { - - ret.Add(ResourceHelper.Get(StringKey.MountDiscWithPowershell)); - } - - ret.Add(ResourceHelper.Get(StringKey.MountDiscWithWinCDEmu)); - ret.Add(ResourceHelper.Get(StringKey.DoNotMount)); - return ret; - } - } - - public string SelectedMountOption - { - get - { - return _selectedMountOption; - } - set - { - if (_selectedMountOption != value) - { - _selectedMountOption = value; - NotifyPropertyChanged(); - } - } - } - - public MountDiscOption SelectedMountOptionAsEnum - { - get - { - if (string.IsNullOrEmpty(SelectedMountOption)) - { - return MountDiscOption.Unknown; - } - - return (MountDiscOption) MountOptions.IndexOf(SelectedMountOption); - } - } - #endregion @@ -537,6 +445,8 @@ public GameLaunchSettingsViewModel() SelectedSoundDevice = ResourceHelper.Get(StringKey.LoadingDevices); InitSoundDevicesAsync(); + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) Sys.FFNxConfig.Reload(); + InitMidiDevices(); LoadSettings(Sys.Settings.GameLaunchSettings); } @@ -567,21 +477,6 @@ private void LoadSettings(LaunchSettings launchSettings) AutoUpdatePathChecked = launchSettings.AutoUpdateDiscPath; IsShowLauncherChecked = launchSettings.ShowLauncherWindow; - - IsAutoMountSupported = GameDiscMounter.OSHasBuiltInMountSupport(); - AutoMountChecked = launchSettings.AutoMountGameDisc; - AutoUnmountChecked = launchSettings.AutoUnmountGameDisc; - - // options to select mount method is disabled if user OS does not support and forced to use wincdemu (i.e. does not support PowerShell Mount-DiskImage) - if (IsAutoMountSupported) - { - SelectedMountOption = MountOptions[(int)launchSettings.MountingOption]; - } - else - { - SelectedMountOption = MountOptions[(int)MountDiscOption.MountWithWinCDEmu]; - } - SetSelectedSoundDeviceFromSettings(launchSettings); SelectedMidiData = MidiDataFormats.Where(s => s.Value == launchSettings.SelectedMidiData) @@ -625,12 +520,32 @@ private void GetVolumesFromRegistry() string soundKeyPath = $"{ff7KeyPath}\\1.00\\Sound"; string ffnxKeyPath = $"{ff7KeyPath}\\1.00\\FFNx"; - SfxVolumeValue = (int) RegistryHelper.GetValue(soundKeyPath, "SFXVolume", 100); - MusicVolumeValue = (int)RegistryHelper.GetValue(midiKeyPath, "MusicVolume", 100); - - VoiceVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "VoiceVolume", 100); - AmbientVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "AmbientVolume", 100); - MovieVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "MovieVolume", 100); + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) + { + SfxVolumeValue = int.Parse(Sys.FFNxConfig.Get("external_sfx_volume")); + if (SfxVolumeValue < 0) SfxVolumeValue = 100; + + MusicVolumeValue = int.Parse(Sys.FFNxConfig.Get("external_music_volume")); + if (MusicVolumeValue < 0) MusicVolumeValue = 100; + + VoiceVolumeValue = int.Parse(Sys.FFNxConfig.Get("external_voice_volume")); + if (VoiceVolumeValue < 0) VoiceVolumeValue = 100; + + AmbientVolumeValue = int.Parse(Sys.FFNxConfig.Get("external_ambient_volume")); + if (AmbientVolumeValue < 0) AmbientVolumeValue = 100; + + MovieVolumeValue = int.Parse(Sys.FFNxConfig.Get("ffmpeg_video_volume")); + if (MovieVolumeValue < 0) MovieVolumeValue = 100; + } + else + { + SfxVolumeValue = (int)RegistryHelper.GetValue(soundKeyPath, "SFXVolume", 100); + MusicVolumeValue = (int)RegistryHelper.GetValue(midiKeyPath, "MusicVolume", 100); + VoiceVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "VoiceVolume", 100); + AmbientVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "AmbientVolume", 100); + MovieVolumeValue = (int)RegistryHelper.GetValue(ffnxKeyPath, "MovieVolume", 100); + } + } private void SetVolumesInRegistry() @@ -645,20 +560,31 @@ private void SetVolumesInRegistry() string soundVirtualKeyPath = $"{virtualStorePath}\\1.00\\Sound"; string ffnxVirtualKeyPath = $"{virtualStorePath}\\1.00\\FFNx"; - RegistryHelper.SetValueIfChanged(soundKeyPath, "SFXVolume", SfxVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(soundVirtualKeyPath, "SFXVolume", SfxVolumeValue, RegistryValueKind.DWord); + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) + { + Sys.FFNxConfig.Set("external_sfx_volume", SfxVolumeValue.ToString()); + Sys.FFNxConfig.Set("external_music_volume", MusicVolumeValue.ToString()); + Sys.FFNxConfig.Set("external_voice_volume", VoiceVolumeValue.ToString()); + Sys.FFNxConfig.Set("external_ambient_volume", AmbientVolumeValue.ToString()); + Sys.FFNxConfig.Set("ffmpeg_video_volume", MovieVolumeValue.ToString()); + } + else + { + RegistryHelper.SetValueIfChanged(soundKeyPath, "SFXVolume", SfxVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(soundVirtualKeyPath, "SFXVolume", SfxVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(midiKeyPath, "MusicVolume", MusicVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(midiVirtualKeyPath, "MusicVolume", MusicVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(midiKeyPath, "MusicVolume", MusicVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(midiVirtualKeyPath, "MusicVolume", MusicVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxKeyPath, "VoiceVolume", VoiceVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "VoiceVolume", VoiceVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxKeyPath, "VoiceVolume", VoiceVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "VoiceVolume", VoiceVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxKeyPath, "AmbientVolume", AmbientVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "AmbientVolume", AmbientVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxKeyPath, "AmbientVolume", AmbientVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "AmbientVolume", AmbientVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxKeyPath, "MovieVolume", MovieVolumeValue, RegistryValueKind.DWord); - RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "MovieVolume", MovieVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxKeyPath, "MovieVolume", MovieVolumeValue, RegistryValueKind.DWord); + RegistryHelper.SetValueIfChanged(ffnxVirtualKeyPath, "MovieVolume", MovieVolumeValue, RegistryValueKind.DWord); + } } private void SetSelectedSoundDeviceFromSettings(LaunchSettings launchSettings) @@ -702,10 +628,7 @@ internal bool SaveSettings() { Sys.Settings.ProgramsToLaunchPrior = GetUpdatedProgramsToRun(); - Sys.Settings.GameLaunchSettings.AutoMountGameDisc = AutoMountChecked; - Sys.Settings.GameLaunchSettings.AutoUnmountGameDisc = AutoUnmountChecked; Sys.Settings.GameLaunchSettings.AutoUpdateDiscPath = AutoUpdatePathChecked; - Sys.Settings.GameLaunchSettings.MountingOption = SelectedMountOptionAsEnum; Sys.Settings.GameLaunchSettings.ShowLauncherWindow = IsShowLauncherChecked; Sys.Settings.GameLaunchSettings.DisableReunionOnLaunch = true; // always have this set to true @@ -720,6 +643,8 @@ internal bool SaveSettings() SetMidiDeviceInRegistry(); RegistryHelper.CommitTransaction(); + if (Sys.Settings.FF7InstalledVersion == FF7Version.Steam) Sys.FFNxConfig.Save(); + Sys.SaveSettings(); Sys.Message(new WMessage(ResourceHelper.Get(StringKey.GameLauncherSettingsUpdated))); diff --git a/SeventhHeavenUI/ViewModels/GameLaunchViewModel.cs b/SeventhHeavenUI/ViewModels/GameLaunchViewModel.cs index 1f402257..8da1b624 100644 --- a/SeventhHeavenUI/ViewModels/GameLaunchViewModel.cs +++ b/SeventhHeavenUI/ViewModels/GameLaunchViewModel.cs @@ -49,7 +49,7 @@ internal Task BeginLaunchProcessAsync() { GameLauncher.Instance.ProgressChanged += LaunchGame_ProgressChanged; - didLaunch = GameLauncher.LaunchGame(variableDump, debugLogging, IsLaunchingWithNoMods, IsLaunchingWithNoValidation); + didLaunch = GameLauncher.LaunchGame(variableDump, debugLogging, IsLaunchingWithNoMods, IsLaunchingWithNoValidation).Result; } finally { diff --git a/SeventhHeavenUI/ViewModels/GeneralSettingsViewModel.cs b/SeventhHeavenUI/ViewModels/GeneralSettingsViewModel.cs index 95450a29..4bbb9e87 100644 --- a/SeventhHeavenUI/ViewModels/GeneralSettingsViewModel.cs +++ b/SeventhHeavenUI/ViewModels/GeneralSettingsViewModel.cs @@ -422,41 +422,42 @@ public static void AutoDetectSystemPaths(Settings settings) { Logger.Info("FF7 Exe path is empty or ff7.exe is missing. Auto detecting paths ..."); - string registry_path = $"{RegistryHelper.GetKeyPath(FF7RegKey.SquareSoftKeyPath)}\\Final Fantasy VII"; string ff7 = null; - FF7Version foundVersion = FF7Version.Unknown; + Sys.Settings.FF7InstalledVersion = FF7Version.Unknown; try { - // first try to detect 1998 game or a "converted" game from the old 7H game converter - ff7 = (string)Registry.GetValue(registry_path, "AppPath", null); - foundVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.Original98 : FF7Version.Unknown; + // First try to autodetect the Steam installation if any + ff7 = GameConverter.GetInstallLocation(FF7Version.Steam); + Sys.Settings.FF7InstalledVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.Steam : FF7Version.Unknown; - if (!Directory.Exists(ff7)) + // If no Steam version detected, attempt to detect the Eidos release + if (Sys.Settings.FF7InstalledVersion == FF7Version.Unknown) { - Logger.Warn($"Deleting invalid 'AppPath' registry key since path does not exist: {ff7}"); - RegistryHelper.DeleteValueFromKey(registry_path, "AppPath"); // delete old paths set - RegistryHelper.DeleteValueFromKey(registry_path, "DataPath"); // delete old paths set - RegistryHelper.DeleteValueFromKey(registry_path, "MoviePath"); // delete old paths set - foundVersion = FF7Version.Unknown; // set back to Unknown to check other registry keys + ff7 = GameConverter.GetInstallLocation(FF7Version.ReRelease); + // Return the Steam version as both use the same logic to run from the 7th perspective + Sys.Settings.FF7InstalledVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.Steam : FF7Version.Unknown; } + // Finally as a last attempt try to autodetect the 1998 release + if (Sys.Settings.FF7InstalledVersion == FF7Version.Unknown) + { + // Try to detect 1998 game or a "converted" game from the old 7H game converter + string registry_path = $"{RegistryHelper.GetKeyPath(FF7RegKey.SquareSoftKeyPath)}\\Final Fantasy VII"; + ff7 = (string)Registry.GetValue(registry_path, "AppPath", null); + Sys.Settings.FF7InstalledVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.Original98 : FF7Version.Unknown; - if (foundVersion == FF7Version.Unknown) - { - // next check Steam registry keys and then Re-Release registry keys for installation path - ff7 = GameConverter.GetInstallLocation(FF7Version.Steam); - foundVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.Steam : FF7Version.Unknown; - - - if (foundVersion == FF7Version.Unknown) + if (!Directory.Exists(ff7)) { - ff7 = GameConverter.GetInstallLocation(FF7Version.ReRelease); - foundVersion = !string.IsNullOrWhiteSpace(ff7) ? FF7Version.ReRelease : FF7Version.Unknown; + Logger.Warn($"Deleting invalid 'AppPath' registry key since path does not exist: {ff7}"); + RegistryHelper.DeleteValueFromKey(registry_path, "AppPath"); // delete old paths set + RegistryHelper.DeleteValueFromKey(registry_path, "DataPath"); // delete old paths set + RegistryHelper.DeleteValueFromKey(registry_path, "MoviePath"); // delete old paths set + Sys.Settings.FF7InstalledVersion = FF7Version.Unknown; // set back to Unknown to check other registry keys } } - string versionStr = foundVersion == FF7Version.Original98 ? $"{foundVersion.ToString()} (or Game Converted)" : foundVersion.ToString(); + string versionStr = Sys.Settings.FF7InstalledVersion == FF7Version.Original98 ? $"{Sys.Settings.FF7InstalledVersion.ToString()} (or Game Converted)" : Sys.Settings.FF7InstalledVersion.ToString(); Logger.Info($"FF7Version Detected: {versionStr} with installation path: {ff7}"); @@ -472,7 +473,7 @@ public static void AutoDetectSystemPaths(Settings settings) // could fail if game not installed } - if (foundVersion != FF7Version.Unknown) + if (Sys.Settings.FF7InstalledVersion != FF7Version.Unknown) { settings.SetPathsFromInstallationPath(ff7); @@ -496,8 +497,21 @@ public static void AutoDetectSystemPaths(Settings settings) { Logger.Warn("Auto detect paths failed - could not get ff7.exe path from Windows Registry."); } - - + } + // User has given a ff7 exe path, try to guess which version it is + else + { + if (settings.FF7Exe.EndsWith("ff7_en.exe")) + { + string ff7Launcher = Path.Combine(Path.GetDirectoryName(settings.FF7Exe), "FF7_Launcher.exe"); + + // Since both Steam and ReRelease share the same way to launch, prefer the Steam codepath + if (File.Exists(ff7Launcher)) Sys.Settings.FF7InstalledVersion = FF7Version.Steam; + } + else if(settings.FF7Exe.EndsWith("ff7.exe")) + { + Sys.Settings.FF7InstalledVersion = FF7Version.Original98; + } } } @@ -547,7 +561,6 @@ internal bool SaveSettings() Sys.Settings.FFNxUpdateChannel = FFNxUpdateChannel; Sys.Settings.AppUpdateChannel = AppUpdateChannel; - Sys.Settings.Options = GetUpdatedOptions(); ApplyOptions(); @@ -556,6 +569,23 @@ internal bool SaveSettings() Sys.Message(new WMessage(ResourceHelper.Get(StringKey.GeneralSettingsHaveBeenUpdated))); + if (!FFNxDriverUpdater.IsAlreadyInstalled()) + { + try + { + FFNxDriverUpdater updater = new FFNxDriverUpdater(); + + Sys.Message(new WMessage($"Downloading and extracting the latest FFNx {Sys.Settings.FFNxUpdateChannel} version to {Sys.InstallPath}...")); + updater.DownloadAndExtractLatestVersion(Sys.Settings.FFNxUpdateChannel); + } + catch (Exception ex) + { + Sys.Message(new WMessage($"Something went wrong while attempting to install FFNx. See logs.")); + Logger.Error(ex); + return false; + } + } + return true; } diff --git a/SeventhHeavenUI/Windows/GameLaunchSettingsWindow.xaml b/SeventhHeavenUI/Windows/GameLaunchSettingsWindow.xaml index 589272d8..38823814 100644 --- a/SeventhHeavenUI/Windows/GameLaunchSettingsWindow.xaml +++ b/SeventhHeavenUI/Windows/GameLaunchSettingsWindow.xaml @@ -15,7 +15,7 @@ ResizeMode="NoResize" Title="{DynamicResource GameLauncherSettings}" Width="470" - Height="750"> + Height="633"> @@ -379,34 +379,13 @@ VerticalAlignment="Top"> - - - - + - - - diff --git a/SeventhHeavenUI/Windows/GeneralSettingsWindow.xaml.cs b/SeventhHeavenUI/Windows/GeneralSettingsWindow.xaml.cs index 63c21ed4..55d74858 100644 --- a/SeventhHeavenUI/Windows/GeneralSettingsWindow.xaml.cs +++ b/SeventhHeavenUI/Windows/GeneralSettingsWindow.xaml.cs @@ -70,37 +70,6 @@ private void btnFf7Exe_Click(object sender, RoutedEventArgs e) if (!string.IsNullOrEmpty(exePath)) { FileInfo fileSelected = new FileInfo(exePath); - if (fileSelected.Name.Equals("ff7_en.exe", System.StringComparison.InvariantCultureIgnoreCase) || fileSelected.Name.Equals("FF7_Launcher.exe", System.StringComparison.InvariantCultureIgnoreCase)) - { - // User selected the exe's for Steam release so we try to auto copy the 1.02 patched exe and select it for them - string targetPathToFf7Exe = Path.Combine(fileSelected.DirectoryName, "ff7.exe"); - string copyOrSelectMessage = ResourceHelper.Get(StringKey.Selected); - - if (!File.Exists(targetPathToFf7Exe)) - { - // use game converter to copy files over - var gc = new GameConverter(fileSelected.DirectoryName); - if (!gc.CopyFF7ExeToGame()) - { - MessageDialogWindow.Show(ResourceHelper.Get(StringKey.ThisExeIsUsedForSteamReleaseFailedToCopyExe), - ResourceHelper.Get(StringKey.ErrorIncorrectExe), - MessageBoxButton.OK, - MessageBoxImage.Error); - return; - } - - copyOrSelectMessage = ResourceHelper.Get(StringKey.CopiedAndSelected); - } - - ViewModel.FF7ExePathInput = targetPathToFf7Exe; - - MessageDialogWindow.Show(string.Format(ResourceHelper.Get(StringKey.ThisExeIsUsedForSteamReleaseCopiedSelectedForYou), copyOrSelectMessage), - ResourceHelper.Get(StringKey.ErrorIncorrectExe), - MessageBoxButton.OK, - MessageBoxImage.Warning); - - return; - } if (fileSelected.Name.Equals("FF7Config.exe", System.StringComparison.InvariantCultureIgnoreCase)) {