From 117dd17bf52063ac64dd8e782dfdfc2b49dbcef2 Mon Sep 17 00:00:00 2001 From: kwindrem <58538395+kwindrem@users.noreply.github.com> Date: Mon, 29 Jul 2024 19:38:25 -0700 Subject: [PATCH] fixed: GUI and other service restarts not always happening --- HelperResources/CommonResources | 102 +- HelperResources/CommonResources (original) | 1706 ++++++++++++++++++++ HelperResources/EssentialResources | 9 +- changes | 4 + venus-data-UninstallPackages.tgz | Bin 1142 -> 0 bytes venus-data.tgz | Bin 213048 -> 0 bytes version | 2 +- 7 files changed, 1774 insertions(+), 49 deletions(-) create mode 100755 HelperResources/CommonResources (original) delete mode 100644 venus-data-UninstallPackages.tgz delete mode 100644 venus-data.tgz diff --git a/HelperResources/CommonResources b/HelperResources/CommonResources index eddf74c..6674ef4 100755 --- a/HelperResources/CommonResources +++ b/HelperResources/CommonResources @@ -1030,11 +1030,13 @@ restartGuiV1Service () { # gui is the older service that runs GUI v1 only if [ -e "/service/gui" ]; then + logMessage "restarting GUI V1 (/service/gui)" svc -t "/service/gui" # restart GUI if NOT running v2 or can't determine if GUI v1 or v2 is selected elif [ -e "/service/start-gui" ]; then - guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" + local guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" if (( $guiVersion != 2 )); then + logMessage "restarting GUI V1 (/service/start-gui)" svc -t "/service/start-gui" fi fi @@ -1050,8 +1052,9 @@ restartGuiV2Service () { # restart GUI if NOT running v1 or can't determine if GUI v1 or v2 is selected if [ -e "/service/start-gui" ]; then - guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" + local guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" if (( $guiVersion != 1 )); then + logMessage "restarting GUI V2 (/service/start-gui)" svc -t "/service/start-gui" fi fi @@ -1167,83 +1170,90 @@ endScript () exit $EXIT_SUCCESS elif ! [ $scriptAction == 'INSTALL' ] && ! [ $scriptAction == 'UNINSTALL' ]; then setInstallFailed $EXIT_ERROR "unexpected script action $scriptAction - did not install or uninstall" + exit $EXIT_ERROR fi fi - # check for reboot or restarts + # check for reboot and service restarts if $rebootNeeded ; then if $userInteraction ; then if yesNoPrompt "Reboot system now (y) or do it manually later (n): " ; then - logMessage "rebooting ..." - reboot + deferReboot=false else logMessage "system must be rebooted to finish installation and activate components" - exit $EXIT_REBOOT fi - else - logMessage "completed - reboot needed" - exit $EXIT_REBOOT fi fi - if $restartGeneratorService ; then - logMessage "restarting generator service" - svc -t /service/dbus-generator-starter - fi - if $restartSystemCalc ; then - logMessage "restarting systemcalc service" - svc -t /service/dbus-systemcalc-py - fi - if $restartDigitalinputs ; then - logMessage "restarting digital inputs service" - svc -t /service/dbus-digitalinputs + + # restart services if a reboot won't happen below + if ! $rebootNeeded || $deferReboot ; then + if $restartGeneratorService ; then + logMessage "restarting generator service" + svc -t /service/dbus-generator-starter + fi + if $restartSystemCalc ; then + logMessage "restarting systemcalc service" + svc -t /service/dbus-systemcalc-py + fi + if $restartDigitalinputs ; then + logMessage "restarting digital inputs service" + svc -t /service/dbus-digitalinputs + fi fi #### TODO: add gui v2 if $restartGui ; then if $userInteraction ; then if yesNoPrompt "Restart the GUI now (y) or issue a do it manually later (n): " ; then - logMessage "completed - restarting GUI" restartGuiV1Service - if $installFailed || $uninstallFailed ; then - exit $installExitReason - else - exit $EXIT_SUCCESS - fi - else - echo "GUI must be restarted to activate changes" - exit $EXIT_RESTART_GUI + deferGuiRestart=false + restartGui=ralse fi else - if $deferGuiRestart ; then - logMessage "completed - GUI restart needed" - exit $EXIT_RESTART_GUI # GUI restart NOT deferred - do it now - else - logMessage "completed - restarting GUI" + if ! $deferGuiRestart ; then restartGuiV1Service - if $installFailed || $uninstallFailed ; then - exit $installExitReason - else - exit $EXIT_SUCCESS - fi + deferGuiRestart=false + restartGui=ralse fi fi fi - # if installation was attempted but failed, exit without checking anything else + local exitCode=$EXIT_SUCCESS if $installFailed ; then if [ $scriptAction == 'UNINSTALL' ]; then - logMessage "complete - package has been uninstalled" + if $uninstallFailed ; then + logMessage "CRITICAL: install failed with error $installExitReason" + logMessage "CRITICAL: uninstall also failed with error $uninstallExitReason - package state unknown" + exitCode=$uninstallExitReason + else + logMessage "install failed - package has been successfully uninstalled" + exitCode=$installExitReason + fi else - logMessage "complete - no changes were made" + logMessage "install failed during prechecks - no changes were made" + exitCode=$installExitReason fi - exit $installExitReason - # install/uninstall succeeded elif $uninstallFailed ; then - logMessage "complete - uninstall failed !!" + logMessage "CRITICAL: uninstall failed - package state unknown" + exitCode=$installExitReason + elif $rebootNeeded ; then + if $deferReboot ; then + logMessage "reboot needed to complete operaiton" + exitCode=$EXIT_REBOOT + else + logMessage "rebooting ..." + reboot + fi + elif $restartGui && $deferGuiRestart ; then + echo "GUI must be restarted to activate changes" + exitCode=$EXIT_RESTART_GUI + # install/uninstall succeeded else logMessage "complete - no errors" - exit $EXIT_SUCCESS + exitCode=$EXIT_SUCCESS fi + + exit $exitCode } # endScript () ######## this code is executed in-line when CommonResources is sourced diff --git a/HelperResources/CommonResources (original) b/HelperResources/CommonResources (original) new file mode 100755 index 0000000..6caca66 --- /dev/null +++ b/HelperResources/CommonResources (original) @@ -0,0 +1,1706 @@ +#!/bin/bash + + +# CommonResources for SetupHelper +# contains a functions and variables necessary for a setup script to interface with reinstallMods +# +# Refer to the SetupHelper ReadMe file for details on how to use these resources. + +# what action the script should take: +# NONE - do noting - signals script to prompt for user input on how to proceed +# INSTALL - install package components +# (decommissioned) PROMPT - prompt user for additional installation options +# UNINSTALL - remove package components +# EXIT - exit script without taking any action +# CHECK - runs file set checks only +# this will attempt to create a missing file set so PackageManager +# won't report it missing +# CommonResources may set the the action if initial checks +# indicate a clear direction +# otherwise, the action will be set based on user input (in the script) +# if failures occur during installation, +# scriptAction should be changed to UNINSTALL so the installation can be cleaned up +# and the setup script should test for UNINSTALL after it attempts installation +# A file set error indicates the file set for the current verion is not usable +# and installation should not occur +# checkFileSets EXITS locally + +scriptAction='NONE' + +# flags to control setup script behavior (in endScript) +rebootNeeded=false +runAgain=false +filesUpdated=false +restartGui=false +restartGenerator=false +restartSystemCalc=false +restartDigitalinputs=false + +# use local patch executable - BusyBox version has bugs +# include options that are used in all calls +patch="/data/SetupHelper/patch --force --silent --reject-file=/dev/null" + + +# file lists are populated by getFileLists called from_chckFileSets and autoinstall +# so these are global +fileList=() +fileListVersionIndependent=() +fileListAll=() + + +######## skip to bottom of file for remainder of code executed when script is sourced + + +# cleanup on any exit +exitCleanup () +{ + # remove temp directory + rm -rf "$tempFileDir" +} + +trap exitCleanup EXIT + +# checkPackageDependencies checks the packageDependencies file in the package directory +# +# all unmet dependencies are reported to the command line/log +# and to stderr if not running from the command line +# then the script exists + +function checkPackageDependencies () +{ + dependencyFile="$scriptDir/packageDependencies" + + #no dependencies specified for this package + if ! [ -f "$dependencyFile" ]; then return; fi + + errors="" + while IFS= read -r line; do + error="" + read package requirement <<< "$line" + if [ -f "$installedVersionPrefix"$package ]; then + packageInstalled=true + else + packageInstalled=false + fi + case $requirement in + installed) + if ! $packageInstalled ; then + error="$package must be installed" + fi + ;; + uninstalled) + if $packageInstalled ; then + error="$package must be uninstalled" + fi + ;; + esac + if ! [ -z "$error" ]; then + if ! [ -z "$errors" ]; then + errors+=", " + fi + errors+="$error" + fi + + done < "$dependencyFile" + if ! [ -z "$errors" ]; then + setInstallFailed $EXIT_PACKAGE_CONFLICT "$errors" + fi +} + +# getFileLists reads the file list from files in the FileSets directory +# +# 'fileList' file must only list version-dependent files +# 'fileListVersionIndependent' file must list only version-independent files +# prior to SetupHelper v6.0, this list is ignored +# 'fileListPatched' lists all files that should be patched before installation +# +# $1 specifies where the path to the fileList files +# +# three composite file lists are returned in global arrays: +# fileList contains only version-dependent files +# fileListVersionIndependent contains only version-independent files +# fileListPatched contains only files that need to be patched +# fileListAll contains both versioned and version-independent files + +function getFileLists () +{ + local verListFile="$1/fileList" + local indListFile="$1/fileListVersionIndependent" + local patchListFile="$1/fileListPatched" + local tempListVer=() + local tempListInd=() + local tempListPatched=() + + if [ -f "$verListFile" ]; then + while read -r line || [[ -n "$line" ]]; do + read -a params <<< $line + # parse line into space-separted parameters then discard any that don't begin with / + # this strips all comments beginning with # as well as any leading or trailing spaces + for param in ${params[@]} ; do + case $param in + /*) + tempListVer+=("$param") + ;; + esac + done + done < "$verListFile" + fi + if [ -f "$indListFile" ]; then + while read -r line || [[ -n "$line" ]]; do + read -a params <<< $line + for param in ${params[@]} ; do + case $param in + /*) + tempListInd+=("$param") + ;; + esac + done + done < "$indListFile" + fi + if [ -f "$patchListFile" ]; then + while read -r line || [[ -n "$line" ]]; do + read -a params <<< $line + for param in ${params[@]} ; do + case $param in + /*) + tempListPatched+=("$param") + ;; + esac + done + done < "$patchListFile" + fi + + # remove duplicate files from each list + fileList=($(printf "%s\n" "${tempListVer[@]}" | sort -u)) + fileListVersionIndependent=($(printf "%s\n" "${tempListInd[@]}" | sort -u)) + fileListPatched=($(printf "%s\n" "${tempListPatched[@]}" | sort -u)) + tempListAll=(${fileList[@]}) + tempListAll+=(${fileListVersionIndependent[@]}) + tempListAll+=(${fileListPatched[@]}) + fileListAll=($(printf "%s\n" "${tempListAll[@]}" | sort -u)) +} + + +# yesNoPrompt provides user prompting requesting a yes/no response +# +# $1 is the prompt displayed when pausing for user input +# +# $yesResponse is set to true if the response was yes +# +# returns 0 for yes, 1 for no + +yesNoPrompt () +{ + response='' + while true; do + /bin/echo -n "$*" + read response + case $response in + [yY]*) + yesResponse=true + return 0 + break + ;; + [nN]*) + yesResponse=false + return 1 + break + ;; + *) + esac + done +} + + +# standardActionPrompt provides the standard set of options for selecting script's action +# scriptAction is set by install/uninstall +# other actions are handled locally, including quitting from the script +# +# if nonstandard prompts are necessary, duplicate this code in the setup script +# and add the additional options and do not call standardActionPrompt +# +# the reinstall option is permitted only if setup options were previously set +# if the the reinstall action is choosen, the script action is set to INSTALL +# the setup script can then test this to skip further prompts +# +# $1 indicates if there are additional prompts needed during installaiton +# if this parameter is 'MORE_PROMPTS', installaiton does NOT change scriptAction +# if this parameter does not exist, installation WILL change scriptAction to INSTALL +# this provides backaward compatibility with scripts written prior to the reinstall logic +# +standardActionPrompt () +{ + if [ $# -gt 0 ] && [ $1 == 'MORE_PROMPTS' ]; then + updateScriptAction=false + else + updateScriptAction=true + fi + + echo + echo "Available actions:" + # don't allow install choice if incompatibilities have already been detected + if ! $installFailed ; then + echo " Install and activate (i)" + else + echo " can't install - errors reported above" + fi + if $optionsSet ; then + echo " Reinstall (r) based on options provided at last install" + fi + echo " Uninstall (u) and restores all files to stock" + echo " Quit (q) without further action" + echo " Display log (l) outputs the last 100 lines of the log" + echo + response='' + while true; do + /bin/echo -n "Choose an action from the list above: " + read response + case $response in + [iI]*) + if ! $installFailed ; then + if $updateScriptAction ; then + scriptAction='INSTALL' + fi + break + fi + ;; + [rR]*) + if $optionsSet ; then + scriptAction='INSTALL' + break + fi + ;; + [uU]*) + scriptAction='UNINSTALL' + break + ;; + [qQ]*) + exit $EXIT_SUCCESS + ;; + [lL]*) + tail -100 "$logFile" | tai64nlocal + ;; + *) + esac + done +} + + +# forcePackageUninstall insures a conflicting package is uninstalled before +# this package is installed +# the setup script must call this script BEFORE it begins installing anything +# $1 is the package name +# $2 contains an optional message + +forcePackageUninstall () +{ + if (( $# < 1 )); then + return + fi + if [ -f "$installedVersionPrefix""$1" ]; then + if (( $# >= 2 )); then + logMessage "${@:2}" + else + logMessage "uninstalling $1 - it conflicts with $packageName" + fi + if [ -e "/data/$1/setup" ]; then + "/data/$1/setup" "uninstall" "auto" "deferReboot" "deferGuiRestart" + else + logMessage "WARNING can't uninstall $1 - no package directory or no setup script" + fi + if [ -e "/data/settupOptions/$1" ]; then + touch "/data/settupOptions/$1/DO_NOT_AUTO_INSTALL" + fi + fi +} + + +# backupActiveFile makes a copy of the active file in file.orig +# if the original file does not exist the NO_ORIG flag is set +# to allow restoreAciveFile to remove the active file +# +# if the backup (.orig file) exists the backup is not updated +# +# $1 is the full path/file name to be backed up +# +# returns 0 if backup was made, 1 if not +# + +backupActiveFile () +{ + # don't do any work if install has already failed + if $installFailed ; then + return 1 + fi + local activeFile="$1" + local origFile="$activeFile.orig" + local noOrigFile="$activeFile.NO_ORIG" + + if [ -e "$activeFile" ]; then + if ! [ -e "$origFile" ]; then + cp "$activeFile" "$origFile" + rm -f "$noOrigFile" + return 0 + else + return 1 + fi + else + if ! [ -e "$noOrigFile" ]; then + touch "$noOrigFile" + return 0 + else + return 1 + fi + fi +} + + +# SetupHelper maintains a set of "restart flags" +# that control service restarts and system reboot +# after the package has been installed / uninstalled +# +# some restarts/reboots are based on the directory of the modified file +# others are based on the actual file itself +# +# not all services or specific files are flagged so some work in the setup script may be needed +# +# $1 is the full path and name to the modified file + +updateRestartFlags () +{ + # flag indicating any file update occurred + filesUpdated=true + + case $1 in + /opt/victronenergy/gui*) + restartGui=true + return;; + #### TODO: add gui-v2 + /opt/victronenergy/dbus-generator-starter/*) + restartGeneratorService=true + return;; + /opt/victronenergy/dbus-systemcalc-py/*) + restartSystemCalc=true + return;; + /opt/victronenergy/dbus-digitalinputs/*) + restartDigitalinputs=true + return;; + + /u-boot/overlay./*) # Raspberry PI DT overlay + rebootNeeded=true + return;; + /etc/udev/rules.d/*) # udev rules directory + rebootNeeded=true + return;; + esac + + # reboots based on specific file + case $( basename $1 ) in + gpio_list) + rebootNeeded=true + return;; + config.txt) + rebootNeeded=true + return;; + esac +} + + +# updateActiveFile first backs up the active file +# then copies the replacement (aka source) to the active file location (aka destination) +# +# two variations: +# +# updateActiveFile activeFile +# an attempt is made to locate the source (replacement) +# in the version directory or FileSets +# +# updateActiveFile sourceFile activeFile +# a separate source (replacement) file is specified +# +# both sourceFile and activeFile must be a full path to the file +# +# if the update fails, scriptAction is changed to UNINSTALL +# +# global thisFileUpdated is set to true if file was updated, false if not +# thisFileUpdated supports the old mechanism which may be used in some setup scripts +# returns 0 if file was updated, 1 if not + + +updateActiveFile () +{ + thisFileUpdated=false + + # don't do any work if install has already failed + if $installFailed ; then + return 1 + fi + + local sourceFile="" + local activeFile="" + + # separate source and replacement files specified + if [ $# == 2 ]; then + if [ -f "$1" ]; then + sourceFile="$1" + else + setInstallFailed $EXIT_FILE_SET_ERROR "specified soure file "$1" does not exist" + return 1 + fi + activeFile="$2" + # use active file for both source and destination + else + activeFile="$1" + fi + local baseName=$(basename "$activeFile") + + # replacement files are not needed for some versions + # if so marked, leave original untouched + if [ -e "$fileSet/$baseName.USE_ORIGINAL" ]; then + return 1 + fi + + # if the location of the active file must exist + if [ ! -e "$(dirname "$activeFile")" ]; then + setInstallFailed $EXIT_FILE_SET_ERROR "path to $activeFile does not exist" + return 1 + fi + + local usePatchedFile=false + local patchedReplacement="$tempFileDir/$baseName.patchedForInstall" + local currentPatchFile="$tempFileDir/$baseName.currentPatch" + + # source file not specified separately - look for it in expected places + if [ -z "$sourceFile" ]; then + # first in temp files - patched file + if [ -e "$patchedReplacement" ] && [ -e "$currentPatchFile" ]; then + sourceFile="$patchedReplacement" + usePatchedFile=true + # then in temp files - replacement + elif [ -e "$tempFileDir/$baseName" ]; then + sourceFile="$tempFileDir/$baseName" + # then in version-specific FileSet + elif [ -e "$fileSet/$baseName" ]; then + sourceFile="$fileSet/$baseName" + # then in version-independent file set + elif [ -e "$versionIndependentFileSet/$baseName" ]; then + sourceFile="$versionIndependentFileSet/$baseName" + # then in FileSets (previous location of version-indepencent files) + elif [ -e "$pkgFileSets/$baseName" ]; then + sourceFile="$pkgFileSets/$baseName" + # nothing found - can't continue + else + setInstallFailed $EXIT_FILE_SET_ERROR "no soure file for $baseName" + return 1 + fi + fi + + # can't continue if other packages modified this file and this is a replacement (not a patch) + local local packageList="$activeFile.package" + local previousPackage="" + local matchFound=false + if [ -e "$packageList" ]; then + previousPackages=$( cat "$packageList" ) + for previousPackage in ${previousPackages[@]}; do + if [ "$packageName" == "$previousPackage" ]; then + matchFound=true + elif ! $usePatchedFile ; then + setInstallFailed $EXIT_PACKAGE_CONFLICT "$baseName was already modfied by $previousPackage" + return 1 + fi + done + fi + + # add file to installed files list (used by uninstallAll) + if [ -e "$installedFilesList" ] \ + && (( $( grep -c "$activeFile" "$installedFilesList" ) == 0 )); then + echo "$activeFile" >> "$installedFilesList" + fi + + # save the current patch file for use during a future uninstall + local previousPatchFile="$previousPatchesDir/$baseName.patch" + if $usePatchedFile ; then + cp "$currentPatchFile" "$previousPatchFile" + # no patch file used for this update + else + rm -f "$previousPatchFile" + fi + + # if replacement, replace the .package file + if ! $usePatchedFile ; then + echo $packageName > "$packageList" + # if patch and this package not in list yet, add add it + elif ! $matchFound ; then + echo $packageName >> "$packageList" + fi + + # update the active file if needed + # patched files have already incorporated current active file content + # so nothing diffrerent here + doUpdate=false + if ! [ -f "$activeFile" ] || ! cmp -s "$sourceFile" "$activeFile" ; then + backupActiveFile "$activeFile" + cp "$sourceFile" "$activeFile" + if [[ -x "$activeFile.orig" ]]; then + chmod +x "$activeFile" + fi + updateRestartFlags "$activeFile" + thisFileUpdated=true + return 0 + else + return 1 + fi +} # end updateActiveFile () + + +# restoreActiveFile +# restores the active file to the content before this package modified it +# for replacements, the backup copy is moved to the active location +# if the backup copy doesn't exist BUT the NO_ORIG flag is set +# the active copy is deleted to restore the system to stock +# +# for patches, this package's changes are removed from the active file +# by reverse patching it +# +# if the reverse patch fails, the original is restored +# modifications from all other packages are also removed !! +# this is drastic but has best chance to leave the system without errors +# +# $1 is the active name, the one to be backed up +# +# returns 0 if active file was restored, 1 if not +# also sets thisFileUpdated for backwards compatibility with existing setup scripts +# + +restoreActiveFile () +{ + thisFileUpdated=false + local activeFile="$1" + local packageList="$activeFile.package" + # look for this package's name in .package list + # and remove it if found + matchFound=false + remainingPackages="" + if [ -f "$packageList" ]; then + previousPackages=($( cat "$packageList" )) + for previousPackage in ${previousPackages[@]}; do + if [ "$packageName" == "$previousPackage" ]; then + matchFound=true + else + remainingPackages+="$previousPackage " + fi + done + # no .package file - so proceed with removal anyway + else + matchFound=true + fi + + # if this package not found - nothing to do + if ! $matchFound ; then + return 1 + fi + + local baseName=$( basename "$activeFile" ) + local previousPatchFile="$previousPatchesDir/$baseName.patch" + + reversePatchError=false + restoreOriginal=false + # no other packages so restore the original + if [ -z "$remainingPackages" ] ; then + restoreOriginal=true + # other packages have also modified the active file + # attempt to reverse patch the active file + # if success, move result into the active position + # DO NOT restore original + else + if [ -e "$previousPatchFile" ]; then + tempFile="$tempFileDir/$baseName" + cp "$activeFile" "$tempFile" + if $patch --reverse -o "$activeFile.tmp" "$tempFile" "$previousPatchFile" &> /dev/null ; then + mv -f "$activeFile.tmp" "$activeFile" + thisFileUpdated=true + else + logMessage "CRITICAL: $packageName $baseName - reverse patch failed" + rm -f "$activeFile.tmp" + reversePatchError=true + fi + else + logMessage "CRITICAL: $packageName $baseName - no prevoius patch file" + reversePatchError=true + fi + # if the reverse patch failed, remove mods from ALL packages + #### TODO: DRASTIC but can't think of a way around this + if $reversePatchError ; then + message1="CRITICAL: $package $baseName could not be uninstalled cleanly" + message2=" $remainingPackages must be uninstalled and reinstalled" + logMessage "$message1" + logMessage "$message2" + echo "$message1" >> "$scriptDir/patchErrors" + echo "$message2" >> "$scriptDir/patchErrors" + + # report errors to other packages as well + for otherPackage in $remainingPackages ; do + otherPkgPatchErrors="$packageRoot/$otherPackage/patchErrors" + echo "$message1" >> "$otherPkgPatchErrors" + echo "$otherPackage must be uninstalled and reinstalled" >> "$otherPkgPatchErrors" + # remove previous patch in other package(s) since it no longer applies + rm -f "$previousPatchesRoot/$otherPackage/$baseName.patch" + done + setInstallFailed $EXIT_PATCH_ERROR "patch error details were saved in $packageName/patchErrors" + fi + fi + + # always remove previous patch file + rm -f "$previousPatchFile" + + # restore original if no other packages have modified this active file + # or if reverse patch failed + if $restoreOriginal || $reversePatchError ; then + if [ -e "$activeFile.orig" ]; then + mv -f "$activeFile.orig" "$activeFile" + thisFileUpdated=true + elif [ -f "$activeFile.NO_ORIG" ]; then + rm -f "$activeFile" + thisFileUpdated=true + fi + + rm -f "$packageList" + + # there are other packages, remove only this package from list + else + grep -v "$packageName" "$packageList" | tee "$packageList" > /dev/null + fi + + # remove file from installed file list + if [ -f "$installedFilesList" ]; then + grep -v "$activeFile" "$installedFilesList" | tee "$installedFilesList" > /dev/null + fi + if $thisFileUpdated; then + updateRestartFlags "$activeFile" + return 0 + else + return 1 + fi +} # end restoreActiveFile () + + +# checkFileSets validates the file sets used to install package modifications +# +# If a file set for the current Venus OS version exists, the replacement files in that file set +# are usable as is and no further checks are needed. +# The COMPLETE flag file indicates that the file set was validated on the computer creating +# the file sets and all replacement files (or symlinks to other file sets) exist. +# No checks are needed for a COMPLETE file set. +# If not, an attempt is made to create a file set for the current Venus OS version +# If the new active files for the new version all match another version +# the new file set is populated automatically with replacement files from the other version +# and may be used with no further action +# If not, new file set is marked INCOMPLETE and installation failure information is set +# The package can not be installed on this Venus OS version +# +# Replacement files that have no original specify an "alternate original" that is used +# for version comparisons that locate an appropriate replacement + +checkFileSets () +{ + # no file sets - nothing to check + if ! [ -e "$pkgFileSets" ]; then return; fi + + # no checks needed if all replacement files exist in the selected file set + if [ -f "$fileSet/COMPLETE" ]; then return; fi + + # sort versionList in reverse version order to make searches faster + # since newer versions will most likely contain the desired files to create a new file set + local rawVersionList=($(ls -d "$pkgFileSets"/v* 2> /dev/null)) + local tempList=() + local fs + local baseName + local version + local versionNumber + for fs in ${rawVersionList[@]} ; do + version=$(basename $fs) + versionStringToNumber $version + tempList+=("$version:$versionNumber") + done + local versionList=( $(echo ${tempList[@]} | tr ' ' '\n' | sort -t ':' -r -n -k 2 | uniq ) ) + + # versioned file sets exist but empty file list + if [ ! -z "$versionList" ] && [ -z "$fileList" ]; then + setInstallFailed $EXIT_FILE_SET_ERROR "empty file list" + touch "$fileSet/INCOMPLETE" + rm -f "$fileSet/COMPLETE" + return + # no versioned file sets - nothing to validate - allow install + elif [ -z "$versionList" ]; then return; fi + + # attempt to create a new file set or validate an existing one not marked as COMPLETE + + rm -f "$fileSet/INCOMPLETE" + + # attempt to create file set if it doesn't exist + if [ ! -d "$fileSet" ]; then + logMessage "creating a new file set for $venusVersion" + mkdir "$fileSet" + fi + + for file in ${fileList[@]} ; do + baseName=$(basename "$file") + + # version-independent file exists + if [ -e "$versionIndependentFileSet/$baseName" ] || [ -e "$pkgFileSets/$baseName" ]; then + # no versioned files (only version-independent found) - skip version checks + if [ -z $( find "$fileSet"/v* -name $baseName ) ]; then + continue + # continue with tests if any versioned files exist + else + logMessage "WARNING $baseName versioned file exists - version-independent file will be ignored" + fi + fi + + # skip checks if replacement file already exists + # or if there is no replacement file needed + if [ -f "$fileSet/$baseName" ] || [ -f "$fileSet/$baseName.USE_ORIGINAL" ]; then + rm -f "$fileSet/$baseName.NO_REPLACEMENT" + continue + fi + + local activeFile + if [ -f "$altOrigFileDir/$baseName.ALT_ORIG" ]; then + activeFile=$(cat "$altOrigFileDir/$baseName.ALT_ORIG") + elif [ -f "$pkgFileSets/$baseName.ALT_ORIG" ]; then + activeFile=$(cat "$pkgFileSets/$baseName.ALT_ORIG") + else + activeFile=$file + fi + # package already installed, use .orig file for comparisons + if [ -f "$activeFile.orig" ]; then + activeFile="$activeFile.orig" + fi + + # can't process if no original (aka active) file exists in the file set + if [ ! -f "$activeFile" ]; then + logMessage "ERROR $venusVersion $baseName no active file" + touch "$fileSet/$baseName.NO_ACTIVE_FILE" + touch "$fileSet/INCOMPLETE" + continue + fi + + # if an active file exists look for a match in another file set + if [ ! -z "$activeFile" ]; then + matchFound=false + for entry in ${versionList[@]}; do + otherVersion=$(echo $entry | awk -F ':' '{print $1}') + + # skip this version + if [ "$venusVersion" = "$otherVersion" ]; then + continue + fi + + otherFile="$pkgFileSets/$otherVersion/$baseName" + + # skip symbolic links and nonexistent originals + if [ ! -f "$otherFile.orig" ] || [ -L "$otherFile.orig" ] ; then + continue + fi + + # files match + if cmp -s "$activeFile" "$otherFile.orig" > /dev/null ; then + matchFound=true + break + fi + done + + if $matchFound ;then + rm -f "$fileSet/$baseName.orig" + rm -f "$fileSet/$baseName.NO_ORIG" + # if other file set contains a replacement file, link to it + if [ -f "$otherFile" ]; then + rm -f "$fileSet/$baseName" + ln -s "../$otherVersion/$baseName" "$fileSet/$baseName" + rm -f "$fileSet/$baseName.NO_REPLACEMENT" + rm -f "$fileSet/$baseName.USE_ORIGINAL" + # if other file set does not contain a replacement, this one will not either + # this IS permitted and handled in the updateActiveFile and restoreActiveFile functions + elif [ -f "$otherFile.USE_ORIGINAL" ]; then + touch "$fileSet/$baseName.USE_ORIGINAL" + rm -f "$fileSet/$baseName.NO_REPLACEMENT" + fi + # no match to a previous verison - can't create file set automatically + # but copy original file to aid manual editing + else + logMessage "ERROR $venusVersion $baseName no replacement file" + cp "$activeFile" "$fileSet/$baseName.orig" + touch "$fileSet/$baseName.NO_REPLACEMENT" + touch "$fileSet/INCOMPLETE" + fi + fi + done + + if [ -f "$fileSet/INCOMPLETE" ]; then + setInstallFailed $EXIT_FILE_SET_ERROR "incomplete file set for $venusVersion" + # if we get this far and fs is not marked INCOMPLETE, then the file set does not need to be checked again next pass + else + touch "$fileSet/COMPLETE" + fi +} + +# builds the installedFilesList and installedServices lists from the package's setup script +# this is needed for installs with a prior version of SetupHelper that did not +# create the installed... lists +# +# uninstall... functions then use these lists to uninstall + +buildUninstallListsfromSetupScript () +{ + # prevent this from running a second time + if [ "$uninstallListsAlreadyBuilt" == 'yes' ]; then + return + fi + uninstallListsAlreadyBuilt='yes' + local param + + scriptUninstallFilesList=() + scriptUninstallServicesList=() + while read -r line || [[ -n "$line" ]]; do + commandFound=false + read -a params <<< $line + numberOfParams=${#params} + for (( i=0; i < $numberOfParams; i++ ));do + case "${params[i]}" in + updateActiveFile) + # parameter of intrest is the second one if it exists + # otherwise, it should be the first one + param=${params[i+2]} + if [ -z "$param" ] || [[ $param == \#* ]]; then + param=$( echo ${params[i+1]} | sed s?'$qmlDir'?$qmlDir? ) + fi + if ! [ -z "$param" ] && ! [[ $param == \#* ]]; then + # remove any quotes around parameters + param=$( echo $param | sed -e 's?"?? g' -e "s?'?? g" ) + scriptUninstallFilesList+=("$param") + fi + ;; + installService) + # parameter of intrest is the first one if it exists + # otherwise, is the packageName + param=${params[i+1]} + if ! [ -z "$param" ] && ! [[ $param == \#* ]]; then + scriptUninstallServicesList+=("$param") + else + # remove any quotes around parameters + param=$( echo $param | sed -e 's?"?? g' -e "s?'?? g" ) + scriptUninstallServicesList+=($packageName) + fi + ;; + esac + done + done < "$scriptDir/setup" +} + +# install / uninstall all files / services functions +# +# the install... functions are called from endScript if the related flags are set +# but may also be called in the setup script +# if processing needs to be done after the files are installed +# +# NOTE: uninstall functions are called in endScrpit during an uninstall +# there are no flags to control this ! +# +# NOTE: only services in the package's serice directory are installed +# any services in the package's root diretory are not installed + + +installAllFiles () +{ + if [ -z "$fileListAll" ]; then + getFileLists "$pkgFileSets" + fi + + if [ ! -z "$fileListAll" ]; then + logMessage "installing files" + local file + for file in ${fileListAll[@]}; do + if $installFailed ; then break; fi + updateActiveFile "$file" + done + fi +} + +# uninstall files from +# installed files list if present +# and from file lists in the package +# and from updateActiveFile calls found in the setup script +# this insures complete uninstall even for packages installed +# with SetupHelper prior to v6.0 + +uninstallAllFiles () +{ + local restoreFilesList=() + # add installdeFilesList if present (might be empty but that's fine) + if [ -f "$installedFilesList" ]; then + restoreFilesList=( $( cat "$installedFilesList" ) ) + fi + # add file lists & calls to installActiveFile in setup script + restoreFilesList+=( ${fileListAll[@]} ) + buildUninstallListsfromSetupScript + restoreFilesList+=( ${scriptUninstallFilesList[@]} ) + + # remove duplicates + if (( ${#restoreFilesList[@]} > 1 )); then + restoreFilesList=( $(printf "%s\n" "${restoreFilesList[@]}" | sort -u ) ) + fi + + # uninstall the files + if [ ! -z "$restoreFilesList" ]; then + logMessage "uninstalling files" + local file + for file in ${restoreFilesList[@]}; do + restoreActiveFile $file + done + fi +} + + +installAllServices () +{ + local serviceList + local service + # get list of services in the package's service directory + if [ -d "$servicesDir" ]; then + servicesList=( $( cd "$servicesDir"; ls -d * 2> /dev/null ) ) + if ! [ -z "$servicesList" ]; then + logMessage "installing services" + for service in ${servicesList[@]} ; do + if $installFailed; then break; fi + installService $service + done + fi + fi +} + + +# uninstal services found in the services directory +# and restoreServices call in the package's setup script + +uninstallAllServices () +{ + local tempList=() + local servicesList=() + local service + + if [ -f "$installedServicesList" ]; then + servicesList=( $( cat "$installedServicesList" ) ) + fi + # add list from the setup script itself + buildUninstallListsfromSetupScript + servicesList+=( ${scriptUninstallServicesList[@]} ) + + # remove duplicates + if (( ${#servicesList[@]} > 1 )); then + servicesList=( $(printf "%s\n" "${servicesList[@]}" | sort -u ) ) + fi + + # uninstall services + if [ ! -z "$servicesList" ]; then + logMessage "uninstalling services" + for service in ${servicesList[@]} ; do + if [ -z "$service" ]; then + removeService $packageName + else + removeService $service + fi + done + fi +} + + +# restart the GUI V1 service +# begining at about v3.20~18, changes were made to accommodate the gui-v2 +# and these changes require different handling of a GUI service restart + + +restartGuiV1Service () +{ + # gui is the older service that runs GUI v1 only + if [ -e "/service/gui" ]; then + svc -t "/service/gui" + # restart GUI if NOT running v2 or can't determine if GUI v1 or v2 is selected + elif [ -e "/service/start-gui" ]; then + guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" + if (( $guiVersion != 2 )); then + svc -t "/service/start-gui" + fi + fi +} + +# for backward compatibility (oler setup scripts) +restartGuiService () +{ + restartGuiV1Service +} + +restartGuiV2Service () +{ + # restart GUI if NOT running v1 or can't determine if GUI v1 or v2 is selected + if [ -e "/service/start-gui" ]; then + guiVersion="$(dbus-send --system --print-reply --dest=com.victronenergy.settings /Settings/Gui/RunningVersion com.victronenergy.BusItem.GetValue | grep variant | awk '{print $3}')" + if (( $guiVersion != 1 )); then + svc -t "/service/start-gui" + fi + fi +} + +# determine how the setup script should exit based on $scriptAction and other flags +# services may be restarted here also +# +# endScript accepts these optional parameters which determines if files and/or services are installed +# +# 'INSTALL_FILES' causes files from the file lists to be installed +# 'INSTALL_SERVICES' causes services in the services directory to be installed +# all services must be in the package's services directory +# 'ADD_DBUS_SETTINGS' will add/update dBus settings from the DbusSettingsList +# any or may be included +# do NOT include these if related processing is needed in the setup script ! +# instead, call installAllFiles and/or installAllServices in line with the other processing +# or call updateActiveFile or installService directly +# +# this function completes package installation +# and sets up conditions for reinstallation following a Venus Os firmware update +# +# may EXIT or REBOOT within the function - DOES NOT RETURN TO CALLER + + +endScript () +{ + if [ $scriptAction == 'INSTALL' ] && ! $installFailed ; then + # do installs as indicated from caller + while (( $# > 0 )); do + case "$1" in + 'INSTALL_FILES') + installAllFiles + ;; + 'INSTALL_SERVICES') + installAllServices + ;; + 'ADD_DBUS_SETTINGS') + addAllDbusSettings + ;; + esac + shift + done + + # assume that if we get this far, any command line opitons have already been set + touch "$setupOptionsDir/optionsSet" + + # clear flag preventing auto installs in PackageManager + rm -f "$setupOptionsDir/DO_NOT_AUTO_INSTALL" + + # if script needs to run again, installedVersionFile flag file is removed + # script should run again at boot time via reinstallMods + if $runAgain ; then + logMessage "script will run again at startup" + rm -f "$installedVersionFile" + # otherwise, installation is complete - update installedVersion + else + cp "$scriptDir/version" "$installedVersionFile" + fi + + # update rc.local to include call to reinstallMods + # do only for SetupHelper since other packages are now installed by PackageManager + if [ "$packageName" == "SetupHelper" ]; then + if [ ! -f "$rcLocal" ]; then + logMessage "creating $rcLocal" + cp "$scriptDir/rcS.local" "$rcLocal" + chmod +x "$rcLocal" + elif [ $(grep -c "blind install" "$rcLocal") -gt 0 ]; then + logMessage "REPLACING blind install $rcLocal with the standard one" + rm -f "$rcLocal" + cp "$scriptDir/rcS.local" "$rcLocal" + chmod +x "$rcLocal" + elif [ $(grep -c "SetupHelper" "$rcLocal") == 0 ]; then + logMessage "adding SetupHelper reinstall script to $rcLocal" + sed -e '2d' "$scriptDir/rcS.local" >> $rcLocal + fi + fi + fi + + + if [ $scriptAction == 'UNINSTALL' ] ; then + if $installFailed ; then + logMessage "INSTALL failed - attempting UNINSTALL in endScript" + # package was actually uninstalled (not an install failure) - set flag preventing auto installs + else + touch "$setupOptionsDir/DO_NOT_AUTO_INSTALL" + fi + + # ALWAYS attempt to uninstall files and services + uninstallAllFiles + uninstallAllServices + + # flag package not installed since package is being removed + rm -f "$installedVersionFile" + + # when uninstalling SetupHelper, remove EMPTY installed...Lists in all packages + # to prevent a future install with an older SetupHelper + # confusing a future future uninstall with a new SetupHelper + if [ "$packageName" == "SetupHelper" ] && [ -e "$installedFilesDir" ]; then + for file in $(ls "$installedFilesDir") ; do + if ! [ -s "$installedFilesDir/$file" ]; then + rm "$installedFilesDir/$file" + fi + done + # remove lines from rcS.local + sed -i -e "/# SetupHelper reinstall/,/fi/d" "$rcLocal" + fi + fi + + # setup script signals nothing to do - exit without further action without errors + if ! $installFailed && ! $uninstallFailed; then + if [ $scriptAction == 'EXIT' ]; then + exit $EXIT_SUCCESS + elif ! [ $scriptAction == 'INSTALL' ] && ! [ $scriptAction == 'UNINSTALL' ]; then + setInstallFailed $EXIT_ERROR "unexpected script action $scriptAction - did not install or uninstall" + fi + fi + + # check for reboot or restarts + if $rebootNeeded ; then + if $userInteraction ; then + if yesNoPrompt "Reboot system now (y) or do it manually later (n): " ; then + logMessage "rebooting ..." + reboot + else + logMessage "system must be rebooted to finish installation and activate components" + exit $EXIT_REBOOT + fi + else + logMessage "completed - reboot needed" + exit $EXIT_REBOOT + fi + fi + if $restartGeneratorService ; then + logMessage "restarting generator service" + svc -t /service/dbus-generator-starter + fi + if $restartSystemCalc ; then + logMessage "restarting systemcalc service" + svc -t /service/dbus-systemcalc-py + fi + if $restartDigitalinputs ; then + logMessage "restarting digital inputs service" + svc -t /service/dbus-digitalinputs + fi + #### TODO: add gui v2 + if $restartGui ; then + if $userInteraction ; then + if yesNoPrompt "Restart the GUI now (y) or issue a do it manually later (n): " ; then + logMessage "completed - restarting GUI" + restartGuiV1Service + if $installFailed || $uninstallFailed ; then + exit $installExitReason + else + exit $EXIT_SUCCESS + fi + else + echo "GUI must be restarted to activate changes" + exit $EXIT_RESTART_GUI + fi + else + if $deferGuiRestart ; then + logMessage "completed - GUI restart needed" + exit $EXIT_RESTART_GUI + # GUI restart NOT deferred - do it now + else + logMessage "completed - restarting GUI" + restartGuiV1Service + if $installFailed || $uninstallFailed ; then + exit $installExitReason + else + exit $EXIT_SUCCESS + fi + fi + fi + fi + + # if installation was attempted but failed, exit without checking anything else + if $installFailed ; then + if [ $scriptAction == 'UNINSTALL' ]; then + logMessage "complete - package has been uninstalled" + else + logMessage "complete - no changes were made" + fi + exit $installExitReason + # install/uninstall succeeded + elif $uninstallFailed ; then + logMessage "complete - uninstall failed !!" + else + logMessage "complete - no errors" + exit $EXIT_SUCCESS + fi +} # endScript () + +######## this code is executed in-line when CommonResources is sourced + +# check for reinstall parameter +# set $scriptAction to control work following the source command +# if "force" is also provided on the command line, then the installedVersionFile is not checked +# installedVersionFile contains the installed version (if any) +# it is compared to the version file in the package directory +# if installedVersionFile is missing or contents are different, the installation will proceed +# if the two versions match, there is no need to reinstall the package +# we assume a reinstall is always run without benefit of a console (runningAtBoot will be true) +# so there will be no prompts and all actions will be automatic +# +# "deferReboot" signals that endScript should not reboot the system, but return EXIT_REBOOT +# assuming the caller will evenutally reboot the system +# +# "deferGuiRestart" is similar for restarting the GUI +# +# "install" causes the package to be installed silently +# "uninstall" causes the package to be uninstalled silently +# +# command line parameters may appear in any order +# +# +# logToConsole is set to true in the LogHandler script +# It is set to false here the 'auto' parameter is passed on the command line +# which indicates this script is NOT being run from the command line + +# cleanup from previous versions - reinstallScriptsList no loner used +rm -f "/data/reinstallScriptsList" + +# initialize version strings and numbers for future checks +if [ -f "$installedVersionFile" ]; then + installedVersion=$(cat "$installedVersionFile") + versionStringToNumber $installedVersion + installedVersionNumber=$versionNumber +else + installedVersion="" + installedVersionNumber=0 +fi + +packageVersionFile="$scriptDir/version" +if [ -f "$packageVersionFile" ]; then + packageVersion=$(cat "$packageVersionFile") + + versionStringToNumber $packageVersion + packageVersionNumber=$versionNumber +else + packageVersion="" + packageVersionNumber=0 +fi + +# collect command line options +reinstall=false +force=false +deferReboot=false +deferGuiRestart=false +userInteraction=true +runFromPm=false +while [ $# -gt 0 ]; do + case $1 in + "reinstall") + reinstall=true + ;; + "force") + force=true + ;; + "deferReboot") + deferReboot=true + ;; + "deferGuiRestart") + deferGuiRestart=true + ;; + "install") + scriptAction='INSTALL' + ;; + "uninstall") + scriptAction='UNINSTALL' + ;; + "auto") + logToConsole=false + userInteraction=false + ;; + "runFromPm") + runFromPm=true + logToConsole=false + userInteraction=false + deferReboot=true + deferGuiRestart=true + ;; + "check") + # if no other actions were set, set it here + # but allow other actions to override this one + if [ $scriptAction == 'NONE' ]; then + scriptAction='CHECK' + fi + ;; + *) + esac + shift +done + +# do after logToConsole is enabled/disabled abvove +logMessage "--- starting setup script $packageVersion action: $scriptAction" + +# packages that require options to proceed unattended +# must include the optionsRequried flag file in their package directory +# if the flag is present and options haven't been previously set, +# SD/USB media will be checked for the package options directory +# and copy them into position + +opitonsRequiredFile="$scriptDir/optionsRequired" +optionsSet=false +if [ -f $opitonsRequiredFile ]; then + if [ -f "$setupOptionsDir/optionsSet" ]; then + optionsSet=true + # options not set - check media for options if doing a blind install + elif [ $scriptAction == 'INSTALL' ]; then + mediaList=($(ls /media)) + for dir in ${mediaList[@]} ; do + altSetupDir="/media/$dir/"$(basename $setupOptionsRoot)"/$packageName" + if [ -f "$altSetupDir/optionsSet" ]; then + cp -r "$altSetupDir" "$setupOptionsRoot" + if [ -f "$setupOptionsDir/optionsSet" ]; then + logMessage "options retrieved from SD/USB media" + optionsSet=true + fi + break + fi + done + fi + +# no command line options are needed - ok to reinstall even if +# setup was not run from the command line +else + optionsSet=true +fi + +# called from reinstallMods at boot time +if $reinstall ; then + runningAtBoot=true + if $force ; then + scriptAction='INSTALL' + # not installed, do it now + elif (( installedVersionNumber == 0 )); then + scriptAction='INSTALL' + # check versions and install only if package version is newer than installed version + else + # trigger install if version numbers differ + if (( installedVersionNumber != packageVersionNumber )); then + scriptAction='INSTALL' + else + exit $EXIT_SUCCESS + fi + fi + +# not running from reinstallMods +else + runningAtBoot=false +fi + +if [ ! -d "$setupOptionsDir" ]; then + logMessage "creating package options directory $setupOptionsDir" + mkdir -p $setupOptionsDir +fi + +# initialze integer version number for venus version +# used below and in checkFileSets +versionStringToNumber $venusVersion +venusVersionNumber=$versionNumber + +getFileLists "$pkgFileSets" + +# create temporary directory for temporary install/uninstall files (unique temp directory in volatile storage) +# updateActiveFile always checks this location first for a replacement before checking file sets +# tempFileDir is removed in the exit trap above but it is in volatile storage so will be removed on boot anyway +tempFileDir=$( mktemp -d ) + +# patch files previously used to patch a file are stored in /etc/venus +# so they track the selected root fs and are erased when Venus OS is updated +previousPatchesRoot="/etc/venus/previousPatches" +previousPatchesDir="$previousPatchesRoot/$packageName" +if ! [ -e "$previousPatchesDir" ]; then + mkdir -p "$previousPatchesDir" +fi +# relocate previous patch files +oldPreviousPatchesDir="$setupOptionsDir/previousPatches" +if [ -e "$oldPreviousPatchesDir" ]; then + logMessage "relocating previous patches" + mv "$oldPreviousPatchesDir"/* "$previousPatchesDir" + rm -rf "$oldPreviousPatchesDir" +fi +unset oldPreviousPatchesDir + +# do install pre-checks - skip if uninstalling +if [ $scriptAction != 'UNINSTALL' ]; then + + # prevent installing Raspberry Pi packages on other platforms + if [ -f "$scriptDir/raspberryPiOnly" ]; then + if [[ $machine != *"raspberrypi"* ]]; then + setInstallFailed $EXIT_INCOMPATIBLE_PLATFORM "$packageName not compatible with $machine" + fi + fi + # check to see if package is compatible with this Venus version + if [ -f "$scriptDir/firstCompatibleVersion" ]; then + firstCompatibleVersion=$(cat "$scriptDir/firstCompatibleVersion") + # no first compatible version specified - use the default + else + firstCompatibleVersion='v2.71' + fi + versionStringToNumber $firstCompatibleVersion + firstCompatibleVersionNumber=$versionNumber + if (( $venusVersionNumber < $firstCompatibleVersionNumber )); then + setInstallFailed $EXIT_INCOMPATIBLE_VERSION "$venusVersion before first compatible $firstCompatibleVersion" + elif [ -f "$scriptDir/obsoleteVersion" ]; then + obsoleteVersion=$(cat "$scriptDir/obsoleteVersion") + versionStringToNumber $obsoleteVersion + obsoleteVersionNumber=$versionNumber + if (( $venusVersionNumber >= $obsoleteVersionNumber )); then + setInstallFailed $EXIT_INCOMPATIBLE_VERSION "$venusVersion after last compatible $obsoleteVersion" + fi + fi + + # determine if GUI v1 is installed + # Note, it may NOT be running or selected to run!!!! + if [ ! -d "/opt/victronenergy/gui" ]; then + guiV1present=false + else + guiV1present=true + fi + # block installs if any GUI files would be modified and GUI v1 is not present + # packages can bypass GUI v1 checks and allow installs even if package contains them + if [ -f "$scriptDir/GUI_V1_NOT_REQUIRED" ]; then + guiV1required=false + # files in the GUI v1 directory are considered mandatory + elif (( $( cat "$pkgFileSets/fileList"* 2>/dev/null | grep -c '/gui/' ) > 0 )); then + guiV1required=true + # look also in setup script + elif (( $( grep 'updateActiveFile' "$scriptDir/setup" | grep -c '$qmlDir\|/gui/') > 0 )); then + guiV1required=true + else + guiV1required=false + fi + if ! $guiV1present && $guiV1required ; then + setInstallFailed $EXIT_NO_GUI_V1 "$packageName requires GUI v1" + fi + + # attempting an install without the comand line prompting + # and needed options have not been set yet - can't continue + if ! $installFailed && [ $scriptAction == 'INSTALL' ]; then + if ! $optionsSet ; then + setInstallFailed $EXIT_OPTIONS_NOT_SET "required options have not been set" + fi + fi + + checkFileSets + + # checkFileSets created a missing file set and set the INCOMPLETE flag if needed + # that is all CHECK needed to do so EXIT HERE !!!! + if [ $scriptAction == 'CHECK' ]; then + if [ -f "$fileSet/INCOMPLETE" ]; then + exit $EXIT_FILE_SET_ERROR + fi + fi + + checkPackageDependencies + + # create patched files for files with VisibleItemModel for older Venus OS versions + versionStringToNumber "v3.00~14" + if (( $venusVersionNumber < $versionNumber )); then + logMessage "patching VisibleItemModel to VisualItemModel in all .qml replacements" + for file in ${fileListVersionIndependent[@]}; do + baseName=$( basename "$file" ) + if ! [[ "$baseName" == *.qml ]]; then continue; fi + sourceFile="$versionIndependentFileSet/$baseName" + if ! [ -f "$sourceFile" ]; then continue; fi + if (( $(grep -c "VisibleItemModel" "$sourceFile") == 0 )); then continue; fi + sed -e 's/VisibleItemModel/VisualItemModel/' "$sourceFile" > "$tempFileDir/$baseName" + done + fi + + # create the forward and reverse patched files + # used during the actual install and to test if the patch/reverse patch will succeed + # done here so PackageManager knows if this will be possible before starting the install + # + # if this and other packages have both modified the active file, + # the patch from this package is first removed + # by reverse patching the active file with the PREVIOUS patch file + # the new patch is then applied + # a test reverse patch insures the patch can be removed in the future + # the patch file used for this patch is then saved so it can be used + # for the reverse patch on next install/uninstall + # + # if no other packages have modified the active file, + # the patch is applied to .orig file if exists + # rather than reverse patching the active file + # this maintains compatibility with packages installed with older versions of SetupHelper + + if ! $installFailed && ! [ -z "$fileListPatched" ];then + patchErrors=() + for activeFile in ${fileListPatched[@]}; do + baseName=$( basename $activeFile ) + tempActiveFile="$tempFileDir/$baseName" + currentPatchFile="$tempFileDir/$baseName.currentPatch" + previousPatchFile="$previousPatchesDir/$baseName.patch" + + rm -f "$currentPatchFile" + + if ! [ -e "$activeFile" ] ; then + patchErrors+=( "$baseName no active file for patch" ) + continue + fi + + # check for this and other packages in .package list + packageList="$activeFile.package" + thisPackageInList=false + otherPackagesInList=false + if [ -f "$packageList" ]; then + previousPackages=$( cat "$packageList" ) + for previousPackage in ${previousPackages[@]}; do + if [ $packageName == $previousPackage ]; then + thisPackageInList=true + else + otherPackagesInList=true + fi + done + fi + + patchOk=false + + if $thisPackageInList; then + # only this package modified active file + # ignore any previous patch and patch .orig file + if ! $otherPackagesInList ; then + if [ -e "$activeFile.orig" ]; then + cp "$activeFile.orig" "$tempActiveFile" + patchOk=true + else + patchErrors+=( "$baseName no .orig file for patch" ) + fi + # this and others have modified the active file + # attempt to remove the previous patch for this package + # then patch the result + elif [ -e "$previousPatchFile" ]; then + if $patch --reverse -o "$tempActiveFile" "$activeFile" "$previousPatchFile" &> /dev/null ; then + patchOk=true + # reverse patch failed + else + patchErrors+=( "$baseName unable to remove previous patch" ) + fi + else + patchErrors+=( "$baseName no previous patch file" ) + fi + # this package has not previously modified the active file + # patch the active file + else + cp "$activeFile" "$tempActiveFile" + patchOk=true + fi + patchSuccess=false + # a suitable source for the patch was located above + if $patchOk; then + # attempt to patch the active file with any file ending in .patch + # the first one that successfully creates a forward AND reverse patch is used + # .patchedForInstall provides the patched file for updateActiveFile + patchFiles=( $( ls "$patchSourceDir/$baseName"*.patch ) ) + forwardPatched="$tempActiveFile.patchedForInstall" + for patchFile in ${patchFiles[@]};do + if $patch --forward -o "$forwardPatched" "$tempActiveFile" "$patchFile" &> /dev/null ; then + # forward patch succeeded - test reverse patch (both must succeed) + if $patch --reverse -o /dev/null "$forwardPatched" "$patchFile" &> /dev/null ; then + patchSuccess=true + break + fi + fi + done + if $patchSuccess ; then + # save this so forwardPatched (created above) is used for install + # when file is installed, currentPatchFile will be copied to previousPatchFile + # for a future uninstall or reinstall + cp "$patchFile" "$currentPatchFile" + else + patchErrors+=( "$baseName patch unsuccesful" ) + rm -f "$forwardPatched" + fi + else + patchErrors+=( "$baseName no patch source" ) + fi + done # for activeFile + + # save errors in patchErrors file + if ! [ -z "$patchErrors" ] ; then + rm -f "$scriptDir/patchErrors" + for patchError in "${patchErrors[@]}"; do + logMessage "$patchError" + echo "$patchError" >> "$scriptDir/patchErrors" + done + setInstallFailed $EXIT_PATCH_ERROR "patch error details were saved in $packageName/patchErrors" + + # pre-checks only - direct exit + if [ $scriptAction == 'CHECK' ]; then + exit $EXIT_PATCH_ERROR + # script will exit since we are still in pre-checks !! + else + endScript + fi + # no errors - remove the error history + else + rm -f "$scriptDir/patchErrors" + fi + fi # if fileListPatched +fi # if [ $scriptAction != 'UNINSTALL' ] + +# go no further if just checking +if [ $scriptAction == 'CHECK' ]; then + exit $EXIT_SUCCESS +fi + +# in the Victron images, the root FS is read-only and is a minimum size +# in order to install modificaitons, the root partition needs to be +# remounted read-write and resized to allow mods to be added +# updateRootToReadWrite calls remount-rw.sh or resize2fs.sh +# then check to make sure there is sufficient space before allowing installs + +updateRootToReadWrite + +# done with pre checks +# prior to this no system mofications have been made +# after this system modifications may occur + +if $installFailed ; then + if ! $userInteraction ; then + logMessage "ERROR: errors occured during pre-checks - can't continue" + # EXIT HERE if errors occured during pre-checks while running unattended !!!! + # the LAST install failure reported to setInstallFailed is used as the exit code + exit $installExitReason # EXIT HERE !!!! + # command line install request failed - reset scriptAction to NONE + # so prompts will be shown - eg + # to show the log or + # to trigger a manual uninstall + elif [ $scriptAction == 'INSTALL' ]; then + logMessage "ERROR: install failed during pre-checks - select another action" + scriptAction='NONE' + fi +fi + +# create installed files (and services) directory +if [ ! -d "$installedFilesDir" ]; then + mkdir "$installedFilesDir" +fi + +installPreChecks=false + + +#### do standard prompting, automatic install/uninstall then exit +if [ "$standardPromptAndActions" == 'yes' ]; then + # prompt only if action hasn't been set yet (from command line) + if [ "$scriptAction" == 'NONE' ]; then + standardActionPrompt + fi + endScript 'INSTALL_FILES' 'INSTALL_SERVICES' 'ADD_DBUS_SETTINGS' +fi + +# otherwise continue with the setup script + +#### continue executing the setup script which sourced this file diff --git a/HelperResources/EssentialResources b/HelperResources/EssentialResources index 53970f6..464e1f9 100755 --- a/HelperResources/EssentialResources +++ b/HelperResources/EssentialResources @@ -138,6 +138,7 @@ qmlDir=/opt/victronenergy/gui/qml installFailed=false installExitReason=$EXIT_ERROR +uninstallExitReason=$EXIT_ERROR installFailMessage="" installPreChecks=true installFailCount=0 @@ -145,12 +146,14 @@ uninstallFailed=false setInstallFailed () { + local reason + (( installFailCount += 1 )) if [ ! -z "$1" ]; then - installExitReason=$1 + reason=$1 # no reson specified - use the generaic error exit code else - installExitReason=EXIT_ERROR + reason=EXIT_ERROR fi message="${@:2}" if [ ! -z "$message" ]; then @@ -165,8 +168,10 @@ setInstallFailed () fi if [ $scriptAction == 'UNINSTALL' ]; then + uninstallExitReason=$reason uninstallFailed=true else + installExitReason=$reason installFailed=true fi if ! $userInteraction && [ $scriptAction == 'INSTALL' ]; then diff --git a/changes b/changes index f5f631d..e2fbd23 100644 --- a/changes +++ b/changes @@ -1,3 +1,7 @@ +v8.11: + improved install/uninstall error handling in endScript () + fixed: GUI and other service restarts not always happening + v8.10: moved velib_python in SetupHelper to a single version dropping support for firmware earlier than v3.10 diff --git a/venus-data-UninstallPackages.tgz b/venus-data-UninstallPackages.tgz deleted file mode 100644 index 3d3fae2f3790931b607a7ce5fe74f40bdbac3c9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1142 zcmV-+1d00}iwFQiHkf7r1MODtZ`(Ey?N{rsxX8v52b1OeXbLQFhN4A>0!>^rNxu|B zKuaf!uuKXhWv}b{zwby&vh1YkmleaX5J)VG$H#YfkB?T#^{9{uE1vzhF&>X!Jbw=M zlg94n`1I`P7>-WQPS3_CCr9HG7#|(KI6iv@;~&VW9hEjr5fvq+c`R<7BR*E7-Q@lw zqrVr=xQJ&==Rwd1lXDF^QM@!jPbE_ZWCjevS;0jLw^whku5Vtxdlv#zNzPXY>zpU~ zX5t!HQP9F4~z+WJRe+;hDJk zC8nI&0u*u%EHQk=&F6r=yyj{W#w(^``Vw!G3~j(00-b~d9~vi>QYcIq(Dr-q37Uxz zem|$;q6m7+MamUK?>BQn#x2q%YE7_kFbuu~Jxp?0SN&GhY5f9&!|;(Q_zMi4OQpcNuX_E;qE0JQR%S9dh-GQw6;F(!7=dd3Ii@a_DFsJfqB?dwBL7m4bPkcs zGD-;{%A`u@!$k~jKMoFH@GDFvFoxl<=|;=QWiZtfqbdw~dVT9KKcdoH3S#4mKG@<& zOtY#1zQl!(l+FG%cZ{ z0D~s-oXQvUD78-{wkV^P*E8|T!*^uYOQfKV+vI4oULAPFmPq^2@kc?AE%Y$x^=)7M zd972idTAQ{b4N4v8pmW02D_<4OTjTEo-vw)DAH`)s-!MRH0UtvuK-K3sIzwhk`C;$}^rYLyQ*sHa62i8H%^4R# zstBW2bWBsRLx{bk-J}z=4+F2~dS|lT%>p0c$w&5BjHqX$`JZ9XiYgq`3%jE4s>UT| zsog`d_s_PS!di-bW0UcTSYa(!&};#Zb8BImyKlpmq_t^%vsvq&k@rI?$&6OcmAj~j zT=!Z|7zv|5`d^U-XdeIIhWymzk}N6ZT2-a9b}9j_&CJ?fyxttkoi~AfT_BclbPoTFcl)`0xF9RURV*s1)laT+?gT&PPqhtir({>zpwVdb zP3AsocTeljecPN`6y1h6fxupK5}j$Q=4bW&s~1K3z{MK||MoAzr|~qN#{X^n4Z=kD ICIAos0Bsc>cK`qY diff --git a/venus-data.tgz b/venus-data.tgz deleted file mode 100644 index ef0954a2c2b07a9fd1f76cc49ff670272534e6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213048 zcmV(|K+(S+iwFQiHkf7r1MGckR~uKB=zNuaMOkngNRR|F*a-=lAvR7}vB3*)(mm-c zuR5Mc@4b+w&#Wlp9F~%2 zS-Gs;-F1?Tm;7Gc-2akKui^gbe~%_`Fyry>0Sphk|H1ZP`|;M3r*QvI2T!*Dy#GJq z({%qg@w?>PWSm~SozBbaZ1P*@SbqQ8J6lh8=>6~PZtd>w!2J)lwzmiW7H$0=8@%uH zfBgPe9`!HMN&g})uG{cgiH6zaHp$Bu4}P7d$tb$avzzE!9_}3A5I@WUi4p;c5~C$*7urS10RY%(ly&GO9|E&V(@p50u) zqSrUtKeb!qY#5KV#eQe?qmF(zp=Ph+yeulsg6|rdWw5S>Z^9n?Tl#l7pC##@H>0E+ za<5U)lhza!vkM-*z&3cG{5>~Ii>OHAe0YubmgNzTIj1GdstOtyJHn4}IU^YRGAZCH zMm8wXN=_YZ3gv zjdsg)dYMeF%Ip2rpH|G5-~Y!C|7y3=%V>Q)TCFvX_V=T$Xk+6uT-v1FYRO#3?qXVv zAahp6<*Wc8kze=VMsDMAI>KWw3cMn^1>G%x5^S@a<&$W;-MUPdtmupVXkb^Qr{h6s z$>D@&)5445ON1w~`ja05Pvx^{1TfTU4FNQwRc(gfwAL=xV8FFsXb|`?TwWw)yvAR^ z(s||4$NSL}!fYGT_5v3CF8b^<9w-inh{x0G#xWi*8DkWVF-mTeaW-A6H%*Ed;JY=- zCJ7xf!ZDn)fIncAaWtg^1Y`!+30NjksJw~ONewhtS_sep#6?o#1Gs{@N0oHvg&HJgpZ-?YbvBj^P2}s-wFUX1qvfxzNOI z3x9NL#ak@G_VmZXJtpHKvFkCQ*zNL#1Z&;iT3P+czOOn6|L`yBhfuzv7#xl~ufP4} zBX7Y#AHmo5LnHIsX?{B9f9>c>>j5LoJvf7GI zw%Y#!0$panl^^DLmKT7v=&$eMe1cdR{+`Ceckxx?ewV*Zi*`0Er?awzKVRn=0D4jE zU&aU(t5@&?^c0c_N3~k-=%IWF5Sr`PbOsT82yqd8#lP^md{2MUV>vuMJvr@s z6#ejnj1tLbeckNw(huB^;wNwB2g24pqBRFpBXa+BmP z0@gmkOYoybC9J$ybi2Wl;hz=0&n}G8`Fs9%kk!8*eA9_m;1eY|A}E}JH?R=MV95>J z-tTnGR)Pj@D?A0FH`)ktj<7pmYk(&$e+`5({(cm7f23oMesFCYSGc+zbslnmz~?Ny zuolA+u-SNM#V}8&C3CzqRuKVGPml?Z%QCrv-+*W#!wBT->^jbq(VH>_E-?j`7Z`Tr zyO<%SHUyZL@HcXBG&FG7>nRbmxF}{f%$fnA5H{Kfe$gn+lVO?V^9`IGIdUL{1(P6t z6A=nXzMWkFP5@on!f;}5>{yf;JdDe9EX(zsQ9?jagjPtdfnXqa50nFc2kv#0mhPsZ zFK_{OxOAk>_;oy;=Gin)@mzozn}ICR<{dvzbGWJXXgC7C38tIGHvp}xTb+&Qi$3rZ z{mBey<=~6IYy)JF;4{4grt5XI(NSD^3frVHwELy`!<0A zc*1p{tJtSEok#fZO*Tp4IPp(78U(ij_LvS6{N^@!I|FE;#v2N8e1Lf7MR1C6xO0%D zB3_JKjhrp@iZ8O;+D-AG_S{|^y?puh{OhB$w@1fs500O|eRKTm7#Jp{oC(BtoY$0cp{N|FF*rPzJNL4*^_)x z9Sx<7h{OyemMU4VuH&ocH$lE%FA|ef+Ik z0bEwK>Cb>=QPKhlZ9~{%WdID{!~BUmRJ;%;@zLE`2ynt#9TaqEf(T*`l^6289_>e~ zX4z4dXQ?mCb*0lCWuhOsiHGIzIwC9-4tdYQgvY_tZPuK)3Eep>bbY+PZdliV@$GCl zv7^2Pk)z!SuP$MZVfnZ{r(VG4z^oF9fOX(@Qu9x`Oaf7ook?i^`ve7Fd`wZdjMnzn zqHc~L(R~L(`Ond8lKwN=i0bdgs~(!(0O2c;7n*xTp9ccJJ(A1hPQ}fElQ4PL*P?r4 zMO%Pe_$?6XQW6ys5C1Ik8`$9G;+8nx%{#zFQFpqe6(IuHV7eXcM_Zrazn@2|&D+Ia zKmM3DjQR&)LG@WOE7&@Eakh^qPl^u(g8+a?0n%x}H>)W~b+8|m*j@w%@h?o9r_v= zQvQ!YCo;I$zrXNJ;RB}TQFTuLbVupsB|J*%TRWW=vBXxTf*iGP<|lSXt|zVwB2Zxt ztQmg#s4S$H+iKw|zx{v?a(fS$ME8rmXip5+h@`k{r-F}AII<(uP*UfQ02^JM`Dr+1 zN>_mgcTEj%s#UrDeVxBuJ92XzPUdv5@&)o+rhPvfkKiW0)dQgg{CC?f{`~y*Pm}%c z3c0RyNI#s>Bl~T0+++XU-tqR|!PCdPX#d;Udh)0J?~nKd_P-UYJz%|Z%5DH4+0UI! z1$;`0{A4r(l*1OJcvfaNWD4>fM#x6VUpIhW;z?TE6cI?Bw<$7m7jvtEpn+o4R%`;> z6Aj^BfXjx)H&fD8Ap!;-=my6n4N&qvA$?JsHR8UH%*h&&Vg?K`NV}+0z+v)aI*y0Q z4N6QRWx>oa;5)1ASR<)-Hr1mb;{luuV7)z(L><{zae0 zrsGcFY@WfctTnUDa1P!%ZCf_fcgKlah68tJ4Q=Re+W@IDGxsa4>I`(V$0z5JsFqRf z6g_GKw+km3=cCs&_rYXzKqp-6ug#NUO_T_i*?64Y;aRdqaWc&EX_k|b_L{Xxxtj^? zmw`%(e~3Eu!{dM4BKt>dP~fkN4o{wtokkQxrL!B?CdR{^B)9YxZn0pYt$GlT{?F5} zCj1|;Q@_I;5B2}refo4T80?_`&*R;vfBOIY5uc{}ufD|JI>&?We|P8U?#>q8|I?>` z`v3hQpQig4V)ZJX!2jlllToj@{w;IdbN@TLJCCdU-|k@dPyX+Z_=Nmlg#!eZZG`$w z;_#Rihz?$yAD%|90}w$Q1F{+g@g2e(qQ>qbA)l}@@Qz6itPI+q?ygCUCc9KVo1md} zk6gwa_kz5IHBO1QQJ!3)ZvieQoE~_!9L*jyikL9+?J|;=PQR*C~K+5I%O2 zBqL%auH)%6L2i4VI28Ix~ooP4?Lz`9exiBZ+`$^ zdI(FMlxaM6Uv=8!?CLyw26vE+6LqJsDkho?7v6+gJ21PyB+GhW*jv2N?u2ps()%%f4RmacAEzSI4LtY0rk~IYlK0>8G`e&g^ zvbat!OI8-4wtCgfAN~9@nkeW>RJV8+r{%M3HYw2|ZzaM%NdN*t3_xwL1rL3gP2joW zm#<&pmuy$zjf>FwE@XU`7L&aBUuZ-Y0>%}x)$Jb|MP95M}b>)kbXJv%=*J%5WB z(Dbi8Ay|MObp`Nir_8H4I{qr^^?DtA4Cg1$PxjCRhBhh$wNY|0ySl<#=!#EI5#7ij z7lbL30!@B`y5a55%29SVK}**pyQ{(%k}5yz+27924`1=*wDnbkQgzjfV5YtuLASVA zIHXRaS+JoYQGQuwBMmWt98+b5FTRyL{A4 zG-LPwZWeFpr-}bZRozum{BCmqKm258XA%FuJJ{aYcJW_Zk1_t|$zW^ePyYXp_}qTd z+uqu1w{C!a8ii)CbP_PZ82^FX)YaIzvH<-6ZgWcU3bQE%Y_Odyzqv!!FNyPUs)p^` z$1qd74HJI4hcD=TGTMtSXF2(!3&>G-=GAVpl2|jqO9dcL?DvW9_th+Yl>sAgmt0Vz z_1o=@=pxVFC6j1<8kZctfK&vQPJSE6Ad{{V-EB5#yr(eUYzmYr5gY^fbqr**K%6;C z$M~SppMv$oEm2(S=DVW=l5vkr}RfB`6?4*b{S{hbbPdV$#A|GZEs;v%dAX_%?P;ud_3QbMzF9sQRUGLRkxF* zyvy=;(FGjyT{iIvpqe05Pa4 z8>N?X_Mb%G9z3^(4h}2{+>#iL93Y_IY6n?&g~a0{E5y4Go@a_)L!qGq4nQHodu!@w zof8nHIvx@WJX2*e_!2qvLZE%=D&QDjGoBel>+G>~a^@xB+d=P>E#T^AAkS1JFz7m- zvpj9_(>f{~=-b*3kmaQ(iBDmY4Do593u`irar`>7N(YQ$L_w_5tYFw6(-Aw_stX`r z1=^x!CHe>|CbcUAHsMOVc>1?--iN>Y;hFRSigG{$$hPASTr(@9%cD6>_^5%$D+S#o z|>$ z{))RAC6_V4raO4_&#I$VT0NhaYAo1%gA=|wIDT{R5(h)K1H_18QcQ=^hleX_$rgS{TG{GaeK?F{gKX`~wd)tPbFhrr(r0SBYIv?tR1VesjhdUt` zwT1@AHv&IuGu&yx!EmqLg$M`dVx)6T8nlFLuX+C>k0)?6Og;T>P^p5PoMLqze#Z|_ zVTN$5DSEXkr6JE=bd%R9oY4~9UMD0Yn0`Fy5cO?@(^%ElJ1!sVPw<$;7#)e6V4w%Xqj^=5v4(()ahnIIlc)hsJ?uzIb5KTXN zNr83b=!|ZEfJI^zX&y!NPou|Fsg|Hz)W5EYP8!);y>Wr|j zkLhBDj&|J|S<&B#NWiHwU@}wiwD*|CdA#U}7S1`o@=kLACfG9Je}EA=zt?)LctUQ- z*#zJ=yPBjwLT`0;z|+%na9|v>WKUP+K*Xw;?G1pm%(zdYstLhg>aq1j7lG^-yc@)i z1S+H!g)I+AI>-^Tz88MOGK;gE+4M0`!`ZYja5PO~nyN#T2cu&Y)fCaXMi9qEK_2xZ z(vuew=HXs7F-=b`D^{Hw=Pgh}i0f?$E19v;K!V7Le&9-&PU3)DOF=d&vYVt#VYPmE zdhO5U@lk|zbd|?*)LPF8qT1oG!w~0Y8%-M*r^jXvs&l95IuDgga!xY(VMUe1y$^JERl7J0oyhcV~yi>Lg z2=9l$%KqALi#6K?Z`&vj%^pzGk_mM|M#P^Z@HD`6&57$%ZM_?e@)3x;5l2k96FemW z@~hWJCqg<#GYP0?Y)nUB8ZG2v{ z!xtx~hi2)7pb1WaqPcy?L>=nqQ6$qCeQih@-FGNCFn`Ro^Hxsqm-lJ)z zL~5TfsZBWECJ^D|NaVVShp-%!cYQ@^QGU6TwGppoJ*I$>Ficwnh;|15HK!F=^+c$L zcEWM;zRcmts#z}-j~OkG>im%GW0U|u7c|u;3u)S2h8W)U!D#W?b5{-vSaXEb*2U}! zXnvwZ3(?92J`mho}SS)^3AYp=jXWBE2iR%i?|-116ZQcMzj6C_QCTaqvnE8Lq*Ogg!Qb4!-Dc$~|ViLpT`6S3EOF z)_LMXLi8*MW!D@{H_iKWF{ziNm~xytVvf<5DC(a{oFqrosj%*X1(OiJIJJbxmNl}5 zvA&4f0%rk-RW9a!MAB9QDQKf(CNBBCYH{Kr#`IF+mG~CUoG>4rD64{+omNGkaTCw! z6%f)jFWBiO6X_5E6N$*T-Re{!u_N9ZclZ_Z79!2m@eTX{SCA6U$Fwvpv+Z7Vew}bE zGbsJ9(Qh$FpZ&{WV(0RsEO@E(?Xo4en@V z7UW+8Y)}vjy-3pB4J32|<^Bbn@H+))0wL4}5NF&xOv`w_2KsA6t+(5>*Q;6Dy&ZT` zxrzKioFd2=O-EG+3)n!$KrxqzF^(qjhrEHs;!rALw@6>SdhD{}Sq|O<5^}i1!eOc7 zleedbuU{TKJH!}V9D`^Jaj8zPLT)qSyTOjrnPwJ(pLum8Z|x%2FiJ-v5VNOlRWY#} z=n!z z0{S2ioPu~KGLJeiRP~_4P&e4}0?`D4I4~@W&hgFJ;oFnbqpyyR4_*ecB+!v0AA6Om zD()2oZsZOxVw9%(cnm0dkrYQ~HDC=wU~ge4Lu3AM#^M{X;ta}gQD_(@JVz#+=?t!5 z7(LIk>6h7i7_N0)meXRd-@m)N>!CsCB75Hh($+7AD=0=)`jVwWeB}J?oK3s2{PT@8Ku)N4ql1tqp z9?_?EtCSL=#8<>poyxQPC~+Mk_OKg@3U8=0BPArF>$rx*sdoSW}Ip;s-VQ{E-KVG%|KWjyZOk4 zaX3s+ZMW>m7oIL|&!KOGMFLy4(%tw>1O~%rkxtO}nb8^sj>#W0E5w&lbf2h1jZJ{O zOi8*`VwceQ52MpvL?sDVZu)hmCjJZRNf*zw-w^LG(-btnVhrfqNJww9MR^Nz;8XB; zQ6L?{!>Avo+9>!|7zs!HNYF4MF}xC|=5Xq)GTW=kG`H{H_vZ6oe*BS^Y{<3hNI-~e z(5SKk3IKu`lCJTRBt~T+&2b{o#KV=mLe+1pfPv42R`nP*2mkCefV^KUVQG1HOq&TM z)Vqj2auLfwSC2kx_#j|JzEJ@V)t(CT$-raNUo@-`(d9$uV2gY@DwxCu%WH%KB-NZl z2*5s-{5q(PpeSnc07YpPA5R=z&yX5SrWzp>>jNFLqL#@{99;q(L#oQc!))?yf?O!<8SfA7Yp1uf*vLjE zp2S%`(n*S*$?1<|DT>P&C1NFmMLB~vRdJ`QqB5S)C=HY*d11P$c@a*X`O?Gp<#`@Y z3V0)DaKfpFXLP%w z|MaFQ99#~l@NOXPN<4#6Gn0syfMG!>yH>@@G0J0-e4@J?nbv7mqy;hByj`QF#6O>s zuRSy^6PI}EL}L&Tm(zugv#X-_BkPaJ4spkWJyi)tRWU+lCArd=)IYe;b+%q;yDzC3 z-~VI70nihOeC8THb%&$k=*J|7p*aPMI!198E9A3~MPOYP98j{+ZgC=BS|RJ99AzfV z#VLR&LoxD>;`%|v0gjTyZlpcP_oE*B8f}{7=@eOmzBn`Nkq_)dCBCa1mNdd2OHw!C zfa~6Yh}?Y;)m#=LVLM$`z?ds^@T!e z99q^96T|WgMKfO_VaewQS3ujZVl?=zPiNzQ&HzR>8cNu2IDW z&!(`-U{dzHOI$+bf;_||poxER3SIQs@aRGkX}3ZmO;|vOs%I0^W#}*TpiuYLrkEbJ z0Xve*XbPn#^pD}&G?a$?MjCb#4W$>Z&XB+@~4;Z&s#j~g>Eo77oThdkn3_U=u5Iv|b3 zi+h&j7qIoO{)!+`Vu0I+QbB6|0A^z>^z%(#QWrI!Ll{r~vn3BCww|9*z1t?JY*Yy!tXCB@a?bdA`NO zK40!*(3Zy{5`d zt;vUHJ!WB4>3x+rrB1trsPKmD65&C0eV`k@Y~~Z;XvFQq1*qmTemms2$am-rwoCM( z{4NOgVs`f%rSYNxO2JzBLx$i~qRwA4aB+!Fjt}3SAH6z!dvttue(>@o>qT;(pM|L2 ztx!Y$kE>J?jA;mfnGRJVw{ z&At~nqSK9w*hS($p$L4mPLO7s&6JEbGTM`h6X%;_J-1r`(-_&QVM?V#V9i~;@*ZHl zo_KhorXk^%n$L#n22H1Vn#7}50)RWe?7C?x^vpz!sHo(Z3&Vez!SloMj*gGcj}Bh` z=b=L4+gAt2@Xx7Hoizd!32~kQB<%$`#YzTF6s{?ZTBE;lHt1LNctLC?e4#E?Gf=zZ z-DIUnjmvU+g&s6GXO&9r#|v>{m?)!2Y0!>EVI)^dR3H%gYR2XBE-l;lP|n zl1rO))QCh-Hmjf4X5A-%&c=fU{-5Iryvuvw+b?OE1#@vGB{Vb=VpRK-^LyimN3zl- zqQVk`PuNJ0fhRo1rczbL@@$`HVLE$~P|F^Hu}{(-D9xr4Bm z1#4tHZFOq$me*O6brq4ztAq2SXWFFDIfdac6Bt)*7y@~6(GLj!K;|}?QAZh&Uw*g> z4s0ORVd2;S^qnIHyFiS=8jO&JV}^vn)!yh&(V6c$%fz37I0D4DL7$?;`$o#3p8ezl zQ)PS`aczZ2EPj)k9>3tYAWUhd>|f~F)+nzuu{UTy)3{cfpbd>-v`;zR?W)3t=F?*a zYJGNijzPm`Z)sx~4UHa-em|l*ZrB#hpfEs^WGqEZKyauih`8~J^}Cd*h#C@>C^tU=M*h=E6AT|!dfiRN@#*(<0`*n9sWWXa;}Ad{IJhZ9fO;D)NynoirQRveL~Bz$pxl{iBK zjrqiKO%?sA_h4mb&(PtJpHPa1ea|74^C=qa$zV91OY~kLdUZFwY@Qi1;s*5~Ej3qV=rjBwel$&p7ZIUl4vHYI>;za#?y0wHgg-5%OXS24e-JKEN>HPZV=x zb3YIfZXT*i5>Xx^?FuD_@y@l$Slz10P!-4zaL^P_gEo>tktr$*RsNx-hLSuw3hO+* zgJYscU(X%^Ch>XIG-o?e5cd|e<^2_60bo$XQEJ%29?@qI>7an`kx)c20;N$niF-XbF~{e|0>Y&jIs2q>_Q!#&WW+PMZA*S zxykO29)t_W2Nj%2Q3(^qi0gF?Cf?}j;0BR~ULs*JNiH;j>%Bp-hK`%jL5;7cL}Kv} zBeOC(JgL@Kjl1Wu$hvd;*WTZH|G63Aza#lKmVYn)Q(2wrzB+?vZv(OL`1+b?tPP!mQg$e z@IxoB4%I2j@kW;GCfSk#b_*#*Lr#ez84pp@i7smBHbMBWh;I{z)QAmWe9YK~qI&A=!Us4o9L`H(KrTVRnB^J{3=B$~ zQ{oql3}tjQC9#k62I=I`m$_mq!xOHCrMv?*kcQ)T~FYL~Is9`HDh^l*&{M z2T02IkTc86i<_cLLGs5=?TMrFWgyF|X!;SXMk8|I8KFvw zWL6*5zTTlo)Xs)ZSaCwu$=LY=8Be1ww8F%KPUP;Bis_v+DK_Ak$FUjncoBm=_5(y_ zmA^483n~YUbEoiB@MPd#NljqDfbj=`f^Kk&h#MApr5mz_-^>}cRD~0o7rS57;(pPe zH0IPV6e1|)fna|l8~*3R;u!55P2&1Mz&!!Pa+EMVac}NJe5QtI3GESeFJQH39TzU4 zTl!KrDod-Z>%c@ls!d1`A_vwrwb0ER@>w}^wb+~-*hTB;r%Cx4^K5o?T{FSs?qGpc zBeQH#qwJlThxQc|)oo&h`F^c=qON&lnI1{yCki+!tAtdpH=XN%O;P9s`mmzDk|<>DSJV)3(%p=L&t!Qw1k+Y*CP7!`p9yNLJyIh|~twFHdTXp9X*V$Pg6K&KVZvv4oZWRKL4f)ll7Uw|b=2;AZTX;3 z5L4jBE6};T>3NYp?vt&$Nd1dV8RAHR4efQ%!<@Yr@6sF6K}smK_$XOfF`{61!|khx z(R&)MttO3lsH;h@F04`mF*Gl+q9nXT;)E&bkab2C)I_O@;b?jLUUER~og`nTu6RA7 zr$wHG?S15ZYJ!Pn72-@LegaMn6uQ}ZT^r{Yh%0(mMW&jNr>?#5ZWZL_U;-*&u?Uh# zdliEL({Y^K>7Nu>FNu{@L*N5H#W|A%2Ew1NxkG6a)Z{Wprj)_8MvX-488;zqkFb~= z0D}ZWl9V{L(!@Je{=SwGqsCf*HEmy=vkgymc7gq zHX4$`SMx>Gd3%h&lmH*h>gvMRL>dE5oB3~GwaF2Nwa0!QPx4TY%+UhmqDK<0D1<~1 zW#vMdT;=MrO)%rH8#xKdG3Nmji5Omqn4*NzQ56vfawp&D;a3yi!6c_a1H&*0m9yzW z4^27`sR6=L0nXBy#JA}ct-ZrOH+*TI2Cqpx)bpZz<{rnl`Ur$A%jbK*&?N6MJO|!8 zJ8+UwXm%lrwH`iu%5EZQF8D%*PVK)b=B5me^Tw5E417Mee))vhccz>bKTC&yYHmwd zAq?ns%mN#}Gs(E8<~gSAZON)P@*|r(cWg9o!`aOk0OKgfoEAR!h1Q6pD0<O_Pv)}&tY0Cdw*Gv7jIhN=D-5PA~JgL_Ic>HJmk3Z(a<=dVgzBqXE@|?9j z-V!Ila!Et2HsGsJ;GzzxDMx?DHQdyU9q4SdHU@Qyi-NoYB&h@@g-PzbT4==;e+Nu8 zaev>}>}z*K_QTZm4eICMa~@xbwpQy~x2^rlf8K$JJAw^KHE61d+SUxn;is`_ z-5Y&j(=$mDFM{i`Q4Kk~Zvm&%^f~A8vh5c&{c4(Km2n%J+9ag+G;P=Q@A!dlNvzG& zVX%Vp<6F5rVWn!i<;Ja_7{&@k1@c{ zS(?8Yr@9BA+?lvt2NFm*=jqkV%2KBV`Gh~W$mj0#~p+Qjq2p$G9{<9afJy~#f&Ad?yY|n z2E1r)jta&}-cu+2yvnoyTy23$%vRd{u z&2|?|+ik3RXEO7dXGis}D&g~W%S`Gj1}!@cvf0mTMjsMqOb}MR%mE<-7y9cKN`nSy zNR9t>4{bKc8Kfs@#%CkHi776SRB%zJpOnKs@oD`!?(01=@`Z%35}AoU%?mm`Id{$%+6w|tuTKSIU7;~e+!e*<6vEBxQ?)4`wo-yiY`>%RsR zRO%fSY{f*i(5%E%rD(7x3**JSN*T$bmM8Izl!o`wsFXuIOw5nfVkvZ&GoX@*!eJB6 zOyCXtaWxq$EVjwZzEFh_*;>^_!D_=fw<_y@g2^a3>BN4uDJx7l!L5|ygJtzj}{oO6{EWyQa|6avi8c-{octt2@N5> zy00~ckhvb28MGDFOI!K4YFGt(d?G#M>=l%uR&rwnp*u#9z>>U@SxNWiD5;Rqa78pZ z79@nLVC5vIt0sT1>coH2>i^51Ci-7_1HXBWd-XrNPpbN#r-SW3>Hi<`S*ZU}v?S=_ zw2G%fvP;B;(zgJ0x{LEsr2a&d+l3q>o)^hrJ6fD(e!Dp~C zyn;Z33+UEE)kK|^m(aM|i86-du1p+byFGn(^;^_q&>b}#)L(mcR(a44|9%YLVNqx_ zM)Jt~bF|T{T$3S}kya}0POTSI?xO}=^Lmw=YArw3ZaG~^eFa8ILS?LJLB|v*5dav~ zH6*{Hu4JiF7okq{Gw?-8)Qy!(sMHKZDIfTnXq%++71Zh6CFBW=K)o5x!%n6G&0V=@ zml?Q_GkhV{GWOS_x|Xq?x$wF1c=g|Iv|ZRXz|rbY;n3gz#}EJFI__RQ*r2pry{yy@ zU#8*Y#!l(6f_okNY(7f1Lc|_nTw6|IcIm|5E>Z zYinnBK>DBUKmC9Hkk5IAWl`Qjl|OrJG=RiDMlzBZ3?HE6b@N6gzF2QV<4sI1JBcR= zW_Xt*Q$HN%)o{J>V#kb-B-H_eSRupsk66Z7ObXL_8i^ij= zC5ohxD-76BmM9$Bm=N`_eN|ElE@vNWjzg_zdrZ0xvVa2E4yMo^+DCtTWi5=k~)L>y*|U>~)TbJziNev8wJ=P@NyA&%e2o5Rp| zX>l$7>+AypLoxLbo9C%3|dsWhDnWZfeB>iNwatD;jL=Vj@#aUP@`XP~O9o z8UQEGJ>2z;r_*stnQz+Rao|WSx5X@}vUd34mDye3v=#@#*q4%H*E=L)bu>^$w5OE3 zrz6S8JGg^zO;3AUys9{Ac&z^I^vvX_^OhQu^N173`zK6LP%~k}cQLMz%G^CSH9$L( zVCBSM9~__3+R*`EorQ2X-MqE4XL(>Zt`_*Qf~+QmbFC|?a>~0Pc+(~5F=^;7JhoHM z6O8AY1gpeCM=|!th@QFWU@sI7l^@=LC1+mxH5=U2G<0^CzFYy9KGRb3>4bAazzw#f zh(VFygkAQW^|vKw;R=SrijFQVEJ!x3RB}H0x`!f>H)Q_`@{@3Fk&IK)o>O?CpIwb7 zQv8}RDFRD4cu-wfQI!SaCji8%jxg0PFyN39699>`DiEbn6v|0p;)r$4L=$|GafOPa zq1d0xKLPlL))TlDF}`y*jOvqSa}rxF(D3!6Ug}-DRVzanT8|>1tDO$G^mG58Bi81j*!94@FG=Ea~Y`sgS9mg2E7{9`o}@NqH5`D7U(K^ zBbo=dMd@{Lk!RFgUT>j#up;7jRcPK#uBQaOd(oFJlq{7du~QMYZOkF&*faG@boV`+ z_MA`MYwSG#An@we@9G#WGnc?L^z#{AF%X5Xt0s}wNr>N2f2M^Kuf5DIj8)A&zV&rg zXt!aIrrD2o^}}UU5=jhkK+TEPGd* zJWCi|?on3=dboE<3F1x~Z*;HyUs^ZrOX3-icr$zOH&#u_IaH2P<`(F^HIIyKFR;2Y zRqq6W$DOw1nsEM9m@AfT!(B1al}XMqqdn%}wl`eW?`keA$Jg75MJ7SS3?sCTvohI> zUd2O{fGGMihHa$8d!b4fAV;%7kW~^3W*Fcn*gpZ{9CeEL64(Xd?VQ(k^$qH}v!M~^Ve^hkM4<T zBG~mZmHcG2Bs3UtDs_bXr349)h-@~DDbl7t5*h|Td71%Wx*p_K@AGw1;E5*14l+Ck zz6?a;BtZg4=pbc^qpK_%A-@sde=s)C{nM>Y%wfkF27=_ZRKg_z%)kTgF1jv&e@s>@ z$%US5MBjaV^zyLM3Yis7nYJkjM56Pr52IIy&yNm_V6E)|z`s2_{abYO>h;O#`N8qI zJrJhe?_EZEuHCJ|lEmOr{ubg8I3;;ZImtC@pMo9HkC-E9)kW4F^#avLwdMuoocp~2 zibt&H>+@BG8Eq>FDf+$wo@91Gm|KHq0+UD{-}O;0>xV zkr!d9G+2;9)hxA#TyCmm14Wi56EsZesH7xKQ^v142Zl-XRQ z8#rI)rf_GZ@z5PqnRU{AA<$wj3@RgXfk7r1=}mB`JpVE1;rD6S(;CALS}AwmFnNbY+n zUkHB#GffT)SpJDln!{H|lH!!|;}S2l*+vc^k@5u4^sbV@7f@k7A|JjvW^_y@?4E%6 zgM^Uv+6QGBYZeI9w;@`_9K{pHe&Um$fg!qB@@U{|VqNcM+pI%a4gmKxskDeGT}u*} z2{_>9&jZ}0m9E|G7WQbE5iGLW0%28?MC5X;FHbdYzWOUBTQs6fs5C|tH%3%89A3TO zLzed~Pt%t0M?13=P4*NQD?*eSry6=utWSGFV zhwlK{#Z3hl0Tjg!xJ_Dg0&Bj`+1Uk^COKU~&UYnnxv4rrMFcKyUn6Q~9bA!Zy7t~K zgz8f^)x?_R%#qeS;hxxw*t-}tR+ouQt3io-ksNV~9hI$&7%5dxW3QnyngYz4^jcGl zgaXrPTud(#%ntebNW>@Lj%zHbPwRAw89%Fq+!*2E5^-6ssG}AtD78|LvyQ-)Px*8# zDIR0qVWwpn{trKRKG1QN6^*fiMDZTs;|IhPUc7tLm@>~jz)eiZvi$y#F-D$ z;j`S4@m_H^)5Z$o#!7|Shd0vH-Dy91q0{uM%gp2lPAF&28lM%PFOGRs!`A+H|3Dc3 zy4rUnyYM`&AV3rUiQwD^q|y(Na36L``|QdEB5%@_fqHO+gEsR!Zf4jFiJ0b4gPer{ z&ujOJu!PS|!Aq%di!`*^gw;f*eCLCfOSX%yevK>c@(R0JK8l79oc}A=`Mb>(bpZuY zS|Gs0mk8f*qxB4)tR9f3Wa46(jS-U;df7=m6IbrW2jSKWegJNG#yUnBfM^5ePC^6B z`Xuvw$0qTBNJZeK-XMjGC*_9c#;isOZ%h^ zj<6a)QF7deNVL+L%HXJFWV<`i8m+Ly15(cM7@JlXC0&P{MA>;zQmOMWmP9KcIMif| zcW`AQH)^HM-lkZFm}6+TSf4h{T`mS_!yYostOg)E`kBN zW%c9rNwql_A(cI1l?>6%%3?7h8|i-f9--7In?!;!C>-@RBg$Qu0E~V z!Pd@Tceg*pX}VYMyBB$iX1nfncGoSlu9S!BU6(gwr)u^GeV0xtc$?GFx#B%=aIoMt zv`QsfSXZGhsc7F=LpIFOjx9{MrV{O_>xCAc5;b+B9* zZtgJ@2kUs{vLx>H$qMiUbQk0pFcbypBokRJEe&j0--e!u)!2wIgS@f}a-4mKc33X0 zU}OSjdVq22Qq?(Qi-C2h0N3Wqq)dnB|`axK!qnHh7HW6-;@6WxW9tCt=UN9-)yj|Ctv>wSX<09dbz)67Tpd3^aF z$g#9Q@j-W3)NoIg(#bMTs=7Ig*d162@|Q!Gjut{##793A<{oU4do5IeT|XKqWCGJP zGiSr=3_``FkrKoBUJyVbUxh~I_Seh>+{jPs{a3t_)lqqXsB#~+_Gtzuh!y#G9I2#D z&GXO!mAi0bobw7;2C)Hiyl~b`Jcn(e4_3YGCgN;?1X0dQIo1Xk-XCbP!dnkq+q6Y| zJ!MB5d>wQvDroh^q!Vc@6mm=v!qj$|WdSvLri~s;Y{)V=mS+=zm`l2M1zH0Rc*tEc z@*vNR?`lC!u8sl8U_I2)VS`oBR4dGYs;r!L$p#P%%6kMClsrsSGtl zm)(?oNA?4a3;)J2GGp&%COe4=<`B@+Rnit;B3#>{5#sDCRD8ffS_F%0Se>UJ-_~R{ z_w-?210~bXPRYy!;k6q#GYH(YCG@MI%Jd0u3Y5IKhB{k2W>r64vfw3>SZs~;$_fmN z*)6F;BM5QP0JrqE*F5B5Xx@nmojD;niCJILM2BoZFahbnJ61>|Py7cmJ~GYzeLge7 zjxG9j<$2>S@#U4{8h)2+q%D?eSe>*vg^EZ@I;2CT*KniUb70>xy83f?GO)3>@U%qy zo^=t1ELi_p$iX;jlAbbp7W+V#ah2Uus+m%p8V`nczlWQ4e|8r4!7}p4Ab}G9j(e(( z_1E*`ZsivC_;+*7w}T7g>dNr@^>BN{f8_TYE=T$o74zZp>KHVOJ6dDfkNkGOeD)2? z6kpdoj+?EqlHAQWuK z#+!0Owz0W={C1uUITPEpyK@4mx)zA5+eB8FyAg!jEMDw1*u#2aZqH$0N%J76sZi-? zhAZ6{%lDSl0AbKAmg8NXNGAnL7MUgj!uTas8$UkM$p&(s=OYuA+8D+K zAoS=R7|@?iI~I!1c{)WmwcMhAxxrAp%Qq8ynYKGH_0&dQCZ;EX&-WXky3UgjII5D4 zptBG&I}IjITuCgUHokPB?PAQB>&Ult&FPb@o^L8G>;V=`JCnuXT5x@Alte_~Cix^TQyp zlWh39_#O3vo4~;Q(&)#Ik=oZGAe#Rd=A75OdU9Cp(kq%Jh*3p4Eun1k&bKFgrWQS* z`;Ccf3dx=4u1c<1hD6Jt*6edF7{dSVJjUgGnq4<>C@*iZDa`8*@}gME40OH3itKh{F9-Rh%; zUn9{=Iq4-qiSBy7N6}yk|H-9tA}GXim;rgGQ-`KZ;Cgyd*m*5ar|;A2`;RSjF?#sD zKoWn8GRc={!=kA4D`Bledwwze&V>h03CPUuI0bJrR$jc~D48R`a+0PwPEr*!?*db0 z0+OE4Bt(}=JOm;tKk*tDu6#pZr-T?mpwpy53O*S~$THNk(*E;EQY|KP!4wn6WtGL( z=ojB=Lw7-O$K!0Aq3N%8-TVNIO2Z(0ji{)_Tn_VoLD(rQg_H#u7*V>XrEWu z0oDWv>*Q4C)$sEj*e0Aa8PRYX&6-nZ>)vr_K1iL#Dt5E%A=n~l9}SD29-*@ZOAi!7 z^C*s8>56r4g&M`9!xbEbDRUPWAVKe>CZ>8wGBjZFAb+9rXJT-u2{J(RP#6Fl{!Wpa zX8l?hF)%?k9g7IaWEY4Ok?m2aZPwrTTk~156X)xhu@xcZ)z5vSfwIvR)SKF*MnLsS z9*T%l9+VyzOLKg=gZL}hL~|x%O@ESTv4+5B?m$A3E9*!{Mji^Hu7KE0y$Gsq9^%j= z*~Za;mzXWc`Vaz_S!3ntMMa(yA8PQIK_&A}Q&IevpRLB7Q$%FEfh8$X-e(hnm^kg0 zfqLE@kqKIFV2=va$)oYjlyDq_mfUjorlZR0a%#&*;SxA=EMJdlLy$H^#zB8mDHn_qhe??jLyPs zEZ)`urjR!u1Q*=KoN*{sWMf2ZtBdj^7b=3YaEYl<%{WuTL)0S>JB{kxBcdhkQ~}#5 z_rM259KF=2lU19ES+Z0c{L(4N!RrPt)2Rc1881#jWQGz_dX^6pQrPy+;9B7|%U!m8 zn(5?~7jOV!UHM&KZWtb0d%|mU7#?;ZMc|1uuJbf^FOPvvouirn%L{uQ9 z?Kc$libRWn#L-fJz?2r$)o5seCJxbr%MDQCswmDfo@r{k^r**G`o)X|oqqPADA%?b z&c(g2moJw?53;+mVdg}LgyaBwv1VgyR;`w7Ujma@vtYvano6m*70s5J^e@~hu%_7S zl|zNnf66UD%JQcYk{SlPo8`Jykw$6;-DcL!v-XP!*w%`~hWUiWx;VaTMvV{VVl!+p69r;8K2M_o8t_}T2z208GFAE!6MMrJmV{?1GoW8D)mn#PkA6sc+ zV_}U@eYanmPL_RQ*%*t`%2N=WS>y)O73_cQ!-Y~5T9{Au0>&Pj11|ZCK8I?5CK7l1&1|b?pCx_%9<|BU#zJfEVvdQ zKZKo7H6RJT6p!t)uo@5dbrO~0pNlm+zV7T@_=U9U&u`V%1R(KUUbrJ$zIMqrYSx^m zd9N+NbU1nWzsO7KbfHnTiZ_Cf>ia@sN-V#T-g>!X$)`c!)b&)K{7eKU^LT%NRK&oF z;t+3GpuD71cCG_O=v3SNBA#4$$*DN9?ra#Nv5YXzG0Cng@P|sZh8G_F#Z{XyeHJx3 z)dTTXebowJ5voyy$S%cJ-=H+PYj{50_`HPB=b_C#{-k|Td|%Pvkwb)s56_(r(PL7h z7$HUgD}bM@|Ho4z=oZ;fe@L&`Un~KzBFaX@Bix`=>}RIC4n;~(2}r6E1i(;YIwk6y z%m5|iO!}FBamiQ~4UXonYF~%@r!JNW!1W3m9ysH7$<{|y?Y_pV2~|v_rlXRVh7)(( z8p7Y%a!8A2@Kte|VYOXEGVXH4*#G|%l$r|8KSA{`~Ck4N>>)XJf}DR zH$mzCe+8xZ|5s2__)kzGf_tN)WG!HV#7sP!tr*YP1=5#YtEe8XG%WUyfJGutqolBrf)a{2oljazhz5LQN)Uv}Xys&qU2ad=o z(?!4kY)LaWOp9I^k5zfP@!F*XsDqjc){~TdzUif#d5~jpGYa|yY^O6$vb`o*by`Cz z;li}WS5^5y8?}8`9qre%o^)tJ%rg0obyQ=*o#phuKg%n+D_8<~(jD5H{{$y3m8=82 z7-j!gHKDmR_-TJ{lVI+Ek=*CsC)X(wNWq2aKwiB<%}OI?At;eDFG<#lc06Ap%68@d z$wL=a?$1|h{kIai3VYJ*V?c<5N--YJ>XqKcLmEOt3zd}6!eK^R9kBtvi`)p8V5^o6 zZZk~M@s}`vmD-UL_qN8pU0c)#<%3>HYn=5P!B@8(HZ<+123GoOb$jWy#pS;rX18No z*ZHz<^9{e(-Q5h&?{A+Jn}LknTlv0%GWN=>4C_RtB!c#JRdppGLPnas^+)~7chNu2 zkC{G9Yk>9z6f$`mJ@HI*-0aL?-e$}YW}g~OV1p&PfaZT?5S-^MZ;ko;pN-Mc8{oy2 z4w_!_R2-EC+qafBt#%^p(n&=QG{g>Sa0TC~ zbtfc8izC*;$^Q?XllE(t@&;-QIcx95Wb-k14>ubRAJ-4HV%B1=8|TU{ph#Z<%CwkE zHMo-Y6ynL0Rs-he7aMJZxID9|;_fljBP9Ycr-9{?W4V-9;w;57PLCGZ}ee!lJay_*reM}#6|%RYfCIIZ@8&~ah7ICYuMU+b`! zVZ^t&e!&wE6}b~grMKnh#f1>G?O}OKP=_Ojyl_mwN2{mn(q1UTH04n5@^K^a@gXIu zC2)4`%If^|6NZqajKt+)mKr+EXlShIP7Ny=^|Vr6$x4_f=yvYJ=J5Hr`y%z&+22~2 z=XP19ap11OQPIs@TFi5Uwl+B*m%^qA;joCWWE5HC2xWe79@3GO!}JH#Wis!fU@&~T zywhivj&x!=N3r{`XiTIl zY#QK{W5r-WorO(ZwOAqWgEWd5BC9Kuq`B+X=U?JtttwJqCHs0W0~<*9j(m(>+cWO+ zh15F1g`S%C2I1(i&>W!O93EV`=<7DjM~N-2F56dDC4CZzls7dsz2Upy*RGg~9X7ao z0A^W+0OS~Ivs(}{yufTdsfUy3^V2@ru!|&Ag8$$jTYwMlIvDYqOOQ*>$`$kqrH@1eXTOsVNK*gedj}H zQ9;SUP~8Y8)j@s~LRVXrb^xaU|ZySHrn^YjJG8|+xF~S_v zVQX(7o#Z#N%wNhb&2=5Z%imXbBIvgy{|6E)e0xiJdx^(ZJoKRU%Aa0ypiwsJj}3zY zi_E{61BfZd0ClwxiY}V`S*8pKQev{PxP~^%c#CD771u)_$2BT>Y)7{8sT2De7wI$+ zQ+a3-RM?-ccJHJ^Iv~R<^uzV~0~6Y9V)%wnutnp6%bCw<`iE}en*+$~PM!m6=3Q$i z_)WPDS;rrp#Kvc#vC3u7eFs?n5w9#IMNjJ`=jyKDJPb-$H{>1wb0Vd z2O9Q2Ev?)=O}2~#=sf*%UyHint*iU}v_{z*I%^f(UTK!UO$qZYfyj!vmK~qpI}o(> z6+W{TP@2yhkd^uioVK8}v)4@*Zs)ZrUoq;w)CITZbDLncDzRTgpq=n@4AguN=0xF- zY2*cXp##X$xHwHDzp_*?0x?cHhB1e>Y%!H4KZ4obl8ACgJlCr{H|#UZPs@l&>p%`# zu9<5P>}ekwj?LPJMJvT16LUUwafQ?kQAPBVRju(|R{dl;%3SxcEJbc*Qiqq{P&2Qi z%ced26b+i*c)w*J(#^Lb%|*w7ILsVK}{6I@w#xw`Foq z_82JjpmePOy56)FA_7{9igo4q)A(qwC{~3rOD24>@?zmbD?eNXXKAEkGaSFD%ycLS z6MrK_44yO3vTrUE1y2<}KqgDI(VN_UDk`;4SVTdK4BGeg^G9?P7;zrO zGfx#e7$;v#%cZ?@vWO{r$wM8Ep}hi?DbWBYYvL&%6GBJZiZ84F1zs^AzFq<<4*A(}>?8awM;|6$ z(Z+^o3{qShoq`o|?#qpQ=!@6z(yb5Fh z6xh_PE<`o?C==JMas#Vjw+o7p>c<97s{?!`7m1M z-5u3qJR1S}air~szz`ZZD3c`^WKCNX&V#^%yRCc1&WNB?w6erBO`8r{0FY@a6Ko7I zp3bfXr+Vn0iilu>@S|_{>HQvf+NLqps4o+#%$*l1*u0Sd^q&1||Fr>%R z2mez)+Ny~Jr>bJ;A3191o7tNI`{(F4I~Ua5hdrUIZ zgdDu90I95+;uB_e5Ja)-2O91DPxSAd|XLGCw`1a)bdqMrC-03K$|MKfLAw2Ao^r}4S(19iF*Kd&^$LEtkL-Bdnp*7K zg9JtPiTfx!)OZKlVYV>j`5)^V_tDm>+&ucOI?t<{DBA zptvh1g$V=_-tTd5Wp-ro6| zzNL;E%_LFIo9a^#I>&?isV`r!rrT9jI*pYA65SJClq&N*))zN1Gd|!D{VCWmbJWfp z!40z_eOnD8WX!$*rIMc-rL47cWRFzQ>7xH0GVAWB^=A$s>fmDcaJsdn&#%_5A^G;o zPg9GdeKdxFLuWzPqiYm%Lf?o%ni!_H2f_Q(vy+jU#T;9c1z8dTaF;F>OnQ|HiSNC= zm-u2f|J24Qlse8KhhB0 zA608oKnNYRWLa;2O1EC?@!kJ;DggwFQ0q#Y$}#Wx`Zdj5a1G0c0JGs76C6gcrJ^HU z6Zm=q4}kL>i_`?D{3(1MF{b}HZ>ei+m=UCjSS7)vq{4vh9F=E<)E$S^AD(Vs7in0VEld1NXrR#7Jz}$AEu%Y5LR;_! z%RV9b-KlVHS=PUaNPV&@Rbu~hVaBJ;JtMyDAo{Ox>}bzP=MHlmrfRCR%(_2SetVv~dFRF0JS*#Cce>?C7-zkW_-xwarKV3S}JX{Js&pfk;Yd zBdpx7<`L@g*))~k3|a45dk%~k?Xu4P(2foDFa0mkDWKj;S_?V8<1TBRcF4SgbiXU# zB)IBc1XJe(F}S5t1v@N|a>2Qs9{C989<{#yOTkSmaWXZdIyf$X7x3|zWk3_iKjp*< zOAuF{YX{D)#v3q6r5CW{YMI{pB2KLO$evyK=S3zVSj`>q>=~|?9JLAN9vj1#-A2F5WfrQyD;yrCbx3W2C2|3r z0P!`BSzi+?1QcV8sJQab$N-;SeVN@;xm%h%)nN)fh{P}v0qlh7s@MlmjIb%A>OuW6 z0C+y}7F!<^z97rqXuLqZj4zJiIt2p-;XVHW0CiuNB$&|6eX#x@3t~%Rg{OI*%0f)o zD~>bVzYk(WzwJZ6GgEAli9yR&(%C>GHm)HgbGUmQb#xe$FSAGUQdWM7mKChlFHgi2 znZ`a7cqQLjJjn~a8ff~^1$^b3Yv#X^SkJB0wiko?=x#Ykp-Ev1)G@f%LNFg%V6xc% z@V;|7P~B02O_EPEYq5P-0IV+mQj|Ya2ZU+Hab$XhBTeGLa|I-(K{nIeS)?<`1L4Wo z`oBp2z4?rV$!R!u|timXw#G~8A;!_dHt zBo|5p5@WC$CaB!!l8##I*I;yaR>js}>buF%zCK)4jA2#a2=mu?B=#KXkd#?FI>iKrXX!d%@$z=* z_#YoQDRuzm2^(#^G$7Gc;>6>x^fn%>sQjK-P)=Uc-6}Fh16abE)shGWXZSpFt}rtz z@g`b?f{31S^Wq%(#ZE2#iny?Qx*u>EVDcHDS42>51=0P|GnmhNufxC2 z3v`vJ`Meu*&D9e8f^;QqpA=yeRdfmOz1&VjmHD}3VxbMlOfmT(@z(Vem=UlD(bQ)6ZSPHgHVaFXzK_c3yS*-O{}xA# z2tK?z28L++A2%@0@J1+-IegJlHNs;4=#pQlsMQs{M~dvKsb{lqRqfP4kz#9A0PZr1 z9e+H;RPy3yhJ3`d8Wv$2!0!0$8fqi8&$$2S8|{+mE*g z@zoinHEisQKDT8s9~`;eVm`ML`hs0!rUdY+hz}qqUAeF;7|9!ETPYEUuD-hUUp+lg zw}JoC%jWe>)P*OQReLy`*5QufY_%J7jGhCxD8d_H{@%iLxhO=1V|+pGw3<`YyHjixFKc$Jgd2l3}*f z)6tZu4d0gFMGB_WjYlv9+G=~-r(HWB6WXZD1(`EBxnUEeZg7AH@h;1P6Mn~y)%1}` z69M**aQ6saU1_b3LO*u}0qT0LLLlxoctiMCLc6=N(%4ggs zzikB74s}XiZ}VGOSH*Kej1~qvhuOevQhx<0tfM*lR>0fBx`i?Yu3iCfNOtn!`z;LI z>1r0a+R*{N+XpZ}0WJP#9NFq6gGh|ZTFQ1B4&CcoDS3R60$a;#Gf+^C)?S$?8d$pi z-5M=;lXJa)ozM&7@XC+>r9I92o9wSf?`~k_occwpyL~zCs_}60=#oo1vTnO~s5uAjhDyN5E`cCTlockU|V56Eq@V z35$vsi^gyc9JjCDayCn_$ZIvfEm^^0Ga?`$0K8jJh8}a6eO=aHnt(;(jqo>4Wp9usH z;x7f$tP6GRyWJV?quG-a^L!Wzv-!JF_+Q94wNxV~#4v(2j{Y~sl=d-x{-Xp)~_w$8UHg<3F~U5R-bV-Fv&z)}l`6ExVl*hY!DTSD--r>Z*Vt^k*eI z&${JT>erD=CI3b!J#3ZOJ0Ui$g~(6vGsm??6ahzS#|Qjylxe_?Qp=ejFu$}E7Ix<= z*vOBaJIk{jvVW*~;~%rPVI4_7j2{4;rhaTdj8sVv?d7gZ&9J@bXDk?SNfwy30LInL5GqWtb9V zd5$qUEoV)dZG`Ny_JNr!!)s2#1*$U=7Qv!Q7ou5)I^_u)7w{{v_ALiQm_ru_Q=scI zQCB^&UzCe2T`@ItY}a#K9`Urint5O`q85z9443sY;hXP<#j>*G1^`L`f^RS<4s2iv zKZ%uL4(t1$G?!vZ?|loSc+-cMNrMnCi^bt+-Wn6DL%Jr^JmyM5O!_Ft3?}P)0Ps=c z6;T0CZ32>%c=kgJ<04kDu(9|sRw)HRiUlr}R+tWz4v^q?m+5raFqE-_@=AHB%V~Q+t%*&Bu5dRa8 z=-f#`KP=@N(=>A=XHM9_Y6FGJPSangZ0qVh!cg%mhLe|C0km;2*4hR!q2=ctrMFUN`&`+E2l5q7jq zRH(Z$61tDUm^UJnCoR)08@5kPp+Vd91&CV@PAy?f4@LgIOxpau@;)y%I>&aP{eu ze(Act&z*zWdC;fi>|Qguxvfny?mm9IJpE1cR>gZU6WQ$(C;u^a#Fl`}PkEKB0t3C@ zVHYSNTW|v)@dvI)oezAng36n$eS8m9`c1@`7|_*#>k-}9G0q+#c8ASM?*YTxNQaz+ zz#w@mE6~zBV@sUm^G}bIUXe7LBSwkKDDCF_LXx?uv|aRd;OmyPbD+^*Q*4wPZDQ&I zTx1EpI5ofPi6CeGyxU?SliB+3k|Ceh`h*SFqNNQpoc4NA-u~7%G1z=2xlG=kl$>Kl z-=7EviOpHLkX<-nQ4Sxpz&Twx7n9X1rW}nU3Gx%(nA0J^S8WjqUW00E$VC6ANE|u# zc3}pP?-G`ZJA@6$_XZ!kPw;@LwO zmn}8c1A_Ye&65`cwX_VB)8E)l;4~tU5rF;|%jh93rNrn_6&}DfZ;ConlOuJHY)l^b zE-{8Tnp=RRHWqxqLsKhRUZc0*HGxlVy@vSZdvQIC6dTTr^QODyrkPPa8!#=dk;BoK zE1b%TVPK7Ca~BEz%P=X%L{Mq%lq_dj(zm*1j43~wIVPbBRmMH~apz$wDd?;}yvIEN?C14i z;-V@j?H2sqw(I9*B5NtluW1i<;f{k{BU%NiyqItez4B%Yb2U4t>+{t3hvB~6MW2@xqY zb05OqBRC6WhxVULO2W^!v$!MM?Mzi4oz?umb+(w3zRQ{~ihkj|tY;lPa|a`M#1_qs zl!Z8yzpV$4_hOtu_au!4Iq0=&>}fUZX)mV6K!kEDu43}gC_uEnak7EV%x!#1e5956 zqp*Fx95_jn(sku`W+d9zEy@HdmAJnA4vm`oZt^|lv`pR5QL30Zu;qXPp3I^63WgHuq4}E~B zMArc8K9T_`LkMr%CF6A6!6!AGP~=hDhN5Gp(dx=xZ^lYQbtw85b36I0eC&cqp5)GY zhK9FmO{{oaj-3mRTrpoJEn-Y_M;@#Xno~HQ1H7?l>hG*(Lvg*-@6D)#BG;(q4ZjKT#}uMmiIP4eK5@podPrC zw@{T%^SMXtCTvk}*Mc%{_hMYiy8j`PaCfEz5UlymgwFTWXR98g&PuTS^x-CckJodd z_MZMWyxwlvVoCJw?e>+D2b#e9F+eCMZgWo=d8MS1XSR~Zr4(;-7tZhfg%c{#!UGlj z&0l%9@_ha~Ajn7o^-tb$GJESZqiC#r#Ld8r(-R&R{wM6!hKLBpVosF_LEGx;tBuCM z)<7aq;=Zk%jtlLq9gK!ro8@dF&oXtn9ZT&j)fP{&vrRR;-HdIRb~i*fnp!YZH>u)> z&ESFLuWfB>REJgEnX06e^^3R)zQUqPu*N8#t2-n3fS=|r()A00*ku?Sn=eAZ@!_rj zrp0=--~-CL4^ils^kMM-MkkM<=(p?obwfi`KTw zIoxZn2UWxLMY=}7Si>cd4ssp*MVdE77ccTp@NhPP+}`djnA3<&ZH`1A=$-~^p-hn# zYPQk9>%EB+rh?I2)|Ddkt`{G57(_S;&OPlAjS#<> zHA!5cznVKSpMzMfgBq$+)h&3^Ax;~rr8w+gcVTm^ZCEtbvNW~51@!cB)Co>=y3wLd zsbxOu@Q)~Xlrn>=4Tlwt*9Znv*uh(QX7ImbCSKh`V+YtrWhTM{+>tZF65wL!zW>Ui znVm)fd}U%5|4sQqaE#4f)NWrj^+i#BrHAgI+5ECrC0i-*z#4&Z&gPyWtvr7koU0{T z(sI5rt2>jB+-qjrF=QsU;OL-s+fIxXca7rZ4^65m2$?KNVGuGV*2e>&V7sZucRxlE zf6n)x%G0Cc8G8YSgN&G}NF!!wMmQdw_68K=bg0*=0m|vA)~LjyK8G!P5J@d;iZuNY zrB&-5+q>~(dYg5p`o)0{F~eDq?2OsnXuK+Xp_rCFYmD7b{%d)N(xsr_+l|N$N=Alk zfTdL2Zd7JzfSt6l&?Qs;dYd?qg`=M6u{>|95GzL9f#o}e$onsxP_nN0G%2_&(r!~) zS$hADLqgU1)E+h@9d}@9O%;_=;m9?r$)!^tHXn94R*QmK`>E>8MPa&Meh_#1yss5S zO+C5M>*3|*nSF`(KVM(phb1LJdp=)(KzoS4F-tG<^}dJd7WcQ`MxE`I?&jg)Yj^W; zdI48v+jW=*aOxg1?m4FL|GjedaB=q7x8&&c@^<*sGkL#7b3fnSoD9T)i`6pD!}I*9 zdft8dethmcFuFc{u=^E`)xpuhT_5?CjM>TQ3#ak(AC37HkClPb|9RgZ9h^)hwbjMN z=_*d`eGBU9c7I2BPL=eQp#LUZ&9-f*x{)HqtRbnq=DolAl zw6s6ndj|FsB6}fl()`Xh%;$;LY9SnO-C=8&=415m!0+mw6iwU=J8aDpO%NMgEIdCwZtdu(d9wU?WOV4wY*id3 zn1+0vzz+ZJapI`JZ+LKG&J0PO7FnJa_kIjjyYF%(@i#6JdG$UK{p_$Gxb3Yk_&O$O zb?U)Apj$(&`5X7Nr3(S_(UdZHq2?MQoV#+8S4Bq#D}68DBM`UFlh8Mfh;hE*Fal`W zBNh*02boU>LRVmWij=5lu<&_dog#}eY`hh=oo$(DpJ=j%pX2O%NWC*Dil-@0mK zE8Og)T1fT{)E%RMM}cNc#OoNy5=0Ffv%{bcZWGj;hlrWU#1JgV%fAv+Y6-h4j6L8I z@c`38?cmzlIUM#1kQ=gcE?Ve;o(23a#a4H#+Jv2^(sp3al~A8o9`W(c}J9(fXIZU&FJ6vJvFl7oi!| za>sfvTb(P6BEMY(C%~m!P<5V_gRRjVE5*CGt?uIF=U=cxxNw&ZmrSP;Zn_27iL8LC zf~@RuK)!uVQY=iZ*uH>{{WkHKsQ=%(S$v&Xes_15*htkmRK1tDuqtrrYMw`JU^b_a z)rvnW7n{ESxA3NHU9AojqSZC5IQppM-TG|!N+=mtfyqiVYQAXtDNgdr%@-xUY;Y2& z$_k`;^Fub&GAU{aZ11Ggin2HdLQyqFI1-SJTzM&Z3D~P~cQ+U+SydtsDfkI?iltE% zN#*>kR4E`>eaG4+%_W_30MO`SB=tv7Cch4@q1BN-w6vrxj57*APu5aVHh7p=^R@YW zux~@kvI^!52CjRmxl~2oP~%{MFKibIn{KKsg^8?Ko>*J)alnoBT`pmO6vY8zj&QDYj|ikFup9b$gGHGzZ@8@V z7%PCp7pZ9wC3s_ceul<5VCvsIRlhM*GMfof;Yk7&SO&H(Bk6@W6T3m$JVxjsrL)(# zd#1Wk{;Efbn$;Zawdq2=0(XDU&4R+tn(ffR_*ka0NV2GR(D~EHQ^3Y!Ww)v3nWi%z zg+E?3edYCS6je)^#EWytgw4}OJga#0*20!OX9(bY0ZXGBz?B38<7K+?>VQS>PfpKo zAAYBnv-_7D7#xAOg2>i=D^9&#K26(jvv`dR1m)pUn<6hOA|;YeJE{w#{0hz;FN577w41|YM(HF)nL`$>DF3&ux7kA z)@n3-EsnO0B$VS_0f+kfdK{9;u*F}5K_(TWd2N<96t^abn65f#v zn7+i(4IMKMo!Fd<2x%Y;Y@k{kYBz~PAF>mMckX2fSZG8hxoT0m6+7c1>yBRSE;A4o zwo@?4;!p=7UVf+_V%h|1q@P7kE(Jkv|ngptBC08FJTtLPHJ~kO{R|Cpf<`&$`$K{gn4aVEpx_fPK=j zt+}KNx&hal0e93czMY~^$iMhG&k1R2aen*@-iXOYqVU0Dh!BXz&dUvl#U4nU#-|OK3o+CEv)W;2LPPC zkw)|bO7g69*WMj8!Fhry4g7%4Q} z8C57NkEB8Y`~9_|SSz}~J8T(dATy ze-(Cm|Jjnr_r`IWsEF= z7-fFOj?Een{hn$H#*mP1ht!5!3jrV_QI#;S!#>nvD_rAQ*|b@e>by=yY<8?i#jY?k zN4oBdvPJYYmxgq`DqJTp1Qx`Bpz!)z;O55%bZbes&J=?s2aaLppW0&B^g+Lc1+iMA^ei+6cPX(ZfGvh-~+Zyxb_ox(JFyK|58?Iayd;jJg0dv?IS z^b81wi17*-@Gg1-Ndq|E0=*Yp3&lW>a5MA$uqfJ|CL4b2yVkpcY0>cvDwMgkLc9PQ60Y(d7KKaO2O+K*8n z6gUGXq|p8GsGeput5b7nx-Xz=_`qH9=(nyQ=^_>Crpd4?G z=ZfGzG=ce#I3@*(-$BQ~UMaK3$1r`PDd>QNYg6oR-_{RfJiDheI&&Llj4K7Qs46f}(D8S;rVBVu0 z*#5Dd2~CZwB6nTvRHPv=4^hSW-pa5TvXIb@)@>pE8BhcNFP`-TssaB!ii}h(d;@vQ z=Z$USF<||9!2XyX?H+)`_YJD>TeB01vOc7CCRQmO<=9i-bMBkkXe$B{QvcI^!|1wb zvwAp5LHfwCp9JRcXniw4Q&%Bad(+Y+A-lDKq5@zxSU|hx2>z zfQ7CUSNo{nTzfF0^iz%wH^tLYyPR!yOCZ8a@l}I#g=*7^_WuDqK*PT@W<#eiI{-zX z_UuWk74jCK+H`zy`4GgZ#w(k;1gBn#j=#qM&;wsAx{bL z@P8b>yolCoz>(_0+Q5GCH^va6)xzBwIO>irNe9(wnBE5iRLMs4z-$E&y*YU6{yD3) zTqnv+5Zeas+2??IX!W)vk4MDdU17?<19Jza^5cw4!gNf%1aXv3GqKbRiF76OtrwDHTdo;gw-Klc< z+i_Lk1^@wMfSGVK#0GkPkxksuIB{KkdFBZ7<-u{bp8*h&fPmRIyKM=kzn{I>Z6CdT zeFD(O-S(@)AKt;kXS>>$>Y>tK5y7v2Ew5MsEl+5!pkw@?^hG}|7ljsuEv$u#I~~_t ze}lP}-%$_V#*Kbk3;}{z6{M7)_dgyN?o35_g03{!re#(x9eZ^@wTHu;i?rRKhVb3c z?ZAA#=sg=`ojSlN2rJd69=Q7n&L3|2=NvZMIT=Oh17Xv~IU?ctLpiTr;nQ}z&BPRL z0C^fwv^>`HKprUNYIU^r`7gyT^51BMVG>O}Bchcz=VFRA^jSx>nHaA~=)7!4ERqn63XWqhj&8oCl{-m91_nb%5FWk6rzlUj?Zs zx{@}S3_qqp7Mw4M@$fcwyalA|))aN*BS%mtz|gQJ9K%ghp74T(>_o=`%*N!-Mqbt# zU1&BIE33#rZM~O${_F7H|M4H&6L+%Y+kfG*|M(A8k9r#bCJ5PP3Dx(mG+h-@ow%nC zTJ}32^G~CXQ16dTZU04^0)Z99snL~NevBClQUO9Tich)p439VHZicJ?n^xW3`{P?D z1-=p?A^2ok-jledw{|!eqP*=)VYVh6Du;)?g{1LPKuiKr*8r2H3;$|NLt=J<36S*azdcL80D*|0^Z)b1ZBxV;s9lZ6gkP{X?xj@lSCUx|) zJ9PgW?`B-z=RdjshWg_Qeuy+Mjo-?&e=Kf4=7<_~qxN$IHV?Nx2vOIW5|xU$!srE! zpmGC$Ld}ZXz25qGP2x=jPq;8C0RzsJyvB2?g#ovkjSi1=e=8^AFrcIH7ax_vg`M zne#pb+EZS9WWP3Fjr~mECKwSE%tN~7$TG@)cP&GA7Wk06gyct>#me!!WImx-_**;| zq=a4|la=$d&vUnR0AwdsF78WPWks+hw6rB!Bfg(!NhV3FH^&6BfaGryLR`fsdYvizB>I^!^knn~2 zaEcpy-%ZJ|noS^fX!k!~ecc^MY4;&22vgsU!|%2RGerpgmcLR zFmRqh2+`Tq!}GcGxr0r$+<_N>C8woQqMRtxL>ukaV*aqFF^=sdyx;u*;oUkNcx|U= zI4ftpUDs^>D+El3*Kj(wgE^$sD{h7+Zg@TOg5!-RKHblDp)Phv+SRq=RfUK!Ehevv zhgrVgOBh1*S+eZ1=KGcfcyUuJ=~+n&f0=&vI~0!!}x}s`FcP51H>F_ zbNYhrXoI?N4bzpq2r3(IP#GUxT})_-8C_}P5rk^KVCT=mUFW%6YWBG132SpUEk5fU zS>B=+b(8x*X8k+5rDV1KeWGp&X_ILVn^=B8p8uNiut>YBym{ zs_^@nc*7@$2Vn=HM|JwxhIm4WuDXLJpxEqvt?Y+BO*`Alt}TR28s4DZ-4FfjU!1&W z|64=M8`SzNsh%ykv_X+zbra-pS>ELexI*@DiLiGYFl(OYBy6K{BN9S~{P+JvR2n6=#0SPQ ztXaXx%2ZB1`^Y-dxKRoXHMZG}QI`4-Gp_;jt%8_O^`mCY*BVN7@Tm{UARaokzz4{8 z05}xQ0&ID+(`4{{Xg7AOBl#*kP_!7#&>^ZJ(#f}4Xoi?A8KMom7fvhM{T14SoUv37 z6yl^N^3z~neCj}8BPK{-fFAAHAVT6)K-FUOHbewT0X&{S=*)T)A{mZx&_p}B-ZCu| zRf)!K4GXXk0~_gEJ@8PRS<}4sj(or#&-eYhH)!PUTvzfTN>yRQ6os;@eoRPpD;75WvI zI-Z$2!uOpHafVVe@Hk9Q$WjDo*p8WqXPB>1=x0B(diPUEf9Vq0iFCZS=p2-=r~M{-KJl>kp9oEljM>nEP| z#7%vl7ccud>tr*YwT}DC%=>^afBW4-^k?c~b}}J}I%!4|NSS58cU~exyN8AtWP!Q&0lCQ-s{CJm*f;BQJRG;Mf++{Egg_x$NQZz}*9_}E?)*O*-7vIz4HAxK(GzDmJf1`uwu<-*|WO z5dQzXIiDvtXUwqU5H=^2COT=Dnk|^?oEa!yD7hK{=_0P)90W%%6O0|Me=+kL!3b0G-39>$Y7_cuqzBv3|G>V6TA&~Vvq|gH|K~0eY#=cVpd29K8r3Oe>W9|3~AjA-N0@~1~)pp)y9S(sT(ST3E zDKv-)c=Z7rUW_@>eK<*^A;d7FQs;m@2CzoaHloZXv+62Xx{iF#v9(IDzPO-@wx!ka zUT%)ks1gbgZK4cdml-jvupfZ~S_Q9Ef%?n@JQHe!-$;wO_y}6evKoRo2w5`y`!?r@ zgB6(Kzi23(=J#09ekNaLUw3!9c~V=c%SMD}umQUU1pG26^$wyc zI>wgECN62+Z60-Lf)#tR}Fd1P}egrKkp(aEkgcSbz$fC0i7`s=42lo+I ztgzq~gjMMw#nJnLlUXo+3Y>#kDE6UI=zLMmF7Q*t2FLa~-iu&pXfUc|J&g#Y@wTd2 z4#8#!7#Em#AT>fk5wP~$u}#f%_Bw_uz_^Gsl^n#PGR6>ZQHsJlk((*mxHNH~>WVQ{ z0y%x-#Zl zHT-lKe$s}B?30^FEO(Sn*Dn3lyBqyl0Z$2tYAr%FpDm};K+ooS0;qui#}7SLx*24C z<=vMc3BxCB>mq`nLmufz=z&5Xh|!3GL8HDB*XRzad0Q^r+9DMh(;R@UHFl6V-U&5f ztR1QOR2rD+<|nzE#)}(;YeFX&E{shnD}ierT-+U3R{;TePLI-=NBiZj=}DBYn*C=yk*9j z?DS-CpY5E5Mtkfk7ScYhl)BoS=_{{H#|bu89~)n#Mn#U6O*E%tV19Hq8-Uo?HHi!O zgmkRo165FkX*YEHNK*3R4n4FmQWITk+()``#yO{X(54JI!k^31|LYdsHh;Rtq-{VWu4H;aFp^l323y64%Mq2B6DA&D;T)caIy^}TF zdj(nLXhZo!hr7`Vww7)x$w~xkz*wentb&j4@GURWN=ybxk%(+B+QHehuY1_IK5;GJ zY7J~FqX9s*NI+FPc-Ec=G*043OQXT+oa|@sKhP_+#lOb(J+-z7MbHCe^{*O{whukb z5iJQ^MK7>onVvI`R<~=Dz30>*C+NG#I#o=wTBjjON4dySO+uNUF&0K(JCjb-M=ACt z_)oJGCuVAhnA361BuCq#*2j<>->zDdElTY|`M~G^tT107TxT{*liw0SyZ|PRloKMN zEF{hcc(KY1htnXlBf>GnaRH}V*JF>+NEx4$R0Cd0v(CVA9d=8`yiOP8IqEk36|A+r z)pTpqNmM&)E&m*70&1!NU|5Jxi7{LwcU+IT>$WyQaEO*g(YPB`E?Nt$9kQ>$u?Ban zt18jhmJ)}%Ln&mAyGP~x<`bCV$8`N=7^7;i=6RhX@Igx`z=ybT&_Y>_*|O zP5e&T$+fu=d`l}v*|}{DuPZt9w0Co(cZd&L!`cfof1tqd@42_0QF8y?j1{OGR>W9c{!I4B&A5iQ&EOYy zpV;#y+?Rr-r3dz`Gd0Q_uGnKb-yXr%3g_L!(&*e+aKQMFl&WXdYD5YAJiC-y5cyaM zhE!i?qx+D#OI^!_PZk)eYGic$R)%4QCvTpAXiL}P3nP)z&K zlR*%SX`eeGMp8)JfS5c0x4@qOz->H0q30UrPca8nq#z` zA9K#sah@~!0s+loLSO;`M3x`?t`2x^HBhzhL_(CoQH;jn8_Kdsb^2JRLEuw6bV6X0 z{;u^S%CUaZ{LE0yBmPU1vVw*ly+~}B_`WaAm6N(zldEk|+*}H9mec}hB=Wm{WN(~$ zo)GdNj6yxO;`!WeOhP*#e^UlIa|S#}xEpSDzo*0POsY|$K@GfGACh69G@QBx$p^F* zq{VeKTV599lWNwvVy?2S;-8o1ciVM)$^J@grV_F`DB)v1eHP909GXqV$wdmeSL8J z4xFh^va`eE!-I41t3IR<#D6(DKF)qRc>7~^;+~zk7iWhDug-CGXnEobT@nV|zssH zdnX&si=3@;(hMb{g&c|!TL|qZqs2#Y{{vYM70Jl%z~E4MhkE=>gJ`OmvO>Eb#1vtB zfw|50P+gh0u24bjBMisEjlckC;@_fjlgH;b-`qzDM(L7>n3c5{LJD68Cf+uoR`@Eg zk%mbrK>-KQD}?SM`51LU+RiQ9ob#N{>V;%&`AAk(%rgP;R@$xq8)t;J1?gVXH+MD2 zf`(w;(42=MCBz^D=X<*IVBjQQSvfGW?}$5&swEDqFp|D}a8a^Y?>Msm>wVS%+o>)5 zzKA5gTEVaP0b?>~ELy-9&)SV8KXhr-Yv^KI<5t=Xs#)91DWC}jWv+(H8J?2F^1cfd zf?j?50e-p)hJj<^P`U1UM!B4l5{rZ*eNVp(!CpAdGb3QZSELzv32(S2dII0JSAt4# z*25taVH-`7(gFGeYfE1>YLHTuvhE1^>V^BrSJdw(E1?1JaS8anPX@n$*ClHR2h^oV zBm|MtFn8V#>JzRqCKk?XO{zv7nv^93ZfbW%j4Cn&mG_cJ(G{eC)*NCK16+eSmYm!w z@;+nZ1$4G62^+ik7o)H6cZ^(vzfu*opxHbUjOsT94{616vwI!->uK^HcD_C?Z;uf) z!&>*+_u2$bj+0;-ClUAd!cgyDRm02p)_g6p^wIl$+rBCpMb_31 zm~!N$-*+{$Z9LsEb#72qEzzy1Q!8a&+R)dUT5W*@P1NgaSjcpJzGJCe?Z4x4N_SGt zrq=bxRXvohJ)(YgMUFAK((@229ZXRz@%%q+mTE0W6V=esFrEEBy|-cW$u9r6W^UK6 zZ*pdyzQm`JGJTT`8Wu@x(NvvlHfdaEn?N}YfO%w1D%BMxn5zZxDW1{iQo@cp-lY0U@&weP7G*Lws@#l+>RCvM#J12mL;}n<>#L2JcVx&lqjC3teO+6M#^3N+MP8hnfz5rR0NCV02|?S;OWDBiN#l#)g&+E@C= z;0f77;&~NMMoXjRc&)Ziu0)a7F(4dnbsJwZI38LY`d)FvQz~tCYuGU+q2zKCA%XJ7 zTldXIGrl8;9;Doi5(rUdd0UnXU`$4mH(_lst_JGD2>WSrhDgHLo8{cZ8)^sG6K}W0 zz;*@K(XMR z0WKr!h-<*WGvZexSa=_>^6!#8M*9t3zrK3!90o;>MSJW(7MI6$1Y@@7ML=VR5 zvPmgAtkR)oOID681dt}b?vRDC^iCwI_6)Inu!`1N-5@-SD^=LU1ko%HY@8Tjdiaw^enUewGuO45TCubnZNf?Yv)Q2{!4V6Dsf~;5+2t&H4QWz|aNc7KdegCvcU&4# zq?g=C^FYTJu3R5oGmAEASJF< zGV}w5-hd>4E=<@9e=FEQi9I=uq2f!?SViIaYa3`ak$ zq?1Mk*QjR+%0dN&e~^ztcs0Bgpr}Pv3*hs+>_x_vNYv^r!Ci*f<@DXFhZbU?2q-#G zWT^c1{6p5Kog%#?m?}c{VeyeHF?TOf=(dy5X2rsBK1v1XN9=|{X(N!A8iV`YjV6{P zo2@=tkOaOJ@pwVK?5>ozaehn^&BI`nz z-C=bHPM5{q3{p>)9GRNMJ>eTAaG@)~!)J%`ius-q%})?$BTVrP&=Ke|VBLIgrGzAd zhve^Ymin3_F&}(TQ10-)Vd~flNAYwyL)mFLgJY=T2qg>>&VE={z5W1B z8z78)EMM>2`SXZ+?_K)BwT>#^m##mM4HZEL#F1`stZ&UWFVQMcxItZV0J@#$x2_e& zxnNqN7sGFM|MB8qIUmRaZII@)ROVd}2|d9LXZvAhuB?{;SA_^+;J23*+nd69qn@i) zp425th8|RKkZ|PTlE7g-nN!xVvPj%Ljhp88K2ylE;V!5rr_)?Kw7OH*bH#wQD7}~@ z5Cr=g)-qnY@4+eNnf@6ynrW+2m8_s?ec#GVi`;FCXS`XVC()IYA;Li9d3G>&y0mLgirCR1~;d6tfb(4@n8=VukH4aCZ zxScuqRU?U{Jvbw{^-(4Xkfc%M`(VSl)rcYtdC)WAfk~-zYI-Z(uwDdVkX^(mX(Vp= zt}_VLgCgCv8<}5moNka9={21>h-sJ9SmE>zGRmq$K%&4)AtNp7@eo7*(} zII84CPVKKH){aWXyK=f?K$QXO_8wE-%dlQZeq33SXQedGp$G!*ZU&}b9X}8zuV&ps zlQQAQVt0iQA(VESgRqXoR?_lN#*)&I(*p_cg4Rh1B?)J~4bNyI)Xtmk%g|7iv?UcZmmZ1N|RI@;Z#Edu;zBn^wCy+i`st>HoKb~DoNZ3UfoYP>6$#v?rICKt7r4zP(f`PIh9x%4>U_3tglyDh5-{>{7%O{`MC6Aff zm!yRMi4DW_F6ng0(Y@p{dhPB97;vIRbDVQnjM^uOXbP!s)Z$Tl8M&A?_)$u}(}U^w z^<;EgrQ8lfCmr$1)11@jDmYO-K~qPEo{H8pO~i!;x5T6mTi>R6=0Nl|X|p`RY=cr9 zlLs!ahkDbl05GzmEw8%r%!*ntFmBX@Gen|luaE(F4Mt0JJ0Egx5 zK_DUE>1VD*^eUa@oT;cRXOKTh7&DKo0OnKz7%^mOgxR*BIHmmSA@;jVxr6W>rE`S* zv{cE+B&Ws0Fm{I|-xv)#7kWzCNigdWI8ef(V0>>&R9B;_sKl+y9z^KZrPg>N@CA8s zddqTxpH%RIeYXK#L5Tc`xCI|(lQo`Kx%!EL(F3Iu==GgsjAm1o`~ zxrL!eN1w|AV%yH#G32fSBqmZ-roF%-BP=?A#Rvg2EwSUK1=2U*1NcuHS114qs6Si{ zC_wWC93S{;ut%qL{lx%tU@BqdET$YRCpdHNb^!0?>&b&iI0(+6qlf5Jfd>H?1N~2t z&Bb6p94V|=7!(gQfG%$&v}s#Vgfed~XnP31y!44Zwvx*b--d}*sL!k#%402DP}{Z% zw!+aJTeTp@EtpD8lZV!r3al|F$ii1~6cY^3@#^IA?a9R@q!7D2c=d`?6-d|*wx#!^ z;{IN(*(Q)}YJy^ZAe^89y4E~;p3XO&CzkGgI5`q+OsrAC4!Bv{A%iO>LIUeGW`;v< zSU-kffN*PIp*Tz(VU#5K6h*9CI8m-*xG4&;Xj^FeNM^PIqDrM<1AH2x0taO_9zhVR zX4R6XSJ&4<>ubo!G|)gTVD-mD)jC&Vmw?3#VCL&73w84Bu<2h>D`?aR8u4}tM!c-6 z+%dyWAa+MDfMD^SFMeg%4&(2*6KK$s(gVoM+V`m$Q@$`j&!mj^G#u(skV`*}m*SB` z?pym^2wf9+{U2hFi2dm8`NhHUaf0A^&Z^&^>P=dyM^pZW6m95JjZ68x-d@cfaUOa^ zpUcOm!5)y8+8)z$K9;PXf~EJ#x7QdAYBgw*?xruA6SDfe+iF)WqQV#^`zwX^GMdEV zQ5uVV@Lg-wX8g(HkIL6ZAHILo*k?h}4M$!tlpc4O?Df&Z4vW`D9lUz4eP!M&7%#EmZWE}zs0~sXODlvzi`)4@@Ry3;Yiz3y_A~nz)XI)) zj{OJ04`u;rAooFuM`^l1j4_A=-khca@6}R!_ljymP~?KsOV&O*(`FDhA%6th*?+z9 zRt}4(n@g*qUhe7>sy8J+1S6GZ(u0j!!UziTj*kDP#+&Q=z({3t(>$$`T_%xGR0 ztFamnyWX%bbw=g!9jVpv=w2jP#K(7|Udf~TQM=invMON}U(^SC{eM|kOihpO(TeN* z@tta}%;OpCa>8-0Te%5h*KiQx?cNR!WVqZOU7c||2y3GY|B3Z66G5sONL*IVNAqIx zfSPf8^O47Gz%B{51UeXRY8Zj*BiLA~2tDY-)}gkAoB|NbjmC!2HN?OVBX_fg{wkl8 z_gDz6WZ-cJmI$~sujivmrG$`k>U3xsEtIqMze1)fd!MD&82}nJu%+czq+Gb3D~buT z78dkNmn!E zh}aEM^IBoKjc_^fzqmmYKL!g^J1%B|yIW2c1-J*BjLE=lunz?;@}iu9?F<9&Qh-)j z$IvRDMY(`#$>URR4{jWHEEUN&f-$>#$j+jq;w+YxP~%mJ-hN!xSmyLt4|Ud24_@T} z(95US4~G=6z=8-tP3ar8Z%zUC_Y#0ciDFtL&;>}WaO#smh`~YL)i;1|I=`M5Gbgm< z1Z5%t*1sk)IAfWU-x6fB7WUdNKgJOz0hL_!$defY|Dna7;0v^uFbP%6j{1PY6g$;` zK2}OC6O6o8*RpmxefvSIgp6KCqFeMf)B*9!ErL3z_%2yGC*D`_Nqh0hn~~QDAhb3J zf9*tx6m^|{OHG9+*zheHxkH!;$4;Ehi@VVr>?YIg&m{mYA>$+a*A%}ESVCfy7p zqH;MK1h9tp9}okJz+>2I_qnP-)GZKWByg68xx2IgDHWW-n6{~jaTyMWHu9|pB43Z> zf`JV33%qX(1PZwZ44!b0k+VUfz8{f=jVT#?Rsqec{rKuD_}<&&9b40>MmKo}38lE> zOwVo&t}*%NF8ugTChR3e@xumjCy|IoSK|Y=X7-G@hmEFOr^bx|cUQr7oLn4+*bX23 zml-GaRijL?9GaUFX2FO7!J(d^lqrvLtYJ(LH%92;Z65mIQD{SrjGO|XR2ur`uOIL~{BgptYLhxavk_ob300!wEN9vF zHq*bjgC?^p*8?ZpzHo$wICIV-hwP9BlS8K!?Cs?w;?)hcv|4VmEP6*l?-t$@0Q?K_ zKh^Nb5o%+r29j)xt56ltE_GbGS07-xA@zYlf~&5gj_!}zd!G=1mYe{+-ZcbcJU{D z_8fn{z@OjX&u{VPAMocN@#nwd&p*M>>+9QJ;a~T^4>}T@G#ZCnf*W{0zJj0m;u`+> zSdweQr~ILUf87S5f2zgTh>C;1teGAD2E2DpztMm{kI=#4GkAUBFY`NubX_~9HK*>> zw|@$aTf;{7ZA0|_=BYn!pYra)e@m7nxkgh*E zUf~*mpiauNDZ4WnYWH(D>@8#uoff|=DI?2hA%UY&gOyN|z zonsP14zkpAYu6F-!JVy+8E|d$??=_ysG40lF6H4A?nwFO{qEj3v?1YrSGJ7Z*+7;i zc{@RWI+}jqNy#t6T!IFU6lxtLWAj=d5&)pPZ%0w9Igx#TADLXwPl>s_Mh;I{}M%?h4WtjV2dEzSS z^sy?K<>b!Yq?3T?i^11Tdo{#NuiK|)8uwyu`HU=kwUi}Mqh^nCUKr{|+bJVV|J-;f)V0$Y%O-vt<}CvVp~#>$&TvcA%E9fadqoUDV-Ca$$An1)*J?@dWv{5M zU2!}Ic(*;_YQs*NM#CNsoP5UK>~zJNL&Xa5YnG1(*oikXt&h;0SsBR+LXq0Mungg$ zA_=?SEOqx9-0EYniv5d)@nAq!pCKuFbYV2@C2{xw|J&g>a}>)7UD}?`cr>vS?)j}z z)rJ{F?VGIgZ=JA&=xI}BREI02xbavI>s#ojKNFQ~7^U?K_Zn}r)%1oI(3rUTvPP3h zd9O|j3&1p36DnQMmMu!k&-LNujXaLwzFC9pjbd}~Sp z64so6exE(zu&W^vpValob+Vo0#O)a@q0Hp|4zlPf zkI*L(QbHnAz;++4gz%A4^a!IKhGh{giCzYwME|UhwwWN%DN3?Nex-{r>w%Nq6vfZh z^L|E^86V_q1olLdiK!ythQuCGO&kkot9jAS^0}s9gb)MLBz~&ykf6OOvSz*iBJ6!*9Ro+W@bDZXI5KiyoX=J`Mp?5Hl zNip?NV~#b#Wy=~MV*XxzD%HqAE|nCdn=MF=Fn~icaRu!JWSqUzbrQ2@Hs?3g+p2*_ zwKUIoN32I z$n0!#pmoj;-<|9C(H?b*b~M@LQ`o4KjYB7U&@|iW6Kz}iRFM(+76slm zW1NHIZtbcFTPv}xQ)(l!w%U3>M1Fe~TP||OG!!sm2fnNmQ1YJ7C90c>qf3tHE{#_! zk!-xFMh%0=>%b>Kuo%<88=Pa1@rfa3u5k%x^n#L9_^zxQnOS$V{A;a&&}0P|6PK4S z*`P`*Yg8*1txZ8ykMrp*Li8}Ex|CzPp#4B{>%}*Gz45@WlCMfSIm=*s!+Q*pVmNHj zco3L|1Lxf5Y#sk7mAF~HA3ab9>tu_41SXH-$AfLLg}3u-)YKZH=3|yW{mu+ldHCoo zlG%CBg#t=vPCaN#jx`A2o{v7^uhJmf6Sr#mXH*{&6NX3_9JM7WKRUbZY6BJ7M?R_) z*pj7&QiHvG#UY{Fb(OE)tOLdpFcTqCsOg8Q$7;RUQ)M!|{~M*3)|A0xxsT{8a_qcW zE9XvH=aCpa1+b;q(0o{OVYEjBkW1u4P=F389s%m?;4 z!+sE@Mqy4q=W~qSB+0$+K~6x=yIj>%PzdNm)?aCfypM>Y{RefLj-WS8kh1v_WI<|M zS7YKEZRkT-kHJWhYpf|>bG?bmSt-^QGtV1KiBMZF_d^g`ek+XBiP)E_sZzyp)oYbk zi4O6v$->dQMCm#L&6cmdP1ayhW?^anW{@?#VMx3U4cUq)p~;s}Cs{V5rlF0xS;u4A z+T$2XVc8m3GciHwk}<~877X6Sy{*G9gYHJJqtY=x(-sZhMdcFc&5)GB*HP&tLerM7 ze~_pl264s}1n=Y74$-5*WSdv*)Xiv*I>|@CVYvr-@?lV-N(9D09%g%FIT>q?meofc z)lb|U!T!}C6Ztw}OmpO_3H*T# z>2(FMEfC~CAJ@Y3J;**6VT>+=F#G z2zQH2pj(Z?y0Jz*QWMK6Pe0+J^$du?W(kXf9eR-7yl|Z{nM&9wUU~HkD#s)_bc!$L+0kwb^n4c?K z7EoyO{4=O)bwRie0)4#= zj3BNvKER?CWT{q(BS~@k*xKqR(Z?wOo8}CoCWEqoEw30QJ|8Py)wP0glil8wETW>l zm3V?E0Ks8<_$osksn1+j4mhom$5>@8`~PA z5n-yIG>FK4At9MWksw=^H^fjs zpbhqb&TV8VDXSS8kyvhx0AxjlxIf=kKk(P7F?z;jr^x}W$$QCnv#$6f3e^KdniDOF zfNOWm*!yb;&rF}isd*4ucsG3kITG8qE>yxuLT~M2Me?B}rKRS8aZ9fI8mMI1_M3a6cXi_5ihP4j*iRUp;uGB=FQ7}{` zo>qLs>PwsmHY#$e$T+Ybgux}p&P0H@_7?~7G?D7o2A*5FMMA&0_$$Bc7Ig^j749VA zIPk(dP*?m^lFm1Q!;F?2;n^>>*w3}yK>%(~$WOv)Ms;*PKOg?_StC?5>SB3Sm0+|@ z^euYz)b7=*>3sf^`){Z}u&?cCB+Wt3>{r-Y)IxK~=tIE^)wzJ|yDZTcx7`z;e(z>B z)qy8$U0eGXY+oW?@7W|7y(zz7#i^xH`1c_hw@k8(>P+%(;C^qCXbmSX0Xh{IioqCe zBy)LTT&ts|+}ubjRxFSTe>(X2(A5O)eYwW4q0_pAvBe$cz?H~!n-=zYf(EQi((?>B zV>OURJ3Mjxq&WoINnuaqY;OXSZ+tfTQ3%$&nW)U5?4oxh32Xy7J(8YCqII(hDOPe5 zuPmBB_zuz=5OWnBJg@m>$9xG#j41=3#oMA`U8Djia`g7)$(z&T!;3?iu$7w-9rbib zuqir{Pd3<(*%No9nL-=F{91L-+mJ+tgy$QTs6+-sNtTkF&>Ytq5_4WEWJ2&R(%-YO zkMH`iXv+(-3h3Vt;Z>fZP+3`1MJKEy40MoMz_2}DH@&}Fctp|#7Jf# z<>5zswA|(BKg=IKBQ1F#8EqelrT`oOBOWOkBYu=7r_s?E#5E=*G;XcV^$*3 zg|GAwiE8)D6qB4uqE#F0Al)U|==Hj)a=u_{u?$WN03x)R0Ni6Jf@3{uAT|UKaBgjhn-@23~_3b4Yyj4m_XZ~cDR2O{u8T# zIn`H{B?%KhAv1pX-nL6CqsMWM6u?l9) zrJx)5nzA@oZDCDnaeVOUF)r7B2A=8iH@J?=?|jmNX^Nyti@X3QOz5QBW55_n{rKD10o8YpD-iD{0lvpDRy9me4F@DFRq!U}r+Ro9CYU6dMn0>eE~FS1qk2tT1Ot3%TSLZ0<5650 zE3m7KFAMmluPOmQmxda$rV)t0-)c51Vu~KkV2w3cK5F)L)~^#Y?wBbEw>3o}R&b-n0eRn zdEqethD45%wjo)2)Y(LpgkFy8yBZLgXfj5Ug;qNr&au%wksCzRjTn+?!n8lOPre7q zhC;yBO)u-R&}>0~RWlx)yi#R{a3rm6_?ROoCss;y#C#_+<#2a{@#B?r!l zI4zmgSG}JZ->f0B~n+EsUCHNmWc?cj}C51WJYW4D46^*H~0iLFQ>*2nu#AwwR@KwBm zR&vnI;bMVZ9}>?_Xh@*`gx*ToTH4$$WWxldgSN23;_Ixt zCUy%P6|^7?uta+40gPLzq$Zp?yS=4%7n$5Rs;nBl83=n{&Of2(&KMEMP7Ld}kbt6K ziJRsN{0^ndV(}mVG!*>D0FY^uvZbgXj%LZJcOHais33QmH#>`$adInzdks>xcu?x;-_~%T%H}i zK07=BTtK70{|US=htI!lzdbp7b8uXL`G?)z;jTMj-1NA0S%Mt()5*KD<9|%10I88Ybdjhcx*plM=?{1=3^kmB1+V|wVc5r4c{>j zVqYQ&Y9erU^pUtd7(l^ns8-XCl5IpKbR)IWI|-jRW#ht^xC;KHlmuL-aj}?HdpkSx(LK1Yd|Y0^qA*H*=q_~R08BI?fiT2Of&YvhA)_dN zqTK|*HR!mOR|vfZe{m9b-gkhuFm&!VpUeBtDD>_xC-{&1;d-q(LavrKl{;tmx1T|Z z-!Xh|YdtzW#OIFnjGq%26^jhAOOP+zOBn3ka*Em(iSdM=KyUGv;n;#EEWR z!W*uMp1`;5Kz|sU+-WoUz=OE4908{Eg+Y?1I?DMbZrQNSaZwsgDCj1tZyVQoySLab z1=|r8f26TV$+sh-WAA;rahyX0_2lSc+MruUjxF7W|v^ zS&Zb2*e|PTDD1lvv?cj}HP;?&Z)CXROJo>+(oSVt{h!F|>=Vy3q`!K1qhDe7xX0h_ zYB8$)Y)JvURk-qgwo~?%DDE(Kv|Do;mQ*0@sqrPyn1FDmtvK(p*^-zw&*R3xZYHx5 zV&ga|f(FE=e;2X6T@HS_yt{jlAX~zE5z7bB+uJRl>^GeYk&aWAXW~Syc3OwCB`869 z{OLgY(I1ern?$;?zE@#e%uLZJgwKv87x#)EQDPFjXg%ZT=0n*|5nLAY(Tx)c(4nU$ zHh??e64^&PnItBdTpS`LaPINy&Si0ngyX(tm!y&3w;hznUQH|(Qjl>hfF;Z&`XIHylTnajrkl{DTo;A4LB&v z84^S1EfE*$6a}QpoSL5H#JypZYB=AVxI!$G3LU@}kw~GYeyR~&OT_Jq^Er$tPKk+* zg)X}>U&uYfcb@yx-YYU9>ZMs|Qkju++8kY-s|vss)kjbb&6&YxfsTCY&@LXt9P@?{ zHXG8=wX741-Bee`F)mp>+iH=H?s=v=%y)OP^5(`*8gpGL=mI%Qv@D3KwaD)VoDrdp zMWN>$m1o3`ennZ#%^?H^}9@w;>n+d#>P@I*8z7ipt?gmP>Gh zW@-~BLn|fgYYr%pvhEyDurtTQh1Qz-0e%S(oELBMDifIoc;qnL7Btgy^%Id-qx?>V zdjvHI?igyJ=yK8g(OCLa6ZSC&R$hjEKvsOEpu2p!q;Dms4yoRdj6mbI6F9`;rzRyv zc#|OCvVsw z{no17yg*uAx<{Y|Jh`-LcJTYls93x%=RsLiYepGD35RH+7r7mO4c^iMvN~zlR{!e@VzM+HxFguy$Y5Zn(vi zY)-7sZ!lQ^=9I8HDUyjfeu(GAQAcYh&~Z?t-*|QM7spN>ykh0Pj6SLTV54@TGFD?W zRF+h7#1?Y-IHf2dBX%@FU#UF9t?%sD zzoJE_Tl5w@m{AJ}J6}#VX4EQ-L>)7l9$ZLSy{Mw9xShIfO6NY_qNIqdC1I;M5EBfp8^6wI$8Hm4aSASmRp^qaUyfhV1!fIvSW^W9Su9WuKfhG(o4W8tf_+C! zT{=DcaO;W7`-5xgySsQ0iqG7khgTe@j>Wn`pCRS z7BU+c#KTV!oSu4I!c}<;%nKZCR~$xkIb9T!z(4>D7@xk0+2Brg6IzMHy@gOU2)+ZX zAOm(u&qF6KwB68dD|uN)V42#b2o2sYNAr+txdxnA2B#e&6_-d*VvIs# z=gkexpIS;-ETPz~*Lm?-l(OW$MTd7XQnVB4d|(irzk~CG(?AqN$_Abc61?U#O;~JauHBf^nWw_$2rOALtk!Vt+EM)BO&)|G=v*37U89uAF5}e5<#M{7lwE{BX{32lF z3vGPK{#m$Bd?0A$38v1THNOE9J3ruuO!%h_yMWV=@W>@azAF9HDOM-8tBm&`&K|YqkBWRoE?XjBI?0fyXuB83i^?B8F ztk@WYsGxuok?g;n#DcQQ+alJP#$wIzDw?Fr{s(_f?T3dAMxVF*y<2q*Iw0Kr`Q^#$ z*R(4kl18*4w}GmXJP)62I!mx0ZATunxt@ocD-b7PMx2_J z?%cX!FN&o6;O!wBu@xlz)wMtV*ln)myL$8CksKc{X2|awtNoDXmIHLDgv0(V4xZ$B z(L894s0dfrh)`dEE4q>OinLe(XBi-;8QCC9+1%v!2?=oHCB_Z0fP9Lo=RwsQqAmh; zK%#H39i$djwSkJQLhK3z+_+N5NMs0Sjxn7Y;O9$i7GLJn|MiHRLiZ5jlbOR0;ahapJbbkbtjix}mbr13g1TQAXIeZ}cw z1h3bmZVKUJNy|#(2Lu}fOqr;p=rxl|m4cP2e$q&K19pKDRc4%MGO7Xy1c6|nR{)L< zLys4PjU%iWDTk)x31tYaL3OZ33pxtqjf||+%*!HG_tCtfUjTINn!-__{Ree5q(*03 z0VyxpFk+SJOCS6Sd%-|2krD(qy*Lw zYsmqC76JYYSq!tI8_Fs?5F-z(brbNYaP>DrM$xCQ{B&w1LR%Q5DAY z(%csssoQZLJ|leVtz-5qLYfva8p9qAd#Bf+RVL zzUu4t*u==@f@Kp8;2i}zCF~8bs_d!a)!h_?l;GUFMj_EAFhlj+fvZvnVjR;f$QT&Q za)|K_KR&&q_^I?cv)l4kk_RHw{YH~{;bVUKN16M zb_a6b+UryXV(I60Vn0+uw3Z4!-WWT6Od7l6tvcHkOr(YU?hwG4sfw>|& zQacnJnCx$eDB@WL6b$dO#95R+&|HA1Fy-TuCF0*D}TmS!LK4RCugVe3fPEX9f2cx{`&Wu6n%ELU-DzW z(G9(RAxd^7wPybnRwiIC@L7Bp(rSdo ztcpEe5yz&&LFS?u=eXQ_v2dbHky|9+Ii$oRLJZ8=Ad|XRXspxr)S!a%wy>bD9b5_9EJ5D zI4Gr2MdQ%|6nYC#{jm3}O?Z;5G68Eyq;k?v8n>*E26;8A9Ls!zLHV&O3JTUBt}PR& z9eWe%?1xPu{+W5G2Mq})B-SLb{vaJ2Chb1krp;>LxFIa^_!I`s|NDewA@>qFcBCNNmDOgbnf;b11_kGiRV%GoS5=A%#_nM z363D-ocq-=5_o}G$(6#eZhAre7S~flTagr=Xi2|Fwj(BoNC%7#9!V`Q>G9C3e{K`% zu+zf)4#QJGcr!gCG^RBtkiToV?i0z(c-3n>TI`jLCpZmaJjj-e}c^wHJgw z2p+%RrCbM}yGGGyigf>t_B(rhsj@QsQUkuH2k8^L*rscReyqRM7#DUG$Y)Bpe#!?r zND`U2@9O+g@HabeR3%KqK2C$2ZmF*NSa69r^E^X!*({j45aVqZv)=1){qXfYcHX*C zruzB)7k4u_90XGpyZ1iH$?D5I4g%|o__7fsb>L3-x)%-lR8cbp_`Xpi(8|BKIn{5aNBra4>^9BihH5wf! z(A(Ax6mkrFCe`_tnCuW?3Ud^5k@S`N$OD#?Y&f5aS&Tv@JS@A0k&#|SFAvyG&;_E# z`lxBiDUSYm#BfXM__skq8j1pqtNUI4$mzz622aQH364@|1A1w1&}RV z41`hnG47O6R{Cvm)pk{Myhkim9Rz7rmjxL#Blxu^8+1gdkbA;auIfV&MAL1ADTVXp z5s@dOVjF1M`5oNSvNyWv9x5tZs+ImBRkPqqb?;@qXIZjqjKI+i4Eq)NPw%SXO|#Z0 zyGF>f_!zo{=m`Q3@V8ay7F@@+Kq4lS2>TKtC8Ccuf=YyC;0YyiHgQN(u`VLa1OqAB zc&t&g?j+hhz+}2a^fqx{$ zNO7F*N3PAsD2KIBxPhnvz%47EL(BzqZM$_FYl2tIjd%25EJ%tdeq#^_3z^{hcqgJX zrHfk?k-(+~S%VyTw%bSHCMIzk6o;>Lb^w+zZ37?g9o@ww;+=J@zIs6ZO!x+V)2)J7 zZ6-jCght~-2#Hx!wQvK#LXe*lwjI^o7T-ED4?}+hw67JRh6^%y?x4nvm?NJ>200_* zvT8+9UC&VfAvdTymE~P07;q3fwop_QRSVCD#K6o% z`kXSl!|y=*AW^W~XRTtG553Pl@P6iUGwGa z87*XK(Y@aUuM@l*MF%84)NLAf*QlG6dQedWgNps8NKuKw=zlF}ir`CjTAt??*{NNo z$O0Ab%#idkcIR5`Pd4D87{w#S4q|s>Gb8V$S(uwqBMFPv+7;V=r$djXwn}$v|wPM`4UuV;|Os? z&4|8u?LDy1@6VM-nK{UkdeP+mknuX*q%PAx@Ilb!!n8Ysz zC2oN7+6?5i4&#M`a^f7sIydBD^oY?HKCAH^GSJKuV|u0XhU2urHUN&Ev>+UM;BQMx zMg{!&8lEz3czzO|V$Duy*LN`=#dh4u-R>c98VkH5hlri_{p|3sM;Djp?_Rz7+*1v z3@;}fzo4#see4{~h<dEPa8|3-rTX(^n zA6~5BuI=QjcV3W+d_^;_kKCYK{g+4#$yQdS?A~w+&)}MT{qFdiMgKi-V2o1krxOI^Ukak$?H~vt*qNp(nAt1INwhXBL=7$&{PwK0SE(=Yt;) zFJGR#eSLiNGQFb0&}p9709xN%^~KAdR;-}s%P5sjRo>BBV$Sd_NrI)J$l`X?yP)n{ zUvI&f zH&I=zmueFbak2-;#sCUVoz?BKbqkrn+JxB<$qk+2>Wz)5Dl-Y{D$)oIg5oAlLa*wh zDb*NH=V8j_Ent7Z`I^}uJb|cbV~ZCkV?3S>%^qaqNP7<_?FF@Vw%7Rz*EAEnf^kjo z^-~4W4UHXflSy+2#W-6|Ih`dexNeZb2k@xpao3u{Or(7|kb)$b{p>pd!91y#YA*E2 zxc2<9>07D8i|X0g_jQ0Ax-yxd-F`-Jm*OU!${pdNaoSAo{~O0*{E#0h)mw+OmG#vV zaW>Yddbnmh&SrDGoVru1yqzMPcJ4d0$xIXJW0CRcMl@Ypn7-t}jp`ZdU=xWic??HY zdX9av$HZq=ff=_MqH>cho9xZ7&xq`uKbNv`=_-RVuS-s&=9Xn$=K4%MY1 zo>T)OjAu3BK2+b2Hj05s%?hHp8%KIIX47Ch{wdQ}^WNHE_Sy+@O6{1Y-LlC% z1Spr^b|%sj;SKqZoQjy?O|VPtI?$^Lq3#3g2pI~X59;7-G=jcyBVgQe8N?Vy??#N# zHKq8&5{*MLFruwpVptLGh@;xGwZf)WLZ2M>Az3i~+rZra*BczR8!^-r$t_B7*kB)R!=^)kB<#{W} z2Zs3I@?h(VcN2pSMt6koph5i(6!jYdaGTLvP#_6ei(U{4*o-aK$!s<<57FehC3MtU zKZs^R`Hh?&YF-FQ2Lp`0`37P+LQwg%(}BKDyBh?~28;PxjA+MVC?@Daegz=Ru;S_@`uie3-oO)+H$>amp8k_3z#4*tVsujXwn+BaFXcyo^rVq|PDp5?;$x&B@!t z%ZsBohnGih&o2&+k7@99evy*}%Py3kN`gmlLgc_X0YlAmHDZH1r~1liyyDD=$J3+1 z1t6|NqU*%RBiA1CVgg*f8dVw(Xz{TxykB?Qi3892pucUKaEg!=2>IgrHkGZ3)*j7* zSPEL&dzE2*rYQK<7LajJVls-`?nrZLw^K1B`B>Ny$(~$9B&CKMpA#}>1&CB=>O%r# zxY!p)wt(AuRrtv*iL+*jc3XgVg*tP?=C_608(|xxn0B=Es{`46VH~@E7QoTSf@?rS zZVE(FOMrI`!h^MrxcJ=|ev5rdxleBjS>k%l*i_bTFjKFod4ouO9lEE^U+pL_)p^u_ zW1h7hDzCrE2Kap@uH6)IukN*AW9VVj>Dp#`bhtcPx5jXJYn?`9uM3Eu;{qnT59h(( zkpE+a-+$qRb9fyengmq{a15{$F5hAlT%Y2WuxQcvV{9Xe6Yv!(c}uTVR-WxD-qE^r=K-5MyCGXHN4m?Zs!rPDrMtt z9e5<5hrSI%?3k>d61|C1+h3&D;;_L{XXa1pJ9q2{k_c!MZ-0oh+L#A90% z&|)QC-QZK1SjS^@MZe2A{#QZ-X*hHUbXC3;ub77e7l`dlun30zBLv7>L`p8Gp`Bct67g0f;<6YdSyKuSLBjbjiNdP8#b zi$%FZxlkf?jhj28m(USF<}DvQ8WY&V6Sp5JOZ&Nu)Pu6LbEYRyD^Wx^x1t@OzSG$v zU!1^H@XD~|kY2njmx#>*&c*He`DFB9AGt}b{^D-aMLuOPGd#fr8g^9dJ+Dpo{G1v8BWI>^bLt3;x6=)YWiA7#qpLsJ}KoI0a7JMzSm=FR?;&{t{jjV^T1Gu86^wgK%qM8CC;Ws4iZO!=(!YgoWOZCy z@PV+F^iFNItrn#g-_J7W&~3iBEU!RH={eE#Zuq&lUd-KHGtK9>4?~?3rK&!pss9;j zkeXXgmYWw>ONh0y|MWT!v=*t@+KnUgUJGdM;$en4Jm8-m4vGr`C{W%PbfOGjl}itT zYC)MJkN~jE z{K;K0O}u`luSdToUO$)Dm80)zs{R-91^rY7ru!OLcm!a8&b5KslDKwbq$mm-%NPe^6%$p)eWL%0LneDcKCyi`S_K)IqB2r%7NPDx@j~0 z1QD7+Tr3;|LH(f8lCv=i#u2u~cTvPxM&D4rq(n^ruu2`P#`UM?uaT8O?LI71x`+}n zf;wzTNC2!kes$0A7bF6M1nlHz7&k1&*iFWDE+LA_*#mJ?TtzxYNpf0RR;3YD ztS_NlL+PumuJnj&5cgH_=>yAUa3lA{l^Gumyq}0Ya_A#CLEsD7F<)nvkoxUNL}X$6 zQ8MD=WVHqv%~#S-F$|`S6=Ipl;DKD$C`xT4+X96dkt>kZSlGHDWVn^G_)$x_$0!wF61n|cQ3x%G$_J`-tRVaJ?s~$0Kj-}(YQEBjd6rc~?+{4Px%2q}(+^?gldMN)b1baP7(R8wtCQ-9s{(^cLc` zQh8mF4oUG5GS5m;rj?L=l0s6m`X?dkY$)k$An0r?=lBJFs=yO2==$a4VatjbU#!&< zj}&;M$b*dG3aLlVC2?Ow(`JSq4-Kx1|DSXTWUowiV#C@nmOW+ZMv!eq#lfZ-pmDca zgc7(#M80*ztSCkc#9$$8N;N4Vp90x5(Gehm_I{CPqPI$;Um_qez~J23#3hlPI52If zV}0C{Ifc{fkfR4|d4>y}FK=!N;QDR)bHFW#MC`j|p1zboQ{me~xRcGZMiCTXBa`!h zzYW=&b_+2cWc~&0(G2zoc@+rg4A{a7%|vkC&_`%P-gn$#XZw0N2mTdwXxrdhThXs~ z81)RXK>TE!UoCI(x2t?H!e7*3Us=D-_Ab78hCiR<&lmXf8~ph#{`>>}{3HJSSN!>> zPR5||Pk@8~BmO5GlM_mba=^3v5F`M-Z_{-0e!gKfm6<`pPw550BR)NNdRa!&aN1ew9yOJ z&^Y?Q$_Cxf1kp*yF{3gL0c;P+t*Cc|y?28>`7?8!y1_YoP({Er+_#wO;1hy_FlQC) z>T-GekwXZL88*vuDCM)+%pKR@N7kmI^6s!-;tQ+(<`)cwsqC3nISFFKkr3P^t;t-# z!{W`s#nH=yO`fk$( zICBD&VdisQ-p&DFx1VtxKS~|?N&~6KMfS7j&-Rk-`?Akp(7waH6k~sAW;-=?u1|u{ zTrnR-lXSnHt97z*0>gkZsjh#cQmN^?Dy6@$^P#O`JV(|h6cT|ysA>H5%l99I4@a4i zp4)f=ar1a2`fxoqjYbpw)JdnMq=VJfX|WaywXuCaQK`hJQulGiU66l;rAH9M(#AqME6&*w-ia(`!mtX@yxgiT>JzIu$A2d2n zRe`@VP+B=g54Ql47;woCnb}%Rc*d5^G8x-;0)QTVN#5|}uNi(TiA`EK?cs*v{vtms zLOS+QCN4fwo9akdY5EQOG(n=CpdxUHeiQ1Ez4r5Q^uMZhGw*sb8NwDi@mxEbs#eX& z`QgRI(c2%-FVP(nVrHM59d=Z+6Hjhbx$1R70YdkekrFoO3wGh~e;mHNSlt1wFKAw5 z5!1L&-@HNVM{kcVjt-8G{^L+1!oE3p>;5@w?oHT$c89|cAL-lEz)6$8YI+@xL9}xf z2gvD?ykoRrYIf*@a?Y)j4yqoeTn=a40x3SCa>a_|Q&oB@%Bg3O!%5zB1{>zDX#!Kz*RZyj?BI zduG`4$_;Fq+Ju@pk{5lu>@lO(Fk$_*)$R%wwt-K}(4EDeOcEe4rP$EP)ynE;u+D#T zr-ZL-;_TLpR-8yg;V6$AbTQU4l$KG<7pqxDT71|1ect`-SsN4ri6`)U5{B%!FF{%H zam1Qoi0xqmnuw&y6+_}eOe{^z6J<#qmnf+&RMkQFWNeMo*rm87-JQ@bT1joN4UJ7Q zBKNoo6<%Dhg?kuX-6)&~WniPX6q5yFCQLCo!mxm!%>L>o{uhi&ZIx;M8WO!#aLy*w z*)w&9g8w3`#sACRn}A1EWPRh+=>(D{KtqCJjOK;}NFYE1VHG4uKxEMXVHFJ_3q-QC zN!T3Ju!taJ42uW|)2*VSGBa^x9A(f6f-|TvMsZ;TwHNNl5Y*tHqJsH;r>gGl+czC> z=AGyL|G(#(@La08)>BodPMve=R8`QNnWXTmLY6ApVGr%n4|(o_ z^ds_OkCyaqATNNhut*#blszeFD8JiRJB?hd-_ficPUI}KIOwZo4)Dgk}s#GUOfd}o`Bc_3ANeIB|9xZNESjgTwEZjTX{LZ)QS*Dae`!3ic@Qf{z#)i z>oq?&ShFkjcU*s3tiMx=EY3a@wSt;+*=J(wchR7jr2+{B3lUJ&62HNmQChfOl zlF}?~ey@s>zpz}}z9}iIsO0M3QZZ1X+*@zU9z9fyDThrQE;AQ{4&jpoT}b_|AC@mF zT}1b;2?C*Euv9ICKyBVn8ZRHLh7Ihg1(b(U(WqzV!^I!3rF)S$xRfOXz!GJzY+OLq z7nF0mT)K%D6SvPq+J2+Mj0Ihcwg&z5y-WVWacJo*^hQhQ&6LY;z}SMGZ#UeTMy#Cp zVY(cRE=&`fah!L|WzD;TlgN-+307<duuVi|54oh|vpNa!KbS zN0)(Vk9pHIU$kWUF*{rn{z<+h46 zLK=R8wzR-_rd+#-%z){bXHhA9;iJuN4tHON_PjXXu_0_jkj5~l@@_Dp3um1woahj~ zWQd#o4EHVT+;-rasa%l!@{+~;UO7IY=psQa&qT~{d7q$ss6x;ka9agb!GAtid6EHI<@3WxZzd1%e;D@M2l&qynvBomu`)hs$WX zR0yLc?HY*y1)}8gsXBhqXPMwj>7~D*jwNMwP`~n=T)O4hV=yfV!nRz6&?1lTQtK2{ z-lnTRJ*OcP?N9O!rn@HeS4<793`PsSQ7=ZV!aQrWXZV6wAg!0^{!|f&u*F5r0!}Q0 zt{E>X71rqTxKg^5M4ATDZh($i99FxH%};VwwnE6T z26j^h&t1yPpwXZhD!n%~jNb>!k%oj=iWY3J)?AKNv~26l30JLCLKB-KmjTH<&@`MU zj9xkZ>8uUew{fHpvH>UAs2rjo1(uePV1oq3!MM%4Hh5BS`azh%7ifCHLa<_bcrYs- zrJJV&hL`t(xD?fJAc$V(rt6>pgc96~R7`HA99>}yBQOiV^P6l-3uw;{h$SvI$>j^A z7@1&n8!BKzoW4fzHWV%_6*oy4G{sAa{b=F(PLvV!rU4dqjB&o9RB0lmQ^*uyc|x6L zxIcpIR6Z6)cMU!u-8EG3bkn^Vg8jjmB-^5hIL zN~Za$-)YOYZ|*4)H*RsbBwt{9XjLPEdEBly1l25490I+#W{Jl(mqeY-c%-1$Hw>Mm z$TxsMkVtJY7lm^0G}!o<33joxY(Azu31mVZqbVfj2e)GqYi)l6@5=9GHnN3*ML0?> zxqKPt^pXNOX#+#-B)%Vkq+Ae!G%s7neeD^N()@xY{6Jc1nRxyqa72xsztbLXnJA8@ za*apkZPRa^aNEetDLJ=|8Dk?Dw2PHAVL4MuZ~9|?!4j6Z;G&zA z+HzTGiV=*U_Jtk*CAcPz;d(vdvZ>%VuZ-pMPPJWWk5>5^{bX!W;HG)d>B}@o_SOGR zWmiD^B&}?kv4STGe(h3f8bDcdD;A1HgcB!zQim2Nc}Y-#wq09JdMR0X(EQayjnn)J zNzKz;k1)*epv2nTwTX3=ekz9dG5PIhq>IH8A=W#xCFiE({ADS=BTP~t-^rktI>j5R zd;z6Pspu_Ex;$O-OuX9-`cuxsatbKcW@A!P#_ehNhA*vGm1ZqfFcWVRwi(T?KroL#r#eZ&Z!K^_s+G%ck2hTS zS;Si>Dqctm7yVq7wsWOz!vvNJPBVg;Lv0_mS)Ya6chZHp5M9allY-Gl6wW&!Bo{NZ z#X+=jdvaP?>5Ui8S(0^yrbys-bQ?JTAhF5#M3PA?kih87gUJ9Zm`ns&LXr|_*kU%#piomeF(fN*?$Y4tu7#(_R|j-G8eypv?DK8f z`AM$zstm?4J}rfzD&LIYT^YPjQ6X@t1(=&jB;roapV_{lE#Y2Eb2};oZ%aFnS>;7# zxMcweZtW@wZhQ-xHb3-(bV=Uj= zle3Y~mG5zADzOk9Z`0;zP-};VB4GwIW8>xvt!DgWPg$XX_tmg2_{wK}S?k*+H7ZaC z(bNeArSrIr@#Sf<#H3tOr}6Do4S{-zR&pJZEz0;JE^ok%`mNM~%32)xB(3DzZXGo` zfYGR8aSs1^|viwIo@tl^y5a=!VJ*&Id1HhJj9H{^s3w7^KfC6H!n z9D>M(TBbDGu5H?f5b&iT%+FhCqU7b;!hpVc8e0HA6w@2i#-;dn;{e`aYyRAyPzGcL zLe03X9r2btl>RQdJe(V}YRfRv&dn_-75dS9Ly7W|Wo>mCS(-nFZPA@Sq zkBo(C79yF3O%p}?A?Tl8mFx@NZ2c1TRC(x8EU@xGhsNO+2BsY8xw!&|9>ZKjS}%SM zTIdif#gs?n(t=9ETn=u&j+)JwVB>4dp{~O3-Mcq83;wx}DI4RAw7IFWlZ zn)#iy6rs6WT0rt$u-SF!w>LsxiEax`ESi_A-L(-Q79r9I+GFSijjK!w=8bO~PfyB` zfF(~H>U>&3eyX^A)%fUy@tG09xarzOgT-L*7)eqi@m@ZvkvQBu$Mh#ML<;=~l7ZRM zt~LtMtk69DW%}P}^{yYeX;!iv6g^zKSL|~0s`HNQ#U$Yf|1 zS+q7A85}gU17u>h6lxoSNOsUpgt5D160jpFCQ_o$9Jza4Aq$yZDj&WHM!}#O%-v@Or};L> zzYCKAy*0o{8ES+rF;w%-;5UazXbXdrg(#^R%w0qh%{XL47b$$3OA6fw&5P3}FST?; z7lVeNVm|nn!2Feyv`Cx$+}<&WQ$v(-KZsKYeG7+vh2Eh+L`z#G24RbwDZ()9_U?U* z1K#}(NwiGj*%fjG^+bSlHmA7#IQHu=D_0nZLi3G89f;s4$&M#+vqfQLw74vwSrVpO z;(Q6H2IqmrGnbNL>IOOiD=cjkj0Bi7UPS@>1XEAzb^}6nTV&Mc1QcsY(wfR>-y~Fe z`pc>lx)8-*?q{V%*ApDulXVqn~=-*I35ho?A_;pL2UV(f1wRIur z0*Ie8X``Zo8X4el{)L$u6=j$_ff7unD->jU%}d8rjd|hAiD6=x-pmO~tUsHRRU#5_ zc0@yJ6m3=;3r-z~VPKWy`n*UN3HZfe;xL^_PB-NYZG|e(%w&J67uli;w0YrtCFCZI zro}p7XQLPUvvqB{;CPvKaXw8mS2h?ymIe-^T(;uj|B;G+R#h#xQ9IxGFSk?FCl3Xg za&&1CFAWJpVx?e%`G!>Ri@0Q5Um@9_Dq~zl>4omehHmk68oZ(iM=VXa)2N>=C9aJ-}Ew97<}Mk=GYsSC%Q-$vj2B$4uBo z@Mph+UaB(w5RAWW*NYj-NCMSZB2I<{^t%edgMGaL$fLQAnEy-enu0w40mM0$?sdF%7(C=8pOp)8? zp-z2j=~ILD;)^P{UL-{?J5>=2sZ1mc)&kLK6gVU2w(&xkzTBO;hCJQ%F{S%)%NLf8 zDK9I@D(N10W#E5l3;zla3Zz!8#1F<{=o|H+|8GMn(Oj5E_oh@)7b3MlPB^KA9dTU**5KFtss$_>mi%-G89(` z77(JLWG+KYw+a-=tKeraLUUfiYDK=}9yn4{CT%{2nIwPAP|&%`0OKo5m;3(I1pbs_ zMa4p~U0kuyNen#b3_n#tMm3yA(=Tb%kBW%QTF>Yjt|D$gm#Z_#iz>7%q6~iFyuby; zxv<<>Mkgq2@;3jh5^W4pM9-%wh2_B%CS;G;qC$6+Hj=z}X&?0O*P)Rytsql0@GN9T zPPIbj(cu$-^p@Br;p#o*mYc;`8G9zR<-{}~Y0cY7S4auFYQ8cg$v^Gdym@qPoLhS( zH9MlDi#Ea_nx8z;HqHa1 z6E9oW|HKaQ-z&H!RR1}v{m-)YG(+`s>^*H}N-wplK@?nuUFKRInW81aA){NIxLSN@ zb|hf?K@HRBT`@g+EG%7wyh~D$45cHvMWhVS7RtG~6-9Zp+gCI%MZOv_ynELao|?|= zr&bK@nj&9cO{Ht{dCYJvd*Eqhf}*g1Hk<=5=1MWl7FA^0MbLL(0ybRcB)yC*na&|C z3d%2dmQaOjZ;b~y19K{qZYe~xp{@{5j0XdwKb9+RMA3GwxKy1c3`m7(s4kiso))$l z_c0703|FLp9};?5BB}P8Z;IcDKl8#*Tu-xt_|?&p+H!@MejcT_u9BEnTr`(XypqtB zdDFs*ninU@!`woxr5&n;cFaDc-RB1>-Rw1o;qh00f&TUzEU zYMyH%#=WS|XyA@ArL35?V?x(ko?GFZ3o&D-85uTTFg6_I|0BGN+^ z6kTOhR9zbtDQTn|5fG4WkeHW7krJdsq`RbJXhc#PX^;|z?i#v7T5{-y8FB^~Ws1=U)STLf@efxmbgcR z=|9OU3z`6&&#bfLe<_47YVHqVG;^-24Qc-Z`w{nJ|>s&6y-Jb)ocBC#I%seq&-!JB>iN0iNy zGwxB|+wmwe>B}LK&;pD(TqC&=x0qzbl1!z&wb_!`yGVx4tab+az(4XEGAuPv!9~sc zKF%FaDkIERcg@Jwf2w(IdsM>D@z313K{Oxq3ZG;`Otd(i&;xN}M4dlb=m*s?^N(8Y|ZRm3fAIl4w&?AL_lwka_#&ty0IT z;ym5AmF_Q0qr%Aa7sTJ%(cLceE^6Qpsxnw`+zLE4U#S$Cx z?PdVW4*!-M#ZNBqg$Wu9U*#1KlMH;uopn&oGd2CAOL0MdeQ87f?FEod(=23=s3H0H zMZkY24z08LGx1?}jRGrW$F4K6v45N{ae}@Y%4ervs@v+yBtx(m1hlvI1v%&c(?-N2 z*|^HwxV=p;az6Bj4R%D_w{HqXl`BhyjIYo+*qF=ta{CO+r)eygUJ$R2*EF&e4B2u|I!k zb;QxudnvN{)jnD7-G6JGUJ}C}vPMH@LZuF#XPnYbO8J^9mHeRHiEe%&iJQfZ?}dNK z94bSUBCW&i(Ym$0Ki;T3k*@V^!pQ}XW)c`$P#RnzBScTG;q;~@T{oSBy%YaqB#zz4yjo#OqD?B zy#~5oi9&OT?TROX{l<*a4`T+- zC5L~OfpdJnUrM7Ygzg9|}a@Jc~~zlYWbIKKwKr zb@(y#kg)AQ*Ff>uh0r9XppPP~;5 zu6LwVOR`wA$I&wHxm8+dj%{T--g{F0NKyvzmd6L{(dsJx5z%%W#V=!TjawahqeV#X zGif1sFn0{j$;uiPh)D@0E551et@<(4X2{Vrua+S^g3o6+Ho>)A%;8b=oBS47thKy7 z9?ma5U^G%4pHZPei2bXu`}v;;2ez8m1#iSZe|e^rZM5>5jYaf1-6wvRw}QU#+C9CN zR%a@@_9X1cX1kx*g#2wepapPx+M%3bn+A+#;+kcJNi7FGy8J#^2;!~tZW?4 z-Jk#MT=`AvG3r$Loe3)8>b=rY42i&2Ic)!@l@v3qyz3#ww#j%7X~V#BHM2ET_+ z=-o5-^26~JMwnXtcp8~I`qvk#UE@3tlH6&VyRRY{lKkQi+2&EK%?%=@3C5O}j-l5C z91 z$B)_;^3%AoT}9!mZ=bE_My12NbQu)E$?0>ozYmUU?(9xOI?X2vYK!W`svvay*ZE+j ztxGlUK;0!#sYe_J< z#e@A&@Vcvb{*u9nxNQGcQ19nl$}&6`jE!CqGd zpJr0<}ybH1LJ!s$ERpwE8Yd|!3dhe zB|Mf=b-!kms5O75!+_2@=0~?Am2&=9XuH9eK^&_qcVWFf8UFy@b?yBcCqb20xV^rO zp8ACzM#)bCyFF)OsUT+e?$sGt}K9R6cYcog-G<#V>mCc6+E7_R2fvn$Ri8cS)Wcwh zxkK9Z*J7yi;>e8dc8i^%M*1JYoWA`(sWvX0A#I-df!jb2hdUV4T@66QRq^N^j4&q>&sI#PF)E34R*t37!A zEWgIDRcEF^{}*vS>Np;M36&Yz~W4Bgrr1NJ5-)1A}PrtGJPYJeBLF$eTa z0oRq9%;n=7h-r-)l1F6vQghdugVCwk@Wcv>56B>0c)P0>Hqgw~06D&H+_^h!bZ$7# zUlY3UUCO+YWDTH@(K1DhM786Z{bQT~!hg_bKr$pN>`roVTbLgPMFLE}%{Pm&zt^UB zMZ4v@-e|A>A@b3vX?w`yxV_GntQg*9U;h9#&VC1FzwIGDK^*3Epd|;^4_a!R%)QPF zZCkp%4;3%V9qILLzrhz}5C_J2Kbi&`R|1ait-0|#s_sv7ZOt_dFYNE4F2DN#rQdbz zpL?Y_+7A96RH-=?u750DX4ZJrDT{1C=^nWAjJG^ec*FVti+UjArSol-b1^*2H<6lB zVE^?b0)BNz`dq&UYP4>?{|Wo};sU>V>t2Ry)Y&;R{5(AXmFd=BvqX`2-gZ9V$c`GV zXfl@t9^?nNJp41xW?rURcR8OpQ``9NCuAKL@bCx@^fv8n#iVCie;hwyl0}xmQ@j&C z1iL@(W-nd`H1Cj15f^Jnch0Wd6*=q7->>x!K5U%n2Tw-05}!4LkPEr_L^7AK^J^7- z2H;)HEk98natv}_hs+dq`SuSJSJwBm1;AwG{AV=)Ke6-PP_g5Cb^h?moC?5me$hJ_ zuMfwm>h%FFl@RCscGiVnzpc+WMbJ znIGP71f@}PEF3h^G6hX{ag;)UwhFg-QZ0%0@9xec^wDc@S8kHjyo&tOoLcXVdzToJ z67z>>rs?LRf8K{b3vGe!Dg(?e;GhYPmx=oM6HIrz4Xz7JAAzj*;fqpYf!8|+`8SBs z%lFlu6Xh*x=d#&5E9Q;JR1b$m+k?D~<>IReqL>olTlDdq)SL7mzk{-T4aD2?jzbyq zV8P3izPYn=#5l7s0aPOpS@KIRg&e?;-EDmvCbtvd!w4utS2=oD#s;i;-k1KfeN5~a zc75;Xacg27OA<~;BW$g{T{{3(1^8l zN861X)5T>q{&Z=b4(oH<;j0Xc3t6W zNJ^q^c~`)G-l|E8ecr>7H1Ix-BIKp9s60ZZWFa1j@Q=Of5LJ4?(3R`p~06C3syVtLNv9=Y<{J z%h$*RdSYqhV`_3Z$0xLy*Cz71H9)-U5;mOA@KCtj5ISuldQTG5^0tZjY$OMM;R%`U zY&n`ZBoco&4U&bGsqN6mMtuf&o}(P0E$7I+#*zsXT6FROYQD)oe-E7iO=P2)t1wTt z3NSE@4A8g|vkydUDBu@xH$uD|{S1c2#381;hTNcmJ5baN`H%q*)uRuMn#J|Wwl0BM zbavC*xH>l~4EH!C7QQ@FwTmfMYl~CWtTfLFl*e|zpdH$Q;+nvtub>q84C!x=OMC}v?FLj>6S|d=E~#$z0umK3 z%d@*bBBw+K)IV`wDcn%*acqlbZ4=!%{^tmTbMgIJEt3FKznSY}@A4Q|+o!&*<~&)? zAH6&iTAysu*xNJm1IGe>B&JzVK#pp*28GLlyvJ3DDlnPqf;u+W%ia;2aLsWeB6_Gw zBjPm<)3pH>yXq5WO<%7^g1v2{iQA&je$r${)134<6lK;|xW28lEX%XJ-Rt-%J}abw zx7xl)rblT=UAIVkw;fnAF0uOS?d`tm{(DuPtU63l!scNwUjeVde*#o@VIT!(o2cXq zkA*|QKnGb}^nV_ROPkvtUF$? zk9a!(O$kwKf$P7)9rjiJn^AkZZ;y_f(RGER7qlpFS#`N#rhBaSW$F#ge$&mUzEL&6Ha$llt{yGDS8NF6igD~ zQ34<_$LN+1eBv(=nTOO+FjsiwAjU2}Z_e4RzYdJO;7tPqL!oAY@KFeShc(bR5{g0F zY}8J&ZOr=Uc!4ov@YUM+pT6^(AhhrB65QFKwa9sELiQNN@3_$pk0m}chF3U2@2xf% z#VHe7%!6!ZG$oD227y5f5b*mzj^j@`C;j>yLCd{>BY4MIxTfvO4oQh=g9QuK9MY56QZnnSx}^!3OK~RousG z?pG_jrZ>3a*FkZR@0&osy(;2Ax5$>SKJ} zPXq#9$@%DKfKQpSGVg}TA$3yv=(lIvDGl9!XfJQt5#rHSY-<5$MYr5kLxgV*233oPJtTZ1g zc_jeb0Db zZ8>%QV`vF@_hs(ewDSV=Ti)N`zUUf8`xJrggcu?PD5IqNLH(m)Z1BzPd`sFu+Z`wf zjJj%q2epg@yC_tO`kk{v8ch@t@@`!atSG%zzp1U|tzj;Z&w{s1p`vTyfqm z8>jx5ku{LH7g9*D<}tF7w#G2H&T?7G-fxdY%*AjKp*Fmlczb#~w_t0NYaDP@Jbo)v z&xJ~7t^o(HSMcwk*QSI!+pRn+8G&mQ=*=LX$Kyo{5|fTVyNHK<+VB-H;?uWD$4amR zdE&1TBdP4|j;yg7fx$$9L06G}M+b9p9i;CZR2(MdVJ%U%&S+rUjJKC>#uCi24cFBP z2!55w^7u>#>85iB`UuwlwHeTN{otwN7yI$zt`x%mYnD1YcsP4DU*xg7H+4gfC$TW- zME&uxphAY@UU#HaplC}kEq|h_F!F7)X91RZ zkWxe-IZ`}x8=iGZUPJzXEpa4pznQEFl^X)3{3y>C*1L(?o?1GXk2|yKl7j%Z^N<_8TrQdQvC@0R9hI= z<4q}~CHqMq@eh=C4tnzOhB7mlU*M6+=`HZH?=wg_`t8;-z3t2nSgfSw*QUBy8ag72 z>Hl*xCS`wrCfwxO!4;fcfvi#AgV==~;OZc0=Aa@veiJ6$M?L`0pf`xwj~C=0VLYNG z@LyxD*7rfNM{t=^h+*kH&2F1?@+MCG<@0*^Y0&8~K0z$C-h}PdhmmydvYfqLSVsZA z=jA^C7b_+O+)@K2Id*`JUeAa9bp3SRDND+HBljmz{TeADM1UlZ;1m zu=nc!B=V|o}E9tiE*z8z` zonaqrwPjP%-$`Ci_%i_(vlL_$&bWRvS@>P4ja@$ViZC@W;|kd{Erjcv?R~P9BbEs> z6B6feweZt;e@^x+-Po`#mGWSc-`HgAZF;&}?a`0wuN>oZ1r*``rBPC+7CCdWC9X_Q zj}}kk8F)~AvM%9FPRr1$^ziuGQerJRNM@sFpsiK=to9R|C@H1_W-9paD83&-5+&fi zkT_Let6i0uiV(juN>Jsd?e0#uvbFa+ZV z=e}lm+|#^&UgcE0GM3fzBcaSr(P1d}v#@Yq{;Fq`qmyI&E|GZYH4iCwyEk7`3QpW6 zPWN8=wBcfxLll_PNN`8`7{KF$2pvE{# zK0f|GJYOPHBe&aPEG>f1KS`Q&0$Z)$@msTe7%j&1mK5SGuH?sS_+hX57e5Yj%UENo zsPEN??>6b7z92IVcaqjOj%cPcfooOkWqFQLYG}rPH2$BW3dLUx|CK388yvy?Hx?WF z;fG?49?cdfCky$16Vme$2JT|vGyJkRk*`DiTMInS`{XwmzEI=59AJxH#okM5!^ez> zysOgs=*E!VA3Iu-GKJsJR|Px} z&vs${^fANpdL7NJ^0&JdosW!tac{jx*PV`vM3Wrbdks>^KeS4k9M(_-)+s4Dzdvcx ztbR|0u$P<>lU#KAH~XW}BHAiX34{E|1;8R^28rfDnwi{9l6|EP5Sb%btLPp~;_O*GD#-AB|?Y9#2ppm^K+xU<(j z627J$p0uk9=ebGFBWFax2_`T+{uHUKy2ss(aRbJ-nWWxPb=y;cHcyt~p8>p}e55VQM!E=g)Lp2CvezhSTs;m1z4O*81K<- zxv>aDrvxw$<(qsl5oyzi1GFg!pmuG(AV;x-2UF-{FF0CAhVs|w1yQ>iy@-_Tm4y=pySNY-|eUAURRpQFrFWkLC+(xae&>ufYr^X=o~c2EF82zIADEKQy7s#gz^msEN&)>A^M3>v1pNNa4&Fi z6JQO?7ePS85s5U&XhPH@4%#dnnAi&*--KAeT*VMe^vFs=lr;{pq}SXDc0iAOs@W+V z7}lF_4<;J_xp3I-KN zz@L^YgeX%SG;uhvp%=WdX>JYU7e;Usp}vL#Ae;HlFk5;gIU(v}I54v}-vw4iiyXxP zcJ?x>15p%XX=kPM$~)c~Vk%_C&2lmUGVy<# zR^+)Jd@>dn6^&@%sTn+P4x4PqZQm$~l3Lqv8$A2$DkmF|PU6o0mHoD+J6n`NIgeRu zxNynjxbUQ6iU+LZJ}fZk+$6E4x9>JQ|609j$9dlCzejxgEY|Vpw8`e;7BwY96v-JU zwb%Tn578`H+@Fu|xcKGF$ISLB@iduH=6yHgw_7!-M;co1=9jZTI=0Og&648n^S;CH zylz2!qF&D&YbWFYk}zv$z5a?v&p)5JSH3oNbYcFw_cb(4hu$}rhu@RCbB$;o^^v;P z7?)j&gcOs{{!=q`5DFlCtkd}XXR%_UO@mSChTB;84{O{c><#NV){6K265q`=BOlWg z!@{4k47H}hc#yUW+Zg)A9nZuOAgocmju2we7@F%Tb8jaiB`h`BSKq+v^n8sl@CR~z z)>eGb{FH00VOC~Yn6!l%B_qRczH!b()l6y5-W?ct@^gdh>QrD~$wZ_(wt~u=4)Rmi z5O+-m;k{`b>FUJ)GVjfL756+E0!2^qGa+8aLtn$%UV`bj_Q|I`cBr(5VS#I~=_f<8k>XQ6!nYKrylKz#nsW{5<}>+{#ocANM%ifL^F@ zx%3SwW2VBjZv&lX@WhoKr)&2FTwr#==5wW@_yM5}k)`V^UvYQeTe2?mQ#7ofbX8h2!@^6Rp zFl`vjWUo=EdHb(2$VjGKN||>1xgmfG;}6-bE6Cg@DZ*H(UIM>CA~{ehNt`T5eTy{IDJvxY-t9lOh6+1CB4%9H z*gH|eodsOK>FEN0*-gKCqlVVGaMNSDFh8D1@N|C}>zYf5Ek!Uit3fBeR6uM}({i~% zv>}(7>~Q=;s)a(=O-R-kgJ{Hu2MyWg8Z!#Z4uTtMSEW43Rb2w(T}Z;Ur)%Y{_OH7T z&l6F;8{s_fUy#Vw8-?crx<#EIdyM>I)#7!;&Zl%s>*LW;c63YK(F?W> z>bDA=EtCJz8t4e%WdF5&F18!rD)VCy)ET=}GGO zCRi%M-Nb16&q8lVu}e}<#M$A1>?_4sZQk5b>P0(pnV1DXyY zkCrC6!Puy+-B;B4K2B3_ZfFKa+a$3BR#!9p)-7D1+7U}8gG-K6CslG;n#B`hRNgj2 z|7Fn0Au$l#CHSppfgj_M6-N_+5yrj`V?FTwuQF>w#Q#YS$#s;j$$9&GMyFsUl{W~M>o>l-P6 zA0F^me6x22943AgL8!bH0)z;$CFN0%D=eVv`w}L~V7JqgHRv0G`zon;_U5R;o+WK1 zHtH>j8-vn2`U?+^ep3fP0&C){?z{u~@Ap4u4x(q3@&VtyPc^Bexk^00#PQuyyMO*3 zD{{Rmw5-|i6TrCB5fNO5yUlI=Bs;uN?npK}_0x+|r}OgruXqSG8RT|q7>XB#yhG&5 z)fQ+*lR{5@O(*3t`;+#)-(uFj9o5}ub&%LxC-OZZTia0f{wsxjkqQY#8j>;Leo@8j zeA>|EVxDO#t+_96d>mNfh`FygCyW7l2|kCMC-3+&9;&>%RD3=CDr<;$Zg)&1iMgtu z;pFwbh^YITNhHEh=p5_N9P9YM&K1)>wI?DG((@j7tg2YY@nV~O zL9Ko-4WV*uv~$W-TVFK)J1kH~HDp~3>d=Bz2aCWVpVuuuCDe6D{fASh%la6{C$I4x zH{Ru=>~VZlHpaX6t+LrBRkRRucDohUt<#-e50JH@qvM+3nf5fxk7QGrn@*7o9 zd4;$XuhD4PWHY)s%Po6{#q7TQTQsRzkbkH6#{}2vriFnc+YWYNniuB( z?}rF~^9fROZG9=~SbY3nmqnoZyV5*4I-_Equkm3>yE9ck^o!1AX)>htQt?K>s{X_I z;W!=NHM_s^6|g;j#q`Udzp4di#-X^|7=64K*ZTISxtZbV8DtkTYy0aQ=pc_V?Uc6+ z`BV-feRDPct94z8o;Q}uyX_yO-ejmb#1tT2+Ku14r5;(_6atqQCB~OP1QY| zl4rFSAPMzpswYs@6w|6qioW$r4v;6@h?j^c^J=IU;y_385&77`*N)htEOmU=LrhR5ka#<{CrK~8`%!;ac3Ek5lw7) zJKpJNrQZ+-mCl{km8^ZzeaS6BPlkQJ@91{MZ$eCsU!${UopBRfqMhmoQ-}hIJf(NC zF!ZyRjQd9hg4-c|rH0HnX5=RJnV7&+EEI`vyyR)qKgYoM_3ul-*%o}iO0D61U!(|x z?3Zx@7?Iu!@;cX@V@Rw3RjzG-5T*chIb6Q7*ec9(NXRypguF+klk|xFI0-1RVrgk8 zNQJ{heAy>n-XeM&r-)AKu3+*r)_(k5Qwu(E{3v<+C=zzopdacTFLMm40O^T$R4)8l z!=mggV7?v&i#nFk?c?x*yaIN#q3%60R6!P)L=HO=`xns-K?NlnVj;cQG($z^0Y%7A z3zJ1y7;d7PBDhnfllkH~!ntDQc;{RBzG41g*ZQzSJ}$E)<+bmJ3EgXRnd40n;yt*v z6Z4TtkrpbP6HGmZ!jkSc8|LT)i-*{ngw;D3HckI=y5V6p9KNU;F8Vk`!*m_*#9;?@ z+`^jH1>!0g>FpJ01tPVq>;1=siGm`87j!*D@l=)vzh?P;_gtO|~l3PH^k& z9}KIB>Dst>h60@^8`hE&-YWjm$BuoLGa3V}>`L{eN)aI!LDKtcwG~<3;-DW!XWo!< zA}9CoxDvPlNq~We2=bl{3@|Fx{taZ8Om8u4zH+F_;Ho5>$FozAkvgSxG>aD}2qM?p zIseao$MMes&1Nt!xhE21qW^<~C*`QJFcLEq^W?%fTS`~i(K^9q^M+MjcMX-2N*@p=gNteqOg)BO0Y zwRotwz!b!g7?8ZRp=r;MEyHD!9<-8zh>0=p!+iNc~MMq-EFV$=A#q-aV^-YFQX;*m~JGyBThc`u}D|j@$c<$M;Cy?8|)g6bTh1ZT5_rOcm}q zYkodXBi}AF6Ftu{@48drnl`KpBB8j(h=h2_jgY?Q5fJZNCj6TQ_6v@d6oivmUH&fK z*s)OQ%JM9Sa0IXj`$vVzl4&rs%)XPrZWUavf4TGCg1gtedxl;jg>A9C2@&)RJp45w z@8kPdZN2mfH|is_3xOz(mw_R+aS;bt`>T`0o9tud;tT6|UgX`2^v8Vi>o@i1WdX5) zM(dg*?Pv1LyF~hm>vt6*aK%Txc`(VVgcroYNp&#a-Z5n5s(V18ksN52&?1enO`7rRffSJ-B0LJc3N zjnZ$K@n3n({py`C*(KKV?R7Qj%2>;~! zCOD*)T#!&`xM?A}>JxyU7)Ml2ZU7;gBFg;%1hj{~iCBEDZYD{NS@h0%8*H;TD(`Si z+WxV!a84GhdUB68WE@>tEgvLC#{?%NOXGqXJo}y_Rh9&LJ*8P!C2`N@eYqTV=4rZH z_RGYK9P{CJfx~Kc<5$G9M3~VO+d=CaMgdLybdCe${fg@(=1%qY(nnRX>h8inqwnuv zM4`dKh6y*}^(aE;s?h8J?WF`Yc@>P{SqOJj&DB@NA!r1R_B5SZ(+97Yn#(`x&f-9~ z5t8-u&A-F*QYbAv6Yx6jQ9|RwdoJV4^xwrLM*PAlN3MdgX1pgr??&ng>#NoupCA1? zNGQKuCmW<&yrz6?%*+5pX1IFk`t_x9aRTe-S=DA5 z$Mk9sFjeRGA$^%eZP>|gwfBl`S+~RUIP-;RYA1cf8}Qzn&ps4^{NZcv#5YY}mwPTq zq&FXL?X7Ey1iv(N4uosB;eYW(OVusf*)s{Gf=1PtEzUpPi>up1<%~wuY|j$VfFuh-Lp-w4l6@h0b+xbnAOuvKMSCq6Pv@G4alS4{elrvumIY}(jXC-;Nxq9 zHM$=6=ZzXW{PxlZg{}_5e-=>Qi!cW)$A9r69ptceKINMW|}yj2pd2{^pIo=XOkMe=B!5AC<(g zBT--^$l(Xz#9ioxi05Vj`bwszdwuAS_QXO+KJHoUB*qh_NVkQCV&o#ulpZDIwZ+F}us|3YImu|gQO`ubt%Pb+UkgQY8lf8T`ncg)8|31zQ| zD&sQQd@tQxY=-jGlTYG3xj8Jp>rPeLxi!@H^C^(;_cbbkzYEtb`z28Rz|U-M9d#fz z#_-GJvqX2JlplyTydw4A!bG0)5Bbk07{soZO{!X=1O76MUAnT$?!6O4fe`P^gMM8X zc91GxMPG7AVX1eE##!mNpjBXwj!_-+gcDisGy6Z6gXxc%#iXBE+73Lf(`|~rM_uVvPv&q@-Acf_Axb5Wh0r4G^g zlLx{Zu3rcH|y@!CT0r@fS`GkAD0YJTg_IvKGMNn{z-& z5a)^gWh2V_XV-!dG5Fts23Rg`^pIen#pP4W^XWMMWLtlnYc~8%bM?mcy5$ZM$5CjA z_^lUTAvMM%>h_`Z72~*`!iJ7mMtdvu1%`a|Wj1rRMB;_O?7S_*t%osQw~duC?-(a@ z{_4QPYx9?vGNJ9NW%I4ZhiR&1x={iRv72$U|{*1ZXkrhhscdz>2fdA zRd9fQa163#=t6LjDq=4DK7a3@qG$50TNOB?-nc4q@QjAXE_bn6wPTZruaG1+%HOlL z`oe22C~jQIkt{~#q}R`+ui`UeatSkTC-3bqz%tXy$-zUgh7WGHSSWyF8Q0+U;)o*S zLo-#Sr@pUUSA9Ki8OUkjsH6bueVrRL^~USwc?;Y=@F;|}t3fS3r{UL0euP<2iVuUG z*u{0zSZ?6sTps zyuO&lnPNAVc!kC5*Vd#KB&0sV*VXqgOC~&GlITnU72*yo?&`^sIb7<8afhhTayzkv zMlb_JYhwrU=jdxA!apuj9lxNIMgQ_aKt2(ewEc! zkv^I`VJ%_UmDo3YP?(dw5BlA;8On?(lYRnlGoZ?0m>gbWuD1i!ZSMpDrL3#t!9H`S6%!4|E}=fk{mBFus;+E z(<4??P?B9SO~Y3YFzOuVT3 z#e5J$ZQQf2A~DF@)fTGG{^b`LD+D|5iXFcId^=Jvgab$)r4^lF$xLrB!EIf5U;JqA z$YwcFM6TGgP}=tPz_ayG?igyYbIgdUKM3$$} zexZqUm(1Z?{MP*>H;8=Rl9jnjlo7ChW!w&eUE zJH>e|XufLEJ)uc0o%s3I&r0IHwXF8$`!}cURv8lO+?MwFGSY6WqdCh6P-yOII)hfe ze!?G7$PcfO{Zsy=>O-=v%p}T@eYNndVP-5SL}@Ao8vLqz;SA008w)l1$#*2^#kc6e zz2xq^-Dx!}RT*RmgS#H@IPbX!upal|)-P!s)O@SB%QkTcXg>Jncw0Hwz+JmhdsAj_ z2BMAe$^u) zu721Giu+;}X4q77v8At>PlT!dVB2%MGB>@zwNY1{@*oYmFkYBy%D&t9OJk(@9m3{s zXbg&)3+5odU6`md3`$t-bJhdkxCX?X0!C2P#cJz6F7p-dP6TV-Dd2op0YGwl>GW>M z#TZFg0%>OnRlv+DH1TS5LzcCTc!hNv5fGJoY&ULj#i+8FNP|64etE=s&*o9F^WQi0 zL(ejoM}Fcr`MDLm4Y+bo{sw!kjs3|2#is1C$WLC(BX-+RsFU=wyRcOcCvD1PW1&TI zzMtw*0M;Gno?7`yROykVa=X*R2a<*wJy3dlej-O++U2X9Q`XTuJBAVk+H=KUm8(fE z{Rd7{%3ek+j;{h)*Qe=zVAhbb9K2dCOpf1*e`&RJbQ?_1GCONB_8;KD_0>Nte&sW1 zq`J=9^F~(B-)gz{I$uzwMw!*{2aKSZL(-rR68vyvXOiFR9&;t+)hBXuZpM(<-B;Uf zb{e_1d^ZYzCvYb4Rw_AGpF0ClNxd$c>rx<|uEey}4@pFdVn}{oTc>{?ELsFuCdX{9 z8;@_vqF?SS(=30SXU#c%X;%Z$5PQ}Y>5Q>#mb8w!Y>^cI{DjqseWdye(JapquahL- zHN`ChIVrd$I_+#&<(B5;WjDC2*5_3=Vg2B%)t_;?+~a*dWJl5n94N7EN0JNoSYDzB z@eS!Mos^dBvVT(Uuvws0b`oLh2vaYS?`YnZNVmvu^&$P3dmSy}{)~8-OnGtgsT8bk zt8b&QyQP+$MGC)O-H$b_t{;*7G8jW3FBBbgJxR|CtoU>pTBj7oTYV z`mm2qqpZ}E@uLLd>$?Y17jq_sTa5wNgHVV;_yyrKnY&3D#xK9wyn^I70K>P+c2Fii z^VfLU6V=UYfBt2;SEl4{HB8bjR$t{C+8RDx`c#I}W2xXT8>-T*EN49MOOPRuY!b@P z6H?UW({ui^$g$@QaH=ugzk8*Y*UDy1mg)(U525n$K0U>vZRqFc7a0Trr7?sc8co8L zRIMvvyvj0m!)634_(tt-v=2|e%dTQjPl9AZDw$wTk{qW!%+mbVTqW3F)g|LQZGVcB z2hINzmvd&wD!2-7_^-pxxkjGxEZ;HQ%Z+NuQK@a63ig5V{6AW;QAf7uLRW#r;P|_z z`*Rh}IShC>#mY%=Vj_ocVyjVVRt&7}1v7yU;ToQsFc;(4XsL&m4P@(M8TrxH*SOez zvR2|MV*C6Ip+5GJw{f?=_Q+nTPpf#icGcjhy4?4doLjh;XXhCOHr&~|Mm0_aL>5lT z?4M^Nnd$+=#R>4gwm)IhF0UWu1*T;P8YN%u_%!DaeBRU&*(`o6jkWj+#tO;%W&aN?3S^ELVcI2NLaNe8Wdt14ZBu1le23w}VY6+Mj5t75uUZMZc;TKSW_juI@A`>K(MFfzin!dWFDs$TL+CU_HE6csh1P> zaRm%jmSsGvwx~G$Si)L6rE|Y5)TQ)0aemg8r3>?jL!ylr}MV85ib zL2>U7ha?Zrc<)!(o6Tsb6gk-o(O9*(B>iwY0EYC;2T zWJS0dsgE5)Z>FHpI+>P~vta-GrFeDQdZMGhX%DDScc%0b&{k#7iA>Rl;KAEg9@g25 z5Q#YzdjS$UauPrO{}Sp}nYFZ+?CY}{iosHrfy5-KwuA>SWTl#ei%58y6L-t)w&z|# zP}O>}!5acUri>YMJ6^BZWbY4?IakUdKfxn`!gsAg}Ibl}v- zt}`m!RUqq32kt-HSv+WXc~rcQ4@;lMW*8Ka#<4IE2x3w@I*UiiB z)4N#gI2BM1L^oS3Z-~*Jcjr*m+M_(J#HVfKs9ts5$oy`oR|?Zx{wFwbk+qS42qN|3 zZ35oF_ZYyA^VI)Y_WvCgWF70&yk(`i49vIa?jjR1jU#aze&%wrG?3WAe5oz7Ik^*( zLgc7!J-dv3JiQ{ls71~_WJ$7HQPv^Xtxj^d&*PCVTof~<_T2W;G{==)@{20}2)Ec~ zChscqxL)M}?W);ed459|b@nf&Kk{I036OcpScDS;NnW;7!6|L!UDo%h?;I;g?8R(@ zcl1%Rr9m625h|=_7XtuKlh-RUgQIk+{Oxx>Tuep7Glzf`{=^c`92&6gjK`{@>(aqnM_#S9rJEq$(ZEsJ^lXc5qY;|n{`z^rh3u;E*k z!A8DlY3({FKWj2P%y;^M*@Q{$V}TgmL8ty90x;aQUTm+L%R zveR36qkAr~mQPLeNj$5LX(~=nBRUzilyOgXxU1jX@uXYzNz%7f|Jv8}UHs70F`zj# zo_)klmpS=QOAnK7lj$I4;&s5id)^C4s*3pS&N*NEarsLx*_E%OMuXGBk15l0PW-)B zw2@Nv3u$ZKEy_VJEop3GFY@IASOqe;CZkp7RxVHn`yv~qZ@K}Zhh?Qvv_W-d9J7W5 z7LNUY^opP}I1eYsK|P?UpgT$S1pXEO@ZjVBzSTIt-jR6ub1S%$WHI@PhOXHfM6?tu z6a(DKDU}e+pc%4A<6wAnGh0cCOL=5CH|zgzoL4DiTv>$LGkRbBx9LP~A{c)nw_?8g z{9DVYMpFW!zR3k>9DF`-R_3Xq>*8PhZyW%(*6Cl%$KqX<)Q82T890jjSerz5e~#K? zJ^kbI+9`!_ywr={Vz@*d!BEu^P=`9#k2qBn%Asdo?vmOPlP~qhK03~$I(Y@!yRixY ze;O%g)AWj(@cD76Gp%&tbp4^{FZ27moYMe^hDrHKdPA!FE{Y zbJhC??EeE(K&-#B{Is6tm%G&bjxK%go5s~{e^6~q`inQ7pS{@3^(?C~?~>(wruA?f z=@6xk!6U?Y74vFn@stLj-rfVh}%uNhT3gDORYO5R@w~_&Fl<6jbBBQ z(3eDW+f2-Pt|xp*C3?xv$73B$qcf7gUE-rjZ_%+&nK#^7tv=C3oYmlTs)tyU882gX zCrW=8V2Xu1pTkCFu``|T7W(z)fS=SJtzTY|^e!5>5uPY{Jc~?ygpXK%+;P@)mVycJwEP?i040^uZ2Hup`0kvGb<{rjUN(m_>0P z+|z!tm+aas%1@fTd7QWYk!J|eM}r}Mr6DeTj!R8Pnf%;~UGVMQ5FYN>%jY%mdtcJ|!<9l0 zxE}Dmj4!^6m8~C-H3a^eIsp^m{TdI=ogM06f=l@o){J;R&6#vMbC)H~D6~U=ULA)% zP-;A_9gkxzuJ*Z-#2G&zTthg*$u2$~;oFje`}QyReKb<;S5*mHhBqUH?uF9WNrnZk zkjzbMCee(@?vPgjXQRZGXu!tx^b(#2BE_B(wf)jHtRWr!lwRlJ_C08mh3rRJMm6TY zb_SEyJlcyEHp(BPZ=(rcA%oHyOn8}vIvYp!`bP%p+JinmKKdx#xa zW^0T5W0BvX<#h-i>etBo75a$cGZ0TYsEY^#-*)Eg*(OeF^U;Rc-RVN&DSm28ml*OvgA(vru?E=w;)`S5GhKL05s#_5+qkl7lFW^z6Ux%Fd8p zCmQfX+g)7G^DXL4PC^S>3;k}T?7Ok(yBg5ln&mEzJK=WF24$<7!f1`&pk^vu4)tq$ zNhzLcANX@0?Ime@NVI=MG=_M&6mA2I{*>uy9ESkrlnj!Qs(sY&OX}W7`!=3(f?o+o zTPo`|t8Hli75@E@@0|Qj1abDdjnpT0<-EsK|0%4`_3RDrapjO#qr;FzlEiO}QAL%4f##j8jIPJq$`?S5SOpXUzIUZaEc*aUR zARWtz>siBx7*}(i@Qg?4Jk=TE&8SYAOIlqNM!zEseMS5-o!!p|eh@t%93fhD*q{Rg zPZYP`@SFOk*6{mU{N82wO|*4u2JKD0uj{IajuXARmu%G>Lhtb0^#L0$n%mK6*HhPP zHY$fy;%R2cv@Szh;wds^_%=g0$*T?-zR3_y`*g3!{f&K3i+vetEAi8`KXdwNalV!C z(+T{1c@EhHP4b0tzIhAZr!NK#zK(QZbcTAapldYe*32cFCvgu4$@`IPCEjPSQC?;C3wL zTP)_=CFK1l>fGE#@Kn@3+6P)s^X_J%ky$>nF;Z%Fs>#kzRI-aD9*NrcLT9GSQ*{nu zKjdgF_GC%lkPMzzsj24oY7u`#?I9Z3c=M~L&q4;OLZAFGm*h1OK5DM8#U}bq{i5~B zOASq2KN=?6JY=q*(OF#Q_>fvz^APZJle)zDmTHrF8)IKZO4=%T?Ke6#KKSZsO_sGv zc&ahhQ_u&r7e{?Sd?D#wq9JSYH3IFe&p7C1eQ7U#G9Ql!fT!!^fU#|1V6gkV{uGVBWnMGbfa`VSh(XaSZ8JuAIj+s>3z9Oh4v8Mhbw`- z?^dKIlKd9w&G}l4v~PGsaJ@ud4*q#1pyU<07 z@KFeVPlP)}ILQyJ?mab%_-Zyg2D}-+OU2H|Y7&Q&V52OKeNsE)cSpT$1ON9PDmQ@rP-YN=cA)AD}D^G@*}Mg8Kg5;y5C&Je!D z15YM+U24XhooZ$s`qTrSCu55*47fnJ#IpAI_?ZyW^LeV(<*mdS*$E1riOKRXzAtxx z<5azJ)Z2Q_7Ee^wZV%yGgyWb8>(jod8jsg9XPWO>m)m>FjX76!*aup0rlytPjqJ6Y zu5)@#<&*3x?mG~4XJeDlLtRhnHtGnRClhrjq%&b#JQ4QYkOiuJQRu%H=#G@ykEOlz z?PQ0|`x)(yo8RjH@b>QUQIz-o_{{F+9(6;4BF4jjs8OR#6kD{YtDvHyE*CW_wQGy5 zJ=Gd7ZSjG6sol?fuXkLlh;Qf7cDqv;1Kr#3uu~qs-m${e3%}ru#Bb-fJ2IW)J2JHb3!8weraDE&7RL-v zb_`=PeiynE!eWEqPQ)*L|B9TH;5+)OPo)1{pkv^E3Vi`F_F{ZbKiiV-W6Xx`$e}3zYj1L4C~VKaf+eh zppYKw3n(8)f3AMh-~VK12=|f6jv2*z_+teO-Hy5n07E?cyS|I>hSPR=a;6AlK9}c% zju${WED%<*fqJY3?YcSFGUu0mdCvWL{8zO7XOY)jkG{O&{*d!ZAI!p>ZKQ{}<$6>9 zQXHA;P$pgy1^no>eTQ?;@#uBzGt|8MYvIrTHXV0zhxiAoy%n+-I|b249NJjc81wgW zENjSPiT|;hFR9C#>agAtdyC`O`>d|-`MmlHu^)=8O-=}Sv4D8e#(8ed_a5SU`~&zf ztouOsdu~eC_Z`&tN%+g~F+{_MVPT!@&47=3fekb9qVr>k{nL@@JGmp1>Zg4ocnM4S zl@Y(>!_@*jJ1{I~8@T{yW7lx??k)P;4~HH8t=}fU-Jka@b+a$(Z|P%I06HFf!la*W z=VcukU#{r;y_Xwo!)*86s~@6Q)!KgPsMnY zxKJ49G$sEPyPtmaRq6j4DnH{qW8BoYQ(mayJKKMGme!y@_Vh+W|b1->$TYxfxABY;E{NKq7VB^jrwd^ zd~3Ja@Ss~}%yE1k?-AV=>&TLSqh8&*6z@!?{C;S2RPj%wyB5gWMR|6WZsQ(~%@-T! zZi%6`!ZXsZW8dSKw(X!HjPL{4Bc<8j3M7w9&I)<~oRqQLD_xWw#=cCQ3 zT!L|Y4BngbQjR&GoUs;j=;NDm>=(wd5}B{q19f^wS)E=uoB$u2@NT1gfbRm9&B!H= z^1W^ndH#r7v>Z+7*E!yZeM&bUveMmRE5dz<{joQa^!BC|zh^kWFVPWhz&^_f)-7;` zV68-N7(2@;yc_oo%P*=<_;5SwH1^shf?S1;D=x zL_RC_C;QFVDQ@9L)R|u81u&=kMYgWwLB1?;5x$#-@22VR4B%<%OE{(_wC}KXi`_=R zus|QSd->ls;@et$TdTjNtdD#y=Zo^mF__z#xaQ%Sj_VFwt8h)kH5JzetQBP(>oKN6 zWAQ!n-bF4M-CE}Yxf4b1!%5QLQx5As2(d@|{ z*D`@W>GF{%=blqC5uBsCyvAr2zgOW~XFb0!AASloj%Il^%Kw119fGlve|53e-vnGm zW~=cMepcb^>cqIZXmhIL0Y1BQWlnlX- zjZ!ci`>~Gv{9Z5o=E>xoTn+Va}azec1J>!EBXB^Cmv3B zSQiG3@fWJI^A7A+OUq#CyE9V%=bo(5|7k-vLCf~6ZyG%{Mw8g$jn-v`naT|PCi|h@ zxA2^@g{r*ggZLcf?`s@GSW>dFR5sO+^eFq2wX%T|gwF>|$Cd2QjQmY>2khS{{K}bW zU+0ZNTS}I2qxg~VJ)CbY-=%C-$@7+}xF?wNqkNg(T%ILcyrYzSDAPe1Tx5&rXg?Gk zvGO@FOQvMe-_j4z=g;3$^dk2#`$jost>~Adl*yJ7hqS$?_SsO`2kO~y{p<<-jDF#u zud+g?qwRZ69`GY5rEL;uFS{udJdu5{IzyG1U%AwOk9eh4;9`Y}*$KE9l(!G(XkPgv+6JJ_(D23Gj6L@kfoFBE`aC)FK7C?z z8RZ+`7l)EYXwb0oEa4n`AcFJIHh4ZNzK%K`(e(ho^hLI3dPAEteYkoH@QbUraC4># zXTed{W_Ycouq8F>haFnI_2w;l31ae zy+3)XzG9p+*BLrb0=}cJzYjcO9CeaLE4G(-l!+Yl+^Dsmn!@k;f1 zc#3Xs)6Xeeqb>Smv+tBG8NPcTWsl+IGCpO0GcD7AarK?LCByG#YIteG8TqvC!^41? zwPEFF=As`nqss1tbQI@gwWf0$ZdChtCid}Ps+A7=9Z%7xlr0zI{Qni;Xyb`|uhpx^ zdwcO7X%)9x`9OV3*D;=F1ImaKrs9`pN2jOYkNM*WH`K9E_pzMS(qW&*E#|fptt0yjXL(T*@_|#k{WIyeN>?c7>9`w$@emqm+ z)4q?gr#$i-A^W%9->AoAKdFNhox~LMXOqKtR>g95KO*)~wc3}KaT*vK-~#+#f&Zs- zKZJ2+SqX`WZ75o+l(rg1cvAuSW}oIV?AN{1@t?M07YI+W)iZP~ZLKRQJrnhv{uSR+ zzTJg6@#Ak|Pd|hG@J#QBj;DrEW|pFi26N+F<`&gm=>`_g1+B0AFM{!Tj?7#5O4kfG zJEaS+a6;DQZYVv@RdbZW93AqMeF^6%gR%{P8_v<=YL4P)-{3segExOs=Eu_W!#IEW za5O~2kuQ_&oK5?nN!WW)leonIY;`raXUu4`a|^~>Z#Q|5H+T=f z+?TKKRlXKu^?ql295ee71U!_2o;00h-DYB?8*t*?LHqUYatHKYq6KTZrJLh7oZo`C zqpjQG?tne7djVyZ_&%)1QKjtQvZPrVOZz|eDw{2I_b~wF3S9~XdQTfAL5`UA5eZ#(D*j~_W^(0gx|gR zEhhbEHabJVTl!~Mka7n*IoPOc439Pz55`!6{wgL&4KM#c}Sy7sP$wU?wSez8}bFTNa-wD(j^jc+GNPo3;buHd#?1O?Y`g^)!?HQ4C+i$p_!Je!A7X5&Y{X+oD z)!aL=DX!75$@Smq!}}$o$7q*xu@L7XW7}Ccw+k_*3c@G8EyuTim6+(ht=tWix0_o_ zjG^0ZLBDQo&m{8vPJ(-t-$}x5_Gqg~pZQQY;#Lg1EA#N6RAvnNOWQ&-JS#}uqK*4r zoX0$~&(<_bfwFlhtYr;G^Y>n$WSP#1iq>LV zVjHe$f-^(Z5pKyeG&EyRt(JCZ^O4CaACFb2uLSj#p}xn^-_{G5DeM*9gD=$#{!ctB|!s#YZIF$#}tltL2#cRm^u_D>*uK zs*JVVcWOr_jk>qtB935u;J%R^Vtdp31KfYVL-c;Mz3KfP{@>M+2{&M_;^LQ$%-U+MAT_=oHbFiN5Ajv=OOI z3QuSli&P#9qtWYZLVwVXX)o7j%M)_8@cb}o-*42Leew28T?y85c8BmErv0WH zx;h`}$cW6w*#%l?3GgRq%sR@Vv5%dN-NE!6Tn}^`ZOc6TcgWWo&f8u&=t7i>-Dx@I zuq1trJJOhzE&njNtS?~f-@eo|cs;w~|NHBMWv0=$hH? z-)9QX933Q{X;=DA`wgeBzyHZ_e6=?Pb1+2aErmS?d>32p4LRQEi2_C=*e~OmpT`2f z)j->E?w?$Imm801agV~gVaXfiNE}F`fieJvz0sfCfT~@;q@o!^U+ws~y z-c^vf!aw}=l0 z`Ln+kD16gVq~q6wd0y-QZ8RmjsfaML!?VOEb4ukOi-?Q1fX2O%aB2py7j^;<#;)DDxlk2V*SRYWny zsXlHG&vL9fO%LOD(1k6uy%E`9Y53xSvz2Qsx@vok>)TSEQlw%DE1$c`!4bu3T%E@# z{NG!Gs|YwSyvU6TZN0{wD)5dyfOX>B3$xtJNN-f8UHk%EhrSE1c|=ueLBZ zRkqjIo{>06T5e-*Z*lvYasHwF%3;JU8wbv>2MdfRc~)`#0>kN3JH;7Nr_P~j{9eX7 z$Ksp#_6*mCXPUrddY3a3-v-i3M^5}e8wT12cVW$$i-GeWu28fP*PsGxT!s72*k-{2 z-3Js7C<}ZU2Xqm?;B041C4b%DAx;Lp)YU|odLR?9=K1k@lrIiwFVJB@KNkMSg$hnK zV85gjiasFiB{@$f5ThrezX=)-bic}2Z3(XTn_scs2fno4JlA9B1L>w;xoU2fW6gOVMfqP2 z%LGp#9xn6>L3%BxTgJ}`=b!YtZW18g2vDQ%FM(SF83_gz%c0d?PSM=uA``eA2$nEUuRAI9c;+_x6+i}Z^;8S1ZR#?tQw~IP<>tS~fe!GqWz1WnKEp!%Q3~2v~FZxR-VBBhc7r7Jg?nH?n^oTo= zw)L3v^%BRTF|!_hI0pS<>JH0>IfvHO_kfoGY;_{(;qV~15d+Q$JuqqyeG z|6r+grkredfNMPoYdxv*wSZo0Jf9F&I%?XvO=KN_!-*PibG}Z+TF%q&%tQGC{SN1K z0q)B=w-{gkeD-566(`jC%i3dJONKA#w%V3>t1+)7=7ay`x_1}k)}80Zx+i<1vd>gJ>l#RvJwMN+!-99d8%)r%vi@Bs|gEl`O|_gp7reBG;Y zz)QvJUHW{}288?z^++id_cO~g`nx9@J!W{N%eA1+bc1e(u+nuh&zj%3<>bkM_tN|h zxR05&?t zv&OkWd$wZ}zmY%q_7<_B>w6e|GCTOb$c+87;6!bs>H8v5cTYGkc4)&-x$#b+B@Y1K zE1qb%)Zc~rn6HJp^Ah0NV&GcpJQ-(+-_q8bF~n$Vy^s0N2I3ky>;W@4|XqY#m zFLz#Y?+@riV%Sr6IroQMSi5G8z_oKSNvf=+^}FYogyTtmm|^=+`}i znJZNHE2jEYd@F6}lz-lT_qCB;u;jxz zkoJ>2?|dD}8$si_Uw^9N)}+jwY>GM_(jH~t37FH6I6kO(;A=z1lad>ZG$#1R+OG}s z+N@offV~U98}Yl*Q*l+nmnJ&B68j35xUZHpaD0MGe;@9t=Lf6&w_!hii#}6`3x1Bi zSorQlZBu$<$k@LD9bEO)|Lhv_i2Ch(_<#P*S6ytA{arLz<;uKK?@gIcW0x~ML|-7{ z_Jm7c?;+wppK^U!G~qod`Q4h`!aDj7B=%W2n+g-JbO*!n?qGaDw`ng0o_oxtEhyWf zPl5$F`H`L<3os(`O8R@~yuOC;=h5s8;0@MCxp^thvohli=Y6bc8O|@jYZWs%6vk`u%n|`|VTQSg|d${k(a|Lp_d~m)L#O>w+oMQz|_*K4l z3ckKe*+Jf%97Oy6_-B$IPLno7`y!K1WzGcL7CPIzCGSLdb~kfR81cq#`qju84cx*w z8WXS=C+6Y23BY+1f%7(lcUzBrGDhNs40lNz)*6bw{*kF@z|+1^G#cTFJee;`KL9$d zZ^$rjIbfdqzFyO5(~h9ij0#1kh44$>Tk+3|R_g<;_MB-vXO`1G!O045g>P%{uAKh3+M-N}t z?ek#4;d8q)U-S>n(F~vgY}&b})=)p|(+~dsXIvg7Lz(T+=8yAIY|Rc+p8BDz>qk=d z7mVXDy5hg6leSVHoIgzTB@v@C8ww~{s-tD8dx_(YCLN@{^Wy>ge3Pl`nM8RE?e@VB zm*H8d|BSiEHO=V1dokV}t##r>z-Pr_&@~3=nzVxF<-paej26)?b$!2MKo%0i8O?KQ z)fvn`)9Bnn`T{uBuorpsU`r!EdO z!&A%$a2D~>PQgph0bfnSeE?@xo3Ru8_)f3Q*o@!J9%Vy6W6p*20*Cr1GaPp)7ohIR zq%B>ZT!gVq+5S4+cD=2AYmNEd@7TW9#jXFGzTxWKG{-gYZZzA+v7vs-eMbuZSMs5< z;W_zG>%iD1i+uOvys;fA7x)D8H$%%OW?;T&=E)~!;(l*`zsRRv=NPT4BtPw@i&7HD za6Z0$S?93%1h7Bzm|@-qto4Ujr>0@UL~qoC^`m}@w6iJa?-Ymf1%VG`kK>eEk2t>0 zY7*eO;KUY*hqedb=IfX`!{>_y_&_=7HWuG^BS0Un%oPG$DS?t3wh;nZsHAL^9A*YpnZ zbxL!;q*JOHXk)pwk)KE44BZCy{c}%#{AHceO=6oI&5oh`I=oW!Nf)BdM)Poe66tak z<07X|VhqLi0U!L1x};b86~5W~Q4Zhy>)!rHIh!gEK;ZvL!a;^vJxF6q?(o=NxkIt=<0#)a?Q7HR&`|xo|**n#E zpSmc48+)=tS?N5j%N3tJ{6Fxy=maFL6M5DH6)In*e-8YuA{Q^0{OY$TYv((hbIqf1 zE^kBm{t9(w2ydv*&3VTv_#v(x2Y4Zldglw~mR&995Odb}_+ZZ8G1jr%yQ!?eBz;mT z69{d|{DS8d=tjo<=xm`(ZoZ-ej45kM2m|E#i`D+!uJ9sgl9LAcw9wVm-_mR9;O@}h;q86R;0`2AVV(Hj>yg;v~QT!xU* zxR*Y6L1P;FuxW3|SctM&d+DFXIw{xaoZgWc;Qzzd)5i_{e?fTNa`4)5&_?A(6L?vi zv*9MMmoioGwNr7G5~l+{^Q^iGFh;tH_?u@|y`^j)mEHFe?+2tKaGvli88}C9www%D z+V_#N;Q%fUVBSs4yIJ#hwGV!5>Bxd@nV3vbR)c76`w zUeiK6XVz(2sH^mFTBz$u;JY}_hWT!A);ytwcD(hEX`w!`wQ{mOpXO}te3{yNpDH}M zf#)XAgAr=o@^v3${;qQH5f&+{<9dwO@=D4KW_+g3Io9dJHRF%dzf8gV91FzUM~yvo{Rr} zxuMI;Q9g?6_!Tnl%RZxRsgh%T5?1jKe1Dg&K++rj5560d_uYG8)y_J+KN#;nj^D}( z+NUeKrecikyKm7R>?X0BGVGUK#yAjt*6BI<9bu;PpF5rk##2v~V9m)_7n+N@Z}8VS zhP~AA!T|mLDb|@Zzu9)9$gav6U%9QxJJ1XKqvfyvsrxnrefkUj_odo1AL9AsWQwFqfnBJ$aBeDl2S z%OLcH@=TtQrRL)9qyNEP`1C9If~PQk#)27*zLcXcHtM}9uP^uLu~(z~;c#yKL35YJ zG|z|qQvqC1@$Uz6a4;S3vW|eY5;W3p9DgjggjG%pj$yk&e?i5AFfK$oob>puzox8< zah1$S>Zz!%kLM2SnTUJI^Cokm{MPSB8Dk?dx5Qqp@1Z_t9T?Q~B`Uu}2>*xRnuaTd zs|n@xxb|HXG}>`Z#TAbPjrC)L#-kx+M>_^(y?AF*plejlzGAS|bj z3mR+jT?ChnvXQvT@&68O3rc&u``^9VjcI#O`n}l^We>Wij`lmPdwqM-U%lDi6N-ks zF&8Bz78cKwNNk*&qW_Zk(?m11kvX2t*vWW*5#CSX|61+eM82x!O=XL@)}G@%o>x9s zmp_j3b$R8pbon}zw_li4c{%A5Bk_QE{*4pa<~lrU2rmUsh;O6dWpG8%&w^BHVOwXlduOTD}G7$~z3ieHJcZ)xpS=ih4~WlyvzV3h8=ASrgO z;!8ywC%9~OIABKyA7zglRC&=|6>H8;RfwHxVyDE7Wz3!u@P3wYBmLk@>s7qsq4Z;7 zOcy@;oP0j+iz4k3+tm(V;Zg^@06c0LXes(5n%3#=nu`WG^eLtdxvS&%f+jRgYi?z~ zF-ZJ2JFTsm8jPU|Yb#@%`6PXwJ+hVt#Ye3UL9hw?W2b=m)nq1&VDeO$kH zvVLy|-YcQ)tS%p>%l{d)S&7l?evGj*mjv~J&l*^7*SW&98b#Je9|+S5JVN@gUgB`yNF9C9_od)mROvn(dQ8GH!!|x?(b&T5Ie3#-W{New^b=z&-Hy?d~aX#Y~y0L7Go?i zqO`A>Pk&t7_RFSFC%^JLc;{ASBUCxPzaQ`H^a!u{-xmLaZ+#mDvEvLgwu8E7Y=@&* zr!_lZH0<jGCZcb&Q7s>ezjZS-t`LSZK!Dt(j-B z$Jb+zA9H@Cd(7zpm$bn1(H8vWta{X=*jG_I38f7R#bV*Rr`e7>@$WSi^3pYIvIT71TQ zyYuxyW9a?b?wmC1-s9ESf1ua>vVhvle6}6WZqwxv=6?sj_fyQ*s?${L(n4ADMc(7M zpP0Aa7c-|k%9w+)_xLZv#>IGd4C8Jy9<6TwD&0UsuYt=q>Wy=Y4Lf>KYm zm-#2tPL_QR84tKo@HT_0RDLPueB|CKu&;0oj5TPi+_#xN7|aJ?%--kE#Uaqcv$_~l zopX>7JkA)svw_>6wiadrrGvx=edZXIPt5msZ$#Y^gFV4GBMT)4JAJTj1AWwJ=gMx? zHu`@2SH_ILPy99C)VU#Fl-S_aV-%cBz6R?g|8Elebb)pIMQ=Cx8`|qLu7jqBeuFt3 zjq_;TvZVK$H~M>OQ`F%s^+u=Wc#pk7`N0Y=YPGm!Sl=-yTVFL0GdnXHIFPXjtAY0~ z_V-kZv2`e8Tj|lKH-8Q&YmSQl=nC)Gx}Gtp(O=#-XAS78?is$kl5;38GmAq z_q{h%?wB$7&$^pvZ;LrMtq0u3bSkqU&Hhy9`j}THesk#CV)_ANY?&2f98-njR7gyrDa(uUMu=?&>`a8fQ^I~Rq>+&1@ z`q1BMWs@)U?3LV;o4hfHs55-cD-1V_FWs%!TfVNZz?j^~I6$KgiLNU{IhJY7a_#gu zoC)LH0@Pb#Olt%kxw6`z|8~>?-%xp$j@u(L1i&$43$g4((ar7jf{9t~m;~BNM_fA` z5jv&-^`LKyF`tcNvEG9Y@vJ!@XVk4YR|-Ua7Hwqgp)vMqiC;^bn+Rwdm^{UNFQpaPgJ1NQR^vU&9SB!{#Qf4fc?`-PN7-|@CtW-KujJDd zEqgKk*J_@%8fC;&fUUiaQtu+E_kf0>DZq=n8Cy6HZn@5XVh*yr`Jc|XcbNY!lcdlAY2>^IQ%Np7%ijx!qXzMyHtujA}1V62fC%a?j*U2XI-|0B4lx(;YEQ+x znvxA;?Q3bz0@{=7L)jkB?hWBNgu&7RoayDvHHdmg$CnPoD)}~Lw2RRe&VgWqitAAY zoXh@|wKY2Rz)|z+PEfwBb+fw}gMV&#uI~R_hkaxJsZV2H??T@S8fZt*>~fxOPtA9k ziy;(Wv6pl&V_gP~8ze?b(NmOF&T*(;XkfN}lJ#%{(D zI93G(SnsM>EHq+F#TgGAE%Q=YjU0lm)bD|M~^s(OYq?BCn3i!Sw;IPjLA*q%&ww zx;A9gUlx?SkIcmoA0ITDaBZN^D1Pg4O~*9@*T}Uh|A>MA>rhWQel1)!t_ZFgJg;4= z@;NY%19LyFM?Fn=ciwoF<8cGZX5zkG=bL2C2jCR&)YGMV$HJz#D_jr zSuJhN@%qr#hJ%t4!u ziAD_oRHw@ zCEkm>)qIYS*b^!z4R!7l8NbC)apgKnjGpOH(zj99_cJK2Ywl)VfqB+EXJQ)k%(Jv{C(hCSohlqg?X(2*y2lsWo2X^QLSA6INP7fl2m)QQKJ z3GlR_<7t~4GFFJJPhv$!$+ui5@o)%hzxuO^(L^E3kYc(zQQUFt9w0nUSmjp%%@ zX7n&GgtLn@);@`+xZ0b^`Lh=84Pgvi`;gs;`yqpitV_ZnD>!)CNb1=qXBf+2Cg#o6 zZPsADf4!UM+znZdne%WN;9~^JnZHZyyfmB?=D|rZ%FoAH<m|Mfwu)XYL)#+Vr*DY;-c6aYhVfQ`hVk!L7(FS_WB-D-gh$^ku_!aYWv)btNt4Q+ z`5M>7*w6dZU*q!|nWIc(4$;?gIS3g`sj8g%{N*0=IM8;1IBEPzD#vF8?F5We#kcTI zUY>`coO|N4XE}e&ZF4qr0jU@lz6=EGFx1ak^8udwvyrQ&}RxBL)&e@F z{C_Rp>B0Vs)Jbf{EM@SFG2CFadJF0ly)>^v;JSjm;An|A7|q%eyCRxp9;JZ(onFUS zh|z2e{iJ+#8tUF%#`c$cXXuzE8?ffZMyvM+;MFwNy*EqLb2Td%;H>0RXm0F^Y`Cy z@#jS!8B-mzn%DP$L}lny&H460kqs8Bt5$xZIFIU>{hW;NHYLoK%T$) zx+BtLt8~8c&Rc@UG))UKf46ZtXhzU&>&L6SvCJ78zg*>vH8j0QIxmE8;<(CjO}kwA z86_@P`OB*=1>JWC{^NH#t_a?V;92@IMSm_wStqU;xW?nE!8H|E6`pS!8#J!fdZ`a^ zFY!=H4v&wL037Atw;8*<{5U9#|B}j!|KgWD{uO1<=9T$*^nxkIFl_PG0hiELwp{Wa zb$Y~Ml8*x4P=3YymkH*$v~~#$t_6HGH732Ldy~v7x8I1VIDm`;%eZNkIu;f2F=0hw zziKtmkYsdOT%-ot+=C5_hj_Na1qt+{b(hBN5$ZUV{_13% zzm9ZNdMD$)td_QiqpmYS%YP5gZPa0pzy*9}qutk0Pp#m#W!?{Vs_`->#jX3*+#i)U z_j-P`{pT`ow|@Ud!4p%nzcr{z3$&- zI>zxBy`GFOMcsCFULKITyxfdD=WZeoEOGU6c~Eb|xF0-5#nh_;95epwLCs_Kg;iX= zVzwELx>t%ksnv5XRXA-AaLO&fGhO%%g;GoE#sz({?jAp9nMfSwD5 zACkCrXBd;RQQ;qz{hHqv^9{)RhJGLQgxXS>Gw2)7Ht@a5WBZ}U`k5QVuS425-k^=q zlWz+hafxfj@P32-Cj57NGfC-)Q}2151=};ZZ=>k@4hJ;&lV6odE_bGEUU|#@O$XLh(IpQ!Jx_JWXcONR1y?we5FoN%62aZd94 ziMiyQEX|86E4&PF%BVaU!ze9d(6n8tuX~VK?h;p4=~?~QccZkN;vdyP`$yszWs zV(K9H+hwIQeq8!$;NFluTjZnTc2MW5a?3|{fN#;UWJltA`U23;al+*)r&T!pjL1og zojB$YbPg`DGfFpkVY|r^ z*#|Kec-T%z9{X@KPI;%;7EOyWCWKK+ekWut#yBeWlJ*Q)3p^u@`LP=@PmLaP^MzSI z=;@E;Ol?G`u4jd(OpGKPzg|DKL)3H_PYsMFn zc(AnR0q@Ejb|b;ZkJq-3?_0iaqfxrOzrSZGOKeRVacq;xV&y<9e^K4uvF?5#-Uu0Y4 zUsSH-zxMZ^UJRbA*rwcIvgkDU4rS6GNuK)pj7436j&sX*PVmp7#^?7H)2=7n;sAcK zp~xJsqtnmnoT{LXiFTGFu=!7_NM(Y@#FcE`hz5&|)HxyAO-Ss?7SE3%c;#?CXHgX! zehb!ZQjyW~+fK&qO?ppImxc3%IXhq7k(;*|_Ue$=O=BvqTHx|1uKEco{-}vLwAxzS z1(I81p;z9TRQbS+9e|e=-g2u<)^n5*tz2c7(QYeKlP>clmOgMv{vJLH@7=@l)Oe@Z zn(r1_o3eqc@F~g5+@gmc%Pow3OebEAg>E8NgS6 z!rtg+J%F>6Q3e`=Jn585>}O26vQOs!D*0^=vOeajv7+clZ7SPpU*(c!k=%2ZiXA+; zQ_-!Ti9U?OYy=2c-_NLZcFVujwYiRU-i+WRBD=o(?#(Ewj^59fv z_pALqtN6@T`X=gk`EHHY^^)&o|45hKQO6j5ivc(HkS;7;%W=i%$HjNIc&*k|ZYaEx zI_vCy8NZ4>&NG;~Eq0e&B{710nt!<1|EvT|TYy+!Dy<&i0vBurohTLsf#%@Orz12J%smI&UYDO-Hb(r zziq{S-W^2$PRaG}4LK*T*XQKl2H=ism|&Z+>twA-Lok=_)NoS9{+mwvL@BvPineS< zqxTGBlcIc(%vIbQMO&6v`z6Lb^Tm$TaY&!{@rmT>i6ykpVwv!SHH6`CnP+2P|MiRho;#YDt9_n}3+LrLFE(1)1&t@3 zDPwHuGOx@u<}zXgQfPPHZ1D%BK9fY%Ti@7_7zq{JO}&n?;uW zTjq0Wh`LX)jQ$y#R~(D`+6eWcQ+4jk)&aS1smO<$ynp+GdTPRXqhprg8?@2RSnOCo zJBB?NQE=qvGi4u+dR6gOmgegUBB_dxM8~ttn-0FlGUgXth-c@$s(2~fd*?GhBffv; z3#BJyy+Pdu=gQBcLOzf-O&i6&@hTbLkM;QO=Xh+T=Pi-^AU6rkY}iX&)<>RwzvPDE zdA!8SzS7_GN9lWR-MBV|^6uehMqy+;XwoLP2za>2-kc5MykO2r;<7cjDxP&to$_sa z_Z2mUId$#bBD2$YdJe~i^&)LD2Kbue{aA8VF8BN~hs^o=IPOpiI4CvG`=i))UQb<5 zX#nsO035Ne+>>_--n(D={?F(m-{ao?PTI**Ps?+rJWq!Dy}UDqKH!Dc6%J#ylU|*H zweaWqd#IxcbjeKA5fL267z48f_DCDYP(EIl2ka>h)~=MYx@i?kj!hd_jE6qD6|8## z%44X1yp}WGkNF|ZXr+}5co%7C&H?Fq`o4x2dm*!FAL)!xWVW1@oL}ZlrHuInjN7qu z`{5M5)~3eIBfe1e3q5ZwA8d+@=6_bVz$@q;&aV+kcsIQwIlo-O0PV^iCtpFj1?BXg zFHmrmoq_*@UZpQCXeg{7*OK_Ei#U#aG~V~~8pwWr{zu(m-uE;2gCDd#w(IDD8qPA<+=`zfqBy;J`={U_=x`Uec}?XnaGO5 ztG(ZRMLq1x2FYc6=KCs#yKb8{jev`j^qjD*e>t*^i1H7X{LHAYLC?)mxWDVjcRA0% zZyzfkVimvLQ2pw8MbR?AClx(fUc~Y@5B7_$#ZbDe%xk!3K8{=XenjO6^V{V(?$bQX zVdKy`iTwGRz`j`tiJg=hHHi75WE??VpX5lhR3E;sa8xG$*$=*=jP1|+2kjr1H;1SF zH*+Yt-fGEbtoCMhC|VJFuHw_YdEp*hbWrhd{x{1z4xbahPj~2Cd*w&;DV*1*(0?%> zgp*M3>b-2Yz9TnozkJSDl(F5|k#nKpN%B$2{!?vxUwnC=`TaM9=T&eb`(2k`p7;NM zv+ge)(H83$y>0%wGfo)R{ymP1c6xcw*zS>KY`;nG-739z%k|zpR<~cCw@;rqvJaN( z1NWqlAIxgz2UB^rxOZt|KP+$W`tS93e7Wo&!J*(hUq7ekp6BfUWFMGg6+EW5e;Mx8 z8mV`_V>sF0f5kiO(|?8EsyqIB{C4wK%-fOpE%Fuh{BPjnlK%yKJiPtOun_+Wm|^?H z%r#*olzhdQ?c6s}$$a>{%i5S>j+?GXIzyRHz?dp|63NqaqO6l~R&}|GgPW@KbK4MS zTNqO$2Koc^edj57AKw`1rJ|E#o+gP&9_h$bGbU5D(Nmq5tKAejN8!(f+tqm*U8{06 z^V(P7a5WR^WV2C83plWFwee%xktm>wG5APL((*)*&>pAXdpjOvwYv`QEvL)%l-RF z3rW8*ha)hql)!&ncmvvbti=1DUTpM`E;H@d_Kpy_wAfcM=UVABy{?=?`WBL==bPGZLyh`@Or?_oWUG-FbZA)@4WPKe~(}8=hHLo z-Qa(l+!59|cPj0pK1?qAm^=Y?PyGMkD*yB0*Z)f$|9@UzHO?sdU4KO1WB<)qZa?CA zgT9}ke?#~!!+OmZ7~d^6Y_<_`gXaLgtiQfjgt>2(_`tipcwHmbyvd~v+dT%KMY9j_ znLRsmul?8e?x#Elb^U}fK=Jz{{FdYQUi!q~_ip@xAI#oGeht5O%JZaGZqb*FISG?q zD`3R|y?!l_VEq+ABZf=%hvvCO4-r*($#l496wV0^;GB=VqcofGIxn_;tVLw1C5gE6 zD}3LspV9V%&)1JudQ{r)EPYwg^j5gVeg2@Di>bnw-XQDOX}pl3FPbkSqwQFELdEl; zESY-R4zzze>a4<9rtFkk#808vYIFnSr`aco(a1C60q=gaNgVU-ml>ad@iOL8hM#%( zkdi+b_6yz2J4u-!eJ_3&VGiom+76&a#&YnSq<3(!FH3*Wo387;`iMFgpw2G5dm-Zy zrsq0ptWf7sgvh8Db}U}pYHDsR#}{4S6)TG>kRoTj~8 ztJa6lKp*I{+F6Kss>#jM33>DMJHR}7?y2YGt&yJpuf5DTC@n7A{-&P)Bw#&!&f#lT zeNJx8PRsiys=rx;Zw~slR{EP>+=uix)p_5H)8A0OU9SBps`Ogkgt;aUz5eW^T1)OZ zIlpFm{(8!sqn#o>=e;kfedo{ls3X>Kh+fBWsC)W|q&Iz$$~{}uK%L-&pnaa+M|-hQ zxKVV0tm~f+^?zy2X`kV@vF|0-_Kug-de0`_LcJ}t8>>5f9-O+|JiPT%ZXQfM56nL= zF?j8hT*5uZ7c?7!gZQ5`8GW&SBJ!+MrmgPqHQbt4-=CScBN3(Cc_`yP`MEa<$1}~O zcjrs}19>(5c@OJ(KL{Fwd_{eoq8Sui&+-VXO71xu^Mf_8yS-v9mwWAt!{=FIwAc?0 z9d*1IKV9q(%DU3%kK^};dV~#F ztB1U2jXj|89|BA~B>YvOvBxX7ACkU>g`QvKg$+Ji?LBM0l3|_48r`zKkFnng)n{d2 z$T2+VH6)VWiRjDD7eV*q|4<#bn)0JNaOSk)s=~D#S1-<^Av}k8SwUkheplfdiEACM z5UxGA?!#4sYdx;rxc1_jhbxV18|%R}6PLsjGbrocu~+m+w&Q)S_2Lr08FX4uXsca} zzsTJ3nPcs=cWf-~4iXy(1-E{#-M?R9^!R1Gw}G=w>$@JG_g-O$Y=C;`0=t!ZP(|m0 z#wv=bvoF7{y+_n#He81D{@bYUGO2IR5%n>rB=c+sVwYh&mwSHQ$AGUP+{SRW$3UCL z@?{a}MIx6BM^}3j>C-~JE_jsF04G&xz_-QoFGtJLW_-ts{gT&_@%bjdq-a~4Ww?L$ zUB$o9hVS-A!E;@ybKHZT0L=AN;ofgs@;B>!PCmrfk-T@jA$nKeo|Li(U#8K6I-VVB z8Z-BS-ooYcNj&!&FgEg*fjH+<>C3s#I%8Xyk2l*J178-~n5l}UB~D8p?%DV2PS7#A zMBe~9JsuZ5HR!7X@{eMJV2IAy3tz;T9IM5iVISc11@wn~pgukpj=QvNY4By6=+jR$ zt`WIqB<(e5xnwNdEV$!U&WSEpwhEJ!eOXk&!}J%GOfDokGzAMEZ&PO!zZsI316y*a z3Xh|nrBJuzO4l|JO{fd-?)o+yF8WH?n1MRt1AO^nk2#fj{>AhAQNc;kSHQ{TFDlr00{x}V%ZN35f8VCc)^1bqGUcn_1s81+s+q%cGG+7? z*`V;hOO*TsIEgeCZRpE1eK|$sC5!iktQO`Na_Ju(G#d8>G|v3x=L2?mLjy(?eGp35 z&ti@;+6Lb*ws#?8xi=)f)T@py#hFo0o9R-K3A6!#+cBf1#!1ZTx1+=RW;OJh(#i5ai`*CM7+_i5!XZfPQ18rIY3T zAr~hpZ>*>oo0rF)@)lFhz8=-jRD}_DDqj;BWmT5E_85I0QLjxHqED#Ana=fjXqC`8 zOGFkyIdiqPvzTZt^(NR$J;oj&JWR!X6!&4=lP2a|{~9nfbDOdyHH>-QL)%D4&GXht z{L9rI^MdD(BN|cTc=sE**fz`oJFQ=x>u;jGCalgv=5V~8HZ0qycbkzN8BGrUJ;wGs zeLf@rGa~^jk>NojfwN#b{*T4ggsT=8;o=Hwli={eZ_XC}z2weWJm)Jx*9VE)NRNyE zjLt)az5e+2ZE6iwe&riz%QAHJg@)wMTk*N-r@?m`Qd!!>t^0xKI3H zlx%W|#2g(gG0mq+PIk$SigMzC_7`%tr@XIxabTRqfRmoCent2GRF8pt-vQ8IGam~L z&`J2UNR^BguBT)*E$OA8k{8 z0FEkN->>+PoAcU#Q@3vdV9h2&+9#g!Wrt${L(FBZd{0`%W;7)J_$}UQtWPM<=7}_! z$N+)w!uaL6zWxP;bJlHCdUZJm1%6j~c9gh1JYdfj#M&HlWq~`o?H#eDppLP$bZWLl z);pDLco^`UN>z+R|BJ#Z);oDPi}207xO$&X#6Io7Soy8U(MqOfsY4z^n@vmMkpVpZ zz`S6Y;L>^7tNWEKQ(%{PUF~(T_48voQLpvn3u;bJ*LJ-t^c>TUs$BCdotWF$1xAl~ zy5tBNsPlde`@_WdhUam6cah!~f6=*ps)aXHb{W1MPn~`i)NM*T*FL}RychcS^E{xP zL=0`-hV{G<{jLY>)B}dlE^IIM4k3 zz6Wq2aDqdA!Kp!GH0ZgX29&I#`l_Ju37!{UrDPUD7evHn4)|-4j+N9RISV9~F<|*$ z`uoLp&!Kx_&jEe4=*yEJ9FykO zH2f2CUaj`#zreT=amlsEy*G#7Hq3FDM}=~YKN-g9rhS9RSKbzR?B(QL_M4V(Gc#Fi zj>NVDbH z-P+%yzEwCkXf!(;x2jketglR$ZP=>#Kdw9P3E#ips^ZI)ON<##XAE?ch;?TE*mog2$o-S0o4pB%e&Ptvo# zO}`~$|DYFga&nFlYd$n{K#i|RuM?l0r^iS+d85WNo3%gPpU+cxyA$~B2VW={Jz2wN zDAD3|Z)F?c1s5juT(o%Cq0ejURD2&({2^4VC(dWpMR$?^k=zfQ<74#s;Lqy_%xiI5 zi#PqLq!+Ehe?q8-b(OS%)}TEEp3&!_ zRMS^}f7q8lA5t{;g1*E1b7%|tExhk)Zw=a0@(`szNS>$81ky6}sk$0>guXsp*N8g3=FVs0P9r$%R z?q?lTvPPa!KlA$)QT@9Ayd3RCJo^RS{Q!7%J8d@}Q#Ks`4j|nKWRTLk?^;|j zTw@*&8KiN>01wyVe#2Gjd?wA#vvlprt>VX*kuw^&p~lkk9q<7c zZdLq1Y724MQZHaMh;JQX4Cmu>(?JhUC!NlH3!3H_%9tgm(QGH6eHBSV&$3kDb5RVpr3Y zs*$r%#nld3o4XZ_u}o-;TK|k4m!mPB#k_umdOsw6n8%}uA2Y_zwce}ySZvIpP3V*4 zr^jMGsH5e7@ugxOPh+Fvy{yfiBYq62>@T+J@!3wW*q&4HSM-+Fs(i8VuD2cU9gj8t@fJk~Q6EKGxkyjE&)#t_AV9x7mpH9Q`uSwp**W}rG^pDMZmvd+h2X10nbf+%APJG3~C=cJN z@CRjD^l$t&=^$IhRJmW<|569a_4)vFd(#omXZLoOu(gtgLUMvisX7ufwhikgA zA&+iUG&{eaoZTk+3}b&&UY%$^NPn*xXn!*IBYlHuPmB9&a6ip&FRI$iXnRsa_(V0X z@pz9i1oA`|Mb`^l5<)FF$)ZX9I zihlhb?=47x25)F`#fO%<-DvCHki^zf^#3ti6z@X2M)6zLYd}0idZrG~c@`$L3^llg zeAU#<2aM??In0;K-lG2figy)1O1h9fU%x~@7(;SvySAbIk!g$v%~!t`FpG=yB4K}? zHOnmy&vJj!-oKwRnu%KOwLr@`*jI@Qj=6ZOoxDkl8{eYzG5lXF|B1s?4%MHvEB@uC zcIA6^y52uye4mYovRy33S;T&i)b?}VZ_oM797JDyKIg@QY8+kKpDd2`vdEKwClo!q zwTii&L=MUPVXS{B@lf8rVeGL_>|D%z#)shEe6wHS2l{ zo2Jjcu5(YJe{0ddUeG#!L)j{s&l|FYf1zI}X9z3bx;W0XdAfby=lXTo8>)WRyZ7tN zp{44WdPE(B`?;8h9pYOC{{QPLRxO{ACwTQUHFvwduFkp|luZJU$G9)_&m+vYO;l&p zJp8umJyCph(5S&>Tmaa={LJ_N^?XBQ6r0=C9E_AR<^iW9>X81=romsQ<4LjU6nTL0 zBl?__(gxa$C>z#3u{ED6bTihi^ep9rJ+#Cg@0c352dt@L1I;t(Ec}WrFV-$Pi26?l zcz~he$E|HGMk$_4a68}Yz5Mxo`!-VttYmsY-R1{Ezee2G^?MKLIU)c5HJ;)0mBf6E z=eRLXwS$cP^^YoFWXjTJ-bx#%bBdII-k&%N_7W=@##Yn4?H+wdfLg zj>vpOIz6LJ<>+d%axwKdCpFZ^Su4D_F(^y_gb~0Wcgy@v&62*_pyX&-BeldUNu(-E z6RBWXRBS2sGp3ZhhdwZ7RTKL3Y`GG-8@McdsYBXy|2LHEykSsM#&`E-<)b=D&S$+} zG~N4i>3==?xZ1nZP`*lagrjh?Q(#QWsQ7!6gckWB{vXBjD133Cfc6%6_f@pTZ+Z6d z9okgispq5tzr8r$daNq<)|ou|ZhRIPWZruBQireJY2zF$lkjNV6I+nlo}3E`^Bqnpn6WsRWM zM~zZ4_^nuP@_D_)skE`gdmAMdcV2F1yKysd-yiTU&u}g0d5bvNE`uXRZ z7;7YzIe=gK_z)()Lz`>-GN$R!&FZ`$zNhZ$0Dk*$agWBZXYa$+kUG?#ywg-Vjfk=b z;#u&(X7bO>p-Er(T`I;W#yd;);;MnYI0Ex?tiZ!0-(G1bWrok#t0Z=%#I4o#SBz;X z@jS!hom03U#Kx(4F!>i>#xq;5xy17^ls<{$dF4}OJ4G9#KJql=_we0wo3w6tma?;W zceA#=h(BLUoaBNAY`r=-;B#n$mW-rVQ=X@2$>?NP_$T0_A?X&0D@r?&^1L&TdS&V| zkK3$h4D$Y0Z|2;`-N(lmJrT2I-(EXUUyJ#>3D0-iv{lH_C?9=Y+u=p$4#*2n&GR$l zJ6DI*xxxR}hL!Dy&@X~76pwh8jIr5a`}4*aLcjZMhiH=lKA3q``2HBYD{{O|il6-9 zCXvDJk6>=Ho78w-#+;7E{k!`9Xd@M@i6skO0K5~f=511N#Pjc2%;h#*qrnxd#qS1O zXOwCSX*R`L#|D(9kn5dO~>dF73iy(rlv zWyAX0@nUzh%%h&0-<>QpD)2;|pEsaI_<$LN72uHjK!eNxJxJQU3%Jn5xvQi=uFQ}Ngl5g(5JlV|Mx^F+x{dynk`>&gnOeUagDpd@JbF~~J zkn{!}V9cIWHWr>Qu@?WcPtE0xz<)VgfR_iquJMlW|L1CcU&|%#KQ||r_yGIpRE+P} z;+vDoQbuByrn0Y-w(#R{#?;*Z{$rjmQ5WmK#x#s4r;!(r;tXt?r< z9-Ox?P1b%=f7_(a*K72;7}1wK<@2TX&{RDK)aTu?Nx@@4dzm>dYc!#o)0G=~Hl>f}ryaT`O#2L{5{IdYOCu!uPETwn89cy`q%2$wG z|Fw?H6`R!Di4QT#?#R>sR5C^k_GTyWIlmvTeK$Lq%VE0H$TLpJ(coVdwHYsJrX~T zYl24fTJWs6reCXg6v|iHW6J;Dq&_OWRC3Sj7;9Pj@6k5n6~_*UMp=gTgk5bAC zxxY&^KfoAov-fDbW#DG!Pw=13*`sI)%6O@tdgwKEmW8xUx-SDcO3Ofc=aNsHD*k4E z9Y5NmV9fUwbkaE(Cm-@|TFnvj#q%8b=DSzBw4)jNN{jp5i&{h%(;3??e!{&49htsy zxxCxhm(O5du3;R30&55TA#@J*DcQ&C-jTd|gG|uF%w2aW)-kp@GxS20zYgQv&-`3| zj19>r+whnhK>vgGYXfx`(?`*I(hZY|s0 zE=V|t30*+MNWm;QREpFc1e9%QyMQ2Q6B`9<>Y;mP!cosN#lya? z@AuE|%XQ7QCNuM%pY!{?&x89lazE8xgZrf1?^Dlr<9}zZx8YV?@;qi2n!D{jsi}6Z zz0WSJm}2*@oa#1KLUyU#=WfSu@`r1^R(#vP@+LQh|2N?OL$vEw?suCi`8?t7l=Nf%97L2H})5ch*4K$$DtTXx}O2SGXM0Tzr40sdCoM zJ!|>Bs(iS+{8qzwx`uj9O!;&zm_OepE|@5P0pKY;A2bNK-*$V8!#pmn*8(rB>2{gq zvHOF~n2~KmTbuzp&mwae_OguU6)(Y z-@cpsN}Qi4;4ZeW3r`~P@$M4zwapywv{f8XxQYIYA9lqG;M96IY~5%xPsgD13G4f1 z@2_nL#%t_$a+4~LhaW#ja54ehOC;C(`QvyWNc4Jw^1vU#JJJ|)C&t^Wl0MRy1I&e= zdyg^%WsL3GZyWkufz+vUR{J@BgT{2hw~+O!;GU1~lGoDw^BFkD7}o1RtB6Cai+JSc zV&hps;ycGi8l`eQtFeGCZsxl!z#rz$B<*1wpw{SKCv2@zXU}!~AY~tj1!(VmU-P!_ z=-e1AcSlKg{eIg8B?dmPRS=cJ0d zbTrw%1+*ms+-$qG#i8!S@ubNU*%!3k30~;uHC(3We4jdl)zyE(FX4_j)|Q21+YN=p%FW_6BVnNn8Rv#4Fc&*?7i0(lXv* z#IyZfxjF+nzqAiy_eg(%V^(Ng$m(Z*QQ{t>fAMm_=(B*)a`fxZcBJwf?w5#T(Qi0y z=6*+TFY=PYu_*N580r30JDgPcoQP|^&_Ci?ntW&x`>1$M+tnC@<~zML-}yK``g`Kf z5YmU~z~w)=?vr(ktQ;X;x>2%1cNZ^BX;%!-1zh9`)oAwOIdPWU|D0 zeUq?AJr%q!RC$wqNWpb`D1N{eegk?CNmPlRdL*Lqd)))PuE1KgUEkuA13uz$>a)gC z#RnCA?_e96=2vK15lq#&2a^jN=0a`-EjH|pZrEID$MJuTwcgH+Ot<&;WnP6p*n!A$ zJGbJOb}&B4Hq4=RDDez_Cj-VVz_r)r`Wfa5;Kq78Sh2zmMfkf4zmM3t4)K4nWxfcs5W!>x}Mk3Myju zVEo@t$$IGDUOT-E>;7Nh-=I0=G0Z923N;e1jHA~AUYVCs^0-2F^7W31B7;6;=UI>0 zejfJswGT1v2mJtB<-k9}`2gloMjLHtgS>~a5=l$jd{| zH2j3(<@Rg1?*#mW63^PCldU(jIFSkkSLJ}GH0r1T9K{p#Z!?biuv6~Cj;&zFur|7+ zk<51(=b3S9rA?pH9CMvL+Mqw&B)fMiW$)=r|F-3JVQPyViZ2(q2`0AScZ$H1VeU~d zgz^ED4MkSkjENRBa9^?920qx#HJgXFhh0_WaDPm}%F8zW_ReSS(~A^O&!W?^&OV*W zUT2!abtlyg@KW?Dbr(#1PTV*)A2@s#U8JJFx@K7CSk6-r%0eR{8PZ5!hjj;3D+ z=o565BCMO}5ErT3*?UfB3M|l%vPaf>!?&*W*oTq$pY3yRiu}4CCcJZ?B5C} z4g6k^`Ixedlg1qLl*tOaVd7=Fb#`82qn(d6?3H@K9(8r?j?t59ceIWp z%p|u$_u3jX6~2f}ojPd0&UljOOB=o+Uir_N|1mhpreDF+OW5C_>M!B%wTfkmu0>w9 zMc%u;Wh>>qVEjhV&Hc8>4Us=fU+asg1Fo>w@V9ck`aZtf$&akE?FeK3KWZPwZ)+bd z8=~J>=dDDpoFl!Dj$oXFJzcut zxDmBo--MtWjvt|P%8B@${71erc*dH8gz^>nqJ)Els!`GSwjftwSf6r?^WihItyJS zO(f4Fee~}w<<0p^d23j==$GgI@02AQRU^!`Pj+ybtyP(`F7wb^tmr+(>9_p_`cPWoZxOG zf8~)}vrc${*ed`(h3x-ZnT|&7BhNBl{H=c;>^W~_mM{P3K!-+ayYwHJ6B~8)Vt&~Q z#>1?2pLt99VB8r|=ki$BP}J3d@zYm#xS{-yuEVoG(P?A zjMm%1*sts`<}wF-VsL;yT?w0b5d@D(k5~N062HWCq6d)IwUq&0s2`fND=Gh-p0=tW zbKRM*y1v{`KEUtW;w?p;fH&G9-#}gTIqkAdVJzI6EY@_CvSVw2^37Dp58bw^v&kg~ zNn3}sblItnYyV=#@lMBEM3&;bO--#;u^7#?;>!$t$2!Ki9h7C`+C18Krf<(Pu5cSLyA+Zr(PY_K%9P9k&EZG5TW4?68TF?h4 zO5X#2U9~OZpVtv}^{_$E*U`6e_-pwedM%G~@11fP=oo!y1x}eefWGNkHwo+Y@yE~a zBi2}#InwA;NEqpvXP$Q5GR?j3r8AoKNtHklhm{u?Oxx2M~l6zcBJ zF3Ph*x@Ee~`7K*}88_ko8v{IV&3&&?T8Hyti1S4FVeEsCl3!-h4n(}6jg-X{-;Flg5O~b$?_l)TkBLv*VvNp2*4)=+&HZN0cW5hzoY{T|bj|@dx7X;*GefJXJJtl_0sm@ zRIQwW;~Eu0C(4J8-I;{Gw7bQtzJ9jNGsTQ4U08(vV=nUpwc=|?{`#8_z!w9kFA%qX z@N}l5$y%#@_xiWL8Z-uREH>dI6~nshb~n+6PI(V9R$DAy%PSMY(M8uYEM{T zjPrmoTnc_Pk#YrKF$eD%dwdrDH}O1(H8!A z8e|#ed)Bt0#S#25$GE{*m0eI-Wz!bjR;A&kLgF+X4Os6>PPBd!$58D_9eyd(VWJP` z=oqUiml|WepJ~6P-GuPgTlSrQ>HbNV9WU+K|3gGLKc+Vf*h0X zpFf_)mzYapkwM&m)|=ooaVF{Ayna)x-3%<1P<%sI^8jP~O?XWSQZy5rRUjlQ2) zFU~jHWE@q>GC>PGtC4G>&dGDm!+M=q=WT)RdF9?6ZM2l@>7N&pwV%<>{2;#lU?ILC zJY0%rgahWgH6?x)+A&{5os(s+JZ#Y?{_QULgwH?3yt6*;*P5cwFX-w=j^ra)a7I3Y z&#SX60%rs0(~bW@IJ(9hk(m8zPtNb(cV1HP$vl;Rlz6*mzMq!$o^vVj&wH%LM8b)s z&LtVigW{`5Uk1X?%WPlQ$(SA7^X#1@{g~cPdU0pKD7aaCN~VWG(&rhHhrl!@%UPh} zD;qrKqmB%MyxXh6d;V$C%E|bCMu_%y!GZNHUHdNG{2n@J54#lUB4tVDLj67F;-mO5 z<4APj2HulCj@0i*>OG)O)80nPi5IkV?Vrp}cgKTZ9nJX-UV42?cg(X$vOnbe5PeX3 zgRd5VugWvjbr0yR1zOHAw4zLJ$P)#SCwRVzIcv%H0w(B|wc90rKHj48*UC9#9mnTa z+;2jE$j@ZnK;P3BE8A#6WUAfU*k`9NY;j1tD^Ta1Jm03zcwK~bN)yhZCvq<^4Vucd!Bzjgt|9e)ZpE7GSiWKqe0e(cGJov{iPrFf~hHXtWmWeHXnxm_KMh$ z3RBDN5Oj;mFE@C1%Uo31VRM;hq?UQ5fTOmHTSV^)8_#+EdR`5^gyT1oJXbKieLMO( zGOPT#EJwL{qq0qLe}wia^4PGo$NOc-*qk2M;@lm>crag#VZ<}0J`CJ{NR{{DD+E~w z^#sDkevkfqt+SMUBaQk~UqZV{)h_Yo{r}E%RO)=EtZ%!u$Jx76!PLo+F(}Vk<-7zM zdsu%Xz6j_OadZ~iO;;=abR%?a!kxfCC=31|Yfa>wl<7K+ z7V)Dohc$TlDYZsiOUh$q`2QUGL|@q8jS@TO3OToN4eJT}@H>fn7CdGwe2*|2Xi;PN z_tP0^&!;bhHNqa@c0|@VN@-u4)uQC29(3!XL)~;M{>285;}k#n#vAQGa=*ma`!LAd zjLMfNU@iy|&fmo|8!`v=qNvTjbHA?~@cXPCj;!%Q<_hRPkAUwzY!`bCvbSz94}}G| zi_~~!{=SB>-X?t+XE0yS!(MObwpcTpw92rS;n^}zXh!l?dl%%1o@0IgVD~tWp29e* z760dW^P^R^oJDVZ$MeVAagcmwM*C8%KgS&x*&)_G7jThHuQ^ZR*MPbD%R$B8-xNL* z6JM38U^nmj(?R8%GB0QdE&s*o%%D}A^PuXBI&)EF(?)qV-o@_>$O!>+pG{hnEh}`% z3E?y8R$Rx(d*>9&Wm;?aNMd07;6n?9a+_XzD)+;fkt5PBmvO3-7@ zH{`QzkR26`HeRJ1xjtY9pWu3r4AJI4$|#Z_XZU%1(Lv{#=S1-9=|0GBt2!B-su0I-#e36(AE_M zjjqtNp7wx{wa?}r8|jtI5oq;8SReX1-XnG#bv9~4K=X}I_a6ICiDNx@#*pSN{2Nqv zO6}G8bT$b1<=WBb;-l7&@)hqf!pkKs4(sow-(7YpGw5E_|K@ys)-F=- zB|yh0j}c~qDd-T^BlZE%k!JE+wQnSQmKC%y;D6eQ8y{hwvK4NUbJ9!cUmIlH3g)P< z$K?M#ZiU`kh;K!i#8}r~@z81?mV~W_0^H-O#tzHKO(2o?|>W{sChPIbHF$v|Zvt)I-{S zi2OnP&+0v2_hk8PIxi}7nfcGB;rXxeocqbW{W=YmJFIA@@_WwH{+utrsQfqmxOuO$ zo>aZW?q=*6zbwyj1X1=`Im=t`^?NGQvGt^i2eJ`F_}*B^sChJOOq`_bjpg{Q#C0#O z(Ua5}If*qh7SC}dn9~baBjeo_iPoixyBtDbSi;N}s|0k$_BHrDH-$uL} zi2Hl+y9w7w+%J8RF%C++@>Gczj;=gnrX{VfRTqVpEQ5lR4euzDAfLtsqQA z4!UoF=eN!l+Tr>(M#7RAp`Aj_8FlX!FDiP;_+d-*_$c( zlCG2k-=4K8pZWe5zKy3Q!2De0vX@U?j{EqXw*&vQ&yH_s~6`475ft~JGOv{-JBy-Ivg)7heA+ov31?Y=d3`{; z8h5)~ixj?%;y3-TEe>g0TQ28sD#r7Y>*IWuKS!4>iul|-w8U%8S3WIrDlw%5=G1s+vT`}ZvJyO>>WseQ1ST%U^-PYk8@*=^{*=q&gaG#2o@ zAF}^)^k<9E`k!xT>oUI;}(?j<;qzvXj=v67xEHy^n)j` z7O`%><>@bEBTsR2>R{& zuF*zFKGge7#%q-RJ8$Ncct^pPo}pZ@zFRlGn{ox(_w^$B0{J>{*w`z&k@7`TdQFbj zYpBN%WZ!2LJnB)g453uMl^n=A3R1YiZ(qmqSu72{QS`+SP zau1C5J>O!yG2cjTOgvM+MY)954n$@3uW+mmT!cg?m{b^`9-(YDIgzTGiVuMu0yTJMS-nT`_7 z3(v0IiE+*Sa!Hp?d+U=5)`aFq4%(HpPbGJIBbnD6^T|Eq>~(sjwdXp08}G}z*6DK2 z8~8&S{O2yLGwFSLHgQeK)>|1vOz*o)0DM$+XjqRbdFE#ww5g(g>oJ~p5m{y)o>7lh zXM~bYSw46@;OOCu%H=BajXA#Vv|6*)3dqFxoj9uG3_JIVjM5=`p^xM7?#{9jZ{olb zZ!YTlGUj0>p52XS6?k?Jo?Xtl0X@yt`m%kv+}Sw|f|qC(k({k9qJc^B$$ zM*S(&-;DYPq5f7pdj;Pg!n4D8HUQ5KYEv<=mbN6CdM_L*9bxl_XWc_3l;=XpRsMi+g>vj1nF-(#Ez zog0QZ*?3Nbeg+bUTIg-EeUy%?H=s=AtMkt<9WIk|LhXKj21CUsbAG?QJC0QoWZO-+ z()4*ioja2avd=`j5#t{h>pg$Q1X#13^Sess*GMG$_lhNpXw&~3=9P2PjP~MMUJoY} zo=AK;%vZSaNl%^kR&yND=l?i=oJWq^h_7b8_=1VsyU$&)-X~G-a9%XG*8BaiUUzb19e zI>tqy{JkTiVpgg1leWY-kh8j#%O$=6*I!~)##MWSQ|^g`D|g8IT>lK4sm9O`m+ zBp2wE_KcD2&zOfi`=nxC#9WENX&vf{y=6sdA632}lB)xK*cVXo3286Kb+j0;bkTNo zwivof!Ewep!CKAU2>q-~`Gttj4aQ%}c#{$4g{t+op`LIeYEMGh(IdO#Wf|suHtn=I z0hKpp!giJGo4ya+>t$^CUd&x!Rhhl4s>}J!NRu}ATCewZb*}L-j-xTz&V3G^JtvK> z$K3HO9&H#Bi!HWP&h&4T@yw8OuDkRZ_&e||ZTR%HRD0N$PS}V zl*d@+CwdOt!sp7wNT>*uk+wZxD7ySl77uw2@{q zOPQIH7s8Q5eRRf7HGS>{rmJ0!}ZrZ_#}_kjXqpdupDw(B}9<)&g7b zC$8dK-e(xAt0Ilg`pX12uA{y-FjAYtoVA>{fqL$zvpy^4-c4F;ul2r=O1Aeg8Fy}h zn-iOF{}ediC$;wtE6KgpJ#ua>FQ#I~1(SQcpt)Fh-bLHU%cp^MT;oz+{R-o$P`-hD z5iox!|DVt~DGhVCtPADJetK={8FvHv#0ZIrSFUnn<98I}h-o^0o6xcua&D64`?4(L z@m|)_-6x z+f{r4<`cA^;J4K>Pri>A_p@iwS0j;R4%MTBM>HsZu*gb*y%5&u@DnQ5iaPtO;+HUf zOwaFLd4jee6+a7rG%h-G?yj)}98)0j|H&V+$kE5N+Z6fox7wVjuJ;(GjeEVH|!+4Uat`|Hx_iZfq z3bA&q6FApD6i1%_>ebea0pcoe`e)rrH3U*m; z?lxs}LAlj_PHmo3=X}0hreYfO-R8&XAm1}K8fCdVe*QZ=_j7z3saEf@*hKddd^13wMGYHK(CZlEVb>c%&!)&(W&A%d z$hhyRaW0?dq-vmh&vpwzpF+k0o3UvFktv6nKlTH_QCEC!%oT7;;%iEq691HWBddZx zc|x6W=XksxTh7Rezh;h5IJz)8!`sQ1J`G+RbHnv&r$lJkRh`*4qEl@HyiMW(7~QeTDbKt-%#ggP zZ)e53zv~I|IEC;2vv7svv^?tPaFhJ!T9#FD<`g~p^;SP_o{FVMU)kUjq>XF;RyA~% zZA2D&!4Xw<)d>3HE>v+tvvQ#OIoh7ws(e%n#Fr^~g~*AOap1|1C1&W|@dmH{qAI%= z74q4xz+`76ehXdvTGBD$Ha{a`v1Rn27{!{XEJqO<&0l6G=lV?m5+c@y$ zN*%L(P_S~b%QoAyWJ%J;PCVa}OnCJdgT*0>tK z3%t_EDv5o=oEW9%B2VR~A|Bo(ej$E)Mhg7ESTPWApA#~w2O6mb15kDV$_+rd0UmSB;XjUpkH7M{IsbF)uloOD!cJW<_1lnq zYi8W@V<7l(6k3{_zjntRcU;xdTyvFS#ILHGtYQX)E$AH;%RR>GwG87DuB+&NSXaWK zocZB7b;dEk{}%xs@{{L!jDbtK7LJ}PaRlh^avs-A`05n!ylO8TjZ54Y$@7#{u@R{c z-%6c`@Fm|)mUBsk5%7Uz++*&sLf{|f9qaQzS6!vig;E#&$W;5~&<}GZc2(GV(DVEE zGG$oCj)Tropkd^ijEae(=&ktM7L*zfbmeyl<6SB6T>6AQgh5jXFNNlVUOw88IG<>v z&|K{864^)h6>@kX%Ds~j8)bVhO;@CkgbDN^-$;0z|3dv6(Z2;o;t1_q0~t#>H5Pni zq8+j3yLqYR_7Hdp;|_8SIrqFT#J8m7`Bst4iOfCj#cxmPP57TNJ{L$Vj1wYr#u(3Z z#Bq^l6dbT!#+zW@nUSDZAUx(92kI+FlY*GH386H#=dT=NI74YzF+MI(RcPc z!d!&xx3PfsHZ^ZX9Bs$Mhd=Cb zZT+Z))f9LVUoV?@yH{bn_oyT*&KkRtk zj77(d8MVjkMzy!ecV)URvD-i{`E#S#wYhhWwd3Enqnm)UDO_#1PEOXj)G8Dmt~sq? z9P@sTmWLRNP{kyj;`sEkm!`!&%?y(UN9zQK-`3~LMW%=;e3cw%x?aI!#;JOFswW^wVnpSDh#6&Ieb( z+#G--l?P7cJ7;cp#WPoUIv>Eme83*t!8$MP8VmX;xrLc$GnzP(W8CbNkgqY0p`~aH zeG&6x%&Bs-lr1z>EMW3^=m>0gb>WElZ?Mfkv_{~&(3x*DejQ|dhu^#<@wNf~sTwyN zeVk_(rEc0R!gj*@EA4jp<@fE{=F7A8iVjm=PI%D6NfTDnb|$eq6GD&MxgX-MSAKj6 z^>yiIj!$R&^)~7}?t_0xukU+8qw73BPNL)=wjT0mgJHeLb-oz|FRjuB$0RZu;BkJx zTWte!9c8gmmr;&*N4`m`7(I@kE84#&ZQ(h~h~41zHGX%*uph?n7W~$D#PK?9PZJ%9 ze1Er`Rq~j(q>S_~2AP!fES@YXj3)z}gKht%bdeD{=3%i>?J`DqaYeN^MC(e-sS?rg z(t~sUbk4=X``3C8p2~EXS2dEK^=E#rU@#&!m(S{4b?3=1Wx;AsY_=Hl-yhepk@2iZ z`_C>4#BJdTmDQrdMDRNh`t#s;wP#x3Px#-@^~3x~#d!9iKC2y>^FN=<(XqOMG8U~D z>F)#cUO$!(IpMo=b{-!#@0sI1F9$qreq-Lr)rW z%yCB)A2y;>TtzD;OJ1UU<6QYZzcSYg^D>z`M78M>55*3!(2L;Wcul~%z#Q#Jgz*^q zj%SR^7tu1o0I`)!bNn$V+?+xlwA#?Tn`6kyf_qcbHJ_e+Ah5p5^UHR!FR@i3V`7k( zgmpcV8!4Lbej)2V)jiRp9Qe`FQe%~;b5+Q@8Q&V?yI8~h2o3kl%f@)%3jy;c!2+t&+USWq39`LVucCmwM{JD86C*f>^C*#%sOO6n&6uz1vSI-0i1x+fiOA zwHDDHD}IjO(KtdscmEmdzeztQ{xKKaNc8OwlD{C?u6%b^d6(hYYi5g6Ec>#HXeae( zCuBSM5wwA4Z0oo9{+syrX5t?3hdNuQ&S720xZstOT%Jed-U?#}O6+7mUKrqOk3M(Y zOYb-2NbcK(14M4g%EKJ<pYkC1g{R^65f3?-{}S*To)Q?fwP*{HS&x zoiptCGrCYhgz#jV6$A`PVV(YgVPxWX7I#D6&q+F-^pxcIA zUWoR8tL5Jbk9WmFE1->#w2N?;81$LrS9Zt2DmX{+_jW(t-W)x@jK}&e>ac&^y-t3v z@o}*RkL5%rv>uSPV%{p+1+Wg&@g&JDpw>F| zfanN}ktS!&D^%Q4#VBa@lVb)1{Mj&lylIvQB7JLaU1FXs1J@B1HoAK*Hg2L->?T7rhp zTX_!d`*8j__pfRmNgKQmUqZ(!6W+}-*EcCTW)U~5J>u8T^gNkbU&%L?t6y_|mu_i5 zcPv)1_n1Sdi0i=T;g5O_*`U~*?-tw8IaABMLK|=#fv%d0dlAAk8`gmH& z5a&2QwNmTkXxmyaKw{{Vr#v3T;%EKhGC~0Dyyz}!AhV}<`=e3BQ^ znCYlE?a2#37q1{+0*+N_d&i(0Yl`e62h52s+g*qE#nAOhgNng}xQ5(=l(Pot!%60l zsi?BquYMxKk$>Ij@E!ZbeUX3am)?WSF>R;NTwxDHy~kuPW3n68b#jl?@B2BAQ*NKE zWcE~Yr3ra9kV;mCAU8wqy@K&!nKLRFn?fJ2f`D~Bik8(%`(W{P%>nGQO6We9p>&>Cxt zz1B_+DYTO#`run5x}3h!OZl8|I#}clB^OD5A5ISl2DG`B~eX(%uK_?dk6gT@UvF9{shl%c=e1X^shzQ+A)j=?5_K-ttLKn5mUHAB*fhfRm7me^)_s`jFR)%G z`2a^{=^H+*s0Ni1pZ-SYoDC0CsRqY_J6!{c4Q=AOeOh0|GZ7R-XPVKRK#O_fiHnQw7 zeRY^J|_dlU!XqzrUKcmMs`lp5VbG=rLJ+#Xb9)510|VUBrgYzT6&& z=ah5#O}NK5gzJlYwqcHS*JZb1Wwil)RLVmiKBEmQtBoGtu#Jd@Ey?8@Cp~=1E36<6 zPt~z2xbIWvDP2I}E9YSUV~piJ&7q9`u5S~&`nN}RKbARaLe7tfKZ@i^!Q6~-i>-y3bwZ}v`gYz1WESEM5p`$3?Kds#W52XFrwBlW3{-SPoscu*DyY=8l0)ug7 zTlIO8&p$qvC;7QBw2vd_ka=BX{$yV

ocl&m%HwzmNMce$J5R^d5}KFYj$1d>Lj46A1 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 diff --git a/version b/version index 5eb381b..c0c8af0 100644 --- a/version +++ b/version @@ -1 +1 @@ -v8.10 +v8.11