From 1ce9f57b8e1631fdab41144982dc2b315352b36a Mon Sep 17 00:00:00 2001 From: Nick Schuch Date: Sun, 16 Nov 2025 19:55:38 +1000 Subject: [PATCH 1/6] Reworking --- .../{release.yml => release-extension.yml} | 2 +- .github/workflows/release-sidecar.yml | 86 ++++++++++++++++++ .../.devcontainer}/Dockerfile | 0 .../.devcontainer}/devcontainer.json | 0 extension/.dockerignore | 2 + extension/.gitignore | 1 + extension/Dockerfile | 31 +++++++ extension/mise.toml | 15 +++ extension/noteutils.yml | 42 +++++++++ extension/validate.sh | 43 --------- mise.toml | 73 --------------- tracing/.devcontainer/Dockerfile | 28 ++++++ tracing/.devcontainer/devcontainer.json | 15 +++ .dockerignore => tracing/.dockerignore | 0 .gitignore => tracing/.gitignore | 0 .golangci.yml => tracing/.golangci.yml | 0 Dockerfile => tracing/Dockerfile | 8 +- {cli => tracing/cli}/app/app.go | 0 {cli => tracing/cli}/app/color/color.go | 0 .../cli}/app/component/span/span.go | 0 .../cli}/app/component/span/utils.go | 0 .../cli}/app/component/table/delegate.go | 2 +- {cli => tracing/cli}/app/events/log.go | 0 {cli => tracing/cli}/app/events/trace.go | 4 +- {cli => tracing/cli}/app/footer.go | 2 +- {cli => tracing/cli}/app/init.go | 2 +- {cli => tracing/cli}/app/logger/logger.go | 2 +- {cli => tracing/cli}/app/logs.go | 4 +- {cli => tracing/cli}/app/menu.go | 2 +- {cli => tracing/cli}/app/metadata.go | 4 +- {cli => tracing/cli}/app/model.go | 2 +- {cli => tracing/cli}/app/search.go | 4 +- {cli => tracing/cli}/app/spans.go | 6 +- {cli => tracing/cli}/app/time/time.go | 0 {cli => tracing/cli}/app/totals.go | 4 +- .../cli}/app/tracer/extension/extension.go | 8 +- {cli => tracing/cli}/app/tracer/http/http.go | 6 +- {cli => tracing/cli}/app/tracer/tracer.go | 6 +- {cli => tracing/cli}/app/update.go | 2 +- {cli => tracing/cli}/app/update_key_enter.go | 2 +- {cli => tracing/cli}/app/update_key_left.go | 0 {cli => tracing/cli}/app/update_key_right.go | 0 {cli => tracing/cli}/app/update_log.go | 2 +- {cli => tracing/cli}/app/update_trace.go | 2 +- .../cli}/app/update_window_size.go | 0 {cli => tracing/cli}/app/view.go | 0 {cli => tracing/cli}/main.go | 8 +- {collector => tracing/collector}/.gitignore | 0 {collector => tracing/collector}/collector.go | 4 +- .../extension/discovery/discovery.go | 0 .../collector}/includes/.gitignore | 0 {collector => tracing/collector}/logger.go | 0 {collector => tracing/collector}/manager.go | 4 +- .../collector}/manager_test.go | 2 +- .../collector}/scripts/bpftmpl/elf/notes.go | 0 .../scripts/bpftmpl/elf/notes_test.go | 0 .../collector}/scripts/bpftmpl/main.go | 4 +- .../scripts/bpftmpl/replace/replace.go | 2 +- .../scripts/bpftmpl/replace/replace_test.go | 2 +- {collector => tracing/collector}/sink/sink.go | 2 +- .../collector}/template.bpf.c | 0 {collector => tracing/collector}/usdt/usdt.go | 0 {collector => tracing/collector}/usdt/util.go | 0 tracing/compass.so | Bin 0 -> 468328 bytes go.mod => tracing/go.mod | 18 ++-- go.sum => tracing/go.sum | 26 +++--- tracing/mise.toml | 34 +++++++ {scripts => tracing/scripts}/generate.sh | 2 +- .../sidecar}/broadcaster/broadcaster.go | 2 +- {sidecar => tracing/sidecar}/main.go | 6 +- {trace => tracing/trace}/count/trace.go | 4 +- {trace => tracing/trace}/count/types.go | 2 +- {trace => tracing/trace}/segmented/trace.go | 2 +- {trace => tracing/trace}/segmented/types.go | 2 +- {trace => tracing/trace}/trace.go | 0 75 files changed, 333 insertions(+), 205 deletions(-) rename .github/workflows/{release.yml => release-extension.yml} (98%) create mode 100644 .github/workflows/release-sidecar.yml rename {.devcontainer => extension/.devcontainer}/Dockerfile (100%) rename {.devcontainer => extension/.devcontainer}/devcontainer.json (100%) create mode 100644 extension/.dockerignore create mode 100644 extension/Dockerfile create mode 100644 extension/mise.toml create mode 100644 extension/noteutils.yml delete mode 100644 extension/validate.sh delete mode 100644 mise.toml create mode 100644 tracing/.devcontainer/Dockerfile create mode 100644 tracing/.devcontainer/devcontainer.json rename .dockerignore => tracing/.dockerignore (100%) rename .gitignore => tracing/.gitignore (100%) rename .golangci.yml => tracing/.golangci.yml (100%) rename Dockerfile => tracing/Dockerfile (81%) rename {cli => tracing/cli}/app/app.go (100%) rename {cli => tracing/cli}/app/color/color.go (100%) rename {cli => tracing/cli}/app/component/span/span.go (100%) rename {cli => tracing/cli}/app/component/span/utils.go (100%) rename {cli => tracing/cli}/app/component/table/delegate.go (93%) rename {cli => tracing/cli}/app/events/log.go (100%) rename {cli => tracing/cli}/app/events/trace.go (86%) rename {cli => tracing/cli}/app/footer.go (93%) rename {cli => tracing/cli}/app/init.go (85%) rename {cli => tracing/cli}/app/logger/logger.go (95%) rename {cli => tracing/cli}/app/logs.go (83%) rename {cli => tracing/cli}/app/menu.go (97%) rename {cli => tracing/cli}/app/metadata.go (94%) rename {cli => tracing/cli}/app/model.go (93%) rename {cli => tracing/cli}/app/search.go (83%) rename {cli => tracing/cli}/app/spans.go (90%) rename {cli => tracing/cli}/app/time/time.go (100%) rename {cli => tracing/cli}/app/totals.go (93%) rename {cli => tracing/cli}/app/tracer/extension/extension.go (80%) rename {cli => tracing/cli}/app/tracer/http/http.go (88%) rename {cli => tracing/cli}/app/tracer/tracer.go (84%) rename {cli => tracing/cli}/app/update.go (95%) rename {cli => tracing/cli}/app/update_key_enter.go (88%) rename {cli => tracing/cli}/app/update_key_left.go (100%) rename {cli => tracing/cli}/app/update_key_right.go (100%) rename {cli => tracing/cli}/app/update_log.go (77%) rename {cli => tracing/cli}/app/update_trace.go (83%) rename {cli => tracing/cli}/app/update_window_size.go (100%) rename {cli => tracing/cli}/app/view.go (100%) rename {cli => tracing/cli}/main.go (92%) rename {collector => tracing/collector}/.gitignore (100%) rename {collector => tracing/collector}/collector.go (97%) rename {collector => tracing/collector}/extension/discovery/discovery.go (100%) rename {collector => tracing/collector}/includes/.gitignore (100%) rename {collector => tracing/collector}/logger.go (100%) rename {collector => tracing/collector}/manager.go (97%) rename {collector => tracing/collector}/manager_test.go (98%) rename {collector => tracing/collector}/scripts/bpftmpl/elf/notes.go (100%) rename {collector => tracing/collector}/scripts/bpftmpl/elf/notes_test.go (100%) rename {collector => tracing/collector}/scripts/bpftmpl/main.go (84%) rename {collector => tracing/collector}/scripts/bpftmpl/replace/replace.go (97%) rename {collector => tracing/collector}/scripts/bpftmpl/replace/replace_test.go (96%) rename {collector => tracing/collector}/sink/sink.go (88%) rename {collector => tracing/collector}/template.bpf.c (100%) rename {collector => tracing/collector}/usdt/usdt.go (100%) rename {collector => tracing/collector}/usdt/util.go (100%) create mode 100755 tracing/compass.so rename go.mod => tracing/go.mod (82%) rename go.sum => tracing/go.sum (91%) create mode 100644 tracing/mise.toml rename {scripts => tracing/scripts}/generate.sh (79%) rename {sidecar => tracing/sidecar}/broadcaster/broadcaster.go (98%) rename {sidecar => tracing/sidecar}/main.go (97%) rename {trace => tracing/trace}/count/trace.go (94%) rename {trace => tracing/trace}/count/types.go (94%) rename {trace => tracing/trace}/segmented/trace.go (97%) rename {trace => tracing/trace}/segmented/types.go (96%) rename {trace => tracing/trace}/trace.go (100%) diff --git a/.github/workflows/release.yml b/.github/workflows/release-extension.yml similarity index 98% rename from .github/workflows/release.yml rename to .github/workflows/release-extension.yml index 352bff32..5735c69a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release-extension.yml @@ -1,4 +1,4 @@ -name: "📋 Release" +name: "📋 Release Extension" on: push: diff --git a/.github/workflows/release-sidecar.yml b/.github/workflows/release-sidecar.yml new file mode 100644 index 00000000..5735c69a --- /dev/null +++ b/.github/workflows/release-sidecar.yml @@ -0,0 +1,86 @@ +name: "📋 Release Extension" + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+[0-9A-Za-z]?' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: ubuntu-latest + arch: amd64 + - os: ubuntu-24.04-arm + arch: arm64 + + permissions: + contents: read + packages: write + attestations: write + id-token: write + + steps: + - name: ⬇️ Git clone the repository + uses: actions/checkout@v4 + + - name: 🔐 Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: 📦 Build + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + docker build --no-cache --build-arg=PHP_VERSION=8.4 -t ${IMAGE}-php8.4-${{ matrix.arch }} . + docker build --no-cache --build-arg=PHP_VERSION=8.3 -t ${IMAGE}-php8.3-${{ matrix.arch }} . + docker build --no-cache --build-arg=PHP_VERSION=8.2 -t ${IMAGE}-php8.2-${{ matrix.arch }} . + docker build --no-cache --build-arg=PHP_VERSION=8.1 -t ${IMAGE}-php8.1-${{ matrix.arch }} . + + - name: ☁️ Push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + docker push ${IMAGE}-php8.4-${{matrix.arch}} + docker push ${IMAGE}-php8.3-${{matrix.arch}} + docker push ${IMAGE}-php8.2-${{matrix.arch}} + docker push ${IMAGE}-php8.1-${{matrix.arch}} + + manifest: + name: Manifest + runs-on: ubuntu-latest + needs: build + + permissions: + contents: read + packages: write + attestations: write + id-token: write + + steps: + - name: 🔐 Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: ☁️ Push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + docker manifest create ${IMAGE}-php8.4 --amend ${IMAGE}-php8.4-arm64 --amend ${IMAGE}-php8.4-amd64 + docker manifest push ${IMAGE}-php8.4 + docker manifest create ${IMAGE}-php8.3 --amend ${IMAGE}-php8.3-arm64 --amend ${IMAGE}-php8.3-amd64 + docker manifest push ${IMAGE}-php8.3 + docker manifest create ${IMAGE}-php8.2 --amend ${IMAGE}-php8.2-arm64 --amend ${IMAGE}-php8.2-amd64 + docker manifest push ${IMAGE}-php8.2 + docker manifest create ${IMAGE}-php8.1 --amend ${IMAGE}-php8.1-arm64 --amend ${IMAGE}-php8.1-amd64 + docker manifest push ${IMAGE}-php8.1 diff --git a/.devcontainer/Dockerfile b/extension/.devcontainer/Dockerfile similarity index 100% rename from .devcontainer/Dockerfile rename to extension/.devcontainer/Dockerfile diff --git a/.devcontainer/devcontainer.json b/extension/.devcontainer/devcontainer.json similarity index 100% rename from .devcontainer/devcontainer.json rename to extension/.devcontainer/devcontainer.json diff --git a/extension/.dockerignore b/extension/.dockerignore new file mode 100644 index 00000000..ee44a963 --- /dev/null +++ b/extension/.dockerignore @@ -0,0 +1,2 @@ +.idea +target diff --git a/extension/.gitignore b/extension/.gitignore index d81f12ed..06f5fec0 100644 --- a/extension/.gitignore +++ b/extension/.gitignore @@ -1,2 +1,3 @@ /target /.idea +/.vscode diff --git a/extension/Dockerfile b/extension/Dockerfile new file mode 100644 index 00000000..15a1801b --- /dev/null +++ b/extension/Dockerfile @@ -0,0 +1,31 @@ +ARG PHP_VERSION=8.3 +FROM ghcr.io/skpr/php-cli:${PHP_VERSION}-v2-stable AS build + +ARG PHP_VERSION=8.3 + +USER root + +RUN apk add alpine-sdk clang clang-dev php${PHP_VERSION}-dev + +ENV MISE_DATA_DIR="/mise" +ENV MISE_CONFIG_DIR="/mise" +ENV MISE_CACHE_DIR="/mise/cache" +ENV MISE_INSTALL_PATH="/usr/local/bin/mise" +ENV PATH="/mise/shims:$PATH" + +RUN curl https://mise.run | sh + +ENV RUSTFLAGS="-C target-feature=-crt-static" +ENV RUST_BACKTRACE=full + +ADD --chown=skpr:skpr . /data +RUN mise trust . + +RUN mise run lint +RUN mise run build +RUN mise run validate + +FROM ghcr.io/skpr/php-cli:${PHP_VERSION}-v2-stable + +COPY compass.ini /etc/php/conf.d/00_compass.ini +COPY --from=build /data/target/release/libcompass_extension.so /usr/lib/php/modules/compass.so diff --git a/extension/mise.toml b/extension/mise.toml new file mode 100644 index 00000000..2d786460 --- /dev/null +++ b/extension/mise.toml @@ -0,0 +1,15 @@ +[tools] +rust = "1.91.1" +"ubi:nickschuch/noteutils" = { version = "0.0.1" } + +[tasks.lint] +description = "Run linting on all packages and crates" +run = "cargo fmt --all -- --check" + +[tasks.build] +description = "Build Compass binaries" +run = "cargo build --release" + +[tasks.validate] +description = "Validate notes for probing" +run = "noteutils validate --spec noteutils.yml target/release/libcompass_extension.so" diff --git a/extension/noteutils.yml b/extension/noteutils.yml new file mode 100644 index 00000000..4053090e --- /dev/null +++ b/extension/noteutils.yml @@ -0,0 +1,42 @@ +# Actual example from skpr/compass used to validate builds + +probes: + amd64: + - provider: compass + name: canary + - provider: compass + name: request_init + arguments: + - -8@%rcx + - -8@%r15 + - -8@%rax + - provider: compass + name: request_shutdown + arguments: + - -8@%rax + - provider: compass + name: php_function + arguments: + - -8@%r14 + - -8@%rax + - -8@%r15 + + arm64: + - provider: compass + name: canary + - provider: compass + name: request_init + arguments: + - -8@%rcx + - -8@%r15 + - -8@%rax + - provider: compass + name: request_shutdown + arguments: + - -8@%rax + - provider: compass + name: php_function + arguments: + - -8@%r14 + - -8@%rax + - -8@%r15 diff --git a/extension/validate.sh b/extension/validate.sh deleted file mode 100644 index dcffa49a..00000000 --- a/extension/validate.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# A script for ensuring our arguments have not drifted. - -# # $ readelf -n /usr/lib/php/modules/compass.so -# -# Displaying notes found in: .note.gnu.build-id -# Owner Data size Description -# GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) -# Build ID: 683683921402ecea6a67b3665438f3fba7461e0e -# -# Displaying notes found in: .note.stapsdt -# Owner Data size Description -# stapsdt 0x00000049 NT_STAPSDT (SystemTap probe descriptors) -# Provider: compass -# Name: request_shutdown -# Location: 0x000000000000f0b8, Base: 0x0000000000063477, Semaphore: 0x0000000000000000 -# Arguments: -8@%rbx -8@%r14 -8@%rdi -# stapsdt 0x00000055 NT_STAPSDT (SystemTap probe descriptors) -# Provider: compass -# Name: php_function -# Location: 0x000000000001004e, Base: 0x0000000000063477, Semaphore: 0x0000000000000000 -# Arguments: -8@%rbx -8@%r14 -8@%rax -8@%r13 -8@%rbp - -FILE=$1 - -# Validate request_shutdown args. -if readelf -n ${FILE} | grep -q 'Arguments: -8@%rbx -8@%r14 -8@%rdi'; then - echo "request_shutdown args are correct" -else - echo "request_shutdown args are incorrect. We found:" - readelf -n ${FILE} - exit 1 -fi - -# Validate php_function args. -if readelf -n ${FILE} | grep -q 'Arguments: -8@%rbx -8@%r14 -8@%rax -8@%r13 -8@%rbp'; then - echo "php_function args are correct" -else - echo "php_function args are incorrect. We found:" - readelf -n ${FILE} - exit 1 -fi \ No newline at end of file diff --git a/mise.toml b/mise.toml deleted file mode 100644 index 5524f6f0..00000000 --- a/mise.toml +++ /dev/null @@ -1,73 +0,0 @@ -[tools] -go = "1.24" -rust = "1.91.1" -"go:github.com/cilium/ebpf/cmd/bpf2go" = { version = "v0.19.0" } -"ubi:golangci/golangci-lint" = "2.6.2" - -[env] -CGO_ENABLED = 0 - -[tasks."go:vendor"] -description = "Vendor resets the main module's vendor directory to include all packages needed to build the application" -run = "go mod vendor" - -[tasks.up] -description = "Build and start a local development stack" -run = [ - "docker build --progress=plain -t local/compass:latest .", - "docker compose build php-fpm", - "docker compose up" -] - -[tasks.down] -description = "Stop the local development stack" -run = "docker compose down" - -[tasks.lint] -description = "Run linting on all packages and crates" -depends = [ - "lint:collector", - "lint:extension" -] - -[tasks."lint:collector"] -description = "Run linting on all collector components" -run = "golangci-lint run" -depends = ["generate", "go:vendor"] - -[tasks."lint:extension"] -description = "Run linting on the extension" -run = "cargo fmt --all -- --check" -dir = "extension" -depends = ["generate"] - -[tasks.test] -description = "Run tests for all components" -run = "go test ./cli/... ./collector/... ./trace/... ./sidecar/..." -depends = ["generate"] - -[tasks.generate] -description = "Generate BPF artifacts" -file = "scripts/generate.sh" -depends = ["go:vendor"] - -[tasks.build] -description = "Build Compass binaries" -depends = [ - "build:extension", - "build:collector", -] - -[tasks."build:extension"] -description = "Build Compass extension" -run = "cargo build --release" -dir = "extension" -depends = ["generate", "go:vendor"] - -[tasks."build:collector"] -description = "Build Compass collector components" -run = [ - "go build -a -o _output/compass github.com/skpr/compass/cli", - "go build -a -o _output/compass-sidecar github.com/skpr/compass/sidecar" -] -depends = ["generate"] diff --git a/tracing/.devcontainer/Dockerfile b/tracing/.devcontainer/Dockerfile new file mode 100644 index 00000000..df0d0de8 --- /dev/null +++ b/tracing/.devcontainer/Dockerfile @@ -0,0 +1,28 @@ +FROM ghcr.io/skpr/php-cli:8.4-v2-stable + +USER root + +RUN apk add alpine-sdk \ + bpftool \ + clang \ + clang-dev \ + git \ + libbpf-dev \ + linux-headers \ + llvm \ + php8.4-dev + +ENV MISE_DATA_DIR="/mise" +ENV MISE_CONFIG_DIR="/mise" +ENV MISE_CACHE_DIR="/mise/cache" +ENV MISE_INSTALL_PATH="/usr/local/bin/mise" +ENV PATH="/mise/shims:$PATH" + +RUN curl https://mise.run | sh + +# Make libclang easy to find for bindgen +ENV LIBCLANG_PATH=/usr/lib/llvm19/lib + +ENV RUSTFLAGS="-C target-feature=-crt-static" + +ENV RUST_BACKTRACE=full diff --git a/tracing/.devcontainer/devcontainer.json b/tracing/.devcontainer/devcontainer.json new file mode 100644 index 00000000..3551ddbd --- /dev/null +++ b/tracing/.devcontainer/devcontainer.json @@ -0,0 +1,15 @@ +{ + "build": { + "dockerfile": "Dockerfile" + }, + "customizations": { + "vscode": { + "extensions": [ + "rust-lang.rust-analyzer", + "dustypomerleau.rust-syntax", + "golang.go", + "nicknickolaev.ebpf-assembly" + ] + } + } +} diff --git a/.dockerignore b/tracing/.dockerignore similarity index 100% rename from .dockerignore rename to tracing/.dockerignore diff --git a/.gitignore b/tracing/.gitignore similarity index 100% rename from .gitignore rename to tracing/.gitignore diff --git a/.golangci.yml b/tracing/.golangci.yml similarity index 100% rename from .golangci.yml rename to tracing/.golangci.yml diff --git a/Dockerfile b/tracing/Dockerfile similarity index 81% rename from Dockerfile rename to tracing/Dockerfile index 8d20f91c..00cb2684 100644 --- a/Dockerfile +++ b/tracing/Dockerfile @@ -12,8 +12,7 @@ RUN apk add alpine-sdk \ git \ libbpf-dev \ linux-headers \ - llvm \ - php${PHP_VERSION}-dev + llvm ENV MISE_DATA_DIR="/mise" ENV MISE_CONFIG_DIR="/mise" @@ -29,7 +28,6 @@ ENV LIBCLANG_PATH=/usr/lib/llvm19/lib ENV GOFLAGS=-buildvcs=false ENV RUSTFLAGS="-C target-feature=-crt-static" - ENV RUST_BACKTRACE=full ADD --chown=skpr:skpr . /data @@ -42,10 +40,6 @@ RUN mise run build FROM scratch -# Extension -COPY extension/compass.ini /etc/php/conf.d/00_compass.ini -COPY --from=build /data/extension/target/release/libcompass_extension.so /usr/lib/php/modules/compass.so - # Collector COPY --from=build /data/_output/compass /usr/local/bin/compass COPY --from=build /data/_output/compass-sidecar /usr/local/bin/compass-sidecar diff --git a/cli/app/app.go b/tracing/cli/app/app.go similarity index 100% rename from cli/app/app.go rename to tracing/cli/app/app.go diff --git a/cli/app/color/color.go b/tracing/cli/app/color/color.go similarity index 100% rename from cli/app/color/color.go rename to tracing/cli/app/color/color.go diff --git a/cli/app/component/span/span.go b/tracing/cli/app/component/span/span.go similarity index 100% rename from cli/app/component/span/span.go rename to tracing/cli/app/component/span/span.go diff --git a/cli/app/component/span/utils.go b/tracing/cli/app/component/span/utils.go similarity index 100% rename from cli/app/component/span/utils.go rename to tracing/cli/app/component/span/utils.go diff --git a/cli/app/component/table/delegate.go b/tracing/cli/app/component/table/delegate.go similarity index 93% rename from cli/app/component/table/delegate.go rename to tracing/cli/app/component/table/delegate.go index abc9b195..6f041edb 100644 --- a/cli/app/component/table/delegate.go +++ b/tracing/cli/app/component/table/delegate.go @@ -5,7 +5,7 @@ import ( "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/color" ) // GetItemDeletegate for formatting. diff --git a/cli/app/events/log.go b/tracing/cli/app/events/log.go similarity index 100% rename from cli/app/events/log.go rename to tracing/cli/app/events/log.go diff --git a/cli/app/events/trace.go b/tracing/cli/app/events/trace.go similarity index 86% rename from cli/app/events/trace.go rename to tracing/cli/app/events/trace.go index c2f9250b..8c0dfd23 100644 --- a/cli/app/events/trace.go +++ b/tracing/cli/app/events/trace.go @@ -4,8 +4,8 @@ import ( "fmt" "time" - skprtime "github.com/skpr/compass/cli/app/time" - "github.com/skpr/compass/trace" + skprtime "github.com/skpr/compass/tracing/cli/app/time" + "github.com/skpr/compass/tracing/trace" ) // Trace for review. diff --git a/cli/app/footer.go b/tracing/cli/app/footer.go similarity index 93% rename from cli/app/footer.go rename to tracing/cli/app/footer.go index 5ff8cbec..f953aadc 100644 --- a/cli/app/footer.go +++ b/tracing/cli/app/footer.go @@ -5,7 +5,7 @@ import ( "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/color" ) var ( diff --git a/cli/app/init.go b/tracing/cli/app/init.go similarity index 85% rename from cli/app/init.go rename to tracing/cli/app/init.go index 32bf1ac4..7f61b3db 100644 --- a/cli/app/init.go +++ b/tracing/cli/app/init.go @@ -3,7 +3,7 @@ package app import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) // Init initializes the model. diff --git a/cli/app/logger/logger.go b/tracing/cli/app/logger/logger.go similarity index 95% rename from cli/app/logger/logger.go rename to tracing/cli/app/logger/logger.go index f214944b..98430efc 100644 --- a/cli/app/logger/logger.go +++ b/tracing/cli/app/logger/logger.go @@ -7,7 +7,7 @@ import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) // Logger for sending events into the CLI application. diff --git a/cli/app/logs.go b/tracing/cli/app/logs.go similarity index 83% rename from cli/app/logs.go rename to tracing/cli/app/logs.go index 208aaa61..245a3980 100644 --- a/cli/app/logs.go +++ b/tracing/cli/app/logs.go @@ -4,8 +4,8 @@ import ( "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" - "github.com/skpr/compass/cli/app/component/table" + "github.com/skpr/compass/tracing/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/component/table" ) func (m *Model) logsInit() { diff --git a/cli/app/menu.go b/tracing/cli/app/menu.go similarity index 97% rename from cli/app/menu.go rename to tracing/cli/app/menu.go index 471e7ebc..29e28a78 100644 --- a/cli/app/menu.go +++ b/tracing/cli/app/menu.go @@ -6,7 +6,7 @@ import ( "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/color" ) var ( diff --git a/cli/app/metadata.go b/tracing/cli/app/metadata.go similarity index 94% rename from cli/app/metadata.go rename to tracing/cli/app/metadata.go index 59c2319a..7f2d0717 100644 --- a/cli/app/metadata.go +++ b/tracing/cli/app/metadata.go @@ -7,8 +7,8 @@ import ( "github.com/charmbracelet/bubbles/table" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" - skprtime "github.com/skpr/compass/cli/app/time" + "github.com/skpr/compass/tracing/cli/app/color" + skprtime "github.com/skpr/compass/tracing/cli/app/time" ) func (m *Model) metadataInit() { diff --git a/cli/app/model.go b/tracing/cli/app/model.go similarity index 93% rename from cli/app/model.go rename to tracing/cli/app/model.go index db37440a..bfc05783 100644 --- a/cli/app/model.go +++ b/tracing/cli/app/model.go @@ -5,7 +5,7 @@ import ( "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/bubbles/table" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) // NewModel for executing this application. diff --git a/cli/app/search.go b/tracing/cli/app/search.go similarity index 83% rename from cli/app/search.go rename to tracing/cli/app/search.go index 8c88711f..7ba45338 100644 --- a/cli/app/search.go +++ b/tracing/cli/app/search.go @@ -4,8 +4,8 @@ import ( "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" - "github.com/skpr/compass/cli/app/component/table" + "github.com/skpr/compass/tracing/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/component/table" ) func (m *Model) searchInit() { diff --git a/cli/app/spans.go b/tracing/cli/app/spans.go similarity index 90% rename from cli/app/spans.go rename to tracing/cli/app/spans.go index a22abeac..4c11fc4b 100644 --- a/cli/app/spans.go +++ b/tracing/cli/app/spans.go @@ -6,9 +6,9 @@ import ( "github.com/charmbracelet/bubbles/table" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" - "github.com/skpr/compass/cli/app/component/span" - "github.com/skpr/compass/trace/segmented" + "github.com/skpr/compass/tracing/cli/app/color" + "github.com/skpr/compass/tracing/cli/app/component/span" + "github.com/skpr/compass/tracing/trace/segmented" ) // SpanLength is how long a span component should be. diff --git a/cli/app/time/time.go b/tracing/cli/app/time/time.go similarity index 100% rename from cli/app/time/time.go rename to tracing/cli/app/time/time.go diff --git a/cli/app/totals.go b/tracing/cli/app/totals.go similarity index 93% rename from cli/app/totals.go rename to tracing/cli/app/totals.go index 73c6b723..77b171d9 100644 --- a/cli/app/totals.go +++ b/tracing/cli/app/totals.go @@ -6,8 +6,8 @@ import ( "github.com/charmbracelet/bubbles/table" "github.com/charmbracelet/lipgloss" - "github.com/skpr/compass/cli/app/color" - "github.com/skpr/compass/trace/count" + "github.com/skpr/compass/tracing/cli/app/color" + "github.com/skpr/compass/tracing/trace/count" ) func (m *Model) totalsInit() { diff --git a/cli/app/tracer/extension/extension.go b/tracing/cli/app/tracer/extension/extension.go similarity index 80% rename from cli/app/tracer/extension/extension.go rename to tracing/cli/app/tracer/extension/extension.go index 62ab0073..8f247990 100644 --- a/cli/app/tracer/extension/extension.go +++ b/tracing/cli/app/tracer/extension/extension.go @@ -6,10 +6,10 @@ import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" - applogger "github.com/skpr/compass/cli/app/logger" - "github.com/skpr/compass/collector" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/cli/app/events" + applogger "github.com/skpr/compass/tracing/cli/app/logger" + "github.com/skpr/compass/tracing/collector" + "github.com/skpr/compass/tracing/trace" ) // New for sending traces to the program. diff --git a/cli/app/tracer/http/http.go b/tracing/cli/app/tracer/http/http.go similarity index 88% rename from cli/app/tracer/http/http.go rename to tracing/cli/app/tracer/http/http.go index 823f6d44..ea7d0203 100644 --- a/cli/app/tracer/http/http.go +++ b/tracing/cli/app/tracer/http/http.go @@ -10,9 +10,9 @@ import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" - applogger "github.com/skpr/compass/cli/app/logger" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/cli/app/events" + applogger "github.com/skpr/compass/tracing/cli/app/logger" + "github.com/skpr/compass/tracing/trace" ) // Start tracing from a http URI endpoint and send traces to the program. diff --git a/cli/app/tracer/tracer.go b/tracing/cli/app/tracer/tracer.go similarity index 84% rename from cli/app/tracer/tracer.go rename to tracing/cli/app/tracer/tracer.go index 982a83e5..08c59f41 100644 --- a/cli/app/tracer/tracer.go +++ b/tracing/cli/app/tracer/tracer.go @@ -7,9 +7,9 @@ import ( tea "github.com/charmbracelet/bubbletea" - applogger "github.com/skpr/compass/cli/app/logger" - "github.com/skpr/compass/cli/app/tracer/extension" - "github.com/skpr/compass/cli/app/tracer/http" + applogger "github.com/skpr/compass/tracing/cli/app/logger" + "github.com/skpr/compass/tracing/cli/app/tracer/extension" + "github.com/skpr/compass/tracing/cli/app/tracer/http" ) // Protocol for connecting to Compass for traces. diff --git a/cli/app/update.go b/tracing/cli/app/update.go similarity index 95% rename from cli/app/update.go rename to tracing/cli/app/update.go index 26db1e18..bc40dd5e 100644 --- a/cli/app/update.go +++ b/tracing/cli/app/update.go @@ -3,7 +3,7 @@ package app import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) // Update triggers on messages and updates the model. diff --git a/cli/app/update_key_enter.go b/tracing/cli/app/update_key_enter.go similarity index 88% rename from cli/app/update_key_enter.go rename to tracing/cli/app/update_key_enter.go index 9e4e0fe0..c48787d0 100644 --- a/cli/app/update_key_enter.go +++ b/tracing/cli/app/update_key_enter.go @@ -3,7 +3,7 @@ package app import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) func (m *Model) updateKeyEnter() (tea.Model, tea.Cmd) { diff --git a/cli/app/update_key_left.go b/tracing/cli/app/update_key_left.go similarity index 100% rename from cli/app/update_key_left.go rename to tracing/cli/app/update_key_left.go diff --git a/cli/app/update_key_right.go b/tracing/cli/app/update_key_right.go similarity index 100% rename from cli/app/update_key_right.go rename to tracing/cli/app/update_key_right.go diff --git a/cli/app/update_log.go b/tracing/cli/app/update_log.go similarity index 77% rename from cli/app/update_log.go rename to tracing/cli/app/update_log.go index 827cca2e..29cbeda9 100644 --- a/cli/app/update_log.go +++ b/tracing/cli/app/update_log.go @@ -3,7 +3,7 @@ package app import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) func (m *Model) updateLog(log events.Log) (tea.Model, tea.Cmd) { diff --git a/cli/app/update_trace.go b/tracing/cli/app/update_trace.go similarity index 83% rename from cli/app/update_trace.go rename to tracing/cli/app/update_trace.go index 910c29ef..bbda1eda 100644 --- a/cli/app/update_trace.go +++ b/tracing/cli/app/update_trace.go @@ -3,7 +3,7 @@ package app import ( tea "github.com/charmbracelet/bubbletea" - "github.com/skpr/compass/cli/app/events" + "github.com/skpr/compass/tracing/cli/app/events" ) func (m *Model) updateTrace(trace events.Trace) (tea.Model, tea.Cmd) { diff --git a/cli/app/update_window_size.go b/tracing/cli/app/update_window_size.go similarity index 100% rename from cli/app/update_window_size.go rename to tracing/cli/app/update_window_size.go diff --git a/cli/app/view.go b/tracing/cli/app/view.go similarity index 100% rename from cli/app/view.go rename to tracing/cli/app/view.go diff --git a/cli/main.go b/tracing/cli/main.go similarity index 92% rename from cli/main.go rename to tracing/cli/main.go index 6d4b4fd0..7048881a 100644 --- a/cli/main.go +++ b/tracing/cli/main.go @@ -13,10 +13,10 @@ import ( "github.com/spf13/cobra" "golang.org/x/sync/errgroup" - "github.com/skpr/compass/cli/app" - "github.com/skpr/compass/cli/app/color" - applogger "github.com/skpr/compass/cli/app/logger" - "github.com/skpr/compass/cli/app/tracer" + "github.com/skpr/compass/tracing/cli/app" + "github.com/skpr/compass/tracing/cli/app/color" + applogger "github.com/skpr/compass/tracing/cli/app/logger" + "github.com/skpr/compass/tracing/cli/app/tracer" ) const cmdExample = ` diff --git a/collector/.gitignore b/tracing/collector/.gitignore similarity index 100% rename from collector/.gitignore rename to tracing/collector/.gitignore diff --git a/collector/collector.go b/tracing/collector/collector.go similarity index 97% rename from collector/collector.go rename to tracing/collector/collector.go index 93f554cd..df075097 100644 --- a/collector/collector.go +++ b/tracing/collector/collector.go @@ -15,8 +15,8 @@ import ( "github.com/cilium/ebpf/rlimit" "golang.org/x/sync/errgroup" - "github.com/skpr/compass/collector/sink" - "github.com/skpr/compass/collector/usdt" + "github.com/skpr/compass/tracing/collector/sink" + "github.com/skpr/compass/tracing/collector/usdt" ) const ( diff --git a/collector/extension/discovery/discovery.go b/tracing/collector/extension/discovery/discovery.go similarity index 100% rename from collector/extension/discovery/discovery.go rename to tracing/collector/extension/discovery/discovery.go diff --git a/collector/includes/.gitignore b/tracing/collector/includes/.gitignore similarity index 100% rename from collector/includes/.gitignore rename to tracing/collector/includes/.gitignore diff --git a/collector/logger.go b/tracing/collector/logger.go similarity index 100% rename from collector/logger.go rename to tracing/collector/logger.go diff --git a/collector/manager.go b/tracing/collector/manager.go similarity index 97% rename from collector/manager.go rename to tracing/collector/manager.go index 2e1bc024..b1ccc21a 100644 --- a/collector/manager.go +++ b/tracing/collector/manager.go @@ -8,8 +8,8 @@ import ( "github.com/patrickmn/go-cache" "golang.org/x/sys/unix" - "github.com/skpr/compass/collector/sink" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/collector/sink" + "github.com/skpr/compass/tracing/trace" ) const ( diff --git a/collector/manager_test.go b/tracing/collector/manager_test.go similarity index 98% rename from collector/manager_test.go rename to tracing/collector/manager_test.go index 7bc8a565..4d37ba9e 100644 --- a/collector/manager_test.go +++ b/tracing/collector/manager_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) // TestSync for storing complete profile data for our tests. diff --git a/collector/scripts/bpftmpl/elf/notes.go b/tracing/collector/scripts/bpftmpl/elf/notes.go similarity index 100% rename from collector/scripts/bpftmpl/elf/notes.go rename to tracing/collector/scripts/bpftmpl/elf/notes.go diff --git a/collector/scripts/bpftmpl/elf/notes_test.go b/tracing/collector/scripts/bpftmpl/elf/notes_test.go similarity index 100% rename from collector/scripts/bpftmpl/elf/notes_test.go rename to tracing/collector/scripts/bpftmpl/elf/notes_test.go diff --git a/collector/scripts/bpftmpl/main.go b/tracing/collector/scripts/bpftmpl/main.go similarity index 84% rename from collector/scripts/bpftmpl/main.go rename to tracing/collector/scripts/bpftmpl/main.go index 57f05196..d17fb4cd 100644 --- a/collector/scripts/bpftmpl/main.go +++ b/tracing/collector/scripts/bpftmpl/main.go @@ -7,8 +7,8 @@ import ( "io" "os" - "github.com/skpr/compass/collector/scripts/bpftmpl/elf" - "github.com/skpr/compass/collector/scripts/bpftmpl/replace" + "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" + "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/replace" ) func main() { diff --git a/collector/scripts/bpftmpl/replace/replace.go b/tracing/collector/scripts/bpftmpl/replace/replace.go similarity index 97% rename from collector/scripts/bpftmpl/replace/replace.go rename to tracing/collector/scripts/bpftmpl/replace/replace.go index 4109b2ac..4e697aeb 100644 --- a/collector/scripts/bpftmpl/replace/replace.go +++ b/tracing/collector/scripts/bpftmpl/replace/replace.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - "github.com/skpr/compass/collector/scripts/bpftmpl/elf" + "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" ) // UsingNotes replaces strings in the program based on provided notes. diff --git a/collector/scripts/bpftmpl/replace/replace_test.go b/tracing/collector/scripts/bpftmpl/replace/replace_test.go similarity index 96% rename from collector/scripts/bpftmpl/replace/replace_test.go rename to tracing/collector/scripts/bpftmpl/replace/replace_test.go index 45a827d7..b3641005 100644 --- a/collector/scripts/bpftmpl/replace/replace_test.go +++ b/tracing/collector/scripts/bpftmpl/replace/replace_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/skpr/compass/collector/scripts/bpftmpl/elf" + "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" ) func TestUsingNotesAmd64(t *testing.T) { diff --git a/collector/sink/sink.go b/tracing/collector/sink/sink.go similarity index 88% rename from collector/sink/sink.go rename to tracing/collector/sink/sink.go index 6bfbad5b..cc431d07 100644 --- a/collector/sink/sink.go +++ b/tracing/collector/sink/sink.go @@ -4,7 +4,7 @@ package sink import ( "context" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) // Interface for handling profile data. diff --git a/collector/template.bpf.c b/tracing/collector/template.bpf.c similarity index 100% rename from collector/template.bpf.c rename to tracing/collector/template.bpf.c diff --git a/collector/usdt/usdt.go b/tracing/collector/usdt/usdt.go similarity index 100% rename from collector/usdt/usdt.go rename to tracing/collector/usdt/usdt.go diff --git a/collector/usdt/util.go b/tracing/collector/usdt/util.go similarity index 100% rename from collector/usdt/util.go rename to tracing/collector/usdt/util.go diff --git a/tracing/compass.so b/tracing/compass.so new file mode 100755 index 0000000000000000000000000000000000000000..ff210035a7faf4cf505fd3367d9f874ae994bebf GIT binary patch literal 468328 zcmeFadwd(!wf8N@PEbf-lz_op3Iamwa0xPm)+Pa@#3mz>Esy4N<8Vn&cpS3){Fqn9GLKI6IO$0Lg-F0bj?*M| zm`6%WAIgQ!?ewgtMEGRo!C~fC|8{r@J@?s}vV8nFvs^x49?kr|iRa`KO5ndZsOocE zrt-7XGkvKPWFD27MA?qSty26qZ~g+uv1gUuUH0zW#9hxl`KRZfkCm^yzP5v&B(vRu z|LD0f{mPtz0Xar~J}E>;yN@3anz~xk?1JEf@!81aVElWikf~My>ih$wKN!EaPNbqztcv}&urv;+lK$y#y;2D*x@!f%)#{egN>YTLH~oX^X12~x7 z3>!J;BHxp_5L}-G|38>MhuV~P8|1qWB4-K|J(xbH*ywY$P5OdOdvw~^?FbwHf7Hf5 zFM{p|v%`fp_UW|I|6ChB!AAeIjh<~b?dw#V@@}!Imv7jV>lZfZziwmyWj6Wlu#q#) z#?GJGq;IjY!y7j7^V>G%3fRc`xef1!oP+u2kv8>sxDEdbZLr~98~HJt^hq1PT4Gb)eKz*g zZ1jKA#(!Q#{T?h%9&e*(#zxON8$EBe;cIN<{M^Rhb|U@3^gP{0{#R}6AGYBM8@t_a zV~3yG_!|vQ57u55*_3ycO}x6mCjAT>eLk?s_f#9c!=~OZvXTF!jh>&`$k}OAFQ?o1 zt;Z()Z*1!25*z+A8$GYLk^iAh`miY1WJl^$B*14W>O*`Q{Z|AVmo&FFFI(OgZf?CI zICsVBRn1o{x^_jgL)<&~oyNr-iyD_MU$tn(@>`J5BB60<>!Ov-jmuXpT@7wNZKcba z!;LFfFKI^(w=}O>(zyECw&vCwn_C-~E?%@^#n>Z`#j9JJ8<(wEeeI$ZZ8GKZw#G&6 z;nfN@wuM_A%^l5)fm+8Bu54bpICL|z4zFlyq^uS#S<>nNUAg+kW=Gqi&~h_#JielN zm1FUW)r+sEl;Pzol}7Yf_~uY^&_-s>R61DP~Zp5iwy56<;lCUDi%M0d3pyue{mVyb{4-^7wN;%wR$hWUN`sSkQ)~6ug%-uW&3|+!$Kj*0!7+zIF9#WfAGWBKqJT ziV)399Lq&RTHL&P=~%F9Y+Hf$OYztYe~pNoE1SbDtCuvcLPsOZK?y>OsN;bsbP}zt zXw=XdIWO;^ScZOT*($^_X))?&V7NxI5CW1$hu;68+x+^t8Ri#8ZT>Zg9RKb z+gGhz6ml#@>BEkdbh>0k<8tI9qIC;87xRI6&0&ANJq^y=WR(Phmm=D_i+_=@I^@E8_7 zG8~OM9B9^oN}*Wd2q|`bGx{>zg>F`aDuT_%5L~t`)Vz54(&dYVwL*)+Eut(dman>= zG;3aUBOO{1>{qX(v+(i*s?LFb;1;5^#Uyht@{L_y1iRL)LJ!l1=yj3Vp;;0K7Oh&= zzGzwVFv zwt7YtT`iumvb}A^nH|+%Z~Xd9N$1U-+cdT~9@;l?$6l4{)^BE+X@q8xvAGwx8lhw-1?DF>>3j8C{< z@(kmtIZ}R>arZRI^NjbXe4YImfa7E8`O>eY{0he3Q@oOKQ@?7)J6ss3$asTFKg_tPPnL1ByrYaKRe2q>@PLnLPqVyE z#!dMZjGN{4Fm9GtXS`3@p^5Rs?vnM`VZ)O)yw`@O8UKosKg{?V#hsgr?ch2_`k{+) z?^h(RWZZGGKeGB7e`ViyKDE+$_Kc-9Cvxo8P6dz*Tdz{oK z&v;VtQO4cJ%Jhyc#dgapySW+nC^?mkyObOc;||5E8LwCGBO4gssLIvFcv|Vx%eYtZ zLB@wvy<}~8-iD7do>JG2CyVVdP7!FZ376Jb1}^z35Xt$31guj1W|H!0r3xoW4qjMpokV!TK3 zKE_>2|1{$%m41-%jN(I#Clw!N-1!^XezS}pWk~MWTI^RV756aSquO0H<7w5;HZb0! z+FcXl9+f`Axk}%~xL2)TB^j?(RNl%6LfG%`sSPpQ&-Fr-$+S*-}n58PAZmDM69Dmj`p01a6Yhm2eAbE&!_f?X2 zaDJ)e5ys89mts6k8+-8SW89OFb{k?mqx8%&o?0j6IG-xEPtyX)U5uxdo|TM8RC=B9 zrp;1L3*#AjVT4Z?<6c#+UdBC_$n=AZ*Q@kd#*?~C?|izrTs?|cGVWDe=RBbFXFRXc zcQKy6Sf=k~d`QU|WZbQImhtp_DJRdk*{?aDDK6JvRlU1ycs1iMsCHLx!&_{4#D;e> zUh_TahbbFAXu~s%oAc07#=ocJyPhq!!`q5i+Hf!9mpmx-tY_TRzr}_}82_*DOF7+) zoBF31A4f0r@fl?NKb1bijGO86Hr)AKu^r6xZpO{_Tg|xR-=x2J88_26FmAT@CdN%U zEsUFbgc$Epak7K)dKFJ1j1OHQ_3UCiqj-{WuaeWv`Jbem9>!gY_cGqIUZzhmKBUt3 zF>bcUAse1$e1Y;G$53%SntoMb!##|f?LueVoOd@dZnl>W#!Wd%#?AD-Hau;^hi!P? zhC81xwu70koAI|)d+{)Crq^wFlMU~%;Yl0bYs1qveAtHPZMbuXjU8-wHRE$0l5s|7 z+_X=V4ewyw^q-^+@3rA+8$N8q^Njye>F;=<*bb&X6^yS}=_?sG(|c`rgAEVa@E*oP zYCO}+xM}A!<1H%w58Lp(4R^j+YzI@0+lE)$@Om5GV#6agyxWGS7&qhLAmgU~qm1X( zxUS-*;_~LzxTuM&HJgWFG<1xh@ zFBg}~t@L*?Zq6^zT!;St8SY?tYijPF&vhw-gH zP&)z-p9B(&mCg?2P%D*@o_(r<#N1QYzLE9F#cVY-oyBlitCJ<>6;k; zOr`Iz;Yl0bYs1qve3Jm+^{c zWx3Lfo8=w0;d#c-QF5HG71xU?r<(D4WrqgFUB^nhH8CFgyRr}CLlJD`#;2R{&}%Y% zALGf_B~LT{`18^ZLyVjHXBmG|r5|P7Oz(QV*beWh^lrviE5E8{{PZ77eOefAqA#-H z6Jp%)6J;M8-pzPO#kU^D^W9QTuMJNz?pJya+VBkH8hyb8pFHDB6nFfk*lrIi?qd8q zD&I;Q?qz)O3o_pZ#_v(Qh4KHmSEi5H@NOHPV*Edq{6WS)R`N48e3bD&C^@eGDYnlW zin|$~_@dO`!+3SKAM(@sPsw3lPY~T#LXX zHH!B!9#wph@&8eNl4ZQ=CsMv6Q*1YrSJ-fm4cBdW6XS-`GsL)=Zx7>1HGb=5+|w`Z zoMJqr%9Y_<#m_9`p3PEDo^ex-^UY%W{9fr_!T66T z!o#?OzL9-lO<1yy*vI|T#uKk z`mJF6Diwb!8E;a&n(-OK(ob~8XDi;oc$JzDwlHpv8zYRn?vUfgF2?g}Jeg#CNR6LU zjHk|!_0`9?dxok<#vO_eGVW4*h;g&u$ueGlrj(y&+*f&G-uChbbFAXu~s%KdN&{xW|cnA_|bosava&>@}8`CCF2pb{-86SRO<%yjGN<) z7RH;@dQ^n*v>LB=F>cNadKq`A_LXA%tFOy)4KZ%6mu75uo^dlCI&;PLF~{3(8(wY0 z>uq?84UaHx>XTx8=neTkqK|R2y$msax3W)$@w)q@-9{NV%ji~ng??a!#^E-+-iEi>@Q4lXw&5uo zK4`-;Hhk2EyWT6dgIV568}4PiM%kyqhKFo;mksZ+;e9rI$cATaxa0le@|yZr*l>>x z*BKwWL;6WQ<6nDD@&?AM6>nlZqvW(Oo>x4?_{B<22jdGBk1)Pk@h--1RXoY~cNOnu z{FjRNF#cbP_cFd-@f71vDc;9;M)5S`A1Xe`_&&vl7*4u#?Mpfn;5TGyoK>*#Y2pT6z^dCPQ@dP|4{KR#($xBlJN%= z?`GT_ucjC``|Cl*&Hg3B_;qR?G|Ko>in~56_8*g1+HkK8Z?NGZ8{TEZdl-LB#s5AV zK4inQHr$afF0U!S!iIYoH|?)8KH-f!o>?32_^8-EX8H;n?y=#z4R5mH9X32^!+ULb+J+C?@VpIoetd8{xEZff^uq?84UaJ1q~v$o@Il6J*d*5Yed#Z79(fuegixeTusoe@F33#`h@hVZ2tAtD13L zaWCT&mHrKkzoq0iG5(3-EsSRr4>5kIk{@CGU6sCz@lO>`GVWAzx*7j$m#nW|#{Z(? zUYc=dk4!&o!}E;KQR$s~itE?pZW~_BxS4M~OY-8MXB!v`7vW>(pOaZ{hX z4R?;(*ujQZ+wgiD-eSWeHoV)0r)>D34bRx{Q5){sdvH5c+HkK8Z?NGZ8{TEZdu({0 z4Ii@MSsU*7^x);Ku;CsXuG{b?8{T2VlZ6uPTKPZYAFB4Ax8crz z6x+c}?`C}8T~dBE<6rv^$?I)+iw%!3{@C48PB-HPWrtqI{pxo!(v06{C_6BIo6<9H z!`+`1+o5TNlvByLLvat|$+KkoYR3Ql?~?0`kE;EU4UG51Wcn7y4JD_8@$V|$#rRsq zyBSYCEamqy{wI~bk8v~KLB`E|hZ*lza83HyOo?S#!dO%jGN_6 zF&v1dyA$iFypV4vhn#a-&}otXP4FH+picu4WVaq{=c%=A55 zS>v;i*a+mgqw5q zeW*&tQ`buQ9>()Zel_Es(`9-u<4tEuIW3H*o|5GXG47cu(|0gl zKTq;5#v|jUoNmVJw@Q6_81H#rrtf8ZNR3ZYoI7N`eTQn1>qS8?eL+PJM#?vWT@7;{oyQQAJj6XXh<@7P0+#%Bs zG9EccmTQP{?>8hLW<39rl#^jRG%WMYGM+y}%E>dHStR9*G9KD4xnq2>e-0_`Wc<+m z(mpQ6li!nmQo*=G#U&5p_1~B2s~L|xD&>0__p0BwX<$6_Em__s#=WYYwlMBEPnI{t zxaVP+ZwKe99Yq+AsNX5-Vm$whl;6#`TaEuyjAzPZ`aZ_JC&_Z98FxJ{>wS=M^LG_8 zjQ6N|%rfp7lydTnJJk0RM;X^tzv-G#>?b#>ezt<~l(L(f^B>B3uVnnkH^{i>VSK1W z+NYZFrg7QggHBtEq z;}PYbJ&gBElli6?cPTsfF+QZ?UYc>YTgn+^JaVt}hatxEXUp`%jF;Xj>np?f?^Jxq zGwz5;`J;@d&zJHYhZOtOnj58jC*vQf_aH9DlS9&;6^whnE#+4;o>BdgmvM(`k2>S0 z(;w!*r=Icr#ZrC)&Hnuq!`cKAob~E zJfixqG~;RI&qJK6-xC{V{KVzT9~e*mQQ9rbxTjR=nP)swEBPqnY4x7P;Vkx(w2HS* z#zQyA_U`7~Ddkr(?pEVZ593XDt2o1W@+eu}dd4${Ncjzn4}DeIzlrhsM`gQcVLYPZ zc8KwzBc+@!&XxQm;}5TqdUi9OR`Poo?>R=w?`7PzQkE;lxL1u&`WSayBkh)E{OIeY zK0}NrmA?%$o>$}N4C5I!Ps}pz`nBrU7;jQ>c$D$X2ASS5vDmMYM@Tz384vwQ`m>wy z^zWsdO3qckQ_Xm)TFUn_?s;6w*BS3ozx!IxcwX(pZ(w|uio+qs?`xIz?_j(sF7=Nv z9{O)t?_G?iuaUfmb2XmtWjvwgaVf@cSS9u8V?2GTv`?Dx`tM4=8e}}VUfOMlamR&H zPKNP_IZkHW`%Ni-l<{=4EU)9xVn1m*M{+0QArlyD+aj$`KmzsAsG43l!`?N4#@00RFoIfGccQAgmTDOTXzCn%WyBMFR(kB^@94*^R zH{)9((r&$sHz|Gk81L~){nMPUlkH-NaZjU6pJCi_vgBFD>(%^mlyQgpojS+lVt?2f zmHJmO9$G5(sbt)pkaqAee*a1-r<(DXl|6OFcdK!AJ>&TrnQsH*ZZ&RfV%%)k9gGjF zaa4qH?+>K@U5xjraaxk`{kO<+bu%7XEA{MQJb90l-^+MN)k});yo$GJ#?AdUgN#q? zkopWUewXsY4C9*WkFtyp&6axR8BbS9zZ&ISjRReW75h(K^;2%fGishv$#_!r7aqoU z{vX+Xs~O*{#+hEm>(w}4XWV>WS5edmfYdh8X|blhV!|jC<64B+2-YT7T|l z+^Z=+VZ2AJlk_qkQ}gi@;}O+Q^)Vh&c1|f>hIJzvEi#v^JS*u%I>{jN(jQxzzpD06Mi_Ufb?Gj~^J*PC$#~Zased=) zj=56*6yx>xOMCV)KBU$M1{wE$Tc#gkJfq_OFyjt2U&}J?RpWs?;||qdIJIIw`7|WU zE=~=<}Ce^=GGTx=)p_lQd`{j5^XWX$=#>0BXU20y|#CVfhx9ng%GG5w0!npU3 zGT$!7Jx9rWlZ=N{|JB2IMvcdMIalimeT+wxf2J9KU#(*dGVZ-z>OaJIdacwy!?;() znLOh|%5I~KyVQKpq5gi686V8+3dSSHOFwL2+^u+s@g~L1zXxT?A5F{mx#r(ZGI?LW zlQ9O zQ1S)~mo+7M#KNUzB~MzoS;urIYvJlorilk4>OB$3K2#9-PmhJ;53h}VQWidWj5-`? z3qQ=l-Rk`U$=58r(!#Aa)h&FAC4IexTmPPQ(!!6lr0=otatrUZ@S`kz$ik1d@L>zD zu<$13S5&TJExg6TkF)TQg&%L>y%tV?OWyosE&K!%;^Mt zWZ@@Uc!!0bV&O>(pJw6R7JjOQ_gMH>Equ_zzh>bswO&W%sU4bt;03vaS;kA=5bc$I}GE&OZ?@3!!BEPU9)&$aNZ zg@4_`T`G=|p5L(WN(-;H@M;S`&%*01e71!*S@`)D9)cS_^lmbpWzMorSwB{2~jlwD5Tr?zM2;!gUMxTX>I!Uu@wi3%|s|2Q55c z;lmalwD7!z&$n==nzvGU>n+@6;or1yw}oG3;a&^B+`?Nd{0a*XS@;4A@3ZhLEqvI* z8!Ws+^|Pe^w=BHD!mqLLCJSF^;Sme}wuN_Dc%y}9EWF9WM=gAjg*(-Fp7gxd!YeF% zv4z)Lc(a8!S@=>5@3HV@7T#;&Ef$`(@Z}bsvGD6GeAL3Pw{V9VuTr^ISh(B5S6aBo z!dF>%wS}*?@CFMHS$K z&BBuwezk>nTlf+S@3HVU3-7h?b_-8g_>C6+<>{9e_|gJjTHs3yd})C%E%2oUzO=xX z7WmQvUs~Wx3w&vTFD>x@p9Sh0HWy`9ICtu`6C8z8kHo*)iC&!1wOEPDWeWJ5dMI7f ztFYXVxE@E>^a?DO7T2FH!Zj_a)r;#*bWN|ea$a%$N4ln0S~-uneuS>+RaVX|u769{ z^a?BI64$??Yg+2bImGo(>6%_;YrlcS?0;c->3>BjKYoAuc4@N~^}kyDRfRH4V`yLV40(FdrQj_?$1N~vzlb?L?> z6yME91oe+3z9oi{^qy?~w^W)#Ep~$N*FHcum0gR5xBNl>ZHGGIF#YdoAoPlwSZFLVzfivO`U#GzZ78eu zqyB(aH##z|YFp6wj?-^^+vPV7zuNb0U*qNj`60LHd)0c$%dOL3dOd!Ko|x>=Yo67$ zdC%(6y%T-HfB|jpN5RkJs@=+Q0JP;RpxzZEPVo>qaJ z&J{Twf}FGyBY56H{!u8O4?Azvaj9zegX@GU;jin7!;U?fY~j>grJCy!m*%?MtxfSd zwJCaqHl-f=9Cq{TWk{e`>jPddy-K}$v#br0S13PjF=}ImSsh7XoW%HNM8yhaYe_M6 z=BBd>RnXdLnkc-UIRC#Xd7}IfQY8_dh8p^L6HZaW%?D&_C*sA6lK(a;jUI+EzKHx? zlsr-X+(~2dXa6(#Mi_z<^H4!wKzR9o9FV%J(bU>B$QSm{%c0PifBu5%NBQR*xcmQO z|GXC^D3m`>t@Qt~f1W9FT85m){4@HV7e4xMNmV+pr7oS)ex)8CKcQVTajI{l4DD<# zs^S{7i<-?^=PtNiUe_M}%A4T{j`laS_2au?tI*Bt#FHXhBcfyNg+3uVMCD7(tK?>!6ScuZCAHNb8 z$iA~u+#A0XmonSL_>0v!TJibSB^09%TZa6Qty^S!#WdFwr;F^m&{HANF+y-D{5eOV z3oW+7Z)~HM5B)qsKi!xTpo&eD&z7PVkSJqoq5MZs`9PCjYQ~cd6g$6odw)Xq9Hgg; zCxL5lda!t6jB4vIb;q`ao#?*8%c|0wDZq>F;{^1Z=sT~p_ML}PpQ=qSn>KPdRRB&N zqspk-p;eYm)22X49WklCVyo9(0tY$sm*j|>bz`7V?nBYg*+C1})tmp<@!=d4U@Sg- zXDNx2{nyD5`+pT58btqfVIVQ{!a&XLfHrS;Roag+g!ZGfo+yjakjY=OHK1LTzc_JZ ziC);Q!!h>^>n9EQ_w3S=n{>4W-x1NLKdaZ|z1qE7z0Q}zvd=r>6mqXMi=b$%fIe@> zNVy)r-09bTH>w*~P``KUG>>jT=oPBh3&2BwpVf^`0i!>=6QiFm+U@-Y9Y>+uh0GRE z!1XQgT|u?jU_29u-&PSQ*{|JkG{!!9{8G4JfI6gqE1|0B&zAa)VSh9;>YtuQ@9hj| zbNT~DT7N#P*KED<8x(cw{e`r@CJ#Gog>}$nLHV}kS|c6JIQ3}S30UUaK-NO1pUvGv zC-BtD0160Kpzb{On%4ONQuvLRsRwrk;wUHOUS_-+eN#imC3s7q!)g8>(Emx(J#YG_5BZH;!k}NqVqb(x=Ba76bQ*{xe03yLeGln=@gC)DPA8gX2{U7>kp4IN{cRnAU z>ebfoE0lkL&K>TXn-ArM8>2LZatGS^6EqSC7<&rkzrw(ZMo*pJN1|Y&y$~>RdVj9e zAAK8Eea0W%?+j{lJ_r~qrs=xz7YgWs#2FO<jO4hgMB@%)`tElTr zJ?_N`KwVWK5MMIQMUf|fTCAq|#nQUi`|XvMh@-8>z&N_uC1m-d11{g~=n^n$ej9@S zR;NAw_h8BX02D<_NF3?a`*)TF;ASP;X&i>kFnY=Exu49{AApL1lW;&@fAis+?}skc zUKxt*&^kL&a8angX^-#FOST72+T@GOo(c!aX~y?))0YSqYER1f3s1vKYV^b{`M^m7 zzOJ&VzOLHyTz(9#FG-Z$7%-mGrw@<{Xt0;*$j75k-}E_&>WM4eCJ)SXnKy8%qd`Rb z_qT8BEeTg3NtzxlI}$0z&xJI4yzIz73MGv<^yoia+8xWFcA(^)fU&Dk{{5>aIQ)nj z@PM*u{`dr{=4yW&lOFO2F{rNEhHB4ELVt)Md@U9B)@jvLVh;_i=l@z&6gpS4_>-xU z5Qbtq!mYA;K9<#Uq(d{J!ec+6fM>j-Pk&CY+JlPGqXlSoJK55BUhjVs)iK$x$7fDM zI-j6~pKmyyR;Bl4o;UP~HAS9pt9xZY?{b;M-bT<|@F=>Kynd z2wz(OU%QfgZ9e(hgb_pk6OBUfiRkeFn#SoEn8@ZW`bg>s8?N?U<6B5Gtc4hm1rQ*{ z5(Nx2RBE~CPcfAX(3ACJnwD(Uqg$sO$RYeYs#q^tgYcF@`DD1p$WJMXsYvy4p}Y$W zQEVi7;JI8FrlVBF$`nrh;; zp1^-bT}Drg&)_$BaGJ&G+OJa9bt!$It`83Ez;TF7gVY)DG_D89T6$s)#%ArQ>=iGU z&;xmZe0INB-%#Z4o{) zUGIZp^od{?+i^N+j3EI!SK|=!GSYZRX}tXkp>d^H09d%$R^MMC9qGI2eXG8508(V% z$LfXBrhU&c?W-pGF!IM(sqhtEG41j>6AzrGOzc0HiI0&Ae*qJJc)3(rBbCSI?qmLJ z;~#r3{a@-|Z8iO=MW)|3ok|jzhEpMHT{nW= zy0M@KgWdQcfyBxbtxt)8NBrD38eoU``5qibj*#ssx}7F{M`)dKIEm38eY4cq6x~^t zxM6>E|G3sSF;dfFkKmTi*b>{(?(#*SE))GszE*qql=f%Qj(f?y#`KAo*4AX&&x@?- zb@+tu1+}^-QF{nGg^k;h63yq229CAHn{`#&s?xr~%NR}F?1UdgtINV0b*y zEOC>P-nHOC1c_caYmXkU>n_y0<8{4vmG+i}j~$bFJ7hkF2XCuF)80*yFS%LK>l*lM3YzUpc`+MSZL`ehT!6W=dfTp+MPPfs#=S3JVlXcYX~|79AR-%<8^V*6ZdhJ@ zo&rB=3dSwbpz z#8T-+n=T6)ELic zzh|Tr$n;S)J|b7mv-UV}F#FaTA1Uj;sI2>vYL5?>2m@%bGf|d53b!b>PomXKF$pPR zJB*Lpvtn@{zJVp%10$Zq_^+J$FP!?^Nt6P~EkZ3FOJxaPxO+f+dG*4=sX-L?F+A&~tYk#NDp^|@ zWhb8dqloL255@HpXvh{zf9IF-`OR2;8^#ZdVO{M#tcW}@4aub66t#DZSFsE?-jKdG zgxVS=fjDLk1XPS#&%H_d-cX^uJ%FVZG7X-s)T7OLEGa&NAu__>By>S}VN8tS6XX8` zswaZOx`Fkt^B)jbxNrFIR%1a{Hx9+X>$z!&6p8UE9Ih+*cA@+%6l0{178q!>JF#{g zjQ&RUhPPmw^1tEUf##J&4pp?sjuisrjh8Ruf9o74N4Ze*1PoCQBqo0*rD=Sw60ue_u<10kQ@K+!68 ztf0m2!=p=4@R=~!(xrO#^}oW?P_O~7ZpMyXEx~N8VqUpndPh(16w_qG^|I zl!`N~cl*A*aB~)mk;tG>(mn?Tp9AaTQ86V^1y3KS{y~)YLopNCzD>+TG60$E$~iO> zc{E6MJboBUeE(F!xmzg(`iDaK%!{$kJPDS7l83j$3D#r^ct}GLM*~Mu<%=oHDA2P z3&iKSbj&LYTXn1%!c1jt$Bl&I4&SWW>d&;!G*v9t^=WJSarcVD$JL!z zKMq%$>JXG8pO%EX#Zr8#1S`>bZT;bT{6=Tw!pqx_>eAwRN!(jzTv}qxE7OgeoVqc( zIkNZic3g~ZR;|aQt>2qH`+PLZ#Q4+yWz;xkENWbc`n5JkRX+#%uiM|FS+C#Ntq;V8 z(c{C$2t%<9PRSKSQr@cT7T59bh9Cl~NLX8F#roSEk8Z4s;3?gRb&12; zq&OtH=`axM!9hG3OY6o4T4B{Xd+`1~ez6{i-$8?Ue|&wGayQnwa5pf0E6&_FGoHPD zmjlll>mC$W{U5lDbt#-y70_$lzSn`@0`bx776%qQhkV)(`+booT-3J2O1W;drvqB; zD*AlkMxSnzEc4`28m3^WO@U=^{+J&e-MY~`rj$j<3H%8A{uMGVE*`zGmscC zVh!|&u~x?+P_hYUEjZKGzl5_&k?=|cfOTn^YKRVrBhSXoQJfmV$MLR7HxfPb6`u+8w#s@5G1Wg5t`>ws%X;G)GPuCg!zUZ5``CoW5 zIPvMa&h*VkMf(q-wphUG+WwOEf!t1{T$+S|gf4sj2W9JmI#|#Q->S!B-8lE--B&@M zrMud0)UV$g(n~v>k=w4rU|lbWYF`??t!0K5qcLKk{I`hEh+ac}0|Pv)$>u@*{cn}k zRlN@{X+g;W$OS_OPCJkZQ8j4K(T{KHg+vcga1rNuv0WLP?cD>N=T z_@hs{f;I1HotI+tj&Z=y9L-f$sZFozK{|4lcs*An5$wr6`qnr{RH!#Y>!d#@r#%{@ zH;>WL1zP8YuxWI3s@C}vm?t_qrTwSqEP7B5Qan3*KcY|^^68DkBO>W!Ek=XzLxhzf!GRbn4w_(aA4#Iz;RInyK6?B$g@HMRvAV zt`)aU^a|x%o=D2bpq{gmOVt2&T@_y+?&_iteqz+(jsraM58_qJheH$2Fvs z_PZEG4>*#W4%7R!JA%YZV=cJ8eFKF)2UKdm8PX2X?yM2{>W65L)|YAPLlgRUxhB4h z(OLhlO03p8^@$kAJUHkaxe^j8@a)JH=;92~zDT9qZ&1sEP}>qp8nJqu=6d#t-Vlx^ zDi_)tb&=e6L6LE(c4r!XgM3Ow9DKOM2oC0!ikqL7Xm@&rQ#nRv>CsQ2WEEYm|JO=R zMskQACqzFCJrfiMpe}9A!l46)+#zGR(BE{|9v#c&DZ2dPxzJybk2^#zqKHP!DRMz6 zfBjjZup2AFTIahk51gkO7V*bBC(xoXs>XxMVEosItIH6XZu+2h2mO&)f63EGF+|8n zP@BP(Xc$JKLSA|0J-57~)`FDO{sPAR9)d=U=1lRr$Cny0FP+6wNQ8?y;)1%Su2?Ol zw6ua97h+6JEtA|D5ik&MPRZRBH{)$`yln^AZ?zX;aDu^#VqC z_hlhG=caJp5rlBhq|`&l>$(u~!$)JyGl{rTs^i_1 z+Ff|k`3I~=uTt=GVkzYuNVK>EiF3C%LGBcDJqkURt{0vP*ZQMtGLCTGA77J2UmbqO zPqSF$;F9l{lyt1d`s3}GYwiv|iKL?lYvV<>xH0m3)S0M9p_o)EE$%|gG~PGOo`4m) z-GTT+eN@|Vj0)iJIWL++AijYbV<3J%Rcoy=+Mk63VPV8rgV*>Ux^lE~Bwof~*;$L8 zh$S+WSs=bHLk5oDPqiGV$=tY5*&|Iuq1l*^yiKOm6UR$k#48$Xfc&^d&K5CkK3z|g zUyi*oVjmwCpfP{C5Hs+bh3?{|{xk4Mxs#DBA0VU07j_3Rm#!JU@p7{Q$kdmhN&H1- zI9b*RUWU+6mtp|k`-oh(&}98wh(H4>|Hy6TjJGy;Z-%V3NkQYYkt2PNqhoO>Eim_= z2Q9Fhz!-#eg2snr7-dX<|2r;>8qvW7CSn86Hhm(7k82!g<9ETj{((9%-Np+`JlBqw z3_(}WXvQ|Ag>L=!Ei~t_to*=~6fH+E1H69}ClAB_f?}qivpgq7_r!epqG*8(y@|dqn|1_QyjN{#l;3j8Ai6_&QxY zfK6QUr@Wu(_93vNwoCjn&nehHMs>#px1dI=| zcb_~Cr|)Dxd7ey5Pf`od)}1uYQT5u$c%a{-OR^6}KZ2;v*TRpR4^GB|B=6UdXRb$C z=f9OG999^0Y+i_Cz7|JhXz>Q(txjxX@c85Nt1&tHj=!qlixgI%lMtPGamwQr2VR=`Nm2muv1hyx~FVq|e(x*njE*buQF zdmZFduW0>4TR+=F)4d7aNTKAWbG+L6g3lQBMKhS{Wr7p8csmQ4aW`_7)4lfR9yww} zdt??G9Ohv`eq~fo&<5!?1k_7h z0b?c!lMQI^OlKL! zhJNfh!LWIbTZW-28_BtXzS}wn3ISIdo0D2<(WS-jQh7P1huQV86@CO()i#tIhlN~*^)DaQ)uu+ya42cF} z)b-&QK^#lxE&{|70M>t^qov_cbhJu~)lkAHUJGck8FZRJ{8G7HMY+Y>QJw|eD%W^| z=6C`0pF!iJ>s*EQ-t5CD1lFC=Xk;#wYgDKKcj%!BDOAYqAT!8p25`#C_5O$Use{i?XGqdQ6$>FzCa;!;m+P1%0_|C{_HHO0f*!7rpl!&%u@f)cpUn zFEamk=7Pd$)DpnQbYU(5{3ixWX`zi8lNd1_2E*`?900>dYQ5T&L^Z)FGI|b(8LxO~ zK+JFsL|5uwRP-gNqAw*SFYPj?Z-Zzf^;9p$x(0fJ=9qHmZK=+x9oUCm+fho7CTZwT zYvdR`Q#?nHh2hO-q9j5a7@hh%jE_i#K+ULj=dpAbTa>VC(2LE0TIb;aw4F(8TN)d5 zVE@Di=(w>v#EI!1-T>1QK@5v>aNP2*R2&#{AjPh)qkEv4deK_P9P}4C9si&<2eDAK z@}AoGnjfHtZ~rl765VKB)D~!vh;Nu|AT^~5Vo=2yWN-APRCRcG_aYnjF(&OJ)#V z9&Cv58(ui3&!SzK8RSgEw+n*Cdx7}MURd)Tbh>ivh*(f4??z`!Be?fQjx8F&LE4jr z@;gu)=%?z8eN-rHBNF4=nKV0zFG%M!GLEv57{1UtTDA_0&AA*6MxvV$$L}M=>=%s{t)$GX-MT8$x^sW@55r&MIhfWhB`ekoM7q2JAUwb$VWXLL&?hk(; zPbcXIS^{N)aYikrmI4ap%TOe&5~a#%@^*`dE*2yUoj9`J?nsnq8dRO!>{p>8t@}K(HVUz-IR?ggpz&rMG6z@A|Mc+F9psfhB z35=oyeQpcHm$%GM%zOy8KqJH6!0ZLu+H??uLu?H04D69FOBGtlT{(k>X-`C>Xz~gJwc!$+#k$fcT;nY5@L^)&adxt1VCng-xPUXxBy_kS%DS zE=igDA1CYMbD?gm>49B!DeSp6Mk8siH@IBlZEIf+z0pMBOUMH-A6oYe0b8`7k*ao->v;v1UCBF2Uxdfr$!Ebgt#h^tr@2Mjav z;_7|}JuY^ZuB(uzXoupJ8fGe$k|aSq^0Wu1)#7xWY%=S-@=7?Pu}+s)@dZ+LZEYmF?Lf^EZ7pHJF8d$>d`f!M^c@f6O zN!MC>^@6v7PvW4hU(@UD+OUmI>APRCA)KL985~esRKTn{#m&8x3^jm5*V>6tXdrf| zSvoblmJ7nN@yKzUj{OjaQUs_=V$_z#1hE@C^Do452k9Yly$G+c4wmIs(Qi7mDR)wc z>55U7TVu40MT$|!O@`enl~_6un=D8mE*7POv29xCT>P$G9c79=2^dbJzknZ8_v=sG zjB)#AB`}icjSVrP!T{~qIs}Ugd>dy#a;l{Ey!(W0qV$uBwfN5Ow&>nT+FkU6>U!eb zQ(mQpJNbKh$w!4ZeH+ihBe{1lmlGrO2c}Y^#~>?l0|r=F?m@#XRBc0lIY(Q6>(r7y zBy@Og=H>P$bF+lhZGq{})0Z3q zHG8!??k`8=nZ7qT{dxNCMs#5RrHPs6U7VPCHny{mgS%PECx*K1ls<830cr%Mj;l@h z3O>xBw7V|GWIbSv%ugIY)gRql8c3YkHeBYoWN{#dFGu94fENgx_>I5hzJo8Di&Ac$ zLJw^gaXf(UE+ksVi5Yt!ejm9q40@6E)$Dfs-m!c&yU7>bi9+rSPJ9usW;LT1xr_Pw z0KK854JG)B5QK|d7TV`RZHnh|lWi{ams5BySr=ZBZmg!tI}H=7K6i zfv`eKp<(32I^%`0+Id|{!q=nfI(OhZHslmF`?b#HaJozJ^|nCb`14@NacF^52lS2} z2Pk{RdH7!Yh3&uhM?bwS{7@af71En~2s(?h-T-wzXHmEh-grX`iWZP?rD;^Wn7Zpv zcmhV*GSVQEw56nJK3d%gsdA51}@*sJ}M4t4UkvaOh zzi;EYbo#hBt)bJ0aY~i0-T5teCzhf1>4}R=(IZR4i3W{H)3qhoONd^~2)^js_zgS= zkI%K^S!!tXRtFV^K`aHyy2RW9c^alBFk1`Errl8q*@2RNAg%LEoNMc=VpvMA>%*H> z2*I8JEk?iXC~T5D9N%RUBSF)xWhHP+oR6}R^=pk6&}{V={_3Cjx-kA%@TR`l_*-(f zLg>=y26_WNUW?K!RD`MH(5n53n+g{vCQl6}8uy`jeukJaCvs~ErnsG}(bv#71`AL5 z3)`T5`>tFLEkZmhe4WCJ^p7SK6kYBSr!sX-D9#!z7{qeJq}3F#dN_G!7VpIK@<~uE)1=4l+w290yZf!QR{n z*huhyCt+({FE*$JQ@Ph*G<{$bv@7T@?8J^GuiP=C&3QSx*Q;y6m;Do89CN2J?cT)q z451y~x9xc)Q1YB_W0i2T`>FZkd!0G@+csuU-SY;zTG6IWul&3i-^TN#01AgBU@I>F zcLL6l0w~gvfY|?9z}Zp&#SRDi;SIP97o*5-u4#X@Q~?)m2Yb5$u8OU-t`i+g2Wnkk!8V&(7x^^}`sMI0;KHh{dM6)n;d^`uIV23Y zyi_6-1z(AG>G;Mg29~6+T3J9r&=dNNy%a5C_wT_v&r4|WTVsde5$sS(kNg#jQ!hey zsP{BfQI+67B4Wu3%b7G-!&ed1188Mi{1elGQZZiB?ihz?T(#{q zv8tYavs52QLkGBh7GLny?s`i^cab#rEyTGop~CuOLW|Wzm=l?5>l0g%H+@N^^BwdT zG^$!hgOJj7!$PM#HD|5!MbUNUF^|~u5oRKE59?(??RQ&EEu)WP#FM)U%Aj6e#4H0D zZqX+Wl3fB5^O%NfUGGpoP$I^h*_%eRl)(%faT1cC+mZ z7|lKSa!xSzzSjBKB%&WecGYV%bHtXvg(-OC87GL*tS_<;z0U8D2<&YNh|#w((0e;L zF<005*3Cy!ml$7|!ma{*Zxn;PZloj-Oq88~P7bR+)aT<{Yx z#k9v?^GPtVWEy&En#a*xeEQ3J33l$a_vkfyv^!eK*-Q4;8ZY;M;56FN?a;y}x}BHx z{tpn?5wa>@hUej1^X;h;yoPB{>HRBvoW70cQ&cdXt217#?ONE2K4dUQe|XxaU2WBV zBxWaCCoQ(3Q4dko9e9UDrhfx>{z?Dm+vr1<)al(%-F9v|a>I*H41y*hkko09o-$I0 zYwR`p2f9NH*K4O9I!AjnF!d0eho?@YZBfr&6kjs6ly*j8pP|z~@e{xH;1=h|VR#Ok zjyB`Dy7(zH#QCRsTxjY+y?JgL)=}{?Xn(L~05d53%oIjfsGiyQS%LvEBa0aQDUHlmvgty^++ROfK> zJ%2{Hr3t29^Sl=QGgW|`aN-O@k96)nv820JBuUIXRNwQeUb9`So#@(Jd|z5TJl51` zqpe+23(u!!_79r3ux3VoHQL(DajbsC8a8#$cTSl?QMZW}*LI(asBeh>S5=25Y4{iN9 zmO45E;Tth%cdfBIx(g%KT^PPmDtJvD)s%R7A%=q(fEQZ-lsgwvYYoKov5<~0KNXoH z2c>eI@G?spYw_=(Up2F7LFkz-#$7acYC5tK(X44_S7d{juBq9&~Yd>0V_QL|8Id^XmKcGY1G;0R2L zMGM*-ta-J4Tkh8)L-B%)jDjH-GWh}nW(=ng?#wawiDZkq-WgE&Av~|Fu65o6jyKue zIyIR;kaMfoJn@Gr$zS3NLDq_ZXDmp=ux@2ooKgZPNA1I7(waf-PBCs)o2;M(-ochV ziDdZBj(XLFH%0itwSe(aq5Nlf2_oMRX|WwhBiav~m2$*eJQ_aL#@A6$h~JmTza)>| zDTnV+U?WyKe0re9-TqY~0iz>dYlKFP27EzXt-vklhL@4Q<(lx_ zWueue$p9)FGmCxrVzGGXwNA&)z^rxEIEbMyogky<_EJX6kED#mIwLGXZ_@$>e)NST z8&^0ny1mAUchs;wt}6V6t>}M9o^{;~Ax)Oh%=!*wO}{CkR=ngs7^(ulv7_p>J}g>L z$Q4^8Ud-Ksu^M&n@8?1|!-2jA_{K&LzXHlZL%t z7&ac0rWC5ePjy%{JfHG}A+*@(_*dBy#=CY8IqidZA)ce(fuVO8{`gI373-RCd9c?R zxmoW(04fpp#i&wlLs*m66OGP5;@lRj?u_7z&zs@h&uE>`lEcK?M(OqUyLx<<_!R)! zFZma2x;@Wd*di8_U|7-)B@wk%lhyA09T`o99g)v>0nAsW0b?(IFA}fe%s2bDQ)>KP zTuV0;EjyDBX;Y@t!I78)#BoEfkQCFH%FiYW*Fm!Q34xf+AG* zipty|B4y3~8?TZ(3<}}%0@&Tw|5tN|!8_u|IG5r*pxRb219e#VMAe~qYw1UilB>e_ z$9#v5--n_M#pY17i3$ofYHNj?&ii+b6My})P<|BBp#&b0LT=Nj7AcB04CnERl%k|X zPJOYQXGIG6y%CszHgSj$cYVG=RmOudh3Ijx&!qEm7!;{0$;FDdC*OgTxtX{P&o~>a zY~ykpsDa2Zsh^5nVg>oNGW3cbY?+*iJs7zckpwSE>d}y~3=+Fc9BD-O=tJMc`GGDV zXuLSGM$|F}nQ6cAbbR59BP$NvM@$49`4-+WOvO8fQg-K)5$~mmX|vEMM@|bSrX52k zC*cIshb?6zN1H+SI7|v?hwcQL2^y~#3DMR+h4lfkW|DFH`rmd1CqC()_zZd-YHw(y z)B#oC6lY}ie^Px{!7cuE^;L;f|E&5nq`*FaUdR%QR0prZ+~L%o-bNx-i(*^PL259K zgnC?TxktDn52tMivjd5LNAx@OI;_}P_m>a2{e@@4C;0Kpu*mmAfBZJusdQk&y07r! z$g8kJHMt7pOr@40yh^-*zZ{uixM^;-i6<&i-_e?qaFaezBCMJ4IRnNG_-{F8%8RhO z@n+i8Oi{tQg)zQ?TBO_&Ob(ZQm8uDEw2|(ww?_JTY zlYm0Go9v43h`&!A(&EFg1N{OBybhP>hOzl?4ffRBJqh@0dSWg0cZKqWXyCciQ3ynh zn*3Pg$1ap3a7TQ>SVfHw(I4RJ1hkz716XSXVBboi{JqJL+cq+1q=}LwHc)M38%t@k zuGk0s7EVzOBl!K?&D6cm#;$htb2ivq_22aL^pR=*A9HU4A60e!|0j?@P;tg(H14BL zG+4EXH7zLw5>4a|Odtvaw6)sJ7OnMbTfZ&#>jJ0{*5Hm> zw^}tW)ue+;wJI+4{@j>@!5w1Xan!<+4?WB8f3-TyBlg2 zHe}C(%in2o%a;if{a6`L$_9zvXAc{i=@k!9-xmbgwD1dFT&qHFt48lUx)&dyN-?9S znXmWQ|4T79PXPjMXqd>#kGV;l>1@nREkNdPvWS~_f2ZdY-VI$h7jE+@I6(XS=Pbx{ zQ%^p|bd`k;V7_}W!u3LS?=mUOJLH=6XSd)7%%^Bu`ZI@l{Q2CJV*pJ=OSI5tUA>nj zLHlfIv;9G4H#CddG`((U9W#&*Q0dfeObk+3iQyMO?DC?*G?;wI4ORFBzWmg_H>6-{ zrB8shUi@!_#TQJi7eJxRj{;^mm=CwM7i9}4+>1Bylig`{ncEvo`>A0p%GXF7JJ6i^7GZF{$IJG|ds zX2E~b-dn18pg$)(HXHx%rtS5I_NPPpWJ(b6#KIG9g8!aaVJ!>#aM9)-Is|=}{uQwD zxCAo3owX0zTT>T5Fk;T>`SC)~HN=>gK#p$cRBx~Y@GV`s+N+l} z)joU4E?G)nTM7o%K6B}=>=;}!%!t3-WDc8qQSEMt;7NAEO37@LoxgA4q(xVMCj+&KLTvx%QJ&LDXg% zwSIKb`0w_$#y670Cy+ENU2h9bY|blrJ}l@^^BA(+$UoSyf)GaVqqbw+v|rrIGI zo|D`aY5q)D^D~j+ZtMn}ilbPD&+cS?D#D&Nuh4qb3|blmOl@2S{U>nN#K%EUiN`A1HC6znrsXf5pAhT!6?R)5XgZshY#4sf) zo#Z5gfg5@YfaAYg%>Pl&!3FuAHrst*L<{FMonT-Dlfyydw0A~5xf9S{w6|ItkL*28 zjrV;^ugB52`g0sLl+LpL99KzE^=B0(La}%Cr=(wh##d2dq?0_w@6VZe1b8X}0vrYc z+zCS+$gk?ZJbqp6HSQ?{%+qJomLo@#@Bb0LVx<)3+~t-Q>Z@V;15zZm%<67po6tjv zFoS^+?S`EVnCzsV+O2WI)|ZZ<6I#s=b9?-Ac*Krs^Vmq;D^e!YHGkC)#~?wV)o+h= zR&O1wXi`snrdwM|hl6dZpv>(7H0TA{@@;j?DOZ#jH`Qsc+dv1Hn!m?~JE^)?K}`Bh zQtvq|9{D_uF%n^mGx(BLF_5f2gS-Dnxgn&Q|aRz>uOzq z;-+oCP3>p)Y3-ZU_xfZkE`T?>MIcx@>yi>S>xQnKwYc!?$Pxg+*nUPwy+98SmB_`R zbTJ7Ew?LGaqTUQk0DML}WDX_sp1I6jUgn+s%=dcV<1oLrWwwltx45C7AZu62cxmdP z8>&HW0LMVb{gh@k+g(5Sq?4OY>Mr{BXBg6g}f3a!%_ zTsMx-Kx5AgM0 zMRcZDK8}7&*|9)ev%QytT~{$lH!!O9(Q<_Ny}FpLX;En{j;!?Ie(A84F7``vOxG*D z$S<8}rQ`|y+I>sJLQ7uBZjFn#T*-;ql3#a2;{n}$YSQ*ve0csnJIZ!cy(sIeWnWFq zIe*SYm(C#~GPV(-?Gt|ch08eh^A>Bri7QI!@jGUwy#?%3JpHnG1inN=-qwm$Y!FXU zx2i<_FUzd)wrH@T5V_sXwj4td#^JRTfBq=|lTyoxG4IBNUY4PByU zZK4a2B$yqPTtdK*iIYy5*j+Sr;)IE_+Ut&GbzBtZv~?^}zgR{MFZwi)H+#lkq%Gl9 zo{dS3g@y14E0s#nc%t=vK!gZ|8aK>h9jq@4*DawtIqMrX7A_E??kw2$UT$Es2F{0- z7}z)y3^ux0ve3Iz;wfzHw7%B*mbuNhG9_&4ogZ;9L>%M4NO;Z!|>WJ)xM zpX%4i4h2C{S?F&X0v7fAz^tdWr zpP(&eZ=2;5P(Q|v3Bf_SbEe)&jSniJ#o;!ZX^fpBG5SK%bOg@0BS_$RHqXELA9a|( z^5j%&tS7jOAzNg+vIUh?Zr`ZIT58qJ8}le0x8m1D+9;tm_;6ihkzTqxB61$EV#$uk zPc6e;_6_?0c$7KXb_KyVPJ9vN+zqXQKJaM;3y#L9hNs>K*v9%kj1YP7t5;wF0 z2=|SUJv3dn(&pi_-Zy>%hrFlsUS45rormKq)HlS-a=f2qt(RrApQTz^UZZAeSxlN6 z(z*(ecP1#8`7y*)d@meH-8TewLnmr+o(}!vo@}y+)eU{qlI!072~wN;a{gRewDJ)9 z5T&Es|F&?m^jTQzZt96$XY?wy(p@or@nN|L^qviYYsNdg%-4xkSmx)v%- zM;>Zxvzje%exFA!e2@OYT_zfrdQaWrtzKXQ88-C(lZpWC(;Of%0%J}w;_51`EYXzv zM01g-eBnCvn~Rvz;xS^;n?y_Cw)0~Tx6znNOEjn~Zht@l#x9vs7@q zfgM4ObfcGkgpJg2`*3h z+2Q%grRrrrtOb3mvSsS^Ei8;yPywp(ahKE__bffbTvY%D1`zF#6Z=JLi~7S zwj263`(l|AaPu?)xs3Rxnv^`?>JAixOn%mT0uTc*d-E#%41i*Nzwq$$H&R{5a;TT( zm%J)VNLl82S;{B|o_Q>x^G*^oKLBm7{IOx&wRG0UxM!K5yl!B6jOhawE4y5p4|{#- znp3#|xc-h}szZ+oaYv)Sh`x`qn3okv=65ds1s?W{uB5 z@Kc6^u>UZhzHszB(@C`rR9i^DKcwo#-u**f@NhTu8C%h4Daofbt3mFZDThu^rB#pg zW;5Zb(t~;TuN}LP1pnHxokp=@_LqX(G>UZJkg`pI+eG&D{#;7Z;=ac-_9{4sA4C1z+{q=M@?1n zpOl`g?_G(#on`79{}x13h=$J9fzFu}(JT=3cy-OLxQ+AK-#idKXFlJ!n7nu>TgzbO-ij0DTiL z;vF~Ix6&JU)!i~MqATnX8AiQBekjTqzW9$IL%Q_&KPc0yzU`tN-qw3EZ504-EM)^7 zYrXc4;l&MI0J8Ln)ZEa`@T+5sfnJy|@|D(!6RIC(E$$Lo&TMWi9_?zk$adm1#<46m% z-%G!VsbIH#49SYQ(Xd!p*09!`nEUx=Qba>iF^y-H0WV9rMk!DltZqZ^ASApr#d?!n zM@l$~-TeXRL-Gj1$56J4;^pM=d}73w!j^dfFkNg<52$(4$@M|}ASsq%Uq(&$EFp;g@>I&&<^fgdhcO773*cf70&XNBhEIXE2+_4Y%2?w=$?ZSU)}*zeH^kNr(-!2&*;ePsr@c2t%s+K3vU<~9yGc*vA>fdyfX95rrd%cTeKyfFG*lY|v zrZL2reC=Q3W^+K>@5DOdx^#uWK1bcWKlgRvsu%%|U8K2)LV^)Xs~F318U0u1Y#)>7jRM&S2#^65$~z726yXP*%aW zT`kj_Zm1Iqwefv!dt8UxpmV6=4Do7~>S~hHJhmVqAX6j|L`TeCrK{y8wC_|F^yr6w z_!2$3(lXJb_W*;z?>iuI9$qb=ZMn1zq3u2(;~u<#ww0i1nB~Vbw_>>_F1(U`AJQ#bDPDz|@{Iz0 zqqTUgTM-z5?TvQ-@>XcNZC+UsRi;a&e``Hsno}a2)p)+qPum%E`r6aoiq%YnvC%dN z3RaKevBuB+=l*1gTg&zASd4pa1W=Djh^Wz;8kc|?O zS0Bd%4vo^t_1kaei+}D*9>=702AxJF6;i}gu{=hr}GfR|olaj1dW^t_e zJtuX1*v8Q!w(fZbb$Je0snHSlX|snqDQR6PA|z6A*g1d8$gH_8D}_CN=vLe!?C~XY z_A0w{>8H18&csz*zehGaO6QHbboGD{%28eWN>-W%2 zDtTd2$z3|V@V&(i9sGux>YnC)r)t(>?lQ<@2l@NGfsX^_|^ELuqKq_CDRa1os&5n*CO9j%ik?}EIJNJ3ci27_&yM2(Xi4|V_Zx%aj_q&^XD|GZ z#xRA3vii5+4Mg4(?zY&n^ZRfBTcVoASA}pg1iqO$kbWiGr3vrQi~7|5N#N43BFr=2 zTr0X)QM^fK9BQ9R{F4Y>R!?SkE<^QWcnM@kIz2zpd1HT(KEHPChC+u(D0+(_z3Py%wPFT#KC6VX)f zd#HIU9eU;0@iH9t&DZ;j3*a@7ek6a=pJRdQvV#b<(GdtnOOK z2{9-<(70w`e{${5-A?=GY}>wvzsXNvy(781xZVx@2#IJnQ5tQyp<^V@VMrpcqnTG%T%W z{@lYuyLU%+J*}|ol+$)+Veic9e+9Z@&mO9Vm%?mI>;Z z&fvD&pMJX0L6YIx-gqi`S$y%#KAAq>?cb! zFO2qLHS62A?6SCpn|rlcmaeNrdaRVauXl{r#7I35@)ilR znLPB2{*sWEqD8A4It%{bB-axvRo5j=7L9OS(vL4!)oa`41+hKUBYmW8LP|u_p8Z;;8hj})uc|&(o zm6ZN0EYvD~jqvj2(%u7Ewkp@iN|~GkzyyRnB0+L(VYRBX^j(nz&#USu#EMpUf~^A57c#ehyl0?&Js&w{QH;wuD9ZUh zZZw}l-=f8vW64`1KUID0_Zw`A6G*t4Z~wxF%?a?j0@#ey;DAj%aB%b-2zp&3R(BIC zJrIMsqRFP|0BCk0fEWn`@k_&G8Ku4wOWhS2sm$1J5EiAHicL|jeUef!JgQjJnw-DC zNKbqUAU9(zJ>=)=T!)obl_G*%mD6@y<&XR-RnD*Sou7GCs2phRJ0cjt>_1-6htQ zW|pXknElCDVOPDo&XWObYb6?uAN4!xHGPw7}M2zC}d~KWpRf+`Z}-#UmxQxYDLoN$-B} z`%~8@w?xM7(w6+^>b@aZ@L_9n_iuZ!Yf&sxf;GF;)@EMz%~W>k+O}85wmsOUQ)s)$ z5M5MsX}Im7o<&p09*dMxWXKA546s!T%e^A6j%|CWZS~u`*S9^k#X3RuQnC*r`_L8Y zqnG_!%br~ypgypRJtPpEh_BemxJ*rn@JE)K5s3YC&1fbG{nZT(hHasSjO+)XdXm1l z{Og97lwYga{k-yn0>SaLf6~DA)$q01f;J!9S>IRxwP1Y@IR`op5b_t}U^qPa09X1( z2q6`?XV2X>{o{i*Z2u18YhFJi?ncL30uC3!tvs3AN#}9tNvqqKKJLQ?90)FcDf8XJ z^*sA5^`CK7SJ(Us9-V)4AywCW0M+^_uPvN>e|0EfCWkb%zcRLI*b^B{9Ic-b-Tk1< z9z6Y<scsezO4 zbm*W3`!vD7j^S~y#3;V+1y{U&P2VBpCXI3mAk0%$;sEx{KQ%wtI{#l)?60p3zTFJ>>{ut@6LL2sqx;rYb}Hdv%t51B6x@(U+wSSd7% zw!Z|K1e_7iJIUvwwU1qj$JnGYpFWPRUvzA7-%pe+=_cPtTV^Y<_vA~sg6(a@h0NOd z+!u3IY@6YALvjlM$kNWP4Q(5{8W)umFPc(ZoSD$j)-#rrHt+CemSXm3XnU}yanUZt zjf)zKm2*($;06eb#+b7|1OfK;ozGy5TYc0Z`aPS1P>H(*f` zjE&gp)ULU-BAU9YELM!nV-bG#%My4mvqO`sEo+beFq-_Aw?OSZGa-ih23thI%xZ6a zmcrpPHHi(}kBTn|w9PACbyejCE!!pqPhXojfOAAafCnj!Es9rGKe(Z!Y_eUlqtB>^ z@=Sx}9(5xNWV}vbtAij9j~^vJVIv?z+<2q_Mjx7)5X`L1Pqx_yH3797EMh}YKhH_#S{Mq4+CPv)4j)u;83Mx+zfEP!r( zrZC3<{dp0UXh(`gcUX)T&AHM_^H9YDRW!;}g6CP_o{P#kkEZkOaA4_)M8}E{Vim_c(vRSjwNwvF%9h5tiV9p_=qLn%M53K;=N|#G+uL~ zrF`s+APSA_Md@QXga2`G?m+}5ieIi!ogL&TDry_O>rNb5<{GBjhZ65*rmxzGL^t%n z6S8r{Pjr$`aQ13vqA)nc565ahnfq(2u5EPrPKoQY05u~>{Riud6UQvp=aC!g%ZuBt zj8wAM`AfJ-=DhrzHz)B8U?7}wR*CrIc1gth(hoHLm0t5FKPeC;PITH;OZ*7)sId$% zqu=2!;f79s)}Yv-<1d-Y9KZGinW`e^Q*)KG+RwR|oWvQ53_Z3uQjC5hY%0)imKJAv z2jJUAa&XxuoCs`lTUaZ3K2%QfdRuZdd~m|-1Ztyj2HE`*4sFCa5XVI@^6Ne`kGDx9Ll-5pTO{}>)Tf<$+uSm~owTYlY^ zDqD{9P*mtf53%#o;0YjW%{2^v1tE^eRxV7s)@sl;*HlpcAKoD@XqaWs5_0jLKI*y{ zodkU7y>5Iw)rp#@HU{RNM5(v6GsC;@RF*#KbicqftWm{EZ=)(FdA}_t<;}B{_spJ( zQ|o^tO`u0CP6c~UN93tlT|A=Ew5gGl#_U5m(0K!h+4q8xz<9Wq1>s(}ZX+4< z=;^+K=)*T)>)^zp9F;~CX6Jq*VA9SlmK)jr_vpJ>37GKo8tDA7pa@{5Q=L7`Ccz$B zm9i{cRMaB~goTG#no3Vv?7ijenU*H45o{;eFeV-Ys*f zHU{c@U%)zT?FqgPVzhVI2iivGo44HTt;P5l1FM;!()m1V0JA@5Zu=8wj+P`B zUzm_|UF#fu82-ukSpug^|HhA#zTSvprJ}_W?}B`V_NMmDv!luPW2wXCdZa_#VqnH2 z=)ME(*=ramjC;?6LS-{|w>78cOVYJF;#LxlAkRp{8MswgaH?05lSQKz8mB8$B3M_o zDei{0(h>2j#IS}Bns#qX>|uj#UpG6C&T9+%)Gf|}()t{@uO_)&>n|kXzCg?i%v!=3 z=t5!)K2)hLsE0p%*Xy;AHZ5@U?=5}wyXKFypxgQ0_Wpvgi#|_71vXhUi3gz7U`)~) zo+2ha!=sQ~>w6Tm9{7)1_k9P{hu#BdUEa;*lJ3*#M+Yltx9?Gy0V1stz^2AZ_Jp(Y zS})Vf^73>?>#JX;1sIk|XFtWmw(F}6<0=U)WSnJCd>_pM$1lbOxzDMLTgSOI$*nl` z(Sr38yIU>wZJ!NF>||TkI_JAq2IO?<EvExK2y-g~r zdn3^rL23N86A1|8T@-3rjHx~`hxea94Fz66$DX$j#vK!T@nIn!xQdz54Z(H-MeLP1 zjMT{jR6do>=adt4+y|ZZSGG9Ciaibu*E9Vu0Ywel?a`hXF(5KJGqk4_=g6+=jRqMI zYe^0k$kBqEG1_~mgqxYE1poLGE4kF2afan?;ejw+cgS@(fQ0@6tIf|Y`}wIM1q+Pq z{=WDtt26K;yT9^!qqo13-CJP;-bsGEb}?6&=c{9X(*ofXBo#bbeFNVI+CQ@Ug<&b- z3`UApcS*$K52cs9l*a+Z!4eLPf6&8$K{N6=aH!$H9+W~&K?s1NP(CK6X7o;0g&U5q z#KF%A3kA5*InddwIo}2o%#*o4CS1r|^ve9@V*))Gz8J*fD(H0S!cF6bmeq z%fMk#E{O_sZeWbdgZ#0b`35M3ScL#%^!QCSha9lC3vo z7BDYebAyx_f69K2G~3>k5w(Dd2NJK{?bUC}0-euUPli`pPmF*AosW8HPlFGA(r}iC zH3|vD>?k@aNsc9t#ZThMq4jqYsVB25^x>|J)xH+!Q0NyYU2=MJD!!f~SFR^$S8RQd z+eC^J6HrCmIEwO6^26~S4lMeZik);z@s?=d&b<@=kbnzP1N95Rkvic5N{*&S;}+5# z%#>4JImuX%Q)-5GR@@WA^&{8U2kv>)bb>(R6K%vTy{9+O^bduk>^KpQwuMO#bdKZ6 zcWc-T==;85@1a4PSaCTSt2CuaH$~#8M#~eG3Z+nhla_GK;7P zZHu)_D`P37kS*8nE(-B@B;=tXK=<3_lRgNO>m7IJ4abLzvx8yt1@QD8X)vn0i#pxV zuMklleS8UdmfTPv&tyhOjdUwY9`pPOoc{Z3IR|fu?+S}DuHjbHuPnw6Z8zYgH9WNE_Luwlm*uQYIGUAd{=3J8RjYvG)h}HES@c;~^@EC- zdrw!OarO7c1rc7}ci>+ja(3*GGf*Ba`|p?fIqCH0k2brXv++&nMDjw3x%{Z9h}oP}mf*r_N4g6(ypMG4 znb^wyFIvi;-?9=a9yAR;(^SMp%xf(IO%(k1nZe%!vg zK_6Hzf8>nN>n6RHEt6~zpfg}$Nrac8Sq*`U@C!>6J5RhF#lBT8KbZHUqfn;;*DROV zQXq24#957jXSXzb_zc01gEAG(&g_J|;^Te#*hJ8&gBQ;VTr}A7MHhA#>G&M_N`tp2 z6n~Af4e1ly_ZkBCKh}8g76KeA$h59xSI^x?IS}7Cl(YYc1f=889!3|xELOY~rLw*k zZFj5V8@yQVduB{wm{A3k!r4W(R)f^Opa~q95@{78%wz2&1Zn9#ae;;|@qme^k{Jwi zj1lDBvOs5z9-zCh8#?X*BwmHyHMAZe6iXk~^g4*K7y7FD?{{6XGFJ{d&oS)Rl*Cl5HzAAr(LTxeY@B_Xly$6|}*9y1Dq%D0YLMDAK2Q;72?& zBTz8iXE{R@@pW6Ystzr@p8-r!3QM{$Nt#5&5f+jvH*_dp>7*9YjIXm&W*(b$Y3Q^9 z`~M(ty{-z}9eaQ2n?GPZpw(0M2 z`TmaZ`umWz!e~}-?@eKUukl1zq0<}dX}6+#d7htHciU@=6CnUFW+cWdk7U`4*kZ+j zmj(LspmnPa#h~>(%>u2bM`xiW*45zqXacQa+qTYlwtHUTwsmMR71QVz^U6kB9s)jm zL0Gm5Lwn()q3v9<4JI23T3vgG6rc)-$kRt`zpmn}tP!r_Y^u&z*WW&bjM(P<15=zm z|4`W`Qxm-2KmU*!yu+PfWrB1GCwQiH_))mbAsz`IH_Usc{@*TIGJ^0mo+>RwWmOx5dSD_ zudJZG_fUAV?e%=e+FK$WI9;=nH`?psXT`8>+8bu=y$G5z&~4lE(7z3Q8qs1#3PY94 zu>xbXd-f_yK?j;aql3fl6CKdzR5Ij}D=uX;S$f?rzFY-UaVuKx)!(bZnmmxR^yK>! z-rbL!1P}a^8_XR|euXv>&FK@%nT)UrEN?arc)&n`TPxEr(V$azHHtkO8^_w)QCE7f z8tTDncfrbI7Q?-i1T;WL1L%;-lw#NRM)Y?g5H#!g|0k8|i_YrDHs;vm|6uYq>O z-ul|r?R3p%B}lW$B-~IXbz#V{ncA$*vp~eCJ~ZJFr}%^tZi$#UWc4e-VY(4G+<+#A zezW{L7hQD0%(LbY3T0!wLN3G0&z%#WdCts>m12!1)P_(Xvm4(tyU^?`C24=%JO?*1 zuWh3v-Z^)a0|^Q2L(o1iwj09^;T24~M{0!_&ozW@#Zt;=^=sijcWQE_H0Q+un-nR` z!rq|vwi(%49FN-8!9M&gNi;5tU!0iP@USxX_oh@=L8&7$E{pP*3B1q(4145^X%_)EY# zP(Vjq{MU(h>-F1Z$>-X82Dfi5PMpVr2E+3eL;bM3gy8>>B@mae`DgBMc~i_H4tT!{ zh;1jrw290isz(Q1w(En2^~^lw{C4l5tUWUH4!Ws+Z*%_Uhh+Mq@82!_p4ZRu^vAzK zeOW;45Ux3Iqx$ImqGtZJu_mixKl9V)Q6%@sqX_G>dJe|MPmZSM_eN8RExwXB)Z4eg zD3sU~t9>J09{6QfRx?ZNOy=iu83+uBIKGFRMSkJm``F3vMTrTx{r6={fqJ_n9m3Jcl2)HO}c%( zv--`E&dzL9YW);;SU*)d)gL)5G=j45us$evR<9ZE6hG!vvxZ(B6ew1Ag^7*J5pX{3 z=2Ua(@#>JXdPCT$UM;XK{D9rmA{D2U3i~BhjM9`;F-rR-DW$^y>-_n;)gSa~YjBfO zO-oxq0y9CFRVv5e(TCHecb<&!tE9`O55Rv{XrA~7Yg~i8S}u7EYka7>YsCk0VF>)@ zp}EC)7!l|rfUS%;ABX*qhh{98#InVnyWJD3gn0w-t>0@Sm07&5y^hSE=aN41U3JOx zcgw(i^6X=Aiw?N3zA5PALv$q9N7H9Q&rBBI-sM^@YI9$~vSUO{y$4b+dfyKD4ZuEh?YvQXM2hF-B-jmbs zq(2qV#+RhuSxm1H>kjGH)92@@nF0-JHEbfUL8XUZ1&-$RCRhZO&qEP$EABE*L4xQ1 z@DYpx4==)c<7e>)I+0?{umVTFWrhil_%wKYScN6rO#kE)Y{C^XvMH;SZmQnRB zFn7hV;D;AoIM?Rwf7a*ymLr+79q+=7frBx$lovZx8G*}svh;d77D7m`pUwp%w7v@>Qy^iyO{5U@qMppSZVZK zBw{Nqh4p=;b(Gw#*{)ugtDjUpdz(n({M2c%F0&iz!|eQMR+&;RL9Ee;qiA{xx&YTN z%A8I6Ok_8qjtiQ$Mg*nZb4`1Vfb#Ow%z^Ck%L~V;8V59DL)T6gpZGRK0i=$ysq<#o z>=&k==@1z@20I6#?jyi7#C`d4+5b7mg2I#1E?<4eTk$>G|GiUUf0odxuVJ?lC(F#| z?Haw=BJ-l;JDe8;@3JehPGN>lXla>wVs@E%@{rZ928SX4U-g!mo17K-W#*>%0nUp2 z8go-(Uz*rWO$d;gU3eR+H!*$xxT=}5YW_CK82M?fTG!V-^(-E*8i>vnmwAQ{_gP$R zFmc!Xe!Q~QOd_j3mt;*9&A4m0&ywM1)a4yH(5~?Fe!6Ui`@x_=?n+w*oVj+glRAjY zj%X!+aGgp0#7*qYHFl{hvf*5={Jn~?12#k(U~x|Pn+tJPr{*x~Y2@(YYpTvKxu53M zHpE+#?08d+-LmYaTIP3JRQu~UovHks^WEdqd;S|pL!CM>J$gq6rmusEh%pa1FwHF( zJ393J?)d-c!1SRs^kw?*o%hCxTiyTWj=KNo9oy|b#dp;Gul;A;pFu;}^@4YX^K;S~cQ9+2QLYb!>!6CP&O zx{LD1Qls>_&V4j~c`S84e$(=?!#S;0yOeD74c5M*tU9)O+r+BWBvp4bHI?4q4%- z9*>qx5VN*j-`s)DbWM$N!9`%57yp+Y>#m+41{s=iAyx#r-+TOy4-b(-T(8?yEr-tj zaI0m11WtqDW9E5cN~J5wW1QFz7IrdF%ximskAI%mj0zJRj!Do~(Fs2D^RzYY@#S6| zwF8un#oa)QgV2xFUh?J9C5dtP4={3l{i?ZJcoA^wMpy?Q{;j%Dcc1ku)Omhx7$1v6 zrRzp9V&ZL)i#WEbb9GPHY2R4lm_T5_ZNeo)x|Vc;Oz%g!i7{Qb*{g9s0Y+wRH*`BS z7TRa49J3~HWCw6d+<3!VL&4=b%vdnI|5h)x!}d?ov%+L4qXJ(>4+(VcLJe-{a1RJX z8n#?;Y5;KvI6w)l{X@4cDJ`OwMTd}`D{R$WR;+I5G2o6ve_2s{=j_#iA7rL0Kv#J| z*w&xM)gGrhDRI~BJmc6HRJ2yS{q7o zw~CLFU}RmAxo|^Y@$hCpyvUgPzn`0%pVMI2<`=2sCJ{%w~+4S%m&Y`#I(wD*7LUjEvG8Lk0&DozKecB2=bkrT2!Mzr%se;0vy>fEHtjRh%14=0?pU`8t8iH z^6qgyH83yD$zIM;-fYw4hS~%=XsF^zLA*_^~YxqbhN=$(aE9ugQW>SjhDw#xR z4^P==7C|lkE*R)WbN%%(Ah9v7g{A{3GF?*VW!}QZvYI z=xzPoN_=#X(y()r;qzQLkhHg=%<<42Rj!i4<_CLd(xgMkXUdc^9q)&**krw&Ia+Xv zz&V1x4`vkq0#OtT6Gk^XhgG^cr|t>32blDm**Sy>dYtSmQryseK+lT_p=RCC1l}oi zcatGPGr$26o|&P-IAA39W*Mtn`-jw<>3WeZ-e_ z1c!T-DHX#Sn%K<^-K42woZqDX#OvZ7Abs`FnU#@rQU0|JWIb2)>1>}@hUVX}PKOo) z3!gVv^lKh{A>aOY{Pu^a{TDUr!uA{U?SBC|eb(Er{aIf7mHGC?NAts{{eJRt9!xN5 zCzNb(A`9?GUBO^hZ`2U0-HLYscx+^GBPuWsn0Qyuo@X~?qNZxL=KP|xsQ0_IEMU`1 z=24g2yMt}ZwEK?Nq_o>8@pOs;okTq6z^jzI5dt20_Luk%87X50sWFe zd3pYElX!A|*l`xWHFrZavD9tqf!T%CbEo@z`5wstDWmu;>T0U=?w<=t67+$NACQE+ z1qAXpznPNF>5D$@`>m?*sAhsu4Fq#MR6iL0Th=#5^>_e(P@L22+ZagGBd`&Tkud!_ zpntzQX9G8}0=~hV%&v)RH!x1CzIFm=cOIsvZf zaXNtsJ%t||?A8e51Y57dLvj^9Ek@a|LORv~mIOMw^~tN({I62GaAolKZ93he=GuP; zI*%iVu%Sw)3}Ac~;`$s~X4fRpQEEKc(&hp`CJk9i8s`+`z#nXAn~(o)YWQAit@AZ~ zX`jzw!%p32sbCHoWh}MaTI^n!pRNnRp9?LHqYhux>}smVNQfNmE{{Cqa+|WSKaMtR zx25w*VsENrzJrnEKv@18oF?>4)P3B2?1sJzZ6O}e^XPgZMkT`j%)Y~P`p}*6tNt?^ zI$m5jb&I+zpSRIY_tp9CXR%Gk62Z1{9MR8W+rcCukA7yVWmK4!X(_}Ainc8fM(nI1 z$iJ?0Pu1c@xb)d&pkuhwaHQvElRQRT3RV|j#8N0lR&~F^Us-2D*9uRp-usP6EOKV9 z-n*6N)oXU+R0#(QY-El*6pToW5H`#fHna*fv$?NE&3K40hDVV{EIBH3ke_yhrF|uq zJR7C&d~Xl!F@_J<#ZXkBQr88)BOY;{5Gh@ETD^&#BT4gl@y~2F>h?7?XNo|YuA7gB z;f4&p>AJrm*^yKylI9;3nx!Iw00((b8m$mA>x847M-!}}Z=Dgi_pyeL_T@ohboTwe z;LCpclB$`){9A@olp(1M>AG{+rl!H5M58CJ-Zvuj>U?FCN)F$bl2N>N)$V5$&P<}@ zm1C{s8?$nwyN{Ce@(vX;HPA_gUIui5&PnV&W%lLUVyiIppx|v;0-Z0&#VuWT^qB%f z8z1`V%Vx>@L>ffc6o!N73J<1`?o4JDH%E$H5k>$OES~Zxsip>)U6)a|IqhBCnl-rZ zMP4{|jW<19^c7yL#`kZ~;5=pdvY&X$vT~v<8?Cva-x!@paYi`{Y8yXJ_-0U1{}9Nq zQ%|MM%q>uz&qM@fRp-m-leFdsA@G4(^Gs^@F9I&hbbGP5jmi~q+YRkXk%GqBH?oj5 z{tY&Qi88wY8#nYliG%H^)KAyhH2vwU+%)YeJV@8o*oWbNJcDkgOF#U!if1D@ucp5_ z`)@ya%|R{>&wlEpz6CT`n(2NH&d-1BhGt5>rAki*oK9+9y`)2#v_9#x39lO`VMsuU6AlDc5qgfk=lJ-G8m3!SH zXgBP?Zw`NQ@bdft*i&ln+7cgS_JFEbYMy+?tJ@PuK%4quraXYIgbiLr}Jy+8^o^|jkbdzQybv%gC zREewVmiTE-ia1o0;h=B2Q!7cPKT~Xnj517}2`2jN(&wX- zEmz3P_1U)skuqMg{s(z@m<=~o`r7aO5oZ_KqW8bph#Z_&QAU>9%j_^-KBXLnPiDde zcLtg5;uOP2wRlAwpJ$)ay+$EIfOn#ipgU^SZ;N+Sj#U$}k}6mXtMkc7A2OBPfe+t?bJ?*gcG-pPsQt|i`^3rv(cDQVzF_W%zhYa zZ#e@e)W!6VtK?<$V4?jko9a; zk7zilniqwC0_}>8*5?-yzQpw-*D59Wt4KFX1vl9My0y~vN|?pub_!K@#fH7r&^=UZ zXAA%}2)d};gwn&W<e^*?itoACh)ZB1HW)XGpH!qzUp>*TAbLAr)Bo^_2$&Q>OC`(nA-O=PtnwkOZY)~ zy>q{kqE#q!z{m}a_R3qS_(NneYD(8!UzllcGUY4u%#_WkRbAB4oIWRL9`gi`?D}w1 zEOpdB=zpdriyt3uO3!xR3*5i);PoO;80mt;ER*+$b+` zZkBo-q&V^vF;%JeZpeZ5om6KVg|ySooWu_%E)tX9aDN$zhSd@zp~Hkf0AZ)h{pP0( zqmqjYq?6t3BRe@>kiI)R&~bv$;QXgX-ZzG1GGpl_sEV9zS~87>PaKdhU&9?oq1pDo&jr3-3PJQ9Xf>+wn&8LRzR+<%wI#MA|~W$?1v z;CPPAvIPH?-c+#H^X$WOi0g^-0s_=XMBHSJZp`2y_r($IT?O z<=xQYANaW?Atx`^WHz-LTa;qXW#Y4A=WiX!ymNTrurkgq92PvDKqiNkb5P>`>XM@9 z*^Qk=vEp7GsXOjXdsSTIm{IgN8LJ}$D`i?3`1o!7R4FBLNtei;gX%;tF%gb^-g*`k^*Q^Fd-OvjX zxx!|)Q>A%$m{}%#EaQ-?u%19nFI{ppu7;(~>eovBtx;{ia_=A03|yis0iXW0C4zm+ z_bDn`oKNBWkCT$00TG8V^$&lQP#9(>=%Zy5#N(!+?FCtpy|_0p>8=lgw{EPqwVWfn zq{Ncb!%9{Cc#AUi7$QD}V=$*9HK*)X4>k@nLkH`oM4Zew7CWgk!w#p0Y&&XytL06L zGl^OvdGX7n5DG^IsM&!<;O#0Nlq!jgPaQcD3=7&x$=Z#9_9qB!W_#ty=3uNgQ6B#d zr>dX{03&rX9ol-50Qv599w3d$u?`Wq;Rj*IrI=JybS(U-pMqjok*uSAtw?Nd!|c~a z!gV4W^nZhTZb@Q1^+`TyNpf0_bGOCPtvkh%nVj2*w;Yj*8@koY4Qo~J+vf|sN9(b> z$-v8Hsw~p-d*ff@BJd^wYtg$z@`;~CykEG97i!Ii8`{l8i6i*>xW329#pUzaZFIu} zfTl}aa<~8v-gK03ka>wEX)o!`Nnb1S&lE^e>pXOwEO72o{W&UPcx>>Vfk6atXty!Y zxgVI(Co8Eeh&Wwv2Ww}SabN#lnAEA^7(wBs8CMp{-|?x~sLF|{#!*!Uo=4%M5)RUr zXCM)F8Sa$$5TPoT_SqFX#clUR_cJ3QVse)@BiEsBR7&x9j;)8<}vgwh9c4Q zua=NQF#}!zv1bwLV?QDd>f3ZD-6=5XxwTo2V=qNhzm~ECHpjotA`nWBMO;or1lo^h zXV@d<36S#H4FIB`-^5br!La?*c%`` z&s~u=+6Z(!%3lr^6Ttr+)C~mQ8qnGoco-sPe4omNk^8BWteD!@A@I7JlW$Al)uS&@ ziF~oZ+tW^56-c~uD>U2z5^s_u-cU#pfwvBUhxV*9kx0BL5ky`rg3P-zg3yaaOzK?& zc19%j0-cwM7aT);>lorCQ)+jpdcmdO8Gz#gW=2ae)UlNA*k zHtER0+UC@PRzhpc;{u~V#}h%pX;#n~bp}czx}8^Jht>G2Y>l|SN84ZDG9kUo;b_rZ zBJ>)ZYZp2ZFE8^XYB^|lCeg4Z5mLY=b*&MN7XBCy7{i}!?%m=-dYD4vW_x!Za@t?r z5=)QX4Nwsi)hD_BeJZm)N#FDYI-Ow7{Z3T+ScmpZbPD|VC1P;9zvOTUcIiA>!47oX z&>8L2BG$TpBr&Y-E20S=O_popDJ#t1|EKmDAQtRFv}>ZPT?pn&^fUv=OZ4eT^hKn^ zl2|#qJ&6tm*Bhcqq7w-ci5`Q$as3B8+?*&HBhxa~#ubp~wlt67$AB%vXLs*PodBR+QES)4V6nP3%t*D`h8oj-ZH5M6k|V7>z>@?%)#~>ij}^H+?7A zmvT$m#e<$b68vvLZ?Fl$x8~nm%4-5$+Qqa$=QO=k$37=QToyQQs=5MkJ{^3# z%Zu*rk1^0$E-F6M!~wD)RX=QC-ea*UVr#&zgC}m+I8;8r(E!8@pD;e zjbXVpWlV4!xkhTuHKyFrV$0EDivo>FT#JSwbTSXAB9QByrsPKUeHV~)uPv4=(em94 zN@i}Mme?4y5ietc{${=}Mrn&21cI<+JB37#0sMJCwEqS`$j|@d}ay5;kCqn zwHZlvShPh+e9bO4hxjo_oY|5%j)*xavB?U?nU%FycsCNZgL_)oz(*2q1+pxu(u)h} zU;tjK>ZqkkFIG1%BNZNly%dwTatoH~-MeC?SdS;peEmQR`FYVmBP1l%rSmO9G4?ex zI*ZWi=EUA^if>&O#OPqe0F z`vWc|MHe@j*W+JzLvbd-)4B3WSx^Govykr7*Cquz?S-MNez5O{3|!$B$ndf;0ERXY8|c_d zh8XcPO;w^J&uPkXx|pY53$?v28jIcxwM&szR!K6Dh}DySCaN(Kc2dv*kf@aKtr8<= zY3@f7^_ENj=>1Kd%4U_N>m$;5t@0nJas@s3o*pRH!xuM{x`L<&b4kK)O=C>@ap6y5 zhYlQ{a@aoJ!GYv+ZYThkih4$bK<70mTzyaQNA`(uKGPx8lFRfRWx9huGB>3|VjMiyslRUKTymK@K3$v;hrKWB48D-#}pbGiY4!esNz5eA!wLn zv^us#P~6`4EEU5TP~KAU2a_u(ZiCRJbBfz~G~>)U1@_4QANt$x_M^h~0s31%i-i=p z$9JH>eJ`)TSqQ@K;$fIaJHZA4Yxnzc)Wyim4?Rf5kDMG>u;)1VTD(l@?uch^N@RQJ~mhL2JL9N~G8>0RI)N$}>)|`?2s!&9gYUS^F9|eqdIK{g~$d zI?P^5krJ0|$>}k%)Ma1=dpf#qn}unM=G{THMvp=D#tf4=x}Oqr4W9XGyFiP13dO9f zx%M5*Oa&TDr37z&4Rf5z$#vh%5oj>K8=%3Qdz^rEHlxvE4I2GiaOb~J}V1#BRxkHMWX)xD;SOpr)k2RX@XfT(-T6|l?b~Km@=)K<-agQha2>UV-UMwdcu}&T7sWPu;4nX}lR91;Yk$2+aU!R}l zO>e}fp~f64v&5lhmN*o%M9DQ+II+Hxm(7OE(<&bJN=Bp!tTXi`oAg~8&fF>e<KjTvB)0tGMQuz#TQeC7-@@XHbQu*#qy zceE1>6Z36+i#GhK6Ti)1PqRjiod7ff(O8Iv>33DilwSM$4nCJdrS6ZkF+~c${*$$+g5RTOC?Z8 zOmP`OFQvFlSJeX*mrp=>PjT5Gy4|_&Gb;2tAW6)$!AVhEexVvoaT!Z>T1PA*qdL-G zaq%V^7Cy}s^8)SVRp}L9MtjkwRMocH3!%(=|9&iOZclsZROQlMuGB+LdwKL?w3l;9 zazp>nK(pG*g=jC{2HV3;A|r2u?M=|%OTF7mwex~c7*X7$t-Ml*b&Mk~n?(bdZB66z59L*ob>2RzWB3yzMb)Ki#;W|3NYLN5ALP|H*y?-hyZTuA znDS6h|EP}^Tivso$P>I~nbm|S!(Y{y&J0=Jbz~jobd!MKb*00Wmf2gd&nmYOJ^W2Z zR7ocMxGq(rb?1)JxX<@`a4au7?!ke|C0&I3XXpWy+*PMazAwp^uKNb;1HIg^&ST-)N4HCf69t0a!l+>R!+hAVhF|av19B7HCUg7t1ut6oBV zU(an4;`7uF5VTpMwF)0&XjX7vQ*LJ)d_t?i0o(64PnyY=AFl{6|NfR=yBTh1q?bRL zuOF|7L%qc7>48|Ptm-01NW6vzNnylOF{W*{mNf%<^Kk<6qYa8 z&u>>ebwZAmF6*@Z1Uf<(@P$%P_(~y0G}={5=NG7w3`@KWw{M$av6o?~ zmtonq87?A2b84k{i(r04H1#WEH`oR|A2C)c}acVf;R8S#|t=21Lv*MT1)X1Xn z1*Hair3B|}TY~crN<9in(?dZwTT0N~L8%+96nEkzk45Hv%i9#ZT3}d-{ZjuH;Q!&U zUlrOQ&x{RRy>!$O*Ry-RTi$-LZW>{0;*(^K-XatAwh>NPICGlSeL}_18!Fl&*jQUF2c#}W>xhdwL7;NPxE){0qd(5K`h#xNF86P$p`AFYhU-Q z8K{@n{uuiQk}9Z9vZmi4>ql9jV^4BSN=NP?3SlW4SH*NRu8P?{u4DrcKHFTpSqrgN z^>}CXwbc!UFEH}#?V;0bE=9sRaDbNhR{TV4*Oi$)3)YYFuE2^D{|5N*obX{6b|!iZ z6FH|7xaasSsC^ed&sTJh58|NBsO-m#;%^8j<@!P>qMVPzI~0xP4G!Fn=a$85)RmD@ zw7Pnc_zAJ(TZ&J~N=frU`%UNtWeIkdv8xF`GOwwAM6eVDH?+bgzo3f51AhBe+4cwf zP*?kE4a?32=no9sv4QU_f5f#T|99hMH7I%r6x>;z9d8>Q)lm1<;6>nMG(Z2uk$s1v zJow{LHuMPaVqiY@!{x9n{o_3zq6^ol7Sr7(;I-ZNlD^7*k4vOFp(w8ksMD4mxEq># zp`qJIv&ZMqZ4AVPX#{lJ?}u4*+gtlTS$wl@20Hd4A4qpe7U>)zUCVZmjz0Ca-TS5R z>wgVz8|pxK_s1qIRd4A4EQSpapZ4yLPxI$w@d%kD0=-G|j-?NWs2m zr3-psr)(bV^?9&=dcJ`j@o_u~YnIBpb6~&q2U)P=4O&2d1K@uH1)7up0{lb2kmd#c z;(G>y|0KimP+|SxdzFvxS8T<1cHmS(;m?V}pM}DEL`RQ7|K4Tp5K*Q}U@`dbp*3YL zb`$n!pT?l*3q;Xx#iv;7duw=kiTHnl-VEm3n}6t=trKyR9nL>2(c>q~KlJPIt3rN} z<)VR3srk%*t2h4?>^mhl|8uSE?(n*y`MEEGG>H*4n`6_h>ddLl=}Rj)mAy2LGIO`y8LQ>ht5=A>%XLzhu_N|>%xs4Jq6Z2Mo4J5sj&?0o+v+v@X$tv=$nI&V9zmeQ(| zYTu|=HKbDbxm(HGNA z?!mn{&H$o|XLY`nINH!Dk54)O%iie14O#!og|J1IrmubYG@hO7VTo8tqa!%dzMuzJ z`0d2y?HAhYIv>7IXRg*Vwah|M!B&emIPDv%HFz#MN!_QeJ0o-_M~{VkWgls_4PI+9 z8~l+FZ+7ryde-2d)mLxuTX^&aPoUza%IB}E1}1TEhJ%EppMnn^y0S3sGwJgYCtLnKUI*5Zwk$}<0<%2Lkn zohDmMgEbrNUMB_fzOb^iuijsFg|f^scD)r5B(Wjk01-QIi^5ws9@ql|8RVS{Y+oCu z7OvjdjBL6+K35ot``fZ;Y7*Ra!N%s)q^%fmoS_t7etDi)8jTequ4-LrJlqB zjo_W`b-yy=oLAJ+`-W^c?d!rZ4v~ffotJ7d_!ef7J)v4_*hi%TGNqM$r~4BXjwO4Y z5ge1)>LyT&YetdJ%DAB=WY%1Ut%O~MW`oF&W&I#L49p6B$tYRleYV3H4SWYb`VNW= z5kjTw92rR*$ZGV1s=}q`bI=LON2WyIS@$hrNN(t_R&1Rc+KuU4r3v?^_fABqO`Fy% zv$~6JFY2x@`O}||EuPg~&jk6Gwbip|!IwYTie+K=Jx>CFq*KLXikan+4Xfc>yvKST zD=gTL!%BJhH=nQ!Sfi$KD`T4wMgO|ngn|0UO>p(o^`}*T=EsstmXI1t*7a)jn=I|q zPyb`!vcr@v{Hi{)%_&sUddP6f5l;C=kQU&6zH%{FBe7%5&|~R$zf`%?^W_}M*_wQ% zh=TjGfTZ^>D7v9u-m~i+@4Qg^=6byI)ohg;dPVS+zmXXB!x|drhggMqyvmk>W2W1b z+Vh%kdFM=?Qr%sugY_3a-R!h{n}&!@URIpg*Sx5-wHs!Prwqelo-Qq;%b9ZT3s<)5 zOP%*+uS$(vF&A;^3a?<_fNrm*A#M=`f@S2KJ=E&h#d4nEwLX6LWKp0IH9GT_vle3UDE6!HNqn@xgYS*x&2Df27^x8mI!lRX4)q*x$K#BO>W!=iu(SvO)`#J zMSTK6|4P^kE9zUgO|oV`b0H`5K>UZmZ_!q`Ik`Tj&6tBBW^E&cwWCrg9$&@PFoD1| zQMzOs;5YK1DMSBi8@)$Spre5V$6XVxeJ1gCA7<+Ty}?#s#yk}QVVcTM-X#W=ZYEr`Di(yMrN|8?|J@g zTS|DCiEW#1hTt$n}Yn;aSa{i@_+xD5*bq(5-3Wt#H&-`JZ{>g{apzZoyjZ#(Pq>&}}& zG}1F+CwVM;u-dSduLPE2&TZ0~xvg**@R|Nofv>q6nsnB7ht|NN-so69c($0aodB5L zEJ(C(5UJkI9;DA%(DzLL%N$ORHCFUL#JHw}1+1bLAgfqHc`8e(NJT*xF4AN$1fvo)PBiCX`GA?-?XgiX>L3?fm|i9d&jIR!LV_(=5JOo__I(E zOi?w9;_0X1Traf5G`E$X+l!Y$Jw<`0j)+7V1461yUt-=4Eox~^Jm z0{!#=(*zDf1<^ryT=hY!pPG)-zZ8t;(Cbd6qX8YRd4pv_;+u!=SQ@_4$hO9-e#95qD zs4w-?UxYcVL<1e?$oEBub1&t=Hc1wg+lLx`0MVvF$4r>1sAZOib4uOBZ<=ajH^p=W z4WYs=x|r{tVj5-&OflVXiYcaq3F&x9qKp-8rSJ>w_qEAV*48P?kJY|b-*snfy%gfO zgX@8J==yy=VCKSqG}|W6cT-wze#XZEZJv~Cv-9Vmk-UXcb$6p{n`-^vB+1H87cC0b z4DC$InBBfgrUH1}RDSd^sPyt^YE_VgXzJc_rK69Ady9UfnOV!#ShdmApFGO@fpB?N zU{2Sp!1S(n1Fc=Wv~Fyi6}aR{P#RYqN>@MW9Q-f~)iVy@<3-%H7GJFctWy8GD6M5G zsExqp4x;NKZ6s;NTY1B^R4W?iy~e=(TZ#4?J^1nHhc9CwUVu0*!Lg+R%fbiT`^}m@ zIDS-P#dC==c>qfOHWTksu229e+ueAhw5Dq0E5Y=)avoU%e+WPi43}fl*Nvml3NG|4Fk0pWL{0M%7*-cdOb22w4 zKNXG>mlA!#cguwN?nx`gHzG6-<}|ds#c{5~nG)Fo;%lMtBz*;-M>_3YTYOsu2bd>*oVn3oI(G=2^Af=nC4C{_w6a3Z|a?7>eGFs$h^yrLawAka}H%}T1=*4GFh2M zLO~UMkJIV+p{zIQq3?^xsAe##Rn%oz4l$NxmU^*D=&c<_Mqrgu0zH@`&77x!+<~XS z2rsG<`i>OF*2mJGDDlseiEb#Xu2U1odqd>|+m4|;MDHO^;oGTCDEBXsS;loE; z?ZYkl;6)p{#{2M9T%9O!vp#SNiV}0Y4|{nZw(gz#FxC6;Z|)7C#IyV6K8*H0H0>jn z@FpXo!4}Ik{J{`oA)Yj!ob>gkFZiZ|XEla&sETTQwFGaAhX7UHp5Rs-)9)QKAIps` z4l@AtP2xmL=v4acB=>|Z)-2pKSWO*Hig)3f6dDtZuM4xy z7_k38_TD@^uHsnu)@ZS18*@g0h!PCQmrV+b<*-R!uw+Z-jF|zk7{u<7;1~mmV{5P> z7{(q=tdo;N6oL}x<~mndoH)6VtAq#yiC|=dBp@${-K-WSff+gww1>grk4$BP<;oWNMpkJp~#zubP7RQCFu!YGDbJ9OwK z8xhjX)m1cl=lhD9{}{#DbXv*2qhuWCNHB;xLjAo$QfM4$Q0jyqDr4lcm0t$d}I2oSXrjxol6= zNkD)?uwdSS(m0l<@)ewb1lGrogOKzr;WkpJ(B9n8k)Vc|sot47=~TJ)GkoF|Pi6X;D$nhS#nG^L*c_dNzfOtzwe z)9GJSriW_b40k!3QJLvai)Yt=0;drc72PbH3jQ5?3qdkVzk*-T(FXY-PF14m9}61) zR}EiRG=kGH4SyBt8@&0Sl(-j&A7XNm1@X>9$ASnIFk(@xNwh8atIrZv15w1CygNt+ zsJT#tGPJm}=uYux`gOsS>}}W_LlvcGVfrljL>bF8D=#aug{?7#A%kWYl<}TYF-VLN zq0oB1#UpS~Q$ei{GE5Gb zbtL^G7~?(o&(BuLigir&0@t5zHK;^t)#_=GYI+N1A2POjscWz571iJ*i`So82CvYN z;&mr1sVNyfRB*Z`i_>K|upT!uabPhd3~6c}-2!X;wv@sO>QpMs6rT^H9?KA`5e5Vk z{Kf35iP4gJxdb6o{K1)$Yb$K7P=$qUGoLU|u?PFqn!7_}#@&F$n ze{R7}*qogAJ-txY7ZtM57{nT_V3E|R7pXVqszF+_Hl+9>hM+%9^^z5q+s_x|kTYn@ zcz;Qqv}4q!Sy-rOqF$k%(aSBAcfR%3SSV%mdBs1yC^sj4ny@{**6HHwO<714Z`B!K zL1Fsc0*Nb_C6k@+3iP+KJQLba-S%sA#0(U5FO1Q|6k=pTHwQa^Dk0LXVWB26(aQ@} z(t~)5zxPI-xoH5|AmR*XigQsz>UwT^n2Kb?N%zQ$2j#>1lkk=#Ho-BFEuJ$N-rOzW6 zayX+@aIW-)kDM#WqD7_ZemMp?^;Tj?vm+mC-=8Z*kLmR9EEqva?dyA?HYm;jBlo(+0?b2F*fc0XZF*?9ZIte#R8n0lZ zAFXnnOatHcm1gE#1}XMGcr23XXR;|*&mx%y=A_@_#~`UkSb>kExuC*OP$>gxgy%3u zE`>jgqo892%igu)2FRD@kKn3=ZF9ZkB+Gg>h-ygw`@rZD_~i1CxdQZzIEj&d-wy4SBYqxv-BoNNm1}K9ZDn4($l{M zvP^N5Qtubw{Jr^N=@?le{~rO|&33eLo4!U2-GwFwufPstubeN?63zKN&8dQl$yO*E zNF{?OWQr&5mFJfxk6b+w7R9tlUoYvGjPuTZ{(gdIytAv&F4N-pHRJKHM&_OjL)V{L zuMvjf&F$g~dQ#}XY@kb1xxXHy5LpDfL9+POL{Q`ve1XTPWbrYhOZ1)e<&f=goXI(cD&lqQ!~$0!^B=z$9=!tPns;`(WZx&1j(j^noekn?23n!i01 z|0sXuVYTkTDyT4_+wq42;i~6W9x`}>>_f`9WPersGG?Pz6to8ayDpj2Q#`D$nq z9vk~G+1S1+SZm!iZ30dhobJ$*uSO<4Ki}I=x-KX5HhOVCtZ8V1b3cA|?ZF_(is$@tR6Jp!k{x}UlM zA;fm}6XN-!Qs~sqq|gxiQ+oILn9IT6WFUXi`d;r3JlP?)e;@MI)H5pbj+Yl@Y=)di zF&==;s-xYTOGO)tuIG)^PnC<~AcloHnlpq^rd_euk);lL_3pQ-&@=ap*E2`l2-a4M zIpwwkVjZOwc_w6>70J^iCkRzeR0mTrRSk!jI^+k&BLL5(V) z(55o}{hK<^JF;|CGhHEC)uB+}<9L2H)x9F{ip~*{Pk`nPwhYk7m6a%80b1HF*;x`O;6`m-qY7EsZ@1&SaR7hbkqwQX zF*@wVqp@L3+JWu%^kJP}#;Ug;1E0EMgNF8raA2G0xuN@Dx($uBL3G$XblE(yxBBZp z#P?JGD!#9g)#Rt)8$IWBV-(n@pui5#u1-adH@a)_Q?xbWJQi`Dif~Ro^JK&sj5s?Z zM)9c_&CUk@Q;Z5|V=;O;82z8&G7c8T;BwI5^1)#G0dP6eF!z#zA$qs~+i9aFDHxJB zm`k`|Sa|s1H9Y|)-X|Il*20v~p2-xyIhRR8$VO;M_h%uWrfijJm+=ru1{)<&J&c7Z zh>6~jW0*$m3QamQ;k8 zHjqEu4$$I0F`rSE%m1Pv_G{sS0e))>`Waia#Az%To{6{4?Q-qax(9?IjF~A#ja{1c zbD>rW?AKSJSb7iNX3%pTTO7|OWylFD1mg7BLdYZ6kBI%fGdxBG$$1NR;-`jL7Jq8I z?S971jVA+6E;Fc%m%YlXSsZfyZhJSB)|_X@UmxazoW<srsk)AeJ$s72Nk{ znaRI_%(bA9CIcl}1bppRy}s%c+smI3s(N50>;{$mYpLDj>Zv`p1WtKrPEBuJ;RFVq zXa+96R9qkns|Suy)yJzI4T+k+s(00c>C^tQCzGz?$97KbJ-x6H=IO($;i=SV!s$nz z+A{`YEhMJ+G51+(`uvgf?!tVEj1N?EpTuXAN6A)oJUPJ;tQr08dBVrNn@Sf;^KIw- za}!TQm!}p}ORprRsoOdamM6`37UYj&z%>7uZ1d0XoBt6xwfPW)w!cS8#><2++wO5kiC8Dws!U{0 z&#AiU^R!iW>t9bzlcHcGgpd6a~`{jf~-gGsg|gv|aUK+Wlfg72kD0;{m$m_T=mFT~pcAU?Z}27q%HmEi70UNZP$($&AC}Nj#cl$zL{!2F)tBT8~Un+!YG=EMi~;MTKHF02XQg-k&b zx2qt?c2cIl^w4ego_GpwXTmu~_}?$n^9SI6bNTsa_>$GqGxv^Q?A{TKDM3EDa};Bb zE5-&u|EY>GgZ|n{fO}TSq<#n6e&(7_$JZ%>pE3Bl?6EAqe*f~nj;|EC{x9R}pdH}L z;z#U>YtED2t(0rRMN7OPz?$S0CMXsL@m=`!`Vo}Ej&-Bl1-su9ynC0h==bKvn4$*{ z9)I2nlOXY2b&hxzvfWDVHIhF${sDtWQ0=J>8pEdzr`DEQ7BR;93t>@!2?IxkEwNDjlY^F`%ps8U&{X>*UsZ7g(XQzj-25P zABh>-z);Bgt;GBG(!&Wthf3 z{TGClaewkFAKOm;kv)i4Bm!WmA!7aZ)aaGSI7bHAgDAGWL!U%D#dyy=>3?iQnU{}W z3{HY7_P7Lw3ZACW$e4C47BU-c$GB@06d!|oWGs8fpZ7j3@s7XaZo2fuG4|M*r#}@& z!9vqwgfL_6EiPH*&X6o<-3rETbBC{pq zUY26aF?%MdyLa1K&|`aR5i8gxJ>V3z<~fjqmE1n^K#8rs|)sB!ge+P3dN(YLxkTzr=mj|foPkLn^G${5xeA+?SKt$ZHjySW{3hPN86`+?69Mc_D1bo zpiX@fN+}3y7TiexkpaY1-kQXxR7#Y+w~5pKL*%%O@hBym2p|^(fu66@MgSFAfxOEA z0i%spQOw~BS8OuUwak?|If|n;N!IvW*tuf`G>aThm!w|6;8~pC?FE?F zwtqToJI@{m8~98bxOSnTQZeN*TcHEXQB*DkyTzcuhwZZh+ZOnQ!iMjC%$r^Wum%}S zPS-Mp@BP$i|6AbdvcSz1#8rmfYklAZX#!k%PuNt0iIqYZ9Rr;ht)wT9h3>Bk-4cav zZHx|1{p|C8pMt0VQJ?<0-pAXC0vf)}#)1|qe?R~#2VKLmt>&Xkj!vYnN67QL^3S-> zi-~dAvteg#47^n;WSi7&k@V|psXX9gu*t!d{~3Ifv+&K8v$de^N=2QF3!yit_$6jM z+ttdV#{uc(V<0_HAQjUnAJWWdS}xc@7`hs-MoMq3a_og`F@zQsL>Iz#>c$L>I)7*! zPjT{3?C8+=(pkAV@wJ_S=s9#`J!OQQ&9;^pN$Ryg4}dNqNSV{4SJr0!0B?R$gJ>M+Nd{&BS*R4z+h#P2VOjs^a}-)p=*%UlZTCqb9y}a-CPxkM?v{ zowZ;tA0H51Ijh?J%#3f zq0X}@^c4#2o?PRtq0r%3HP(V%@eF0&PBzimIhoKTTp#q-jz~-OpJ^np`ct*}w8K zyVJCqWja-V`Cl%wfxbRtp_P!+BE>C7Z$QrbZ|-pc#qukDEUO!gM_$9GfOqw!tV z>W9Rb(0M2{=})-%wyWy;qZqO#guR3~HS5%M;)*v3pKXTEcBU3G)@eaAw;!}HZCQ!0 z3GrlO%lueaoWwRFvAma#j7>3NB!9%DV2PKOlO(pIWH(aOOY%)CA|Z&B;+R1%?N9$* za1Y;4%{nR|cYh@Y%m-lV5OxT83HwP676h0Qnscm#bR=a_PC^q1xNbB?Lg5DY%py9q zmcsbhth?WGD#&)3eB8Q?pn#NhZDbatNX>fECFP=iktruyPjr%KWqL9pnX)CdN%_TW z%A-w63Iqh~E`dNsqDeJdQ#H#F^a^aTi!huc{SJ=U{vfBl_#V>l-Wq|#sbK|lVGs!bnh%9&1BQqBh4KHN@FKFlxjsP6OV^Wo{3T?BStpR(Xx@M~=;9OWj zJ+;o)r}>P?sVOC8zf*&L;rg<$^Ti4x6uV9h3kHJ>r>2@jFoGI8>|9l!{wtI@qAzgw zw`ZSO*mwv=)tpC}VBJ;J^u(G{hxHSa@uUMP4T18pCbx!De>L%ed3BTeV!MY{R@vU!XsZq;J(`Y*-2(^I zaQKRhwUfFh^^K{JueE!9*pG$Xm=rJ%qwmPdGqOS|v)#jWg~Wyt5~8*G-?&1g@%nM+ z7h`j{bi9n=YF9lReRuGZnT%0{2`;8XDf^kDM7(=^3yX+hj%qZXCi@y6zPuvL(zj2z z1R}qo7>(5Bi_{73CLJp!Q$b3LW}$En*nxM&m4#FH)UKdZ*3p<35b{(7b%}r z(xpsxoQlRdg|8WgmR=q#mXB_J((85?mXMQ9IEXo6{kTbU^g#U?)4sWiB;?JKaw>B(|?w($q-{wb1r# zUaw%{hxCS%7*hoNj&8bk3!;behh7~drr?4KHfBk_LYmi`kU?!CTBU$Y@%413v}gu} z_$}HX5J-zW#h`&>T`RoHiHvK}0V6H)3cmZnCqgw2B7u|Pwv@g2Pl4$5V+}-`fU|~+ zrSqak3p68rv61Ze;`SDAX3`f;myk}+x@tFDO`D0T5fj8}tGup-w|ver$|+5LS#a~q zfoiM#(wJ4Q(uP&;3D&G~MX71HBG+N|6fQUQ{Tf)7;|Uub?S_^gODpKNURDg+u!JUO zHse!LKlRr25hG(~3x1vbcF9I{`j`9w$^S(l>puy|!A<`hNX9oCs5GSyxcg001m4R( zFZ~exY={BnoxBrs0DrJf;BX+?g@afq?Q;+et}Fv7UYX0PuBNm{G)K0pqsmRlNV5`A z<_0HG$-7T)!t2Zknxo+A2zq6B-w`xQZ=W`TpmLcbd}7;$iO{DI+YQ6uddQ~%&b*12 z`Uf~pnq99mwUt761KJE{ZOV2}Q!_#@IsocU3ZOam@{`OfrI&8gWlZY(`02_NH!x*n zioZbr?W=Dw^FjPg#AJ>(%?NWt40A%zy8Cq4YF*NH=d)M;XBc!}V~s4_&PMW!PN|Xm zhmF@6^?r0TWy}1D23Wh{Z1x=O7N)_%7n!AY5lgn^|1942I+vpa!eu zs;HL$brkTMkCtvyzq>&tko01Rf5iDN3mLt3xKu@qU5MPQNS{y*U&wheY}F1h*V|Uz z^ZIJWY}n~oA$W4SWWE$x;0ra*%QdWr@c%277Xq^C%yOw*v1ay3KMF*HGamx%zQJ>_ zQIO|Xo#)r#v{xo|b>6(D#3T^<54#K7!|s`VVdwM|ihcIl7pB7Q{sfWGEP68+ThkS2 zrAtMid;EiK0YurWALm$p<3Vtt^A0M*^#nraNyrrE6++{*Eh|<>TCAWlLS{h-aPdYc zzl|pY|Jru(9~qi`STqP{U;VbQ9Q1#3&I)qk+O9{CQxIM#v%)H?i&m(fnHYybi~QXJ)B^=w^SIw2kZst(Qp+N;Pomv6xIC%89?gj zsrx-Xd+Ipl(NoukNOnj2GaNFG9V5iT@wk!PLR=_RWAMEe$wy0B0?U$DJZ3ve!q9Q|Bdr6>@o9PxO7vP-V67 z#aHrj?vuqM_kLZ->AP$D=A#s6M%-J!rRI8Wp&`NXr2Zjq-*&4R|{y`s!i)rfIXGV_DfGePOb zE8(n0xyO>?KL_%1=5x5ebP@r_1oBH|i-jFG6ai4bb=T*d=aX;bdn+qqTQ7)x)W$Un zAF%M-U2DzX6RP?@R?`L4UE4gTPzLtrY$w_ud)4w5RCs5QdNR|Nb=Py4H0pA^YKZGs zgvq;+zUFB&#nj{wp*y<@MbBkK^yC-K2*n?m#=S)S=7^#+hP-ki-?TDkdoq>p)mP*T zAl6+^0LL(J?3Od|v#(4x)&K`~GmS^G%Kb-h%#J1-SsEDt)Iryk{h`c*k*c?%KNvh+ zr|U6z6RqVYgdWKti*NyF@P~V+lKZMxYpN(VHkrXTX>GWC0OeDG_08YV6-(#$)=tll zer0}d{`3>ReB~81a)LCHgpm9aS^FogBBAl|mu%CM(zW9tdMhq1g>BmL@RT3JRj{(Ggp6NDmk3+M@=XVT-=|QI~24yPD+fg_qEjb{DeYAX}R`q5YB;Z z4O%OICEI7@o#J=&%)pLR(eL(T_Tfh*Kq@-m#1q$ZGci6FiVuKOn!~86zlcl`=rOqKso1VcNKEutQE&T1cC!+gY&2m-LV2Ug?#xj)$_az4@_xYzCVn$9Em*>< ztR<|X1@*jEo7ZYyrF<*s!5VqAmg-|ug~nf8VHKUrJTLb_W~+~`+o#%XYMmm7t|Ros z-ej7V19&389uAc(@=iKJl-oYV?&iEXvwT*(axRTQg6Mt~-S_5$`f?FEa@pqt#cEvOK+TBY}8W>Po-ZOq1859H2w%Zi}=AAz@p<0 z3b{@`9L5JBldK^l6P);gm#92}`xA!x1R~jpNge&0ti8_O@<$1*giTo8zUz=7CA+)s zg&2Nch2+)MhtgFovEE3nXWEME2UJR5Vt!<7%J`xU{iF)Jo3~5i-b5i?1cI3J64G}f zWclap^%6Qh%Su!}^D6zRiM_66th$*ST97ePt=OH6mFE*C(yUxrr^N1J6d?o4I2T?` z?=VmjE3^nzArV?*LRh^3WFlrlE2xlAvkA%amr#p_(3H4|jq>VxZTjfgq7faoChKT7 zp-L0#G@*JzP-~J93Yuyj*mfrRd13~gsMkbB4-Bng66Wh{xM@tbl0m$ckZBtH$%qg) zTE-Fd7rvgGqgSIm2HL(rG0IJ)9p?rm%rz-oEJ8id11`J(bAXKd#rrd~eLfNhC z$*@s>+t$*DW4i;C@%ge!|8dm*ctJ*kK!b`0ecz?EguJi{R08&-_#)|yH z(F2TDlT4Qq!-Y5%rHCQzx^uRXukxh?^eIBi`>geGNm^CczIv^lXZAFlND_t)N0TXP zjLR`Ml8ns>u&nhUDzp329{p>2Ba}JH=t9l}(P@ZJnzz7&4iqR`hCJ!Ua+(7;-!Tfa z&@k$D+w%$yqIBADTZM8{nPKhy28nSJDe*1^)tJzb2`TY7iD45`;&Bo=hN85sPNGml zsvZrR27FP@m5i*(6?2zNeG*qZ6=M7G6f{s z36eI^M;KHj2?Eb{3HiLh>rgy;t%@zrQ$W0g;5gg0sqddJ*^TGvu-lvz@66uiA?#)p?#LDo`OmH&pq+Fg} z2~TE?G9LJS{eA`M#1Q+IQvc5x~-;8;ZE+gohV)`=TFe9DrWlL z5eWh}BVWPKL3%w0MnmiVelxMw297eY80%1Ms_zF*e4vk|QS*D6j+f7Pf`1Ua3EDBk z(CFCyU`#gY0gA*CpZ9_kJerSJI&+8^cvY z(aUB05~msy)%qMnJ8Z9ku3g4|R^ubOlDGHKm9R4U0RWBBl{h;x#Z7#|VS2hzDXLY9 zrxqbp!Chf&77}1LrzIX@t5k5ehB0{)bEJ2|?j2IY{GR+7GlVo% zjPoPKW{#XbGzqgjYP5t#YfK+MGli5~2QRplU2u1CEOpV_63}`XDCjqaqTC7jxAad{ z=;<2Pw5$ne~gT8vu9ACRQA5-&n}V9ZP^n`AbDK~|6_JX<#bqX!|X*T2N5^}0&= zoGCs~fmTt;T*IhBI}Yj!3*}A%M{`?EGlZB7#e+ZyB6Sg@JlZ_JUjQOp^`4wey+hG$ za-{Z0B_iYS-|P>cu=CKT&0gGzHKh=kX+8U%^av@`xQFX3#QO83i?jZaGQ~e9n!-t+ z6waM>IYk4$r7>@(Zx|NLnC^7#CCEQAtysZo+>z>p!z=q>Iu(h4!oSU$yB?Fi1~$RW zG*+&Y8vUG zZg4S%(m^D< UW#>nG{J$*7Ahaz_`H6c7;6Ge^Ve1nam@Es+`1N@TwS?yZVXK8Wp zYLdcHl^cDVh{2=yfKm9B!q=sH<}$t!4D-(LPWrNgT_$(K%p!lG|~vzRQWj$DoIyY`)Y4p#o!l;q>!7;vZ4UcRaq79dwk3JaNTJ)*M%2GpJ87yKR5aq z21%zE?CF~mSp5KBCIs{(PzZ1G(cj0`6y!GkM%HESnlfMCCaxJzWx#U^cEud)ZhMv( zq&EEp5SGSwRYzlDid?>nqfgfQuM2O%f|g5v?5ant4PPW2^7fl&-Ccd!Tov*2+?q03 z{hm&YlMLbe^qX^drQau@kCAraJ3NqIsJkl6&Kt8YEsdp^ecNt*N!YC})paozs-Xaj zu)2-b`VSd=XL|YbLh)o--OLy0Q>3N71@Rk8Ud*+cVj^T=tQFseyXlvsDUM2$g4p1T zQ>>;RXJfY#`%E;IRh!CA;NaJ#kyhddly4ep-6~ddFppb%stcd75^ITxxQ+8lWmY?Y zA#8WQG0SR_+mzE^(R~pYIc{~rQO+Td8)#LXHvf7U$A>8qay#DGrg0_ z)IJ;{vYL*jPr^`9F7(T&{h*g=-dvH%h71M-8eQ+n%S)NOtB$s%j@m7} z(O+ms+x)5-V%LoTo!{p!zTG*m4`+U;Rid%9kYtUzcx8c${WRob_OOs7h{85I*NXQ- z0f^<07yFFPiDBnzHjY*W!_GHKI4@I*2^V9x4tab*1y6+V1(kefl#5;40-GnhNDJz1 z=ZprvGolgFodwHyCV8$%FGY+HYKnL#&Etyq6H8@_@=~s@K9TYV5I_avc6qU0x!Azo$J?_~d1D z0Qdgaug#xsxbB2P^P#7wNd{l#cqo|@9b{hM)}F}rDU`5HqF6{<-`pgni@R)habHdR z#@zfoE8)nuJj}awI5x;|1aFHwBY`Kw&ZS8!&UR5w`b(tpdC0#4z)6zat(|26cz_a= zJsj%SFA8^I4OFl5Db;gPE35xCT0O(P(+*(tzn1F%Q>y>7xU3x=OJ*k|JEoF@aP1^5 z?`d2>t8!jEAo_NlJB^!IABnyeaWBc?81D;>FV=jpjr#tbk|OSTIYW`Er>yngmXPyW zr2Lsk)qB_7lfF^viSPOhyPBZuCxDB*BmI`HmCpPZAef(ppvK)VCtUSV^fh`rXIO~j z#Sgjx;ImZ0k^7t><+4*0fSsZ8-QlXoue&$>k;sHlSNbVImBYY@@8P!epGp_Hbqo`F z*vo&AAQEvZTTVC2X*kaEwEc(`duc+|@WAJ$2Qe zt>EdU@DfRijVo7C6%3!j0pj2S40Z}q3)Cqz(<7HwhrBhZGiEmyFkud_dekgTe;g&MTT)=1pZ2Ls0W2)>koZ-VDI^KuMN<>f(^PK8eu3e?gPDBn8wQx%3%j< z*{(UOLI#!0U%HPB70MtLYNHv%H&n8SvYPJqKZM;C)hul5F=w#Z%^y5K_Pet;OHOshP z6KY4BHY=Zd10R85pXoNvl3B`XlC2X1on5-fy<}Di!cqBiD^CqoJ-Ye}8j;sfGXI0x zS(9+$^)pHAY#;n=r|eTvXy1vs_goSE%H=06%A3^P_!-$Rc^A2(Vf=P$?1qU+>)Rhl zW-Q>5JFjeSM69S|yKz~i*oJUtm5!3iIGEw2m$C&=_JK+Yv1x&lDqS|WZ$kGiNd-mF7^mo5{2I=r{f+VBA{z-`A@hp(nvEws=aRZMd8qVE77CTy&typ`l@_Mv3}iS`jENYT(%&hvA(2WB~D|#EQc=lU)3%>8CpjN@}H8*m# z)VjftcP@+FC#?0t9r1;IaAf+&VY-p+y!Dsz$*s?~tDd#ii*E!3)gzExBh!a*fDtKw zPBFRhuhI~t6yDa>m;bri{ws%_SKxvwzn^xO-Z}yEIUj^i4Y1DE*UIdGuiex!Y(N`=oJR zN2yl-A+(n%z8z{p#W+{KA((S|VlC!3a5;9sO4;#@uiX;B$D>zp#^cbWQ@7nWz>LWW zvT12YNeYV%4+iWlPNw!lvX;2Um5j6PSxsWJF3cVP8btn=U^iwCW}-&qqFZrrqeeIT zV=g2YPNO?GlbT1D(`x!Nn@@Hxx((!stx~Jj7)ho+|MNW=h31x8H~N&=z8GBsj}{um zBW4~e%tMp|e5^N*YV)Wt55aE~ju$V;fI0VB5i!&dweq6Xya(oioJx zB~$#T09;R!?vI$s-s(4k#%v_)95FbR`@UdkKJ;4f`yUft_ki@D^tf81!(=`Q7xQ=R zgNqq_l3DbuTlZxC$pktKkVv%^umKE02lVk#NXZ=NW6UANsvnaJ#fNuVqJbMxnX`eP-ahr7kLI%Mg@uB%P<&|+<=9On5oam7m&?j9 zMEdw?8T#<}6X`>iT@xTh!2x^kK^ApG`g&POxC%!+Z#OQb`g+A4ibr>I1FvG8FoUs` z413E8mj`Mt4|^xS{y8ZiikSLAsBRXjqczyK)PRVX_J*_h<2>a(C3p)FiBY)+x^xq{BI-Gb{?mJ`5^zm8WCBu+Pg zttbU`mvbolOaKGMOR|?)PQp=Siv8Wpli8arxnA=$ImIOm=SjKzGL-p0QD$~iNg_EO z?xD&NxQ`WUesAuZNLW6J-BXEl_}t>-u$V!Kn5627{p z5-o;o2RILh-T9@qdqY{+y`lnHq*8r+{uurxz}c7At51sp9%mq_eeNW zb$d}iu~yR)u!2w~d8Rkb;`T0$3p^gFdNTTAh$VddHzyK(^@EkzW&{eEL<8K*sRIjY zWnd2p<6;LT^&%^fn)qo9h&N9VdE#1FbC>B=OdI2yW$y$D@M}RG@H$wHxuEWF`kR^Y z%|Xh8Z-`X)Myl|y&}@|{#SBfWY2wtJoaJjSw7rBGk^Ug>1^>87x$8qSWEN8S5^5An zrUSNXDH3cvAq$k}X*63?(g2qRT)abGHVMe#s*kM1B?tuU707l6i#eO&Et_ghhl+s! zgG1L@m??@}ILUmgHs6w=?!QbRNrMKJp5WrkB;;;d!b46tGmdma9XWO(;~@s45$Z;$ zQd#yoM!6KN8|nLx2>BSsF;SlU#65XA%lC(O{Q#4A0pKmj4jN{|{{86B(>F{ZRK*(j zisO0lPAan3^+;cXGZ}5#{}lAz&ymmO%38~7l~zZ*7U_MB#t#*%zxRIb2jrlX9}ozf zXWsjH#OV*M>lOlw_N3nuGaau(dPMvZ!HR5H5rhRz!isE9kBc~gEcP7>`_#Ac<@jLJ zouraeWqBx7xg^9}3Az!}-HZMiY!))b z@4U|@oZBHYjIPVRD~oAwsn67oKj2_tYTWekA&8dI=donlh{S z6+=P~Qjr{WkcYEq*miRDUZD6DL6|$-+*!nZPjXG2URCGJFYTFM7FZg;qC%McCHOUD zk4AW(KW4lR38juXkh8-|{~`-KTt_9AnubS4sQDDdFm+*sFi21|}H>F7yFAV8U# z#BG&1EL{Eu`)`vIr9{nPn4UoQg!4?TPCtv5z{>KP*o_4_lcUq&MSFyYOyNUu&QzA3 zjj~gkc!&!>`omUT+J{rO&b~!QQk9ZW)!(fqH5POel>)2mTY+|Y^%6D@3m1aHvD++( z*sx3hUW-0j+w`%iorgVplgxnJcj9&FROp@jShsAS6#Y#q+${ZfmUGQXtZ(X)XE?Pd z4V~rOc+xO)iWDhk30h{EDYHz=L_v{%(t8VVe|8coi=y*RD&_Z*lPdK5+a?h-7)A{~ zGDoKXPEsiwP&oXm{}H84VT(6QX&V@yVi{z?Qb9l|e-jb6+Xd5>oV(CzLA( z6Efuz*TMiJZkY*Hn3QWwsM>^@O{m_4Hk!~96WU@zZKjk?6Ix;7`b;QhLfcKK#e`CR zJ`)-?p>`8098$>IO_?Polr*6w?`YhBNm*|~{U%gxLP--U(|k%EmAndZ^I%w3N;0rv z;$yrv=&LePL4^qk-zK!iBx~cf*}S&!y3wS`fuj=IVnU@R)M-NPCV!s^^_$Rk6Ix+H zDHEzUp@;0YEI)+J!3xLj$dG)xp9)o*wqh-c!R3>T0cC;8Rv@Z<;y8@;E6*l zHx>3Q3{GfXIBRL|!b-I*5qxmYgl2q8`McPZSaF+mr_XCM#aBTl$XYERBZtJ=)5k~x zH_{^Xzz%n*eD|gW#AoI8;w%QCZ|5Jy<^*94o0FxKpH9(HjisC?fIA^1GdbHD2|wM1Jc(D5J&d8PgP3E(C^o{bWBWHFdrY&uX>Q}ANFhNv5y0CUi6@BH_XE}T9kR` zF$W_XOG{)#x7f3d9rA{E%LKI{Z_Z)kaJw2qE}E>p9M}%wLkg0)u@ZxuQ)Ks-^ ze7sWxg$I zRk5OMlgblin=AC=9o72isMkl=5+1c+K%@np-U<_LjhW}B7W3TPW}bJnn`ehe0;KO! z86fdpXgZxLmFv>K=2eR15Nx&ev8h2Ho0sY1jy3w|Xx2y9Mjo{?S(~TVX`Zcp=DBIR zd2UXb=N-f5*-Uz66kBvhzdkw!^wBlMqn3Jd&i6B22IP|_r8 zTuGn^2nx$qErH zFEODNCM0A=?J+_q7Fu|q%z9DON%7(Q=wWtm!6O7j(~N%UMr5YcS6+}|UC=3MDo@ME0yT#k(A^y8?6ZAymnPOAL z1fCf@R!ngEWtw{YE!&&3KRdx8ZV*1B>XQ6I+d6%h%sT8Mi8U4e_J-L(EeJ_mv|xFl zVQ_*Se^y+~26|=JWW$5gQ2gYfELQEB)g+g(hrO!Qb7aYN(?VS0T)1jNWcG1Ku0D`ed@0M@f#}Zk4lw<@0KNe64Tj53+s>PstF6-_eP+$^Wn4fx>?;{*S2lNVr7$hqn|hC;-7s^JaJxz%J7+PX z$nI1}G5#_#Vp8^JR5(lng4{Xul(xmF?s;G8>wNFWZs!>p#y9U{c!b@G|%zaL^G)Mr8} zQTR7N5GnNT*?*4@=Pl2@$Xf8YSj`;{zTJ){O&?{uDZEG>xAqrYgc=7tlNI}W9Adh9GclR zncd!gx1e7lu$c#owO#`~dFV}i3A=N@CJ}By%*0nP^AK8YLe+%ag6|SQb~Q1}Ow0<6 zStS8?YFNK{Et0}fk;D#guCsNC$uieuX)~cyO(60B5LLA7k{@ZJl26eweVXZ=}cKO5B`fbFb5)|4CmH)|Fepd`gz zt`*OhaVDEUPfwBvbL7vPQ^@Hwpe~W#ny%|HgL0bUCyW-;J5d{iF)TKjy82H!%Ol3b967=J6HJC$2e&%r*kt*mE03sko^X!qP zkP?`8CHLU|vJZ(iqtrZE)8oltkE$iMypmndN=k~3nWC+xYpEa62ji6kFrJ=fXGHnl zI6)Ljtw|P=&6@D9jgv)%p~?~*1L}ekqCecOdd_M(i%lt3{L_4GiPYdH!D>mIG;G+& zJ`rsbU_*fy)o}$);rLfj;TnWpXfC6ES8Jr_Q-6C2x>h|nBS-Cf{hbsJy+h6jg`bC< z!n2P$kcXTunLAm?%R71S*P^@cc#eQuu;D%bXu4lQ!eE9GGLCZng>k$R(FTcklX4xr0os3)U1Nis`lHi7oTtV1_|8n;Wu z%FM*~wQ3qM(MErlM$%^L7EPGBxe?(=k(E$wqN6%^(P(-n9|JsS)P967uH{7+raGDa zW%E;x>m`yZB3QMkSL)i3U)d_@6EzD&JR-QC{MxHpzztG>bzy3?DWG$tfKGBr0iB}- zw2UiYvnjy#3pm9T&^}T?yI(;2XaO?xMj`mJDd1Eo;D8HL?_&XGbc%ixTKoc9MhlR! zJX*jJrhseCp@86pso!e><`|NX1|#5TL-cjDr0Q`cJ-1Vl@%VpG(*75wmYb4<3uK#P zG+m}7`94}wsj%Pddg$cun37thq=PR^m70=-t%w1gbd5PuYSrQwLSIcuOhf*X>g2E~ zV)NOiSubHOfwUnk2pQbgFQ9T+WQk}2X3KQit4cZyKqP>w{Ca@b@@ zjb_-+ID?!vN`?b3OkHK_?AJOmR?LF-Ta)bjezN%_!-Ny-JV^Fp4sARFy=x|`7XRP+ zDgd)pN2DC}m+2T^N~K}-EXFZ#kqIo$b6OH%GH+}Co?i8Shw`45V@%y zIKn90SxSZ7OWSz0ubz-0p_qwi=e1d0 zosJeB6tIzp6d=?_WSdFX!s`}&)m;!m?It7>2%%0B5^^Av^g|}Dj}Sbp-+UBmAjx(K zIhzN}N9jjCru5?-L;C0%=E2C#8RFrZg_7fmo{7arkVlvk)*4Eb>Z4T@Mj*aI9`Vhh zGm^Q(mS<0*o(Jm^)&KLTr0`7fDKBCMT?Xct7hcBx&-2iM$Q^ldEY8_>kHqL!zvg0* z@9MT7X&Mib{Ug>)E%d2w9{uP^GLJGm7P89Gb%ME>IA0ta3T5_>PKBt181P&2G;B7g zn^PhHmLVaE$QJ~UhbT$Qf)O>4$+}1MZT&w9Jn5WEBpM!R$ zXa$lWQ+x>(WRsl}JtX9AkQ30-g6X!~toDQP?%?lo2g^h5ccd^s#qaV4KSOf`0+3&* z5A5{2gDgE-D@@M_4gsiI9vlx>C_5?zJfrMLy^T+FdLT(m&hiF~Ma*6~DhjWoo^)Vz zMA<5dQa_%Wn{!W621HhS>tjCFRf)1FmjMuy)xHoG_=Re$#2^30PHro`3%Ct3VHnOr zsNRHxLX;Q2$jJpm{YOwOAIm zNf-%I?tOeB;(oO>g73SC`-=fSN8I~lgooT8n-Ttk4(~kcmNZVx{V1)n?&K0U>! zqsm(JQ}r6>H3*W?8VGhBZ;6IlWkCUVTqYsbf10v&jfOg68cH;4$ZOF@>qZl5GodXe z)NVqZ@^H;^1{9i*E@zxXpN8a!O`_jK2o?x!HzC8~69XnBcq1+)A=Wthv5wg}F>GF$ zXA@>ri{*YohBU0e3~5#V0)}>)V@9^?uhCT_EQ=@U>`xxxnc^=YV2lpwf@l39eepjS z(&?+AyIKx-hq-QJ{Y~#n0M|Tla&Q|if7x2UT))+|hdCj){!#)Qc_epk6IwLMTQvEbP5mcL^I2P2PVqY7nsv*V|M^5-Yf%8pZ80R=srp z8Xm$YDuk$Toj@>k*sbDFLai8UzqPqiV_K_txRc#;@|fzV!D)5*g&kK*G`h9uxhT>2 zk9hK3eLCS@rw?(g6GU&dB22j!t3iL4#zP(;={Soh$%$axRqG0C3Q*TGsWM1 zj7{SP^Th`Wh*;Rmisv@W$H%XD(%*bf0N0(E+Gbq~jcq3YzC*FjqC5vD;vKre$oglR zKM$q303;h%3SXImYZaX{gKY?!P&D7Ny;W#Ree|n4kksKn_;mEg6#emW=+BK7p(9oF zOGNrcethIvcQ2Z^6k36H1$kC*1b0KC$uIW?^pWW2!I9Y38|ct`!ZK%PWwwqR`GkQT z^S1B|*Bg+Bj8axpHT4(bca$7f2PQ=}`g~!qwR^_WFMqs~ExU*?U zOEF~DtYn6r71>-*GDD0)a?Y7~4u0g6%&fZ;(u$?dLcy%SE0|UA%UZQDMdu4<&jhmz zt);BJ$F@ZpL7_sIVqV$WNA(Cl(j;b$?E;KZi%RQ6jN*|gz6hb?e$mycZ1b_0?~82H zf%=1^-uFn%SlI@$tBKt&62Q69}^K&AN+|79XT0CZ!Jwa<)*XPa(#4J#{jho*pdZsb;6Am)PFPsb9*H^ngbo z@25}!u;7j>{~xwFL{;0&HNN6BbaAYv`8=Z!);xl(nuclipn#XFouLVlcbfdMa z5P)XaqwxNY7K20ACy=JI3h%+2vUq3fV06y_r1WdY>V|QDlJS6%DuASx-7hOdT&p~-PR~Du{C?#O&u9;R!miJkdaxJ4Uf3M@m_^rA_0u)% z>O9^Blq^(^_6Je#1l^OB0py$y6`2uY#teSAIZiW-x@zPA)ur3+3}74dLKcwd`oSOA z-qfG{05)^Ra}@1Oz57>E6Bke11sPHE>%?V>fAyfGz_@RD;pO+0LBy;RykhPmKW!+3jmODWG|67ZKgfZ5lzJ*Y_=jlx5TT_3^ z5~As$=;xr1LmW{lp(*HLt};G^n~2rji-(olZLVj$!S&QF-&E_H9gr*}*m>0zGxP{- z$f-SS0_UKjt5(jq=Bg_~PX1xo2y$j@lVn5*)zeHBNOi8+c;yBm{GLA`WXkF*&cRNr z$)!xr?qO7Q5`G#NfK6PZ~e~*#b^s175{mMKF^Jkb#n2oKj^5MWrsnsHoJ#av9c%)PmosdH9{exvXERCc(It zd!sNwyob34R}FA@DGG0^N%fU=A2aqSD69d*JPl}3s&n2wX{-Sk3Ugq2AQ?q>;r4amD&;!RCF7t=p$qgRD#UEmgej z4TjOS@8#u+5pcKIdg~cU_F>XLhsa50R;uXhg&fUF^>rc8d3?zfp9JNSD9zO`@*Evk zT#G7$#89ek4P8j->FR7c4&yWUU`Xd8C&Q^`kJQazOp7kfuUnO!vLeeAe~o(S%QgZ) zRj4r%$P{nhCIhgmg*h>G;TBoANag+qn-BOagB9{cWUAECpUIaseBs_weiib)A^KHU z78}Cv5DdAmf=}rK4Q!Mp`}(QRvxl4hD%E9*k1<7Qa;(7HB=t^Gr-S?qel@*|k?)^% z8!Y!<1bItLiL!bL8^)7V%h_WnU~rbCILxF-|9}z%Sic=7Y^L!4ATCq{_x}5s`)3i2b!0C_=*A)Mm_M5??CZ5FpDc4%B z7n5XV$|h;=KEh-=*JKwwjk7S$;8j3mVQs7E?oC@og|DlK9TM-G@Lv2|p-Q>FPL;x$ z;@w21e={Dh&p;nc@*?%+G#+7J-63yM7A1@Dmnr@>xdtae{}7&1&&XD&V0wr&is>s2 zWJ?H-P^<(p#XqBOeXV!Sj9#xjGCm8HPf2YE@~Nqf|s44*989*a`hM^4Q+k13}3 zw_Ee&a_1(RU>vTExOJ$PJAV@&WIes-csgCdp}F^h;fCw{u)8|gczmXKD$Us2N#*pr z!5Z>8c2^HXI8hpzJ)fAwd*f4e zPyyEa+(!JUYfEzPmFhoC{oA?w9+ode86uh#&}2Iv^vgQ%sgR6jqu%q1e~YxWd@79i z_0-w-NGiE>#NVUccas;pGOyT`EK?*4>^pUc$<;QJtIglp9o?M9yT4bwL~`w)&GnZ~ zsjGDjl#tD6oNbv+SouD>3A;j4Au5ck_h+Vr(y=9I;FGp-D@+ORe`_q{U(^!hoXbDl zlg10KSNyQ#va*mLYwE2WTdxL8z4AH=d5NjFT}l{fd-`t0^Oli%xA+*_GMaIj$(WFg z`(>+c*Nm+VW2@GHsajq~OHcvHE52Gvn4B%)tEL1M{j$608Zafu>u3onp&GCFL@D8b zYzfDi5|)gGK?9})c^xgGUQ&6*dE;8~#$D2U^<13AfO-KnNYK~O61E!{&XwdGj!>)Z;qd#t-$Capkp{*FIjim{-P) z*RHR=6LGK8gw|;5yrcgsjEFNNb_I!89=MEd!YV;GM5GU~KY*RBkdmxgIjOWp zUY*vMJmQ<%c(6UbMIH#2$^%^s{mrN?kNCc>!c#peuN4I%HWmNqn?4CJL8x&ShS;f@ zzn5}9oj(evyIL{}f21+5r9Qe-bA1|rG(GPX&y|eACN$$#&G;{}NTm<2c+$A4W2OW{ zEr!P>G+@T6ypD`C<#bPDayJTjje#7R`iJ~c-H_AdUrI(9WD0qqskc(Q+OJmwre1j+ zsaG%PqXbV%7-@UY?-XgD$|8LRcZFmW7O7Qxnz6NEY}FbtRmr37IvTEZEo zgzB*+Xuy;pucIX>-FwABDM47ImN3bbuw-lr8Zafu>u3o+gBxfX+lt=bO7s6k7Ab=S z1fD1*jI<(QN|1q-Wp#R4h2eJk3JgBO%ayDny|+lS3X7Br-Fz0wxXQA~Au8JyCx@^| zZE%UHY@-0;h}`nJM2{4>t3AsUlPZAY(#7dYvPZsifC`xBol5Zdr>G=N=<|sl(>de9WSVHoMeTSnPfgUl+^*5DorM_ zR3W591}ig}gi}_U2%j5Pn~;*2iS#aT<329HVnQB5l zr(8n_rWi9Hr9%OtSwD8P=tt#^8|9T-^juH70c$O~dIv1FO(K|XG(Kysg>Q{SyGFEj z$|JscI}h08fIPTg7}1w)HMKKf9e0-s!W=&NH@G7X5?Qr-9nynY3nDcgY91C4*rib> z+j!uJz%LQ_f&VR~n4?}So@DWz`p=)M_R!NELyDA{@}3eFIc(gqtLdy5;(s^`2**C! z9X;@yy6eP%Sq6?mfjBBzHg91jradblMlozz!&7$S_!N^*xVt>Ef@Es|3D>4aR!Wx| zq{_kuOm8#=h;~}kVYrxKcj#^r=bbCt(ATj8uGg?B2?MmrwlkG`dw>N^8m#15P1kXv zA$+VUixnjwBhH)Qyv)xpgr`|HjoPeu?sS>XykRLLKAkRY(CftG zUku9U2LJQOH>{meMqJq@)l!Z)E+<(Ty~5q#w#l_g1}DCGg1acwZ5|TbI-U}%+dOPS zLh|2gE~O)z^?D<`E|!u=sokwEgZLT*lF2K13`AV&msOz4j5V)6UAC@xlv!gUD8{ZsXZ!J}f%n#D` z?UDfN8Xf>7g<-ZL;DG`K&%c2szPXf-Iqe53naIZ7i|iB0x%%=CBVJtq%m0V!zGY|P zyXHkPCh87ZFcK=YF^Keak=gpxfcZMf%kl`WAISb(8-P{4vs}}IwxA8#w8)79r z9z%>Q0RgR#(CGhrEIk+=5oqnP=h+QToI;%We{Ea66B4!?QQb2odA*E*&b~ z$uHj`BXbx|7P{(Vb8b&>8@Wf{vppHgU}3IQmoA|xEWow%aNuaj3npnLeg*2_kdsx3 zC%v929{6u@5hnwSBUUd9K={{}Vdm>VR>*tzYq=bj%M?$+&RtNi@kZyNI6EsGjAQq)9K92qr>%_M*~NlkKZ_t+4ZMC>dNK z4#o5w%mH#J)Lm48iOPmAAU{X0?prbQgXNivBIsZP@8XeUcGI&1*l*V04YMZpJZDTf z8Pn5J!<|iyFF=M{>+m64F!-6U!}oN+TA!3NWbPlIt)#TUEs!y;$y#DJFAqegKzP#0 zbRr$m+b&ZIN;^3?xJN|y?w$E=$FL5Zu4N$A8R|}YPVwoooA<4Pu=C<7&zv%6F`*bSbA}(yh0%Y{=_S!ow|=Fxcs6Awh+XBe!)NgWYw4 z)ztPmL3%=EFQ>JWI^jA=0gM%@J`#OAmd1w{TTKHpnC|9&&B&Jc@By{%wOpdv2Z-_E z1Fa^9$oO!Pm6(c({QsfuUErgtuEqZhdGhj1kWo;SsGv|3lM0sbkPKvC24|3p_@>e- z_^uRY03VToNi^g1-11ZDrM0%S*S55`)~FQ`6(&TJfK>ycptcgI;*8^MqgGxj^Z%}O z&P*l=w7vI#|NsBz??*D{?6aS1uf1M-?X`W;S3A2S^(3zPPL|Ls=FNtRL=N>c>X!0A z4-`n177Q^rQiS_h8;q6BRtKfy9Fo$5hYUvnJhIW|NXE(s$rXqu-RZ6F$l+pcXVK%R zs|DVE^IR@g9Qz||`7^E`_-|gvr|EsTjYthf?I`l$-{Z+k9+hq&9m%p7(IG%Y=coN2e}wfrb~5`07KVt87mLVajjV0aRw7xEv*|XUnZA34UIm+ zNVe)MGBriyR&V1lZ0YRy)&G_mW_&EkRdWyO);KV66PD44x^J z)khXtl5${fNM)s^^5RJ<)VaHJ~OEsW$rREjWqxn zSn_@WL+84*vm_Ui+~A1n!t88g7Hwp5%&>BJ>N`KL0|R?DlN=^ZL=NX0_x)-RUQRN8 zuV7yHJ|@4gpx`j>3zN}pJnP9zU2cKp4oz6^DJC^gz}(L%;vAzKV+;sMl+eb&W;?KH zED^9+2j=(@uq1zMRZI`gk$Pet1s&&+=rG+-(A`Nxv|N;Jd5+cc=O;GCyi1Rhg^jX(CgKJ5b5*!TM+^jD*oct_%IoaO{~bW7t$PM_m*EeV(Q zD%()*fiI^p3xozC)Vv8V;Y}$8r*0%?^hFiIqpC*$(FBPLqIIGVFNm)Glpo`vy1(<& z;#o)QvXX^<*`j8me6v+ehwDdj^il+Wd<&iw??I&Oy5dp+jHn7AWy{&{lHPbiPNyLR5{82hq zCpV>X>qd21>pEE_g8D|ST&w1tp!jN6!D(CSJ3d6xwE~ffpZ0{vYN=9y0-^|Z>!tC> zgw2zVEYfPXlV2f0RiCNqz576;&^8%OutpFP&gSq}CXL7rG9ABPH)_9r^yok6*YPK- zM~7~rt%|M5`TWRKN4Ga7OTtGk&A_PE%ZKC@D8e~_j|J8x$4CLD)aPij5J2uruAFSt z70L&0Lgo%7@Fk(QlzgOWpQWNZwlgP+wa8nFdl>~%5)&)f2IVOJpcz8Di zwROWu%((F%twv;o#my~s#M59!Rv&iW)z3R`-6L)ABZ}IZVdw z^#5g+eB5dE-Kf1=I%?j8SgifWM_r^GIqy;H(=p@@Ef`zb}nvr5nT+j2GA-L{z-#XbuQ}ZiA34BzqcCcWS%Q z9n!RF76F=)I~~MLW`{ODK~gwcQd>w<63eBwhzC@e;8;4fju49mB`_{(@@nu;c)UAzeCS?*`0zDZh|6t8 zM4oEk+SY=iK=g(pr!R5?f)&mIC|uG4v0=;nm7#Fx7a0~{TR%)ShX^cECuA%lb{gW~ zPm}-kSDkxHaClrKhU(~NjVXv}sKM9xSEoATR7Ve?6EiN%xRS_?N)5@YWOc=UsodLQ z^kPIbA~*C03&o@)))PP86peo=yd{m?{5F>v^lK+JI4bfMygvIuL>k*eNlbSFfdFgb zKDn>~C;dWf36`?}#nP@B{|+d`;_y9=tRb?Ad(T5!dp9#l1JM9kjstXYSoW{TFH5ML zQU@dib6puD%vzb{CGGkNOgC#o3F|B#--gm+&B}3YD8JV4$G4%}Z0&>* zk?+yD>+mU>r>jzJLRg3JE+hPfBRJ4+ZWhZCLF^Ns-6;T0r}i_hE6FX=>51N(JLJ1K z-bDALT_;=p5dddwLNa3zXMu6rbr8_Tq&+n$lf|h0EyXccCtt8YAw}KKIHYu$RZMnc zaOA*~^*KscyvtdyR58;cuH}L^neN2Y(8cuLBtxk@v}B^)Iq|C<8@TzP-BA`A@jqAV z97|kP*E@I1UIMLfDZtD}FerUr!k9-7rHorju2HYmD#3{8Za=qLS@ zO8w$888)Hxb*TL)!&Lzs3|1uD?=;po!O{J_VNC2H^=`xh7Z<%UYPKqUe7sG6UfeB- zmVMhFYsjOt;`i@)U`eTT5h+9ItI{hDypefM_`h>n6(7Z}%w=_&#v0{xm>R>at0mTQ zwxj_dL);$M1<0*IoC2mu;-;&!I(OEx{mUH7wlr;7w#yk}SIc&pq>Qv|m?L$8sC>>| z1M+$3$529P49u}C=3H6NE8~-zxT!-d)tMw!+RFd&*rx@P<9ioW@j4^WB^l z=FMVWOOQ1^n1x5vXOF3OGu5yeNY|3D@P}KsdQ2oUXjxGoFO#Vwc0WIPsVczEZVW`Z zO-hSXqOIm62Hhh|=|!v5FLO(gLy#iz)=~kvZgL3ykb{L(!sN8`6B6$L^F`T6O1r-N zVL_h0N~?+YYAClsW|{wxQ_T)iy#$=M&+o@7y|{_j?hsRC?0Y4NO;JSPm-J0hOTot4 znaa8x)RAvuez4vo3vU~& zw`D?ZqILDW`NX);2@AQ{kJG7n?q~YQyleK=7I;=3BAqTsDY~#me^#%PpV9{t@~!lN z-TJdqA;7f@sBu>^I9$YWCE zq)d^KR&!Too6{$&IeE0oGT)}_{6L_wx++^xpR9uNXcr7q@Z&kOcw(l-XSEj$jHf%ieyaC&kBLAje9udY9R-; z`%Pt6zF0MpFr#%tDFAb=9_C;RLkO(C4B|z2mcERTFPWEdya@l&FJ4~Cd9nRar_w3+ z0|mn-_A%;yC<{88e&TA`?s=JOs)6+%)ptW($ zn;7@xO^6hchOIXxU_=_W-jt3xHC75am7LjI(<7A{G6PaIFji_9Q&97^8CXCt1=f^n zu-*jN-2{XYj|ymQu5XlnYr0W-`8SNxndfkRnI~E$St)F6wWUAKMIZd7tYgA0tjpLwEl>UAuaL5%Z=lTxK_L{T zDl`W_!;WtsW9&L*Y1g;$o=y%${cW2njJz*ehoLHg#8c8Ge( z)p$NLIIQfJva7fpk*iUC9Iy3FSXi?78eeQ#87rWQ%j4BX?2B#M+ol8;+S{J<;aO_Rx2cmm@(aMXX!GeU$5;#TX>H=K5aJ-K+ zmiY*$TiG0{Pxk&)=HhW7ovD62Y+!C>>@QnGkdT50l8eZMl2)+;ij^|B*nKongn6#m zA<}#AZ8~eBD>HFP51FmP$+7Y{Sd=_p^egn1)KkscmlJ77kRVmegU}Z28Pdm2Wj2|n zA2tp|UrB!Q2{b|MdB(GCw+y~26}x53)v2i0TrH(k@d(`yE`0hYX25h++@X?`I?unz zhQ6F#QpH*+30g`UVpr0j&g9pbkmRrUlPXB{N)6oX`+&5xE06kfz8sb>a^NHF+RxD{>x(SS#3kS3i&MY+ zkuP}p^HI(&Nv)zJCg#$Trxw2-K^;U#hQPS=Kuy}U#;VOq)+2y#MMcF+U2oMOCX>Xd zAfuZ_Lh_qbA-_MfJD&B`vKLnJ$5w{Sh@PZ(Pdk#+w14MXZ6%42A(bdBw1>|_IVJdt zm|2pqS>w0za-*9?c-P#^8a0*dChoaK$U&|+p1dX7tO8{`LzXUp0f`d?bU)Hc|8tds zF7;hnw=3|<(Hj9dNvPPtfdTUg(Na;f6ScI%4RomwS((yLcvTN|dtJTgFuLDyOm(~7 z`o2($TgOzo=%_d8_pFxjv|co6>lKeZzv(Y+PBb4{Cr`!*5=Zc{bZQA|@F1gf_6Vw4i@r<% z?8Q~wZt2Ay!Filz*VtEAw&Wv7=cSUXx?V>a`FI3JjKt%Aq(}ZWRL8#IH_>Th!=Kg( zKJO27GxvVsjb+rs6`3qYcX}tCPlrzD6q)yWWcEV^!FFgr6u1?;akB{Xd8rAcpRstl zH`do5yW6P;fLr;v)bEYmT_Q(-O`sCR1ou+fwV9m^xvE_}Or|=m+ma(MjmVKdyk`F? zS8-LY^uoT<=Eq>^bJCPs8^q8=->5Nh26z3!jilMsgU38yWzFduc+RtJ!=OjYq;ANg za)^5CfhI@r67Pz`X)LcQ@Imt z2Qn^$sNtrOt-(H+R^oIpFI5r#j2L$bKdv>ALuHFk2k)^T97xC&#Iju}L0xndN%0W! zazVU5nqs-Pcy>zpOeiz#T5B+St`px*Z{?oQaIT{am1Qa$td)hHRolP#a`vML*r~o?v`jy^{T+taf?_*JT)rkzF^7{Fs;NF{ZncVcVHsCSQ22g zrrrj(C%lO^WYvl^fI$p@!(}`r&ftc#h$b?!JIDh!6fG+dmHJMnN_xD(H}XqxmkqRb zzcHoV=lF^@(6HRMnXK~P@<8R60b|OSEXisc_5P~%zEUAif`F%T{td?9y&f^VHCzI)jSI|Dd!nG_N~7 z7)S4eljYnYA{3jPc+MfuB@4I@2cva*l{a$F1tobQ0|!gChrp?h(8u2B>)y&E#>#I9 z&W=11DwPN=FOADxw%oPib$mg{^C1W_P?x#8?bKM#gG{dgbJwIm(}3vdAU=q2iDc z1@W3glx8|*5Q~;DfZ$lYVASyiR?QL|dlr4q8|A@~pOkGruUWY3G6bx_@@!MPWIuTk z+;Uhs9-qVbWbXx|s;&;gRpSd}1y%CI@j7@!awsQwZiPJc|Bed>X|wcrJT z%Kh92>ocajr8A>spPS>kNcl|x{V?o&0-^JLjuv0^HHw5@)!FZQ614D_vuR28oxuIp zUa9vO?{7)Me^@QI82sK?i6onYkCzF@T__juI%nc0eR)|Ab|^Pm&)p4#WjzD2v1=|B zz)7;YDWqL{7@v40dv+5eV?6y0xdE(CvWYR5{Xlze8an3&_B{3*Rz+*muG7LIUuW(@ z3mQ7Mg@W1EmC)vu$Ta`zt=WUvyzIO+TX#eXNlN_|et4{#r4wwub<6)INpe{B^OHHt zErNW_?z|vGc~9amNK5kNUB0AUbMa|WdYQ$C{{cLgeX|=pe}Ml*Pk0`l_0Qn>q2w@Y zfak09|9=ghtu;O1^9)JHh3A@{`Rhm$sQvP!?(lr*RtugnzQA9=r2pISTzg43cur=e z_k`zfB-=m4&wsZn0-iPW|9=gh%b*I~@NGUx$Azc2Xa2Dy2|VYxy2Ep-C`Nplz!&1$ zF!CPojJ^TAlEd!rqvcNcmeeHLAbJF=#2q~v{2FvD?K%T2v<|Ubf=6@@^+7$LO+H-d zS>+|EP43OIv=NOW(403mG`gExf$7%Ihvy>$ z6|CUe>~uR2ymCsudMZHkpDQFQ^{}tS(7fiwPC9X?TfP@wJ(DKPNmGB_D{mu=Sh5M{ z#V=0F7v9D9jm6TGoKtvPzC~NO4<5>x{6si@W2!7VR~j5jh3qNjNrM&}XJ(!j*qLKX ztj1mqNMmE)`juSo6KK~4p&G$@@mAoA!s#~B(S#7Q#Q=jk zfjv&nPH4bx4QwZnte?9ENbVyz3y_rFJSTIayy7q$(R}-@Uw%SsG%Wx<)kcQVnbdr* zIh7s8CIcy5hZ^~~#BaKGQ^If62JHRX-$~bNHHG7N19xtx!HvXELy5B5Bg6s$_uh72 z>YjZ|q5E?86^xg)ja*lbRah`DqgtAUyH974q1u-jeKEbVUcznUMipVBnForCH&^G;$a{W;NG$$ILI3nrOiToME=F6Lo>K0 zbEf>nkyq&Epj`12r6jWNOP{%9oMz0C2mSdA+W6PbzYc%?*%%M;wQ8>NR&EQuFSOxY zy?epIC9hnI)Lu}rL&eDjqci>U=MO98q74M$wvc$2;6aN&{Zc1)cKIryDm86Omv9%O z+~|(%-nuFfyT}*&7Ivdz|Hy>5vT5lU#FI8}Y#F-n-&ApZhd4emt00Nb@n=8rHgvBZ z43qf=zT6@myG3 z0SEV;ELOY65vy?(GIN?`dB6f8NXYaFH|+y|4NDde_+ydkq~(I(N>0_epRom?!ZIVhbk`gaQ}6FY8}=Jp4~?)6+2{yM(PMOFvDzu-I- zCo^Wb5d<&TOP&_5c3Bp9`GSsq9l zSYb9m>f(|G^4Ge_dVu2J_&v=TnxA$Bp?8QEe)IOYKQ?wI9~9xU^uu?3!7$XRGmX0Y z=na6fI7637(2d^NHwkWH5Q^2nfkZkGrU`|5k+-z#1?e1T+#xB(eLtWok!kpPlQJ5s z05{2`U9pAIA&DLmx*l%w2QM;_P!pz>dzF`njFM5)Fq&-eNjT39e3$>izG#uiD1n?x z(=PWSSkHJX`cRh-Blv)citf&jTXae5!!^nimzps9NcFN~)ZNPGD#-Lpp_+E>WbT;L zlv5^F!UYPJ2rRm^xE}b*48PS!Sx9xx{IVWae5`H;(Jwl0v-NIRJpZ-@=g(g@AC`Hc zm}fSezi`nV*Pp*w63R(vuDgi8!o6T*&q&Hf15l)0zW|Vtng&PcY`;1D)#=jkd?;~< zBW@qMBOfA>6%HLD=bQRrfND(dh2@Fqw>2?Ru(vYQ8oHH3&TXB!KRGogHy*g`F>@L6 zv=ml~550|lD@&C1#Rwh`jiKgWPLt`L3hXX$M>ynqerl$#@#C`4AihOAzokxghwm9? zbNJ_1S+aD``-=6soK_5f_7}WcC>vP4&LI@xX z|H4?2mXl`Ozl}E}xDm_{tt(Nz1BrqQ)h9_BPKumW?ljK-<-0O{_@JG`z)#SDgN`P9 z`79$r*SOF0^HSLwEKAl=H>P_qpeCNEWd3r$hvd4+){KoHbc>&J7nV`rCgA2#6(a*T zc8ma9e_w2l1+_wk+zo1<(y`QVZRuy2a&ub>{t!vH)o?n*@-I{+dX_bj0+lZE4j}K| z)Q_pRTT}OwBmn<)u>d^GAQ>3q%eeIL$8Hq`tt$IodyDm+;b+2MA|F>_D1=~oBa^PD zsyyP5ny&F;&eE&WS=Ch;^hyt(B8{1ouD=;3uz&`=kqzb2V(2QrsZYL^Vwh+;A^Ty0 z*o}h%6K*UCmHN!(>`;%LI8`*bpHc@A%79&uJFx=M8wdH)#kp-ZF|$J`$Ali=*i*9y zVR~(%maEH^equjLoU=d{`1c?tQe(6wabHm`J&}=ny|GDGq5=uWyO~Q-FXOqz(;)+5 z>N?V{3m{m~*z00*JL=vIjUr1$_bg5;%S5tNu!1UYqr|(x3!{4~;+z9~a?&9b2exQM zOE`^h0M+J1%Wvl`@{;!&iLzFB)f5n>n1?DJ7=tn;5JKeeR&dpp!`tW=PBftni8TbO zCm$@iCXtvhU&dO;YRt+H$SUTf=Wk@5HWlW~)5TtMjm%gVd!e@_Unb2Pn~G!}59;OW zQJ!O{m|{MTO~kpd+EGG2islh4Ju)FLxRnMjb<2!?e3NpVm=(P7R74`m?Jw9U{boNI zEcC|mQL^xD!!})jvv}FDP}o^1}=K(d*$9TnEub zqGd=`J;Z!e-7k#wGkP2Ar}PQmRgxEUVLGkYBrtSu?!_8MtaGI+aqy?iH`+aoV;z_8m?wo%dac zj5l`LLC8fn{Q~e+M~_xV_f^E%wv_FK!C8}ca9?&RVsqP4HzH@WMW+_9tujA+S6_B; zrFS7_GabIGf1bF#Sf}g>?!gjBmFeeG*hj{oS&x@)<7_duMcyXywi!DI z7~m2FXWmu5jiOrRsvJyE*ZHyJ)4!{TdMZ=+euv;46M!+PPMBBIKXpIi}@SJ1z8 zqvTbqS~LFgivC#g1GaR!P7-VxvTh~)Q`xGgDB3z#7Fb3U6|6)16lqkzxhd@mvtDx0 zS~t1eT~Heber}KvLZ2hPG5DOV-t_P!6llp@SyUJ1*z3^?Egnnjk+x) zpi;H)qHF&<|9TZRm#yy&NzbWIH#mCXGewzawTwr~B-5@C z9qwYkNWUIQ-?{X5xZzVAS@dRvZ_FGG!QPh9jhvd z-Bm)240q)rHz%(-;*EvGZ9KZgV^nYV)b0q*aGT-0Z9kqMo6`s1A)EIg=ijGpa~o5+ z>iv_EhbGC_MJK@J(m_AFvxRvV&Szy@T!N5qGh0x2kctR3?cAauE)m}qxW_#0;Cv!B z2eqpMX_q3iQQn34SlK7-A1g*dR~hoeroo^e`wS4&PWeE`V}{z(E)TOQn}I&0eoPb67r@b2>JS(l(Na0;zGVE85B-A8>6-K5UhI z6QO~Uqq~-T!V)4Rc3VwH;_YujYzLsPD{ZyXUM5W>-50-PmANJhd9dVNS&ukTZWirf z;|l&LxvPk$UEdKN0xkVnd~S|Or_1^U4p-tgum&#>V`V->LAP3wtpW&J1t)tWM+-K> z9f=h&19xq?enA=Ui}Kf^ zAHK>z`66$!3J>^4?q9Ur?;w2i(yLrxY_+-~ zb7@t3LT9zRl7C~!nQDW6ab{~GpiFQI2>qcVblo7#2s!bacof4zR>QK+teIoCN^b6e z=UdwKCx+QvI0=Cqxm7SA_=HSj-C?>7{66OcvU1%=yjnb34xO_8*0E+t%UjUm`2zsQ ziv-Km4fB_rzv$cF^;&_`S~T3lcW=1k_U5{?XpBbjbuyokhBx-3EO8L$3a!~-dzN8= zij#*8ra9{p`P_#WsaeCPBA~zxi$AHxIjqI=0_{U$Z{GkkTj)HUoTZ%%RjH7PIIxj{ zrI{cR_nh2&Cp=(WLGaDwR}_^=sr$S1JW{iX$8zdxF6>7Y+-eU%9%04B3M-Iap{;cy zmWU}YR2`dihA1_;UMl6#ht%0Bz-RFz?K)G)(Dkh8Lj^{iNMcfctiSRvvhQO|d4pC! ze(_0^iGE#3xOJvF`nGtgTp)N9eT71yS1^GI{m3O~X8$wC%2Ggydk^Hrt~F0)v;QB; zyQB^$H4$T@N~<3aJd$d^H4E<^BN_iyT$wAmGq}>gY$bmy5NXl!Jn_-h`)j%p+DEf$ zC_g+OO%b$zeJudGC!@5e4dCzRcQ$WM`e>vu^8P=AUBWd>w1(A!ADd36?zC$OlYxh( zS=j#q9?;f3YcqW}CoQoGf5$4km>gcyDtw9-t`yqYS2pvk0VL+l0Lfj%fs+~PO!kp1 zyx0A?@ZKitqvFC3z%Ti74qt43Y^dhDZfU>4Sao~Y$b>zrEVjqwl5 z35S5hbrA+$k2QA{K9+FK&|0Ev;2Mh0Z?pqv^-yn>mB%xDFP@HIfI54cu99;lMWZ4l z3cte*IW@cTLbn3c4fHMe9cqlj3PmjzpZ8Edt>!Z@Nu>9dI@v-JBMFbQcw|-PwG<4K z+$`ESu$K&8)0B^3IR0&ki!NXx)?=~r#J%Y%tS(p((h~2Zc#H$&7U1L}cPv0QH=<}u z;t!t*$h+zPz_Xqr>JKZMRn2VOa327@H)@B=N{dZ(S}$}Chz|0prNpR}>lgg7>&x8X ziNla)9+E!CF2*UjH-fEDgw$=0bn2s=tkC_l$#7K#{H8caq0s29&L%IxKZ~bGUzE=F3n4w zhsUkBtOl3*Vl$aGImQ{-fIZ?i9O-3A1NH}GaVDT?QzH%#B7nr$-@9E92v=G*_@KaliU*Cj@jD*e;fu~U>V6?fv2U`+@54}S`HHv%5rh-zPJ-}hQ3XD<*>i9a z+cI&ZRAuy{(^)0rO<@*3al5VzkVIv2SuFj|rE)=p*aWW_P0hkHmEv1gU&Ve)+}BZC zt04o8IUDf55SB4W4xY1n$pVZsn{?(q>;ZfMHaFRR9Xa|@;{LNinNEGlR*}R+QHgaS zG>l%{Ahsj4w(acg-ol zYt8-_orhISzsN0$3$L*BE%)WKZ4%E`=_61N{KrdhU@`7r2Y3Q8;+8b~k&;?kATh*; z6DR7-dhu6o3!WQ*2LUFWsM%h0rq2&V+d})rVSFS`1~_Q=%rOJJ>1G8DuJyr*xQz4) z4sGCq`Xi1|dHAByp;5@<;d=>!{7~F1sEWjkQ-h857v9x zp%0_jPWeVS*^vJudV??4KqxGckYhM4vhE z^oj$Pd;wq4)%rAjUo_d<>88SSNWLo7oCr) z%4TQf7oktU@8}-cqbg0Es``-X)g-X5B>TogAX%eBCwU#a$Zo9EU@n*xMt%|cm4;8z zk%kFMRhNQ-PL$R5^29>7@!(6M#lY27rI=}B@@ou`=*+j0wYtyzHh0OJusHboq5^O9 z8R1u6b4(wJDg|7^Uen))84c7&0h97>Pwo3gT@2{tj1NI6*jLuFO@Azo6#0U4-wB62B%?6n8=K%Hi!T@)6}> zlwNIUtlXyW;;;9a46ycVWJ|5ftS7G({t+>M8WJD&$_K!9aTd@sG^yxwMHEl1#J*CW zypxjZSed*-TIP0^|8e`R?)c65tGbL2QATd@DD3PZmEVPSbm3=GT zm8q^34_$G}h`s~+mIaf;zFA`1M__XRy-|)%pRJ2-=tx2N_vS*Hs!I>Kf4rd zq5FQuijQ~8B(fzwFg*EuCFPu#axy6_{!|}`IJ`B~!B149k+Vum=v=cNsV}Op8_&yv z7QNd$ua}=2(|LcY=*eDKR>Mb%f@dvQg&@MYm%7Qo2_CzOvvq4(+q!B;)`?fB9EtKq zHE;^Bpdr0htbWd}`qdrOhV&+7ebFgHS?%gZIzo#R{%VFZ5Pgf^UY=-6b$#6_rFi)Vp@@ZxFDSR@D~P_rG++feRvU>145hcTsEL#F%lJ&Z zk$U}Ey+(dUYV?I}BZ$>4)QUKaAmbs-yR%NJrtB=M>^%AD4D%k=9`zxnpk}KT5skP5 zwIUMHEd`7DjMSDmcb-EG6t$1aCo8^;H>Mym)+>Ml9Ms{I2LCvwF%k%mB(Otl+E9d) zC!m=M3w{I=yeg1bp3_Fxd;W+(`87mvX3D6Oo6wRnjEQ}4aIq%sb?Nm8svMz{7MEA+ z(7*Uwc-n||{KtCFPNAw?h#KcsY7Xy{DFZ?KVE+hHOO~2$0c&X;d+h|tY>U=iBk$`y zJL~JN+_kcfE6zZHs>ss zTzpsmqc$kMo~=6SUGatGwjzQ2aa$RL46L>BQot+d+AWqpgyBg^=oV8^zMqiOT-PbY`S*I9}S5L}_W6ZoO^0cSg>9)}QgeH=h%k zpX1Nx<@BiQeE#v0|0n13bcWgKd!+N(mn3^WZ#t*Td|rh$=(zJ4{_o7^uYEn5eV8Pf z&p+(zHlO0pk+mn`U5@4HnJQW0R)ErqxFw&#|APwZe{!Ym*!n<@48w zUTUfQX5ndP3TH%nYw@gNp^IuN3>7MC1%k}=nm5O$K>${JJ@=tXH)D5j%KS#|MR{NR zo`c+dQIn^Pv6ncx->xRAX3v_Ude0Wj#Q34Ic7=6d9HfdFkP3oUgf)rt@yZ=GYUAuN z8g&=bAHY0M3W!OfY{81k(W66y)z?F!T@bU=@O&ai`YubJDw(4#@KbXPF~Z)$FWy|5 z4&PImCMxK`P!bkyIdFJ656DiXqt$PY`8r~&YR-tQ2vFJjjM_g62IG*mT~Vr^|0%-km40?$-^Gxx;}5XKi+)eZYvUh@fpti~Z3h zaO1zb*NbaGaFN%XjST`trqMrgFGAtc5a)1>+7D=VYIF7QywQ5c#R9AqMe14JWZeI` z^hv#=KlDWjXDUt&Y1g@|3!mdpf#`f^YKX=F!Fs$sXDoGN03aW#5tw>d-29Gx#)FMj z#u}AF4YAw0-Z@>g-~#B1&{N@C{be%2k~J3n)crYoA_MhmbVrwHO>Cba=c#3a9l`H$ zmRh+zgZFcu8s^pNjTXru>*RodiutO4x$R1^L+nqSFi|`=D8i9$e{6v>`8Q~2k8DCz z-={GvC%HZlO3URCf-13R6k|-+03F9fmT{-Fyr4&Xfh*Oaumm?O`46}mwP%4#;d_w= z>(1s0Z$`1v7)~yr85vOir5(Zt4*SB}S4lpJR?X7N!(x!NF<7>L`(QjKgr~^~6dC|( z@H@!H>-@JS#`zqtV#`@`5_n@uT;|j20DD*Y*!*^xH|8!0SAtse!=Xa39EYGzyRPL^ zl^E+s2xLnet6HG)<4`Md3F@EpH=w*WT(dJTbeeYqAd>%^2#p4HJ(ymy zs2jSVB5tgo$zdXHEJBBlE-k5_?({}aw(J_}Q;2~k?V9cpg2zVgp49W$CN=Furrt^$ z<48TH>kZQ-dfXw@myRg=2Bq?8RwanAFa)FjqbO#4goibW0%beXyQPWeg(Ao7X`)_-90${ zZ%Io1wp)L{nwRbGqEr9X{*Jv-vYIukI0rmMHwBI*JdW?#g>y&}VPpC`S^O~8y9UoG z$UC|%d?epk`77X|5Z4nlWvtXk4XlUE;6`zMz`v$S@FuidyoV0%{$9~jy`Iib5jq8r zo)`|ivP(T!HdsQZh9{SYPI9m3`%}HdW;8f8e8uDiq1$c?PJh|~f3i5g`0Oih;68P# zCdz`)*@n~V5b(X`4a3R=1%m^g%AZ)UxL>?IpAZs`UeU%kK8m(A!CRm1^^}-;LNBCR zbMgHO4hX9J6#00Zc;fD2+~SG5{B4osAZ%P_cAqSNJZh^tjDN#blSG`HWdjC9t|RRo z5h4Z-PvUYb?zyeRLAZ!Mb&DfG7ToJcK+QMc>c&q03*aVny+1!G1AR-mU5Ceb^6cOf z84QHrXYFO~Sdna7?+({AaDa|}`B&ee(T;T&Jx@4&Aty4?FYcH?XE_cLeaku+ zTt+ka?JyBI-Ep(EoNe@`T~)fo@vG$8?Du7Su(V3Zr>>rssuKN;UI{N+SjM4cXG_%x zDiT=bdfX9bMg)u&OJYj91^`aBYmttIHs?#w;NZ!YG0^hW7ccXr0&!Lz!+UsFr+h3^ zT0kddN`FVXJ*7+f>vZ00$W&sFjke59nzF6fw-ekwX5>m8DK9lLZEto&n`bT7nw6U6z;XcA2O8P*x6>%}C zR1agv%|EOkCREgavC_?1%kMgPp@0sVF-!+h0&ZW0=SG8ZqUR6M0N0!>cKRn=pclK3 zJ6Wa^-T976sdy^)wf7_7I}xa&m$g=jfl2!04Ac{CYK`HXyUr-Rwzb?Sy{wh!%Klbl zl7d#f>;$X3ZVYwCqS4)bDV~^c9+<}-{`GHy7||A@=Yo~^&o5!oJ zos$^hnhkkDwhlb;)CIPSWy@5#P6Ob=5m}`tGRWOrVK>e`zi>7S-orlAsMG}1ZH@6o zxGpEAD-Q5bh4RVh)H1sovW5n9%8)*`wdxu}*NWiShJi^0$Mcy9q(nRV$fV~;#xIve zlzbO~i1X|$VRy9I9X{Yl?jr@3vYI@{5dK!OqEk<%U0W!@zS@tQ3-2JKBlUkeS8uNU z%BJsL(Trn5{jm$tAGn(0DAIdPTd416ZsU&WXkZ_t*dX~Z?HXbcHGOVXvO#fGRLx|?Vm78k^G^7 zQXfeEsk8!;`)+-897rCQt7))=+BRS3oCXlPL=d|~5SuGVxvt<=r_9cY94W$gVh$^D z2K!)+;2EiL+Se;4+kHJpBP=i?R5fx5Q=M@{Gsfom|!lP?`+$OvbP4yX_FC(<0$!k!t+o3V@ zp)o89@!POmIn1#|#dcekSn~UCNL%w82+hT0wFaw1x`w=Fsu#+sF}ez=A8Rw1iO<1L z=_kgF-~fvxDB0uCse_JlLME4TOmcJYXMJI@m@wD?x`ffbA;=8;UipIU6OXjYJpghG z0e32*Lxsncvrqf7u(hU4^&lKV^e^bERow=ZKXJTyl9gxiP>GSphIe+dw8}J=15mmc ziOQ;yO`Gc&fmW->WG|u0BnqL3uQH(NnHCu|11jgU&iUWejb%?_I#J6t>w#=|4~r`m zNlpfJwv|B(ZL|vwAkEUJvjMp<1l5!4ZD09oPysnk#nm zK)(7bOB#AHJUQJ2?Xey*(n*HeHsptw56%mnL4~hWP~mIDzQtxDNc^1C<5*gRe;-W| z_u@l$Jx6w@I+4BB`p}9j2ZXe1;{`HWG}$Pm;F~4tQ-DGbt7?-|Z4)l!GeHH!v?FJD zFyy$Vmnwk3meBr$*ppKWIjjzY+bw?TgcYNWbs{+bo(QV}ViS8FSnl+hOK^8^J@2&2 zCOEeyo=(^`4kk_-u8RvlR-E@Z(|HDUi3hW#a3EF5Iq*IzST=C(U7(&rMx#xcdR`kw zJxJe)Ib3ok6Jx&iRXPK-%o2qJ?t}^w^A&qMP-AA@vJd3+=(sg=q6qsBXMfXcC1m#Z?Xh1K#`s-9_A| zxF*}E{>&f!B6YGi)_(_@yJQhxkf-b{w-j9M4)5m{05tV?fD^}1IZMUR`hU5PN-`eF zB3F3@*(-J=9{Q6o3-Qb@PMiZzPtDh_w>Tu6e_JA$^SMMmPpgRESGWjC6?dWWG~Hy# zyl`(Y2fJH1kx#4q>N!1)12PQ?Thr!FUq*}KgGw`Td|80J=(mZ>&LV$T%88La^Yuc$ z3O*eDV=nPLmj9XvR{)j{-BPSBfh+at4|R8vP{e^ z8mhifhGKcZNmJAoCWD%NTh!{zfJl8&duOT%J8|%7dMe&WrA$k9Plj6xnozR2Gl(^h zmsG5Zv#!W7C~Sx_taX$y5l;CcsTRU=Il?S_egn{iZU+7FB-taDXp`&#GUHWV6!5S$ z>;S`tOql(beN%=Vu!r6Ms$vwvLxxXUq!R z=^)^+tqENNwao&f(rqb@u2`Y>R~&ILjf zr5m711%0q7(O3@a0WPch$*A8_R1?w}hq9(n4LgIwotrstpBf?)BYvYfb8~|ABJ=Y& z?#kVo{V_>GD>rV*K=2?T7u?B*8 z6M$Ca=s6g0s}Qb06z+eQahRAW%sEiotD%3;#&&3910C$pMHM9yffa?oKE@0x#zO5v z5+x*1LK!OOf6o_)>`4?!pSzqt8liUOS#-raNW6*=z3X-`J-7=@QOyd^FQn(KvYAXK zSh}x-mUq+bcJUR%uN8{uB~JSKs#5y=yT01z-JJUoh83;p$UQPgxnq=R$d(x`V?++Y zP-FJ9^`EUAz(}q>X6`knr6-R{b1VkC%a_$0}Ja$!y_dCnxA9~EZSFsLbwA)id8l#bg~p0jE|Mv$QMkhhulb@yHK9f_Pol0( zch+AwsJebBk)=-@#iGEV+`Z5h@U@t_Itp@+aC7G!QHwo6@HCHQ~oDhOeb(>EYw~ z+gae)`HQGDJ$%F2@^>R;bMph7aWGbpylPOoohZb)@Ol%3?aXY$3-Z2DGhM{}5G95) z4>}zuurC^Hd>}+R&N>E4t_BrWLMBdgP^rxh}oO08Zsd8Rp`1wv28 zYaP-?{hT-J18>!PcDXl+PzEmU>~g;8&@f2Znd)$uMe($23bfRFJxuM3g3x86&;ElL zylh0rgD2ZDc(3jfgEuu1ydV7~GBCstn>oi~mJzslaB3(~>dL&4S9*2%VDEpS_7F!) zjTpHr0Brc;3##f2*E!Xl&}Ho;d1M9DTpu^TG2%g;JiLD0-rz===4759&SppI0ai?T(@E*U$N& zKCqv7o6lQ7`i3u7Bmv$uT3pl85t(RlCc*pE-xJ)-MvP;m>^F1|QHO|W`A#H$e(F(_ zca0X8Mepo>W!J#Y9c-hEfCv>D+v_lhX3l9#yUHL5G{R z{qL7w>4~iT*FW5(g!pNafp|Q==9gYS^eKBWFM`6Ce z-`kvmU(S&Mi#hJOg=HQZfH$l^I=!SKPAsM?iaU8 z?(p$7CMSkYK33(=r+&`xdg<`MbQRZ6kSltS*oX5aFLg3t5rFiyyj27S<1!Ed#hStw zjl#Ji-Rwgp^hFL0Fd`3w_C7qv0n7=w(A-06sS#O0YIGZ$c9FwGJ+~!oE@x^#!YExzF;-C19Cw4^Reg`5!qc6H8P}v%KEme-MR~BI@Kkx+L z*yhHwJaUt8NaKku9&T6GLQ(>9V!=*&N}t@(t+ZSbmp;r2RJH~8_zvzhR>^siAtzOv zil`ohe-=dOIki1eZMT9laT=sTQ0_d41ZH>SpSn_sE#2h`^_Ry9%K zz?0~j^z1bllc)CGP@m`yyX>0+^Q0U&>l}@3Pt5wcePMZx>e6HR#YIQs-&+2uSBri1 zh#g!PSyg?1Bwpp85R=5e@D#6kH?pRFu$@H@!_S!#Wc8(RXY`Dm_(t}ommPm@4bz2r zvPb`Bq57Z*Cw{OVaHG3h#>=e!$NG1QJQL+^HnZkXqW)d7p}J7hs^lmRt#nqHwXchg zJHn2^A;%BRP@CcGr3!0o2C5e1XZ;m}I2ls06$<7(xQFwnuL#M0cPmFMh3{Ebb)xGc zneIsh4an}m#TfGLF40x2w&n}ZkUjN7bY_H28AU}Wy9+Wc%J-y=BJgeoc=rCe%4Nh` z8+Mu`G3x7yV|A33R9OC1WqfeJ*XCE#T+HK7~dcDqm;yAPaXRv8T zr%I3YI%mE`nXhIPilOQ`pt68oppF4%L&S5zG1#yeeNILtH#aFw%`xjDN zN7vtLJ})nvH^fJss^=vlV%&^8-%6_9JNA4VPl?k`*3^z{>LE!zNM2)oL{#31vqOc_ zO#tOl4%f0H6@9BNqT!{1SK{bNpwD4AL}@Nzi`ZgRxWkZ6zgc=T&MSPVJrZ zmyw^@6d-;tsxVr>0AK7Px$)ZGS^gv5Rs@oEVrL!{FmIEnm3w49e37qm@8y0qaSaRr zb4F^vY*d})yZP^O#!D-qgi_Y5qMIJRgj&0%;nv}4%kiHry}d)l#F3@8&HZ}2eQUo>nX!YOM>T~!5xWUE=SVu%&;<8eY9Hn5343M5I7XoFcS0wcG z@JH~4v;d$IyPklsaubbIbHlI6BZL0;r?d1}ErFTw$OL7FA}_=}g#P8?_fJqHa`4;a zRR-bF8mle+kp0ZaT?slQhWCPGvgCxG>obdQx}L7XSVU0u^vhJbDzjdGEeOrzCq}WqjA1XeA5};? zcb0uk{P7TLYNp}rGSVfJk)H*hTmkciVb+5AF!2huTDhY>Q@^WQ{b|=HgBXe+mh&k= ztOudookQwknYHMHH6Af}P4HV}mqj$@Cs6WJh{tXtIGbVrWc_pw_aCjJ%cOJ1Uq_D$ z6j?_Y+iJmX1*y=B?0Wj64qw)j)t(GLw>|tgPPT_%Dlr0F4}oBv!?)zQ3_e=XUvk%% zq@-QNg6k`qN_b(8mF~XZhra0gvQrZ~NDR z!^22SxkA8vrbXGTz({fg$!A^!xvkw&;lQ(9}`$ReMm^aicPTPxuDva`h%}=fBwbh zm;=WH(K=TT5Gnr5o)wvVzSU2qpi8fm2JqdwdmeMq%QEb`ZjsWlsS9NW*=N6dnLQ)c zEJFYF`_uJ|R*EATKEFzyJ8KxBIU;K{M;z)Fdw!if-`a7d)n%nu>EU^qe$H*m>MJ%p zbsCLYiFQp_{m24X1dZBz^<8{n=LtUEKMqR^Ot>%W{eK-Fy8s!og#U!NT-gDChXWbG zZ^2ayGF_=ddia@=yDP=$xt^=S=}S4IE%+mjB0*c`e^F$c;rd-M*=$#(^@QGr#6da$I=m3#ZdLs`a`-vcYm;A&BCa++8{qF?h`@rw9 z|6ACYE1|o|hN@xFJE70;H(|`jMynIa{g2SNk?FJ4?*)57CF& z^1+pe4U*`4iN{PZjM){+H5+e*zpsWmq9k{>PXiCh9?Ho+49jS{kT_1oT^f3i+ZKhf zE7{pDIt@1lrCR9-24xjJI%gkxppt;4&Xo2=ojC@4_m*~puUqId=M!SZ8DEBAZ`rQV z+P(j+gQj)V-DRIVQ%`#MEqpr8InhhHmrA=Pk|d(jwZF~P_;SueT}I3egn41sdZaJN zg%x`itdcUqk)Vs?xZ^hj|4^~xl&lx2axiOf>EUlW3)E>qhbr{`81Q(V6 zIibf~A7|wD=NSEU)dA@b}K2Zyx_Eq~l%;*JB#3Q~_`KRm1- zw0x=#4;KVd?m+x!th!8GqqDcMDd!CuPpGgTjgG(}4_350ahp&*YHl48f<9|y&cW3(ZkL2?q zIgMnEs~LSMBX2>IZeo?XCJlLO zB2!_aqP6>@`Y8)E=fXZVZ0FI3b6ABzWPb30|6ll}4mg8CN@ zu%%q9SU6Y;6Rw<$U-RA?Xj|xwOvJF$E+Iy2S1V$FF6#`2FI033)0FG3+LeAba%pxp zKC007nGdD*Zq7vv3Dpz7N7k1;zBxHL|5g6L$Sex39@F)SZ;Fr#XYMWW!CW!;W_Nt) z)PF2wxd7Tw0DyxwXXI_0->aC4 zU|<`B)2ssk;KkVB`D87zln&-gF)voKXKS-W8r zIRAOtu~yl)IwaUJ8z(uKBku2^zD{ba{DCzznConj&kB~?f-)SuIX(P=KCp>Z2wt;k zugX|Y_>BYUuFkF^$K)=?3s{T--;+oG>+rSL;7MI%L|uoy=>W%7$_OOL9qQ@eNUc3~ z-bm6r^+(Z=L|?K9J!<>wp;QK_od6ZFqzi>j5C5%rtaM2ed$91I975|r;K-U$a z{3lC{(61H0PChSp{AGe)Wtkgt{%Y%VITEqZqFp{Be}f0oWy^*KYIp5kdiX({QM#sO z*K=0C3eL;wR!qh4@1JYwR!)0A0XYJEe--H>wp7U?{h4etyq&4Nw#u~Rcq&t<$E{d1KeWfA1DtE7Ph!PYukq2S-}K|5t;As?}YS1vd2w;a@zov)(tx%v7W{|pGCoC-q;-@qX8+Wm>{-oL+%X)7RN+>b; zquV2UIZZf?kYdH`RnK&|BYP+7*YJ@&OUC=nY59KrGOd@paW6qT+b4T^6LP3y5%)e_ zPFym!o-faj>@9BGJHXx8UKH6kxw`k3-rJhUT-|$XR37@dd$(3cw=lsu_E)Gg2LX23 zR#<|>!a&z`GSoR6qJfv1J*|#t0O>&a=i0<_0v<$a+6cRbkigbcpxrm}bw8I&Mp+Tj zi=F=H-Gfs3oN42d1z_Usp)iU6*{5>UTZ{lV0t4CVF~>NGu3=6(FVPEyr7<*U4((gMVbB-?7zK`H4|`3W&krc7rPtx z0nWb^@x8kDyVbqlNIk}P%Iquh^!_x{hOzQ?us=15Px*Z6=jr{1r?UsfN(rOaZU5UH zIZ|fSUdRXciX&k9= zJjWM(H4z62vhw*ffwZ$!_DUvxqsdL&k{NJtd84@FaMsHoO(uRIUs&QwB=IBc%k5^y zgIFOi^j3D@yHw8gfu9htqOwe;T?eVscz zi|xL*=k%Rj-DCCr@#FUWq1?W+ZyvtaFTx-D=|vZt1J71GNhSpTU41ievw%HWQ|U%d1=-4rwYu`6(?E|Q%i zU*(R)u<{H1oDF-@5vbg?bX z`ayO+ujs_bBE`pB_b$vVB#Co+jD=+R!yaoP{V*39|Hlg{m!I^&zyF`Ce^o1qpGsVa z%Em=#KgGrm@hF>K23;xJ#>U<(e{A|fAI?^Nz2@|J8orWXEavnof9#Sfzj?(xzEQ+q zdC5GmAnq<}h4yTLkzg|XBp;T(O+y6lXxvvwoLqQ#;Y_o@;K%DY?B^`f%$T2}C(nX- z+ZM4aJPwSa{c(af)n%{yB?fcsQam`fFCJV~ixk%aQ9DEvaeu6e2@+~TR-hKE1b@Km>Iz0uuNXIHamC^b-LNwyMB=fo-5 zNcKj&>lx-f#Z_FQ^g8e8W8-}jCS!hOXh)>$ zesfBd)o*@^>F+GN`}3^sFXYU3RfV|rc_;MZ&L&{H#V<~kTByhyyKA98b~Pqdf8`!4 zvWPFzmX;T}bS5t_7#Z#Aa=*D~A!+pBGbA1+Wa0p9U*$X6mN&9J&GQWN+FlE1 z5@xsD7v0Se8|5HQo_FvLf$K~V01-}_Wv-^p)2(-Ugmq+sPEh*d2@}u0#2homo+Mo0 z4hpOkIMdMDhYg+?JGT$fur_P8kzHw??U*WqiKzXy-?5DpxopFj@{XIkye~2PjhD6! z;y#y7n{}}{Ob6K_@ zyEjRrzQ|kBs8^bM-REf2<_^OjL=J_02hO2LzXs8A{(~BonHVX zhqZyJfaUrc;d3U2-3?|jD5rMTau88B zj}Br!8-WzPWaJ=b#5n*kBkn<5_s*}q`G(yq8B5PTy^svu_2pCSuR1$SfrzujImsoC^iM2Ye_~9h_M^o2PjQO4`_c3% zGA5;(Nj0a1wn^)e>s*okZ#j!jT@nRT5{K#7R~H4WgQnG&>~T>aD9RHkj+$0oAhZD> ztQ*QNE%XEGaiVfq@>0`k9;12PgT^G60BSkNJCUi#I3|X_tJY;=$#?UH^Sk2tfa`4* zY>Y>IfdkeW_^FBEALfmcvepk(9h$3Ag;PxiLI;OxH8bFd%*Z#|q%AMyP3!IQ1~W4F zqQLxm8NEGDSfr za`ZPK)6+X9T2oK=QrUlco76r%5IQupvet}DVS2{tEvB`pd`rN!My1Y!d7jO&*c1rW zp^F{-mMo<1`b3XB#LvXWZB643#vc&laIxC2l9E7#TU4|$hk*FEP4r}pB` zzrsZY6y1O^kz|(~g$zDCo)_PfLl~?WO_fq<@NDcNYJ zUGA~FDPN2$2Vxgy>X)oTrj=t_Q&8_sVOW@LBG>1Gt@GJz@(e>SqmS4k2>C7R3e9tt#!5jkN$s+Tu`D+Ym2Rs360n#Cy!~DucX5{+T>q@3-E#+?k-my>y@2K<W@xfX z!m(T5V2ev~VY5E}Xx?ePvR29;fM6XQzOIdfFF#P^dlk(|7VOV%ef|Ln=&dLcmNRtJ z2N^)&^>oYUBo_UZT99pRO*kq8FCO~JfEVc7Unl^&D+uT-r#b)iLMWbnnsZ^YcY{ET z(H+fI_Tr!G2t0s*roO<@(vYt1tORwh{do$N_25Z-KJ+lb2NUo=0y(0UnTeWh6NPe-E5B8W0Nhet7 zpP%(*3;n~-)Ivj&r1`cyA|zyuf4d+P8UI!AoBtnuvR2BU6Tz z-xWT%VpHJP4g8KiA^d*)MtZ$}r4D2ge!l>3bY1U70^vP@-yh|D*|L@?<7`7G_$^Y; zcC=mp#D63F4#s=@cGk}EI-<$-{3&bKbv;W3!h5ow^9XLqSgK>jM?7~- zfoVn|{J+(+9c`}KZq~B{tDr$D62DdUU9grQcw{jj(E_Rb9i_Up1)+UEW~PIfkg&ys zw#os!8B7R?bAdAPbie^3xVYjxp?t`0SXm13wm4Y2qLi}-WRs;AM+oa+EKg^d0uvuGnX8{WG;`4EaM<%#fqp-k5AAUJmX{P*;#NP zDgK)li4{GH6pg&uj-!#J8I=Wd?)Ta7*@OsQIE9i2a;6?ucZd)$iJbcTM!l%x)p=?) zUuh5RyH?GudZXIEU8n(=6Km+|VCpJkM$Rivu;DAZ?2}4P_p?&I#>U`2Z&>RBg(PW* ztdKZ!fgE|cW}Y1}!sHlIm+O&2EON1$f)Q3V>5(hIzCn*;M*Z=WBN%zKYBDh4_P=^! z_~kd-u=2_RZXh*YOy3X-L`I*j7q6dlCJ}x9+_q4wi~A*A$YDpMp*b(vVxE@x@wyLt z898@HeYkD_in#PWuq60T5-=EQb{X0$QIu8Jmbv7E8%mrFp%FEBwuKFu2XYohC;Y$? z8M-qCNk?d|P*=w06Qz({QLe5{?`jX@O4(qmYHq(QqT$-5EH=mO8ShQiXTRh3DZOdc zudzM~8meF5n^C;iBrCo)CT0}dTJ?{Wh3v51Dch1&ZH;Q446}dGHb8C|lId z{25x#bXrW;n-rLRzaCcEoYL?Vh)ik?M5eU{!ofCC|3m{NbJ|3CD@qd1-G-DdRMewc zs4D5K3Ee^~-3DB2#p|tR@h+`q7p8f{0)D(1{FP1OVRXIgjIe^GO!&3-1j3UDq83fe zbsn)ypj2bH2w^A)l#Ui&-6#-Qz+Iq36GW#~`9|?)TFpY5UD(VRNVQ<1NP6C$&6CXY z;Zr_T6RqDUa2m7lkEa|}t9SQe?TOh!>*95!?pHox>fi)iTwAPAfVLnX0JIMwKW2_M zdI z9e@4=j52?fP?rper5paJd-^l`MDzy%>aU|eEou7m%1*&}(^z0de?S%B&d970$I>70 zX_Eecr906dMH9j%^k;Vl{c#|eczWo-cG;faLkv>>E)yc|*$Lv)Xq1>O6%!TZxd)V( zB0G#KNp{v5Rs)CHwAQO-o%xYa9y}kMk%L%Koj8=2=BVN)C;gn6iJ5oqsO1|mltu*#rCsvXuBS~QVCK#O`gv`8*C2X-fh zfBL#Zi*^MzApIt2(K$kk^8Hq8f)?c^X;FvJA~$u#o+xCeP@JHdkfc8v+34H13bMp_ zge=`@i23xm#KEB>(08?4D?Uh(C7Fy&D!FrtETI=WLKYb{#fp3FGnnZjb<%bLCG&(% zMn;2Lalk%qhe>K=9>1%MPPFP}iYOgs|9+#;>LHnrHl_j9gjOwg=fdADA)uE zF>YniSt*^p0gXW6CmrAaW}8|3g;qn-f1ybHcr&=fCUd1jkyNg()OiYo`xiiruqh3I z7NJImy%ZfbR#UWHis?6jh4U&S}XxILCUV#k&OE~0_PL_4BewY5x zW*g+7!Crhl*-1oADFz$pPd8Ns-c#kv&&@1vS_cF&Nj0k7!TiqjgZJ6%})ZN@+DuD)2m-qEzi^N`)XJlu9AKYu`zb zDP%+H#fo@l#O6WJT z;CFKtC7$X;{9R|U>*lvp^bM?(q;G1=)!F;;Um;exkKd*vR=uhy7(#aS9~A}bBv$=L zf`WaSSoI9-A6tT0^}2{vb28{xIM^;S5pKAAHnlzv?LVj&A1x=kNpsw>$iewk9Zzw| z3gR65NoNU5Teg9la^h`Wb zCW>!c#UQ21kc2u1V}&Vy-rhLq1d97$CdhBL>gWqULxeJ|Yzv)|>pn4@Od(91eb%Lf zuv_Ta5y1k*@!*qofZwV9k4OJR{(3Y)|BjKr6bjLv7$G$9B`|LW{zi}?^(%(#o4n;j zWzET-bAw)TWrgWep<$)VNI}m5uX)BHZtO`_z!i<DiQkqx&mT&NUC#2SM{*jcAXqSYgTx8`Q|SpXvf%F@PP*NrSyR-9C~(tPw1Ht^Rzw?W#5#(DRUvE;TgpLvEh%XUKEr)IrQ@@61;Hlc57YEZl$4ItcM%2b)!1%?A4cU+aaB?mXuru3 z>NH*^8ttSHw0|W=`ehl*<@KO7D|7*rj7MR&y)rOM;0m{DHt9VkJis`M4@ zT6IL>=Is?%sT7P35Q)c;3Pxouu^kzskJC zN#XsY_&a*R4@QoH2J*};Qv4x*Jc>W$4@DaSMQa1NN%1%vGjIR1dE8fQyk{d$WQ*4x z^W>!01?%wcuOta)y}o~=_&DMFfOC}_Emr^2w1NHc>v5kZ+n<;hLsB}CjPsmQ-zpt- zSM{wr630{DiWL15b=-u}0AvAqB|s~^ZH~J2L${n;BOUdv=yen7+e}8ISuumoD38Nv zNKHp%7T^>{;}lux>ht-PU^F_EG;%DXaaNkqIJFa_@jgJc$l)*C=xk zv)Yz$7)Nb;g>W%x{^C~n3$d0c`FIi%%(V8ReMRv=$xZEu%HpF9>pErwn$#voC{|u~ z45O)C-0NI_fg@>GJVcfZ0DLGs#2@WF4iABrRzN1f52K&e9QAD9W3;mz1kuU5b(iR5 z!7Auv$tZCfX0S#mwL$A8XU;nr4SC3(!7Nh`j$h2RbwEXqo zV!v9tMQGdqhwN8P!sj@u!~a*>ug+oooe-Uv;Qov4SHJFx2-AH!i16=XzY@L<6+@5g zSM5prl?qz8rd+;7#^XBwx>h}av}q=){SANSWgodt zL3`r2h*y$og?!;g!97qxWykdwz|^WZiKy@jMuD#Ex`^)h%(^9#2ik*BrHl`7MI+0_ai&Tq8@@SeLJzOr3!^;pS3=nUNUgGEeEEpa= z>>qUxqkbJXMts}$C12|NZuDX3_hH<|L;XSoD#krAa;7&BYAE%E_7O$%F(aRvtxpIW zr+FrX{dt5X)}dp^wKq1QWa?n9-yD1%H=VRFrcW5tCSGh4pGrh13BvGB_F^}=OoRb3 zZ}EAvm!f2057B>p(SvmsulCt`m)##8`#ZDLTG~J(QL9NENX|KZ-li<5>XQ1wrUTU>5 z;1os_-&yE5oN#S;7P(@==2CT8P>Jr*NTv$37ym`89-vO&MKt(ZDL9S*A)wg1cAjqeeQ359;0KrE3ykoV2 zeh(%e7hkxcGPETNFL4~550p0>#ask|pe_E!;vlSo$BfI`sc~7WG$-bFT&{oY;PY~mJ94uJYrZtCp3=ap zdp%ga#o6;H_u1hfiO^>jey-Kv(d+R3If6jT*xE+!(8Na$X~=AjJ%IDBj;=z+iK;<% zwP;^p1%jLW$7MTabH@4Vw7+8D8q+G-7>uGu8MVAElAS7I&{#{!wH>Ng`^%vO^#zsF z6eNcvT3kf1e}inVoGPhEFs9eYRoskQ{<_^J@?P~nGyD|*XBPNnDKzL@*>pe32QBmz zyJqX84RU;|oc(qrK!)vYduNR8Z;8NrdPmkz7b6 zV~mV(SsP@q)|S}i8S8<$+pvf<@qeX_W?XEq|10fAF{iIX54B{eQ(F9a#UsS=kjyIp zM9Uc%EN5V_0t1QFkrOdsh0En1ozS3O&mhReW3%*N`LX6cV=*l!TA2}sV$!E2QhZPYFN%@)H3~MNn zGet5V)KLTdMeS76!G6p~bld!r`QX=HkJhRe8Y}lX5}k04n$PJnpVK8w_jKlCoX&hC z^f2IBYlgpqF3W3Jpp2Bhkl=IXG_OfK1Pw6Pjg~El5hml-rvpo z2-#VxN2cb0Vq1;KKk$1;Yl|{=*;&3$Gm@bWh zcE8D8G%!f8ROv`Y@t+eGOH?f=ByC6OwJKi}Q^>GDKCc zb9j|?U^aM_kJG#gAjfIwAVxX(a>duo@ZbV7d>c2`lgg3%Zvw@KDn=RMY=f%?BtgR3 ziW`LN+VklfdaOGO7|WDsh?hW%+OO+&^lADt=MMdGq}z*%sE955P3oWE2xr_*A_w z|Db;aQSN1!k1!&&fb3wio^Mi!$|c%U$IVH#*Lk@>{-JJcuL^|QOv88_gQSb_%DzJ zUzQ{l;ok&CZ6!`0e!P{+D`Z2}8r25DEvGO7@p@ONCY~w&;UbBlYl{sERMrtz3lK<0wVFe&t8}8?FGtO|V-_@C+6G_`Upb1gv9N zt?zH={e9vClgxXe*sK&1VQ5JmmGYPdI*h_L5Gj(5t%df;iHJPpvepRC4;vh?*2OLs z`-8R3v|Ofj3-O>xzSi})rhNw0(L2J&uSH&-M*Lz0zc8?LhaVW!f$gHI9AcF_Uo~&9G zYzur)Y*+?9O;dV@Z2(wWwHgV2rZ-8FO?;_Dls=l%UcO0NFhX7sQQB-@AdQu9Z#r(9 zTIdTke_wk3Fqw`#VzCsXOl}tqShJYF4kUA(Q878hkVA#R6iUBa3;ic8pf-W6Ht@iN z9}w6O1a9;e*nz?2FD!M$4cCM$*p#QZJZ+yWD@uF{M+XY%{)*bOOuj-*}Nd^nK^BWJqa;pb}6ERlMGb8u6}%qiPS~f; z%-x~yfQGDEWyx()x1T%Ao#OM-{9P6Noi2P}L^(Ca^Uhx`{N2}HNbq-l-YF%*X7ZY@ zRLq?mDiJVo=8osNxdcL}Vdqu^FK$u&%(QYTSQ`sj{PBq57&WgKGoZK;xN~X^E4+xLVsGh}TO$qLw=coiJXd2Kz zeT;p1pX3+|J715%JTS$BPMh92! zsVr2Yig0Rf$_X#mF0H6?)*gE~G&ki>s!AmU8Scp?A1SwK%HD~GlW=b#))elo1rTvG zWov@DaBtTq?b!+a7|3DzvqsKz(UGNCK#k*_BXKNgrI;Ij&EJbb;Z;IzO~I9tC16eP zPf8ayG^Go}+e2jy^5;=lX~2~F%Op<((Ocs2!~r#2`@5>Y?neEEWNcQ&^9FFdO>r6( zzRV?xui5Zrnebs21930Xn4|FmM$4jT4oFf7j|SkGs1K(vO~Vr`tseR;$H_FLjfHvN z$;R!0=h8yYu}~AjBQMY+53^yS5OeD#BSaY{sxNtCTDGJ<(o1Hc1r-LMmA88n`zS?5 zQzTJwE+TrVm$q7@1t~K?piG)l6;w|^nWOHIHb>})=Cmh(Msd8aMd2oZ)}mG4rKr!_ z>G4(+34fYsr9IV3x)E9RWE+52OZg@o$}2AsKysKz2ey(tBgA@>{VtHz34R@+)$PC+ zX&Uh#SOFGRsKMbIKTv$*#|geM*k5?YyH~(Jw#4p8@r?*FqQ%XbhOSOtr`Sdgo0)lk zmqWD%mf{XZ&Q!%UioQ#@MwLc{^+T8JDCagQRuOx!2o^;DufLIaSevd8e-%mq4(kMnl|d<-9Vp2bICsK*S72Y+m>?{$E?1ag;|ejnt~N{h zs~;m6Bghi9k6B_|0e*X`9^h329L;&TySdDI3wsf0^vvO$<9uIekEA(em@|gwPYPe0 zeO;IDVSO*y1+KD9vi1T+hGd(eKVa^yMR<9kD;0Oz4z&zw-#2q}{$|KA`XpwRP zB`(c-Dp4I`4-$z(^PVB5CCz)T<{i%FUaonsRW=`C!KdUqwx5E_wSo5wA6$7kPaeH| zgwlnih-CQ)`vs0GwPASCj!M+A+IxPwa}q3jlAwmZBPcNPu*+(u6sIgUEU7<)Uk_Nt zrsczI^RXC166ly;6*mP0gAn20Dmc>aIncb>Y!D*9m)Eu`b}+N)8kl-TE|sL9yr` z)Gj4SFm=#d`6DxOT|4Cmwc^=V{(iuAVy)EpqaddR~idRdPeU!55aFup_S_GElR z)%b?OAgl3BX{Y>9#3xQc@1*U6w2tH?3NchGdbi++Wo7}BEc3asL9RNgF5 zX@rL=6YWNk4NA^NQMnXF{SPr1!W zs}}i}Q*GZOBpOAo!WI`Q&{F)Xl#b`!^&8<|ANW;*f34wNl7GGD zcb%1!(Rg0j9~}1eIe#YmioDrXKbhcPm$GS?n>PiB*1{;K4Cdlj3p#^|{d$6l)r-rT zwdzNdhBCp$vaYP~6Q#;xK8{-nChFW343g_j?3bXqK;&^f5E(}54b@P+=2 ze8H7|*uNjZ{w<8ZgeC?=Wo5elf>K$jz(vkDTq^PfNp{UF!YKqe$nB>WcOV>=j%dd$ z4Dl%)u^YYTCpA$Lm3|h}M84qUw*Bm9qEdbxev0TmZsyL>SN!@{&VSr_-5gLBQ70H! z^OhlRWSGDQ3bjE9!Py{73yA|X?vlXqAAnh)afZY9Ehg@bbP`|ylKO$bBwL(c;ArFx z&{vT*Dy|g$rKCj*j|!AL#_E#VOw_bv8UT)Y6Rby@+21UY9zeT_ODDBhd-)rzWaU?( z?DIrPr(2a9Iw;0+6CW+NYk5{W6t9)FqMCu|b1*{nEf9EiE7+hI__HNSRNqe|*x-5G6|spK zvJe7_n`9+0WW%yWE616|hqdY>0E#nMB5BiRYz{=TKl}iUe4CN9WA|Mmy!>H@mw#G# z`3EtFI$PJ_G&2KmT*|&Ru!Z8>BDV%u8#?i$EIY{xMf);%vnWc($lDBgk+4{2Phs30 zZW@Vhwj{wdEdNp2PbP6R5PDBIYqqnc{7tj?{mS98bF@v+q}tL=iISTF+;mStlpV1e z;kQMfnhwimPs0x|MsZ$<=PmxN%y5@kxL>QmzeyH`40BGBMZ;wWA~&*`e`438XjbF0 zK4Q#1sN}D3Q1){v;CU1nWIyF~AO##LeUdWRsQpD(*0cR>boTdPut8Bk_7}*N{T(U$ zyI1yigWBJ{EDhB23$6N_j9yTYDS@yGd=s{8E^-$e_6y2}EoLe>XW8rw*7@77QDBoY zuP9t6O$(2f#^ml&P+V{N#TqPdrC7GK6t)D>oa)Ym6&H}mK`?RW7$yFkwu)6q$jDw~msG96 zUCmr{UD)5R<2uXV4;8)F-%sUR>_-GK`4$5aANdyj{aD_*@-1S$mi&9^X-dd#!i4<` z)(}ZoCC+qmM?yMFV;9JM3CQW5jPYZw?vgQ*@$Z!JOU6i6OM)ig!|}>6EX>bFxW5a+ z=4z{W9a5JueAB82zcK!SGX8;T`~%ha2f~@E@sDBr#z4kjFXL}cb3JECfYk+W zFazM*!{@Ecr(L>8a(*{DoF7^GRL)iji@mawiP{Lyq^&y>Z2_H^8R6k*)6@AUkqVUq zhT``yPhZb&$k|m;f2AZUCPieEm}NwTbev?8Xbn$G( z1kRG~PGp|8<|+11%Ej|${8-q(Z!J!+f3>_*q>-cz$k;P~DjZ-VWFX?waqydnQae@P~V=hy!>e@SKxjZJE##~@zSDMs;R{3Sp7q419<;V?|tp3w!XEk2WEN1pnXj$_>=A3dJCB%YE= z7bxzMUYNx}?HTTpH=w%4SF#g7+f#o@@+Y5!zvPIt{2&)w*} zODc*w812o($4``^L2`=isT`ZgiKlC?G>3Ly>slS!{dmzvyId4MPD>f^mTIqjRc3qA z`_;%Cvq{9p2VQwm)PhakMVeP~^y%%6^FL-MuA~iv(}(DmhXO+>*rvzV1-CRf{I-k* zJ&&tB*q4O-r7ExNK0S`EwO%jWQ*o7&Q@MOfx26^#jrGwaQ#!XRtVeKhuNR}K#mg`+ zDZxX@z0QGJPlhe>>tM-38I5c>P4vieE76Zohn$)*Kg?g*f#Nk4gHh>}iqOS<0qePK z19__jicm*gRGWhX*M$c+aaGP1`~$VnO-LNvj?=_R-C|lp1JR?o5d#SVDVO5i_ksDDiW(CYS3vd43mpA3eg9L zr@lc&ulo&Zy9)v=F-s{PY&=g~IpKao-;d6hs~uFzGb{pQGHA%tt!m zxuSJM+7o{sC$h&;Z0@9dX~lR+eAZ*niB(2nE4NVw3u2dc!RLTMOk21Y5zS35BnjIaB5T;!nl(QQ<`3wk+LwQYGI-Yd{h@G5yOUD*i@%RUYA&lTRNDS48Jb19$S?m zzwX%e=!14MV?6>T53v?!(qiQ{)#5g1Egr(d_o3kvEuJRU!)b9_r}cPMJRVa1FwS|} zfEr~s+tk8&YRNcH{aX^}sfF`|!(s7zTIi=hgJ3>%d8>|HN}jBe-rcJ@uO^VTDg|k) z%*e%r6ub_<((W8D0c$*Z{G_qN&fE4eNQ|>Anp7!>#@BBgcFXF?l z`JRv+g-^rR#)mC zz=!y<@iBrAJ@SHl_~nv@vxwFSb;K(#B?Yro;9=1|rHUl}ECP9ym#2y_Shxy1&SBrn zf|z5u@w^f!CDEDO`5@_KH2)Xq$gtBvMRjF;rdSnL5fUwj??Y4PX#Tn7@<7|^eMNR% zg?1bFDqIgFd)Xrt!CFn4qY4lH!FuEs86t5}&&U|mkF3hC>5*O^{sZ~VRmM#2Rr0r} z3|6M~d2EQ2mK#6jtgH)Uh<%ld@*b{i^>*iXCzotC$%Pf(w!mX#Jz++x=}W~#$av#z zmko!mFLFq@hloQqzbXEH*ZmmEdN2zNt`eBbwGE-UJmK0CZpZ^gN2bNcYRim^#YbvX zomTq@FV%yi^6TE@uOss7S!pT~JWS30Bjv$FX({rGmxT}yTJh0%ANQJg-W^Y}YwEd6 ztL-bkaN*~4O6lRJ#Rf|@kXceEqVx3y*;XU`v^W@I@djI+PX*F~jp6|sOig*C4wkOM z&&i@2;TMLgkJ{lV^K!dSJ!^BwxSFdN`gbl-MJQAaaF*2BLS~CI#yge zF*5qAf#UtRvtg1lBaari#%s$iK5zV07w2OEsoZW9?k5N!mP7VnE~t`0NSrTWbw5(E z9@22}S}pXD3^b0?vQ7&vp(T1M4v3drm>;-`j_y0|s?ph%oAey~sIV%;UIix@>DJR~sUv0A!U4?G=1rr~dD9u&11)4%oJ&b9bfH)jBIZ2S z_6icWj6g;g8}i<<+Jo*(_Kw#c^k3qYAC;Hn%g2mMka;TW<*RXNi@Y~3ZIxe-UfM1n z7hlTjwKKKt%`>$v8)`QOA7ZLA{Zx@ZYiE|p8y~M`)^5~lTR2ga-^0H{)HzC>E$W4U zKM!~EFUE^cdGVHdQOXNU0fk^q{I_6hX7Qk`=0mOKI;La)qrh7dv_C6a&3x}(%%2CU z`13-$cwuStUdf^;!cJ?+4=%3jYn=^+1j9ki|TsRp|r zAr1V(X<$U>2HGN2>oOhBs?2q+ewK={-fX4-NVrx272}B7f*N*FwxISAzUZN{mUAc| z&}HJvojAV&8^9BP`wN8B^Dh%h&X9wud?}^Lim!`%2u)Tt$GE5}fvMQewvS5H^wLY7 zu2jBOzvwvudknm1BVM%c^#QzRx9j1EjAbu9yN>NytC=Yv6KZJBSP`s_Y+Ku0I`gq+ zeo9omav_ay<@*?@F!)eT8_4cv_2Gn*FH?w32d-RgE4J)gou`&0fnN z@ZczFVNoBTP~>iCJS_=|Bt;VlN1bGz$l2w|Vl(mxQpUw+s7NKFa0kz#7+=rOLr`?yE-v@ybm`PH?e`nDPD5MGk97rX1}w^U|QzE)%H1&$Ukhaj2_eV)}9q zDXWRj?d7)`V>j_9^zk`7oH~S?$ah}rtLkVizntI35OuG(T>M^^yMf2;`U``&2 z36E2+qNH@;NSFO%iYd;`v1Jp8=d)nyBv`6#_9I7N4Iz{90C}&|Rm)$u_Ehb>wrWk4 z^7m}(?etwSz*p5A^)Gb07EX1!ViSB-t$;%_h46^8`_Jd_XJyS9R;I3a#V9mkJQ$X`}-yPFCU7(h6-!|(b z?q5e?;EeD*uThAauYS&X#FW8ca$et#=e2*Ajd5YweLSu4G(k=o*0fIg!K} zkP;#mEv6$jQK}v{& z{73{KrsO3(?9n6hrI=(>E3OX`jJ3-sY%1D_{}Kr_-rVL$zatPZ@?fzI+Z`cDJLQ(Aa+ zE?vR1?^Txv`Qm>{G~?7_eS(|ttyv-MC5yHv?iu2oJsM)Kn#yEMS$2)IB*B4;cDyaRkVV~j*vl}QQZe+fo z@~fY^Looh_oN5W2zxvbiUR5a8-{#R;ZHQo$utH zbw1xx+=zVb$3IS-Z<+Kl=X-<4)cO9;TjhMa`JvADOX}xe9+jWT^Ua;N zk`_56mmkV07}T!EJwYx+dP$zd^Tq?L{P6Ij?IKhy=>6iANHFmUp5TyIhx1qwE;M4? zK|4J@>@`}KZ(LGA77M4|ULtcv>olbXz~`|vafZ{xpiWK1^Qx%MDQa7scO8(M>Vkr1%@@Z^~q~9FIV2xwXpQ1|PkuX-mlJ(#lAoKx z<*?AUy`m3{^k=pQdih@CpvxV*TxFty5QV7K+1%t>r@z{PAi;n0FyN67fkX)FD*Hj! zgzfz0E}8V3o!hP55V41^EX!;cYk6l_&}l+i~g|F{#5UtgKG=ga=MyxzDD{%;i2Qcqg}(!24BS2Jdq2yMcGApK$f7?>~u&OrwvU!#nZk4oIsB zaCPm84{Qfmp_>U1k9EQc)ZKRy6Zk%T^cdghD?b?Zr2O9r-miCtnQ>lMCxJfmyhgud z*nLlC*zaOY&IF*I;Y)pGLEtI*zcc*PmYmo7wv0-S+rf?ZMZvr$T)lrz{@KN1uA&CTEPn<%kdC=^W1LXB|9|<&{1auFAv(jckf9|Vg`Mj1iW1GV%v|y zm%P{sUe0xf$$H=1b-iy+4Yhk(^zl6>G1QfFPIkTZm95uQAM$*5ey8z1L^}c>_ikx+ z_%cO4llWXcJ28}uIGIuB&|3yR_a*XUEL2`~BrouzaTC_XARSFU=U0?6B z{uIC!FQ2yDI42v$yQsGbEAv}B+xnrmL6z<(yp<6cEx2e;VOcIAABr&;}K*o)|QoOG`>Xn+a!meEs(na7{&qy*ku^a_8v}Py5xuQE0R}sY{{tI%sWfQ z-fYXA3+ijs{?Fvs7G-SFmOCZ>O&Vf57d|Clqz)`(+<6_sGS(7ctrH2NH@O5NV&!-bEaFy@ODew|E_+EzSiT8(5?DT6wGFxn!a5CRF+YyqWr% z$kmTc5@Bfng97VSyiMV62i`-U-b|7_LQlxwir(>FAe^L47!HicJ>12?rGGO$7$a)8 zYc;cZhnZuEKQj6`X$W}&{Gt@n=&<5>FG-Y$9Fy~v`_Xik1jnhSvZxd;+Gs@1I+wA) z@^ZA^kY^J0Z%tpMI-af?pSDzI&}^%`&npdrPU&!Ta4KWDdn-zt4u zJK7%Uh4h{x7mJXb>OS#k%j^7+(j&f5$FMnL@uHb|R(96JyWDaYnlIj}hY=|eib8Vz zdXThB3av)Qz_9cd^)LGAY*KM)q0%B7ArU$0obGGw(Ht&nmu+5 z?G1NuqTa_e0?Ig-MF>O&CoVA!6xN~ZltdrS`JWt59RGtH|36Wcn;Z0Oj)x^7&in_`f1$v6>=QcVwy82d#X5M~B zb}f9G!Kfw3k{b$&R-;=ue^IA(NMJx&fo8QP&#+;biLpi0(TZUWFqj?7cfDFtt`|Qz zukw|$+KrVfmiDo0+5O~b#UKPiNAJ3tv4WG;B&$YcX-`LeD}j(K+u(J26D#lRZUbj7 zqO(r>H<(Vk-@g{d+GYQw+r$BmkvO4#=^(q6UKK1}m@(SW0bp^FvneMFi|$VCa6pF0 z17VUPlQ|#`OfPqK*SC`1v+SvWYvw{d&d9OLDfx6v)o8J*{fNORg?(M{&-U$IkIhF; z7biK?6F>^RW!Woa0a8aDFonaFnE<9^08{6vleVI;u406}CZn)y_B%2p+3YcFb^+HJR|PYGGrHK5#%asWByIPhZ0%nfKqGjIHTr7a(`v7vn%~+E z3eh)x5D*lyU9+C$p#s5r6JsJCjJ=cK_xvFH3|XPnVP<)STXL57I9PxRf(7z3D%P$h znSQ4;rDmq^#cD}JV(($K9MWk2p05hli!uOC!TL{~u1^wx>^@Xe4Z=ld%!R`<<*#e7 zBV*%22UwGSPCMOT#_mzvS7b}$R5D@PSdJtLhJ97wP+5SRp& zx93pum{G(AQjqb=xSGcIlj<@X6)lk-e79xn3#37RLA$EtFW9HXL55Pe(1JY+C-rk` z;U~XWnzSbMx4-DTFI-To&_Gu>?S8sv(~o^$mlnQ$GA#%*XBW~!w;N{PC~Y^@D>}Dn zXVE@i)xlE9l@mI^hq+nLZ8-ss0heakZ}KM%F()Xk(94e~?QE01L|LF)o*xvO2tAQI zEnI70+`u+%GzQeD8&mj^!(3vwAc}NIR3! z>fVQUism-g?erpz=C%m8WR3S2@WjHiq`M_$2sbrw1xl`A-R?1q8!CqAikFtN00W%{ zC$q55aIH37^@eLBqLFo&VpcQhAmj}1`u@z@i6 zMde*7UBz7XHKD7x<1Zo|D;GrU990r$h&wxM*Cmx_`Wt#ak+;;=yLRHWzJ&2xg9d#vqq4(7kB4xOvm}QeERA?0M{E300Y%Q_2)1aHVNEKvZ$;8guXj@4oIFp%xp>59ZNM$g<3nVr zi^2D!9#|geYlJV5Y;Q*RTd?$BH@w+dGcEH~Ldy*610oa4wB@_XBKH@>eW4>4X$wR$ zm~>ac@5o^8i+`vb%FcxbmJwAEd5}t6jNFOfPUqGIhV?B`6_mQH2AH9`56IEHJnqZgQ4{4P&0M)f ztIZow>JN4)9yqtf_o8CU-h*AC6+~ns)dEuTSk-KDjg}8$b+RFvNXpWl??s2?I(6YJ zy{Wp++A^eM-5#y)2}XH3n`n=6dV=@-2;th77;J-`_&<%^S*Pf$ex$aWY_ zNuCP9jjx9kN$%>F*jMS;Z?&L!);G24x%GzC&h80@QRS4<o|0JOM44s%Y|Uv~75gr& z_7uSXiL%`SxZGFS6~Hf$;mSaM&F&n3zhxiT@9RaO5Q?KddmO<*?R*m&w6T~?Qm|=l zQ@D(a7CPgytqu|KtrRU9x5P*=owjUEe6@(t3nqd^rM*b6x>J+|YN1@(WVOfNSEDNw zB-$t@d0dE7cM!C?_|uh<%(zJc4>8v4{c#vW_6P$?_6UN&pUfT?*iO z$Q)do9CRJS>UPjoCFoS^lV{nU!TED=|BX^L#iFbRNThypBqzn9e2u1Nh8}zMT&;E- zUlXf99titlIa@f=4eNGn+A^@NqnlD8Q!~}>+fB6LjM3F;jKltxF>ZBGflrQ1?dSYJ z$&dLdDrmRu<4J&A%qgK@U^g((Q`GbZWxGX96M@C9s3}Zg=KwvE*s(7=LlD0#`}h2z z8oW|Iz~*dJ4|pZPa53^0#B*j}=u|rKd6m70jcY0u#Gl3GtEe?f0eIXG2iY$tXx!{u zoR*GH64j1I(O9##V3XM%rFz(yy9ORtTfQc@&d9AZt3`xaN%Rc0WD^nmX?Xxg!T8h0z$7zHAe54&gempIB+J z^Z6Ez^Y|LaVbJq6je}$6ui!Kk7Zbhqzj2nH=ZcPvb`4<8BK4o?x90Y>l~u%Q6s>WB zy*L4r2|Q%kn~?EjRjs#IDC{S9Gs~_CLV*7Pjxu+z2Mo3X8gVvAx8jfzIpIBK(`Bmm zl_GyCJ9|@Ez06%(UREc|A=Xu&HLfpT1qFwaKXaX&|FY=l8-ln$Olv;D{;=s;_T@AXHtWLER{5+O z`}?ekxy-LwfCC`*+D}nN0Rp16jn@J{7V4fxfEkFUfu>RgH1@-S&YGek2EpE?6qAjP zVzLo_?*sz@2(s*75tRyDohE7?hgc{jA!!P(_pFc-N~0#jy3reG>V1jS86dr;VEP0- zD85vexYwSPmQ!w@L1{pf%L!Coiw<<1{ge&~$RFc50oNpI5BR0G35w->c?JPQ3hD3z ztivzRjsmDFWU+cOo}n_H??{ksPf9Bh<2FiTd15u|v8clk;G-bAPt)4VA{Qz3XmK-3 zs#VWmqGsV*?h-{Mo7@2l-=j$$`)su-J!5`wv?IG3+ zqW%2ooGoi|ZkjyV=Yn*e$EetzJav9+a^I#>g_UeKFMabrI0~nWE*R=xQzB|(MH9Q7 zsTxW`mgneX*_Y9M!qKR)tdTQawo0LodJsTAfmI+kT-M;gu{Ey0g4@U0>CWBu->16m zGy6^lng4Yx-*Fep_afLa%U($2fY9so@+8Q)Zru#Ot5n_SvorF_WJJKuT$IvZD;>S? z#BzN{z(vp?HqqNrGAdo8)iMkht@zbhS=q4L&6>a7@)vw6mj*??{uiF{>m8+!(w5)S z7vb>G3ZZjlk$)2X+(mN+qiX!QqiR$^*Y;Z=&9cZZS{(&mc7=yV?I;h?4OR{^3uC06 zVl1ZX6T>=9%n~$(JIdkwIgb)Lb-61$Ytmhh{*3pZ`{KJy@hAH;mC2A@(CSn1^k(6X z0JdjF*jfJ7mfft>eYsWKcDLXMRMM7h_gU}wLLZ{P{?N?*NDQ|T2Cq1WCUFH49dMIP zbOUhJRy@24uevwO3=l zk7AMqz>Iv;@s3lTTj%+$4^W+=N1t0@T8Hd^WiZM*q*Ts4F|7Lw+I8%6t@bmjDTElJ z4y7qHvEM{Rj-%b91+Ai?M!)@SSDAHK=12Zs6p-8fxgV6(#OD&`d|N?ljF1qDX8FU9 zvV%24X@;w9P|1E12ML;C<+WuuWOI_l?<HUj|3FQBmJGb})S=jCBz6KF^KVpZDlRVM zluge~P3s?Vn47_NCnm;Z-f<>J8&xtT&AJ;}qFV6L!U?7|hS$ky@%dp{?w^>Ky225W z8{t=?o~eHrkP^=awJhNaZ3z@*HaeLMJG7c7`Bk*Ni@$)cYV;Xdm6JrHQ@lO6+m;kQ zw29^@=(I_W8RahGZ=#u739UIa)*nJmTy9WVwdp^ zub_+M0Xv@+J6FDm>LWIUZ(Nlrsb85rd0Z0l?WoQJE-wFV!M;nPt$ImTT)PXpD+l|6 zgxTCEv@5)geXv%K_rxa8Z0a*8D>h29jyRqojeTy2U6qFTr8tyMEohH<$%p|qNb>JX z2QBQ=INk+%9uFhbG@d<_^LUddWw~q6hk>&|{mt~$C-%Woxn3_;N(H9fIKB^+WL86;#{!JKYx!3q3F@8zr&}t;OlgT;o|8dE_4O%`DB$B|GM7T zG`WoPZCaPW=9&$BQM#toD~Tmjua>DVeYM&cUv%+8V^Og)p(b}?2*pEG!tnRCdD&Ez z7-|O@GHPCu@+_DAbG}?%Bx9>7kgu1iuN$a;_2u%l_Io@HT|*ZOrAoRB5!sw@I0j5g z$5014uo+S&a!NZMvl$Z_=dnxVMQSWHa4qSvT&mt-6l>~pajH@4kh<`7f7{KJm7E^W z@rpWf4K-88c~PqouvAMWzAbi}{E~t0;7i6pPfNC`UUH9b=F1_;m+8Un0-(}^drHcS z#jdH(S2M~c2KN$WWjP0`Qd20EBMg~Z7uDUA&fVoDU#7d8o9a$SH|Ju>pQ@{A)@n|t z=0er)dC5wuMOWt*&rH5dwRVqBT(#yxGBp%pK zPs5Ux)Y!{-p0P86OB@hNLB=Wn z4hVH{HZOu0*i-nUdGU-LsF0OV8wCa+msp;*jK3Nv(-TAPW<_hGbG-?)mO5Kf+1ulO6U6k&~v)NN&6mLyVWL>2Y`IwvF+UD(mPf)dp1lr122(aLet6)?$8ETA| zM-4pFT-1)qjr#v2)uRbkJNV{D^n*kTO1=EeF*qLOpL^W878&HH$7$?(&AE3#K zTo#C2$F1BGykzvdZ`&**=T?usQo3=RikM85qZsI8So1u}ElftjvT;?3GZOm`lsCe+ z4qYiHTrp~;@;ZELKCI&(BrAhl31{B-*{ncQqtt}yNW&;uKTX%+%HfkrzQ4DXQ|i-x zu*z5U4vZc*$TTeypPI_;0LX`BwI2q1$G8%PKn*2Ryv<@w3jc7gq$-Gg-z?;k)rLhy zt9@0Ee3Mv{Iu?~Eyc_dzr5O&dI6}9^;ZH&$p{8-Vte`9jVO5A%Ogz8 z{yNU*UYyU-PWs&b@IdiAuZy{T^Fa-9t$aEXN4#>j?-j*vUJUW&cxE+p=eOt&-(Rqo z`_}RUp*P|5nkD;D-KU6@Hby*kb?YavqAh{>ts=uJ?_l2_2y5BQU21YEq$=%uMGhOv zhaG%y{4mvA0Q@k(FBo8d&hah%5N@%2E_=AIuWlFK8$0~rhuqvbGn~jhkC}Va)PD1x z$M**h&6fWX%@}(yKs=jp_j1ktW*{>0s1cc)tt}s_q?}bp5vmU7XrVQ9$Yi-3`7^%Z zkVe;!(zO}+7I$1u?n?wju3uX|w>Mqi=|PC|mgOGyhv#N1oRwNM`3#?}Wu>Ays5xa#oDMp3ieOjhQBfJ*OPOfT8*{lJ${*a@jrE zX5?{X@`LT=ccWfl!*As^&qyBjXu(!W%PH^Uof;L8ckGMG9 ziHnm!>ZkrNV-!IB2tZX0v@yhw)U4VZxc`{RiyESZX2q#MCPOc;x6{sK5I>tnvy=P# z`6i2V=Kz1003mJxmp=SCGA7l4Wr?qb5+# z1e{jy=_8%Er4w20JA3=XUiwfcPWouc=!51z@%UZ_foH|O;d@z7Q|yL}wtoQptBUyx^E(h;E}|G9VM!)6iKXPKUcITwA?ZZtR8cC+EUvG-NH3{55akEN zyunws9Vd?_SVFH49b@Ht5c9QVwX1`k*lEyPgCvik&s^mf>EZ7l5dBf?xiM9by4r6D zUc%LLt_~97WNA;1!(nb>c!sOP{wA!k!Do9L0;E3Vxdo?RQ^osp;HX&A3%=iP!XAjB9D?}l#AFTqa{yZ zxoW+9r5*V?BJor?u+|Rc7n!}ank$un`B<~u5=UTdn!f>EkG?`#ro>0MZ)p`yRSRwb z5tnMqND$ePaH=H6wzMXmh_P)96n_zHwBKQCl(z0?G%hLWiJaZ7)qKJ)uzR5JFSKo3 zK`zn%!`{2cM^#<@{~1UiLGVmkqOr9aE4GQX75b=61Zze!a0X|9s(`klv{oLimmiI9A_J?$`-g_?6Qvtl8|A+we>AyeutbZbnnMnqDAs9L^2T`(~DzEmH)8 zgGbRCo|oKzOq?_2bGj?|HT}TiV3D@m>bIxWu^7soZ;%LR=oXBJherzP! zk6d4}96DwRx1WSbTo!+fr5)dvUc-k$6BLwL8bdl)$RK<>x4jW7w%x9fdr^#}v0{xK z^H+?)p)I>26%R)$aGSciMD*RcwVa2IXJls7_SPveTlMq=8Bot`P9LRI0rGU3BgATy z`xRgnu+~q=&+#>1Gn|urOYqe|(prD@!6$RP$-089!V(|^+V{cKP6k#tJNiUU5)9lSIa|I83b~(f?uhzg6EG1OFJ2bRp<4Y$I4yiv3d^= zyyQ39T(+pN#M3QzsBW~vTtCfQxx`#+PHiOMr>UjZucg+nrPkD9Rep86Re5%eRXH_i zRbo|;noFsubNi*H@Vfatto6oOG>~m%7s5W;U8%(x^-Nwg-v0g@)&&gI(q7wJd7gGE zZ(}?CB8LbgQF-MkJL*-1U`pwqssReNd90hkLs6oF^dLx2g7k=St6|1%9xHd5$Lc+L z1kY&Xdx_k)b(?|i z%4YNM=9@=qE)Qx4z+cf)bj(I}Vi)YZDX{d6Fz^<}ZtzT2EUvI77 zO65g>eKug94%lJ-IF&yd%I-i}o-h-sa>fCEq2gktp5j6^Gcp#~E%+K?3vT?mInZ7v zS$r(;dM@=Jct(AeWHS*J-I0oa6U{-3p(OrA(9B>PhV)z{Y&0m>wYwAvhw&Vjt!n)| z4qpls4nM?^ioeB<$wZz0^z*F64jl(*RZV1mUfdwz2r^!ALaqmcmDxl3VwrdenKhuQ z>8R`DhP9kGyo3w(d8a?V#HG-?_X(t8r;|-L%?6?17El(cGDrNUxzFRaIP-U(p z4$mprout2vMo)({B+_9r`PVU3LqV50q+^sBkw9ts;XKZ$CSz4Sgi+J2nYA^cEy{<4MMMtd0)==K53$;>{<(jqfGq zK}=2~wG`l|*5EVg&FiyUA;3l*!H;lLMdN+ROBM%Umje^ zfnWmP6P{n6S5GOD5au=;x8%0fgkUh-oPJQllD$ywqVILOZZ7)br{pgAeyz#&J8Ty^ ze2A5Dm0swu7E*f2VAf9+vL0@w<_^iK73TXh@@swbg~4v;96uG$@^~QbGdOQ+wG zeJOPpDt*CJy4qB#D+8A3i2T6Zln&iF8(bYfa|9j0h@f-!<*xfhPA_RGuM$v06ev&h z-AkIux5OaAN)d?yaB+{JA*|;QIn)FSQDJobB|2trK>0)iEox(#+DP(;Xm@T(s|Gem zI|vKCkB1^gSuOWdEapycjJUIHyKd9MnP&e@AFXn@Hrhi61ODqZl0NC02-DA!ycgC^09R*Ev`HJV1p6P|J6SZ9PM-U2jGLZuK2u64C0mtW8Lq4m6sH!tdG z^y@Ka#22t`i62dcwh}Mjb6&2p`;=ATBnSfb25?cQRn)BB)LQ?S52aMQez6Vn(6S@j zF5xW;g_Qj2%5lu_RYV><^ zssC%dI_#w8>lfRTpIGZBHv7MPLY-nu+iFVP5sXQVFqJZ>mL!L&n;9>coPM#+}c&w(o!BdMS1iMHGAx_ivu8HJtKL-4^( zP6m5wqQgbH{#lcj)Q{1qX~6Zg`sS@`q+9oOnlDCxNPL*u;U(!Eq%>~eD6%cu@YKR{ zL+hkzG~wBFug09*kFa@@$|N@tp(ivN#`)?)(387Hx^*EglVl1!5O%-9WzsGL<&t7= z;yUNe^2QB}<|*o2a9h-wxkhHki)JG>KnHVEa??JXvAt{EAVo6R#NN=l%FJB4aIbD1 zLRq9_(#PqA_(i#@_Qotli)}hOMzKIIPQ0kpYLR*b4r9`v1atsrl>tsq>L=#Orwyxr z%&R{ff>uPFF7BI%Hqs5-8Lb##AdlJ=IQ4yAM%xeCNPT<`y)YXggu9Wvun}ms14fbg z1imKznXS6+IM#T99(_;H`baYLo1_0HWT@HX`Y1AVpYF+;;fNAc7(_5unD+24vY$GIRHWC#(_4gTQd2(DElE56kHDf+m~EfwkivEC|HK_yjIw5R zaQX8r!!qL73C~6xPQ!n5p5wGxf)?P5vIR`vw1-AHoT@pf2QpK#` z>iK$9o`*PL2I2(5l2(?4)}76H*q3R~dxPEmvuXZ}VKnB1oZLJta}@A@FY3%$(~Jp5 zye71+DXnlWx$nb^4$JB1G)j~-n7QOTdlsCI1}1B=QuC4Q9*B5Xv&<5!z~RtH)@6h! zvg^Mxf}7EbZDF^9lNO8e`SM7`b{1tMMm_jZ$c06@&nET|E+g3|nGm^QXbtzMwJ!)TW6s0r-_v(-w*);(-}E~4v><$m z9E0Y`gG&F_KcxY&H?$EkMoD@Jze4MdOs}IF=;I%Gup)T-Z{Do+K|*fX$t{c_vBqlA zH4N)0(Ab)|-S*~VuLU2FSf!;!(jSpW$K!bFTN%E?7oEvX2wwNzLlC}(OnBcj!7P>U zT*@;^>&*7*$GFTs+Gwq(rHy8jt=qS-zG$dX*HhN?7`hc&_o?(*sv5YZkAYhVtvf1x zDhZ)=N2kB24{okrzp4PYOH1Jumg0jI|CS$ivr)kx5rD*+c;{COUlr z8E3#XMi^jJ2PdvpHFD7Tw(Xt#>3zd+Z8O?XL@&q()*XK1zh?K8b{(x&oh!Pa;@|8F z%4`PVtdk3pN44_b=_K07ei(gH-_7oymMV1a3}SnURsB!>PEhhCDXyop0mLT9TxoPR z;m%wmTA`#mx=F2Rt-RuCG}%kN=t_e;E1UFSulH`kw3)iLYv*<9{tKT zV*p*;p_94mfxWn0JDwpjsd9DM&51-|+(fp%N18Yzb~|f*tU1ujZctX@gj@flRzmmd ze8K#RW9JRoVm5O;;faskGtIf;*a2xhO?5^e8{s0s*{JD8pi~`gSlVH=cxuf*qzORo z%vOl7hD;#7w*C$41ukFW?A~s`Re(-AxQ+nhXexkfk4`i)y@W$$1}5Igrw(X7Cw)pg z(Ja$|NJ=Lv_!4-HjjIKtiXL|U8aE|= zAi@u4i__heDW@hlw>;E@k%NKkbPe&xi#HUz7`dv72uptW? z#LFXd)Qz>JlM+w%m|FnBn%7>aPi}?u@tRA`Pe$fD2g9E9T6Uu1q2v6uEmyL0u#$sR zom-}53$be7D5710G+i6LVk)PCkcAGdmb7dMie|R|+23d`hoZjmP2V~M>D#X!&ywyq zSf722SMLnQ-v%p@-pHTgRxUx>J`|r98+)0 zN*(E~+SQFb&LAFnJ%6J0MER~fx4wqI7u1g@$cpi5mC~#t??bJv+ipmy+g6J?Bo{55 zmFg@jt%HTr-hbV%^y8olC#5d=YiF}~FYYRc;ysQ(#ER$dx#Md1d%-va-KKL^o!`|u zzvKR0t37eG=7HM{A*;91Op15%+yBy%yBczneqO`-e_TH8=`JR1$ZQ!$-o|y=8bgu3 zYi1Q~N^fi+WVkHktC|+@xK((}3S>v_FdCQmOE+GQI+`aPTB1Nai4HsPsI6$lT{xvq zyp;a5s&lp(zjc^ILiRXr$rqjcheO+?!L?0!1|bg3@8}ep1hE1{WbEh2qOJF->xlgCg~2@a&5JGkZjhQX!(#Giu^3!efT zT&Kr_{jgGTP&U(=qkYVD-V1h)a|{@ckpkMNSlQ!+=Rwmd^sUDKr9ttl#DL7KPjUv8 z$TAnq$*Bi4u`)GZxq4E~JcOBi>(jTOf2D{RhF^T&#Y5l4NDdw!>(vW)rKmZ3Lz^D? zb7IQ=2LO1LKL-OqVSwo?D8wa4AtAp+GM^#!?m*_4!H>S6r)UeD#Wy6dA32RjVDgcl z#`32V#~x%B_XdX(S>A81EMKLe9Yhy8u4of1?~b2NYx(1`)sg`s>9_d9PI!<#bTt(Z zDV{*O{2^QD)yi93_xDxzE&QQJnG^X#O(N1I_>vvGW7VNpG#kV$&57hbtD17Rh#wyY zIvt;_>Slea3eQLt`>)uypLLq;ABX&hgOcu;-tK=Tpv9Z*w6r0x;!Too#bGP)Bts7os3f40La7 z=9BGSFPdoMD}RMlABjp~*WniFRo)5uY3@UsCsneMn|Q|xN!OQnJ^hehRBS=iy>S%} zH2N2eg*4*n2Pu?Y&TlKZnGXl`M=A~3+?Bz|Zu+oC^&w@b_q*1riixqQifM4cMSi#9 zvlRf7pwjBkKlClvpUjtO#V%CnS2Aq|1`Ow^culT&wI4szFMoScdG#?@dU_B$xNf$& zMq_w^!w!BjE`0bVzUb>bD;joQ#sEXnm~&Lu=fX4=JF44Oo*7LE#MT4g2#S&if_y=B zu4BOoJJhN8k+}iAS=1pec4wPD$*x}A@qZ1fleI~AeA1xqxDk}=T<9J;kA=;CJ}f?J zUPl?HsCUW|7fQ=Jx$8adqDvED4w9vrZ{)OqZD%p2SyO@(E#bYI_nO>$E$`!V@AZas zO=%=)nv(GJH&CAVI8~Kr4(IxhzE^5~GZXnRI&lUcMx&D6uDn~C#;rHH*Y}96Y8rP} z>y*4J-KKGOYt+sZoQ*8T@^Mr_rqtc!PDcA3r}^%z(K1muG~BRl(d4lA)ol2f#}lU^ zGu%TXLEN)GsYar8&n(3CJeBbybLUj=$fHnXSLm2%-J1)?=D*0{XXX~#JS+19q*LXK zM({p0lOo>ue;DO8v8mDsN&Q6pYI0wxwc-xg!LYluB;-xchVGeWJX*=3F7oFmUE8w1qopf$Ne#Qj=7bJJAoOIvFk*BW1S&pRYL&S<6Y3 z(k6L&a8vn>0oAfGUw`EBf2abK1f>l0jM_F;^`cZ4a;?E?PA#ftG}Zj;VAY_$h7ZY> zZ;{upX8D2D$Wv9mH<%)PW6!~=K}Q+sUdx(7HK!g}jX3grHDjsfwS!gjG}V+@Esqqc zd5gp3kU?EiR82M2^dGF6KB^gEwY*WN=C%W?IjX3dBdO-4gH_`Thg;L>C3<9=Fg<`=U?{ZUk3Cd zHr3f`MEYIN53}pGS;_lI&Z94?`N8y)P<{Vqtcq@i+!zZtI<7;Qgt+;Kn?oDk5AFD8 zxaO76J+YAVOj9S*V|s{_g3|I4BR>*bQ=cT;|8w`FTuK3%T~f&IFft%5i;ijDxH_{w zOf32QU}PS?OGG1WG|szTsh1PlUMX-yEA~NT^Qz?)Pv`?a=U%9ZN{#*6as3#YR7Way zDt!;~Nb)OrfMo6tHoOw?i*%43XC|U?QF;1xE~>_`p#~_{LRiPk>VXc-uIEQ%lQYF` za;8U{oY^zxIaAI}U(LBnm3B0>{wG%;%SNZ=CZ%X0|4w1H5C-`%IS)@Ge+N1ONXO=`~2DlL6SBw%F%< z%)i_q7sTa5hxTO=wj9waqBcW^W~fb~?tiiz(w{Fh{yJD_h`@(7t|MW-@gf>Ev~feD z5;Y&uc=}#(!-krE=l|Mftf^jrxlu#wc|$*?*&jHKfEHMH?%23 z^w4w3HtVPUoXrXfA4@h#n4YAx95y&egl%{IGjs$csS>MQR3d9Vw^K9g1V6 z9)><0ggzE3Mn)^@FqYLseoCf)LJ9CV9j2L_zOh)ZDLJ1uZcbrrj@W|i~fUZu&gWc(0?ZvDpSf^EgTvU^k5{MiX0u}JRj&&_XoTn+-W>C zP-KuHGd8itd^0`|vG1smVJ#zdhz&4##aHD4{x2YJXB+$15yszklpD{YSUWj?+fByq zwNpoOIElnV_F$ll3{w0);~`>*p9j-lW83+(LeOj(Iih>;7jCo-JY)~d74n^*$o876 zP;E+tue+TcB6jiU=2)OBglEni&?M@(lMEk-rg0GHTG!v8oCiYqgE<3cI`N-W9Qx&h z*~%B3`u{%b#!*s9tHt5OnI0INSpy>D--qbbheol()P3Wk&zoB_F9IWnapHyLF1q2J zp{{-mF9*c?FF1$zKJiO@FCR6mIJ0rX+ZMt^u${d{_$62Z`PJA)pdoJ0MiQ_9O(rZ& z>RYE^X_BrbM$#B(c12o->Y;WnU%DdPj?IQ27wc*?a{X(#m-&gU)W4!$1lQ_xYL<*F zLx&)HJ|DUJ`J=jC3^r9f>qbiLt`}={*=$$*C90daP&*C^ z&OP3Qkn<)1&}3)14^H>LXeUbWwd4S%mX2vuW?-94^7(sX-d9F}omW>-^869JU4!M9 zG4l+$=VNR63QfOQ9<6wnrr#>h%>96sWs`z;FgSMAykii9iBsx^W2}zDeRCrT+mqe` zfwVSk*)mdRiSo?f%*31)_0HdCno4#d-`d7ia(pt~7!_K7LuhG^yiA*RX>vY!iJkv>ttgtr;uS4DF8}w`F8gdLDD#)cU2S*6D#E3(HtpN6h}z zy`NbbCTQK%*|}?YQ%PrO`4sP@3h5Z{-D|Di9ID;ImfX_GZRwVf)zrg>NL}~BGC5D# z5J8M4|7sV37CO~UuZAtDp}pFs)+u%KoW;lcKp7-0<~&|F>Jg(Zik-f>Jw1^NM|bjg zr)%$DI-eh&v%#`Ce7K8hYvuid z#YR4@-2Hao9sO8qW2L@^?(2ypd2-O{Ydv?|4Z1k}Dd@ofag&6Z<_&ky6I7IqX${5z zzxtCT50mbT26kp&F;{oTjV8PCEFG)chOOl=;|5@GkW{tI_XpscMwOAj(U?ZPTZljQ z45m?*a{?^Bp^KZiK$7MM@yBjEg!@AMEBHJRV`f-lI@e8IwpaC!`=m3P3&I)kX5o85 zX5ly`z>)B@TC3$1Y5}pnpvVjAB7UOyJ`M5c`dNYWF!pRt_8jQ8l8;MkOoC=%RWYkZ zrM0-M>u)tRY)}pFQ3JFjU&Dr3!_u8*ZOM%J2EPVw*s%g1tfAamaWP+LZ<_AgXX(EE zx)Ch4ik&vMOkwv6k&5?aFv@-VBT@(7Ln9dQ<{Mc*%~CNb(p-0_DHf8Mxmlvp2HIy^ zw;`ZlQAj{B%AGFr55n53@Y8LcR!)!&SB>0y5L7)RMu-<3W#U;POxfzp$# z0gLJ<-pRr0|7-aH_1hJHH}#7e4|cyREy-gZ%B)SScnp|N1e&&2_6@iX`{GGlTlD0> zd@K1Qn6QDX;50so@NM8s2I;@&w|G^6Nx;3?b+|Vxpc6Q&C~XI6r$@u{%AVP9U^}O& z9oA2NZD{=fu&V;b{k0B(ZNyiBYIK>d#GFTBb?-;Kne=8>ZOr>RAxqvv%1bR1cHlZq z6W+|wHQyH;HB2+@d#L*+Ijr^FCYXl(_=|SMGY}=GCQlo>V-0^zJe0msy^#-F4QW=b zf8w0jG_K!TF-{|3%kHqPJNiT|+KEAGt@t-3nmijfZE{@x>0G9@wl|4G#;1PIc+a}H z)Qtw7#vN4yG?RNE)04x~*TOZL@kNG=@3BZ7RB?)dw#FCH_zt1WgdLHO7~eux(Fe!( zXAYAF3v%PTg3_2BDL~e6qa_V!?(K5KB>0H_R#%of?^^Q-K5NlxmW_xG(E? z3GhR2GIqIj&qcOdBJ>SOUyr5O5T&#AD?NIH6Ehups=7JPN`KzI2w3 z_?@M&f$w!?EWBAGG0#Sga-V73Xl%*fz>{VNK?-aH$Fe^KYVR_fvZCRz6I{g?Q}Vz$ zbZ3=me#8a%bu{@sp^jP9kpmk8HjK(;eDos(u=_{7?*ww>aB#n-s~7qEzfWjCrV=cG zkkeh*|3S%X#u{`iZ2i6ItmG?TmhY;%7B{vh+Q%Ai7RZCN1ECkyH0}ni@YeLRbT?M_ z7kUm0_x^Nm(ox7;a};kVd4P8+kcRwS5Y4ttiA>2)AbaiesF$$MWkk}lcsVCc@P3HA7c{7h@4p*O*GS#M@S zEbySl))zVEeH?q($LupBjWj$GC;T^Kjx;>EaCCY-urWX9wZ$B~`R+%MZl%7A|J5`% z^Z!Fg>{TTqlu_%BenTj6Q<#H958no<<-c+{*D?vUP|G9lDx#LrhARY%yHvtje|-Au zW-*Cra!9f^94?QW;*GwepX;Y!*gReSGNyCW@;nH<)jb?#L$eN|729BBHgVIUBfWLK zO$qmK1GMxa)M0c6u&!T9D(ki`bB2GMx{}{ul+k3orj+?OpPFB!=6AzxU4#>q?}_7Y ztc(ZCGuY6}!DYQF;WGw})*Tm!2WF#S+N>4F^TlAmejq9MFzQLwV8FaPi!dPC0OlCn zgI^+}wVoI=%#Y@}S6p?c?QHUUemaLApNqVaj2!Zg&oufFxy}?k1Bgr&M5g8;(&Qd5 zkof(6B-d{rBxk7#_xM57FRY97P9w_^;0X!^;74Z8fgc3$a(r-5z*|1xpD&MAYz6RL z<;6pYY6#oXw;;mt*-E(V689jZOvlMG0n;bG#{!Q=okcYnEBAskrdpOJ3;B)EeL4ms zKc`ZuVW2B)n7niqKeW*OpJYIKJCN2Dc{IST0al_&4`+tTL&_qfIQZKN@(mxC1cAnG+&` z{jtE?>Ttg4sPj&yirlflzX=9bl$_4@m@%7rDcw^#PTh`i?Nc5BS%R6ckZg@q?l!=_ zZ9PJ!E)ocAKX8bR*7_c@MJxK`WXvyZF8d=+>A1lQw$OdmG?3wb{MvDAGWThOYcq$L zv$!Iw?8{UZM*eg@wSp+`(Oi}4A{bMWxvi*U9X{WG?zqm(j$9$wk<6BS1*VY>?sIMD zP21)E)+Hpk(~~`}^bO*&6;5yS+H7|uI?2xu=U5dVj^`}Jd$Zjo%zER?(h?hMgr!Q{JO81YO__>4h$&40G)UvCfN_tI5d{~O)nIiiogqjo~$sEI#U{{ zF;n{7knadGy|Tqlr z+`gmHiPUG}tYG3Y+g$|yFDuVh{rw*XNp9|x^TzJxePxUH)^ATpZ0L>o&p!-7-CW@l z41OKAV^K#aTRbhp{g9>#{$U-f6qK)s>UJZwEM8ux4w?og0M%C#QTkAS>g4*wna#@@h9ypGzK*|NYF>su+z&gO zuj6r3SAB2%I0Z*#8AP0a8%wu+=zYCL*O&_20!Rb-6{@GM;G_}pW0?K%sBfMQ9%J@g zX$7YrgB6=lJijp4Pd^nxIfeVhW$5tE3O4Vf7*e$HSQqHR3y+%=o2FtVez83)IEqX= z)!MMAo<-P(VgIVu@ERF`C`YYde`WZWR%Pr?w1`e86%^}iY7O^dp0Kqw#-6l#2B{d6 zpU0!s*k)2*Ra4$HRGIoZpR7vnY87`=>I}6s&vO#3O|7y2LW$8PJA|SQhw{BBv!ZR< zY*KDl-GdYp-JlMoqllM%s@c4cvRc|e@~HC)Kr^W-IVz6BfmA4yxseW)k0Q=gjdGQe_ls^9!xfqY{0_O7t2lp}D@R7U#Ks*?Vx7OnsI9;xzlH z{3rC%Ny%3I7ptn-^N5N zPj3nUoU$fTqF!vkXl4mZtKJmm7^EJAR?h!)K1MBj26PGh8Yz9GkL#}GOOTEC@P>OI zFfW18^veFCU#Q2^AchQE=%~sJb~JljHKfCxQi}@P=l+D{FZIo?KK8<3VlgzTCW1Cf z9RW0s;4pxrt?1>u>Z8N|Gno0N?Xe9yDdB_d`46lY1!r$cEd=1zO&U?zA>9naTWLPX zCorn!d*!W{J!XkEEm?=}Ep9gMs2TS^5z0LU%sZ(OI=_2ZNmu6Z);S%_ppr}|U^msL z_Sj9>Ej0a5;XOR4y`**ZfD$|iyOY{wUdz6;O${0(ifO|TgBrPf3$Ds{QAsPAp&#MC z2n@@3AR2Wp>GkzxBOIh);k751b_&tackuPi7`ka#I-Nb?Rcaaa(%z_hX?b&fNrDRy z%;N3`rtvuE@_h-Rmd2bJ13ghJIqWS!!$Sg@lF zmo!_cGXblK;yv`dHqDJ6TRY9Y_So^jUUSRrL>&m(vj*Lj;_KTdzKU+4=^oB)NX=!> zR(;D*JRc!6m@m>hKi^c5yZPiTcCAzA)0aA984clUR9&vgM!_YTI0tVfwY~vVt)H#d zFEqqSkf4a2b-Q^OLXwB4mAZ|@^gaA(E6kVQ5GHUM5&t4?d>lU4CXHj#SSi`6eHsVr zWpI9Y)%XoBl6sHtbeyOG z!lrB%RAyAN0Y5YX3ma5g)dbek1J%@0u=pbhLCPX7l@j z_rWE$EPmRm-E3=5=4wuKLp3tvrOzZk1@Q2oLNOigcu63HNE7ApnQYbX_=#`QCJeuZ zWGp&D9Atkv`CD_%hO+QMD$|A%)S$JYY<-cG12&X4@jvIxkRKoDdx!qm)|q{O7LI4D zECwf@(%A%A$|i!@sxT=ihawcTliP-geS9~o-7mSh{A+W%IUltLin_<|A;}Rl7aF|&?*}&c1gP}k4f^9hhYeP{>eaeE@aFX2%bgAVW_F&+s6Jk9)kudt`!G5vkyM`g<&P2L}+h!Al?`Yyc}zIeL;j+H?g|c6MxKn zfsPf0^T{5!MxAv{sIy+bf}fiT;-#!f1N7qjT6~AyttEu=CbXK4eHL`i-9HH4#pA2C z)?ZlP{O<7h$@FzmL#TN_E){R?f@KU&=tL?dS5D{_jE{I{!~O4w;IOHw{w*9~ZVH!g zi&vrQO2Bdh$-J}RIo(aIonC2UvU8*p-b}4mor*4VP1I`&audk`2{~VK6Rg6_K5lPH zi9;kG(!?>xTq6UA9q!|l;T!&KnOq;Z8%ca$%-KY%i+@1uo|fMOO=?A)Iso*{)z=Ly zAuhl*e`hvN8g-)8@+&f#__x~<|9}Kz_bT~q>L(L_^+w_S>_9`q;FMV_YVkTxbIwXHiL=b6hNVD=9S+K z++RQ(4I_QGHol)y8>Zv`&AUcHc^2$GTuI(cfY~nWa`|AaNiU)r-~F;ty_i?NW#q{8 zXufJ)aG5LlGCaMToy=5F{=o`Hq#x4P02H?`TGwf<_zk`B z`^qH;?zJnLT91~N0=gB!^e@O8GWP8md}px(j1CzQPzJmSb1L1ncq#puZTc~qerz`y zKjizEU+9orZo`8)FW}{6!PoJYAO$4UP{2!AkSQ21<<3o&(<_Ns5NO3G@$6b0OOH<< zMF-G6N*~6Pg;mz2h2`&R+n;AydSiay$sWiKv;`n@zVj28k_eH-J(NlPjh}i4sX1~# zVMn&A%}-rEH1#{A4$`Cp*K0j}rr#Gm<2I(2@WS65aWp4)*Z|2WmiAf6X8?S}n_NStwV>2yCwzaVLKUqLU&@xF+c!7d zIn_I<9{dO{{11I>kyZWR{dH6QxI-4S z{M#VPGT$B}-K@Gv<#@J)h4R`5#$YWzoH4||GGVLf_fh$NXHIVtU;fHp^8Ji|0pVv+ z9~*j#JE%6|wbW!7_=T%v0(2qtQt7BlK@N-dana-54-6~0kG<4Klx)?H*w=jeQ<&d# z&oSNxzeGHZm?pGtfUR)xr;&V=M+5M@FaR@P03w0E3uqFBTp*>RIo-w)m`_QJr~wz_ zh&7(+-?9BYuyVI5%iK$2Ei_+Z_S*vepJB|sfueh2%)O*M<|cx%2FkyUThsRw!!QlVgJaIpV5H%%3lUm``|x^SZYP(Nm&BQiY=6Zzq-EUQ-yx=N zB)I?`AQ_C?G)Evg(|m^a>gj(PiTa214}*zs>clB7XlY;Mex_ajmPOsqe{1KklFZm_ z)uvr6wTr9aJW3PivPsAPBi5i*#~7Y6d`ph$lG@vLal$Aqy+LS@1z#o5M8tWNB8f-9 zm`U7u{PB<4X*Htx{)iGsWR6BHtj110M0oU~4;t#*{YP!x4~u$Ky89OB?sEb zm9ka;`J5`>A15a8zp_<#!W{TP^31u~@H;Vx3dn$u4j_Q5>IXu`6*n>!gIRm|Oz&cB z7Q*BLZp~{0sV9!SIxIAW8yb%U0F^6X1Pz+O+n0^-&x!T#7+1C4cM}8tjpiY*`EW8y z-Y~5k{X>(5-1*Gx|KdixsvG|_tOV|}N#p>D>g;lU6yg6YG$xORr$c1f!pQ$DmN@6q zWSn{{;fd{3M;)*LkFZo`1e(6@0cFls#h(^S)i`uLA%9uLS19gv^`YkM@I-ZvKU%(7 z>4Us|HzIT?;gR#IAe8FCsQVd)+R)53;LV#t^^ZZ;A@b$reS0UL3eoJLGz{aNEhw=n zPKLF<3+{(-e!Ms7<}> z`+-=SRfkQmd-jP;;vM$q{1f(yRkRUdXKsE6QS8!QEA@F2sP#@1U%KgP6U)N7{u|Vo zK9oOvA#i3x;Ld<@7rvjN@2|r;Nb<0oC&8IDng({0{Ag|#>=;c`>yDiTz+sI$hBWyxzkF?Z|$AK=w)Ue!(qpR-yFW+LjIP;&*LxL;aOyXd5h0B zEF1n!t@WkjCVheM?6AgDc)7VV_obyPer8%1VKFC7lOfb?^AIXDDL888uYVcnq!lq) zI-R2xcn9{fWjDZ~6UxACL^k~^GBi1zES|cRT0Di=a%||Z)tMRUwI5k#BSmdgfyKvM zB|ZjroJEF2=PLnBz;PnE-G(Q^!+z!yANmcKGM(`gsC4*;aZOFFClZIF7B$fE>5(*} zyyO}in5ZOVI-0dnZc~CAtSQ2dLAT{G_~HU1)CGy z)|%I{3;v*KGZ%n)IqR12PNb*4yN@m5Cj&J71ceZu7@v{6a-V0q$LmgBFEv&9*L8@h z{WhN9!xI0s4RX;;-Y0psB2o5}wPxm*nki`V0h4t$UyCGcOjhPo{>9)Lq}Qfa)@_Y|xfENx)4uFceYP8JF4t#lx>alP zsgn5O{3p(oW%bZT1nuz)GIMDGd-CG?$Fp;NME&}lub=BU)%{88Hp!~H527X^{s{YX zGs+i^!Q%E*bAT74!UBRhnqN<&3MOaH)OC+e^GXT()rng2Q_;FD3m&l>9$m;3!3Lo- z4{Jri1K?XY59HSODn?060oLeRNiH3^{mOM0-BjF`1 zWg?5=l=khv%n#Y-kU&+oY0ALugqMS zR5L}a z*P+Olz~Pu+#XH zir@)s3;=?<&Mi;>)|AlY&+cqh2PFt;pI_REV?-{*2zz531Cj!xEe<-?n>jJJ;c&sq z#2)jgkSJebc5w;R*veatu)K5Vh)iFjUbxeY=t~cn5jCryzW1|$TtMNJL>#pAY1xYQdl&_{rzHo zhBBYX9DBgG!*bvJv0VHx14rRknjZqNA?$gmOy;8q`@Boc5fplUAie2lG60vq>hg1?=|KJZM|@pPF&=>Md=zy>-goU-~^DzJ6wV^S-mW5~D({ z_Jj`LiAvH7-<=!Y;MRzIK$F%&EtX9!>llAbNy(oUQK5Cl)3%%6?!~6q?#5ak*{avs z@VJnL=CqT;d~&q1uI%I})N6Y=r#T$7Qaf@imDLiW7xJx~eYog82&+}RSjj;j2nFwC zB5s1&OVpf~XjjU%am3tG|%O0Pw3JD2x%o-=qtQf7f_M?oDf6^N1QqLCTo=Y0QXHB#jol)-CJ zVH}S%yq;$x|J!M~YvpFyFV>rjCGO6FQkt^qPP+IJP$Q>0Z=kV$MB1{^Hb`mJ){OFRs-=GLh%w&UNw zd*6iz2jRVyW`!9y08)geOUpNl4ixdJwzrT)Uc85GG&OoSWs7tO$@~j`*VC#_nvc+l z69fSOWoTq>2>BJgX&EEQgN4Xu{~&MrbCk9Y8RUr$IPWB1yOfj8@wWR_sO@(M!1n&| z#8?iTL1e(y9Lm)D^lU-I`IqgUl6+tfb4)*~HPznr19~Lk;KmYnupE{R4JydV3mP(E zMa_*kD;ADNS5Pf->Z(jKT8`J63nqB6O_A-dPWMh4HQhUM(bS1!|AJ`rjaVI5RBtHX z;^(G&rHiP6PhATZPn~#fSNX#EQ{8A+FzPmzM;i!9oHmF@hemIWdMEY9P%i;#6U~x) zK)2eYqXplfRm+yzjKsd3Cn6C@5-KS?#Xp$O2=kMZdIO0oKo#sTz6@V1FU!g6=5iyo znzs&sQIbB67Tx(3ZsTZY%2;P{Wvhg6)2q{nFQH1;3rej0Rz#3SiiA`4ef_`UKAqi> zJrxR3Ut*>HstM{gCBp3-jwL6S%!vqGPxQw<<$i$zoISavH+?Za$(Un8q+)Z~OaPQx zKAFz7Tr50!pqG{di4*MQTl&-o1`waY;XHGp>_tNEqS4OcvCizuR(Up>Qk_1+@2^VP z-n6-Nf-W0Xs^^R-dsF`vE8imxODX&5#ePCzd{)KHHuY$;R*c0RE zCC7T*nVaQYHWr+yl=W9qAtv5E|gL*}*G-^<&@M&FJm4-xEm8+|1 zi6Two8risO`5|Q}rpTPm3C4yH$*9=er!!r)>UPxD($^T01Ot`leZg-XrB#%9G?*Jh z5e0`?7mTxGI9jREr&{uK>ZKZ#iH@5As}w`0dwkx(tvih+Gz-RYR*lRhTE@`~+jFa~ zkDJ^J#{z{~UDl@b!T3J95qhvU+zSDaSyZgyZL8%oLLE*>nUDMOAnayp%!e@o{KSi@ z7tM)H{C4@mS0WQfE_$IS{Depfc5gM}4aY~^Wo#|-zkGGIO?Aoh`D|a-V~&W!Lkupw zwkNDJKKPjnCG<|_gd+anz#1hAoDpab7)9goT4}60I72wyY5b_l_xjGv2>_rSqtI`{qLtdi z!4hXQo=&?V=^c?Qc22QgERL{pDI*@5gc>-Z_L-DeZ`?ML5-lR-!$de!Y3?tiI$XD1 zxfiiMw%OZX~`$D|8o5pV3Fk%kKn z4KALv;M8ctsKqBo8>W^o;;QePhgPF<)@dbmCt^>Wv(`#A8R&E9^G>e3Rem`S+006o zw>U<%7D$;n6W`@Cu2ENJf5dQs^v<}G(%N*mMYqUDz%ml}S zuHD0P&I`ZAWnb>#gP@N)Duh}=7|L>~kV_-}mtFqh=Q0J~sLG(9R(!uUM4tK(t7tr$ z`1Nob3nN^(p%){W4%_3lNZqFC-q?K@-eE-E9jkjB6`4(u2HfubushuHOnezM31;>t zoqDiVdS8RYCkM3ayUd`ud%z340q5XRC*~bFGE&!vpOpjr31DA64&#y26ZltoFR*w# zmqjmyQQ=9xye#tg%h8Hgksw|ZGsc9Si5=}9&k&4ZO8G?1t6ao=qJ2aw&SR!j$Q=wG z+Iyy8SS=7jT%(W|2M!nNpGUTMAWqjx-$7kRsnm0YjMg;zZsi`;Bv;u$py zKW<;%IX^P|jOw)TNaC=}?<4LR5Mh|7&zntP>Ua#mRw-ai5o=ucx4v$GxpC(l2BLc76 z(pgX4nV&@KbbrytRxC&R>M7U7%}c%&NF0(oP@1ty?QNJ8;S}}k7bGc)Hb>pAmrHFo zDG80%cFsdDXb%lgCy}ZLsgrGKixYl0GrfqO8y9p61)3a~kf^ou;`jaiFD}-S@Fmae z3cP9^uvWC>6?u*W-yW;wd5ZF_kwkZfEw;s5CzumHw13wevC?W8f4gGltPN%hP7X}I z?uO*Rlz7`|BWp@Z;$_K!s}i?yrKt4>SBAu+|C?&wgLPv)xicTurWJGc^sl}R5vDxT zrmi8cF%=tH?u3JvyQEOgIN>+3a>CF8iPQ-{b^?{5h+WNtw7y&fD1kivGc9kO`;c3I zMjtu#vBSmKDr|6&EM!_truL6votU0xva|ms_kSVrS!|d5`byI0@ z#`d7_;w{^gwop!Yd@|=sV{c%4AslezVxvvwJbP7R%njE^0-Xd!XkHpAZ?taS67weQ zK`cK$G8_)L?rnB%M8ckS?x=fCeW?B8GH7kNf_6eiQX8w=9`()(AYnYv-x5n&lwaUZEx85 zS19=s@Odd#u`5iZ5?KoMANn*e$9J(VJsN6RCmdwfRKvnfbY}!5klB&U4s_qBu0Mr7uV8wuG9WlP6gA zQfS?NpVmDUPVEq_i#j`eS~tQ}+tO!f-LIo{y`ptyZbr)6H{Fo(NL6j8fjgaUbiZ;C z(C@i&2OLB@=-r$6RyJnh_zXON zq3u~5JjlXAA>Hx$je0e4ZdlJE8N7;J)oV}cf?Q&cq0}ZVEP=FgiIdH})(@5ybyh0& zP&!s2hrHB0ZlBL1b373~O|t7JyCxZ;1+nBlCb=bOH$e99q<@@i`gF89xg=+l$*pK3 zo4^5U#`EUVV*lf_MMr&p+6WC5qr%!?q)Xmc-cRnEW!>Pa-`>d=5E}poK|itsZ(ue^ zGz0b6NF0AEO(q!k_;u@AMWUZI9^eDb3-?=J2digurqpZ|BrplKUdDk-yvQg!` zv4K4?;(l*j?uz8xaomyk&gY%iwQId{Yf)4~1@@vJYMFkhv7x<6e}|;OiDjwmM_V0l z(uVrqWFaSvB>D#rz+`7zo`$yY|q zy?!lQhdJU#Fs`qT)^QCboo%7$%wB87btv(|K`gSP0oX%x`HU?-!jrABx-M(QMSO1Z zX5p{}e_78UWN~mjbhYy85n^0^k z$@@`#v{pO@K7B<0bQl`!-fJN=GFnb9yU7C*nQr zKtmCAHW!8#2`DV6I5K*ff6lvy>{;|pwmckYE z;GmfJdD=NBCbCMjtieWF_TQvU*B||L0X11cZEDeKT4|8e4}{}i+FMe(^=*F~KbL=W zPQM_RFGI)rJIHi?4s(ZKLdM3wksLV8N)52Y{jvHLGx&vQY+T;~@`al39~TtUg@Hz{ z*(TVnK0JWm8E|4Zr;p|%st7r?i5vv|(_1DFyq%8~J9&g;ohW?z7inPG+^BArJD z$As!h-<}_)sP^EuT7IQHzR`i^1xzMjaFtq+Rp(p=~`n$=VtKUqDV-7N$9XJ>PbZw8htugiT z0ATq6<3i61btxFh4`pbMzC??!AArM2K1v6Lrm!;UwOZ{(X7_{2L`B#cLGq^W=GuPh+xuHWs%=jrG zcd|WU>uJV0;!RyhoMP_%WBP;+?)Sz#&C{-X!%F^+7ebdz=$x=MeVWK>E>69>Qqxeg zZSN-b?JIm7oS})IXeP!=K1`Y<7SV~{t>%iw^@Wh$$q(P85pR(SlzV0ku0SMdVj!ll zKVYphGhmY2bAu1!-K)IXM9TVZZTj14&@=18Xo_)yWG^UjHg&xkj0D~`gMu>(bLF&t z6(1t*1KM1XKx?jT$6N^`bu6K!!bP%)ZAM(vY7*x;D?h=*x+!%e4@u_K*EiJHsB?mu z2~Ev`y+eU;VeJ9b_^jJ$(Psg2QOnRtfGt2xQBLfC4uECW@H3vVhW8hC!HWX4h1Cgn z5NNmjP(b^^?~$l2pya1L5v{#lfjGVsi~(!Zo5a=7I}6W`x|dV>@*yBU-;_Rw(*7`v zaIXmD!mERghU@IhYct4=-alJr;7glPC!|=7`tEvj=|cbhJ$m=K6b32E$EkUZh@&WZ z=F3e^x+@L5`VpUkyLo=b|IB?=b8Bq56JC+KD!!hZtJb1=Slerxmo~FFj}z`WGUS-q z8zpWLcUWt3q?RE!ayT+)Wd=B2W=J|K=T6c1nd&V*HtVcN^kfZ!2&dn_pAn=j;ZrX7 zp;Y#qSgR56-btWFg8ldd%EaaFcuW3g`j5<5VW1<~o%92VPqX~?K$%+84K!k^pnEEo z`J$x`Mn)>$xbq0V8FU8#L2C?|XKcCL6?XNHZw=qzzv*&41wir; zOK)dNR4%f7mtW5w)#JmuP*0e8It%sa&C~;M3-zGzf->#dnJ*O`_CxI>GM2G?I&-|; zb7nnbM6q(@7Sx=F_=h#hY0EcD3{oT#EIJprk3cKAG8T{sp->Z!p?9>7Y@Ho&rVsP= z5vGrjZ`{m1q4tky@4lIkziGPVu6vcg99yIc&T_1=E8aj1t{qY^&D>`+g)2v#m}Kvm6J)<16Tgl+C4aUDK#XYlD!gk`b?@j-h1QRc0WLj2B+%_T(#t#dtKyj-# zH961szxI@Rj$~g-4ofiuJ~qO*V?+Z$R~R7rfp{P~p!9~H*320FMAX+L>##Qw zQS~oML#3_;&Cple#{Dw-kfWlPJ*RulX$>vaMm4~i@%h)9n$ev%p-r|o+-jZC} zhl9`ON=#bwZy<^O#aSy)*1dnVnED3>pfDWVskccUg!p}FAjC+hF#g3RXAj=6lePcD8Wcj1F(%x?!XFtB1?G?TbxnIkUC9l{$TUakyk|$)F z_chwq8E+@w;c@2MxR#XlXDUs+(^ipaTWQyc&;&G?n~B6^%Ms)I}7sMkTJ8f zCoWxOC4b4LLoLk0tA_OnuVD^mUs{-Hf@Hg=N8O9iCHXc)qNh6jOD4I=J-x}jh?qU! zE+=iYIWfrbExm0L&pR^TU3}ycx+B-!S6D904K5Fdet&%MJ6?Z3`2ETJccY^bz4-L# z#TS)EFV3|sTT8XwSs0(S{%GeJz~yuSFuw;FTDLsAWVbr7qYVmWH93!h5YBey-sE^I zxoKp$W$Tg`<#~ATQ2ZhP;bG?q$wpCNdHf{`#427+ZlS=AB`-vJHVcVx?f&>n&F?lE zC0*P>y_g(mj9O>DX#4j$YH3%j;uT;mJnK#h-OlXJ2|giMOl<`w$_5J`Pwv;($8jKv z`qWzJb31*A?er%u^Jzq(8h2|3$<2^X*b*WW*4BEkb{~4r&{C zg8$LsD8u9J1h&drpuVXd!C{`z`hLbkD4V>)A}zrc3t5`PPtVAe0X?BpB6?TSsl z&^l^`x1(Spp4)^-$sEE>n4geXzc zP;!P_+IE0$3x3?F*4MwnUe0;Qu6vw-)D3SeKFJR3lVf$S?8J5ANwtOtrxXmY?> zd>m%wACT`i)}I)WH|S@GU^*3K?y z@tC))`#W(uAjw7vm+?>8$=zVd7O8bLHd;3k+Ac&_@o@j6&QQ$&7V&|^e34Yku6vU` ztwsx`aKA9m`t~>WQ2Q=kKEd;8o@WPn>EmT;jo_e;v?w%p?)Phw{r_H!#@^pS@eob2R_5sh+6NWK48P8 z(aO#TY8V$|1gK*tsJd?X*sykPX6(o0#;#<4{3L9GT$>+Egfey`$4KpD1Lu7cg(?RN z`F7RH)OByJ8T>bFqq-WuIy0Z};mLYUr%`G;8u7#-13mT(yy zMy3vynj@gm*eo4|x(5Dn%h1U@B8b*z7fJ)1C6s&dGZEBj_z(zMD^gUW*Xo7WMPY8; zP`OyT1yMI(DlX;xgEA;y&%0vILy_$n#6BOly(1%$hOtj$wX{v%km2IRr9TJv9XYFE zY;U~6PHr!We_k;f8oCzFL2o94e{~L$)IM=?`NCsu_b}T#sSzKfZ@*VhkRb`Uo#CsjH1A!5s{q^zgpy0q!EMnV%;5}n9+q*x!I@=X zhmc^Kwq)lsG3TmsnV&P<>Y~GE%)JWZ%XyqFD7d@-3A2B{6hFSDv*QBly!S-@AYVW8 z)aY@rol&l>8a@+m47Enf&?4E4O?xmJc-QcYYISJk+2ei<-m;DM0krum%s!i~I{X*7 zYtVKPavm8nG*m0FuUWHd7(9Ji{gPg5=H}wQW8hzY5;~}^C5?wGjb*=k$^^`cH#q*4 z@OG|*d&E01j|k6Wf$n&%J@KA*a#zAIO3!j7Oh}MUu7sHpslPlFrn0IGF1{bLldlFA z9B#Ycd&gV{|5g`G+#aKMCBiRkaq-`^HNJrGDEQU&TMawg@Si?BcSDP|fzi0>DsIx( zxMBaJ$>)lij3Ks2{xh)Pi&Ne2b(toAZ&Wy(CCmsuxSaVlIW-O%ACGm9^!w3DFq^Ia z+h}?;Rx6DnHD=xBof_a&An)J-Z==@*OX8o3c#Dzz;Ss^Z0S$9cTRda%${Ae)Ws9OKgUo1FKg+aoT5q`S=OMPMS zAF{Afwu{a{$cqH#g&dQ9mUHvAr**iy{GIv4l)0Bnbe8FJZ`rp-T)RB#1O?eB;4(ZD zKBK}{b6WALj%voTu7=Fns)dX}mcl4EPgKzFWOq^T3~9aQXa1^MKB1_0z0!}y{s;mj z@9XDAT}5UwN(%UP8MXL4Z>oCPYI^V7)2CkAm+zyOJ;l9rTKXCp9}HO3X*R%j+QyTR z>u;5}jE;`isJzqa76eK%P{yh@C93x%#!-vQR{ilO|F=Qh!!Sh}?jN5UM3IlnR#oNT z#r`vB+hA3+p=F%99dllfy!})puw`D8bC(j%a$8>Wq5W^hvD@~Qv&?V=@#Ox|R&qIY z83h(j_Fl_4liiCUb&o+2?$b~7E&JiZ%F*TfH<{^uFW6^ap6FAhk;|W&4?)aU-A&@W zuydQ~ifwEwj6PPrIna$c0NtKO<4z+eqHr8be|8-t=Ma+RN(hs*_>To4sXHc(MYpEf zza|{S#cb7$z>zuc|IvwqP?GnvCH~f)ty&5gRY{MTEOo!ITBuH9Y(tCjuJeZ<;57s< zx|qIA#*os)n!Xpk6U~C4<@{Woj`UpLrds&NkseyQB*zhekPnDB|5Te?kdWQRpe~w3`E^8YaUrUzcth7B?8F5{)tV1z>hPRMTZmnjqXZ3ZNQ1hfi7jP zLbZcg`@TO*lMt`H7_G}79YDN{NxL`pZ+<_+cpdps(jndkX@Xqv!ZJ+T(-8Id$A9dH71>?4=Hz0P0?fNmQQLraY^%|2Z&3l6*hLe)4 zi7u(asCQZkx1_9i7Fw&;y2LO*ehpQvrB%~!FM-7h&f^J5u?rs;q3q7&MhSJfA=#t4 zeB}~M=ad`mhq?Kw1baa?Wi>s%)u5z%yTreP9ZD>>a|8B_R!we@Ju2cbe23vXfWq+y z?BoUA*McdaOh83t!dx3x9yO;)TERNB+WJ{kab=t^r1hUn4`+-o?Mpykv*g)gcRP zm}6vJ^VnrD6J+)~SP1M@@0BgM6t*dTF|6Dg_Rda{MkM0+;}23!OGS5T*{ZbwO)e`J zM!j2=f&fBVdd?fzeY6?s!TyW=Mvx1JaMkWp;W|zgTM1`)rCn>e?FD(4`w{=vNfSW zV<>u`-yxRSFly$up*`2hsB^bE>CA^_d!;yx~R!X;7 zT1(4&guh7E`Xb&*4?{z>UCU9is$EM}kk*;RcJFyyMQrEiKED4*_#SO| zbzvDf79pANx3R&k0FIjd<@#pzAh#@$>q`eD#RMoZkpGg8FA#ef`Ktu@&O6m&~ zgh&E8WCmtr2JwMdt77XlYQ4Ua8NmlKVJ4E3aa!u5wfEk(wAR-C+g_u!0r9~MC<%xV zzyfNO016onBA`MDkokSrK4&Hg+TPy#_am8e_Sw(1*Is+=_1YF{%b>f%F4}L$eD*dh z$W#Cq4kXWk+{KOwB?xv3KZ;j!5vhZ1j|7<2EoE$8UGWoHVz+J$k`x1Bx()`wQ z^tEftx%0=?ma}BcH|N5dcZi>X!in%4_Y33jUuw6;quy}6@3Z!u1NOe-DfvY9o&F$d zdf!1%1IaPxr8os{N+Ec`PG2!co;fiw_Gb`4(nko{iYOCoZ8(Yv=}`|x*;Hh0IIs}1 z;q3F=vz-kmpJLW7vk%CpTNX+eeKeE#&-9cuJyhh0J~>Ke4d&!9cX}ZbCtBZrtY)%^ z>k7gM)nThUAhREFy$@$+^GGF~)#u`qBCL^ogJjCA2j? zZwR6ruY96w=B2hX+}9vH{VPMSDZ*1dLP--u*@eMCvam?@Vw*%HVpJsCKTwN7mr^w8 zRIe%xOz-W#5alxuy#nPznQYQg04^Z+6c9(PxH1Lh3rwsA$O;xZe-GPWSsRkTXR;m>jEu*D(RHh=zcq2jZ74x>Moz zA#AJOn!wj&;a|Z}Mcx15+2VC5m(Y_nqb(ff{tQ}JC5W!DpE!sDJ|q&Ex2&;32+6l( z;qHia%ug0JNCCkPyTI(z3&=O(#MuQz7K8|BqB`-umP0>vbvtaba0xkjh7OU~h7#FV zxm_aeB`V>5h9r#5w^j3i8g%);QqA*JGpD%oFC*UpA zi|v$4rX*{D8|vOJ!lT~F(Ur7x`sospxc@%4<4D!r3M;XM$i6~F8J@8kAx=%Z1N_&X zQa2O3qt{>S(BBXcAgjmNvem22X!X3syZjeqg*(s=h>O#)9qy4Wo@1YCOF0Q0a~E%N zm$a8_KWi$_+3x2uR=i+^JMMOzMEc80nX`guDueiqd9;@fxg)q>8;=|!qItX9xXg+$ zEy3#%uwY$I&GBU6VlY$>O?3qF;40u~=Ik(k!}4z7;L7HA9!fLwsUD2wY}Tc2{7p_s zh_90Pk4x|;_eeS|CX3qAm|GlHlw&#x;_4sHSt40@ zGq|tzSDXtz_YdYA`UFILP%1x$GX>@u$->VBdja?euOUOLP(g0gp+^Z1Z`N zi{czRAUg+XkDTNaVw2;EOeI!9ufSvYeZi2enoXL$9CWLXS~x_SIJUngK2cyaMD{gS zhOGW(x1k|WV+dDE%hPE&Sr}B!5~WSGS3VnKksXSdG-W~ggy!z>AcTW!Z-!&6D`M7e!#XIpHN zAxNXIj8*Z%|C6?%m~C?Gp#9-A^v}f(ndFcYdtRz5a$;ALs_08-?QPhT-R6tlneI zx%8BV*$+TT&pjt`NqaoUJ|c){MdGEJmm|jE{`osN8p5=)Jh{RkMopej=_vYu*)(Rj z3!h`ea0pPfPidWHjOrdR%}&qNKa;ySC?WvJEjpQ8qZX_?f=D(pe<*R$2q1?byLWY8 zG?)cyN{(1}K}Gw0|9-X=ndNby_G1Q9E+ALbI63-H^|tVqiLE)XRHjIzIFb3HfEkb> zMt+O0gx5x%f~jJ(+ZLa|O=mRjc&SuAO=)o)?|g66&~8*DB(u*t8{m ztt_)0&giw|*-f6+dE}Q&F0Eoc*N5T~^cfw(dqdBOFYv>NA8^*?R5q29xVAhCWFqQk zldCn|X+o|G9ErXQm;EYO5u8jUc{;1rE+vyYvTzwo2<(kuFXUcI}6f|BT%Nccn$fjx79G<*ig-t z+sSV2)T7^9722~iv?k9Ly{<(Mo!~B>imjOI1ID*0L!P8FS`8HU0>!mJ@p~;~0*arI z87Tfrx*FS^?aJBetQ(4Ww^Lj!X`VY1eU8tSs=2hp-)^ArQqhcuf(|B5vh zEXinlbFP5cx0FLMkOrv81W*W9kSeBqQ4w}A$I)IHQ&my}{M`y(FM3|R#(3QI@6v|l zj{@3ank2_jev9~_8gWsbF;pfP3j7tBlZ8{Dz-q&=$ee6(Dy9yL|4W37im4h2{cX?+ zd@-$HPK#D>ORF~Edt0{DVmSB)2@wG^xR4SSz(Sxx~7oNJ+k)fiM*}eoAChcZr zN*L^i`i%Q1@fTH|aKgCly&%ty__!_1QHBfC6@;v)X4aaw@+Y)cCep1Y64mm~hc43^ z7pRF0?PIDok#?x+J7g)(!a*WCw6{-u@4)yzHO+c%yN<2St9;0e?_~}*nvjoJR(x-M z?lGg&8J!NYwSsK1yy)XCp-x%W?V)4=96lQ5_}*-sx^j;Y@y*{SAp)0iTdW}~1}<85 z<~;(^z9>D)gH69G4<^r?e@?l&b1w^l{h%CY^rjXGMPD_7r(f|j zth!fl^&iZByslEOX9ZX9(GgZ#HF}Qiejpbjwv`B_)vt)TqPmB~Zcbu4o61p{Lv5@M z+ShI?1x5BAxdG~n0EX+un&ONfu4*%wU;SMt9ie^?f_9hPAMxJS=~3`RZ=Q&%&+P%> zk8scmcFe=CSJZav(U8J$e#c#Mr24#IX+dn^2ye7k4I5LiqxxNC`H zl%qw7h#<&mC0-Z$7ASrcQHbdOF66v4X^i zieMevOd2D$Su0y#5OE=?1|+$vl8PMjXilyhDg4BZpf@o)B*dO?>^5U!> zd~9%X9=0NZ{ca-;53kf0j<|n{sA4Y#2EA7;x-20U++KqtKU^PiU1d8H`om8~;!co9 zZOEpF;{>8H@L(K=i0XdRf{*ofta=<#)HaDuK-?SP52MlR^}B={z%v$oH(b0Qx``KJ z@gc8c8-AT0}B+tKx4a&&a7JxSysq=5siTF@%DszN&Os^#HN& zMF~Gj9VXD4pB0SP65b#dJib>#!rO-sm>6x^dUtMf*TGH2VnBUvvCxx?OdJJ91r-Ob7@3va*{T8E>6Q*OP^hEacqO=m=xnGMQ5LkYtRB zG4dXn$;z9Vqrs_R^jBXh6aoKc#6pctp?0tKqa{=mYM-n9Sa2cK?$g3E)x#{UHlGJ! zyCn{w$7s@zHlg5tNqDK6eHrr2?$YIGcx#hr>Y<`l-<7?z>_6p4b0TmUFPncsvT!q| zqjpE1Vh7Z@4%P0gv+mKH#G|Bz+NWvZvsLRATKEI?;L&Pp=^@<(NITnB38Aot>!k!P z;C^fhEXWKK$k6Uvvh5`cZ=*p0%P8`7&r&Q|sGBThb{07tOYPgvvfLbmvq~HQIYR9> z`lp84ziVB!lBz|fp#DZ`DNwZ>do(>Vu}SNif{erqyxV&>r;(M_sY~W|2f3cOOhrH%KOiQJhSGX)whFk{<$C%8onQHVNwl zNokgpZiP0^O}DuVNxx*l<^_gAoq%{s&K#Op%J1nw*>KzfidHM3i@E_uE>i2|qgntl zm>*Xd*F#r(cSt1*1GHri<_c-fTGtA%&f`6WJd1@&SjeMEHr1;J+T+B8IAULVil(UE zl#T-3)m4w_j1t8O5+*s@qGYnqRku@zhpSf8JXx`CnMBsoYm(N9;1x2c(?DO>b5;zv z^t`u%(Tpv81CXOrfcy6kTadd)6{=>{6C~+1m2Kft&VOjh6Tjir8<9(ya79twTSZy6 zQt8>3?b0)elD3}2u1;CE&=p&bz7e}(@sP3kQ_eB4mo|hxrznyeS|`%uWHQMT4`0Ru zJa;hTJR|_Mqg2@mkIo^UGo7XHYamC2@E?oEeGwYCfLAq$=Q1O+FiYf3|>5DMqt?;flnkZsmX%(qtqm;Y^vTKI=n zO~a`vF;kv}#h+s(_UfvBxLv(M(iFy^=@uyhs90-vH*SMEaRc2rZL^lsOJt(NPZcp2 zZiTn!RNp|npVITwj(<*e@OfWJCu06b*|7lnI{&!RNMW5&LNg;Khe>d8kp7C@gYa$gxlQE-WXxY~Qmvd*g>fV*=tQ|Ke zUEQj#>Kx`vdUVDrab8|>g^<{2zh$!_T3r_wSY4B?!z*=J)At68!(MMnHUnXnu(@{9 z%|H|M(gTxHU6C#BAt`Pl{6e+1wA#yM_PK{oDs8I(#{?zLQ7ECB)xvXCpUSr2*qc~P zwp4}EpL4qUb5U1+c1k}&$=L*s6k2J)LJOaemuQ(uMQ@2zF!4dxSAQ{IHp&-kbf2IR zu!r&!YV$@ew*uIz5*6?z74RjG^9F~@{mZr0@!foZhtW4d7veix&WY4}-JD_Xe4%C@{K+e)$}UY2Cqh_kY6fZf(r%rCQE zc?LCG+wl^+<}$ly)gzgP`|K*@7Qn=<_REdu@WQB4)2Eonp*dapTD`Wr*S*7*> zhO2MZ!V?&dm$E1nVsVVCIHK?m7q;sEA;SyG_Z$}(XQ@231UDCXGs~0jaVs3 zYWw{&Pr}^1z%Lu~4t7ibXQ?`+@wbub*&E1Oal#88TgJHwpYgSH z+oe#6z8~|VN|0_JM8qvMnqgsEgSic`JQBHCX3k{g)Q5V?4@n* zU6iU`b+}%>|J+$mgi9MQh1j`hi3a=ggD0BJ2NULXynV*Hmj-OO$^8LoVppA$*hqz` zs$^oQvxCSv`%ISn&FyBk+S%e}upKtrVcotj*u6dIJ?U?LkXw(;mTh35+slpBkg#$+}Ubg&!jcPOn9!+!?D& z3}6oFft?5e)M`A3reL}3)p$q?{RkvO#5oF4@objebp??}hbEhhM~BuV6+_YE2>-}c zbk<@hmeZO&YgeCkgfHb?k3Kf)rBHIr{0F_!UcYxcGCa4JuE1b5iL=a+>hZzS0rv&C zOx0S}DR{^f&yyxBkY3-_!~yBHu@kS{wjWwkA^5mWQWYUv$CD7UIKO)6q^^YzGmkt? z<3ee*Q~&|tH7|s-OYTfF_e z7QWKTwt#GjcX|FsPXk>Qe7~y?$E8?mDi$7K_qMjNU6LNjl4Hm9DM48^H`HaPgk+)i z>$LDNdJt;AUJHxvFVsGV>t(x$ofZ~N76|#s^fY+)-3?#zt1j?^($Y}0>{pV9M@HXe zGm#v-1XN*h}3kS?A` z3+Gup)!?pLE|k8v!IylaL&Lf<_3mowmtCOn3*CRfl}3VA#JH;4fybmXjY7&4-N#!* zjet|AwU|r03jL8niJ2s`^|hqX_Y$_gtH?wBXYfPUzPa^PrCUoK@|<QJwR`w91j#84WiZyAZst|`MeD_W*?b!!l{BU$*14CHgjme8?E*0kJ4WzB{ZXvekF z-t_j|sR}HX0((Fp!Fvgck{Z|JM#?p8J`7&fC-eT)F#e6spH1geBXwIg{m6gldMXoRWz*{S_i1XZFYxm%W9{8@ ztaeYj#%kA`mh}I#(T?0FbNYW8?O!PRPe*$x-T%gDJ$HO#vvEpxey; zkE2aF-?>xTjNdDABsy#^b{Kulqfnx8pQq_<9;#KB7JigWp3vuxDz3e-R@6wfE||1O z=$D>+U&t6tz0IZwXKFDXmQ+2mM?(ItU|s%|FT%?Bv6NQ=giraz*<%F@W}QMM?k*_s zHM3%rkTxZPgTWS=*30(B^Eau+?#hrgJGcrvr=yEUggq(yQntD4Y_IrqNhU>}+dR{r6(BH0~qZCjL$n zOzR^Lt7-M1G51WKl~dhYrqy4rrgW%>%M3(!r71X~uv1_NoW%qw{A~L%$9?E47cUC` z7q?b`gcjr0a(X{4)%%j32;Iuj+2lIq zQ>pJ~_Wb@5-xUZ0cfe+0x5(T|D3$2FE7%P|dlMDdKgQv?6c_yGCxydL-qr($PuuFh ziMsX-n7dOOPl`AVO%bPoYHm+(3tfiF4wvRg7U>ThXDQR<7dMyznh!?~?3U_04RqOj*#eo{-(K>>@s z=fVTg1Z3!Sx8`t%rqw6^Tv|I!etU@^9@}(ts>Bo}6g#MdX0MUT#9yc%ojx!a7^yX$ zXuFPKf&r)#x}ANZ zY8DAjR$T-PY?GpBnOlvp->t;djY{HRw`S zs7&Aw=)E^Wj2a}W$S{xu-tnA%^lc6RV!?BD^djbRGLmk@nD>Ye*-%nBgI5&EF+f)N zm+vPz;B&UGIt)D$gVLY!B|X&K6|COx(RYB0#a%x+LLYB zBjcCa+n$rEtvW>l*;S2++{;*#_zj6^lurTy>AH&C#(exs*I(0!{h>Y+828AA)5z?VGiB?|un7`;u7xLLlc+B0DNR#ZTRRf&H7x*^FO>-*d4l7BziF0~TG{@;NP)I9cKUz%DUo zg)?&R3Pg&>`Pb?+4suUOaDMM;TBE-Vnt(az__xwX{QT<=?5?^<(uFD4PVTMn=0Z<(J52mlO4 z$aATMQsGn!WyM<;GJ<5`8;tk#g~C=l53>J}+~fO|++`Lm8%iA(6%wRSEb214(EGU9}QFhDfMnT4t=lUD{Rc2EbR&A_H#<$ z!8JFi)iGbaJi)S~#veM3JH8ELFZkyedxyeUt#Jn;=HQ9$_^P<1z-$oJQ?j$F)#`fU zR2nG>I`TC1`(H)Ms;A92u(!)3s&#YE?QBg7;ysg-qqDE?zCDz8)2*!mcqv7L7Lvmq z%7$s^C{l_}iO{HyllO18q%d0ek5a~x#3Xq9pCvIhETYpTF}KlSg>Ia6j)hm!P(_0b&GsLg{H0hs9&PH{Co7W&N; z{&oUkmnPoP9W6>-sU(@vvOHFitwb7;Zg~{~3(k>0{UO_M$pQa$O0k#fz!{3ep%+`m z%5i5q)AHkF#Tc8u?QA>HA+-4&7Sx(VH3+~I^`u9MUb{)PJ0z;&4k}WWCJX=bI*Y(x zX%%eykTamO`1UdCE~0;Z3htG?fGG$p><)fWDIP(jOp~wk^R3_?Mh9$V_t%2%U8Z$C zr(g{geCrf^aIKnx#BwQZ53)K9^`|5?TK3G5G}QknFD|Bp#fRNY3A-i`Y2-*^r*H%7$K9x<>v%#flE_x zN{g3%FO}UuWh}k7&7a%3wD3{2;gmIBlm^oT`je2@fHoBt{panhxbzg;_82SZJ$|Ax z-8i(Vj=fM$K7EB8fRtV6oR(x^*w+li~9`ImW&c27yHdIIsqdwb+6&+1%OQgnf1M*T&Z z)33b9LD(t($G+mdK1U~^Rk2)YHm4F?h-V3`y-yN6B`2z@-AR0Zo3zkPl%EyNp6KCz zpHLYudVT(t)2__V^zZOyA>fVNLUd89?~BEsAc5M5`FmlE3?TYvftGdnYimD8My3Ms zOT;-pew^?{Lo67KRRfhhSAtXa*24WsN7t)`l0XyS4q2uBxI+LN?R9?%v!~OQ(_yF9 ziFGrhfQmWj20v07e9?P=bm=gjag7@_OhFN=S|GWpdLpt=qM1l&u4w6G;t^DThljoj zivNcHk6w=h#KR5(isA06Upbr$bdUSrH(fx_EECvEBsai^gDxk*OBs--AHG1&odk zd?6>|pJ9c4;f#1DZ8=*B`<-oTNf5Dv(m62gurtMp&=Qb;U!YfF; zDl4?FPkf*9tP@W>S8iO-J+9Xr7tYeJ1OIIEEdFNVu!Sp^aop_3TULBuKCW9XBTneA zwV~rjaaY0h@-=)ZkC$stHI;`q1uje6N=L<5rqEMzwEAq^TqfelGK*1jQZ~=9jF5;y zJ_`b;)m}lm#6hgS$nxwIn_}YeO}zb7vH6x(I0ptgDQq`q^l`cQx-Uq_)Q?Q*YfZz7s#V}Wp~rWac5B$AO1rMJH8@3A6Rjo zxC*`P*Mg<^lt#-P4rhXf*f!39tSs~-)?k-c8hOa1-^ByQ*mG0 z`Oqc2;ai6rWGlXPG13lIjU|7!*7#^vXm_9Z?t$`g-_+cu-0kK{zGTLC<5#!ZEL5CL z;(mrfYF2!Aer^kKo;%RLTm(F8SWqHv7%Maf-`a-;6GlV;IqzD3DYkvr1{UG5Z}tm} zQd6K(&eZE?I7%7iJ&<5k*G(yor?vkbrnc_SB_jfU$VaX&id>j+2Rj$t2?T$Qi(h;)EOxs?lvY_aRg@< z7^E1aG?f=I(HTwUW8?=J7v0+TuGKBMOsYq>FlvmjS;*F5H7S-er7}S!o3$q{=E0(c z#XNzs=H<}Bfs74^0Z8I`E4Ksb#EpoAZsUM3d#Kk~P((n(F<#@Yv2<<{)=;vub%_JH zl;OlNyeGI+Af`)*21g4)DR5~cPCj{Yimnau>nVAUOBZ<{K%)=7bln1? z9=zi;)|DO+O0n3~WLWlRFTc%&<7D!x~)14Am zW?fph`y?cFv$!&sO1UiZ_MtP-+g+9?^Lo~1s?jjDOP|eiq<_+9m+F++U;4;Uzr1N_L_#OuTrJ9f_q;lORv%yp``aSk^d;oOp-Nw3U2B&c~{+NQF zEBA=Y*ev6ZG5+0*f2+&*K-#X^y)#K{{m|-F_@@uUUvjl8`d#r^&r`P)M<3j&a}Ng3 zYh5{?xN^1y@PoZ(EqTwMe}-3kzNNaKr=-PysjEIGaUK9-_o`v{I$2d21X=s%Rp-#_Zo>mzas64!FZGrAoKA(x^kpUGUh zpEC+DMFy=0Vx#5p_VGVSDnysh*9M&@2U9XJ3FQJ<94WzP3m!z6v9tOh7k7q1VF# zQw*Q1La8{kH3wuY1f^6F>IH;eD>eaB4@;(`tjDGa?%dI=fY#YI8*4%~k!I1z9FUmP z_?o*~Oy!eZyasO9*2mSnEmfyaa;MMOnBXEk!{29IEYVIjbz)vrz)5bXTqT9eTfCbXVHaRk zsLdZjale1uI_IR){=|hrlS&Z%Bjyhx3pa2d`V__nSMTNmWi;D9z~FIgutMq-ar2q4 z_?@bYxi!9F{sqJ==v7U4VOI+Q(8h3DL*!0$xn1B(ss=nP~)?7`&N6Ybtbv0o)-BTusJzAEh_#L-{Pv_wkZhp+s@;zC2!gz`~ z2BGA9PUg~RHx7r^IkY#|g$@soCz$DLI@b~^idd)4QAZ)(#vwi4M%1OU&a)Bb)Mrm} z);UKVw~`CkbhK1jhn1G!J?(^*Mi}d^d?&56?Cxo&xG|u-e*Bd3I{zqXKDm(Q^S`<| zu-2J>^igfOcT{I3(S6-q4hlBq)XmOYTi!R1bA1om;Dl%pEe&M#p2IpSrbA9KiV#eTnyI32Mn%42@r>m}t` zLD2DNF9*P2jVyH=nZl=#eH!%XDj1<@L)}f&ib%>ZZz8695sE1gk!UWRfZH;K@IRcW zRb`~oo4P9f69yXpu+nJ1h0>;RRS|8BVT_HiX%HJE1D`TPx!fmkCNc?PbWI46bLAk_ z1P#~HFdwpsP%wZVjipC0ZhZK6L4eTPx23|D+@=QAZ}f$V%Kwrd>CIacsVG@Ek<2|; zU(Eq12t5Lzr{I#8!UC+!Acea&3Xj7~5^oX~*|$vDwZEx)bIXg|+yjtY4bFNL_dfEt zav%X@dydqlT38A69L>a@*BS>1FT_$azb{ux$azIq=M~|ECTNWhD@I0z0%;OHh{y@o zWTk_Ez{cfvZlbK-L;ZBpyiIjtA1=sW~2`hg#Uj0HztwL}fID zu^`HU|2qkB*X3F@dOL?%7CV0#c^7A!96ho^9&2?M@6g}kg@|euTny1kl$~v; zm^z2~w2H5}3dKLbSF)XRx-ePw1c+!N6o|1yKN`beElgr`_OF5+!>S6Rvs;24aLx~q zmc1W7S!*OdT8x-xTJUDl2q>W~#sd;L^xFBOS4#U_LPF@!QAD(m-S*h-SMWVptJNss zOR*}lNn6Zr3NQE|pW2BUag3$876`21jtuVO&=xx+AEmiwO{*0>lH0N;w=4^cL#J7u zYm0^VC;ay!ZOK~6ZEW|HY<_6iv`9GmB-1g?2;0*_81Ccq+YlJkB!gtsLbuYA@v1^W z1(8D4ax+0&j$sL85MPGgsjwD;Sp=?YCPP)R=XGuWvi|Zv(C{4FV;RQx;zIFJG(Na%Qi!8N(+M=+-}m=Vp6h2rOr+fsS#u(o`M*YU19l@aGLP0?lBzMj-{906^AE%VIZ{Q^s3=@8wsv!D0l2tGKH9n`K6HiRf5 z5H`ZVVPYU6XMDBPaeKZTx7A8%%YPFtSur9O#UDy*D+fyFMn6mKJt>tk3r6fmTstDT z%7T>W8{9*|J>E&01(YlO=Mp5T;bRI(us2Yf01Vr-0whoRUx= zh(M(`E2+u6$LQd|qBU;80oi$pB2h}DGL?7lC5lSfM?@u6xm;zlWh&jmQgKeyYhYsr zWCYGk?1BBWA%z^dy38^?7YXPgHa$nXJrXpNkXATOm9fogeY24xt6>c~SqwdD5{GQ>%6G zfYADUpW_SnWZ#Qg?ccx{YH5j-7p#;31S2`K#z_O5cWJe<87Uc>L z=OeXi#d_>osVG(*(W+IUy`K;-E&7NAozp5hLrG10;vTjuWt!|iM;#l4EoDK@A0*cY z%x7m7$;d*gmjN)W%&N01YbMPb6&Rcv-R0dzm)xKN!{5@(&4NB-uK>QBsdAxm8l|ZS z<)QXV0vF5nq}A?#SXl(iYV#Q=ak4PWYBT%{1TrBJ(WPPGLKEz-oX+9YVBNLG5+$T` zv!fuSyg4PL^Z>$LmXPu?;Q?4s=}>NJLBS0@m<>OWUQ#I-=XRLr;vTdFGV3LX+k+yI zK`;{P80A-Vl;EQrq6Oy>QE-7dVi^LSi{Q#z@}(9MVLxbeHYoLDadu36hrY^CC4kaG z2Z)xGgy^kFUv!QGBu3}5469;qaVv57&qW2H%|FLmvWHL`P``0of~A8;`Ad+c<4+qn zlK3r&t42{T!Ygc8#VOK|bLVB^(s=~0PRwAT)62v&WC3{*^`7f4`Jh@wZvy()18$Gw zeK~2A?5SRoxSl*R+g{_KI&{@vX-)Q%q!Uf(R@|g`Qk3EQr)8aIXO(n@UR|t)4W=KH zjK&U=%Wc$vdof_<--lDif}uvU`8`f*7zC5cQ@qyWcqj2H<1v~MU6Cu08QMEl^aRDc z%z@hy*;FphWrwQHkxH_y@Ow}?rZ{&qk@oTtP7%1R7c!|_{L_hRWEXslf-)S6R7#QLMyRG-YHze9 z3S~po8Z%4zsGJF-*AQj!D^KzJ5A_2kg&DDheG`64fiL{^IyieBhXtCmLJPklQyDs* z$q7+htKR|NL+t^rR@gtQi_sSai^P)=5%`sa&5KUBA8TPP{5_^plBP-0E`-lo7za6( zbnSGKHmD>FmsFDXdXoOCl0@eq1!qXo^D0S8<&wI7sggwIAi1uUq^Km-iuNb*sq{EH z;So|o?ZiiVpLf;eT)OPxy0YjsNr{}T1j=6FHrJAaWymFmG2zae%tu696WS&G`8<~D z9;9`|>Z|Y?TS=MAYTbiKZZ`tE5BYGYiqMaZGZ5JALSVNGfn8d@N@PZR|MTOD)P%5( zziP3&a*@n66A3ibgs^TG!n*Y?qs3!<=!&|LydCF4Cs7l{evUx6gXfs52t`yo^vKN^ z%W+{JoW=#>`b7CN$RiSbm2ccSSV|;~w4}{{guxBUAut}o!#xNJ*W~HZDz--zHuTF-XF>Ii z3?Q3ugq&-1*hHiVYhbd?3hK+P{tMyPj#5Q7Rm`S}-Bhufn3-cM0u$^cx&CWDL#Av_tAd;5uY;-_OL#bD9Dd8G%&cHh||w~QezWHO?2n(B~2l--7A7UuE8;p!;*G+At0 zz=jDTzdWd}4K7Yl{|vsVc~XW{2qULcKLCA|Zxwu#WbU9931%W$SjbE-!w0{Sle ze*meS-~J?3DxvC6txwCP6l*TS+yiQmcY0Sfk~dj+ua!~K%~fQW)0JU+!U6i7&h$&ETG~kHucWr#ZP6ZjGnp-RkRRMe~Pw zU=Bia>5?xx(?Phzb1JSJK7xDW{2zO>eDLkF#`p{q1`S>BAfeF}#J&1Tgefniv&0GOY7uXb0j90T1UqAR!m~*%x*z7qm%TQX7sZE#8tCdXN~W z+aW_)R+vT=elkRe#wG>rb46_uE!?A$m;j`vnj{rN{yU4RIk>i7B8rNE7fIsW9JZdk zK3F^&@z5?<0u5nsR)Yg+?4p9?=w8TQyDmfJ{^r_b05{gO_#I*3KsD3ME>cLQPV}Fx zjL^DCU4)SnG9-tR`rSvH-K#5?`m#BVTNR2y5v*hmQoNpYq2|C2YDC1%2~a7NoRNiy z%jXbo-irp18}hhfcr{@evu&k25f@v0tl=f@!7LNeh*vSTLvGGWwG&A48SlA`zvh5Z zRH*Ec40St}tNt(9#gvGIVq;jHkx(-~dgST9tDnEL%1{04hxiehiIY>gF=qpsmGZiU z@6&wd3gKB4wWI^aoHtaY$Y)}n=+nUqq|CFEXp*;Os)lF92#B}C)|;66@K#{G6uo4+8L`e-o$Dn}H1w%Ttj!=%oVCzcB8?2HJL#fhB+!}jKht)zRx)BGQRK_@0l}@GR53R3!*qQEUs86eu|4$ zLdk*Jl5In1I@)UrMXf-(GtT*Wx; z75#7vvSw75GQKv($8TgmzmB-vO#B8g5uu61Ob^`-R?AhH+LC$l#9b~(=Zr(6lfsZ| ztKO){AXsK?a={R7c~hBC-zsnXi(Gff@hWG6C=9|}_pK^fLD+{3XSBTY*mky)wV~}9 zHA#d%8C+J*+(ABz=`hX9wEU^W$ZhekBHcgUGLT$M=KStQm#aMm)I7q1QzY0=|~E zQCWIjNFb?9(fd8sn-$&_L63#|zbbxR_u{Ncndc%$QO3%p3hoLY)GZU708Y-2U6wLA<} zRASKp0hH@~@f8A#kcx&T<;cR5l@mZ3%M6qNdw9F8``o#x+QF&SIrt5lTTd%@LAspt zUnDjF1>4GHpS z&%fV|1l_5yR7en2D-uK*r~~F_o2xfkaLlvDWm6zeE_bhpfq|YQyP%LD6b?2C+DD955|Mqy*cjiN1L?ZEv$g=;BXMGlBgGw?_d7b``?HPh@qN9DI~+%JZsH?z zsI>^2JZzk_(2*RBuAYs>6WO774nh~%=mP`Yk!RHgzIDI&pFguYr^Q-f+!K5@c&#g= zM5pFD#GMvg-Eb&zusxYfQ+1KATHt(Np447LWT7sI2BDw-0HPnNvRx2;0El8Kd!!pg z3qeUmZGupDf#~lj11|NP{Bedz2y~Vk_Q;ybHnq zmrn88DEW%(t-r!p*5}x+Ef&P}m3*NsnaqPXYtD0oCHEQ|IS9k`Bnvw*kmJh6)SB`Z zf9Z1^b`^hxk5h}@*xP4xBt*WXnmYmYv-WtbdpY|n?f^%a#Pi1hrD6vNT)7MBsLJkS zy6x=tK4lTR#2Rwwjaho|bs=wviEg*c19lO+wX-t>xtrTl`~f&}FiV%9@6!%POTQ*} zMzO3CPcetyHQwTPwZ##dQ7dS_H%qZQqb9kV)&eKo_SrSu$F{jgZj&{xHx5+{SokXr z`{`viB=H%q^j?l6q4uo#gn$XeqO+6kEX7g5|BnwH?=ye68q;0u+d@8sa##dBw-fqZ zUN_bqKL{CTWyjlLOw1vuQe}!JQb2%EFBGS|Zc_A-O!yF_r^#5TBdhAy!f^=y#_!X6 z`K=tc8oxumaYSXP1FJL-ebXBURf?ru8PB!rlu5n*76^q5%Xuhqf%M+hV#L`E+44Ba zlAq%Q&ls<%;v;L0qZfy_IDto0QskNlChjFieSS`z4{cgukQZ%v_B5IfuhX?>*6P8H z{SzC=&bd=>EJQXW6SZU|DZY}w;oA#E(4LqL{&7-!ZdzS_0g4g5F+cGfIS6}Bo@Zld z^fRK)V5a^S+!eib9YO|d*HC*u4~f4}jjHcaRbK}6)nmXC@lhoQ*yL)_U!6AMq>qaf z8TchsK<^NFX-j@j{W5K`o|V-E65b5>>l+zwlZxvM4rdsfBF`uv0U|+;w#e9R&?a~T z!DsMoYpd5{r9v^`q|EKyBY`2z);2MxVK?Ne7W*y<&(>YVEo9M;ZFY{_=rcC6F9FmA zfT=QT{KMS1_v)jvugWbpa+F^iN;f+7tCFt;l< zvnD5Wt;roZ-@Ycb#?I3gWud(&h5A~QNmgZicTO&*KdOo70<}D0;)Oj0=t4 zgSNWMviM$=#}3y|Tk@uyR6_0NaD7Vz|1HMV3Xgpf_Bxw=Tn{xDb>k(%6>^5DjVNU8;<_RFb8MmycaHg;-Z(Jv)FHLdxsQD0(a^3;Z`P~t z$*fjH$4?=sw{)5F^9^$mDc4t2#9d>8yKs*s)Txy?o zIXayP8uZ3IwPwzxz4VTjlQ@G{y)iq{SN)!u$dX@eIob#7D7D)Zi6Q)^>CYA)oQ_4H+V&z`L}Q zgA}PH?>m8fy|GA6df^t*n$%Lv%<7X7+Lu)yE|V#&bG@%O_D#IZXWamm(@b}Iq2#ND zqL$|WakccsTh@-=*bjlo#C8O)lV~{NTE;?W37@KOH=mc~YRQw#)3LT-<>I7hZxaCAD_Rd2fC zky>K^GQqW%)@cNn%5m7(t@elF=1>PKYYmjvh_kMarq&r` zyhiP8fZ{cjGmi_Cr4;YLdOYMco-LBE_7Xmi4tXPXlHwpvoAatGWs9?xxT=uL=B4@w z4Ku?_-a#y5UV_jDBuM;$7kw3+FNcvqCIVy;D}1w*>{?2+>)OE06v%c1?J|Vbv|Ri)TKyEHnorYs3FI^Pj5WgP+&q|PB!#62_JB>p)bZ3 zud{wKL{!YM+1SP2Fd@3{hCH*pp_h3@!w~Z_bhC}ghFr5B73GwWJdLKE@4$50Y{09_t< zn8>H0)?ELC1P@&B?>?AMlv!by*Wc2Ej_^Eq5GaL*OW&%Oh;qR8a# zP^X3tBQmE!kGL|7#gbRz!j8sV_-I^UK6$b5tLh+?vypHUdT?#0+1pdxL32n*AD}vq zd z-&c?blBaMr!tz5C;ZxYk1SniQKn)aYbx=&0EHOJ2eNdl5QONXbARU8Mk}wKL7M2W9 zsRL;Q`$DrHIUXX1k{(!L+cynTIdY^MQeU$0O)F)s%C|}8TWN59XC;pySvgwbJSFjM zeyoxU8z}!)xhfwREHxJ1XSG8(f@tAtDI}+oWZ_)vYjY|^Tx1HTS&5TX5u*28#=B^X zuI=Oq^Ed9O9_Y*5nt?P<%)jpSO4$<_v4RQr}Z+_3)PgoWPss zUxwpFrc_YuE!k2%UJhQ1f6X}1tf5w#|Rk_; zAKv3#xlX{kq6f4RGsw-nbD~QYo*XFodMzZMsOW^aai=3Fh8}N5K@Pv_$cp1=bV37} zxR19$l@PA|e=Ko@DzShPJ@t7i=G!KZ!Nu{)c?s2JF?cAaTNHWi*i$F{#dv;W%Nsw1 z@tD9_4SM%U%*i16Nk_T%44&1Ufx+gZ-M*B|CBsQa;7%TVB`2%rdGIB7m+aI+Gue7( zMK8M2S8@tX2FT|r`B+=>qO1zE*TZpspHe|MsVS)2QC+>wJ?HttiMJwz_C@bV;`xyU zoX-3LgSOlAgIJ$q`DzXWDY?3z8;7g0wQ(qSL} zTrG+9OpmHH&cn>;po!v*j;(k!Tf+(ygx{fso?$MzBr%`(by*6*KhZ*BeD8^t=6gpH z$^h7m016x`r_?#~PDwfzQmIcTR95N}$tBh8nlEZqTW%gVwUv>T1XDSsp7X;#jEb1=zmDjg_01RVRdtzUDToo6t$Gi z`%>e&&~7{=4_sqDD-aH|jZst^5sM~d=KvrHwYTG`iG*&psC2x%k5 z#~xJmu9NrQ@xH_Q{-C_S#QRk1dtBasMF-lcm4Hdn!tL^aQB`3h4-i|G_>?5V2Nyo5 z5(y0!Qxu@kAs-I%p+z3f<>3OUkq9S+kITbW9-{Ja1`q$m18#KYTRgw0o|EP)J&8ii zffpGo5>-rl@Mm0NX~kTfZ6h|9cTN#8e7M~?o4qCdoF-##^{&(#OI8Sd+HeK2)7cfSCA#ktImcM#~h$9=a zUKy?vHD$4(2Mlvds;e`S@jAh&<8w0z!7Fe0UU~Z_K zhhdhuNHx@6AdW4e77lCe1=Z7?+VUq|Qq1XC=X7jxB#p;v!}`li4%9SeuG3$WL%*ju z?kkDoM%3(a#JwfW9&LJ@^4k2~UcyJ1E9HtoM}~iJ19m_%#h)-8m7*kE@;*=MF1W># zw1VzIfidmFg+lQ^>&1L=vddVF^`fSQ|BJ?^M{a&L=)#7}X>30FfxdN*zSXSM<7+rj ze}Ep!Ir6w`0uOXc*fyVvp1fYrt+IAqV6a_NSf!+EV;Jl7 z%?Z7;Ik2KzJ*3tgSJH)XNXFmrN-fga#dV^-)f%6W1&Pz>caT{62X!{5LfS}yaBjpZwO5Ro1U`DSKA7S2O2^1U19oTez(OQ`v=XpB6@MmyS~a6B+U zRagnTi&tYCjl(L2?v8dM{-~XoyWzXvM)6=T#prwo>pB=6HtB!J8cDpwr!kXLY$!7$ zE}rvqf{O}p^M!+ZD9C_QNqo&nIW)f?d2U%V4y%brr8~mcO1~rPufu9?)D#>=py?MX)?hj)(2r+E- z7VqFR=czd%?@q%x>Ol2KS%n{oD-3~(KV@YJtAd`Xwuxnt_zz(M?rxFnmD(5UDz*Cy zf3;Yi??3zZ{OT(n4E70fr?l7ji0?7}eTqGpr)h2ZACk#RZA4h6DxpZ}}cjU`&$GvTR*~J(Bb$-Ubx2-bG|FF!4Zz+Std_mwTPfc76w`PrWLU(MT zw>0+E{z~nE&p+qSS6}mXgomTN{or7wR`oZHx34AHluT_rd@0{~knbJz=zd8|S8?cn zUBx?a;2!Ozb`;!~-km%QS<;I;+}2EJq4lf)8f@mza!Tw^>=jW4lLJ?JNyK}daS=A^`7a^!!xdbrei(dS&G_A&0I)y>D}v8m)5%@ z{!#6f#$eH|q&~&1sgG4Ujp>%Pr+*aj;_|SuTE%irMUBP9^7}$Tprz}CW9y|pTBhHWNf!2{ME5x1640(&7Zk0+ zzc9jO_Y#1@o7LSyvvTR_-v@Da?;1em(schJx058MZDa&NUkk8K@Zau>EXt`^n>`Wc zcr6JJU7`#lB?wkAOe{lFw&cQ()BV8tsh%UBkmD?oq1(*?R>oxEV|-V#V6nrN$S zKamu7bbmj#nH?TuMowaiurb_Uh)k%}{58Q6Rqw6-n1gutL?+5zi<*aFs&C1{ZE%}x zC2dE4enLp1Gb25}R=9nO#pUKa&YTYya+d>fIOw!nU44jrBwO|ZWlpDsm(ewLF76A5 z$9p|J<#ZrfcpsaMO!+D(yeKagKSpKM-@o`0Ppe^0}V?o?})pN zsC2ca^LgPQ@gBBjM1T@e%4x5ol^d(TNcUvdi&|*5JVktfYZvD7{qZ`SMM|P37gSuz zN_#R{_z8%OLBUdq<9u)AmM4kk{ftG%h&*n&F4mj~GCVx&R>6m4)SM8Gv8sSyczS&m zd@nMPozl(Or0%WB|tsh>Bi z0ePSWJM!H}ssU^j8i?kFromnEuC`>V7%y3+@!Gd^P|R+rBT>Xw{=eyWfPNoFKuOm{ zexogUn%Yv`|D!ZhH#{TJ549zb7Bmw`*Iq8Xv&3!CBvRFT=1tm&a#9+7ox$U=g(!g==bQ?5tXd@K6u=nZ zos$Y*EN@4%fP_vwD@=`tQ=E%ZXe6<^_Ds!v*KRkwfp$}udRb$s{!X;wgHU^kw&YfN z;(o10K%EiHL{l8E`cA?_Vwzv9IU$xj+7ohqG1$zWY?mO+T6h%iugk#3#ZnE8AjxiE zKxogr(3(}D6T@V#s)m`fYEJxtdLEi4b*x}V33DdCw?SgYrBGI#)j<#coyeXt1$C>Z zgG!)nD=w0~Gh+*9B|c;hq@19cjRA6ieBvo<)?;h49XMIY+J4M|2J)TEL=gv;uE|nu z2uJ-BRY1)b4&_MiGG#Afzweqa(fsJk7kekaFo}WrpJWz>j|zXZpdXSY?gZVIs9``$ zjSrXuKKVyE#4Gj0&WEP*cKs+>#g<#@i9=Q8B;7p9c5IP(Vt%%E&Cn&(F9Jkr4VpMl zzb&yZa}OKu;_5LXAy?0lmW3Nj?s{XZOyyjXv=Kqtx3RN&jIkpWv*uIzia+9t2pL3`<>Aj;YWSyQ_*R&& z(1(fyyNf@-e_I$OapGA@DZ8+?cv-uc#3fRL+OGzss;VZgSoaxCEF^1cTnE*-P>3`+pp`xzFAAbI(2ZoO6ZCOJ7LBrx^Zt zuk%xVEy2gwCY7I)a)-<5+}1Ns^6f&t<^UxwszDu1K1uKz?5*)JI>pkG$PW`)iQei} z-?#UtpXimA`P4Ln0fJr>wa4((a03*yut>({J0|2=O^zl-iG(CzXpK7P0O;zCgU+X)t5eI~UJ(vDG2#RJ8>HZFYh=6U9&e*F zGTr7pywk}w6ACMy##esTAaBmBSE~9tBR$7CHIA+8oQJnN2ft`a6>=3Z;mB(O-g>>Z zhhuQ0^DjQ4xX5hH5U4HyNig7xyg^-e6XawV#5X(Dc|?lfZr1j_-|@v^#CFdw_-J)d z}$CF%Rc?a@v!#t$viGA5U?V%>GzE zN`_$A;JMJc*}Hg9%s5oK!WYX~ye4*jMU*nJ`zFS!X+F<39~datAz=n6JbNXhy#nE? zhtVg&v4gQ*A@2ZOhP=qVXis_25**HJON$-qWND@E%#-CL^31l) zl8s!6e*Yqpat=gg;Aq7ejKKQRqey&N_mE_BUfN+!u1U7axM5bGcJ_qg~KOr$QeUTCT~n06R%112b5Z`(^U2jYZ90k z+8q6}Qe0_-?Cr0-Q57jcJYLBSFU!UiMpbAZSXOL(yXXTyKSl?Fm4IC35x4jDz7CEe zDXDwC2wyjC&~cl3LmBCzy?-Z$gh;HWe-Uaf&3bcb>U*q~I`e?OH2qf58=g9`?Y0 z%G}UZV=C^B-yN15cm=UE#TEW`AHBUP3GJ2hhpzeR#;x3836HaO+5MCoUjnV`3r%SN zlm`woZxC0lgx8@ANcGWKntI?pss2Yw(Lg=`$rb(rl{{MNgH%MXovJ$o87+0ZQFrbZ zpNG(;W+ZGqpUS#`f)Y4i=E7BIvJ-77mf#@N-MF&e2px!CD(n+5wi9_x)XGUG2u+F^ zU7X?$-_?i5?FU4MF_)Mg3_jdqGN@YWJ5pSDGF(2h5>}Tp459u_mVd(2EX;xl*U}Iz z^^Sd#X1#*2X0w(nzny#k`2A)ua`0;tjOpVEH`>)*?zq?-)-=6e9@hIs4eNNJPN1+> zSk^>WD*DMFtKES5L-Zx6k@i#7gx&&TXsNxSKFUZx!Tq%`g6bnpM~FrV-l4@BJ5%!N=GhsZ=PqG*c?ng25Gs{3Jw5rb zQu(uiOp4TPu`0FCfll2q*MBIyI8vt^1VyN9fHaWE31`9>qRFiwudnwK%%H?9f%2 zgeK&LMcxIVi8NCKFZlw=ntn?U8#(BQGY6{0&oO+|(TwK?T4*2jeb60#DG#zd+%r6I zmJ>e2jImnw{(b@nrd4?l*j6q1O}KI5&?DomA*SkkdEw(taIHWdl=;KnRSm%hrV6(8 zdcqL#p=|cM-~}R@#%`LsnWs0`F744ILI<|x_p9I?!AqTJSn97Jn>sP0vTUhMF;X}? z-M+%MJRtFSWib4n@L!=}s8il%Vn6JzTQmU7p%LW->SY?+a$XZ>PR_2bKDNx?lea%4 zRGYmr+RvG`ot=3YL`UUkL_e44YEjUG)ifk_eo*>`{e4u&CY&GK*7u}%>EgQF2Ng;X zOQ}>aNCI~JSjw0ZhCJ&hoYwQ8hZ$q@2hIy{@mc>ResU6dnDU{50*M8_1C3$cp&xmm zG3&Fy$m;Rupk3>S#F6WSK`#2!KB;SK=li_hD_ufZF=Utsx#~j4cji&JnYG{^kUL`nWY3rOqHo|9)4Nx$tkj z$mnXRU$8SuC8cr%Z;)UiGH=pSw-XcxxUu!AE=<9rV8^}4U02G|ynBe9H0senMnYEu z8@km|cO}zq^D{!e*qeT}%(>a`IF}t;CL?nWyAx?*(Sw7d-$KClZSGqc*r5!p9-Kd9 zfRSI1gd%7iuTbi5?yQgDch@%E$4+71Z^`{>-E>I4t^smiv0J&vHN6J0(U{+q0NECd ziQ9~Y?1k~R%Kmd`$~gn-x(4miZorYL*?K}X)eoG%BG=Gsz1Ud?;d7dlV~1mMw}|X2 zE!OKek|~A{MLy7#SnDcqrWnVajU0C-sH0e_oOaL*VW_e;6kW%TJA3=}JV1d&II&`O z%ZfZx(RJ=|lTULs{OQsuT-e0g5BkWxL!GDzp@BaqMq&f?{XwY>w$nB4x|FpdiN_SU zd7A*z7hxjU3w-s@cl<*FT+dv8%lF2;{z5tE(I)91SL7~=Z*(1g5ApOK-gSLorU}24 zw%)t`F5)-rJtt?ufs&lG&uy!BAVrcqvD8)pH;nE1dNzF*G?t{jXj}avne=p)hTRi*#&#ovwoX<~XSrzT z1I-b-R?ZCTikt~Mcy-6|w5l;jx=3;cI`H3CK!LteyL={7`-&#jUv{M&SciAKNOeSA zUW_15TP-9g_#qSEfA#olEGUD*8>TmB*0IpOreBI9GOa7O?MI;3hVq<|I}gBBx2D?o zxt_LI^$crJc)fe@tM07zArxgb^g$uS z!Y$EpQhJ;6gA-KQM?(k{-U-rrw5nh9$Hx4Jpl$&&3p)+EyLmA~q3}<$_~_o0TVY3i zg;N$Ra9iZDu1aRbj6N`5s~{p1jd+Xt#1kaW76YG zilrV$OYap0i8d}ylhHYrgwR#5{U|XK{vjGt^&U!$(iqtTuETGE-<5+UJ}rlQff3ST z_?a8rlw>TJ)S^pWOlfwDEMdnH-I}fhtll?sDl}P6&iKV7I49C4uvAoHh zw#jXMS$LYmFRClgR>wtS`~;5KR@sy^Vfe-Bquu>HTHFxnUmfYc8KwIR)|G@`nK*PK z!Wx{&CrpbS_*-bpB9P758ZCuoxoSkl4wks9@^6H)JK-2WDDx0;Cfa_r!SS?|-> zxN)QqnX;&|ulfr_kA)*(E82jf{3Q4#^nCXA%>^#!q`l0{x2+!IFAWEKeE{r&M`Hu0 zfn>SuuGwRwKm7DZuMZ*KI8-xSOjCX7?l}ykzgYDJq!YU0r|;`sp9_s^@R>YrO; z{d0@nKfUOm2Ke6e{y9efXnOx_?67}cv8~pafs0GScXy_L>gk`2>{!XHW?Rii^pAV7 zEF1cVWg~5hFPlB>mW`j&S`3`&=U;vQcGua=&HH{X*%CJI1s!hQ)fDvq_WnI@x9W<- z{X0HC?3`ldQYgu`{0l7kOtvi-otTa_f*80Xy@D?Zpoi5;-vvtAb`v{LUS#rD!EYQf z{Kl9m7ru$MzjpY|uy(*d5x;Q(^WB}d12kK~{JsW)bAuIV-+2cr4Rs7BkGpLvN~YT( zIMJp0X1d}wY35Od@3z}dqlx=zG+j?oYNoK9I=-?0exmQcpS~E|e{~!S{-d1CGB%O7ZfZ4={cT4GEVS+V{(lx9ZCb*t1PNC|(CgJXGHC0<8vziY z*5E(m5i7d8mp)!cz<)MZy(jOn8u6bzo%pTCYXY5X;7jIsrOLst=6QWZnd7D73r0Ct zQ%(Xrg+ac4FS>XX7}IMgct|zR$$X$nQ<&MSjqOT$qfu(4ee8{cl??>j^D`k1*UXRVB7H+m|=|OUjFl->npQ2IIH;`F2fw`mOd&yjO@Xk+Bv3 zf}nkw1>mFhZ_a4ueb&%5c8g_~V$o2SMnXd?vZJ71Zntc;a=LZaO&SXE*;czu91XjY zosr~;q=1|^%2_uD#-t4?5PRX11-`iI&J|+8d2%-i<*bp%f{rNanQi$sBu9iHXLuiQ z*Q-#{7n*r}UC!_Uk|o}qQbbT(zJ)yC z0awHRWRh{uX3z_+ugf2sB0U17R_~GP>w;q~s!Ku{yh}0KRX3iePEd}ep$qil zpYOwCUu!~Z>BN=ps~4pNa-()$UvdaLvgtJ{+AGm{sk6=^b<#`9YrL**%((07^2eoU zH<;u-*q+#a66N0Fpi%X2+xan0NXT{9uCyxYiGeF7qh^ZR8rm#Wi9}7fyq1>YI5eeS zb;ybODPAs(Oqjfm2@~mcl~}f%S2)SZQx|pD*& z&}I*a{)AjYnZ$PqZxtZZ)2o3?t{)q zE^@3q;ij%!;F^fw$8eF`oJ}kj#e0lX7sQ?kl{eTG5&KlKp%-Cg65iyoiz!%@NB50AKjY>-n8=b%fk{PXw8BIt+P#AB3%(_#~ZYy{`77BDn^ar89)O=zmg$!GY zC3LmBZglls-MB{62k0u*r)W2hj9pz%HDHcIDlqPOzj$`VllHFQ(#%9yHstO%dzO2( z-2HUlF7hZKx}rhL*fxBl*w818OyrYb8DqyW1q*W zt#{gT54!5E75;O5_5IFpaf=3*iS8FM{7CgHKXHxx%k2(z2T2`V{4g{WDr6*$j=((5}qTdyN_TAoYSMBQtXeKzqr!FEE;Z$ecIA`5NnLGEGIf*cs=~*V8 zGR~CFRAt;CU9Om#A|!KzK4w1oSn~z#uG_uf_9q=bMIz|?uTQ}tHG^hB349!l4!~`BP zV!Fh;hIq&ezgi@%wD4 z0~A`;6LUw;1@+LVrC?N-@5l>Rr8s~4Gy(6Ci~%$z!` zNsLz6cD|UxgNKdx_>lQH9)8`S-DGFaFd*kZk!I=7S^}EN-MHDy+OEuc^Sgb2CE!C& zxqwF9HF=ZMExFvf^+6|&W7!^y#cqKwr?2JdVf2$Nr!kCjlZJh%dDfR5he6=0=}b7B zC!$>Or=A7nU719< zsqIpFCibC5hr4FEvW9f7rT+5Y!mRO@emM_!AsQg679lYp%RiMYA-pV=zww;>QGe|#5CRUtcA@+B`4x{1(D5-NXo@Xp=QWLs?m z)0o_n$!!;Q7i`4*O5P*>2gLtC;>({M@8gRA%-m1${ZxGA&klqIw>^*fcg@ihTWwI! zEXByI`@;Lv)*T(8CuM?GqyCZkC9owGtaEQtu~@(*5AnN+%wN?KoDZ{ zqya`o7o1i`uSw@`mCk?F=zIouTLYemOxm_JmO5?UZH)FoyVdya^%HFmY;al+a8U-g zXDG^JyzwbrGlFY;HQ_CYl*=m|A;5G_cwbK1Ayfl3?7dKFp6Ks{!@AECmh10Tb_QTpN5JTH?sNfuiIMYZ;p!iJy zRaQx~Gj#hcdmShh?H$Ou>_^D0_t%@K|BMtG-L zhC|yxvp$G+q4GQ=P?~c!Dxgr|!qs7G_^`emzn8#6b~u!yD85H`9Vl!;3Xcc_U_Wwb zujwp83=}%F1ozKm({ls!)Gnn*k*@oJ>bfP30+qq36=o7z)bu^^j*J~72>>npcgIgb@n#%RWYRVPN<%d2Yig-w=Mq|uV@vqcmF-sb>t_pxgfJ7 z9Dx!LOx1gWvPkdA5$GmZ2KlU~_twC77|UHSr-b9ron{&Ou<OIZ+Z2U*OK9XJ%GjTf_uY~IDU}H6LEXAd>HD0TY5@rk_gS4jI{AL_r z-h!JL?MKJq-|fR|?*d%pj36w8D{?n)$VIV3MCNXb2)l;g;&lQowPqbW&#UrK!*xfdjmjiOvDa& zYaY+wH#EB*y_;_wl;+3?7%Y#%VyKz}{vuGiO>+!iu;$qlX{3|5Ghk=@3XS~p;~g~e z$KrXiMjG@Uh3_WdlS4U><{*Hrb7l;%)lTP-tULOIE)`rcaJRw}|Hhir@x;gYf^ih| z>rFwwY^&#;D-ULdT-GmmgIJygKFABH(F+uQ?2b5qlj~sdgR|a^7_inDyiufdvzme~ z_5AhXx2uos^7p9bb?ctQPL6KoZ&LI{{&tGOdkb0NuuBe2=x+P3^}@~pJz^(pxlP{@ zBycMm9FNp}#@lT5Xsvgp0m@!$nof|S`F+roBb5yAt=R>RD7aFCZS^$45z(OFOC2%s zWH{obD&*uiBD%W_9C4c9h`Y&Ea709+&j3d}62lRv363b4366M%nZf|l*|N2Jj2WsjyO$lM9D~S#4pe2OL0V(?Yn3Ydm-32 zb5r&BF7>ttxLf@fRKe)Sw$)Sn%M-kr>`0BgFP`=u=t&G0-26}iE-3PaoOF1j;${zvPdwr7=&UQ1V4Kv*c(1x z9UJ_VBR$kSWQFTyuK^P@PMQFg-1@ZKZ8_Fmtd*Q$p2kuX^rB!odA!2E`jL~KheO-Q zCbmbguWe|W1^ZgE4dw5xD;ejnOl*s`Ti}Uv*(Wgnuv5?G_?Gu3FQ5yvXP_TsqP+;B z98g?C+|ESH*1&k&TK`D(_^xZ0rdQwHRpZ$-td_M)&&4{ic4;b%630V3=|GgpHL}LJ z4v(S-uKt9cZ|(uP@X0zL?_#MM(`%0n?WkTQIO6f2y z^Yps26OjWlnZ&<{<8Y0F3IuA9X|p6VSHCfXV37Z@Uz z&({M!eN_ciDwnQ$%}{s{>HOm>WKQH(lY(iGyMlZwUX$oTR8(4YnJxF>e2|d0pHQgP z!-xc}6h;3X1TkyQn3dK_^4%u4Uw zmQZPHj89S*6=c@sc|r6ekedzd{E^N@iN&)j!V%SHVI}0P_ld3= z0z6k$NP5cbmKAz0bzc5>yj!51oUAG;$gD~hRRKAxmF}~cw9Lp&@Tb0a1pY%;+7a2I z(;8sThlG@cKwEMkTM>TlpnIWyr1u)q-|ZNJIcR*>Mjw4Z{lr z;08&+j*p%x(eZ?$JNDGK#>t-QyKuL%_bUdC82o~zu`7`JJ=mr*+Z3K&tBTS0UE*K!cn2hBe-DKM?xZ zZQZEuE!E*O%(F>*j_~lj5pf+Ckims0-KxI(DyyWd&$Hr}6fDyHlHz`yg41-rPI15F zV7Bg;9QW%Syj=I|9QW%I?5B#5t*+i>T^H>{6u-tZXKBrmqe@@U!{a>kVp$u}b zZC7!?yR!6NV$%%RPIJRA@fP`*)%CKUPu{m9yX(*ZWk9l!Ta2is$D#TJvY!>N(`@W zdWjh*_qh%GI*albaKxIAV6;W0)cc*?*7bRj852e27!oU3hhpnN^x4d;m%rcHMLS?F zEqe#MnMg-UZGktKoPk$CSN&T9hny;N5rG8DN zX7vT$P+xSw4(9zfe6~Tm+;NnAx2ZpLi;v|;O>Dk*vEP)kRX53>ZPHf|MFX$P2b$4# z>?Q}4qU|_{&7gc-jk1X2w&gW)jbq#P9~ScKvRq#;1=ZS`m(>E3J><4LD;P$O#qzn$ zcMj%OkWC-i?w3KLKKr4)23}JIs-mSZ#!WiG7NvGFR5aeU4borbcFBLc4_ECb97!Nbb;5BPRwy=(iv?m2t&^^q~- zp(DtxY3hQftSFAO)hcnb$Yk^o)a*tNtGwQG09Zt)ZWV2)O_wTQVlbMi2vi%5O_vaD0uQJdPI@{uTNbZw}>U9nC{4BhN*< zZMmCxte1CRc=0UyTx)tQ@;6pPGg2n8-i-dYL-m?SJbr4_?~w9|UMlx@lsQtQN5V(Z zSA#Hdq~}#Kb43C2FIb^SU#F`oxe}_>vuYEZ0qCO4f*;}_ReF)TY6wk-1@a?z_)Nn2 z#Kn0PNXSl16J{mEGh}bQJufm$&Zk>5)OaI<}tI zP~B-87|%Rjt1{}_-Kg(ov%Y9C(Cgb%)mOE{`ldULvj)np<(cff$eeh6t5kitkAQpv zoKW?Bk*C1(P`t>%x2iAYZjRQVMc!qb+Q>a3^cBVW^8me#LJ+1nQp(9PvC-ZwBT%2o z6SjPC;{cv<+?@9J%Czgx`(`=)c@p`NBW~LxO!rlH_ec5CBS+L%C;38AxWaB^;|>l) zViLIq)qf-(r6S1mI2by>m0+H2$`@?O#uIzajSU2AWucL!_ zzEE@Y`snh?R3&*lf867(QWs34)NVX)sy|Y%zBf$*> zR~iCm9D;ww_`CjL%AG~~mfp)ipfwS3FI&wb5}-4xH#(zk$who2ZIk0rLsuRlXVZDt zEYFZU3m~NCMo6tk&)#{<-wHO#yPnSo{1ExFMJq|7(dVFw*};|- zyq&+Df@%DP37^N8sqYKSE2=V7vDk0 zvgS{*L-`0#|Mt73inApa`;mm$2PF0-%bNdV#{SWFZ)^Gy4oCGK^mes87))!bR?ZET zI7j-gi3W2bcU|nL)_VF=s^4#^Zr&FvBBXxFZ4{71Z3EL(O>O_R5&#*!u6n(#x;d%p z8Wm@pGja<`;a?4Wt9txJYnP57Nhe7%P?FT!ez=4rPj-UkA|`4V9SGEjc6rhoO?na? zz0Q=J70x~@ZtkmqrpVz5e}XWh)KW`>-$Cb>3V&YHaz)i3c#R^x?)WiF*?i!)bYs`s zMmBAye`}g=3w0OgZ3;g|aTQ>kHwJ3g*=i4w8@ya$#Pw}|llgg=+nCy2_@b+;(Q13P zvF6~QhNdKE#L==Lcdw;%V=g=eqTQ-L^EGFISZTnDyQAVx ziMu}$cXHhQY0dj2?SIaS+52GFT2i_(r`HF!g*N2$+H;p}b>6RX{F-(ve9x! z_@c*`t*mb1R-nVyzbmbOJKp*!uv8eW-Pxw~yV|sVcbnF~*QWLF$6EivhTIQT>$j`c zzb&o*fXbl&TLg*o-gbq1Ki-{1Od~Jhbq)3li{)|1+$*N`Trs^Du*eX6i7h_hpAuhf z1eQPB7;fCMw`RB1+MuXU@`fKz30jXhx9m;eFfpVdBR4AYfHUp0Pzn>^0Fvh;S@TZY zq%8{K16*}@KWW_fE<9c>y($29T?mE#4rEZ*Rn6&0;1x>OPT7?6Y>&OF-v`tUIyWy9 z>2;)EceuOlKo<7g6g+r_Eidieyl(F*DcH|N3bq@Y4pOk|7QO^iXx0`XxlOc895?>l zU{ADd;1l|c#j;+tF80A)gM7!<&$5KeExGG%QhjPw^kENs}_8D(}hdKA1-cEls= zQ5x8?^&&Wy|4k>;Xf7c;zj#0I?ft!RWDk5IKQ3kFq5fw}*55bZCq$3P54al>pBIU< zSyDxAm}5kkFL5K+jW9x2O2o(w=c>@)=9>xXp@M>qBk}KI_z%FJy_O7voHyt*@yE}a z72KR6{&oEuQ9*>#^{mg(vbpT&uc$}W3WS(|CXnB*V-(a!q*D|-F_&sI6_OzFR z(SEd{4vP)aRDc zE)EZuR`r@x7rZA~c%9(f?*6op&?jB$z6UxbnxeLH@f1u?d&Q}}EGqnaz0R>CzF#@Q z+>rK9$+51>I>sYQ@@mP3(8ojMG+Iq#EwT1z450me&rRMjw^0-qU$GDz- z^CGUKP!_Ywb`P41EL@IUf@S;uNBqsr+>w{HJ$T`DkwGY&S??G(en4nn^!thRt>Wh4 z0Ph>k2tB;gDgsfdhbV=+QLF8_F@1S2v!^@Ukal?Sh$g|JkTOq`+-pHPxtU$XyN4ij zNi}vpVDHER_4&@4G! z*uH-m4w@B%ztX<`t=iZ02XG>@SvQ9swyl1Jma#I&idc+0GKrRrAH}1Rv}|44QCjw0 z640_eWNoVz)KFSBik7WQs`+SX!$-7iW7<*MiW`Y1EjuPLY1tIq;Ukyr0vt@(^(Wf* zbC|)90f!;X!aD-J?3c>=zN|&UFGAA`{Qt`~T2R1GtT#~a55=ppeg-i+cOfP;zjY9! zQZKkfzW2XaYAfy4qJQIG+Br$ZS@9Mmw9ejW-`uoLXikw{C+w+>f)#%t zx}ji@h)p26QbqdPC9JET=b^zXqVytjON#0m)FlP}BVC9(@bDMVpdd8UNxvOLE|Jdj zyT}mA8(px*Z_K@q9Oa@$_I-kL8=Kbgp;YGX>DldNYP;2>G)*#$+QZ1)`K}rKY>MRY=^?7&L26dB46Cb2m53A-$ zHyv_DX5Xu&y71vBvHV#|K_-Z=!!qgXWV+<7;N>&3ApIs*e=}FAv~hU}{UBf5-8uDn zC79Q^Zc?3-_vgtfQqKy42X0*3DZU28CSi&%AEMUe*fs242}_0tVt^gb%L0qv&7&{n znBp&An4(=aS5|23F5fPzb~jjscG)Yxk=0tQT9OcdB=KAG+bsKJFOd|_x>A}XoLuCy zQzQlgdYRU2*7ah#{jU@LbiY#f7(}Mmg#8zFYeKb?8hdk?kx=sd1&pr1+ zSK14V?HZT$1$hYaYL(hn`!|*4VcV)MNV0@O4=&>U$?1@F^VWnnM86Zqx77N#t-8rr z{pkoNC9HiOFpLO>n!5%$4^tg|Y~{+E>8jkHe=GNAyklQ`tu%s{SLHG71ymP;S#Xg1>LvB4hk@~w6Z<&PVm5;y+w$vF zgij?xc|5{UiIAZpr12MJ&8#9;f?}1070|XEWmy(9IIiF=uNjobPW8vzb^9ri{c9ut)2+nAF4rt|OrX+dg)kU}-uw2p;Fjvy+kK3yN>E=Dohf{`o-SI*~bSTmI&8=s445_?50~wClq@(-^pr8E{R#E%F5w zh@vu5821_hVf9V#<72CRM;aFC{GFdmi+FgEcNS3c_z(6^IB=9+vP-B9g8>wgWu5>< zNOr3v6Sa1tVJ*zVoK5IAC2f4@)q0bhBV+e11T@(tx69tArSUj$#vU&X}<9%XI$DY6WL@DIT3j=iC3Gob17! z{Xdg_gDaYyk+qY+%0NOEG5+=9AI&DMWHne%yNk~o6Vj^L5aSMsr&azU3bc@;89ec+ zj|280lFUsMK#KF%=FgIMXVmjEOH&-x*I0tXDCnIc8qQWpO?UDLF%V98e9>~wGVHO^ zYFy3TzP_fVJI9kQ$gP_%FHbNb9zDM2DuSKd z&7>VfqL_C>kJ_rnklt21kN|ZVP)n~NWi)|8r2{b9HDZ~{D>R+n?}5$?V6GI#T$bRO3n-PTR3OTIWSb5~xt zDUT=qx;3~4Z_nfX-mL8*2QO6haq)CeBfJS}JyEq*@Kx#;%vKy2pNsyqJ9u2<^M&7! z*ALt-OKuA`BZ0ztQSrMQZTT!ZGA}axN_2y|tcMgGTVMiwg57P)U**dcep_y^(Eb{Y z4${kq85Q4^yzH`%$6cIZ^t&AkULDRwrDyKS>T#Cf#rkv;Vcy8tZ_lOQ^f8nwfXwuF zXEocFcOi3beY+}4Au6q9o8#lv8sFgE+`8%g;an6UcDu7%W8F=5+v@2$xu zO}lJ4%$D;Eed+2FOyq^p2I%8bK~Qj zLy$@~yCZp79|Z=9`qK%U5yY0gM9HGsSw9~%-O5~1%)}STY$5m?BAFsb?qW#q&*x=*7`%{ofRZndIG0r){hfbcP5rwyN3yHl=Yf!Qfp?-kctq2rms28$ zDUxE^?0VUc1rU>gt@aT<9IMgbzK5elZTeZ}yruBzr8=LHLWRT}y(Kmu z+92S16u?yU%J7Tm<3TYU!*)fgWR;u=@;#~z@~tOO$al5m?(D{0Chtu&d^}V-ClcDM zDjJ&NI?OXZ8}h6l+VmX|6ie^v4Y0VVo~C zJA>K*=zZB4-oye+P>h30O}O%pLH9LU>Z{;HG<8NIbT{bVbvKGe16%DP5(#~~t~a<% zq*v8Ff+D959?0mOBNvEVe8a5i%Hodna-!0|gRb& z+wT@N(ZQD1F?n?HfW)*DQ{7wLR^9v~F1dutUj6>A>gET7!w<@k~u3z$Pn!vRcT=chPC7IP+;-re5nz{?h$psd%ld8r_ z?2#SBUc2-He7VO`d2}-JKvV5T;Lo&3PpccN0N!W5?!tZ@+|?Cj$XPefVu zx7Rx%jq+PR<7V)@Z+_qOz&AbcO%Ht21K;$(H$Cu84}8-D-}JyYJ@8Er{D05`<+s1| z`tTXi;zf=>-E_ymx~Fru9yxE%z;Qpl;EnlV&n3|lLkec)&b%>qrrjH`SA@#SzIVRo ziM1;#KUuTx>02JS;L5+`_5S4cKR&hi`0hi!o~-}rggOpXt$u-EVetZc5r2aI!eUSM zvX8&>!N;i|{owF{E-(Knd)^N}o3N*JI9)JDdyuRV6JFnz^};Xjn0e{A z01Z=`MU%E{n@%Z_YJ?i^z}bvKKR~~Io?2JVX%09cJ|aVUr}LM z+&!zsQ@(-j!4Q zzVbWRH@eNw z*5>!t{J;EuzW@F|U%hOo=FPmsVV0-t!k|4}wY{Lcu-NZQFR8*vUlarvS9${C_EZGD z!Nv9pU(jCa3ssa9`zk8vMz62J?)L;d!TG*G&>pJrdkTx^7Z#OyDtz`p(C06l=dm-; z#U5|PLVCZ%Ug{;Rusr52^v?^GlX-DvD80BeP;f`c7c49Y1!h+FeETBz^?M5E^zc{(@ip-Fa3j`=X$5Y|;lsHOC{EVq%VWGE7%AXbVdn;%7 zJ*D17xqiRTU#ULh^$%5e7ZrFGd4mP4q+lqZ+*O4!ceggbu5Esu+x*ONk$EEKj_R(} ziRK{p&xwY4ytIvxsV#o;Te^0wnWJu-^Ut*Lt?tMWUM;3GSM7;EYeGWtm*7Mr!HMR4 z+=*rh?nJ{nsK%?B>tJQew-_l~eOF^A{=-xG8@4GOW!m-56WWZ-6I!4CCwNyBV>zL% z{N%X0wU;D39Jv(j7fZQnU3&W=ZRv%_w57-Re(aJjmhQLqt~MnI_3SN{k(r}Lj~RRA zRpYV>i;7D;rE#}o(&U`nDQWhq`JM`Upv+tBt(a$@>o2Tes(LC)?B0qJ&mwzaAmH(< z={>j1QyR3}{oZ-=gLCbr%r8$#w%sz`;+lBl=HmA%^%9GH<&~siN(DU?GA&1@XQq!d zeAAio%t;oFij-a&s!&U(AUL1JGv8NM;>^#VQE+p?%-kDh=g!J6aOId^vuC6t1;VOg24*et_WM29Z)`1L|Ufnafl zr{u~^&s8N?c}9&HH709JY0*_9$!FA+W3L)La%4%C=c=oUipG={7iE-ri~LkKgBGid z1B(M0(shL;1(Z-&mH`O&F7#xS72c`Zl;Qt+`RjRSsJy>UeN_kOH3l42%sV@I`3tKG z7J7;^%6%nzhG%cYLP2j?;B03~Jws*888y4U-oVJf2NqWpXZR|LJsG8;pl8w7$u?np zfCHYd*>I^-L9wT-Y(!@IsLb@yYT%i=Uo+dnipBGNRpiOa8aYyBT3Y^f*J=luvTu7U z&VF4zvip9`Yz4(-`HU#``8@()(nsr^TVf!QCR91&g>bS0KwZ9Wmz*r?Qm?1%>#pCE zo5}Jm>u|R*Vj`KDnIL)`qcU9tY@oG8NCa<6+ugp&sS!N z^|yr+ho|)HA}4--;o`I23a}*r)mhJ00a2AJ7?fa_mckH6uCt7V( z{XW_j$dEH6am&kn6&c0)OeiRnX{N91uUnU5Us;)cW&Y3^cE=ee<7ihHnBP%iukU0Nf)LiZ*Vj=h8C=4>z5+Snd-$M7I*Lf7 zqEM-9>m~9b(-u5J_d1RERel-vjv}^Ne-NiSiqkPjDJ}IH6SJc<(y~@(-x5yl{!lUK zPJjicpW@q&xg;vp0m8}h^i(WVAmC)-0!QLRzl?ydcmY0%kl+js^fBx$=q>LMQb@&P zz)8`(3m8d%X_>Fe>;*5RkdsyVBuT$Cy01fM(5fK~En+gRkkh!R@!g zlXkWd)#%8!?csKyLwKNfh6j={tqltOXFn>er< z=~Ki5&c>(nDdL%jv{>0+XWNw_H#agNz?^Ed6^SBN>ZxKD78UtDYJ3wKt>`-=N<8IU zw3O*oyir#w%zxp?Ho2ZWYMEzVVR3v>>XkS}bd&gcW=F5s%J6Z*Y1i+1;qyUTi~PQ- z3ZYAmO&_aT1cknXZsn%gduM@fk+(#eKQ28>r(0E&mT`p3@P&evpT<_ zN)MVlXdE`gwy!eG)hNqVZVqL8ur`+3m-n7b$LPt^PDf`Tf!;mq9 z=Pk~d=l2F$9UME%G8VlA_5h#4INJ5O^h=3%aRG>aVJpNbmZQQk%nQGE=@W4VrUr+* z0Nqz+;tVH=-)=*Tm8R!c?kO*x-|;{KzKeY&9@)CYE+{Ds7IruWX2ePeg$kSLFjg!4 zu6=F6*UEf>Kr0$etgbTUyp;vA8+Dksgv-rIS>fUYaMP|3iKd_OVp+kHQxUYczA?@o zHOjcwj^BM}XB#)l<&ec-0co9Lirjq6@&xVF*dMBd`NlppI3GSJ{ukQeI!Ozu>vDV0 zXP-wj{oa^+`BGoDy~8Su9Z6q;ycU+(6{VDD;wIw+jueV3@o-o!hA~90%ZH{(fl#mf zo?@nN$<_8yz+)FaBsxZJP)I&^rY8_83ub47Sb!M~O`B_n;ia&`K9`&LxpuWBPM)P` zzS-Ge1_pb;40Y}xicbdlv?`WO`*aSO>6}*JouNu@jwX2XEne(2cIvv&>k9?S7Tb$B z0@?Kgj;Ey1thXKNCo7xgb0e;JbAll#dL>e4)iv~pXHg|&L{CZCVpYR9r-RAc5D+qy zH&7rzwV=oc?H$tL(2BIvj_Ii?fXgRMc#Gs{Jjdbp&$+R%Y&H;l4(wNR=&?EUY*Asr zBZI~eQh>hq5; zD3~*Cj>qrgJS3bM>Syw4=`Q)(h9SlXup_1_pHf$T-MddNWEzy%ixy`iL_4bumtFT5 zwrMXetfXr_#)vyOJe8}d%%s)XCOm#-^V}RyX(2OcvH%}QMRV=J`EXkmmIUL65!6=d0A2Rpf+5A)x27G$aRmDQs?J=^>q703XHk zJ?VOmWLoB3;9<6?bv4+2i!Wq{-y~F4!aT;i!b4NZOH#M1tE^(-|L`!=E zxv+|y_EK^9i&=#sSrT@WjFYfdPJg~zEZhIotj+whZZ5%o3HSY&zZv%EN1L_7n4e-E z!Q6tm@UP9w_7L`3>$`>}{AVO#b7|+Clt&`Es-N+PlqK zGv+bAZ#B$CuQqGfW705Ln7vzd^Y->;t=o=f?IY~NmTzu}1J0=2@hMX<{R%_@-)GUh|CEAt2# zED)YZjt!MTzp+5C2m<02_&nV{%C=7~tPlpxBH$pq8$cu%Jjz}Sq>xQkD0d2AsKSP( zvG0Y{WgP1dugY%lFX$U_iBA8c_FRnE zzc6epOZuHUgLDbIu+X4OOYDOu*hgeanEdQRXSt@jrl;k2{kcL&gq7VRa3IeUER?eW zGtCPNP)T92TpfE#ZuIzzK-tQ3K=6t^(`Hc*a(0!_Cl|ph~l;1 zp|@gJgT+#hd#7^m()Ld@{OiT8*LF@6+p^22+m^ZY;ds>dNXWckCe+Im+vu92>?3;4kGYjY&PtHvR(`OX;{JQPAL$~J{{_}#mo3^WX zWriEl+vGvf_pZF)T1)k=s}`?!O#aDhd0k#PP@SXdWjU}^w~s6xZZ9uf1g>fF1>1+J zOJF-tvn0dkw{s2&%0za}I?zKiemhWmEIF2#P__%`!3?PC1Xd^?GR&aQ;@_s9Y3C)xGyP6x_c%p9Crgv)FLnC!@#ES% z80!iB`)R)W@I4iKJu(NcV*Z7Z?>(5eF|#neE=Hh-}NV8Trp;=pvJ?LO*e^*77ElCamQcRqF(;y#2CKhv0Dru%H#X5LbETO)OmvfBEa$ZH0IgbCQ z8O_=YW1F>+*pFj=mCpJc*{sdMyo-Ag_742K*b(e!Fn=8pH`DOHB(qt23cnV|6SKxmxWj#fjy_kXM^z3)yg!b7NC$x+sC$ydaIian?FZt*R?NR)S_#SZRg!VZ8 zb@=7t_fPCMj*$oEb<&I`Y{=*2hZ#@YclV#r>iI4qY!~q>4xZ4SJV03U3GIBoUm?z1 z($;)-LhFm|JAOjDmH4IPGYt13;!P#&QS9Flw;y=~`2G~XPUQ0(rie8E+a`^=dnwyS zyE-Mcd}VVw=}srkmz8biVcK67-wZ!!J$0KB^Xur_^fPVAH}TsnC(-`0@Wi#W%x${UvQm%&((w)6cXe-^6dToJ9M}!V}~EZ+uIA zt_O~2z>gZ>-n)h^-(oJrSUR<6`LxY6TbRdVaqqx3{lxB1JTda^HsW_R{5ncw#`!QI zAIVqz58)@al#v)NZYe|Z`vfEL+qzeHX>Kx_!RC!k!ae}8PKQWKTse`!h#7<1}XmX1dHNqr(H*N_(4_oRsjWDq# zOw0pDUCp{ZNYV8QvTv!! zk4Te3Jzj287fCyzgZ#|8C+2PXnRa5B`F$Dn&Y%yRm}!{FnDd!W`GzfF&!oK>^Z_)gid6@5Fet;1_)0knV`)t}~-coj3BXyCo+WMR2@A?jV(}EW5T8w<# zjqe56-Tf`v)j`%Kb{Y1a81XZW8D_fArfudeWw$j_7b&Z)zghmwJ6g1wK#O(<_TRDB zVZ_fgW|-+do3@#^l-<@yU8JnG{$}~rggs8Xp1^(%`yfXAOk;+b?z3r|c}v-CjnqZT zYU^*7zoxE58@1xAn;-t5McaYW|1(K@Hq!j{4C;J3<(_H2Gk&P|#c=ww1oIGmV~ezC zgE8+Db{zMA4ExX6Ph;-F+)6usXxRJtE++owp8z8bTfW8kar?+a@|urZ@)g@OpW*)_ zUd6o$a~|dz%m~c)F-4dtrvES58w~e9f8C-bnqT0*3v)4XB>ofF+cCMnV*kJv_X^S^ znj7z9k05*!wuJwH@QV!d9qeLEDfd)mb}p2JGupgm)R}~YX++pl)J>dXRvT{c7Y(-; z7Qva%^>BBtz{^VHS`kI~Qg0y?^bq8KD4dh2EkJb+eg~uJ~FPhq*e1eH|!-Ml`MIt$+H{3#>G6{6_MUk=Ze;f(_I5ULD?Rt!inFu90 zr|0D+^DTGOGaUKOY14CW&fvQgzB_LE12-ZO>tc4w?1r~-fy`gIGZyhGnb0D>DEF-< z|DA9jE+kE*$0K*@W%kQ2hnaGrU4+yu^;^bSEY(ZTTfJr6ivxSlu}mB^LL>!jh@|){lu9!0)OAS1vJ{q1(8m_EYM;qx!%rnoTfig~NKrFbEvuSY1JJLwhVTwvw1 z12Ie`Y25C6L*)r!itUdGjI}C6%GddHhI-QHrP~9Gk+`l{px6V`;JXlR7Ne&m7lZl4 zWGeMmAY2ei)}JeX~D5r5`#V6kTrtVN2sS*25c=#>iukpB?&2H{np06#-4^Dzdf)xsnZ|2a;<=2fj9+z#j*?QuDJ+g0kD9|D^&&525)TaObD3h5~kL) z*>1JHrzVfh;KovY!=gogQC8T@Di}-_v>!9LuR|3Q%TqFxx&=LHf>j7G z0KG98%Bb7)z$`chO&;y|4#IM&u(Odb%+O_m!8#`WK7XcT za_$7#lhB|i6T%LQT@i35uE8|DdjX0Y0>J`iN&!5|eq^Cc?WRUZ5$wnnZNp#%m*1`F z>FH(_*m;D-%#PRX-D3**U~*R6ktWh6J0LuN!j2}g^VxP`KbFy;mud5tvE1u0#ay@o zotgML?q_ss_g1dfePPr^UlDYN&hDkSjmqq^sE;Vl1Q`j@$06ahR4bvB&6+-EDkJYt zk=aUQfpXDfE_*V6@VwvpQrEGB4D7T3RDTc z#en#Z4glR-@wyu=(DNISkXzM!SpC zZ3iI-cURoPSC$%bt+ay}0&YsKNn>jkfo=gfL3?(0 zc#Fr2q=Tbk@ipdgiitpVeR@oZmYBqZi!ndF`weMV>3$WG9y^?+n<6>U~`jTU6TYD8b<^3vFl$)AwS0iUXl$+`mZ@0cesa)qOJCL8;71V^T@wsjmf z{^dqaWtQNfMu8IIWE&|%S*bc!xdaC_zH@*BH^~k!aytgRo5J=$L9+~$^9IoboNFMP zl3Bjb=N43Rrh#fs0@KWmVVV*{d?pK?=?Ua0L^D8|JV*d;Iq?}qOGH_94g=40gJw$B zAeoApSVt{q$5G4KF^Q>MUnwlO(@XOdKIy8MVW5-Kfm8n3itpAyBoi>x_<9Ef2sA*r z$lTaE1h69fBb?&0#uW6>=Zmjc0e1NK6=W4X81O11QY;HrhrfvknnN)b=gL$wHX8*2 z%m-^$O7XXb0x*DTlcH*K>#Go5Lh`J3s@a?EhEz31q~TFm@R+sxN=o9#2D z%*^nKTQ%+GKWf@Q-U1ztxf*jF<~B?@W-(?y;rC!iFu%l1My%%#*s%R-&thK2?85BB zB*QAuN8S}C-+|aeFd3L^%v8)QOaW#F;dfv!#nfSbjrl8P4Q4%NGiC<{)-LU1j5%Iy z```38ZL>ej{xjQY_8%|Qsh`=8X8)M}rfv4Gna<4jaw9#22K5si)bcw|w_@XOjW_`_enEqydroU;M?U4M%bTLdPqnr*<{gOrY z@%G7%8IH-W{96>Wzkcda0#YJUA@Y};&?|-h(=J@$w;acf@O;*_>~T67QF{wgaF1X;;z@KwCP z2%j~3nuH5NP_VFYk?g3Tq#UZu{x$o@9A~rN%z0z>x7q*ZxalVxT!m);Pggvu;e1x6TsVwL>u}jd$r5x?!b(F8rvlB9B&Uhc=F8^`v2cBrr z_8RsM!xq1jnWLl=Gj*kIBp+)+x;nnUw+0$NrsiqxG%#WpKcn07{biJiZGApd;zLCD&&2yQ>)S ze^y)erAx+NGu(c;{ab1Y+po3{9iC<%W}giHQCRA+Ut%9oS~0Y=uq@!Y%YK*Lz9ic& zGB1nfqH`iUTOkK?1ExeUAOblk^Qh zmVXr?U{$K6?R`XBw*fA>AJOk8?o!mNR)UI45?i55LeHJWK)6Mk(Ni*|Jm@GvNL$30 zWr)GP&}t8)tPE8w7EpSZLTOEe)H}}`oZ$;h2k8>+a??EX%+DF3R1(xsRXkQeu6anD zm@aiS>o2r;`I)u}_uJZftav&TZ!m2$ylpx&U(;?oZ%&rZte=_R$>N#$ne}M9kDL3P zS^htHsI}TsNQTVKyxewJ^v;Z%yJO+#+{crHgPSUiW@V%4tFIhEhCGIgjHSI^8 zHEk7nS7ZMYbJ02AMg24_hJF?yZZxx2E1ce8W{_v;1T z+t+dqSja%j#g2hTj*{>XU6eLv>2MnIsMHA!)dTDv(9S8!&+dr;|^- z*v!+3-n!V#vrz1)uU_n^(=1j)LA>^!;+ue~gA7g))Isd8?)5NB){3Eh^~p)e)^4o$=B}?;J6khH2uR_db-1-hm+n2R z)=RD3Q~OvwDc0`RW9WY>6r{UJFNu9f;WnU%vr6gNBb?u(i%WAV` zTa%Mhto@TNpo}alWeAY6UX;|y+C$u(t(4k7>D(?>Vp14!yC(HWy2v^KFfs~|LVle( z16joPLKUZrwR2Mcq(MnpNqWu~TAkLeovhY5)}*dIx)oWIx^=T!ySkDFQWLB7s@^mv z>HiXU=5bY&ZQMU|&H#r+L_S5$IIR5B|UEGly; zEOK9q(#ndG%*s-W63q&W%F4=$$_Eb4`@PNr0}npW^M2kx-lJcBXRiCY*SYVRIdjkA z=B)&IDl=sJ#OiKrR84+r9lp9#!bu7nH&ZiXbN)}xw$D5 z-6xvZ6uTRgsj7GestHElR>PD=rkN&_(QM!RHa5B`PZ^ukucNdzH}(!Sh0(l5V?CvT zv7fv2b00R(trc&jDy3V3Vr6U^J+0l_s=>!8lwU=pC-ER3hrOr-HOTFfVFB;+IX1U2D;aghNg6*&C-~SltlUn z5sbg8?)+^kc4E%Khv>?5QB`p>cq;b&ma1ftr>a=Ig58buDo=N#DU?-ikm@KS8yY>N z(O0;WH0xYZ;v^GF?rpTv){>v0o_k$`kI7_k>*?XC8ce}PgVLuSJ%oA^Lvm3Kp~glA zlc%52qq&-GGDNCf%!;ql&`qgJKK1N*xViOispR+?lwRzL?~wm}W_HO+^OTHR2E#)3 z%#{Nz&O1y7n1_*7rKqhP1B}ibz_?`Xx^*=5^z6WnRX@aJNJz!0pyKsE4Kk`LgUsZ` zAnQq7A7TdAHqdBYMyh?_$zZF>MFt$hp7t^;BN%i(=BW%i@BfP-Cr1;3_95pQaGpvh z(p&l;hg+BoHZRrG)-llBox{v6iea{0H^|P$7?d+D4W`WuAA|dBSzTThV*;yBj!>!( z5jJnmL1I*bl>U{2q_b{_bYO7(D$T~wF!=fTaWv!@0M)vFU$@%3y@%3E*X3z5N2gcy zU7pooUk|=?{QmatERCIgR3)Lpu~o5|g5{!g7gRmt(NcX`#`ODhs>$eM&&d#4zj@{i zHfFsUf~>0sZi>m!QSo(8FnIX58Jf5^F(jk}sX=MpY@B5a;#7kS2iY2StIuDpk=TbGC~ zkzJy?bnhD0HN0yV-l}Nr+O2Cu*T}9>UAtSutl_+>tgF>(?PiUzMp~n+-MfW#3-8vY zTi0&ZZr!@^>auQ8-MUAFMTAFmiRc<(jp!B;5fK>?712F1EHXT@OJvtbYh<^`h{(vu zsL1Y7VNu~xU81^1S);l|MMOnLMMZV*P7%A4J#SYdq3$?gN)NGkg?I%AdxeI2@z9i& z7JkRC^g@~RUL9ipyV|mP!bDkB|35$f_s3E-W3b-;!$*Fp=|A$T&Gk!EQj)6xCfY9( zkn7Oonv>v^+Af^1pV6tjY@(+{uI=ObgS@zpXCJkfBmR_sJNma<<;572?dOi{Ke0HO zWPh=VB_v{;!aG{E+gku9udR~ z0(pogZmubrs-&FH58`BH)#GZWaKcJ1(p|ub4W6my__bm`(P_WV!jTu%;T$9vDmn9Z zoMYw0@?x$}Vj|gol8eT&FE}FG18ESs+$6*GDg8Ag;}6$Dm0DUp*E*<8+kL_9J9G@` z6xzA!)K-t4(Y<>2iE+GfaZudgAw%Qu9X32+#K=*JqsNR*8aIBzwTY7^r#RlwICIwQ zIdkXTH-EvxMT?iDEnT)e{r(jzSFL`aDx?2T-&{ZYhTETURP$MomK3>k()lb%u7so) z7Q@?c9o~U&;0$~V1yBO-!gp{MzK8eV2RH{e;C=WJK7gO#L--la!%g@Ieu0nSSGWMb z!A0N@$#4mNhfm-S_!RzxLMVmL;4kVhQQ9$5CDy#2{eU3Xa>!p z1z4aZw1UaIxEF@Oa7cg=FcL;VB8-MHFcy+v9E^tvkPH)n-(7~u zkOEU+Dole^m<}^wCd`7_FbC$sJh%_$!va_ci(oM0_=qh!uO&3;Q*{>`7n9} zj>1NkkDi|C{1OK2Xv46ndRcntd~^i?13gI*O94+lVH3nlO!d=Eds4fqj$f}i0g z`~ttiZ}2<(34b`X6#WbSh9}@3cnfaBzn~1t!3Gs@2Q)CyCj8nn$T=X67Y!=7fjfAB z89c!YI6yY|KppUfy5I-(pg!CK{?Gs#LL&%(#?Sg|>zuXajAb z9q_x<&>lKKM+kvV5DJ|k48oxcbcG%;J%sH58V$W*2kG}lXJGG(_JjVAfjt&|7zV&5 z7zl$P4hF*z7z*)lFARg>u#gkdz*BG%w!1G!KDFTlI77tX>ycn|i&IXD3C!$J4}4#9_T0WL!kT!E|b1zdwK z;VbwWis3qZ1K&akd@v0#QI;2er!9C*Qa@P-NC1IbVaCW0?a zg1Rsn{2&bKK{(WhE^rTY1%I$Y1Ly_~Ap#mfBm_VdG=}cb1bRSI=m~)k4b6aaG=}ET z8(Kggus{s7guc)U`ax^x4?z$MZ9r~dX$u3P9SnkCh=cYp7&^cZ=mVF4_JMX(r_KpHHCWw0F5;eJ>FD`6F^ zh6i8`WWZW@1RjM=uo*>F@EAM}+3*BB2~WXxcp7%VPS^#z;Td=qa$pZU2hT$; zya0P)AMA$%a1ai`VK@Ru;TRl;6YwIu1bOf>yaFfT6ub(r!Rv4u-hemZEy#xp@HV^y zXP^Myg|qM;oP+n_1Nacm!$vZ zZ=nRfgYV%7xB)-HPw+F`gkRuS_ziBs@9+ow38nBC{0;xWZTJ_IK{?o<0`7nYoQ*Va z-qc_O6R04whwk73X7B_r@CMF<80vs8)CE7N2le3|@P`J_5E?-MG=?V76at|cG=~;o zftJt;T0;=Dfws^Nf}uThfQ}FXogfrCLpV%aI7o-V za6b%z6)+T5LOiU3dto&Ug9l(Ztbqi`fDy13M#4H61?wRZGGR142xDLah}K76LhnKIP=EAgv;q1G+7La7HbPIK0qCn}WArt&3HmzP6g`awqHmzh z&^OWM=v!zDG#|B~Z=)^IchFYo8MHN8fCi!OqHWOk(01rYXeTs>3*#0ZqW#cC=yT{| z^m%j%nv15PFQ7}&z34J@AG#dfkEWvs(EHJY=nC`@x)ME%u0oHXtI?zA1L!ey4SF2S zKu@4+(HGHm=u7B&G!M;0Uq&B9UqLsZC((z{Q|LzYRrF!>HS`hmb@Wm6G`b0W1Ko_i ziEcsPLbsy%Xcqc5x($5?eGEN=K8_Zk+336I6X;p=N%TGRDfAq=9ep2t8vOv>fqsbY zM9-tU(2vmF=*Q?Y=mqpy^dg#rUPAYvpPGKccUqKcTOoKclasH__ARFX$WSujrfTZ|Ga-E%Y}04*!BbpbY+mawr8G z`~?;8a3Jd!vfv_pcpG{NeGL5seH{H1%|;8+C(zH(C(+N*r_jsjcC-k68oh$*#anH|X=|w`eX}g1&%$hweqcNB5yWp!?Aq z=mGRc^dR~ZdI=s)Nw^fvk``Y-e~v3DM9CdP5(GfxgfW`a>)XfPpXw;$ScgfuRr&_rfq3 z4hb*JSPIKvIi$n=umV=XDp(BLnb^38{i?>2oJ*}@F;A8&9DWw zLKbX;$KY|uh9}?|_?lgK4!Q@PgXbX^UVy!@5B9?WI0%Q}FdTuSa14&a33w4+f;@N` zUV)Qv3SNcR;B`0+Z@`=I7UaX*@D7}T0(ckB!h3KI-iHt1LpTo~!N+g`F2W`F1U`jA z_zXUW%TNSY;3|9p*WgR|3ciM7xDMaIw@?D#!T0b3+<+h9C-@m|!Y}YE{06t+clZPT zgi`nm{)T_xHv9|9pd4&a0e3(Ha|>1ic!C06U<7Y4fe)xq2i(9H+@UUbKmhnbW2gsB zpguH(dms?}p&2xQV6Z@YXbByl6?BBw5CTEa3EDs?w1v*l4x%6oxLW|VJyso6qpTDU=B=$ zxiAgpK`Pt_(_uc$fCVrUHbMqG3~S*LSO<^7de{V+uo)hNEwBN$!b7kfvfydh20P#} z*a?rrF35)6@B};qPr|eC6zqo_H~@R#AUp?$;CVO`(qT5-4|8Az%!QRO4_3i_uo~vW1F!(rzW6vFH98JvdC;SIP9Z$c5g1y>*+uEN{!1-t{-;0$~T1@INT3tz)oD2DgoI-G-V z;C=WOK7bPV5Wa)+@I8D4KfuRu11`XiVBj2W7$^`9M(6@2=n5)W!40~BJ4Ap7M1mQj zz!SQI7xVyc=m|a$4RxRw_(E@}3w^*3VxS)Mh5FDB?t%W`53$ey20%j?2#sJ61V9`# zhQZJThCovo3V{$0&EQ^W4#S`Y3c{Lt7XF?O-efLlU%y zanJ$ALr0hZA&?B6U?POVB`~U^dKwxiAmzgAs(! zM;D+@+cpXl|8}KH)1^MtcyaQ*T0N#bO@E)9l_u&Kh5YEF# z@G)F~i*N}(flr|jK7-HUG8DlTxC&puHTV*~g0G<%uERI*E&L2O;TQN7{(wIrW-sFc z`ayq)g#j=S20c~MtB$=fk$BzY=$kc6|!I(JO+ffws^Nf}uThfQ}FXogfrCLl@`@R_F#15D8Jx9eO}d zh=yL!8~Q*D^o4%VA7Wtu41_@t2ZLb<425{O7ly%bNPrPA5=KEHjD|5V7Ls5bjE4!3 z3=?4zOokMg0#jicq{4KV0W)D1%!WBI7v{lzFdr7c{jdU7!YWt|_p{x309^wauol+A zddP$aVFNq_kHRL{4Aa@3WTD&OF?bxFgr{ITJPkWwC+vdV@C-Z)Ij{$wgXbX^UVy!@ z5B9?WI0!Sy=Mb8V9!962N6>lbQFIP^9DN2ofj)%3i0(#TLPv4FBM*HUUV)Qv3SNcR z;B`0+Z@`=I7UaX*@D7}T0?3AUVIAq7MYqsy@1f`5efR)AgjB-MqaVRVxCEcWWhjCx za239QYp_${Hv{@NwAAQd&O_5DRT!0JMdH&<+McFvLN77z`a?2y}#@5CZYg z3GRhZ7zUkTID|n0gu@8v0wbX-i~=hpLN^!<5ikZKVJt*J5_E@g&;!PUK~8bB{-2)&^Z z^Z_oLX5LO=-cMoPPGR0pVct$*-cMoPPGR0pVct$*-cMoPPGR0pVct$*-cMoPPGR0p zVct$*-cMoPPGR0pVct$*-cMoPPGR0pVct$*-cMoPPGR0pVct$*-cMoPPGMe3VeUs^ zZc1VPM`3)4ohL4NMRmJVXjDFE=ys)NMSxpVa`ZlPD^3lNMT+}VeUv_UQ1#ANMUYE zVGc=QeoJ8U@h#2b#MUI!$HV|L+~IRh7E889)hE=5styba2y_i6R-(hg3XWzTi|8b3a>yG zoP=#~3Lb-3Asb$YC*U+>_^|F^ExZlu;2l^GXCM;_;6Zp7Ho#eU2;PH@a1I`Z_u&!v z03L-8VH2E(&F~RyfsbJ;T!1XN2;1NiJO-b@khMRB%eu1O#D;$I0;5giZ6Yx8{2!B9A9r`ScfJHD87Q-l50*R0YqhTqG zfn_ijmO~Px!#KDf#={Dj04pIGR>4GA4U^yjm<($m1u|d?tc9tt4yM6+NQF$84i7?3 z0R0H|z}xT~yaUg}8OVhKcmdvpy>J%x!F#YD&cOkA9}dC?a0otx!*Cvsz(;TtK89m( z0gl5(I02X7Mfe0>f=?k23gKn=3|@iH;Urv!Q&0r2!WDQ8uEOi^1)PR!@CJMdZ^Bpb z7JLmc^Jz2a3sayUOoje14Pqe`2EcR}2s2<1%!D|Y1%qKW41qZ?6y`!a%!7O3J{Sh` zVK^*+1Xu_oU=fUj#V`t%Kq92UXjlqkU>S^s<&XsFFb?jA@vs6Wz)DDlRWK1&!z6eB zCc_$#i{n~>0Aq?t5 zIQT&qs0Ur4K3L%%=m!1}0SzD$8bTB_g6JsVFM9~O9h{GZLIObWBMoZ5WKo@uw{v`me; zZ%^v*1yiQqI(B{f?$g(27%uFYIrCD>S%#~7W*LgF&p!Iil(|2bOu6skjqCT7|0%uk z*ZH@UJ_`(-KU=R_*e9e=wj4wKMwS*nmXsF1g;+Xv2+QfXU~fu@aer}0^YY?OhC7ys zXS9@v3gvo);?*)TsLu7sL%vhGQ?BlmX~>_=uMdl{?ity9%JosV=1fT(zTkS|?$c97 z8!k*4GyT$@F@~!x#~OKvSy-O6OeOHihD+2jz_~5 z7V|4XF`kByocb|)i|dCSO7S<87dLFF(dZ1yyA7r4<^_2bsK`fm3G z`g31mBV*$_fo{#rEtDW-jyl(P%yhzd+IYcu$yn&~ndj%m%f_opvD-g5I-#*;hW5B?{Lxv4co&LzC&0Al2`%J;v4?j__u#SP`4^8Ko4?@8uO6S&YNeY=?PQu^QaXobtZQZpuN$Zac{X?J z=oYK`cE~vB&P_*Zu-WQ8%w+Xh8|m55%N)>iKzGwLvu9XCx0a@+Zc0p)I@GPR>gD0- z5o2km`glf|dbl<5P<=cS21jyVl1Hf7%e}3snc0|eaipIqGQ`}WVUxCj{*63`kyUJ+ z#vWeoaprcOOTGK`?%>|j&C7iRx7zxd+`Pw`jm@Suk28B^?48tVfVY=>oqKw?d%61u zhNz7)UX4y2nQ74ANRuzQcK7gF8`0RKr>WU! zrEZrx>vzsr>YY*WNc^-qnPGkny|(UjTQ_LOt35WHUDw^CgPQE#)@z_wu-iRrkN3zp zJ7M}zwYx{X80k4r-8N@_-rnoEAJ%rQt2A@>Rn2QRJ*>`kt7G!?@Y|Y_QRcojFMg0` zT6D(WUQ5gi8w_0G@8j{wr<*5gLr?&*r+?tGu5wuk7q-rks6>hHZ}2RsstKaG_;sHnmT!hDq(84 zv5T@#JzzYj9x|61%iSuBcTAe+k@Wi?-TYkG*rZ1{Wd(leTX$%Dxh=GFpX7;?zscOZ zW!qy1PQ3Q|yJz43;H#4FG=pj%0Fga<_8L57V&)bC^Im)X><1rTDEZD%IXrsG_?VPB zJ#*X6-S2;Vp-#Q_J$eopJa$6zq{*q%H*Y&Yly~3%y5zfCb?OZmoH{)t^TpF|zV+GV zTfeV=@X_48Z@%^Jdl#;L5x4z~kIsI4VeqiwW5-RJ{P32oCtf-E*4t;_yIikfqY24> z^Eix*`xbrmwQr003j&)>Uj4w)WB0y(x?!W{Ed~x6He3eD18ZJ>xA3!Tw|@U?@sh1+ zOP_2T+IioxlW)Cu;quoz3^7k_58K+};|re@eyj}}K7N9SxvpQk&cFUPe?ergKK%w{ zZ5uUn>ACkWUMjls!yV0FncQmK*Xp`hb5qs5-rB>y8He0jnAZlH8k-fhvuag6xKYsE zqn=kn-TEG*xp^?q%hO~wd6?u$8a}F<$=hA=ZQwS{qp8PO?#pfDlc4rDai^-vy}>>` z)MjlaTkccmw8=QRZYo&lcH?dC8!cHAkE3ntF2sYe%ca*r|(H2b)xc{ewWSI2o~tPcqE zYUmlSW<274DA%Wv8oozed$le1FuG;z^;`RwhhpjAPUvPe<4sdjQ{6f|99|yoEe{P! zoh^58@x)jAW43ew)27Uuwsf96Q&*m1wRpNbv|aAilIQDKrr6^x;c1WyX4oS-p3%oc zH3@M(=aoR`BVecT2KD(%7us*vlEfUhXK~|NuU;*C*>5!CrnANJpemlS%X4|Br+Qhq z^J_+04~v(>E?=A$T~3v^n(-)WUQ_RQOs?Z$pskX_lG8b>Vc;;J#^>KH;$YzjN;EXI z=99KuPuOxj2#JR;b&BF~T0DhSp0!H@xSp5GqnTWFn=g07&EswH7Kgk2X1>ZeawDG8 zQywfUkN0-nM`wSWKR2{he>sCa2f5|Vo(|7U;SCntYgauo4Jvo;@o*!HJRD!{+nb)c zn`hfR3wuE7=c>I+J;dnzC{0a0!+3Dq3k3QvF4N-q9<-!POG9H(d6->ZTA6kWOYYWoSx!W45{|}pC0+Dl zPtw^&dT1#cJRZ#7@{u1hkX8*wYmE|AHv;wr`C)$tx82dBnqq)Bmjwb#=y;1)^%d|lHssCSP zS^}E)5AA{mRg`I^s1-HSe`C==G!YF$Q_)y74NXEb(RpaB#`-{2W4X2+Ek$pjscyUv zy9w!fm20_ZqEES2ie{qbrl>FP*hW>qa_u-8bWgcv2&8_fKbp$>wc}C$CWNE0f#q5O z8e}Qge40^C)PfeYEZ5@DLf#p@U6y$tb0O-_yP8YUOf;l9@p%_>3aavMX1SKA0F`TA z{CNj-Obgl#O+^cM_w# znuq!a6OIO>C1^BSiYB1y9@-!EN7GR&nuW%qxo9eS3e7{$qiN64zt~P@qw#17nu7Z8 zr9II!G>q+LCK@Z-(S5X=Y)8>7v=l8u)#KE!Bjrc04Mk5-PnHYOFth}XMRQNm@8XGv zT18(cJ?!cm<=QNkGxJ#wXj%d3O8CWcEr;;DOVs;b{H{=Lmb0(%o^jOr73pFhP)s^# zT63GWA6?wSrd<>Nkv1(pgmR$iqN4~$OUBqVnXAo9vT1T1dfGVNdq0eFkGE+ts6P*+ zU5KVmv}rkL_9UBj5zU-p)1vS%nQGHg(NZ)WwWiv%Q)n!D9?e5b(V*$1HynR-9$GMy z^w7-Nq=%Nyv1yi2$~o7jSy6vfO+e?_v^bVa(P)-Sc{uJu37>D%GSL$BIGVZ8rp+Qe zaj{LyMe~-}wAPY5rl7<3|fFDqKU_BS{j;(Zbb7?bqw)& zsBsjU`l3zSC4MhaKQtS?ffl0XZseCodC^2PPV{BUjTXK_InlI}ln>2DFQR$qEwlig zC+VLezX<%$T`Z@)N_kn%L_^SQGzQH>Q_uqR{220i&8B6roQh_n+30>W54}xz(CaoW zXe@f#rX`_iXeOHY2K@xJzR7w*v(exr*2`Oz8%;z{lTHD;k>%`s+Ew&zn`RitdPi?a zKJQRImV?gNw7^K}izc9H1vYIJn))u~CEWik^=H|N7Kk5uOTyoyo>BOtA!s(5jeqPp z>dSI2x)3cuGg0gNq=P1+1!x*tgr5eKZIyL8H)8G#)LyK>NxvnvG^&Wc{Q5muNTA3;G0Q*^2u0BwsWL%|xR_ zKcyU~e*{+#xTCO#U5TG3cE7EMAE(RpYpnt=vgrrc-=T7>2n(O-H|uPeky zQ?Ih#(4a3^UugC<`Vs2SgSdkx5dIzYm+6d8fPqbq)<+w>d zMzen*pWdWXNGbMZ^`JkofIn+O~Lc4`# zqJc4_i=HN4S`v0NF}XqunuI@^gr-ic(8BO5K$B7bNu-OWqSw$M9zt&JOa7=8%}%M% zQqaUHywe-?pGv*ZLbOD}r&VZv9M{LDR%p?vI=w=hh328zXzGj#?FO1SoA~4(bYF!Q z&>#D9{LsYo3T-=@x1vHTLjAW^Xlg9w&#us7(UPZ0cL4U?_@im)DzxSo8)O^bh@F zFzs1Zp(UVsyhlC*4XR*0lYRku1I^=o<%h)&%}3>3@i)XDH4ht2h^6uQA*<9bmyMGhWMayVM)V!Q@(QfxsFZBKuw8I>(TV2V!pV3oj z3fgit{RLf)=A$_oceLB+wzc%Hxm;hip7n)3lu7%eUK{8)=*EXQ4>^x(x_ED@644p|3c59Q=g#xs15bMkL!G%Bpq}gnvDMQ6!FoQw-X;dhvuPQ zqUX>yJ9t+&+T|Jg)qKj2#-XpFv(O9ZDzxAL?SOVVLOY=S&|7F4sxBZLwV>C~Xw>T* z;|M+cKKY_=f5bat(R)6jU!&X5;DwAEG#)MZoN}VEmnk2bik?F=QR`yHNfGUWW`9Ti z*wyc;?;_%(+p!1zh(F7DXsOuI^Vmy&Vtq;cpDE`O(*KS0&=NEmEkzfi>Mi;a>W^+m zt>|G1M~lS%JN*d_`h)(MMmm4e57AUK2~|sJC(*xn*EgDro)i6>evB6UL%gMw>o)nL zB|Nt|3C%1g9%`+iozPq~AN9Y(yKW^MH7uhXs0B^s8PG9kA)125@_gtFG!M-|gLpo4 zKAMddqq%4)T42&N%W~3DH7y>^wCOy$GO$!qZ z=NZFjP#4OL=2Wc=Ud1x$p zPVBv@51NVwWKg~s@7=7=55NBs?skFsKWzWttz$ z24BB{z5zq(dM`I;82U8n*`aGtD~T!bV`2ZqGR=azK4Rmr$zVBK#&f~>($CkgpKm}v zUrRsV;J&_LgM2S4>)kiGZC1CKwie@9_4$rxU`!qu5oeAs9}a++@;N;S!e%9T-s{Aag4N)pYaL1B-#HG z=zDt}PHR4Ep^NDks`W|q`AyLW1 zw8dzA$TxtB+k28D{hRpSBK;p~q#xrf)8=aF#~4EJvzSQ#nzKDB>*0(rwyFjed}X{O z;D3$saH!&Jf8!`unxj-`f;15ZO>4VyoWwmuU7xdElI_hh$=NuvE;r$m#dhSst;=|PPvNU_4t+lBwAOZH z6QS#`%f`NTjGwlr+1;zYk?TrmD*T*Oxm z3ybkj*8=0$ILNhtXBg1}>0@EcKdf-3L0`3xVdr=;O;V~47#S}K#92lEm*=2K-DEHt z*;qL?)d|Kuu5ScOTV&uLUs|R$k&abcTVz#h3scX#w7cxHq%AIzULbQMuC}mZE5WuO z8;6IwZIN>fk8_RTfx60Y{{yap9;8{$cKB|6j9r+%k1ejXY_cCqsBI0}%bP(S$;{2@ zx53%i(wV3Ef7u30TU?X!n>b(2cliXtEo?s69uh;feqmhWTK%$K0*I8RGN3WSFBI|(sbBTMyuUs1@ zWucF(H>TUS8pC|eJP?`wPk2DRa*dx2|F(V?yGlgQo$30HoAhrR@e+vlMzwfV`>36| z9?{p=u@4FJq+N;gzwV0Ok3?c+Cw@jJpfY8}T%R(#U^%Qbmc zV%719JBK<3!H2fQuYh`yUbM`W*>m`{q{4C{KySvq~`mxlbwXYY) zI^IuOi7gq+wWrmWqgvgj$oOLIX~o$4ODSmuv?|vo*PfQFLVa50wWpP0Z}%7`}v+T zvZ*x=#>4crdu`Sup0!y|dDLFNm@}Tu_p0Mq=XP+UYlFhZh2UgJ!2c%x z8+}>$_wv`=x0{Ch_#RgV`JPhbcg$e+{Jcq{_VVN?vMo7I`hla$wSm&!mB*v9${fel z#nrZ1DfaDL32~wlnfD}$K2De;PFl4nWD<{C0Oe03&S5hP|6Y$lzPGB6r_Fb1#aon9 z(wjwkCCTMlL-s$lrdM1&y{_)Hw?Z-LNjsb(y}ZOdEH%?Oay%^!B*b-i}#{ab0a81AXO4itQEz^2fsU z4^njbh%Jmifi-Ng*aB+UlCb&Lu+78fSHqTp%?BHsB>RU&LpFcRIzRbMEYERMv1N%D z{eCk8Jz$e5&eyU*jr9#)?-uJDW=!z1|0u3J@)+c82*6#Q)3l9!sT{@`R@*-$X^6%ahE0Zue8iT3Eu===RBXZ6n%KPvN7J3@ z?GPLF*<_6K4cH*{S+5%7y?uMYAJTj6Ej zXxKLl=2+RE;1*9DLwdQ^P2v!=-nc}DfxSGl2n!<2)mD=CDr^>P_lQ4v%ki9)JsW#4 z_GV(|V_*N+tk@nCgMIzqE9*a2);~v)>)nR?=BvhOH9A0FZ%MC&xZ8y>+lWodGhE{H ziGy9(im~O3fjVzBaWa_ZZL!TvZ|``<*SrwKVkl>89!1fS01|K zN7G*>lIcsyoZ}z=(#&%0B<}K&y57W=v!PsLH)#LZ>(8LrrL)=Vk8L})(=s?}%WHL2 zUQ$Q7t}#7}vE&>_mhqF?6qRLlCop<3I zcBEWe>pVA5GhI`-Qd#GCk~@!o7T1M6Cgm8eJGaI-(fufy%a6>;)0K>nGv`10_yPl` z%7y4s*1$&WZ`;_k3w*C^hry11U_4cswSE1>;hWf&YgP2V_v+fHJOmjg=AX>mPr$gRSzMk-aT+{>H>gcYAq?@XzgNbNse-t-~R@@;q4OFLgE30b{K; zZM=RR>e9ClEmn~987sc&-E5WT0;93TVN1gnE%Apq*Q+i+UYtgT_NG4DpLEy&8C~a* zCC!ZzKcXtlAZ)v^EyOmL@0IQE9Ea)7;!D{J@H>UyOugSA*J=7?l@*nIZsB`AnrlPE zmyg)g#*AN`P4W)FR?y3)eIZV+_8YL?WZY1hoIP#~eyjS}G{pXq@+7jb5!-pOxZ>*C z!uSSh5G1}C_=d#TG0(r%9J*kOD#5^LX%og*wS)}}p7GV+l=a}8VA0Gsxq z7+mF$I^6H9!~Ckc$axkY4p4Fi+O)QMf7wd0EM*NLJdEw=5Bl(-u6BN)GBL?J3ExtD zkLl~B>rbXRRbyAu-iUu1$2a5d=0C{M4w7~rzWX_zyR0uqKkBudBFM&hMP*U!?NEaM zZQ3E>E@>NWRsPZr{!MA`L0l)KPk$~xEK7f}5^lcNR(U)papJJ4Be)hxAICV#9!dJs zEW%?6Z>%qab6aBau3E=g_(hMjX`IrjT4#KfG!7FMM%XlcSemo!vmNE5dm9SzOUKV% zUsIIg+H*=8w+K5tifgCzY4o@6kKS>nWN)(oDwURK(>Ck3Px}2$&+7YtIQ$F8+O%Kf zpw!jZ^!`P%J#+NSG<>7D&NcRKX%DX2_DPxLS*uB@w(7?L_A*zkXsP#k{1(!Odg|-O zcg%(x{K+JZ?)orkJCuN4(R-C=vGw?Zmzs+&XgPW99uJ=EO zElnR!x9u=ab(BTgM4syzxWcA!Xk-6~tq@xSF3vsC3nUy{Qa3D0qcv#P4X?MKXxcFuQ(>wm`;VoO?AeII`VTO!wx`;d%$q>eTV z;{}^5uH@&}lH*fswdE(_Va{+)sa2InI=sY%1j5e~U%tynG!@%9Z2JBv&x$O;#!qtl zNBYMmY*`y?Y~N+SmO%QlUmNJiCk)?H_^OX`ZL`F7^(Fl=#?#I?!>Z!kB#wdWh<*O@GJifQ^t=7NwWs*INE`4bmx#uQ%3)fCd`g|nM zY;3czJt+oP-6YTT&iKweWm}Yw?=^ha>wR6v=t~`SmwayE7rV9kda+@P!RE?a`nVs1 z*oG}xpI+s$q_Ll~1oky9>Bit6l2w(4ls^$$6t+}-8kBz~k!6UFcP3)5KfbGU@x_*n zZKKW>hHXE#Y;4tzz4UEc;7nAvzONA{VVh0cQllKkiB4bHrtA8Zl--X;JxrWwHRIIi zgW?;F?=5_LDJ;0wlWse0>gYJGkvh%7SAD#y{iRN;uoYw5#P`bh`Z~!mjjq4oZaB`L z=xm!dSRaSBm7{!DRb+k2Gf-3U>nDD3Rr_u!ODSR731bsz|A@`phV3af`7R$RUm&&| zY+s7ORX=_CUaMX{iJL&2c+Tk3a`iZp z_j%%2p0ZUtms*T15L-t{hmZJ`VvE9N-@mgg`I*@`#bWyx-)k-7d*mmbSNaYvl1?;n z{J3AnzW!L2^^<^Y6SivmZr6C6;fO1K>G+l4XP-B+PcPc{C8i0AeIIh>V|*l!9Q+RR zo97nawsvz;+GWOA@iRb)D;I1M!vn@D}c{X)oT* z_xUQ{{rJi~NdJp(A->!3HR;EtzTcKsr7IiURlB$+<8EcxUF91hh33Ae|5i6?uOxi4 z@ty8$MA^2^!*=T#nuPbSa8{ef7U*m_7>lD#~a31?OnvNUh?q?*>BVK zhz}nY4Tb#Kc+94)c4xu04)ni8X1UudCBBCCtgn}8*Sq=duJR4Rcj0N9cIIxrN2`33 z@by2#Ju-LmeZ0yy6W{IJ|MTCkii zl?7KD=(o)sRN6p(Sjdr(Sb6W1N`;pZoe3>C<)nE|4hLrL2eX%OKs?^?t5x z>#oWq?Y>3$`ZuqrK2}}6+0}hj3cVlSBekWwrMhnzz9B6ts&9u}={{cFSDs6qkMI9d zUU?pLqJ?{(YAb_mgB;z(UN?Cb^9_8fZHHWCs8P3Kd{?!s(Dv1q?#Alr%6p&;t^T(% z$i2DQ`2H{H%Kf_mt^a%bN*~L@H;`vOT+^4=@te8w7a~)_kFocv z&Y{HPasz+0LxmRZ#X{9@H&bWD^_$If#m)8A_?qjRDZuFZy2$m#KE|U$IgaRBpF0=5@vog-4yyRbbjZ(F9^Tq?!Pt6mEyY&72#4n8C-aFYyxazCR z&(zPK3^^ttxDa3SP<-83xNBaf57k;SlWnMfXYx#_(B%DWm3cYNk-1Jd*-t@8^(xQ1 z+t2lhCD~bVIbkTvt`j*fdz#Z;bJ=Bg>D|IzcKLCm&(9U_ZtD8=vCtV$4z4A>oM3Xa zu@8-%lUSj3((j-3ZQNA$&yIaT6u!A*o!d>CDFx!O-NLp=Hn2nQwvLxMXI$d+GcKmh zwN1)Y>l==IkCVr>^%dH8&f|&%vMRuK>cI-_3S~14x?8@?Mcbzz*68!)0`_WiLG}*k zM=}B791m})(Dw3OK4J^OR*dbi-QuvtU|YpKkDAjKg(hN~l~tkbsp{+Yd2{=n4(k-% zMMEaP$|d4S-_0WKwZ|&7k9=9Ud*6-my-T?-5`W&Fs(oo7$&_GA$JUbX29CAu=j-BG zm1n6FCbbLa$DgmU-E;JJIe{&m#5mUZMbfk4zcIJM@%za&7Uf4RVbV^C&hTKq%SZB% zd+KwEGwE*Is{vKpE6GEiX;ZkDdq^b#R~~B|d9b<-rw9)^%ss67a9v+D9>7-)Yo*dmX7pFg(mMvt}Lr= zA3W9BGO|8r;hXttjWI*tl2b5JwvB}6p03bFIJaxEu6AKdd8a~qLajZ0Q++vxceK6u zpU3~=*$S;tKgRUy>d~q(CjK`34HqgjdB<{XeZ`^ zAn7OLpHfm$eQr}ZeYMLVd!(MeqC>dU&M>bI%HIS$zi zx$gBp#o1TY-m+gPfnu%&ly_dMU+ePG^%>Jhi6aBoC};caD_7!LXoGC7$6Dz_+;8s^ z_q;2vso2%B_VqyA?OY2o)PuNPb?u!Sx*V=ttGsd6;Xi*L2R6zO=<@ z{NI19Tx;7Ke-B;yldG;bF#XfTRULbq-y%-I#d7Tq@zuF>6jz(;&r?($@jBL%yi0z| zrE=|IHj3&{T^wCKOq)7Z<|B2H`_PiTZQ4-sQ#(gif*xzWQ;q-qlkaV_4q%9vDFS zQvdb3I8}YCkt>Ge5x}xo_YqGVb5omECUwyFlgf4OIv2?Xov*I$#v8=359O*Kno_5m z#NFSLC-h34e%6f_ec%7FD!(A&Sokes4RXvktDoxPa7^Gjt04VX-qSpPI^T5ppVX!6+NR3M4aY9V?!RBs?^>pvATM>N&c7=CRjwFP9=Q+AhW|DfuiU zPAb<&#mhRlTby=P{VJX~xx~o`;W<1q7TeXHkMYA$!?I9Ae5hejs9`?ika5Mg<)MD7 zoz-L{@{zVFCB3ZfTqh)D_(!)*uNn)LqeuLM*nWrgbo%S}AGP>P9TV}laBY#?bEUqg zOJCoXQB`%6JT?;NW?#oVfO<$5$GN>RUUaQ3$Nu;f{*gVnN07McR-HfnQl@F8>qxrA z_$BtY*{|@#)#y0RNxKZQwO>KjX(Fs@%ZFJ&37 zi=!V`y8bL09y%>dhQb*nCpew^i19rH;077-_&>x~ZbU42Lw zN3KJ24GF^J_)q2B)J1$hk?(V>`^q*ji13D^ZQ5dKm&v+tUH($Hc>MN{vuVqvZWDBV z`nttduUiIjO2^x@RuZRY?Qv=z59bjlVTw(ATFTp07ss{jlwT{lZD$Go7x9-lHq~3_ zU(48%w)5wQ%B`u6IY9L{4tiYuz|l8d`)~VxI|kppX*O-Dq
    YyaIMKLQ;W5lQ>Z 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 ./includes/vmlinux.h readelf -n /usr/lib/php/modules/compass.so | go run ./scripts/bpftmpl -arch="${ARCH}" -template=./template.bpf.c > ./program.bpf.c -GOPACKAGE=collector bpf2go -target "${ARCH}" -cflags "-O2 -g -Wall -Werror" -type event bpf program.bpf.c -- -I./includes +bpf2go -target "${ARCH}" -cflags "-O2 -g -Wall -Werror" -type event bpf program.bpf.c -- -I./includes diff --git a/sidecar/broadcaster/broadcaster.go b/tracing/sidecar/broadcaster/broadcaster.go similarity index 98% rename from sidecar/broadcaster/broadcaster.go rename to tracing/sidecar/broadcaster/broadcaster.go index e7f8286d..74047974 100644 --- a/sidecar/broadcaster/broadcaster.go +++ b/tracing/sidecar/broadcaster/broadcaster.go @@ -4,7 +4,7 @@ import ( "context" "sync" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) type Broadcaster struct { diff --git a/sidecar/main.go b/tracing/sidecar/main.go similarity index 97% rename from sidecar/main.go rename to tracing/sidecar/main.go index 2fe87b26..ffefcc11 100644 --- a/sidecar/main.go +++ b/tracing/sidecar/main.go @@ -18,9 +18,9 @@ import ( "github.com/spf13/cobra" "golang.org/x/sync/errgroup" - "github.com/skpr/compass/collector" - "github.com/skpr/compass/collector/extension/discovery" - "github.com/skpr/compass/sidecar/broadcaster" + "github.com/skpr/compass/tracing/collector" + "github.com/skpr/compass/tracing/collector/extension/discovery" + "github.com/skpr/compass/tracing/sidecar/broadcaster" ) var cmdExample = ` diff --git a/trace/count/trace.go b/tracing/trace/count/trace.go similarity index 94% rename from trace/count/trace.go rename to tracing/trace/count/trace.go index b9415a65..af958d7d 100644 --- a/trace/count/trace.go +++ b/tracing/trace/count/trace.go @@ -4,8 +4,8 @@ package count import ( "sort" - "github.com/skpr/compass/trace" - "github.com/skpr/compass/trace/segmented" + "github.com/skpr/compass/tracing/trace" + "github.com/skpr/compass/tracing/trace/segmented" ) // Unmarshal a full trace into a counted trace. diff --git a/trace/count/types.go b/tracing/trace/count/types.go similarity index 94% rename from trace/count/types.go rename to tracing/trace/count/types.go index 76f8a9b2..c36239ad 100644 --- a/trace/count/types.go +++ b/tracing/trace/count/types.go @@ -1,7 +1,7 @@ package count import ( - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) // Trace data collected for a request. diff --git a/trace/segmented/trace.go b/tracing/trace/segmented/trace.go similarity index 97% rename from trace/segmented/trace.go rename to tracing/trace/segmented/trace.go index 12fbf594..da1d5ef7 100644 --- a/trace/segmented/trace.go +++ b/tracing/trace/segmented/trace.go @@ -5,7 +5,7 @@ import ( "fmt" "sort" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) // Unmarshal a full trace into a segmented trace. diff --git a/trace/segmented/types.go b/tracing/trace/segmented/types.go similarity index 96% rename from trace/segmented/types.go rename to tracing/trace/segmented/types.go index 5df731f4..6bc14280 100644 --- a/trace/segmented/types.go +++ b/tracing/trace/segmented/types.go @@ -3,7 +3,7 @@ package segmented import ( "fmt" - "github.com/skpr/compass/trace" + "github.com/skpr/compass/tracing/trace" ) // Trace data collected for a request. diff --git a/trace/trace.go b/tracing/trace/trace.go similarity index 100% rename from trace/trace.go rename to tracing/trace/trace.go From 09ba38922e1621e63015a7b2f4c4e21a01e5e43c Mon Sep 17 00:00:00 2001 From: Nick Date: Sun, 16 Nov 2025 20:05:10 +1000 Subject: [PATCH 2/6] Update workflows --- .../workflows/{build.yml => build-extension.yml} | 8 +++----- .github/workflows/release-extension.yml | 3 ++- .gitignore | 1 + extension/noteutils.yml | 16 +++++++--------- 4 files changed, 13 insertions(+), 15 deletions(-) rename .github/workflows/{build.yml => build-extension.yml} (86%) create mode 100644 .gitignore diff --git a/.github/workflows/build.yml b/.github/workflows/build-extension.yml similarity index 86% rename from .github/workflows/build.yml rename to .github/workflows/build-extension.yml index 745f3d12..7dac82f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-extension.yml @@ -1,14 +1,11 @@ -name: 📋 Build +name: 📋 Build Extension on: pull_request: types: [ synchronize, opened, reopened, ready_for_review ] - push: - branches: - - 'patchy' concurrency: - group: build-test-${{ github.head_ref }} + group: build-extension-${{ github.head_ref }} cancel-in-progress: true env: @@ -31,4 +28,5 @@ jobs: - name: Build and push run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest + cd extension docker build -t ${IMAGE}-${{matrix.arch}} --build-arg=PHP_VERSION=8.4 . diff --git a/.github/workflows/release-extension.yml b/.github/workflows/release-extension.yml index 5735c69a..cd9a0c15 100644 --- a/.github/workflows/release-extension.yml +++ b/.github/workflows/release-extension.yml @@ -7,7 +7,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + IMAGE_NAME: ${{ github.repository }}-extension jobs: build: @@ -41,6 +41,7 @@ jobs: - name: 📦 Build run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + cd extension docker build --no-cache --build-arg=PHP_VERSION=8.4 -t ${IMAGE}-php8.4-${{ matrix.arch }} . docker build --no-cache --build-arg=PHP_VERSION=8.3 -t ${IMAGE}-php8.3-${{ matrix.arch }} . docker build --no-cache --build-arg=PHP_VERSION=8.2 -t ${IMAGE}-php8.2-${{ matrix.arch }} . diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..485dee64 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/extension/noteutils.yml b/extension/noteutils.yml index 4053090e..904c2bd2 100644 --- a/extension/noteutils.yml +++ b/extension/noteutils.yml @@ -1,5 +1,3 @@ -# Actual example from skpr/compass used to validate builds - probes: amd64: - provider: compass @@ -27,16 +25,16 @@ probes: - provider: compass name: request_init arguments: - - -8@%rcx - - -8@%r15 - - -8@%rax + - -8@x8 + - -8@x21 + - -8@x0 - provider: compass name: request_shutdown arguments: - - -8@%rax + - -8@x8 - provider: compass name: php_function arguments: - - -8@%r14 - - -8@%rax - - -8@%r15 + - -8@x20 + - -8@x0 + - -8@x21 From e414e01c32f9f77a1da39b9e1decffef699db94d Mon Sep 17 00:00:00 2001 From: Nick Date: Sun, 16 Nov 2025 21:22:16 +1000 Subject: [PATCH 3/6] Moving more things around and fixing local stack --- .github/workflows/build-cli.yml | 32 ++++ .github/workflows/build-sidecar.yml | 32 ++++ .github/workflows/performance.yml | 4 - docker-compose.yml | 18 +- docker/compose/{ => php-fpm}/Dockerfile | 4 +- .../compose/{ => php-fpm}/drush/drushrc.yml | 0 docker/compose/{ => php-fpm}/services.yml | 0 docker/compose/{ => php-fpm}/settings.php | 0 extension/.devcontainer/Dockerfile | 7 - extension/.devcontainer/devcontainer.json | 4 +- extension/mise.toml | 1 + mise.toml | 17 ++ tracing/.devcontainer/Dockerfile | 11 +- tracing/.devcontainer/devcontainer.json | 2 - tracing/cli/Dockerfile | 40 +++++ tracing/collector/bpf_bpfeb.go | 156 ++++++++++++++++++ tracing/collector/bpf_bpfeb.o | Bin 0 -> 6992 bytes tracing/collector/bpf_bpfel.go | 156 ++++++++++++++++++ tracing/collector/bpf_bpfel.o | Bin 0 -> 6992 bytes tracing/collector/program/aarch64.bpf.c | 1 + .../{template.bpf.c => program/amd64.bpf.c} | 14 +- tracing/collector/program/arm64.bpf.c | 87 ++++++++++ .../collector/scripts/bpftmpl/elf/notes.go | 59 ------- .../scripts/bpftmpl/elf/notes_test.go | 53 ------ tracing/collector/scripts/bpftmpl/main.go | 45 ----- .../scripts/bpftmpl/replace/replace.go | 99 ----------- .../scripts/bpftmpl/replace/replace_test.go | 96 ----------- tracing/compass.so | Bin 468328 -> 0 bytes tracing/mise.toml | 32 +++- tracing/scripts/generate.sh | 23 --- tracing/{ => sidecar}/Dockerfile | 17 +- 31 files changed, 568 insertions(+), 442 deletions(-) create mode 100644 .github/workflows/build-cli.yml create mode 100644 .github/workflows/build-sidecar.yml rename docker/compose/{ => php-fpm}/Dockerfile (75%) rename docker/compose/{ => php-fpm}/drush/drushrc.yml (100%) rename docker/compose/{ => php-fpm}/services.yml (100%) rename docker/compose/{ => php-fpm}/settings.php (100%) create mode 100644 mise.toml create mode 100644 tracing/cli/Dockerfile create mode 100644 tracing/collector/bpf_bpfeb.go create mode 100644 tracing/collector/bpf_bpfeb.o create mode 100644 tracing/collector/bpf_bpfel.go create mode 100644 tracing/collector/bpf_bpfel.o create mode 120000 tracing/collector/program/aarch64.bpf.c rename tracing/collector/{template.bpf.c => program/amd64.bpf.c} (87%) create mode 100644 tracing/collector/program/arm64.bpf.c delete mode 100644 tracing/collector/scripts/bpftmpl/elf/notes.go delete mode 100644 tracing/collector/scripts/bpftmpl/elf/notes_test.go delete mode 100644 tracing/collector/scripts/bpftmpl/main.go delete mode 100644 tracing/collector/scripts/bpftmpl/replace/replace.go delete mode 100644 tracing/collector/scripts/bpftmpl/replace/replace_test.go delete mode 100755 tracing/compass.so delete mode 100755 tracing/scripts/generate.sh rename tracing/{ => sidecar}/Dockerfile (72%) diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml new file mode 100644 index 00000000..a290686c --- /dev/null +++ b/.github/workflows/build-cli.yml @@ -0,0 +1,32 @@ +name: 📋 Build CLI + +on: + pull_request: + types: [ synchronize, opened, reopened, ready_for_review ] + +concurrency: + group: build-cli-${{ github.head_ref }} + cancel-in-progress: true + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + arch: amd64 + - os: ubuntu-24.04-arm + arch: arm64 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build and push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest + cd tracing + docker build -t ${IMAGE}-${{matrix.arch}} -f cli/Dockerfile . diff --git a/.github/workflows/build-sidecar.yml b/.github/workflows/build-sidecar.yml new file mode 100644 index 00000000..71b63aa5 --- /dev/null +++ b/.github/workflows/build-sidecar.yml @@ -0,0 +1,32 @@ +name: 📋 Build Sidecar + +on: + pull_request: + types: [ synchronize, opened, reopened, ready_for_review ] + +concurrency: + group: build-sidecar-${{ github.head_ref }} + cancel-in-progress: true + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + arch: amd64 + - os: ubuntu-24.04-arm + arch: arm64 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build and push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest + cd tracing + docker build -t ${IMAGE}-${{matrix.arch}} -f sidecar/Dockerfile . diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index f3ccecf7..2113b065 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -28,10 +28,6 @@ jobs: - name: ⬇️ Git clone the repository uses: actions/checkout@v4 - # Uncomment for CPU / Memory / IO statistics. - # - name: Collect Workflow Telemetry - # uses: catchpoint/workflow-telemetry-action@v2 - - name: 📁 Init run: | # Create performance testing results directory. diff --git a/docker-compose.yml b/docker-compose.yml index 36a1456d..41245287 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,14 +7,16 @@ services: - "28624:28624" php-fpm: - build: ./docker/compose + build: ./docker/compose/php-fpm network_mode: service:nginx environment: - COMPASS_ENABLED=true - RUST_BACKTRACE=1 # Debugging compass: - image: local/compass:latest + build: + dockerfile: sidecar/Dockerfile + context: tracing # environment: # - COMPASS_SIDECAR_TOKEN=xxxyyyzzz network_mode: service:nginx @@ -30,15 +32,3 @@ services: command: sh -c "apk add --no-cache curl && curl -v http://localhost:28624/v1/traces" depends_on: - compass - - jaeger: - image: jaegertracing/all-in-one:1.63.0 - restart: always - environment: - - COLLECTOR_OTLP_ENABLED=true - ports: - - "16686:16686" - - "4317:4317" - - "4318:4318" - profiles: - - otel diff --git a/docker/compose/Dockerfile b/docker/compose/php-fpm/Dockerfile similarity index 75% rename from docker/compose/Dockerfile rename to docker/compose/php-fpm/Dockerfile index b3c55fb4..505aaa73 100644 --- a/docker/compose/Dockerfile +++ b/docker/compose/php-fpm/Dockerfile @@ -18,5 +18,5 @@ COPY drush /etc/drush RUN PHP_MEMORY_LIMIT=-1 vendor/bin/drush si demo_umami --db-url=sqlite://sites/default/files/.ht.sqlite -COPY --from=local/compass:latest /etc/php/conf.d/00_compass.ini /etc/php/conf.d/00_compass.ini -COPY --from=local/compass:latest /usr/lib/php/modules/compass.so /usr/lib/php/modules/compass.so \ No newline at end of file +COPY --from=localhost/compass-extension:latest /etc/php/conf.d/00_compass.ini /etc/php/conf.d/00_compass.ini +COPY --from=localhost/compass-extension:latest /usr/lib/php/modules/compass.so /usr/lib/php/modules/compass.so diff --git a/docker/compose/drush/drushrc.yml b/docker/compose/php-fpm/drush/drushrc.yml similarity index 100% rename from docker/compose/drush/drushrc.yml rename to docker/compose/php-fpm/drush/drushrc.yml diff --git a/docker/compose/services.yml b/docker/compose/php-fpm/services.yml similarity index 100% rename from docker/compose/services.yml rename to docker/compose/php-fpm/services.yml diff --git a/docker/compose/settings.php b/docker/compose/php-fpm/settings.php similarity index 100% rename from docker/compose/settings.php rename to docker/compose/php-fpm/settings.php diff --git a/extension/.devcontainer/Dockerfile b/extension/.devcontainer/Dockerfile index df0d0de8..12a86ab5 100644 --- a/extension/.devcontainer/Dockerfile +++ b/extension/.devcontainer/Dockerfile @@ -3,13 +3,9 @@ FROM ghcr.io/skpr/php-cli:8.4-v2-stable USER root RUN apk add alpine-sdk \ - bpftool \ clang \ clang-dev \ git \ - libbpf-dev \ - linux-headers \ - llvm \ php8.4-dev ENV MISE_DATA_DIR="/mise" @@ -20,9 +16,6 @@ ENV PATH="/mise/shims:$PATH" RUN curl https://mise.run | sh -# Make libclang easy to find for bindgen -ENV LIBCLANG_PATH=/usr/lib/llvm19/lib - ENV RUSTFLAGS="-C target-feature=-crt-static" ENV RUST_BACKTRACE=full diff --git a/extension/.devcontainer/devcontainer.json b/extension/.devcontainer/devcontainer.json index 3551ddbd..d0b49b37 100644 --- a/extension/.devcontainer/devcontainer.json +++ b/extension/.devcontainer/devcontainer.json @@ -6,9 +6,7 @@ "vscode": { "extensions": [ "rust-lang.rust-analyzer", - "dustypomerleau.rust-syntax", - "golang.go", - "nicknickolaev.ebpf-assembly" + "dustypomerleau.rust-syntax" ] } } diff --git a/extension/mise.toml b/extension/mise.toml index 2d786460..e023ee1b 100644 --- a/extension/mise.toml +++ b/extension/mise.toml @@ -13,3 +13,4 @@ run = "cargo build --release" [tasks.validate] description = "Validate notes for probing" run = "noteutils validate --spec noteutils.yml target/release/libcompass_extension.so" +depends = ["build"] diff --git a/mise.toml b/mise.toml new file mode 100644 index 00000000..99aaf03c --- /dev/null +++ b/mise.toml @@ -0,0 +1,17 @@ +[tasks.up] +description = "Run linting on all packages and crates" +run = ''' +#!/usr/bin/env bash + +echo "Building Extension" +docker build -t localhost/compass-extension:latest --build-arg=PHP_VERSION=8.3 extension + +echo "Building Docker Compose Service: php-fpm" +docker compose build php-fpm + +docker compose up +''' + +[tasks.down] +description = "Build Compass binaries" +run = "docker compose down" diff --git a/tracing/.devcontainer/Dockerfile b/tracing/.devcontainer/Dockerfile index df0d0de8..d32e43c4 100644 --- a/tracing/.devcontainer/Dockerfile +++ b/tracing/.devcontainer/Dockerfile @@ -1,16 +1,17 @@ -FROM ghcr.io/skpr/php-cli:8.4-v2-stable +FROM alpine:3.21 USER root RUN apk add alpine-sdk \ + bash \ bpftool \ clang \ clang-dev \ + curl \ git \ libbpf-dev \ linux-headers \ - llvm \ - php8.4-dev + llvm ENV MISE_DATA_DIR="/mise" ENV MISE_CONFIG_DIR="/mise" @@ -22,7 +23,3 @@ RUN curl https://mise.run | sh # Make libclang easy to find for bindgen ENV LIBCLANG_PATH=/usr/lib/llvm19/lib - -ENV RUSTFLAGS="-C target-feature=-crt-static" - -ENV RUST_BACKTRACE=full diff --git a/tracing/.devcontainer/devcontainer.json b/tracing/.devcontainer/devcontainer.json index 3551ddbd..4000f595 100644 --- a/tracing/.devcontainer/devcontainer.json +++ b/tracing/.devcontainer/devcontainer.json @@ -5,8 +5,6 @@ "customizations": { "vscode": { "extensions": [ - "rust-lang.rust-analyzer", - "dustypomerleau.rust-syntax", "golang.go", "nicknickolaev.ebpf-assembly" ] diff --git a/tracing/cli/Dockerfile b/tracing/cli/Dockerfile new file mode 100644 index 00000000..41a0d889 --- /dev/null +++ b/tracing/cli/Dockerfile @@ -0,0 +1,40 @@ +FROM alpine:3.21 AS build + +USER root + +RUN apk add alpine-sdk \ + bash \ + bpftool \ + clang \ + clang-dev \ + curl \ + git \ + libbpf-dev \ + linux-headers \ + llvm + +ENV MISE_DATA_DIR="/mise" +ENV MISE_CONFIG_DIR="/mise" +ENV MISE_CACHE_DIR="/mise/cache" +ENV MISE_INSTALL_PATH="/usr/local/bin/mise" +ENV PATH="/mise/shims:$PATH" + +RUN curl https://mise.run | sh + +# Make libclang easy to find for bindgen +ENV LIBCLANG_PATH=/usr/lib/llvm19/lib + +ENV GOFLAGS=-buildvcs=false + +WORKDIR /data +ADD --chown=skpr:skpr . /data + +# Check and build. +RUN mise trust . +RUN mise run lint +RUN mise run test +RUN mise run build:cli + +FROM alpine:3.21 +COPY --from=build /data/_output/compass /usr/local/bin/compass +CMD ["compass"] diff --git a/tracing/collector/bpf_bpfeb.go b/tracing/collector/bpf_bpfeb.go new file mode 100644 index 00000000..9816bac0 --- /dev/null +++ b/tracing/collector/bpf_bpfeb.go @@ -0,0 +1,156 @@ +// Code generated by bpf2go; DO NOT EDIT. +//go:build mips || mips64 || ppc64 || s390x + +package collector + +import ( + "bytes" + _ "embed" + "fmt" + "io" + "structs" + + "github.com/cilium/ebpf" +) + +type bpfEvent struct { + _ structs.HostLayout + Type uint8 + RequestId [101]uint8 + Method [101]uint8 + FunctionName [101]uint8 + Uri [2000]uint8 + Timestamp uint64 + Elapsed uint64 +} + +// loadBpf returns the embedded CollectionSpec for bpf. +func loadBpf() (*ebpf.CollectionSpec, error) { + reader := bytes.NewReader(_BpfBytes) + spec, err := ebpf.LoadCollectionSpecFromReader(reader) + if err != nil { + return nil, fmt.Errorf("can't load bpf: %w", err) + } + + return spec, err +} + +// loadBpfObjects loads bpf and converts it into a struct. +// +// The following types are suitable as obj argument: +// +// *bpfObjects +// *bpfPrograms +// *bpfMaps +// +// See ebpf.CollectionSpec.LoadAndAssign documentation for details. +func loadBpfObjects(obj interface{}, opts *ebpf.CollectionOptions) error { + spec, err := loadBpf() + if err != nil { + return err + } + + return spec.LoadAndAssign(obj, opts) +} + +// bpfSpecs contains maps and programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfSpecs struct { + bpfProgramSpecs + bpfMapSpecs + bpfVariableSpecs +} + +// bpfProgramSpecs contains programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfProgramSpecs struct { + UprobeCompassCanary *ebpf.ProgramSpec `ebpf:"uprobe_compass_canary"` + UprobeCompassPhpFunction *ebpf.ProgramSpec `ebpf:"uprobe_compass_php_function"` + UprobeCompassRequestInit *ebpf.ProgramSpec `ebpf:"uprobe_compass_request_init"` + UprobeCompassRequestShutdown *ebpf.ProgramSpec `ebpf:"uprobe_compass_request_shutdown"` +} + +// bpfMapSpecs contains maps before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfMapSpecs struct { + Events *ebpf.MapSpec `ebpf:"events"` +} + +// bpfVariableSpecs contains global variables before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfVariableSpecs struct { + UnusedEvent *ebpf.VariableSpec `ebpf:"unused_event"` +} + +// bpfObjects contains all objects after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfObjects struct { + bpfPrograms + bpfMaps + bpfVariables +} + +func (o *bpfObjects) Close() error { + return _BpfClose( + &o.bpfPrograms, + &o.bpfMaps, + ) +} + +// bpfMaps contains all maps after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfMaps struct { + Events *ebpf.Map `ebpf:"events"` +} + +func (m *bpfMaps) Close() error { + return _BpfClose( + m.Events, + ) +} + +// bpfVariables contains all global variables after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfVariables struct { + UnusedEvent *ebpf.Variable `ebpf:"unused_event"` +} + +// bpfPrograms contains all programs after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfPrograms struct { + UprobeCompassCanary *ebpf.Program `ebpf:"uprobe_compass_canary"` + UprobeCompassPhpFunction *ebpf.Program `ebpf:"uprobe_compass_php_function"` + UprobeCompassRequestInit *ebpf.Program `ebpf:"uprobe_compass_request_init"` + UprobeCompassRequestShutdown *ebpf.Program `ebpf:"uprobe_compass_request_shutdown"` +} + +func (p *bpfPrograms) Close() error { + return _BpfClose( + p.UprobeCompassCanary, + p.UprobeCompassPhpFunction, + p.UprobeCompassRequestInit, + p.UprobeCompassRequestShutdown, + ) +} + +func _BpfClose(closers ...io.Closer) error { + for _, closer := range closers { + if err := closer.Close(); err != nil { + return err + } + } + return nil +} + +// Do not access this directly. +// +//go:embed bpf_bpfeb.o +var _BpfBytes []byte diff --git a/tracing/collector/bpf_bpfeb.o b/tracing/collector/bpf_bpfeb.o new file mode 100644 index 0000000000000000000000000000000000000000..0054c56c6dfca39d7a8df57fac3497c17f8196d4 GIT binary patch literal 6992 zcmcgxU2I%O6`s4^P3(|TH-8vf;Fh1VHqK`4M!_^R+E6>Sh2t7~14${|taq>1m+W8e zy=!bjg{4v{l`1tz0R{0uq`n04qdb6IsYv!iAIh&Hgdh)<>W8X|L?0?ZY9&D7J9E!m z&rWvj6d^{LJLfy+%sFSyoO@^1`S#f4iA2H@akIobpfyG;0de4xL^*!$71pXGh4>zi zYlVndU5UoNUKa4MY7^1ZyPAy{&ql*D`-SKuay8Po0*+w$h{zFtjqU7Yd1ObpYYmbL z!FGJ;Un9Ks0eT9-`twR()06U6Ju4gO?YyD%cuZYr^ho^+OFi90sCjHx`TtJGd~lra zAs>6mPq34oLSS82X?zcPAoVy-&ckobJeccSJ`m;a!ukK(I^R!m^1dhTdf(5|tj&Fo z*KwBjsm$>oi1fDGr_pAiVxOGIA9{RxGMdr){OgZoLCP8xBAJW&jy_JO8$F>W2 z2=kE~YZ^4Q_eF#FEXMnU=w88i936Gny^iq<=y)x=H!#kkLr3QJYfR@bmeG-uo)wHf zI&{dDc!ud50R)FIEQ|HwM~ z!22`Pv=y&0O;x$UG<~Vwm-(orPmby&F(WuU4_*$(#2tLJ+5K=#&%|QDYx||||7vht|locYxL(qE> z6Hu!?s-{0ha`1nQM?X4zq<#_6U0KjCNA!->?WC%+WCi>~LM`8#i5{@-{_pMVNXrEa50*`)Y1%|nCT9Z8MP?&+P~u}kBB zJW@x@UM&=kb9`pz_!(z*;>j^5e`b2jaYVS>a7DGS}?^=hLK1WvI~EBMRIJ!Ej9T1MoD3I)HoaO7}it}&k} z3fuPGu<6(A>`~L2@1AeELFjljFEnko$PkTfM54>nLFhM&q0Nb~2M~F`eF3gnAh*OG zh=xaP1m^f&tvuJn=pvbmZu+5U+Xn5x`=(o;Pe;oAgLbz6C=7Y?cKSi7(hnqwgU4v= z?MLmgFO5y*qjH!T`{Jpw*}O9`HIY9mvX5jR8A2by6!KZD`z{<7N{-w&1jlX<9*dV# z8nkEgGqX<)+Udo*SF#8Cu^5t1EI;wYl(si_k;%K- z@nO#8Hr1mR?$q$%*rI@1cV;u;ntRjzwvU^wA{$>F8=C=a3%G#!?U7+)6R6~fmTzbVA4gmKQ&d^+oYM|Y%~8r}!I!T1bR>CSeGaUH6d zPsg#G{{mD2WDc}-bm7kM7IgG=ylt%GAGD5KWG6``X&t<-WL8*7igStO-x5|g;j8Qy z^4%0SuM6w2c2nHfS^qb<;u3yI!?ccdo?jPMAK6puenD6^)*<(fuT8YR)S$2ip{A|F z%C@ewZ|H7~M|5w&)v?1E1f4n6KuOAF31DJ8IkDqzxU4mDiCR0ZsE2o(4@ZsC812l5K@Q z2bz8gC_D+8a;5N7Oe@>~*5_XY*5{)hTktglzhvN74SdtUw+#GlE4I1~+-KmlfkzBX z`O(&Eoi#A6SC_9C_>zII8u+?_*A0Bbz#9gByA@Na^>`ArUfLVpp9HN}$FyD@j~n>3 zffo$CWZ;VizGC2O27U!ttB=H=4E%J=95&R@g)4*nD4>~)<- zHK_T7>2E}x{P*z$ZnWU(YdNOrB6KiuMmaJ`MQ67zOqZaOXv!l z^V2*@$r;A_z}DmRP=eO6i|6n9dMiJ!1Dg669-Z>1{AZy<^`r8j;-S2L2EBv-doDwU z)-@W9@l$_)=>6^F|8z7Xv4N5N)18)@=HI%%etS~pZAFUo$NmvUs_v9fi`O~|rabtR VaC7Xv8PS%Fk>;e(sVV<`{{cHtm$v`_ literal 0 HcmV?d00001 diff --git a/tracing/collector/bpf_bpfel.go b/tracing/collector/bpf_bpfel.go new file mode 100644 index 00000000..2d25ef7f --- /dev/null +++ b/tracing/collector/bpf_bpfel.go @@ -0,0 +1,156 @@ +// Code generated by bpf2go; DO NOT EDIT. +//go:build 386 || amd64 || arm || arm64 || loong64 || mips64le || mipsle || ppc64le || riscv64 || wasm + +package collector + +import ( + "bytes" + _ "embed" + "fmt" + "io" + "structs" + + "github.com/cilium/ebpf" +) + +type bpfEvent struct { + _ structs.HostLayout + Type uint8 + RequestId [101]uint8 + Method [101]uint8 + FunctionName [101]uint8 + Uri [2000]uint8 + Timestamp uint64 + Elapsed uint64 +} + +// loadBpf returns the embedded CollectionSpec for bpf. +func loadBpf() (*ebpf.CollectionSpec, error) { + reader := bytes.NewReader(_BpfBytes) + spec, err := ebpf.LoadCollectionSpecFromReader(reader) + if err != nil { + return nil, fmt.Errorf("can't load bpf: %w", err) + } + + return spec, err +} + +// loadBpfObjects loads bpf and converts it into a struct. +// +// The following types are suitable as obj argument: +// +// *bpfObjects +// *bpfPrograms +// *bpfMaps +// +// See ebpf.CollectionSpec.LoadAndAssign documentation for details. +func loadBpfObjects(obj interface{}, opts *ebpf.CollectionOptions) error { + spec, err := loadBpf() + if err != nil { + return err + } + + return spec.LoadAndAssign(obj, opts) +} + +// bpfSpecs contains maps and programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfSpecs struct { + bpfProgramSpecs + bpfMapSpecs + bpfVariableSpecs +} + +// bpfProgramSpecs contains programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfProgramSpecs struct { + UprobeCompassCanary *ebpf.ProgramSpec `ebpf:"uprobe_compass_canary"` + UprobeCompassPhpFunction *ebpf.ProgramSpec `ebpf:"uprobe_compass_php_function"` + UprobeCompassRequestInit *ebpf.ProgramSpec `ebpf:"uprobe_compass_request_init"` + UprobeCompassRequestShutdown *ebpf.ProgramSpec `ebpf:"uprobe_compass_request_shutdown"` +} + +// bpfMapSpecs contains maps before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfMapSpecs struct { + Events *ebpf.MapSpec `ebpf:"events"` +} + +// bpfVariableSpecs contains global variables before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfVariableSpecs struct { + UnusedEvent *ebpf.VariableSpec `ebpf:"unused_event"` +} + +// bpfObjects contains all objects after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfObjects struct { + bpfPrograms + bpfMaps + bpfVariables +} + +func (o *bpfObjects) Close() error { + return _BpfClose( + &o.bpfPrograms, + &o.bpfMaps, + ) +} + +// bpfMaps contains all maps after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfMaps struct { + Events *ebpf.Map `ebpf:"events"` +} + +func (m *bpfMaps) Close() error { + return _BpfClose( + m.Events, + ) +} + +// bpfVariables contains all global variables after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfVariables struct { + UnusedEvent *ebpf.Variable `ebpf:"unused_event"` +} + +// bpfPrograms contains all programs after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfPrograms struct { + UprobeCompassCanary *ebpf.Program `ebpf:"uprobe_compass_canary"` + UprobeCompassPhpFunction *ebpf.Program `ebpf:"uprobe_compass_php_function"` + UprobeCompassRequestInit *ebpf.Program `ebpf:"uprobe_compass_request_init"` + UprobeCompassRequestShutdown *ebpf.Program `ebpf:"uprobe_compass_request_shutdown"` +} + +func (p *bpfPrograms) Close() error { + return _BpfClose( + p.UprobeCompassCanary, + p.UprobeCompassPhpFunction, + p.UprobeCompassRequestInit, + p.UprobeCompassRequestShutdown, + ) +} + +func _BpfClose(closers ...io.Closer) error { + for _, closer := range closers { + if err := closer.Close(); err != nil { + return err + } + } + return nil +} + +// Do not access this directly. +// +//go:embed bpf_bpfel.o +var _BpfBytes []byte diff --git a/tracing/collector/bpf_bpfel.o b/tracing/collector/bpf_bpfel.o new file mode 100644 index 0000000000000000000000000000000000000000..be9e89f0e1ec6bf5601d4a83062359f0d320b046 GIT binary patch literal 6992 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 literal 0 HcmV?d00001 diff --git a/tracing/collector/program/aarch64.bpf.c b/tracing/collector/program/aarch64.bpf.c new file mode 120000 index 00000000..52295e53 --- /dev/null +++ b/tracing/collector/program/aarch64.bpf.c @@ -0,0 +1 @@ +arm64.bpf.c \ No newline at end of file diff --git a/tracing/collector/template.bpf.c b/tracing/collector/program/amd64.bpf.c similarity index 87% rename from tracing/collector/template.bpf.c rename to tracing/collector/program/amd64.bpf.c index 51e45dce..cc53117e 100644 --- a/tracing/collector/template.bpf.c +++ b/tracing/collector/program/amd64.bpf.c @@ -45,9 +45,9 @@ int uprobe_compass_request_init(struct pt_regs *ctx) { return 0; event->type = EVENT_TYPE_REQUEST_INIT; - bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->REQUEST_INIT_ARG_REQUEST_ID); - bpf_core_read_user_str(&event->method, STRSZ, (void *)ctx->REQUEST_INIT_ARG_METHOD); - bpf_core_read_user_str(&event->uri, URI_MAX_LEN, (void *)ctx->REQUEST_INIT_ARG_URI); + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->rcx); + bpf_core_read_user_str(&event->method, STRSZ, (void *)ctx->r15); + bpf_core_read_user_str(&event->uri, URI_MAX_LEN, (void *)ctx->rax); event->timestamp = bpf_ktime_get_ns(); event->elapsed = 0; @@ -62,10 +62,10 @@ int uprobe_compass_php_function(struct pt_regs *ctx) { return 0; event->type = EVENT_TYPE_FUNCTION; - bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->PHP_FUNCTION_ARG_REQUEST_ID); - bpf_core_read_user_str(&event->function_name, STRSZ, (void *)ctx->PHP_FUNCTION_ARG_FUNCTION_NAME); + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->r14); + bpf_core_read_user_str(&event->function_name, STRSZ, (void *)ctx->rax); event->timestamp = bpf_ktime_get_ns(); - event->elapsed = ctx->PHP_FUNCTION_ARG_ELAPSED; + event->elapsed = ctx->r15; bpf_ringbuf_submit(event, 0); return 0; @@ -78,7 +78,7 @@ int uprobe_compass_request_shutdown(struct pt_regs *ctx) { return 0; event->type = EVENT_TYPE_REQUEST_SHUTDOWN; - bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->REQUEST_SHUTDOWN_ARG_REQUEST_ID); + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->rax); event->timestamp = bpf_ktime_get_ns(); event->elapsed = 0; diff --git a/tracing/collector/program/arm64.bpf.c b/tracing/collector/program/arm64.bpf.c new file mode 100644 index 00000000..c9fcf968 --- /dev/null +++ b/tracing/collector/program/arm64.bpf.c @@ -0,0 +1,87 @@ +//go:build ignore + +#define STRSZ 100 + 1 +#define URI_MAX_LEN 2000 + +#include "vmlinux.h" +#include +#include +#include + +char __license[] SEC("license") = "Dual MIT/GPL"; + +enum event_type : __u8 { + EVENT_TYPE_FUNCTION = 0, + EVENT_TYPE_REQUEST_INIT = 1, + EVENT_TYPE_REQUEST_SHUTDOWN = 2, +}; + +struct event { + __u8 type; + __u8 request_id[STRSZ]; + __u8 method[STRSZ]; + __u8 function_name[STRSZ]; + __u8 uri[URI_MAX_LEN]; + __u64 timestamp; + __u64 elapsed; +}; + +const struct event *unused_event __attribute__((unused)); + +struct { + __uint(type, BPF_MAP_TYPE_RINGBUF); + __uint(max_entries, 256 * 4096); +} events SEC(".maps"); + +SEC("uprobe/compass_canary") +int uprobe_compass_canary(struct pt_regs *ctx) { + return 0; +} + +SEC("uprobe/compass_request_init") +int uprobe_compass_request_init(struct pt_regs *ctx) { + struct event *event = bpf_ringbuf_reserve(&events, sizeof(*event), 0); + if (!event) + return 0; + + event->type = EVENT_TYPE_REQUEST_INIT; + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->regs[8]); + bpf_core_read_user_str(&event->method, STRSZ, (void *)ctx->regs[21]); + bpf_core_read_user_str(&event->uri, URI_MAX_LEN, (void *)ctx->regs[0]); + event->timestamp = bpf_ktime_get_ns(); + event->elapsed = 0; + + bpf_ringbuf_submit(event, 0); + return 0; +} + +SEC("uprobe/compass_php_function") +int uprobe_compass_php_function(struct pt_regs *ctx) { + struct event *event = bpf_ringbuf_reserve(&events, sizeof(*event), 0); + if (!event) + return 0; + + event->type = EVENT_TYPE_FUNCTION; + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->regs[20]); + bpf_core_read_user_str(&event->function_name, STRSZ, (void *)ctx->regs[0]); + event->timestamp = bpf_ktime_get_ns(); + event->elapsed = ctx->regs[21]; + + bpf_ringbuf_submit(event, 0); + return 0; +} + +SEC("uprobe/compass_request_shutdown") +int uprobe_compass_request_shutdown(struct pt_regs *ctx) { + struct event *event = bpf_ringbuf_reserve(&events, sizeof(*event), 0); + if (!event) + return 0; + + event->type = EVENT_TYPE_REQUEST_SHUTDOWN; + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->regs[8]); + event->timestamp = bpf_ktime_get_ns(); + event->elapsed = 0; + + bpf_ringbuf_submit(event, 0); + return 0; +} diff --git a/tracing/collector/scripts/bpftmpl/elf/notes.go b/tracing/collector/scripts/bpftmpl/elf/notes.go deleted file mode 100644 index bb18824c..00000000 --- a/tracing/collector/scripts/bpftmpl/elf/notes.go +++ /dev/null @@ -1,59 +0,0 @@ -// Package elf is used to handle elf output. -package elf - -import ( - "bufio" - "fmt" - "regexp" - "strings" -) - -// SystemTapNote represents a parsed SystemTap note with provider, name, and arguments -type SystemTapNote struct { - Provider string - Name string - Args []string -} - -// ReadNotes parses the output of "readelf -n" and extracts SystemTap probe arguments -func ReadNotes(input string) ([]SystemTapNote, error) { - scanner := bufio.NewScanner(strings.NewReader(input)) - var notes []SystemTapNote - - // Regex patterns to match relevant lines - providerPattern := regexp.MustCompile(`^\s*Provider:\s*(\S+)`) - namePattern := regexp.MustCompile(`^\s*Name:\s*(\S+)`) - argsPattern := regexp.MustCompile(`^\s*Arguments:\s*(.+)`) - - var currentNote *SystemTapNote - - for scanner.Scan() { - line := scanner.Text() - - if match := providerPattern.FindStringSubmatch(line); match != nil { - // If a new provider is found, finalize the previous note and start a new one - if currentNote != nil { - notes = append(notes, *currentNote) - } - currentNote = &SystemTapNote{ - Provider: match[1], - } - } else if match := namePattern.FindStringSubmatch(line); match != nil && currentNote != nil { - currentNote.Name = match[1] - } else if match := argsPattern.FindStringSubmatch(line); match != nil && currentNote != nil { - args := strings.Split(match[1], " ") - currentNote.Args = args - } - } - - // Add the last note if exists - if currentNote != nil { - notes = append(notes, *currentNote) - } - - if err := scanner.Err(); err != nil { - return nil, fmt.Errorf("error reading input: %w", err) - } - - return notes, nil -} diff --git a/tracing/collector/scripts/bpftmpl/elf/notes_test.go b/tracing/collector/scripts/bpftmpl/elf/notes_test.go deleted file mode 100644 index ad1d604f..00000000 --- a/tracing/collector/scripts/bpftmpl/elf/notes_test.go +++ /dev/null @@ -1,53 +0,0 @@ -package elf - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestReadNotes(t *testing.T) { - input := `Displaying notes found in: .note.gnu.build-id - Owner Data size Description - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) - Build ID: b7cd3dc63ad11bacdfbc7abe8d404b83d62b0b5c - -Displaying notes found in: .note.stapsdt - Owner Data size Description - stapsdt 0x00000044 NT_STAPSDT (SystemTap probe descriptors) - Provider: compass - Name: request_shutdown - Location: 0x000000000000c9f8, Base: 0x0000000000058393, Semaphore: 0x00000000000801c6 - Arguments: -8@x8 -8@x21 -8@x0 - stapsdt 0x00000041 NT_STAPSDT (SystemTap probe descriptors) - Provider: compass - Name: php_function - Location: 0x000000000000d8e8, Base: 0x0000000000058393, Semaphore: 0x00000000000801c8 - Arguments: -8@x20 -8@x0 -8@x21` - - have, err := ReadNotes(input) - assert.NoError(t, err) - - want := []SystemTapNote{ - { - Provider: "compass", - Name: "request_shutdown", - Args: []string{ - "-8@x8", - "-8@x21", - "-8@x0", - }, - }, - { - Provider: "compass", - Name: "php_function", - Args: []string{ - "-8@x20", - "-8@x0", - "-8@x21", - }, - }, - } - - assert.Equal(t, want, have) -} diff --git a/tracing/collector/scripts/bpftmpl/main.go b/tracing/collector/scripts/bpftmpl/main.go deleted file mode 100644 index d17fb4cd..00000000 --- a/tracing/collector/scripts/bpftmpl/main.go +++ /dev/null @@ -1,45 +0,0 @@ -// Package main is used to generate a multi arch bpf program. -package main - -import ( - "flag" - "fmt" - "io" - "os" - - "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" - "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/replace" -) - -func main() { - var ( - flagArch = flag.String("arch", "", "architecture which we will build with") - flagTemplate = flag.String("template", "", "path to the bpf program template") - ) - - flag.Parse() - - extension, err := io.ReadAll(os.Stdin) - if err != nil { - panic(err) - } - - template, err := os.ReadFile(*flagTemplate) - if err != nil { - panic(err) - } - - // Parse the output - notes, err := elf.ReadNotes(string(extension)) - if err != nil { - panic(err) - } - - program, err := replace.UsingNotes(*flagArch, notes, string(template)) - if err != nil { - panic(err) - } - - // Write the file contents to stdout. - fmt.Print(program) -} diff --git a/tracing/collector/scripts/bpftmpl/replace/replace.go b/tracing/collector/scripts/bpftmpl/replace/replace.go deleted file mode 100644 index 4e697aeb..00000000 --- a/tracing/collector/scripts/bpftmpl/replace/replace.go +++ /dev/null @@ -1,99 +0,0 @@ -// Package replace is used to find and replace program values. -package replace - -import ( - "fmt" - "strings" - - "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" -) - -// UsingNotes replaces strings in the program based on provided notes. -func UsingNotes(arch string, notes []elf.SystemTapNote, program string) (string, error) { - replacements := make(map[string]string, 8) - - valueFunc, err := getValueFunc(arch) - if err != nil { - return "", err - } - - for _, note := range notes { - if note.Provider != "compass" { - return "", fmt.Errorf("found a note which is not provided by compass") - } - - switch note.Name { - case "request_init": - if len(note.Args) != 3 { - return "", fmt.Errorf("request_init does not have 3 args") - } - - replacements["REQUEST_INIT_ARG_REQUEST_ID"] = valueFunc(note.Args[0]) - replacements["REQUEST_INIT_ARG_URI"] = valueFunc(note.Args[1]) - replacements["REQUEST_INIT_ARG_METHOD"] = valueFunc(note.Args[2]) - - case "php_function": - if len(note.Args) != 3 { - return "", fmt.Errorf("php_fuction does not have 3 args") - } - - replacements["PHP_FUNCTION_ARG_REQUEST_ID"] = valueFunc(note.Args[0]) - replacements["PHP_FUNCTION_ARG_FUNCTION_NAME"] = valueFunc(note.Args[1]) - replacements["PHP_FUNCTION_ARG_ELAPSED"] = valueFunc(note.Args[2]) - - case "request_shutdown": - if len(note.Args) != 1 { - return "", fmt.Errorf("request_shutdown does not have 1 arg") - } - - replacements["REQUEST_SHUTDOWN_ARG_REQUEST_ID"] = valueFunc(note.Args[0]) - - // These probes don't have any args. - case "canary": - continue - - default: - return "", fmt.Errorf("found a note which is not on our replace list: %s", note) - } - } - - for key, value := range replacements { - program = strings.ReplaceAll(program, key, value) - } - - return program, nil -} - -func getValueFunc(arch string) (func(string) string, error) { - if arch == "arm64" { - return func(argument string) string { - return fmt.Sprintf("regs[%s]", strings.TrimPrefix(argument, "-8@x")) - }, nil - } - - if arch == "amd64" { - return func(argument string) string { - switch argument { - case "-8@%rax": - return "ax" - case "-8@%rdi": - return "di" - case "-8@%rsi": - return "ax" - case "-8@%rdx": - return "dx" - case "-8@%rbx": - return "bx" - case "-8@%rbp": - return "bp" - case "-8@%rcx": - return "cx" - default: - // Preserve the "r" in the remaining eg. r15. - return strings.TrimPrefix(argument, "-8@%") - } - }, nil - } - - return nil, fmt.Errorf("architecture not supported: %s", arch) -} diff --git a/tracing/collector/scripts/bpftmpl/replace/replace_test.go b/tracing/collector/scripts/bpftmpl/replace/replace_test.go deleted file mode 100644 index b3641005..00000000 --- a/tracing/collector/scripts/bpftmpl/replace/replace_test.go +++ /dev/null @@ -1,96 +0,0 @@ -package replace - -import ( - "strings" - "testing" - - "github.com/stretchr/testify/assert" - - "github.com/skpr/compass/tracing/collector/scripts/bpftmpl/elf" -) - -func TestUsingNotesAmd64(t *testing.T) { - notes := []elf.SystemTapNote{ - { - Provider: "compass", - Name: "request_init", - Args: []string{ - "-8@%rbx", - "-8@%r14", - "-8@%rdi", - }, - }, - { - Provider: "compass", - Name: "request_shutdown", - Args: []string{ - "-8@%rbx", - }, - }, - { - Provider: "compass", - Name: "php_function", - Args: []string{ - "-8@%rbx", - "-8@%rax", - "-8@%rbp", - }, - }, - } - - replacements := []string{ - "REQUEST_INIT_ARG_REQUEST_ID", - "REQUEST_INIT_ARG_URI", - "REQUEST_INIT_ARG_METHOD", - "PHP_FUNCTION_ARG_FUNCTION_NAME", - "PHP_FUNCTION_ARG_ELAPSED", - "REQUEST_SHUTDOWN_ARG_REQUEST_ID", - } - - program, err := UsingNotes("amd64", notes, strings.Join(replacements, ",")) - assert.NoError(t, err) - assert.Equal(t, "bx,r14,di,ax,bp,bx", program) -} - -func TestUsingNotesArm64(t *testing.T) { - notes := []elf.SystemTapNote{ - { - Provider: "compass", - Name: "request_init", - Args: []string{ - "-8@x19", - "-8@x20", - "-8@x0", - }, - }, - { - Provider: "compass", - Name: "request_shutdown", - Args: []string{ - "-8@x19", - }, - }, - { - Provider: "compass", - Name: "php_function", - Args: []string{ - "-8@x20", - "-8@x0", - "-8@x24", - }, - }, - } - - replacements := []string{ - "REQUEST_INIT_ARG_REQUEST_ID", - "REQUEST_INIT_ARG_URI", - "REQUEST_INIT_ARG_METHOD", - "PHP_FUNCTION_ARG_FUNCTION_NAME", - "PHP_FUNCTION_ARG_ELAPSED", - "REQUEST_SHUTDOWN_ARG_REQUEST_ID", - } - - program, err := UsingNotes("arm64", notes, strings.Join(replacements, ",")) - assert.NoError(t, err) - assert.Equal(t, "regs[19],regs[20],regs[0],regs[0],regs[24],regs[19]", program) -} diff --git a/tracing/compass.so b/tracing/compass.so deleted file mode 100755 index ff210035a7faf4cf505fd3367d9f874ae994bebf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468328 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
      YyaIMKLQ;W5lQ>Z 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 ./includes/vmlinux.h +GOPACKAGE=collector bpf2go -cflags '-O2 -g -Wall -Werror' -type event bpf program/$(uname -m).bpf.c -- -I./includes +''' +depends = ["vendor"] [tasks.build] -description = "Build Compass binaries" -run = [ - "go build -a -o _output/compass github.com/skpr/compass/tracing/cli", - "go build -a -o _output/compass-sidecar github.com/skpr/compass/tracing/sidecar" -] +description = "Build all Compass tracing binaries" +depends = ["build:cli", "build:sidecar"] + +[tasks."build:cli"] +description = "Build Compass CLI" +run = "go build -a -o _output/compass github.com/skpr/compass/tracing/cli" +depends = ["generate"] + +[tasks."build:sidecar"] +description = "Build Compass tracing binaries" +run = "go build -a -o _output/compass-sidecar github.com/skpr/compass/tracing/sidecar" depends = ["generate"] diff --git a/tracing/scripts/generate.sh b/tracing/scripts/generate.sh deleted file mode 100755 index 84f3b9d0..00000000 --- a/tracing/scripts/generate.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -arch="$(uname -m)" - -case "$arch" in - x86_64) - ARCH="amd64" - ;; - arm64 | aarch64) - ARCH="arm64" - ;; - *) - echo "Unknown architecture: $arch" - ARCH="unknown" - ;; -esac - -cd collector - -bpftool btf dump file /sys/kernel/btf/vmlinux format c > ./includes/vmlinux.h -readelf -n /usr/lib/php/modules/compass.so | go run ./scripts/bpftmpl -arch="${ARCH}" -template=./template.bpf.c > ./program.bpf.c -bpf2go -target "${ARCH}" -cflags "-O2 -g -Wall -Werror" -type event bpf program.bpf.c -- -I./includes diff --git a/tracing/Dockerfile b/tracing/sidecar/Dockerfile similarity index 72% rename from tracing/Dockerfile rename to tracing/sidecar/Dockerfile index 00cb2684..7e27637b 100644 --- a/tracing/Dockerfile +++ b/tracing/sidecar/Dockerfile @@ -1,14 +1,13 @@ -ARG PHP_VERSION=8.3 -FROM ghcr.io/skpr/php-cli:${PHP_VERSION}-v2-stable AS build - -ARG PHP_VERSION=8.3 +FROM alpine:3.21 AS build USER root RUN apk add alpine-sdk \ + bash \ bpftool \ clang \ clang-dev \ + curl \ git \ libbpf-dev \ linux-headers \ @@ -27,23 +26,17 @@ ENV LIBCLANG_PATH=/usr/lib/llvm19/lib ENV GOFLAGS=-buildvcs=false -ENV RUSTFLAGS="-C target-feature=-crt-static" -ENV RUST_BACKTRACE=full - +WORKDIR /data ADD --chown=skpr:skpr . /data # Check and build. RUN mise trust . RUN mise run lint RUN mise run test -RUN mise run build +RUN mise run build:sidecar FROM scratch -# Collector -COPY --from=build /data/_output/compass /usr/local/bin/compass COPY --from=build /data/_output/compass-sidecar /usr/local/bin/compass-sidecar - -ENV COLORTERM=truecolor ENV COMPASS_SIDECAR_PROCESS_NAME=php-fpm CMD ["compass-sidecar"] From 383d9b5dffa4421d7c0eac6d948b17f603b10f4e Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 17 Nov 2025 17:55:04 +1000 Subject: [PATCH 4/6] Fix the build --- .github/workflows/performance.yml | 8 +++++++- .../performance/docker/compose/php-fpm-ext/Dockerfile | 4 ++-- .../performance/matrix/collector/docker-compose.yml | 2 +- tracing/collector/program/amd64.bpf.c | 8 ++++---- tracing/collector/program/x86_64.bpf.c | 1 + 5 files changed, 15 insertions(+), 8 deletions(-) create mode 120000 tracing/collector/program/x86_64.bpf.c diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 2113b065..58c2d3fb 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -36,11 +36,17 @@ jobs: - name: 📦 Build Images run: | + echo "Building base images" docker build -t localhost/compass:nginx-latest .github/workflows/performance/docker/compose/nginx docker build -t localhost/compass:php-fpm-latest .github/workflows/performance/docker/compose/php-fpm - docker build --no-cache --build-arg=PHP_VERSION=8.4 -t localhost/compass:latest . + + echo "Building extension" + docker build -t localhost/compass-extension:latest --build-arg=PHP_VERSION=8.4 extension docker build -t localhost/compass:php-fpm-ext-latest .github/workflows/performance/docker/compose/php-fpm-ext + echo "Building sidecar" + docker build -t localhost/compass-sidecar:latest -f tracing/sidecar/Dockerfile tracing + - name: 📦 Setup run: | cd .github/workflows/performance/matrix/${{ matrix.configuration }} diff --git a/.github/workflows/performance/docker/compose/php-fpm-ext/Dockerfile b/.github/workflows/performance/docker/compose/php-fpm-ext/Dockerfile index eeaa838f..16e21138 100644 --- a/.github/workflows/performance/docker/compose/php-fpm-ext/Dockerfile +++ b/.github/workflows/performance/docker/compose/php-fpm-ext/Dockerfile @@ -1,4 +1,4 @@ FROM localhost/compass:php-fpm-latest -COPY --from=localhost/compass:latest /etc/php/conf.d/00_compass.ini /etc/php/conf.d/00_compass.ini -COPY --from=localhost/compass:latest /usr/lib/php/modules/compass.so /usr/lib/php/modules/compass.so +COPY --from=localhost/compass-extension:latest /etc/php/conf.d/00_compass.ini /etc/php/conf.d/00_compass.ini +COPY --from=localhost/compass-extension:latest /usr/lib/php/modules/compass.so /usr/lib/php/modules/compass.so diff --git a/.github/workflows/performance/matrix/collector/docker-compose.yml b/.github/workflows/performance/matrix/collector/docker-compose.yml index 7142a736..3d58a1a1 100644 --- a/.github/workflows/performance/matrix/collector/docker-compose.yml +++ b/.github/workflows/performance/matrix/collector/docker-compose.yml @@ -31,7 +31,7 @@ services: retries: 60 compass: - image: localhost/compass:latest + image: localhost/compass-sidecar:latest network_mode: service:nginx privileged: true pid: "service:php-fpm" diff --git a/tracing/collector/program/amd64.bpf.c b/tracing/collector/program/amd64.bpf.c index cc53117e..3862da52 100644 --- a/tracing/collector/program/amd64.bpf.c +++ b/tracing/collector/program/amd64.bpf.c @@ -45,9 +45,9 @@ int uprobe_compass_request_init(struct pt_regs *ctx) { return 0; event->type = EVENT_TYPE_REQUEST_INIT; - bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->rcx); + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->cx); bpf_core_read_user_str(&event->method, STRSZ, (void *)ctx->r15); - bpf_core_read_user_str(&event->uri, URI_MAX_LEN, (void *)ctx->rax); + bpf_core_read_user_str(&event->uri, URI_MAX_LEN, (void *)ctx->ax); event->timestamp = bpf_ktime_get_ns(); event->elapsed = 0; @@ -63,7 +63,7 @@ int uprobe_compass_php_function(struct pt_regs *ctx) { event->type = EVENT_TYPE_FUNCTION; bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->r14); - bpf_core_read_user_str(&event->function_name, STRSZ, (void *)ctx->rax); + bpf_core_read_user_str(&event->function_name, STRSZ, (void *)ctx->ax); event->timestamp = bpf_ktime_get_ns(); event->elapsed = ctx->r15; @@ -78,7 +78,7 @@ int uprobe_compass_request_shutdown(struct pt_regs *ctx) { return 0; event->type = EVENT_TYPE_REQUEST_SHUTDOWN; - bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->rax); + bpf_core_read_user_str(&event->request_id, STRSZ, (void *)ctx->ax); event->timestamp = bpf_ktime_get_ns(); event->elapsed = 0; diff --git a/tracing/collector/program/x86_64.bpf.c b/tracing/collector/program/x86_64.bpf.c new file mode 120000 index 00000000..59155434 --- /dev/null +++ b/tracing/collector/program/x86_64.bpf.c @@ -0,0 +1 @@ +amd64.bpf.c \ No newline at end of file From c5ec8de013b852200035b02f8983fe54f43d88de Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 17 Nov 2025 18:10:00 +1000 Subject: [PATCH 5/6] Add release tasks --- .github/workflows/build-cli.yml | 3 +- .github/workflows/build-extension.yml | 3 +- .github/workflows/build-sidecar.yml | 3 +- .github/workflows/release-cli.yml | 70 +++++++++++++++++++++++++ .github/workflows/release-extension.yml | 6 +-- .github/workflows/release-sidecar.yml | 32 +++-------- 6 files changed, 84 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/release-cli.yml diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml index a290686c..d4a5437f 100644 --- a/.github/workflows/build-cli.yml +++ b/.github/workflows/build-cli.yml @@ -28,5 +28,4 @@ jobs: - name: Build and push run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest - cd tracing - docker build -t ${IMAGE}-${{matrix.arch}} -f cli/Dockerfile . + docker build -t ${IMAGE}-${{matrix.arch}} -f tracing/cli/Dockerfile tracing diff --git a/.github/workflows/build-extension.yml b/.github/workflows/build-extension.yml index 7dac82f7..4164089b 100644 --- a/.github/workflows/build-extension.yml +++ b/.github/workflows/build-extension.yml @@ -28,5 +28,4 @@ jobs: - name: Build and push run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest - cd extension - docker build -t ${IMAGE}-${{matrix.arch}} --build-arg=PHP_VERSION=8.4 . + docker build -t ${IMAGE}-${{matrix.arch}} --build-arg=PHP_VERSION=8.4 extension diff --git a/.github/workflows/build-sidecar.yml b/.github/workflows/build-sidecar.yml index 71b63aa5..be5488a9 100644 --- a/.github/workflows/build-sidecar.yml +++ b/.github/workflows/build-sidecar.yml @@ -28,5 +28,4 @@ jobs: - name: Build and push run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:latest - cd tracing - docker build -t ${IMAGE}-${{matrix.arch}} -f sidecar/Dockerfile . + docker build -t ${IMAGE}-${{matrix.arch}} -f tracing/sidecar/Dockerfile tracing diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml new file mode 100644 index 00000000..45df478f --- /dev/null +++ b/.github/workflows/release-cli.yml @@ -0,0 +1,70 @@ +name: "📋 Release CLI" + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+[0-9A-Za-z]?' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + include: + - os: ubuntu-latest + arch: amd64 + - os: ubuntu-24.04-arm + arch: arm64 + + permissions: + contents: read + packages: write + attestations: write + id-token: write + + steps: + - name: ⬇️ Git clone the repository + uses: actions/checkout@v4 + + - name: 🔐 Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: 📦 Build and Push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }}-${{ matrix.arch }} + docker build --no-cache -t ${IMAGE} -f tracing/cli/Dockerfile tracing + docker push ${IMAGE} + + manifest: + name: Manifest + runs-on: ubuntu-latest + needs: build + + permissions: + contents: read + packages: write + attestations: write + id-token: write + + steps: + - name: 🔐 Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: ☁️ Push + run: | + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + docker manifest create ${IMAGE} --amend ${IMAGE}-arm64 --amend ${IMAGE}-amd64 + docker manifest push ${IMAGE} diff --git a/.github/workflows/release-extension.yml b/.github/workflows/release-extension.yml index cd9a0c15..c96bd9b5 100644 --- a/.github/workflows/release-extension.yml +++ b/.github/workflows/release-extension.yml @@ -40,7 +40,7 @@ jobs: - name: 📦 Build run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}-extension:${{ github.ref_name }} cd extension docker build --no-cache --build-arg=PHP_VERSION=8.4 -t ${IMAGE}-php8.4-${{ matrix.arch }} . docker build --no-cache --build-arg=PHP_VERSION=8.3 -t ${IMAGE}-php8.3-${{ matrix.arch }} . @@ -49,7 +49,7 @@ jobs: - name: ☁️ Push run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}-extension:${{ github.ref_name }} docker push ${IMAGE}-php8.4-${{matrix.arch}} docker push ${IMAGE}-php8.3-${{matrix.arch}} docker push ${IMAGE}-php8.2-${{matrix.arch}} @@ -76,7 +76,7 @@ jobs: - name: ☁️ Push run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}-extension:${{ github.ref_name }} docker manifest create ${IMAGE}-php8.4 --amend ${IMAGE}-php8.4-arm64 --amend ${IMAGE}-php8.4-amd64 docker manifest push ${IMAGE}-php8.4 docker manifest create ${IMAGE}-php8.3 --amend ${IMAGE}-php8.3-arm64 --amend ${IMAGE}-php8.3-amd64 diff --git a/.github/workflows/release-sidecar.yml b/.github/workflows/release-sidecar.yml index 5735c69a..c3ac3e78 100644 --- a/.github/workflows/release-sidecar.yml +++ b/.github/workflows/release-sidecar.yml @@ -1,4 +1,4 @@ -name: "📋 Release Extension" +name: "📋 Release Sidecar" on: push: @@ -38,21 +38,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: 📦 Build + - name: 📦 Build and Push run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} - docker build --no-cache --build-arg=PHP_VERSION=8.4 -t ${IMAGE}-php8.4-${{ matrix.arch }} . - docker build --no-cache --build-arg=PHP_VERSION=8.3 -t ${IMAGE}-php8.3-${{ matrix.arch }} . - docker build --no-cache --build-arg=PHP_VERSION=8.2 -t ${IMAGE}-php8.2-${{ matrix.arch }} . - docker build --no-cache --build-arg=PHP_VERSION=8.1 -t ${IMAGE}-php8.1-${{ matrix.arch }} . - - - name: ☁️ Push - run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} - docker push ${IMAGE}-php8.4-${{matrix.arch}} - docker push ${IMAGE}-php8.3-${{matrix.arch}} - docker push ${IMAGE}-php8.2-${{matrix.arch}} - docker push ${IMAGE}-php8.1-${{matrix.arch}} + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}-sidecar:${{ github.ref_name }}-${{ matrix.arch }} + docker build --no-cache -t ${IMAGE} -f tracing/sidecar/Dockerfile tracing + docker push ${IMAGE} manifest: name: Manifest @@ -75,12 +65,6 @@ jobs: - name: ☁️ Push run: | - IMAGE=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }} - docker manifest create ${IMAGE}-php8.4 --amend ${IMAGE}-php8.4-arm64 --amend ${IMAGE}-php8.4-amd64 - docker manifest push ${IMAGE}-php8.4 - docker manifest create ${IMAGE}-php8.3 --amend ${IMAGE}-php8.3-arm64 --amend ${IMAGE}-php8.3-amd64 - docker manifest push ${IMAGE}-php8.3 - docker manifest create ${IMAGE}-php8.2 --amend ${IMAGE}-php8.2-arm64 --amend ${IMAGE}-php8.2-amd64 - docker manifest push ${IMAGE}-php8.2 - docker manifest create ${IMAGE}-php8.1 --amend ${IMAGE}-php8.1-arm64 --amend ${IMAGE}-php8.1-amd64 - docker manifest push ${IMAGE}-php8.1 + IMAGE=${{ env.REGISTRY }}/${{ github.repository }}-sidecar:${{ github.ref_name }} + docker manifest create ${IMAGE} --amend ${IMAGE}-arm64 --amend ${IMAGE}-amd64 + docker manifest push ${IMAGE} From d599e08576b0144c2aa541479da5a00d32c6e170 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 17 Nov 2025 18:30:31 +1000 Subject: [PATCH 6/6] Updates --- README.md | 15 +++++++++++---- docker-compose.yml | 11 ++++++++++- mise.toml | 6 ++++++ tracing/cli/Dockerfile | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0b7c0236..75f1dfd0 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ flowchart LR |-----------|---------|----------------------------| | Control | 49ms | | | Installed | 49ms | 0ms | -| Enabled | 50ms | 0ms | +| Enabled | 50ms | 1ms | | Collector | 57ms | 7ms | Performance data can be found in Github Actions for [this build](https://github.com/skpr/compass/pull/113). @@ -124,9 +124,16 @@ These images contain: * The collector (sidecar and CLI) ``` -ghcr.io/skpr/compass:extension-8.4-latest -ghcr.io/skpr/compass:extension-8.3-latest -ghcr.io/skpr/compass:extension-8.2-latest +# PHP extension +ghcr.io/skpr/compass-extension:VERSION-php8.4 +ghcr.io/skpr/compass-extension:VERSION-php8.3 +ghcr.io/skpr/compass-extension:VERSION-php8.2 + +# Sidecar +ghcr.io/skpr/compass-sidecar:VERSION + +# CLI +ghcr.io/skpr/compass:VERSION ``` ## How to test diff --git a/docker-compose.yml b/docker-compose.yml index 41245287..f67bffcb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - COMPASS_ENABLED=true - RUST_BACKTRACE=1 # Debugging - compass: + sidecar: build: dockerfile: sidecar/Dockerfile context: tracing @@ -26,6 +26,15 @@ services: depends_on: - php-fpm + compass: + build: + dockerfile: cli/Dockerfile + context: tracing + command: /bin/bash -c "sleep infinity" + network_mode: service:nginx + depends_on: + - sidecar + curl: image: alpine:latest network_mode: service:nginx diff --git a/mise.toml b/mise.toml index 99aaf03c..dcdd12f6 100644 --- a/mise.toml +++ b/mise.toml @@ -9,6 +9,12 @@ docker build -t localhost/compass-extension:latest --build-arg=PHP_VERSION=8.3 e echo "Building Docker Compose Service: php-fpm" docker compose build php-fpm +echo "Building Docker Compose Service: sidecar" +docker compose build sidecar + +echo "Building Docker Compose Service: compass" +docker compose build compass + docker compose up ''' diff --git a/tracing/cli/Dockerfile b/tracing/cli/Dockerfile index 41a0d889..3b420b79 100644 --- a/tracing/cli/Dockerfile +++ b/tracing/cli/Dockerfile @@ -36,5 +36,6 @@ RUN mise run test RUN mise run build:cli FROM alpine:3.21 +RUN apk add bash COPY --from=build /data/_output/compass /usr/local/bin/compass CMD ["compass"]