From cf603e52657a217aa0130278e143e08bb62f4904 Mon Sep 17 00:00:00 2001 From: brent s Date: Fri, 19 Dec 2014 14:13:30 -0500 Subject: [PATCH] initial commit --- .gitignore | 25 ++ README | 142 +++++++++ TODO | 38 +++ bin/build.sh | 197 ++++++++++++ bin/clean.sh | 84 +++++ bin/mirror.lst.sh | 6 + extra/bdisk.png | Bin 0 -> 1154437 bytes extra/bdisk.png.xcf | Bin 0 -> 219311 bytes extra/build.conf.sample | 133 ++++++++ extra/mirrorlist | 7 + extra/packages.32 | 0 extra/packages.64 | 0 extra/packages.both | 104 ++++++ extra/pre-build.d/32/etc/pacman.conf | 94 ++++++ extra/pre-build.d/64/etc/pacman.conf | 103 ++++++ extra/pre-build.d/etc/customizepkg.d/linux | 89 ++++++ extra/pre-build.d/etc/hostname | 1 + extra/pre-build.d/etc/mkinitcpio.conf | 67 ++++ extra/pre-build.d/etc/pacman.d/mirrorlist | 7 + extra/pre-build.d/etc/yaourtrc | 57 ++++ .../usr/lib/initcpio/hooks/archiso-custom | 186 +++++++++++ .../pre-build.d/usr/lib/initcpio/hooks/livecd | 15 + extra/pre-build.d/usr/lib/initcpio/hooks/ssh | 67 ++++ .../usr/lib/initcpio/install/archiso-custom | 23 ++ .../usr/lib/initcpio/install/livecd | 21 ++ .../pre-build.d/usr/lib/initcpio/install/ssh | 110 +++++++ lib/00-im_batman.func.sh | 30 ++ lib/01-holla_atcha_boi.func.sh | 11 + lib/02-release_me.func.sh | 50 +++ lib/03-facehugger.func.sh | 39 +++ lib/04-chroot_wrapper.func.sh | 29 ++ lib/05-jenny_craig.func.sh | 61 ++++ lib/06-centos_is_stupid.func.sh | 70 +++++ lib/07-will_it_blend.func.sh | 77 +++++ lib/08-stuffy.func.sh | 106 +++++++ lib/09-yo_dj.func.sh | 296 ++++++++++++++++++ lib/10-mentos.func.sh | 104 ++++++ lib/mk.chroot.sh | 275 ++++++++++++++++ overlay/32/.keepme | 0 overlay/64/.keepme | 0 overlay/etc/lxdm/lxdm.conf | 62 ++++ overlay/etc/systemd/scripts/livecd.fix.sh | 9 + ...bus-org.freedesktop.NetworkManager.service | 1 + ...dbus-org.freedesktop.nm-dispatcher.service | 1 + .../getty.target.wants/getty@tty1.service | 1 + .../getty@tty1.service.d/autologin.conf | 5 + overlay/etc/systemd/system/livecdfix.service | 11 + .../NetworkManager.service | 1 + .../multi-user.target.wants/livecdfix.service | 1 + .../multi-user.target.wants/pacmandb.service | 1 + .../multi-user.target.wants/sshd.service | 1 + overlay/etc/systemd/system/pacmandb.service | 10 + 52 files changed, 2828 insertions(+) create mode 100644 .gitignore create mode 100644 README create mode 100644 TODO create mode 100755 bin/build.sh create mode 100755 bin/clean.sh create mode 100755 bin/mirror.lst.sh create mode 100644 extra/bdisk.png create mode 100644 extra/bdisk.png.xcf create mode 100644 extra/build.conf.sample create mode 100644 extra/mirrorlist create mode 100644 extra/packages.32 create mode 100644 extra/packages.64 create mode 100644 extra/packages.both create mode 100644 extra/pre-build.d/32/etc/pacman.conf create mode 100644 extra/pre-build.d/64/etc/pacman.conf create mode 100755 extra/pre-build.d/etc/customizepkg.d/linux create mode 100644 extra/pre-build.d/etc/hostname create mode 100644 extra/pre-build.d/etc/mkinitcpio.conf create mode 100644 extra/pre-build.d/etc/pacman.d/mirrorlist create mode 100644 extra/pre-build.d/etc/yaourtrc create mode 100644 extra/pre-build.d/usr/lib/initcpio/hooks/archiso-custom create mode 100644 extra/pre-build.d/usr/lib/initcpio/hooks/livecd create mode 100644 extra/pre-build.d/usr/lib/initcpio/hooks/ssh create mode 100644 extra/pre-build.d/usr/lib/initcpio/install/archiso-custom create mode 100644 extra/pre-build.d/usr/lib/initcpio/install/livecd create mode 100644 extra/pre-build.d/usr/lib/initcpio/install/ssh create mode 100644 lib/00-im_batman.func.sh create mode 100644 lib/01-holla_atcha_boi.func.sh create mode 100644 lib/02-release_me.func.sh create mode 100644 lib/03-facehugger.func.sh create mode 100644 lib/04-chroot_wrapper.func.sh create mode 100644 lib/05-jenny_craig.func.sh create mode 100644 lib/06-centos_is_stupid.func.sh create mode 100644 lib/07-will_it_blend.func.sh create mode 100644 lib/08-stuffy.func.sh create mode 100644 lib/09-yo_dj.func.sh create mode 100644 lib/10-mentos.func.sh create mode 100755 lib/mk.chroot.sh create mode 100644 overlay/32/.keepme create mode 100644 overlay/64/.keepme create mode 100644 overlay/etc/lxdm/lxdm.conf create mode 100755 overlay/etc/systemd/scripts/livecd.fix.sh create mode 120000 overlay/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service create mode 120000 overlay/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service create mode 120000 overlay/etc/systemd/system/getty.target.wants/getty@tty1.service create mode 100644 overlay/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 overlay/etc/systemd/system/livecdfix.service create mode 120000 overlay/etc/systemd/system/multi-user.target.wants/NetworkManager.service create mode 120000 overlay/etc/systemd/system/multi-user.target.wants/livecdfix.service create mode 120000 overlay/etc/systemd/system/multi-user.target.wants/pacmandb.service create mode 120000 overlay/etc/systemd/system/multi-user.target.wants/sshd.service create mode 100644 overlay/etc/systemd/system/pacmandb.service diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e778be5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# We don't want local build settings +/build.conf + +# The chroots should be generated locally ONLY. The perms/ownership would get futzed up anyways if checked into git. +/root.x86_64 +/root.i686 + +# We don't want the copied/stripped/compressed chroots +/build64 +/build32 + +# We don't need these in git. They should be generated dynamically. +/http +/iso +/temp +/TMPBOOT +/tftpboot +/latest.64.tar.gz +/latest.32.tar.gz +/lockfile.lck +/VERSION_INFO.txt +/BUILDNO +/screenlog* +/logs +*.swp diff --git a/README b/README new file mode 100644 index 0000000..20b94b8 --- /dev/null +++ b/README @@ -0,0 +1,142 @@ +###################################################################################################################################### +##### BDisk ##### +##### ##### +##### Written by Brent Saner ##### +##### ##### +##### Built upon my (Brent's) 'BDisk' ISO-building framework (http://bdisk.square-r00t.net) ##### +###################################################################################################################################### + +## Why Arch? ## +Because it's a largely easy-to-use, well-documented (https://wiki.archlinux.org/) distro. It's no-frills and incredibly +flexible/customizable, and can be made rather slim. It's also very friendly to run as a chroot inside any other distro. + +All commands below should be issued in the root working directory of this git repository. (For me, this is +/opt/dev/work/BDisk but this may be entirely different for you, depending on where you cloned the repository to.) + +!!!!!! WARNING !!!!!!! +I do NOT recommend running this on a machine that is using wireless, as it will download a LOT of data. +If you ignore this warning, be prepared to explain to anyone you share your wifi with why Facebook takes 20 seconds to load, +because they WILL ask. + +It should be fine over ethernet, since hardware switches are much faster and efficient than a single duplex wireless radio. + +Future versions, once this project has a dumping ground, will fetch highly compressed snapshotted chroot filesystems instead +of dynamically building the entire install chroots (both x86_64 and i686) instead (with the option of building fresh locally, +disabled by default). +Till then, sorry for the inconvenience. +!!!!!!!!!!!!!!!!!!!!!! + +## Prerequisites ## +-At least ~20Gb disk space free (remember, you need room for not only four chroots (one developing and one staging for i686/x86_64), +but also disk space for working, the finished ISO(s), etc.) + +-The following packages installed on the build host: +(NOTE: future versions will have dependencies checked automatically and installed if necessary, +depending on distro your host build machine is. the OS detection and package installation component of that isn't +done yet though. 2014.10.31) + +curl +dosfstools +libisoburn ("libisofs" on CentOS) +lynx +rsync +sed +squashfs-tools +xorriso (in RPMForge repo for CentOS 7) +xz + +and *probably* a few others. the scripts run with set -e for the most part, so if something's missed, you'll know. +oh, you will know. + + +## (Re)Building ## +$ sudo bin/build.sh + +Yeah. It's that easy. The finished product is in iso/. + +Build output should look something like this: + + +[root@dawid BDisk]# time nice -n "-19" bin/build.sh +You have not configured a build.conf OR you are not running from the project's root directory (the git repository's working directory). + If you are indeed in the correct directory, you may copy the sample at extra/build.conf.sample, + edit it for appropriate values, and copy to /build.conf +For now, though, I am copying over the default. +Checking directory structure and creating lockfile at /opt/dev/work/BDisk/lockfile.lck... +/opt/dev/work/BDisk/root.i686 does not exist - creating. +/opt/dev/work/BDisk/root.x86_64 does not exist - creating. +/opt/dev/work/BDisk/build32 does not exist - creating. +/opt/dev/work/BDisk/build64 does not exist - creating. +/opt/dev/work/BDisk/iso does not exist - creating. +/opt/dev/work/BDisk/temp/bdisk does not exist - creating. +/opt/dev/work/BDisk/temp/FPOS does not exist - creating. +/opt/dev/work/BDisk/src does not exist - creating. +/opt/dev/work/BDisk/tftpboot does not exist - creating. +/opt/dev/work/BDisk/http/FPOS does not exist - creating. +/opt/dev/work/BDisk/logs does not exist - creating. +No existing chroot environment found. Creating... +Now importing settings/variables. +Checking/fetching snapshots... +Extracting snapshots. This will take a while... +Configuring snapshots... +Initializing chroots... +Prepping /opt/dev/work/BDisk/root.i686. This will take a while... +...Key initializing...Done. +...Importing keys...Done. +...Installing base packages...Done. +...Upgrading any outdated packages...Done. Finishing/cleaning up... +Prepping /opt/dev/work/BDisk/root.x86_64. This will take a while... +...Key initializing...Done. +...Importing keys...Done. +...Installing base packages...Done. +...Upgrading any outdated packages...Done. Finishing/cleaning up... +Installing common packages... +...Packages installing to /opt/dev/work/BDisk/root.i686...Compiling kernel sources...Regular packages......Creating bdisk user...Done. +Done. +...Packages installing to /opt/dev/work/BDisk/root.x86_64...Compiling kernel sources...Regular packages......Creating bdisk user...Done. +Done. +Installing packages for 32-bit... +Done. +Installing packages for 64-bit... +Done. +Syncing overlay... +Done. +Chroot setup complete. +Checking for appropriate kernel version and mksquashfs version... +Data is not sync'd to buildroot; syncing... +Syncing important files to /opt/dev/work/BDisk/build64 for building the squashed filesystem (this may take some time)... +Compressing the package DB... +cp: ‘/opt/dev/work/BDisk/build64/usr/share/zoneinfo/EST5EDT’ and ‘/opt/dev/work/BDisk/build64/etc/localtime’ are the same file +cp: ‘/opt/dev/work/BDisk/root.x86_64/usr/share/zoneinfo/EST5EDT’ and ‘/opt/dev/work/BDisk/root.x86_64/etc/localtime’ are the same file +Cleaning up unnecessary cruft in /opt/dev/work/BDisk/build64... +[64-bit] Now generating the squashed image (if we need to) and hashes. This may take some time. +[64-bit] Squashing filesystem. This can take a while depending on the size of your chroot(s). +[64-bit] Copying files for PXE, and ISO building, please be patient. +Data is not sync'd to buildroot; syncing... +Syncing important files to /opt/dev/work/BDisk/build32 for building the squashed filesystem (this may take some time)... +Compressing the package DB... +cp: ‘/opt/dev/work/BDisk/build32/usr/share/zoneinfo/EST5EDT’ and ‘/opt/dev/work/BDisk/build32/etc/localtime’ are the same file +cp: ‘/opt/dev/work/BDisk/root.i686/usr/share/zoneinfo/EST5EDT’ and ‘/opt/dev/work/BDisk/root.i686/etc/localtime’ are the same file +Cleaning up unnecessary cruft in /opt/dev/work/BDisk/build32... +[32-bit] Now generating the squashed image (if we need to) and hashes. This may take some time. +[32-bit] Squashing filesystem. This can take a while depending on the size of your chroot(s). +[32-bit] Copying files for PXE, and ISO building, please be patient. +Building the actual .iso image. This may take a while. +Setting up EFI stuff... +Checking/fetching UEFI shells... +Generating the EFI embedded FAT filesystem... +EFI configuration complete... +ISO generated; size is 1.3G. +You can find it at /opt/dev/work/BDisk/iso/bdisk-v1.04-a8666bd-any.iso +Cleaning up some stuff leftover from the build... +Finished successfully! + +real 250m48.104s +user 163m6.046s +sys 8m26.573s + + + + + +If you want more verbosity, check out the logs/ directory. diff --git a/TODO b/TODO new file mode 100644 index 0000000..49f536b --- /dev/null +++ b/TODO @@ -0,0 +1,38 @@ +## General ## + +-include WinMTR, build Mac OS X MTR for dist/tools on CD + + +## NETWORKING ## + +-shorewall/some other firewall? +-WISH: locked-down VPN? +-autodetection/configuration of network. DHCP is currently running by default, but does it need to support IPv6? if so, how would the user configure their network? +-WISH: support iPXE? would save on ISO file size (letting us create MUCH bigger squash systems), but the downside is we lose EFI support and it requires a working network configuration- which defeats the purpose of a diagnostic disc. + + +## Building ## + +-WISH: Better logging[0] +-use manual chrooting functions ONLY if distro not detected as arch. if /usr/bin/systemd-nspawn exists, use that instead +--does arch-chroot work across all distros? see https://wiki.archlinux.org/index.php/Install_bundled_32-bit_system_in_Arch64 and https://wiki.archlinux.org/index.php/Chroot +--i think this might be unnecessary. testing across other major distros is necessary, but i think i can just use the chroot'd arch-chroot +-tweak build.conf (and build.conf.sample) to source the pwd and set as BASEDIR ***if*** the project resources are present in pwd, otherwise throw warning +--this is half-done;PWD is currently used by default. +-does gummiboot? loader? wtfever it's called support splash backgrounds? can i implement that differently somehow? +-Host-specific chroot customizations (i.e. -J in /etc/makepkg.conf +-strip out/remove unnecessary and orphan packages (e.g. gcc, make, automake, etc.) + +__________________________________________________________ +FOOTNOTES: + + +[0] I'd really like to implement the following in build.conf; like: +http://forums.fedoraforum.org/showthread.php?t=275743 +# The following is the setting for "verbosity". A more accurate way of saying it is how output should be handled. +# Note that for it to be properly parsed, it MUST be in the form of a linear array (e.g. VAR=(1 2 3) ). +# '| tee -a ${BASEDIR}/logs/${FUNCNAME}.$(date +%s)' means "display output for STDOUT and STDERR, and also log STDOUT to logs/.EPOCH_TIME" +# '2>&1 /dev/null' means "hide STDOUT and STDERR, no logging" +# '>> ${BASEDIR}/logs/${FUNCNAME}.$(date +%s) 2>&1' means "log both STDOUT and STDERR to logs/.EPOCH_TIME, no output" +# '>> ${BASEDIR}/logs/${FUNCNAME}.$(date +%s)' means "log STDOUT to logs/.EPOCH_TIME, display (but don't log) STDERR)" +# '' means "no logging; display both STDOUT and STDERR" diff --git a/bin/build.sh b/bin/build.sh new file mode 100755 index 0000000..cd45f20 --- /dev/null +++ b/bin/build.sh @@ -0,0 +1,197 @@ +#!/bin/bash + +# A lot of snippets, inspiration, and some config directives are from https://projects.archlinux.org/archiso.git/ / the ArchLinux ISO layout. +# Many thanks and praise are deserved. + + +#DEBUG +#set -x + +## Import settings +if [ -f "build.conf" ]; +then + echo "Now importing settings/variables." + set -e + source extra/build.conf.sample + source build.conf + set +e +else + echo "You have not configured a build.conf OR you are not running from the project's root directory (the git repository's working directory). + If you are indeed in the correct directory, you may copy the sample at extra/build.conf.sample, + edit it for appropriate values, and copy to /build.conf" + echo 'For now, though, I am using the defaults. If the build fails complaining about a' + echo 'missing http user, you need to specify a custom/distro-pertinent one.' + cp extra/build.conf.sample build.conf + set -e + source extra/build.conf.sample + set +e +fi + + +## PREPARATION ## + +# safemode browsing enabled. lolz +set -e + +# do some basic error checking +ARCH=$(uname -m) + +if [[ ${EUID} -ne 0 ]]; +then + #echo "This script must be run as root" 1>&2 + echo "This script must be run as root." + exit 1 +elif [ -f ${LOCKFILE} ]; +then + echo "Script already running, stale lockfile present, or an error occurred during last run." + echo "Please clear ${LOCKFILE} by hand before attempting another build." + echo -n "Timestamp of lockfile is: " + ls -l ${LOCKFILE} | awk '{print $6" "$7" "$8}' + exit 1 +elif [[ "$(uname -s)" != "Linux" ]]; +then + echo "ERROR: This script is only supported on GNU/Linux." + exit 1 +elif [[ "${ARCH}" != 'x86_64' ]]; +then + echo "Your hardware architecture, ${ARCH}, is not supported. Only x86_64 is supported." + echo "Dying now." + exit 1 +fi + +echo "Checking directory structure and creating lockfile at ${LOCKFILE}..." +touch ${LOCKFILE} + +# make sure the paths exist and then check for an existing chroot session +for i in ${ROOTDIR} ${CHROOTDIR32} ${CHROOTDIR64} ${BUILDDIR}32 ${BUILDDIR}64 ${ISODIR} ${MOUNTPT} ${TEMPDIR}/{${UXNAME},${DISTNAME}} ${ARCHBOOT} ${SRCDIR} ${TFTPDIR} ${HTTPDIR}/${DISTNAME} ${BASEDIR}/logs; +do + if [ ! -d ${i} ]; + then + echo "${i} does not exist - creating." + mkdir -p ${i} + fi +done + +if [ ! -f "./BUILDNO" ]; +then + echo '0' > ./BUILDNO +fi + +CHROOTDIR_GLOB="${CHROOTDIR}" +BUILDDIR_GLOB="${BUILDDIR}" + +# Set the version. +VERSION="$(git describe --abbrev=0 --tags)-$(git rev-parse --short --verify HEAD)" +BUILD="$(cat BUILDNO)" +BUILD="$(expr ${BUILD} + 1)" +echo ${BUILD} > ./BUILDNO +BUILDTIME="$(date)" +BUILD_MACHINE="$(hostname -f)" +#BUILD_USERNAME="${SUDO_USER}" +#BUILD_USERNAME="$(who am i | awk '{print $1}')" +set +e ; logname > /dev/null 2>&1 +if [[ "${?}" == "0" ]]; +then + BUILD_USERNAME="$(logname)" +else + BUILD_USERNAME="$(whoami)" +fi +set -e +USERNAME_REAL="$(grep ${BUILD_USERNAME} /etc/passwd | cut -f5 -d':')" + +cat > VERSION_INFO.txt << EOF +Version: ${VERSION} +Build: ${BUILD} +Time: ${BUILDTIME} +Machine: ${BUILD_MACHINE} +User: ${BUILD_USERNAME} (${USERNAME_REAL}) +EOF + +## FUNCTIONS ## + +source lib/00-im_batman.func.sh +source lib/01-holla_atcha_boi.func.sh +source lib/02-release_me.func.sh +source lib/03-facehugger.func.sh +source lib/04-chroot_wrapper.func.sh +source lib/05-jenny_craig.func.sh +source lib/06-centos_is_stupid.func.sh +source lib/07-will_it_blend.func.sh +source lib/08-stuffy.func.sh +source lib/09-yo_dj.func.sh +source lib/10-mentos.func.sh + +## The Business-End(TM) ## + +CHROOTDIR="${CHROOTDIR_GLOB}" +BUILDDIR="${BUILDDIR_GLOB}" +holla_atcha_boi + +rm -rf ${TEMPDIR}/* +release_me 64 > /dev/null 2>&1 +release_me 32 > /dev/null 2>&1 + +# do we need to perform any updates? +if [[ -f "${CHROOTDIR}root.x86_64/root/chroot" || -f "${CHROOTDIR}root.i686/root/chroot" ]]; +then + chroot_wrapper 64 + chroot_wrapper 32 + centos_is_stupid + will_it_blend 64 + will_it_blend 32 + yo_dj +fi + +if [[ ${1} == "update" ]]; +then + mentos + centos_is_stupid + will_it_blend 32 + will_it_blend 64 + yo_dj +fi + +# or do we want to just chroot in? +if [[ ${1} == "chroot" ]]; +then + chroot_wrapper 64 + chroot_wrapper 32 + rm -f ${LOCKFILE} + exit 0 +fi + +# or are we just building? +if [[ ${1} == "build" ]] || [ -z ${1} ] || [[ ${1} == "all" ]]; +then + if [[ "${MULTIARCH}" == "y" ]]; + then + centos_is_stupid + will_it_blend 64 + will_it_blend 32 + yo_dj any + else + centos_is_stupid + will_it_blend 64 + yo_dj 64 + centos_is_stupid + will_it_blend 32 + yo_dj 32 + fi +fi + +# clean up, clean up, everybody, everywhere +echo "Cleaning up some stuff leftover from the build..." +#rm -rf ${TEMPDIR}/* +#rm -rf ${SRCDIR}/* +cd ${ROOTDIR} + +if [[ "${GIT}" == "yes" ]]; +then + echo "Committing changes to git..." + git add --all . + git commit -m "post-build at $(date)" +fi + +# yay! we're done! +rm -f ${LOCKFILE} +echo "Finished successfully!" diff --git a/bin/clean.sh b/bin/clean.sh new file mode 100755 index 0000000..2acfd83 --- /dev/null +++ b/bin/clean.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +## Import settings +if [ -f "build.conf" ]; +then + echo "Now importing settings/variables." + set -e + source extra/build.conf.sample + source build.conf + set +e +else + echo "You have not configured a build.conf OR you are not running from the project's root directory (the git repository's working directory). + echo "If you are indeed in the correct directory, you may copy the sample at ../extra/build.conf.sample, + echo "edit it for appropriate values, and copy to /build.conf" + echo + echo 'This error is fatal. Dying.' + exit 1 +fi + +if [[ ${EUID} -ne 0 ]]; +then + #echo "This script must be run as root" 1>&2 + echo "This script must be run as root." + echo + exit 1 +elif [ -f ${LOCKFILE} ]; +then + echo "Script already running, stale lockfile present, or an error occurred during last run." + echo "Please clear ${LOCKFILE} by hand before attempting another build." + echo -n "Timestamp of lockfile is: " + ls -l ${LOCKFILE} | awk '{print $6" "$7" "$8}' + exit 1 +fi + +echo "Creating lockfile at ${LOCKFILE}..." +touch ${LOCKFILE} + +if [[ "${1}" == "all" ]]; +then + DIRS="${CHROOTDIR}root.i686 ${CHROOTDIR}root.x86_64 ${BUILDDIR}32 ${BUILDDIR}64 ${ISODIR} ${TEMPDIR} ${ARCHBOOT} ${SRCDIR} ${TFTPDIR} ${HTTPDIR} ${BASEDIR}/logs" + FILES="latest.32.tar.gz latest.64.tar.gz" +elif [[ "${1}" == "chroot" ]]; +then + DIRS="${CHROOTDIR}root.i686 ${CHROOTDIR}root.x86_64 ${BUILDDIR}32 ${BUILDDIR}64 ${ISODIR} ${TEMPDIR} ${ARCHBOOT} ${SRCDIR} ${TFTPDIR} ${HTTPDIR}" + FILES="" +elif [[ "${1}" == "squash" ]]; +then + DIRS="${BUILDDIR}32 ${BUILDDIR}64 ${ISODIR} ${TEMPDIR} ${ARCHBOOT} ${SRCDIR} ${TFTPDIR} ${HTTPDIR}" + FILES="" +else + DIRS="${ISODIR} ${TEMPDIR} ${ARCHBOOT} ${SRCDIR} ${TFTPDIR} ${HTTPDIR}" + FILES="" +fi + +echo "I will be deleting the contents of: ${DIRS}" +echo "I will be deleting the files: ${FILES}" +read -p 'Do you wish to continue? [Y/n] ' CONFIRM + +if [ -z "${CONFIRM}" ]; +then + CONFIRM="y" +fi + +CONFIRM=${CONFIRM:0:1} +CONFIRM=$(echo ${CONFIRM} | tr [[:upper:]] [[:lower:]]) + +if [[ "${CONFIRM}" != "y" ]]; +then + echo 'Exiting.' + exit 0 +fi + + +for i in "${DIRS}"; +do + rm -rf ${i}/* +done + +for i in "${FILES}"; +do + rm -f ${i} +done + +rm -f ${LOCKFILE} diff --git a/bin/mirror.lst.sh b/bin/mirror.lst.sh new file mode 100755 index 0000000..8bccbe3 --- /dev/null +++ b/bin/mirror.lst.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +curl -s -o /tmp/mirrorlist.tmp "https://www.archlinux.org/mirrorlist/?country=US&protocol=http&protocol=https&ip_version=4&use_mirror_status=on" +sed -i -e 's/^#Server/Server/' /tmp/mirrorlist.tmp +rankmirrors -n 6 /tmp/mirrorlist.tmp > extra/mirrorlist +sed -i -e '/^##/d' extra/mirrorlist diff --git a/extra/bdisk.png b/extra/bdisk.png new file mode 100644 index 0000000000000000000000000000000000000000..2db6acaf950d4a97720a3ee47254a5ff0089e24a GIT binary patch literal 1154437 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

`+w?7Q z;_91Hc|gXH*r@^;8H!TqW4%t5@xL4uOR)#uM-Q;P!ssxcH1TBvm=z3RQx(SmdXb`n z$0gCIs<({P*AOOERbmc?ZD7{kVYlCQzdiiG3-;_Y?KbtllCX-HY3~qWl|to?luHs> z{mqypTEvG_i3@&ny035s14ERh&mk4hgF6elE^?nhNN_Az5MfkOlC;qyWA?!hjYt){F$bw9UimEHzNQ=)9mNgwUcuWP!_I$j>|PJUjmQ z<9qRz;w}B!0|)>1mXjIxLLltd4;Ej(Y!94s&N+6%2`9LIEJT;%uAm!)4GzakKh4ky zEjpSMGzX*x))X~CG`vdbAu7vC?D`x2*LK{#UjEo~B;ip=cikKpmXE|%!rV|&=q8pB zT6!%%pyISzBxJcM-2{4zPC+tMPSwy+x~IxIN`_fOLy6sX?Va|AvnQFjZs{9T2ibUO z!HBA-SD`k5h(X7Iz9D*dREKh{Jg&17*5*o9H%8pQRwtdvNDt^Q(qFFg7x7az+pe}o z)0f(E1ie%tq_fSo3H$2T_O(wQw42qAY`1jF+g4qz%&N26l}AWq8{g17SYEOiH01S# zyuDb8J@Ec|KzxHZ9Vo0(H^=^HmX8aNH&)Du8p4DymXt2Nyk3Emss&S3qQGh-CN8t- zueaIdf4R~A_P2+v9hm8=46`4ugjHK&5&e>u-^!%F&m^+ep?M4}hmsUG!AcBXVdX{i z(LCs&%aa#?)yZr2w&y!)f;-=BOJS~BA3EF&&ely#>#0?4-Nw z;=eqvxlm%w?Xt-Lk*z|ht`^nSEZ1rk7oTd++A(h2IGZwMij5vU+OHM=teqangVNgh z`1=0UnKNhF*s){18@dx!g}~BtKQVN9^oON7KPduK&~ce$_?@C~E;#*D_U-Q#XX3EZDvq46Y}Y|T3rJFk3|GXIepjlQpZ@enJM^%|6Xr&fQe<(u}$VlorvGP+XN%l#1Ams{o9Q z#Iq1eafjh({tHU-u%bF^-aAa_kdWj$5jCVh%oG`IDh$2mJ=X~n&qEOm^1KWd^%zf= zU}&iy5PnFPKXcG#_K8pIZXe!rQ|T5t~7jFRlcy zj$1K!)%Z(zWi29lYesBpO{seO#3#?Pr=D%nyufIcp7K9^>M{&hiSYyO3hEHXwpDuF z0}njV?!No(KE1Da^Xlz^0_a=4FD|}qC-p3z*+&NBML;{c?+38t=RrpSZ4s-`M zDgrC8yx?=40aOp$XDj>H9cNgk@kw#XugYMe$;x9g_z-~wAp{b3)GKRO57#b);1j~# z@bqrw&B+S6rb<&*DgB1U>g>tq-m)97n_>?z>xLcqe!X%S@NVI3*EQ5lx< zAZTH1bdLNWq&os6WZNKeaJtqJZ#Ul!1P%liR<=5!>mYsfA-s%bBx)#YMV63>JQy+L zI)o@xP7&Qt4vU!gW4n>cLL{Z_zRPCzu@A@Wv!C1AHrZ(>vqkf)eeojy7IksS81?c_ z;SVpTkEjg4sY7%oZ?&c$(LGD9QyHBrSj>2$Sk|2$2qPYixqdO+-J8d}7lWgvRx132 zB`f5vQ9IgZPMc-d{^N1G>z-Nm`WtiYy+xXDdN%KL;?oA$aQ;N+eHt;PxQW6PaF$drm zwTB)QQKfH*9`r>3m`7d|A>l$y0J89xsJ_ZdMJ{bu> zp|hh^0g>csl9&1*6-7Os%~gtUs<(>K+t_Q*y=`Zm_jkMTmYI?`=ox`rD7;RQ)|Zqp zVYv{F0VV(LlH0l#-*7(M8{Sp;e7IKdc+ZEBZPBMNEfY(mU*UyFmXUNvk}f1%veR_+ z*LdNZQ+|D%ef;D5SZDKp6tC`C^$n3(>eX-L*pmDP11`Z?$D# tv*c?n~?miJb*c z9WqoC!{lz!;d|6jACa0hBG6>I;FPG|r}46{>h|{_zVb;Fzezhb;(*56Ue2_%H?O&GN;ihM{S`6LAC>x6YZ>X@3e0obD_Qb zqFfEj6?;K6NTuumI;CpJx(!NL36PT?;}|#$_1-3!%~k`D^naMj&?&Hbgrh=OW8f zb)TNqSGb0H$gyDIBGnJ=F1~V&^?}!V+JE){tszZ0Z!m=WO=;j9qi}<2L!Jr)=Vc3AXVD!-R{7%t<^6K}xCI zofj<>sUa9sq~*AnnVcA#kip%dmDlIrk0}I7SMM9a76cw8k`O`2fVZdx+dwP8KDd?t z^c{uz>jWkb!qb)2b(U&rw{e?{vc`t#_UsESqN!w8DmS4NlsfGbXYc)vVTbz!Wwhvp@-UY&po&74aGD4-UCGftKYkL*$<2uF~Y99?z%4hd7;t!vUm4< z2JlKL@nE&w{5qskbJc|8_;n(#KDN(hcH&PzW3k1vW#BDPuc)-eixyZ-oeVD(d}n_+j}^pN6R)Y|4-Z6buGU|Whwk*pH& zsstFxD#fnIh}hCH5^>ZbOl1dyjTo6-V^X0IYTh|lkRmEv@0S7D0mVwKLJu&isFGdP z#e(irUg~j@3zpYfYeS19D~hNq*E$x-^6GIm^X<4@am5t-?(u)Ie@~t#m5^8uNn%j7 zK}1A^0Y9+P84QI+hmHEirK&=@8`T}20`sspUR`KcUh$~CH05pEc-*EocH#z7XEn*b ztjS8`MwyY}k=shPHV9kDcCxfW#3|+gFgTJ{Nji)jC~AL~T&b^MWpvR$6#Zok=sWMs zr~(7%ug?^TK7-^hswXv9%jIruYBMIK9qNnv5yNehaU<=nyI)Wr36BefB8|$a54ayY zQGcGt*_@{0fH_22mdL^$3s*x-P%zz?F+(^`fwQi>^2+Fu;@>sa1B}usYwT;q581S7 z)9he01Wk|{|ITw`rIxN_K@+r*?o6RwIBcV7Q5uKCr!Zxl@~(f zgWwzjgAF8*By@WhY;(ZYxBB;`t*hr=AtoViynA9=5VNULQ=BcEKflB7`}eE%?9(%B z;>1mDqph~HjOVO(lt#Q_mLVDa*t)amoBsFv~Bu<4_HUjdr}FuNJ^}}iawG&YqVGa|23EhJUd}mw5I$5DAr_+&W!8>Y)_B0a%IXS5WNx%E3i_83b^64V znNmFq;ew+i{mY;l^@5~S2W(z=U%0j`&JEg-ut#0U_VUXw=bta`)>IELN~f%;j}^aT z_V(Lv+w;#q-_;dx8W32)Sh4FuFAhots2x)KkuM{WYn3Z-&Mv?3usjoLHdS|^g z%AhhO&Z2I7hiWx5NomsF`8ASOI{WLqWT5bv$&Gn(w?n_kj7 z*lc@!;s9ININOG8Fx0XgB389H=G0lrUqVt>IwV|6Rlu2`o)sETL9(nLh zJMxGN?3P>KlKL$2_)W?)q@^=bU6)qXD&qiihh7ZQG02Iibn!0v-ve(KY8c@Gm_vvx zJP#qXs;g!Eu0VQhv@xXsU(;qRvVY$_)!G)%xBWi8pCrkV*JNWuvz1G#6UX*QHd!#6 zk+j%lS5X(`39aaB{DrxM@LI)|exSV-j)!ysd$g2d+?2_duU*nW znB+{R-S$4{<95ZRcgP%6-rVZHGU2PV2u}B?&WV|$nNb(y+l)I8-(Xw1V1D8bNE#mu ztW>xQm3~n>BWn+P;6f(<6^@{YbvNCN8WN&uZ!5i557anD~ zj+r*5N(fzIy^Q)3A`^8-BCdrpp@r8CT-9!=Ux|a0)dGy|NGwKw4fOt4L)|`zKSKgg zi%BGv6>*hOL|!>Oq(l&;HTD(tF`L&g-ztWTw{yr=(6^I(aflKFL6r4!o+9mQUOH_#U5$ESc4?)n1z=(QB55pYF9x|I(&*wy7B?v>q zeFLnd6}QYY+lv5nwWs!x>QmJft|#7LiE<>h%F(F0wn{mY6m2#)%!Y5ahgHSDtoVkJ zbhN2mUeaw%&)s~@|1(IWX~=gR>H9AJO_>tB7sa|#Xv*INnzu%goQbs-%AT2i94!XAcJ#S5;KlTP!@$|kZ&RQPe>Lz(LES-K%IN4 zcTeY5)ON0Qes=mk8m`gL+(Q;!)k?>*s}fGm${+&&OaiTTC_WasO%w#)+SNX# z4Y3zqUToL@^FiBu{6w2DenTxLa*?Ki+$BN`rzq@4a#~PL2Fx+3i`07IKXLWqUL)Hb zYF{jaw+A$bQT-tK1V%OHo$?gR2!>)6H8N-)VNXBbWMBR2HFouNio&bu0Rfg_uJ}w) z%b^wIbx5*6r#6s$2KZq9VS~gx(!aRob12N;Fn2i@=6txms{7u)r|>@DJg)Zp^jAHj zcy->~sP2G;N{NU8+L|KRlfZ&4E((k1GGa^?x5n-7e|ucaU(zOSy`>T-CdIhTliE;_ zi07d~z95~-5o8!oL#Q)Jne~GX&3UPAMQYqYuK4#HCB z{e*S}g?WPqc<@^1H{(ehtdU**O=@SYIQMo80-i_Kd z6zn_rO$20+P4r!1ClEJWpCc(noA==Wv5TP8!ih#Pm0wTWn&WoQ9WN+JT-x^i=pG`7 z)t8c7#TAze0xg+PScfzQ?v*-6Y%rG9HZ6>5zrR1!rnnyrJy19|nNO@}5EC(}S>#Nw zStF0yDoLX%>ve7;JK?*x+F8GU$o@MmZPl`S#IrXoc#BI7?}0~y2P($dK3#pXNty+r zpo!+XB#0NyLtl$wQlfhT%ww;~9A^$wnCl@1lAq}I2l&}|^-?Be4AGWcrDe!57DF(+D9MruF1o8{uEDisS5oP?Nyt2CbHWUF(g$xz54W%Gi~x? zuh=fTZets6zrCfJ-*ZAXC8jPWe3qz|y_=-VLRuD6Hf2$)dWxkALQAKyb%M}y0*h+{ ztGF$es)Vc?Jm7mOuFd;S(sIyO&a+z(NLKx;(kk!EZMNOjroK?O!Hpj@i);a2vuSTE z5)-JTu$l)MCqi{|SI0A#=xpXk*GU~mrEp9+!|!m82=Gro{j^Yi@W~p0cOCm zBh;T?To2zpefo4erPhOZdqR{LkurcE+jqQOclnVDchz8-rbdaPIV*Kl ziClukf9FIDIv~w`U_GMK~iX2)Frmp zrLO4`A-pn0rsiCykhz$0MPB8@H3pk+^0Fe63(Fpguy(0Ax5hZe!%+#Ql3h59ll>_TH zr+wJ|_qb2l+-XnPaK)X;w9L1~jdMgK4zbQgWtm9S3YHa+OYg}chQ|9>iAmYJDsBL# z?a4SXsCKGPBBl$XtFVWpVs#t~o`w07lvEUHvTT?<3`fayqs6}P<%?{AvVk|Xb7#TB zK95B3i@+j4tUAV@@9iJvH@NrOYp?C?BgOmPM-KoMK4kCX9mPji(gUZSda9j#^2v_y z0)kx0BTHQ_Bpkv82ChbUr&M~YTW|iV?L1+qB~x={k1eT;fG#FO%B*aHJcF#f594Xw zETC+U&9aKRjm0f)Wk(--kzM)EH>E;U%qU#T9q98b12CNjX5vakB}|n(rY)E{W#wch z6)MmzH8tYwWt5Liz?d;(Y|lOSv?Gr^(mwK$kL2GI?dS`TID}Owo?}gzoJAsV^l;+* z4hu%O_v)*!w!7}S%N~2|F`GAUp5k`3_+o+`LRgsU>t(<%n*uP=M}66{yv(9 zNP*(6(@~w`l5&-oNR23*zRL&9ZoJ`FHnLu+dbAM4X|LK4R~r%~;z~#^%hbw$FU#_x9#&!JgHLeJK~&z=El$ z+ZBpcr|>BLrZB&JUgaCC<1*zE?P!CLlFg$CtWK$_kw>slmXt?~fq*cq1aJG|%h*I)OLGB7YW=um*0 z=)J0~P(TFNsG$TCsuyq>Nw~Qi9FcD{1QtJ$LMc14NJedf4fT=YAzP*L8g{m3O(@Fy z>U+m-Z$JOt_pEi!6v0}Hl~-o0qwzhf8ZlZK8N?_mx1;6cz>}xiGUNf2)R0(N@c~F+ zA!o}u5vnHVaVMFx^Sz^U%$NMc2n-*DQnFGGH*p)f@hZ7p+>~g_fJ0nTr1zJUL~VmZ z-f72OY}Z|PRpjT7+g^L^6N!s zh`d~``e-o5ZD@AY72mg=w;QHDT`Z@9MoI6Ka9i(Vfy8SwBS{0X;EQE&^#F5);)Hm9 z-lU}3>r~R-WXZ;M&z-aEOJBNNP#_7BoK1*{m6qg5zNxP6ieOtKFE6=F5MlAk=(W7r zk0FB6BCN;(%Dm*Wz)xG7;7?`z`0)-ud+)us?Y7%)w)4(A`+5EV50n54?8C-+V264z z_c^9;9r$5GIu+g#uJb#B5tak9ciwr&nHExgJ^l25?8zsUj!Q<_l&b1VskNjw_3r>n zq42Hf`3O&_QQ@b;T_6pn@g;J^$tbdWm7H)pg|5)vLueg#$WHdlUwzUx89&5Y7W`L6 z->p(3E_6@exEx75WCpM)iBATjcd6|Msssz1Nen{9H8M}&Kn?98rb5T)w9g6flahP4 z%J6^GSTSwYHm{|`_CN4UdwW*enxMB8HU`gVOdT{MwO=&?E1G+0&opwu1sCW&#nP`m zaPV($Iho;R3KUB}^}r8)@B=&h?6dpj?b~l-cK5A6v=NGwnQES;yfDqOrd(igMf>Xz zRHid>my>v^Oc=jZ!D%GhlA>-W`}>ts?1w+OQL^c*HA|nBjVmIlsD$jri+?)BEV2d2 z>V82oqAZ1f5Z=(rBKU@7cX3w_Eviz`mzHL+ohsk?-m!MX=MJ}RxBYca z^?>2Q?uA%CtQZ072TF_IJi|T|Rug`MIk=CNrEtY~@4fdtyzz}U-e`aM%U}FD6dM$n zf79Qk#$iB(4g$(3Z$uG&1CgGRj%g`?ZHx^5%O$dswX*ULf%hhCQf6oW{(o)HU5DuX z5|>F=m{Yb;6)3%teL`tM3@{my+SuRMxZft$v7k}Ro)A`6zUCEq zS2^ju(qaYULQJI+ag`?Iwv!lQPdrm$A3yXDie(`2lB&|FCrf3$+ujb51e(heSo#)` zH>rkV25R4JniR~OV~;z^e)hAIZ1kv6LK3j&5E_bNnrE#8ffU*vL`}M>i+Boz6W1sK z@pH^`{H71XyZFs9ix2(FbA{jInYZ40%RczQ4=Up5e7A&eX;o-$+CfwBgC+rCUW64n z2O?64h(+iy2u&X?kChR#3aoKc5?|>g#wC*M7N4MXBSmPSR7x#9D zN6v9AEXLfM5z{bd?ksy_`kQw65ubCI!rd5GEpFm2w5KySgL~vL9j^9J#W;nPH?FmJ~ybpM4%j_Qjp7Kn~Z8phYq(?vRdxn zM4@3~zfA3$f-%PS7 z^jaV+5G06jxrG=2qfs#UrNaZpc>&6l^Egglhe4C6>+7y_FC1J5HZn@V5_U?SOJF%%G z77AZ2tL5x)^rCY$mPr33WfQXXO^Dx_Z4j;uy*&7mdf7XR5cIx4=)=X*Z$03lxYhsY zoTQ=gF?C}XbXt=7#w3;L)I8{vab1U)j&$XC`~0{6U>9HWoHc5Zhy8%Y0*VRi0AYpR z%Y|4zU*r-i%lDk#kNYigO>oh}~B|IC(HG1mLaa_ zhyWAJVPGVjDZ(r5d6rbxw4-^TkUUbr`+;ZD(x7osl3*Ch$ zAiOZKdwidBVm%E9NKSDP!03`h$!J!FL8bPsZ|)~iyChZ_IAsDpLAbC`D15M3?NS+% zG_}mJ${M)^DJfV-Y`A^#YrmHWS~OV)Jfj{H$bw8ca#UD=f1)#}Iz(j2PY^^5u?V5E z%PzavKmYkJyY<%F>_dC(=|~u<6^j4`Nz$4s)IUhSSRhV4^;9Du**WK&;|mQ73X4S4 zPSq+j*AK#yDdg6*BrK_US9kaUJ;t)Z5-Ev-&eh7!WVbzkZBPDZwv`Xt+$x5SwmDN@ zvWk&)QWLTi3o$~&>KV6krLTot{aAmyD#QEz8$3}g{nZ1kbEwZ_l6;7d*9Ocm2U<0z ztuA?rl?<`!y3NIm47IO)`wYA7&ILYFOGdw7sFoQsPGCrw61>FSx;&La;*b^WKp@pe?4JCC+uyF ztx{hOA?e>DYiU!KX{5?&q+*O^_)7PEq!oywr3Sd;yKANpG1arm2XYgMRpI8<2z{Zw z6J(kwBF<=25)Fh1vC5J*JL(&IXy#@`h-GYXvzS8|Iq%E9w}mmrpq24uJL#m8`u>vQ z6TR*MX6PxszPotiN_&7X?^wGdz54Hei7Xc(A_%U4yq0~5fG?;Eop6d!Zh+DE#b^M{I51`q}}OX?{z~MVl6oGI2*$g3&THUtlwE!ywj`74C)50x++?{(3v%gcF?LLgdWz;a#DvDgf_3SompVZh>cApF--Aqg)7E7_4{`=fRPr_zED(Anw69-zAK*|w~Zg?+9HGfLGV(GsgaFv~GrV^6$DwwuD1SH5JJHFUb z1iF$POgcT%=FY3M?|uI&`}cjb#cW8jyMzwtRpo#O<{I;k+*iN_8!ong{No?(*kg~i zEwl`3b0l9?T$HxO z$cn`fN=o>|W3SrCnzZe*?}x3WVWyQ;%D6$2t!#&gL76@{lPN+5;>0CJU9l4w*F5ZL z4_y-h8Mj7leKtz%bO=pp6tHXO-)TcnFHcvLibE$ z0a#kZ9rzI;vtfm$zfvP6P!}eJcqAdIQ_z~J&;HzMl-54o`Iw*O01|}CB0x@{kA3W8{s;&b zq9q_>PKNfe=URUk>Hr}Ha`?tKzTwD%`Vc!J_`wIliaK$v=l)+&O_6+%BSlgPY${lT zfEeLHVv&Ihk>O3)T=sEypK3$u8?9mXt2RUiTjbG*`Uk0D^o>X@*d63lFCej4`n3mK z;^BE%G-5~$Bn{5R8w4+l<;In@x)D1m;ob!M`cdcGjkmqxaxQ7f+{nGJ6=Mz}U1j`% zpEJ)q)4u%WFMD2-@UB8z!fteOC#w zI)~dI&b`~-5pe}7!b6T20|7aLD7zC%x~;1Kh%5wu`qQ6W4TlO8;)S;H4u~8iTM%Hp z3*;LJ%C496(*boLb^~^A1oUBXpbpf91&(@9|3Fm1jjw9y0bR?EL|mqlKB8=V@pZF< z4msIkwOiTHkz0uK)XJ<#i_!OyqUl!tc!Bt2^OM^7z(tpefBU%yG-jyg(XmL{%P_!j z)Q_8B^BWR&<{xght3_N%F|XUoMO>{KiUcMYZx*kI9(u^W``zz4afP}aLI#+E@B;RL zp#YEl-1z0bo_PxVP;cr5Z2jUFzi{FT9L8_(81)Sc^m1ReDi<^yC9;QWZjzJ=hEn!$ z3zTx9O=I+(AKh$^Ju=nCY`vQ;oTEs~f}5o36v2-Oj4r7U#0DGi)Q#{Mz{C~C1X&T1 zS*e(#S_>}-pC^Q@lah#Mo8Pc+esNEmxTTV2$}ZG{sl|wE0S@U~VJsPI#*l)x1Hm5y6;W1-q-?ke{wMY#%|%LqmJ^)ykv0|lagQfm)ACyVK(t| z+B8J4bBMyFqQbt1d>wo3T4{gy-Ip!f@~)N0>Xuv-gbau)z>03r{o?MDO>#R&jaFgh z!*{WhfA$Z%=H{6m1|AD8@K9mBK&&9qK#+J9y8Zd-Pk(ABo_M0S2_go>3&#uK@-BX} zMTCXaWNPc0DA>2`yYIgKUA_sCMHW;RG#0PW&agPJsP(;|_R~0k1{ommI7NGM*ZnJ2q%jB z)z|~BE_8*vf}trmTuxcib6Vizr9+jyd8D23fA`yO&Yi4~C6?yWJspft(}zRdjhfKMe}FPJkzry2=&FFzs6BqR zuI6qBR4oJ5w%J-RYAi8)N4xd<7wn{8J|I=2jNe(ud;hT-{sdx)_p%63SE7#|cGzK#?5P87pw39z!uQ#8K8!(V zQ(vnT1+mam5f;}0V1pV_M(~6wg}+uV6{Po5Uu(3EmNxsyzFW%)K{-JnJVhvb$N(*@ z(Gc*wHX(brBVm!C{}}9I>9-z;jGr|hh_577p?m@5c{@TwGS*H#eX^Z<{uKXqN{gIJ z6?{HJAoomQ1(+#>7hZr{{3VxMV&D1Bcia<~`OCeOFbCN)KbgDX*l+0PKYR~HB-Dq` zaSj3yI6>lz%@~p_jycbDHrf&DAL_oks_Pl3!BGnB5R;d6R?a?|j3o17BB6=jdpm7U zJTgt;_7AYyN;$M-8&oI7%92!)cx5o43E92@LL@>==v$;d?4Ho zVL;qH$%!l3cj|nnh}yB6ZDp^#I?Y~urBQ8_4X)aP=W6%D{mUziBZYn87(!f;W9jOv zuU_7x#q+Ds1B}G7BeV)HDn4TN$Rm#^x!s3XsVhLgqOTN0bXbI7WLITKL4KRRvff*G#(p)4vs0Uf7#*Q7^MZ|C(f(8NwVr*>}>OrAigklNOXked!qZ21i z^z*zkq$3tm0z263Ts+Ae;*UY~_gIGcqX~ECR8W z53@Jkt+ZWtJ4*ytsXUwsg%OP5(Iwm|X$V;w6|q;?W`mC9>L z`90E|imIiYIagizu)XlAT+&4lq$ExzD5kUJJ+Bka&46H8C;+k%BSzSyNt4z(aTPig z;D@-ve&E6jFZ2x2;aY$1L4XnM!zi&pvN38J99QM)P=&6QbGf}U&m=j##WGc!$+NRU zwk6n6=qXQ$%QGOwVaVCs>Q0t-fr{>7i~^wrVL}LzS6+F=)q_D=#NrnStg!FlHEZk?1QzuO1Rx)# zuGEw4?SyG5EZ~PVRl20PZqO}DQu^H`Ig;(9E9Ib&uqjV1uwVZA&sJH#iRh#3KUsCDRYobH!ZQ_kK0We z4M`*&r$nRkekGzXw5$Onge{iU*8`45R^RK^-#6WJ&pjSOfF5A7_qAYi|uD)JL z{B*q}UM0H{AuEs!*6+(HAXx}477CSj1oayE6!7*{W2|Ncn^UXgTZds zv&Dn{?g0-5TS`br!Ag9DwPZ)zH@!pA%w2qnN#FuX^yg(L%_i#7zumY^nNza|Q{QV|N|dq}Z_y!4+fsjxJi z5-}zfvY}02cgYp6+bwrZQ<$ic!jnoX26|J_-;xpnKkF?#=M=IZXmAHc-&3oe3e}5? zuu4ecMmQd~s|81R)OeU_%}w2tO|@9l-08{=u#b%!Rqm#Oj2#=}8l;q~O2`ixGQ@uJ zlb`fd#p1bD?18>h0;~9;b^Wm`uDC+L9RYG*Cpb^Jvy=8Qq6CW)DuGB7XI57gx1+!P zAq63Ak%!?zOUS^wyYRNBi{>^?~pUob=I0AMM{;Q;6TiSnkCGs9;bl zf>z#}(H`8bMOpR}o|45mZn8U){32%OUHXLm^{Shc9%Hn)ZRN64jyBS2WS#TOBmaKw zz2eK4?g1H9vyhjKu+o;}3nXp);SX-Kx8Ig0WbFtAULIm8ag%W|p9vUHC$75H8r;ly z4p3q%rnqgMdr|pkjg5L{t2J+Ggfqw*!5qpcq(!-Hxk-h6`m+LB`b);{%#3AX$0 z+gVO2T9PvUgj37Oi!dz!%weP;1FI5ALps_svi;fE?!V^+yXnrityDG&q>xBki*l$% z#8q6LDiN3HpIYhy&8h%hWxGRh?pLyn)u0??J{a--X z*rRE&Lbb$iAW8=|##+_YY{SPFmOhIB~6 zdV(ill@j*RuYvJbHD=Cbuo;s|mMk8^?-}8cY^+AoJ27Q)tVv4s*|bpNR^jw795&HL zje>xeEt#RNNACpZn~-Kb&sF%<-eK@GFyPI+7GaUgMWL=$wi85H4Ms> zDO2p-ci(jk3p=|iGd?Dln2fNX2q&>9Zr5%@w1|K4i2a2m=E;3c;w33PV#+&FQ8@%Y zS(2~FS}{{0wnvZ|s~cxO`RRGi3AQSfU0E5jX07oFq9O_-d0Uqq@_>Dzu+SBPg~7J4 zIc#gYPzUPs=Rg11R|-~yAc9*Pb#sZwQb--%dkH4bDoSjH^n(ixB2@zpq ztXU#T)^KoXOjIzzZ*VKh$*qWFhsCmrJplXfdRTEF9Q%q(f96*toy$s;n2|fl;*Jsa z@|#Kf<3&$TclOz5dnoiE$|Cm+a}}x!n1X6y3nK1; zU|r10N`0tbs1I>xo_+RN7sWv(g1-WM1>>@%Ti$=aT(7GRXBdQiG%kqQ#WBJ`@>!vy zlnk*d$|~%#Ya8wEd#8)p5$-EjfHPo8R_{3vyBzQqqbEv+pTes?&b((J7N2OUtMrGF zST4d56^dF~VfWlW-LAj& z6{{LPQR6_kWtjK0LV-A684=k<@v#W0>&B;G+b3JM%X9;k%o7zqq*;Y>U4 ztk0S}Wp!4}w1O*EmyOi?SG$8OmgR(QP@8#*yZlEF?Pp$uxxHY)0{i#B|J}n~#Z!Il z0lL3f-bW9NA3xp=F+f&I#~ z{ft{=^dN(ml4|L##ARz?FRziV!yiNP!aItk_dO6MwVrSfg8V!MMl|!YVpuv-&GHD* zFX>uR*>bC@A7?k;_K00}@g$RHt}i}JZ{8G*gCFTvek}4Z6BeHU51;@1=k3?O{rL5ZG&%~B%NC$Eev#)-AU)yA3WFe>q#d&Cfa4=D1x*Wk{#HqBmF0w?Oq*}6$ z{M!}xT63c!2@04ZUJ$^H7M&$)w*XAU2_>isFvJ)+a-{v>2S0Fxi*-5Ncp(wy53Jcg zZ*Bb7z07*B1wgGab?Q{F4gDP2v1Y5+x33}n$S72^y9=rN|NGyx{qgJ@tbF60t*uFc z&_nd<2u+6MR1V@A`xmAM*a~hWykcKLr5zM)G zXQ|f=njeMZ2Cuz%_Ph4!Pk-FTs1G`Fjf(pNEa(CvJNqVySjRctdb8 zKVW8=>la^q@ly8`fAqZvqLsJr&lR6g55NV^nKP#=s1(R55L|ukpcKyv$&1SzA!+fa zzqF$@G)|Sv3_)r*pC`6r5LzOtbhf;vTm)8wy}KY|H~n*_To82$UtlFu z%+MvePCX&CNLq$FAqxk`*kpwyX1GfYg!1aEuR4K6-5{=3Nm{rD8zSCPNM34O)fH0^ z;VvuJcF_ed+Ux(BYC}ekmkp4Rm}udwTtDNAKA248r7>%;p6kY^gu+-))SodTP@*DK z!|?t{$vdP~e($AnL(9a+*sp*4cT+TQYZXY9h`@Cs0||lDP8ms(dn(*hQBm%&f`u?q zhasNX0+G_wa|87p^#+DQ-Ek=!ltp8XMiAvNkaN~qx7v)Ui>$1+PU9}Z+ND^cp!JJ{ z7YW8$bEAg{>4T#Aj8_;lN9B@+XG9Q<99d=G|NcQ*A!LA{F!<$gYjjLN{SaJO*ZT?j zqvv@ZG#CgDAg)*+@a`y<_tyhO0_%PBANEU3M51J}=!3Z60N@7tTm%s1()G#0%07PJ z4z~SP^;T0QgJ^|n52E5|B~h#eiKj4{&SG0tQEQW*m}xIfoo~(U2^rf8!3gk{Ko~X2 zi=R0Xf=#8lE^VWZkzD=$_rG`G#g+^p4t66DTmyl~!d7JF%$Z&GBB8In5d-j#Or13b z2>CT)!fjCypO`Hc0sP|=uTaO2(iL5hI4!BG^Bues)$!PyiILAfM1%@PtTT86zb8`%1bqN0!U@y{q2U6y=2 zj4Q;q<_Km=PJ9f)76;-g?6Vp>Hx21rXb1k!=C{#1<2ERn&#pPG#CV z6-+c~pFU(OD@(Rm!-82>CJ)6JQADMicl;pZP4GJ$Ist!ji8?#`jGJ`KB2y>hY3d*X zkDn^hj$w|5nni^uqaa!8NpiB$qenZ3?hoh>*8&oT2wU3)NgD+MHtYkU@e>2?k3869 zGaSS)?)0U$zi+_`kkZ?|Pp zU^r28XMU6uC4-s30&W6KbBqTuB`m7`qo4nrve)E$&3do}Sk>F7OS$ciwsDEpuP-MDKebT7i3ifAP+I5B%dF z|M1`qhqmD zcJiFcWLsp^DZRTSRhf0p_Ed2G8HHaE2P=Nk-xPpem{^LdedxNUD!|UhIwi_Oxe2P%Fn+Ri#wL?f3?1 zFzYpDf=Z>*a3njZ8XApF;kp8jcH&r^LzU8fbY>RVVMpvNf=kW-?Tgh5LOfl=31aE` zvD}vPewc6etYge^jtNV2=bd*h_qpPQ756}qz*=$t^mz3-MVKUqPAE*o-j*Pag`f#U z49~aAs1`u@{_zJ`O}#ulB*E%v$q3=s3zNuyM8=&M6O<<9ohDb_L=t!9jqRB4U161Y zA8MntD8V6wRP@VFwz|BPj6yGG0Du9ZIQ6ToBCkD=6fc>3!-th_rE__v_g=@A& zLU6K~Q#=m!cLZYCpyG~DQdVd8Kk~9oerb`lr4$xGc|c?t-y0mbW}7hJzXr^)c(5Th z%oAAjvh+g0$LyJc1=(T!-u@D)R>vqgl1z);a{RJsPfU#r&NF9)l{WkXn6Q(>J=@7ag<+Sc~pzgpoP znBjSD&6~;}wIA+Xhpt)gL*-z`i-zxg=&)|LM%cgG$>Pry_W%J$u@7360wQCB&4yiPhf;}z|DU;YcAwnwCF7a^92KLlL)9gPlIL##N z!BC1w1CW+MB8XC0#Pu#MGDw6DJM1uDB=~mV+BqI*g?=K_E`@%BAPn0;t7}(%T(W|6 z1-m?L8anm9b~$V4%*yMj+^)IoUQ1SOB-;^5uSzQm7W}Ta6c1L`1B5ZbH4x$|xaLdR zn^KOcL}`T$AHI#83?|vjuPc$DB))0E6k{NYHopNY(Q%ScC@K(5?d{6lqWe2FRs_8r zJ9ex~tb#c}2!G%Y6#uNX9!QiZzLz8|9i59cs*)JT3FI5M+i!l?8X6?ck@Qjqt0J5= z?lNA=DaPQsR5F^QLgtc^x2yfl_Py^N8YQX~IQTN)jRp7X9yki7K3g9Pc8F}n()S)% z?+C0j{&><4%vPT*!22;6buq8TEO3vJY7YMwvty4rz+%#;6LBxwA?07C+zgd|-EtMK z%CKyk0xLF4a-|_G8zXy>+vJH@ssNWlH6F}Pc^TZ`lMfV53>FoJU8+X?tE{ZB0P2&Z{(#IZH?})8F_Rli6qhfpLp@+Iu zeaqaik`qDC4YI}y5uzb2WWK{zW(R!k!`3NDmaL%!6Iv`3F;PK|B@360h*CtLG9-3Z zxoi#Ies#V*`9y;)YSO}hRw^e$>ZCS>0#N1jP|$GNv4t-jR5w~& z2If>?VcT-cEvcp#`i(vu$ONHdaba==$Ph}?_)v4YA6zFbZ)dvQ$%4~<^=GTvXlLE0 z3p!UUed&R`B#H%u2;b^OFAz~8u*x!I-ohLQscQ6O@$Xvc0gW30eJiRf-S#dAiz-QGM@slq z75d|Ow}_S=DRMd~C~UIMlx$GTetJ&-b32RSZztrx~>F#&^u=}A^2;t3?81w`tRxQHmC8UO3L`>dr|dHa;29hi}=uB2Mp zQwxB^%e`=*>#i<-E>p04}Bi`Y@pUR>Nv+} z8oS6g0#eJ>hH#42J! zm~&hMb_e$S>wPZ{+B-!XCreQ6M$S8(l4d1JB3xRj^Dj!^a@}4^V|D|#m!aJKe zvaX1*7&v*O=Y;q(?Kv5{m)QLIGi>KwH?@!LH%6ETHMk0M+~+xeSS0#ZnCqy=AAkID zBTgafMzQq12UrP;r4Kz25+-9OwA{j6_MU}f$mi|IPxNHD7F*U^a#KkX!yQ|1R%JWx zFvc3EzhuLPREQgqQM)3%XN2q%`W=(|ICQT+Z$(h^fJz?_KXn8r!YK=%9dud-OxSj&`GsevN6b)I|3br_Rm1_2EP zgZaoV-Ul7_HPzv0uMT>g#%*i@K1b24(54V0P+n=QBpa^&cFOITi7aQL`l=r za`Qxmm?QH@Pet9^P8b!>Ef}{w_SnM?Iph#YdGWAfi@a~cqYzpHTACUv+QUBJFqoFY z5}3fka|8W2BME=5Gtvqq#DEeFg;uqu%dA`>9sY3sB`Y>05Awa&CJe}3O+DRQ)-Kl<;sYi^X1M=rhW2IhL0Ge7*{4}1Ak@wToW zIQX}>oLr>1y1HZK2gpq^5CTK35Gyge)w42p(x#P^X`VkvIAS;pR!=%#1eNW+{f0Ji zbh*_l%V}0wgVVCW%_z;h8|tL+$rS~qaPV1$eeYD3+gIOgwpZSq<+9^ih!1R{5fT$p~G|DnT2FLdWqyX3>KyChepIOXL-fL3Ha{`3uFx zaD&en=d6r>9izo$%*2Mq3?y5Cw*~N%3vvkb0WLI zsu4$?f3vV3N9${Gk!?(Qpv0L#rRF5cvV@{BDoo`&b7S`J`{yd)dxe5ziE52$HR@Et zNOhJ|unbJMjW{aJ&3Z!A{rA52J*%s$6DK0Qi_Qn?KFl}v-RIDakd-=_b-EhlfizzrA&_cw{0@Lup)6^bn zic4&|OsfgTxN2`ns>aGhL{``$+hyCNZL_7U{~cApjpzl=<%3uvPOyhpF85TJ800&D==|OTb*ol!0LhgYjLL9G5ZM3&$Ls3!uL(yTu-yrtsP?Q*s ziPA_p<&;Da3H>!$Pqp>(Tpf0ao2W%U5=dr3^_D zigt!LM$$=}J*(ZWz2P3K7`mag%7Qhf{4H6$9<+IsEiD*6f4V3FCQo#x_w`x#?i5KS zPY?{GFwj$fsV`Y#ehp1|a+ zJ0*rSE|C)v=SrOAMOM6&%zq{^q;2LO2 zw^d*bd~uL|0!#N0tO@QFM77-FfX-E@sfe)gdmV>smW!x@z*5Q@s~cKj2Y+IB%PQM* z6uO#ZYTUwed4!;qI3~qlM@kEH*@iZ0(&NsMEDv4)3hLKgGWE@GezPlXLm>wqh%v9@ z0Q|G z<#?I+Z9>A!h^}YMxV+IHfCJbMRbuh%RR5GH@?tzGV?|sEb7j(}m)k%7alb=Or;Hjc zqdtW6lA+>?cz5O!FhO)-3c-OmM|y;HsQ^F3Y=OCgS=nkUx!b4|;)6liUV%o4qr$#U|Z6#p0#)mc+io8J$7d!furY0?OsGtaS+Kt#4vG~ye_2l}Lhqkm zkM6wgy6d{!jacYcXq4f)9VR&h6IN3?_H&x{vdD}nE<;i|a2ljY|K_*0vg8nQ-RK9a zuNGY=DB_Y<5sv|GM3StG0H{=|kVW%K?3P>K^PbO>Vt!os2jB>b^gx_&{U<;9iMtbW z4z(vl7Wal235D+%NXNs654Q;uCV0P4*8unfsg6t61+c<#kU3CLq%u_OS+xW8mc~HC ziyg(3DX-WIQ|DUE(9zbW05~~yK(2HX=*s?XGgX?HP1?y>xG&_M^;uDkBqbpx=$wk{QL zS17a%a{*L9g_7-Xecc_2h?yFLLAf3_uS!}peB+bf6U5MVjQ+X2Dmku3ccir-&lWhrfO)DsYu!4vJ zICkE7XB#nMM3)q<5TVkh6%vdq_|BTT#25t0LIC(R_3gfY#|K_x)_sh$5JV6yTcy7XR7?sM+#p`9V*FXuCv9G3g@m?l?}7&|M{?C+@8WBS};>yAvjdGxi%0f@^T6=aLOsC_*J|@ zf`oU)aK47Z*<|1R#?C@;l1z!)%4Woc2oB57mpvE62Ao zewXvHGpY=AQqh&AJ+oKdXt2i~e^*(xuNy3kG;OP6C*1so~ze2BneX-mYKl98p zehp*&!;Zm8I{+ip82q##fVbLfCrxp&0`Y3jx_91@@wajFYQu0rd zMv+<&UANr1z!tYwEAXtM)apuBYT}&ivSK0}BDX>&5|aS*$)5SP9)mJ#rZVJKYL0X& zl4x1g2z&VP|5}6mMHD|Mf*18uN?wI&xpAg&<<##|#YSOF*aFOu^56?!_<{!p3UI=8 z#&%sRL0uS_71{}rxz}EMc~j{V2u$D&Vr(E3#)P0v6mSA1B7&na^%MRlf(HaW*o2c5 zHm*dLB1P=Zd!ClM5Kn437fA|=x<00H$Na!Odi8s-6>_CH4p-G-;m9=vr5TgmXH~h# ztHp2I?|!z6H7F~6sc=VY8xB)_Zzp{Xan7FY;fEi#TW`H}uyxm3sqcD>p?lxoH{5W8 z-y8@MkP;MrKvK)TDOv;p|4@)d@K39zR2eBdaPJLdq}X7UT0hg`nj>2*rauPKdJ=V` zBw{YzmKZozI>a7-Y^n)Xv;d>tE0k=6uS9!*fh{Z+gm)i5e*Drm4WeHlLE3Y|2`9*5 zAPOr9pfe6@v#XThR!OT+IZ2A5NS7?|X;H{t-Tb70yn?WTyY`UeYREnJ zJ|zx(h|Y;vRzf`zS0e6@k$6)7BI3$VXnqtymk#ZeRM!$Ba))eUe>nGc?+d-(iOxJTR7DSjYbam|;)b+2g%?@WBT!MZ7Sd!Eu4GS)1MB zM3CwUAsj;RN4VDqH(xciC5n6EFyn9|kGf7dlYo1l_|KcRaA8t}c)dd1v?$nfi>0L& zE)%oq_)-k?U@BmZ7>)EI^AleyzzOnN7U31^l)5yv$iDKm&#>w!+d24h`3!pWo}T~G zKL{9@3lQiWPlxL-mX-EE5lgS6i=ftDd+jyn6aeZ7un{J$XtFZ##W(4G5PU=ipz@I< zNpw@09zF8&ds=CxL1zF76h;tKx|6UCJd~}_UyP=;5CcfbI=kzhr&uzyUTD}bie5>f zjv!Esct?*O-BtIMJT~AigIMWzBns!9cb)?{V(Ty#YpcRxu?lJz>Jgoj+E3nrSw+7j zd{&2@qoa>L+VJ9KF~uYT;);HPxLMnUF~deKz&mxzxYun2L)0%Ku81-U-qjAk z0!JeWmWut2S@Pn2@*PncHR4Sa?^mV=4y$T!PV*pwTRk&qiW(^!Ua&w;5sbAUEU{;o z3Q=6VbvDnlVI#BlKl_ccR!Mt9|Mj(r^i3E8o`v|n^wLZF`kM9f{vv_3l3~C6^2_}W zCRmuD?89-7k9%CJXkm3=_vJDoun2Rt>G(?JKB!aX^hI(xMpYrPH=(O3c!vmVEL){- z5ayj&F91v0o_QKmUL;s~ZcDfIR02Rign%SJ^q~*=ZJZyBg+(CL{m3JaG;C)ELJ9Rk zn#O#90A$gow9AePJYO!CaimXKALslS`yCN!#cBYV#mGE1rP*fBX_RWFQU<&7T9vhK z&W%(fV%{}`S}WSix2 zgmg`P7sd@@0+kcQ#rjleH-&{V5L(RJ`|rQs&vPy?4dGtDu$KOWI>2aA=e_sd+wlPg z?MNk~LYv@VAeMkL;ZETVQj-xojal%wzfSV=S)CU^%Iol`oi;z#EV2cVs$TdqCRmPZ z8(alr0}+?lYD)8wgQ0K}y~Di1)>+vS(o|m@nXDq*_y_P8IR` z#H9&i<*-vqcz1TQ$BFma@f*?{*b zSz1hX1}R-rbob~1a^vX140Z=B)Cnt>Nc*js^R2M~OC1$}Y6S}|^<$&Xcn^^yWH6VY z8l=x5Xvpob$tIhu^(L_>(a(Y7hqwg+?Yi3sY^#amy?&@GB2Pfw>-KhekYoJZkex*W zwT;>0#Ui*Kf8LT+LqsIY7D%2$u_P|q68{I}se7Y%KYCz&RvF?gC7ZXL7MFOk+U|dF zq4K%Oo2)&p94gq`0Bw|L;dOw~37NY&u@#7njW*h7y^LTDZeZ>*U)eYYw$48LY{wgs z#3;|yc|WebKfpg5s={;5Imdqa%U^mH3)qzI#lgy*MWUQsP! zvwiokx1qxnyM$nguv&`7>)bX^$zF?~q(pu91r!9Ru)Qxl^IvPz;sJCG6?napT6>6<1tg`|tljk2#Cr zfK)9>MP_DHqk;3sqCdD+3lVzuT3x>V_J{qRl1imkV&UT%s0B8Ep8J^v{9eCHR#~+x zDwRIxod$dRt#?=_BVqw*Rvxp7G*u@F#`68;u%&(tu<(mt{9?W8Ld}p*(`3 zcZgYGO5AhnUCI<*E7Xb?qI|rSSvn`iIm_hn!d=Xn?k|t74w%2HVr08ZRVA@F0^I#=}+!v1o5e` zdga>E4P`RuE^88tUh8dzkU@)7i5S&uvMUzW>OQqC;Bt5_|2HMw>Bx zt~wePMzOL8io_zTP7!IYzw+i4EWy=h<$Mt41o7g450_%BXC25KX3o+V9McEGB-sJi zf%o>`e}BIY5f=K3E(&lJU|@B1TY#^y=bORUo;vNh=bm=;)mMA{kUEatcx)FP1VlOM zAXsC}6AIR>c>Ox5v+$JKGBB<>{N35l3h{1YIWaJuvQa9PLrP4cbCOAj6j5SX*+L=- z(%b^R$ksj(3oR5`>`WMG*A%_VlAUab-OD z|LnaBkfcX-@0s=L*YxzfH4nW;LP$I%z<>loyx#`dYhwe~_%5vX+TnX4c4Ieo!*5@-j<2l_yEKe_L|`}}csZUTW!z-j^%k2-nsq+P;%I9#v-(b@%UuAuRpI?0lj zh)cOD^e@ZzQP9%pTDaoK?ohe-&dHByFc574l&&@@#vlSOEvnO)HK&Tzinj95rl;Df zR(`XhgVN=t)$rJp3tE<52rH~K)0_vEUdCCP6pFGsQ+)sX-)||Xi^ny2Wk*M)nY|a3 zy8Ozo{EF?Rh0uex3&970cxr0Om;!03Hyr~^+_hnzN2ljB9`FwEb-@q(a2$Eyfd>LB zISK#zXa9{Do9yd^HgS_-wFz2Cq=0mQ_esdgNl;+CePOzy#TI9kN*y4)pDmUUxOi%K z!3&6Q85u9vmPKPB{NRD};i9Hm)zk|5VH#DiqB9Z&i(Zt~g zVE7Y1@e^TuY~0FXpx4F{BQuIJQ?n(Q0MQg1q6i zSA-YejPC}mDfqfEeR0Ur=2y>7TgvZm3XW~nqP!jIq`l}qZ9oRmz-zte56e|=b<7bBrB zFoPU99TBn{lYqxV90*tn@O6F|s0|a0 zLYaMF*nR|#VsRoYXd3^U_ug;N$kS1poCK`6u$us~Ozkq&_Uu_BVu-f;pb2qxl&rrWQAfPGIxohs68?vO z_fln52`ln~hk#YojCMEruhQz~PV!!|3I zYj$9s1ZQHKz1J_#5oV|p0?-FP_`$#uP#l7}P(?iuY-}Du?MV7=1Hu$}z{H(_lMi`* z=tCc}(e-V&-DcUsYzU4szxHdtW*vfm--KvOvGIpzjGe)QGiMgV@*)OCI)o>jV*nQs zB0!GVrpbfhJE>O~k;m4@ADa%3J|cJCfrP+T5a`hR`|*$OGZWWvUrzq zk~GHbAg$4^y@G&ZGY`JP#H?)BAyTW%pP_h)NC~Z!R^G@ea+(RLNRS*+f1_H53nw2A zKl;;&9~^l{E}_M<7copD&00PT{nXo7T)Q7&jt24*pZG+(WJCSTx%f~6VSVKxY({Y~ z8IY*k0BXjL9VEv6dPU1Sg7)orXDFZ3l0`-e^7NA{vDb$-MC74KSDZj?2wsOqB{Jm+ zb2E%DBsj>RWO+5Z5^pnTvk{(>hd00Z&76!8!hBo^u*d=U@%q5%X{#Hx?C9_R{_g`W z`qAXUwEdtx++BP(RfpkoprLXh>uqm)o9!#{Tfg;NHf6}v2AvKgaMDp8zDs9L2SwT1 zGk=VNVD7>P@%s}eo(NAoF(=#`({!_X1QV`kNMRP!7#!9afG5KlOaPUz_27d~YR?c2 zB$z6MC`2gcFDU^Frf%r~C}|6J97m9F9P$B4I_)rBGgat#i!jOoY`|x5n3V$G`ObF& zOEQ5K_`a1e^KXCn!ygWJ-F27kaRmImEYKbrNWRNKK-nW*ltPi{$1057-D0-KhCT;f3U-bUr)wI+nGDaTfiKjJ42c1sN~aDl+WU3ap=b z*KzZ3ZI<%Z&qy;){UM*EUQCx-|5J}?USSO92#-ASh@G>ajS$ELtc@^H=k|nkiV$lQ zl$s=J8&xxlOr{H2#xf>4zW!Mu9NH(V^`(npOzP>XHm-w^E1ECYVq;y?6m$j}J&(nNIsGcJx!9K0pZex*|m3vGkkY{AT#* zM?Y$|QZNE+rxow;&wkd9n{K+vzR8FlD_zRs`I8q6pJ#6KLm67P z0SpbzoUC?rdGh33ICXl_?6Fp5vxgn330D*l%Ur{gXv0U;a0U@bc{JSrgQxJtC|Xhb z(S(2!LCY?nDGmi2-J=PK)3<0z5FR*aEAOCV;^F&6ctIe3Z z{_8eP{+74Ar9QoQDbV6u3{0Ter=EH$paEu&AHMHeExr#;aZo-EXzSW*ueGT}(vrqQ z`r70COsaF|E`+C^oE3&>1(9fu4Gh=tgeAQCo^P|jz-I>rL+5(A=qU&h*NvCSL}g4J z4`v0UTB5%9z@9Mo$PdCV{VzXfsj3>_lNz%YK*vEIm@Och#XFq{Em$Md%HYIzzx&p%aCnK>Y29wH2Ts_$6%`MILM?#gg(L|FKs|=+aPIBZ|C6 z7$xN$WQaJSJwR;viwHU|Rc(F@Rks8w&7;pQT+lYCd%}I+Jz<|3krA~rFrkmF*V_eb z6<}P>s9;t`cPTn6*#m_C%fI}~wrBxcEwp*qOd)9b$jj4mUf;nYv|V$} zHQ{xydtJb3&_DgtKZQp$QhWXDUvI)U?|>g^4JVxxfwB@Q0L`<@psPGZOaE4V1s3c z>@{}B9e0Gczy0muInQ}cT{vq8De`0x#Qr_+eCIpueQd5i`N>b(V2F32AA+|H=XCpU z?PWom>^$0WB%RhWO8w~b+E!sHoH@HJ<9G3A6CxFvXsl}TqhlHzw8R9{6u0NKG2t`u z8)r8B%aKjQy3}y~WwR#;i&|2t=~WH)WoK6mmtST^2e<~3po-_@HNHt+%%SinKx`Ti z%HfOO_{KLjO*;Sy7XRwm?+l?wTY!kw0|14sr~*?6sHz=t5Ktg|&fNrvzbK6pt5@Vq zH0;)*j+pgLJAHCSQ-_oK zo+2w6aSLyV2Uifb7^MzV0H$=N1UiBo2Ft6Z@Wd&d1Py#z~8R3quGzgAN!J0c(UT1|@hEW!HLd z(~dv7E+LMz{_qd~us-VmO{VETom|*q+G6bXAO7Km@TwoV!d7_~*@@lANtmVSLL0}J z4+Gxjt(_P|127B=()8Jx^2aMQTee7sB#NTnD5(F~v%ePJ`sU|`|NN)lldy?z811eO zElIm&!kW@Yd#pwQ%(8Ft<2>!|yYFuDG>ggvtP~C)T>ZqL8p=BPS5p2?WPiQE;kNWymYb__7Q!i=!BJhw$JJ7d2rd+Z+Tv z=tr;F2*e1?^Jpv?s&s@y@9Z0&4)z^PmUhEVijgyCU~$bg*VI>B@*GBttrQ2-eWYO; zf{wsDUf_qV3i;4c@DArz!qs}n(hj`KRN|&>LE8!us`}=GKX^h6@bXZUVX9>AwP3gd zL#0PR92@)q+~|m1Tfu!^&gII>`EX9ov5LS<4u8xI3NW;(551#H^vOmv^qP8)X9xxe z(r6fIXCFunJ|wrchQJRxV8FptI)f4hBky>}JL@%`4wz&Gj}_B~&Jr8R=6OByvEa7~ zxmJ*<&N6i8#|+u2lkBa~(B?T5>Gck3DpyeAeL8veUh_>q>EUhq_7B}botY=*j4j+=8gA5J} z@+@jY1tSK~nQ0INA=yCadlgo?$NIeOLH5%T1blkY2Pm%Tg|46z4%b{k zI~)Ys65$MbgHE_lw{J%uPZHr~!Zr1tcf0p%S`C5G#gm$ouWEY1a0#3-gLm;>RG;Fu z#)S2|v+2ys%9#Lsb(nDI*9cl@vjl$;My)y>UiiYvaQHIJ4%oq7_MN)OvBIz(lKg;6 zhk+^I%>DaDU`34I7(cWzfBBbxX?1sI&@1N=+IWt&=IQ3h|96q&p9#NCy~Cx}#5Dr_&AMHOw03 zjX(vnrvo4kn8Hx~APooi2wHRoXt0Q*bMUD^k0TEk#JD!*+y;QW$M=~E*)$~l4dZrN z`-#U-D}P~&M%#=(b@LDZ>5%Nb(zXCFQo{jfu$z8ma1ta!thIp_6WsZ?|6q_<)quv_ zIH-Lr!XN~-0IS9@IzDC_U=r)}PJ3mcdkDDZ7x?+$gSJ^uC(tAZ@W#g$d3p%dVF#yQX){t9t@+I#)0{3AlL3 zv(iNrNv+{f;Kay$D^bE=;}d+1Q!sskE>K@()vRhE4my_-R9! zKEW9=X`J!HB!H2(H_y1{;F|YIlMc<|($Bf(eLA1ZFOSS@{qqg?YEY)Uz>w)_>?4@U zQn~8}xN9xGW_Ph6m;Q}NK+HHK)-MHf!P12%8>eU?$XCDiU>KKdq*fBFWBd9le1H(A z?AKsM93AqluY4t!);aFUSs z7!cvMg?u=iZ@0`#pJgWCl(bp%vs(ErLA?xLMx&$mF@KDlHNhK0wwAd)vky>5aVSKZ z@iTOT7K_J5Ou9##C7aUa#jx-2UJ0dB)<5NOS0UPI+=+rb=`(m&Z?%B|^yDFPO6rhU zJ14#UTEsA4{h4+kO$YCI({UYLS3x?h8dT@Fdtx-a`gPZaFn1x0R^{%U<@dN=C`gl{ z&VgU2>!08C5~$j@*!W+v@DjOOvq0P<=b>T@x zHQ`YG2-I3@-u0RjeT zfpd~Ri5ZL&Lk$iSr&L30z9i6>cD9MqyE>?W=% zo@Y9sGXk`og{_A`dpzIz@42u>&Kgbl1N&S(HLJ-ey}MZz*Uf-Z<38;*!?N2Uxe zN`NzTi8!og#-e4GxkxIPqDQh9W?_TOq>;H za_Xkb4}I``fhB@$^vf0pF_0#GB+|ve*9Fl1eY6u(+me_x2sd+&w z3&Z?^m^w7nU0{Dpg11fggQ@Pmm!;lb2r!s&jU>Fz+qLCa6O@5^+={{mxkz9GA5?3b zL6KXceFwsk!wf!jpuDrL$%gaRGsPe8ubKmf{$)M9fBUz8yLsYajlKONpT1)lP^+W% z#ceHE1Jy#U98SF*WzdjF^A(llz^U^GIxvWy6Am)U780ljA)Yi|>Yd zjF!Nh(?*Kj29{8v)}jv7DXn7ZHm@xGr9*&u6xyL(kQ|}MNE3Flr03aPgurY%NlIE9fn>|gx( zSIZr|C=EI?M={hhnQF0`As%clBGAA1XoWq^vakk$&7rrJcA&5R_>ceC*6riM)(I40 ztG9rWNHx6Xwh1BbvRt|^nc=c65wv-ch{*N4<-egON(M=*nj|--&lpRpkGVN5!>K3i z>;lVD1S|x^w2MWNm)ulin4R;rK+vP`_6VPC~+%U@?KxW46jILWuX!pe(_AKec zsNq_7mZ<8Od}p2=wUq>{ngpyTpE_d$h;D0f{P^*PSD=YZz-j&QW8$AJc@m*7DC*`K*R zRHvT|yT;i(O2M=d!d@GygTYA$qNgCWe;53=Z%czELwJQc#dEW1@X-VbL4M|}T683b zpZgc`E3qB60GpO_I1)JXVYwB7)d)DwY9AtQAanVCI*hg>w+9ze_~2@v_8IosQ`OJb z&9k7E07Vc47YIcI9|k0{rqSp-7tWu*(36mK_^>8Q6lfz4>1&V6&iw-cmQy2e5q!|n zvh)yGGXH+!(G$8(IQJSl=vCeHk?)3e>nlZikPI{`>lhj$1)V@9W?c)HV3>!jvFdX`M#xx@m| zy3Z#dI{T-DXt zaQI*;T%(!RILJ%tnn(z;;!@S)Vytdz{D^GcII<8q_|U_F?c;Iuu~h;5yy=D4hLM8y zb*U^GlB(BDIuW`JgfB)35HJA>PO#eUv!8y3fD5_^TLiQv9@nZ~QJ4@u#0w?USW%O6k0+6&B8E4!2Q%Puz|)p;^9h*j>fJ2^rGZ<#nt`m z2)7aee-L4dzY6Rc3#xCSwipf^*%MxN)A6Jy61~A{AVCvEy^pFhrH(*y;>3x-k%g>R zHyrr>_rJfTxUff_-Jf;sZmo!&)ij{INhA0N0O{#2G6jjc`rOAFsYy$RL2raRx80 z&4TuP+NvpZkQt%`5oHK=iPoxB4vS7+GIVU3L4QY@aB1o}(a@@#H)>0S8?HMZD`kR} zF6pZb7-+E88^Fh;?S3y@xDZaCmZ?J)GPTLI*Ipa$x#ylOMTN^RpVY3K`?OQ-q6SFV zm@pDYBN6*b!`+4v`ha(yTMFI&$jog;C@md8Tc)3`61>e2gfn(sjvMxX$N>$i-`f27 znj+7xyzZQnbg8rh3XrT?9Y6rh6+#s><^!AduOT``eDd+GUX@MOI+4mzu6<^G_cSko z(&{hmc#aKH7w5wBZn!$^YETFR3xq3&RCm>+Ei!lS5oX&q41D0jAN|J=`pXvJ6QB4* z*i@U9BD}cg0GOFX)}O6m>(R>&gu{oYWcV)Ex?%?A>`v(`CUogl;c{MXymRd3U^&H6 z10x4U@s@xSO5Alkz@j(#f$4O{cs9u>d)zYw5U#upI&((Kr$m}+Z!=ESZ;kzA>LsWn znqm;%ZCGA^+V>Y!k5RM@BTxwcoWBhso@7G^m8#}R!Cf6m_ z03#z6wYzU_BJ3L36-JfrIoBTyllx>JurQ}7Ly>DyON&>u!f@B95^DvaI*Pn@kBd1flYo(zfj5ai^u_N*Taek%%aWaaM ziVfBnY(y*KG+23A@J5Z5v=Lm$CV+i$;R7Wtvkhb8w!83# zGLdJSfY6AY0)fum1*?vytlH$AJ?abs;FG&=n4O)i3%sr0W@<3DE2bfYv2h9WLWAU1 zF}gCTf-_pIwI`(S*MP>LDj`ZU7-nZxcWpu)b(B{mP^qe=(GkIP%*Hf1ZU14QXjSPJ zB;tO`fVB%&bj}X@R@r6oI}-v3$ul!E_03%ox?1x&A&~@gN1Xlm1eO}Bir{YQES(Yb z#m`~!IobYk3{t3ymP#YiR;e$dUnsB4g+oV2!ruL|AJ%T_d68UPU8o&*mNmeO)Ydf! z9(w4Zz%lG$u&}3x*8GdV_zQchErX>Wt21m7p?^mgw%du$EN?|P+A}p8-u%W}v=o?; z)f#v$e|m`)ff2fSDpikKl@@D>eGV2bhRMn3SZ}Q}C69Vxn&!r+&R5sadH6_uQ`LFX z+_K1SA;5HnAG|xKZE@!3jdv#w`xpx32t7V*AFqaZ(ryD51`<{5>iEdsQ$h2$Hz(7`S z^Gbc`OJA}?&Tw14(ST#gjiAR>RZ}{Q4(R@>ng)FC%{NKdlG}zvJ7Gg{GHxSmX$Yp( z9-1rC_B#kgBW9#n3s)YC+kfzS4Ds7}rjA+!G+AtGK=3Im>Q^sMi}$kVt$_e=hVgr+ zO(#w}Y&K=+=weH(Rg|fzJ^H1+6MRb-uSrz;@nBqwqOAG|uc9%juQ>8!BjKuRuGX}= zItmL=9tQ!ImcF;h`p;vJJ!aRmj}JsLx~PMvuP&f3+7W)oR3YsNoe|eE$R7%}NWv%$ zW-gP;W>NkOS2dX+L~E-aZJA?VJwSk}F`y7nDoOK)6Knx5yyWH24tRh^_F}3O!x)Iq zR>pT(Lx;c56m|LfU?so(BcHyb4LS~1W!u%JBUMkmSBsX&cFRvg^|1H!*?H$ez&Zi96OHf4+&ZMub>p^IVp;>GZ)mp{*J6ue)v4MHV}_Cgmv zy8N5J`J2H4UJtd|$bovuq+eh8@|VBdSoMBtWuOTDvfKLf(*?e)tFYqmmPcB4kVWFSVtQrU`DG6~A z62LKsb((IMm?x~2!@dJk34DP?`rw@=@JWDr>eNZge|^W1(T0JguYR1qo_gx3z&2N~LjggTQ%W}+n|ss{ua{Xya%_`thDZT5_iIKGo+>gntHyU9h3eGX)N!rUQC z4AG8NwKvbz*IdD_>4x++03loDowr`Nb@Rb|(j7=!29%T`J8dllz$-cg<}o;0xBnV0 z8P@1WJTZ(| z70neXm69>j5re;%+@?B2AA+U1~bH^`QC=gKuQue z2pGR&49grEJCd&rq7yt6KC;|(Py$MDdMWxBEj3XeqO+|3#icY2Qw_WK0y~+lNFs~7 zv5Tf)L_LPA&xymn9>LfDuibt3-Bt-0ZOZ_yCG-~4h#1jkfs}@@b~4tkm~izKTK8I+ zGln12>p9$ilYquOgLRBO8@rgp%i?0Zk!Lp$&y4WmF)aMv0uzMtKnk(;F0-3VLPc!n8$@hV*VIxAsmdeRkOw z5O6y4bK61-2OOhD*}zYlQC2UZ&0=w3BePHAW7}N& zu8kg(evftc*Bq7Rp|B*pl+!DFxOo{o1vc}>Ai!=NSR2ZXiB=uT^8Lzj+&dWJd-`;D z>v8Eb>t}sg8zTwo*H(~Bznoof2?Ss=Xs#U3Hp8*JY>Wt~^yR)I96NegZN{4ObZaY( z305)fmK1bHWFiEI>)XLKfjY*iamlL&hnhM>OC#-7X(T3L$_MRNE-zcHP3Vp`;YfGJ z>1*Yfg+7CTFJD{Vu1%|v@X>>sEEpR_0~&E{Jv9xI=Bg16qA{zicm2{<5ixs8POV;} zDM3+}`XBlm8>d7PY|NsAJJ$^V)nENp2dM`)i9>mCYuKh{Fjm(zY{q2M1ZX7550OdV zhYsw;FWRd$u~Ju?fYs*1%^oQ))YP_lmY&=4DLHN_Nx*u}4Von<&VKcyZ!2lrfOd}2 zIZTI+o%(H7$F>=6_rrVt_a|ktx{ZDTwz~rD^9Rpp3*U~O>vq8y6b-I+MhUt9;2xU} z$<^&f{B07|F~cJV_YC3-pTX&>=p)+Fgz&6qqy3G-DZ*F<@2wgPMdwF6*$D5YrIo-4 z+dJkRPa{+#3oRkQ05ZL02kp7ppoYvYKe|UWCeNdqhBnW)##|EyE5V(BLMMr_`@#50 zYGiYVA{x~jfnaIzOnB98&o`47gfEsDCS=z&5WMdJUZ45QX9fdoJ=S7qg)M{;rqf&) zX%D~kotco-`?%y1R{kR|dZC0j^6cInx6O?s6gf!?yIHqhQs?@-8?KLId}xF3g86Nx zia>DIs-wl?aHH$Z?atamA$!^#1WX{1Q00!9HWPN~EHDjZM7e+e-Y_mlP~~#;EE~C; zBY-1ccjf8()WUnAcBBw_|GniE&odbccwt%sS@1Lpq|Iv!&HwX1|8tyLgx>U$kGz|| zk;U$02%s(g*0;XZP{g(ZmhcDax$=smVHcwqGw23!{D6}iB3Yho*sMM8uOF|Q>IWgE zLZ!M8#&(y&g!oTEMpzidLr*&O6nrr0n*5$J8Gx6DTEJrIwlmkZL}?_MZta8slau4> z4bnQ{$*opVrSzw#R@}g1g?=oAkU7eq|Jio!3x97-efaqZSQkB zfD+E>|22w2buN3j%zrg)diGr6QazV@}R)gQRAw08*g2ie7rhXBGc?dcjU=jH7N zGR~_HA3CHh1Z3z6(ir(U2JQH2Us3^$w5V{Mhe%t+AR|YgH6L!eaU_(*bKpY^TH2W^ zw<-wm=a`(Fw3UUe(hWoW&|dM;qKXRgga#N?n3!&W37cGU^t@Dc4*z(h8?Jwvoz z1awy+PrkgUjS4H{(qu@;%3loQhvLo#1$87jEv4mq(MAWRurYXj?z!h4>zrUhApB#q>d2ljT9PeR6?-fR7c@J) zgH0FetcbitZp^LUVyLej2|9DVAqbvuePF0zNGLBZs53Zb$pDEdB6!gTAY1@22*#4s ze|X=0WYr_Hi*1I$2OoIk{|R9`Z2_P+gk@h`LOXL1-!ce22vd8du^EwPQnU2~&%hm2 zH$o;|#~DKm!;=?ysqcg8Skn}#YE{!_jR65GCtq=@S5BU^gV@fCZoE=8rteshprj{M ze;qw-1_owNIJ|9!S)&D34P}7g(iys8csn34H=UDU#U6tefEou#8K$(mXdzr9zJL69 zF)Yn4%bset5V=dNtO?myS(PZ{uTJSW5b_#rEmt28M-M+7t~dzkONCo4X{Dg-Q0kqE zm8jtdCPTR6jysIm_{u`pY&9g#Zngyi;1#2540G}2N5rXokZ2M(`jH(PD`s~vsw>NpBxXavawxX{@;gt!N)=!R=1{9cp;Mml0&ed{!% zL|Nz)2tZ%HWe4rYbo-d5*jonitJjJ#C1}hAm@sKLhX0?XZ zRz3lj5N2UAk3RaSWsSfEp0x`F?FtUw>{6nuF5erynj=h$+1swk!V#0(5t;^Lty6@w=rRdKwad4^_3d!qefQZtqwGw$GEns8 z4|cT#w>hOf+Xe81mAgld%GOafeIvq$ns!Y#O^xA*G^UmTzY&MxeY;%y<(X=NrVb{8 z3OI4X3OmWs->hl_-aQOg2pa6=b+txD9aj>1LimN>(dT^cd*AE$-9bw@lmZsU;4WZw z##~!qnF&{M71PmU`{lSzBV^{XH|a<>Ln8CPCBe!FL5@ie?A;fR9z7-=uq=Gn)RFSf z>07M=9lSFfJdJamj%)Q^7QZzRaGV0}fBn~gZJBPWJrs&nR+%m?huxFf9s25h+V@hO zg-ut$7{Ni9qS~Ho@S_**XQdg8pNgC(zW%k(6~sgrtR`&e3D;;gUPa*+LHEqrGvVaP zlO|X>ZS*w28VoS@buB*kxzAboX;*Jcr@xIALwH&Z2M&zMHOfH=0phgU9htD!{$R@* z?%2bD`cd5^Q8AEXpke}-1WQP#qFta5A2}E%n3xd^@I}{40G1pGS+s?36xvH({r*mG z5bUd3|55p4Zw;Z9EdcZPOcxM9iq^#Gm2N?Nwp<)0UJF+oyG+QsBo(tp%xJlK4xl}x zfGvQ=;CST~(jJs^7w$)k2y+NrEy~2(LU6Cwum0+G#2r;SP9xzv0?rVSkj7LQT^hkv4S}jP#q_uU$Z!F#j)p@r!{?)a^+k zblFYz(>DxE!MNH*%$Wg*6tVLv1WaxK`hgVRpX};EJRqA zlM&b;Q5m(8LII_MO&barCPbpmlACSO)8y2sHqDk7c%@@+L$hs+U|k2v_P5UKn7;MJ zKkeTb(5JV58kr z@^6~s;74kXKs<^dK6F;njV z;uD{+QqrEZA^eWeiq2rKOoLrme}8q#ZcWXbkJpLhq`30Ac^Wa{BaX zQ!7vdgb!!1?Sw4SMnwWPfgq`RLcI%~O5H5g!)^&PvtfdzD4OgiMK?j+r{1A6WnjgZ zMD!rOjj1XU;KpTHp9@b)<*JocLfmKo*6bTTjH7O-Q7*gevbqkvS^6w)>mdMR!61&{ zjNi{qzoztMS#9r;$@@!QB*w1ggaz=3A+{}(bBuCk&%Iwa&2gY3bG2{gK7Dlv(H20| zqt2mFyAW=9*>l5v4}DLoPqZ+~9E>G!(@AC~4KQ(fN8JdGwCb1}UdnEE90cIsX;q20 zD+TqrV63mQ&87ia0R#`=RcjgC2Mss0h_I!BW^Pdy`>hoWG)?wisi|F{TPgo&k~^Y-MePEMe=g~TY!OrV)CXSz^R zejzM`x4iAvummqqT2pXzl5v)%FCbv&}`{lYgTlVQKnwxc&vl z!d3El0d0q(b1zhv3m(ys~W)k!oPW$#;zAdQ_JSF zz}UGMa9pMh-*(>38D0z`88Y=hXiRuiFGIiLbu&Rr_tvekTzy6MSfgQ-d%>%hK!2L< zQ(0Y-p3dzc&s%o=Uw;@vE5868WUv#H0MelgxZx(aw2ewLjT}t@V)TX{$>e;aN$e#d z$picMg?%!rVXiv|CfmGz(_A`;gc87V9m$BJAmm+IoC#Bhc86PU-KPzv_=G-=V3vh} zfB=rxa4!9xcfUGR=AH_plB#oPMs0UKrl=uR9cDw3;2;chNQ2e9QV#Og9gbbLOMWk| z62-(lRtlOfTnm}7wFZmfxPqT!lf_^ffeT>^K27-9_x*IJo_j*hps<7$j};F!?MuS| z)>EhPD84@!ztj(YlA;Y&H7_1ikq|nyXGDtw)SD?;uU$;KKSi764k`x&ex281=me~v z|M{OcZ-jsdLhQ~-juT!4u%V}-c58)7Nh9m3Fp`e)k^&v64L2B)6J#%@Ra8=Mgq8WT zVi51P!MZ+X$zq!9x8ETEW*x%t{lzbk{lZ0c3bG*)W2%{8m1gwGbfLxfd#x{}{DO(5 z3v;&V+)8-WtF8|dT6RlkS;2TY3quP56PQ$c1SuNB@-KC(d8gcjaV949KQ-?+SaSrs{8Wd*Sd;zvm`8>9}FI z9y((M_L=dp;dWZc6HvO`^ujpxJpYu0b>)zg1$>_AFRg^)mAu+KX zzQwH8e_&|t1w9$IkEpZMie4Erzx$_O8$SA*pAF?Xxh!E3l=ZE!H{C!-xCbUcTFo0L zKF@yp2m%m6Y|OPQVn$`?KA{DS>!BPoC1NbBU>8RbOtdFlZbYjtb78l%Sm7~X z10i*<><)!-yxA#@jgFe<*eo_LDkgiai;9o&K8pV>?b?|i)rt&x zh%2fn`}fwukG@U&h|oDJCA6O%TMC04KJ@y>Lr81^E)}-kM)gLDt!uvpF?bk12liNO zbB`be@4x*WTJ@v`udZl0d3jQ!OEElk6c(f<&9SFWUcS$?inXH7VPHCeSi|mq1+%JP zlOG+`RQh7re|$7N_j!U5K&pK&!9a-3E5J=EvW3e>C6TZ~6 zgLpxL6(h)1O>Hq#fnCv$z4HxW`Rpm#iiq)RinuHRVgxHxq%Ui2a&+;G_hTnV?C=Ho z7F%5ow?7`f_>Ui#0elFHCYK6!jK=9jwQ`DpP@2sq8Yl+f2SQ8O zq|VR-T3~*cmS?0%(IB|EpdG|Rc+DHH4o9w)pIN6*=8bYea>=rNUL{3S#p>sg~ElQ};cM2o&m9!8p&YTL@J$EV`Kg`#Yq$JOd zodpBh#zU%YZJ!EF16IYz8`7~sCs2ZJIRGNA^L0o&VIiZHokc4>wMX)jMl7_l zHcPN`^l>FItF{=%CUapK{7|#M=1n(=md=W2G854l(#F}1PX_C*)iinZ_b7fNK2(u* zuQ)y$CdRdZ%RtP}rH5fPcpo|qmZJ(&h3)~^<656n(o(~vRLXL#aP<{OrEyS4D79!+ z%l#neZi6|!Q%_oV3`ehu8cYXU8sJc|sHL_0_vFKrJn_ElMc0Lg|Nee`MyijlrMYfP zm!qym1RKm_8)y)C@f5e(J{qILMUn94^|PbX!>hp z1TszMgP_GdUCWRLrXXaGwW2{sUM?=mE3;vA*K&CGyPh9@^Z)#=#42DD?QoP**Kyj% z{LT%Bnqt5aL-;S-p%|nK##WJ#3_>*Hr2&kb`09N1RfX`1TaQRvd?6h8$7la@2+x|;@(T+Bl<{Od#|Ckdu8Ovm4pV(vT_|$mwp@4Y+mK7ko3u@qCwlV9 zC;f7$&O;|`v8xkbRJiZG@NDR z&K48wysAgo+O4Yjrlv~a=9fK3jDKEnTI^5~9+_>3w)((DbrNi(uK6zh+%vU58@97i zO9k5*9qMRn)dej!oDT1J`zykq{KE>e04>jhWrvEKN`H-@|Jx~rG$`u3fn6R><`;d()(r@C}0U(ddj-jHL+~)-SDurSnfn4SrBdk)IPj z{L!z6WobSrRu*;^1TeB)YnL^vxq>_*j>$I<&z3c(CI8fMGwSPKFBfu?duu+p`uU8w(3_%s8ykBJWxl8sUoCLI51%8^%9utS8_V!otP*Feyi*FsHqHac!gl;4*11 zJuFHqKa2uaxcwuazGLX5tg*3Vxr7jhYnB+g$lcodJ?Y63tOVx}{Yw&wa`Lrs`0A^} z>_hj3-NkY39Z)ukHrC%Ya>o7uK~4Wj&{7ZPIMmbPz=YD*7SD!bR~-qjyLETC=etW` zZdPSs>QF&*>UwwW?HIfEYZL8jx0iJFbdCC2mAU2j8{l_IRkW8|ey2s&v|_tyDLf#; zyAYVr!C!yXu5e&CPS7sM;hMOddID5jwm-}&QZzX>hSn|Im~No&3cyPLE6Z9%pqef` zrOsnDyyvH06CV8G-Es+EGIuDLx*NO!2BgeQ7Wx|kA^`S>B^1@Bxaf#(I#?XI77iR3 z3BUNhw}$G>6IxQJW!jP^)~kSP$&|+0TZ4Ork`EGy{0T0?p)ujYV%R;kM{e=8xuYba zW5;&c3K7zEOD^=I^r`OUn`<@*{lEu45Ps>Gera%l+oWbgCtyAH*kg4tAY9=j3k2|a z!}`Mw7ZDLX8Zs_p;cl3U&jt;h6gM^^5y&R4NnZ~aK3JIyq0>DA5ahgv#*YIiZt5|< zN1k!OMsI?Y^&^TySo9M+ND$ zeo2+Ae$H!d=e^D)+^8}u|x zPXW$x)uGvG`+`#hHh@Tzt>YT`ScgONDQ&O$UuyXV`h8Wdq9xhDw{C{heZ~264`~I_*^pm3E0wY4<7qH&Kx@U}`+)<)PryrX1bDbdR$}wwQTq?< z3*#el{U{ZDkJE<32iPVx9y(#`8{c3uL5L*+a%&YQbgvUWj03fl&>aGR6rct#iLUc<;IcaRfCQ?%8Tyc* zrZxWs6{Jv+;SY7<6$L+Y&GW4aCZJMm|3La$AMv86pCg}o@Jl~a$9me-`!3-4dwy>9 zecIJG1oX6*a;^*FEy`CfbLx4GhO28o9p(srtY%mWV-q7`?&6G$Atu7!J?bpx7gc72 zXtku_LGq6Bi11P70#JNLsyfuT8M;92tI{SH%m7kDjup|v@~k}fPJ}V}JE^W{lRE9H z&K_7fd7{JnVh$rM8Belz2*DtjYBMEhihs@8m$Z({>6X}Voz63TeW~9c^7o;ynnog! z3RdhjdDYBG$f`-e%4s=vMUER*HJIGLzZe##Plk#861?W{7LAj-q3iZQ_jPMVAm5I!v3KlvYW>G$ul{ahgqIz&V#&#F1fQU~B?#pPif_C>z009TPa z;-cKkm#f<86eDUA#$^4gBGk05ndzoxq25_Ed)QSRekEFbq)k38VN4secrOY#>z}s% zK6PyQofh9{7hOtOp0`Wq&#aTB{Y=23+`uVzy|yaCd=6B@t|={%(-c=h0zpx2hG#^C zDAGq<)1|%3nfUcEAbxm5z9e{<=1ST?b+)EqURhAvYl^)HAqb{w2bQ0iM@eZ7M?^Ph zfVU#F#xdb?)>K;o;+A;8`sT z(T5Lg+$Y?OTJod<08>0j5|u!RwRtGiHqJeOZbmJ3>smv)}Oq`xw5krDl{$xdCm@tJZtZ!> zwJ{@b33u$df*BST{N@FVqj2-r0G7(7b;xlqFTPB< zTAN&YT^X1W7Vf@VOr?b_fQl)Ky!4M{IkbcT(5*l!x`2HaOhXC()0Cj>ukx603pW?f}Npl|A@g{`IdLqpkE469fyo}P$Iz)SU2?i??x>qGA zjE)_YF9+d5{y?ZK;NVb#x6)+6aX^r;%ebLxP8#A>GdqzF41rT)nL3tTD$IOva;f?B z)B8gwV0q)XR)?u5Z+MUMH0d)09leGw2_MDSgp_Pvc=Vt|{OYK*&~lfnxoi-$Dg$(; z@45K&}&_=IgEuL~=?q%13&UWgw0wwD20IaRJmf|QYh zQg16T5ekjZYjpvEXN~1!LbloaYwf~we}^l+)tEo;*G$^fqk3B2AvC_<>2tL}@^16; z#e6(}+D6?30{TpV2)C|tCt!$b@@VA|$1xD=P47cntaP+Vdf0WuE>fHKy{2pn&E&STL z|0Ivr@5cn$^G5i^R!xAXQyci$AV$woVRmZ&v88;`~X=Pnj(QPlh)D z+k`&YgjWvcYG{DjAzN_EYwdbPCMdPqOt}2Yqq2Mv?-2u|SLrrD8*Ito{VVqi3tH$i zWMSw8tjH8uHZP=7K-0r?8$y;pYlZ`L6f20BVdxqJu^HAFHX+g^X}F{x*@bA@qM{`j z-CJd)Mpf21#~jx3A^&wjpGI3!$A8^JK07(|Qoe5A={EgV!;9}np-4=ojyTCzWK?P% z++{~+1#vB|^{P|XwzK`<5$T>x6>2}XC$Venpx?34aCKVI>Y%p`_ z^-O>7(sRpl=mrA7-gslu2x6HHftA&=nXn_8$fo#YL&{;hQ9oyNp`nLBWS8;B7!j+} zYq_~lkQdT|30+z|U>kmR&ToA7#2rz3zdAoZ-+#cq>bL&*VhAm40lKRWTxh6*BZ8k@ z$f~a(>k=BH(n^?Km8qTtABCe?$RLnGAcH^#feZpW9s=tH)mUJ4W<6^D=u>@$D1D7- z&aj1{6R;kB_~Clv)7WUW92vT8eB`OUd-v&=X$egcm}CWFcAHa{K7&98feZo}1TqNp zKLpTX`3w>6kzAS4|26Br217Spc>n$P+q9r-tUv@1z*U;vfDk$A(4j-jIZDJr_bTnQ zEN?UUsv9U~X)_395Xc~qL10iI;0g=uvC@ml5VnRb44noG!HR~a@f{I*5w1WK1gYIq zyN3;Dvid$<5crS3cEg#lHMRgxSCO;tWDv+8kU_v9;C(A+4*Fd}U)pAQrFuLMoi>XG zM}y_sEHqgNUBvYg40#en;{7PVNv)Nsw0Z$&_D%+Y3<4PhG6+0V5Kv#}^D$=q(qlR3 z2VI%reeFH>+|y%j{rlR`30O3hH~9MNZkthJlx@Xh?-@d|Qc;c(@hF@LSlxm%OP@g? zgFps>35HoEu{Nc&*9v;bACBI=i5K>={tsQ&Ty-n*Nm~Y zI@2t_3<4PhG6-Z47)%IEe02ZY`pgzUGc{WphS3r}6SlS#g|f^t2xJh*Ado>IgFps> z353bc5pv>S?S(eYic2tLokiqM4uAC0+^_VREx=9& zXI8ch0vQA{2=qS$T)@)u`q-JNbCdqX`ZJaYQp4Vs-lt*XJ{@qLHEdxhwOPKl)D7_b zzE$JLtpmZjWZxXK1hlOK!xFm~=2ybv%93`89@p|hIpUI6(kx^U$RLnGAcH^#ft>{b z^;afDu{%8;LbX*%emT@C3v#So3+2_k4xCyQ!;0IgFps>3<5hE0`>k({b0EgR+h1uLg*^hO|*I~ z|9T}xc?f5DhE5W=^2#d>UtFN_4V5}aqD11C@Xyu4{9*_NkP$(R5kc~x^9-|;83Zy2 zWDv+8kU`*SfPhaKuKSd2=!-az(`K}3MZ$hS2O@%m4*U>oC$N6j-)Ze>^Flz27wF$ z83Zy2Y$pVAp|V=WLyi3#Oks7iu!dY81;lD}yU9)|=sskB@hj!2qQiI&Icf zS6yYzSJ7^maf&YrSZS%db^A(yGF4SPBTGI0xCAW4F;$3q)m9c_6`zF+0vQA{2xJh* zAg~i5;H%}WY?>A1LV0C16pN!_VPQq*-V_D&rGAjT&meWI$k>VS>ak2iCt$tg zB`+~hAz=BG;iiUo$Ws>lBA!Hx~l83Zy2WDv+8u;U@% zeOdHKlvAHot5w6w(uz6QUXex%e_2}@=yQiI-2RbI-!XLJz{(10r)ZSrsw>3o?nG?B z7O|9-goL6w$x`pFhxAi$ngB7?v)00DZgnn_ssz`R~D zR}7Dxcr47%nL6Q;OXPj-C1=!!84R7UwRi7cYbFFNS8IU)oiBfIkVS#2n&6=6NVNtw zAk4W0)`tj@6*+@I27wF$83YCt0?ZYz+XN29RnAs%6@xj((){813l|hCm+gty(o2Dc z&l&ppQu6AzcU@ZOw{rJf-kWZ^$=>yO!cvLJ=uUN`hKhP0uqB`~IZJ3Lq|BkkV%`wf z?>i-s$UEk&)YN3S%!&lLH& zhb;Q`6}({#RhXKZvij24NYqP9+H6n`LI`aqjccUgaJ6a9P;X^L!b>%3!)j$&zH2RP zzDH|8%Ftb)Jj_=*5g^#9JS>0AshoK{$}tg6oSNE}MOtwcmxca^0D`k0)W-3kUCo5| zNje6yLfzoD7k*uLOt_<;vm3j-|8`Y=(WdCQmW<$cPW@@awYqc$e;I;`p1Z4mZ0pYQ z7iR6?_Rm=*5?c+!=LGkYwr!vQr3J!-Bvrf_%3tsX4q#i9oOr>hPle#N0D>JjRbE~S z#nDn2E6JaO5bTLZSHnE=R!@rz8-Yx}+qR!=Og>O|Lnmzc{yIz#PE1T_DFr)Y=H(ou z#rEK$QV6vc*bhLy8uF-7g@e^7pe<=h#>pR^4oCNlYiH;M&1(Zvd^$KIAoX?xEo-c4 zy)EkB{JcJ(QX&vmwSN#CB}cv3`)46Cnu>(X+C-?tLCba&D9iI{g#Zl+o^b|46*hD< zj)Q(Ct%Qx3+LCka8=Cud-#k}MtjtM${JLI##d{n{?Akh-_yXXHaq-@-ITN1N=lYm^ zU*D~NKe_hS+weT8OW(GiDr9v^D(u(EZCm)$HnQ0kZ_{=iIR=!1k}aD9T6(AixvKEp z0(j50gf6A={F8^na{_2V+N#=^V59yjx2$^&%B!VN+*Jz8a~H$NUI|-zHorJ!-HEZ5 z7F}a2!1=TwvqW6ex3aYVi(mX=t5*g#e&__Ow93+js?DTpM*CH1vKRqau>MS=Pu;M| z)9l3+30Qb?6O+_4!{emS+djrzdH#6*7iv|)^RP>b?}^cX?$YPGfiXX7#LV*!+lI*>6FN_@i<=cYkRQ6o?Dq> z2P-aaRWvOfT57MeU)P^2ou>4SK6g_6jIAVf@iJ3Bzpj^GZB~!dOJ0|q*go40U+QiG z6gUqqa|Y)VeCL*Ha6L(~*6Fg;yuQ-D}B8bP??Fv*UQoSc7YYA`23D_7B$=Ng@anzV0a8TuY2xMF6%+h!~rNCJ?|I_xPClvuY^G6X~MlER$C+Q3d0+&Ib-02*3aPzu)A; zgB^8=;Ok%D*a|>8o(=<}<67MoE55`mKLXYxCr*X%%Il=fs@Qa6irhQQz1L)v-__$> zFKbXMH}+;=BZgwn7=qBTa!(o^oCxdB4V-G*pa1*gAO9~QxGlglTb5@U7MK40sz_N& zt=EDBR58{u>)!en;&s?*i-xCbAKd|0-hom<>c^QtJT#DgPW(;|o0UKP-0QiM>$6Q| z1HbbX$y%sf&`_$4(b`*EufuWUgGo79n6zFH+omG!fPj(+HVO$}lio;s5!AwC zk4q5CYw0V`b&duuF!dy%y|f)aFcd~~(oUI80^gTyR!v$CeY?iAppB3zx5^?0l(VTt z%BGN<>gRM^`r6Z_mJbD$AJGgvf>Belo-IUSe2Zu*=^srju_0nZ%Ql54*;0fWq% z1k#X=r}b<9-j05*!cliGGu89!w&fQspy4CzsQRf)l*`N1QTf#SQ5D`H_%&yO=QW7W zH6;vxtBRjlbrY>t6dBS0h@hxX9VWNKd}6^wlrdd;5`t(Ny0Ww^coxE{R9P2iXC-VY zosUl(hdKn@`abpG!Gj&XIatYtPQbe3jyuBTmtU^Ea2^*wi-HwXhi;qIym=v5FwGG% zrb3&Agn#yo7=6AVVE-B{H3!LS!r4XP|5wPoHP+h0+6I`_5&*g9zZds3aEQx25@&;Jz zZ~8T7!p?e*)?EFHL=RRQ;?j*pjs?|5}}B4X?}2Y@h9g zuMLuEMB%?M+gdYTC0J@xy*QqU+sdM%7GJ>9mQ^#!Jg6j)W0Gr@`uR3kc#Ldq2x=;z1eo?gX0$$6S2m;OFUz;tQKD`Id+ zZqnBlC0N*Wk;BAa+6iaz7zRG+GN-S-i0L@fTJOZVgz#%Ge&x@F;I;r>`0YAtaJxJf zO2yqKButEqito*biCw!wWno^v3;AvYoS{oviruav^;y0RScDf+^^acbS@5B)m=>lz)40Yp&#+TTvrw+n_qy%pV7(^z z*=-OEOyKJFz3ogd`a;m^I_$){bX|$wUSO)Ys!qEw5ys{(Xq+K!{+W}4qlUjV30RgZ z_@2;4Pw?%nXgmEaR>?=9GgVTX7nJWcjmqa{7sJK*`N%B{ZorYF`+!!9;Jd7JpF@AY zF?0eJ&2`yjmszX1CJSezY5T0kCPlb{`N7PRCyr~(VT*pxpPvgCE-ZvmjV|*tKsH6b zr)kV=OYh{#MERjPgF#Ds#q?n)hQj#e;o%1t!s~DQw-A#iX{KHPZY zer=7xgfSSBAfwPEk6P35xZgq1OQ*TxgsY?xHuQL%G>)ixP};JS>N==&mM9?2)wC&a zN7akH`W4R#|LgzsGhwAN9SWl|*sd;Fn#OF!#|_SnvBPu+`8zxC3*!;$19LKRuL(Z0 z7iYu83+gzGZ6K<4*K@dwB(zwV;b4yAeeN*9nz|0PfQ9x73A??31(-mxb(~DMXjOSK zGjk!#&M$`1y@+BO9moiNU1~Df;sEvw@$0H@?wP!lRRU9%d_L?QACU>jvf^YyVf2B9mu}95D^d@0XygDj4LFcF z&5S@oRzbqh+;myfdhix}LUu1;(XXb3tX-P69aarixcwuazGKj&tlQqc{Gt%Lum#w^ zf4`BOPaM1BtmbqGh9+2=oID-0t7&XWTr*)>8xS1YA1!jL62+wL+U9_?=<`LQ3a;%? zsifH&+dUO3k|tNfuCSV)2uqbYQPYAg8(CM4Z7ye){kA{=ij;ZZ`4VfVAas>l|jT$*_F&p>Y`qXBO~4V@Lwt z(LA8fM9>1cT;TF&YiH2VQL*uo3GV50OJU~1T&P|tbrC(A4rXgoZ>(jtrB`r{<`pA!E9-fv&^;#0<<3o9fo5X z*GX94yd<$W7$!%*2P(q=qua0(>)&f#XjD4EVGD5ALRelJ6E7=<3v)9;-pa#YeCqGQ zfBQ495ighBhPJ#gwN?U}=%G|98XIA(Cyrr*Ut@hu;1axSYDX;O^r@$etE>rEjp@6& zL)c>Py4}0w9eW7FplP!@YC@Jc_;LpXtd$k4hg$_Uxsp{oC};(Yx31$Sh@6R6)~TapN5hw;fpI8jHuK~R~%oB4o@V5 zMTSf#V-;vp7)-p}m?vi4B+;f(}18weIaMHEmN9s`>Sj=hwS`vYF7b?oigfKylYUhVZp- zJQQwu>3%tSI%65KBY41XjfGW>eIsv6B8KWzHUC0@g~7id%N8ISq~rugwkyeLW8QM5 z7@j&S2U&uQ^?CB`(91Z+wOE`Hu0}__4TcKj!)cUtwf4V3ZHcyNadEM&Q5FubD!ylp zcGJvD`CQeq6@;upL0;R+rBD{Go_y>=7`yFQD9_J`Rf51m%xw)az$!>E6p<9lY?vr! zqw*EloUk;dm4s4NsT?q<3Y&kzlZ;zII+6$#+_{Y1SOTtaH3PBn+(<0RC8p}+mv^5I z)^GX?K9&yD(c{wBo+cfazV6HCs(=YnsxasE!QtR%lJ~+b*XR2T-Cz5cr~fR3R<;05 z>c43@dwFNmOt&CGFXigxoh>NpHfBMM;3FJ$TIa^`S(i}~kl&gSoH`{N$x29&s1W|s z|9w}u^>rT#%e5bb>Y}W#^OK>*K4bX>y*I0O==9T>k>T(JoBWUf#3rBl@~HYlM(7u% z<*Ud&(4_jcgW>)Mp9}?oNb@0rFRu8M; z98WBf>X)2ZK4R(Z zd)I7;rf7NwkuTfF0{-Yx`4Sq!;J7?gRcE@8B@gcA9hGKhfplxahUnV@x~oSYJuQJp zBLdk1u<_H=N5oOEvbjP=AxvSyfpCbGFcR~eYVP4>2I}kHEe+{drU(&nX8H+xE{$At zFoH?f*DBk|58p+`<4o~5r>~PDH^g=Oob)sY2kpS&*XekV%brL0IGnv*{Os|5_IN*g zyq`VZ&mQk*kN303``P3D?D2l~ct3l*pFQ5s9`9$5_p`_Q+2j4}@qYGrKYP5NJ>JhA z?`Mzqv&Z|{wT^!+5v(FX{c=%~SW5LivNdQCAnU zsLQpfZ`b3Lq<%f5&oz+Oj^+ZyB{0nh>FhUyz!pQm1ufxdiad=~v3Z^clKD{uMOE2;uX8cOm@u9~cpD9ygQKn*7&P#ia9c0u^kE&~qEUb6viK2fz>sb}epN z91TxCc_EyW`xp8(JZjs9xG_~vzswFDI&^6Bci;Da{JMO~wz37-{QW*iF_gmAd*1V& z@RL9JlbtmW_y{suK#E97DtZ=`Mz!$7srj%xuL;FcT%}R(*poN6`b3dfG1DMyiIUJ} z*(9H?5eo_Cu~edo34vw|iqNG8>AHCx{TyH9x9b3e3N|&_^{ZXI;8jS!l(3I2 z@BhK0a-elOTz}=HHgJ{cMt&8q1bUI~Zg`O&K?}AVVVI1FC4|O(;sl$*xXfNog?T;F z_BtAvF~gyY9zceW#Vpat$VhnZbDt}?4`&!k0gI;gO_V?cM~2N&08A6oAw6*^tH7EJ z2SM1g8Uf5Nl(dpBgsCwZ$ZKAE`vU?NUr&M&140%nBFjc3k!PX8@RexTYenQYLCi)p zs!S>y%Z>VxU;QSz?C69@$KUn^pi8YNW)?b!00h6TAM5<(EM*3PZGZrLBI)ieckaPa z=N~>$jR3_q(nD%G+!XC0A^?ULM;FNgcTUkT5?azayv;uA~f;+v!&Vuk@c z?XdlG1o66R3up>Z@}oF?Q46|~bXD7nO_C|AySfZ+f|ChYT>@@Uk~3Y1Ppr+|H^dr) zm}_i62nWt-{-rcA8me+WdVVH^Z~V&x;m3dMSXiDpp*4uIMm9HPHO3*TQ^%ANoBEXTtsP?B|wT=sC z8;LCK)>j$UgQe8Sg%J=_vG`qKVTvf1f;oVksa@~RfU!Zie+i=D0P%h60CTs z5LPSjD9&tn5m~~Y{pp?I9Y6K!VddO?;_+H#4ewc5l@sRSbR!_JSitTd24F7UC15c= zXU?NIqE+eTV)*La-)v;5z@5IOOP+zd2HYay8|${)ZnJL>;}5tzl;Or3Z!{MU%gf8A z!2$>_b+-oy#Oxs#mKTvgNp3}$G?a@r+Zu3arp zUzGw;`!`$V*G)V-m_q;QfGmRD5w&r?;O$`bR05Yh{CW7`Z@vD13}J&UK>fLLOJDo< z(sAkQ`g28gT^7CLFiq#_*T9y*ug7uk*PIFdJl-|`O?P6=Q)ICj1fE_9fWI8@BNw!| zMwEioS46x<^2wmBYT6jbdY*v!TKJ=1kNwtnX2a4`%VD&j0kx2x_`=Apn5nLZIYdDV zXaP6)HO_}h`W@Fa>%-OtRo||JvkA4`L5!7!@HAgx*xlQMlX_@{tyjMCl{QyAudT+J zE^HgXLj^Vfj6vz;qe^Nd;U_EcBHe!XzDL8ma#xsb0sch{f0H-1=cMv5B2ngR(}uc} zq_=m^Xn6A*uL#p;CN!GE@r2CZ<)n03Bf3}}MlycHq9UH;#gKSjmEG25mraDve*Rtw zTium@Qabv}OM9hJD{5N?jUY7|tw<^=%26ukIv4C9TfmqzU~Wu|#?YQ8j|>jFj`fS5 zNi$vIU8v+0Zz9fwX777kug|;sz6#=Hu>vJ!@(ML8f3y727*@m-o7E4$jp-R?|4w$! zAn;5=!08N@3XOuh;3~ts^UI6jLRHgP;z_2}f?u=ZNNGtIIUtk}b@ROc*i&*$`nCJR zo8NRKl;@r@5{g`qbi*4Mi^l*QG+P0%=-C8YgsgAfr#nrnY7Rp2@ap;tB3%LW~GuXn0? zKPN$G)$AJzVQhRVjO;rUZoByx!im$(>%a)bH7}lmq8!yeVsAY1{IIKp_h30~6~VD5 zWKj<3s`y(;%Ifd5J*$594Khvz=)Rs}Kh(F@xgdij2y<Jea28R|B0&qIeo5>rljluMx8b1A*e+X}T_x~K0XTPIu#^ii@Nkhn|XXG2p zxx;?zvXb!z{Uj0QXE8q#&YZhoZmNq?!B@~+(MR;4y<&jpyzJInZw)6-oY-NIc>0Pn zv;r0&#_Q}^S*mYt@D3?+K*$8H1v&&Q1byM^h@}2+KdgHp=O}B4Wq7&$Arc9tf+?Yz zpkxIR2G00$^8CJd?m@+z54%S3h%612rbn$F7{x0c9)6*>l7yj!C26;+#V|3xC#)`A z2&+$>4zuU6<%$eXr-razxZ)wO9G8%`cdi;H^753g&9RGUvP7r_-8XxuA=C9Y`uIp` zL}jFujUlhqM3l`L2bvk|4NQQLAVoaaq#=+)L6C9{PW^e3wZDI<&wKqo)^C)5!}qQ9 zvHYDpH!C~WU{U{6{piTDkU?N4K>&O&i-A>ipuvJr5w@1aTXPz@UbF8=I6Zqt+N-F2 zukr$T%%QaCTcXPvaYEUgVk9xCojC6LhsQ%@`grB6wx^A@02gi6Li>%0Pto-uuqDKy ztKkgP-}^P7p-pwhc7-q9`H$xCM;j2C3yd%#c;RELhkycu0rq>}``+;JkAJ*}90uf- z+duN@JBC`~y5WW!!b1-|RM&5A-mXraPVRa`$Vv~pDoKmjhwpzVTyu@A;=}e!T-GzY ziU!{dDu785l5!U2W;I7BEC1S@=I&-CX=u1|c1~)o!y+sBb1>Bw>`D}+m&!7zg6;8F zMp}`Q?)=5Muq4CzZbM0PhU2m{)o4`Zkp!wuu-GaKX)DJvpDsgrX(Of65;a-I!7E%7 zL>$-l4BnAk`xlANQ(v74_2)@~^!u0k90{?WzkMy1tJU{`4eB)ki+1-GSmXrYhU}?@VU=@PW=&cOzL>O zXKQF*kd0wdGH;_>v%$3e8cK$cH5nQ)1RK}!m3tlt*IfS!rI|@cSs<1qWF4-pAqKf& z6CM&|Hc?>>@%?GLa}L8W8{T1+4>8~fOQjVv+C8#Is-#+2UYyZzVm=hcWYajM&AV8S zD`5;~gEW>iUk~csMP<9R=R`$}>HlZ%O#tjVsypxV_SdUcYqNzVTek6rW4vR)7$-5C z?ZAiqVU~CxGbAt}-#{P`hRKkRkOTq=%NGa?*&rcd8Ne|PkiZAQ!C-?~Y+`wpZQ0t@ z>b?8zZ+`!CZ*{+JbxZx)YPqGpCEdPTRo$xds!sjuoKvSp%LlCcge^9(vt~QkXjLUV zT*;*K3c4*BV`&=GVCj#FC!v|dEFqU5Vo|<2{FTSk&A}lfv(?t1DiB}d8Gg2j5H59A zd1eZ&I>S(>a8~@8u4j7I8h848eLvb9GOnK@6Qc4>W$}|`4k<#s$uw%4lj#qBAH{5W zPJtppWq1>vMRy(ZW1Ca+O74y@1zH=?T(b_1XRh%VX*{*bNR*Yb3f#8)E~qVCfPNF&;(NkpXsvmakeZ_NR-K z5J#a{br@$@8eW5ernPJnRfD0@`03B#|CFJ@IFd5l?XRmI?qvNH<6{Li**~Ob$<3M_t>w# z_N9Q02N>i5GDveU{KonlNp^ww?wXkN4*(qY8|#F6KsO*1Buq1&7*e@gzjwA)tZ`uuNGsi=4UPfhV@PIMqeV80r9_G}E;JR4BeN#u))^#qoZ8*E~ z#e?uwO%XM%RER7kaPKY~`HbXV6?hLW-`OMPf8YFoz5V~a!BT~7*g=d~fnA~_M(#+6$)vZWhlp5`wRdYp99NnX={=x46BxR^%Fncm9z6FZWoCmpZcb2ptF(AD_f_uuE5t%mFs9YrE0_>EJLP4hTIZDq@i`@rdbVFMX~gUS#3V_X(?0WzA}qnbqUppcBoI`Ay@o`&3}e|{KfcGtG2Ug75`nQ}7Hz;>$QH(e z8*aE^F42$cIBLI3I<&fepP3M$yN5168B4wi)EH&uT?J#|BEf1%jp`#cE3kG|OD!6b zbRo9M$Sa;(T#AK6>|ipd0Kg`nEX-B-x%vJ?5#)~!o<*@5+Smd~R|c>sz&JdNxcD#y z5x{aNCm=_Vhu0jv)WKhzR(XUk$B&$$im3*Wbue{9%;cO1K-fS4oP5Y zNX1t!Th5A_oa+^|%|@%*KcbEJDo31=>^}2a)iZ`A{I~C5x8rWW1$MI0>@iBR)c(S7 zU9cc+26T#iEig6}mfQD!@E=xY1(feSB(5LZV#REIUX;4}>Z|9K?s!TxecU^q>Ncmk zy!gd0b|4f`_rZzcjvHRY9oT`D^#3%*GzQ&imaSCKAm-BJ_Kko29_trZpeAeJ6G4p@ zk+*bXbx@dd5ata&ZHvi&I204UeMHXcJjzIAr%Wmjy(k0o%CgQmlfqD4Y>e^^^!3lt zdSQYnk@|3!a_UnGI{864LYRjx0tp3{E(OFB#0CN@&`uV5R%a{d0+ZR*S!_&s zBCe_DQ-k;!hrht|fEjNS+tNz4ZeRb`U6$%vfrLg2=0fgMQ!kY}InT>rFRO{MHn^?U zFbzp{+I>H-o7Oz}4)PGO8Jo3e;yvH6dGqG^COvM_#UuQ2Q=hggGPe~EYGw4?(5u6l zr}9rAmf+o%=R<=v`}ViC5|{mJ+#ZXDOh@+yiw79lK1D!dvZGI`58E#OJQC=;9Q<#l z#gxRbxREFcq|>Nk=Rl{!>4FUo9A1|$U@CGQZ>~0MA=zaTG+cgHT$`mmk#LYRzm^D`$l8=jFi8w`k6ETLFzkTGMMxPW5)Av;; zXJMRm&2tRq(-`aL^BBvc?#$;>wo)E@XR5wZ$l%@cA!#gzkLbZ#LVbqd-&A@IQLHt@ zk3D+_T&*vY>x2Rc1(ps4V&)*Bf6O|fi5L`+ZBPS%wZ3NsCfV-t4*o)dI8DT!V(C0L zO(a-SDN1T19I=1@ZhLIo9`@Afgx7@Jmkwz|O|@7^(kZE0>r9F>EJjLWi?wH8)eamu z;Pe!~&dBZs)0VWaE()pJJD+;$sdnOtC$^X9IE=k?TU-2N$^d@FiWL(;;jq7P)SKgI zG*lO>vU<*KuiV7k9(s7U?H{RI9?zaNEtMgpXw1G#vfzaB2na-gD~NnN<^ujv?`i$6 zs|&S8hcd92PGyv}gtE!fa+1M5yY!-GSU-@&Vudcj;_R#8 z7@_0_CJ#&M0$gp#t(@Q?&PU@6fMDP)5`~Q5Jz9P&8}|nu*l&A=biK6qcM++wEJhM( zH0F$tk3i!L0IP0KJR!FiJcsDDvV1#Mqg920o;+zM1i?i+X^zLZOCDfJlzIO7=gxf4m$hMte-CDLo7 zC(`CV z>#`i~2EfDp{QWUPiz8o5xz7P;G6v+? zmL$U-YdNHPci*wy@ZJ!QVvGSIY#XkGW-90Dr=LF4<7463_wTs$KC=a|1qki>SRlfJ zmGSJe&z@V}-jUUrIUFX59SCqqA`}oq#&+YxbK5q=Kuw9KF(gO-E&C^TnJ@vglm~%X zMFShD$UZB2v~Yh_cEC?7JM&H@Fo_W)5-s(!CeFQT)iK+A$~s$p!tA99D#Gb8Dgd`J z8T!kKD1b|Kk(FOMcUd8M)B2omm^vKNE@0$RE7gQWyZkD4cap^DRp&)hz&$%-A9Zd%q8?>;ex&`mlJUv zya&bVLKvA;hD{_{0*p<$Aw`mP;z@@t&2*3@R##?a&q#S3r+4H>o>C#UGQ>bOodd|y zbrKQ^Bos&}5Tx8<3F0R*Ge}kOLC&$f(1p=ElUANj56;d4e~lT6tPvFR(Z}{67Q@bT ziH9^A7tym;#oh}3Tw}%MgAYFDREwCjXbaIIVmh^2F6Tr&IU(J+apRog9`BJ_(8BRv z)!FN(#?al37vOe6Ype6?h#e>k5%p(3yAORgQlV^-295NJBXa7dw;V3g23C|%PJ%VAzT+M52$?SJ^R@4}`CSR( zq79sT?zy&Q%NB19#bR+{X_y{FC`l8mX@?r3&$omqBK#uT?>aaG++y2y8e6~*viX*B zpk=G)i!-2`YjAF08Qx&CEf)4!rq;ps^Rhf#=zxexyMdM@){Yn zURD59u|}42MY&1+=%08cUgto77meFN{LefYbqHbQKQ0 ziNj>yj2{SMWlZ~&-f`E@Xq;NoLE|N9Q~nHSuyw$efJKw-;@x7tj6!CVRB-8Rk)_&2g}wPaVz?+@=>0%9lV+`%obntPC`O~gaXGD1sq_(BQ!}9 zIM2hT#8s-;9h7*0%Fhb5lr6`xQ%ewDoD|@a?agam^P1^Vm+U=FISHb`WtUxMLf`6aYB-_s$U<;_ zA#I=g+`n6@V>umKWCl>l%7DfUa>1tq%kBhhbU4JA?|0@`x|vdG*Hj0T&TuFzbuYr) zUi6|%qav!iA!8PMa-?(!&NE&s+fZrD@@(;5uE@{}sU1s$LK5*VQAIP=AnBN?Ov$r^ z0tp3{9t8rQP|YK0aKs8s?i29{#b6G_U@CX&6!h7rd^P$ zw|)EP7nv}j*bq0B9IkCpzSvbHrzti{iC~Sw_`AcLJ{dJ5}zDC z9k6_lgxiQ@)u@|DleEvx(Q=q|h{}i!O@b|oCh8S2`lQQ&c+BkE$} zW+L|r;=8@WOd&h-zLBFl42yxQJPo?^O5dAEkz6DcNGPyWDKOK7OLJ2V@j7b{m@qNx zDs;M}>R_%T>P7rWCK|Pdr1r4ac$Dk!$B@A%zB8xv$j9>^h}@`-TLTAV>E1Q=;g5XI z9YSYO$42T2P5eU;?R3ESXW;LOC0`8!RN%<7WDDhD*@jeg9CB3kBt5{jQ?{Anw$@wM z0$SdA>Lu%0P8kW{MEV<2IKbl6J}2RO#Mr_~@pts^w{f_l`*HwWWn)w&rYTSOPHFu~ zP?pG*goFYK1)zXff(!lwHQ+~Kn}|9RstzPDd6o`N9lV^Iz)PaD{z~~3WH4eekMGz8 z+S1k1WH?TlJR^_Xv}TvvE&sI7@n(dN1g><5Hi`*o@^LAmCl3w^Rs29Ggt0=`Z+`Qe zbxJ}^fvIhDiIe5(tFN|FsT4_ZpoMI+<{KoeDbQX&@u@q=LN-`g+@LErE#JcklLnkZ zRoF!DE$P+K@j^O#Z6vJ{pbAIOvDZ=iZ8@=FTTU(*j!6l0IHAWWL7gz}i1DR_`Ma8Z zHdx2Lt%zQqGzF;|c`xP}Z#CphauEpcrqm|6Nhpv|;OJ7oVNc9L!k67{iWlNZX?TaQ zQ=LIQ&t`-=lqL$!Si_B)768bkZ2=CtmqTdbdtyi5k^`bX??<&p$NC#cH2SmmhyuHV72`EZ+XjG z{7&E^s0Xv!V`d&9kM>V9g9jh1+Tb7?LS@*`lr_id+$kEm&#inl4B(5^e7>*EJiarB zB+bmKZ=1DY3((qOCi6$=-YD7Wn^)WU=bqyIuOI~Jyh>bfI@_9TS~5%>rNbUT8piY! zPp7CJQI$&M?`nX_s4Yx$^2^CpLV<(=2?YWLWRnFGb(>i^&&p%O9dJN6hqyXRlGS8_ zn?W_EJy{jDJ&H6dwv&yXEUmwy)8NQ}rMp(zt>3uI#>Qm&(MkgWuIN!P=V*O9({-@L z(z}ySKG{C`$xqG{ZOJ}s8RnKO4JImn$t9QgwZxw?eiu>?y5@;UbG* z=P8k<-As>rxch0zpWH1~ob7v0F5@J1LV=}6fwY4n>Wx&Z3%Bi(e)slhw`WP!C;3jG zOo~~Y`ky9^)z}NE7DeyhuOuws!6Bf4L0H)2wxS{NadHm)CsaqY5J%47V60Y6+4sLU z?5wz?W$+5FQji&o+%?QCXv`QNA9q?S#dX(RH@AdKC{_Znrv2F0UVH5XsG2Xh(j1@$ zfD#TFXOeL5y`!kd5Ua9M&vo36N21w6gjS{%ViDcSZp@m)cG;!N5k#>X#aoP~J#qQD z45E22Hg)sPOy#My4OrQRS!Gzr$IH6v0D2*S=%+-S_Hs}LjvA8gjVCltVX!-2q!{gvee7H5Z zR1ZG9r@v~CJko~*OXNT!;kLk$(R!pRB$a5XFg1(lS^QT3Rob4Q`MKhXE2g|pZfJf9 z5vEe$h8u412Wm8uVreGOeo*&kb0`v)X}90|!G0SWu2`vxtyfxZ8_2T}sSf4zEi&$$ z&v)7{S^Ft!RxkJ2#TTAoMXexFr4&?$*@8MHv&0g;vme**2gXKNeS%28Mq-jpFh8O_ z#e%!pYLGlnC~!PbK+C0Dvb(~3<>7~S+k+49bv0^Un>sQcrEo2T zh=96^Qj@2!4_x%{;J^A^G-h^nb=h;C^PGbtEb%7^*qYV=F1X-=X;0>Ji#S?d(P^@3 zt`9x5(;nS%0NViNr4@1~DPNIsLs@AQuSmlz0gaQc#5()?+1y&+z z1P&?nUL?_)fCIA<%W;;>6lBlkA)IGTa@@Yqf}>2n%YJajBes7)w8Jr}uR?;yHxU9j z1Qpfe;C>vXwV0h|!Kb9g%{6P*gp|oSra%I)rZt5Zzxc)W%x6AxLRUY1CNM4fjJFbE zqxMH~C3`E33~|fylOI219ldxO4ggEr=eTGnS^|5hMm*z3j?zOJ>RYO0h3=d^=kik` zhDV1>xl_{Cju&@KaYTYZl#r7Ygngp}?mML@geic}!`4cp_H0q?!z&r2=&q>4GG#NN^Bh>o)jyWqle92nKv z&ngv+P{~DcBFhM_^q)iSAQXK6!p4}5lv!CQzgph4qdpyIv6L8}6D9eRP#~ee>=cL? zioe$YrM+II;?iW*c?Ey8lb*ta{gB_qfAmU|S0CM!SrpgbVviKvhL41EoVN9(SA>?- z(St?uH!68lI=8igPSL)vJd<|B?Xe<|6z$EZJsa!xo$pGcAZ-NH6K_`*ab2fYO$40r zg-4TmFo3M{&O2{v(&Wx5;7xG8v>5&RjeE?FPg{UMlV?5aS$?T~nC26tV#~21X}O|( zwA5Jh_UX^=vc91;7=$CyDRKbBDkWq(wG1vE^4LGk-!IpE$~f0FsXE4uRito(d+g;m zUT&*;>3$gTtB&fW?Bz<0w0og!&FI*)E=?r!66fI@th2krwpIFVM^D9er^bliw9abN z3cSPW%gTVbdKTl><4k9$Nn$(4Tz`+JB3>jt;CB}fpX1R^-4!Caf2xDssxz(nq3a08LX09-4*b%fA>A8C_n9g8t|mvJx^RT}3w)UtzG;`G{> z-FH%NG!gYm4oyNg`^MHSzoOT^{>?o$%xm#p*1j|U6`i=`P)*}YCt+mTBKplv1A$-x zt+UTQn|Mh$hyvHX=jL}!HmiePFWm=fHK(6`x{ZvC%!>#O43Q-EaWA71xe9^MEw*hN zv1O|^*%&)?8kX=GdUqD%trY8Eb2+!zn%DOhHW8f2x@@SQ-K~nFcIo9^>}szK9_3Nh ztK~Q{x}rI$Me*Dv^qkA=iapAsouy%`c2QU8kjHC{xTiQpO`MDbv-jhLtzD9PLV<(= zPdx>Mv?a2N*~bJw&~EZf#C-U#!EnkP;vtWaOhJYCGpJ;D0 zdEZ1hMpOqZaaMsB=^U9XEq03&in`ypkG7|s#zwWc$4-Qyy#Ri;a0lJu)rI=Y1 zXyna<_NkenP*24pI$@)Nj2Y?E-aXswSq!J>!3r|2W59mD6&NZ9W7uBJz=u}fT|Q3f3oZmH*DkeQOm5{ zXzzRf=Tvp4p@U9RhV4z}1Ge-V$alkU{^oDa=ciZ_X%etC%g_9VH@soqU`vZMusZ@| zAc{uXs>zf3wV=rtKL2lQ=(h@iRs#_(E~V7DaYR**w=tikI8WVUiIUkGdTbCM6q#}B z?kU;JuRDdh!IZ+G~IiWy8fn$RLl0J!VND3n<%6vlFMd->$c_4FdNF^o?cB}>s;R0FkUP-gGB-|(Z zxWs2qp#~1HvN8f5&)7fy1128?dD<4BlG}T^Y!_XFCA&wM;~(u1y=l`X+puB7M2g+J zcTZd=7t#2Z&>^P4DW{w=K?_;&ZQi_j;=Y{=HFt@&Gl*@~cflyWnPGt!|L~7L1gxMN zXV>I$_S;G4vAC>Ys~CCEYUeXYDK3RhWtizOTajO{@$GiaHP7*ty#kCpaggYJTou>4 zVAP>5u@Y$1Gdge$DD}YL6IPbBKmFZ-r2v-OMjXowPIXQ~LV<(=3q=935c$IqxY8kn zCFe}@;Tk0^b*^i=#}p8-73BdaabGplL7RVhp{jKR^A#snO{7DhUMbXs*&enXVRJ_| zjP2;{#&5&D_!6o(IMs&*sDhd>0=BHspJDS1G5sn$aeH*D(zdn{G##WqRc1W6CGF)@(E7zBiB zFr|D4OIB**HZrusPTtsSy)5sM6w3oemyJ~p`?5$*Ct5{}Q2k!gEji2Di|PB`@`yF0 zMg(=r+*B$wC~fjLp+G``(W&+#D6zuE&au3Tf;lekb^@1OoMYaGWRR};U zx+A$ngtLS&_JwmWsnLDwcsWb*CH+{xQW9pNz^h&r8G7q==)5`$c!kC`Q_^Nr;#g)5 z-taS4W#>yj(ZdAV`mX|(Q#OZ9yY*-@0ZfW_I?9gkTx2gpKys$HWMqV#dk z_b17pgaQc#5(-2V5YN@VI%1~+25AgkE3D2AvZ(2F3cNZz*L`?)?u8d%n!(C%*><^# z&9PgEdTgGdi&jadG`aU-q>lEaY#p7QOy&#r#Li*+{+&B*j79BWuY*Ex+kViC_HFxKfT`UhLMSG?jC zbIoGO##_v-XHonpFMs*Vy&OSe70!n&+(f^W$CAhgOBA1bL_S;Zf5IN!E|6BVY$1bf z0bophWl;vCR9L3Vj~6=-;^Qu3jq-q9{@kZqp&+-xF@vJ~^grI#=*Uc!R3X(#hXO)6 z`C08p0=92-5Vjx&DBgg&6nced9yj@uP#~c|LV=h9VSta+dyzDXzlWudc#DDnK>!8O zq<4DKV~_i|@5KolGN}pVl0o~l!JnHYD|S_J3p8$}awp)bW>4&c*W&ITh%~+OhrJi= zL`w-5%6Q8TD#Bm>I2EDyeK+6IYLy(=qMJw2 zE)Z2v$S(FZxc&CMc3@!KvK>VlFFyl~crgY^mIR_Qs55JWRVx-dtufkXS6q6Ut=o{d zl59rXGi*ov4AQgBQw>bPAvR0zC#GHr-0o=e&(5-mMz1zdr7g*1!ttTL+H@gZqe zql0^-O~zz5H)^A!qgGtG+5Y-d-|!05QISrqr$0XI9|;&l$Dq;Cc&Lqj6CYWJC0#TY z9zNRAjUjd63t#v`U-Bv{sG%L)X{XUgZQl>MI1tKUDXqYkFjXA&umAchR_r;!4(#1) z*=4;LmJ66IzR-jbHE^7&rNEf+QvsF)1EvZqigx3Tmqu(!btMQhHt`-TJ1qs(T!#n6 z;RYY^ws-7+jj^&)lTEj?U}eDk)(XXWC#Qr02?dU03PcP>_E!Q|a=TE&=JjwPfGow+ zgm!`#IoArD_;9%_=J$ZYiPb}~G)p5+1|xS|?JQfp!tS~2e*5tQLzc^G>e~{(jcQ4_ zphIpS0!Rl`r>ENy6=ZRO77n%(DA(l`BZbVyad6$M) zMNBYzcF1H*g-&BYF@ zj11F((f1E*x0_xat-kc~P+mp>SWKa;oj{moGu$d{}{pRd6z@r&jymZ=;A2<3A4~QH|;>A-lmd|IbOXf=ACE~6AL9XDXzN>Ob7e2;0@Sc`Oi|o<~0_cgP zdD?+Pb*%wHE3%)(>F9s|oex=;OftkY0~2nu7Lr`a23ec+I-t|57)- z<_|2j`aB!U7TL8^hVj~+6e$sgi;a2?kt|(89Rn#+N}h=6AP%fzgo(6sG*eEm40BH# zrmo+4VylfT&sfj0Zp$ASMxiQ3M;g+}6@*utBw}(|(&hko87+sQAYtFKh^>(KVha@0 z2_~XVI|9=_66d2;Z6B!kZQ41vTekVoqup;T=J-de{_XsRA@1Dhw*5c9_%mitc8>t> zIuJuHU$hg1jx0x=`#OxI4ljh$;DIlNtx?I!I33)<0vcI>ir?zMn;-m@?PQ3h0S+@H zx*^;G#+1!;TBY2yr=Ov?@SF+@E_VSgm;fgD+u;)DI zIqhe(1XHLjCgCs?xaz8_?4pYuYdj3O7QM0JIl^dQkKac3GEQc3FFwEalkOzUSt5 zB`9l-E#S&4uXHG{JqVfd7*UV4_D`!x2u!zq|= z+FGH^DppJNCrYX65QL;EaJ`3jK4!y>iluuxSe6KK<2ideGJT9{EhZ=~8?53(KB9hx z8%JcGWAZ1VKth4zl>!>+-A;oFX7V}oVJx5Xy>MDN%OiF4_z_^bD+ZXOGa6`?FE;7 z^{abq$KzwjaB)SPp_2e++(Ej78gU7Fkqigu9dbeCV1rIn=ZKIDr-clTVuWTQ#*~Vc zf?h**xvrI;u-CrsML57R>nH+!>N=z}oI-)|odEz2n0+R-kS?7HHC; zMj5Cl$ykjns~n1>pg8#Enh(E-GD!X=6i6trs3<^pZh=SBiw3`dVY(g>G1ge648Riq zBPgMVmK@+O{P!SzpEQ69r=9XNm`I$?pB&47sGzGnV2o%;8%*Bo>2XWt>Q?ML!EV0! zM>aH2!C98-sFh2I?_&PhZml)eNra_kiqCuA^K9eBjqPT!WaH11eEQEl~5wl9A12dER5BkLs+ou(F@~q){JX3-+>IbV;wB#HQEd zSn}ty-Sll)L`)V=DRoQ)vZ=!jYpyN0vu4pf~s$Pt~T_AxT!y;JoE6Z<#Sp@^EGf zi26yGBL!}{=_a>+mqbeqE-0)IPJR%in23^+nvYKI?1BDK!Fu4nBn+YKM!;Q|G9-iVRuTa-8|fCDVK zwz5pgdb%q1f?wWb-JP;JEn5-r)Y`BnN~sG?En$G#5nD`h2s^HwV}n-49IYhgCx=;p zumu3_C ziI?1rmo<6Iv%GB_p5Qh}sLEQHO9Zf@2l`uQ{~RgPGR)T2BVpgLuG{LR(TJnLL&O`z zOJ<)aw^8t?A}SNv>Nw5@nd~>T#E@+{(w*z=U%z#)?HJOkfFg%B8H7w4Y$j;cUSTCn z5Ut+$#y7T?Fo`{798AbD2MVZ>g+Y7v=xWW;Z0ev!EquXS&8ccgfn@$ZRBPBRU;4H+ zF?_dNFS{_a&KQ8vU}w(^I|E83m=ZG}p==BMJkQQDdzlaQCSrSTI7(SO!1ZL8HoAY8 z<=DUBMb}=;CWfq$_L^ZA5Lf)*eobDKT_8$Qym5|g1G{~hVWT65FAH8G=2nnr)+|6w z3|4kot|AoYB?zY_;drOO9o6(Nm>pGHfa9H{$4LFe-qgiik{$Cp-ODb^bpS8`@sE*l zsSD!>FbVO-h{J|ytnNw2(n2jDs-ZDhyV`8U@&eZ~QV=hhWG1cG{_+_4Q-@dPRNEbJ zoMeeLL>@^enMC~h$e)CCWM8GP${=61VyYXAEz9=q0$BBtetX)cHTGZr^GVc2E}3yT zJX1+jf4RovT*nAiRual>4|ZMKNA}q`jvz{KSE&UufUIh%Y`q;_!S3EcmjIWFl!Sx= z2?dr01vI&p_CS-n5w?mLsj=urlJzNEW|FxQeImF&2<|p*?6s~Qcx~&;iCD+xMW(ac z8pFc?DQJTe#?GEi_79)^uI)S!jVrQE!_Z@MZY><+Cin|lEd7gHj6*)<5&1W1IW4xrb>RYShmgYy+u2p)LC{^z@Y3l*Ph_h!!& z2B(}P##f$Aj8X+MAK3GR?X8Shy_j{k@p_B@R?9-WjM7kV$9g0d$P(*FLPCLr0>=pj z=+oj0A+%mgbS?Mp`Cp6C~U@fX`q zyo6IE0BasUzFavRE~qI_9+Eog5V_+(^%;o)`xS;%E$(VglebDySM%majj|YgTUODUlYDlrB+g>@qQn41k z^2rwx3M3Rb3KURZZe?eIQwm4OgJv3Dkj8bxfx!VdBJjc8z)UY#3rFxv$LA4gNOO2rC2T~=jc+Ov9tedaT_+V&?j`BaS|0Pb}R_wW31em!5&zgE)+&!gY` z<~OGkeZKd+2 z{3kx~ca|$IBWjk7sOUB%kzJNsFgm=D{eg~<0eLNC;9G)6QGqox1aQH?1hx!A{cN_= zWEW7cj@sDRKKrdVzsim81~rS-L`kA-!cVu&){`N z?kXy^NP-t<*y@<{Xpz7Rn*2#9kWgSjDKHby2+vYl6vM>qz^K5M_z-XWWr)#IG%*@y zkK!|FTgIZo(@#5r=%@^i65DJk&B9$u6Tlur)dt5{+5YNNKeYlA)l3Q}jGCbPCC;Sg5_i^^iKW;bEQ?{~ zitZk(4)@~k^0?rCKwk>35?3C()N??0+uRRXPN@4t7 zC9w?Q8|>^Vw+)JdpFJyxZ*bi@^IgE|Cs`*HNGNa=D4+?W=9=OS>f2m;Ki4z4u&E=_ z8e<~bXCrRIIq9`M8p0G`a;mTchBOD+RGz)QGS=IjwpHtTBGBQnjzWdn{)Flg)y0{e zPr6Zl!t7KxLB)voivMD&fxT*Jtl!eT-PW~gvwi-v-?B#@9%VIpw5W>85-$W%=I~Oy ziLr~=;d;f2753J*zBOc&oZF;8{EN1kDv56LmDSVJ`9=RqIL8s{-sM_a0e;ca`S7VoiQ8?mW88kLz|I}ppF-Jp2=2>hHgftdB zAVErL$umIDcdusSFCjl|#F%4UkK9Y(;k`PH8wa>y7wZIn_}bVbJ}JHFA>&7 znjExhNV?U^L#EL|45FQ5TJkBkVKwQT&-(Ql5N0}5<|B1XDdaJJGas59<5iwg{KZ^< zpa0OL+c{6E++l9ijRmAKNW}#tzjI4f4)_B?Tn$+-z* z(JE~hs_Oxvz{Y(7St;DZoVs}f?i-5m&=H;;4W1d5VeWsa4~35wF^NB*5KUL`b;X#$ zwTwm@@Z1Iqj5INA!cPU4^2@bT^MI8`m)n=VFodfco@Kfmin)mgw2OutN&KWlJT%A( zW0?4+c7IlQ-t(Skr=EJMUnhUsr$7R*+NYVPIOB{ne5Yu2eyw&<()QW}L)plwqb>5`u?)B>m<#n=OuR4fHOdlKPY-~Ym1vn6B;@FZxJBuyxAR4E{7mTXNU z9v9A05z6ob*&uD*{xA>Vy|^up_@PV}#F8c4zbGW3MI@7`fs|6|;S`%>1?wGODmUWe>!Xh@aP7&NA|MFbKZ-$uUu z4=rp8MElE5=(bnA<{6fkpD#d^MD`gR?In48&h`|SuXcan& zc#FWxi!dh9v@?YEF_bz%4R=xU%21!=oKPU4z?>yo>xp0?xNsC3pZ2Fl4MC>AYc`Q z1{YpwUvob?u+x6^*RHcwD|)TB zlRB~HT83MxdZbs4*r?coxIrwSLkC!4dZwMGcU4C1p`l%;BviLG@6l%?5JRX4@FJ$_)X??1-2d>}8F0Ph4w#6RE+(Ty(sz_$!e z2AlB8?ye5|m20lR)%&oEc_J~q(k-qa5teK~8g7gQszQh8OUeC=s1AgsUC88zHSHGd zhRWk?yYv5lz&`iooenxjQHN;xB^07^@l0Pdf+lDrxzKR0tQ@z8NHZ1)M%P-o*|#8l>x^+H8y1y`YiHke+eDPwhPo4x=2zi0y#xk!a1voGW^ z=nB9{j08p?cqO9>H{qf+mZ0G{@gE!9XZu)U*unHlyFiO?3Sh}VOU4(0881}bl6(^i zBosLM6cC>Bp`NnVF1EE`vU|~3CK_v8d-~I#ZZCV; z%UYu(*YlvjqHS;UsLNB5W-4yo=^gJWsrHnQ2F54w)ueMa8)G(n-~oHdbywIG7x(%m zjMl)S6Hw}`RLDuaK1^F>Iw9^LV*s|99z`cAH}H?`*=hMsfTr^0bq$22rAD4yf0B?; zAfdoOrYEHx;?i~EXi02z&Zjy`)~ZlZ+I@6 z1*nk*pw(8^;xOQhYFV?C0-!2q+a4LVzxms*W8}02OV7Mz={)0Ayz1c=y(vHvI80j~ zI&zU!*8r}RtFF@kpd7QTW@Uh7hud*M{1#UM_IR1glsM*!q4;7fdWO2t*JZd>AmODdIK?iril~aARzps(GRy71z2(!6x8%KAz8l0xtBgVJ$0BC4 zQANVd!Cz{vXrTW&=bU3NeBldQUnSS`q`=~9ZS$~a2ngIlTc3Wkl z4`eaXgbmQ4kmPU-;g$4LfB9A0v#V^mo^^I$c-%U=yR1G2$dWndq6|PNXs}$<$J&4` z>l(EiuRhs^OJi1mVb0v(==h{@)+q^?s|E1NigMtA1G{WA3+n)6jmIMX94iYvcHkR} zk`76s5(*>~m@5Tbb_0J9xYD&l0bIP-kk0HIXU{I4Rsmaj?oc9T7ZW(7g>a7v_B8V}s-s+Rj@i@3e-#X-etyXBvMWIJ{b zz$>vkb0S3JL9~*H+Q;;X>Zcp0aFq27l@1OcD@Gy+>N3;IVIK=spm%Jzkuf5Lq)qTprTvE*2) z>3h(4uY3|8U6`b4Hdt(y8aCR$+cs?OwimzX7u@Y~tuAR6LE>=reckwjh!OZR=L_0% zCyn>Pirrh;VLLHg&2*whEmxvV4WSDz#FSGK5(*>~I1VTvckbc^+8ti@K$2uNusbSY zIaJo0k6@gciX2J({omYX`v-DXs=y#{lb&Oi=Z52PAM}qdra!X2L{z_g?Ft*-|Bzk% zlGE+%v)1|Qo~VPz&CZ!4f3#YLj_-^{YEbH|dE78h_u^6TzTus|sxXh?K>_B|L~OnY zZ2uP%#gnom6gZ|SAb{17v&N@JC60;1_|9 zICzk67_&}T%r)0sZq?CUmczTJOr27gVEE*2u~EvaB`pBkUobh1$_NcqXtw;28A+*v z**|6^+0Hfg&F^fp@7}%*jfZHUKk!ZgF&)aw^Ao9@qdGmDOotdRG-e58U48Y{_Wb8R zf3Z>Mm@Q8{(jBwqUo-`mTihFNxWUV#hT3i@<~r~mhq{p2TNeN35_wnXJi;4y-@Dgt z`O=SU<)&xY5Gup60EmFtA`K}#+hp10dUW4jmQjz{>Zf(vtN+t4V9&1EnR>ZI+bzA_ z0TwKjDy78<#5_4wV7Nm_vbK+7m(}0L9y~b!7Osz(jZRGX7AXyqVkHzvC@^;lI9_5! zTfj>xCXu7%aoY(G(TYO7M+^mn5D*au(a@zsyhK6#P_d%87hlwECvRD0rEz!=AVsba ztPa3htic(YwscjUV1CZtam0YVYMse;I$vbcjZJQGmHmGo`;zscIPoZw*y)f2(21l9 zinqr3_&I*0SF?m*=>GAKe|(l0$>aG@K)*r~jt~Xj@|L&Q^5x5!R76d`oowswmY5VI zm4rNB5EubWXoU>V{`613V*Pst={E%jT~#_&Q{G4yVMwL1#VWJO*zl0$dvZ3k^FDj+ zuf5DRZC)04eVSeDVb33kABbyG(JYK2uuS=As3IQktBu+tySKwf7##;}mD$h~?hx6c!Y|+j0$kz*OzHfu zKU38u&504mORjl7w`K%iz(1~Ej+7Rm?6QhkJ=B-zihmqw=0XZ_D->X_vk#Olq_`9n(e4>Y(09dFbFq4C&D2I8+(u{0@7m($J8du;ny>)^=RK zvz$1+-+upp{)!+XQae^*svIsFXFf`uQ%J5F04}{xBf;{9sTD>5*KwXdRNHUcQ6QFk zFo;$+Gyz06Zt6* zLX&UQXoTSiZBu27Vt6$FGgJEvby3`KOr|(Cu0*ftA=IU{e!BLkO2Fh%e5*|Vu7HPj zX){xlgcaU3wZozFGOnF7Dy8-{gR1^9;1=pMP1H85%-dxbZLoBCz>4sqMvcr0Ssa_P znn(m+grNzKkAS3B5{^QL5^WS0>Xz6b1@YoB5N*9$iyl&ahE z4(h~?r&>{&%fm2;u5Drkuw?L`W&ljd-~f=Nn(nf3yK`u}?aGZ?ql5a$VO|)}Na`Sy z*6h_InFdAiWarDA`9GnGSm^2}`L|C2tw`1H8IBCsdN%8!cB0SFob{WBL#k!Vw4f*)HY3V}R`0=7UseIv3;X)lI>KW4_ z)YIKgw>@1!2BXJ!dWF)d?C%sNA2LzXlgl=$_W_M%rm`=3HK_?cb#e<`}5D) zJzJ@H3b0rQc)62`N!qGbYK;-C#Yvr;MwQh=Ubc=yx(+}~nwTUUc?u)|>&Vm8rC6FF zi?Qp_3|B54f<$ZXpHv57*>c=fMSVs0 zu2S*Y37NK>)pt_@PN=7Y2W&MdJ1L2rh4!a5 zs`|>wrVgSzAklkor##R(v{`-gSPJ^hT0`sYlzLG|)j1cR<)S6q(`j4#97h<*}nB}gZ9mT{h1YePl3b0StKrZ;34C2#h0xDgNKYgosETW ziZub=TDjirg?VysRHih53ugtX0ODT+OU;}IwPjq+Fe%HI#lgI34JCBi;Duj z6L9>Sh3oL!&34vruHQZ!x_9ucGrzb)D6TyKjvP4AKdMZC%2ft7B&Et*XGS8S!s;aNPbcPVtu2@@2&~iq6{_6KLCqa{9#$X z7eJIj5I2szt_t7pvj6q5Z(DyKs#9!U(~jI#HxZ=0pz)ztEKaBlB>>QlCGwA@@X1ep zvb_wG*oUNm+IkX>Fa^#&`)qs3OI~8~HKGPA$(B?Vnmx=Mq^QtO5lf!}6TmJ(o_;l} zDI-cArcaH-$p7fQKLEJ(G8ptQQ-{GIJ%ZhHprI$Nn2FSazSotwxDN~wz=}B4%%wO| zPkqKn*^SjO*63t_0bns0Wo-b+waadL-Sh2)WzYo|gR-HhmMO5rZ~{ux3!w)LY86ze zvOgGZRPEk9k6O9FN=)8qa8;edq2$~~wlI)1NV6iE=xq`f8wK=xMJhh2y(bSTgl0Pw zPaEh)Z9F=Md)fJc$E{LDy2Mday8`^=kcbw$P~S7)R(YmPsTu%$9VOz8;eTzs<nn`WJ~7QzAfBd{7=QTUeSe@vIKw zs7*(9HR`YGw>(vO)vk4ppM`TPC|hj5V{3U@%NfcZ&Z^fWpNi_3C4p42#olh)y5}+L zqrVTr(?oBz52f{q6ltReld_yfmERTwJIvakUwzGbTenGot85)TxYH59qA}!=IM&Dc z)l{%W8Q|emP(Bgad5ke5V}*`R>ag7Y{rmUZtzW$tPw!x_d^eg5rVdQH=MxHrf|Zc$ zX)NmO>~!^EqAHvZCFhvt+V|Z2E)DDNo@4wZS{oG5bl~QjZ+0=3v>>QE8|o;AIwM>)mvj3S@1%fdg23ICSh?^;aC9bE(~O?QNN}-{^kwQco8&==<#kl{cgd=YSf$&hhW; z$V+jdSEjRIyJ{o$qumeN-W2Fo2_S;lme%XUb5N(LI<;6Ha(jqev_ht0-5quGYOls7 zflUh85A<+Ri)ptu3m;$Ah;|=DWY2h!E`r{RJ=Q;xv-iIDEB3t~ z4_PPTtx<`wXlD&Uv6zPKlun{t11>F2>Lmvs(z`_<3zp=)mLJ%c-bjR|pIV$rnJ-+3cCN-N=X+W0Yj*Mf(%-sM+`7VO+u{ZqgZDtE@3$O@k`s9k>!1xeZ zsI4>+E&1=yjW=(#ef`dWBn?>m4)oc`_^1`ok*r;}&Q`5nZ6}}nG+TATYFoK-r4Kko zc4S|T7#>Hv^XvHT!IpYz1`%3sf;)*r`H9Df%5Q5@CJ!KBXdJN22P5hm&}$B%hA zi5tqN^bWLm7V4!sDR_V9T!+40>sH&pJn|F!(Z~+lo5n&wR&E&9$=(xJ49+bjO01BH zn?!JybG|}qC7^k~{Xefi!~X0~ueI{fLzb)I2WK3Sq7;j1bOCIq0TSjwcdQ>^u?18W zDL|C=7L)O5Vc9A>Fp{g|L;@O7fi%^z{Yh}EBz~we2hzWg(Z4A5? z8!3*b@~FLswthU-Ythw38$%5a4tm2rxNrhnVn+g7LIpbfHvV;Z=Oc)Is`wqJ_rL9Y zd)ptp(#9XV&pJAo1+gqAPbYN?Uf+sdfJ;eXR&XgXmb831cwPsW;z&Jduv|vVUoz-B zQ`+4Wrr;F;^l6QDi9&U3IM?3%+aI?-|HOWnMjl+KU9ZQXLev}u4ORAhC%Zyp*ye$3 zWZtGjz6D=);>C7)#~Le-vN<9tWsN+B#3EhHqhrN0A!HMC&y$&~kaay9*a}N+{5wbB zPnb1M&+15jXL|m}>U~za9VD8*cL)H!yL(_Sv# zA;Zh~UZQ1mjULFN1jxGk?w@hoWB1*=)kf6ck*0J5xQdjqNnFWOIvMn3fTUIXoq)eO zQU&=XDN8R-IXVD+0v6isSM5dh7Z5p?0G7(?z)F;ZHUe1UaOxLs94B2MzlU7Ciyh^= zJJ~yH(7y5bk8K;C8^-auVDK#rBP_)-!B&7(6)mEgdSr^@luxS-oW-Ar`a>kf0I474)eZ~xYAy6Glo zl42|~OS42GNo8O@;pY%HniAp%4vrXP=wEA!P5aW{UyoGid@Bz=%u=UOI%dJ@gKYBW z9abE%t=RDJ;4%m^Mm)~F)tleU3JA17$GzL>eCJ5t}`IdlG zFvt?X3eqe+6Y!cIjx_K|0M>L0ANoGakK+Ck_>F7)?xLSm8nQyKG8jlQD@ST|o|oBQ zWDLWS^zvRyb>^+Rr^nW8*kGrhdybuV{x8__lTS95oXFFh9}U!c{(F#L3Q!g`vexoM zJ+JjixYiJ+)fJ&%N;;|_wO+=75RD5U*w8XVz!G)=5s0JQ_Sh5lA6vKD{rB8!dmrA$ z{!#~QjJ{by0wx2a4mTKTVravDSxiLIfC^2J%3~!5UqvLp>Ik*inA0V+v|m96)ghEc zw+k73Ja6Lz0Sr2@BAw1|P!;D9!2)@jiTa{cd1a(BckOt{?izd8`k`e-SVE#J@x=;K z8|A^B>h1t5?!!7sSbx(?x7a8C=GSa+*LQ5yvJR`40A})8!=y5r)0bT z?7Xvj?ceVFsEzgA%l=k-VDXR^mi%Z5w61P=A}vE;=#W#b@`x z;No@Ebu3VsRn~BbRjut~MI`0PZ?u2EZP2c{{vUlq!*Ply2I^JUfXcw8jT{dOM39y2 zN*K*K#f^5!>1SJE2utIkk}bm>a+v|S0-1u!Q0l@U!AbzuLDXCv4;Vz{PeDs?X|2BW zPe4n+O14e{-9w{*6QnvPZ9K`&Jm+jX>6z!*^7U(N!-*$aak(s<8K?kX0#pq^i3Z=a z9AhC7(`;X}c1caz31W@{3{j)x!~?gP;#+kr;&Vu*1nO&C*JS&{;3dG212kngqtEgF z+5}V$^bgtoM;^7E_ug+0ZN1-iJodQt@9(oBmdMLiufVoz+ekF2RNgfm;d;=*V(h50ncgfC5^n3qVnaRFUwXU9A!lSt8#Pz z)|K}Uf8T6=wgA*$D=jp!=wAPHHYj||e&xDP+weGTSd1yVW(TzWXS zpk?lon11YIAG0^U@r`p!l*F1h1=NO~kK@cq!v&p6 z*Lok#|2RwXL-*p(Lyr#GAHC-@_Pf9Ta_ir|(|S8#Dzb&r;YJHePd;>D&5Vym(A;0% z0w)R%R!bowLSX^@5G|4_|-W9T;g~tuSzD#?_SPM{*Gr6vSR! z5XVF1K1iIcR zs5m=1q%LQI7S|!FiAu5fLu*+@THOms>vse8f_;EbfUPk^Irk6j^xfcPs_v3UBIUCM z476F?qxfW?iP*$Xqzm|4ns#v6C8yeDcp%NCke_9I)l{yaOdCvAW7$G6jtq)Lq@*O4Skb=D!is8kcwm~+j<7tc833^#h8bD|{T zyeXgw!n^04I!QPu3fy_;op$cI=i0*$KRkPU_5X1AMSvB0NJnbr4=y&AH3tr+SjqJ0 zqkHVR&ppM~trs)ikJ?Zoa(zlauQ0Uiy~x1xXune`r}l!%&UX;aN490UN4kcc)*wuz zYwcRAVe~%UKWNJ^L|(oAM7#NmKek~O*2`g07D<4Ztm?pA*FUYlUUFS1I|iJ(4{%s1 zV9dIh-tB?T5 zcsdI75Y!_%z>mC#N-fuDH9jYjnnH9$ePsGyDe)zhX+4y;(r7)r+GyP+uCzA>uPR_j zlLQ&kj}D>wp*(q3ifMu|K01OrYo~Q}ceu@9j@5MQ&OOVnyy0bb$wkk!!GQy;y1m~) zVh5_D(cw}2LCDD-=?Ov0A0`=5t^L)4{!v}q2`ZnCP(IN}dFUCCfj)?&hLpfA#K;r(E9yYqsc@GU=^!MJu_vZLnrbC(pqPsVSoJoi|x$Qkm#_Je5#BG zWSj?T51u+J4t?PdF=dA;e;+Qt!)c#Ag1J--edaI1|+LylafPLbBeHXtXv@PEY zgZ8WjsA6+4h2YRln8eP#GP3P^^PAsna^#qVg{Od;tA42@EHDLbx#bqS{`%|PLCK7t z5;qFJhI1$ZC>2e0amDYBqfm3oB{)56Nan&G=tU3L1(sNIMgwN1jPdROiT?()| z=b{TNea0zfd-hpvaKKkvrIC6_Ql$nV>5#smdpC?%J7G{(+sR?ir! zrm0C^%ukOLeV%ka&|;iTT|3vDXb;@eW3PPWU)ntn(+@J8*k>WV6hRbpqHg*p_i?^= zn!lL)pG})KF(H3+N&*Q0F24BUDbJFdBSQh2y7&DflUtI@At~^}7rxNG_O-7?Oc{n8 z{AOw9D-B+afxv@v@W4^jtNg*VykTBhJSyVyptA@Y!w%&;|MFV9@EI`a)O9cTGqcDR z02LZblPpulR-w2GzcE^I#~#$RG1L|^sMU8CGAMtQp94k`UD51doDG;o2I+zZ3LiKm zy<(~IPwuJPwb%cp?H$BN4%N@&=D3PqBCQ&d9Tsz2##ZcA$hE-^)5c6Sjq#Nv6=~Fp z>(iZf<>vG3%-jlV?C!S?R1IZDi7G3@1kf@Jei`y}^qig*dd)`&gw@a_M!ZvK) z1Q5~Si^>Nhb~iu=K+}1RLgXraxRbA zIDWCZ*I#Ncd&#@))?4?JmK~te@OAmbN=aSp8LIFcP8H7aGkt1?AZcq^lNZ{Tq`Gn^ zbk|*X*##F|FhlI*(Lzu_zto|BrG@zF63uhZo;^4bUF&=8$Q`^wZ*Q+lxa1hF?EvGE z`|3O!UoB^1tclOQ(nqZP#2tXIek=B@wQ?V>4VYC|%lqkMVpzA^to7m z>@a9X0E^MOxWZChI2e8QTkVJU&?wowtATA*0slvp(umhhja92_>Jt4?lN?MF61b#F zQW9LB+OwCRZqGXDbZhJxg3+qBq(Um-0(NH3;`j?c!0_4QG=vs98x4I-p`9US;Xe`w zNmHc0MWT``+9o-Q@l?#dGYE99lKK+QzvtuKz~wR2i0bWD8zr1}AMkcwE7Lj0x;v*NVpgblWB zU%{@t`op$kr_3FcT9UjTr1^j=1953Jq4Ln7e0^160Feh5J@lJpIKq`*##K1kmGo-U zrcDP&PM$0n1vE!^_k!h~WPA_>ZoTzZyY$ja?TIIzVCKT6eJ~DzjCls{MxmHq<^Xe;1un%NLhT=yvo4yanbt$UTJ#PaPN z-t3=o_PO?jFW!YiNlBVe3o^6!)rrIrUvUYP11DAuNofePlB$5ANy89>bIH09w|6ms z=UsgWb4P_JHH`B+A8}d=kX#;?0Z?mxZSUikXgS+)nM1)xjr5ESJ0Kxz$5ID*ZSzc`NnWKo^Uoq?oRS*?0R zjWmvGzfu}wvpsF@nZY>z9DDZVyH-CuU>4Z|Ty7mJmfKK&pFQ-*HWmvY&Bo?Sbj!1{ zQSD!LXaYB3d=4ax`jURdg$=UF${_Bn)9={m*jZ1O@?_}4O{AQIOagznZ<{^DLLEUY z^<#Q02W1O|_Kqvb784~+kN{fh>jGH{Z+qL-cFjx9KqR`G1wTmap@HJ5&({H(k;*o% zYs3U7i0&7@{!-aCRc7%yFSUAzdKB(OaN1WvJ(%h2=1g@lZ>XhL*t>r3({}rvawbj8 z1`c*JMI7^1xEIJoO%aN&vzvQpYOSeHYft4i4nYbmEs22FJKpgQyY9N{!t3OGlqisZ zt)oQf*3W$KgC8^*!^`t-7)%5@f`q3v?xC)8EPt-yHCk$!6vpM_>}w@pvh}_l_TraZ z#wsRef!HLZYxHD1BFlda$Rpx-hst;X-vwKh*1D!(NU8d;rF-(Wyo>GUVIa5Nz8%(q z3<{}MligmW;dH(tE-PIX_6m}1rE_o`26asRVbmF1pH}diU9(loS6CNJDhp^!Gk|H! zA^GU>-K!U#$1WfRkABvzEL@Ziyk3KNxDIEPP9RG=@@j>hytn(V%e28hqz&s&IoYm% z-D~YdH~!zYVj~`{8Bi-#d_?gZN#dw>A-fSxJ_H!D7>GByKHh_?lW6g3+6@5{=%9&I zM>l@w;0+~Is+loXRibJ=`Lr!|=7ksFCn{sxAAj8T_U*Uj%a*$ou!?`J&SIz2EV2qy zo2T!@NA!y=EHz~(r`@roB9y97Z6+J5wi?Si?UCA$eQ)mrHtdZ?He0f?#7<9O!58VM zd>Wc?D9iJ#o)Je9YhjAbn|kdJ|L7X)PVWQM!#C8gCA}g)+0M!4&h6p?uxe?g{)lWA zGBmWZQG8Y{+E+CSHL38_6CG*>o~2!$M=N>jU4OQH?z2Cz4}AD8+5PjoQ3s^;vRhSO zs3YZbnuv%B%Ep;t09XQ9Q$sX?jrx+Vw`|$sTfBYfLm!$NF}YiC3M2q)!AX4Z2fp~l zFS>scE!FPAE43VywgQfWQ_TE?Nvo|}vmRTFejFBdF-Wl;3A3L8d6Y)Q_S`GZVL~_r zgJMR9!7)9RJ})LVbACtTsXDyE)cP{>#GP|s)?M{J)`HKGMgF+p z;T!}Fx^F#nquI06gF{GbGq_?HV&OtzS&u#U`B&Pn{*V7|>rdXuxS3^ndc_9V|4&0v z2U0Joge29`#KR>KG;rA`g*J1n(XO5HN(!riwF4t%O_StvOOr22AOs+~0Z@`|m9e`j z0KBv+cgv-h**OfJ`}Xa(ZQCBUW!<J73HGXXoA88k?XY(#H)VlRTLX4e*^((DtHm; zU0NUsBoNYjn@lFt%cicm`bB`N0T*npYPDtNoTG8A%x zTZ_Zl2>m-l2(gN~3HJKzX8Zn+{$dLj;TMiuR23N|Ng*D1#l|xNS6=S0%xW>Uk46p; zY>>k7A{tv&Rb}7)_P6brV~*M2uF}t~(gLSkeb2Y_sU~fex0PP9UJKlP_uY2OEw@-J z%hL^0I7-6(hS!7N1pbRxfUugd^<^v)AzHG6NJOS6W-q?D*p5GLcbhO_IGV?+EM8NI z>;aY*GuZ}1cH`Oi)7h|2y-}8C71^<8I*2t=Rc3YDkLS3-9(`hodmqFgnDz_x89M>j=$1oK_cnKW+M!?D{46}%{-G#E)D29SLN6Lp0sBwaQ z_xrcm?RPKsqKea(gr(gNXUd+V3&_PrC%HVbqC-umv+9er$p^UgcZuDk9!pG?BRA>ta^-pV{g zN?aRH8p>$MDqJ5v4SWTtFRRe=jOZlGr|R;&&71jMtF2vQoelFik6xt$38HbTq<3mk zi!vx3{P6poN=`R0x#{j|wB(=>mM`DQPCorQd*G3!IN2IZnE_PsGzu%oPM~C}Dpuc4 zgc5M;v}zF3E~|-|i{&7zeac7L2Z!%uBXK;VNlXMV?#s(}s+RA*_llHjqE-^PqIDf~ ziKQhFpryAvIOCq~ERLd(72?6oR<|n}dclss>DBRPe9CIJ8)JE7TbdBXUdht$lzi^s zP`{M_do`&&)wZ5!40?9Yu_j^pi*O)P{06$1g)NxHrF>Z>wjcO*nElLi_Qb8X+bn`6 zR-;`lxvid)FN8GUEXsl;!8hygL@#i9R7s@4s1)^J!8MlUZGNH6?pg3G<5ti~ET3Q; zhisV`<&9uooQ5SG0hl;k1FR(Y7efoYoIqK3-Ssg$q&SS1D2K-QdJA8$2}b2aa9yA0g}z;I@eS3)%+olrA3O&OrLq?8QWuz zJv^JzpRL~l8f}xd{%cEbR13)DW8Z!EwdKo~JJ1oYTXF(zVRGOT{#b7>@{?rTF%Tg} z(4k-u3N&#=&t)<7 z8X}WvE7Dr1Ouuz$vi9h7BXi{>nivT0XUFlW;Wx{Gv zWD&Vin@CyYovrIuYt$|BBDG_2?(%k1+l8BAA2DmgafGA5$rSeUa@)Ra?P{wXGul3T z!MS$ynV+&$RfT1-!id7T@`;Wdf;=Qukpd6DbwMZJqscjgn)`zWS_cpK?ZB(JU)My) z#^Fv^;_D#?2PeZqY{ag+5!i7L+A?piz51#<&yov$`FId_OlEDm*54^7?j%53fkWje ztbo6Ug(zJJwABn4`<3JHJIMy9KjoeQS5rIo98Z1XTXB8Dd~CtwQM=6(Kgo?nx@Tx19F~KvXv}!9eH41Ap?J zMdQLb<9pxxUdgq4PvgBa2PJ^@&a`{aTV-+>a(twBU?i#2(QUqCA?I`K@JChLg$=GNu!j8 zV%OlogE7TKVMD9>;&bmzUEf`ARa0#YV5t@o<0(L24F3Unlw(#mHzJaa*j^tz(7yQ9 zFWZC<9E1;%M(aWhtO(BS(%QzgyYdS@6Vnhc2){@8o_ALZZJE+Kz*1IW|J9zhDPjaa zt#1)t)`%^GOV!ds1a{h7qQ$PY4OU)TV>=&qn2j4Y1dufo`~4=XK=D)FO3UP89$?bn zNfEibiHB4`jk{tEuY1O(S;sf8A~~X0_qej5<@vf{P$jB$ZF!s8~)_OO517 zKQv`4>AJuhcQbDUijeCT=JI}h|NZy7!!*CW^yeLEffB%aN1A=zO9ieJ{(Q=mDGqQ# zU=@O$5d5rrqW6*Xyo&_0H{F1EReF?NIVvjHlI8Wb*S-_cj4wlv6fO{M;`N>oV1+q` z?+kx$wLL^4!|WQv9|OyAv_4sdq0OFdZM3~VbeJt&xX@mEeYJH;Ukis|(v+3ohV|%< zXpfRk0w7~()WWhOCI!(}vu#$LD7TSyL-3d^?buRUzXd)&_`K0(Z>0<1lVP!)wd=hp zcwm|tG78vgOLt;2)osUo_;@?xymPE_yX~ydDv=?Rj_Vl7Znp}LE@VtC}RKavk znZHLf8DmO=Ad=6_16hf+wwgo|_zqiDG8 z_@Mw4X@RA4bv0(c{MDH@eni?T;#dKo+$0^QK=h|O!cB+87UNXdp90Y3J+BAYb7#M$ zC>-=yflvohOe4lvcXtz_bm&{W4inKG?HAWPXgA+Jow@@RWhM?&cwLM10$M#KRQ<&J z3pnwrx1<;Xn_7^EK7mBvwE&XV`?c3zYbBGyo(6o!4z!>srFXamF2DS8+j-}meXvM| zE_u2Ji%hMw-+1D@lqsDAE5I4HH?W)~_Ls*#ncgY3hE|I67p3irZ{BUg#vR09Bw!$` zP30?Y&p=2jOR^H@Ih}}<07c9eZf+JWG+U%?rd{@*N88wOu;5wU=JDsCm0=QdB_}y* z9`)j4PnI^Cwk#%<-Pk{Op|i3Y05@~x0$hya*^eZ0RZ4wm0U9i9vvB^>i4G=m`50J% z>v6?(IrrkP*vaRei~bE_?`Aj`DDcY5rZZ0g19Al~JzxO@Z8Ansyd&vmIcVrZk+!v4 zB|^)v3ect?oBFM`(LUVNM!FWZpT@po1#8LG$+u{gb1i}Z#!#3}FJEG#_I|%ze)Uzh z`yRX7(&bB8Y~kBsD>R&(rB%sH4*klPmd>?TT9;Xe%8qzhTrBk=l|%K@UcW<*Cd(uG z3p%D!8V4bP$?e2bx5rcQ5ICnR5kC^t6aZ6@N=1*31Q~e`)m}-t7B_MF9meT*&~|>% zpMO*?`OBe9`7{ee>QFtb2Ipo&>|akzvESYBn3pb&@11m-FUX=W;te2f6f|885>~|z z0&vwst~Ic4*XWZ#v?35dodCvoE9#Vyv@FxO5#<47xX zGy<-8jy$5WKJt|!s~>*L-Z)^vhXhLdp3%O^;{00|$UaLX*BE8ausW5?=ola{pTQC> zma{>lMp;Eoojv%#TqbN*Y>1rXBOoNy0+F65sz{M^eB2=xR+qXaj$Q$<)rvT4r{Uw> zk}XgmR((ax)@f;kHC5iKw^qU7Ie*7C{3ra1tPQ=W1uzC`DE(tqpRdn~EF1)9{n zzVX|ey14H-Uu>Z8cOG$EL>wt?5}h&OdOkeoh6VC?TvKbi?X#bAuBJRc+4Xm{uu^L) zJLh0;=U27-WIO} z^x76Y?>FsI(xpO%B=%Y=JvovtDDv<*%d1QRk_ zjf{NGZJ{J$#mY_kV-gSOpUwyzifZSvRQtezd)eXzFWIyyL^-8x3Y1ATR$T?DWWtn6 z;B^$;hBQjGqCG*=1b4{FsTuB91HmH4j2&aSmNu)x2eqQ?cH+r33((90>ZE)fh0P+8 zmPdC>O(OX92DyaULaq;3g!s3iC#cW+M&22=v^eVAuZYfZ#+mNZYfy|7 zzX`5e0M`mA7nN~O*Pw(=E3CF>SI@RaaV=Q@%FUHVqNtKnCf=dCYNV?!;?m(E3>~gA z09w+@3+;&c^Y;8B7uwk2#9B(P1XS@PEIj2UMJ>lo-Z;H`kTTZj<)1GWgFU%>eO30p zCAE_`G8u>ii=G+!RjvceJETjcTDVRX#~L?LIB-_Cl~Bs_Ex$8 zy`Lx@_e%??r zDab`d{i@gPhgV-mL`wIBe6>`iD*cOctbdK#2-yc+fq`UHkCH4s@gS$K2;2nMi!lt z&hD(0iHn6r><+u^VxPb0BHJEcO>K)7S{JM7nxR9{%c38uEBU6jQ!biXHofWkdpT{a zeKu^5kXQ#jl&gA3GcKD}%>r7Az$_puH~Dg_A&;;*#E9|gGCSlWC))X!{in@dw19wt zEHIe7YX=e2h3}@|rr|g6KJPEr;2|%r1pcpr5;(Nt{`Pk1O0qP9o035XQgMNzl_^_7 ztgIJS&$HD9@w7sCrNRNY^b#-ky1u{_A8X>U%STiMHxKfh^}pZV-*(=yieS+MFoh1p zJV1{GYH0wTtP~x#`Lil#PYOGqPH^n>1rYf5X_;C#Y;~13ASzxL2a!~$hpor;iWoi+ zSHeXH^j3|*pJA>2_P3AN^y!VXhnAI!6%@3#FTTPL%h`=5y|4GS?k*Whg+^1SoN|gu z>AjQ&P7A2#Od2@Fd2g3Qv372{=_dQjU+|d%F_QA4h~Jh<8poY2_^Fw_)INIJ{+3L& zA)dp@VX6)vE^x8(Y#PXLus8u>5*G_!EIq_yOO<3J`8XQVid^p$-va^^pc_|oFH2Th zMfngr=)eQ)Z+AS4RSwQe5qsnyoFdPz><;+~xJ3eCddE7-rMt9pR@g)N-$}yxsu?oK z1I9(s-C}CM3Q_b}@i4fN2}A_h{qN{uZT*-+P~DHO@T|QWVO@&*-amC5Zr*ydi6#o^ z1~%dRa?r4$fU6}oagW{Xi(kLY9mnPs&xCfB;g*9#4Ii=*Jaw6n>cuYcVZKv%*PxGtA9Aj>`aiYM~W5Y;BpF-Q>B8R`vDSpaA4 zBgc)fpIq}*OE)hD!tm}Ki!JG!%JCG}qul5G(E#NHdG^a+)mqbJP-!i^^qW?p4FWd} zQRt(1YynRVP8V(!66k>zqP09W%BD_lx68kNFXBR!_<34^DR3^srez-~Y>433X8+Z9 z4y7IA#*MQVUU*@%pDo?Eby}bVu(nP+Z}wXRuH=|>>eQ(|S%tb;o1MX%+z7b@NR-)% zl`YoVw%Cq5a$ifKAltUK6Z3DJ7z#+i4tJ$XkpjRD>qe(7Z<6hnxun%7n*f#*QQj=^ zhq&>YxVt)VTZs1Su%V;zW*xJ~9-Zs@uCcO8CJ7NMP4LqD5x5dj6r57`R`H==qTw7% zYfbN%+q{f8B|~gbT^*vs4l8F8NpPFo4}?nDif+5D0W7scxH*1Z_cJ`*vlqZrutzU zrGTP%=y!`fIAqJS?e_e#IW{M~x~RCoeRLw}c?!&F^F#enV(;;O9Iz0ek+@m{eDB+_ z+J5!BGc6TG2P@M-oIge_j*~TR5z)E|8 zEIPe&-$lEMAS;76v;qQV)1p?y1yp>)@$x zi)k&urB+f04U?7nZMWT4%%`*)C@moBIccC2rc{og1@64_PJ8gd2d%!o-U;KDYZqxe zVNnQidf}zDw#)l!ZLdQ=fJ*}f%z|Tua=9G-xoph=im0jd9z?R=R{GfCt3G4a2VDSR zBL)3(>RSX!p+1Dl(G7?(o7P|mim5u^#<{M1 zg9Q3OdiHJi9)El3&%e_G&QYWvmmx|LcoD}#!6AVPgf8mBCuY*dO?;nC7&FEmdhj9t zUb0jZh|;%nz{OsDL0l|xYkW)yeR~RYz;e(Kx$uZrSKto|ptWRlQjZ3Xk{-xlwN8n`X`KY+;1VMy{ z#xrof`yFgSJ@jIKyV^tj+xckhB{-#)Zsjc+3Ru!WO5#Q%UTfvmyV|LzUS?BYZR5TK zbPR5m+E7)7%=#el@(XOKwZ!Gx{3HM^|7S-Xb(CFo)m5ASVCl}S)&ly>r8K}=V8Vn6 zcJ8_7+E8>`0`b?DDj+}uVvt2Fh+}U1!g>F+$&bN~uN-8BGJ?~@n^~=jnk5g}DLpszZH8<&(mr?51y-}eIP1nzGeOkn4mgQ& zi;;lPyQ>CSyy+#S^p3TFzeD44c4v;WlQS@Qmm6 zIEk!%a}K#Lq;!Tv{+O(=73}IO54F=jc7V0iziL$}@}lo~>_5)~5QC^t#c__e=tI9J zaoM3Gh$jOeRUAQ17by=wF923LX1vh$-EiJw731xKuYTVieGX%t7{oSKh3meMYvs2V z|LD15p1n_R#<6sDhYT5FzxmB?HskKnE$>7Nl(<>%M5}McJLReOxZ{qq*I$2~m1O`t zdhf&I&B$uKTcoNX9j0^^-3A8sBM(1g$DXja4IKf%$l=xjFY9r*5U`A}^nrFjc%7oH zm&+FZq3VfhvIT5-R*8;kL{+82&!o+@3_gG=t67z|HQDe9V{NC2W9_MDU$*8ovNu8@ z8^1YnOqk8JQ+^7+j(!6i0sxj5xFW|afFVJMkq$gjcPN1IprLTLhyez@i;L9rzAh#Z zSz>D?AAEr=T<>1lz1{EGD~ruKREsKklWWfjHIsC4#Q7-4GB7QLb%{+iiNN`g0(;HS z!FKjnFSJny?q^wy1TbGCbPjz5A}^4eCLW}?S8fq1>(BmfFjbZ7G+;_pD#&^* zFlo{xmm4lxw8*KYWpid;Kjg_%ic7?Rhw8V}tBw5e zXxD|34OAf-tA@hSMOZraXA5eAbVd74< z+wMEr-G7-1GAMwQ##kE)LWvZJ0nJliDU(%zB+8-gWh~Vd9h&;k23hrE}$PL6X{ zQ(0xTD4Imj;?46=28A`bF;74VgA%Ero0oc1!`@GbVs32feNTTK_a^MBPq=CJbLBr~ z<}T1uWpx!ZhmevCI!VmRXMgn~8+YX4R;XXatdR-Wd(6O^%{BK3nTzEi{~Agql;zFv zj{Q*|6OB+ml;V!>IhKoJ#X%|~fMkaFR0-npY(HTKV!)(r^5hpy?%@4?wBTK99_6ie z#+&4bagY#d1<;9T=P5fsXjaq($X6t687rF?md~*n-OE5*APetY^aVT$6L6`B4%7qH zU-ValIR)!eCabJ&l47sprIaPjaR-mHKmPG6mT#HOO0Nk^offO98;#R75Sc?Yp)Huu z@}=OiLb0xu!X6&{+R}d|0&uife2?U(0SgM&8lX>f)0H|CM4`vKXsTkQJ@M=c`_C)x zCcq?~mZ3}d03;7^nzaA5iV2JCd;QV)(WnbAaM&wpoa(!33(=P@Uw!q}cFsBH^t!Wj zIM7<41hxj+7wJ`=yY9Nn{`t>;+U>XB&hoCqftCoM0GHSfZzmNMnt2pP1miiGjG*8| zJe2kZ`^YJWGl*MpP}Si+Tw-$SqHyoxnQs+A5EMH2??6EBjOe{0+@3^$0wUzv@(2^h zj2R6`sDyAyc41d8`BtyM`8wJ^=lD2?4MV9E#% z#cEvfOKp?EL#k#5nI0;uEs=T?$SsjyU-AfAjwgDxv6{!5sYt-vkpD@^stwjh^`KgN zed&Dr!i5*v#G{WgYivZ*T|RFEQ>mDq(eq>+vc{C3-ctfwG{OK&{$2E8*yQ+3VGuZxk{TFQ1C<2ZW zf2Ry^pF+;Yx`_9Ym&^Y7A-SD;95hKFOKk4q;AY=H$rolaxpqP#87lABdl8_vw_~0? zdX#lE;e4-VI{;P{V5-*6`rOZL?h@E>Wl?9#i9HThg)XVQ#Szy7)O1P&O4l}?MDKku zR0Pce&c`2rylcI0{E5=pfzkq^kEJw#TVS`{cC#z4xWZSM0#_Pb;y7qE^LCQ6>3K97 zN9$es-^d1~H1W&p=Gh-_c!~HA6W9h@w7iPwvul0!bQ7Yt^Rm7?(|bmCP{nEwAf$H( zq=!Pwep?$vR^o`R))m&?G~d2@{?T^oNA^e2gecNwowSiwirl8n!IcWaIoV7*Q4YwQ z&Vrp-ffk7Q5w%y^m)eV~7Fbsm8um%#D{#hAigytdK(}ubNhIF4V!gCe-%?zh;iE>{ znzm-<$CxcxvDA({{=>G{8K)CK2XCY54-k8`M+$S#INwZ)I?lx+4}C((l6rs2ZKA=p zp-Lo?A<7|E4sauxQR};6t7jd3g^A4^!>28%V zzX?~tPM{z*X|!$YaA%!C!Q`-`_Ow@~FSJEVnyDW}R(XB4FA_1=ewTPq#Gk|sj=l7Q zycC0^8!<`?N+vN}P7fk@WF_*(SQpQ5-Jj8O|7IFc9IRsZQQfkLE+RPgX(Wrs>*Chce6deVz$l7 ztTbRa+VXsC%_161&=Y-nDK!S_ON?VJY}847l_J;`aG1rHN&(D%`|D%v_~YJh9gVZN z4Q?7{zPVOBjLK;jfG&n#2VWequp(R`TJS>%{*UibJP9_yrj7U!ji$RB%JNgcsY`HIy01ZwG9} z@f?_yuXhMQ6tg@y_Y8T!ghX@X`Q$@0?GR$wjK&pwY;c-5JS!kCa4`7Sze!+==|K7q zz9GmHk@h6thruRiHChF#Ja{6vwx-p@bBSB^&>B1G)I;sAJ0G@2m@YV5=02J9Xfh#B z+0j8DQ$-r*@jNv9c(v4)ypOi+X2NLdXtpYd=(t3UrMdxqOgvkPLo*P;mg*LV%hAP( z8(FEPX(x#a&-?$rPkXT<2b>F_=Kx$;{AiS;zf%BkN#q)Os-z{ojf8KN`n$ITZz=ul zYYRl^-wKfsgQe8m0$k!lrEm-HdRq8DNuskga@=^E{=#HLghXm*yreSdM3p6Md1tG= zuxhT&&aAdpKvtH1;-W6G!`Xy^^x-u+gC!39Fx{gcnss!{NS4nPaGU+~hbP$?XM7M} zAk$%n!G+c;sS6#jR3$kuUKR7py(5z;ro)9oCC?*nbn6xw2p4GvNBx$lRG>2oR~ri( zfi6`@?It=LFCT=P`w@24qL;KP(>;gW@9Zda^y(6)lU0E@kPIvcdz5BWvb4|Dx1aZGuG zMG;|&Bcu`QoNU)&;%CnY+}xV$nJ{S-sJCjz^S!s=Y_D@FG%2rgP-r={Qr{M*oqwtF z!O-H7cFP~9*>%5vDNtFDF=l9sPW)nM(N0d= zN7nx-x*`JM(t_5&9ajG@LK&zgf9P zaDtOlCQ@9Lr3?g6LIPjixotHs5f`d2$;+mK2~e>HhUhp)ON5(p3gATr^vKuUK0_FD zS)B18>eMPXm6E*|u6u`Mzs(TPUx(M_@6pEay)qVots;bCsyn_%x zT<`s+xQ?o!Hv!LX?%r?Y{>@Fww~NVZFoEjQC@&Xi*DP&Rp@`08)&UV;(X`f%KJ8=n z!B2hCI?&TeR#y1rpn1rXzB}!pcRP^kwO9U1y{53>MCtDqZvlM{wSV{>^n$Sc9WxYv z7jN-v>X{iLLYEI4jXX?)kAS?CNZ{GQ5e#YAUR?akWi<_64h-IoB#i*4bm- z3+=%b(`+Ts&D z&ibHT`GaGuvtcTpI$>qCsAO36viM{0`B-&d2YN?D93#r;Jyc^q0B&-$73fEWwdS_B zOrk3q@A^k+Wi^c&L0(phJnQb~y}|UJ;F{hYwV{@mxg>12uC8U4E2q7nDe?Fid->&@ zed(P4=RO*`85`+HH+4sEwusFXNLB5X#UYN~v8g2WTG0vl+z^=3UcbX6y0M%FOl;!m)2H`L@&cr&0;AxU}0_otYNMYVk zh|M_>7E}Z=ATlZ;FI%^%EO6YMXyL>r%BIdNaJJo;@iuzYV0-w%*8z;3&Vh+(r7o%$ z&OW{x4kiZW?ZApUMF5SmGL!~dD{!m}%eqQ_3`5CO9!WcBXGKZQBhJu@-E$zXo>Fok z-0IjhI7v=#okD>1)_3;0qYwFqPsvSwM>`gyG+a3xsvuAux@{2f4#a*t?l#fR{;$iy z+G(t#f^V+c^}I?48{3L62rq^2>+Al3==WYVdk^aZ^tHi?_lICNY=4c5@OWccs*e|l z#nQTT2_UD&$BuJq;o!z`4QVVYQhYl8xc^78iksnhqi>u$c#nwCC`(Q>=x+i<;7 zF$iFxyz~a;qfM!IZ8#@xI@kPch&27a&HY24c8-*2g0}EIqB#O|!F83ylkVYuIlYSG zvAC^enU$lqlEDf&S@S-7d0Mj_|KV$KC?}UMC{?g%$p{RpnA&<$_@15<8yp1JRUfxK1tqt&HWkm7%}5kw8`BTH0O zxX4U?g_5ADBt$h%)>FE(@0jTI(x*F?{-xRG&UR64awFFX7&@6kG#13L@rRaI`Wg z8OvQmn#r#dV~0z=_g&nAS7K1mY88X(++Dc)D(mBWO1JlK3xs_oTs!oBTL`?=p+X#@ zeI8L@JC>t^a5<1|Z3QebUI0aTM1OGtfi8Pts@?LFYps6a5*s{vggw4=hD{+tbF1hI zFNpCnNxYf4=h)(=;89xCp`8Mxg-}u@A_M>Y~!$rf(R*lL7CjtD` z&gCj7zL$fn-Zk0s#{nl?g%eFs0|nwvapdGi-T|1(%-D9Wy6#M-@h{eB6~k(5^~y%8 z8+Wk1`1C5f;DTGMtut>OEW9K_bPAHj-zqwd1vOG1lIXVRjrO6wZD>(=!37uC#TQ@P zhuliH4wM!s0jz=YCHhc~U;N@1cI&OTdPGpIc9aCN!U3wuQ()^2NmLTT5fB#r(5Cxx zh>TJwXv(SwC;~|6#M1$47dC%RqqR22?SvB!!bLjnzj2umM?6;!v5ue=?*6mHf+wpy zBED_;<|t=T?!`0lXz>+R8hHDEm{p=K54 z>XgrmRcr@Gf+CRQ$7oPJgxPde7If0Bz+TZ-;rvu@9K_1M5-wf}fR%uVD*lc#lz1=$ z+LC*0sB@p)#BU9NrD}Jz2PHLM6XyK5!$*W9 zur5cV-eh{Hlm<)-=$nLF??UweEKWMWD(-bGF3ak*Yb=TAOR;rQWrzp?7BAjpebFbWnvovhYQl)7gN-6SNwm6@V%&sQ?j0Tp}zKbbY{z1FPboQGs|-S**^*(G@JX zB0T$@uN`UM_^-pPwPBjomg5!z&Q&>#b#dCIILX@_ zM7j77U?uq`?cgI{b@W7K5dGy+UC_fOYbCJh@Es4aS+8{17tguTUY*;*_!(kt=w6jq z!o}*w>NbIT0wAleDFj#=Z_>9F4Hr%Szz05HfBoxU`AI_VR%Y!T07PX8xC(+Y_HEDzP$?-;tyDiG z8kCXK%{Sld=eLPJ(cdomx!HSG7eKS_q;29uz6UGufB*M?_Kk0R!ybS9ahKU^B_yTE zO^OSB`qU>62^)k(2_hjDw*Xrf$`^y82FmdG)q-eBbawB9(`@Y6DtrGPyZD4HQ)}7$ zIOKpZ6#zX7_LX-z87pAde)Zh@=MMx?3aakl&$(G}T*Q4sA0l6X6^Dtp0;EMS1wUxN zeQeSE6*h0qYLrkzkVK``4%!Jeu@5IDnvptdZ5?N-;X*=OEs08U5W#k`&Rbm-?nFrb zjKCVV1+EOl$HpEzwd z`_&DnS=WkJQE$h9rn$qa0TKE3CKT@Rl0JNxwKl;W$I>yvc|Zy*3%t zC<=mt8uleg`cRF3zNV%or(=rztY{zm?z?YavMJp=z*?XLum;!%>1%PGe)?%Q>s_*B ziGwS7?Uo2J6c?7G$SSt;y2J|3lc-|=Ec8==A|vY_k|z5cR&oW1kfzosVUrVp3@MY3 z9$sb#9D0;>u3d}e5FjVPdN+?)34)SHq40?nPC|jaAh01(_e{6+A2N4KBLOYFN%9Ln z=Tx8i;4zxGX`NV8)eatFhaNo9X1?~a%~*hAMaoiH4o3>vsGhCFbUlNjw@(hAN_tw= zRS|pQk+~>&XYKHhebm}kEjAcLSfw>vIV-M~HRwTQQs`Fflrxf+8Gon`{*rZ30_;G9dof*2U?6`)Wt?BsA&G8|bVmcUh?zsgp5K;JU# zVuC;VuaTfGtnZt_Ii|RkWmv*y(7{XA)}bo|s9-Vi=WkzS|Gew3EIbBV0|4RSg|FC* zw&flgC&;4+q!=I0@qso7VEOP+?YtuaBp60jRdpz6ci>B{oH3WdAcT9l@!D%nw+k;P zLdDd(ZD=ikt$8i}uSR-IXHX1T;BShNlb+b{P}jx zHP?9L=m#Hs&>9*V{03=GhU^lZkO^5Zx`m!ZYlOD6-yjt!s4wqy)t7k8xG3**wu4Go zwoZL{x9NFPLJB^LQ>{U}^oKzn=8rwcuhe zHkE!BuLLI@tq65xY-mj-@hzJ zVHj}VZUtoSpdN*Fh{Rew|7a+CG)mT0$~?<7gwQFbhW^dM;>Y4{N^{kF*Jy!K`Hs6*em+2 zloIfO0B8%AULu>}rmg_?b|NR@prx6V6vR(w(MN2VWC9rh9zL5oqjtrl+wJx{pMrh0 zvvp_dAd)qfZRxZ$-VCc?k8FazkmnXk(wLP;(VnF#WQ`@JybI>>YNMDTF}W{qY=j4& z#9L_E+Lq0-kwd!ehU>p#@0(C2T`Mb-Ss*?cyud;i;pX+%Qda~s&;(Ai&xu`te6`-vnitsQ#jjf<${cB2W4EC3+s2YO04iIku3IP@eborr-pi02XHz(B`LncJ^ z#QYbr;HLteN!KW$7&hV@asB=WXWGaSQ9A&+WfrGODAc0(fmx9jb56wA_h*uOc>yfS z=?=P7P*nl#bk#FP;4rP8V^Xl7?q&F2$aS~cpdr$I3iv{?$$pZR-H8g zi1I@)Re8C&SDZ(A8TH9WGBtpfVr0aTEwp9ZtqJY%O0-t1h7Ag8tXM?B(PsVa%e_4r z_Vpp%&laIw<}Y7r=U;r04cmQJ+( zsT!#fzF(9HTa&i@Zp2VVG?Wr=`o*>O*PCv(VZ(-5H;mS&7QbrKT9@LRgdmiRv7?SCsd8C)YxX#hHS*O6Q?^ zM-vh&XUqy6dj>G-YzPyt%I(1XyTGfF;ralF;&YJ4T98``T5+H~=aNekYPYo&eY z;(hGcvF@v3;>3ym&`U49^u~uvXWn%!pk6)cU03Q-fj8L#p{e0hPd(-LXaI}#EKN#9 zgq9X;NXAfu;2yEegMC04IORkK0wH?H&m>yXQe3LWj=2+4peS4r#j6obdE&_hD1Ua? z5hr{Q?bd}>F&Mz(gs8s>rbshlK|q!qT&XY~MOs8#MF8{&SV>$MiI=08!sNkfx)5u^ zZhfr{8#>%hKIOv%8+!yri{d1ud_)+1?@i-vAO~0hu;QGj;(ZXvI4_f!u>~V|+#aeS2-ibB>+_Lsj*an-FfEs~|)@uZ{!QVDx7SW*T7tx)TI)TmJ&nDDT}4%_hd((iY93uxp_ zdY9LsRQwHE;3FUTh}EE({n~4TbdUQtV8vX3(h`2groFVl#th2a-p3w7tc*EURxbN!vS8)vCg(HB0DhL@$Ta6vZJ_wxt8?hdxLdff(^wkk7VQ0uP8C zn9~j2Zj^oeqaUzGA9@n~tgy$rl+6Kj|ZLsvSv~uSOrX)Sg7XJ0aUT1^z-e%!FVfzQSZuGBi@!R;LH-wvR_G_F7 zuj`z?uK1Y^tu1!O=gzj#yX^u~GKUw+G}_UcC^Yf#49H3oxyqvxYK{`vqAmI{h2I_p za%Uuqne2)7ml#*RQGyY}w*j!oPl&#ilEi)DWC?6}ho!&&^TwO)mp}dqTJA(Bu1?w$ zvnJcCnPs+En%;=d;{rWQ^3p)hl9w-3)Yo~h!fdHG=%?UMmT?Qb;C&L3>93-%7jWBd z_QCxI*==`SVS_7)tKPc6sw?nw(uClxgF9Gsl@VdR6EoHnT=2Zc4P}jD&WH9^AGi=Qfwe>?x96YC{eBq>C}6u3%SQd4ipN?%~$4a)y-=4K^=v9x->aioGL6 z(m3kk5qVG*frV&^*yYRFi@=JMOY32ClisgQ31UeS2nb^A@I#lp8oXCPN5}djZ<}3B zR)%733vQ=tcG%Arz0_=9zVK$7Jgo(>*6JlAoIiLc}Ge$zVFz#kp?YS5;SI7yXRMmrQbq zMGLrn?`GzZo|c|h-kuM8rLY{quhQTCXaR8#)$ZN_wCDQ^*rxSeW%{Xp!pS&jDh_8^ zh83=Rh_Qz5OH@_5a{GcupRz~p{<|%nH_uXa)i$SXl|9!m-{unr0mciN1@8#pnP5`T zbJY)>HN_2N$Gg01`t1^PA9rs z*Pxq~uoe_`F=KKA4^YkQGiO zx%?vp^pk+Vq$W9%PYc1J zzur&s$0y+8UY7-eR5C55<$_+vIv-P;^A=h*5Jw2y5|~adeVV$u?5I;twvT-FGd!rb zX8~SJs$AFCRh~)?w1UIZ->uLB0?Yco0#X9YA!txvk;At_8-7{j>`LEJ-wiOVDD5fw zO}qjw(cA@g|4p~rlqr)fhyG9_Uwh`7Wj42Uxi#aJH%-S-o_YQV+&lPDXVFRRJ?Y~M z=&O&C{5-HOPLIa7frf4ZV~#;pQTzT?C)#H|a}@MswYAmHbqiy89?hXf5U(W=A=b?O zpVUynm=l0=F`Y(_bi@!v23#x-b1d}4lhZ;DYsNwXr&jSsbTOA&<=|nKtegNX7;cwd ze2d-o*O}HuJ*5&+V9VucYuUrRjTC~bQ2$C$@(%J5-VB)2Dk7EQt#>!26y=cG(;|Ks4zad)b%2{Bc~Pw-8Zvt_|C+&gz#fw4ozLSfmpG!zwfahpR}<*=rRlh|w$m z;%m0_PHT0E_X^_bF?q=`R$FV@%12JLwX3pr=I5@me@*7CR5`;c7}a2Y2y}^iwXS>t z@DZWcbqy&2Me0x-T@tRSbq3==>%hUg+HS+Pvt%olN!?5f?x2fW;~pcAzMNb_Nb$Hh z1$q|BKLl6$0^zZr@AX@pCQZ)H(c;*}O@PBxH0}z`vNFYs5uRh?)(pogkA>GI|MNdK za)<2!!>vAPcOdgk;LbsU59J>Mt&m$Lag`T}T`BcX3#hGyd(r~nbSw2VeM=mB!c?Vi zU@7ZfZs{kTaFFF5qemGBSuebEj*XlH9>SOs z#D{0gW33vIg(A_}l>(=Ge%L>M{57H(lo47~KwK{n8PrST74e?4usJ8sqvCw&UbxvE z9k`zvlCm}EB@P<4ldY()u=CHo$)0?=5hIr*daQM}7S|T3N)|#|q3AVzNa9!tPzhv( z4huJY{7YZ@l0Ew9qb658rL^s~fVycow6@(^zQ=3!*kg~`si&Umtn0PtA@wc!dYVV1 zM@3f&dyL#BL$(tUl!Rd8WA53+kUt;&0l1L zt4EO)x=Lcu@C6VnM4+@@-eUPQ??@bK5+Mp^0$y1`bKv5e2!uQdQIEqt8pQOp zXXSW6);JpyLrJy^Rb!&b3Xy8Xi?W+#-i#4qODMel5{A@nPuK zXc}SwW46n#3A_8Auh^&&F}(cFW-KEXq|gNrVHPjQ$x0cbpx@WH78fox!gKwX)K(G; zDj~-A0H)5_(h1dDFj5sFIlvMK12ARRSgMA2Ld~5vbnM=?x~a@Q^@$(azn*R9y7WeI zu}q!v*2@96#V;=1hA9@u#`f;6&fME|NZYrnf@;}X3Q9qN9l(je%S9T{n_?f zKueTK+g`OwHR|00H{N)o{p@Ey^FiJF{N@}BI`{-H?gn&2q$8x8G4vI*QY|nmh$)j~ zmED9`tQ;D3_k$?ER;BEa!}i1~vBElVK3FCHTq1&+Nwhg&fqF%yhOHF*^~3)71A$d= z#w-fKf*`3>6=D!{!xCKXq0ZXW=I8I6rwMFylZQ+~-2rVY=+|61vC|+1ZZv;(5 zS{VyqYSj!^OpV1R*ZPV{6N5|E4cB31y2%>aTdfL{`g{sKHhh*P(9wzmf|6t%HVIE_ zo$YNd4-z`oD+PR%!uvM1_xrfVm7)0{DuV)0>R#z%yq+1I&d> z?0Gm=ccaw4V8H^*;tY5RfZ+Z`lWj4JoJgXA?+G`l_&uc}AnQ>9WgvV|2X(08p`Xy; zR!8w3;KDbK5IaZOtrDR2sZVTgx8D3UtE+CeuJ*-ndFbnzv~{(%`S_1ZfrC^tybsXsq;7cK1?HC=E;&QJEM(DpqDSBlfe|Gc)$3bAD%!JVUf+ zah&3)KZv7Dg!xL00&=XW6iY1280||60hXQ-Co5Fb&|*q1Gz6#wu9Qj~EN_Nw_K)cI zq;0l#rHb{mfP81&dFP$J^(Fv4H*DfSQ*J=GM6?3(tG$zIh?Xpp6hWG)0R1K0MBrJv zwNnbEW)D6x$CfT>utPq$t5xAOS^j(?3dF&^T4B1_QNFf3g}E1h_Qy`IkVPZ_!}P0)2O}k}3dNd6cD}{@dT} z_Fw+mX1_e0PZ+gT7;?PSGS{XwEUhrxrgWj4O3zI zo+x+$y()LNK=}eEh%(EjynquqT8$#cOm`|UVYThG>uB3&w{dpcebcd`;%-J z(K4^26LN8~D7^T7F*sD^)TN*ah$>3Q$q777m}m0qgsarpvDR8!TH$Dw;lLCR`pQ_A zNPxhoKoay^!dSh_Tb={AM3f$xI8f5rL589AyOJiG5Nzpw<)cYY6J`wGU0nd&W_+A| z0#4SbT_*B*R1v08$|!D@k^^D(`W0?EuOHkUoYcOQ{;d`ez)t{xB|6H&{Sg>eis0Nb zj!uz>Vq(!E7X)#{eDYhC0Ft)|921JajLBW3*GxyyohLUxvj>MSB?ni z#q)rb0-e$Q4t}eaw zQhWBbrVKfTjMfcElNQ*Re>cEkz?~MI42Zk@6ROS$poSaA)@m3=A@xp6_s;S6!G)8 zZ-}J|I3z6C4&w*esA1LUyv&8mg?}6@jleImPG>?Acw$mwV$w?0IRdPDvjR5`IQ2db zwG|H>`0%qm-(f3T8{qt53O{0qr2u6~SW|H(zycGbOuGYa8~M_n0&0QS4q!wxsSNI> zfxJR-o?atvRLmzG%Ez~rC7Qgu17qzIpZ}aC5Z#8>PC3madWLoni`jecC%GQx?>CqJ z{97#$N0io%*0|a{1xHhnob|0WtH&^a(BdQqAWq_rL8AEfrOWN%>u<7~e)k8spj|d} z$FVkjC3hZ>(?g6oJO61l{5oI(3J%FbL7?2|I{Vfpy_fQLHJWYBJ)wfhtT0r3Hl1nbJS6+F=34yH6db73HZ={e^YK0sS8BM}UzUNO5 z5!VS(I-e{6E3ntIIOR#Pik!Q+#a@2pHGBVVqix(yJ3x3)kWIjXXLa7WYON*V=7euj z-u;pw$SR`0C)5S=7cs%0*dF@ol1Lz*X##AmK_NbG2OW5TjTv2TlV6w*;YPgY6(@$F zbMS&z5g3w!uoU1$lJfwskR)sFkr*#QyJ%X{l%Q*P5VK`iT`p^HwldnHQtiQr%<_O7 zPAW8tECKZf0W23*Unvf-YQq!1g4~YTVZ0sq`OjJm#bgf+ zRD4DgL9Cdco(Y}|4wSWT`lh9{MOr}IqZE-B#4+r|7((B%48W5I)ufRTMgh}_vPxUA zaJfys^$z>%AO2|b=gq?)B4W$X7kq5?6r0(;+&U2(rd@H1-U>!Qn+VN7KpLC+igUE| z-F!R-z)R3aeaAhFi<5>-KS{^T=LpD5Uq)Zu#*dEMxBmMhHtE|RMjVK{(w14^d-RpG ze#$dO<(VBf2oa%fbv|?{CHi+7;4cdRPmi+s7HPFjWkQYAcX_WyR749r%98^qYN68E zh6QhGkj2Y}<5FTf`@=7vvJ1a*i?wHHI}j%Pa~4V&zK4LPKrZjmCY_VA-G z+2}FVw#&plErY3@_$AU3k29l0!~^T+6hQ;usk4(-m0nwdSqm+2d7T1*BvP82a0Q*k z#{tw^EUJADKEMv%e|wuZXQ9oc9_4T!RBr%d;7yw5aT{_kzt+n^U6i|W(?HW+mhnPP z()pJk9@*?SrrWKd1@;y`74m2j$7^6`;CBJ07MknaNtrYeXqFb5)#nfs!Y#=3dGr#J zcG?Q?+jPI=PYO)fK!CzyKY5x>m^hJHRH|a@?sZvVm;vXNfxm{m>KDwUx=>16q6K2G zv|2Iqm1RPC74l-mSK*(&Qw40S#-%IlZ=kG){@+bD^R-v40a@>&^jdp~NaU{&bZ{-q zsyu8ciR*H`#*2EJHZfnqQRKsx-*g$0Fc6~>XK)GnnAoOLNQ}sd9q-q3r=PTw{o;3D zvJ*Zu-ZCwV=-b^`XP_|-f(TexcqQfEI+m~)XF^S9@|9EAjO&9b4OTEadQhTC_(b&vhvM^B-wNIM{#&44h=u^dRl^2(v-;0l#8 zH*j-A8kaiBBr!03?pqZ^{}j(m>DF6swKL8*qi-3M?%rlvpaihCnNQibicFX=!6r|h zY#;yl$8E-p8Jm7sluW%uOJgPIrX1+#wEy6*6FdLC?neQ+M;y~N#1Sm*FyX^XqKIEB zKARqUbdFWCem>;5;}JzD=vfD#fY4w;reRL~u$KadwAQJNqYS-}4cUy8!X$^2Qkmjy zNCYV5tr+0O%h%m(+l?7+C!BPMtzNavro6JoA9e8{&$|ahpYV#{O6{a~6q63M&;w1`vR&?O~-4)qo(Fy#U5@*eEmQO*)t%Km54(RTTNo?^qQP)y3N zWqp8;kERCVaVkhCU?GA(2eMFXnTWeoM^VYGSd_aUn%GLg7!MXOI^Vx30RO5P081=t z2U+@y#R=80$Y86eok#$}-`OpHp5Y?>P6kDiaiwwBh2T(aPzJcoB8V4V3y7Vb)y81b z{%s_U+bL6~*oQv!p||mL>5*-v1xf>ltcGtVif9OMwkP{pn9{8f1w|tCuK2Z$za6 zsh9R4^$AHTH#&z%cK{jS;%KEPB#=))d{K7Fp*4#qczfibd6vUd;t?M`7T|#Q#0(Lg z{RRG}e)>a+-3gE?6>gAcKSZ5GTr`y#^E-hpIr5Sh!DupXO$|#7QH~#f_@pDOy>pGt znY+>nc^;x2m|3!lCNISpk}bZPP1(qcr{19ja$aDHwvYmjw;(T)JP|itmO+LSA%01H zSEJ1#4oa>wZzD&bm5Uqggp}t1STa3}g6ibfz2^&%zuu#yIYBZ&2W|k|cFYS$?Ks|! z{>X>Pripb=FzV(w;qgwm;@t(Bg9V27S@l za0Z8R>##V5`%&;~9YJ-oJ$`12OKE5`5;uq-qQIEkF|&eJdh+=dHt*F}Z14RKv7y6j z@c4)2xl~rM36iOyh+PCZSOH;~fP>xx0%6Y&e_b%uh^PjUV3|-L@QQHjn{E#QArnEc zLJgl)cAlx{B~gv)6axThRV&Ypie=)Q0>mhlM7PZYR=T=cP@pn9@uUw~MOoS!SJd0` zRrq$4$b~GWDJ#Gvu&8>g2@2FHf@2=b-`$$WabuthK-m>J8ZajlL}|k(VVf!LuC&^v zEYbzXNeWtmQY+JI>@{MSNUW5RNgu2PEEARrI~Q?U_{t!UV?Th)X7(;(SO{ zxX-}{+n)RE!VhpE@$hL^%yf@bALY2Yj0t&#LDZ-d@@ zUaZ&m-c*+GcQ`>)N}VPNj;PGwfv?QZ;(}V@_pKtj`_lHmD8|4{L0&Y1zvJ@WW(8@*qEPx`?zW0z5axu@zQmx5uBZw@-fh8ha5&eMJTSlG7QB7D_n}qN8!AFB02f@-zsBE~DL==)qOMik>T-s;vQFiT5PPIc08EhS^ zo6s3TE46}2p}P?+d4LEYM`Dh^dHgIa}`|Y*om)Z}$f1llT-y)oa zX-<;cXlcnyH-!0$`V~a8IvG4K1$+%Dm`y2 zSJ+F4=wF{U#imW4Y7LER&=2ag=6t)&Kuo+6T`K`K0XCqJN>tobDoy?>Ai$ZvqjIDu zo3yRHf5M6N-tW))Z9&JS;^m0^1g!J8*aY_3=gt^!=U?(E+k21gtY!5a#@T8X4uC4& z4_x3C0u2IX0#9nt0CafMdc&z4#Rm23euZ;7|MrsWL#g6aSqr8tTxB`6(tF~>rHX0% z!v&9ERTI&IOk(tkP5@IQpcRkDaLSGGk*L_wetq48_QM}NVa-h}U|7(!w6hqZ{iPYd zehI^J_bzkqJA&&1SYfp1(CL*xm5#;j*0K75jvsj70XzQq<9laVI(`qgfO=5x9`zn> zic;0p0-yZkC+&_q?&u*NAra|Y>x7d-*tN8#FCIfc;}EPYc5crgCe*kn>{m-;L`1*-*a z4Ug4WEp4*TPP<#a9gY|B*Q!LBRpGL_fG8w~U3yNyfOhWS-BvBgFK)2ku#SFN zV1t$tr%)a}HJM6T+`Vn`Ko;+^(r=QRb19N%#ew7*ak!G~6S(+KFIjF+|MPyEIb*st zwl>-;^InHTm9|zE1+$tLp)ZHdA}uVR3&A&6Z&hi+FQntJhXl9ij7FIR^9Y~)8+rXG zTMRiMSe`PX__2D_2@YQl@q2LuLbUy#pPd62OvT zy;9UIS14OQCifod`HM46nQ4n)EQmwPC_!W%qdf(bg5F4ZaJH9M`^VrkCy4YsXlMJ% zSHEw!-?@;OIgA$~S+{qH(<_jM9-BDFJ-xqgl@Wka3cmlkwvfLDnQSV(_~MJU|Ni^? zap_N~1=Io>r|Wu4sZB~PKnr~Fi(js2+>; z)o}aQ^E2#A=l#JJECJ+L9c98Q5%Gl=6NUhDoMuvHk3ek0nwMMxfTc^+E@&~0N^N1{ zVuDTnA0+gow(c!LJciw>cCvkU+rv_bSKAth3BetCtTRf zJs397uQUpEx~4K>C!MsTeebGsZS;70@Y*HT24^!#bmo`stBeF=|e=}?1U_K zotCnACBecv;c}gD>=66a@6NUnbzRoJb_Gxe&J}tX2>??>kzYL$vv>d!XJ}IrAr>(e zffm?O*Vd+qU(kpbh?Z{*E%;p<|Kq0ef;q~AcZ>TZ&YE)W!t^^e1P`mt9e}MWs~oqB z)z4pO|264eyXPMZtg#U*Fp8%IxTHz`P|yUfx}rSPQsPMHv{u@hGzH~6si9PEt)u~% z0b1jJ9u!kygxvn(b`I;bUxQyc*yNuZ?Fjc%0ma)%97IU5Xr29v1}}^`4+z zg1`PI|I-7Iim%tn0BjXG3+ry}0be?$+m)9g&3bAE>xCoba71+|44(p|lA(=T|e+w*La``s6et=29Y&JiPZ9AJj zJ7?#7_IjJMoW%w@kR2>CL<)d;E~QcnyrBgyxZnc&&2N75hVyTILfuM)KkQoC2V0q9 zyukX8GPy{s5$H3(sgYX&2xAg7l7>sL&z^O5)l~=Eai@O3I+xGI%{1gcEs+i2Cfd#_ z7A}#4DBj~1P9n@=8DTBt6GQk;K^6$K&%QcWoSZn?oD={oCLbPkZdR!DOP*3lj$u8i zMYE)U^7L7WMOHpB*6zG#hW+%XciGF+;DGT;skD`$aNE%tti;222OKx?r39-soXAus zog@AK?VSglWkr?$&kLQqr@JT5kY->A1BfC?#DIW`C?LohFf6*pb%np8F1oBASJ1_@ zx-2RtkX>^`L69I(k_2VQX#&hJd8WIkbN74i|NEZ0_4;+w6X~A7+?siP@2y+$RNZ@i z_ncFw97{r1K_tD{Jq(Je3IWxq9o1@poW{DQ#ltchA=UsQ&qQ#4> zt+U;FC4KEE^l2MB?M$qURSmV)*^hrRU@iej!~E29AeA2QD1d7$tJDe_5F0_G9DESL zWYE#4hw^K_Gskhij=dF@i~G)Quroh$tetf70XA`p?DIMnYOTef4anbCwN#tF*h6zC zr|sNJvg<2J#mvHuFus8T5xkC^6RLddgFm12!3nI%MCS-<3*c5CU%i6@v)XvEx}`zy z4fQlT+rIpj-`Nko|A;MH%_fU-ccRsk2+FIpBC}U6S4upuB2}IIW%cR3Qhbh0R;Xn| ze&f;-tGim&viypYXJXr)j4rMM{9tD8LKkj5E#{ z?bZh3m{tI+N^Z?Gi(i2{>ivmtAEY}-vj(wO(#w_AJ!}wI)Lt-+QV)FK{gdsB7k<_T zm(G_)LsA$SjA!))%LZ$#a2f(xfD~TJFrOe1avLsh0~N)z$qQVmHYETWO44ZtAS5M* zcS&WbF9Q-w;qsyAD{sT(LlDz@)PG+`>LFM^@3m6WtTpzO#{^gy_5&V!Giot zML;Ir{+#$zNE>yjegJ_Yi=j$abNQFN62xxeFcrFCd@b5R0gU63Yt_nDtwnZQmtA_9 z)$hBf&8cs(E~&KG7lki+Y9%DKmw}bnsVZW;HzzbIWYAyY0wWGloL7!Cv9awT#rXUU zbVQF+1yn|ITVcK3aM zwHt4`$sUr8ReNu{Tr3RwZs1*_2ufpW#djLu~@l3{*H5;N?^b6M>tmDpaD)#;Kbp{gTf`GBDf;}}90dA?LJ6e!C{g4-v%D_lC1M34r7+FtF5jvW`zCM#_> zH$;Gi+7Q22*kDbWGR1DY?KYb|d-moQm!{u|D8OU9`7>@OBG3-f)qm>$?F_T6ut&fj z|M*9H)0^Jps}B3*M3FDKC@$v<53xA`$rL-@`i5+yvfGg?xsuYr1OS@K7n6dm@Poyi zeEclC=(4k{s{cuAl(BC6+LgWsNuAi4^Z@>`o6!oS46fJ3l!B^Ir_L-;9l*Tw)4#wt zcmy^r1h6G=m~g+Gt8|ptnE-#pP^riF7}1I-0isNmY_@u3(N#6UYIi-*Zol#l`^>*x zW%C~HGHpJsCTi10F@?c`BpdP*W;t;SR7bj}Nby?a8h|Yni9vlRHX-ImT}lH{I8r@7 zr3Xv^won;C#d@v4!a!R!+L3c#X8(H5zuF-OA8K`4ky#@^+pBTJaJxooqFza3s>FOV zs6ezsHHO^m1JfriRwX8dI|u+nAhashm=DMfDcYHPsws<<-wOy{^eV`>*e{ zgASQvy~~~uaOu?83FW)(m0AU0b5|%y%~2(%(#mcvl0_b@!c|6^rhHm98#)-S$Kx;R zKdr>fXz@V4MxED6NJoN_z7_}cj>%7ys&$HGnr7Oax6QK;eE5Iusb{o5PVyjx=d_|> zL^y@{u%I6R-;H-8uB;|4?=s$ZfGa`-TBrywzx;B0*~?z$@#&wG0_&pyvv9m0o%Pk7 z#_vEB_{mRxVjud@hx}!OBh$F5h9e9RM#qsC6gD1#jf~d8k<*Q9SdL!eeng!H5CSX& zfWeFYCHptpe|-K#JLb5(^z|*z*K1b@P)N-o5WtstPP>qm{x$ed_1K`(CyKAme_6kW{*bC7yet`o)I1!m+oi@;8`unH*V z-5`>n3m#;CuwMR=21v=ODx6pfB3eVf&i?VFf3Sn+9^`gfd(7O;8X9ZmBBRc_+hr>x zsSPW*`1%KMRg39iFQiuZ_zr4ZG5E%o$3-XtEnct2-a`Vks2e-3G7yUQ6~84Q3y>7^ z#UmZWZ3X_PaHdK_@S)_(>S%}Nh38Y<*wQ(0(J`xSilX`!hmK%sjY*DWXkYKfh`@k0c8$plqZXrOR>UJnhzRH^&cQuts}OD6rR^a=~myTPc=LA zkePPIyAQP!PdrNVrQO!8oUa8Cl6I+Y8T8ofiphrofXV?@Y>?OvJ?{eR$+$n9uAQ5V*=zwMwnIhpk+du^(J=i~Y~Vf0jCy z?-6ZB~~$OhZb6jZy#)#@J{*^UO0Yy@+3Qyoh)~@wG>&l2I?K+cqsQ z{dhCNY6t=v{uK>#0bt48U5uq#z-3BHpPg{>L3aKHr>efS*0W-jR!+%dvm`bBvU6hl z9@KaG6xK`C*@l;h{YD_=uY**U| zl_UWw3E1SSCt9X?H+%4bXYIP1p0Y1}^*UR%RyI_1S?kx1yZ*(lx~Ro>-xXt2YyB7a z1`Vf<5aJa_LOhbkb+MuyOdqC&Z=aG-MXdl+L4ctV7Z8)C+U(i0Y`;DC)pGt<>-P$4 zoiRgPUN%Is-9oB`5p*7OAZZ+uE-K-L5#XG93$RY&06q?W06R#4q*g1((LR8I0t{<& zLj>^T1GM>%3n38S!;$gTPn8g>W`?!^xB#L6DH@K7I-?1IfqIV&)uBthRs-g1WmlyY zVn`x8m#wtFJ@TO4^Vh%HeGlGe&#qo-PdxpMt?8BDHqldiDtkfw0>z9FAU0S}sZNNY zIPFv;cN<|3K%R&`h{lwOT_>4_l4-(c1-BfY3lGp#Fp;t+L9|rgYP2FGE6|NXB=*rm6eeeRt2df7hOa zH{ANHK&0Bl&hiCGwVbG{lune6^i@~9d!T$hv+8`(H}$zpS4CHZIIozemFFa3&hoC~ z-S_d2f86%jXP=6k>1j%V^-~}|Y3oms-bpD?K>;?9KH`WYTuOxqy|YuFk_x(bWq=j1P0L7vg|kZ_VqkjSg3uiOjVvQtldvwc*IWX7TUSZQgub!Z>G#$3H@d3rUrFyEk{LMnvh2*3){ zM= zZ4d5rZc_gCF0F3E2r4#Q8p z{}`VKZ@BXSvtSF*BtYKVU9>up8r#6R`(*9>&!28b9{WSOAC4z z*Dn_-8JjqDw&f?ywx3;cwSD?ue`TxJs$C*(QPQ8<=++Eh9~^ z6H;Kwk|n;g^c{EH;T*WRx!F2oT^*O;@OIK`Zv&KJ+Eu<1xk{jhqa*IAjO5K&CB&tV zdVTWtSjz+%8p#7Eh~$!QpJ1;$X0A<{+G1@h7wNNqK<=%za=Uk(#9$HyFtep6;gcK> zi=Ywr!BEC28)#z1E%;0bLv0Q*;ctjd(tz@WI^e3sei_jSh4g3_Y;-X7yHB$AyPKf>vz0Ifsg1e zH~6U_Jdi>x_VCH5U7*o|^kMAhgEg?@GNC%{3M7Q5KBy3u#8K93UwWi{=zSm7a?eA> z&GXhgp;^l$Ww6yJ+iv-Xs1mI8a@-55%9J>au~)5b%;jwrw*o0eQP!3quE_DoTltFy zf%F6PlGh$WIs7W94ZYeXpsv1N8`jmyeRxJ*Z@V>b)@g}fhpla2YuDZIXZ!L0{@5N_ zqj{sg;sF5>V6}uy7+Ns~D%Iy1I#YCm(4}Gdg#TP z=W-;aL3K5w&{;`FO?XVr3LzrCD)DuoX8_GFZOpMZj>-+9ED7Yi5A-a|Dz-?-O23#z zl!=a!7O7#I>-$6*H!Ea>4*4qS?9?*J`e{}-^8lN7?|l2=rPtYo-_?FUjoKHdt0bF* z8f^ku5@K$#bzN=VSMOMP0OEUuJ|zJ<#{hxX6XN>|I|xMd*gn+iOXOevx;p=147DP!k604!35mv+n(j-$ni z0gG+HdYFv78eJTdu)ZK8K%52hRuE@m)3$;b$p_vu&CWdY6x(~RDb~}zL~KN#!+0*$ zr#uEN=t)X!a)x1va+h$hJks zrFyaG28lqza>yDKLt=j29a`!&afaNqOQ(r@cEmtUh`Xxn@+%kEwbwpvH{SZ7J-!HQ zc$J7)j-y-kcxzP-_0WhQP9m1z?8MuqyD~B&jT6mPt{!jYJ@OTuI&%lf3D5Z8udMP+0AC}wujByRYqNP_14@p!CK@bs=6fN-RMerGu0>&>@lH{=D zYq$i17aoC^e*&I#6<&Yb3qZkR1e#zt#Nxgg9$SS$i4yNJBWoY~=rQ*3&zx>+7u_d^ zIGu8;C5Ji!2*CrXq%K;|mzDIvtz)S{W%0g^J22~pzknTRh-+X`?eAiaJSC*}2%U5E z>u}EPp#V%l7pJ=P<=RfHwOWJ|ky1N9P+O2I(n=Ml8@rN=D7$qsn7W0&BPqBMLqv06%d!g#^d}XcEgI zd_+M1aEqLj;P?Eq($F27^e~6an~2+7Q~o81>27nEz zFQL2xTvsZIbC2|!85x`nR?V=+8Hd<{Czjcl&ih~c)o+$MMh7=`_tFUTob(HV0@Br4 z8bENXGQbsSh-2PYd`OYqlgg;~RGJ$tM$?hLi$Z zM1k_u8zuK^e(>Ih&9;JHfKlpBqjo?FTyVh!zTDzFm zuqh0$2Bk{K%E%~d%~B~mzTo>-TDMqB5EofPyiA z*5Mz*tc)+|t?mpW0a{s5988y|1qM8}jUQf`m`3+tr`5Mkkn|+4^LneEbdcS0^%bYM~sRh)$|mYL;ppaUfnTsTdN19FixM>5?e{OE3td zS65Y|KGe%HU%PFqb4Vw9r3&s6uj^UgtL;r}0c|0;n66gtyV+!tud?6iogoES{L*PQ2ZT3pV8t^S2 z3Ig-;u-Px~q~u2kIH9^E-z3_|bGq4oo_Dgn?zn?RM**uEffa2qXs7|TyLXUm%KwCK z-WkUs)HyzX0{{zP4Id@+OzKoO=1OYRAhCmcP%jFsscjkgobXj0?1&CHLehq)5HKj3 z^y>qpyQj@sW@zOBI_#z+?UKuGw9o(h6}Do9mVGKI8d)Agl(<84mOcZvH21=AC5_m$ z15#1;!)b4Ccc2B>;u=F!pGTT!vu4d=zZ^U4u){X3&@@#_f%Q;;cfuA-)Af{=M(?x~ zVC(sJzx&6Ts0*aW6-&ZQ{@?URw0Ik2`aG3^s)7yr*2 z?bMTArLXceQZLAYyN)G@vJ94eMMGVy@`WkSvUdN{S2-|VN`z_V@R{IhMUV^(R?-|8 z!#D=~P!uH%K*KhmMh!@k(9k^H@>BM(2k&~s&i~Rc?H1W=t?TR;SVd)`C02t%TvCyg zv;?wP!g-nOafG(~p{{(Y{hWS4u^@37ejCsgL1ai5`b`c%Q~(r_Zhi#SIZ&x6$)y?4 z5I`8DJ>=w?K+0O#2?3-6C;~zS%ER~^Oo;#!FH%peSMAWaBLxH4yF^P4wlb1p6{I%KNqXf-6XNK0 zpKK~K0@eMUT7@uqmLy+wQsu6;fB(;)+m(M_EzqT8&{SRLTPQCNs{KAEh@?*Dqkgm} zp|>J7IUsRoo-ki<<~M25BwM{&8xJZl2Ve4%ml#W_XU?3t$z`SqQwpq)0?gVin5OG1 zE{)%rDKKx|Jl|dV?z`_UFUJ971+Sz*JkQH*Y=XX;^;L|&2#n=1=*F>8qw4EX9dA5l z5BtW46%x!%kA@hU zWDJ3Ej7`HwEhSTse+3~793&OxAZSpkPCoc^wT<$)s*C+4uT@oFgSeb(>^Hy08t%}IgC(evOUt7hoJ`_a7CJsF0f9{2?CqG zGk3Tu^VQ@s9Fp=qKXp(VDln%kd{s@6WJA&`B$?D3YSUl-3ylO&&Sd~yF%8EWjWPKE zW)6duhxG0_l$I+$ejbP;z$k}o0zInyhqmw|gw&xeA%?%SpfXTCw4*Nx_|t7)VhV~P zIN&0eenjbj%L|-|^|S|PUDZfIvG3CDDUw*t+N06t$cFIf*EHLkPJE3`+k0Pq9jul* zbeR@zXpA%u3w<5#aIHboNndX2>M#K;eHr+&Q&i2P4~XK&D5!5GHbos-z?B1iPWGZb6FYsVrP<*%lM)IVOB2U7eBj7 z`*|#|pZxZIyXM9f&a|79rB7?!3qobhtxd95>QH}xQtFH&3O(ik5Qzo2ochYy@+`C= zTL3^3R&qnZZF0P+ZPtiUqv_8BDcaCbI~WM)RQ*+0GeXgm0&)9fWL z+tX%Dkylz7vCD8!#`>}+l-ew#UrC1hC0Th_OTvjGu#D7%cunO8LD-82DH+bcyl(v+ zx1jzM@sB{zb1}4K0%}D19_TgH4n9)!L4^Y=(PvOVt0?JgR;ppV25XZ6tD3ft-FD4= zcENw%X1Ct@r1gk4xvW0QbR^VOBf*mA3_ax74*F_X!LD*0aj5A2W(MX7V0=K%xsYf9 zx+ch;@XKHRvV*P7EG|u+QecA=NZt+`Oq1SBDX>Wtz&4B3IE1f%{p)u2*=PI9EUI!U zozQGjfg4JsnF~V&5@<_isTCUiMGgy`P@R)RYn7ZpNp+;J~o)cgT3voM_Xsx z{bG$`ntJiG>$C)1%7S_j=?_0131yOFAvv(uxxUl2cZuKIP-Bt8aceu z9#jGlInk&nn?jSbw@$g4uhHU&8to>IE*lph-Z$@Gs2tU47+vZb=OBPpkcU$jAe8}@ zMob?p-hY54!H;Sc3sN+EMS&PL5$x3mLrp`2_Wqe)e86q8_-Y&}S#YLW!6Y}M=)mX_ zW|z?m8q4*P7*dr~6sWlJl4|u2YW1D?074x;woiKF6ua>2AJG?bhnQHe@WyIMwtB?q z^b*H4wm_AY097)um5K-^QIu^~E~~Va2x7Aux+#f~!XPD(Buy&_0Y;^acI{O=u+hp0 zgvi8OU)(S-xl~ZUkl_qwCdu_cgH7CZKY0%Avj6(8AKLGKzuel|2W{nA?Nlv10GkRd zFab6&>ZopsP2&wv`6h^OgoM7s-VlC|8zY%}s6`}Ga{b%VaivXaV+2fG61=?1GU*3W z9FFn6j(~Xr5{l6Rt)>gHi!se`P^DOk_4)u#0y~a886#B6NH>Fn5u!=TkE&~`^ERcm z-i|zUroHimSJa3!u_psVb5DdA$y*e6-b6r4cA9csuLW zj}|4C_t$|gtDVrQm7y7X@R3gY=YPIbZZ-G_Z~>qCP2ZV2Jhv>9kh)t{6^a5`qII&v7r)qkCr`9{?6Jot=1!BP6xcip@Dz`H*KA%1 zY3h^$8=%0=H{a}%tb6Xcr<^J>Ma1>dE`sCwY-q|ED^HlY@t1r=I}<3+<|I;Scoh>3 zzmyM9d;b})wlm&)sO`497((Zh(#*+^)u2>y^08Bt8WEsY5W^^H$7bY5HM&O4MZ5XI z>}e~YacqJbCP3(RFRaXh=}1}-R|mQ#M$$D@iD5%I7z^#t&Mk5iQBYf|04=uE3Rt8eB*03Ohb9W&iMuzH5GA5TgAdMJgukt6?V>Vsp$+}BNahr)xTIj64_S7~RoIyWO=IUuL6_~FXsCTnGA zljUXLUspfD{&L$RcJal3wBKDGRNG<30IU?~m)kw6BF%Z9a6aj{IU9%+WhSIQ31+O&x~ zBn1{PUTo)|f4*M07nj?Q$R3FUFG9czlCF``u5#khPMEp;2=N%MhGsM`XMch7vURAT zzeprXcHllO_WlnZX#f0yr9VriZ^G`PCBeD7arQNf5L;s@nJV5mT$EXKcZi zSO(HFz?|BQKO$c#=oQil7%JdOeQ?Q#jG=`HN-~hI(q?Z(fq*`#S=f^#Tc_plFlwn^ zI{T{Z(Z`nAGYgA$&s}%hMHl}anMo4la8qIfARNBT;OjLi3(;S%)ROR1_*jj+yZ86N z)M$eMr(i*lUm(+f(FN8S7@smJndjA=aSya{JpslV!94TJ8L)s$Rdti3BciXnAJF(Z zXr})H(6avlXt@NGeyD8k;h?~g1}29uE3FtL9Cb*>KK%Z7*yM>N+iR~X+html)obq? zUnqd6M*9&7p{o#_j7rTb2^hxz&?d;i5~-z+soJH*3;4eZ1k`*56_TCGRJQ|hcO=UE zRXXM(`{Xz{C(-zXBA^;uM&>3ohyX|Q>X+SEUf$Pn+0iTCAqCM~P*fnk)fy-5Zx1{$ z-@f~;o9wD9AF#!%wU3hob=_)yG-&t9&V;8ggh1MG9^+y>_xwIUi+RY00uoC`Xn3Hl zj5%Nn=@qu2ac>+_UUk(~cESlK49}Ear4$$k3NVc;r}a2gkrtU!AW-1j-~P7L1^+zE z5I(%P!`pPTq*)Y6w#r|qCj8~S>n~;0FH!>nIuw!1$X8aiGRgT4z7l6logk-!Z?M;& za+pBY-{gj9xy+(uvDG6RsG3PK)zZsaoAL2VkAasr!I^f9d>%*afwWh#nkVLg+7Npb zRFq=MfGuCS)%{skIdIMLYJs8uCuA%do?)lu0We!#OoU_Pi;|+|e3q|!y^w!Xe`HJqc zgDaG9r+|b=^Me~In<1tT{8;fOVWD=>Znby4>qL9`Q3uNRn&=|upmG}FpgkjyTM)?Y zlk_C3@vE&@L6QPW%%dOUhM~VCIFgDnbV#UzD+JXb6&w8oyWbNt<1T_QyFuhv_KSm2okiBf%#WgA;xvMY@~Z&~bQ(W6v=H?W2x5 zN{dEr8=f$|N+~do6bSQl94knRPAO1HfyW+u%#J_)cw4YwflZk*#a69aYScem77DV6h@g01L3?-nHR84zN%!frdD$M>SG0 z4QPqKq$;_5y;dS>Yaa1mTv_zWxn(}D6?`pPAvw?~K}wH+SHIOxoaHMOO^!^LKHF}$ z-1IlQ?%H{F=Uu(>lCGkax2;2l%3_wdt&l~HfSUR*5=yWqX_tO(>IA_f!-LRRGyxU@ z@m$!j9xG+wfBgNnx=bcsA21zFYhOBs$!8t(3)t-O= zL2)gXsFfsd<_xn#4%x>JIB1f+>eUnNMTfsg4X)MPSR)YIXY1PAdw>O3dgtjwV1Xe0*3=q~Cy z8A0j7ub3&sI+@*t1ZZtsgCuPNPz=1!1$@V;uc(WA1juU}ChPf;)7b|3a%+vV5;tScgseyx20pD8g;8f%(2kylmiIaY^JR$^1 zAN|CUR}vQvjCTxCrT@P7y>FNVJ>E}`DFw!p0u|GIJgZ5|-f1XsUGd%{%{I#x;3FUT zh<)cf-zl&3fhk51v&nR0CYQMr7s=1x!r@gM-{?WTASNZ1Pgcvma*`eu2lM*!*7i42 z=TudT0Si~W|BOBCV`rXZd(V>bZbs6Hl}p8d^@5iw2h~z+V`S)?+|~^y1pL8>;WkJs z04+!_ka#2<$C=Xw3ERxt zz20We-pwX7*6X|^-)gh9mCbCMGPylC~0rYG&c|NB>V%}vYI zPt6EPJo}Z0y~$banw3$%+eS&c8bXlaMkz7RVM))XgDUkAdJR{FLKw!7ImR!L%1=i5 z!y*XG5%{1x_uO;sth3G6?a>0$ZH|EJ4KQ!=gotT=WnT z%%(Sl>B|pJ53+#UbIo5qpV2777BBFMWXdUBPCs|6B;JtjMo46jX*oOPw0-P7 zZ<}j-A3V#fZIzgeP#B6emKq8X2CtjSmIOy#a8G9x;(d;exCyt=0jnpkoVF1Wf22Vi zM0<%NUD6jvU5Zk>Tz4p)k&8j#(3F*t#lDatF5k0k@JL?~H?XpxSK>P@SIpHm%LkKq znLMx}QpmAKi^K}PVp52#B#y~)%0Waw^3a%pEh>LbZphcQci4ibJMF2(+I_pLXiJ`1 zWe-2J!0!M1BR2oZ4r|9~dsqnm7~uT$5vqpK7?xII_}@b|C^}nH=S?NHnLhA;y=hMkL|m%~&Sr zfuk-ZeM_)Jq@u=9k$BTZ1mvNN)WYRxe|;V%^NwyM`#(( zCPrD@%2o+|`ql{zcICDA+fOcg#BRCmaa+00OVC`Dp`gBEe3_tD0kGNt0aRYTDYP|^ z0y;>cQ^iRut#%CPA9bk>5w-g<_C2AEiy;%lPn#%e1L4?Xk9Fr)haP(922!QBQVNV8 z1$dG+Hc!W|_O#@ko&ta?#{bE|xVj6=I_pqN%4o0G6(`QuKQAae||9s;e)-t`>`qr${ z28dc`ud*APB*s|R;hrLk`dl99>D7AkS}|bhm8{DKq-SGUnrzF3c`(WmV|E=9)x$)? zuD~2&zE~HR%FJa5D5@E{&kyFTpEF?2>7mM0+a>H0=3TkxzcTejL3YEk}@#Y^QW zb%`wOJ8kt^cJ(z|wMOouWM&UbtbEB(H9rE!I3)4tH5njECw8LFGr#;}jrv=w7_# zlCAQ6f!FfzGM2hmb`ntxj-@-souB{w=k2qf z{Vav0A*H}JqX08GKH1x>5oyIK1wQeKPuQiGUTSOCuJz?Wyf9gRJ$bT>KE$PYkw)Dd z$IZ5o-wYDxq-QJ0IEf&KpEf}_=F^{iv7P?TQ*7d7fhajTYFoY7np?E_TE`mcLSzNr zIKfJ5+O44FWZ4G!Rj7fXiAjk$J8%LB$(+302Oc|TelT>g81;!oTkv3a?Og^)VuZRM zBxXFS2`dW;bv@2OZ5$BrpxyjK4~c~q`mbE;7Q*)0iMbo=MA&1sg>40 zt`xvKAg|{8qa`xTS)&zra>@fo5d*7{C3-14K{hw2M8x!6dZay4WYx|( ze&>l|iX~qjhBOKy;a+7>r7%!@ z_mdXi8g5{v`~w1bF45Cm&=?H%qra3v6b_sOG73`hMtA->jUg}t-yG2pNS6UbYF_P_ z!3n9R)3XFbCDJM;5%Y&7ia|0*Um1V^Mx6eh7Im}aprR>K(L5gttd{6q=YTd-)oOjk znRe%2m)a%Y`>kDm)k?#qN4`qC4GCD|F_(`7p9~JL0wq=bn1v|G=K1H@4D%{TvWVk3 zZE0z-SH0?0#xmwzcinZ&>P`zvDe!zKz?)?(pM~esmNail0b^etBv)Vh(wEA+xAKCG zYJs>f4@cr6D0;r6<3$}`)|3U{;$>bK(8h97m(_?l4QSU}Jb3OlBX1|2xUaqA9Y@;1 zht8H|bf2{?dRV|u_FS@%FLacwrX<}J%nX2qJ8X7YmSh0M2n@+xU9+xVwkbHi%E@jg z=e`nPl&GSVReyX9znIua2oUaXokv$tMQwsz(+UAV2ST#p66nPC2C0YROWi}Y!$w7@ zOdXNAk&^O=85i`!hKb%_#{}eI{08MxYM5ga?r z@FpVN09dFd&m+L)s%6x&p$_uI5a$r%zoUczas}eO$?B8aW-(6mk6)0a7ExKF?qo-F z#Y-`$w6f$!WhzilK4^mMDJ!2J1)q~u);N8(b!++W)mPkWKl#5UcGuktZLNfZ__%QO zuj=i0xAZhXbdEqyRmT?S#+ZaSE-W47m@dSI#n_g~xYvXT6e}z2i8Mg=WOXVRii9&#(hM+t;A%7MT($)yHh5uCS0pO0Ec7?8zqphqMro>z#6P{0z;tda8rI;y|XH+KA zD_`EJ{MlMSnm~olv9Ds8BSztng`KA}GHA+3z3Jc#eHOb24s-aWbd*V2^(8X$;Vsxc zuaG*isU}u<4w~4x*`=kT2Ve&ku1iNnU-$U|kQV?3P)V9v%1NRsH}i$O)NVS<%g;i4 zS4PY5_LJG*RJ-i^zqX6NeXlKC(5nv}J_{HoEC=PgK~lhs#!d%?Fy>K825cp!JXJ{Y zJVW%s!E?zNMUSG48=&g)%P;pDjyvu+yZ-v?pJ#1p_LKr+M*-evWBDwMUCSy2ICDF?qY;L_8Q6Qj0<$bFt-v~mRqA~q@ZUCSrxdj&JIQ2+H*w?Oj)Ps`T z0NMal+!L+koI`brhJ*Tfdle7*Q(NOaibraEP9LA!jO{9h`JkTrJaCXMfCb2kP{&Ek z{BdJ*(IPo#hGlXBPm-`^Me`#5KeXpkG1H`ZJkkE}`+Mc{;3|7&h1t}moONm%*Vat1 zE_qvp){-BEv7kukn$#KU^IDY3M_PZ!HZVqU%v$AP_YZ&ggT3;VuN>P-($Z22j3EX5 zF&V@1(xOrdj5!5vxZwu-%x6Ahci(-tOCO@DkQc7oOo^#-j7G7p<`YxioB*gAO+uEJ zhf1wO6T?<%0t^}15V7#QAn8eM6>iV9s!;r#FMBBj?bugMu`}LvoE>st-uBshcY!l` z_w3YiJG`3W)Ji-Lub+Yh!U)O;C}0O%c@IUMs79z1{oq)UYhm*Oun@3{3^N$WCuwzO zJVQ|+B~}m3{hSI#vyvomC4nagC}Oq<e5vTrP!EUjS49BDy9Cmu~3C z1xG@1j`WZG%EyYw5UqPU^|F*V&_|bEzLGFj80u3#L154&T#9qN6=MCbx4q(ehd9;T zD3rPcN&&Yua*`%lt6WWBpO&MKny|R_F!v}cJ)h2zfc3M|HCrd?RinI!PP5LAg8l9O zW%lQr9=9J|cDpTFE(}aDB5%LE(pJfHt%QV<-b%_VNg%4@tbi&WMA@l2j3xAjYA9%# zy#a&~v!x-bb9p9to;flH8s+TmEpK^?edQ}(v1!w$ZE5jozLWx6g#wjtv#nBLT1iTQ zEujFafY-kEwRYi!7uu2~OPrxcfQ4-a5+{xX4BhXeJHB^axLJJA*r}<;qFoyl^g+9Ko_7s8Zo{>N+wkh0Z^=~k_a&_5+tOC4y+n< zHvu{#0fB_!kMi>$`uS-9k)$QglU3a3x}26gt`0*576!-tKqb-?3RYGnf<6QWh;}5P zHdYXB?wEh+TchShPrIbKT4*6pvKg)V%M@g=&L*4mHz!qKrbFuro=9&lXk5@cvx7_}?EnSB^Op+|kVE~eUQ8+zys_hY=Y52-eogS}i#))V@ z<$@;w$yyj|MQn12fGWCckG57^$Ma*3ImSNsxzE|rM<2b(<)#T!3T#UX#7AUXwjr%M zrNAarVA--|+BoiAWxI=!k|&n=<5O!~02a(7hIl^WSbm`NDUX>^Lv7w>?Uu85zvCb~ z^CPE8%(c=6yH`qEB|lqoa#<~ZKfYqFak_+DC2MbAD+z@BZ#By4rDS5PpscM0bfIEY z>50lG>_f7302XG_a8UqLIXGa6SHut9Lw;4j&{|PQI^1EVj^Ug*@&R}NV9W16;m>B# z7Qg`(sxOsMrlnHHbI+R8R*qAFEE*U}CFu?7Ko>izUUw`7_ycG`GwRlVEdjL(A>IFZ#V* z{=0?Nwni>Cuz#2RVId^&_enp*B6q+dKgq?J_tkO9jEMKmJcA2oCPav_JLrJ{5y=;R@)+qhhQWAjXLGwMIly#T zkTf@P=VYJz>{0f<_n&69Q^X(_++(fN>#Vn9we_?~-B~|XzMqsx;GiH^1o(K$0#?LL z0R`I%Y!zJP7Qm4@>t;I?w%^E5wMzf$2>ddEFX+y_|fsVJ#CUTX9{tR#2{$B%)U~DBAi)E+1Gyn3H5CZdR9Jmtn62^%~5ulKWBe*an0> zNT2wXF(emigA0uG`iSa4ubH=r08KI3I%arl$QMH>0~)FX{{?yyA74rFJm&Ml{XUAR zthNgp+FB;$0ZgGfj11n@h)yr=i;hw=#?oR-cFbdy=8C{mU6Vl7fSfY)SXG_ur?d?c zlEi11b=l)jv}^mLf?fK9KiS`(TxXN(a@Ho*VjedQTFpA>D=kG6`4jW$S)NLwkgs}W zLNmws4TU%lm;-UF;)o5U+Pt$UxgrZsCr$z1|HH;Djdm^_o(v{1T#LUH&qV&d% zyJ1dZNWwvG*DZ#g^Q~xDrP!~MFc_8^hiockzkOvGuPt9rc>QkniX*1j+`0P*zvZoW z^-?WJ?2u8tn4FC3so$ko?(4{}yq+MP(amuR04z6sO3J5Z2UKcNkRGXBj$L5JoamVN zUD8RCD>)#sDhDsgubeqMD1wp4a=1krxPB}rDPQ$?Zh-`^)6t(!JvP=sJGjd=(lG-0 zC@)-j)DHN^sUms}i0~!Z>s3`xkmvnfWt)|=TW)^9uD#)5yYuel_V6RiY$;Cf)yKSc z@s`63%{{4})qT9W7uZTj^UIx&#%Y{@=P(XPAsLe)w;I6HK+{M#l#2T21Cqo+-pwR& zRQqGZe&(5H8Xr!xXU~q6q{khT0{II+d$3uw1=unBFlMdh5!uYgV$AAJ3rZ<4rWC+S z{Lx1rJ;o|SoH%O#K|Ll#$qd-c)*l#nxlUl+`~Jxi=*3qx~Up zDTkYf1XSVuSlI4c9=J|fEJLS-5Us3T|{X*blap&Sm~%iRXP5Rl9X9#Wy# z$l?kGl?$b-nj0-YaW89MwnDok{L+5$vz6A?p?x$p$2v6yNmG( z?UDi~o%j25<1?{cHZW~eN`Wn*0PDLy|M}0mBP}>e{9KN1qR~$f&o3@dT))LUoFx%o zImh7>-lLqeI)jQ4Wv)&H+@~@moXojpWI-`b4&bG?feYi-KoTtHrtg01Z2Px!KCBJ; z`mJ@cxMiQL=lfU53V6^4dONk-u`HQ$+QUcI&!rkIx0Alex;xycB`>S_jP^Y#;iyYu zH#TJ~$|{;Q{&Huap!&4_pXL-L8gi%K4g+Yn(h1QyPnMNeMQHfm*ZUj2{)&nNV|9*Q`7z!rz4kTnse?EoG6ed=JN<$Vyp!{ zD$}Wi;g_D+b82uIUkAxaQ86o*F`vg(lu=ZsK{?~9%1gg2L|t-AbkSIjyV!-9LYadF zIZ(p@sS3CC=zO3WUAQqCI_1_{>%PN^mO$wV5YAtoL8G#uICm(zw+L-8ut z4SEnKC7fG_@S?#(03pO@qpmfH1Naa}RRqdJvXWeSEv$;I^@SSgW?CFwqkk^lumFpRRGMo1G4wUELHu7r5~Ey{Agz=n+# zfxEnRA~51Al*Ji$&}{|l^!RcjPdxWT`ZE*vr;Low(~%R)<~dPM}s zYN4M2(S~+~R>mB}p-+YWuB1&$3lcn)5Agt4K04IIxoE>imFisBbr}hz>P31*>m@lv zve>VEhHzzHU*8~W^n!H{c3VbQoLt3=^5l+Y)F++Qp-Te6LDk1TCt}?4&0Qzdwacz~`+pxj)=qz?9CB%CVqwiwyYi$PaQy(q?4lnRIXvRT@oAixxY+L6&cJX*Rsk2XnC z;rDg)<&JOZ!rbbe(t{%%x*iD1Fhb>t+-!8i7mv+@3SK9K`GRo6iRm_SS1$q5yWUYSVL{Syh`Gk z6p%D%jk39dVY6{!wLEbTU}MGq1UI}`D-_Ro*Rgig5eM4T$yGLOiY%k61kifBq`J~B z*G=+s+Oy7?9TKP-*>UB)AjwyJ%U{4!d?o1hz;eM{myU4v2&QxdoRnCu#w&z8$vs`M zAzmTphC#aWlu0_IR^%g&GGYjz1PRur2MSTAW4ksbqd*X=7Aip%>PS~x>K^hZ4=NK1 z&@-H!&XJ7+DJP@+B>^|ib6Q%MQ(p@5_W_sz#B>XV z0j{=(5N#gu5Dc(ly9R8r(jA<)htWyfu(c?_Yhn9%BDYqL(|S@0hyth#fAE7J*uD4O z>-5;>j0tR^r!feTq}md2a(g3jeWY42Ynax6Hc4bNJ}iW?QYT`A!^VMmfdarw!ELSr zgqWi}-3~cuFPpp1o_65eS+?806K%${quPS`mQd;0LuLQaQb501ghsNSFM0`%pNNGUeO!ml1hD zm0p03LjgHiZ23?u)u^pSq-3-?3AC}IRtkFczY5xRNo}C55%x(U#m1J2#0ucWEzId+V1C4~&F8Zkf(KF5fM=h5wrmNHicNdY zanC*XwE6SrKPP@Y5j9KS`B}4(wgBr%oJOY<*j^~W)9LS*?WI9!J5ma4Eefy^;vIL~ z;YRX*``h1~(NT9a(#1eGhWK^PbyUfWB}0>z#~E%EM!-zLAi`1-7D*z)HoXMJQ-4v$ z(WaGunY{Ml!EqFJJ_wa`#7f8E82LjkYm^47xhZeE?%HURCQY!}d$!u4N9-#nUHjXt z{dbj#lFArZWu>lVV)SeDQs@;(kj>CQmE{K~`pUSXR8YVec45w_aXIY81UX6)rMX2G zVi*GUV-o3Pu<>$$0x}?85+g})+-Z|1Rf7c_y_M`{?BK~$R{T*XlCD=o24Y3ssS^u= zsnAF#sYAVN)#oB1-79Kw07mE`B!zNNe!w8TaW@8jOMgUAc0;x*Nx)PWV^EZHh9d6# zC7r^4PDWA6B_N!umKw0ZnLcU3S{7i#LICLD>L0*OitR^C&woQcQiguBcyRUWvq$v+>q8A9q6t5@!AtV&p&bQ zW2lcxonN%A^0}z%%4dRmpZe6N?9@|FwZjiT{CU=%W=|=w<5GZUJ3N^?ZXeQ?rxbYJ z6!^t2eqm>wb(XO~VhnY4b-pSJW>pEcxDT@#85i?y$q|^rFFueF7*SSyK%MzlTw4i| z2@(%d#2+~mhODyyUUWzbX{~D2Ms+>9?6taT*=1=1#k>ryr_C@s^5t23%W1E+BM#r& zY8$1_>g%vVPtmIT8`U;3e#b)nuA*YqB76R1WP6p%i{ZND3N;(jpIS-RYNeKBbsfw& zcytwKwrtda4XBN%Cjkn8BJ7hunVTF$DZrV4W=Vt@666S|sNDVm(1%}2>Ea%QZXO(D4FvcfUNj~ z=m1*+1p&>%V1~cMk8g+oizDEP=K*`K2(BtuGh%PG+ittrIp>_?jr#e|e{OGo``gF2 zfobU}1-4TP#P|7j+Pt(`DFwDJ1#Y_OCi~21K4bUYcb_v7Y-R|Nv2X-jVOuhm2J(Uc z!Wuyy0ppC!Q|raN{&>wr1YcPhKFi~h(gJMa4<@WUmEw_jP9eeeD$UbxEDlVBq` zt`yS@ESx&?Zx%$y;2TNx3u!nwRnlrTA}i!m#JE4IAZb8FfRR5pAR$veA(lY_ zH0-+^$RRb$V-zmacDYK(Rm+fGV5%UMXjNm4+=ngI=8*C#D`S7WxehoO(`vjLz^V+? z)dt2mt1__O8kBmmFkvq%b#&R96>II;XIIOHs>8av<)7-tJM6&+7TE)j%Gp> zDfzMzJ#~)Fx9}YpQ1)|@k2$iUFMwhI6wPHxXX_^bEaCQ(J(| zquLIh`q#hywOw+_C3g4SciYO9E5m~$1{1&F;~qX^qn2SgevMc?%$F5~JfeY>O2(pV z{&7U^5sttym(VyHCN+0S=ZRcE!l@UfcKeB>5aOAR#Q+t`B!Hu9o#QHk6>m7q1oUW~ zng9bpFNk7*A}w;=G*k9o(`PhWOG~3vkF7RkYP0P&bGm$YHCj_kjkPq^TZ43yjZHag zkzsuf@2a2-fiCt9@?~;FNflchkYq+}E68DLp@@Nf0Jf@XSa8)ST^JS=fz6k9AOJ02 z%}0~fr)*y8Jb|X1(r`rb#pZ>kUARrg=Z-8z@c{v`HQjyI+1_bgo!!>HuFE>s6>R0I zbplq;O2yZ1k3YUtPCT-v+}3dhji^lG3>-A0pThxe0%}lqN?N1h zCD8Hv0o28GlIRE^6ji9?Qj)!ZS`+{h$|Pl+s&OX;AzpvAKb}BU##);vSW|PgHMitt z_thf*PmM0kYHTRlgb78dk{WevvWcxNHd*&4O>ET$d^!0{sXs;vUl1`RuizkU5 z&Lu*$UH$9pw{`6uayZ+oRhUJ4dch)Fv$oCFb#>dbiw9(c-e4VVd98R;Uu0v|*}cwI ztZLIL({82dv9@*rEcvRXHat4LiM!J7YYS4N51EX5^?9Q7$`i<7h-uQIE_JCga-!}GZIN_O-q!P4jn}yj5FF@3dUZv> zOL-IpcyR!uBPjq;-f)4-j3i)rxl6#XyuVATJRMPcLU$a8QYp4v4t>dol#EWw4lFBm zXchK)GO#a1WabhprAsJ7dt-1Fp(+?!O(<~X{>YSqgprtJ@G++y1hpfPF#6><|9SC? zUu>WI+~@2qZ;_|pG^7+rDX>urjC_1InjuY)QebDNz&F47O*x6Y$d)c$YF%AYZB+!m z^tVW=#giDHMvep+YdrUeia$uDN^+3pwmrZDm@OH?Ijaf*SzK2Z4eY|sC_n@9BteOs zkH`9wOb(VnAruvnOl+5D7|M?+mP^DaUurV)qEf}T`Jhx|(1l{bDc}x(1pp?ol~=AU z50uM~CRH|z5&?$7X+%WAJ?+ zRS+GfGZCN4oUkS|G)!aUgo-J3^fr@&enp!u4B=5fZeG}& z`P$mr>TVdYSKN?0hRth1nmVPx&Ow3X4YG4|Htl6ffw82(jW^zC7hZUw;re0W!i8Qm zp5rm{CPX`yXuOT|3+6^Vz$5-hi@XTitH}6?^H9muV;o07K$+u@e2n47+zrR@*Q1g@ zBhy#htE{gwN9wO6L~PG!ak@9My!B;Iiix!Z z7`lxkL`s3@NdbTq^R4p8ob2qBdB4Iw`|M+Hed}B8ZEt&(&ktilyzIug_o`RD$~}j^`qi)AO07z(Nhz>%Q6L3aJJ)!p zz1;>Bxc&Cq-Qm`wk3MRs7Li=R02><{-5&(1L&8|PklzN~Osm{ZD1b_kzU^oTv*m&ldXKHugN9~6{ z{GlP)BES$+a5bD(>DAa#;B~KioxSs&@3g)5-rIL<9=np$l2Qt!6xa|2Qh>D~>ZJEl z3Or8=%)9Bg`)|w^0O0kdFMY|byz)xB^wLZ1nP;ByTBFfChVp>0?(Xh#YerKkk{*>K zYN6&35+L zXWK&$J!IGdrXi(3N`Y-lffQhETl%N9rxbV&1#rG~`Q?|pS`pRaqD70IlZFTwF3c4M z3`34f^tp~qc+`w(A#FuUfl(=dhtqrSz1MfAzU{W#?8zseEc@81%m8x+R7Jp5sY0qu zm!5B*6o^2I@rz?QQVNNLirtr40f_&q{r20>*g!A_{IkuUKR=aTMS_g?@l7=sy=-H) z0OQ?;wEP{00x8(qVTLMg=*~_7cIExhhdyL~`O9A%eEs;xKX#IglwL(i$j(l$9ligI zGQLFK0n**xTF#+jZ7L+ z3cOG#@QYvk!mhdI8e6q$m8*`}=BJ~hW7O^;`68gALRwO(ZsZ;+$4coK=P`b?0!OBe zX()G7!pQO~%iEOvW07WLo$;C@VPs#{7a!Xa^T+FWL_H`#YFij^lMNf6bEA7GOsmy{+Ev1q&AVo{GztFE>^%KK}UQ_TYmL+CuGS z%__CZ5WyC4@jQYp;s6-{2Y$pyLv7AS-iy~GfeGc1Z?r%;gjhbVD>xr%pENQrX$aIc zvc7mP-sec);&o;E%Czx3-X~9NA93`7INT*vrj31zH1Ud(KR5yfSRHuafi`E(9QRwb z`|i6tAb$JX-(HzCJx?i+Qs4zbffQ`LKn61HMoNKArNH9Fiw*Dv=(_sqt9_rv=v%3> zj0qDaxPLA{4nP9X19+%h{Z^Sio&!E2*Z`1Jf|CeZV%pJ;)Wt968!b(Y8!atyn_5pS zhxTp^%*C|v80j%uJ6l>>Tsn39@yFZj*|Xi#x>UL`YkEv6kWyeLpg`vQz5ng;6lLuM zBb|0JrNE|8;J*9rbFZjZTyceqzi`5Yz7bT#MvEK?5y333hbN|NCDQ)Iqqq%QwnSn1u*Kucf?aqJ>{5iMwIpQ(1 z(nIFR!Xv;L34AKkk%kZfTm(An6E8(jMEXrFKbBotZ{;~2Kmku2+3*iH>#eP=Za_70 z;zZx*Z{L0Qb=T?RvYYbP{%g@s&8B|q4adFaw91C1=P3nJ3hdAnNWs<)J$z~7QwnSw z3IM`7J3HMSJpgRYnl)~9zk2m*2VQM$ZALr>Vat{+^Lv0XfZDbU?26pb&|s4%Pc}Sw zPMbE(U8N(D!XXv+IpRW{I6xQ2)Z6E_9JRFWlma^@1yX>uV~$(e>XZUI6b0C%5v%X> z&p-b;?Zyhfv9ZymSV+5&UU7}85)Z5xkX5SdC;+ved>y!y2>^sq87|QQM1UitP*F8V z-Y6-%c4i literal 0 HcmV?d00001 diff --git a/extra/bdisk.png.xcf b/extra/bdisk.png.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9dd674da3035e586fbad9e3407faf8edb43be4b8 GIT binary patch literal 219311 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%0Di= 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

US)zmJZelAs7(?XYmoPa9BQlpWchCQIn54_Yy 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 BLv#QD literal 0 HcmV?d00001 diff --git a/extra/build.conf.sample b/extra/build.conf.sample new file mode 100644 index 0000000..6c1af17 --- /dev/null +++ b/extra/build.conf.sample @@ -0,0 +1,133 @@ +##################################################### +## BUILD.CONF SAMPLE FILE ## +##################################################### +# +# This file is used to define various variables/settings used by the build script. +# + +# This should be an alpha-numeric string less than 8 characters. No spaces, etc. +# Used for metainfo +DISTNAME="BDISK" + +# This should be the lowercase format of ${DISTNAME} but it can be different. +# Used for filenames etc. so no spaces +UXNAME="bdisk" + +# Used for "pretty-formatted" version of the project. It can contain spaces etc. +PNAME="BDisk" + +# Your/your organization's name +DISTPUB="r00t^2" + +# What's this distro used for? +DISTDESC="j00 got 0wnz0r3d lulz." + +# This should be the directory of the root of the project, e.g. the git's project/working directory. +# This can be left as-is as long as you're running everything from the project directory root. +BASEDIR="$(pwd)" + +# This is the output directory of the ISO files when done building. This also should not be checked into git. +ISODIR="${BASEDIR}/iso" + +# Where source code is kept. +SRCDIR="${BASEDIR}/src" + +# Where we mount for chroots etc. +MOUNTPT="/mnt/${UXNAME}" + +# This is where an http webroot can be specified. Very useful for PXE setups +# (the resulting kernel/initrd can be set to boot from HTTP initiated by PXE). +# These files will be generated whether you use them or not, so it's recommended to keep this a sane path. +HTTPDIR="${BASEDIR}/http" + +# This is the root for where tftp files should be put for PXE booting. +TFTPDIR="${BASEDIR}/tftpboot" + +# This is the user and group your web daemon will use. The webroot is automatically chowned. +HTTPUSR="http" +HTTPGRP="http" + +# This is the user and group that your tftp files should be chowned as. +TFTPUSR="root" +TFTPGRP="root" + +# If set to "no", build separate ISOs for different hardware structures. +# E.g. a separate i686 and x86_64 ISO. Note that it's TOTALLY supported to +# build a dual-architecture ISO (and is the default), it's just that it tends to be over 700MB +# (and thus doesn't fit on a normal CD. Still fits on DVDs and USBs though!) +MULTIARCH="yes" + +# set to "yes" to enable pushing new changes to a git repo/committing to a local repo +GIT="no" + +# If this is set, use rsync to copy the http and iso files. This is the rsync destination host. +# This is *great* for iPXE. +RSYNC_HOST="" + +# Only used if RSYNC_HOST is set. The destination directory on the destination host to copy files to. +RSYNC_DEST="${BASEDIR}" + +# Where the log should go, and how it should be prefixed. +# Note that the code appends, rather than replaces, logs- hence the timestamp in EPOCH time format. +LOGFILE="${BASEDIR}/logs/$(date +%s)" + +# What should the regular username be? (Automatically logged in on boot) +REGUSR="${UXNAME}" + +# Do we have enough horsepower on the build system to jack up the resources we throw at building? +# Enabling this will give absolute CPU preference to building the kernels and do make-time +# enhancements/optimizations (i.e. use the maximum number of CPU cores detected). +# I wouldn't enable this unless you have a dedicated build-box that isn't running much else. +I_AM_A_RACECAR="no" + + +# ________________________________________________________________________________________________ +## RECOMMENDED DEFALTS ## +# The following shoult not be changed unless you are ABSOLUTELY, 100% SURE and COMPLETELY POSITIVE +# about what you are doing!!! + +# Legacy support. +ROOTDIR="${BASEDIR}" + +# This used to be defined statically (e.g. CHROOTDIR="${ROOTDIR}/chroot"), +# but is now dynamically appended. Please don't alter this unless you renamed the chroot directory paths. +CHROOTDIR="${BASEDIR}/" +CHROOTDIR32="${CHROOTDIR}root.i686" +CHROOTDIR64="${CHROOTDIR}root.x86_64" + +# This is a directory we use for staging. It definitely should not be checked into git. +# It used to be defined statically (e.g. BUILDDIR="${ROOTDIR}/build"), +# but is now dynamically appended. Please don't alter this unless you renamed the chroot directory paths. +BUILDDIR="${BASEDIR}/build" + +# More staging. +TEMPDIR="${ROOTDIR}/temp" + +# This is where we stage the boot files. +ARCHBOOT="${TEMPDIR}/${DISTNAME}" + +# Lockfile for checking for concurrent/failed builds +LOCKFILE="${ROOTDIR}/lockfile.lck" + + +## VARIABLE PROCESSING ## +# In order to make cleaner code, we need to make sure we can standardize some input. +# Don't even think about touching these unless you know what you're doing. + +# MULTIARCH +if [ -z "${MULTIARCH}" ]; +then + MULTIARCH="y" +fi + +MULTIARCH=${MULTIARCH:0:1} +MULTIARCH=$(echo ${MULTIARCH} | tr [[:upper:]] [[:lower:]]) + +# OPTIMIZATIONS? +if [ -z "${I_AM_A_RACECAR}" ]; +then + I_AM_A_RACECAR="n" +fi + +I_AM_A_RACECAR=${I_AM_A_RACECAR:0:1} +I_AM_A_RACECAR=$(echo ${I_AM_A_RACECAR} | tr [[:upper:]] [[:lower:]]) diff --git a/extra/mirrorlist b/extra/mirrorlist new file mode 100644 index 0000000..6fefe45 --- /dev/null +++ b/extra/mirrorlist @@ -0,0 +1,7 @@ +# Server list generated by rankmirrors on 2014-11-10 +Server = http://mirror.rit.edu/archlinux/$repo/os/$arch +Server = http://mirror.cc.columbia.edu/pub/linux/archlinux/$repo/os/$arch +Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch +Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch +Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch +Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch diff --git a/extra/packages.32 b/extra/packages.32 new file mode 100644 index 0000000..e69de29 diff --git a/extra/packages.64 b/extra/packages.64 new file mode 100644 index 0000000..e69de29 diff --git a/extra/packages.both b/extra/packages.both new file mode 100644 index 0000000..313c469 --- /dev/null +++ b/extra/packages.both @@ -0,0 +1,104 @@ +# You can include comments, such as this. AUR packages are allowed. +# We need to install all X drivers. +abs +acpidump +arch-install-scripts +archiso +bridge-utils +#cryptcat +customizepkg-scripting +dhclient +dhcpcd +dialog +dmidecode +dnstracer +dnsutils +dos2unix +dosfstools +dropbear +dvd+rw-tools +elinks +ethtool +exfat-utils +findutils +firefox +gnu-netcat +google-chrome-beta +gummiboot +httping +hwdetect +hwinfo +idnkit +ifenslave +iftop +inetutils +ipcalc +iperf +iproute2 +ipsec-tools +iptraf-ng +iputils +irssi +links +localepurge +lshw +lsof +lsscsi +lxde +lynx +macchanger +memtester +mkinitcpio-nfs-utils +mtr-gtk +nbd +net-tools +netctl +netselect +networkmanager +ngrep +nmap-nogui +nmon +ntfs-3g +openssh +openvpn +os-prober +pciutils +pcmciautils +ppp +pptpclient +prebootloader +procinfo-ng +procps-ng +psmisc +pwgen +rfkill +rp-pppoe +rsync +screen +sed +shorewall +socat +strace +syslinux +tcpdump +tcpslice +tcptraceroute +tmux +traceroute +tor +#udpcast +usbip +usbutils +vim-a +vim-bufexplorer +vim-indent-object +vim-minibufexpl +vim-nerdtree +vim-syntastic +vim-workspace +vnstat +vpnc +whois +wxpython +xorg +xorg-drivers diff --git a/extra/pre-build.d/32/etc/pacman.conf b/extra/pre-build.d/32/etc/pacman.conf new file mode 100644 index 0000000..12e3c0e --- /dev/null +++ b/extra/pre-build.d/32/etc/pacman.conf @@ -0,0 +1,94 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = i686 + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +UseSyslog +Color +TotalDownload +CheckSpace +VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[archlinuxfr] +SigLevel = Never +Server = http://repo.archlinux.fr/$arch diff --git a/extra/pre-build.d/64/etc/pacman.conf b/extra/pre-build.d/64/etc/pacman.conf new file mode 100644 index 0000000..277c670 --- /dev/null +++ b/extra/pre-build.d/64/etc/pacman.conf @@ -0,0 +1,103 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = x86_64 + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +UseSyslog +Color +TotalDownload +CheckSpace +VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[archlinuxfr] +SigLevel = Never +Server = http://repo.archlinux.fr/$arch diff --git a/extra/pre-build.d/etc/customizepkg.d/linux b/extra/pre-build.d/etc/customizepkg.d/linux new file mode 100755 index 0000000..14cf735 --- /dev/null +++ b/extra/pre-build.d/etc/customizepkg.d/linux @@ -0,0 +1,89 @@ +#!/bin/sh +# change some versions around +sed -i -e 's/^\(pkgbase=linux[[:space:]]*\)/#\1/g' ${1} +sed -i -e 's/^#\(pkgbase=linux-\)custom.*$/\1BDisk/g' ${1} +sed -i -e '/^_kernelname/a KERNVER=$(echo ${pkgver} | sed -e "s/\\\([0-9]\\\.[0-9]*\\\).*$/\\\1/")' ${1} +sed -i -e "s/^\(makedepends=.*\))$/\1 'rsync' 'git')/g" ${1} +##cp linux.preset linux-BDisk.preset +##sed -i -e 's#^[[:space:]]*install\ -D\ -m644\ "${srcdir}/linux.preset".*$#install -D -m644 "${srcdir}/linux-BDisk.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"#g' ${1} +##sed -i -e "s/\ 'fallback'//g" \ +##-e '/^fallback/d' \ +##-e '/^$/d' \ +##-e '/^[[:space:]]*$/d' \ +##-e 's#^\(default_image="/boot/initramfs-linux\).*#\1-BDisk"/g' linux-BDisk.preset +##-e 's/^\(ALL_kver="/boot/vmlinuz-linux\)\(.*\)/\1-BDisk\2/g' linux-BDisk.preset + +# add source for aufs3 +## 12.07.2014 - remove the "git checkout " once a bug is fixed. currently fails with: +## LD fs/aufs/built-in.o +## CC [M] fs/aufs/module.o +##In file included from fs/aufs/module.c:24:0: +##fs/aufs/inode.h:307:12: error: function declaration isn't a prototype +##[-Werror=strict-prototypes] +## AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags) +## ^ +##fs/aufs/aufs.h:28:21: note: in definition of macro 'AuStub' +## static inline type name(__VA_ARGS__) { body; } +## ^ +##fs/aufs/inode.h:307:1: note: in expansion of macro 'AuStubInt0' +## AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags) +## ^ +##cc1: some warnings being treated as errors +##scripts/Makefile.build:257: recipe for target 'fs/aufs/module.o' failed +##make[2]: *** [fs/aufs/module.o] Error 1 +##scripts/Makefile.build:404: recipe for target 'fs/aufs' failed +##make[1]: *** [fs/aufs] Error 2 +##Makefile:929: recipe for target 'fs' failed +##make: *** [fs] Error 2 +sed -i -e '/^prepare()\ {/a\ +\ git clone git:\/\/aufs.git.sourceforge.net\/gitroot\/aufs\/aufs3-standalone.git aufs3 > \/dev\/null 2>&1\ +\ cd aufs3\ +\ git checkout aufs${KERNVER} > \/dev\/null 2>&1\ +\ git checkout c75f6dddc1c58950c76cc1581e4b4c7ac8365bff > \/dev\/null 2>&1\ +\ cd ..\/' ${1} +#sed -i -e 's/^\(_kernelname=\).*$/\1"-BDisk"/' ${1} +sed -i -e '/^[[:space:]]*patch.*pkgver}"$/i rsync -a ../aufs3/Documentation/. Documentation/. ; rsync -a ../aufs3/fs/. fs/. ; cp -a ../aufs3/include/uapi/linux/aufs_type.h include/uapi/linux/. \ +\ for i in $(ls -1 ../aufs3/*.patch) ; do patch -p1 -i ../aufs3/${i} ; done' ${1} +# and we need to be sure to build aufs3-util +#sed -i -e '/^[[:space:]]*install\ -D\ -m644\ vmlinux.*$/a\ +#\ git clone git:\/\/git.code.sf.net\/p\/aufs\/aufs-util > \/dev\/null 2>&1\ +#\ cd aufs-util\ +#\ UTILVER=$(git branch -a | grep -v master | sort -nr | grep -v rcN | head -n1 | cut -f3 -d"\/")\ +#\ git checkout ${UTILVER} > \/dev\/null 2>&1\ +#\ make' ${1} + +# and configure the kernel. this gets messy. +#-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=m/g" \\\ +sed -i -e '/^[[:space:]]*make\ prepare.*$/i yes "" | make olddefconfig >/dev/null' ${1} +sed -i -e '/^[[:space:]]*make\ prepare.*$/a sed -i \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BRANCH_MAX_127\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_SBILIST\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HNOTIFY\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HFSNOTIFY\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_EXPORT\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_INO_T_64\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FHSM\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_RDU\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BDEV_LOOP\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_511\\\).*$/\\\1=n/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_1023\\\).*$/\\\1=n/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_32767\\\).*$/\\\1=n/g" ${srcdir}/../config{,.x86_64}' ${1} +# yes, we have to do this twice. with a hammer. +sed -i -e '/^[[:space:]]*make\ prepare.*$/a sed -i \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=m/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BRANCH_MAX_127\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_SBILIST\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HNOTIFY\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HFSNOTIFY\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_EXPORT\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_INO_T_64\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FHSM\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_RDU\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BDEV_LOOP\\\).*$/\\\1=y/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_511\\\).*$/\\\1=n/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_1023\\\).*$/\\\1=n/g" \\\ +-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_32767\\\).*$/\\\1=n/g" .config' ${1} +sed -i -e 's/^\([[:space:]]*yes\ ""\ |\ \)make\ config/\1make olddefconfig/' ${1} +# and we have to edit the linux.install as well. +sed -i -e 's/^\(KERNEL_NAME=\).*$/\1-BDisk/g' linux.install* diff --git a/extra/pre-build.d/etc/hostname b/extra/pre-build.d/etc/hostname new file mode 100644 index 0000000..a0047dc --- /dev/null +++ b/extra/pre-build.d/etc/hostname @@ -0,0 +1 @@ +bdisk.square-r00t.net diff --git a/extra/pre-build.d/etc/mkinitcpio.conf b/extra/pre-build.d/etc/mkinitcpio.conf new file mode 100644 index 0000000..a67317a --- /dev/null +++ b/extra/pre-build.d/etc/mkinitcpio.conf @@ -0,0 +1,67 @@ +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES="piix ide_disk reiserfs" +MODULES="aufs ata_generic ata_piix loop nls_cp437 ext4 raid456 vfat netconsole" + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES="/usr/bin/memdiskfind" + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES="" + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H ' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No raid, lvm2, or encrypted root is needed. +# HOOKS="base" +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS="base udev autodetect block filesystems" +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS="base udev block filesystems" +# +## This setup assembles a pata mdadm array with an encrypted root FS. +## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. +# HOOKS="base udev block mdadm encrypt filesystems" +# +## This setup loads an lvm2 volume group on a usb device. +# HOOKS="base udev block lvm2 filesystems" +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr, fsck and shutdown hooks. +#HOOKS="base udev autodetect modconf block filesystems keyboard fsck" +#HOOKS="base udev memdisk archiso_shutdown archiso modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd" +HOOKS="base udev memdisk archiso_shutdown archiso-custom modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd" + +# COMPRESSION +# Use this to compress the initramfs image. By default, gzip compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS="" diff --git a/extra/pre-build.d/etc/pacman.d/mirrorlist b/extra/pre-build.d/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..6fefe45 --- /dev/null +++ b/extra/pre-build.d/etc/pacman.d/mirrorlist @@ -0,0 +1,7 @@ +# Server list generated by rankmirrors on 2014-11-10 +Server = http://mirror.rit.edu/archlinux/$repo/os/$arch +Server = http://mirror.cc.columbia.edu/pub/linux/archlinux/$repo/os/$arch +Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch +Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch +Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch +Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch diff --git a/extra/pre-build.d/etc/yaourtrc b/extra/pre-build.d/etc/yaourtrc new file mode 100644 index 0000000..e72c70e --- /dev/null +++ b/extra/pre-build.d/etc/yaourtrc @@ -0,0 +1,57 @@ +# yaourtrc - Configuration for yaourt +# +# See yaourtrc(5) for more information +# +# + +# General +#AUTOSAVEBACKUPFILE=0 +#DEVELBUILDDIR="/var/abs/local/yaourtbuild" +#DEVEL=0 +#EDITOR="$EDITOR" +#FORCEENGLISH=0 +#FORCE=0 +#TMPDIR="/tmp" +TMPDIR="/var/tmp" + +# SUDO +#SUDONOVERIF=0 # Avoid multiple sudo checks when timestamp_timeout=0 +#SUDOREDIRECT=1 # Define to 0 in case you use a fingerprint device + +# ABS +# If the package "abs" is installed, those var are parsed from abs.conf +#REPOS=() # REPOS available at $SYNCSERVER +#SYNCSERVER="" + +# AUR +#AURURL="https://aur.archlinux.org" +AURCOMMENT=0 +#AURDEVELONLY=0 +#AURSEARCH=1 +#AURUPGRADE=0 +#AURVOTE=1 + +# Build +#EXPORT=0 # Export to 1: EXPORTDIR or PKGDEST + # 2: pacman cache (as root) +#EXPORTSRC=0 # Need EXPORT>0 to be used +#EXPORTDIR="" # If empty, use makepkg's connfiguration (see makepkg.conf) + +# Prompt +NOCONFIRM=0 +UP_NOCONFIRM=1 +BUILD_NOCONFIRM=1 +PU_NOCONFIRM=1 +EDITFILES=0 +NOENTER=1 + +# Output +USECOLOR=1 +#USEPAGER=0 +DETAILUPGRADE=1 +SHOWORPHANS=1 +TERMINALTITLE=1 + +# Command +#PACMAN="pacman" +#DIFFEDITCMD="vimdiff" diff --git a/extra/pre-build.d/usr/lib/initcpio/hooks/archiso-custom b/extra/pre-build.d/usr/lib/initcpio/hooks/archiso-custom new file mode 100644 index 0000000..8620639 --- /dev/null +++ b/extra/pre-build.d/usr/lib/initcpio/hooks/archiso-custom @@ -0,0 +1,186 @@ +# args: source, newroot, mountpoint +_mnt_fs() { + local img="${1}" + local newroot="${2}" + local mnt="${3}" + local img_fullname="${img##*/}"; + local img_name="${img_fullname%%.*}" + local dm_snap_name="${dm_snap_prefix}_${img_name}" + local ro_dev ro_dev_size rw_dev + + ro_dev=$(losetup --find --show --read-only "${img}") + echo ${ro_dev} >> /run/archiso/used_block_devices + ro_dev_size=$(blockdev --getsz ${ro_dev}) + if [[ "${cowfile_size}" == "100" ]]; then + rw_dev_size=${ro_dev_size} + else + # size calculation done in this way to avoid integer overflow when ro_dev_size is > 10.2G + rw_dev_size=$((ro_dev_size/100*cowfile_size)) + fi + + if [[ "${cow_persistent}" == "P" ]]; then + if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then + msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow', using as persistent." + else + msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as persistent." + dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null + fi + else + if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then + msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' but non-persistent requested, removing." + rm -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" + fi + msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent." + dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null + fi + + rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow") + echo ${rw_dev} >> /run/archiso/used_block_devices + + echo "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} 8" | dmsetup create ${dm_snap_name} + + _mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" + echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices +} + +# args: /path/to/image_file, mountpoint +_mnt_sfs() { + local img="${1}" + local mnt="${2}" + local img_fullname="${img##*/}" + local sfs_dev + + if [[ "${copytoram}" == "y" ]]; then + msg -n ":: Copying squashfs image to RAM..." + if ! cp "${img}" "/run/archiso/copytoram/${img_fullname}" ; then + echo "ERROR: while copy '${img}' to '/run/archiso/copytoram/${img_fullname}'" + launch_interactive_shell + fi + img="/run/archiso/copytoram/${img_fullname}" + msg "done." + fi + sfs_dev=$(losetup --find --show --read-only "${img}") + echo ${sfs_dev} >> /run/archiso/used_block_devices + _mnt_dev "${sfs_dev}" "${mnt}" "-r" +} + +# args: device, mountpoint, flags +_mnt_dev() { + local dev="${1}" + local mnt="${2}" + local flg="${3}" + + mkdir -p "${mnt}" + + msg ":: Mounting '${dev}' to '${mnt}'" + + while ! poll_device "${dev}" 30; do + echo "ERROR: '${dev}' device did not show up after 30 seconds..." + echo " Falling back to interactive prompt" + echo " You can try to fix the problem manually, log out when you are finished" + launch_interactive_shell + done + + if mount "${flg}" "${dev}" "${mnt}"; then + msg ":: Device '${dev}' mounted successfully." + else + echo "ERROR; Failed to mount '${dev}'" + echo " Falling back to interactive prompt" + echo " You can try to fix the problem manually, log out when you are finished" + launch_interactive_shell + fi +} + +_verify_checksum() { + local _status + cd "/run/archiso/bootmnt/${archisobasedir}/${arch}" + md5sum -c airootfs.md5 > /tmp/checksum.log 2>&1 + _status=$? + cd "${OLDPWD}" + return ${_status} +} + +run_hook() { + [[ -z "${arch}" ]] && arch="$(uname -m)" + [[ -z "${cowspace_size}" ]] && cowspace_size="75%" + [[ -z "${copytoram_size}" ]] && copytoram_size="75%" + [[ -z "${archisobasedir}" ]] && archisobasedir="arch" + [[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch" + [[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}" + if [[ -z "${cowfile_size}" ]]; then + cowfile_size="100" + else + cowfile_size=${cowfile_size/%} + fi + + if [[ -n "${cow_label}" ]]; then + cow_device="/dev/disk/by-label/${cow_label}" + [[ -z "${cow_persistent}" ]] && cow_persistent="P" + elif [[ -n "${cow_device}" ]]; then + [[ -z "${cow_persistent}" ]] && cow_persistent="P" + else + cow_persistent="N" + fi + + [[ -z "${cow_directory}" ]] && cow_directory="persistent_${archisolabel}/${arch}" + + # set mount handler for archiso + mount_handler="archiso_mount_handler" +} + +# This function is called normally from init script, but it can be called +# as chain from other mount handlers. +# args: /path/to/newroot +archiso_mount_handler() { + local newroot="${1}" + + if ! mountpoint -q "/run/archiso/bootmnt"; then + _mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r" + if [[ "${copytoram}" != "y" ]]; then + echo $(readlink -f ${archisodevice}) >> /run/archiso/used_block_devices + fi + fi + + if [[ "${checksum}" == "y" ]]; then + if [[ -f "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.md5" ]]; then + msg -n ":: Self-test requested, please wait..." + if _verify_checksum; then + msg "done. Checksum is OK, continue booting." + else + echo "ERROR: one or more files are corrupted" + echo "see /tmp/checksum.log for details" + launch_interactive_shell + fi + else + echo "ERROR: checksum=y option specified but ${archisobasedir}/${arch}/airootfs.md5 not found" + launch_interactive_shell + fi + fi + + if [[ "${copytoram}" == "y" ]]; then + msg ":: Mounting /run/archiso/copytoram (tmpfs) filesystem, size=${copytoram_size}" + mkdir -p /run/archiso/copytoram + mount -t tmpfs -o "size=${copytoram_size}",mode=0755 copytoram /run/archiso/copytoram + fi + + if [[ -n "${cow_device}" ]]; then + _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r" + echo $(readlink -f ${cow_device}) >> /run/archiso/used_block_devices + mount -o remount,rw "/run/archiso/cowspace" + else + msg ":: Mounting /run/archiso/cowspace (tmpfs) filesystem, size=${cowspace_size}..." + mkdir -p /run/archiso/cowspace + mount -t tmpfs -o "size=${cowspace_size}",mode=0755 cowspace /run/archiso/cowspace + fi + mkdir -p "/run/archiso/cowspace/${cow_directory}" + + _mnt_sfs "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.sfs" "/run/archiso/sfs/airootfs" + # _mnt_fs "/run/archiso/sfs/airootfs/airootfs.img" "${newroot}" "/" + mount --bind "run/archiso/sfs/airootfs" "/new_root" + + if [[ "${copytoram}" == "y" ]]; then + umount /run/archiso/bootmnt + fi +} + +# vim:ft=sh:ts=4:sw=4:et: diff --git a/extra/pre-build.d/usr/lib/initcpio/hooks/livecd b/extra/pre-build.d/usr/lib/initcpio/hooks/livecd new file mode 100644 index 0000000..ea08dc0 --- /dev/null +++ b/extra/pre-build.d/usr/lib/initcpio/hooks/livecd @@ -0,0 +1,15 @@ +# vim: set ft=sh: + +run_cleanuphook () { + msg ":: Mounting aufs on / with tmpfs=rw, ${root}=ro ..." + modprobe aufs + + echo "Now attempting aufs mount..." + + mkdir /new_root.hw + mount --move /new_root /new_root.hw + mkdir /dev/shm + mount -t tmpfs none /dev/shm + mount -t aufs none /new_root -o dirs=/dev/shm=rw:/new_root.hw=ro -o noatime + pkill -9 dropbear #kill SSH (in preparation for the live system starting ssh on port 22 +} diff --git a/extra/pre-build.d/usr/lib/initcpio/hooks/ssh b/extra/pre-build.d/usr/lib/initcpio/hooks/ssh new file mode 100644 index 0000000..2595634 --- /dev/null +++ b/extra/pre-build.d/usr/lib/initcpio/hooks/ssh @@ -0,0 +1,67 @@ +#!/usr/bin/ash + +run_hook () +{ + local line i address netmask gateway dns0 dns1 rootserver rootpath defaultrootpath defaultserver + + : > /ip_opts + + if [ -z "${ip}" -a -n "${nfsaddrs}" ]; then + ip="${nfsaddrs}" + fi + + if [ -n "${ip}" ]; then + # setup network and save some values + ipconfig "ip=${ip}" | while read line; do + if [ "${line#"IP-Config:"}" != "${line}" ]; then + continue + fi + + line="$(echo ${line} | sed -e 's/ :/:/g;s/: /=/g')" + + for i in ${line}; do + case "${i}" in + address=*) + echo "${i}" >> /ip_opts + ;; + netmask=*) + echo "${i}" >> /ip_opts + ;; + gateway=*) + echo "${i}" >> /ip_opts + ;; + dns0=*) + echo "${i}" >> /ip_opts + ;; + dns1=*) + echo "${i}" >> /ip_opts + ;; + rootserver=*) + echo "${i}" >> /ip_opts + ;; + rootpath=*) + echo "${i}" >> /ip_opts + ;; + esac + done + done + + echo "device=$(echo ${ip} | cut -d: -f6)" >> /ip_opts + fi + + . /ip_opts + + echo "IP-Config: ${address}/${netmask}" + echo "IP-Config: gw: ${gateway} dns0: ${dns0} dns1: ${dns1}" + + [ -d /dev/pts ] || mkdir -p /dev/pts + mount -t devpts devpts /dev/pts + + echo "Starting dropbear" + /usr/sbin/dropbear -E +} + +run_cleanuphook () +{ + pkill -9 dropbear +} diff --git a/extra/pre-build.d/usr/lib/initcpio/install/archiso-custom b/extra/pre-build.d/usr/lib/initcpio/install/archiso-custom new file mode 100644 index 0000000..e506271 --- /dev/null +++ b/extra/pre-build.d/usr/lib/initcpio/install/archiso-custom @@ -0,0 +1,23 @@ +#!/bin/bash + +build() { + add_module "cdrom" + add_module "loop" + add_module "dm-snapshot" + + add_runscript + + add_binary /usr/lib/udev/cdrom_id + add_binary blockdev + add_binary dmsetup + add_binary losetup + add_binary mountpoint + add_binary truncate + + add_file /usr/lib/udev/rules.d/60-cdrom_id.rules + add_file /usr/lib/udev/rules.d/10-dm.rules + add_file /usr/lib/udev/rules.d/95-dm-notify.rules + add_file /usr/lib/initcpio/udev/11-dm-initramfs.rules /usr/lib/udev/rules.d/11-dm-initramfs.rules +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/extra/pre-build.d/usr/lib/initcpio/install/livecd b/extra/pre-build.d/usr/lib/initcpio/install/livecd new file mode 100644 index 0000000..248e827 --- /dev/null +++ b/extra/pre-build.d/usr/lib/initcpio/install/livecd @@ -0,0 +1,21 @@ +#!/bin/bash + +build() +{ + add_module 'squashfs' + add_module 'loop' + add_module 'aufs' + + add_binary "sed" + add_binary "pkill" + + add_runscript + +} + +help() +{ + cat < "${TMPDIR}"/passwd +} + +build () +{ + # + # Begin real processing + # + + # Are we even needed? + if [ ! -e "/etc/dropbear/root_key" ]; then + echo "There is no root key in /etc/dropbear/root_key existent; exit" + return 0 + fi + + # if TMPDIR is set leave it alone otherwise set + [ -z $TMPDIR ] && TMPDIR='/tmp/dropbear_initrd_encrypt' + + # check if TMPDIR exsists if not make it + [ -d $TMPDIR ] || mkdir -p $TMPDIR + + umask 0022 + + [ -d /etc/dropbear ] && mkdir -p /etc/dropbear + + display_fingerprints || copy_openssh_keys || generate_keys + + [ -e "${TMPDIR}/passwd" ] && ( grep -q -e '^root:' "${TMPDIR}/passwd" ) || make_etc_passwd + + add_checked_modules "/drivers/net/" + add_binary "rm" + add_binary "dropbear" + add_binary "killall" + + echo '/bin/ash' > "${TMPDIR}"/shells + add_file "${TMPDIR}/shells" "/etc/shells" + + cat /etc/dropbear/root_key > "${TMPDIR}"/authorized_keys + + add_dir "/.ssh" + add_file "${TMPDIR}/authorized_keys" "/.ssh/authorized_keys" + add_file "${TMPDIR}/passwd" "/etc/passwd" + add_dir "/etc/dropbear" + add_file "/etc/dropbear/dropbear_rsa_host_key" + add_file "/etc/dropbear/dropbear_dss_host_key" + add_file "/lib/libnss_files.so.2" + add_binary "ip" "/sbin/ip" + add_dir "/var/run" + + touch "${TMPDIR}"/lastlog + add_dir "/var/log" + add_file "${TMPDIR}/lastlog" "/var/log/lastlog" + add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig" + + # cleanup + rm "${TMPDIR}/shells" + rm "${TMPDIR}/authorized_keys" + rm "${TMPDIR}/passwd" + rm "${TMPDIR}/lastlog" + + add_runscript + +} + +help () +{ + cat< ../../../usr/local/pacman.db.tar.xz + cd ${_CURDIR} + + # sync over new changes and trim out the fat + rsync -a --delete ${CHROOTDIR}/. ${BUILDDIR}/. + set +e + cp -af ${BUILDDIR}/usr/share/zoneinfo/EST5EDT ${BUILDDIR}/etc/localtime + cp -af ${CHROOTDIR}/usr/share/zoneinfo/EST5EDT ${CHROOTDIR}/etc/localtime + set -e + cp -af ${BUILDDIR}/usr/share/locale/locale.alias ${BUILDDIR}/tmp/. + echo "Cleaning up unnecessary cruft in ${BUILDDIR}..." + + rm -f ${BUILDDIR}/root/.bash_history + rm -f ${BUILDDIR}/root/.viminfo + #rm -f ${BUILDDIR}/etc/localtime + rm -f ${BUILDDIR}/root/.bashrc + # DISABLE when no longer building custom kernel + find ${BUILDDIR}/usr/lib/modules/ -maxdepth 1 -iname "*-ARCH" -exec rm -rf '{}' \; + rm -rf ${BUILDDIR}/usr/share/locale/* + mv -f ${BUILDDIR}/tmp/locale.alias ${BUILDDIR}/usr/share/locale/. + rm -rf ${BUILDDIR}/var/cache/pacman/* + rm -rf ${BUILDDIR}/var/cache/pkgfile/* + rm -rf ${BUILDDIR}/var/lib/pacman/* + mkdir -p ${BUILDDIR}/var/lib/pacman/local + rm -rf ${BUILDDIR}/var/abs/local/yaourtbuild/* + rm -rf ${BUILDDIR}/usr/share/zoneinfo + rm -rf ${BUILDDIR}/tmp/* + rm -rf ${BUILDDIR}/var/tmp/* + rm -rf ${BUILDDIR}/var/abs/* + rm -rf ${BUILDDIR}/run/* + rm -rf ${BUILDDIR}/boot/* + rm -rf ${BUILDDIR}/usr/src/* + rm -rf ${BUILDDIR}/var/log/* + rm -rf ${BUILDDIR}/.git + CHROOTDIR="${CHROOTDIR_GLOB}" + BUILDDIR="${BUILDDIR_GLOB}" +} + diff --git a/lib/06-centos_is_stupid.func.sh b/lib/06-centos_is_stupid.func.sh new file mode 100644 index 0000000..ab7b9a7 --- /dev/null +++ b/lib/06-centos_is_stupid.func.sh @@ -0,0 +1,70 @@ +function centos_is_stupid { + echo "Checking for appropriate kernel version and mksquashfs version..." + SQFS_VER=$(mksquashfs -version 2>&1 | head -n1 | awk '{print $3}' | sed -re 's/(^[0-9]*\.[0-9]*).*$/\1/g') + KERN_VER=$(uname -r | cut -f1 -d"-") + SQUASH_OPTS="-noappend -comp xz" + + set +e + ver_check() { + [ "$1" == "$2" ] && return 10 + ver1front=`echo $1 | cut -d "." -f -1` + ver1back=`echo $1 | cut -d "." -f 2-` + ver2front=`echo $2 | cut -d "." -f -1` + ver2back=`echo $2 | cut -d "." -f 2-` + if [ "$ver1front" != "$1" ] || [ "$ver2front" != "$2" ]; then + [ "$ver1front" -gt "$ver2front" ] && return 11 + [ "$ver1front" -lt "$ver2front" ] && return 9 + [ "$ver1front" == "$1" ] || [ -z "$ver1back" ] && ver1back=0 + [ "$ver2front" == "$2" ] || [ -z "$ver2back" ] && ver2back=0 + ver_check "$ver1back" "$ver2back" + return $? + else + [ "$1" -gt "$2" ] && return 11 || return 9 + fi + } + ver_check ${KERN_VER} "2.6.38" + KERNTEST=${?} + ver_check ${SQFS_VER} "4.2" + SQFSTEST=${?} + if [ ${KERNTEST} -lt "10" ]; + then + echo "You need a newer kernel to even think about doing this. (>= 2.6.38)" + echo "If you're on CentOS, there are 3.x branches available via the elrepo repository." + echo "I recommend the 'kernel-lt' package from there." + echo "Bailing out." + exit 1 + #elif [ ${SQFS_VER} -ge "4.2" ] && [ ${KERN_VER} -ge "2.6.38" ]; + elif [ ${SQFSTEST} -ge "10" ] && [ ${KERNTEST} -ge "10" ]; + then + #echo "Awesome; your mksquashfs (if found) is not less than v4.2." + SQUASH_CMD=$(which mksquashfs) + if [ ${?} != "0" ]; + then + echo "...Except you need to install whatever package you need to for mksquashfs." + exit 1 + else + SQUASH_CMD=$(which mksquashfs) + fi + elif [ ${SQFSTEST} -lt "10" ] && [ ${KERNTEST} -ge "10" ]; + then + if [ ! -f ${SRCDIR}/squashfs4.2/squashfs-tools/mksquashfs ]; + then + echo "Boy howdy. We need to compile a custom version of the squashfs-tools because you aren't running a version that supports XZ. Give me a second." + set -e + mkdir -p ${SRCDIR} ${ROOTDIR}/bin + cd ${SRCDIR} + #wget --quiet -O squashfs4.2.tar.gz "http://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.2/squashfs4.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsquashfs%2Ffiles%2F&ts=1387047818&use_mirror=hivelocity" + curl -o squashfs4.2.tar.gz "http://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.2/squashfs4.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsquashfs%2Ffiles%2F&ts=1387047818&use_mirror=hivelocity" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + tar -zxf squashfs4.2.tar.gz + cd squashfs4.2/squashfs-tools + make clean + sed -i -e 's/^#\(XZ_SUPPORT\)/\1/g' Makefile + make + SQUASH_CMD="${SRCDIR}/squashfs4.2/squashfs-tools/mksquashfs" + else + echo "Using custom-compiled mksquashfs from an earlier run." + SQUASH_CMD="${SRCDIR}/squashfs4.2/squashfs-tools/mksquashfs" + fi + fi + set -e +} diff --git a/lib/07-will_it_blend.func.sh b/lib/07-will_it_blend.func.sh new file mode 100644 index 0000000..c0d893f --- /dev/null +++ b/lib/07-will_it_blend.func.sh @@ -0,0 +1,77 @@ +function will_it_blend () { + local ARCHSUFFIX="${1}" + if [[ "${1}" == "64" ]]; + then + local CHROOTDIR="${CHROOTDIR}root.x86_64" + local BUILDDIR="${BUILDDIR}64" + local AIROOT="x86_64" + _CHROOT=${CHROOTDIR} + _BUILD=${BUILDDIR} + _AIROOT=${AIROOT} + elif [[ "${1}" == "32" ]]; + then + local CHROOTDIR="${CHROOTDIR}root.i686" + local BUILDDIR="${BUILDDIR}32" + local AIROOT="i686" + _CHROOT=${CHROOTDIR} + _BUILD=${BUILDDIR} + _AIROOT=${AIROOT} + else + echo "WHOOPS. We hit an error that makes no logical sense." + echo 'Dying.' + exit 1 + fi + + if [[ "${I_AM_A_RACECAR}" == "y" ]]; + then + RACECAR_CHK='nice -n "-19" ' + else + RACECAR_CHK="" + fi + + if [ "${CHROOTDIR}/root/.bash_history" -nt "${ARCHBOOT}/${AIROOT}/airootfs.sfs" ] || [ ! -d "${BUILDDIR}/root/" ]; + then + echo "Data is not sync'd to buildroot; syncing..." + CHROOTDIR="${CHROOTDIR_GLOB}" + BUILDDIR="${BUILDDIR_GLOB}" + jenny_craig ${ARCHSUFFIX} + CHROOTDIR="${_CHROOT}" + BUILDDIR="${_BUILD}" + fi + echo "[${ARCHSUFFIX}-bit] Now generating the squashed image (if we need to) and hashes. This may take some time." + BUILDDIR="${BUILDDIR_GLOB}" + local BUILDDIR="${BUILDDIR}${ARCHSUFFIX}" + + # now let's build the squashed image... and generate some checksums as well to verify download integrity. + mkdir -p ${ARCHBOOT}/${AIROOT} + + if [ ! -f "${ARCHBOOT}/${AIROOT}/airootfs.sfs" ] || [ "${CHROOTDIR}/root/.bash_history" -nt "${ARCHBOOT}/${AIROOT}/airootfs.sfs" ]; + then + echo "[${ARCHSUFFIX}-bit] Squashing filesystem. This can take a while depending on the size of your chroot(s)." + ${RACECAR_CHK}${SQUASH_CMD} ${BUILDDIR} ${ARCHBOOT}/${AIROOT}/airootfs.sfs ${SQUASH_OPTS} >> "${LOGFILE}.${FUNCNAME}" 2>&1 + cd ${ARCHBOOT}/${AIROOT} + ${RACECAR_CHK}sha256sum airootfs.sfs >> airootfs.sha256 + ${RACECAR_CHK}md5sum airootfs.sfs >> airootfs.md5 + cd ${ROOTDIR} + else + cd ${ROOTDIR} + fi + + # Generate the mtree spec. + # Not really necessary anymore. + #mtree -c -p ${ROOTDIR}/chroot -K flags,gid,mode,nlink,uid,link,time,type > ${ROOTDIR}/extra/mtree.spec + + # and now we copy stuff into the live directories + echo "[${ARCHSUFFIX}-bit] Copying files for PXE, and ISO building, please be patient." + #rm -rf ${TEMPDIR}/* + cp -af ${BASEDIR}/extra/${UXNAME}.png ${TEMPDIR}/. + cp -af ${BASEDIR}/extra/${UXNAME}.png ${TFTPDIR}/. + mkdir -p ${TEMPDIR}/boot + cp -af ${CHROOTDIR}/boot/initramfs-linux-${PNAME}.img ${TEMPDIR}/boot/${UXNAME}.${ARCHSUFFIX}.img + cp -af ${CHROOTDIR}/boot/vmlinuz-linux-${PNAME} ${TEMPDIR}/boot/${UXNAME}.${ARCHSUFFIX}.kern + cp -af ${CHROOTDIR}/boot/initramfs-linux-${PNAME}.img ${TFTPDIR}/${UXNAME}.${ARCHSUFFIX}.img + cp -af ${CHROOTDIR}/boot/vmlinuz-linux-${PNAME} ${TFTPDIR}/${UXNAME}.${ARCHSUFFIX}.kern + cp -af ${ARCHBOOT}/* ${HTTPDIR}/${DISTNAME}/. + chown -R ${HTTPUSR}:${HTTPGRP} ${HTTPDIR} + chown ${TFTPUSR}:${TFTPGRP} ${TFTPDIR}/${UXNAME}.* +} diff --git a/lib/08-stuffy.func.sh b/lib/08-stuffy.func.sh new file mode 100644 index 0000000..ff33b43 --- /dev/null +++ b/lib/08-stuffy.func.sh @@ -0,0 +1,106 @@ +function stuffy { + + cp -f ${BASEDIR}/VERSION_INFO.txt ${TEMPDIR}/. + + if [[ "${I_AM_A_RACECAR}" == "y" ]]; + then + RACECAR_CHK='nice -n "-19" ' + else + RACECAR_CHK="" + fi + + echo "Setting up EFI stuff..." + + mkdir -p ${TEMPDIR}/{EFI/{${DISTNAME},boot},loader/entries} + # this stuff comes from the prebootloader pkg and gummiboot pkg. lets us boot on UEFI machines with secureboot still enabled. + cp ${BASEDIR}/root.x86_64/usr/lib/prebootloader/PreLoader.efi ${TEMPDIR}/EFI/boot/bootx64.efi + cp ${BASEDIR}/root.x86_64/usr/lib/prebootloader/HashTool.efi ${TEMPDIR}/EFI/boot/. + cp ${BASEDIR}/root.x86_64/usr/lib/gummiboot/gummibootx64.efi ${TEMPDIR}/EFI/boot/loader.efi # TODO: can i use syslinux.efi instead? + + echo "Checking/fetching UEFI shells..." + if [ ! -f "${TEMPDIR}/EFI/shellx64_v2.efi" ]; + then + # EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell ) + curl -o ${TEMPDIR}/EFI/shellx64_v2.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + if [ ! -f "${TEMPDIR}/EFI/shellx64_v1.efi" ]; + then + # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell ) + curl -o ${TEMPDIR}/EFI/shellx64_v1.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + + # now for setting up loader config/entries. maybe add memtest or something in the future? i dunno. + cat > ${TEMPDIR}/loader/loader.conf << EOF +timeout 3 +default ${UXNAME}_ram +EOF + cat > ${TEMPDIR}/loader/entries/${UXNAME}_ram.conf << EOF +title ${PNAME} +linux /boot/${UXNAME}.kern +initrd /boot/${UXNAME}.img +options copytoram archisobasedir=${DISTNAME} archisolabel=${DISTNAME} +EOF + cat > ${TEMPDIR}/loader/entries/${UXNAME}.conf << EOF +title ${PNAME} (Run from media) +linux /boot/${UXNAME}.kern +initrd /boot/${UXNAME}.img +options archisobasedir=${DISTNAME} archisolabel=${DISTNAME} +EOF + cat > ${TEMPDIR}/loader/entries/uefi2.conf << EOF +title UEFI Shell (v2) +efi /EFI/shellx64_v2.efi +EOF + cat > ${TEMPDIR}/loader/entries/uefi1.conf << EOF +title UEFI Shell (v1) +efi /EFI/shellx64_v1.efi +EOF + + + # create the embedded efiboot FAT stuff + # how big should we make the disk? + echo "Generating the EFI embedded FAT filesystem..." + FTSIZE=$(du -sc ${TEMPDIR}/{boot,EFI,loader} | tail -n1 | awk '{print $1}') + FATSIZE=$((${FTSIZE} + 64)) # let's give a little wiggle room + ${RACECAR_CHK}truncate -s "${FATSIZE}"K ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img + ${RACECAR_CHK}mkfs.vfat -n ${DISTNAME}_EFI ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img >> "${LOGFILE}.${FUNCNAME}" 2>&1 + mkdir -p ${SRCDIR}/efiboot + mount ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img ${SRCDIR}/efiboot + mkdir -p ${SRCDIR}/efiboot/EFI/${DISTNAME} + cp ${TEMPDIR}/boot/${UXNAME}.64.kern ${SRCDIR}/efiboot/EFI/${DISTNAME}/${UXNAME}.efi + cp ${TEMPDIR}/boot/${UXNAME}.64.img ${SRCDIR}/efiboot/EFI/${DISTNAME}/${UXNAME}.img + mkdir -p ${SRCDIR}/efiboot/{EFI/boot,loader/entries} + # GETTING DEJA VU HERE. + cat > ${SRCDIR}/efiboot/loader/loader.conf << EOF +timeout 3 +default ${UXNAME}_ram +EOF + cat > ${SRCDIR}/efiboot/loader/entries/${UXNAME}_ram.conf << EOF +title ${PNAME} +linux /EFI/${DISTNAME}/${UXNAME}.efi +initrd /EFI/${DISTNAME}/${UXNAME}.img +options copytoram archisobasedir=${DISTNAME} archisolabel=${DISTNAME} +EOF + cat > ${SRCDIR}/efiboot/loader/entries/${UXNAME}.conf << EOF +title ${PNAME} (Run from media) +linux /EFI/${DISTNAME}/${UXNAME}.efi +initrd /EFI/${DISTNAME}/${UXNAME}.img +options archisobasedir=${DISTNAME} archisolabel=${DISTNAME} +EOF + cat > ${SRCDIR}/efiboot/loader/entries/uefi2.conf << EOF +title UEFI Shell (v2) +efi /EFI/shellx64_v2.efi +EOF + cat > ${SRCDIR}/efiboot/loader/entries/uefi1.conf << EOF +title UEFI Shell (v1) +efi /EFI/shellx64_v1.efi +EOF + + cp ${BASEDIR}/root.x86_64/usr/lib/prebootloader/PreLoader.efi ${SRCDIR}/efiboot/EFI/boot/bootx64.efi + cp ${BASEDIR}/root.x86_64/usr/lib/prebootloader/HashTool.efi ${SRCDIR}/efiboot/EFI/boot/. + cp ${BASEDIR}/root.x86_64/usr/lib/gummiboot/gummibootx64.efi ${SRCDIR}/efiboot/EFI/boot/loader.efi # TODO: can i use syslinux.efi instead? + cp ${TEMPDIR}/EFI/shellx64_v* ${SRCDIR}/efiboot/EFI/. + umount ${SRCDIR}/efiboot + echo "EFI configuration complete..." + +} + diff --git a/lib/09-yo_dj.func.sh b/lib/09-yo_dj.func.sh new file mode 100644 index 0000000..0295ba6 --- /dev/null +++ b/lib/09-yo_dj.func.sh @@ -0,0 +1,296 @@ +function yo_dj () { + ARCH="${1}" + echo "Building the actual .iso image. This may take a while." + im_batman + ISOFILENAME="${UXNAME}-${VERSION}.iso" + if [[ "${MULTIARCH}" == "y" ]]; + then + ISOFILENAME="${UXNAME}-${VERSION}-any.iso" + else + ISOFILENAME="${UXNAME}-${VERSION}-${ARCH}.iso" + fi + + if [[ "${I_AM_A_RACECAR}" == "y" ]]; + then + RACECAR_CHK='nice -n "-19" ' + else + RACECAR_CHK="" + fi + + # and why not? generate the ISO. + ## we need to generate the isolinux.cfg + mkdir -p ${TEMPDIR}/isolinux + if [[ "${MULTIARCH}" == "y" ]]; + then + ## MULTIARCH ISO + cat > ${TEMPDIR}/isolinux/isolinux.cfg << EOF +UI vesamenu.c32 +DEFAULT check +PROMPT 0 +TIMEOUT 50 +MENU HIDDEN +#ONTIMEOUT ${UXNAME}_ram +ONTIMEOUT check +MENU TABMSG Press [TAB] to edit options +#MENU TITLE ${PNAME} (ISO edition) +MENU ROWS 16 +MENU TIMEOUTROW 22 +MENU TABMSGROW 24 +MENU CMDLINEROW 24 +MENU HELPMSGROW 26 +MENU WIDTH 78 +MENU MARGIN 6 +MENU IMMEDIATE +# http://www.colorpicker.com/ +MENU color border 0 #00000000 #00000000 none +MENU color title 0 #FFF5B800 #00000000 std +MENU color sel 7;37;40 #FF000000 #FFFFFFFF all +MENU color hotsel 1;7;37;40 #FFFF0000 #FFC0C0C0 all +MENU color hotkey 1;7;37;40 #FF0000CC #FFC0C0C0 all +MENU color tabmsg 1;31;40 #FF808080 #00000000 std +MENU color help 1;31;40 #FFFFFFFF #FF000000 none +MENU color timeout_msg 0 #FFFFB300 #00000000 none +MENU color timeout 0 #FFFF0000 #FF000000 none +MENU color cmdline 0 #FFFFFFFF #FF000000 none +MENU color cmdmark 1;36;40 #C000FFFF #FF000000 std +MENU color scrollbar 30;44 #FF00FF00 #FF000000 std +MENU color msg07 0 #FF000000 #00FFFFFF none +MENU BACKGROUND /${UXNAME}.png + +LABEL check + MENU LABEL Your best supported kernel should be detected automatically. + COM32 ifcpu64.c32 + APPEND ${UXNAME}_ram_64 -- ${UXNAME}_ram_32 + MENU DEFAULT + + + +LABEL local_override + MENU LABEL Local ^Boot + localboot 0 + TEXT HELP + Boot from the local system instead. + ENDTEXT + +LABEL reboot + MENU LABEL ^Reboot + COM32 reboot.c32 + TEXT HELP + Reboot the machine + ENDTEXT + +MENU SEPARATOR + +## 64 BIT +MENU BEGIN 64BIT +MENU LABEL ^1) 64-Bit ... +ONTIMEOUT ${UXNAME}_ram_64 + +LABEL ${UXNAME}_ram_64 + MENU LABEL ^1) ${PNAME} (run from RAM) (Default) + LINUX /boot/${UXNAME}.64.kern + INITRD /boot/${UXNAME}.64.img + APPEND copytoram archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + 64-bit, run from RAM + ENDTEXT + MENU DEFAULT + +LABEL ${UXNAME}_64 + MENU LABEL ^1) ${PNAME} + LINUX /boot/${UXNAME}.64.kern + INITRD /boot/${UXNAME}.64.img + APPEND archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + Same as the above, except run directly from the CD- + don't copy the image to RAM. (Best for lower-memory boxes) + ENDTEXT + +MENU END + +MENU BEGIN 32BIT +MENU LABEL ^2) 32-Bit ... +ONTIMEOUT ${UXNAME}_ram_32 + +## 32 BIT +LABEL ${UXNAME}_ram_32 + MENU LABEL ^1) ${PNAME} (run from RAM) (Default) + LINUX /boot/${UXNAME}.32.kern + INITRD /boot/${UXNAME}.32.img + APPEND copytoram archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + 32-bit, run from RAM + ENDTEXT + MENU DEFAULT + +LABEL ${UXNAME}_32 + MENU LABEL ^2) ${PNAME} + LINUX /boot/${UXNAME}.32.kern + INITRD /boot/${UXNAME}.32.img + APPEND archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + Same as the above, except run directly from the CD- + don't copy the image to RAM. (Best for lower-memory boxes) + ENDTEXT + +MENU END +EOF + else + ## ARCH-SPECIFIC ISO + cat > ${TEMPDIR}/isolinux/isolinux.cfg << EOF +UI vesamenu.c32 +DEFAULT check +PROMPT 0 +TIMEOUT 50 +MENU HIDDEN +ONTIMEOUT ${UXNAME}_ram_${ARCH} +MENU TABMSG Press [TAB] to edit options +#MENU TITLE ${PNAME} (ISO edition) +MENU ROWS 16 +MENU TIMEOUTROW 22 +MENU TABMSGROW 24 +MENU CMDLINEROW 24 +MENU HELPMSGROW 26 +MENU WIDTH 78 +MENU MARGIN 6 +MENU IMMEDIATE +# http://www.colorpicker.com/ +MENU color border 0 #00000000 #00000000 none +MENU color title 0 #FFF5B800 #00000000 std +MENU color sel 7;37;40 #FF000000 #FFFFFFFF all +MENU color hotsel 1;7;37;40 #FFFF0000 #FFC0C0C0 all +MENU color hotkey 1;7;37;40 #FF0000CC #FFC0C0C0 all +MENU color tabmsg 1;31;40 #FF808080 #00000000 std +MENU color help 1;31;40 #FFFFFFFF #FF000000 none +MENU color timeout_msg 0 #FFFFB300 #00000000 none +MENU color timeout 0 #FFFF0000 #FF000000 none +MENU color cmdline 0 #FFFFFFFF #FF000000 none +MENU color cmdmark 1;36;40 #C000FFFF #FF000000 std +MENU color scrollbar 30;44 #FF00FF00 #FF000000 std +MENU color msg07 0 #FF000000 #00FFFFFF none +MENU BACKGROUND /${UXNAME}.png + +LABEL local_override + MENU LABEL Local ^Boot + localboot 0 + TEXT HELP + Boot from the local system instead. + ENDTEXT + +LABEL reboot + MENU LABEL ^Reboot + COM32 reboot.c32 + TEXT HELP + Reboot the machine + ENDTEXT + +MENU SEPARATOR + +MENU BEGIN ${ARCH}BIT +MENU LABEL ^1) ${ARCH}-Bit ... +ONTIMEOUT ${UXNAME}_ram_${ARCH} + +LABEL ${UXNAME}_ram_${ARCH} + MENU LABEL ^1) ${PNAME} (run from RAM) (Default) + LINUX /boot/${UXNAME}.${ARCH}.kern + INITRD /boot/${UXNAME}.${ARCH}.img + APPEND copytoram archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + ${ARCH}-bit, run from RAM + ENDTEXT + MENU DEFAULT + +LABEL ${UXNAME}_${ARCH} + MENU LABEL ^1) ${PNAME} + LINUX /boot/${UXNAME}.${ARCH}.kern + INITRD /boot/${UXNAME}.${ARCH}.img + APPEND archisobasedir=${DISTNAME} archisolabel=${DISTNAME} + TEXT HELP + Same as the above, except run directly from the CD- + don't copy the image to RAM. (Best for lower-memory boxes) + ENDTEXT + +MENU END +EOF + fi + + stuffy + + rm -f ${ISOFILENAME} + if [ "${ARCHBOOT}" != "${TEMPDIR}/${DISTNAME}" ]; + then + mkdir -p ${TEMPDIR}/${DISTNAME} + rsync -a --delete ${ARCHBOOT}/. ${TEMPDIR}/${DISTNAME}/. + fi + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/isolinux.bin ${TEMPDIR}/isolinux + #cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/isolinux-debug.bin ${TEMPDIR}/isolinux/isolinux.bin #debugging + #cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/* ${TEMPDIR}/isolinux/. #debugging + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/vesamenu.c32 ${TEMPDIR}/isolinux + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/linux.c32 ${TEMPDIR}/isolinux + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/reboot.c32 ${TEMPDIR}/isolinux + if [ -f ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/ldlinux.c32 ]; + then + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/ldlinux.c32 ${TEMPDIR}/isolinux + fi + if [ -f ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/libcom32.c32 ]; + then + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/libcom32.c32 ${TEMPDIR}/isolinux + fi + if [ -f ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/libutil.c32 ]; + then + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/libutil.c32 ${TEMPDIR}/isolinux + fi + if [ -f ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/ifcpu64.c32 ]; + then + cp -af ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/ifcpu64.c32 ${TEMPDIR}/isolinux + fi + cd ${TEMPDIR} + + cd .. + ${RACECAR_CHK}xorriso -as mkisofs \ +-quiet \ +`#-joliet` \ +`#-rock` \ +`#-omit-version-number` \ +`#-disable-deep-relocation` \ +-iso-level 3 \ +-full-iso9660-filenames \ +-volid "${DISTNAME}" \ +-appid "${DISTDESC}" \ +-publisher "${DISTPUB}" \ +`#-preparer "prepared by ${0}"` \ +-preparer "prepared by ${DISTPUB}" \ +-eltorito-boot isolinux/isolinux.bin \ +-eltorito-catalog isolinux/boot.cat \ +`#-isohybrid-mbr ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/isohdpfx.bin` \ +-no-emul-boot \ +-boot-load-size 4 \ +-boot-info-table \ +-isohybrid-mbr ${BASEDIR}/root.x86_64/usr/lib/syslinux/bios/isohdpfx.bin \ +-eltorito-alt-boot \ +-e EFI/${DISTNAME}/efiboot.img \ +-no-emul-boot \ +`#--efi-boot EFI/${DISTNAME}/efiboot.img` \ +-isohybrid-gpt-basdat \ +-output "${ISODIR}/${ISOFILENAME}" "${TEMPDIR}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + + + #isohybrid ${ISOFILENAME} + cd ${ISODIR} + ${RACECAR_CHK}sha256sum ${ISOFILENAME} > ${ISOFILENAME}.sha256 + cd .. + echo "ISO generated; size is $(ls -lh ${ISODIR}/${ISOFILENAME} | awk '{print $5}')." + echo "SHA256 sum is: $(awk '{print $1}' ${ISODIR}/${ISOFILENAME}.sha256)" + echo "You can find it at ${ISODIR}/${ISOFILENAME}" + #rm -rf ${TEMPDIR}/* + + # are we rsyncing? + if [ -n "${RSYNC_HOST}" ]; + then + rsync -a ${TFTPDIR}/. ${RSYNC_HOST}:${RSYNC_DEST}/tftpboot/. + rsync -a ${HTTPDIR}/. ${RSYNC_HOST}:${RSYNC_DEST}/http/. +# rsync -a ${TEMPDIR}/boot/${UXNAME}.* ${RSYNC_HOST}:${RSYNC_DEST}/http/. + rsync -a ${ISODIR}/. ${RSYNC_HOST}:${RSYNC_DEST}/iso/. + rsync -a ${ROOTDIR}/extra/. ${RSYNC_HOST}:${RSYNC_DEST}/extra/. + fi +} diff --git a/lib/10-mentos.func.sh b/lib/10-mentos.func.sh new file mode 100644 index 0000000..f5f47b5 --- /dev/null +++ b/lib/10-mentos.func.sh @@ -0,0 +1,104 @@ +function mentos { + # Freshen up the chroots to git's HEAD. Package lists, overlay, etc. + sed -i -e '/base-devel/d ; /multilib-devel/d' ${BASEDIR}/extra/packages.* + # both + echo "Installing common packages..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.both | tr '\n' ' ') + + if [ -f "/usr/bin/systemd-nspawn" ]; + then + CHROOTCMD="systemd-nspawn -D" + else + CHROOTCMD="${CHROOTDIR64}/bin/arch-chroot" + fi + + if [[ "${I_AM_A_RACECAR}" == "y" ]]; + then + RACECAR_CHK='nice -n "-19" ' + else + RACECAR_CHK="" + fi + + if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer ${BASEDIR}/root.x86_64/boot/vmlinuz-linux-${PNAME}) ]]; + then + touch ${LOCKFILE} + sleep 2 + find ${BASEDIR}/extra/pre-build.d/ -exec touch '{}' \; + rsync -a ${BASEDIR}/extra/pre-build.d/64/. ${BASEDIR}/root.x86_64/. + rsync -a ${BASEDIR}/extra/pre-build.d/32/. ${BASEDIR}/root.i686/. + find ${BASEDIR}/root.x86_64/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + find ${BASEDIR}/root.i686/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + fi + + for i in ${CHROOTDIR32} ${CHROOTDIR64}; + do + echo -n "...Packages installing/upgrading to ${i}..." + local INSTKERN=$(file ${i}/boot/vmlinuz-linux-${PNAME} | awk '{print $9}' | cut -f1 -d"-") + local MIRROR=$(egrep '^Server' ${i}/etc/pacman.d/mirrorlist | head -n1 | sed -e 's/^Server\ =\ //g ; s#$repo.*#core/os/x86_64/#g') + local NEWKERN=$(curl -s "${MIRROR}" | grep linux | awk '{print $3}' | cut -f2 -d\" | egrep '^linux-[0-9].*pkg.tar.xz$' | cut -f2 -d"-") + + if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer ${BASEDIR}/root.x86_64/boot/vmlinuz-linux-${PNAME}) ]] || [[ "${INSTKERN}" != "${NEWKERN}" ]]; + then + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -Syyua --noconfirm --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + else + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -Syyua --noconfirm --devel --ignore linux,linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -S --needed --ignore linux,linux-${PNAME} --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + #${CHROOTCMD} ${i}/ bash -c "yaourt -S --needed --noconfirm ${PKGLIST}" + if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer root.x86_64/boot/vmlinuz-linux-${PNAME}) ]]; + then + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + echo "Done." + done + + # we need to set -e for the following as they may fail. + # 32-bit + echo "Installing packages for 32-bit..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ') + if [ -n "${PKGLIST}" ]; + then + ${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + + # 64-bit + echo "Installing packages for 64-bit..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ') + if [ -n "${PKGLIST}" ]; + then + ${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + #${CHROOTCMD} ${CHROOTDIR64}/ bash -c "yaourt -S --needed --noconfirm ${PKGLIST}" + echo "Syncing overlay..." + rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/. + echo "Done." + + echo "Syncing overlay..." + touch ${LOCKFILE} + sleep 2 + find ${BASEDIR}/overlay -exec touch '{}' \; + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/overlay/. ${CHROOTDIR64}/. + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/overlay/. ${CHROOTDIR32}/. + rsync -a ${BASEDIR}/overlay/32/. ${CHROOTDIR32}/. + rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/. + find ${CHROOTDIR64}/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + find ${CHROOTDIR32}/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + chown -R 1000:1000 ${CHROOTDIR32}/home/${REGUSR} + chown -R 1000:1000 ${CHROOTDIR64}/home/${REGUSR} + find ${CHROOTDIR64}/home/${REGUSR}/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR64}/home/${REGUSR}/ -type f -exec chmod 600 '{}' \; + find ${CHROOTDIR32}/home/${REGUSR}/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR32}/home/${REGUSR}/ -type f -exec chmod 600 '{}' \; + chown -R 0:0 ${CHROOTDIR32}/root + chown -R 0:0 ${CHROOTDIR64}/root + find ${CHROOTDIR64}/root/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \; + find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \; + echo "Done." + +} diff --git a/lib/mk.chroot.sh b/lib/mk.chroot.sh new file mode 100755 index 0000000..cea914a --- /dev/null +++ b/lib/mk.chroot.sh @@ -0,0 +1,275 @@ +#!/bin/bash + +function mkchroot { + + # just in case we don't inherit. + if [[ -z "${FUNCNAME}" ]]; + then + FUNCNAME='mkchroot-standalone' + fi + + ## Import settings + if [ -f "build.conf" ]; + then + echo "Now importing settings/variables." + set -e + source build.conf + set +e + else + echo "You have not configured a build.conf OR you are not running from the project's root directory (the git repository's working directory)." + echo "If you are indeed in the correct directory, you may copy the sample at ../extra/build.conf.sample," + echo "edit it for appropriate values, and copy to /build.conf" + echo 'This error is fatal. Dying.' + exit 1 + fi + + if [[ ${EUID} -ne 0 ]]; + then + #echo "This script must be run as root" 1>&2 + echo "This script must be run as root." + exit 1 + fi + + if [ -z "${BASEDIR}" ]; + then + echo 'You need to export the directory ("$BASEDIR") which will hold the chroots and the git project directory.' + echo "(don't worry, there's a .gitignore for the chroots)" + echo "e.g. export BASEDIR=\"/opt/dev/work/client-diag-disc/\"" + echo 'Dying.' + exit 1 + fi + + if [ ! -d "${BASEDIR}" ]; + then + echo "You need to make sure ${BASEDIR} is a valid, existing directory. This script does not automatically create it as a sanity measure." + echo 'Dying.' + exit 1 + fi + + if [[ "${EUID}" != "0" ]]; + then + echo "This script must be run as root." + echo 'Dying.' + exit 1 + fi + + if [ -f ${LOCKFILE} ]; + then + echo "Script already running, stale lockfile present, or an error occurred during last run." + echo "Please clear ${LOCKFILE} by hand before attempting another build." + echo -n "Timestamp of lockfile is: " + ls -l ${LOCKFILE} | awk '{print $6" "$7" "$8}' + exit 1 + else + touch ${LOCKFILE} + fi + + if [ -f "/usr/bin/systemd-nspawn" ]; + then + CHROOTCMD="systemd-nspawn -D" + else + CHROOTCMD="${CHROOTDIR64}/bin/arch-chroot" + fi + + if [[ "${I_AM_A_RACECAR}" == "y" ]]; + then + RACECAR_CHK='nice -n "-19" ' + else + RACECAR_CHK="" + fi + + cd "${BASEDIR}" + + ## Set some vars. + MIRROR='http://mirrors.kernel.org/archlinux' + RLSDIR="${MIRROR}/iso/latest" + + CURRLS64=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | awk '{print $2}' | grep 'x86_64') + CKSUM64=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | grep x86_64 | awk '{print $1}') + CURRLS32=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | awk '{print $2}' | grep 'i686') + CKSUM32=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | grep i686 | awk '{print $1}') + + ## Fetch latest tarball release + echo "Checking/fetching snapshots..." + if [ -f "latest.64.tar.gz" ]; + then + LOCSUM64=$(sha1sum latest.64.tar.gz | awk '{print $1}') + if [[ "${CKSUM64}" != "${LOCSUM64}" ]]; + then + echo "WARNING: CHECKSUMS DON'T MATCH." + echo "Local: ${LOCSUM64}" + echo "Remote: ${CKSUM64}" + echo "Fetching fresh copy." + curl -o latest.64.tar.gz "${RLSDIR}/${CURRLS64}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + else + curl -o latest.64.tar.gz "${RLSDIR}/${CURRLS64}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + + if [ -f "latest.32.tar.gz" ]; + then + LOCSUM32=$(sha1sum latest.32.tar.gz | awk '{print $1}') + if [[ "${CKSUM32}" != "${LOCSUM32}" ]]; + then + echo "WARNING: CHECKSUMS DON'T MATCH." + echo "Local: ${LOCSUM32}" + echo "Remote: ${CKSUM32}" + echo "Fetching fresh copy." + curl -o latest.32.tar.gz "${RLSDIR}/${CURRLS32}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + else + curl -o latest.32.tar.gz "${RLSDIR}/${CURRLS32}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + + if [ ! -f "${CHROOTDIR32}/etc/pacman.d/gnupg/trustdb.gpg" ] || [ ! -f "${CHROOTDIR64}/etc/pacman.d/gnupg/trustdb.gpg" ]; + then + # Now let's ${BASEDIR}/extract that shit + echo "Extracting snapshots. This will take a while..." + ## 64-bit + tar -xpzf latest.64.tar.gz + ## 32-bit + tar -xpzf latest.32.tar.gz + + # And configure the package manager + echo "Configuring snapshots..." + touch ${LOCKFILE} + sleep 2 + find ${BASEDIR}/extra/pre-build.d/ -exec touch '{}' \; + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/extra/pre-build.d/. ${BASEDIR}/root.x86_64/. + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/extra/pre-build.d/. ${BASEDIR}/root.i686/. + rsync -a ${BASEDIR}/extra/pre-build.d/64/. ${BASEDIR}/root.x86_64/. + rsync -a ${BASEDIR}/extra/pre-build.d/32/. ${BASEDIR}/root.i686/. + chmod -f 755 ${BASEDIR}/extra/pre-build.d/{32/,64/,}etc/customizepkg.d/* + find ${BASEDIR}/root.x86_64/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + find ${BASEDIR}/root.i686/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + for i in i686 x86_64; + do + cat > ${BASEDIR}/root.${i}/etc/os-release << EOF +NAME="Arch Linux" +ID=arch +PRETTY_NAME="Arch Linux" +ANSI_COLOR="0;36" +HOME_URL="https://www.archlinux.org/" +SUPPORT_URL="https://bbs.archlinux.org/" +BUG_REPORT_URL="https://bugs.archlinux.org/" +EOF + done + + # And make it usable. + echo "Initializing chroots..." + + for i in ${CHROOTDIR32} ${CHROOTDIR64}; + do + echo "Prepping ${i}. This will take a while..." + echo -n "...Key initializing..." + ${CHROOTCMD} ${i}/ ${RACECAR_CHK}pacman-key --init >> "${LOGFILE}.${FUNCNAME}" 2>&1 + echo "Done." + echo -n "...Importing keys..." + ${CHROOTCMD} ${i}/ ${RACECAR_CHK}pacman-key --populate archlinux >> "${LOGFILE}.${FUNCNAME}" 2>&1 + echo "Done." + echo -n "...Installing base packages..." + #${CHROOTCMD} ${i}/ pacstrap -dGcM base + # if that doesn't work, + + ${CHROOTCMD} ${i}/ pacman -Syy >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + ${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + echo "Done." + echo -n "...Upgrading any outdated packages..." + ${CHROOTCMD} ${i}/ ${RACECAR_CHK}pacman -Syyu --noconfirm >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + echo "Done. Finishing/cleaning up..." + ${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + ${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base-devel >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + done + ${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -R gcc-libs libtool' >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -S multilib-devel' >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + + # preprocessing + sed -i -e '/base-devel/d ; /multilib-devel/d' ${BASEDIR}/extra/packages.* + # both + echo "Installing common packages..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.both | tr '\n' ' ') + for i in ${CHROOTDIR32} ${CHROOTDIR64}; + do + echo -n "...Packages installing to ${i}..." + ${CHROOTCMD} ${i}/ bash -c "yaourt -S --needed --noconfirm customizepkg-scripting" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + echo -n "Compiling kernel sources..." + set +e + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -S --needed --noconfirm linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + set -e + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + echo -n "Regular packages..." + set +e + ${CHROOTCMD} ${i}/ bash -c "yes '' | ${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + set -e + for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done + echo -n "...Creating ${REGUSR} user..." + ${CHROOTCMD} ${i}/ useradd -m -s /bin/bash -c "Default user" ${REGUSR} >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ usermod -aG users,games,video,audio ${REGUSR} >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ passwd -d ${REGUSR} >> "${LOGFILE}.${FUNCNAME}" 2>&1 + mkdir -p ${i}/etc/sudoers.d ; chmod 750 ${i}/etc/sudoers.d + echo "${REGUSR} ALL=(ALL) ALL" >> ${i}/etc/sudoers.d/${REGUSR} + echo "Done." + done + + for i in ${CHROOTDIR32} ${CHROOTDIR64}; + do + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + done + + # 32-bit + echo "Installing packages for 32-bit..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ') + if [ -n "${PKGLIST}" ]; + then + ${CHROOTCMD} ${CHROOTDIR32}/ bash -c "${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + echo "Done." + + # 64-bit + echo "Installing packages for 64-bit..." + PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ') + if [ -n "${PKGLIST}" ]; + then + ${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + fi + for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done + echo "Done." + + echo "Syncing overlay..." + touch ${LOCKFILE} + sleep 2 + find ${BASEDIR}/overlay -exec touch '{}' \; + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/overlay/. ${CHROOTDIR64}/. + rsync -a --exclude '/32' --exclude '/64' ${BASEDIR}/overlay/. ${CHROOTDIR32}/. + rsync -a ${BASEDIR}/overlay/32/. ${CHROOTDIR32}/. + rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/. + find ${CHROOTDIR64}/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + find ${CHROOTDIR32}/ -newer ${LOCKFILE} -exec chown -R root:root '{}' \; + chown -R 1000:1000 ${CHROOTDIR32}/home/${REGUSR} + chown -R 1000:1000 ${CHROOTDIR64}/home/${REGUSR} + find ${CHROOTDIR64}/home/${REGUSR}/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR64}/home/${REGUSR}/ -type f -exec chmod 600 '{}' \; + find ${CHROOTDIR32}/home/${REGUSR}/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR32}/home/${REGUSR}/ -type f -exec chmod 600 '{}' \; + find ${CHROOTDIR64}/root/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \; + find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \; + find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \; + echo "Done." + + + rm -f ${LOCKFILE} + + echo "Chroot setup complete." + +} + +mkchroot diff --git a/overlay/32/.keepme b/overlay/32/.keepme new file mode 100644 index 0000000..e69de29 diff --git a/overlay/64/.keepme b/overlay/64/.keepme new file mode 100644 index 0000000..e69de29 diff --git a/overlay/etc/lxdm/lxdm.conf b/overlay/etc/lxdm/lxdm.conf new file mode 100644 index 0000000..0bf1b07 --- /dev/null +++ b/overlay/etc/lxdm/lxdm.conf @@ -0,0 +1,62 @@ +[base] +## uncomment and set autologin username to enable autologin +#autologin=bdisk + +## uncomment and set timeout to enable timeout autologin, +## the value should >=5 +# timeout=10 + +## default session or desktop used when no systemwide config +# session=/usr/bin/startlxde + +## uncomment and set to set numlock on your keyboard +# numlock=0 + +## set this if you don't want to put xauth file at ~/.Xauthority +# xauth_path=/tmp + +# not ask password for users who have empty password +# skip_password=1 + +## greeter used to welcome the user +greeter=/usr/lib/lxdm/lxdm-greeter-gtk + +[server] +## arg used to start xserver, not fully function +arg=/usr/bin/X -background vt1 +# uncomment this if you really want xserver listen to tcp +# tcp_listen=1 +# uncoment this if you want reset the xserver after logou +# reset=1 + +[display] +## gtk theme used by greeter +gtk_theme=Clearlooks + +## background of the greeter +# bg=/usr/share/backgrounds/default.png + +## if show bottom pane +bottom_pane=1 + +## if show language select control +lang=1 + +## if show keyboard layout select control +keyboard=0 + +## the theme of greeter +theme=Industrial + +[input] + +[userlist] +## if disable the user list control at greeter +disable=0 + +## whitelist user +white= + +## blacklist user +black= + diff --git a/overlay/etc/systemd/scripts/livecd.fix.sh b/overlay/etc/systemd/scripts/livecd.fix.sh new file mode 100755 index 0000000..6778424 --- /dev/null +++ b/overlay/etc/systemd/scripts/livecd.fix.sh @@ -0,0 +1,9 @@ +#/bin/sh - + +#chmod 4755 /opt/google/chrome-beta/chrome-sandbox +mkdir -p /var/db/sudo/lectured +touch /var/db/sudo/lectured/bdisk +chmod 700 /var/db/sudo/lectured +chgrp bdisk /var/db/sudo/lectured/bdisk +chmod 600 /var/db/sudo/lectured/bdisk +chmod 4755 /usr/bin/sudo diff --git a/overlay/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service b/overlay/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/overlay/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service b/overlay/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service new file mode 120000 index 0000000..a7e5cd4 --- /dev/null +++ b/overlay/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-dispatcher.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/getty.target.wants/getty@tty1.service b/overlay/etc/systemd/system/getty.target.wants/getty@tty1.service new file mode 120000 index 0000000..7bfe080 --- /dev/null +++ b/overlay/etc/systemd/system/getty.target.wants/getty@tty1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/getty@.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/getty@tty1.service.d/autologin.conf b/overlay/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..5ca0405 --- /dev/null +++ b/overlay/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,5 @@ +#[Service] +##Type=simple +#Type=idle +#ExecStart= +#ExecStart=-/usr/bin/agetty --autologin bdisk --noclear %I 38400 linux diff --git a/overlay/etc/systemd/system/livecdfix.service b/overlay/etc/systemd/system/livecdfix.service new file mode 100644 index 0000000..d316dd5 --- /dev/null +++ b/overlay/etc/systemd/system/livecdfix.service @@ -0,0 +1,11 @@ +[Unit] +Description=Various LiveCD fixes +After=pacmandb.service + +[Service] +Type=oneshot +ExecStart=/bin/bash /etc/systemd/scripts/livecd.fix.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/overlay/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/overlay/etc/systemd/system/multi-user.target.wants/NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/overlay/etc/systemd/system/multi-user.target.wants/NetworkManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/multi-user.target.wants/livecdfix.service b/overlay/etc/systemd/system/multi-user.target.wants/livecdfix.service new file mode 120000 index 0000000..60d5b4a --- /dev/null +++ b/overlay/etc/systemd/system/multi-user.target.wants/livecdfix.service @@ -0,0 +1 @@ +/etc/systemd/system/livecdfix.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/multi-user.target.wants/pacmandb.service b/overlay/etc/systemd/system/multi-user.target.wants/pacmandb.service new file mode 120000 index 0000000..16e5cce --- /dev/null +++ b/overlay/etc/systemd/system/multi-user.target.wants/pacmandb.service @@ -0,0 +1 @@ +/etc/systemd/system/pacmandb.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/multi-user.target.wants/sshd.service b/overlay/etc/systemd/system/multi-user.target.wants/sshd.service new file mode 120000 index 0000000..d21ebd9 --- /dev/null +++ b/overlay/etc/systemd/system/multi-user.target.wants/sshd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd.service \ No newline at end of file diff --git a/overlay/etc/systemd/system/pacmandb.service b/overlay/etc/systemd/system/pacmandb.service new file mode 100644 index 0000000..870e6dd --- /dev/null +++ b/overlay/etc/systemd/system/pacmandb.service @@ -0,0 +1,10 @@ +[Unit] +Description=Restoring Installed Packages DB + +[Service] +Type=oneshot +ExecStart=/usr/bin/tar -Jxf /usr/local/pacman.db.tar.xz -C /var/lib/pacman/ +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target