pax_global_header00006660000000000000000000000064146662063110014517gustar00rootroot0000000000000052 comment=e6dde2dc5f0b04ccbdaa241e5ab6f716ff7e1944 notation-go-1.2.1/000077500000000000000000000000001466620631100137565ustar00rootroot00000000000000notation-go-1.2.1/.github/000077500000000000000000000000001466620631100153165ustar00rootroot00000000000000notation-go-1.2.1/.github/.codecov.yml000066400000000000000000000012101466620631100175330ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. coverage: status: project: default: target: 80%notation-go-1.2.1/.github/ISSUE_TEMPLATE/000077500000000000000000000000001466620631100175015ustar00rootroot00000000000000notation-go-1.2.1/.github/ISSUE_TEMPLATE/bug-or-issue.yaml000066400000000000000000000044211466620631100227070ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: 🐛 Bug or Issue description: Something is not working as expected or not working at all! Report it here! labels: [bug, triage] body: - type: markdown attributes: value: | Thank you for taking the time to fill out this issue report. 🛑 Please check existing issues first before continuing: https://github.com/notaryproject/notation-go/issues - type: textarea id: verbatim validations: required: true attributes: label: "What is not working as expected?" description: "In your own words, describe what the issue is." - type: textarea id: expect validations: required: true attributes: label: "What did you expect to happen?" description: "A clear and concise description of what you expected to happen." - type: textarea id: reproduce validations: required: true attributes: label: "How can we reproduce it?" description: "Detailed steps to reproduce the behavior, code snippets are welcome." - type: textarea id: environment validations: required: true attributes: label: Describe your environment description: "OS and Golang version" - type: textarea id: version validations: required: true attributes: label: What is the version of your notation-go Library? description: "Check the `go.mod` file for the library version." - type: markdown attributes: value: | If you want to contribute to this project, we will be happy to guide you through the contribution process especially when you already have a good proposal or understanding of how to fix this issue. Join us at https://slack.cncf.io/ and choose #notary-project channel. notation-go-1.2.1/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000013411466620631100214700ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. blank_issues_enabled: false contact_links: - name: Ask a question url: https://slack.cncf.io/ about: "Join #notary-project channel on CNCF Slack" notation-go-1.2.1/.github/ISSUE_TEMPLATE/feature-request.yaml000066400000000000000000000041111466620631100235030ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: 🚀 Feature Request description: Suggest an idea for this project. labels: [enhancement, triage] body: - type: markdown attributes: value: | Thank you for taking the time to suggest a useful feature for the project! - type: textarea id: problem validations: required: true attributes: label: "Is your feature request related to a problem?" description: "A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]" - type: textarea id: solution validations: required: true attributes: label: "What solution do you propose?" description: "A clear and concise description of what you want to happen." - type: textarea id: alternatives validations: required: true attributes: label: "What alternatives have you considered?" description: "A clear and concise description of any alternative solutions or features you've considered." - type: textarea id: context validations: required: false attributes: label: "Any additional context?" description: "Add any other context or screenshots about the feature request here." - type: markdown attributes: value: | If you want to contribute to this project, we will be happy to guide you through the contribution process especially when you already have a good proposal or understanding of how to improve the functionality. Join us at https://slack.cncf.io/ and choose #notary-project channel. notation-go-1.2.1/.github/dependabot.yml000066400000000000000000000014361466620631100201520ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. version: 2 updates: - package-ecosystem: "gomod" directory: "/" schedule: interval: "weekly" - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" notation-go-1.2.1/.github/licenserc.yml000066400000000000000000000026571466620631100200220ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. header: license: spdx-id: Apache-2.0 content: | Copyright The Notary Project Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. paths-ignore: - '**/*.md' - 'CODEOWNERS' - 'LICENSE' - 'MAINTAINERS' - 'go.mod' - 'go.sum' - '**/testdata/**' comment: on-failure dependency: files: - go.modnotation-go-1.2.1/.github/workflows/000077500000000000000000000000001466620631100173535ustar00rootroot00000000000000notation-go-1.2.1/.github/workflows/add-to-project.yml000066400000000000000000000016051466620631100227140ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. on: issues: types: - opened jobs: add-to-project: name: Add issue to project runs-on: ubuntu-latest steps: - uses: actions/add-to-project@main with: project-url: https://github.com/orgs/notaryproject/projects/10 github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}notation-go-1.2.1/.github/workflows/build.yml000066400000000000000000000015531466620631100212010ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: build on: push: branches: - main - release-* pull_request: branches: - main - release-* jobs: build: uses: notaryproject/notation-core-go/.github/workflows/reusable-build.yml@main secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} notation-go-1.2.1/.github/workflows/codeql.yml000066400000000000000000000015261466620631100213510ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: "CodeQL" on: push: branches: - main - release-* pull_request: branches: - main - release-* schedule: - cron: '29 2 * * 5' jobs: analyze: uses: notaryproject/notation-core-go/.github/workflows/reusable-codeql.yml@mainnotation-go-1.2.1/.github/workflows/license-checker.yml000066400000000000000000000015761466620631100231330ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: License Checker on: push: branches: - main - release-* pull_request: branches: - main - release-* permissions: contents: write pull-requests: write jobs: check-license: uses: notaryproject/notation-core-go/.github/workflows/reusable-license-checker.yml@mainnotation-go-1.2.1/.github/workflows/stale.yml000066400000000000000000000026701466620631100212130ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: "Close stale issues and PRs" on: schedule: - cron: "30 1 * * *" jobs: stale: runs-on: ubuntu-latest steps: - uses: actions/stale@v9 with: stale-issue-message: "This issue is stale because it has been opened for 60 days with no activity. Remove stale label or comment. Otherwise, it will be closed in 30 days." stale-pr-message: "This PR is stale because it has been opened for 45 days with no activity. Remove stale label or comment. Otherwise, it will be closed in 30 days." close-issue-message: "Issue closed due to no activity in the past 30 days." close-pr-message: "PR closed due to no activity in the past 30 days." days-before-issue-stale: 60 days-before-pr-stale: 45 days-before-issue-close: 30 days-before-pr-close: 30 exempt-all-milestones: true notation-go-1.2.1/.gitignore000066400000000000000000000013431466620631100157470ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Code Editors .vscode .idea *.sublime-project *.sublime-workspace # Custom coverage.txt # tmp directory was generated by example_remoteVerify_test.go tmp/notation-go-1.2.1/CODEOWNERS000066400000000000000000000003201466620631100153440ustar00rootroot00000000000000# Repo-Level Owners (in alphabetical order) # Note: This is only for the notaryproject/notation-go repo * @gokarnm @JeyJeyGao @niazfk @priteshbandi @rgnote @shizhMSFT @toddysm @Two-Hearts @vaninrao10 @yizha1 notation-go-1.2.1/CODE_OF_CONDUCT.md000066400000000000000000000002021466620631100165470ustar00rootroot00000000000000# Code of Conduct Notation follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).notation-go-1.2.1/LICENSE000066400000000000000000000261351466620631100147720ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. notation-go-1.2.1/MAINTAINERS000066400000000000000000000015431466620631100154560ustar00rootroot00000000000000# Org-Level Maintainers (in alphabetical order) # Pattern: [First Name] [Last Name] <[Email Address]> ([GitHub Handle]) Niaz Khan (@niazfk) Pritesh Bandi (@priteshbandi) Shiwei Zhang (@shizhMSFT) Toddy Mladenov (@toddysm) Vani Rao (@vaninrao10) Yi Zha (@yizha1) # Repo-Level Maintainers (in alphabetical order) # Note: This is for the notaryproject/notation-go repo Junjie Gao (@JeyJeyGao) Milind Gokarn (@gokarnm) Patrick Zheng (@Two-Hearts) Rakesh Gariganti (@rgnote) # Emeritus Org Maintainers (in alphabetical order) Justin Cormack (@justincormack) Steve Lasker (@stevelasker)notation-go-1.2.1/Makefile000066400000000000000000000024371466620631100154240ustar00rootroot00000000000000# Copyright The Notary Project Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. .PHONY: help help: @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-25s\033[0m %s\n", $$1, $$2}' .PHONY: all all: test .PHONY: test test: check-line-endings ## run unit tests go test -race -v -coverprofile=coverage.txt -covermode=atomic ./... .PHONY: clean clean: git status --ignored --short | grep '^!! ' | sed 's/!! //' | xargs rm -rf .PHONY: check-line-endings check-line-endings: ## check line endings ! find . -name "*.go" -type f -exec file "{}" ";" | grep CRLF ! find scripts -name "*.sh" -type f -exec file "{}" ";" | grep CRLF .PHONY: fix-line-endings fix-line-endings: ## fix line endings find . -type f -name "*.go" -exec sed -i -e "s/\r//g" {} + notation-go-1.2.1/README.md000066400000000000000000000033021466620631100152330ustar00rootroot00000000000000# notation-go [![Build Status](https://github.com/notaryproject/notation-go/actions/workflows/build.yml/badge.svg?event=push&branch=main)](https://github.com/notaryproject/notation-go/actions/workflows/build.yml?query=workflow%3Abuild+event%3Apush+branch%3Amain) [![Codecov](https://codecov.io/gh/notaryproject/notation-go/branch/main/graph/badge.svg)](https://codecov.io/gh/notaryproject/notation-go) [![Go Reference](https://pkg.go.dev/badge/github.com/notaryproject/notation-go.svg)](https://pkg.go.dev/github.com/notaryproject/notation-go@main) notation-go contains libraries for signing and verification of artifacts as per [Notary Project specifications](https://github.com/notaryproject/specifications). notation-go is being used by [notation](https://github.com/notaryproject/notation) CLI for signing and verifying artifacts. notation-go reached a stable release as of July 2023 and continues to be actively developed and maintained. Please visit [README](https://github.com/notaryproject/.github/blob/main/README.md) to know more about Notary Project. > [!NOTE] > The Notary Project documentation is available [here](https://notaryproject.dev/docs/). ## Table of Contents - [Documentation](#documentation) - [Code of Conduct](#code-of-conduct) - [License](#license) ## Documentation Library documentation is available at [Go Reference](https://pkg.go.dev/github.com/notaryproject/notation-go). ## Code of Conduct This project has adopted the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for further details. ## License This project is covered under the Apache 2.0 license. You can read the license [here](LICENSE). notation-go-1.2.1/config/000077500000000000000000000000001466620631100152235ustar00rootroot00000000000000notation-go-1.2.1/config/base.go000066400000000000000000000033241466620631100164660ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package config import ( "encoding/json" "fmt" "io/fs" "os" "path/filepath" "github.com/notaryproject/notation-go/dir" ) // save stores the cfg struct to file func save(filePath string, cfg interface{}) error { dir := filepath.Dir(filePath) if err := os.MkdirAll(dir, 0700); err != nil { return err } file, err := os.OpenFile(filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600) if err != nil { return err } defer file.Close() encoder := json.NewEncoder(file) encoder.SetIndent("", " ") return encoder.Encode(cfg) } // load reads file, parses json and stores in cfg struct func load(filePath string, cfg interface{}) error { path, err := dir.ConfigFS().SysPath(filePath) if err != nil { return err } // throw error if path is a directory or is a symlink or does not exist. fileInfo, err := os.Lstat(path) if err != nil { return err } mode := fileInfo.Mode() if mode.IsDir() || mode&fs.ModeSymlink != 0 { return fmt.Errorf("%q is not a regular file (symlinks are not supported)", path) } file, err := os.Open(path) if err != nil { return err } defer file.Close() return json.NewDecoder(file).Decode(cfg) } notation-go-1.2.1/config/base_test.go000066400000000000000000000027171466620631100175320ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package config import ( "fmt" "os" "path/filepath" "runtime" "testing" "github.com/notaryproject/notation-go/dir" ) func TestLoadNonExistentFile(t *testing.T) { dir.UserConfigDir = "testdata/valid" var config string err := load("non-existent", &config) if err == nil { t.Fatalf("load() expected error but not found") } } func TestLoadSymlink(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } root := t.TempDir() dir.UserConfigDir = root fileName := "symlink" os.Symlink("testdata/valid/config.json", filepath.Join(root, fileName)) expectedError := fmt.Sprintf("\"%s/%s\" is not a regular file (symlinks are not supported)", dir.UserConfigDir, fileName) var config string err := load(fileName, &config) if err != nil && err.Error() != expectedError { t.Fatalf("load() expected error= %s but found= %v", expectedError, err) } } notation-go-1.2.1/config/config.go000066400000000000000000000034341466620631100170230ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package config provides the ability to load and save config.json and // signingkeys.json. package config import ( "errors" "io/fs" "github.com/notaryproject/notation-go/dir" ) // Config reflects the config.json file. // Specification: https://github.com/notaryproject/notation/pull/76 type Config struct { InsecureRegistries []string `json:"insecureRegistries"` CredentialsStore string `json:"credsStore,omitempty"` CredentialHelpers map[string]string `json:"credHelpers,omitempty"` // SignatureFormat defines the signature envelope type for signing SignatureFormat string `json:"signatureFormat,omitempty"` } // NewConfig creates a new config file func NewConfig() *Config { return &Config{} } // Save stores the config to file func (c *Config) Save() error { path, err := dir.ConfigFS().SysPath(dir.PathConfigFile) if err != nil { return err } return save(path, c) } // LoadConfig reads the config from file or return a default config if not found. func LoadConfig() (*Config, error) { var config Config err := load(dir.PathConfigFile, &config) if err != nil { if errors.Is(err, fs.ErrNotExist) { return NewConfig(), nil } return nil, err } return &config, nil } notation-go-1.2.1/config/config_test.go000066400000000000000000000032121466620631100200540ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package config import ( "reflect" "testing" "github.com/notaryproject/notation-go/dir" ) var sampleConfig = &Config{ InsecureRegistries: []string{ "registry.wabbit-networks.io", }, SignatureFormat: "jws", } func TestLoadFile(t *testing.T) { dir.UserConfigDir = "./testdata/valid" got, err := LoadConfig() if err != nil { t.Fatalf("LoadConfig() error. err = %v", err) } if !reflect.DeepEqual(got, sampleConfig) { t.Errorf("loadFile() = %v, want %v", got, sampleConfig) } } func TestSaveFile(t *testing.T) { root := t.TempDir() dir.UserConfigDir = root sampleConfig.Save() config, err := LoadConfig() if err != nil { t.Fatal("Load config file from temp dir failed") } if !reflect.DeepEqual(sampleConfig, config) { t.Fatal("save config file failed.") } } func TestLoadNonExistedConfig(t *testing.T) { dir.UserConfigDir = "./testdata/non-existed" got, err := LoadConfig() if err != nil { t.Fatalf("LoadConfig() error. err = %v", err) } if !reflect.DeepEqual(got, NewConfig()) { t.Errorf("loadFile() = %v, want %v", got, NewConfig()) } } notation-go-1.2.1/config/keys.go000066400000000000000000000155561466620631100165410ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package config import ( "context" "crypto/tls" "errors" "fmt" "io/fs" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-go/plugin" "github.com/notaryproject/notation-go/dir" set "github.com/notaryproject/notation-go/internal/container" ) // X509KeyPair contains the paths of a public/private key pair files. type X509KeyPair struct { KeyPath string `json:"keyPath,omitempty"` CertificatePath string `json:"certPath,omitempty"` } // ExternalKey contains the necessary information to delegate // the signing operation to the named plugin. type ExternalKey struct { ID string `json:"id,omitempty"` PluginName string `json:"pluginName,omitempty"` PluginConfig map[string]string `json:"pluginConfig,omitempty"` } // KeySuite is a named key suite. type KeySuite struct { Name string `json:"name"` *X509KeyPair *ExternalKey } var errorKeyNameEmpty = errors.New("key name cannot be empty") var errKeyNotFound = errors.New("signing key not found") // SigningKeys reflects the signingkeys.json file. type SigningKeys struct { Default *string `json:"default,omitempty"` Keys []KeySuite `json:"keys"` } // NewSigningKeys creates a new signingkeys config file func NewSigningKeys() *SigningKeys { return &SigningKeys{Keys: []KeySuite{}} } // Add adds new signing key func (s *SigningKeys) Add(name, keyPath, certPath string, markDefault bool) error { if name == "" { return errorKeyNameEmpty } _, err := tls.LoadX509KeyPair(certPath, keyPath) if err != nil { return err } ks := KeySuite{ Name: name, X509KeyPair: &X509KeyPair{ KeyPath: keyPath, CertificatePath: certPath, }, } return s.add(ks, markDefault) } // AddPlugin adds new plugin based signing key func (s *SigningKeys) AddPlugin(ctx context.Context, keyName, id, pluginName string, pluginConfig map[string]string, markDefault bool) error { logger := log.GetLogger(ctx) logger.Debugf("Adding key with name %v and plugin name %v", keyName, pluginName) if keyName == "" { return errorKeyNameEmpty } if id == "" { return errors.New("missing key id") } if pluginName == "" { return errors.New("plugin name cannot be empty") } mgr := plugin.NewCLIManager(dir.PluginFS()) _, err := mgr.Get(ctx, pluginName) if err != nil { return err } ks := KeySuite{ Name: keyName, ExternalKey: &ExternalKey{ ID: id, PluginName: pluginName, PluginConfig: pluginConfig, }, } if err = s.add(ks, markDefault); err != nil { logger.Error("Failed to add key with error: %v", err) return err } logger.Debugf("Added key with name %s - {%+v}", keyName, ks) return nil } // Get returns signing key for the given name func (s *SigningKeys) Get(keyName string) (KeySuite, error) { if keyName == "" { return KeySuite{}, errorKeyNameEmpty } idx := slices.IndexIsser(s.Keys, keyName) if idx < 0 { return KeySuite{}, errKeyNotFound } return s.Keys[idx], nil } // GetDefault returns default signing key func (s *SigningKeys) GetDefault() (KeySuite, error) { if s.Default == nil { return KeySuite{}, errors.New("default signing key not set." + " Please set default signing key or specify a key name") } return s.Get(*s.Default) } // Remove deletes given signing keys and returns a slice of deleted key names func (s *SigningKeys) Remove(keyName ...string) ([]string, error) { var deletedNames []string for _, name := range keyName { if name == "" { return deletedNames, errorKeyNameEmpty } idx := slices.IndexIsser(s.Keys, name) if idx < 0 { return deletedNames, errors.New(name + ": not found") } s.Keys = slices.Delete(s.Keys, idx) deletedNames = append(deletedNames, name) if s.Default != nil && *s.Default == name { s.Default = nil } } return deletedNames, nil } // UpdateDefault updates default signing key func (s *SigningKeys) UpdateDefault(keyName string) error { if keyName == "" { return errorKeyNameEmpty } if !slices.ContainsIsser(s.Keys, keyName) { return fmt.Errorf("key with name '%s' not found", keyName) } s.Default = &keyName return nil } // Save SigningKeys to signingkeys.json file func (s *SigningKeys) Save() error { path, err := dir.ConfigFS().SysPath(dir.PathSigningKeys) if err != nil { return err } if err := validateKeys(s); err != nil { return err } return save(path, s) } // LoadSigningKeys reads the signingkeys.json file // or return a default config if not found. func LoadSigningKeys() (*SigningKeys, error) { var config SigningKeys err := load(dir.PathSigningKeys, &config) if err != nil { if errors.Is(err, fs.ErrNotExist) { return NewSigningKeys(), nil } return nil, err } if err := validateKeys(&config); err != nil { return nil, err } return &config, nil } // LoadExecSaveSigningKeys loads signing key, executes given function and // then saves the signing key func LoadExecSaveSigningKeys(fn func(keys *SigningKeys) error) error { // core process signingKeys, err := LoadSigningKeys() if err != nil { return err } if err := fn(signingKeys); err != nil { return err } return signingKeys.Save() } // Is checks whether the given name is equal with the Name variable func (k KeySuite) Is(name string) bool { return k.Name == name } func (s *SigningKeys) add(key KeySuite, markDefault bool) error { if slices.ContainsIsser(s.Keys, key.Name) { return fmt.Errorf("signing key with name %q already exists", key.Name) } s.Keys = append(s.Keys, key) if markDefault { s.Default = &key.Name } return nil } func validateKeys(config *SigningKeys) error { keys := config.Keys uniqueKeyNames := set.NewWithSize[string](len(keys)) for _, key := range keys { if len(key.Name) == 0 { return fmt.Errorf("malformed %s: key name cannot be empty", dir.PathSigningKeys) } if uniqueKeyNames.Contains(key.Name) { return fmt.Errorf("malformed %s: multiple keys with name '%s' found", dir.PathSigningKeys, key.Name) } uniqueKeyNames.Add(key.Name) } if config.Default != nil { defaultKey := *config.Default if len(defaultKey) == 0 { return fmt.Errorf("malformed %s: default key name cannot be empty", dir.PathSigningKeys) } if !uniqueKeyNames.Contains(defaultKey) { return fmt.Errorf("malformed %s: default key '%s' not found", dir.PathSigningKeys, defaultKey) } } return nil } notation-go-1.2.1/config/keys_test.go000066400000000000000000000323361466620631100175730ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package config import ( "context" "crypto/x509" "encoding/pem" "os" "path/filepath" "reflect" "testing" "github.com/notaryproject/notation-core-go/testhelper" "github.com/notaryproject/notation-go/dir" ) var sampleSigningKeysInfo = SigningKeys{ Default: Ptr("wabbit-networks"), Keys: []KeySuite{ { Name: "wabbit-networks", X509KeyPair: &X509KeyPair{ KeyPath: "/home/demo/.config/notation/localkeys/wabbit-networks.key", CertificatePath: "/home/demo/.config/notation/localkeys/wabbit-networks.crt", }, }, { Name: "import.acme-rockets", X509KeyPair: &X509KeyPair{ KeyPath: "/home/demo/.config/notation/localkeys/import.acme-rockets.key", CertificatePath: "/home/demo/.config/notation/localkeys/import.acme-rockets.crt", }, }, { Name: "external-key", ExternalKey: &ExternalKey{ ID: "id1", PluginName: "pluginX", PluginConfig: map[string]string{ "key": "value", }, }, }, }, } func TestLoadSigningKeysInfo(t *testing.T) { t.Run("Valid", func(t *testing.T) { dir.UserConfigDir = "./testdata/valid" got, err := LoadSigningKeys() if err != nil { t.Errorf("LoadSigningKeysInfo() error = \"%v\"", err) return } if !reflect.DeepEqual(sampleSigningKeysInfo.Default, got.Default) { t.Fatal("signingKeysInfo test failed.") } if !reflect.DeepEqual(sampleSigningKeysInfo.Keys, got.Keys) { t.Fatal("signingKeysInfo test failed.") } }) t.Run("DuplicateKeys", func(t *testing.T) { expectedErr := "malformed signingkeys.json: multiple keys with name 'wabbit-networks' found" dir.UserConfigDir = "./testdata/malformed-duplicate" _, err := LoadSigningKeys() if err == nil || err.Error() != expectedErr { t.Errorf("LoadSigningKeysInfo() error expected = \"%v\" but found = \"%v\"", expectedErr, err) } }) t.Run("InvalidDefault", func(t *testing.T) { expectedErr := "malformed signingkeys.json: default key 'missing-default' not found" dir.UserConfigDir = "./testdata/malformed-invalid-default" _, err := LoadSigningKeys() if err == nil || err.Error() != expectedErr { t.Errorf("LoadSigningKeysInfo() error expected = \"%v\" but found = \"%v\"", expectedErr, err) } }) } func TestSaveSigningKeys(t *testing.T) { t.Run("Valid", func(t *testing.T) { root := t.TempDir() dir.UserConfigDir = root sampleSigningKeysInfo.Save() info, err := LoadSigningKeys() if err != nil { t.Fatal("Load signingkeys.json from temp dir failed.") } if !reflect.DeepEqual(sampleSigningKeysInfo.Default, info.Default) { t.Fatal("Save signingkeys.json failed.") } if !reflect.DeepEqual(sampleSigningKeysInfo.Keys, info.Keys) { t.Fatal("Save signingkeys.json failed.") } }) t.Run("ValidWithoutDefault", func(t *testing.T) { root := t.TempDir() dir.UserConfigDir = root sampleSigningKeysInfoNoDefault := deepCopySigningKeys(sampleSigningKeysInfo) sampleSigningKeysInfoNoDefault.Default = nil sampleSigningKeysInfoNoDefault.Save() info, err := LoadSigningKeys() if err != nil { t.Fatal("Load signingkeys.json from temp dir failed.") } if !reflect.DeepEqual(sampleSigningKeysInfoNoDefault.Default, info.Default) { t.Fatal("Save signingkeys.json failed.") } if !reflect.DeepEqual(sampleSigningKeysInfoNoDefault.Keys, info.Keys) { t.Fatal("Save signingkeys.json failed.") } }) t.Run("DuplicateKeys", func(t *testing.T) { expectedErr := "malformed signingkeys.json: multiple keys with name 'import.acme-rockets' found" dir.UserConfigDir = t.TempDir() duplicateKeySignKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) duplicateKeySignKeysInfo.Keys = append(duplicateKeySignKeysInfo.Keys, KeySuite{ Name: "import.acme-rockets", X509KeyPair: &X509KeyPair{ KeyPath: "/keypath", CertificatePath: "/CertificatePath", }, }) err := duplicateKeySignKeysInfo.Save() if err == nil || err.Error() != expectedErr { t.Errorf("Save signingkeys.json failed, error expected = \"%v\" but found = \"%v\"", expectedErr, err) } }) t.Run("EmptyKeyName", func(t *testing.T) { expectedErr := "malformed signingkeys.json: key name cannot be empty" dir.UserConfigDir = t.TempDir() emptyKeyNameSignKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) emptyKeyNameSignKeysInfo.Keys[0].Name = "" err := emptyKeyNameSignKeysInfo.Save() if err == nil || err.Error() != expectedErr { t.Errorf("Save signingkeys.json failed, error expected = \"%v\" but found = \"%v\"", expectedErr, err) } }) t.Run("InvalidDefault", func(t *testing.T) { expectedErr := "malformed signingkeys.json: default key 'missing-default' not found" dir.UserConfigDir = t.TempDir() invalidDefaultSignKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) invalidDefaultSignKeysInfo.Default = Ptr("missing-default") err := invalidDefaultSignKeysInfo.Save() if err == nil || err.Error() != expectedErr { t.Errorf("Save signingkeys.json failed, error expected = \"%v\" but found = \"%v\"", expectedErr, err) } expectedErr = "malformed signingkeys.json: default key name cannot be empty" invalidDefaultSignKeysInfo.Default = Ptr("") err = invalidDefaultSignKeysInfo.Save() if err == nil || err.Error() != expectedErr { t.Errorf("Save signingkeys.json failed, error expected = \"%v\" but found = \"%v\"", expectedErr, err) } }) } func TestAdd(t *testing.T) { certPath, keyPath := createTempCertKey(t) t.Run("WithDefault", func(t *testing.T) { testSigningKeys := deepCopySigningKeys(sampleSigningKeysInfo) expectedTestKeyName := "name1" if err := testSigningKeys.Add(expectedTestKeyName, keyPath, certPath, true); err != nil { t.Errorf("Add() failed with err= %v", err) } expectedSigningKeys := append(deepCopySigningKeys(sampleSigningKeysInfo).Keys, KeySuite{ Name: expectedTestKeyName, X509KeyPair: &X509KeyPair{ KeyPath: keyPath, CertificatePath: certPath, }, }) if expectedTestKeyName != *testSigningKeys.Default { t.Error("Add() failed, incorrect default key") } if !reflect.DeepEqual(testSigningKeys.Keys, expectedSigningKeys) { t.Error("Add() failed, KeySuite mismatch") } }) t.Run("WithoutDefault", func(t *testing.T) { dir.UserConfigDir = t.TempDir() testSigningKeys := deepCopySigningKeys(sampleSigningKeysInfo) expectedTestKeyName := "name2" certPath, keyPath := createTempCertKey(t) if err := testSigningKeys.Add(expectedTestKeyName, keyPath, certPath, false); err != nil { t.Errorf("Add() failed with err= %v", err) } expectedSigningKeys := append(deepCopySigningKeys(sampleSigningKeysInfo).Keys, KeySuite{ Name: expectedTestKeyName, X509KeyPair: &X509KeyPair{ KeyPath: keyPath, CertificatePath: certPath, }, }) if *sampleSigningKeysInfo.Default != *testSigningKeys.Default { t.Error("Add() failed, default key changed") } if !reflect.DeepEqual(testSigningKeys.Keys, expectedSigningKeys) { t.Error("Add() failed, KeySuite mismatch") } }) t.Run("InvalidCertKeyLocation", func(t *testing.T) { err := sampleSigningKeysInfo.Add("name1", "invalid", "invalid", true) if err == nil { t.Error("expected Add() to fail for invalid cert and key location") } }) t.Run("InvalidName", func(t *testing.T) { err := sampleSigningKeysInfo.Add("", "invalid", "invalid", true) if err == nil { t.Error("expected Add() to fail for empty key name") } }) t.Run("InvalidName", func(t *testing.T) { err := sampleSigningKeysInfo.Add("", "invalid", "invalid", true) if err == nil { t.Error("expected Add() to fail for empty key name") } }) t.Run("DuplicateKey", func(t *testing.T) { err := sampleSigningKeysInfo.Add(sampleSigningKeysInfo.Keys[0].Name, "invalid", "invalid", true) if err == nil { t.Error("expected Add() to fail for duplicate name") } }) } func TestPluginAdd(t *testing.T) { config := map[string]string{"key1": "value1"} name := "name1" id := "pluginId1" pluginName := "pluginName1" t.Run("InvalidCertKeyLocation", func(t *testing.T) { err := sampleSigningKeysInfo.Add("name1", "invalid", "invalid", true) if err == nil { t.Error("expected AddPlugin() to fail for invalid cert and key location") } }) t.Run("InvalidName", func(t *testing.T) { err := sampleSigningKeysInfo.AddPlugin(context.Background(), "", id, pluginName, config, true) if err == nil { t.Error("expected AddPlugin() to fail for empty key name") } }) t.Run("InvalidId", func(t *testing.T) { err := sampleSigningKeysInfo.AddPlugin(context.Background(), name, "", pluginName, config, true) if err == nil { t.Error("expected AddPlugin() to fail for empty key name") } }) t.Run("InvalidPluginName", func(t *testing.T) { err := sampleSigningKeysInfo.AddPlugin(context.Background(), name, id, "", config, true) if err == nil { t.Error("AddPlugin AddPlugin() to fail for empty plugin name") } }) } func TestGet(t *testing.T) { t.Run("Valid", func(t *testing.T) { key, err := sampleSigningKeysInfo.Get("external-key") if err != nil { t.Errorf("Get() failed with error= %v", err) } if !reflect.DeepEqual(key, sampleSigningKeysInfo.Keys[2]) { t.Errorf("Get() returned %v but expected %v", key, sampleSigningKeysInfo.Keys[2]) } }) t.Run("NonExistent", func(t *testing.T) { if _, err := sampleSigningKeysInfo.Get("nonExistent"); err == nil { t.Error("expected Get() to fail for nonExistent key name") } }) t.Run("InvalidName", func(t *testing.T) { if _, err := sampleSigningKeysInfo.Get(""); err == nil { t.Error("expected Get() to fail for invalid key name") } }) } func TestGetDefault(t *testing.T) { t.Run("Valid", func(t *testing.T) { key, err := sampleSigningKeysInfo.GetDefault() if err != nil { t.Errorf("GetDefault() failed with error= %v", err) } if !reflect.DeepEqual(key.Name, *sampleSigningKeysInfo.Default) { t.Errorf("GetDefault() returned %s but expected %s", key.Name, *sampleSigningKeysInfo.Default) } }) t.Run("NoDefault", func(t *testing.T) { testSigningKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) testSigningKeysInfo.Default = nil if _, err := testSigningKeysInfo.GetDefault(); err == nil { t.Error("GetDefault Get() to fail there is no defualt key") } }) } func TestUpdateDefault(t *testing.T) { t.Run("Valid", func(t *testing.T) { testSigningKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) newDefault := sampleSigningKeysInfo.Keys[1].Name err := testSigningKeysInfo.UpdateDefault(newDefault) if err != nil { t.Errorf("UpdateDefault() failed with error= %v", err) } if !reflect.DeepEqual(newDefault, *testSigningKeysInfo.Default) { t.Errorf("UpdateDefault() didn't update default key") } }) t.Run("NonExistent", func(t *testing.T) { if err := sampleSigningKeysInfo.UpdateDefault("nonExistent"); err == nil { t.Error("expected Get() to fail for nonExistent key name") } }) t.Run("InvalidName", func(t *testing.T) { if err := sampleSigningKeysInfo.UpdateDefault(""); err == nil { t.Error("expected Get() to fail for invalid key name") } }) } func TestRemove(t *testing.T) { testKeyName := "wabbit-networks" testSigningKeysInfo := deepCopySigningKeys(sampleSigningKeysInfo) t.Run("Valid", func(t *testing.T) { keys, err := testSigningKeysInfo.Remove(testKeyName) if err != nil { t.Errorf("testSigningKeysInfo() failed with error= %v", err) } if _, err := testSigningKeysInfo.Get(testKeyName); err == nil { t.Error("Delete() filed to delete key") } if keys[0] != testKeyName { t.Error("Delete() deleted key name mismatch") } }) t.Run("NonExistent", func(t *testing.T) { if _, err := testSigningKeysInfo.Remove(testKeyName); err == nil { t.Error("expected Get() to fail for nonExistent key name") } }) t.Run("InvalidName", func(t *testing.T) { if _, err := testSigningKeysInfo.Remove(""); err == nil { t.Error("expected Get() to fail for invalid key name") } }) } func deepCopySigningKeys(keys SigningKeys) SigningKeys { cpyKeys := make([]KeySuite, len(sampleSigningKeysInfo.Keys)) copy(cpyKeys, keys.Keys) cpyDefault := *keys.Default cpySignKeys := keys cpySignKeys.Default = &cpyDefault cpySignKeys.Keys = cpyKeys return cpySignKeys } func Ptr[T any](v T) *T { return &v } func createTempCertKey(t *testing.T) (string, string) { certTuple := testhelper.GetRSARootCertificate() certPath := filepath.Join(t.TempDir(), "cert.tmp") certData := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: certTuple.Cert.Raw}) if err := os.WriteFile(certPath, certData, 0600); err != nil { panic(err) } keyPath := filepath.Join(t.TempDir(), "key.tmp") keyBytes, _ := x509.MarshalPKCS8PrivateKey(certTuple.PrivateKey) keyData := pem.EncodeToMemory(&pem.Block{Type: "PRIVATE KEY", Bytes: keyBytes}) if err := os.WriteFile(keyPath, keyData, 0600); err != nil { panic(err) } return certPath, keyPath } notation-go-1.2.1/config/testdata/000077500000000000000000000000001466620631100170345ustar00rootroot00000000000000notation-go-1.2.1/config/testdata/malformed-duplicate/000077500000000000000000000000001466620631100227525ustar00rootroot00000000000000notation-go-1.2.1/config/testdata/malformed-duplicate/signingkeys.json000066400000000000000000000013121466620631100261740ustar00rootroot00000000000000{ "default": "wabbit-networks", "keys": [ { "name": "wabbit-networks", "keyPath": "/home/demo/.config/notation/localkeys/wabbit-networks.key", "certPath": "/home/demo/.config/notation/localkeys/wabbit-networks.crt" }, { "name": "wabbit-networks", "keyPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.key", "certPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.crt" }, { "name": "external-key", "id": "id1", "pluginName": "pluginX", "pluginConfig": { "key": "value" } } ] }notation-go-1.2.1/config/testdata/malformed-invalid-default/000077500000000000000000000000001466620631100240505ustar00rootroot00000000000000notation-go-1.2.1/config/testdata/malformed-invalid-default/signingkeys.json000066400000000000000000000013161466620631100272760ustar00rootroot00000000000000{ "default": "missing-default", "keys": [ { "name": "wabbit-networks", "keyPath": "/home/demo/.config/notation/localkeys/wabbit-networks.key", "certPath": "/home/demo/.config/notation/localkeys/wabbit-networks.crt" }, { "name": "import.acme-rockets", "keyPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.key", "certPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.crt" }, { "name": "external-key", "id": "id1", "pluginName": "pluginX", "pluginConfig": { "key": "value" } } ] }notation-go-1.2.1/config/testdata/valid/000077500000000000000000000000001466620631100201335ustar00rootroot00000000000000notation-go-1.2.1/config/testdata/valid/config.json000066400000000000000000000001511466620631100222700ustar00rootroot00000000000000{ "insecureRegistries": [ "registry.wabbit-networks.io" ], "signatureFormat": "jws" }notation-go-1.2.1/config/testdata/valid/signingkeys.json000066400000000000000000000013161466620631100233610ustar00rootroot00000000000000{ "default": "wabbit-networks", "keys": [ { "name": "wabbit-networks", "keyPath": "/home/demo/.config/notation/localkeys/wabbit-networks.key", "certPath": "/home/demo/.config/notation/localkeys/wabbit-networks.crt" }, { "name": "import.acme-rockets", "keyPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.key", "certPath": "/home/demo/.config/notation/localkeys/import.acme-rockets.crt" }, { "name": "external-key", "id": "id1", "pluginName": "pluginX", "pluginConfig": { "key": "value" } } ] }notation-go-1.2.1/dir/000077500000000000000000000000001466620631100145345ustar00rootroot00000000000000notation-go-1.2.1/dir/fs.go000066400000000000000000000031531466620631100154750ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package dir import ( "io/fs" "os" "path/filepath" ) // SysFS is virtual file system interface that support fs.FS and SysPath method. type SysFS interface { fs.FS // SysPath returns the real system path of the given path items in the SysFS. SysPath(items ...string) (string, error) } type sysFS struct { fs.FS root string } // SysPath returns the real system path of the given name in the SysFS. func (s sysFS) SysPath(items ...string) (string, error) { pathItems := []string{s.root} pathItems = append(pathItems, items...) return filepath.Join(pathItems...), nil } // NewSysFS returns the SysFS for the given root directory. // // Support one root directory for rc.1, and may support union directories FS // after rc.1. func NewSysFS(root string) SysFS { return sysFS{ FS: os.DirFS(root), root: root} } // ConfigFS is the config SysFS func ConfigFS() SysFS { return NewSysFS(userConfigDirPath()) } // PluginFS is the plugin SysFS func PluginFS() SysFS { return NewSysFS(filepath.Join(userLibexecDirPath(), PathPlugins)) } notation-go-1.2.1/dir/fs_test.go000066400000000000000000000041211466620631100165300ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package dir import ( "bytes" "path/filepath" "testing" ) func TestSysFS_SysPath(t *testing.T) { wantPath := filepath.FromSlash("/path/notation/config.json") fsys := NewSysFS("/path/notation") path, err := fsys.SysPath(PathConfigFile) if err != nil { t.Fatalf("SysPath() failed. err = %v", err) } if path != wantPath { t.Fatalf(`SysPath() failed. got: %q, want: %q`, path, wantPath) } } func TestOsFs(t *testing.T) { wantData := []byte("data") fsys := NewSysFS("./testdata") // read test file path, err := fsys.Open("data.txt") if err != nil { t.Fatalf("Open() failed. err = %v", err) } data := make([]byte, 4) _, err = path.Read(data) if err != nil { t.Fatalf("Read() failed. err = %v", err) } if !bytes.Equal(data, wantData) { t.Fatalf("SysFS read failed. got data = %v, want %v", data, wantData) } } func TestConfigFS(t *testing.T) { configFS := ConfigFS() path, err := configFS.SysPath(PathConfigFile) if err != nil { t.Fatalf("SysPath() failed. err = %v", err) } if path != filepath.Join(UserConfigDir, PathConfigFile) { t.Fatalf(`SysPath() failed. got: %q, want: %q`, path, filepath.Join(UserConfigDir, PathConfigFile)) } } func TestPluginFS(t *testing.T) { pluginFS := PluginFS() path, err := pluginFS.SysPath("plugin") if err != nil { t.Fatalf("SysPath() failed. err = %v", err) } if path != filepath.Join(userLibexecDirPath(), PathPlugins, "plugin") { t.Fatalf(`SysPath() failed. got: %q, want: %q`, path, filepath.Join(userLibexecDirPath(), PathPlugins, "plugin")) } } notation-go-1.2.1/dir/path.go000066400000000000000000000072741466620631100160310ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package dir implements Notation directory structure. // [directory spec]: https://github.com/notaryproject/notation/blob/main/specs/directory.md // // Example: // // - Read config.json: // file, err := dir.ConfigFS().Open(dir.PathConfigFile) // // - Get the path of config.json: // path, err := dir.ConfigFS().SysPath(dir.PathConfigFile) // // - Read trustpolicy.json: // file, err := dir.ConfigFS().Open(dir.PathTrustPolicy) // // - Get the path of trustpolicy.json: // path, err := dir.ConfigFS().SysPath(dir.PathTrustPolicy) // // - Set custom configurations directory: // dir.UserConfigDir = '/path/to/configurations/' // // Only user level directory is supported for RC.1, and system level directory // may be added later. package dir import ( "os" "path" "path/filepath" ) var ( UserConfigDir string // Absolute path of user level {NOTATION_CONFIG} UserLibexecDir string // Absolute path of user level {NOTATION_LIBEXEC} ) const ( // notation is the directory name for notation configurations. notation = "notation" ) // The relative path to {NOTATION_CONFIG} const ( // PathConfigFile is the config.json file relative path. PathConfigFile = "config.json" // PathSigningKeys is the signingkeys file relative path. PathSigningKeys = "signingkeys.json" // PathTrustPolicy is the trust policy file relative path. PathTrustPolicy = "trustpolicy.json" // PathPlugins is the plugins directory relative path. PathPlugins = "plugins" // LocalKeysDir is the directory name for local key relative path. LocalKeysDir = "localkeys" // LocalCertificateExtension defines the extension of the certificate files. LocalCertificateExtension = ".crt" // LocalKeyExtension defines the extension of the key files. LocalKeyExtension = ".key" // TrustStoreDir is the directory name of trust store. TrustStoreDir = "truststore" ) var userConfigDir = os.UserConfigDir // for unit test // userConfigDirPath returns the user level {NOTATION_CONFIG} path. func userConfigDirPath() string { if UserConfigDir == "" { userDir, err := userConfigDir() if err != nil { // fallback to current directory UserConfigDir = "." + notation return UserConfigDir } // set user config UserConfigDir = filepath.Join(userDir, notation) } return UserConfigDir } // userLibexecDirPath returns the user level {NOTATION_LIBEXEC} path. func userLibexecDirPath() string { if UserLibexecDir == "" { // set user libexec UserLibexecDir = userConfigDirPath() } return UserLibexecDir } // LocalKeyPath returns the local key and local cert relative paths. func LocalKeyPath(name string) (keyPath, certPath string) { basePath := path.Join(LocalKeysDir, name) return basePath + LocalKeyExtension, basePath + LocalCertificateExtension } // X509TrustStoreDir returns the trust store relative path. // // items includes named-store and cert-file names. // the directory follows the pattern of // {NOTATION_CONFIG}/truststore/x509/{store-type}/{named-store}/{cert-file} func X509TrustStoreDir(items ...string) string { pathItems := []string{TrustStoreDir, "x509"} pathItems = append(pathItems, items...) return path.Join(pathItems...) } notation-go-1.2.1/dir/path_test.go000066400000000000000000000042361466620631100170630ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package dir import ( "os" "testing" ) func mockGetUserConfig() (string, error) { return "/path/", nil } func setup() { UserConfigDir = "" UserLibexecDir = "" } func Test_UserConfigDirPath(t *testing.T) { userConfigDir = mockGetUserConfig setup() got := userConfigDirPath() if got != "/path/notation" { t.Fatalf(`UserConfigDirPath() = %q, want "/path/notation"`, got) } } func Test_NoHomeVariable(t *testing.T) { t.Setenv("HOME", "") t.Setenv("XDG_CONFIG_HOME", "") setup() userConfigDir = os.UserConfigDir got := userConfigDirPath() if got != ".notation" { t.Fatalf(`UserConfigDirPath() = %q, want ".notation"`, UserConfigDir) } } func Test_UserLibexecDirPath(t *testing.T) { userConfigDir = mockGetUserConfig setup() got := userLibexecDirPath() if got != "/path/notation" { t.Fatalf(`UserConfigDirPath() = %q, want "/path/notation"`, got) } } func TestLocalKeyPath(t *testing.T) { userConfigDir = mockGetUserConfig setup() _ = userConfigDirPath() _ = userLibexecDirPath() gotKeyPath, gotCertPath := LocalKeyPath("web") if gotKeyPath != "localkeys/web.key" { t.Fatalf(`LocalKeyPath() gotKeyPath = %q, want "localkeys/web.key"`, gotKeyPath) } if gotCertPath != "localkeys/web.crt" { t.Fatalf(`LocalKeyPath() gotCertPath = %q, want "localkeys/web.crt"`, gotCertPath) } } func TestX509TrustStoreDir(t *testing.T) { userConfigDir = mockGetUserConfig setup() _ = userConfigDirPath() _ = userLibexecDirPath() if got := X509TrustStoreDir("ca", "web"); got != "truststore/x509/ca/web" { t.Fatalf(`X509TrustStoreDir() = %q, want "truststore/x509/ca/web"`, got) } } notation-go-1.2.1/dir/testdata/000077500000000000000000000000001466620631100163455ustar00rootroot00000000000000notation-go-1.2.1/dir/testdata/data.txt000066400000000000000000000000041466620631100200110ustar00rootroot00000000000000datanotation-go-1.2.1/errors.go000066400000000000000000000051031466620631100156200ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation // ErrorPushSignatureFailed is used when failed to push signature to the // target registry. type ErrorPushSignatureFailed struct { Msg string } func (e ErrorPushSignatureFailed) Error() string { if e.Msg != "" { return "failed to push signature to registry with error: " + e.Msg } return "failed to push signature to registry" } // ErrorVerificationInconclusive is used when signature verification fails due // to a runtime error (e.g. a network error) type ErrorVerificationInconclusive struct { Msg string } func (e ErrorVerificationInconclusive) Error() string { if e.Msg != "" { return e.Msg } return "signature verification was inclusive due to an unexpected error" } // ErrorNoApplicableTrustPolicy is used when there is no trust policy that // applies to the given artifact type ErrorNoApplicableTrustPolicy struct { Msg string } func (e ErrorNoApplicableTrustPolicy) Error() string { if e.Msg != "" { return e.Msg } return "there is no applicable trust policy for the given artifact" } // ErrorSignatureRetrievalFailed is used when notation is unable to retrieve the // digital signature/s for the given artifact type ErrorSignatureRetrievalFailed struct { Msg string } func (e ErrorSignatureRetrievalFailed) Error() string { if e.Msg != "" { return e.Msg } return "unable to retrieve the digital signature from the registry" } // ErrorVerificationFailed is used when it is determined that the digital // signature/s is not valid for the given artifact type ErrorVerificationFailed struct { Msg string } func (e ErrorVerificationFailed) Error() string { if e.Msg != "" { return e.Msg } return "signature verification failed" } // ErrorUserMetadataVerificationFailed is used when the signature does not // contain the user specified metadata type ErrorUserMetadataVerificationFailed struct { Msg string } func (e ErrorUserMetadataVerificationFailed) Error() string { if e.Msg != "" { return e.Msg } return "unable to find specified metadata in the signature" } notation-go-1.2.1/errors_test.go000066400000000000000000000054641466620631100166710ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation import "testing" func TestErrorMessages(t *testing.T) { tests := []struct { name string err error want string }{ { name: "ErrorPushSignatureFailed with message", err: ErrorPushSignatureFailed{Msg: "test message"}, want: "failed to push signature to registry with error: test message", }, { name: "ErrorPushSignatureFailed without message", err: ErrorPushSignatureFailed{}, want: "failed to push signature to registry", }, { name: "ErrorVerificationInconclusive with message", err: ErrorVerificationInconclusive{Msg: "test message"}, want: "test message", }, { name: "ErrorVerificationInconclusive without message", err: ErrorVerificationInconclusive{}, want: "signature verification was inclusive due to an unexpected error", }, { name: "ErrorNoApplicableTrustPolicy with message", err: ErrorNoApplicableTrustPolicy{Msg: "test message"}, want: "test message", }, { name: "ErrorNoApplicableTrustPolicy without message", err: ErrorNoApplicableTrustPolicy{}, want: "there is no applicable trust policy for the given artifact", }, { name: "ErrorSignatureRetrievalFailed with message", err: ErrorSignatureRetrievalFailed{Msg: "test message"}, want: "test message", }, { name: "ErrorSignatureRetrievalFailed without message", err: ErrorSignatureRetrievalFailed{}, want: "unable to retrieve the digital signature from the registry", }, { name: "ErrorVerificationFailed with message", err: ErrorVerificationFailed{Msg: "test message"}, want: "test message", }, { name: "ErrorVerificationFailed without message", err: ErrorVerificationFailed{}, want: "signature verification failed", }, { name: "ErrorUserMetadataVerificationFailed with message", err: ErrorUserMetadataVerificationFailed{Msg: "test message"}, want: "test message", }, { name: "ErrorUserMetadataVerificationFailed without message", err: ErrorUserMetadataVerificationFailed{}, want: "unable to find specified metadata in the signature", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := tt.err.Error(); got != tt.want { t.Errorf("Error() = %v, want %v", got, tt.want) } }) } } notation-go-1.2.1/example_localSign_test.go000066400000000000000000000075071466620631100210030ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "crypto/x509" "fmt" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/testhelper" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/signer" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) var ( // exampleDesc is an example of the target manifest descriptor. exampleDesc = ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: "sha256:c0d488a800e4127c334ad20d61d7bc21b4097540327217dfab52262adc02380c", Size: 528, } // exampleCertTuple contains a RSA privateKey and a self-signed X509 // certificate generated for demo purpose ONLY. exampleCertTuple = testhelper.GetRSASelfSignedSigningCertTuple("Notation Example self-signed") exampleCerts = []*x509.Certificate{exampleCertTuple.Cert} ) // ExampleLocalSign demonstrates how to use signer.Sign to sign an artifact // at local (without using a registry.Repository). func Example_localSign() { // exampleSigner is a notation.Signer given key and X509 certificate chain. // Users should replace `exampleCertTuple.PrivateKey` with their own private // key and replace `exampleCerts` with the corresponding full certificate // chain, following the Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleSigner, err := signer.NewGenericSigner(exampleCertTuple.PrivateKey, exampleCerts) if err != nil { panic(err) // Handle error } // Both COSE ("application/cose") and JWS ("application/jose+json") // signature mediaTypes are supported. exampleSignatureMediaType := cose.MediaTypeEnvelope // exampleSignOptions is an example of notation.SignerSignOptions. exampleSignOptions := notation.SignerSignOptions{ SignatureMediaType: exampleSignatureMediaType, SigningAgent: "example signing agent", } // local sign core process // upon successful signing, signature envelope and signerInfo are returned. // signatureEnvelope can be used in a verification process later on. signatureEnvelope, signerInfo, err := exampleSigner.Sign(context.Background(), exampleDesc, exampleSignOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully signed") // a peek of the signature envelope generated from Sign sigBlob, err := signature.ParseEnvelope(exampleSignatureMediaType, signatureEnvelope) if err != nil { panic(err) // Handle error } sigContent, err := sigBlob.Content() if err != nil { panic(err) // Handle error } fmt.Println("signature Payload ContentType:", sigContent.Payload.ContentType) fmt.Println("signature Payload Content:", string(sigContent.Payload.Content)) fmt.Println("signerInfo SigningAgent:", signerInfo.UnsignedAttributes.SigningAgent) // Output: // Successfully signed // signature Payload ContentType: application/vnd.cncf.notary.payload.v1+json // signature Payload Content: {"targetArtifact":{"mediaType":"application/vnd.docker.distribution.manifest.v2+json","digest":"sha256:c0d488a800e4127c334ad20d61d7bc21b4097540327217dfab52262adc02380c","size":528}} // signerInfo SigningAgent: example signing agent } notation-go-1.2.1/example_localVerify_test.go000066400000000000000000000230141466620631100213360ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "encoding/pem" "errors" "fmt" "os" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/verifier" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // examplePolicyDocument is an example of a valid trust policy document. // trust policy document should follow this spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy var examplePolicyDocument = trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "test-statement-name", RegistryScopes: []string{"example/software"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: trustpolicy.LevelStrict.Name, Override: map[trustpolicy.ValidationType]trustpolicy.ValidationAction{trustpolicy.TypeRevocation: trustpolicy.ActionSkip}}, TrustStores: []string{"ca:valid-trust-store"}, TrustedIdentities: []string{"*"}, }, }, } // ExampleLocalVerify demonstrates how to use verifier.Verify to verify a // signature of the target artifact at local (without using a // registry.Repository). func Example_localVerify() { // exampleArtifactReference is an example of the target artifact reference exampleArtifactReference := "example/software@sha256:c0d488a800e4127c334ad20d61d7bc21b4097540327217dfab52262adc02380c" // Both COSE ("application/cose") and JWS ("application/jose+json") // signature mediaTypes are supported. exampleSignatureMediaType := cose.MediaTypeEnvelope // exampleTargetDescriptor is an example of the target manifest descriptor. exampleTargetDescriptor := ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: "sha256:c0d488a800e4127c334ad20d61d7bc21b4097540327217dfab52262adc02380c", Size: 528, } // exampleSignatureEnvelope is a valid signature envelope. exampleSignatureEnvelope := generateExampleSignatureEnvelope() // exampleVerifyOptions is an example of notation.VerifierVerifyOptions exampleVerifyOptions := notation.VerifierVerifyOptions{ ArtifactReference: exampleArtifactReference, SignatureMediaType: exampleSignatureMediaType, } // createTrustStore creates a trust store directory for demo purpose. // Users could use the default trust store from Notary and add trusted // certificates into it following the trust store spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store if err := createTrustStore(); err != nil { panic(err) // Handle error } // exampleVerifier is an example of notation.Verifier given // trust policy document and X509 trust store. exampleVerifier, err := verifier.New(&examplePolicyDocument, truststore.NewX509TrustStore(dir.ConfigFS()), nil) if err != nil { panic(err) // Handle error } // local verify core process // upon successful verification, the signature verification outcome is // returned. outcome, err := exampleVerifier.Verify(context.Background(), exampleTargetDescriptor, exampleSignatureEnvelope, exampleVerifyOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully verified") // a peek of the payload inside the signature envelope fmt.Println("payload ContentType:", outcome.EnvelopeContent.Payload.ContentType) // Note, upon successful verification, payload.TargetArtifact from the // signature envelope matches exactly with our exampleTargetDescriptor. // (This check has been done for the user inside verifier.Verify.) fmt.Println("payload Content:", string(outcome.EnvelopeContent.Payload.Content)) // Output: // Successfully verified // payload ContentType: application/vnd.cncf.notary.payload.v1+json // payload Content: {"targetArtifact":{"mediaType":"application/vnd.docker.distribution.manifest.v2+json","digest":"sha256:c0d488a800e4127c334ad20d61d7bc21b4097540327217dfab52262adc02380c","size":528}} } func generateExampleSignatureEnvelope() []byte { // exampleSignatureEnvelopePem is a valid signature envelope in COSE format // wrapped by a PEM block. // The signature envelope is generated in a previous Sign process. // Users should replace it with their own signature envelope. // Regarding how to generate such signature envelopes, users could refer to // `example_localSign_test.go`. exampleSignatureEnvelopePem := `-----BEGIN EXAMPLE SIGNATURE ENVELOPE----- 0oRYnqUBOCQCgXgcaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZQN4K2FwcGxp Y2F0aW9uL3ZuZC5jbmNmLm5vdGFyeS5wYXlsb2FkLnYxK2pzb254GmlvLmNuY2Yu bm90YXJ5LnNpZ25pbmdUaW1lwRpju22GeBxpby5jbmNmLm5vdGFyeS5zaWduaW5n U2NoZW1la25vdGFyeS54NTA5ohghgVkDRDCCA0AwggIooAMCAQICAVEwDQYJKoZI hvcNAQELBQAwTjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdT ZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxDzANBgNVBAMTBmFscGluZTAgFw0wMDA4 MjkxMzUwMDBaGA8yMTIzMDgyOTEzNTAwMFowTjELMAkGA1UEBhMCVVMxCzAJBgNV BAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxDzANBgNV BAMTBmFscGluZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKHIN6hL MjQwy3wfDhw+HYYvjNTTytQLMuTV/OHPoL2nGbqDy08JqTn5upz7exjzwfRu0usc YRTW0cU2H2FIyvpGgo9/F4wUX+ZRnsG0iSlZMUPNv2sVO9HHkltyaWs62oHjfSVE 2fyX4uDH54qSE8HJjKIoo/Hhqx7JI8lcmWyXdFjDCkQ1lYSz1IjzFVrf+He2LWSL c2nGkCrV5l4LEwk1qSKJbN4H7TWI60KDLFHpVHQ/LzgFjfSdvP0sgvrkofytSn8l JW6rn5+HYvAxAcZ7T+cJ12GyS9Y7Y7FIBMQFY0MU9cyOfV9+pt7d2CqgkIdXLndN i+aJzm2Os4+ezekCAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG CCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAvAIwS8uxLEaYuqILgnRUm+p0R o7xdezfm+pg297AEZwfE9acb8009usmvgMlkfo46HRMGzCEvtd5Vfvak9i8KpWzl DWOdfT2thkUWO9iY3qMFiN4ipCmjM32VAe5UUxl3RLmQKS20zv9yVXEfX37tNDdV GgD/WBhJUreCQyWAPTPnf0LaPh4iLBNCo/o3Z8CGKLzzzpa8iji3xW/69RhKu5+t 8RWc/N4sljWmXbCeTd2B8XTqZGwWwmpThAQyU40CqngGAS6ADTVNDgbJZqhwkgUx J4W6iRzekCshdPUnDpeS8DNULE5dFGObIhiwH4/40n/Th/VS0zxzkvPzdCmueBtp by5jbmNmLm5vdGFyeS5zaWduaW5nQWdlbnRuTm90YXRpb24vMS4wLjBYtXsidGFy Z2V0QXJ0aWZhY3QiOnsibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLmRvY2tl ci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsImRpZ2VzdCI6InNoYTI1 NjpjMGQ0ODhhODAwZTQxMjdjMzM0YWQyMGQ2MWQ3YmMyMWI0MDk3NTQwMzI3MjE3 ZGZhYjUyMjYyYWRjMDIzODBjIiwic2l6ZSI6NTI4fX1ZAQBUIYPA45B/iFylmloW s/NpTVsheuedJb6nnXK0XR46BYs4AeCXVVYSRDK2Bq+tA9C7BXHoeCMcqnAHa8qs ZR/fcMa9FrEPI6Pl8QVE/6QRMkT+Drn+9CSFxzHk6CU9S1vRsUVYNcibyejnuVEE RPYaORrnfTc5wIs4XxeqprmrLimMMNn+u82Uadtc57tbHbY8Vh4XEKP++hBJJNvQ E60X5aWKIS2RnOEc4n9T7LdN0bOL1OoM1lW4iTFMhzfcy/VmF8PrOStFS9LllX3J 69V0WwHbmD33cjtVBDCF44UXRWgLQGbE6yaaVmdxEUBGKqSUeHf8Gp7WoZ/YaFmz xQr/ -----END EXAMPLE SIGNATURE ENVELOPE-----` block, _ := pem.Decode([]byte(exampleSignatureEnvelopePem)) if block == nil { panic(errors.New("invalid signature envelope pem block")) } // block.Bytes contains the binary of the signature envelope. return block.Bytes } func createTrustStore() error { // changing the path of the trust store for demo purpose. // Users could keep the default value, i.e. os.UserConfigDir. dir.UserConfigDir = "tmp" // an example of a valid X509 self-signed certificate for demo purpose ONLY. // (This self-signed cert is paired with the private key used to // generate the `exampleSignatureEnvelopePem` above.) // Users should replace `exampleX509Certificate` with their own trusted // certificate and add to the trust store, following the // Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleX509Certificate := `-----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIBUTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEP MA0GA1UEAxMGYWxwaW5lMCAXDTAwMDgyOTEzNTAwMFoYDzIxMjMwODI5MTM1MDAw WjBOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUx DzANBgNVBAoTBk5vdGFyeTEPMA0GA1UEAxMGYWxwaW5lMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAocg3qEsyNDDLfB8OHD4dhi+M1NPK1Asy5NX84c+g vacZuoPLTwmpOfm6nPt7GPPB9G7S6xxhFNbRxTYfYUjK+kaCj38XjBRf5lGewbSJ KVkxQ82/axU70ceSW3JpazrageN9JUTZ/Jfi4MfnipITwcmMoiij8eGrHskjyVyZ bJd0WMMKRDWVhLPUiPMVWt/4d7YtZItzacaQKtXmXgsTCTWpIols3gftNYjrQoMs UelUdD8vOAWN9J28/SyC+uSh/K1KfyUlbqufn4di8DEBxntP5wnXYbJL1jtjsUgE xAVjQxT1zI59X36m3t3YKqCQh1cud02L5onObY6zj57N6QIDAQABoycwJTAOBgNV HQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQAD ggEBAC8AjBLy7EsRpi6oguCdFSb6nRGjvF17N+b6mDb3sARnB8T1pxvzTT26ya+A yWR+jjodEwbMIS+13lV+9qT2LwqlbOUNY519Pa2GRRY72JjeowWI3iKkKaMzfZUB 7lRTGXdEuZApLbTO/3JVcR9ffu00N1UaAP9YGElSt4JDJYA9M+d/Qto+HiIsE0Kj +jdnwIYovPPOlryKOLfFb/r1GEq7n63xFZz83iyWNaZdsJ5N3YHxdOpkbBbCalOE BDJTjQKqeAYBLoANNU0OBslmqHCSBTEnhbqJHN6QKyF09ScOl5LwM1QsTl0UY5si GLAfj/jSf9OH9VLTPHOS8/N0Ka4= -----END CERTIFICATE-----` // Adding the certificate into the trust store. if err := os.MkdirAll("tmp/truststore/x509/ca/valid-trust-store", 0700); err != nil { return err } return os.WriteFile("tmp/truststore/x509/ca/valid-trust-store/NotationLocalExample.pem", []byte(exampleX509Certificate), 0600) } notation-go-1.2.1/example_remoteSign_test.go000066400000000000000000000063771466620631100212100ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "crypto/x509" "fmt" "oras.land/oras-go/v2/registry/remote" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/testhelper" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/signer" ) // Both COSE ("application/cose") and JWS ("application/jose+json") // signature mediaTypes are supported. var exampleSignatureMediaType = cose.MediaTypeEnvelope // ExampleRemoteSign demonstrates how to use notation.Sign to sign an artifact // in the remote registry and push the signature to the remote. func Example_remoteSign() { // exampleArtifactReference is an example of the target artifact reference var exampleArtifactReference = "localhost:5000/software@sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e" // exampleCertTuple contains a RSA privateKey and a self-signed X509 // certificate generated for demo purpose ONLY. exampleCertTuple := testhelper.GetRSASelfSignedSigningCertTuple("Notation Example self-signed") exampleCerts := []*x509.Certificate{exampleCertTuple.Cert} // exampleSigner is a notation.Signer given key and X509 certificate chain. // Users should replace `exampleCertTuple.PrivateKey` with their own private // key and replace `exampleCerts` with the corresponding full certificate // chain, following the Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleSigner, err := signer.NewGenericSigner(exampleCertTuple.PrivateKey, exampleCerts) if err != nil { panic(err) // Handle error } // exampleRepo is an example of registry.Repository. remoteRepo, err := remote.NewRepository(exampleArtifactReference) if err != nil { panic(err) // Handle error } exampleRepo := registry.NewRepository(remoteRepo) // exampleSignOptions is an example of notation.SignOptions. exampleSignOptions := notation.SignOptions{ SignerSignOptions: notation.SignerSignOptions{ SignatureMediaType: exampleSignatureMediaType, }, ArtifactReference: exampleArtifactReference, } // remote sign core process // upon successful signing, descriptor of the sign content is returned and // the generated signature is pushed into remote registry. targetDesc, err := notation.Sign(context.Background(), exampleSigner, exampleRepo, exampleSignOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully signed") fmt.Println("targetDesc MediaType:", targetDesc.MediaType) fmt.Println("targetDesc Digest:", targetDesc.Digest) fmt.Println("targetDesc Size:", targetDesc.Size) } notation-go-1.2.1/example_remoteVerify_test.go000066400000000000000000000132351466620631100215430ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "fmt" "os" _ "github.com/notaryproject/notation-core-go/signature/cose" _ "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/verifier" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" "oras.land/oras-go/v2/registry/remote" ) // ExampleRemoteVerify demonstrates how to use notation.Verify to verify // signatures of an artifact in the remote registry. func Example_remoteVerify() { // exampleArtifactReference is an example of the target artifact reference exampleArtifactReference := "localhost:5000/software@sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e" // examplePolicyDocument is an example of a valid trust policy document. // trust policy document should follow this spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy examplePolicyDocument := trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "test-statement-name", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: trustpolicy.LevelStrict.Name}, TrustStores: []string{"ca:valid-trust-store"}, TrustedIdentities: []string{"*"}, }, }, } // generateTrustStore generates a trust store directory for demo purpose. // Users should configure their own trust store and add trusted certificates // into it following the trust store spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store if err := generateTrustStore(); err != nil { panic(err) // Handle error } // exampleVerifier is an example of notation.Verifier given // trust policy document and X509 trust store. exampleVerifier, err := verifier.New(&examplePolicyDocument, truststore.NewX509TrustStore(dir.ConfigFS()), nil) if err != nil { panic(err) // Handle error } // exampleRepo is an example of registry.Repository. remoteRepo, err := remote.NewRepository(exampleArtifactReference) if err != nil { panic(err) // Handle error } exampleRepo := registry.NewRepository(remoteRepo) // exampleVerifyOptions is an example of notation.VerifyOptions. exampleVerifyOptions := notation.VerifyOptions{ ArtifactReference: exampleArtifactReference, MaxSignatureAttempts: 50, } // remote verify core process // upon successful verification, the target manifest descriptor // and signature verification outcome are returned. targetDesc, _, err := notation.Verify(context.Background(), exampleVerifier, exampleRepo, exampleVerifyOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully verified") fmt.Println("targetDesc MediaType:", targetDesc.MediaType) fmt.Println("targetDesc Digest:", targetDesc.Digest) fmt.Println("targetDesc Size:", targetDesc.Size) } func generateTrustStore() error { // changing the path of the trust store for demo purpose. // Users could keep the default value, i.e. os.UserConfigDir. dir.UserConfigDir = "tmp" // an example of a valid X509 self-signed certificate for demo purpose ONLY. // Users should replace `exampleX509Certificate` with their own trusted // certificate and add to the trust store, following the // Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleX509Certificate := `-----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIBUTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEP MA0GA1UEAxMGYWxwaW5lMCAXDTAwMDgyOTEzNTAwMFoYDzIxMjMwODI5MTM1MDAw WjBOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUx DzANBgNVBAoTBk5vdGFyeTEPMA0GA1UEAxMGYWxwaW5lMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAocg3qEsyNDDLfB8OHD4dhi+M1NPK1Asy5NX84c+g vacZuoPLTwmpOfm6nPt7GPPB9G7S6xxhFNbRxTYfYUjK+kaCj38XjBRf5lGewbSJ KVkxQ82/axU70ceSW3JpazrageN9JUTZ/Jfi4MfnipITwcmMoiij8eGrHskjyVyZ bJd0WMMKRDWVhLPUiPMVWt/4d7YtZItzacaQKtXmXgsTCTWpIols3gftNYjrQoMs UelUdD8vOAWN9J28/SyC+uSh/K1KfyUlbqufn4di8DEBxntP5wnXYbJL1jtjsUgE xAVjQxT1zI59X36m3t3YKqCQh1cud02L5onObY6zj57N6QIDAQABoycwJTAOBgNV HQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQAD ggEBAC8AjBLy7EsRpi6oguCdFSb6nRGjvF17N+b6mDb3sARnB8T1pxvzTT26ya+A yWR+jjodEwbMIS+13lV+9qT2LwqlbOUNY519Pa2GRRY72JjeowWI3iKkKaMzfZUB 7lRTGXdEuZApLbTO/3JVcR9ffu00N1UaAP9YGElSt4JDJYA9M+d/Qto+HiIsE0Kj +jdnwIYovPPOlryKOLfFb/r1GEq7n63xFZz83iyWNaZdsJ5N3YHxdOpkbBbCalOE BDJTjQKqeAYBLoANNU0OBslmqHCSBTEnhbqJHN6QKyF09ScOl5LwM1QsTl0UY5si GLAfj/jSf9OH9VLTPHOS8/N0Ka4= -----END CERTIFICATE-----` // Adding the certificate into the trust store. if err := os.MkdirAll("tmp/truststore/x509/ca/valid-trust-store", 0700); err != nil { return err } return os.WriteFile("tmp/truststore/x509/ca/valid-trust-store/NotationExample.pem", []byte(exampleX509Certificate), 0600) } notation-go-1.2.1/example_signWithTimestmap_test.go000066400000000000000000000073521466620631100225460ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "crypto/x509" "encoding/pem" "fmt" "oras.land/oras-go/v2/registry/remote" "github.com/notaryproject/notation-core-go/testhelper" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/signer" "github.com/notaryproject/tspclient-go" ) // Example_signWithTimestamp demonstrates how to use notation.Sign to sign an // artifact with a RFC 3161 compliant timestamp countersignature and // user trusted TSA root certificate func Example_signWithTimestamp() { // exampleArtifactReference is an example of the target artifact reference var exampleArtifactReference = "localhost:5000/software@sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e" // exampleCertTuple contains a RSA privateKey and a self-signed X509 // certificate generated for demo purpose ONLY. exampleCertTuple := testhelper.GetRSASelfSignedSigningCertTuple("Notation Example self-signed") exampleCerts := []*x509.Certificate{exampleCertTuple.Cert} // exampleSigner is a notation.Signer given key and X509 certificate chain. // Users should replace `exampleCertTuple.PrivateKey` with their own private // key and replace `exampleCerts` with the corresponding full certificate // chain, following the Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleSigner, err := signer.NewGenericSigner(exampleCertTuple.PrivateKey, exampleCerts) if err != nil { panic(err) // Handle error } // exampleRepo is an example of registry.Repository. remoteRepo, err := remote.NewRepository(exampleArtifactReference) if err != nil { panic(err) // Handle error } exampleRepo := registry.NewRepository(remoteRepo) // replace exampleRFC3161TSAServer with your trusted TSA server URL. exampleRFC3161TSAServer := "" httpTimestamper, err := tspclient.NewHTTPTimestamper(nil, exampleRFC3161TSAServer) if err != nil { panic(err) // Handle error } // replace exampleTSARootCertPem with your trusted TSA root cert. exampleTSARootCertPem := "" block, _ := pem.Decode([]byte(exampleTSARootCertPem)) if block == nil { panic("failed to parse tsa root certificate PEM") } tsaRootCert, err := x509.ParseCertificate(block.Bytes) if err != nil { panic("failed to parse tsa root certificate: " + err.Error()) } tsaRootCAs := x509.NewCertPool() tsaRootCAs.AddCert(tsaRootCert) // exampleSignOptions is an example of notation.SignOptions. exampleSignOptions := notation.SignOptions{ SignerSignOptions: notation.SignerSignOptions{ SignatureMediaType: exampleSignatureMediaType, Timestamper: httpTimestamper, TSARootCAs: tsaRootCAs, }, ArtifactReference: exampleArtifactReference, } targetDesc, err := notation.Sign(context.Background(), exampleSigner, exampleRepo, exampleSignOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully signed") fmt.Println("targetDesc MediaType:", targetDesc.MediaType) fmt.Println("targetDesc Digest:", targetDesc.Digest) fmt.Println("targetDesc Size:", targetDesc.Size) } notation-go-1.2.1/example_verifyWithTimestamp_test.go000066400000000000000000000215501466620631100231060ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation_test import ( "context" "fmt" "os" _ "github.com/notaryproject/notation-core-go/signature/cose" _ "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/verifier" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" "oras.land/oras-go/v2/registry/remote" ) // Example_verifyWithTimestamp demonstrates how to use notation.Verify to verify // signature of an artifact including RFC 3161 compliant timestamp countersignature func Example_verifyWithTimestamp() { // exampleArtifactReference is an example of the target artifact reference exampleArtifactReference := "localhost:5000/software@sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e" // examplePolicyDocument is an example of a valid trust policy document with // timestamping configurations. // trust policy document should follow this spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy examplePolicyDocument := trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "test-statement-name", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, // verify timestamp countersignature only if the signing // certificate chain has expired. // Default: trustpolicy.OptionAlways VerifyTimestamp: trustpolicy.OptionAfterCertExpiry, }, // `tsa` trust store type MUST be configured to enable // timestamp verification TrustStores: []string{"ca:valid-trust-store", "tsa:valid-tsa"}, // TrustedIdentities only contains trusted identities of `ca` // and `signingAuthority` TrustedIdentities: []string{"*"}, }, }, } // generateTrustStoreWithTimestamp generates a trust store directory for demo purpose. // Users should configure their own trust store and add trusted certificates // into it following the trust store spec: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store if err := generateTrustStoreWithTimestamp(); err != nil { panic(err) // Handle error } // exampleVerifier is an example of notation.Verifier given // trust policy document and X509 trust store. exampleVerifier, err := verifier.New(&examplePolicyDocument, truststore.NewX509TrustStore(dir.ConfigFS()), nil) if err != nil { panic(err) // Handle error } // exampleRepo is an example of registry.Repository. remoteRepo, err := remote.NewRepository(exampleArtifactReference) if err != nil { panic(err) // Handle error } exampleRepo := registry.NewRepository(remoteRepo) // exampleVerifyOptions is an example of notation.VerifyOptions. exampleVerifyOptions := notation.VerifyOptions{ ArtifactReference: exampleArtifactReference, MaxSignatureAttempts: 50, } // remote verify core process // upon successful verification, the target manifest descriptor // and signature verification outcome are returned. targetDesc, _, err := notation.Verify(context.Background(), exampleVerifier, exampleRepo, exampleVerifyOptions) if err != nil { panic(err) // Handle error } fmt.Println("Successfully verified") fmt.Println("targetDesc MediaType:", targetDesc.MediaType) fmt.Println("targetDesc Digest:", targetDesc.Digest) fmt.Println("targetDesc Size:", targetDesc.Size) } func generateTrustStoreWithTimestamp() error { // changing the path of the trust store for demo purpose. // Users could keep the default value, i.e. os.UserConfigDir. dir.UserConfigDir = "tmp" // an example of a valid X509 self-signed certificate for demo purpose ONLY. // Users should replace `exampleX509Certificate` with their own trusted // certificate and add to the trust store, following the // Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleX509Certificate := `-----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIBUTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEP MA0GA1UEAxMGYWxwaW5lMCAXDTAwMDgyOTEzNTAwMFoYDzIxMjMwODI5MTM1MDAw WjBOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUx DzANBgNVBAoTBk5vdGFyeTEPMA0GA1UEAxMGYWxwaW5lMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAocg3qEsyNDDLfB8OHD4dhi+M1NPK1Asy5NX84c+g vacZuoPLTwmpOfm6nPt7GPPB9G7S6xxhFNbRxTYfYUjK+kaCj38XjBRf5lGewbSJ KVkxQ82/axU70ceSW3JpazrageN9JUTZ/Jfi4MfnipITwcmMoiij8eGrHskjyVyZ bJd0WMMKRDWVhLPUiPMVWt/4d7YtZItzacaQKtXmXgsTCTWpIols3gftNYjrQoMs UelUdD8vOAWN9J28/SyC+uSh/K1KfyUlbqufn4di8DEBxntP5wnXYbJL1jtjsUgE xAVjQxT1zI59X36m3t3YKqCQh1cud02L5onObY6zj57N6QIDAQABoycwJTAOBgNV HQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQAD ggEBAC8AjBLy7EsRpi6oguCdFSb6nRGjvF17N+b6mDb3sARnB8T1pxvzTT26ya+A yWR+jjodEwbMIS+13lV+9qT2LwqlbOUNY519Pa2GRRY72JjeowWI3iKkKaMzfZUB 7lRTGXdEuZApLbTO/3JVcR9ffu00N1UaAP9YGElSt4JDJYA9M+d/Qto+HiIsE0Kj +jdnwIYovPPOlryKOLfFb/r1GEq7n63xFZz83iyWNaZdsJ5N3YHxdOpkbBbCalOE BDJTjQKqeAYBLoANNU0OBslmqHCSBTEnhbqJHN6QKyF09ScOl5LwM1QsTl0UY5si GLAfj/jSf9OH9VLTPHOS8/N0Ka4= -----END CERTIFICATE-----` // Adding the certificate into the trust store. if err := os.MkdirAll("tmp/truststore/x509/ca/valid-trust-store", 0700); err != nil { return err } if err := os.WriteFile("tmp/truststore/x509/ca/valid-trust-store/NotationExample.pem", []byte(exampleX509Certificate), 0600); err != nil { return err } // an example of a valid TSA root certificate for demo purpose ONLY. // Users should replace `exampleTSARootCertificate` with their own trusted // TSA root certificate and add to the trust store, following the // Notary certificate requirements: // https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/signature-specification.md#certificate-requirements exampleTSARootCertificate := `-----BEGIN CERTIFICATE----- MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t 9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd +SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N 0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie 4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 /YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ -----END CERTIFICATE-----` // Adding the tsa root certificate into the trust store. if err := os.MkdirAll("tmp/truststore/x509/tsa/valid-tsa", 0700); err != nil { return err } return os.WriteFile("tmp/truststore/x509/tsa/valid-tsa/NotationTSAExample.pem", []byte(exampleTSARootCertificate), 0600) } notation-go-1.2.1/go.mod000066400000000000000000000015001466620631100150600ustar00rootroot00000000000000module github.com/notaryproject/notation-go go 1.22 require ( github.com/go-ldap/ldap/v3 v3.4.8 github.com/notaryproject/notation-core-go v1.1.0 github.com/notaryproject/notation-plugin-framework-go v1.0.0 github.com/notaryproject/tspclient-go v0.2.0 github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0 github.com/veraison/go-cose v1.1.0 golang.org/x/crypto v0.26.0 golang.org/x/mod v0.20.0 oras.land/oras-go/v2 v2.5.0 ) require ( github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/sync v0.6.0 // indirect ) notation-go-1.2.1/go.sum000066400000000000000000000247171466620631100151240ustar00rootroot00000000000000github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa h1:LHTHcTQiSGT7VVbI0o4wBRNQIgn917usHWOd6VAffYI= github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-ldap/ldap/v3 v3.4.8 h1:loKJyspcRezt2Q3ZRMq2p/0v8iOurlmeXDPw6fikSvQ= github.com/go-ldap/ldap/v3 v3.4.8/go.mod h1:qS3Sjlu76eHfHGpUdWkAXQTw4beih+cHsco2jXlIXrk= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/notaryproject/notation-core-go v1.1.0 h1:xCybcONOKcCyPNihJUSa+jRNsyQFNkrk0eJVVs1kWeg= github.com/notaryproject/notation-core-go v1.1.0/go.mod h1:+6AOh41JPrnVLbW/19SJqdhVHwKgIINBO/np0e7nXJA= github.com/notaryproject/notation-plugin-framework-go v1.0.0 h1:6Qzr7DGXoCgXEQN+1gTZWuJAZvxh3p8Lryjn5FaLzi4= github.com/notaryproject/notation-plugin-framework-go v1.0.0/go.mod h1:RqWSrTOtEASCrGOEffq0n8pSg2KOgKYiWqFWczRSics= github.com/notaryproject/tspclient-go v0.2.0 h1:g/KpQGmyk/h7j60irIRG1mfWnibNOzJ8WhLqAzuiQAQ= github.com/notaryproject/tspclient-go v0.2.0/go.mod h1:LGyA/6Kwd2FlM0uk8Vc5il3j0CddbWSHBj/4kxQDbjs= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/veraison/go-cose v1.1.0 h1:AalPS4VGiKavpAzIlBjrn7bhqXiXi4jbMYY/2+UC+4o= github.com/veraison/go-cose v1.1.0/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= oras.land/oras-go/v2 v2.5.0 h1:o8Me9kLY74Vp5uw07QXPiitjsw7qNXi8Twd+19Zf02c= oras.land/oras-go/v2 v2.5.0/go.mod h1:z4eisnLP530vwIOUOJeBIj0aGI0L1C3d53atvCBqZHg= notation-go-1.2.1/internal/000077500000000000000000000000001466620631100155725ustar00rootroot00000000000000notation-go-1.2.1/internal/container/000077500000000000000000000000001466620631100175545ustar00rootroot00000000000000notation-go-1.2.1/internal/container/set.go000066400000000000000000000022461466620631100207020ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package set // Set is a map as a set data structure. type Set[T comparable] map[T]struct{} // Add adds the element of type T into the Set. func (s Set[T]) Add(elem T) { s[elem] = struct{}{} } // Contains checks if element exists in the Set. func (s Set[T]) Contains(elem T) bool { _, ok := s[elem] return ok } // New creates an empty Set for elements of type T. func New[T comparable]() Set[T] { return make(map[T]struct{}) } // NewWithSize creates an empty Set of fixed size for elements of type T. func NewWithSize[T comparable](size int) Set[T] { return make(map[T]struct{}, size) } notation-go-1.2.1/internal/envelope/000077500000000000000000000000001466620631100174075ustar00rootroot00000000000000notation-go-1.2.1/internal/envelope/envelope.go000066400000000000000000000045211466620631100215550ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package envelope import ( "errors" "fmt" "time" "github.com/notaryproject/notation-core-go/signature" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // MediaTypePayloadV1 is the supported content type for signature's payload. const ( MediaTypePayloadV1 = "application/vnd.cncf.notary.payload.v1+json" AnnotationX509ChainThumbprint = "io.cncf.notary.x509chain.thumbprint#S256" ) // Payload describes the content that gets signed. type Payload struct { TargetArtifact ocispec.Descriptor `json:"targetArtifact"` } // ValidatePayloadContentType validates signature payload's content type. func ValidatePayloadContentType(payload *signature.Payload) error { switch payload.ContentType { case MediaTypePayloadV1: return nil default: return fmt.Errorf("payload content type %q not supported", payload.ContentType) } } // SanitizeTargetArtifact filters out unrelated ocispec.Descriptor fields based // on notation spec (https://github.com/notaryproject/notaryproject/blob/main/specs/signature-specification.md#payload). func SanitizeTargetArtifact(targetArtifact ocispec.Descriptor) ocispec.Descriptor { return ocispec.Descriptor{ MediaType: targetArtifact.MediaType, Digest: targetArtifact.Digest, Size: targetArtifact.Size, Annotations: targetArtifact.Annotations, } } // SigningTime returns the signing time of a signature envelope blob func SigningTime(signerInfo *signature.SignerInfo) (time.Time, error) { // sanity check if signerInfo == nil { return time.Time{}, errors.New("failed to generate annotations: signerInfo cannot be nil") } signingTime := signerInfo.SignedAttributes.SigningTime if signingTime.IsZero() { return time.Time{}, errors.New("signing time is missing") } return signingTime.UTC(), nil } notation-go-1.2.1/internal/envelope/envelope_test.go000066400000000000000000000073751466620631100226260ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package envelope import ( "errors" "testing" "time" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/signature/jws" gcose "github.com/veraison/go-cose" ) var ( validCoseSignatureEnvelope []byte ) func init() { msg := gcose.Sign1Message{ Headers: gcose.NewSign1Message().Headers, Payload: []byte("valid"), Signature: []byte("valid"), } validCoseSignatureEnvelope, _ = msg.MarshalCBOR() } const invalidMediaType = "invalid" func checkErrorEqual(expected, got error) bool { if expected == nil && got == nil { return true } if expected != nil && got != nil { return expected.Error() == got.Error() } return false } func TestValidateEnvelopeMediaType(t *testing.T) { tests := []struct { name string mediaType string expectedErr error }{ { name: "jws signature media type", mediaType: jws.MediaTypeEnvelope, expectedErr: nil, }, { name: "cose signature media type", mediaType: cose.MediaTypeEnvelope, expectedErr: nil, }, { name: "invalid media type", mediaType: invalidMediaType, expectedErr: errors.New("invalid envelope media type"), }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if err := validateEnvelopeMediaType(tt.mediaType); !checkErrorEqual(tt.expectedErr, err) { t.Fatalf("expected validate envelope media type err: %v, got: %v", tt.expectedErr, err) } }) } } func TestValidatePayloadContentType(t *testing.T) { payload := &signature.Payload{ ContentType: MediaTypePayloadV1, } err := ValidatePayloadContentType(payload) if !isErrEqual(nil, err) { t.Fatalf("ValidatePayloadContentType() expects error: %v, but got: %v.", nil, err) } payload = &signature.Payload{ ContentType: "invalid", } err = ValidatePayloadContentType(payload) expect := errors.New("payload content type \"invalid\" not supported") if !isErrEqual(expect, err) { t.Fatalf("ValidatePayloadContentType() expects error: %v, but got: %v.", expect, err) } } func TestSigningTime(t *testing.T) { testTime, err := time.Parse(time.RFC3339, "2023-03-14T04:45:22Z") if err != nil { t.Fatal("failed to generate time") } signerInfo := signature.SignerInfo{ SignedAttributes: signature.SignedAttributes{ SigningTime: testTime, }, } signingTime, err := SigningTime(&signerInfo) if err != nil { t.Fatalf("failed to get signing time from signature: %v", err) } expectedSigningTime := "2023-03-14T04:45:22Z" if signingTime.Format(time.RFC3339) != expectedSigningTime { t.Fatalf("expected signing time: %q, got: %q", expectedSigningTime, signingTime.Format(time.RFC3339)) } } func isErrEqual(wanted, got error) bool { if wanted == nil && got == nil { return true } if wanted != nil && got != nil { return wanted.Error() == got.Error() } return false } // validateEnvelopeMediaType validetes envelope media type is supported by // notation-core-go. func validateEnvelopeMediaType(mediaType string) error { for _, types := range signature.RegisteredEnvelopeTypes() { if mediaType == types { return nil } } return errors.New("invalid envelope media type") } notation-go-1.2.1/internal/file/000077500000000000000000000000001466620631100165115ustar00rootroot00000000000000notation-go-1.2.1/internal/file/file.go000066400000000000000000000057031466620631100177640ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package file import ( "errors" "io" "io/fs" "os" "path/filepath" "regexp" "strings" ) // ErrNotRegularFile is returned when the file is not an regular file. var ErrNotRegularFile = errors.New("not regular file") // ErrNotDirectory is returned when the path is not a directory. var ErrNotDirectory = errors.New("not directory") // IsValidFileName checks if a file name is cross-platform compatible func IsValidFileName(fileName string) bool { return regexp.MustCompile(`^[a-zA-Z0-9_.-]+$`).MatchString(fileName) } // CopyToDir copies the src file to dst dir. All parent directories are created // with permissions 0755. // // Source file's read and execute permissions are preserved for everyone. // Write permission is preserved for owner. Group and others cannot write. // Existing file will be overwritten. func CopyToDir(src, dst string) error { sourceFileInfo, err := os.Stat(src) if err != nil { return err } if !sourceFileInfo.Mode().IsRegular() { return ErrNotRegularFile } source, err := os.Open(src) if err != nil { return err } defer source.Close() if err := os.MkdirAll(dst, 0755); err != nil { return err } dstFile := filepath.Join(dst, filepath.Base(src)) destination, err := os.Create(dstFile) if err != nil { return err } defer destination.Close() err = destination.Chmod(sourceFileInfo.Mode() & os.FileMode(0755)) if err != nil { return err } _, err = io.Copy(destination, source) return err } // CopyDirToDir copies contents in src dir to dst dir. Only regular files are // copied. Existing files will be overwritten. func CopyDirToDir(src, dst string) error { fi, err := os.Stat(src) if err != nil { return err } if !fi.Mode().IsDir() { return ErrNotDirectory } return filepath.WalkDir(src, func(path string, d fs.DirEntry, err error) error { if err != nil { return err } // skip sub-directories if d.IsDir() && d.Name() != filepath.Base(path) { return fs.SkipDir } info, err := d.Info() if err != nil { return err } // only copy regular files if info.Mode().IsRegular() { return CopyToDir(path, dst) } return nil }) } // TrimFileExtension returns the file name without extension. // // For example, // // when input is xyz.exe, output is xyz // // when input is xyz.tar.gz, output is xyz.tar func TrimFileExtension(fileName string) string { return strings.TrimSuffix(fileName, filepath.Ext(fileName)) } notation-go-1.2.1/internal/file/file_test.go000066400000000000000000000111031466620631100210120ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package file import ( "bytes" "os" "path/filepath" "runtime" "testing" ) func TestCopyToDir(t *testing.T) { t.Run("copy file", func(t *testing.T) { tempDir := t.TempDir() data := []byte("data") filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } destDir := filepath.Join(tempDir, "b") if err := CopyToDir(filename, destDir); err != nil { t.Fatal(err) } }) t.Run("source directory permission error", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempDir := t.TempDir() destDir := t.TempDir() data := []byte("data") filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } if err := os.Chmod(tempDir, 0000); err != nil { t.Fatal(err) } defer os.Chmod(tempDir, 0700) if err := CopyToDir(filename, destDir); err == nil { t.Fatal("should have error") } }) t.Run("not a regular file", func(t *testing.T) { tempDir := t.TempDir() destDir := t.TempDir() if err := CopyToDir(tempDir, destDir); err == nil { t.Fatal("should have error") } }) t.Run("source file permission error", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempDir := t.TempDir() destDir := t.TempDir() data := []byte("data") // prepare file filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } // forbid reading if err := os.Chmod(filename, 0000); err != nil { t.Fatal(err) } defer os.Chmod(filename, 0600) if err := CopyToDir(filename, destDir); err == nil { t.Fatal("should have error") } }) t.Run("dest directory permission error", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempDir := t.TempDir() destTempDir := t.TempDir() data := []byte("data") // prepare file filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } // forbid dest directory operation if err := os.Chmod(destTempDir, 0000); err != nil { t.Fatal(err) } defer os.Chmod(destTempDir, 0700) if err := CopyToDir(filename, filepath.Join(destTempDir, "a")); err == nil { t.Fatal("should have error") } }) t.Run("dest directory permission error 2", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempDir := t.TempDir() destTempDir := t.TempDir() data := []byte("data") // prepare file filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } // forbid writing to destTempDir if err := os.Chmod(destTempDir, 0000); err != nil { t.Fatal(err) } defer os.Chmod(destTempDir, 0700) if err := CopyToDir(filename, destTempDir); err == nil { t.Fatal("should have error") } }) t.Run("copy file and check content", func(t *testing.T) { tempDir := t.TempDir() data := []byte("data") filename := filepath.Join(tempDir, "a", "file.txt") if err := writeFile(filename, data); err != nil { t.Fatal(err) } destDir := filepath.Join(tempDir, "b") if err := CopyToDir(filename, destDir); err != nil { t.Fatal(err) } validFileContent(t, filepath.Join(destDir, "file.txt"), data) }) } func TestFileNameWithoutExtension(t *testing.T) { input := "testfile.tar.gz" expectedOutput := "testfile.tar" actualOutput := TrimFileExtension(input) if actualOutput != expectedOutput { t.Errorf("expected '%s', but got '%s'", expectedOutput, actualOutput) } } func validFileContent(t *testing.T, filename string, content []byte) { b, err := os.ReadFile(filename) if err != nil { t.Fatal(err) } if !bytes.Equal(content, b) { t.Fatal("file content is not correct") } } func writeFile(path string, data []byte) error { if err := os.MkdirAll(filepath.Dir(path), 0700); err != nil { return err } return os.WriteFile(path, data, 0600) } notation-go-1.2.1/internal/mock/000077500000000000000000000000001466620631100165235ustar00rootroot00000000000000notation-go-1.2.1/internal/mock/mockfs/000077500000000000000000000000001466620631100200055ustar00rootroot00000000000000notation-go-1.2.1/internal/mock/mockfs/fs.go000066400000000000000000000024301466620631100207430ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package mockfs import ( "io/fs" "path/filepath" "github.com/notaryproject/notation-go/dir" ) type sysFSMock struct { fs.FS root string } // SysPath returns the system path of the FS. func (s sysFSMock) SysPath(items ...string) (string, error) { pathItems := []string{s.root} pathItems = append(pathItems, items...) return filepath.Join(pathItems...), nil } // NewSysFSMock returns a SysFS mock of the given FS. func NewSysFSMock(fsys fs.FS) dir.SysFS { return sysFSMock{ FS: fsys, root: ""} } // NewSysFSWithRootMock returns a SysFS mock of the given fs and // a root directory func NewSysFSWithRootMock(fsys fs.FS, root string) dir.SysFS { return sysFSMock{ FS: fsys, root: root} } notation-go-1.2.1/internal/mock/mocks.go000066400000000000000000000201611466620631100201660ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package mock import ( "context" _ "embed" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-plugin-framework-go/plugin" "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) //go:embed testdata/ca_valid_sig_env.json var MockCaValidSigEnv []byte //go:embed testdata/ca_invalid_sig_env.json var MockCaInvalidSigEnv []byte //go:embed testdata/sa_valid_sig_env.json var MockSaValidSigEnv []byte //go:embed testdata/ca_plugin_sig_env.json var MockCaPluginSigEnv []byte // extended attributes are "SomeKey":"SomeValue", "io.cncf.notary.verificationPlugin":"plugin-name" //go:embed testdata/sa_invalid_sig_env.json var MockSaInvalidSigEnv []byte //go:embed testdata/ca_expired_sig_env.json var MockCaExpiredSigEnv []byte //go:embed testdata/sa_expired_sig_env.json var MockSaExpiredSigEnv []byte //go:embed testdata/sa_plugin_sig_env.json var MockSaPluginSigEnv []byte // extended attributes are "SomeKey":"SomeValue", "io.cncf.notary.verificationPlugin":"plugin-name" //go:embed testdata/sig_env_with_metadata.json var MockSigEnvWithMetadata []byte //go:embed testdata/ca_incompatible_pluginver_sig_env_1.0.9.json var MockCaIncompatiblePluginVerSigEnv_1_0_9 []byte //go:embed testdata/ca_incompatible_pluginver_sig_env_1.0.1.json var MockCaIncompatiblePluginVerSigEnv_1_0_1 []byte //go:embed testdata/ca_incompatible_pluginver_sig_env_1.2.3.json var MockCaIncompatiblePluginVerSigEnv_1_2_3 []byte //go:embed testdata/ca_incompatible_pluginver_sig_env_1.1.0-alpha.json var MockCaIncompatiblePluginVerSigEnv_1_1_0_alpha []byte //go:embed testdata/ca_compatible_pluginver_sig_env_0.0.9.json var MockCaCompatiblePluginVerSigEnv_0_0_9 []byte //go:embed testdata/ca_compatible_pluginver_sig_env_1.0.0-alpha.json var MockCaCompatiblePluginVerSigEnv_1_0_0_alpha []byte //go:embed testdata/ca_compatible_pluginver_sig_env_1.0.0-alpha.beta.json var MockCaCompatiblePluginVerSigEnv_1_0_0_alpha_beta []byte //go:embed testdata/ca_compatible_pluginver_sig_env_1.0.0.json var MockCaCompatiblePluginVerSigEnv_1_0_0 []byte var ( SampleArtifactUri = "registry.acme-rockets.io/software/net-monitor@sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e" SampleDigest = digest.Digest("sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e") ZeroDigest = digest.Digest("sha256:0000000000000000000000000000000000000000000000000000000000000000") Annotations = map[string]string{"key": "value"} ImageDescriptor = ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: SampleDigest, Size: 528, Annotations: Annotations, } SigManfiestDescriptor = ocispec.Descriptor{ MediaType: "application/vnd.oci.image.manifest.v1+json", Digest: SampleDigest, Size: 300, Annotations: Annotations, } TestImageDescriptor = ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: digest.Digest("sha256:fe7e9333395060c2f5e63cf36a38fba10176f183b4163a5794e081a480abba5f"), Size: 942, Annotations: nil, } JwsSigEnvDescriptor = ocispec.Descriptor{ MediaType: "application/jose+json", Digest: SampleDigest, Size: 100, Annotations: Annotations, } PluginExtendedCriticalAttribute = signature.Attribute{ Key: "SomeKey", Critical: true, Value: "SomeValue", } MetadataSigEnvDescriptor = ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: digest.Digest("sha256:5a07385af4e6b6af81b0ebfd435aedccdfa3507f0609c658209e1aba57159b2b"), Size: 942, Annotations: map[string]string{"io.wabbit-networks.buildId": "123", "io.wabbit-networks.buildTime": "1672944615"}, } ) type Repository struct { ResolveResponse ocispec.Descriptor ResolveError error ListSignaturesResponse []ocispec.Descriptor ListSignaturesError error FetchSignatureBlobResponse []byte FetchSignatureBlobError error MissMatchDigest bool ExceededNumOfSignatures bool PushSignatureError error } func NewRepository() Repository { return Repository{ ResolveResponse: ImageDescriptor, ListSignaturesResponse: []ocispec.Descriptor{SigManfiestDescriptor}, FetchSignatureBlobResponse: MockCaValidSigEnv, } } func (t Repository) Resolve(ctx context.Context, reference string) (ocispec.Descriptor, error) { if t.MissMatchDigest { return ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: ZeroDigest, Size: 528, Annotations: Annotations, }, nil } return t.ResolveResponse, t.ResolveError } func (t Repository) ListSignatures(ctx context.Context, desc ocispec.Descriptor, fn func(signatureManifests []ocispec.Descriptor) error) error { if t.ExceededNumOfSignatures { t.ListSignaturesResponse = []ocispec.Descriptor{SigManfiestDescriptor, SigManfiestDescriptor} } err := fn(t.ListSignaturesResponse) if err != nil { return err } return t.ListSignaturesError } func (t Repository) FetchSignatureBlob(ctx context.Context, desc ocispec.Descriptor) ([]byte, ocispec.Descriptor, error) { return t.FetchSignatureBlobResponse, JwsSigEnvDescriptor, t.FetchSignatureBlobError } func (t Repository) PushSignature(ctx context.Context, mediaType string, blob []byte, subject ocispec.Descriptor, annotations map[string]string) (blobDesc, manifestDesc ocispec.Descriptor, err error) { if t.PushSignatureError != nil { return ocispec.Descriptor{}, ocispec.Descriptor{}, t.PushSignatureError } return ocispec.Descriptor{}, ocispec.Descriptor{}, nil } type PluginMock struct { Metadata plugin.GetMetadataResponse ExecuteResponse interface{} ExecuteError error } func (p *PluginMock) GetMetadata(ctx context.Context, req *plugin.GetMetadataRequest) (*plugin.GetMetadataResponse, error) { return &p.Metadata, nil } func (p *PluginMock) VerifySignature(ctx context.Context, req *plugin.VerifySignatureRequest) (*plugin.VerifySignatureResponse, error) { if resp, ok := p.ExecuteResponse.(*plugin.VerifySignatureResponse); ok { return resp, nil } return nil, p.ExecuteError } func (p *PluginMock) DescribeKey(ctx context.Context, req *plugin.DescribeKeyRequest) (*plugin.DescribeKeyResponse, error) { panic("not implemented") // TODO: Implement } func (p *PluginMock) GenerateSignature(ctx context.Context, req *plugin.GenerateSignatureRequest) (*plugin.GenerateSignatureResponse, error) { panic("not implemented") // TODO: Implement } func (p *PluginMock) GenerateEnvelope(ctx context.Context, req *plugin.GenerateEnvelopeRequest) (*plugin.GenerateEnvelopeResponse, error) { panic("not implemented") // TODO: Implement } type PluginManager struct { PluginCapabilities []plugin.Capability GetPluginError error PluginRunnerLoadError error PluginRunnerExecuteResponse interface{} PluginRunnerExecuteError error } func (pm PluginManager) Get(ctx context.Context, name string) (plugin.Plugin, error) { return &PluginMock{ Metadata: plugin.GetMetadataResponse{ Name: "plugin-name", Description: "for mocking in unit tests", Version: "1.0.0", URL: ".", SupportedContractVersions: []string{"1.0"}, Capabilities: pm.PluginCapabilities, }, ExecuteResponse: pm.PluginRunnerExecuteResponse, ExecuteError: pm.PluginRunnerExecuteError, }, pm.GetPluginError } func (pm PluginManager) List(ctx context.Context) ([]string, error) { panic("not implemented") } notation-go-1.2.1/internal/mock/ocilayout/000077500000000000000000000000001466620631100205335ustar00rootroot00000000000000notation-go-1.2.1/internal/mock/ocilayout/ocilayout.go000066400000000000000000000023501466620631100230720ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package ocilayout import ( "context" "os" "oras.land/oras-go/v2" "oras.land/oras-go/v2/content/oci" ) // Copy creates a temporary OCI layout for testing // and returns the path to the layout. func Copy(sourcePath, destPath, tag string) error { ctx := context.Background() srcStore, err := oci.NewFromFS(ctx, os.DirFS(sourcePath)) if err != nil { return err } // create a dest store for store the generated oci layout. destStore, err := oci.New(destPath) if err != nil { return err } // copy data _, err = oras.ExtendedCopy(ctx, srcStore, tag, destStore, "", oras.DefaultExtendedCopyOptions) if err != nil { return err } return nil } notation-go-1.2.1/internal/mock/ocilayout/ocilayout_test.go000066400000000000000000000034171466620631100241360ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package ocilayout import ( "os" "runtime" "testing" ) func TestCopy(t *testing.T) { t.Run("empty oci layout", func(t *testing.T) { err := Copy("", "", "v2") if err == nil { t.Errorf("expected error, got nil") } }) t.Run("invalid target path permission", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempDir := t.TempDir() // change the permission of the tempDir to make it invalid if err := os.Chmod(tempDir, 0); err != nil { t.Fatalf("failed to change the permission of the tempDir: %v", err) } err := Copy("../../testdata/oci-layout", tempDir, "v2") if err == nil { t.Errorf("expected error, got nil") } if err := os.Chmod(tempDir, 0755); err != nil { t.Fatalf("failed to change the permission of the tempDir: %v", err) } }) t.Run("copy failed", func(t *testing.T) { tempDir := t.TempDir() err := Copy("../../testdata/oci-layout", tempDir, "v3") if err == nil { t.Errorf("expected error, got nil") } }) t.Run("copy success", func(t *testing.T) { tempDir := t.TempDir() err := Copy("../../testdata/oci-layout", tempDir, "v2") if err != nil { t.Errorf("expected nil, got %v", err) } }) } notation-go-1.2.1/internal/mock/testdata/000077500000000000000000000000001466620631100203345ustar00rootroot00000000000000notation-go-1.2.1/internal/mock/testdata/ca_compatible_pluginver_sig_env_0.0.9.json000066400000000000000000000045411466620631100303460ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQwMDoyMTozNi0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjAuMC45In0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"VXWolnwKhCSYn1x1_0CUpvUxEihiuKCJ9Ae2Lm--gkW_tfbBlTzkq4TciXM4u4V9MBtbDczQ8k748tmEb7qbzPPT6CEPGMBX8WN7kDStqXGILmpIE5M7Z1nYVIYkgQPk_w6FyC291bluQQGu0yqNrAO3pT1Ym5DoHAyRHLROdDRChntI4Qrz5DGrjBsiibo_GAOxw1jY1ENvo5dlSTAgnZm9jkfbY0gsYTXuNGYk2atS0H1W_MVRdgDSI9gbQ6amLUf-qy_gcbl5UT8Pa5fWb_1KZPtAqoh4hA5PW4UKkxFE0Wz2pUAs9RpYI-xpw1B6KGtgiI9MuTYDFMmTXHBRig"} notation-go-1.2.1/internal/mock/testdata/ca_compatible_pluginver_sig_env_1.0.0-alpha.beta.json000066400000000000000000000045601466620631100323340ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMzowMzoyMy0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMC4wLWFscGhhLmJldGEifQ","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"iJthtqbz0O5nFuo5Z9nRddEjyZp3RG-KOY6SSB3sc8AgDBdT5Fjp9yltIoqTl-BLZhrGOAFeO0T_1JVsPbZZMxzJq4fb3gPaIPItrendkpit1m2RaB8fK1D_I6Vqu1_rGiYaxDcNpaqn1T_isxr4MVRekcLSNQnG3iMdJ0k-Attf8JdCXE0EWKyLBStMVAfo0J39ShFcwyIMvO0vm2_TRDVbcKovpY0vFrfyE2pFIChnJECmivImdKmBMIW78vEtN6qBrKskI3HzA9N1XjxGY4GOAu30iqtNRanO65nZGng0lqpJd15bAwUaqj-KD_BAZIUT9T2qCf2COF9GKvc3NQ"} notation-go-1.2.1/internal/mock/testdata/ca_compatible_pluginver_sig_env_1.0.0-alpha.json000066400000000000000000000045511466620631100314220ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMjo1NzowNC0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMC4wLWFscGhhIn0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"xZqE2HZye4qPmG688z875mHySGV_MoWOb99wChu-hInU8-CyxMesxzVCo_boG3Oae6tj6MKwdJ-Dj2cKbI3S4aX2l6t5IRFLB5z4DuIsDhmKZj9iN5LjtP8ua5_fni9dBk4e9c9TAsMq1hjXyNEen2rC1dzP_bcNYnoOs1yRWpO4JAcsslMYeqUIKKf39kzlOxOKIsJ8YhZoNeRc3HnAu4hlX2XpXwArovvMZtg1Akp6qCjVQcQQUTb_M0JeytmR8R5tdr_ZYqh-rCWbIe5tNU4u9jCP8xvlXPdSjpHgpmPsEnNd4u4gnLFxuYAq5l3UkdGDLXUsGrTx_Bi_LoFHUQ"} notation-go-1.2.1/internal/mock/testdata/ca_compatible_pluginver_sig_env_1.0.0.json000066400000000000000000000045411466620631100303360ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMzowNTo1OC0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMC4wIn0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"JG7Gk8HwJbkUheyX9eRoBDPezynCmMetYATNsW0U4ERBiagKO-DxRMN4lqHxcVFf7HXVRCWPf3A6aIYo6Vox0fHNFDWyX7g4qcD0wy8mSIgt9FsN5EBFqkgUxfC2o_5OrlUEsbaN8vU3tH4jNoTjWEcT6cNVNv7gltzkTQDQFdgl7DC-Bf12p9HJsSQQlJqdS-BhDYp-ou7dwgd3jeomureLC6kOhaU3ssmSsn69cdCt9cZgZ9U9-5knjyicGUDaCpPHWpz3_R8JgyLq3L8nzEetPBHRShwMPUwV42F_9_C2-gXR7ZVaU3ENshViL0p0T70U4VElOb7IxqAMWRmIlw"} notation-go-1.2.1/internal/mock/testdata/ca_expired_sig_env.json000066400000000000000000000103541466620631100250470ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjAyMi0wNy0yOVQyMzo1OTowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjItMDctMjlUMDA6MDA6MDBaIn0", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "RZtqCD4KGh5_CD8wjG69TJIzzB4Cr-cxQhKTvZJYsRVIJyl3s5D0215GhBrggomVk9-LGD2FdWd2VfuaLd4bmhW3rSV3ltmAext7DNQFg2xtMeYSeCL2U_ygN2j4bc80RDaX8w_zOTVOmuhW6i2jgwRjWXdDaJeYTbZA2syA5R38tYYewVcZJ6U057Wsflt5yPWJCdxZLuTago5CkbLASL8HHnmlUkDvKKB1Y9SNDOQ3AmGP4-XJykcX_MfPo5RGRvZE-zHUJOEKj3ryfC0UTUT7V1ISTagqOt7zOa1BEzgQ-1GQk1MbaPPZWkiOZX4RqMXMV3hVqtDuZxlpT25KzZPm1USwWwJkycv7YB69fc2aoHJAPo-39uEV9fdAz_03whnrQSpfJbmHHTXMJkWKrZ5ozU-8zlEttWyL5D85zAouSMVXWm22zMrDW-XxST9QoeV4b1_BedW1PwJDbeU6P1hhobnQh3jHmSueVl_WZ5_g8_iVepSmSBcR1e4WpoPi" }notation-go-1.2.1/internal/mock/testdata/ca_incompatible_pluginver_sig_env_1.0.1.json000066400000000000000000000045411466620631100306660ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMjo0OTowMi0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMC4xIn0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"tb2xdd03j1ATBoG1K-9QmCjNeTnK-LKLHdZS44NJ0G5MfrzSFv56w3_FDqnS1jki8FTmGVUMdPAOciTuyoP_nREMBMr9QYn-qOAHisVrvxAcqmWEL-4Uoa_VIzmPvq-_wJKw9L_oZ2m-b9dx93tl2t2z0gxQaAgtVWJP6ap47lKlri6IFeFIXDq6jpdC9sy3q_wifnxFaZ9LM3892Pp7aMLvnT_TdTPxT1AHSq6ZOvddPbStvSUVICXZLmsglFym2c8RzatxulrnGlZ1fKKS0gR7W96-L1JsqIV5KeBMXq8vFnG-rK4fsqa0FeBBkmOOV6ZKKIruvfm7Z-SJ-nJLZw"} notation-go-1.2.1/internal/mock/testdata/ca_incompatible_pluginver_sig_env_1.0.9.json000066400000000000000000000045411466620631100306760ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQwMDo0NzoxOC0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMC45In0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"zdA6RgbS3-QUdrhJuhAz-4wi55PZjy0CezOyTpg0UP1zxRfigVefPne86GEhGmiC-m-QlJC6bWSYFdkF3EoBL1CpGo46zUeaGKhQXM0Db1I8VKhJE20o1T83yXm-_ZVgDEe3_LUhu_KYs-jvkfJu_DGl6DJdBp_lkEpc9Br3tYUvgkxtF2LlvSUNYuc4oILnidj2sYFO5o7IBKdDoBVlQ3Z29s2Z6NUzy48ab9mxZCq0T9-uGj8636GJ3yJ78086GI_lt-0_mXdJ592WguWb3WBogCz9NvLm-byPIC7cP4RpHRqJQRsvYp6txgsrDqy2T1I0BEsf-Fp1FSxBdWMwXA"} notation-go-1.2.1/internal/mock/testdata/ca_incompatible_pluginver_sig_env_1.1.0-alpha.json000066400000000000000000000045511466620631100317520ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMjo0MDozNC0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMS4wLWFscGhhIn0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"In4X5VH7wiFuGRaop36jSxFMvgAmbnZ7Pwhl1iqhSFItCGpwCCq7Sb9fWn79fiRyxI9F6JuJSTnTtHnjmZXfShAe5KRlSUktPwRcGg6LAMG9YTvd1JayNdjAGyPvZw7PGqeKF_syNgSrw-UzLsR0YXqck639affiVlKRTMNeZla2iXb8gRa8LGGiGoizKMrwV3Ywf3QilWy4CR5NK9TUj-OmdpaBfmE3T--LDpaOt7fjzhCFMXDGq27I_7NfzhrIJ_LpS7f2R5dG6eVRIgmSOVKEkCVM0n38lJ0H1E2uwwYmhns5wzDWJeBVEem8ycFrQkEvsGHWJ1Ru9YYNXhfr9Q"} notation-go-1.2.1/internal/mock/testdata/ca_incompatible_pluginver_sig_env_1.2.3.json000066400000000000000000000045411466620631100306720ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6ZmU3ZTkzMzMzOTUwNjBjMmY1ZTYzY2YzNmEzOGZiYTEwMTc2ZjE4M2I0MTYzYTU3OTRlMDgxYTQ4MGFiYmE1ZiIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo5NDJ9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbk1pblZlcnNpb24iLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMy0wMS0xOVQxMjo1NDowMS0wODowMCIsImlvLmNuY2Yubm90YXJ5LnZlcmlmaWNhdGlvblBsdWdpbiI6ImlvLmNuY2Yubm90YXJ5LnBsdWdpbi51bml0dGVzdC5tb2NrIiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luTWluVmVyc2lvbiI6IjEuMi4zIn0","header":{"x5c":["MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExOTA4MTkwN1oXDTMzMDExOTA4MTkwN1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHhlP+SiY7hsGlf2mADOzJW/J9siqMkiQvSOx0OSM2yxetfVQL/abi4iqCXM6wkSxviBeNwIoYEs4thMA8NGEbnKoXktyh9vmiLB1FW7HHr4QLwjgLzgWJKIQTy1JmDBecXZh56d0f3w3Yj1IDTvkIScXCNI+5v/08GUQKhyBwv7Fq9MYpo2lfXSI7V33BKKddXIxPGVWwKGvPE0sg2VV7WM84ZZLdDKz2mq0PtPTHrSwg3hlK/mjn+blg3gsYQ4h9/7Z6nNaF9X0SdyESl841ZWrtMhAOFpIzLbz9ete8NRd3bYCRBIr5gscHWTf6lyUgy4xzsSwMHPsGLM4A+Z00CAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAbN0Eru56uTQSC28ZTf8D7VyCkYrrWLYiJMYdOKBzzKV9mKaM0OGF2uyWwDaPxp9KTdLXmBp9EFq5SXXArFA+nRS7KinDAe2O7A/9Std2XjKi927rkA2cj239d5lRsjWXqJXf9vAMV9a2FjUM/in2Eevlq7bvjFE3l26VXCKtOs9ErmfxrL+6ETRKSVYOOG/rSHFv/SB2MlqDg5QsXC9lZjzL5/X/ioe2qZKhp6X5DPpad1q1Q4ItKdTN+2EXyMyoHn1BJKNba7CUUvXf03EJebT/Im+qozfEksJeZJUSlSujANUPoCpsEYGWWQx5G+ViG05Sqs+6ppKrut+P+DVPo"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"sB7vQl3zpK1JBjKa0gwj_s0Rbboo2kb4x81MNIbUINAc2ocvfRqyxMtlJYdgmx78GledCm4j8BfXr7_sV0_WkKI6Af6n_5rYMQ0a3EOI79-uzkRqrKBJsh4BsuQuweBql-W5-ofnwAhpNUmowHUcJlh0PmpOeYPQcj0TFMCZuqwMSKi4KLj4H5ENnmIWyR4rDoNueZkenbfh-eYR47PDb8KHyGTX86m-8IY-gNlAYRm_62MRecsGjg97EQ5niFGaRxlg7jf-1RVg3jLKXYlLRs41dnsMo1QGuTW7nPEUZKpXMZIyPnqPmS91icq0v1Obcx-r4aOqTKrPTeIPCYMoSQ"} notation-go-1.2.1/internal/mock/testdata/ca_invalid_sig_env.json000066400000000000000000000103551466620631100250360ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ=", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjAtMTEtMDlUMDc6MDA6MDBaIn0", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "ZvsxyaSqDzS7mY_jKpnq2XtBcmyWmSE461BHL6q2pAx_-Rxr8Fvs2oIfZdSG2o3qugPDjzZDMhKdYdnrW1AIEkVIG_QUmeyGj28PVXxsC5NKpXwrPUMOzrXSFLHIvBNZ2q87wRYInsgCPtv5ZPv0IgA2sAW6y7NlVM2D0vJax55ITsJO5aEaEUlAdi_H7-TCD48DHuFpnJdNkVB_hZkwYfxuqIKU2C__Z2hLLHxaS2LzuzhqOnYlbqn4e225uZt9odXq3qmZ_44Vx3DYL_-ZuV0S9jEk7NW8-dO0T0MeQn6VXDyfT1rjc6IVPnLxAnELFyLn121GYulYC8V2D1_MLcv8sDHY23rHb3-R-WCLMDSfaIvReY89vQfxcfpdCRC0F3N2CcnrgsrUC6Fplm5Uy45Gn9--b7x5cdSzOzQsefCH1GpixW7YyNs1xZQ17WqdYyWD2EBrB5vqVFzkzDYnQ4H-p9G3AzM4HTrjWqHX-0cYHlpmTS4AjVxn0UV80Jn9" }notation-go-1.2.1/internal/mock/testdata/ca_plugin_sig_env.json000066400000000000000000000106111466620631100247010ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJTb21lS2V5IjoiU29tZVZhbHVlIiwiYWxnIjoiUFMzODQiLCJjcml0IjpbImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiLCJTb21lS2V5IiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luIl0sImN0eSI6ImFwcGxpY2F0aW9uL3ZuZC5jbmNmLm5vdGFyeS5wYXlsb2FkLnYxK2pzb24iLCJpby5jbmNmLm5vdGFyeS5leHBpcnkiOiIyMTIwLTExLTA5VDA3OjAwOjAwWiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOSIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdUaW1lIjoiMjAyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iOiJwbHVnaW4tbmFtZSJ9", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "cyB34qtMss9N1E_2XAQ_71c6j1fOcamenm7YrYsXn562XOhFgJKUjmDYWkz9mmdLN-GqQNKA8MhAfKt2ipXxsWldrb3a-6AZ-y4jIkY5XIY_s7Sndz58DPtez0X4kAehvKiyUtDVPbqIJQ5Hwgj8tC_f0Yva6pdrSD7xwenxwiCZmxM6N_LV9d1oYSDQi9890XRrFK4M1YRlOZquJ19HrhADLVJXS-ZfqcTE_tceoU2Hq82pqd2MnazAtJiWZm0cxwt-OsGlgGrkvHoNcMYS8K6BSBvL-vVtOuSpca89QrLsTCnKnmvUlw3wrWTDf83qhPyfw-2ASrE2V57vunpxSNyoA_70fNgOuhWUZZUTi9eXxutp0GCcGTem7MzZRBJVOVdw9OgR3pClGiRxP3BE2Atn3EUXs2HgQHEiE1KZvVHFeObB6asMqfbAMMNDgZCsZi7Yah7NaYg1NH9YwrJgAtNFW0p2trxiQ6uqICD2m54yGtRmvw_O9kt5HnUaBQJX" }notation-go-1.2.1/internal/mock/testdata/ca_valid_sig_env.json000066400000000000000000000103541466620631100245060ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjAtMTEtMDlUMDc6MDA6MDBaIn0", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "ZvsxyaSqDzS7mY_jKpnq2XtBcmyWmSE461BHL6q2pAx_-Rxr8Fvs2oIfZdSG2o3qugPDjzZDMhKdYdnrW1AIEkVIG_QUmeyGj28PVXxsC5NKpXwrPUMOzrXSFLHIvBNZ2q87wRYInsgCPtv5ZPv0IgA2sAW6y7NlVM2D0vJax55ITsJO5aEaEUlAdi_H7-TCD48DHuFpnJdNkVB_hZkwYfxuqIKU2C__Z2hLLHxaS2LzuzhqOnYlbqn4e225uZt9odXq3qmZ_44Vx3DYL_-ZuV0S9jEk7NW8-dO0T0MeQn6VXDyfT1rjc6IVPnLxAnELFyLn121GYulYC8V2D1_MLcv8sDHY23rHb3-R-WCLMDSfaIvReY89vQfxcfpdCRC0F3N2CcnrgsrUC6Fplm5Uy45Gn9--b7x5cdSzOzQsefCH1GpixW7YyNs1xZQ17WqdYyWD2EBrB5vqVFzkzDYnQ4H-p9G3AzM4HTrjWqHX-0cYHlpmTS4AjVxn0UV80Jn9" }notation-go-1.2.1/internal/mock/testdata/sa_expired_sig_env.json000066400000000000000000000105011466620631100250610ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmF1dGhlbnRpY1NpZ25pbmdUaW1lIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5Il0sImN0eSI6ImFwcGxpY2F0aW9uL3ZuZC5jbmNmLm5vdGFyeS5wYXlsb2FkLnYxK2pzb24iLCJpby5jbmNmLm5vdGFyeS5hdXRoZW50aWNTaWduaW5nVGltZSI6IjIwMjItMDctMjlUMDA6MDA6MDBaIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjAyMi0wNy0yOVQyMzo1OTowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkuc2lnbmluZ0F1dGhvcml0eSJ9", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "nDpYiwd536V2krjmxH2FCk6QgUTRyA6AFL9D5sDBJ3JwS9q9znsefSIg9rz6PMskVO9GUzUSG0ZIna5izrVR9pctLw4yQrWIZz3fp-lc3orK4w1nmHG_pCdpasH4FxpvXa0-4dllJmX2Yc3GrdeFaxJhcgtr2iiArabKnOFh5DbfOpeyMGDEa2XVRnrcS4VRgc5UdewFkq2NslMw1Y9loQwrNr3JGTQQpvZHOR4yBtnfCWFJ7G8AYDUb4H1Us8iaIlyp-jSIVSOT9HQzizDzZgn-Gtv90pq9xqAEtrW4thkPUOOJP_P0-_huAH3475UEPi-Yc7ekyt7PH6PazyI9yuTsJlkM_eWDsNLDARRfgygzr9DJHPkYQG3S8MRfNGqskob6Lcfl8nPaXnTfAhLNl-JiWvzMpwq1af2sWek-NVcGf5-81hRF9GTCE1IAtjQ0ITR86zq_G8pEj4JfI-H0c0yXTDUilUHzwzXV_7zE0gEB8UFHHg9VHGflYRdbWuS9" }notation-go-1.2.1/internal/mock/testdata/sa_invalid_sig_env.json000066400000000000000000000105031466620631100250510ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ=", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmF1dGhlbnRpY1NpZ25pbmdUaW1lIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5Il0sImN0eSI6ImFwcGxpY2F0aW9uL3ZuZC5jbmNmLm5vdGFyeS5wYXlsb2FkLnYxK2pzb24iLCJpby5jbmNmLm5vdGFyeS5hdXRoZW50aWNTaWduaW5nVGltZSI6IjIwMjAtMTEtMDlUMDc6MDA6MDBaIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkuc2lnbmluZ0F1dGhvcml0eSJ9", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "kqt4plYZgCdPkoVmC-1_JfH7dPUjIQOMaONP6pEucnKC1QiTa7peN83Ka8_0kAvAT3BIZ8CFjVuazioZpjHw-ydRlL3-pgagnENS8Fz2Vfwj9nKJF7mmFGi3R0t6fFFyx_Tw9rtxi4Nsv8y4k-2XLFLeSm1_EEDThHPVMbWE6XJpOIdvr2w3Iq1PsEOVo9QqVOd3FYcGLQAbiAAi_jREYpEKImFqQeY8noUCDOtULPwxbslrglOOBtKouI4OUT0ZtG3tDCBdoZUOAfNgKSlHQutlA0-G6GdBuytCz0ku45DTnGAPS11WwsuPBJfouYlusJuZHmqJTodwEnu2B2AZpLu5wxRUwWOpSyc8ftnSBkiHJWIT3bwatPjlaHoIgwcEsGPRwvFCq7V7yH2yW2uHI1FsiMUHYuWx-hDpLf4Nzag5oc-PyaV3lzsvZZHwy43ilFO-WJOZeDQCWjIZ_U1f4hGsoDkqvoRn-aFZ-pE7Nn99buVRHDjQ6-8-jfJncJaB" } notation-go-1.2.1/internal/mock/testdata/sa_plugin_sig_env.json000066400000000000000000000107401466620631100247240ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJTb21lS2V5IjoiU29tZVZhbHVlIiwiYWxnIjoiUFMzODQiLCJjcml0IjpbImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiLCJTb21lS2V5IiwiaW8uY25jZi5ub3RhcnkuYXV0aGVudGljU2lnbmluZ1RpbWUiLCJpby5jbmNmLm5vdGFyeS5leHBpcnkiLCJpby5jbmNmLm5vdGFyeS52ZXJpZmljYXRpb25QbHVnaW4iXSwiY3R5IjoiYXBwbGljYXRpb24vdm5kLmNuY2Yubm90YXJ5LnBheWxvYWQudjEranNvbiIsImlvLmNuY2Yubm90YXJ5LmF1dGhlbnRpY1NpZ25pbmdUaW1lIjoiMjAyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5leHBpcnkiOiIyMTIwLTExLTA5VDA3OjAwOjAwWiIsImlvLmNuY2Yubm90YXJ5LnNpZ25pbmdTY2hlbWUiOiJub3RhcnkueDUwOS5zaWduaW5nQXV0aG9yaXR5IiwiaW8uY25jZi5ub3RhcnkudmVyaWZpY2F0aW9uUGx1Z2luIjoicGx1Z2luLW5hbWUifQ", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "DwrGzND2JgpkeFASatpp-kBKpgrlt1Io3fbetSB3VUnRb0zWkj3vreKzAFpNBI6MN0lTuIWA3_igTqkYcFq8VFW2VSvWGidARJnzd4WDrCFp7n-Qp9TQPqbkLknZUxT2pFsTw1EF_plyAdJmRwbJikwvc2RkxW1Bz6fAcagJEul4lm6j2Yq4iTE8xThjn1ih7_9XMQ9I1f79CK3CTdu9jCrlQbyC1wEI9btyx-91OJ2V1oeGVtasNvRhA1ttVS3h7EQvzcJ9eKdEHPCVK6j5X7xvbjz40Z2kouZAb3ve9jsYZquMx6krrwAh4JPwUDJGT2x6ujdIIU6QioJgbOqRLdyYYERHqhO3P3FAsIJqIwtupMkcSJZJrMlzdi_nuHPHvy9ToQTW5z98LSQHqHtmWf4JdfVGq5iOWwrwLO4QINi716wcqiVp8srd2VdpoxvA5nnT2zzukzSXXVFj3V7XcqWutQoM3ihfw-aWDLU_OBo7aaSLaZUXhYkLsB3pHX1G" } notation-go-1.2.1/internal/mock/testdata/sa_valid_sig_env.json000066400000000000000000000105021466620631100245210ustar00rootroot00000000000000{ "payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ", "protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmF1dGhlbnRpY1NpZ25pbmdUaW1lIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5Il0sImN0eSI6ImFwcGxpY2F0aW9uL3ZuZC5jbmNmLm5vdGFyeS5wYXlsb2FkLnYxK2pzb24iLCJpby5jbmNmLm5vdGFyeS5hdXRoZW50aWNTaWduaW5nVGltZSI6IjIwMjAtMTEtMDlUMDc6MDA6MDBaIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMC0xMS0wOVQwNzowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkuc2lnbmluZ0F1dGhvcml0eSJ9", "header": { "x5c": [ "MIIEWDCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMTAwOTA3MDAwMFoYDzIxMjIwODA2MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwE8YkFUAA0R7aUkRYxHKYoVbFPx9xhuNovLKDy72/7X0+j4XdGP4C0aAX2KLfgy9OR1RIUwtpMyI7k7ZFRd+ljcMW/FgbirfhkY/8axjamOYMBO0Qg+w93oaI6HA1gvZ/WZem4PHu68LlZhLQ2BrQwCz/F/3Ft0IZ2S1aF6N6vajx2le8xTI5hQS+UZFPQGrBUqrjcYc6GkL8XqL+rLGZaKGfh3c7bF9cEbA1H2Tm6MDFnfoFemerbP3v19JoUH+EtOnvYmNZWEU51RaLsNGkC3E/unXAnIfXrNxHDcbehyfa5y3AT10Shiron6O4Bc9S0MvwtXyLT6qein3Nh0VKBFUMSdthu5ZrSR28T9wDWHMXngpa115VjHOQDY3gDPwfzZ0xitN3NpMnivxculGUCkEQpst957tqQNJpS/zipI5Mtej0YOAhVKGQMjDIJekZ2DXDNd1X3xfahrR5VEQF0gnRFhA3vhycDqFj4E6Hoc5y3SxnFqrhX3w2wyFt/xRAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAYEAAdONCAJxdB7H0uFDw6H+8Z5MtoRdJe6ZhlM2O5WMzkC1DLSyrF7arPnUMTeSyNS2Fx1BU38n5R1wvdgSfWtjm7o2ZyR8JQ+AngPklUCTNeL18kxNNXpmjDuMvsRlfHcr5hherjiQ49jWlpFqGRrNtZQWiVEI0r9Qz8DtZTw3GYF4MSuotA6wuUjolI1V2oMn/gdt8FFo0XUTDyiA12qpZzkUHY1rg3zJxKq3pIk04E7k6rFakHyZL91ipV2UeSbNq9vwLL7cglfPJ8+J+9AKvIPDstDF5k0ivUCYH5fIFZBGoceLiNfHSMcqA/qWfErqLBWAkACRUNyCWpAEv3DfDRbTHId0n6QQwOXj5d9YnDrmOLvQcn/sa+ZBfFMK7RdG9uVwMRyo+sRUnxo+v2lcvYwWymL7ONQqVWZbTJCxuG90Unxa3cQHZiKB5mgKweMft+vp6C3IQFhFfP8j1kvRTJq8ZqSEBADppUuBZJ1KWalwauK0AE4jpHlE0KsYDXiP", "MIIEizCCAvOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MCAXDTIwMDkwOTA3MDAwMFoYDzIxMjIwOTA1MjAzODQ1WjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxxAZ8VZegqBUctz3BkwhObZKnW+KsN5/N1/u2vPLmEzHDj6xgd8Hn0JoughDaxeQCV66NC2obqPnPp4+68G/qZnxkXVXdFyqVodu4FgPUjiqcJjft7bh45BVgLFpOqSqDQ3ko30B7gdGfIIkoBj/8gz3tHnmIvl3MywtOhDeGnlLNzBY52wVmhPIdKOaW/7WkMrXKFCkLkNICGnIpWuyBtC+7RfM8hG6eRW1KCm5xrkRmn5ptonjxix/JTGj4me/NMkwdVkz6wcCSAJnqTgHi2oqk73qqNu0LHsEMFBF8IGqmVkn2MOHkFamPBokzQ6HXXfvR4nbcWQZCUgRinPTVg9CF0B6XSCEMCSH5kveZxTQtAFRB6NosbzuU5jDmJgpbDfauev7Eg/6bZzphcugRkVuwulymzsake5Jbvs9Kyw3CNPYH2G3Kli1FNhfc46ugXHbIfXgNQcou3xabcu+r6cFRqqK6NmV9ouMQRj8Ri95Gp2BUlpTEFhcvMb9d4nXAgMBAAGjWjBYMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEFBQcDAzASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS5FZjt9UsEPkcKrStrnjSpTq4kDTANBgkqhkiG9w0BAQsFAAOCAYEAKtxfv12LzM85bxOMp5++pIDa6eMcBaurYbAM2yC9B6LuHf0JGeFdNqt4Fw38Ajooj2vWMWBrARVEZRVqTC5+ZSN2meGBXBXlT4n8FdEdmv+05iwVYdmDFp8FKeoOZZZF23u+r2OrazJo1ufWmoSI2P0lEfZQQFQElltWu3QH+OLOWXJmB7KbLKyheelGK5XhtAYYapRdW4sKJ398ybpv5C1oALCcTwoSmvH8wW5J4/gjmhKICYh2goMauf0lesdxj+0His7E8blOWrUmfOB5dp73XawLKcd/UxHN8zAPC08LDL9NMcihn3ZHKi7/dtkiV2iSaDPD1ChSGdqfXIysYqOhYoktgAfBZ43CWnqQhgB8NezRKdOStYC3P2AGJW18irxxTRp2CO+gnXEcyhyr+cvyf0j8MkRSaHLXzjIrECu8BUitB6sKughdN13fs5t5SIiO6foeFdvIpZFFKO8s+4oTOSDCos2WFoC+8TZS6r583OtFLmywl1HRgQkobGgw" ], "io.cncf.notary.SigningAgent": "Notation/1.0.0" }, "signature": "kqt4plYZgCdPkoVmC-1_JfH7dPUjIQOMaONP6pEucnKC1QiTa7peN83Ka8_0kAvAT3BIZ8CFjVuazioZpjHw-ydRlL3-pgagnENS8Fz2Vfwj9nKJF7mmFGi3R0t6fFFyx_Tw9rtxi4Nsv8y4k-2XLFLeSm1_EEDThHPVMbWE6XJpOIdvr2w3Iq1PsEOVo9QqVOd3FYcGLQAbiAAi_jREYpEKImFqQeY8noUCDOtULPwxbslrglOOBtKouI4OUT0ZtG3tDCBdoZUOAfNgKSlHQutlA0-G6GdBuytCz0ku45DTnGAPS11WwsuPBJfouYlusJuZHmqJTodwEnu2B2AZpLu5wxRUwWOpSyc8ftnSBkiHJWIT3bwatPjlaHoIgwcEsGPRwvFCq7V7yH2yW2uHI1FsiMUHYuWx-hDpLf4Nzag5oc-PyaV3lzsvZZHwy43ilFO-WJOZeDQCWjIZ_U1f4hGsoDkqvoRn-aFZ-pE7Nn99buVRHDjQ6-8-jfJncJaB" } notation-go-1.2.1/internal/mock/testdata/sig_env_with_metadata.json000066400000000000000000000044131466620631100255560ustar00rootroot00000000000000{ "payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJhbm5vdGF0aW9ucyI6eyJpby53YWJiaXQtbmV0d29ya3MuYnVpbGRJZCI6IjEyMyIsImlvLndhYmJpdC1uZXR3b3Jrcy5idWlsZFRpbWUiOiIxNjcyOTQ0NjE1In0sImRpZ2VzdCI6InNoYTI1Njo1YTA3Mzg1YWY0ZTZiNmFmODFiMGViZmQ0MzVhZWRjY2RmYTM1MDdmMDYwOWM2NTgyMDllMWFiYTU3MTU5YjJiIiwibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLmRvY2tlci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsInNpemUiOjk0Mn19", "protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSI6Im5vdGFyeS54NTA5IiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1RpbWUiOiIyMDIzLTAxLTExVDEwOjAyOjU0LTA4OjAwIn0", "header": { "x5c": [ "MIIDVjCCAj6gAwIBAgIBUTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSd2FiYml0LW5ldHdvcmtzLmlvMB4XDTIzMDExMTAwNTIxMloXDTIzMDExMjAwNTIxMlowWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1uZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANH4GCn0bO8LurJvnDh9F6E5iU8MydVw5bypnPlRpP3Mt9AmdWgBYhTegHT9DecA7smkLP3FAZG33Z9c1oxeZaeMnkWmiPGtuGQtXRHoj3+ioe4zH8LKYtCDW2uNs0xaDI1CldDXf4xZGa1mYqXVT1SeYXLwHf2dAL9q6FY98lYLax139PIwJwgEiod1hyIJyQZ2Zf9+IHe+v+Aja0wNLp/w4tO9Q5FR6VNhtmeGL/zPLD8chcj4iBzArsPyos2jBDUwogsEPTYoa6Rtn6IrUyrg4aJ8S3W0qGX7qGPeSY3wbsI63Q7XYQkRrD+cb1yvwt1+YhqN8nnvM/ujVtT+JfsCAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQBs475D3dkDhjTksg+ff0zhu2MaO0UR0kVuW+7tLFkgGptfos7Z6WN4xsjpMOL44xYx3DIKHkPybTFFEr75TGsfXUFRjYRoXCYW6L72p53kzR27Im14xiELGQoIw9n0/7ajIh1j4qKg+jP7dNSGg5234QllmZZMiRWl1/X2UlE1TEgJP26vuLKsw0bPsmRPaxoKcAAQxSWuOG5gdpZVw2p08rEwsaleK2Hbh7rIQwyL7JOGrUMYyEXuF/gE72Az4NYBVlLYPE5up/Cuq4bhjpRZ4qmVTQfiDoyhn5gSCJh+1wVewbqS/DECRpKETHTCYtrfrnxsROOkB8jtaSp7vTLk" ], "io.cncf.notary.signingAgent":"Notation/1.0.0" }, "signature":"Fqe_cSgUlbYXKYz5K-O_iZobcmwUdQVaT_mPsI-fnp2ibsFbWOfokYS-DJboJJJEJyzDH41WWAi9Xxr_yieub3Eq9vD4TIz5iVm7oJxI-x92mqe3MhgeybIQDyivtChmb2ufwmr1bFCtj4girLeYc_kUVj_BZDIUYo8rlx8nyr6ucFsxK-YyNYez9ySeInWCGz-Lce4ySuXCopgiGB-lVAeDzpxBwQHVYacKfvhvoXJgmsw372dBYUVVOHbfK5PX04r2ArpysNpvlPT7iY3t6pUVsRniDNFQ1nh2t7ZttuG9qQMTrpeegAIVDJ4i-PZnLS_8LQmF07Z6rpU8e1E6_Q" } notation-go-1.2.1/internal/pkix/000077500000000000000000000000001466620631100165455ustar00rootroot00000000000000notation-go-1.2.1/internal/pkix/pkix.go000066400000000000000000000052461466620631100200560ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package pkix import ( "fmt" "strings" ldapv3 "github.com/go-ldap/ldap/v3" ) // ParseDistinguishedName parses a DN name and validates Notary Project rules func ParseDistinguishedName(name string) (map[string]string, error) { if strings.Contains(name, "=#") { return nil, fmt.Errorf("unsupported distinguished name (DN) %q: notation does not support x509.subject identities containing \"=#\"", name) } attrKeyValue := make(map[string]string) dn, err := ldapv3.ParseDN(name) if err != nil { return nil, fmt.Errorf("parsing distinguished name (DN) %q failed with err: %v. A valid DN must contain 'C', 'ST' or 'S', and 'O' RDN attributes at a minimum, and follow RFC 4514 standard", name, err) } for _, rdn := range dn.RDNs { // multi-valued RDNs are not supported (TODO: add spec reference here) if len(rdn.Attributes) > 1 { return nil, fmt.Errorf("distinguished name (DN) %q has multi-valued RDN attributes, remove multi-valued RDN attributes as they are not supported", name) } for _, attribute := range rdn.Attributes { // stateOrProvince name 'S' is an alias for 'ST' if attribute.Type == "S" { attribute.Type = "ST" } if attrKeyValue[attribute.Type] == "" { attrKeyValue[attribute.Type] = attribute.Value } else { return nil, fmt.Errorf("distinguished name (DN) %q has duplicate RDN attribute for %q, DN can only have unique RDN attributes", name, attribute.Type) } } } // Verify mandatory fields are present mandatoryFields := []string{"C", "ST", "O"} for _, field := range mandatoryFields { if attrKeyValue[field] == "" { return nil, fmt.Errorf("distinguished name (DN) %q has no mandatory RDN attribute for %q, it must contain 'C', 'ST' or 'S', and 'O' RDN attributes at a minimum", name, field) } } // No errors return attrKeyValue, nil } // IsSubsetDN returns true if dn1 is a subset of dn2 i.e. every key/value pair // of dn1 has a matching key/value pair in dn2, otherwise returns false func IsSubsetDN(dn1 map[string]string, dn2 map[string]string) bool { for key := range dn1 { if dn1[key] != dn2[key] { return false } } return true } notation-go-1.2.1/internal/pkix/pkix_test.go000066400000000000000000000060761466620631100211170ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package pkix import "testing" func TestParseDistinguishedName(t *testing.T) { // Test cases tests := []struct { name string input string wantErr bool }{ { name: "valid DN", input: "C=US,ST=California,O=Notary Project", wantErr: false, }, { name: "valid DN with State alias", input: "C=US,S=California,O=Notary Project", wantErr: false, }, { name: "invalid DN", input: "C=US,ST=California", wantErr: true, }, { name: "invalid DN without State", input: "C=US,O=Notary Project", wantErr: true, }, { name: "invalid DN without State", input: "invalid", wantErr: true, }, { name: "duplicate RDN attribute", input: "C=US,ST=California,O=Notary Project,S=California", wantErr: true, }, { name: "unsupported DN =#", input: "C=US,ST=California,O=Notary Project=#", wantErr: true, }, { name: "multi-valued RDN attributes", input: "OU=Sales+CN=J. Smith,DC=example,DC=net", wantErr: true, }, } // Run tests for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { _, err := ParseDistinguishedName(tt.input) if tt.wantErr != (err != nil) { t.Errorf("ParseDistinguishedName() error = %v, wantErr %v", err, tt.wantErr) } }) } } func TestIsSubsetDN(t *testing.T) { // Test cases tests := []struct { name string dn1 map[string]string dn2 map[string]string want bool }{ { name: "subset DN", dn1: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project", }, dn2: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project", "L": "Los Angeles", }, want: true, }, { name: "not subset DN", dn1: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project", }, dn2: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project 2", "L": "Los Angeles", "CN": "Notary", }, want: false, }, { name: "not subset DN 2", dn1: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project", "CN": "Notary", }, dn2: map[string]string{ "C": "US", "ST": "California", "O": "Notary Project", "L": "Los Angeles", }, want: false, }, } // Run tests for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := IsSubsetDN(tt.dn1, tt.dn2); got != tt.want { t.Errorf("IsSubsetDN() = %v, want %v", got, tt.want) } }) } } notation-go-1.2.1/internal/semver/000077500000000000000000000000001466620631100170735ustar00rootroot00000000000000notation-go-1.2.1/internal/semver/semver.go000066400000000000000000000035541466620631100207320ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package semver provides functions related to semanic version. // This package is based on "golang.org/x/mod/semver" package semver import ( "fmt" "regexp" "golang.org/x/mod/semver" ) // semVerRegEx is taken from https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string var semVerRegEx = regexp.MustCompile(`^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$`) // IsValid returns true if version is a valid semantic version func IsValid(version string) bool { return semVerRegEx.MatchString(version) } // ComparePluginVersion validates and compares two plugin semantic versions. // // The result will be 0 if v == w, -1 if v < w, or +1 if v > w. func ComparePluginVersion(v, w string) (int, error) { // sanity check if !IsValid(v) { return 0, fmt.Errorf("%s is not a valid semantic version", v) } if !IsValid(w) { return 0, fmt.Errorf("%s is not a valid semantic version", w) } // golang.org/x/mod/semver requires semantic version strings must begin // with a leading "v". Adding prefix "v" to the inputs. // Reference: https://pkg.go.dev/golang.org/x/mod/semver#pkg-overview return semver.Compare("v"+v, "v"+w), nil } notation-go-1.2.1/internal/semver/semver_test.go000066400000000000000000000025511466620631100217650ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package semver import "testing" func TestComparePluginVersion(t *testing.T) { t.Run("compare with lower version", func(t *testing.T) { comp, err := ComparePluginVersion("1.0.0", "1.0.1") if err != nil || comp >= 0 { t.Fatal("expected nil err and negative comp") } }) t.Run("compare with equal version", func(t *testing.T) { comp, err := ComparePluginVersion("1.0.1", "1.0.1") if err != nil || comp != 0 { t.Fatal("expected nil err and comp equal to 0") } }) t.Run("failed due to invalid semantic version", func(t *testing.T) { expectedErrMsg := "v1.0.0 is not a valid semantic version" _, err := ComparePluginVersion("v1.0.0", "1.0.1") if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected err %s, but got %s", expectedErrMsg, err) } }) } notation-go-1.2.1/internal/slices/000077500000000000000000000000001466620631100170545ustar00rootroot00000000000000notation-go-1.2.1/internal/slices/slices.go000066400000000000000000000027551466620631100206760ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package slices // Contains reports whether v is present in s. func Contains[E comparable](s []E, v E) bool { for _, vs := range s { if v == vs { return true } } return false } // ContainsAny reports whether v is present in s func ContainsAny(s []any, v any) bool { for _, vs := range s { if vs == v { return true } } return false } // Delete removes element at index i from slice s and // returns the modified slice. func Delete[T any](s []T, i int) []T { return append(s[:i], s[i+1:]...) } type isser interface { Is(string) bool } // IndexIsser returns the index of the first occurrence of name in s, // or -1 if not present. func IndexIsser[E isser](s []E, name string) int { for i, v := range s { if v.Is(name) { return i } } return -1 } // ContainsIsser reports whether name is present in s. func ContainsIsser[E isser](s []E, name string) bool { return IndexIsser(s, name) >= 0 } notation-go-1.2.1/internal/testdata/000077500000000000000000000000001466620631100174035ustar00rootroot00000000000000notation-go-1.2.1/internal/testdata/cose_signature.sig000066400000000000000000000027111466620631100231220ustar00rootroot00000000000000҄X8$xio.cncf.notary.signingSchemex+application/vnd.cncf.notary.payload.v1+jsonxio.cncf.notary.signingTimedxio.cncf.notary.signingSchemeknotary.x509!YD0@0(Q0  *H  0N1 0 UUS1 0 UWA10USeattle10 U Notary10 Ualpine0  000829135000Z21230829135000Z0N1 0 UUS1 0 UWA10USeattle10 U Notary10 Ualpine0"0  *H 0 7K240|>/ 2ϠO 9{na6aHF_Q)Y1CͿk;ǒ[rik:ځ}%D犒Ɍ(#\ltX D5ԈZw-dsiƐ*^  5"l5B,QTt?/8,J%%nb1{O aK;cHcC̎}_~*W.wMm'0%0U0U% 0 +0  *H  /K.&]{76gM=ɯd~:!/U~/ l c}=E;ؘޣ")3}TSwD)-rUq_~47UXIRC%=3B>",B7g(Ζ8oJ,5]M݁tdljS2Sx. 5Mfp1'ސ+!t'3T,N]c"ӇRh:5Y,!"1 ir4s`Wn)f-O viՑu2C'-:uy;hLKHYQw__),w#9eLĉ7l0f4nϻlaUq o&O'~0^ׄqs7FxaaUeqYɿ8a?acSƏ3섔1'LP))OT ʾ.<,VNm2*UŨtu:GUJEr4רSq>|=O^#~ܯN.?W|ls5NJu^=MN9@^CZ5f}ew>7+CL:..m~]^ptyѨ |Tuꄼ V]oTX '>x[9wIp=X=ʄ7L6&yR{m1x;_"z'?)?QS=_z癚x)(w>I7Z&s4hSXj򡿦_jnMwji Ҝ~Xӿs_CӿhL3nь48WfMkyH+t&5?[Ië4p&՚zѴS)?RIM>ؚٟ8ghʿ鯯4&44ߣg_~[5oS=".eM?4q^闙ݫO5myf&Ś8ִCjeWM;Ԍ5jߪ)=W>xvh{bMڥAQӞZMY|;BEM? ~C/4y_ 4ִfS/1_?h\3Vh<\5\ۿiI֌4yإ)MSiϚzuԌ5Ӵ3[w}45JMS&o4qiEx&i֋5 h|h刦=7jyF3.l4Lϛ4ך?M}_9VM<՜8ɷ״FMiO y,G_ksM4bh|M;s4q~H i3RSP_S5wkm&Oh6G'xNzR'5n9L&M&7i٥irMjj}̓Il"ˬ%L^VRPT!,Ă8@g-P #aNy͢*.ȫbוfފpLCtZqJs.`Bi %WP*-+),l.q$Sp :&wY1\8U)pZR`y]㪨ZYgB\NAʊqy*syoE%vZ^^yBy޲ 2 (mq1d2Tc=U/x0ý.ϒKˊR )^[VRٶ b/$3&ǣ <0MWũ9ί*|0,-(3ǞZ<'JC.t`8Xq)vLRTLRWAP1^)/(3iA*:IUqQ2nKY1CyeK\fb̪"W* LQ*% +Wn' q{YDa"YZ =ܦ򹋖jUSfq9*+)(y)Wԉ"J*Sf9>qc5%. ZI`FgJUL ƝE369rbV%U0TC}S[--ƫ ]Δqys8w81VS_^^aulaTV|UJs paAyZuoCFZ ܸt6&j9~qaYZpM%*ԔT2S&U'[I0y %įN1W`q1R^/V8v`cDZ3T,..e.9t?v N^9)f^cU{jM./n7Mܩ U bq +.) WUY {YX*p{\R橪T+˯<y=}XM}C^7\[^U]sCg[]>Oz'~,Uk/8c sJ >xKGp/qLx' rg'wR '^#xz{7 O|46ɸ||Oo)G ^CCd݂ P^=|&>im4>MnÛG7 IoA{FD:q|*.^NnQyK݂_B{4C7w s*/x6|T>IO|"O_E MR\^W࿠CN|>o:Kzُs7 ^ANP )m෇\'ׄ\c~s]W}l(/z\߅\Iԏ 1+?Y'By.xZs7\9?s3|/\q-<S B)(\'|j(L/xG(Gz_:6hy_jx&1<(: xO4& >ʧ V5PyCÔ_Hs QRonGQjo|_T^7 XHQKI%/utPcTO66S ~6/"n~!-h=";8_Cxytx[|o[~Q]T~o Ao+?L!։x|8|Gn EIOYăj{I|A˧}L̫?xOѩs?BTpx~E.Y}QG\G y-|$'C<^4I?z?,xS*Mī8 zo.⭚oYCq y' g⩂?CД<%5Cϫ܂BV#xT ~z'K:(x8Nsz+x,S/x oSuM]/:12gN<&x2#5Sg={꽞TM=y<P}(nO]_P݂_"L^z%q)UOtn~C\ ᥂]G࿺o7˸oK|+o| fD<(z⭂y=oECJKw ~&>KaN[eym/z53K/݂O=8% $m=I|to'nls6﹂Gx-x~Q+7R @^_>Q=iQAod *z(?'9|ƕEI{?JT>NQ|&$xdGO|[/4{||P>zz~)^w}VN*!b*o ~ʫ(#Q>O՟.PP;_M %HP[ϣ*o ~/( ~4S{?>jOୡ}L|fY熂_EF=7|L?:̢~|4 x@oPC zn(2sTC-'QM{zL~%8q/LptΦ}sC;ɂ2\B邗 9_OVP IQp3\[S~e?%WP킯"-xgžx;)I@J_OGφ' k_'TIsʷ ʷ W8 dxә=gx蹭Q:(@n⍂_A|zxPm%xs- Q|O|dG7x/Քw ~#zMFo!^p&+ &[݂ ^|P5s](n _SQ'Cהookʷ P5%h/P;+&x;3GCEs]-@5#^/O!F4%,*[P **rmC]F?Dq݂?KGf3&QM:%^M#,A<(xh&οV.pKkk-Ux&vG 'NIw9<^G'^sxk,+*ߨYpC%||՟/jyZo5\hfÈi2=&xITPd⭂o|vw^F6݂/'#*Y̓ģxOY D[aīNFJ3|&M9jyﵵ m ~Wt;#;;G2 p}3N ^9|N]?I@-"\-Կ8Z)5W >s(ӷ9ߋ^#%N ~3N_VDH+o8 ιN<5)7)/Z/|No9ᴳQC)N-/>d;Ýv6kO]*ew_m:]SCXKQɭNտ#"W{zHx߇~/@Hʡt+tB9xω[w ^#79y[/xyNeHPgޠॷ:&OR=͂[F/x4 r!xp&o9?߰9oꜣYJr&}.}OUw/??A['hx~N;>u 8#GR ~YSh/iהEk^}_Z/?_/)OL'%j@3Bigmh|o5w>9zb\68k .5Io9esh/xsA4 .ROR r o7F8wV/&⍂;Gkuu~}/c͂G9GApZ?&]}NΑ%klg,rkgkn#8N|\s x& t+xY_?##xv3 >z>]tFs=/| Q],˝[I+ v ܴiE/?XY/(u_3w.3mGM6Ƈ29w0~.w3~=c\m9g8 cB/f5_:G3dƛOa1x+oc|tƯe`<Ƴe:R ݌Oc0 f_c&3x3of|&Ag1lx;s`f-sf{Ǹvg8[c|Obo0^v݌x5o1^ی3㍌_{g|Mx30dC[6w2x;bbcƻx0j2^ e8\s1bxCof|(.92x<.ys1?cB`"ƣ8x3~ Ƈgg<O<?g?Wg<+y3>?<O8Ox*'g|2Ư4?g?x3>?sx3>?7g \z:xz*?ɠc@Q}G=0ԃA_ :} G}<|*Q3z?Dz/K?A_Q}9GtG z#s@79GQZWQQ/=Q/=^zZz?Lz/,cס;@_Qomԛ@OC7Q?co@ׂM8?z%r3?jY"г?ꅠ@Eg: z2y?ꑠoE^QKz0<?|:tG}\ P ?C ??꽠]Ǡ?K?K?M?ꍠρ^Qo]Q?^ tFW ^ڃQ{@{?EMz!hG=z&tT?ɠc@  vz80wԃA߉aAA߅QcTJZz?U^uǠFwڏQo~tG?@?굠Q^t#G}rпE~^w<3Az G=Cdk?1FGG=#0D~'UG}~O{A?Q OAG7~zG迠@~ ?굠A,tG?堟C=Q/Q/=GzL?{?ꩠ@'>Q} Gz8?aOԃA[*  14t!}@7::{AGnD1辠kPvQQotꍠA~t d@1Aǡ^ zh~бQ}G`lz!BC?yAg>: '^7oΞe"1j4DVq]ow^BF %,?g8i׿xx9hJDűg؋פmQw6m W!ʞem*mۨM @Zˋ1k{zbT؂+c/v~ tߨM{ ?7|Vb :|Ҷtm?y(?F_v7&yJy ׶mT_:hۆǨMUf_61В17;0>h1';0j*c4sf<-J+d;b6ಳ &nߧF`YէfR樔ㆤ~o؛V;'аԬz՞ ֌lq%a%w?鯬ߏ뫌N@DZmh@uQga +k 3iKnV8cZTUQF ]f,࿄2 iQ8VY4DcX)P¿v-JSkQ{ hH<2Ov\2Ĩwmvs|y "TJ[fl>N L膟wfb|qSiMܿk3)b~7Y0OBiD_he]b%vqׁ5؎!Q1JŮWjicF4qB>.V]`_<%Q-ehu~g-FCڱ1vK;~5G)5iuGʈgnML5 2 a{@vbBoY $[ ^oMoPJeaMj(ܞg;'VkK( ?5qԀ(hؽoTc63Һ0'5 Qhwbu?ZsfGgxQ6o|lר֑;w9[)goa @**%ho] wjWmK]7"ŶR~r={]2_dԾewEyI %zl2^oȹ)rPwМhE `e[-6uvV@ɻ_Sjcu)e tWuInL*h'ԅ3@Zhe:mL BeSܗxu@0hL`f_ImKwm7>+卌V%6bw^˶gX{'zl_I8{0+ֹvRFF[`Uoݙ`g`/)msOfXc9SMw=dvhl~UE)l66O gyYb.,4Ĺarm·Dhw9-1dc/S13X#ijNBM--C۞Ԏ||mtAvQ9o V9 /.*ZȿF+#vZ 2\ŗto 3iN5͙ Ŧ̆a<.Ѻl'9 %[KҔy^4 o_c[xӞ@X،&!m{xzh # ȶ;9^ދQm0:`v34`UAs2l7a4@;'hWi>;MqgFyNs.˅MgmۖG! e 'BB$>'^FLL8\`HȜW,Εr/W͔_8LQs1D퉪;`pdnUϬW6b]NWZԕ3A/i,; _Bu*fMVV`iU)>x;{OA~z_|=3fg3qul iL߂2Ǭ&b&$'}L˅[k78\bS|>y|s7i?͌Q;e KX"42?0Όivhem=qV\Z'w`񗯍V'2/1qF`eq*/Yݙ|>Hփr9;€G#Ϙ}5 k^.S F^w'B}mߤc L71l׳b 2h\7_sڶwt[w{}s ۳cgvZC&2_v'$CpXYz^ީiXqЉ 5~tO܎a` Zh6ީIf g;mMu;|5ێBga[6!c62ٙIi1ʚO)AJYOmk[ߒm959gju4cߦ~ӶvomGlmkz}W_UqMmkMQ4>񄣢/l~ˋO}bWJ\ntKQi5ض]>>X߶pb'ӿT ?Z?xQk;y1p~x'hgGpm2Wj,/pa ;ٳ? 9ov=){>-99M6jo@|+CR0[aGѿmgx%\8h|swjP=j{Mk`ofϿRv[ķԤ63pݓyZVqj=۶چjԶ;C5 zS׊4rԼ~yn "9Z5QV~B2ήSqׁ8QqNڛV[;wf~shɸ9%xO ߲.HCmTFغ[SV+Rlkf-¶z O !к#-݈:Ra}jm_j/ʰ[!ze#!ҷY}*ckR։m{1io |C./rOvֈN˜s2pvKw&ÿ .(O 0[!*1ukDh#l dIͮfΪ){,2 r|͘!SZSFݎeC04Űw+W3”Ju;|{*(R)3^#ß>m*a7|g{);7۶p:8nWJu=-eivRK7: kvtה S ;hxQb4V<=¼Z7-٘F`7~n mȄ"k>$ƘVپ@Zҕz+۾ΫJy^easgԞcl۞6غw0V4;vFo˽ŶmYpUdwEu5 Y|vF<]f'myscF1iy̟G+N۶^MLʎ?6=6vn}8+e y9Ndu#eZcĖJ1z0굏bTvo;[،*Fյgީ֐Tp!hGX 4ekʜSw:uShk~%u.Tg'FY?r6JQuANw>k=ק{(q&ɐ9zDhH2#5( x.+"(')^w=qEo^5yD拳uP՘߽}sCC:?M͊jXz~bVX{GB^/Cs,sCHA'?'k vjasMhC9]fp1awʼnX5b7^5{i"gΈ6Rea:{#փ*O5YaEH&+ds!_OԴknhiѡ1ijgPт} ]I{ߙ@쓓8rh9|& _.jr*RGl&[(Z'|hM1u:'!uqIOG$<ñ_ɩ]>t4HKRH'_9gƁhM#] BO8&=b __Vù1VgDZ:)ȴAr Sگ ي̚Lq2GA6E + AҢb'F?]ŘO"- Ŀu`}pF )O-uXϕU=P%E&EZ=/| |O>=6g] ڻ491_ddpϻ HK}`+HN)d]12L,WU=HKʴq3eO=pz#IVm))]sNW )2'F Y6#_aTGغNszzd9=TSw]/!A62!2W. ߭+kLxZ31_0&/jJ\YgLpZ0W1'@ dd @vI%^_%w];vWŻ-ʾO뛦UEQd[ ps]h6h$ě[<~bnCXXڳq`0/:M uƚt G-ԟ+sΑX`gP=tc[]=2LZ*T>kWqp}+9HtIֈZK/`fo<كMj2LZHP^sG#&mi"No01d:gKMu',n/6w6r5jzщOVx^ʆiG\*.?G"o8 ~s;P_9Z^`AI{PVOQڕọsp 9(^7kEmӆ*y/c Zh:B!4 1݉LGE#tJ5﫜(7Q B`fQQm!GiOsf] UQZ9Ya:-0CXGY舱ZȘap=X/ |̒ØaA ٰv6i6\.X3)2Uk5W8շ|9lznyO|oCxL"ްGڐ:u ES%76hO YFYE+Vj[-X < c+~x@8 R%`)ٰV< `A"zͫ|yDۑ=H5_Wkz+\ ׬[DKxPȮH۶{*T?Ɵmo2@2B-Nj<1 }vdKOW]1T](E1 sxkֲj֑**4kcO`il^~7%XܑwC*{bҢ=6~ SkjS(c#6)oRXcRDNwŻA+E<#!j_ fB``^7KxbUa=C?^́}).Iu| 6N:Ps&nrARNvdb$~2;r#+ ̉?1cZTk xm״"U *Lb`[|L @2Co(CׇPq^ub[P 1J{D63Lx!TuhoqvSzKR|mQr?Jڎ 2(j;deѽ4=L8+sJ?KxPKnPdctvG篁qDP)Op#lFH`dPf|tENvc=3X`;M8b=8ҟKr9 X+K͌{^v3jrTXt5;4O*"ˢЭX]yB<2ng r z92ҰVNq pGh>җu铯v7IќqhkYXD}P7C2=7Y@9_s/q "IHkʂoSjьaNး2C;@tken`Wj~C"ąܩn1sg6{&|L2nO0&+ py2qڪv#>dG $ߎXL}Iph i_ +/ђ% Goc`* `Z؍IA296ȆIQ6sGBJ]?:עfamVn4 5v~w"EWWv&f:]Ho}r*&EYzP>g.K1u,)2.lV?&G1cr.}w/Rj?I8t|+B,FFZӾzA7^ &8CgtɷR)ZmA*O?n1VH_1VkB~$}Wvz1~4$XYhJ>RCj{宍"mI.>,f,@ڌ8֭_.E|{'Azc)cѮ_iY5֜N1Oy2Vwi-˘qsEv%GZ`tq 'ء)YF;$Igkbb\D`9 7Do"ϻRw."^:AZ?n?!'GۂSkz06'R uXhE.?9Z v-nN߽Sj:/|<ƷiEc{E*!gJ7R Oi;9cZu\X V"Kx;;]&Q%L:& V 6.,z B/z=c@D"8kÿq"^Bgnȇ(4 )9aCt͗'U,#dg?? 4)`}'eUύ_婩_g9vRo1sO&.ķ%,X:E]fb1i)$9īcf k(*5%6x#DpXϝ@ Ø*~MB(lP)s!E8ԛKknn_*hlz<^ q}lF@KS^vS"U[l1sҐFH S{DZj9 k3v-M磝@to*/S&$~=%iDϘ=~pVEyZOLVB8mvD{yEvzAzUKM(.γ#O,Ɖ70fadh\{@c9Gs.$Ul;̇4Gl7XzieiM/(z5s¹5}vm"P4*zxM/}4Q+AI lyMZiЛ 9 *^˘6n3T0[VffE i~9#*h[ʲ#0Yj_#V9m΂:47tOF{= xb̨N^r:dw3Tu)Gek*r="o8*Oqh. 9PmKuM{"|I!t8.fc9XKsc~m"վȾΪ+ TBVzkMN@?|\]ݦfyG.z#w!˦" S弅 q a]`G}vr(S]A~Zk};밞N\d9|ο/b̰ o2mf*=,E'[n_Z ].3$E﷈cO´ݦ>;͑8xo/F--~aߧ0A-CznD}KWQuX;g[DoKYpQ7THa.u-a[OuB}1g4z͝4. ZF'mf=iC8M7s"D찐0]IjvE,A:/I*R,W`nQ9gc^WV&(9o6BJӜ+ٰޣu9[@ (#1H4;.9yr5XV19D?S)T$QQ4V::'e78X2}lo346.'.d{Tq MXlzY5v0ri4:;rX#GfBaXϽY6DV1k?H{0eJIjǴm*z3\Lǀ\ iGU y53?Ca`𓣊{('?kyq0 }D&:0:6zTJ> cX19zV`lжE' :ʘO*?||]iI (δMch+&ɱE}#.<G8O\mRX/ȳ: J0l._]hz=Ă!.~ln耩!vpē -(@d_ /6xsD+dZlٮ_rI ȋo&E-XN@8b0IieVrzѝ&/f"NݪÄ#y";9bwADK\}-^O؄"j> %DDփ8e^.AnHpVÎ9CNjj{T U n)2&[=*i`b$JCtk`]0d\f'?G/f<&woje,5Rg3uE f{7秆Q8PP 5P3vsLXěK //ؐoҾf@G9*Hn,%aD%w:7Ł<8,SlLv_=*ĞDmeLS;џ榨YX\ht Gݭw߃#Q3֭1E# dE^NX&ˆA'o=w@I#"Zz1?? WOL{ߓ@tr͓ ڄW>QD@IX9S#HbMSZw d7e<r[³ݜ]8n|B!Gl8wk~" ;XEd 眮@ c@d(`.#fY:ف2O{1dJ/x,IHCՂP6"4lì +NDUNH An-B)2ن>Ò&% R.rVa0} 2 rù1:f?idȊN%X4.X}1S`=(߽),尞W _𗟊&:-7MMˀx˴c{&yB6t'goN=(}$'bW3<&jCAצ͎} ;aBc[y'ܾX+h|ى04:!~5&sDb|8@#5µ0f 9*@KSƌoZ/;L6wO)>L $-P73e:iʏ/fA&Bz3kXq#𩷋7DbIxV8?O(5\l;h>`,rw\׀sx,ۆR;ȤYHfm9tG_=q= Vt l?evG{vLvxul' NRXWWB[/Sͫ]o󜈳X+ND^l߅I;z"lHUnb{"N/فJ/V昹h['%e3fKgV RM0ȫ?[z{XD}J(5|'R=#a6;2c4c6p#9T OS{mv3$Wgڑ +T~W}}Rr*>~P$#V%"$4k3p˫E_"&Ǧ#DGfƫZŠêي1KaW>=*$[o]=עe&zČo{I,#çoPPֿL4P3cZSI`JdW1@.جn 0ZylzKb5SnՎL$&ӏgl)蟯BV߱>t?En(E!ð;ՎJIGozI8Jz[ND*_֦az:d=pp^(HV]}|yړyJU^f,˪e [; ;cF'lف"oqgDA9]<)Irb- 'H%1">!/\.[jSH3mC%M9'r9i|(r+VƖ$DW}x݁'ٰ#Z? Z,O&?ܞ&|]g|&8T% }Mф2H!eVRRwDѻ=MYѪ,Z7".+l5֬^2DonGNq_!сfGRe$rE*]t htN'2'l1Cn e| ,)0,G9 IjWۯm TfzD`dEĵ]5ہ"A7B.x^P{ҎJ<Hh/+ m^΅ְ) / hco4P>+Nmpj 4o:L8ci,I-mCX{چs~Ǒniqf?c2ņySpr6؍)6m&U"5nmEs8֞ 4'??˂?گ78 X$EN ux4'NeeX5ysxae%BU{b5ځ.ejziRilY"l/s>f1.am kmXw(91SXcj, X-rTqvu k9>sU1i f Sgt wPgLq9fM}yT_κeՊ6̆smM+915=PJyKuZjwybRlz~_åM%&{dn=TOe>J0E/a>o]ȪzWL=#ԁic]HI w0p.4'V sZWc.Ob(^oJ5ԊpW5W_vd pʹO9U2(2*]gçjp[;y増9 p eGmeaC`G/=d =́r~uZx߆I큑"-NXhRY7|/yeX+a0 N.Ö~iABbpKT̖crYO;:Z= tĤjW>Vǫߏ|3ZBjOLH&geE6L1i'6&4z^^BwöN4T8)D{ԃ@ }Toa[g;4kAQ*c,AX=dлkpdlޓVlf4a-ҼhFsQNvʉT%X;4w:sa^}Xxf +Mt'W|aEgU u)@ΚYU ӏ`/=z0[Y 77U J9m7k]8g2Kq -meU301E 3z~ m K6y4̥6:ɞg#v/m1}i!=>=n. .3fb'pP B ًݡ[w.r!43hLiA.q/`7 S)h b=s<6VE^q?t12>ҝ5dX–#;9JZE m 7Փ3ϰe [`c͌k/Bp95t6|ksu4c~Ͼqn+^)^X%فHzY20;Sie'"lJz|P!F3_v$;rgU5M#ȋ1VKZ(TW#w ?hS/drN/IqL@|5*qP!GpRyR^AiQۋNDɡ}щz?nɺSw"ztL"g0*jcD)\°,hxsņ=/9j<᎚?ެ4c}pafPe|6w;g;P<˼,B`lE{DѦ8f5B=7C%;w,{pdE6 8:h0e5JyN)%Y\qyuyh:"sދ-fZ^lS+xMcFΩ9^:c*.8hbdEV5gg'od9pg=&Iʸ:fTvbY$A2=(Nv?OWwo/Ƿ1dx6 ì0Ras9BNO+ i./)4N.DDi5 "ƛKT\ IP$! >.?¹ ȸ~[ic#q=b}|fƔvrl۬'eѣ͌ VZUa2Z2Gvgذw5NgtnAwM\+.d &iaO"U .u[ݠl araƿ0B3v  dKRl\$:L6cKӂ>Sw~Ő)&s-ՊvamK֪^Vr(PYke.E*&Ge6aNʋNj<Ѱtb.O,YnzW("*iYE _ssQe-Ȗ[YES>*3̰a8-h,ԉ,ʔ4Λ?pΡ[zA6% &rardtkHŹ 8¶2V̷bjߊdn\'}+jZl{O3rFTez+GOkCmXe Ҁ\ `ef|܍_ɘqB~Fw[R>T*jE7MsJj0W^"[d[/L6fVtgƺ% .SWNﺠ4`+6Bml}1c(o^_?|01>0EwKѭq;BA,~ qNDڞ;ᯧ@fx;k7g+H13w֬ѩ@bTGeѧ1&n%;X/9GibLFӁFoozŅ^)^"n yl BKG,o%}g[&-r'hP/ b 3L߀^iA~_Z>6iU'0g,8N/w B^r>DfmbƉ`Ŋԛ% '1L6e}%MTFtBi$=&p'–Yb).dy9Bv f~ؤ $)"]ޘ$Ҽu8yI._k" vXB6$^j?D5d~rOuq}fM]zsYaZ5%jc֧:[ُt(F7[1k}{Ήc-Z kѱB3o;X W4z˅ #b-\${krUH'?j.  ֧sN#K`,Sӿ3f\I3]rІ~y@魬]Ap;ҹťsBKIRfYPC{M!=y/g5#&_RXʩG3. 4-۝[C6젍'!p19~9>Qr*-=^fB]5Y1eg2'Jmcp5MmiNυuc6o̐Zw@YVD,6/} k֢2' =rbm="1kByYp?P/iaFZ-DŠQ\$)r,е8K¬M__cϷOVn-d.̛ TP; 8>r~+rn A=n]Q"m\) I$nr!af _wz'֤p^މ: 4OB1{G53!Tބw3fdT ez@l#] c-\цнՅZj8h %<9ʘ :k2Ƶ~aW軿1*gnGDtōNtlA{)Kair.AZ~A E荵 rM\h_u1/gamUشҢ֋Fp19J7F]Cf[o#nŖ͇*r-kVh.hh#X_@˅Tk]!5321[i=1kEkᲿ@ZyMP_PUq x!J!׹1ጶMMo$/4xVl0) iő3PWnC!ֺopŢڌ|7tM0R.PƠ!ozCSi3=E,l b0ybO$n?GmW*J*bX8*EJ!Ҧ(QU 9&NNneG).yBQ.L(wrD!}@Ӕh?o00kx*_ F/'!f1E_.ZטCj|ny yGsÀy8J8 f]Hlcm. ՘RuX*T#Te( ~YLJg/AsPh31^Y#^)E 9MgA;f9Bg t- j]ڽ9iWiM;cw,C;<1#[؊7Vlsq@@8o,snҀXW]Zȧᗁkij1tdx.H5Z]dÐ˛姛ޜp49쵄Bꙝ_#es8~o̻e<K'eyE!mm;$'TH3=]bB쥵`"aV+ITx@E#B}kO@]U٦jy#,|JbDv6xF$U&ѿӀ r$E> jSIq`MD y"nq>' !:j4!|IQUمr+k,E=\7沝L'E e,:{;Z"g FX2laޅ A9[ j2wȎ~@an@/v$Pҝ()wМLoKd$j:/ܑ8zd yedRt8ȊX/k9~t r(\$kB.Ofgu0f >női6 k8}im/݀}҂anZgog'~I8%iKD=~ܥx^A]mU/ @95tva,x]8EMRC߀l˄@AӀpl^U &^_4֤$!OI3&%E/DeOLђU,r~/9Nj--WԞL̉يJG< "BvǖSF.KUJtb^ȼB8$b}67oسk|We-\x'Bt~UƿF'o&l=C[.yg=S|\1Þռj >V6ABք.j|n4as)$h+H~3Y Nnf-C FGFNm\2;067'j 2/ 9?jE~K3|xjgxs6۶1ۤGRʇ܀0Gve EGCɪNhJ=.08<)M]A2EP IuA?I }p?ui2w\vsV!Mb:n}9#60bEHeTT! "^oc.o%Xj-;cou냲4,'?b}ap lzc7'^dk1c42&,HBƋL˰s'|SF\EZ`̀V$ h-䔷Ĥ*XsCG,8}W#„ g+)@MAB.|}GYOLzEv EgkELFFץS13s԰ļ@RGd0}1.Q>&NO B.6ӥēr9|oo~2sªM%EY<ۨ/ĝpUT Bȷb܉&,=aF2`<4Xdɖo4'fE|yOZS6կ"h#8"M ^>uYCB̹~yB`8ԝw |G}tzƂ$mMХfbOsE+Zȡ'[ oo+nF506|X 9$_y9R,G9f)d?g3f|oDPk=:q^I DC̒sĕ!)|ԑ-Bm|1??#f%u{Ip5Y9~\g扬~aĜA6i]QDke}B(|FӭZq曯 L~,>A'Z(E3/USçUç Y]2ntXT}Zt"3=1mk9JF̘4<.h6gAimIz!WxyA KI]'-ѧ~5^PQi\s%s$ Ӏͬ dtHN4]YQՕiKM+zʮrH2IHxx"Tӄp&z&~!LOW=Uρȿ`~ns{y,{)56JwmF1aD,pT{)lZ">WkJXW@;m4w;(^Qe9ZY +X]+{JޔIkA)'>甿X,o_/'$ҙ6{n$$t2DҾ*%(vڞؕjMܿk=D8ĕZ2Srx5 nDȨk=dF(%cW,f׵pffvU[yPf{PKF F"Xhk.FxX}/h`ߕh- O2v쨷XX{k݊Ȁ.j3" "6F?Ihz>2GT>Qe! ˾5sZrDim\=<َt˯PJ3Y }DB,i<%?lf"ϝGvB"ad;Y^N r'Ñ&=:ۑ?o;+mMzBgIEGX?r]H9dڹe'ݍ&>}9`y) ʽA `"!DV 6 qQm.|TMl&c.<ۤ`hLGd" Y`,՟P73"Yp!f[b !} !6WKy5L/Ağ9Q:)Ԟ"$1m\; sǗXh3`_X6(d4 ܨɘjmz}Y#V05Bm^?2H%º0*w'] ݸ2j+c}xU*+z-,1ue(vqvS&%;i+0-/HPv2^@vIHőfRﴘ9}>o;2dהufC~:hpO. iVV~+{LtW\ȼ΂P3d^DaO\-䮟ysYٴIkAM!ݺͼ%Lԕ PwFhsHj4u)D!7K|7!/b{5[5A4T:SY0k4g$OJզ>u!*CZCǵG_8Wy\⭔+,YUl!9e2gPx%("yRy +eX.Hu<:ۋ?kɬ@8(#%˸fxv0aŪD!֠;)w09SAf"`A0}Fx=Vۧ{!g\b cVFH#q&}N>eGXق+y%-['ӚC'dгfW`uRXcBDRVyZ>iYp1%- u& ,QjG˓4 .@P1{ n:ڬ2~0LVT JvTe>I_ϾU/ڑd%@0/O@c~;ڋՁas4VJ̋%-V ”w_p.$zJ/cޛ9b)W.Hΰx =a۬asՅc{ 2㞐 .@\o̘لDB>GӑUp3 JP..qkb'U}#a5QmNT [Ei7 j Ln⌡g@KЌ>TirwA!f!* 6L[ CX=W;sb Ee ؄pbKP7%y\Sa+SbI/ȟ= _Go^ϰSS=) KKjҨZ,{/Q k@(K?-ܒw`y֡B,׳/ZyW )\@qE1ͅ~J޾RB[j {o z+V^ڍncRr|Y= '~O+}(<(4:n7Ppx0w޴vfJ/9W7I~LNq:kQ_!IqLL p9teG GX+xz:̯n4.uG9]]J-ogiw,KO[?dCb8sOX?5Tr3aCH:v\Aºvx2<KXs?hW쳷2lBL7)wܢ|E H_n̟1KQ͂ 30R>V^AuMF6qOX\fU@_Q>%`)&϶ؕ0ϤƳVC&e+p7Z8#~1R13W/ $-eS;?dS҄pcwPE$|*,&PU'\@s#ܚg=Q X`VJ#Zzd&J;VՍ.auɇ)eD{f9dYn=\Hl3apѼ[2r!UsD;;?e '2&nOl+u)d컱'L![׹fɃ+5"IKq"fȕ-O׉umxncزT;7Zꮱ@ *=,a$6Jɿ>TlO$<4ՎPU I;]~=J]dGHX^~ 6ȸr TALHi|J8Cw ȸn|ڤQՅ@~ԎP͞˽}JO =ȦZ`_Mf\g~U X-x݈ h0 ! C! Xr7wtʿŅȎ$&;[rom~ mۙj/"T/ fH0MFbܫ0 !}0lV{yr?up[[J$2Pp5TƖBifƀ'QZv!c>L v+Z. 7hd5˰-mgnlrt>t Fhm~9Bԏp"d\VFȸD&̊w~|Rl FSZ؋`v'+c4V15~yl9p%[\rEuJI|7xjX@Vֿv>YccbKWgv@ϷRQZ+BƧˍNDK)%O|JCL4ޖNc~^C9$u]:7'2 Tcb;0q&_z\L0Z-i7X8Fְ|ւPΨcVZyLOG}@h?;dvJE c0R8 Wf!UrvJ[l BeI[X{2P{u*XcsV_10]Hc]f Nc5e,WvqK/WȧRgͪ<+X^dYl`X!Yo nL+z(cP"2lj(LnߦIkR?F"+(5͖XvņγS'iI6_y/4[D sH{SlB' yZkCpU!f'/VYwZ,uDkkр[)ҎE峰V-Fn^,V '3wYڣhm{DzQ%sk1ß7YU xPXG%rvJmҸFG}SZ?z??ߴnQ2Xi+ -v*d_u k~BB]Y`R!;Q^*<"1a2TVrȵo l3:ykk݌nss2_l~ kW}Fie U(%u)~Zb nq1T@`XYm8j֏ԫ= d1`6Py-@^ U~v~)yҟW(KvCJQjǰu[)5jÙy2?EV7|RauߦU_ӪT"q̯u[%έfV/zKiDB0CG?iHM~Xu ßIo3Ct]ˌ*;X;?`eW"tZROBrfA1VAT؁[F+B0RخB) V4T$aydW3JfNµX <م+7f!|>r|&<$rEx2l''FʷɰVmUj|>J) ßw [B>}tfa]iWXp٭8Ulܲ8u\ڴ]e(<5>n|u d\*w du c>r/A Pj䒋y=vưY=|+&"c$#]V.B[>8֐oODAII²].N"zۙBs>E1\I %Xr#ga`?}dL_LrCx2)6a6a])Q\8خa׶K9)EPRN{Da$_2IQK3)oߒ1zW-ϯ<9f|#&)'a;Qi}ˢeE.~Ei!B"Aɼ79>ei {`o7QXX$*~z֙cc̱(%ϵa]qؿbM|oY)~Q#*=oF(fg&J t{)%N#nC|"1S"2 }=N+KШ 63ҠDVs$ <u%S (9 )@ȸLPsnN7Uc?UoxtaJ6NztNFJyF$Y'ӥDِϔFJIw4_eo3z )Sx`AHʔ';̷ qҴnг,#_nDzQ =Ylυ'HTK'^c%` A~muyˈǞqC4r3c_5b++H5<$/4ո k\ME)nD~I, ڰ6(k=\ t|vy^g\N}_ ϴ3T׼+KϑƊɈh7Mӯ_yvh7 Cx7' {풛P+5F27TnO=oTu9tI]t ysMb 2r8FŮ ;D{H&;Ӎ+ƴX~٨ܳ)]!|֑. L<"T9r$?hku$7C|Wt1i?Od )k_ 'ϲYX8uǑfbyKwal9,o:;z274o2-sgӅsW .=ʬ1{X)߮FHTNlSeB_V$$8] +,0t"Tr {KhO& fǗ $n="X& &o6PKf)*{Sfgi²e x\{0Sj\JB"@}1yiYec%Ymes?Yk5te=Z3g ;acSZ!fG$.s T6N%H_2f˔֏*&?8IdCHȆ⠐@LW]d1J)MjvrArhOBºM(BdPfw|7Љ"2߀#X Z q)!G}uR2Ϩ3y2w8!q!鉧d`lCgΝמ7Мǃ9|0E)0/j C>3zj^G}^n?Et A<2*-e֍1;UXu>|#r"QX׌t7VG.2ͪlnB <fSa!#e8O.oxo4N]"3p}t*J- SPEat9<߸ =y~3F{++9K%!^"t dɏOSj|k5 Ț}Ǡ|+F> fM86e>&w9("sЋban0C("o1#7%F:6\DnѢP? "U{8o`㙸s4|+ TMv["Ac!mŖfrӦv#Id\bv1n)#'ɬdt Bƫahz-l{c.؇JMzJk&&^`Uhzg pV3yP,B\eIn\y{Sbײ!a췻҈R8d qȃ{ 㖴ϿL7?xZw @HˠZeB 3ژ7i?_ : "(ªȃ_ w侧L.QxiVny3wl /)JkGSpQOQ:`-Nuy:b"+sAJ!\iX Ia]`9pۓNf^aN BN tsdֲ. ȳ DTZ{(SRRAPơ;FʎBw c@Ai޷O0rOiyR>мΨr< ۞T/"ߦF8^w֫v[bqX#cO7mϺ3ut .[P@.]/ \7s9}qzu?hAB.֢D!au?xJ.ӥْO0f̮P7-<ƎnLLؤX9Nc<(b /yBs"n~HmQI凙CVӦQ#H*K 4$ 'mg0a3֚mNJ Et|& ?7-qkٿ(' dce6L4{LXK}3N1]ŲAuΩ#>05&cubD4z_PKnB'_!ŰG4;۰RVAՓA7Jܒ~n0􆞿~R\]!T?t״h\F< q_ԊO2C&wxY1HhOOܴe^7J9n.y-Albg>!ӑ'XgJ?i3q2'dz鷹<훈A 9B:*fStm;M{JѐyQVR'g0'4c k?v6i+#\ez?ޚ3}łQ7+"_yYZ&'!2ڌ=ӄ$tcU;AUX؈B)ٱ~L. ##Q W +\1>ED#e`;_Rɴ=ǘ̳[LFV]Tɛt_Ӑ8SQ@3+PU8lVLdJ6L;@I3WR;1ny{+K3dd~&Sxj|Nۿ`oK:8[_(W1`SDZ5Nz)py4/M\{޸>1l`4ݬ"HgTv`UK,҇iA0ijxrJ3?^0P +x-(o},ש1) >iyY|IJU#b?Vio OnҶ r洢'B1SQJj՚!.}3҃ATë]e%?J~#}8@ ))ǫV``״%㞁!h6 ܧ:7*x㽗 &W۶.r 9>46/ ?IК=uZ1kJ]d3pC !lEb˄ e_D9`*}~=`!otL^xW;҈\Ch+a}FΣT4P+@\S3QkF},MCcfS7‚\ve<[HsVhK}%Vf-\<ce%*"/ݢ)K'?$J7 M]17[JJK3g$,Wq~8Hҫ2@T9w)><ȭ}i!a5<ƚaXoS*)B ,ETIG2!]Z0{;xԥ1uٓ|3gLA\PBPح|ҽX>u'2mDn'Kʍj5G qh)[d1.mˣd$SY0FhOi4lEhH6waHr`[Wp n5rpXŸt`CRDK8RSxp"4Rn׸5wـR<,JAW/1J9-}{y&3HlF80؅w斾3}A{4*4Z*uռxb\ MvG.l eMq}̭xV0 y%!TS:`R;}94 KNr!! , ģV8LjC%RVڂbg'hYЊ@bEVǃAc܊LS>/_vj72vxsۊ3r.ܲ1bc_)sOXrw)lYMp2w깬K J1V^jFs>TK/dZšPJ3c mh!oMT̈́܅R $VXK>_iB/ݐȬϩuau3blTrL/,}*<^y@MDŽz6s BD1܃PXrS4:r!JCJ7^;-QzSL`{.|ʅmElLx !o~.ú~%S(0n)%sy Bq٣Ptə,1g(2$?Ag; xYg 71XY\[˝B1""^Ҫ o̻q0lx҅HHѐA{^%jSޘeCh: d|4DX.lawMۏR:̓˱ka5A]i"Ji{WE ypT}…H{J9_4X0ԃtR@hY߇(5V}! h< 4 Tlgl+rَ/#T*M{e=wżj.xRcVGtYK;8\ ! &Ғ>9fۍxPx0~43qa Nct՚~o7~rm3#B36?F s;KTY.D8rh~ ZL|0E3.ݮr Rw') 뿙8uV`5-}ɉDe SXPl<&V)M}RbG8u\9})+Gr?+ƥR~(}()+򷯇r!!D֏ZB׳B̮yN"S-=ș|=IB'V7F%3: y}hG/TiM$=@o7\D&35t8=96fTE>hKer]C%wFԋ!ċZʇX"ACjau3d8jƎ!6ipl$p~UDX~6*3*27s+vkz); Y ?2uhZNVhe?5F'S*OLj@ lS@!y+&>B>+ )e,#Ĝ6?+p2ʟ rc kM+[C+amx* ]aF"x83Xi0Jl[4-Rw(Ml#i2= ;HD>Mq4Ki}  ńnEI"B_&@3)QՖ8jT n1V,o*KUZA<&EXڅgyO}q"5âJ7ٙcLUgCe( pc&67_c)d,:!3K(VƮc׍Vʝfr7OO0B&B>PJFG38+(XiA.)J鯾ċy2& fam?R:Շ(WZ6f;zxͿD`m{䣞 [Tsh.̯F:5"!މ LB鐑EK`EkߦTL[T(ߓG\zGJFS˵l:s382!7!ot«nu 9*gmA.u[✗p$Y8DkB|`疖WG(;J+&< 5NJL\JQ 05JC"ؘv"ӕG:*t=R?I,}SfQ*1 C^e?9~DǢ3MBGS<}wП5|LX_Y6>7F]Qmj֮f|qͅZ81$1P?leJfp2~F_q;\T,1M5q!'ˌyNC=i̓"JsE+MD]^g8F_:eƷRgEƎDԅ<̚}wܰ]dGXdn? W!)'27\_ba/%(3Of#:J(/[iT8ڵ)5)WlD1*\U`PC)wP&n?DIӬX 04[: [̯j 5r7Asi#m2x)Ӽ17cyUްz&*3NlnkeyHxxN]`R\hc:Q_TaR.J vhzx]{{`LqGd iTd<\ʍbU2B(\uD1| Nʴ<;4慥nJ)[/SBUCDKszDz8v%X1[N(e>~m W9rVؠt k7s_ HqBq!"<8Vv__Y6FLFf?Ik't8&V\HU:GPW൚ñ0Qyv?I:s'Up#_Ddl@e.DBrld:RTi%ݘ䟇c)IQb8F9s+'He$ %]iF1T&OL%*a-Fkʽ8NG1JPCg#Q٢QF9+\Hi'Oj5TTc<(t?U )VrJCJ79/6n`~aOr^s"z6cRa7+2YKh0#c,)-l}>6:%o0F^hq JAfܻ#X ܔM&m3| .dNc9D$FqLaG$3V ryJ'7Eyc-9\^Xs /aSn$xYH mۍj؟%샛+Q]QfANQw|OTWk>QTW-iU<ӽaaSjªӓnpce=X .&4W,6P>SrJX7W zDaaC"Bpe'HT!MXXؤ%*W0kliĶX2RjQicENO'(.v ya:iȵUXԂZU.*:SXƴ0n[̑Ga;`TX20_k[e;lZ4~ ][1E G҂-K ʫV k7qVvI kҀ-'Q- ibey>LI3k +(w[Hqa3 Y-!ƥ憔Dr@ֶv)CPB>;B$S+[)N~}\N%Ju/'4(Q_~Mm!]XW^Ȱ\RBºku!2d9I~& g=dC|h4F5yWde*_ߵE wJ^Pilo+URmwmƌ<$0qM7@W!vEEaB!he}4G4&SwF'SX|FR]RF)ES9 $L<}.Yur/ΆlWڰe'Vliro 居Z܅H1/.frP.ņȳ8c\B)wU&r xD{١"qu/Z8,vU w7Q|uc_ +& ;Ue1H=cxWFBTF'Ԙ\ ݋ә|v0oS@ SjyH>igu'BRC:vuXDmTscfq=Sޕ6uq}HސfwHp#*;h)YBE xH&.)ۅ-Kk߂^H sCL+ !5/$^`Zr"liXiAD[|a+bilw#5.j!$$fZ9+6:QW#(ҏÉ%`N(jyVUCvm^@)(=&>3’ȡLQ*9*+ϊ;E|߄;Hϵv9(̱X9 Bxz6xnZPzMdV{:ϥX4٤tIl’`.]Ӛ`ٱ8%VӢ;b&m&inDEMKcnCLTp9ȅiEn_hrԁx.TdMQD)M/ru+ߓO}Od#E+'*" gc-0l?I??*E4#n:FqnWj/{-۰ZUxKm뽠s_>γnA%b.FΘMpjaGx*602Xk;ɢ: Nw2)? "E#ڒXi"t(w鿁IN+p_2k nDK_Fx)$繁^hj!jk,<=ݎeZIDm1i%5o)Y 46n`I[R끌L+ƪ-;9ݗWg^$yHш:QDiAH \E)勰Dd:O2,kX6J#JQkX]TgWb D3ӬXV67i7˲b$<#k+D׬>k'#4/VZlHlYCSRxPc%[@g,!+҈Ң[(]TYo۔F| ! % k0Qڬ6ahevڝ7ԃrB(^[_S]o)\XLRp/eԽ4i%%Ei/Ø`prJmZʠ0JЛk٘_kkqL |[u\H.njSbL`u7~dւ+q:Q&%$FɴH JR;γuxPA];ݸ F 6w)R0kr0LF/:k Dam"Q^&u~}4OHL` fd=Py=4Xh@²ы&ӂ Z|hF^ "=X(M8` KvmHPZ:̥n-,H {&+Ղ'iX n8yϿm׹'w.x g^yμ*Ҕ&pp #tfm%f>E QH/><ѥ 3ze^j? u &qlGp!Z1P_FgYcWI}1oKBhƚݯ PPpM2F?m~9~k=&Wύwi9_I[ݩ2k5{_tbvO`l{6-͟BYfokIma_R 6#LX`}X{t,|0)e2u32{k JxJqWbRIY&eFJgw̩iXU%8;̩ZnOV-sdH_޾߅ fS`Ęgɼ4wɴz)Zt6)4.q btBk/F8`R"VOO2fmM:qh$cc;d ?9'ْC xuZe{^:=m5@P:b㼂Ucsz`͑q^Ȉ%4z#/šK'y)X'7hr7cRԏq̗$ci&W(J2oW3Ƣi+x'|9pLu!:0cXj1?Y6 S1p38S\ڨ/~twE?̻li0ygkP$){~4Y##!~nF911zI‚kZ??;LpLe-Ӂ1i\wЮNY|*Ny%!ƅ^;L捋ؼ\w ABY Lڪ,(|~vcXE#,. [K:ic%⢒lϸ{Ͼbm7cݑ^F7w F‡w72:1 IX>Ņr+odtkf1+DO)t,S9flC0z&%-zDnU{\ӍjwQՏ#yXw̟]B—`0AHL^ >?&M \% t&HU)piLX\p-#(ζt^,[tjw!NU~>ԊնWCqo6iar,'NC*Mz:h]ulZh$b_35[uREGax0}vN0vXyݒiSdiLtwqFZSCv Ng`m&o;Ϗ&X _8wA琝&_3w\?Wa&1Nnzު9Mo= ̒r"UJ?\|i0zc=9(=+*ﱁXs[+=Vrn\aX[t )Wx \"kgt4EA5nj ]W;lJZ7 97Sw;M@~@tcLQ&U+_pn3ùqL~8^CGspSHm*9KZ8 *s4т"{`eCppd'sN X.|1eIzi{Y 6Y6Ra5]lp ~4Yv^9,ſr[.١~҈5eViw$;~'D ?1Zq B ۨlM~O3ɶܭ۱S bI}`W@iW`͉>koBLI!^5nlEKgRX:U&_,:9*.gw-G @ )۪æO1MnGz4'9\IGFSyXw-& kma򋷙4{.>39J&_RLZ91b2osm3) 6۱:ۉ"w#?,O6ˉ'oVo>bݟ;65vz&ڸKxȑ.I ϮOh~:㭻k\ [o}'r^%2AwahbːƁ`t6T 4PHN$~!q|QЧX\c5"'3PkSu=r^+b\\Bt;$a1>x؏u_[ _1fk;i0[Ub|{y7CV_H>5ɯM@.'@[^NKL?̏6ۡH,lSW~cc+L#MZX&v&視v#p!|T`a=ﯷ:93y̅ݝ@9'LNNIS GYZqFeŸt85w z<^sL-X)Wû;aˀS;\(Z%_9[CRm.,2 I8 (k׃JXo>c;*]rc@;\"lSW:#0|~6Yh4 3H6{ 3ёHa] /@8>fPbb՗J4n˅z6Sbqk46^ꧪ_e_=x .ӬuYy1_ cD'~ _dk7{7'xE"Q[f%wwVĿXBtNk)(ݼͤ #FTǒR55 Ä查qlk8 <]裗SOw13=<6_ ,跚Pa dꥧӮGºXm}ypvt"Rl=w(cF^ /;~c֋rv"eV^ 'Hnn8+1J8!ʼnt+HI1 r&$]0Ja8mPbܞW((>4RcSH@>PaV0[:z^]x.V ⢺ %Yͅ@Ӝ7),J6HG^~rȯMKK[nSz4Ycs;):SM+}\H5{Ϲu_6G0&K1BWW_mK f\Efaڞ\ hy (::/M=߅_ݎ Im6Bdxsiop͇\4nD?ىJ?Al(`A7=1#7֣ Vctζ~߾ezB7P{%#\?CzV '&Xwlz獳@oRΜR;as\?MdN]j۟q]Ɂ}%,[@|o2| d P交㣸( Lme(Rg`o>v'Eߛ֗#(p7Vc "N}bPc5$1`%ip mB".b %iciUn@ቴwa* ?4`GB8wڱ=]n2Y-z4 nH=zhyzkvoR'IlzBǚ*!뾩k\.k4IW=z"&{?6Y>UVqs5Ecm%(𶸈IúosumG@6z=v OؔtgrVM љXlk۱Dog,! (`}DlG `'مZF[En)_&yzbs«&]X]~+ rar!c` lM {М~/)J&[#o,i0 l>06Bd B<|a h3>iǽͫJh=a%?ǜkD{y{oujLя'rĸHӜLxqqL 'ϰL-&KqraJh%j kHi pVץ[Iۤ##vz4e1].Ͽ:d&@f;K1 Re+ηEd'X]{ks\"Mtf8.H ;Pf)[П|ޟ]zdpwOLVuۜ~)&@lzޡ `8z(?r<}Ah\Eb֎td]y=D.GR=b0zw"9YY걞7YNΟL'9҆T/L|1iw~i2 6P9u#:+KXUأ0*DZst;Xncqqn7B BDMu?Ⱦ5- V?.XX{ȉIA]FX*ͺ q?&-a}Xv{^΢} ,b?qfJ@Z lHؓ^R;HZȰI ׏Wz#$bKyXx \jL³8QF'WeXwc=oHzZ+ +9B(ث _a'1 :21 g>%$5tjoC&&% 'b_AZXRA>c1kb2ұX,Lc{`88>gzRo%fWłpOANeD1nk#^q~İ\.LxuBt5(|pYa"B&brđ{or!K&[LϽ3 %"YkKko| $-ڳlG ҂Շ7-.L²ǟߠ| WTQ ԑ| pdGQ섐 Z'A!jϾE/\A'[<ƤjS4 yaa :7'P iB0iJ2j Vx-LZ ?k#׻>2d|&Xdspʁ4lj.PR|h-y86Wc<oO~]A=\l yRz1|g`bw mvir:=DXq$]!EFamLԵOey) gPC WL@暥]xz% ^S w1Wy+Yn1kNtBEׁzݻnLZʻy_L]r`XXO=UCx >y{.(&ۋ4+cm<B Ur:}R'6cҠ սBuX|ƙ"]=6>-(G&69w,V$-x}7ZGSR Kh>m~޸۝4eOԫg9pӍq:nYH#犓{n(2yyO\,': \GBXT(W|c|.D pVX%bA|jDPbd\\7F|$M[M~!! ..|^;ua!yw.?Qv 7B cpݛD 뾧 \;-E!&x/Q.anV.UmҼBF&+mYɢ6nc|1[ul,9e.c`#h4¤oz_ZewkUO{1Psp ]ts՘Ic4ы~HCԤ(]O0zg;c@&S".uS )aAO2z<yha8lP XgP>N×!g D&ǼrE"nd,q,r":ØsWrӞ40g+pr圧pu/O@o=vb:qq1*sni \ɹ addG^/#KnXVLP-xZ>;;y`s$a-|Hժuq#ɏq ?$YֻHϷ*!r$]e3tܳ0apCKƏd]Ikt؍R%H7 6D~ ,jix,.ą_Ҁ}{:f+FB_ pkIC®b ]i`!"ZFIv/bqJ,t.QgKJCdCkVV.'2TZ~W ],,2;!W-Ha,:3CDu:ˈg'Sgz B|O^M1*2FtU:eI9B^ هW9DoxlrEKe #~uD]tI߇Y(ʎ'Jd06Ɨ56`,J֗)ᔥ(|@VSl5-V%`l\vsh|ގ %Pc,> ڏMF~^SMy#NֱNs ^_9~AZu\I/?I&H=<%x<  ) )iԘvgLfg8J'ȹoAi7[i]g(6c2Lfk06bu,<8&c-"ke'Oj6Lc7ۼ oԕES")g~:<4b 7pr₭ЙM~t5^İViwͅ%Lx^nV_ljYzLz"Ю\`l2tDuWO?bR iAɸRLRCd] wyyt 1}?P\õ="i?hVfard:bKHWv&&Sd;赸2,BNdǯtN h +0IiE&F]U2޺Ӈ-%wձZws&m6鑁*9']HhGҢUr ײ&3dӻk YdŻ#D&X7y)`KMкÐ9!z Fr m.͘wwMyƍq+&&%85:^e)RS2R9n1%We)PֺM %nga.Tus| s2 C!Rmv#F&EInI2oݨƮ2ҔCm1 CC]^Iua}2gɧ5!2~h+|N~6Ltj|g( g^<}WMFo}u*Qsm;_#tĚc3ea9ps\wlx2l(+ﻂ̡pu@k8;AZ-oflcu!xf*rU #J^(xiPX<|J-fOe"2;r !le䬰&.-uN`T=Zv#d`ͱi7)6&3줥ऋV=Fֻ!6}ϹQTqa}W׺Q5̧݈/|p&D[ι]1iD`s7(B0 i~Gմ !.D"_Na99)\6͉ º]ȟ\aW)Pf< dcH$Jg+ĺoH6ftz[(@vY{|v#ZۻP;@3FcQ_dH/IǚE\)`Mcuy"tkc`uLCs=Q?/t#p4y/p3\~/u#0H &.!밞7%ׅJ^F85faws&TEANXK⑞Cf^ 9t%Ot 9sYrͅi:&ktd.OSn>IQza*z: f 4'kñKLƧXh` Clbd`o XӽUҧ'-QvGN,.͏ TRpoo+J NVHK Uf*XQ))%xs}U% HD* F+Q:5+ac9.T;Xvh4ɢ:YXsqȒp W=p{CaƘK';ZY#~ᓆ5GLFhݗ/.__ ?mQElBWsOVr"ůؠ;cԫ_yZ!.dmGg?MfV\#Ew#cVX)ڡSC'Lcnd&,Al"b}u;"PAry8.*=>S.g_eKCA>B 0UO0WK}[E%'_EI9QߵOzUIgBM!iㇸ-],U|%\y{4~$~D>b*2kyd0GJ> a Kv0(#ǯ|š#VBDXHډ(" N'_-pD7hnK}eUEw =ޣ>hm~a3TH1rե0 g'`Vɮ.D/,69ij9!Ƿ 3*Rzv>+\cEY-eK9tHBِID8kkyU 0"4>W"7U^6Y>Ee]^#E!滑-2$Ǧꁓ^*3" G_E"+6OTǺ :EfaחO9yWBIvb#yHr䜯2ύ"i`,u*-V\J+L9>LfVgbT$=d)i^F'L&7I˙q>/An,DTR\ 5+F'ixy ʮ5+=rHC 4GNn =MىlN/6[JBrGRX?PsJ[Pդ>_'.-/! lSĎh0Y 9R\uc3^ʀ]< ˺ w%.D/$ Z*Wo@46'} R+ӻxDiSMxb R4+$~'7MfNtu/v!9>Pd!N3z(g/ƥe2xN! z^%tA,"nԺUݕe]LvJGg3?Q?5tKF <^aw#gd_cAqq'د߀rWv.veA9 [۳3nz@6d0m!}-/><݉7#H8xQ:#уKo3l٦ 'o0@aafY\^5Ylǣ=B&3oM6 )Ðmʻ̌- xd))sOs scl[# l9X)Ϯʹ!db7'i \nLo)iN OAŌi_N13R,1ІMF!}TFHMӟlH"~EzUo;&4([Er 31+.z)>sJxq[y ?'~^_0/Kndi"⟻#Jzf0_uGMp9/|̑N;Ѕ8&-C/÷B*yiyX? k!Er@8ѻzs]/.9ɽar^T) PMP,Q ,eú!5ir7( vo<SMv]~uHe&_6Ǻ ]~8^60Fϥx}l)vmq\*p7F:.0*c=;.["Б<8(1,~ >j74;?jtu\ H6Iݑn<ԑwbr 뙋s2e`A.$k&Óg\MBfpi;[}žhXY /@`r!%7L 8 "Y>f27* {ySf14H>xEp¼d&k,nD*/tWދ&3& F{ (}e܆흢̸R9 άaNjgAg2S^۳8? Ϲ}Hv݉@dDjde$&g{u$մ8Գ^Ȃ\ ,_85uSMɩګ–Vʰo1BaVQڷʲj ~F4r;\ibB" 2wX_@NêfO;Kp!z 3]k&y{gkND6 >G^O'Lf&z)f 냻&0o+8nB)`e\XAHEHgf.wD" p#*DX͚ F5`Kᮄ&@ppV/k[ZQ _ ,ȝg ?$Μ99r(g? 0aq !'q.Ep7 $N`=]:rƕ V{^@tJºg ' %͡.tу6.,t*UCM.qJzLd9BtVk K.qNMwENkԧ; |"^B7q ]7 o}PoYvP,eyyC-~B19z]a=mnn }sNOA(ԕ&sH6_ItY^@|בr͏Ik G]zؽ>rhՅ ZčG|V9\jat_gmYs3s IݖC 5,P\?1VWcGZO&/> 1k Z|r]{{q Gf |2l;B3{.e듅r wؤ9.O6sN ,A u_HLd0 ! 2e@?|`x,R֙\"NIUklXcрY3u j3V")X_ 3C;3j}O> _:O,9o;fGEIŸSfa}K675f%x͒@?Τ~/3@z~?}k/L}W7ME?I=/uCL?$ҙf!Y~O5Owy4DT^TϽZ!R j5,!Y}e׻ Y8@Y8+Ͻ 3ǐwVpǯ7cmaf)gnAXK$Ղ=:-ZF;Y9`dyOpΥ/eB'iȓ)CJTg\ۤ]iKHVd8P|ߎ@he:dYv`yܮصർyJn`r26ѧ?z,&b& |GgYx||^NBN$Gscn;^:lnYh%-#$۪ 5t^8t,|K_a0wAEVY88s_A(fخ,qӪ9G2Æ{^}J+8lcZ2 VM>6@rRo6-V˄ZpӐQҖq٧蒇 F*.$Ь ŧ ha+y 랷Ƚ~`twīׯ}[H)lZuV_a~`ĪJ۾G(-h+Bn`Ѫ΢Tn|ʘzH$MjW^4*スcKe?%"O ?w-9K*"JW ҴKKymk;cPJjW^7C3C]SR- H*( )'ҵkOT0ƴr#2`+.W W{_nzԁů;BOWXJ6S`h!PDb x>}\x ]…OY O[g NLBMꙗcH'2) }s._@/Ld@_,<`Gr&wdEPSGg^ZէLJᛙ6!QHҥ<Ø&OwSi)UXUħL_FW(~6zA=Bj)?vܟ߶ 'R0LFss/ކIɃOw60b_ɋL$8^'w e0cQwS`MT\{~Dl[Du ~&\;P_Sm_EpM U+P/o-ꀺj~!C+ҭrWP}XϝƵd. _0bBwv QM^'z'ՊPlTݷ.5\Ina] ?֦uAuՖU'`?#$NnoVͱd+0E>SN<<7`?Le(d.v(}7!t`}wP;=ɉzP*%'Zp\ȗJ+Û~xs^p|t;8-bE-C-XWO :QUc,E޸/j%6SIj)=Rm4P )JcX*}oi&{,9|J_KxS\ƂP"aYNpW8lW\@m>% fp&A%JR]`v]o {C\]$PX;w9vf &F :o-u2pk [lLfGUjS"4>_+xo-JK%ͧ(|ƛQ>b>{ 3Äj+/R\ 'vXlG1p8ڮGno?Oau2CWSXKUeQpgT~,W"J_]kw+7*Noi#{BSWSGc-]=3nRj];>wx*/K7YT%{xQURͪpv9Ձsk8[SGd:~Zw`ێY$v*ܮU\oԩw*>ё#+[w8ʫ8Ք~>eq,sH0#b1+xE֙Uao9M^ hY>S)ZXKn{a1MB#|bR?G"M`y[*eK9k{+`O>/{kb׼&/L=3S̽;'|ʄd5w5έ&.ac Ykraލ]-RH !A7ײ\z6Sڪep! GMS^,ppd XO矋T&O $V +FUH]WOϹMiV舁I7&=rcW"UP¥&H-ZNhW9G='~rqpʩ6|0'@m 41qAD9D@@SDx|aR.<$ v.žO٦E.q&teldv-t"L&(pt :[ft ھ`%Ч(K@I3ݲ=5*kW8Ed 8Ntsa, pYTx9JL^$~5[K /ߌM>v-}*RA7?>p8xf$s2HADm#')e4| D JHSE`Ani%H]ɇk)za:|Afٛ,=,iM&aS/28"(&JOfh|0/_ 2OSfLhpp,O,]ݢ;qRNYb "%>VFRQ<1JZKZ%~. 5~@Auz9EZKH3+>nD'a铋\$j]읳rm\TZU@=bv%Ng3_Cћ,kr3dU4re#]y)Ktt7c~!&oIVHG.Hl_IOK..?U\ś`> GV\w@k&{}!Ϧ@\އ)o檸_e/S39m='Xad֞޵4!%[&g͔|9XI os4SgVP>b=c -yOĕNPe^mji#_n\c$L&ʝtSYb'쳓@{&4 ZERr+(%۔J'JR }l`T ,vTm0~xKny^߉Zo4hQYB!`m@Eϥ.d*rrç_ ̾EYS;Bo6Z1i[wm}:ۣNUoӔBGbC;vMq5IXtsL+TҫA&*j>҇R}tN&<.W+{Ov+HX+G!YI ~kMb,_NMߋ?1IƜi.x.XZ߼Gtѧ !pUǽ3 (Zƿ;ŝjhx#.?;g-\d7~g-M^dAn/f 3'f-=~mD Uݱc1r;q%IENqO6i)v]r!pm7w_dlV90\ X@ϮOy'A * :BVw$ =E`epD>QℎU&x" ]{yI8߀t$Jimfw.\0#dZLɕ11k/;bj xVWQmX;=kӮ֕=_4NڰeoݭHMiMBz[жgs.˝A>]dr|P녪w }kbk> I8h_E4%ZY>^RxrR>!G19g-#d/lj4(צJ$wd^e>|3&"=?{%@:b|4@I+֧d~;(@͈;O>O*L2Jn)+!k[μf&Z\iAh}*^N:d+ܫŪj,HfM{j,gzfT~Z0}K_ieX z,H!lDkk{0՚p))Z JweBWƲ5p~v`$3A+g^}cAϚ9 r4a=!!zFr.~&?e~N] huϖ  [0[ 6i }b#52Pd{p(83IS1X1߶+fMџ`-Y|9sMUV"Su1Xl(}>&`Es-WK{mBGBPc\s𓳘& ӟ9$=ן{4# I'?ηD~XATpc N }nHDY$ɉ/^nbE}vhㅾϖgk.&c5x0*Q5<Z]4P$_p?U6_SS7>Z '1 Ek0XG>'}LO^`,qXx˰EO x\g8}g£7]PwB3#ٮ&!MwpawE,1: `ӟIhV9}빯_D}~r@ixLGkkG+cM8Ԓ` ~uO MD"Q/$Ĵk<mA~@X>VDsmn 'nGք'Z; %tzt$`4\?LyUSy׿ U3KL{'CMybl)fd5OQSN1h~W|YjK6Bm<)8%}}"INv+B[8Bƽf^TâIdkH&at:xg7dX\y3@-^ {`|M;g,`\<U&,aw yxPHi4E< zɘI3 YOZV+o*r[%9<.a"~@ JbpwOJ,ϯ%PDmaLQJLMjwJ}\l 8cXx&4yKܿ&v.*qWV/qKHḈK__!HĎ,72'~8YsN Wե9b[EyQls;P>!Zh!Pr%C0}I :Mo.=Y=&8,HrS\EߜnX 7mh!oȰ7d$Y)ϒ姿,ZuAB"㏞A cI&[lOVj ;\.|JV8_Lv`TƃVL\GL" -8Zp"[Eb#M8^sĎ PZزKL܇Du.|%7~k'Wdp.̧d2DM bu 'B>y^H`-7Q<]P^LL4Md#aEB4iXm:͘V\-$ےEFz4=B_= VGgt^|irZvSѯ;{?t)qm'gi ]W܀w @Kg+ 84JA(kibRl,#[Q/v,JA@}6Ł<į͆l2iGT;; s0~ObP@x%G1`k{p_[T\|y qg[\꺏?mHNf03WZd W`kx3JUejK tb. 5E;g%;I[t6oPѢe[cSfRjSsAPn&7LOXIe>a'Lƺgg ?L^G-0fNڽRm[U#Ovac6$kI` G̗On &y4&ݛ!΀nșnגP$7u?YuM^Pt+äKDJ+R5'$T~@fL Pr\s Cv]@O%V&۷ ;;"ꃻS xxS8y^ɥGcb f[Ax݅G¡.yԺ[o , $/=]u\y?S T; uVBZA IE$AJWs6g!ڊ_FHwͽ-2[ʀZk?ʻb] S d+ܱԎ S@D7Hq>30B{N$ ܞn.v\^&min"IA=@9foHqܿ8/Q2fɁW$hDX/8m |MPwaXbP:Uy + >K}Ix/&'bR^Mj BZHԚMȵ uZB2!$o,X}`!&rq("Ŏc7.ķJDdUZZd"g }>"Ӛ }>`~B SZ@IwG WʘEM~!qoVCX/_z랊Ӓ \RrC2D)  )[Dsf V_5\_/Tp6+ kA^ P: 5dTG I%7༫Vxi;%!:wgÏLܱ BLxc?eؐ0)wO8e .ܑO7`=RBdR[W1ܼ`~"IꋔHf |TyM|c (D,nUODOCX,?F×? KpS >)l~2S:e-X,:)PWzӪl{ԬUt@qb3\i'%Dghv/0'B0٣'%UjF ]bSzOI(g?rp y[Ѫsm!CI4kb݆k9qXA/eOqf Q^Nb3oWF΂Pkv#\Aӿ]zb h!.OGʻ۷0ߴ6uk~v 0 IVHɞNHƐ(vX46mJF? joDl/x?;˿fk+!:,cu5w ["S9x䆥wǡgE;KV =_/޸p8Zy=ūDUWޘbɳe=zQ.m:O1T_2Sq3n= SF>e_'3c{* 3ZԱ-2VdsdI; "Rlu3D ~U,q' PKu0>rj 8z's&r" ~4;b8݋Fc?W ԫ$+%ys/;XFߜKw蹻WG(1D(}Em+85Á'DxnL77i•8Q)KND"cE`zgƘjF[&,=:W}:ՖA_]"ɐ\O4ۑ;nߌ{-jNǽ ٷK~+1&] }b5@NL3!1i%q~\Bϙz(Rd'Bn`6Snb!={7j~@Fr;n=1Īě,u˃q!oЦ(_Ut94VuVXGNQEb=PHjfU)w&m8, ǰt XĽ# VK-DFSJkQ}asEWIqu)TנЃIHVPətu~9i>P,?Om\7!c6sd[nA|?;j+(Ai ^e_ ߘWbOՔVSz~1qmbk +Ɋ>-zI`RXBɳ%Z5G[ E^)8 Z?i n| "O HT'?c ek 5sW؎<,c}J>VqM͌II& u0\r[.mA(fi䲰ٗNїЊͧA*2ZaѦ@;&+}D*ʒ/xsXKW| JkZmhCy0x?@"C{_|p aGKAEG+ u1+V}fy0mo~Q˔dJܑ`͠ANα u1~5B(ԥ_.V,2T- uLWe/ޭ u=(+X'[:{kɆm(V5۲"sVg1o%KB*m+9nmšI@,?N%tc1!`[D;B?bV*e xUDZV78T_GKj-s| XoE[$u}/_F rVU*DƎ|Z2Nd.lVlWE7=`Xݎ _VNC '~* AQ#uZO`֫T&loWCgޓPIp.d%B߂(|_BfDqI0N̩W j7ƳMɉBrzACݤ_1DeZ$tR@ٝBuc+*RIfOívn[SޫOɡJ&'5Qb0+7?(O; E>$E(= [7$ iٌUA;UW5B J.lIgx˅qa0;*Ym> m;dzLR%056ig$,89J;[@GnKXEf^ZE> Q>|!mͼ|! .CN/Aե}FM=,9+<+h=RxNܛe/c 3֕З+'d0 C?0&.ǿOAhXnr݌nkhq#6|o_rdXx ð]X+u-gL'ow2k0r;jO81.GWF7X<bdټ9=$HWWБrX&l;8U$J_q >kq"pՊ4[݃/&bsaͶxrfnq2\g9Y@QfM Zڏ\Ekkk@_sH##B=w}"/A4x# ^r̫P7\w ֿ$C%?tK,J1VBɭ|wz|i\}L&EٻnB^裬K{0i쁡/>XTg<ZFoM>݃ᷴ^Wӂ-mAЀ`r3eq= cX6`]ipG FBlOJ6- S$}׊ 0Vy^hBREVG5<.rA aY1~dA(XPUGP"YC-"{7,aZ,CʍHamAYfgy7R&[X+y9$/88KK%:ɷ)Zy d)iCg4X,KZxOIs%X!?tlGVfm;sȪ^IMO\d_ي-VdYl)viR GQ=Gˆ;t_.Fec̶ 'Gqe{3W9)̂bSⶻ4NwS-gF[ZVuҖA\/9Q8`%U9L|q$DmAb|Մnaʁ+ Dd(ǚFdЊ b2&vw\Tٗ`e}XwW&(Wz^m9g{l'XJ, s:җXx`JGn疁Vy~ &8,p:G,n;5։$~ ,⼶₡ ja5_HIbe.\p6qŚ6lRmhZq=X_8O zNźIBsY>>|jY6梟lx>lDN `wk-T/ݕ *HkMQ\?b:!?.VF I}6Wq"~Ԍmb5]bb0JB[L Ɇ/FHZy,ҹCxn[Ma$}rv-nOʯo ~7/; @ߎq Z-h2X8bZr zHɸXt[!e]#a$}t2t0U}CCo,`]CMS`"kл",iۦv"KTM. ';g+OG> Y ^i7p9Q)9ITV PoO{4Py+|B]S޹-+/y*G|+زۖZ/ H:='J>+-yՇ^ &wį/R\|+ĊVZdu --u+Cԭk%r30g3Q@ fcm\<Ћ\WH-+. (߲*=:5gmF9QXB[bIDRͧX'$uhuۖ$G.9no/A~@%nsr" 6?ڊDODZ7R(uHnKujK`\>rNh/vLsV4Vȷ;RqG^CoG|Wy%,,ol6a[oڑfF' \SO`[ig?Gdӟ[1L<XMqkω4h@*ek{;s۞RH J{2FZbn-9eY GX\%П~-3c,.].gb=?slq˥+#u#$~sƐeZ{ sO ^ Eosӝwfl¸rn($tC1Mrd53m 1պ!)"H&,RB=ՁzKuYMz& }]s'b;>{%. i^Q3f5ٛ9й}ޟF^N.9ȫ~Ѭ6fٿj=M و j0W Qq.IOI=gg˶c=g](E06\*eEzffQZQfњKE-*?ESQrŗ\^%M[8]`)%ߔZ&pS虪tN 6onv^G ˟&.ݲÕ>%[Z7 +PQ=Sc-INY ЎbG{DHf%url=&Lk.`=cwoO@3nkXښ .agy'^De@t"R.⍖Xr1IKහbƅQڟJ?Q?i }c]sWq)9]7 4$bo߉۾/Xy=ZLqil^|o VqG,&Wa MKJdr-3 ۉWR"XH'=i(K/@k9w>@E ;` &tpwn53ILK=uҐ.sqy}s ^2&W>'>K"ä [<_,僄S¹D0]U,\j$L\ª!cǰMt#lrS8ga 'i/FM1?bbwe8ZJa2TЭwK+i ]CðM ny; '4;]IsY<P_qI(`/Wfbb*\:J/| {HS&TOϧ)~>Ǯ)q u%BJKR:k`=?!b`=]\l:؜ԉ^ Շ.HB.c=f`yLB\SO{'  G^(7z Uz?IVeʙ4i%L[c=㉏$DןJm{)s3Ƃ^3`Zi4ćUbȎH\:hv$M.$u/*oNZ:(Z7DR(n }o  D(C[-9IRK\X l>bZ-wi;ƃuOgCbG@B$諿;'/;xb!{a뒱$RUu'6$AVAôxݑ>tOc›~œ]j6sW)\)MqBؤ<ѝ|SE@ݤl)fn2Z =KsWs>ðsoDzh7sw7c>hkr&Be0̗p"W/2ND~.m,'4a2V˷W_ºg/{LJve^yLJ".! |e-I5#eSh"Ko_I V<&!7c o`=!ݟu |:Nԡ_c=b?oG*C&wNDW6r`w #dFT/&gGXſE13d?1Cr"N0植CT\"\ rΫu7evw὘l9p=$WEzˉʵaH/}$DȑN,#`Zp3li p>?M٣zz@%RO"=!fcm50}&F:7'!}w/J ~JFЩO%$i!sLIj{Deh ]-E¿ft $3t`$=5Љ,==Oa$Ao:BpD'ze!ysJPp~vByOXHZ_, _F GMYD2\ܬTm ueU#;v*/ӞiGK ɫB]Ccu[ "zpV|;b#BݮiЊ~U;%}_c5]=,+  cwJ(6гmT=gGwHfbd QV6ZnО3[m#4.u^ =bvWZ*qae)^F-%VP2}yn21짝z9K% %Yrf Nm %^9@ŏݓEBgśoo$\qyXI77w7.Z"ޜo9â/M̼SnL ^p}2;W|pV=bt:M@9kyb+'p*Q㫀pUbV)2߲]; %m}É މ9Dl)ܮJp5"J8|_Dj_цNEYSߖq LTiCҟ'x-"ĈVΗ='TL{@t#MW-yYd GN"!L0?gpS$/-;L$ֆ!?LKS:U0&VY ^79wDr1k%qf3|d>rSk}4%)x'|,d=,:r^C^IG\lT돐7nqGHDN5@=zq/%$ez_B>G%/7b͖$94mB;Bo Õɠt1",-f)Aݿ>;(/kO 7or v'Z=Z@*ܱt1n4-!?uch)+)y _!4=o9矀UbK܇gc~ޔ.8 ^؎8ͼ2Aa0+ȕG /j3DdA U'$(!9eYU=%T(^Iސ j&8O7F|'fjBʤK\<}Y;"[S(g7-oκDh4oRE7/r:% C5.$ b3<l\Nź'hV@_ ڳPںNUpLjЖT.0AUqS2;O_Βw]Zd 8by5tDM.}P裬{YEk_\[fp`[@rԝ(KW= b_n(rLZHm+NTN=5\!PMg݁[x˶}Q\dRDbrF$0)1$R7Xj_&܂(F"/NH$i)ep)}-Qe(᫷ro@ jk]p[mNB++&W&5= 1e]ŕH44~6Q9 $nj%U 9HΚ/%D}]J7r1SmpA6w9wؑ`Ev@T^yN@F8)Q gsZJIusNKIM$`m&^ 6IyFw0aĤA.orEO`Hm'5-V\φmeEF=X$Oq Mdۘ@ɱ\ BN^jG|sMvŅml\4Mv6#p&;'[dN8{vc2Z9{ ghlli9ms]cؿAS9$yN0lg]HhY?.̧?=&goZ6yl,e'&I$89}MN -69~g\$2\J8@ۧ}Zz#=b?{{ۥN6mr96[%;c.L:6V׽tW4̢6#;:yl~`G%X~2H=0@j5lkE=$e{n}LzwYSll.&p8ukf|?/XYwUWr ?jnP"nj_ٌ.^PL$yy_6xTf^(Zeyݛkp'< QoX?۰޵;L.f!w`>m^l߲#W"ŁfȎ F;1Q Ac0&EsL7,<L>%+dS^ ƚ i|A݅Ƃd0/Y74{=^mJ=_}!L-r9'Cn]l  qIW^){مEr˧8fu?y_ )`}4H']:X~UHH7w\J4b=?w1ìtS]_,u  L9V-f;>ЎZ0OV w:}&5B/nIl&8 cu.PnhG%mdjt!kh[8VNiwagۑ ! )#Oh{>h`A33p]>=* 9fY҇_zێA$G Bi"_%zPWsk:0 !&LZ3oD| Qq#,4"=k ?Xpzvt*cqJHcPhI0c3ƴ9ctnxJVfGފI6UK~8E&_u><# _}ؐ޾S__!Z_v܁.ҹ #(VV`pU>1NVs[d!9'ؑ~_1*~co9!#šy]De{"!zayHgWApz"I6-&92"=U!e*p#=_=tY4C*y|J%qN稖7+$k}yZ=HMul[8B=3Feyhq!?Q@z9+wTd֏$'if* )Ws&4O 41!zc-cG$1s%v?LB SXԑˠXo;}BՑ'w,[Ķ\L`'d#(U4;=!Aeês17bT)? ;`ȁT uG^너0QRc˔A|YA:LG=`F8yVCL4w0L-hEx&u$D689iӓ;>]vw쑑r&N3H}䢮o-3D| wS;{: ωJJ j³tsdܘ0UK`ponvv1+oEt̷{v~BmWU9Vv}`2mFjҚmFa_'w5."r$'Ǹ'md'D.]?H%ɽ8ikSzU 抶.Mu)\q+gM#fDmOtŨ3ƺ;ߤ_w`Ee+Bq[6 d6qȬ1ME[0Mq`}U$)GI^>b4;K2}69669]|y}fV.Ţr:{,Đs F"E^ XuvDB/pVcai~Imsdq\<*m-IGBe&f>B;:ѧֽwږ ֪ǚeYkeR{zU]HX6b,b6Bhq~ȦBget\d UU 3 fQ-2UyqriqCY&Mx!> &šI'J?`-,iEJ2k</ T.8G`j6?Q]j"L$=hr7Nc{i3Gq Gj5E\orxe)"REt-kڞ7א_>fu:=Ʌ&$!)BV -YAټD? >e~OH7{z& \2ͲXXt؁ %:4*Rz{alh)}w_"!j6XŌ{%y$D<\&;5M ;ha _Ոrv]&&m HY&;Gˣ8+ׇnjdby bGS4} -6uY\>28_d-v5'go؍6A 8 ߎ7X# \/4G PW* !Ģ O!zA6y6yA<?Q&vKv-;iJ#맹O ohX&5j׊5mr.N{u~{-8'35ǿB|E35۷1-#-Y]8<4@[ g$?b.Ͷ (_^W^//__rb -KoDž~hfkgžq[ÁA 'ԘCՔ1/֩iPfx8 ҳ^ ?Wgs016` !7\ɘO qJ/xEC?޷J쟛.RqucZizqAҋ-f2$?g.y> Jsā uJuB|7HvyV `OIBCȑZɑ,y7aߵ̴<3t2(f/ZW[E$iR6OTA&H\eAE:')+"f49,bز9_mgu725:.9IMwnH/4KcŐE9&Nܷ_x:9eBiwEfC9O| ; 묆T?T{Z$!Z}`.o0XMUQ̔D2%!D 1&/ߜK\qWjm%Awg &[Fp M~HeHzQ= ^ $qՂFj %5f$2zi/|?q+reRlX8&[J4G1'?e=0o2I5''[`r4c_׻x_t[+c]s{-;@(uHv˱#ړ~؁4Ssto7mRY d>IneTHdGb(t tc%X~r<9/m(N[‘\|k w.r*c,_:P$:횾 tЁfR@mmqh\+GBHd9B͘|~WBX3s؀m`{ʞ^ZF^pw] [w#"m6w'|fo~">JP U lq  iq WZHe>jƤFmhqӧKj\ͤiR%'Nƺ'HC+꽇Vo0c`pdWJS=op5hu O ۽zIGo7"/ A&G*H^ ف-Z[4@ךjq Ba֒-y҇ Z!'f{( ֋׋Á1. lu[ul$Elcp n۝{m!u]K0̢^{IͱdЬa9.ƜnΚˇrv n'HxV:`Yvcl/Q8n*nn\u5&C.4ۻI&'́ʧd-w166ai'v-ہØM_cL|HVB=}&&NO4Ɵhz_Ӫl~SKƂ$Φm_@sZJHAJf@%JwA>5Yf@$>o0JHA_[u0u}'=m~rZf~B^aywߙd[m`V#6X3gmÏi?9P*\сD8)Ym@X- =•()r8uPQsAlсX с FlA(|5<tp9Fq BFofji/p]D'X}̎rbE_#BhA[^9^B^h?vײū~mWA\<p9˄壚kE8sjSSb}S2_8U-KVԜy/19}_cP ϔڰes-ùX=ȯZ O_fAD˽r'Y刍s+:f.SA}WLH &Oc Uk7X^iVǤ rOgL=x!_Q!W>/|+:*Ca=:w*&jh3-Onz rc=ׅt>9t-3^M,+:Btָ7cëV0XLn[6Ų4ޭ0!aުPkvcq۹*Gzv0zgٶ[H/K~:sn+:UNMPU ?ppOCa[)޲L~*!Lx+L?m=S&qXF% gIO)!Lv7<&r%:ǘKMo7m+|bC](G[~r?=bGZ[(>"Q7;[suѪGH,y/]i5 >8,n\) %D19zӮ7Kqas $Dbx9e@"k=rG%Vg0/i0rw-sy{ [um-H&C89aUlU5{cˆͶ{aìr*+G]qe%.l>yS)ڗPL+tFF 9-*q-Y 3bc=4x)H(VU]XϘ/8 3,`gHgzF/~q3As^uWkX=@9^fw#=\\e9.=~Bep-BvUHf(b"TﲯqA ݼT !֋_ú܁Did+.ƺMM ]Qڣ:E>rx[F7hypu.='ȼ,jJ*ڑ0{ߦG84Jծ᫬ ~r]u-m"dtOToDL+Nr5+a5sѝG ј=`^m4ʕe5oHCj{4T3d_#.S2>%~ 6t 3GsCҩdՊf}uGXdKä^=y%#KW+Wtv]' z5)H΂) Zm0ͧ(5u>~|Ǐz7qbu|}Sfk/I|Jf.^{WAyt 'm3VQ4W\ꩥ9`uJ/IGV n{ xz_2+A$\-`P0 .a+)A)50R"2No/t '+zoA(…gqyWBUj{vx]CƲF(7,stDzOGéx|7lV>ˎY#9Bć %XEpto!{R_ U!9O-zH) #]I^L)ԇ"=qB,>Vo V|?$~h D}s`5Ɖh=UOK@Pw8e x3P mt A('z!E@l?_ .a<xsC0ɞtI= G BSKcD%tY?$99oED-ߒ0fq語ˏ[S&aw}c4uӧ>ǿQ#\1 /J:(;F |OGD XڒH^a0+$yHhA ԊI{Tz2Zmw\j{x;) ЗOAfگ2ж`4^;"bpFF YS;xwtN&D(s\z#ΠK',g[C p7JP΅hx!ևIX}$Nݱge=:l0H!B?3k.. DM@^-&;iV+/q6av? uO Ҍ4CƎ]Ksb2:cAJDnCӹ/=>Q21LԆ 3; -z";Zct)c'"}I4ys Hl %7$G9XvKP-V„j27D'bisUo 9FMxfbmZеxǎJ4SC \N Ogm3?\^7#>4:wYrNN)ű>eBR4`M)D *"ѐ&(uOͳ[cQBP"Lȧ?c}zo泃ʄ DWM8bd)'}zlOStl$G6\&FoO~!~VBͭ S&BWvnttk>el$ Zyvz[v0P{u[ vzg-$!{jӛ)CAk%D ƾ k I>\/O7gy8Hc/zǀvH`K+:U'QޢQS:-w-3VO`uిFX353?` ?ŪR&܃ܿaTE".bѱυhY=ow vzRSſ2)I![O)#2I 9<[ˀ('8ASh 9!!oQ>GJ~/ 6qr~Hi[']\[ ehAegI\Qb= HQ,WZu3Sc?{zyTxCmԟ ɥ!Rm"u'ךm_#93!&X=IfS[l gD_B?Wa=?zX(ѽ⮍.+z!ex١$q} :)dcTu즿qx Η2qHc$?Hտeqb6zo>Y.(oz7&gZӱwhol y-_>Y@/<\J!0P$ ~ Xp+'c6ցp(OT&{\q\HĘ:NO #Ѱw_T`P%:+G:+_kEUU nwrD]Qz)(XUI(8\ťM ʴn4{GbC䙜lJJxI~$j]vNHtZm{ ;G$H%І*"-ܴfҠ=VH?I53r<2@4WunʔasQVR^b0zH c=v@">Qt"{nX͉rxdH"zSԁNd F2@NvZJvjI5zRrcseV[钏@%# t'&/I8u M8'X[B+nGb#i꜍]GϺc~Qcck+ zG)i?kA`(&G3:x%+[C"Q b1HRz1j[&\R$}Î&!D 8U"u%^}$@Ơ›֜/d 䣼z,ȿ]8j ]@zyAGiIg#SK LVy.)h^ȗW*-yJ{ ^ű?sE1`yA4C;oѣgGChcA΍ԃIƂɫTrSg4ߥE^Q:@^BؑOgŤIcW=Pp sͮO-| 2Vh h3%L m:_2+rxGIKnw&J8*BCӍ?ɭ[JW/<8  ^k%fP] F#GCi?}>ʑ-FT󯉢zPs@,1dK 8@AFm gr@Gm9k%s|"LFecϒچa=2,39)LaXvE 6߀l2k U-8.; zZECG#VU33j?{fIʵRm4Tn bpVRq:2hG41f}N!>i]XOgv ؾ`p< nvu:U2/2X(Ǟݘ @+RUBEKٖ$ v|r%r(3.[@>y[1F#ފvԴ(3ޙ@<^XԻޭJc6g̙@A-X*wJ[}j7f?M h3X$H>StY7qR h33ܭ6Z~$.bsij|i ݋IrEGAjL.ȊI~`yg&ur8GvaӐpE]HW֛C֧!&׿kX@%ƥM?bo8{r2՝DCI+e$ͧ8>y޺LA>ufk)|dɥSwAfMtٿR5TLne@M'#'&/|??;KvGN4J.~J?~PJ"pJ?)@hA 'zЎ[qL6[B,WIE2 @^9z@⶗8PRJn>O.1P^؈?` > g`[ztpTo0=$6"ﱂ *+ՊI.鑾|3b #AmDk4gPX'a9: y+R-1#FN5j F;(ƖyPVmV`黆W;) TUT[䚖$uoue|iZDpn(GǷrU5|bjФtP7)R^)純H#o[ kʣg2~}}ƊrQ>;$%|}BGXFШ ?{o䩘n#W-yWCUM#P磋هRaN BO!?9 xkR${U>+Nh)i{b;v؛k?7 (/bdڡ$SpOyEA~e"Ԫ"&k+k+ [Z3]#ʱb%pmD{B'Muo C>#a0,(|S΁>~>%5 c 22kri5wPw!mXSP4mW8!ܦ|Vy8bmzf8E%@W}<r Lb Ϯp_x/UAiЯgљfoC7C3\78/,PI+vT–&nuҮ"OuȥS'b!~Mx +"0݁gwdB}EH\8ݦފ'fwp!4U32I"}ĺ'Z._Y/g9آƺ#~=˅?S~T,, SbT<+>u _7c>%uf5\:R5L@(U+gM>w=̧8[mgwb[Pj}1「Dc3o/`v\&&{I$\,7M%,fбoƉU"q/U}~T#lfgd0z{n(F/YW5ckvw5Wo,滢tַYJ~߽jM\=78C׋FFy"W[d̯Ob]S,~H7 gSGk+JS4 H|0y+eRp1A3v=@tЫBލu϶WʿmPSm DAX/A<򞰜˓+a}aK]l (Z )+s>֦\l̃,vK$ѻ> s>v;IOE^|p Jٔp:=ͣP\#k YNv{["z슡v& w_dc lWO)t5j(Ig 8Bʵp2&3  $8uS"*cȯb]#ok+>tFyB{zWnz]@ښyWJT׺󕠚Y˜|gGX CmRj靋8lf)"/2Zg¤uV38vNnl%b1@Nѧ$D[i0zS[aG8Q;y݇-SșbNU7vUu[yu[y 9%/nwdwMV&]91q ` MV@ҮB"?@a/7:1'r.q w]4ށۉ4?{vp\@&!Z8n#A1 fѶ̄P`r* ޺ZXϵYZIlRC~/:'C I^ v4dgpv;> 8"xܵ {w2(J3cw X. dD~=\~ XꈥBXr`OqRg,SidL(8SZ0%qRu7.DY8=}5bؘ8;IeG$G$j[@.i FP2NMݎ\+<CZQΰb @%XO 'wMGhӹz1ű!l~Kİ7 /XP(HA~߷͜"g4cO\ (&E „V9+Cgڽ#pXY4;nׁX>պɦ v/l6H\m8K|~vۢ$t`1~cȯԢ}ř:d%^)˫*\ul*"LbV6~ɯ`C 1 g@63Wڑ\*&u|Lmg!ڞٵ .NMI{r\Q<8=`\J&#bU⶿[5- _ؘa 1,vFÚg,<}Z|Uk0fBOP=\ZP-(^2%22ЬH,vc g|I3&3[or oֈ 9K Z'50gwk :u ]Ç "0hu ہZe: aB?~]{s"e_{}KTBt CQrL8T[~aXâl7gGQ^Yy 4 eE"sT>]K4)ѳ1[0>}LX"/4`O=U#Kum/sp,x]~x[[ #@ o־D zfzyEWE~7X-߼z؊;D]}Xp/oso_ ޅ)KA}~cJ۠Ҝb cؤԛY&Q;KJkFD_X?o@XR$}\% 1s$To/ s3iRq8/M*tESf š H]#G9hq9sB5Iu@3|f6C'/?>69Dn`r{!{<{Ia y8O)|&ވ\:+8gRʢw udq;&t9k'*Nl^Jl@|v06+׌mxMBs3'p`̮m`8bzW 8/֤48~"Э?o;L!PpɕYP+c"[./ϘoI^:P`MxJa$ U`6s8մSY3=IEfH_XhqmKpr )S&UV4>-ފ_Þ꾢v\vܷDC=-CQt;X|߁0b^|o[?*4tazn h3$<C17,&arWw1GgH)n=gB2@49Zp\͍>eL: ZHd:8gvIg|@Xq%s<XBO3w^+Jg(+Ox5,6B`YGVȕӬm"Xº]n2.te!OHIPn' ٮf@oc,hP3MybI4«;^0XӶbOeɇf"ٷY$s$^07/|_ixXaH _F%)>Y EZ['3|u2K}2af9?*|!+|E`|X‘Е5#ъƴ(佥9]]f`ZbiIb#'@tқ 3Q/o)܊Hy@>M8L~zH8y:_s z$є.{g9ʻ%8̿z Rz[5s FxnJ<܇!4ϞFH4dS _'  3$ʡd,~'uϱak7oC_Ig{-jj&QZ0_ݺDH9< C,,k D{Yq6+lk@(%Cƒ'1fN`u^|ٴ-@x-cC0Ƙw9X򳹜}ZO$^2Xŭ}Iu#g/}&Hp&6p[k޶e|L @k9o1]:V;Ai8u?$ܫ.$ :HA^deT½=#rA"iL/yUxIZB\Cq^2t3m>Lѫe:V>Xf7 "% ١OH1!}g!NwNu,bUgXX=!Ԏbc* Y8R\6}Y>֗.O@qڲS.OÚm,Fj}`̔K(+dI|7xq 0ϟȢtat Hy ,jfY)AD9~3QV|'t&>+|NFo20y(X8VFb-h|~8V ~1]q\oQRz 3bZw vN4Oo8^+(2rȯNΧt?opA#ǫSy# Q6v$Ns"f'*R(Sql?z1> S<&%Sr$z󆉖BqUF4syFP=`~e̫ |7|ZueWntOu[4zk3ӾDBJ/.d]IBH]q5#Њ^ |Q4ޙR7r s7<*!'dzLy <d]<%w _g[H4@65y~_ZS-l#3;`Y ϥnMr}4 뾮(^'s H;ׯȱS >HW&d v䯌X>ݛNus/OK ^%6Gvoz.m7tr瞞 n?y;Ioҥdrw6c*ɹ֏Mwn']UzR貧R*r(C+tF|i__6kW=*zF߁ dVWY!ʼK P)@nE>\_}o Dl'$b~_a߅kpZOI|gIWxg9N j@ZHIX =%cOcRGU]18仢Μejw[KXPyq΋G[1+9l…E? +]Eڼݴ\?Ҩ`|lfSXlz"vw$tD(g}쨦Eؐr^p)R[͛/o뿺NcGLXޟpFPd%>e/fZGpz$JjCRL A=PcY0ĄmYbp_a)5h}fpbCO"Ҥ/zF uR5i 2*<+^q _-ѱsmySwlݽZFs]sӋDt{>*!MOuwEI^t QY8^Nn'! -4! iҁt$l*I7DHiMn63ΌQh$ 2 HSngy|~۵:uS)!W@CwXm6X$ke|^d9bGU)X=?1oqd>0gLGA 'imNU,ck-2XXh2XcBXg`rڞ!ge-wpx6r!D6qM_V+($h(YD;8gWEr8.7~iii "#O; i`i=@(V= cD"fD lzJdS27hzIC_qZζR˹W~&o}6 rT)y]iJƖKEvLZknZ]^I0U9=@j4A=v%!c?ˎcO9P$E{K׳0~G>XHL8RhD#}6Vof{٤Lk?Y cO9P1pJLJ6Xw)>';Tepxe\Z^*'ּW#kOaMGr']-}ش 79*ɓ\XpQ`(`R׶Cx%9 4 k!7V yJ ֤ȷ5Ə}dE?v5,\ar[DY<'aS?rL̹!0]s0zD& !y$hH΁d\$7 j!~`k5Ԟ`ctF0uqXF]NatW #[>^goɯ,R*Y( k/-xF~?2~`,mX>&GURR (M7>|5]Y:5A~@ q`X)_SV"rJbGTT-c7'pJݫuls2j4_ۊ,rv0P* 8ӸYG8 9L] C;P]4h+H8Ѫ:a!_XVqdy/v̕\Q"[C}-Z+ZLw3%7,1W t ٧ykGVf*i3S~&m9y:枅Sw, wNBiGbi^zVhŲmr@MMzd kޟCb.Vf{+dt`FCafRF }hgW8wFtQ[J7hX<*?ڿ99sA GJ3 S@r^eC>h@ ]omb5%*N^7{0WnҊm/'|o"6|A`k޵K(Jš Bh(ވm*o;^o؝/ Գٺo}V۲3Z-.fÃSeX9&S-jEڳPg~:ӿim_ν+J%§uEJR!`4j,P$d&+G&g]BU-p+yp[PƑXMB>+Fp9B5oAˍAPJ_^ (X{ *&g]!:ʈ_yN+B(V֡^4+ !TC?~gl={܃mkvQzM5ʭWZYe eT+w`jes_9 7i4n߭|t LM?NW[8~~8'J!hb59Q5GOKJk͗,9{ɡN0~JHU&ӗK'_ҍ,piy6U 8^6\Lʆ$ots3]I &EJ^mo@_uz`=|߽Ձp$!αp( љOqNhS]mmgpWMRx=`uP _33m+̞ = .LZ7(Na8y }R@WZ5R8ҥ8[?5c6r9Eȶ# I7,SW|N^R@cPj}aYb ^hЗK⤮,e kgM* FZ/ w"TBb RYB h?!ȰkC< [Q8P5k*2u=5f},âޖl_iL6q DoWg 'N1> 817Zc2=D%݂|si:j[=X|7y5T𡽅#K u%|ٞl9軰].!:QP8^$Wm[;Q"B2H0W+c;!e`=a'#&? Zⳅr#S[20|I{S&G6.1ˤؽut/طE1 W] hֆ *pDA$6L ۫mUprBH9R`qzRF'[uޙc3TǗ zA|vB}xqRX/x_ϙЎ~ E&'Kxr^B S/&lz9WTpl+e97̯T4C[`,˄bp WbV^bAI6LHޣdI3Y.GjI.r- DK>"@\VP`iB<- !S''XsOBt"a|~+܉J}RlgNJ9}f9J=+He|]Q8` ~An4#π (~LB{gﶠW2ÚO\ѹUB Sj+JIFi{LBtV[I( rHh c{+P{PR*D% SnVc]6OBmoւ0;ѭ!d¬!x5y\VؑƇKŕK>jH@ɍT(z;H@ GCw,OӭqLc6./w$=]=`S_6wlBQ5` lmcE_5nkƒp+1wHZɢ4]V7I-bElH>Y.‹C@ ފY"JMP$ǯǮ༃ğQfIA\wn}cA/z9A_ 8.x J,$B r4̂c8gY5z ~'عiX{Ih}`=JE8VLBߧ霄,3$ἩaR bq~Op0%.b0Fb] .z $%us,l< #lYa#a]*!xs**̤ϗq"-mjsUAp)oC(-tS%v-~% >=:rO}Z]߀-p$D~=OKu(DZS/KiB>k޽Y/I<십mx-Pk;BTJ, "P96גD%=ω yɡl7n_B?)̎qL/Ht)nQ>/+H ݕD¾ j[$D+O@yӫ9k.CчXsgIHWjCNy585'Kk.&ƘqJAn(U}$TgDYsCOq'9Œ`эMI`+. N@|.>oS]B>HՙS\3_:'R'o?_K*Mn+ZF=e,?atD?at!ȷpDxO>ϨsUIRXc5 {nZJ%I0XL nR!ZH =8T?}P H(X.N)/ h0W`ʶӜZYKOm5 K;GB{I fOY`ɧv ~'y E:*&ҟn5*>{Ae-uYk0j~9l]5+e[y ̽ZSH_Y+\`j$d+Ź)ryRӏ[gͽ,k Fx~tGR)ɻ8Rq0B3:?yVu [k0ljE]mU:heˁ¿FpA$t-̀9k8$, _la3x-Ę*:*õpouU (vh~ܫ-_? < Nddَ]IH gު|;^iʁ}SKxz0͙1=Ciobݛ@TX5;0v'/6'ԏӇK8ISl/BN#󦇅$!$4R Ӫ2%e`TݿKs,ef<}g\`V ̛XBrۛ9[w5H(>PCOšwD/Fȧ(("7z\QX?߻Āvy91/!Xlzj(ͩ6X5b?slps8J:訫LT@s[gKnj (jG !߸ρ[S][,!Tq> ^Vs~ΗCZY do,('~C!;#c"9 xr>~T#Y6ywhµITZsN6sh84 x:b$zLmkF[=unXm)=Rm+o5 ~( k1"iÜ{*KrXu/oʍNA9>Q? vfw BDy1i]r&g o7VMe<>|۴=kZ+8 4zzvxh0QDcXY6\@t6\꿦ˆk%aUa_l"lˆ߼ǁ p{mNO3 x0ȽScHdSFG~-6XLN;̕wb]6!'k޼B!N˳X 9}N̛>U2nˍ+3 EΈ=.մ'@}6G. !n.q<8mCCr*!/ٚMrxE"Bz2亹[ᖣ$*hJãjV@uپr///%7{vO2;B P.ˏSv^J G7ʍs=EEn(ڧZ4ؗ7g(Uݽ`_ޠjp+ T+L@ rޤRp.,1 T)X./lJN}@πH!4W9V= 7,FFSuhdݡPJw靜Яweμ|L̢^ F6N+U C)5Pi>]n,Oǚ;ˬݬ8,-BS3Pq^ 4|yXsJԼìi-7~H@hzMDŽwtR394fӀP (Z(L[@Ui vz_`+{_O5=ܶj[敝d%?#+(6" Ê)f m@hR"(/7IS2aa{7~ܭ+5τVu6ɍg (JM; $†~ 땀q}rg7<=<^,]ɻ쏮p )Yt_gK? t3.(x  ^*8B^Z\,:ʏlrNs\qS:z[;gB>}r@=Yr.vd.0GvG Ugf_A@Qy\8p\gk`2 ­v- 9u~TIE!:r{6d߸P3_ ī|npNāS|X@|X[q⑐\w~>DZ PN@a;#rGbr>ߙ-_˅ۡ;#5XG1PEri[5@ y*շD| Q~ Î5{V Q@p^kUZHކ4۾c1siu S/p򉼚hfYVQG!1:\ '_\ Ҕ,nm*Vk\*!W@V{juB!_/sچ9%?2b_ԁ8J\Q*vRMe__%ӭ-JX[]䤟T(鿧 Jg[ I-+VoEȌropϰnQ$BH+c`x{vX&?-g1N5[ ٫|yWy Bsy!Ʋ-qb>쥭+oRۓCr뀟-q#.=MMdLM-kB /nؓxMm_, ,ර)j%&jㅉZ)vO -q I,&3av{i8@/;GL [ zb:Swbs{4\. sZn@Hvڟ0+۫sfdNt  _l&v?!/v8Ĝ3p a9"[,m_@JP-_9,G*e2o-Gr 斆ۄs"9ޏ)4"bOX@VnBECvrrh,#Ȩ,-iwxw4)-k ц67ݿ$!Bc-xvU%?9CLl WkKN6*:!$g9 dt!a(%|;h0[qE]uf:F64~[bT+JZb&{G>M9J+YK6կ ޛzODl􍉦At;?QXGoڭ{L46w9;EWto I_pHo^?Q,sv`]5QB_m؃fzV23JhnD Tb8 l~^U___S$d^}}*G"C(# r'a/̤D,&dwu4+ն/#& z8`? fr#x[xiȞ=Tq{9PB)?V#%- ɍQ.%"2ZYMD\rľ>W@Qeo-!}P:&>}Jj{Py;Xs t`*MRɏ vCn;CP܌vۍ/fĆdzxB([ke3%DDHޯn$f\ Z šQ.)ʊe[Ź~bw-pľJ'ysPh 'r"J88⫿37 ՠx*$>נh4BGBdGt_8O[ :G}s8kblY>G_ˏcc BFB%5l޽rhl\wܼt z{tE7Vj{GժlzyPJɢMzpJn}R_4\4KL흹^Sv#P~@Vr\Qkܫ~5gl鰎>)+Ƈ?)L.m\7A_Mfn\>:^!wDsQ^.`?eeBmEso QpV@[`-,S=Za9fdiNЃ~3ZI3R>BU7e/BX6)򬠬埡t9)֓D`uX2 ђ<9BBR!ݓ"I&&\ &$LCL>}~or29 w*Ny鱢kݹfrr kP`}M\4_\~JZ܏%,m+ `bA^0Ckn4BsE(8"Gisr`f$x~Z3Z3SLK?ď%JYט|>9M^=\As_e, cmXzEM3kU x[7dBc(kP-8 k7H`B0GȑuxEc<`"g8\}ػ{N'wdr |d/N3gQ'"D73Wpq}X|J1`5B\#!zX Dc Vذi8g֏=I,mny0j(X߫1х`Q(Zzw,$2;N$0wϯ.z\,ӂhLNs!mW/ʛDjг{]AhO 5`,'d6;ЅĪyeVa"R̽5I(lAN i_#1QW|]W7I2סJ_ݶNShI$,<qZ}Jۯ,ǥHav_ɵ7G }0{Y^Ĭˏ|vmꩍR2a*AfLMZ)؞{UXG 4sP Aeb_ɏ r|A8b~*__[5yO}o0@ /XkޏyE(#@.ؿ8Z}EBXZ|!O~'շ!o+'pH0;=Rf$9{\~:~X4oҏ`ͻh1%:{?iԯǖ'0>_µuqVh[ 2c?*ԶӟX#~@$G6Ej4U]JRflA"hz IhS XLE,j4Zկx.nQ=vde?ըOʮo2$DO+4rŧ@ mR&y[O(}׍P,q@+>=y-!>ĂWJ8G#a=mY+C=g =l{>b+!Om}63f 3߲.;O|7Pր ԋ\./xbGD_[dw-Ĥc ].dx幀$X\QU+2fJ.f0<ԇ8(S[9r3@<ka$ii ɧ"d5Xk)ڄ͕ЍoMo&JHx|*xV\H-*)9W >bS੊^)۲Kí0k Vͷ|ntK};CoNp`2]ī#{WڌP ۧ7iEH(Hu)O%#BlvAۿo%~òEW/C-$xG\pB]~B]6MpHqdn ДwJ" 2ӋouD^5Dl & R$lEVH)Jg }Ly[}1C2){Vz+:DC ,E8spAz9u<=\<3:6YIbDX,nšwi_Fڸ0ϓv5KIu ̂}TRBgMQ#9O%]fIa08ڄDp L!2|Zhb[/ڐۊs,8%>+M4R9:&},Ҹt-Ko&ydwGq_c«$@m 6ŚD5&!PmvXs@JDhp&:j e )(V1m^0;$ZMK[4Q#o*;9?=GDV8Wrrnb>CtGʜXsτ̓<^IM)ʅb%ĵNLB.B"8ց^`wp0t"=!o~7T`VGž7@ſ gӡBg~XU 4Ʉ?>G>)ۡ^z{ Iy#LftL>{Xב@ gisL#m!?=@A0Mb#1kµz'?p6#8^VX^>EbNj<8{]'i}yʁFٽ.kxϞ$탄sug_[||!&_,-}cCzIJu_Iő_Bqrl I2Waz-\rؔwzgxǖnp]&WխVk]j s:-x3o\nvN dp)3A,*h"" w=NBMXG$w5c@|Ϸ8X.IdM2X]48/HX&㸼~wĂCj<(G{:'t,HPŮ44r^Zkb!?ϱIq ^IW`٦L+J{KRޜ5 J#3hTQĠN:WoM䩏7ā=mx#&^-aplD§pD8 R/%"b8ց"scEx64!l2_J*|&|&qGXsb/DR?HI S$n{鯿=dAҟqQrq` /c!ͷaP …b+c>#as1bO+6TY ڂ\tl&,7{aM k:Ƈ^d{K vE1kn[Z e#EZI'/iwz/HֹNد!R-g䲏|rUV$t€An\["_?)氘eX*Or\HMe7~ּw7ɀZD\>7e^″B&{ Y8!k`LmM'_;֣/p2І`ݜ7τuOቹ77G>6쾊vm>neI3? 'CAFME9bּ~Vxm֤?{dĚIz'۰9G.R?]< %v3IbgxhR-t'HZ҄:0iWOmʍ0蹰exM> elPXhy_u]QN_4ϹsFQRdCI-rQJ$G92ʁwy%WriIS9vgaG8pw,/7֥9կ|Fe,>dλK`&n~glIBXoMlɱ.[޾A5#0i,>V(2K$%pB>}מzK?Us̰c6oTr?7\US5)Jm @29T,;WтJJ%9H)ɺ42.dFp]fEhyX7;Ys_ 5/Kȫ΅zƑ?ҁlLc⁧z#a#h+Bf9ҁ``ǣ_ N22D{;bk+tT(;H%*g i@WͧDWFGB=e_6b[TɼAq 0C%H`\*h 铤_~kΗ<j poQ=*ן c#2*<'ߵ"Pd)8$?g+B7ȏO0zw }  X؊J{XD3}8Vj!Q@;-I(&ٰI0b>`Tk[ax&x\Qjbi ۚe9w6oMGڒW2:ak7X71@!4JS,k oB=6!P ks]NYcm k?I)pc-iTRmXKAXdZ=yY&`\3ӓ U}zJ`W3#%tTϪ JͲpgﺾPy[Lk0}ּ2qGamMXcd'@Qe3OQ'ʍE jԖKC^:!OV[hcׁmikH"}jsA+}(+br@08ǁJȿK" `JWS c$/0)Iˉ`Z S0I)0Ͼ{>&ԩ"\m.KeUYS{K53:J c_{?Z8#1) (7 q zpV6mrhC =p-Q^"hGD@<ۻbC8QxLD5w"Ml`KVJ >lQȎtI$!js59ƚIC(b2Mx"$Q{9Px@cV&"`4Q^,ٵZ模D%i>D_ >h >FA2W1WD$gz&znci-)_C؉k0 f":I{8P\TR<7ZP JɏtDS6L!\hI/K_pdv 2ˆíA؏f/0\/ {LH=1gBJgBdg1 3pl0lA<%H68qY3Mxܐ< l.LH~mA[]Of(yX;*:U:X>ynjkJCDӰvh57hqܯ/'v|I$;;Ã^kyY}x22Z7 +.EA=tASJ:$11!vGWL^:`{9;6K#}SLDz\{z ߭q̂={Tl1P `[ a11Al(`f&{QS{e9-v qka5/Ir}X+`eeX:Va;Yaݚq tp5ϑwn(P9N5wo$K@ǧ8'@XSw.; Zp!y_ r# VgǦ"h_2 O7%"!W&-%~8ӘG"CIq68dJD$*7fY~.e8UÁɍ,dw8fu3v.0KXc? hGBK1A,a-33~5iBw8`[8~@!uyxSlz;@tm>BͅQj.Lh{(f/!a6HTԨ FԌ쒳:( TbS-Z+r nV9S{OmzڈasOPnA@,@0{l|3g9<63ˁp__(Cd.Ɣh$%eSrd2Ȇr(G_ҹ9BqjuF~1ﮀPFɰ)kZ /y+ Ь)'紇4H=8*ൾ̘ &}Wn4rfɥ.D8ɔhkVg\l>g.O HB~lfVgQз4˜\cn龡Q8s}m =ۍ WgQF5%v#"0xsd[4ï^ѥh,DĹ138?vb;^'KƩPPFD mIƴu /2ޑ{:F7oZ$i[ D*0X|Bש^Fu=wT+v:iKŎe9a ju,F.BzZ{β]a;1X|(b/sIs"~Ǔ9ǸRuDZSr# `EJ8n"C, ?.h}bJ}Is|A;,?b,N-蜒sk)QblE,79P?X q!}B-$ShIJ/ӥ>A0A*ClçrE=TYr(L-8T9CG]f万,rą~kh}8i1ocl5>$;MPӝ,%ӂ^dLӶhtԘuRe'~!?=N07 oFZ<}a7oh>z"3gQ[T[x BJ4l^tԅjN\<&8;6=[Fh$7^8ȔH.61ĕ/6 .P5eMlбo5S1>4y!CCK=Wu}=۾__&_͜+E %^I8c /f/EK>Wя#cw8e[ s @ OS_%dДs|[  -q}Wʿ+>k7~n$qI@ 4 kj׈xw`AYt#?Ȣ3lr[v#D|cЧ#CNœ֔:%2݈Β :ɫz:,fxY .tid96ޡ66Hc4V}^d(m!?!S$[;#[nf6 u6S#LL>]t2^vh'ZՓ&\rۅ28v\B':`Έ_rE\ _7a(m~UBO~9R_i8pC"'@;XU:6g}[bUf3w !g ZPJWUJ7\Se.S!p-D_ZjN5ţTj -Y5ݕZC3*H?s*'~,%KW+g?{|^W%Hc/Nֆi𾔓>oy2f&Mi2B]ՙ ^~"picE|6u',.B pZka*'mrV~:3bD/C\I{5Q۟=7 M(Qo53w1OV8!XE`/v!p@vG*@{įJ5Kr1_n"*oe!]ŻPZ~@AEI2҅IFZRQP;5SO@趬乊! ö}D}QAc|܉#h"5lG\ZeK$-nP(Lt57T4˰hH~Jljneė.Ħo(};FaWcoʈ췑W1j74FjVFky+;'Vs&5!sjtG$6KN{]nt#:tZI؜:˩.7d̍[/þ S(lra_#,TN9FNˍ*I1ε6.G|Gaߩy;?HIn7KmdSp;WꞾl"߸4UͼO7DЪhg B.t%$i:鯿^Uh.D?.Yt#og} _:CGD1FE:f* ”nlvFN7:J"1 1PB𚳕K)]'`| ]@hnW*fc \Bt$#>Ve}HJ>~_,\ͯz~ jc:yΙ~3#GgK6Z"qu)6 uHH{?v9WPz_ys_RZHQVxO"uF yEϑ?Uy߯Ώ~rwoKoWNCD~ Rp"5bi+.]BK"rRlz'U?a%~lx"'GH M8wOl=wʁ-1/[0 3 :w"]hw"lLSӑx~=~}G9D׺`4hkIC)~*~_ oiMm?,;_^F' ,$8)w?FFci)jdmʴ3Ks38͍? HDf]:w'6* !-Pڟԥ>|XaW!%X,)ѧlEio*$A+`ۋK_=l1f-olr럘[AwN6BR&5lUyWvT@LPo,lCy%-tBG#JoB>e7F:W;-zgxgk}͉ .ٳ9'kSF0oVYK ߆wsvLrmGz XdS^ǥ5?'vhLaLB۰Y`{=7ω1^}UFY8 "I=X",ovo,Ț6e.i-H$5lǤ+mNaDEZL'{u4̡E'͜a5'78—DTPR$7qK `d>oOa3tIugNzNMG`y̩.ZE흭(/k`VI) #ECJP\',QW쑠 wG1$eÌU!̚Rs|΅oH[F{v`n‘CQXdPXa|,l8.d^E-p&f%PѺ;;g 6BG'66ሙ3ZV Sr/D)]ERڰo?ₕnTˁf/+u-&?_(IB!覸 u4™ZA_KUFOF)` H㴚 KeZRɉ!d?qQ{ ϱc$m:yP&4Z'dNj^>" BE8bKhE_ Wos%(ݛQ" qKO0VBܰ׆%. ew@J;`[Xb%u!=F,s1Ś2I~fqRֻ[Ϧf#mX/UNRX<_;|6Ey]>rLD1"gPqQ;S :Ծ9UsO> smT <)W|%Sj7F|fS$c5OBJij=@zD}cYx 218w$ei_zQV8ԟ8_KbLG+c"D^e1EAlwH]kIF;Z% -c DR{02E@0Ŏ$#JwЙdt4c1aHY7g<[x;9,]zR_K|!1Bj_sįrml_D19yXFÑEjE P? w(#Y-og ̿9n:~3 # 1BY9a` %ڗxYPKN$v lv@!hs~0%=؃͜DA ,|訌XL7櫳ˣ|N jnB;!D)8*#҈I }j HGbs"3 p6JOin'y,i="#z8iY#,AQUov4D'R~ O>D|Sn?$2*NSy !2r{0.|V Tƺ2hVǧxe4`,%c}`HF;,#DJ*(U ۋ /t3F}P OXu! OagpWn ;-0].@F밌w!'_ ՔdZh=@(.,'NB< т$XTzחOF4) ,3ǭ}2j%ZfAGJ>ːN/*z2T]'nC1Obz^RdS_izD l99䤔'4$UkaH"~uR'[JtC,d[cSTq.1&=zhckn}:|BЂhCM%Hf ![?b-?o*qaR]hY,e Mگ"uR/cwa:s%kblŌm>XX##J1VSGFRAu1og؜zd ~<]vK}Ϗ ^{VZ3l N۔XL[J:iWJSk9Dk] pFֆ|'mt%lه#m@p []F'D 6i$(JR@OfhS0x١v3")֪k8a@,"| ؁:3^ɇTe5UK\Z!G# h% ]`L.5T w|1ts2u複ռJaҦa2t"%P|ޮo#SV͚ذf-R5IH-RL!T"W>*忴fybčr(~r7sſ]ǁ`Bbj5~5?VZ>@QN@x;Hx-AE4Ӈ,@[NQ ,P9Ҽ5FLTȡ"gGKYŞ%Duk|)_.ģNZtna4竹|0gy:Y+W/l6XN  o^Ҩ.ɭ"wqjz|A)N2ҌtM.4ש` *Em2qZ;|[Ƶ*_Fe&D!-t>hez DUg$rYM.$* 7\k>{u*]ɷD @:.t"*z!__=[\,F:'ʋ K{n_pM<`aitWh0{(LtԓR洣#eGF;'P<5z!nFܐ0rk"m42[fP[c1(9Fw'WM͐PeN:FW &v)u~%BIeѧ#YA=' EɁׄvJ2 &v &zABo a3sfw%]8T.:&.z^ B \:Ce P7)'cʍ͙PY h*Ty$`']gž#ϬmV*Ϸd&` z#psC)1A'茶X b.DmS16+z.̟mH Zo5:IKxP|`jyno[#Zk497qDKz)^˩_U۶N%8 \?7c_#uUǾA*75*OT3-Μɫ¾v_W="oDA Y1pa^^ n:įީdtNvXf{;4 78iԳX$1{ $XCBAJuEՕ ⩖~'%W.["[x2ϯ/+ Dx$5ٶIvy&ߗJd!ゅ$l+%6~3u*颙 /9Io(S)hQbҸ>tEhT 5$o%zS)6}ǀLnt /dI7&aҏ#m[юY, X@7˥+ JkŞt5<հe{$ !Δ ebk^JƟs9n 8͢B)"r\ =="Ec#ql;&73"-ve\nRCMuaE+arAFwg7tٟI0(k8`el>7\4DF-qz iϳ?m_ h56g)>CPRΟMc V9`@wj \m4d1gH<~bՋKc՞ O0~VZ^VV*6 ۟T,8AI N[Z\Niu6V't -Jdԍ*98"A/m nq!{AqpN/ +x#%R+} ¨f2%Z,!Tn.@IMW)'I>%6WuXijBK_s'r:)Q8Rgw=3(y#$Kdb$Sy o Ay6?>1ߎNE륯s"1lLƊh%Vj溓ӝ.GhA139<>̘B MD9ՁIS ,Zv10XҚ+ڵ#\h9p=$cD%2E5MJtBmąb 32xDo9%1 O8;Q6 v>د'Iq[1uDhͮSA>Y2م#}N@.&'|\>*NNw̔uO,28lJC6 G5ൣC;8sYH=)}jL:9@+7r.(Ky6vV:M8E&;H?igteV[}$Nj䡉B5ExE?)Ї͜#?PꐣRxyPb &2$f$o-VMGI\IfNɛpkCb H8M\z0c:e }f{up%/6W?H5٩ߘ|ߜjo˛ThnnNxVYF%3J?:9H&H!&MQT.\3GFޣaA##{n|> cN/ĕҙ@v3rjɝ2 46Þhg؃2="@؜* l8o]BlӱQ%^I o˙*nL1gs. Snw; I5$"%B<ؙI9bi;<uuHc.7F76Y%>u8c.\υ jUYaR|^Y7MksrWa76E­pl"%olSH&lw6Jr={{2k|UUB|%sZ@f,3-|CGyNv!(@Fj {˼e{S~v+uNn1p ܰ'_L2FkcaW0K]g2n3\E:}I7M!AILg&u37C04N^z28peJSjB:ȐMB(~ c$6(Rg&],#=/bզdd }($#?a ֝kuo4po=a,Eջgh!ےtzD\=6:_o1ӻ$q|`#-.dG{OF6Y,:P^ ?3s7`\yVsLB$z\-VrZ9>(#7B86<.HE157M('YjCYGTb iṎQm2?!^nۂN_vBaF2y>3U|Lf7#e|]ȓ':Nvl>(}ɂ0WZ׿ t!L%dd >1^)꡵-@sNl|Bt?_F[k;C :·H|)>gge\{#X>"rֈC |R+VD&}o$bw/+c8)*l+W‹} ?DMڬ ;iV;>NXW1;xqt4}hBmS1 Fw2r0`?DcL{c4W]Ks4M2-"N_Ђboѓ7a$6%N1=n8 5j8 {8D4 "% x;p' ?UuЯ`Zx1u6[x*m6sd94ϪOIeLc䮵|{*tΑ;i|Bt{_W=+JGW+yZ%5Z|޾?0\l&w Ѿ;Vsy&)x z& 6 B_֬SbC(/\ϯlSk ox.59,1#V)5.DKfb̘fK9U(Vqc9a"w: Sл?Eg]y+oj)>6뜍vLj_H 5!#J|CAky-uc7=4fEN>|fɧEug 'Z"—cR >y ]-bus7o&4d/}p\ᢠH'{|J,<(MEAcigž`RiK\QEKexk 8Xи aJ_i|.qw`Dm'=Kȼl !XK ΆA}:>۷]j ٺXv6 BwlBwIy'%%:[%6~0WND}MٜbJI"azwAp4N'=t yYSwgէ!rU-{KxZ7cXU$=bkE qbZ-4foґ V@E6gb άP|/$P& Lfr3+Y5SP8C'[8Y3Əu`qCFrhO]۠G~caҧv):'>qa:,>w}ۂuo5W_"eaDžH ` adz џe1.R<UѢTݍ_Y,H'U94Йk޵XŔJUIzN+G$Wc\Ĉ<62=`ʜgvD|l\}ҩӍeIlΓˣ,|HVcWjAhv!zO#49t=zQ{B %4WopR;(̗q<|_h%qɣ:Њ -} ~X}i֏eſ hՍ=|BTo36yBc4BDAN@I5?|EB-0wi)|Z'ckpBjJbp"-F@!? sq#5|ㅑa"_f@֍Ev&(`.D\?כg?櫲[['XzSD8n@nefsyk)l;d,Κ%!76KuDy[؃ G;C.,pPjV C|-3gDNPBh\. R\W}J~+c|ʓBcR?!AF4Uo˜EF~3im/8Cc͉DDb snT3n5?顁w4lZ`15#mtU㌱3 yd~3 _X"MGU %n Dsdp:(jB[Dށf.`^TK ;0©LHNS,9(7so)]0骗8p+m_^l_{hcs3зWASbtG.9ҫ%7BlȏBF`^睊{uxB%lDWe w[,HbFlL3fcbWuWQXbq}Gy-??ޟDMPFdVظ3_@D۶-M(q ypZYN+ie8᫜i2j_5-_5-_5-_5_5HCk֚ % }[qf΄\ihLg|`Fe:\Ϫς!`~-2Jer(tA_ WJ&ܷk gSB.g ǖ22iSV7\:࡛t}7#{^e|Ȁ^w!zջB1 osrG )|F7d4it7] Ss>K9Bx١|Y +2;ec^J;@|\X }ZH0/FdE(^] ۅ,|yEM&Wo>"ADZ|}0BV4dG~y[NE4N ?y` 49 MӦӦӦӦӦC x6cFJ]d1BJ0PH\5M3} foЩ B=@RЖOzb dQg6,O@>bzI|VgsEgs߆&dHlMOqFag`B͘&cqn;،OW7n s497춓6x^k1m#:6{Ę*X1l,7}LЄ%r% ǰY&8UXWLODYؕ7Fs[0 V74_Y]jO ޷_|5W?X'6FN(:w251vۉIy ٗ|.|L25_ClV+ tb>fؗIO5i|l~[>oWvy%ƌj؞5W,EaޱE#i5' }n`n̬![%g3 fM}mavnCW3X׾xi$-x^g.b.ڷ!? lK;y~x%םŲ ]eX%؎sr,%m=i5sRK{d5P-dYJ6V4%{VYxni("l\HfxvtcpEׯTe]# :~t,6oMTOXRXmSq.f:bWĎ[6O?f?R"|7X75<=큦9Ѝ̻>^v!o 298UUUUVUV(1Y_+,xUK SI/<0'+D,VS{J~CܯdU%-o. zQʍYl *Kt]'G  y|L6(C2QVˊe(=qxY߈2Ov-/I;E& JZe7@%A!GfiOi.zمޖ̿ZLG7Z*Yfld':t_-ϝfZwEn5}slB/1s>1PzمR{6KWuY,8·sY1, ߒ(19FB,🬾}OTbw]X/M 2D̆= hL"%5 Z0~A'ޖ,7QU`CHC'm7ʉ u1݃SЕF8W#grxK7 _ I??*Ѝc:{'2`gcʳ-:9XQ|4u~|t u*uIu|E'ٹE]0%tbʣݡxMywf%.d<(GZ B'{bNB2 @*t )m(|b';"%?˹3EnrVދ6L7dqTs͇/@)RΥl(E4RAO 3&hFlVHܽy6"]$3 iiq+1LтVi Lz[Dz酢ЃSV 242zÉ4lޫ暿4t<8.x0Ocp?,/pxh|*U,TZ[σF\`+o[~T`"7ǜoG(`:O3n4ʹֲ%T'7ՌY7Y׸ #hW{1!}V#ql\7}Vc}^z= 2{4TnNU9 a3缿I ~Ms_ n8*oΠQ*㉭aK[Tn-oSu.3L6$FWyCFظYƾvͰ-r&2 ^7яc&l8EFiW@]llyVc5oVf.+rEәlNEڧvZPN>iyafMб6{c9n+l)<&]K1= fmZ-O< n`YNaT3%oP@NDHK2Z)=Ċq|V&'FL`32 Cvl*3+'8{Ι(oGۻ7U4irZ4hV(6 &0R)(ZDX@@(>W +>(BJh x+Ɗ „C)i k>'{ғ9s̙g>rkŁզ* ӐGш ֓,ᒥ?j81vBz3Z lY'ϼ|WM+ ?mUn򓶔Ar }YFewYUyxɗBA+fkIp󋐝y=ɃN~=pX|_Mx.}ToPP  {#:qLg`pǩp@4{!I̙'W3͓9sq5(w*i݄j6a.LJr,n쥳rM\wXP>cbZ/ 񢱤q^Syҩ5OuujSw~a$9o8:qֽ?Vǜš=b˯.>]t\;08;m]&8;44VSkwbX_1VsO64놋7@-71 0™/3 YCb#L~[sHM^2Ƨ)EXHM;DGV^!pn{n:pg8bF q0l?O5>}R<aP+΋-94gsY^Z%={n^xц4vhT':@s]ϏWNOETpԘ j#UcD*QMNH9w6|_#FX2vs/TX8HI| iDR; H\D~J 2Qz=8l7$K.*n+EaEr{'&SrL _Jh l]zRcd3FFc1RlWI[דbG*G=e=oKy;'Ic)D`Zݡݮr!zGxֲyކ$抱-'!v(@g/̯/LC&!L:hJ[ŷa3:%#[ľ{_x#I=Kr@/vY:N` qY C%`>t̤؁㥑Hjl>kNnWu? , !7oe Mτ`ީ 9ta,UbbF27 r| S Nu~|E#F|KdX mo'8O1贸b~!eY$"uԂXO%h\_g~W,@-IW Y8 M7a{nVy']%Y_W㊭>5[zf}^#Sk-0{P7O'7ą|sqҭG+?/O8iXs`-$$N lekcHbE`LGT)KZ^9¬q3Hрq.9qPp$M DƓ{gR+=Ad}H@_<0d/~O5o1Ɂ6sHvX3@B}λ׆baQ6Dc_.Ⱦ5-.'LZɄhRWXG NaI9E EL M>go´"Z# &vop1ew@m BAĞ&s8Xu6dFq b߬LrTrf*%'7#_^r|SO l|4"C6Ğ]d/o(ÃLئ렡e9?i#aEcQqs~HeD}ƒNu/k|YK+JMaVI#hۊי~w:}.PPׅuW"ՉSxcbeŠ2W A.Wm(q$g抢!P4'U4Y@Tѽ EUEщInH<ڃml ?ѠROւCwz fǃ¦bU_~^L шؓFlj5gf¿ks$' `Os o5dɌ`dNyhrMr#o (D(ł[m{-N$bIe{ 6ia7To$@d ĭU&:$me9e{7QQ A ߠ]x[9}xbӮՈEF#e.yũgGVrm.S(ay&#kj͕-a>AGbsM^.3׮J@ E&5 rٻ8 JZE)8HvtD{ H u'dua$q:!j8M)~DBaou=W/3}{S*9dc]: !AMwĕJzƬ0B\Y~;|;`[V'!>Z$+sǂZ: ifIubx1A\ǥȽHd^'s]V&rzHu'o]E:4}EDBH Zkĸ1p>k ͏ IN~qTZʄ$lZJ?'8ي3 U&xUѫi q{_EEӡ[K08@x^QA1GFu^SZ>lW Y>,"!ehXH~D1YwmuV6R_cݺNmt@*%@RwU@?OZzߵ!Tbi$?4[{Y4) ,4P~W ;&B -^+!z_ΰ_{yZFeH !vo _ WP&yWِ?@`htYcBa֊ۆX ?Y\>&2r.U@^B͵J9fd!dCj>\+oܮ2Ǩ!8..ތ쿮Vqha]:0jjkxZkAm3d~Zkly2W4c,-`n{jRꏶ*ق/矰]G@VpvzMZZ/].y?/Z(hm{r 4%8;Zȸscc:)L,}y>1nbyKYn,CD{J2%Dg;ށ+%M (;0t $20CAtڣ1X/tLRBH)וD9֊9jCXv!,;YWt$16ɵg;bW6ypx"Q|_*KC837gLq/ ߃i>Pdu.RR$vC^v|D2z&?%c:e.K^V>;dz[6 :d2uT `C**"~+r`;V b?JHoBrK!-ͨ=]xĎjڃcȃXKnUbdb!X^Ze`H);@Р#}ts9/>( i4~hY"̍ȡsj>qj|s`jl ϛؘn$}h _!KpD)jw,@z8'[@xBIc7#BЂՆ lqY-!R9.~p_, ;eeW,S\dkc3 E/]Tn[.4LN ~)~+ku$+qxxGX+ żușF4L"g uQuO{o',2de6pok! Co4!hICncLj2YX n,!. CvW՟Qwj QvX@ zW%dkO |&H#jH'vR@09J^1?Nrj]J/z7\ 3Aa&+C4'x%>3@Zڈ6{k([%UB&%W#̿Wޘ v˂$F:Яa#0h6ruБ q$ݕwlS†eJY]1Qƴ#nƴa~_ݝiJENwwkmhXF! `z5ҪG0D[wER׶nFB9bOTkaJ x t F*Bzłcwcm(}Oä);Re=leSSmg\Pie7 jmmb'ϩ/T򿯴]XC.O:_P쎰ci; nv>qA_H(kD{.a!`^_aCAhI /­Bo FA`Oo6ךm5ThCjxm=WbQ=%NVT VYmbuzOiLA؍x r}a+/Pn-,)쵢U =ŹӑfÌW2v„Ntl֐qYqLUsfiRLӱ!qLgHpgtuk ^%! Om(6WϦy#3b8'}* ͞LҐ#L3lfcBL›w.\1%FީA:xx-934lc&H{g`J2_|+KV\rI[kAmB jj#^+p![δ;1ip6pZcql:ӊsqZqN(r X+:@Cs:t%SaoH?.F9W;dcm~@r\䑕}3/ //BDfS!ŞRBzV%vnKUQCB(["&P\<b<S u նoʜŸCiDqoc#YCKzTJ.XLB\R"/8D,hKĒRwݍճ >,LWH~@qݣ䑯pAKt~T g>31&WݢీZoy\Lm(UkX0W3~چ_ߣaچex"dJu?jWA5^:-( YSRj<jCtE. A`Az<(N qyN\LoKr %pq1]!Lw`-Ap{.q(i"H^4&QULu. s>Zk`WA Mզ=VOW9 z|B:}y_Zy.lhwtZ޼al::$]mWǗ׼06ϼc~)%̧>T ֲoD \1l#]0 o<ޘX0Q}XdHmbؿO^ۇ!-G R*]_ߎ_iX@ق@4{#B,үH7֬Eu2]/*WIB WKř-P fS&Q:Y1U#9&ܪ80+ =s Ga:B'Wf✏^vS*j7!$C'OGw(st' UgZ~. M~]i#S4Dk̆1>=o/.O܎bFNGPS\o(AC^8>z,@1'Z0aU}^iE^:1K$EtlgyCg2 0A6b3.eϝoCbӽ@(泫!+Q6U_Mb6FG;jc!s$O8U^FZ!WȸqP*EuIꣃ=FG)w-2e(1 |Kʵظףi>^![՝r-f3n {qqٿKB >bnyOC Y`y%LIH-c$&P3X*!Gb'LZCzviqoğ~-bia]Юyz-bi!R[XNRRWLcG&Dfz9֬;Np3y5]")0]B,&HrWjgeb R,QUϸZ *'2]f}r֬wX=_~ 8>[t^84ݷrc2a J,fx(;k92gdc/$<#Fl?z@]oFzQ Y^MvTleVjǚ zϙ5Ir]JeY/*dϊm$owqR, ll Hј\1!Ik!^XPtB Oj~9L%)w!kC 0Iqet@=q?ǀ#@H/y?}HX[`Jů!ݟSv%Gr]uyؕF@#q]= k$9W4_v%TL:a-͆H.rO'!g#9$rzGo A! ]"Qc&0HspW$ <ٌx D˲S(6,!JMɠ0mcCNiĚ#[c&[]16f;s|ܮhEN`Y6D>uXI_Vw(yjM`czHPq0֊cC{2ABHO3V4 Hn'[v06W~@}^06-sq=̎]1d(f 66(gAsYz!!7j#\sTXU`d}XZ)@q5HFhݣ^SVu [L)jE~cMF84)ɽ FJINFʼn^Vpj`֛ؠ5GR]-͠Va@=֊& \krMj8kZiO,s%Bƌ^=\ &:EF#XJmQ`+jt(6u]xC}1oF6yE7fu7b^)jgbEa+ZF[>%#rHadj[7ݚZZ?Պ5Ksӻ0xYPUYB]agc-!Ax-ӖCq.vw*&dQLzGە[Z1}wma.'Wױ1c2.{tL'1qO+Vj:1@v޹JX^)[3!5kdYzzd !qys+HHrӴj-{$VʷG$h]I!!˳q8w*6SK!04O=$!y$!½1.Hu:뵏HHT\Gov͓)1VGjdX_.hd:./&1"rގt= :)ʕƷW[<$׍˨)J`=eV攒\o-ä|vZwHx|BY"DD1W|%XB1Ֆf;R@>oe <\.<B#Btmƚ2B3r6TJNnL&sEA`Y͵!wX l̲ct$k }ީg[TLNO+7^Y\mQzc^oj7O\Wv? !҂͂RD(E!{25ANczW|0oLf&yS9!JBϺqVB } aBCsG 5`bOޟ3!o=ON&Hs-2A߂Y0&ٿ_B4BpIa&93HSY+6*ka=s`=!φ?dcRbDk0]cg IciF%[ߢOff"]4~0z.Hg =04Lu~ =>p9<I@Âtpl#]]<[-! et1 OFvp)tǗ.pW6,pцi j[75'5m;;K,69@g#ѻ s{;L{#L (%vHo94NcΒ~t$#ԬwtqIB y>0\Bg'9ĨLM-=DŽ-cj biHѓ_E8ո N'W Ӂ̖P [YU_^bKcqȩRrv+M3mN DĈ;%Dg,w3wBRm-4\ڈ3l=*1a+{gg~x{(}u&GQF5Pק&ob)Y#ڍ p=>B3\=y1,qYWw'&;[ct"_ЙW;1'U :3T'Gc0 &+ /t9Rky8zL ݘ _~EY;j)(S8SeiLz_$o i<0L9BI6<#d r wWWƃtM?Z|(3csAg S.ȴRtĴ,A2ԉ4-J98_b׿d6ҳd4#`|d!@2-o.ODT,gŶr*7aj}LBjF4Y~oxcI+&iG=Q3%#؇gO A?#+(| 0vtR .iO8/@;fJHaАoR4FD=cŵW4څirsF'{Φ!O%{Jg,b83o'!W y<ژ8ٿOB|'Y7&uG$DxxU&G@.e jotB~ŏ]3g)G7Cڑ9|ZS$bjďKr}&]6A_2È:Pkϔ{DW|gc2&Y3 sX&YwMPY(ι|L*^\Ϯ/ ,{ O9w13`[&&{BJ1-=? 90ԙS7G8kL-, 0]#슕 \#PTڄLB9NBvZZH~ ZI-T;+3fv3{WeM(wtW*eK0 'ݜzO #A dOJi.^L87㘜P٥Lp *=+%_! iE.WpF N$ yE]b5kt NtҐcc}p^ҕQ^eeoOFkOW/|ce.RIF%zBPkvHB`F,8(('IHsD07htrl7xGz~mWzZ"$G[&3{̠+^xIW=c^]^K$WmrP?h\/dqYtL,C[ƃ~8JrX*olm, +Mr +=W1*K{tϚ[9 YcB( pONuC[yak_C'`DA$7uo|d%@щz+Dw(7w5Dk3}d|f6ڱ{n!C7Nwx#;Y,d?^7w>(dzSr9T;JoS0WGK mδ{4}N9 YM2WcA+YVZkxb=KA>gFt_P>7)VH| ^OD/q]ȧk0~i.8­~ 9pj#+p/Y$yyb{95GS%Q>`/k}p`)/., dg@ ^2;e)>4IBZ4ygC0͞A Ru$!尿s# % jdEsr7)go S%4]tf8*Igld"!! avc%Tx?NOS&9|#${ڲޤ)6LM?0*>ZBB{tp`tStkRNS럸gT=yA|5ւI&>Ȁ }̎? v)VI WC8pUIIԁ@{F"SSԍxTp'A:A3H{ o0i TLv{@ݧ|v(ש\L+1t9)ZwN EB#F !Go/$) y5?p˼fKXԶ4n^X$\MF@u0|KD& 2cj=+\,pY0HRLv\ %l70_29߫ 1+V X"!0f-}> x${i@H(@'4ٯ'rQVX6@s?Z1\Lf/_s0U`lu\%\>^ k?e/6< Lp:!DŽ|+ځ/r|!;ypo'39)Szv9{ԸYw}.Qw4]R7˾>m1/h- Y W1$RnZX4VBQ;2f 9kVbiYq}`qoL~Qp2\ߎ56u!&W b0n=4yňG^$? rna^<02X;k ;pҢG;pF6qK$ڪLteAe3 "}pbQI w&HH@BŴ~88_$ dE1i¤CŊ JtcH{(+yՏV|F.{Vٲق-;xMrLg6yeY`V8נ~L2| {oL>!$aAh=gY>d}$pPNQ~x3=Z2_Jf֭Z!m,, f֑~ص=6JuqgwƧo׈[B f!Zib t:$=ECol7#E֓IU4FTKBI3B$DsK#H'i鈶+YX+hbtq~! JENt)ștR%vgdw2˙+$L)d`)ܭba+&1ic%~<@90Zum(E"_=.ti?F <V:Hߊ~K#wlI4bZed52A4=yzYWYmBa~3}sѿYνM>PB;1-6ڥŒJ=CFLzW FrDq>nf*kE+l))Q=: vLb gϾA*YG>)4K0`d.<W$fD/wېkmg7RvL$ R$g6TB;9p?ڪ k/dV[[6ۃ`^hC- vm(W+XŢ,@RQ H/X<ٹ$T+M읫]aCWޑ,Nڷ\Tq^7mlm0Wk(o6/ FҼh͚WNy5g }qw!p 匌}j%?D|p ߏ!Xj+Kw: Pc `23}wTmOq6!zX=t,@F˄֣cC~ե~{üc6↻m^#9Wg# z_ߦhCI  q1X&Fu X^* V@+, B1#e VL_"YINϙoOr>n Qřb?+SXˬ׆m \<4v !V!;+Lfͥ [ΐ#yȋ X9^lrF(8Z¥VLc&26,c2Փח\L5=ؚ"R,yH[prd_ehW`y_nH)+p.r,$]A;'sD *4 !G%&g9,<ߗ &w G 3tL>jf5!Khʮ/).cҥU)DKgcj1` H{ol=ǿsxnmtWe"Qs{mٿWV7S*YEoPzNt,̒5a ZXB?eNliKM t}:Rڹ`X7U4bW MVmv{"d?&ϋGLy$`+pLbg¼K35Ū!q5Ҫ֭lx #Eu7۾xMc\8ǷPEFf=a+WѪޣu)7f\/ oxDjE|/[O1 ad&g_#,DMB&SO/h>+%5s`}|a\ 25?($Rf7U1{OtƁ6k/Rzdr(6%lkť Ё̙ͬLtִB\]fq.GYb_/&bjXtO邜)V~at.[{5}(*#|yi^b׌.]] ^*dk\8\1 WNsh2D~xF ##,Kتh_jJ'fuѲõ3Zꎐ۬]>q##x &v^Ǜx N2f'sEM_| c$4 eށe2bSqGyՃ9$s5{Q+i@vͩ30B\ľycS[P~+qf`VgK6ph;J2Mf0 ɻN|Mq 22B W[>w z=p;S}ގ0$ԺYa0&CIpNevTatj#cތ{Wuc_|ȱ-]7R.ɗxG'&FY2g`[kF]bƞ]t`&GH!G,m R#B_$7PPL (eSO3*UYAnchr[\A7Z]ZY-ʺ9 #1`2EFHPKΧ7&$k%ő/` a=8T`Z#0FM|L\R͚S;7]1ɹo{WG8Q?kN*VwF(!uFAFIRfWD2~!l5:֟ #VހS"VXwGJwAA2B^/6x}a/(OhÃ֯Qh`HYn[~Me"`P4!bU=pM3*Ѷn+7`, &XV h.a[?ߕ$=z=z/$d9mHyIO2[N[$Aq-af)&cZN$#6_ٜӱ,vŜ]aa /o{#W|nC)!ހif 󔬶l' #N%B(δ"l<|Gdcxn3zkxd->ýZ$u#\:F\O,H;R,MGrқ8J=\2#F‘iƥOxtnfU{39*aq c|6g@֛"լK/}pF]C #Mm,8FR`S;Z&YlU\T2}o׈U('_e@XA"8ذ2YZ҂G$,zvyR Yp;6'Щ%L{2X=0ҿlfTIjIȉIOЧ=f4t!ޡ5ۡ s j2Khel)暓Y|"UYɟP٦'`#;#DePOp>?&pZ-LskXor0gF2Y9:Egs QDfMӟu26˟o@#f"]:ZzPg] ˣG\)PMrg O`&.s,LrOC3O06GOhlpx1D+B9T="hh$> vX!67 9z6oΡBle`=2HO~إ>S).ԩNl&̩26߫Eܯ,3'ݞ3wlaAlayv>osUysW}Evd#3?W!@}=v{7|U~uݍ9o Of%4>TBtvd˶3k EO}KbW\2AK|iH; "lk;lЭ0Z=!s r,{%׵3!Wi`ip9U0</6fbokb̶TkNZֽrK4OxbĹ  Hp\豯,(.e}ٛ(z\eFb8Nf?#'<7.GG/Z. QZV8(MwFQ،15r`LFZպ&lsquqcHʵOЎmNIڐn7s/=!hK`!;BLs^ul_6~}s x!:ѧv2fW?T32o^mDMVY.G Hoc MVqpc f.@62qej/ect:95ɱҗ9.,Mg X.`L|%JX-$ďB̌x Eܶ9ę@;~2HFs[&W?86M Dž_R7h#śaS|y xl{l4ӛ,*@1%Ӂ: JlPMokʮ%`q:ֵ2j %X@gt )l1?lg;)50MRogkjDAjBya%v `u>~XW\-`ɰSyu!m N#YLg8AJ8͏Z.`siṻ1K591 5`+o3[H.?em6^Ư>l6a_L̓c\y Ga3R5/~'f(#:X+īfO˲vZLf+wpFԕ`N]nU֋QikU O"f2RHT@tpZlbs `gAWױnۙ=^4I-Av,ݯY_ ݜ~] |IUHD5XFt]r7Do?Jg@8>{z!^l5o3o62;4tvf&V KQBpL/#e}\BDvm eDw{j{XQh`AeðhFFHq_0ֵqb`fq%MCX8,g"ӥf2'&e{Q!ߒz4c[\ykCmII%f~6&B+70F6HӍ 07[FѣN?KȖ2b-IA+dYo YZ-5~[<LSNH~2Z*x/dY7|‚?AeL%uJ< uɠhDZ ,һ__G]A$o6D5s}*Y"Uqkȵx°7=U Gc }9y:򸠘WBvf$ln=sj.yĆi[ȱ5_}$TacrV_\8HRk,#ca"[c8֨{1;%j}`ήU[f?qMbg}gT hݜw+:Qޟ񷱊4;09EEu.[]qc`f񺾠# Ru2+OxߖH]t1 uU@5 ;~+o$tGKkk&[!5˃V&ꌎN үO^CZ!k1d{dD[?tƉ3m4ĞYF ˹xn-&_Lms=|6vBRF?%c2;vI$Tlg$oy17)36V3bo#g̋DZY.CAؼo.}D^V4SjrOZA(~X]0k0#?dށMqiS*oV \_Fԗ0Yߐ"ۮ}#P$REZ3_=pM*OJ0ٮ*ke(+?u%%^ bO&٣ڇKcB~41RgKeRKr"[%8b>ꭌ7k1*]Y#/\Z_dan9.YT u"~[KJSb$:R7]V}[oAJ,?&chd;G(So:Nج/|;L/ΰu0ş?y6l 푐l#U~1[~['J`8P{$ g>e¢8F}N!^1N:yR=NxSǩЗ]V XG +A9Z1R Dmu; -;]2ƁX< 9ڙ>UO9 ]>'cfŀQ7!p ͪD}8ߛ6ZR2OFC,S4f+=7{dDvȸ! "Y,E8p;={gk3o_t\!!"L԰a$qNZd/߃-#CFמ169D'"IU>{6^@H=$l.& y])|mvBH-׺yJAB/a$c)µx=j}?^>h  l ._ Q t`9́&eL@Z%6)\+ E3\u:}W0wp,),籱QK;$,hq˂63vvOj{|sx[vZ5EU8h(ޛD28֦Bv<޹7ʎ†N73r%V>ϒ5͙pb9w6yX!Cxf'K7-`RZ\A~5ox傄MчØjNr.-k3(h=T17el}/Ѿ"Wy(i[vb6z}?mz(cZS*͝쇼"2v9ax"7wW˨z(M ?,eDQJ <"G84듰Yf܃K۹ ckjp.A)AIy팾t1vcPW Ǽ1.T8Ol[n;JPHIrD8?X;XIo8'7.IDiPKEKMTȅ\ΉƒbYhH}l;X+r{ɿW3oqJ M?7FkE'U׭"L|Ef~ #')ޞ7sٯcSWbƦXUn`S 򶟔njǒ]QOC6oejxT!_A =/NiAM=0jM79жع aOU`t=vtb=V|u̵{# e(m& 5:XF No(!c TäWMq+oêjTI:8$F75 BJΓjͭ`O+Bv^,-FIB%؊stB& ٛ3T|/~'_e﹭Q>wA-8JMVgᲬbJP%$ǰY|A*o )neF'cVͥ a\ZwN чy$Zk> TU..u*6&E$fҳ nJ1ݫFh=G#XK -Uql4x>OXV7(>W>KhJv3~Hm?HB~f⇒*Kφ}HMrJ '{;vJŵ lAh=cL@.roɖ@.hk>np  zci\g6%66v-}E(5q+dJu2VI:RR/Vw`T~=jU*[Wlr .c?V G}-sK̍\lUm~g QI>WgQE$HvsYnGqD.AdPF(.ośB _r>ƌF ;ܥT ##*+Wb $/ڭeŋ*~S@ȠrtR85y%{+R(#)lBѰ;BmظiMx'HfaVK00UDq˨ԥ< hy7\^C`ktX+Uƛ_: &.>p`m0V2*T/`ƅ͂2TIUdʒLƝب*BB[d1:zU!Rb#̙3s&Ak"fY|+4r#>]A;δO'@8*킄8Q.ěgHz I2 iO"}$#1蟋׹2xHr0}5g],l|Zzf[U!}ݓ%CK/7/HBt4 q[˙AM$7Pd05!ĶbKb = pN4=fi96I:L΅٧zcX~92"3 zAGcsxm$/2?nt`JSgr@v,O8QE*;U1Ʈp=ֳ? vNy'SWFf$d(b='eU(odƳJNV"l|>Eɢ܃I:2Y< <)Uf4ѱPefG؞AD2kZD_)1'ՃhHhϥKD'>!RfC l%~-9&2Z$DBh5o*W!2i@}ٜY' |sV)FJ8򕫱uɌժmY\hEl/ lv-c+T1Ct5$WӻoS#юm.>1v~t(d$+,RRkJ~挼Rp˭F4 v/!˻}`p^rݬ/7Ui'7X<˵RTgu }/1f]S AY`㴒>7o2^4KS4;2}< ϊد%ho# {p>WҌ5n۲QYVpqr=%Эmو lve#6NΏ3$*l,M^ԇEDz!o|^Rk5xaUcS앖ȫ󻳒W'$/V-r)~$[;eli.Zz^ + pe#6j~k6Hx!Wr }; [&ʹ|Ny@kc A3ҷC9ݢwk OX_9'L7xR\bﮦ2ƟNG;j/nTNS Uy&]w>ǭg|jU@^=|ӛ^Ȥ >O *w\jh-f;֟*Uk!& EmA!ly&ryvw2k6k}U02YjVudo~̺)o6. RVNHG95h XK|j֔!  VRn#)VC̽`yXhݬ]>hĞG-`MߡͲ\tkL.LOhU妞w,=~y>/1iϦl hd 5v&TeU6![٥uQeuH1NO :f01z{=\:T}//ka{ =ǟ0ږ ~Ϙҳ5BdOFp`h=bg-] Nσ kOzB' qQ(ւ3ooPKD^(2穙"N̫<'juգFlᜄ.޿SN]5vs\\=DL7zwFSj l1v39Wpw\;|v`qa3T} ä.RXX.ݼ W.M,#|b J Y!>DFF@^}`B*{1o`ާR1ಛ:[`/?of,wҍ"C_\*؟&iV 6D!ɏgƛ# O|R3F1;[x4 Fw zz}笢9.fو? U gț[ǘ$o '0?VB]k8/9Aےb⼄PBr{)[ iгꤸhOg2\S[b@2sRO"tD7O@@x;)S[Unx1z ]ދӧ/B^z7EJ≖x|cArP۽h=?;Oed;%] r2 YrL~ɺ<*AmWouaĸ>&S9  ˟KJNmf=(~XĦv2)<'(oM Y \-teACvr1;lZU'OJHxuF8;P?9sV!cRY IP @e,X]L9ByWk=;Y!̥tL/8˘&.LIq])4)ᅐ<ރ͚y/5)ёߡxKu2xጄ%31:/C.&|?,{tW6%Doo%52? 8y+|8ckuؔ50]f ~8IpRĭ,/䷅3mL;)>~ɀ;6??fғL G"[-$ʕUI-))Ap6Y‹UƢͼ7o/m{:x\kNj'X/IUI|&}t4^u`iJCcb. 6Kbr,ĞCG!r2o~R*kn dd1,!F~8E~ tgW?2ٞmN;\L9ETqBˀd@[ `aCr>: y=.Wqk\:uBBѥ?FJ+%s麵a+HY->a%PbI?%U!2+,(?dByd/b= 9QMzoKnlub7ac)_`d,u$}qVl& dŖh{(u_S`$<'Q&,`DR9[>!KT''ՁJ6):P=JiʶWOwdbz43/–81! ;66g@W[rpqUKxC) koI9ΧTRD#޿e,BV)gm5c`Cng,5Jl'|D]m"q Eמ͂xsF d?0a;2xq 9 㒃ƪy4.Udq~=KceMp8II؄%v&+ifV)~P*n{D@WWu{U.P"ߩwn8.3¥Uk͗i87PqZ0 XH`a; J$ ic3^%_&A\`5:q&GH:Iݘ|+`VFjE)5nh.:FWh[hS.5>FFoַZA_n'$Cr*zb+PX6} +l-(=ht+YU~HsE.q |o/WV})H%2ˎI(oX5Qp}265_Fx0BrRͨ 5 mByɛ*-Zė8iS4O>Ù)CfƩlR'c+49|Dz*1U=̒*۔Z{&'"˛1BXNnt ߜX͈ϓ94x|Rݔp)sϣeymPJ:&=+ë3HE?w0ӻ Y?p>o)vts&reM:Ge= @qs?;76ЧM2v-9Wto̹G9G\񈄒aD~:_I DOkc4DfvȢٯGy[K()^23㠓C t#Bg ݪ)ȁYxl 룎d,?D>=X"/t)9wnwá s cT"' Ź19E_~1{/}!M~)(8 0Z͸e.b}Hdz"\+7ZIչ栄RC;Cy|=A 9u>$ i^qyLN^mqǛx ŇI(2P:=&Md1#9Lg-u=\}?U8{6b=|330cRGǤ wC#= 9n_(ެ)w U%,,ܠ/ 4\P ђAw-,(k,Al"fW̡hSa+͆!?@MNˆ逬sF=?B{2S=}p}-`󗂚d+&& zUw8~.]pot ݍ." }Mξ]wZl42,#gZ?l-~_BT#jgaUlNd*㇕pfw\ HC|u;>A,{4I1c%r}`Ei'9aNAasOXe#'$&_TRH7_9S7 ՠj|/V胢K'k!t-dlkєYZQlm]:Wm]V\3CVHUkCx/OOn3`>.*;sѕ;yu|fZA}dzŻ) JhN|SKdMaeSFBV%Up6'bʿW&bI,mp^&A:H.v혈7s {3Eڂ{33/3o`"CH?oк˘ : C吧h? K+Ոy'Pw-ZwlIx<ϫָ}9籦 zL͗,=ĉ q&(+5`fl(6<5 kV1gЫF|"rw/_ɇެ#M\뢞\fd#-if?o339ЧAo]T֊cEWv'Wt!rc! (5I{w8w_Y|2|6_O|(#\DYU}eJ,[@hy|-Rsyv|-RbA SJēocSHZpo62Kv>3sukOB2j㏾z4I#|#_qulb2d3QqR=GU"͟; J|'SU{A ;QON ![s_eޡ/y|]t}4;@(ݡ^2m ̮˭ցPZ'ۘ"!ZY-mQʖ SBB2FU;%d gtʿ)^=\i> )9˘JBa?O\j\|fyDI$'NCj7I}l)f2Js=J wYD-'T|Yޓf~0Ҹh=8\͇MdfĬ Kr;" Zoj{~ /Q=qY1Ok!q$OZQHUV SV%6(q}2lf#Y ZO.Udi>.I/gԈP G[2L4~|2ܜZosv޾*zWrQ$)r&;ΠuYqac)}6C \;6$8k0|9e^BW7'Bl.T |+Y.cRQ^&9l Oq[v `~~`ݍA:~ӷs6/ U"ȷGb]_9|۹ lDo|;A_]xs 6SM!pxyLl-'Z⛊I2zq^ %E{%2_rsLtCs/} 9‹'9MŤ*8Y[eΥvW%0ډt`L}E 0\nt.:sz!;8nz|ӬzՖwM歙p\Y?+6!U`^Ml1$9{$NANaS\Ƈ\}Z@Mo+$n?]0G09Ǽt[hc`̇;w9v"SBtMļEx|~b?ĔW54j`u/]9Õ}O0fKN_Y$4%)Nz$TNWpW3;LBњ2Zӽym{1hip+b Uc6&tqα9pIo%KkllԹm/}qƌ0v6(2ľh]4G]->(Z20ߢNP/jPέ]cd,)(!DOvcQen fmǣ>/Υf !db7%GlZŬFε ]_H|" ^[NDJ짌13x{=Nl4PtWvKHé|[pd~[՜%!)Cynl7lKWW[}tҋVVv3$5Orxj̭z&q2I .xAnY@VZDNt]e-*+3PB`qu+ʪ*"*-M+.*'  O9s\/,sDZ2"CWw|G^?-Ҫȟ5b23=9AҨ0?/(ɗHX~2RG/zQ?8.D~fwHNn ӃiGȉpXMzh(F6h`o= 8d=Ͽ9!z>|!`l#@sތW?xdFr4{};?CG`/Џ|)1iB=|x#YW?q{ 7C-ٖ{ikh+-ȥٺR^W8\_E %zǭ0Az|U(wE#n&GNg4%'>loK.!,GZ1FGbw'}8  u@詐ޮj?poxW\ؒ' EL?Wh&(!zJ/•xE3bc&W(ߝF ޙxG.bv./}'#`ǿQy@O=ru0|47[kNf,s1Ѣ Ԡ ͛lORzwM!It^7rRs3=Ɇ4 %@]~ۇh 4[zx:cv 0./QgPbet@Ii=ג&U ^_1[һRúsvSii ˿gG{{^07e᫄/Tj7Jg`D0"( 9-5GQ铖nnڡ[Lz{4rZrcb y)>,ѝ/FF4!;Û4MKMvw6OT[l #_$!J= pUDS& -֔CIHD7]s32F^͞R}~VHç}9T-6H[c,lQW]+sK).C^"d^.}H(ނ.`bXԍ~"J `rJ x N[4S?z젏mgLMFBW+}ɗB,P02~Do=SM5LP]`1€uJ@C{;G ~'w]vʏs 2oXAciv Ѧ1HĶTч49!{;|H5ԡOƘfy{6t}5&+UPCc/sP9)K 'ir36a-qe&_z›?5fb24D+7ϖ {7ބvK/n>D.ŏo|Gg>埂ߗFyZ`ddj۵MՑlxFvD]±ͅead7l>rb^YJeEYs >~;1C1 Kn3hF⁳*niV*3,M큁ݩvN%Npt%=jmQRx쬕,/,Aƙp.!J(&i9XdЇ+; ڱ(Zp&sp]d{G;Řl opg#gz4G Gs]€7 ̫`֦ &[991*_ߨl!.]lcSڎBemp8$&mo'NW fT.w8{ڸ]5 DJJ4eZd-ʿoB*@ҎV?RcUQ+ljV?i rQpVq>"99{C>W7qǜl#$4O%isKr,Ryےz#cQ-h2CEq&Lha|BFŏ8K(L翹<ϷxC?"Pmd+^R'L$?@AйEG3zIL!n#ԧ쉑 A>u"d`+B`s3i̞̯1S<OAB<~ģcΔD}7&g!k>tV2yLt%ޫ_`ZW?Aqhs#/8 !{"!9"Z^qc%C["/5k-~ƛ.Gp:kZER7 LlFOod,~q6fm]}%D;q2Ea c{s&{KǑ]լbl^[w?`kʏZ&pV[wD􆬘sNQ\5HlIȬ@9-& U>v OJmxQpVR~i)܉(oSG=z07=>Xd|_k>5oFї1>jVS0WO['c#{zRҷokcOބݧ5es z|(Qk3a5%oZ~CyⅭb.(V3_ 9[/Q|*r?,qu%D4e pÕ99c]G.%=ΏJk5x:D/'zm J=ׯOJ|: 2Y^Ū)$Z Ujp&"fXAs9ƍ!:h c DCf`DzV?1"ϮVUA@&Hy7H᳠G_0t>F1^Sbn9lV7QU 0(6u%gGdl09VW'RjVy|\`O x2{^N5-@x 1^}ݏ#%ީŬpkM{SI;0SR>CQP!N|_$\FR+u'[|50eYx[WGciv8dPxRYlǛCYMM謔?21鄽,Vmq[D+5 %xjdK^- LyT#h|N] 0~^5w҇a@z抈Me1վbofE q QO0+n_G-遵$#Fd\Obl5zMQ+Ƈ5xZ1=)`~nz1ftp O1fNv~$_ͱ^_KX̓O̡3shxk¸X-ik?Y7KOqLɽb/^@V^pY#1/J? J[yg#JИ+I4kJ w`1K5kD mepB.bpC7gƓ;uY(߳!iVذh, onz[9YNUY}ћ9VІ-5~,9_\ _Ynv'Z*!R] w8N-]4q܋5xʚpJ!:gcCo/Eg,>_CEnpɉJ4X0JݯQ6A_%A ؊#.$lƘ|T,AlV__EzNƉTTHKWV;hFQfPhx4/ E12NVO-A*sw1 <b|$Qfƚ/^DJNsˤw_[Sqv\2kxF>AXy^*!yV6SPrw85i<J`| tjO1XM>{wp~yQLj VUn]^K|JMk9'f\q B,dBo3n~HNThqFDÌ TŚ-]?11]des'7B5FȬ uo]ζEAw*ިuE# @WHkpO{lckHHl լ3_#pTܦG_oH[]'+_#99ܕ]+Fh}Omz D,!E#|DT /Ek9?d qv"JhX&b#B2 t5E|]fA.A[=pOañU;أ+s~RFgb-Pbŋ|vK=oXÜz1ǭS!:&1ҡ):Ojz\?H7釽zt΢rD5ɬ[—A_)zħd{4W&ZɃ0A>%~e>ȫSҺd1\GNdp3>D/x1[29zfռ3Q!LoG0rSD%Rzz- $84q>P5ɘ`KzEPeLӌ:hr>՝/}IƜvg vC/P"[Dޙ=cw^˘s*ѿf_ӱ]wy)v"IeM7c꓂#֐?B d>0?B/˫S,a l Ĭ [ >\!{YJ2lpv^!;D2E]TI~6Hu}4`[jE>Vg|#ؒ^~"p'A9(8SC Za|b犯=::&+ͪq &.!Y(Ep83f-u%6!o|(QNsa&r >;؍ JlˁA@_w j,x/cɮA?O/b2߰\ܢ{A 5?`ŭ%d?ȟ n1]).Ze~8Ƙ_Q(w;E󄀬0cK)st-}o"cP|/5u51yP2a MغQM"cĴ*e!ٳ|z,13/aFؒ6osf WMb8=PvXx3_]*EbVB ;X|`=±){Ώؒ^哲Jqx)m&:SG*o :/?B 1_HlÎ#"-\1+݈]yP6W>G=7eqkzVDL漴>"L5F%l~YӥxōƻWρފ(e? Y`iK]2HC!**i,36 ` 4{8劉?GatHC(/bL &Aʕ?#ˁTj۟]8C j.R#EaF1ve M &X5|FgJ_)br螖xFt$!sBm[P'+ 7-=148K40њNփ,SFGpg4-c(*\xKe4Pn"d9!hx44YΓ CZ-e |Ksb=BL\ d Fk L1t$2P%n8ˋ?pFf^YN>eZ5.Ɍaa- ꭜW07cWb0~ot#f8?c3م͔;~x19KpTMn' Q^ kdh4eA/{rJ pgZlALquq’Q x0/S4B|2&)!#L΅-iBcRMfs{ ό7i Н0fyэnC1Mʄ$YWI}@l`V?U ҽ VVt=uDKܐH+}(V>ݓ|hQ_L>c$Z"zX^u!OȲar=w>e:иJ3ts@eK$AI'EYZP ;s , w-T 8ыl$k=.l%=EF/ lf 6ZM%y |ۇzϿ1Q?G(?1^$i5̷\}5 \ZXtF('VSx룐ʥ_a˅.|7؋n}Cug~ J 7>HPopyz׊q.i C+= >^~P (AB\͘K(_Jg<(cY#ǰ]}1zg8?Pga2BlWo[CtU0V5k2qѬA<{艶s'x[o a 0ۛ(' d*9ka/gw/ɝKejꦾ'sLܰXv_+s~F\Jl2Nv>$Lc]2Bw8p#Hs*=U;8YvOf{ʇAAP+ .WW/ ,[ 6_ >v+O$!z n؞2 ̆5.31iv-O|mtA)|c&Nv3]=߃;E;kS_=߹[Nl+/pqcb1Fidw4b'= 9ZDM71P[=1ҮOw7 e}4^XX*~u5cFVܩ"dǰh7 Dt/X{ ףB`u E59UB:OZ'@ t.2?8^t |>VMؙ'- CUmAa3]<`>A..}H&P彵G&q-|. V뇧}ۃNb>c}h/7ǂ wЃsnt )_-/IGqKnlI2\G=CtpW4d0v[)oxS\p}^όҫ6\QFx'o^og:'&[!~5|Ҹ y4_ r} tY_I}){1FxwԄ]]_I}; AJ&CI'@!rg(O/:ɝw7-Jp5x_w&̊ޮ?tt}ZmYm]c_4KNʂ4{5\VAHDZ f#ߓc'DQ=v?cwčc_X]> #3–#~ eMϊaD? DuaHs?`=1.]}>D~[ovc||k\`1Hx5x~P\"`)olE[=GdlX_2{f YS0H*?2 5{H>y'o笳vbc6.ɕbVݎ~F43ǃPMhM\-+=}U+sͯ_nhe*ɉ۠@h9z&~k J`P淼ݔr'R&~-'rÀ5%@#i_ƬS qrLa4h*f%F6fE.O\M\?)'"pm%rBz(;&/m׋҉b9+ȹItɉ\|XyQ"s剕jGENzq}ZE^)_6ɘ_CO3mTHtz '7Y-v}-Se~x IOK8KdpXE$_4>=ק>m@k^ Mr@'2Y>,|Iۋrc @5TrΆ9.? Xa5CKt_Mhaf&[+%>+G6:gmgaLڜ?]|k?C$Ƌ tr<3G4[Wud^d\,Yc,ev:-0f- i$5 3"=J? ~ +QWQW.*1!sǏsY#l*L|r%pa0l8SLL~`yW+5kvHBu䇺d>(f54r ܨnA..@0ۮ% iP-Ff~ؖ&CN ́9w:|' I/m e9xs $gӧ@2"]ZoϵޢOA.DԵoZo25Ϸ۾ŭ%i{!Բ>B:-{@xܪ@K}jbadh -tm$W ajօ݃-xb~h1yE.lW_z+LTf9^ o:~?] y[̬H#]ЬP]r^7h2d}>Noz9$+Mdo!F8KkA$A2%/.]hC,|ߋS[ cygR3Z`Kr~ddJ5Sc%^qqo^c]" $jJIeD~&ۨ#~S8ڟ8[1Z UTK 5{gpp6BCWLVOdKdsBjӝ: t~҇EY\ΨDhxe RLJQA8ؚ_~1Ӝ Ն V12b[:z;TyDa휝˗'{vliYMKsΞui?2"OwZJCtg3FKm\,is}boccy5g+\ PFbd>]/ M^]]cׇ|x< _Zӷ'!i⼒]ִ' '/vU^pȲm.l56UP?S ӄznCo9MvpbRǵj|ſˀvZum\^ջ|s˔6G5f{i_=lmJw>BIDUZ:;Gn2s 23o!z`~%'yoq3'r{.|>;KG/,^􉄰]n|}tU/WiP7HZ*\_݃ؒ꛰]]p#4|>zк>",ݓ1یs4H] u ?x|q!xriQA7*PDeA7P̎\ֵu%(XB#' E`#`On+A^l8EXcu RI +uX0i\Ӈ`)ڰ;}6uz:NDDǼeZ~sC0~\]~>8X 聼ؤzpLߝ? 6i{Fr¶tgp}ʷf.mpl%J3FJh%* ?BAtq%9F:8SY}š9w- kh7crC4sXF ;ˇHD>J&+9\_~dMZ oO78i!?0nȣGktĚf[ ydJ{瘫=Ryt H#jexsp38Rep٠#ʋ[4F7? LEalPNB{ş0ǖG"$3t&Z5\uvGpAW.d±|/aX bWBr7o=)VA^2cF+Դ׋ȣ.QƢ?4 5|sȃXԞ! ʒ1HN.9Zy^; }">mC!rR>.>ϊCrclvϘ ΟSy(Cl_;zK;%0Pr/7?Ο[{+C%m4[%ktcb?^1h71W̫lR1N%;&_6tl%A q!^2 'ͷhHNHN> nc99Z7YcI_=˪JЖ7|UsqB~)a ~kd_2 d#=te ?Ǐn9A7:V1v\hec!޷]w\SEJT6S0g Jf)/5*HlY"d#pn q{9oʑ#ˬ:`qG^5.なz/L~U̕2Sx ?g@Fj7)CjN6ۂ̍B8_#?zJp|_Xp1$|B8E'K(҂3ĉ=Ϗl8_ɧvrˢz^^~=K24:&/cs2"%^Dt3@4rȤHKENJͶD}~ 5^#֯eLζ}Pˎ>VQq} 8imP {Sp$צ7IGAY}ZG-QӰ]>#ޠؖ~\r>Hng":|w`CB+.@>D/MyEHG&ؐFh=n:.\_"F"cte_۰FNHnp<+Ϳ[V_u~l׻a W>ZUvQz7`+Y9ѕwהȲ2пʱH34 @l V,?ԇpM>ނN7dzѡN%HNU"B J X6AIwHLH.H9`r$,R0k1G e&Xw0tQ',̮Vir id7[j)䌬8{$ 5bī`;ZYtTozsO]=nYe8ZEx{YA;DzRh>ЕA = +<o1R;\hخ^ЇyTp陆IkY_ }uţ8>x@V(lf^ xe,eTsa?t==<9vz۳;D/ZT?LXEA :j'sYwNg6bxOCN:{~#=rX(wx?k[(^PSp#AA f?@FaFGΘKR~n"Mn ga.Nv/:]U}(khǕ Lm"3=Bή}4kdx!Tgռj]퉮jj`+5^f2w 1v:rydTr7f- sH*?%SF|#Os>2L[ճDbzRDiu3;@ #zSu-(3яrPQ͏pCF*k??rlSe(i4i\̘9Y!1M9}3.Ћk̖Z%n4;en74d;߇Cm3[ѓo1kp1҅eFQx(R嘼yKzz_k8NД s$c/x^Q7IҤe]B)_D3N'+%ڜo)}XA{~жzq{]>1#Ҟ=4Mx^#dPr^HR2;`Xsڿx GzAZ5ݏlex!PivQr.i\(2_{C^m\3Qr!} $-~sވYUJ6pu .՞ Y:e|'(ݱbW&hz7v9hrP؝W] G1E*o-'饱J'7V'[8tc+4|ؚT⌬KvC_hP#.Mԗ߽Ț\VH1y'6gdĂ ϩ#0cb- D}|㚯r ^WdZ;[[-¶aw mz22lK_WoC7sfx`T/ yg:X2lX0t!/R8(蜥yRJ:5r8}Q[኱U=?cii~,.o"ͮ:+A{/kiZ{@n+'bkp-~Dh'!0> P!=qhBf=E1gg(5kCyqlw` .y)"Y<9tYg }4o S#L:fAr?xC-|v{)T:E +"ێL13;12Oc,^ Ě_v]",?+ydy{"Q-`p#[$*6`&_aU)‹-:eSH#NFΆGy!Y86. f9\7 Nӿ4 BԆRk(H]E5Ch\Ff(S.}1wYnqYJW+iI獨UfD%bAy\(̜oD#uU[OP|91Q@;@D F ]# 6nlWt#gAm9I`'i pWr[|_VSPoWE!?%N21p^8\ؖ 4AQMpN$dz(3ƃqtDvRm^ܲշ&~ԥ70CzN7d]lz}X*_ FldL_;y[ƀpkC&;6' ]}ci!W}hh-{.p=ʍɞp*jurW dRNa3{֡&qeq jǼsʜ}9$UL%ߩM3yByP2ӳ?S.;ۇ=7}!r!FW{n=JbzlrΎO(?f+z&lq;;THJ^h2etEL%-{݋!4g&pjnAN->\ßW%38ܩy-."IaFڌV/6/\o]Q91BʫU!q 1ns/;ơ"k{ݵvKe)RhF*ۍ|>9ӡǑ.NqI}ūJ>'VےGaG19eqX<0?szL=tL-95Se|7zukٲ]Ly#f1t1LOpbwEZ&f;o_."sȤEqZoІ8ɌGחGQWg΄ ѠQ$`ZA@:h !Q\.WgJۮ *o=Vw7I#r5H ~ f^=9[r [If?:7`j!_)I0QsR+DqOUԮ5AbBo[NbϓZI/i\+Vz@׻ Y0bܓV{}̿Hh9 ކfdLTlKriwIЖA\L|{O8@@_~-br޷m6hK2$J }@8f~HŜp'fEy]N |W7ߋTf H _!TiMMꅺtf˄馯T wU_%;u >kTb˧׮f@Btlj1UCfÝBǡ+GR|`OOId %Xh@^A`E] 袑)_ LAo`7,{M tK .bouEѯofRUe~uk*֞&{UN \iu#}E gaVX?_D\p`m&C8$t'V3ǃhpRf)"JdO^_٨%i3 дWaNRȈ}9d Υd istCn^i kx߾}S~RxPOly^r)ӡ%Nc~lYR 'рqa;&ڡ|UK CL/.H?ԮPH^1op`|SloS}˪w!A5UR/4B!vYl-Cm40u(ħv-V1kt|f-j;"tRM]U)SիE$A拿R|q*e*b ƭ7|]ψ')GёR-D<`ZeաGA{H“tqPԿ7rWd4Jn&&P@b񐫠}h2`*ʕ\i~yϙA)\ oZFfS6,?mNdV.[|Vu^JZI>-$!w,qT솦v/GعA?on#4@@"e(#VJt@s55^O`b̌ӡ9I[y4IJo!4G ௽:9AbYhfhvmfv` _c+4̋z?Zo73My~i*!t½$)XI/户ۙ6I`wxRmk"7t8& $GmR _JÑ/PQ7P|7TTCTh0٘,)`-,zZVZb<<N՘1R5^h}Mqey7J4 4>nRTLV!DA =ـ铍's29ld]s ƦhN12Uz NWkc|v8ʂ&do UO7(w::+2 ]-%ᚯxK d |4mS'u=L[|//v s#>1t6KCG 6yK;_"hAG/ hvB%9LO?QHlPCCyCCs 1@NBR>}<ÞGT@+@!ICNLćQZSw-M`<%-o&H{U˅ ι.3/|}4 ;S(73uۯԜ&Cw 㹊* &Hwx0LUI ^$ۓ7Nزrn`:Mčhd.u9 lb=޹n@bSFNq=h=n.A3P~= $Z;8@w [S1Bu^c\ҖJǕeJX%VJ?ⶪu'ml-U?*?BI)t5 0z$#xꃃh愞̱4Qǀg6qsD?B`-zG ~Q_qIE-۪}TCnBMCSy.hv  51GCNVʒ+H)C Bm0tǡ/\Q"On.+t(-BPgA#2䖝 %WQ$Fq+(3%2= V/)cdj$ij1)(xo9 KbI}l>!d# f"z ILhd\F˞5= [NTA0hږ1hxEnnzC=,5:xB4m;h#rKZW;9jʶa@ݪQ Cǵ~-~e#Ntb.&D鸄ӿV]?RSӅRhh?5{ݹ4!C=ROӍ_khp$hcӇ 3irDnV/[|\5&e(:mdH;)R [FSOS%F6Ի{HCx)2_f͍Q\Ҁ+jD~fuU¦٪.^ 7)tZ&oh$,vrVoz5=,R1¼iUdJ$:J$dQ4GṯQXYZTw2%X2?ϱi"4c4( /J2сJ1`Y{15vk}< xmSV~lvv [ im/P/~1ܢQtFy$>\fZ(f0K.fq[-&I4UB<-~TZrt+K2(8= PznF|#2G̵d nTdl^%>@PfB*GbQ8\Ԅ: @-H2;:9£v0PL#( r;ۃrzb P#x)*$jtEhEUQ7/P^y"߱x>_'L앱\|^=H6 ǻOퟓ`ٕ̓SG xh.`ӈQwxn]#md`r$.S#DO ֗sHPG Ҹ)n8QO${$ЗK@<8刾<g19vWK|qoZ,,/繹>o$ D6:i ;A)95G CKӯ4Al?S*ߢ˷̡9v+XWdSCǛy;O4-&$?%1(O|3X]'H0~;MY9)aW/~ILUߤ/@ZC_>z5<@7IS*OzB@X Śn.ޗib\yl4H=SޠL P.y}< "DlgBf*y 3h=fh;WԗXX%da"D{V]i.S"{d5 +B9I -4Ffg']&n{:è9>Fmzz /QH 2bZ]g^'|z~'iϋ@)QfԌKOv'lWcF WtM;NYDq~SL׳lxfS>X)Pb~ԪLg\9]A3kl6S$H\\.!KJͬ-w> 3{"jt46Np0 H(4ϱ]і x~ a(67 аσsmrc`ޝ6hV >=Ah=cx2e {!~78s؝\ ^S vì;[*'}ZFn3}AgF+泹 b`o{<+~ׇyvw5 yѼaklzRiP?/TʑxoXQOb=4ߦ5_hy A;Zq x mJnPRqSԯ>]>s])of 7kϡNZ;.]qCnA~㒢7܋ZRVrAn9_]9C?` :H(-?ݮH5{TtHE(e;9#>(&ǦmH#X/A`zAU޼;{v}ֵu81,A顈fwhR\1N,vŚx0J^mIkۊ{Z߲+ƛ%/9 C݄' ]}_bn 9{`f.B!ȩ5sQ戗y/wMt(dG>2eR:C8~cxޯ Y ~ AHTFKӂK8wqk-f }73g=?NMEQ̂ ea|t.LsPQa _BY~UW6=]X48~~zl )z!1Kw+8H@TNY]idoL/gA\AeUZ"n-xVP`Iś|l! r3j0&8j*6/w&,`?w@3eIZg$u-K!?DDcM 3 qQ':-UxH&>D [#6-C]r%(E:&ccmBޫlIoq,l^)ul}x$:JŽdo'WP° FI6p3)RPʛ`7wU|@0'djA'lG 5Z(`hf 7G\>7ڽaÝV@ I?vдݿ)B#E"tOqi_A6b,WμRG\L]N.hF>ܩdG|0B(Xl/`qC\xS߾ ͬJ]:z^^^YNj™ݴqeC+tp"KBQv Mthx,˜n 9Y q$yrS;#O>Cf'lL #ù>?D_ql4灈 l {q}q𘔞ʴ}m ? iī&ZDp9߇BJ *ǿԛr5)Ok2h7 w9c#1LO+F@VĚ Q<@QiSnBL8VhZ۹ \Ȕ G^n/BR\]".VPUrVW Qjwڵꮟ7`+Su"#P~8npVRԛ}3V&h|0ʝFAz,R3;Ahk=zJP+DL:V͹܌ڊ)N>:43 &jnhf|*Fy5GHl3hf-)k#@'ak3eua@ӹ@-èNUIHVuI ZTM9D׾xL_eLj52ԆLWS4~k܌߸BYNY(Jះ͉결$c1Fȵ,eV{_&tLu v`aZS <t9A=h&`d T%Y<0]dJ]P'1||Ygż$uǗ3+hzڤΘjgҮܴY 1z@cx1DG ; Y̏ꗭ}zhΖB7g;nwU͡2dR۔0  ;,mddCݓ x} }Z43\S.<2 G WduۙmrYRӑkzĉ`'W`|\n CϔR`ڎNgٜD' ~sW|wڃ]f%4.,+A 'i6=x{Fw>C&⫑XEB)PEt/%o\Pe#8,!׉zWF+w)o;^S63t񾜎7ٓv/ӁPݙ AMw&H*'ǙWOT \̊6 _!srxv+CJ S ?0 rܙ ᳫlE{!DbiB< /h7 > MR;@>ܙ ^iB |H؃OfZp5= *{Փ_"aOt ޛW1 iB./hFoOCJςn_ޑ x;+Cft@R;GuZ 26`(y%-#IϮv\s}$5Tyώfڭ{LN?DѢH w3.)׷m[S(P!]29 w/6ޣ`wU*x=qxZ=m_3VHBpNRv)؂c*=U^'4h@KExI-Ok|nƗiev6>)̀\^8C!8Sm؎nBtbYQ'XQ~zuUM=Go)^p-GF E:߄J.0tĪ1!d V\`fx̀!}esQDnxV(CN4ѩ*b\֗l@cCA`QD9WnK@NW e\zmXf A]y:S}7S:c'oO4U~\r C()<2J\~PFul BTԸLT䫄($Bk2/F즲r ]ƳX^ NVPf])/6ϼ@1#W  i4)iN\,(ş8CC;>|RCyoF$ &(F5ngwRE M2I{`wo/"{+bZ3#Hb'ꯓVhhse1S_fm}AG!^qt]pԇRJ|k"nl_(/7='Aӻa;  0JNb8MћI'+z g0͌ ,.>-A`*$M 0/ej,Tncj(;ܢ؍95A2TDL+M!;("ʶhQrܚ E:qhG*J" -4ʢ(J Q?:Yvϸw'>'end܌=eNp2鑂Xn;D'e!~C) brQzJbxDUo D{=*q.\7գ[/^0B=EnftQDAUm#S:f?/FK&Ȍ9$⥕7Rlg |x5JmNZc_ fn.⑃h$xZdx}c=V^e~&Y6ʔ)'_c/ Iu"t!`z?D4 |Eb0SQVh?D)%hھlxC334р~;c+> wbi;ڻ~ngk?IT*V> [f#5(9O)IpMWEgP7b0f:@// >Siijgggh Pv1k#OK|.9ڽX _S{)bwnc}~H_B*ze+ɷ'V*ڏw~`8"lL6eZJK RB}տkNϸm([SgTy573 Ae@ۀ0oCQrN4Mҽɢ^VI7>G?[o뚏·v@;:xz|o&H)X$GvYɔ`z$zGkihY"??mXb.yl|<Sp,wD; 2я(ckn#m{#)Cn+!D% h>+ti|Ke/7;DQsYtZpë́Xeꭖ| N?7.zVO&rcu(̜y,TS*A<` ‘`?Ga+ajF>0 q i9œd/b4eZu8z+=z'{"Bår.kjeh+gn)QÑUƤl&-=-I O竖$7ˡYФfTw!-bG/׳n/g$!v)|(ϸзzEo^Kʚչ X;Rp*>!K5oARjLp4/(#\03MJfzEP$t|LI2;uJf`hRU|5x_w >J3\ N[ܢKXB7ޔl^Ys񙪓t|&V<_bAA{W#o4\ . i=~( e( P*e_e30nwT)]$=y&P7ATCU# 6mBHu.[h;}ޓY=/,vr|<"G'$2=—YAW鍏):nnL f|t?ڇNJճ%LY>[$g>-k}RZKk[IBKo}~r]TR/CӻoW.P;ˡ7VQSLk}6ʹ|S"GY^r+z9^%HblvI{CH>K$Ǎn!z%XsAf wf&(g;R`;˜h߷OhMh/p(`e.fE!V+PD mG,j({.?Q3RL#VB4cRT=YFp+W~sE7x;4o6QhX7ߎZHZ u'S26!&Z$DymTV)&QVeL<3[싗bZ8)~aqQɬ,SiMF&^f2R f9;)Ko3=MQW|7u1rd9/GNCShWяoW)m~ϥtÿ]-ŪQUa9hzW@E/-߄_-oQٯpJoW DF[7c9݄ (9 #퀉4xҩZLWGEsٛB/&{ ]֠Mi#)̿-#A4z/Nc;&w{ D럑 E1_yWRI)u5te?dRxmfsgK7z=NAWzќ;F"1<NIsq0J W5*ܪ1KhjTfW(ٰa3cl⶝wSBX7Uy[f0f6|>v˺Fs]{ԝUq[:Z'LXML ÓUtje\e; VCӶiiမq6iC<6=AgAY߫-dxjO O- D<>ۙ< PpO*4vɥ QR8tQWP#G/w ա?RoA~{KTu **7z- П-v; H9Y%E?6v`1+SѣA[Tli\@pQBTc4@n!.@{jf5̀(-E5)ߪE(A\SQrDRfܝƵȞnB(]<'Cҩ\c(_"sǨivf6l؎9Z}_b;F0V)?wJ]S;QNORJ)|vPBGʋiOmXO/LetB´Qf=v,\M[! L|*0EL(8%}(hY(gUC (sS  Y34m>hEZQݜ(G:vJp>BNośIǫe$b>E݇ iPIFڥLt/,6RqI)U+S)_0"&@MK>:962)SxW>:|I؆2hݶov^/hUy?2Z&:g43*7)@ti?g,J?mbx =gg5˳)VIg\hjtit ޙ>&P1Jg dg"9 \?d:讄^U-%BX[2Z]4fXlOG?>SHS@ҟqڂ|hz8Xy{Rg"Z/\%yX#5 ^ .DTtU:PH# mpD; bw shXӉXA1:R_LYK,Yo+GqT˃ G Zg HD `}BɢNepAv]XTMX^ԥDTiU,>D#ZBgޡX/_k d[#ۆA \)ġeY@DZzY_ix;.I{U~BT'ȽUilaW~!jN?jb'H* SBzs04PEtۭt/b#V` Ok.mbJ]#,3E bJ fIΣ9UJQ(br@0'cRO!\4@2ENACRB™Q=%ӗW^"DSc7[j!f3+M_uBؓN.&z8'@W)[rJswLm~`^*|n*!7YآvwQxK7!E,k#ϪPϰE(+Mݜ fwαۚ 1 |oZ|% &nb~,1+CO){Us> F5nI{0 tTkUNtEhPȇpہ6HnW<nV kݩD'XmhB:v]ߤ-8.`@ s Q`-0x\E;i G{v3̣mÆ4Ƭ4mL"! pntehn?0q hi .7Vf+CV|&gCPM'Ynh-j:aѵ쓉et!b Niu s7=Ir%SB?M[Kgڝ? ORP\$& f@M`1]!*BIbNSĵ/}z0J 1#JN49>2]Ę)(Ao4 *e2y%%7tB1Ik&s qibS !P#/}ĘV?BzhL0 ,L!J{nQ9TiC 1p D4+*Il֙\5dSaOz֟0 /ӫ]$|I??|Vʾ0fTLɡ0MCr*|R jDeEx }9Ś器+깸8CEwz"[֥x_X [:쇁FCt_ -\XSMU=+ZT@ Й2_7Vu6cB[7ɝIݔ%xrޙeN ~ǼqdgN٭V}@ BvuQ+.ѝI[Un:z6|`gǵ9z_7 c# ޑ;*1_WɷLof]UPOVޤ4Yv2M5fUϴGA|hCYA^7˄Lm,v?ń\H i[p4KL 0<.v[M9Yx'Gs#cCR_tϸOLHfxPyp't#n,o]dX+g:Heࣟ< SGALZA`ϸG]$`z_itk;f Vȍn|ИiΤ9ܢHspoBwf -i+եrER@XhH1ũ1תxz6Z4GM$ pI-w}`H8[|a=Ma6n|V.G==?T.kw.n/OX)AM[3{Gbxuf$.f Bpʻgv9lL,Ue/1^_UC $c$wrJ)S![åtz;C142z;~Ư\ƴt4ޅb^1H40&Tfo@6ژ?X#+{&ek?`A}B?f_?Jv<eoxĞTHNJv>!l+qM״`8.3w+)>K.DFByMvJwlzpij! }έAE2ҌQ] eaMu! FV:z ˙{鋤6mgbS}):[0}Ԩ/1F_|+ܡ7Jf*o*wc } xBY<}'!E I!Hzϭ.iU]~٪e+& 磮|LY1*2KW9)?޿nMaׯaG1o}~Cn(]~jzXc r%w:FEn9iS%g1ӁH"Ui ~X%o-1E1thMt?;c[R=jT~LM % x-؛ԳNSCc;^@H,]DؽE oԿZ]PERдb{5bQ|C712:维~W.u& Vfy棊G/BH` +MLea~8Ӻ.8FnApi f@1U!H( !mDruc^xJ<`xV tO46btmڵ$,"#.R WoCK9?#g(8zBa5XrKxվ}M+ga7[b-|B@fĎtlo%hx,4)s06Eӡ[]`;_gGޝDͿI= KGpф69 Z9ieFV Q=Lykpì#yv_ڳz-[7]"1׵i ?mej`;!k̠+]$~D'h%\zT}rEcL1f}Z‹\x1+Zu+4K e6e$H|>&C*4Saese :guaq\fhzg{.JIHchzGHA&$k}˺ƲQxG9+!uH2 #jv`pWuh_Eο lΖt:'PHm^ړf {/w;_ڽ'.¶61teKR^r;3ƋAhFBH0 G "脂x p{0+ M$\Tl#dꐵ96OQ(z{(Mz+y66ռf OT4/HCƍ#bHHZYU3ӂ:%sXD#bcpâ?v/vKX%ņngĂ@1J~'s؁Pg +u1,lȷo7=~h1gŒQۨs߬w G5FF^H͡^S8EF-F<@8ҨxM:V^Βrn}k":BYZ =?b֩m؞LAe;eiVf7 d~_FHy@+H7!z*]%5\c}-ۙRh"X'v nN;w&2R poP Lm/3Wl[ow^b#9:)>?wYY·B 9IG/sSk'Mpw:>h`eؿف5 =pѠQ fȌ"e]qQDqab(EӞ((ℐx!BC$4I{Ou^H-ޤT8 }P #zƔ՟ 7Ah"-+g^%a)Q{8>^|^uעWg<߰AE2FSKKpNKE3b]$eteَD [gSCFxvb U."Ş0R^+c;pt;e.mkAu1ɭ~Ns=.l͜g?yJ{'3&^35}l"y}6j?4Z,`>Vp 6BʭsF~9-F1T1#k?RW䱵B`;9v.އc]g9|v9۾ةn35gV|l/vJ֮rhyS.դDt^y e -8 Д{6Ͱe2S t#"=Nj_xDi,SxPx@vUE:sE7yt9OA!%OSӻRO_4O[< gc:BMԪj}"\'8:)qЊ|bBLD[3Y|xt"60'P ʈӆLa̻bA1R2>a=i>g~^3h"iyR>e꣎M륬NFL)Ӯ`U~ց*rs'/LĔ@{zZ;u=J*-`d]h[=ռV6.6GLi@Ķ]Yj60W%q{y;c)Th:?g"ŏC뇺G.$~WݓݥzNvoF(쎌Po{a8/A:ԙRVWz|ڼb1A>3_DH?8Q]|߆۲(btdžژ1 Ȱ+oCRiɯ 1hlLɗ(x(o^%o7 O҉Fzj石ZŃݓb99,UlUz5>ye[BS=kЋk<6&@Nup1@y+:N5>P)KPUn (KOcf,fdg 0 RQ۠,Jտ/_WJ9XPG6y2eiMLoj`,2'WGp {uI)_83 3Ar>/ް&/Os ov8p;Mѥo ܇9JPfm6?^&#acZ="5-YoQl_yi Xi.rXkUy5+uþ뛃(۾cuss@o_>2[@AxGIoz;ICGŗˈ6XpI%>$5Ce-|w#!`z=bN|1-͎4xpl̗r"}g8ְ96ovK^yŒ|y˱~}-[o5W>=5^Q6ʙ!f=5 “".ks)-#'R#aӟ=&$6;ƨcGyjr-cyjgCN?lݱ?KRvM^<"?.^*=%RRNS#t44DLdg>fFA0TRO2~=^F_:#s/\%473BFD Pb9:G{Oɴ|qR hK `)=/#'v̒v|ET#ƌ,5@jU*Z3]]DuqlG('+7 %;8h[?眃@heAYdoZyXM1N||؜1x).YhXNIj߶jv]8lscZG߾Xꏶ{&xp\0;_䋿#4f(nwŋ10Ne΀}i @g>KvZ xR !z ,nX5bjj.MBUe%;2uogɩ0oj.Oޒ?rr2:fNl$b Wp&qU7b|$L]*D[w[p# # MucPe[gqP#YVޠ7G8^V3`r Oft76^8s 2EG؍AG-,H6^9fO`,;ʍ!uqʃMcT{qrhNg3cQQz2?hAcǸm;)qة+Yҩ)t[AV6ָ81b"9rf'fɚxfkJ$H K$H\o- bke'D9Cl&:@X)3BD(q CYASYhA}tr >I7 !åWZMgm(#\v npi 2FdHMҙuӫz+7)DusJ}nak*10JK_?nN|p6=՞ڵ6 "Cσ堚[==*Ӄ kL6nLDD$<0|u DWsV)##^1#݉-ZGcˈB4:mY+__RW^ h[hRUEbhmBF g+se 7\1eDx,7bJv}g ?$ȫx>P@s?es>0`<&>p>R7hs pp#c)o`,5M^z>]oDgWf2'Ά ROB_Ƌbt7D)Gy2viDXjIƔr}臯1:qjITs;6uD}T8"'ƙ^i )|Mg"Hj?3x-;e,M6pP".899wRgv[.y KXlplHQ:kj{]D߰[L9>l 1=|b7f9&Dج u u'P>a}fs[,H~i>ѿJQCuS*rL'lH{wHA+r0bz^trͿ QlJ %&0Cʔ\(6F-fլM3c0i:%Q\sb5!R'`&ywU9=/XLNbӗ  _!rČ3z"j-ʉGe"UŸ63XCCfc Qo4/l7TDQ.6}ɢOZW%&~U$t:bݼu/B \~oZp8Ev01nQQiz/|&@csם]Q9[(];>abm=b}cF|bOQ1DcQ5UX\i~4'6DLCBDbe %(O"}-n撲Dn17HoeJszJ|!$Wo"+֌`z[Eք` 8!1KTzi=(N?+5(x6ݓsfׅɴXEȡ \ O|q4{&;6w\K\q]%fmYDD-jΏiӛ' XN3&4,2B1R}p,1Y D]ԉ.xfG^LҼ5 皝^uCsчcnj+ ivŦg`lObQy '羲`#`: (pw]n0De:sMϢK{@-Ɛ&zz-J|"cLoy ߊ܉qebt 6o|+#z atg|n9ؽ[3œZVaͻr]G#;,›Xj|hWl].P0%:oA_B:o^ SԯT%,"r<foq9^ݴ ajC6}sߊvM6/^}? m3кIMzIR}`nM?Z,Ցe)~uO%6]VoYE n[. Y}8J"A՝$ꢹ֞gqڑ< N}=s=%幁F]G}"]R/gs&_K(}/hʼՆ>2.aNЋ?]'J$Q7琷 캦ah,isi\c]ho&7$Ab%DcqUBZM&@##tϡ_Z`0'X|P<3SN^ջڲ}hVJ8҈c[כJo.xWEN-T3ҙ_D 6D!>#p! h. RM㼝YʹRM;yZ 0I&`/s@hZD:v?aE_饔3=gp "{ph(Z-]SSN~y/]1UVcZ[6gzO(8"`:TCJ4UD O}.#.}v缏b<H5jrFg}Vx'N]+,g0>Zb ћ6(۱鿭*[=G?j2";y a%M[,gIʽ"DT}~wK!,|q.Kqc !7Wg% orH3&'xb?cSyjҹ1kJ˜Q5IbQ96=ZObӝ(zBg3Cl^'7g̒h޷ yĬIMW^ y;~f[ Y@0].m#z#ꉐ8H+,v&i {?GGǘG)A/~GL%f7 $B1Ս ][8~DuCyJb'1cwI{t6|mOzȈU9wȩArNXM,rN4s^z":@_[;1DǾrHoR+CFnE F)X.>׭@XڨmU# zȞ9 >#SX@o}"xK_[agZ, 67<TK(q{o{DlÆ0!m3M\ͺ0nZNy&kǻL)u燍͵bBMgKX Ko[ڢ]`${seT9Xx*&kAuzZct'c 'lw x5;xL4 \oahдZ4pad7pӧ/t z^0R5n.sVXΊ30+-| ُz úĨbgi /՛\sږ//TlAoU]Hww/ǦO5A̓P3(QkQIeRyohN4YYO'OB3.;"4 d?]F7C]F_lb"f'I7$ލr\#<]FW1a}ΑQjt+:JS [)_A9_vawGa'0뾃).#f&&i#?_kXl]cI- UC ʫ \`V5JU 6٥)YRKBr;1>|&ઐKQ(BZEᬄ }A5Jw8:ή)?[eM+l4g'ܴkRlO/[\"t'AMj}3889/=~NgTM_ѴJy lSaJb;"3bsj~:J߯X*,JD|` >{ 4 bD?A5gp r~ǩ :> .8.8arS].za $P:ܭAh,GF6TQIF%U#D^!*nZnjl扖+l#fH| )=fg9X8Gwi:#68",ر<1H#NvZf!ݿLIg$gpm8b]5C֞#^L?[e:t3X|ef["8by;Ɉ[v!8 ]z~;bSzF\S#c:[$w<6[Ȩ(͍5A &6&ܥK \RB|mXl-e .Dnd7u`1oٍe2FHX^"?@՟Ձ\EBf z"nZ"] ?&ERִulPu'J!HPʛ6P0'BUk륪ۭueN L>vPq[3܅YUTw]L-4ߊ''MY&M&Nԛx^1};l)Kbl2o/pm"jIG"{뿜ĉY^Fw{bxy@}{L;=cUpl܀L+)moB'6:&v5 kuR-em]|NuP*2#;,S-ѾmU៘ o8J=U8t٤2"MWq  gP{w0$sfs:D(Qjj7щ&dɈ'HFLGY2"(exY8;3mDsPhp0k94)HRup-h6{b7Uwo@gli.jvGykarYP.Ά8ȥ.Xr58Ѡ TR9q~uib_mh1#7I,F։s9 =zAjIB;Bކؐ>P2[?bHTb' \Zt+ޝak,f2Zʸֶ Y JG(U 2xNT}ze%, մGś38 DАҪRʮK|4qO@*68NԮA7q%7=jaԓU 0 𧻓HO}g_b߃d#&<\re Be V3jS߲ m#c2/][(,^\k;q}]bW# 9wZ+B)xb1^!~0F˨j 6cWq9xù --mWA< *;JSZUW`1ӟq"^ϱڴ'S;>8&?r&-49X);L/bmFؼnd3#na0deD ,nhwYaq+; pbqOF-@c@1Vem#hpi$ɮ8o/ˆ]{8yDf%QJ܍tU߅ݰb5ȃ6pK\"vhU.}mP<= SP4\ԗ2p4+MQolea"%c +zN-aV J?ZF9A+B}&g+k<':*Lv!̪GxHcniw+ץ3;ŧx(B I/,,::`Y*ɔWe%Qkw R3MhZarj^VtkWՈ62{ځjBhx:mRM= G̾9"$?L+> lr5j?g g& u$P\MZM%PSĤ.>D9^m3o|jIz킋XdyM'mߧU(׾UnCZx4QCdhur*Hs 6**gg--E5U8bb`Өr5?g"@̂ U8\0N۶cD ǵҗdȏoBNqAAUxOr'Ǽ֣xj8\k_XbȫôI>r/wKsPww`Cz]N{Si\ݰb|߳:[X+,zO_KM#dDw-X|DBޝBaS|Kf7ӉbCѮA)0ry O+8rɑ6DH#a1ة}+܅tuҿ+c\@KeF anw&շ)ćeͻZmy;ZlDMf Wwc35CG@I8_8Wޱ|3v/͵:!7/|we]nD]'tBx yWF6w~;&Ԯt]Vxlu BF k >oNWߕEpL:a;Q:©De+" %<y p 2xMA>)!8'Q޵"xsbޕQCu NgУ|WF ҷd.K#=bdP@T瀺7bю^?eJ]((Ta6R֞HX*:y`H } *SzQBMtK_Bj3Cjn Dk; *`/Jw[@;j"n\v}fѿ!rH͠:j7)~YsOo+.l@(qXTD_/8\OG>XIU]bFGxA2$'uJ7xltԦ3JU6KT\13B|"p8Ke$PvSܼ)xNԝp"oMaR$GljaKԡ\WNlw9AuX-]JUQƔiʺC'{Ea |SпtWgW!euU +?~BBLSA`R^;CG)ՁQyAr: ?ǂ=$~D(|k"H)gei+}o%Pl 9X1*%jց?1P{sGjndL&ȃ]P`c9#?߅Ɂ(Ln77@n.7öM ;{ȃy!y)a[} |QKx' V FCM)ME]dtJBuZbV?[#<țe/tpup׋ c֡<"0(=@yni8*H3']of,i 1[!"OOi>f$qؔ2œXĥzgȶsP6F|Q7ZᮺTy8\2~ǕY缫 .n Bg|CF̵k-f>lba}HO%9>fڛvuofn# kl<^6"wpy|HaYs^^*62[:yҶǺ ֫ݐT-UB%3g2^[ssY@Xх뎐.L ,z!W8 o*#1Ŧu=Q@(oz߂0X9BҖ:( X`lm &p 1D#72ύM a1"jD2zЋXaM8HNWf 3ځ7# K>mJ˝n EVvꧮVsv=22Q=6B`&je Ʒ;@~l+æA7[ Ji#j\C᥶IһxM8Qeׄ lՑlʏ=0%|2,@ņ?,!%>){^E)0pW4p8",ypAmՅxR*?8 r 7IŌA%<E(Hn$U`UBl\qAsYwgT c/5ΛlRɨH{X~YF`l#^l\Vik2JXTPP=!ȭ$9޳զWEǽ/:4k0 c< C?1Ń {1ƑNȈ"z]TsA ] #77&rM0Ge [0ѾH7P5FϏ7 u|ƥj.&rU=l2%AC1HZӭ^>GXX^-oY,%s6o0LBw7\ʥ9AB0K%LN % /0xXMg9qHo#t-h.r"Zs*6@bMڮny+3G'rMtAѝpx\ 80PUL:s*2qq"ɉ\600!A5}5AW)Fƹ_ [-{07Tc0NJ$#T-X#wiO$jcV@q0Gq6EڱM3/7J8{lcRz܉Pc5*@H&u Pep { qhT@頄胯qե>BHhXyZ,AnM{.AjtHV~Y",D$ ^yWIG'NVi`|lC%C3:#cSÊ #^d+\;%^v +4%yv۟G6sMm>V`;Z¤ (gؚ}˦n4Y٘| GL`up"F*d݈5Éal59(>1Z z0fGr_ƒ7 "a&?P _q"9Me.M F|O9i3&j []V[Ã9}a(tEz^ 誄 =W|`ǚ [Vc=. )iv]<( )A! 뇍Jsf~|r?\4a=ouNd >8>xX&d"09 d}s } 5<8,=/B"W%k{yVŰCCRxZ7RI@rϸ8&|AU%ǗR_qx;"Y|vn|g |a?I9bėdd\X]@&8H%*F4K(^s ohya[L\cT+xB ^oZ%Hc[)uN Dq'TDm(WWx<|{sc6?i="[Η\A=o_j{ZR[x؂c]w]=71} *lƖ{QW0YKzv , 7?ACCwD`]Xqs>s c^`5OPsL)e H=dSS6ӹߤ j/2BCHOH0Fs2mvp#XW2<ck|ejgx:>⫯E?I]w"Hͅ(?+>fUygwJx]w<ͅ˰]F*bJ˙:=ME "qiUʭ!QT@ƿ`?↯U],W7}qTJx:4V⢔#ԫX-v{>sɤEcpnMu.OX!R.h{hC62r*4fop8yzdЙ[eVp\S6˾Pc=wjn'jV0f1 'L[Mn-]9Ck|cȱ>R!F}~]i5RytKX/[0QX0wk\ <M v,z{{dLz!A9=B2gmnяyFkymZ $L)h(òñ [<G'3B5#п+AWP]^OqDž&¶m8*L*.hϒBy jz=ߧ@ŚC&HSxtgg!I7?&(Z##Op3G+*T>pL@}RӂDz0_<X~$B'`~Wh|rjenfip[ 7E0]ƯC ?DE=| 8 7S 0O lE=jcه3ת(.yq )\<>_`vV6V8PV'(iŚi' #uEZ"aĶciMT)]&{Tߎ4UJWS!yg8LBnyˢ&>tqݳ joۘs΍N4W̃KCLґ R)N![o-ߘ8p On*\Bw7a۾VU[I5IZ/ f\ u ј`ر>?㆝ gױ^d.d|:3<^ #&!@c`:HpD;!8) e}8n[)k/ge2eLd,7 &~ ٔ*s߱o8D/'7`*'}*vHn3 kNH(EM+YM3^IPSxeEϹ{s9`{.P/K\9@/;ă!6ZM B'n&Ưﵣqo]PEF1+ώX.a:ya%pwf"y~xh4|N) 9fU0\becRoƾ9Lb, 7=Ũ0Dn#O#<]]\/7_`Cb>,2^CnQX/ sxaTC y^2҃i =șԼW|, ϱ$Η =QL[OU\!у\Ѥ`j'd_ w"O٢KXݹJf25mll?֓Dx1 26̉vd4>ZS˱AC7ҡYc 9yπ{UU 78|.'XЀ}#/ϬJxG6' {?u\;Nc3=>bBgw H3޾فCL%TIahvv䨡IPN)@rQ7K\lUEH,vTT.TkJj ݱlq!iOŏu@Q=1+MN=ɛV=&;o. ~ΎKZó3P,JgXi 817X/Y@1oǿd;axyL.uH1n eCW3ip9V8u3X{4>Pu{W{^4r2 *<[DrZK|6TI3͡*rr>Ӳ==uRƽ5Gd,n,x~?jEMId\ wثH|SH[ W\Xؑ)t?p1tngӦoNz9$!ʭW&Lnr:cKtO>nM*~肐#A8%6؀f4h`q\|I: #m-@^U Ըkv)VT-ʾW\$"IܧY ݬi]SQQ"#[d.g-V( s&+ʙRrdכxyr,1?gyqs+cuWN$38Z O|o@i.IU:fKT8_9'1FLHNhxPJٔeYd#IJ]89~˜c?@6Q&պ J>cx=RƤ;@7B%BܥY~-14p5G`b*do'g#D(pg}# ;+8m1 q1̓aM5;"bȞM1Gn>>@2'hvf'$&yM=Ұv3ۄUppkm%zr|5A*XH낹gfJ}8t|TW=j 6㚷L 冇)dr+kSwpe@NyNKu} ?t\#`߮^a2yٛdLx: ot gOj5W#1{p\r9ްY@^͝^] Nz5Z?c@p #2u46>D}u`OOPP߽ >1/eEʀFw. <&p\=uEWzr9Ҁe1z9Y*.`Ty:Q`2尞Z5;d\40byAFXϛ) ^)s{L~qJy#{U2xbgcGlRJ?@E˺3<] Q-o}wp/6 TT.TFcƁ\·-rEqZT`s~n@f6~yC`Oq>'\V# JDhPf4;UG! 5bhD ~fL,R$hOs- H}ykP@/Npe16i4VN`8_d2x%L K7[ɮqI;Eh@nr 58x>AzQٟٲw{KYrfv%GIX/h6>> ?`n r\K}& #T #l,tc-ma\'ɪ3׉ٶ^@1 H2` '62}R;,2g&؜1%UJ-Zgz,tЕhjLyG "t {yÅj!'j +G%+@7 f.G!KP*/Ej ֗(C0-g@{,NR_MP~Cs$aYQ6DbBNdfI+`eooa Wqc2/3@eYX9 c!v|:c{19=U9nz |ِXnMq[7E)d^L%O$1﷭&}#}δMN/gڽo.uId(2~X[.kgQzk@Vbu[4m*`4CXW(5mq[eM=Qc>;1gBAndQEc`C%z2)vp>&tj2*W{(tdr۸  T2R_E*im+V`fW4r#rjqYː T̓\U83Em7 =~r.VxnL&K Mz ֹmUeA Yg/_B|;k4l6!A/r/7(s% YVwoF AF!ӏ՛ءA5Vq q'֫6`yَwPdixـya'We3P_' Ӭ  ? 땹&C moElZ`?mqz9n݄uJUY vdžsG\~#_36< ~r~ ysXvWT^Dȧp||sz(@Ƞ%Fʎw|M{54_ŎltC(_˖2@P<)΂7|Ll,38 Gl8a<1 ڥ )X9aa"=n{%]^,0Cr͔t^v%ob!QJ^F#Mbd$2"W 1e1rUY`=(6g>J})}hӦd)#كMڲa>q[\~/+PE\_\׆]8_m.|{4lr6O_>s;SU5eG-4x𫱸$ !$51A9 (#H_}- X@C9B .@~:-T8(`>VgלP~lk^!Wp+PLvZtFjwY̺)^W"A[C RcЋ9o;oyd=o2ji4zcJd_~xaɩ Q ytHXr q'3.Zm^4#Q5ĚIږD7qu[*xy#c=!Q@0؜CPOB+PB)bpn6@^%$;}Mr0֧ey Rñd bu[D|qnh0yNnB8b#KҒs}oBe0[hy_@AWuH$Oٺg~wh(8b|ƊSROtnЩ06Ub} LN:qwq:L˅ؑ2p]-\vps8B6d\ij%|Yqo>2 k&bo'dw¡Y5E{g<7O&!mL o\1sla83۽T`Pr|Dh~a>RQ6FI8>_ϗq>S1z^//Pނo[[p !߆Y.(*Qu%$B\|c)8WEbKEIiqַ9@?^wBIS*gO9m cv`H8ܹZ[Wݷ=M%Ikn]u 1 ׭U>* _bg1EdJNI`GحC)\ 1 m(u&L ;BZ)$yv'!jF݃Ib>:U/"П/QJ&ټa1>كp~yBЊܞ3}"9=E}C#0>OՆg{<ܻ"}j {()=u>Iǎ;7d~Ly7J'X36| 7Nkp\')шIzI>3'Ұ-f:2~(}$sk6L~ڌEtL1\/8S{6Ku996s?*|4Oq-lQ'd{B(9PmM5#)RO|YVl4^Xl)6N)b)x]PfxT!?ȩ_Tl?UlyO'*Cv."6N?dd[|[.GmSƻ?C؟tg03Ic\O*dǁUJbI azzbtlS VT;9&oʭ Zg57i3gKW[Iq&&.Odiٳ;#y!V_wmhM8<~Ğ ie1\>7T?ى"ρV'uaf)=%9 Hۓ$y?Yh<]d9_AVFWi qOUeKksx[#G'j wJ8 ]v R\>Q_>džp%KRPk7c=1$}0Ay@FCam+Jy`a{LNy\%gVeș|>d6~?anđcZM9kڐ:/\xNXFl\wr~/7A9wF%\ωVܓRx<֜0̟ hw wuA[ZXY6ۡyOVa:xs{ U(\>.`m 9t,?hWx(I&`Ҁ׵,[3=ꉒr)޲6%SlQU h3MM_x!뿴!/wd_5gUۼfX/sޮ-2Ъp7!WN`n]Z&{#Wc.{?ALJ飊jI pnѱt93=/N)*÷W5sZFGG*d=|v-]ȴ/(5 RM1:˾2YLNz3 egd)s q ӏU4$Du>oTt(B:W٥cޘxw{N^u)9 1Y[g—s2S$JgEIEN>٦&eCr5[YneuBvMfeqS]x.|2C`3Dfp]w@[ts$['+dw)k dNbb;]d2er#;OƏ($>!|d83&]Ud#7e)`,!`WwT=fe *[5BGd\3ÀH7Yrҡ8؇$Q1m&5w~VjVbC|#mVLU[ȷ!}M'OQ)7ܮC';.蓅P蓝a R}r@X]a4E6/ e +`j'*mh%Xz)}etILvL^1=y̢|g;E˸wms}b$Tϴ]Rq (̔K DV^خ3~' ;}c@Г >UPBw݊>թ3 A}jLPH23.-eobcol]ɉ\lwgK$ς?K`KL6&]6yv=ZQ>  jHͮNJ&Gsv× .:Ζ*ҵ<1Hl.S!}Iiw!{sv+9_nTHgNpCHUDsbm7xwا/r:iw2j"Osr\ɉӱ-gLϞB&HBˌM*{{k)>-isڭ7_)od*$+dF@@=&\֧dv=&YavM29ve8_dfiwcDSƖ]UV4Jbݙgkï!D*ͽdgk}.Rm8XYvu+gST󺆑q*2^UW3l#;Z]\HJw^TVQi)>] # 4hX+#6Ψ:arwI5W|rk̨RUp_l9r&s[x,YTi~ sNrΒJuA%U6k%62ܛ:6l]fQäDMIUoH]6h\&nc9C;13b1Ixz^Uh(m1ٛXJMGC)=XD;!H2øTL~eD~" 5̗ҰҔͪXQ1!M&q@펢ْh w(v̕_ZmIJTOGN. l2-&Z%3<"؁aC-M KMa҇%6ROEV>nZI,Rry߱>`Wl 푎@cmZ0vT72?g8z59 p"{m46\OԾBc.DȁBa$HWu,6FpUiwS2;d<槐k]/?ga !&NnԲ00߆У] bGN&ypU_lIg+vĥ|H&bt0`^Z%* ;jonaڪ4H]E-{A܄N߄#.&$&{?VRHg@/ G, TV;H>J;;c!6 H /P^@|XSgƋ LP16=QLh/uȁ*H{9r$WҁPEj 9Pz/Ǽdo/+5˴}SS%aC-q[L -r5Oh{$Ks%tH.Ŷ̕I"F$+)҉5cv%凙zɹڌx=Ba )5D{lKQ6=+KɌlLJWqަMD۪.ZU.;LϢ&!bpt?9uK\H8E)<s\0i*%ن&1\ה¶_wg[Y#^zζ!?6yuggQ<%=qeVwWiɳG5)d'it}gzsW5\m}ی qzed"[pMr/=dSVձzIz1&QFmU_U~pX _TC-_18;tG Ǒ4T6۟~Aph"eMDf;Cr!Z@˜|V\rIB=H ԡ瘢wf/e+y o!. :m>Z ۂ}mZ~}Fgike*ҍi`)7DlÏvV-mso+q]6mhJz 6TLͯmջS܂"eٚje@t1MK'ā1X-n`;WKG:T!vE:e.(sH᨝(RVIOH&u;w n5r[=m^M&PdԖ`=a+,"a@i~.F72˥ dMl~۹pT)Z2 x|OmXˮRGl''{!P~U~ o =cL^[=[R|OO>dH-v\.^O_c/|޵YCBbuiw`Hk'|%|T$Uőס9VϿ'\<,6b{_n4wlE[VU;O yC|/4n5ӦxnY==wG8lt}"j;g/M,=p8!VTߣz:0l7+\`VOX06ڙs4 ]TC:EʇUH"&1r<2*F;3GGfKY+V'[UV1mRV8F6THVnXe;n^@ jOlooOݱrqFC['bI}7.okuٻyPVz[BNd4&LcA[;i.ʾ}Dh'D*NWI$ԄQ5EwL8 i rlsxHt񵞨GȦQYl\5O\uVc)J-n-ZwZ٬~:I"ۖΓzzB޽UAaVU"r96?Ymj$3=Ǝ5PFWmvҊ2r2W yd^]`،VV\r1-rQRZĕt2xb̛X<V\HDL>ƿ@ikq-|G!hO6˨M9QH&Ӗl!vq2&7pK1y;b\5ҵr`'v$"Ls4ֺ>2+=ض[ Oe˘~Q[ixlP@Bhn[+%E!o&U2~Q_ Vd#5 KYzc/P2$n3_r)(V%@K. Eb آ>+9n4J,q#;o `*Sjo"]dػ/X+ASQ[c(X/=b_Y2F>ʯ_#-4I2|"%¶5K<XJ?< p:Z^jT9ꐙ%ݳ/!mKW}ʭ `.OVK/hu_]Ki=9g@DՍ«Dt3X+,:ߕ.'?t-+|аڥB1m]nRϘF}T*5Gxz'`P}j51`eb}cjB' RAI҄/e#.%ߕF M}Ooi6֫~$G|l Z5"ߵN'<9UL5T$su)Oy*j!yaͨJP܅q 1'FrKSpm*ք_M/w!0k/A>υ5'S\8%F6nq0DG|Պ+lŲgD'=M;]8fd"D`4]l,LVrQ^r&,ĮL<ܲUkIʥJMk/= VU}y]4rL\-?-b}ϱ qQm}.<[ɥS}'(P\f0EƗPJxP)Ōro)$ۊTm ))+A͉ܵ ?AefLϫ:s/G'&baɀ>4)D9$@Ҭ<>?GďrJskipNxޝF Gz@lCG'răznGN$n؟FZF%SLDƱ?yq51"! i&ݚCwҷUUVƐ`L&AzZԡ/+eC,c j{;)g@hͅ?pL?$e aD/I2m P jVAh#T3d'2jv{.,MZ&+uwu"$-MZ(-ByOʛIۜI H'}}c1ow3$F,{qOᶞV1f_ᶞVEǹ]0X Yaү8pv793# |&A𾳻fr[ϐ7TBRNgw;L1˝=r6o&T:\>Rzşh| jhX?!# I)"<ɚ(7Z`M|_X>b(C/]0R_sKP[`JjO?HI{J՗$))@#XkZf<&*bP˺*`Yk\T-ԻaQ}Eaåqeo`Z6@ ]7Ғӕ EEǘFuhhahti"J_2*B.CebJ|yC v7w=(8UOp ZS;S:joA>ip/eS]dwl6M ̺; bڸG$eU*[5"@(W.WP&I Q@͈eR HZ&Cl r\CIj8'-Q> Y*#;aVf( }w f'nCD)G}-ya_B4B2He2:re)Ib qbq!2egh# PaYmkI貤| n!aE I9 \@\C+z.2\0?Jxk4T9[7|3sYɣәvEP9VDr4 iS9iҮcLqX[ Tg#äݒ}%fFr5]B2`Yo-&M5x -lHtz]B ,di&A pPtZⰈ hIp쮚V|TvhWl|Fn[\0Ldq 1rr}]t!rBcl:%8{{ʪ,bw'dO5LSrUuou,[䋦YEjlP54,m t3ai/nvi(hV+&E>!r +v4W= h2 }qjq紈\H7hL2荸]_Ml#[) ?6q=.(Ag#v,r0Ut AMw%+:vy ޕ#`Yc9ܰ;ttxD짉}#a*5hر@o7c;|L "YcNP ڱrdf9B2a6M"-#6?6^ \/RejY7 uc&G 7-Vr!x$5e\ۍ;iIaoaK$@S[A 1FInLH Dȇne:O߂xz Q+RTBRG̯bq jIk?$rƸMP`M+Y)iq"7"ړs@g't 9\~GiDmG(]h"1:NIQ;:(1Px1, r]G8gra <rT@ 8%_j.@=2hh@s] iTƚFbԧLPGZ#Ѵ m+ct| I$H-RS,(߫NwW{_:5]h_$/ .|oRAN\K&L(BO>yqr"1nלWRc:jXxZ3ӹśRDG|e9yQKe<5;Y5x2kEc;_@w.XF縆Oc wfs }N3Qj}*>O wc\ç1 Nk+i[Fdgv\'>kF-r jսf*Ƚr1Wշ!Hk b+yp؍EGwY]_RpK1| rc?嶟knNUuI+z>A{' Ռ& mQ_K7IX$0 Ugj?EakxRDawe,lNwROn8e{Etkx3DïGBԚ0V{Z䭨ռZ$vk`R"NfG[PbYhq0o8KL&J}F*q D캲7е2S*CՎa,.X.\ב1ܼBUg)Ss!SR ]O;a*juV\أ@^K4I[ 9J4Chh֎"@u>rA.91P3:bFPJP}5Y.!MԧGʍzB͡ٱ =K_- t{f:>O%ks0tΖvP{JyBu)Qf'ejV B5؃fLRdpZ0>2dž ) u}s+#`c}ǘecr66Oװ-<S+T^DZG<(ʣn? WgPLRm9AHB'Y{aR%FPFb!(G-:Dw "5&5U}9'+Ň$e&R\q0M>oBŇRr`ʢ`E9J}!ϘhR60m&(H>sE&Q+%T*kvU1]Lj$]3qj_e\ 7q6)0.D} &(7ĺ_pjRnI/5yS4b\_jzX7"Zo^,eRfuX77E/MSGźb~i*A+bx1?7ICj/X7C49dsw9R0,kC!w](2QBM'Y\C'T}PqG@7>,6B=N X 0qk'%0!4[QQqWW2tdQQYD{P@t${mӴ|Q>y Mh7Pt҄mv.Oe9k9\mz`J lWgzaz0X;6W~T焵j.ⴈmT—#xˤ]pr9Z6?{|-6m!xzzGD+#i+>J 4>ILY?P\aN2Mg0^XT0"*V1w}sP195Ev,y*Q\{Fw1K bSYC;QoӖb(3?͚,[' (̀r^^#Wtt" // XEqM`s:Q8D#-m$sl']YhoG?hEfBX!`|w s-YTF\&0؃5*Q ZRYcb=!6DRCybIMs`}Qi_ Rh^~2ϱw}ϋ=hFD>I:D"oDDh ᰛAҠZuڌ8U'v8[*.]1:{WHj%NAZ{;1~:w 4HT+t4yӴFUඞNHJ67J@oz3":oǞ梄 HK|f7omvH:5b#0N&4E#Z#jx"H:_Mc|nM {HdP߯ P IJd@uĖa;&(߃8:>2_NGk1 qkJL=R}c10k Cq- F(,*GllǑCmalE޶4n:5\C[y06:&Tܚ:ß=񍬮G"Yli0nT3T;qT+C` \ s8قK@M\m*Zفn[ٔIyL I9L NaиoL$/+9ُOv;tFwM<-}$3JރtPۯQ'ԭ# 8бDK&c}!_Pş4SK0id=̓Z$uü񘖯0H b{Fqk :;n{gެ# [;T&Uu&!3Ւ[b8n*Rd| ($C 2{kN <csAV;1s:mkn>(T|gB:l~gH:1{=$񒣗$Tc"ϭn9Az<dt(&/C&2`N0R TZ h4 TW&[~4׍j3x[T[3 Uu gv@-d$ r0ƅ~N~yhs-tLx*-8! ץP]arsMgjLt4{0"Mκ\)n aPq YB&tTs7\*9sz1I]\w@g{a[K`;&[[D&{~a"QʨYɭ]@*jY&Mj01bMCڠғnq1 jq 7"KL{:7(Dk@s un2}]O݋S/\}.Ag arH=b]6Tw2BLqs]p+ON_A䳩[RUκ6Bל"u9H{N&O77Fi=&p.RBUbrYN0h u?bvp%  RZa@3>VHZ!!M[(h#А=H\ZIvsv:q Oɭ Qk1:,rM8T?E㋤v3j)} {ԕf}W$CS"O<ÒB2EMR§ )h/ws&wV標Vԇ-ޮ_[P8kWn]ر$֖ 8Kx} œ@?u01vK`>o Dw.LB8~>sr[?^ DC@ ol?}}Wn{=J>iV.r&AnLG>Ŝ1>\r~Y(mR@A9ǔ>"f[;1I"o-v,$*ن<%Jر֛EU z|"w$ډګ -ݱ>s'VuN }j'[D\!ݣF^#oXF+%|ɵcmu1&GV,Ӄ4!иTޗ74] |g;Uf_T23e^L;:( }ǢtBdyϧs)T|1"E@~v&>*$6[gR{>dIiwrvL kd}r%t usjlq VSitqth-6[eiB.2\{;`j\v̸V9d"?Z`wRY/@45'GՊ@%-+<"4֓Iaa2tkD3 /N4.3QǻY*cTFǩoncki#(ߺYO }>  /[Ѽg`YT-q c6qnӜ!n ,x (Y&5^bjZ+XB}%΂:ej/MRçKGlRߧ ߉'QtxA͝t.nQc{w8,krgz\;N踳}g DH!{g9P-obla?[B4_z"_"_ ~@K%Mx?`{:@2L,<Ίq`.9ڵ? cXT'W;K_7 cH\Iaоk!ˆڭr l8 H>r-]7'R6't1 OmOk6Ǔo|pt LͲ@8:ږ)zr$8NQ?g6#wUn]G$|P~a{P"ؑ;WX` @`aRR,Yko<{ yFLoNİOr\9Ne[Qɱԥܥ Qgx+0/zUQ DBgT67PyJ?*TxmLX&-t\E>@j&+]촒f ͍ws(0SQL ʕ6Wt hV_T:{YDL\4&N.YګjAͤr% Be Mu = fpg2I c@;+29%ڻ&earAލ!ZBW%â8}=%P\Go?c.Q̅|vW5@q)AmtoȠe s <F/Tځ& MtYIwx) !3w8Txl4X#Zq[Qa;Mwl3w,n̊4,wW#3hR%LqS2#4FKϻՃ"|_;Ri]Fe+TG %=cVގiH|Pd#^&3i }zTG}؝LjgXpzu%P$߃իT1ܻx- rYFe  ZF/wT's͇Kh, ާgB]aspfpQPSQe]%4 I,v]6:HMJ20-y֛y$?oɫ7ͳZBɿ3fLSYcY'ӜDpf VfiVen&T?-at15*6"&`3|$(Uh\fXcqQsT F3N(Jrq3d1.H97/ neMXc,&uh?_jd+s3͈L,7"WMYJed4U-80$Aʒ.mv\ }}: l;h/ އ!J@GvPWP&7 LEqRz#@{G,Ц\10Hێ 6B{al3" ]Om?Ntۻ:k°hG)H9)C}U^{3[3eՐiÝDS-oV(6d&Zb2) y/y ^Kt)?&|8{pM5\BP-l]kvpt"}Y˒OpDGc2a)jOaALzC~B%z1'c$:.^>_%zVyeR36]#3`ф 271vlh?."}1m~7>9Òg踽Q$|#"HN!=YȂ( YF*;YЗ1ú)Cn;t63?72ce/$ۃZ#wBu{K"xM)A-q9MF҅F0i& ?AB/YPq:C>jH>)(.0$f2&(j \>HBJ, 3Rw,T'P0^$YͥzF9*YwۍocFʜT'oRL6COI`Iܤf5l>?OI:&0aOR5%,N9 E@1$HVW02_5)td&?9ѾDR\['-.Z=Im,85`J6DaCqp:_v>a%pl3HjEtq5 ''7>1h%6/Yο@TD~~GQ?htQcyHF!CY!X.iy|r&-<e  c>͂"{PK"sqPŭ41=s~njAXAfPKF56i&%äTn~*~.HR7?m5q.2OefaK(nMx[YK:,(ߧɝ:eh, izh>2aˁw !:{ Ag &:'jAE"EK:ٓܗRR4G*>Ysp5}=8@4b@Xw:dlP1V3%((~\ Ԇ`J4na$z{Xd >% ֞) ÷OY;?9bڦo%] Cj?0jn2j.JkB`0=&CCJFYE `B$F\lPGkIkSR0e$E2+6^af h\3p.XAiO UB ȡ>7trFy5~I̔k[)PC헯#iF(D],^|5i#/a8g DG0F@% z6_܈ief kR{X ^oAYߡyš9D~wT Lgvc0&X$C{wQI_RcLp쬝131 ў䙄FUϬzC>x+d䝵,Qu ]yw@3aiH$F99_&K=H< u5$XRK.U67O^}.@NkJ$sЀCtMaIF Y iRO7vw W)2 )H5i,# 3O72*eϧso#CyEY$[Pyޥ7 #fǧx܊(sLz'$9RHSO%u!qn oNz[cGof!9$L3)Y9TO_xw|݊.4X9{iг/nxџ|B:X ]oA"`RWM%tq X&SweBO;/T ],P̝"_Z592uэqɕ}1&/SVrH~̨]t"\rSQ|3M8 [5~Hs[sk?L6>s5Q,<!݋ kM;]1,(U*sԌڂ?U @{E%ePa`i,P'=OJ׃\⇵KP4x.D۸ר4 EcXjXm;7aOA&'ElQMIN *3=QYhʊL#yFPFr -|o%)#F " O5 ;bf>j)|څʌle%iWRRly TdAeDqg2S{Fރf4D}keT*2Hn%e0rU#RY?,+ǡ]r]BiE};Ӱ8*33CV٪.ePEW1* ,zⲠ(9Q4CQt^ĴΡl30IviO* ;p*DR41r 5 ;&`f`}L?bj? I c|iIhjtv.#yw VG]/7TŧZfgh&Bcnk'WT鰬OW1bY@^>]P0LJo.N/KJFf{-ڝx`Z%C䭫mu=q3EXYN%?/g*-OyR.u2H_Z1J iCL!"ʂ1^xLUbY~eh/Ԅɴ^'0ՉKR={o! x3Eʥ~BmQEb>{sfi\!dqo'0~vOg~cPa0 J=:1UfLFCt5(%DqI̴9hEd!VdNfZOTXДN-){c{JoV]7I9W3;znukާ1e}FώNyJ1/L{ƨj#bȭ21wԘo!Yσ(4{>!'z](o~Auc{;:@H=L3OzCR 9t?ƪ@L9j %X[gVN d"bO6naӸ d b$۰!ODqGd`o͡%0tg|TysQ?Z!%{PtVGvE ;uy]Ҧ~Qɺ<;w^⏸YҬ8xUNuϠ/?hx}1fL ڮJρgUY@R^s*ʲ\eTOP1QT_1ڃؕyT%YkG qrQI.+j̉]PJ\P܊gf{G9,haĕMhaaۊ[,]Q{ڐkF{#*WaQn8_\Zqʽ& SJE܂UxHstRF;@XxFc};ֿƝ"z*/)8ƅzюW~2=e_5hPIyءUA5 _#"%#tUP D/2T+K &0^X]]uُ|o ͠7T k| Nm1?tGܪv1޾}\GQ)3'-0;R?M;CpZ*NzA'1Ú2f󯕰PTzTlZE0Ae1) * K FIR!XvȻpHКIHߎ: Y?Qjm}؛QN/@6eډHt|ŝpyjA-=*?wW p]ŗ m˹ ;L"mT0B1-^:We$ᆬdOU|6C[2;g>O4QAtXqPe{ !T^?movcy1m>8ZcXCò&qn ӖPFԌ \& ~y [A ڇzWnCʡHME_i ڂ~? wXl7 PykO3~x=[-ƈf'r,J/P׫yVia #Tm3*M|B%&AÔbك[FZ|4MaE'+wG.-Fc1L^G2A%D&}T7')3A8(d_A)E@/&˚ֻь"ʧZP}VW7S ugD!@y'W6*z%J8#sZOR Pg؄8RMXhf*6)_ۃVjeԂ-oo"<4O ;w9%5$~q | Rq[Tt$=woA3g?*^B'jT!HB>9ZVwzg YFp+hȊ !}[_(щ[D6ʥPcsyl҃*dTgX!nrt٢M1 eUa/eϲ8Bɽ#U#|"κ*\C:P)(VO. V*dWkb㤈]F9BmLB$Z "`2W$`(/] `e_T ˎEQ7)+":JщB}”xG'E},?Jqg)dGU^˽Fg -zJJΑ z1ʪXz3V.iأ*gA/@Z1*Ms ʈ #:^\Ks|o 2:!7 *\.haUw@}-58Oy#h(@49 *ΗIh=b'Em\}(`Ir ie7F_%ԋ:mRqJ E2sCpt|ޘ}TvFB'!_ [R8@3JezyX.1g?DCՂ" _S=L={;8H4Ҩx)uk.(nJy1Hym]-Ft!%G4$µc :X(,wD 𼀖e O{M5bPf2>Լ'Rsvu\ O16 #5h!F k݄jit !ͦ.`hCAaSg^dӶ` AE&|#9 G,r`J&MTυꈳ5!ICY KM[:ɿ$T{cXd fwو |D[3i8=k΅rgƒf,$7N4n2M^I bĘUH;QG?Xy1Ǣ|^|K2y0q g~AhflPcM=j@[w KR'?1BZс-椱@N?%jtq=YDBY>JnǙ"{xmWbQՆ|]JL[1DTOAUlmw.0RO~Q17fws "TBd*4} P}m H|q^喍U5 8 TKU48>c&5ʝfA-I1 -}Ya-狎B)&mjO6(oRLo4e&m]"֧ l76RiHih!l#mr;r'0((JO$:|CP3Fg 3&EJj973{;wo[?75|^㛡|.YMA-hW@~D.6.̀k\C3!QS@CJ0do`bۃެ4\2 K"I]Tq צ0F"EXy@m{GNbջH/$t>EA":*Kr-\ClEhv[!j?琪븘ӆ*t⛨JB+T3% (M7TRVF~DPr??焄Kw͔_ҋHQ5XwmsJk2K*M[JN{iɴ9?/)YOj=tJqCsא> P.Pqr ɬ*efiYꓬUTu쩰9==jU((r=bNјӈh:"K" Պ4N =:T ԑ7(ϸJW̬JE R ,KY~nu&Fq-MH.M ȽCv ^ť>1}kťP\P뚈*QMJ_2I\|mm 6 U"eh|?s͆~|dٙk~\s]hE@eQbmEǠbAa%i!ؕja(~ksŞw?uY߼}pkԜR]kkX+MR Vz}{yوl][,|߸j{M/PzQzNj9,7kHoBV3d\ȬO{P\̄,kF$_4]p,XRV@jrv؉|4W_`ҫJ1 U2jE2~?Nwx>AlTCnS E٦SH~4G[UyJj[(~ܥ+DT[xEyoEzo3Vhlլ1tYNa6?ށRꋍ Qv-&C]KfBʖ}zP9k58 gLi,B4K YSٸɘtG͐T6Έr$s ؚ5W+~?<(e-~'BcLQ4MD!͚=+3-U.=crY?ٛ,4 8Kev-EzDkMֹIv/W_g.ǭ!9KL*V1%s=l}Ao tre̳{c \%\w^!g$MvΓ_{c55s{᪶ygaKPk4^fp#s$ 5aH#7VTӭjd4<NH1|%7(B,؏#*yzvFkf۠9z:(Fy$S%˥SmRطM2m|ťW_dsHR>MMT%^eQ(~؉\rvny\^FF&CC6?@V_^Ձ5Fʏc ̺)rbRQN/ B_)+Uޘl"9R*?U6}7d6i\^ .8Tyc? UeCv)b칐w!MsP#Gom\6+qssXskiMoVR#r)>[T&nMSU.뇣@_X~(`k76.b}.Ί-zaO⻏}Cv&CBVōͰ\AH\៰OBaUZTu=*N* };IEеx!lW<ݞ*QI6tg;6??%.շ+2_i,djE8TݙaI\Z_OJv6F3? JAt@A g;wDʚt:aR\)n*37ѥ_nV[Eٚ2땢KF)Մ\J%gYܨ" @5n&bT@d"96Y]5(-=*P<|:]%wB&5KS);Jg1\1++v03INA ID2A?Ԩ(JUlWI"~,WBߞBTxkHYi'Iڸŗ\z7L'ےNCqK2S| I RX iJEZ-9McL40[B.N|I_zҤ VsbiJXبw}7a9fs($,H8u; AFF9ԃ1rgO(`f7s*;`X2Uiu80]c|nhCHJ/[3VhZd1Ylb'骍p^ (tɄ$X~ͨpGFT6̽rٶ̨k/vS^64 5'D-i(F멃TA*G/Pl\̔'/dhrl 74(TӥTvUZ漴[%23qlIT썏8TaoP0%H>U+ TOH@ڕO^K)ኧ+`]z9wcsVd|$yJ+V!JC5 K`I&Xd*G'@|L=;=;T' \׏1 MwF^Q1MK tQjQEiӇZ3K%Y7>4&cO|[RTuޞ] :o T;>*Fe39x:6]_w#fT?Tj`\]Cf)gU[UIuW^+U=;O7M9H[e$4Ig `yW2k[ Y5;5UBpxU60SQg)M d\eEﲩdi(F^߰l+c*+dfw+?KDB-2%p\" &B+tg%^t9YbЮ6Yoc=|d&yΎ} & fu?3j߅B>Ӂ}#4gg2(ZlDl* z{ܥ @HKiw)؇Bڃv3ҏ*UELHw2S ϯ6Ɉs9~I;k\9[Ј-OX%Ə:Q\4Uix 9=J<m6zSS!1>6"lb& \tɮZqYʌ.XK|PnqbcK8I1I34UHj8Ui6Jv?~)ݒƳ aœV<ø91JFfFzp1'&QkmQf pŏ:2Rlrk\YJe*tU"9kUcbaB>Re^ }@AA%vuA߃ M7O% ŠV%٪_Z T-zT8,^Yr6`SZ_Fl6Y߂ :|gQ]j1[}~& Kd2B'62.: 1~)tH)FjԈtIǏ {la%ʕ/kpҺ)XOIˆ;|oŴUK6gQL8qb sfT5K+=aaqqҫ?g{hJv>9O0G3'!fI/!JUgf?F:>ϼz1~)""R,Մ*١J'O0R=`DRITʭxN)A12;C%sHvRDӍ}XT1rPjŠWIWP}$43$h⋓P<:e1U5BZ$UPI* =A)eʈTyH@ gx0Ep.xIE*c#P}?] 1Wy{1=XM허T%Ȑ>ͷl(CV8CF_J?nt\$E86W]Lw9qh1!3#fTfIb8I #*ف^ӇgJ/F(g+$"B$A:#®czHK{Bt;6ϘNpHv) XwFI`aG.SVl]*UCFYՋٌTZ =XRF,$C,P}Ai]JhQ?Q% a%>PZr_t=A2xƜAtZ%#0DiܷKZMƚ#D NlT@$1a9DQ-9^ Q-<N㣓 ǁFS-@#L:r7hȧȈj`ԋLO5jBGS]4'*Tߑ l-[ZbKɪH1D$pSIb(E`8i+9Q`84Vop |8sa}d*$tWܑz@!INv qѪ\K/ M! !||0IDB4_JfKWHU@SLTuGFXnFn-eFBUɇ1V \Ǐ:h3n钸*\\6dFj_E *6r=10fr?Ԍ//D 7`G_/i[5^o壋6qcfَG±Z2/N}ݳ]$ :ٮR%C' 0ِh6\زH (50Q ߝ;K)p BkI.Z? Io.kDptG`2יږw]1W#;k8g3D=Mg]ظWuHMa}T ;N͘i9xj,pRq|@;\QOO^#s ɜK=^1Ƽ=96WbL12xUg~?;>P/aBig>Lq/@d9ILY=L!yFu!bmxf/PJIp$D0D.|w )ƾn,͉!ߩ'`ߎTSe|=<*g~Nl_ ΀>#7'xƼ!5W:1eT,e^NΕC5y/kAz6IIhLjy6 }X zvV!A#5T#F5+]*YWW?ɈJV8X0Fz%xGm^^!•<RXŌ Ҡ/TRѨכ%$!A(]'mO~8J>l2 8']8oG"fwy&6'~#~H \ya#&g@Ję5l?R)"[n1S o3WwR{oE?30S4{ШqC5nP]Y`Y/Ԩpb#ӑlo b5#yôG#NEj^?$I%tX 6AبX`,F}isQQN9}"6 =v'&X5 Gcq-IІ {N{/J*IbvUuL3v#(H,Mľ|}.)9Yכ:32^g*:#бa&ό٥ J,;篔|ф39U@H&zxXԻTN1I.t¬DSJz=asZ#g5a@K+И^Yәqwta҉I{v`}4AݚIjQ6}u"6qA=ۨc Oe bi)t@L`i䯜m׋9 |#Ml bKkF)%q6f ب/3"Y>LKQQ6l4{ЍlX.3]-Yj&  0 cRY^)HVT}Ks~QA,Z&¹}Ѕ}A} w}0iyJ#j;OT|=#P|!iNSA IsbG{u4twiL`FЏЁ}xFuUx),L!|7a5WTc!Xpn453J3 |Ͳ/.׾tLxRo|'k5iJtrCȡs-K5d)tRNL >j(hɗf ^?QkN>P=s+< d9YH& rinFѳcp - &hXGCAJևGaAzQw]R ϩDRjE؜%`t$obT. c+5|x=o91y=&ed:ab 8S"ֻ!2ز/k//ņΛaOGA> i:E^T0GA&;[ύRI-yIft2̶)}Lt&A1RU^,yqEo&WEJٛ% %'Ի/ڏ .dLt&jWp{LE*6"e2"i*˸b,tij4&_$lQ;4ta+uʆp(c!PkߓV&Y Y,`d.ĭL˓BFRvV:/K}6Vg@du!]d3F,y̢U/ Acl巘VhC׎.*ԚG#UӣzcfpJa6RЏ@ESկ!1ln2/UW_}+<^%.fDL(oPNɱ™j_SO.PzH&k"]V IFA>R;S1م㇜8~Pn>ĥ)ӝ j+%=.Qaa)R6ZAgTà{f,l$C 6qlTY5m:Ys.h\j\l!Pmc<-&U),Vf.V Zy2YlIȺ IO$Z*fYo$- h&6~8o4ysi7a@ fB ܤ"J ]33 &ԭWdW8 n&`vTۙJ*#_QY 5lqB͇\ 6~dkgmoCC*9Rny-anj|fU/F`)< 1FֵkԵƄV}}`CI2hcxfdIoqOFazO6oQncܽ*}r+4Ru]i_hк GGn3*L3u&>!fyAWEwep$hfb1 e̓e͘K~6PH49ߨ/L#flGR1>O2n^¦R!:\v =Kt8(W/}b jri#^=5LSXoxx?ub1ū)2Sy 9H+M~ =gri0&Al>,UR{]j߆nLmԶ;#Y|ԻCߏqᩡ)RҙT M-V桪@f:iusȉЊ{Gh64M.D¤?4uzw30E}ӛGYm|lk0 ݚEnHf|G$} :tQJQ,shTF32|H#)9􉐩< )᧨8\0''J' M7u3DA2p;6쑲GDl9J#m8YU#"=ͺDz"GY,},;u99O`Ӛ9VCc=f3LxҮ-h4gj4!asМF~V'9>+<Sٮowm<0e _vS.L) Ӭ3oGtl&O4>ҡ^׏(zKmubso@g0zD_OZ'ae|^ɬֹBk664ߑ9T& Al02|H[ ^cp|^Zq o9O)P ҄@/$6"f }ľ$j]GYQȈs#i_[P(j>>[Iw{:/[c y1MNG]ۅ#lg@<82"= R!n j䃐W6^zf.v=m^dG;BtY5־gGo Ohu$L; AAY!~?b5Cpz~l;=K)HkÎuHxǞ>j^|=7ikǦӊ//ѶlUz]ɼ _fgcMfH+GaBdYgy:iIY'<'N;B6o].۞[ۼCjb]m]\l=CB/vIaGf>2YziB(y }م=`'ͳ߷CZ2r[ E70\$`cݥ !oAUjO#Jc;>_YOBF̯%$ycƞN|DP}MA5IB&+dwī!}|K_$Oi֡a0JR?䞎&ۼR[&-~(/ lc!O?Ύ 02tH_iőʆ)6b2yk<޾CEJBmቇ$$]Ymˬ vmmZ%xڴkmˆiBorqN^S*V,#U!sd Ev*f^x>#Z!ʃ1'2&^0=Ioy%ܑAߑG*Wފiܜw<~R445Mu^ק:S1 o>g{7@Ja}A&,DU[4^r,ua҉U d6d W6oSי픦Jkg=__9)Om{"= A7r:ӆz~#̕4!p'aa#Yg.釐LMgޡKDFc|,%"i~\󱔦4{ޥ,taRLMVJ  ׂKxpMᦙ(,zc2Lk\YxXβ*^ "9zUY,_DϥMSݖ}iGx7/g?59nf[Ec5ce;5L!6i>&KlD!"Eޘ.MSKBfDn];[E0 ;G*/Z2 .UH Y aaFcM+Pp!f vdnz1NuV*| /1 ULXŰ덲"أXT!.s !uR\l!`̵Ror.b̻g4 Zሪ.MC)#&{,(Tcs\>.*fbeq(gU dA^C9T9/" H$c?)y, :-;HX08?FW'QJSb^mf^צ)t_{4yfvԍh!#_ƤڍڋpxdFN`Oi/F0DD95U|6իhpai@Z֟PŽ0 hpY~$eeզ#WѡpcÍ<^XvFY&/2ɑcT7FPfPN^{g9{uv24:v;hFY94㎈P&jqyN{j%1·6?Hُ1l0LyN$O:`2E!eПQ=#͒oMJȇl/#9-im,z燏ñ |<?fY> LIV*/$6rbs`mt `cⵏ:P*/,v l.s0M`rEc۱QĦc'͒ûEw^ ޘ5ĸ!OUؘSeQL>09A1b az)ވu2s֊`Cg]6 m']Vl3;Y"f`tgI?IjlQ\4ԩzLټ ݛ "]k9^U NISk&mRVl:1<ե v`_n<6'C_}6 2,9ڎ6fH$k{ysv io;&g@V׼4T6)df,)XIo]eu,Z&@(֊yiJ5_hBE箊Ky!qWe͒gؼO @䲦>[WXiǒ4rT"]}'6<"Ϛۜ,.4K>%"}Xߎ͒g[x GlOԇEl|"M|.`W+4hG u:#ٻ9Xu|ur2e4yWL3jK/!tݑM/b-6ûDtα2D>T\!B$Vý`acAi J,؊j#wω ).Yۗ:U\H5tƳXءlK-#ӿPy)(J[P\'u{K_^Lvq˩m l+TJaSH>̎csr"o@yWD$5T2G1g+3EU򽽰2KSH>kAF)C |d֍jZZ FXv¤רr~з/̼Kso{&6&q4̯4#ۧetf h2yr fSIX.ti_HSPZYO Ҟ 5 =IS/H;/ hz!Bm~NPka}73]biJ-]Fj7Qr* v4l7jϡy!u_mYD'Դd-?Hq!&bVȐjTsV4<Nc7\4>Iw`MU|C]얾UTPBWk x2 \!ڕzy\4ܼyiB$O&|sm* !y2,9 XFRݹ3+Ykf]x`j.-r}ÂM[¾5"w5R{Gg|( ۴F).^5z٣㪼C8ˆE\} y)&Gp(#dC:l vR4NkL3=f\&'y򒤽" 6K.ėBcӱ1:3u?`^EǺLtZwT!۰ao*xv"~4:#DMG#G>geMʁLO6!o;ufY/>fF8'2 vQJ#nV Rb: $?p$K zfّ/m(DL5h= Q)9¥(ϰYrE4*ERuZ!!@o>/3GUdw7d]9{0( +34e1|͉#olL?&n}X~8<ôZ+8蟈F3lh)dN Uay8DTy|)m= <|-<wRi0z<|~VKZ_-aܲ[A}!6˟|,9Ł0`l+#G:;wZ kY?m56ot/]VǾd bf()n !%+([b5kr~!q}8s XpQү&,MK-L[1dar`?~W:{v<Xw?MC셯dU9?Mdև,l8 <0`b-zyg%󺹠̲!J5}(ۍ4e=(XˎsY4c/D2X] /d lZg4փ]"~ 1n K& ؐBbB/dfSS!D6RHc OHNU}ȆT(dN`8x7JEW׿Gt/*2^p~ш`OV.bp@xmUros|;e{sp`: &#@P^j=S r"z$ߏNeLerV ώt@ dwbmf^9aݭoO5߯y"j(C};~%/% B>,gs 23,;<3@/|",;1LS4mjԲV@(%45,Oky76KJp,v6oNԇm,9 (c~e1,YVM<ʶZ.KӦ Icuc: kj5arx7$*Rm^~֐ H OOc{@4M=Jئ][hdZs[xzeɸMjy.?~$[?F5ڛ4D(gGJKg[9^ >m" I~o̚Y*OA^УfivfB VMS&Ys ]n𺶍_q]m/g̬]s3N>ѷYͅh`xč ;.78!]aͭ9\sT 9*ɑt9Io6 ~PJ%h\Y+`roڐC~@R)8;6 ~d6/K6K&le9Uwe5im(F("aсBqgp3[z@1٫  CPw8}Dx'쫾m\4&P=A/%#b ICaW̒\vp 5 pi~VuF9o[nerAZ|EӨAVt$7T9/Dً?87֬'8fu^\ۧkHrKtҷ9ARtT%4Uġp;BM޾xʡذУ0'1ИuռOHXRb=ɥj],cミab Ԇr:j%7ЗjU eې2O!3׹@j}G“=|+ɃKy3&Ur\dcbLRܗ]ٛz!2_I.JS`}xd m\[1\wJ7&F9o}z͆y"nƬIԤ!Ǧ 'u?0MS3UeJ%nz>hJyqS8C2ҷ:qxߴWj9i=PD6Kbܖy,T(DcSL0-,;5 yS%g3*90Ib#㣨q lB,@7!U d!+zV%*Z-K͌6nV9SۧyZFM$x-Ģ ~!D7^}vE9s~-_8'7czWg!d@I7M~Mү T-)5S$ s]zu7Ϯp`2ނAq `dY -wAQj ݭmqmKwFߗak [=:6y0'9J5ۅͫރ?1},0*@BGc::ҙ|N*@]R^^kmw;&Nl)́PWMr Bv6#zN`YQt !Ƶ74 [?ۉƺjyNr"|8LI7 ?a%!v.0}0~6$I7}%ĉ Q0kG?b k.7LYlz> No,,#$7N'L0dl5Os՚L:qsK#$ƾ}lL%F.fN%dTB2E@E8o|&']ĹDzEfӟU?{-ՉA#P`%9p| qR h-$Hנ|e<)ƺ8+i6d߁ca+~GW7 ~ϘJI1ƙlb1RvvE V?=$%l.>]UAlr^-$ϿxVx'x;8ʬwd¤R\(i~Vs-VoˈsM#Hk57lU\$6>q%تGcj2S鐫N!v^U :R^S%Bf0uEڷi>OJtFê,lB+k%׻P6^bP0_wA.Ω4PդZƨM}tnjrmM׍\5_/oɰ.r4%ߡM%d=(r,^9V zKރ%N97 ã!FooǬIjZO?8Lzh K0 r1i[ah 3d"<3Q9rt0Ò?X68瞱$5&s:WM -wH@[[ߒ[{ya3y0iVE[H%pSjm92F,/}VM2IVFI!HX+z*lUQc4Nw/Uqx`)~="U1濜;[E&fV{igWw]@!)k]/VDf#Np H%ҋN-&{D1.`e?k Z L7."Xg6JYE9yBZa5C5 U8&W=[agŋ9#P+DdiY?~(\ ػܙM;\mdn!dGFEmoAV9(Fޚa)e r!j&@%z TZ yxvU[EގNA55lQU'ԆHdݙ '-R͆k*B6sA> fV53t?o_oB2,yyV 39Ro,A^]U}Cr vvkj+0JlovP KKΩA/Nz?He?_&EVk-}I6CȈĩnѾ%ƍfk'XzQ+BkOP&\IR slL7Z ?okS Z@.3dX4Bd\}rV?c֢axIo$$,VqKU&%iŸ/IlxJ!!dݼ#( Y2c 럒KJ? opoC3m %>`OGJ729!`eA.#ZMEf"luW+kSW+#$ɮ"S7R^&{e@wӿPȧ@Akރ˨ q-!WcoìhZnvFc\P2P՗)3d/!)WT7nal>`& PapLM  sEo2f<|LTPe_ϡae_tko#B s ά0TV9CA^g~.h\s AqepdTf G9f_Veܪ %??-X$fhz1[p*&&S[9 %Y/Uÿ*j:*j1[kb\cK}q(w5 J0ܩ$UZ.SUxwg?=ɸ[3s}o}aJA -Y=iA=1[E=zSdh zWӳѴl dVigGӃok2`x2z2MT'yʟ+I'pk;? ӾEk WT*[}_6Qx6 U11T9Y1RA͇CMIv 9szTjLeHUbmf?mTa~m~3nPHMC70 ynLkI2Lmqd@+V_݉$@U>kcqe ^22K5ƌagJyI1Le5|.)a[>T>_od-޶2z&}cLp;aʍ/rhp&'hhH]ZBTq—nK %6y!mg}鳶KW+Kada9cE?eSʍW+m39W+b\jO<Ƶ5@QԤ$=,J0qU=@0ݘ){*d_e69aS>K6D>pO)ekjS0h8MYEBU; \A:Qs9y@5zQન1 ^crpdg\s{Fċ  " v|aܛ2BA.Ό7j}0>/7O>&LJozƚ {]J)NWP1ˠsusCx|(C@BD&NaWg'ؓaͨ&LhZVYFxno8PLUH+?`5&Zָ (Y+DFf"Hǿ/:49nhgaYVC_ FB;G8F$džWdcU|+2nO{Ek=1LϴxSt0a+Jݷ:NjVBUqeE;el"#ЦaKq'qz K)h5}K(: ViE:d^1sTv97Fʮ|SnH.y<{yt XYgE'cS9Q]/td#{-p W0:lWMH[Fe@Wǿ2U jjӁ<{ <6rTB2=]9}:QܩI%TLHlJ~'#UBQV#فakƧdFnV8ۣg}|V|z;'(T(VvEDZ*~ZûM+u']=׶5޼yVB)HJ@}!sbP)'=~՗X7dxt"qxQB(<BݿapC\פZ%Uig@SoñtŜf4":%荌1քw.yk/z GKh^S4"ICcgzk_MeOq1:7щS8'[=}~a}S$!9s8)I/= A@q´Gv,;h'gʽZLʾÙiOærmsaR<ӣ dx aq7&xG<1ØF!<i H^C/cHNwgF ן}{G4!W 827 G[&UQFv +n#} ٿ cʞ"g{ T<#[?ޏUSeO_ v۫1?!jjs_-YѢ\ɝe'\I[>2'NgKf`˷?eDJ&cK>̕ĖoɈ6eKԆVP+ϔ;{dIFd}$q-d.p'xGTï!nс vgՆ WmSgG{%+>]>&J6&lONL%~I`ҭ64;NKzS=zwDv[׹c+N+Mc9\\BmXAޙ`oef2g k epjnD -P8i c~/-!S4$ImwXړ|g_P2}`?Mnj1ngpۄcDe!0G4Ώ`3߽B [e(dpIt'~`VQФW (i}xA G# 3nenj2lxS 'fޔ Cndyr+tEiNJy31Y 6eII1ŖEa9FA fS=ZA!)tt6s^X/N̚mG.\6¾7cӧ) ~)v>4>@J"[t0x$jC3s-}[wrn}LBZʙ8|7ηZ.7_SPS2GDMe bRCw>*{jƐ8ID#Ӻ^J`NYA+`Է-R_53E*:78aRFR%䞔"p—/Qs>-| 2$.n 07I JΈ Lm*!ic*ejDn(o"@ҮK3z_md=#CΈh6"MJ^ ,B(R!DNl )ecoa${'eN`+l%mFL]+FgOګK}\%3ƪ_cj0kmNA 'B0҇rL6D) K2i@oSG??%!c@rraDf6\/EiyuފmmBvfAoJj0k7Jت(:@/f;†c'jW_78kgFӏ׍'M/Gn[HZUsHI2-یuxI&UA!3LB>?nOi V[ z~GFR0ao6I~e2$l4E ͝NaUM)؜I9Fa{@++֖ )ǖ#N;z!6 no4 6Pd6K7T[T Ն< 9>U"DA/ a8>IR e b8y hE`un-`}{}^g$F;G" }Z^̜¶FA Y;}sf'$%f.-Blh>-FU8:(CknK\ҌGLMCaiX0>, pw q% '\ad$|OW'$\ؼF?S]N*d_-J>P=_p [*W\trAg,xl*W 6CAe4ޚΞmEl8OFY?Kr(N IlNdW]חfR>J3ɡnv)}Nq 1ttT_IopLFY \F>M0>Z+#;ayV~GI2ORVP^"lULjyZnN;F*!lUh_BYbg5D%>rw(HzJI+om.}HMmܘ'd =0xlwMKt`neK'vq>%x #Z-تn5YWEa+EIE$t1|sGsp_TT+H JxtPRKB(blFp2o3/E@y@/0*>}_B|_*`"+ ?@dg`77Y7hI{O-#df=ӵZ6lVbdVITACRb6@~񠗝ռՍu 9,Âޮ9(ԆJ|n}Y{&P4| eZe*ү Y둬i᢯&9RM,aA#7G=I7JM|aQJÖ2Hkek.l)JjArg[{<&ч8u!1nz?XܸH'45їGeXO"@HrjƿE!J_@+FeXP͕z #-O"K;DXouܠ\Ȑ:_ 3Bhwas*F=ZFuԹa"d7 f*[/4Nx"_4^)O#5S^a|k9Qa!kq+%Ea$ qtHMT"։7MդZarFFOM9L·zg&EfMX8k1h>A\!J*4 +"4)qp&ҵBg=aDiΤmP`9r֌BM:+T˘Zju +]*ߠ_H|i-߫0 g]V_vY_TqZ_,n#E]7eH`&. Cr$.g)Rcru(~e@~aSGO݃Mh'eD3_ɶC\ވ6R6g ʅإv {opPyr}9ןL썫M ._y/W:,&C2 na$f/nI̙'2LqQnN a~S{_IG ;9gG:mKyNG 81gL+\׻  Gmp6՗rb!J92LmY0s.p|G|r>/IaSN7uZؚͿwW͉jӁquW 1~]Rc65G#ꆄ8'Mr<5Xn/P ZPLAQ.g=Sm:P2kPVo7_gu"r>ʳp+ K3,ҷfnjӁbRE p92B%CX0= 9cn\? ^(r(zȥa[AQ4#~ o;4Z16%: [ok1=@mc2vo;U~=@:R_ƟѧpeDWwGNC*^x// {d;N\@y!N,t09-_h9G^'ă1Ҝج[-_75hl\WA>:!|yWZU^WE'IBh8r=9LB`-oB ~+,X뛣NJg b%A t<+5hs~J3¥%j?^/6IY0{ũ J1f=9Dx qF\HlwEZs)y)YA5d~hH~%#P2,wyڣi¬q p ϕjS`2L%+%Ļs8z|WE{i<Z`CZ4m:҇G;ᑕEH|Ote冂N&|g:5 v~-M/ν,춶϶`'wňV#o7NZBd!J1SNU_çYwX1K1aB3Ʊ=;Ѹ>w{S|$!shcY H6<|/TgR'k *1_3Fbq} g@Mѿ [:?͂ރ|\ K#J *us6- ? }0y:'Y'd}nvNC,urKDڕpMѿo@}taK%dDqP1.*IagaG-M̅H%'`➅NDRԋ3`̆mJIjӁnt-2A#My匌] %âiǺAQꌦ+.sE4o=OhB b2JxR__{~}(u dtM3E;US %_ϵWWD2="?M9#S kDK/M_ _Vyar%BdˀoыhTsCr*)${8WDD1{)&݂)w&)N[<Bo;i0JEq_3M8D)H4cv wD/-XPݬ9-os,AVrSXB d~@nVl*Ѵ8>,P㬮3< ][`gtZB*yZBɷB\%Vsm,u8V}1NYp‚upZB\ 5c ٷT_e qw9wJ*q+Ve0ͭf|{%|ԁY4h9S.os@$.s4馯x@ ǒmarw#ÄI' t3P-Lgtg] Ȯָ9ә4/e)\9(:iEd5*N`*odдNPd*[9Ca5PTr(V|% cV )aAo6g!,!Dwpp.>teX^r"zw1+[pppP(`jn϶OoLY2jC$Ѹca ~_+As†|X0Ź+~DFTޟf'a -{_ ΑTkiabTd bn7dD  Waw8+w'| |: ˺Mas&m4e٨jliw_Qy7d?k(z}$of|vhó?q3$lG?`kiG5C>_!g>[F0_?Lsk(9 gwBʟ: u3ф)Ap>p+l$)oLa@'K9LdGzn!5 ʆ>|lPI3[麌蓧 yDm2~ˁ"˱0 "$1 G9nS!Ēug99:@Mě{ps+4Sx31h:J)LZ.^D1_ypܼHmNU56؜;NoP s'X}NFY D :9#pIu@ڋu8A챊kdD'˂5]&pl7i|XFяd#jRt5HL 3T[/H%KݒGy|b+ 8]l_yt l|*;_<,xXFI_䶘 CٝRHV7Gj „bs4&Z4-SN]9t?2NwI??[8ofv[W;m L{}pA7e_@XzFD<ԛ lWAдT.9;BuaЗB [o=$#4oj& d ]ᐽ_}s V 1=e,^uBN>;[?yy`ۗ?7Û`F #RFkrߛf$>HƇU>A| pGV^ /~-ݝfT0[H3eM8؜ ozp}3Z/5H$M`/9N42zG. Y4q}d`ns@`v phH{C?*͚c7#5d+or_JxS^Fvѹ_r orX`gC kU4;-,خrхKȿ!rm~Pqυ&%ILj5#ʈKB5ygx9akZk7@?arnJgEM^L4o(,J˫ {+7c3Ӵȟ7Zu腘lۏFIqMFc;.7F AFd8<__ 0D,~h*}/lpVm i͝ v*^R#ӝ_[A2==3D=vW='Il f'(Ix`$ooj"VD"s;CX#>upmAt}?rP7\/AޤhEGD{Ӊ{ARlD~[`~ll%~fO5}86O:|1ְ[r{$f(`I<"c ;ǭeT6~s&{o#G0`HrAzq-n},3\} n4[tݙMt$Қ6 ֋R094PzG2p^h,84wh~2k'sq_5=Vq٪,AkΎjn>[s95ّR0NjHnax2\OV:Q"%[CM8 8Ն_K%G8Rքe>zD@hw9f 存/ )MeaE+/i׊|Y*<|D<<=:<[ŋqpdS2TتLF~Y\6.!}T3sSN1l8g)*DZ%DZUGdC)c,y-L1OVd"'=T(<##U<9PcKcf>ưܞ'>xs4 &Rn[|@W9r?%/o]lmؖy|[!c 7'% z7e(yGi#AWCͪaє2(+>˘Jj/!"|#WDYs=k^O|bqfE.9 +C{$0QRt2krno<@~"'wdMidc8 Bۉ?Y\ɭWh>Jg}; ~D+ZlqAꀈ-W4N-s !!qኰ>^l|_##^lNwbp??`w-^K7uF;.5'Eˣіh}XVaƖgȈOے}G2/wx"WC7|3Qs]:ȐE;%`nDk{H@:b[üa˿ u抬AH #ӌŝdYp'Z,n'iޯ`iYy\*jɸj[`\$nѭC0fJ쀌l-ø23'xJdHgxYI7,ㄉ'p( ȨM而$p?ko5hI6ϛ/Jw٭1}ANr 6},#\*'҇`S^Ɩ\ k4kSg] qx;HF\?_DWi(Xl|B:L!@bӷj,?N~qN?7#h dTcX|T\s$컱雾_aB9v薶)Ho YkcNU lQ.a VKyzdg)Ph2~~ƒ!%2铂~V>~C0@ht~ HU>eźKh#ar.ÑV1}9j,QNJJ}2BlL>3ӝ4|ex1 yBėRcDg)#)'!tO?``愧;eFO *+~SFjcş aOG[/Sv(yoާ`ik l Ww(,e 1fT;e`̥crļluxl5*em*W94k>[F-fs%~qu}g4:XlWޭ']i5dB7J}[|Ak~wNpACl)[t]=M_ k[62BlC U1:R ΢2n)޽2lB/ [a&˨K*hK#l-}!.CAr[,QaBH< A! HҀI}nu|ptuuֽݰ \&Gh2].dXO@wх/FNzH [^X LLg3*M9xu9HyZeټ Vh<:2E$Ɋ;d7wBɲblef .G"{}񵟿 l Z|&yb=*~iA{ѫ7h6퐅Tk5N=~+@UuGV[-?Ӥߗq~@E;F0I ߺFY|lc~ʘfoH}Cq Oh~Iǰ9KL8m//!'Øl&Y ? @^j .EV DKl"=nB09[¥uf5|;|FAV^t tZ+c.u H8cVF-,Cn0e6پ;[OcS6} oq.нa5;d^VYlA)O?K!sYjvֈ=[&C(ITʝIGO>y'YI}?>ఒ>ƫdcp_5(7k 0'c4h0M;D8,l=qJuoJ*X,2kq*]+=}QP#xqq/^V驤M5|K(u;,USىN\.!0?:)=w!{0;|ܯfʪ9E؀R( l}T+w"Y8FFDSe:70SSe< tfBdk S 4u.#W0{Xl#ߓd6SqI?w22A|]_{p̋/Ph`xՆS8]$'~V3nQm_J$c:]QE=Ng@iw[~+ԉxTj0T&}T>Lg> 7tꡨmMl=}2VMml$!+ªdoQD* ̽Vb-BﶢR!ϴ| T'q(R] &vXg< txZ9c`@_iPjqQ)`֧‰fr!'m?!aǡ[FŋOfU7EXiYk?ՑmQ%;,џהɮw%ZKhLE*GF9\ ߉W-tzܦ-2_Hvo9.h?}k_zT酈|Ȩ]36xrQ4NojX45{Zm7+`A'0Cg-cI~og,`2i-^A 5Rl^,cUYFԿa6uv*IX_#{4R )cJ*RPIŔ8T, zՃRPյRQ\Gԟ<|3[*OE26^끪RQ]5օYylQR{R#^i,@vhgȏzzj,uHJGؔR݂SeDoj(cu!P}ʉHá4:{ fIV"!U~-s]`y~'&A!2i>NǨ,6V(.,U.;b-_];F?t2~^zsYoLR}rfItY VVU4w=SI{âtI .Kp|n$С~0G :3 n3ݣVf\`\ӗQp5tjJ%EfٳlO G31~;]|(L~ hf_+3bj:v˻]|Tru}N3 uf:ݜy⃫YeR*h=T{|@{7By&(YENƏ<[,׎*n"`HCɁv9 #V k?q~AL\ωy.$oL$lEWa亷l%PZ%zMbB}j`RwjNMdDw2)A@0mNG~'1?i 5MH+QF7 zm-iz߄z\ͥX:-8…Jzl%|?lnqp/X8$U?g~:)D n^~u_t ߾Rpu9>NqƾNkd$d 2Ok|,eǼ͹׺}b7 lc }+qJsQ$1=~rlþs܀ζ;:H>+ЮIY/N4# :\;N> !GBQ͚U$4v. Sk I+eu_~ _+5 +_9jY'崋~^kWiaB;M`;Ul=ES'Sk܈g[DpiVL-JE\!*uj ibT+ډ.4NyC$b+?ƧtTPAS#QqЇV TpTa5 eD&fsMU\"Hĥ;45˿sU qW9"PA`g|q)+h>zaC&^6LK (cwBk҃mH`obG{|bż!i'{ߖEG )J,կܲarẸJvL͙\qN\Vs&?9D\+$-ѬCbeh[`o*lu|hnE\6 Bp@!\*/ au g%\{'\>:zy#( x/sѾMgW*!]$ia7pu$\u~H.$SohY8ėXw>]712GSeQyby%;C:0[0^Elr%hj&d?6CC+ ^ &;7NudtKgNKs9 4\B ֬aE8BԂE83ݶ5OX=ܵ3d{ > (A4#{ tx`Jtvඇ,.5twp$\0K=}+oMX&霋}DF<( t q} N#DgdHy;߅`E'{PV_"?;4?qo 2V3cc谕Iם^a5MJ87dU-T6f4b+G+z,!B}aaBdєY_UuƾnwEߐU~>{b4EI58`tիo RQVJyu2|آօZ$M\ۅ~IHl]RC1mUYwQ1Dֆ &|]cE&tf.R.ʼbClf!FneVoN@(U#cGx{n젽wbU#PKXV8exX:U?2f&c֬,X@qiv+;uo@7LjgG4! 1/&kɪnbOJ%=G6rCwϛǥGX2*ڟe/Ef~K*c}\1Wf5Mw}a`و5hn{n;z[@6- yzifב! $!"=9QsH{$7sj7] stad4) [YuD>Obi#ۍ赜t^K= +:L x`v IY,($SH愐>v37Ϝ\T^L EJRQ%\X] QsS_eQjc8)vpjpDC]Q|H Pi[JC_I@FZͯJ_Z/vD(nIS7jljz:WFqޏ7:-u"l q$OxG`..(3䧂3GH-p7މ7Vq pN <259w#hz]4k+dB&&U12?np-'Tm+A >t x6&.$>on7V%K*{PpþzϝQr8k2).LG뿉c_vYaZoB&nZ>ؚ$iPUV!W8 ᳛br ySJԜ*U&T; naI|Iޜ^=[菲E҆I!`rw5ߜʒoKZNbxy絞fUA%T Yn5mH3RkBlj~ַP%"kdȺZӕuHR[}{(XfhX?bHFT+zp MOӬnox*ZQ|6hVޮE1nte(+YyYY3&d͵hV^ɕsߙo緯׬ֹVu{Ub_YyEnn%,@+iu)?2V1Rzn͜U: ^k'ueyi3ws6++@ʹ[|e`w׿R-ipSm9GҼFE5l %_G2\k=X$.Bl΄|μ&:tCsgzW5"tJ;{9|H0Kbùt_",UtRa_anI h.l m㏫QGz;ٴ7򚠽A,υIj_STi|;|%h @I L{PQB@頓BE_O: €&,|Kt.Ի4YyU/5+ՑXyץvѿ]Twq^&-uޓ R;;mzEi~]$Gw}s|,RcC9-%1tX H2JT0ŭ@ p zC99F Ƽ!k`[I=)-.k"c)Rry4rRyJT쁔Wxo$$^ܙ P#̙2=?{{7^T@UW_ys|y Lkc̜7M5+o[!w.GrrA77^{^n^1ÛY̼F[zeWC!$q͡<^GGլAQhīJ?J$JC%-)'^ȿDi_}ٽO*<~&9>oZ<|{?~]_^.>S+χv}s,>:t~NU N#?ޯY'gD98(V Q-䥮B=G!6A5u(^$?3_Йrin# uU 뱩ߛ$ck\~>Ok =usg/n0V $9Xǽ`ڭY2[V?ŵ`N";u5ľ\kS8"k&hџ@d?&[d7aZ.ugT.zxBru: F9N\⃓@y_O?ÍF*$!T(>X5%i]俦f,ZW%g 099_S>ȷU\0 f32 aU.pi߿:̺ZmL_-%9݈o[2 m|KFy8+ oɈNNsea9̾6|>=|N"pW|aޒ][Ӹ̝zq>A|aD, 6l#_1Ϸ=lmAeÑx<| 0櫮8 `x[OA+k{A֪.#E*Zb*,!5z ISwZ(o&nj=ڞRVPt_TsX`1> -7d ⚫d˰*~*>ʛuaEG죚1UV2Na'q:+]SX/UZZHIĎX&ջqV>*dle"Bdf ݘFo$CS.-ƞ}"MLQ7cpUܧ9Be0 ˯جlisI$*jQHJ0^ p^O1a6jo $㣐tBN>bʁ69I+=WW| u)IWAÜxa/_pXb$lf8=N" SI[M&V"T+g.#3UOBǦ`!cp/g0[*W^)#Nr7:ҴMџP'SgOl#^GxURFS"2 +: eUUb**Ɛ3Lb+뭀>=ݜ(4x043b^V|7깑D./rQ?Tl/@,×L3䨝g4|n^ߐw^oCO0fbm2~s"i:vRI|l/}(|xK fH?ٚQӺeD!77zosl]_[ l~ȧ_^ΘLb7 ). MM?xdEFBhcw.eOU _gog6^ԗgI:޳;]TRuR8U7{feSG{R's/)#2J`u=JZuU?eȭ >Az5W cN$[6}oN~1$Xr$al,0~E& WGI~x.\5|βDYd2ɟ\q%a&,9?i=hѳW>AqgzԈ3k ݘ %ětۤ^f6koY 9}QXL+$$sR&^#q?n>E&e2d2)Q1O[wVKzz݅%`V(ީA5b˷' {^@ߘn} @l>V!2prGYuWnJX_H4"WHrjyQe  gdjU4*x!'VDY'T$! :d|?&<ДP(>)$=<KU(}3?([7(߇nO$$(t nO }qJSO cxݍ?FpX`ca,1LjqzЦDKW,MMs06~ѭK-J7y#vdb~T٢ˇz=Y܍:~tWaˍ,[= {yKWCetyO66)p2iPQNGCegP#L#'^apoɇ`Ƚ~JNRYc|90b.U-$t&+l8i1=B]S=3=KjE Gnptt~[ M4P1{A'̘}mG_t.̗RCXwg 0Tj|;c%}Rldq[I3 S#5]]2as{E]e!2# +3:Dϴb7y"TFfL6D2p"%u.$Z ;gSeSq`ҜޘWH8ԏjR*gȶ6fkkäMIʇ;pk}5`M)3 54⋇Hմg"8C"6عwug>$;q͏ݰUܚ/#_&;.#vxAX"!RK}>;Ivdž/I-~7Ȉ.ig# +JFGy:!nRQ맷36E $nWNJ$̥_P(!s.,M!KY<0;9e]8G/fN ([$!ҀK}syhKDžmg~i<Rk[p"w#%l g.v4Oq>&l4iEHGv|OX&yll*ؘoG8lDV[jinm38Wq&jWK2 clFL#I&_B!O#Ug~ Q+< ~aqhslNԯ~aPj q_B}e7BTMӁo@Jb0c,u㹰z5FqUzp`{]wm}NFf *<4 㩤mk<O b*K!N\ܪt^MI?Vu~9Ŗ<­ ^lѵx ALn\N`ru BJ4ݪhw+HwC,f |8Jo.l^TgNaH; 7lNyZªg<Hp VN@6ٶ-BX(׮Z"5M>KrǚDVIr!SS3:d fV~﹨ Qn9Ǟz,R-+h'aH.E0C DwH;q(NO?vXʖHZ_a{,U|L`0D/L0paǥuGpZ:rUG V`z+yb*-ZF屰{՜aѧ5G9ۥvFQ̒lcu3YX155'i,#ѨCDLƘ!Gqi#. ZVZmR1A(1D:^yl9Blǥ9bYs@B6a>/Y7nm}"Âa d}}(^ɺSa!uzoXڝ=ˌ_n,idtH#ƥ_W4}X+]wٳ{k`@#o9L#wQR(L=XERg&|ERplԧnw5!V90e~}1O$dH,WDbRg-Q*"e07"JL,|/V@Nd5>e<2\YI'm>!y"X#Tla0h o ޯ:_'ˈb_=XF{; [f_O/u%HlclFeɈfM{W~96V'^h:/bAw:L{-L{rҐGre^ol[Fӓ2"&vM%!SFǾT9cKCE"b]B&),5-Rd7DX͌PNytP;cvƔj_2!WQட:]:5̢-~ {cku$|__$!'6#H#m<"jm!S98c#􁤑6*l{\Ga[‹dWT:H-47gq{w5KuJb'5S.:uƂe()mt, Md":egН claҊ2OT<[3zYg\UzB8s2/ҳa;wqf _; 譒G"}Y U>ϗT[o Dvkw%q&͊^B3/lG\22bn$`)# B5Wb"GwokwJ~vNz fU޼xGEv(Ϭ JRaq?c  &H>(ætT_zFHQ*m-Q+Qm1l8es9ZXuqLJviliY(S6A|؏LD8ѢwZɾ\!~2N$2grF:ا {|mrs9sH4+ A1g0`#{a9ExO/S``)k>g@!0Rч-ڊiK eD{!q/ο0j×ֆKirh42U7D˟p~3 .pXxfjwKrU3BY}›L} "SgX䚹 Ue*Ti4-X=)}˂rMgh3$HRe9#v}\sδKšI i2v!ѲW{ҝIa0?vCуyKmN췚5K >hȵ~?"BbCX^׋?W.Ox+NM3 'W=hglpJ ƥ2 #}递ZmDGaZP7 22FzkZj%=!%Vq?6,;v`FZHaahEٙ4}f>&"g ԡ?u#6[:C`7fԒ"$ֱpݲ?օ{#J?c3%w{ݱ%pC;,n ~ bfI>xɝ[uS?JrVPp^!fXVLƹ(L/ZH0ϷʱLakHEu-Tu"gmQj#ǣFhߜU[$jnH>T'GGf]6T9b4mӔDOt9Rt NP|,j] )O'=2aRd98^5[J$җT4+Q4jN *c.6I ۺ ք-K,Jc FɨV$gx/T$cք 5+qE=xiN:l ҬR^N˰yzyt7kS[o5gԦ嫳sn*ˑ\RkEܻȵUd;NʶYU&"ɐ>7d;Cq9Crc*Œ|&!,pa;"XJ98c%aKI1#> !y Շ*,i8{m0tP|uE2#_-CE1w Tq㮰P刴жsؔ-);c 8t[#J 1T!w'Azp}l䐰K}̕f ږlRO\A1y\n \չa-.n=(X3O6(ՙ٘[BfRs4럼 CJu/lm^!9]լ8h nYC[Z qT]Fs_/%bbx]W*6ash $Cn9dGEŋdȇ/xDߏcSh _|aSj͇ds$#?ܬfZSRY;B6c^~xs[4,nul[{c‹z$"u5G-(݃}bI~$fsA8<~K$ ŦyEzX8ГE ٗ tƒ:3=ߧ]y]gr26 BoaLF|>8 H1& Ƚ*-Ta qF7o]#u]QVBGx@ĀuhÔMepN" T"l0ggg7dNV=$h^ep n#* a F?,k~Rԭ d /wKڔ _z{Ja&fJ~ʇ:Ҥ(-ݜE;:V[^P=u6кw,s& $NPpH¦wDoaa&&XlJ(>f8P\ za0z >. l>E7wB'>|0:$K#&}T@<-#n ⦛ՁNl.Aa@/ݦKNIN|e|G'&Z%a;RWK3ɊQ>S\֨t^hj7r8AC-uRwԊg]A5A჆H421FɡToோå"'aj?"N;!wF!J]Ҿ0|ۄ/<4s6C9d! S%] YedY>nzFEɬQl>.}P۾ m\j1!fT {8ۚrV\XKݣEo^혤Di>?9a Vct'r=iajCA7wlsA4r aBVUC9~Lpm0qތ^ -p"m]Sr9@ҬY58%!2l.B2imtٯZΆ+R"U3 ΐ1"j i->yɈޙ "VQ~\j|$?[? ";;J1aiXq ?#m!YC~/&lip#g@{Un).kSkD\!|~c56 I4aP,ܽh _~02) 0/5k%V6IaN^p{{vf98'X7SV#?N(;hd.-O'W𽨄)y'l L@l6wiʵ¤=덭kdV򤉥κaZ)71s*O~?0~hyc:C<*[}foIm Is~'Drg(h(_D{Ży}Qst%j*4ICmw],%-(jV{[3e2Bhp0]==/tZφ|̋ xUb0g[$w>3nJu D?1!̥ˈt&[}`heK4|HҝTz u.OP@ I?ǽ)IX<߽ n\E% |lntǖ̃\L7(^1/ga -_|rX́5K}0\ Z4r>coc+br)Ag-'Z6+ ? rRͱ#KMqo/ *ԩj&SԑQfȔ A-xByqxqlR$?Np'gg=܃B(7/bi#l=*k5,VЯX$&-xJHzoǓ)$>=&Lap o 潚n]ςH`oj;?x'H$ l?_9O.ئsCwxD8@N$4+o$, ?ڮ331azo]xE im(韉2f9H6Ơm)\EliR\6Ɖ:X>Zů  ;6=H˽tDCTIK4FlP_DYBgѬWR8u$5e2Jof- ~^tZ sEiNd`oL7ogI(0)}}U~ lj 0djÕFwDŽZȃDrQ2[a;;ÜWT\//󿲳Dخ}_}e|[2}@Fsk5O+ !v~#lŽ xӽ2*{].c7+:^%lO +]REs? @vL? Mb3,^riYJ O}wM.&JDbgQ"}g5RΞNǐ2[tctܬ-?us}.-XZJ==7VQ_W)0)\<^+-|q%"dI3.ଂ߃A7r㘧.Hl`,HA#Lv[~t863 ab{[!#l@8k\|Fx_wwf 9 qvqA^ۡ sF*/v`;:5r^%##1Yad |3l[ 6SЄnt.@%x U ]2lOp/=v ל$ IuhL>.4 \p0F[:#,Ym/s`n,`2)äFQ8V^Ŝ|0 Hh KY)#dvp^N$fJ]Z8 tM`TT _w`u2SԁPiG?O uߐ*+![5vL> џTBg~ 8@O^a>NNa8T&gVOQ2e^iEtrX,6zy\"nd`*x rv8Wj8s:iv:7&#\EZV/z+zya>1cXȪ%2J*HPșdoJi8Xu>j,_?]).]Kĉ̭Kf`yw{a`/9F#3rr܃NiCėvs8+ {G3 Er' 9s@7. azg-0HꅨMWʏJiB"gWc)[CY ĞhqPYm`QIL'= P_r b HMcmQ2u{1BZM3=()N?ip-ޅ[y]ި,/w!Tj( c Zқv5Kg+ )~) TB(ԫ<70Lt05u=v.$<"#)z\5d J-2JiF XT: !| BȔ].wJ0m~'&bX;Zc~8 \ s՜'=ameċX-Fw8]z_'=`p^lìY?&Yɞ9[ lyeً9 KQ)3sMӴj9#VIэ+2l۟YH[ZF:9:Lgm?&_Qa6)ޭfn{%q?(1]kf8F|NӒ-EX{z:6YS%DNrb+ t;IتQSpx6=]^a2bm̢ ˈ>%c/ש 紾#nDtH`zz33܈pm,#S a Dh͜^fMwFi ~%C3)lM22dq¾xUlpCIhYu.r +}|I|0S%NjxHaSy|lU^e  db>O੒s7Xw݁Q;(K52ytIƲ /&U%5=sZDVrMG&{|^sQzqZb 쌒Qr 3dDv~GWay.|`. 0ZWns"υ|kHڍh\m+J7}&2 * vD(ì:Kc qU930}L$C P}_i9|Ӝ 5xr$9XZv*$Q [u&^uӠ} 7 K4 z=%7ȥ4 |< @'g^75 V yoźiyX̓22/}}ZD]1Fm2?&%\cnkoC Yw|a%Cޅh s.tu90]%#tr{R{_{KoH)/i4Vfc.u8ǚU[U?]c1Lar⧋ Ot =5ck &k20[9֗QJ [&cUmcӼpg6.!f`aXneKWA0l-;=]qERVIBrFcF[7uJyI "5aaW>.a.0 zVZ+}+}N_v`Rub#Wxur7jď`P%&gY16r_oMX{YDǀUX7f tje>)NS Eܤ<u9ݍ21|z\'8ˋpC#d)ҟD3Ly1RƵ2fDKݼ*(y+}t! Ĵ1z! 9.*)h3&ؚ=WId{fn. g]aIpR gj]x=#~*+I8Zi lOtIx8w;/ޣTa\r<˳Ac:se+/y{q<@B';ƯE4Lә1eˤedv"X>eZOb9~Dr7 7]/"AH)S0˕+}ʯRJx3 [ 4TZ,y-ÂM=` =435Qj+[2bS:Έ=du¨}%5Qi9>%QYa!eD +Ğo8Boc ))[:Fڼtp8pA[| +ðpPF(Wbr >: DB9`0JGelH+I l2Kمoq XDc=ʋe ݆%<r۳(wm80#àU_\Nι2ʶm-<'] JK]nDDNXVd(s6EC|=g;pI;95,=OĤެ"9F٥hͅGϣH`!7ߞ=nrGH+c8#Ѽ@EaixuyE(bm(TǛjT^iչyZ}ʷ9%9`2D4[`չ"' "-2r"ODj Oz-+…p?!㤕2}hI5̆E\@Fp`o5K'"cAN^oϘnZL-$ȑ2ڣҞTN{\JıpcϚ18֭KBRK8͵Ui^q 9DRtJQyGIzcmeHކw{FybCJiಥI imm<@LQ)j]ұkrNw'.V:v^YTisO*UW~֜%քdXsP|cW'$x v qLK}S7UkVg?dz|^`W#Hvl%ؚvi ^[Fn[N2F[L[lϒ0J?F1|[iC)-|餫6}KƬE>Lɢx$SitFwSF!WzK̛1kۼI YT^!Oi0 (ƴMsD6:`֬ C*oou!ų=B*%86j5ҫU]g]m@O֘a ujS !a5QA`Es8k6̢&O&!m a=M.l \zY ȮQhdG,~%܈ϲ2dO']03j{.T3)jȍj,) ifzRsXOP ;(w*G-S)s>KGi}mq$F"-SpQxB$KD'RrDOzcmWvO><wO}[zmޡ*#ϭ"aui!`N`)[\T[yNI\b1Õbs8f)A%_:#ptoZt~m\gSoגr#d^,Ӕ-޳ ޮ.Kyzu042i,IW{X8. Ƭ0j IaF+HŇ \L zDqRv~}S\wveebkޯeZP2nwp # JlMH_'#݊тg7Gc5i:qn e3^ֺ.RzirqY{"ݘwЂɮl;ni‘u>Oj5*$Z͌1=rd!| 3 `_w)ɟ!OJz9B 'vRz+"W;-0FI+2e9ct䆉E751^y4DG|w;d~9웊Կi D2}<%!v!pvǔ\ ! .^- F􋓌Yu@7 Ʒn:= iBH+~R֩P,EN^E6\=YʅꋐTEr±֨# H -TG-9^;E %t?̵k<(Jc+Fя1@VRk4E'#y P$GGks#C/Ecm>N&OAm:Z0+m'Q؜F/#k_?$ LefN|{nHwnfgF_glS g3X?0nX~aXry[ʼ|Ff\<+&3jU7@\ 0`5 !\o,'_"B\-c!H6_p;, v&*W{-~lTg6š xRsp.mYiJ֦+LJA,azi:A#KV%8Xb4 aYT/]r/j4O?ø[^y) _\aNL,^H n6׭^ nƖc+Wxhb e .Rۏs4T g;=-1qg~4<}v 2)ɻ)[H$[ѶD?M ܚ5:Y}ƕO6ף\NOYuiɥ d]!zL r{km[E%2.R^*ckf0eˤw"z"ØbdYzG}:Jg-"8;YWck6|rUXx=~8E/k^@}(UfWPxaUKVJ:~(ηҌɧVľtWS#K8։T#^ tvwo[2̿5| cN&]m!-{W#4N| MF8fHU ÍrmKGA~t6b c|h2 oToA yk-?͘ndEB.[: W#Y:U# H^ZU$wHfsTVdGΐfuK@Gm\1c5όiZ}*t_fNچF+׸LrjS o! 2m#D3ݐ"̫j^!(IYxoؑǩ"LNP)"~tk lș轟1 u7l;0lBLڑC 7A ty W[{բ&UGt31)$!C5]F#{m%t !kLF xwyA>c jAtcG.TwA'$xG\1 BPO,(v4)c&9.BZĹlx2c ۧz @hŸ]M~ytJ !l1 1zHYrVko2*֗rn=Ft~V+~> ێ.Vzӯ3. y!c W-O4q Cǀ:dV>j,uՏif|'iY(ug%Kc2ǟ=r(}:JV>yn ad:1^ liCRIY@82s1g!㰝X+8:$XzPRO>֋u/k?c,0\lSV&Kd:'/pkvx;$,VX"~ BǷGO!ay^1(=sC)@> _t/cdzuF=+;C?|wf#]B5t pWqAfBepR m2Xu:Lz'9Kt Qb+4ʖej^X;" n~͗N{Ve/= ҍZHjsSyއE (8Fm-ʶUbjʔ[lG"s؉<8 CW63V̆F׎ X||td1kDɇ\n1#Qi8W}6|E,t~7d0x-l^;\ #oB+I6D7sזW#\ r/z@V(ob+ 'wa5ˡ՘q5RX\RG鳅T VyMcﳘkyއ.WdՊ~lK&!hѱG p{EPŅ22VPBsV,s3J=nD9nDaZۼ3IKL7|d%DTXE+xU ND S+҄ sYup'/دi~6^ԯ@F)j:ݺŶ` ~:/ 8ދ$l }gg3 ۆBVG)IgE{0}~l^ ˾e* *b{#M=\wɍ` kA!3b=v,B^^'##*>U}XzC%.H ̈́oA _J/$~Ì9"IeM  ;_ț%2cDʘñۼ3Okx:p1%|h1~3@+|Ę8g3gJf_iuRLV+GLVVVT/T_.'}$2"8`69˧Dʋ$>~0y"mt?yqPW4[az5-Nxh:ҭ5՗pXI6egKos3~^GZ&Pc>7eXWnstRp;Bn:졻C|~f9SfadB6Wk7}J=`8.V+L_UX+ $'J!2T>aL\..Pm W`T;[dAC> jU ›w!dB"lSѫ}iKFG]B[$̣BW7WXns2<$C>f䙺[Ba2BzvɛyKDʿ:|MnpH+gyI6qiI* 7{yryk`_UJ!.d AdFCct8B.lG!% . aL)ޡ%W*7dψ(%u_^KWkLNFfӣTl픐s!:%ԣT79{?uJH)nr=J痝YedT> SUscd٣ VVscvA3魮>IӰ]z1>53\3ƴ`{}Gi.˙k]zBuj=lӍ̂$|s-Q&?1\-kB' P2$_kG"tKh{_#OyIkq ͏πlԣTGUQ|UGQFV>g}rKPk^qt)G t=̅]Ggs.EQ|) =-M=JMW2rK.2.V+l9O q3f:W|l֯ݾLgA4 5øX䄘К|_p--٭$s3]$j=$EWs{;?玞KD6ρc~bgg(4.'#a'xiM֩W#. k0Q.?WGiW  ^2&co!NbGJ-N Yo)CGk}qd *۷8^'0 nb8_k=ǁ! UȰG<ӣSw0:X'FdYBw+0F fX1t]n2ezngJV8o{*f v<2ry@?ëljNv~lyMڶtS}8I?cNvԑshhd?@+ M]E\:>['G3- 7C6\S/ϤsʕQtn¨l`ԢߚP6^Fu'v9z̃.ϯ돋{ם096v/&mҒl &_lp%>^P(4T^2 eAl 3F^aY8p m*ڪRTG|;&stu\ŗk5=hWBBZqw0FA4S돬 qO'QuyCuŀX^kǖg8az)&^,˛0iόDf-ݠ>7x]T/$(-+ӰSQU@9t U*=^B=Cx;4GbXڃv|ЋՎT`km|`-d'U?ACd|Z5\/8I# ݖipU/*bs6W֘^O!J/5 ?CgHJ^8gn]y1]>u(p#H:X?&uj8 Y/;"ie4uQRV`=!)c(Z9'd;}:R7 ƱZ N|¢VT[=<=:0;8V[8ء{dO#|j%i?hjFZ*(岝\%=(a:9V 9]u5$g'Z ?|׼_sUB=25 +7R$ էdGX]x:#_o^D_ BejX.ǙV~uHSN?oXnsG"y@#%s,n>&"=}j4xF_CQDv%vُ,Ʈ)^Cv%,|ȷK&랶fXZVGHK4z]!9S6TkoĖG/Q| dN 5J= '@t S )fuvAGc-k $8;i#K}mw?sLĜA"}0 ÅFÙquԚ?dIT#3'/G=>cC\'cRZJ]bFȞ(ߣL#xK29=; Z#wBclP-dcYXIiC$CS^ {؃ L8+l(%i)."^8g'7B Q>tቒnhJ^v->0 T#"S>!Z -5-rn42a Xvg(}ħ z#S>J/.bsޠ \k KZ[XBtu&2Zؖ]wVΐB;pr7㫪1ٷJ-S=Tb/6hd5VmT` ΡGf! v&m͛aέ!l@52 n.ߣL=Aߝa$ '򊭘{N:4}nγnDdQWgchE>LjT_9%NzcYؿ!} "AOL̡߮^a`=+"7HNTQ+9bS`VLӬꛊzyQ[yWd~~rkM>takip _?>)+/F#2ԶAp;j- u*Iz (ڐGtf^jOp4=`aatdi{kkseq>y )tp4^Œ1خSӆ0S^/2 W8}0k)\n0Kih0y[1Nzck]10\<*p..“xɈ8 =s(JBԘ>vۣʈޱgdD D^6_̧jTjDzκlS=Qivh՟݈aeq%khĺbqVNƜB>%e'H{o]+." e7#V\Lc#A$v vsCBVEdvc>^taΏ@h>ƜE-^j/U %FdX uk|OnD?X*<'+i7eJ_ŘsG [Vc|.3oOhǼNqɯI?Ώ+8b+KcTp32=4mFf. 3~ʿ}OY>Kn3.l[ *@}E\/#c,Kd>j[eeddv9Z;7b-[dܐ=CoURfş:c n*dێZ⫀ik/7iVd6z{RBZ;3.Ӂ^zÃQ{ZIy=2r%$36Q,H$,g&J6|gU ݀ԅ?y##)X onQ5,aoӋ2}9fo|>ɽQ.@Ԝz2*Y3M 1i1=jN@ ה5bMK3;`Gɪ!cCh.^R&b4:kyOndU0D:7Bme#dM> ZZ2ydzzK8yTe)19_2=:'Z:̋=±^jbL 4g$YCI"v'<-~80Ѓ6 Ӄ1y{['5@r7헣RڙYu﫰uU‰; X eݪQ?}z}D*>:7ljOc)=ضH6Ppϱf\o>gxQ>m>y;bX|Nd)T0tDzDf_Hb@Wj;? 3vKјf8n|._"+Nϵjx@'kM^ӫ^jIa+)c0*^-4ɛ#k vEǃo͈N+LɝoG׭[zbsnEx{&Nw]ζD+l/R)w.\뭈i:4pі!z:"A~h.,ExvIv{ -Gۘ۫HEM]_ 1(9D^ɺHE_a(zz@J# Oi"uI zn{#0K9Dbt"AWF9b $FP;Ho{NF!ظ kբe@{WH9b `ՂGz2k*1ys24l@g*T*TeNlTX!CyJCxe*_9h^>f92T8"I[F2z0a,e"WJ͊ΖoHR=G҃)c#PFRaꅳ`s݅X*YO`vZɼI[4|k&QutRNԥ}:58vYW' XW ?dUK#]jM$dթռèI,q؅ IuN2]-v4e ɝV2 0xyw~^p2FNJ9i gn/NkF8Vu@ tlf eFP҈3F\N]u҇)_6\z_XN2۫?=>?M6!0$hM جBpV&6P Ե$3\J[9J?JI&"!"Y loy?,K7]֠;u_7wrT8li}pHF=gsR@E; VVSF'%Ԍ?vɞ-# \>Mʿ OɛpPN$̍KN#係>o*_?`lOa ̖Ggd>ME;,mˤހEtugg}3ATp+^޳$ej:p|y$҄ XDmкL. i67BҘKA_7xW|9խ+ #0<BBMYԉ?ԭvb$!5u_[,n<x:Tadȥf1h x+y@TnH%PPBk "@[TۈTpW3bꭞ=PT;-]G{h:w9BL?7s#G识 D{+y;d= 2eEByyQe ]YVXdq1eHs$]~a$q\1g(ڱI` i 5;hU,..#U|<;[㯊95 ĈDy]u#j1ۼ6S6 ϝg{1w{Rd7\0  鐸seg{³|LmB*+cXjGgS&+=~f9`vHKBDCQetLްH6rl*K]$NfۙD^z۪2 z{2*M%b* ~W]^Y̩Κ7Äxz#=\(':6d!j+BEymfn\\HP_G3S˨>e1) |--S>ec`'Te,]W2$.~Mൽih, >IL-HH]m8;aʆNy[ txF o8aF,E,FIEQBg'E(.VSVnKzmiK*N4{_^";|!-SSɺ*SD'?mlĞ-!'KQz"N{ 0}'4 oTwR7-v'jE膊jY?/[v 练['wG /{i~Ӻ}\af_p>u㞯ቧcBshL_'1AbNnd𵷱2mFi~y x'J}ߵ/̩w)Ք9i"L7:8ă|u,EbqUgk\K4R]Kj7 s_,NؑGbH;@{&|>G?*;Sz sVi%P:&z]M]vg09`W4O\.3'fo-ٚ.Vż S}Er}J:݂G.Zk.Cwf %͝EM8@cǙ$_䀮e3[yP;F]0Ҕm#e%g.-JkB]sCMP%6c=[W(84e'm}Rm+1"DWx([{ x/Dy qBL#<D (%Є"xgӈ[ve1>k@bTuKQWB![f" DCA(ƛåǯZNLqҮ<|Efyʲ@=K+PisEUxh1͐4ڟ@I߼?>&X- vab%j#4aBp& m l u]-I]8=|XC_t0du|"QNeffWڰum^ $6m,u %g<]7ledPE 1| 4K[6w/Z$)3&+ɨqB64%~ibExCnOƆ⽪>B=[T '?U_@:0y%4$ %aw5'$O SaC'_Z.ʣ["ynky/Sx!m/}b/Xyt/lleS,?bO;; 4w"yPk], f&Lue ]pԸ^r9}{~ hg[H#Ln g7gbl.(lz/jRd]ԌR̕ Gymh9x{f͋^XPzWwVK+i,77Bm /W,W(@BC^ qoګQ_O#E cjqF0C;ˆ4rnbd0A2|4ʊ/&5 G8ucfۘY D!tA.9DY/+BC>1[3Vѧbj=k@ws}d1=8~ꂱj7#k9CēK/kY^XATK *k?cw0L*e?u"CXuRدaM\х \ 뒸)ȕ'vAo:UنAA3#hWNׂ2W/ˣ=l[檞j8lK0D_f`^W=DeykݛWNi.jύ#WvTOs5MNEE늵׳1dNX`.ԉ7u[#;yS&߸@=u;Qi6\C~~8UzA#jCjFbE+FݞSx he'x^F{:c-7czj%Z$O;N\xL6⼸)E\rbkꏃp)[" *.I"g rNcx0 gYC?&XGik9b)ju6&\-ffij1 ::ec)]x)#|EF;s\H+C oK1Ԍi^]*c* IwU}e,aYFMQ*b8eڨ`9uȅ}X:Ũ nH 2&Fy`a^Qo%D @1npIKϐ:ax̥ 5zW# :o>hWE؄'dM⺉VN1 (&ӎ51 \RQ.[Waj3,P&eγ> (kꏅg>nQGD5m[Iι4t;li w@RGYhE"}׮t| Ca6iԧsbBĥivKBR|fERѵ41,bU?[W 1%#3JoN:dO2=ahąmp,H f@WM: 5=02AձZ4VsR'm1d5 -%"&3 ESw'wtcWؤ0s sXxʳc74@W }blxH҈ǁq0=\N),uBDC<>;>B$"_|f.IDvIbk0͘bgQ{cA{5V![ 3=\KИ+kӌ|ml‘ iŵ̅6˜;V2{"kFz9`Tao\O'Gh؇rmX/e"h>hA&:ل؄8iZ,j{F@hu&Ã^?)mӷ'rZA@ԨX:%I,, gxr"[u&_OWe=Ue iݑ?_2=ǵ;T6_t3my'RM,Xp]cT^=Zr"b%U~Z?j:$ͱl {Q2VfEG2n΅FIzL=Utw95vY$ybV͢siG9Ϻm!ZiG^B1EeSWAr'vQFIPz~ɕ[o;ߨ(s%j6z2];y2TqqaIШ,T;E6J!bC/YR'SY#殮T~y _LV^ByV#3έÄ*SiO.k]Pk~E2*wZ-Ep%t6.hDBH+Pԫ%zk }@՜QjiIEs $N7zx-kL&$.=T$Qa`EPK#K=PɂiPTO- X5@i]sR7mV(ժӸ@K_Ԯ7."W9Rf^-R;mZ*-}3I"DCF 'ͅ!7-]4 wo u1IB"rSv#ӂ NAfUm MVOb̅$ƯY@r+UDm,4fsCdjﻪ˷HFU*"*.rBΎ0 " Ǻ;lLBCl9D=ݺ;y: fፇXļjBۈ,SB3kx/0s&MuX4]Ǻf n!VY(J.B !I`t6hub,DADtNgkE+rS3ױ OZDL;7N7[RPWlZ(R`ɶ ]!jhm+QuX$~~5pf>Pv hP/zv"{/NА_[eNK $΢ُ֧,Q| -*y@ YLohft7gsq^O2'/$Q-ΦGį3pPM  @IJośq5KdэT1O&V2Km]R'6qZ^:SYS04#j&OEZL>qQaѴ}K٣hR9sldM>btcDž[ S1%t`:,ܿF=_EB3|kT$/7}u jK"Q;޷.Ck!G!:|9rUnjȞ 1TE32pڍ m7ԧ{rl{+r&+*Z]p:n T; ؐPqmԝkӮ``y9p1Fy x#pO=e_;-BgtRGT~lOkBMgto27'd~> \ɣ4;X$z+E l{<$ڠ/Kk0OH4I!z#>@6&!ze1O%#D&FE[8욂xZuGr/eWY&Dw05Oo0:_,J$1bnB*;1h/laP;QZCIMam1Rm`w`y3i{yzZi;cpiĭ,Dɻ tnł|ЪXj'u,#DwRG E8 Y,ت ),6PTJ[fmQbc t%4+ D{5ѥm WO@^TvR5fO6>-*jbBۨ $m5Ÿ$aKS ,er o'^q/ၹTNb ގJSc\:G3łE}gKMlfp$MYlիhg鐞IN{x72y\-B(aٹW \"6g+,39}xL_Ts[[$NMMIȫ,BE/bIPiw}Zq]cT5NEm=3 H4J,昣Obv:ю6rcU1vZ1tjf"jM0=W &hZG742mH_{?+Dd{^:Gw3bKˀFIjˎ34@5ǺlZ%iP/yh7m.w/aJC=x V^ i<{_vԝxNvyCf-SABob2zqa翸c$=AK|n;#֢s.$]59rꢥ^aZ/yq{d -{ԕxk%;l;RW8.5S2ԍT6k#m1o]K˲˿8f6xfMP6 ӮFɅ<[-N~;D""?1?:%h8x#\1d)KyP[xP MvHh;j31p>ܜ۔^yTN~aCDϓh>lN=Ri o۾Gŵn[I;w&_a>Q4Xth@}=DNҒH 9Ϟ<_3 4ff:I;(02hj.4w0ԇ3i*ug4| ߴ"J+Z/oS'KV,;r{8.3H̉(n<" Vh${U+oo8@UE};η~4JZجc G'0MFS[ %՜9ʪ|>b4Jӝ[SW"_* ̓yB&EYf\y^dZL- BKd.XAW"h\P(B". ˄3w5f/ w,PfȎ5Ovi׼D#H}`Oҟ[|OlmIه]IVdU0֫fb#؎5UZaǟg |_ؠ$ ϱ(ԗxwغK)Ü[$+xPXg| Hۜ,`:ùoOVP; 7<{&CXTۧ81Z[msqM;83X;҆HKn͉K3Kt"Dr`"(^EW/3Ҫui6QGzXؗiYo)h9kxt$ܹWeב,dJF^ᱹSeJ Ym!Qz;ܒPWA}Jt?H6zG<QI#%FII\)ʦ̫ ,}ѠEMx23gqm6]`YDM t-u+RԟBYzUpIRG\p}?CWi :W "()_A.urGĽ5 +f4%O%~ޢvBIʂ:_AQAcZ6^yqN^xYJJ$[)G]REYSn"C3?Vo1 !ЃBҞlbvt  u_tz46],ml 'TgY$E.ǟ" 0eFBM2ޚiPX\%숶fN9{ʐ4ByC]T2EK,yvq'$;}W +(m̔%vfiu6WޣgjIyF9|[E^ :@U[APAH{aK +m  1HP=cǰgO+'^%TԄgGu\#Vo) <"[1Bo !xyBJ*}I3yd7,"X|խJ :I# OwZD}C= 'ߠeB- VBcz! A0yphly# \JGMu<Cg+@Po4$T-.!~llK J1*ɎU.ȝMט_ĞșQJQ`3<+{ƝxޛX4QƑncr-McZ?[#}70}ԉ~*R+{ F~ӁTfj1;hd=T?#diPy"11[ѫ ׆s BԌ,B9E -6&{O{ziQCdc (RO^ZDZboSQIfq95+ޣU :{zY#5%ZTaJ>ncQR Qs۽ >Ooq,g :ۢK;2Uwg|lfI<֫}쭒kxT%JkX68T*{OjhAiG*5>T +.!eC2DKNJ&y }tMgʵEЀD٢[l D{Wa66" r9_ _"] )< ]nרGB_WGCHDo|ToK TA$j2!rf`hޣ R%$=n )ܰ~襪T$nC>gZ@k\Rj-x[zRHEr)ދU :? O7l9FNv'%j1h7^=_KS(2LZLi56^ {֍ fτd|r;aiT{^1dYMHoO} 0"+1MP _Vy7赪29g~w/=HӨNoごm!y"D]-Tk|B3YWxPdWPO諊vNrGXnT%=RR Ez?j N?y)~}tՔ1-l h5P FѯuŵR|;B34'L"uܬ]1Ӟ(}0Ɲ ѱ/9D~I})Twxb]B*MF4tYS>#$SNMD!Q2d'AL֚Lii/[L70MgP hvИ>$ :Wk)9~ eT,hL~>$'0Xm:@_!\#y<FG<#$ΎyFIB$n'mt,Vx*3Ӆ*АmUN,-2^:x۪MAZ$Aav0:zk6E>|mZfO߅ӄۅظԇGNXv2&&Ϧ?V_AXgnd% Ifl_AEHCcϙ;R 3u[͖ƒ.5] n9_CFxʎ848e\8"Epy[< Q)|mlX zje@Q2K၌z}oO3dۚ A8{STt Q!l/9CلF?#F'-,bQ \tzt˰}0 \[4-=]41G7ZDJddO2z As6=Қ2:V'ݨn c}Hd4?.6e*_]/¦Wû>i+ 0_EK@v|D<Dnn&jK&Jɡ>T lb Pπ(ґ ~/#ډ-̷m}c b3a :/ a*0br7ԧ^pAor>ИOpf gAM:qW *SqQK T)|Zv$̋LCM嫽f:q!:H)>g2AOe1+*rͲOЖ]×9is=v!JݤjIU8l#1]+FְPf)<U6:֪:!XSSw$ :lWg.!]aڕn.mx{1(9u+eav,H 3' 1$wjqPe΍n;o0;anra/E c4un)<]m4$DUfbr9ˏ388Ĵ@g.:Zh"A2ߑʙ 2xu'!Iwr2,Y BB:bd(C]˟WNKB6d^Ngޘ{ky*֪e6ϡd0!QK>ڒgզrS'^h4M ɫhu2SgXuJ&Gt Egg4"7EM& m4^xҲ I$كfJAWPІ^}y%})uۗk뜖mWAL'DM@?ߎs!ܟzȶBU-;'YTdT"w j{+݇fUYt^E[ˌx,ٵ>4r#d xv V{ܞ!J@W|چ8QzW|uEk3p__}7_QjF4 :\{6;F !cȍL`YE' [g,BSL(gXߊ 'lE+ъETtގcj J:c"KIR}L ے myn e!ba0RŔCt"c$QW<~$ $1LmUz[8bUGuBZwAd̃3Zk!çlꔣd0!Ⱥ ۡR$n j§_$=CrWTh_žOR-hh?9=&J@*xT 磥7D|%u@W&z_DYAH20@Hx z6w- [&Ğ ]qo:4K?HiiP.۪AtF-b;Bhn;폍Gc ~є GPS'$ar+$a7M†&u B] ?j#4r[2PL~>ĂӵyxBdԍo4ƨ" A sƂS.@ev &&'CCA?x%"5?DH#Npȼ ≧~""aЮnK aTОOL["=TVm K < #EoY9;Zz}9Ku]8~P{"ɗaf[YLQ-p]ɎMk^\1/ۏ_ !V̒"hv"ޗ ŷ<)cN\ A:Arv~ D?ɘQQ¶xbǃZ̷~qdhj3B|^iIg+%5-_Kڗo1rz.N*ۄOb E0S;O|ȘoMm=yyS3&L>ʳ|V|å,^U[,kvbnVգggx1iy~-'W\~C^ON}nS:uDɑ2)bpg cs9S?fہTU>Beu\]BSYzACE[pT="5Qo^ğ^1ݱ?iEݰ'JS-6͋,}; 0^$-<33[ʡϓrgƂ1YPO/K-Z.>b,et{yZy"L?= !$SB^\:y5WόVj;~`DWMs央\V Y{0Ȭ/1Q-J\b$Znl$R* E@AoĦϦ," _[KSJ5||QP|Ex4_46FXnA/1pչT>pB3p0Yy gHu qm5q47&1IZx[;Ss{Z:Zmj9 kZ_Z[;/S28#ե_;sk۴kxsGJldQQ &r͐T*s@њYCn#l}$mp;5!PZݜ|Z}T/Hm!K2`[ۢƬqeژVBZu"C5у"7QrV{yrs^]&BbE­ !z# USj*:AmTPyisUvZ2y;lS:_[@r@\6/5 @H:of=NL(Mt]@oW{Ӭt,k?^<EK}p(ُ5xbar&)ļ(9lKZ!:}7czluH2-OMOr;]ĘgyХ=zK!s: 8V&x,I^k_GY.vop<ovYDmg,]WR1FAW51ze,Eυ%2?_XiI}PY% Q\u6Ijo:cUi@vR{j;_mB_DH&FmzWza;nM2633=bѯ>(?5_͌YW`ڍW=Ys&+FƂK˞ujīΌ9=Yqپ(%ho;9ӱAN ¾6HBPY $ZOTbxg>-3߀8_db΅Y""i:ËڗvstsYΓWSY_'׺NWr=HFA0WJgg2ӲrIy~gEey4KiPl[R7Pby$j,J$'un9%`m}9 SMtn6NoKj'1 m♡)tC1*md,-tzj3K;xF`Z.mTceA({C\ 6rb6m+pƇ%IJv-B([ZTF%@ty{E*`P,'~ާk6\$JHUe.篷aB ^+#,_+B8kƝ1kE  ʘ2-)+uvNyz1"}|C\ z(w.<-G(QbN`̛pF}|]e$MO ~o|l5HgV0e bÆ22/?l/Y!NǸ:ŧ6T"#-2 )SY'ʷq2X7sm2qp"m< jk)j Z+eb1WeXS56_\+ n$7^%dŒrC\l|ݭ:c9F `+57ÂC]T,â5C$4_'Рd@zCLͥm/{D .]ƥݧYNO3̎!!I*/:-B^y8Z(lFzbqZ.|ZǏ}eÙb0S׷JQTl }Y31JߵG%é7FI@dSRNC0̍TY?#aѝn]}ڤ&_b>m.<ʪ&P?c.2. ϗk]K gymg6FOQUqG(tFyTD8U^x(6FAnߤ6aڇWV_TԥbQ3VA|dؿUyr &-mV ͨ!xZFႹ2.28/ߺ ;<(iv?_ZifjnAsD"u2zW(IsmW.=bΆfT 耐 ׎djq57;P0ƠN=⼀KM{}i҈ 9j4yc 2sMe:!adHu&%[9kDL"Ƅ&+<>&S\>&ۃUQIzZ(r5c!eaF(VD;_v 7+IZWbsjKcwM+kғ.C dfOxQ!fmJ1٬Noco*?Q3lr`a_O{0F\NJ͌zݴ1 M}FZO06HTf9|sP甆*>cg'hbr~>Kә}qw c!{f;c֗'tE;cIW(1fɑ [7pYxc9Ȍ0-K9sPX{ۓsn0:X병Kt`VQ۰5q)blP[8¾ lM1&EpdAG8VoF'sFڢ Xlzt޷ب(-[GJJ5z@4Q$#/&AT ƒ[dDdX}n@-7Xm*/?ig c 9<"GB09]s2>ީzbl[x*Fzu:N>+סzC C\CN2 Q6 W7 JH4H'qRi஗+B^O͚  ) _4To~=>!oK(aoswnpG3YlC3;7#U.ebG_Flxl/‰1{td흶}xVB^OOG:28˘/m`@Y˰u=_Fp}c5܈U!*Q_Tɵ*V] Q 'zFXWSaXaBBǞ&*Ɖd;R|lB?'%wȒ [W;uS+Wʝ^lwGK$~{(ZBz[0MB3:~oIWGd$5G~Y+ %]. 1צa%hvS}XK7 <%BsK$Hs3,%!uo'KK_ #8INFuIm;ϗ˨?&lZЀ;վ Q cU]tF\Z6]o<@X97\wyBzbnv'QԮt ]xXDUI+n zE.A9ѥ w] nڿ~ D'$EIVDuSuHw:ZQɭK~;F$l.pCZ}B/I$a2-WtčZXS ut\ ;kqTFu6jP{0[?üAC+ړN3VmS^0y-{3fW yd2LgsukF:}6 )l8?S||aܳeD IgsTRSFtHvs/e_\M {aN8/!E$雿A}{YɗQGlw`x7/Z+:_F+p y3dT s&>=j!@Hn3vAw3d ]ۦd 2n1\̐Q9=B׻$R^/#!mQY9OtMJyNtF9Om;j`?Χ}>@< a#p2ʢjW]w;?r|x@Fuϥi}iD(;262P^@FD8>X@,uuixy/@4\t[Iy 05G&Wc r= <(2Z+"}^:uja^?G~1]FaӴ'|s´.0Bʚ·D+\;n FK)8\jIjWQ1h9AӶ[C/pmdYcLl_3}ǎYњ &_'Ϫ#҉}ͩ.!);&rR#Y+d?o; >Xڎzve-omC-5'Z>]hɿ׭_al+qi2bBV ZO0MFsK1dg0JP"\O}2\wO>!.R2 ̟_U> 5.^n/A[f%xB`\ W/9?9ݒdTKX]V>\p2 ǰYqɨ83ͨ CJ9P \@_ 7 W $:~5Z5ʗO*&©2P!襤2B\C<4,mrhч/M]a4in("Tņ#-Ƿ |43QݓSOPkD} BMנiя#$GJ7^cĽIihwwAx钟5P4g8%kh!ݜ2WV!d.a'mHwjY Wd.굾Q2펨Yz OՃ>w<#z,5)2&i,o&'C$p|sFZ,Ҕ^&!/dQy.goBOY:& An%PorsMy06_@P"$u.ƵV:& u4D ðG61=qrxo|ӺRD2/,W8J{]lC(uџʈN=Ϙub }=GnCLʗE{ջBx.wےw!zϽvozB2QTHzgCY-sS^كK<HԜ9 )mwߞ\9}գ9jZSR&IҿJa> A,.'ic2ogy4!TCp@c3{x4:7.cXg6"ΰjCOa ':!Hzj yye=Q..t _B\x~pkG#˄1~y^-zWP:3Cg{4nC09ATAJY%'$r8p:Objlq.^ڢt|; sNsj$mLYW,n!V; fEd7~ D.x HTaɷӗ]3 dڈPW.@]aqtp59O_  M=ZWNR\N9hNfrBh"6ZFIW2B!c&a@2Bssj!Mt%c,gwwk_KfX̴DN&_<hQRXQw+Wy9XT"2^$p %k8T嗇#\bȥ Kg2-ʷ'p[EA;H +7a#0n+"\>80KABtUeэ 3!T !UPPj߰0ЦI,8}2K o}́| 8b>wp2d$A`0 6W*6 /\p"t4UiE]{$DvZH|KӼe#J:qe!Wy[1VVdp6ۙE~yW]YH")ۢ]2W@̳ߞguN/õ֝\f㿿r|SF?atX+˚d ¾4߽v끗e/?ɰP`lN;@ffoVvP騳Vk'DxЧOfŃDޮ\D6!AeUrYp+@DN|],`.&i%y_ߴ:}`\tw g^6Ʒh;1fv(V5&>F߸o%k9wypl.}BBt8aݝ/B5Y{#5_QL8?}<OK{aPw 9N9{31y+]2n֌ Y#i[BH3Fy5 |Z)DXHIz_銼"^Fq輊 7^ΚWt-Da.ַ\[7 g ^xGZ9 k"pP~YZSa1i8Q)hYɹi[$%,w lmm?H-'Yp7VF;\]2acPǙRw!['-/s#-"bOf's2-51E֢7P'N|x\c%}'?;+ʅEiг.ѡxt#h*'_Žt]gOہYU|&!% %LY/{JgO1rM''gVcQ驲 ;p9Ʀa=ȳ@=쇗#8ZctYځ0Czֲ+"~g_0a?) :Au}s Ks]-fYS"AIG ̈ HYm o+ _|-DzVt`%6|Y6CWb3Yy8^:@t 'Ԯs wvQ|8Fo |q`hnO0–wh6K_?-:u ,2H-FXxw o,-yEB0 x^6qBֳ9+~_ԣ@ќ=#\=MBDyE]?VFtYHߵ b|y;T1\fg|iNnUHyFf%%G_@zn}{~x08qV\ghYz,G=@_"v)axހa2Ja+G⺲*2RFQb3ʎd<Ä׫R΂qw ꁗ*A6g\%{~-ڧo˴W\?af9f5{v'77T gsp>gx>K{^dqh<_DI뙿cUuw |m| iw}}{01U#Dyeo&.sX1& Q+0)'* >Zf1f P뻔媅ejY~)iᚏnwQs8ŢzQfF|4}l0znP^/g8/dO},5],Lo!XT|3cc!PD![x7Iz |mfߗi CSSKM4êߣ2·;=I?|"TP>d-=o:}+37F%JMM.FN‚k/ ;=pMsEBmu#6\++du0h:KNo*U Tn #$];RE-9fcj/uFkr~|x^~_*uKg:s.&` w0{v<\_<݆ #ilcv{#DPca6F%M2,~\WXu|UޕarhBQ[@}:z&O wpGeDhRzIQ?ZKJMZRR]qn-@עƀr/yaX!La$," Y<@o2z΁$\nm /W(iXB ӷ2˻*vmC.@wK/?+_dN7G@,?p `5Y]E^aOPƞ ׉;c|͘~ѲB+J-p3boȽXRwN Na3%G茱pS_C2PӃdKyQRN]qBB6 H<;wTvD۝R@ x8L܆2PYwϖD`*8b.>XVY%'?]maQK>>/Zޕa{ck}kL9@[0BA-FVTf+uyNl#!o(9I=7 4IK󱞘^vBh/pN۰'d MoC a֯y#F `& Y1ʼϯS< ,:.>>2ΰT z-X]BY9Y׷ƘU~v;>,70܄CyQX6δe#`Mcaȩc|Ϳ(#޾>.фm5 &z> >zw[Gf=lۧ Kai14>NxmMb/׮ )SDSYivV+c.,?DeXW!rj0)ϴcʺC="6rI_>(,#|X0f kZRYՐˀE[b4ne31S&!TSbUqyɉ&>[.s+B|:OW|e֊6aCA'H,K |ҳw0h>2:/e&n/ 9)x&G@]}ٻ`h0ߞT/^~ )6P@@뀼Q|C=XU{yƬ+,N4"=Ϙo E BnwD6΀K:@5us]c@gx3ѵ!A֡Ď5PW2|s*p* /lhǕg.05Vy E1+:E,׏͹DޛM.Ļ1ƍzw";w6\ɿIzf~ّ40]I(S.B|(7Թ[ߜz\\ \%qVDyUଖ߾,TU҄I#s DPY~ӹ/Joaᭅ~[VNJ&`Z!vџk ӷ3:B/n,m.AxY,RBtAƘ.M$g1igwɉL݈sweqUt=7DaW{ϥS}|_miWa)Nm`-fMx9㓪7a@)^Ř[̉Ll 'dff-XպQ4jNL*N qYɨ("!o^ei="d~Q)擝1ԫʚ6͇(šj. M\@I@a39c`-%~u}Y7.hc>%Dqt:@ *kҘD j_xxB{PK?@"ށ|c{D 0ƂFț+mp{=^:.-Ro_Ԡ1R9Qʳ3 ը , ]Pk`2i>#F%QaWc MIx0R`SyxY0 |lg?0GךL;oԤv.X KGʰ(itt(92B$MU.¤ Ԝ* %rrБqzD86|;yt*XW"σ樿U>.k =t-)kR=[,,<9=Wa;윪W޼`ʍ'ԓFU6T]dvuv6y~N7F,2ʫK ACSNji=L,П*NF V%$81`9=Eu"3+Ve'%cҌf/dt1&@xn{DƟpQ1qznL*m6a~OF,)@$#Pb+3a*&HXDcHQr:cO@,(ujbC\xP31ye0`kn'#N$' + -&V"_"Fњ*lTL$ %WӽcGIԅ!09;n=qΨ(ǤzRT{ɋY_jA\oaJѾ25mLDmj.+#zM"d=\3?x~5ǃ-mZ96't/c2W>Jr8"s!ӱQ; ԸNlP 6Zh3z9?T~5ͩa [B0"RQƘQNV܃Vm&ࠤΓByЙ`M; GFQ#''5PQ1mf1{|Tչ?dLȄ Ak"5d3{` L44ARJO49ER`pHVvw9㩶ӊ\f2D !E6$L.~y_?ɞu>yzS8idV3.{cw63FyNw\ \Q]l)礜︓&fϻ&qqM63$9ڡZg|TT 03u7os'b|dӭ.#-w$ME{w %<jO|Fw)=|P݆c3ۍi[]`S!iuSBB~!X8+ik$Xy{6BhڴFKHN_?cjݻӿ$OHXz,SX?M0c}d {/a?3y{4ˎd?->V؋Yv;쓓)&yb-&&DH lNrZRJ|j{! *aaཤw79ddg/4LQDc8!AetUn &Z\A.ҖS,7A { t40CG=WU.OIhGkohb M| q{Tc1E1hMt`yʧв3 !/CtiU8xN_yF{f*FJ(gӘd߅F~%)!0:~WoF/xYq>xfOgBˣrx6yB~ڵ/ r8oljG=BȤX !9]jN'(@??A[ B'%뙟Wxй*զC>&/&WHvKIzH8]6e S/ʶSI!d[5?;qN?qGT[7AZ_+ׄ$O0x[PD#x8Q qhB4zBNWs ݱ2KiL_h$9m7e*kXf}ie$6o5Uʄ0pR~ʍAtգ ȩwIZ3X\VPl^=> `aa51+NsD\)d(?TO)H] {>zdsZd7T{\BL[lOH) s$qMg.qiۃp!#>]:q]πeeQCVi-j 5vk҈dIAxoj^gc Ro^=i5#G'aU W'a @z쓘cQh3BW8=Vҥll%_4Ƭ'T粡ONFOo%t'аmjL!zr96(*ҵi~37(Amަ_أduc";0l<{+&D~MgYP~9q{G/_'"d@9uT@>'Qdiՙ-j]=]EV3ɃN{8~' ߃n64T(>ZwB54-hJv)fǴ.<\YL\-^+ai F-m2Kxa5bKb5gU0},c=M`>CkΘRuE(H.ㅈG/=o]I@TGD=mtyB'E"[9`Rڝ fH>'Px,~CgRS_3cnk Xui S5@)bJV콰?1 ;߽SpraCZ'{IMW@jm8@I>/ھi#3hO ƍ¬W|N8Ѩkq51ޞ#5CH9tNd?W%{N*~ʦ6qo`yz(Ը܊ȋJ=:󃒌 -h8,5ا{4/ '"*tU]AI!]e1 MdQ\@WיmCt/e_g\YW.9j77)lhbhYˡV )/HIxo%NPI8@ Ey7B-\p^.@Lre!#tϜчli0꿶mnUc ]Z |H݄UeoƉ3VB 簹Ta͔Zn/,aDxxG￳c z߆!BbY%A`'xG+A8;{Mw՞Lb ү zܤPTf|63xC׍"O=pt C4OWqPePB~C#-63 |#7uܑӾZnVsٛ3PehneNմg-Q&&͍5BtmHZ"!Q_o /HVV"yUt0 9JQeEB O "8)St,( } 5qnD G gɇ<1/QYHenMJm]A%HônÇ^lu$"m +/|6MB cVY*3_-Df T"9z@r %"RzƲgW8FN3=\v78?OcM .P 9sCF=bTҦqL/S{.ƇKDXRxț ̗Vl˙;v|z; LN%hl /Lz^ MҷzJV1-Fט;A5]ڪ,0ə2Y l8jݚd砶Ѿkc%%\V//-,&CtL9UB! ~LK${-&)nB\zl0͊:JMVk/OI[AUeD%]BPBM!v~7Q#,S-Ѧ<=*Y ,bA+w6yg3 ̨E"ΛlzAkH/U?ʾQlBGwͰP@*+^b#W +(ՙzӡҜ[:/rϹDNvF$_vM_i7ɖ}KvqkfXBc,LU =HxA!>_Z>¾=[S>uC;9 "ˠ!nwb@S)pdZԆM!wKI{96BylrFoik״uјSp"-)_ٙ Ą_ϣ'}a0<6-c6.͟^% F=.?gߟ@Xm7ԒLVK9ݨǥ\jQK[>:$z/;2~9/Z=Y\"j^1SZEn@NL~?_ ZEWhuܐZk 5%K\$5?}lӒqWb͟yPsq #H_PXR%:{ Y2mהE!k"7 aZ ]Ǟ݁iVfBڮ~?UBO/fk!8E2v0dL9ԞFC c,j?ϡϖh;& xbtdVtX5iP0]cB;2%!"q!Zfx$J:h~v;Ca0čDk)V(%t\ mb(ؑ<")G?lP} V@To3Fm P-ejl r ]$ϡY7!eQ ]JqBI06#q&m,q,;Shi-tգӭλN{Mxy{@=@2QDn0>ѝ{ 48 ' .KNq6r,&~~K!2Xp0 vv C4C;B0w# >=XZQح ii!Q+pik-Ug˪[4Gz%ϥ5VџUg!镼Ҫnk E$J܈t\j5r%tHD" 1nV|`3U*rkY\ZZ5hUȅTɞ-kzn׽>N:RB-&(PZ;l̓J /h~; Pi2>.CP6 }kIsPh<ׇFBB!޽jeZKhRI][je Q=yJ5 Zck%5IUg5,r=R8G7jKAeB3yQRŮa7iX]eI\DDá 1IG8Qx_BmZу."q$wح YHwVtUDAut"+f@Bk˸!TVA ĵJn&T.mƮU+Y\?*{*[VسOP3tbgVtMptC.pwiڇ!ZRݗ7U|3%PKږ4'`Q2H:\Y%PD!uҢD"oP"V訇vN8QTqDBGsMR-+ ::kToĩ'@BwxyTK\Bʛ oq)s*EA<::i'jҡZKM|:*C?!#K~1ˆcj+!DQs8jhPM*tվcyG3P,=ZӬyG,ZS`t;a$h]vy9?kP ? ҽMKZ\I8\V1̅Z:VtO}ktVJ\+CM4)3 njUj8`Ĺp/.~wPJU6Y$M5kw2H[uZg8FuYx8j,W^EXmtmXRعN8M: BN N4Qnr D!$^_yMIol9]Qd^AUaB;qMt}{Jaቆޙk{-9_ W(W0~% KgI+|P$:.y = "~!v|q`(V͐!o&wG3-MHb'@,Nr;z/JYZX.evpumiS}8OgAh3әt@GKb lXiMXCuʆrz #j!~u F2)8k3.|P+ |Cx>P6!FpU" `j ]&ϥZNI쨉xԊ~ ] f ]iO` ysbF;` R̛hο \4BOo*vh+ G> ؔ AtT8 Q/iK`1vg(CBW:EԬ!2"+tQ:';6篛Gl~x@)E9 p~cwbu54NHi1$g}eh~Vg}M~DB{h˄.4 {=_mZGBblCZGcP}Fx/j4Aޜ 1QV? &&k?>b#-ꅿ/>M]ntB"tvWषQt}zƋ>hQͻx\D]шE)F9;Ph|&i1L1ڼ?)՘ ڨN< GgA4I12&op].&5ZIgQڦ$TZs$o8ysW]6y/i3$㉘k8{ko`[8ߛIk~wjJ.e:;*r5=d~w*ׄ:B8~?fCp&ERxRP#*13G̬Cm!^zYc`J+gAU@)f:-3JӡoLSr23t޴ ̹XV,4YPM΋p2nt-&<FhTN=Cx9eM ]ρf;lE= aw9~h^ h@%D@7VI dTEQU"V3Snta#[lw5[Mx'ؓ^JK^?h4+>&?6h jNfBT `_|-1)-r*v_=?x5F@;I9B5}~lN + .FP+G0D F yg5)#OoQ_2~9~2I~;֜A *݃.0giTE9s_|z~ z _UUs9 ˆs Оe꾥!O~҆"tPZȓT+ur&iUMժI>4ӌ&t5AV#9r?v A|:a`e ˩VN:W+o Q\;ɹ`7z UyLOz37R IP? I߬x HaU2DUk9eSJ2X[!#A7sLL]oV YI/`Fd,Pݖw.`~5?2yF-9[Ҟ"t֭LY}_Dl)Bf'SxB92 ]#)]"-K/-xIooУ1ف<ao:iY>{YupFu戎5G}#KiGAZkzh H1I`E PHz3zPBU6[iL+cH'vy)F|`R2@U>0lBԌqL_Hf֑~Օo2 q e]",q".䴩άx93Quur2WB!%IXu~KՌa|_gBm)1,ɰ);] ȹÚ{MܨFc 7RyO'ءH%JiMNGcǗL!zy*|1bX )4̂[HNƾO|̣ٯM@̘lr8E~Ucj`U ifXI3iq50V{P  /o4MmU]^x 1b{L`Z.v; ]AьV҄+*6 ROs+<|ry.g?qU>T:hizaL<#4'Xl'ުY0qlNFͨ:MRS{(b SNk-:Q9Nef?EVWoS7XN4sFRQty^Gؚ~8ZFcVEXNι-5rk\x؄(KOe, Ɛsp+DUZnG[y NDƋ.5Xa(>#b8e6mP)E_R hv=c/ItR#pݪ$@N\Ig]bQaK7LMv = Ugj.L7}^-Coi9Y$-QJgت:!zԭ< ̀a.MpVCx?IVn7{Gp@o6`_hZo׏%sW;iwbcYK>MNP N2\pP dBo$LI ~ra*As,2g،iLliMIKYIꛇb NA`iF0f쨓"z\dv0!Q\D0a:H GP:9nm]ƗSYְL*_Uz1zig=è <3ϻ@uheBX.JAħ{P(ea y< YP'ۚRY}69S!C5"J$OфQf.$( (j&$< ^r$Fl1 r'/΢֟b>fVG'sN,b}~l&`ZCnQyԶҪ`;W~DV[XU}ߤ-BEm%Z G}K(39VBuEi~c]gY9W|hO 8#'=o]t. ~ЕW` JDq]ԓqS\xqruwfPs 8BuFcG~VI]o%A_q 杂.AΊB$ʊZ\,3Zo-. sAJ[\m92B7,puRi.Sb%C,]Z>B596,QfI."4"V]>KyӦνD?(߭:m 5dBzhnՙp6%.`yg)T4%8#g'²X=,u*fP.g m+ٶYgY>2F4,Ә&:Ii%FQY+b"s<(>ՙHƩ-X8K$!D}:DeX61W.;5pN TFV7/ǟ3Y9_RkrRkr:{Z'~ zUu5fc_q>3TUVGoMJy'V$ۭ)Pu I6:݉sJoEN2bl;Z0?k2Lչ jy6Ԭِ-נ6גr9&F$FȲl 2#jmˏGp-d;'\#D +Gmp⧺M$jF '*Ջ)AC72ODa Amnrzdȿ{vdIh/b t jsp= gG7f$]IIhFSyZ $Ta!Dv(mZͳDwڹQ`!Vm44 IICyI1Z^,]-7`-ÄS \w9Fr~ 䔕;.I-@"#;_%nv(gsf>Wd;!3KOJx3Zy<׷HVdFål-"c<-|J$b"ש5I;nmJyz]h@ZԤ:+H,ÀԹMcˮh(A@Jo*r;GG]_YJ*'/ň$lBTgsu`%_M5Scep4|pu1F-Rb"w$.iqcn.b]){G3jBhj/gB+pmV|Z>Bfv FƳ~y۰ꇶ@Vz$SR.!9`K?d^ɯK/܆"!Hp^@B/F^$%\ˮjp :mq*uwNrf A1u|ų>`#{cLdyzM x]0;XI,L)DM я3@YY./ jswl4b.S¯\!$/1jNO QNnԘ^RiG~o*qIaKijl 1#D$|÷Sq:M]!DrxehH:]4y: ]BW8PH`8RDL@6lh>9h} OFrR&ԺL&[Bά56r?1ypMG.d;B5:1P-V,r20рտ+G&`f19G7 7i`ϛqlvizd.>EMv'8/ mp8ѽ~F΍[Z#Q`M:Pm!TZǰ$ϳ@p X)qasPmyoRRBLG=45A&*d^a%\0j<[Ol~]<꓇ Jg3ԗX4Z0ҖFL \g(c9=P :( #h¤]aQ?5 )!I,l%9~)҉O U6FWʖrfs6KhEB>!Z_"$Z͍|"!E7bZȖBC^LHt2H͌dJzviM@z ;-F8N gB#IC6`vB!${+~9M$@9gh(!'GK%^ ~E/]Ql:h]"ѹ̉U`;%G7v~w By? 9e)<6i04VE#H#ϑYJ]6fC5yU 0)a$ys)m74A(1l-?X[α!/lM{r@H?:$AmƬʣ V_`Kʃx[12f9Ihne9~<Άg] DT! f:2F:"{\<QvucBQt=hPesгOSLcn)XB*WnMIb @$jmAI}:j EN`؟GQxugB&!AE *Qь$&3P# B@QWVth*c꺮r0ɐfRlsX= - {򀐚%!Yji69"OR@EL`nh[J0m,[0\ZSFݾ?Ps _埕!¤Űjb8T?/[`E_a,ߒAH@ͧ73FW%|A8}'];,/N_itiIWV [%/R]466a0CP0{Lñ)fWwwKb5I7c98v~ǡl$Rc0H`l懰7O$fO}0i/[tNWNlpΖı~d`ҁf{ A^<"t:acٻrSы":s^et~27lR!Nbx`yK)!oafp 'c_%X:"r_PmG &Y2Y%_wSL%g7'ޅ_&mfxf$?T'B[7*5aۋ?GΙ[ٰt9/i/65sŇig~#^+ Yf_&; A0i)_bkzMw"Fh~@I#}؋a?8>k[?t˻# F|qWa,C=-{VIo$*}oxdoTyµ$ǵ_F?[%C`5m4 NOo{tD98Ǐy$|k0 c#H#0f\+#/\ϩ6>"?k}:AҤUjhSd" T :(@SVj }) |P%B=>-;g~o\'X^_u44.+4 ic$)6wX0-S`y_ tm|[+B[l}dMxQO[$'zYKWd7ɡ aX@8\cqRT6C_ӿZř]}pl5s8G(Mepfk !D&!x]"} TjPY ԇ̑HFQP!zWs`FݵЂ9C_7݂d%mk=a!2IݘuԨ15X$%qfbr~I=,4JNT T2>!c  jfZyXr1)K3HP=ĦkpZ07]IO"]ZHl+2Lze4Gз3XBJ 'Bd XtrAzyȚJCsu*z-9T?5yTq n(1{pHB[HƘOf?^`&Fmk{VKb~DT c /X (ޓ֔"d56iߧ)kvTUVpY0^*7C*6/y־[Q]h ^&wX2O&{U"&fi n~9k}B+p0'p‘C|CFvd p?8yt[;ؽoDfMr=5l~@F䠶 TOE|+ddnW&U?A0Cزi±('aSWOU}7d,k@(Sj˹!9,]FMYK& DR >ɼ|vFzlOMHdaw_NՉjU]% 5zkҊz?z'8EaMU.X>qhn3$'|rw-s*]&;P6V15"ЕIDC%LAHyI]YB\,!TUXҜ,-hfh!fw,ojdfodG<6vQ14n6҃V=;=Z\Y"2YgnSN -u|,PPZf4ұ9,PP}rG=>£G=2 Et 1Z}vZ sXNƊ+;KdӢU@NƧaFI#0,'mRF&^Jq#3r n}%ƽʊi#̏ VK&dI5nʊN3ay4n X_̣s6LlLc~i4_Du[V{=kH fC!rN 6Ɇ) K޻aȎQ/\"%o( w7De 7:-#sB5RF2G:R{ßd[[=쌦?";{ V3e6{|[SU߮VxYB{;mJbaنܟq/ZƵIaw%M ϻ2$DpD^]Qʣ5;d$wa|q:b2m!s{ەث'x(N]9,76 ّ~!P*qllN*i  {ϥ[>WMK_ CG](A6.HU'GK7J^!#tF~Jm7v#l,{?G7kmæ.v65y 3Y!&2";$j4ʇl6&:d̦n5֎h-&䚸q7ႃ!y&/mn:f |0B1iN./&>/÷QøH<'fq i(ʊa䠹ٙY8?rdZuweE5絀9=5p1m|o>. MyK#꫰z"i싣 ʭ.,#Ŭ_AmeŨ,L2$ƅKc<*?u>jT#BJZj嚸b 0؈Ůb9_}q5ͺ5\ݣ؈ \1EY!t~NY1Nփu/eɯxz+Z쟰Y/c$0wUPB04ߒLs:9MC>ɟ0:MWHװ4cz%{`^y V`Q-$"`rFqĹ_KUIhJtb+w=Xr GaLYx7oBS^qǽ[ނ\-0H[ǧ"DԛU{/_1i; yՂ^^ñU)5dI?i2DB0M5dZbQz dnV]DJ߹zN>ʊob-}ɥDt)? B6z1(< 3aERsQ!| _;KE<9ML w,Q!Gx~!n |++5/vB,} 6 =\Xkkb>wVZS|_ YjgG k0~ q(<_찵wLm赙ЬTx}UV3nKDT>(1xAޭIoj=_5cy%q\>7/8uB:jϩ iOHm񸔝q:88וX84xQajUPmY/I.]|Пu ˫.Q+ &zr77<ּ|l)'/z gH\EȰɵ>WِVA<j Marg̽0V_|f]h{!x~iAABL wtupON;P,lv S1֗:9[B}zrP)DKUI=W.AxY\?-GO JCt$`\ wA"7W?&"ؚ-q M [z!@ފ;#eSFsU;\8o?]3dBҠ^1e`blB8l ӭ`Jv"EC&_ٽ1wWk"j NOC)" zo;cʊDݞ`" yHl6EG}ȑz&x5 v{o{4ʚ_w-i+:SjB+}~ ^֒'N7=z%ܑPC &] i ӡo +?;O[dD"Utly x[CEw>%"^=i)oo sz#l +UNDŽ9=TG{CSyk+^zEwXTҡ^3I9lwoavϙesk&[8a%1m|JVeTI~[{m{Na!akڝ//Ou>YV%mxz+NY Z؆&OoHt%RUtLZ|Wo@5!DM!d/ic{1H &dW0i[By4}fVax7.&?0oQЈɏx􋥼3&|qzlF5QM+/^Fغ O-L~Vn.X ,󠓙K>û%exRAܵ}8 ?rV~lR!e^TЁTb72D+W Vª*Wi$z4Ҩw :UI 7VaU<D|VPV7T uQПtXHD)yƒ9YD 76i~qtR"BhkűFDigH~TյO;Lt1vìh*LZ_7(7X$%~?͸C~֔MyO*eaw.?:8Pݵ ?}\F8;b 78jj/Hf Z5xH_j$f۽qpxRF܁cdGmcD)RF%7-9=ZW SXyjw, 6[1 C "X4BA~x7cUcq<sZNSgXu%B=R`PIzu_\ 7%Ӭ1 br|<y_8`OV{[{83Cm9/1VoKbj}ndS (#: ϸnbsC~ ii@\7j]Teٿ!D}ak`%SՖk gV2 o;$=mRZ$iC9uȅ/ʈd9cU@Hʑ  U[xq_/ KAԝ3ŊE0RY9ms>F>1~N jŽ͇Qwf %b%4;MTh.AZK[u4 B%(9ZnzͺG{*O#N ~@ƊձW Iѷ yރyܣ,}rK/(ѿ*ʛmh٤Ê3sy!k&M<.|N0IDF7#A7 5 `w ??Wh>ә--Fh@L9 doǙ-bcGYZtYXrV tN'[g\9!ҡJAt)UVlYr$R2Uv6S[=Pm>]CkB9=|d-Lc=22ݍ6? PHvGn:#+ rDm-:k9.±k>&GCf[6~Xf'"I A~p~=mc=:2#FS!RyBa[D߸P#Lv1I$0x%A!>OF6?,_ ,5Ub9C͘5IӴ+c?b³׻k B}'D~8i1 7Q3IC߾ts 6KӼ} q5fxL:E;lJ"Ɋ{J۳1z&߽ b#ɈӺ~ϿI7rۗsQXLA4n|ej@O,md64&B˽hlSO -Y "+q810-VY{ӂpyiB}+` zpG5P9qc^+sҼegvS'c"ƭÒ߂$L X_ҥ;x_o aPspVnwaNPpt#7vbV1iqv&j|VƳב# Ʊ!GlN"JUPiRV`RB Rѣ,A˫XW Bv Zρ/}QqED"C8L;h̍/Fv 􇭒}}e%Ro/͆W|PBϗnce5fF9m\Y.-h*=ҽ]_&reCq.} ;)*B7߽+c# Do r P@sZ#і_`P6@v'#ssڢgƷuЧ6{5ȸF떓jsv0L)ɧd[zA[9[H3=53ؔkuL^= [c8|1=&苏8zJ(џ|+tȫ @4gbkq::qߟXM|D>V)s$һaka9>Ŗ[t:N]D4;sU2W{ Kt15^qOh)0{qlBz!2!vUpJ]M={ DEPد86GYAT2>Zw`9kj%]1]!I/skñڥ2TgZ&_ٽѭX7s{1@nF$'9{l-! Bh؁/A@?5aHGuӭOCpNg?y$uA?IJAb>Hʙp"ь#>UKp~Hy&~K,EeJNLFF"LblCHsׁG!8VfEq`dxOa+N a%Ad!TKpU]x\ 3M2 l?.!lJ}5Zd_ϿU*i}ׅ?3J.?Ur%D|a1?[%FH$OúbpLDeQQ9I /i3p,۽<@qȽ ߚ?4y3 lu&ȗ6L ͷ&_]'3KTʵ}6_ ꎳCo@L `RP%ḍ?6P6Ԋ:ǫL9MojS)bl&u-VN·;V%L>X*M-ª}t]ޡ7b5Bn3&aIW#uj .{,D]MPKd*GـݨԼ¿khƃ24a dobCUҝ?25Riyc0; Wak\/?9- jgb,T|o%GQzyKc١T_x;pa4'b>9"19pRKW{3d%a5B⑒gc2gBэzDW#!ad5Q'č^[L6Y19bk^a+eMc.$#2og/ i XpV5#1kmݧ<*!.8H*JoFq' ANI_+VA-dZ, VhkB30 @lZ m\%b,ZrPF": [Tu^>c ̣bZ"MxX:VT5O܀H%DnL\Ά>FGfٱfMZϘKG[/eHgXK4 dA=&ocRٚM֗GC٢zlך<8g+ wyC^~L0ֽHқ)8:1hÕfG MI\z%{ˈn8צgݜHDF( [%#-8Urs_dcd:lG}w&g&<>gx\jo#L)1v >"r gTf-Ԙl32G_V^tajd/1?9)s:_˳OFX B%y7(ʔ"*B$w׳·i)/Mφ*pV .~z5$B* -Tgo]li3p,}MDFfQ/:?%c?0 zZ7?0)H[[[Iw+G}Hy@r|zk0c#2"3jJ"׈G}X0,YM w{  X(cKS|j&7mӚ͒=tGdV*in9l&/)#mƠJM̩ Jtp nbWwnBZU 'DˣdD|]Y]VTEFrr>rx{_+`,6U p^  bO֦,p^r!%OW9, ªE23: 0.9ocHWNsJ_>xC?q̔㋇6Atb:aaN+{%GTI'@3qjL9O(0o;LbkdD?0Wժ0>eÒ.{+Q+(uBY)θcK]۶bVGI_Ujԇ7b**\~t΅'w9ò?`..Ȍ3jTXaw;<7#@#mKxXFF I~Y/)莢XE>4wGBO8ah݅@H=kLӟ:ôt|}zvX sއW@Ol:ĻgIɡo,ryHWW>"!`@/R#C3 kV9Y>[O=J@*v L6$@!l:csn $A1~t_/aN',59Ovё1C0϶fjaLsK8q~Ӫ=L"yGQ6a~BvL!DGU";EuK)iKEIa8|ESyw? Wc_d Vu*4߲p&W0 5zuCS2XQ0۞PWwZOT*Zxa:L|υOT}֥vté;~{4SwuwEMiOc}3,_褑'ol: 䛨sZ]fghʊRdzzPYe.G# el6{=s{qȌʊֺ>j'Ӕwxxw<@>̟F&y18w_99_kl}mϥvp MTY MKQUol&"D9pUALB!n~̎~rMJCB:z_+ɈiDshd=64wd-ᰤy;^$ɪAB2$"d.AυKdV=?%=MPD[|>4|dMU-s17">LKM$K#`qhO;LV;.ja6?`S^l](}F6VYF}avO JKFq ] $zRatxà帖Fwh.x̣>d[hZ A(49Ѝ %Q9,Q4K*]r3&=BfnH9ݰZUc٪0mO;M8Jrg &*zLS(/lnd}qz/19^L buīN|Nrc  .ej]&GMzFiKd`q6Zi!Fn߂tazؿ}Q0 =+0tGe{7\cd!X ('q0N$ 'H0~!OgzДbl9"h? >;H2'@c UO0kR|O>*S>* lw>?@*okwv0l9<7LWA2s C /N醢9wf( sgcc5 -L|I$a1q'_oN>a40W1c#㌁'8ifel q:/!~!GdT2}Rk9}e,yodS=ȍ=PR7:LYYvee|2>ք!13oy$K47(+ Yz7bg&+nH$7$s<=±KeDti.IcC!ߺ9|[kt~w&ͥ ƒdH:_rk*յgcuRuM5q!}yc`o\0-[Vjz#; #+5O$RaBqB&a.#XuX*}n1-2iԳ" C)d\0$xjn)us$W>'L8|%2䗙G|M~ت|'L yZgbˈ7hbuUkF">b)&B"haʠ;h:YHU|x#L(PV9`h3[tнw_Gb26"D|ݢ譝ٓX0c8LbDzJ="cgcSUwly"Wb.T.̬o*+ZFst:wsF쪩 @[Yۘk.4"پV2OM^%hʁX{tF8,@$xᤤnVӲK C(/D*w?Z<)q&w>gf}˹2C2FѻmJ;1*~'u?:Y{>ĜONri~$GΗ1tMm|o> ifY;Pp#1k=9u{9;k>P 6 Q绸r|8cXLÌzs҃mvo*2<ܛ\S`J3 taPe=[$jO݀_Pa+jg?'DOMRgE[I&_5򩦼/v5VҔ?Rcro;0 o8퀑%Lv"tK&IuI_ k[N }]QIJ.͇kpIKr{OM3z. AYl 8Ӈ-]UB#>@9yc%wH#MU 4q]`{QT@lv 1<8U/p[#T3DCM=gu|o'qH+\@F)]>CkD̍ѱǥݡduvla(ׁ#ۇ #[ $l.} x~y2Қ ԏ2Vɠe+-c$_U8͸] wh2 :D*6Qi9|VCӘxUl{$&c^* snIB73J/fYMFұRv!!Du#!yGKai4elo#l]NGGz {7UeT_V=~HՄ.:' !XVfNw\98߁*#s$^ %BSq{SWBoz`LR,Tq^lJnAСA[@ /'1I„d?]%)QN~k! i'i'-G?0HX`M~XmW[/kXUBd'@CGw 念DdpMXAG"ow_/! -;SK:A-@|XZ*cLېv1tjoꉭgŋ͜tQJWA^&E/xv^ *mƤЫ m`CX9tCFmjvm&AX)$jgPy p`$BiQ7Yw=.0"Dvɯauf"jdiSvX@P{FgϠ2ǝZK~0M3aDMpl76~F',"L6I}90#EIXme@V*o $:Oq$wrė3RYgwwj%O[T~qok/^JySEDoNC5afQw_v"}^Ŕ9^vbO YN9uO7#Dvoz˟xTÁvίƿ?ǿ['& [ z&&;I3ݓvᄯJz)ڐbӜazzq`hzn4I6z&F07>k0Ρw75*1)֮]Vezk/5As9j}zG' 7X:@;K8*[Sss&/(GS>+lNfI9:1vH5BZN -IT2YE}dW z []vpY4;>7 ؐ|UƄz{у2Hm̏&pDK/ιpKUCY[UHC9mdc9*z3<_ogWe<؟ѻWN`7Vaq 0$@$yI~IEL/>^9Kd b+t!h':bI ~"BYω|ݻew\Ʒ(>8QlFm2)Vtcg(^`&ڪLCs: BRѸ^vih2Q2cMT9kVDLOןUak /d\CtVB,]"mbE6+$d֮:+6ʋzb1Oë{bV?} O[]C_vLHjb\kN3}WƧDZ~8S ޾89';6Uc=c+FymLK n?OqHC57ڥ<[fgnΙQg~N͞As,Ap1VHkrv2N)cZX8k 2C/CxYN' J#>iϚG1?'Wn#|lξs|R.fuFgwgsr *_.?rUsWgou0|?ss?=oe1cj?v#>?̟咾#ɹ<2é^7n&$$_ox^ry\,)SHa3{g譠_9L_0ݮBErq(L!uy?1}5ٗȾ&-B%BiJ%{] ]hSd<1ӝ}zg\u9g]*OvV=.y4)dm̳qpq dq =~ģHӏN#O;YĄi":A/8-b!Qt^TtF8nN2?,j/o/nAF޶rD""h=)5*0áiH\$7<5ȪΧ:  S| Y*/稀#yUxTZdQY)RQEη.\X!-Y/jHuL܃t\&T\2*2>9gR:.e##CPdd LB8+>3ie[׎uyVcw=0)1ADrt)J&!DL 1 >yiG ɡz HRtXb8B(2Ɠ$?Ĥh#Yu)i֒]݋ΜT󩪱JnēF7zy`"M־c'/S' _:AS&t^z.NwN}qN>m?`E/UA:GYˇfw֜-)?G,j>;c4faU:7.]۵EOxt_,a̫x\ BmQ/{k𥇫73%vysk[̮DsbޤKU*ޯNH+n}0v\ښE;G/νsUtLÓªI\^1?d~,JtfX6B|MKy:yaqË:Qw *0mnrlB }{+zb2F ͛'5n {>(k^75 I,ry\ H@}<#wi<p|XrցuQџeXSB/ʱIf?(GqHwxp/)HI舦M,ٓC_?5Y5۳K@ķS`v n@v m@v 4dR`mQ`(o>%9l(ʧ| pmAȩ291{%?_ql (0\@J96=2z *(@ k(@ X~Q`5 \@5 \@5 L^7:S:*ԩPNTT”:SaB y&TPa6 >  s!Q# qTXsOx*SaN<⩰ TB&*MMTx #@L9w月ӫXn:-jT- `]H0b XHB*r8F6Su*6Q kB}3|?RG*`#@H!6 Qa܆ps K?Sg*tQ| Tx;L*čP9(Reâ3]40좁A? Li:3:CY4O~~D@':8`FC:< WYWggjaDD:t9JtA6 M'm:ЦÈ61tx39:tѡ6aJ6:|F6*`_ !oDt#:0#:]L%tس)O̐o.C,XtXkEtxdI9+:X/CZ:p!c-p !.tw-\@^K.t'!ã ˆ]Uڊ!vGkm[O,UqZtP-Úr:Ht-Ci9rpw zt(.CZ9rbߗW!$ @(V?=N"^?=@!K $PB{OtA сʑAkïfྌ>d[^Ǒs8ɜ b@9 1g@"eÀvD2@8:æk/X1v cbґV3j<^̀pp5kĀMN xĀ 0ta@1`΀V v˲qWݏX0 11 e% (J`$2@?Rp5rfb'r>w_9u5 Lg#"xUj2IryC%ij!?BYpM_gy 4BHB=F(N!^8DF Uk)uOS>]nSiFe?ݦl ʧ| (S W1*KUNAs؟3S0M)pegtn ޜSe Ze Z e 2[ Kj×Sp2!_pЕ &LXʄLve+]؟ VLX/&$3ɟ A,;b_Kb1 g`^(?Q?,9( O70!> v)L_X„ۘ f;Ƅۘп [:8?a΄3; Lx|;͖ n6 j30aC>{L8é{oP wgL6]Lf6&0J,BmDy!Q\ \mD@pU6"d !^ ":QP3B)zK=e E*CQzծv.p +Hkmik{xB\B<^"&,$;PXĄ_zuup O_M {!}N>g<=? |X=cF(n|i}޹Y<78*bY 8a?x"G@sO>pb"-8>c±_upq!^ansMy9~Y$aqOe9~"\\bz82rqtVc.{99b5~0ys̃ffnv4qZ/aL.C|ƍ@1eWF:! ; L,gCi> lD b% y1.a ,ʖ08)/"ŠHa (< Y <1 0Hb1AvKA E1@[,A 18-^1 :1 ,8raEH  0($`PB $0x 0!`LzIbpHa9 d+b`$4 6)b0Oc Q D URpRX%dxxh6A{\Izs%J:ϕtTTbbzrjr,YK\R[ gՐk\Rx9<:[yt"n!R-5WY,@HI9!"::u.IOk3σYҵ`_]$ &L@"d)J@b)N@EҶHH!vFxig3I##x4 P ]P1P.REH.sP?+x HV VmyG; Ȟ-shev1or [a>3- 8@6ցoD j|a'a&р)e7`>d;`_" 1h+ŠaPs#T`PUAL5Y,~T"vG9,;+>G~33öGìcg%gr ';=ε8ɮbV>K8) :9`ɾ1( R fڟ 4+J0(;b}geˬ:e(W`sY^[ 8X2z){Y9c .Wcp+ݿ }'0*vo jƀڀտW1X~$^ *GbP~_@ n T^Ǡ:S1l M7bR#8'lΐ1|ס} cfKFq.P뷽﯂f;E A]XZq?K3Qtvv2M9[> Dl k6]cMֵλyk^dΖ{[}@93|`YoD߿z}P 0sp﹁;`v?@<2'[Xߟh>`  /@ҟͩ~q~.`7+/ǒ =L=<Vy$rdV f̻cc-} 㐿!σv`{q?tpq7ځxAċ">4Ǐ<P= B膄JWEh'ngq]|P@< ] Ww׋&*s[Lx%jzXᕜ}eG(ëŧOۑE?a^iyBVbȞv_{ğ_'o 9Uo%k꯲qpzvfP@ w'7T1^B܈#"`=6Lg7b="1q#qEDq^/^/erxy^W/XDpCyD;?4 ;[KP F//ί D@rh2@(mCƞ 7ǏƉdqD>^o5pnn^^>>~~AA!!aaĩ;=k$C+Hih)F.(%LTn\˃fuAVp>`[Hk !qG"5JQ$đ0AH !)4 !A$q 8EN7Gp8I *^ ς:71L1PFzN:JMǡm9( \+ΕѶtOWhI n,CĨDNp`d$1+WI@rd`P$I %˅A$bB9CL_O%GԠ *)!*f@ M''BAĨTb`RbxL|1B"E /^co`+H&E'BI!xc.хD"&$!xrPR"9&O !%#I!u"F$I F;4):x:;0>,)૫+H$cDuB"#INHd-N/fڿb5 '&&cѤ2DEDݢɑD2)HN!a$"i)8)utU1 XRLl$B$ǓI@AHrz 5 ґ81JL!'’H"gԂ$bJx`")O$'SYcJYO !:)>JdF_=uDj I$Fb"Ipcc#Ig"zlqZ 70Rwx9Pحr\4} <= _}#%u4އfUYe9sv\ެrDK\/\˽z`cĊ#K$.)t,])GwRb]| $أZjBŸ&6'N}S˫wi;nyοUTJUX4g]M{A.-s;託f/֯J.GZ/dVuDMoĬF~O1i_Wz[29WZ@_uB&l.MX0Uc%Z6>!4ܚX3b(h8-vGJIiMII]R|]*) q"'#&LM}ZB>wy?&y[)\TzQ8鑡+KIڷ*<ݷ:J e򺲅=2=%ԸV喘x7uڞX8/j-1qVu}|r+YBc.٪pgwpƉ=DlJ:7SF&֝&6efb~Ϋvݪd>.m魤wTVy4w1r)U7]^Y)]ừ},/+s` ljnsv e m>bs˟mLi|6snދ>Ss9@ɯuBQmI{TKgz\}+p"=ڎU(e&;s[??lxp`JO?ׯ|w/(\zdԙR~5,eHV/Z۱tJ2\V>beŇ1#m?$T)V\DKK>V[̀FeJvsoAno5h[3l/Stңhi'd6}}j3sN{}K_&LF '9PZfFK ϥZ%P}Ǎ4q\yFxj? L<_h&w_m8蹧R[{EENyоu-;+sC߄޾{o'7-2!|~ώoNW^m_O]dA(];:zܟhhdV+ޯ ~(|]6xr0'Aü΄Ƕ)ֽ+kwțZKǔ1Ni21˂ls!׌,ۓld<<:Cƹq߭D#wkFsUo}*.XwJFߨcZ /L7-?q^ /oYl`ڳxaoV#KZ+a!֗-Qw/M٨MVaxֆCZ8/bN{,bx^QDԗ=)~EANZKvZGmg 78Za);u%Imzɷ[{^M~tƱU!>˻O0&X-NQ1y,|5 #oЋ㊚mjc !Qz6,Imw[˂^Q1:A7듭j9r\M(5!bCWCPbpIZpR~X{w<7Ic/鹺}2F龼]B z2-zoP1_6,J$_h\%r07N>NQQj[Xۓ,gNOGj˗^h?ho-dTg,Oܺ{Pho!_ʷˊ;1N1tY> =Peڛ}J3U)R|fY}BŽ\K\X_:qQ$;Wf%>k=Ar׫ϔ,s znyQ{Jް~,sAH v|Z*ёӛN>A vu?;bZD\- $:7uߓ˸g Zi>mxb&%w}*o]Gi f{S=eD3[/^Vacr eVh=~WA1yvs^r]ߤܸȾjQS誜w7ڗ~z[$~־ fɩ?ZOTwp:VMub ؊?_q Q} z525s5k43=_!Ԩ̊ WOqYU82jNXw{ԙ/>d%ʴ+ۼ*{Fy"$NP.4pVR=˖{n!s\ŗMuGt$P[͙%`" n\vYOl-OYƜlYHoSkZ)Jt dKd gFl{jWhb{Y'zw{}e =49kn򓫢Z-?I}BX$u YD njl8Tz@68']@l]]k_ręfJPvQ5?Pj]m\i;ß*˺tl}/9{GZjj{a1B=,ڳjV=ZP[F!3*-gXZv (nj}q;JLǑ|WY]' UܾaYv$*,]3mYnԕm;qE<~$GP9,ϑ7C=? fNZiHkϫt\*IP_{|cOv%҂+EθKL>Fr@׎t!SݷFHNRt!HFC6{BD=Mrf^s ߗeyIPR)(Ni`=ݵ C8IS; OS.eׇv BVKI%.}|E:idz=4sN*d[}U潾@7B{ "a"&$\4u#:5YZ$6(=jA}(raO#aZҖw?/y5WֆFɨ{,o_^Ho'=ps>Gh#x%U wZie3]gݼLoR$*t|lBGU6>K,zyO=tDg0٥b;١MgQp: bfSkV&MO(sUyК!EqrAs %|n չ;}E!!kí <'~E%)&ktk?"[sn =LJᣍg}]^#Z~6uU?(f5xvY^Q FHx4?K+7NkQ%ɻܘ8.sN/)d_}{4S0-jMJ=vgL>jZleLĽY:wGXVj+̢Z.ze 0!bv{kCt6>΍ORiA\BʕGKEGn5r?(zP,gR+'W[+ nw4I'.ʈ6M/.:ATS0w!՞WV>qwu?C.-)Y¹_fKKFbSSޭKtKSr}n6.;»JU +*\&}&!(ޅvH=߬;A`^P5E+{'G?n1]:m%;xr"|ʵ+wMoY]}="u⛬ 'n<uM@$OYɈhD0RyVVW+\HSSj _@ri-i72 Qw;߹xxaRVڳsMѯ[S{~Et_`U)4Oyh9^ Z:yJ'¹&îޞf3j=!vm#LD ۠,D3c_Clƾ;Hژ뎖}e#UmNj_vKhz\>;*x.R|hg]-R*b,2 Ke;=4``.k뗯{0j% axÌ e%UI*-v^#kaA51}IvFҠSnQ{5fȵyX{h*쐎oH)kl_F1*eWU&\|,/s=͑[4~@T5\3dpKyй))}k+1㥎7ed8,_ ~I[R{=\90E|_?ˌY[xy_'U2Ӱ=젟h#oOw8_a5DMDBécԲi9=(H9%dױn^]X IZ^Lj)nBT_,(ռʮΣwk갌^ܑvt㋇Wݣ)~h'چS LnyUHٿMmKX.Mܡrc[Dy_Hj 7[TMJ,6{}p^œĎs7z7:(fj,`?g@d3"&,tէI ?-LwUm v«Ďl²;D&Oy+L><\V9i3" Tp*d ϞǎDŽzۛ*8߱ώvpzכ_dϑ/?+K :o>qKpSI=#nٳI'*~q[l-TƗc}?\tPxnbb?JZ/noft?[rG{Ncwkq.yhfAsSnP5Rr*R=F6咖glEHyD?ٹɕH4V8RqgACzeڠ[=P}2}Ɩy:E|:d"7o5^YbY 3;"t1xd6oL eKIηڬ{+WZb5x#g=#ձ|u09^qG8/>< Iz\@_=1t=Z'c^h޶]^v_ͷsu7z靬ޘq]C[2* ΃[|!MXo^GMTv~-3F ?e *^-ضs;.}t1QTbܣ'i hWn0Siyͳۢ ܠvb$k Y-:+ngvU$ڽj{(kR^ohgK!cuALZXաq!}G;h~o8^r'ּnܕ?=ߧd6 &eZy/ (hxZ=ԟ>,"o;ϨLqLKh|ʧNJ[gB9SǬ.\?.=cԥ9ۧ?ZyjkJ;ՖK:qnIzضaG<-KF.ҮQGkJ~n>g9S+k呣dO=x[&_[~rָɥ<UWi;_fI#ǥ{" ~G. 슫?ԲgF\^oaJ$74'eU%F{Zߏonۺy%_i_:KiF? q{6 ͟STB[Wb!3ڽ2xϓ\3*6<>l>1x{q[uNv:Jm {>)ܢjꖤ;;8g:J"uők]SJk2햗nt^/":NAZRn%ߴy{/ax@do^AOK٪-Zo/Wfŝ5?J%%GQRE_"/\tOӿg)+ԑ]ܖFV]}3q=Ԍ$\3uqQ #7,J8(WC(ݞz6w~TŗvbҷH!&9jj{/]ߺrxioU1@Qz^-;jgB7IAԝ~-⢓RN׾ƄrsV;:<*YWG}|3’_? ^Y㧛|&+#7sg2h1y<#+,^)}>_rQ|[<ί,ޜkP؋Oo)!^ݷ5{#K5mXdueNm.fk>}Qs *lĐ2bݼx2oi]g8< {AK9^v̭ZCFbO_-uDf&gmxidRF)RǏ[ޥ2%iy)RnC;f9(f$4'&d.]buXhM+y<[kM W`䗏 kug l*$zh|,>0FvRhogGvSLdy@sRdACdzƘ(=D^H%MݭҎA60A\ZU~A;\CHtx %V?~ "figFԻ򊐾xe]e"b&D<9JW+%_BVExP*T]7zNWf?GaCʒ\K*V%+Vj0;|؜mjg0cԍYR5u,k`?uvZ}?TtuGN٥aS̹߇5(3ӻPPzXquO˘>JvVU+$Ef(ҿ+_ڈ Xy{Qx"-j5^Vx|zd@^(Z|Ba >+@J z  )ps %ܟQ(h> $m5ĩj xY,Mm!O걈6RʮZ,H70PѡaBHI\X xWxg$ o)i?*i[L])Fr`1c::*ɺBTDPQwp(R♰ >6G4v`T="/G꒢ |*̫LokL:5>*AFs-"0Z±ii 9#k?(0;`2-ҝ3yA{*ZtB?pf5 mM! *}\\Ƽ.#:,jDXH(ŋ#E ቢ67>S v£1`k֖&,5?(nn "{ 2rև=lXPU ++A:Vnos!$6>L<KKՋ`>W"yqB pi8Y'^eHl t8l}_/=$B xXTRbv3hX#$A'L+cnvT㉷vij QڋBI9RQS 6 ecS Pb5z0H*bEE#sTnQd l5SYAX(UaEiLe w3谑TǼ) f0 )R ho]#s H2pP-F2&[+u2\q#7 ⋲*Bk4l j.%^A96!aɡA}8n!yLCB8@Cg&3T7<.g٧=%E*l*O&;&'M%NOh0ƴ k%]|FTHi:!3[ Zx2X|_zX~KF@fyIGdo֚ˠ}qM}P '\{M k"`Ol;z1! _:mO?ӧAe-)R1EDb$UQQHs9/EScs HkN]!WEۤTD»WD:= j-M),r|Bn\)ESnbT dK'"to n֍# KBjNiyh5!hF"+!DQaTEf tVBEW(K=#Ub1 otT$YbAU^TAzqT-rmqc"`_(NBG*!E܄X?$;`V2Eq[<{;Jdm}wItcͰ̈́ݰ;xk#%m7r! Q fkruJ*w--˜ _ܕ Kdݢ]);*:ִq>L^>?mM$;{Xs;fzu;~gHW0ncent➋S#X0 HR& 1=I*eY "R,`11$RVa#"/?Г&Dֳ+rQJ !#̵ U 죥viQL#UCz AQ@3:"m彅X6QmhQNoM P@bK`T LzX y\ PL Dhm|Nfo09Խ6jڍDv1,2ܲc`{pE{[b,o*\k`@Jig{D=^pX:^CJUJ$^,fM s@5t:OOHhH "(F z|붶MA&ᬻ>p:Xeu+T5bWkgͨɰGm YA߻W"zjg| 6TմJ6O?{b5EB j m~G)r}"FW%KyKnpi<A-)vWVLBL*vsc@. )˟ 6v\* IC #k"E4: [ˮmT?6] ma k6by\4i,+i4 &9*tWf~_5wD1J}1UonGLMۏJ ̇x4/s8bhH)(fa5ZpZ/Vm31-oG`)?[/?,Y"@/-<EFWu Llm=42\EU@<[3, @l0*Y5ǯhsonhtBDAk舗49N=7 쇌x{ٯ( Rp"Ɗ5ֆ_|C=`$GU~=XY|b#Rz2bۛlJÖ[%N&ŲVL rKq"2^ >%BsҚ2cj'[j` T|d@I:-ꘂ9t`DHZq&,1aR옘+r#D OAvJ&\Iܮ†mM=R^&{m7ЅM"w{%9Y1@% #L׌Ah迆%(?|qHECC.cJ GQ*5$+_$٠wZBicޔGOA?sNMEFHV,wVuDV*R"cW-Y&E3kF,Eݸ(ׯ2~EOш o/yuV!33ik=]jyj$ӹ>Į ԍ+Dmk+G9|"w'z¥iӺsgZ1s#M,C]̝?(LR)5ܢ ڨjf ɒ8UVπlJ)ivE{J2iM0$q]pg &(ԍ F`A0X^ge| Z<ls|*L[E^YFw ;VRJJ]xTk j(S\3 Sc BR~<% ,w ;)R3$:Zo7q{ 6pt4MbYofV%T.LgP1OKNc$ɝw'׀\N,قʶbɽapm4 )A&Xlۡ6qh{FQ"maFH f5 Z^ҳ$BTtV:#q9aS9L[.AԆkrH& +@j") rK-K7CkFnEhBt. 3y1)h j^5(ͫP**زv% C:7 CpUÇpAFl GEu#,H-r;7\ZV=0@C])@B\2n<&bZ腊}` IQ!HԴ6Q,YR 'e1֋%܌R j3u78aV eR4D"EesYmy Gб$1_+vɼka\Z^ѡq T:4UU`/.ků_L-!gD*P*77dr(x9#!@RdQUS>~~}U~A;E^rltƉz9XꉜOZTrm#/TCU&Ñ{k&np$A{:W伮wVJ@ "=BvBz˝t *f V5fLtNzǻhy|,(-V鹢?  o/+j`J-u=jhH9.bTH2z6܋ꤛ̸_@pFxXtuinEUv;cy̯FI)dl2O&ĩK "4uI+*ZF9PG5Ц- M>8&uznucݍLԻemj XFReY XS[f^y0ݏ=WZ٤HQldGKQaM0x`E 10!c Zi;# 4PCTV؇T h`Hs> Q @j3qW5o4b(lz2mhLoS9rnI-#&1Fk.Sȴӷ2Ԝ :@ :9Tj.*zOH֟3Q= JёW9qhF[q`D U%%ԫR>e4Ow4XE(CD(YR`(%~b),ewC oc#7@7ӿ*=/ NI%>x Kl" H]iqpR^T;1p#@EyՀ\ǻA\8&.kܷm8Ҙ`}$ $p!L<3dLx&jH&:ȿLxV40SbC&<ՁA剑=ͱB'ߓ:gݾdRG~*zb0J8RR,dIKDcۚˢQa& H-KԦu@:ӆtmPuzk^NќTNLmFS Vm6!=$+@wnh$K9mֱ8MHzHtWA<N: 4F+a5mHB_B{u:R@~bEP ŜQbeBe:1 ߪ;+ˮO}E0aKIk"Y`i %wJchVnXbIE=AVC MǷ]aUbXYiMRNkk>lJx|]EnhQm'oaޢ^E" ݩk X$Qx'ccǎ%~"+j=l v> *C-RT}nL)mbKQhPBBR Xk>ïN.tB?"׍ЇH]}Omf8y4@2xAb2#trQ(ل9qP >+E{NqKa!ā S\@:lr@L'Ak;B I [4+v Y؎r(4E-S]WK<=_^瞊ȌTT)`)B,b,"@%#'QǼ::1IP H~YY>ۓ l.w2RKGƌ|/>?Z䎦؆ H; *Lk \CW=dX VW2H{D/gl&+WXQq|:(:I-7"·bDF' 'f#H]9|3U-"`nRؠ!pUD6eICkuCc ǎati)>N½AOݼq`M鸤AzkMηAMEJ"iLuhj;7d#R,TTʘ'%TjV,ް1 ygUStXPj!p1a}E-D ÈjE:usDF9.aCmCLDUA8ȃû&JZX!D7l]`fup;Xj 1 "Ք*TSˀp IazXˮ 8|Lg%0bdݗLBbo~<z*:VqJwPGS&|H"^3Ahk.6Mi>8p<&t2IW, >7|DZFDةOMMջq jY& i4nPCTA4)5(ޕD+FCMYyLr:PBFjw Cc@(n=c5`|̊XKn4IP Kd(5} gZSounU#bQ"QXAQAdΗwf>89}g{fT熴 î@CV}K*2H.2T<R"VQϊA=)52RUgyhd>Eb2W!5մȠ1x8B9y>V nK duDZZr6v@.{N1TLU[^Gtsd]Kۙ-ZK13ս (5f˶`mOL7Z&PӦ.mACSj#DP*SVŦE=S*&C 1 dSpcHaRW+, q,O0K2 f"pfN4jPL `~Sm\kmps6 JTD&Q!5CPJ PTt #Miܾ5HpD򏅔ܲRԯcXzzY|k2Fn0 =At$"!sM=J`l@Pmc9E[) w46N>[}t`jMPR%Nq p:]U GͪpdCaȑ!c/a( c{m4;\pbI$HOdM@dD`GzOdЃ`c[񓱂XH tFL4.soTٳ91OceY9F)|M|`EȼjMP)˕0S `jQQ |:vON@lj}B)퐽2L+=oXwxԇ jue͌|+=tQ4pqO859":z,Pogy}v߈#_zaI `l(Aiچk /V y)`NQ׼9ς6QOWog QpG, 8I đ-\aw&-쇊HKAy⢬@Y"(vb?3.0Mz2Re(蘌ų]fPX3b؄v{=gZ^x(mM(]!T老`",#"e/MkJwg΍U éo;@(ƦZ00U:P dBUB!^!eghxp=.[ nhe>N;RQ4'AUˢPsKt5'$ @! &f$ \:mK\ӅEn5^DT 0S/fB6|~46<;p{Y*ۍ;C^^H^Dbl~6L̾n,fÆ0,5UzᕨT)KZc!n1/IrvD, 0bD=1U@ɭ!h'{,\Uʃu7D|Qd59 S,[+!i3+\FrTlTR`5λ* ;RB#g%8e#hn2ݺƚ{|\(}}Egڷ= 7Q3QzRr b%i@I) FnG0DNIMT3oV(Tֲ$޺ ךUe*rTQ- 8Wm5 պ^*5u`Cr4:#6XR@-MD j-p(Wu oS@H葙f܊95e$MӘPė5t̎U$4hMH=d /͸ eZ8ZJѣd+N{۱]Y(xs;iЭt{s`}AWl-Q0t Ԑ)>켐^ߎˮ y=Uxto>4`m)-&KO ׹ N&HUYqफ़n~ aS-N*]辍ZuE)lR65\ 0eV6əcDkt C{VIvNs[9M4oNO_;}fra =]G4٘LcP,!be t .4.'uĥXխ=TJ#NTX R v1FEލ .Y?7%'l< T}#iY_0<$w_Juim`.I_]#ba$ (惷u+F"'>)xh9. sŝ X ,{#@,Ң"ŒbτUi XMDLma7&aCY8ˉ AUCtUnR|3Өė؇4"1U&P|hqmٴMO~dP9c Ю R0;pY"n]`&:)06<"Ց~ OAQ 9omQa ?q}}Î;Q3q|HOC{xb,N.KٵEe+%'}2]VÒcVpau&ZE\[;ÃqJTTY*bYl",VPiQt,Pa[(Lh^Mc0@0HJK/E㩊ȖƜRkCar T bv2hr|`FY WM #W͒G`oZop1)J# CX"T>ę7:6M `9-Z@q=lL;U8gI.jHFMC:NðsJmIqtBNVK(n>4E)HQ 0䴸TnwPU+&T+*ġkH`Y  4 ;@a86FC@"d8,,$s雝!w*rx)p˜36yV T@tC;{("ڧ -@l F9 #` hX/zzktE(TΆ3c(¤v>"1*u2$?회UG;((0Qd9!!{?^+#Zr 2wb`-C ZDPYtՌ3j,MMDLB`T44~kwP756b;fxˠ@^fVUA~J:F[Ab_.nnЁ793t4O)0yB~tx.qa3$tf0v*ŬP6mgr,sg@,A3_.'ɊPE4{? Nc}~Fs' $F3>}ڀOH } ՏtA!H1 EY*ZU)πu4WpR)b1z2{>1zHcedF=wh/_JMϤCZ>t^|8O9j.KrY8 R B $-lK@.M)҅Ы4A)(EEDf. 33yݙWB=ӯ׿R4uIG&U )}ʏmlf#GE1cg}G+Z)G8GFLkcܐ )Oz^pwhkEksiUY96=so&z}߾:nY'83|}k榾8;p[_V8HcSXց︹1WpBbgk9͸^Ibw谖_?9zio\}{Y~˯ʹy%*|Gs{;kWΟ7?o~*oNֵg%?u 8>;ȋW-txiRCٍK_uoiJ%[l;O5^w(^l7VƢu\龡@[D?];]{G}>y7K ~oXi$mEP2( &6Wj!.iKy7oeBcܼ1 :=]h÷;d˘7VYn/q?5E\di3yֹIe>=Jl`#S^dvp]~l~Y졟UtpՋQ>۲q=McN?7hϹ+GeSf%9߭ +o}[tSnZ>Aܚw;SѬC3X߹_ :ꋵ/ͱ'B.kÞ+pΕ]{ ~W_/>sv9yF|r>> _mZoG0ߗIcQc}q|T8`ƌ nsZ*oWޙ1#O©q}\'i&(пE]~@;g`-ůpxgΘ~1{*ִ3Wglzd;]NKǹ|}^6yhoyQWrtO5*&%ed H L La 4Rcbzt3EcL݃Rc2EFޭe@@JZ)&:&65&0[LSJZLؘ䀠ؔԀ@SPˠSL)h "1#V͗-c _-ŀf$4'ysȢ&@hs @ˌв8h hO Ł@ Qs`c B 2SZfQCW)cdFMpR4ahpy'2`Y%q0NVEet)S4`xHˀqI].H80(6ȕ*yUX,`!"V y,1#X(Y;`9;Ș\`]4'0Q`5T% C!(TP6z2`D , d`UDjjtU1G6*Hvk82`U9.,nU\T c"P%j%X0BtqҼ ,pB]*)**ap 8W#8;d١ήI8prJp:' '**ND 8y ]I<'N pNEM(x @RBP<5a(E xZQ`<'h1z x"EA,_^t8%;d^TIW`<^W4x 1/ˠsAbZPYdDpbWE(n;P&,py{Lp%r., p2h_%CQ 3HbGTkdx * @rx e NMGdXU" D nH ъ SX)Bx q,dyERl$,j I=Pv ɜ#v )@RZ"7)B2`M(DREM%D;.QfEGGEGM&)0EQEYSC@$ ݑHr- 5/('6o;O9cKy d̼Vx魎 #sr(n4v9R+N?֐ EdEPF:E{ ѽ`9";D\HD5+bŗxkfgЂKI%dQmȅ9EzŎ̋'>ڱ4XvQ.S%l4,] > ҅{1bC  :A*^;4IpN^n5/7+5W3d ÌHI9Y@Z Y#+ EV@TJja+ֆI/fV "DJ, V2,sG'͊ԥ @ pBЮ (Ѝ@*F/ s( ]>F y^Dp]0T zs.'CGtC)QTQ Et3 cWBB/NT[(:PYE I9(ʠ 35I j5s: #*l)r m!ka $6[hԻ#i_~eށ`)8z\J@ 8 a4Y,I,DE͂b FPht1c4BbA.|otA)ݯ{S(QBE _F; 4+qUT 'UAZ!T'dB9-W|ΰ(PONW hhP$Yl TQ~CW, c#Mo 1ِHXiK-LZmЫF}e.M X \䱡Jǣ, k6ܔnP㺖']⏮Uںt̐=柎gVM:z)|ZT6f5t&WǬ5Mjytdv!8|RTkv耉.CrTc Un %?O\+8h/tV5g{χ8].s bʽӡwm=;V]޹ 6IYڱg?eaɢ?yk g;{{;}װǁG/]V[2=~udž( OZynlsVU;:7=\ܵ2x߹~ΉylXVoɗ7\tuKÿXptzXǃ m;1?l:?e=pv_y~=x vT*zl~{'#:2e/Fqw>>{^yf]W9~o)w-]Wlȹ)ڼW^|7bcfYy{ՀsW~"Ķ۝n}U{._iRU5g;ߟ_ikw>_̓{~viM'qTavϊ;9}?~1}W[{둻w-7vfa;ZAx;/u_Xu$]v;WQ ;̚;r_t0*dG/W묽)o a|{]geFcwڳkL%7nG_M䛿 ] g+ ֏㪖?}"Tn?;ۄuXu:eӡc[顰s]la9 t9?}{x>ډ5>ڵSC^m1;tv}Fzz]OzC)0VO? ulKqkN]7OVٟC_.::-J/ύɼr.]wy|j|U-ԹkQo/%'@VSNKxv;ŝ^ZI2gW&ՠV6EdUeA-q{'xSm:b_a^qpܟg/# kwGmhKŏ/=KQK.3eϮk^\yc걋Է qP鹝b?itqsb/{)I 7 cֹE6 2'q}ۖɞΏ?9Ą;;#'oX[qGZ j|ėfmy~yMzusY ')߿eʋ/\=aQ_.z0fcGaZ49xlE{_}PE%OR叾"gpݟViX~6MQ3C OojAAAoά:(%|dVwUܪz|'"K#%px.`ӫߵ8ss&4#m8`o{q3~>3z:qWۚ9rM푽g'{]\n蠇~cS]ssʥ<+vo>pA+9gbS 맷{|_ Y[Mk@wv'f|[&O|=/^\)g-M-<4;|:jlISJ+mw9̔g6f4Zi~6ȴ᧱o^٘e7{TO_Z?//D͝ozN[oj\ѥN] *ϾwS;~"&Z| Aۥ}?="wnEuaڳnEѧָ_g&ɇ 桹T]ϻ#̼uw+s+o|{'o^}כCztӔS2ֺxE-. =xbg7o{oTN7F?Jp.>skW z>E{ۗ]Y}avv㗷{ ƴS}ZM<6c`nlƞ-Ͳ[L"hq٣vo]__j4É;'7.8 џmԭ㛲Jlw6f~npcl|ig:}y Gv̿ S"3ϱ^@Nc[ֹ2k엝>Ҿ&N{qC|)L߱HAgǗÂ֮e,Dmߛ5KvYx=fukR\b…z{B>T'dp|,J˷wi{3|_}:G ya1T A}%ncA.Oj[֤lufC+Q8ᑈ)fZ|BS&&DZ?zeźm[='fC{uJY7,̕yqʨwGgI {zOhG̟298s0NTeԕGn|-lSǼ-?<{uϤ;27kik´QHumL>ۙWZߏ1Zi="yJ2+ f,n L/ݶ'dq~}n[~x]튝R}8S_Dr9;hk%bxx[V-Y>{{^2ں^Iv1ϒ>O\|$qv]c/|âg8຾[y{U|cT?x5o߸v渹ÿگ |T=K9<ޯ36weYZױLb EC{?~%kOޫ?y>AuJk~Ru:,F|1Bϔ6?z" }Yas.,]%GLy=1۪ݳ6wImC>Ŧyss|汋lb6-nsl̾3qڗuˇxJYDS բkMԎ%sMbֲӷ[Oۼ;D{&a/τ_|8mMͿO ۦ1_L5,sl֮ˠ]W Wc{>S0_j6d=g)[TbcfdyK ;v:;&͊/8ƺ\q?E['.m\?1)l'&)O3+v-^6_hKZO'whE; 6=1e_a\ҙ֋:n4;-W-/ݯQio}V*;&,SV[0=SpN?+bZ);?=ڭ 7|5ժ?m98f~!8g~ɘO{,3I$ìțEm+ u wߧ6 M*O?q*8;3F<$E"aPoW= JbM']"T֡qi[("r֘ '؇Oէ"nx< Rz|um/?7K"^co kԕKGOܷ>鼛]jhgSqIաD~\[<^|O.0؟f}0z{W[gzBzE7ƭz:zo3B 8>N-KSOxRWpٴ=BsƴheѶD͔ˉŏZjK]73W.?kW+vsf\r)ֶx`c^]?TG]ZrLdӡU>FuIΦڎTԿjJ92G:.a~ ~R3eenz1^K\qIyǏwNq hw'1Ok' ](Z8N&G\{ooIVJF]tVUnɡf_BvjtWNB09DoWh& m2hh8]˰q}m42jP/B"KH c CCMmv#`! Y0bm6>fСz4mּE߆&ܳaؿKz1ƿ^)]5o¯ףmFMyoתcD|x,$ukJ3EEuϯ_O"ȯ_ت_۶vXJ=h*}Ż1MHpADNp&'"/dexbHM/Q@wQ%T򮰴^Fn#51uGUB㪗hgeūy989%dMerTpR YSCf "P^[]e8ݕWTh)@$%`\5һ^prd/:!Ow>%k:6»WCAM"XL,ىZ&j%^hϳ4* U+Eݭ$@mx%Uk,2PYx^[SٔVP,Fe3کBc6m,X#Oa*!-{|\:J,! éܣim.Z%EWքOkJ" P4!ӠS˜B`pVaQr6eY ,[R^OK< -(̂~&)v[`8NY0ϓY$kG3;GXϔ;yiq36I.-x[ R s@j() 5\P:$+͚cL+f[5/) +'Cς"( 2rՔAYo8YiZbk(U)i9@+@bRٱx D@ig#@Ҳ`]8\ ArF$`KnZ +TWHҋ:)(F&h RDPrEH2tsT 򁥂vqZk#}eB=DK+w|Vza2d[ A-QqrCU2 ( ۋ"Pм ⩪*JuՍF-MTUѥ!(@ oF?0;'7/PAhÆYR ԭWAF2U6m۵бS.]_]J*TKT0|ԁ5[z.oe}Vz Y!9")0'94n$L'$4lEUQqfD(zٕD; AC,"sx^-S3}%oC"Qr8 #2Ja%PhE)Żh𴀷k&x8;4^iB-xy4T*H A7TP>0+;8b0RÏ<(BѮLӷ&-/hכh5[͹ pH o/1D2G>kN5U7k2$kg~6‰tv(}ߖ8;OP֝Ң+~ފsq~QmB䋲J!9GVYX}2C`N.'ɆVkdr$Kh-E^*c)k).w󕲐+)Ԑ<(S)2hG9R,Π2 Hl .Q'7T%a4E ]&cI95T?PR|hh)''T⇁YP)R!QS䐥yQSKKxS*JAؼDcPMP6FP㢀)>_|dɲS|iWmN7pi΅$..ϼ" *-W[ 10{ Y1zh Eӑ+oA% A * 52sqE6bGsC fpS7t }ZRdP*,`҂U>V]V 5̃#DB+f@AiiRRi[)pH|!<.Sx@/ cwCM NQ0d<Q e/1nW,{}\V7>PF(sU5k$^̙`4;!+@ؼB`ilr7i9FOh4Q}c"[sYu f|ܔO L( " -ؑXBs ‘!%Vf p2e@^+`/ ]=QS9!K8EE.E>63} $YDo;wq~lOf\dkziZ^5(7/^;SNrFV꿳DEC\F5f奦%K2uB@ kArV6f6|*XQPyn`(Dc2c+!D06YYV`%$PP6*((9 * R(WMd"(~TΕ|V)&3,ǻ0 | r%i2Yՙ'U?㧴< r3MdȸxdTA I:C1]AH{1K1(0/;+5jIJҒ6 PYW*N%2DduHa9߿Њ_X4?G?4&jdDV]$W n'm1~m?iS hTB~ Ya,eDE(J?Uo. j@G? "@n AECˬ> PbBX 8EAO`]J QoMC:cJJi X2f&fXJSIs Q{3J 05O7*Ԍ 8'zA6 hwnBiGH62F'#?B!?@\R' ~ AX ⳋ@D+'y ] aVJt.jœ! /*#h5 $򢣲ԫ'>:4a?u2bZ-i0 ^UTTD KdN9p^K(/e{$S5fU;{n| 䤹8OB2yR] s,ւT:tP% q(k$Dє4Tg,(h'gg ¼"kzVv6Ɨ%3T/5Ӛ]`î˧SDMQ^f \*yGVMGjwo1B|.`@atChU3{MhE'^Kubx|N^?麱6Oxom7|/b-%J/%3$ZZzrȱX3@N^g&Zj?&sHn$H24b*(ITT5/@tcm{*!qJX@BP`ۗ? *j!QBz[E9  =tK5c|M H=֮Fڄz&o"N?V  LrMzeE_ɪƍk>+2<6QT%0QTG!/hTƝ:F.%:ΎƄ6l*GtDTO:x{ɍ,AUK8ٽ;FbVVVuEɪS}dfuFeblnwk60`Æ 6``' 5{$?`D0/[M*'5ݹ>O{XߴVd<+aY2vHnK',$B̃ЋR)f9J /6F™ ǹ۳\+uc~VLTG|#a o|LiȄcf[0f3!H呭UJk%aX)KO:ʫ#W>\~3 4?PO̸\eQ,Ti,rA{E8{|< sLי x՞)>^JqZcfDݛRa 4%πp!JtT&9B F(칌y{\x"Z^[tM\s8I'W;= }/]:"|, *" -f)]C*y;wL"S7k z?&Kڅ0ou߿3J{۾JҜzG<߾<=mH&B`7[/#ה~^ .vbM;:\G*I Lj DX;r,MØ!|)B:^JxBSB Bϵ!DXQ>T] ;=Na3O]jp|2ο lb'tia.(^ϐ޻u{O񟰛On.j)'qF'k)ROsCcM&z"S:,+b~@rQL_$m^2ۺDR*Q jA!t]=>D^&nsaG \$uhY^AEw/E}. ;/ϻOAqAt؅iyڃaEm/B8 iv#OɖB ;M}c/MenR򐒽N7߃"WN8=-1)!|j@o|\1yo(*}68n{mA_`H$~ iqT#-(NJkw*H39"ɄH|敜K5aEl3|q'~|sA :޳}֡*peV#sIdTj@`1,-~<@ك0+E=?F|wٗx83bvOCp1 8a=uw.zC8<1 ՠ3,]&ܶm4 ?0Ρ9TH,8DJZqa?isVu"9'¬O띦舃/ϯ!%p=zwT PQN/ri{0B=MDp4*odNA6 9zA'q3_yIfP_/V72s-8GnVV:-8{i"G ԣB2yj=0/%ͷl@`%Jq | )\8jZϳN.0,IPs i@ⷂUAy![MH}Ek̔kƆvt5 qݫ, >HLpxJa#S/I>高*O(`wϟzc2Z,ֿ v~r?0pL/ݳ;'1|i|٧8 bؾ>_\w`gvvagvm z>m~?jۘ|爔^R/ ~8?}oK5N4lU0瑏I07E<sl!SSRc p2 1 fmrMDQFp󈹩l!QпH[0Plh&A8ˋ.`WA4( pG.gcx>_\71p{n7ۍ@M=s1gq-oUMhEH/ׇi6N\ݮe6YfyP. Wq;o&cNmfҟ^̤fjp$[ bF$3]2$//@˫80k<uqfIȬ~8 iֆk+lkJނfݵ74h{ B;^ QtbALm)}cS jKo j~vk$Ց \6 WV ÍBͼ(~n^̓E-t Q"NxlD;b5HGڅ2Xkܼ ,Loc,qB57*}%DZag^f`K@|gضQd:YYo{[P_AekǗ`̵f.DGvp,Uď1 K2FN:Czߧ^"9+ݣpU2(؃agKȠ^?bXr:1BR5U7-t+~cYf9K3O]db9%BCnqؿ:;J3Ir!rfV1Uǒ>Rj8cGpxχ`^}wSynp7n;klAv=xl6a{ƌ\"..D؅EZ*:`q骭[ }CDגխk,xR7_17$/fՇ6H7Iv5SYE* K%E{셽N_g)^gc2QiOHmm}&$|JdAg5.(s`.kaRZ*R!"F0sub;cV$qy#kr(7ze}mh^Ayءv؏qTiW8ჶKX2%g~upr L)74zQ t } "xgI>$|}yu|iUN{"rRW+r\//Ryuҍ,n}*^vv{us W^ u)mZ3&m!t&3oA7qfй8q "g)SAvL-@hVJzvѻua0j_ (9gbйk37DUF%! >ቃoy8 A< O3s,ё~ZNVsq}>E&\f$Q9[tt-mdfoapgr6>k^1G 'QRНͽF*b9Ś}+ܪmUe&f" BbnnN;n8Ǭ%ֆ??m_N/Wϻ/zcX[P5ކwn&g@ +BsyG1 bZR;p=_q$7lU|mjg(]iavYB (r3iHTYD &I={TFPy@ruΒf`g@ڐU蠪i&gdRr\o.+[o|&0iY0ӫ4KaEc"] 3/NYR(x1ꑺ.O;C?Fpi켏wr%1߷( Ӟh$v3߷}s̉F˲=\@ ۩]8777bNE?81w]oo 4ջdPe:z՘xțH:&Xnyd`a^{08eʖ . Z2bZ09|]#4׿;!P HAڷ_._%8/LrH3$%<;@Eø )<-r'H\\Ҧ^Ipx|Y&TpW,ZɵʕaE/`Ub&8q_fy8&zJs௰O%'2%JQ2ax3^cO({onыN=ƍ8 /]+: gXHkK]KsnI4Tߕ%+[}ۆ{$Wڃ nn""2cd]FCKECrZOdv(FD@\BIn0meY[&_'[8, x4>uxq«1>3l-*TeV˱%} q2\N.kF#!v~qq 7=_8G~o֙s|H :fdL?߅3M:?4 pxQ 炴16J>Lٖ)_r>T $xbt{=CqIUP_ 09D>bQV( hg,~|UpUtw#Bߴ<"wfORt%y8D*T4jM]Ra^.{Pw?tS>;P_ClDQO#G^\rcE2UDLƼtyل H$)}>JGE=JGl ILBؐ/`-CtRAm|FG`\r%KK{/qOk0L&Y id0K$J^BLdpn:1U@ ^ .F <⼲+.pS'T*TNv%Ɔ l )?rU[yay򠘥%`yyk4k58А*lz" 29Pl!v=?8v~}}xM{C?iwO;`m>ޏE*^ѧqˑB#l3|{8AS"`ȋxhXqN>wG26e4߰8Ѥ<2P E)2>J#:@@TfsOљ>>% Xqcfɀa~Pcy5sTiy7 2#`>SJr8Ѐ'^sӡD3IͳRcZ1^{ s("]`/1f b KhҐ` ;8 W6iF7ӈh5!>/1UVE;,BuC}@H)i+ZU6 3/uD:>tRXߡǟHOmMx%x9~ ϧ2Jn7o u%d$wkۺzx-o!$a $A2Yń0n1y wm;~ #@4n _pC& *̛d,_!ְ7[qቮ|&4$S؏!P!LYa-\/CE1`HS/Qe>`A!xL 2@( AC#BP8RkA#<( H! g4L<5ec?Maoxtݡktݣc#>\KW;-`ś0üW˽6|&!*yJLe&q\%=fgEZL~H~,9<Y[o{+(z3ZQ;iLQCQiIXTBs|ZTS|ϫx"EG[f \[a?b+Ty$->;(78jyv+9\7H\avE!>3IA2G~L~@lEܱ+r;ZD2zA|@ڨ˿!:m4YZ94bK/cI;q[qR fύwH, zf(@joatWm,caGz Pݒqm_ ,6ʽ0&YRglm6W~*o慻,܍q!P4c!'6 a! vmɍB*^ )Q5W7YC*w+{_j{.KP]רjiz(s)#6|B]i-44Xogp83w8 $7񭸙&3(#cv_I2 hi\(DcB# aWK-q vì?\Y^`wlb#@`4qη4BтE)r^) $̶'xhr ~5𻬺7;įVcẓ[,6бgaZA܂˵o$S]F*hK$O7狜KɓLJ;3:d8 `7[[^a77 Bh535i>e%^'nXm!E͞ *q7`7wh!2*²FGi*Sz8rR, gڱskizkx]>5Zی*&pb/*7`7a'Q*y0SځGCH` !-/fPzO9mc8BiA!<c Cl:|l| JP a^UL 3dI h$cdl}94\BԌ5]o(T‹KNVdDg\[ŁЏZz˶޼f֟U~igF|pA1 a&|xqSb $/0 +c12P…K)2򴆫vD{,x>B6x_K G_1X zue:]LR-NtRM3؎NRGr¶E2N[ʼn89`Vօ5&^ < :i;C6^xqav4Й%c{7n쎞j+#!H[Gw`:3,5`l b`EijoI&R ~8>IoW8xG;%'nmx+,a 1r~0- ̳u/an#U2*ԑ.Z ^?,@8vNXeogI;/ 'kk_ZXX_G%naAj/Iel°XpVR[7 $ڵeVz@m}W:6w`vqi8RyRPE<.BSYC V16֢(!D\> 3up&QM]8?>ßMWw"g]=t.Ώ|OݳHe48D/L&c͒8̓ 8X,$2(N]Eֳ+G#k>?  9 ` ]9Xo <{ փUK<|~ḟ|z_?7ܿg?OſdR?Z6Zk??G?!Ě#ďW~vA-I[+sWǷJ20dE$FX18,~/mP%Z>)'eu -ԱKjx:}S090[W3Tлt_=)AGH0Iʞ,\'nrOz%qKN,/c>F&;)U |7(&=!CW?Z e#̒YV_al, dEi5Jμtd9[kƀdE&J" gA+ naM 0dʠ ̼7"0YzS9W37p#w+wݍ#=_ARW.=?p9Tt%m6҅x2mY QFBD+EAλ}/jg1GE2\{$3MHG1}Bb\Lx~V͡A۔j1U9HC Y@c\H^n qzw*w!q$^Oݤ?Op=Ky~EKUE"ϓx;Mnd&(}t( ^iؔCX/J~1wG1ޙ͵ īč\5"-X]]YYy=x{Jn`B̕H}Cq7i~G=փc$pe9 ݂}GvpZV^0z'''t["T<"qAeمo0d l#m]!e)-b/䲓]SYpq^X#eƦhX,yV&ŇQ,BH}D#$Q[lL_S[UI!H4{%EjÞW` 2۞ɸXN#'ZÈ.~ o\4NftrԐ?5z9SP&Fw۲X7rrJ+"Uص89aa?.T29~EV Qhk8P[?u`_źZV0 @YHDqqr|%.-N[p4ָK#vX-8ovZF/]4 x: lEJRH$[Kf+Vd2$)i^:Ѫ \TPLMq| )z#UVhCxXA*exe&1UU͌KVn*q6׫0/ck)l\@|D;P(L7L$W2 ǷoͪKc'[ȉ"azߍ EZfˆ:xPBUv+F]w?Eƕh4haUy)n@:ϨZl.RY } QXS\jbD^}@&AHM‚mZn:'rxsX^#WJS*, H32d<Sۧp7 YzDSBe@^*E“*#TVE"™.o`J \#zJ)<1fȋsHRR:X=KL4MRMo u*HJ*Bظ4ta&y8N3Ƚ]},ʑQx-XT#"mj-[Sꯪ:ل&9nnYDkek -ЫW}]Ц N%G11=N5yڃ՗,G-eцߩ .8\^?MY'Pq'1F|XSDrY'DM0( ,l ?UH7 UJ&ص[ν!a2dew/-#Nզ䱟<.R1,V!N1Jmm_t 8K/简v'цNIRk&wEL4[VjvW6I^ C\Ǎ-qbɖ=Jw}y"{Q.ɦ<ɥ?qN#c.HB٭k~ ҵ尲Z} Ac^ru<-sik/=$8ѯ4ıLk[(6ұ'⋳^_a.W#^;ۘ:a}L=-`wջ{&Q@ƚĭ5^,M NJzgzꞎsR/G 6VY|q:UöY:Y. > PnHyxi5B8wvRA RXŦ.+!L6{^u/ζn xl`12[)l2 bA6P7%^۰ 궚fa|Mx1M@aAi8Fl6 iT!mz"?R`{H[ٖ5*rgp=̤fʗ5֗XŠC,@z2s<򯃧}+d8-}03'WMB?!qnzIO%N…u4ʇmndDWYo&dݹѬb& Mz) ad٭pX3^;uTEvu@_ a5x[ ,D Xɇ A=@15PG72Btk,xfY캵}!h[zJ؛~t8!xsYn8:L@083ϟlqݗViohj^ꅊȬ81V*ּ,n5vB^0Xb R?ў?OE{-ɧq#Kzpa)F &l%5kNf Aθ%$"-q18Cxӡk0HݡXjD}pE ~:o%?c,U {|\BGe0[@֨4*H`oFj-Ipgt+npǮ[sQ0iM)zm[md@nRS N2Cjb!] sN~9wzfdՐCM-W(Cg2Š /DV2dD,bv;^X]JdlUaҤzԯ*׿Uנ֛ejT,X#*;MH,][q-蓺Py2yn>s7YT#Dީ/\2ժ'&WYnHw)FdwKcn cVP(RZTU\AC^ĚRk&+a= dn&,{1P}.$m 'Bщ94@H$: J^z299aK4)g͂g35m7<>cCA?kJ Z֡[uJVǩ&n+ZH༙s r<؄E*|*17<ĤPPI/VzO=_ގoF֐"% eL;[97Q+b1eU}/$1I Aσ⭪d[dW!-G Iskan}K>ƗhU#kuVKUOJT^_ qlՇ߅ Qr\5P˓NuPʸŀD +<+)7! ynâuegmR|ќ2O7 vquJu21'-V7嗝&ow~Л B8~9SNgx*uG[TH%o$Kbts'UijQx.|A {|҄m7r>n ~v`0h͝nK5w>w|.ݷ;O{qyچ}+>[[ osPS]a:7s/89Mf:q:h3̼0 ZXAhgיL#x7Jtd z|؀w1- D4O"X0+ND~DhSb>^G17=x[-f)x5vN8S xiha{gb{ӓX> G~'kcv2gp68AsA:. tzr>poϾtut χ'2_ RdacqGvz^+vusVg?xwjz-Л _+{G,]s=G&N7x9x6μIքh{# N?=.DŽTުO/@q?MʊrN#:̡WW)=;V2y7<o_ N:1 Gt|oN2)q1{M#b 1yg'- 69wXJ ZP T/Kߝximo賶{mq2Z"#5^4(%+!AO,ri$`N80Ą!$n,σXb 0 rN[eL!c0kiɂu+L/ QѨzua%GvIU{a=2io!ģ';1=ZGB|hgrG5>ªlִőtn*wnJZn?ڽ=w a7noQWU/U*Klnf;HԆ.38F4tT<3f4d32 'd ca+kq ~mo>g "aG'LcwܨܽqLr,wsq#)q"Ҫ,=1DElM^tw]-1 b/im-4pI+(8j09߷HAHV'VQx7B$j~G^ R1!RD]ٺ|ms{(q/VsTTeL7Z{U¼b%g 7~PߨWwKSXk54*p9K{ǬHZFgu?z$@'fX(XťFu/|d@AK늿BA^НnĽ<&v󏒳o96KpjLK|:~Ĭ/j"^גq1QzV9VݬShm5 Mϛ>YGr.#HԴ)75| z;2K^zȌ$ IGLe8<'稽/g?>Â(^bm/PQ 56Ͷ݋/y @Nɘu%3za?yƒ)K]^vɉ\P2&}6vU+C6+ +")И.9`օp, kIώ; bZ8E\>'/\П aL > Ϗ'ًvqg,[qDSW5eyz'.> 3ͮR_x;=4qnLRrrS[^.fEmUx+5sٙu{٪+}P[3TB8ýNȊ1FI /{fuO&LuX9j<3Zj.?i=)9~TPl*ke?,U Tj)"Q5Q%ՙI{V=lfu]DSXsnZ/uZ#2*q7r7\.|20ҮP&JW= vĉW `rq NU,sVW NRtxx%׼C/9 Œ~=%N73Q&32,s]onuv-ng$ &oOd0(ZFhhV/#dY8r}SXt+eZRV/Kp= :@Ѓ|fFC[yH}؂WE ;Uh)AbnCW}W7Ns3z@" Go Ǣ^NG`dx8X4f?)x\ 됪aAztΛ}]lQJF=,>&E2ȥ?S{)GVԀ+S|dV"PYi#UY?htvW8pHƒp>0шDT~I+LE`+&!MLdy AxQ!DrgsEl.%kL z{4d;ϸ:߄LVTRL4߮#0sSqɽ0ۃuY~nm[wܰM;ojL\$q{M7oѱum۷B7p;v@Uh1C}Q- n"V.|~L()Z'X+N58L%WWd%WLS͎-LarWx393PԤxH91>=bxt2:1K}ݍ/zШsQl JL'r^`ۂKmZMHrZUML`_.qV񂅀}1>_ӄqw-0cq~޳RP5lڼcgWO‰|ָ/lXP<>JsQuUTgZ@S JQdQ=tf$5K[ͩ > f"u}|L5ȳ^1 : #¥},Е(1f1:#/PQz*+9\qg0\uIlj6mC1-ա1 Rx|7a*ׁҙ3ShօօyO)drA)AףcGc#P=DUlf' ]3חYfgq^ JDq؈xj oL] a/k|s\> 5s..bOsW%D? znOE0ł<”4jƷpl Jf{'jMs@A)b yɘ. ҥebC6lϥas΅΅#;Gx2awabrJv^[T1UA6qu;;c{NC_`+K@LI&SK#ӓ%~jLLH\%\Uq|˴Cg0v [I"QOVam$23jD"jlg; 'fjL^#o|3nZu V Xg==53:PPƾr'-, {fо (t89 5L1a0 eC2mٔ :%4:m,TY 9,T7ǘ+6Ic}jx𭥚Q ŲEe]2,CB[dڪfs<"pm$'賭>˦堭 G̏]n8AU6"Usm:ZYe]Ū'ބtH}vfMWrQnQӫO5A dAlεYYt;SȘ%;`1l[rBV2fӲxrgBRrYYnjU4-]E3+ˋͩا3~*"~4V[t ^٩E $PU,WSG'f. .S!Yq :#~ dTԘ^(]-Wѽx}FQ2Dym %O0 Au,]S{55}o+yl^FUlA/?U0%Ky-IV |}gh_FR088;l.Nc)H-8|1l{$/ZPG(E=śQ{٣pP[w&ؼJ_km@movwXM[vvΟwmvÎ[n}w+Mnv ۥ$Mؽ٭|duv !>hrlv*HwwwK7j}U)ntʼDzc*E.30KѤ[C2i vKݻ6b|PLK@j]4ӕk܇26irW·vFƴ9UXMٖytDfK`]lR ⸸q)fD!U}e#t0 `N*YɸaRrZvHCG %PNS|B sђ32eU^{B׸!!T{Bt51*)N-ݦԠŤ˂15v+ސ [fQ ebw5h ) 2.81# *2.Y-Ml^8oZX uQwŝy)qRj6_m>4W3BG㡪\iq L6?\SB>1kG +="+F-=ٽ EG<0N4eA\;2ͻA_lӬy)Sv p Md.:VװYկd`ћ4T(A@KE^qEzi@ +L4r6+ F^(E DsS-a`̈Nc$ˤ~#:9k ,U8#t˞LrdfG Zd `/(55Lً-vL.uma)vHp,yuʄMT L!S雊6r k!A$hVs7! ռ/ R:Qj!I g^igҡ4$=QIDq|׊mLu¶;nj Sgc;> CtYM' o4mυ3yӲ@w VH.$nѵ=(@Ma$G3rU/vЦ @'q !2 Ԍ+yP]4]gWe4ɑh* G@-JJ@%EAo2 #4 zlݑqqt`fmUQq nL;#m.@U׶861 [ `YQlvů-0}8N!8ϱkA1z }P^P0͋>?'   %/ Y0UŦNAWsid؎aTXn{+sTt=(ևP= TϪFg1C{C=(FrQ3@$vDFVs`z;>W@9"9$+=L=_+ztu5]UkBɅ,lgUC܀2pF\VtpB AQ]EN՞N5p!&jk* AnH*H eAʃD@@Z)4Hc M!b08Hl,@t,$@ $$vG=y՜+k'+^ٕ$.lG=뜰XO:`kDNN$"A( U))P,/ȧ@3'vD>~Ȑ]MOAR| R| *A@XT D-Uy@lT(|{A^[Bg)v΄'t XZ; R8.@1--ţ=4Y=ے08j!w,w+HW9$G'.rNY^`3B~Smn6GmGBĬ xH:e,Zڇ# -\P'aQ0̦b۷ONƶ'b۷ ө4&p,&dw'ߏ8Ȉ"V,] 3v B6i^<ߤZo`Q,\{SӺ mv(WK[d)U+g[O}ĴAJW}W_b*hݘy´U\v|4NI]UO]uP(([eH8K~H1FӑR2!Y'u 8k+-*WtmpҊit7kYH;%Ǩ{qSw N 32}F'lZx 3<ϫaNg#=?5j*ZTH<13ߋ:M83GneW$A$v2mjδ4WS¥fU@bfm7mxDXO |aܐ3lwl8:@l{J# u ͇5vUvv&#!˼Vad:1J4s:d )LV Dbɱ3d21 D8tN%1h%& h۳ڶwgh{t][mjjj;{šš6iSgP{gg[Oض~PC=vݏ=޾kWnWM{mjۣ4dݫmVYm{lj[h45g[X%T>la|ou3]gm?wp 6i3-}un}ubk[Lkw=m8:;xWaS&!Jqi{,'N\7LθBɎn?9Kv־mawg[iBfAF<נ<&[=MW;1֬mA^2Hn%FaX25n,ÄECB(=+Q%Ӎl8 Q2aꟸtsb "Vq Z!DU`d4sRLqIJҳrW/`(&0ι#:0;#N3ur]h̖I#E!BU?  ,l &RJQ:lB2hXw([F0@m%6MSTA1㚺p%IlCC'iI;:Pڞ`cڞr w3cCmO΂1Lt_gK#8~'t/#~7$OG5Ȗ;e֜@FsE'pGi+)E쥁thNWImCͬ𲪕ӴA$9tvċAS2H K!td: "-:zNq% a;3V' oɋ}c"׮ {mU%XoZVH_xwsya]dRsL´Ū ѳkzAzz)eoʴ#Z9AՖ™a9;sGROP>c]Rt~,3qʝ$'i+eYap\`4@#ڨ9qę.θIRAbrG] p܅.btݳR&3"PTH^r}7HLd;H|V!LѷuXpބ"5/nq, M)G{nÆ"|cvۼ|2IP(6H:+//#q[]s! hudVP* DSTaON:n w+Qk)0.): Z:hO6٫%Gn\ٿd6.ϵe"lܥՙ'רؘvz s8[plGr}[2 ȭI.(f&.WMUEO}է~I$m9!H M#n{.k{ƋJ=!9x[չgУ=©CLr^ʂb9n&>Cer0!ΚͻĘFŲ< byPKt0QRP43f4 Ɠ Hg 0B/L'Rӓ1HǒSC% IN 1A0>=xlrr(ȠT,9h%g$k=bR_f%KBlb\#0@Aw0 ˄I++:)*elתZiU[@**Xpqbgo^%̉DUKd1{אV"ަ)R0.%hC {؂U!{KӦ\.Z hOR.[C'AR|KgR6XAǢ;{TT[S&g+Г.>xK\v :b~q>(S-+y}IYppƁa-;|lF O*)_ce" T@{m2sQ@]mjxSP"u.zP$]S0m,}+m"X06.YXEޥ1h16O;r!wA*`=6ضM/7$;v-cFv ulPE?gH.-AE? )uob<oqr@ @π![!`2`aq`сZ@S#}`+y 6^&X"~tA`)K`%°!=2 ;raCP #lFv<Bkձ3\/v -LZջWm*TA G3'Gm82_5}C΅GuEnߌ Q(uёbKGb#H.%lYq0˺ǣ}:[1 Fav&lj'Dڏ]%]Z!c/ƋV$݊[;\Tk3ar*?1 "fЬsջ:NUˎ1eVC<.a (.#*dyF{]4Op8yːdzj"A F'0>;0etVd:Frx6E-31 GTR9NE`fN&h,1dF'G =,i TAz"`zF ͏Pj>: siLr:'#3]f'i | c]9HFQ~QP"v2M7ΐE">͵!;7m+ܼcGNN%g%Sٹ'Nmk+UӍl< S</++Dz^QQ;U΁;#$߇'y 6k+̮{/\]3I<5G 1%2eӞ]&م-qz%XQBQ^Hz^I\b_2-2-2-2-bn<.Kg B|b`ѹ6=q7!&T7 ]q10<~u ߉{E[wݗshFd?G:Ja7(E|o#_WsD| ^E=_}SA}ހw܂籼gx;SMxӿý 1l}#og{6o9߻6w98V.p|G8^FQt _w ÝHlfb黛hi]އaw9=85H_m ?L =gNorG6ː:oBZ>߂C'ҏQ/ ݏ +?_4}g"O!o?4Շk*六sHq byބ+6x;'qzgNgؕ!SQ;hp|>w! ~ i78^ g^Z8Aۑ8HoanAIt }5߿ va> EeH"Z; HDH߃o!?FʤjOFCH[O5l^6!}Wnho78݁t0{ ۂt)4қ>D7؋dC|クq,㭈w"~j ;# XrƂ&cM%?Woket9OH xzt_m>c{^M>4V9?g,gЗ?g`p7xFqĠ]+\`p | +_nlkcu;F_F7p\9ëy9=&^aD >7""G|7[8Bm2g߄Vw :{hA; ~/K!~[AN0 9 h2,;5⽖wF|~;;}߀s>õϣw "/#qnF,v8  b'6 .A9o6|X.c=6͒'ݷ@}A;Go{{=K?e}Vqg}x3NC"wMTG.~eWl5 {t} E qd|/a P"+_a-t}"( o]Bc݇s(Xۏ#IOaY؏lc2;1ă> iG}ޛ_DZE4}\a7ٔ_|wNaWU4MjPyq}}mq❈AػЮGZA ٿ}/g#q/n njMp$nךּrS;`St[߰vtln&h?r[Po na=QuΦvަxDO6. U=7Cͷkj+?vp{;a[GC/{;ts;|xvjR d+u 3_C-h;nSuvx֛avԹ~5oom+[o;=[7w<)Tÿ'Dݟ@V p W^Ͼ_Ag+A;E^!ģs/ja^~5?6w!? K_E5ۈMs^7|yw!FE<8x x2ijo}#C|;ߍE#?EPcA_DO >5F|q_b!"+ߌ.?@? ;9ނxtgc>)w67!V ^@Sď!~)A|vr Eb?ns/;8Jy^qף |9w /' GOG07 Ͽ>3;F|G}o"A0⃈M3+B|{CGW}oWqF;AA 1"=Dq>ps|87q|A_?G>ipJ]~?g_nqxohwǷSgy9˼ӿ:ϼcV߽s?H9&mӝ+G.q~3ov$~90 ;_N/W=O渿9_}ori7}ݗ5܇z/ox?Ǐ}?ǜ~'Ӝ- %1v<|+08۸ǿ?ˇ1)s֟nmhkC>f{GC|Ns]ȷz>zѿr]n}~mn__A@t^~ķO;x{{eKr|܋yIr#;y'j^^S/pM[xO}~soWmuvٯrxpMS0pk<ܧF|]>|8po|) ~$  ?9v+Tx:/+ H-xz}`\ ޛxz_[9}E8q<=wacpܽ$/}؟vu kӽ4$_9gE5'_x|[ǟ8tKn?X~79}?{aOTo ^?.ϡ<[ᴩpÝ9}*}(wX3[$ ƫÏ5qG&ط:KGƖH^y)xN`?N~WWW`?c1۴| _,5 x^=U~>ٙ*ԝq]ooJ0Q~Jf7>.,8XB.8XB#B@#!%ij#^@x 2Ď>.8XBvgnôMvMsKty_`~g:,5`3Wanm{w{#俙G M5ѻh\]uz71o| |=k |K7߭@#?nHf:bfhfn ҄'?unJo[M|#^xL?0fS`%nn+—֛nlr=7~ҁ3bo1>KxVݿ q)`?*G{W/ G]p𣿿9X}=Y?1UY_BHxpp4#{D"@&yS\74G +ypo7Ϻ?|5_`7/8:# /lck)H7°_mVCs)&_Gךma忞X4T[A'uLcMV&SPL)雟[V~/( ˿?Zm99g=XUbX_Voaun!氡Xd=7Zׯ`5_3,-wC +qoVdV15 14בp-_Vigk!oX­]Kmu!pU/:kh^f UbxsYe4o7İ/ki14mh78КoaoZzo9lv~=h\߯E-"CL-5kgC +FVoado!OK85Zkwc /OKŹ"C ႒ uג1^3ױ_5oo_wZ1=p 1!oصS-cW%X1j6ư/okmbhۺZC +un ᢩ9)rM[?bx)w17/KEɺOMO^YV!kڞn*p--OcX__߆V?ܒ1氫 @k#-1wx-u!a}h_1oKEku{ a ֤Ubx{E\9Zcz Y7İ_?dۺ_w[cX+忶 1Lc--cXZ[_7İ__k[ 14iYokC +Ws sV 14uVc? 1y%54ˊwZ6^Q 1^Y4?_8ܷb*SkFZU4m]ruKW:,hy !xuvGBٯ2Ib~]ǀ5V&(]%OZFʁV ^_&5Vq!%z2GY_P.Q~I?}p$2ؚoM$ɉh MML O&39vţQ>=:=.˒cɘjszL%]zq5acigMŒ:JF'餒dtX8_&J92ylld?ճ|G?z>06i{~? 6+{`wzrRq>|x41kh)Շ3gfʙ𱩘Q=|B/=sn|Ɉϧ'cGUt"Q#wL|`o|$:119cK;rBcx_c$>6WfcJ`.5yffI)o[^|V-9\/, #z]áhXt8 %}V9U?iӍp_oo)R<=Z9r o9$XV Ssب3:-;wrs4O'W~pbƫv|xv 9]rht:||PǏgs &#'f ubZ LMf+gRH̝̍N/!%:X::"Xʱbvk@grt Ig*q2陜L#c;bq;_M'&?ޟ Q'{V'TS!^t;7X֖C$: K cgBϑ\41pbTVddxzY5Fṉ+ِz:kw o0?_V`f̰fLi#pH2+wǣf@T=85_)Eԁ32zw"}|~uJz4;S3Ud2,Z9ٺY0>>|(V>^|iPFwM#|yj}1x\./ﳥr@Q֌m#/Ղy6zl?nzdvR5rm|l"bd^UkݸY0LBwqrymvwbV>_h>l(Ih׆U3ȶYupKN~PgO^ l~vKqq /UFG {pj?8lN%c:ݺ6l+bCBnw emwzU+(c_ bLs/߉/Hw߈{vtSE{mND9euͣ:ͬeFu%F?Q5:ww/O{m0kixVF]zr6U]]ܲh#Ő9̥77 s&a? ŌD}kfQsWo\Bz^ƲKq/kF-d}I`ߏvڰ u W WƻMB Eܑ)+2 FG+ 3+3w8[$S"?w1 3޿yp6!C@t몦ioڻ& {$`\g(+@rII6IEK0?fUCcp8)q +_ey;Y ˊ o%ɐԿa~_CMS&C _uU;:k񥬏l LI)W#;3?3i=ݰ7NND{_ 鿐\*Av{g8ن'jno#ھ mv{KȌnƭ6v{[BGK|L)0boj5U/w@+> vJ^)ظHFGʧ b#>a)WG~ZĔ Ӗ' yƼt[0*EAs1ȾN"'b =>NE.ӢF;0# ¼[ưmi>TW->EC3~"GC j2|(uANis{mD3.Qs[g."(! :=Xc">P:Qv :/EF9uY_E1k3ȾIgSLVk|&1_ q-,l IQ la?)v# еu{ B@czюJXa Z݈9g0xʶ>d" (O{[-tWN' v~~yl0sEQq0췮i6YU+Jrg1c p!c߿zNyMBjxh l?@2g>g%􅴺"fspAKm@R)b2 &Me=Kp@5I?io)s}?_}Q!8\i_-#g~|7 u_9=w»6屋<%{'@A$ sMFTņ2dg.8#1q)mJK;ʐOoB7Gm2F7<%ԡa! j:%d$M.R 0dcQ n5Esoq'>ٽ}p:x&"?xp1!OsZ$|i۲A$\;_)& пa$\7}BÛ/ 9PQPϥ|~pԕ+Px @լcbpae'#5!<aYv!HEʻ%FQsqd );P+9#=>V`6b(qƅL!Qsyds#_ZjVz'PѱY[{+)wt#p'!~.Oߛ14!A.?o&kvj|8ܪ>ԆVUEQ 7ɀpAn:ϓamry<{9‡wv p})| _.]rI8If_B)+~u<iK<鷹[$ngHPNxJPhHBK8RncZdw%9Ui^l]1{HHw.TܻJ: h{3'U/9ǤE1M.m}2Ki/sࠉ SN<66Q.#ʄ&# %k.7%)0{Jw*$vOqȿIxKb >ot`WW%zI &VjIf~P?F}sLZ Ћw7?33+U+*F b>s |~8%鏷?~%Iq~ $_~P?ɍXF / PP@fNdmŖ:oQ!J؇t M+` E?REb-ԕ dᇲ9j~Nwk> 3E,G/?K{cϿ??\hm=oHG,݂?W7wN~i?XQ>A&d*=sd |ߧ_9eިJ#?P$&G  +4ɹdShjyO|2~I8aͬvjߺ*\H?SGb$ MEw7O0p_]g6F2 8"Aq /1IKod.gm (&Eq:VF5bȐ f;L(@{ O^",1a~ P IsGaDPCI-H@E$w"5w e'0phۀfJ&=uGVtGU.H$C<,}NNI9I+IQ/3؏z`511gAJANLb|m %]d,FUH *fd%ˍHs'yBIKO‘^RE2e% UT;{wDve,@/JjtbUC-:?N\Z*Tټ*oJ^ g"3rH7 |(zp(#\.IQ#]G<^PR:, J{"Υ. G:e޽ƒ%KL2qDBJd?pz"DT,JV#ZBv2]^bIB|F_͐J$\ 'p[CeP*ٚ N` O C| Rmܬ {M]/?jQ*JZ!])b _g ar'J*K+%K"\#9ľ*oua+QSb'+X ^$S]A[RS,BB'3a˸ :{XJzWșN!A/O|a0CT`'=A@ ReĄ%Y_M$0@LR[Gnnw1Lfl->uԜ"Ep179UzS CdNyN券4ik^YLd%)5K{"; b=?=_,RcҼ6(`F4,W",fBDR*˛털|ɗx.jZ^:T^4&Ǖ>duǼO5[D-{p1ɧ߸ɩko^Sdٯtgr$l~`KjH?cT_K-MEJ<$3St?)@Vį*kK<_1$Y2:/x6 t~|4RЗ7_ JG4JenDybDwT_lHlfDz <(9yQ-wV,ׯkӉ#(zh"Y.>;IuK0$'̠-/EXf߱Y1+ h-I2ct۠ }^:qSa!|jIR(^|RCBETP E<ǁ#pD#/I4f1N3Fhq_^h"Bb1 fؿf(+pqTߞT~QJ&]F.[^&C+ȇ<[̠Z>tn +PT6=$aF^4"Ꞝ8 0 Q$]ar7 8<&x `u9{2 +0պ1_ڑKjzR:oўNvB+CJ  %^,Lb3Lh&Q@m\nFY-t@_Rkfe JIOl؇&IP̎dG=`Z&L;œGKQĮ|2,2NH+>a;5v NeaƇOxAk>/>?U:sl^ Ōq,V4!]AQ'/#q틨/sd+ܥ McO3G92lF/da,oSs&> bl-Q}=_Ud W˻Y/aAdn9 O馕$,̠5M=Y$|&隒OEIsƱ}́@oG1t9C/{"e' --O%P )߱ 9C$=a'!Y"I/ܫɞ͉K/m,z8׿ ZG$)N&(IR3$H˝ GѨ}~h5_ŲL01/Ѿ`}؊%s;>t٠Ҫer՞$R<gfr4?ʥ(#\иd{HWsd Lra0ftXnDSP:P)\rnf(*`v?  8zq9yy]ӏpp~0O g㼎Exy넾m=" ϱuP+m%I*yM4">,Nu%~cύ6.e c`628D6M(/8S$8`?BB<H1@ =`HH$Z:sd\he˭| c6P}r o@g x!qSW[NJ$}ϝDd/৵Q^{qOWIۮÜhЄGJF.!89]lIz?%J_rT*O t3#K)_<qSJ?ĥܪy Ppuq0 QسOX^B/NUdTxy߉m"= Ѵ]ox,ćdyc(Jm`:DAN>>V_‡@Y(ćYEIesL*{ _[0"dnsdI?J)bHuKH8{ r\C0dD,2;.aHi Z~TdhNRT9j'9+TC˥61}"lQD%L<;Auf\LD$7"I͹$PNʗ$Jg16p`ґiRzl2\v'^iaj P8yG0oN;N(Q"%,' RLV3h T%@(+0dT%JRUa>؁ - Q$iEv"HjChDC6Av:5 SyA˝T0tMIr/v|̴~PY$HS}w=p`y3h-C % 2$J0+\bhc;tpN)DZN9r&}N{ېb]KĿZ-%u>TcH ,$Bpnd̠G1CVH>?u11NHmIJ2f$銑c!eHpIcL_@=1aPI58T'8EqALҵ|" ;$ISϧ͌%^= fJ+G`LGOp fYOf˩.`?f' +Aļ7ݚ+]?$Rm"6 )h]BL*BF+k^2u9p|PHrjI9qucL<Ԇ#je؀jk|yLGL%tnd*FNqLFd/-hj+ 8e; @O83`58\>n%)g<6 KIKI@ !K'Z$fx"W MLle#Qj,nGD 3̣9l0<(Z1`.wPr<;+RH-i|HIjkH2t%1t6'uC7|p6^l e\Yy\UNjq$yQuoGYx-Ia$K&j=Q Ugv߰Aa1򅄍RVU%)#Q#l <"ALƈk];]?{nw{A2C3tmI c"Ĉ=4bJbޞQeVR~oHM0Hs才Ct&Կ%!#ΎϚ>gpNԏY l5xy;' J>;S2U?^$;;&;`>,俵|) NSɮ^x,╀?dCI~XF3R8>s8<$ NRHԓYX8%~kp} wJ#c IS#s%J8C'hDl$t"hsJGzD:{HėNgY88p^1Ԧ]M 6l퓝GJIG͖Td$Op3L*'8=2< ~/NS>MzTӤrB!]ӄvHFQCuBd߄ Rt29#[%X`3QdIG4LPȥj`Œ3kQGA {)F-ҭ`r̐'06%[(/h ?Y^>Ē$^`Nphȣ0A<$>rIS9#4'h IK<.*|?*X 5ި_Ϙ::8Qkt<1, "gݝRSsA0Q3f6e?p IRjNr`#Ea/PCD!Jn9]`B;8H5/HPL 5QŔ-D="oʑ9$Sĸ7r?\OGyYzA8lӝT JBBP**'lCONp)`B%J'WE 0xIh&S7,˖gef1LRSP,*0}{8@̖RJ -fTʩ'#f⢈ӻSR97K'hT1|f^]Wj~!ފ$rc{`5tL_ }GBsI̜'҄98J~.⢓Nsi ޗRrN+ c$Cqȼ4m[k3B0ܣ8|*[]`i+%Zi'KzpGV2Y1hBo +\fW‘uFn WǕ>Ă'*?cA|Bl__}\wM5~ VA['/$_{|q7O3?qX{ /9;0uӦ-{|O8q=)F8k=vʦ9Lat#Wبm7ʶ36Nu;zņҩv֩9Nlv:I:PG;ڠcD+MsRcI-nǤ 8L~Xs)eS>t6SiTFƨ5ӫZLL3תT7&7Ib*3ytzvOa͞=k}# y79OU[-  ngϚ0CNefPaMq*UCsg _afgtݫfTGX+6z5sUmED ]Gfs9w_ vSOnpigMz)6lk6tTnkǖѭg_jӓ}qhQS 3Ӯ{225}0X b`<46lG!p LV4JSel-w2(,Fa1g=VYõ6xB=9ЧyeQˬkho[L[nuDU5fZKbRk3L[fZ.&MsPYS4*0zŬ2M׶nm~=*??֗G/n+TsC/gڕvG/?}.E-wJ\iIeJibSNYjWc<BlgE9]>al΋جf3hmN}c4.uR*[u jR1ǩ3|hL7J/m΅OE硴|~jqZeM j|e./̧d*js[p8PZ.̪杵5ltQm01*~0ِgVw;Quʣ\obhrԆ%Z+LB-\?G+Y;]_]ɚ;CSbw|Z)BљwJ\gY]f>&ɴvR ygHjѠԂK0yڗNvvY7J4W *Ys)VgW66( 2sKŬN]5l 3ƣG{`mwOeY6-_nevUT&Q.6n>ҷ󋱆rÚ*Uݻ0rSO%85WY|Ta쬝G7rapV% GNmZN6 {֦+d!ֺrUM;^Ӱ9ԞeRl&fJrżK\>;ڦz^xNw)[{1s0tɲ~'? j7jmY,莟Sv8jn:2IpTu)g|rHEpvua+w٦\jni_VFg~T0^{YК\.=GbnCVڌvC[lPE[ŋ +m^9XD|u'mg_;JaU,46|C:w+fy0f=߳YMoqqʆN#_Sm][mƣuΣr7E1M.D#s߸qt :?=rY\mu>]Y}ZKv^1퇮M:kۭ\>NwuePkl<5-t'X{e8˅BskSVpI~l] C)lﶣ`wY]ܨh~.t1ε{+߅7ѳ,poMi0zn?5]?^Oj5pYUcg#=xF^QY[=aV5:|>u\oq֛]Bk<) -KHW]Ogs:al0 r~dn{67kqPٵCYe]'E\)ًB zzjeˆݝ$;^)%FRY.-Yɧ`v}_mEc4XWE4>4-.{CeCpUkEGޱsCة8iDڙzvsJjӞWԻk9z8E?`sړqaE_ve5yohn3[I(HgDa;mt蜣q?:c ƾ>tY0\'п> 3\1xq7`hQfK>{it+ {gz?g̥%x_\4zO(IʄH+GkP$ Lc P^ PB^q7A}\mldT &̆0X+Ohk Q\d!1g'\QduF;Z#V p7}uK5}t.nq>N#q2cx͘Y@9Ϊ97Qy*'>t 1JOFB1ȩa>r;Qx~UT;%V7<_+I飊o2`hc o3nmVn6{R'N0ٳ(X+r{?Sle`d᫏O"=~ ~=l.YPaW6RGúUXXgara25/ڛqtŹ[oWc#Z/~* H]I1t|pS t>ڶ+uW?S>G]Ƌ_ YڇXpjb[ 1 eD7Ͼ`ҩMB佯EC=cGLm|ޒI8Ԫ+HVOWǵw.f wb|G9(\>7.4/W(sWR4D! qgg G-=0Y/ѱ gH>vSkw|,*g g ]*ׄtg^DQvfmׄ1nQpoyૠjo8j;7nMEԥ ݲXI%3km1H@L^+~Hi%TxZ8ҴZjzgKL+K!AQ|!-0xm&Cm~.U)rjQmS5@}ڱR#4xջG{1VERqv>\L釰(l/J-~:VC;͑1A9th rQl8n.2`vNiw.v>&qWD.fg}݌3qC5֬\ O 1n.ʥ>xi+"'*Mm|o^+ BZͭgVm ˉTwy~ 5Y] V'A$m'кOFW| LJDFBz{LBkc=w/`e\b:{e~? q>>fX8 ~lgo=*cfG«՜2/=ơjWA^1:=ymR ?Ȕ¦!ۿQbDN}X[GLοtC?1}pSv}cW6 |uʇٟ'EפF2J&&2'w4E=<|J0v. ͧp a-XiܱDH@ʩ~Xrl8'юD:wnk.nXN S>jMܬBܷc췸9;YK⑒~*~[Y SjedTgܙ|[tYp/֏]3ͩB([gZ+hS`>=9$$qZgSrTJrI:y~BQyBdz*,7 2rjC:ܑdm%;?_mHoTPH K%vJM!o'ODؾ-!E2ha!0 Tu*QMB0 c9~P2Lu#k#KSbMiSa%6%6kwp -+I0)LВp,b F^0ۢ:CavOкa` M W!}jp>6VTA+2%NLmz?|ebwT LGϲGꛭ$FA/G\5|d-ח0^=jd9-ꓳ !C3Kkq$3wB qtTD:b=83АV, 'njv`'XKL :$^9 :\ɴp_* Oߩ/X⡿㭷mcb&)?{w6 70?tLu.:`ɷH?M$P,3o\fpmՊl4&= EVEq^:^( ܦZtEׁWwiEmy-Zld43z["zhHkXL'yy:߆9L0A:hl2, Z8%?h yVO 64u&5]0S-xEsh=$|+ʳu4ᨯ~A 6x1T^;KqCz,6@ħ.;ŦQiD_C5&dǞq m cK>$O!Ye?9=窊ghY(66cm _@h]wG"-n00{C'MyurKN0)B^ϊM허h>YbƢM޳do`Qy1.'4 +P{ML@LK\Vh?MrϬi|BM]K㶙t$Nu 6Zx׀6Vf; SKdpW/~/9~?3^di^))IPa4NU5i<ɛ.z2HʜI פ}OZ?IZm , *c=3+MYĐ>`./5 𖋯 yOd#el5m'b~ Rzan б<̅˙. n燶d,Gn%̮J 6Kg\Gl=EE?j ,+RoܖDL pL=i'Oj)^BrQ# |[K'L1[0Gxc,읋%=PJQc%\Œ!i1'EO۾%15 Yt=ٗɀS oWɛ/'n<:8Y(oK>E{>Q0[ bm\?sբl~ak|>kv9.T1U#COs%#T>\Zn.MR.q6`7j>[8#ޘEsOytD< {5 Xؖc$p>=VS)a" -DhWI֝Z,K_I+ߙŁݰ_uy!c%i+X#bPŠd;"%9*$5 #ZŶ76T#e䲝n"OOTBQئwb{8ѳ+>ض#d^6e2Vr%ħB6ڇ&|C*ؑ1BZu\ (t> 9uP67$sDtLz5 ,zqn*~9׺m?䢥m䵞+9tڤL#O؄tKP`T^h'toV1[ -Lߜm@oL6@@˟Gt5D (pS< uFD'vBٖoij0P삚 J |X|Jo}3.uS{+p}[OVʧo 6p@? ƈ`SNx !s sc!5/E9텻≥[%>,19X͇XgX\wsiZ385KLUQ&`wZE򖀳|@AFCrADk7P~8OCn9;d fwvaޟv?>Q@@OYɎFF!k;kXV-,݋.k= ^Ɗy TӒlC#yX+AFTeYLS04KH3}` ($ѣ$8^aњ\Bt5/i>9N ljqLɐDN'U-/&^VbmBY v8l3jIȲg؁/5-u >6bOÑ8S6l;I/$Ks4.oF~@&8dUCapm|o+IMl rɽ fl|GUٳD4JziQsh J7<]y^?Ձᵙ6ei8 sI%$ B99MV+[zgP=QE]A+vZ?-1gs%~yEǙz>xX‹ІB#iA+ QjݏsD (d}dP[E-Ӈ~8/À\~GOlOdnq-*CoD8`MtETOQ`? /;䥬@ )H+_R4e֏[ɒʶi2 ]R!9VH3Rs?rn/1dٵf Ҥe+qۍ7ጞ\ ^]Սrikh햡u3~|ꉃÍdi$yohy/zx-bKSj&ɖgJzA$cZl\!Gמ x_UG?k,{+q [|tW2P(6|IK_G5Yx[lM-IFzza3dy=fqlg/"4G(c/TM#!RNw?D2L ط[o%s*[6t??dGL'k_2zɂ)*7JISJx@PR%0p>#QJG z5+1dzydz% wI2]"ܰ9kmG1ANE#`ZȍO6>AZLٮ4uhqJzd-[Wҭ"ņ ̭=p w^K4`UGO> ge/UDU9pɉ!d ^w=B9=L၉$Sd $_h^,*OElGO{XaΧl{(1m6"0Xc6տ*^gC n0 vδZt@ MXE;{ ;kIԁhOT mDu AǓS%X,f_1e ¤ "BSR1s$ iRU&m8M^P76 !hڵ'ܘl hvR 7YE$νR '|*}:OڔyO(-BfW^OYB Ƿ-Z#.! ~pUiF؅FA9ݛ`ٍxx+l/<{X)΀FA \ f6NW:21dkicFiz3{c{_K ڇR{e37d+ ~p|S]M' dEY[Ҋ yV(6R|> 86l菁kG~/n2Ӣ&WM '$Q7gRfRIiH%m;ݥdQ]GXQїWyqLcxίcx3r&ID;R#:ܘ'}\#9nZqDaPgWْ~#Wފ/Amа2/@V))xѿW7Md6`q]pa' c̾)uw4#(f x'F-}ĕ}kƈ-s5N22e<$%5C6P՜ RF4S9^@k΄#Zx9i f&œ|0ԱM~-R01ȟOڢwFF5&./-rrD|5%YX$V_Tro î%Ѕ&[N+CJ) U&0ؽVUt*6Spy NHyK2Q.1 %=wv? w7g ;jwu& `ڍnLגDm@E>M벴.p0z?\3` NYbL8|ͥ*Ǝ*^*DFs@飊C;"w/Ċe~o߃P81(^,) уu(ЅW16-tGхo͕m*ENP1?aׇhڤv?*EZr% }؛S_Ϗbrky|2ϲN6SUYFf$i=C܄RH$ ]Jgq=1!(\S=󽧳BJR˄2.DθX ^%(1Au)KZ=AE<D^p J 5AZ_|ʜ1'quiި-̀e<_hg<XYx}Exv9)I"t["B]q@Y=R6}/ƶxE|A~&ق*y@eE;4~{cmD!K:A~tI=JTa`RåO<bP_ݧZ>Ll/ *?PR9Z,!da_S!xEi/d1⟵2޶m}* 9}G>Sf5 a bO&7 6ՃyDvgV-q 量y%]#踜3/vY<]1/8޿ ZWAXr_Ӈ~?Y㏉+Blp"{6||/q[3c8OF~ʷu$Cr0豾R3!u{:4Pӹ_&d!%.`{8+Qe(w bE*82FSeKS}| x ~"ҼA:h-d Ob>ME%t$qӋ/ Ϩ=+{kxIv+d M{O3vOd9(dݡԟ-3Cegk. 8~3UI/:}Ke1.85qr^F}zW״IQGiyv`m Tyٽ&é3 pt !C"[+*<ܪz}h} .?gyU,:N+z`-GjծqwIMqD4\tx > t`gb ~0,z8h$=K;!"Z(a.i.P2XǕl2 Frޜk2"Ӱ31uh1tw9336LbqOoN]+Hb8_?hiL7C_%yyJ ~UE~ݥ:6G2n7?9_eN)a(zMYަWR:bQ m9R! Y ~RmUx(IN,FՍ JfT)M_}sqihYo*&z{d"cO-uТ?޵5%Q1%J2# |YnH;n[PHdos]zH%EH:.eD"E%YiU1/<-:AF q=FzU">B~qMQ'U#9MuJPZ6p>th2O\'IC*Nږe=-SU(s>V췣7pyy\ES{C>K53Bp389,ែp{ᢑ-g#1莼!};|5w<2."y_(VWyIORU^PZPRE-pjʭFu؈x ; h_-WZf*\=oUN(;JgsA*(Ӓ k&=7T12IW2bNARF9-5%Az8i(ht~ipN$mU7T`hE*i>-!L B&fھc N$zϫ(YM=쀢<-jfz(e%R瞣knRBG$lx%gZ=_hu{~ǚ@opޞPŸյ˲@,R|@9gP5|sn~|@Q1ܨ&K ; (gyp AiSbgKݒf\k;WA}@Vc}f}.X J%RV)>켒EIEU6&r krϰiV?ÊbC%qcҲ%" 5s M]YU6#SuTFl.tp8'@y@ AuzYlboL9B )!Kla̵ue }`jl{&y܄ @) P|3&kF~2nA>S]r6(J?w}l6R؎z?ʏuV~1qy/BiGK{ $1%[ixe?5wiz { Et,/؇SǵGΔ#g?EN(2'߾!zl{b«he܁`D <: W<@3` K^p?QjȀE2.Sq T#sDOBZ1Ը^0e؜oiADωG{xHt$oO12i&e4" (جlqDIXXNe^0J"}#]GYZ]%\᛽Kۍhij' _~ğ?{QVv^C-z⟫P1\zڣ͍߱4(F&ϭ|7 75xA884^z $KW[㒐7h7gzפ W$,&{4D.zT' -J ҩmTi҇gixz^Ey[m]I6C+A>0,_Vr˲).͠}e߉zXoBNIֲ)w1A}P9%jM%U0zB*(Pޕg1y# Y@4 #>[(^4X#FJh!aB0 ᥕP@pby.t);Gȼ!c'.}ȨnvDH=i펎,SӃUQ BR]mBtTo64Z\C=TԞ$m@ɺԚ<;cWؙέd?1A-HGDþ߇J8Ŀ)OZ3eVQ}i·3'D TD`'r<~7s5 ~Xl {ſ{CWc2Enjz7GUv94#Bpm:|*&EB%EcuJJxĽ]m<)JwTi.%4j$ڟsa+MBP y @v czZW^RfhEygeF!jԒ_@u"t7DDJHYnJu)4P]ЬMΧӅ[@J0v^IO+a őb%^C&iCK0αh y\I='r]>>8k&J+Zoau3Q;Jw2X. *cW49qYdŀʽx<OPZ;J/ k@41}=1 Ε_89]4Y{AE|֔;.!cNn{|Ɉ~ g’GOр5qq/OT'=D_JrσνȪ.۠&Ì wJ%"ypԟ3rELi>ٓa[g& sQG<&Vc^9$`.GQXQ0f6h8(Dq n&z -=}]I(BI^(n1Ru9tyU̩>".IO_ /:[~86DX_TasJBe5,ϧ 0 TyA7FvU/c2H/ـl7B_˱jđ5k|IX/Op8< U[V\8Eރ` p˴'uk9] OM3yI VZ:; CD8y rhݔ\ .Kϻև<(" r0L#_$ ;Gpw,T^*[QJ4^sP/AH ,)$,ܖD4ULH8GM ҡ'yvSf]HpT&VjK)4*0Sg79x~.h1/I>gz@MJ0'$H>P?0+Wf7).~w$52R—3Od~(ƨhg!fQ}_N#b+IW&qFr|EMp_ &Guq-͉n'5|Y$(3Kl˹+g6$*%D!΢CFU(1Ӡ攆[sqQB=,!aQLJ;JLKh kv|,ҐR=Ԡ-{ CB[k{;~I L~^ >6k fR[4g-{ÊCʅDZW/&@(~^B2Ts0#=b&W՛?xL 7mHh79/N/zCGg/,ݔ@ga|Z)7bb%4cf_0|)&M朇K0{|Pܟ_d !2S%:_i~}?/!3X6qP`)-SO[~P9Kz7 /A+(顔G<墔|w.?8zAEt8SNG``bIDiGE%^3}{y(1H7Ь)L5mF4a]Ͱ/sxalqUiğ*Ňݥ $GΩW˳"blW .&Q@N[o[yy=gU?#N%#Ys~bfGp$PM l.zل msZ9;y':,[3a!_p։d{UpUa|-~9I+ &@wU`%c^6t)ڟBEiώJ^Xf-9) ۗxUx'I\)]0ߧG cV"͠ݶ1:uGa;SXˇ|sdL7ҩsFjC"Ze.*xypPSbiAL.PBdSǤ^j /dr|NO .|F5A;=kBzy*rGLH@!&34]K%tVFLW6v`앃Â>e8ߘ8m2/ 8̄$G7q~t`yJ4W\-ohF-tnTRf6 ^ 9嚜TQ[(z) {Zw E!ZoJ&b}>mUVp3'U>n}vk G]ǹ? nI!D~jK~(K9M:Oj.^4qFq&my|F<[ڃhږ@_ rG39 eKs2+|c)(;)`4. py d<{}ɁmgT' ?'x!\f4[(zэtXj"Ky "PBȗzh쌞1r)@G{y*#̂<"t`=Σhn^o=+^@*^Guqs1Oww9CTZ%Q'`}G0G6"~t|%B0qڱ] gw[)'tÁZf#l4/u'UK%)\n>v{fw:|_")E<];P|* mQib4Ә0T[iuB !#AXlW*`zR P^ՑΦ~UnV9f"i@vؚ]OX- ZUvUّrF1k&HY@!t*b^ap I]لNy\"oY;]2^ofb-v}88JaÒI&@asoQlؓ[w-eRVs| :4~W 5 -D@/>)b ݂bX- 0Jm n2'( W]ő20\I|Zl'3 w ^q6zx{遾*h3;]a~R#03Hn* O*;dI*T\m4}Lu]GQ69"vb@1ٟ{yY6G4>/x4RFz)E8ҒS01X;(K#`+"S4Y]@W[W\R:{h a<>K~Iu$ fŔGϽ#CFd ^ŢǻUv#THYg)h,jB?ln3?vM穳}º"ACƫDx'M֞14~i UZ%>˝/&;ipqqBxoZeQqc)銾0(uC1((v9=C(D|ZXPBYmMчJO)-%3}ڱ]iČ@k9v7_+3:omg:!i(S2}oY!xX_Xƈ_)_9Clw4 uoH9[ufz_xǀO<+%ކeE.FΑ)#q!o6XKSv,l]kFk "v)d.sT:ex`κqAa3Ps5_f`d-T6?ʧ9Pk$B&{eveK ^o|k ݈p MWcRe>mc)Ǹ,[ յ~G)H:+H\I.#I'r׎ZeE;Ȉ=? a1k |L{) {fNoP84P4v,+4ܞNyd/9S:}̚@r"=۴GCto6us`#\x6@+v"͙^}-7A%p)o8_a tbl%`2Q k9?,M{? mV$]7k>L 8`\ryhDgRxs+^K$aغ1 ^3mg7~#uvza8k;f  6~&='W3@H&_z5]a::ߙ3ׇ]ҡ_:_~ ?[ [-~@uRןDoxP%mIFj 5Bz1BW.e#PFa:."Y ϑ۴]!\ͮei4㺟Qi2m_W/"\gYXM9k:8vRArSv5xu,FcWC9+moBN=ik=YVbm:(ݎ=D@[>ߥRNC`7L|,/G%)x֏ 5}lC>%1#~N- +Y̥4 HbAaJQ*dA}91-h)e{w3!WLoˇ0yB\kx}٘hM8&WFMBcl#Q_#(SU]|( -[}0[T=oe_JsgD$Xp'GIg#3q:d)KS3|V"]fZ_T`HUU<{W u6y LTV$d@eKpr\pxyMr{b v$gх m+Tm(`oZ]rG|!!mڨiLVVY&)4$JC7hn&UMik)sr%硵LZ~ڡ^M\ڌmaU9e,P>LxvYFP!`X |^W|h?B %1-P!Rׯ5ͦ U=^؎; ]% vK b=6@Ωv_ʟ;_FoWպ Mk:`P :_C__րV{ni\[O u{5co}JlxXۢfp@z= ^TbmcúPzLqgSEQ+lr肤dWwAX~ "D0|"=^5|/zyE,!3N1 jYT3CDVtM>þ9zlFMk5Oj,O9I-M?xjQf9\*xV_d쯙yw8.H"gWDjːsO~>{H)QqF3KAx_{/ޗ_tO9[GO[}큿4\'AOE@IhYO/H/Y*͝ze;rD0?)!X wj#$WE hb!ΰ䴪0e] g5 =( JW;Yɇ?N(\jFEHt"p넳 ~i|KTlx2^(K^\g,GݯۈX5ηRuD׳vmD{~K.@ +}tU"y:aE &^#wmk,;i@.|![NɭU&NTCdjiN:o{CKZP}P-Dmn>J`[ JtxH?>W ȕG9Zbw?pM S$ vˇKs! ;C 'FCUe'G>ܻX).(; q_ҎdT'zn+k}nmް[rӎahQ&Y곫lH1Ɲ$igאmY##OvZ8MCs ?ޏ&Բ!u3B]y^mERcIWbv>I{͎{`QH2 务qD|N/I]p RU' .J`] Bj`9I>/z =KR  ƣ!a_+-̀M!`&)lu/M=NٖYr4٥FV-;heqNk:H!-Y2\4. Đ*~=ڭϙ T3kK]? 3YMhUBF[ ub mK7njO?c}f58 {7 1Obx%2a.6WtHWGgW&|Pybe|t>Z5)<9F^:ʏ'8[kzzo (Ds{M3k-dNV*oz8-|Nup!4T80$瘡=-LÛeh'Ǽ둙zIWjk]U9,t% L!'fj~fh'lzz lnIxvjNbs JZ 4&\9N46: 3JTh2@t{lDysf֞eJ43Cؚ̀~o}aI.,F!< 3G L>\8myun&=  s22%2_lXB r 鶮}hXdԖ|I㜠V0>ZhQA/aWZ"9~Xnb7 $Y՛rȴ< Ojxy32-Y k'sCC}_:?o?W:ky@ 2b!SgC@tO9u^W<,6,n ]-Ch1Aw6g^ MG>m+Hi8f5۵ps\e<ͅ}of-yze˻X٤pu;SUܸ)reπql7ܘԑaSG 'EurW oW֗ DJ(50ՠ}I5mKo ~"Dȩ¢aOW}fi-SUƪ~yiڊMgUd>NW!p/@?טtq M|v<ɛ"e~6z2xʦJ}CYg jGsp@Ko H>=VX+|\등_8?RY{X/ PItzQ)!0ebh4g,`NE)\oT0#%]!k WOw㡉Wv|mv1k;zw#$'e󘩳MЈC\\t٣aW~m W@BV/PY' ƀǢ;a%% B]6i+;XGCޅ _ 6!r /-Jn;; Ϟ<(fRƭ#p!}]+ucz%kBD[߅.وּVp\t8Az#g>6Q BW.k6+M H{̭ޡ|L͒*g|> uQFU\2XXFG(]i!ӑnxZzϸz 8k@޳i1c:z*%7J4zE8fQۡn;C-]);]o,Qmk܇!s/HD|חCLJ==ՄN ۑϤ; {ϴld/bO-3lq)n0oZ74m"|G [e`mv"^\ڨC@sDxXOde[)Oi4qV$ Ta&'<_OKÐ|~>0҇|r>IxV3_8~`8bٟ_X&dxq gZ=ᵰGqn>Qc#! 狎$KQ$qY/T$ .  gańTi8kmG:(3AWP`W^9p]؏ J`k=)$-4F:@^biݨ5 իTqoy47/5ɉrP*qB#ȍmbŀ4BJS$ azW#l? ;anQ%*>f_rI49e!Vpd^>J#;װCE%-t%@qO53hFXڊXA|@]sdcwﯨ<`dr!el&{vo9&-ߛCWě#olP~^&v \3]xa 4OI~qT^ھidČbv.#,ׄ<[ۇpc&ԯ~kkzCKxm@+pc=Ė>BIァI]&$>TڵOgӓ@dX3bn«}7#(7nQ(2 pWx;s0st"^#7,_<]1s|0Dt[kW> H~)AtnD;Ta'p per@o('5NLq:vUT0k^U̲ anf%Hƾ̱G 4>g-;=Q@>,aI~TE^_PΝC}><> (8[T_ٝ^˫;,F|acş.+P3tin _ӫ*@::KO*PaSߩZMǩÞصWBhloMng7U7^'hAWz!PDf.]e5soKhwE\ ;?gԖ)4|rh~~AKh4؂%)ct"dQ]F'sEM6/~K] ǀڍVGd/(;m=8^+p.iO!$+sQ;㪾n&`=y|%4zтB011l,?a突^;BD[tlINhwX vt?nҕn۬l2n(҉XPD49PUpFΈp|ľ~+* t˻"˯3Nj|[PIWP#6 sPTqs}~lJYh}{ o?3뿱 Y'5uz M MZ BK DwvzZ /0LS<|t$ #EkjǮ^Gb fP0@A? eᕆכKpVyTq[B o5E EV Eb&J%%,w;U= d?_\#-||?ëqoh?5|}Z9Că!Ms@G[~tf_j/_mC2`w/=dYunX/L}l`ʤin<u7JLr/9ňHmЊ2hۚPٴcZ{f#"=AFq < ]s)jVo+I]~J GIqSq\\4OT!,|NBjys&'yEInH;1 t`+ѐ?8w$]uLHV:+j}fC,."A5t&~=` NOI\8'_R<=\*(8l?={ G{eo0 vOA`>g? +ڲQ[Qhu_m#r21X { 1Dj/L^r-h(q!#Hx jږ[Gt+[m:Vo\9 [ UoԴ}!?'NTh~ 2?@U ? ~M+h)՗sO3m cs~h(g(<)0)[J|ԟid9 aӲ~Qѣ^?ĬQ!tFqp\>ċվ=iĒ&lYj,Ww Zo1{)hBIx;?7;"Tfu˄8um{z^d7 Fq _y> fJQ̤;)fZu!!܋0.B}׋>ږEe 4rʞP&0t#0ɘL|L༷TW}̘SV$\ALiAsܻl3m0ī>5f1?$XyBPW7[`L.C8e9l-@~϶.mVg hmȾ "GbgD.ןFimO9x.zȿ_?<S.oᖉ67 Չ߱1lw*/"t`13(35KäEX};EET7>#gOSye'fh5?1fn"uIQEƂ7gPgOynE{ u >֣CSxd1߮fDP?,]Hj~Az3Q ^Mwϝ1梼lzM~U˫>鑓9%")'LItS.gx/iPكs8*ws"R `M.HF^$q>b k.K"o7<:݇<1.D2@;Gٻ atbޑ}N.8G8/rnjW^2b1tk!`SxYa7qr )E@ X׍!eHKƉD˛~x.;ʭӐW儓RŲb=* ;p)e-.آ/gcKwi?W%~Cos60C++gND*Y vtgLzUY ےμtɢ83E+ܪÞy#"$!2z(YbM.1iz[8c9H`*⟑zmF&8 dBJPJzos XݜBWK (܍;2RQ3v7Y_kM7JSa1\D5%B91v'd=M]4P+XaL4MRwҔWWAn vL"̰xjq?Xʸ_x&)T5 _hY}mJ#ێ3 f'"Y5\>)Ӎsw'u76Bve]<=SV3˹/. -?OmVsnh#Bu|B|}fH/ߡSQ؏M+N泸-{+>)eZ%G:: n돧xfs93j87cBkZO/=eEP+ */=ܷ]\d'ƚ yk=`zR[3 f|1rS )+cT12Za2؝^7œV :%Q FS6#Rd]w\0KdVlAʖrt9XTd UQmXAM4ws:XÖ:?}fX]y1vO*䟑K34a7nc{J0+[|w9)m&9+¡h@{헯GqL@jYE,CH%q]+8!.~o5CLQ0iAc"pĆ&mW)/!`RYnjy3XD,)ctM #i7HEY" -'ǼpA=NMZdشxY={j^:IO닑8/i[ FDiT`2UΌ rY5ToWoS áU(o E"l^`_m}{P*ZqŖV-W(_t)V-%9_iRuʟhDsˬ OEe_DF  m "WQNWH쨩wuK^rA@HFh%c&o%LN{|5" yoE8cp|(ZdiJaU|e9ѷn,RMuj8P,)Sb 3f*6+[ȰȬb,Ӓt/\Mi$kMD^Զ!+5NAͩݩn?YoȄ2ʶFÜ `z F4"ROӁLķ8#}ʆacd'V.tϡиo HPxNI#+79hSn: !ʹ^c~`5Fop\G(匯#HZɾSG^Չb>Tw@Ğ2k l H齅v> x?iN/PE6;"sNݒ ݆#UC|<ŜNEQΊL2dcq801nEiV /׋o1J=VT%vCKˈpyMXq.[aŲk׽t?~J" O ld>㗵= C>EN?{p }賆 /4?=?| * ~6 #7(ƒW㙗D"@<={j/"=wli.~ []W[͡Yuyrt1Ѯ߬k;%4S8 M.,Gy2sڼW+fos;7}/ fDqVjIDAd#$yN TB:x=| 8cd1Ǐ5# /6b]6aj~[&7/n M> 5gTop|0[C~Ѩ6tюuZf /QIatr++]k{]3w`N%%<\ J\΢c&i7 Qd 2ao{Լ0GL^佒:,Gи=ewN.i+X58F$Ҋ@іag&iM&I2dhИ% ӨKai)1qqGjhWs!K^řͭ3O90>=iL6n⢝9P#\Zt6a9σ3՛vT~6R&%>vrG40v,7oʣ^$6Z? J'~-}rw]#Tnԑ# Gb4"YI;Tv@α*]>E/"2ߢ#2:T(L#\5g: K2QbwĿU Z@DL7wQt@I\ pR2|lIpNe>N׼#!C$B! ylQ_)R3q_%Ŵ8lCkrP?%p]񟷆ϴYg|QK}H~L>Xe*wfSJrjlÕ &MbYPM6BiEKA P=:)+lskZW1@9Ƽ$$/|/>{^Ѷ?iBGO18LE@oط> e$lg.XoOgX%O.y A7*L&n*=l!(NꌼF/E90{Dܥ"c;yE" ?|uK~T]~)(N"H+ֽGER^Bk /w9 1 >G+stuT B)saӕgYF _}&?tC_o,AXP_R _r៛aA^IRh64]G@B'eWFPϔYl ,]yֲGP#J 31 d}ޟaY<+7k^a5[NwPY3Nc ߹^,H à o{;aJBJH[Y{.j `ͭ6NYoy98o-Ř`^˹h^V`(:>- |i߆ o /kNo@ ͩhݖ-50!]X\JYb\S!nXxb@WXz emGv >A<{u/hZ1::0 ֦Re FYQ}PGV x!"$ j>BBzۋu`-<lcQdqƧt*}=ކPVKڑ5N7W͇ M΄5caZB=YȢc>Rz=6HS"%Y^1 }!}*ǣı#abǝ>U`'+]ZdYZCOsdgK M_8 /k`|*|_'Ow<τ;Nӡ| n]y P$H ŭwo4i5TvC,=x+j@ Dh\2:!q;guw[ b3,@jjn\L+pTf0˕0uT;#i;Q~n+Gbirһs|'x .IK}6+NI> CQ^o茙|AV;8C[({Qr9hdZַ~nVwN5>J Ǣ h>>+q!9XHWh`g,6\x4߄k>B| PQq&ޟ65g Pn@_zF76N:/HgMY.3kG%5O4k RI.]ghXf"w4LѾN؁!;+ǽCJːujҍSWLՄ}F; :DDIo?D88_g)[njYp6swCqG:I!6c-)ZP.SM WCTN;螑50Y;Pb%t@٫ǂW4`ȥtX<$g8wRHgg^Lg /@]nOQ Cԁ,W-OD@Hm땻KHDIȒBX/1 Q$fӻ[.sOsF<{O {A6B+V !4YZ3P'+\Ms߬|把qvAˉ%**y}ţkP;1`@*&0>[)j7'su,tᱯvB 60WrpnRΤ0" B5s&C>1rQ vP=KLk3DFQu ;Ğ0N)m3`~N~E^=UtGa\%Oca9pLdL?/ݺJy6FBX5jd3ǩBl_P), } %q*vxDpֹRf"~'% ưO =Ȼ~ߗ!'D,58Rc kT&]t' ;[`~RSx;Ҥ7LvV ]qԼs. c;5P{XOUqul[ oL{x}8A84Q64򉰘~#bPKIO,ezEn;DIN&!X*tOIC5r-S0chӶj`sMj#ݑzE=_QOdyzP-Þ=е2C+ȄB (3>wVX"xƑnv46zrF<&t2ÖE UY- ez,Z^ U4guQV40ZYX N S]h]UY#ޡYMQW܂oyd~Z8IHؐ9K B&6}dw{+1g%KP޶@'foB8ej)yƄ+Bp,p~ ú[`tFDEB"DGBJ&R5AMj *;ݏy7]8OB4/Ed 9w7}Q}u$$v61iQsۍK@ ֙xCx&zQ_p"OȜحsI|q|!rқv!;_"ݸq8u 3C_Y6(U[O'*|0ҟe&,U&۰0dxf.މ|YlT6Է _x|d.}7^u!}~ai>խ /oFD>>(7",vB6*w_>~A\ s14_ЖS}P9R\doy,7vB!sؘcyn׈n91dbľ2yn[S;l$KsP),@70Q 9ygRg03';c+И^lMds][Ib]ru 5wl(f0l>w( =Svz(}.Jljփl-`7KKI⤢3T^c)՛nDh Vꙗ=z`T>Q2!%w x *]>^*K`~\>N?1 Y-[;`ny+J(ڧ ^iy.Y$6zH&{a@ ч0U; |4Z0`7}++q م*ElN>]wëd1[r"(>82yw8Sp(w_A,e /yGyK>SR%Ŵ/ ؜BMU ;lPj)#VBu1>DrF?~ [@ J?MkTKep? h43Qy'<ɾ N)0iͮ/Z||^C)pNOLbpI?hTNlwzE1 SZx:߱ŷH@Зk= #$80c>}/O"\4.B},jgȀ Z<9x=}|^9\ !όv%eS >$dsl%8Y*]McEr vo#V9sE,kE  P3}' q 6|Gx' g 2w/7p6?>= 6#׮o?ח+Z կY _L9 >_{7V__m}W"eal_{FuՁg8!2 !iop^GmD_q|)]˕$bEPx<.~|(V%ӐAD CcKSә&mp +Er5 'ܰzOlpyc z"ޚ9*1BF a5dVLUVӂe="0CuGٵ@\< u\ wӀB.|FUy#q>`zxpCLnHR%{Ptn[Ha|QEpQ!pdx?.V<3~=Tr'Js!8,] 1?hGDq]Hۄ* mS}(k~^>- S4]g@%Kw tKQ|S÷8 -$ۣ6|_C;:ٵyņ0BGl^KPsI@[ +7Wc_2]͛;Ct® 8xkOƷ[!)d?f[r2^D9;tL &`MW̘[w1_&ޏ\X-`M$?`k&cB ,2o)\_ԺHukAK? ׎o.^)65ط1:vq@c2__}:z *z_"ok!6Z4~ȗ_HRq䑄v]DfHݟ]~{%Ae>s3a+X/p$ZIէ5a/dU|1kXM$CU`/{RG<mDœxM] 2ޤhꏲ/EKKіCm/ ĿsƐlΐDph*_z+de쵟ۖR٤VY) H}(GHr Tc>Xʏ7׮NjYs%lxaiå>[c h[?5]C3} ߠ 9D0o3LχaG1~D`?[Q/gzf~^_-X] ]ғ %p#1fciYTtP֟ОreF߱koWXƮ^M a91QBZTZݲ\@IzcЃWqkֺEv? ֣*Aġ<ɕ:4^fc8r_!5%2//:é;Hl,$B a'KB#`H"'c&"[}:Y:Kﳜ>ߟ3=aM=N5mMV՜ 79D/ݝ9o̒{Ud~UǪ|۔˄*5EKjڸ^!{"i"YC;Ohn9a1,R/il״Zƾ{M]8/3ErM9~ ,/JOQUuYQ 2QɆ1aWAg /1%Og k5-Owٺ1^e(%/ ^k(E }KLz+n #{T'BGQA!W 25n0f$NuPnQ( +zXGZ9IzӼwvuI^W]8 d[x+%=&_TEȘ#D̗ W%aF*3[o$8duF UKZŌS:'1}rќMyZD!1? y&q0'rvakdyϊ< ckS3sMf!vpNlHԥ\^tDtK  ٚ V 1>p!Nq\tx=VemHV]$#cZc1|;NeTx d1œEw CdxW@zj4z-t*FPlbrvnƢVΖv}9NhsWh(`u)\z_Byfs* '-`!>B/M4$ DV+D?-)}{U ?Ÿ=qdq}AXc/..@P듷%=>To!0E{'ZIsQ]|כ_CF͓ʚfW,rq:$ PE$Vǂׇԥx\ච"n 3)zz.` by]1.̹sgu4RxWo"X g}^|)B_qt_JvA'yB6`ʀ҄t秝E(-+Hd(L)4Ǫbc)$T@&.l7W'[M,a$ٓpG&C]=d$2 35:Њ_.<­8{kv3-tWt}./[WBݰ£>^5\L{ŁʫF &Wnժsz@2}ծIk^[F)/#[ T#v(BѲqB|HVcJ$68fLT2:Eoj*o10BO}xЈ<.K4`u \)"6_%7W"hg84qw+\l]t /'dEp̺ ^r} wu'|iί5\Dvvk~Ǻ˺Lf082|; O O@)?\$?cNxh~)raZGՅ ^*WE8G: \eQki7!(+lFjq48 d=NZK `x8253 7@q3ʇJly+ |\wIZhh|v  ] &ij _fgVI54|xECFE l?p,]Uڼ&ɷtzEo 4xT5)'#U(֗F\@P z,W}nUjtW-2';-~X;- 73ߝGW|XNϭd+:]~p 8XtFRb#F<͚$O*V?OQ Cܼ\Y.@dža+KDC1yxז"S y\]JYWۋ qYj\V<rNyns(ioixXTf˟$BT׽9yls]sx6 YCyt7\xDh 7gR=,/R96ȮĴ=g.xvzL;bGO"c$ׄ2z{K4hR޲lG'ΦVd h3Hiru&01^*q3JCsɖ"5=(ҲC*\ bBs+1S ) :{{ x;Xϕkpm086כ[bY |i$t)ŒlzN`vxXSw!-1wvg=WXv`ͼU(QBzK#MtK.VBU1"S 4gp/6ȹ|m說M ٴvVIK, .ΚP݋qP :7c+bWu_s͡6h K^mItWf ,PD]C:#eM9'4mvJV>ڶ`OwVeu̓~m B¾uϺY\j.:<Z9CӸ*n7>>䖯+[Fa,U`{9qbVWT嘷m7~Zaiȏ1 >&=SpS}sƬNKv\]"⬀1:)>sks*m9j塓~4xZؑ֬/_.)_!h8(g K|֤l]j*bR,haq*ƺxF Z܍1ǥ%+Qk>v PJ3am`:XdI1.1- Үbmvku3?dU߄FYL(0jh#i %vdZ|tz<2<6O?As(ARe*Rxh/LdYo1 '7#~J) z)?T>lʁ'"P&}cAoʷsI?'rSxÊU٧n6+9i!UWg_c I*T qxK͟DnT<|]ja6l0. Fh&y&BLd v*7xޔ#f!"-m 瀖u͔ϟ|B Ir$Z*ηv'o//L삻|I] 뒞"9ݔ^ɬX%jjo{c2`0pg ÉũU 6鸄oPSnȼFin#AE|">/fwʡy˸_n(Xϱs)hf mD? #/*@*Qg# ѣbեW]Y߅)lA Y.b5 jL ;vop6wl~J+k5x[|=qPzOгαҏ1܊p-x4t2_ Ww/>Vhx4 lM7U+\ 3T;'F笿hOtwtFŢ'5?;\Uo]cz<'T˼hZcZ]𦸄~!O>] Ⓖ\ʩ6ry.8x$W9_s/P}EF2u}MՕ̴`T:9[.\ }`p}GOKF>dU* +ܫ=u)u}VvSNPi5yNx2-C F-]"' nw%َԲ8cmqGbӇ _7;tc2=/y]*$[Cպz i e990x<ɍk<7 K~b&\%:%HGzqؑHn Ӏ(@\ulfYhg>͆CXL)bA>XL ho?BoCna^--4,p[ecVx/[# ֶOhԢBri7iR:/R~%ml7YpB#@KCY?-q]Oҹ= MPf0ت. 7w=ψϔ\REe~h*w{.vGEQpVj|NzH~>w_4}HӲwLOOHY?(,q2Aӳ0<]TP5,jy 5#ևzF_ $u<ϛ̏ht?K|ycn)am+yR&*/y`U!w:t{|BSeiO)1!.Eī؇s[2 {)3a+W%:LVLT xl4m-"nT +PCZ<*@.孯6;"3&,Rx(7<`=9lf+яE.$V󑽏ɵ;|^l2G1vcY &-JQ|Nza0V}qH )e@|S=LC0RІ?w54YOS矛<=*ʿ*6I#&yQASRw{[a0Vl_xħłb?Lx%2e7rXպBR'RK_0/gFEA0WB[qX܃3as͵Be,ǵd 3@\hbn۝]/cW0o_JKJ~5_ShT|O@+qNM{{^%s5Q1՟;Ppp򅊣r&VܞB.Jm]*`vi3cd VgH,O3PLo$ʾ@<ik̇.|)0m7s>3_R4\EiHQ\.S&'쫌uhO *5Tꙗq>KGsc41ah=rbUDWԽzgq3h2(a{{+=Y>ИxNLFFʲO(uq&6Tr'(^ZL,rlA@j]g(*:QN5kqcZ W^B[*ڷ?|{u΢Ff&Q[B&%=* o оJp(\{h vrKrh,a{];$E% )I>b9z5A?V͚:}OKqԅ㒘連#5\O*̊*& 'My@dl:g ް}7iu2?>\O9@)-[xNnϜ3~Qܭ)*PNGއcdhח:sI46fbKoya%ZVrwBIe)4s>i+=3-4xb xeV!SwCb h#Gd1Ț}VGuAnÉh ePuO_6wz,妏CW,?aHŹwuқPCfK^F;g/B8.iD)u {3wnR@j1ⱼt- fE<2o|Yki NsGWF+fHsYa~.dkLOtn!kM0eAEj㾷Wt5-䜧C3AhN:>k5Tӻ"_bg?rPS6Pj_wxfOZ5g>/3E!PM<@&G/A)/e \3@Be9✱:}sNԗoBI!7vif9]kn3VQV _VS)\,vP=J߲ڇRuyziXl&w_)܌U!" dNPw}IPN+=_`xai njtfM,P&0.~עGϿry۰{t5X'P֋F:I-?H^h6]➎1oS㯢 :K.~ @/j_\;s8R+ K_/<[N $ǮؿV.-d}RP -j[4f^2 "d |-1?{mC"K-z рy N 9ǃh?fͯ劙"*`kg_ٯ̯~oo3Y_uDS3ljtfό:ʠU/P' p.(I9}hO<}#Y#?|.N"rrٚ->) /uv;Je peEwH1gAMvn(zGj)8ǵr䅆=[sq8B^Me6qhqQoT|SUN~'o*ŗ̦Ӯ_9/ + GDYdm~O۝X@)bcu6,$T#W]$!_mu˘!$t|~@|ί/(~3wCvΥΨkÄ[ [،y.E6)nĉPGB|~uƩc5ݴ{NCX 4 +(DsR=ue'%'ճӬZex<6FZ}ƗMv{$``%n;\̪7rv4퀯.(."3tjFZJ.u_qy OɄcŻ"޺u%y]jK~ |ij`HLǥ3;Ncl!{yK.#vڬ  z+.՗½0ZUs7 !8+qV;^ ӈ~?dƟ?b.ma!b?fQk܂gq/Cï{~S._*G_YF#&SjTO#*6Nb]w˟W#3.wD׌g†xDKl\%n.w2ax7^Sum^yUD"N}uhmA~qC$9ȶ^mmĥ_9r|N{޻ Z9kz֏7uS-.L tD a \SPHhi"`M˅N]R3Ͷ0=A_UEk3.N!68XiC lԟ4x궹3s4d_3^5CC7xt%<>C9Zh5U% Ja5',BL[(᝭>YiAR߷:~V2=zkUN[8`;i dmADȊ\_QԼS C}8w0JUd͇{+t_K`.eFnFbe@[]zF2_J ? A} u FU;qȥ{Q '@jfw3 )S޵2 hHg{}~5ý>? KD3[ֿFO5Ɣ_h ˨Zh37;֋ɞڃ5N0譭*R :=w),,2UM!ԛ[o-ۭg)Ūv櫃DL5kaR,Xjs@jSYuȂN1}S?F>n:փiO&n yJ}}Ûgʗ!09U"[fޟ\Vԛ8Pvkֳȷ?SbtAӚ&tgwzY|Qʬ6F.pF]#pzў^0aG(?vY4[@V[Cq[L"-zܟl$'dvqJ~^$Ir<TSTiblgPƜM}*`eS,}]~m0}hA*[KrrNo'IBؙYoTlW:Ir$tv;/bQ2(Mo/DΊ[Ƅmw>ibK*Q݀vd|>S@7qeID/̗T}>G0mz*L-yIunD.xX#$PΚJr)GR / I>" kўpjׯ.cy A aZR\-1{h0Gj.]|dZ/8[`cF`nkM/y&J !yN9+^X8.`TܝLBW@$8gøUpD<)j&p0zAi.zx'I.'+NU/t}cB%?@AEs;D VB&Àb ?Տw7=OYG_1bI x# p* B>XxWѦմݮbJT[w;K%lmFutpl$]At'QJw5 r1~bFzB ^3J 2ɓ[vB#T.e V4CսNql#a6|c8?qa y&^ZM>Io9ؔX s0[f;n{2: Gptliggp宎/u\cX6"ܑ3'HxRUv2}|UTϯ_>7iw^aCS訬Q0'gkkd asYrCF9B2Fx*v3a0P4So93-C#@2G(s F@0=lN} rLy@ S5:b%?"o%`c.԰r~_9*ߟ?/r )p␶.}=t'c_q:ɦwk> V.(UJpq!D~JA U27Y,8zD+^6[vIW -es ]GҔ=lT br)}d{W+oN ̭0!sO.NPJ[Df2hA2wRuq䚋n:WQU8O9; b]sy_M9]]V+ ǯ糠jڠD;cp&@Әcuv"< 9YLgFJiU$X]dlQWDLV]k8h{G3gMe/UkаɼI5c7{KC)V۹_=_AW{ {Z-{=Ogo]wyٸ'6 ݊6>sɪDޘGu,=d=x7;(U]3"$wf{9ةz?RܕF'Lzm܇lkJ-J[鼕a^XP>gDb#4=H@;sAC^Ύ1E5 NAm|:DF§#S7t/{Dꓳv^mRͲ&PædxEgȄ4jG9X+ 18H61~VIW N^MYͳBƖ#Qx!꾻 ܎-MOoeUWljܽqsƯ :#2(`ŀ@#dәJ_rV;qslߧrJ5i)=`]IxlU Qa DE3hПBKZs(Hj'8i x<(SaVIq\ *a\Gn=4͈W6kP/g VyEKti,+I%L35LUhp[' mյJ% wRlq&Ek`(1&9AtB@9+8SVl}9ރ?'LsXkhxßj2W/Y7}Z+ *udFBMͪɳ<4l[m9p:u&ܲbm1ʬ#~#IUN|-uz=a} ~~U?8x\>d_(L  \(Vgo:!P=%%1X{=/)w?rf  sU{}3>&]]D2Twčv*4"f ?{ B$6V=ˆ~ଃM/7*N$61rM9&aZ[Zd31e4Htxj@\&#JƇ\Iwꏜ:U\3-V CvUXel򆕘7(bBƣg~98ExIy7.~ tHœvn'WRPpT)B !0>,\VU%̐i[d0BnԳP{j d5d{RRWOTHY~ʟ`=dea&2DEatxRR`TNX*RQ^F~RNO:}M"BvXR^;݆ko8K!ѩhP`o9L|='ޟlN82W\*ChןlN;MWR7 z:v|YF3ʞuGL>l[U8t,[U$8Z Fբm~i|GL9|O2+Ƿ`be 5i }_53cX4)@?g> =+jRmfը~]AM։s};}oO&\O1ĸ@`L;DޟgZB WK;^ g!0بI C N)?{{cs/c?*w= 1pS%o~q"cm*29F-E1!Qާ>GzMKdzGeM?x/1_#=4>:'j֧e?-/:΀/?ƙb"quB1g@_<ʟq'%<;OL GҌ- }oj' :l%DPfQBKʱ&ӫDd"ow߅G[.gfۑ kᡶJ!=b{o$)3`:tip25AS!C/)}LJJifGB4 Lb=R@+I1얃-ȠvA:!} Hkj@0g$]^&V |$ؔZZ}!<6Қ|O(6 KBwebS'7SsgǐպwO@ doS7&n+I%`"_š;-Mgi&۹{`eOAvL J|VxRoeKvR]E$ubOh0aޓSC`ߺ&.eF eеiBâ'0a21ex~ށ#l>C.~~ڱiߦ/r5T&d{ $ۿ7Mu8MibVy@wPK1@l2zWRC0d{؁<> $m,ϝv8+uفe`%Z[t1b5 nA!a4c]qK},a큈-束] _ǎ*5WB<>{u5L63R}i!⽪Ix.IHLq1*uI|\g]Cp'thU!qrW2}qZ^+.k߫SL9qMsviB /?t>mOh62팏[b{?t ]֋,ˣ\])\@2q=X6NQ$#=Y! *>gMVH D˫KU `PxND^PCՃ+%-rƳH'] )ZƶIS$*|u?1!;.+} zM3{?M ~c\О7cOSϰ-K`5??r߾w>}}!}JsW $o)b䡶ǻg^ǹ 4y9z|҉.FJvCj8"]ӵ.T",?Wpex{V)m=`Gّ,̸-09+FΏ0j?. dD`wKߖLdCCj'cG&.kzLUr S`6*( C|\"09} $$oѼHU`F#߽adO'5JR3wFoþZ=Z+|zUEhT-/o= d;]5`Y%2t%Wۚ DbEҞ"# M0~&:ڠ$%I\KfEy]` )B^r3l46u 53l)܍RTg svma[5n dn5'3b R$K@9m1LЂh3AF[q?CPV$KSI.oUL`.^@vn"xco۹TYd*h9~Vdj`䘩kO4W;Ht+0^lSdV0SN5Jڷ%G^%ϐ0IQ57li nXJZQ0X@c: L%Ӆ5K9m'A c6Q61\ށ I$3YEP} WRzSSi2[.cնw]%-*=2+W|l}<HQ3ɫ݆6HUia#+k@>#Q55aD~ iwI-ͥ҉$L"?Mֵ^pC~ҙ GOY.PǙtU~ ^§[(HYϦDgڐN8 pPtC+Įe7T:0ݱ]X ,R(}C9-&XUkN[Nc9啼\`?deq~2$ZTURq 1F/[DQG`O3y˂w7>l!Š8E㲕-L0 '=!mScB(R2_0ȥw$#7K 'suf+3$ҠwpE"x<~;¥Lf Rj鱐EpZ.ZHNdɅgN_ljGv{܅cdLA|hV|T }SfqbqLU%hQd+12ӄ-`7 } \;(\u$3{IȳHM UV`*sKˆ,1(Owk|$*i"q2,U*J/GD1@1u䫡uA5AUQ W)XQ86CvPބ)\$+֢Av Cm[f>կJ=Ɠ]ߥK̾nrHlԤzB,,ız" ([N{W+^̌hMHre->y@.Ex֒I@ŃFQ<-2]*޶c2j<=) W7{rpk`Xk t䦐r<}L-=Ƹv*1_{'?4bog?$]|K^Mw+h,N3TobVe~R_(KC^(%7L45-8˲e,E^3̂o g:/daN͢`ffeД9Uta:!?H׻Qx|?G_T2sߵp++D_?}z`G n|Wt}ѿ^zՁYv䱸iq^"= z /%:21kT$lho㎬a" _ҘL#&FKJ}6Zxpc`7XT3>@ >w\,/`/$.dHowsʰ /#ٌpkLi_>Kᄂ?V$c[7z[B^Β `N5@A1 x\'eϱcyU`~6x-&uq@d!90MLHmM tuQb+/@O9gf9uѹ0e=ӌ`M;߽QO>*B⏾|DS~dP$,lza &|Jy0loZ&$ 8 H"Ѡ-o -;{J8b]\uPFMy’W5E+CznGJ@{0g{zWaC#gM)o9\Io]`P-$b=t;׌əӐ ՞N“Ze7a CS>=Uh= U9x]LODM:VKy~svFSOfWl w|3>.D %!ı~>L𾨭0u@$ؘYPgo+S}'K=#e=P7ՙq|,nh=O0VF\>mTZh~~#:j\ǟU5Aň^ rd1YXP.ʚD#f 8|5^^fy'ȺjZ0%P%>lV-Wxw]p!/+G8=rn~-K Q.3|qjx^K7;F߄K9D*\@Kz;y_Vh@t x+^y^ iށcy eXvj^ n+7zĉ¸I|n+Hތ٩F=jkK芈$G][Ux@F> yް) VBه Npt=szz}ʼnˑW 9Mr%='SӢ[9fz~>yX|O9F?m$Hk*a=nܷI@{ˇl;- zcѭ tVQ$vn"eaݳR nؐCڽUԼ{K{GS͓KLap1Z0ގ0ݤ9]ȩe}z_yi">l'|GCB`[j f0fq -!Vp~=°SBT(Kmm$I+)z1C}OLçwjaE!H&Uсƾ Iϫlz--Vq5`֬vgW%z|xGrkdTq:xؗ(o*4'9Qe bDPm38 w{;ϘDu,0VcZldrk?,ZEz M8_Q9lRZIx11F}LwGU=!^SY;AZT IU,L~NۯkX#|(h>#'g 5ۤv'eR'98KH6pBl9xR@ٍfqKY)КOя*~ʽF5f5K\,.U )Qz픤Yu>riu}n=G76Gj.r B@Ðbɷ@S8\K&ϻMo4baH{\i"++g12.b>fE,\kfQަ1Xwzf9֒(d:$rgE3 dsrA;dK>l?_Qt֒VQ`$ k)?X/FKR}\j!Ǟ2ΎE=D?W $:z[%=[)>`v;cr~/t2 j)Җs{0l.#j±zO7+[t!%`=,/W2$7?' 1j.}8m,KO_3/V]K1fԈeӇS^ޚ̋4|KvWDDpQ!bJBY@!e.ǔ6o{}gy"}z9ȧ#Ov#H̞1 ?zNQ;yOp+:P$P,2޵qQ?V,bbj@pM_rJ a}ۂ;Tm`I.4Ҕ\-:{8y[`zjTKݖ#7na:yYƽ:3# 9hy*"\ZKdB@ sJ{,myJyVbiHMj RiВ,!!0Խi5 L )UGl2󮊬KgU O<-GKݨH7_B 񑅳è5+E~6AI#}J*xVFr9Y z $ G]<>$> !^}gQ CI܇>QW(R]auޥXHeGӝ XVkU| ` W/1^EbL+/^It⃃%~<Ρ_:,ϯ],kt*ۅvGAKYa,rqbuO@ݴ y83\L&d3Nr+ UdZ81 Q#?/(T*3и9ח#(F_m!Q}@O2-y9Dbl@g=V!%# jm>!UZUro@20lM}jmuϵ0/U.'~\ǞmbfFYIFL\i(*݅Le"rbks^%x6wH%T*w}JwWuiN3:8CO/wqUkUC}4޳w_^^g'>,*& '>~.Hɀoul^Zu=? ե =MYĿAMR3 )H>g8%cRմY\tI_eZ%w]e'wFKi'xf4ꊖ }A4LmOrx_;VX"8ٯZo9G j.޲Q%tH=!ў2ө`'80 O}{7bL4850ں9MpCG6Rs}leed<@c)2u؆}?]M_仜YCBPgz!~cLC)F/ϖ: +5'Svd%N!WCH|K/|A; B47:)[UF |wxWZ_P~a4v?&[ޛx cju pm5#+|\#[#Z7h\ CBX`QwwM$iq15W_~j[TbPJY lWŭj0ބ(*P9zaőK >GmLp˜!@t5kp?D"KKwF.kkgw%Ƥ_>GAsd,_}D\M7|K(ۂxl0oV]_)V˧'\UgZZ;Q MZg<~xr*w[f.5E -PP[q <5RߘǤs{[=׆3$K/]؛}T۸Y"Vν]Ų1lJ $/yUXoyK:fJbEZ!򰛃/}Ip=T# %(\H֋oJ8Y*ۡ ƙDyTл^cy) 5c+! @7" ryꥭ9ܨy)~iaz7{H@IW@t`0HB5٧INeґj`'M.f,W 5Kd_InL{w;!lFN}׈`= +E=pX~%wu.x!֑X47V$jZ ҡ_Nc?l]mw%Wݥ?d\og!|L=4tTm`m`xEbȢдHw#s~J4.+.Gu Ǘ@-Jka={BcZDv_h:҅WKHKe3VͮLWGE DGf_^)B<=F+6ԧr޲y"kK*!)B)'YLL SNщ]  4[nŋt象!V y-r吷jh{̏&F`g^rFď=~}/M5W~o~'S3}dw_4NX% OÎtS1/=֟*Ĭn1ޏ[Q}F)Yr:vj¨Eqj=h}ٓ3f,Hp8*Ă }E,dTz>PcꅄC\*H+ԌI a?vT-d$`*xYg*mϱ=V FM`$DR>*V]cy@/^H3]{<\p C3X>VUU;J{\/ X^$,Pxs3kj3?raKF7eϑj>Ԟ޵{ݚ] OTb/K2*c"ٽ!Ϝip^'ij!_0,ut441 ytxńUx0YS blԀ3x{&`ba09'Benxw<$DVDQ,REy +phxxN, < 2U# P?p|3$7ͭ t}+rs0T)f*ǫ`Zrt$L+ghD&ܛӆkzq77ccω Ǽ"2s>Ҥs>yalcQ4u;Tx/gF *w7hLLJ~%-` b 1zbjxHOLӶ֠˖<fY=e&'Uc4uےK];VP7PmJ{ԏ@&9aݘgŘI 'Dc1*PϐqùҸdGwKŖnw>PJ6b5>X IrBwFu?G[VR9_f& |>:}TѬ^{GwY%˙}}터6UAvn4θТHA}(uCyչEf0R"!=+I  }cڀJ W6iX i9;D[BBO  >ṙ95||بk{>5)D5/d屇by$mf iF'qX_3OUNwMKݙSܶxaєO0C.Lp)ηbary p6L ~Ac1RyI͏ Ga%ؒ ;›SJD2)|DZ^GCH1t!Cb)QG;E7"?ai@t?h@D׃CvȔ$#ӳ9N?醷k \P`e. b OWdH]I+OQ m窜]h58sk0y*_T:MOZr6_JOA/] I1$cTR{Y5w]+7VM{_{XlsǯAJC~ljs+G9֜;vhʹModE$R7[Sx bi3Iqޥ֖)}ѽmb%E[Nroe۱^]!/_Li9 Kwz+bgN_?lnž߅ݩڗzxՖ1nLSd%vH8 y F Jrt8<ʵ+w5Uu&ܯC{ȸ2 e" '$i˻]UL%6Hk҆ 1b$E;Rmr͋]hڑJ$P!1U(bƙӤuWqvUlpU. 2eeu)-ɵYIba6A#gVPCHjۇ2d!q<|׾k.l*/_C }Xr.q]Q]/Ǎ a`'Tۖ}S ;=Rq S?jM7;mv;MjAZcj'(~V)+fC.\xYL' /^y2 k#7bhxn]]0U$f/#򙫼=(j=esN`a9Š>Ի5C}W]w}Ϋӷ=ӷg,7jL}2?^Q>~VC2]} &Lu;O4LK?i*ܑ#MM=ۡ E- Ӝ߽J\\ʬ%jEDn5 ln}}#zaxI}/5 ԒG,D.@8J[P\9UϓKl(A%өz -1bY؋SxE`6^QPByE|nȜiQ^NȰq}5b5dh2GXjxpHEiebsi1حȭudxhUET *{gI.PdjuL㸈\WaA4>`3'2(pNFP4Ȫ4s-).mE˛%%|f_n*HveDT;k !&k3{2*!R% R =az4S1+XO/a>Mkamgaڭ5h{b=oj>w![Y<S lh'}M;GUj.j¸#RXx6 Sffb$H^-ؿk nWH7&;Lte yB7ݬ|'KD^)x>pQjf^DGBٛlÍd%;Ih-xòvTQmUVul ^yܟ=ͫ6D`!vLiE.mKK+T?"x{ڸƩq0Nw)ױwNiCq`bKel~:kJ~K(v~YԸr[YS윴 )h HxltN~][Dvc ZA;.8^}(Hn̽ M5D =V_Û 8j$ o_6(YٿMYJLd]#?,̄a`}b*b7b A>:b0@|lRJ 3(NWKxVir4#GD۴BQo8cw܄A 5qGXKN1Iz`oo@Qq]O֍QϺߦ]h>ۦ;GO h,ĩ)MJD:Gؘ|# z%%k3Ƞ([خI$NUKR5*~g9v=OҼ":YL3T,J c6U&$4_O\ƋpP3B1Lv_ 'pCVmxY4ri9tVACxS LO^y{ѮOxj_+#^Oh8CIV1hǿ["@ç9bⵂfԜsU>0TSXĮa`MȓrGZ^nzxr@" աHH=~ƛS9&Ѽl0MЕ=M k-mAr1WS4|…2zHanΰ~t6RiU c#1cb&DLH[]5*VaxN͇aM=ss<|؁ qF8כ}?cŧAkwtg%˘#F[[n:e J>e5$Yw^䶊ޱ&)*e1k:*;@whٻ6TEJk8̩a/!Bdp"[7'{GoR*2ޮH^%$׍yeX@Zp|` sڵ=7{ ۇS?.ym8[˓^?ҧ&K_~ J{8oBJ\9doï5Yc쎌'>x mupjLr_]_;: VBQݚcr7 '~O7.3`^@& JMqmC@,- V=?ںq"]|VD.i&µO**Msz6(S-+Xtd'Ts0qe ~_fQc=i]W^%J|=,GSIFxU{Sg Vڎ0 } f|N6r#`y{AMT-4CkxcVy~KSc,YQD^,+@JdG}4/ʇ҃/=d=7:uFL,B;֓<t=Y2m5k8rQ6;;w(^hAF鶴1„6A>b?B)`wJa NÕ7DneA\n?}{GyG1D XsW]U06hŠH6qq#)L w Ưh~]]܏| ?~DWB)N}?}F(,>;qևBZΫ)>3fFˠ3 n~.k:];}7Ͼ ÿ̾/?ξ:&(|m:KؼW>&:rGM볞@<~ |VUv8ZK}`ʷHH;ޯ*Yg} eQ*"F I𯄔9Wso2\$byphYGj&J/+j LŒŜdy`D8ɇo%̮?ʘMu9F y]$o ۂs^:sKy:KV%Ng KGC$4הʡ>$%m嚍Bݧ.65 SsxQbѕ eBláFEHj<b4y}6WRrY?# 68VHi;$+ۇkA L[,6VJ:WA51]lh+YbHC>q\xwHb+Ҷ~yd}%/!w L"^:q~6CQlTÇoq3srAHOooY,+2!~{9/Xcbp, ?:+~kBfPUwx@%trLqio,MYuźk͡ď)*a3<6x! CQb/y&6bR",HHc!j ?PZR_'H쓽 J|؛.Cl-^mB6uv<ޖ)qRH,|-iui.,^Z B)2<^a آ]<èYT_'B.n} [z=:qb*#7D+2 67n,IhC?y*U.'2"j^/Fȋ%]iFm8`(xđIevs8]Ρ]L$i-\DqOm+f-˅zŊ\$es#amix61AǺ Rd]rfmxq"xah)3}߿d_3nٷK!f۷9S !)M-uJ#?Vrqf7W@s .!vW[4yĻ.~+-x2驎B9Q^=|Px 8NF*?Nog? S!;¥ wGZsj s_{ӦDHiݧ8 GI;>}*:|}1Iz,'uW"#ծJwZgAjS^b zQK;>& i+4MyL޲P$" c=m'A7Ar˺ҵy5=#wOmšzUdQď[{a;$FA p\;v=nh(j>)~mڽ${:6 - |! !^"Q u/"V\~.Z)rNU/?:z/:eio@`jE>Tҟ74G- =]÷^!UE~E|JGf`&Iy aסZA" wg4 \5܇ݮVB&OwUIT{8%Jn0 ܲ YtY kD0Õw$/<>N)@L>z029c:-QfpH͉q]C<05'!o(Sgo,ܨOt ZQ:ʙ67ZŌ!'S$z*('9|MM\hAzSS>؇d,0~ ࡙&@@a,?R*`=yDvO~ dj`R ?RKkWՙp$ql`]ϲk׈ܘn a|QS:=$=认qWt:Exكw:}vW4#U0&O$2Q>$/=eޣkPL2\F`Z(| $D60k[K`xx q;):NYnؿ b~$ʛO]l2"640nSw߈>/vc˶9}4v30vBsKW\H0,}GJ]QhR&hyZ,ZσJUXwëČŎy`C܃rF^ѐDCܟaE3"]fk3큧Bbe,.Oo7^Lm,b<5IQf֙AM󤞸QDgl2@>{ƅ02n /Q~t{qƹw1H8_ t Ztuizplv0+\GBෞkCF_ydas:O_8GZʼLW:~+JG˼*ɶM^}/ *T.kC/𠣲ו +:߂:K]gOXw]+)zxǍ=_E R\2s19g>${l @Ca]_* ",a3 iŹCKsSwuf_P]>O0NC;:e"GnD9D6\?hƳ5w | ^Ǚ7k -2$Jt1 MW4,k- EpyEbK ?*, o4$-C%w2ᅔC>䩏wHC{sG`Z6Ll|ǵ+kM +؂鎋5D^I d=omaCh'g}b$Q:n5EDD. kXE2"ZY1އf˒Q㩸Ko48sFH.(:wC8sJL:B~JSmI+ՉfsEᬔx13%3,7ofӲ7dn{_97)sFAYSqHH=Sm`U.=tз^=gj5?Q$kɗƠƹ昷1/"<<<L+ӈ4*x|KrnE'@>c')Ar h 3Y^䰫d20ik&e0N~#j{sGq= )=H3DB2xqUDu͏34a;:}yQ9(@?{-70>2>WC x{ĔTF Uǃ_5cGLR-VUZvÆ C~:@N|I֡9 "Xcn4PQ2Ҵ5'z0F(-m^=Z MC9:3jZy4i!3A\;wRcL@|trS創hʦ="d%X,6ЙY] I>|269XPƔw)vޅՆx6,s[oLg~o}!zŝcR}EH/ov!ah[͸`w˱l-ȃ@cUb-h#~-`x}D| 8ϩHjh ۏ%βM^Uke^nr:@ O 4sn͇KDi^$5^+) "d3o 3bU6!Mיum@Lf4ł#?V bX{La.dסiq4]u~UGSy 0o|evY{>H%Cyt/MkIT]'M=wNl|o"˓E 9~L?GY!?ƒ?'oĹo%m4uuhRfڶ("Be=-z4Y0?Ha1[C'Y5L""m'(6ǮK /VhvhZ*L=jz3, ~*C".}ȇbd2;6zĘj}4>NKXPI ~0l GX99:cZ2|h/Z˩7vۅ?~;CqhKϒuAq/Z6"7b`V@bmډ%Bd?% q-2)>K$F 0AVQ5ZtUР@Ct9Cdeo3 `*wy*3 2zפ 2М@&,oBZNKY`%*V}* Lr0fY^P /$Z2xva"vF.ȏI-IYSIS36=o^`KSmמ%#qo|a&ER:WνY@R`YB>L-SdAz/ڇVz.uj> \_6zP~ DzsJtt%* o6SPP$~/Ӫi52- 02vo rL2pݫ"'+dgL Hq֡2qd 8MyVDK8DatpkUldD `Cy=PD͙i3Mkcg1xD!;"pěvuL  &B#vJ*,YXmS ,V[C ɀ5N_6e21ϖp",xlS_zp?  y*ݭ0 xpAC rOE6j_ {EB`AuЫ2ܟLrK$B_ޱ(_NjÈ=@2quCVkv=aldXq*Ovc4XtoUi0O]&2>6 r WniͲt18=VCn_b_{]8_& W{UvD%cd\˝nc;~k_89yk7kh?IV8R;[28|x*v`^ؽfey͔y"i--81<,^bC̛ҧ gt16v6J=|ɴ~TUΕn;'`sW#@ hVƬ mԾD5Po]C0>_hmߤxz ?0kS =nm ]$tta1|~ $o|',Y7h" W7F#qGJEZ2335vlVyy\kCss s1KA!glz4֢])cQ/Nidƍa)4 D6^0>Qeu" @A7%TJLO*\j%F 毪3͏1#_= jSuSs\ث@i]]=$H?!+sa˾%~Y~^Ԅ?Of/>It)0`ʤUf%|IKi,$iq)Nϴ϶o- L?30ȧѺLUGYnz;}$ز6|f='! G>}I:9xE{e^}4jӚR\;5޻0\q*Z6"n؉H 7K$6ߐt&;b)F p_ȓ1E'h\xEzDp6}v]"Bk)GutHC_r~ zϭ:arGxB:jѦYBە]catRwW[&BMDJ*ZJ3~囉:u|Sf2"i): ⥃yr,JJJ2] YW'۳m=;,:'xgFey@j'*O {HZ,.D-&`n?YvA}/{滄).9 O}^LEl ʢu6/ٷt5? 3%ӼFxf/X`4y&N~3ͳBǁ @ :,(]+a }{V/wiqiwc(qͥύvnq["!Q){m~ /r4M3SzpVa~`{B- RCfL|Qb[s)T%'){ U=qq8fcUnAw_:(n0a'Q'?QBF}t6Ǹye0 /sJ*CLkwd-+v4B)6֥{M~˩|Zb53,R\* 5'8V}5[koi>F`#b^*@˂4%2< RU fj f2cJ~ y;}h- 'S.*1 csG z'>1Oj~?x~|*0X_F0H=3w7{ [ ?*1}pB&a G$_Ŀ@fݺ3|!{)8󻒹jreR7.}t=uɄo_k/"@&SԩG_*L-%=,Mt@*Z!G%y{V 28iw8#f+bt=+/F7#4X7 A;Mdc,c۝dD?NH{ߢEL toFJ:Y =+ \ `л&*( 㑔IT:W+D9,s<顛4/cBE)!Uc)cGF4rf^Y02G1R&#鿱K=Jy4VR8AE;5ι,^^c9=}3ajMo)Y{!1sO7Wh#`KC?$ Q,X^,XXmh ʟŢrwCG=ϤkkGkkoQN{{OcOiE!nkvfAq\]q}dpPX O~`UԿxjmYC f QXHjӽB [Z8fJl<1RgD$L~8kVQ?IwV#,֌R/Ӫ!]X'toΐI(w29@/2g6\P\}񡛇 u6تO1Bғ0YD%ia Ep79b=?M}v{Ym%͝Rl~mG?R:QA9zoѯ/%ՆK%I`MI΍ sAЇP<8$X0B%LQJ UIk/ՎBX!AƳD 9L>-z=8%j(VXʅȲܥU'VRs֋|{k=::u$boq[*rcvױLzA@A˩ʂwۭaT2VFSXqTҙ/3'p\WXKXF̼Oa|q>i5U OiBNs]FD"'dnOj}Pm'Е"*Z%BE<#^R_2W7p|1"Vf%X(lm 8(@2MȅyM(KcM x0AоzV_%YoVh`Ox_W _djӊyGզY&&7֏Maod>Mc߳ hT~AA+*"^ʁX [Ea3o! ~zp^X *gyD7!B%*3B[=72a$Vz(cJ^XDXPI%ēG?zn'r֌9$͑vUu_{..9&iQ)M 2Ԙ]ciQEoo\$g /P:'9NIS$@"-Z |F-:%=T jstDaߺ7+e>/F7ZSZ xU=fn|Ya[!W|S]6Y^ QA &n_x\ BOjyuN0"Sب$=۳9PأMZ.#&w6B"Gc9 e^ƧXJu' 'vod x2ZF\>߹1D!zCԤc1pnlj`4xRA_}/h֊hn|$kWƯZVذrJڗ~S# {Fgd׹y3^{FD*G2c7 /jUAjC_[ ^J@WGbëDB`l}>&R0l%UWF`1%i8:;i>s/yg h~ժ]M+`hlu!gkx)j=e8 ?JV_ֵT>й@m3kz&Q9?1uk/%{6[om )ƒ脓GyHq%x>pNn'Q4NڸG c\.!`b~")dLws3vMyl4ԱRx;z&t~ 2 (}'- ^ꭙ>趞#1rЧki(5lf}^ ?L<74 uЧܭċyr,7u2vLS|KEy_e#EOU>}oXƍ|}H:jIlmv /jQ{y:w8 ;1{y o{hAi{)4v8ZwP 9,׊+q1 ihzeXco<N"[ѫ4,{[u.$DĻX8JVCK!a(*aB~uܥ*-p^O|'Eڋ4ׁ4"S1?F4Ykk4b[>]AʫVB5&TJk?Tr<2mRc<~W뻃=i(l5o|% 1AJ aeɏ 2R8 $\q0IǟM[),uXP [e"xiI ^Z/-dЫ̧?U՛Cs.ׁ 4Ϸ7EH;H揌I+5K;o׃Izg!&u~뮨kD4 Oj =>sC!u/J2l.Tiiz@Ud=Lga1J'N/_ti]?/q5db W-%aL a}?8KRvXei)^fs@h1vFO@zG &؛ ^ڦ)g*L3[Ŗհ}AktvO<1Z)L#ajPl.]4*"W?á#@y֢|o^ ȀS'E2P6muc ^G ^T RjʌЛ i $_2࿦$ҡi壇<0aHy.4"%ah:JCt- 6~hg=;jX$%ksS aᚌna2C+BҭV\N0w*'n(=;!,I$iN࿳Cd1>@;3hBDN -K) - ϶7X~~{0>t2 *F4{!|/s,Jy/UUַ^QN}6uMD)`zoJ,=>wML.qм'-vMc?14Z` 18*6?K ~¿1w+_`<+ubN] SAȂx/qn$FB48|UItʻp 6&}lv7rej> vy\mp8 .zN[\a+臋q)9#8b_>_P\콷t6ѯ\IIP#ߔB; z`ȴ"vɁ*{\$t9j%0vu$@'jctrM˕Ix'0ֻT2*g Hհf.SzN~_r~h1t\HD&Sgp] $V^G0IQ#@4JX)2v&]e~9n'Ȫ̚0}%S@CR4ź̘˘70[j%}]N$u5.Y "i c87Y2HFv$4Pq < M Pv1<=gjX J-& 0y/;&&_U{y9jhW`x}@By<""R~;==BHl܌ݲ:oZ ۗӉ+Uhu%x՘/uY܃hN}ɟ~qmu$ۅH*FJeFfº߇8qŭq[Ok5#UӘj+dc i9~ުS_AG]G`~8gXTɣW1fTk.RQXYE{N+ N;5fkL5Qm^z~Ni9 a {I215K?aWKc᧼g:'}Q⁕WƪQ^U>RO4E7mA=o9ۋ>7Sӏɷ:x h2^qHI \-vU?zۧe=fΙw^JhdND:򰝾)Ozygl]9r%nL  d+q\\(3uJ2@;Ycй87<,V]#á h20Y(fLY C (m*RwX{7[_7%# 8bIjmP!̏w]r`{ăﶸ ,Yjd~F7U/(^Q9s~gsW~jqَ׮c‘,(6PDH:|&J$GY/? OSc"+QՆmEZhɐ7%9gx'n~V9;?qhRɽDDLd0%_ ~Unȣf,בi]9v: !%ф, Y],*s!l]aK}Hrci[i} rYe@Savֈ Y+[<) v V L-6:q os=nCȅdp03.&T)Y/OM+m-l45S-`n'ucn<[ tASW}ޟ;r]3%%O JdAd4>a5G7|qU6B˯Mq?ԘPq H8=ƺTOZ} Ȃ>&RԦOwo$nۯҟSu x<8ptT}'#{ɨָwK޹u/p!m\6eýNW # i[vr>'Lt{cNX0OEq-6*<DqPFv+"qOh843<*.+c5lXK)/ *L%gI9wn}Vpl&q['  /ˆ/ e@h:^l {͐n0.ʉ.#oEA %% SQeG\lrQFڙZ*x8fǒ 1!=@b 5!=_o iLϒ _ As[Zɛ\>c-~YLJh 2P=qd>Oz TƝwMIlao[p_gq)m,99C3S*D(!}W4]xwzG_mnnSP.bǬV%E|AHHPZztzo A9!L~N^Qj5պk;c nzN?/3߬M$져a|'((_ڑ۩Ђ čIj_B̉ V h't%þXޟh4 7ϧj7VJ 7Şk{Y~9?0DE8$Uf_]A3 cRυh-T oXnHr@P%KW)WDiGiQGZdFuo2b/9<極[l!6T8:( =(A jbsV#&w\IŹ(2ȾF^|꾞ě.V#H(:8g@[du'-3jx^kƠF' p84gJw9G.uvVM7CZˤ-ލm9J6S^;BkqLv63M!>Ae/vgǿCW_e_+JfyDgHXloxqjIwDwVZBneKP <ԟCO"cxPaW `k⮐P -8a;<}b-'ܫXo811}yd"Ȭݾ>iR奵/t2S+( 8ce~ǁ8V_JB!j>߭%@>E _1o_@9ݦ@i g)F$= t: U: hxsC$gbm0(O˯f̻Rf74~~:= @%VA"/T"^`nn%Rh%aL }C t¤v̂| ;x-+ԑV17܉+?9HE{%@i0~TAZ&ȞͽlPO%lMxV&$Ap [EN02dIHQBj,Z)\h D.ymo6^g๝QE}яő]4>MBsw2ىߍp ~t5L]ʺh:J!(׷3G_ocf9Iw C#C{q}źn8Bz92^:{s9(Vy% uZڪ/_AЩ7۾v孥[Ю_I\~鋙_@@cjN`%j7wIs ~_Oʹ WqpN',wuS"t[$ƝDZZ\==\Ie_dSuS~oU~q(/q8M~o p]ΒQ8M;Wѥ_YH[C_c;4b~o҈UZB+s< 9fu.au~gGGo?#-a׋Pg6TeG:,0Ql3V%IB`I_=C 傶4(tkI.ܯϣpBrYީU&> i1 _*U 3K ٲ8g݅3X)(Y9=䏿b]PD0u`+O_ǐFxΗAf~V=J.b?PLܚ> ~P88㜆J]T%G+Y \-+|.:{a㐤M|0j9WSYiC#וvze/}7,Ƃ6(*bYx^e1VX&޸JJU v>)׵^ ^lGp؅.}j v[zqj$,|P3vP'{T\ :OOc Qs@^ cz,c ʯbW?bʾ+{ϧ'5|q~F5ZTS3 d$kɆB&=F´?]_z8ݟڡfK÷_@ZY4P)7 -+mD=$_Itq"|<`4loP-N^T&/*K v3 el G(Frpb97Qjᙱ q=h1b^ִ׌c VO~]P C\l&JTF(=;hPl k,'ү?2Ă"$9P0Dne[#yX9 oA|0W|r$<-*%dNR# xWs OK#^["m˜RnҳR 5s*75cuukkۆצ֘wօ&B$fj{M ~'U<2`&(rxD:ªeH%l:\LXcZ'1DXl\2բv BLMpmeZ8OY>eL' W4/7I9`F_`WtIIZ 7LLb*F$MUSGC/gCY@nZ&¬xe  *_%Yb<7:MTV0u'#D5-\!gj5\o4V^&|͙`=yO>:iߎaBa;Dc*&\p'Cg/ xC s۹0}^O%%Y$S5Bs7!ed|\7֢1vj3X+ß`|vD9R.9YwegX/^-,nL(b7T[UOiez'W`jǖn7m埚DބeRdڳ n8ѺB؞0-J"#`%ڒP~=b0󩮥'vѾVu)Ϻx/k" ԝjJ^|2g8>A|˴9O &+J{qb-МyѲW.FPMb~N'ae__)/y Ѳ$~>6#bEOQ57]UAPu3 PĢ5_/XoOD/=Ͽ9h3H!P=iDe7]uP{?TqQ`^:rթbvl :#zK.("gv*?=LJ N !=oZVs*iUbjuHJrf9!?We``binQ4T oIwLɌ5f᎙GKGUa%Y]@",#uIHV!T/Xl]ЖiD"\^ "NTʉio 0Q z [‚#r=(TaLzDҡ;F&d ~AOEHe!ɡa0A#'6#pA :ibދk Kmԛ(0ۢnxtzsv]4!L^3tns@"ҲOc=LYm/Ak嬌c3ESw%zKO빩ĔCγ"Ai{ ێ9Ru<(<àa!sMѩH4 byi,Jx۹[&כ7M7zM[B4'i;€mg9nlƱ>,eJ|1`*gE-%YbUB=oiArt qö(+b֎s:X=MCyr6 |{͒W zt-~}bAd_X{јTSzbs N}hTn9`py ?JT4j Yڄ!yn:=7[p_&M0\!2"l+9*<$ 6%TޒHOAUhJC#H&7`(.sX@eu$ {v2U`J@>I -w'-lz&M]3 BY7zcM}B/mb٥K+W|(YDј:):{O:kͤtH| 9Sb_}8Ji4W*kxCwr2!{Kkr!]4Zjv\mۭQͮN w&!:KU-6*Fǂ~XH^韀 (Uq;|HޯA{}**XҖ"ZF!0'1?W4Jqv&dL&|7E?*8~O&˚=odb ;rI.:[}oeܩ5@w ր/_ c+⭪Z摿cÆl_D6Qƫ Na0j'q3@i̝ cA;oHfjBBU2ZąFW+QmL+kyiѮH LT&[>:8xI3+e(e)ägIV"E$DrgtkWga¸idksĒMS F@oiJ b>‹\)wV**&Jmo]O719|4l@lB8T & l5]3U䝿ϱi01M;~Û8H{2πC_&L8sYC@ %ѺŰ= ~lX)?U=ysЀ}wth/9PN^"WB-uDkOk=b \sh>L3Uv7hk*!nѲԲ`d$ "/AdG{h! 4zձ0ۯ٤V< g,O6'B٢> 1P{9,8yJƔMڼ60{X]XC\WXFŃυFH(߶Wk2u7b"i*,<@&LF{4փSkP JL^Im^XzbAk+[tC;!WO8 'KѦytM&w/yO j^('Oh oaOICOל\ .hs3(^}Dc>JV*7)sɬxDl-.悜 k@O_~ Cxt"^_Ansahs a*_^`y7i 8ڤofS<(}:Ac{#q"LjMYSfzcf5%p8bQ\VjY}I݆1v?mJݺ/q| [dKN@9D7_86-j<UCߨvX*(?e :G.AL;F`Wc.,l7׬a;֔lq@$\EskULTv\MPؙVYgqt )fnD

Custb0duƇ|PK*{\Aclu>H8D1T|!r3eS_JN/-wEFfb=8'aU(ɅsP'xQ~IiSaB1Ed@5P?4.08ר*u!߃ڞ&lnL+ݞa?gPib1^˂=S #fxEqO:EVxgGLx%y.Pz$t}T~"̉qJļ7OS2P`*6H17Waj)PkSsK;-xfSa{YX;&aкYr="h`Rlr7 Ty#>n:dDl+T$Fۂ/W&ʔU| onfZӕ}z찟&ӁE^ޝ&?*fqMbq5X(*}E•ot9~oKc/Қo;_ޯCu~m~mKCԓ~+7H“Qf+F֙_B[GjHѾrRA$ʹ`se~Lkz-jibo9:^> |:g^[;<)<''d`qhz\asG"562fqk p1V|놔[Zvzu.ζ~l_Ft4Y5$z5pk4'YW!&P=l8>9O6ͣOPO$pʵy}7R)u 8tQˈa>Ju!V5>7*T yz#yjnͿ^ˉhcNW#9#-W̝(4l\]J9T4! Qc0$oSYp;Ö0>\_*_1 A<.`oC^;lO 5k820REE'vf!yvXS-$9?ܱ7d}~HU@xr%f|=Cxt"!x+YCy<zAEu2Up#2%]_T Ȏ 98!>?*-dbE<@ R3Iî?ɇY9֭P'wS >lQfxGvᪿ 7i>͏tƂeOӇCh!θg镡6!nwU}]{!Zx>7dºLn^ğ)0Y&_^7OyE 69FmqZvهegZz 56% eoNя:sffd(Y)lp ʂN~ G+AII 7n4OۙūVbTtC-4@ ǐ\=4]qRr?8.l7dUgN)^u \C[ E\= q{+u}u@7\W9Ghk0~+!aFQm"X]/RQKL~Q&e wO5/QN@rԋze-%پ|IԘ׏;%)jQw "W/t_~wQ~)KF i|[ο3'v?(6Bͯb|g$]H5>BU> 8o(`=CQrR [*VQŅ0∃:j dts|XC(Uatmoڶ5:eb=̹=;Rlt8$`EaG8ddՕp2N:,>&@8w1qiJѧE]bRP/%5=)K5c{1![f>U*Sg >ʽk5_mۆjMKs{vpO'V?(LRaZ62jnsPIW|W-)OV:OfHVֽ6uoVB`!ḧ́~_t]>I$=6$nJ zz>6۟$U{W 1L@w2֕// Q^䑄'$ڛ6 `1B˛RJt7h3i:- Ivm#V;N}n$ qχ‰}rꑪ|fߐGd޲שˊDw+yd^D: a@+Ũ!lUZ3"}EoDM+1#TD]ig/E)T]ʸ2!/jx~T55+;j&!S2[$q̣A${VoU~ G<]yY3UlO*3` Fy¾IWu &3~chl0 C4jf #\5IX>~_]_'c \-?'K-H+=V]w`ͥ2|]_M[5omdL JO |$Q|&F`v1T❑ *BnC9jNr*ڨ| Mq(8k8Zꒌ;&4MQ+>-ԑ /# Lo,W8׷:2\YJ{HI\$}>umk،elH SMv7$FsUSQ߄[ 9s{ۙcT+ zs38skgY3uę'6ӈFS;sMQ5H-|l ˋ{?<9[۝OiiW)u6GXVjRhH4Kb (g!Ymx| ¦E<JTU7*:q_[[,Eȑ>v&J$k3 ,e9WmcR>P,R T-?FS{,vK yr A-IOҕ!W["b>\M4!혅"\1}T_mA֍ N|N!0kހ$NvİJmv;˩f 6ZZk۷YsHkrpDsؗ4X-?m|NëD-?o2Q$}wfw .(Zs '۵?|oѶJƖ~Yk ]m8Tc5 .No5vpT8С'wñWO ϳ2If2GN{MFS|p"Ս|"a^fxZ_VQ&ޓuj9˥ư)k$Ԯ|f"[hO= (;>%eٲ~nKuѕn-3$ϜO~=ie!?AzLC';8b@C5a);ZjA2Wt0_JzPۮDQ"k@W**',8L$PNoY|;#=Eg|GLn~VF 'ssq@#93P'bƕ:B<-q.(bs DeK!ʼn|Z~սestk8ϴTnkԴ)Ao 4gjN8.O* ar&8 ʏwNO&3J6xh'.z|ckڛᙉӉFn顂F4r5SG' ֦qp LKvahT..kypByyOIg,er'^PG$=`oVG*nMb+ogV% ~\di,\?^gIUCq;yo`ztr;GzYTk hyL8iE:HIkp*O3sfYVȊ!F$ Fvᇙy쎧)0v{&*`EˡU]KLDeBjӑY:89?u.DL'06Y0zVntڈ~ g0WmLX)0em'5hp,ik#[FpCP 9gK{xD`ʦ@_H5\#6^>Ph^ ܮ:&_6iH6mӒunJ]1="e~6`$5*7N׵E+2|ҭtnXmx2{/8El=Y>!]1?( I)4`dbI"h{1z_QJfJ e%5̕[T(yM}It?8zt)+Ŧ@q z$R^i'CoLAPHyK`)Pbx_[Qo}wN2T*,$׵<&:= __dLUNW$_jIJBTRߴ7RlmM8̋7W^ ^4ݽ㾏4vG= %a}h^7;qM(Eυ &=#@#Fl$af4aM)n#RFv F&pL~+lEY~A?i[逻)cOVA'_މ㌳EJNUjܵj ;}p]\_OUk$ܕJB7gec؞x#P@/c4>';6zH(BԦ\]yCٹ?SE#kV9`vNMZ䲧^ܯ#A4.b%}t^45N[H^X4BqglU`ᜇ0i<ќ} 49rogJ&Έ/4/)x6gb{չW9\tWБyq:Ca'=WTu>߼BW=`Ά)%l|7ӰQH7 U(h*|!Bd_#-tHo#YHL0Lvړ4a^,`UA+9{- 7nfwiOϡ5r ,#BECWB.s:tE琉Lu+[3oMho5/hU̸sU@oPD&kt=I0M1ړȘ,7j$M gH.N5l.^#BGs!yP@|ʞe+_,?3UhnYN%~5A e(Vf <-螗5p!fВ8ų}beb es]v7ܶ`~@ aӜW%7\8P[{pEp-bV%=ЬKErp(u->?YX%wIiS8;<%цWOy(hE<&6%nޥ䨚Wӹgb@Zv;f?Sf-{_4:#ctvN,Oۊ^gFM8--&9ة2ĹfOfl۝,?4Q*diǽcUR9rS La`2)qOUe!{^ȉj9H6sn% BZ,`6QgˠdQr0u5o ;hn*0N;zb*#vɳgEbESFKbTG:RlƎtn{9&1{CH˭'u}%ه1Ǒ37Z8ф8Y$FQOwE],T)D[|.mH޹+Q>37Fnk c0/U"@ݦ.ݮO^hʊb'Ogʐdp˖(pk1G$0zδF(sm뭹sbBLnϢa uL+9nm>6\i ]C=4E5RŶ Uaz69+srU|˘3Am)&إm*S#([ZUba>r"\Ď3YQ3&C_:vaݥFvF3i+cG.HRT*p<Ȓo!XѮw $2*G’e@vѺf"R9DUu]<'𬝼z֦Y:J\\ಎ d&3 jS|j@1O.ʬ Y/gp@iڻxUU֜IpvtB5|PiRB78 3^NޱgnEH[׃bph(M)s"d MI]gxt4'&wXAX4[~gϳ5qeټZJpp:paY( ][ o^&@.ɘܩkٺǚpmxSi{qѪȰ巆c$F"pv5۞bG܅ |uEg{ZL ˾]܅ӫ{{R1C<$6p1 [g^,,(iFX ^J z` OJ+φ IeLI kI.݁DZYQ!!vn9X'b4, Mm_Mw1#|'{$([դ-{aÀÚSin퍕jOm\M(B@ ށ(5Rҧ!5rYbLkp"Z/R i' ^YpgFٿ,:1Cab_cvn~d F }W!V=.q2!#ٚnI"~ޟNfL׭w%/@K{rj\,k;fQ59] t:Q9䜯 zV ;_5mĤGJRt;/xO{ॢI:~h=H6-eO!de^a79AmS{yTz4 ~&L\"l?s {~"Tr")HG)t= =Y~uz¼2>Py K"2Mcl`) Q . T$ֽNa @^F_*m\l%+ XD{f֦o9&SDc9Ti[L"Xlge0AQ(Y]Шa#j.H[5S`5A Q[h{U9nt4*BBMⒺQ=b!{vF|L~?o(63.7Ä|Q cgQ=e>ױYl1 tp]+}"Q2O?yQ2q&Cʐyo6Vt{}S6#]9NcEay=)테OJ${ބ}&˯p==jor&ݒgrS9XH2OpeDn]X6jNJh pnA<';þ9UJYigɧg~* |H$uin w>ӖK{>1>{P~9X_CXT IH _QUqҝю& tRzq^ YWq-X,INtcxc="O{o|2F,CZbcy@UH~o.w w/]jDU6nB}@zfG*vҰOرE<^:=,#;v7lJoxܜ 9e#&+-^CSϖX $)3L(lpI- УMyrXu ֕꣛1Ү4(V`GmG^bXHğ (* fd0egv;xy y+DeҾ\4/bjH;HKrG$ݎM]`B_7a]Amâ]jw!r:a]\v[DP-ڄhک.ї=:Urїx~A R47?qyu)1]ɭcwC"gTn ҇ 1WRؓ˘,BT,A G:Nu'ڜ9xL /LD{v0Vբj44;_լdf6Z IixNj@Lm,B2ʽkkRZEJƤ!J1olSϜo~H#^{< zxҷ|Il| xڒlQ\1&Oqy1ξzKFAG:&`_1 ǕS' @a(y6bQ?{)Jg6CHp3C0ia]SeFfjRr-z,r{gekIa\Fzi8)Bj W $m?Q&{2gtF1JlC:ʶQ)hJiFߘN2Q4 \g2-h5fnv0PN mG *0 㶢umӼ&s$^О*A׼M s-G¨W1G&u:--;`;.'85f`{:`ǜC#Nmw,i Ͷסo$8c>~{EԹ б+* fAl$wܔTS6z}3ywTX)p$]Xkk1lEw/?!&:!" D ZppCxsr.W wx4#ZUe!ݠ:!nK!IZ::h$Udux\7B ;Q'0hx(D dBK _#Ws4x$.r_e\ vްn_ pc"~mByJnT$? ej,E QH)TТ6H ߱~w߃{o\MkyFy4u&b+;&@uϷW> y8`K^34)\|+K_8sƭ2X̙ͳ ^7ѣuHU=( tL2Up7Uw7< q_h+x#-c׬ oTfX#޴ؖ#+_ xz7GB*>moT*OP-p'H! j%!7{ [shfڭ/2-[sTƄ];ZL!*{t#`L"&SmZB 4Kv>@9/(l]J%45zAcЀBb6[Jb]اcgwDJUK4^HE BQ")34 X?@ )k΀"2v3wlTz8.2j;`cfэiq[p t zEs:vUg'}5*7ds^,) yr; #qT$#&&ЉN1 xهLQ'{֗Zjy &qGޢ7a,k,iEe8V6ϚR:ϯϵB F$~>@Ox\\W^RP򗸻 K'sz 3w܇2/h' mcà`HIB[]Ͻ -EƋùzG-À:h_2wc$]vrӮ1æͬzp hBbV ;sR4@5)A`˫]ʼn:&UQ֚yt)/{ܔ+_&2>Y"L"/451/x#tQ,4x$:klDS/?IFH3ڀC]7໬#[gKaS9ض53?{6zt;Ntޮ#Xp+wc2|M[XJӌO^8v6: n;KP5ވ;u]5J E1s&8|b8Cz(RxepbwbQ0X6(@iIL[ RVZ&02 7аkczw;(;/3@7zڢo[MJF;cKڋNW=v⵻5SQ˒NCoҶA$##7ćLzZn =Ofd2AT̼px<0Rh r0Éɾvs(C=B V})/.p-5}GE+V[a6R')];-%ok㨡;]bNi6"PR s2{̸`Z٧I599Wz̆TfdF Ub-,M*Fť:+Qq?iyw|^oOҭO敒D+<I> |ږ|^rnNiA<mj6cZzބp0z"Grvۻ˝nKW('_3yo"P]i:XA45Q> LNcƛp O!6}12 l'݁i4f !nv$mgp&n LI:7.SCl/$zpnsZfPƔ<=(34chp+sCsۣ-|s9,Z~lS!i=O* ֙dW$`<^Lv/1,+uBݢ(4Rh92lv%ӊәv75\sn44AjjڳdYE2zn֍0+f1 oHTL%GO=gbC\9=VECP%w-0mJUjݾA p5R}\Lk8]fh/RPsYOƎ>ҏݔ{B1R1t3Gx J'NCխ¤_ |/uk1?zeOm!hv0C~ m7aSoz|_8Va$Ln> 郕:eW;mPz*jNr`W+7XZU}:Qe9`X 6W7GS{oX:+elu*Wu[ES1󼊞ZTVaNu>܏^U-_n敻.u@k=IIЭ_Xj]Ijw}WAuCaN4']jtO|w/[ojPh"Fvj w:q<~}&?}/knR򶪃6ZU=I+WZHեWU}\ayRtA{kV|e!%g|V >`,A*UC&'Uڕ_*zTg?E<~<ת4~ECO,OP?|>@)a6h>Q{Ws~A)zW-t|謧 G0.STA y9ϑ<)U]RF*7ej T`w]?06Vc=ãbc0#O?ϳ{EѐZI~G|߮Ӵ -We0׏S竤Z_Ot~npbazʿ_?;?2~%@tC?%]|<'wo?}w'i>5# W>Ap6p|gu罠ytY?p,iFxmSyN4<|iP?ާsrDUmU$]W> 7oҝ0L!)Rn zA=jJTOK߬* ڪ o'sWo[I)[>OL`U_4U^;ջv?oW՗:W}O߮s$S[9 %|@[߿t^dSw[}m*VUIXuPk~|oW_WC˽[BZO+'QzO+~zpm? VEO噮Gk߮>K>;Iزx go ~牠7iL$] $|ρ!߮r߀D3Os+~/I׾+O^BVcu?3BC;DQRFW+[w.o1P3^O~sys vAO?/\>Ax:> Gֳ17껻. eb}ä{/ >Ľb{=v, 7ye̙~*ȻHI໿Mp$_Q'`??Oo4?ްŗGQeLJC`/ ]Ix}Ϋ8 Z:.Y}/UOUǾp>?|npߧgz_陸xܤc?wnKWUoV o/𥖺M6^V)w*N}c;atr|gfp3E']=_XOm_Txm^l_- }r쮪ۇ~ъ~&_㻜-woiiXz0)S5n#+_/V/?}i*ՇoGT۟qi+$50zƽ"/6C{Npw]vӯq DLwjJw$Fycf5=ݭ{018$Np6x $8qV06x,LLpx8ΪGF:|>߹׾{]U{{WUb|{*jM=%[ό{V 6Ԡ`@M0#5$_~v\~!OJGG])VWCP&4]a50P6б%%6 qljV4[Q`u1aEal nGSA=/~7Ɲ6Vљ!t~:ј.R xm' +[A%7R} ɧ欉ω9:];E^8F}֙q_YAİ4n/oruvT RMu,?Hu63ؽ(>7@ͣH,"O`AuG3WEW/!4[<$J PSqI<_w ǒGwO,jK VZ`xqw̻݇^<\n[tgس/x:O2L˭&M;==6:T.A׽ů ,qO 4kbŪNMaڥ^3M(VoLl5 ߟUOeJ/4 Г9?_K^]*)Ag|0%TrgS#{ +u toym4א@n#7L|"l2"fbNPz z؆a7L' =,"bIhHe/!]c_0,lZ6ð6Fx>poq)Pp]]mrrr1"be㚫67{I~X) D?Pj+_;<(ˇeZǕB9pPlWQ!8V9됷tX6PK{WjR=/ ,] ByБa[CwڋzFOm;C{'yJ1+}#MZ.76ÃgpY(<:./G/Ө@\x߀+yTT-?LJeKge^ ~f:}J ]>|m48xuVr)4w\ wRR9 Asߝ h/llgUpJvN8le̽0³n!=QT#G3,6rL|`KG$JU+WW ]&3TVNG &za.k[PWLom:+SN! bf }:/_)^VI1rmHJ޺|Fx *n2754nvۋKdV!yU#3MG8S*f:mwLMhCW$Wجs{T \tbFw={l\y`nZ8^R=4ljO4om??`@ 3u bU:qFǬ , s{c|Bja𔵙*5QQm0@Ř`rXp>6\^v\C|ͣ_6)~]}ڥtO } /?Z騄lW>L[ޥo6,i%^~p.NsH$5gZBD|"?5VvA ۃBx * -"Dۘ@jY5\jS^K#ǣx-+)kQ\L,GWx. j (X@Y}fP%냐EJogѡL dxoKТ} Tf\"fs| FaZXXH8:ȷ͂,#]ATrm 6Dsޗ:I}BRm747:!̰S!E'5J%ƠE}=(#/>4dpwIRxo<Ōr }^Q ,Nf4ysh~x%+cU !S4dpkfC+e+Qc8%KgQZ7\m?0Xy&ѓ>VX<2CneӾt\}ݪy׫1:Dqd&Cg zyآ._J@LZN;[<#We_XMGL3S`)=,j#-izԜa B $ZCC ?bI|iђ cy1a4mV=94޹ëE /t$e fud١.F*a ã€fsdgm[PV*{IqP^Dб&኷XgO玠~ml5 |,TmK 4>0)C]p=Ό)ˌKLԙ9.$ 5, Gի 3%ճlh/xτL`#b4,fdX73qz3l5h!mjpm Ga7@ӈ[xHSQ藚:6}nzPU? $pY"N2͂A-x[o~~H#sKQ /㋹5`P9o%l2;t9ZO3#ZSfeQˍ/Qr{Bcj30NIT)7]~/ SոjohHR&0΄G@y(`93q]jd*A!|~\(F-Ǥhܘ:7'm:T(h'1 4 (+^*.IԢ `kC\zaJFhq`z0)鹪npkaZ{zj&v [KшDʥxhn ijxV83b|| lcީLF9f1ԎYl#kܧ5 '&vQͬr{DSNEcl:Nb4759-f,d=jp k~Tدc0)ڧTo!ӦD0b@RIjN.5QK(N44vdM>AJyyՐauCQf}j iӈ6LZi&i-a{}( GfVQcTdF1S)e}JH}u߉JA|fEwvL_L~:= !AXx\|}y4s" ea!7uf M{0!F)o i>IǧmGfg F@S['/YL/V ww6< Z8p=O39BY jJOZi7shL Z,ϐ׹ &doLKxm[DAխ /MWvyi n3-{*l7\ ΐLcaeG7F§f0 r!ꪤI5E$NK~-ÚdcFŨ -2G1:^ g3k(tJ_ӅIUx`KRT8Љ9֑E-N3Żm`kcJzjN[) yj")T.I ! <Ê4"gm1  |JH#jn h)Cy9^lU U|ge*`p9(d[jj`_рd9(YCqxb$u,X)DndF|y0W{&'Ȑ` Y:^[l՘)02pacԆjXCL6:-# e͒]z .k:b!Gź–E /j#J mæP #kV~RB[S^14դZ qUo8Ȱ0DmvΏ\A0<լ Kg,pإ#fSF}hX> 8E[vך*iJ* 4 [.qddCуgϛAbdC~.ƾDd!' u+Bs\PUl uVض88TDio9BORGp/6yt@s B6_{LjQEk(_=GF yFH߃ S͞'dȍ|s;O72^C4mGRqD1K-.̆ބbQ(_%cfa:BňH{`z?CGϩ1iLMC?l9_7 e7[oSF08lZ EjmPɱY:}v3TKW]v|r+-Ԕ$b5N<.+1>`\\omQ6k>|^:s!07 TYfbӃ}@[M^1WԆt0_jZ~TŏW*v1Y VhDH, ߢUYaVCU:Z=^V.—ru~k+Ua*_k4{(b_vG<1lS<"}l^Uُۮcmx;mUr4EaP!HP%nK݀.21]cc`26z-aPDxw.LM*1P~ >0kqUa5SVP0M$ejͿ+ֺb̠B[G3 FHA"C1-" vg#iO>' ze@jK+ss?l2[icoc_­ CdLηBU*ď0&Ua٠)bl; W$9z~IcimNTоvcXYCN%LZMDئQ .V/EJ6QRQr9Cx& Yba;ƛ($gmv'_( :̐YCэbpmПPieĢʏ?ۣ눚o-c9K2&Gmhmvur:a\dV%Br 8Z }k?frCǒ#CgQ.8X)+~%bIh3OVja-6MfB $vVr^7[*axࣦF4˄+.Izt(}5bIqb#gBK08FOXE}[`&BĒķiS5ܘ|Ftha/qZxl>Rp_'IϵUb:Ne"D6ׯνxF 1VONTt11111Q?FQ,'t2yO$i%R J,.'%?ƌ>_?JDTHϞ7"'O>xuJLNo@dJE}5'FoNDJG4}yfD?,q%%q/19.bz.釬1O`.= ïgRKwPw_,KɩY@~gq&YЉjv0sRYlWR,W(Z-t%db`T3m%DȽ@v>Z/ϳn,v` oa&2jB U'm{wJ Zȡ*晄1OѰuAⰟyfX7X_%ƭ +6UkaB5U2܄0@& 1M"RmsyJ}XzҘ_ţLa%1d9sr&(B.Q@&g3'e&!*H۪a\ vc8M@I]X\S"e? z]C jv j.nD:ZSZ@*?A(D"Զ=ZQZ}I F"Gb(ptjbd}s펇!,g bƲ(H988sg5AE T#@)XxC&eyh*2> g~2A X:"G1-ʕ,wWXaXbH ( Uݾ(7rfNVs ~Lk2/%s<>%17O0l[YSxL@CGӬ ymE@3v98Gg=o<#g(XBw3ʊXsmUTݓQDFΉ^RWm8g>F%-2a|FUdBR-vF{!̡$̋rfY̤S7Xuf|:K^2_zc7j% rZdC踺"Bs[qB;x[(#X("񈂪bl5P2 W/' %b/ CZob/ J ľ3UG1'{Z(/Ve \tf*~u+=GG]{#XCh62KٚmJ1f xEae~JP$9אx?M/ȹhf^N䐎%qm wM2x"ͨ fDyulBΑ/"Sr<ž&F?b )%@Ǘ8smHoGhL:D"4pxn cHǎiYkЏiO/>4j6ߐ1_K=]4Q??R㇒SRt2ciIl*q뙺Ӫiz'p-[%$wL[9:,SkEHQ9r6+ɸ\okR9p2wmsTەVqsY_Ξӌj=͛Nz'gNd3fۚ뛩۝݋j* R-ӌ0~Ck֚2V у^pL~@>vpiFsJTzUee ՜sthUl[3\{vE#-a3n-Sf.oX2uYަ=D,JȬ鹥b4v7 غ޾wE!lWعl֣lSVZfsYDǹ{uU,橕>^6X$* Jҳnm]n[ҵR-l:vIۭg2dR*RD&#KeCL!Ө}EӨiKƖcfn^V0lH`d4;񝭃Oo;;lwRd(tp'wٚWkm!}hORˆ)Yl*LQ*UΌmٶYo]GmSt|P<8,E {ѻoN;WⶃMe.'?V=iIYJKEjRTũT"d-z".j潴&Th+W3,a='vqm.^\?Ohkg7`"lr:vp\HfMB{#`ɲ{[WW݉k'ю+(}t,jvõ=]*T1I۪,UE^oߢF}U{VD{cs=Xj9z0B8eT7knYRQvPm弶#r Z[qQl.sr1oElۧγ8>F"BR換 ]F5Uko'X ~ _=>i<=;)f;(}ʇjͰHޑ$i(٘T 4QfXQĭ"渱D̤4Gի̓B`H3Դ̑Q|VoΫ*׻W}$ c {lL&KEn<ө/SxiĚ-r:~iڶ=.*{JnǵRi2S_Q͵-OsmT5RzKQb<(rkǸw}J;]b4T@ךn'Η;=Mw5SZAV[ۭ;GkyV;k1sԈgR̎֕ͬA^z׸`dhjJߪYgNWQSwPn BUVQbڎ4EFdD]5hbwS۶5&0n R$\o,yxJ6noz޺IZ붒QI5۴K~J4#δ~c"N-lw7D8B3W˧i}zS?g^8}|b|[Vi0XٿѺ{\1p>Q2T9'˫|g)Mޭ^vۺN1uCF5ݵ[ݴvm`ۢtv\җEӲL:@w_Q9d~GVaCC&D[OeMQBJrpqh18'E8Z{+/0L&aCt\n~FIqSW[5Vqlۤ~~[|̪V^ZOtpi&`E0í obI_Ϭ^Wv;;v3LeˊY=q +W{J=ȄTv tE2d5)E*d6HH\){ ݽG5"s;WCLa'l*IuRzF˪D<&RiEq+z-S8j2;$6TV5gf 5ʙqq:|]谻U9&ni-#7Zai%⸞ O/of{DkM)ֆX:D?:I\4?+ 6'C` Z<m;QMp>4UgNQ?\u63waJ'X6 vz]YގGힱn&]`x (٬iøUot] 8awb=d^V%ҩ!2餒-r`;g˛tI,628QW}bL{af( fq;n>ys~v[VudUyvo샪wevʲѱZ[cQt^ _2cut,1짚n_bg]: ^ ábF[ۯ'z@dd>y$Z6<NV|MrQ$2X u< ׏jό\w쓣;M unh WpS+twlY<ԏ\pkjqo,uok{^+4 08Z*aOFkbثUw>ܿƺJbtR%{{P,FZ#ZZu ͓}s u_wp'څURzG盧5v7Òl7S^['w2)C-_(xdgOhI̍b3q1UrFMaqCы٭뚺QD7.n2Oh\4>pD)u_۩OlWpⓛӭ{x?wͽo↍ vr/n]Eณy-܏ewpz^s]U]V@\cM/o^[ܽ]>zHo[ggvmmн9ZJ9M] ZX\L䔒WbX6%sx:H\XGSu^ghw ogb9o䍩W >UD;*njz7}J񺵗Yn]m} 1W}r U߅v?=˅fp|ߒSR"գ[nx޹NֹbX"Iƥb.qV!f Bw闾BwV hA640#tp2X;S v){Z=:)츚|Ϩ$ㅃm3!z\Hf^?=\_\RY&YeCcԮe6dJPBKI~[N"R)JSl&G_:oBf4Ld7wؓrπg@aWq^&w~*}:ʊ7gM||n&ݭ-$Gm2KfbNQd>j>$jq q[$Da '浽N2ȉjx:J䔚1EWz&)^&J%zruL[z\YSh,j۹=.7,/ơ Hwnu;ѯZGV>kftnzyھj;.wlN:U϶Mɫ"<i*]2;s.*=]]oj Xa,SqAszbވ©d2&$-'+L=5Uk*gtLXՔL:(i%6~h}0WvT"+vkoPm# e;WY}xb 1g)g)kIwKڇ%VΛ[ӽN {bP@|lw׷6d㰺ygK4fkHrwTNmvZjŌ~Ǣש2" lyxGUW֣%8æz7ex"Ȧ(d,뵚Sٺ"L"!k &Z,7kfPhay͎jm)3sn5jArtg/U\m)[Q9 ?ByO.ۊuqZpZtoPf˭g;6R֋'Mv7[-猪Xopc7V#~.6\T֙ [F.b>{tӯ-M%!a<df&ە#M%h9VLdR1)ǞFFNdW8Sٲփ~Qwx&EyjU78L2tp Zq=Qi5dRpL(F/PBt}?tw.n]vF{#{*A5-bv֑|Vޑ]Gt\ðPͰnXzFO3 !qL.e%ي ;0^\3bԱ"(eؠ-Dp4yMA,o+a ~: KGOuXܝf@H%9V7BO5CSh>aTݨ1yڝx5z0G=յ A)*;ݶ FͶm 5{,A 4'.4€8:dHY0 ;ayݧa&{:@!p{MtvEW)Қ˹nXG%!z6r۬#iZ3ԧZ>N5:IQTZL@yj7$4Zm7:v&RЪw02Gwa./p6cai7 hl:G!(?zGkkaT4>r^ԅu4O_4}'Hn[ؕ8բa@W}ҜQGBΣ3AE:+Ͼ,ͳ YjcpSinm她!⊑G[\mͬCܴ8Y&}4C~]ZUδ*a@ új%g&vse{CvMQ^Xؕ485 K}H%Tiun%ـ]ŖwRv|ŖP!@t NIL9Qky >s.!T=x_q /YjeXhD02 VKl~/|iVKA7a[w->R%K5./Hgm6<{nXlOHS$!"t{hu/WAj,2d~Ϲmփ<ɑ$sQ!oOz˲$Fc~ك#ߛ3(EJWxn??'|KJTwPA}RI9r+q|k {[|y\ >_ ~ߚ oH顿r gs ;{&v'2?9O0YyI4 f)o ோ6Sf`{ۧ~u 'g@5'z"ocg~IpgIYI5 E')~77L|7XS?=w&E@NSma : N(?; 6p!kf?5 poi_&f!?;c3Y?1WL)?2p(hSg!ZMLLNqxͳf$_؞&m]2 mS?L|,Ӣ$7Yig?)i_(Q~9 YsX8w/S"D?>M'~Jа7Gb `X&7}37p54;:{'~pf~OuW?2_ I[MI" ߜ)oP.'>)xoI?$Wߝg.`WtоOd& Ѧo<9xi@ @Wf4HSn `O/[g~4@soO|$gf3di$1 Wfji !$x{/? >) 17*?gI0ϧ~L9Fya9g&2Ik -o]*U1 _9{&'|$oL|R` ~yr@{S?005`)m^of S0 3sѼ2 38(vR73o3LMSe`b`y+f~$@n`$ߚ*n{:Fg44 MLigNY,@MqҺ'}૦|Ԁ5@f~ T|C;'idSQ9;6 @VDFh >g>3TL|'?5 OLR< ,Gi2 3"hs0=:6 !?O7 07 {KOG)N~))$2?<Ngާgi) D{o_? 2͍T6N\i@o~#T?R}N/`nNMS?9 M|M| /NI<P_nEcP~ `{ 'jzNya_O4I$))Eu,u\T]?=1 9(b7v' &J؈*bv9u33~5{vy&8iz/xRKr^ W%လ%n)O3y)=-ܳ9ydK:Ά4"-$x8(0E@ `(4^A" {~_hJ\ H4EK65Q*m`XKrJ`$ P瀳 dCJvL#\A|L8&1k@yq@ H+؉j`!Lr@${%[=+9Rr/KKs$]E()|@ h%{Fd<S"0 @x<BU#j(ִQ.Fm= %4*AD ؔ0GA,'PVoUvG%;EVd&/p/Xm1jd+|#\y?I <7/sJztLPg$W@ ۿ;Xw\7Zgo)<5w 9 0ƼIvi׋Kz W,+D+wyo\95UJ`Q~<YR/87"}ay'тd|)4D`%JU£ &z+k6FhFm2J"x/{yF"ЄK< -e$ڙ +T"x|_[hD|r";5EDc4F6/5J GeD" X%ht""%e@1#ڟ>rc@@uDSwЇKƈlx~EQ_4Fp< rwF_CmO/j6jӑDj7ƈ+i}oKr[D0'" JL{PUD)y*XLI%Dz.J&I%dЅ:v? eeFzKD`t2:x[h_W}Qf@sΨ_d%6[Hy ^Ǩ H@d_^]M%Ɇdpp`Gwߐִv[g):x,e@ O\ 4vhf*Q{NJ` $"PRjaҒ`}\Ry@a L `j_/Vtj.kxk6%PCP#  fc+oA}<]HYV4NfgֿBm}[O\@0ι%[y`$#8t4?OH灋"O`Ry(k1J*Rpڛ@Z-R_]O(Ys9gDVԅW <ϫObF82]@.r~x$n˾J4uy~OWИنM5, iM lEx; JGWu TEM_Q:55`ǫ0OU NA"xBld(㴺?A:m&:+:!mk#zj4~-j9Zfküx%9Qk̋]R-y΁ts഼kuk :Fc0H]A:\:xum5!Y 0J^RT~9.PiXHعs)O4ހ5;!xq!:xA,XdtNUvOD Zh am*)F4'Ds8GX^Ҫx+K q]5UqyNX ȩ LEAШS"*V" ՜FX7B T攈QxSyV0 bUGwhQpkPv}<4*1*4uFPl4hF:N!F5;V BsDq1N%j9CNeuKr]JT%U;G՟j|ED[hSt"x^y ,(*kxx_ 0-8&,@ߟc)B48;N5Rb tՉqZ쨮^.RUx,ԈcB}4 A}HO-IpU,x$Yau 7+2TZER1hX !ɖJY17q6J qb&2*n#i=ƕ0EMD՟@Vu9w-5'USQkujUQT5@*2AZ FnNM^QGiHp%D1̀E"-4`PBek㾼bg05_X7r2@$JI" :1 BC&ВCH7fll1@&Ft@jN\_͔}cYJU Z#7(C9pcɣ 1˰Z,T7BFۣ V?{V?Yk@ԝG UаbȠ!ipl-Q8NmpjQ\,ljЈbbQcY#x* $ӂ\i"?͋J/Am1U: R蠄v#D-ٜTJ'*;t >LFJw8k4,HDȠx1JNS}U}uZTWr\}D&Dx/B1kS'Mm[dDR 4Jk1Fx?ؤ,1qN 9(UĆ:Q8\WBTLo dRTia86&B8oEjP+C˕0bݚT3UVkJjQ-WbM9j;eGM) c˂yCUk!r|Srk$[ 9[Q{XuGyvI``18rǁ"O׃$d&wJlΥQ,Ef+NVPLV~Ws n`+X>ltI=,_XIPLMz*S./rkR~@zq&w XG3t(87˱#Y16X2[9V$=)ZDZ\M5jo@I_er^˱<XIԿvc1kmv  o_q̇cB  =9V,A%Z,HהDGى<7rY-FBYy,b(7#$$7RY@#y:g1p?uMYT[l\ȳ|Y<',YbeHY( T36v`h2y>@Gx ='x|gPy9ϳ%.o|xOx*.Y\Td+E#^#2#߽Idr^v>w,{7Ŗ6D/N~,b9"G~(sr DCd @"$ d`9[u),U*X7`9UNŎj)X]RO )Hbv$HA9dr 4+(oW`9)f+'׋(Xd۟`q VI,`Cs,ο@j*+X^ſ V$=k(=Uꁶ(X^~/U<`ǩ\zN)X-`n)XV(v@$ XI%[+d5Z%QTVZS%WFu7~J7Jd͔qVU*Yn%dGbB,~ŢÕ,|N70jc,?'NrڡL22%}C/fk,WzemRE۔(^~ܜrvnwt3ʭ;ChX\]nwO]'kT8cnEܩw4_wS_`>},aTیGX-]m+.uw|}mT <<=)ÎU/M\wNR}Ju/Uu6)޵λޚo+OO)1^7cW5_/ZpѮzݮ7hGJTП|}+dPI OyŹr}ܠ2vI:aS ';UL c|1OߪnBva߾>1u޾jt^0Wϯ}[2ٯ?eڗ\e9#| XRܩҬj]D\*Km3ԻLP/9S<߯ XnO/_0L^vMmWT˨_W|kd 0uǍ%Ŭ|TT9^toXD*1jY͵:]9=fؗ'Gh0wԼGz|?> '%#TE;nqT m_/]FA7*16'\]α<;No}ZKO8ՃlvKw+k"UwAh4Jvj!uQ#>,X૟2PcʶkӖ( "cpս:O;Cselfn=ok`v.7qiJmN^>/ݳ}DowΞ(<#Ix=]7H8C;3X -;#I_%ۗ-lU]{y,nruž7}XĥU-oIXJs4gZz/݋M_4F=&]!ioTs64{k8'9ol}ȉwu|NؚN8nqi1VOC:WT͉w0{惡_?P~9EJ;gۋO}êőMk{2m{ <+#a|۷$q;b[9ַAKsoO{סuQO)NmR* ӊjQm<,֪Ǹ#=vKW.nO({!]GӢ/?2b3o-/Yc5fXy԰G~ί%}~(wj[_=z~oڭKZX ~XZ.iB_m}u3-aKo\9+feiuVeZpq߶3'I+/Z ?C[,ev>?핥uշC+m^/V/Jbx׳iP+L7OV}~koVb~³7U'?`ҹV9G~}Y^v7/~2YvLą QA'oW,fԦSzt뼴lC_srgWZ>/dKŻl*8?&pzez1E}Nt _qۯ#/ۯָ( p徭,Ao[ ƫ^]`U)9>k͹%͡>Q.)a?n5Ξk:2S;SV  Z$ͫt֔Ӌjou&#&^l|β~Wױ ~k:-X8?}ʛ'&͝]TwJUe\Y,,ਜ=Zg/wMirҳ>}n־:*۰gֳD}g7.lzY~Ӄujf_W%#mO5Ǫ}*X:qyog OnN|t(i~~!mh&Y_~#4UcUFV[8nڲߖ?;][^ͰyMxqIO maӶxhKno-/wd+lG~~74O*q?oF IipϴԻ<2=2^[$]Ux^ú^ I9ZWWֽ~D>pRgKNWv)qGSsCni{rݼvo7PGye<:3:vuwM+6ܬy/r*^;o&Ļj6_V;Ϯٱr|'V~Xrй[(Sfoy/hm2}O볡kyc8jt6f:72Q jصܩkDOj;fKV{JԵ+]>i좒| ' ;>zvQt={VH6+-&?")$׉aG88%f# "ctzH4˓o3FmqZQOFTuVpUܜYb5D]~؀ʣN_>rECVT]VW6eNBxo~A-ZgםviCKIJB;+NoGu;=="FmirNO;LN~/n~`?xͳ*~ڢ-+v~eϤ^{P߃1A7<9CO*V}Wn8{ys 3s>}`=>CWxY 4Լz*;w p[M^߬Ϲ@෧?<75]ԆdnqdIoW*𞮽YoWo+u)/lK]_kյJj1j̪eRxvFjOh홛u6×V8hZjNZ2[[o:Una Ncq}󝵺eݧ~8<93]}UTcKĀ O毩>n=nRh&.~z zsyozcpwf/P <ҽ$IOTKЫu * i4{Ѹz ^ivS;徜P,mՠ-yݭ:;>ƪ5azJ0lz;m9fŷ}y]u>qjeEOw]Eϝ_Ӟ}>bf*ᷢCsPvtr+5=\`3{1VfW7p:j8ͫS7zMG]ń*aqE2N_{ݰ^n^=YanYS.']Gs/*hrߙloutFb]H=j7eДCbۀz`v;{bǢy;(cGjBCoQϔքw\syov2d]?0@c]o)]z[47?RK뛌<97lrcg|8)l˭<:k\_Rw[>uc8hfF뫾~_6_EK` Þ]%ƪS!{ W(R܇dz@gU1kAK'}[ʲ\/*ƪѨ/OT >ixs.o^ȱ C߽3="ι|cV*jԷO81/~O1VGU_\R9VGLp\9Ye'\Ws>Ԡr_-? [u(+ÂώEΟ,ykc շtVXCu/536QE6O;"#ccaH^x聟}nD#2=sVt,|1 9xk V3;c8%ե-zV*gcsze5^ܔk>FQ&W<]Է=]e&dkyjbmrdX^յ*盬ofHЏ?ymCˬB+_!.G*(|O3`s΄+-q6öq5==?~mh׫n΂Vmޞ>brꄾ-w{Mm6zfY6PmpnNV[z4q^_|GިYM/_OTuɩ:}~;vgu4˹Y'މTW|_Tγt^ο{ p>k%۝ETFGhf]{v+sC2S5-KŧFy{NcuKN ՗-NJ"cY5Y1oz8߱̇{ U' v)pϱ*?.+QXXŒi.2UV9UkM[Y~ S>83+_eE>]5ҹV _1ԚW,l Wc|/O(TbϼU$Hƌ|yQmkx=)eD۵ ?bLg\rl멚bix(cF' YCq[0[, -?,&rb/_%mY';ư~ S3"މ-]R$y1xcWsgt*2;dp#vO##; IZ] ;~q~ ~3޵]$a|_Ԃ nՐKñ/g:rno-2ɴ54Ϗ4O . Lpj.&D;eכMH&ܙ֕F"&C_}z|bFKk3xlT~稾퓬9:,k=c-/-X6|'*]B;efDB3.;zDێcly.E;HF}46O6[J{ӈR~x"y*/$&.Mn-Nr_>ܾ5/?K~dNSD%'e="J_Ckoۊ+c->b?˳O#7\VJps=Gnl\G'6djBmmܼd16AfjDNRWd[|i .DI!4YNguzY>gtA!첅 (˅3~@j<]"1Iķ[*LGtX5`p'}/udsgKʆ*RDڕ`xK4zQ sK3:w$KbQya;V0x| %x!ɻCBPo"%|w~ y~A狒veG|lqNNrDCdw7Շ;XٮiLKd!u.Mtጬ''>oi7;*3x2ٹn~dEMvͮr ^.I١O[~ǝ@?"$kSOZ1AB>ze{!^9w)a_Mogڿ6[WXaC|onS<|,H|&'k/$e>֋b$w7!;jg'>%?L'ԾGD'*+>LQ3ƒ'e$zeoS:,uoa_/ 5[U:_"5>^taxR`u ?WY#0׋=xQrqYOhD13=8Jc&6;j/`pXD|?7?Yƕо$#jb) *i6*XZ3E D''_5g> wGٞfpNN$-1go꧵6T'>4/ŧ(T.=_d17"1}_"yJ/a|w:t!|NP7=]}׉ .,ϦxH>N#(--sdoLJĭMt~BvV=3;kr1:X{95Ж^C$*/5%=$T!ᡙ07cLftwѸLh0"dM=MNd*__}Mږ'>J~)O'9nKKLtw:~u&3N|Et&9@W<7rI43?<<, >Ғ7r(A,'lgN&?:ٗ.9D'~t\3x2ceN[i\mK٨4ғK;.=[zO+7Y_u=6mOy2%y:.\a&5Ww)Ϳ:1H~s<[W9$ 鬟yN;Ly7Gҟ`D~mH3 G }ڗ6'w!yZLhC~KfzH`Ch?oѹnz&}ƕ6gN 9~-#kM'i>O&GMj[_3&~B>'$e?O_by2'y2 Ux|]EO"BIDWd]">k;n$x3sȏQ̏1„MC/]Kx6Ŕ׭C?<4>U\^pWIU5s=2̯XDbsUu a .S$ћ'Zy7lwA7="}FޗϤ'\3!Z.ﲪIb&ye;+ -L?G3] ?j"QgTލ#݃GrL%+OgO[I;ݴAX'A':f~o>vRK:AHDKeb6K[Ȏd ion&zhBKsuubJWS o2ڤd/b)}zѸeacz8q`/}(?ܯυooYmփ⧏Γ#$Z іf/zF{W/*ݦu0ۓ?MM4= ~_ KH"Tk^n$>riO Qr?`/zO bJkNΘo}~&;@dYst.~6=_.s}&ɑdo{Ou7y3ć~.zgB~JC|Plj_"~ }lIl;w_=$5g ~]| oS~5G]E<ߠ';hd~RT[}DW4*4_5<0~bGv'{^)_g! 2@d6n]#%P30bC%Sbw e>G@Os3v'g.$Da.+o/l?GFXx\O'tl6R>&ё.ggYSu] ҾN2%1')d ɯ~K]}ZH1oѸ[rO(ov)\S,KOc[g!6,\7_;gPDl܂B^?Ic;SǁA^~>gCn2Oۚ /0[2ߗ:K2 IAMNzt x<ٹ/DٞKl7ObId udzզy>H[$鱅ԿC[S{: t.z"g/" Hٵi9ϰW@{tӒ^4]ڟ_(oZJZ>LOL畈$i/6?GmInƙVtKi]!\sH|ܟ侅_@rrS= s˙UweE94xՃrd]#yl]]p6fY~)M䓈XrC$x?Rs›_)dS{3!W[ ގKO~QuImk'94_qqvrY\x#%ȡ"c(@~w $8U)'ėq`#q_.ܞň޸*gZcn26"[~G@_'2;ZʗA/Y $:IuIr}V Cd>츓_tUYٸ@t))KZZFq ɦPJ1>Q^U=N~83@8ŷM翅&y VkЯ:8/D{?ꖩO璘ؿ X:3Ią_[."> x /m@OH-@^^!6d3_X;rslGUF ae+{ć4QAhG`G]hAkOoܿw('yy?_zB}xrGQ/LB='*,C_ׅ?1ۻ=D@{u-7*B>v'>}+ wA6k!_' 8oͼ߄qBcW!n/丠AWggTЋΑs+e;k!ky=b> Du=ϱr?C.BhLY^4Ak؃:ogx; <{n@^ ;3yd@^)_=Y zB)>0Qgked{Wp1>GSnzqbO(qb`|(܎uG!90#vb Y zK~=b wgql_$tuWD:xy};!h/ Ĺ./(nNK0A~<3?Y|x=z]^?z k@W 9~O80#;[?.%5<y|Rȑ`_Bgs5^q ?зCG34!waO+A~W^}/G,ȣ''gaoq/ՏؕxKYwԊyr?BOëB>WاŸ?z71_v#~R=7d߀8ω`OzV< i ~j7F5`:E7r"w(|>u,e?{OP9a2#NwFyuݿxw0?b9?˯J^xT?3?yzڿ~8pbycۤ{e{W/BQ |=qDI7|o?s.@w P9|}fycz.xl=_Y$Ƹ<_K ,޻˒O?3M^?Ik'C/l =yX?U[o }$Bk^ />+u?!gCWo ~2ۄ}_ Eu// iߋ8 9B}/1I9>v,y).8j(^A\X ~"# 뭂oOǾe; }ٺ¿1Jj=߀lr DcQڹGȅgy"^L_nknnl{/Nʖy ?I%|7Rs5ιւ^~#@op~x{-99<_B>p.6D]7بdad[)1K9}^=jO?-99,|x9?(K#1O0HO*e W\Gz`>x >FU.He 㽝b_F~=q#oO+Ž ^J/ v7Szk 6w!>w>j8~x1\ {JglzT ?9AP2~zz3j&.ދyT.Ke}52 "Iz<ٟ[S-W>g¿}l?gs~z~Lz_Gg[~,D3/Cا=& Yw`V?_*@e]Z~]l3%YKs6ɝQ㈖Ï7~y_{^vG<(g'< =aYΞq|RBOEۑjNTqwOt8Nÿ <,xMw)?Kq/NE\8WāG8(qwUM~6\|y+%y;3 wy_~ͅRIE{.& AA| ws8UiJ{J  =Vq;0AEAe. 3c3Ѡ)y8zYZ'y?z[A |8a3R' sk1~)NIʹ!N @=?ؓO<=YaY:x(Q ;Y@;W#Ǣ=oƱ?ge?.ˑכ|WGz?9E<8*Ww4Aޝ .=~u<^w?Aceb_y]$uාaKx}1b=Sݿ)\|%|Hĉ텼._}˧?76~RC~F7]<~~5^Y'<x ?Rcoyoľ-CRdy- ^|>^9/ / yrJS0*o3VQ?".>rȾaߺrՐ;Edf\bW`^\9g`]e}( A~;^ϝ̗?G=gcs*O8Ux uo7_X?|QY麑,r!ykr"_e" |X U]s30>s?w~ٞ휻x+xXT+zj-!j<º{z{qe>y6FQH硐?}I1qΆد1ݟW#swoOQW6/7Վy_ x!N{1UOtAccߜz'/x }x_O|MsmxYnyz> Y#2W_sx@Õ{깩I;RϥoEg{`q ًvm@BKzп| xΛR૧ P𽹊T>2"!;jY~C8ve3wt<~ʺ៟ 0.W`?So9o8M=u{H7va}:.=紑򸼈O~n[A%x׍N m*-x?Kϯ []Ox݄נ~?=Y}uqy*#A}'TrAws6?.g_Dr.'(yΆi9u X;犈+ycy,Ƹ*{3awZ_oo= U圐O1_ùŸ̕i3x`޸Xx xSoǼ>cgB`SK'X7٢}7Jnz% }f)쵕 o|Hާ$bx{R9ǩWqûye@?_q|`G=C oY9v IЃз?|\R-%ß"o*qo(5.<7@=*;tܕ2=?V s!Dž]\x7c;L=K/].os؄t4qYϿx?v;7*rԷ] ;}|.:T¿1&}*g-پ(iCe|7V*zYG,`/jT?[X6Fw`=gan< O7 /20!9PK*o4ןPs8g\U9d<_!>~f&E/-?_{a͂⏺rJ9s2Vu+U< }Uj. O!^?9B;~g0Onk)E0K y]Ѕ?>ˋߋg^>WuL qSKd?vW%E cܵ߫RΫ{<9TS~A|| z!M>ba> 7 =s-U։fAϙ=EqC_*V~`lj^4^Yυ> }qb\e}z:ۅW||OBG? Lu_| ,[jx08c`_ܡ|r%PN <؇"N4r%oosBSB+{z_WtCS1ȣV#q.m&v+])xn&Ys9?oW3u|wyG@?d? =!x'/0܎sPO+"nsz+~qE8Uݟ^*_!^ȳe> 8U?<8o,V/^ ` y,nVȅ35gCG |~}{!n|׀/ېQw vKB]ʺ''8 3*qPsC\{?Q[,&'gtٟva9GWr| sPW=j:W]Пu~TN|2 x{t,>Ǻuoxx _)*&ωdd|$ǜqW'~݀x:ZuvʩyE#//|wbG| =M!)ZEyrs&/Z 9u?wjĹ%19c߫W>(}琜="~Ї/9asoX#V/#ƳY?@rO .]`iշ#ʾ }rF} yסISl{[S7{{PTp>|ů˕> 92O^s?-w^wS7߉e/cwSC_DE|P \ĽĹ:*?< 2"~;@KeTPοz:/s.&>[ЗYr\J|m3䤳x/5v̋$Go"~8:\?5B^o(֧}+"Bo|@[Cmr'Îxc)oh}ʹ!A{C_W{,'=(旁Pχ>F_xVAڄx|7-ؿj\JQ?a _^ ^N8[ca-߳yZ9JǛd+\ۊs }8$DNq+5D|ݹIԳtѼ<3r#;_xAq.٠3Be;b*vD-e_~sq>,yx03\BG:*oA }[kB<ʹUo_nia3Uw㲟9vGrp4)T=6|t>eލП2!Wϰ~RO$`]L=N ewl 8߁<Q:=?^~4u?mσJ埻7>vo?nLȑa اS'pN,7: "G|i| rg5>OPyk z>)tG= #o=2x ?>zq8͝=bH KëEGc`}7d y=q6Y<{ZdrG灿W=` kڳ<;oE;_i^ *O/8>S8x "߃vwl~_cry|ømi[:I^/|t|%mJ,;Q_=?*<_ȝG9o|k%x=_\͏8O.V| >6 CЯ?5%>lK/Z1 OTtky|o>t۳_/@Ka ~z=G$ЫO.ޓgע8aDR~/A熂'W'x 9$/?bIyԗBoQS ]=k!ɝ·={YW(ҽX}V.}!&3Gy?zڅ'W/Cȅ\/{'w4)r2Op1݉|W{u׾{1uc0/w_>dyʔVǡeŲ}Z @G>ATs+jBz.mw;')$TZ cF|UChviz1|a$Qgp,ӾHXN1^kׅ}G3MW`G= CE2ƒ pFX;vRu[wl뫲7 ļwUڎщ AӴު` {tVRXd"^k;$;Ѡ^bA?#Q7%9)@ t PKwbV8# nY7fox1;rn;(c'3 K`cm'!!iF|qc[aʺhaI 1y$>/by*qYxX+Y+@7<% 6X칖C;IJ\D7 ~EdQ$>)~' >΢$>6~ k_0 __L⋄od?5/a?+r#5ЈLm:3~PƯ/t`8rCA 1!; q c#u*iN O8jE|:[dDg22!KJ>.x,w"1غS=nEuO}MY6 v"fFN$f8"R^^} 7\ ;`,`` 0K1XF+RV0̟e)}QOg0b07C/IЮd ѳ]dD?kz;XÚ.!&xςv NЮ} ][kxvMm/xU9dЮ( 2N5,#P3YU5NSxz鍀N^k|vMT:cy6GMg96hv3)bf@(/7#Z D ZĠ"8ƒq7V<0 YI V\7PwtӤjݲh'Y7x<=\"aDH #fy v y0<*$ RI{-=\M1^ba[g [,9Xα(PaPu h)Ax+h_,oЦMڶn9]^37UyZF+Z&_x{F0d:@^qcI4bk=_M$2gH5LcEbaM 2^I֧GSWFL::GJ wśbQy>Y&F(7@52 iKjp2b9E0#5p"U$d|I/ݡWM/vOu?zC"QK$?MVe*C~E=Ǵ񛞠[^GD+Y`6]fL ~36"oұ%~Ӯ _-i1~Ă~E^= SgkIẖIjdbͪ%.ϧ61#F;lfx+L1#^:@;k7mݸ6q|ݡ8q|v:~9R7Mbpغcx0Bt0Sa\ҽ!bh!1(iUѩH}!MҠ k-kKT4$KŢ' 9F4՜Gz7ҶB7Gx-_'jbƋ櫴"uy{,o8=1M3ERNd(tx'cŕ6"Í8Aj\kU^c2GB~̨Hʥ3^?5h_eb խʌ0m=~vH eu&u /cN;BXe aƉx*a{=unɝ: VG(c8$JqK C\)w"tyCՙju,͍E/ퟥW-= ]aU[),`1@1XXԦʈ0"u' "[:Zaiͳ5(e?bP?ˤ?7l:ŭ^심W- ە^K'Օp %!;j}:yK̀2vbS&PMRstʴPZ83S S3GET"1k:Ybᐗc [ST2gGìފkS0x(&a}p%I¢z9Pzjf5!=Dk 5pZG9pkxb6h8bQHG,odXK2MČ*,$>= FCE?K_4iw FjxhABcc;1&c j g#5D$:^-H¤wk+XK01د8cZ+q4Mnm RWdä.Ln .lzF@o(8b C\=txXq&WNq5Dd#9a~ ?KP,y:jݦSFo2)%H Pz`1`دS*47!~KB r/2fX\Yf v0ظIdu4NJ}`D #H/" ˘>Iƚ7lm4:[Ůa9!;`#bUE:<Gu6qꘌYv<ұ(aEj/SI9oecEu4IemO BEN0LYb$XLȰd4b[^+@BGN$J *TAC&׍#QcF̴'6ٛV0bQj`:Sx 6EZ# ۱ 0:PJm9`_wmrZLI%^x`+^;fݵfB:PZcsᅏ) Xްu_:XQS\f0L̡3egƮ$vWEH8LeIipՈJN 0RjΦךҜ%(7ku:Ov7T)p"QL#~FbWd] ` ~~t*uu"aA2Di8 4֊M)y~`iŸQDOcN RuyI< u ͍Q^)zРղfd0;cQ4ҍ(,tፙ!ʭ#6Uk׻g#fwxG}Ԯj(a!b)yg`@E: ^O]DpyWfPT0mU$`,=4!KpH0l0`LsL(u# =^o6GhlaH`z3|Y ;Eͼt2.~RɝKH%iRɥ Aܘ_U=W(x*uZ'1p;4AU*s%UAӌH0EHR"2yKAuʈɼ@.VjƢgizf D,Aޘ*Mp&mѶ`aS=0˃Y;v0yea.% 1j *|%%_=ϸx}F2 0sWh"7V!&/kH-_CBUFЈ"*2lqUV P5x"պP6eڏ2ÌٕfA X*:s I}F[޴HӚ<"f|@1+2QH>iSzm=47?#OY 5$N[\)F)SɨC5jj~p(ظd z8KرzU(* TZ%<_bqq,_WFA;0c>o.;G7."OrͼcMoᯠ#P-ʀfikkflQ 2U5rQCXefٚ|Ti-AL YUQ~m9|XmzQdNE]qδz3)ZLgv3:H!va1ְ2uX>Y JaK:՗Uc{ģ5F)^'?&1̶! yk64i4i4%a-sSHJ? >"+Vn2nǤye_L\c"!.w4U EI/#zm &݊l=%,[^,F^9Ar"_Mڟצ w`/c&<+Vy~øXUQp|ʰOl, 4٫SvC&Gݩ渰eiea mgQ62Pl+u+͌nfZG{oJRO,l/m|2O"Vĉ"QGHEv|#[VV}W=; LyH/i'ZkF:C ByˋNĬ`Q>R7: J.}q*-8:e9x1X/ s'|kMП el "plFu_zP| 3VzJQT VH%:Eb4%%ߴ^-Gl ++8K7 l0ɢleS PțBoYufgx(̸uq"9xߨn#+$LGO33  N#;   .D%Qdw׌|]yDr(鱜UNcٚ#q/QRlmz'ӐmMe0 (&9V('X {z& ubXHt4-_5hOq_KAʄQF.4/vFE1b%BwMƦwF( 7)$إ.ChpU>\w)Hkz':dwh+bz1zNm6m+|B1Y;~gQvd°*A7O(;x4(eG7(uG(QĔ |: |6 )J mV>^/|ܭ>]GT^V? ܇+px@Љ zPUbUwOx^H?x_h>l?aj ?'IV  |7(W*uGx; )!8WbbQЃ >-Љ/A(͏~x)ʓːWW3/P>LWޮOxuq>x_=rĒᭀ[G_֣~(<ԯw+]6G ^vpGc0?¯یoq#f΀ G:=Q+gԳ,aF=@ƧVeΨg] x{<_33Ofggwzeʨg6ไpF=7dWfGF3gk3g[ s/GRKm$NͩT*5|e:CT3lf3ij4O5'XdqT*Q?x>!+IQsrߌywh/ K%ZẞD+&ПӟDVXX+SF}=Ҭک=:lvcYhD+]n~F\RmjFdo.l"D[ޘۣGD;D+^+h}6j|dwZ'Skk3?Fvۧh3-fYQڢ:(5}0^j{sIM-~MhޠVD+ -,Up\RsrVE6j?ofG5kc^-:%krxcn^+;Gk66V~zC۵G;s;mKvR}}mjLj3?7g|J[4xMVY+ʻz=ZGm?oiճ[zo{d6ף 4]zy%}&^:J5wJJQؓK?BOP}YGew>6vΗ}K:w1$ yE.ѭ4"63-0¤tkۻZnmNg?ןW^ѭwvk bJNRKmtjZ|Iyg͡ιR~\ҙʆ|N?~;LW^*0]Չ[\%Z;LV'x~YÍmHJ,ok6nڑLiHRmهĊĖ#ćC͉-՛sCBsnBxkOGkOķ6ohO|زwEa\B;Fnl%O6}aPo(ehHj!CȆD3mՃU^]]+ !] jc0%U\b˦Κ:L2*0]hJ,ZvCdžD[i?(Ӷ?~e,N@)?-hJq-!~>14qk|5F 6oHd?x~\ Ufs$6w%$ڊ7mߐXfeiP:]p/9R !]='VwKm57v&rj7咯VD_NiXC$.;$;32i+Zsj k펫Sw;t?uHOOX?`yageg;~}~ǑLOu<hߢTS㇊g͸ڽ`BBHiH^Ic q EDĕ=qJ;^ʟ8& M4M6T&%W6ݘ;@KM*j)ѕ%.GWLj+K\TKtM qŧ;٥hA4Ʀ6~>[7(&x7 ͵T-jN.&%xk֬SYWaitg9+?LK_2gLq1rwckٙV_;:98)kq幛n|*+t}nŕ\4(ߚMb1wcʧIzM6A٤4.M 8'ũ1}ROl5X(&]'cHZu"˽5#tcgd-jv7t&/i$]Z|}_^b!)brJ@zjH'-BVtR?P?X??nH HqˁO-󓧞M܍9Y|(U4}Vc9X[ Yn"dJC*[hӉG 1+!B3 ~3)o?8P+d` wC{:vq;sn,G7挦f펪T*5eMC6/ 'Y⑅쑾eٛ#Sm˚${,\֘d˚>!xRms7tĮb8>}t1⬴vGáT*~悢eIE{~KvrfQHAMvky$=!\㎷gR wSK˚Ԫ;U4訁٤4- w%M'ߗ+on<ՋH5Ҳ|otqVmis-ZoݝH+'3_<>ԔM&kXi٤}bCݍxw^QLYh]}ܛ&K]} Li|[i?]SMow\yIh+(Uߟ Q=54SIICsl`PTM.mX=S!8VNdGC2 tvJJ逝ʪ^>fOYqlp48y|ic0w|Ԧ)ō#zxIEwM.lh}mLZ\N*UZ~ߗ_[#6Fg;Ë3jVjr9];ǸweO_4oR} E=R+I:@%o%Mפ%+K\W_Md**#nqMw$wSkRUnv1al@l}bgOK www. blRE{;_u [5ڕZ2دuy | Uk/]xit8$e3rS@~^ 9NUԯI;2Lq㛒7CIƢU/slQET8Pܻ/_nhiX-hsmp7VFߥjN=asLP^Ҧ[ R%ݻWg64;.w$ykw_Rߖ*6Trs/)juĭZI1T:\ϧATVJ /9.`d[7%.oHw7M#Z6qtwDsa)1{崆fgriMkX(Z=qi E{uLv>r/8DNl;^3KNgܩfD*7cϻ&H.s4N.MVL);5ՔL-mpy)':g2ZC*vy&}ur`*EbnQsg8ic]ũ:`hqdh8%ݷ5ݷ5Տ\0?{|ׯ#I#ЎE)EK\/K'wp7Or5k'-S`*Ŕ3ڞ:~0avMfN4/2wlBn]:*iKMl@zz40ywk%+ֳFL(s6\oڈwmֹN_Gr(3Q"&э?ӧ1m/ ;n?ZïRTW;9\VXϯ_rׯp #CvҦ|:Sa|yfIc$hgoʧwjlbv~u|Cm6*Kݩ>r9h}I{v0jhv/_^Mơ8U+ٝT ΀}}bW/H]u9 *{4N[Y*cwYK^\ʙ0,)̏\ƾV + V,t ^cv! +4aJaAwǩ񵥾nXwjY+.1d*EnhvǗ;ǧ繛j6X47%]}:hr~$]J'\H9Ef74NK6R89J% !;BRb+R]) ;crD0ѦwX_GNWd bæ6:^]L*pk(M ֗TۨBS۠0tMO/)mkcKr4}@o\>n*/ihR)t|3Z6nyT-;ovtsZ:QyG nA![skbS/?}KT_BߖZ r?wW[n<)`&[KHV^*`y76`9k@&Z Xen,uW^[|荡}^*3kQ$y ZxkKĦҾ;i*/2$-[زx+;^KTEzh[lgf:>}X~VwKrXϱAl ݛ,z}w,E'۳f G. uk9~K.?K\,=dv_ף<ߣ)qib.6:c~A8׼lmi55th–m\Rj:Fբ]jwashh#shxCYƥR-9՟WWjhX)ڔr WI9?\'YbtCuLbubsb5 aVԐICHǖGkjλIOgY뼎[\:gd0\QЭ^ޭYӭ ,T?p:⿼K9Z=,[& 3x>->[<9@4 nYdz2ׅZ6Enla7S(h״tk9{|գ][+_ѣ ݭ]v,ɺ߰2 gBmvkD6|8kf}RJ;3g{m)[dܬPJF'o53Wuk[9+(j3=?뻵ռ3ѭ^ӭ]Vؚ,xΣ.#|:\oUɩ5~I糛{/{9k٪.k > izf˗kz\GRhte'{( ¶m΀1+٪3ٵ|uVǭVa|;5==ϺðA;y,MtYmh(A'^c(gGAîg0kgΚسG5f͌g>kh`-lfðDƶ[ho%vfD32JꎑgrI?lH1•HZy5W$tXĚ-SשoK\CkȦ ] uOzVo1?5ulhGbMb}[6@,>sIb0Q _.F6RU#5%=eڬKܗ&?&n>΍ݔ1bT*5G'J_=<&{n"ds/vB7ɖ T|PҔzSYkG9i;vfI#9}ʕR !(%w?M>6w4: ]4_=:ƥ<-yҼοdQ\>/ }5˘zKS~W~D{Y Z%Y]OCXkmڬnmN_;{|V:pyg?:b+cӵZv.>ڟ~ݱcy}ghgh`o(oK>Nk%ahVs <lJ'RO[`?Mie2鎔vGYűBO8?=Ԅ](Lf&z$ڸvn4@ F .EWXřHbg$E۫/]սxY׍3@#$ II$x}#1Ԙ@ڛ@jbGjbSéljIQA1l#"IC,T"."A/?6SB@ĸo!LfW׏vG$DÝ"Dp$:M1NQG~($12q.kosg cLYICޗNBf0B=U'QRFsGG_h9$.(J:gSmy&7{Og-nO"׆vV1]D+Gjbhݫ 7 T(Q%8=(;OӰ8/u7* fA=m.faqs cwօ'l)lnvQ -_`~&>d _ PIƺL-op9i3hڗ GaȮ /p?t"L"@;iަ]awV+FP"【'59E'qrĕI:IeS;L蠅⍉=Qa lI6Z=?sAM9GOxޘ{G߾qKNޗ]s(z sDWW^1RUD]e_4/+H侠|] a3爈?}031&i\Z'u ˢˢIOJQq\&x~oxFDBit*ܹԈ؄pcQs!7te-zmh,2L%S_3OR?ֲ+2!CoVJڙ0S*`F/+qLπ]Ȟ Nc FMfP=8 Yæj#Idb3#>x>2QF"^ ~\lF wN\rK2RÓ|0`j\"Qר }'Ge9SڣB[=أA?8ʀL[`:QeFXqע 2bSBO8_?V(3٤O$Ѻ}cD4%Z0lx٪ _zZ;#&BnÝZ4=5^Mۭ_NeV$c!_#N1@w.1t),mzH5 HT3މUFܪOޭb>[6unֵb\>%-'"ӱ q̪>Jj(*+9r(ݚO9MeWu:bI5ш3 h}M/ib䫡1a4˳$opn3GMzMku!ą$_?#o7TógRojfbЕkfltTU1`0O&r1~UuW6DX`y8!*e;)@΅ lIɛ3*OdSL=]T}#ޣA ǮycWi`YDuMe[ r} Ll7[0Q}պH8Vv$lOLx|?ź2 葍}[fzJs.qW~;ПlehUS˒bׇsX?!Gr/n-Ի:Kk.v`NI3M㌰ZoNbs[5R2, F{*t>ىMZz]4 f]Oaju-Н {`7.lϤ0ps\ M# :%5zчB"55ľn[f0лamdS }qNcMc]Bhb@k؉KO$fж|eq77`?bj,c`ca :pj &dzgDw,pj UDŮ>N@Xj0THdZr6fTxgE&KvH(WMw4ZM*ŔQg fkv}Ww#y6ndox"-.B7G VG `W٦)v|m7{$6!)bC ".vu 8׶7vodF"c6Y]Ů;3R\QC6bԇG6ňsýAb7qc#nvH$[S"d;+2ȋlY 3Y>D>N68yn@;giGꬺ8G'Y5;05Nw4 08]3F8v&u1` (`P_uމT17q NT1Ƨ l^bqD*ʦ.\F{Nf=\K{ :xP|vyfہܗ?C\o7Av4W {I3т.<b=h},}p@ &}0Ho&G1^/][j&ABwFc*&{܇Y5\-xT v} J闲-Dzod`4< }Pq@~Ne0s, P Bˁ זS2"ʧQkȳv i|jV߹/1jDvǕzǩ?8Y qýav@.>GdDD6qg tf V-G};: J@ ջٲFMOR]pyh`ќg-[d)y0Ge$RU*_,XY*BYsMHC IڠȖ5 <7 g|VJK?!ǃhx%iD<l]ZC;paf`9|!rR!:Y@'!I縝rWvoDG9ܐR5S#.fBC9B9 YZy:Fz~1ILxf5.7.̝u.復[?^&vP E;-0{`U>fA@MH[Qd,{݃1ҒM5qLps!_q jI]c+te.]blQBv1l;]@܅1Z*:kKY(%V:o6sIԡuHZe1P-6o/@Tbl,)T P蟽i%\.2@8#| "58{ecUB1hVV4%.0id /dwm%BY_80sp U.C }CsJ<%Թ]2 }Qv}uHW\sͶB92|%V(d,g a,*ZN[$u|y1beT,kbM"FP$4Kb;@UϠ"rEhn݋P4©G:<`O˄$ԮOzсolMdWmm黭P*rU[s.Pf:bs;Qys hm1[LYed@3 LJ2Av-+\aG"m iEŇj\cgҹB*ξ+KtfcI}#{ߍt^+y qX^o~K`c:~B :QJp3v[7ARR B' [ ]V`vPU%);1Zн67wn?7ўpX>=d*C=c5 u@u7tA*ƲG}:V߰}]QEq @9tWXoZ|-}¤e7 N5Γgr N;]yMa\ae\X8Y](㬝ԥ2PhQQ?*匱ר6=o<0vo!iS`'*51) ,Xppj$~Uϱ[30ڬj6.Q6$8n Իy*)K"Y G0G)X4.eyX-c>7JoNa":_rزx m3ui'Pvy<"jA"j%i`1z {Gh`%DGV8Ѡ#pDb8)+@EtҍZwFYe9dLnqr;+ J̰[< (2a\?p &CV :>ĐZPP5Tqi!g @ynsEZq;bZh\rA37|f!:c'净Ukg8J4s wќ7͑nS|?FIg =r*(q_a-0 6 cZ(V/Y(/ƽwvXG]y011@WB)|y,_IvZ4T% PJ&@F132KIq  p;H!&QC"%^2շǍq"Z b']yuDa=2$%{P?h)ʧqŧSW)ಊgDd|ucllVg[YK3ItB#sFY6\5PlGύt'iKVP$~w|\rz YHr7!r4ͥ"q:uU>≘R]ȝ ]/HBn띥njUpM G:&ej3Wܹfu8oŇHaJږJ^!GRg~VBPZt+A6dcE]O18.$ԇ0/ho~BơdŦpA}CQI2q ÖISbhg\ZYÖO!)L ,a!(Kj %Vrd-G 肈΋5 ʭdTH9!G̰ZEVժ쨁9k)&2nѲ!0U0|}J _/2WOEx9հR*. (WԂ@BRZG^?AB=rGa>Q]5=n ӪrGDhK#Ʋrbh䶅6J$x~fRi@ Q!yo~T@8Zfl}pR%J-;*JV}7'Xcز8rEq|G Ac'/UIr+rd/,`AxF{* ,BTPW;Х_P7G]b1LH][ݒy'Wz}"Cs˞ßۛs1t.]I }kҝ \t];~ KJf>tdtAJX䠑%ג*$.wT/P2{W1NWI>ʗ\Ob,.?qAoLw4 2^;EmsHhYADWIg'ceV>ZNH5ۉ6\)B+g4Z@'Tr8WCط?c)'ek4tL^Sb)MiĻhs_\!.~/8tMXfl9/I 0.-D7lll_ Eaϟ"voԄԪ[I]Ȗ1lv--+Ȅ;}l㱀*4=V.\;%&q5$s(WYYw܊E49on+(]XhRr0ftg9T-z@OF/g)$وT-tNc38K7k1%ތLWC~q松q4N3'+g}'jXXHt5_KdĻ^$N&Z"12_3YʖVZP:8Ak+;-C-ɂM`:Ѱv٢Q~D2=Jnlpo :%E"qϠusJn{(I)߃q{iJ~&uKJ.G:VqFh@@ZmV7Cv8F|"EJxm%:\aePk)"1uS/2]èӝrTM N7%[tix$#Q+:zm8Etx%{NdPK0PvOPv@Ӕ%pLL;jGo<>DK|K.X^x{y+&63i[ kuBX7-WSc]0@+*y09ھH|sd=3WKʇ':VXZkS>+L}ި?eSޯ0l D7#=OFM<3``'G=*`Dl qP}#1$J%TJhb|ηbs_m?_-߽ (vE:o܋nt;EFEwf@/Y(یm>9ر\t|qj~t_ @OJ}[.jM\: ]ąay+ZTǿE+N+ysARBt-Vaߕ|BYޘTcX|MBXb+rC}( W~28x \y W&@,0bHL`X@=jgCI1PkO5-PkO6PkO2mPkwױPkw@D9(kXO*$#*T<'Pp@APhj%փ! -}в%ˣ: 0.aQ? al)o@%%EqJa!:*I)WJJn2$`JnlNK5'oA%7 ] y!nNZ$AOv)RB~q@f`J?Kn;(1]CԹ<(Դƍ䬅)!ٹUIL[=P(u$# zPDlFsNz%.]$9ԙMQv2~Ib>(;\['SQv,>DΗ፣v78ޫu%&q coO߄>ɰTX>c]@(o@$`aMXu ,_ ,*zX4(,b&,*)aE_{ZX?"Xo`mEB"?"HLg),"61ɀEF=<k}.v@ʕ]_*}P^߼L-]9d4JWҕWeoRF&쪀p0{|_lx'B\  9ф~+M^O~> ?R8?<OO)2x'G8SP": yQ%dXaXESZIcBBQm'f.Ө=:ff1h C#(W<ʊ{(kPTAQkxEmE8yEQF9Q(ʀ%/oGs+iʨ)\CDQTnEMW> }uQQuɷi4"RJ`ԟ(=hйaqiΤA~Q3B^ hOucK=p BƧïQ?=AATV+QVJI9Ue `bC ` Ig PujhIpœ앰PQWD튂))c}Dm x4Q_\:UYr_N9M8 ed;bi,Uq{="cͧe  ctv–Yc36SOmL8zB=b/9Mg/cbdC\儏ByxPM,n06dq[(_ENfNmT 8^M`"mJg:BRhCu-63n2q#(֧^Mdj>k)A-Fpش+BJkQ /bqd!2);ɰz n-P71k3I:=9+V27ئ Ҟo/-*h?כ_s=m- ,Ř[ 3>[Gt lt6 ]Au9򧪫oz[o&xU ly1nڀgge t½lX>6G5р\ 3@z>0.1Ib@]m}/ /f S>O?TMLj2'{07w) jxPHYgpnk|{.ύז8?9o /SD.i&wC'@cWg B[C_ҝe>ŇF >p'@TٶR(Ly:[Pcmp)K]Pݚ4`+t7O 8(&l {$>),PV'/+" 2Ww]L㡒 ڨrIt.N:{BiiEn@qO%"03 Q%n-"~28?;o4O(#rXo{g;,5eVC4yf-@XA'!7b*D^.  VN/uR3N?;Ƿ3 (V5Ug2>{|B8CB|]7F XΜCRFۖԹz]{UU ;\z%eCU< ؛(tN ccA x9OH~,(-Rp E\9b-0>'ExQ*jہ>eHRP;UT  B|sd!8ءj]w2!mv6[)jq۽>{Gz|2k?1NtYd -N5)md/0~ۍ'ȳ.&A8RR0ʊ{bK!7џȏZbOSɛQ͝ VrtyJmGzi؏A*DMs1?p'Q`lƈZ$w*s:dü*¡M*CjwO+ 0[PဨzNr8FOF , A*V?6$e.u uQ8$%u {r,.<NxbMH{`ZGʹ"Mq?ЏW@e?ځwDn>a8 T-fT&:U0;um Tl} 32=z=P:a:r,֥gkxC]S5ZBU0o[zy |B$DG-9G2}Au Yl5xP DuBuSݸ?]bՌ:?!NxQ(z;vrPTp

ޣ?.>luG z>huwHKp~[SP P]PO<%`4s0 XFj8 ZEd"_EW<}U6g!sd2\tpK\sƻ쬢YT>jkg /"!"]E"27lN6|mPtO¼FuYmzɏO4Z嚵)'t'\S囌| a2Be&FGy9zSa!dȠɫGboO5v6 <,5\6=U>PMGUa V{gNfR@ V?iZ< 6 zo1l$`N !Uk4jwL=wwV}` =j܍lX%ZYW% V}N,lmkޘ>mSې"q}9\ igHZ6@͙\1ͳ8i\s IIbHVIr[f@w7W{aU7 -4sE3 LrBJf}kJJ_pC2*K{ʉS1 DlYjخϼT?ۮCe~Oq-aSPi~1T{x/kp]_)OIg?0>aKęSϹ7#/QYLPت{QzϹ)KMr:=Q#[kbDN;Jm;o|qA5 2k=]1($hSH"hp'tu(p*wB!Q]#M,BZ&CN8\,6K7Z7 ZgqbZ{OJlnʄ wIIUۙw3pXCLsX.;]"5;N,ncC7_v^QrS&(^.o\X+~Hw'/,FzjUk}!xkeP|`󂢺zEtTv-{gaUXOw-Fq)Z)lMBb>q-xQ=fE(gOLR2{}FoYQ [3:q֠~oƄ$Eȸ⛦fc)/P|$(ҞE㤒l'Uh]I6Y7&*${"RG \U0JK徉KIKFU<<\zΪݪ.fH03 |[}Npx o4toTe LJ\'f %l7:Ni_ETmul8\%_6Eo4Մn1ut|FdNRI6oUH;|Sp-BqMQ!y"ZL64Ƶv+HC}Z,k'hXHj䄌.gL7jX]r;|u!SMN#n8Ibe{#?2 O^At~RO#VR>.[L CFۢO\pp|ۑ|ә\q6t3/Pr8V]b3l>|*5d`Wsm{%;Ggœ̫mlqi)rvէ"" i: |1Yo)\́LK3JzLYsGsmkTSfz@|ftEs-!\KhH ަ&-MWbjӅDNH.plsf:Z;O5Hm[RkGvO \ٲsꊅrQcjs a}TFwj8TegjSM٨5ëPTm>lf+zû"W>!XDl'*Z0=od=,K?6ps * )EVRg2ہ5^KΨ-r;w zk|HB<׍# Pu(ko7%ueK~I#Xgn=ԗwfu 쭕jnVʅcI5J!MR(_[ki(C[#xoYwnAx3ES÷G7ڪ@hИ2` mKﳃ*l|AnFwch({tPZ'4߿, _a86`W®2{wDUAKp+pd:~]$gܷos?$*?tFN7<ߜNj}6+ґNёךUTHF݁f7;".;t nW9v2'{S؛\Ͷ+@4՝$^F0OݮZ/箖.Fr\I\=&p"rR=[5]TTrԖ\H\p5H1EPdw]ۤ8GN5?17T}= Ė8FaHY z_#ecQ淹cޙ[xN]/ЏN [ZŔnK=.'{K>/S_i!S{ɼiz]6P34C}s0JOw,*}z 3bo,M O#ȥӜ}a2!c+c&Y;-4g2 ݢFb3I,4&Sx?[&ڀѶe53Rϵy@RXiMVxh /L:߽P$d[!tuI?'2,T ƿnԮ._1.d -ssH3<-kLŖw8=!,@"AMYI`O؅YHj֪v Ɠ kߋZkkj!X YTLB"*.ndgf|Qg;{;T{Е1`ā5r>y3yWNҾ(~0^$.!"x29dy-+:G4?Gp(MxI,n&y%#džѲ`)/v)~ P7oýf` QPo` 4!jْI7f boFYJ81/!6OScA}E˨"-PM(,jhC+sc>0,j P6LGFB(mͤ','@̴١CY?J,PP00킙לz<_)^1.'/$:"1np^Gsȉql0Pd`weZ4E^[)[ז +˃؟%uj Ҍ5q,tа;$h ] VY((Ͱϧޤ\9,}z"zNx7uɐ1oZl wZ'AF[ƾԱ*\bMԪO1r](ϳrVX=A[p5=z QZENZ[!jww@Լ P>Y><:.A~roj^0vH&&?4ﭰV`n*K^-,uƣ`;_oi ?M #4oBErEӜds5*`K`.-?YkrhI2{(֬]&~~a{ e69 Bbt(A|w$^KlfL sڽDs_$-l򉿘A% j %z`ѠDC"v wV4׿ /Bx} l(/9if`U7#tPS%_4'O_4*N״zkюb1 [\>3Pnf9fB4n3cZ=f== F_J)UB4պʘzQLQb |f;Vj 30;?%gO/7/ *FVͲ&+kbg:(V!l.r\ʝz*?[@ tƉ]jʟË\ u=t{:bW@B P32q(ϽK,} D" XzfdFIWف=}7J;pjʔ6"BC@)t8PGwΜW`i{HyfK="9VN,}p5=T4pЕ\|-ߕP? O~gZ1Dk8 .. ZeK,8匠 v C>$Z.^FJKD"PHlqgY/o MU?q&t t}6e+u$7  9xbq71ZMz='"~gPNI%z>hKĺ2BGŚ$KEVNMytIt!C^F\=G33´ ;(#>:@)p9t?Iy)뀲^zVhwWtȮ]Q+&ԲCvX!bE`yQl5aOt!Jy=ɱn:NxX4o;P/:4bW눣}Ov*~R UOWr׽zps:'Y."z[47nlC!zoTw>QNܦ1f|#9G fJiגcMK56C MʫBM7%wk2-Y>5ֆGɒ8V;2 FB"frhpKDl~lZٞl*?j3o.bަ fLKyLqs^ $fOo6ɑc[x"NR|kRtv`RxKp c(zՊ f>ZnH%6~*=鶇N"KXUg`c :7=Y5>GMHm*{C[;|wޗ|U`L۪e*MY# %WakThZbUジdـBV],P Rg{0$+^Yi'D-M#zԺ@̖9%Jɘ8FA64cvdjLD"^:_ ^kg'>"5*ZN|C=<]ᔉ9,QnHGP^=ք1*ɞuY(1k2)qb;H'rq_O8'$MI:&˛' GśW%sjo$zǏv`%!K'嵫%{,|%UhMsI@Eϓh}/ь4:"j ŏ0@ڲ+Mh6mMǨh %K ǒR#,`bU#@(UGpJA gun"uZ*,PZE1Z״P^S@G-4QXcHe)[Ik\ɑn! V~̀Fo9Y]b @iGfS>RdJeC z8Q1%ɠz䧧\þ# i`9ƘT윩A<$o=L&rp?!Z^fW_H^MňmeYpD%o1qF~I 3 Hkw6YZDfͽR}:?x6>!؄@ߤO7SӉV].MJJ7 ݢ>u ƒmʹۈ=1 obWA ,TmU/SH|j6* ([G5q_mӆkGQi׆g4k |f3Pg/Ko" E]$}oquq?Bf'3~߿uAP9} 4$̀HϿvtho e |,I0zp+#l fteEƻ1 9p9' x$qEgY;yw':;ݗFsoMd,^EY4Av hg*~aj{',юoAߔqo6N6F8سE(F.ԮǒCœ~L`Q`6=$"|oEbl7Y-iv Po!W;Eu؛qHDY,>翞,ܢYfOLsI(`$O& UcqWXňN%~cH\D>}+#H*I)l;MO: hv; ՛@%ʝj0` +Р>WAdǪk5CIng*6̾<"Z ڷ4q[HPX\dXǒ,}90e)cV@Y쾍0*STx=@JP3 +V(g;l?B5zսʹlȥ}}cy*lpz %հ./r٦TzvX `| Lg!o42 ,01 5kŝ^ PKuԘ~>k@dě1z8.;24Qh-ͤ)5BB6 ~1]|/DPa-ʸB2hoNRow% \oUw΅Qd$krɠ= |]9/JxX/׻P;O\b(x1d9!X|#vջ^^r50 =zhT \hZ0A[׽_H9'BT飛/2Kcg֪ gmj!>_ x_WT2f(0q%iWu<(Ǧ =!Ph>=_A]Y7b<އBb3|Q3Ac+sPw)6.^9uF/vr.1,;-V\l 5Duϛ e \jNoA8n9'Hb^7̺aKF WΥ)L Sr)>:k߾2\xfzX:@,G "Zh_A6aqW.Ж&{@n=db\ *Vi'Q-%Dᆽr ݞn;y N x܊A1[2جJx3!=|rx,&o ūi*#e٠ثF/2bƗY>QWdI25ea@xc h: dPxť}1izĞW@(o:cy~ ߪCmQ5}DDX_Սq y%RWdR:#%=)YٌuZtdՏS/g' ]J^)/316Eÿo4?+??¿ jR\}r&٬,]u+|ȯy *Ee"jߐ91!(]lsM9p"Q)9w6|8;S6/6!m9pGÆpJPJJ!kTrIR`+ٲej2΃djt*Ul,\Z)?.3B'f+"CQ9U*0/WwY?J&i~wr:Z -f 0gr*?#mIP[,3( . 3jZ~Þ>YAh*>kX#Tӻfh{3 /aL {GC.qN#q]N^oxڭzLc,&eLVa( 74{L( wJ^(~!C8i~d''p]#rKeS{gwllw?iku es\,bFaHc^b0Z9_-P)$n5au/AW#_0ê&Etڦ(L0>!|xPs2(Q[ol1{xZ\D+=@qz]Rc9QJIض wXzem5D-l (~)bW=GCȵv6'Y2e<ri*(:(/L ^1VuPM^N*#.ri#bP  iJ)\9Vu2<S!qѹ I WVύC6AT#2w@mh %fC]:W)]+/~;ć7|L'9]eP!X5s_U3e:{ethJqRɷ PS_n0`ybJۘ7Ro#7P^7$ zAB_bKa.DR- azn}N4͛DM&c -tRﰐlz[=VgǬ]@]77'mL1^.nҥcTuEO$ Zjej.Eud@}( l $ܿ'~" a1hl{b}I]{y^G^Kטx/˾1q^MOp[S(\ޓ)Ϗԃrn-(/*JLJtv-IP9nz}O|٘we;CqD_sOF=cQjDڨ aɁI|@z,m@_6[FlQx_l?m .E9{`).|c*\Tw=ۙKY6&Ǟmj!w;RDϛ>L+8"zקtx xsS.^.^pS7=|xtI:HxØF8שt*0Iax=믽5"cU:^8^55mT:jECPsj~2Q~rRU  iI ]f KEXKݞtI1j+khH[-{b|g*v U}F͊ϲ6w$FA'4]OmE=4;_[nj,ʆO1!-1%Q7|3}[zGӜHںSncZXIZm&Ɵʐhh5~DCiv'Zݘjc+ZOꉥqj|Koerb,p+SNJ2[e+1a"a8?ar]cb4YqWO_L]z#~DZ OȈaLef-6QF/ R& $K%*{5siP@rTġ6b rq:8! [%K$z[i؏q)sNu@.KרX4'~p!9AK3u|r^1Iuo I''ه1\d˜[s7@G~%ƅ4s5lIHn_eˋn62t>8i#On$v;ࡽ^5Kp*SΧTd 鍅ϹB9\t7ns7Z^V!ڐ$ l5aCAJʹt/a1:C{Br!iҴIb(A^pyF ԮF-=h0Nmn'ͪڥ?,PďA^ȵ(06$v!NvY5tAGBܪޙ&ݥP^p%ו.A[]镻q&\3vbw2_m8R9 r&8MR5~+׺+@O#vrO+]$WBlXE:b"bS2X%k Zt:_W_ߥwN$ Aư:2\ӛ.6 F%#utGLbo라D )fޛmDLtLw8ƨ# OX@h(EorPSll;i+4gRPcFo?LɯnH;uĵq- }}&RgCg^q:)mGisukڴ8(Y]w0fI-ZU^#z%6§-b4@~:^˜dG,g:0ۓAyV!ژ *NgGl/yf-k x ŐYhp/w;$c te\Ad^;qbaSfF1=o੍)L_8(udMkhlnP_&-\h6ؙxѢجcz/(E6,s:tXU0K _;QqBQyP-ä2LLKj$8]esYS[@RʉJ !.'9tA%METdJr8KIyXѱjK2%1wrM6oYrl$d GiFcgD-Nu\o7,&oI:8ڋ6\ #(tw9Wb`'S9 C 1LhR C\Ԑ͢LF-y ֧=?J}eN}BHIh<>{%3,),ԝ\:&<50nL5x[^trQBhm510taB&;gX!wi_3^$ g/C`0.̴LlO< Cd% ҦK8]@u|$1jqSP{xKx|PxDaTc)IV 1z1Eؿ|6$0 As)Ú.tAxuA,/0cm+y b,6"˅kәɉ9q; eQn`w@YK7 {ojjH kznuhPsS>) j>@|eY:j?t֗L/tӇDNdgLJi*L=_W{ѴHO '=\E$ȉLj 0PZ vCPZ\(Lq{zytջQH^e-(:2-PB㩆x#af2TFI1h.NjPe.D+. Qu}NCImM) 7iuȰ Arn<.'P,5%֙G}=EP2Eq<|7 oG]Gvuwɥ,LI+3d[RƦbB!&PRZ\~:-.n<{05 BzUk%*/73uphH~0E-JUbN/K$冡ĉi ~s^f-BXs>E '"V(6ޯ8u!IFڎJMh.iiQ1FyUa`kmCҍ8c-?BynpS>~G>@qrn=w7GjzOê(2`PC, ,F>o, t'>F51d||3l& M>b>^P qY_3bCA-PG}#P6"i$Qs0;OsVCOCo* Ga)'ܓtY/Kc&|\H3"c0(΂\K@Bf(3fnäڐ/&_ocZF_vYdJy.f5͇WL4͔C40wz` w67NCi@<ό1^)緒whNB<"Pw>ej~KPȐ @ AtF1txP)uz-+@1a/ڮEVE}"E]:p,e/J nRvGp4 }1db|3tЋbJdޟoP2'A&{'3&{1wHM2ޟb^,&Ig&Fb>3ifb$XQx"CAB@o/;^ބ۲Vؖo@A4DFrl{> ng#gMF譥P9 ,+ݯ;i@lL(/ zIJ;&:o7(t^/ai"yl| М>XahI8pL(Box)R9qFHyV"悧+lscSv̓aA2-FT>O6):I T&RT,@ gȏqܞx QP.6eXPǟ, 'DlTޛymAy̠\~6Cτ8|3rOϛh=YtqyA!jV SrEݘPecgt@MP6rڧ-Sk :*PɝOX˂q*y\o\:>CԒbJܯKO5a]K@Sh ,KPA3hp_[P2ٟXMr%ρ7 q~v1M֐)6p1o?';ޗ3f~+8DeؓQLqa=$z&=o84q ezQ3ץv@'BלUw \vdopPX2AO6ϵ .Z\a,x+.[N9&L|ZFs%soQOzҹ/;o|_ ͍/p3qL &OaSvQ@DLq]j7(+Yg:"+-^t\."itfQBōfl?aBcLs.TaIVe+O$3%@,3P*? 2): 4_s Y]Rdeo,)׽M`(ռtCcC WDio \Q?=U =NIw;}m_I/'4'㶇T#foJ -2M)G @."#u]_MxlxhX=|#>ȯ.6/j wFXy]3W[}g::og8#'CR<]CV)@ªI<4;{SM߭0l~S]k ,xdӼx_VCd4fu<(D?ah_I /&ĜG@VmyoOóM9w`U[es;!/Nȿ ŨÝʋM^=^Ԣt\$n E]0J y3 9hi˄ ϝ=orBs Z.bE!!*\$ .P<9(ʥ/0.XGXx&\B}@\b?u?H<:Ƌ7M)h>jV}ut>VZwrPE1NaDK5C<-UCTQTaecu@q)9f0_91U*YTaH iGC^G^oGѽE݁٤[Y<M) koz1O{qTH^GKǒkĒBG@+M4Va9(TFVOX1x#.X7 _lK+A[ܱo0aztތb+j8ZWZ]E!x_ /g*E.vB9Z6 j7̳_$  zQ,j+M@j5dR#r-*yhZ_v[T +X_"J(C7?:P+ٮO2Q[X1?ǚ,q۠;z <*:9t!81+8XA عR/t-(HC#@.lq8CO>WGA$`|eIP.? Tg:˰qt3@3׾U,ݟm~>;B*' gN# gQ6o M)EQJYn-yo핵Ft .B$-j"># Yf`q J{ִ%~ghnRYfjnAl`w(&r|"b\k31hǞG6_8>J ][WƙYf҉7 h,3莐mI4z peAWi 780Aja%0=eNÔsb03`?է]GB+=^dwyJ|G^#H9|FjTf h&t*#4̜YdH3c4#{1viq713Y.b̐:Z# |YPr;Z]!=5J+Rݝjŭ9! J-бgy+PsL@+tIq[27ZĐ%gݲ]b7PvA(;'_p; mdp;lɐXGQ&.VxG_C{PY /ܻGU]}{!=( Am@%JLH ̄1ڢS[)@& d0z־^$(0dH0} T>g{kOtĆk@d>Xrn$iJ8/(8r.89ݚ{Eo[T\"Cwݵ$nR i,lr23{Y[_ q4X(wn tyz / txN, gqm +=E5[5D .DU)Iא1³$LB0r.֮ OFMK=f|Y@w /m\;#Wn1l2nF\OS]Y͟{{tgx#)09lA!bE=,vuc{]cTsv4@#i_Vv{+d! + bN.+{Vз>tNF\Yfru\4o{' gIҏ#w(O􌹖5_%׉zu:/dVWuăSQҡRٺ'7 @O )ȓG 򑳪jW"ui>8&,;)!QǹDm/6{En/|~χNa@)GZsȍ t;*ZTIG3\3rYU!O]<˲M{q"ݝF* NjO|홯 +,4}Ռ8m` IgϚsO҈l<%>>O %A<-o % 6-( ,(:) Ь*BN/%D5aoEOؿ欪Vzf;MҒe@H෫նJp.7uq"ՓE]vvx=( [[*?܁Q>븢b;\t5CVt +VgU]an2L=ί.fE^j'1hXf݌&>npb,cBxDa2[)w7GdUUfWgϩj&xアJ~ŔX=xO|¾[yQcq9$k񠼸{?ߓ%WVj+Q^]ބgN\cY}LbװZ%_S*iA'-QS[or$FM/&㊿|V-8C1j1.b>@Qcv.FmbQӄbF?1jPxL(LZ:m1j@ƨ)7r2YvZQk0F-9'1j造$JyrOw_Z+̐7y9#!9  tɑÓɑF2G"Rp_d_x%(7yh/H.ȟ0ѕ|L|&-@>& Ũ#F,bڌ!bNB1tƩ>8v!]M^rYbOAc` ._2vg!y7>;v}q ^̢n7Ec/T7xPH-;T:W$3ݚbwZ p1[0xYbpĭevQՁm,!8@q6ozqjN+G'QG8|r453pnnyy)mu% |IY6l 5/OYBt|/Fm[Ǩct4Q/FGߑ}-b\*haѠ?g<h>=t|Lڎ Rt4SMM@}#P`v| ^0u۱˓p 5MD`k?hQHke BP} 1zqf(vU=\Ey1:zDt7tw߽" Wl!.UѩzO!Xvj*t eV+YEZRǨ~G BO#'MJ>ŝ8mʝ Giu3Spa qDVD<6sܧ<媘y͢) FyΩ@k5Eݕsc1frc /&xAkh]Ԍ1:: ~)ѧVq@yƛ+nZ-7ʩ)+VN#W: C9[pڵ'SPJ[Ŋ=f1iپ͊]g _9Ryd%Y gŠ~A@S0<^;Nđ'[Te{3v%ބOppBW d֍1Š.~4-u.o8/=}.c(l4T.ϘE)Ч>tiꃮwEo.%O2&gxP9%~,yȊ qDXNgV̉u˯i]1:J^ʖ2a.%#FuKZ`;G?B-xPZ;.Ff?TB]ڡRQw`-)S֘W|q rf8!8i-_4\̴A^^uyx<G[#Dn ];2F->hŒ[8+` V,<-('%9lzw5̒9mңeF @O(g̘Kfz3btRP4_5`hJL1c{)LeB6MZ}VToIp"/wH.NiӮŢ,C5PWrb:ggPN'OZG ЂhZ5ir1 x"Fm#v:Cf%x1NGx^5C-)5%\G45^ѷ_I9?OqSQ7`f70PU|,Zmlz&6˽CB&V-VQLx\5&6 YBɨ@^|P#]M.\#V3݆}ّ@~#v̏?,E!oh%?><1Nʑ [#$Z"…ڂ?.9S?'9 d=r"ܫB+!Fș`Ğ`O($ވ?vhɆ(*\O' $`/]#$K {B!W9r8E _jHd/$ETFBpO(<y÷FGMё}9N+u7M r Í|}e3_0,Ͽ٭|Nbh3/D!c9r8 CWE@x>FM|:Z:2vZj;8Q3Ϊj/1sBޠp0>s&eD(5Ip=>MY ɥV3oK2۽~ZЋє#tZ{aF_|O`g$XeLf,v3ZWZUG/w:/3Hث bԶ jB++],'`C/ۄ3g% K F YbƇJ>/$;B`:W8rxW88lԞ*O#\.r$r<H?c#`G$~H DAv㺭OSXѫYbL:>nT6ºVo1~Oh1j!Ŀ~V~y(FbowZP C%F'v S?O?B/d]lmQ@¤Nm=h ~fy,fH~;^f+t˺R.I $l|`OsgƖOt/n4Ƌ[ Z"Ak$?6.ƹ / b1V }/|'c4̑\> VO *:y$V#@Pop&@//"N $e6f.I _^9??#{Å_9 x q…8@;uOx0)A1g!p_h_P\D#RO *sẙ!op$J|j "G uD8_#"E:"36k ݚ@RBl%rV'6m %)᧧7%u)KSt-A:/v"(QӥEf;j.4~b|9cK1ZGU=R0`<94ĜދQ&Ũ+_VUۘ ״ô2(Ţw<Ǒucs -h!8LFjR nIy0FmH4={zaCiSP@LQH=jL تi$bu69j3-ǡ&Tkf%㒄ۚSnK0mт`UKg4&X\c9S[V{֟h6l ?SSסMԒ:I^UUԔX$H=Nm8}xsBa+s]yZBqj (pX~chN;0k%~n %&Nm{E @7AiAj8㴶WP+= NтvAg>Qޑon0I Fg{cEnHs0/q4cK'ۀ7?%|=rL8rzZV' ݍ5k!Vts׽8w~l"E"Ђ*bq,+#q(q6ćvomZX{EBD?h%֦!/t3)z;{Ga) uF{a!ᕼ)"26'}nAySU[ !9rw/ċQLɭ`4Ќ%tYY&>gg&e𥄳ߝ~ d|-.]t28!B"ُxxL2g9a: !b)m(&|+nŵ+z ,AU. /mDpHK+hnӽLVUeﰪ:~ӥb=Ñk$,0"ڔΠeOfPAY7 @e?C{!̧06NX1mAu#hkrZ࿯ֿNbPW7 uz؜ [ K2`X6Fє^ւ;ޯ,%'csbaRP[cᇥϺIɛuQU=N:=u,-k(kck( ҩj]-A@UgqBgp{Kq5y\PZ}^t?&f*cPeoB/B !U ~JMVJhqD$i#r Lz-4RXB'WDC\Y? K ~20־- 0E D*_v8ݓtTfե 9_L  TuF),t?R|nx`|q̥I8CzmY yyM jp)6*5)gRyi8o/D#/XДsS[ 1!J.[L(xr_\cCSF>kcH/j$T;j^;/Pv,KN3ʝ@' 3˴H10F-G!GΝ5>y2*}T`3¤.!KAB. >c&?bn4y#{?~Mn}2a=9/ӳ0M:C{05l@ugwqsn/myB3Α86EcW/^*bW/6tfA?Ugf?nK[Qa@5'j2:EǚwiN_Zy۝}jsnvyّ$3z#@n(S!B0g8ۅJEs{]yUr^=fW- bK\:k0.58\ǩlelyxUUꇪ*w1WdKF^>wg ߎK=\8#EXmKҬXygvJӚ]]g~C8WcUwGֆbdj?lۃ> "!)?;B&46^fMY B5k=]pSF&u3eZ^ \_LbP誇 "X쒢趀+:?w`L ;`)Ͱyݽ6;9S|iG Woq`$;]9a/y5&uYlO ŵ6u`L6dubl%|>|vQ N*adhRajowm ߀3QӢ>VU&{{+9〮]qvܷH:&U£OU\jca(#Oq;L"R(m(Rp-_j\F/8!4O,ZxYK[V<Α,To'R(>=ˡRf")%-kɷo`>ƫ@#cUeAnf?&|݋lnXÛϔ:<4:_Uڸ'QF/G7^mzB\ϱE/vhl| U綆ۚ4{L{"Z TҔ0ʷ@bWakY -t-ڱvsDºC/QcB-akc@a7oX< OK7!PTn)y ^66%t4cN&֢7e0d.'3<\,Ah]Ϥ 8ώ[6}ƴ'tMjYs|LkLrя6^5}Yg45?. ZϷ^7odiC?ƬE룒mev҂0WF7)~2ȱD'4&7A*ROЋS?OOIߗB:~W =+^B?x^ȑ+Z n:ĨGy[A#XSû$ .  {ӂNA:/9k0N7_:$ (./? =㶆ku>Xs3Ln[9RN&''u'I }`}ޖBSЃ R5.'Qʱk4 ޶7eG46҂ rq@㢬sqԳj G ^ƺڽPYX\k8B79t Qck,+@/>3̍)RSϤз%薜Iz E>͐^eȋ ѱ65份u&xA=GjX/⠪Pu~4 q>U`{+76l盘܉7K趜5_laїjt FAO ӬE'0A|Ƅ&3j`/H4) 1sr~Ӣ[nXo&[oRkRSפOߜB_B!aP C =קAJRץ]I)$;~4A }ӦN`ڎkdҫg6NWfCl-Nm_T۪ˋ!i ?FG{iA[Zb&b,)@ѳ uf(/CS0\ꍧ9\0Z$kvncƤԙޘh1a4d|%F )Ru) -@ }:ALJ6F#הhLI}aCB^rDpss8̸߮V 3\"o_Y"Ԕ(mr^XZ?SKV\3s#5H !^B_[r'靚 ۘb^\ldM)E; oHME(24ϛwUDNUݪo4Y ?_nAq$@p*ݔpMK -_#\u m ׏Ut 勜 #чX!,S9:Ck;Q% WM@eOV&\ nTC97Zw $\$\/&\&\+ jCK>5a^*{wnaµ+ڛpuiJ4ÑHLu. BgBC-+SVMrkI,)z3jf'\yײ5ߩ*¤p#?3<7U+7ԫ 'Gzc+.+Q);p3>pz%_uーnEӄyR0 6?'$y.)!jsB2Τ8bO f>;rώ*L}6\J7͑҆ h0' # o9slޡ{m4Zp(aM#Ѷ'\΄ks=ڰ"2өB zj_?!UֆH.A]r肝m 1G3&:?Ә8荜1x PFuιj҆Gish}=P#~O]zT!Hi:8 f $iE-F~:$4]KhZh%?-lMV3o& (S{(' `A/u wosƋ:qeÀ8c4!Kq-kGQej`}+Kkzz)#D0xH(ƍbB;#w<OCFv݇EB.he<1d$! wmx2&ǏA>A}_{GlnM8i;%y ۞ w+)5BHɹhݴCݶOwѹhLո8pIxCm-J;7QoWѡ1Je=[@Pprc`;k b!'3|VTu6;M5_AO ko1jK(&.N;ŗk%S?Ie!kvVD.DG3\FKyxԸok cb:?eVmJSy߾n;|:]0 <UqjҬL9mqDY.W;4{ ԚX.~<3Mx1M:Mөqj ũ5g5iqj 9*<}q1A2 85=u@Tn`ms7qjЂ85>*5~,qj;G48Ab$Nm3Fmnt6Ab+6At#mv N&d ehأ][P]Um5j{c=@M+"ELQLwU]~޴O}yCV5v] p=!/]k&n8 ;odk#:Fu\}i-]6+Q_fifؾثP41{AU[JqWͼY[ʭ! SJ!^AU/K*&v@FM@1"~p`"&n"ݔN2X՛/B{/xww}KәŅ2b@2#}wY/72+ u yo<~" ,JcMJ4H9!MS0=k*TUЌVKsGBhH 7uX1n(6~N 0#mc!_p_ho0숴|Jho-* yBR/x"*xAKPt@iݐƋG4,ӎ FON}}ǡCJAx.O[Zr']a6y*%2]ɛ.e:qQr`~k4>q7@^ǨiKV / q`_D"Щް^V7 :zP`?HṼZO.ee bʫʫP뇕0rkyMxobiC^l;)PWzBhR_,WC@c")pKQ tYHXw`"r\kV+hKخ,DnA:51(J b ڕ9_N+-&}&d<{cu+̢W_ۼpG;n[!]ŏq,^ǵ,wZNm7t+gYEQ%n&B6tz+LyxH܁!śrXi?DR2݁u j5L@s2<ءv<SUnoS8$ T`Kb,4maO]sbR ^קš'8~UU]7)?(#i%\T0IgB vIqiu@!Y6Z6c6=r]rrt8xJJ혬vQ!:͎ i;aW#Z~YXvE^RWKu۞3\<>\Jnv+v>@٭1:z yTT}v[U8Fmr%"l%ODYع&MxF`΂Q"[i 9̨ !bv@Y1Cubh$xG)K8Me'pD@,@;-h50E3&#'Wۜv#*{q6`QUh+W`!-vMU9Uf| p_5~Tc,S8|\FԐ^p r/l}_nCo/lyå!)  @="o b!D\!c<DT~^Eb%_%5iJz(|Lc/J"*",P ftߑ4wma*g=Gjԛz:}옺 v\x? #`V=НS~[_*^\,׉vv7eMbH9بyQU4o&GWx偽(l|&fiOdbmv:CJ f=@[{rRoK#KՇ'OIJ%ONa^0WVunJ1^Mu[~!XF(zmtSw@!&"xʤپ~]eSm -8(}hK7If \-М byDMe4{`3zJo#gT1G+[ ޚbZ^?o,U05sC OݍoFT1&NAlݑ;24G{e^clc(xL^Ε NJE7n k&+KukYʿۗbYԋ7\濕0ބ;ߩNw굿S}G §q#[wd qP{~naӸm9p#+NQOh@:]cO^9^o^\NG&´5\Ij1>Z"sC]uWeڹ$iyВ$KڋR֔% :HpvGxi2yR S Ю떐iϹ=eY [m\M; ϣZZ?ڧC3a蟻}1GFhߺ8iZ$ICGS)ᗧI G ?L s#k}L=(*52AI;.=8#Y|+72~s/;W|Ixab:nrdNeB$,RYӒta#q?' FtƉ1zƒS"]<`srw# &-1/t`DԁݳZgY/t`wo?OXsMXtӹn֥cu1+4L.7RMC gȷ܆"t.$%î(_ss F);]fY˥"f?'xG0_]RNf?MS[SQ1u21+\i'Ķ S48;ZSM A[Pؙyx-M+XSҡ.V$,KVݖw&5,Z77 kigx-:ET{e\^gt28 -Gjʚv53L60˂<|S""ކ ]}v:\>Zk=]i5ꖼT+Q2x+2_@]2-,*e35PWr??:g if|a8S8XM#[wdo$mnwt =sw?Ӛ@Z;!VM~%䛅X]:}d!p',xϦwE=âC޹4Ka!>!>cO&5kkk G;9^Y/Ё]w=sKSz})7UD0X_ʮ4YP8Oۓ#ߟwD9Txؕ9wF,hE㞬HbOS衊doʓ]`EWu; 2 ~9v6@C/2>>HAu{߲[mޅ|! #*-HI:!A^7B2)ʰ@PZvS/.F ;_5e\>`}x :f`w6*_b炋+EŜ%D.ĚzRP-죑C'TUR&zUQEZm|s"G\qùO'/ N?%dAM?-?N'y3hYuc3tLzM]鮋Iiu 'ʓ4mb* W R?=&VdLDMKr˃Ip .5%`Tk u+yU x#Qt%SCme F0yiA}J,]eb*cU_mHS $t&MHZ;cE<`(NvAN\z{^: 4Ѿ4iP5$r_~|랪[UN:;ǠFk\JLVrP|MơE#=*\43Υ{(7n᳘uC 1pDD+| GT6wގ 2E+<`HU>TуGt/`㥞HS!~T!.!u U M"l}9u~1< 0jd_=.> S@룴7/7uP Viy=^;&(d[/>7biLpjkesH5~Թ!z:Xp%FlbF3i~v3._/\uNٝ|URP(^Bkq4k'meL⺓y _CHzkTλ]_(ux <$ͮΥԬ֐pquH6K7B=Gn|'j;ҾLKY߹"l={~&mҍUx=c"i׽8?MKڍNv6HRC3po1 ~0Vxʶ,xp/Ҍw5xlOϞ YO瀁S*oimAB_9.>P-88a9]WTeq?`o!2o`{˩Wb@+27 !_5fP!!?ZԛuKI1 kOSY-|NGm:=?trQfbw1^x]%nLu3hmorC+$}A(+~!a)/-[G(3'I˞Vj|P9,Sr /Ro7% 6ܳjœ%w;Kk|s7K@pMsP~j~..6%ojkt,z,mm:0fB`'ʍq?BH5%#9MDSӅ{,}KEfª/E>ch Þ@9V=n Hu7BOvC|)5uRnrTϼyk+?!-!dmV _V. ֤'qQ=_3 T-$k$ ߸xId|'πF9&/_c@xm꙾LGk, y G8w*U^kڧ. R%Ffdrq@ʨzA-7 Hx1/6t.P:\&,=Eo5ܙdU(iOQdLCyˮfQI9U=.|3a]o&#JЩm?!k0?N, ҿLS?.M>B&rIq&\m VP;W_'1*Џ9_޸2RۧQ>[;pa@ Sx'kiySM~zZ9 /5kȥo,Smiw ӱ45yH` ~Nj8*q[V)7Wo?nT7ї~ *ڜ GPzZGPI9pZw{*礊6͛iLOk44TӘ 3YT*ZQxx~%,f"9˔'31:.6էDxxBWx1LLF4 5.oS3oϝ1zm$>@_wa@!KT+^\wKVXSB !Wn?ҷDO?{}J&-*c%f5oOK{Dw %D6_!nnS-p7<1nHj5sѳ8+Lb E'YyS5^D߇޺%獔7 2U6hv#{{ؑP*\`, )o|FV\$26Hcq-3୷Sزƴv^o.ܠ6Q/! W |P-k, j@μ$69y]N\'h[^]q}{*[3vh>-~\~CQvA:-K苅ߝrS_XU @f뀄Y}vh|r8lQCZ`@N]g+NEoрWEΑ kF7/9s SKm! *duĿ_5< éb- 96i Cɧ_^fH;*&/꜠ݤ_X-v'1_Y_ސK߸vtᅡruKbG;-g:o.OTu\jV-ڃыTzM<^x]so_XחizEбӠB9BbuY1SIn;AT9?R]Z,|ȯSŸFu4yM,|](NXIdw<ājE4S鶭Cŋb.^_iZ֦ýMQ]|1o[m[ G- LsZSiܨ=ݸE6=zZP pyՌ*2ן/o=5{ժ7\w֫w]V_QiapzwJyTy%W+a:{hyӺhӘ4غ=z8Z=Mä\O EZM mPlT(4X0~'MR HS!O*M~? U*o]Q[4%w1vOIQ5J;Zށhh*OBGh܉ZiB'RS ]dU ~ñ@<|5gTt0ݖj41,[n)8G-=3M2ܟ SéБT7U4 4BRTh8بWNs%$-!iKp?^d@r(bD>-=>aY/J=T G"zqv>:slhܑ|<H'. _VmS-bR)+Qi`?q@>KVWl0 ȳRKw8\j n3Eʞ P-FenAhCj%mHqOh_;0ne͡}ٛT@\RD&.@疒+&BM_q7 /Ӽ= eky._uQPjF=u./hOh99B#휶gXl}"Ic.3e#P تO}yמbu!eQ:!{xud3B Dh': \BÇ[\S[O 5#:F D3|ڛ';>&(u>=p~sc}86[Y >qH ra sh& \&Sz'pD vLN`'fiffph,bs\iUW]^ώcFDsu/'p]2}y2:Z^:ZRqPTۉUObSɍmƋ3 @O;E=9Q!03rW|l$^o& 5 'pnF ܀o ϔ`Ɇp;\[4Pqlewj7J4L`5Z kڣBx8={(-|mZrct"|q@AZ 35Y>e >M蔙>}~uBݝ.?-~P®6'N0qyCww$Yw /a@M~yj5 r69ՇA9v$,vkg׵'˙千 9%a@1buf7}z *lD~/Kl%q]LbQ~ µ-lErGJo@w YzBC% uwgxϧ-~BgWaEó$Bڏ 蚂kz6C7Yht#zi BHalHT8RwۣTgSw@a+{dys6w蚲AyR;D`Ɏ 60i yvdwvYHiXL&MjQэ5&MĴ.EoX~c4/i_M!ݛ0S&Օ˞A ֱ֪w6AAt ^o@7ZZ$Q{Mo+xevaTlâIa#:-5Gi7nJb6$v  "01>7T|0Mb٠`vuRoL`u`ՍcI\6m]w63ڧꕥ R: M8f:܅=d?MyÔ("4Ϗiޚw9pͧU?`f\7D+/\?P˻vŲ/&pE@Tl~Pus:k!拉p):|Wۆw|KzJe0|KG(⠊^ VyfRNH971)g7H9E0(wnrJr҄wiBAVWK97I8YeQ梉:;3&k(ag܏i ƨC HХ?A]Lp& ~κ!cU^W ϵKbmc \gAlp$ @ęST׼OBP&uZ\ި(*|2ިvӊBז}ShVGw{>zcZrEC~po8ڵI+ˠ x ]c"aY*AU1vlUkx63\ ]ƫeC/'C* ![*` 4ղڸB>eC2-s#|JE,P:yQ H#59!J@<<(ts7ԥ\T:੯Owu(_:buo _P掬uj)w~ڮgUW޵@?'BGk$ѻ2(Z'y;0@2KӠ$v}%QPEtu^@6SLgӌQe]$tcsw` U. }E)$OW[{W[ h*EI !^/D2.T@ʦY-g;n-Bu9~k/IX}#WXŁ~1Z.o09\rT%b4ά(=5EiѝI.9TSSSvf5Aj韷H Z^OĽ`2 \ /$$&g\ui+)s8v&$RM-=`+LI sPԼ%9I~s\Ʈ~YƧ=Qa5-o,^@.# +ی**^7)iӹx]IC'O#%C۲lz)Da1(0c\;?$fix5{ٻ: ͨM'gh} T)t>r=ul ݴnSKod!HG4M\9F*uͤoV]إkՠר}Uͥ."QGkѡ5~& \kmstG2jdZ!݁iL=x;2}_jLd)/xz]sN$ [{cVzg"TwGZ#Լt+C)Kkw 2ԑNa?P}nQջW *aUl>_azʮOBB<E$xCw]]aBU_ɤf2_˸\n&rRoa ,U^clګd:Wq2nl&W>5~Y.W\@`>qC <&i$\Õ-`c=S̽Ω^7Gj wM&OgQkazOUt3(pja 1>pMQ# {YK ,ZGuLW"8R6ݎˡR{UkA UsUYĞ ;Mt \75UeڇrÆM 6XkfvPX1>gAUEǨC?;GeGk)O.?שZă`! ŀԛqví]FA]q)Y$ ׵SxAHXKNj+AA{/yi(\2Q_uG9 Ϻe*ApG8Fm 65,Ƃ}[|D񌺲\u3z}O_982>絎+8Cwz]w_ʠhYt4OJ[UB2ʒ\e̢@><15㶼  Ka= &`uQl/Qh%*l9 0IAgAY' g[ۤ߱ N_ LbͨqV4 aZQ??¡$ci'>yCÁYAq'On4r,L0һ3:G82%3ꊺ<I9 FPwiARq}ف%Xa@ SOửհpwe6-.|T6)Ou_O}r'b́ R#(T߄y4C%b])?kt'"?(6)WS5?(ONm3ċ̋sF3ȓ#CJDFH ~Vζ%5_4kz|wd#|#~ˊy(bWT~'vS3 _{G#< [5Vґ*fv*eG_L]8Z۞%H +yIZT(?jmŽI- !H4^~ֵED-ӊj$9l;?/U&(rItC1,vamxA.MҴ0J_hBlnhEx_GidZ^~%_ME+B-ԝV Z_mP8W+=a_[jS䓚bua)|戅y:En}y$|0jY6Ug*9MzBWe:D^W8rFEc\Qh=t=0c֨|M%+5JmPE%ݧu'bC m=~gepo$8u9Į^SI?Nu};>W(nW.?]/F"C*YD֨87걅=esh >WP %QA+m!'m𫫠ĝ^;߭ժgG-I*=p$c.ޣp>hюիoj_Ż߲iJԢ~ZT0Ulw-Z] GbU.|L;y?rVqAOQyRiQ8鐟Z.a/]a@Qˢ`fZ ?0IlWN.W ҉Rv==&1Ta1,mAW(.nDq[(!q prU[CĶֶWDz%ji8!~ړgCn`nM'/MO#@ 7b[htFǷey`֔ sHU-_\%;ġq5jF\lTG(cx^D/_5C!&ʿg)z+Z'*xb碖9$#][Q!F *tٲDj@P9Yhn~}'0U~~إ2źbX j9{Crei2x_`idP}ί`{t<{ȠR&1sxcM$>X D-E供iP'Ht1/^lVteܪL:l3,ft0(4'Ky&w1;)Q?!W0 r(͛E!|M(J/ +$ ;-SKi8QS"h\!ĀûEu{:'3y:diHѤa<8Wȑi:dWᦎ*aLT-\B)j!jr8O9~.6&2‡D7۞ѷIҲֳ4ﺣZ$S9`hZ, SyfL mdwxAEQT)\U@*=@X> JF Ɉk3ƩxIS]9ÇuNC;@m*KΌ+1p*O ^Cli$wPB.B6_.|Bj!uiz.OY`U4BhwZέBu[k}ddV/K ="diB',xzpfo/ YٝԽ&\=J$pn>A1zn7 = nV_ͺCq(1͙cs9RAy혫Q h \7{Pd"TLä8ۭ%v] "}3FJcAaUɸ(c8ąᜨ.P4In\=r+M(3Y9!Ct>G*}3 #_Vn0V^e/8׳^5# AEQ tc x-jUr|u~WNˀ EGV TZ+G vҌP,>BDQ*bITnX841襪ו ++=uV?|]`)3+ Ls %eF;jvMN:㭔Rg\|ξ^~a`~HQ LjpV D0wdGt'wώ‰. , кoLib=Ae !>89.˝?Qw&iϽ&;oOI+5`ݭ(:e庯g8x.&飬z^^Mǎr@c2\\ݓJ'`RN&LQ:vW7n%wasi_Vdz@!p}BzН* \=kWw p:vkfE0D|$pIhC݊kx.T]zcMy0>@ Be9 b#߫CuTFR'/UѸUjgr*tPwWI;0C*? bRۋ]QSw|Ӯ͟TKQ`iQ2(\CN|*cȷ vE?LN|iJtlqNe8o|ZĹNr!mN::!il5\sbPLIl0cn7Q[J3X(W,c?2Z)F~ޓhs}فzCL+ [FtX .BhxiN9~AEBċd$ N u]K [ SQsiRͰ*e`un)M ]{S)ߛfGw!$iibM~ʦ ,]҅lzI^͊gذƇ6ES/e!6N/E9@.;!AA\r380!Įb:*,z߀[rcަh7/idI'KNm)AkGS't-/,|~hgQޠyepW"%qT~q{'H n!Bl˜f@*rRvh!1lmj.ccHv7L UMOB*TwTbp  2#ɩK9D$MX A!xkulorcؕ=JNj$ 7 -1l$sխca*$}ĭ0I\Ǎ rHި}BNYƀ<oL Q?C h0jp:r/ւ{ֱyAtҮi/GȵؚClyy}XfE)},ċTFlD}C';(? ;quقpKį+]6BQ^EQֈrK@Ԣp(]XWgy|ڼ4 k725Rnpc'ȻtN[/R),ŎasG' )WR>TP6?4KÙM:;4ZUGÚePsU'9f03;/M)uʳ/3Xi;H#5Y>G9R`2t)o3M^w}ogxIiA?6Ĭ3n31W5E7ak 0uI9H`Mkuԥӝ0t? y[}pǰWcyZ/[ +U ٭%p>,q f\tl ~M)4\ [ϭ͸>s-/|Tv L3cU tCcWO`%ԨYutNneuƟu3FK鏻9DWw|/n ݝ|dCCOmNH&pN ey6]|es'"qMLVUr-%IIa7`p֩&o~pS ˒udT1I{ŋDQy¨wpRVn5XK#?v9.$Or(bg˓qۛ`cz/80 !T!K3ܦ(0LO 5±r:wL'/7Y/_M3HsJ5MZ4 ˲?/n;)wwKt3q])e@"i{t~s{4KݡInLЕz\=}tb01qP ɯ)b%-p.nz%(k'㢴Ł(lBZQIl9/Z7|k)Fo]# 'N޵|8%1 ^;#ġX@ m YeҶ _\jbV;#$ߣ;`H^;o7z#\vB9>4Nu6"EQغR1ed/B&Аmu |+4F F±"XQ5l茅X   !CfġH82a7K=:6>lcI$W*%}B{oTlɶJ㫄mEWXY0Xix¨ ;Gv;%Vg"}\nډeIôVʛ̒ EU}Uh!wd)gÅJ_ΰWF cB \-JDD$}JrCDEK62N︝&,:L>}ا,Xi?ʒN"l!*EM}ĝ()DE=OzHiw&Q$Cx^)}^)<;a}VGz$="ի5}`^i'Z xU9xUQʆhdkz9$/ z8M&^N}傛]  I72f:,w6!Бs$3\r@PyԆBW]NEUWᰵ܃$i2-00\ȳ&4*ʓ|% _:mW_nd"H$ /+s4!LVy]wo mN./|y+z|΀\vi븢2|Y/zʽI:UrovmW삓_ ꋁX﷎+űӷ+xk47kQ>8z\Lw./v4'htV 25L|`1P_.Ro8DY+UI-aq@8|PJl8"^;?۽RJLq4DW"rْ5UˉJhTYOEL.R $ eY VлKI߈{`]k;2DIlJ$m}o[!ۺ*m:5֨ pZ;*چt9h. P@v\=ds(YL|87+(߲3S)&Պ3w] ȓQ\78$W#%)ey`>!\iĄEM3q؞C$~A; W!Vv)t7?j~9UQ4u!:E'%Dj3`پt_H ٢0M/5d N^sZOFpӧj_a}#j>վB$q g]=!z:WysOsh*ڗIZ++UV{y=E7;yM Ϫ֊{x]*9 !A|˿G+=WHuZ:8! t\$dn;Xkr/&p{s4ͳAjYi//UYt< |ZO|qhjK~]˛od-7ҹrg!1G2J߀-]ܡcoQ.qE[I3hn"i~8lk*Zб/_CHs΃ "Ӿ:nYCV)wv|# ;NBҹ2̦o"$<~*N~t"ywf)Rim?B ;g׳_Z*}LPX,5Ҋͅ7 \M IJ"$6+޵\\0IݥȳRK*2'4kg=/gCg ү2o˓3RHAhYh+ :q2-+BGpd%w?f%z5>Ov>5vMIa" DZ !^ۓ YnɷDTnBJ.om hoFhhW~8؄i{ޅ:"E!?a&. @V?0Om뫄q"\[C| ȶZJp^g@Du1wX/ȳisuE .Iq?Ds[ V (Erӡ~]:''s:T>k+6a nUQ]#'^s*֨Mq)6 oy{Ю*ʻSʗZVZ-ux9yr]^gn˘5)eTְMW ОJt\/QFJ0a@I/NDwQ#zMz]@6(Iف/vuB{>2͛3!!eZ庯sȽ6/<.[rC69ܲӈswsȪTm^eQwKuWm2g|ۡ#LkM(m:TYo*%޼^׊KW xZVsVZF8T-\WʊPCN ^潓"޲Be:~f\\c{RݡJW3i}Q+MVnse"'-΢'t&m}'2jYaqZ됋#aY%^n5Y{x¸'f};#dkς= l{UzάR3^j-/g 2sXE˙K-{Jm˨N^_{YGpJkJ}&p!x::o%-ɾTv9rigvQ1(ZV sӉWW)!y}-_7u߀x|HUEArng"yk QUrȹx\P-|Pټ-PIpK]ȹ'һl%f]Q# :D9l+9;@W^˜LZ|Fyb03L|7(6ǘEe;]U^F)gyM'J'k/\UʛK[ɑ]SjanQU,]>aם KLwrl㓯) q媢MQHøoL {a\@V Kt#/S)Eֳ/B.\fJk}k)}ďKJĦ;f'B| }='{e<"MaV%kah'DbU{tej֡Y/4]&e:Jσ2\6~"~`2ה}uUm~AH`F:JLs]Y5nsP8.սtw(Fy'CGʎ"'} 'jflk&6JG h( !nLf9NGmV  #&Y_B|<C D8@r{<ӵ3Q3{I6!0jШc(BF  (ATj U+3$H6NVdl{jKO=mO{ZOl.bT * dyfsz(ӨJ??זlԇgvX`"y:&V"yVj.xX~=NgWAt~%DAD1DKTt8МsE MI(m1/`p_[Ag e*{R$IxH&VM<]7>}(t>xɡ|gw>=FG1DS!@sj,ʹkY bN;tNL1<{)P;ۙh>+D>h;^VElIM/ Z' 97LR>iD(:(0N 5B^w(򍉪4a.f'0% ;wW!ꢛ7&)I77N(qfy ؍9PodmcB4 @9ڌ7ٿ@ھKNb?h2'}5mC>cz8z̲of3ٙK#P=S{tH W:~_*Pܒ~uw8zDZ^$ IRZFBU)& ɼCZb{,˅Mp,Y{a_D0acȥ-zъ4aV@Py14*#PT.Y!$EYc}L%P{wqUqff%X)xpLGϲ1Ih +$ g!AL">5D: EH픙Hm>6j fjS dK?cԣPK0 ?3xWx7yANqqYͺ;8|w G\McPDyC9"e|ӄھ!3.##ml'3] YB]`qV76JȿZVAOwB5WKOlJ-ɖUS2R)G:9f96RTT`HdaJ.y"3݇'rVdPgbJ0c{X1.r) t7Y ԥOo@s.W G$]g)C)I)潜bz SEaN.7n6KU:1Enkm} D8`|"*=՗q|*TD)Xj~1 Dz?ZhiS :{a Ә)(ZUBQgØ c\GBLx,W1b;o -xpY8dQ$!JPh0 "ByVoly j.1a4Jp-+=[cSKXy ٢LrgM't͵\ z*b$ EC?G4F^w])@ഫnMhN}0A9KPi ͩOk(YM6{9ULx.dֻ9Bed(UC0V (%iBOE)<Mjߛ <+ -Ry:W˅UKn g,je#|iw|^^6b emp+R^UY-n8悯ו+VB!qh)k"x7.2:@},P*Bh{.G9ͼ)=sA8JW8FWAeeQr_{Av} _}:fWtyZ{ONpIb {>~n~/??:ި'L6(0N78A AmD}m P.H.(Ծ ]~,P9mh~c^qhH .4;3KFCC,266x}Sf D3ˤ iBۦLuL)0:)cPLENEkLَ2{*e|qFK/ DK*^|ɯϔ/T4,yݩX┹fBJ7fd.떅̕"La$*aW}~?!{^qƔC~ڙ2ڻ%Z&$Ǫm'%/fLw̓ h6w8@)n{ߺq*-CC cexZ(cc,Ap:!V &i3cĖf6K$T6/PyyHJu݇7BToc/r{Uӻo^ 5{5Z|c=em,貵XJ'r9TV>lE;Բ62Wf)IHڥH4K~%#FS= gaG)JYB?y!鱃tsv3pM7Ki\>.b1}I#}߸~#R&fqEIBQc7zdk^|E>(\ obr=,"bW\/SB xK l:!lv~y}&a.8'LB gRs/I;Y6] ޹ozA-i54 G`)M/^)\~X Ŝ;t ™~3OsC^[}+𭣄$o;:yfQv {E7:e:_ͦ_yEBPLUD{v:*P(sw1 uٹ٣]k0AYN>umwJ 1rt@϶@iPt@}B'r-:#hy|*nažhҎ#^9n\C6vO wcr\nzUlAsI+_v xqvq\y5N8EӚ`LqeoL,'gwPo?Vu~هOq1@z/\՚㘯TtCD/ Gn iiGƅ" >.wed\,U@4ӄ^h^Jgl aaIڙ5l!Ƨ3>\}񮲱n,~/kx r<h˨_=$V&)ԉy-̘!qE4c[nDb+c__H S|IزSEja+׼ʬ;YuQ`x. EHp=gDއFGhe(ڑT)Ƥ7skB`4e[\ZRu w?w_ 67ձxS[c:EŪAQ2c=_[rDN92bb9󨞄Мڟ&yv Y>*HiӇ;pA;0Ej<=Mi6nYs510V&Zԍcl_:o]Et7$婮rf潡9piUސKTl[^C,Kh^Ώ lCt:j ݻαޅ}ADrwKh"ΰȢY+ٌZ8D(@tC˜;jm)xSB@v[{1ԟ9o^˜<`e yjF`tn|$3:v:ˆ8'RCh'>zw5Z20F{9:hJ$7g߼N>'P/6N@O5lBVn)棍OQI!m#Jt37d|ZGFco$ъWd`eh9TmqaJ *Vk4hN=CUx, v+(zy!:J|;Hoo@z-5G탱vNs "HDϢ`c%ۉ$QS^:`\c%|K C~tK HЅ|@T­[ƈgӾ|e6؄(褐F[VQxoYAPk|&E>e#?rxo22AB5r딻o!7d9ޔ[є]?e#9gx$ m䌮^TS,+L:6mb@s텔Q wΙ$GT`'=b f d]ϗsUP`Aw"nj5 w4f\)c{@eG/%4'm/chkY2#Z[r2LJA 59{(]!eVDαjsP6{I--YsKPVN{m"oY61fRpV>JO{~sغ1;At=B?sך[#Ehr9snE[LGgCYc5-ؐxinE4 kH)s3z5?[ԴdDsJs+iƒe:::ݴfģ3ѧ跬o.;f^.MH7~)ʏ3*fd9jl!eL%Ea meAcC)P %^cѠx!_ƨZ|N-0M|L{XɊQ?{BQ`j0ZHJ m>W΅KG=Y^hJo.7PP%G o9_`_: R_FC:v87}P4b/H0)V>$T]R\A|z+=q+ȟ!jPĞ'"]W3eHg5oM04)2PPGc{p]n 5Ng.dtL^GBVk cB=SBb#A<js3W⦵w.-۬а8;XGP'}lzT?c7Ap,+$4muǬHLk nS`hiBZdJըD:^v7NDUU|K]*Z+76 ([>Bu\X) [WX$b,J\FPF7S29V)G*,Uck%BуZBB EXʨNC;!D ~;HMU 5xH!F$t%w dUy JQz*\B65xHE\0?O?'<6[PQ?4k9;1cw1hC.I| UY8ه\V(4{7O&Qn*s]k,%Nw;!ז&b (=M[*O6NrFG-M<7=i]%-ie1.{*·dTۻ̻.oSHؔF~'ǵ٧s1G"iZhJ#")z 9xu4Ymoh5~H,~358\w,2_ BI6B l !+/ܜ[a-PNsU av4:Y*70jMӄKr6axj95+LvoIW(Feq^FTzV";p2(ϋ,yăBHw:#p^S$p12,ޘ,:& Yh92Мs2f*(-R,]Ń0zsѫ|Ku*:yт$K9)\4.d_0gY/HBiuT_1$[R cP w-`IB5T >9Kߣi%kTt~/8`.㠹G7jWAB dc/&`H!r(]z#Marw[04W:qHJj7pj-<"Ǟȓc;-V s/nZ@7^-Z^ReV桍~{ Zqi3\KJso_5>h>;qjv)̃@rnw,ވcHLAO1<90WtbtBNzAaNH\ơl꣟6 `rc=,IP$PT ~h-7WoAS+-蔊Jp@- |]GL(Bڅ>%ԧrDO K!z4aF>^j jb }Oe|;e2SZ=]냱٪P_BOdMSלZԻ$bǨcs?Ɖj:6@IH ()M'2u8ݎOъ" { XE+%_;.#g P Do3D- >6fQP: ҟTS7R6|1~.ׄanӝ(9dO>\`^xTH7#͕(ku>e^ H/c8Z5b˦PϢlO0u <=ȱ"fW̺!r`NϿϾSU@ $~*Pm y5S!N[[m ƭ?oRh{SPdT?m?Sd|aTK6]3P: HMW;e l֔+f*j -Z񀭎?8l"m4%5ߜޛX~$(}V,C7}Q?ӄ(F(<3-/$z b=e>)FK}YR˂.3E|"]j*>ݯQb9.P!:Ũ}b `K60=>~ݪw8AZl)Ŕl.I}@Eg;fo/&06ƳV.uG7=l|~%WeN`Y|Y(TNnD؍{ķ 0ˮGjQV~j>%Vz{71vRUIkR,LSb<o Zh[Eal +OV\=}vor,D+az6`~zMbg^KP pP^|S `WZzD{"#,`Cmb̓ #2(3p9FV@5!Q)4q9"؝,ܒ^e 3%#&R5~G U1jyw-we-Ebo| ̷,BsxoMI|̗yZ<8y: %]Mhyi/h*fB@1alasڋMr2In>i^|ˊi|ʫPEJ+ `Bs{N`TjWWTpXa櫏oT\$桝P:;|˂ҮF夁Fp磿q9Ak߼1?0Ӊ"*RƵ | ]5FGjκE];8o匽+j[̗%hN˨*wα b ~, UJ麕d,2 im8qm _d8nrRnpf|0l(>}c#*JZ[~k KT}AGҠTq@uSqFoױ%۶R'Ρ ōTk# @RsvmcSUH,+U4·^&:nBnrd6PTSH)Ync61ha1i7FT&M7̉/f**:Fwh_;t1Kbds )H,IͲ=)mee.-J?r Wd9ƅ_maMP?4Frj]K*m@ Sr@ gr[+?\& @͘\lJ~ Koߟ9K. 3 9% RNop1N΂^8W26=H=!K*rREZ7߶G5d1ٔ)Ҽ*:dҝ|zCKt Jqy&9ҽˆ朿^of9^чXa,4FND1)|'/1 Ч' Auvm@6LgK-\ lUiBX$ݠ8V'T"8T\rw~wfR- ~FudMAhΙ (e<=&eUΰLFf/ߧ0#w  It,ic*3@lCjɈ?r 9j:Fp(DA1ᦍcfsjfOGP~ Qu]g*6Pѭ.Y'Ch8pԺey?o<!n >6r|=ڨ˝J4mgh:y3,}@ =ULR|)hOU)is-K F}@ˆ_0^BR~Y(Ȣ4[ٺEɜ^`^T0h.xbs}pG(M;^8HgRERuY uΗ)P@*:G,):!jD|G{741NѳAS? 7r2 2ZjVʨ˱' 4jVbYwiFrK6t7uԙƀ/a0a)ɽYoRlYƞG-m6 [9;;|ңyXķ,~YPPbn`>-K,=!Owc2$e#U0u,>U7CImTjz҇ĖLˡ%X-V$4MBK:'RL&*/>/S;Y~-f҄2:9[)淹0: G=ṫsBє6jr~(вR)|{!l!d~-%~#Zb}"P*_N)?;< y ?qjs f87,6WFFf'00pN^$AWڻҞiBiB"L>ic[M !˖'CSvs,ERhw~!1%益ae9.XW.’ݔ61YT*.́NΒ`Ւ&IJOW <|RST/`vkcȯmu sUD:?e~n-`UYakѥR*2*:D\KAϧa;%c4Weְd9C 2u? k9TB!y5@IQ+VPWbfP=TD">SÁ]"f.G>^$VwQSeq )у=|N5 a>}tSf#fYe!߱Lh=&/sҬ9H=&$ٓ&`zy*?~o*2BeqODFZNOݒhˉ7>">c%>ߨ}N>hط H$ON Z!k92'.2I0e˛- ܺ,˞0É#s04Zsk{.TXGh0WE Q B pvT@E8ŚzAYUO0dTf "btZSqٴVv m*cV;B`SPckHY QQcnP) 0iBqǦ@;~&uǛ%72H?lؠc3м-mDUt~\!>9 sꢓ?b>5L!sD^%92Q]Se:2=eR)5̸qe>\oyZ!S`ulN̸p.-9b1ۛ(ZKUOB 4oo.{agIm %QK|ǯI\?4?Gfſ{^1.H}>yVf"à֓BhtUc1΍+n̽t#F 3¶e#$D] P~U0XtMjaX4D]RpXA ?sKC!`XnZ'ѻ| (;._%@{8ĕqW4>?lj:f9xABf?gnP7JYdDWܘ )oGϼEm7M iYЬmx#E1!m!UM:_|ὦV]rc*ANq euIY.$B#!%>$iaT))7J8jIo|17$X7|se+yAg%{2Y>A r!yBJ. h.ʨ8~Wx9e3EqsC̏ :>(iU0Ži;\F|iH8H\g/ic,pguRw5vXH耽>s9::𯌕-G},v&G?|w}o!>suϠE|vۿh.ӧ*?q'8X/[Z|ٍG&sj:v:ޝ4 * P\=P] 2vyS(|S)R7^&Div\V8[/*J\;H]o|,Ԟ9]'##EZJAg/!۶P#WJՒJ>_SLSш*";ͺIeo,mķ9I!'uyx $~dL"Z!XP.܀|Ŷ1|QBqo} t(8c2jyĂF{ag`?7n vn.4&ӕytd{('YUSy).)zxާ"o=թɸs8Zr55A;twW~L0넲L s*R; t#)(ͼCHK4BoY: F"\{5yMb P7n0zn FE0C(ǏSg*UtO; g2?GӴe^)Bʛ5!P>)zCu{v&sk8'͕ynaōϲHtDm/YG/+ VG)rg)\/!>z r9C9q rp*LCԷV!xuSܿs GgRsBk}e2S'/5MJ%`ÉW>*69m1=z~0ګidihVnkm/ܿQA lULH,H.uY}|j63-X퉌x0fG})\@vT|j Z8c4KNn&HB1+_UݽؕJs4|<ѿp;pN| S&?Ec7^}y Ӹ̕ 䫜;<0q2>۽x=ÊK1 q+ǩsoJ2e^U8oߪr˳^TsPԘRl/// dLWHcIOz.i=h*Ae ]k9 ܕb=ɷ>8M1FuU zDƟ.OgqIHznQBv5J_hPLeY@uc Lbn2@{m}- 'bPP- 8@y;9O1NPtSVME 'adCHerz<%AR,۰ơ m 4+głYu+~NVDZs2[La4+aQP;8#9VRk.%:ijձۭD,ߍDuW&wB;yݣt14,UG5x2ڕf*U _ As[GGUkOf$ 5Vd[ &{`mرQAk;JR3-Vۣ=x=֟*ucUV 0B`g=kO{?޿?ɞ^Y>I{tv7Mw( ^oPeS:W$K?:citPrrք~~Skd&shGasc ]\-f-'u,3-CKJ gg,ϑ7Y\춾1B'r#rk!rcPO* ag.^aPrLƤ3 pv,Aµ}hzp>DO` &_jm^WkM #jŎ<yXY̯;kHOz藎̑W%}P٠cR:w;>:J E:ނX:Ycg!LmNe"+\Fд`dư{ ĝUr$Dʒc<YDJTKt v/ E11F cN_51&{E؋tzi/>[.4G&q)POZhaԸAF4 ״7b:lG77"N+%CGch"Qbyƒa:R?vqb*ӈ(8 &힊щ^q1^PBa?! 0.͍ƼYP#gaWa +W5oGSPЦ"~eqP/:.?OW}P+hmx[*W>Oҕ++teD;14 =JdUkۦ˧&QbYʤ6=0[ ?F^ԅ&nJ+N@4L| -+S#YT.}rt<-XN(#$J:8% JRLMW*I>KӍ`2U=Hݕ#x&9'珷q~vqp҅Y{)G6Ձ)d ֙=drQ<ܢ`8O^L;\O~rEwu~)z*Pѕz%۝FOCtF`I'7vmnҵ׻\X& ӽ_Of-6\S\M%S͍_i7ÈڭMf-Qg7 zN(VQSLGWZe_5; 8M'3ҎmcFTss;@ l:$'/bm@Yw>Ƙ){aQOhQ*pN~KU=`+%2|8Z^|zIN~?# Ro38ZcÙaW=B2H1!-; a 7üF;57K(s*,P!'Yy5gT˻Fه쁢ub 3 r>5CB8J YN `y^[/m`i_(hDiEgvˈҊG8_s&ӻxm Aw~OTUrKFӃYm_y%zNv%T~Y\Lon]2Q O.R{2[OXG&c `;9J4%D xGl0se/<3&gVw,]4#^"A#w [IDu_,P2vڋ铖p!nj>~DAķ!v4dYjwp23|m!N>M5X'v{Xdȋl=Ɖ^wr)TFZiNREZE^[J0boq1.Uj8%Rצ0ًݒNH#VkOB8|rϱԓۀ #*Wb!l '/G8bvɠW!/[ >@!gɼU0H+Ye`D _4x<GBm |yB'Q0l['d>9`FZq?jV5FkF*ǖk7hA^)Ɍ⍚r$1Dǟ1ѻ昃VݿLN!t5{guaz>P!/+zHL0")>-h# ulKtr|Ȳ>\L7poy}85o_(y*?jL39k da; 7CS[B/E)ʆ"HBĂˬ ~K/c}zlY* 9%WKSq` rDe؅糶@bȉ"`+mrR[d: E.Ȁvˣ>qQ7b/qJY`YZTqhlNxϊ,ucwP( 9-JGlPI\zA\q}lӺ2 Xi]Q*6AWVfdp-=)\K_!Zd]B,Wh0=4dsRCt3 ,{G {ClKeۄdlDfIїXɔuA";$?vuSp=GrD,^]-qBVDXJ`D`vE9&f`V%`ގ6G̚F>=FAa"T/7)kD*vuѮߚݏ]5ekUW&eOR4&w$HBfb%8j* CC`* H([7P \l1(gAhqZ$ģ~9F8Z9O h]߄PҮ] Q&_% H`MҚ /]jYJ%`+6"tF:cU0Si֔K A^k=&T^9[Ub :!*̏ %e;[YS'`bR nz^YĎ\LvfWr0[Pٔ2Dզm83gfaGb}G $`΢ @q7ҁ_Э_8ge@@PQ;W~;yra^p5fFHn9RKe߯!^ űrz_8c'-BQ>{?ۂWQ{3cIOMCX|V{ 8kK`g, ZKcD=w:1o h`ps(0$LcWWz4+>$0$QSAn5AICt5):9;b+_P`D_˰dY4 >g]lZ;_tʌGZ#+Gݼp9I׍AӢ,N291?d:zQ[@+BH٫kt.uI3[z *^3Z}r 2=+`Ù ޳SP_o>鋯@+||aBtŦc*&5+yOM,`TX Lb&38#bgN%-b(VEpu9>9J([ _LA0pN߽#X;&?^E{$'*p1$P&dxlF:LK)[S|d#`"1fx< K0A,,UC*~J[0? !' V!ݐF}|V 2MQ(Of1n0/'Dgr^nl>nC~>n|v$5%*al\ԅ3fjׇ;GR{]CN YX!'K=n(ZjN>gPĤ.[ O0AH^zuWyS Lcvh[Ês&Hӗ(6M;$&{3_eV ̰.).QSؑ]ېs0h/fXh>2lp5w4|@@YuK@X.͌Wψ8$ʆJ!*CI|P2UF&ꪇ+G&Z/X8ܛUx3T!l<=SMDtTM;~%^} ›+$T >νubM(]pq1)$D Ќ.@{lニЬs$ֆ0/! NM=9qy@mA|8I1~anx9dJ 9,Kqf8B4vWs^dt ~UdIYDc>e10˙{ؐ՘q9 (wGYn}+=+ LЍ topM?H<\ɏtf(88%„:cLM8vg)}Vym50Ӝ| uthF[:7upymY DLLC:gp"oZW*KJѕr+^H hm>a:ʺZsL9DѝjL:ՔFF %/fP;2Şwcvp̺:;ߠ%GU$ZAv6+"~ Y\a5*1J~덨c"W@*#% vVu/Y,}Qifا`>Hp55'BN}/3!4zzc yi p~ҎY~/2{ Ɲ7MBeq^JO@;wxrKD8tm_.h|}BygCMBdB`x">qN c7G36(`5հ#fr^v6@f46l1I9)(~;S{Y\H&s[b>5E7> oC@mjу`EшoO!w?~-J-@<#'<.vۯ3zs&t {TlhDf9@Tq>)&=n arcK& '9x{%RVaWL4ӹhW+?~[ z#B8zEq1!.!ln0I}`7¤&4! $r܄HJlgvWД&i5Ta6HVG۲R[n[dI} cR ݀'3~z7{6]js6nFNNaLJ_ì$mw^Ii}u{' n,ËM9`&M=Sb<"Ϙ$/xݧ>4hhW3jHkvގe!Ne`wNb8ɲ|xE)w'`S׍HGn R*[d=wI,iSJ?I HSNSXc' vB&yuYCv//{vr[9vK{&qHI`w֓*B4=CA\cyNdOYMC2D4=l~IE0{mB-"i6#HَAˈG^(!5t%0 R?$8v"crGʓI1w4ou vKٻ (ͧ4m*PMG؉Nv/nM)vD>ùd[RK2vHef3 Q.U$nqT$''&|"ܱwIgZƧoILB^]Azqi;Ps@~ #ķr*~N3ەzd1F?cv`!c³ɾ q/ߒTum r+'֛ϥobcSIgo ӽw[&|p S LۃFxS~Lq-sI4{ Q=̱>5.3o[c*D;k˲GՍBUi9}}pNN7 2+^{>n*_MBև?JWK]@;?E'ګ%ܷޯg$ z2/x_p<]!~ z=*͙MTAh Nt%h"I__wWJ`Dާ\M\:M&KEΈ[wGӥ>[4M){ޯ( NH^:pjvNwWB_lbvʎՂ7%ZpRcDwA&)rS);V ڎ;G|,';$v,JYOJ`,&.EdJNTJ¡)K (ԋǗ Ʉ+Jchχ޺gh\2vqgJ=m.涶,$% ե8 1+$E5Ax-ˌri0f$oy G69$J wYaRig?woF9VIa[S]2h" +"!IHB~x1SqzO瘃N;FM`FsT<7Tsͼ$-2čA=籑ɟnpDINY$!lAھI~h0JLk@11!ӽtfTi] @֕2@ϽY`yv!eG4vWJ>|Pww@i.`Yb"BtM iݮ( N6] RE:~+Fş&/RJ8-eOed/̅bŏb,C&9ERv~'⦝"[J)Y$98Ϫv-nP0 or bRiALTQ̇mϲd_!B]7]}v pdʺ ; ֬($9A[?i&]D6C/蜑%_*x[WKŤu ! EBo\g82ī|zWفe* Y tC"~pv ҏObNxX@;5 6ӟClpo}8}p?Lrz?E9. rTz#j:LY1ĝ =w4RT:=y'tm,|/|[v̀3FLҙ(zWaNNJx̛}3d!zn)e,|n[ O͒8,Ӎ7J"6T0XG .-}?5CN6* C#Y~uIC DsL'09j+@ڐt'%sDAw|11GWq91a*'w 2)`eYVMlNYu(Vx7p,,MR7KH|rr!./cqo AIN̖ڶHJ|rɋv)\+,eE xo(-L /qXXܱ,KbKY y(da6pĚ Bm(+gSW<|%V,dVTX_Y`-wY+{e-,3Ymy1Vs5op5[=":7ѻ~:Jqor JAs$4*%x;ID;if,}"񫳳סW}5`.ȻAO"]){+*̛/Ъ X'R@|UV h뮊1K}R +] 'O3,R_GiLI_`ݘJ5jI1V]u6/vÍy3JK{g 6*ct c?I2M~3!PKiaLBҖYi'GRV91 #'W=:?+xMrRtaR3c\ Z+ARNwݛΎ`ۙ T4bGg! d͌koQZ?;doWX^NyA\fWTn!%Z<"'FCɧ^ЕӢ`>gN1M鸀y5'xy^`[mg&s~E 5J t @ kHfrMrr?KʈiɉfDd>1f:S+?&?Md/(|1W `B?TR}4,9 ? |6PbM*QSEڬH`ZE$hf P;L4`HIG`~IdHGM}MAd1~EN\R"Ƥ|Y^;߆ %ue?vb+g½Sڇ+Ŀ{+eBKD 颚y_+h#l]{NV?*]}Ow5!=|:43('̘dP#wI8z/4>>3ş]2ɬ/ڂ+Q)J0ɧK͖QN3V3cNщg?5Ou#Nhd\\2n@BCRQ1S>Yr{X1vF |2LF խ2-~P-STK28K\QS| c{/$o-)?$pt<;GžK[?*^HY~v}Sc2XA:tM5܈m+U,&#v_DM}*SS[6.>pxaBXi~\ry5OauY|`i>])]LɌeֽ(V-Uxj(ڇnTΗSiJ|Ä0Ko- T~/S/< @GW0>krrO@++/[|ҕSî5UrX3:̖7 Ȇ'q),5k`03{#-JS2J'<99`X[lC3>J$˜Åʃ\hlAiҸ&)w+jOa7u~r4*5Z5^y)/tufo;'JjVXNN묺C6w9 W%)$Q({YY ua #kj|bJUPzU|w+~zᬱ bIIhԶʎJگAs5g$JRSi^rlv3iӕJX\@zhh /ՅK^/\8"1λ[R<K9bj0{\;YzC{fotЯ}x_ LB6~0R(A1`V(n([Q?vBf0X!P@%663I4dodINۈFrbEҐw$NԀsyz< gfA "o2H:Fu!dt|K=:c؝:7Gɿuѷ7 t_з/9vIl6%0XI>fwf]xࠌPƫzZs~eW[t%' = | 5T26+4Ec-=(&Hڟv圣`k9 ba֙=Gb3ΐyU~óRye6}`b҃p˻.7 KX:[σqw cYpIv|R ~Z@?-1\:ZnLJz0k 6᭙|I 0"L w>2jj>+'X9v$c;G%!%o@'GENYf^<ԁ 3NMǂ,DzA މ[,kw`gQ!Jv7N!v&b]k7Hdx;ܮ̭ $- ~N cl8NP)lrB!dIն6Bi?I54 f];r$|IDMԦ-gbehKJ`;Ͼ}i1=`]ՙ"#Y9T"2j|GSѯBk0>Bg5VTv^֓=É+JzLb | "/96p6%hƿFy))CИ=X bĒKsL.t`r) m,μ0,*QSYYº~`^| lY)P2]rPõؿpEoGݬNk7κ ns9"h==NiƜ=Bۛ55pʸhyaSh{k #N!sVɏKM©gj~&Gc͏'cd'/yDNDSevDNeDg^P+Lom;Uau0[8uX[ȞKend T79JB-WldWSRYW}pwŇsgEte; ڎJ@CLI x!v`0C&7/5#'?$ .W`+2( ??k_;_&|}+ o7m^̙["?-J-ѕé`[c㰣r:N4ܳ;u3b,jNo /}pR1m7yþ+и!;,g45',쳜äx5=>𨇧wi{IמaLe|RTi$֕ (I2M0.8D(drh[tcG@$-XxaֆV=ՑDFg`*|)"A돤qgxRJ3KA=gm9&ʯsK(#21'\ݲ Z;uFA=U$9K;Ki4h* ,³C)pd>֍Ojr\ "@NXe9KUg71[X1Wi*δqɾ"2-{ͦ30|[3r&`% [4* iQj3(V;&_8+vRH}a,cJN°vS)e\I5;)/>x5~XF ][.lnWJ5teZ:fM~&|=(# W272Oh2OFu8-T#}C}m g'Zܐ$'^y+LN&=Ol>bGR, r!< U=误=HөJCsZ!AN)7":džG{.ˡI91t֣ҝ=*5grp҈>g}}Q4;y^2O ѢFT4\{忀$A'A,)'&A72"ȯ Ц +fwfG_ͥI>!2H_;f0i>{81]ƤպL|}8Y]N:XRaySwh$M/2VLN|BUuPUf?#T=X[&oTJ3U҈S|ĹЯ vscйrP<ɘ/A_5}rԫ .w៭GjsC;3U,*z^{}7MdJwtQfn5cs`a9q? M'貳r=Z0]ˏqoWYdׇؼJ: Yͯ7I q7CktW֨s֪E&u ",&u&$st8Zq6 vTCiӟX,tm}J9r*o\ZE }?iTtR~dE&+ICNVk! NG`e_b V DFN)?nB;Wj.$,.{5dZ/[P:XynvZHwb ;5 5>RWOg d4M錨r"=>P7F% j$tt%֕2D 0E PiH%WH&=  iհ; ZsJ2 d5NMky0dzE\p.@h=o9+^-J)))ylv[~sSc=ȴ^z{8n"]nAɔ|+ At"ehJL*H pDB|P^!7J'"d#Z}:7&;3d4Ȝq;^YVp4FklaɗBToN3P2ѝDŽ8]seMe%8Y! eY}\'Z䅑f\V U) W9ϫ`aAR#t|XF!}ZhځoRک-p2Ȱdi$_e=ON.kR\81čg{b~Ig/ iFBhd/gQQζM؟/ g j!6߆Ga{LUPd@.ӕr)6 ~q}|Y$ɬ">יN62>~TWqJp=ڸ@#(1OPf87U`PͬGr_2f5!ù)h8 Eb|82W^&j<]f` Zq'"ڝL`^>_AbA~(h䂢}G#xt+_r2f Gt uau|3oE i%ڈivꝜD9^O̙nP(W>e1rL#GX'ݿ)K13J#nLùucײNue)٪'}1K/K٠h5Gsob&^gќ^"?~B筋2 ^="}∤kHᨥ4Owc⺡Ed='1+ o1񕓺~GGwZ`O~X@"R QzR6-́v Xk0g|7;}x;&?c2'ș 2Y9!ZNrG1i X ުw3XW^'g;0"*%tpl%q\}Y4m(TĊm]ȉ|mHɉe..@*9Q_lzE$CB ONN!TsʳMY*'31?ʉpfy'[]AN<ȉu~Zi/8bvum/vػDv gA&`۝>z1,e $jL)>0Zyz|ڰ;`X&'fpBr(\de+>Njn<>>=9y!e '^"'̽}|0|6% X%ꨉ``&,ٕ3:`@+[)H(U㶵7VZmڻZIHBP4/ʗ|2% 伿s}ٙ9:׹/vfJuaJ /L_yu+Vh]i<@+B- 7s)i4B7=OO}.0YVҁiSw5 ajcS)~Bl1ՕH+iKNKCH[̛&aT[O~|RvH m2[; NaC]S1z̛&`cQjVP+y eR~/6GMk#BlbioAM_GJYgA uniV$a0\=.cSĒy:~[R2i){hY풄iah6FwY JB8f-SVO0KhG15)ۅkJi$s $Od*!wUaNGw,^$,"G+(R=Z@Z6Wk>ڼB&?:ž/h&ac\ltjȾ-EAl[[Oʊ<]yŋ&/=X[2lj=} zm=p<̟S-*O?bOdn{ 9X<[u>nیYW2@k>jOWe_&Lk)QGC|{(Tg9fcMX֍ <& K5?DZX %H/sI"B)k !#BaOD)!0-)ޒ|._j6HCo_ A0W0Td2LOÒ?D[@HKVI v 'ޮܶ/2vX} ^.!oɕb}-<A8vd>i K br&->duœ¦*-^Qj,叭8F*7JJv1#grqĜY\`ho8vGH5 i7$ѽC 'Gۿ W2QO)ekf+!y|K&5VؙPlzr4-bmҺ;bJ{ .&{R>97ӶD>ݗx<_n%׋cj&38C 0ּ-VR]ab"Ծh{y }?ñCH' hB|lBv~}\BZJmC[![̪Si#Ӳ%hB:h1"w瓎Fk3y$29ڹ|xwX*hJNԚD3Y[+q*F>Eb} !̈zNBvzDf2V0Y 7˲$,Ͱ؝C1ֆ]%ɻz_@Ia2O*gu,_e#>Յj-nSZ_]=h⩴n"r;Mwp8e$ئ͞%F+q؜'-Nv[ mdlXmW;S4SiIE3V0=Q6*ds 286)˽r[JӃܬSSufZx%g zRR¬DF.3,-0U),B(([ L @zd;!zKE0Xp,(3'd7ylr>L1/@rWLGƛb\؏;X +!$@;oOS $8'F^)2uuF ثeQX e$լ,@1#S?)/2u=8c_oX 6l;O 2{X mRXB`Ŝït>ۭ;vأ!YE^ zl-X{hԹn =&pySNx 6۳in0+vǛ˾4a yߞW*vz1BN_"7y&HCXŌ Ŝ)5~gOH|asq^D\fn=pu {Dp1܎|n8ZOH@braӣeʝWx y,W )/4N-4T^>.n탟uZ]%O.x\e>W@7j<q]b^U.p & Nǰ$QT탄°FoYgׇۏbdX" \0lrZ>F0b6Hj5V  ;̶> 8zoOKl]-=)=&yR߹mtx͖/yBg*趇ӣ]ژ8vkF;Kld5Ɯ>ur`(ǭ3OhUFɃH5TۨgVk2Q<~yfbr""wf̬kBuB5o3o,w]OkVT?TH>V% V(xRX%_PeRJ$(xJς b( ݂4zn *o \NNw/ fhi+6~%4)չF;kq{Ts!ւU rp&,v-a҉g^*h44^l*?qM!zR5 |'=]JwB-7}+E NcJX+&4)?Jo^=}^ a qK>8 !^jo+a Y{*װTc|= #7B: Cq[j i Hn6rxۻx|*\N vGǀ2_wD`/b_/MNקi`\N=è!{S.VLǪi!cN4AvGͺ. ; ީ./cחS;Xyq֔65p2lKA%y8+^zF8%T`{OqҤ9aZ[Ae;l\ub s [n0 ΀ v>:;m}Xj&E0q=}QJLd#M#<_@OˢJ ~?['si٥Vcg(cv!/ sxG 4*풋*ܕ 1~BPH2# x8\ T0Ŝ`H|\^GSLnU(1/`.@E50Ĩ2R!1J5 o`\@R\AM*J`|#`ޗ+0&GNى7b.`hq$٭07hRaQBԃl1]ʻy_Y5*gI!V(cTn~B{سE\6RЏc9Si5rBg,?rYG"1C<$ISbJ}jӢzN<1JيJbDSyL,lu6l4?&hNoN7_>ѱp)ܛxڣI )CJ^Bs[B~HG55l4P~bgYz,ny8BG巶죉GCZg X #%G||/SmG"ڽ:u.0j,E /.KcA, XX仂 8Cȋ)ײK2z11q%M' 6N LN`bhL qp0SݑOPjE*O]"_H3j:PXS> @짗,&asӎ€n3Pξ%udCGL[c*r@}&tJiw4C|0( ַSjtc2e״~оtUo~ơr$nԬ+ MM6Y}B3HY:Sosohg#4y7` Wݵ į(gPhf+T¯[NR~-k/&v+DkA`LEvV 8eHYQ<=L B i| vUM(ww?}4ash#LlTh!69)>Bh]-0Ns䔛s>EIK2v~[n\} 0ٮ]6zƍa&JJhLy}s(0,exHD[@{Wwƃ^5ՎyS{Pvnd1؛ 疃Mt(-*٫r'WFLB&1H&5ߊn}[bJ,]%8rjΓ1XڪTAh<1BƁl.S 8~5M5UyI_<>H^2ݤV*سU% |`I؅dY8a?CH r[$?9";zab^Xlxؿ/ҟ,n%T>M4xŌ+FICȹf+Sa}BUq=b>COqRDz/巜/z!?t\/o$V8qV^-qikF9Zfg$sꇯ2퇃ƸiSůhi0Cu_w;ȫnog ɖa){("y\^R̙{o 7q"ك'Vf*/&-ązZXSg|%o^#VnsV2?̽Zsg٥ꈟ3-.\=V {+A a(LAiOJp *zh85H fVbqf8Pbl۷H%g e'8=zHkYPARw'~ǵ *8 3?^7b׶>j_z.IId۷H>ɬ2v"&T\lآ4Í  ls a7E5JHh&o,tLXOny) 8 )jVC,|j;Bm}L`<_yiv1my:Gfq۴"dc B3.e/ܒ|giwž*鱦+ǝQ  (Orbc2E&~, `s،?CLT\P G,Xǭ6!4+ V6̣~:W.t^dE7ŋD5<4XI&'nM J1LRwzv6qO3aqCX=B {=!׃Fl􃌃x~ie%_^{M1Zt[w! w0뤔K#^<%/{AS[cnL_Ո̓(eFyrgG>}Ѹ> l~s+q[kZ =xArzӛ;:?B-^~"qHSUޞ-mYTU!k$ӥݔ\ ?7މ挃m38 \k*;/aO+  xd"I֚YlcU☤mƱr|(G#;҃əԔ2 nHkLIl$D0;䞰JّhfM&dMDZLj' 7Ic$ػ[CUmQ h]rz?܁`Vc~1UqJ)azOIF3f\~br[ȷv%V`p#qT`'P,2:6~-65ZpEP?Ѹ6?&@ffj'0*{ْj꣱rji \ WI~t X7Pm]xsvojJ0crY|,̝(n-aүp>6xk"_lk}dSTill6xhm_lNry[|@[eM|;I(.hiL|-$.M7o4íjL"K϶Kʀ"K̹+'l΋ *wn&Z0z2=@n &R$|ZMMi7U &'mx̲\6$4 .4M%l^>I6Wp@ coŠa{n {&99MrF|{ۼVdK *%A*bHSفq'*[19y!kyEU 9wyTD?knb*O̦#q[F\;{lB ׳=[v35uue*x! v:vu,TG tnU>CvNqcsQ}jW,O5WcBzw&0OP~Pɲ<1H;5& 7ޙW=^$ӆ@ 9_xqd$%)n.>GiMFϞC"~چDs!tFe[gExH+EָQ7T5Ea݌dq+)FvY8v!E|B8&V/^0c7B&IaRzn/R٥KězAB^3YZ'}89n=`˓W6lM};ǤZ7_k/'K6ݢϲ|(yV28`XgF @N$ )ON:BNܿ 8y:ˇh;&gjL 18_W^)F>I <ף&Nܸ7dAPwC~U #[BbZP=T2xݼ}W ෞ}1)GqN#ԡ;vM+ PDYu/;kg(T3b΄d9i i~}AiٌvalLȲtPc)Y>$;}B|9f0H&^ɚONG HXͱqeq,]9ڢ!Njřry:2 qxj?@h *ޣboςn×aCǀ88v򊸁>0b3y6K~~>ҔRl4dlQ[8 Aؽ bj%3nI=rcWNzBhLrJv R"dcgfJZe㶏_%uhВH\+%Ze2]iƜaŏAĮ^''q5Wˊ~??>L! A?[lzhr/6YsMÝm)w~YᏭy2JiʆՃ?f/Be&0 A8jQrgTq뺿ûgAEKlC q\)@:Ur5ɱQP!Ǻ74 \Ku mZ0l-lFr'-Ñh\h)p0; G=HnR`?"gԡNa`/*y0~ q!ٽ\◼Мۍ>c\km{W-w 20Iggh\FZ>J)9n0hieYYnJ2LVlέL&)%=d0&`CɟDzI\um)$cweÜ$nBj0QsƞG&G3v!ϗI 0@[c7o鰺 sqkȝƑN\M#rgCKbBhiv)kQd( m5hh#R'Tv\ ̰T$=Bڅ BJhFspuѻS.nk{Rjf?&CI.h\UIb$9[qY-NaH|#k֒s*5cm}M8wHoG҇|So꣣փq~ZcHǐ"pցT56Br3bLfXai6&ܶb#G`y¤2Y`R:)d9-[L'cعN1)_TZvs+ǽ ݉uJh>vjU؜*Rw- Ĺtc8hN 8O~d^;{s?3vKъ lf#Clb*y/~HgC{جlxmrg" !T_nO"#U V !=H|H Ăg0|"rKyG9Ep]Th5IĺD:ޡM%&q4p 8p ] wSNjie.da*]>tHE C"MV]QVlh{X ױxO]s$ʝ e]bCLm4_|e] I \\J]T1h\ I:Ͳ`bV:pK8?92@Rg<9rgpۢ cqI}D Pa7%/zwFJ>EMX>ʓ^'YOՕbr<1ㄸh1*`3md/|ifՕHKu7ꅀr -ㅴ\\ϑrtKjտ3}ƽYKuoy!Tk ɢam6NptAQ13@8c]P]l(/1/`̘gּ矴7`˛ּ%%ta͛ Œj>2{ؚ79ܦL.4nwÒ=FhJ,U))kf^ ]R8 ^FЖt8-4elLk(0@ LQ/ "S)dV'a89hͬ vvP̈+V"[_a 낣j&ְe}-՝Fk5U;E:zB|i\pw=@N4ƽ-4԰ͅMk\Xf6'Ɍyl&Z66qqUNٌZbI-ǖx0Y6>!Yq+˜nշCiGj^^"m< n(p_pLF5>(/|-VapN38ت+t*2v_pt6@1w݅v/7e*[Es?^QGvbh6gec(1W`NǍPhiy*7@Vչ;'x^(+`x9ظjŜ![C1jHad8VF}lTąx8mmBjƖ|Ԇ\QOĦwV tt31{,ckIg'b,,Bzƽ`Ro은I0i;]3ceV «i~Щfc2i8}|LnDquw9+cP9kD/2k RXJłbIłg ^JZ,xYz.:DZ 7˞6 F˽4zl\N4eHL9$KLo2"Υ^P3)>|)8/!Ch'<^Nw?Ć!9m~Ӑ OV!#/ @Y5SO&&; 0V )=˄fCk CP`]I{09$B- ?2!v2nZlU1rC`@OoE_[([dz}kA"-JJ"6#osY9kiJm{h sZu >Ž^G}SڼN͋ahƦoxE&JifEb>viQgHc)HVh$n+[?)_^ ]xMJy '\Ɗ|vilŭJr$.hCњv^y=5GI.Codd=!Cn\\FX°CFHg=93g:tJ(6z~>7jtv5{#"r7d^]cYMd2'dq[ K:@I`RCd0@)C~v5l!Ι[!ulGv?MN)佈 g|IrZt}.bLTQoD,Kۻ8JyH[=I'丝O*O%GYj ]{W֓F .vچ2"kJl 0Y؜ ͅ)F,;eEܤ)p,EcEw(H=e*9#wYAޥ9,"J~5xP+<@3{,Lq\X:CiKYh!;7=̫d(1ְ9I{1IOkj1xb0\pf5 /%]dZ݀\9[f,N۩p;1ͬddlI?yd 3p.FD'Ef=z>`sQ^ sy>I UM:±ҧ"Zt-r$TD,[Wyς{]b֣vabE6]ysDY.2⩀'U*bu h֟1L..K2ekan뗎 fn:?XF;kjXrxz~D+0,lųt1q5 mу-k nr5k4[f2sp7Wi:HM@Vvkk-HR hˮ >V.nT081VHe^@YKh|` 3SjV&TB[H'j^L>V U!kܻZSCR' {СFdlykaw79h=ҪYIZuh4"rjp x=9+ĉka8kzRwYAhbVvlW%s2E/#߽K7'/Lo:L)ٚ-lC)#C b.ωX 4p T$߱~us1.wՅ <&6g$cnalY"38Cx5s'WR c,q#`!Fq: p<^I)g8DJzN`s΍Lh~w+DooSlF2d㕬/ʼn߃*3KJi*19۝Qr'#ppYXmr|!q4^s 6o4gME1 t۰c(I~3Qja'u0@)i7oDi%?ݪ-ol?]͇dqHM~sih';'儘J]О6BUeAh}˃q-±1",w`8+3%>1P~]5u>. !H?CI,qZz61dx,{>aS]b_s^c&>Es>w_>sKs.΋blͦo.t]3Fg9Wh98V_(q>JSx!^~-+c'&eT;8ēRKe^/!bP!gTXRk/ə_qqx%ȰZP@>x$>p4I"r]bjR..8c[hQ&Ăbg7S H)J 7/[2 *0qc0|bv!5)Z{TsCp!};,,TI6sR==ZT>kk.J۽pr+gL2Y.2}P==e+x*qCZhL1 J4Gp`} {h6,ԝ1㩏)m8WZrbpl U2aTA"7զ*N]Fn)lOmN3 yٱRSƮ'/r ՘ȟT WqC wa?t?'/r3c@=FoiDjz'"O^gpܥɻIc|D7\NCVJV%XF9q!vJ=D!J+qt{^d] Į^4JozϋVq} 7$,$`K9+#}ǂz\ճ]VL3 |5~؋QRg`r̊qKۏؼ)q(McmD۬q(B~/5N:^ ЋxqoIڜїzh "ڂU}98J@ih `@8z'؀kf$c}4/n?,O=ְv5O @D& (dA υ J w Pږ  Z~V=}~JSD 6TRt(OZKg'0"e6Wpl_8@qCӬM XBX ۷q(NN-~x hjy Bĝr,N,7c`7L}AJ:=N;CllCI|@Uu42 uq\PhUGBO$4:H4)(w:( 2o(D.@~ڟNK)In?A_r(<93 ;k-1åj(cM,.>3TZSSۛ#'V_5oCw)oRtۻpB׭DHq.6۟㘴Z!ײ=' ȢcݔRI啢N%Ǹ5Ai)/b9)K3w))֚lVDÖ,VV ؈7j~ 3]*096լ}=`u.n!دnMͣ/X=tM{R,dŕ!cU-҇U/kxFQ7gM+. _SMu?1_mבUj\Gxsl>#짨( KE$[{B_Tl4O3j5B9 r'wյ/muu/Tkk)gbT|Hyp^O]|I~{@)i)6J?EY%=X'E(g!,9n!c6քѮAh8 @jleqtksB8f4%ͮ BMe 3^k֤Kay\1HS~nQj\Ǿz-J8ijh6~?44.F);b݉ݯ2RU\L\EnLv\X6r7ği{%$3i:Hiͷ8Y6G8q6&fcr|MH⍰629>:߯$L?@p}pSf?ja6 %me/؋f}~FP-]!}8K c/xb9+>1>V%vל"BO?cd`~LT #"j>Z?k B7-M\Om/y!tgk}cgJ~}yKD Yr&7Ըmd}U/j KgϞ bŜ0GY?@Bkljac]ҏ`OL\âǦT/"FlqRdž3rg  s;3 g;@>G됗y:p/oBl%6X+2nfR[^pCL>Ɨ`ȱm>Tl4Ǧ`Ӓ]ʾWmBdrSj8vԸ4MdT ekRs^$kkLaپ8Ƶxc}z865PXL;m\> 5OJFOu*I%4T4ZiM9ij9 7:~ U#TP:ξ{wgv;:l4K jɹs; :{?.~S<:yjq'0vDy"Rxs S]{ >c?vo7oEDj]9';rޟ6)ܘ4Y8h.P0bCd=]"ܲڜ= e\9jrJ=O69\#eP!+ƨJ0;i3j<.Cj Ow||OXU{ .mxt묊*vЬ࠵ū|1*}_Z=Z[/Y_M_{~ qyg|N@sGxhtBk}|踅|@y Q_\;=QoB{&g7>g4az c]oC^7h.6=:} H6N}rf ǾO@^Z8}@=(DCCe>1C9j0`5i6!jɋѧ^j,6j̧xĥT#Cz8tz:޳ MTTja9H;^OEə0G;S,pV"27n$8ީ)G\|f*vG.φ2"nھA>&pTkVDHr;4wXtI{ϔTVdI5ctԩ i$mTp<+N68\Tpz>zhsG{>Ū#d4%ǎJ} A-̓Džlc,>ʄ͎d=WTfa6\>vz.6lxh1~<Ә,Pc *2q3B@ GwU",dae1aVm1+4\V@k|vk+d=K`mŰ[{י½PPz>PڱZ}FWd>}\ٓwL]lokII|pMb֮k(cnU'}Uo闏n5xR!:TVC08 'Wr:  gBkέt/Vtivk,J#)G$jz``*,a0VE/i,*΍0ԕWLWt -WBwhAG0>SßncJ2Mo3ɧ06E#6Xs9ؕOo59J|bpzi;_¶FFVkU2. J\lul hP UMM[Uyk@6(y@-? _rDrfXlC}6}j=ʖO^沯3a2qd޿aBb4cM ܜ ׯnկ*F}Q-蘛*cV;M48(Hk^΢0H uHbZprChHA_LhY%/uK:?P5q8md 2FB 7G2D2>d!o֦IFbG?ڸC_EJU/jE5-=0> Z :y! 5C0_0סK HsYqq\!؎a B;~)zBP":}nxaHD뮕QjVPq)M'X( !nAn)>0ZpX}~X:(>"K=[-ÄXA%f/!ɿab?AXe q FU((4S,uh<Βu|,Bxp7*Wt 0\!3KP/ ǂz44 *_T, ]taT"b3  9Z> L2NsL6kI5u7,qhw.~qyxhÚHo :|9u,a0d}Q"1T9%h=mwu/1N^!ZϪVVAü;kZHҼljcUNz ^."ERY0|tGۢi_pPwLN;=_Pb>զcO4jiU< 9*F GzeX'aXtFCX` ~~tmP;_. Efo_Z =<YEPAdI*UzaUcV-B|4#S1wdTzYܧ6k*z\fP!gA>z+3 Z\ 㞉Z6Dpy(%zakJx/|.sCF':c ;UZ(ᭇ1Ɏ\d~O9#bɸzO'4to"Y.#^$x}T>{ɠqy #nJfM~AAH0RueT/'s+7vʪoiJ==d1= ]4HnjKec*{ 0ɚ01u"L|3%=.O&g\m$5qMYܩyE@ у HW 5 lSP]ڿl*Knc M-|쟽CD-^)KФސ m㘱V x+L%tSٙՏ.vɸƣ#Gwz!-堵I6'AE!xR!)pƭBCFp:z1PA'%dh[Ñ0ld=g@*|y>d.u~l n*/}tc}|l| ǵHeͤ$ kݙ"b_Z1v^>h ȎĺI27,=@$֡Rf+XEXNB][yULnUJ&=^5W@H ZLٸQ'y/C R:29lV A5 AX[zjGY@Csv!喐zTڴB"BTO2GYl,Lv RHVna|FXOW -x#MRP`Io5I `~+aƘAwBue^D/H ;LMAs(L0OZ_ъ4:(Z`ΫiߤMEy)؆3,d+@~н+`V}mAgRR1}0ƞ_IGF&}G>]Ɉb*T7W>~Uý8Z(ɘcAO$3V*̑pji`9b,@FW1aM[~EKTCM//AрHٕjO>]'ʤ4 Y(vy)GLh1{SzMo`@q㳠dGM*LNh"@1<4|bzYaJcdm"\T-/roaVؽ^1OUcN="h@EHc&bا /Pr ^vD[A )QP Ԅ 9K:IudJY,g goZ,﷐iдhZd;H`&kP)804cඍqsQϕSeQLJ6SKY)tm VYЋ*Nw}Zv Fxx.sO2eA<9G6F8տ&je <?:/_,'YG/pT̈́H vfEm>zS)`sB>wTJ|;x=tac?şҶW>!wq6R=wW/Owl}$ʾIᣏӫ71ONQ]cb&Boiww2y"OyDM M`,#V=N2"|MҌ-BJyNE5#`w| "a'75MM` FwI mv,̝ s P~URj,?˃V -?>E ¤l iKxAGkYQ"`8c#+ e"c4ّ$15 s~$kC yX5³ };i%p"-8O77h2vj`gt>7 94P, kt~L{2rά5B.fRt6qQ[t6Crh8ܺ-v4K',*=]4 G2|lrt4FoD+RAu"t>,0FeBe#:ed1VUo)x h! Omi*V+ K az؝Ggj*1}SQj c 8Z4d*Vꣽɇ^Ώ_@e_zZ3VNhL 1̽j|=@a`R;T(jU`ZĤ ~0|:'\COAG\#"X&NLZ`QE݄ /Wpl cV} (:&CK+P{ y $~LD#)YB@B~xs Rμul֨Bp ͍ 3<@Fɭ|M-|r&Ϧ*z` ;0VyNBuzs9={[аBљϢ3BF04?0PAd|Uі̜13=GXX5t| u|:uqo3_,Jg3/Jg^ސ^7Ұٞ:BE]ΖA@F.#7=}3'I|a&Q 1g'<فgh ,[X>,&pf $$9 hMyo> "^aQ *>CEw})-ZB/9cв+><0 Pc1])ݏ acO[Ȃ !RU gBMUhɳL=B[ƒhoc<|SiepΝdJ_5rZareJU?;%>@ЉH}yUޕ@4;R h:)rumDN?Ԍ2XO5s)@FuލA24UBrt W.Sn&@h%nڛ?yy{Gq*ɜvh4ONeix0\*jTQ/C5%*%c _Ob1 R 8(ɍ؝팒=7nq߰朓Z{aڹKoF*D\zU>~"=C^@? 竏W~17balfQTQRE]dt@Yq&cs2 W#q9oM90k:*Vvi9Fń˒c<+(]ID<CF ~ ͭ hQ.ߤp־kneMyϻh=wiRu 4&BT?G=NWG.$mƋM0õ.y 8q^8q:BYΪֳ1<-N&-u\! 72dth{E뽢 ꎄm^/yHeYH'Om@M,ILOIe pZrD_Ѽ[X;T;*6d浘.83^FdT3Hc: @ VФe!oɾVz354.׶؇dA Er4(#Ùj=Om2>6U^$c\G.3џR/Oi'65}%m~~M[ T{[`&I6z{o˂}"N/_An7,zی,z/R9؍d>b 40Ts6}K[4Yh kɟw D'(r6"HR(PUKZ؃n.4H 赢o!I?>ڭ˘`w;Fq߂j9#0~f=<|d`Zk>1ZS{1ոzf;ePert$IωdpX&$=9PcQ*TAcxX7dX:e3rgmdleX9mZHʌk>Ib]棗" cktȑbr^)G#bRg*?KSSXZ[[ `Tiah=,^~٧Nn5F'e {1z𕅵+):(TAv/km>z{ji4{F ё)ŲWg䣃T|C!hBN4}0 fz7:3szV`j0>"& Z2*0s.VK| B[q9:%q`~.|Z=d zJ|\>v6\-Ś=hP՞.a>t~Y,,})9l}tT1tt&2JisQ#uh=i owC|1r4HP/poEWQNQcJ0Uɀy?8cBv N)PK5|pe4!0Wa>Bcx6لm\#m _Q-M&]Jw B!0m MaBd(ε%iAS!FDES҆~ aaiÝuz])hn6hSDmCP{qc6;R{=gG~= r4OpFG1$Ihގr"Tf@1藳Y{d cc :g]B;kuN c64t,f%[ `\9ꊈ}c*,G]К2ٗ|:5-bU.B4 {V ;NV{)aA2Љqu:Ijn 9A~c$|slf4pMrLratLY (,PL0 CFD.ycZKnh,䦯o EU;$8Ak䐧/F?ERs/όb4aw!NG% :EWH.dTm@j}#s@J&ljOJԅ!GA J8DUԣSR|xoW3B@AoxcoÔߓ.NߓU,"<Ϲ8@An&tϗZ+jzn9:-|_&tq!xygc |9XժB%tX1r@1#\f7OیqAX&蘈5  h-Ԝ}h:hLs+{iETȼyЀ\Iǒߎ~DBqBQy^|a^ҫt|Ĵ4w9$ 1+ 5K mt| bDmD-.P Ѳ 0В.Lm$97iz8CdƞL$3֛12S@IU 9w ٸGio8.^\q 1!%y{%lA_l.չw:FLK߳·1꺱fߞR I5Um7P{:֬gltT!BL[rGEC V|y L#l)\2WF? kMH"| Zw,K}>.> c=BO^?ERa.M[fEm|S՗&v[Zhݱ~ NX9кeNjvެ9B8N9, YJ8|2TH9t7i vH<ӌ^࡙k/BEӝFծQr5φhf4ܴt.A3p3tgYzKIzVIUka/fJZNXޣ~ L( %3|N]:GH3GP\y \w7!.c^aMz뤌~k[!AmrTdĸBCZls"]^" JxՆ^p\8jR QMT?pFLǣmu9lnWgp}T[T䣄u392Oȼy.T]M.,c&4%0xEԛd'GªD9:TRUQR~wD+ IqGEf˹*S'MܩO+'1{ !>ݹxTFdufa\N8d{G݌15e $iY{ \9,vn۬㥞1?8鬯\[G5J 3z\EлHUwSSyHA)%t#VP0XA@s|Ш {')|/s\Hoc4נљ,ŬJj_+GIciJyGtC͡+[eKa5 gI!:.<ȪA^DPo׍S#M9U)-ՋrԤ>Cp$']1yJz|ٞ+V!H$i턡v:N5PQ1@wQF}*sI bidKrMͿ bt M:m+U t*-SC0S*tY5荲!%qi9).8)L QF_&OnccJBܥ&hcu.UJx`4.l<( ԗJnz.H{ϘM@c0 d<.95㣫%>qNxw[-pG/n2dNsd[ yߦ7VG)oӞ{MW A8RxfⱤ̡tG<|+f܌1طg%&y8$Sy(z.Z%kUsъ 3eĚk$m9%Z?58~Rn9-T$'ŚBk&+VChP!:8-ɘ89WTAꊟxJ)ɥ/uU@+qcTxX 0Uzx}{Z]C&<8>Ka"=>;RV:Ѳ:4]5{4K9qSa2jb.Ɩbh.YOa5U$Jz=^]W3Qr$0xF!I䧏'?ϑaO)$#(%7PAg XH^'D- u?ղ\2ujem5-7@lTTŸjՙj>EEh<6܍fnf|;AFe9)[ݛ;LZTU2Dj 됴u^#phqeHt9,VņVTVcihrnU>w{Qd'@Kb׳!h/:PkTtcQ R&W(m5h7J|?~mH>׵-ܣ‰ Y1`h0jk]ie;唕 a]IU- e%8KZK n5hVAr#;"%~@n^t#uH3]xLwjI ׫ _pBEXck "oy ?_%5|I NP|0j :ࡳF]pvT>G#頻D!pNn&,"%d-q=.@m, 0▝T⟦PF;{U Ӿsk ؐ+Rv>gp97 a4#ȤB2G'R^ UB+и[l :3,а}/%_ u-z4_S Nh?.G#H[,1uhY|ݦxW YaAn/~&sP0oۄgAڴA=N,_WBwq)h?>HFXN3eYWKR6>MO~Vw1zG(CCL=ɐV^EUkoUkc:#1&VX٪˨Vz vH xF(=N%O=P^'gκСN]Q >-b4>>u/N&h]w)݊o r.{_υo*k|-m .m$3E8ScIe] OݢM{[nS㲝xo*sd[3КA棆,P{5 ʯ.ݤCGE[ŖHЮ͹)MJ@"]oxו eQD #F=ԚНzjI1N{)3)]RBD>+P\0r 8XlLX Thyhu@&:HBAELjC"bc|ިmW&>2%z#VP Y[I&}Ϋ2AIߍN@;{)MT[<%F+W+&i.:EGd MӘڷcljK+z^`U0ɢg3)̞p+ "K^YҍY1P udY?ngb;ڦ5&[hC4HNʙ^zcю6kUoKY9\wN6kIA7Nrӈ]λ4J|:&!sm{ct2 e5J^+^"'7a%hj@PmNh6N/Ћ&+( 7B$,eœSES.G8ac?`^Hݰu~X#3D7R$e16>1eL棻_YO]gN/uRgo? Wh%L1_zi4s;youK K}1>-kKHMx'&gYd暓јŷ4uzW5"vy?rsYhdA4j?ao7DϔA&Q}7Nj{ʿ */$2hoiwIF0Xymc[|-vs9iʙ27P SЀD!MlR0Qe%Ge|]#YmZVE+qc0oc1P#vVTN-f|KF8H'&LĄn0[f }a_W=n`-j5u6_$S5\Atṭ`svsk"hK`$Vb%)'s}ɹFYA{>"*zZpꏮ旯Q~p_/Ct%֧OvP*8p^kflǃ'6f|O!VϺBWf"Ś O-G(ygO"K]ovLLUV'}p֧?ӶӓV|z|\KR/b'`3)DF }YK Q蹯3@fL6)̏1?Gbv(ܨ.H},~v;sc~o'5gXAS}Ě,3b dY&o(ĥhV=hdE;aΡk,`Mޘ{w:@"Wx9Y)Y>m7nap{ZH!l~HAIQ Ykm2e)#gH`HtF/|gϳ5zؑgp1᧝󀏏&hGoͿ(}h v#B勩KJs%1#T~9 yT^A]MP^zںRijsH jfJ[9*^w<a S DG?@~FaTtc~X&䵓;iAjhH )yPam-W1z!߁vjٰճT2H޹a IGBz_K-Y*2jX8_ XwF8i' 昪j4gCԨ5@&A/y$4\E#DjPHY Rf Exeiw6:JU6mBXˣ[f Nx/MvbvŢT<,*%oP?e H<429c{1z5rhMD3 [g BɬKߌ\-EBKza7ާ'#e6]E Z]¿eCcpM6ڻjiP-b!yڐ1r( .^P Z <1x wCh4I @hDnhm-|fsh {&$e8odoNmAV48:# D wwА:m q6Y(8jq',`-AV⹥?1J\3\ȽԐ5{x#1IgUk,?:Q3}!Vc،g?~ :Sjά)lL0qccL,ozJF?Ji9ӗF= hU g`Wdzi==HqN][s2O`ip6 :Ehrsjg 7J<3&eєF)6/P\(8Fh#>UAZ1aJA:|:s(FzӦ5dwޯn{1RDj{u҄HP *Ę隙k.jhuh*F}&2anjNoy 6rX̃|]US2*x?@f= %_h|FJØ#onTuoP'Tۤ`hw)T=+ob?y Lm{h Ial 6iy)UeUcVpumim񿺕f>4n^P}ysnCu+KPD 61ۭ#QW"<+\/?TUvlx:h.lubQk6WBv^J$ܘ*}/Ͻ$j4W{4NM&'4ևrUAAxI[k6s4>C.'̓gtDE_-&N/Φ6e 6O"( ʑNFTnF j C0ޕdGVz2 j觧ɋ*:?&@`J{mcؽ,\N5S3{N%KVU㝾9Ei \o+&LG" S~[y,p}(0``?M֋fYlKBA:qjn49ܢ#ܤ/x7W26^ R:(Kƽ=L5&'saU+k#DuF!pg'Hl9'kq'9.9~4c1Dc9-swf˂뒟< 7SA6N357 >}ɉ.##l֓n|"q5:RLh!J:3[*ʂ=ٻC1y%b3L5 ׿4hfӇ[!I*螢pcCtSc> hƤQIw?iߗ`՚dqʋ/6}(sOKg-CF&uDTz%, J?e- iҔB\߸N N QA>铹hzE;1Դ CMQ65% ٍW̝EU9y2:ܱ/3+ 鰐p^~**)3hc!p1A&$h_u:i/-D;6ooOqC%v=FZX;4Iٕ>%ܴM#@Z?Atv΁\FfJkn'eUbyz2b3Z ƔW>ֶ-[iY9jE[Er^˥7$T%Fl[s.uTRB%Mdw-z+S2$$i6kK3t\Wd>-~ 1;C(UQ2>Į&%oGR]3dBf Dh"jd҉EנUʌrIzVj׫h/4D&Y+ E.(,rylz~yιy{;%? ɽ*vNS~; HuZMO-ڥylA6F9AW';"skO]>f-!Gg\P8[~ڧm ZDΓeb\Y| ,5 Bp :M+d+9GѨ~U9.&S7ձ\Ni a7_a])hu=jE"![.z27!Lz}A?B akc`睋A, ieҟ@fl}#ߣIyWu׮E*ssJc\. `Hˌ|٤ p q{m΢a/,ss.9wi^Bp1YijL΋KHlȖ,ΕJr?Y6w)^,rfK *0˵"TqeԜ' +Y R|G& "Ϧ_py ry>̋JҦŬh j![cJɃ"Yr}"PM̌ɽаޖ>&Q*?dBAS[Btp˃0H3k:Dhf SJvP(C!.㬨8?7gbF7a:1k}> C |o@_&S#@}2)9TH|Ǔ՜Nḍ?۾; )>E` '7 & nՏ{+0 EG9RLRHWD|!؄; ";EZZU Ig$Dn/rr3+6ߟQw!',nd3+nľ0ׅ.cd~4p iAQS1F_,QoFe{TwF2k>>KxL;qjxԵ6 K5'U+EDVsi鯯Q8Wܙ1g\W+"&Y"r?a+CjE1QZ$kE'lUTfq"xR[sjĪ""O(5W}_w41*.t/{'S6ְ:Al1[Ca \)ld)]ˎP%n}z>6H;3CO_p)ujxy~cIRR:~z: )P 6g|nv͚|PO&n8e"Ɠkx;h?N۪o9ߞ+:tHGЅ & %,g>s؊kBӂB!pO`gLFI]%@?㚡LҎ OSV/PIwO`a[RۃG+S%ǒu?Gl*_s zrR~=Ki&iln nL;uq Ć5d͚6o5Ҩjw^v3RЙ|&[/ɤZPk˦CSPo?p ~ǂ&@=<*U?9ID>J[6֎6T+D#O57a/*"g{=H]=%͗sgK{Kgcbok 76 Ub.l-.Oa$3 `w|8cUn>MsZ}=6^Ȱ)\<5T+V u=EisASeUU6gUTPSóXXaC/./ʽC\ '2u~5g,4Zr|-J87_1B㶖,]9LKId;Xx]Ͻr0S=~g|W83Fv-fb]xvK 9SW Sl^Fَ *YTap'#{忡XDk(F&3HS&U`mhK4Փzkƕy1-AlH=9m -FB"> 6by}IǬu#4&it]$"A ŷ10߂"ƺPT=Id[~BVPچKt7ފV4ȶ ZvGܖIf~}̜WRO`DKTr0fF*su.CJdWF-[CwB?cc-h nE^P ߤjÑ*$E< ,x8N1|*Y7GH; |$ɜzdOr>-KScr:G/(C{ߣp+iOJSSu|yV׵ƙ)z=6L#Y=JR<˅(% 5ƞ ~Ne81ǩ. ~m1"L)5ùS/lbԁhҍV*`ݟmAl^,"o2_K.f .#]بSHX 2S 6l w{i33QYo\$%șd=&G6WyBμl:E 44y5ج);8I)c"6ΏLQh^4db"VԋDZ.s*Pӽ#*H{LIśಘb3IFz><$=o״tkx/x}jت, (t}~'R)t="nVΧ_bHEBA߾_>T1q[+čixSu'g)>8o&Q?O]yv/[DHɎCқsD׬ovlت-&K# \ҫ D%ܩdcURSztx?ZsA ޫ]!;3Wȃ bln4f>h)& J1ywi"&ySg@`lyMjZd;Խ#/@pԀ;c]1/51h␤$}f1Ap"=ՍbC.cun=#]*FJxC!G>S/4W<*JeC㈨I#l5_!uu_/֪Rcd37+ ѢI:E!nlD 6Wƚ89N ڐVpwma_6AR wɖe=Rk sGT+e;!'~FZtYٛ9ׯQeQscjI#6 ),Vn0؇rM_ Gd;а!~-Sm}b"'4tq4'jf%XQ$>]kc2&mIGItCb !~63|$2;Z=NNGsuϻem;̎嵏`BY3^ҫ7mm#9f{iݷTkE({ؚr m =cyc0kljy7z5]JSwrP$fg:80;+Ù.t>*ԿҜOjŜ8-B C@:xe߭_ =WudL+MM|,tY|}tQsQ;بTjZȃ6Z Qg ,8PlqW5yK"|c#8-Y ;A(ó޵<4jÍIvUbwSvxk d{L@J(=Alx\|crAYɥmK U|z~LlN&[jB8܉y\mG_xɈEv27PxT G|ȩ܏fͼS1g}lž6f4kY]5|/xA32 +q,ήrtmF;*A&~[ulLw^uIzj8خ%.N;so +pAW}Be//^I;AΛ!pvṬ31tf2/ ώAʦq wuX Bũ&1)Y׏ Mr#oڨ0:f/Pd?ǻw!ׅF, ?=„ I~F,eDxS"XEq*-ppZ(])״{$Ojp08䍣-9q[O>r3 U%d;>k3GNm wb)\[x#-g\k60+>(=g3>?q۔>!şB=oY9%#Z5p1[+Y(S͜~HD25`Z0 #ظ!=8C^jcuhL)^s6تλDDQ ~e|F-莔 \}}hpP4S:A祫8' $e)Fj;YDE|B79lX-!; !9HċWj>9םڠȭL=kxTJ t; Rm*ȼTX@ 0`R ƭ֠Arە_M>jga^1b:}rP./$ŗPI_)|ؑߤ?HDl 2%8,j1-< {Y|Tx0s}_y_$"wQ ̇Jq_3lUfW}3]$"Zdesߛ iJ˼ӠqgFl,4@ι`۬RhWت^1EO ߙЂژ[!< x]>ZQX&AQm~hh:`NX\0.ƲBH\XkYǘhwO5sx=oP)Oǥ\N@IP'8:lƖnW9} 8k`K"@eAdZpeC=_C)L`_%#o"۝4ޯ)e2漭tHS !kmWN0Fcm}W ·7}ǔ|0ŘYRq̈5Puh \^$E 73"b1ޮ3 DDO_ ‘ e/˳3.4걘cu $H s dnTHs}XSM'~k`zd9G)5Civ`Ľ {qIw)ؘm\B1`+ _WGuxmʸ9(7'ZL1UGW\("=$-IлF x֌%`={3DaI"۝FX_O Dت~~W.q烻`LFߒ]6pu(=L{\އ &(jNY?qg 0 $T$:_RAaȨ yl>B#=a̕D :A싓*iM~_>y$<2TL?<DCQVHS-Y KG)]9$_:Mk_vgX-{׽P*{Ɠq*=}Wk}oͧeug +}V]gYpc*Z3_!EjV޳1Jl=5cڡ@Iy1F ;o=ZmtbY-m/"rs - ɼ@ύMn'cz根27g'<68`ΪOc{>~ :o#dj|r"F9{R̺|U8D{ >ЇI6/K+UXč>~?>Ǧ$zh&B~L$=fΦ`9zv2&-h:=[φ 9QvB)}`2s*g2Gҕv彟R*tE㶖5!`ȧR{L1NkӍ 늲MŔR(򺨣y"9N%<x5]>NL: r6&nL0 Wlʮi&z&XLg%sx]w9e^S2b,O9}q WVpD%gqvx9P#ݐ^,B>6 B8{Æ~/*@xcRNCYQK];?C閦snPl=A^:o[+*ƶ_B"q6K5Ppl{;vu8$Vk-+9lnm0ZB6ƯlQIRxwpŖ>7UoyY̹O۷`bQa3C̩,uddRx9V%N 9XD2wנ$y{ Bbm>FOqʇp8l,@p8yiN&])rYyjZ$`iMz{(p֝ùJX4Ug|%Off{:H sQ 7S<9! j-z#Nǿ%}P؀m+ry֜cEڃu6B&1 f ϶`A'tZ3&h9eѲG(;:f\>R٠OӃCw$u @ͫQyO<Ok> 'DoNvkw$%?VɽZʺ;THG |KttKkn,tN"n_5IDn[uO&$"/$sgJc֚4$[T⹓Dyg2x92r (&"¦B5<}"О5B9j`jG^lN4BaJAS6UWO'w0rAҮ9āIS4;Յ*ܓfvEGT^OsW0}|7E`\+<T"_p*)U"7 $*qhTiAC3 jUjj+^^ $IQ,';5:boJ-C|]r2*1 Sρƻ8}@̪A*O1 /f:4ÞuQ]x6 D6ˢx% ciVC BYJ}PZ)'5*LʔI6`Bb;M@HߚMG0&K7oL) 5|r}V(HJPt+fuD#=+약ن-"~7n+:v4MUpϪKP#m^igV6wG\_TWfJ#@!bȹlj  S ck"DV~fYW lAJY(J] ~h ku/3TпCF&$+q:m"uhAxzxdqcnNx=.^8/YF 'D3H))NQt97RE,TUx^C}pɱͧލjBx%ًκ[g։8Tgl=Y8ޯbңlJ ` q?Oǩ%RRdMaԙP[s6LѢؼռRVo xm6?y=h7ҀVj)_DHG'5wqy.ߍW9ؚq%AN8M ϶L:d 1PPE%>o91 xV]u>Ke}O4Ipƫ};{Ĕ݋^5Nؘ a`:1]C{fi#%]M#&"$$p#mZ\3c>L!憶"X[}Hip:ng x'#,Z\K<Y:E-keJ,񬕱lm)Fc7m5Ԙ6e^x>.&uv&Ot$1F~^TUj*yO%lɀs*n|7#=J%E9ew rG{|!pg\LH= n%sٶ8L̅ QԌL}[3;a.{|H Ɓ,,Vɠ>ȃNه&d\Op]YoxvI۴Nql3t!8X͛09 pu*9;L}ɝ"rԕb/lf O֚;re4KZ.]z8|sn+ʶj\!:G`S~o=rӘ\;nsOdSvIy\-l!̄ f T1ԌRMg6!lr հFYk ԲF%G߱?:5oxsDCJ965h K@QjIӍO dC̲]ţHԋC#^Hz zqhDI9;aRҞv閒Dw *d IV#BC~nb^]e)rRixPZa_Ü_xz:7يauW\y&OYi^ln,rg(̆Dfs=`?C4bc WK^^ӀH2#6EQ)](uJ@j<#^i"K` {Uq 3V}Kz!*F6Jl] ]TtH}YSCI0B7}SUiU@|MC/g0="=p ZNTWuOj_ G`4օTrg(D!`vI^* =l~T aDW0/ }~)ds0zEpؚAvQ{Un Tj? y}si&T]>Е3ӄ;v21gX 6'xw?ە3D=\ VM4tE./ P*?Xؐ*LN:/Q=K}7wyG(VbFz("U a$Q|2F%obZPg>lC>̵%ؚW|Ƞ+}qV(d4)Vz5c6NJs:otbJ3YFh D3</HhW' KYuJGLezkg6^.8@ξ3mNPq1Zcz멯 g*ς7@E~H_IRC=|?ÓzLaR]hvwAyb׌a,;f4ʇRuYXP#U}+nrjc46N0(8cg퓬|h+ {L7JU>e=JB2]NF+4Ow$> Rv Sڏz8HH_lh*/x"lŚmVK%t)Bl$bkƔ2Qj J\'Weʞ-*:IRq߱eR{%JmA*l]_gh8{VCF|}[ŗ͸#Lw'ywg,Tѭe( QRIo2̡N!t)ޞ`YLF EV&KRT=#]qA GH$TF$ZlehMR{ߦ ǹi񱢪R@j/V3bªRSwBe| Sns_Uօ1k](K?>/CdNNӜ4U*j:Xzz#`~C 7} ;!ZTk; *[%lpjUpofaK Uȃr\G.dL>ٿagR4Wbs9֢۾\lEcYP)ѽܗ}Ƚ͟XŬ`%md8C2C/1&] \ώ݅,  ȃUR?X_Vلk4jt,l R|%(1[X] R Ɖ JOߒ5d2"O0+>ߔ4DtWkHe4XYRޣ$C*"ÔntziB$Ӧs $}2j鿱9H!ΏH )ĕI6n80N5q=RX.)XZ. ߎ :7 u(e \ւ ɘfB"B^:A_]ft$DC+ ܀l3$Zr HΕ>?(4:]8`"y0,7.(cƛqchH pdE/֌m59cb|Ԡ/_MEb~܃y9*Ea+w[*f}>BuvlɰFw?fkug[s pWkNgB_CC$)kW!my[ [$"$' nMUa5]u5NA3{.w$5B ,=M/>f7YK = p .mLJdq̝iE)3(.Rs^m9/H ۛRxBз~8!NM,gv!O`!9\%t%^Б/o;鐏asU {ZtTr݀J9Wl1C^yDxDuK1#u⿓jf2ͺQ~;c4H|oAKr,KF='ftQ_DQxŜl.IM2&ǶqtY!B 0U=ԷK;kƱltAp]TmlqKR˜P̊Rl-!2o)-|"aBwl|;#b'tg^ PU>Dw|IH̨a/~I/P}w~FwfߙA62IYJ.qxC5 Z:fa,li1HJO 6wZ(xeL;:BeG} pa߶Xd$[xsȽ9 "RzǗ0nLCO,EC7 S@#߇&]OQ5쥣# .q܌6ż<h!6iڸ/ ׫)(O| F&}Փ*B!NoBJ[t'L k]%_ETr쏐*BeΡ#q%r?^pw?ԩ}Rܸ.T3y1X)6lHPiis ֘neI#XS ɽrr+c_N ^RUs8py58Z:<,^, պ{n>\awS=}4[oU7pG!tÕDav\`UwVYL´WN{޴3| Z3,m%~ Kߓ8ImZW"w)x٭1w?Աt]pLi|+jЪz9=` aBlz AKM^9 \ u/@')η S2byrQ(ÜX6ް5F掂|(l d*Ԛ"rH߼z꺡,)ᄤm '[b|7ndt'2x5q<_"9)rߜ72/+LĪ4J/Zgd=m"#Tk+l voڎL^uua##|o3ᅼ>!h׿ Sx`HDk0[q|ܸJč7E=mmD3dZj z#d+d;Y*Vl!CA#頯hlth0طe" 0fTS 9M)%',™^:8g5o3֟vi\¼gU<P~{p1Bm[f::^|h!&:qm;&{ZS^v~w0U!L>a@H/Q $vWW2H1:[G];&a5TOe?o6{W&E;]? aܼ *@.\>ve2 SL/r P@$TQS+!_$TI$n[y`5gk=IٌdaSf@@'7 鹧7[sNgN+Wa/:j?j }>zLN :Lܤ6RweкmϲFTbl/\͵^ntݏ&w~~ xVS7eA6ׅzpꗱV&vH%ƱMtQ窤^tXq^=SX舑Xy_ihAƘ1N}[5[l 1hdem`j O63N\Tܘpᔸ}*F7C/1r" *=lWcK> i,Tb;%AńʘanG]i֋ v1uW^i(I *L;Zle_j'8C <6XoUQuP-P͚6*w y}^ LflK$)DLN`L^,&%Ō(-Ye֨W|eb$ڬYdǓ15К)+wĄbʪpɥʽUab$i5E ԏ7,2o'grV=f`ή$O#fw^=O4v X!g5݈3##WڥQ3:vIF%"{otX p*tU&et{qAisVBuCRQ_ٚ-"dHH[<}Rw{j`y`V1#!Q%1ypvP^Tr ߋd=v&h|P UD8(acM9M5ɝU[#5MGM"#䴝:tH'`s{ }o;96˓f*\vҘ0 =1R[=A faaWN){!6RÕ& Tc>,Ŧ0#'/x0?X[,fk]Kl6F\#il>\Άӌ}b=Pg/7,({40ubr~&uLl֔&@OZՍ5Fa]&Rlœ ͍>wIlz! u^!z>ኘѐ~ل >8On۹4PDڎJcӏ>״S?x~K"_Up "a)4Ɋ{bVs2 Q^gŌ#阰] ;V̈C!! :H}ͺٌCoX "*U ըD [N*r5tpM$l6%AQQQP g( &g!P֜zW ) zVT.F=2gf6!{y&,ӟyg}>h2-^?^ۉ^EY;11Gn`e9=l=`M *`U%5?]f+,~R2d wYٶ!wCۜni?2IN,C߮@ 'H@khoHx?P#DoX& \A2,Ą|~+%|Є` f<"!/TN7rEB'P$t!@DzT/PS9H}T(6$!rK^QY .#@lWBNp,/Z^1o C#2E;S 5k 2 z4(TpZu$<0* P|-Lqj0 yP0=vC :'#gc 2r cDHdq2cb K1B ZiCN8R {r \* 9;bh[Q|'p9['C/,|{dzWՠ\j-(Lhs;)!%gCbT>WPOt9x!SLTQ9|rm'yaV9KReg#¼ 9$5Qˁ aC[y]ӍJGI R-ejBI-G);wh hgTWq7X?J8WP31^ [W 4WvnV qJ.rr-[:@Yb-s> [㺂pQE6b1QJ_=B`#I,&H{%U,^!+]/T$g0EL)zSF唔 $gqYtL:B~cR R$j9[7 '#[U$8^HQIL{I!R*PPE l$8}W #-/Unf H "lf2̼ JsNFr &a{ AtdP['uOeoݺ?&7Yΐ(n|ӥ(ݴ`ל|*Kf n܎9pןN-ݸ-Ww"R3!/ qqNg@:}R 9<ՙ'0Z ZStoxnyƤ9ܜ:91@ W ,P#7rT&(=AbBԏu#!|`ŧ)ca \ $1fARZ.@tN9g Җ0Zt{e:hOs oҞxԙOd(MWߕ/,̟@>ZrBBjam12"R4f-:Y+|*wS #EEA7ּ؜_cWW妇 pVpC47ĚVA>ClCLs 2<|d0IϽ׫kVw*E%\#,rm4/v8U 4WR yq# @; @hnd2rV4'2pO]XPS{wL֐$onl0(LTc^nwPDzCe'}b/ /sp#\,H~ [?h:1 'jp2u JD,Wz5&'iqH_{ J STz Tщ{)72/!CԉEH˥CAb8vD(@ ^%d"ߗw G,$+Y1JL-|/7SźCR%PW1Rk?e5dj*[.jWnG R[ Ia@7Rb6ܿt=_;jNuF\՜FBŤʼnɊx@.?kQ_wq(KAEuMt}t˽E@9kcTHRq3)$A)/$Aiw&…  I .RbfxJ K%l>L SuS!] u3KE`Rh\Aʕ $j6E+c c!gI_ SPJ!eΩN?/#)}D4MdxɧHZ&ݒM3druutѡㆨ{z1oЭ_0#V K!Ru_pXmm=%H\]QTr-\eC^UhJVBDۙc&#+MG-PSۖG2]!!vy1-l(W*l)hy %3u\ 8$!aNN>L5~nysObirBlf3̧JH6(&zbFw @x fqd3@grAƎ@߈0 O3:뵰l<@B)jZdK2n$j퉥)y̠tq֜gݵ .C ?N6<٠}_d|u 1+rC֜ypl4urKSeO $o^Neʎ8rwE(ș@h9h|}}-%U @-6mtм>!j_i)5Wx6#%Q!a9O*e%ڠ:O8d'P4pY+mhRt\K|Iׂ\Xw =B 1r_ô{ZYj`4yAZД.z$'Bf!q=U' Ow B Llm';dG!9bŭOl([!,^/.F, 2R2NRVLq[wru^SȸM$TDz J-2-a9)^G*\#$*,'\HgqwJ'VIptbޙNcR8H:0 DXp mv0ii#ٗ"FB>'DI\D0;IW-?Na=&y(Y #g!!7rID+o^9%_"Vp49ZjrroE Ir'nn{]cJoE.őR_JIp6崖` mdMڊ.)7n{@0L*wO#&,.,P_ 6G2VʆaA6?S*v]EK ."jz<l5B9{[A.r2;9)Hh92Oëf˵0?{ MDblahw)jxaA<4O-Fh91'eB aC:f]s)B…ZC6"]rZsWׁ~wr"8RZ.Ò_¼f)?hhq`$v;ᇧUh<鲯MSb;t;җc7'ZyY—wAƱKb.)ja% (t\"?IJLM2v=)aDb6 rJM( Ϥ/4c"*̴=Q% 3* 䝋Rd9 5d1ttL%',MhDu*er<Pg(n@.!B- :d"CnzU4 Cԙ HG,Ϩr}9XGw API˕F*-ML-nd*t4:>܇@tQY$d-u\7p&Owqͯ%}VlU޺DY$ȥ)j{60vqzQd٘$PqV1*8rq˙6F"vbT8BP T}Ƥ-Wksb:]s&{Q$nS؎iǃahb EIM [{BsDCP,$]G()O쏔DW"ݢW vz hۅwD(kUNl4_oq4 /geVN֛PNx%QM@k(uaNCPRK! ND<«.w|'_49wSv[ɂ[5q\icj?ÜPwRǽ5 f[4Z;}[]R` HQ!G"*52 3-ަ ;<|W.rC5Paa;4al{YFr_q#U|c5>u6T}!!@,ׄ!,v&A~+c5hiP#PٛEOjM9䪫nB_( O=$gɆ:.W0$vB(gS>kuݿ_V'(">eUҐ0CL~ r0ш%0!1 ;'T!"IF +v1;ǚ0@ ȑ] r@H*11 n#CZ*q_)ٖU Qi8.^<䟱̈z'k8ppS6f$q&v3eJ }GL2ƄMf~{GKj헣A?DL~w(IXQ^bUJժµf4N]7wz6jդi-}-[%-:ujuׅ}?`##F36r 'M3Uo7+Zzr@5_׬<5Wu^+߷s{<R3$eKc$M{a3쿞Eo_mWZS}0Z>3o K>|kxc\ĸl*쀥oUp)/̭cJZ& v_9:=l_wSŵ]8_eĎ_Nuٸ]qCѰ:r%쯩.D?r[C(9gҜ_mr,*b-Mծ\t[:u#7v 8w˯b-\ u‰Ky9_ֈ%[o [:4!w!1GҠG[tھQޘWl!H[qV^9#Tڶ{sMzmX1w_U kdeuG0q1 t[s˅E0+i!*{GJZǧZ61Y$;n^n :]L:LLoWoMa}!VXgO\q!Yz疔4k P+(r-Wze{^œ-Y2|vI/?J*꾣b-j|.Y??̢k'O2V:pczL3Miucor/*-3j:LQr-{ۗ ߠP:?dQg[_+sY;]OC=[>oυwz٣C7 xWMCd.[d)x |s9a.9ᛢF5 U^~؎uE.yuʎ{]{{~Q%w 8wA]W=.fܼ`v9Oμy1א.3Vz~ilZF{x2طd\Ү \jvټJC0l CWr;\![uN=6@d#r'<_v&FG8hTSCaѺ-wLU`[T0d6hT'P5c~}h­ߏ~IIҦASm\O: xф\G}<4ehüyt, 9s#wNp&H+:l?!7>r_z91lkǎCvޏguMJ'dlչCT_W[~|ŭ5{)ݺxu׮^sKۆl[39_wyx\aGn9(Rw_s֪ KYUϟ`Y#_ж0×pS5*7ܟdlȺ|Ցq?%S6J3^%i>>-z?yM}m ³tj/oW6QBN:zx2ٶ\zN̼No:e?:>ne.v+#4qzK]7-(t #%Mܸ_'tM~ ?;{FVU6hb4۾:QwDt`obZ^j~|'l{f_^'j&`tymXa;rGleܖTJI=[ CdcYVZ *>VyѭOqB4z]^tݣ';Lr 4sHkw.AIX$oj).)OJX-ޝxy杣]/&/j5{=9u܌ko jOpOWږ$Wz2e &K8Kt}K^_/9`{×es‘nԌ?X iեI aaR^WuSN[7px=oøW;:_}//d979rrd}O*7^X}мX]x~#<"/{Yw}n}̯wR{幣[aVeZ݁+k楆Wz#fߍA M䧚%ww]~ k=\/lQmfx\pË* I2#,h8b{7aBvN_wlg1GFYukTW_];ԻOԝ=͕WtJ¡zh?c|v0[lߺCpsF۽n-qL=.#.}tz~`}{<Oοq,͙Uؠ{v~w7IgǶY>Sܳ;3yۍ_qI)K ][=b-k\8jsGsL9Pi谫N?L~>se+urZ\.kM[z wSNj9-ͼ7]*>ꑢKnq4}Ũ/ZCVYɩV/G Yy~#mo1 ZѦS.v^/}'NտjpA3^z(6|x}eN/:ҹMLѹGǷpߑiڰ+6<ѣ\-w[nH*"i̻ [7<?(kQ'1i>'_ 3ڴO$W"d/A/xY%YsċN)$%0@)P#(% 9@)C r %1hr!xTX#ȯh4@ 4|JW#J$PR e{b[%$x Xz xd=A@!  xrȀ^_la\RKtIc~@*ֈphܨ%"IČNb8#[˧h[V[JZ\IY/gwހRI.SZb{znÃ\6a wKc}Ԑ4( 8NHh$kQFr9d l^돱F1*stXo"(Zk\eNZ&%WلRk\eN- y?5JN.YԆU{ ūaOW9)+; ī3?F|`D8d1D'$G^2ڀzmo1T'G^2ڀzmoR1\'G^2ڀzmo&$-XV}DgCJЉg}mN*uC(Y\C؆VBZ}V ]((C'X>VEkCwJd˦ ,C:w9kt䶡6V4Fk(Il) 5rcY!7(#˚$Or2 T BnPF??_ W+G+? W+G+? W+G+? W+G+?Gk7S3YnP,7(T hfuy? >`f'rkv߈g̵X;onZg7Qe$s@b4\qI9Cd\sDBRĪ;.R/͵#R8QdWh"srcYs'>-[۶J =hyF. g9Pj솹,q91Ht^2h|Z)i: MkC*]y+,g۠RZ)R6F$St#?3 J)dam3 i ).|)#>kZR%#2 . 68W*KּA"eج3⦂˦0N5j^bj 588čQ|ZĉV ˮ,[9ʷkͧh{^3j ^Q9[M)?֔Ol릋zo:ݶD|9w>*⧸q䒌Qbİ 6Kz7%4єi&um^[VˡOcKy n[;VTM4PSwnTqπj{U?N~_b"n0spunJN-Ca~je_ضZt3aʔ6"'Lj5g| Nih3z*~yȅѹ 0x}qX&7~ƙe0ެYs9`$a7aJx=0.=܇c|f8gy|f4ĸ]q0~]j-ƱG {a<}!qm 1Ι<oEA1l-kKʖc< W*ISm8/7'WqY} Fg xAW.]<Ϳvxd狮wέwJqt 1.$qe -bn1?CW}C{o |,#9qA0O}qӡ_o`/5w(_t f[<烧[D<'rϽ_h;kF4zvc㳎2ͻfɾpc֝gqW&9푨/bsy鍧fE8.I2йv:|+N0KmlRUfƶ-%qqJZAWYغtx.S&Gvۢ b@n kO+|c=$'bpi>Kqw>~ּvuuLjb>VQGQf\hPP PPej 0/Z:7UG4h@U@C@#@c'  %os,-@Q60  Lc`2  L4@,޿0#4000 0Y6u;ttB]]EV-;@z|000O򮪳͞\jKy oGIe+ek_sgcSs&!5A6y(R$Z U:bd]6ggQr9TF 㝝'elϓ?&*zJy@b8ri ?_8kRES$I hKf'׽Zgm!#E#w[  e*E!TrѺݗ|9'ͯ)Ext6.!h]ݗ<ᚁ2ܬJУ᎗l\\BԏӬyK?GydT @wp]ڏcH"v5y.лck GZ=N~j8?m Ġ,@H*e_B1*i G[ 1N+#VlBL_qirACOXH; S~sMF\ =Zw/)]g ,ػcqGvgz%jX1O;WċŃxYbb9iѽ pNKxSr^(CDE[T>?H;zIN) >o2!f#`$xom4 xkU2fϞ hOL">~s<(F%3?* gYOu =gʃ)+k];㋋rI'DtP˷qvK.cƖ~G^Pß@ګ'i' >Ңx@1ܚ-i[R+m#-}X1k~p2O#qqAzVlPc?3P4IՖ /hXgӔ?N1͵s?uD&{ϴI6^Z;;knLοҲ]my?'ۂlScc'Q,!6ڛ5>䊞OpČ%RL K(W@*cKK4mWyy+"9e6 !=>€)Brl*',F ͹ RPeh,V$`I(˾GtB˶Յ6 PMO\j'EM.5{/|v\l#bOj@OxCfTCTDx"(s&L5dvɍFC1ZQBpϏSlLyXGz1o[[ eMme;OnmκmP|M?3aL/ H^>I-FŋT^h#CJ \3ۜx*][rܛ9H O\$ IYm͑jWUK3Q<I~a#$dג-G|Grlili7g'e;YpbUwWtOȫd~UĻz{q{ *|mq]p?k޿K~u9 2 U#\M%pu!uΧG#s:?<./uE%WڹЏAA'z c=olUV.M7,puI<:u|o歿p7?5ŧ~>s;<+|| ϼk(+8 4 ˆi< } c pM&&N @Cm]B{}:E/З/d}x2~c21D.xdB d'( qN& >f8 1dr N&`"'yE O&/_o &rp/'?O& 8E/ۿ@2й}i2_L&s'>;@' d^L?L'i0N&ЯN&# Ws>o=:Rn+4M/O?~y~ /_)|oKtdxb o:@\o{(Og//&/y&ЏL&O& }삶_L L TLL&O<اf8<6_/|a O0/N}a&gpAG>uMOL ;s}bgv&w&ڙ@ŝ w/p o|crί#?/&Թzz`JXaOܯ>kM]&J߂oGg_YtM{(fl8&-@>Lx߂L&[ ZKxD5ಢw/+v76=3(<}qQu] -H/_yŋzUv$}cf5?n;9L3qo8''*pR]y3d֧\0/ /;xp1#_Z>gZ}?qsHH1u}sKq7؇?]x]7 e$Cʟ^A>zq ӻlft^>|9a-'7-ey %.',$}_.. {Wn~3s|}EV~o (py( z/saO:wجX+k<AV_g Ga@C L_|F }4g*KNE$6>*0%?"Ozxҏ:xdg^3]QO \I)SKy:ts{}33MqGWy5ٻ&W޳|iO^]WS_ܧtM}ϋWy<{ x61|C܃ }4 e~qA<@?1|-c+)isy{{1Y>_OzZOhx]úwʷ{"4o /@" 4L?jX34kat@ CA<p nS^zLh!Yl\;~2oO>r ~o!/#Ic{_~/8o>2L}Ӂ >}_1_޷4}0e.5c90GO>8;<>ڭ[b٘9э1Po]T+ӻΘ3d|d|:>:;x1ЏϘ0><==<>bn7dôݝs"Nx;1s|<<8;>y~ɝS:1~lܺ;fΎ['o3O<8;`Ξ3spc?uLix1=cbno_=1fzON9dN9=fnܺ㓃[0wypxk:ho2;@4~s`e|p3~|t뙋^ʽQN1}<>:ߘ蜧g[a'WXwvx{|9{vSwO7A97ku&h=qo߹5>gᅴnOO6>7s^vs|tv9>~&P.d}4`ʵ=esbNKs >`zp9=̥x (ӳã &\う.@6|ۦßzKl?k٧w9>9g%O>!޳GNeӦu|/}_.]-;x=ꙷ}ɥ/}Opᜪ̓@G78̜ٔ{pd|ps!99~Ԥ^]=;5ͷݜZ1-=>;`Oowo3O= 6b̚*÷a9+ücC*;S *|~ǔ>L], G k_pA13s K(fyh%\@]њ5mޯ3kz0յZ]],Mx `lA5 `#lDFh6gsyqѸdDbmF7:N#cƀ5!c1F7ƌqc˜4 Fј2c֘3&0A& 6!&l1͚LӢiɄ0d5Lvnr&m&D(mbLI4LiSƔ5MST2MST3I&T75LMbRM-S1ig&44L9 Aa&ĂXz,Cs<4 -@1(%$ y Pe( qPҠ6hC*T@ԄHU*fȼ`6Ͱyl4cfČMfag̤ef0[ͳf2sf6fAC&h= m4 ]g\ <@)9P%0-B2@tdedYE֐u ln]N%QBz-KjH´OI}Q86nLVl5%ə=;Bi"dK- >tvxcv "6}>ĉXYJ{V$՜Urh5iKړ6O.;[2k߳oܑt&]&&dnp-;9 zX飒Hv:K*>9E$i -'PHrٶ#p> p=@<" 4ɣXGY"I2&CɁ;3d*)$}OK&+ΰhK'd#%d&OaXKp qx? |xBkVRZ`ӓ F}#ή8B@kXHs;, ԈpQxC^-! HRQY!-dpo.E(IJbI@VY,T6 `ME,p>%  2|HC[SPCVіk aՄz߽ R}AP'kšVea';BӺ& fCXVɱ+,7=a[-߲_#D%Qrހ1V Y؊.9ۢcQ\QKgoQ"ZEq)u3[,=W$DR#m\A %DfDZ4/X|1 炢F!1,ckhf Q8∏b|׉;bRL5ʅU1AE3%OZ\K2Tx"5:As='l%}s8LŢ>UuE=*FAkIb!v߹h eJ ).HR'Jl*YJ̤˥zjʩJ"0SHSV9ۚ))H-F3AgXM))JiNr^j꧆(Szj#b]o̳bDNUj;r\K~ J 46Lڎ܄#Mϥҋ[|z)͸ .kq[h%mOS 3~=cwVu܆e!_̡B.vUr\''ʬDks۹ZMK+͜sQnی/,8&rݜ-+7~n33>w r۹^S~!-!sP圍m̘wP9\Ѽ;b~H.sPb.w\Fg|gl>t~g}%oN4O\>tuجBOh&|!p\V\W|1_ˣQ[0+F~ǁYy3v^+^w,ü7V|+Xίf~+עvRu՞`Zu `.K:KT*W+L\j5dI?]]2BsbXzT>ruͪVUVuTGn5īUȻ_լj:|Ezu]a fUnʻ&VPVm/v{U j[Օq,fkt*|m>0S+k暩P4\CkXgkY[Yk8|'䪑5oj2\Qcjk>6Wl-R @-\ xEkZ:>NĚP[j`izE)Rej_jZFt-^1VUjZk,F·H+$wZmVkZRk¤6Z5_KƆ5jՖkZZc7j[L|Yc+RjbN ^ H~ C (Uf$HRۈ9i^2wAZ$1 R.o8o"7u48Rml.9$D][WZ#='$J"%ZifO{AdOCRJ'_!θ%&HlURJH~"'eTJiѢᲭJ$K"[/;Rֱֳr!]G-vuOgx21DNDIN^8dq:EYx_=PgL=Tח ԣXEz|]'z.l=SED0;z^z^R];z}7qƓR'jU7:3N=fq;q[vui.z9FuW(sa}E j}R[wuwQ߫oVj׻(04xiS07u>ۘik8doxl16Bc4ؘŏb7soiq"agl ѲQ{cێ7 Wc&nxFOYؠhz #dfktB E5d?݈etol"l#Cp#н5Fwk٥F4lts[DCh 2HX3 ͡ڳ5<إcA^su)6ʍBԀѲZCj,bƺސJP3VXMkN5~C&ACogp0G P[aJj7\m$VcnTEm}^cml.F-#MCoT;6v6Bs9לo4MMLD3{t4J{8M[M|i-#hl5& l7oݦ6\nN'eWM{DŽ\p|i6^3va~VTFAIy#.ӱQH 1>nT&/͊UDu( 32cQ(]ǂ+QW?EJ׎*.)ڤNbWMVK0AŧxZVPWB [!BQTJx/gq(ae(Sq%hLً %$RvBQoF"(x"HJY)EVJ h.\U `DP8TT4E)*uES:67h+=Hzʲ*ۊ]W֔ eSRv]) P!ՠ*UjRgYuN]TUvY5<$b~xIQբ*1LV5a\uNաUb;zTJJ3Sj@扠ʪ*ՈbʩK+15x_R]9^PE5Ռ:9gՂW.e:SUk~ʪj:R;j[E[A21)r6S55nK;۞Axt] Wm |[W5uF.CGꦺ"B"}[Uw='CXЂZjR"H n%]5Ӛm ֦ԚkYP}K-5Zh-޲H3Gem8Gr0E-w -e-Ŵ|- `+ TisB0k[VEEbZh2ݪF6"il7[VķZہRتʭjKjZ ܪ-+-5Vn-jEB^kjAA+ PY8xY _ Yv[ۭQKo [ o A[mZkVh-{֝^+0 9s6҆PmlϴL`v5bmO`Y8ۋmMm{{em/6m[dm:1W;w%KdEFۃ(.ZΙצmw0ߖPoP]k[d;ĪLl6Z#6bh]h/3v-Ch-7#v!yoEZaްnJ[k0j߮lvZ;^{v=ÁJ{{v< [j{cQ;XoiN!ΒCpg+ζwۉ\utCKSgc;eL .tЎcdf;&KU~_&{'ubxquwtb At|U@'Cu Ta;z[vBp'LۣfwWpwXg;F;'Sd:N:yoܡrґ:pS#puڝErNtNt:N޿ڙ;+AguJf~gցec:k`4Ǫ!ڢfPMYYmN[,hMknͣZ}vkNͫ94R5JiV5X--DeF5pY9Mr$e\1MFH\Ө&j?%*вZ^rZQVpAjr5i%z\=U5mw'5ki Q]h=7vemE[ִ-m[ֵhٲ= .5t.FKҹLCݹs>zB7i]ݍR7Ha]Klw]캺Ly.ѥ;sd) .栺Ⱦ#Нj}2l7D E2؍t]%=O w󎁧%b]kbbvm-\7nIt)ҴϏrݞS|t][#%2 @[~mnDjv]u+]zntW ƹc"VG`~uyͺ2^-w׺+]{dؕzwnvwwmG@B=C/`g- H#=gYlo7[{hog bҳl={xZL:zqyzD/ȑ=G|k+Љ9W"Rl/eЁ^o^ho&`/,|Ϝ0_gf6HGy=UR -8XO0^zb/JRt/32=Ֆz^WU{Y:D[g^׍,=QLa{kj37{뽍Vo{{GPgپзRhַyo;ξ)O{d}^_[N$@?Էy}_t)k_vGbJB?~_ 6"݇b~_3|oRط~_\Cz?B5 f_q_PCՇsj3t`56Uux6wZ_{EB܏$cV fH;DB|Go}o?BQjѽR4(T墲 a}CzD6֣zLt^I]E=s+ "Sђ>gb9[V+zU钞eU˘+zSoBzObp}YEV5]qz|z?o5׶s= uh+v /\CMC8HOG8@K8D%!x.>L8J8F8A8N8I8M8E!%Xx#V H܈O 8o$ 4D@ tL sy`E.˜ E ڴ tu Z q)\Ws., a:p8kp=g@ \.+\Q@409Bӡ"mFB.fC394ڻd.4͂w"Z@K!gh1ZA+*hiVCk w-] +:h= mVlxA{lmmκym>}f`mۡN ܳ AA:@Gcqڷ~:!6AK>sAo!@$ ! [ f!<B~G4j3\\\tC@DF" wB^-ȭmHAz#ȝ]HnV byyyyy yyyy yyyyC$D$ G H r  "o!:bw>>O7e+W'`03SLOj*;cS3Ku=ox.\Ghv?ǣhgFЎEh,z3z/   } haB z9zz z1z>zz5z ^^ވބނފƠ;;ѻ{оC#cSfr[]Q^^~Vc/bkK+ثBl;c؛[XVm6a-{VJLl6ۆmNlV-b˰rhC:v@ ,oww7Ǜ{zy{ ##cc㼅"xD$doj5C&P)}GǨQOPOQP?^^~FzzbX(6*⠸( EQT*Ձ z`,@?0XA`l0 0 LCx<?ρKg x~G/eكu2a=Y˔o=_tPNST:)g)g+.ʅEJWbR2r J*RnQnSJG[O<<$)J2Z*dDRf+sJ@)Sʕ5ZeU-mR٠T)5J]Sv(>YiUN(Oϔ/(_)UQSW~PKQ7nFܺyu \VֹmRnGOݾuNԝ#ԑu:A]D]t]\NT_RZ'K˨ˬ˫˯jj׵uuGuO^}Nϫw1w?TXg zzZ}P=YϪCI)zYZ?X?\o_QT~fSü- @w} 6j8pdéB!!Ӑ ink7474h S0000U >6|j@TTsU*WJ*Q1IiYNETT~EJUUUJ*TJT*UFuYuEuUJSիTjUYբҨt>AeRUM5WW=UT9g窝 ՋneUjޠRoWPRw}ՇG'5&d5MT'ԩj:SW ե2uF}KmUG'W7jXEM=qzSƹ6.kto޸Hkd6CƜFycIƪ+W5hNQhn4Zm4>l|SƗ?7jM5?54MMӚ\56-nZDjko"7QhM&FSH$lJl4e4e5e74ɚM4]mդlk24MCM񦉦M7=mzks[f 77oo&4ͤfr3i4Kk7jV646kͶG͏6?o~s?4jvmYֲee ݲeCƖM-@ e{Ooˡ#-G[i9rBj0Z-+-W[jrEբnijiniiioѵttX[[[l-#-[޴8sz׽N ǿWsޕ{ݽ7~>C:Noкիu[+Ӻuo֓g[I~֐V~ktkLk\5U*in[KZK[U5WZon۪lkmnmiմZ-oZ߶o[q8ifij5neU٠lhvk|5G5i4LMFDib4TMFih4WcX56͸||LӺiݵڣڳZԒ-MpmVilm6Wj EZN6kumV5k-ZvH;iGڇϴϵ//oi~ZDCS6m|l;v\Fjk#B8m6~[h[t[L-----Mvv6eMӦmkohk3o{ >}^vv7ooѾݧ}oڏk?~\;Nj'ڃyvy[vs}S;ގ!uNY9y:nnnMBRJZFҡuuu[tۮN ].G+tE r]JWSԺ&]Euu}AݰΦM>1cfǬTWoɎSg;JGHCґёݑۑב!wtuwTuTwt\Puh:;&:wYoՏO/=zYֳgeϚ ={6lփsz=N''Gؓ#IT\sVGqӞ=/z~y]χ{>=_z zzg׻׵wq[^T/wCc^AotoloboRoj77W{A'O{}m޿z?:9} }>Q_RB_MO}߇}>\հҰe >݆cSӆsh  b2 Lb 18 2!ېk ņCPi1\164Z n: >`4 fo 6Èapo?o v`nait25:݌ˌ++(#ڸebjXv.n^`D#gLe1&F1Ϙo,0/ˍu Mmʨ665Fm{8hǍOόoqi4jZlZjZfr7yP &1aM;LLLMӦs& 4A&d3Ld4M&IdJ4Ħ4S)۔c5MRSIn*1]0)LJS{TgRM:Smқ&j2LMM/LLoLyX9X3x}ۃAm/ 9 rZ6>10 aC;C!c9E DCCCC9CCC򡒡 CCW]>tcH9T7z1roCo>5Ч!x107i4OZ'G&'&L>|1j__'M"MLM-Z9>aj-SۧvLL::uba "MOL(S)Tg*tJ0=%JOeLMOɦSSUSjO_ma?>@"K,}=j.w6'G/a洬RlKU{!!q)҅-hͿV u)?SbIt;8 /_WS=#V<Ww{ķl|\.`lV'˃t5ǫBD%[P[ZYNȏ(WiKZ{ , Yt^45NI%9W|-=8Q37ēwݜ_C]nOF7 %~Q)URNA:HT+!D|B.L\:~.GIm}Xe4Q8" _X,kRA'}4<ͪMYVP*+S ҉Yjz #d 8QvGn?7"'Ce aH&IeŒ,nge>կ.~{ %za.dw"ϊ'I OKMs^)j__ObHG(!Խػ88+>CU$OK8|!QrURsYL^s #\S̤Uޯ^t-"n17yY?$%hWAx)E`|"^ƀ!e .9d޸gT'v p$i,+W(}U);^9Fjy+_+og  Ywe7TmoH > ??DTGNR>Hċ8 4G&zm =t&VKq#%I7z%藠Mǃ&YlQNyrޱW/w{ w 3>!_sKb_]deg 5o n ~XP=sv%NONϒ|͘9;I&;[U]"WCJV~]3U[syN/?J݊K+H =#'i멋IEʢu@t <;7bW b@?'h|7,:*Bj-:S5N&7] Fw,-ِo(8?pVD 3Ś &@}(Ja \^@|{hL6#ŧf h (l0##vfZ^z#6lfưc\q% >Jh8A ȏ7sW J*F2$)sj73SDe:&a0Q.H|x(DɤM>CE"I'e e* 9եY$H]=x.2gHnxa_|>F]07$| >H; ` 0DKSxb&$o2L^ "SvfVIXKȷ W(8_]B-kJӈHrsmY52"J^tDґq('+$ ,XSV& H) ~H2̦d_ yʏM6徺204}(Ȥr&B%;4&oZAR4ݏ|ọuiٷ,U#ĄBBQnα;HfW8ػ"Z%Ybz%kZYK'iBfj͎O (Gqw$3s8.kv|ɇٴEa?D,M+muO3|h'9PDMYB"BŇ'z+#D,xSq(k)WBGL)~o* H8L_)v0KȆ R5Yy%HiQJ;E5/U"WK*SJSCC„tU~ݣj2fg7lPW=rsTpE9{[O̻+\qMxXkK37gud.h)6zn5/?#Jo=eȏ]tʐ*|o\bP V$~n,XZ `Z{B]rsGskC/Gvŗ$,ɾZRY&3_ >t?VbHRH= Έe$9n*y*sC跠zk6ľC {$::sM%[_EɅ0Krst BcHՁhg2x"FJK-J͙_O1V=<]"x'g{&Pnu.!!y>aK )+Ҥ;3s~+ACpzCƑD/$z%{e>/^XgAEQvG.%Nܢl'0p=gWiHߑH26g6e^͖$]Z[!<'>*إQ#bz㭒$[T\Ib>>^dgƌDŽBCiGr^OQhhiQb6 7FzGK{!CQ:4`3HQ:g'pnr"#nD]r0ug:!̨ͬʼ("YE&,l+|%TRqTꗚFпLDRH37M<c 2S/{TRF:1h~j4Ab\a1q$fQ؁FuĖsry7C'çk|xhabID=d-} eJ+^Vo 2NSXC8-Cغ1.YP}Wç?3=̦FLF3h34p}S«S!$&1ISc%2FMt骂G2na]'UNC+/ $lbh?AZQ"&;Hcn…çxF^t '8#jaiCl\+ac8|2gTfq̝-[t86c(ש?S󙯩sh A,!bNrQCn!b@@p ׇ@:ͅMȼyJ*AAjVmPlr#(s1Y02 ,!*k.S5YxITyUC@|mdP {6c|cn}JY %i]m$hkQY8ZMLe+#f8W%lzCK ^=p%f )C%_fFeg),Jp|JaƉTrӡkD8D bFE⛒S`iz*|4_ tiiW:C"KҺ{va1 sbTfpĝ`O%pIɄ`Fx n.Iʁgfܝu8G`g䡨VDo& ߅ErT.g;/3O]!=(^^#B#n-z +_Kw˸uVUR+a|q[a',qxQ$6%UwM ?v'úa{LP%7$H!$=܌|ȡ4w0bM:_]<#T&OR5ìPY/^pK'ɲd.PcY\M8@KhYjlE'TM!H/Ȝȡ)>!KkIb1r0m|Zd|ve CaQ1nM&1猼\KE9Nӧ8^&>#- Xp-b`_`/u cp`wDl<= ;V̔a\։'-ß"H! 8΢E-ޱgĽ9\j[>O>P+/@_25.wү00XX}>Y<3rU YJy@9& ze( ÃPȏڕ9"Y(v @Q'YUё1%flZc]jY4gH!.<[ҭ¯ O1vKjNٔ3 7s'n'ߑ4,=! nք] ~0xgW ||351I/,Aڜ 99*Kk!@E=&#"iYg..o-N./;A F)EХab7u4);ĿdYP ܢer|HMzC%8#bWK=$=%ksA,Y!b8T>Rvo"Dȩd&ʼnG{H؋]Nu.]|D(6lJAJ]18-RzTҲRϲ(++WẄ́6+ٔx1IDi+S]*.xFprH|WD^J5՗^G009VN<7/+x&:jtQܷ="jBnbQҜdqrgjD&RlK%Rk{ٌ ZrP "aȘ$oyG KB+V9܃GGO Ay y̖ 酓ݤ;14i@Ɍ K }+/LZExƠs킾ΘqG+~yd82c+-* ͈jD- #V'>.I-}I1N:WOAy$';y~;2}U^"_jg2pc>]GTs$dTpvq49`;2yKH{h9Յ94,<:-x/X2$4iM!ףJBqp3iM|)ϟJ/ [C36#+ %@b+)vp 'b5N?'XV}OGWeIIKY6r$~:qq<31yfLPl1ݘ]0o%ћ.3bg~ /D, K**TIkHOnUW2EwU`c DSͬPt$&dqse5#D*kAs(,d~lh,]}+SCP R]VEl&Xm7?QxY5Χ0aDep29K "fY_^<\1c$ԣM if:Q8pK?7ťҪ(㵺UcFTf#K;>ux*9]>5 OtւލHT/LMZ#=ˑܗ9Ybb /:JZ$%j U+q5R,'G<23?$L~TSh}d~6?3׫nq|y; ٕS]a8/8=ݒ=ҕj@Zl4d2"WdgqY+LO?YDWĄ|RdΝ|A嘂e3!RĚ -J)@vq[rTNJdڴeMI;("n{mVO|@N d>(G5Tfz1E˨ -舀y ]~mԑgN@CxAb/vSOOm%,僐B]bِ ҧP7T >5t8tC{z90S$>;;9 99 9q; N@NBfNC@BAC.@yCdS@Uw`Cvv vk`+`{;+p \ ܰew`콃](3x;fy EѪUHqbYպ=U'.V=r.ʌ'L,O,nK6f!yWlFp=R~q6/rPhѶ^*1C;B0п$4*@( O"-(vͻaCW!kÚk.kݔ2Q$}2_n>WL7>_.N([?aF8C"Ψf#mz3b:erOs9eB2:e )z:s*<.Mpμ o(u'҇@>mo:&eé7bdg *ӶԍʄYz)Y|eS)yE12gORsxdeԀt~ZH?1>% hwŢ]aL+9ӏ55Tpx5?4ԕPޟ0r$q}˸0ΫI%.%%iqPImɾ%٥RI]bOĵKS+kgP^1ippO4GT':d+z"#z%z- .*NNKї(+MV$Pad&qѷoBGD̒9y\xjj6ihj.KϤ׼|LQW*TcG(K**ՂK5m@]̦ÔJc!wESudJy)jo&Zmdsϴߵ?}kF,"ڪe:fUVUTǨ/1tUYK|x%됕`Um*i:X_tTK&2B9O_qB+u1MV w!_'h~R6ɜcp)J;I 8-N^cRnZ^%d61Z)g@ ] j㳖 ઱*ꚈPJE>/yF\M~^=P 6J!zPE5jZ)(YQ_H=YYZ\ĺõ b:ä-?Kf,UI}NGC^Pydg5d7FCIȆFPۢ3$حݯ"j: u=Ͱ}zWKGj8-A2\7yƌ2qѾ:ڐXkRMUP;nջE+p[?%n=ֺr4ݽmHlosܗjZZGIOlXf;K|EN\۹3cQ?e5*'̇>MTl6ARuѝm簋ar{IBbp_t.oz&zl^{ש[{ľ>. շh6՗"G\yv-^񢙋.0D-vl /XpIEۖX; F8Xqx<~Zr$@FC%B!›YCz,/]5̡{!<l/L%fჲ;_~C*SLsIL6}viw-T\23$}D-}b=^ˣό=C&GWM8cCt ňe~ -];)e0ߓGHM}jIH 9mƻh#b2!؎yH3ڝu01:jf}7< t(J:|,DAX)ꌎJ5~&*Q#K[5Mf1D2lc h%`[{y/(V q!r\(Htz3'XEpo8W"GNH /%I\;ܖ7w,@)+zl}RLR'/v7/f?қKYm۱\8 SZEIɤq`azydr2%vH[rBreN0ӝS6Cg6Fd|'cCo,r;߹0)O,Oϙša'#㰯Z# O~QrUdCU>{'Rm EcM W/Ɉ4S{jKA4Ԣ>imn="߮h>N&暝 =t#F"*K:ALV +ҷVWmmPvLU-I)ʭh .}0xńݯU65)ZN{ѓUZ$l={F"fMf>E=ڝ^4 RlJgi:-oy3-Eu~$7I,d} lSɈMwmKi=ti_bS͹ym5s$Y~׍ģODQƵ+]#Z- {g,;, ؑgf1֘fsegW3)K~:b{if7?Li]9ivCM=m^KlJz_+'0e |Fnv>o=pŖ{Yf en[lbMbOAs侞5=^TaKi`iAnk^nϾy]yviwP.ث3fJ>&v̊Gg)Bc+=.}_<(p`Cc|ׁm/hA5D ? kD5jbutjL8|@[nA媶gԨb+\(+'zc;e`x"=m/k3p%.$UЅ0kxҾ̰؊?oMxOv839JK.Z ~=n,C~[J~n@m_|C\lX i{!8B/}u/-q0/ɀ.Ov~;~= e1.y=lѯF$)ަ&L?ymlps7TIr~rB;!zf}I"⍂IS¡"ײhžSQ;PI1 Kkx?F f∘!?]iyܒnQ*7b-ʟ\>fZ0Bf-4H :V|D4$$'?iI'c%^ti=}^Ohy&}ش 9[xr!jk)>{xu䇂a$]5B.ӆԂ;?Oc*ȮV/K=e4qx?4Yl5ԯB`.X UuD/.!*wO+ IQrJqOq(@y3EQR xpZj*>z7[UZJPU})+-Z*5<])ϭ-T;"i.ig;nZfK>p,bZ Y!P9IlLUّE5%_mCҮ].bu璷w^g D]f|"^Oԓޙ }Hf>}HD3Oǎud)MP~䒣7S w쎽4YLJ@I;?R0qADW+۵%UzkSno[==d}iOs:³sDb1zjQߓ刽pRYNO]7'xYKNTݜkY9 9s]nz5wQ]])r@CΰWwwϗ/8`a'b 7s99j 7k4Xv^+Y@P>{AwCGrwz2S2lY3NW^CU$&9fl ȳ伪=Ì=H ,0!w$ܕM\CiC`RIe"YT .RI0qIB ZA:9 $ٙb}фJuKQ/i/?PS<XCǔ Cy9Sf;:fn|`N)"  bTULI^z!׸/RzLIq `TGaTh_^&HT6wNm I:iTߦ H#_H/C( sd5}wwHY߿;tNUX~0utǽK8U3xzf|GI˨R趗=\Pg\#:ãvg궗^F4u3a+p}WR ת_<77' fh^͚_/Xxr\.ӗLٖkaK#oyg֤ɴ3K--R eM:#.wzJ{u# U ZپddtIkZl wɪ—m.}xf(O5 ,=f#m2N3)'"BAݽYHn?`?~p<2žHaշh bj~*mO6הG(w#\C>RW_Tg} NϸϜ'('\(ť\/rJwf$s)7#QafJp[Ft[.qexYCPWa~jaw2+yW@4M$!'iu?9%S9G?zJ`/ (r8wXxz*d#BF"b܋be yB'Iv\nХ}HR95rfGVn@|V4 :7aFļjvLU~"pהϯ^Yx0oSAeԲ;ֿNė WOXI`0r_ R_fKv >K`1uy~0:¾2eiX1+*'p)PiH;Jd`1\8vk֕ڳ+ QVr;~ 1?ͦ+YV}0@l(njf)7j?H27 a7}s\N9T wD.{1hbˇwoӻjfP#X~ P5cZy]5nV4_ըPͭ7yd QTe 6/C_԰3DPe\Q{KΏ0Y`צѕb16-:h3 'EkyW #;-p=Y%zS`DG*'Tk8:@"0M6r:9YIVLXe 0 <հNMt̖MR_&+%E@Iu^30~I'nJ.dC=za"*sG2fY|fݶNSkmGbaLw?N%%gr2֘o;yE#1!P尌sq+vhM;ZНS V@o[X'}DHHԓ 5p}}}/*z|+ :}- DŽb01Lf78fRez#[7a"] .e!?+».3@Ž/Y)ʱk몰`BՎ3/®nI Ĕ~aq,LCnc&}4TPbr7*\q-m;4>+íMTLVtV6Xy9rg=.xef rB6ayH`6T ^|&:Y(k +LpA@-.Oھ8zqh Q &aqm>N7`mo-+l>?Y$Eje`Hmd.#FIn`W5\GdFQsN_d'JoD0ZkGsZtO5lMCx  7IO3/ NJ|]hhߴEqhPޔ7a r K3@̢J*=)1,hc0j9*?V+a,:: ,?F-"פ"}C֐wg_-P{.E=A)ζ3žיn0߄aV_0̟ݘ:yqE'!P) e tvUvv*,62VGt ʏ2 ,,q\ !jOAU?f/g%*9 \.{>&uf%JjXHHE=._,+9;mWD&%$qJ?1%%O;VbR؁үJ[ݒg<`D󳶋&lw(O IK\4$5gO^ `ǼMt3TBo6!EX)r,զJE ke'v5X )HQ+)/b-v,K519=RH[2ӮS?lKII{ƧR剫+z9u CcګmD>O%i %Oag %aR,x|e]1IE;KSr~NJ⠙n2fkx0[6_vQF: &'>s]JUm,EnTx>T?X~jr|#(rW宖y#cjh0ٗԄu|Ezz(T zBzMDv @jj Q :{_~G>嗏~q/&x6bc d@<{n]!qŸ\7B8f:۠谏K][n.cǡ<Ɍ&өczJC"oߟH_W@e;}|%O94oE;t29lǡ'G))\#73Z|b^8߱[_{pl {5n8?7\@I "zJl2 "ߏVBwlWn|\Է[_?1G07cF^#5ƛT8c}N%_nܖ]iK3=4;`l꧇Ș߷su v 1nͳC-9E. ءc\]m?{Pgτw߹K*[=>:k{,u.>}tVɣ3FF#FBBP#NG#QĀ#Q葘(u4v$ndbĤđq#G#c#\"RFRG\#"FG#<"2F2G#e:B/ڴΣFVgC.v!9)hC,t <M=o FFG#n7f`rF9A F LPQs5R<F Z4#`Е h l s43c4itRoq脈GGFF]KFJG#nӅk:p@D44]f_^/TC !Ɛڐ搦K9Ԑ >?t!~!Q8,B ) ) y4yȳI4D;rW`DP̈ЈY#Da3Yv /?s8C@B\ !7; LxC&B&A| ??d2d d*dd:d$ ̄CB Yِ9؟?k;;;; <.x|k[{GgW`}}'O <-xzu " QhDAh>a0iX 1111xB"vd`OcbgN""ʈ(2%=(A8r:BFhGD yxJщhCt #!"N N"# "!2ih.Z.?hgXofネbsYX{{{pqq.1(J6JHD?Jˌa1zv{{79g,w67gw(_!""0t:%&&/ 3,Ōbbz8ǃ@w>?/$Df a9db,1XC,'Zh r!@%ȿ>5ՙi)tw+Ӎd1Bf 5= +Dž̍B@~1# .`PH@.J?5ʘjsj;U7APW3,FSWaaAd ԆVC)X(@"9HB8dD# 8dD&!,$@.@"1H"E>Vj~Wmv݀[קmѕ CbḇٍƁ&q֦gZ6i9rXcjuuuuz\km bk "v& ""!ʐ& Y d҈#d iCV![H Dc8t ZVщ8L,&a`b0XŢ [Uco`aobe`'+@Xu`%h%l{A&-lPB("pńJT"C%fA^5ne %yYUFVq"\LfȽnr?GLɥdQ);))()k))[)~4$K:i6?P,W+tDF4Ç11ȘŘØǘaNb0Tf54 s7 .s-*,ss?s6$&9999q^]: w+I\Zp3\ xBXDXJXB@@h'h" ħWDs 7lGAPJ6 u-6-z-Lt}c#pgf0 fd0 >QHcc\Xv̿1̏w7˞beg?ap9Y'3ʽ̽ƽ}}=ƽƽ}Ž}Ľ}½Ͻ-u+ӂH\a0D* }d!T#".  yµ=u] eTZ&K_KIKwʶɶ&+HESU,S,W,Q,U+) QqrXQQQSٗO,w-w+VԹneYuFh+NZ@u:k㪛V;`t2>5508.+;=5eUCGU4kf{yqQIִ|O-/Ziym˳W-gGyN-ϖo+1Jve׽nn[OOO!b+冚 EsP>(gTjj2j &f>#QQ(?Wd8j.j9傪D/C/G/AGC@E1 !cjv bq { .8 79 Gg G .DH"zHSI3HSHޤwLRɕB )[;ɻɻȎ4GAQSR~SP^Q>QQQ>Pihkii+izn,bBF Qb2FF-a~ee2,(k Jge,+b%f X\6>>N8HNdq8ÜI\_n /aytțмd7.Kexn.EIyFy^yA9G5Cz(UW><<<<<|Fyd9NR3t5^MSS5ILTRPBZ}K]i8WxU*qmvS;I;Y;UN&Tӫ;Wv&ud]^Is>aaa!̰0ψ1F1Έ2Œ(#i7}Fq1֙Ե-[]XNܠj7 ?jdg5{}f/snQݸqIi]k7Y?Z믖o-ֿ-NNc}+5V֛Zo;6FQmŶBͶ{]Ϫ[!}}I}U JrP| CQJC)Pr DyPB݉.Ŕa`ncnac<Xl 6 dJq\&+e8Cpb\n> ñp qi8n,aCwՌ cc,cc?8c/c;c:!c$c2s 3%eXKXY*ZÒVL,#gbհX=Ŭu6V KǪ`x, Ƴl"B6 }us l*)8s3m-yJfJ^o;[ϫ:xU!bǟ'h~n>>:N 7 / 7 w  '  o ? ?_ O   _]$$RT/*"ye2'8Y>"s?#!RS!V()++(+הWw**IS%r4S**B++W̯hfh%xm6U].Цk#mr`uo Wl~~~>B7Db 1xCqm,7.1ڌkmFh2.2JcqWWJ?YwnGݱu'mXw0а`ih7暧gCsyy9 k$5n\׸qUƕ&NӁ=Mw6[ݬ֙iVO$tkdNNZ/~o}e׭R&6MiSC7׶GnnR~`KPMZTCPݨ^bssC.VtJ7p5\=΂36pP\/n/nn3 g­ H8@ֶ6)ҩm+YbjYNEX:m۶p_'чs}0=ޅޝgeL'c33,-"!{0{ƙ͙ϝĝ-x+yx+x[=?m?2{~S~A AKA7lbQDtVO\t\tDtZtAPtNt_tEZFd}"X"E8!^'%Ab%IMR(1KHJIH.ɮɮ@weeodOeedde'eeMPS ~&((+2b"O9H9@9x,^pÔp.Lax Vx<OO!i`AQ[ hs#vչt#zzF:zz{FnrRbf-̱(-jK[}[#[[ [ƖlmmT ;Nsx;^X"DP"A#(󲳑(n{wvpOps Ξ7oKC-SQhSC/yzYKGs;~Zp@pCJƆaJ&YaBxFxXxLxDD.eggbafbnb`ndB5g==mcV: f >; k }Mu#9V+`k 8l Jqx8- I$%A%ITR[Z &d2B@2Hq !$XLNOWqQ[^_\ K  Sp|Û|-C iAlT*9 =-H/{0Joz/FF.C΀OϙWWטFS}c3#]VrWĥpi\2" !oOΛ)(+0 '` 0A2<A)8 TvP'^(*"^$Y!T@+Rh?ʡпftZAlSŗVϩk>jo )D¤wyԱ!ԉa|*jT^ED/ X?XYYoXXY/Y [̮p\W}˽}ȽǝmR,(!BrAB &X-(, ` p=,K ׀ej0 .7FYl+, )&Քwwr Z:P 9AX88vQ5Q-Q~JR[԰:5jPV՗a橫+T]._OC"PhpLLަSSi)f#椹|rزr²rٲr266666ֶζֶƾ~Ⱦ~~Ծ߾~~qE~"אWmA#Uu1:uޮrwҽ]θ:ޠ|}|-|=}9־Wh/_0L~@dF(`PPPPPЮpid[xcx@xox}Jtxkx{fx^$?܋܉<<<<܊܏.fbb9.Nn]PN9$&$'P(Mvba/#l? ۅ]bﰍؚ ttt4?MLL̦Lllleoޖ)^>\.[٠vʪ=UgVI-퉭͉m.*mbTLHbPT+T UNQT-UMURTu?}(0fta cYXXMsxIJAXpZUGpBpLNpx<4HKKIJIGr.-&r|0+(777hki/hi/kkhkoijie bCPm2<04661321=5=6-0WK,7,,O-ˬmyG'ˎ+- v*YصKaVF;{g_&J Ow}1||2S>TA_hHW('*,$#2>\ViMOfQ/_aED)|L M /%K8İ$^<6xPq_Xb\qŽsw(Y<"*u94"6$*,JӒt& dFefFffFgr3ͳ}]9َme~.[,oSٳweʖ*U]VWT#v#?bT5AQ82"< `cll{gg7gG;.8 8*x"8)"&<w|=b%/E Mby<-Oيk{GjvnNWVf^6WכWטߚZ~X>YZjZ[WYiz&?Ǝ{{[;ێ 3 G)Zؿp|酓 .U8pbiΏ_NKҸ.{{{{{GYC} _W[+|+|aԿ/p>)p!p$o`g`GXd`lhDhZhTh|huiQEu/R+j^4921|Ύ͍͉͊MOOOO;HM+1:8YH/-6)-n_\X,fk'KO+=R!-u%95 }1=#53<[ovmהXYTuNխU7&Tϭ~PPJ]KNF ??`]'O|K[IZ~PSM~@VNSX 44u5?-44?ߴfQܰH5M$n^N.sSZ&mlm}]=9r![, ߝ?fu}sַwwwܷ޷÷ݷ6*!p/m } -]4!R'ʈb(}@›&MNKSŋ7-^]8S\V.Tz\[멛; >3/)LN̎ef/]^__>D+9{UmT%.ޡߥ?f%_q? > jInKoo/;iij:jhhkE:ަm8axhFI`:j``U D(xH$PUh- >pssgNI{OⅨ!nhr^4Y_/Q(mut@Sl1CϏE ɵ,>V|vŧ?*ZVTt }+33̮l۲eMʟ?-R~AhhIlmg`o=jbxxXG ynﻯuM } iE"uHQ,$c'9y2پv@P%fWde#ˆhRaRjP5ZT-IEOG=@mPOs~ ;K%?8F WP!P5tK6&i9 ][R~\EmXqLVB,!OOHLO+2,l~م+WL[qjje tbGqa{p0\H~ X"K3,UF+Xv|VAx\Y]<9}њtf3T)/)/>dxe=弊?*UHUjs#BQ:`DSpWz57eEiahUp)),q+,_gIǪ:yNU]t~ W+sŹ\i,5sM\K5זku"m.Gc1r9kΈb/;iTT!źɱqO\O&'ƌ&ӖԊGj@PFu@=0LSit`0sy|  P*@`, p."Ā2P*Ԁ:@#`̀68( p  0PD(@HP ,%R`XV5Z`l6-V?`v=^`8#Qp8N3Yp\.+Upn;]px<'Sx^7[|>/@s\ \K\+\k\\M\[\;\{\\G\'\g\\W\7\w\'. ?nn .7㈸QѸ1q Iɸ)iYٸ9y|4g[O`k"%7T3?ك[!msrrʁ yp^$/WWW4oyުykۓw$Dީyg]ͻ0ZZZZZ5՘[3\K^kJ>;3c^~?`,?@l_ x IY;6c9/x┢rnpgϿ#1svA 7 edez6zy aTDXZz]XvuM5ŷo_5> ؊ԀԜԣ[pA=}]jmmp0| ;af8TVv/mcم#uxyxgyl!W BP(dBP,|+~# -%+#('*m$)Jrjͺ-i2ڈNqy3_&҉L>NMͣͦͥhuFc,b$qrBF8;.b;٥{ܦ"nQn^g]=}==}zaLB. 5B0(4 NhOΔ2<,)G:_ʔΕStPvTZRB*qVVB2JP*+^)Vڕ1Acӈt{uuuGtu;tuX_c%R4:Uʺ.UJx'Iz=a׃z,DUbybAHM J L x o(ތO2[ |_|)^U]=!] `%&'r ȅd1YI6%(YM YDAWwh h.fi&!ƌ-3S]+ ݌}c͌ !K*fgײױWWًk؋ثٕevܾ\c@~o~~#0~C~;P~G~W~~~s~13ppppppppppppppxx'i)/)-i$i"#-n!i."i(IҘviFꗢR4*HmjiRz-Hi/KQ,VRTQ^WnU^RQ>U<<ܡ<<|ܬ ++.>%:<\<|<,d4>MƯA5IMJєin~~~~~~R0881fLMMLM̿??_Sftv w]k]]\[\k\= <ћ0 wo5?__7+XاW'7w7G'WٗgGgw99ܞ\z"n9w1w)/Gy#dOggYyI)|??OK0p𬰉賰𻰙臰pxxxx$G2D2\Y[C2T_2FE2L2Z'i&m./ =&!%)&&'OzXRHzWEzZIUEFPz@]zFTNQKzDZzJVDzSCz\zBzPBzRWQ+k{e_0@U78DUKUC PNA5FQBUCE5EUS^5RU[L5IUO]5@U_C@\ZGA^PYER3Y7[7Gitz;{{{{{{O7_O_3ˍV!S}sm3\\RR2::::zzzzzjkmp:\6RНIgԹY5uuuuuuuuuuuuuuuuם)\|>^\|||4|<|ïOAy ^ ºĞıĥ$9OS9TWBB=B+B@DJI@oGLNCNDLhJ`KCc3DI"$BNT< <%$?"w%()/-(u( )?_M))(5ihhCih;hGhihh[i{iGihiiMsmy6fv̡̮̆L%k9k k56&_߰߳kp<)gE n~%/w~6QEDDE#DSEDEsEsDD&"!()*bQ"hhhxx')!JZJ[I:fˆȆ𲶲βA|40YYKYkYoY_YlllbbbbB𸂊'Gg^JJU&U@*JRʩ*J4*2A*HUrPU[WeW!**99|99999:~!2;{[;aqSs'sss+sKsOs sssGsssOKp K_K%eeleYVJ/o/w~["-`fkn[؛ڛGvDAGstE -H{- 醴D!S:NL91A>g[hwgWMOW wM O/P@4o/KNNvN{;yy{y{zsݽ#xgz{y ]s}~?*E2Ͽԟ//3ҟUAc]AmT ! ό"Ȓ)jn=%~ſį$%'n$&&'%n&&n%%$>y9 y#NRR3w;59A@\#"'L&sBBt$ L"=F $IIIWHI * ee>@FG!RBL4 )єYIz/[O״ߴoF􏴳z7ǴW_w&t3L S2G13UL3&Ȥ129LsŜŌ1'03G315L9IdRSl쮜F.Ɯ&ޜ^fӒӓӍǙ+xռ0?w//o7oEaGvDkD_QLD ,Z'2*D*ZCD4VT-|"()4iX"$ ["ZeYBV!S`Zٿ2*-eFY\fa2L!V\2PV.KɊd d!Ef%eYXF(*F*F)")"~}UUTx?%U jjjjꇦimim-uSEN_OB^P__WLU 5 5 ? QdёvA"K#HFwEDGFGnnŮr-9wOKW jd& 䛤_,uT)EJRi\q&-'JU"b!<GDlYТ`I$ee)e LN]D))qQPJ⤔RRbƴ#]}=}iC#yQtcYʹ112Y\Dafe1W2LaV0bf%4$< 1`L(89s999DN>!qss)ќٜQq!Ii\:oo)_qv)!~k~CA[Ag~+7/~~mA{AAs_>NH0GX" Z/:#z,z&z+:(?N.>>]m-!5EQ)I1;UuT,bX&#Jqx!QJD+J1tQnAd/de͠+G/VPs쾬tJV@e-#79o/3Y#!:#;&-#{"$;/ ]=zAGec%"(UVS|P|T_L<tX'“a;C$ky0lX|X +p `1 l)&x8<fݵ]?5yڞ^!nھ1Nڹ:. :HRH{{{  !00ؐkib00Ȩ6*O7OwW&t4<<<<<ǜokgc~e[@¶,Z[4"p-Bk-[C[m[cΖ==ͱOϲϳ'E* BQ#""RDF !#BDxH>29)vJ WDEpq]rMuqxLx|W7w7333c~Dyy[O_#cޗއ޽ޚmc5_}Igqoz~^Bz_yxyzzx;7O7//W %#x5=-/'5+_pwpcfx4 CC7B7CaFxRIYabxNx^EWdGdOd}d{dK؏ؓ؛سؗثاİĠD$.7+Q?=3Q3Y#Y/Y'Y;)HI^R'kb ^Xm#k5j`-ɺ:cXVkKDi U B)oʕ:::zzR5i8]/22{7ߚpppppppph#YHvtrrrrrrrr򜲗r\<\|\etϧϦz>Cgt}<]Dя21O2w01700321w20cc`nfnefng&WXXYCZ3#8J#H9B;ϝÝϝ=====ʝ[[ʟ-#/.!" & eɞ^\a{KQs%C`7  {=`o !N`6bL|QD$Hd%%TQP>$Dh:$FCS Āl,h64RBCz'@ i C!4 ͅFBl! ١q tT,dEɏ_or | j.Wix|·kp &|NkL-YKҊ|d-G+\+NҵSs-OKhikZ.蒺.fck ao  S 3 d}_oCh6zfڦ?_o榟/Ƭi鶉bfjf!L63*=sRf)-- -^Ւ,)zjmako`kikgkcakedkn[l[dI]e7!.Z.[&ȾѱٱD "NćؐbG %  )s*˜K˝79.wl7fn;GuR=-pwLLLLG'TԄZ8E(Q) Qe ԀQZEGca Z!tw.:DyPF1t,:Eeh!: Q2 Qooho<<<<<CwCCBCBBBOB? 'ao6mq9qH"ENEdQ(Fh<GK(}}}}=}}}}}o'%&&%f'''$%[$&['%&:9 #a6`C11żX60%Sc#0cdL0`0*6.(*-/Rũd*:ҧiKZniiYYݘ]ݒ]SoE늧UOW  7 /  o  ׈..CmCmLmIEiFLImEEABQRSBt=At7I7Ћ6z&%8]||̼||||Ǽ|żüͼ|Ƽ4DlA8~9aNr(qr\{{{{{{{{{;7m LpZ^@t%0% *GG_@hMԃh%20\  @>HDP *@(͠^@P@R-#I{H7@[ C]PB1h9VB{u^Z]C'2, *VA *:h :QWUT) g{Q@h|||||| - UBC/CB0SY\\ bbMb ccbucub5bXxxxxdddddddn2')iK֤>[r̆-JUX[abV,9,yRl`Al!Xb˱B,*"l VZ-]]iOڞF3}&}:6&6S+[#[/[nn({XlBr~WCU . 17!!'%͢NΣNΡΦΠҩL$Px(j?jGڿJb:jRB__'oWfm7f-wfMV=VV39S),Tpr8UlG&>w6o#HX!AXNFP- QDI0P0.}``#b hV]QIE^RQdd1 j#=BP'yj- =&˟@?&_K'o/%o&דʉŊEeʿZBu@}D:jNMjڣujKjZVTPԐک.Uf\mWoԮӖkkh˴+[ڥ*B*mvv6+$=W=K/3 P0 a6 !hpzBc/SWSSSgSOSGS_S'STe*7Eqs4촜\YZX+Vbmmm?Ij:v a1)IW&y\E#  O/{k//OϜKZvWK݋YwփxH'Cj555u5uD~}}~hW%@m}о.<_-o :}Cߢ>7'S0z`HA U@ '(`|0i 0uBCCBBCBuCmC-BMC BBKBCCBBgGח;W{‡;»"#ȳȍȂhEta<=3+ˋuuuu ;ƻ{ MB&ACyI_ҟ 'IOM簃!lvۊcwks*v;`ϰ1 ;]Ǝca?ݽswwH( v]}t.J;*력H`]swwks;??#yO_qy~ZUk .)ZTt-/TܱUq+~ 44  \ \ \ \ \ l ~ ~ YCJ9B\B?¿_Rp%RNmM Cq %BqdrهD"HC1oxG oWb=XI 6kufJr$Ks)|F>&wjUD6SGij'NPW+y}CgӇG:݇IgҘEqv/=ɞbϱ{]N4W`IU-ppB Q!a jA'/)@^&^ԉ\\)r 5)y|L-ˤ|X#G cV)W}vy|B^%؃b^{ Tؓb;h؛J\$NNMgӅ Θ5GB^ $ M;g®' D%qab81(qqbab џx;yIw&L uݤ{IKǦLL5e{ʖ )R>L}z;rR^J} VkwSKv5|څ:ΆjΖVκf&6ΪΚzg; o;46kCƲ;2dX:csƌm3>dgCِkKtMsi] qtwѮQ.k tMpY\]+֥rI.2r\p\d2tfȝ,w]Nv݋.w۹?ϙ9Mw9slR} 7.мayzۓ?{~O;7ŽZ::"7WǁGw灧}]/>Y!WJ 9C!oh~h^(%T ( VJ Ii4R(JK%+qGFD.GD~DDEۃ1` ~x(ʄ@Nh6e@WK9?]x{OmȽ]Cj7G=QϨ;[9~I?,f+s a-DPn+ aD(҅eBPp 9|׈mO%|K~-?wmL>YGbN.M7Ư2~Mkͨ=Ό31&ab¤ K'lI\1q[͉W$K;LϤ_I'OT.yUdC  ),eo)j}H-7gjOU>IV6tڷߩޥOV%YZ7PhgIΑ NΩΞ!αq?w+p錓G2exffqr廖 ] \bWk+芸]ilBW+\ELW+R\Eٮ,˕Jp湢..s{{{{{{{{{{{{{{{{_vóGekd^.{m-<< <==U=m<5=u<===<<ށn^@@`ЯP0" BB CKCKBEu>(ŪW+=^@2NQ+0sz7en$;Y9immED{`1PR@A0'D^R7{zI]Sro])}M{v{QaU&6 kR'ewtL xx{{{yxy{F s-[*אg3yPY<,#<] w,\0`x ,n󆼊7ۻܛ]xy Yހ7nx7zxWx7{{z+XxpSբEE׊nWWWWbXSxT`h`pfjrz\vJ|bBpVR\|S_hrhjhJXhPh_@hKh{bhkphGhOȠh2Y) @TV4N1*)yHhhhLKsSctjT 4_552h9Z @n#7:0|8>?D8}ƟTESTcj00wpO8-\ -R8'&qXQ-J\Ÿ2q-[8naܩ#7aJ8x2pM['7Kn"y}5K64mPZ״!i^%8g8gSv8N9%}rm'ͺq9MͶ~zzzzzzzzz*]6rVY~+euW*eƲl86d#D6-{kl333ң@gG==̩[1rܕkrW yr^jG(X__I%CeaY~ާޙ7 o/o7D1\xOcM1v6Vfz*j{;G'wKW[ǡˡD%Cd),%ITb? 3^x#:9z88:z9F;:F8;9F:88F9Ջ[7szV&Mxp:l3c&wH.Sd)ŖbO2)mb iޤ: ,ɳnf\Ϩ:nU:if/r3gVjU+vVìY ,l&!;oLm[ 6l*mk-kSxnaw.o\l)6(>X T4050%  v vv v v   U W    W W7 WGDQJ2O ) VV*~eT)+X٧)˔J ##"O#O"=ݣx%DDb_s&S9=jʔ eoB)qccccccy\q g %JKӦ}Ht;g39-}WzY3evl2mfƙ2gl)EfLfYMZej%kr=ϖɞ$8O'S+^ܼ<2'-W`ooooooq‡t<jjj҄ۆ;;ۅ[)[rR9U(]嬲C٩V+5ierF٨D‘7בF&^QUN◉ 5ӊiϴabu9`"eܿqӯ_5ޞ&_dGJl fHC4,S:ݝ~'C7_f̮3gv>sVLVl?<='S?0ϗ̛7/(ϟg7O(|}S|j8D$xCP** Sठ&>4><1<"<6<('<*<4< 7;<,?|SOPN)[\\S(mek]_OwttTFE3)Nï=rNL SļdkuĚIw`6qgL3ݑp)њƦ:mg94W=zguꓕ==Ov'dy4-Σ- >>w_ V!M i)a} O ?[R)gk`|CcBYt`t@tLT:RT^@*nƼf߰uErm&oKޚ,c2f 5%)Dy 򔼽{ >O?A4d [l&æpblB|Ttr[)YiΈ&D/AݙL#Pl"V]K8(OӾΐ3༗q?c|̉)i٩=Ҽ%y$'b}}qpHHHHHHhR45MY64kcC$_oOdžgEFDDD9&d5"+ w"ozq|b**@٠5.T?021ZB75sEl,_rƑNqS29Ȍ1ncI-f$.k1-Ob8c`1| c[Bb1x6b1b9b 1` -myc2r :V֪N^>~QѪ*PW*L*V1*S *QeSUJVũU3T DU*YJUfUT٪9T.[5W5OUJQETU+UTUTU[UTU;TU{T{UUUTUnnn^ިުޫ>~~J˨˪˩˫+++[۪;;{GGGGǪǩ''''5jRSjUsjA-jISP'ꔒ4C=[Rguzzګ.TuPVGQB"*zF&fV6vN.n^~AQ1?E%euM=#cSK+;'gWwO/o_u)4P( @%2P j@}h 4Z6@[z@/ !0`0$`20h- pH 0 ,`8@Ȁ@<0H d9?@&8/ " 0 ,%2`% X &`3 l;`/(p 8N,p\.5:pw{}x<ρK-x|>_7;R`i X,/` &X `Cl6`Kl c`# v{>M!Pp8 N'SAPjAD@A$A#h*YA<(2N0fnp.|pXzAX AQp!\.W+5Zp3APIv<σKe x^o;]| > |~?_?`9MyMeMUM5MMM-M]M=M}M3M MKMkMM[MfffffffffFQk4F5`%FIcX4pQc5ơL/q4$M&rҩGdjܚl\Gi5PSk5MP,,,,׬լӬlllllלԜ֜ќ՜\\\\\\/1khjik^h^j^i^khjk>h>j>i>khji~j~i~kJkhji+j+khjikhkkhjiiji[h[jhic]]ݴ==}}Cô#cSSӴVEZFiMkiTmv֩ѺYڹ%YO׻}>O?O?_~}PG KK+WWW77wwOO/oo_?@erPyTUCP.T5B&P39 j bPGu/Q@@h04 FBh,4M&BH i - pH @ BVI 98h:̀$(JfBN(e@9?ʂhT͇|P!Tb((EBhZZ/o/Z@kh# mBۡNhWW>h?t:CG18t:@gsyt ]Aס[C1z =C/W-}Bߠ/\.+Ujpu\׆uzp}n7Mp ncp @x(< cqxx,-0#0 a VKxx')L ó g\8΃yp "8aO§3y|_o·;}~ ? % ~g  HYRTF ՐHMRC FH) iD m=tB ]nHw A"@d2 E!ÑHd2C#$d22Q!j@4##(!8b@Ĉ 1#FXĊpq H2Gf H"$#)H*Dґ?H&FAr<$ >)BH1Bˆ,@"d) YDV!5ZdـlD6!-VdفDv!{>d?r9F"ǐ $r 9A"Er\C#7-6rC#c y-Fh E E2t9]G7t+ ݎDw{}~z=F 4z=C/WMzG'S9}Fߠow{~F_o`UXuVaXC1k5Z`6X;=uƺ`]KXO a!0l86`cql"6MT0`ZLA!#03b&,1q c&c,æcIX2a31'6 fcs0,,y,yX|X!Vb,1`Ql[-Ɩ`Kerl/ [b؆fۉvc{}~v;ŎaDZ) v;.`U:v`w#1{^a7[}>c_7;~cX)4^/x% ^Wk5Zxm^&xSo[6x[;Nxg w{=^xCGc8|<>O'S4\q $n)܊sq 8<O$<Op'3x. /£r|/_6|' ߍ $~ ?Ke ~8oC _ے'3 e e  U 5 u u M - - m  ] = = }  c c  S ֠3@؀0^we4 j A0np C!ɐjH348 s \Lېmk %—b%eu͆]݆C#cӆ3s %eU5 M-m]=CSsK+[{G'gW7w/o_C)4Q(OT"*UD5:QE&uDCјhB4#-VDk і!:.DWѓE&b 1L !#(b41K#I4BE %t@ 0$a$LE A V#NH% "H$d"H%҈H'fEdn"&"%|bQ@'($?QL&"DX@,$%RbXAK$V5Zb@l$6-Vb;I"v{>b?q8H"Gcqq8E&?"qL\!׈ qG<$/WkB|#?//Q,GV$+UȪduYK6$[-VIK#ىLv!=ȞdoٗG'r$9C''Idr 9Tj ARCjIIDI4i$MIdI+ɑ<)"i#Dʤ%gd2$3Efud9,&CB.$% _r%\M%ב Fr3E&%S(y'_-|O~ ?ow'M7V0V4V6V3V70213606661636708888888888888888888ͨ2QgD7h4-Fh5rF(ec18Ø`L2gtc1טg7F41b52637n0n4n2n6n5n70425370437425^4^2^604215>0>4>6>1>3>7253~0~4~2~1~5~702V4U2U6U5U3265545*ZژښڙzzzFƚƙƛ&&&&T& 4iM:dM 7Lh2(S"|ŚLD4˔amr2MnSic3 L^So*6LaSĴдȴĴԴiiiiiiiiiiiiiq鯩 U*G*RUT5UCեQ T#1ՔjF5ZP6T ՑDuRݨT'ՋMRj 5L RèHj5CQ $j 5RS@I  0 I)EQxJDF)X*NS TLPT5rR,*M͡\T&妲lj.CR~!Q Тh-: d-`b0YhYdgn̰$Y-i%ݒacdZ<\KkY -~K,abX%eUu -]=}C#c㖓SӖ K˖k[ۖGǖ'gW7wϖ_?t9]DWtm]d ݘnB7[Jt' ݝA{ѽ>t??=HCHz4=DOhhFiiMFDS4,-6ZeAǖ :NS4z&Yt=Τlz.s\:Χ^Gb:H0Qz^D/ z%^Go7қVzCCa(}>NOҧ9}D_M}KߣS~A_ѯ7[@?џ/WAѿ?_4S)˔c3L% STgj05ZLm.S4`2&LSӜidZ16L[Ӟtd:1L7'Ӌa00f$3͌a2 df 3Q1acdL X3#3tf$1L ʤ13'b2d2YL63e|f>c " h+ EbfYɬf2J f+dv1{}~ s9Μ`N2g"s\c37-6sg2K|f1ߙ/7˔f˱يl%rZa Fl)یmf۰mvl{ۙve=lv;fHv4;ǎg'Idvbdeq,ɚX3kal;&l*dYl;ule=l.l1`l 6.`v)]ɮbWkuzvnaNvc؃!0{=c'J,{=^`c/*{a샒S}ɾb_oط{3`2ֲr ֊j֚:ֺF&fV6ֶvkk'kwkOkokk@ Pp(X8d4ƪꭰV̊[ jVjVUZ %Fn5::::fZs9\k5Z`oZ}"kF KˬZW[Z7X7Z7[wXwZwYw[XZY[ZXZY褧ggWW7wOOϬ//o__߬߭??2\YW*s\)׌kZqm\;.ku:r]\7;׃r`n7MqjNA!a8#9#'pM\,MfpI\2¥riLɥs?ⲹrr/Wr2|Y_W+Uj|M6_ F|c ߔo7[6|[>ow;|+ߝ{}~|~?(~ ?Ǐ'%)T~+F|'?/%2K#KJ**۪تڪjښٚZZbl]l]mll}lmllmClCmm#lclcmlKT6 ilZdCl mccKvl6MɶXt [-ɖbKmlܶ6-זg+ͷڊl~[-h [Ķȶ¶ڶζ޶ٶŶնͶӶvvē?f;n;e;c;k;g`vvvvvvDdnk+e/c/k/o`dlbniemkgoo`odofonoioeomocokogoohdjfaiko`hlaimkdjz;dv[]vkOϰ'ؓ)%*Ӟneϰϱcϴs{=>>^dۋ{//oooooghdljaiek`hljfnamkg`dlbfamck/%HerRTI,UjJuR}Xj*5ZH-6R{Q,uK=^Ro4HRbFH#Qhi4^ M&I)TI-(i$KIH$QYHHd8&%YrHR4]fH R$%K)R&͔fIl-eIs%#JyR4*$RHR@Z(-Hˤҿ*iFZ+6I[iW'I#QtB:)Hgt])ݒnK Jz-JY"}I?/G+Kerry\I"Wr-\Gn 787MfrsRn-1r{Q*w{ʽr?y)Og9|Q$_Wku|S%ߖ#D~*?/+N~/?ʟM.ʿ\QQQQQQQQQQQhhhhhhhhhUFs8;:8:::9:;8:9;z8z:z9z;8:;8:;8:9;-`>vwK*3J]zyݝ3>}=~y~?c CptvX~tώ?s;"sQhGu9 DGcc#8@p8#ñv8ry|GcQ(w,uT8V8V:V9V;8:9;686:696;qutus6yE%eU5u M-m]#-uQx/o__?pjn@MP F@c h@'3p<O+X@' @`0 #(`40 $` 0Lf_@s` €p`.D1y| HRt `P (@l @X@ P,ˁ `X &`3lv;]^`8G)4p8 %2p\n7;]pox<4xTx^7;=|>_7;Հp]X`!l 6` % l ۂ`#'-`7; @p8ǁ Dp8W ZA_` !`F`,ƃI|0LSA(5*`o6\,,2p9XW5ڿ Fpnw x< i x<^/u&x UW]XurՕUתWݨYuv՝UW=zXqՓUjVUYJ2̪U/^Vz]mջU>V}\kշU?~V]Y墻5t7^KzHo7ћz JozIwuS{ջ>5]˻{{7;wroʻw= z7nĻwͼwu2ijgfM<{y9Գ:Oge=yx9ڳggggggg<'tDӇ#(}>F$}>EOӧ3,}n}u?ݦzу=T}Gznc8=^O$}>_OST=MO::::::::󺠋˺_ah&f+++kWWWb%^^E^^%^^e^^KOOx/Kd/+ke1nuO5x uˀn143݌{zy{$x$z$y03C_gYB=[sEz%z^%z^KerB_W5Z}^ߠo7-V}]ߡw=^}_?#Q~\O?O3Y~^_/+U~]o;]~_?'S]5RWtsZ:κzΆF&ΦfΖV6ζvΎN.Nw89;{8{:{9{;8:9;>΁A!ΡaΑQ1αq ΉI)ΩiΙYN9@gs3 u9ÝιgNC7 JIѿKѫub5 7Q˨m1Fhl41͌F hm1Flt1 jxa4z>F_6|@c1b 5ÍHc1c5 Dc1MȄMDMM$Mʤ)Tc1ݘa4f k60 clFnDsH#ʈ6b kFh$FbiF04 65074(6587C4$C6#X`dYB#1rEFo%FQd%FQfKerXa4V5Zc.ʘə))`l46-Vcac4v=^c8`4#Qq8a4N3Yq޸`\4.+Uqݸa4n;]qx`<4'SC54xfTaxa4^7[`|4>/Wa4~?F4\LWf4knݖ-u[ܭmJUnkֺs[m&70f6s̝nvm>nr;v1nt;vYsnrEfo%!ëGTW=zL 'UEQCUTUfYn.5 sY۬c5fClb65fKlc5ۙfGb2-f7i2{}̾f?ḿ s9j3#̑(s9k3Ǜ̉$s9ŜjN33̙,si5}M?ffd13 3siFfi7c83/ծ4W5Zs`n47-Vs01wso0 5.ָ_{+w`Z<=Ju|O#>M|4i§O+>m|iO'>]|}<|<}xX|tyżj^37̛-yǼk3̇#|jfzx{zwxwû \6pxe7]]rV>MݫL4KyW^=zfjjj[u`uPՑQ1y󫓫xl~1m1MjaqԴԲԶԱԵԳԷ44444444ttttt[<,/m LLLLLLLL̴̰>y絞~^yy獞7~#1U __X :ATՆ@uzP!j5A͡P[C]!/Ch 4FB8h<4M&CS4h:4 ͂/d@(@PE@sZc ; A;I A\TWTk:j]Z_m6T&jS\mT[6j[^vT;.z]U/բvS=Ԟj/GSު:@RCԡ0u:BRGcԱ8u:ANR'Sԩ4u:CRgVWSmA5X QC05\P A0@(A8D@$DA4@C$B@P&ʁr<(Z-JR *Aˡ h% ZA Fh3@{0t: NB,t]n@7[m_]z=BT = z^A;=}@_oPF1]Ux5AMTy|5YMQS45]u JJʪʫ**.P3,u樹"5OW P-RT-Sե2uZPWuN]nP7uMݮPQwuOݯP' !'5p.n7p % n p'3v=ர ax<G#x,<O')Tx< 1 [69p<c`; p'p20000azT=WSO'SizV=W/KezU^Wo7[mzWWGcTUUMTU>W_/WkV}W?OgU~W?_oZ:UUi5ZZmVWh FZcTk5Zh-VZkVkQ0 30 +pyp^Ep1\ep9^W«x-^o[mvx{}~|>  $| > "| _M|߅C1`6 % ~ p{Quֺhuռ4MzjZOyk>m6H цjôm6Jjm6IMѦjӴ m6KY5_OiZis`-D ´p-BEjQZٵX-ND-Iג-UK5hihi/wհ _ A"H!i4GZ"H 錸#'B!ݑ^H?d2BF#cd"2 LE#3وbC$#!\$BĎ"qH"C$IC  (!$B!4 ,#""2 \#4R4Zc4V4^4Q4YS mei l-GiyZV-֖hZVhZV-Ֆi˵ mR[hkuzmQۤmֶh[mvmSۥh{}~vP;֎hGcq?vR;hgsyvQ]֮hWkuvS2,d!"|d R"KeHYl@6"6d/9B!Ǒ3+UrE#G%-yF owG|C#?_Dkuкh=m6AhK5vB;hW;C>t:@GtzGk#D{Ujϴ*M Ԟk/+F{k'E}Ӿk?/G֜KkeJʚ*kW֩[Y~eʆ*W6lZ٬yeʖ*[Wl[ٮ}eʎ*;WvtZUiVٽGe^+TWٿһҧr@t t&jE}Q?ԆhhEh4qh<&IiPPEPP%QPP U,t!yh>-D-Go3~]Fנt# ݌nA?nt݇GCaz=Dg->#J`,tc\,--鑒ӷ^lI|+ۜNz!fw6qVM@Tm-y-\d?7xX2D>! @} {Q(iKA"3썤xN(+<+z=^D/7}}>AUTC+ghj&}D_7{~C?uj`nX-6Vk5ƚ`MfXsk`mXGb^zc}~_os 6Fccl6Mæc3s1+cX ,dGc_lyN: DN`zb+& 3)wUa#s`W->=s}/) Vr#Vn'O hn|Q+ 9!pJ䎷1oSޖuG IweDHv4|Zbv*{=b*aUi<Ҷ=)a'ĝ(,v" ^iR؈jp#[d|Xy~h##__lgn sقyQ$iى7ϣ9eGiݐrUw3Gt(`763uBDHC$=_|tˆs3ωdK s 7X-m2K}>c_o' 5Zxm^7Mx wq{x??!h|,>O'Sit|>6<CP< #H< cp;TL$|;pqqGq'ppgqqq )bX$WŀɈO++ ;%^9wpbGB^}mܚX**3s3៼I R )q+ڧX/ٜs~vyqm4C|$ϭ{[1ٶ˖Qg#iȝt!fl5:7,XTjiqa&Z&||1^xWMf| ߆ow{>|?~?Ə,~_ƯW &~GcߒW*\ _/W-?_w q'B ܈DmQG' qFX8#fs9rb`n+ '}ELk9w_m=@NU9[bHqc{Ƕ+w4/ػN $ wH~fDoD4&MfDs%ъhM!D#щB'ѕE{D/яOx>b 1B %ÉXb1DL&3,b6a%| ?FDB1D,G$u"pA4,"!"""XDb=z4>=ވ2m${xŌ(0[;mQs;$y8: ./$JFS;(t:d[b2oV|6)EzrSd-bٴRl LDѡS%gn_g\Rs)w8Gk,! "(!J2b)XNT+*b5XK#Mfb Fl'v;]Ŀb/O&'Si,q@\"WkMqK'Gc QIs%xK| >ėZ'&+YE!dC ٔlF6'[dG}U6^ѷ<|uu-V>ѿARor![[$>xJN{ȟXFB5+{pʍHWTίH[|,ړ-1W;fR#|SH@pQBA#BZ48g`qV!#&W]^z F7FW6/!?6oX;]Hғ"-d7;كI"{}Ⱦd??MA`r9A!Ǒ Dr9JN#3ș,r6i%}I?ҟ ɠP2 '#ȹd$EF1%x2L$y|2o7L'$!!)&%ER!YB2!yd>,$rr)YA"W޹8_եv5R;r>?[\8lr<7g0aʌX⍡NRdILГu|?Sn zvH n)Y?VgWf%Ƃ @8&5"M9|I"_o#L~!/7YMPT UG5QTs՚jCSNTʃRݩT_*-usj3MToܮ}T!`E pnFF=k! !tɽ&{R\~ :={x8FE$^Oty4KikpŖDONOeB69ίh,9#PW>_JQIUŅů {Ykg'=mN(< j05J FR8j<5HMPӨlJPAT0JEPTCRqT<@%RILPT: P HJ$J2T&E-jGP%T1UJQRZAPkuvjMRAu:BQǩIu"x,_?5|R߭Rl[[D 6VHy*Wˉ}s.;+R޾GR¯XQp!ccМUx眳~ZxYs콢&AY2?],G6.C>7x2bϢQKl(e ]NU&Ϝe?2 .2^JWkz#Bo;=^z>HGY3/nNj) Dx}m(跩;{y-8{h=&u}8/͊9U^Н^}LL9;qa;edɅщ1脄/SSvg̾IM&,~K32oc~=QI\e3xD"&E18}>I_}EߣZ+gtm/+5~K?Og Fҿ?t5]Wdj1:L]Ӏi4b3ML39ӂiɴbZ3mL;=Ӂtb:3]+XnL'Ӌe1ތ3 b3C>GuC_zB⽤ zŪ‡OebG[SO_OveKBMv3[oξᡐa1SF߬{hXp"+@6u'N܉c3{L,O'=/_VmWPf3dF11Xf3Ld&1)Tf3df1+16Ɵ ` f̄0LD0sH&fb;1L$1L2¤2錃A!a`0Lfr\f3bf S1L Sy6iJچԟ_֎dIIsBwe+݀ZrysjŽ/|m/h,lC.O{PL]~'3o$G"!]Soϲ6W։.~W3"Τ_/`FeugyLyxjS,e1˙ fYŬf0kuf#la2ۘ?Nfe1As9e1ǙIs9Üe1 m*s`n2.s<`2)2S2+`~2#vOR8&_z!(Y2KCK"9<2)xA_E/1)a {ZqnE>fVG_Ċ.abX@%ϲƶ m;|IP!W/7f `ؚl-6[c ؆l#1ۄm6c-ؖl+5ۆm˶c۳؎l'_)σd^vg{=^loۗgYv;fCapv;͎aDz Dv;Nc3ؙ,v6ke}Y?l a6 cv.{AŁ1;]^bْb o n7Eb1*n/9o*Gt P|%6^Rz;]ëwCѶཱྀ$!vY@l7+HC DVe 8y;>86:>&#:NIrbCo{ly[豈u$"[C/"(6al,Ƴ l"cl ʦ鬃XXEXX%XXeXXXY_d l6eyl>[.fl[̖l[.cv_{Vl})י Frn,7MpSitn7欜/pec SbymgٲX >o_`&/!h8'r/׿_uz|}1߄oƷN|g w|/ߏ{Ap~?ÏT~?o ~̇|?h>|'|̧|;xxGxx'xxgb9>W3FMI=@)͏r쎍 -˝UDDPԔ~vU5#b"Zq)Q 4'kDtn!uel<ʞu}^`v'`nd~עMԪCK!W\H);ix1a]_1'\^=a1mB`/ /sE|B/ ~ o=^~??ğ"_o7[mWJoo/7杼* 5ZB@h(BGEp<O%XnBwS% oa0H,  #(a0V虳X-}D[܏:"jI&?ԐFG ˝f'*IhA8`UJ=lqɋ =/VP.zu'E bJ:X q:RJg'DOrǾEٶ=jqX FE6SRRُ;5NXkśFL`M)2/pea)hhS~ZhpPh9:GѝT{P^᷇(姧xj@ Vȣ8*KT0K <4hv1ZM|> ᷄pO/< ᩠ P)T `υ+Nx/|> _7C)XG+ bBl%ۈmvb{.z])#Qhq8N/N')4q8K-ZE?&b?:p.FsH1Zb'Ƌ b8O4ORT#l ! ufٿy4Zkļfݓ-&VQ)l=l_; ,6&%>$z "^K=;r3j)xGų .Mt78F$7j ѷ"1<=9>og&1UDDDELEJE^DIT q%P,rqX!Wk .qW<( xZ<#wX)sR|-ߊŏ'U.j)HR#\j!JNRg.yHRWKHݤR/- J#R\a7>"%,7,)WZ#N"ĭ~ J{[PWToDLSᓖ+? X3K<(-8-!!'qB3GɭYOjHKAm&&' 6V܍F' ʱ\1"?O2T[,eKv~i4^ M&KӤLi4[JR4G BPid $"!+q/ (I,-2R#JyRT JERT"IriJZ-JiM.H1tR:%I祋etM.ݐnJ}Pz"UJϤ*ɐLJz-ѣS0tĀXꩵ[kUpwlɩr̚<=ysbx`Õ UFDO?6`֍Ғq7W}s:5p.A 7Å*3eP+Jr:+9 ȋD[|7xBʃ93 Nd81aǢi@{[I,}Jߤ/T-9%\K#וrsRn%rEv=dOS%}~r[ Ƀ!Py$I|F>+/ʗ+U|K-ߕCDJJ6 J~#'E*?/\-(J ol-fPwk˸d(7M2I5qRv"p?JD3@rˢq19((e8wJo2W'Yc#WY=Y{ܳ FbB1@ eчTl$* k1mއtA,N ĺ)5ZJmRWW(J\iRZ+mvJI鬸+JWK(ݔJKS+ފ2@ R+C1Xe2^LR&+SLe2[*bS%P R%L W"J(v%VWDe2_IVRT%MIW @ 0 byu#}B߂G⹴"j֧|FEk@/6A imu&f[ؗ,̿£95o[s}/8ʚԈ6L!3e~Aw:qw%yS5ء$O9+WDFO|,)*td(JPVr\e(%JR+%JR+˕ eRYV(eE٪lSv*ʿe_9R+G1rB9RN+g9rQ\V(ו-rWW(婢*Rmg߳m۶z~ɻ`V׫OȄz:4NF<]bͯWO&Hj dO(kqޟQ GihOno%OHQ/h݄?sDüTyЈN~o y*%((1&QK)_u!6Any qs"jQ&}ďҟK-T**@5:P ju@=>h4M@ % h @# t݀@/7  `00 #Qh`,0L&`*?!q&0 `#( D @$6 HRGND}oM{{{ Tњik "=M}tdj`Iwi `Q{DDJՒ-BvL2^u\N\VFSaRwn'Oևu"%i Qli%WcrLsO/GZg7a|!9*>?5)t@& R@`Hh8@D@d@T ( ER`X 6mv` Ap8K*p Cx </Wk |~PV:`=>l6b!k5kcFOBu˓a{[>n>=PaIp҄9z}+YSW3KE ,Z6AHW)KM8*G> BiLswʜyͷL,J,$䝲Q3#k %v4gzm-SȖ`k-v`/7 Pp8 ǀc Dp8N\P ` `8FQc@  ƁI LST0 0 `!Xz@/X@AD@ $@@d@A@T@ 2p\.gYtO; 4s3>.k{iǙ׸{ZC^AMo4gƦLG0=Z?ּܶE &tWf n&m-O?i&еծkR- +C$YL>Bߑ/^ .+U:pn.p7x<πgsy2x ^7mx>S|_ow{~_ow' P% TUj@5P.T.v# jZAmP;= U(ʰ։Kn[Y2WؽفԵPfsdkU, ㎺|7YNH0yMvm2]}Sc7?#&\ޮᾏELOӀյ &6 _NXyUz_sJnHe9dy OJ,Ӛ0 5YQs .ں[/~ +ڷ2XC ~=rGԉ F-]eَ7dٙ`M|~N!GJ 䬁A &h3 mv@;]h/CǠIt:CKUt݆@w) z^A7[}A?_TWUjpu\ ׁpC n7[mp;=wp' A`x(<I̿ҤܢT:!+*Cy EעZVַlfϔE#G_Sq>IA#pkL$(})cBM2r|"daV$ˀ-Q0L3/{Vleh:Om`:;<,_E㔄VOIKژ69*h~D]C4d~ԼN=mR m<)qhмOSh9Z2 xW;i.CcԜ[].,==gCi>C_+Ǒty%Rx^W5Zxo7-V?xw=^x>/+5:|߁C1 ~_¯7[=_owpERTE!5H-6RC# H#1i4C#-H+5id>Ffq1=<;]]6t,˲C=x1gZcvXX缘g.u~nGtM)']=+9H>vy@J *ϤGkƶMo^*@υzyG!sQ~:ҼR#vPڇM^iG: NHg tGz =^HoG A`d2 GF #Qhd 2L@&"d*2 Df!9\Dh$ Ct1 @LH$h$ V$C$IBlH2"iq Hd!H8<$)@RC܈"KQW9eҗN]l,uyMxq|s'OZFCRnyIq 2kU<*蒅hڐE4DՍ(d|B5C{7%bx{A+tEŒ%@ ށe>ꌿk>g- b&YqMfC6Y?@JA ! Q "2Y,D!%RdYDV!5ZdـlD6!-V?dفDv!=^d9D!#Qr9DN!3Yr\D.!+UrDn!;]ry{v8-Γhut~=9~b~}6ibM|6>1yh_D!Pt:DG1Xt:ND')T{1:7?q$RDl1缺)B-nLH@;X=>.m/R/Y7z48b<9jL~N[@[-VfzḕGka~w.5 @gt.Ah:TpԈF&4Bh4ZP+ơhd4MEPfh根C-B]h1:uԋ>ԏR@ABaAQCq@IBiAYCyT@ETBeTAU4Grt ݅Cϣ/њX;L}n.t)l\?q5 䆄H+%9sLe o#ˮҕCFVcO5hq:ݜNs) ř+SS.k_JzYR7UY܋~G[wPt&^f`Og }~`?_oU+x*^ kx.ncy\-~-uk]Ub-}}}=}2'䓶OH~!}Cjۄ #292#Dbq, Y2dgՐjoB^< yR=vX{6Q{V|=8=O2I. mbVWWi{d] ݬI@[5MJ.B!QաC Fxc o7[-Vxk p#nd<Ox:gx^.q}ppp'ppgqppWp2|_/ |% _| ߁A~ ?OgE~?*. ]].GW[Э6 z=CϢKe*zFs}~B??V U`X# kZc-X{uza~Xl6 RtEB'0P%^6.d $(lDJS2ZHm6SQ;+u~?O3?W7W *DQA&DCјhJ4#-D+5ц@t$]nDwћK !0b81M!Tb1Kh-B=a #ADQ&b a%b8"H  LiD:El6P#^^Ƒ~Fqq1XjL3b˘lt9Ƶ%F̸xθܸoo/?s'OD"nK? "`!P#p h!X'B$$B&B%b!XL,!ˈ b%XK#6b+N v=^b8@$#Qq8A$N39xH<"#F11Vh2bJD{DIDx#V-<>҇V>GD[;;{||||}|+}[| }|þ%oǾ۾Ͼ:_KVj&+6PgcC?߯OO[V_(`?xJ<#/+5xK#'3J|#?/7K#*Jde YFV'k5ZdmYG' Fdc ٔlF6'[-Vdk ٖlG';Ndg ٕFv'{=^doٗG'A`r9F'G#Qhr 9G''Idr oO~?ݿ___gAe'-wWm# ?/G@h 2` ( @J /#p p&p>4'p)p2/3p?0#% u(}YھtTTr9A$g9\RCj2 #u4ᤑ Md$Eh2V2#2L%$F2|r\D.!*r \G'7-VrI"w!(y,h j'NP'[BDŽ@#AHhI:S]TwՓEP j05NFQcj25F͠fRJC)NHLES1RTD٨*JTIeQTGST!UDbMP()("(((( ReT9ZB-S+jj-FPTQ¶ r΄ %Lzޤ9}>KW>'///W77+Kww  M 6ijip& Au:NNQ3E2uJ]nP7=>zL=^P/[=H}P_o'M*tU]Aפkѵ:t]]n@7э&tSݜnA[mt{ݑBwtOݛCA`z=FGУz,=OO'ғ)pCi3p7l40@Cmj .=^g / ' /^^.>>N8]x:ûwk=oxDpcxqpsp}8 // gׇ_~'AW?W1241֏i$a1cbt(#hEi mhL:.]t1Kh4@C4B4I4G@DtOz!^J/+jz Ho7zCA}>BӧE}B_M}Kߣ#13%F̸2 f,e3mVAV"jFb6aEc)sݣE.ZtqCFۣ3ӢgGϊN΍EsmGs,[dKв²ֲղZfoޒ-{{gd_~.E߲+|ʮ3)~N_ү-~O?ҟ+Nҿ/Td*1*LUSdj1:L]Si4d1&LSӜidZ16L[Ӟtd:1.LWӝdz1>L_ӟ d1!Pf3dF11Xf3Ld&1)TWv9sji4SȜ9}rF əc̱s2r9}]MϤ.Jx&')r&\9_'{ ʈ˔Lˬɼ썡c!fî1[clc.܊y2fga U9Ke[Kc_KUk5KwKKPk7kkk}k]kOkok-xkGkY'Y1әLf3e4 aB0FD2Qfb ceb8&I`$$3)L*d0L0N&g Bq12+`~2/Vd+*lU[dG:;8&;f8;8Z:9z;:9:Z901A;2efQwJ?8먗q0ㆣYjGuMt ]O5}JRӗ/Oߓ+}[-q2gth#ư2jf̀3 , #;8(BF-6[c ؆l#1ۄm6c-ؖl+5ۆm˶c۳؎l'3ۅvc=؞l/7ۇc؁ v0;c#ؑ(v4;ˎg'Idv ;Ngg3Ylv;հZ6 eXg l8kd#XFf6a-ex6MdX̦i쉌;28 m݌2Zevl92sh63&بQۣ;˔! F GM'+-|A>%?ɪT6ՍjHեQ0/՟BRaTLEPqT#)G(S(b1Z-ɜoN2XF߄VV쬃Mg3L6fs\l[.ǺYeKXgl) 0(8KK ˲˳++ Av>[Ɩ ؅"v1].c+ؕ*v5]ˮc׳؍&v3nc;؝.v7c؃!0{=c'Si +NVLKLMLML{MU#E1Ո|dnaY3rPȆ#GNEΊ4DtFT##"Fy1r"?D^|y=vdͨQ͢E r*JRxyW)QJHAJaVIQ2_)W(ReR^^^^^>˞cϳ؋%2{^go7[m{gGc }>g_/Wk }Ǿg?Og ~g?_oV*r\*Wjr\.W5r\)׌kεZr\-׎ku:r\+׍zr\/׏[>>>>>>~~~~~iiiiiii)8oEsCYSs.`΅m9s9$FNT+Eγ9;s>-knrpA`n7 Fp#Qhn 7M&rn*7frn.\ʅq:NpEp&.\4Y8+q\%q6.KR9;ҹ .ⲹ.sry\>WrE+qnyGs'qǸs%2w{ֹr's\Sn~#ם%r%`.["we.vJcʣ)Y)#S)RS)i)) eH0J9$ħ)SvNYr9ecʁ)R)xʿoRHML2%u\ԐԨԡDjaũt*2UL]:<',$͗Ҙ46 OSԴiHEf9# |,"I7YB (y?ß E_MC?|uBh-:.BW]!z }Ba0\!F ㄉdaB&p(D&!R0 B`D!IHB!d YBP  EK( n#x' 8I$) yOL|:>7&|>8=<;:;);#۝dx6d׈!xAA eB@X(, K2aRX%kuzaI"l ۅ.apP8$N pY*\ 7-pG+GcTx&^ o{Q,| ?_oO$VbPl$6bKZl+;'TL'KڏjV.^AĴĹafaޠֲnnn>>^6~~-W֨$VҮOIA%3JJrKL%%Y%֒y%[܈P.dUn%J:bM.{>b?8P,(q8F+'Idq8U&Ng3Ylq8WԈZ1D A4bhE/&IMLS4.:t1Cl)bX$y[^D~1 "(B",""&")R"+ ,**⁒e%]҆L6-͔vA(]H7 i`*1Mܝx4pӉg/&^Mf32gn\1yYeeJΚ5+ (Kڜ5kEւYej#۞"+)kGָqf͌]8pZ¨Bs00Xh-("Jͅ,-ebP\$. qJ\#7V?q]!w=^q_< #Qx\'sN|/~?owS%bTI,UJդR TK-ՑJ1hkfh5Y㭫bFǮ{*Bl8e__W(YмEAÂՉ} -Y0`tA1] t.Y)p L/SZJX,XX`S n(x]jƅ] )T*]!J~yk2o~#CCOΏOί/5JRLj.ZJRNj/u:JRM.zJRO/ Ji4L.FJi4N/M&Ji4M.͐fJiR*I:I/p(EH&)RR#Y$+IR(%I6)YJR4.9t).?1ߓct~y [rNpj3Qlgz,H'ד)xܞ3yOA!Qlj)n5[˭sM?nvs{}a8w;ɝNsgyw]q7-.w=sOgs%!eJYR#JDHKXZ!VI5Zi^ m6I-V?i]!vI=^i_: I#Qt\:!NI39tY*]nI;}Pz$=HOKZz#IGY"}IߥO[#Ir%\E*W/W[}q?WW5Z|]_o7Mf| 5ߖoǷ;|O?~?SiL~||8o#x>>Om|2§il>?BRQjEӣ+U*jWԤ\S%זrCXn"7rKZn#rGY"wrO[# yez,UֻO٠eF /Y6l\IJIeSʦM/Q6lvٜ2MYhXYUf.)/K*%˲e9es 5-΍ C΃Ϋ3GΧWgy *Uͫy|@>(G1|B>)Og9|A(_/W5|C)ߒow=@~(?O3B~)_o;A(?_7Cn7&S^ y}79o\༹y1yrX9S+'rN9\T.+W5rSV(wCXy)/W]V(JZIVUGA,ׂ"WO5Vp3x /-%x| 6CZPk#4 LLL4,STUUUU55555tMu9]s\.+rŹ]Y.ʵ̵ܵݵ5ߵUZ V.Nn^uv/nV\ZSVuzjHm6UjKZmU۩Ԏj'UvW{=^joWP!Pu:\TGcqxu:MV5D SuA WjjR#(լF1Ej&jjS5UMSCMW3L5KVs\թjZ.}qn#'O([RWWd 77777777ۧE,d* :t{===<<3Eśw)>P|tG?/NH9yyyyy^?oټuU-e9xp߈p>͢Ch buV=W-Q}_ ********򪠊ʪjPuH].Q uJ]QתuIݬnQuKݭQzH=Q zJ=QϪzI^Q zKcL:Πn:Υ i.)iz^Ez'meWxUD[}n|'~_ow9~ÿ/1^7!>D?3џEL FC@b&1Da,"# "(%H#("HCRL8LM ߅o·zO>PL}P_N}~P?MPOllllllllllllllll|nN|!| Ċb XO%Do(ˡr)?*m5n}ۤ̔Wv۴ى383'ى#Uffff&IUUHg&ߞ=w}.Μ97sWwI7=։=ыѫCP*g+*vz"L%`e`9X Vq\ .+Ujp n7[6p; 8x< ς)Tp8g9\p8\f Eb0āxAH) AHs@Y \A(ERPAUԀ`PAXAh tn`c`5XBZp= #Q4x^~ ?%~ #Ss(Ogs|߀ow{~_ow$j5RT1j 5C-P+5j CP'3 uC=P/7 Ci( CC0h8'4 (h44 C$h24 MC3,h 2G& Idd 2LGf 3Yld2G BdDp! D BElБ0F8!|D"F$!rD(F4H.h|!zĀ"FĄ bElq NąEbćRR$R̆@sy|h-AL!DH@T( ʆhʁbAlq!ćAbHI!$RAjHByʇ  P!dL@V!\@^*| @%P*BP@eP9TUBUPAP j! J@K2@**$Đj#@$%RdYDFV!5ZdـlD6!-VdفDv!=^d9D!#Qr9DN!3Yr\D.!+UrDn!;]ryA/W~@?_o( 5# |A"ߐHB~#Imhc m6G[-Vhk mG;Nhg vG{=^hoGh::FCapOt:Qh/t :G'Idt :NGg3Ylt:GBtDST1n 7-p+5n p'3 w=p/7x <π3aL0΂0 \a5.u66f[aݰEAa8pcp5\Zax ^/W+Ujx ơxQJF)(BQJGsPDY(\Q*DERTQDUՠhETQZQjF-vԁ:QF=-BQGh DKF#hZVhEch5ZZD!Ft) ]@Wt-]7Mfx w»=^x?|> I|> ×5|߁'0 c3 ~ Gu/8 7H4L4J$RMM-m]==}}$CC&F$Ĩzt݄nF[mvt݅F{}~z=FGcqz=FϠgsyz^FWkuzFw{}}>F}>G_/Wk }G?Og_ ~GOM X#,KcMX396:WbLblb\bBbRbJbzbFbfbVbvbnb^b~bA"#0(8% R$Dv'r3J7K0!J4!K2JDn"/M' >aH& Sœ$ [™p%JD8I%DU"%`Jeߍ߫?{ % kbX# ubݰX' bX6Kbl(6 Fb6 bl"6 MbӰ l&6 b,[-cc02FX0:10&b< 0!&ĘkU׺M]ۺu:u[ׯ݀? RE^xF䏙?7dDڌ PO6qKM̟ty_& aK>8}|@zzYw BMə=L,BO<ZAHomtPRQqn.\ͷj]>?c &^ =UUKZ3>1k<:aNs#n[^.lo.^a`}g=hP#drn%QVǑȻe ѦHp&1|83c+ˏFDZR>r؏_D5d&WQ9P-+[;|J_CfeE>FV5O;#OI*bLc?>nMV:Y K[B "bl6=FYpHIGϻ7=MyFyOHF/QGEt>g?N4T>H]QĞKQٝJ\;KyZ:_HqO.8*~*~)><-HNc,VlS*r[\\n[\50$kuY ǿ`ӵuO\OD;ܨ9G~_qr+|e^eDZxԠ]++]ߋKBQ(xԅх%dT<>m`URNbQr78+rG8E:AO[0WҔʨ,&flcZeոZA?0]Sh$}͟jfx;&_=eP)x̴s,X IGyVZNpnUF msV:dT31l#{9/O;Ȼ'H:4YL4s5 P}KCҴ:9.ؽ>.++ʪUbk&Qv3ϳ/O1a,=m_MU7ķA4.{>98#lŶs &InQ_9q)GO(*JnQh`j`=  CHuZJh@|pbL7߸x d{I9%J乁A:I(j醛;k?K@IES%Z%,M)Л6{X["vy.*1:hTA򆚿9qpq%+/<"ܟl'"iO9 9#W@-QվѾ3|s4v6s_#O*욜{LX%(rgf X!S40.2qw}Ē++e})rn)y6̵)tt]j2 #h=2"sZ0U( bZS uYJsmD#'ec`BIDLfړ?/&G$5IBH#%릚~X[kl {BfA@\+ԣ: v] -&廅55љ2B?IIf/B@VQf7ϩco}}kdCVzNBa߽ ^ " SZ1^&&f@NOuD?: P Dqle] X؃8sE$Yڳ'n\QqESQIuD%AF,$!yNJ"elܙ8 ~; !$&H{HIq2JnOiCS˲t 3 nvݍC.Eijş*IiLzNQUT#ՐzX,nzlilfe[X;;R[g9Er/|=KFtey ʌ6 1HH_(7h_5 '^DLZH5d(BW95_{a",}0 -'G=k+n"("dUf3&T -뇤F_ШV<W vJ $g(l>f_**W4S[sO9 !`>k I }ip;qV$Z@ݱ҆3bJ(ӄŝ$J<,sudSv;9@Oz(|&SW{%߬],hR$n&%1_p˅G,l]UK լ(n&Iodz/ =I'02ط8M#EL& $+̊ʹ#oaeFOΨā`mT~|gFQ/ٌ:^C,q9>4큂#9qVz0Airh%à:ӷP)U45{L kW7L0xc.qSRZ;z #FHd%wvqaO]G8߹q7>"(I@R8I\^J*t ")IO0Q v7"YJ1F1~GgY3mWo}]<)) ,*Seqx\Lr dZ?v]~ܝ~qE2ZlD^{>L7^dIZkFW|REBo}'.R\֤7iL|GC}ժo~~ !!ʅ]~yQԮYRA&̶L;~=~P`4)֋meҾJ70OwJ*lhڛWY&ZO2q[%5eb\14 o!O%ک L=ڒe*Fe}]ZUɣ Q5xKx2s ~)_K17RYHVZ++T}Pۣk`M޵Iuȃ#֒C7s XRY5SjrD+;Z0FJ,YJYn(x)K-.U 2$e']G< nx.K7R|8ѝAvQ_qThjZi|v@E\w6&}?=+E'C)2¹>(,}R )lJ_)%p꭭\wp \rF#f@|faG\UW5 S˳Mw m&gOD^ubˆ!]6NЌ˓FmeqV[K# B6,#c:ڴhL`rxNБΓrsZ[>U[2{Q'.SL\} _Κy~K7}n[=-mQEbb1Zw9۬_0Op3pҾ[x6l(n%>=P0Z0[ f&}(=WI LvG$c]Tٌq2 7c s$]O+/:`ȈH zWޓчKWs^)i &TLp?'~+<Ol飜XJiSq4r,q 23NDPo}cxgZkg88WT`TYh8DQCC1^w*qMb򳮇ImV<7挙n"{E^MOrf}0s?H^(ES嚮C󟻲= q%]Ng;#`D!i'& N}SiPը)x-,)/ nȏ@Zyٯp➮G$H]C6?\s[/<лJ.ȳ҆3[j[Pв$IppZћ] rw' . 6Ig( CƖFg9ݑ?nINDtѧ3~ f#%/, U[f~g/Z=imyȹ5( 7 W0p^ξ\-Hk;:3Zgx2a/G<=b/ƌ C<#"RҪ4WYƹ Ήnį}\<"ҐI6ym\vkIht6UuPp2mymdJA6 #OM[ZzZGElGw#Π 㒁^#oiXp_UNZih-2 /{ÙC3!9 9b]]dS20}_,#Rk(ny@oLGEˠCw!({ _"&#j)|;pc絧Qqߑ忪?J[+%dfOeLo\\[:V;~]7LjVD+63=+;FZ,R4-fS%?O'2BJ>\ q\rQrGFe*ȒC x94XU̓^ WI6zɕyx{$H*?xtae/x7%w%uP5.|(xWX)9--L68`z]af nZv+6 ߿EHF[xe @u~X-ITTS= =Ѿ~~~[{ӇOO_5Q:^ӹt ]I N:DgӷO_Kww9}si#gF2'#glθ~<'?`ι9rМ[9r^̩ӊѲޣ311111AdP9 CĐ1r 7c7 :2cN~. A)K/f 3ْՙՕdedgubzH,kKgY,ZƂXYYX.~5UM=+Gֿq9l;Mas|=c&~^>>>;̾ľFw %5=37;Ӝ09-99]ꅴ g$dsG8nc8>Nsj8՜%~MyMrsv!6Qܞa܁ܶILkr \w6WȝUr\:->纹q[ˍrcr*n w71w;=$w67יׄۀ[M~M -MM M <)x< Oqx,z1 xxyygygx_yyx'y{yxF3«}%yx?yy =}C#4/L> >/[.o+Qu_ɿſǿOO OOkgo iLA/!^:^\ B 3/.1&ށqޢ¶BP# q¡*app'/+*A q y+K/ɕX$rIPR"[T쒼ll`DVGrQrR\HIHgH3860)]*viBnVJ!i-(#-.Jm҆f4@i+us 8YY˾KKIˆzNJ2)+)dMMȦ2@Ɠe,S&mm]]]`=ɖ@Yl셬<)k.({.k,"##$%k! ?" (#o% |9]./O#RGL\w-'?&?*-&_/("$_++GCXѥNAE1bb~m|lE+( ) F]PxnEZQ+k[['fʎNʞ?l%UWʕ.e2t*k6T,WFǕה'[{w(2}TTSUTUcU:Z P2誐JiSgݪת:GVZ֪9ijzZTUVOR jzZ}FK}M}@I}\U}]}CVDgjkVSVO|TҼS֜WOt|UiLBSh4 'JX44MHS9kikjVhhNjjinh^kknk>hji̭Ӵm6gnMn}sisܚMrݖ1Qwr=OGyyyyn;w5Ly^=7gd^km;mO`Z@;Z;Y;E;];C;OHKhmZ֩-֖keU=ڭcړڋګZDXD]Uۖ5E~.?-Ͽ g|s)t?0YAMAz  8zYPV[ ( lં |\>Z[d|<=SO|T/RBEл>}>*qfvn^QMUCSs?E? M !? } 醁 ʒwl!d(1`fN!~>)-]}jxkihUءp_PPaAaQ0^,\^pm+' ^/W=\2o74?04t<3?5s- ,M--_]--_,,C-}--,S--- 2B,ВeYmXVX6XYYZV[YZX6ZXX[NXZn[Z[wϖ/:Kk#k/kgk \"htX]eIMROo;3+Ҽ 3y^w-*o z ^7=}}mQԱeooIQZQ"hzQfG)I*)Z[TR,YxɢEg]/zXuѣ{E:7)nVܠ8GQŭ(S\|ft]mŧO+~Wqq[_k6}]|}iQqAɾ9Y>c>`gi}._W-V67K_=}5}}[[;gC3s\?/ *ܯ ~ oz&V^޻o@@@@@@z`\`f ,U@WXX(o;.^>@$50p/ЪiI'.%J+d]l`ɰi%Kf,.J2JJ%9%NDSRPb-qKB=IA\Ae0h 71 Z ~;GX K-m\ڢii֥JqJԋ4yҚңK^*[z|s*}T,mjJ 1! D CА D Cڐ% !O$UBЖЉйнzjnn+<9<1<7<+<-8ƅѓ M]a$O]898=\niiG"|HFdZ$+B#҈&j#58"?ll ,/ҨCYe@ALV_-+)ʖ+T7ˎoAYIٽ} }ʓeʇw.o_..[Q.,_P^U>|Q9,Wז_*Seyۊ9#*WUP1bl fRȪ\WV쩸YqEӊ*T\8]UTٱ2ieq*VT9T9QɭW+Cs+uJkeNV鬴WUUz)zIUUWSulͱ UnT]YuI*tptDtdtVtq]5DQvDQmT-VGzwst{tgtwtOb\LB4?:v#=kkkkk#64&ƦƦf2bޒƮ1YbΘ)V+b߱mcӱs71|cKXV_=zjj|jEk7UoY}XկSjtTӭGM5#Y55sk555ԚXMuzoͣ{5jn\W>|Qamq3xvEqa\W K+kG1o_?Mj[V;6 ^#jG֎S;_Y%j j+jݵeTvI/^<?6$JQDRY*ʞ$%KAѢѥBeߗB&?:=>+ν 7'}zSUc"< 23B 匥R+2T3L23edlp8џ1c4Mi 4Z>M&N3Єh4D3νōfEFҢiihhi<Z))1VK{Fk5>h#4&m$siXf`Ùޘy*Lfr&-Rf^k73Uedfe6evdvͽIC@&3sr?;ɕŝu?H$kEbAY,,ןweydړu&+#+;Ke mInǁqDžxq|8~< ' DqqKpKqpqb8q'Iq28YN[SƩTqj8MNVV(8}g3ƭÙLqf 8snn3n gq8GsŹqp8On/ۇq@\.www e.q8QK8rshhx8NNNNIC98c8c989898O^y&-|;;[YYYYÉs9x<Os!1N(&mME?*td P简=Uٶ5]U U6/vu 5u.Z3\}THk?@{xji5UU5v;M=O}Zzj9G :\झEndUk-["E©37Oa=A2ZZV/Z.VpdQIؽZ%m:f%k]_f1|eRԽV"Ro"N?)h)$MAjr8HU*67(=(41Q:%T.NTNzfoIVk6pZS)Ҭ)I)uz95>֬RZd[9b9 RsSZK7/h]Y ,,0ロZLZ笀 YZ*o6 ZfS]2.UkwL5KOq1[^ 3F'\k?g_5v-6#΀&6+AE eM<\ۭ!̧B'O;uXkQN4;Shk1.p>5"lz" QK.DvH0uɌqSȼ#q'm6k+U)}i/{o/ݷ\?#ųv/?3ӠG9\͎~BOfٟt6n:Bj6҂RJ86zڔNoMs?|6mW4c I&R=/Ӣv|׭b;uF<)dl~J/k; 6j=+(6T*=xWLLJאֻ%u;e{fglwƺJ@/ zˌ٪[s!T9IgШ?d=T. (ehlW4ncU T&ܨm&bo?ȺJnR{kV~6jbsH!č8A_^[w!ky)\V,z}h孇CV)jeKBRxxzWzJEC^J;}Uz.nC ^{xWeXjߵ6h+rVȷib8;եRgM;{BO2,vM6]hL~fQskLJ&VM:)F.M(K9en;bZ{/[֢_E97סT(s6jV֙<\ΑVni ڋӂ"BZĉA+/霻ہ.c[\*+(O9꿑V;Ht8G^Zp8U;H$ _doqΑHC؋7yX4G WiHk+ Jw"iHk?W:JIK/t3ќx9'uz /] s%84#WHkFZMr_^l:y)wRUVRK+dJ\nͯ@p|ɡ+#3T:NbwΤ4?^#isyY |sE.O7ҺMk:/MG3Ac6ͦ&_po\qv3,2KZkYnNoݚ-#SNJAU9\UKJ}d!fÚ Wk6 2Qjjq3Paw.B„by_:E}&G7t\v;Gy7Y'$-z硡/v0fB^?)"]FQN2VReBS] Ӫ_k2_a%Zg_1]hwXf S8luouj{5݉WV ~SbNZe@eAv r\_g?w'$jqxRjTԒT,lרfLVk]sـ ^Ue (dmPOmz4)-L[gzʜVזtVSa[v )4{^rkvp i%+Dȯ$t? K$G>%H]|)/TK2ry*bƒKuJFغ;H uGjXJQ 8eػz>.Q-XD'560r}\3KdG Ϲum+ERν]<:kXp6q1//)u}VZضK NB)/ÅOs<JRA#aR^jX_`;d\i}N-r lOXm >S s-Rs~&t߫VjwTytK@wsw݁8mnfva.|~ԬwUy-~슙swsg?0s@0 ,]b_:d񛫘;fw;Av@.~qK}A?.9H;]dik6VvS>ҦWIo?*di_U54utWϹXq6+u sխכrFCk㹺msu-[ MEEp-]'̍'p^.~'<"f.|z;YԜ7%@I;Ikuwxu;*)h0_3 N { \)p0z P( G%YDAƤpb,X@ Ux{Cm੔u!s!Gx$_~Lqqko;i !u/ kA{<-C#6"?8W| ,.5j3"DP)\^v;a]=\2 G-UptƢCh # >_@U)DV"rx7K!:z+Azyp(l+@ǦZ >A(}7^pCz[XW"uAJZa$C] kB v4;gm > }0Ka6@MS !rQг+ԁw!tE%V0 vۃMrSL%͂ 68fkAУu-5ǹxr1!(<gJ .$V '1ATCE6]mg'AU0eAh]:n+eF`~'`4 ?l o R5 X`0nsxYNR~P |#!\&A xߕ$ʳppɷ0rz"!MČx6<%B %xच4L*aݠ &ג [`e1LHH ɟ~&rLm8w\wC#Pwpأ`YtJMM~c Xocky S dhoPPD,^a#8)U7র5$쁘XP|J U_o0*zܺ\gs6eEŃaңAo<,oWJpˆaAp)hat`h\"!Raea'x#xA Ej ,Mg?r d9(ʀs"gƃZr?YڞԩR(,*.jӆRsnXAL}b3|{.\"j.f FA]l10a=3!ȝ~ TaW'W "_wsni"hWŚAX$4$`t O/ 9!'/o}>=H7 õ] 91%O{ oCkޑ apcT:?@.oHz! oA*psigyBv^s]k$v )@}%ab|'>h/A/hp(FyχDo8j=DۅBi-H;k+P|Yȅ@wfÊ}&""y=xvCfXX}+>C=W΃wumྟ C` H|` T%4{TvB?7Obx 8"8*< ︢@ ']zVAH&&C,v3`Y>ӡu{*L8Oyeȵsatt@;U=}>฼ )M6 gCq5PU`!Z*^!uA[?Qs!xkxh։@Gh(SpCyF`p.Ao ؗej= >{z`Ns?uT/< E}=wA#)p `"#R'5fBmؾNm>ܰB! L" >d6T`2 ()_VB2(7oIY_+Vt!bB#(p=|xL{Sӷ8r7ul+x)]#<#`E w# PL%m?";bov:Bm(]/߈7<Kh@÷Im3aH]y !srP OL|LщDD韎53ж?3BTz$Q?%'2i; tq{Z:b;3gDѹ_;D2czƹP&z{1?>Au̟*X"hU VZ6(DĄG;΢Z<}rju&4q,bEk2rQ%.cc?}ׇJYX *o5\"WYwڠ>X-yhGG[t`~W࡝IG}Dzh' _z0#VsSޫ_9[L;Q^`F 9I 'Ls_:Ɯ=(2m &Pb@Xߨ1|b59З6~ߕDbͶgg3d W-)c%_%ӻng|0ʦK/S1KC"Kte3*H:;- P| J`a{W&~䀏g"'US~靦UޟH_MʜN>ld/zƿ/  81Qի g)aӀqѝte4 tdQȃcSJ1uw_ oI }zR뺣LTsq!&J=%CU1g{ #(ƀ=5Q|qLdq^g"7'ˉer,@6T J~Jj#x@ )Y43Қ?\]\7*\1:N<9 / 7~@Ll+(Oma{+]jg79L7j]g)v|İr^xʇRGyZtTP4uT9z\DwMCgHH ꊦU{=r(.:@>9|\'E8"6%ΊNS^i3!=N~jeŹ& ck嗟*_lu&mq2y UⶲO=bȾ+ l>%j\]Oo =%N~^.n=Ys.-a{ &hGds$vb̻jCB{k@lby?`zUSd1Цnk0zdʦY Tk/\pD#p,S_Ev8xvVf$QЎ.KlZ~az*BQ@6{[vXjO\d5wU.ЅX2{kȝa/$-@>v~mVM)SFWH7(i_\c¡ѧ*OR~ VY=wzQB|2r),v6E]9M/g%ٳvśmBg$64z@f&%֮=E /f ZV?+a ٚS~ũ)]_2,aGȮ*jVZvd1D'ŷ5FZUe] twOg$=h@so&1^֨<$+.~i7K IwR@nuض?|pq.r諶}87@oNZq[zt3Uw:( O7$3эS_'yZ 1]|[>_q8e6A7rxD7'vGR6)2 jWJQ?1[v/>W˃+~7UEƅѿO&mU$ũ7Ÿ V4 晬~K0%.cV9P>ILߏcY%b㋯3hrct"Wq8@'IGi>qҟ'Pd;3>b")+#)y,c"z<8ʯdwG: t'7g0:|ul0-)~&r2|JB۟Ib`wT^j-Tٝ=oSW|9kEv~{ۚZSulضdޢaj!qwT7O =J>QPc_= <,[D=D=V6ßD[epQ쵛Q] ^[/bThypK# .Q~i$(~gh޵+KUq>F5H3J%DjcmN$jSHDgj:К~_*˽UW*]+|:\d.ګRqzĕ8NW>c]<_aS#TR: jS#|JKv?u>wO6Lbro1,xlZx  ^SWo?*K?dAu;DuZ$T/A_T= X^u:h^q},m ,XtxʰUkwJZO1/1&<. T]mV'nR nڹS5?kM*F">x [6-T ??ƹ=RlԣEP/J4MU;9_5=E;@MTrZ~)-jgCCO8dwiz+MD'U FO!^̷Go AvXMKۏhBLTL"H_`چ1,5 L"Λ5lÞohʶۅбps$>)P"0}3xK\UL~3söEPfa$5v"Sa*8̡\a61UIv14YIV+-(mו#%DgD\ִÃSʛvJg9SƥУ$Jep ~C]C2mcX1ޔnx?(KS?2, 7ۻ Av? Z)}ryp:tdsʫKb8"Ͽ}Q$~~7+~5fϬقOЃd>na" DLrb9ل0VjDG>~\Rzz;8śM*ćБ[6{gX.3w8 VZUd8}f'(; J1ן7Fdov~Io_8t/B jge #I1l_Xè$}NJR@Ju@^=rE5 NQlW(=n?"ATC<Yo?֢331ږzqVeY#hLC>BA47qDSCo]( '|2u0yTb)m[Lo ;B/ljO 4$rF6,^ux 3Qct^c~pb,5XYLTpu]ҭ(f[&IH\2My[>q48BErGQư;zr\ݣHxLz%>= d,1Y$tF}c>d!B/dPL׼\ c({_Ó>; yn6ܖ%N(>x=NK3fG3 MvL'GYhXz-g&I'Ppn@x@14Vt='Rm>Py4.f!{5-'j{oY4"=](GK| uXGERݍe9N!.:~h㬬);k:rL02TUN K{vdAv|_z־{oƎ׹ߚw GG78 V8v< ^ŽbQD:,;/F^<4W%t3чQv5a4l+&lCfOS2n,<ڦ<(Лiĺ+鏦&՜m,iwEbF,vmu̞ѫ+;T]Ҁ>zGd A2,˜?e co1BtzK$qb= 1\WڶI̔:e΁bvF:,Nыn34#1F%k1>Kk', 43ŬE۷L"P7ʭGɮbq`_?/:Uc' ^s3x\InG"c`< ȗN.:V|*XTǦ.}9 Ο<-Qek.?}ıwq'cL`65 Vۨuҍ?ڛtMzi A.Blcz. cޮq{=#wB=;ZG9%c.H|_7%e!bf'_jv߳ױ]5B$'J shlkG"kع ; 9`o7_g/ֻUB%+m/'ja͛lc3/1ZXb}l>ʝn 9D-S?]nξCkq$f?$+%q &X  [EfZ9܇-ZH9X+yYiNiT}A$Ͷ ?JG 9_2 a>J]\~hF8䡢4ވUll#{ٞwƱۧ~H ,@?*FNm8CONBTu %vۈk5EY}VZg#ek?D\~8ysx˜`?/X[[wleۻb(>FG"%dDL #(8~)zzMl0ՊjgH,_0˭ϑ}D+Saa"3+6 #;]0ǏB0**U]wR[? iFζ/*yN0vO/I C9Bdⲑh)TV+yɾ%~A5^!_Tj΍+Ddڬ netRKԕ ,mL%;+͒m=JrAA½04驃Ӗ'0ه(,"`?|g.VEhKIE@![LY/s^wIS oz1bkdc#k/,c#Fsޛ8G5TmĴ߾-P{V G* Bn#fĸx+Co݈eyRZ5UpuCvcV>"cfJtGlؿڵa?,ۗױs9/xJa3C.weؿy=/j횳ajz/q1{OV-*S_ߠ}8{B#6owQceؐ(=?sBŢ.O7Sv"%\+\\tRLnzp8%<ܷԠ{+p.Zro2Ďw>(ʝX[\!a)ׯ4^!tW5ffڪUݻ-"%| +qܺW \%\i ⵢ",H '.xs/{D./N94%lGѺb A^gz[l@D([bB R޴qC?VN(p.\q]} K(PԿ\%ě~XaQWH j9mEړ{DSW2E(*e'+oQq⛓{3 rb ;^U]o,^LO%\t=b%1%݉^\%<{uZ=dD NZ_*ֺ4Js"8Js% { YNSy$↨OK7t< '+UT{C҈p09XLu#-= TVL)kdž'_ 瞺@|5/ꓓ?;2p.SkY=}ʜD+[5;N 7؟(][G_Xc8}H9F_"%wߺ`9CDË SN_配b9!+KYAj~p2nbY!~G{1)+;%W/K36aFlߜRN"%\>ozͯ  sԍ/%>.ł}Q$o]q,q/6(MЋ(.3oAlȻg)/n n4=OK2!r =Z հ;Sjߣژmݡ79JxսEGMJ8%tD2>t%XZb~SUi^o91 o>ѿT}VD=>҉KQKD\OonPw{?be~wEgWȿ90nD)݃oc qCJCVwGoc.2ͮj%)vw0W׫oIi6!u]lM^϶I] 'Y]}BՇOxۗ݌hqJȍ{^nmAO%<92avoh|UwOyR0b~TQ)ϩ+5kFo$Jx܃{>SzConP<=)vu8Dp[J`EgCF!ڷri l{Uv;-"}Ji+U`io%&+{Gյ lcedb\Wc*r|^1T?7ͮji15ߎ񪨲{ܫeMAL7kf]Ie<(8)]Yd}.~V}Rs3,o1qdS]ڋOG3a8H"|(mo_b&:)}?|av+SsUH_7 rP|;SA]GG@) *TVA#:>^Nj-8oQ^fh z 5. ^W;{d *Ago3G aE']^XEpzb.ٌ5qZ5mK}"_)s Z|ڱ{c04^`gϷE;Ӡ3' >w$'Acaeٺzn#. %jx=:DL4pv\TПs}ͽ*MVCM/_VF]#p]uX {Ki&YM<#hnN>dʽW~bۤK9]7C5ӷʷtbm'm ϕ28M?)s6??_rXoCb.l+܂9~SZ6Z[9kN9['7-iMQWO~52u[KCp38"Úd ),L2Of$argnB SH1LtVKHiB27Lg!3AәD6w"5+M0mR=tm I+np\$8@Ll [خ`tw\CTlmy@h)Mbb/%2V!GxJHVR*&%$y@] b&./ <39zsV,<П%Z y<]  a1x|T! g;ӊM2H9OOV,<`g{MwSy$Gɍ.'](r3'|/LSX<+cȧgDS„g&1yU'˖DfLLL>9M=otwOOH_6d>3gr`K <\K&O.޷LsRg0uOIb26+iSwONi|&3.fI!8'?\+pBm%q G\p%q G\p%p '\ p%p '\ p%p g\p%q gGEDW'p`:;Ȩv07IM#>'l=O~l|A2ϴ0YD SS`Nf_C)ģ .~EYW.Iwv䪽w !d?ЋCg`>3 Ov8$"3mhI* 3_lgƤnTTzQoaTШv;_&~L=sygql:r H"Hm?RƧD͌S81`&S8 SGg@}~onnUl?Ub>F-}8 ennxl|Dޕ'ܫOv1EϨ NOWn,+~w^#~!RM#hǹC9fsځ\% r8!lk7SؔM0\E;uFqػ"Y;rp7μ}#jo?\z0Su_S#=Q]ӵx. 7lNXd?-ڥ3~:˹~|~2#AT=ɯ#uV ;3a&mdP~mk2ߐgO:OOZT>[oRS{P9URxXje9AˡnK _ ƕ/BoʶߠDu_MpfVt|{TF_+ܕzGk5%^ZoQ =٭nb7c?#HvisWwt F4Q%A9~Qz X Fn3Gƨ~FO쩖(HYohގ~oCUN8yq߬'#G~ 헳}7H[ u%4d~뿹?l1:OK +wlShatҘ ѕzz֣y)a.ґFou߾w!A)'5V_oo_nzk| ХOQW{>=>hMy!?uϖ9Z\!oIB 물MlEJ&/1\\qGBK |2{,.ZjX2;bIfMn>[?o;n~*(3Tslza{;7ħӯeuWzSo;:g ;phWu!ה|^1G}3A#~sG{EF9U I[NQrjGttE/!OG鈟sG"珠$K× ]f޽|vfAcXݥdKCݮ,t(GHÞ5{N~+RS ЫC7𵷧ʕ"9&A|;5ŇsKY^uaXl,]/~gP:܄L2g"Ra>1d+k=xB׹d+7#zou6KUun?˿KEF}7uԱKMՍFi--uG"k'Çޢ'\_}stݑ o@+3~Bуl@oٙw;H@xݡCO[n {KbrxJ9 ޹#V~;='ܒwj-~j/zutQ.ϬPS'={yk+>G/n X k]/pPl\;;u|f=wOUCuvg.(@P+xDt}477wպ&B/#T{;-~ϿfQ~O_9q޺ROQ~7sQxKERigU.x}8Im ݇3'^\}sBe :{FXʾMCl1UWa98Y{2-u=xZܥzb$f}colkRS1YxzJ[b խGc+ߌGfrfTqBh%& 9n{,9daoψ*17S4Kkg` sB1iFLTdR<?#ooH)D=rvP5d,Eg0hzI(>6*ғڱبg-؋,Zr j %gZOal[xލCh fAoݏfc_}q77Q//=`RLOԑ>wd(Ex)lZWbns'M.=K{?V GUؓo|J]V k~P %~ %ڙ iD47踊7F8[ƪQ=6%bEc+e[haN= V>\ӚG$`Bb^LL) tJ7DItÍumݸ5}EeXt+%߅1'N5G-qаE =7҆|<6'(xЋ3r\o֯/m15{Ez΢%636JifNuӖL]@\o p'Ya=MVciBڦocz2hcCKh/ r>c㸟ZMzs$|Qxp.èWMЦH>L&NAǢdM zsA; ="-~8xXɣg-c=.cͽU%I02}} c<4+魙3`ݱBeL3S;0Ͳ}U错Nn_ꡨ4ŹJ^ʴ9ږMy]gy;Ln"0E+VġoDL.н t'ANн-t &uW#7mcC[b+}0 7 Wcc Z=*,W|j]]=<].80* RFhCMz<3v+76?|w}pTv6 +jɕƋ=c}t?:G@#{} tG@c(1ySz\\G۴S/(yܱ<1νu"A*>Eeuar0,x^Q91ϫ :a)UgX–Rz&Yθ-GQ+EJR3,VXbu&`zuxR|Ax"oM;Ih%(xycͽ5gR XDΠucc9siWjo)ÎyMLy͛~l<3 <뺋#h Ҍi ~LBTTK#(1Ʃ*  kq*bϷ !HPI6 t66J0p@ţ?PR 6 g0] s DH),RX!HL)\)3p[ʔ£Rx2S eJaadJL))R8bk) #UPI ^Kay_IWR=5 =xWG+)}% erlJ ۤL vAepK4GKd" 2V6#ERxA*@aKCdre2&Mo04ɵJT -c.keRY Pa zf Y@&pXNJ P2]G\[רR?Jqw\+}-RS ?+AN7GZ)Ud0$2V6w,) k@SK<`!I>Kag)T3ɵ"^*R)< .2XM&瑞!V_L͋HY 7Jv2PG&^&$8] >zV-)5re=F5e?"M͢cktz?*r7[Bh{{{~ ܽ.civZH|.@m2쥥&Z~yul}/S-||sO]읻r]VL7؝|"ߑtU"'\O6:7|̠|59VrОҘ̲<6:)ɑzfFRQ ,˱uqNel6r;Ё^Cn^z<iin/8D {,?ħ~v ~XuKVGJv^nU.~x;eG]kJ+*T:gMhF{ [.2h^.2Z.nˠml%_n[2UM-u۽K$]!ԏ"-HIq]()}QSfsp]c( S.4Q>w[l羹WQ(Ƒ<\H&Ϙ6%B1Mݭ[R)(JzT񳰏X=48UfE+OKꮧ=|xnLus?5F?kgȳfY3l Ca3lUo-F Lh4Z&la;[ oG ܸEnFzG mvvƔuxhg ?O@/+' gs~ pǭxx xV>+e~8Bo}_v<M(8δ3-ҙXNw-0N5JfeK}y.{_ i[-T0#Au%-N#%1e'ivY.-P|N w.sE??UFs&ZF1R.#Ώh?#Z!+~"[Vx<ތljQCd+ ZP7FGVH'%tl ~ A8Gm"a3‘QP Cs#NnV OtO?ƴ1tL+M1ǿI  a sV0":"{\KbZV 3ZGF+t) )Nh򝀌xLlnO75i5|!t6n]Xv_@noo3c}x?O J"("3Dz:0<,d ;=xD- kK90wk i<\6w<&"f20 N:IdqX™C>N4@RQTP6<>7Fd'$2lɡl'J d:M D._)9)Г #HiiLlPl3?Bd,@pgbica7 th.?U8<9+ k,Nӭ[ʖ\QwsQY M <ǎx[rޱ (0xl8-˜!֖Hӓ`ȿҘiLܙ1} ޫ8;@Ɍ4&4xCx3yt>;>krI]C*ж=o04ol00UtBP^ViUs5.L6lVRŲAl,+XE&d8pt}0Sй g 2ϧgi#0 6+ GI?k礈Xż'6h^f0%+yyxOn ')rad&_綅@ͱ$>=ϥ3|P|!E~ 9*DW,$+3qj AMpY4}4j{,R7<WS:;/ It CB7GYILh|E62khF'T}A GdzK Nv/i C(x]NZO'$g<ёi)F/@Hч'Ίs1) ^%M%c_$Gi" O**f:bS1klA ;VA#!Dxh^F|TUM ځ&A{4ݗ^BQZ0hw QZ"=h~(#ߣ$'1BPg&d&;N&hAϪab?nZų=FN8bxPeLVesb3NطVυmOϲn=EuH^m0σyW q(ǎQ3:,^wna&!N? z~ǿNo~wS,6]ܡ[HiJUWZv.1Kujw=IuP_bb\.2y~zEJ6)x*Dw7p$@N[d`-HBz3t!L<XWst!X3cTfl2)|L` X詬`* `/#+(I)(}Z*(7Q~jOHӈα8pw3&Ⱦ: !'3 ?\W*H.#D-pו$6Ee617 IDxϠEu21nR#-Ѥe$-"5҉&CA5@VZHZ^-5A@w PRf4 2 U([]:$bh HrY#[ԀA-sAl53#i0j2r h :3ȇ h@xpGvmT!iZ AV[|Yh} 5h`xO %RU4h߽\k<ծ. P[;=@? )>GT}Cзwx]||# F|= h;!A@ͫH+u$4Ihw(#Н7$Г0"`J?$A0'CIG, ~AG&6#`O3 W8p'@,3A`$.MTn"HDTZ/@[EZv H"bm4$(ȥL(*9Qԣ"GQo"( "L)7AKeZYxul>ٳg^{e, o+I&An=6i3$H}a׏a]`IJHYIJMPΙ$qI&AaG9m&AX`I$"7 "^N2 BId4 S&Ax$LI5 s&Ax$+xL2$L 6 &AXLIzM=ךou}n4 '&Avt%O޹w z1ǯ>rY.H瞜~#1h[c>~˗>t䍘5g/:e7'=}6375rMC^`C_~98ŏpqfy[aϞ]ok-ϟGKP鼸U|7]؉;f]ufpɎ/N}•\zm6bXx«OeYzƅ_N]>^picHçvnʋE:{WǾubտknXoNn6;z.WeMj=nUߖ=>vmlqXuL59OJ~n}(ګ?pS=}}嫳_x>y7&oOZz6ۑ3/f\~?]Ms+Y9ݤ,xݬU, t;~W}!zwRoY^^y{˕jޝ_qo=)|yKԧÝ'ʉ#};~tض/οy>v^MYO~} 3>HQA^p_cTRk|e}Ũ=68uƵƷ%̧_2iQ[mZOĨ5e>m|`ymu]\qK1e1F;ўvh_/Coގ1.UU1K&m-p5FcmS ܮ%<跭Zcc[ǨgL ? h1sU˼2F;v-51L|9~=1 1:F|1Ƹ\1._cs1aSy'џ=b[-_^gv*1|51ȶ6.1Xo1k{~Xc+FW̃~,uWİw[zџ=b2Fߪcb1:F3>c~2߮џ1?c1=Foc{c%Fb<-FFo{y4;KbębGџ?cػ5:7mcdyTİsus\㺟ư)F7ŘSb^b.#̏Ϗ7G<vBV84w9?̟l.e#&h|zC"'ǥZyh| 5]4~;?˧4mx=O-ո x5 v~htܮ{4}ngo.z^쵇no4?35>+/hZ}?m4>2g>0;j<|?^>O7WI'4?4[wE/o 7o#l~^༵U߯Qy[6id&873i-^kWwlY$։~MŔRM XeӸ{+M 7'q󎟸+O¿i΅߾3sLv=oO;fޟgNX':n`>.sAnW7_rWV IK #o7Fk?>[{yU3.jQfMi=Îkvޠ\^}gy⡝ jǙ?=]jk!y|ߋ:k{(yў#9!I 8׭ /%O8v:՗5/(8kS4NEw޸]x\D\;K\T{WO8w9!_byMoču7<T~y 8.cׯ\_z׸,~ׇ~k<29_߸U. ^OBe]Ѐ}|}/XF>u?wԸ\{DK縟JەD0穲S7>6%wnV=yZ+?'_Դ˱t^O~X3-:n\~oWhv^~ !w'x˼%>w|/@j>N3&>^cWO i|煼U#ghq4x'uo^~<߿Fk'Oܮx?Y+c<*r5Nmi~Um?ԯI٢q_x|<_?םx?Op>1-:߾{|_os{sxsFi<ڙǟ-Ӹξ 4n/N'<iE`;|Mָ x͟?Ir0y^7Cϣxunlge|=}/x \+ͮՆ?mts_}<<ǙOhz/?u߷Wx%~#Oyzfx;oxx?5~{y;xQnXuq^Oc.qx1˛x=~8_qޟ _OW^3Ggy=;h'tƯ'_x\ǍE~j^r=j#~oB\V8:jxWx=9yɣ4On|~_?dWw)踚3t#,Z|>b ܟ?#/ܟC|_ %/_Yz}pg.Dr{kr[;gA *pzf NgKtN;W|AOi-Ӆ˃XdridgA@ Ng@tLuLu ܢ);*tOwK]3{b .> yE~k2fpDUdgAi9S;^]ᩨeA&:EWShp?`om+c,|g F/ ҩգm5Fk/F&=> 9\N).vc E0/Da+AWSa9(y(+<wt0}fb.s<\>x8^3]kkN摺[)cD8~V. =kpS:V_ :gK CjST1faЧ-EhwEo.*-/*<R8 XͯBCs|2zNc-Џܥff Qَ]ϒI/5-8 =1 3 Z$a@`AU +Ё׌(t}aԓ7g';#_|A˧{ U3yʃAp֬ͧҙOM*(E xGa`'jG z Z`tc8Ջ kG@w@O; nΡi9bzԝ2)wHe$z-fOW뉄k63zgg ttfxEw +I!gQQ/Ԫ§2 {t~Je.:(qwR En3H>y1pUJO0f< KE.- <# Xb~XǸj" x nsZlg|!tNoOvm쟪s>eBϘ2WEtŷsʝE8ZrL6"BY'EwPTDѯcJ=,vW0GK?`%gx+| ^(:gm/ ˛M zEBw8BlotSQ$ ~, J#x+=(!ʌԸ!n~B~` ȵg oQKty _ 9BF_(Hm-9oDv>aoYƇ(WQ-<^Xrt԰Qj 4ײX%`ytGi E.>n1O狇W,/ `|qܰ3/qdsI{ ʽ^w( @9徙̓{s`yckX}A]ˆGr`Ɔ`c+*)/~D] 3f#|s%" r['%1bؘ|-3B0jy)-/i6 F#*X__QH`3 ,OEv!Z$3#.Vh==/ANjb(rq4-?/)zIgA!YZ,odV +@po#yroe4A_+JFkSʋ ]KK#WiַxXmUYKn [(/viIP,,m_ޟNX"!Bi7-M΀H^8f Yu hN[8]AD(™^!c(Ǡ+硡&W x9a9F9#/"gЋy֨*r*Z(rJ'UTPᮩ`fF hpu~0.,f1;-X.]0 @"N-H,_F;( \i4j+$X bm]vJD1`*\,J0n}P$)BHD@|^|]qY a[>ܘ;)>Q(.7]3}by=4e]o/wJ~$8ooKWͯRD|T+ǷpfE5 ѭ'7h-xõ= s9$!^xzlq>/PZ}xm6~ |1//|L6_8O2Sogx z}p+ = + <5~5y˟3B^96>˹8O4[ IyyfroM3~|| >.184]aKyJzJPjo=G }_?|ϛ#q|y=M>_ fσ%hyTK'x!)ryE<|??7 8/_b價,|?j7 wx f&\;rl7%>ss_ku溞d8Yb9x1_"_ |'` <$'<3?87c]9_d|||O|/\1zgNέ>d9O738?yWx,n|'ss8`E6e78W 3Λ $毣yb9O68O739gq^b90 /2.xx?W ~s9o2pK jd/<s | ,%."O|G?~+犁y hĹ<38O7p;s>K9/1W"3/79_mk9`8mq\179ws 3H{6N!YCx;wޞZ'%CǗu4GxwсWl&\& VWIg%>O!Mx:O񍶟?גz&މ;#G+J_L/.jŸp?i|#ewNZKS ?BxWS'2)D ;"F̈́RJM'ލdCyS;N̈́gN?GIq |Y:%Hy^Axͻo%,&5) Գ“I=5&Nk ?GޓDwvn&)Hxo­Ӈ%~dS O!|1潄zwOx#G+>o">…]El D? O"<('S#pF8#TD(“ _C?I=Y! gOxg G)!!}' W-ńO$|9K)4!Io |5Mdk / |?/s^H9G ›&Lc /"孄 _@?%¿$~!79ƒ7>paOwx"[ OLR> gY?FR8%| /!L7m{/HCG |Si'|5s _C<7ޞ?+iCm:O?'7~#Exf¯ CNxY?F8#;'IJ.z*/Ox5)pń?ArR_I=k ?Ex M?O _Bs/#?'!_KgH5VŸ%14!ERN ?/zO2 Iw^GYCׄo 'k_In )"_!DZ_D 6ቄ/ᯓI&<7O!M ,C8#U GgO;^A+ !~>d1/JKj @x)Ox?'7~ o"'AAOB}tn : uvSPtꭠ;NDՠkA[@MЉh?UAQGh?jН~ @wFQ}ڏ ڏz h+ڏz2~AwEQ}ڏz(~ԃ@GMh?4@: Gh?ꮠ;n چ} ڏRjPr+ڏ<~'A'G}h?:w GtOFн~kAF^:Gtڏz ~ՠAQ/G= h?j?h?)~ԓAgǃ ?ڏz(h?A3~@DQ: Gt6ڏ+Ah?ꎠs~mA@/ %~AAQ~GA~@EQׁځ z8ڏz#~kA@/GQڏzh?%GAFQ/=G= h?j?h?)ǡ'~G=xH~CA?z"ڏG~ih8'vGt!ڏ:G}wPR>G}t ڏ(hڏ)h?:S~{@.CQoEQ]7W^ڏ^:-gG=Lxг~#A? z6ڏz9h?~@C/DQw=GuG!u[ ~q~ԗz %σ~G}"QڏjuhGh?ꭠh?ꍠDQ߈z1ڏz~+@/AQ/G] zڏzg~Գ@?~G=rdϣǃ^ P/~ G?~i_FG~]ABQw ڏ-W~q3N(y G}h?ꓠW~G}h?:oڏz+~A^ ]7k~ԫ@^z-ڏz A^,~~~S@o@QO!ڏz  ?>N}uw?>gu[~qAQ_3N(9>ڏ$hG}t=ڏh?: h?=O> ڏz-h9~ԫ@^<ڏz h?jпG= t#ڏ"ڏz &dǃ 2ڏz(?~ԃ@ ڏ: -~A@ע :t ꎠAAt++QǁN;`yЭAPm= Qm@>-,uہNAt{I:FWPm} ?D*נW^Zu5Nh?;gGG=G=h?񠻢GG=h?A&unhiIh?oFQwGtu[6u[~ԗn?ڏ<~'A'G}h?:w GtOFн~kAFONAQ^: Gh?j^t_h?ɠ3~ACQG= Йh?~@߇7BQw zڏ#u[йh?8yh?KɰGQ=G}4CQmGQ=G]zڏzhڏz+h?ꍠGQ=?:G h?G=G,Ǣ !x~#AO@Q0ڏzh?~AQv8'vGt!ڏ:G}6σ.FQ]> ڃ>z ڏTХh?ꭠ~A{~kA ?hڏzih?h?%h?j"ڏz ڏzh?j?h?)+~ԓADQ= G=8hqxw2{2/ gfX8,I FltÏnY8 xv&c[Ƕ43N؉ #En/XnTW sưP[I활-NPPUU)TU2so= g{$(UUݙx84qVoQQ/K7퓬nYX? eZcXY8ݻ&UXGUU>/#< +zvu;S?cUg+gߨ99g6& f4F㭔A;viI;'ѣsL7W'69(?q|jGm5۲إ8 yLXAVȶJBy̴!ҤZ]଍fA,sOm.3ԺF%yqIY蔵ɭnIrmt!]T_QU&$:“ɉL˶Ԋsf{vK.9 1.l7.3p&Wm,<ٞ]vDbmڜ,祬6U5o#%XxUij67@] MMpnٞ+.*"U~zE2$)^TڞXMUԚӢّqҲFH\6Ld[,<£YFmj&SY,MKi8 WrmBv֡b24D(w g Ȫ٣]+xL|hgiWAwk.f?[FiQL~  SX88gYHFA6Km ]sm)Y4+ɳk͕a&1XC68C:Wժ!&Vcy ҅5L:$@G$s:a]QU VjOUU5zSIȕTUf(ȕbr.LL:ڨ6d19hs:_b{hϒY8lpjN2:ʚWuLAF2qUbr `,ӈɃ4Ƥ\afh3+jĤJqX2L6{R@)L7+]%Xi"%?|S+ao&A)|_b/>cBmf5#ρ{=pKW"AjC1 MLfegCɲ~n/ڙ[U#ɬꠘ_ƅ&3p:-^hК74lJ=Ȥo#bh T"Y$McrUEjY?wxxq&ַUUqHMuv׉I2igYPaxF_&gY!IE{&B/s3'>X3|Xf|x5wbA}Yh,㋆,cG= ;!݁8K;t«;sL=64%AI#6AILNx8ILU6@2iIWۥ6&+N2pL"C:zLleҗLrؒR-ɲ>FY8? ^`([F7qLڂ!U:_1tHgmGXtVsvCC 8Bvg'=Bި`ddֳЩli]ëAj|rj ϶%?ZAm3KU4[ëj++: blK`:Xɵ%™SZ}sb biÔ6–%Ӗ-8-K6*4 ,4')L[= Xq+oYef#:Ɇ0=5ǜZ3 胏&O>I9 EՄwB=|Lfcڹ0!uBMz Iij DN,gTfZXՌߦ_BW^ vaҷ_duikVU,lM1,gwJy2R,Z㐎pSMߗ`6wBD3qIHUSk%?+6ǺK p&Ay/pXqd\̠yjKL]h[Úм% TKt"U(N9es͸m3;FȪ~د\[9Io@ ^-$l-ح<* NOa?͌WyUf~#KG`žRʌXgn*#זZ3GU߾[߼>sKCJsGʵac4O4A~K_*zTGU}!vsj$ ۞ʖaT@.YY8ߤD̗|VÍka=9$($(-{ҲN3\QV)?qaY :jYB[Ӕ8g.-6 7*z ,$(Gov?&+.' PU= ]1͝ѾSC:Bvk9S7o%G9W0<ëY>/B`YXΆˢ͊kgv)Y6*ղЉUH,.;lVG8,&ap=<(46}! d^h-iڒRkhц8 /)KU-ʖYf(eN+{^3&Y֫LmI8CZf̽/0ۑeJo5Bo.ڬuY)Vu瘡II,찕8U3yR QAkK<*#YhV*1ֱ!@2- @sx͐\/9 Y,SKo d[֍MV` 'n'~Wˮ+=}`Ao O ~[ޗIȸ6NhZ]uJCZ)4r^/Af몬 /?X8I| +L#6 ˠ8$"%-F9 sC;yY?~[.9/R{2VU#˰Ps/?YIyrAXE$ʼT52 [Jg8q:hG E2yY`U5YgvLYgvf-<2;Q{E+y6R{BKxѱ(y-~Ж 31¬6nzaN~#^e3/4NIT-›:4yY\H`=X^Q)ÖtОERjN&KI9'-cl:'e֡#.IiQuZDp% gTrXʖV{@K"=Ζ~Ƥ`=/J'N?hX1o<11Z~Q 5WI^m7)47\a$yuѐdm#vy%THl=._ I 2pʌ*-|'89 O1y k;o;ȅ6]qFN<8 U˪GU0+*n¹wAV~'NT<KҞo`YcXfF==3 y&Rn:9GPN'띭$(,¢-Y?{+p54><0@t/>[;sEWN0o0:$؛"j'zڌ<35™HڬL$B/LV,]cYvb&AY)OUB{!,oHTղPg p[$(E?}}q,j^_v_j5bБԚd{xaBU`/R幯 s+VբxreeRM9p蘯U#.,yGIP6F*f|<?IPfE^-Y`>T1 L{$`RtD0Vާ>Uw?ؚ?Y҃p?"॓XgīôQk $Ը|MI$AS0)igʽv,gsmVK(8{].'W,lYvEv~6Bh ]e}^r>I闀cY#F; fpȉ{p[;Ծoob~'>Kss"W.s+:\M6x$(?} -׷חNqoSTaR.2[uRe}jɦTyf ̅B2Ϡ] r:Yߴm\v"إJ3}'f0HaOiC:36(C%;)98ɤC҈+gkb?5.Q$v#b)̀ܚIi,-.}g 5ږ.:+5`1:'2EWUL(`rV" Z.Ƕi¹qf#1#crx Hl8lRTJK2i/*xZ&R?Ms(3>BG8`y{Ew}KߌP7smQU {[ R Qs@F!N!ȁ\(sifbeA@wz \| .oU- opYrs8ݲ>W޳كXE'Cۿ%ggDu 29VcrBUq,X6ijawxfm;~>O@Yos>=Iho&'\NBqs;cYϻ.~#[~ .Yˤ)OgOϖu]`dIbO`򫶽% [PXr gKyɩ5I ߊkھGˍ¤a[bBE-:>VIM]B鲪fu7jμɿbSLcQ75GpXiݠٷL!ʤ3(,Ǐlj}Bw [ZnmOfHSeh3+7TJsd aN} NwZ Ժ ̽3M0Z$MfEr&WwVߕcSUU-ڕsI`UԚa)f&AȃTa3o쭥[@+h["UWTzTJ5KCGUvml9Q)ySjcjrAiLr~ӶRâͬ}p -r=li 2@, _z6;qzWXyԊ``|_vxix8J+Uͮz05U'~jͤshS=nk p eW?hI F 79)ٍͭ-l\djgx% 7 vҗ) om^8VXp̮e^D J8XG_| mƟU됻8`'pݐwa|吾sH_*mݜ03iV6oFm봙% e`qڬJZb`d;Ox'،zlqoֲy b#3vi].hm9].r=YFs CGT%Bv[/KU8F4 Rdځ=2WO7 ʰ#ZZikT22[1$, wb=5!9qp,&A?8dn3ۥO\[ 8g,N= -\IimVET2jU~)3pξ[;<{lVU-I7hkIPFtm#[$O~#=X?]Sߪ`c>^߷UjnGX+We˸0peԊmW+= إ*3"\ʬLĤB'bpTb֏3óm&%jRE<]J[{jnFI-j9Ɋ dQZko?9qb{€^z q kM0O`ֆؔqΡ&Ak;lWHvDcx$8 _e;{\[+ 98ma2L59,Sk<ҬۥٕO^>O}C`EA@! CT [WH0 rpN2,| +O~rmY\tDR:R8RXhmUsoLxf&A>oY0E$aK1ȣmv:P^Qk{"`9_>˓YϡL6M/{ < 5EK!byf, ĐKA%03]Z7|XC\| )Gsrdb1iB {xHf mյ\VyT C5[kV5hVnZ#%/mjs08!0CcڞT?[}Z<#gd>~Gۆo?-U=1P&渹0? :o+X !I91r0eԤlv) >)WΚ)-Ga~,-jᨪBp;ه8ukK+1QY6Ubb_{p|ĝ=<}"(̺=6p؟GQe𭐥V h5HQA&CtPh@PE 4Vzr-W\fqqqd:,bmBP4 KV'aCTݽ=,s 8: }Y 'i4J;,p^C0)fɹ;5Ozu4&70‹GZ$]A +IpiBWE{]8Nvb}[ fA?{[!I++ ZpE 6\,ط$l.I]IHBV9 LLxd [kGSA@SDl/3, bL@G}Xm/GAr:MVaRsfSk?9m}XVyv]3N,"8h%EX :6鰄 AyI)ta&&{X%[pyT?aW[Ӊ*&{]e90Z 5bmL^p岉Ee<<а<?z/˂dbhjC+,B!}yvoR[|pA0-#.VLs0)EY(ӂ,o+&,L0/pĄ%%l$,cg=$6vΔ.}8׫ .Z?ƤP.bmǮ0&O%v|"=18v6w:e‹"V q?vR4VAkbIAR&< S%СϽcnh -Ttbv.`rĤIV|>*m;4 I9;e(luϋE}Z-!5$Ef^ߐ{0m9O{vOy~5V΅h$;K燥^Vo۫iY-;b Y"7h!zشҨYRl+VB0(}UPԲr^i \I~b}l!Gҕ U^Pr.ӁzFVAJWP94eO G0-6ԋAhrr^ (}o0MQ j.bg>;_:`WЂbAa̫|!6FJ-MԀZ"Z B* u`g7*.ay{7O`= =#j4aR-frQzfn'CPQ@nzVs; .-;f/`|sv YjXHtA6[/hk/حpc"Zd>7 9acNԃ{Vg7|$5)pnا-~ V_#LJ.;{ ;|Lȹ?v6lx(5l}."|AT}udz\1虜dIv6Y}i$NHgUpNJ''3mcLL@c08swh;d |Jqk؝WlH?1 vԱ ;Y6u:\|NP| Tst\uOq>B[|Q0K0`rXڄ|UBٙe$|W/ƤPj-~vb"λ,6c8{8k%N, O@8>y=lM8W%][ V˼Yz AJ 4p')o3Ard yߠ{ӷ$&MLΤ#vGB R2'w.oFP\03>Ѫv£?I_( $lZ4Og"MG[ġհ(vnRqޮqN\I;Ϋ)6>sz5Egu5^AgEZ6#;4ِd*BIR]@<ٰ?:C]~4%A~[cLmDG[*gEN1|?ouJJظ!+t/"y>eF4,=q&tJޒDX4;H*(ub.}R#NyG-UwpnW'냌*]-öP7#@Tb< Gvc:J7AVVBOoxZՖ.Xc9~mcv\1@~"o$lo`/b* o;׉8m"W-k!4E~h$;pV(¤˓H֪ƹ>sV B#$>SU3EZy SE9E9WFL[#|!-2 XRoq^Jl0%ʴȀ$&Y t%dDMmKX2NA+b .#]\<޼xɲi_ˬ_˭Kÿg(ΫSś古Hc)>ӔwHf/$~}NL9-%HrJ NsAy;o46Y6oN`Gܙ+*agtj9O#~(ujx َ^s.z,Yp#|IsĞ|m-0Jӥe"!LJ ]:^}'D߲;97Cj]or]~Akv!wRZ/]ɭ+\9H,B(vg]vҌbv[b‹.0_zhe.C.óvg%boqt^RIA&&%Yhzz*X bF}574LL1,vwZ8lsLm(KPl,M^, VjBhY&;G Ѫ%>Qqع8FBR!:{CA}%kqW0 IUNX̞\y|HmKΔj1i R+}JӠP"oYpI MnUW0m5X8!X9x$QdlCE~/+,,,rd :rleZ)gl1zWwc%-V}[?.G *im]y..7KN*ۿnTnRUuM1g릶nVvwVz1u,U9&>2썲]MRw3LŠirr_ v9EIV>#YjYcq1T`O_osnL>uW$jM ڑ-}VF9 ^08Ms:M{T,F6ut>߾ɹcqGΆ_&7\ vR5=VGk.A կRnʔث#]5(v|y7OAkt ;{ 4ӈtGxImQu=#BڱO(7&E:w&W{gO4-&9$>fUX_OtarF IIZ$H13Z(4;9ſj40 !Z&V\6LAӿzߒƃ' \+̯1i1;TDؔ7;<}$@הUQGtQ{_ɾLkji t 4zXҡ"׷ F+ƾ1AX>~o`].%x)gC=ɂD/v)*} uH\ʮUH9yq]i9Z7"o'_ ݃%0ә?!s`yueK{tЮSb2>Ϝ?v }p^D XS&~ HTe3b;Ӡ`SN>GznUZɿ^N*vr}9gO.>so=Ψnĥ5JAcм i s{Gjn_V1V!~ϊfQ{Ph}~%/ա^dT1#}JѥTv_\A-kLaI[=/-*>3zZ _v{_:Yw1;ad,pI?f/E)Y^}[0$U09d^yFtL/?E`yi9=iQԝ^)3mBJ1;ϋo&J6\ VE.=Jᮗ(X!gt'{ 8Cpm4q&ucŹZ둖pș-Z_* )N"F{3W b_k>|^Oΐ]Zo#7Cb:`n9(ħUos1ϹB-I&9\`..Л&mXZt҄|:JA8Uzi nqApfHcq,q@B<{Abgrnϴ}x\T"%g4?"Z3AƤ/kL?olVJ3RΑ {CAF bR2Q_N)%o$wPB~v@m$1DRn3vBݱ*&8:[Tx{9O<&_ZrL$xx_-X߽ 0&^Cv=?W.v3<#OAGxPatltsQƼgBW ]pN HtOQju%AHint^|Q5miRf١T')gbyNG:CBuve){mFJLv|}6c+. ~?_$: i`VP:1$x յa0s,sh/̳{$ >~s;7)4]@9FPk> C7[4Xft7|P̓Fq|W5P[LST#.}{ 5\.!}R96z6!?c+\6zv 5P_W,KGl`3x=LXj 3| bKch{@[cZORNN+ )ra>%Ep.sXNjUy!Uv4ZWn{5܊ Bg9~% 6C;/e$q; S8>bgbRm;pvzi{N1 b/2J|?I&FzJUKςKP}!ns*g7&UcFfy0نIYݤJ톤#u ?Tme]Ÿ&kw?ēeBuyG>bRKL<.z2BZ{US@*tX$2{L~_Ptc?ׁ\wʞ~&<2TAlSטT 'Vl6GFCklڼF2+ GCWarp,02A2,~g$uRl&m`t|~NN٘u! |QƟ<< !ž8|3/UPAfebr8Htrp}S.r-| |E3;m/riSoBSđPvr~ O|jf4U[ԣ> j:{Funo>i:] Iմzy]e bl(׿GȓT'o>x>!W)umq,OI⛮hl=ȱܢ_AJn/k f>] &e d/vCNwA}Dnt8?"V^"3 DZe5Hq'ԏ8Pj_e=+? i`h8'@@'.$]U[kCyM|o:~2RD߿Ig]qf 5YwE/ݠ;6Qz-|׶ן[/ْRW=*anR,ol7'=񬆬n5!aL?-n!cMy$  H i5Kvn?~ӷY[3A+'cgR9&j$(stߗ 1 L{g 0ؿ-b3"^zvWk 3JTT /% q@-ױJ 4\CH{GB!d/0hAjZయM|]!vH9dا۴g"_88k1~HVK*qyyc #5 d7ROMR/,a53WpNCokuC&9ɪ^rjvPӔzV]~&.pL|585Ԅ;8OS'm!Bc+iN2LbŦίnJ@Su CxcAtiGw* ~L8^A*zuU6>  Rώ=&شfpДbEC^ǠRT&jߪb(DcV3I(">u)?J7ɏzG9a9㼸\koېӜ&`8/ù(b KrK1qoqdwh\rPʺ>yq\N4ڳu=A$Ab_ [{B*6b_5MǤҽRѝja$\._Z$ـ')U3LSȡ`We阍W%ٸQ a׫f6KA_M UAb>n\y"a]FZ #hoQBi,|+.fH4)DXVeYI?fe\w:)2i)X[brZA E fGG\>DJmV57 ec3/v[R׊$-2-IHXA\r: 5XiBvCR׼tlƊd$◑j!i {_ݔ66nb%ap缵 õxG(3vp{K!\=bb8}i) *hYAm7xdh#/ )R"/(yDI)7?IAXȕdB"bO$iUt,u+պthI9{u)4eRT`Թ#bJɂg`3fcuiIFxr}K(n.-Ȱ&f_韼̝3rAS6׸w9Wz;3Ăe<߉b{JmujNGN#`Dv6(U?'P56_6Bbǧd qgwH3A618PI{-4ѷ5ɽ[Q<#h|> w+vJx|Fe*ɲp^u_ ; ^rRc:5VK8$GH 4 :P|@Gc;<ĵy2?[H^:yV|gj;B 9lk~ ~OB[<*عUrSQqe}1My噡4lg͞hMƆ_ic H `[ |J >Ϙmo ~PzԘ$u]DuXH^:@pZiXXp:B(Mٯl=;S,fAa_PU9Hm>(*/qq_U/~YFjo+Qրѡϔ7|rq"t7jby4^KݔjHFN1 0׫bl9^rdx|":eKw}' pK : d&%j]A,9/ )SXec{f{>jOjxL+ULĺ,TȔOW)Ⱥ9eɘv8ެ zMZdMX9]O_V4qL 3q^ZhBnFZ4kdcdk,t&{`*Hca6NHZ՚GޜzWI0H7nM@̛M8gBxjIRzHEEpOs.frEԜl7eW—tB4CgvA Yغ(l ΎSn0V\0 <Ǖ?WE[*_H<|LB5Gއ4 p79` PY*d xjpнlJ5Gxs$mD5E$j%۽!Si ؟(3AjosdG9#zVhR#&Tj[YN YwOdhmIQ>ށCh9kd/ʧ`'' v߂DRϲ"J "=̯Q~u1L7oʮ'sa5T2YgE_t 7#ĔHV(HCA`}H|t"O*} 8VA쌶SN'2 *fpHHf{NH=-5}I~[phXĚz :~T-+s GՋ!c }ѧ(͗! d~SpMvVW<&87m &uS0T] )H[ӓ`7I}]e/,fJcI$TS1'2x<-6oǓcwHB?"n/ߊe Llc\!}V$ :=Ij+CtYMһҁm?pQu]y"a(R>xY4=c*Bٙ˾ ޮ%kO-LC%oeF2񏆶<"92{gaZÓ!F+@'l\i~7eѲ99|Z.jðfĢ=)z:6[$^D@LlDgOYjxz5`uS2# RU!"yZ5Lzd ~V`q >I2v.$0M=+܀$ +Aq=>0t{[b=rcbmcvnn30b:lfgsYֈԧ|=3ϡN:CqvdyX ME2G {"ȗc:fvxB {ERa 97$Jh<6s%CBH1&iȓA'F߬P _/gepN:鮑iy5!OOء0^VHۋ L4p˖dq؅XEuIY줔cT|ˎ-蹩.kO?-#9פS02A>#]8B|ꋲur>ӔG^WНQR~r}(vrnCNfmN ]fDTMt)vʨn\Rwg}B8]V<>22<nH /<޾p$*W`'6WWe8;t/#͑{Nފsd)4<+ 9 A!>>3 XYC ve& ]μ Q ;9 g ӯ,U9y3=J>xTHTWʧQ{}ר=4>Qj(EzhׁڣKPex#ͭ3zBn c%}sꅎN{YPAQގ)P%OX(wr;E{t<~O~mj,zBl w"` wT +N YXVxYTwT"+w \֙#uZfUy|z/t2YWcgt0ƙ0,[39/?ZJE{ kZѹe*(zLOp& `I8"~:%bkJ&2!ãC†+jh<˱@L!OsIY6]2h$NlRdj]k͖d&|lLoy۬4ޘQc8  qO|BA5٭JJ5P,oZB#5$͸n4yjB(a/tmv<_DU4 QEH@Yv䤐cYL34 Zbc=3M Ige m-BtnPSO p[#Aq&͇@9*TzGnQ:SfsJvG|,W:m_ uujxgj"FFH0eLd1ȹOHv4^;wi0kd\qpQFg7S3)Ɲ807 ~5At8[=b~e5d c3A-4z?^i&/kPyv?cULmֱ[0hlȅ8@z$O5J略Cyei6+zxjkԖGlEQj7)5t]櫸LI]l~(TqLÑVgYHvyTNt 1,/7bLb/ Eȵ#iVw]7z.r ]LAfzvO: az&oqKoFzQ!./ 2 4K!1C7mr ;9s4e_)Lk\r 5HoEwq,QoXLL&i_q*"S98@3;5 ;bdFkYdbR≧ڕ/}V%3Btܪəz.{w1, ;)Ea-p-ݰ6ʌ74=Z buf_v ]I"jrs>yA1Ug~H6{-!ɤaO^f| A3ɾ]c>N6%8g1yz VLZ~kL?7Վ|fg j5n[AI d朏NBB("$v.`!vU].T(7vr~vd~!kHkssrdk{r3Qܶpk(SLo7eAfiڇGBņvI^.4 ƖX2CF]qt}1>ѦE(U_v< wDSԱJAӆ ş~4ӔLNwKdS˧SCc)[EfX 5)Oȍs4Ipv|oPç١9/N׎J\L6c'(|JQ[ (w"V4M,fo6zOR_kgi. N?s޿>yVDXZE{"ZCee񔊧y߄n7Z /ʷtȬIyEQK 4ħcЛ%/xWkU+rNq-ųM`S,6e;FDe'rޠEFQALŞD3- 谈U}iCy-YXe+F }!8mKa Y{WB 9LYF/Zo;WbJhM~q_Omgh:>v;;5.ڌx=r/`n%''$;EuKUqOe0 v>c3KwY̆tT'ycةSqމ/0Uq鞙V7=3<&SLvr,3Mgo- Y\-qu ,R@YrK@aX]ʥ#?Ju. IP'V⍥hrCyl;.' <1Lv^8ۡc+trCZPc{cn1ImC}!Q DC鬲sROaƊ[;j*{Lp$=睐:j0;^e3W$.+OC^!`rs>&QR" }`.$j{Mz™JsE4Ho-rf.?lRMR}o%K3Ki4ov栽SJkx 璜h[YMZ™jFB%~z4,.fp^l LH4t=RbRXp2& 2k"Q?1uǵXmA+CvCA|lv >}=@!_)i 9j:7A?. RPO™!PT/GKkTD;6Ĥ Yf;\|ݕ;*@ۧ>A`Hy7,:dDn;7QKZ+ZR! gv/bdiu{k|8iz`Q+P߸~$PLO_a'0k/^1-?0?QYypbr8/%%ײ y9/BiEyuU& ܇WIA[1":e]^+L6 ^>{@)45AA޼XkĤC&./dEYA_4@enV+,I hN맷 2ң@I?okcl?z~ !nBiWwxncYD]AwI+54XORt$&ySj,هF~2+KJ7n(ERx340?Zϫ&Z8H"%D!0-$ݔi31m-A^bc:M:-SgvhNt#MFvy6 @LobLFkHl/Ά dO+X>)b3^ dg58M5"yJܽL2]^(0HlR>n`‚L6x !N:={ErR!YVs3΃z)6v{Z'(=19sJ6HCвA+T-R d7L.-$U",9xm~%L,LWyMOS dJAvG{[ljNYu1})6.7G&9Ӊ=4CutTWV h?dHX6vݔچi$>׈ nm{XMuleգs`]'Ӆt![[&9qjb g:w'@[MzYa[^Zn :7R<~>#o[E\?;Ħ2HNK0= N$YVƲG'YdYR:/'u,>8nSjXj[vST{雍1JiCMVJ ݂}Kq~}D?=OT75oKy[&ߗ<– Ҟl7W}XBr_ԞLh,-iFփv$L|aXv^V> ~}įO+ ,Hb՚Go[1㩂Ik3S YLDmi46iqn囍.{ r֢_ѺįwgߵBj`0M:ǟ;g;ar|)t&(XvISjP<  VX԰I?a777$@]5j^! MqgKAP&I:񵓙d=@&A7Ah2!kt\,m(=&-tg=G<ڣmm9ǞֶDd%DJ"aI{g |~?/_~y˓= Rh\[&heO~oKB)`xwa"n*+PV`_T p#Q*v27ّd۷ L>sl%4 Ē7J_'6`-slT\G\Kv+ 8#(3g'Tl%R@9sFqk(9__:V|Hku[i@/ڤ,e1OS,I4W䪤T7pzjڠQf˚ͼ$^rR<>a#hlQh,_Ar[/Ņ}+[0ggR]qђa8Q괠ޜ1)[$]PK'Q)|csl`:uov`n.FK@7~V[FnuŚhԗ{=7XHouC:~gj<w\JSu8zpHyPZ6/J=S:-P__w!F`xQT8VWзOևCj8U%a\yƬj0gʯpgķ3D~h 3};C̀"aZBK%W㪟\HZKEm )Ԟֶq ߤ%Hp T_cU6.o'\ĚZ //]^$ojF_?*I=ig6.;~yGX? R@X(.wطXD Ɔ#δJACgjєim9 ɱTo04]8ynWlk'ߠǑ=Km1HR:9s'(X9{ȥƽ?\2-eBnA9iv,̘ߞå"}Ŕ^Y}-m')͉C@p(P/a,3R~1 XB,/jm۴Owb 8hyITШvcc$n8\9  rR\+t=0pV 6‚q}3UӂƝW)4Gme@2TKpY'F* eJOK{H{BQSЄ \$lsv݉ÇBw/D~QX1c!EkWՏKT_;R Z)%}dOFb戼yUs9IK/t;#' (=BES"'S~T"}k!^PqH_6NjKr{B=%ROxr7&Ч9S컞wI[D9D0J~d$? j[b~B"}QhjKR_Ao ?uQA~bU~(ƾ6,7oS Ȭ=9ת3i M/]PN bv֒ _{,;#mPP$߃ ASGawLPP@< .9Ř'!^- CsFb62qHJK캾oc+v޾2'l!ykc  nhqЀ_  lqJ:ii*z5ƏM$X,972w`p ~>Rq&QyIt9Em3ta: 3lTBfX)j,Q ו#TrۓπV^tqej ]OUؠPwE6} یbGrrrKHq†sO$ԃr%P}Uㄾ\zf+- 9*0M߂ӧ^qB/ėe,<7st@ƩWd6 /c 7cS"hq׶ă ;0)P=s %$'C qgXjcؘ )Y`h0fѠp9_"ER縲+V=w8Ɛ:Ҫ3c]KE1~8ӥf [ayGX1\FA߾5#·6Pd`քKyB qFa5 qH|H벀sOTLd<*A W]:B.ǜ(k~RN[[Ylx#U\F[KI!ޝk JH4:K{r7R{- rVV{aj(;ǥucjI+C5ه[`71+i]^8JFHk_Ë'rx6crC]V* | ;#9}pcX8S{(6K|e?ﳟ3?S 4Wtm7b ǬE_|Hj) %R p/;햀g(z_1 LOeBK7E͑85Xw[_FM.uK@+ߒj t8X͍]E$ވj.Q.,vE|k =#8cD}˘P0Wr>KԨ_L 5Zi״&m_״ֆX{B^7P] ǕaMFb<@(eUhx;xW o|'nԛy0tE5%H̘˜vXI/{vNG91Lޅ6溣7ԗJ(y7c ن|w926Rf+wCDQ%lX*fM JL+ k,:j5^3#ZC*^s$t$ 4GνJ2<[8߰ "x\*# e+l=!?i"4IGޑ1U,ϒ:3Wܞֆ_J%'Oi.M*n7YI I} LB7 z( `0B([{]3tcһ V;7|ې*̃0ڻ>fG1'H @E,|k$lHd~$5r2Y.o2hxohRY$eUhCUj+# )QDTLy# ?Ge4U`rNq ~@ʿ8ؼpD%hžANd]T8eAsxM,aO#&e.L 6 ٪4'^q#O|ޣ^;Z! 2\F>q@ M=" G4KҺtD`@|tBftu.Ӈ=$^qwr$k]Vv XA҆^LZ19ZU_Kȁ=gވ='}'m^oI~_ߺg5c(/o>޶Q;Mo>afn.+_HF5ˬ yI GV]޼Nj87^XP46t{ۖGm!Gޟhnsf"C@|}m!&1Wl1Eoس3_M*YdDSUxe+'L>;n ̴dg+nGQ":ɚd. >@{$}q/u o;&0r#^3= >4a_{-h~4{M\E~j`:$)w$iy-=9ޱ!432dޯ#%r4|=*iO%< "d .0~wfQ=/m NU$LgM;nGFG5;e;P-alzeܨzҰR &\ jX4Uxn- #4b`3Fq/0&oH9(7&w\pv8pDZ*p'nAFE95(Biw6wɛյka}24cdRIfEd,hη|9;"zy͏+=%Q.Y75 oR7,7__p]h8AX-Ik&=x'oc|@fG-^`?ogMAkO\5`h 2Fp{hxP zNmTrC`gsبv]p*p,NdX޾$ dw eG#|PNV=7Kޘf)yK3f֧ÏzGr i.I;^"o)IWBNL*IǮ$l pᏜv}oLGJ:Kb3X`q+royOo\<{Ĭ]A>SޜR*oN ce{ځzq7'7$"4V=#1`=3vlȥK& o,Ds1iK?o@^.Tޡ>AXϥKC?.Bg(A]l[~$#cry ,¥Bn%؃Ig#`lC~$0bmǽ^޵\ls L=.VNƶ[X.'QR /\AWN,x.A nCLe^0l<l|{M0]HD.l_CO,>o^+[0ȴyT9 !uhNʧ7կ|7F c ׁ~za2c-ʅ`:-Yo8>YWS`pjPȋ#f%ZD&P}L! ?E1^D_ G {[; ʜ-,sx9 $d8 423}0wA6'@$F\9ͨvY?sUmYp{ttcVY8 H8>.kUlfܧCצ1ZL4YX7xmNc,9${#-o拱MO~٪!P`~;vT}j7n`8+7!$1.:|mX.mf淥|PʇkW ?_'@S!N@*#*(<`#3"\ن EO|v)󆁠 0qarB?Nܛ@1!'kw؇1$BgZ%uJ<V${r>>OlRV)矔W&<+&B r#جSH6&-ŝ [EGn@W'n6|} OD`u?o`$3KgNNuvmCHg)!ZyL+5$uG2l:?n`NBk60к[6tKHxpQ'w1 :m%6S"m}{B髴ll:ǿ#gϟI73M_Sg6[Ba'UFztW\5}@ńFC zK.>p l:U&y[H_Igsxl}6(]Ӵ|)l6`[Mu<OUrkqBYJьV$O*gf]w-J#3fƌdB"Nxըt=_(XrI*uH9X+s^wn`A4ld9T}~uc}> c 6#571Ƙ5UE)$ƤHܞY&t; (rAbѯ.q -%=4 x ' =+hPecFV!\yJ՜XZKw[6s1hwїi8G2n#Yx# ވ^f͍un81.5LOp6X q\odJcμpcbpq\l>KmO+L,GLH*'o0ֺ09HyZIFI6eL 8% I(1Cn {4?]e4$pg6'eѦbP,P1$Ɯ6VcrNBx..'Mq{뮿YaY`FfP 0o(&mA\}T l'4 s 0ݘ4pp KANlz6&ߕFtRbIHhUo)AN,5Ŗdm%VM-e.mxThԖR-TTt,#Xq~17I6x؇NƘw&@^Ӣ@)ٱ J'&].҆YȿXCyٜ&a2:\Yn RCNz -E-F-{ڼ=G1rarKUԀ\}JX qyeǎ ]e$fߢT+GYy=4dPZKq2+|)F2hluxA\Җ/lw%dhB ^1@3]oNOF^r_5ƃ $ƏHV3:F)waOBep$󲂤('HVIy~Wګdl=e&L7%h7ӸH%ʀ0&?sJ8u_ H|ɾ2TF[;Dgh.\"vXg_妻308;<~^+l6渶D2jd Wӹ-_B|v['s0y,7@VHUJ*qsOfWE ~c`L>Fmago% %'|l LQx{8 rC)PA v˱<ӂ1Xc',~a\-I( %a+9dLbpBa!@=%/!ȧΘ"tׄR?d%ޮ*?.1*9g19rsNbt/Y*-" MSIkrP8]oO@:551( J{-FuJ/& }#CAڮ󤷂vJ{ȺBdC~1H,:71kзNL4 صBjW`S!:b4#5BR]W%O.&n:o@_@ JgJ#tpƬ簱)!B;0|gS?km~9N?#]F$҃) B(XJzH ͘߷SznNatlfc%c\!_{B, \ŵknd`"mnnbSϬ15x0Ƭۿ4gcۮ ʜ- [e>п{&?Íuݕ|@ !=h{JRKp2*oq^ Ii5Q4[r^cVujZd*9mo,ɠQ(~8c 4j"v5جXaK8D,R? R ^޺Vo׿}EVNց t_̉:4p_c G\4!<%! _a!o0{e"6³ş9F1R/Ļ|lşEfA䀆x7B HxJ-H`"cƻ6#]_ñv]XŖHvhVe론FH8}^[JAj$VH?4bFBrɠIB_gr!L܋ٞ I%aѡP("P/ ]>ADS |%\~,J.L0ƻ< b0!1dw%kM2|nH!6_ ]CC˜o'A?KLގ-+!7|). I B!mU!zS򅅴b\&F6[;lGa T5OQ1T%3eଛ~4u6$0:ƪ%c1pK﯉S5s|rS*8-( >4F황H;t I!a0:8; }11y sFS {7/oD蕡 Jc1Dց2;\3t @:$蠭0+ x5Mìff{rgnm0c~Cfaް5Hȯ_ S[3Аښ Xdܢub|'HJ.3 @$X9k?&-_ .K+rI+_fFy#[3d>"$D[7o[(w4%x#NpChۺk:U̇7X!O-ojC~; Y,sc,˞? {n.#J M-Ľ _†:|Edn\<ڨ.ͩ[$ IvlgsTar['Ɍ=٘^ &vTs.qu|7ca:`9HJQ4[oqAi%x/WŞ5JbR2Sw@HDiä:݁\qiGt0(AnM'18]crJ](҉lщNN^ىKik'>LN'N:+O`T6wfnOa I RI?KBe֔c,5wIH%[W^Eq"w?γ> JeT?^˙2ciI6p3fFfI5W"lTsoq,.X\`pݜRIEJWIq&UP6qҴ"8`s HzPƬv-cʝTĽS& 7͎ #Z~>[l&ޜ !‘)4ormAGm|rS8hAݝ@2bg# ?;r}<$JFB 2r. h &$"$u$rbCOFl[lȬ1بǾ=0l솃A "K$4u *R@YVHqv<0$o_'I.uAdi^ke#ZC(;"bՍܱh i={0;#bwYȍޠ{xo+B+xoIJyrzPS8cF<.{ڬT薘3Tա\ʍRzڭBn)M&tsBfU7B?;gќ$9slM1䔐>P/U|LTh33)Qn(tc{sr{jy @jzI(6: f9(LNYP7=d&~)%5p |$S7B7qh)Oѓ] 5U2WИFI!DqfQÑU7/ŏdw&J=CÖǿLDƴ~KL30Oj%תD xrFI4[q!懜F-XLOyks+"*,SBͩ_mi,Be|+9Eπ `B?3֚L.w) O`q%ml a_ʡmc$5 =t{9{ t͠qFi(~WMvIa*_(jA }Zc1 /&J(!f椵~3,:83n_z6!\/X͎š6?*{ nl] qܺc?6iۆGXAmb&0Jҷs̖fӇ@gUx2[cy4`35Ѝ48 4_F/!esa8ȺA#_/{FOſk= 6j2˸)~V{NK{7÷>5{^,mҞt8\?SV\91(3LbӀ}hXo5'}^ÞdL(iWmzoY~M/vǙv*f޾EKRτ݆ͼeR.fLFG&#рy _ ,tl"bҧHdO^ъ m4R7/F.m a4%#@ɂa0)6VoexSEij \"&8~9s14Y%qljarN7.htlfPte\ĿF@n}>>d߫_\ f_}L p8okGIsKe<B[";_JcNrk4幨4\&k#M1B%-4E,l~EY!Q('1nAGx"zIRő8/PMeM%pg6 4Jwɱ8t= LJ}%'`~]if5޵CHދ%de[O 'K(ܳʹ~UOPNuKڄN,%kc|o TX ~ _Gm_nxZTkěSIFͩ &'\~ r$Lƿt}]ȃtDoﳗQC0#1 ƞ|n{I(fa3zx&-8g];&"쀌`X ; G0D(.j~[&]~t8άUwBv^҄i^(G8z5|BHV!nn@(#. ӾҗKVqdOƉRaTc5j:՜zݴP>ϧ' s7pyr4pL|cUͼȥ%%c\4 s7mwċi0:SIlo@%ɿ>u*(1o;`9 f bvqW&)Φ .cq'G,[/oqEt<3 e`ùR$OXf"AhV9/r,6hZq#>}*,r8> -Ә4nM{řh|Hp To$(E-uDs(L=bLE{_Z)R}Yk[6y#tO[v^އ QQrds8`5*Xەk - r6c FlT\zK]q<ɁpƤu 2FYҡ`)d4.~cf6$^JJKX+k/,į>e69_bCUͪ콴|/NjXY 1B(7Qt:g?"l%M\v&zh/Z-ņL (ZQF"mCXWLOr.C!o/IPef6H/n{vqɀ.3NoF8EW[L#Qh>s$q!F;Ǚ@S%Y w(blN}{WEt%:wtC{ :PcO H Ƙ|5 LvcO+g¤"zw7&ݗkivvj[ޞҕ-BIOG  >BྵFɢ?Ws ,oƙ}:- aҊb)ؘ~>i֏߃7?̥Y]~?zn~.UI,!#㛁+>C$-{`K5pCF ^5]t~9`{',XnŞxڢ iF$o g_FkVTj:WPK*(r׼NZZ@fANlޮִpzؐ}@ڧ1OS83Y//=tqaDGdtmeKId_u^ yBrwcu>DhuUIᵷ*A?B9~y=EuLS5ҋj$09MK@02stYp7mLma7YάHO@mhOAm acqF퉍Ky(ΏJ81\SڅY._xA8y1Xq4cp޿J|X'9|Ђf @TJc^ÆγhvL; :&Λ2' T17^N?_u^ 6 z$Oa$,3=2wFdC띲Y> m}Y;cl_R YFc?!U"xY=?Z x. fƍjMWabnڴ'Aon#yJo=Ƨ0֣Q˛`r{sp\&U{?w=EHFE6)H~lz5l5CƙuB%7\g$j7v0kT:g=Lg!?Uێi¿V#wo7}$'*S\b3eBdo2ͼ?D.:g9Ղ'N}VC8b7W߯F>ȫ# ㌴Ծ4$]: 'vc< t]ageX>;y[cs?Voa4#\bplǓw㬹dH5r]r)9B$޾O_/8uZVO"J3 SKޤ'E v+IgB&,SB36ȕ=O\޹2 "G 7G?HXbBtw\xM\v.]!뷇=?z2w3?{] ,ju-o!5՗!ht=A3UF&USncѴ.n I3-.{g3, 9 (nZ- T?߀D<0% {' v~( ndeoDt+as'RB#JΨ3n9,7B=wkyIr/qb㌉`lе/OY]!9qkäcA<`_NPP)Y%9"427&_rع% ø(a=YVVwDfo N{5Ԝ,qVw;Z^5\PC\y9c j ^G: {h'эPw#5|IiQ%ּq~`E 4p6-)p$n1^%dGc/deD$z~Hk&}b'*D!4pKBqY_䬷'8=f*t"Q(Q~l>( SOa| )Sl)^..HpeHu$87Ol~5}CP'D"5% ^9{vWS%Dwz+ ".}ǟ"CUfE JJ}iGqq'v5֋v'>"!r j q L|ZCdwz2kG(8gK;8oWBe|Hn⌴ <=&P*QY8+!~DfB2GB.9g/ygͩo S1 9~|(VSyQ&MU.P*EPJ&pim4M2ɽ,RN.6΢}\t:rCD6sιI=gi=y9yjx$ IK0^W4Ttªr첉y-g:1c~ORßS4LωDxkvSޮztYwG`Ӹx,N\^bk:Z.y]TES:WJ˴O)ǛFdNE3WJ_9aת"1NU#]I̤"zy-O̎K\ײzfwJFJoOWa\^)}78H}} {!b*CZ)ӧS~JZV_Vd){.e eUu1§i&5wUKWt{F'j v65s {tB(V<_+ ]#4jE?{7SeزX ubkxFXy)'5XIV]e吿r&zdbSxYҪ2U}?4aۚG~Y&<(LRGHkf4oAR vh(SZϯ,Q)6®L44]e 20^IL}m?hw0ėTWw8zۙŽ;+!gm==qӮN{E; =-%|Gg:@;Z^5-[Lxo3RHlU]r-f>12A Z}O%Z7_Ă}LX0)N^wx*G730TχR*/A-q]X}^Zީz0| )d5r=hʦ䳨TѕFwj(VGi~SCso `xgn9*#ݦbo^Y,V_#K4>dyjIZ`1f&*9*4OinB"Du/ 8X@8\^&kL)%?j[(jeBT痮cNtUG=/i80dW/hsC-N]<}]CFJ̗Vޮ'&B^yd}٬-üټ2S~MuV@LC~M^xMbx0tfɛiy:5 -Pi*Jp>UCyg8J՛kO-T͇O'UU>C,kqlc~>x'ֿ- D6C8_eY+W[sH:޻Kr h^RnF{LX] i–e3h?FzX«@ߨa LnFڳ{CW7j(oi=ꆍ>M|SɎwl6S-٦a:d7dOY6͈4n77ԧϟwH->ëi>́ԟhTWI%|p:uv&IQgɴF^^Gj=WlPuƉ]i# 1 up8|bQ 7'O@*Շw3Å--{[jq`q{}oab#ה-?M :&S5pyL+9LWvZ4S xtKOM2n^pipl"BCLi:5(  RQ,V#Qk(=ʼop yvZߠ,*w P^чQ Q?'M sjFb#T8FB0&Jꦕ=G1|l9Jc0i]}A.D<3;W ?J%$@FJG:|}NΦLlv*i h%;䯨Kzy*&.pk!*ANb9Z\c(&WJ'qX]rkH%: ɰԑ# S?Ofe_M#n8${VJ[BTܥ3u;vjh{Wns#y\$DlI׬8~p-c=E/,22|c1E#'Esl$YpʯJLl58] Jo=D!ٕwTe?dwW藍b1޹X+U$ )ŜLYZ5f1b3bk{Zˇwn%F1*[$a5DyWn ,2ݡ&j*cۨՔڬa.%i3a cꤟ410[uFeAciCp^GkHLjR*\N D zrWJхj%AuS,z=(=~fTMeǟ d^c8Ezzm2gO׉!˿"1i5zfBmlf2jN*Ⱥ@ZwBa0XV-䱏L/MqҞg4|Mwnc_WYԁ&n:IEb,N*w3Z# _ ݽnWQÿ+SIeE^Ygڭ;ܨ敛Lln n[Pou(át> -E6Ӎ=#R!zRJE7o9B_^/G+v;M $fmݶovRTIgJ :+fB;Xu-7DOSo:.ƞ:T!Թ6/FCLo #=IØ:Hb>78dN' ~LvmgZ"457BJ^~M=nVywی[?q"bD?&ӫoh29H9|ˡ!Ly ejMMVӜJӟ#MOƭ"M2ɇՋ3!z$nl~EQȤE?r|FڞUi>2T+J{p&+7~ې Puأ)RG$&Maş[Gj T ʇ/A%<ł$q>B (iNK4 &irjα}6khOX67lU3^}ƿ.ȻѬ }{B~sJ|j+ʓͪߡH'됏S!3.X+CD4) -Wr5#uf 7eeXHVqڔ6W) VznA??x0h[;ފ?|ո&g`%QgR3b6֙?>JlY't_ļǩA1G96rFICQ!ܴȷ:1ɽu>-S8m61`yʿɽf>:a̠L/~١aZ yG!OmT|-]Pܮ^quӌ'_P}Y {,V_~p&F㕪Qt%8_HtTɳRpd*!ԩGY9Ƥ<F4:?=ǀ ]M>L,cҫSM9,_&I't.;}+SɭAO9kix/'B>JcRofC8E]FOŽg{2Y|!)#6U~_qq*ک?N:f!i,~e$zH*bjk*.;I'/ dI LLmi cޱ^0ԍB@k8aF 4.OwGUⷵ=(^f< nQy4Bq"` ns1v)>TOuM\ b\TEU+T;@$ͻ h.N5W#Cb'oְV>+ sW| ޱr2j;zLs73QgMQdt)j_q2#{6{x6nmd|2kݽ):+A E^)]4@{P/#^Hb»sUjsFKG( á ,5H=}.,.+u>zLa}>>Q RVQ|g4:z s=?P0V*y0:Ln*]'+GD&4،ӏn5e?<>Dž#!}n*Mj$"3p\8>jJ!JH7T=K5h$oj$~XhI*\g(e+ai)ϞEkJ'f,]dㇵD cOOkh.ϏGϞf%˺zHHÔ,)DA_[.oW۞ΦQ(U(d9j|JT1*MGфwJy/3Ve8d[|4*>ɡH[RF|χbN\mh]=>|.տJ;asb^5㺉왭,t@hK{IUrKv6Z8X礆ڽ+a?ZVIhw&?jk˿ZnafWf!=-Yb"Av}tfy?ڕe_o4D){XͤJ=W#XY"TfR'?Lq"(t&5e4]a cܠ{  p>RZ>o[ҥ}JC3]uV3u}>'oI21q^t|=D)uGfF+]PG?1Vq-Έ[Ve?Q1c5tҊA|x{Z,kUFJ]Jkk+{hPI|x{Ft7PN7n Sֆ,/0nX*k:wV ,G3 /+){d[~md%:~jsAEa>ʇNm{ܫF DvyT?-|7[ۈ 8^7js AJ`D/yAWx7a #qTB/yd~G6ZE_*B^LًxuWIKXuٺʀW  CY>Ƨ4sT;I!PPF&z;gM2R;͑[P:98IJiOFJic XECNCd:dA*Lk~1۸s8: e-;oWpw-"%3j#gX׼tq. :MF;54,2-]3A5B:k:72]hR,vޙen|Y#3ɋzGR[P+V~^;;G 8/PK`5%Q}nJ-zh:?/^ʨߓCvuӅmj%mXKYvq㖕{T>5m=!'[V␓[qd굕3׬x?%|Vv=tM=VYdk#aWujh/ʰKnFY\X֓jCßWv>zM3n+UTUon° b|4 }Ps+vpO ӧF!d_u!][D+7 F< 2Ԯ'G|D=<(SglDEO?urA‡wc| LүPDS%T*Pa&^Éż+Dkko,1.,b0O`Zӻ"Q8o] i|UvhCvQXMZ+t|R}B.'Znc5{{tzΪ2VȖm͐ʇWdmo+2p?Rsp8L~ 4voFCբ?j22N{y8@7ŻOr7Nj,#sY/<^EDBPgAk U [i3LcmlfWL+Fj^-5%CW׿ޱCSLGЋ?D#VWS̬bIF:˭3odƯKejBCr9twjBt~'>J1.pE`˘ԙykԲx猨C$0 $BְjjgdžiVR2@"әHf>g5'$C*{MVY4?6~pnS00zI+ 'z[MҭyoLx;Lk+7U&Ӯ$ieis~vA%?R_]b]~p[*MqI~L}C8slmCVz<j~v*bȻ&z ii,wX?nM 9/+Ι{}B7;2`V[Qc;tZ CK6"eck( ,E3oǾ%=5 &H\O~-ݑ=tyP؍s,T齡V?_r1|\tyb[jHCGn-0/FI Ÿa  h}zGWw0zo&&¤tt(SH5xU>&WFϞD@u ߡBuާ|xCYOՖ r$۩Y6_ErzA utnאΆWF +`U 0i*!2sA2UYitؐ?EyV+)TLx,[4*/ZYd^)}{&e}q16:~}1@}I{X͌OY{H֌7?Ih1#mjƽD9T^I mک)~ް5|X]OzH;.a]mF&z#麕Q\77ѷ'+Gi7+AA`N]$]ټRu.ثB- h@#/&LrxyJb#XC߭P?16@骧g͑G?q+`dw ş:3(2K16qkg;.w$ጮw4WFRLz*콁t7E7 <~wa*=qu Ӱ7VY: x s<@Pu7W^uP@89̆<:x*VEGSt,z0v+cï#g51Ma oM&Ʀx*{}$6s~ u/*;H~L *)C:|:{4$Rj#cMTN֊chѴi YˆZ %]@ܚd%]|-`-L_`Wn!K &KH2F586ؾ%^slfrQ;Y-FY`y5"鰏4'G}&$c"cF N&ke,^G&]e`q1 {.Gh2\`]F7l ,]׏i O52EwukO݉-ͮraWro}dga$(BL"ϔ]!?QөK7TӦlY4-'"hj*Hɂ` tdK2Y|9^Kpj*Xѿvޥ+*IQ۬%P?!J8TeW6-O[(QnF;)µY0Tq&-/|O~);"JU iI- EcfT(OoXqg {XCq2Rq<ɕ,-fF٭4N&Q6JQ%-ȑu2nQ+ 'MBLJB0i*<-LrQ|O])?y*QG:( ?J9cVF4^TwJ␏,5]5u lt^.HZzYogjon';M<=Ye7T$8o5|Tv3R3DYyl>0# z"; "5Xn].:ܡ%FO#4UR4;9W)q d5* +в6%|^RQnp?AcRZK*g*W$Ty[}]'-͸8/ _Z\eP9s=?ӎoid~Ҹnk0]?Ќ%gTWk0vlh~$V &k @t>O!G*W*gP:RDc6=I \/D/ߖ/6EW.pE Br15OTWNh6/5vCO+qVBDCITÙH@dN v l!'>VnŬUƞ׵Ds+'z35*|uKok4<=.)qsC89KnEF w'Lĩ#oE]^XMk dkᙑiS0ZHi#oxfPh~GS?5dF'À5{Yw7'D}\bl M uXD/]7r7 7Ы1bo؜KWXl&zN:zgWJ mfcyi$~#Iftϩu3}T]CC[!ܯ;,0[!cDFTBYF,~JPm??1yjlVKV?(zB"8=^͉~.(8\PC .'y kUp Z<^󄸠ue)Fl Rs{KWr!%p@;7<9bG2-I^/}NCs;裔B~""g&E$"& lK~WE/BVζΌ`m QrTr Й& ൕls |.~:&qn|~ }Υ^H8St.uDۅ!pE6H>@ޕIR/NQHu'qRoqsZBKMS9h,Å7aEe͗$:r%J ~\*jR ݙ%g&ws) @u%ҸPR[<>7G[4ib. Yj":u'oVg ,te1sX/IPǦ!4UER(XZU'^z|@0OX^ߟ 7@/E6g%mPԳ)]_Lr Phkl8d8㨐l+cjU[@Xg%B``%KH7q[}fD;:?\mLy~-yzJ'΅NZ!۔˝%`gkz)J~ #,s \Ѝ0 p \C|9t eE@s(҇u~c/.WG(&䉯}>T \AA? 킯m:BJ"^rڏV;oY-`,emSpXOtAa:fwM)DLBH'9$ϭKrO'z|-ȷx&9OЕ1*%8 Mys+hz9=A@xtz.I#!rxLt8CC'vp}-^K URLFb2@nq6!K$$Fw6Azןho˄`k+pqG3bL;"Tķ":񣩈"+Q3`F%ײ#B[+86',D'iL-)lZYs-y~Di++gC3Y5+CJjZC2:l1ksGs^Xq/pwċM9L͛|i~AaiF},Xmf9suhhl`W]ˠL߃o8u2ra fw!los}ü 9) {B -Pw܌*rr2aܴƕ[T<55olY[8*qI; 3|)3C2p%ofpR-oW-vTpqq>7|$g¤<1'0ҹ$wRz$CyeBk(P@tv? i ˝^oX9.XN (  xTqZG 'z:7D? Ll%`:E!ٝu_ cqw>R 1_ְx>:ҙDL!%&h (*j0s9\Mb Z[>+b2~ G 6IN_3jpBK M6Q h!56<{>؄'wގh.Rh RHtȲz|턿pSd!4͛h, Z$FRvҭ Ra0 p~SqHUbBڸG\ilRr/G::+;\x+@`OD(7)@+5͗:?&] U专K)'L$(J.BP, g +y=KIB`=}@9%$>=1L,5CSBݹr:%1}9s;:qM&^#*-^/8xGqeH: 9 6{hPdmB!gO!۟OXI!!rylĠߛܵ3A@@C5`CkI^1@,OHrPE򂍰%z}֒5-OOJ9|RKܿP|''LTрډѣnV(X@l?c6}0[/Hx Ub >qwqYbH;iyH:/\PZT K4]q>dȒBRKE76ɒ=>}AJ\! A}NpV :;Q {s[%\Br'ٳ~- >b:xbSCMzGBpJY+=N޹[q ~n.ᮽܬz} O:d8z( x$m;|Tf^_>6gdBv[qRYlR.*.ȩif61'icnwfBt0%ΐRXA\"m:ֺM2yuu& q$\hIh :,j7(*d ;/I9utR@ j|ʿSCY8x"RPKE](+3,$cK6`k$Ah@K6xv6[f(F* x^RjR4 U-]) ]0, q.׳L7.d($_f0HWq2L=Q|bCmWBp8CbrO&O|.?-\NB<I4.iS8B-. 5ЧlI-#4 &.&k% xq !/#[p]4-8n$;?$pt @SB֠C.}|_|Ju$` AR-h(T+m~7G, TE+`JPJLf!%H`'́ic”D6WrM~?p[xD{R|n%A2茡=jdV :+ǭaل}{l(,wP2q [ |D{ؒ&Iɟ'v K/!^B|%zӶ!FnSۏB?/#2֗ݻ?h|~_$,MmҬ)oΕs$kZ4` 7p. N ˌ95 85SFvpK,]^p[& 0M,Ga-zGբ#-٪Z56 #y4tXѰk$ 0`GÍ#hg$=^ ѡ!.d7 p_ ih5\2 OQ534zUYc4UzG,Yahm/{cn^ò1Y]v1. o4:`QX+P<`|7s[5fpzoH64L pӝ֏[?n ׏pXQpӰ|װ|h{>jȍ_58qُh8h8t<@rpx=w= }R\ ^zZ/hڬaƅ6kX}! . .زE\__pV &M5ܦ&|MÍNn P]4]VsҰXڧC> 7r{4|X[C`uװ"z/k.Xo4550 xC['hD75~"uoj8bO{1{5x1oibp m KL57Lj w5} snPMj.࢏4|:7kS O/?p%Sk8t5&j%^RujI/}av.@ s=au.4lt@ö\ ;s4'> Zx.ǪYy6;agy1 (i# HGhX9:{RK&a~})pťOp/Kȥ_0-) 4 ܚwh6iؖv4D5f@ KA\W0;TDTğ OE*XYPX_S:B_ B"`"bkZ WПh*"":-|ħN`8#!mX<1 P6q7] #3@Dt!bM@\7 LxoSNL@3BQ X<"DT!LD\1@~*1:`ň?MxbĬ 1n~ #%_ wICKNBl*86 1P `.R7r_-x$12ѓ/ȝ Ɉt_yqe a QhJn*FԚoq4Cfď0#0u 2)\? )|)KVOA\SNA| `TķOET|S*VXRpy b}9%J*/E|`U)bZRD`e|!*.C\SP0 !x W;~:rOO+|%mxwO3sD jć[T|lA: lYM3Bu}pp+g#4/=>sɁa,aB@(f$!ĠI1(BDhQ7!AE J-"V'bE{̵d>}^{}k @c3tc 3-3[.c3rKSr\c*0(U*В83OTO>cpKpW3t-lV/g3tcc0V:8X`zƶb70vl0{c60f/q?c F{62P>XA!])4E@“7?XqpIVӞf(xcE@ӌ)K 4f,m.0W>ت#0c.Yb`R/clU1lʎ1H~ ^?v&f~h[-^eIDs5}4;7|e<7 s5.8n}]yN9-+d;$󧏹Sk=1h$8ZųM׊5vOpf7[߿}zX@ `zٲrSt`c\y,cV7OcItO"0uv)W'Ope'.!u^:- /שPscW$^ 0Dc-z]Y1ע<[B{X >+ ӖX%$&>Yi<2 pDccbYB-@5kO<jl\c]e/qp?N1fmV5vr=G3;{ lBc\O^w Ŝ J9B2cʄ3n.3el-qOG\Y_vp5;aaK;o2]9zxdGJ0Lculek =%۸ uTj'3iB.)Ev xw&5G˥EdXG|yRםa쒀Ur1Ɠ'${:#Qjcuv훲p\1?\zB֥#Y}.kBd\CrqOPXc [>ZdvGz`kpe<`ʋT.[.]AѲ !f'}iD7>1^-}{=}-ѫhAFnpdwWunkX?O vGiW_MWs¿/`mئU/ "xjIOe}dq [5j"cć567jǵ}zz_[Uc:SvjO_D0Uc7a=/bN_G{?N=.Xh{prպ5_ ]C/?6x~Ɩ7fk<.p^`/H&>l/{8^._,k@WX}pKuϒ%+5vsus,|?+ۺhݍMKi#FI:ig4;ߩ{\1;Woΐ9Dp^S-T/r_j ,%wz 9 S[6wrB׻{n;{#FIל~w v;f2K>SOT"OX̓y/4AjeW!  a~6;pe@Kd_d .yIc0?!7Bl+1^؆3G+;(wHUsqd0.t/?3R{l8<2Ū?Cc/rmC~!K/ߖ}!ї5%\Y2f//kSټYЋċ^'C;_=3ߌ~?x)g_hW84lkX/(7 Gu^ٮ#͒yAlDtU. ]'#j >J߯v{ /"3j.IOq^ q^~}NYr[ ~2\c/.X|n~?3t" !r|P?M_0xJtۢr(467eh,D4Ⱥ0Ch(w5rPw8 x]agQcGa? |k\uTc!s0Σ[ve;6aG\gfhN^a@{!e^>;oy+ۦ7|ƖFЁy=Η>V |_c f +a~K1ng\+k2`r|Kk;ZN˹/`I@]f]xۮǑ L;?ܝ]!V ȃɀ;秜Mq}z'st(hx2 b 0峮x>`g5m+S}i6d+Sk:?)=e)[VViʎG+h9_e’@%`i/u._tAv݋#/46TLv@kGs5 BcsBޙ maK0#9Y \OHetۼ2OvD#iM~23M#hZΎ ~ٕfT`ŗ]zZߧ}DW.:8F3Cb}М݄ Fchyx{Ux(m#+|1ɹƿ]ő@ˠ1̯+#+lG΍f~7 +#i@ă, v Ҁ;qtaN.CVGF[]q\MZc = O/& w/EBzL.Sߓn,}(oͺc6ķ7FЙO_Cg{F*g_)NE=:O՘_Y8ƾAX0O>#1;G9kyFןX rez>}ht[*w40|x@ Fysu\dFc40|?+c]:Tnj1f4_>)#+PV!yodXBlՂWV,ccE56s}j py=0;2'y>Fs,yMBxΚ7X "'Tw#X 8aqٖBˑ"w9xJ#ifΛef93Xfo4xBo;v;A[?0Iq4%|,6;' kl7_ Y1ƪ@91f〻:/_kd~1_4_Xzx.YYdtCke ?3t'~ 5[|ƾ[?ޚ4 by~J{:`g1j]ǜct^.ўMBt(bb&ΑWD˒7{3(>ZƯ`EDžIeBU/ocxcf {nbHAgsv&$sx1k 8 #R a'8!K q .03~'+欳4[=m&ڌzRg^07Er6=cÃc(qJbL4"rkd cӃ͢3'۽ R|퇚 vw':4нW{}[#&âw}LlbbWMDۥuaM6E13%4't7b 3QE sWh9w7v:&b 3}LK <2ffN,_>\bBr|gJ9VCgSbk Ɠ6>IJ97]tC >ąd|J|k/FG ~cDu߯; /3p8zq/;Mtml?&e}Ik>͓23>N~y,z$ /cryшL`>-utD DTU%rwd9XЧ\m)2:saHh|]Fȧ_&4Nax5 ,,[<4Yq2C' Ge&X0N-úxFtdd Ua$^f`uT6@alkw}c MKz˱5MS~ȡ@]ciO* Yd$ƒeʂqn2lcwc9e|m`>LɌ=](=+p{/F,΂1t)@pfjfrOl<2Bg"@ #/{z)9=qOfS{:·(]{<^?.'9]Vxec1}_-;O6f|yHm|7;[{S5<0(خ}^x9<1x1d$Om=s?"Uo?P'scP2x0hW2Ѱ[3p!^xtπݪǹiI}[t`.J:nt7NFtvӨu}{:pp" Ņ}Fw%f_E]`~:貇 H`f|K.fhّCqy!C~/ F\ d0t,).=#/;gGiy?΢߰_&16oz?/b3YXzeLf}ەקeeɉc˪';te@Tfĺ}#+Le!)S[q?X2_@T.Q`Yݶ2,t*|CS+@H|بΠ˲=3SYȹl~ohĞHKb@4bAeJ]i,$W'/FrM%9ĹnV̍ru\=[.2ƚmU8i@t~K֩3'y';yr''@8u^ڵ3w)3sOtc.cM&+Y!]Nnq.cfl/<͌+)' 6=֖*4{p 7Iv7P23z&88w7cs1?5`# |bfy1W懋)#nfiО<v39|59i߻...U߿iYcY䯙f|YY,$XVnf+K:d)GI;ʝ||wwȝ|;j;<+Lʧx|\/MB"[\Uȕw !W'B|Dȕ;\+w ezk| ݟbl~o>gطZohOq3&LK<).G>-7#&?i PI.cu9 *af.Xoke%Gvxކ ١m]mY6s9c+<>=[T^[lR̷3Vhӏi! z/P9sL(O񖮸~{g=P։fKj+{J Kf}4C>s)cuiryeڋYɎ$,+"9 k΍y%eb #'{iNt ѧ.&˜#:mDH5iіQ&!:;=@tਾؤ=_Ot%=_F $͓#[:K}O9i>inD?0)WW Mtn71Ŀ ~OwB]yϋ7݄ߍoyMMt<`Fkh軉<@t>Nt v n'פ&\.\nS?R\Ta=wiu{}Ante7z)сyh1!]u yѤXybҟ! Q6cp ?=fO4+ qp~HXP~Hax?`TcxD1:C8ۤCt/#TZLB/a aa-a#fm $a*a&p3N6Ä O%n S 3 %U w&a*a&p3N6Ä O%>Hfz Kk  7$l#a*a&p3N6Ä O%'L%$V6n&IFx8I³֭>a*a&p3N6Ä O%>Lfz Kk  7$l#a*a&p3N6Ä O%>Jfz Kk  7$l#a*a&p3N6Ä O% S 3 %U w&a*a&p3N6Ä:.7(4~7~Oi/Es͈ C#?)tᵄ76><ޮËg/~ǘKo==4fe.g]"lzWHwŋtOR}ID !z3W}{~b[~b o}>ьDǨ&?҈3YD*?&z##ND$3ͻh}8j虜&3'*W8gNX 583kۤrflh*ч8s gDKtg &,e9D'#z o-ѩϤ<@??Osݽ<9C#Bvn->0}{7['٭=Vvpt-"V>p jAûFt+[<> /v+ح||r-t(?p=Fvi``{v~”s}?iTʗv>P>p>xr 5M5#[_vUۅ(~@^~H.Q/>d|bGk\_~k͊e xsI|f3wfL4QI_^뒦. lʴ{S 1x,NÀ9*{~7L_24 C)מa0 -3{ 3±̘?o +I8±!PbcA(7+*' \jX< }Ee W^)zO0 IK.}u\E$G b?(v=X1HAB Y_g3/dS/z9GD(NueIs-r]G:)I G@R֧q!A*iI;kw|3:WWJd }>[:jŚIUBi)hjy"A+uRCkP'.I)SUEd9 gCP nX!c.%qUv*w]O;y^zE.=p$j:ne\euӏ[%{$^_琨Ί&3VGX7yu{Bj %Sv5ݖ/zDi 5eC HiG$oI|lT{A3 \;ޒ}CWt3jEtn܍T2q#]Jb$M3܀<%q %hCLI.(b`yajj~_$H*RVwQ$Ǘ;`18Y_5Hhޘd+h}-]?F7nGcvgOs u*{t+:_vW6{EDZĔ֗%\V<>(]T(yAaqx.?ίQ/,:dC8jy9>ߠޣrz .J֊X( E?*(lX=ﭲC\qvVj\ (-k0ܿU]˷9U]5zM'V=T(_-n%h_ё'}~,y͏Q%%9쯏ivG[/'=^QM|.>\Px?(=EGEu% I# ~͎7WQ?||]ߧzyu!V%zh[]6MŻjH8^+6jz_0ț~I}WoUbn]HQ ,R[ג2GIkn'[QSV@,ZmrQ廒 w􀹭v~2_^QM%_/eW4hHím#5MP[˟+n^mTE,پו_xQQN2ͻ> *:v<8i/w$o(MbsEIXjZ- _YVkgTU H@q;hbȕ\tvnjZ Mrw >,zeu){BO;*9lw6QWRrHScTIiT$DcB<.JUDMgڣ%pI"TgVxנOK![#Zk_9o(iFסݺx{MoCgYCM&&vdΫ&Ϲ7 TZá?jCZqM c-+]=_eKd~ -_r/ic{cwRYfT17AupnG_]`xuJ {V%٭[ѐ/_nlRoǹ< u-wa/JDL$EXF$N㸃bk<|(oXH_bҢѯK\)S$s: JiOJR8hY)۾Mk] %Wq[BKT]W1SxN:!uv[E{hoW (E;[O QV,^7VݔuəJ;Ţ`WFቺ|~! \Q4`^A-e58-V8~X\~K/G~zW!_H)H?VA28;e7ܭS$BMG}VˠltY (+v`I5lc]Pwb^SCe\pq =wi5։Tu]q|? 6qb8|S=зKZUkOjPO#/ס<1z.~5+M"FI{^Jy T^;wp$?W*:3|N(tl+~^#!gYD{8QuƧ~`_{h<$l;+mX2Ax@y? Uxo\k qp~NjөƍCR:X.G;$>EMѧF$?wOH;1ѻG7I+C숴z gڶhIߏ$'bi\ћ,M6I}Y[cr7]DZ~/{JT|N΃cٜ+]5oO'ɣ/y,~}?w{bt2,[j$J_¾mVl~qy~4;>MRVMpB{_kﶺB۞M#xb\3)jaq*S,㯌OkR}owraf{(Tm "J:ĺE;@ٕn_,"ƭg lpٞbҊ{~U-3"KӬޯ8PWaΗx7} Xڠn5dO–it"w\'(n?UO2ܙ#ڴ[nۓ%q5Dkb>݉iW۳bqٰ!ƿo}f=O*sO6-I8A=2!aoud[9)@ ?F+yܕ2  O|4/ ;?P0CKDs@_)1r0HHќ23<&s4r psr83h6p@19`>\əGePUP7pp+9699`-|M0g_l〝4]~r ~/q~Sz9*8>‿pq_9$|9K3:qy<`((֟M\<0.恉<KyYh pl%al xR_ M~#exEk+ GP")L>/|#uAD@"0P@$@@Q"0N.L $tL\HOrE`3+DjzL@T"p(+D`zh5"p#^X/E`R#"Nz|*"|-;gE"p^~X,db,@,@o`HY X`k.N 0dXI LYc|`(\i-" PmK-r p[: PoV[,@X, j[-. k,-`?Z,[  pZ?[-'_Yo,`1h8+`V@v+o+Y XV`k[ +0 \bZVm@ȵl+PhZR+p YJ+PeV:+pXfjVV+ +p@ 4YV g[V`jZv:Ax { V`x lڭ+x i޶V tZZYϭVVK+8k[f&6@ vol@6` H6` c.N0d؀2R[WNxl̴m@ kۀm@ Xhlbp ,7ـZp n6` hklZp hۀ6` xlmdHS6 x`~c^؀vplapa޴ڀl1ptR6 |kmۀmX$&1W$` (C%`$cJH %c%b 0I2%`\"J*. H@H@̔| %s$H.R B%LJ@\'K$`ZJ_HP'k$Iz %A *<.$i xN^I opH^{oK@~OI P,]NIg|%H9  3J=͐J("RPBEJI"{)#^0J3HvI޾u_u}_s=< DXEHLNXoyX &8X) CyH2P#nEtu8HL)0#XS<@7% pEn; eӀc4``9#4 S4`:EkrS8XO$ t`P;N:Fm:}:`@,{\tсctXҁtсt8G:D\+^tgϟ\t с[t .sC:<t dӁ\:PDJk:PNҁwtӁF:LZ7:Ё^:G_:Lҁ:0X+J 3! 2Q3 H1 _9 46a `?8L)0gIp13 ,8p81 2w0ea g c $1dx1Lr@(]@b'и\kfm 3@r 0!2 0 XdL p1L P /`BL@ e똀8X4erL@ (3U& h0=L@ 1}&`2c&`3#L cǙ8N1L \`L x0/&0kL 0P&08&2T& d0L bL 2&P*@ eL 06~~cL;z@?d(gSL` 3E&V,/ `rf,@qld,@ȳETYe: dX2f` tس ," pan,BY@8 dwX@ c, 60F1d3ls< T<  <86[x@PvjM!y*?ZKF\zB,N𧛳A! _?e:w8H:iU쿥=/)P+^Jy;r.@`̣+n})5|FUOG7OtE)  m0Dgm*NFk/T?]WtՄ :g7$|YrJ!=߳]o{9Wv+dyj|FȷT?[|䥦 K̎ Ü$o$5]-YOe{?`SL\H,v}Ky7zL?,#KW=cxDCҎ :lYitD4(PۗC:FL Sbg/Rߜ?k;g}†Qw]RDODDl.nn3Ћtv֞%sƩ[o|\wkQh8hm3~ʅ2}*O+3Ϭ2tWK#pͮ\Eфw:-tDLm4՞eRM蕪4VՀi%rv؛F\pDbxIc*he7]-ź~75=&nAK1 TbEm_^ΌsCyJ?d㢦g֩[xx]嶹VyہZYxycikXRw{P{le; '}b)ŃmkcUhjmaC*!Sn"fD|k_ ͗[\ƵE8&F^n(.dЗ\x5l{q}-%o̪%ż=2y`Sxÿ(C~lN-=^Oˍ[OEou|g srj^W4/q{uHK>N yW 6TnFܛl~xe>t bj>hP7eP|ΰo#SK4>jLu`uH*JYl4c9BoQ]dJ@G_(k[ҳn˃os .ζ8ȥQYvgC7ͯo?%~tՄݿ(X,LkpAԋkcet={84~Sۆ9ekΆz&?:k*8n`E}} AO.0fV^;\F'ѓW@pOOmd0; ]O+QEcW^8Yt:I^DՁBbyT݃^qRG\(J.1DiUC+CO!1mcG1}JvqN? iGJVOz~oݝfƷK٭<wuXFM&v"<זy喬ZU:L^uLض@MJv "sZ?AqmmW(kɇ<4*$6Ω\%=HM.։\3j4N~K5nuDkߪ] /4bs_g=oY4j,{lye׌ʅ`} iUycy_h>pz䦹77ɥ< }mlvjl+u7&gs!*҂[[Sܛ{xc 3 *9* &i(V]hXZrd4L=:?O+ _3ɟntyoƠİr~n&EUy?ay"|J5E~8h=%eiYeШڼX3'I;zSr,+VR5jGGXR@Ֆp-ξxտHi塖_F#^9g(8&(ؤ֠t]R ZeizGpw覰jW%RIsJ߭*@ۍzc=Կ}M:ϿyRE)eCrtJ+y E17s,=ܹMcQO6fYPrJu 7mXz=NnF+nw.Ί_u KٜjrUǮ_  5م)R"V[];_{DǫwT+;d0 T9p\~:[$Z~\r^?`\ [tz-HH*ޠ%={jz]@]ו\{寧w ܇ -wNX49]N.(lt{:^|=CfcLͺ5w0.pGzk<aš O녗S~Jn4ר!b ʏhu`Wd$Nܾ!%1xzCY7ӯ{xWnd};l)۬G_Ѵ=QȝW_=9>v74SD~tGnWs[O_ޤZ=嵒 _mU5jMN\sr~zx.3VZ,t堼+Ǫj8]rwy\ k>lԹ&y$;aJ] h|J:[ZV 5~{q7׆I&k>KB7/utWGW#w/J)VX j5ϦxW򝱵J.o}Dqҫ} :]3t}/O?{_ck`qWwTS1AwfΝS5٬ pHM>WJ3 wJ($UTy'}H,sA=y*}wطFR!Z.B7V˵@akkRwT.QOMSDo%L[e#v.yp̻/u&pI6&D׉(x޿hoJoAW3ōR^]>Ui1PJյ}CfSZ"=rw#юw7~&2hx FgFiǪmkdw;QEuh,3쁾lŚG;Qp}[ڭ[&~׀uμq"g-ܚZn;tu$4,5< j87U%iuf޹GnwhgP٦?B<8G _YSR+:Q'SQ}#{y;IjWK->>U[;Ców}[Lu ֖]|xvk&eHtٛz<}oԠt]QyjvI;g%Y1Et ~]C*z#Uoݮl_ :51Q%$k' ;,8{\o܈k鵼 Gڋ!k Q~)biP=DXYzz~M%Vym}&7y? ]$+gvl;1$ЈF/k*I@4Bk(%[ܿ;W8xf|ڲ2M=Gn;:1֯R/&I; NH<?G̺+N'Sb9O'SҎ:9gz gmIRL֤M/ii1$v.n7)( u~tEHsMYzR%w,^#v&AW'ñ%*YP_+f f4z9vDb` DPחp}hT=ڷf~~Ja(h|D3W,  OqI?ͧvLmIognMVTPdcc\YPɭCeA ޮB }ܖTt| uUs^eŧ8[{\?SCS޿&墊O9_<;+#a]qao6I _%Ob8hgXXB9,H{lf1`tC {f36\y2?zVß"fn,u54q|'Y.%h:цϞW*bnJޕ¾2MiQhqm >$H>e VW/ev?s $/l>pɿؒ埴z}c;;fq}5Xպ}jBF&G!%Olk P ޽4qcck- v^ ߭$Z]C3tu6 }9$.K/RvjVN]9,&;s؉X7N i"wzd<2",[.h(yrTfÎnOtaN]Ou ۃɭ?=]~ * %?232-6կ)k q bPPTucߒ|Xib0MvEj|JךO̬;9Y"'Jl궻Jx UŻkm#cMϪ;CeGGyJ8T?Jj }}[ۻ}_f۩dXaM"bľ /OmlۡϗP3,n6mwkZENq5;BY113L4P.h^"~Ci#IwYMC/} H2>z{橚 )H,M^ZW^H@D46ɭϓyl^N/z_{9sZ bsq/Sn|:4V/#p=ZY scDgQS f4ּBn7j}jUGןCvIx<=~&[a|e, G-,6l:A!$D̝ %!G gbizlfIHIOoF⡜.m!jo\?Y&Ud6AmqfD܉I3͢9k|3= y}L|*ᯭrwG_u/*nȿU.qƙ+1WhYYxZj>p]+@׌ u} #Va=gbm!RGI|<*+'Fp6ѫJw~ۑzQMvʜ|tZ5nsJLygi*ꪌ^JհX8e1M6XLʛ_q8mGPN}J\~Ovaݱcç!}mqCͦm&.5LO͐׉O@cѣ|{ E{N_;߲ۏy WKFtnk3nU13[ġ5D.&wk뱺Qb7JZjTz>9U)N w㥈Ϝ`%Ъ*tԚ ltin% qWa@^g !& a;morRɛjE}ksw>||a1.,O=$L>Cpp꤂rwmÍVMb9Կo](lЯ1b~b!vN~?_= JcmhVuϜOIq䯏vFVb#ŌC]],֔ISTm\y'DH|`jHφᢵKǓr;82ɢ7ޫ7"&r4spGߎkuR?)lꄌ_'f EU q_y"wA]ۯ\=Y8 پiޑJ4~K)r_a=,ahG|J ʶSգ7;)tϬH >cCjE?Vqҗt0}GۗawI׵.q̇攥u{u{:UF,Nr$ikvڄߕOUk<.i)A]c+z瀀H7r؜W{$y1,ܜ vtuKI:VWźa(gK3TSE1fr\n;K|D`ԙTWYM{_Sΰ owJj}<ᵦC}zAoҶ_j3\(Tb-oFe0Τr'9jvW(`ˬc: ܩurbj(~hh-bXu0S!Ezh܄zzV(򁝠Z4 .1j]S@Y5}U\hCaHjUYm>+R?x𫝤C _'ܾZ;\j}qsɑC_mL4iHI}\0"U30zW͵B^7܈Ms}['f<ܗljnJl,ZO69"at:_ 5Zui?7=ۮ~A.ո;8OI4dm9_َ$W' D\oMjRkݼiSGF+&Ce//Nx9R9t*zQ_whgb[7/ɧ 74mV2L9t[ jA2P{*9Est~SmS&x$6"'e^%hܵItF]]GuH)QʔNJ v{xiGwv](-W$e I%H$ }*g,R쮇yADji{\d~m|0dģp:7Nk? KD_׻]#S ?QN|/({W%cã)+ro|/__U[3We5;2=d[ɝ.2)<էJTEh+?kO>ݍ 27jJ9t?/h7sQ*gj^۰ !Ǎүp2(.(.5uف㊁T̺HIεܳRtM^Zۚ?UuMTܸk#dIH:; /yUapLnbSv ;OYh%Y"Gu:WltGiv&8{-%cJ2zm\~!F`za))lvr'96aigo)-~ɂo7IB/S9L^oua3Jzo~sԊ{ 4Lnx.u`%m3ZKGgtDvo>gh DTN]cp['߲tNZl"K ƞIuԿcڹ]pˊoǻ9, EMs=U 9s˝M\ׄ"G~Q˽|nv>g}zeG)0M`骵*=kc՞\ gO\-?KMW w|@Q9R*sϏc f)&>C3 &RDKޏa28)bAn)/6}(lgO_zsst d]-#هNkƗooc`Ј6BHl{:پytL16* m*+gG7 `$ޕf~m!6O*T ;e> x'*{yVaj F a-m#<>ķUʨ #>)pkϗOV>Ҥ먫}?-A&A ]6r.|aB2+P ?sLsվsj :2:?Vd;0;J_:L'B[ՎK4ߵ1])5(+Dd<(NM=6_*:^^U/ ]VUi-!?;C T?啪o5``˾n-'fX>Yo/u` L"ɩ+8V-ezs힡 o_>aӏbǼ\Tjg+J#nW=WlW!v?#;"Jͻ{;6[I\0+)BgH^-8{7?.5EA3qKy¶ADY˭?S_>_(!hU 3wŖ7yrK] {]JPskiQBn>ir1_ 4홧:FLukMyr@˚8?3>Hxb0\ɟmWJNS]rOV]W0S4xdvūow 5ks5~os-2A%; HW\H Qdh$D)# (%+(+lBYiYʪ{|뼮|ϣ:ss{}4>dpahŐ%o{-)XQ%)V$Kol^_ʃa]pݻn [$y{D<n;/ȡi~m}pG.؅]/9fXW3R[Dݟ6)/~m#)u\TJ*|l*zU\`^8;t;G]+ L |[x\91*Y3wLh LQXy]Y2}qx%;vݿ[~~sѕ22Y#_B#3+^mY!c/ NѨf`:_0]1VS&D$mٱO?ǫWJ NU_s/~⠏BYhs=' -AbUF1gH4.;UF7[{w Ӈt'vvʞ`t,%jcGVǙKTDTYXlr$ǪT]Onv֪p2Z׫oa 5<|5gDn[OUbJO~!m%mF#5><>L-]آx6eBcMZi7&;kUv1|p?F6ZipIc߲.VrGO*[uWN,qJ'e,G|c4s ؈Rok߭,QCY#͊:N_GtNy+W1_#˷{v.A+[9Pl{omwUqg"Gܣ1J MtVtR6=`5վ+C_SN75Dk"ݣ#'sŮ/m[eZ_ ٔO.EgX|m̫yYlwI)ӢDŽ߰g66 hP5=>~.쇜5|Q r.*xQwiŃ_f\= nv 2</VM/KP"6P3e75o/Y?~>h}L178>9(\c}gf1} o{&*qӱrtkݪR/pyeq6!w0l4;{GӲk.:jz̭(u#M։ **]\G#۾D4tZ2x=]O *+?l8\su3)|[Q;xb{ڪ:'YF_0aW5㟿;^\|`o5S܀ˊ T=M:r67YVα\ɸp|Hm f]Jz>tW#wCjf>C"/DoJ?7WNn)|MnT0ÿN %3a.g#vE&o6m:X5^e9zs=P7w48_M+_-HJr ["x&OMq?[KH.$5$tSP'ψRUi.q]r?Rj<iV=He"yoD\f^,5OvGt<֢hCHf‹^NV6^w$*~7V~Oj]߬eMYFm^gcajT?VM]fW@\&cuĎk^R1L?H{rZ\DI7oۦ+o9MY,L붞*q t%uOp|dEǫlQ=tQQ7"q[s6[r?\7ۿZT%Ӎ5T6t:.ղЛۃ]k֟+b9hIb.BP(+K@`I-ͻ)+ꌳ:/'*]S4ͦZ3zZ+ Q܇G-GqĬjpn5\6u}0dG)-ਕQ3qڗZ8.;2V3f~Zevj"9kö:fE.WNbѵS:f̟vǯCr>VͰ_r{:8w[pxɡ,6qa~ig'.=qbaK~cn7[x`U-D0WSaOܡ ejբ7vTժ׸g8t8]˷czL b04E|bA*ךBҕ,ɵ'~JJzm|}ұk⃿ T_[d"EVԖm58*$PRDC+FO#^DoQ`Sk˒\44ʹVaAK'RW9{#E͞Vo?!Qcϒ\Y~+RS,ɵ<,m/;rȤ1\u НyLYr ijVe{Y.)r ׳ _zKG Tݱy/K{Ê5)Mnx'9Yk¹˷@'zm*75k)}4[<9%^۴kA*3/Y}1OL(_;M;_ӏ羫R t봝QwYwb }V [bLWdn+KKa=).;XQCg{!6amYYj6SMj?n\doLFNP}'ͲT|?cF=<٭+nkPX5S{~"I61dW6^đ`U{VI9N~%7M):Q=%IK6iyk3N= cPæxuǵ3 j/OI@PM{3ۏ{BFgs?^NC#qV|;4 98mr~~㳄;C>Y]):uN棲f^> :U(E~xԬgDy˰{׮oz[GCDw+V{ ۮk.661dٱ݆4uF ^W1m!mIa'lN Gq?#xg[o=mJõf_Q} ]*=:8Z2*p\M+SC]Ζopgĭ)̺y ۰dҮ.-=' `A@ K%xj&[B#/V<~a[oyJ?meMaLz'^,膷 FT6xߴ7oLEvPr=$넁AԧSՃkƺ?O\e$9!-.T9WQSIXuugH&Dp֟n|4{lTc?[#k AX]f8d-O2ݮ\]8m),iyL$O,>)-ZcWuY \0QsOz7*aGCm}F)ڍ N*< c؟:I575ys»lyTc5SCr*>r ;gxn]=o/{)g^X#k#QΪhj??̸OǨNR=i_U[_xg,OEvGVϮWI(:\scZ?~6*\v+P&謗|W}ྃ" x paftQs9S'ԖG9%CWpؤُ_F fJEki~+.o3-7ߤ XΓ&׸c^#Á7f]Ňt\rsY74lv_9s=;26 azYOOzϛҜJRNJ6;_R[~>L/՗+17`og[7{?79j{:_r*lc)܂W8s;Τ86] Ccv:Эc :I,MgXLaEyOM֎鶽ijnn|y"zzQC]:X~&eO(3+o˄m];>Rw-kUMnφKz#oN焤IE1"_ ʨ8Q:&fIpf-N yϝ'bǖC'UMNO]51.:Vwd8rs5CGueǦXhfrcg_rŗ͜fUXt1eko5s߾bZ~Y'cC[ƝA* ɏijR }3 5"c4[_ۇnm}?j(/KmUkIYR%4ޯ4k?+%K?eYfk:>#]5B=4/4~0 ؽڎ>qZ_ʉg}FZtK5Jey{;`$Ϲwf~ M~خ7ARu,qbgoy͏ׯ[dk:u0g]EoTtu?z_5հzr@w,\t듔uny^btYz*"Lqa˻\ް)Iח6%$GMh0=j5_'YlUI;/%ܞ2lި,'jvpvtAU?lL~϶lf\8U1G"~K_m58{+x7^ouu,JDFlWivד(qL2k?/`LB-'be"3]Nr dϊI{goY(YkV_4#5?z[~MWS]~`Ԯ+q5Z^r:F؁K_r٧,bw:[^;ӟi뮨 ƾFsHy@u天vFJ u99TU\ڴ%c7N6DۜJxYg[1b[u"K"oNZ߿8`TsgD*nf:sb9vp'lWU(^~r[0conTn[T2 'Ց`I½:ތOOXCJᒰoV핯IRQK{/;KT^>QͶ˪ԅnU lp̷soKX=pڪڻ.|}kXDX$gɞV".nӚ][S¥к &Kh ,I"}ݍ(QN>2<<0gI_v)&u*(3?яؼ WMkmwǭĿ=.UBgvZ%\ZOc-'IԊ!n4N}E[ʭaX"p# dk9{ɨ]R2NPèJ /__-QcB#$ظ<>r=I/v:[b'Q]?}X=격: Or˃%eif mU~H g&-^vUpn?1j~Ys, R{E5on)w:۫dk;]P?{VX{|H\pasmʷ:BW殮xmgB܌]8A=fݼKy霞`߮8`]`gCƼ."* xevjNjxoޚ99{vs1ҥ=vt+KL7u9+ J鏜6MaQN7(;>{`zR/eͭ;>Yu"""do)pz?l}kQ٣GNlZpdY^Mq6<75k0bԡ lU1^K/R׬>ڊ-όgn:9(@1QrfjVq*Gse;߿w r+xjD`x>(쯩TTkKn7^+PQQ W8=Ncο鿳?qi_7wvx UK|w>\o\nǿ\o˾8[M!oz%vBg-!!KS7ٖ%e ~}[⻧/%u z/ѝo܁xH>y ൄ<$,!g\B{XAE<{z-1%"0q c^-ݿ.oz%jz-A_b-Q?l 9I\<.jo_N.gKȹv{)<r %}{\7G%^ruQ-7K3oNW_b%%8KӿKؑK%}7^y.q8K%%p˗8/K;K3KKv'q ||s\B~/KKGg ~d [K^b63RMFנּ R]S~T.]U8~Jᯋ~ʗo ŸmamUяz-€7F1D ?s͟Ǖ~dW; p '4IE.˗!z%^?E5$_Fmz#6D81] by~} }@&1R!;xcw_1IGΣKRXDx[$Z o`@' ϧ?ֵ3}I%¯נ3h,b/Gpx:_s\DӠ?ѾbzD]j\Ih|g|އ~(GoDq7/F|8x-s/R_Mڀ-Lz<ƒ `)hD qN( ,&HN.ƑGWZᵥhE9MEK}9xq͡7ğC8OF88&?El( 'C|\#W<!XWqt#xՓVDó8y$WArx R ۴ x/D/xOUg]҈C8O`7]ޑrUzHҰY~Gh|iZ!<:M-{µ ~ާBxv#Pd^"|cZ]>b]q !43"|ƭS#)?,%OAi"kϒ}+ 4~1w>O?f!Tѡ%"zO l \ Xq7!쮊(q,?`QD x7-8@I>pѾ~_6bxA )$Xo9iXC .Sg ;Q?SiEc=R`_c loC<)||b#9) u?p'"</O=!>|<}w/Z\'U-+—}@ KuS-h]6|B"9v,ew&G"ގ+^N_~Bޱ>M|dH p9gT",λ軧YK1z gjG6ħL?}ߥ~>d=a7/]2p.LH> Bj4O|~9!^jƟ\Hcy>p}<_gE*/b9KpS;&w y.8Qx "2#Ԟ^|#t'sw:"zg >*Lp0l{>Jwy3}0kUgSe^y8~! Vn  ~ѼX_!N?σphXWEѦ_F?}H= ~zfg-"A(GpQXNu̓u+~Atv_~뾣|bx>3OCr,c'l 'Cҿy+} k#rȲs܁A W=?sǘ *CV|s"nUp~YB /f‰S ~"x~XT{AGo ؐo\A  7зhO8yp$oد/`~yC"dž|`#|A#\`ЊpG! ['P䑮}ExtޫO?71hE~p F}IlArղävѫTsY_m cA|K `"yBr_8<1  1ye4~b'AS=A=R1l#7zZ!o7lXE3^j W";qjV $'8 v_y%:&d'[!|%z}a`=͇<>{C#_ՁN CAoy7P8 u ?BAUq+H~y?Z{}@ᄃiXyօ󴱲k+O7L"g \g )sh]{(xp%?$w>]* St}e^ qtP&'Cy{^o~0= {{e2iyQ+ b8^`Cx?ZC>6c|VAu: irog"?׭Hk~EDd/?2D Yjd]gՁ_ z8~OR@7]P"MC]!$7!.8C-'eRօf>\ }8NOeq/!n~cVuiYCU;|WaD?TD`3Gl70%|]G{^A^H ᐧ}JhuH@\z߂ý՛ p?G#ze&n ƐDɃq eB<-Ȍ3Qw.V]f`">c}^WQ&4O,8G('|FS!} "58qo a rv_]wtY#7}8}8PaNX)ȣu'^Է6"<3ܽ fd^؅S"~iBEz.{s V v$#ABK|5DāpAZL.3&7?e@c,y@2Ϧ yQHZ v}@Ϭ' vd?ҷlPCam2/WTOpf}"[Ao{*Fw5hՈc؎B'GC &؅|o_M/r2؎/ 0/4>q@|6yRD ԃ@~N@D>5+K<߻! {5ɛ|xnйy'ߒ`"9oQW Hp\`>&i`/\~4߾ cGE捳O2g·9[܁&ԣs#z,tOn%9:H2\A<;0J@B$^ ݓ$@N/gH?!޹M9y/Ey8pq_9 >G*!oj':퀷C%gKi$Wx"=P &a\>lgA|$;yc& Ӄ ɏa'AV"C>$_?9'e%{}y$|y @C/= I"s?yo/y C|UCKD83PJO;G!bL06zli/7J~a}CjOQ1F?܆:b3GWu(X&|K;o6#+ $Dy{^E|t$O7BFdo y~N} /9) <;";84g\0~*Ej_w&}З^3O 'f `Gx~'8C:|/|)s gZ)|Q O2>cC cHB</П9_t {!oZQA?k!9yq~ׄ,{#>ICꁿN?s+p=+" N!rgB?ReA#|ĕCIy怾>6V}t=]kKw <9g[0CYz!D zg`_}Q[ ԃhh⾎7)VZuE7Wq[7} v߄"SzE^ѐ B803֓ϡ?ě? ȧ'Pz聈90 د?P8e[[C/ܗѡ迺9(1~؎{"yۖvFȃDد.O%Cg}π>so8xx2;H U|.xKܯ ΀]B{5cި|N>Dw I'h\;󗧘)9A/~=Zw~"=!-M8r,i|U +;RE )E?]O/GD~Gn?C~p 8kc뀷A#O< 7uNBM[3j?W#~b= h|| ܞz#IɡP74bD>c4|y;)wSdVsd?j/foݎCZC<6Uw`>4+Gz#?q zB?O Ef'+tA=';wH4O60C~^?z>r3?{:,Jt 9a; ;[lGC}3^0{b3!\g@NFx4Iq4Uqν L0Y^~)7lwj!^zݰ;Zqk354T@HPk!9ڐF_a`q^4#{Aol=5}'\p} K -Fr8 98uL罈?8N NԻ=ނ9΁|D![yOmԸX }{_[}kOn2v )Rc~NgP%2!OXdMB~L(I84&ox{ ہ~>/POsW|=GrEޡՆ> S>O} תLk~x?7 !פB)bkxv=?43FQŠϔV@g>, ؎ȃ?`RD N)mM}N _Ex| WOBg2BJBnLp硿Kkz9)s 88/=y6軸/wG.bZ]Mt\@JdþCC׈c<=3wd򇶰/B=e?Y:}'doq[]OO߯yz^"p%g/9}QD qN2/:P ~/bpvc?'7Rgq Z-a>Kr8Ahq}Fqkh ǧnօĭOQKu Pq:GQAW|A)C K92{]nC#cNDWh>8ydҵEH=)xIU݄燼 iO'OC:w7U"G[܇{,CcMqh°p,TE P詺O][ hwB>w({~>}}A=C>/?y@^%w'` |q/FfzI8Dz {.n*kt+0iVb`en̵9":%@ soJ./@NÄ=֠]8]-.IگTOu V@ #`L? }ϋ7Arϋ5S {[5$y;R {#jwZn N*gA~ꡞ+1@xj)܏/~DcyCH~!NdI}.A};ŐOȧxI,wb[у{+o9I xr6O7'_7ylwgd~>6!o O:2= 4O?Y~yY8h [GB]/C~uOD 1>39仦pϴIuڸYlM V̟N迪&nJ։@07[{N3_AޏKh$L'O][Z>bEP'uFU_߹d#I[̟٘|Wsԕ lwjfQ6Fbz#oZ8_c{! q1;|s%s% 9B?is{== nzO@ojh|Y- tOe P[ kadxƳ_71xu׊QxB. x3ws%"vJנqp]T=C;x'(Cr*IUh*]\_;lYϦ F$zVG 8AQw8x$W!h>Oslyϱ5c ?ɡd~{_jȓ@q Ł?xC?c#VGtC"r{yסΨmHyk.6ܷ uTw :h|ځHS@^N .&5 ~A_$ BGp~<؅aTw w}]u3=>gt 3o@_qN6 =/Ҡqˌ3!A4'WE~)SR _D>7ԭBqԇszi ț u &T<:^ϡb| G]1 \ v#ȟˑ[n>޽z!Oԕ#>m{o=R歼8_lD|$1|IPoeCr9SI@}; rˍ/#F-l$cx? q\q%^*}(x5$ EI ZG'B\G_be mu As3;GC?5pG/{¥HnqS4iveYGzkHi o;m 2Lmu]mݝBqwwwmPܝn-wŝ)ݥ3fgs8=-ʊ/D}n#Q]g)\\svr⇯N(罒Wv~#zJZyij_p^u#=\ׯ6 n7Bݲ!yHN(yC^Go$v8} kZsoFK/@޹ZTSdz o+`>Sycz=Ozlu ÇRiuCه˗k?*{s3MJIl=-?̂?5+{POBAuO~ }t %Z~3H)],T+ DG|=<6OFZ_z4Ցh cI/Eziܷ]ڇoq=;ĩ˨K]sX&[E|b^:(3Ӆj<:60~~g~j^)4?U pB{ -ϧg}&|cmx%CKYKEeLP4^?S ^KV*v?]I~Yu}O/ cܵdߞvFI=σ>vL<]@#uvB'wy(x_o|BP zME:eVeFz7oַ|aፒާW֥;H#^;ڎ*|n}pG{AykCRWR6;y0[~ ?SOɉN 8y_bg:#ee| o\7;졟¤A琀xJYՃF;~?Gþ u[JgɹSA(lͪ4f+̓'6$_[_ ;}:Uk1x~gE؇xxj<?LLLbǓ}uѩ%>LLWztz5eDYǶ,0nr.Eq~fyN=R/d\*)VOTon//3|O{p-ܛ<8m=T2N\}@jS^U70>{:_ 97ѩe>n[VUzg\QMo͂?SJg#OiczE8w:u]1geJkOoyJ٦@xqw˗߫:KF{)8ppUh'-`'uQ\n,￈ƕ%וO}✟̏ۏŸ^)#aiǥlz4f}o~Cm=` m;ŨS6wx)૭[ݘet?R:|$HFهχ8؁j{>MIO?هRvB/&:Ǭ@]^<2'WS'?)/yʸK/[w0o}o~t<{F|sS5uݨS.ʜΔѾZKNsçR%߃.TdptGGh#:.>.~zL{4<rV~CJ|Y3^'8͒&_~xg~|~"ߔ絜,9I=Y7؃t&(<93E:~1KPi!I~c^LEuM[c((%e/ I&uGy+/gG ϟq?}*U'eWqGꩋOyxdyHN Ç w{:u6/i}yc;ldO ~4h PY`uM]`N2UJ?̻^S-xKG y_'=3i _Kq;cd_tm{0OB>nδH' Bg[] #/<*_)vtpAes_U*EU#OWʛ5od~{rRG~򹷧Y{1N_ O"{ltu<=/>P?ȗh}M8|?ԃ4w'}5LD|z݇Gwں8߳ړ#rzSeO2x!]䩛x0\NFj{fTW?ȑGz';]ںpp?gͩ/|$XEtpDb^tyS?-ϦZ\n"2Z>Oc~fOûo5Жny ɏr#H]%>~9יoG:Kzԃސ}{8:|yV~TV5uU~> j]WT]5)Nߛ wi]yWG~/[ww';k0}8N҂__umUbVo7vfEB~#?ՄzN3Yz]D;տ{^ɓ^M;z}/Gy˷_Exʩ_kFs x)g: m?s0~j|~H 6?%;˳ʀ7ꕔI+6oHu>ၨA>xE:jbMsnW~`LC=I.ͩro_v<YWMחz^]sRF΋,+4\zK?ۄƏԅc0mnMiSoNo*m_>7\ `|KO~CbYϴөsQ%jZz E6ox:ܻd>O>s/g:΋91J>(p /lQf'? =%?\8ڿfU#>Ok}ԑ ;ӗ!f]w=Y̼x$;<϶r7~?ϴ3+-s[N%? ,gͯR+}>/GQ_ǹ(A+#T׮:ga\k WO<޼o8z΍Y9xVu:xa9}z9yYc/gп發G&/]ӎf62>|S?-~N|+\@?Dqxձv#]SC~ߕk z~_IZ_FRTU$H6:_%$٘Wc[R'ۣ;X3;GEg"Zɫ8ʅG7\ֹ&]Ƅw7f.Ev{Gk9Trdu;_߮pΐ'de+hx[ʺ_z&Nt:5_s^FaVi+Fޭ_ߞ6J'1o>sAWa>!*QF"uGmv }`gn7Z9SVjcxtox|-3,n >_u$xϷ{GO z)ݫ 'I['/@&۟(q}0Sw~)1Bx=~oY{U';qs#ӧ{3|ºd_QMƉ%8-Guxe˲63=+ s+b#:{KZ;yhUS2?#􇇣x@e"^k9|!Yx9۸+0o?RΗK!>3Y[A_2&3wr/8_/;Z}=;y 3-祩 '1v>.Fgp6ˊ{'kes^O4^ AjkEu@WGrץd<)2I7;|ZP?-u/yw~o@o8wټxȼm! WGƣ<߂qoLҡ*e"V:,&yMYB8/yiKieM?; =Mcg}jARUptcҟ=k&ZHcc?W&WELi7WM򭳍 zP}%ʇ~|_my^m|Zy^]-uQg_28˩8)b7׺!.S SW:'>ŎiRKv`#L/Gc2>c4GXS{#e7ӈVyJq 3G'stS:AGw" M,HƳЯj-[?u}% ^;*Oz؁tkxm6.N?Úؼ$ z.ɸrE_YK:kiU5Ӿ0r9qANdOZQy| dwνûZ!v/?ظ"^ھ<\u^"pl#vyxzu7>Kro3.4Ƀ,j)qz瓖Z~~qAџl>eΤ{|[? [ş;_7j;LN󧹨Wn:zʧZNGv݋7Usg=>~]+8w8/Eౌ aoO9N~}%.3؁CaOs/?XmB8f^Գk5 jEYG̓Ad|)]ό$_|@}~q[j1b>& OugЩmo?[= 4dA\VGE~s*Q!?ut_4d+-VK<"3C]m^M'o+GuYG'یm{!?{_AFo_.x8Iͼm8]EO╋KTƞ$k!m?h7޳ׇijZ`]il;toF'YW~g_7w?Ls9BIy>rpxo;:B!_8yno+leÿs۽رbQ%Yv5~Mo[Q/y ̃۰8 G%n]3r}j. jx|{x꽟>YH']S飤o{І:Vu?oD}ʩL<@Ě>}#MwE)*:, ?ՕŞt%䯞*N e#䓿~McpK37O,303\{xzí?v:|ߠ :۸2sZ}:'{F?ߺD&x5]`ԗGUoZw&␱97ӄă0Ϝ27q7#yN⣣{u?+:gpG?e~4O\؁Z7Ag>z/Cjv F|8ɳW,cy7ГQq^cp'Zz߂?v?7O~OoEw+ԣ'֐yM s㽑Zw ~B_5&/<}f31%8}Fv2e>2z N8bm1~ŗ 9erZ>!:tയX_)S_(n)0_ W{'0*k8dKY=dF=(4xUg1).W d0x3#y.?py %4^/ hiֿe7C9st黚k̋ J3T{^{SZEr;YT:L/e'+غS i`l)PbF7Ay|̳}-wgǨ12=/,~e,w]sϒz4v%N6oR3O]hDw̳u a::PuAߕ>躙r5M.Yv8X_rIif!0㹹IɽgH}=]ͽy{.7,z'|ͧ^?ڟ}DfY}F~TSZX4s.~p<'뒘~F UmugO7 zN32v2!ogM%%Ld`'/;zJὔs2÷LޯczU}SꥤgV뎋#YKC+衝D{Aρ':5G5"2u^l.znuzn@?''W-Eφ86J.?F:ՉC[*.Z-88^N*'B\\YJpz߭Dm'{/' ~y?؁m\d똪WvXaw7wڥؑa3Ͻ{Y댪QeŶ«9Axm,RzVwϓQx.~=?VWR^^Fs_Bw((S@IoC7kԷ ?ftYu쓨wyw-qܒF"oO{@A_=pw*]jqz:hץ 8^1G1<6ERZ_s uW/ |Ϸ%~?[F^!xyOB{d*w;'y||ڲcD4$ :/oϐL^ 8}8}̧BMˋ~pXf#uRy#,^`ZGk;m sU[NG\L9gٟ'u_K]Pԑ c~ξBߴy\x8r_}n.nVũFLL,~;-X| |0ܔgKu=}. >ڈ ]k+t=+-3 Mk6%80s>Qid_yf_;'Z3pG/*.~Vs?_Z ^ykA^s#ȏ_,\~sk/w&uw~.xWv:fyne/1FMe*?9 '?|B#PcX0ĐQڷ$GMy`pb<xmG'%~G܃WAG[fKSGٮrxct~o'~u'a57~yKGt=Aʎ>P'Ozk<뺈|Y'_6z+9' b_CB]A=]|B1@+JE%"Wp,ߩY:aNe{LMG_}:':?y=^_T? k%59Gڣ >).:TO>$_k`|<ɩlp%m`gJ`"u@:g /sE C3{e_vv{7vYxa|%}m|4-̏ԡ}d C׍yb'Ba㟌gXyua{GWS2D yjCvճD)oDqYm?:[cq=}qkO-_ny| V/.1h.xiM %c\2ϪzM3B]4'9EGh-OjyȻm)ܽt]skM9an|8[^>mgc xW_ o!'g5yb YMw]e]"2m'~fQmՓuICRm<>R'3㿝?2/TEu5;1'BQ{b4ݤƎV{|8?8x *Nf=q.~"_V2̿Kq^[݆*枳uNJ9s^R oBiist SƇj=mu&[>C Wi}VEz=[~>x,6ch}~\sq秀**W msbRǴދs OtE\yCr=]/Np^7G6MyʺտuYZwZ7߷-Ǹo89yG:y~]z#_P3-GOXWQv7h]CYLcqf6LWZsN'u~ߞKY1Tnכ%vXEYՌrP+ÖKbˀWŽӗd}IRwx[]k!>k|གྷD'/~gy׵lrZ9乳n+dEo|*-~)- us?z9x֗~D>un7~~%CB9IƦT>Lt'zZAJir|yRx p 2ʇ}l`/?t嵺vНK(zA%.Ukx;dzxsyx2Xޠvu*:$â۾EIHS''%BO|}St Ws?@~'\a wv]>_/?ת1w+F'O~S|}6_E'=}^Kcf l6͒7++^ ̳o@ݮז\+opuW?d%wh=8V'$7'&D>{o%ֵn cF6/.)m˺A|cgRן~K2<&SWw27D` oH:3#nǟ'עN| RbmWUFO B%oyWEWAkOkKN~`hd9tɎ0^-߬ N'> ~sn~kEO2Vޣy[1ڎ'h5JlE5^Љ:8md5mǺ,~.d|'!qi y~9z_wwޝXOS&Gx-X!'/u/8uj;(~ ځ[;G^)Emk~x,?zsn*Iz~ޏoi5qӪ< 7i)WyjG=+?-;KYkCoWpmI ! t}V$sx GOW;Z\z~׉:YĞ,sIؤ2-YQh#e<-kQ?23j`9՚|WsW}:s'u:oZ~iU{/WMcEh82xrZ o*Q"Gw߻9Ɨ{yŏ`ϗ7oa<*?xI[292+϶C"\CsSt՗~zN<\kg韥 s8ux;#sd6:T\ކˑ[|US#.#uA&%W|ϣuDgOc뷜ߎ_Ew>;7ޡC&Û!wBmxhzIG _; :֡T.ihSQ}cLRx_-++xSmb!m*6N!Vw:W%~xK'O|6נ\1_q0x O˾R˘_cߟ^S%2lr˒ao塏ΉuS9|!b_&Q/?G?;זr|Yp3?+^zqaiJ'%}ùJHc곴Tp5dccr6o}c1T}diAqEeY5<8l??oli$|p vOWэ*n;or۷Y^bi3|ryB opw=^.Fg*4N䑟4xo-^6F'9OoG0&tax5C#qMQџԺ`qǷuw;z! \;yUAm=7Cl:`#_ҏ~Kg3g'55}nt'NuҖ/"BħIRHyqt'J]sNv%1oo3큟/ckYGwl/ s@ .yG;mm$+{%m\<ꌱ;{~9.{婖ny&Ӓ[VojJ7}h,#WVᕥ?Y&̏=ȯ=Hfw0 O agM}F?x6KwSqT-~q5vg? ZCX;\d!$x~&?2pg=J3qT%/-od̛s=ss|IstV^'NY[qEټI,2>9]σ~;>3~+{?2a6N?A_U6 KSrd~E-eZ2%g72`G'Js5& `'8_..y_~m7EWm9841@ȻI)Kˢ93>7.XFB?Y{|>[2_U8ෑ,*x_L&QOo}sLEaWܠb=Giw6Uq䦏Rq= ߆znVB{)Ze[G3!~)O~~OIUBN_GF#>y lĽsd_Z37&Sqv{,"?/ϳgd_:Q-< zEޣV_q$f9Yk{6"7(>pd-q&_֗|ew¿:C|g<9;U~ "OzӞn-7l\ϧQ/3\qVf (NU8kSP|VܟV8yP^},x %fxWuxB}͓O9r/ݸo䧁#+Vyۖ%߯z/Mݺg?u]tT<4U=2ZucW}ro^^h]Kj[ixxP'_~ڽpյ<1o߯E$e[c5d'͇_u_~}gu(kGo޿+1=ьɛٶ^&(+9'ϽV.=[xXf>Wby%{t߫ysq=#͖u1rJd@5l[wI1ٷ/#~%򧪳Z ?{>X|;f{g4֩C[>db)nqS-zw[S:',N}>{|~WVo??lCП";͌|,;gzy^M_dv>g8ؽm{űҟhJl"xWˢsH@_I;yݫ?į;1o?F=-Qq3m,v( +~ra"ck[>+)*Ugo=p$v9}ʺ_Y&󻦁p/d-naFuN|9ȿ'ʹNplp^6ctY_oG?k+;u!ONd;y?2/:ⅾ;qoF8SuOO}LQrD~JOԹ˖}#ݷGIvjTQu,OQu$RLRJW)%nω[E9oW=W+y%q y>9>:ZAv ߴzANRGY:J;:BPvYDd| vul|e 9z?%2{g8GpEnqxxn87.bO8dɣoyظ݌,>o'YκWOѻMDN𗔟\1~߃uծ/{R{_[+O%?ɏ e|+g?#=ȼ>^ N=i_fNݾϦ]#~>KE󸙺+wd5y,rG)eGX;[ia:RSn#- Gy.ѽB^}^{w~pznyYx1]K`=i;^NG6x&=KN_­=t"Sr<|Ϛٶ4th7h=[s*_oK*~艩 j톂o={v76n:d==N 5yTVo6~ur?v#_6o͗ nI)/ɹoy:h>N}P5pˮe71?FqpAce>d|yWKwtc>M;Q:#f<}:HWm uӛ #NJ?պY4+x|/۵v@o}:nwEطVO󉽗W2oo^'FIzeRϢ/qe}߭N'|ϟEN!at'o_\o`?78z\wkE-. ~W>G;(뵐8n$H-Ep;-*{Y=ն|x3~WnG?[g2$/K~l?vO_WxԷfW`p}N^cFoyx_Пt㾮/B6dFo[;9%ЧcƇxu[[_pB,>?!sC's/wG7gU̬]p ^lJ~kg1ȸC⒧bGV]й%Sй~azM}*w:m~y8m\3/:?X|2byW]Osex?}&Hyœ>Zֳ ^ְ6~OԣI_E~OudwAϱ=ai7M3QԄҗN]$u_+ںۋ]1lc^/xvFEJ3$k#r 13d|5FUz5{'~^R8OV *4zX?|e&1/R|Gϊm}x5= w]sy>2ԍ))K㣂-hj o04ong[+}x~ؽ ^ԅgGWݰ _Omx*R%=Kv'wqоQtn>ާțra.#ozouxdĭZ<'svNOԽcBЧ$W< 8pK_}OE58+x?x1ǧԑmʧr~/"-Ÿ/mGo%<0t.7ҩGwWd0ٟڷK7:۵:k}f{S$~N]LI5e?e_n)㗦ZO[A]7~o1HY){/6:<?x8j'PȩCF3|u8B^S/YnV''q^.k(uFusܶNTo;xM~z {sC*w;߼1>qT}iG>d vǸC19鍾Y0O 8Jƿc=3A}x _hoɩWyPޠÂܲ rCK7KnYg} #"чqӇ"7o_d"쓷1>etR┿:Ep-ʏZL^ XF ''iV} ߣF.++ߩ2Sݤ.j{E׮2yk-2<߹ϼM8~oyOȽg/7#['uji>g@Խ' b܃zƏJ0ƃ۸8-}Ʒr/373M\cr`v>bJGG_R?Ɂ"ߊ Gr/az ,v'򩾼_Dɋmxd[.뫸G#cR W䅏8yOͼ{CB إRڐӾWn%-h< ޖכuZCM~!?{/=.xhvFd>+Q*m󡛨n5uAcy؅ؓOI u@:I֋=;KWcpKn:C}9tZ׺V-ߓJO_ՇI%m?5MeW./|-Mc/ ^`QgQ{"[_8/㽈oD0#?2y{:X2/[!:'5[#*.OPx1_qO#uL>wO.Qj9Ї@Oi$s4Y}Xޣ8p^t>9VH_'__FqyX?.K9δF Z;|avEbq/"+pH];EoMѫ)}=>"x9WYh(e4Oq:gU?NJa[ <co> =|şogoD-MdܛT<6Z{~NpT>Eo:x'\Ŵ"obs_%z%sln3qh4T=dvV%)Koڙa79kG`k+>\eC;3ߙ]ۂ9(]v^1y$W^w:?o[W=щʶ9/ܲp ߰fBNsG?E(u|ɽ8g:f}O+ލ:8_A^%dYXrW-N[:юfxZԏk'♧K7=!KY}%ut ze\ۿ]2cM$,HZN㠟f|&8a=X7=,28O8s:e?b~r3VOaSG]޲?1?wz<1>v>}l0ջv~{}άvLW>X#ǡ,WKoII@ˇo.:u3ޢ2GLygǿq~8N6O{uگ'2QΖ; |.Gla<`hKNS}"Fg/ɱKn^O|Tod5/R̝o/mH–VWd/ oK?w֛gؓKy2\'yUg ^_Rc';~8{A7(C]l>Vp#|G] C||X|빘z>)PR[W>2xolƃ5,{h24H~@G7Ldfcs~-!jNw$K5K wgؓ},4pYz=aߖ9ami J8˨e4A+m^.v;֫+yb~n:8FɅ䅕[8:]*=\=؇N"ߞZZзӷ$'> tȞZ~Mޣk?{|z:oW@nk+;M^rR9W>YG)?v6psM*>Z֭ݨor{ >]ӷ{c7; _\!7hT&oK5T}aλS{?ʞxm'S::=|> MYh~x덄o=UӱZG?|0 {3KnG\:ؑJ ZKa2ث+krgo6 ]g >Pɑ92J/P<~ʮ쓸ors^sНb_}<a\ P?u oȝ?3OŐ*3w[عuw60mr.x竿 9]XGo}Ѭ`O{?Rs_{A}&8= 3ׯ`ϦO_4ȋvs;y|{b]/z葬_Ÿ8E)N;\&;7rt>½ֹ|S WaO&/5+%,|~+qpq5ޡ>[=k1.tˏ_{c^p?= sп~)o'=4 Й}t_{XMš?y"K!λ@sk? ~/ gr}7p`w.@:W_CGo`d[}3Ӑz EO΂=KA-w;Ip_{r`9n/*R}V{Oп{:y#]ǽ95 1u/v({1s%ϡ>w{)ϫ?9J.olO1=z9~M M!%SpGw- {z3H?s M+npg O{O#(WA  cl؝v+5E~\9tGs qߧh>Ϸ0}+2d x]а5W+i{^?#_Mk`\-7u•!' lQzu>E}{ G7DQ w>u a{.wU`x%=`W\|/ұZvx}}}3\9/|?MO5cnazOOށ:7r֜"7:zBO7N5g  ܟ 98ׯ:,ws?k\o'^л^ LP A7n:=vA?xg]?}Ϲc!WI>8y|\M?mn8ܛ@r偻_ $>O}s7꼫]D չ.չ\]ϷM^ ?y_ ,)~;נ릩ʯ_`i+sVj?;[σ$6j>oAEu`i|ϧ~*?TÞǞ38uCK9?H{&/>~cb^tۉ.Ձvhz5=}'S 8}Gܧ vǞ@Nw]hx4ܣ=̇KBnK&| EXq-/;Yo^΀8?vWѫ>{!OO=oNS/C/Au)7g͛I|aO5?W>!xhWyߝi|^[g+>zXɻ.={43=9|קUSzwvKYO~'8!5O\k=וj'F>ς-P}cc_9:9rs^oυ΅7gNë_Xy^Rc>8|+ONp8oro/a1x߶' 9oz/>O+4 ɹ|Etytxgqԟp_ }q{zTiy||AN { t:N{?|j/@E:IU<;h6ro ۏ=Ǟ ?9ۑ<thFw{܇Q~=@?~SkxL?~^ zz젞p!çXhȩ @*γguqF  y 'Ov? v';vwσcXvou{^5%'CϾtsߠW:d5\s$!QA7P?(<RŕNjћOx w_Byw{2,ݗA nW~ʟ<< O;=ާ{O=wf^w-/ |?S}ox]WBh}~#Wh]M?;I`r9?v2).Ok^=g=~">mЛ?ʎIؿ"O{S/;՗:v=Wh>s;M?|{- ^;ܣqT~>O~Sx?_X>8/7̫ wһ::CA?s$x/R > ?EK>c#Yzp΀~7~ zumy WCr?^qp=ъP禯®k)Zߝ_P+6o_d/!gJVWn%^ ]GWρ]7r;>;!y.:7*6. ;G+__z']xONK?䜋cЁz8rQ!?|a]q=gV藏!xI;.k^D/!_ǹMs>nkzxVb7uYc۱cyV?~cx,K ;Ԯ?tuχ>r xZOt%M̷yA/1u_y|)胾}Za9G#}+7>(ӱニ7}}oszrS/ ZR͕K7>~06.kt9<1[]w׃<W8ޛUUGv#rSa/whz9 6oOݎ?1{>{_}ٱo/{*_?C~r4_ܳPH빝_|t8k\弇w8_y1%gXَ^(j{ycF{_qQ<|ԏ2C5܃~W>~3)_ ^Wy$!}޷~.;Wa^y ?}7<'.':ݹO+ݸנ>[{v8C<{_yX':kWv9={ܹ M:vS)}TV؇4|xq i/ W|c'ڏS;XSz7{+xsȫoYyQ= o sI:~\{}=TCx%c|3>s K';վ| ޙ{#< 8A{r7;ւ?2^ȓz7?U1^K<h O !?0?ȓoժm- <ѻƩ5o?=nU㝎'Qzc^u&~8oq;JP~v?O?q]]R:|C8 ?HꝎOWW9ՂNT/rc7c ?BgCޢD߽>qbg(aw Bl? #pN|*1 EV ~{_>}mר}[so+jPpCGq)IrOx'7=Mr{[_}|@w8o G\>F 38{\r{x7zޮgяr6K+w8_9_< [~V] ͻL_}stQȞ{p _wo#O=?2 {[s :vAף {c?so? t;E#W 5o/8zð.y0Cx"aι9ɎGWvO-8~G—߃\vϝwn孰×9+'q=g_Fw4'=+|$o׃A>ЇT??yY?+N:ӟ.iWP?yx8GufvbۓpNzC'!|9c7p|񀣹mt`< r('t>;gl~q {\m4ÕAȟ/mǻ0?>oC 2ˋ?<zoA9D4.}GC/p9xwyru~8 ?Y/KOix=Ooo{f/#Go] g/\ط|űs~λH7~ǥB/5=~QscR*W}?žs9{Я {4~ "^~oȃ\}-#.v$wJ!oʯ~ǞZ~.O~׽Nv|/w?]Bz'Gp-o j;QV;&z_1FE_EQ_='?>ʎ轸'u(I{|gXøX> /tOx'li+y8MŰ/_Eoy*OK8WnAQx7%λcxSt5^ n?Zr? |/˝ _E}{ |a< T蹾w:NIkNFmOr(މw;J18/(y[q~e\IN?WJ>p1gŹC-ww1Gʹ.vyGa#C\#߆|m|} zͣ?+{_o{ ~ 9 <'&1xO?}DɁb?۹~7 sO&\cOߠyxpR<rS{aw?{!?|5|y,or׿B{yK?]_|gp 뼣7yu~u? o<z]va }s\pA܏~pY=dWv~ٹ׭ȏE/q?^]~] _pC9k[+i}){]ڭrO}tLiE/`ؽ<)||+׽G:vq]_|?W=N; ߠqTBNxX[O \Ǡ~{ru®͎}OY~Vro}zQvw uǐ'?BGr?|{H;M|ؑ\;(xYzO_#awc|+(?*Aq5]SaOTzCU#Cù?;=C о=瑓88~P 7IB >{~χ{ _|{$έv%_}8׼ -;򽃰xi_~S]&ܷt vWݮcgW+Ͽa}# #__~I3'ٰC)S~v_g$5q;a?('𾳈.)? }CQO.\v)W}B}'gym_ ';woϨw7>m7ñ?^uGO]=w_ayC!*Gz7rl|\|׽y&7׽?{oZ`D{ r;;~QP=bOϸ~߳{cw GCAS=Q_u?1T/1rGn z/W{7*z{';7y ?'&~˰uoqo:C?mǮ\?>T|uu^ ܧ8E?ԵoJPQa~}c v#_~2c؇L?3<zxT?^Lw`z2߿΄}WvJ|zWk8pp>u1ǹ[0O=oP*}O 7+EKn~1.G c{ #sO󻐷v8?PtB՗ʿ?{^T·^ow=M~~[pE\x((N:>tZ yT`%Zhl2Zxe-4]T%lM8<^bjp܍tx~:WXtR^t¸'7c^@須$ff$MD}n<5zc6S6anJDTIK[*ɢh(S4vaW,KR2*A36ߋ,".ZZ+caJ,fM.f0[,= MeF*\|)m qE+A/U$"D.ofj@g ?ɟozQ_DkX4Su09q7ʋꞅ`~tq-#fEl Yb}Uv2LQҍщ8_fe%a?R@'*Z:mUp`Ǩ\uqbvzuQPiyɋ,Ncy-V:X gjq?r2ŨO#Y |p Qg~x..!j14_8j(Kd((rT16ר.884K.#J:i/%9a堚]ąؔ 4h w?'?g ZŚIn5h]'UԉEؼ A+M" mf3𦈒v`fa?w릓r;qAs={|̤'ncYWy <}DT=#ۡ"V"3R!UfnbDItڕ|[XuON<+_T;,BJD%cL.Yuz$QVۜ=5cn" suaO0~ n ¼%DȊtmְۊ:'TcZvx5 4(ZA>`6\fEm|ٓIKl*LCp՚:NfӔG4tH9H%|#.5\Y:w@I" >w$i-YIAqr^cS2$tA4;Hr74nDOOhĉ9e=ۙ Q)yÀ on푫Qw% 6>񴷙R.!94A (>i g@`y&oalIjc*cQ <2nL,#T) HL7^xnoۗYi ɲlftJV֩0b"T aD ^Ed◜pxpO,e8Z,. Wȗ-II,G5pthXR5"z8sμdQ 9x/  JʷvfQЋJdIefⓣVF01N[MU%Ecl&\m)HMV#rY9ȶI ٫{(TDfHZi1+Q*)5A/MW^rwt>X[hlbt#"Q6ƭkb?1/54"3Չ9 ᦁ)6EpWṥyPpnQFT ` Ɲn/K@{jSW3K]ƾ6c>`jr8&'굩`j~X5dιYبMM4 3ZRփ4)%TAQ+Ţ/B3tUӻ|'S}!ӵľFuoAdSؾ)ڨ. ӵ>co:7];%I'˭/M6-LYfhhG؏{ ֜ R/F[M1qg@檍B5/잘r"B }Z_Јi7&Ku-X 窋tpzjVxZoXFΐ\j{wWg=j;&KU 9Sխm.]VH AVx%˧>Zlrb TN*@_'Ƣl.v3tm':9.1@̢Fu{3 U9X] &Eo&fLbu'LԌ^$| ? GDM/˅bm> >DN[ሻRN,,vz ,GkI&C[%E"S\-'q+@r`&OTHUWBn!u ;WŒ?Abr,EZ"d]u4Fc60e;'6g8h@S/CR RIyCP A\뵝 S;}fF\c\B/ƶ-r甌8P$ >td`X2m#rU̢K֋nJg#6MgڨynNBa4dQ'^/ӏt` -ȠRAĉ)щ~* h\xO공*eZO+i'1­ס'7t"K|ی0? Z)xƱ,e ŊdT.ũZ- B\/\h gȜ;$nj"ZɂH!&i*Ņ:EQ֬'Y-]x^^ʧNY+HzMiTZ-%n@JdFZKR ,6Ȣ"Sc#utV ^\L_R:`u^y-E ˊ`NOW'褙.Q,Cf҅{NvE$$# Yע5>,r򑺜JSۤ m Auʄ\I@ZKKQ]Ok*DF ZJXPJʩӁ4Ph "&۶5YHUXc&LEN0L?㒿gΓL#$)񵱸!&H$ 5%&ψ(p6&>1"t@fݵ54#afbpjuh+X.\կ*X5*V:RF}AVA݄Y=Vڝ!ҸNvD% WdE(r:p$"qga[Kj-LSH+Ѻ~RjHˮE8>9\U4,үV%Zv!o>D3cZw3ER !b+(Fv{\J*@XQy'O/O)qIޙV[QþFC7d̉7Dpɍ - $u%T W\?KЮ,~?Q\MWrY j.wh܃tIߛK5]FH"n{3.Եf"YyURwġ"z8Pt_]U! cJacZf4QՠY &B-6,޲0T7+7Sԉ}BC߰i]r!0˜:aEa^8tHMkhX5T:XaJ {)x;5Vw8^Վ'Dk׬!4E643cʑ!䖡ɳ\%Yy,qVV2US*%*cyJ] ^cbub:襭2O֊u'nsJ1,6.r8>699[(M~[, ij̈́Z58cW[ "ES"`!qO1 GƎuQgVÈ%LAJ.m)ZZ)M1kyqO.)L[asSpGiI'M}"caEyEkR0S XlR&H>R 0ˢ 10. AMdۀ 2Z2fՇ:m7JK^4N;Eä}Xq% q=[LZ-='Pb}P`yr:"~匿d8 S'Ti&DT%6bN44(Pa)>I(|BӋ h̓ 0,<WT׳!i6 bY2vR]cݨgD,IrBnK49beXqXq#1Q;)ma K8?+&FR[ -(3^/HHJbQTEaרhGY6z+U.t;24anٽ,B!: Y95Z!hˀ "24sZ `Pk"',̺ GrڦkVXOAJcüE}2DI[؈y! A](Wu&T='jrq-36j$:Iaet :UDTcAJiJ$jٺ-)i0 ҤeB7M)x!5$ބ4(hCJd/bdɨ#]enpD!(O`t$/t',lx>Ϣl f*0h-M[+PsCT" ގ UljEqV2qfiE464h LX*;jlgô\f5McWUY\_qfY aI#,xfdIdcYZݱra|RW3LIԒ'gOՃ%Y(Q맦NPUyJjM{D#׊N:"CS4445ձwxx ѰLФ]ClG.2 47'mqlr=ixЎxoQ;_urN$v%YDo*G^2Qj &̭"sP)K8A%րDku7Qo8p )v -1;1G_#J#M*"K@tm0s,H1]6o"̯W9E0ReFkg~D*م`awͺ2f5UKdZcbL$fR([=8}0_]0s xr˧n*}Co=mzqqv@Aua-21{V31--,MԦ&9}{Ϯi{Y.A0NM!9Mv+)tt+ʊ4&ϣ)*m^eNnAVdTy-)Eoó U*?/)3W$b$Uijmƥ+(+h5QO|e&ɣ,{sRF^\v)74UݝչYv0/vHș(h:h/V%K&P*j|T-Gu?U{+K`X i2]v6#ds ӤY!6 eշ]Au,JZNuQ@ߓ[6. .}fPG6W2qļ~ A*vGI^o:[*D¾oeZ%dE5V7Cͦi9fe(O̕;NxGfJ8 eLi=U'c㛦f>vQWh 6VK-0Cy[,'1sl{ꙥk/I!ߔHyh7DI[wHS/z G4r! "b\r'{NA 8ڬG ]ȮE z瀎SlNsةkÝК7ɞRc1rQ}HOZCj%pSm;HVշ "[fRPUB&87Ľ^iqB-L"gA.`.+@PNF*dSW:*N {U=b<8ȑr9 {?)~>=)a0_ƣQ.գ(#s%bJfq&T$(˙ϒqΚPEIwe~6uyr8F~{rUGNk}A9,Lx)RtXI ~gfݤÕ>$s"ى2ݍ˺3t߃fih{A>n*u~fp0"K9uj/ !)=#t`9rt 57媳7\wuY 4.HNY-fz[/8>w c*ä}^b*\]UhQ{Z:I7".=Yv)JQ'#&FGKa,_MMI3i'OE0Dƙq>ږw!ɺV=-)K%Qrcmn'9=؞V8:܈*{)mGl.Į&MG3{`{sCG SC CU YuB ]oܝ&h,R'2B, {CJԍq:˞C[r²hK,E0eJwʣKX ȩ$Crqb*ALDe@ I.O) t$1ak9jT $HटߑTq'nEDs' ^vH*U2@啦DL0f\"ѳc8bC8 +yl* C^˱~3df+#ݍ|5+]UJu$qZzɹmbr7-)Ȉғ-bV,VQ5|0+I/%5Ez;alNH6:}Gtb*Y˸/^Jhz u߱Zbey?Gp`i0iY9Ff4i_P$J !+ژx8gq`OY t[XY=RtV Y]™'jM'BKKe eWu}5m`bot]3]>IdP}DjJ%׮r &?DPvf0_!5HY2,N;䃌tPdv:9=1|z}5 {=tp@`gv)ݞҩ^Rtm1e Jw=]\!ԏJoIU"m)Ɂ.3?%o;;?-7CsD5|X*wjsJ H}\t⮼#+F%hTp0(F={Ex4(?N\] QJV =pnsь\!:9L0]r.YB9,&1vnPY$j[j4:RP0r4c'sy)nA4M^tm7+% ]l݆S9ڃ[M8׈6:qy>X6w6 6tD kfIFQAQ#̨x=Uf;op[.'jp5#d۔EFӈ4pX,GI!iQapSPn/Z6-@ ԇ1i#H4/_r.=j6`qQ:M[+k((pxC{ӂ~Rv4)/yҀ`Q&M *n,Q^FD&z[IN ŚzjjUV1$f/jX&~FY?S7UWw!10nIrRk!fjƘ&m#L5c_=3?cJe0*(A.ͦF^ o#J2!FSk5C }>(^}B]"zzpwM7@SCT@O(CT"r jKXYY)}:"9erJǁ,.} :;a tɥ؇iM2Yw:؍^*VJia LǤH睽I5mAY$rM811Y$Yd)y4r1$ힼv({a{B9s56vO˻yޓyAʟ@?ʺkuY1lfS8Oo%KE`Bf(ZlA FhXS oV\#qRTÎ#U$7ZC{ʉA qLq-Ȓ՜h]A/^0;Ey[RԿgÝQ5*j]ŚZU)[npkFD[ݸaz2JZ%iY V UGxF^腅DɬE-Ӊ{(Q-xBiD%4*{>I/r\wC|Rz1erybd[hwԒր^bI3םCV3!jB&Tv`@n9e edO84nWx‹=] <8FSrzNæac$Q !Ӥr'ЌݭdÖf& R4 7q;[Y܏MM=" \?_^N'NY;N"*MX3ɜ]뼨H*;3+ 1E *-֨ixke܁om m*mA!'7N/ Loq!fj6-"%L{D1.R6)pN^%%|YIނuD,;7u3(ZQ2c@\/v @(TŘRObV,zw]Z9.S&R9Lə3/>.b#@`\nUSYzf*U8km6e1ԕ+i0>=^kz4[fǹnSqe-6-N) 5|ݜ7:`YLne-Gk 3{[VATk} J>rC~tR#\o}uB%C]7sjVOG&^ߦ$3].2 3j=WSȲsd0,,x 3'oB9*ю(+b/fncSLZcƵO=m*uo 6(WU~mޘRG(T6#979o-# 9g9u 8G:llGa5PnUVMԴ3x&OlAFr`9 TxD/_iϨjʹ̎+TunC"F 9Rk+%VPMevPRFIK7+ՎRtdɑ+阊dCySB_hBV:NÆDZT\KwH/>؃;2ړШ|bG16(G%q-\lNd닀|[okJ}.1R~ZuKu^5oZg/;P٥F6)d\EcХhFɦz4JٗfId_moԢQ~y!ʽ VܴoZΓq$q^A#x5]V56v ^SX [ʣ6h4Y^؀|YۺXƬg;ɥIe=5澴C yYj:ʃ%`Nl$)˵rp.)b'.oxa7xEB Vv[7ʻ]xI [_۱1%6rpi[)rR'7d,e񔇧dg,Nm8TVmI$R9!M*ơ>J]^ W@zX罠ӾӼo/uKrh[0 vʴ?GYiܗQ\5l%gMiq#`{tHwlS6İo1y6o J{jbYKw*Јq;]vdey4^BLAi u›m`-h5[$X>&ro@}%d!*d-oe[A@E-~!ʈ[6-:fG&pnyUgCa Fy _G^v"eUΒ<> 봶oŭmY6:= }g@Qa')ib- 30 >/kzI1;m[Z{2$wEgVu$ó+o="ç;WP2i'\v" xeaZ͖蔋yڏ8k%&qJvbNI}Ȭ6jE\񪃅aAq[nvD!Ce( Z+r_wjUjkiUm?Au<9Vʍ` &.MMx`E8;m(Vښpׂ&smUDHR64If DIn,NU@ S1@b{Ju?PUyJDD%>Քd+{ԝFvoJ c|HY=ȥAk9ꫣv²/w*߽2f=Md۷}>AxQ"eR[B:}p@iq2TUsJSx.+?-,.h -z2hn1~afwFFt}F]f5ڴ :Mv ,&_P.QUNx.mfקO_\2YJbvp'NZKQgDXvOշJ!Q*J)L%zPZo,InFF$/¤ՊK0# "}0/I+rr4> wjsSBN gN-+b!4uwE)׊2GϬ&oA> V |k]ZVi1kΖf쨙?; >=ig!2<27;bK&bP߶ iL) e.-"Xlx$lvQv wgg˄e1ڙ뵝sŪ5 VVz}lb)¶<,})> L<}dЧ+=LMLYGY%sԘ*i<M0gNMH$(Vϐt=6"4R}>F hY b㞒FjOLxJЕRI۟<5n.]Sgm.=Ӭp֐Jb=\BwT]Se$gVݭ#JB$U|x>!YG(''CN2H&}=+Kyx(v. f~i]iSqIt =N􈺕U>Єi-qL Jh'@&H 4+r[ga&R;q`|'izzQr.ɣ Jvl8)j8wﮧsKM#a4ʜmk 7GJaPFu%{;']ío{#ܳ / k&F=%&jazh\ZZ gYڸhYԋsO'9{med+d*.8ZJ;cWsno1mhI5NM5 Td;MͰHqCV_EyguE3,-A?ly48@krq984˹[0f#P;D_!S!"#_f|kkp- _J^zugGaZ/~}Q4něfq/|=/}iF@2X4RcӤfpPHᣮs'V+43 zFb =d6,k˝Ad>T2aiddBAݨQ+-Ld%[\+YpNa- 5i,lE0EMuk"jcmAu5͇UO,}FV{?vg,Lr"GVsAѾG.*.?~@+X 6tfpv:eRvƌ iM0$2Z%@TP(*ZT|  }@#w>g{}z]_~g}v99}m]y2YwLk@X.>!w W}Ru4 GcMIcδˈ/u#tO8铢:tʿtv%o/eNx9$k֒8NhIֹO%IWdՆ.5$}RM%ɟU6grğH]CV'FA硿tu7w>vYZ][FjvnsD[=Ѫ殶b^.:j_7gP$Qkֵ-JyFJy&(O.b-Ω63إbo=:50,5xn4K\[Ϧzy FsAncZEt=?Ό&bqt,赌878>V!1dljx`0EM*Lr[ UCi'JaVg5qOy91:Vh-ͤr M-2}<)ٖ:sL%N UK|Hi&C#QF"Ez32z(/WeHei,uX//Y-W_pKx қ79jzQۈw6>{IoѦ3*ۛHm}V)&ގF= Ʋ{Gzkniiꊭnjltuۇe}ħ (N-\u\p6NmqT%[46r\ݾD}o:af0Iij#ÞMs1$y l\b8*ӥgؙT.eZ@"L(#Éj[j{Uۿ*S}tS>}8G͆_+}q{{[(-a(bйO7C͏bΎXvT/uvD_t[uJַvA9).qԇ)&&LĘlC~7w ls2ΖDɫ%2z:pIX}Y=&v'MR 1X{' .k\ծ:N ͦn"SuNjJIrG-&ªKåjp{kwWKsUIUz1(A4jήfcnɼVgі2s?*s5jQ&ٙ;RǙV?*N]Ն-j}1qۨ. is{el-|OͶꦮoJyx0eLfVaCID y:28neʺ7ƸL%A99V %nU]CSRSz2:'#jJfl :Όiy&6C%P]2p?QݰRbDPb݇6 ο5g=dH/  C,HgXu=ki(9pcҊ+ϸkAō2r^m0Sڑ?̩-mfe5IHʫU\&ޗʥFm$*bض݊mvsr7Iq?0W?UQyRA;|YXϾ!i;S5'd[IxN/t:FrH r>$U&EWLʑR9m潛bxbc|@j^#`UkTrB<Ntsb_:MF7jq}81<Qބ|xY~k޸cz>߬ɝDbtu%9mb*%Jx.QK[ĥd%Ls/Ѵ5NX]j2gZ)G/PC$Q?QwϹppSbK XM-\؟I% LJxZ6 SjYKWݟO||N;2@bweSp8pwK̪!'.sN $]r^otٕ8nLpYq6Йv֑VR)}ߟ,72|X:$W5D/t Z*tV`=z/ޘ6;l[ۦKo$lsR]t{%d)Fx< }93uQam6,*Sl"Tδdݕ43lbmE<֤Wwh wzX&rig:.-gwg@] I_{UMu T[r#07sfжX*hhj?TvuϖVw3o:Q͹Etou{2־Y:͢ѹu P'g8e~i9/Hmn_yVfqeV2akֵVe>.JV(YgkK[[EA%Z:ڻ[ۻJzViu7Jks;vDk%ZݶF&:dbH7';f(1J %ziD\ChN&q&Уʆlj(=0nj{Gsa娾Q$N i⥲p mAnaRH.(ˢH,/0|^&\tW`;ĝ[uWŀ4JU+EJlvn(p_Mue1{gEjcXmnyOs Uw;cFve+%2X+/ι\&2]E]'ܪ]]aչroz?ɵ// vެvW:Lj}3Û3Hys7˱B;N#&Ѿ ߢXg& /wjP>3lv^ݹjʹTMˎfzJoj0H:@68pnHd2"Vc4OorH.z [U7-rTl$- #p9%/A\wTo9 M 81$·:88)[pLR޾DɵGX:u2S7wI#g1oRR:t^w 5dxF|!4t7O!s /v{"?ϒn }TPC@ztc"kT Hp r߁Nx7F) w$""q\ R#Mn_U=ed_Im6$OSg4-ԇblJcH](;'s`ҢtQFcҢؔQ8z3tپVG ޺9ל1"[#(rԆw"Αѕm5|Zo>|WݝӖyŒl2yBm爷}i;־-VK!nuOiO,^|ݲC-WT9ě5e*tFb-بڝMd6'2kU?Zf.4~vL.r6=*5+3c]Z0t>kRhP15ӆXvfh'R7;ǧ  L5[LfDcb_?8M@3_vyjOd(>_C"qVm.\yǀR6(o*c8[8)ֆN{Ye ~ƸbJll)܋բΖgDq6Rݟx[6>Vaq"VWqU9ce2T>8sq[6UK[#Ͼ"ԋ͘Z!f{!SiV lZYd3uwEmR(]6MM9bZN 0:"Hes3+}6:BYQ}k)}oY*;kMHg[{$QwW[\Rt?}$"R?uEn$>%)?a5 upq_QO9cIdoIeFrR)c e--:[6RwZlwZ…jU.(uuMfU]%Da uUOQIVU5,7BК+9r$.Lh}TcX~t!?_pmϽL P짲X6 麸JJxݨ˟LΪEY\ .~*˼lq kJKZ>䕪K zsҋO8T{ 6bm_P UP FtJg)о@Ԫ07H/lU(GD6>ݛ5`qNwi)귭+ֱD75|0/Mwn._fn Ċ$fqΙ@,5I~X|U8b ˺,P:cX+A&KeT_k[+V.|(582qof$Knŵu;qmr>VٔE;KsZiطRܖ0[{{koEuƑ&WmLEؙ-GڶeeKo z.Q20_PDzp母;*wݎ:ͬ" FA޵d;"͍ GwI)ZOP^gE1H& []3H g{?0p2]ѫƌ:c3c{+&L>+7TL"29^368)sA9 N9=r4%2N[3:iF<&s~y o4=FT ~퍆 P:`?`;Up`&,U!ȝ w[vќޙ}#/nV 'nTrs2ԹwNJ ;OR&:p ;9dSbt0͢?=~\ɆL/3FLཉ|U*o'WFsˑM4v=U"V{Yu}L,1^*Jvt."dwGypR.oV(2}NV] _DތIEpI8_,k*ܢSWNlmeL*9 Υur::85tmkkhlnk3;~ʺ)@18le`bsbPS+tĉ~SR!E4ҧW7-OKYۧ(h#56xsŏYGhPQeV (v0`87xc1r9ѡrZq&yyjwnZi^ez$ !fw`X@ߪp+5ͦS}jL|4N:%17h֪z"p4էŒiw(d@i<>cލq<ٗH璶x`Tlv{GsQP<5h.\KG ՕK=K+-חId'ćR['܂Noe}Lȟ#cH'AO)џ%9꥜03 E[ a^r8 Oi&~$TxsiNT6VDŽv EѢY  b Cqtx_I&amo>ki^lKΎZ3ξ9 4>͑.m*ֵ9jj+U][>."V3V?U2TE?"@@N}$~#TnK[?"zuk)1DҝK[No(0e?0َf%C޹]\.n=6> gm#Y繜{5/²Yq)y1;QcT6'΅Lc.C9p'n{+hZl ܃x\[]5wyaoWd}msW[V޴ 1s~(kJlLje沩>HvYgrîZ׋w0l&ba=o\E?WɼJs}fqddЯT_4_}4_vD6YκӍ+X V=_аTrq b@^t It:`q'Yy8e2wU5 ; ySވ", 9wxlz'N-1*%حMuߙN1QwGZ!mѐ-}}=`*3LsmP$3ڞRn׺UݝױC3޲ XK{`?AYA3T=݀<:dP|Rwmx"mr6V`8!V墍{ABoon#:#x"R9p?pXیS9/:A ďE#Ƴ:wkټ^;{:]f] !n|F{bLqH(Gie z9#ٴbZJSLGs.)(Ȼi?6BQxXh S.8s[yWW4 GUj3ز4OZs^mz12gW9`gGSFe: rDuӓMX#72nbLnn1gqTtR(5l^JkLʽE^O݆j'w7ڃjR-C߲ڻU>k6'ɕ{QHmC[C^% БJ< hZP܋m hU&Gs}#gk_/Ucap*T"~]MmgYjQΆ<3䕈UtT_~o0ґgl;b!d-t){!zpm"}/FM& {}7Xd-ޱՏ}Q,rvepb龒[3 ,}\Iղ>w rY^}8`fonxc73'o6ϹǨHƭT*gm>w`=6gÉ3WKY|ÍY%qϘKg)L;oD9k;ns٭-{%8;D*9m{?θ8%˴dR"܉s{Oˀ1)uS!Iwڜ}UI옛}X"%V4=S9w(gf+sԏ}NU2@ %˫C}Qx˨~}9!k˧2K-e6fW~5}V%>Қsi!)5ƺָt"g׺;uuUS.6pr2MN'"Ťw(YެoxdFvD/go )7Gγ36^=PoXNTVj8?:Sۡ괯JTuhK7k}~B7q mJЯTozM`9pou6y# ̷Ggۑ| AqKvhn? tesq$L`}Mׅ?U 6,UVTQ-n"HƽE/78Q`nA YnMo\A3;/oz0՛mrãCIn eQ~)Ab}Sy}Z!Mg\s2N2S7䱟.hGo=tjiZ}7`bF% (Z4>_Foqso ʔu}ܷiZb"noIVįO L5`3*?79gˈbٍCڛN-:YhVoM S_kW4eEem׍'fuoP^S+9.[NJhvPv-;;uPv`cwQ]./#ô8}?듿oz-qk9bz\KesT6{ke/XrՒݱuр6TwF=Y_K,>{Q'Hq#$728rf"&rHlr( $rCt sN 6.8jIvdRG!k7I,_ҰAB@ ?omox mN֒߿ٿUmomo~j'lY]/xK5DvvWV;{~C H1;v #,1A ypq&xQ“y3H$O/^m\wާZcu[OC5Mhy:x $gK?ϓ? ? Ri^O~ M~'D0L ||UhZxaZ&x=x<_ $϶ɧ_ H^O/O?L'__~&gO~C߂oG'ϓ ^ ^$F&?^"?^&d< dG%ɿO?G''^ P$_$_&Ge/'8_t m'Ax=kDC@0  ! h'OO//_ '^!-3x=ka(jx|jď=QC'6E~?̐g;f/T#a~ڟ"ӄבEԿA7߀zFo O#/>!~1 BY?nOxw_z֐!۟Yi ?l"?y"/'y'9' >A/|C!Hϑs|9 ^G@~2|C~ y62|yvB>D7ɟKw>Hx%OҒ'mϓ ?a%A;,ډ}7:.lwG'| i4ya\^,@?yOħwF"B,ySB| a ;)O>i'OEQ@&߇o@&o/ ox2?<)os2?We~Ke~eo+Y';: G@E2?yO'^}ȃ{J>4?A>Ww'y#>$C# _F|%>M~?//o[Y?YO~%~rY'iWd-i#~<0$=_ oD|ST7">BޔD'F||iGiS?O~Awï H|Yx- :; '7/q5$ x</E7coB4g%2+u ג?'B/#>L!J$ɛ߅s<ϒ!YsO>O(OScY?B# 'g O>"d% s$k|lD䉐4ɻ?E>i,\.f'^?y#!~:Yϒ.O^w&O'Ǣ!~-YEuAo'@,?k^1YQdg?Nn8N ;Gėp5/?7 OPħ?Nނ)y?y yI!>B~?yPd_q;O:_!o_x-y<  ?Ex|+?/^$_$yОKm2y>OW/_;Zix=o!ã=O~I94e'^! %_'?"'?>I>M/'esn `E?kɟד!?'%?$?'"y>I~>|*xxa< B%ԟ|Q1O\O~kн"|< A}zwZ!Y.O"r!M_z!? 1ħɿ&@ɷs}@>%俒''B֟< z"Q.yӅX.򝛰\oS]"#sȟ&o@8Ǐc"~<9&y\ {.r#X.Kr \_7xw\;E\.ħ9O3|r/?K>'G+_M䭈]Qe'P9/˵7\rP4mrg!ėɿoqvg~]xE#e OpkCkqAasQI)xNx x|qJ|x^&?>OUokד"? 1L.Dž? />I~%|zxg2=yMdעԓ w$<y۫"iG~8I~L //#~|^! /k:C0Q+Iy? /{uɏ@|hx|ÍbΓ4ڙ|"_ $=hgryr89w=^K'C_ɿ$'@ڡHA,yE>Ջ#{q#D||i?"~<'}uW<yO!>B>4gdɛ_#@~ 5?uע'C ԟ| "ԟ|#ME[?N>)OCF|p/_|$ox.&D7KQIry==O~ _IqO^"%L0| )TOx-y^O.K8BaN䉒 /E0|t4D~.Lm<9$џGɗ'qx|||}Lϐ{'\%||#L+ϑ/G3mEK]]ɗ ~ g8g?<Wć_w #+C|Px ^$_$O^"^&|\ϯ߁ྺ?%^O$f<y3?Fuԑ8@ O`C8HLoɛUؑgʒg|yǐg G;G-^x LۃA{`<xJx\=ؼ_KlO6  %+v,L<; ~_; %ӎ//uɟWȯ}|D_K%?CG9x| '^ ^$> /_ 'ag |TA?!kȗkɇ^OŻ7oD||&Ko&GE(=ȓ$A=䟁ɻN 'o" }3+ b˅zu$5E}jE|񻘼~iw1 Os9\:G|!"܍?y?d9,M=9TAY䉐 I'/'ɯ> 7_#D> '^!ߊԒx ޓB^F/'OsW"~|^"^& >O7Ã~$Dx=y"? &EE|Bxjx|^$O? >|["e{\'<yy\_"?yã9xO>^! _^Kax?Qx|!Zg)ɯX%H'Ԓ%?ys3 ݊f,9JdyfgQEyc/^!qtDžאX:Kx|Fiu/'|_!?^"/~}V /P9g<_ EOfD%^W[ s 0 s0(g%6ߦV[i͒gw!l4Fsm4Fs' hoFs<8>FsK6[Vh4Fs+?&|&r;ho@sOB~I$d'ѐ$I>$2q!s? TOC~R lO!s? <_nWIJs?iXi'~2O +d|WJs?$VnWWJs?)y|<h{{cG$B3N>WN!o§?/ߔuUP I>%M_|to!U"3Oq{ G?K>e{^K~|+!⃫t?[^ 3*(y Ǣ!D~k؞ ?w0}䍈/Hzԟ)ėoE|p!,ć__ Mԟu?{_&V ,ć?(ш//''?^֟VO?PO_yR֟ %Ͳ{#>Fse߉]֟'dɻ_"?ވu?OA-O~ _Aɟ'?6W֟|1{?с"//A|TO k#>L''_޸/L^s"$3Iś,y–ŋ䏭-'%֗%>j/#dɴeX@ǙE8>)Y˖ .,8 D'L~-+O1{"d/nYvXò,oEPK;X;,@%! NK~\^K q9M~8+bn 4⃧"-N=O=%h\EGste=߰ v$l:(7]͓Ov4o?,Y˖`yx˼]-YBnwlOO=-QK||A֟ ٞݖė-Xu Cq,%>jϓbucqey-eK|`%_[ '^K~l9>O?inO۹`&<W MS"-ϓS%\),WI4s ,ߋ%h/f9#߷ '2~_go 6︓h1B;o>N~$| ;][F-O?ݒ?f̒?fԿǒǒǒ?nܒ?nhFK-{i;| 򓯸}>K|[-K|ħtoē_3Ssm K3,y6Yɒg%Ϡ><I'y>eXeXeZK汘>j>f/|1|̷l/re|˖-}2-q|q|c',O{vף'߀O︇ |9{#:~(Ch ?M=!x|||-||=|>E~lglgv&/v&l'ulgd;OoL~/+۟ O'A?ߵ'ڟYȏ/ҽ^C~28| !|8VoO~ld?(۟tF?ߔO|7ڟ|oxCicOOOg7gɿ#&|| א? #@{#{ȻiM1-qçȯϐ7| >G|x/!W ڟ›5OGbܛ IK/ryߏӑ UZ6x=y "_G'Iy'Eriqj|L~"|&G ~^Kx=Vx&x>x$KM%x2xGyxps@qɏCD0yO BM2s_"C>(C ?tZ!S!<'<çϒ)2?e~s ? %,,,,_UO`9ċ~C$#Th?+'-[ay'K)y 292yR_7I"yna|>O^ O}_x`'<Igb$]"C3KE+|\{@-Y>&7~ ?.xy#? >N~>|rUk9)'eu)F~:7 wÛ(S$ȓ'_ 'y&ȗ#$uGȟc}q; ȳ@3+|/בo _L#O|-Qɛg|E-r=!4!>KމF ԑ/oB0X<oS$!~S_B/YL~!̓`nF_kz }M߀<=bIoBVďWG[gFO,#S&>loo `$WG_!O=yϸO~#%J/yď Ih'$s!B?vwבo"? &8N\/OɟO||glӱ#+~ג'o /D><">J~$4VG0 y` rב_oxi"a;z$@$xr=߀EoyBgėȟߐ!o"~z[q%_ '5G-}Dއ<]|x 'O&^&8T1G~)ߍ $V?^SO~/4H3Kgϓ_qxA$d<%G?k9g)W*>yj_F|ibG|(xpIUl#_ArM?A2?g1_Wx-~r7_#ۙ䉐 >JxRɓGzɷ8+3I LWߏY,#r?N~0Tȗ~܏G_GIxr?N~6_G%">M~|r?NKOIɟG Kr=?#58^'^!_tu/!O:ćaW'JC|4g"'E4K`)ėɟ|/䩐{#9yȏE|=y;{x-5SO/,D䉐Q'oFK:̑7"~ Noj,^G'4,&A(x|o# `"~3ISgH!%?eϓ<!>!/א/E:o#FW"OVGnxwr}7cE'?AwW! y%"oEy~Hyj}' Ov\ox<<=C=S ->AB)%x<hZ󐧞 o"y"1G-$y䃈8wg| '->M#)#yxy_x`EZ D>ţO O)ħ->F4򌓿'_@i,3Gq[Bױ?LIX|/i O >d0%?=O#ň/XHy&ɿ)ϐ<#ly6䩐?G^Cލ<;~s?_e"(BVj.4Um3̈=(21c=(B A{,:k,c:Xwuιr8ܹws/9ϩ׫|M%iówz:< E=Q/WO ^W>,QVo/u+i(rxT/i0|#ROH' /(sx'~eWU[Ӂ|^N=AGkuxQO >\ÓiI*qx>G=^丹*lkoRO ~mwGǿןR>$D-PO1oՓW>"J+oRO>O;Ӆo|QS×(px z2)*"[rxRO ^U&s/(qoΟ W*txϚ#WcO't[g['IKV:|z3o977+wx>K=aݧhOSOP>w)R*p+px ~z:UwA+rx~zbo;< ϩ' *qx~z _/: _*|݅oހ_|C—?8<_|Qw' I3Փ|E)W^?|M/ ?Ky_ V>(=w+px z2G:<\=Eߕ/9N=5x[ÛӆQpXa‡*sxzRigՓP]^QO~U#ӄ|xy=A4+qx >K= xA]Փߢ|>)U*@(px ~z:]'fqROU>s?Y=1&IIug 9)^_*|57WKû8<_LVO~)g'yOLWi4o*txzv_WO o8| '(uxz9ʗ^ oRO~&Fs/V>0|D*sxzRO;< W SW*0G)px ~z::ŹE=A9<?]=14a3/QOEW _ӂ|]2x[w'ZՓQ> ೔;Z=e+_ROPӅo_|QGoR>sd(uxz*_rxzj7; _Wܢw[ᛩ' | x‡'|%H4 o9tA4g+qx >K= '爵,as/QO eWH[Ӂw:ܿ#? V>d*q'᧫' dn\ࣕ/: D=UxLnᾘWO~Af?| >BzRGՓ?!7UO3f~N3|?Ms爵4yo^[gW QzZ;o3,'| ~z_O9<?E=9:W^2|S|o#si(߄*oUO~]~<@=]yqEO';'d/QOu|Cބ/5}toח Y6xCyigO c /67W^d3o9ݜgxf~ >#G1Js|< ܜgqS6Wʗ?ʫ_y|o*o13Awszk}BIwV>Co43#9)OR?S^WO֧>]=-5ʷᷚ9gC=?|#|z)x?@=9E!)R?J^Ӏ??oOPOk<,]QU>/R><K/9D=5ބ_6ow|a?P>|YӂKgS:uSOT߮x)wxR=a0#PO>|iԓV>:T*|})px O=w %yCW>$|zegOWOEf9| xB=- kn?@=!?Ǎ:<?^=IxG3zr;?G=eZs5ikӅoxI=!fʇߥ8| '|y_S|x]=5>ބ6p;g:< X=Q9wԓ_|YK^Y[}W^o&Q[%~|1($(tx>I=Yx[ zJʗ^SOzn:]S><|q''' |9b+_tx~z𓕯9/+vx~z{{joSO~Q' T3zr)wx2M+_VOMo _k=o'Lão|)jd)uxF=EdK}t| @=m87÷POS>|zRkO;< <|%Q:|z|zU7# W+1zՓo|xT=%x§I|żz:C:ܿg'?V#]|Ix\=ix^sS_|exB=U2ko竧_|]xR=^LC|qxJ=I?O9<?\=9^Sw|mxF=]}IU>(<8| Փ|yxN=E^K3ބ͹~K9W(sx~9|Yxќ[૔/8_j-U%4;oAxٜc8<_n?O:< |s/2ʗ^WGo49oV>s߯|IxݜO+qx9V2a?/9Üktx4矃OC>L9wR> |9S>"m?W^a?so: }{ڜe»LSYutK+>R&ܯ6s{zAD#9<吏|igywS|z*: ?Q;s~aK8<|ixD=Y3^OPO eWQ*px >]=wOy= |stxzbՓU>|7x^'S| |G)vxTg8<?H=Gԓߢ|V>"<2e+Hzj|zBpzn:< Ϫ'ZSG*ux3.ʗ^g?u7ys|~w/_|~#`?)sx~9_W>,h?/8u0W5syzn:͜>Ac|ixŜ 9Ȝ)_vx^5Y7ނ?i?%w?5s߬|3*wx^7xCsEo?9Ütx4#qT>-7<[?HXyʜg)wx6xAk/~Mߚ(?96;'?ϕ:<_W=EKM/|>Aބo6|r_['?V y>P=QU!I|YP|z*W^UO-w;_Ã) ÷R>|G$;(tx>S=YNs PO~ Yy~1^?_b_W(jO' o+e?T=x߼U0y >^ނmr^?@%ɣIy ~</e iy Wޅ待^<s QB'qV'`gdʗSi_|~ ?<PH;nl<+fi'fU|5G^|V -5wl[<ߏzK5>n~ٽ#|SOz[iyyOP*|y/TRp o9<̜%O¿4^G9<_wa/_txF=Ux@F_߀?_=ןS><Gԓ|xX=9'^GS|5xT= /7ކӅ?wzB;< O'oSz2͔:<O|xZ=5o3i_3MNzV=?:< ϩ' 9<ϫ'|YxA=y< /U:&<|xY=W|1IwS>4qd)sxzJeWϨ?F[Ӂ/Rp" LC_WO W>$4 3|E+S߮| '(vx998<Ɯ98<ɜۙËp_sqx z)6|}t᳔j|c+vxO=qORO~YS|(_wxVO~ /R>0|z+9<F§'CKW:|zce~~ )qx zI' ^ S|UÿWht}7sӼ~z!ʇ|q'Y(qx~z >*¿5_ǃ*%zn77^6Gޅ_:'?M( ~}]+?L R]g~zE)¯5rT盹o557w1xUy^A?l3w?G+y <֜gWySK^i3C xQXA(Uy 2 V+*|WyOs~| ~9?3/_|<ޜR> ts~oD(yy(߀*oט8w)/O,P3cUOH" yO=UuPO xKU,|~<—9'' J3G?V>"|z*_{C= x?oSO>Fy_! {aG g ২'(ux~zZ+ S^Û%iOVp^Z=ߨ(ZcONQO^iRYAyÃWV>M$ktxOd)sxzJ!ʗ^:| ߫|szʇG#__|~#|u|O3G)T_rz~4so-? C!)ux<#GIEg(__nv .%}=|Qx\=qx =艹 |Y~K|u7ᇫ \}xX(tx~z9<?M=)J=ԓVBT(_uxD=Mʷށ_߅^/)wxT=aG/SOIw' *=^߯|eWU)px z::ܟs —+rxzb𗔏;< Üs*qx9ZM+9SSs΁|]xǜs.U`9ە:<_$ S@+^UOR {3GfiFM66z.|zBϖG#WOߖՓs>LOSO~ׅJ=Sϗ)y>K *߁']{' ^I_W>,᫔/8z*o:O |tx~z|}A G*qx ~z'/TO9'?FëS|-)(uOx_'/)rx~zb;< ?S=i+gC/SO57s/VW>OT>8$|S4(/¯1t+3<o×sP}=ٜs;< ՜s+px gsΡ+ux^6cʗ^߭%o5xS}o?AgcO5xz=7?n?+~-znʛ[In9{}g<9R>]s΁|~#s΁_|~ s΁/S*{s΁?|#|9w9^9!G(WI7g "| -9Jû_8<lqT$˕O7s爛y窧 I m3GxB= G7_9“Rw8|<_ gʋ%m E/; ]=u\oWO@z\_aIx]e$ߛ}9oC}Սo^*|Gko?DûM/z|+uxz7O9<|ySfMzn:<|]ruv %yI^op>EVV og ]`zgϗ _| ~<?D=)xM4,|z/POyI/&|"r?|/y;y~<?G+?K$ O/VO~9 O+_i~zOof.[ӁSu[K~zʇwW>?X?4D3s9~Em2Es~?| ͜o+߆jלn>|Ҝܪ)ysOU6?*/ OW> ϛHOߧ|)|z%3G&|z)w}7c?TO~A_axD(sx>M=)/ʧo;'|~ W^ﭞ&[W~)+8<O'_|ixF=Yjs/OUO : ?C=uxD<)oWO~]}r-^_ -C߮Ózigߡ|E ?QRyzZ{o; J=[~ϫ'DՓ?|y3G?ԓR>zs ûܷ!HyqTyoYIy5QSn&¯Gwc)49ns_%¿4 <\o*?7?{}~$yyU>?JdOϓko;2s)oW ʫS|#z:¿5sCs%G#o|'cՓW>QGSzSge TkowVO ~|U!z `y~YxFj~<H^_#Kny }e~"_7-]y?ʳoE]z7[w(§ˣ<G,OÏy~wϕK4 N6z $)tx~y~_Q>H|U4dxɜ߫ nSՓ|~<F=ExZyzjs f^r3{<%Wu+O}h=  |{yu}> }rxש}^o(wxz]uԓo/P[' (lZ=%ʗ^TO~ <Sx};ᯫ'zb}zNsOVO9<<"<2s|o-g ?P=>~;V=!R> X+?N=I@S T3g ?D y WO~M56rt+{|>I(|zԓ|z2ԓ__%/WO e3Gxܯ&AނOWOh>3!yyi ë>5HZ]6|WyzxH!OU> ?SN=IʧKQ>Y^2|^1s|W3G_T_3s]ROZSz2:<Z=ER ~zjpux@ބ/SO'' ?]IKʧʳt_(_oU=xTӄP]sys Cs|~<ܜC+,Oc!/ 69ef=&?B= r^'|<XE$<4l39l*_eQ~zZo_6s/T |~z"𯕏»f ԓ󰞛+%ck{ӀU6qt){  ǼTOW(px z2ە:<zG/9W=5Kބ6|V|GtxZ=QcOQO Q>,f:Vz*:\=MʷށT/^/*0sSOJ|=}#<|< ' _|%z#mDW3K^V=Uu丹iSw\'*Ix@ay>A^<Հ|~9RI*Oȣqe'W3nC/_{COu-j~^WJ ?W>_(+|zRׁWׁ^?n&yᾧ0)8<X뙄Y`y>Z^ߦ1*|zCo/\.&?'w9<F=1O_VOqK0k^o3 y W6Hyy^? ߭|<V=I[ʧ9»zB|SyF=e(+5x~z(txz=g|sg+vxRO^T>|z2:<"1KwTO u7ӆRp^]=jUOH|'5GԓS> V<|Ty ~z*9W^&`[sq>eʃ0|xy~<o xR.O34ܷx_yyx\^ϗ)y|Jo K^b#|~YxMsҗ~mṯt/y!sp׺~3) 7k7뇇:~xN|~xK|A;W>ׇ*#ʧg>Э>'/G^I^!*oߓ]yAïbADy>[[I4yZ{>n~z{U:5yU9 Ԭ\u?#_Gʓ_ihy;zK:u:<&| Mޅ 7~<?A{ Po*ßxN^;X!-<| 'g <-(/˓4)¿oFEzCtʫ'oGʻErk^?Ga](|<I!O?gsEC>s{= ?u|u??S> ˧ᡮ-+߄ӆsp#F xI=uCG>ui]S>Ǩ'-f땏'O< @*/"gCuE>I6=GC~xKr+O:oQ)x4sϺ~_t~xMi^|c_{,VOM.(Z\<O)c^NcpѠ ]ޅ. N8IOwys)ߔ_ʫd'1&|y @~%ORO^G՟?|< _7>P^gpyhn>G )o~~<A?&_'Gݻ4hsOKUkm;ء}t=|"ϕWˣ<R:D G,|Ýt??V?pN>n }? n!]/ayc4ޑz8|< -Og' Ee y`ޕ7}w;yV/?q&{$|Ey~<A^ȫz3M^6HyXoyZy~< X7q$Wyo<?P^(/|}҄Gg-E=W~CϐOSIh> '$~VJ}XiO+Ij>I'~TV*|Y:#J}Xi+Uk ~dBc>KU#}UXڽgKڿ{W~k0qx9翽 c7SO^SO SORO׳nA&Q"/S2<7O"˛;m_]xSo{ yUSxZ0y>Q?>_,Z?G " yP^/zoowzOܑa|! _m$|sy>Bϐʋ ?|C^%ZiwyCyZoXy>G_? ?@,y~N^'/X@ބ6y붛sa{_gW>IoM3ʧɳ<]y~zUug&k yoүA=/ٴ1?ܺ G> Uk{6yozzt/Ki]/ןoeϋ[ _:PctW^xz-I$y>K^o: ^sAWSuxJބ oó.bAry< <]ɳ>$/'U:| B6,k7^}/1_ػhGSy>]-[<}w~>nMXXO#OS/[Wg~}]?|;boqy7[˳q<|߼|~ ?I^+oo+]5 %û(7Gh'[+SwP>'/UM%ʷɻGqޖoOQf}Q,|yl}e^^gOZ ?Uކ(ŸJo{< ]+O?gʳy<&/ |>Bބ Vޅ+<Z/;As- c'"OçyGˋe*y\ބʻ]%=Iso+/X <~~ř|S>_߬|R>O <ַ/R/)߀7oW GxO#Q7<m넯:-Si#ZgFgk5 UWؿ=%?W>m|RR |~~x?|\J,|BsxJEwWO`1)R>/3~xL^U| ҿ k 5f:>]>X<"wwR>7|n~_/ ?Y_~IxQ-W\~[}. xi/m}ᣔ0?-ctKtWxuk{}#ZXOt]?+ ֗u}xlX <|~xh]?kuW>G1~x/|< ?R5y>Gy^zCay>C'I4|< _"oWUxK^wMz7 $ <-s(|<G7?ᾥZx?y>L^O7 *߅s~? a@~qxIȳwyg"ff֡ F?| .owGy Ry.?|< O.7I$/gbJ_| oO˻7~¿P> _Oo+i=Eruڷh=m %oAI0,y~<M?"O_gݥ| E^oO5mӅ7qy~< ?[/KIC4ey<Y^oinM )oOV޿!Y|PbF^p@/h?UUDW> 9kT|7 <'g$z?ן3o끿||^T D/w~m~xIדo4-)?yx찞My0Cտ#^Wp >nT^eiOxJ׿Whzb/SO>B.ṉqw~~;p$]?>@_uŞz6+{=]Wܿ· IsbpO*}---- kzw[屠cu:!X/)O:Ds೔/Û𐮿5>|ya#G)hWQ>7>|yhC +>>$< +_|q}^exF EʷՅglcWX6ye੾}m*:mmcWs'7Byƒ'ByφCʗByUCmcm ;mJlkWz[𰮿}^%(UGomkW>Ay`yӕ ϫ_/ϫ7lWw}^!^CCwQ>>>$<|f}^9nUu*_bW>_PB3ѡyP2CϫO+CR9>66h s{R+;loW}{9noooS>8>0lۑy%~;>,bۑys}^0}^QyEFeWr}^QyFUeWy}^Qy5FeWw}^yFmWf}^9Rq}^eG6>hڣ«|}^!Gw+v2g~}^Ex;Ul1y7}c}^QϚWb}^1ye畇7v}^Մ7~;>/_6bW2m>|?#yo߫}#bW=bW+bW'b}^yEkWr}^yUkWy}^ձy5kWh}^Z8|f}^qyUv}^ ʷՅw~;>|ow~;> gϫoϫ=>/ O+:>RN+?>*Oϫ9>|M+h:y&UhWkkߘhWGy$pIy}ON+ (dWO$ZqZ$ M+2>dL+7>dʓMϫ1>d D EJE?XUt+QjQQ7>|)yE!SJ*bWV4> |)yz}x@jWؑM+1>T0>|թyQNϫniy1N+*j:iy՝ft"ݔO+N+oyINϫ?;iGT8*Sʎy+>6&=>,|8}+fWڑ*]6fW^0ۘ}^-UwcygzhۙyEK~;>$dۙyෙs}^ ZL|`gB;>8lη;畁/W>}^Ex;U?d۝jëfeW?gb?;>#_eWe}^Yy55seo?|pow+췻畅7~}^%f> }^|d}^y%g畆7v}^ʗgU~;>|ogoa9yK9ysjϱϫ \BGw~;> gεϫ}}f}^5xqs~^GGU/Ϫ? _iw< N{^?!/oɚ96[K>G}g|6/ϭ}6y^%NY>L>͌c]}^}^^e-]{^T=xx ^_^!r!Ͽ}N> )nSkWykʼ֍^`^A- y1oJ7Cy ʼ6yVyk1k$$yC7F?Ǽyʼ)ǼEe^[F~1uyќ_e^W`^_U/s~*#̛R(ȇk/eޚ2u{r~Ƽ۔{r~5W7C2)ym9ʼ5gU%ɜ߄r~'Pί2o|ԍ"F>nu#m.F;۽.]?v<~<~(~C"E|^!}܏ 2Wg{cu;<Ʃ#&ϯC'@~+Ʃ'))_݈(Ĕq 2NJ'M>|?//Sɓ8 8EeLQe*?82Nq.#>ćOE|LJ7b_e?F_q<@n!yxowyK?r<~.y _ ^"ԟw O 3Eu;;"lx"y3QQ#$_?D>GOD1s9=r%Mz+7 IȿoA=?݄O7)|ϑǐ_Q);JV볐|$tP*)IrȿH! ]ߺW^9нr91O_"Q/*J%$! [y 'o#)>ߧO> D?EE}%~߯!WE#o_+_ɿo߇+L'?!`WW?y_ӦsɿQ%MQu2 ?PJ@䗚e?y/ހ PPc=L'_"JEɿF~?ߑyP*A?#L'?m?yo_SwSJ'l?ysO?PSJW/*mL'_sZ#aOGRCJ'on?J!<](WkJ5'F^4JJ'߼?yg5?QAJAJooȿ_T+J5?Q{MO>-3X?XO#ϑ~#o0_kJV?W?D7?<JXJE%#_!7?yo!J!J'S>ȟ1(WkJ5#o7SM'C?TC?T/O_#^ϘOGQ#JD(|?L'o S00GO>f)_ɿoa?yռC>E5g++FWӦ_m%MQFx WO>oנ>#?B#?BOnOzT*Q?/1n7(m%4|<ǔS?L'ȿ([+q7d?mOxWQ&oi?|o5G3J(?u䯘O~~F}+J5%GI}ɇO~' HTHT?ȿH>M'o QJQJ'O~a_P/*J%!O?뇛OGgG+G+|ϑ0#oQCM'f??>c?FJE%_!OG'PJ'kL'UUGɿ_Sw^o?U4OUXUX?f?[qJqJ'h?y'Aɿo+WkO~Y73UOVYgU?yoɏ1)_Sw'ɯ1(טoyRO*_ɿo_h?b~K>++0J%oMz3O4OLPOPsj?jOݑRSJJO?#C}JEɿFMH?͑d'*'*|w}L'|(;J$OR?vODIJ%Mo5!k?oPJJU?EټV(ה%+/ɣ||)?sJ'_M'~#O [ɿ_Swg>|y's9Q3JFOS?IzV*Y??y㗨QV(/wz??SsJNיO~䇘OoW?_l?۟>y_T6?ߛO~>W?I1h?2_Q);Jta?O0h䟘JJ'o4m?>3?C3?Cg"yJE%[ɿ_#l[h_O~򏼠_P?Ig/?^(;J֋JQG#yy|yϐGMvx#o7c AD?ϻNi>L5=~L9`xjx<)矛)_P)W+! / r=C/^"?~9~Y^i|,9,9om,9,9Ϻ<`?qy4ȷ@~Oa5@7AYe]P}C e7ސ.A%/B ?bK! ϑ7NT|jJ>-9Qԇ奨>g/wȧ#txEɳ(yZoyߖ B>cL=VRϷz*y< ȧD޻x;Ϸ 댓ȟ> K~{/q=Fw몼+_=%|^.xν[݈}Hx^"?$s%'OJ\/qggg땘-ovLtGn>Wnsvne9̐/@~!& W@>$x`\\ɹ_3[7O[|8G;Pg3>!B>/-8_Q*ꓚ/!E^ ~Y"nEJ'?s["X*`}^uO/׿F>QԇP^:5`B1~oȷӋby}!~2_x}yylOn'MDȯC|,F~XԍOȇG{ilZ"??+^*h+}$y?ϓϡ_;O_Vȯ~E~f,-,w}T?T?T?TοT~HއGy?y$Pg'": "yQ7cnMu"0sx,A~wɏW/[˼ד iKu~J}e#'u$o:֑|Op^ȇ >G&?~Bm6 uwFwp.oɷz u%E||_^?2# 4I~>\ǣu_u}!!N2&z1'?I/~}'o'/b8}0N|؟cy8W!>G~> W>ErB~m9Mɟ1$C|*7\)L=\~\~pZ! y?W!B~CbR+Y!{#ܾ7/G{S_6湈7ktZۉZů~[ZVE/6yUw<]yoyF^ou|#[y]V^Է俕q.N|M~'_o;zK[1NJzC+덯7zVRKex7e%Qϑ) @> S!s 0C c+@>"y#˗䟠 9'JUr?/C~+Sy?\Asr?u(9\܏rus?~$o'9rJ,W^wÝJB!?$# 5g/^>C;򞿢ϓw}|?#c O~.+5þA'߿> '~F@}"ȯinGU~.}=x.Z#yI5}FN&w5z3#\TOOpxrK{ {G};I'd[;apw.ɫ2y^!<kmǷ>o}W7]G w]w=ǯs;C?sTC>G?sdQZ(V>G9*ϑV>G?~|<ρ:GuN_'^'׹i\g\p\D\l\b\j\gk\r}^X/׹^oW:G6uNn ׹Asm\线:Ks/ )ozF[gor=GgzfYGgֿr=67ǯ(((S(i99usxsyngj?iog&y73Yޟngq?img|\n [Uum*-U[j\VnVnM[u o&C{\mr庅uKl.׭][u\7k\rb;亥w(p\wXzrSO|f>erS')b}">IrS9o朦*9:AnQ"s=y}<^u?y$ay!߻1-f?)Q ϑ__1o<ס_#?Թ:z["GZk%c-j%cV:ZXl%J^J+ykutZhZ^pky&Z~ɶg#UrwL־^m!o 6^υG?ȿ[M~G}E1MsHVn(Bn~*I!-/ { Eڠ+c[X'Ǐ}N޼#9ɯ8Bօ=FtxsuN:grO$zr3 _PgQ"yM3L~Fވr:uJ~=BwyW]:/[x}+<~.zʡr|<?%y(֗C%yZݼ~jW/y?$?!} K0o|n[&_o|rzk:g8r?w|uW|wϓ'F=ɏ;A=7z ;V~Og8(3;\'y82}O2y yz#bӏ:? H| :Oi\WH~8Rgɣ[|{vOᣔ焣-祐o%`^ɧcoeO1^#9y\1֎u㇎+c+Wӱz 땨+[/W^^j^qz'W8y,'C^`|PA^ fO׷xN\\r 'u+(-xׇ]C{r*~|j7!>p2!zN=ljq CG[Bu#ux~[x$'$߃G1oB||ٷ#;%/`e^>wIϟF|ݨ?rG '_2N|&ɑnC 4O6y[ɯO ֩^τ'çĩ@ۉהq"y}XG# xRx|z H~ EsMB|EF8XH~=8G݋sD~>c) yoxny ys!3i)_O|Wc_4J#~|WSoÃaBa9o yueuu*uqmoOz_'KCq{ >CsO OxEɿ([gϖ-"<]ᩳ3gΖ/(m% :sΑ#;G?q Y $C^ȣ> ȗ|| s. Fi ^$|!OfY ߎ}-oZzq^țfἐw~ < /B^x|y* <&.DZבe y ^O'ȏ}'?!ꬌSTƱx GQƱ.z$?]7#ynLބ3C>p̒?$o8EB_"{>Pȏ;'~O:^%4Qx< Ou*~^#{?gq>ϑi!?+F@CK/E||i?EG'+䯘!<;˼>'_dO ?5'| 'AI2's7߻Dy?y& C?q36٘7D~%C>'GA>=sy=G_a5p<R\gx3~ oC||E?3PE3E>O[S"y yOxN#޺~$OGȯ1 oO)s/ @^z{Ms>Q2' w8U^vr?UȯWSfޫ|uKnއ_"못) ϓOsMq7~|kqdWtA_%gH_xcL'럍ycr՘.u'F+NI8IO?SM? y_׳;N{=]ϓτ7b_$ ^"r&^!ooZx/p&zN[D~e_gz8!03q"俞z|C^ނO^<\/@=;_y˺&te+ݣWW^#&\yV-^GQs=@$ro GɋFȓ}Cȳ8y OÓx<O37;|IsBM^?|zW_y/]oqo:Gar:Cfy?W)(T{'HJ7r>1A9TJ|<3[$7w\"7?Vϳ-w-t7sȗ@n~~O)ye2M~3^.+M"z 祏&;QS}'| }D|Yo"xGL}nc7ħɏVoUg*?8䫮wswćy?}-o.j|3pwmrSW'Mn~Nϓ_M|>ܼ^p=/!? y3F 4#(OrOCBy!8Ccq&O>$=ÐA_:#Oy[{}nn'; 7.!H|"?̡0M>C1{ ?>I)uO+uȐ,S:y x / o ?^$wPԡԡB>wRo">|-wףOAu!_W|G"f`I>iug/%_ϑox.U}\M_&qU{rF>M`|.ҸޥgO;.>K~W"_0ݱ?A}'ySzS\o3[9Ȼ}H uk nOp=!}no[0N yޭɷ}rr$O>!ou11~$'`$_qK*כS7\oAz0~YsuO~G:/~_y~wr#_q*Ğ?;NC!¾"oBY/w $8!?i??>{(!FIOwS\?9IVwO< ?$n^ 9 /Fn!v2WO-PrrwTo׋j?b&%^xr|IJ||O(f-}Y _$_v*_%h~/-K?G">y( )OG|>4O_D}lk_&?7ߊxG^tB|~z!>r<~|8ې "H> %_%5%_F|]>o!>D򉑗/4LjϐO@~+/ y!_x^ɷ#>H~?G$o<'G@| s$?6&O} 1qm% Eȿ:@ޟ߱p!'L~W F JM~;|;~ޔ8%RJ||Uk\/y+cc{s!x'%??u!?<~!>ȟRCr}*x@g5P?Ag_?P~ 7["y;?*u[hx|Oѽgȗ >;HEs}4  y_|9/+Os^S  azGO$ć;>y31~a92}C~!r|=ć8L'ϟY +C77!QC޲Pz">6T?i!7@~ *yp]#O;O'D e%[WyJ|&#ɇ D[s|aOܼ'ħ0y|/<9L_&&ΈwxppHY?&r= 侳qT+L#ƷF3HG|9(y=cJ|J?yMyė:7#\}>*#O#>NnoSJ|Qy}{g@ rwIIOsp a֗|o!Bǽ'!P8O,f; H9_<.߯(|-BD|23I+O1MA|| ȯE\$)LJG 2~|?Qn?QwF*gF%Wd^Qz%ӈOE|n\(zKzڣzFlR-3L>&g3Z(|Jo6ZM_71rCccc#yfa^1zUU# /0q&_bc2?C||s_#HՈwDo< 16V?I3c_ oy.2%yf%8?|%r,6ORGߦL72Q~N'MM77QDzK{_kC}o#r~&#&?Iy,N׷4I^*6I>d/&i?,AɧB zr^VN>r?)|O7O~D6|~`|⛔)^x9>4E>_a yOO+O^B|a|*\Sr:/![p/)34tK>~{ x+'yD|:S|RS%Ty JM*)OUOǙ*4qar}Liiy|@|MK_R< |+3^7W 7?&7WQSm(]aX*rԧFn~^BY9>Lr~$y]_</<+2I([*ćy<4yH^sI!|2%ޟw@.#y_%U2/G?Orqȿn>(@^E| #7w^~J{dY 4$ϑ_tA~^^e@3?f r}~P#O_4A?G y,k ?^TɋaEybq#w&=/=_$_-(O \%9|aU?ryIO%y}r"K/v6yM䇜zL/F|9<3S3KCrr`|u=wJ|t^8'oa#+z^,'zY'D~ +qKP3[!7[[$o7}@_SW~Ư{EEސ{E'ħ|2J|AɧA"*m*o*|Uο^*SS!C||EU>*yMkrgrc=(9"|S1w\O2 {1lFė_kr=}'3@ { yY=z_ ʑwU?9|/Va͒ A|P̒Y!_a,eg|5kԽ5w! z93On^7+.&˜o5竞]n|Ag5mOAgAg}{Aox7 +tߓPrSS!?G#_y1׋JM@|| kϣ;J#p[%g}/F|<<'? ˑilydð.g܋u!ú߂mXk_Oh XSqcg#z ofc^J|4E yQ3>Ǐt;-0*o}u>wޒυ6 ?HF|YtBǬ 3B>ʬ _ y!ԟ܇_|FW!z3G}?yi '8!ԟ3B_?y/_GC.r|)k-'z|/Oϐz|& ύv=x/wM>^&r*_ouJdwn|][\w?^" #߲~]ﷻan{!t=J_C; p=IPS\ϑK,cȧb0c2W'!Mߴr!纮H O~Q5 "?׏C>-]bx(I_"_Oʐ-} W@(BQ \YrrQEf}-rϖ@`>P?[r1]8y ߑw-lfa|~[-lVg6[>lk5緮Q>AywFno|Ə67(x|~MrLioQ>3<(\|~7}Q>v|~ˍ4(Z|~47^E>Wԑ߉#ϑ@tbs>#} ;G9rϑ@aj䗬:ss+S&_7W>9 ̕ip|N44W>9̕it|Ncssg_43W>ٹ9͕i~|N ss0W>Ź9-k0X5*ssZ+Ӧ9'S<~|NCs'<41O>6̓iq|NKsjOy9̓iu|Nks4O>9n|Ns ?[|F4:_>9ϗib|Ns/4Gו!z|a|NsZ/|6͗ϩ3_>u s_ 4An^JׯR4y*Cn^.in|N sZX ӆ9-r=MY S{|N sZY *ԯJ9J9+_i$`I>%J9 sJ<COC|ܼ'7%`)r:Xܼ!7eKyϕ^(罡$bI>|+%WKyD~ϗn n^_(߯C uh\J^5ϥ >[(B$} PrH/@f >[(wEK-]7?.]~| sW$7_W6yLn^rxms#%^wcE||߭4}?O|߭ !V"޷X^k|rrrr9rwyrw % &7晴?ͧ|ֶ?>k#בs]|1]q&ȏƧ =,ϑ_ ޠ\W8%l򹇹^xC]o"ߎ|%L3e2>ee2\se/yi3䷶_(2>U0_*/W'/W_B1 e_y}V{O2;`VƯ( W+(WaoQUVˑ;e^A2wʼ)T%̻Rw2JeywǼ+~2*e^UʼyW)V%">Zw2je*ys1oU*ϛs:p)jG׳J|NoPJ|a7_3\Q(+!%>ǔRJ|No u&#:s<֥.MJ$Rgy+_ບ;7s>/|W9q84Ee4_W2~Kqp"c0yQƏ7bc$RO/9On|/(7m?)se*y;\[C[k4B3睼!8q?%Xݻu"2zxG_ܝ7F''">E3+#_yF܌OF?_Oɇc.E_^8sȿ~.Mn>ߣBlD Oo&7ϡM瞑}_ė_;"5rA_:r !&9 sr9Yr$ gt/֟ԇSzRcSϓK)BM[#MuTg&oэ_`>ħ'O]J~&zAE G&~$#["y6I'r? Ar~yQݑ)ħ+%Sr(2Qwȗ ޷A>d'皦6 ߿J ߿jWeE9u/]%"<ėW~>|g|y[|rGϐ:D!>NaOJn>,\fo/5nGCn>6G!>H~=^;>34_"{*5%Αx>Α7'o| 䯛%\#M\jw&9"IOz\"9ekJf/rma%>N> IlC|^}|&ַH~ ޷Y,_GmC[ݢ\/nk Ov\r-sU߷W"| mUUE9{l٠_T >]rr,l]gy]y_zpl|q%>C^y /C^2'P3yϾ>~!QrO|!ߵM*(Mo"7!7ʿM ~&7*BnU|7`ԇ_%W~U; aE|Oߍϓzz!LVwy'zq?CiQ W A=JoV39>H%"?7&䗽(fr\=|={+Qԇ|/@|HZϓ )(6XD>o'h.LJ'!>B^{Sozr JM>q|_x3{y=[୸_%b{^J]CnϨ@%o {)Kgy-K?C|=yØ?u<ȧ@C>6ė~Dt/% 8_u0>y]=EqR?g?-J)E}-Pj)R^/܏}{yW 1CC]s|5%򵈷!߆x>^75K^c">G">Cna"y2{@JU1)V+;o|{X/.`ZD6Q_ ?B~- >Vϓ߆wW?rk4?xiܯz} *UIC|ܼ_ /#a_>/󃒿zU'`gi?Vw` ߆wñ?E|(j#ϴ2~? J||Bmoh/$_{]qO ɫ\//_{tҩnmmmIE|W!S%k>\'a>ܼn&{jz+K~* SOgԧJn>?(y ~Nͽ[^&_'$߆Z/%_>E!/)Wɗ!;9E|<:w&3-߀sEWx^l[ȯ'%O_p=I~(aAӤq8e1 yC >L !>q3U"H~$_!*G "_n' uw|ӝV$%rKkהx@90%}q_"ߗ]e7s#5eG qy2N^V)+X,:X'S+Tq|]q8Ůr_*qg먇0@'.EOƼi3{:Kw|pL.s0~ޟF9Up)(ZQӎQ"!h 4(Hhkv95,ЈSDێ#QK2!Cd0aQws]\YZ|>typ޿9R'?|}lr| V9w% w^._#Qr|n`+< |x~OL/A^ӷo>{+[]%$ wVWqכV9P'X' \>4 VS5s9r|/σc \aXr?U=V$dX޷'WկG}(+Cדcޗp\H)_wW͟Wzӯ8Ƈ2^q?3qCS9N}p_F ^!+i~ƀSϣ?z{NWx5H&9NЯwX7Dz!O\rMH;\/Dw^ȯ7~6 |=cį_?q̑w!)grX^8JN'|$ @' Iw,>;iȼ ^S~ɼJ$"~ٷqH4}Kr|SeO߿$'<.9}4HN4r!9I9~N_3$xDrrjdq=+tzv< xHt}?>'p~B!9QO#xZ+AIOdH?-s:~ #!9%O]q9N~_ ̔<D~q\Sd'}'Mƕ~O?#䁿$9Gr$|q#많{6KӲ~HxDr|= 9AJNx)Y?uFN?_eD~&9:|O?)|;$HrJdS~s{B@r/pHNp~B!9сj^|LI Wx@r$'3P?_-ӏ!9y2_)$g2_eY?9ArMCr WxaY?$':H?_IY?$'1H?_II"A<'U%HrJdAY?g=MCr#9'/ ~h=/6!9zr4ԓ~HNW}JN|7i rK~6t\ 6pDHNܿGCr ~Cr2#99'UG|G9C<ܿ$Crgݲ~HN rɉA_CrgܿeWke /9Os$'O<~S"U^/L}LrI_d!9I_XY?$'q&ύCr2gpHNWx|S"U^%'q x@r<;~B9O$'Dz~c~w|4/)$"9I#9~w!9yG)wHN?#Dȿd &g>q.g~pHNCM`:HroCr˒4H?-ӷ!9yOWrE xOe<69K~一),y>^r|= 9AY ,,:_+9CrLwځKw+gWڧ'Wo}󊑳iWpw^|W+IN%ӂ㒜Br ųDC9!z?.yEW+HNx^rB!TtY?q ~i!~Zs$'|Z?xIN xey^1/9.yEP/pb+\=!9ѡjW;Oz^1 Ys9'~ Gr;!я<8G<\=;O;y ~B~$'AIW+K3#s$'O)y>HrJϯ20}xF]=d0~$'8yWt\='9ass4p|`z^1GrK?̑~$|a~g˼W+BdINz^1"^ӈ~ 9IG3Lcڷy\H̓pb1HNz^q.qW+z%W INz^1r.nAy8IKL_O pbI?/x(~9=/y~|x 9AOz^1r~$'AIW+IN*~г<;[6GK3,c%%q~qW+zH|}?><^; .9!yɉFrɉՒWL C\=#9yWHNz^HrJ_2λ<@p^/px/ϗz^1@r+\=!9 \='9 WLjW]@_d ES"UWt\q^/px/ϗz^1@r+\=!9 \=/Wz^1Mr2z^1Grd ES"UWt\D?\=!9ދW \D?pbD/"/<^r$'qW+IN"rW̑<pb|:prWprW prWprWprWLprW|WsES"UF?sarWoܿ$'&/yɉ z^1}0W+IN&L_9'UW,2pb}brW\=\=!9ы z^1Nrpbd.&/yɓ*W+INWz^1w8ܿ=$;ܿ$'8ܿ#$':ܿ$'1ܿ$'3ܿs;~F#i䔀#+:.?&9.yE%9>y%}xW($z^1\ퟁ+Y?i>DrZsQyINz^HrJߐ2pR:t_)9.yEw-z^1Oz^1BrFy"|$$'|W+.՟yHNz^HrJKNz^w:tY\=!9^Iz^1Y.s[918U$? <7Ou|3$Ϣ7Ex;l"7H~nW/e7.Ֆ7CZ{$K}=| }!29$'IJN/goqIN VDr/u~뽒<>R .+(i.?g]%HNx@rWi+>p\ouJ 9eGr+3d}$<0Y?7KND{C|$9 eɐ /9ӎd<+9 KrH&M?,䄀_%ĀxFrR$'~^$'GrSX,#)LռYr\ e|INx$#_JNDǧFI$K9INxE7i'9Ed|es3<.)C$<򘜿$?gdDy n{H~ǁ䧀_/&UO<)̶%Lr*sj>WrxG>j?%'@rYu{$'o HNp\Xu $'KrrUKN0gU;sl縀GfZ#9~i&9Yu x<%9 ̙ai!9-U_+9ӎ9ZuxBr*$q | mH}sޗ3/%'HrB\7ͺ6+[HN1'kY%'GrU|1U[ҏV}xm_(9~: |{D1M$'9ӭ:xi!9Yyê KN;)w MXiJ0gU"9!ƜVwɉ8:29INs '9R?2ɩ`W?*9kYr$'9W%9o$IaR߯(#a?Ur$9ej~8E?d|#9~i&9V?8I`BwPrw< 9WI;>Zr$'!%9~!9 qo i~~p*Y?$\)d=;Jn~{~~Ar|s>I #{z~/JrǷy=Bo[<Ƿ!N?>en#yDžwk>W_:>>Nx->_xQHs$9I|$>!>!>OW>!>!>!>!>!>*>!>!>!>!>!>%>%>OR>%>%>%>%>%>?>'+'jxsG| -eǀ_+<8>>>>>3N|ƉOa3N|Ɖ8'>'/?q3N|Ɖ8'>GO(Q(s9D|">GQ(s49~9M|&>GOhs49M|!>s 9C|!>1s 9C|%>)>cϱXs, VK|%>cϱ8s D>q8s |{s9G|#>'}xs<9O|JO|'>'~?y?y?y?y? wgLW3A|& >'ǔ >gLMg W>&ⳉl">O&ⳉl">&x |||||l&>O+g3L|6'L|6g3L|N >'Q>' s Ws9@|N >'OࣔωDs"9H||~"9H|N$>gA'$>$>$>$>$>">">|>D|>D|>D|>D|>D||!!!!!3I|&OG*I3I|&$$>G$$>gL]'[aaaaas9?D|N">'O)s9D|N">'*wL|S O'YKEG"zonm}T4S>_ F=lm£M{<}T-[zo%|Lޛ17czoޢ'>-[1 拷czoځ?3V!ޜ뽹{>x ?}\-[qzo޲SqJ[xs>>GY痃_p<KxcO cϐ~2g~ ߫kj~xs޼)7J-{ ޢ)J?[*IeSzo[ B9{s?}R[I0zo'O꽥{<x?yہDŽ#*<,8'qM㞬3Yߏw ~?<eO9_R#% OO / #ﳫvyL~]y+O{ ?|ᱧO齥_%d{>\"t5o޼O{ >~Z-[ '[i4?Vg\떁O^[;SN{%m?|Gߏ?~ I?!*rIg#yc$'Nrr$%99S (9ES&TH}}?ntFr| ~$'BrI?1'9I4i!9YwKN䔀|x]yVVn{hq/~#;~ |䇁O. 7yzKg)%>gLi3M|O)i3M|4&>V>'3gggggO''vU݅!9^c߰Ń&Gojsz? )#wxY('KD? '9> cǥ|G|C|Xo޸>\ƒw~Q' \+|VN}V }VES!~/__/_ }I'O'O%~JOqNqONO N OI?[ddO)*~*ď3x3z?O'Id~RLF'@g~JOq~Y'6~Y' xY'O 'Oe~JONTTTTTOj*ٟONOi|?%~ܯx_|E'OB?^ɼ}Eu!~gL#id|7F?gL#id|L#B8_%W*J?ϫd*V^%WU!~*ď5kdF?kd|F?kdF? |^'u>nkpOW|_v%I~uⳅl{U;d]E/Q>[ⳅl!>[ⳅ>El!> > > > >v> |z>6\=WϏWϏ*T7juO'|Nwݔts:9N|N'>tMMMM7777777O)oooooOS>">">">">">">">я6666 '6J|g+ Ql%>[Vⳕl%>[V1g+  ;gY3K|Y3K|f,%>'s,.... ]]]]]]]{{{{'O)|O|O|O|O|O|O|O|U>'>? >? >? >? >|~@|~@|~@|~@|~@|~@|~@|w)K|~H|~H|~H|~H|~H|~H|~H|rW>?">?">?">?">?">?">?">/T>?">g3 7= s9A| >g3O*3#>sg~#>sgs'F|mg |G峍l#>ۈ6ⳍl#>ۈO)mLs&9I|#>g3ϙLs&9I|RI|">gY'p9E|">gY,xPE|~L|~L|~L|~L|/b)OOOOOOOO=OOOOOOx''σσgσgσ火σ_)WWw~>G>GL-[3gzo2eo?{kLDU7g^ |ނyp^-{y-{y[xs|^?NyyQQyy~;?9YD{ { {{{K{KJ?zozod&xs΁}㞣杣柣~sRs2s޲ssފH?%y w|>\}#e{}$<|^HNz4k$I]r$d}HN?C<IK_#>PxDN*< \;eQ)}߷'~R_ N?( pWn+++++++x+++++jC,TuNjY >Ӄa}(p>|@|D~NW?g zyoXxF[R>sϹ\s.9K|oV>sϹ\s.9'>yy|s>9O|*|s>9\PKs\@|. > Og* s\XG) υBs!\H|.$>߯|.$> υBj------- Z[[[[_Wlo+>ۉvⳝl'>ۉvⳝޠ|g;N|s\D|.">E'E"s\D|.kbs1\L|.&>Obs1\L|.*K%s \B|.!>{%s \B|.)KϥRs)\J|.%>|.%>KϥRj7<|~O|~O|~O|~O|~O|~O|~O|F\V;ߟ_F|.#>ˈO깚(p\Ml -s\F|.#>j|,EH|"Y$>?|"Y$>g\^;ߟ_N|.'>ˉrs9 .s9\N|.'>+~O| >W+ sQ>W+ s񹲚Q>W+ϕJs%\I|?C\I|$>W+ϕj^?U*s\E|">W*U*sJ cz±)ǻVsտ#!9> Wo4οo$IN x߷OrZHNx߷OrJ=E?TI2O~~?A'DЯ_oAr 7cks \C|!>OW>kOR>kϵZs-\K|b?ߍ]_L|#>W^*>+u:s\G|b?:s Rs=>K\O|'>zs=񹞜K@|n >?|n >7 s@|n >7]|n$>7+ύFs#H|n$>uo$F&s |D|bD|n">7؏D|S,ehL|2Y&>g,؏Y&>'fs3 Js3L|n&>7'|n&>7wT>$>$>T>$>$>$>$>LJy[< |U~ /}TΟqKdoJ57[:|(ǀ#wKJҿs}{wIAx} 3,?OoD$WH.|TEp}.c?S>Ou~7 7E;Vgz>QwG}~Wgy${#/gm~O?1v=z=91G̓> ϕ>+y'}}wjz]/pV>r|A%7c8'AO_&!I;H/;׳ggzӷO>; 3~=ue='HIg^=ꖝ>[>w~*?m.~qx 'Ox|/n܅\?oBɒ~r<@T׮~ܻw-/vj߮z?4~b8'AIU@i'~J=LxQSߏߩ't 9uɩ$H?i?q=ܱo~k!^<%K߱,Xxu;gW}_W}C]Ʈ|=?$}>3O,t%=ߖn>]t1 <է~ 𳅇|>~u| 'w#CB/IE_ލ\ow׌~ 'z |$'EIH]o_~/USxG7}W7zu'MO%4v#CO%=O#I?n3y]~{a̗9>zE~$?AI_?-駝S$H?=gj~~{ ''_?IO~.n~.yɾ+2s u蹫F=joZoe5ƀv 24ro"pUkxRkw?pK~,< |x:3b,f_'*[D&;6X 9_&׭xT .'M d^OP>O^K?^wuwϯ~$LJ7uob9>]?vo n2u]͇g752^ _$<~~{7 |so&WjofY۾~~K졟_w/(>{7 |x'k'o:- u? 89޻~~7V>>?${]헿ہ+|ˉy;枅ww̶[Y> (< <1}WxO?J|~ Z{O? W/> <+</<| ~zK Oj~p7p/#tzQ UC'~~,Kxޭ/\=N0W?vy!p}w${O/> ?|ӺA~k0pV?oggc[Zqu|~w= V^7 \xeS3B{v*RQ͗(k6^+<< < 1/c!<S,?)³!]xxI[ͷ wߵ,Wx.< <&<|IS %< |<_k^OO5?ExPp~QA1aIQ/ WxSRxfyۅ7GwY w( |p?˄(< <&< 1O O&<R}< ['J>f2e+'wyݣE^(G[7m~yݾuhu&{4yݣM^_5?<^/0@玁 |_tӾj>^go~,3>#y /o:c~/~|.AokÒ~什twTW½ WCWjr+'o]Er| xJXXuZ. w 't~!W"}F<*<qc'O4g>w_&|v[([^# GwZOW Gjgs}hq?y:|nv09>@ik|\{x,Krr<%ϐ2ɩwj8$'9nHxKx|.7JNxe7?Kx ԩ?TxcY< <)<}ւK9v4?x-GY< I_f/o>QxSxx|9 |߭VN#\n^ |ų{INwc~ 7 /ww ?Dj~.>9 |p/GGa0[7#<a O&<]&|X^57._/?Ax/j!< |q2_|1GOYΣ g%'6[[Ɯ<:ŝ?{>>/ sK(?8y|L9>|O Ex'>`#Xxx'-㳘sxs\y<^U~ V?E̗Kx|гTS G?pxscW?1(Y#SGOx%0pG7 b1qjc;[=[6= $W׫KN p9 jSa#9nW 7 YGx#$'~9>IiJN}KS~VN;Լ1P0/ HૄGN?z~K[_@_?;N~%.LJG1r|r|q"pV>>/ݮ} $g:K?P'yQqg/"BG?_/d+' |}o}g G?* 3ok!!j}:x+܄|$#/[-??lZ_o}^ϝ!;e=ǀ/,A߿ }3ǁf}> |ag2UGτPds8~l|w6Sl6#mƃ6>C6~m|Gl\y6hx/_d nIxGx/_j-6we6mҨ3oֽm߬7꿙7F9~ͨ0o]@sfz#z9~Ѩ6oks 7FY5^zQj߬guosfQf߬zQa߬3j9~l}$>Y?`G7FYeG7[9~19F3o#Ygǚ7볌9~hǙ7듍xsf}Q`߬4u/7$sfݨO6oֻ)ͺQj߬E}sfQf߬3ߨzQי7F=Y6AzQכ7YO73T>Y?gAsf=٨7IF}9~~6o֣z9~˨7[sf}Q3ǿ͜7F}9~>Ϩ3ogzQ_`߬O6 F}9~>Ҩ7^F6oͺQ0oֻ%ͺQ_j߬]sDn߬4ZuY/6+\Y6LYgט7F}9~jי7:j߬'zQ`߬0hYe0oַ99Fh߬G-<YeԷ7F}9~>٨e߬5;F}9~e1sfQYw7nF}9~b#wm}|,?ݔ__}__W{YƷ*l|];5%߃4?~[rmʎ> ~ pv9?m 08f|Gi݂n(]tuGGGp̀nvS;}{j~3XsHz]xFΞx[;:ϯ9ψu/ߩ0g]_/t̆dSZiuMCs_{cM֚?jZ6_}dž6ִҶUӺտضп~m\C'j+jZ7״ni-Ǻ4zc_jZi]g '5VQӺy׆W[xwk欯-.]^_;hf0Jg5ƫԴ/SjΏV\CMk/]O^w9:QVWSZW]qG<p:djZM0+{=ܞs}Ya+XCmVη tժ2;*}ĚU[j-WK|ƚakAx:O{[6'=G5|k6ibB;1!OZ-.J\$*a]Goۜ)Tn6*Bg֎ovO~zMk!mB{C猎/,~F^€Zw!}DAxZXD 1T?R\n><iI #FэBIwj3TZC/QJ~-^A_kj"~Y>fyp-@K_lPg2 f`f"b&&rѼ U ^KʖO,zRJO巻n^ ~n0oP3C[nQ.h3|o̘ <;1*f {#& hPMtΉNpuy& |8eS(U[P<ǧP9dD-?1N(vb2s ʊ9~"k^Cr8DpGf>Kunn<=Y^Xv1Sd0c1 )! zKp TҤlz kb٫qP1* <NYh1XLqg͚ +^|I 9PcM//B2 UI)J@#| _\р ~zp'x~`\N$зv3g_ߥ̙-!p}c/++{~n\?۲pFˀ,|Hkrt:ݵ+xҤ?8rdCh\Okj2 h>u^z@ GQѽa4р[_~!CkE!!nk;5^Z/ pacW =aB`e̘?W<xO{In|[U5/< kjЍ7.\a?w_7`{Eb x:t8/(|>s݀G~i? #.KӦp\%`̀?@p:$~ӧG:U`'N ۸%:]9 NJjP#`ԈW>;x n~@mM>^:tpKQiRRϟ ޽n, c `÷:W2MsqT:p`o 9->}5ii_ĉ@ykՀ?oիHRELоr&6Rn!If}A 󫯊,,|5欬wx{ZHizٍ̀5w9m]F',[T:yR袋x>5d݀˞~VlmW\q-7P,s `+| 2,l"`ϒ%?>޿?/!^0y+>̋52=3݀蕀W=<`;:#G^xL)^;@b^}u_Pmv>JN>XU FXfœOؑSoNBg-y[:kG:З]U\q˝px۫iq}q/|tOqӸ廝jQ4fov́(ݵ4cSw,;:3u}bmtwwFlTJޭ ^UߺԲoih}xW^}C_6eg*O^4Y۟^桞W–K}lfts#>:e1h[ yIH4H'Y'1ߌ&bpe[ ]ˀ?}l'`־ٟiR|ғMx] H Pj-+i#9Θ Xp_Ţ |H@jKtvlрi}[{dh,qu{oUD? R>=E@WHg;`w8Q :}I lL7v|0C7t,=Ou~xh[C}3^uC9sl6w xh t0-Sw )M_F? XUvΚ 5SP g<\M㏳a[idL_> @c[0_XA+-7j{y`k/ X'$ת<%ȋ/hyo_w0ʆ\va#G:EfujS׼H5.<$yjW9~f1 tI%20L 8Z ={o żpś7 0{VXv9* qWa/}EW>: v]_;pN3EVs;u^q Wۣ5>y `mo$|q$y^$?uI%55n; ݀ dLP~_z;X!ÓkV<>'ؿUr?SUG~4-eַUb[ouw]E I]c kаy6k.t2 ;p ]tNxPeLun3v}bH~9fMMc l<LV&\Ń{O,Jn}'t5`NOK&󀲏m|;f# x}O̻eE Ti+`^'0Vj> mwbI cաz3= #2*K;ïo xr}7}`R5pGiny?\U}zMS\k7Zeg/AUwq1`w<披3zN.zz+*7/IǷxһg}hycO~;CR7t Y_g0&vu4YW{om\^xBˮxӷ .$1g=:ZYquMRDq19uxF^d[/yvϯVar}οl|S߯В3B6.}g?>>є^{˼[&MPOwNRrbcO`z S)33n0e2l<5Mo؉$˷gzs2һKىI*ba֛CXZG * KT\l@:` 2CL`j2$hC 0ĹT>j;9LoI qe "/Ca-ZJ 2Ad* fy-EJbQ񆸶DsDI*}0>,qɔeS'W{,-]«hBbQ86Ұ$3sgE9an$Sl^8\n7N4(l<;s$kG@9]p1G%qpq>ʩgQ(,l) v8G |^d* ;̌?АLw:s!#TW9RoNC9nwqlnG(x$VWrHP{قD "g:/JІ "2xvQ'q5lpt# 9[@T3Ulpf83ߙREl8ETv?a%jɦ(uF: {d" ,bNj5˟nv (L 3yWt<"e$ZI1o`o;+廀DH= /5l,Y~"YXcxmX4R"l?h#`NK!)-,?2VpCr|DbacWLOE{ ce sfX6NxH}\Q.?Iy(,}64H)=Ba5 n:yI^YҨņ̋"CLK8!s!ΉrwC1P[gp Fp..g kR$U#B$YPLm,L,;rv $WG({1C8 GFaZ*W9s71!Nv!ôK?;)$IA&Ȋ:X$1B&+!ށ9! % 6XYl0}\3ʡgs8]f-a؁Rs|;S#!X,&Wb:Paz!!}PHSR5dDGf Pηb|rhlxMM!^_E1TʽroZy:rCG~Q0k~=MZ<=(`sMjg9y/x9GNCiAn(5M l8d8xvywEvq[~J9x\nv>}Ji&Nvz:d:i#l@Qx94 :<,CZ &r5jQvGܞEg, R)v;ج[c w,v /6I]4# GCda 7~ `w’#!rgPآ86lq@yOA7 V5yqgNmf͋Y֢ĖEKR~~қ-/h~8w~g#Ȕp"S_WJm{%8 vN%<'O>|v1;Ę7km}k߀v=0ko= U\__yR)v;كᓿ9!zbk36bZ*CdEÿ5! cY{y;ƴ9 GY #ŐPjŔxAߛcx{xNagtĸÊVzt;Iuq0L\vb X>7'™7Ŧޖ3)e40k;G beI'Lrs1uplTU+"\ s* S4L#_ 1Cӏq1Tμ" _6[l)a1Q~3g+ &/~~3A<*,ɗCe&@eUej81lKcFC}zpGiE"9d8HGd Ѥ`YIJLJZ,ʰ۹YTq+۹kF:-NgyJ<>0ŖB_Kx9_>`v S^q{J^VgR!Vنtrv}7c_}v o}˜j rzݿ>Kк_{j[2ڥmσ.5__6(vO{ݷNףNmUއ3MR}5IY3 !3mVߠfIpwdT0pTb_*wpK?!8Uh=Uo"d7vYGD#K|gNTO#YDn=_YV5,R֣C 1Gtg@\J` <'1UyF(ogKHrdz0ިCx 6 5lWk(h6]x#\G`4:n#ʦ(#QvEFEeٛD&P "'Q:4fU1L&jQ2j|reԢ4i62(68i"M!XCQoS&SxM CZK!mT!_C(Z!`nDC:㫕22(r-X(:@G(cXEuE|2 w3(;d)[1V*H[;% jzi]7kz"A2Z0D*GXƺ3Th餫BeMbQv$菲Cˇ蝢atBAg%SLEa#):AvYSmT]-0V竔iD]Ax$ب7 I y(Ɩkre EAZ5 2̃Qt+P%AەZ \܋\D2躕 Hz?@WX=|2ǍGLGp+E8~#H8r鐳R!-JoVC!$,Đ9rbhu!g-6j? 2GLMt'dBV>8dr{Fd\JKo6IǬp89.QWs_+do&4=HYŨsu(M=92ީ 1'S,'@T(ЄuPQjźDWk!jDOkQ/m/ )%wB$syլhLp?Bi}L EGƗKM;"  if- tEeΘҕiZJɀ|Lkh`w^1֮NLع0TZ6GP;@QrTtT!u>ki_MMA;)S !hU@ǕZJUE%+_Y+0 WXvh1jMB\ (v+2a㠵8wv16|8]+9j2rP.YJd6|Z_yD,nt5Caq\Ÿ6K#-qQar izغ3 DC zPVLJT_PrEQ$xSԴcM`fϰvس>8$ݪ J-CUrkt9L"IA y}2C:p;p=feXObFc4TSƈ]8,(),dАVRa.K4\'(%H+)4TP%֠4JWM(XNq]zMmg$¬@iZ.b=*@5A38&Se05+|V2RAH,Pu׉6Wy`LH0#!`aCij1˰܃-X(8:%YKW`}%Z|gW<\>b %ڤt <ͺʔocV.YW`3 qhlBH~[2ָ5'6*Wͺj.qu %B 6f%+v\6@6@ s:mh۔ѵG*[2ԠK/Bk'm"l<莪;: q|5/D^xY8aU6Gi}/XBa;LQkh.|y&T:,.ڲg:`eTUtDJgt=!Wp݊DhkIfkZZTEW-A`E{TPl-9 փ!^iuYUv(^`gʗ _d ҊhuYң+j{*p6c[H+pEt)lXB[|ԩR<*ĸJE݅u0J`!iÆRlV]83Ɓd tE+T(qQD+جzGXw>0t uT7lMsib"ĸD`p`u8I^156+=z7 /2ݡJD جGR= dEg ^&eOOM]o+'jhB!l *T $$R":RŸi)&be5!0]lUC:=j|.+BLE-O)`n)@ |Pӷ@p9fOVX3\^m HP=ˋ `ugFt,yOBQKQ  jfsR@%uc옲%E]L?[UEb*K^ʕ?d=ZWtH2P+oLNW*dTHEt~vZtJ ,ӬH@g{Ilj2̷;0JURt>.}mq2i|IL=qAp7D0lj= FVAHU1(bjg!I{$}* /-xWIe82G+Ө*u (| Vǐ rUջa_FkcV+乴f,ڿ&Sj[B4Y(RMXHy`bi_`}'NmymWƸK<-}A</ql\TqE>"gut]yvx'nUaƬ S gVWWՙYK.O8xKL ='tJۭ5$ƥEdH ZFJے1B[϶ R/.w1t9~Έb M$ ɓRHOījx!D=1qMK8u]VBb+Ɉ(-U םB^\ FC%G16ː(v݈GQlI"bok;W7ӁbK#2A$#. "R/ ^H&U>&H9*\?)(q̈'@c =)ӡ^%cy;SJbwZȣ|Gm!_BjBw&U:/@ Yy!@ Y Yir _Q+Yb UidMt`)ew(RZʦ hAc-x;eylúwuUаx1Kc #t(8)=k}|gb;\7ucVw; bN_^ܨRGF+h b(iFy 4b8.+?n 09[rzqCIH܋HSkCgg)}݇Ck_xo]~raE MZdCִڏD3|ei!QmEs~P‡f,1ÿ66j gN0\220'n(_qBƋ4=?J7ߓތ/VPC_xE'~ e2ZvXn{?nehdܴOj'x. r2-|e ?mv%m9^O+_s~㑛nwHVYZ?q9T:k{Ve;Yc`Lsۆ1QP9ԙuY:Hb)i$[ԭVfs KBM.jS5!_5jr ~?\?mk\FBa8:\KBkypȵ6[[]|s.zP/}= 8~߽ fiv[|wh.bett?RXK0t*Eo6hAXF{G)Q.8{z$Ca(m*%{3ֲ F%l Oå Jw VKz(.atAz`ͬWiT2YBQF&3RGuV$cp.**ʂt>Ku*N_Хb6VT1QlSZlz*9JE!lBk9-qHU:E SԽt2uCW1Q1tVB|tЕZJl:tf]UZ0S@LlMKС`v[*t:k_3.ut*gl&p]hޅZE+\K1eANõK1*˵.d#.g*!v:w%GU VtVqHr{H*Z:Q]l#:Aw@:V'v.EUzhKe 6õ\բ ]U8*F+ߥK]KW{|]G*T۵t48PjfrFtVѣ;<"!I ju^_s@5[ۅ y1\ϊ"QNcSJ:ά?qv~c_OZzO J2*Ca;PJIC"EpĊyTfF7tVq.Ǔ"IbQRfJ"{$.,*&%qB 5:ßBPy !)\STa9`NP<%R*AM?(UBI]5Buj"67'IGK9$J,-O\, U&^Q$Q_|0t%,L,dT@H H„(O )K9{@ZZ;BPf U"r7TDP7Q):qD {Ck=2ТX_xEdwox8^p'\DǾaeRuӘHe8\ 2/қՒQhOu+buHk" X@)rk2!X3$[ G*xhxIb,y1KbMhqU3K_, \>WCΓ^<~*/\ +] \fy1!Wf!ݟnNut3dC9罾qIГ3 4!$.>#:e9{*>C&><2rL>0‡&|(‡ryQO$O4rIyҞtA@.H|(y XI9"Jm+] RZJ1X8eS2M:JNK%'y9d1 c̉*i".?/M7]'ho ,7 ,74mkc)`y,G [ZV46R+lˉr[ñ)FZ=v<U>#:HvmS,q:<|KTc@Ob s-#k*s)r|8g_*Aej YBG ~W%NJ,r˴ VOwb8VS4+uచ"DBH)hL 8 TtTݮ2_#+]J:~@z5]QypqW.T{ `%:k븫j2uU%w,q[ ]fD;gv"{SWj@3OHFgvE`YϚ4rAނ 9t u&S~ r7~Z&PYʚ[M>zШE<$"@;+(="D>F;w@#oC#&xD.}- ~-6|CbwEv{# ȵQ~m4@Ŗ&j<[ n/:A M& rl);;(̏!(ȺSc) ܻ9ПI&gZF4(VRE9Eq[ 8&kA;n#,F݄-}M[GgVYXzI~׽-Ǭ.Ojz]5CQ+2v vyJ~0ʺxT뜲.UI:О~EYbֽv;Ez*i =<4%]hl"/3@@d"^5U.Fpr/?ňyF,Aaȹ'\Ҟ=_m kC0"$ͪA$f-B͞asHaV`sgjkU/^tH;i_oޟShV*zAlo^`Up~y:[/{WC ߬f.8b-a2i/aU ~?eSGn 0 lLj5F$#)l6"g yCأ62(lp=*_ L=Ƿ~v_Mkrlp>LKfIzǨl"gGpߧZ[kے%6oE8.c7]W[a8(֎Xh=γs\S؎6= Ų;>_1m? ؇A<0tY2#u24]ȴ" Ȕ t3&VXa(Mh(!Œj {\[DaOVQSIe- ;Ul^¦oYGR/}A'/#n6qs \39D^VyDţI6_gsRQn6KHաY%+θ(lH2-;4d-z!0֢0(lT˫J`-A4vvK2nD=~}tYܮ<r7(~K |tk :KO$I}s R)fi'ŕ9JeDЛ9CgF< }Ӎ23JH:#Dޏ~W扼~7J!G -"R74-K|bI[&(|V|⳾Bꭥ vAoGT/WO4zYS>r7G @}]qo"v1Ȥ1ji[ MwBֆ`{Pz4\1ڈLUcG񻵈 Av3fyhV ȩ6`Pe-%ԢY  YgAab IPUZo R#j:g,L(N遻x1;0-Jm&XKz>߻+=.j۪Z.Lm< bֲvK1\JO˃0Gb# Nhaz*ۧX~qJ zfA= ҫ+I>Rz2)tP#r6/ 5pAFd:`DF#2Qv2IxzKBoI BhLmW(xӤߨD`I 64+%;,-Lq *1XJqG0hn5X&A%ZZno$`hXSHkZC%}*зu(x"2‹6h jyF/x)ZHX-0yC R&:AbxvhPm{n"hul)sɌ%>ٌ%~xx4w{GXfS .=԰#5%T1 (:NYQjxU( y &"Egt'~'!'d?ZHBE:c{ vrU0,yR{uZ3$yTGTԌX9pFDc ؊ q2v:mO[kオ툨q&x ^gyr+ ߏ>k~3L0/Q]jbP 1LAO+f1_iΝC(^tIM_F}vh.I˨[p.I˨/*KQW}`$O 55:J%;_iiq˜ {a_<}&fȚI2+kav̬IP,/b7\/xpijPnf"c?Dڃ˧{\>ۃabRx?U(`*γ0ħFvgiH?~ ܱ  ۚĩ*cv1fC/\>>#(} q WLcD(:3eHIXG!Վ8[cdIz>٢1JPʁR+tJP^(ɘloS)NC#`D2 V?/ǥk JUni$:YeƒBP)07;xJOnnƭ8<>`'0<LJc1ζ!/ƯMBhC1B>uJ5 Zm&P{X0s9ټssYwD(S06gjTMvQbLH]OfN8.BjkLYە)KDgqcqی;Y[6+VЗw[U[ |7T)얕bT`D_F҃3 acR:F>7=n6#pFx!&0ZϳC3<WCO|]<DO\ބ'˺ѸN231`@>qU/ƕUk[2oG(ݸQ m+f,x 1?+ ep% M.le".yW j3}.ޕő煰j[8wx# [$ޕOFLޞ-ys"8WH ϞHm& -O`{ߑ %iYf2{gS"H}R!̏G0v~J/&r{N ޕ*:*=nNhPMXHO|[Y?f#xkj X' ɮ|K_AۖoۥomDmKm#o0KэӱlȎF߶@/.%߶6"zm-!m7SbmKm mDmK Ҋm-1%WXm۹'v۹r+u!_V.ȋ+q$ 杯WZ]cYܰ/&AhcvFK[=?Ȃv?/Ix CAۇbM#5 Lj//%A[ 6F2L|w]8A7O}XOY~P? ze~w j ϣZyNv Y4{ؑ6 9!vOMZ#b$ϯBY?*Kਦgv̾lTYگq^VJ%\BXU}.[\O)-vO{%pLc ɔBr~laC~bcmGK> B@bfhO25YQw+rU,CV1>xPڛA"Ho9 =lسUʳ8ǕgGgGfcy_frLۘ1,yY,sh?f܋n.;8(egB܈}D?| n7qmpjBE婏2XW1˟x=sH53<'byH9|Ϗqh~<_0&l5_]_R[D]٠ENjt4&f&1L!պBSD.^;fm5Я#XmSL?.|YGǘ+/1/sP%,\Q=ō m-1|71LN9/<?G;sMGďKʗŊQFbŨr;Rgcy`,~ąѦȯ8XhሻWO.YW~"m"AuR?"^atpZgט"mb5#iO\k"g+|e](t." }qh%߿.;Rz<2q`ǃPc[̶Oeqc^1ʹ{ yYʲL)e'^ηv9,(za?q,f!ޕIuC,ଝkYG\$_@C7kq .^DYuRQY2㬦(Wa%R* ҥ!!b رү$l:;b,XϤn޶Mm r~lRS, J:<)v7D쨓d8]E]eЯeYWu!~ca0>'7Du4+o 8Vq)^s5 "6Y bdɲRF2_.sҌvO&HAo7Xc;XdkSkW8=v*{xyiUm vQNHhbՉK32|8{KHhI3ʤg VD\ҳq_Ckxb*e,8O'MjznS!!MZ}SZRg-" B,{LipTqOnG;G_1Nɇj*uUPf̝A* ÊAWQ]*vv zd5UVJPR̔D| 5Rkx)~]ڜ-.4?J˟z5-#\fHF7s*c%;?F@{py~7 O kxoyYxP.ùLFTkTK"EHQ+Ez L>R̗^HS+"!&:u伣璸!q3Yk F!7o~ wDƎ[d;pɀ؂.60ř0 CU|}T?'^xc*隘yI1JܥʮZ}]U**џZgUTkTD e}qV噩y*) 3KT 7:Ip֡]v숗;zVBnZ7,X\QSlpm6ڎdl Eg̎K.hm7,TL%љ]Zp$Yx⣬/~mv>co Ҵ)ɚ$ *%#._rJ&Jiw݈y~ݱ"ӲL<,32> g>).^w?dmރ.;euV!XKlc".,$`HHP;\N%^R߄n.qvq.v>hǭa;nmy;.9qI 0rZ5qNUQ>kTja->Vdk,Ej%QVv>nCvvŎ< 3js8L4c̨qx0~qI7kqÊ n.if`Đn}S8|֎Kƒ tLw¥1ʅ&m..qk]D$kΘĘзAYv0&ď<? 3Ņq#x'^5'>LXIp*]߱Nv{.]mjI(x5P=\pEmDZnlr0:=H7EBlle\j~xp̀n3$00j="]Yecg֦y/Gz$B(mݣ܅򰯤F}SU"BǕ̇@GEϲ㯑BzIYc<4xҋm HbE& Ԭx$[D>lr+$ 3z m%GߊC%9429s1V;.`Oƒ=<&G{wc(AgHp;̠*uCgIRq^Ib^[ , d>cab ^2_bDhT/˗/j %c--ʍA;Y`o|HDs9,Xc9툸 \̣`aV.3%8.D1 AM9r.CPSg"85ܣ Asg#G0y Z/+Ɋ&~OIp chX~=& G׻ĸc8:d-tKആV@G*qII&B;t@ax:h9v\>#bGuZcƎ;D3F]E|o(-5.h3b]itˬl#zAfP^`d^1k#!R~n(q˨e@ ` mS˲lqjq)5hl#mDWXװrR+?PE|k8T,1_*_pmQ˗%@~M}1~Bg)/ƾߤл9cƤ |$ǿwzj=>g_G+l#fZWKgYL)elzD\K#B)Gv\6-HUbSqG1*#1hwrs&֛jh^楆!r^_'y˙<`Ӭ:e%r1X9`7a  A<^Ap.lpbNxaX/[W!<~R8(zb}7P| s#/#L]Xb*ȴs̸qe(Vᦫ덺UTݫe9ۯ'˻R nS~ g( rLq'9ǸBW.>ys/΅qeTH`x_$0j<CNhΑ9xhanXU6Wjp>R qW~b\;EkDͫWk׹bj1_s׎#އUܗ@#`ǧ'KKV 5qHTTMrڸZ]p_?o=%:gCi 4r<3H~"H A LSbvaq- )O1~ |HMx c \ݙmcjY)#sXkԯX~dK+/ gp~^{\(J:Bwv-Z;v%WWkVybxuu g3v+_\r5*m:NI֍Y:ӨҴj݄*c륿Uk_uQj9*k֋u6tO__@7vNٝ[_:ݾӅDه =ߍը3˚^|_0}ёhUO<=u_j:j! ;'xx{GS8ZWY>ОBaګ&|z|b+37m8-iϫc{jk+OnC_VzWfuʝէZi~@Z0^x!gwy3o[qW>?i΃4"˾SoÅzƓ+z}HAD 3@^0Y\5fRpV4 ս?'W &!@@BXD<߲9@ *:̹EC$(锩Iȝm s]KCj>tQA]]]ޗU$p">א f}w:ΰzd|(g'O 5Ndiu֢< !С5PM><:| 3-)`e=5 o:f)xthudFVL~0>}3> i'T@ғ.6F3$x4kǴ-&dZH;r (x4.3}-Iu"M֢&p>_3Ѽ+ LE;ϽWG:_KBX$7a}Tmi=ʰ)6 gm[x_!le/_ضj/bfo+Z8^gݔː\Y'Mv Gv;^^m[ۂ8k'κ$l;8:+(qg7 A?BϪ V׳j+lMƶ2VǻZ4Eqj`}po;Dwgl@ ȎW`4Y{l;}m D贂"?)jfzloe-5nFY`覽 N՛3Bێjƿx^_(|=dY? `l#v|_XoV0p[YQ뱭;@4[MYnk܎mHQ+>/klc99ne56 tf#jmkös cְ?Hix^-qA/臇^KkY~kxN`C~ώW )/8  `F FyBYEBgZA[flqVm"b"z;.[lk ]i,>:.ڴxGdطնXZ##[n`sh}~Pڢ@ Q4CE8$8R(G~㚡@HV#.G9@sq۶T.[+&(eV~1o:E~*?ATC C8I?bp>J8TaMxqP&jqtm(]Ptm(]$jqtM5Eb)䱍 P1D$x1WC_J`F/2?Y^6\`T]0Dt!W {2D+c 㴋'^)C48\éF |O$1 Q_*t$ҝ!s"xn/@:@z#|ys^+EH~;bJ?p-SE;`2Gtݖ+O9a4ʷ)@~Ԙum &zGVG1[GAK7cb3Ϊ(™L8ow5o⸷(͎v7ҥQxh_Tƫdƶgm5c[«`Pդ@H㣊R *6~! #+uD Nqɱ/Q=̾|} Yye3:K.$`Vi .{iɡ16HF#w:ԧc̅OYP9 {;CAj+N¶6){gdc!{$*`R/JٛZ\VS!EYv5ʴ&~{qʐ֝eUy>N=JjP1c hnbFbK# T_k@Ue\5N]c@}~ 6LfS4q43sdY\ZAoB,awdˉEgUY IƏ4jgQ/A:-{OU-S:! xs{p^-T1^M~I .T#eD%dz@FڨPɢjY\3w1x|]m%,CHqΐr7vL/;b;UIW5Y~`FXs\(fKq^0n=a@G{X^6, z$јovw9 ^ZmsU)-9=Ij4Z,ΒTJ#yvC݌4`fófKioJ*Pm%L JOXuLfZnSt$|U[{I-:4U(D&T[hu8;p1?z\ei9A,EIR5h'!hvwaRX-j@RgF1o34/tLsS\2,0%̜lX&Mƹa,tBBz*303L~P2-x$&!Y&EMcBz+=AЯ\qV h,)^iI,,.͑s|V'aPL0pL=l|L.5IQ fjV&F:2Lp{2H > [EEcq~= VMO4 ofPR3;xf>F(f=J]QIky2Z*} J$+|gЖQKyLQ,2IA<08ȅz'p5y_V`0F&Υ9u|^0nStQx6f0RYM^00$P^s_6APfׄCRZ7G3,_o^&X: Iw(q70ϦPU>OtaT~n% `\/AKVIhf*X bB =b'#-RfQ"fQLWϘL&d{I DiZc"E4gLtle<< X+nC?!>T.֟Dd+1 "[x~lӷ)[mOep>[F`-Crqo@U+yxs8ըC B/J=BOIƨׂ}c|E80ȡU(i f Q#'r=krN_פMfZ]j uXh6OAK'|=wrЪ*V L~wD'`NOP%6:UojU-eQt[nv^otD=kҝ,ҖJYL;@rQg@Z&6dHh]G+:o:T^V?߁ЪM}- R65ss+{ǫTlkç!rVmۻCQbzN鷛[gku7gP܂_uljHQ%-\N3Vڌ} =òlMz[8!P9(lN7kU]I73T1Ϋס ePChgj;'A2(VܯQ+)eejĖ\wf4Йzy|1Dq7l,k=HȥV|Ñָ'Y@ry6pZ60UΫ c §+_VsOԮPrs{+׍i+ѴGC X (0"yΉ~HCK5:Ih*j 3ddK9P~j@k~'Bȳ\C$VFwBxehEMLHTYe *<7Xb%nɤ%Y t~ \Sҋ{]Ua{GDK,}7|N Z C MδIɳ8 ˩ CbԦ٠e5Aڈ\vNkK{lWQ&NzqFe HSw;S]-/n_u 43OyRsR!Tqy5N_uաC㥀!wSxǦ! )hlE'KAY!t'[.dÉgwdפem-l`q3҈ H0K3+רKC)ŀ>'d 2-zoE50ejyjkBIkӹL#6'PHO_vFfoV, a6'3ׁ27{n` F,TQY(Kf6WL0/gjebyƀC5nsQL#W3zxfm^R$Kb?`Ecf\Fw|]t*qg!v&j$yKH^mHGN'^Dy'*ј>HLB_ҤQBB(gvI:㶆ޭb1]c@Uu*>[2lR䷃<Ɨ;kgjw+p++"n{xl]eVWnvjAB8/q6r|i·yi^st?ΙC׺6 ߔ6<> 1ɮ\}8[S܅ּ0{Ob0 b?U6$Oz6)v!S|Iuh }-cyewKG|q4:wCV:P3iQ>֡'lw?Cxӻ.ȲT7:-_@mY yNيx_UեK-kJ;Ư6K!1_# CBE<\:<--sБϮC77)7S&C 7A>ŕo*F5yY s݅iHC2 e ]hFQda?Xߺ0 UA>i)2(%F(麯I hk./LCL ƴ[ 9#2M 2$qo*Ue9Сfu_37AYi' ^m,oYl'̊F{ OUgXh)f#:~!w֡NCUUʾ˭mK/0fYY \6`N QFD)r՘E8 7c)arg B/:-gdv4$K<@7per~Y?,/]`޹i` mIB&1*3ߐ >jW>2ƦVwI2Iz6D..Qjr QPQz;P->ϣWuE]!jX(*jh S߯z@}:}ԩ۩sNs*c#C%K7Pʊ3`%/|2]0ODu/,%njK^RL,0TZ-b%07D>JX:wY' @ݯ̶:%c.P rPS22r/%RLEr,M[(ɞfMd?:ŚP,rjv5rut]7NJWMʥH e$Lu,M+'X)a=ViT9 5x˞W J`9B=sɕAX'f#$Љ$Nh] 7DY˺ffکC毋`6X%+!X PNlPhvbf,T]4amNJn)oSœ9./5rknrܗ60bs'PC&T g)XHNPhX+a~Q3gCŷ{Rn^!Z? 16}p1~Y|[[N~D/|PS 9(v;xW݇Xs 0qV̈́& UIHhJ0}`Uȫ{ eMsꝫԷY"xEmF>̝c@5Z9hl ^s{uѪ"$= W2j ^(ˢ!EpN~w ?kw{ý}µߗ }YaJK̔A,e5rf BeC(bH/47/c{d@6,zcErDJxſ%IPH5Bdrn|[l@SXf/j^,#[YWKw@]1p~@pjkTm*oм+ZrFـwԀWQ:`Bz~Qǐtp?71Zv! hq\6p_#SO7yn.3dn;.<~շ}Ii.ݷϞe* :cJǸZ7B{LZ!^(coE?(M(cRȆ,h  *c~tż$ -蘔-Cohow' ̍~0k܆=aṚ @{"1BfBk8!c LDk^g#OKpn}*qLWȐQ,q RuZ*#nAalYN$),yw:/F?I:}lt5s۴21 F2P켓Sʲb+U(]1*(bT4=CG<ctmLs* Ghs:<5Fk$P7|~db˫rs8s]$5h{F#8mIJq)HGMEO1)cOyeRe٧*B 3 Jh `\ l8ȭr>vjids'h% m]@O4WCf~1ab73z1B?b&ܤ ڑΫo?*c|9~Dx?h[Lup>gs^'kfPOf397kr67 b͜xkqɆ[E?{?ފ%GH@i(YG*su3$ *~Ķp&jmMٱꂁp{H\?uHZOoPZ*šֵF?CCkWir@u󿬚͢_~TW })Y &*HhV@EDԄS!̟M8 J 2mquCgsd^[x!:P(꺱Ze%Vk*#`Dצ3E5ۍihr ˶M4_y$tU!{#/-Ei n08/R*;;>Fxǵ [2Ak)42/ /zKn$П(^953P(P:ȐN>nIIU3PWLE٣3uieZ2ժAB#񲵌5?JN^L)H͕ :-{ԑks^&O (N ńЭƪ#UH|%xEsĿ׬] -bo)ǩ^?r jėuiԑ Mqv#6ҊJ׿鵆 k{ɹh H.RɗQ ύkwUK9|p>GxX%0x{zW|Y8xb3ޅ.v\w-jp=>pX\Ds@ v [Au)xj~c!:Av Fm S8~u(@Y52O?bB!C'Y?52dR]LO+\[:VD7jƋocEJewD%g}2F&fA {0ɼ@ƿ,Z~c澣M"&sF#)<ߗ5^ewypۋ=FGRq^ ucvV̤l[6pMdcyZ; yA|$?ˬBx ,6Y)!:4:t\rg=[|ʥ &S!m.gmbZ5hMN5CRɧLD]u![@py8bԮg ?Vc&qz>NJo9n@7AsN(gAf O~pު{._q?L,vISTT1]gzmT\p76f)772xՌ%Q͘'t!> Nhh5DA0Ej`_5٣tȐDZ4EM4!|CVbq9\_]b8\N 绶; oG|9aCRޥx*kQ 'vR+ <Ԁu G\56ֆQE3.9iI6ľJ(*F]պFCQnkUӄܡ΢&Bg .ZHAմ>S TMuЇ̍w|33F%Jo í5Ũ+Dӄ~!EqEQt>⓷ňrQ ];qK<0{ثg&"&ԀN7ZGrD H3s/*s`I{$ЬȆvҷy#1 Э۲{.Aa'O8ps%BP3 IVE{p][{rO]y08r3I s359'#tP lb Mc2Nx֮,4YxqV&lR&Ϣ $ܥdeHo7 w*KR9rlBT; 1_ 5@.@`:CB~š@M8 QӞ,ҍ '򿃨 {dK_5G0N p$4ڋ \]_=F j5nB,]Ty9 r\}›~S7!c93gWusUh҄J+ˌ!jT;Dꩇw]tǑ !BC4U.׽3AYuQa5{:D'<3c7-%E;\g(B/D3nP~ (TAm<8#D[m ܽ7~LHNBz\A7NBOe#H(zy(S$afhy X| ?Ku)W )zWn*ibQ?fnJs7; ʻ^c|^8-,,ZY%ruK=^бB` 49Bźǀ!irF(Ӟnb͸ۙaf!dX1ښ,f|M5JU<&߹WB Lܜ ]S_@\@{T{iwK<5TͰSmiW{!fgϼ$"̳ ma˂E)8橡 .ʣ.& ?Jlh+Z$NƙD,MnxJ@49d=̹1}n5z*>]˚4">1*e_A;iUGkV<^TaJDh.;66;%ٷ+6-䴳#$6 WSlOϩ'-<\}Ps'X֯ ;Nv1Ay`>ge ]f:W m6{VkI `lh>sr#숖o9MHTeЏ#b3а3|VxܿDgሱ+v9-FЅe!:I`61B]+g (!{ ЙO7MkH11ݿhVd2ĀB&gPGS3RHM1 6>'aKcJTqǑZCh%3TC_oXFb=u좳>&V^`Ke(Uӟ#Z%/B3OT)h7Sz P R: o Znd_L0׋{k3`|fY/7q97y _mv.lr.Ar]&@wTTf=\ 􄍾. 8 T0,,1yTd/ia&F" .N1a &2зql_~IAr$s3=j@&vĞ#;`ax*#7[88;%P^3Iiݹ K`.{)v<*E3et.::br6"؁7c+T^ַ ,5}]=W7dFp'+ ;nF k Zv^+] @\ƿ|Cbb(il6TK(fXVW5H@ivC|*[ Yȁ8edu'Rr+wy/wq)6AWJkC|iuujM˲4q]=;b>F-lk+ts+!Śr T7ET-l -fg;E bXAtv.bE I*L@MHQuZ 2_⇑""j nWBjyF./pfwG[W^',QU\K1FTnU\&P&QNI:ZM zQC~vcAs>$ 8ے)0'2/"/KC)h';A;<橪\!0IܼVKgaJfI̶adsK5jj*ũ+N1|LvVb)3cnxWRF^ߧ/ .?3t6o\&[WMx,ļxUѝ[\:8 ̭V #E3SJ"]D;\1nhw֜+Ń}!$,〧By%}@͸7)-=0 h@ݕdn0|)T/:ް˙}B$ƪO1FB]x8v:)eWyZb{ׁ>[; RqpŇ /A\,PoD KU(gs!:_@xyäN7K&ܴ[nB~jeLq:G[9M,DNn/6;sf~U[x}N+%F?,*W{ oW?ȝM*d~;MtԄWrSޘS9ډѽ1& N/0^G8G) K r}.FD Qt%Bp2ǑWF-CGqPq~JG'SHŬ>%[#rnP3F9^:79,T/ 3ta|鯺1>J1~b<򾝢.]ܴ;0#|be_2?,=w\&D3OtTz,A 訋#,x~Fr`u'7_0WjQ}@K%1=腕[7mx%Js>oX GBH7 ;)7PY|^#~5yVaw3?BX͈ذne$JdIϏt6KVacX’3g5tt3Od2+IV9X>`(ƿ@ "ތ(n7lD?E?[bO~__#8nL_S̰9xb GCv㿍<2˔8,r_/EI8Ry#<7ICٯ[ފ?ϋƐft3]k-O+\?;xpu3i#'^ϥ ѡv61>^ϩ_>6j>h/x>7Ga:MF8Dhj&@%4r9x_C3tޞe)ѿeOuRTk&`V% ap#)ܚ4t[UAJN=%kNRJHN[}N9 [-Po{7jH(<'cPQct{Iz~,ȟ ~qSfՏVC3Z-'t]%`-w^=D⚫bAP: G WGT_Svgpk fwι 7s>9nOyy6ӽm'ݝh,_}ACT}J5t@OM2:J #>2>q >r7>D7y{6Jodu\vO*|^.&ʜ7\7-rRw4ޤV󿬼zu.Bs_*j q@/X݄$T3x^R2읻}@GѺM a^0hn` D-p(.T]XU4V+zNxl?q@fgr3xv`q($mwp\%P7*Lq ųg(&grӃ sQJe5^(-%\vu'[ievfALU6s*@wׯaj }Ch4޾ET7=-QOk1B~)W0WI>֌G㹝~{XZ@w ptdkõ)  @q;CpSX':*?D'R dB{+γBRKUsXČ%B%;z#Jiɹ8k >Ejv m;pG80'=]w&K5gܩd= 7]ý4ʯ=&ĘxW;s%fa_Pn*<?̱|,96*xwqG>\P= =N{4!n<|tV,u9pyUG] Rtrl`v'We'y1ӳt93/Ô@ٙ!wL$`v#<D2P d WHisR'udMvSw0к> | z:2hh/ad%:Z g=ݙN丏}(7=JI.5AP{9& @"Bg /f^}Z>{8v Х:CoЉ, F9Ϡ$kˠS:Ӭ231B$CF^r$-NpS̭p @BpY˽A5 )ً9WJIN\Jr#O*Nj}ѝgsYҢusS((r ׫5oSr2HQQ@rn9][(O^%EZ3֧F4d ǿ|\|G}>tǟ"Hޥ9zq^KA Qs"t~,gкٝ: m7%Af3 tJA} sEZ7rCAfs)B+Lj&I^1@8)>5ʪ7&j^?QI]2rJ7?fk~vsŌ`" ZƱX@E.s>S?ƀr@]&p ȁJq*j\5f*iJDfYreE ҁXV (.dOωZS Y!*i?f G`YSohgmƽ~"ŝL PyNzjojSހ5ţZjIwjK@;рȝJ;*%EJBT/@HDܦvN hHU.Ξ+:~[3{ՊV@[=nh&eDC;Ͷ#B7=LZ@\Dg iɎȣ̶`jC]v51ETHSwɿBD<kE u~*HhID5dT2~@́(&sUMRq]=QN4ɬR i [c)q)%O|Қ-a,OG\I׵B4$Cn Fx {uw֞]ƬGf* \b'ޖ@(nSpsi |,htw9i0qڥ@ߍD_x7yAØ֛jMX3K"zgCk_z t?~ h?~M{3f]Te|٪u"Q*wn_'0CGQ,t:Oi5M*Ly8̆Ϗ6z(=c{ώZ1eRjyߐ.@y-=ҭiOD_"44qD2ewcgPcOonjC C1yaٯT/;;j`PsTr('wjJqf1S䡨tm5Ï<#O/*0;ND쐲Giǿ0Fv/~D&Ǖy<D&9n$f: _0%)J{|Bm#S}u2vCB@pNd-X'}NMuŲ@28n fN? /Jp7ϢSp#47}4N&+!I^I/Mͺϛ Ӷr4G%gY:-+:WPAd0&=B*YAt5yvQXh 4GbXaxTn-wI֭,*Srd7_6y^@@Pyc|`i\}Q"{Mb:CLmcɥz"y9X:1͑PoilFA;?$EɬJQt~%hgz^A=7 a2fMcO(yE(aZŲ[(gӲ*, =W$i"e=#hfMY'9j]zk~A -p+M (*-J"Mc}cirI_!/ve3C3~>M{2 YdU 8_wxY~>bV61p/щ r6XACvv<-@#4ebH,t3~M\ k/â4 nW>NټglEr9nަ_ʡlM+xULn>64{`'#j -([@,jK΃xƦ}[Z$ `L-K>}w < 5CckJlb5/^+AII5tk%-b+[H ~&)4.֬C5@ 5躄h穱˜'Ƹ&UícYR .\.֌m뎃چ mN#[gB_k0Nw&{y⺌,%IZPɪHhbf>4o0=:[i]xPYН8TX2o?HSx;ե> Ě92pd1B\P$Tnd'oi hSJfEp*].X6Gp>c t{-Ào啗m{h &׹B;%\\X6rp2PK+G͑ˣ.03>Op?>G]1gvZwQJO1r>}A5윻Þ2 G$rh_4⟯c}s{/8f, z>F-Xŗ?f+]hDc2qϽ&/KE- g2do}9ZP"6>W죂(-H}zYdbuE C?phv F)}K d /Hvn"dWsTV՝p1HV; QL3RQceHv8;v с%PۘjH n3^as^6%Wz`R5ZG5TJWZpg"Ќ N@>(3hN/!\ Q8C fV`$j'vh/J$T~h478Cy2^:Sg[~ʒ%o\w)zySYbzu<Ĺ@xdJsit gܭoZg 0fm>o\ Q _g,/d2 KM0E^RA={wyb<3wʁMͺAk`xأ0\t{Quŭv_%WNg8(&/fܓjW2k8^{jBqc: c=(:C` sǒ(s"l."W4hX17ėB' b>h}x>rGA/{ ?2! DfYjScDE+3D, 71G @DYd?jT ]&O`ⵀ%{>CHǣMH'ڧgH(IT1b9Vo_n7ftO% i!\Ͽ{Z/[;@›`Ě !*Գ@MXSx047Jetr!aoƽ}8Ïڲإono{bVþ.('hU,wXHs)_uծ ye] ϋ`ѡZ y_]w]xS!gL~,"&({xf^8syfAܫvEb]"0; #f[̌$9WiWW2)FM*2b$q%XP ȡOThd Y褎Jbßu΂+m#=;_B'(Fѡ :/ݩ6M&@G_5,QpbW܈+\Q ;r"!Aҿ͛xu bҚr!`eLk| D ޡNZ,:jbagP />>ûNҶb[5%6rZo|(M{\b{QM݌HuץAHmc ɥbNfk$fwd}ׅx7xX4qVY1BUWz]spߥg#=FH1ޯ vy+!г (_sicbv:`WggYb_XcϸDkB W@ b3 k{_z{FGϙ_|uf#+kNO(_Κ7Oß&ęӂ|G}IBo2]Q8(\ $G 0h6(jF$@$ 3R#$ rx<8VA 8vu]o[w]Ԩ@BBP%54&#ߧ\P&]O]O=S}p&`"+J<'=+A9wc4:d&uݱQdHQQiQ^QQ{QFQШzH+iJ65ŸqǷgJ7ڿ8Pc 7yӜd ~vtH?3_5KE>RK/6uatO(U6 #zff%OSbȹ|(q'Z~1o@&()mGP\!?/Ɇk [^ڏ3,.#Ndxx+}=jZnNC>{X/"Mye kEgr7*J{S^8 yE]]ϲ1Vlԯv7isXg zjkٜGg?dFQBggP)t6Hd6;|l`}׷R?+:TQp+x-ݯeD X [Cw680\qh3/Zr'mi{[8/&TvfCt0F~QFtmdoW$u9,Ն u*!\=E mIӬvcN!s BvR1!;~]9L$A>X$ifiT{s?D̥M6wl=WdW}ͼy-V6)g#.:fC>Srm!oeTygL Fv!:fCQ Rl<4T?-bN)".}Tڮjr ?d׌`eJFtM] ̩9{}˜e5|\I:}d7 i\+[y?W1hG{=tOgz9}VC7fC^F.<-uw¶i  oR݆FrCNb,%ueDB\ߊP[v0H[>+d$8Щ4hJՇڐf$)1 |=TRЉC~M6Hj2*P(v;]Ԍ(-#_(:hI8<q(cƃxBEe `QK$qDRe(\(~sГ{N\ yBXy!8 nBm+Ep !+^w,9I!VB!u7ё/p;Bp3zW+D$ 3QUj]6pF̛#{}4њ:"u/&wKK "c7]S08HPǃ+U\%7rV2V) J@H_Tq839z].%#p(7zR ~HDH..弶y2oġуZlLf!7ddRi?8+5kAȼ r7oġK9FW e.ZSoy-?Ć,l_@PN!# Kym`lmҏuɺ>K95#%r9 3%bo:b4(#SV[Lw OC=bB9?fwad49 K*AvD!᧍|V ){O?!(r.4cץ!mh¡.ߘnvG٨8 5nSI+$'%4} tGyLW L}EwFxmE["N#Gs &n>yfH'g%l<HS#-q'eKlH\̅VhM·{oZ3*"J`a͟1*fGB6{CʡNwN{VF.*aMVje o %_ m0}w4rv|mhd&Ǔ@ǍTuh[/e+Y"!.+[%Yk;ǹPF_ڡO~/eM때iK"9/e~H4ɛ4 FK ʸ .q/!7͵~1v_~j?^lZ:kJUQ1u3_`6~jg(({sjO.DӠlΗ\Y`4^WPG֣!bgk,nh8Y#Gq"- U(`xuUx˰4dKC ^b(2qJ$fLp_(ys=-uG[XL\^ U@F{r۠NB9G2j-b}nƕ8 =mn릣T}Fywۇ۪H$% J-At _F$#!t`2 FYh Ͼ58GЏŇCKb_>F?6q`)B~BiZA`*14r34fĭ thTNJ}w7QLh疶/WdX- >҂iN%x4r+0 rCSg(P'敘uz$hbTCFI%ӻCSXRe 0_L5p)U\y$TM!М,=K$~؁C2V 1>:  "O nL6ZZ?`cBݬd43 sc>$c5~*Y2_0UeFqgmV Fʽ1)tL-s*(@s9NȹAt"./E04CX _ؕzZOR׆ %2F\d3R7edxQ9eE&=ٚOCqCsLJȟF |͢bǞݟ%XAa*q3uTT1 Ecx]"AO2Ffu^xݳc'.9gLY^nyD cHOF($ع[i(4Ƙ" &g۔L nu^[%OA"!:9,x4:pY iA^^ VV!qŠ+v\dݬ(kaL-KkCMS1:B(@]Ş]*#Z{Uh4dNZ,&jBUMGK1@ y+)QxTWZ(KjҬ[ }C0rGH"mmE^LP; ;38A^W-@?n Ht{ĈA>B~ytAuļZVTe>[ڮ/vokESvMp%1xJ1>!g1يC9Q_. `p .Yj7X/Ur9$@ÏNlLrbc 1 ~x+3Ƹhtnj>%Dai 9)^})jgujU":c:`ы0uřYU.jW_G}EM ]'EeuͧʟM~_?)ץSf!ה>}7l.l_EzjkԮ ~Ř|EWlbcL8}O^mAZ(~E3ruN<Sdz7_‰n:-]ƿ蟆AhK>lPխJ %sGq׭ =T]o1CK#)uV6&.L&8L7ߎzQ3GwqI:QTyBUKaKe3ўiaүweS=㎨[fS{"OZ+}~ȜYX8cu¡cOȈ^fU4i=as#ب_ 3B:@Oea=`ؽra UNåK\bB%JF WN[Hjpm>L &Jy6Ò >q^Tr!aáWy ӯSzYwáJ| ܥЌ1A%yQrH#19tťR?}VÓ#T4nڥ'jd 2}&lg-S2T|d_Hz#p]Ӂ^V7'L~tZୌ1[Ωi1p$%][uj!)g,˓2%c#2ߵxcRCDF zR!4򓙣~ ?bАK>@|*&GnS#<0u\1~1De:@[Vԩ^w4lxfJ\6C?Nq^h% ¡ʈ"ji(J *rGOØS 1[1wnzĆ~f%HF_ؖg0oDWZ;z@P[M@ql?)ky˿MKZD3 vУ%ShAz|J&Y>E`*BWZ|P?5k(Q<6=WUZ\˒$3qrzOdcbz>x1o:(M7mn3hK+mW]9T17Z[OO,$xnV~IHVqy!j4GP?++bv×vCW![MS)LqZUux30.ɟ#-ƍ?8ῐQ8S 2ZN |l`d+&g3|R;W}XvdGpW |PpV-Evl;L]CyQ "wbHY8p m(_G3QL!"et4=Rdr^QYԳ*TUF7-LZ\mA?) xq=ɽY-'0ݪ>=wUG;6=GIH#F6Ă*A<ˈ&2O 7ءSA~r#{SwP 6r˗b#4#<+O'#ݕyPAn*!{~vOȆ9^0 ? D6RFKF"r̓#@u!Adlq(c<꟢mլEh:2)aGIYi V&%}¢|1NA6o^_m&=X0"}%D^ 1wd#vnM6=DSCh(!w}G:aː3ZAZu;$^CD,?!Q9\KdY겖tL@ȳr~b}P]2S^K#(2- |z%cSD9K&%[d"٫Z6&۟i[z:!p$ulqMMϧ_%s##Yov l3ϷӁP\lr7( oHKu :Kt}C0;yݏ w/.V{y ]zXT(dRv=>m4dj+|uxCn͖F2"~^T=o8ȺhJ!~. 0}@"a1Ikkni9ѭ)$EQ&%8i8HqҌFpIH! V~` qc87wik7\)_ȡo[yq,f$PQl"l*E,dBLQ60l`[+hLV<DB;BY]ٍ/ nF_=OFg(e->eiHLCU? |zOd'cʔęڂ1/9Kwn=˜Àdj*/m)mV[v.%hbgvZUj^Fol*[Q +hR-^wCїLL.̊8<~kaB#͘87uxSTdNST;2/HD,K2ʈ~R;W iH |˺XT&Tn+;XT*CzLNP:)?ZJ! D*6  l_}2`VMw# VCc}#ַ?9WE'26[V݅5 #n\Jbp` Y tZHr>9O87`&>h?sˎajٛ DKOx" $H\}kE])<#&[|G{W9ߡ=8!ͥ$Y,Et%ߥ#~IЋ;g9P~}2^LŤlHQDv>{Kҳ2 7~u{eD=]I~ڒnAǓ=YO|aG!T{EP雳Xt{-үy8Ui8zQm>aE;fw=u^()K\2gcv=h?ctyW! E 4lTWY jü_u74&3%q"&A=3&>: eK1}*\~ir9HН(,|.x)CFr ۷ %yl.RuG)_HZHa!ҡ = ؞=S'%Vc琺^SϬ d !)/hu`{ByҊBU`3eD@$6]/ǑZk@1k/+ċq"Sȧd)XM=w#9 %0CFaS,q3dDk\+v:n_܏.]h7V Dxޖ(>~ptG̳(`HRhyD\HǑ _|vqO7]-{͛MGCvQs#_wkNCSxu5MFtk=(^.qm"p";:"KS8P !|cr]m'Gv,A޶$uGJI.m]LAC#'a&b?KFt)zݍtT &"4+w\w7\>V^CbK CͻXTv.Ljʎ~w.Qꋻ,%yNƥ@t?@~ܶJXbs/FM~Xw[@+feoU|%SEp_E=|!O:yՏLJt18XW_I?Z;OiqF*Kak +r 'ST4UF]@TIwO㫺5k;_ѴyBZb;'")*@<1ھ|RFOa x4acˇhP/k݂Jԉa ݏ8#|.k,d͆3ǯĥYzg\{&- 13 +x&v7ҿac_-tYs2Rcӑ߽˴d^Eyߜ ~\4VW71fIsDߕI-Ǻ= 8" S٘6}4ˉv*.vZ"6Oa=D:?xӑ4ZV,#HʄCˈ=n *It(^:*Jhs/߽f[Q 08.,# X3ѩ p)š2ŅMzKoLyZ}}ETqvy7*=tcc9TYNj$ I;EOE"ᱱ:Њϰ Qg}..8MT.t\.u1E{Afl3?cF-4[)PK/O=sj5s]A:o_&Bu{K: }w.d*(X>d\ "^Iofcg}+z_}}ϸ!cO8ghp%II lf6S4 fؿ1K O;D*ct𫌙,lz yz;6& +xs4zk ~xċǃYؘ.:'5_siuzrϽ:B9'p!u/[ Y`[FJW\.D>Ev0Fp󃼕T;N +\%Y T;Z;ȅ蛟"4<Î֌R;,%@jh:-YHo60}p0s-)Q軌1R c1J8l`j.-?v -gc^[-]j^bv; (_ȣ0UZ]2A7 t!0iUm^ѾU 3 ^s8?ow#Yu,<Wx\"ݝzZy`ضKjP~J,,eG~ B} r\||"o#%$/D|GI~͆4rrʨǓ'Ŗf֑v?/^DPJ; 393/3ٍlxYF%HHS!~]-Wq@gPE'X\e̕$ƒt!Go I-w Nlۍ Iwe!%bs)¥Nl;dGJY)؆4E!IHW2MOE_߾d 浉62!EYGH~/.mxK@<Ύ$nN1w?h_$d(׈+ϩ">tDZ|L5_yl(L|кE}+y}>Ɉ~r 6̞xJ :Nn'l~&=%ϥH) 6uQuE! ^L.wXɵV@CGvAMFjg[ O\Uw']p bhݣeJ&F)OB>_dc ˈØ5ME`hmsm8̧/> `/nN-^lj y!ͱ!L;@k]h2 'ʈ4UIa0οЭ6)[$”Hz|J AljC#{ &P)^h ނ;D E{OmWNoa aEkɸ1:+/^!'F3 v|'T 2 UUڄH.Q&">EfoO6&BIY}ŧK.q:ldBY!rBrA#?XkR ,_q]a/ӕb)inF3Qi~) g/r"Dk;[-'ḪEs$I5+>",^-GW 0&Lli-6+ &=]~@b-st.dn%;wEm S U*1v th7{[cҕ$6yI:Y΋j=J͗U]fWz+ 6&>}s\^  fTG_:E88|ō_C3$K~ *e6l-$_e&esV+UK[ԃ7+f*dW 7k!] "Uޛ9))vJւ۶؟۽+,fqyuGԻ; {acᅕC_ vs=&{舯s&Emf5xbBeJAa߃.fFYs3UMqi0B6050F,]&feIFݯNSW&iUfH?9FʔhC~IFဠ{[cL4h'a6)u W֌JXDGo9+щ'xMDM2?m9QLɅ3)4J\51Z^^~1>1sS*M=!{CPgon¯[ONﶍmrG,y]il,j2&kUB;zx/JLo>r8Q/xugˈbTu7H |Yl5P"LvZi;<lBX rjNyr~֬ ;j'_a'B+ER6ZF@}{.8@l *cdEؘ`/ BZx?}p͚1Sq{ӵu0l+SYkv8J]uߋOoQQ7ʈ/-}&?Z Q"|!EM\`IL4?9dDw׵ (Ⱦp͠`[EkDNh <'R]f`~$>YOwק"ʳxwļsºlۡ13"P:\naeˍx ) Q}b68ewF_rG0I*2=wR΢ +sG H.Z=#dwS]\u`𰻱;mtT63pIM@`ƿ=Q5(H" f_%~8gtÁ:;I0P \.=Mw(#\l;@"N޷e2.0@R `{FCXT ؊EW`9ςjғ1>˼Ș9/2SātZ+ 6vLy~00/@۟3EBP_[;09BkJƘc%\Ksl%mcL!ncW]oxX*k-X? x.r\(mcwe 1VZcj䭕ʘm?:2Ihy^XK۹| JGU'!80*^A  LEc5,Z:v㕬([:&͎LOj%ڕsEXggăK- $Kl2= Hy{S` ܂*En 3O]-Vi9Y5Yr|,AO [sMSQxP2 8צ" XPM&^dL#K[ޚ.8 [g&lm9hh5c4AaUuE {j)HFHv#3(}8(8T-.ǛBQΣ8ƫԼ/Ymsx%YcZ q=Ha^>g^r63bTwNw8rbg{2PGq-}Э@댬PprؒP_(Y6Jυ9@mJRlt a:Zͣ(̣@G(S#䃌b|^_?VTIB卅2;%BTy&ђf"BF2tPWs2xuDՇsT|>E4.88Zbfe  dͳ2P6]ڌ1';PB7%ѣ`#M<͟ugz 8V~o^3qVD6#[wQշ³O٫$Tr|eJ`.6-y2ΰQ\"[nUr8Y>^7̹`ܧCd_TS)0̞vjM/!H-^~=tɓ!iSek!xrZG@$0fz MfX*Tww..I,] t`ek3V#$xkq+ؠ(p3,¡~ge$Sq` qܸp*QlܚI͇1@8 hN 4'g@߽N3~V˯&|-xh.Ϙ (`%d~)#Мcho8 IlLugHB+S{263?A'w>A<h߽;&6ِe˭B cjg0ӟTœט%cश 2XJ>Źu7c JapL-q̴#~=kEU`fo#~Iұl&0:"eܥx3nF"͛ㄖE:zo18nͽuC &d<-}T:-o 8ɈY)%̊ fReI+ccS}Xi/dS19c(W*ťniӿ,Xˋ]Ӯ`#E5 9{Xf*RBP~)BC9znP@l N˜Y>9 +iN./s r >S8nՁrrjPg:co61 l9;LK ꌮDG~K*="#|ImY-9 q3"n&QRg6OQ68,W3<^6;(|M4uM7;T~wCb:Xd"[:鐆4 $ /b.!B Hj` Dt IӚ:Q|q73&(Bl"Ts ;!~uvp|@[UTթsNUśJi¬sFL+1q0{ }$z%R8|9I$%&}J/ie8>~C@ѫ'8TTs_ #$/W;*fA>`Qȝ>l/x!sZu BC h9ezOtʼ, ׆9yOcV{WE:TqpꕔTD]2^KK}y;(x 䌛jB2=曂@cq#-opabBi8P#Gc?L?g )Q14Mܴ٪=xDERߡ5J( ܦ7'{A5rtk}0Α*  \ pCrR,&OCGYF P1*~ LF8gn uIѿ̞uwt!=!J^D`tu) Z!5"/#h /5Tg<I88Rh&zrz AUNe)y npfo=<yjH243M?BOoTB59*<'!RưdscJSKip-yBɄ}$M.t) aZ9@ݿ$!TVK;.mtfy q7pqҗH5 S] _Ō-.#lEGTDݿr3!} xB/ WrqzD/F!~=y +RZ.69Nd=ڟ5  4x ں<$szT[T'O{6]7iϦlpOua-$ŅLRcqZV̎MNE#F؊c ? ml̵W 2$ވ}MVwإ~!NIAb7RJEd&B8]4(`Oi@sE,xh]C:S͏bAj̞8()r? t]c،n;{=` :;mѳx7|=!O,C:ߕc3F0,ƁEÀ7򍗿볻6c>G`Gshsb<}6$( =r }I" `v^'jNng]4߾C0Cd,  Ӣc 4$Urq%7LsuG5߁7[Yܝ6B>)pZLC_G)T9p0}BC*-/Rꋋ伔F_׿e1qR!`KTdTQ !\5XvxOK[=*Üh |".TJ 6 kW|e޿?A+T.A)ks\³23I\&݉ :Ys"'Q-kUDUNْ oA}$/_q)w+TD mmХ%p^\܁#m0%'@(KKwi0|f!-RQ-OEbؓcch۠ c xٹ W(B7YJE1}$0&Xa cŸl&`2?񧴮yxqgwE\'*,͝ C&@j&#;BO8(8BFWG{uH@Gsap09޷8o/K?0ݷ!"!}GBuTHHC06YEVQp5]e " 8>ٗ8p"؏l.G1 ucqpn9p10L"p.ds"*xj& Ӯ`8q7cb~8.`p _xIqx%PVe?0-n'7cbm^x}z ^o_ZK; x))uqt;?''>/^| |p|y>gŧX*訶D'CWkWQ-=W^I+0MPqMl9iشk!Xn1=xF2Ɏpa!fkG 9ip+dHnEwYq6Ql77faG%+r.'U+꓊_R}+1=ci*T6| r $64!ڔƺpao όo`mRśBnK˵E>H3^@:ڤ h9IoKDb):WG8H8!ݗIMǥ?!z Ão`RfWsQ"09yZX'' %Fr 0opŊǁo o/c5 I &1-jDO!ulې@XcR4,$1ƢQh|@?϶@wh+ ?qwp_#4d9Y +63׿`EJuH ,7@H'،Ow`1V"/E|Ig$w -- \p+8i8|H8 FfdLNҏ;ou@#IAs+ӎHO+GS2iktTT)xԟTD5Xu[h0.Ӧ2lh꫱B@:NɌ)EB݌H(l1 ;eގDT&߀p#Ρ+'2҆'Ot\x3lJ'!M60b WS,ESfidn\mq57js#SR{v8 t#zHUpl4{=mR{#|Cտ->Z^VmQ:"tC MD=$.ŬRĵ "sZPt=! X_! N4]@FXwK+2Ȩhv%p GmѪ^zG䧝G|gK,8 9#QtnDI /ѽb*F&DZ< q!%km.Аp ΕqzEvT/|)ACXsCՐ/RKx@huŽ=eo`_z jiv;ISGr7C,PĆ8f @hX ='QJ7;c]X˥%۞lGS ,2g|.Qpv0 WS"qҹvTfҘ{oȎF<ý|4 īI"sE^42WN 4aI >!Jeg m9pEhsT)&3 O.Lx6\#{0އ w|*B> &;s z(hU~&Z~

3_\]& $<|nÂyʩ41ߤ@&ޙ6;ߑ^p˰z f 8/Z[X*Z@I4ز\ф5+ݎb:4W?V~jG֊ʯO\V(y{ZHպ &;6䤋ɭvNOenCV$wύu|޽R9a7wz:vqo|79Lmz:&Y<{+AA6/9mLׅD!ё$;f{4/60uݜ# 2f UU,xߐMQ=DqZ=Â0\hX5H%;qqKr[1k#^d'nODóe^Wbif[=RF!;09sJBRapYGoZJŃ*QZǧ[C&,UUIUU6*XٓSz7)MMj#"74*RZPqtic WYȭ4zяm"D'ֿ`G"Z@-Iv;f2@QϼF) Zl9g$cHb1W~;)24k%" m> )Bc_&baڱDЉ X"磺[~6vnDrcT*!~CHOuqk,x!|qWq]8{Oo}7B-|+Ic=vQ/`:0 ~]qK|.^|Lܟ د{O|~| >[0,g'/cr2k%6HN!*=(V[zXf|Od$uu -۟P&20vBK#y{ܳvD}뻯,4j,;c7LSE٨Rah3vDS'EJXAJH/?LrI ]-: W7&s}cQg%Ļ~X>zѵW#ux[L|7#>)}H3 :~X87Cf/NÉhygox|?\㻍./#q/X.M@*`0)!uq>R7j)t\Wm4tOS4Wͦ_wD3B^ ׁ48vԩ`[vT9Q8X^>eG\oha6dX$|: Fʗc=-5dyFBJhQ8~˜yZ>r,Z9aW^S\xq^p9RZ_&"oɇAvʎ*1!I!zw[rXaVUhYQvTʨ?2}iXmBH_!ly#t8l.C88O{8δ>H!5P:pIs[/%`JMFov9+="[;:|7R6o)-|ko`IC2=RD"Dҙ:k9^a&[v1?毅Nk1FTf;'J~Kit)M\ǩC-NFKDZ1I kfHDH  x`+ڌRIH.3RV{#_=aGD+Qk`W+cm^~/tzϐ\WuŽ*/ѻq.qpX> @BT>_+n2ܽUBP<4YhFqve|n6qj:_$19 -r˭&aA#ͰA=siCNvq S㥛u mYyXeL|]a0y!KDtj(@9nG;9atYkBmI!eDO2w8[ieD ¢im-|ۋD:M}Ze˜-h$i5b* Ʋۂb3Da` ŬZ-c[ImAx'ҡ4cYHn+N=X:'°3vHD~͉yvpֆ@w|)X)%ʹi|Na-hҹPDҔ7^+D[ i++۴B3<$ћL`nB0~f\ArƦnV6~|?< ]m!Ff|rV-/dywU*\os=W}IdtݢzbfLI)t<$Q،fz9eTOrͽ| cL:mx֍άf:iHy!3BƋkQ BY֏Z+BNJ%dY).icH]-5UB!^ NicUVhEH9duVg-uVޮ Ԍb_6jn%g>ڂf-:P/kyJx;ۥߨUDhj@)mlȺ;>Bk9r!~$Exlz5aMlZ CxZ% ?C78qc!t&K0ǏÔ(dS u/.A]j(U;lUzŜ׍|A`礏b_xCٻh1aw:\7wcä&rxjHB?]i8qH:i?~,?;C̏e9sĄ'YG aN* e{6v[Ŷ]uϕlHL鼪YelTSNJ#[!IϷ2 2GOg'j6LN.:ɎpфaS;Z ì/̪)՗Wq[JO)_䠓|-V˗VL*Z{Lպ%΃gĐj8Ĭ+1"@( 9( n;zymjX&3f#[S5&5M4'gsʙsi2WsVVrʽ4\J'v|ɞV|Ž`7#ӶՊ)a@3s؁{=c &vԹVE8W}bG[=]u؂&i}媎ZppI8ovT *oҠ4XrJg21[Cm c7JQQ9 0 !@+Q:HtC}"RBܺ\3/XqGLԂ<)X[cb\a'|7)Ms8Ydv:<@<s8 53w/ڒ> ! K\MJH+]4kcǺ6 v¬V-/d]4fxSn7S)j !֊6.BB%)rN{ٛ 0۔ksv23It=r`v%Q;2<& K0N d[[i vBձpy$UU봨;.臃k#dۣ]H2ϽrmcJ9QI%ɼNuSBQ8d%*ITvNIf}m o.~Õ6[ܐ<E=0@SI+Tu@4kJw&T6ȄPxqAbdMz6ř0=0t)E-XpѲ~I¢ʹ)!Q%-! TK l6+@XVloxo sX X6TKQuQNmYujіgC㜎 H>\q·v+BTAH]\N wf/֎*f;#Rb2TvPLfsy8AesX/&|kG ,̴9dI8NAHoka;#xFYIA0 ^ !`t88yzHO݄,)I ƁPdd/t& LJ<ԋV8vE }hId2-3|/儚h,VB]MKL=pLཅEJqA | <, H|jWW/.1]ĉ;t tEQ[=+yQ#v ~;C{"Uyw+ѻyQ&n!;G~ Ƨc Hi%$=b2un,C\8hG\b7xX[߅?"ߐ߅ᗛL\1Z0q"Vns\2 f:eH s0.4!-/MsZTQt_;c])ϰco46\8a't=be:q4yh>5_J؁E['hN-Y ;PZ1&N\eVMLiZE>RQ4k\1<\r+W4<9I( MM]\i ~®v?Xrda[Uی+"jknDmoarT/<&`Y{Fn2 L=`GRE XMO 8E”i0ez"ʚ~oE0Gk*v"9t"<hM=EF|J\ oW չEM8ڻ NndJp؈Ή08KirEV`xB~k5d_>)0!KEXM|G;7K'0% _u!ݾoVp[;@ ;NFҦ~3Nǡx')>ʞ\2֮HpМ59LNU\;wp0k;dzNRd !rSh1n` 11_cEz)T-[yk;EWCK.B$諴x M8.Fl{ohgˬ.I J\FpQK 8!$DTD6up~~F0k[tEnQ;_t[T[aQ qN >}]|!btVxCP+owtsNBUa9#koz>3\P 23̼p잌0szL'sӓ9dΐs^< !wQŦnGh@tR`wFd7|yHȩYq^Z[8]J !VhZ!bbG|J YΥ0Rͨ{-6kAs?V l C/]]]\>Z19ZO>!fZF-YvjQNgיiV9 Ni֡QVhuX'cmʨEE`Fb9eޙ f3]'B lGK#!B݀_&-Y@)Oi ߁ps 7E.+uk ^x1SZuH|ȫ2{DDϵ$껣$m , Y08VS ^;MVL8eT.z518{ra>LawG惉,""Ȁp V,þi? NHLAX&֒dZQ,g8s̲aQOo-EFQ-g`c]&磇| byGw0Ҭ}+8nWG ^mcy!B lЍ ٮT=J?܁7":9jbbMWZ5*{>[v :7|S'Ҭ~3Ik$~19hlĉ1|4G Ⱜ!qžH˛z!~qU41-!:~vM#7fdqT''rt.Кa a=`qt4x(lV*ѼйL"b3eBF3I\T@8XTaMp.e:M1|y`&-T7 @>L*/ W Ʌjķ/3Hog{-OCĘ۬$@{ځ\aI5 fchyf%{QcUkY^7uVAv7ϻ"PrCb㺹[{W YwڑhGS-;7m}G:U6T2aqv bq4`ْ2v$mYkQN`'Ua,IyǂeLB͋mUuBHg[$<k%rD4abⲈxp%{ x)Ҋ[qi& ߀ "W҄c]bu7l sId\2LԌfwD"7p+XHf%cSJ"<.Kir/׭ Ŝxd3ހ͠SB$\!N)^ɵOf*Ř+)tm&5#ۺ+*Wݴd'(PRCDl]w.vRCnhzT.HRY[pmQM51&e.fl)z?x{k ӳ)=2dq> 4Yk<s) RgvG=w,O]|No[}OP3Z8㍂}өu-kQD9?j1i]f$lv|[ =sR?-Y/KŎ/ldg[HAMiXʶңQ)^νo%arM0o5&aV'6@817BˀqZg2G:[j5'CMo.ߴ,A0֥N2#FCf,onfF~h1* P- n!-[%-K97yG,M\,e<pJ=,3hފpGر۠xبW{ NbsJ6ϥע`K1i&_2@F-~iEN=Tm !)U?baV'',ƘfR@r$蔇r|Z9Mʩ~l ^۰Վ| .C> oNO@`vL},F;AI5,?%D ȥlBt<nƤ/,BdZ+!zn2;~8{,XM vTb1M8"}Tيx$V8RV |ܫ b6|7;`S vDwWtKDZ(hDATyݯC_6QeeEWK'ωq k谑n|Jk[ wKo-;[EP%Vaz@7_b6yj-K&)BdCo#CmN`EF1 3LE\֥&̭z}#H\^lj\ ETMm72Q*<^C /&ޯynMB?BPӷY0k9\Ըu Ѵ:; WS=qWE#i>U x[?L6!DWp~-p8Ŏ$pT!I *\1FO0r N7qtHNg-4:7( N. lO0%(Lu'skcd9E!R+ŭesKR er Ӡn}DRQo"95o5w[mv@[s$ɩN0A9ZM>KSNI\&9R!C!_rgIvF#B@V R@00a;w Ii? 6 wM%D?W}((5wW/ cQ/䟩#:pRZ_M@zSKâw& W)9u'9E7sI2u?aSg~sZQXPmiBZOF.*֣AxJT$ɯVsZ>%ѱ,$!c'j\ԚQ1_ZJ@ʝ&z \eJOWQқ2/f[KL?VzA+v,L-#(`r|>-&A`)T`*;瑃8l%',iWq0R呃Ђ_rnZ/G("lx-4ן׋k'9GHψ -{(&&8r8<Zx D6З;ħgs,@w_.s;)b-'I'+  蚘jy}N=}@-JC^vL4A݌8!VMH!;vE z9@8Rܻ(N3i-|ɕȔ~ѓC8XQB*o6f60zz՞#JBQ0 Q#ͪ!Մfb߼ئY{ lY~e҇aG:3sf\v)-(keclnk.!ʛ dA]`/`H.ڵ;K586ibn99rI"fwvD] ӳN4%f,քc:I83rws@-nV1%C8gb艎+ k٦aqw(O193:9Ir8dz IG6ȧj%|uhg3i",W@d(ZN.rOk]t"A>t'pf6B9ekp]pNi}#)K EfSBo39·e_,ZmUzyd\}L3͠/qOf NpۥCf70e!Pml Hܣ-Ƥ1FҴ_W¢AMb<5=!jâ-`g[Mf|5 A%ٟyUE۠h*p TiB_ʵ`XB%Oaޏ(Cz绔P !+{ T|gh zUJnO@31 {1| :|)w$*=.e@\%_>C;C"^`-Cd!LCtԋHf5=!z 仛eh[ZVBqV#dl@"Cf 2F$ _s?ODJnY!H"0a*QO/f,`/F)Y'|}Y!=,z^{v)!݉| D}@7ԫFH-q6ce*zbf\WZL%d嘰6cL829zm(0za~禕amFM}Wf^;I#gLj9Тk]UBU19THaYUu|8hymPie:㙕ϫ7z=tk=3LJnwꛛ~%z=}{-΍~QуɅBg6hpf;|W4h :/^-t q=hbT|}&3*M<}#? qMmA߆b&aPy 19ϩj%/ gLC\Htm 'IE[8տVNGq5S8mc9ڐ/ hxE @ ё\{Qm|L \B%3]R.-phGw#kbs" Ĩ伛bzR;⢘:M8r㪅X|;K}a@$b= "E8ˈC=PZ*`\2. %7/U^1!/4LOHt_툚\M|m%FPm&)Û# ojtXi#gpxNzVtvTOTzWzythh?)B]p@jJױ~޾Nr:zN-h*'3[} B ]|ǺM)B<=i7v'ߝBwyW88Xr;і &"$$1xb V~ol)AX209Njt\w GK ݫh,B4c"{zEǾ* 0v;6@<&*6bb.єFC~aNx;1iS+AP\ЂI>@#o|H%1$MDSTZAF+kC ajNyq! k3& p8iv[8`IhxŽ=^k9PB|6 ?U0#>JzLVf>b#vL‚|X[iyg%L@T&.# f#8$j,!bʑH4bR\o$׆5W k4Lr4W:M\cH͕Ir35$; "n1gr|%τMoI:EkgL壭=B078Rc =h#+L fH-}<r& _L{<$J]Ϗl3DT@ 1Xb$.qpXxkdТpUJ&#vT!^ϋ{>Fǥ׋"b@BA-)@WT˧4Vc1kcpd ,ͫK1,oA#nJ}&豋+*MxZ,cz=u1wթ!'90c%)obKaW/ 閴vL['cO5R}LNh0Ơ}.-O>n }.43uT|POi *M\ vTci6;Ei٠Ed5J7H=v$nڱhax6f)28׎E럚v,Bl|޷Th0$ͽ|E6 )͍SE,i𨊬qN:tBn#AZZVI+h2nR 7Ò"jQE%M ⸏8Dl( eKAI{N'y|Щ[˩SN:u39 b}u{1_a[&;tD/PTBWUh\sI*2·8 P<7 #'bǼB#уe(]Rwt=b$)!tLr ɐ܇WV紺^ˁb<PR&~,)4_0[ BC =!5Dx|]"}ᆐ}4<僷]k}kxmcMY}u42Oz&Oɸ2̤r0\#^@Hl8׏S"6BRf4[lliF- $4Gekg/06ŧV&J|hcJx+?[-GJ{oЂqLCT.} KC~Rc[_T~h]o[)Kg&gTJ;I7o8( i 8o1l[9KII7Wnn- .sk¬g@ߊ~g_ @@򚌌0PB"X=GU˾mV[3#߬)uoیKH]^|Ǘ_Qo#nZt͡~ه}t\^ʬvuuQ(Y' "G'Z/|z_ "GoaQ^O^a#H-&+ԓej*e?Hokg "- JIk֩;W*6)X}Zl 5YQ)ijWemaIdsVv߻?I=>K#Z~չu"}8"|Tf}IOSDJJdݹP1̾7n} b rD|fodl ]VI-{ ~6ǭŞQpCptTaC3B>ƹ:y "5m{nƘ=>;A4n`[>c8:e7Msvw/?;hdpBɧVqj*"K:5EϮڋ~sH;'*z}8C?D+q5|1mT p&O QL_Vw52(3b\xSY*,ĦOIwwM!zxQP>w[jJѹ>O0?@Z@PKG1#G|`'t Y iAW˥`p$QH<-W+ñ^+$OHe$uTHe˒6@C, IqV*(-Tv5&?{Hpf*CʎmSH :.+AoysW0ny,[ BuŰu8ǿ>F u0fܚXK"D6U6 }^t h)|c,׆X.!TJA<#;D K{#d辔>^M`LKUO_ؗԫT# :a2_sOC}bFo3:qTAv0ƑVZ}{ kP%+ T7NvX_&].V3onнTl Bz~(MKcۻ{;nn5=)t⥟Ҍ^J_kuA`i8k>qǵbSKFE9y+T~:8v o7 ޹-hȻ/IXWaK+ۣ%'ɔ`z쭞L ^j|Q+Ո 'sdlXmf1._X yH.$O'D?Fn w1*}j1wf!/`!zlO$5B=fnQvGmcL˷Z·sp֮:vn9 ~c e:bL6­n<[7G|O<&,Υ\ؓ;6Z)eӍgDwDepKhR8?raY8~߁#L;Vځb`GeR3ARHy#|wY=g.:ǚm8q7 @8-AWywFB6bo>8!Jg u|"`IU=Ӊcjo/:~&L] 圕J1Vbm6,Ci8EoLKMCuyL"(6r$KMmVtcz!89^Q0觑iAl`LmM ^E.ᑊUOl07S)A7{ "䏘֯Eذޝ 1U?!c6_r60f87}Os-NNE"VjZz5]٬5U]b\f@.;C]?%ۻ3- ]0{IυZ uk/vV!~O*2.\"5_ Wwlqj &>rSغ4)ABP6% .FhpS+6[Ltil/p,tXlA6@saSf*>|CGZ o`*FJY)̯2@AÕ]G'J[ॢWyMdL&t`Vd7/Dz±> /By0IYrtԃH ssy|W,3Ϧhc*EB1:`4.y 8xZSa:RbA"7]Dީ:߳ޑ@ީ(ڌLHّX@ttd|anE 9. !3MXL^ZlV|XIc!zxZ>6qRci98C?u+I=HhևW] ,z%"jh=HC֔TD7Ճf9I>e\.X}pE豜-¼EZE^!j=@ezg]Mq5۽aY8d.dx 7^&?(kcFܚӹt,WV &-lᇺ {=D @ ?xLnp~}E\f,j;m.Dغ՘aXgԓ\rVrF-+ژBs>9VQXӿ"zejţzer*0?&`W2X$b .'>P}w8 UrբUZr)\ ߓd{d7 $z{{#ѯ-5Xs}8f ނaG Q9[)} l10SQVA$D!WT`yĽ[l<=X֮s86;cv|-:7,aVǬnpIZjIEѽ~)Ojhb~??!Dzvok\曃aG&`XVoVlc)XCPxv+oT%U^B/F\nS.+YiLN\N*X{>,g vmv;Gj1ODYf"}:F4Zo.3X7uMFc]|dc&rwkiVجE0s1zuu>y2Ey4,/]HćGAmRV&˓7 X rvPԓa5Y&b ѱl9|ڎ 0V'N~'cYpl@IHWw"nLhqNv3):GV8o8TSW% 'Nwr)GW9η_a+`&Gt);W >Uc'EuYSqm4[] sMZ>,xߵdD'd[Ȯ␭2oul]@u@ffƢ9rvP! W3)"KQ< s*bI<?OYB] J/5@d{$ɘ%{ 2g/RZ{[`+a 5@@Q\j#:&6,qb9iWͫ?j~1}ڎA03Ix71m nN݄ϻa,oc[6W!ӓv̭2t 7}_1m\nP=7mLXGzt( gPk) 撇\kK9믞q*1 .7?9-g~eZ*,YefY(Ƚecߔl293z5ޭ6XVPQ, (p]`G NWn^<̅Ly4ۻ 1mCA0ে]V;^ Fba"i\s_GVA X>ztF?_f,,$׆$Bxjkej5x}XZ0Ly؅ Kx3 X[䤩2 EDwݿ҅O@g%gG9Vdq^-Z:#{}ĘGo.<ι>`H6GvQ;vEǕñ! a _NpN|&]`>o i1}svD}68}(:̂wN]2<<.&͵ѯ?dL[쭖^pno3g~s ݔ xL#tD$E+>`.9 UN7gzFԺd~FG1 ttp% ?¤AEg&CJAz@O]?6hEi7fracPRGDD0V ֤߰1)KF +S#fƲZzUhg#fSEGka i׌N-] n/$BzY4^H uo"rFs*10D,AӜϞd,# ƢnE,ں)tIq:&ۋDR2#n^>]/GCcwשK,v-=  ޢv̑ʦ8Wv;TNBheG>? !oSTNB.VL>c~o߻S!E~23؎.:( 7He")7]]8}2*'X[THuz  X=B] :?kۤt$ӣNKnI rrλ3wk :f3W}ɗu۸L|ꩤ bdhiJZpIU4nAH"Cc?(x7S|7@N\-D>XĢ; =P߲H`b/tYXmOa~XmOeEuXm?ē/{AA{p3H2h5n%5#SJRd:7qi25S! &O. VGq6{>yȅ2ʅj|Bo5r#=B_tB,?\F>SB<3d\rt^Mv H<0GXpSp7Z>%Kl(-$s|7ΥX*ᢂZόER)$"w!܍ zc'/@)J"fX=W@PAލSTQEP}l7zy1Y,̪ =e*3f+LT~9k |g;\#Â*꣛f4Me 8ƹ!ȁXϘgX* p@D'8?gm #)$qa[><1)ЌzZ2ݺ7G+t@YEv`r0*j=n}4[fĞ7©F*Ӂdy90y ;x}: "+i { Cvd Dn%*(GtB"8k3NTr'+YUX]8fd$%Ƨ](r <^Gƚ A@!^gx6щX΁s;hP'X|MhC>ʋc,"H@!CdD6MV#gaNej}'2$ Ѕ*n Z] Qc8 ΝJ_Yo9BtX|ftoAe| w)}P ҃.Tqprp ?W1Ve,-s+'B.T~_zW'L")z{gF?`YHBmVHȡCr9e9E0}U(ѐ U<0~28 _YfS?[!8B(.z1 f]fCRX< #Z"pnA3|w zk3rLxb;~_rw`ieLD yra1_kPOm]޳=J"ZS95`㫦W? :;gwp!w=~'vB͎ʡ!K+i'pdy/v+vb;pts`,_z@t'g_xΛKS& s8ވڑ '`:sAZ+Q ^<5'%dӏncڒtFQx>P-:^ "yE7$+,2L2B*2Jm{ x%bW9m*3cj́%6os u, z|7ߏ#i q踀w޸,v0\́ rfbй-ɤ.Z:Mj#A]F=)湐u ѧؑBNRt^P9m**C{Ly> DmŎhi=qmX4 <1ذ$3"g0F?ɎNg/2nROЋ Ljp^ ɺ+"5HRP#>)bY6hoOvm1v28%3x]ɎbB}.D=MYw1d(.dXܛjP"YEo1UgA+)}1X _C #JA  \q 60_׿}~XM&sH34{kffnXt9&cps}ۘq) 0υ* 9|?#yζu?fR_iWC䲃 90C!4~pMOxɦ"yP)R; Jp6 #YZ5 瀋(vTh7% mڝ 4˼wHe!ڱ$8~e FLhޑW}Kܴy@`dQ)RAPhf2聂3m Ξ=ϤP:ʴNeɡPFAdOx1?$mMBīRYMBF)> [S…LZ)TٞSPy(J 9LgߐB90Y`6`}^,vgQTucXTo_IgwaϧbDpxg0V/OƤ0i7r7,pH 5ax9 #"GVdD k\/ ~}˭15y#Y'jGqDȐkCڇHVzRX2yÕQKtx&B|Y=@nyVeo][▝΋v'wE>_D0ͱ;gW&/st.9mqX 0A52Hyz# -+PwB4cxt-zJz ~VʤK7)Od5]'Lxp]}Uf f,UZ1G"= g\|yؓšu> DܚYPy-R$@6x#X+:ni:V\ Aʩ_rRז-eUҝ<@K-/N;fmzCԥ ǃ2g,OO< Ӱ>Y+LߔLRpn|;έ_[= O3PC A\qeNu8%FI8x"6^[J)y98v?~㙼f0<~Q>Of#t 'yLmvy0݅ژ/_Ebd:ׇ[.)iKr|BY :6.V&u ׷4icՐ8m /m+wӽ1f\9ŗˬVV;, /; ڽކ <2>.!m]xjGSLiKڱq|% \TZN 3W~P3{1WvpӍbo$2vmIf0cm@u qI~1:#AB|gdW=+SNꍨlA*Sdjp8ǯ[RTfY>yi9ӣ o7Bcrl1o3.NaY%9tydm-cLrHM6q-cFz)d_9S~~Nm<4Ŋ~﹬3#Jnӂ+=/c[ snb @/mbau4Wjɑ 9OdZݴi7)$9=3yX+UMB1)#a7[M `ۦuo&Nd}+W; ޢv̕ʮHB( ɰ=cpY$v&wkژB#m XRF]!z12wBJ߻'N$h^sMW[kRxZb}k](#={=Vpӂp 8K͟B*;R,sg&=*d+'CԶ;_Z^Xm:`2:%3p(uxmůIݾ!<*x5م@당pZ;9sM#mE;f(U ǵ1 UeGԭ; ʼn`n>=:6q- ٺ|;ҎiHZUӜ@>7?kVUGRLڎԍ@>5ջ5Gc¢G_Ɏ=W{XOz~]d;NLG d=0s&W) ϋ"RKB8U7D숶[aB@j>@pi~9&.]3(^80Χak5+҃^#c0</ca(x6i TWG dB=y*~< #<@usjvQnnt ϏH5 *3-o]VM}ðĆau]|ibH:*B!uY<\'UEDBALMoP ^ "|5=k‘PF6$3ۛ2޳t-! kwO[Pb_r$Ia2n30g mge|,d+,Dϱ&i MK=6Z_#@MhYlŹw\'l:ǂ>=ÊoW w'KRY~l 'ņir;viAXbTJT dɗl^"> GJmB4۸sXkɭ_FUA/ !PoqJ>hAHklX{Ȇs;栅K9lر6 3s&*߁o",9Α#KtQ;ՐvRϑG!f Xv(DX_R&Zg=dx?o%Cf-$w"[zR9#0?a8),9dPLZ 7bX,JD-=k8S,Eo@izB8pb*n^lKYM_6Ebo#KhX뇵 {l IpZoJIww-LAonN]Ƅ G#@#Ut{}KJ$tG*{Seڑ$ 63{XOK4;vXfk߀G˼pDD3=MtU4%R(Ѻ 爌U%CANϞٞ?AGndw7[*cћid?C+R{nu~Xi(GQSSp\5H#wD3eYWEN,֢;Q v5@e Uv GdGUšضEru*yXXaacP#?VթaŻS,jzJzp^q#+2r-dR.,uNzmF:2W^y تQֻV0BxTÑP!j^%^v6Y|-ƈPuKZdm/HG[py$>Gzl9)1.e)XƹadcFuњPskbm]jb\PΉQ+)Po06JiHw!y`=uo F߁d+ ?I=y,vKͣfYS!|477ބ+HCRQ'pY@tSH0VKi08&&q"2o23&r|n,TˤTbrRVO%/4 V+|edb=&r$TM>*{ G1j)շɖ߃c1•zi X0h`~aNLt JXnL&fV
/Oche- Y:c}!@ZHZB|rQR[P!qX[fjoKV`-viB5 Rl k [͊m%/GgA`ʝCM]J' '\m }Iq:K8L.t4yyfi]J]g.슜.  )2OQ*=RP7$g&ewAivrz+J3{ݥ0 cr[+Z+cs,NBGԽgc]e8G >pvN3{ &ag_f.{ Ӻy&س{ [Eg+k瘥9imH r眰oN]wMXGkc{wݰdB'ui;}u!`zPe;L݅{Efv78똖S 1\zBRJܲ'M"sNH/ BR;CyCsc⇍(E;T %6V/јc7w i ,a 6}v̳ E=.3ς3N h[L+AE?dSX$g1&L8\t |>-AE`nX 9(a%EfdIC(F#qW1'-Q!cB DÑi6ӡ} 9l =Icr*#t43 .m`oc;cF9'0T˻SVzH&{^c~QoO 6ψNt?څc,zrcrH.Ph9I9miKKf% "S q d TAZc?ϻW>F2wc1cfp:1o¤jD.yI}څ*^x.DlpȐuJ~6]Tfdw.tU_@a{F@PHdL*,"vtv dDc ;2 13u yaVV>f_ ;EޝC( uD bNM@1ˀ1V!J2Sb4VSWTp^Mg2Ƙj/q}8bk8t?jLf`!'Ƃ 3grff/;b*NBB>"̥99^iA11>G| g@NcHe-9hUȂp17GB0u z"('^>"aBr(֮7K=V$Im }A#E~%ۅ*$a$ۅ/Bo~Ɏ;6 kyB6Ή"&Ep$8 kE9d¸F8'$I.Xsm( IZBu3{ai121B+] gw&ny~ чjOH3<K2&'B)f SZQ6L'8*)4ED˥,Bwcm\7qS|}y#g,``\NCw d\YV@wr‡x TdC)2.szBZ X}Ȇ0I7҅*JBV_B{ "I{ 18~T?Hp_!0q/ o19)wr*]`S?LAH GB@m6)1sD䔈>q Eg*J*Cxf8̰>.C)}rJz>M?*>b~[|h~aŇu懌)A(t!3l]7) ǛўCMh9&5j].a4TNO#HK:|?`Z4 ,2_E;J16P'9ܼ`})j!HI]Vz@jU5V;5725jSOjٷڌ&\ !dna.$[jdݟ$5)H(tqN&0@0DZI4 R.^uw;ʌ8)ֳz=縺7Wq&!\rQ.5 !$pI?T$_@SO=Sϥ-ٽ!"Fc]vi^=ł?>CS+ 7D\h C#:?/Y!b;W;7_|]]?TJY~7 c%(U!'i,A967e7xB^k-X$XF(&KjѮLQSgt ΰj}29m@Éw eت2Ż=s \ܤFhˌ#Kī ;ԅ;oG~)V=,-]Ż hZʫ~OjK|dMq>V%wX4Jq <`eD؋zl|hD,uMוݲ<, ֈW\@&ȉp[/"ʔQݛ֥v. 7uviN#ӓ <8 ~m 4՞!G=jpY%MS=Krj[trʧF ;W1gp"K+y8T+Ge:$<ʔ0 *dsNg wM~>nN(%bJv ̮aaj$!s+~LsJB׿<]2/fS'zp|5Px1GC1+A1壵?E(mOA}Kl*"?.%2r3 4$ȴwPbZ=t8d`- Y02ka_ñISW6H^M8fY.9`L1m QlM^{zi$<pfVzߝ ڂx/b&‘9o:)q[.*y+Dp[X]۩Fփݐ )`'M|? w7uI_k}szG~rQ%^3GP+x >?Flڤă"l-)7 X2.76%riv {DwbN`d%: y%2H'W#]8̂X&[F2oRfXuEU^bc*=;Hm!KKHUitTcm~+g=P>=l ~LZ3ɖė}4VsͺIH'!w srؐ=_fUM%c½)|'!8Ӭ۱oJE"Zq%K_llAaYTQ3Խe*UunLƼJDW'(J 6Hc c8{{(3iyHԮ̃r8B6uK"?܌x$Rc^lpH&l^V VZ^lZGW1nyĎ9=C|$VrQv\ت(ah [UFr?9j!N/E\mYI+IAy^eBxm@S,?",P;C*8a 1!4;BZv[XB/$&,q |BqIw?ӝAI\/Ez?9oc9Q7&ߥQ b(ypyv'p41g3DTRLbvDPC" hOb4k BʁM("2tGp"Ђ{0نԍի[FL l bb4"ҍY8 [#]mIMNfz ?/S%nI=QSk%뤇>_xDN-*(s9@v27@k ؞Q| XB&_lK,)( ^"[ݡ,m]r6c)PQ['vD)l+w30-mR$I#\܈jaغ[eqa VsAŭ[[?[O(n4o1)Q06kr#!F|n'[@`WRn㷀Jp\?k1*uy)77hp\}7DǍ- 5ۺPh F1ho4^ HaԽ ruNU 𡠛E}#hD,FԾsOXDo>; S#fOr%5o}DlM =j3D\[#SIgv뤹x;q?(bHlq U%]w|6@wK0Xi6`$(%:V#1mF$@LѪTJMiG}KB2=,S~=zIǎowt2{)3{NLTrHSĢ'Fi4ےp?d*&ٙɶvDhnXåj=)3/*)ozyNGN@lܚEuMcmQ4W\v0/0Otx i= lI/.vcL.mfԍ* U1Ac *E>XD'h Hꅭ ;uo}0 2 =/,(w6/s=O:¹0)1+/Gw9;M875u^PF`#ӄ#f{6It$w桏oUQU>풭z{e6Loߕd>v Җ2Pf#C!ZC ֥'8WAw e2NyRi{#8iցKT˩]N|B:4 ,NZ;3D0  F4v3ytjdz76 =wQd]yDB(4=o"20LE(Њsoe Tw͊soUW}DN>o!ڧYڧ)&;ObK s Œbl/ŠW.!4 _pŧ(-q`Sg1{n[rGDrkyK_ >z6@I0 SxNt+P5|}κ{ 'H2ud߆U GvFZw67K>f.<&8Mc1~lS/&ZǗr.FQyƚK>ůa +Z!,_u\fїw?ͫ$[:"?J>[ Dz+&o<3Ëc}o+Kan' t28h"qKhu-}$ ˳Ql4k{9dT{aABvb :)?Ya^[}C)onK=BuG߾ xe6_(hs(DVQ X *.>7@3{4փC dJbCn"Dlً`;2SA -GByx +8yu{D`gR^0‰xVD.B/Ѓ[aPS5;-*Um @Ė[aj+ws^Lbd>7܅FO4}ZlFv;aKH\x'jj:o[;}&>}lV,އZU]WԘQ r05k9(7QC3$F׮3Arޜ^Xu*ˏb-DN{gsԚ*3CgH?燆Vj 1mv`i rR33q8r3$4~?0Kd 4 [q6*٭ۏI:9B_`L'>Ĥ!96fۡ@3=Pg@yk+~||+t|[[K,,HEq1 [iƁ^ .}?Hvh5/.$v*?`5g9'%>r!Gs>/;;/[oZn?+rO$o˰[l$ccAprXL>+{7s ,g3*Wa;AN$逤(ǐ"|N[Q,Q,dI|Bߡ_Sjh~ᬒa>6,N=,daN a .t$mn)t}łQs(*wIhHp\tOp|k:~MGtd^F,r~a]d)zAJW\Ǝ\5K1K|xK5  -+&g~P6oEu݋Bd+w58K ^~GjVWR?!ӌ5(bdQZȜU7]"W&=y#Bf 9=)DH.ɯ/Sߊ z_<}~/xǛ@~B)Mw#\c)i$9m@RB y{%9AIqƂ4cP~H%+Cs-\./P1., '@$%tBFoA&4%&dK""ځM>zE|LVzh/~ۂL\- Tfȹ(N`۔H@=,r' (B@QY uiG?  ^ЅJę ZBg?.nM^(Af.SO>4X}>xS(!|j8EŭK ( G2ٮ5fnX}b/s&T3˾Ѷ_Ve P)'Wܑ 4 y;{SӤU1DhҋM5. G lK ;$l'jtл] }I[+ѺygY>SiU_BO)U^Y\$ r򞀒'ym(.N[ ] V~kڂx㧄~zsC/З( E7 +#E}bB$2o|R޼ Z_rNpaS yst'eWH<+Y(H^ۥ'I0 `1E7k%GiӚ1}uQu)&.=9BlA|@_&&h2 =4ǃRRq$nRʬ"Ȕ2s) ֊J\'bXJKfq HT@B7Lg3RmcdKϐ)G ~P1좞w=_Yac-%=l~ H$P?)B('_ ]D?( P@6b%ΙngҔ J_T&[S.J! f|-̾sbjsDĴ/}:leVvAڵU-1&( I>?SA[;/GE쾾@(wCXGޞ)Y"}oGG/y{PF }~NU+GB9u@hu͸,Cmsqy=_~Hq؛It?8t7 $]N"xw睠μEp0%\w_Ē˒91LnLФ{3A-GL3צ :/}&p?ѯ3K 3<tgK{sX2KAFm^Ϧ>s<7 MΥbcuETC1ob-^e"at%ΐJWN@O 4(,ӂQʰyh,Top+_,Q炋TaBjAbs}k$q>֏AHmzJUrm{~}X,Y{:4fL+%&?UQGKK{R~!{!d,k7/FP;L9JUE5 !Hv hxG}lQ9^Ob u[?#zJsRJ?/\'/]/Jd.qj1?%-5lWM 5%O W|;HqޏS}٧2\&kH\qiZ]pZi^Vު&i2 IgU{]ߜ)R G@p^#؄{9Axi6PCG JZ&|!ݍ>!U{lLq Z8$vp _p (Kpy"jy} sR ;U.XV+E`?H[0:1 Dab@H &NbW]Pw}ׂ//VP$\ႾsB+q= h}Uy~peI}lyz^JG޷+v6 !o"+-V6Q;X{ƾW-2k">$_A\; ?\)[G8[phF.i?]º?v$=YoRPwJt.}%i׌mL ~$>(8K,&}_urN2iLg;l^ox'{}C9xB8JC3C8 d`Pmi(E୺7*F^_C^wv9ISCmQ۸Ͼ/q"δg9=w8iJdbPQ棐/NU|y`Q`,z;.c#&&?ُEo=_`(U ~@Ģ8 w$IJ#EǁfG8}kJHk\}־jǂ> z1: zzvK:5[RC!o#*EJ+L+j+<58-3ҹBjǹ) ]jA~+'iP 1?kj{%O+嚹2rpA_K3?%ߐ:N0IӍЗf Hi>]YQVxCӽOٞz>U a9q.5&0еW (= B{+R&]BQPI]0ia5bSePO"ᙧ} 7zf^kԋZ^tӦH榾&P~G]p܋StUb?svʮrg+RS \H*_gi m.ۖz` [ 5q H{J."-;t~1d5]t c@Hà=ֽ4lA?e2 G rk,S#|O& sD_iNF( KuBMN:Xu:Qb3?H~^ 7d0u$To}́(Ja, a{P"4H˩QJ!EHw}2DAWz>lw1ͩpR%qoqG ̓1:$Inf6wAuSa~G)9O=6|yr'{5'J)&88c rle,f.zsϡ'nO(h Mf8F?P.w{sb*0Rs%~"`gnC(!G&~<Ήm}8_clO1L˼4AM߂846!Wx"C݋WR66)D,}9G_EMP(حM]\9z| I4J鯫A^G %;\y(1/8DvCYr1F9XB qǘ|.W@`L> >G}p0OSIXL@LO+s叡p#+=ZC] [oW[lO:.[|G4m=t (SGBr8E{%s|joޝuyzZ5_J%{~V&\Vp^mQjf%=f{)2ӼinkGI6٨gʣYC32qSx[xݩp3z}*ɝQ~-8īᴶI*Iitte!IlAK2!FGFH,G%E9kW0`=zaGF>AgSd&'4Dw0xŘO2lPNǔLvr`S"65iݣ1:a]ɴӏyTxk`|$L g~rh]!$D5\Yۺ̮NTA_67 >w̔OQR:;8j%W dvI4p6 27 +rvN卮Fhmtpo#=bzqat>Z7Um|cvK`ucnekm,+\SYat{Gpspbq4z8̛i&ގ%51pK E'.oDz+4oG&)47 F>G7BdFLn߈j h;}/³Ng_tlfO*gB[ATtR(:j'3?CEn\.q2Qgl(ھ1Fݢصh]X_;;yfDߞ%wCycȖC<_Ki#u/6חa wUӀnkV^^{%nVolF܉c ~uMǁjDb6 qH/B!""$@;j[Ԉ9+7<7C*ҭqr<9-SK~cw%,G,=i.x>Fo^X|mjlW .M16|lwp !'mK|Lwp67psp6NnKdyg%81eQZv*[ǺK 1Q~RmRN1yVwơpgIAnY?TYT ,4zi2SwY1Yfh Q#]8GNѸX~eSpa7A6(uy '*I_`p_m p4'͆'wSflH.FG3uK]Z߹4`.mۏ.ܣK5EYG|$Iaǟ:MϞk2_ED.P&kd>ϸodXy8JÑĹD \Ò cy,kXSR:׭[U9:7G<:crF6%Cy`ydyTt n}P4\:Ɖ y[q`Iɤ!44ldnn @l!NIMsݡb[S k^,VN ~+qc`{\b~6mmC YnH5cL 0d <+YW73X 5F#PZ<ʕ k,+Gn7һAlck5@6@pґTyOCl`Fߟ 2seBT箆T 3y Ƭ9ሬ/py68L.NVt8EBkzr ߱|N$ceAÜp N=$c,:,N :  D3.0uks钔ҁ0ΫOJ:9Azz3%&] Q;Y=&$Nqh qr럃;p6[2lvvlscr SI_( .mOe '}ߡUpKZ 3v2NLՖ߅BWYn;v%sdCh[2|XmQ[rF7>ئl]!}:‡uR`V*/i` ќ;s傍c]Ғ=I3/{iW=.(D<ԥ8?-kF,]$s5pgE؂'R&ZN-iH;$v,F)Ivaw3Hn Wf}Z5 Y式_ږ"ZpҁjsNR͍,7NZf4[<&ȆTYߟ,LvT~i}.'t5`K|5 C~mN'L5餓~uĻfrY\F6@zi L!F6rqpv%ܹt ']ڂ{u;^c\;qan}iT2<8%E*܉* p hndxǷ6Y) s ZU8I?Rt 7K v7/mhv EJ~&E,M F >c 1?/䩑^%JoG*B>G![''YԭKP'O(.:`A%o^<7ϰfemAzhD_uw9Nw]qg!u7cY;̧ؒ!hQ27vMc\݆'.S?Ż|GWfqRoDv`N98J@6L^2>P\jc8IM֤B$Qx0ɍ-E m.KW\V#aoC*눵?7B_oF:D(94lE  늛\J.\JNyFJt4${yxXc Y/0òUQ;}jOm7KnLŻ.Gy_|_AFm^Cqϛ:OK͢DؘZ ?۱Vn(܈ϣ3\HLcnG~I'}jD4KFc+7 7R&<Qr:y چ˥qA[v_'L#ägAn۾~uv8AYFPvh Y?;vciڂ5V~t7ɿhX 1oE\)a c̚12h)uF{*xm/1/nT#rcuQx $ImE_GEvA9c=ZdukVۮY#!,WP9A}R7y]෮HҞ^$@p1yȓ[3C2n WzԽ)\#8J ON( ^bvu/@xwu&u]qF.q>M%)滌ĵHo9)x㽱6"$JNѕI;jNÀlunRE@t3j3&c2|PN3hM>_VNF>.3t¥oF o3ش,] ܧmuN{QG}ׅ ~S'&Iǥ_@])U#ԓFhf'6;~2!޸'% {Yc9}{<8t0g4ɜ~>])J5f1]y1ƄmUx \)N*zL^gVIXWf$cK̦Db"5i9]n)Xze?{y|8 B\K85чq zy{ioN?_ڳ{m%6gϧF0U972Ş)e1i=cU{ Uٷ2)TzF7®\. 4~Ϲg6{e^Re+JǰJXdIUNI|礤)q$7~kdxC "|Z (6*WVZƃ%C!!Epq S8>Yܴjz(O??c#Q32WɞpsmO=@M~}= ץ  H;tbi}1\]gkr=+{^2{2k˧ L.px`~3SO{F":f Dqǫ[@&o~{ {;胢i7]4›vF~#?'_b[Biw=Tct'f \ IjN@"{,V-`/ftu꫹>~'=$~[2$NyS@F_si!Q_C:+;prHaٷ]3{f}w;{Dl l-q_WK}ߛ\"6#l,;l`;8N"+~N$C^R|HfQl- WT|''&` 1tsA[؃A'38[8c Ҿ@mN;g.GnJ!h^9P)T6/d<~{G|"y )[^']|3\1[l,Hu7c~s}1A"HP?)/zb(E:ѕqf;t/ ͡C]Er݃Y*5T68a8vcz9q.O3-qYr"Gfah!1yxSSQwidѕrixB)גnJNLZ ]:@tԐ(&M@>ȘU?V])^L`p1V4[( 5Tn+כ-^]-#6vɾ'NgA.]g+\J Y\¨g5㑖E˿rߋ`? 9 ` |HO ջɣ$>A2vxp|QX^C+ݓeytO{PN.Kjo7&1^'S#гOmqlYkJ磰O{SW_29 Rr=ic;,M& pg08Nc 1L|1>.+¤oB^Cxƶ KyKq 3L^Рz@·yEZ+fv4v  $Ѕetkdg#$_+bITs*u8GM14'=q,J)S,J>jkRI!u ~m"=fIܜ1tTO<![S.FFZʼnPZIj}j?˧FtrGzm;彖6Hu3fX"q4{iN XNu36.o(".^W _=z9u-z,wkd㩶'1 "9>)͕'2ӮSk J#q'z0Żutq\J\^wر1k rՎЌ~?5%~Mvb+WHnF I+E8XtyC}k6knJ26~,.%O'' r3AEÆ^k;,W$JyEVJ98×(= i%dkѿJg_d=֭1'P<`/|(4 "zׯ0?֯G~'_D3.m 1i{CW;(@-UB(Rhy5/ $/,͏vd?'Řߚmi"5ϑWJUy6C~i烙8p ecv%2npg1ta(Qv΃K7z$Qj& xpcl.\9>&Q:f%|D_7cj+uԳ86B=*\=VljNOJAyV[Gc7ϘfMh}{2{FwyτIgiu}Ϥ ]MЪM!gpK폰U5 'hS=汌[^_9\y3`>*dD{i,o=Xb4]l:90 ɹd76ѕ2\P#4PͿs3ܛn6fR;2%<~m+$Bdиzm[,J@DkVLKm~I;}b #lf=,fLxkc+ fD;ŷCm#؎`Z6/Q9vvlU{Ǡڇ{i?{u{W4@#M4 -o, G^ICEA,!T;{HƮݧvҏjMq&}҆I Z±NN04HB ڂm |qI{hczr$:md[fϬ fعԈQ\憜fK\X`U+tkK]$G o@RZRnMIRX&38]`HQݚ %KL )MRQV.,Eѳl'iu'[|c*:qtS8_]/\oGܩE_TTT=\W_ "Snú*ź+@;=uX 7x&Bx0Kq7ݹ::4/:ދ`,~6#xJތ:c$AGW*POrt?-CrQB,?Eq<=PP^l+N‡,m_(/,vrxR*uEqkJhF/dᢅr+.Qd*kN} &-g̚=ʰǟ mm_8d)c\nyqܩGTH\ 1^I=f-x=F1  |T8.A,#Ȣ& o 6iA.ΑrE(*P!.xܖz+hU[Tq7C DB,!\r㒝g?>dϜ9<jHCXRkTnJVS}ڂΡ(k$qSaVm.%Sm (%Ήg) )6E,Kb/ީcNi"Q ?dա2%kI|۔} dM6喞pbB .sCc˞ $ !h8Y!%+'SźC,/VU'1r,+Ň QOPx2dz 0eMsC0W+88'L䮯I=(ڪ`]qtӀS; ȷ}mk:u[˪w.-tu:1f#oa{e=0P`u JQ;<쓪5$ջ<Ǚ{5|U_R:RԻsջrm~L+o1ԻԻ~;6-1.XkT}يX>gcӪ.uef Db%(m'QVUL#VTjp%[]A{7kFjPC lr Jb?lkRAXSJ!dm scʐXNdə|#q,$ 1@`M~iTuM/N.QAF_LDA]l\X53A=y®Tya긎q)K%u[b\JԏĄDeSu0I04`+kfkXoגU$$ӶҚHT:)Qoi[8*IԴD9%*Uۻs>R,Q-9dS5&vIJӦ79-- #tyg~F*6ۥ̆3RqIMTCPڃQno/Ո>c8S *&~8]!:o2;UlU^-`jwx{  [XM}W.⵻Xd?ⲻb:'l/mHv$ZU+7zjKDk\[%MݎNw ) I%tԱ R-lvq,z(; c9O90y\4(t>lv;fp>c[Rޝ0^xՕ>7Upx+7fMRoe9{e3LVi͛ qsF!e հm18~zQ<]؋̐@Iao# w׷> V7 hn4vGQrѮBW/bMC _iB-|Sv8wX^x;p$wݟcx%P5̼? {xdƵY@2|C/zCJ }~.H:+oqF^_MeBwR<Ǫ%!BHl9#IAk)~1JTd򺂣.&{rW؇5 {Kk_նnO0&3~SF}ckn'Vbp~pn[c?iߡa1Y0uz'-7yeh_r[q!+_bUO|7B3{g6__#p־0rTkfAX1CMI%Z3\n!XPW BJrW1c<Ǐľb[(cG_!_9SJvi La>6{C>d8%eËKSV #KqBH+uxu*mޏD`e-s1> I"<ݞmP>7&ͭY)@*S?Ō`[chu$r4'$j^Mi9K "RȪ벣%װwi'KAVu;:5;d8Qw l3{p!GvEFLƳ ؗ"S_Gd4ƑIo㾐LȱO?.ZCSi0CBse 7ő?{T-9C)2::c؇h\̈vOF8rV|S(Kta hϘeG{^{1]^gYGWL_/!$zT`@"9:q+LHV_ U:K#ּ.$? {fs+ƆݎN Qŧ,g,;ҠX`7p1A U&AC;N&c|aRTlne>'C/FO=(5AiMYXOJמ'.UHB{ŭh.2? αnHvԂ#JNKL=SnVqLxָĒ߿GXg t؇~/}FȖUEUM\`tpJJm97\騊n DGk ;O;:8*qPU>A댏OiA~gJ紥&\|ޑ GAr舉j_C\}RIߍN'|NCZܥ-nr~9d6ESλ-ƯqIi nGwar KgmQ5n-8yPYca #nw?c7>:(0Ö v"oCcV;ͺa6 0ԝ9}4zbV{i|~^I4 P:(`G觢 HkEA}iV闋EAp̬hl &yq^ |9/,ܡIʂg,;~8C/]|i0@M%H!]J|WGV4Xݥ}/ u]Qe,מ*tQʧwo]\n]HZ Yj &L{/ TPn)yl.m]vF *.rn5u6>y_nrZdqc>]5N,1DA7F}lJgs _T+7Hݡ4g[ [3 igP6yf"E4q+D,Pܚ a ɜ0G(DZYs,Ń4ůX XBg3`m/gxkz̴|e˴~Bga;F'XG͹eޏǞ^{\`oL#gU9C]a7]0p_ itRAu2-P$~ΖLHW2mQ>O|Po]2_E\b(iQp }C)CR()Cп8}&ꌣ'MrYQ4?OIYqȉ+qa27+ݎ*\#;/APLf7 \< ;$J "T,gRѵ9!8W)lw\L5GQY}Sth9 Wg-pq7_ga2;ulwzQ;U6㓬C D;ӄ-#@kr;ZQ`ؗ_g;)|)`4! pvGXaG(0~K# t}ZDA?ζ a,w}:sYJ5FpTeE N·urv7X(LCf !D |NQ;L'\x׬mҽ؄kܓ?#nM`4}FBbע8۹dw, &\rKWĆB*=tgsGPiz=hΪL(|]V k؟!$mzYaG1@iNEcT?Sx#Ǿ!|̻a|.N}]Bf3%%oy8ZriG\Kɭ(;/f|B;%"?ߡ/ҙï$ avt,4U?ɿOvxw ;]6'غa_5e…N Z1G|9 4D)W2oq=\q 6['SGDw -|Caz=6]`ߥ]s@:$2?iKz8t.z{ڏ1 Q'gc1.WyכsP)Nnt| du%dN0i<Ӳ)U<՟hD_+8fS89& 4t~Ay v[c7'Modg$\ʼ./޹NR?8 \ L |!x clB;`iT'YJwFJå2+&nVCI뚿]p;Va9gpF`}?RG> ;D(Bh~uvyP=L7wN}qh;#I<.ܬGh )JaJnQ~ mmtfۦokCڳT{B;Rܛwck_ >~E1Vb2d\&LrOi7w?0qivPY^3$1 L$[}m~i+2a-"d3,,>-zV= I SbzU̧h[k\,d wXcP Cm3 " IxDPtvOTؚMnar.~oBr.{&*%ҚOh+ּׂ=2 >/CwϚ(̅;?exJ[}$/(xJ}[fUŞRsoZOhhxOyJeD t C |*6*gŻ PUx%}JkeKM~GZV/-}qbkVsC-R 6@Жؘ8!|t-?| eHT pyEdKr7A̛AM' B(Nkm&APG&~'d*_9Z'`ݯåOM<|{Y6v)Ao}qo`Vh"RvQB`m80íN(;\u[VNR~OWo OOQT&Z4mɭ)AVբPYA"e('vQWD* mqo#!ER(N\]#NqdSC3NؼI!)PZ[,*Pgxi3k Ϸ3iekyHʌJK"ifP*25D*cwi jf?rGgW#۰u5LVW|odLPW2CEN!ywF&pFKG=ݐ"}%ul{pFiw#OT]v+)w9`,UJ\+[>N7djm2N=yyX|FņKxU {;&Ўw\R -̯t(AGάN|>d\!,rZʍU7΀NJGPVsc#\(ʿH@|;cym2>x3.|nVFSd<4H0שh~'Vڿ.g2AG:Cл^Bߋt}+C5|ds2X YGfuTa} ZRэTԫR˔#"q>֓Eg`F|J`E +,uŷYҍpȯY]@G=Ija1lD1YS>rR-'eyS-1)OR2f9tt_|7n`KO2Q/0.0KW3̓bjnߧӌ&e-B >{/)0GveTH&̳?ttRw;]D#O8^{%BglYa]8Űw$G-b9߈"z_μ X/A]d{:,\cxtCeqc  b:]׆fFJuT>VSEL({̾ep}+XQ;'{ {G*Wn|vOo`9?/ ռ?CHlλ]>=}|LsŸì6lѧMgn/Z[6,e½^m~kx^Vqb/rQ=hwCl[sq@Zio_',qMpg7?={2f,N<_ckfi[c'ˬK$c~M 9wh䃯{wQRnf{]zh/ďi/%T% \2٤q3OK$ \Kau` [EN<*0/gB5U:U7a~gci -4,FN׵DQg74˸~ a74(X;Z2elRFl&UA( 9OZP)5Z_fU |DbWS8g^ֽBK]N-`l ơ4'EoNηGG'ː<ŭ$a7aJ;8swhskb+LgTg~ ɷ܇41'\}RZ}C2Onރp\!0<=[F?J4}"lAxLM̞ޭ:Jrk1EyFnGK얄@ 񉝩eݘuǶ{@owuK<9ӃwYm @@~bn.{$ .-@#/! ֓V ;E&S;rS_>TL4#|B_ 0˧b=U7旙#=/ƐW*.SIb+yO{yX|&!g*2Klut]-xhqɈb<`c-vC+)iHË)Ll'5>/1럽}^cLe]ZqW,DXH?ekx3 ݠ;܉Kgƹ?>GLPB;ėGn"/V{_wݶqZe˨U;1ϽTybU6½:oa2M_:hB$\}A7 oF7h,Rz%X|?7!qIIlr0¼Qi;kXhd |K͎ؓz |iǃA%c]g>Q*^,G#++ ]xQ U/V-vɼؘ6Rp#B$-%ZRfm(eI3">r~, Kz"Ԥ̓ҒN4s wp*}.IPW|Sf)01 $ѼQQ;嬠bPݼM4`.)k~x^ݎ LJFxN؅H,x ')$Xdd<;^Ƽ]ӷw6bsn =vθ)xSQb wqTj8)I69) ɤRȣjaWLGsG?vV:9ڵvyp_ f[K?)0?GX8׾l!L?2}E9sO._fIpܦ%duh*Nȡ#ݎFOn;QGMVy=D'PID$` +>!rdd9KHБ( T5fQrw/IC_K?=1ϼ y$WI8>X|q?2C2~!lY?ђX֪ifҢM=~q= ;2x 3AxԾ7C&gW 2eϓQoPZ)ͯCYJ@xr,OX*ayJ%2LsbO%iܨ38RN*ޔqO,ӓ[dYϞ@?&l6#~"`l#hu4bܖ vRg fL2f;y&yo aC셲YͲ6p†rȰ̋ĸG/K8!\CC(`O|H~aMh< xpBd*y7DyuE(rm`9JZ[VPq{Z"tB_< DmחGW ;J^={W_Ƞ2( J Ƞ2( J -Bxє ZhfPmEhE6-^4Oӊ~ǻAЊ&y S/؃eoڃ hpʇgZ#uyv$HClDZhViǚH' eiZ3sb$Har' i#=<F~ؤDiix EF~c ƶ?3۞GC+#[(u/iZMK;Ԡf,h.aG3Iq}jnߠK%ٴ$pc¾H5 (F[7Q{P+.Cmt"# sshtc y: 0GPƶ~N' МQZc4٣v M@ Ep#wht3(vӾS\B#+0Խv+y.!D+.Zc-^/-vNlZR;"5 /q#4ԧݧD\ߧ[n-^2vؙP]a[[u=])v_h*M E?N-^M!hBHm&HWQJbVEGb]b,}8c,F\c[\k.E:͵5>cC/Mh/hGkFizB˟0ʕCF6nLY {ݴ!M ҇!چ' u E G n\pj ;YO!ÌMÜnY,OENPlD9BHWĆg8G/qa2 yhE^[l6w4á8K9V2S4phX$c>gќrΘoO2sbe(LekKFpzqʒ#8# =x[-&'i51J%bxɽR%oHA@</aXiF{kIphFcڒ= T<]+K&Pq7Rp;#QqEHJ2(Z\xI-!-^l*^R2O+.OfA:$RB "+E]ܠ uԅ':lgSX ִ R<'duN#%wGrxU?axBKk6$u{-^>jL%T=L%(-^${Pz9UW3VK6*-^@Pkm%7iGx(@[/yҦշjgN-^|VQe~mu-l88,\}m#RI ET)V6z|jq6 T O{Z#5S:( ڝ6>k,S]G9Q=[BFN bV\Trh&;/PR!,@3-^4bJc@C{pH5^ ΪJEIQPU g!~o5.]AEBai rP_9|GչD KѤ3u9th8SOнF'uJjN9tlPeCnTI9t*4VEPUQˡ [~}/z6Es!jCzkXE'j#b^5juT949t^5hN'KJcPth*cUZsˡ4-rHB2E}ً{P(t[ r,QwP,W)Ly:+jMT(ˡ *WWypUOQe ~hGz{򨠂]G[c1={Q!߿ʡ`Gzo|>RI6']b6y3Y ,aqXlPԙ ,bunZsbq'˧[Q'1,sEb,+ҢSCbboe+̩X3yv9`3)w"i`Hbr(9 bM fF@~V#f3 Ln,%7EP`-<㮠v? |)RkѺ5%F7pҤ]UEʢ>>Q^y'^, kZZO*qMk]zJҪjGڑu04o)aqdzX#~<D~}?_C?]F[Kk#ڈ-ڰx6lqmv ?mBO)"@)J)A)z6i=6 XvaSԏ&iGbhʣ48 r(:N5>G2?$cJx4cO d~!&xPS_$n&?v'si)Wm-0|o~wo/jjJ'o"mɢI{ >Z,#kAUǭY >>Y ZPI@{h?4 r2V'3HZ "utJyħu,d#a u58IVעòBtj%(C$w: (GLGdE:)[EhH#= AEZu5)bp$+: M*#PBSiٙ,~jK>O}2k_ Ya_ҏZw+]R~yB/Wl"\Jg:gZ5\psnz"tVȷmOd_ѯK!Q Pn>y}Qu#t! r: ᗲCa_ IsfD$ˍP&ĴI+ȋ!s<Lj$!UZM=Rg  ud3xwn&J4ceWBZae_%H %)0(a޽$ǽ%!HG:3t9x]@෕UQԙ9ߦ9og(޴/]|gMi߆}T0N ܉3G׮v3JiyBP` xOWۥןhU)xMoiو+BNiP z^J[Shb_պK A/ZXV\og B)^Y蔖 RTJEJ}P*j+KCTU(ŏӗB)AzI]蒊ПA}$%5i hGSi2iQ/4ҟNC Rl?aSMҟ]'DX9 )}@axaRXPaVʸ1)԰QVx NG,  $O$}I¯\!<7A2˸'TR=#VRM 69GܗJ#N%qbR:1G K,J*3H- ~Ȫ+ 2lKr+P Btf~FIVv.8vdF̴hni|--4֖Ř!DPE,!$6ws_e?$'JFFc8*!f7y==B~)Dz:B&9Ac>6O@l'cd*U$$~=r~L9?SΏ)ǔc1 /^:evR *eĂ\B|v*.+bz[,-1V:IpaIq= ##ω{!^GxϿNVZJ[7x_@QU o pUT-L߾=.jg\QJmAEb1)jMQe*lE-)JBe¯ ~7~Ѵ&BݢjD>֧A1Oar$}{>`X0%:TEjH WEnC%g6D IT, ܗ%πdr EKلcY9:Y/s?Sn!es<9q<9< q˘6]+ $4Q`V ̂YR 8H퇐>7P[>Xos~i5)-ץVڰaG٧OfwOAm~;xVlOM/z&")E֟㯛Cu M|¹0z&WZI! P3p=W"j֦Vp<܀ MyC"Lv~+MgjS4V\џps 5FHeS$R) '+ޔA-}sȀ]x^w]6D<+ Ы9]+O.;U|ٔA#eOٹ ny,},p?4:uٔO|JLM s-Y_pqk y-l)L՗rv"86)G%RJDcB\ۅBP? hStz?)}jj>ow.?BOש֘1&3"v-o0X~T5 [LP '7Y>w_MZE- Ẽ6x)c#y񜾆|Jb}|f}!yf*W_/iB Ru5 \ ju \؛Meom{y--dom1{aôvn2}=naTn:v+z|#0 ؍29hO .= 疻&u}Ylgyl>և>2榝+Hf(qVVY-֢kMAŴXY-knhj0:|N?GVy' S}F!ǛgEF=_m턎H S۶Q )m[(S+qiwxDas~mNAnT -E~/"s'Fk Ѿ\ zjDx0:-;.BW8S(кeS 2ȾsyKͧH+vϪ0Z=_[u)d79ϟxp5i'%04=\3=wŜ6xrezS9`"jjdj(ؗhr|ɔeV?'akb;Զ$zʏ)hK[y'fP"_>җt o˝h:z ImERȗaP{Dk$zU.=ʘRoQ>QNQ'm9Dz&ێTQ쩰ŖDwRo+D(f .y{y'"~[wN=kf/rO}rllBgDϜ]~uڧs\ _P+W&q2l +f>qT3tEGu TqDda[dZ/ғ,&T 4YInSD{.:k\5H:wY2Zk+ZoBkԎڎįځhH|n"L96Dm]:jTBVҩ!IwMN]S׊y #yD{#+(5g%5v B*L$>8lfwj%b(m8M[ $\!4SAy3ՑhىQ"7k1*=I'J|*Kb(`F,Z"~FvPTal ,1.òh}> iCw8Ni`q/+BZXq5_XY/7qy!+ul9FI:r7UE\mPu."%.Oꉰs`\fpfqٮH9Pa/>q'yC8OtgػzV?Oe'~6?Rx>L\FfHVk ]pUzuuHzUpCO'NnjbEarh,׬͕45 rfffm,:YY+7 hk|fz4ëc2A'%%sK 7M hvL{M$ܤUl!luܤ]N.eU8K.prU\nH97䠓:䦞79{MNjZY^]3|,{ "&OeǶ:OhZti66D?DyuQMw6DB{0Ote>`>ذ k3sዻ71a3*a9FS2j7)*"*"*⮽y MИQeM:Xg>hkHMOt iM5yĬ&M:ᖬ)wvr΅:GLS$ 5Q@Oqsu.|[*Oh?!Zj{{乇W)jo>=UPiI*ȌBC*t%;$bdcl`C5xnjE6LQϽ eC隢s- ӭ#~S*zto`+"lm.\_B;iaѽji[E o{ cq[[ợvnzK}x/bM; ;.ojjtSJwjKQ&#{7#y^(a2nJQCR԰Ӥnҫ? =MB֦а:*ʐ7E^o"goViuR:DTMD!0|=S^T9ҒW~%k|iK֛ء{w/EψŰߡ Lw_#STiCa&Rc}K>w7[tE`+jbnjtO#=Hխ(Gɍ냒?4eՑM QƎ^ye}]JoE?(mt}"Ku1K2[%>ozSYmyv36DrE:LI>^4Δ=9Ej)jZmdJ '-)4ΜB'YRK')jFmL:6.{H6͈'0thh 'Wqr'7Mt: El? 5pYaNl+2f'k4:9.+-\br3DK"Zy{zBnA]+ukJ$r=S:(hEka=,(E2=$lQlb?>k5 t\=2&tm7潔9gnZH7WC[=jD.S%o^uYQmU>MJ &ZzBL nVhhVu﵈)Z2Lk:ge 5#..+ˌ\nrFv)gNnɕmqre\Y+s0=SfpYr˚so:zuѰI9e`_^hH9€YS,_Oi|9gm&;f.l:&egfM7efGo=,l=r;['7io8ZpHѺ>"E{m}6b(#9`\ہ-ܴN.7)rI\V Mہ% @.kk\%za -a] K,K%` i5\f +lܓ0Y$>(|*IG2#}O3NSz256ʱ;K}@xᕷ:8U7atӉy\Nm( PdwA-_a17)=Sߝ\U%DY1+KR99Z89O+{pߞcLʒfrF^o-$ 6[[cZ7O՛ԛO}HM9a'7[g.QKgY?kj>bccF&O?`=7i25fbkjյL ha2 _W;BB ?sߴ`ÿ"|\nѷ$򿈁ɮmܤ&]=hЮB?ef3f>D}Lb;eTR+RcΙVt wt'ʹX݁k:E˟wtvlj Gx-G'筶rM Q(:]<-4yYm/k/e\&԰NYߗNWxG?+AЁ 6_Qe:" q CyGj-PQ8/&o!f+=h9J&ChR[ڡ9pϣ;Ttt*!^һ^-"Zo!*({;:Ѥ9fE}R1}^(hk堓Owr*\19<o.I_I{;m p?WգxWxu-^ +KE[ ulۂI}I_s)a+NE ]ٷh8J6rfR-r.nShڭn,@a qk5 qK\wT%95erq jD'laXjoaLauB#87M=`}sn`cKu`lU&[h$`S<.DWT>8o鶖ҩ/9~o^kx7"^, +3 [˙& 93}_$o_ވ7Od?e6aM*tYԎVQݚPy>އ\}i!VbC9jFdx5fq0 =dGEbv}\ۯ#,rlW;"+4 u5a$鼂[a;oFUh?#KDrեq]ߌSfy3RK!uu`CS3NrؕB7"L -fH@VZ^ScN $:QD3E;EKSmVhaov7I0!piUԬHEqd >9̟Bh%aS%3^Z_&P[؞ډD` ˛nRZ_r/DZ鯦fDd1'M]7êJ+Q68rf#ь1o'Lbkz"2%*qݗχH՝ojJQ{vߍ[^VzX?hrvn\){{{(]S|̯`+-* fhpF™N0iys `Q %`BjdȲyE>8́pTBi2lo {JF{jY#ZiӎI=P7 ZRGP|b~_A%j-TDݩgBPxs#Ot~_L݊m E !xO9:{! )ǜ({ף; _48mo!x&U)^x^}[ XSٿל1.E߀N͞$k;~fO $O*ğɾLnr^Eb:^:2CԷ^^PMJ~T'Y`z>>ikSHVrX?s1DծF4;M.(]rv3 _CJlaci`5!6í ~߭}2ҏvVXXf/c>/ݠ>zX*]ug\VaȋЈiF[25::֧m? A7>Kׁe)v飥t;sdVEKVxc|# ;Z~@bI759NgsI}B"Ism]YR/Iz֭гD+Vff$X[};y37? MV^Lqa?#ҕ.#.Y.'+]rgl"."M"Oإ.?k@.ar|R'/NChĦI/mcc2YJXޜ=De' vx[M$EBQa}PCVCa^6*}A9A&n~9eUe=zǫ豼:JՇ^}ԗvf*   Ь >Y7SjX'Eab3xf5Rr\!h^ᗐW#Bd͈HB ajn=+!jZ'fN%a&jV̄TGiͱVBY yQ?nAYSGNhBG0-c̞H?gNMCXK!Y|\auCn&ܗZ.┨&'s/?_VON# [S?>93SWDZ[$5┠nx.JhoZJ%H.^?eFB&ϢI9Cr\iG I+ؙ%X.LD͉WpPr.Q/ӧ;%k{e/*8Z!u>gD/v=^,rM^t]2Tu9]J.Y&t%עkkU&GxBhEv0ГƼ&5tppqJE;mw!ekaԗws>ƓM,+II8^&U4-)ګlJbaMbQ%Z,hqKZ,fqK[(j cskaTA[0R[M1?7e~e~.qre`R'WF~R~[l˶ z`h5oIoIo'5e}Z\۷64[77ӗm8{eC'c[FTF}ko1Kwn@ښr/[=nʭǏ?ܸO$('hw{u-D 1MѮЫp7 "u =2}P jɗɯN"H|M$~'įځhN$~6\B+`{˒9pG BvXADyk7:M@BO?PN Zo`T| C@غ jiTV ${ l#閡+H7{wr~暰N5e=Pt\fݎ{: =Al7 +ĴA&#\z@nyCL$+7rvUs{#uq lmnA-9hY[IIEY~Cv{qlz=D|(f IÂPXDj6B*ӳȋM!A.eY3齅Q|Bhn=6@Ch FA8HB}sQs$~ߔkCn MІAW|DX~CdtCvG@}%~cG⠻cu2 qcn oSzQL&Q>K4jPzN7gwxH~q [ E$8LkѐXLE߯p^𥮾G +\f wStLw#ͥZݒNR%uIJ%uxȭ"-ȕvj[g2Ж;uJ'#md6d ]$͢& E+<S1Tp.+]M`+΀ X+π p&G[\kMV։6I, eXE5R* kDa?0HQM#ɱXD59K&K-Ц%:EohuR")dϖ"Q* .)d(u/xE:f"-n_o-CV/VjnQM>h&e&e&oR*/ҷ"oWjc66 IGHKEE"-_D էIvj70 zQUJjYRsEX^R[$ux'NtXU NAv6nf*Z)=Fbd?I&dqKNKO04˟{qʭR#9:At2]A\Lwˮ Avy%qJHLKd:#]!9)]9G/uA_N*u\CkL?w tPVUYd:t:f}]Cvyz}]euAW#aq::VGY蠃8)W۩#Nv:,N%mfav۠|7Y3ɪ*"jNC}"B,'7 rJ:tGZ#p,0eQAs:_NLL3 :>t.]nօtхf]uF|z >=t|+(Or3>:=t2dAgUvy:VD}\+7+ϵ:>2)OVVgLeQvy:㲱qaI_(ޓyU+^.R3撯~+\>o@ŭwTv޴kn썇\G).Z7y0y2̛7/ooEPT|p7!C;~ ??x2dvӧpرJ0`|5׀(su]$<$TUU} _~ <,5 г'!<<77xЫWСTVV~|:ux0`ر? kf7 ƍ{|{&O>**|9xgҥ0k֬lQQгgj7·CLL:X~X#FLi`aDXrСC-e tF#|a7탵kvΝaǎmA~^_aÆ ᮻ:Nݻ &ش |bܹ1x1xyoF ~ zݻ7@CtVVn0cpڵ_(= W]uգ0p};X,OOԩSPP^{S`$i,[6mz?>+Vnn{,g= 'O󉐘&ilnGG裏B߾0rȮе+?ssx衇鐚:́O>d̛7o>ǏÒ%Kno'x0> ov>GPx饗DEHKK*:tУGp^x坠S'z;v87n33x`_x<@7»11PWW7Fr%un` Z k‘#GA~gϞ஻ $$s=;aNػw`</^z꩎б#ddd8鄼~=iffذaÿ_+XhѢ૯fSNU@Q 33v6̞ 555mm[x7テ\~嗫¯ߟkQ`׮]ݡ{w" "JKK98;UVYb;ZZ;w/א{}}tb /_|3.@oexeeaxa馛!9Ə$$$\_qqqI'O|y{ウp,$&&Cp0DFFA`۶m' xC? ˰f͚0~<7r]vH8t矯5k.p`!Xzi8}̙V7|Mxr׶m[f1==ݻw5-33gG~~ܹ8{\n>֬YkJP r>8cr, ZvÆ C/bȼypYRQjv܉oGfHwn6{/J֤$PT Q}!|믣7rqڵkQ;둚?쾎;裏f1מ={"VףqRpF+oR9k,Rz9Ҳl2I˗/Go˟~ g[UUEi=xUW5͏Epl>pŊUTO2g_x>S-\gwx sx6mКoj矣7;#Zg}KԮ]p6W_E郫nݺd>}*:֯_gCi+ut5 U>ZF<2x`/$&&W`>pΎ3ƌ󮐐Ԃ$͆Vv/G/{K/|ƏVjsq;۷oּ={Vfee)8p ζGZヒ^[nA/O5Lhe|8x"##Q/]y^S\\ҟogkkٻ ..gNcǎ.G<\hN;|}fÇ̔$ .\@k[\BqкZ8;(m%-Bׯz[+?w1?|wUTv {v˛a?A{"ٳgW֏?D޽qI8=tF zG/^V^z,GN'9re7nĨJ=zņ;+Ww{ge; _}F%EA/˳>^I&,i赎6mzoaVt7v}_ngsO4bժU|^۶mYSiEn Y,{bo3gk5\^Vgg555]8q"z C^KΝ((ϪћM(%44۷gӦM8<e^wAn)))M>7dv̟?^;wFH׽{w V9s'~w;uGԩS1OXTɓ'1w^?= C [sl^ZZz]7oތQ`30jQvDD:tzY1jΜ9UZSSS1 1Eӧc('|0 +馛0ZzjN:ܝ=v ~|g 8d00ZH뮻0P8K7M`B$"Eo\G{(@]ezF+dQR#'1D*/ƾVsD}"QQ$Zdn%dvn%-57/";ZXBc}gP7+%5HR5J@ S Q6#o)nKM"Wje ?+z5R^ְ#.~kf;*owh9ﱬ=uu_/V5M@̯W59hcy $TqiSu$#pHf 5CMvUa!rk 8k#o:Q,rjEnf`㵒5Z'>BVFɖr^ǍzyP׷KhB4yJD;[%'Z6o'0 j>jRԇ̊:BԇD} hbjV5q܄  u \>}@xKKT-ͥٷ6o6oq krV@pG{H趼^_}+=E2,{F; 9]C*w߽^a+Cբ+P 'HWW*%y>Cc:Ӈ8D^q^;ARʁ$xgIP)v ; s?R?5 hn_s:礙47"nPx3‹001]]A dC ނws%\:q>:BAgX0?H#x <лD6Bw" [JW =ʕR7foC=*@5\) R%ȕҾƋN"|F>J ]@]p-1*vj$‡B:fkx2VODY\b?KqID\? A\?K*G3oTA/ dfO-\VZ)aϊAa })F{]-#U2ְm +V2QxUE|-Js"WX)E|PN ¾mI |V+qD[RBkE5kVϨ$[ءNFZ!j;VZѵ1]KbTlOMYk[W+,[E59FVpl0N5B,ӳV+Z[_@L#Z;ۣMF]7 ]=:u./Hzv:q iQ)RWXOxYE|H )( )*b(U-.qjbPtÆjTBPQRxpRh+\tUXm EQ ddRTćA $L%cEniE?5 ZDl ˒BߔB؅ {o1WXFE+AdDX( e4Q(ӛ!d[7!H=v ֫JADHARIJDOGGJBHLj{ujjjz$U%ѢPjjTK$MEA{9*Kb$Tb dH+C $[h+ ~zUPc7$vH@$V-cQPQ2]hB loըUB! ]:J.Y!q`q=\/D:EBstsZ̻DT0Ԟȯ 4JjsA2E;a6 ́@_M%^"47έz 2LtcmH^~RĂ~W`tcbc tʒXy0'E"cEHcqw=|UOI,iP:dЃ $a-_ ƫu"H~dW[d9Bʮ#+oV8ra8-]1\D$ѱ"?-W$pVy)v5*Ș{`xKN-Y N.Wf/ˉi:٬UOO{( */*|*p۔=B(px=kbȪJ|4+i/k/pK\ ]6-ct!-a8U<ݠ&h1 ]hpbj>Ư.(5#WF sS%5g頋ѡ{HRe:4O& DGs4+ڷ|)/? >*lV|~1mbE]_A.ѫbGX]|32F/*1ZRH= ѵ"];t(Um,Rfֆh]և;oWCNt& cLu8$ l /&b%ɖ0/X"DZOga* WIt"]C5U r$vd/ E->w0c)D-j«l-e4K-a_.ة[B阝+<,jUdո(f|}U&|F4 &f5dUQ] o:+XDZK:Oڪ}|z؉U##ٌ6rQإfdMIXhmO$ی DWEܒ͸ 'i;[BUcBHgԄE)Toi?iɦUX*]N+,d> 7ayX&]NCU6 f|/RQ5KKktR 7Rpo]]siHU0}$au_[‡6,WxA 3/:jrEfye8PDMX -4Fl ? Be8D% ~#2V'E?IE,LD!ehdXRH-U[B`Wu2DW~,qQ(e|,dsj|G&یIXqFmƅvMV~lahDaN|X9;l԰xl ^-@ԓl /ZZܰWIv:8BJxd o͸D.tvZ"Ffn yfKXF/Ǒ[<і=Ġ-`q/UefеX= 2 CE0)!D'='"-'gtHtٖPd!:t]Q= DwKc:↳"1ĸFDz^pUZPr*;ݛdKX@B-c;WX"ɖQ+<$V5a!vĖ: ZiKh7B(t6#l yhհEY[KEX D:; c$dKxF׌h5aYO$ DKĈ,b t}3mNGǎlڀ‡=&ΤwHK/ 3xʂ&|/ Pblџ4YE/MVة^Ѝd2V`RCaq 1I }*X$P vKѮPvQEmEsl3KX 7H((7lUa4ެSe 3Zy8s?ilKtˏS49F$ ֱon,WxNy;^ׂ*Px^aoےl Y*q,$QW,~A5}TQ Ebc/g Kƿ3v`38`Ol$yEFWCKzܨ}O )C'^zm LW& 킍mw0tB;Mm\hNmZJ_%G C= q3&4j3YG?궘ſpH4@Q>?% d1ܼǐv+WP #A-ޑOBj5"eqrY?vur ovrif1#~D ,C4`mHĜ`5p$u+I,> |YXͳ4G;1H%6EHJDWY2kY2jU*DAtBꙚꙚ7 ټy5Tgђa(l]̒a(*V%C(]š+ D׊ЦzzzM%C(֡ltEᤎQQ8C3535 nFY|[YN7$c(V(,>+4 "6 l.zzwCNѾc?JvL@4vrDͿke}{,k]}\#ʫP</N.뚂cS:Ͽ_Nv989zv)[œܔӡNγ>±Z^mNnx'7Ez-XrF{#{cI)jjIf'WURe9Njr[p5\k ;"Fc\K^'ޗ,rEI\]Wjth4@ ڜ#r_,&vr[#1\KJ8sYCeK~׵/#E$ /23nF.-"ceytܔmaNhʙP{9gAo 7A!397\uzLp7yOL4zNIt;ƎX VAb>Y&UzE2dMJgh$^ɨCL}$TD|$?~tmU+rgfF`z<@Q{ _zգ\PL| 5S=fSN{vLc&@qnj'ͶOtIeF8 ~2emXQs5QM4@KZhAV nXm*ma)rU"`k$J0pA\AwD] "jI Vb Zh?~癙gs9sfk4u8.\?ch1t =CsMWY^Pu$*kntg)!w(....[ezl1g#4L3.@2$bM4 TTb-_E$7) wa'TCe ԈcU~Sp}~p-pkؙ骹=p뻑܁(>$aⱚ^=?]eՀ7/A9Ri*Ѥp8 P U~/(Z[%LTcDI7?Lv ޏ[ucM$p=j' $˭6jESÍʍ*KG[,oSY}t ..Qt*^aOWρp8jD]MH.9_:/YHr,n3skV?~zS3\A3"A+mzU%̔ XXX A)R"ntٝ2Y@ҋ@j*딞ug1&s?үTefAa4U%@.9U e\b?fVͪVM*AT;l*=J4Cz6EA%i4.LcS.L EW//LO&,#͛i,fVhCgSFόwdʷotIe)kVPiW,+Z@rTPCgw 4C5%4vW$ylmU'=;9sy:שyy֤z:G婑5UU3$#k&zȸS=5/g )U29Bhl0KrׂhGhyHC>`W# ]^UJs]:*a=|q)$Il6ŧM UO[pv ,ą^f B7Y&d]!6A&k:a= W\M\M\hBp&gH&@c Ņ\BB(4B-b @ia*h^$iboo1ubx^wJk?5قSqplc#8Q?%.FQ|.%vwL~wcxc}[r?t*Q'()MѨuxUοC+?(~ SǾ_#OSxZ.+]TO..Ձ_U }bxx!.~&:i7uIO7%IL!cb+wӍkn}*n}.Wn}zi//sWʡ5Fঈ  {ękbӬ*3k?_z@l*9,6Vjc.1?s\pWz֫gvuv3K|zuE^]z\'>m5VS՚)>m/6[O[ Zifz>B葙budbxX-^$Oth}Oh\NՉMց 8T ȵ BVtd* Zi@BY3&HMUoZ4'^h{82.7bu/ivdFʉɖnM֩hA~e|_cncΧ%}lƹ&QАN8|I>Y{R2l\ˠ,ub5w \Kb%Y'[am-VZ)b kd- ,byD@ "ȳ W$=!Ib mpk b{A,v̔F,3>3)2ӄbT f@0i& L ۴:̚L̺HS쾿lb53.)w#䬘.~kpW?%sιbĖD *v>bxy*LAQAZsQE9^Qj.Y5 Ai*$T)|TTc(P} rQιA3U i{&ϊovrzP&Zdvo](3AQ\ԽAQ `N,ݬ`2+~~{&Oovrz`ϋxEu:*1(7(, N I m1Z4q%O8g# `Є#FQZ-en/Okbˬ*Zm@RZ힒6)}2mv;+vĎ8S>oD=%cɌ.XfԀtPXL/3ֈQ.1O@Dd Q*-'ҳ?#E韝)#1X+uZ "QW#%~Hbd;t/Rr#SG3}2y)T N@8N$fF}2}'M:X,Lև2ETh+}* |8?ܔ[eVk0No"M6q~8(iWLJ[M' q/!""͒%&NQ2& MQ$H^"q3-@\ʬٚϣհ;*"9W"b4<'! GTMAbmMD'>֏ | N'/]A EB+(!Wy#[Wy1w⃼jwʜUlY/ևz+) XnABg[}&ǟ}(D_eNzDL~RKys00}yĝ O_?[1ͷ|MzrۋEPa΀H;<.S5)]_cׁ3k藮{/=$Ix c]d<^FM.6n/==;+QIgʼńN4 '/tO;i??Up]@!9:~Rr|Pr'.N\? Hi??s'RHQ4Y#رu*Ugz  {3_xx9ՈQ1@4j~EBbbњ}Xs~}5Gk7@0i)u^EaXlWPj'6@jniVm2n2{{:l__2e1^XXX流26Oɲt;-؅*/I^SH_'5Rlr5=?~v%^op&vYFn[F'NPGщCԠӜc~H2oA݂݀B7 (t&##xP1|<&#'7b(w8'<9qN]3IsgܓH3swDѹ? 2@VA* ==E kOړ.>B3xcG1^̡sp)9.%ǥ且h+渰 k:~AWqDw] C("]""70lcW FGjˍ*RjĚ> kАYҽƋ-0KS E`ܐG 9/:>Ur(C1Ww4-0 :CN@^(3abQ@f@; eN( (CF)x%RUiĐB8^Оry`ϋ=& esd!B>N @CX{af# `j,aa͙ ! )6N qGNY%}vHt&zC"m,8!}!V8c9v8ZѢE¢5ՇLGi(63g|Ҍϗ([(b|FL KU+x؀F< v7pc|,9o]-:-:-:-:-:-:-:-:-:-:-:-:.}-^b󈱾(EZN2nhHAnR70dyyy/GUiG8 ZdTҽiI61^h"JSv*\bI]^p] u.O=pu]eP<%u(sL/F1q4}׼8U7u^Eӷyg ǩPkphsSާy C xnU 78s("`vU4}sw}\$4`ǟ)ȡF]m.E1ETgis*^Am v m Ψj.-t6*йx ѹҫ7D̸/酢1'($Yr>Ko`);ޚmbUE:t餒7+],13/Kru<5!i108G` |}wW"

ߗ?B&Xϟ|#~~A>gWD>k/Jlϑ,*O' xvtIq|kXaaToIZԱ@0*ՄQ⽍: 1' >@Y\RmtyPGf Nk0l "Mnb~>noͭ8z]ߒpS* ԰XIT8{]g4 WBb1-v_ሾ1e-P"--2qmpmi#8V_gC?5&_8n1G8wWO8Fz;7cnG8f#q[.lc$skSa@C8屻,:7 Hp9XFDl`6@į#c~(jozW j5\7iE>8!R6%pfT1Ldz Wj1we2{΢{{fk=:>Zvsg=yM,% *59[m2GT B4q'cU}c|/&=vHTfHd->TCOypK25KnCGnP t}AN@;$QB ܁vnoM71? ގq 1ߡ0{twqUq_਼zCxj8GOpl8>1n8;qh"㸳 W8^!qa8^q< 8oE::1ڃ(\]c;pm qp܍8p,ǬH1uǺ_28_nَqT]![p[9mpx78t#Ciqv8t7# Wtxcmp<7؍q}]ΨUuʏI7Ӽ=/4W%On-;Ke$녟j W pIφ$%[m'VA!i!خTU7.b,,:(K |OCN*^mRLvEa]UZA<.4>6aBreJ*԰3 6Ջs֫*fbQ׹P}\MmmM4{tV_8w1R-s] !5/DmLsK~FBā6'E"CPZ |.eLĻfB J5'9ߨ {p5M@0V]+̞CDvx~PʵjžzEIl :pCfEU fk#O|UI<$IbeAM~?$_i#$3*q쥯ẍ́謷u Lr QP-}=  (uNbso<% Vvz⤂E9ئ B*1=۶-2{5{z8Y73tuؗ$[*ۤ&["_Eu.BIVtB řxiHB+72aVW4)4/ L۠HG28cB#`"B 7k1  :ho9uFq$m%(/I>rΨC;\\!? o!߲o iVyYI&Ld8A27$9qF^#e;mo{*9ޛ([YdAokVU~EK6Ie%Ha}9!oSd 89(7t#z=Z!h<'$&ºȍU6/% G~7E%-硯դGsCp{IID x\*gO2˟\+=]QRr?˺F$<ߒj1Zp^{abF1YX9 : D8ʽO)KH`1M $QL&: Nlw-ٚyO{ //-l L(ysUyЮ+dF({*G8b5[CGE8+@N@bS%l`@T2w`ؠ{4ZjwQADHo?y U:;qy?\rߔ{ƞQHf /42[3Jw8 B"k&s5\,"7Xϣ;&q~&l#=/Ith&, w* Yh04!9vc"Mf*ªG5KA-go4+1Bg6[BQ kʯMeoi2g7uȋā/γ2'r ^ox a'vh(H׀3n3s\r?[ǖ9jqw}ۓF6wIDSeql ^:؝,Il,W fM `LZ[ K@}Q?!rJc2aU;faf+b3&9!X#[8c$(VHQ2zu2(q$d=T긾8׋+\[(WEYEX:럆\L0kr<-0Й mW%$I}6vZ5akO('㲁b~{TQr7Iԙ6S5 8/lJ?i݊L퍖[/ 3sK1N1DZ#OԤ㠋HP]taJ<-4%I,gr썖A5~pV8¦zaM֤҆4jR΃ڔ+\0[wP#5piKS\X޶B yKt ‰`>rnN; y5L&ͫ71A'Y K픫~JG>([gGZB_Oɶw+ރ~&+%`&U`eT+êԄar&Ϙ|Q-á !@slE8HԘFqYƅime43gjnuƯSG*g_p(0W`@Վ2[P2o351LC$)ԏ[)Z1crt3}6iVBt .7[flh֩I6n U6sJ+al0/KޛpNe4cORӰJė#ݩp'gn{_!|O&Mmcx ~XM*O=h7ڶ$ۢ-Ћ#L|Ts\$5v%-'B5bLP$/6yJk5= ڮ*̃}FZ5l0~~WMg!1ʎmj\a+8GIrv-}xG\7%A7ouF:V~=_`-A9; bF}Ω'5rd9qaw4;ȏZ>jx{3jGZw-;n2 '&>Bt3? WB, ;Z`_HM*QfY`Sm]B+oG@@Ò^PϐNڃ`y+`\Zg KV&^!;(+aYaÝPM*r ?QV@OZvjN|;;kB{y2o[ܺ2/ 򯇷+cAl3>(W/|gdy ރ<^g8Xk1֑Mg6I"H%@f;UE`,0c m-\rL@M*<Vc @vxag3GҒÝԑJb)==v@Yf+!E޿t]o]qp%;!PGLk ?Ԥ/xZ҂r%]lIEM'u ewNѐ\B^ zYXk3{xmN)*,)Yo.5rڬea_8,j u-I Tdm`kpM[ŸL bp1/!bZ6KFrI }:j#dNcs"‡qYp.JM\B*\LU MU4R׬5xT_i\x^[َifLQU8p:$ K 4uVh/R*aBj3ho^;j-RJ߅q5HBe+Ol-nP'Ɓʶ##2\ç)5j3:PGTqajL,O=98Wopnz L%o&%ixFgz=3dsdnL7a셞p1^י^3ћ<_86΅δh+}ou:lq:%PNI 0*\wϕ@qu x~_koW$vrRՇ#͇9""-Lm6\ o$tF[v:$z'"nᡠKnJ>כx{%Ae[AkCh<ԃjcK8ԍr3(;cpM5hn*6b$IJ > b&غYHm~[/R«OF|N.0eO^Au~  !ؽArxkmWˈX zK-L[B(Aׂl]#W]w5a-an~}Ϗ 65Sy,uX㼝tHq]R ē2|6+T"(lS4SVTTxAdDr6 5&#ax{*9ȽH]ZUNIe8j מqGxpݱ{H>{dI 'lҧx9Cy0ЦPg?\vwbk-%${9 b{H1_ -(ջ{._q`O&8ϖK@.{-!؅P`.VT,w ST]>3ν&l0x٘c bYl"a=vt _!|<]Cy +ZߚěNm[V-xi" K!O tIJNsv$3  9ï s ˟f?ܒfNoC\1fyhIԙ$Q٣;نX_+Je9T(ϓ}\{JR,RՄ<;L wò(tò=B" -MwJk_ &sQGN`{KP`zSA@xsEt{GQ sO]\J{ބb_0bvQvh5x{P f\ZOp7WI7V&Kvx? =Qo*CA/>JTϕ;•=? S,Өt HiojRW{ S WԨWZaJ?(E٠3y|Õ~=τ)E*݁Y*WjR%Wzf<1$qe6IՃ]yPmTYDĄIPl d%(t" } BkbVF_@;cEOMt\'nV_3mmݲ[6 ^*vԄ~"̭t{խVSvҟ"_:*?Df"|XP}:8nÊnC:g_Pߠv DID|s@~-~ġ&\ӥ\$ynPQ\n4]WGEE)!&P*.@N2Bro tLJ4On3^7&=/ KuÜžԁH569.9gob]ZX&쇙a9+iv`읁F^\L3<':hHb{5͵!lP ;,jJ_\&83/1 y蠢x|=Ƀ5 p)ͳīk3ٿscWH`&o=nq ԗl׸;AcŒ0/lf܋Cw]+~+>0Axx]ɕ%+پ\M珇fT˱4_!/ݳ7ض? 8kW1FKj=Y :B#@(܋y751;1=3-Ղ"9-Ci\ԤK:Մ&9gfMcצasP7@òL%";.y`W%5ci2b'8wD+89w+J &<_Xv@͋bTAhuNYvy|b{_T)3.SF KS` FfCtR@B$y͟dfkT󸩸|_ i[8pI>AM*qI %m1N\4]AͯQ- pej"4)bt֬,Ŷ?CNǁ¸$m΄V) /2/]@z;2qVπb<p/_Wق[sDyQ\1b>}%IVd,Ŧ8N4u~ }zqo: ㊽qScq3Ĺ=?']&G]*^ bxE9QGܸ4>rן=ͣhcyTe x/_j$R4NDW%Dhw ^x_Rw6ul ߕ8F;F{#zc oc)oc)&< TM* nWorNbZ\E 8IfJI+\/ 5Jٞ5q䰖{V6\0 k\ғ }4D l~ x@IO$M?\/ڼwh*5) -qI$SIe/?[%jβ{ ?E\Gm'/L;ʿ'* $ͫdkb،-"֯7SQp:sk&0FٶI޾1 ǨP|Wx&,$Y [‡QQZHm$w4KL]$t3q\sM l r,86k>1wgWQCdz-#㲤 Li4߁hO(AL0%uYBV>;:Qj]&b7?S|#]Ca$ϻZo$&\3cHHc2]$]oeES?)eb.TbIJ2:~ Υ'ȋGnhφ^'z~z-u<3^8~(R'c[y1dKCOՋ Զ% {OQ'^QWBy:lI Kjhf&nPŅ8s7+5&ϿJG7oA1F}׍PǗY6d7'w$!˭*/nkP1|:0d,170tO6[!]xl=uؔ0py4":lVuض3J O\kWG㌳ _j'ߕ}$I2ʲFzT8U ,0[Y2! Y|e"ь.J)88W`ǂ?~׹Tٚ!p*m븤l) 0zHcQySYX VIp@go0;AI}s&:ξ΅|ԱsV^ 7{5)=[ǃ4kط{I})&ņZE\$]#2UR3D0kb,(dÛ3^C X)5bMU9{K|EBD?Vs1Z/v\IRPOVUۚZ,Ij{U:WE]*QIbꘗ?:PY dfwiނYdvdkkgS+ي[[C]nNj&"/a"5p5vr5ozT(T2O/Lh9<|X&LK Be.8]li2 mpKԙvⷞ5oIؘϠa+_OR+B*`[FĪx >5,%+NQ(Un_@7jnglsyuΎm~`p}AlW%@VXդrlt $ȡELmV%s8N\o=|kЇn8+}9yֵ,oF$[O>4;07]FFk|u~^׾&:_T$QΨ/M=;"Qgyȫr6:)-͑۶I2/:9:oUqe꘯,A 4|+rH&8BݰSOqEW!~mooP-kZ%smW})c֠P-%~u+P6Yy~'|~Y+/hR=Ij–I;2xw4^~$yG ޑiP]%.˅Fݻ䝀^=xbMeq@뗫I%|dSkX"֏cmyj Y$58>&Uk!:W9F~dC 95 yi\\AI52K@ipϽ @W&b$&.Y$eE"xNBF+ |R4[^='^2mfK,J~AwV49UAɳ7Uzٰ@s1`DI|vW]oTUjݑ .}NEe7*㓃AXng|TK/SPNf]z>R:S)!,j-C8.9pX $\k#8Txa; |a$?VA.s.5V+3d 2 -ILB[ =EVx<[dm$m'Ds̆T_CZ}M5xzw Tf{Pk]Hܚg?Z-ժ.m-o77lr7=}TP@*A*v3Js$ r'm3{!ǥ&H<_, L[w8h4ԹHJ*>UlwP^NtFkq|<~M5AֶCb&/V%7D.o3lxL&u_ha+JecM m㽮Iw/u8T0i<]}t=j˯bi %rLsX!1ԜF؜ \5uJ 5SeL[ n^Ar지0 "[tU@xrK ug# 2KU|MCL\*\. lm$mΰ#X..Sy˱ +03PVX%5x{+LG}5Eo; @R H5%"i9Rn/KA$M2=񵳂Yhb(GUqW \z إƀ-Ѻz*pQ8dGPar*oF-sJwOւAY!m@N. _MmCƶ/ؖQ>Awˌ %bL q碩 gg~DitՕv6NEηtgfvw֟oqZyA -T`̿ y[ 'X)T-N  W*xdQ[\g|Ń"JRarH\-VCN[w Lyժ\CqULǃu?MQ-?iؔr;ȹlAd}Pyx.Wۤ4_{V(Lz\U6Py߂zN٥~t_PReRXe98z|ݲti0b],hM}mU'sQ/FY|%ᬹ\aH @ЖZxkhji+K--KL4ո%fXGD[N]gw\4Wԙ8̩Ecڰި Oj9z:"W lNpldwZgX>塙4|HSobXE(t]_ #]NY HFƘ݆ 7FX}Om?҃6*}6ޘN Fq@,w֣W4ÀM -E:݀+7`v# 6!]>fۋ5.P.NOPH: d憲҆[`+Ui?e5T˱P</A"ɦtJ Mر0 z,:n~?zs@wBE:%V,Z(]TZ&C#WؑV<8n6re&N8V&$;(-? uI4Vs @NElf~h\ۤҵ ֩)nQiDI:.u ^i~{S.?hS)rw 0(:#/56zXX<^BJ!I-%g;\+SVػH'ؑq.~&GO[1  a<+qrOew)knXXt)Wv#t[0Y5İm7b҈\+1qP#(2l$sPKbA:,~χg ,E[wv8q(aO?̥o~#oKV1)L62XZ}Xp 7#(թwݨBL_nQ+K[`EΗ햻!FVH}c4"@5SNy5Knh6 tWy72zM|W4'܌=\|ك{65=)w,~k:2nP\ߌz\ ˟Fѯ ;tUV |VK=t&P/K)R+Rм?5?*L^=%_b~I{g0:q-Ka*?YiiSZf8êHEZaNǹ sQȥyb#'|;E˟yJ}I2= HY "Xؠe=M$ Y\`66"kSsfm6 ~m'N"PN䆻+ 99~QV9f _ hpqk԰~?E?GIi"3aLzئ Sk`w.xhce^VEXPa3 yhk &,hE<72_/nq,,CuB̍za8ǥș\cE/-|L%}㴵6x4@aŰCވc1J9<DR7turE"c6= =|W&\_cqEqކ.3u/0^BxbUG. eE.AG.;{K 熲jl`eYa9NfZ樐ϲˊ>&2#I(+ro-Oϵ E_>[YS䎃88U5UE&L U5 1f- Z#sB8rYaĬ 5 zC |DP~6Ť@r{6EN!*'`ؐQj 4Ƈʄݮ4܃3'ei   |_mPLCX?w>yk`u6v.~pdWWx_-445nУOv?x74^cy 32GBwfۂ+F{\@mÿo_误];Mu C9}  nZ1O֣; w139LE:sMqMiC=Sc)3ͽ+aξx̿ݯ0׺$ x}kk2>p˹f(L|A;c& nEuoϖvڕs#Fc:]>kschpl)Eרt߉o2 (;*P-.Q*. (5;ڒ9Av.xY ]GhlAOB"t-t,gD[ hz $3>>$e&׋Ǽb(dli;Z{ /gx{uq|n>TvO p<ȡi̫HܓvK h`">cK ẂzʫYqIf<4gjߘ,[]{A%c*LDFNq?#`.xނX,gKƫ8[[oӨ@[;_a<@@WÜw:Ę7<_9g <ǹ> =qrmgqBR ñS{T@g^3[oP-!%b 9^N7zc%Vy÷Vqm<D]?9/ &?y ޟ k~YUwRry%ED \ SݾDmڈB"\GݢXWyd<çf'O gg\{ӺYzy,?d]Tg~w9iK 9߹h$cD9t nW{xȼPR&  sӨY fDr`O"j rKt CsP96:V7:諁:ڰ%Gar6ą9 z,UJ+uA Ōx<#u=ְn&isj4)X"Z<6GagOzJٓv`(v#b+p1&'FĘ\.&Li 8zJQO G+-]A GaځZ6(-,p*mk,Xg[ /P isN<4dlIkkH.RgdHi@ R!K EH(q !ɞAޟ'S nܭjõ(4d] )[-ĊVY B Oy`a˜}n#xk=Ue;]k/> okW~C鞻%}7J?u6 | I.׍}trfcsq#W1ꡈR]Gh |̦+m]*U_;0XPSWlB/CR]"ĝVn!s]T#|ZW8NF]堰 3 7m(B*yWx hwD#VKFSc+4q:rm6wUeeQl h`' u4I/)}>ʆjL+gd.z+]Ρ- ׏ƫLp*#PG-E t{C^L6a-Ӣ1O8bQdZ8Ml+A^mQ(]B^[unGv&oh𖓲VV tׯYqI5cF1i2fm*μoR<C63@8֕&)vpa.FuT@z`&nozu0" yW *i 9k%K VZ76a9K##o8iJţ(${̾K11Abz g?۠ҽ. s^{}4{qiQrͮw H Dޝ0)iDQ +(mxtUQRkF{Q@\DeئW@}#y(Y||D?g*,z/Ýπ#3ծGw8^dˇmED׷-~6awb#eu&F1Xr5ҫ j4Y͹ V$SGϓ~s#˺ĉXE=XDbVEZo$6gک>48ETEuY6!%DNޢ09QiepKxIxD^Db|E2t"|⨨P~3ӋЩH$@g[v+tF+J]xX2Vl&>Or|u?VU33( Z61\-g[5ikP7UR{P`>BZ; Ut֐eHsqCd+_fDpAG6=XUʟ8rQ%wp$=7}WqQg[ yX*4˩G. Zȅ [k4+`JFo_k"scKRC_Kw~iCt|ϫ&]_bn*JiFlnC:i5+wM]ETlV_ۀ8BRW\y&pkݹU䠂[axE8h:Γdt5tLu%M`NUГlx%9@dΩHַ8r-h0vmc+ ڂp|x?K}z+8%kk,^aV55rpvdZ_Ĕ^MVdCYMUX ,CY?OUGojuT8C?%=䡬H8y(~Rx(kv2+Z+ک OgIQ흪0# _k^a2lr4+%w ,l%-MN}Ls1|IZQ'v(%εr(S3099@^VK]Vz:T0c<Je|`XETr7@?7Q .sP)F)$gX:VđQaSۑfPֶc46ѫx(ѯcXA9DSIcUiusi{ FF>rA o›*yEm0l{\HK :_V.2r_vBfPv+[ٱfZYtW4pK|=9Gߍg ;lV8 eDQq޶Lo~;00:~qs7G`dBoчx7<.sm'I HlU)C3m,<V4@KY/>/0׺Wt:Y4Y*^C=e"OU}:̎`bmkŀ=Ȁw?'(Lr*R=O7?N@޺r: KWiOؿO}r52]x Gm&8ׄ7gaXm#1O2kpj@ |$7_ˆmٻ+]HnQXewnWܛTuX#6 ~Drn1OyhBh z@VՒhm/"m9+nw}ѵ5[]`]|k"^fWu}?x^29.ňcF>+"J# ,$~(ULL7ƅ6+ ֨d 4wdZD<))B :n ӿ&a}B8r9Dr!F܍Ƨi8%6` ̩ 㡬;0C.MeɪCf%4׺t]C bݏ $8YQMTc¤67ygj+rj 5F}0K P{F}+`*›AH}L'Oьi_tt,D8^LO!8H/]=Q?f&rC0|9^ >q4}l qyz#&촐#.wk|T3w[qN0 F!Qai2( $ۋ<&S,wVr+"SLґ qPHQ,{FL <>G,^:M ?`glŧctOfmh_9 MhvkfɓmU-V݈ H׾(rca0/Bje/ t'g 芜 SR,噫X2.Ta2TFpeg¤b87WtkQ=؅X[xD<5Q/ @$^KrK| 5$G997HmC|X`EMF`ž1J2^ȟ"^8QDJ`ap8F8yj ;p-}t  H<ΰTH'W0aTzUĵEE ݂C@s;saD#ptܻ-6CY=P]Dcs]$k] M/fCod)/ims`g^G2Hv&-;w=bOE~˺)5 W;Gu˭YeT7ݛz MʍFY&Fj;,dq 9(gh Tcy2Odu95ʘ$4z$51jl9hВ Fp^rI*u9>ZF*L2s1,j0n&WI9mo¶:?רIjwЄs*wH^n]6g"rEh`Euu!r&9Զd#y|!o"J ZO_(}B5zQ5ue5O(L-pMpkḩHBw'?D<ҿq#>nTՊPOpѫA!({kFl&k/zʸ`=RgVنf "hdWy(WaN]v3ês겣Ɋwy1 .ό3\EFGfz*x,! M4:C08Ǝ:T*C<<_)E{\Y#Z=+u]HrMkz2h7Zؤ)@sb&b%QhꚓgVs`ZCZD*]' $F͘5«ʷ &\* G5UdNW4v5'vuoþ66>4nԖ Zb OA'HIuWf1=V]12r|g+pa6%AxbHj.)݊5r!\a_,|R߁٤n[ v0p}WYC@|Ԥ=nLAXu=p>A.Cp>8u<pf7"0eh)4:n-ȚFOB46 bu]惡j!4<6c!rQ1heȧs菑 '@wiY٨7v ԧATھѫh ܷuoD}YLt]l bu).8&PC~ϥNxY^bRHʱ%5p!I[fM \h6K2sjD1rjm{A=?Uug67-"ùˣPI95-g ѮmJVhs.N'B!M]|nJϋg_G2}f&3LZs|b7>o2>717>sϣ)g9_|9ͿKDoE _6={X{e$OZc'-1ɓ՗w$/᭶xIq֑8}=W{8v^q҅ \WL'ynqR44Xi# o wAF<D*3$t~k z]\ļ6:#W$`I `o@%YƗe ESڢU|4N[tMK,RMyV.x4HC8yԑjʂGRGW[ SW]e.v#VbCoO[bȊ}Q$)kjiA~P5}9ΰl"3'Y#?"Qm z\_nm]\lfUBU /]2G@Ę|wvBSϤēc3[SL2K)àK#/X@/ݑWs,n So1>ȵA}sꘄ+\TVܜp2N׋CGը`P Q(j[e o=8*2G[.;=Sb`nbֆۛ3 ÑV(Amr2?3]}-pYY㬉8xǽH &G6n;F-eF=a0R2 >Q+:M ix1Tgd R+ r|dNlI&&sJ"yI{Qءf:q=.rQ5&ۍ01=`:|J3z0i0C+Ҥ7EnP^SҀ%6`XON u(RfF[&<];4Bٰ̠)Ɨ9 +<>S^b5p(ۡ n]T&GʿHa~O R|f)kw,r.>q'| k/BEn#-mi;&|C/ĭ{GVzM]C"7ڦ| IWV| .Γqm`bIyYHMa1~Nwz9f vǒ^Eqmqap5 ɵ̐ހ;^|ℬ59&mYmHl i'Ny!Snܥ+v!~r7j(S׊u9 ZɓɋȳE|$&c{^tQiT`A2UQ뺚8o}t5wۂt]H ?ÝG @{\G="-(6/*X =EGU;DM$|48.4('ii`0n xS*lDYq;C~r5˖Z5&-#H,mu ̇` F].ynrSFp)ImٰOjו:dߛHc.E >m nv#UZ~'3Tc}縨M*$0JE^s۠h\nWXe94.xqܡV2#< gIKȏ@%VοN{]! v¿PM 5w>\!Y7)#IcvԖ9e;9o},MokU%%>2ΰ01pfchcQP dPN^7!?_>S#9ja|Ƀdz" cA65>Gڇ hš͵<4UmՆ 4:I%P=`欑;X8a؃V[Y&9r0 -.PW95nAXJrpDC:[[9zqù7;=򊻐 xd.!N?ULd6@dhALYbtM)+(߀+I<(Kc^8 ˵?bx1|?2 uQO @2<]"GoPXT9@?"6"u]WI|8t+`2fEAN}Ы-rqJpKK|ɨJW[lGp==kõy0D{1pLp 0߈09zX=,hu0K8oޟEcbV n!0N.}%Q(^/xVA cKl8'YXiiwbbn#r?MtY:k(k sM6`:G֎) ,-djwj?ghv4dGBp2ʱRry>1}VgVg\knIn/L\>`o4ZC=a~oz=ܢ`8x %_ L4E_vW9 05GEn#|b\D\4T%Eg݋q07gM`PŠr'dʢ $5;p>Q/g/>]ă1 >R\nӫ_Z ԭ.}s`p?VoR 6`.A졛LwF䁥V {WƷɁA j3,џj\;7~I@SM3p's X5xOVp 0Ecf(+&F{l\[fI..Fĭ?qSw"2ck3 _߸+zPɭub7o@e[}1]n02(Vk"Ri!u|d<7T=&_bG0\5vAhw;ߊ[8oR瑴V`v ޱO5"vn5"XX# 0g7QZa eWj%n4 : hh}q3ZV[ %9s3rU,YfҮ'U9394!C,2wn}{7^ Gv{,,:ӹk.w78^\o޼k"1 ,i0jըe;;xE'NSz0HYBNl.ޑ02 Ab&]t^?e?5׶^w}fH7mZ=v{_[o"f]6/_:/ε _!nnd%(zկb^Ø_,f[wU>A`_.mLǍ$S-ȻP/,\/ c1|մB;oa̟n:k=_b;]&nR0o!ʏ 0Zyaku}J0~GGCϩy24_-E4@F/lŒM"WFFy`'vXMaw(L.u4atoI0BkۑD^{>Pdu-*_?NXgOr<oHE{`7Аm+1 4Pon+ˠ|4.;V_ y X(kzx/*w@ܝq|JrI]جvQI E"+hWID$GyLf7o בy/-L4gcigIh^{>ԑ-k;d6^7E?RUA"k#kE:J3(ӉcR _Dž~exFj˛h%p)|. fqu ]vb}ia^pY H&R+dX &wn0S X< wzʬ-CmG.rQεb;j'\+Q30<{e<$V0|8Km8ɑݶ[g %Y6gW񢷪^-˭[ mEfƂ54N;Җ͸.pDzON(ZsKsEwGtx*e9Nz6&FR1x_FK-FدNfa862b,WCK@5T.#`XCY H i&Pq%uNuFQXd7#cUƒ<(y_Mțʓn6vsG ̥Twd.@ntBz`@|֎ח7UOפ $,P4bqmjˢ$0Z(Zh" i!]^]D -uA+V)*˄C[y?<4?333}yWp/ql/GqN"N&v ^HWq[l0Пf$& IHόyW›BA:Ve&hL;U>z`[Xr=H2pķ7JAoN 'CiE5^wPIÆ POGsv֨F} @Wz! `L=f FZb|  Y`Q]&X aژe5_L!Tt1G÷[۹~ B> fYY[8}`a(@XY ɗ`X(ZV`TQs/)A;'ţb"3ƃGPsI=~.!zx,ʂ=`€ 9`|'z #'|k  DO XˆmnG(Z[FnlL;i&e<2)k]&2L ],Ÿ| |}uGMDNoJVl 3H?_EmϾpQ/*/7G-pYIe"l{llg^[͕oVPTz k*""/7{ȵK]"6 ;` Xm F`{;7j%uοʡzx:eFk߄v9P9llj2*c}6f0=Ŵy7~_>~HBʲ*s{lbfXyV"vX5c0!4`bO&N61 J1zz`jf}?);2H'o)6D a ΂O)`<+.r{%xU٘3illZ>%D;N3{Q W,6")0"v*KS,~N!k}^-MKn3َU62`l`X! 1?\`JLס]f&Կt:lOw-f0SFoF=sRliaHí̢eFɯ$ETP(,=C46LeǣdݪQ%CrO3( ]T@P'8Q[!otWy;ZGY e-i[qJج5ȹJXókw(+Hl r|BG065$~3t7 f2g_4'bʪ7]%y3p0{>/l0k6Ƅvu_c k}V &(« կ d=:ޗP[ȍ(]b.釛s |>oC[[+2A6Pد8X(k<>R -fYk?GOI#bpuY0}PWZdܱFimU")%z;uXDxb(>U'o o@aإ|&Azwý@s?bcs1(_ "?TӒو(@g* 9cU7 S"y>5}bPi4Wwfg!=@rr{Q5.L+㺃~=JcRa޶~YLx!]#;]+//w6Odܷp,rJe"1pD%'Ʋ5|˖ɲp'JA>+0uTKnK!ozո$ :Ȇ2'.L'6VW{j|\9H :g),OBH8 ڦ]u^iN$[c3%Gy.t޴* ^OtE" )L2C̸1B^GC7D#:kk!m}xn';D֦.&)`ӿ8VWV$'ۖoz25eQ,﯁oADt_-P0*X[])]\ee1w]$ ^,+B?kM Ӥ]J>bm^L!HMըВ0׻ғVR>ec-Nv2o:]HYKqGAM٬i6.[\zY&Ͽ IAp97K axMKߛӈGS.Vw _o~FY_VfʒWCے/ݑA_oQ^4*{2}Z '%mX'Pmzl7VQr |uDe <BKr}3LLkO PXzEj$> \^syQ2WC.'j}p:\PIl”&YƛÆ%Od^>tZ:&>]ejcSۑ:TlRF?Pwcomor:g/bGxlAY !61'A+UD%N1gz"k<{~],OQ&-;_`eסVDPesskI ˟vHԿTA9[^}zCX+Cc*Cj ` #"q,;q4Q<֐NnC[kd׷qWnŹ5?K$ Qʶ{ϥaYrlȎ b?;\#6@L;"YD ?X <Ŋ9a#kB8L>J%?(I ﺄx]BIPrZ TdLke@)DlGfTm,JC=.ɴJ"V:r5JF??HnI{?)LsIJgvUCڼ"Ɲß/g>/埗4ګ14D}wrs!|kPr"$ĭ\@7DѺ1T_u ;*qZ!]6D9Jӣ)kE$+K7%[ѯ]$Y;2by4 6otۥ@8H2_c!m*N 44Cs $aGpjxq I"_谊mD5N_a( ;/:  ωZ$: kHN3=n ~)%r3sQr% QrnK١rUS `Ek |mO`pDe10mф>VË́ |ƍ (6(ɵ;lQ8,Mu-=6=L7_!}Gdfp|>!ҕp4}$;e;tl^թ۳S g9j䙺#ܜ+(G_xX pc/F3NS̲,“ߒ{4ނdO|}toAL2H"܉B#^;q 7lrr*V?NRbs/rw>~ನ)I늞R9B3_Eʿ|S}k!t)>{F5ر]4'bձ/7?slB)cw[Nez9&-jB˯5BHk9T@#i=m Õ3.n_ \yA>-~żN$ҭuʟTuI'ΎNWs̍r\sѝ\ !?=Œ"g Er Ac,KuOJO8y )=g?{z>v }Viy4MiFg"b];ӻ]@Rjå~2x>YBVla=rRPvQ$"p_!k2ZOcFU;>Vȧu`{wR.eU&w*|,#O:N^j +W<3`"t/E7!(' D:"LQocⷙZz[m<`TZb!{/N%ԓە%m\O7ʉTӑe+D^n"~'_F)ZFxS9@`O?c }"Yo P9ga.oYzH +InQTuY0k}eHznkenn@S #Se?X^j{ŕY_`1-]awDޭAc,!"ŧ?y5ߦ~ ux#ܧ!u^(X ̏MDah#q (۩D}>Z`B3zNQ{TȪɓc9 Tx击Xi+>W Y xh_сtߑBn=wsliĖW|fHv5'@fc0m j^xB#ǁz>S0RV6s.r52cQ^p!Xҙ<00d9zOdcnqB|d6DMFZ!zM7Z`َ^ԣ6a,?|-t=z,.l`Bs =KgQlQ\4ag)`xKzJy'G&6Y׺=),'$[t*4'N@} yRv&ڠ_LYdmЃ.7a_\FQ#" ;a+7OMQ;/5HY١oN J_ُuK93n3S AV#|u=>R0R.M恩|0Yeg2^?{6BJUu^lWI7I1{~ `01Mu9#j@Eմ™Ln4e%h/IMitI3În#_oYﲘOW*+pKݮ[a0| e_hW}%?u-n\M~(G!??h(,0+&#𦼷9b o++X劍oP.ug,Pn΁`H瓱XYM6J}Kҹ}T#SL(Λ[u_\vk`@tl d ^Ģ5B=(x8MT&]G4D5<A뺔$z?ƨgbEɲ"V놄Trڇk ''Sx^47tDI~@^7~% `/6lwCc6I >${&T:.\TKNe"'@]K̟o%Աan:!R㹐d_r}LQmmvAD^=z'Y]X#qV>j9je4!$B} n3d`|GC؉RR e 5y+b?P芼IHnNF]Ilg./q6F<ݞCHhJ"!NryQqr= w2mj]{SY<V.('[4ʇSQYG3Sm^rV&&ExF- d[=}< 2|xQ|oa|rY3:fyCb<!ݮ+FutN2 wG4X[#q=h 䩠%~[F3ج>n+!$a~O%QS#Yג]YSUFMc5_JrgY#o{J=q>Lc(y&ѕriB xJNEC(5%hF;NXf1YР1[-- MmsU\)dӦ#ľz̚;VY3!FfB7ӼC%)Ҽ_J̦WStmU4oLY301ڏu.k ׈8=F#a qн3l'D7Cp_?Jj33&(Ϩ-!Շ✾|P#8g_xZ=9|APok! 僱ϡe2EC$Ziu ye4 _ǩYQV-:t{U(BQ] x ۋu{g !9"fK@FvKͲ^5L~r}%\(Ƹ\Ci?n-nf)_ XLP4F  @i?3z7Ѓ䣏)x@l7$Pn*?Gw+ $_~ v<6wih6qo.?PCϓCW4ZCUFVȧFG\* {,jHpA_bCbYh`\l9[UsTSw6@9)ʛ{HM{5 8ɒN%XrY 7 Lc0+enP;*E:eh ,zsrYGq-|U"!=FE퇿ͽ" Yi %r?$|و:#4c<DsR #ݘ :<z7h_A\wS?rB[")> GodF 5sF=o9RA4- .)I-NzQS 0lbD6^%k?tDLhz ,Gp6<˥]l)(fx0|s*]g'JQQi.WW%0!V9!=n?]=WYm1|i_6{I![L tHn1sCIdƍrԟ(2k}!7_ NJYU[kro~Y.\1Jrٴ3Ul-ċɿ22.C;oD Tg̰6U]> %:Ma>jaO+ -ʱ~<] qog\OOc)C_iYK} ~p LC#MFxhb@B!oy>ñY],,nxc@.Ef5"=w?X.>ĢԪR{q*o b l;岧-Ū.UG垨HTF7SGjNCP{ !*.-W2#UDީ`[Xt3R~@*`;5o!tOB+lqFbD>u"I^@HPПˇ%ոxtlj4.ð;~Hv_5¿;b}ѢzPRJ<mEO# RY|1W8^^sO)^=3FٖBZԅw]SA7^e|>&/s7If/ W _]K2h}7.Y#o7݃H#Xi1F De"`g{i#zuG V fb*?AR\kk/Q<}c.~-N>+Sنt-֓[]QufΡk@!u:)L/In;6)`McOJѼk>UZo.cϽcϸamR_;ENk:e6Q i3J?5 jxeP*wcYc|/(,ۅo8ny𓦠>nv|";gm%BG@vQJ> H0uW6^Z` I1tEf_1zcP$y܀BS+dS TzJ.Q`J??/ݝ+S'MbHD PHmo]sX[GF?)-zme}ەYPOw!ȞnWsy>we;p<)إB0*Є7_7x;/lv:ZxR3Q#K]=>>J& a;a@52=  A_O93A8@F@L=cUBRȶX%`N7f7@δ4ªxQ_ tM՗fꈦ9÷ARFYk<[#]xп](X!rzM.Gy_J}pzz>\Ȋ. ߀lfwHUK9 `$sx<5*ݒ_6،Hp2o6؊; $AzT>@7tSS_ vz2!]5 ,O60v!-cL{ y~{U,n݆M??_J8 ~ENBD2fz gqoB6T<¸p4xX`*ز\4ș]θ4ZN]]`<CU҈d*_8TdNTƙk+xʱL9". >%Q I x=WXKE{P<*ؼۄSb0nXNԶ>8k?0@B\q{o9LlN#-/L9t /p%[£QWݣ˕˖{ڱ 2gByJقܜ4@^gMGP/p>LZLoMRt)T!/ıh^X>@nxu;qF"p$_\JAuΟzb=^H2Ta1~>*>9)ĉjOKa[\xDva[1K0S(S}aK;߯?XV((ui >#xvmZWgBd μ?VVKa4\rvz%e[DBF3π|"ib2v`@^O |~Nɲs٭'a@*D7+#)*R)˫5Wπ~=b`Kd㭕pTN[RSml{ڶ7 >:'cǞ38}FxˍpNJedž#Ξ~z*iV9vk+ n Syr# aq130|Ⱦ`٦*; xN;SvrMZZL L[4ӧ-JB1j3YO[2 S-WKHXB| {i2K* aF*5aAo*|E#;Tz5;p& Q * "Zib̅&|_o3 lW,Kр6;{x 3V$W?W7uw;Z{v,;4nHN_ lȞA.+-YB* =02a %%(92Gg~) D|ORؽщE0hi?H9yh[2dL߹<^,YNXHp&:C=аI#mVq1L؎[xWY:*tg@U=#LHnw TTs%, H?A78:X|õf>N1N 1A;Ue]/v*O_O.h2Ƌ9yA*['j@k f)ְÓo@M }޵]d !+y]Ewsc@]!C2Au'TBr~Rxpv";9vϯ4!¿;S$;èTݙLj h?dgpq\eW=+ge3:f&;f˲o)l$_; : j$X+;;nZ,OODXuX_۪B5G >xhufOqUx"jA3o(pꅀkrgeJ(5}O?()/A1m}yt8x,ސc Н'K,PYGX <d}{R/qFgv~-rlI|2j#ri6SžQB#r|?=ǔ+Vv_>e>IK]\5z!+?c^)Q)IDTzZP"aQƶCBP1۠+{6Tmw=ȱ= iXBϓO#\44\" 3nOW/R_:SA#fsn`JR<ۋ-yS𗯅j,uQ3lwwD'"9 *RVk= )c(vMDdPsѩK7I1r$\mzd.n$y槀2'ukyT㯼/-.TP`ls$ISR8#H ]g z6 -NvžGeVMY }?[YWIY/t,)ZփrJۧGS=20A6ȃ/B;WP9ZbgՓm7@gus?+%;&`%I_h{|}&)_L #<;53uR  j"L &'C(Lk1q>ym -8*߼IdƮNjpճy6' _X#ՉT gZ.JֳvO+]I"MqEV櫬_6FʎKL@Uٝ؝;;GCN i1*i7e8|ûZһasNji\ n-DVۏ`^s:*/;7} yG'D,Fl`}>O}quvCwВЁa;3H9$C>,"w# 05SHLd.eڦ! # Oҍ=bp+1y'k=9a&dG >2ClZzi}D8|#UP#r2NVi*YtE~TQamo asX+C?u Qx@#/jXFx] wIh 'XIYh3Nw*U(Xo+ w3C(_nC}nӍ3gb zbWF1Y$(Ǫx;%"1*;ADnےIzn >HdI#I`5-^;~^3`Xbo$#|}#T|?׾LgW񩜕HVd+6D愞yx=p'#Z2(GYTpsqɤ`݂D_L0dO3$w۫|*ݷ:B5`@s%ɵon4+̭1ruk50|m2c D$  0-# I0LgNٯ*~geef99Ɏ9^yH@$lQ-MS|@\ʑL^s0LSw)!7C7d !:" ~j}=ʿM䴂$8S>_>'̬Bv6șFEXd[!/3݊@୛4Vo?hl[Z 2×:ɕ$g9~Sy[KRӼ%LEYZyA7}/3pr<}מbpcܑw6[^K&z|+~wZ297k<("v591VSHE !yjS6!d2ozz>"* _M.LA G|q˜`<&h+&^j4`]4S0,L*-  .W#}zRr+[$4W`4>d6G$/~GaU9&SUQo[XA9Wf5I9qyz+,[19.bv9wcƁ";Xw΀-q*YgBϭ%aU0m}2d4 估'pz=<^)*czCźY񏒉-i J2ZYEI<h`y#>qt $|e $+D&Rwz]V(*+35~YQ8%3չke()h g%Jv ke~y>lVLeԡ`"czׅ'M*zd+6]bhq+P]Mh[` xbJ.mm|1yGE;n WWv ΦvGՐEW> Kf%1+Pó۳] TT])6u]щ OХt,*Y^逍?`jqn$9FO wۚfuSlуmn !F? =fy1ñ6vѹԷ1ۊ!m3m+nuk[6w&V}B¿ɡ1tW,!P)-yh|X|mSm}إn,XB.8ry1۷.ur\1:ݼT +090=\8߲4CL^ۊў)cF{ pkfF9Sp|fZ}|]yzGcXZ\)LI7-ђc4 Ym չ/E<ݷ4l@75u#Iٺ (F+3]UZm\cmd2zY4b[m vl75l&~|C#|wnDW{3( g` +! YqLEI:uA*M.J"mXd,2/[nɟ $=Z|]mMz\NiL-_6,; jQm_sJ*n0A޵8U܉1QL[N1u?o9:MVhtvM4j.V+χ!٭v㩘20ArXf.ш{"_(&PYB2)h*7bف)B%TԹ6쯱(݌쬆?yXl6awX#W%Xrπ leͲ =oJRvA|=Fj$9k_}P^aSt 6)l4Nt&~G8#-fĜe.Kv9H}Y{Dƛ꺏;Pmڰ;e4TaU6^6{ͬ.el[S3%V{j_94er"32%(wLgqkޱ"6G&y0AwԖ[d}-_Ԕ[bcm-+IMG :!&a ^2FkNk1A}tBU.YC[ plr(=E8Z [ſ55SCwH.x^ݖ9"skf +8?YL綘Cck$O8ǓD!_eA=adSsmv[[=5@g8|Mנ90HXs!"myOŸ nG4kpXE{]Sio 1.қ0/rh?,\o|i[Ca{` P; R'I,Gq,XK=T+ V+T<ֻ:Zj|p!cXO׾!/DQL",kT-_\ʷ8ȣdb3qz+NB"g{kx4Vךrw{BԮ=?ȗPj<  ۙF7lbG{οGod}z^-NkLlpu;z*mhcWmxK\.E so4焀Bnt_Agm2Gh7P@i0qGJ%Y9*랓gW9mhZ_Z{h<^ `N/<2-K2 5XMgUZQD?\MBv޶pYxE G2b*MEEuh(4B,gQ 0i K|9ͶSX[ie\>i3,tiDI "#SGy4"[hE^&.\P4Bл 6(K)|S 吣\zr04HmjDll_2' LI?v+ y x&~M"pT5u 1c,܋" MUG)5M({kluǃv H0E~Y8JEhM+cݟo~SA=gR" 4mtIAךDTam)l_Ht}Ȯ;]̉Rr?=+ҧ|VBt t;n6-CK: Q]M3`p&M2-ł p͑3́렛ߟPcA>3+:vs"m7Yf5t;gYd{m1 EhAĸI ^ fj\= ëG(IՕ]9"O}1 (qdFK71j#On4#Ċ}X<}]Q.1FfDձJFB`5ű JFBf{?වO}b±2@rwׇLaA%#0rZ`ì~:&@!O>w2BQp|qԝhSQ 2*x T |S 9 &u~]NX{8wz&+ vTH@\(p{ѳHL2+P`5c4AS+WɐuI@ X͸֝ݰуf\[3Uz!$O//z!~{>GטI&8/=__twןqOcBzJBZk4 ~~.-tI>߄b}Lȟǿ]m 9=G/S+$A¯`:軽MzDTde2R =8ɕE#T:B5A_XGr@71;HRE+wo˵ʓy;%X͘_+^̶*XnYQztfXHgEuR'V5pܝ?3..*_`5dDoK@fE&mZMOyǤiqB. |Awvea-I' j!HȩXK= xf7 "3zqD]׈;O39U QdBNB'5,Z3X/o!Fx {lτ Q^6Ih+{-!^>$N7ċW6qd_5Z33 ѲzHSf;['l<+n^o:w-~ A2+}$hp .+?̸H "xShʗubgHF)+klPfBf|Ë:TJ=0& KxFDBtalɄ]٤D1A8!cByzfyY y9n XKUxc*[|{Ń!D?Xӡ8x":Vժ{ ϩle"6$E&Yw*0Ij'8ɕteq@r23"n(2ߟU%6[6a5c[S47[(S:#!wl+ 9L+?V,p:|u8jE ƏqD}|~?N"flgv63A`C~ f;agVOG *eאZa hYՎKm5 HP.`r6VK{5B5w8HvˋXH͕&+l$z@`̾d+6[2zk֙]Dު7P fBzDTq %a&=.җ]^ =tU!eOoB;Iv*,mXeټs:Ojp c;N!l6 mhύ kh[ƲHyhZ[ߔGX-{'ֺ6࿟-x"M`ϙ> 7L\{br|QGoj J}w,"R#s*<IK8:MʨXaꄀV&2V۲8؀{2Îiܺ򔱃ر8Z\]لJ&t%feRQ9'B9YdduZ&}"Hd8L2*|o's7ɕUXddI(eΊmZ  ? %ds>PBpPZz y*{F *Bww,BwR' H…_9w\,5oSvQ a\wdZ>wQ2x[$uxNY[u32uɁHchP*u7#\xxk7q@>fBNU䰭,hꧯ|`TOc-C87ecUЫ&|lEE$U)\~*>&< YڜW=!uL螏h\.2QNKZZ75:H??O'*>W7Gn/S3 "|fGymP0)ǬfrIdLGAa_\ lrHН!JẀ8zU8p|  Jk"ӛ~:^vt3|i6'-֦N{nqgwrngkܘI}p:c6I"+weWD !⾳#G9^MWcb8~ :ΌxdZp<~p&cVgp9pĵp\Ƚ >p #F 3ࣱKWqyz|vu8vXC'p 8t8lG =Ug./6ˡΙ WΛ83Y8[ "onI G˸p|W -':J8^oGUxp;t؞G>Y>Y'.]CcťN;4%8k=5 do@vʖGMjÖly̦m]P1dfM1^^`χ\ǰ*z  Hyʣ*KhsH"C- 6,[Sd!șLo[E8[;rhypri~h$]FB".d h0dBce r~`}}%t{ A:eblOI oFkxX׬ հ:Aϛr#-:ZBo+71cv*SSy34u/$u3#צ'm;g.SaʣF0> 4Dצrw :Ӄx4DPb"pK4w # HNr9.01f ܂U0֊ӭQ ob(YEZx%zBPFim{aMOC.w@K ZZh |u/EצFP\-j~54 (c:WMO$~gcGܩt_[. 6 RBtyΨ>XΨLsE<6I7F5xc MFICT爳*$E&rȒt+G( *n7VI5~C!\Bg#3nFxcD5J4XLN)i= EVJt>~^)QT b/@ M]J*o*"Q*^@ݗp{m#{&غG|^?wY!(A4zF嗠sJ!m<^>r>>e/\ǣ{XK=Vg^<R=.]=E٢B:дF# Lj5\=0=فTj~'a5yH;V` y,OΥޤ${<{S?`4b͋HZ:`D<-̲/Q;w"Ik%ʲ1̀] 79 d6z6x m!#[faXNbEY'_4NF?p;#_B?4?\Qע/s/z&^|(`PleoFpc!'rmU('in)Umyr, 8pl)ƘK eYm\)%' U\SC~XBg\s%pZ3ܴ"M/&E ͰӍo L}~ X.!:"wUdnE[H71'+#8ng͍fn{>\.Cz$~ ᩚH~관/FaP yhû<ѸLBthSZ_o@Hz.Wf5NwH 仼DEZzYQIQyJ7*|3'Z+|_LD`h?<BW2;'^ITJD%7ԓ1F:S&cR=$!w2XԾkYtR ̶!O+cau9¤w類H w>I19b/7Ywz,FLaJ-%=孌nc4Fل$E"nXV5ՉMEHϳY,[wI]"!:\&VzIŪ@~!c30kh"HrVI!ux:=: 73.|0<,˼^X[™W {771ɗ% sf X4e1![yY˂= nCܜ_,R%DG]}VX+ʒy"?N갍77qOkB>o7#N}Z2GBF0 Yw?p!'e+Q"^t&HWPOѓ`rکs }(Y-,7>GITӽ_k4!RIO7"BG͕SW!̾-o7Un<n؏mEP+E*}M eZc 9#o7@y3Ez> Fj 0l^sf:ͩf XSRA~Ό+\ QsJ&x> QIqoO5"mEg')*^Ϛ6.V ]=UQJ n=8o4_/Hj3#n<n[st~ ˲I*6;TDą|h6^wË?Cte '!L =4\q!oTsi\I !@B n-\(!z4` ? JuF nY@ȥe"2␯R`qBaQzt23LfRijeX6`{%DMSo|^a|<';l Vl#Bk: G[acB`i +?)ȿ7#"oٺd4`nNc֝?qc!{_} \^=NSvzv1Lc!b2쇶cy٢qBCoiN(CNWEyA2:78ĩ)Njg;X]cCPFҁփZ yƈsb McBc|Yhl)Z>NqbfДxHV֟M׃v\čo%E~B cކ3E`0'|m BHh氊n[۸_,K!D]:QgcOruuw+6ǻ=?σqz-z+!He;AF_%LYf9{V4vCBЕ0}v)SFTl5X뽘/㧌4.A s .r 8Fvcm~AJ}Y)^fV.j+9ъ 60vVZJ[M^ь$N".8/ ZƂS!B8B_ :FI"d zA"\f;~-[>V$G !$`K!UɿEȳ*-Z(!:dh+l/5 +2!ΚO7(xhu \{,ZZeOg.9>CussMƞbCس=%hl̲ժ.y4־9R}R:ВGLi1V!)z{$ǃy [eZm;!;>yw,4GZڦ?ҶYbDB%H|(lmeNHȡhGB>mogR[ǷP0E_#!"61` üMo#{CO=0!ubIb {Z\=Y뜓,G2{nGMRe/{w"kɗڵH' {E@q%T:YswK6I#?h@(Ӳkqh系x'v-Ұq\p*DM+9֮ߍȿOp^N8[mpD%Z f3D}xpH^l :@|Y}%.^&j.!er"`F3eةdCzkr$uW,v/!z!e}lF5p]8VLʶ.iTމϷW8%gun c K@N\0>W|YڱЖ: ~!SB4py4>9aHw ?EBtʯ%wJHDNP龅$ 8y5z]I eϗ#9BOKf1з&t穹q2ٵ Iq ~Y?.)n O_N@R#I>8bDʠTGAu6:0$TzVQ#mW.c.xj"C{]ES]xS8>sCt`Z+]z%+l]}\пtϿ9Q)x΀'*hHR ¶9.Zx |Ŝ䠯A,VP"4b _:Gླ0tAv6:F]w]qUMz؈@kJʫu ] GpIy~Ϝ_n]oQ?DY]Qv؜` rfu`˯F߫;&t Dv@:KcvP[&g_B'X3cu,R-!4U^y^kQوAN%deX:@Yx ]l;'9Ip8L|7υzT⑝v*M[zw\;𦤶;? 쩖09MNL8$W lyfqڟ[cV$U9-ShdBVt)>]߲ 56qݠp>100[ikQ|/~(~|̟C*? z tM%ٙ&Jt`o0I狶, СFaOECΡfgrU9'W7Z;gA %^?2|P'|̕8V^"uzMd8!P* 7+*w|&!cDJ ~1"O8 XkmЁWp9^e&o {ZnZ݇*fJA̪,2Di"ҏF斍s "97g'bOMh&,g4)8n&yIٍh۫ˏ'6Rm3.?n ˏo[ VT/W,_0%e<##[=v?Bo;E!kҔ8" 3$zj-"qRr"`ǯu[%k&K8z$#8֩E|:@⮝#W!W(iFĩj:]t g,_cEi/(}7/}zIX[=!P m}.B4>mQ쿼ͺPSf~A+.џǀ$MySS{eS$y%+Z#au\~`q@^*k`]|B(۫Yg_ "ӡuE7A  Hc#Pݰ4G/MÞʛ1X]j$:͂ݻ Pcz*_B߂hnhCۑ~%_B  27I#[жk\GK:iF"GՒ9sq@Ŋ6&^dbTeK-_LQ=p9M*NV=H dWkI`!}#V'ܗX;]6J818OU] o<6nKPKπN.;0ꄐ"X5<&lVC25>2uq\pi~kƔ硗`ZJA _6pޓt[J\U\ZJSf58nCBt%Qp3] {݊fu[UAw/\LBLtpB?i6{7P (LO jjrymj$шNh ꏮAn=Kx1=6еf=s3NFAN2L\ǟ$2D;K!?LhX"6*C:ȗ[odVhN1id^t4 N/(?p`<.l?QAohP^ߵ¥tqhlC, E e?HZ5T._8IezA+ú[a0EqBZL(5Seg+NCu)Bb5کhJRSޮh-5dykъa4nn8c}+Eę\ ѨpG#m;v{u'mŴYLNxQ?H5qA~P]r͜q"l㢱a^bt9q$W ̈́ADja##x֖Vݐyh.BdkHv 偔x:.O QB5S[Dan ' =rrwF[!#Y l;ۃ2<9K_dFVrl5w|c/.pjLVy"ڸah͐ۢpFcŗ$L|y>l$`7@7I@2W\mJ 01 #UL"۰{.GBuv ˜ga;ؿw- b- /b-kxEbHh6W.Aqӱn6[X]-a=m*NMjoesݲ k ۏN@zO_z[]Zځ:N+m?X:IkdX5+78+iaL3Z@vcA&&UĊHez`$ ݅H!FtErg )!L0h.UN 0iz& -ӔJofO֯:¹ ';>~VH<0e$Kɔ!Oh}6xSBm{ODO9%Tz~*l4{9à?HLI$s[N %͸;~\ [w[a'&H G!q~b>6vd2u~E. :| KtXBR{CC4>WXK5b4߳KIⲳ0id|= )[hA?Aͳ7#c*Uid|.uEޟ)u!dǭj;l E:DlDuyiaG0ͻQdinQڍ곈Qa7<*ɪNGͨ. / 0oo0OB J5U3AE@-s[.3 &˲)ljVa+/"jX|υYi+Þ5K.X6B5qwFNBsiclv(!/K*친ˬK{Z\ -l>[ oz 5{e72ݬK_"벐8>MAFsx5V믇-t8DXfnN{1lX1OeDlH#vu+clkz{-_PK`Henӗ16){❘y'Љ(M./QI ^0)qy2-/T qzı9B}z6w B xTF̕Ѳ!|'\oj*&ZT:k CӉ`QoUnwVp'.L$tTʼ5E2^j[No Y`r^U R3%ǕTbnVg܎d#tEJT\5:=oXo//Aؗ?wPyWAp]p9'BG1!o;6v"0 oG@?i} y`ˑܘeb3Dsmkqfkt{uܛ+-lmR?U/d?M'DkżBtlHxt˺`&MM 14з_+_+WG%-FbZY<}])Bcڸ8P=Aj\R:Jtg-Bꤙ\zH`;ñgC >`ϏPjhWkdXCxQa7yدBqƈѰXqz^;Vf$ p=^#Z[}dj-Gz^LOm'3$>oX˨=Ì1QV59XV 5)j%6ٳen I3ռ41V`@rQ:-(TCw!)f^$_>Y3՝)X-HĪ[XƢ̋No rj-q]}(+uhqSs Nуc Ii\Л"@K)X*xj o{2%`y8 ,'!zcD(~eD!ތZ}cezELdl+JtGMmEa?12W Fgϥ+%U\ c̶``ҨpTj_f!̱"e|~or1idֺ^S%u銖1VB! 5K561[cyB7H͉J@1k!zS<;f/Bi{Zɲy{idy3$u<f^%fIJVɽWx3] K ZJe|w蓳O'G9KNOKeSBpRѻZN}|a3%҅~l9Rj*éMPa;rye2.6dz5d+YħdJ7kdemܹbxK^H|E)Zp>.y{y]LzV,_ӗo?{Sgk~`d w=66$}p$}SJpsdGƓVx?7Ol[^mA1Ment' % tNg#o.;au1'n04 r:EXd+4eZ~+!u ['-2&i4qN>PuE 9j[?˞2+Xs̄[ bA2nO *S&88_@ே-驎SVc`?#.n˹BI^ [I|!NZNldyb#BY"@Q,R 3uM9noxyL𡝡ָɄJ۔ Prȹw/I +?kV(Zy?V U$,YZ^g-—X̒5dRk`V$W }[^'eҿZ3KFb}[C3-ud*zesbfɪAW\kLs9%$4(cz&q+6Np.yƪ\iO >9n|[6w7)rN5Knc#vREf vRie,b/Q0,L P˜'C#; eي,[Y60V73l]Gc}+_7L5?:48C^)0{LO_>w71.yT+cid0iq{4v,R[+il̎[$߬% mszZ*,)VKYrEDNس K?tbv$6X.j *d Al|N-bָ-\lXݿTlM9JV.8Y7xK|z&zi[`E?v_v_<@Ga&RA)N8Ľ8,.oFUgL8A\$?y<_pSx2pE!1͵b9S!sx]ڵ魪w|YV G=Mkw3^/a.< 'd۽L>$6 }PpQh[\Ss }9hm 3U#8bfANg̒WkfHw0T*~ rapӒhw2OKa;s BL4瘉(8.o\ ]rV[rmF Esș{, ^i9C+ g;Nv9~uK!Y.8,烴U8Mf Aؽ{5_u qdɮF<$"PRCdA'C hqE;RٰZ8N}M|Ճx%S0Bɥ)Mj%wRxJ)H,Y)̗c!?\93V<Ѳyy"K?P˜bU"jQ-B+jQ b*!_m?f,r^^e/?99a'DF&q=O˿8ɏQ/^^𨪫qߓLIΔ# G{@!3G'$\X|[*7I0uci}VjX-"bII dHAr߳>s AO?ɜse^{%ӢIP_P%ԒL9Xw+Gf)LMԱk7&V$؀M&Bmϡ$Ĕ69`-CBm8*xvZ"7('J#36jKRBzjh[6SnY:Yl1-k[0 6O)]cZt(;`PP8ƃ/;ahfB' @.!N $h?T08d1L ^H ny`=Ԝ2v(61[6YHŠjN 3S#Sk~M h l"4Cl؟]S&S,(#HaRavzs ަd Jh(Lk&O5*Rz}Л RP"jGXHE¡p-팝7&݃s &T!!@C8@1 ̘ ZTVspU ǖh[_}y-M0w'N ߆KM,| |ROuk˥ _퉨ZQ`_VOg_zmG`Z784; xPtOٹӀN9:@Z9{1-1I[jcS FP ՘*T(!>DQcԳy`l(QN[!f+r5;'E?ܬ(%ij|-!ga$ 5.3;S]JAg|L#$:Dmj͖1xLϙI (>6Ũ"H% kn>N|p(FC(Jn^͗Jd6>EBIKC'3(P$@.'ۉМKb1D`a XG5.Z.ZNG+hqpy -k4NH Z>szT񎠊 gU*O;$%` D1e`^G(`4dgG"ڑv q%< (g~4_FR}ɵ DY.Zv=lvsQ|&ˀEca Fa!fp ,Xq8Xm 5pX ǰXpȧGH(p`4 0wؔla8]p{Q}oG`,`b迄#oG ;,1?cPf[#SyS _`~>]X=<%pS"Z=ZȁI_F%#V7#GGp=ȶØKaA,9G@Ak!@$V8.B!4G5 ť|0p RL>86nuѤhO;`͎& ʖh1`&yʃua!廡rk0CL]-GBG,Fn$yը|5&5.!뻵rMM3aVFM׎aRPm̮kJ;h fL{b* P PJ ͘3`lM+qWpڭGoT[ߨF,ѓ7oT[ߨQm}Fj7oT[ߨQm}Fm\V`hG2j٪IVXR8S m^-Յf9d(jBr5w\j.@=TՄ[,tqUم7Ͻfڢ뱬0'uH)>}ᓺ0kɬ. b5ZL W5pl(ldq]ks!D躘a_1&1=c؟(EžlIV,E[hFyO!V}, рC+`'(P?y$ɭ1~B !6QѦ]TƸS]E>$7?O6^ ,S/jCsB6OOLV{Y3|xzb u]Z>j>ts _;py^ё/$ _6%[&K'7˟˴#/lvy0u0k.fO;]}w:Zϕ]zҝDΓ.lucn`bzMf<֍sf6ORB-Yݴvo][,uɵn,BmɮE $չL{\jWZ[WEqN ŀ!Q-+Zqj?232%[,9w>uD)(`Kv I3M Ŭ¥ ?v;wHK>&u I;Mbݟo ORJgAʺ֍RTBRfrVKCY]*~anSŵ!9qyͪ L;̚ݬi$LJY߾ZWbazZ` U,^5<nSPaw^6 {ӞfYJ}ucPyLATQ{j{`xp܄3Į1$'#/NVR޿ 37ڥ6mVCɡ}߬=fa˥5Z0V$fZt+^fa˥RIYx]z+6h&]w8V$m[Iڬ<.Y$͢x]fER6KXG5K"Sm|.}Iڬx]I\UWۥV$fҗH\.3tRw kpjedcv's:l X"wN>BE'7à7mM|l`t:P[6gxſE_Ibɠ?B[..D3`G:d٢lgd&C 2vuċAj]d-[E}:<ĸL!"&' EK]&]sk#ChGGUMn7u=ȧFePIrhafׄ' t#l+ =#fy’v0݃ٻݦ.ܑzNLu^)˭QZ1D 0S.t+L8y&"ie)Y'.,{}7at7%(vZ[.j-=c=%.Z̻3)b@ſTux, śi\LvMQ=I-h.(epHlWۭf+.]\Q箽M+*2K:{\?gN-7vGq!Pud!g˥TIc0r 2Oi˥\FH0Vڕ֊1֧Eៜ51N,TvHe||̊ƺⁱbk+`͓rns3#Î ]Q{ҖvzN]0W~Daxќb6=װT 5gm/ߖ0z>3[=癥)37zN{eu{XHI|oSz_$ws;X^60s`}&mH9Y#ݒEa_iN"zEGn'8Vl,S0TWku=7Ni*Z4/vY([INy"N1dj-sK@k6Hx$a[hE /Sgt)rv:PsV(ls¿|Y{3:Xi ojOr-(zM*b4Cf?^1Z|&t4F{1wDWԦz1@'،pHru1eGs ͂Q:F :ؒsNySsI}-e<8ة:X{L g;%O,t(4_9zQ]= JC*3t]/RhffSъ t. |RRL ^R+"iucKpj),7ۭo֙ |7.9gRX` Od8oSse)ΉGu#OE#gVv3!$+i`.;n̰oE-r=qVX{,`k4#WzohBU;p#v2 0 c7;AYKfEU5#L,xһRMAv7ډ;bmRfgB,ePY>BMCUM)Z "td*nOyU5$`+1GHBF 4V*oSO:vj]׭V3۷ Έ5m4tĖgݨC:IoHW'=CV"I=Ԙ lze);bS"f|s}Gc?UJV {mK EԣɡKJxn(2X1lգ; ڲ$BV?h:U*ȰPdz4UQB-V%ԝ\OgʥgB":Rԣu]zt2h-yB%%*Qhⰾ{(fc{/ׇ{JoOeE;وZr6Ot:e.e- >'ൺ-F\ : =9@;`{0z$}hF(+å?瀮: ,\ݥ.mg&6X7VQaf.Sژ 6KB$DZ06TMa!SpOXm|M=<3&|;+"oTPu#'F9]w->ucq+ 39"i SXKSVeNQSċ$1*b&֕z֍桬Am8X\=#tA7Ugr=)$25JHPcR^ g.Vm i813ܣ6::hc9Bus77ڿ#~?J5 YPhOSF:jMy%aS9f6r[rv;/-DCM"YfXSҘIҭesdA !M7;97hϢ-yh"NhBXIYo뺶X/rD niC>Oՠ<8Pay].5ltG=!]|9a/9o E?jNvt꩕PS7UwdxCV'р(4vw?_ӎwTl/Pł 1ۅ@uX~1kP2yz)̊I@~rAbx)vvc RglWpafl!i&@CaxPd:'P|kwŊGz@''s4_+qmuM-[kmXg5 H{Y t'_h+p. <颐=E.c]}D-cGz8ci2n#-;'rSnqƅVY Χ"1vUi|*QZϡg | ώ03*;0ynڡK$Eڢ?W9>,Z7cZ7BKVۜ~ sa_͊(T?'m@'D#'V[T}b$B{2X+qڴ!S,'Û8sAղBYJ_͡ڏrh`tHE./b^ zۯ1ē9TWi<C'H)ڝ;;ĭ'ݩL赞,Lsuw5v3JZW'7V;)uxp-IL uXW'ƫV;ټPOӫAʖ4b!wE >(WH b: A~K*jYuڜv[ \ 6O%Km\SuBķ(E@o뺮X)T 4IYmr9Ci1");kD>kښGlL؏ȑkó1H9hJvE0}^{(x.PӘQgP6/Z~2`^\OHH^Q9S{-,Ū0>B-vR:rNIpd7J%).'fBYj7rAxʄ߳)r]TyfwO#eE_xvGS0\yo^LHx$ %Q 7jAIY|MHi.V??ⓣ?'eU՛0'=M>@6?f`; f`(~Mg0|r; y2¯Ϟ߱-oB4]- ل:Vȣ;S`SFV7V~π/l]̎3 'Zh?4hWF颐I l>9oż<ĢP/%Z#ti?Ge9bzzҦ{2A}")wUY'e<U(;87 T  k0mn\O)}bD'N *BjKpDxzBf@;uL&ɏZ>7\^[n+|u:ȋyŌTϡZI1vXڠuc3je9T[ZL})o܋-NldINȺ" ݞr oJxeT).qk+pϹn"C(vR@͚pLn=`PPdv}q_*R[7_- l{uKzcc`& ξBAg6i]ک4jep9Urs1ZyNchȑ1a̎{GWKfgtd'040yq;᯺qb~(Ҏ!gߛJ""Ђ1 E\ś7$I_{踝HxM0e1=͂aeΏG;OXݱ"g= t_,d,QqT|XTs !h6edx a;EcnE$碸2R>-r2]PL|+Z'M8k&SF?U#I-:ƨ ]"'l(^~%1$t`82w_6 M+Ͱ[@ۏ¬ngg(>;HH# eNb}t rU$jwhUT!>h\wob>r)C(R!٨ yK7l]Q '8I,*/i=: Q$#>~=`iFLI0ws; 5d 1Ҷu# l%yI/I QnfX(ks~dXw)GPU$ Dµ`Cj%Xթ6#6.j[(7e |ؚ-7s:Ֆl^!O>t JyU\ tb`A"zI佤LLw-ѝY]u_aJ;TLɍ'fiM )eh*P$Gq.F!MP.',D9YI('{uLra螉tGR@P\FiL$ <2Tϟ`.k|NR&XIk*q R2F8LPliKTRRPX =Up{%yL+㧅KG"8S-&eg(;O}]C!?;N|S7xLYt.Mpӓ鑛ĎuXYBfmz$D*IDӅeUz-]e[^dZxHH8 M`nzXnvwGa_$=>FJc"B̌M$QxH?Or.lq\1)Z8 q("Y408wkfOQIխir8RBʹFzS-%}o>+I,ߌKSW*+5J`*U:%y\xu1S>a7Zfi8GL@smzt]e1-xNoÿxVX0:+(j+J&(&?u]>ۀw %9=3q_Tt!EY} )R?4K@PҲM} ]#<#&A{ YewG /NvEO k6;D3 ;)?.$/nr,g*X\׫ٍ֡r!~۷q1Nw"w-]5n'Qs;ީŽT"Ns[%EFQD9`utm݀T>ذaۮ7ּk<|[zQ%2QmEogO:7o`V|(Skv2lgmHLT(f.Q`u!eDd+,|]CHY :˪AD:z?^ sHfЇlygYƛTfTQ Fj9PeQ$ڥF\{ V1T/JRuZTNTT' z ,3b];p{'Ylxq+A l*l;Qu=h3u-&AY{y-bU|`5B+lĺh;ڊ,ʶsҁI"7YxV`LZVj'<dM'՞j? XmiB|Z'f@eڥPmXhLZ'Wj# Q>;OhVdfgE줼LT[ծ~P,٢_UT?jg& X?0%yrymPmDB)UA5 |;oZ:T{ZT`'IVy_wbzs9 8hdV<`'IOxn#>i۰uP툨՞Ֆ%T;ڙO;ᅢړ նMK ^X2)N@NOe].0m_ȇEAdՖY@f8jB6ww .^V_9ӫO,=K7gzuFX }XVEth:}Z~|iv~}*^Oq[i 2{,TU9[ԡjXW?'ɣįeO UJT-+&G Y7J4|LFn׷E$fP&ƃW7aTmtq^qFTN (,fP yP9jc~ 1(vÁJ,!w% 4pW/w1}kY{]*&w=JGKoN V炏oܰŸ[9 ׋[c xT~ A;BEz\?9JעPBGϤ~'I40>72fGt8( MG^ki`=v>X蝏'^+`cúR!aSH3K8 xnhfjkq*y;:uj`f} ='4B١~9ۏ!*Å,DݣfV!}?J )7 e6e3wD}- r$ h"q.;d\lKvIyXlm'Q mK%x9zX'dhaha.;/%q*}^jfWEF/%{-I.~ @@(~iChbhy?lfPCךTw7*o*4E4Uif)!9.1@C/8g/,TRm5{EYso(bԸ& "O|{uipr\pYD*6V Α,WNJ&ֵTґ;˰G&0ibU^#ntԩ)Ay $1!XGͥP}>KQ't˜IcVuDF邽n6/u,,|ȡ V C*g(-vbKBY%x֏,هIyS"w8cxf}в( p!T1@E@zaH Ꟶc~]"YtؕyIS݀$;)$l^~N8$שMqZ/C-Uqqs* [o/` Ts$Z kQ1xs#W?q L^r$Wsܚoh DWY5 &T[fSvN3!xLX^+Ya˥Qv^r[lAIą:D5vRH yQۮ7̡b,TB'.*H^=ăm4O@qDF^4C"([|Ed;RMmY-٣D IBl>@= 'a?}>2t-j;)Oҿݐ*xe[:]Az8A6L^xqMb6 ]\ec90aN_Vlkq5X#K\"z /ق Gb{A nuwK!:!`bے|xtg]{SnTWv5ң7 a>ugc) xNk*;)G(cbH\G| N"F&aT@)ε1UjN9sZ^'x ؾ'C Q\jNY)k5ޤHRxX4E} /Aq DK זhE\̛=jJ'0Ve'aL:[Y n8NWwohp~x:y&547_Ƌ{mvofעu*{L Azs4ma4vd@x0^ǝ/q\qO ;ǎKhCw^fRE&3`Eq, xUy m̲y4Q4S * dh9-f"}AD~]]HI09:Fzdǵkr>];+|h.LٻNWUyKIc|Jx^]+oc%Tw՚E2ŞtqWg dCmY}[^~vp.~0<^FţV[COX,H;ehvA˲C7tN>o*=jw A.u Ə"ޡ+лI:![(;bDAT^{|S%.wo' \,=%8od:wpA>H 0 RfK7=b!cgb6ӌ~Ք}Ə7bWx@#0XHd0Zh"]۾XiڗTmz)8xE[m5۔G8`sDFB{S O*goeEG|7 Ϻ4,+DXaG^w~x8_ߘj⠘5B a|!DVCǼ\cG1/-J`ź²+'` ]:*ш~}gb"l7(#409{C8a_7Xeb;QL4kIev/%$ww^lL[˴o~@r[:ktBvWߕM zpZ.}BYoՍv.H[ Wo&$ wGkOA+@[ Zb~. q_H|f< Fs,ݞ܂zzeOMpO3!g^̟>5oC𫼩vg[x!O.)&| oI0 vV+r xY~]y̧VBTl ?G|J]GK[.-;cHg?kܾ 6W/f+Dmg{tl(`80hdW5Ě4eYy91Z5>bѢgd023e-稟WKMOC2]6—Kc%ܭ>az;g" ;)+u_;8jWǬS-7RQw_|;<%O[S aSE_@ɢ5P`f̏?: ڟ146U46_d} j"*DC9qM2v^J"c.X_ąfGh>Qb;]죬ٸqǯ𺝔?*K3 A,<~%xACì()gZC@[3F h%pp<>9aA|?j#\K3b)p(] pI6x:y O?W{GBLI'XjqUwž/Au/⽴ _o)wEVͥ>]{֣~sz ⷪzȵ(f_̯x ] ]d?x΋;Ӆ?4e`sŝf ?WRYK5BHdy4\y'E'L k* kfxnp[~5klp=7][~klt{A^g0\!^VEVJ u~ӣs=ѭn"dU9DuS&B0'L8&;Sc"o fu9+isIh't&v('#L:]vO 92LFNk? $ y0z-DI:8=btB Mh ٻ%Kkp@Ѯ>Ut"C'oN}$rG Lp"Zh{NrKE+a -8TytFvG)—Np̽NQVGK-r^C)᛹sۍSPɵ,HV_n!Drq"*ND .W<6s"*;MJ9--&Q QԿE=ŖK"?,&Z({&D}|vE`);TN0>ٞ摆a~t)R+_ כq'$OHy6q)w"5S!YH$C~?q+ ^̯_qP.`U9!ne4&RAYktz#{GpxEVv{P5 k:(v z`d\˚Ex6tc4Z-wcD-޲uQzA'a¹E E = A؃+>?:XcLv~0to|8#K xT8 L4:' jGM-I_,)9%EPh2SQCjV-*F@ 3B!; ᖙ$L{>'se^{]^{mB{=QЂ0>֣$OgQz=63F9`a$^kjs0n|E2I9lXJ+RWvqv Oͫxj^%Aw-.GBWx#Woy#^ᅎx[ע#R Udԑ> v 7~i:˝BS%9`9-_pīxc|#^x/K;__/< l#WП.w 2ikkp 7:9#./0H#V\PF51p)bsʓl_0M;Mof][[}L+؊ ZYi2bU{ak.7 }\F#_<3 zBVۍ$>_m EbŎPh3?7#n}f ]>p3,9*ӧAn, u*7eV L1~FO~>?|nzЅr_SB։P^uIK}{;X^u=t]X5)!Fϱ qE5WZSwzVΧ'{gzՍz⚸ƑB"oxu+ϒ?K]}M__y c)_` !D{Af $t5p8I.X7nZlY{70G]+/dK899 ?0OXm{']h}mgm,ĥ#,yù㗎؏>Fe]n6.i(7틿{ODD6`籫xZFµ_8SR# S>o#{V̿_[ B^M۲ ܣ0] M^3smNWeUGv?6T;f&@%w.'!g+h)^g6G_qh9jydz~_جh$9!8Jdsh`?z Df~ ̚BTܥ{1,9·)TCfwZ؆Pbw#[||sn1d +DD "<@|³;u L_)+; NPFʺ(lzs:JcB+l% |H9<ʋA؃W{~p~6/\1'j_dlf⺝&=!.hRRL|nH9G|`(R^$);1p6ܟw))=k>E* l 2w#p=QinG+{N<1p&K9DAHDd#||_ׁ׷NF,8GG67s7ch [S@3`뾏,:zvs)mc4hd:\9`0W*څnXcDV`ƶH\|<#x_70HPߙcDN1O>~ RĶ1e3Ǘ{ 1c`hV=u )wKNN.ط.XnX@EӤ?;>ڏ|2 =Q}UuZ/;Z)77`'k6|vg x#/HS2;?~?Apӳ,vQ^ k}W=?Mkm2i#eىy7;D?Q5UgR)ls7PNKZz"\T7`|)CO ) gNޔ n29Lw;9Y{ Y>1L7Y)1*kn-,P@R5$`N-R)WT{ey?Q9B;qų?KV1K7 o<"4~7y69?$W1jo&Al%3^ÈB14~!pbb[EŊNMkG,dwofb#| ؂/"`%Ovl}ˌ w":bPU+C_-CI|\֗@7E7ങ'YqcU;Y͎t!2qOk-|e4%pוw" %؛ia; /MczE _x]:I\IzxftkE}w,́B0V w3Z#>`ǰqG>lT/#lx̄W1a}J3j̾M3)`5h_31HzpX9>=I9 >e|cs<|N>Gv1Up c+Kb9Ї[f*~k_?$|rz $H7cЗpG/{m-ȖiIp r+ݭ sΰYO12RBIa["s|UgF)Kvp HHYĺF45Bhw` "zѾODL.!AGμm8֒c|W.q l[z= IӅO4:cúQ6hW㼸4~/):j w/"<.kY1#HZlyEflV95-|}jThZ&>&2]i9߸ ﴺz[=S &t4ig[Gڄ^3~G)I!Z|yZ{&3SQkNamy ua_JhВl;Ֆ Eڐg^B4[*%ԦO$hmD{ P%DOqׅ--zZe#qztxތ;N`F1#c+nguG5x?wx);Yz$҅-2ҚtG`뎀`75w'aX}4=tkR` ޔ哣6_5o@,o+UN&waؔ݀cEWo@]r$pk|fvW0w2;t:~8o~h^l%/1؇m tJ$Y<۔D'/e*$xP&Ə/[!hIS`s=ƅQz'j1q _sx?{Qk3e+yWJE#&߉v=}Q] ;}gD×هE [~haS2?ݭJ[G"s3ihC2Rwnxݓ.:,G+*4|iBjvQ]Mu!]eQ p?H2'o_&M \܂xbP]oܾq)D'>ÊI颟Xfu?9n=b3ihs[LZ?eZPϤ?fw *k%;Y Z;5nZƮbS ^4q[`GkuPʚ&;36.`/s?Bi7̷7N[Qclm!zy Zm꣪ǟDiݨvSD6Qk-KG#0@V#i>σٳR~ŚMH`y+kߗ.(4Z}9:$WBQz ]oZ^RPAbؿߟGM| ${GbӷO(:AXҳ hn`OQNc՟.s DnƖ/ 塅w"^k k}_zSBf4gml";!͏o`"4i2߇yz <Oye wB փܠ+=л˜LCZ Msong>Ig"cnKfKB=;598kKý+K{dv _5]6]w52Uw,r 8D"3zo(jta 7 ou"9ؒ: :jSDA`wO9nY0?чްt=hCA/| $M4nT<(afE y3!SI-Ȭ'ȤF,WjpqZzN fM V N`&HgA3\갇9Lw?6yOVR~˹EN!%Z0=U`|k*$ؙ}x@t& ε2쉟F$_\sPVލA31P$'xsfbkŻ3WI8X-r k-XNwc>[]@kv'ػ[ Xol.:afzš TG"y݌<܉ =fqz ٣š`0]̆Xs77HT-Zj *ao&ܻ)7w4bO6:4r9H7Bι8^O+ @#֊׸j|kLW{p3hYi#jKS|6R3}?o8ǟs [i7?$؛4+7.+2Ytr+PG4w-p'[>Pwr5]w@:#bpo @KFt!FY|s4 q-8 @~g7łS`Yois~c\˪8 q23&]BXK˷sqd{m8hS`'v\\ە.>Jof 6;3Cb6S܆a@C0 `מ35^+ynIM<ţ: -f&4b7yNz kkm;[e/*peTȑS&osx=ePۀ#Db&*bHI]AYty*(*(S(S})<3wXfگl6!k?&4MdySA薖&ѣ]ՠ$>!2@- *6ƌz$gIt:\2FGdq]65:[UlPNrARG*PiBjDx.9~M T*Pl)^lbD[smUZuw^dY]89/P1HEԦ䇔aÑA[;sʠnNmTLhDH͖6߄cvPs J,~KE0;9^?)1þ: :@=ңDO_~}@h G%D#b- v*;a͊xDyסkzڕ77itN+)bH^e-)dNZ%a|Y0EMJHEM'q)@p{!+%nþnSTP3wg΢&J'tGwZkvF$+zDNRFF*ngȃq:4 ?[umx@QRK9ʐiovjB,pvSĝyNQ>9 _>3YT_ץ8kMtбyKAkJ]@Bӈ 3`S`gP!kBO=wqG3S;Q --Җgx*^\U-bw W$X-dzҽ@5,.>KR ct(*KckY@P`r׳@/ڠ5Ҳ:׃xw3mE &tч~2yGp߸fsٺy+W^gB=te_0@ygmv[D%\78h.3EӌMu g #xNh16I6pl*Ts7F_ fnYCJ,:'|lD>G4 w@i쳿r5Eu,$5 MwpVF*me[n: D/j+`Y`ED٘.h0ldD/eWbh bK exȗb6%L&E;νVq5>QY8]-[s /.~)S.;5Z~ mցCZ- D9[?&Fa /yoIq: ŸUS t'+ Yv wQ:ntSf9PW>[zLέe9h@KWEuW-`p:P N V`i.4Fbu{9حìG}$6Vn8{86;M"ݠA(i;KNV_?b3. ؒ#VSL";f1b>QX#%Sd~fcP6 C;<'sWAw5,/$kKlZ\ Η -  ɇۗdܑo0&z;@¦ymr>,a1B4fj%XKV_9P #.iR[00K%^LK v]Tz\$] a=*#no6:t>ec|nafFCW۫ $5+`<`FhivcŁ}w箔0TX&%g ?Sr[Ex)*lfK (JnO-,#MaqlC`qU#eZfItjNwдhv qvhZ]C!)FLL*rAU[Ұ=?r.mcbE"YERG:]ՐYszU rݦ):NgXѼ {pVs<sOR X/őCI鰡y7Ryt^$%l!g#6DЉ6R A!9vƖDgE+a]9y`a/z69c^|Fz-HOB S;9vlLK}+]Ɋ8;Ya18,8W$X_OOQZܓWBFJ?>7+q"D&nM9 J/~郬=mP96TzfqJ6#tq:1RJs\DEdq"y{{4l6{ MSHú!'z^l ħIw2pGrkJJ_~|f_٥(R9OO\9kÍv>Ӎݺ vO 9~(#$ ]Zy +tRԑP@  (՗*Xh ᕼh`ӥEoEKDAX8-]jazʑ>QS1-wz ޼~[$ƍPc -#~}-tXva [| 9` D. Kny Il6N_sƚa6 .64ispndR촴> W6P?@z  @?35į|W}6)6ۭ)VbwEA[)n?o%N>bS#0"n[ah+)GM#UwsƆ0TGx0F9p@{(hi A&?He70hXmcs^|vTA`oZ23Clx~spJb%L3Sϣ ڄX9Gh%0],zzH!ܾkN; NK; ?fAb9:_e-W>ht1')T3vU'M|G"I Ybk\Du ,],&wQFpx@ۧh%!ՊsXjh]z)aD M6‘Hx|^S~Ҝ2P50usSɝY1=|轆asq[ n'b$;8F.i8f*G]馆攀{Z/DBٛŋe=CPͽD=R\KԢ3sE1hi2n70.mL5t9ޗ5@^?xp2syK}Ց_9Ps47<*9G}D|f+ڇң|qF* 94\y}7Ra0nzrF'm$Ĺ4#䟂\)m[MxhwU2 !.K 0>1>{R0m^]^{UB[ ebkZP`.j~aҷ5Mcpq^+"b-j#6 6]0x )"*FUiSu6ֵ D} I}9m$`WqC&P#/N%1l.~T\okնǒ~T@7R}iR^s-ŁҐ 5FPj=s lT3vGLYFXv ׸'BH԰ jT+te(b2:(M#ۣ $= [U a1:EH)ŭʠ=$UOēʠ̈́fGHXa`KSWj^W_պiKurmijWϗE|N0^o~ie!G%iHjDJ6~9K3 NnWa`r힯S]C(\;iQRڤj#7Qi3IR=>~6;ȠnR^Lhqhy-|F=gfs`m )ӥ3wl)_ȁy~iL`l<}6)ve_z\bwֱEp}6ч(7[77 $WU.}{]* Z\V+"Isڃ3CD:N=^ísdkCsQ^iW4Pf?܎fч VF$3uĨ#FFj- 2dzA.}/;tN~vM͑jg.Xjr9gXɊ^7"و(rhv`3 fpy2!$ GO.rS&pVdAd䎈 x2jtRE%e[]"AV,NJ$7Q0 i . ԻO9N( ' ?nߑ0 VR@G@?6$%|ݭhi9@qIVUдĕ9 ~rojrj\f'<>C2٫ Hd4ثƥ٫&29$| d4]BR/'Ԏ(S'F:A}& /hsSCoJ!kwd] lԯi8M8}A3ЧIOsMcsuo'ګ&ثo6>0 DS2δG$vG6fGͣ=Mpxfi ߌ]_hc7=MϺ=yMk±lw:p{tt.੘RvjUMì+±˽'=VMr WR#z3 Rb< S8=J^٥v\ xT1*}摲{eWlT}h1w*&'(nUtb4sb40uj#ͬjlxBU< EsBD* )LԘb ^yTdHWtMVp$앇+*e*C x&Q5 }gj<`v(zNW7SG0~[WB?CV*F[ 4 +:_zLTj!(A A3]{y^d19+G7"VfLNd2 ~'+TsSw.LMdn^lAVH&">dfr9 ^yL{eZ^yL{%9R+x+{erm+'+}9Thjv%FD-{Fȧd{V37S=}TgQ Y=x9?de03?oF; sYi2Cf&U R&S^-눦H9^h`l<Z̄U2$ߟXf ^,Sh#$E&Xm@ ^n!eA8'o&ᲾD\qPL߀/9&ux82MZA]d}Gu+)`O8&"M$Ff(b9) M`=C!8K#j)0ts |ej~+oOD+d =:5 GCgzX~sH~}&Нth煉$h شG߭mBG{*rB ۣ4g>rB۴ ;:EWȾS8YFK?_wV b#dd_}b}'gߠ!w{P%R5ޣw1Ti⫇ 2̚&0:t5LRų\2ESCZ+&=LZAytLߪ8gJ +6jm+Z cVcq(?PT \zEL#W?+AQMxPP8(^L]O+S]ףM~A! OYlm[=Т L)^Swu2 |L^yCpVW*^ tA1(\ i \TF jI%wLzę"6aȓB{*JkY~ pNn1f bVk%?sF5\qJOCi8?E![ez\$$p2BYyP#LίW# UU*=_w"&;3BwbׇaBL6ǹ6'oV؞5>-Lwldg+8;;QOcQYwqNRB.6 Qco/Ӥ)|;{2̓Q:eXO7,4307kUeL(HClXo6wP?4{NA&XuAqLſWٽߋ `t1x*3 9_cLL$]alw*4ʤ|wE}oK5 f%L5ݮGK{Aqi aaTmׁp\BW; !?WжzZm]aa{BO;k<y6ϼD<iS聇=a=ftKd qVޙ#PF~O ,Hw95 T=7h-02KݪS-N.Q|꣐G|_J;2GīL7i(o,J6@M'ٷQmt5=K F * R7guP}!IKŞYC&N0vyܠmq\bjg֯ 0Uq˔2gMjp^;U@92F:>4ą)$/( eЍY$ á<(EJ~j_^?\s&U

9ϔa[=q?UϿ{nL[ln_5>(j}n+̩1 SE"/ h"* = HH}{uN1+̑B ͠W*om 1iy]f :Ald3Х/f3/ղ_WS/%c-cS$Gy({D֟.ݭ%OcF5ܕJ|їӭbqh1֑nAnWANjI.?^=xq^vīKb"QV(DtrO2߰E ڴ1bM+Q_6K̀AZO%aVq`aq ^aK1eA: t3_Iē1| lv/OYZ<9 vS薰0ѭT#F݅g]Z\.k6{5 }t08N*r%,#3cٷ x̌'C bXak 5q2**"SMMPWQfn2sUMn#U]]P׌G|n2 B]MzŊYY1_@73*~ά*^[۸_HLwGip ~< :"[u>ՙ[8c R,W 86BWG>:Db//%k1hDIdEUfb_[6>+f{d$8YN$H|uI*ݼs1S!Oy1@NY"kod=OڴMd)UAAAijnS̰6k]YuڬslN`YidRhCq'@دl7gχY'ڬ;g ܲ U*wޟr."aL.'KvurI=ri4ER|lRݦ#R@;/VPZ%:JAW'Q-)%r^LY7_/EeθzHq AVyWܦ6sJn)/+Bf%*QLBm:'ГMez2涢wԥ6TxHL mT%*)穄nJW9L%*%2)˭n*ws1>)EHs+=V;ɭ"gw'nRlǢf9S4CK]RbΆ3~G8W]:XܥBysPVJv]?!CCN̰1yA.Nfl[Ŀj-_"{Ƣ"{F[L x;$1f8oJ=iT7@ d~ዷhhQc4ףZL2wVI hwfw;Ltwc*?}{"3QDg9}V۷CE\ Nn(|{m(*YǕ]k,I^Dvb/%1GTSBkyEx`CM_BU&kcw `?;V XzNsqT ~Q#xjz<#DŽ3rO-D5CHx0 rQy|VY&& *JJ;CsqR/%Ɲb<%Ƴ͑"MUDvq0\r9b!kt>@ܶ~ a_mfNk2؍šܳXK73Cm LI#JG:Jyd(+.1fRj$1ni۽WSLqϪ*[4?9rJȄ7}(WܲgWٹI{LQ̭eǮg*peuP\(Oce1ר& c=ߢߡQgs~QEdߞ4Y9nȡvWR39޻H n<)kޚ2J7f&P5~sQ\;*,V-OVA.ךb¥( '!f(,6f*kL;oW@"9d8|`>_mNv7OVn]Re&ǯD*.W{z::3uwePd?* zH}џ"\iߩ7*̩nt!g9HL4m54.A7pJ8WaPQܬW(43ukMd⇊}T}Nk (5K[׺ʚi0I:u1qP)HDu&pYa ?4X8ֶ#o*pQh5TM Auy)UUS41e}rYU$L(c&&0 HJK)()j6 Jb7}w)\ww9d.+^JJD, v^v 81l+yd9.y蕼Y*WIq%￁N"+yMx*G5 rA]LKh" @꽣I5IFqF?R԰D5jwE b10Q}:De &z$.&w\@LZLZ7ma41Ƅ{q ׋k7&zh1}uc!# 22<edE]W'HG/YX&AF>1]ZFM߯J_Jo2p!#G1&QF޳*QF޲222oUl}u ؼ/e䩲JK+ֶR;,A2=ڐLSWwYkV7( yy"&{Vd乕 p+m1DV+VB hrR\=<(ۧJntDѿemXRr=J2ootkT72m4SQ}MA`D>p:d>{&0x+Ri)Ph@a:} vCxD vTj"Sӏ 3H v5Ph^L(_ѡ<". v  3L(N_@a}=_І_qI0H Gvӷ {JG9P؋2W@ao(C_@a_(W;^shƷ;.Tw9ȕmZg IOE)(gh 3͓kTmlirαUt8a~]COūQLB'=cOڿ3i [nV_( kJA:sTM&ʈ`QʾF6;Ut5v/*jjF߸:xqkxnItLH((oYQ/-ޫ7h }4tgh˪{e$ƴ>ڮ9}RDHJ8_Eiv=$)✖5ׁ\{I9fIj9`}ڭ`%DjE#ZJNe]lnגj=JkY(+)b- XzTdd%fJzs4tZ`n:-=[H1 JWYht1֯A,в>p: M d,h_ڐm[GY_ڐm8eo}R0<hLqP%5Co-)~"&kwЙx7kuZLOK<%b| JbzrS(wWh"h:` òI2 2?apٺ8jxS5zH%<io ʧĄAl:ܶ℆"ZuBhMuqM= 6՚.DۖZ&jp#> U %g [Z,~kDqV݇nG#:$!GP5Zg Nkuh㉵6l#-'[re#)Ü[DϽ)5cPW[G$X:k$s @Pg`̵\<;-O~~jr (s3K (tSڑugx`g {Ka 76(7p0مGj:0fM FVw.+:0?.ƬXuc<4B+UꟖ Hq.i3af?Y!1 7zm*cjZze*1̒N xdwT#S$BNrh0z(!0pKZ)}`XR)ޤ߽ZDwrP<ٝ4𜪚8 5 ijC[qlBO#HyUR\O)'KJS)EBORN-]F eF<=*phti,Lg'Ը&^cyBB*aYHYFWQ⑏TuQ)\4o)|8mZOGyש }$pf~bxY̰?<_l&lMkio0&V=՛Bs*;q튻EL\SNTZٺ7J(m] .P)71qsJ+ oSI h]zj{ @KH3]?jwHܡXBe'vÛĨLM~P@56;>ZMH_PՂEzY?ǾQdC"xr#E3Cҙ.LGڪo7Vvk lFZoU&J6lP<4|aA2)SA.zzI sp9 3,Jc s]w NJZ MM\ezAظ?ZPj58@bD01H,v):fq!0a -ED\YT;uͱ5٘H]mAw*]vG[^)ZJ9~64aqn}!è,ȉ>xt{֡}/83gL ;kI tL0dŕ46z1ofV#&T'҇bcis߂;JӴߺLz >%z~c⃇$VNj([9"[r88(Ah^- (0 xhlL@D"#Xa),WWٜ/Nep|Yӧ&yuTw(]ue尸 z`Ts{QH+p}bcq;󱍉8nbCI桬m4sDXyQRp%@x k7杤I*->B6:c=X}}U}nނ>fXqoB{zsb0˾y.VwLƒsDM 3x?EqyWtb\Tugȼ^X'&ʁ~zV␍zCpt?II#O]c8r㰜6s@ז݅π枾1'>Hי~(VʇP+ژȡV2pa"{@/ڜT,#E}q*boM&}+HJ?`#t&U$k G,}VOXٛ1+dhJ:m:p#吇w=\,8hc'ژpx4xe^u3՘*1~`b(xR/.P wB es&h<]v~Oʑ [\]GY8+U㍒<~ÿ{x2hzH6VNѳ-`RZ_~>ͧ 'Zw.ہv7cv60Qo}G(t<L:i\|(Id\Yk]:∥ƛ3! fo7,[5;cEÞTƻ˱u[3©А%6+YGN;5 FX;iٳ1?u^Dؘ^n|CRX `|Cos?쨍T6]񏐡^ +Ž'J=cra{6NgEAٞQ\(Wwah->ޤM{dH qP .&Jʱ񲲖BOn<44S=*2 wA]y$vrQ OÂpJyd[+(t q*Ghkr57XlF6&fhbj#U9W|vnDlHCN{6aNALod#bQLXl,67}GrSu)ׄ=oA.D  cS2,Ձ3\y,!i/]eRJ5Gl> 6Ux9Oj;IߑL= ecsG*aJuq4ĻVU\@{p)i JYpN{R.M˷ `:ULOinXbO!+VR<sI+xqPfefǷ.7Hj(U6t-73E@(k|?7{^?9:os7\kNh˙~)>F;7bⓁ__Ow_rSXtB*c^#Dpi uuoL 1qfN*YijV8uULR\8Q!8Eh򮍉u u΅^61fX6uvSlы2^WK_軧YfvB֋MQ$^'޷mq @z!cׂ ?$?ؤJanʵT9*7ۍTG0Y9}v I?d6(zpyķEQSKiހBS!JVͪ|(6Ū&Ƣ7'3&K޳r@%:2171F7#Gn@ g9ނQ#V|Pa"!tjl6&^ݚk¢aM]7bux߶1 НR-)բokūkcR<4z444vZ20j6FeP]޶kw,|ETb$.FCS0n{ĆN208YV *e=رwln`cAUqjB87/fqgaBZxڃ۷a_@:}s->R0j_O{ԣoؘ0э`0?'e<Ǡs^b%s"e8cut {{R6@M&z-ABܣdeZxG߲rkD=<[.bP~ uk@_ ?l%UIM;88 ѵ\^j2)bG_ĢM+X OvWOacTypE٤ƺ5֯zRF71xFj7iɯaLHGTqa209A~ƮY),{Ia3CcbZpI,Z+j6+;@Wku8˃cQv̓}s,M|z +%1o˔sܿӟNO][-}YwMov: Fݚ? p9\0G\E;kwCncyyݫHul ji,(eVJkC!uEE (1Qpxt6D ԫ j.@Xc&M6d:(IĘ)$CΉk6V+6&m̵h<6 ˆZ*= ^JC۩҃Fo לJn0ޕ=h[T*GC 3 c89s@jcؘ((.D qK;P𥋌>D ,.Y1oO%Y`V{ yeɾ@̳8f,޴j]йZL\cy90e]*k8߫yO .H&!3,|<9+ȪXv9i]NreU#$!CCؓܓ׊zb7_{4l̗mL<ثNј3-gzwo}[ģu!S C"TP!QIE`qwKcc%l\;EGj5,럑Ďl./0ZWz=3Bڬg o$|WHKJQ)M* bamt%6eN0$SFt_ST}T4ۘ*Fa3 Ek 6*IIF0 a^),VHtqbMmc2c鎭 q;v&uHw܌nU\%+Gż\Z%/3FG|>1Klµ/T,,k6&l3 eAq>|s2R6`+~PM1+JNslݪ+ǵLqhk3(=IS͠Vw5z`7XdF 6&N㝜\`әR-1VNH3M%@ Sw:أ&A5HBX`#𪋱徦$rJ 4 *0jV1sևJA4 EߟTHP"=Dm pz~6NY "d?SUU]$ۗ?#٭E:.ȎlVbGȌd8z%hcҪp$#j7(}lg6V>Vbr`?qhaTxg |z; ^fm7oww<'hU<|]̃;uXl'\}k/o*R8ꚹr3knJ lNhe#DClL<9krr.IEdQw*T*:Z]f e0M}Uo]B,5u20`0I8̓s\x"/z\[ꬥY@c;I LWx(,7i>g MؒAF`k&mFvCߊC7`&=c'f\yObcb -IcW`b5 wyp+CoʟOmU\,pfn+ʷb" ͚z7+GoCfWTGWȷfZg[t2s)+AkC5,>)`cѭɜǸr^RNK/ӧUu6mw-ZK澹MB ^ u><8쑕a$pVOb\oTQ̄БqB@<ڽЕ۝g:O[{S^yC=gusYWF#?!4 FKZ6bIbL)8"(J]=g-,W(9U"?02oy.Abl,Bn)%{Ϊt :btRz&RQDӸJ'x$U`Z|car9깘XDRN*5.Q*as1݃+Yp;w$jdž _qf\/ "Uul|-&gFO.݌?4|E^ZDR_`oEO٘0ZWzmdP(4'd𫞞 UØ'^Ƽ9dFRih1,3<.ymW"3dlJCÿВ$EXwMuc}l*MnC ֌`~0kg< ͜Ė"Ôt1 %m2NQi6§=|j#SSV uZ9踲=֌4:闙KCy;ϕ"jGQD0@*(ăb! F{?@^RYOB^_[{󄓚 Xt_19~,d}4TWYDo3^|룶|vh!f kʒHt uJ4Id-}O{#W2u !p6L2F]B0`4_ ?icbg2,Gz@^ԃn)  ћt{}Dxq; dLAJm .>$x< Kv⊔[lh-aWjĪ_wS)mu*xpT\0Yq樋zQ*!~g:n;gMLeh۟YYtil1^EaW:4 څtzqQ^c<+羹9̛}sswXla]~P^<ÃrĤn>aٰ |ŕ,&q߼lf-MUUQ+XKYϬ\q|U3cK;|JL{_f'n x[12(&Rm1KOS}N߹dEFGod.z2hl}Zd%k2{|MX'43^OO?<^I&b;\l$5R#S h{QXo[Ӓ5 \Ǖ0BßM;Rz40֓4GQ.ѣpߚkcxūrlS seWQns2Tw{S|5I0uwh Xٮkq2 p↳8?;;y޳f]=3^E-5@s؄M+pD|MV?ÝAJXDŽk#O~$SڍHS6"ӱ+g xCV ̢Ϩ"ה굡Hvԉ/Ӂ_uqelה-Sz-d(3-S|8`ƕjG8q`pET6DC,/!zIZCx!3z@Ƨ #gpPMtrrNfiRȞ}Q/5!Z!5}vZ-VjAл//c,MބͱɌŞ@z8jĿ;k/cz4YM$JJC5%<er (3>͛ET(|{RTV o-o?6bw~mcN"MmLLo2}{3ENt`1A@^wJi2 $_AoPx*͊rOpOpkmpGbaYS*=uJ0[pZc֢szYՏ[@~tñd~vb h[#iΘYWcEo_aHPE4m4O\O;|N=<7(}m\٤Q_r>{hfXsI{|?ٗ0 w#,\v\XnԎ]qw\څ;ajw.8zX~PEi3RvoXXͬ|~"=DZ:tk;ꔙE8d_+Dxvf3&l<Dž̃h5I#āQf€/A(!NC: EGlL se!1s-Qx@2"? F;],̀-$j,g\FgTW+> fQ-DM0!xWh<|L̉S}dSPAeb % 3}ͽhf?# F<0@?~vb ~Ds'O+OZ (v܌+Zqbs:Eiv48b(W=ԊK/^J싁B<[sy^tONLHp_8<=*SYt;9o[?xR8'?NZTh|W=<~Aޚ+&-rhblaɸݵؔ6y]hs|~;U<\A̬)lЕؑ4ɂ E@f.A(; ӪNd•Ӱe.qԗ/~3Ji^q@}f^Cez]+W]<4fiA0pXЕf]Qx$.Ϥl7xh9o&cü7/yGF)X1_5("\797+f`mvdJOx6oQ՘hIg. Wc%ڙz?Lcg/:Az [vHhIVkouZ%G;H [-^ ?87[Rms0\s]7xB} ,Rσ3 Ĩq [4e!,eT͉z2, W=dlcK:*1f9tP2JUd)dc围OۘHoEw]3EtK樍4YeG`WRMd}YEOoQ jqpvױխQե'TT?B#Ac[<`fknGɬ!}觧mZ"'o7ߺL@aM_DWw/3iMg{=R.\"/ `AP5-11MC0HX/zl07gdC 4c0:u%Z 2~jŠJ@-{ڭ3YcTNKC-^i#e&W6h=mGJt^xvt/؍v/\Wؘp1 ߾wӽ&\9ϢOB1T[3Xw"dqfC˱?&qR;H^0m!=9yK˗˱_\gy\9-X Ӆd'w((L V>C앰 :X抱CFeP?}y|SE 4 - Z4`VAqAAAInaq{ܨR lE6QADʢݐsΙ$>Hd;3g+L|%,}khV2BۄhYWK͌>ɑt@Ldc$fv:`]v^\ZAؓhtQǃ~.v`u3.j,-ҧ~"W(!1 nIW.> FF O_^dy|'4><:5&8y{yjb[п"J0LvWs>\ MI'K̡YbNV9t`30N}ZEnXE?]=)Du]^/wܼYzezp.A|*~;K12.ұ1]Wz*.u b\8^NjY߯uj7}oXssR OkzȆ\t\.5vBm (`hMjyMf.6@ Nji6룇uE4eʌ<8CbC#>2cߚ8}WĬBzyӔzBVI$Կ-hR^˧V휲Hۮt..&՞96|ӺyDjSg" 1k`O$$7`3``'7pO{ oI~Wb"e4!*MPZu`/R.;bn 1*/PAs(Bw`PXz{2w!LW?Mt( UO_g.E@pyܪc!>9.%Wof>pvnE/J[1 ujsݳP'ݮ\p70@Y{:!ꊯ`)vDݡ&]Uv)y] +&{e3@iљ4&GW X!.)<>n5Fc]=K ErqB_߱s]P#9Yx cj]0;蕄T :XpdY%i[Jsrx܇iTCܶ/mNe䡗PՒ7j6k%_zndVa+Hs 3縈HI|Їf!3d1*F9"d2$Y{.F/`Ƒ'3G98ʎ eO(PN`tY{1W며+W}~O3kܼfq^ ~Ɍ'ugp78ry"*roN?P^M H r[KxQis f/)gs|ػȷV/> K ۔l=1Y}| l݄ vI[,JXfp =LM֘ܬ}cu.8bʒcn}rJk;g<Wib:;U%b ;?L0I~dd\_N|= CН56 ]c E-G%+@#V9Ccܖkm@C z|cYTzn Wt^YlQ'_7Q>PM;Zr+Mc~ͪ n!$kL^ԬYY5N# @^B5B]Dxl/wg`v1)MIyw"v\la'M24H"gh,"0e6 HRO?УnO9' ,|dHB* 7S}8I$E#BGx@7[ĂhGu?]cq# i 6ɞ C;WOcA({lnbn~7nŝpo֬቉PtI@I`wmv? `#c#|b- $W~քm)žU~ .~G8{-ވ]|lH%q] 7Ǝio$(=l$;5>E`KlS2,bg%q&86Nl%G2##]oŗIlIzj;2x %,VUA|O N]TeJ?;.k!_Ӈ.ˏU]eh3O-dE=[>\X¦* F>1tӎ~-!ps;AC/CGr%ô~܌A*8(uÇq!>̻OD>p_#9&uUE"xMk~l@OhyhR詑y^u1;ܾ>4r&oGmNr&HetC#'<44&$ߛx @ڲULr2p8 |8?_luU>陸߄m w%jL-;ݐg*,<ڙhkf U1HH~ fH{7bGy vhvb>CBOf+kYƗ{?t9x+?ˋN_!pWSzB+[tJ~rgɌ{Lcʃ]2S.$ i .O2gC2QH<@OX[c Y<܉ aeB&6Az;@roH:㫢OlJ?i7KDt*6 t↯c]^eE?]R #ZtʩKܢ1i}.Cl*1Be eO$sY9^~P qx,5{5ᆸ>pl<1F=3~ZE^$tT)JTsF*t x2:̋^?sK)j<=n¥o e rw\rj%^=T|V$V\rtIsP4?T s&)J\lOǸ sxhfcgLM ςp'46{?8Svz~Y܈2ҙ K!_B±VLkÌje2 zS+J+S^B~#3򾂏,n}vU[WLVw()Le2w~c"4g6(P$,_/+ 8ַ2ѹ9JOM[vO~wwiGx E0*Ӛ5h?qHL %ag~yc8!I'?#:Q7 @ʞ_c9q1| Q{uG=gd\h@m^rt^OXx$auSAR KR =G n 4&һdK"CRHT8B9DHҤ֌. 8K7*]J}eAƩTÏǚO ݙb)ŝ͂s!4FPTz򛈉́B"zpEjo8a=yʲ 2΢oB?>'VJ S0BOufw_c""7j,Яg>J˂$<&wLT%[~J(ӄ:Bw[O,ʗ sKo%Y*c^sqPel߼@BJ_jX-()ES˯5koQ[Gט|ēJ'ߟ\ yr5~yurjỪFiL>p>yaQN1 PqC> a8(i9VCqd"G'+]?A~T7JOV\VY5 !Bnk3(#׺*8&sIM_\K0h_o쳬xUeUʣ:m|iX|lюߺϲSXX)c,ЃzQl,K^Iq Mc2HI8&dži^cW\!oY>Yj,2º>Ů*ΰ:R((:>cr^ˊ9`FJ,oP s6+Xrd#gz% $C'xj&r+NE=,T'n~qg,eznN/nGm姰(J9bG97l):a4Ë6}eI #^9/D& CU\lEquG {kjCR3U9 *Cvrg6+ F9NŦO*ݲ;gdYtI8ydb \!?}pK3e0Z0",ڵ5{J_6pNDdOJ T›^!n4,YHU*)`7<8hxbeYޒ( \E[O/Y E}z} J2q(>dIhxQԁg x w P_oaô%tNރt8ղbyCZʋK WO'܍rq3z֛ܰ3Mr$%t}j- n2TRI9&yt?Y#dz3UQ]Ԣ7iJC UH|t ޮOܛ`ר>V}.8`Yw-Ý^;,ǻZ;b>5EN韺3_>zʢzob6cZSv ;?SEE{N?͝"zRGHԍ> #?Cbonr!N$aAtyJ}':9y.ߏVH |-OUZ^2ϝw%-0ّnub R2 _#Eu@-ҢxlwmxAYM`y l»l$. }<{=5Yzg { f-3ϝ}=M Az`M{a =5Cxev0.߭18j_j)}.|@ͻ\^ӗV~@y_܊yq޾AvZlVPoc,(寵3î΀΀pgE;{={Ua!&?E\LP#4VfφcJDayW/Bbh̞LM/.QE-:G.TY%eڗSBMY6Eְ$+u/ r[_mp;@:+g8ԕ_- Y< u:su 8 =52;c&g{j3)pkHZ·lIc*CV: ]prmY8׉_n6 @r@/;&'𸛃t#0[|I{C̤֓s;aYVl8cYVT?TƜK&B mᐐڱ%Q]RK֧DXaD ퟮ^;g)sB)—0s{,.. t,K^Ln\TuW ;zhhjxhw}P%~g9p aRh苸u5$/Р{Ph\1Np2q;buKaff{A/W3肦~"ܟ44Lce;׾bgei =hՔ3qʞ# #gC1C 'ӑ'-뺐?SF؏ Эz:7Vr[q¡箽/[>)Nm!(q` *єT`G /` G#1y-F潗,FBO]z36t_ְmsЭFߝCaч?o][f<.goBĔxFÝ۳v#CWib-٥p2~9ptB'tkm /1n."EKԉ? Wt෱~ECv1̀{rb :#ϷS8eY0uڊ Yr*NF8(;U/PhLH&2 woUglkf%S9p;*sg&9yrrzp#-AC5&-eF3lvdY0,Bqm{U| KDFi,p֖MmЬ=l؅ ;qɓ!O_ LFb:Rpo*^ѫ/X﫛WX֕~K;4\^nLc8ʃ5UrF˂2wj>oLce=Sl,>]1tێo%GƑUP?(XmvƌP 5Vv%m1P=]&z &YQ1ys-gػ\d<4KfB9Ȓ>&*9𻷂Jg[^q0אƢW+uG?,ÅP( g[\.BOIc"_;14e:Z%!K+hdkROV}J Ræ(5Gh/Rw5ZpHo9ćd2ƻt[HZBT")_c\" TI X=b]|~#4$t U4[)P _{Xx1)&|!Z˟R|Ty #jkjyI Aؿ'7Q|ɭ550 )_55?bt% UF_V'`+'dml| \ ylHs b0'~*Sg| QTWkE 4p*+^I n4Rx\0rgs;plj@7T+>`yer )𠺈ֆ\юT87jVUxbj =7k|"?(a ႻN,9;E=*~,_o+[FݴcyĂ]WnkEU~Y׎;]≔=^v̹,A (|fR ֦='qX¿ӘBu3 IwhCp&)D'Ocބ:P>x,~v,k.%G\><| [ I%xdf&n"FI`3Fq ٛ0Q0gxӨD&T@ ys.H&Do6폓 O"rXt`? ׾\)naO1ۥmH6 $cb$X+A :jCick->w%gQ7c(D{Tx1_|Ek 0P|[z% jZ\[\ +U;Vq?_lbwbtV+`>?W #sW+ƙGے,ۼcih.g!ciHUP~`1`j|wt0 nѩYEoJa,u̲J82h1cꁒ&;|0wK mt`SiLҘ41\n]P 9> EQePAEfOC]kSCvt9Z -^<ͺMвe)yCn[I}sH\:5[,%A?ݻ ()A VRcz[`xL`СY. 1)v1:~aƕ>Ŋ3 +'+dYidj \apWpe@q`URos.ˆ%a3_#D~FZ _֦DWO9EiRkbg1y` 3 g~CL͊I2(df~V}fHkVR,ݢJfCVs~fA)J0Y4 ^ät$˜o. y|ϡyrpk6d] c|΁^rRzX^X|7¡tDgIYYt)B pObߩ8+QN::?_@GiGlr}IMвmKe6b&Ry .C*ǵ .w|@尕̅c ;!9P5h~) ^˹ Ut=6cGfa*E ;Bo94kH![%ԞM op:,#H I~8qo(X_p\mv2>ewEY>shf!X]X^k2~ҡ5v&C)ɛ+)^NۇZFB`d;5^0\ތu&.uZŔz=ۚ[J` 4/)z "\d>湩y'j,EJ[4o 4oy>55X;liyˊess<,3j轃9>aaey91<Է|0F)I ?PQu{Κq s{e^ed9k<>T.TPH%*}Oc] tuO)gXDv)q?}.gt[C9Jy;XCgU>X@qOV&lM#܏t&H|myoyӨnftudh>hMO[>xskzYQ3Kg" ;<$ -3䦩Ї}j0F~{QzD ].fݙ&zeVpӫJ5 BݛpRҘi"~WՋw.,%+nn>0Md zkP=K OckВ1wA Neb;K_I>,#%Og d>A)+ #?WXl<*t#"#~hmgIEjMa{nB%tT(n%(4m| vy}B"CvLNC^7oUϫXhK{<4.KzC/&o߅vmGg* lv)cV _|f }5&ϟ}"gCx شtܾ4dQH.K 5}57֖yIaw@b|SC_0sff鼄j|Ib.yj|2r;SW磸K5ż#XԿC}4&94?=V2,=RAQsFµJ,|J>=FI=H}!Cs{"i&og e:aQ `\Ehq; ݜ'{Nl^*CC·M&'teY,i,g. I|& t>Ʊ5 @Oi'}1"iq˔@,뭱ܴھ̳h@ֻtD=rY BJybJ#*srS ܃M]a#it'8BX%[S/z@/f-QeG@a^b/2<4d٥`_je<('a,+.FMp{ $CE&,tXr+R!rj gqbcCT8QuFxP#YS+T|[/ϊ{:.S˜kgC}yY_Px\u#<^4u*4`ub'zƀ. Y2 rc)g)PᗟT.n~*-:[9T~/q*~NeSH#t !H Z"@%oSXi9!LF H["bub(Cl8M%/9x"@<,i͞(dr]J,l>}ѲWOwOSu9~wW541ڝ'kY~T/S<) `w߹Dcm[.ј,?Iv@_s){zKgZ^),Q*iGA\?ĉk״ݻlEE$%k$[*ceM¿%wC+ɕa?¬ꩱ!07ZT7ωwus8s!is XgZ0sVMtQ crq׎o`~Ffm}Q],pw-ߟZ[ MC9u Մi6s8,98php-=^rqWRV7oSA&(1 `QJ1[!XXzey3L;01yj6ȥbLyUJi|7.ۭ1&,@yh}XXa#W!ۺ.)&z>8 ?GE6zmUD~KݲkR?@;P@Vbb&ӫǣu{Gn%.+z6["τ:ދc?$..>/z2aD)Z*GXw|Uwf%褚ڒo-mě>!?SHo|eHJ߀Q2$eZl(b:Q)TPTKg-y}v}b W7Ş gh,(TghL~>3=} L{H#Ccp`R P΢m z}^`Wc e|\R·9J"ؾR֭S<ЍmEk4%(`yDĺ_! G~߷2 wߍ{/PkRs7-(|@In]HZ*{MN~ =4Bft*$E>"}Eb~ eB@S׾xj%S!W4M]1$:ƶk`U# p1TMTqpy˩ʇ> $̴3 9~pZȽeKh7zBhIq@앷]L>*`[#?M{eV98Ҽ) v ( x j|kbG'Q:"*Ou˲ .Lf9(vyo7c-wA->P-k=TKwd.&b7`ӯ#S4(CvuӘ<<Myr7f% ĥz n q=.n1-Qyb1%ƮF3ϝO\zYO.T *  c e$SEp|,s`daO$)j 6{مqqMn@-Аt,={Yj^wZjM/H=-Y铱U'?X_N=]غШVԮ9T˲(`XH1ҹs_EхݩHy T0=N`.KJsjL~r'fb3,eQunP  : IgfI.Ռf<1 QWs|K[6vBЌ_5zPp^ /o gۜCvwjy3y]*NxwCBzS\9Rq@&ҝ(r :fP)ɪ?gYR^HeLT7q[k5<2=HUR!O6ӍP~|8~asڢ~q%ߧן1TXg8cR˳7:Y5Y>ѭ1Q>U׵QP$S \clFe{}P \%\?Y+kvųJt۟%; "YUaɣ2Tr~^c >cӽ;0 ӣ5Hm|U]w}t荄rN(~lo:_㥔 &!}NɏTYP,lsgPt5!J*j,@<G{& aL '/^+Trйv֘$ -Kj|8N])Q k"MkFnTͩqZVs~*h(1a8Xh&\/h/9zT(EZ<35Xj =U! .jAe垙,O%YlnZǼ~kX~]@\ٟ*۹9X~bxq,]>J) e'Be =: N|eBs} >j=MN/T ].p Q詑[anʼnƘ%ܗ: =5Q?[a)ЁiK BO-  7x:V;Վ05*Dz$?E7X3 w1z?:#Qv͓q~:i,l 89o5{уmt#*pYQEHn~L60P6݄U僧p|*^3ٷPhy^7r 7*X.vr8V`FHNO1yduIHbzs<\CKl&/*h7 4ܱZM9~kҖp.4 XەhhZ.lדwQ7;ؖXNQXVXD & "cUZ/Okw6=]6SQzKnh :Yɰ %10f{ɴ1m|6#+',?'$F`$$F Ul(uZm6Z.<߅VCV,Z1Fa. 5˪R1hjͬ仆%o/]\ۺ<2:h CCtИ\:1xxb=tq ǽ -N+yPߨ=9ǯnw :^?w,n:V|&hz)qΤaB]pAS |||3* L~8%΃ܜ<.ƠjoE8. 3NmOt'z_15~\"tsN ^etͅ|z cr s vnÜ%oT3}fcL/n{mڡwk1LAG)bC ]fHL7/wE L. CX4h=.ߡPhN:-9\4xpQ=ss0Ǻ8nCy!#pap~뢯tWn]u궵zVk3EܙG\욠 ۏb 7rPN]z}w<.\x b8LNb4IiavY g+7orf]ܼ;ò {J۽!nCl;!fbwa;~3>sj!ffbDݺخmk0vn[cX߿bl!&砄#m8.Pa1/#yKW(b2$b$.Nw,ED0*2ʲiܼa*a/|Awܜ 8quÝ4c98^v\\ a郥saO@7b'tz{!#\s~C^>hkpq1}dH {bOo+.IyO*n.FC/GkuE-~!j5>OHRɑE*4" . 7y7O7Vخz_oy ^^n^~8G"v^~ hcltpkEE~UmO6{?SW7sq䀍([ޘÅmHB^~ r+wlM \Žpk9ԡ:eYL/ز7G uϳhm6*s-\l%6y oȭ FmMjk!{/MV_mF5Ff+/WW-*oCE:֫Z1ԫGzBi=42BN{q0|~HyRJG`aDN*x}?YEniVfE"ި qHj~Mq/m^!i5٬͊5&7KhY^kS$.f5XO?&_J6K/EŠް5CY޻GQd}=@& 4:֝/3^^5*(F@!D)^Wv]v]VQy4 P!  ! H>ug~':u~{sU\){-eÕF|9գwSM~;ܲjsUOgeW0R/My=Arw ८`SS=IsU=+?J/@d)dw0`آz:<fVlPâ /3t)(4P񔣸Be6T;bX[GZYwBp8#T){TG^׮DOM+t$Oo |R{uOf"v;3lp\tF _ Mk@]lK/d y Hw2d~u]ݫAWkQ*8h 5WT2czvRF<%Lc5e@׊@ h ?џ+us5N^NlwJ#i=VA[M L#5I&8g! h.m`W-6 z~@.ܫHie3;ЂS8*S0X V.Խ6,)r`>#L8 sH.bRun dj! :iׅaRtF2|#(E?i`[# LDxm 1ŹrBi kf-V /ND^SqW!BLszTEYd0Q:5z;7i$VUZP:m 4>1G`aұC uKup\48`z :ϲO0)[j։>|ʸ{ »;>grr.G(]BόZlATPnC=yMHی *3Fo-;,Vp$Xo#vtC/͏+}S IR% Gѓ uʥy[ Vfaf6`m3fmƨ!CQ4EMAUOif OУa6NC'bip;+_ ܠ.YҪ 6jGԪ1X'?OiˑtsޏZ) N yI-UK{6" rmOsZ(0oa}a< &4/g0%g nZ;i2P'mrUIԛ\F4|NbV%EoF?]KJ4,[ЬihzXoaML.:ޯN>6w*1%8`\e\|ʳݧiǂ-n#EמZh3К #q4=+MU] G 2,#+[jZjNPd2R-0ig٤|5^;C#-)z+4Ѵd @k<_t KOoQ֒v#u߾&K`\SmEgXWӹH!dOY 1FWo\ƺȕ &~*2T JY\o/MmRb gTMaFoȉVFLjFpo]Fo߼o)CSٻ Ird)M#؏%Ţ4)Ri@AedzJ>i?_ŝ?u<$ cŏ`z%?v CNR>vMQ/BID/!2.]^|l~N|SKfB9a8VC E ȁ"[pWcz)*Cbr5ܵfq\i"{"R3șv@^W/bү%X\rw?}yF2KVuN=V@_$U0Lͳ `u[,46u Qrt`+Wb@,KS f1O;NCM7'XrQXHUp!W %? A%ya$|țG t<KQ~Np"\jNVI(B`snN.̍' ;X7 A Q{Iӥ鬵+,MSRƕM9}OW={EZQgPJCet5A iޣK%ϼ[;>fyŹf]&f]4MVzeuYiɽKV')XKՉeϲŀr`ƒ\%6k5h)YAVEU^EM:_Z4ͧU3|}1yj }`› 1sb-5{I倾M !rl9&bz ji:H;zU%}Od~>ORUw€N?+^;Pb4)g.t'Rmoȟ::Rh|܈ z4$Z:k|)Z>,N٢S?ZaBΝacAb)߷Y_ЫG1D}$(:ռ< %dQicF&r ngb1̭mX|pGwK#d(alÿi>IyJ$L&`*4YqBU2~ , J(Ibz}Ұ$s?`-vۗa]:`& ܨ6ma {.>&C/7  O+"ycиQ´[9%ϑǹOYI?zt`X<]ma~9>wMd'A Mۄf*Ϙ GoH;cu;eO{aHEֳܔ!BHAXoRGH:9KI@n)4=<|'}-}M9%2^$V(=ɦ|8M#R(fG Ɵ6ry(WV4X@2gRߣ@g mghҎ(4z%}/+4>g 8K`Q1Nn?ݹE2@\y߽PH[ҜKk[)s& :uQUehդQIQQށli9P׻# $[ . ުJ/{-/0.r^SSoLyfW46Iü;SÜηnDpr \t$=ӶEg41G4On\QtU=vE,b/I]Q/Y5~ϏTɀM/ >( ^U٣${RͪJ9RUB$WʬTVMOY]I-*WZҊHPZ!%0]=JCO!=J G5X]u_C䛪?,'Eiv`HyI}IAaMUEZ&&ӯ*R]_My|E=CC 6d/W{8"5U_ @kaY$;L֝<_G[z)[*u͟ngCd觱@Og QTj }lG(0Dxn"N]:΢k%&+)Oubg ͆,Q(f*HssT Lp@ Y&:QT Lp@Z"LtxÆpCW}\ҋ/;~ІO ).t'\њiVO`BilcO4-g\lb94*d<ɮA=|etPI.eN1*SfH`n”y*Ѝ0fTUFt^짩7f#)UTus*:_qN6glg7VUZ+zh=aNЕH`hZ$^ >ǧz)Z,(lpѹH}`vw JN3 ?)ٳE@r0 )1[PثlE89Eݴק]' mC1i]*Qae :,OG!}ak!=ΐl:nG o`)_ zF>on]Yw ,@|Ep;=V ^r(}(0'^IG.'lJ^4$SqأX-0&w*"_)X)%_NDِU <ϗqb}.sʰG+Nes.?h(|?Ts.EWQ._qSɖN9F /ߔ0.C1)KZkd+z.O)]Ja_#HtMc̍g =j$VFLj5T^JL+/9}! ͜oE]Oe#Kbi={N쨸MӴVzD%t  PQShXAhMSla 2q2lK?3G<э?Ǡδ`E+> ,2@c%i!{8 ~TESem+A҇[UB'mTiU(nAeqT:Q\q4NU"5NS=ŕwe\3moOT8[GV 69@ iZˏ[/}!i}!B8 d>CVL!`íwU01^ҟT NoZQuW~'E2,ŋVT8O=an͵w:DWvNtm*Ŵ ΍;Sr1NtsE&1UOEELqN8\t or)q^5(H=%USkĴLqVvjs:kZ%j2Ŝv =bNMti)e誄jJ!BLq^UA6e"q^9* ֊اi )>ϟ +⫺\rOҡ}:ip#g;Tsn)60s3*!TIZL I62lH>\HjFhs"`d\h&e VzLHCSwZxH*'G]!tQ|kV(eu0H࣊a}LPz dj(@'u[9 {t aeGij{E]-Y>*=9ZОC!^^wuTM;L)_xi{-%RDvSʬn6JGНu/73$37n#&E9͜w9oK)Fs.cfk;NR>45,2ƌ'?cJ~J?)wegB}]Li_Vho~&9kit]~E%X1$͂S0Hla_8 pBIJ<`-lVA;\9k3?HN[ȳf4İtR ]|Rka+BSuʳ&*"6ꠄjr'W MJꚪH0i k f𬮓W+`㤣*G6gB>$*r7i=cq%7sfWXCtup&ݐ;SנKn]BsG+*?bEXO[u9M#to&\ q¥pE82Nᄫ8a',UeVq=՜$qB unݗJkJ{?Hb>lwd[^*e28!}tB.o'ϽlBsN2HN:pʾka ֮*2>)S#@jȁ\٣xvq(n(sl̎ y[*d\)C]5rWTVv\W㏮R6TF\c 77 o|佺0];+m;Mq7hzcGc{EMOpSCUa~JQxg@~/  {wpoO7 w ȫͿ("ҋP{9;'kgfn+@$rڍ= {/+~h^0h]Gu0v߿CA?p.RqQF&@$a['sm{cGP)õ9/!9v12LdMۄ}"8[ gٮv()klKZM82h+y8ۮpI\qC YO $J짏j <v`Mnl@%7)ok6{|Qm>R+'8vOvPTua@"򜳚iCH<YM{q3A;Akhi(@B[Pd?7 `og""I=GB:IӄyM[ ZZ(- s+ލJW POXieD*e HDc`>Q+EwYC\lj dI*됮5zȕt֋Pv1[-Ya 0=@7NxVO-?F^ hS @S;+70ZݭĝD]J\fhO=dhOgeOkM,x-؇ӼJohq_ b:b܆𗮯iA$\R`R}T\Yv3';Lsz^k22|_}{ d` *LRbjk29(D;amf*Y;BeTNNT*'rs*J rs*/JT(˩R8T!T)*Ss*=bKo\_b\ʆ-l3hcδ#A7O3ͷ2҅4;BMu"WKv+ NZJBiį aʻozE) 9vNS2Evm %t9JM o0-fѹ\߭i6i>yn7!!w~Ŕ%ٍmv{]N-H]ĬX"~H"ۮX'O2gF.#* wiAqav=[]U^ >ϸ>ϸ}]u㪠VdCQї&Q̉ܺB>-p3<%Cn^va6C *465/ dmb7F"p~SJ}Vo檳:9#k0N8㚳9kdf/uy\N?QL*{'890f#H/lINv}Q)3 m|2rg[pg[8s6>o2Y!p`CJSHrוm /suI=qX.6KcrՀldtsُKYN=ӥt~v& ҋaӥ,etm=}uv/nc\>ĩAMB(J~FG炿CFdlBOa%8{cA?IF7 ;<=WX ʝjLPքB'CʝMڶ H!֌'eͽxGhn|<47Lcݦ4iZe if`nv3L`*涙Nrt՘.}%|6~uBjNr70_ ' Cs6V ?uLt4>d%ۿgh|ӷ'ФhRsS `nJNu#^M%E]-0SW^I"yx>r٥M,=Ҡco6V( /Kbc5|l܏1 >A6H+r_Hߺ2: |!Wh-v,ɈǍ/#JaxnG*NGݿV;tܟT㹣)qGB%\ύ\ϝ8y0t+] =7=%[ 5݃=[ }noL}(1W+ 4տv'k_2DXdL }&݄^{ {.]+ig8]0DǣB/.J;?.P2!@tM!i +UDG.e }s=%a oZϺEЭ?](K5=>J}vٶ`8sVBao`O >0SBaia0ԋ43WSx8` l < go7>uqx{jK3SM?o ⿙/>j@#~~S:gf0=p*nSVÆBi7(X0xA&&"*dSuiwa[шWlɞ2Rv%f;n%۔qv^o2bɼ(kWEgr)#&T\J8/Q1)Hu+W(QIU)#&!#ի) FHIP2bR F ,eĤ,#5C xM@ʈIFjY$L- ?OTvIK"t"\1a)SMT&h&0oX(*5iN%׌q%'Tġx y5Cr?,C&YG!e,/V@N,XfHF2EB:gn#Mիgv5Crqݏa.̂TMĆ~N?pqK d΄sȖJ`7Boiǜ ޠ:p݈ѐˏS~gN!̥Fyo4ruq׏QW++#b΢'{C&qJ0t^d:&./s׏S28=+]kp hP G#gzW([vW}]!n|X,Iw~!ӕJNuko.v90!f&N9x gE90͞%[D90.^hv=DUtvB}y!GphI1f!I!8dɟ>vl/f.4M=|AoPp׬QΆ4}JL ,@ RӼj0ykct^*AY!eRzMiSL-ӫB`Pp[;HHws=Ck2GBƪTzSӌz88ݥ1#=+Z0͙`~%֩4&A:=GBnCHi7jf^ DJ+mZC!%CJv\]6M3*"2ۂkdWHɎ!+R=d+p9J5$H#`ւ޳cv3sW=s,o' )A' t^&Gqdo8o`G8oC7&+ !{!'IK;y>UC&)I1%e2}bN͘$!{Ot~7zDt N1<3IY+vg9g9]y/bNL1ۓDWX!ILS{3ŝEWwfk=ILI];i}ҿc(L1Sy{ښ$n1^tY 1It5e9giy;n4ubLqqJU)z)6.)<]'2Ŝ3P3ŝԣ'\kT#ItF_X,iG:2U#V m\76.JL="(T j_LC'SV;(tЎu;gR/>ٟ$zx~uHtJKiwϤE &4[}&-S%Cg@vwFg wvg;{: j~vZn:l2ؖ8U0G!͗&NvZkl.2K-)=2;CJGJf U'ɝ <HԵf:g>ޜ98_l"rk Ik4ϔd9qYS6tjX^;͌SyGS4DSFSiseN*J.9mGI9 s[>5fѳ a>*Zx=/?cd5j՝aYكΝ21;jKY%Ym1X2zjEXl] g̬6rV-AVWY.1bfv|yeUmbĶORNF0>W{Q돂n w5iZ8O}F#rv] T&Hv.whS> 6Itm[!i|g]>U^uVwCd:DWkcLqQuJLQ']'VĴ&At7=6Vi>1'Ո}bZZ)S7iĴcb/ԍ@IV)ܙ)ILDj0H1ÉWp/|FAw* w؂SvR^J\ *o ܄61Muݏzb9n\8F>T97A\2Bqr9X'Y+CcDGqScGrBg(GWa٬D7N=f;Ozf$E!ܥxZmyS;T`WX͈TUAָHJ\*Ƣ(]}d+F]:I-ryXw#ǝC~+8a+9Kzd|H\7 rXQ ~&C9~2̶+xނ:{e>?ryXJEq(G/S$ [xӾŲŏѨ{$g_7V!5ZfL;h9CExK[PiRȸJ.徂:L <ɍp;,UJ|zƢmS #~y!<;QC( qpguEV1G/":(#'U\Sg uaIf ?ױ7Xd*dU [2#Z{[^ nˀ6&!< X>Rh8Z?)~”Zq&Iq='ǙcǵGuhfȜv)Z ߜB-0ldu++ uiFN䄋9BN4P59pep'\ Wq2NX 8a5'{ 9a' I(!0)1,ٶqv4d.~p1kw}ZEq:jzQ3#dzϲ}Ij#@͓P8|+KP<Mk 5?sԼM-J g<k55?k(j~8CĿwmG͋ujwj~?p^ Y1w@k.GPF_,!ȹ?Z]d#l{PZ鍿 dE50?r'j|RO"Ti``T~2qPHO#PɁ? 2%Au2V#< ` Dx|QJS%5v~ {`oz3I4P3ŜP` =$i |V)J_FIF/)]F@6!t$.(Og|rG  0u~HgB`{yqYa.#CŁm0; cآxrY@ngq`@PD8pۅ_}egt͕lG@YŁWM8?41  4gB={﹠{XFk@Ok2Vo+C7ew8҉Hsu\݁iG<{G,=l Yapɀ;/ XгG,I2H:s *j.'j8Æ[W|p7 hcF7>ܝaApA^.tǐTu\,QD4nO+>{ z4Qfp-tY@^ ȝGҶ^Seq+] -JÃ$ Gph7os"~~nfP 1!kA[V3 t˕톮Z9nRΰPl=<)4fPlv~^%ս:}[#C}tCXWg\Wrуɠ:~s`i=L.?&:,b }&zQ/q;RË9@`ظ%_̑8z)'\a5̗qUj*Zũ8U1 *T՜S Tuj"!TuSNm?`X 蘄 ȑT6/\nr;WȠæ< >Iy8&',$thA ^J3_ZnHQ6.-EO'ņE ˺X_|Sd3A v0SM]H 7")aԿҧi *lAO -g7(xwCZ_#w]HE횖$,GXNIInl47uU퀴2K/\Үi [GEk`3IRF޽H]H]7#u5@Bqɋۃ4Y`9" fFWΤiyo{dyWQmn*IzɞN y~55ި@̽Wf6|~yG_.#EWSoۂ @MӒ-ej\.S7֒S1 ~c_{LRhv7J(BqO!t#=ʭjַxJX 8G9QKy+GQ+xTb0jymJæ]P^l35){Q=5ҧCEr7(3B&lOqt%9Ţ=8wEo״Ə/"E,C1 %R-=aa[=sAʹ&}BvSV~[Es )77P6 F! <͑2 }a:B|tp2CP9L]X~uAp|G*'q m&p7RWe${fG3h 3{E>^4 QB`hDt9q^g48=@bgt-8gQn}P)J|s|"IGE stTF]W MGUsUPlFdŵa 40sܜOn]=zqPO d xM$xFHKӥ\e )+o(iJ`VɁt}ɁE ;LKr3\y5|j%=ڽ 9on= B^")*&ʞ7V`<8y,VlGe$Wߛwc3YcE"y`2aw Yu !ޕշ8nOoew"[7z !'][|.$)W`W;>񭋀"!_F@(O)VpC~iWppI0)@6.Qks{X(դXZ6`7 6Q_eM.hZ,s1['[.=ɞc:@-&OÎؽon>=D7,\OT0'QcҫmAS]P3-ZnY+ @Uh·uhbou#-)TzȌ]PI9j9{-4hdeӿ9`ʫ8ly8wsrdBa%Cw- 1h 䲵`=M~[Πpw|,frit_e/#J|ArH8Nq`$C,/ ;0Δ%#! P7 C_L#C  G,w. #M[ͫڝ7DǛ_67C} 쇌7[6Aԗ9PMmSa>jտX:|ԟbrEYnTQ ᳞>'`yW8V(>P/GF 2bXno8V _*4MYE++("۔;Xt@vX7+M50aYc8VGoȲOkCbaOxlqSELPN0ȶOW5M"رt2bttN4M^&Oos9eP]+h:r/G~u̖0nI{` o>(Ï{Igrtr]Xi&pI}~Az*|Se `~t~ڣSx󂬮I`Of8$د)Q"[+@-O}!,©km&&S;4ج/6w"33Zh KPCP `SVD1UKi=ömTHϪJ^Y]$`2JH ,n TJnZ(Ӏ`*-M,y^=A6hϗ ̠|$.htm |ö.n]TZ*C}嬌sh)d|Apx-a85gHդ;f6p̢M{q zӪ,̒lEey;:QJv7kUMC$ZZS=R_ՒԙXӸ@LU:rZA=_Ա}Nį6!񫃊ឞޤX!5 %5 B8^uPdAEebQLk3ޔuʦQW'oBn%r0wjoVҖ6:+f=g`?26ZuSLHas%OY@$'j<wǖ[qVu(*%zw]ਥX} ̛k 5_I{.ce˷O$~Ssrν\9O~p+JO \wp[豅9wN^weu9w~[v~r[_//)Cέw]M)oxJ܂mj>8yڷclfʾ'm_L/w7_鱽o'YS>Ӕ ʕw~17M<§\{;g|Qe_gwFK<񮖏k#?=|dikGr]ixkgᙿ=Nk][}#z?}Ɵxg/S\xœ7 )[wG}͹ rʧ]õ3_ໆ-Ͻ]vnRU1Qх^q}Aeo<­9_LOݴ7/i+#>\>m@ƺ}i-~f{[K6uzGՆv0o/5*#=҅ jX3w_A5#Mj- d5:t\]>yhP-Svn.7i@X_B'|,G`J)'q/qHofw{hЃ(8m5@Pu mF+a1./#{KPQV㡈IIu˓1iv{s^]Y7جgkힴo23.*CeBg(bɍKP9Cc̖1YhVÍ{2a8uz&UK$τŊb9ZD_{Z.0*,sBjOIj.Kp^ Xo;Lxї-1KhC-,>RK0(#sS.۪jk=>9=h*K -HhJxRX@_̴2fj]^X :'pJH=`HYf♈ \sfۘG$Ga|w9i;**7C2$eOINz:  HdD~@.{‘1b4EfVhK|΅We Dhh3:+jGX( Ut?vO` c/Cl<| ƥʔgus[d>0݂q] {ooˢ&V<2st W Y~v>#d.tȴ4A !B dʩj댐:eRxT 0<1z#k$zb+!X^=БnWW =Jlei5:͔+ӂNƠQ E&m HΌ{FUE6wt딣߇c'<}D+P o>ڭ,FX>bCaXcM,H1#Q;."ctl=`|ew;- 8Y̜1YքMÀ¤BYةF Zod6}#16SX/c#}vf.{NdG$i >.h<%  rfL '2u{-Fe 46tYC^n%/pfF..I`Mb"(ooq"9OaO b\ڰG~.MWY2w{J +\_ǥU/0LYC[Ήdz%}fXѮP,5` K=}Ϩ}$?OsŀYtٷ=ۅlabARЂM;͑ݲO_yG|Z|ӁF _ҍ%4_P sf;KlD#4}$z9*{8by&nl 2XGWx2m4}O+xGǥ3+iD%Ł .w,:ِIu@n3\x%[ 1)ÄcnXbB+?ZfCE]UWe8=`u<(96Ob Zq ktK!U"ʮ{Nԓ]Q'mnƭw0A4kػ)eImCG9@Zf9ط& uRu\2AӬB ! iS'av(L+۷O۫ ^(|Z[d'}&؎xM6G~H¹xRhjh~+۸ ⚉DzF:kqCbÔAd?;P?^ C/C?\ ң$sN 7e_^Qabh=⥙-L1YDn&Ei.(u2ZB4|hdX)zb5".#þK'\&~MlT85yF?_٬Ȩ.4f01:dA!Ro/=ҼURFCYڡS[B_|U.Q.Ol%o(Q&~pªebD~6w=땕?nUV0%[1FJ 0I\+ŕ괦'uhjL?%z~@AďjVD`CjcQtJ ?*[K![N,lv(z2>)[8W8̌j02Y* *xa HWz2&&vDl) ʙ~od_r_0?b3cz>Sp>_-VAGgVI7F\NicШ!6|Ѣ'˷S݊+LgB 鄠7ww|QfzFIbn(hىA6#39gooL u5,"QQO 2 Lg6O@!fUY ~Sq5DJi 5V8|pN0 #|p@jm۹s 8ƒ }8V/eB=~,=|]Bp#.m9rK,cG |b}}[0CAw1NI2e -ZRA<~JW}j) 7L>5=@:TM 3Es?;*1?@s4O? hR=a ll8Q'Cb*]r\)mR/uҺ !"2y:DpOς֡rdl cx>nxc 1qwu6\83Ő)Ea.bmxz: 30-Z1eB' U,߄K383 7&˓V\V.AtxLahLT^3׋kF^(A{i:tɹ)sb.97M!k5GI:Uxf8i'O:4Gh68tbeY*؅ zBU=rL >rO3\atXJ ]LLm$`jމ(@.fWG7tb(tk"@ t_-Wq@#U׺Ov{aY`Jo&It-KYZpYZW-r&y$+= Uͳ d䯙Ev/0_<=d7b5o-Q1Z{ f k Tc`g\sYPƙ?OsYv!T*NdSEh^/XY3谟S ۘI4[ <@V5.\Ht]A•b [FVĻ! 3 5qQ\ZZ-l碛 %_*:4J"o%a&^THܾ"j\_%/h2xvs}KaHO*!V7sUH%@rcEA:e+G '."T%m 4HRiܬN̅7uRP䉀ɖilt&NA`6Ȳ $m驪xQ!{'ͱucC۳YS1n98DP\wX챠nI@(nsO{ aԛ2{Bqg#7a WG=qx5x5TA6s_:g dP@)7'qv"L- Zx:YeR(Řt \U )Z-Agp.u\:%/KS!t?#GG>8F& b?DVkOgrk{-rrpS 2YC"- dF&$: j,T,; &)l9&̖Siߥ ofͼ3ţ0w]6]UcyӜ æ^,UU[⤙Q7 uSJ5W eK+S.4풆aIjc>쳧,0q<ΈdO-F.SKݶ tH{1'gd[_]̓1t6=Օɮ A.00h̠x"2Yh 2 AFנh9 :Kwcפ 5ǽ3È;{^ƅh=9H0-F|uWmn|CHχ[%Rm"'FC-ub͞uQ'ZHuzI_= yOgbuLM߃,)c4qC)tWrmgXvi>yV^Ų!y^%I=VY–z@Z*hq CzrqQ\!B vRYW%|@ƍX52UW va6یw?nŤ!mG/3$v][Y#ǺrJSba_&;E:S4?Zb{iŽ:' aUu#J*D]WO"#y&;M"ڑalM2pm7^WD0p"dd3wQ]4&ιDVHUUƀ Bd `18C@Kes>(f`EK]Bv_HTs>i5FLc #,ݖ0m ۤ "V)ǖr_'&&YGSh yma.5dևY P&}Cp pؽd_4nPšτgLB 9&cGmΧ*b\YR>R5"WlwŎ )_+b~Fܩ%Op~)r $K1!] Z0zdswNKw]DsciJ$ԯF|=RP;e!q XWt5StѲG{K]r@Է+o`7llzqТzMΥ NţW&W+*݈1 l> 9@Xp&Gܧiw"Ux*Q8 v"7\ [K8uHͨ; ]@ΰR#zsp&Cbv[8 &Rot&,P:R!EU`|/<\}CkiD?6=yBޥ~>l6͵("g~zН}.#iEj h@M UHz4Z} <;SRC+{OR$njuS8IlQq97`n-HGb_ GTr70aF<7u,P5hGOM{1j/ \o)ZS`_EI_7뇺]^JV biN;菊EѝF|i[%r_Ž131I]od,X ۔@cvO]Bo^`%6pugK&&0@9=*v7 ^c!0go |?߈PmQfǍEqp=Z9Mc!mUh.5 e>Σ,`zs{.WHu++F /s@:T !l<6ʚ$hRh %کDE* ֑bR%E5u({(';{f.:3!b[W3 ͢z;'0N犵km.*[l=Q`(ĖAKN .1糅dnRw$>Mm/JhAHQU!}aql*̓cdP.?sf1cK%8议:6;by#;T&dn%X q7#. Z3ƪ^蠆*=y_4.:5@ N[FIɄehBӕbu\NV Fs򮤔x7Ɣuwe]IzN( bG޺dEp*1ߚ%WOKh=U_Ge"s31ڄeiQmltNAŒ\9:dzGN50$]^vKn>" Ss.\ݥ\l:ArR6jSm`HpSduQʆT ]FY\se*6@)U:\6Z|$XԸߐkbVٜ^`ǂ>6 V1ìq.J$vrND=^ܪ n&x`o&[nN"'aeZY93a=7c@hÛ͠R-тš'{%zI O*_t}*bQEy-Xet0dpmBu 5|#Qr^4q]4 N۵SޒFy'(s"G$2ᆮ QgPYww^0\ a,օkXf06lhF09eȩ"ǬeʄG#>#}wq*g}%/Dj~iz=fu. k&F8dZf6ڲذMLTv==G}V> *,t6SS'~B{G>~&A0؊F*J8^䩹JfoA8-JG&:e9CL* e76e=U3ߒ*bz ۮl.tZ5gF@NlC -a#oy=i~ w(6P,)ٴVCuڎjzߥM)pP|omMB6_: ҄dqӻ)AA 1x ;j!&t(aGV$JxMH gf2C7@ƅ·ͺ@~d`'QS 4#81f5hPZ:k5[T1uYϚU/I]PM.f`UOIC9 ߖ$ LFL@;Zvw]%WǾDdcz$['8 <Nutnq C•.yf2).vzp,ft/p#k+ka\T׋ (E"w*3Z';c+E(ȺHc8a", .LPTqYϨ ŎGWP)U MT,s&cI쓷Vq%z־M?@΍7MRL SYI䵡}_sRj3kgݚ۶2QUURx R؜;ki  an:Tʿls?eI[) nr;Yр~SyXY175&WLn` MS[/ px@ O]hP>&-hh|ǮoRQ0ARXuHЂau'm`MsI6%9>P*.$ɑP[g~6P:(~\:?j1j6}`"$)ubS#AC܉M3΃C*c٠+\7tȈBC]/gI1Fl{N:6-EN N(T9aвNi-H3oYV[Y8IqLڂ7 J0q!Di-!t;q_.qVL|RB>J7I! vD&I״:`0l~ebF'Mo[sӲ3ֹ:UH۔*,ZyG@.I U+3ijVcwAϙzM۽{!, 6Gp)ou}LAgDYMfЪ]zegxD ~ 6vH?"Kw{מLtQDtW[Ђ䅘N_+3R )k"5D#0@(GYYsK |LT2|':S_&潣GWirO蝃k0z%ȑZܼnIlΨxp5X9HlpAX&lRd0џR,L0Vo1k+=ncYHaueKo)nV6m'REAbW_l ހD~Zm97 K=XrWkOkUxI' {h44: Qad |(ۓ݋f$%%OV?$A"䃲?x9Yx %5R'b 8y?kKmFn#6`shmCvͯ!Ե?(\frճM ^LXjt5pܹN~&T:YK5!n^nj1AµM^4o cbaNo&r% 6`;5@)7DžNLu[@oN?5s:|Y3τP N~[;7Tqr5&'XG][S:]1h=bfz{ry\W6 ߖ3ja~&ȳS [c C<ږ:Gj2%IOޕ|e 8{dT$Ԧn|FtCl?T-3lDx?wѕ'q*W 4e )P^WN]E\2װ̖G$aU]wAE18 rąPK5S-ȦJ8TA#>\N4Z5l1?8©>{%;ň-:͚|=R,7P\oїH>Pxnیtj`!HRNH v@G<&^^h0Hy1xo_Fc蟖} bIA/T&u\#\d{ΣLh'b)?0z1>WZA $Ofg=؁ ,]ǒx\T|O{F,0=^>j<>NL 0[ R$32]h28DXihZI_7E~ 5X ax<'..֮,GgėLUWZ }y]}wYףIq 4ԪL3`(,Jsh;7,4TtLf-]hB1gh`6Զh,mB) Ohwub~_K& wqNjNFO_x*$x55彑[d^H,>${F:-F7#\|7R7NTjy l[(bQ\LǼ"Xqm!k;]'-05#6\_@] 2~+M mdA]m=͏HiCo1+v3Ag5~!Hҟ/UKFk1yX1ƍM۽oܛ  +5=rZPMđKm-"sJ۫uPIK޶g`n#%c61];FFG%$ubm4RjZ ]^#}G<2v 1x? &SER<-V1 zw Yci;e*i/XpJ 9'6y6EkcTN'sc棇 AQ3HM`$ r)L-)iuBY+fŖ^9_2ЀD'[zhzےdG{P`duPȀW}łN ?Sm#NtisWP$a#Hs;1^i@cMX—"/1to'+^12ՏfO~8* sE7:FWh.m.`cI 6iچEovVYQR+؄IҦ~I:T)Pl(QQ|2& <|UGٔIأ/Vf3+7¤..<35h@:?cax8B*<\t~퓴H܇:K008|XЋ=vրM-8Fu9(18C| 7V~$jbc4çtmh~DX K߅$ 4WVvs#ácS Ls'5k^ֵ="$S+qLef8*@T{/_֥? 4a6OC󻹎*};8.PWRw[bz| tM(ie-V XI1-n\sPPNhkUvmQ-zSUWs:U|7QUM?_15]>*DF(dIam2ӕ#,Y}ܚ$n 2SqDa~fEdB|:-[Z ( Na AWkj7YJeE澗V9ڶĻhFY& -aY =،95_0Aa5!7qp9$48p7%a_eCЧ &Y܊sw9&dczІnX.A2Y8 ZȚ_׍΢8f"PL'*Ը$0{YSS412_ ܧtb%]Y` uP(xת=wxnqёrVT_lI?[9qn 2f+{}ZkF-mZj룰uރ?3V6AolQe1t Flu{n;k'wr܂CB9uNEr}C7q 2{x7?R{B}7*[(]IQ4d;jn& "=XZ+K%x#VI:K{wtP`q [b3aɸC G]Tut2jOJw"sUSqē4{Kdi0Y=C׈Ko\JՒ$dg< ͫ/c5ȮT,c^L)@.#r2Nb,쪌=؈VqL *v~O|@wpL!OGY44R+D5X#T U]ȳ-"fBkAHi1Ю<BcY,v4SH<7-N !3achIea IlAQ5f mFO:2 ˸jajnX9 ї _wӇzeP>Tua 1G.WeŁb> h% TC f\{%R}\`a5to^nO4˚&hd 2#i`9}f#9i ʟmj|W,f@$O؍1%i+u`r#|D~ eF =&H}؈9( n\GE wfykl'څ:ӐOG  vs ʏÁ:n"})9٥nǎK |y4(Q|̀cSZʖBUL}MRhJ"ė@" ug·B,ְZ`Fn*;j{K2B]՛M|EjN~[lfێ?SƇ`FO! ?kV&W 7JN0mfS$%{/K;h)j Az ̊3:z:u9e<+2Ǜy~#Ff)T&z{F?@7C/2z* 3,l9 :U` +~P9+dX1g|{ 9ՖWBsrQu؋D]d}߮Kk*/34 y},=%vXRѩ[w\<0WB$$ X隸ͣHiB.FAt@E?WTTu:jC*!C-Jo8ͷJWX^s\ĚUJ+T>Dđתǵ^{4\0OI/ bz7؟䅖I{ʫ?z 5n>!`kv ι'{P({[cU|'Ck[:O;Dbie.+ʰ ԨOl?$ ߜwW?"%BS4JmUa%e93!8{RTf 2 }f7ixZkOVXINn'vrsL։ymdyLFrZ1VwGf5%qukBƴkR~P2TɲeЁqFM8$R9 AT}N (fn+7"u g֠N4 uދHF=N=Knnҙm1CLV_>TD|!v3P(5 wuݱiQ|Ϝ1< @_Q1H툇<˭~Jq.RuO.:'ӻ~FU*D'}0twcnjKt]w*(Ղb=1* ^`Eºqfj:M:V,M:!H Km5 ]Jq:my0Mg** }?Ձh| +^;B&!fJEk6^ O8cv1(UPHx' )٪Sɽb{݆[ow^e }[y_GE(? ƨh),6Aq(`sQRS?n#_tɶ1P.| @btiw(7P}%:Z&C=0ƙwϖVaq Q{0^:> qկM ^͋50?G h:CO/h *TMՓeƊEaЌ3mXt)4Ytg R%>).LќsYbKh̖ړdУ]-<k:*🧥 %(-1)xq?{XE aeSnͥG#_{l :%LEFy8XՈr O wr&B`syrڂPj]çVXe."3diYgPybd4)m1ӮeN^T$(G ̊$":fd2n(ZYV C@:zy *Y$veJJ^K?FReӞT0mzW]ܷM}8vhJ-v Gx][M6ynV 8%@7-`f *ӯgЁD 0IXB=&Ǵ#A ^4tpr&a Oe;OQch,u4kFJPQvu*V+'UmpZ?ą(#/qI`څFc/!Sp&ہP%y4SQ8_d`\H㯖oVDwj1ihBMm _Pv s.^ hVq1c G+Awrs#^3hZ{ШU4廍Bg&1_&XH:6acfe-BmkcOiILV]Gw0I:/{0E}ne*+zv>$ON.GlqGaV,;g]*Fذ4 F\.Aw&r7<'Ơh|"𛙋B} @BH]f\| ԚV‡&g "!?h<`yNjKˢKn{`AU? @}(>ؓK ̸mP<ȩL8Ϯz\EK C&ؙT;Jh$J 6i>{lvnךSEf I2nCciO"A'A)ҵ7T'ВR3˧j7 %Z"T-47 8f-c pZRL%`|qA"[mδC-k]eIeb7K)qTQ©aq Q=\-H3ZSا}XqhRo;չSP-!!>]K^,3ۉ(+`դ]!+S!QPj2ajL3 $[fo@es%K],O05"F Dax|TW~xJ.axZ/{򜛑T&n4N #>}qss3Y!fWd ߮]%' >4[=\u_~oTiI[pW燬zX31G 50Lg>5{G ]VzģtdYvlfHa4H>XwA0˯!g/ouE!$k*"J'dX*e׏9;@L\+D*6wHοbx qz͛ KS1߃έ9T?j&CDa'qGFڋnG~@#j<W~90_dx)s٣P2Z#/ L^DUz_G3=t [}fjcn,T,>S&>n>]0Bw,.x$h5q`gu޴$N%a^ލ?T %HHޕ"enq7B_󭢗Oy<eYp]- 'ӄ#@Ez^2BA=-WsU hL< kga[ D|[%1u+@A!!#U-h5[Ϟ^qo'HN ~< h ƍslpqtD+Sa4;*\aspL۞I gҏȄ?bK>Sem.XqgA+ g%L u}W6*^PR$"=|..X/+L)+o7$?F(5A;g0pU4buҸ&Y kjy g4[ְT F]xȗaɤafBB yndop%ŸV٘F|R3V{חB}$4k*Age%]t ( ]zV@YsaJ!(k=4ܚa8)9n^:ܲ!Mtr.;n\-$KtmUmq̌3&> }ƻ6[,iO}^DQN!d)6>4uԲбs` c(^aJ_R=I)OϚN+Í >lp]>e Kq^ KǒD[5켓rS7͇n^bsΐL>+4jE)2G\fy EYgnhZJfYF%s8O.;xt:z$ ^A3PD#z=QcN/ x-"9h0a]b;xt(Op^ n1Z uJ~,0ouD [^yXX7uc .9aQqh[ LU ؚnwʛY-b"PhSݤAIQO,nEcC5)=.TEz4˗ ʏZ+;#^|25!TV'C u^}s6[՜UDwr}ڍ5- 0Ll٠<!uJ4CA2ܟ(m*Zu?3!E 9*}KHVvz%2'6M}c|dEtP@jB+VN4[ȨJMU宗kMJ7T,Lux'q9\`yPlB=64It( /,spap貣C̈'ì9.+9B*`gi%3e̅%Ty!֛ WwO J`d V$+(Sc'"YEuc?+\ﳧWqwL,h11]K$hqѶ 1?]Nr! 8 [|'a 7jR.3oxW!Q,L$嵍Ozؐ/:ьimS-O o9|,{<$f{A-<7 3?W HyȤވ#pԨD 6 ${i;5| O:/_b(s!VQeF 9 iI}-9l5PZ aª%T9݀|\KlҽS [+=9hUpsZl &v7YQShA0(pKޑ\b1lfzwը]b$95yzA=I,'#BĸG=JG*pB 볶D)s^PaG>&|_3r[ֶu&eJm.fd!ac@0Pp3(oh|K'f:/%;twT`J+lPRF4*>9UYau"!KEPxJuEԟ; 0>>t#Q+MH2i q̀bIcVwD{C'z,;P|#H%3/3gsi%YR4A& X)6} Gb %"55A10K"*[=clhŧRSr,8d+XCn }3Gt2mX47q|Q@_ee/?PDnRv~gcɝAi3LQ, ڵ^O{<C(Ŧ<~ fwg#ד@{xMsw{[pF$= C'8:D3DZZbC궣va2F: /jq[?tJx+jg^MLA"k'ܛ{[bߴwY[K,BоuqN"sJ7}'&V'4C, +V\‚>-l>mJ*;rKw 6!ҹUlr *T1WuGhݷ ߇㸼qQ2?68?+n<h&޷d-@{nZ 0V6Hm8KXEy.A):6Vc2MYj Qm1 ݏz2lj\q#` ,ڨ @/Ex`kATuĨIX 65vͬbO7(vjF{'Dګ@7HZj2wETIrS¢toS (ԏCD1mB"%^#9#db/S ZW8x# g $'ry[*Xv,$Ѩj\(. shy@]g_孄!E&}za| >.h!'iY|?M˅*>BI_6x&=Oğ rkCv϶:U'9aDW _n c 3d&!YYe2&%P"X rvX=YP,=ֱxqhpO0K%y2=?:ܶe=y6'(;àikɸ3.ۗziJܾ Y=QXlWNk/ct3y6m梼3h97GfS8UbraNmArQx@anD c 1m.RѺ?A?vZh  aUĤ!`o·}-_%DLƌvO5sP^$,E8UߺRjΧ乵"F S>ɮ(;2QJײG-׺ʐe\X1nqAؒ(ggΚƉЮQd2R =cdET72PMMS% E0!v4[*K5N{jזYقE=$AZ4.Ef Tuױ/ǜc$fanCMLUzMDw`xC 2`J u dz̃TNϺ9 vA=LM>i_3''1GF"4$[|keODjnZFzFZrhlgGF:3&͜ǁ+)"SӦiv-F$Cg~O\W2Q= k?~ratڶ ;Goޡ^Ķ9[Խ@DM~4nxTYr!cטQ M:fA,'qKynt>WK6n@PKF?u{ؘ m\-G;Qw&ydՑxh*s!#rhg+f;XѦ:m'Q∑ʰㆎd8o}-XH|d) ;{cf%vuْHvE̹zIj)s"_q-2p9.H \2v;eeԖw)];=6vFu$k(X,+99#:0Lm׭hjNJ{*pnusݶuC<[rRKh(,z)  #K]Q9j0~v^ϓKS8R4i͈ WǯQ"ݨ58 Uv^5%g.2W ԵNwyo( (mpҶB"}dAN"гڟAn +Fqrjg lM|.6yd.w0%.eƷ:Lf L'LCWɳYg6NA ʪR%1>-2^Rosjfa[BXuIg{&V|]62e5$t&^BQnůZnC"?kvUH1"2#RkwI%%<,a. |Tҭ"|%E?꛱',d҆Bj՟"Ip6K+`aj7ft?gwLވq-K9fkjPɨO^XLske3X ).b[nӮr\5DE~_`եw`r`;ҿI0p7c3Ԇsg{xwVǪK7H^ys 0sMd|R_nٸD1dhZ4N@MfKZ=xT 2:瀲9 JVۇ2=6bVemn ~]E#0rTz:"ϡřz:#K_/fs]}/0V"T pQ ֊$izaˮr ɇ'cuC[ve,P`B<Cnhc2YȣO#&MĐL>P8) ?*+ƿ>m}*ңV+& *v~9ǚC^WTcjb:5'aUل&;4;O-> N3'j@3* |9WD]ຼЎ.S8 h7;1QX+å/\4>~s^ #}B a?b"[I^oV$X[ߥHCܨ.#bג JDX==hX^:@W<dž9y^cǕTO ck_~indкws,_t(zXyarPf,$/2x1'Ô3=)1qՁ'B .6@6-zeZtĿ;s ĨF)W[ou03+ 2b؝YuYG(jvg;:w:)x e22&Ar8*>EY|Cfj~.db("0l6gFEʞ P!zRX zS0!@?5 ).wK d[!w&V K,uVwRb+@ќjT\G< 秼* ceݣۧt0{r) 3 3~_kB\C7y=c\"tTH<$dyodAg߈I$K- qbk˃m2of:䳁=e0J2Z!~#P o+G!/c b'w|@nNۘMG3~=O?AqPǦxJԾ wvt(1pCuY ,;=Q{qk#lY-NyiJ̝OX$(%9`H}%@/d2];*(OLh.Zp3'YD{,`̀EW>&3-2Jprh[KI]@zMO'v(IW@ "PV8إ :xUY"8 /5iCSD{Q$|}?T[[B<=n̝C݁<ׁ_T^ ymk: M zޯ= S۳q8n]@IZ?f$͛E\ ;aIeMAn0<[`ʸ$ߟ*Ջ _ECR&CCQk׵U0Es}Tۏu&,-7f/ ɻ0d~y^DqPt yB恝`O3u޻ Q\X_} PcGsf !$Hdc;db/2X50Q5Ց4<HAOώ4z%*1S!ͯ^#ׄ\oL-3kf剙 a5` ˄HJ爴@P&Әs)@צt*bUL`ňKQSlB~gE% F^h/@xi>13v/Gb`J";KDsPEIF tLY^m`62pX-"И8~jLRG[e UE+GH62$|S)6f*\D͈ad+oVfYY?A A }G&8z,qp\vCtHtvI 7 F}EzZpYMƹ*IݣՋn:K g`pnno4Ekf%Ogfei;hZ! ${ 327SsMaC P_+!~QY.pEfU).#JDާ1~{V^alEhJ.U`/U s-DbG7{xE51ޣ5F!ƻo&YBG37LQbq:<;5!G?BSϵGuzg~y(ȅ XEE;ƬL{jLZAt.[K#[=%ڠNn`gupmuR9hߎYS yIڶOI_#]/زjN@Ý\a Ƨ7IV`Mmzznp^$+W@!W3?r>6;u.戻 hjupi~Q<Tdj=z:\h kPE's{5FO|$ N޻nĄJ.OW?ݡF7C4w{''tZG^o+}7aZ (Rx)g%xQpr2'}S~[ȓ#o5tk1BZے۬`Ǝ8naC8x Wa=y΃R jV`9V);EGٸH .=}:4{ -o Uf>qmsNs 7ig4!f FHY&fQS$XlF&8/3k~G' ?V Kk`F:wD|jw@E`sQI*9M(cHݼo]i7,>zJV*UvDehRB^v T+Ҡ/O4bl\ ,W:Afai^/ \a`M =R7{oH| 毬miةP %Ċ oVHa[_U^Cktl',4$^Ք |p5 L,|b%}2ol'v/#U&p-WxQ ˋrsQ,^+NNtv&eb>. 1UԗWY[#n0?Xϭ`-I =S'\޵K@=#v^=`83xS/ ]!/_@Bn$lpMJ&M~s3CM5V(at^6ȲAR?,vVG.nNbeأPش+F՚pW h*AxAfpE$m$LTh{[}b̈5B.iOŔ MĖێXAy'jÞ-]T䎐^.om5rĢt1BQfN'v͞/^s:gN(dqnkV2ya>~RN>Ylu蚳ce6 o*UmZˊf׍*Wjh 5̴"xPVS;GHBg7~;R.P  [ uJ5**_b*1)?8*ߗǰf_?ТoLKG2xVo\?6-0f43Mӑx8A٭s㯙ʼƪ T#eAǡd/Z`OYz4O鼈5}u2blG"n<4xD u,kj8 eܾe{]@Ur햓8vft6թ5]T|Hj1?L*맇_ wN*\43v9.|h;5Аa\gZBȏ6/jag .1[1Jr Afޫl`>,l}CRtij'PxCf:}8ZJ3rPWpxBRޗLJ>laF V,DK+@ūVg0rc+ZWI3pJ1W{D/isxB|+&"rt nS.+S.ơ4,̛F,B8\O(U?Y5qX} fp+2 *jNXcA뢐X4m|Gpk,sŸJYN<Ŷʹ9o!5l>(F#LUZ+Pl6翠,>D\ eEԒóUL $52 iryT&XvZGW#/VqVn9?dhV92U(+uX cBke-cNUGKOE $OVu`vG*$Lu"h#rd?_ zC/9z $&Y KB-#Lcw! @N*e׊1@/olYO]EfdfC XB @.K_޿4бǕ.=C8G6fBwBpk_EUUHvn%*S$eďڒT\tB!_;|fb.R7D)r{OjpXINdK8uY8`cPczc^M :KBGkћ~ a{'*5pBd}B6P_5"v,S6kWN<&06Lis:/6S8E 8uXxX1cJ<S퉩X=(lm@wvf9S3or =D0sjfz1#ΈXI\ Asca};޺6\GBܳfzK*(ڙ :c}81ewdu_qdv]<(D*qA)␑#πֽlRܢގmw[xysQ&d^41䴐麫%~kEnY#BE' 3L:H*Q…/\ӄf4{;#>3ͳ-Kńy9X~ '.R[C |-tr̩,n٦L@!Y]~Dbu `c60+! K~J*3}>*wR-]$ɨ< wy?]x@8gJ> ZzUA2"Gp I(iz1m4+PW7wZ˦G_dJYw4 b`,(Nkz }{h.gn8< -$+?.*s=v85BvIg͐~+O.n/"8plY$ZRg^+#_H>f11GNK#ˠO";{O )a@kXs.~MNPX*>].gțQQ9ڥvڜfԸfjK&t2'`ޝfdSJ0#`8eX\^ ŋP8/?j('+qIeTIO&[#}^xq{HthX@eN}!(0;Q5[i6fJ; ]M=#5Ku3cNS _սp3\,zCptNLj (_nҋ"թ&/ĒQ0@v% o6ܹlX$MyBd ܕ=l7Dԩ5mm,Pg-Ǵߟ5L ˸A(V/` z0~cz7eaGw 4*^ O.;^_pO̩- ]dɋrNRҠJIO:[_^#?D嗫:C虏/Tsj^-rdHWv[f<>28=k;s<|1T欗DqR `߰@.1B9gj8(1DT%$]Bϧ2ē`Mq +:3[:?tyabiϯי?-UltioG{H:TIԄBuO4{Q= i(i/AlΆ#ͭUKgN\xS8#w|wcw(YgTeBFEon#p$b?jd+Ƞv2ڴR0ߴ*kT׬9*)v fJYk&¨s%;Ui#3}"=<3Ut;R|N >$s!yE!5;24`U/J7Y|J`upekۥb?8sx ȼk4p W%F!`jLTKTzNj=1 RKup]'kKdBlzp\gU`J0HgXӪ(sgRܘ̯ÈIK͸-j.>o2Œˡc:xэg=ZwnhmyjnV,3:A:/Ș٤7_VR!ir@r`6܌ي,} fGd#f\ l@$5_c٩Q@*|Dڢ]͈#T}C}(dg9ͻa>B+ -eӍ}g>{j˱ץZE ʎ>+ݕ6^9ы& :Y:T|}{ҁ?F]V,ΜQug>c\`GoJJw/EBFMRӤo¬mAFrB+N38$/I-2e0Cυr 9X"$;YއP{YFex*HVP^&$6c m@ k Q[R{hb^|}Eq18b&{ j:GC1V8(:6j/lZ}Y)Ru'-,‡z"hquwqk˭ 8ղz)[NbzY7,9Ɇԡ^lzö IGeQ l$ӱhP`tb,ݱڧ9a݃}P@o?ͧv)56ްAW?=^ҩNbood¹J-_]-Û[f7@7F/9nMEVg6M!Szٰ;- N_~|2~կHI@3J/LE[~uJv_cϧK@i/֊߯3_Nwe 9;FkH,- bCgXZD]J icA=PɊ f%N-$⵳ viah;R%iv%ߛ>UTl I[YJY2ʉ-eKQ5b 6PAGN_4l&: q;[z%&jj](=#z`{DZH vhc aFAbi=Fi:je̋Ŵ%X6B@pτGk`_'?ϹJ s ݊ NcI8T-sTx ..) j <Ų'u2sJw2~-Kd ³"h2&&%p7qBi#zFX?1}iPZ]FKC$O%,]]=>-Gxv1&1oP꺢K[^rfKBd,kXKlQT~[I,`ߩzN٭8A} dKi=GsF`kCʡ:yN"UV K'9IŧuQ kiZ#xx{'RYne[9}OELu1 ӢzqN̜]E=cK]f7Ah Peo߉yHs8=?f3B_]gufxC΁t8*uJ% M EdDŽr1lķ">@^&N2^pVY"BY_Lq)1haRAe"hcFQZt%'ǨGw13\^d!`'"/lʝF&[<VL.o3Ѯ3d0VPnV9.WP4$![ ϔԉ.X R1 aS&v&*o\҃FNywo1υj#3k+/ǴT)Uefoifkr 5tPEe쥹#}"J#ʕݘauȩ`_>mZ7"cJ-jjD&)PL?  5Umf+tQ^2PF^WO%/v*\3o䝈΃`dis'5*A45ѭ huuyUuҬO8uuء^.Ŧƻ+=- 3_2F $'g}ɛZț2s2B)}~W4)诔 BCeAwdn.MFH"lv Lsl.mb|TӅ8q2E"@KFnyqmd#SnY|A& H1TBRmqRrJMLf~?xJko#lK1(]fL4Mv8W GxRqqEGq~{us@{،8r gV5u f1xK yYX;iSKVRzQU׭=dX* r]1L$1]**uC#3,ݱUJ~yjE:JrFyg&NR1@}pcل0c~fUܜoD.+s+N9.qn@}JMc>+tBۀ,@aRWZ5+tf/V;"mmLN%(Gu0%f?}Pi&_{u ޥ @mY33s>)xּp4Iok@7 ;-9kIoQ)P6r1ij烢9ϴ7'uCh,=pFUa/(JɤV GS=_ _$7*xq?"+'Ge@!ÊdEYP3 ?diZב5دj A:n *UcjSj:$-| <uqHgoOs{r6yUT <(+hS*+и''2H!;)@kĸ}. |/^ytR저 sh^_k M W;5jNfO&3\W_NA ^!`@ehgRFdN?Uv.kj͸& NKU&qާ%ĎiVll{s1"Ĺd.˼d; j z_ Gt5yZeL 2'(BkJj dET`K\ݞnP m_e5R| Xd*qC=;uL:@{_`]d4`5JA(\rP-L]m鑛ѩGLvE ,WC0R6|u%WX۶lXl)z @zr|o Ƌ\5~Jv}z뽧Tgd3V~bgD$ȸA 2OHz6cL݃4 GqRʫMɡ# ̑ "?j,4J2 ¼B/nt AKKsFV{@WE]XaRsB4g1lpvX5|5aҢk d $ C?էPW?6h'yx$3Ej%Tb~ z[m\dwzQi4_ +wi. &Dt;:6`3|ngULs3Qz1s4ԙa4%}/\2w3^\  ,p-ȅ<Σ#3sVaA0k~НrxG'_}eOk.@=W oBze*~tj t\&*jCMo۪e?̰sk8xAX)&ςOpi^/ øP%pZWj{Y/$(YMK]մ|z~")]o81 MaMo^+܆b hCv`jq=Fjǻ&6ݎ-WA;L̲:]F5gž4ވ O7Ɖ"E9B1Ô{Dl&rB6FP8:cwd|klƼMd{b(&@ZK1De", =0{Bv1eR-EySTVHԭ\醉H /mшAMPȎzaNs AYW|WM2KlϮ_æF̥6x"qm_&VqK2t-q87M [elH:!媧y&N =vp)P-fnsH"u;f]WS ~;E!bwxT%,7 zK%ؐW?uZFŽMQyd| VfK2 YRoUCXYV07;mۉG/ɵrl}F9%Hb躺#/(b&2QZwyC).eAK_o4/O)D0w|{VP1/+ԌnX~%ؕ>Qݿ s\wIʷ^:W3if\\B*BZ\bh.W%(5T ooQVt+RWG lƽk!W̢h-75'|a4Bra%VU Ҁ GO^Du3P6S^uqUh3T%ȬfE~FkFqHe1j3/PAɪMq DXXwQ iOTm1 `gh'XI4F6|GGE|f{p" ͌Mb#5UDDd?;40G3($-, <5[*[rC9oWgax܁HY} ^kPՓV 2}9,"QaF| d-6M>N0jI꫷}ұzޯ#aXӆfYtok]J{6 O1L 2'ʊ֥Ε? :eh6{|6rb5 q!]#1{U^PgMj~C@l0s||0) ӳ7[\%LRRQWa68yއ*i TȀ{(vfv41PI9e=ƟGS Bfا\X4;:g)XGDj{|f`욼ݟ{ig4FA /gJ!z2t<ĠeUOwKej `B;*es=;\]Zn'_R]Di] v F-l)1b2X 9cFͥB,q;uC#h/ל_Z)E#W? 2lR.N\xP㋫s 'c~e=^o7[IȒۻiAC.$oQZD%iI P*c+Hf F>WEp0uλbq۽ ]9^PzyWMCh,j5`63K;l-AWt[ȇ-:qt<ޔ["`ku+]|T5<3<>tɃA\}~4p 9JӷІ5p6`+'vJ SE)Mi#XIZ>{Lz~/Ƴ4Gh|ggO?'~^ى.%A}ɹaǯSYga& ]*g%@+91Yё$t<;#A}?n#p(`IbcI+KeU6r-m_vV"^l^ XD{p7;G*,*=*w{Z0 WNd.JJnRSJ 0#&âjt(@L)d1Q ZQHV{YBTH:|q}Xee+$$z˖Yۊ3ZQ`uVȱи(qf 7A*#:p$a hWiRCTM Ojѭ o5UOHN.8U} n/෵I&vkN`m'F6Ѻ`(K|!Ȓ-cTЦLG.HKrQ`eF!d{iuН2.lY[Ndhsev!#^^UrƮ`ªB@3f)-=uP@#3HЍL\cQA\{*<|Bfl{$=O 2.`Ch. (,R/l%x=^DC&QC24U gi(b'WJzuӖ?P #8$J6"t堍؂NƗ.uPp5P2Akv;Sg ղمJ-4:/RIv;I[ iBT8ǝhD}*x@?,ߞ.𲳷^ 6#0 k$h֫ 3#@hN^?!,];їCD{-;p8 Opb ӥxJPF~cC*(=&&l%Y ;s䵢ŒO0:;C \fe=)#>U(+ p#J豶B4r&-.f qޖЉ2s2T~lCw3%ss2V~pIΠ|~_+]naZPy|Hm{X'2jrn4?= Gd_YŸb& ti A H!՗;%|>0GK.:7bs^N&pfFz G 5FQ~^1ೳyXѾgty?-O@:rC\OT Feg_uȕ&J|Mi.l-^m>!#w;X袣`/ H^ zڣJA;ݪ&IJkMjx2ckUnޠ*\pR!_mS'VL )"D_ ѾC[sHCy)y?iLaL:V2ŚwQot'y_lRn%Bڮ&\rp"!]o('Ƚ2ϝEc}!p7Kh{\Y07e7;&j%ޛ,(RyݼTU[D{3}KI4f$m| oPL2#." /,tǢt{H` h,ӳ6{y_jPϻ2d}G h`v%єTkɧq#nŠ-|]ݡԶE<"z>Hz,4(.1җZXMހ|''•]$\oM@-Bӈ2܄L{&t|ff68~eYm70^ˆ` ofa 3A?'V $dݭ]&@+fk:+RGmFFbiaI Q<{7!F^2,dR{ms u{p9Z,?IZ~wlM5UZoQ"pS)*7 MW(2,;ǓؽaA`b/'N]j,Z`|98ezF):O4mIkڳ?z u;Շz{&EV9h6]|&_+y& O7L= A~m%Rs3C1$1-稕!x@/M)m'dzT̀B68w/6RM~]qY>bH0/[vS! e=Խ{9tӟ Y_a{T@롏Hz~D{2в+/mld*^5"yblPNbռ$~!5DGh7GϜl? H;q <{:Kճ/]i65:[ARDYwŢ0=G܁~WJ4)J \:҈䟺Ga5C35rhM(%S]ף֓ } +A:GI55W78X^WatS O+o%K_3lOwNTT/4GCiI "W"Ӥx8 HnP7GX8,v:ҎD{mz/:3R$>Z]u  [l߈ʍp8ˌί5"c j=Z5,%-yer"!agn>e_Juǵ |+?~: Pr)ab}{qkxӿcstd5)6'{V71:e6Ȥ)+\DkmY:~ڼj^(?;꟤wE2C*a0pn ZaEvLaF#bgn?MwN|%#-j{͛>uq9Blxui('jKҷ8gՉrk@4Eբ [)\vKDREґv c2w७dLT[NЯ':t %n}EN2 s/ 7K) `:zQF=Ui؂Anq}HTiiFH.PUX83XV*ȰbeӅiOz.5eCQf82֕Ыn<~O@ JxĥXXJT-S=PIԛtw$3 G]۔4b/ѽX{.W_zH<|UҞU.dᢂk)z÷KFz"}S =MҚj$#{`,a]pPu0@ƕ?0}qt ndU"xJ_|(=Ydj[== x32? a}~gmN\ ÕZ E-;n给+g`!J>ՄTِ+*w$WN <ɤ>)U,>cSœ:[U#9QKtWjY۲?aesߙ0ՙdW JnY bW6"\fCrF+Y̕ B6uZz_-mnAњʁ л?lnM$C%7YH=oOBɅex;Oll_ s ȮU 4BtUh"VDy^h/Iز)hSɄ[Q;[ ޣN`UaKR NW_ Ƴ \Edۃ}+J=XLVQ-]MbDϋz ng =#N"u#6+E$ٓ9tJ*{!+IC 4]hH,'=OZzf#1w/Wf]5|*Ύ u&}o3x`i"]7>ux ZH$E?9Amria7@ H9߳ aEm;AT&X'be$aEIU_㿙^Q{p2p2|&k(_wG"ھ2]Rö3Y(Ԗ{K417Gaiӵ?= O=ќxfitHʟ0$ǻTKs:Y$Kv^)n_kJ花 )a6`~S"8#f2U}v~EdY2%Ea/S'Cy.H#y#YJ6uvΏBm ̣Pk0Ό֠][VH B+H~ p?2f,CN*1*סhF DzE;-j eR %_)Y# q!!|L|~=$仌e7Sg6* 뺜$h^GR*Jvp)XiQ:w.)'*eD &.juqzKր*  M'jIkwT02 _r͸ jC7aIv?&B5ڎ8JԢhh2n_\a8欙j,5CUJNsJnotfVܮ4a7ib^:{-uYvZ\?uVccfWV?-AvRJɥ\^s *ePLZ@Ѡmѡڀߡ3.@/PdJ' \%aڐyhyTb?NG-cE %@L'_5=3ڸ\]TDe√gTb_$Ksw G(j3p,h1F簪s4vy4Af^SWw‡C.u,zrh;o֩dD)%!]/N`!U~(HK9 5-:)E!5%b-%2k|Rm7L(6u΁/) ]]0>5507~ [qî+V31tPR1D0\V_xK$r@:mIRkKV;-Wơ9ѱ &4V3ThD%7m7XSCNQf.(3Xl]9tθ[D.Hog^k[}ʲ%@A%Z7iWGb*1}xnWm_l0"-at',O6e~ Rfw||ɖ։aap!PcA1|>M-mZ{g*4}":+&?O1NzNfj'fGve >1:)L}>'f4͐bJ7>t2SK}.egUkr݅fՓeT%\=.ٙmgH7CV aޢ>u"Ks@@΃z?މkfg#)4/ϓ`E^[׋C[M?>5]|Mh|~6ܰ .F'ݺ9H$eyj5yRE#`B@MB>hc[N忰x$4T{Aܐߘ3$☨J4v—gvey=ѠY a]:#gmNtwr\҉΃ f zקJM0L (-(wB{-;r' |8ǏF/o4\PFaf75^Vd>:ʈ#.=u 㶻_<~H8*$g#8lu#-X":^PuBe(2x#IٴSCր4؄H05 eG0e 8E;O ?q;5J$t+cltFsĕbޣ; ҾߊxDD\|mXfJ7I-zyelz àU:NӚez6!PLn Pl|tIVb屻6N '@ UsøËߟX[oݕ3 Y^:ekXa8fwaƻI4/A;R7]}WlQ*hdf0ZEKH%@_QG[9Jlq=%:u,rChwG"v5L?Z땃=a2D`ITSŒp R_{3[x}, o4kO!9K|oT?u^$6b"`eCx L-@VstLDpB<^h߶[CaI=_*pYĻi_Ek6b]^|OCǹO) &X|c5=(sG!&)tIPwIah5~"%,?~Αۋk4;][LK~lO767 ! 3@u3'ްk`ŗ)9H񒐲8o*lb>0T*8DIdwP6Qd=(-׶@w,JdvQεti9pq3"?\kVTm(W*a;Tgה-@F4G޵>'SMN{)w@޿fηqPq2k:$W k",i`9PTvMq~hgԔ{HspuA@: o@R0ҍW=m=?w׳K+xB $@VL8^.WL{&5i(};2gl:8UF7pK8Yrf;;Qo0,FYm KP }//4/j(.m/!O xO &6j@S5)[a+,!{ik0c,Eo|B]p7.>bGaİ$FBJOm:s߼2aAV5`4J䉪j5 Fuov=dыbҲnqa]JQP WУ;.ajADpFaPw0öMB?!9`ُG!P ̽ ֽ]g 1zbTh#t}f<6U_8+Qws)cP,G{OlFS8c1ņ)z!ڑ!#{T w}y;l%@^*c@F(%g~ds2¤sLnN,<$@~Թ*Ya;8y@`Va1oRɮ=iɾ]xvޟ Ʈ&!2'ni9/8AOȘ[ҿ!a n S"үXvϪؾ&dDV8»sEG?xX;#AL#~\2dhf_9)'⩁pIz[\x-5X5c?"fzi>-yWTb?˂}Nߌ^-t!w5Dxv)|.AQe?T C aWq.[M0ꢫMm^ (?3Z0(\3GtּW8)8Il;4h! I̗6HrX,N۪=1^Q-hkSu5CJ@Uu渽gQ{{c/QVmHTVu:&"o|;?edF78O8_|mCrR\ ݸKǷrDQ+Y5/7OsR`Ukޔ͵ʞ%`njcl&~˸!B&c swt Ǹh9PQWp,8KJi\I[pTàA"1!SR) Ӧ'`ks16.LhQ;XY˨2kΙcڬ?4eUjg5r5YS|#}醻!r֭-vĥpIyKByQQբf` ~r񨇍,3OBmqNmF; Pbؗ ؁v(?qw\}n;Xno̕MDbb80F2<ʹi`!Bֱ+na) WdkL _t/1e 6?uE~ŶEAѡm^אD^J=FO"((t Vxg$a>B]q&` l@Jvm:u\d!xR-&o+L d!/4pN9J >eNN|nf# JdԪ--FD-z'ߕMFqdPew3!שjZ|pKPk NҭwV ~_e'R惘O]If] fX|f5"e"ݍ'L<HEn6j11@ K2Cң|؃I's|qU;aM=}L2m~JOs.gUL=qNo?zufبEꔕN!TSƁV:kg)8+vin 9wks˟R&'Wwe1ulx٤~4KPl߆ \-|[B4ڏ|Y_tv7Qy@ `*{+1O%GdnvbZ'Qѳ?H/}]߾—2y'N):urJC_jPoӟH1͐p i8xW@ٹaúh&E\%`,ZFDGn!6i$R Q S5fcy͗(d58)7dBoyddse#ZرK]sq!DN؀BݒϨ/"e^Ĉ?\[j>wbgEWR1FʋL \F!Yۮ@7l j]J7lM_R`#|ސ !̲Iy(noof]e>&Z4=922!P$}i HMC'H>gk0mkzr^a&yLĄN\Gm5h M놱9Mk<8œPߩ{*avoxb`PۆQ"Lm:6!qlǎq@ڞ6+|* Ηѳ\hk59ӯn b,+ƂS$bpD*pxtW?Xo9 J%R=Wx-zM~XOy^ qeDTdq{^Kb5s0la٢:g iN߈+6I:Γŏs-}24l_7fy@]H//5W,eU Dv vC+syY;ODZJC;7lػqǰ0ZB5K9k;1=i`mVqKW/d[HIC'W,/Z>)#bɍ "Q dqm0 fHQWZx.Z1t;K %dt~싵11nN$O*jHݥe$OPF"TBҕ.=9|yeЧib'Q+-LVQ!#QrL<;̻Gh_y~n#.4bb/Ԕ1mx໊2 qb/2E`c-.e'f,PP-; 7ŽZ:1r)O˵d˸lG84i#۷5٤[-ͤ`d[TQx֝KDBDcܪO3mh#U\l]F5ފnJ"}Fh_UgIݽC!(fTZ`ÿxZQB2HVǝz2TD( pQ5"+K9h'={i?Y.\Q(IMGRD6OyUfQ_> |YgK~̟n. މ $BVrdғ;WOUDNrj׽OBpBs33z;r)x:L4磉^V..Q{I]>.#]Oy3 ̗Xz^Եz\s- T fxn}# Mp@sA3ʛ3bI-Ԇ #ie 7 $%.I-Eke+:s* 4X=2!bufͩs0GT 5a=Z%AhPtpOYX$p` HM{Y׻rcU pL1M+F2l͞b>3:ݰ9 ˧Z\7ā0_u^WPο:_ZԶudSbc[ƑC9ҵGeGVx|7̎ f* Wk;EЛu"F vQA$tƞU8sj[6Z{b^FW]3x m/"3xjKLz=7k`m|H'[:#Qt{%O×+TϰIUHgoxu'ḀNV?iiGZ/U?mD#Nh􆜮}b*Gºɴ`L}ؒ}XDYN[?NNp(>ɴ!ʁ8=|Ɂ0nPמ&v/s-"ćN|K n!AECOkq,T xے c&ɊG$ jH$`?;&Vj"VNj zAw&eE6zUncq*,vJEdsZT'|7+s,?7ӿܯ ?RBBP-SX|} ȍfu}-䐗4gO(7|h_%@ lPvZJA\>#R70C+%xm峻`@HG.I 6uMcy mSl|Ђuò%?)+\.dкIZt2X0H +sXPy!EO>[L>S̆0iiDX-,ITx/o\':6k G^!M9-PGY!bR.9`H)"Qj{Jd~3oPUNTטJo#"\hY twZJHɾ3+f2rsYNmh1\$zN( $Gf}3`L 38]߰z%sƻk]`ԿǞlrF$آueWBI 撌6]NosWd G8zk` ͷ?Ƕ $# awO8:f畆~.,}JTѳ?onGA]" T:ǥ8VZt hΐK.kyW\&H Ðr9~ .if.F_ ՜1dd\`e+*Pߖ̕$E5Vٔ;{JCC̅SP>C}ݩ4 Plb=JFKZCw$i3=+IX:bL=5>?}NEa?d86LeN[t^A2f,}:x/u7ٴHZhmx-Uo)-# ~>`RDGmpkQvԩi_4G-u#v5]"_QniLY 5yP3cy0JYo"+Ym5n,FW}5X~yяDʦ\|>__Pe@\IebP-Gu țΑ5ށXIpO:g(_ꄓtI7U8ؒ{H[k]roME"7a FF |zzVz~a'Z sH$!C(5O.i.3GU,?Nj+X$JXsZvճ:8iэGnoa"ۓߧQDibﴴʚ%/MFaP 0Uv1tUil`rгH|\Tezi@Y xP&U 8گCiTa7 _v!+v*28/0Hgn>|l$&]ndVݜ 8Kr/.q 2фCdr?ɦ]矠@Uu2#p"t98寨˯V Ah&_ez(|6e >fP M8.MV:QYJBzK1m;B޻9Ҩ/b"P2PPYMm(wĒϢC r9rWй9LJ#ZxM%_qzoYv wm~*7n \V2R u׫Q25+MdFQx2 s # Sx:ڽEjwfrfqwBh9Vwڑ&g0?$ {ȊULtQ}fY]3x0(u[ih9@wގK@}T"YhU`c|ȗt+ZC P~50p] |;X(m }`D{Wk0oe 'lםV 3%KgkZV rc[yfS}IhdFs!thjTb:> RC귴#e5%`aZѮO_)Pk#_ v,hN2DF]\Yyw ǜ;Uʭˢkm R |h-`0NN8rv]P!97wy2Cum+N@ oܔ Ss%5F!ȇ L/L^s}*ݦB0wdzdg r[=Wg u}DEP!bxo/wk09 1ljy-~gr\{ 0N ZH)w>FiU W*M!N-TaN-n05UZş:'fwt瓘-l~QxrZZBV{7,g;$2C&XT mP=>0ҁsC:m/!dq}~ <ƹc?"rj3O)5cEG 8n/GI.›)n2''{3y3dv.k D ؤ8/\e>;[wV71iB)|C{Ed]L3#I 6hO'.K_Hlx$0X5Q.[cb6|DŧJ77?XEAVnOPmR"H?3b<2j?>p Rh[-E!Q˶~~IU3~i/j4su$L3|x_qn> NfftWEvMiܸ4Q ptBmmC'fp[Xo I+ѝ\>`ķ?üQ*9/p-2} Q"ȺTxNiP:@U _NX5B* W/'O wx'Z*^ˬLP$T\b )49QTOY j8ʿ4ESl]ƸR4TE@[=-ZAJ`HU*g0\fh0XB4*H"]>vke70rq$%S.UlfNR,@M7Ys5}lTe)vF'l k/.fG"A;ՅzQѧv}'gej73*9'R d5-i!œw <șY`Ǹr DiM{ח܂_\]Qacg0SڨKĐIY>aӸ0h-) %e 2f M0 EG+E@[Rtd4 p8D"הC.Ȃݯ[_߭7CtLsq;.E~CBgXJS,½CQ ^S+T;6nH_7p^;T7 @Vb̼ q;,Ƌ&?_E$$7έkSk|Ωme$d\6)枚[PSpao?S~jJ绔<ߋSӒa8CdNh| A-X01C Dax*ELF0>7= 9vrz'ɿN] PF#Gw  |K=iSF뉒իFϾ!t 6 !gϳp|G釧p9+MD*qi?BjL"BDxPTr]T%aj '3?g udZʤ2{kVV /b"GoXishENL>VCx%ǝT M&=BB NYW z!Osy6.)z~"w=ꬂit^[}(i/D&Ѧ_).祁1u:(6bzTlt3ʐeo!_UEaxAXoB4Do46UZ 󚣙VYKԊ/`D 4eu8} c\rS, ԏ߷|ht#\@v6,9(}ZA0xoӁO 2$AI>; xs:Yh0ImI#C@zAq֞pՠi1aC^Wu#(gKORbve@V{8u',*\8n3l"%o 3?`0>y> ": -Fxph)ػiVY2LnÅ~/;0q!F_8[[f%g}0x|ɇw<γWTM=U*žM6sŹ]G ,kn}ős`cd2M3g* ^ U=!Ͳh䉒ӓ":!ˊx?(k"5i)tB5- :gaOu[%´#T*llgb`X#ȸ YU:s(3IGK0v5ص2w,X Vq,h@]""#pD/NX%cTQYM]i/QA R2~ { Om&%Mljd^uyvtiW5m/Xkh8]r~s-v7b__d3 r7w +fsX잤j筪ktYĻ!!'c)Q,(~!3y APdm:>#SqR̰ѿ*;P}]'Y.n*؂,ۆg i˙F, k3ҁ^6WEXRxQfFԍ5&Ёr"оD]R3-+K Og[CC'cq#pa-mG!rF})Ԅt`nڄ#[SPgzD6ܴw!n]MSd 6I7%Ot SBvGdzdȥaBVoӮɚA jW0ihrkߚa:&Dʏ~i-L4uGv~;6mhl<@9مl2$ꅚ^^g 5ܩO,@=1>]Bk >7 j0kGo^ldg.5hcrCCe5Juha$vBoi猥_h+^]T\`o'1gqN ^V_ m[rLPZ?Tc C;1Y(FÜ_3 /<5ZGޥ"A{` U-QF,VF:_A em_"g`Y;C;8V蓶mD/R2\fWQxP/6/pð]GT7]FkԤ763pۏLccȉ }ҫg!u!Dt*ʯ;DA8OjTc{A?WHGpATkW( *Ǽw%m3% D¨bg܏Úcp8եZ$!ԇasqsvewS#>D!F{]h.w{v4}#H_v!C ;rc&v7M)WkR;XHӭ2H &=8PkCG4j\Ӯ;NFҡӃBzAhRKռ#N0$?$6nCam ;j&|w-E}R%aBFK{(KĖK/VTRǓe JI#?,SHi]xbkV4$j.$dg]i/HB'g] !Q7e٨% ED9jGe} dYVIw6˅pR05=kuƘ=2bNjKޜ?AT0}dV+O#-%+ wv4s>}Bn+|j:司Nk*wH31Cqf2NerF?AH..q-,l@P6&Bap:X`7$|1T&^U0 e-BWGl}_O-dAs\c:#?dCZxӜ5u|h S.u=vJ\7ϊUL2=D\ÎK/bd'MI{[pQ},v\ y}2~}0bYkg"fn9&z}ElP$ZuW`12ȏ}3M-d}j˥{ۑeWA%=@՝Y0vRkZhi#s!BGQj|<+UzI=nZ W9{ucIy#8Ћ01Su3\۪wOUigi<3Ng/Йp/QQ먪͎݉g"tԕ0}El Yz1_|'BNu! n{S$ ,2y{0x0<6vm oi=Z>O zpOXV6޺qs +G_O@8y3R(J<юdFv.>6c6 Sďsp4U^899/4.m_ 8njsbu@d;ɪR AdL[wjJd7w*"G^W &b,CfSIɬ"UA"IRY:hEMDMU UIE wYg> )rqGkϛwQ0"8&*[dAYBcpLm~`퇸 U$ Qֺqc1,0Ś >Q|=jz -ukTxToiE올@A: z"A&ޙ -4@'57++pVv}/ʴ% D>Lb ig"tur4M+mY֙)vOIP|̃FتYMI( ܩuLnJ?uX'e,fQM( k:52Gf^R#/1"jz- \=Bkd=oXHTHq>#vK.x:"!^O!$ wB 7I(LQҝm!05)o En<g]oeK8\R't 3D^PZFx>^W,|*D ?fB=;LGEWa=GtN:>榀S71 a)sAzW=)~!lno>$y0O=p*q/4>2/w7ֹ4kF B}(I/㭠|X|UQOyٶfP;y z.>"<_Ki]sxzU҅U`v||cF*f~+! rMh<EݮAy \n.PBڄMBK^s +!ڂ,K-8_b$5ܪ{TBʵӲ,k" _iq? 4 ZXu"Nu6Q̂W^p*ș Xu"L5p^A{S` @"Ϫ/e̪Wa*oPabRkGUN$ 2}?&aՃ'DN5dIn9-޳h:?r`暢 RBlfHy퇯Y QlJ4~/aҏvؔ 2sጓB>F< ƫa]ܺĚ6ɢ g O!)*̈́8%RhԮ=6Yz&@ ٦ XMQdQp`.13[ۦ)u!d~#[#L -$yR̳k&],6,ϒR *8Y9Il"aCb<_m"I;6%ɹl \ېIߨeLMFJ<m?ĥ[ͣDIQ`+k\Lgp-դ ]i\s\ބ'%cRr/ “5/ )ܦ-kBDq v3K Ǟ;X _ixЉCr d(1tA@3Ag{;RY` pVڄ>VXW;w}TKR]0$}?v:XB`i|78%J,&!{A_tʸWQ-/Go1&p\6SpK(֦z0 U%Dg-Āp5 AxckM"qVS+YwFL!+_ vzb+b0M%U>_6Rn~=Uv1qcĭG8%#G5ʵnbHЇd[kHy .qXcʐ@rV|`Q"Dr6Vݞ\C.QbTN L*7{>DE~^hcG%8K61PxAt Nh [rf<FU>ުW~-eՋm_;% HG%hNˇtc~+,C#ӄ(Cg* (1gjJC*1þGU9Vsꏉ$^5dGLeRHq,r/f2 Lk?/AE ^i2CSLZ7?z܏ aB<S4Kb0nӆvCwRlb.vtSdg"rrQc0sWAȡR( !"%sy'?ߪM5,8 h\5bh0CŴ\#!y'r9;B>D?WfMD{]uC4f hМi/j5$!\nS\:IՔy{"g,?5SO1$c"ؼHbN)BUk_jj#$>6M KDhq0 i$HpsTB1󾡗GpGHN"1K'yߪX坤QsHXw$a6&Jj;%δtD^]L:|g{;UOC +!>rUNyZ(.)ZQL[h+Ze]-:6}ƪu"f45 +*çyCK󷁦u=3s=Gwq@k}`11!hWSo$g31 Z/p;i~]|$I)INH2},RYnq_"3e32i|HhvL&-Cq?0GfQ8ml@$$y^mJ:g AEhQ,[3vS`*I-|LQ$ pv"G~T +i>l ur0:y6 ܧd=c7/G%ÂFfQTvby\oYWp(Ioq&A nRA,aTwD M՝yqDNkv>\KF mM\V6M.Kx["Zvlf;12%0bVPQV!3Yײ 9uu%Fb&-C6`K RH,OcY(ͅo|(50( l^f^`.]x=}@YS9R(}l*yzU).ovc3QaZ,١687"f |A[|o˚edti?F|qϧuX+?.M _GDK Z@J/|g&lw@ڠvoY4wfA'@7F_Wg께*Fc<0F{^L@4TkHsÂ[53yJڨ$-L\kCrz3 <^"R_:s 澜4.p^i9HPkҳ<)*-9N|rO,h)zeR<<>l;ߒ}w2CAAz|ӻ d^ECL M&?@|7VHcCCcK}VKRZġs8~HO8?H`O ĔW֨T% 1э?.g' lyil"l7ql`R2lWf vS:RcUo <ҴQި:ۚV 8]G70(|#kʈ12'0𛛝3Z; f#k$_~IxhIiryӋH >oCk]"M׾\Z'aݪhe[OH/m V_a|I5i? 0/]f!r$+RaC Tb]mq!wQ{2ӨDˌT˼IO.LX(q`DBK۫g?K1fa2 C/嬈vg}R$KL6;̃ucR Zܛ%} Fk\BVJ䟹{+(A !#O'N\}7bI<S%TPk+LOߦ:iN`IJи c_$D,!ƪ ܮRRVN{TuH_3p EKAjͦk0` 9x S>p߅+̂e\bP#MD˪:׊絣YA?oLJ" XBJy;B`]ADާ"&r$YII9W)Z0ŭGe=4C] ]$@D4ZS khbV6ViGκ#Z좥ν>cxPR,WqWD!'92`PyUZڀg]~s 0 s:0R_ؒ@r(I\#rMj0ϧ}0 b| X}LtXԌrL̏1캵iq$"\f$pmӔE%͋-HHةXG~GpP *E Qc/9Oox'usB&p&NAqZo2ͫQgL0mzՎZѫ>Ӏw;,=yNh_lmOMTz>/kt5T UV?7hzʹTBÊJ Fv| E鉖㉵x&Bk7n&%xmlU-It.0&IR0C8gvAu& |- jxuMTXdl~w]UG77#<@'1E{_9YNWmKO-) ĔaDgIΫ7EBB4: LsBrpێ\5GQxW!;5Y`k:s #(ɣ)<>@4r,_9RUK`\ 2x._I f%֒֞__BOOjъ͐jTGVR4TzETlR!/=w.9~Qhؚi!TX`q!כ`>vA G2QE._z+rf-t/Rp8<s]1>BJQۮrA˹[bT 𘉩`h9T~JSNdjܪ;ٞ5D LThiQGx,`ث:n;4# Hg>?SpiD.RU Fxʲxqb{LXKQ,\-_'/TAQf8]CH8Gwr_ Lq؊IFop]fb~1 J"kz߂ܐ/CQ6p],ť٠{ ڝ|;>GL[D55՟utlF#mR*F5Y˼=aaճ (`^0pTl!Hd܋%asr/b8p'w s[y>PkF8P5մnBR t?,8.)4tfOքL/ Q0쁯D>a PGW rCjhƇ~~2RR:ҤR!̴JM޶8t)J9oED[U}n2WJ :Ѽ=[Ea%'ba9k+Aq+) iĹLREK{"Kb,p+m;lB*ΰ-XBao-&n4 /).a%|/d|0a9)fuG= 6AR9cw8f*Y E|@=kSN6'O$^\i} 82WZSz@T nO"#M0t-&8hXBoX5AC?nN^[,5tNt5$ÚPa|k̉Z2&g|Vi-L >,Bh$V诱zR 1>Vp@C Ӕё\ȸm1Xt.ߵ|<iωhd]9EVfNy~£ unN$dVPѹ~swy{ziv|}htrz,(K>ZU j]* 2qLWc_nW ^9}6Splw$7zRQ[0 א"nӖ|Xŀ:< oKK7 -RXۘ65'T&kSN8+F^}wsG>VW-F7 i.='<8% 5 Ul~4MX}mfi#_@) GFij>e$ hΧCn3AAEsVʈ&ԵâӞkOH'.Tcg [FuQQ"E -h2Ixb>7,o>󖯥?7g:1k#7)3S*٧Q .[Y6)E6f⪂6A9e3Rq&Iu 1 ˗_S@o=s*:n# pp&cڌz|rRfKR,Ddx^`{k,; o8T7>$C? <2e2(cI/V$vUÁ{8 OkY"ԶBW% ^yOu`Џc2cb:RODaU3{^=^> kgae`p5bdOB6&ڟA趾i/j pmP:O @[T2W[~ Z@;xvV0TK- < &0nH3icqGzPgא{p{`m{9d:cP3C 71ˮ/#Ɨº'k+J*OExHGrYΒyA%I]f𼽈ٟ'ߦ]_4Tp$Kہo<&}|[y7IPpEM-qƼBV 0n$HbLѻRVsoc85G2^<Gn[$ O^Pr"VV>he:C"? JsBvFm)ɢG#F g{syW*Ƨ50Xę?46WT8IaWNu?û<}br#(N?3.ߎCIDxvP;{C8B@Z§nQ_i0D sm{c c۲KҽcUOԚ6 QH_Z&V"Ƙc' :w4vvz0 6}ϝL$th\d:4y'_WS̊H怅~P&)W}e?K<$36SoՏiշ'"m͵UO'^",l\ CȤY4=L&i>G<ݩӭ>gХؼs3lH]yX%羫[].S"L}rA&g"Xa-+ziV^;L.MVz#!zHpdVug5J) IW) d:ZbX4E_\F"g;y̪PGqO#;>>5ưNw!qBc82ί6%viɵAuzPiOgvVRtk<,vn:6E>6`m6EAW7Ho1ie%8ʍTZLNVQ:s)j <ڎ+Ӎ L_'<nROj &q/ g2^HC!zuWu ) }BzJ880j+sêX ^Χ˕ O=o_'l9]C寨{43%d qP؍bPb:L7X)i/8P>5^[t0fHt&+(ÇyEm^>$lOK>9[),8MY+lF H'4]#=Jmͪ Up>]TS%.mȄ|j iT\]KV1ME*ye{sDhODa`ȹb*yFkq wiwڵ9?zs, ^+~dK=f<=10[,Բ1)*U, BFy ֵ Fk%r)n$K;őe3XVDd7oHmCU9VԼk(t@U|]Qzxs7TAFANJs )+9dCK@赂9LcdqOh}ҡeXQdLBX%6f.ךS[:/ЃWNx ReP+ɞʙ/)Dj |*L  ˠNdp{T\*h@FA{z6] yc2 )??R5+9o9Lߩɦ$"hfu#A lGm]yJ$lD+uJ 7_C0#``Z֑SCPgѰ/60btjw抃Y8ʃ='oo5>z;3ˮa SGWn4' F.$)Α/J!{Ա'"g'0~ \d!wu,$o )q`w<Л޻s%2H/h'e\fAyV@1 A @h!Aq8tnVHt4qw[~s*3۠YݽYRW2Mۜp"8%;yV7KVνv/' az7rC:bߋ0SY}AZ_2Z j ʮC$,|JvzcrRbѸ"᮲C!\MV w_5&#R4{?BA=^Ժ`]Bo2'ϒ~R3NYs/MA`}ڷN^M16ӒQ߻վ-}lcy)ʇimk۟|du8zKDOf'N{8󴲊[0r4h=@ehq472ִW<w&O58K,EC`j@ ȓi3<# c`FE%TM_=1<<@b$rN'qEyyC&7se!:ODUskg6,D(g}1 ^XvQpBB4VD h &Nnn͢]:CD}7L!a_9)TqmB!rAqtWZTRFU -XPALbUŞIw܇,o2ɰn>ͥj{QZx1>nڠՊM"JE'(࿟%/idnY!5;IOrFur`7 m/=&]kV'0-鴵n>^ʪ;qV!Qa W3i+,BxHhhehc3we\d(s${pA˜ҧK!|VdExI&MZk8lM'[0̕Of,(|(:F&v@kMWr-/sz YUi2;6M8FoҊ_X׵wM?`Eň/XkN/ !3/#*$VʅHއ}$a`90_qu `bPՂP^9dúu)!MVR//ZVO^ "{I,1lיWj=_ ʠcS%s qRe*(1GI?8bvl$0P6iSwC#ǍJvh@][ ̿yhӋB"uj@اv|2$EwcdqþH cnhsRN 2>?>J4&F=MojLXl/UӫrxԒN ٔ;b^tPXu=}ٝd1iЋɢwl|k)b"-̑_qcyr/sH ;|^)쬀|[I0k-"8}5-PDR5fyvRRGNly"VG[giD(V]}G3!7-@\h.1|AҒ'$qBg\mX* {pw,!sT5w![ͨ*YYiXwdK0) }G>o9*&L[v[K%aL|T;֥]A|񡈠w,Q)#Iz&J{$ ~4);WRt/l{io?B- yl#qbx>[htr{M>U8*"d[HTiW.K'!GjvjX&WF/4M@ 8DJi(D4DX oELu\<_ɨܙ9LG >e1R`T^rIzJ .!7%,Uƣ֧k$C7(ёo)YjS4AѩYP8BG % ':"&Ylbu~`mjE'}c"D+>sJ,*l_\D?qաjF ps !yIgjIG φ"6s0Fi#c8twlLYP`ac7jqlYz0eSc^Ɂ$\@?hi,즎x+3Fe<%΀"̄[}NW4Е!ܝ?4c"+LUZi YU@ÜU݅wrt.]] 0 ӻ^\B}-'=:q>*Cu'G^V2bs oc ҨdUz-x\?+uTg"{C^k6^uTŕT_rN+,}aK_BT*>pg*NDb 넿8dS2ܺIquOAP}ƺ1's=%(nh0г U{Qs1љrg+ _c3ȭىj!4) “Zo@o)*Fb=u}ew&{ qYuwPS)XHm_ai 7V4 YDꙅj/09,ht4IVcDl Dw֗# jwͥr΍N& ((TCrh!(v-0ť9|si5~EWZaH?IeÔ.MZK2 |Ft j,cC>uX?$p)K` qؔJjO ٪f2 ۶x{R1ҋ^ad H "v $m8ڐȁf-^?U>P_|[*Ņ>GR(hݽ1xT$J''G~x6,9C9x# PܼEќUwΣ1='Ek_o3MۅT~zièN˧enqPOC/zt11S=>ڨUUy/ ǐ*`r6.&AK(hϭ /Bc$+VD"  T6;&J,V]zRXU  =$oX8{'ie?}ֵiv #gT믣HU>mA$_E*C=2jřg+C P(UH [UITkߗ)o zYyVo:5]Ywu$q+1G*T-U`5KGy M0b$aԴh]CV l@'hs~IytF ;B!y; . +FsVM%G]fw9> 6B膫KW>Z9Jdv?srJOe*"zlbwpٵ(Z72  1>hYT~+ ;GHoL"[~ h| _80BMwmґr dYN98 jdUT6tĩhsIma*F5ڃh=ji-ɤ/ 6K_&sƋqF+ZbZIG͸3(8,y4)#bHa!sɌ^V/wWEȥ)(oE+vV\ي".t<|r[f pv]S_"smLogKWjIFApHV ([+{UѬ* |tv_Bi;es 0W/5j͉Ϣ@Mt |#EM̙Mii7\2lGX$cl X(radwbSh&+#uS3E6y//I5m3^foi3oά[i`|R,YqEe{5urt~+Eszq 6Bl-AMBD_QN]#hQrg#E q`'VZy䑔[(^pL*]O?#zJ4njJF`28)fkqTm_fC=ȌM6ϡIlqm,f:lV(r[Py1L44_%O!9W'SdzXl%ނΜǷnyYn'1p)0 D7u e,?Mр5f iȿ7 g(S&|t c6H"ʏ? \֎Ç|$㞻bFwKޮ7vy GakL 5?$yUiU2P ºH[)}6a{D0"ÞCQk;nй?c{,A4Wn>W0K~ o£ΓtV?K]Џ`j*v%SV$xw(Rg4I՟[uxfPTx@F9(DβhAlxYC# RoE$`>]sSsuI;K F'pYkuS2)Ab`m^+^d]r-_H8zggvnclbh; #U6'IyxUl`-y -4+{ܽi5BHɡX[`F)ղ~p)O Ej,YQ7W[Qjղ5b&Q{0LB"i|$/ʾRs YcZl}UdI6' 9*<ث 0;+섫YjƤh 2<Tm8ōķNė|)x~_x"$MF*E'NSfHtcP5IFɵz |B8Z"h$/cD"D8}x_3Xܔ Jm_9|&R\5Ok ]=if/QtLl ՁgTH.M!-\TJIPR I&ckRAdX%wFxHp)X?;!|pkΠ81k&T J`Hp|wlx.dZ7>ϛF0"G 4WCEYY#)h.$@b:Qu%rۦ 7K-6IqJul\/J 4%E`3bl+(?H) g!ms8 'f \AZܴ$CJoIP_W3|\$1Y5sE~6 z~g0 (KD35;0~;A$Hpp~ѽTeNz^U<ɕtTxl˪Q4mRZkߖ2$Pcg6/5^6]6ѬɮsY,K2Zׅдz NCE 9CVܙ 1w%ҴWJ׬%P>K)Lܤ_HpZjLS+9Kk1 fw!vJcps(crh(!|$Mh؟r;ݍH.aRdTᴫĬFl 6GwC@)a?4%T%5F|Fs1zJ€k zXd3h4jT3bj^;PHhn}YyUߖL\Zż,A붂Y,ݪ•eW.'ӮJwvh"7;>HW $ynIYS¼鿯{[m:=2"p,Y;v> zK6l)!wĂr~6xp V1U4s~^ԒaR#4u%3RkUYiu{t^WKX~Oi6`v6"Hpk;7?iRxy3%%ߗ-8F؉XFlepn0\ C0OødV1&]w7jfn׋s m9#Êlf0N 긷eHK͎ow,ߊv!F}a2S}k#y"jl$dْsqx(qV2HUOh%u'*" 6gAg &EBc$ ML_="*ՉɢI7ߒڦ >8;I)6QJD UX;7S*6eXu,xA~ #P0_?G0}:Ϥ\He D\dGjW++{*|Ŵ >62Lz5MhRX P;w ٖ*xWw=ZktdAWƈg?TEOF8kH71w￀u9%'ӿ ƜٵJtzm8k@ }甎c,*80nNwPer%Fl :搯/4`sz8_y?G~{F|3oxq}9/\U ?J# | %EvۄGTȓ;"|@xSdPDqt80zC? XI^r彧PoiI.W2d1&ߪI-ugl1nG˲ u3~WMq?{N1O4ݵ cRl,ȋA_5B>%V1\M~ӵygXC.nT `ݥ a7\1kYL  (E-"ay*W6$V>1RHԡ*1Sbq?ڨ 'JŨ1E9`4ɏԜ$Щ#0\Vⓡ\aso=H*m $ˤA\ߌ3fa6r-NrPn;]{;9!n9CMB!7kЖV7f:T @ N60ozVgWI |5z=j ~2 ^f$/&&`/By,:&K -:}r%DB:~9nf+ t0x*݋[ z5Vgdn!ٟ-j;ML@8S^ۡI+ҭQ 6y뺭[Xz K ~uQbK!iݟ{Vʢ .s 3=ĵCH^yXMbJsj{Efh(H|89k(&sqf`ny2ƐFNffbN's Jtl'g{ k#9 -A6?S.>BMԳK:|k;CvrݭRT' ^@}uoP59<5kDD~'@/Md}HH+`E4F»lG?Cȷ!@g.Q_nVI2{-E=݁Kx,L9b㮫d1|xcgQA*zU:wQK/s@'0qo' ɟ)@E5>[Y*SILWQF{EԱ-؟#߇[D$uYb<ġp@3rEj$!E1w.U䋘UQ+sWN:@<jonЮ/4$HypYkf[ݶjR=硋ve*0IWW}lͬGk7w *?Q|d9>{|@\YtP%)V5ĕ|TLc 2G$kw!pӪ㓥Osehr#M; u3Ps orn-[ͯHqw q}=pD^6ari{#w|+P'$b7㋋J-zK7.s ʮ8.% ;kCc-+1zA\3qB.GЀ \%˘sJ+cKEJ1\Z/۰U])ft8k$X!kSr܁[.jЇEq\E@o}x`c,rɹ[)$m|ɦ$jA ) Ӄ O [#mn`3i,@.)M^R>.wcMŘ[]t*f*foGԴ*-|\Ew ïߦWPUb.|= ,*#Lꐏ4Z]U5=ӏ'Pڮj# ,L2y18k]Mh9 uF+ez&]u֤ >@;>4>se=g 2b3ozkPxjY ")JVldn3@" bRjg+"X74hA,Ѡ'vzR۴ESçiQ)iAƴ$Yu)C᥎u|ع@ڋƏ-^eVt_Q=yOJS_!0:;hnu.t\|Xr15giP=k}}TGݙӔn)eв{' Pg^]%F!GQ2ʟ( Ck?ܛoXˇ/? Z f_b7f@-rH q@5=)CU,NDov_`tؔe^`%M9Zr4D@g$ OSzr\:˕Vޡq2=],fjiQm:Qn!Krڠ~x$_ 􋮊;-=]]y4kծ:4X$W32i cw'2>lϠ|ݻ1Qv #aJ^rrR~ͫ66u 7|ӽx9MzeBNN H!̑2c#ZG{Xb8<J/>﷢M&372 J@Ztٟ;N}3k3h_jEiCb{=[\%Mÿ\q#Λ[t%GatRf_q"go=C/˅2xp'ͷp)\/?,86 Ɩc2w9 ن?vwn)*T$4?5zBq1 j}QwT3k _<aa7j&LQ<8Y)crK坞]. ;%%_== C^ead9=̶ `塃j-ǡŇUG.MhEq&v SJ;%G2 ?\qhTndw )GfONתIGS2L6T>Htt: ȴl mB@mRodR'b}F€"rI{C)XjfRѰénKd&AW<dUUϣ۔RP} t ׹b,N %9>xL D!\RZ&i)Ke۹4튝Y2.5c5@Oګ8, ?fN5iBl$5RUOo&HkPn>w1N$^jK7BO㙾h] W%]ŏbXX++%hCۨȍ::8Δ5̆l:F~e:CF%d^0m]5;{44eMf$x$ܖi>fM-Ͼ,wT7瘙؁B_ [ R#joyE4Pe a\QxaVY q+ր9 otɾz_; Jy h6fP A@~tN|6*^mS30GM߹;S +?rA|sU1|U6HF(`y 2 sыx)ݯRgBC֣~_[`mіkpEKI{%=tv[Z=]H !ӹiRckHg Y>dexi8l-S"_m#fpnSia f qɬ/kz0 ;Vo}s Ai*Xc 6$4cCQWQS:>Dv[]@뒿kVNua_tbK9ƪAWj[D nwR e3ck1c_8 'ѽ" %AB Sg]! `MrFW"2[20AޡQQL/ CvXyE\b6ҳ,}C\"i#J=p.1,UjJjk%4\qR D@GbxAtۨ'0N_U}%o4Bw%1ŝA$[g]jnWnEClXܪK[=daAC2,h&U tv_2½Jah:-` `'>W.]R: ;\lHtͰ&|3vh=׽ުohiĜW"Ɠ̹al$Mi<5!!Ƹ@ld錭E³+;G ,:~J- _To|ȫk8foc+E[WwN-IWB~gbp%x;+8$dD~^UI~f;` Y½I%ݺdn< jVSgKإG.T̶zsAgoZQqzAx.3 ¹ ժA[6~\Sʒ5teȌbIBkBcT`e r/ExxSžE0w ՜h"ޚx5hb>><}J:Sp-E,j3]"f$-v/:!v*1~PtEs?!FK| Y7%ԙ g^g͇0VpgfJg(oxjRI_èzED7|-)ܞPdoyYaaJPqVTm=-SG1!&iI~Riz_*XQ*KyTo8|Qb;z߁AGXJ rAGT&"sA+D0fIT#¢RMc]ixO_:t^OQQz.볮f<Q; GC^k1Tb65Zd|lDcW4Kmm)O mfᥢs`@YC31 ( t(~rZsԜ1O!<%%vآ\X qz[sRIrE>U}.\{؇ 2Ѐq zW[.3&mӎ$E,5U⊚Nidj. e?vM"$nZ {SPj@zdKJ:rDQ w-g2/)􂓂!;WR[;{j#e_c"ŅlYf-ZAY,)|sH\W B4jmeWbQiʫ¬#tЁ*%gpe.MH֒CjhY'i+EEȘu7ξǵRf\OU7{8+SXenn颉Ha:Ghy޽lEJ0Z˸sD5b[=ObTB D̥.}{b3`,Vc!PP=PQ"aihFr%_D.Wqb^?GK!]!i uGwWOCR$m EuKosLNE=4~Qէ Zָ:ܰc(ݳi{ub=AN_2ڝ`*ZEtzotK`= |\ c+ݴhhf2[ Nyb*\jiyir,h2RֿXA9$M !ܸt`Z̉!3:%Dq;n,q}~enozLI5XB퇰?d"(rҌۻt<]v jV*d9Od4TDo(ʭ LҖ,t4O_h%!!˹z:v ( O*-B*R/iWNp R@KeC z FFɨ9Okrn0!^0sG0͓j$ ?bOs'? P}Uqv-  P|iC Bā~;f:QZVVHG{+\+$3}'vE4rZ_[Xw?liwqL:K'=7Y<,&c%p?b|11Jv2w0 Aخxy(z3nc51.lqip DgDCghHY8s(O2/ЙAJGs?Q /6 &" &6!#!dT;L@׺oK2F@7B9p&\y+%lcvɥx\"bno`\#s{'G[ ~À'1l98#4grEGg wt+ N7CJ'ɋ`=`æͬQ5`&ѶY8qK/u0~]&EtȩN)d{{rx@ FI  R HKW)\LG}o~8ɠIfkH ,5Bbjt5'oS*X]`7)l<<+{ *q5yHll!/dHPP]bK9F"'wħBHDKN(G١ȃDaw'jA.úNp{i]WSEZX!14P$10a_8! 7򆿪MQX86) mvώpq/-{55"W> rw4rsM) R;C)g|.\1QnD⓺V(.*e˻Fi0?5+r&"B ^fұp2I y)\Izf`hixvE6H) Ij4 72W PBs &3{Z~n&eWE)~NZ-!8t6O98jgԔPH|,fZ&NF:&lNAr+\31YjY4V)a %$Z`*jl8!QCL4Eud@})ޢfDק%T!gB/DCO 6E0)PKM"c`'DžH-|p. E:`ރدޔ.6YbЍnmvos^ #Vuy VZas L7eεX I۩oX:N&@a.\#:4x^us2.Yy_jOcPQberQ`^4ʀjdHh֧R<Hcõǁ2{ʎpRTH iB ?>#tT^ Ui y̨umQk:Rh&jJm+Mҿy9 `))-Uּj #((á AnAǰDNK dpG!B`zڸ&Y}F/ 4N149J[ޝf2M~/YPm8A?Ogݜs@X!pfBIxse!-B$&{֚F@[0MĆkJ`KL>fH圍iX Kh sW !57m:eaHZZ+C=i:rā 隇j-ǺCfl?][(L|:#f$S  ]^Q芬ogc J#}QU^u ~Na]KY4ֽ;m|:$O5P\*}yh>*AX5hE@O𙤾4vV EqpL?uO죤ה Jc;]Z37z݆w@%)(*$JQa9?IU_η|ԡ-6/m2 ]}3ۖ9v; ۷ Ԟ\pK9Sn^G'|_7! F?E$Z,ol*>͆yKEi'KK[C7W+WN )u'ޙg)&qGݲeYe\Bэo V3%ȽO5EQ*E)@]Jj`o2]R{t, 9AJMZswfC(A[^~HǕ ET1? 4 6֢W<9C/*2tǩ+v0L L[*J);a[x/OAJt8 =U?E*ڔy< `z[/8.i@-^?=dxtGTSSQ:MqBclW=8}XI;b_bDb[>c }dةRe cCPtHHaژ0鑯. j~Dk(Wd:pr55"/yw#nj%N~ c`t5Ƨ>?B R/ybXCN~8(ڝկ Ó=6_2 F1ȑ>Kߓ[5(1b!,sj#e{SNodMsh0]7$! Dʢ*xF[sߛ\Ǥp6`,m+=cdoD7鷟4xt !>6O^4eDM46QZeMBW:T `U#la70Kbf}rԅH@rߘe"QI.kST r1=fIKOrۇ9yjAVj&{$mk@ B>?i _к;;sr gPD$5s?J>D2 'fMٚ@o3lMոCPsZgtif1ۏ}Aݶ/G9M' &~>O+'Hχ.F-^!ྛBҚ/(!_[]*ܗ҉b0fUƱAOAam.8C6g@-b6bX+[V̻ma9^RB!r.yҒc+Cc2/?KBМfN46R^Xn"=)J;ڜۣ8qӑ%rNu>[ ӎ4͗bZB|58 ԟEmkFsEUxt@`Xfp*9iC!l WK O%L2qMsg{\(M..<#ܺ-4k:t?erQXK>`zȡgqr=~ (GdVу^=.Z$mkTqFSVi[@b "!A*$1fo!>d]yQD_!T93&ػOưICZ鯣3ֆ'jJ䫗8?~C_OFLpѮ^{8IF|w)a]c-S 0jzg'L0X7bƋJ?MH![sl*'27t%HiGJVA>p %7Nl!eI|VL&u@ h蚻9N1=@97 W(D3CR6% ѝĞ tB=mvg*b9xep/O2Ī#?@:c~~l\V7Dc&6\SȨà;MZ=N7S0FL-e=x<&߸?HZۘ:1}Wru re%|HvCeMpkӀ8|/{M /%`AFvTY%[7J!<{HɛGY0@j%fwE:hfU;>a hjw}HwdZσ3f4˨C`<6k~U`CEA/cݼ͋cFCf|؟YrTGݨR|EKͧuSm4ꃻC~[ S @R 4 I4\1Kv$Wdxq^:4X 315ۂ\ L=u5bBdTub|ѪgÕ_yyPc513'p2\؍I ZKWl*f 4Vsw8,{o 5cx}fZ%8ٳYve~ڛNמ0`wIt즢E?X?H#;7-mB:tTg~Oʲ@(wK;#?eɴ{ ˚&u& 0}+ '>ոo^8j@o6LP 9}uYOQS%Iw#`wn+c#M6ܾO(a1ȆJ v%+}oVTlya0{miV"IYW(EGOC?$h6+?R6_⻓ d\+cگTY);yH/Yy=ǘ_{j!g> ۱(U4)>*;HDU^Lo 1--Re.8Zo'g0dWq]p^;G/Ɩ}=\x]y1 J[Y&4{񬑏7D4RΏpEy~8hIr9*>#Rju81lě JJol('!HL1<0z dz~bE`߹T&3 \Y.a "7 `=.t1|nsdB*iO`ӑ{"yc>De!f;t<e8q?+d'EoIm-21'%NIs?ujyDM;IР6 G)"R)C5ŬѸYh֕}ilNvCÃ҃E4 < F,9$j{eCkoj'Aׄ4NȹJ$nBdޔD ڿ4<@8I2]yXXcm?S;*@+/nDQ-E1ԙO$G;HKp:(LUu/E%0nPPei1H5峰[O<& 0|DeŰ.u/i6myY; gV zA3 ' p b$68F#! ԰.X%"vL߼dWSzuoSR}:\ Gt̳sȾS}J&Y $~UUZTڻỿ;ïwvW\ saI"9|OxTex 7ӕwhiϵ(lz@Q~iGT7EO͕_bۃ͡ tm^|9}CQBfbrmhDնKuDn 7*,Cآh#}b%mePn%sϧH\.GSO~c,v'g#UFJ srBҭ9c>Cg[Th;7gS_p3Rq[R{{琭xO%, VcM? Pc(0/tIovfQ )㫪X'P*s0xR)#lyj "P wt!~MoZ~( :U<ȃwm#<7x0b% Yi<2B`4IF,mZq njv_B ZVt_9~iR@@2%5jgZ#®_ݰwap}Q ^-l34wgphއ aʄ54Ku=O:1LkO}2&2͵I쵮]@Pcgz\[/Q<{@.Q@fZG!*}Q9*VUQnV-JA7 ayf+VAOC-I~KY3=mTPIQZT BI̊;2(-/#c E;q&W'U8Ʈ{&);XB븓 "S-^ʷ3ƚTɞa#?DNsϐ^[4L7+F~D2aP:v" !l 'Jʉ28Vmo)YoOa)e܋Wĩ, jQ8TZvrv<j GdΣ73șBai ֬Y?c FWa !I6cCЮv+}kUk |zORpvL`ZO3md2"Cl,KĦ, }grwci.d1&Lh.IvD&ݨS˝t3fبx( 5Fo@\W[-x!dw#OU[2}E`YiFX4f3(GP0w&OoZb,3{Hg~GtYXncDo_G{|) ?y#e5ױp}Ki,hmQ#ߴ4Mr"!HRhE+?a,p{.mzP"T 5_MV 2̜L4V(jeN+弆ZL c|-GB ΋;CNGĺ/#.*Ş_u3 . xsF%m- L\k] w84H9$/aevF~*2fsec|`-|i 7#T)I |'j<'\l 91 i @)9x:QCD'kRȒFn<ڴgp 31Pڶڹ RK@SItv;'yAH푿C)LaAUQ]TA a^4ʬ]{>6zxڝS H3 Z!0vf¯FCQ8מ3DI!b/VU,g47vAj}ܬ6 =t&w~rf7N&yE;">|vGy!v3Er:7a^NNAe$~"*n~J9ODFT$vV!*YT'ίCF gLn@GAX= {wx {+Iv%:_K+M,4bP\] 330Q8B3;go-X֡g->ȪbFiy5{'yU# y3]|&wSOtSYSJI~\dϼ8rӀT~a@E>u MW=[cB,{\`9 Q ;l\(55}_Āc }P*Ƹ$Z<?Uҝbn92諆 -JR 2]%Sv*D룑:>Dl%zK˔|[fk pu}D'_=Ҙ[t ԰@V%!Bڹv6 "ZΤp;y[Dѿ~  ,?1U1k?L `MܝD,yJH6U[ i^)}԰YedcCH}xI<'T4l@o&Jj(PrH[oG֊;x\Ŋe9_/2wi*_ c/L\l:GMջr㧫| ۢtF7^ii!]##D^ mZ#e<@hdYr08Ԛ™FaPGtyd!.#B{Y.wESöUQGS `(4yv1GZ 5c">/ss0!wv9PL^aF"fkRKFg-%Ck"I؈e+3EyG`Hw L5^x|Su_IC&PB/ԓ& .PW{ﯽ֚ %Bg [)$H^3,r.UzC*0"TԴ|InzT!sg8(KĄ@s1KDX?jUnܜF,Hq.Mϗ5؟ m(X׀@2fqAͭ(l_ 3xj+Fa_ b1W{FoeGlʍ4A>x8qک3]z .wZ)-M13ׇ>1j!655MRϠLqH!)8 r7֑% Q*{D[Xׇyw(}z^ȗNJIHeF&=x d-45P6f_2u4z̨/t$jXgr@!2K,tN_5uws=QTfgUcxncӫ49qmai>pi._^;TrlPaЗ:p^ C2y/ dn')W,ul]G>FkVއfobBO~`L{:fw 86K MFj5c(p!kJQ-x7gJqʢ7RjA8w~n>D140ќ_PV<"+u~ݎؔE+MC ީ?{SU_!bA @LR:K_۩5!05 )md3Kְ^<%x,5J (K,C)ngfeH’yn|= 1Q"ϊ#ՅcA]OGBZZn N]#8f'2nIgb[? fxMݯM2X; dž[;@No_p#i&q04[|H\: C{H}yq7@E{tX>n:Ę,6FC:|q슪cCoD' Cww/ӂ܌ _rDc̚ s\k5/0 K0czճ4MA̚* BbjB*îJ?$,_S@|>2 L?[yQ|?NIhuu}WXĂ0tU+xc:/Lgo؍e5U>N;L7)>7WŶo>4(kcR,7a#-)B?RTj6P?; i?u-4ԐK h9we I9QTAba׾t">ZzdP5[1k==ǿ:])k9D ; 7=^d=L*"'=y5)_)#ÎW>peSp>94g|Q5ҕ^R}r M/\uoXe&hƕ8 v{ Ã֩9f ^ȳS Q޽jj<TbФ7Nl= XiC^DD S-ȰOIu壁~$D9C}sHe)7Jڦ5ŦbdJ6ɞh٦a<{y j웗/y5`=Rpks.?1Vod |H[ &si#݅&1F oTطmW$eyBH_6Շcak9X{8w1ޜJw>We_A06@Pgluʖ@yރB(D~jM=YKL1Ψ<0& Gq}|hOMRzr6BcDI |6nP2)%ju4\eC֤ßiikޘ*hr< ND+wު B^FzLˁRrmҪ#HxD(n%6*4n| ݛbF QrQ{.3}K(3"B?+K7 3b6^vmFMbjğ INZpwz-(ݖr]wOq>y6Q³a?(ë}"6M:Qa'v߿}U RDnH0c˟:/Nϝm΋a hM|Ek+'(M@<&Ď_= @p 0)Ŵޏ?T^9j&6^J h[ z*=by .%X&1?4*kf[Ruq:@i-&̮"Jp2{l%rPGmF7l 1G9چncB8&q6}A,op[6q7/g+9on IC2-7e$ChX f~&]Yqm=byMȏ֍I0(":|χ] D:Xg ÖWךwl: |5.<~=..yF妹ȕbmkU5\ʑ$)"D#MssF29>4:hY6a'S({z~a&>ٜwȹI3@ym >CpSަKMYhfOgu{#GCqZ`/=pUdu<鳉z,:]u![%hTg~3.WsZхCU^Dt6N' ħr)xN3lW`ANR{.2L.*>WI ( PChGg:yy.^ԭ'6J~U mKVr &C_ /)pkkc&LV*5=@jsEM] kU} 3\ XiɄ")c i52|a|f-\6G5|X-F޴y,^=O#]A=gȩUUSoO΄\A`HӺқ_fSۓe10j\U#ep~(6`5.xٍPR-7|GŪbacԙ/t8N[6[ʼ nh u> 4R #Y*obq]}"ݞȲ^%r W%~Ŷ(QnT-$,_ʟE!zҤf 1#L:% @ P 7LCSlV]Arx^6e""Z"p|2<_>4|6eXg_e8>Рa!#QRFt%쑥L?ɝ@´xUCܯ a;*^k87/Qa W-[V>ݧ,01sS]%!UMU`*/cuxGͰ5-jX-$kp-Fq;# ӝ1'pSN.F~yhZNk ?BB~Lh%][^ShI C3ۘ3f Ks̯޸_ _7zp` dATbI~~z$9)~$ tUo+.ecIÐyBA~pO)]TMCQދ6c&0|vvX%sqQ)Uȴ'-,O'-U NDue(vQF8{@k9I0^%65\F][ :'&lʋBgS.= yWWZ ޅzM޵6ٸ$vT&~tAcMxهuצ:`fXf>1~q3ZjFb2L9|Sȡăߌ91b^[F<k䦤]NOC`*+I)/I$f-g,7؊/`:~YsDް VAmq9.ј:`d6H@f?O7.?IN?8)gnMp>tv ۏ3 .jTufDZ*Cy-ޏU?uWS-9:kJoAϝJ eMH{fh<ْߘni<'iaP#k`'^jB:mӎj[jA(U#E+!{i4HǓR ˖J:yqT:5x3[KsF8uBQPs‡tܡK- V,s>=;7uϼkZtlO2sjcE?ّY@-]^JY; KSV<Ӟhb:Vlqxaw'h@ = uF!5{e! u%=_)SMuk'ܥ./P0&gɾn\GT* y px^ެ0i״RhЖT FKaЮ }?A4bdHd^\iB&;/nmGR`p݂$yQ:}A,$+.X_+HOp]Ⱦ[22ĈMEQРSmOD:V?4X"\tmE }aM@G9,)&+,b2><^ԌCު@Ih'0ګ*2"˷MMv{  ^@9})f^ZN^ſDb7۱S_ h-B0DYE8aܣ$v}kM0pVvC6dK:K hʀV|SNtuJ&*ؕZtlz%=mT=:iW3.5=? 0'U6U4!܆!\,Qeh?r5 #Z~9obx;+Eûqw,Yz=;"Й9aVeÚ֋pe߭X72~r*11}/۳ΏoOx>5оo-F,[uEF|'|,V2|raݮ]ʢ|bdoF9+tDbM)* 1K'Ch@q )]hR'3^YT;8M#}JrU[0NJ-ȊYsBi)JPDg7ݎ(Pف=]prٸqb"CPBQrB00ݝ}S*C|2,irޘ(_(챃~F1#3g(2KȜ px/^diO%e:Id$SAٵ_F0i"쨽 bjیeJ"}c3\lYʭ2 5 +:[:d\:@9@u,lb>jC=R:݀7;+F⮙Q$zd>` u\R3Dn74Z+_`,a:zA?h$R hÈn`uku8TO$tj4KlB%XFTזz~]G Y1jdm?1)苼: 6)+rC$* Ivp618Y0qHxz%̙TiidޫBr c,2d\v)t[f,Z)7Ը0yC_QvD(CtUF7q_:zxNIjog!9(- z-&j'cF9e `]l6'n/◑nuE]*P q?!{L&WUAtIh{x}[ğpUDU90k]҄Q̺厃 ΣnW AdúhtA577Z e/%|υg@ǒ!~I8T؈U'%-3VKfeop(wzY龋mhcXЛK*SM^g[jVKK!f QQ<{juaqf݀˃6? P<ʙ]l;PՃ` sS gϳsCSϿZO Ri3B@2>(%_ Y"DXۥ&޿3a`q4B , 7L@a}XLuC'4l8݋vR3mxH׿z6 v·bC0E&Oix{EdF. {@ Ʋlhl5vs.Q;;}%^Z݉b aQǃ1R]MO *ϵj݈%gl{wkYmLbqSO@}, GbFu+_6SɸJ"14k\)n:lV+pR:]1†D`5,k6}FyNNAL/C| s AwWmWq$R&X ,<~?|&TR::i4ȿ;rB#&E*=0L2^ԇTe% [/5l2H'iLUEK4oj]E3u!]gy k^rp37}̀P!.}>$%D߬|1Z#u "xUΰ # MS[;6z'A,6y-ΰl g$#"cd(.}48Cib2""pA=ցm.̮_;}%lc\#JEX놲7PD|CฤbYbҐ>(Tpܮ-˾Gew}_vx +c.9A/|0y>0Mir YѹyX_jP'T9$,+N ssqTD7SN v;$B<g4Kx컁H8y8-9 3C3S`+9aFѬ}bD眹cLH^sƞtV켇k8FxΗDifb%e^d}i&1YX|?X^Màބhà Лh<̷ eM=:U 8}>7{g.6*swp4 G'=y.g^6چlzMG\}$m(S:Ix|4#zw 6DQz%>* ʫ96`9-dirO\.}Çw!oO6COWD514px2zX8-5WLeN\(SB׮c Q  vWB}9V=:?)I=@VJLbڊtd '4\&Q{ɂ\@dE\,")6 ,[cu/U$nǐg"fe3<.m>FC*a7H:EÌ+ge`>~'N#ih \Cm|^NGl1E_ݐLVZ#9 T;6P/Arcn#{t@ D\f?X֚>~$DղCC%Wt6s>a,<*}3H9wOB#ˈBϡ2dȨ?9oI 2:?c/m a= uWb(~ 9ƊPVؠFOG`Q'Jz,OrqA̍8cLKZ4Yֽ‘ު6iϕ4#E=Fw 2]\#6a ڱ)Ry!ty Ҍ!װEəl-uuO ֙XGp_ֆ]mZKB}3,i9C q#Np~[("}ǃ<^$AT4i;'҉˧}ުzhhÎi $x@&(ܷn/7n6kp t@fzPU+<ʹ@?jpSuNNHn.'JQ**gZSB'~6ۜ {ϠN'k Fxr z̿sR֝c(pETzlVO8Sغ&.#7R-0(VmMč}1Mb+y]:*Dƿj5p4XуRqHFGZi7mn ^ d&" VrmFQl4TLW1YmHrNX01W6hUR9Yq&[‹t;:-Wx-aSt2U I]J:vXM+iA0 !3xStT8n<=[ S1i"^)5dO7ʳ-?Hj3 XqEF# $2=F-z>} @|턺纲ݍժ9q铣m?'=i:Hr`+o'L c"@(H5w1CkX0RژAXfk|O6]?|3kyG/97gcǙ" ]yvoI3-+:V01f|Ղv 3 4ME{a"rRXP_Z!SsDԸ0>6m}PuxX/mDCs-2_h#hý`s+J,z{`XoKB9}'`ڽ9 kFtrĘzteLx|!yX)H}̻_| IQt(oD&Z;%Ϧ2zj4ԴP{r\aK. 9MLky0E$b%I.OX @EO K%XdCQU Sm@W!UfQMNE۬ 84/*OJ+(9tܓfpktɫ~A܀݁EF)Q 6G?)V A[o@#i4$N΄.qZ5o{o3#% lۮoٚ~SZQ8x]{n .2>G6葽IZe^ VcGXH4gJFh\N=JR_"ۥ^O[EњK[6k[6H%l羁"ӱA*%u)4A. nʾk%bf#:}HpX)ؓ aeJL^?K01e\}YLT$/7šXҬZilPlO+2k=fx=g9rBa]4i|<_y_ҒgFv@0̪tCyp#QڌT"/PrߩrXaq_݂+Y:.#5'0v2ZP!@>n{J5{A'k8 Db-&CLA,Υ+bCg7Ɇ&BzG *)ǒw\ld:=phJ}ENό9=椯AQ{Bjp5oô뜹`SXO<v◰ހc"~ll;D3zqdĖJДVs,wJ7Ո[=c^+UkQ&LbWfZzg @eJ`R*~n2%n z8??`Bt֫fVGG@Ʒ=IX1 YXcsZRrˬ#D=ͧ8|^t=\zmm_*^FPvzչ 2TRqX>7^0g>2{GW8%(9;̰C\W6x'j%-p"\/mmΞOlY{0d؎\VަaX/j/֧XɘALw;!x]V!z0ڿR,Ҍaorl5=-[lcD#0/)mS'7ܮ.fӌѹ&O䶙' H|&몠OJGE_V|M6[[Dƀg} f?fxܢkfwothFM*:U%dv%we?0]r}R{ɶUpW[:%:. tu]j*\` 0@BHr{|8B=Dxcf8r2Mŕb$)2/l?YDq 3,ycw52d&H/T@M6&awŧWX/Nҝ 4Zm湂ݹ4iw#,7;:ǔQoOGvWLX ܚ:x61PƟmKeB6%jлɰ+sV u Kk M$&8@CbÏ` i SrgEjF6K,{u_{t ƌ[vhXkŀ~QS[tKĸR䟘GsX_tpo*6A Qc{s5Ls!,ʝ̚Vƚx6%"2[jvX Qo#NhXW:5oÕZP# K j' ->$3:w49`8vS*DðL"&?. P';c p߶1 _i#Q`6~㰇d=҆kLC~L4z1bSOz= `?>g̡TI35AUEw`)9Q(+o t K'ʭX[4'^Vd|MgW⩧%,Il0ש,) 56YHL0|QGFjI_։=o#C V?xQ12v)3}F]&6C~ j %mCݾ49$ބY*.MD x0~hnM<ͽe[j:63lua:[K/\'#x39Pu.r&I|CrI-FW1V}rQMŵ1J Pl_)zf!^p59*|& m V;ўib{ |"\3{hC[溗4mpl{y*bzp}e]g?Op MP IVO⭙tJ,Z;uQ˹H^ڎؠlw<0F7XUd7SI[죲pb;Jd-{wYs?J=* t 2Z?&m*0TP=c:8h44dGbL/ )+J$GC5EF#M܁¾-*= E=IE>mB\=Rp`+h ,E488x[8>%Gw$CIn 2d}ͩ߹WIXNU`{3퇈_5;P8q-S*]X Ct@Eٺ[ FŶ(f!T.)`(G]U8$78H"yhW*m@-~{"CO4{HK=v~o6(#QsIuLZm5V`3y ~IiZmOl͓HW [kOz.n:OcS "?xF߀$d ZƋe.< UMe&&(d4t8(K>K<|f-٪ $-28*.Z_;ibuS~lOM0nBgGeTU d4kk/sn٢:b0MF 6\޿'H2G+R& 4m/?SvX7 WQ6O-u܌Q"dz惴މXEsY!`?׋C޴]͕E5H2 Vn}- JN^TZ!Bɒ-?b4!x@`ql lc kTM T/*n7H.CR#^*klৢXU=#[ByDpUL; !>.q6KlorOFGvCi2~-Q*@đ"P[ԯ5dQ508'ޡtFǺOSc@5fw L \~Rwl% =tԫd;l{8N=L& eas L A~PyP\~jQ<\1pzQُؑC cEQuM}{Wd耚 FӾ+:EA ɀkb14z+JY9x둦mB?5H|eIf)!@:z3!|Tn H/̘$V}3>9r*!f)z|n^隢U3z[ϸuңUZ%ɯC>1A9:1eڕ>zgc,F87_`zxDCW.#w˼GB σ.[zh񰐮S]yPH@wㅏbg,ShfPQ.gjA\%pZVIc}f*CPذ 3)n[tM/h`Zr^BíF삼>'LFĦbܺYdrovJ1ϴk'V*l SўW qE7 8^et]6RBA`hLӄۥ2spkVҸ6_wEX t_Yx 3" ouxn(t: Z 'n~kXZr(FљBӎ[k˕N#kÛw,111CԱ2s{$ዮza;*(?@#/=L3XhFcgt1|@mlۺVbfOc,p㲄QT@ʶ&Q2<7StY tZ KT8vGҜE+Eau/c0-20EjXE?S_ܬ#<:'k.yBnFhfM2c½mܢWת_g!9SuO"\ k5QUi(D0A[@ 47ٺܛ :^5[SewƓ1S v)Qz;Y"+d!$\tq}axe_T;&)ܐXEwBYyD],2&s~AWt. p\E|rUtLk/G~Cp+\ a/xƶ3byPT#q$nSgcJe7Ϡ7~B|Gg n _HOE2@6@ԀidLÿZNTPiۚiu<⚡mLauD> hOM q0[(<Ξy|'~A)#1 fz7pT8Y]Aㅟ'ǔ(Bo;lۦC\0*wO3D9_4(Jm=#t9;@ZJ7 ^Uę*;K/:Pm& s4&ݏ''6Ɵs#QP4m좖Rk N+Bi/=SDz?ƗJ|vۮ%T 6}qM݄o1ρR:>jÍF s哆r@'3K}W;MiE"54 S8Rx䏗]ԒU}G_?rQ<2s5x|ub>>'=N5X(r~1U흜l޳*^&Mn0rC?xWϠIڐZ WI캋QFVN3/2:˜z/A0% 6Q}{ }A+&"⿑*k'h D3i_O#lX?v3 tNbI]{g hmlͱW$r_aYJpJWG_~FW^΀M ~G4 P]CO9DߗM Wgx"ob4 o6꼑G<6vƂ($=[W(R'nyLJ^@ {H0j8v@ 1OJL~>"b 9U`gFF?a^&kJ$/\ECKh/Qf "TƖ~pOB,/.$N=͜WS>Mwb{őw#֍zʄ@I(($n=zl+PL@W_v9q<4}->~K%,18bOb>4*gic׿}H:S;/G=\ɉWMY1̍<*K&Y{.-2IłWv:al_‚柇Y=%> V 3w( =RkPX:0 _}J|ݭ/UBÒl )>fw]"Jߝ晞4IeN.d A&YuGMc:I{i3|GFAe $6H8Xha6w~|XYlq\̥NYxžeAN,ӣ$4ַS<>H -c}9]Jn+LhyKUl-b3+ Q4R:d![XUh)"q 5F)Ԍ?' H˓rtV s9]ZVx1a9p]q-S0Yx rX]͠u\;`gH[p=e,>hDA!1A`|o|s(H mɫT~eB}yh-faԉdŞzޠuVNI]JQ?&̓Z竄/`P*d#͆hᦐh!Y"[A1n 5(VzޚuNt ܃o]9A9urg6!U+΄?Vo8pAvSYO)tN9/OZK^9/xТ{-c/ndKh*C6DNC cm jBc2p"6^&Xz"7(*ٶ;:mM~<_2T qӣ|-ǔ? #;rG#'D4_McjױTwPO|O,g "ҧ pA@Y @1XB(փYI˟ڄs;h`ٶ=iac\6`t4YT}s75b+yy,xș:>7=`s#kaY$xk8Ñ{WH Z o;iޅ67-sp8q7l,GNv!z/B,9dۘ4bSc[hF^1+WÌ[.[@s1i~{+fփZ"v<ȣn*#:[[GQ c&Co)4‘ * 'QVH0RrC!OFtq74%|x -oulޝr M@~l=E{X ԄfDH\B鐾C>Sz;YӒ)?}lvᬯ_ uZGS6uh( sl¶u6Bmͤ!Xkp-6\D >ztqYqs90.\)q{ XaV ̭-LTY/:]S^5ժesz!,bod?;7yx9 77ߋb0+8?dt]X'vcLN3cf5r xa}T[9]'.cl$!3mmXs,&8W t``4*OzR="RڈC2__j=^y,șt`UCp8ߡ@gu &#\>pKف%%D+93g?~v Lq^W# .B<T-k_ݧFU~*gFBkzOc5n,\K@a Í׶bk/#D9#3ZI4 hH㛕|xT3 /'SOI_j7JDJ<{l 颈?J]D󲬐##h2;slRv-tŕSIs\Xb[Y0ꮞ! [/:Y %J2s'i%fgX-]ŻVAvPvI^a@QAp";,@;7 Fq?ՃhH=\{$Mˑ5Hpۣd%L"C!& +OȨ n !T zm PW(GΚqqM&dq;V..AJ[4݄0&-[UqВwT/`>5gΨ/xi4a."]ܸS.D|–$t6&l,$2r5LRo[DR%1&G U,F+?>h#T /{w(V틲Ь4SR/g5}6~֞70Hs4NulyJ;BfDT= ]Bmύõ"]`3>kҪ{p:t؞'ןuPt3S2;+wcڐGX{i4Յڽq'Sb{8;}+˰tP-+͸:ðUр"t Ͱh ۷ZԀ:Ɲ_IK;x-Y=% [?/p|ӻAi΄Cy ]81Ag a.5Z.MI@`Y̴,aU6z5AE*fWZb!MKuGBБ# ;PEP_&<6N2 =13d2(s-!j5B~bJ '"XJ&]7w3HG0Tv~:++Xl{ZgҜ . ԅq3HLnf͎?2j' X^-vAA:\ϕx9q6 #m>6뇃H4Kq_ɹy𐕁(˨neP{e+ Qlڱ&ԕbw({?jO &TDPm2lGf3STu (OR5N)cP jȵOA_b"+jFyiz,yt`+TR ³e_x ƫOCa)6gFE!-ߥDsϧ|gq; E6 ^0R λcϙm?wdHHpy"4i0yjf*ﯳճ-*:Ob=&sf9Rb:z+4/\MΜz-zмa!Mtb 4[:l#NJXƚʸ/"CJ\ǀd,Qz kA0|g %K؍=!2~Iva\7 +]hOL gb ;si =>i^HrO-35-w Sl?)u {+1SpZ#Peض;1XGú @^[^"p J-VgM6.P wܠ?PjKD?ۥQm}Acnj(`G.%6 1FV\[W>p00<|t897TUä$b99vK~) =7;ZJ=F;W{(uT,+rcr H?zV-? 1-'=i_g.ZۥJQA=e6<5?Z΄E;(Ff,nۅC5D*$]-L._Q{_{ MM.2~YA}6Uu?S{)Xq9ݎxR^1k3{uG?g~ :Ș%/~'AuL47~f%>>^J4#;@:4cT(ck(d|I5{'~7'j$Wbcf5hSd:z1)9 K'xf7$I *7}Ph:pf2dVԬ nr :@{i0ZZKpj8a\QXBw+Ceg!A`:7u| sY&1F}W]([! >1EiS0ׅI'tˇ;=&w**ay~+zXބ~0ӃLH:XDxSzv }ȓGl7]7{xLW8~& .gb\FQAE$3%ubD(3h;IkTiZ-E[UE.nI!"qߓAI{33о>>9k37vy:e7w9|cj]mLWvM̭??h;'?FRL *5p榚I喝slq_ZVߜ~_޻&+%[Zuk5=㸟 Mώ:CŹnҲDNm.c_XX;QEӳyC=xyKG9=M ?XG~~|髎/9kD&p?9cz9is`:lXlRĜhƀQ[ZAyӘU[m8cWYRig'_nvzM|SeҦ k{l`\=7}闇ܫzogQk~췢raM[z($Z8{F8I ':5q`DϵC,Mvfya_M s^wCp~ST~u}΂oB{~B3Roݦnzsv=w<%P5c / /c\|R±_J>緫ByNyt Usĺ ZqlKm/|0Փ;ƈ=_\;mS̫>#B|X6jgwzChk~s3\}`͖v=:jVyBsT=A~ekAO\F#{eKՅ蚌3~愥B-Sګ),Jbt7 [мC|_Cө<ꜤE"ۮGVi ;w{^s#]7VҘWlӱ7NЄ־X:9⫨ 4 j>IѝG:[_^)orCoLZ,˖Ъ|j;=}Ó6vn:VVwK}K?t f&lx3[7sAOj27&Eg|.~Ǝ6E' }kսOoMt̓v~vjUZ{d48{mm{FD|ŪoiZ.y|1&Q֗^>ㆎǩ>w՚-z3\+X3:Ymy[67=5eѽ/[.bOޡ{.Y|dRKWthȱ~=qf"`G۫f_>c9YçVdrQŠވ1aO.eNB^_R.Tm&}y_ޤofy3֎7Gof^1PHMnq_*&,ymNDpegQ?9ٷ=oܶu7.^抍wdggnPWμ|v7wa7!}W,:wb%Ic<}ξ ꥾(+;2{jfi-h>[Ojr@wnBO=7={uS;O}]p^zu_쨞]..3h=e_\>>7e7-[aa?6<{|/zV⺃{3?F>~pAojrg]6i¡Gwo‚-yϹP'߷e~~>,扝>1nuk1$mc]v[G z3ʂÿ:[O74Y&ǒw;kା̞u#=;kC/.};iwPW鳷}madNw,j$qB3#n. ^t݇VcCN\6!ܧú=߳cΙYEI7҇tmy*9y[x2yu?l,gw._ķ +[;~k3) )#:lfYKw:0xā} W _*j!c5#K%?czjGW\,Z,()gwu?#Y/^_3ZmlRӽךNH?Np:n{wUɹ/iVZ~>AY)߷iq?=Iw֌=?y;Ft,\NC'm<6*eW_TOb0Oݰ 2eէc=O|i&}i7qI'_˟86î~8=qCo?6T>8k3&F7#S1 un ycɯ}+%_ bY;fK6<-;er/o}j./qWCڪ]y=hwO*OʟׯSw|X'zE@O0 nQk5(Ho?MJ}ruJފW%3ԇ@>яBcv^4e5/EڍAyƠBfsS LcF+a1<aوl6و\4xռhmVYv60#ǘyh0O&1ajx T)g 5y֐ͳ\#k8dz8+ ZEz!봆Ō֎xxP?ۋWvfꮏlݟjQx+הMXD˧H?5%A_4(22` 1Joٍ,.Ϩ+ĄS> \#خa.cYl 0gwJ)UTi<s(^*< AaNDe xSP)kb^@)\ .Ϩ(190tFuu`FqlF6xM;& 4Y<4y<\6D|8 xx%/ J^0m2];Ŵ} w^Z w! /yrgpA\az1R*۱x6rcikR?'&xɗ #YY$" ;yo6qNy佌g7+;ϒ,Vx=\tv٧MXXzR׽Yj姓g;60JzL^^JrYj -Gs&V[/ԇ5>GtCzԾ7*ҌAN^kםPwVplI#yF7ĝkpԎ%wTrgC;rϓ}slmEW;\_|*H܍_=3 .Ň(%a7M?Ix/,E!F7JH$y?U^kF]OtQ*GƨpM1.$V^`!)#oNmW{#}oã66/A$FuY2ģQT\Oq^'pD$iQ'OA[F1'>#l8gk:q4x3܇#O@54mMUIѴÕvlA´ۉdUf,pk*2q͢RWS }is2S`{ qki@(z1@8^aR塾0փ߉]zY}kBˤLc1ߙLL&k28͓Cr/)}^1><<l3X*ו!&j~zM|D1ټu on - :ls!0’h^2 `[ G7HO pdЪ˷qH cya`lc5&.9jEŴMT+i1ټk`lY G'jIuv[,`1.o VqAJE5ᖑ5T{8JX"kƑ+Ʀ`rr njM px^Q84qPk7Dk)@_pIjN6Bs-#x- eT .X P̠ MM#A7тjZHFIHKhFxsX5Rb+AYZ"2QĸRbX]aI/+Y%`B@pGQ W0Vob&hdJN>|I~6myp]M߼LEW!L})ꦂ73< e$J?zxW&T0A9.m0ܯ ! P?Ɨcwξu]00sOpxCbyL "ya.Ѽ9:L ^r)\ :iONN:_[u: ŸZF0誋(Hf$ ya1}&A[E%ԛ$ D0G0 $PAJVP q.% ei8z(^7'MӌMX)l6ad$);ؽRJb4︃>,4m$4 ԢU$]/[:`:F,Oüt'm±M6a Ne m#l~m,fYǸ,Id6ޘ8icb-micTdle1띒@1@1e`O68md#ʀ0+{z WO/VJ4xIJq6|HR_ ǃ#+EI?iL".v$K2 DIka>Դgt'3LlJ&6#2`b &6ĺrL댉O3GLlq 7[|Ɵ#3.ZdFu~MW7o ]&XS/̈́ E틖(Yo8v?}H!Ǘ'Brs3iLgtLxLa\#eg:6@XyJ젎8$8?E ku4RGaMbcaBej v*w .7!3\`c3 3U}c3f? 3ƨ+Uuy #;4PB!ggɇ(t"%u,ᷯ_B52\p`skvPC s|PGH!?/B;BArl.WII"F6TI{+).":_Iɪy4E4QyRʨK)뻼} ;RŨK)duj).󼵔k).?21=_K1k=TL{N1PLi >TH(\ ).; RTXu)4PHYLg=:@!4=RxB*5XE|*ʔTQ=R@%T"U $~UQr_Ep%(b<~}]}!Jq.؇ `9 *,$6aVerCҥ ˺̠$Jo s S>\LTڄEZ5Z# =_d:Vpw-q& [2X+\ DoE Sё4Stv '(E x~d T)'Q*s@ӜZH5n94]4XӔcSGKhn[Vv vI"xvRC8~Ewnb} zPv׊8 EWIݺKWXm$ev  jEaI3þn 5Q#r X~*(%v "#ء~D$Ӭ AC^;:`lPv>|vA( EoU\ҕ۠U oE,q#U46jQ^((TđV38>.XINEЌMjv㔆@k[V*Ҏ}FT0 {^R ,,zk {,ZtuOiբs(FaV[~-0x:NvX j.HJ|q[84NJt}N`*?A%bQ]}SŠJ:7∬{Yr܎arԶɏFXØ^ a9hjKP#J*&aa뉮kiTETWh$P%aK󰜳fv;`55Q6!>_1Jb=TWO#G~ňj_1`P97 N6P6 xȨ}*'UٜmH;<as۱@8-I?Vkφ+~=q竸#1 ^Q 8W+>l6nn @[\Xڜ䅇Q 'h2 ڎؐ ~Uuuvc%@M2]ڎ2 |]R\s1R Fic]LcNUL"?plX>-AvsHK:M:cqZk7m *ylڷUL2rF3hu5YgtnMαMj4Q:7؁{Bx7Y0NyĄٯovi,E`3jj;NK-oxQDJ6PAgwO.yk -0θ&+$_z7h{l{؇MIL0EЉawR~I_1 R5~@s# ci76@YEbu^gɅ)xX^ (N670[$쏪 _)KU dys\+j p,҆Jh{%]R3Ѷ $#؄Dt=QKL-.C>Lm;H7tXpSsu4˩=F$t+g}QH(>OfaH}!(byt(M$5RgζaI`1~ԇ&4AA<?Vz.ۇHúfD>;FH$r/53|I*`m 1̃gx{3߱-hVE*2kJI=ژ$`ǂTW z!xܦ|=J "/"0ɶ4fu5xHfץQ9 kRY>⨿7V+6R>fgI)q((I>)$T1$2VjIAR g `Ǽ^X B?k/ay$d .a=n5:MS#sgD 4ҕ:1te x6Z0 l]R1-[L4SY45IZ'hh%@,=t[ʥ%Q4jRSt5S 7YPhB5sI$!n Z.`ސ;yyJ3fTjC-˯ӽ5kVP084hQSI6\C*<4 P0T@H( w C FA$WfHI:C]m8‘t  U[:a<>`p' įTʐ]7aasdHwZEƋ`N4^= d+ҡ<'͝<Ġ~ ƹCA_Ȧr0 ё21-:c|5VWK)M](m(pS9q4vP/d9 Zc[@@²Z1BbNTxY FM/KQ ^ *eKT Z+2r(XcWEQH۶HHG %-DQT~ EJIDFݠ3-Ąr3pʅeω D/陵x6ԺH&^? -jAIg@FT nɽ,JJxFQ2YOjgrT@'^l!"> ])bln;RX ʧ lPIJpXc6&ڱ"BGT5rD-͜LrIdO>1KټJ,-dMxҟhTwY;}'bu6zz$bq x\4Nh S>T1t~ c]8՟0F1$cDT)ݠTN"=P9cȜ~Z:Tb|ɏfZ97v>%=2Hh,tf0r{,Oۍv3/b=V.6‹ȃ|?Y([t-'.(WŰH!Vbj%6Q0L(+Ij' :bӃ"&tӛ&t.KkUaX.&fY@~ܼGjH0A,*ѭgק#{%5Ct0dy6! |>EYE*&#AT j,AU4g\? O%Y-EܢsGtRgwOD <b̮ o'Pun6<@7isb4pntiXR0pPԏiTn%U1eX|y47]MAHC&⦻*h!i%ԕ&2T:}4k^7^s~λ윭u?4gבRqhy>mnֻ )'ϨdaEr>JO&ꄛQD;Lnr(꓉WC0<$fYz.g82="zp0Сi/N\V@^|֒jkU9K`^/P1=)L{A)LUŏaܷ,Jljn]m`--=`NNqhalyyXiX;$FJo!Fj`?XrYԨ}РnQs|8KJf3;EMH]"-vLhoqpi>z#౩1#_¼pnNz/1@gw=K,*m5G5Xj)f {s:6>&Ԉ;502X 8g|e 5Va*^Wj6~K"X>f=AWn#oaWojO7q~XhyJb>KiD]fN =ybidLZUܤs[  9U Ӏ'aFV֒,)O8 ZHAYOghp駮$ ДuvvFͦ45yx1zKIbӊQ$%xaci15%Ht[MoZt*++:8S7 ؄OXl+Juv#YM.T-ste.S̘xN.TL=iO2,$z+O\ g!U=spۓϮGvC9RMtAۜ* %pb6a>ÝE}[`6@3t7}.\ 19)E_ EQ'TLr#jrU |__sa\XAbtw5^@9ޓ,yΛ'k;л? bb99Mx;.HU%mKCS|tx+X&I 7lDk΃|&H9'Fr? z_t +Q.(]N+!=$U~ԕ܁|A qV^;4=PC1?@-}[X|4M% F7E7RsG 9xH5h3$鋞N$L:*%]g[)gW-%Z66& t`5Q8#1j}Q6(, }Q)Hr-ɓ g1ˣhSlƜsلSDɲ-M6ǹrq^,'8j݃m(&^`6I{j: HCdOQ&V#(<9V]~;Й'n1ȕ(g tg#]R6ZN:}s@%&1BEr)TLr_t%e 㤪HR"5hVK+2TJlLR,IV#O10tzv}z FRŠ -vczk, Woj들w-]RlK[`M'ֳZ0GШjWVsp5=L0ށ,ٻN>unLo֎ᅝn2r h D>%|Df9)1oH^э7=`jPk8r}_Chݛ@SE`<L$5Q+Oƺ8a@$h0Oʜ%5%e~֊4z18/]/稀K#]!dsT' fETBx}?˓ߨ!P¡7/ 1\St+DO6/XVB^#j)IH] ǯίj0:-qh,X"#jQ HBb -ޣEcaRX/XVo<)u +l,)z 6/Hc4}/m)ZǒM X2nZUݢec0;a0?nIF czK>[<6tJynuaX)Qm` | 61H O}Qÿn}.2{.#pKL֐{4WT~/rbݞ@ƃt"z뾛u3\$U2<參N"~?P 4$;t5I z]EhK;bA)_E]VAOA.PK |t'=ڏ 5o!?5xcQḦa&0z_4#Gٞ _KfQ-{׿s'|;sH"m 9Cyj @MaGV4Kh례X6&4v# :lD/g3lND=<= ]+g:Qx\;z4 :W_+mEC>v.c1,^ $$<߻D|79!ƻ-'._~(64۩q(7?z VꎯRSbF:ǥrMp$ Z8a9MW^=Z>oMQUh:g{@JS OO5 zw{XzFA#xϪg(ҳXy;fj '1i4{* }HtKRӃt/h%߅Qx ~nm"P=%I'SN9mwq%u3kGp~)dN!R_0w! Z/wwtQ wjh',QJ+Qĸ5t~Zwg;bi`H 廵"Fi5PDQ)~X`s5S}/$([Q-3$ȥԽJhs[ C}͜ItX !N^!( Qs;k?Iy I>-PRj#o^C?,?(%ew7T v6e??CwuN$,ҕ0/ZK~o[|~yZzd LC+ )B톽*&yS#z6*j8H ǂQT9!tܢB1y :+f a'.|+흫:=+Ik!7L0 28g]p(%KO_/N~,=,΀he rw)1 @b9t~MMol/"O+RƤ4:(EuIޓ2zt/.dW<_M9MJ+ִP )%)8L bT"ݓkxMhS"ыQ=g?].f:8 @  X8G7?$A JER^x.N:GUf MEGF TQG6DFd[KZX3Ee@zұ5Eܣ9=!w4eIAvpB,bN$0) ‘ ɍEZ+'"?jQ*s#=2j$P@1ȵtA b =Q7H3db6b1Vj\Y%DN)%'1p8[z3@O% ˷>R6ҧ#< "#7ޛbӊJ8xK*Ob+xϕHoRPJWZf̣fJzE9T}FϷn5Xs S5l6ز?</8aT*:[fG0S$?:3V`-qY@l0dVb~P>j1&O~>@KSr;ˢo/u%% NaH;<N^4!=Sw9c Nޣ,`I*E`*p삙2J'\jf ㍇plIOH2)>6![`M )E2-Uv7Aݑ ʛ~f7)E 7qm)e*LkRgw¯i 4o476Q ɳ*~|;i&T+xq=r]2-Y ie;rSbwg4Z_%gӨ4jtLqﲾ)$fnNՍI`S"k'n&{Vp MC:cEwRqҞF-a^.NyJh{uWtt/m1R a+);y}#O6S5?רɢۄa/9 (0\3eq u@`b,_HiR*. xgқ$ūmqBoGʿ S_93mw٭)q8v,ZO;]][Eܬ*〳5x<<)ʼ . 㷬PA hT3ӢohVm]0ʞ$~;g#$kOq^{( 8NJ9lέ4K GHl<;hу y_| Ā}j d3 zy3Iw~?$*w@呾P`٩ B-;5\vZEEZ`kl yU?gW%w~2:1!F?fOꌉM1':䬁?xM\篤}" DO' \NՒ\:Kh3{-PU:FQf.\-X#e$F#E_HQ+>I;Ew»1IKg]KJn4iRUK1f +2WC7rޚu!ޢ Zgo.^53-j,?Ԇ88L1eDx)+~cXs0|=JS#QܺDPr{YN]g/xѮusdPۖ߁NNw3܊~lZX~OJfl#ù~vTᮢqe;/< |E4x],CAZDA?$87.RZdv]^!V^HY;nв]Zi>󺆚B8=n> `}m;=Q;R#W;%ո׽$`)K]{n'Թrl'<KOhBFFAT͋s" ARS 'eVCWbHG^'{(G,z,/ADpRnVH1sXyHa*vjFCDHDe벓X˪]pOuj)T@TWlKd;#̴*-zg$ؖfy<=W+/QX MO'm\RI)vjG #z) sgz:9W麆Bz,G:Vʎ"m,t*1rzb't:#r<Q os__iBj}D 規qGDŠдyyLݕ0 m5!Zx" 8߶ъA;"~ר4;,:@1S:@. `Y>ęj[h8[6@Ɏj:ΑKUP y8he^e֦1Xt5jk[>M) x~az6\z r1v~-m[:7eK`POY6 8[rW 7)/+iJL,;-;a<778ޢMsRӑ:Ǡj, %3R* Kd3_p,%)N6Y3- >NC2:8zvV3E'N9Y~SO#qp:kģowqnt(;qFX)o%n)75J P "ؖw_%^᰾c);@=gD1㮯hq@U &}XeqsWkwD||cpz8`lqg/vJ!UFgT)An|F"ق:Dk;miLmNSaԁGw'[(~>g0W?Ğen2:/H9.x̲";lJ L5YIuV lcWb>qJŠ"ӎU{DV/ę_=p%D‹Ľ1 SaJGN1H8瞱T`Vw[vҠ-oM!s72Ȥ+xl ]=Ib[DXlE8q~Xj_lƄ xc?OA?~5`R0+B87/ӡkun:+c3ɓI9!6:7}Y\~uxnS߱'%oarJ/SN; ]+닲.Ġ@"[2Α$3W҂ߒ'W֙b8rVc$lO'~{ϕp •['G~W] idtV$ ?ѢOZ.3UkKRAu PP3@Nl3s %+P%&f4Zq6|-D>,㬯L?#1{Re9< Uo|? dCx˾gE5 H nhIP#M9Tlp-4'? CF FrxY.'a!310q FSwGNMږqڵl] :G]/Jv80mr]);gG^o[F07QAIH9\ Т"KZ7j5F_$~yxWQgέŒ^(e{X}.)lTuV%vo"Z5z덢ߢcwوi+:7Glh%@S5֛S5WޤSOQ/+7eV+Un\5z"^ʌTc{d6xeǨCc^(+(ub/F~]e۽yFA1SS=~M>5F› *yM]vzl/U@zslh^4Fl5 , R!S!$$k*$[@dOdF@{ ^K ^Fh TԼRXV!MVzl`q ux (ɕ;pm@p$8bL|Ao;$3f\I+~7_Sm}ЊX&Y>@̶z».m>ӏvBwtv]sz!{M~;xw.B͗g: 2[]ǯb/{lǎx»n/>6FQΓMǽl 4M^^ȽWȦ͔eQ6L+e7d6.+ wlGLwP:-XKX.Os5M&B^|d_c7į^ Ge鱛^ve+]8#~&&3Yv;ZooDWʶPRKc žY6mXnl#~ܶb2ތ_`~ڿaؿbuS` 4mX*|lT0U[pχl9*4Qa.,1a!cXx Dr` ǒNG_Tz4t=310T lMkb'a^ᆛ^31MgNgNQv u,Fg)x36(;ߚu{eG>njTG¢Dϡ@rQ+_kN,_xX3 n%6Bϋ~^SDfc2`0fYYẎXgb =Z_wWXfi3h7wݯz[z>ZX.fYo)69=MFeZ,M%!$ y#!އ3H{4==G7QjFOSE%80OڋuLJ{-4KJ]:]G/wE9sg>?5k_x Wh/vbŸ1n_{Co3g%wΙqGM?9ad\ KT-{^ 9aFht!CB97JTѐpU cC_6pC1)zͳ "7_.X!&Ma~ߋjѼmĿ:1NRL S{n ͚D7vDpw#vL7>"!,s _l ;0/]cOgW#TgKu]Ѳ) f t{[u=vnWn'H@BCs@#0z;]S+C//Y2׹htT!9IT`,lU3Xr3~`5ۗIO|6yBRӺ-cѲM,tøÄkB u]fgDb90u8v8 !9Y",(ppd'ݱi1%.0Y*^%`1_0F 0Oȏ+1U퉜NT)/H!?C:UR+i`|bj"~<8m jtY>U17O+I$Tx9vTi[pe}E,A/.ǩe5r#BS(5ZX'*SVù0\( H7acvQõn}} &g[ߙ:l9*Qzs|I* V]{cw^9Nr[p[Y <έaQ#;K65g3(!q  l|j'qI]}Wj29zEo 6n+z% NdՇ9%YPӏxK$|oW"^vb&ڕbgtb=]>,=?ցbO*Vā.tXuKw&`Ulp[:1v2?wR=LJ{9d4XBj9U:rLQhCD$3N(Mc ]m^n\.6kBG5$_(fib%e Bb `#&զ[ NoыWF5f k/gX}kԺ.6Y\R :Z#igcRaHXvZ+5,tPY-s+)%ݬae=;-5{)7xBY*!Z_.pS@F/n8EXb3}J~ kKɰ1:a,Vpp'@"+5_"\y8p sj ѡN4 Γ=>_"BlG1/&B$1Ԣ"\ĹF~q[Z=շ }3Õvᶳ}׫bTFAߍi:X$څf'@Y-ҐG|Z}zia#] wƬDV3?'YTaNdIDO6O̓4e} p 9lhSZIl]qD3,>pD!`2;l2 vnLx8w*?d]?|Ygy WpߊT"c;-ԝDEQu]W~) 3ڽbA$L܂qiÄh}d"?񑭰B[tF Ea^ւ<}#o78Z<pW;p%WÔ-@YPSfQtc} zFcгI-滘kV;ܘͯ!_hJ}r}t|U7 CO҉6߹=·Z/v@_QsDl=-7a^IuSAՈrqg}PS Zp."we+S]?+Z[_Z'2i♮o=ï[˔n3<6О8JT_)Jc pQGGpP"_hAf(ܜN0#UL[b@/Ped-^C@-5S3y ՐM0^@O2~I{_D]_DU]1\юQ<*V3¿F'Ebxt 5,sk<|H{ԈxMW;45ZA$wk$`rT1N8#t]8/%+H:B*ߢN:1%-0rMzBZh0yt"lH?­pij$q"-nM*%q}SdY`4-c5wPz ( m ,1JJ .$pQ@47 *J\PMQP]C$K!9'Q0lF]b,IC[Ye1LɎV][CB^[L]w܇mNaSvOHt\f47 a_ލI__L6䌭ڠ>Y!楾|3uch.ICLkʎ8ccqI6?\'$ SI"Wܿ Nঢ় v<R6e_锰:1G:qr;\w!=p9ϫ] S"$c!Z:Ući:($  nL)Q|&88<p2raR*d vV'JEw&k/d&i}jmh5IQH$㜛wg sATX݀ym>yLB4ڑl\ a3_[Zam0>sI;T!LC{ R[x&z+'!N'JYf?O ۍ׻Zפg>@{QF)rF& vϡJ icTLq0S`:vԩiIX~ě0vLe^8;th `~`)K3XU%kuؠǃh3 Y)d}u#O㾢5^,}DaEuxfUFT?9"P$WuH3鮤Jy8D% ɾ9 yɟ`vwN[gƵ6D%E{bHz'e8B&ܝw7?(,Ax))3;ߴ `ᖣJY\Dkiq^;ĵKгvyډ+'ęݕAby&a$JC f-$J!~OuJYfVڻ4W+f&U)'($zU13iÐQ?9XDIfhnQ.]RtZ^[[q,n=ܛj{`,xoZ-\M*t4¿ ,EPhSPPmw'XtROo. ᆁƇ g;P/;4SHYgǙn!@9> #?=G`voNdv+XWR~QOUHWZ ,%ss++stffEvt.f lk}Fo6e҈m Eoűn)6S"|E`G0 k:SBӁ}\ H߂pBaLgDXagz1m|x`ʨ?rnERt:v6ҟuCUVQ.Q}٤9k}൜Je\@ y) IlY$j| Cu)'v<2袋S wrۧH54zʏ8<]"ᑆMW:?CJ4GaEx`L0|ݎ0;mڙ|4iv6We :Dv%6FO|+rk:GE,7aPsWYb@5x,6tw `]{їbKb/h#ڊSv9[){K; +sq+yaTVj]f$EV4XBP|fفuB7v-e?wB`[/Su7)SqC*zlIM(1_ M&3u)cbHbw+]ˣ̳{B1Km˒~vu%҄~%h.(;rB{D,؆g iJ#@99^eBsmk$ͅ2/[cv8КEo/ Q[fGWD7*GB2@'l%w_ȃ+'l#GDݱЫ.w6OG5=q6k=K[tP?a-q!yeǜ|l$Q87Yr%ZV)ZDs&N Pn*K ,)oK'ΈBTέ2;AV 5fv@myYy!l_em­4Gl"*p7F8ɸ*N△ 7GYCR0}央 EEx'n _%^zЛbhh;S:zwnw_$4CS4= q@w."I܎$4ѶF)D$HۙN?~cA"iq$tgջh-{W-GMpx :ou:?P:?:T/TNuPwPߪ#܂Jun:py'ݶqO!dYu+dsßV =abq[z gtmIPW{P}~.T|[_|PS@2C뷄r+>~脶p⽹a뛗ԤNw}ͮs=bEdy[谡"~}9HGy/Ћc2;!t!P+:eTPɸJ\KbNŗiB/_4 gpu 3$nM]U :D {^Ɠz$A^=B/~ ߟz݆^<<^|gӋq4!%B?tQERԡ}5%Ny씕EV7kJWdd\Ez LunexcRR(̤*e Ug/Jwaw<a*ph'"}&JPˎfq+Y^eqWJ< ഽ2ʦtK#$^60&*c ҒØb1%P(YN ڭjfTkSIZ`F3ImԮ!`\< ک9>lFľ d]^k]:հHw:{3.}DNqVޚ |sR?Ĉ: -1{Jк9@],m]eʎ|0 6_o,sSϿi?bq;SwYLɟ6A"a]Lsftrv#قU:xAp/p2;Mn7קwnoCŴNx9E?oc3 vӟϿ,QCĐt E?_Z)1Er#nq ?lϟ,{?GzR"sZ:lUϦ?Y;9Gpm{-ޕQ]Y+Pݪ4BxΆtJo|I?TN~Q d$v+ 2qXY L?sPee5zES7c50LoFRi) ].Ei [vFRAYMV&U ;P&ut \nw+5pt™>Dd#Ȯ$v &ᘄ1 5hD )x_}E-}(RM9I7\v6gzdh͈$ڸ4.SzWo>mZr,f H*vڗ4h>o4cg<%_9)'c KZI(8c4sz eGnS]Ka/-;9CᛵQ@/G߅ b$݆@YQ:)1o8ULýL(t6T9].Ƈdvzvs?6\/ñ 0R!>uJRUv$V =sRho" ߛCSѹ|`:!Shptq}|lT_/^AD}ԅ {PTISÁX8/ދ%}(MM}~HS҄\#wB0R$#c$"_(ns`D)~; n $.&_[`yEK7D'hK;Qe)i$Vjnq9d6>cG]蘉ބ8NapS!+R^8 LVoO)Wܖp{M$~Q/eUq6~OYbTu`%IF/s U:vůG;|1 YcJN%m =.>b$jc#%wOU}x8O"D %D zy+A?<H` 2DJeq&Vu/xs뾉y /)3t0Sn X{cЕ}a:ΒTu}&K@6Ci=\W C#a{%·GğJA|DB=U]y}`FzIH"$:];0ODǴ꺏ÿˆ,Z&mD꺳UJ$l&6e UV<+>1au\MH6#Zď`HcfS<+h$i lS~$2 t wzٗ> vO4B":cCCM=~0 [YbOJ6`h֟ȁ#VT0"%s}b1~D֖I$&h{+:Š Fg21\dlw74-9/͇@s++oe]p׋{6}GD1h,B_hO?xA htos0έ·Ly46 4u-ДI(o:c1=6YpEK ?M@  H1  Hnzݎ8pF RD0Yx# |>ѹ+oCz%X\Wۗ{.d8:cks0sa?5sFpX 羘1L8-x vՉ.5~bXQ\}w77I^Ok$YazKB@&@h/5x\++6&^D,8xޗ[_AjHz/q7z)jf5|,*H)dz6YqUƇ*5Z$v+rH2*{Ã.{%?b5|]6PvX"ǵɁX_:HFtu˃5+^.Z9t %h$!*ʚ"db!$.X EA ? /P?L"i[-"u9-`Bg\ٰSn`z;5Mc:&'&zΟb"~86$8M-o'UQu!:ZAa|p,-W2DSu*׈ yL<;zLXy;Uk !$m,۲qsfSsrof!Bjq☐rk^E@QkQ"Qn8à{g?-*229J!drص :M+:Hr[j04*s9vetOTu\ɖ<ӑ,tQ<]W 97%* & i!?Zd8:vFK"A K0GBVe hEvGfQ=lm䭝R?5 ;.>HNJxH]2;BUԷ#G3I,Y'Ӣm2b5Z6pUfZ^;#X;y {8U_ZJ+A΀$ְf .z>fl.Nj.5(Z%M%4Qll.5d䟖`e䍒XYqM ]WK%IHNQe =ۗ%Tl_,$ OXt.AdK:dz}E  L&bQzmA1lAUU1zWӊh-SvX8.m6?5.ሡ0S`xH"6!xtR7U,uFIFN&O᷇[2:Em4X\T_B}Tl T_܊eD )[hD&3d_u+ElO4a{nzՓ}O7T)듰7nM@t.9Z͞q]%E/aJGO%pSՕȟQ}*S{{2 @mz,tW҉܈^ty]sDf)!)xQx@K a\ټħO3OOsSχ_zjX.VSῙߜzeӢnzf^D_W:Qd~)ZGۻ7Yd& )m"lE F44"u] `a||Wv]q Z-xADP.LJ/\}Ιɥ͙g̙3g̜9g/}t%E®V_ Oze?)/ğP=kL!& 0{ sחww`l Yěm#).!Q-X e+ =P9C2iWB\ET EK;CGH-8;T{~dy@5'_;z^ lH&fˑN{g_WPߐܑ>EuT'%[f MBߟ2=EWD럗0jG^t8TϧNf"$Nϫ%pgIFCWBz`R+0O zF)I]sYΉIeyHHIIҧW޻=IF*=HזgIWH00$k; #/<k:?[7gG+Ruɻ1O>_GZ1 @ :T|9,)xZE{6F-k.FAw<2x԰ b#G4?l;RFoRb'(u,Pܹ.;ڬӢ+mr {ga: }ϧv5T{:7#:3Kr*f-CDVspy>lKiI[yf秡-Jˡw?g-RӴ -|K.-vcj~6.;,CyPJ _Aي^kbJ;Yj î8istée$~݈]IU$%u áJzC1!Wv>=|[?pTj* 5h@bfnya!۩|PڮTI %T1//XEȾ,U[3$Y4 S-.Zo窤E 䫯LwUiOI7y/h1Q:֨`|CqW"LsE Ln2dXWwK9V`wK5ITGs,4r9 7408}"+(W(K&>8*9ևb&7G|WK3DF坅&>?NM5[ I37zn~LA22ooIj}ҠZeԻIc秃H?=hf@T>{p\eEd)"-oBp!+atp#^ETsX 2#^W6eTs E+< (+,RVHNYtfS(eR5¹T Ƚ_I0~! !?޳v O2p  Y0ᘃȣs+HjمIW'[;UR=!UFRvL#8NTflA~kc I'|ģQo}"k>!QWYZک?YX(nl]avH߆΄C* y1A޿_%N6Jc*SI+Iҩa$K<,2j<1՟hnGY"̣-e`Y;` fz'cQM\˲OdvfY$|)e 3> jV!AO WV=3( f&W.,݊$_C |Lտ-5Jc84`h*R!*RrL-#$|[PYuJNʆtLZoh LF&AYϗ~xw?%qD&%vD~X# T @d4JmbD>[%""uqsX%\}?^E|wc3hge`o-"םLM%LeiD],ŒXXiPCiIYxxIב*DHxp;JM? = 9{l7 5a 2^/ @C@nqF^!UMuGѥ$;zTz\ZEfK%KܷZ9*,Qt2Cͮ[g#Ѡt{aHz-{3Q0~:DniS2}-OמSQ0*ԛ+Pתs?5O 1#T$SgfXEcs' 7o[E5.V8WZ<-˼30v2> em^h(o[Dr7 AH#|_"Y$˚ uedwمRD;وՀ4Ry?rbWNz 4͖ ŬPkN~yr!Ǫ}\!$_id#؅?uM3N}Go_-uc͐=k|\^gezn4۹{êطY!ޏ7&K$?p[{ %׆QXo(ŎO#|zsp_4i#qZ{ٞr=#տ!lM 4l7P{ ]'z_E :X_ۄ1Z^"~_ʏFs_JOdҍ6Un sg)a],p\a7K V¦w:A1=fF0ېlv59T|K$1Q}6$VM~*6>+ŗ"/n?(Рer3Į H_ѳK:iTNOͣz2y ٳ8X-?!B|TM1ZݜFi1pQmnLV^D*|t-`c3\:KnL9Ky?!o͜ s_8VqqAqe!yLV>& 1TG$~fFm*3;#/q, p7X ͷI0N+ҕr.?ηb/(R~q$$4QFſ&vl4yOBĕ x=njNܿ 3HN |`:, #Z(I{[?5  uI7uJٹ>uȺ? q H@ы G5m1F:C[f KҎdk̸CzfҪ|+t%q_ӢQos] սV=d5{\//I^!2|fooL _sg{SܖOa xwR/:D_&Sҩ :03֕=[j"|Υc GtM( ݨ.|NN3Ѿ,fWQ=,*D]W`nD7.A>_zi,J"w:!GV%'m6~"X. Z<9}V[^ ׮DY9ϵkweKmz~24kۀPm5w;m5- KQ-vy|,yV>mcq>NR2j2_q(z L0_=<,DЌ7=W=r$JIi#Xډ򜵦OHdzH)|:nbTDG3 HHO!̥gM4RyiemR>SImٗBhceTF<%3A(Յ?bEYBbMdYa?Z:}OK^%&O#zٟ} ooN٩ʗxT(T`}47kb? _'NCU1 S|e;`5.jRZ3a?>FK^JO̕8O|=<쬇?bC ߹'eHJC&"3/P7!dle*Mfq]=郜QzI14mw?w2u?oZ:.T˟XȰ@ɘfz_3Eؿ;NH䩍5ȐZyegDz{u""mʚj2ߵV'%t(.Cw~Zy}k4yZHŀ0}ԇ|z9Ң[t67_. ~1=g_OLZcRoItLȤKH qɐGI'H# Ť{LkDY$12s#2iF{&MϤwA!'cLz3sOI3.ʤ_tgN tAs ڈ-ʈh|jn7E[tW3c-hh/ڢNmZTx۵hSzE}!f]5ڢsfw'hô[hwv~i۴$m=~J~vceOnHu;WnM:y,-v9>-)){ӮfGܴO_HS ~)\\Fz{9ehO2,a"B@|5I ѭV(P!τ%˼Fbfg@H? o.JМN|B|WL*oy:2 OضP}K4&Pvg0 ]L D |ؚ+sbHod||acUSmuh}̎qRj=F-)8}{A V(ߒFf5K ՅkVVfE\~~N??x iw ǿn2ޟ?;F:~(V;j5/]2pICV3Hx?(q":A/`q+ 6㬶TdUQ[<|kYw?9؂hIa36pCuG{,T%'`IۇiXlB_P! )}v/:,c!ߗ߾:.vgZ eKW0&qS;MuN#2գyct9&!V/nwLl[w j_Nw9xf,b{<$nj╉ h>eM *Dt=MƤ d^XKF ; qoUU OV/ԚԲln#]FaVZe/Iq~=?s/0ݟ>8>ayZxo, o,XFm=)|HHM[MP{|C{Y!=sFbLE Cl_~Pl$.v5 &$[)QvLR\?#c]zmԹ wtתV&yEe 1:X t9!N'gbI܎M(+gNݟ?.bz 姌fSfGėXauO\j p; >hqgB؈.(X-ޮg$B&ZTaT$G7*f YO0ŭ0Hl]tTzٔMc0l-US76[0e)V2j_lɴx+R*< Zv_Q\voh@|jk^vjBRKַC4d~7N`X|Ϧ36?,aokv4Cʷ-Uq=?*xJ+foRVWV4@ʛ%>1_+AgfSD ;,"y~4Yz K`N4 zNc B`3g/'KKOtlз$9p}?IfKUCUїDF(BxI~nƟ9-BI3"xFv!GH뿙HL$2SD%فm@B{ -?DB:Є${IDOIù2TKz/I x&aϔ=#)U(UJ!h *AijwJ9u;_^`˩VyXzZjM%zݴضնIo?w'/w1=z">\$~Aa,reȓ*Tft .#>\8x{QB:%Є=^\ ]no{[R8 ~ Tw:o E^/>cdU-([UkfGaâygFk͖xxiy` ^t^ @/'<~sF*Iy¦;(v|ZNS׆FaZ[hg"Ρ; k~w25zVCe&+OWx{y=dfRV=d&F"zszjGQM>clCMxBSwݮ9v ,Bp:]wC sORH^_!0í} $58=p>~wEЧ d`Eزd~-&4FeHEGHm㲩Q}m<0|GwZ 8K@eZPƮ8\lxiN5aYl[!C6ڷ:")U>#VZ ջ ?JЭG֒l6ڂF4)JeoA>-87[ |- }-Gc@諐=j`Y> Z[k2zAΆAL0}S'IP=Cӑ|P\_/(ZylGLEkBhjR>s9e%홠wTW. onGZp 9Nc>Ws^~s]mN/#1ƀzwc̛n{ſﱟ߂{yY9);W)_gpi BTgfv5ã=dͤCl?-a= |km5ۂsBg[;D:Ոu-ڻxRuRmr9O$3fdLG8p$'mloG|Quu 4{塞Rba*#[o1"X[O{sg^%|PXi7RK%}dG*ֳB 1G`D\oo,=?ϩG; bFǍ~AX1ːq}IQP{}~;3~fLM4'QL+~ƕ⋢wޘ&}x{q%!"X{6Slc6~ic/.6~ܐUѦm"m7I_"7}X^@$S=/MGo"5]Xnu.[ ģ?d56 m>ړTY.'1'ܣ,9ydB mȀ?ǨW{FFPccY1T+LQcvp9Y.&'1pRj &[ >F="xy!zөroO>d<(pzpokM1ز)t<4/OG蝹2:](CL"ka[ T"̟[-}WH06_~.wX5@>l7_\|UT;<|MGMi=~;Ǒ $=hJ%\?dkPW#xI!BeCSj-0MEڂvY^\oM'*o%6^&k|)Tʇ{]3ψFwM"b%`ld@H*:*z;f*< lT3qke?>]f*DC %TGN\?d >B}B#L}<ow8!J g,OiXv '}o c˓3UyR•mu[|J lWSIed/R X;q<"#W/ۡJQ}0rNF(xVC*AL6qj ˒2x |VVhV~iejߏb+nH>sd*ڵ 6XdѨuA 9:Af/M"XZvƄ; hoMe'SIe7"j*#j}9bqᓬ:W7zR{`RbH ìؔW¿Qotk ;=Ka$[E2ioZЏj#1 YDuxg%S$z&< 7FOS3ku7nݿ~ў tY1?cBԌ֧'Q~zg \l̕Bzpw!DŽߵ v^ٸ$) va_}*׷PY'Dŵz`ح$L=$ ʚgqaw)ւߓ7lx]ѻ]ja-[Q9FR돴:!B3 g;Im* l 5ag=~7RmCӨ^}W@|*@Q YJg"&u?o:-VI"z MA,4.'X4(F2\b }EcvKK4yH5sB8|O'X^\䰼t{g|IINxA߲!ur}FbœZP hh 9,( /M7 3;J*Kd;Jx 8CvC+JwPIT+̶mZA:w|L׬@c>xͱTgG*~)Z#BiBKSKϗʯHk"!m#;e*B0vADYJeɚcIPJ|5npF{aXBg^@{qxя8"02bե^x8i*5NWɊ߯K%>n WTdqZ;VJ_=JCq*%[J %{j7NEiUqo:GSDYMhlހ*__ AޫA۹OeٝTR)[Z5Ihl|o -%o聎k) uh8V:9HY2!ߣ'崦Y7|| JA=AG$`%Dl feSmAG +`uн4_ڏ7H*TϟJ%|悺d30uc^ 軉8 S:η~8`.*Ý}2*ch?Z-ei#\S=Z E4(/`엖c}ny|)n!eqR'JxN{_?!z)!DK[t;ۢ˩p%nB2Tt _/USI已S lhWDaLf'[5yiw6/,v/AJ $QII |qN*`&BBF>s=eH%vH#ToG"A@rĴɑ^J75T+|tk )7j2PyU"(hZtV'nH?9@<><P:@=4tN-vחv+xzDvpkdP @u0Wz8I8B!*mXoZ ߥA[Fìۛf.shJ{|5&:ư FWO#{Tٯ 't+,KrvLmu1q1WM5>vvtI˶Ŋ ` L@ζfM8;4;ɖ NkD7R}JRNvۏtqûR{Uqkv64`.c+:r0>:Y{|(\.<'?.z/pƤǮe2(e@>RVſւ]'hфz<2 }le E6/ M6)Iӽb%%͢}$G3r65/}Ul/Mvr/$SI M0^c6ﳪQHQ Ht&~Fڐ@zA''JM @a=NV ]]8h)/M ,tY#MFY]jeBpnyQH6vsT5zXQl^ls_* B8A|]e^^Uś=(on6` %zz6QVaf$lM,݄5~GSݩb lbdiA 5̡P$PtQX,B!J̡qhRb6/GONv6WIW|yT/vGu'?g /%Pg 5w"Ep GX񖁐mNCmM6  2*>ۍrT Xhbs~*M&@۠a[T"D`ki.0 ilGЦXx&?lٜ8y-i,Lo"`+v5GlWjv M'?hV^0KUfB:ٲXhO4J>ߚ*0ox6y-o܀}I @’7K|rr#;jMQ9NkJhLa 1 c^EcuhNb{9Uud;tͷfgAY-nZQ!C>+_S _a$9U^3-Noƫ3Vn+<%@l[du)VV鰛^|B+·JKjw碁x/[aa洚(BSgӒz;mRB٩-OפY^ggzFO.˄*ާ@ڭ>qSlACr~펜m(}fc3C?]\6t! hqYn8bcPD]W{ovQT\[xGXdDKV!Z}2aC X[<:NJn{]Ipڷ[OuvPXUhQp>|F39\G~t|v[czţMe_8!S4 k`uu^P0IYUC !B#6\ IRCwV"kТYkNZv[&TX-#)FS-~ȶ֙Fɦ"C5P!_G*F (v9ǡ[XM^KbJw6I[2 kyZkduOY[)ynXQ; ᷽(0^P6Xv*jASNkae4{etxQqY-T9W2S:YutK ӿҀvj~/$w5&Bȃ&<@lvVvm8!V1b@vɬf)^ :_/e8qq 5j 2p~*b=d[ m#R~Dqm'//= kTQ2Q)e穨Ke=|ƊFe{ǮSbOб>&H,,sjyRQ W&[[os%Z_>u&0ҏ/7F3%&s!ְeg5b".l/MV> u636IqR[93e͔Ol|W mQ/ZǠf>xcpb):Aeis@.A|bCė^2HҪB j0 7>@b[ZS 11OJ7A,x0ޜ5ս# izjo*I'P渓P0Ś5ʀ4FHK fjR҃P}^ei\ʄf n^:LE4];lRB@GXΡИvSfs/L>wi0_/PsYa M^Es)Nbc*YwUª;7xYW4м-'e l,4?!+_VGo(C JV;/Hr8:/|h2 ̯>Pyku`BWh>I!IJpNMnYT(:WS񠩃[wvOclgn{mI[OB[`bעjmmx˭uuήy~io׼ɱd~׼%]W`0w W9jS {Lp[1xK z;mdfK௸fb ZI?fئ-Z-v0N [h)9I5ߑSA}>Rky ߛle?;sA)3Y#7Bw?\dqxJn]T*Ek.[sHG5#zhQW᭏9t,D6%%|qmb3.™s h֓Mn62r !ue_ϨORpc;ىDQ}3kR |j2*Z(%M& H`:Ag Qf/{(`+wV&,D 0:nS||H/M#|iYk[>Vж ^)-&Yoq@mhDv"H"VNkȆT?hh?"}^:/-[f-&6 H#.U yY7ɻ&3;L3[E̵`' \ @@ A H`^6ۦ!#rg\t^lRJ"HӻJ64? OB$L[oEl ơ{\mHhKJH;6M2H9}I8 c |0DHU=m (U8!iV6 HAr9T(TxD@1#ԗ ppFpRL% _. xVfnT_6Hج};qgFn2Nebw~)^JxM{o]I"w!Jh+p3#`*30 I`|tAaĚӍ8MR~M_YJrg&6߉M\) _@ XY-s~kT2pr0\^W_8tVٺ>;_Wh"Uڦ,lՐL!#}e5~VV0IO`A H!*v\*ۍLT  `*3՗K[ڶ#нqLv*O`N ] |; OWR \|'بwq!`mKR$> ^VN*']TNd(e 8@*s~O\M;x264AC1+5 (c  O_ƶi )~(Q@/Q@+N|K݀6; m穲 x 89 xn@P߶/S Oj[y56*0C)lQWa '=r:gu4gAȿFI4Riu/Ly/Vb 75LCS*2tmO^g"U=P ,^\C6F) z11IN!Z?_Z~6~F'HSeU?Mb ٵ9@S =ĀNR,ob͵ c\/K|wf[f3iytonRm9w$SQ7a Wt&6$X:-)ʰ\_b!Re ˒KO"lA KEрJ؂L|g6"D-.H Tnn6LH6d6fϊ 53B ہ ?i›ߕN#y|TE8Vw'40h,V4jq܆(;7 83ꌎ8ʢC * )DBz:u{&y@ZNsԩSU$(wY5-T̵4.1/Z!uYa+&9tfpIg3ּpB&ތ ޠYA^$yah!l5tc<=Y鄚3)&zy ޘfBcU<6 H\7!VGM*3IB; x][&B|D/.MoM/8Sgpzz=Cŋe85K>j|/>_ e+hBE{w\,d/<CA7> Ƙ:φ>0Ql%/;OXߪq3.\'ĖlMɶ@PZz9 +[guzӟّ@Fric^BKLdjS; 1.] U5Q7.E$b ]oBzBd$!N`4ZoS ptjQg(΅\W*Yj}XX)FƔ.,f̟v}FK[CZiſ9 ߁qXh!۟Uu%…TysܽYaÚ?eL,(T`Rq-fYv$6.N=tmXj0鯗.oa"> HݏvfG%߈OE/C,Sm汋 k6}g!;WoBf Bz>iu5[N*LΜ_W"Bt:@f;*9j _Y?c; q&I-(V Ƥcm\/"j^NcAe ="mQb y|jζ h&uiVxɐk9$7=ABZu,kۈZa2|H&;*j Q: 3>#PM5T'3im#>;%<7 0rǂd҈:ˬ^Wߎ>6ح~h;!iIMkc2|a?]%?&'V ʺЯa! ϣN.YsNm@7^oH7>#Ag}]ɓܟoP;߆4LaoC8WT|_I5}>hqwM3T3&bJ$ *r9 "?X{GE#Ѭ$9jc? 6fL$؅C#%+keLhjB;=Y D C;*9fȰ#P%J_RKx*Q*KRUuo2ڸVsMdLvZ|`JFWfz"Yca_Ⅷ*aF<,:ËoivIix%w0|WcWٌp;ِ5"5G&Z!|`W3r팱 |9=eEњ&xպ̴C _fW? hJg۫jOV bW[6V^}giQq(=06"kQ VR|jߕ.‰hA}i3-|T$&JkKG>N3~xC;rp;ttKol7;&7ϵW_j]&j/&j7W_̛Wګ/~ywyr[֏7~mިZLgi5c/f36cV(fL71Yd9cL0ZLۙ&4siR{49|51bj䁫}WIb^}1M~i>ӤԲ~49?M3/ݷK/`h)p~ДZƦ8pټe+ݚheLJ+;Ƿ7F+\l%JQS`}_+{ge /O72kÓk-m7=hz|nj]ݺi{QaJ+yG:߇=2 ig^ft*0οxێJ$s oG i|hR=Cy}!D[ӽ9 opWx-^Qjwe| TA+ 0fq~GfЯ07SZf ]\b8Y!?=7aEK]k[`U?sw>mnUTfi}j%0dn)#(Vz(6#=54c"^S6iVy"zn6ssMjwfSM (lq}a|}wJ n{PUh4bn&avtsɎoΠ7k&O-5?${H5]o|;7g@?i,V-EV7GơXz7Noؚӳh1>,2&}rel*p '~.>m55j]AޜyZnz F3):r3q`X7AU XOѢ ٘tgнOS?}͎ hsL\DiG%⍼^lux|?ggЭd O_1VɬR `79e}WUVS||^`$;!@ o@_#ԟ*G g3c+WsB[ߊqDll'^*E'M`(iocXOَH9Ŏqc>7=G)TycN`)pI/s1]'Cħw[av+3Bpgg-0#uJKׁM#ڨg_F1 BEha>}*rF׵ q [T=I2SS/7*}MXOuVvG%3HXٶMu8mro4dasE2)t:<>NI5s4c26&3UgNtăb}|p57;|>3ZSC; 4le+0[3݁ɘQGxY Ko8b,~ШY|WK(询\ӵocp-E( XW!w źza@cB.`z0W;*.6+n_=H X9rx]q;X[aGJ'ͨUn~cDCD Fܓ N!) XQ. 2nC^JPo[|d`ՑIX=fa#Xb6 Y? {XUs3XdJZąϺ.O'KvTOVyz{[$;'TC[ti}1 C>xٟ!%6=͂3;pϮg>H5j`u`;'qIy-mnn &?$+|w{ GvsW|l޼-譎.Penrܱ1ц%|,I3 ױ\7?\5mb^>ۺ8W[6ߴWplcw5dC+a\ ~׵Ma|E{8f(8mrOk=(t1f%y=h¯(A*IuL!azJ ʢ3ט-a}zeMާ}wmGÇl>XşSZT3319dr ҥ9$'Ij!6$GǑ"!]YϘZg/AXy>c2ߕZܳMznlf5ӗvT(L ZnGts\of ʼn6~"8ѾuߚϹTm'`|Z,x͎=EƷyq'ZgB16%ڔ;a/G0Nni'tU) fPKWI &yZsco?w&evd$v2;yZ9+NޱL3z/mal#X$Mp/_%܁#GgV~Ӿ`WDƼQIbGtVcY$ߕU/Ap< ~-jsYPYIs7 EY% 21[[)3C7J \o xg\S[ma܆+ J Q]$X % g͹H`uvy".I0A* "쌍KM ^qv&Eٓɔs=ӄnJr`bp=6˔M"-Kh TfNk2y#jVM. z0g=)R/g(,L"7'z.oħnte! .( +B=zX?$Qu"JȘyыA9. {]3f~$V%L\#"\m@fblK?фHy X-(z9 \n)D$YbG>}!3>2~l{x!0C>!-ll Vg&Pꮭ3:'lEO6NW@I$)nx%fC2́LunY&u\ vڂbfUka= '`w2wf.Xxl>ckq` ̴"}^cmAD8xGv+[h vTR%xzgGn AbRm,>"x^ Czc-j,QFy<%gY‘\5z.5gp\Mܞ=gfhlqER9<0Yxv(ẔXY~R+Coh!:΢o= DCJ N& o.X}*}w GƲV5>`@}Vxc?//#Zbª"װn\GNt8 9SR s0 Ek vMh@c4mAU;4 5wy[рӀ/],q?>ȎJ~+^ٔBgyt aB-.$aKySv.#|`h--Mm<6T vq>ʣLNLwn&Fn__`} mc|֒jo-ro֢ukUGYpZDa,{N<$'krzڸNeF n 6Q%  k %k"?!?@38YkIy;`r~3XU <;*Y+|1d9L9;~IS&B_l⍼'F<M+wDh8p/7ǭ8p*›$y@\9Z#3\^$ҍm.y3ۆ|ḓL44*5O:2ɵ ri愎;1hj1rHB&CSp9gnm.}ev`Nli;S{7d4p%߃fQQI$Obv'{<'—.27APc9oPp߃~;]kcG%]8H7wFQgg#Lcm3Gtn$:ƊEcoxc17٬{DT^Jq62XL)ZfZxy"HCuyQ?@^aїMQ`=B4nE&6zܪ<gV{p\9XfbQ&d+[;b'6H@RM"s+(mv&05Ck9&ZTmJJcҪ*I`$B6m:G˟MgM  MI g8jx2AgFn;mùù*d`|s10n #{ȍ{]p ɤ0`t3ɰ:˿*'b)2uUA &G p"hm 6L|gџ QIWl"; Yb"LH+`_e1%dK1.qe⛷\5I۸N{ ^AES\/r,%q;hL$#uZA='@Jb"R K&&y.Xk wi.,y {0I7>$A,pŗ7)lbYS4~Fw1>v42 `,t/obW_,:D~U3yj߀(uǮ\k$k^rө|pagb*,u/ƮfD!z'Lp0s3&RKSH0xBsL 2#d3hL~eAaLf>'pPLX"ҟ ;\gEY>] SD ]ҢAk !UcE ͽދ*d8_jbl0ļaUѷ0tA8]z |{p-<-:[EnG>>X2ޑ!W ) ##A1۠bIWJq$ḨyNZ͡9l_wN2`lۖW0E,A`TߎJ;Ŏb7TfCjerX!&zMn\}BvH TޚuZ˘RzOs_d](f \u 'Yƨ{*g$]3vD :+В#j yp_dUIYV5Wh-/&嬑Lu1B\n,pKųvDLmubZgPCVubeq¢$߻EN²m=힄36,;_r [߲q<%ggm]lc ņMm^lxЖln5E5IAMTۄݻ-+< oec~z_ҰVqkh7-6n/7am(ȔxnHl c"zŌ9:19l(AF.n$ 5:w LV9ުuvI1u-̆ w>bpΛH;I.6.F_'gI( vTi & ࣶ΀ 8"M^pONS9?UGԺHFt_)D.Y[ICGe V/6 $sK &%;u@C@A( f;*Ig-(HaMY-qqtp<"bi{MJ΄Ě}A&ZU&'AQwfTP* 9M+j&+;ϱP[USz1Y: 9HP Qg VjsSjcə.6x.uƭ*l9Q wO=·z?Zy$6s OQSE‘숦MEOqOSȮ R#HؕCлaAߑy4ّ N @fҞ=ρ5"0mK wzXL!1z~Ԓ@±? ;|}UD=Ǣ!Sq9smXO&JpǨy8QH4쟏׊CmIHzHq1/X:|˪v96erV:|#[LJm2n&5PgivqLN䳏A5ő&AVZ8pۯ ɓZ?CǰzqiM#W^ ]E; ^B}e#Ʊ>!{z&&Nnש^FzR+>RSpti%JP#A+\qn>sİvNk=7S&GCL9΃O܊||p1&YurVl\MG}!25&{@pH]l 6HIҪ>SEIƘIwXCijҟnE1>ϧϹceZ\"i`w<ŨLJz]Uy|vLzʮ)=/vk_z"-nuw@ݤv?&-}^Ε C8cR븬qt,zDuǗ4)>a̱m1j:>:NR(4GIh;&ViWٍMq-x%wYV_ M0)iҒ}L].Hx"~RA3Bwi1YŇAO53"ˌ$ O?` !n6yE0{*#캤l& 65~/z[ "c-zm,`G%uޒ*K|WYrSYnu Oݞ+:\٧'tBYv/>ޯ>CAncEzR^U?0T§H#_/ŌLr-@%ƚWi]#=f8:;AtBƘdUuI p [ BV3v}K`"s}Т T4&ƴ+Tx~V%@pMH*^ ?kU1\ jBHytuqU͵ɶ(_ag}M7bgNdlڊ]{ECx~ 33YV03-R1AV(ܾscKDX FYUM8{t 6Ƹc 9kTh07NRF|l`Oh!pZw{6.DgP7fsIXlndL4j$->O`C77X58/ TSb#k "#wjYB8>!Ѧ%.}׌|=>vTB!}l.`8C]DZ p_P āʝCJDLIJ-]G"Gۦx9?hGz3 Qh[XVKnBҒ3@VKZ?p ).#Ktsꕞ3w 呃κnh̃0ݦQ%tvD0Oc *I6L c% 8|yl_]OS4l qvmV[N|Zgvd$w&E ^^vf>ևۂ|R#Ҷpv=м8ĘOAALxt=+[Ȇ<ѹ]x|"Y>}P]̂wr@ZOtbĽ&.jY}:b̊xvFŢk6SQ}y`t≤Ȥ~[yFp'$9 ;N;w*lB\"$n HoTിx^w.<6φ@_ħfE'@c=| ߽^gL'EK/Lj薅b;a+}ݛ)S|m>}Æ] RgdKpLw"y_a6c-d^?3cӍn`LN#:aD+0" x~Bt:* Hvͯa_ИPcTl3AR1#`=qَvBWܘ⺞|9cgYG|{#4qTXFfPJ& k괒 Vףj:y P#vf̛`Wc}]bMV_{)U^) gίA4n[On榎/vMthx4 c8e&/O2̒ SQi_jɇ&= !,c4#8ΩTsP dmk@P8- rj`Q9/l5g5``G%x;p[ sNË֙ILLvz:4]4sLհ9g!4'}ǵUZgeq,N@;K:'Z:1Y *ԁgq\v cp_5Nk"fY /m~X/럧,¸$ UptGaCřT|:):~/[>P*.3GKK72* {WX ?&>6iQQ*o'qV^@Y΢3XCx Gwv w4؁5& $ݟ)#[b޿旹A+.؍W(5Oe5SM2[˭3~6ʄa><x/|T P)k$:~8,} bhN4`ݓa AhgC!#h\mAB_uV R+Yh !g$H Jr8O;|͙K #Qu${a]8'!4$$ia>kﳠk9 j[-1fƒ|rF:wĽc}Fl=NA#Sc f.uǚNI1>x>9{݃7$~Ov[Z= ܤ] 4 lqvp`J]QCWF3yeqE?F g?@NKl1KEP5`B+#?;Ǵڇ0=q۰s,|}U+jZ]2D1/lL%(awdTag= Z&[S`=j̡uF(qi籖͑cr :۸eyJG'>m =ٽ\Ck1H-6H>ƨ)|ɑ!AxWi ||H89| !?r 汸eat{+/k geFA8N #.C|;ƎJt1s q\B˄|d[Ǘ])ojYVsU:8_<ש~adrszJ2sGОܲi[P8MSַlO {bGS4%B~p0ϖ /s 6g0;*ӽJp[m<Ӹ|DGȹ[&י"*5 rp`op&yz!{Ze&7PADH^֟6f x3.߿>/²Sv~q :']}0Іm\:2.>5!/X}\>0uluOR5X?wKN> O-z%s6L9h}`N,4?6D:sMR^Mp`S-] t@liK0[Gp-+2+H n貶&U@c{=b{v3&kܦ:OmOO+%bW-Poqk`yG3c麿;d2Ñr0kĨSX*DI9d]ĦpmB7 JL:{#eWy\Ң!bs&^5^2$ToxU&4/_6;Al_rG}FT 9ww5 V:xލ]Кh5Q6QTYS9oF-M bR IZabIzQǠw DYŠǿƠ?{' =\~v Z&wm V@& ]f D@3 >z:I}M{U~E [L'}uL' _4iGh@P^YuR&'L0'/ ȏn绰SPɇ]KOvIX#oiBwM+LdAM~{I299ET8.IhbV tMFw.P:vѳBjiϵ0Ivm;¢0n)tL3!$يa<>wS>I]G&&ʮc3}1ufxѺ;qV94Lܠܽ.Z8 ke>L0ybJlF>g}RdT+ Sd}-u@Zt/cLYkX/v6UtG쪗,IVfbuMzp1WĖ1 = ^w<ڰb?8wI +$^xGsW0Q6YDŎ'9/^뤤FiGl}>mO;q$y4NFU !"Ѵkm-_|]|~Ƒ\, ˴G.}ɸb|صRZ l5R!\UKFX}jͧn+rtY8ỘM0ۗtSr \H#zj{a]V}!q5k}I/ֆWX3Bl+gXƒ.5häl{NbޛT"f(rnp ޤ7E:c 0BP 7`Vt"n`Y_r6[ rĶ<.>W̎>WPZ^cl;V"]MWN.v2ܢ/ڐ!-1xQG̍RF; gp#''ί߸L&U||bFHV/Չࡐ'l%xwn$=0)rbQL)_] m|/pNGX &H_IwbMO6mia:zjAH3(V{Hd? zR$Np/<.*a7WYL[`mrg]j ;Kk%벴zL[ vw2TVL:irI;HMdH;49jr`#Y[2yHoգRyxw*\ /ϥzL"{cWO. 2z\#yv,S_#MeA٣=KV^2"냆,3t|op[8ynA%*G[6DZ&GB U-N\"[^fGAqafܺZaVNl3_&7!6 b#0.{/2{j,Z7}_W:n.om2.ō;*imn1AzNj$hVzfHVtxȘan-Li1m 62 !)M6k7뉧싴Z֙Nrs&*Mp6uIҒWd=W<#AJ뢅 =yL=vCEdjС;HaZuVJv=Yx4A*qV tR3=zecbIga8ڂO}>[>܊^Aqx 6pT,H3GnPJ3n' QwHOn Lާ{ź3p3gɂ .J':>r r͜^gЛUzMv" _7>%-~ $"Dvd62H=5p}>2S&cҟIdSh|.G|ս=_qV>0ZM+*M CpU!24Hæ:⬭)9/5<ݑuJ*/HPdrt +:MYv}_h3:ɾklpa#çn} w!c\ǜ_ Ȥ&x TNҽ dU\ 4F>IFq}@&Y[e9|L$ ҿ!0CXH!}t3fJY;~BFa!-ʫ#3}|ss8=[y_6ً6Q wjcwiaX :wg5sOL{rw4wrI9'&;ҲjsiγΚκo?y|TE?Ww:CDhiE4 [ʍAe&0.3 ֨7-)ڋ(o0ͨbi@$ RWdyOn.US:}8PR׺%kzri!MorRGنd ٫dtc' fM7\plOx;gr+&JtG^Æʥ`  %!&J!+ulE|*E2_'7iMlh"e&&H6߬f ro`j/y D6uu'ֺ a[\sCiI F91JGmL:! :n2نq(gҒTܲƿ՘F6,-\L.@Ŭ& T1m&r4tԉksnPTX$jQ]I#oM&*'r'´73ereȶHYreubR./ (0lV1)KRqGyUfqCũF.Qk?(gf {Q]Yb$]Y]Y5bJAⶸ.;% 5P+M5kg"a0 tHtXyD~mfG. Q ݥ榹HDvMjq5?6M]f,L1x|;uxs+au+ksQ9nd[&ŴVΪg؆6'@"F؄ڿ;S.9+!C{1^5ufFvLcF]IUzn-3~u 6 T~|]~Ս=Z؜n]#15ɋYhK^ݜqYg5 Ʃ1e>Ęf($nme ƕb\!^9ĸ?bl}q1xC&c'qCwq@';A]!1~{FcblBb߯Ï_h?",D&u$"HdGGQ`Egϰ:GDr 6'89DJ؆FȽ$uB"Eu&4R&l@DeA"|=D6H ǑmW'1$%D 9d ~~|;8;˺J3Ζ_&G6Dπs%VlsT395 j OPbk렦bMfLJ1-x2e{|&ǗaIAͯ?,O|?3\u_-831vvrbq'9h"FRA> /ݑφ~]NQI)c \<%t+π|b`xsȧ0HfWI7JGf=K%eܭu*I!t .&ْ`Qz);%á|G؞0 >`gR7>|3عXyIvmDHi>mޕ彯# : %6 bZ-OzV7߹jPXݔϻwld##rY𾿀C:#L,,&g`aasSlt i=iQ<d\)F^6EM ϳv(pߝN* sܳRa$TigF:"ay|/h/6gyxK*r9zٛh9 (CPMW6)MJuO+}.ӱ?f"@?o |3Ns\2EpkFP=Gφ(iv;ZBf37ec;xW$}T %8j,$m*ÐT童/0Sn$}ZĔL~vu3[f;eJ`6I :ם-%1&oRMNm颁~ʞ2F5%@>"|oIL\LqtPղqeGlhaHrnJʀfucɖ0k tSdgKQo<ĝIZa(\w<p`#.Sgs$a}xjRIE}64Pჲ"čmy[d>G&73xuġlQyrPq <Ijђ*P&uIdh"By4,I7"l4'׍5pڅ`coiP$l>Hd'6Ty`!Gӓ+ɑ\aA9B&GSrC flU`Z${LѥӼҒ|W>f_ L6ak7<k:VXb?}& mllKg9< C uMϻ3R|R}ETZ$ 颰YkQ4r-;=$FdLZթW>WZz2G e{s<ڮC br-m.W%!Iq ৎV.]Q:ڐU.&btq1~5F~_",~]Pbkr|<:CUhhGg*J'C2m~U2 =k1/1vUz7'*Ra2:`ܚA~7Yrv;\eĭ 7@W?9Dc=e&rg}NNo/Da+WbT1Q+֕YL%MLʪq_1et7a 5n"dtHfF XQոл!XMym{DI&Sopv3 l$8VdSW7׿W6cR(ΝEOf~!_Jk\ &L%H[wllHǦRʢx枋7:JgJSd&Jh}Ma3Qloi}8W n V VUB诔aéJCmga3y+V Wjf~3tW¡̿cuHDk$--R BŘzfH-\g!N \]Ա{\4LvkI5GLUdk{^fcMgX׵-}!m۝:b1\s,9is\nso7ND8I{~ˬ30oo_d6fbNC%}6Fy`ZsdaOugف l (']x c}s +!me yerXͽ?1Yo::uLU' LJSR]Ue>-a7+aƮғ3]sO);+/vдxNL;$Iz$1 "H33h'VjhehL;PrdhI}lh6R$:}~s9U/N՛ɺ"T]z8Uo^WFN˒X0zoיzrPL_Sh >t\XO^gLNW ڡ! ڗj^0hWi#`N>, }S@6'$aw'!6m4{SyIJ5&@+LNMPnT2^a}:0}ٯP};06rF_ԻZ3qѷ!?SPYPA|i(,Lx*v#+c_)f2]vs@3V g(څ:_*)z4άG/L;$IuZs^v/}Intv楇o odivi}^]]I4Yg#"W髳U3"aRֳC_&<̠Vfr]Qκ4m,KJa] ]kolSr)tW}P:V'yU$U=9ˁ΋t/EguJɆ=D? c~vQ ⣼:A(`R0p*'"$"٤ Ǯ|`|J~M~H:dpX W<!1F81;U+QwtC0##1u†0#HDh2u{R]LT~=R Qq:&^_R}@74B]G7u<eˢT~/өߡgNGٙS*!T~O>Oٕ/rҿ__ -&ۗ똷5M~ ~Jg͸Tg͸@g8Gg诳f /k2~m~>U?X|i4y?+@ Q)4ʸ17MƬM+eS?29tƁ6{6߸EO#D*ߎ N~V)Lx3iG Νҁj xϏϋlx,vp ;6Aj❀9mYH? 害T+ԍ"ܔֵ͋$il:BW%9Nʶ4_Uw/?]tJ/vvupm/ҀNB~ٖ IeC6f8d(XMO t}yM ; sP|g ;mPtNLvcSLh,ѭ+:W?8F}dži`h=6+.ۭkD57f0%U!GrVxdW?&;v2G.Y̪'< 򞗿wΎc4VsE==~tEӧyA=F=}LX`wIKotQyQ>(aq+7;ce1RHq+^o_G=?s}Q4<6hLj60k4uzDF!Z?_ïm~ADhuMtKD57tM]}FD捳b*B3i;^Ӥ3cfYg4$i5gi/kbf̨icQM6̚i^0/w8cQt4ͺ${8ys\WAL|?4'<ѓ1M艞5͕[QL׷}iַŘlV\jyQ$ubP3=`ٕ\VWy`VMbpO+b zFA*Vj$ۂbp MV~uY4],+', Gx!GSϛ xXnJۨG!UA$+]5ZKhxɛ}Bɷ!-y$o7D_=p&_aԨG?2!!0-yxz&jD5DagyQ/ls;ZpL:ɭ:BǸeb{d ܾ2g /vzjPGk9 ie)4Zc%]9.aXf4rjuiS6އ0mZ8P8̫ASOL$J_[p&0>q6`uq1ۿ{,7Vgu]E)ctHL7!6H 8Ej2>Ճ皢fvih{AmPȚ{0 }~ [DNB\lJۅoFq@Ch1mÍ&hq0hZSSp#VIjn K]+Þ'BYJJ KiEwNk L{4m [4R$ v@=T6Y>K"D+[kJ/~4!G=bDR0-cX ^T%\KɝB 2lxG _gô/-] q)bdk?}m ;qG-dWFs]l QA&ɹ6Kk G¼)J]1JE&-`Mi;LHa> BO~Z@<9+.eEX-`g]X`zJaS h jl~n^U:~UjhK`PEX0Ѓ TS~c.} *7@:ִSP^y,z'DLB')u3 lEڏ{QIkh܎:i8YA3վ PL!,针;vvb5tΟDaiu(6 `B+;Jk3TCJ9ZPO ?[k`BZ c&41>џ s>Os>=·)?hcVZY0ڰL!Q*氡Au(;JܬԆ 6?3d\0]z.+*~>^6EvO &iP`[zqV. &hrTw Wv8=77 C1%KSjl@n~7|)JD,֋a/idcFNX]D#-~iW aPۉ";bↇu,J0ǎ`z&AzN pQpDE6XVsUqpȩ~*|,CgDzEN @}Vδ{ko~{$Cgؽ;R,}x=?x0{w[N{pɶl׸eOMms_[O։'$׉  Nɰ[20 ] u/1:3z磻ƶW6ײ`}D\Fx~9FR^d#gZ4ۊmt=H*ٷ/})w|amT^f~CK?}O7 kz$6튩3_嵝{j 2 G0V{/GzC~=}0:Su߫Yuxu Oc5kmۤ'D/GŪ;;_}i`(_ ۀ λJ&~~tS*#x_s.K,@=݂HF'L@s59ݪJ6KΣ4k7LfSSOfck켗%1,_/gc{JҼB[~ǝf̜? O>3,-;ҥz0Ӫ毦]`~"Y}:X/1roŪռlLOBEhdʦL6"Q<dz4t<2kJT5d4k5t.c9VLHw|Q͉΃-w05Zsb5B-E;h Og.U+vf,K˄ bե tݡ{3JE8I(f\a[dWѯEX8Z';g:|Ʈ5kFN0abNLY?[eh?D~IdeGdG˘#OZbSkt3-!i^hpn\6&9UnG yL(N3;sQw?E5wMׅvb:k$qX)jVHq<μ.`ѵ~c"Gb RPcԴms[u[;7&7CW -;ʐD!YrL7(߾KxB]v>>XIVw^7ZýqF{u^ *I$+bX-S[ 5T3:C5[2\V084 22mi/0rcxy^6^ƨFܤEcu)łۻ$ۆjK͠OdnXnO PN`h & KcN"'fB-z͆6ߢ3|ŏc4zʿhV;~%la@GЦ2"MXTѪ]ʈvه!6qMhwv}!Bxa5[kD;:[FS¬AX}¬} J@3MtWl}Q_j Xǯ*wOϋ@4a8`Iu$9!6/eW*B~GifJCJig"B!Hi9?§( U)JsґZo._{1O ,LҎLDȏ[IL&"Dw~'á]eGھ$>IDDIi<)'YVG uVMm3@t8,$(rQJ*D&vwJ۵Qi+F[ LoH{PPn}\v%n`E;j]doY?Kؤ;pRGGGR ;w}#g.KWkx%VeQ_ N9vh=bfZ-Bh$5<s#O-{ <X%l(@0(Z ދɂՂt\,_LV_$jAmY5/uF רAZ#5JQܧ삨OM]ql2bڸgRWoř6z.JDLHw=*ewlD؉@q>P?JZ8e ΁|k*C^ȝu~l6qbZ#' h-3#7E~-J0}TÛ ܹ;~$Be̹9Լp1B輟~q0UpIܫWvXG?r4~n&~XPuP**Z\:HAaLL`XZ0A,,&qorH;۬t=FS@|KF"LlS{66mgc(QOYɁPZdg TM4 pB7#. / XsU^#KܹӓDy*l k4y~FӢL:i??1W"خw(m/Ug$O(<}NFb:ٖd&0٥%uk8egyU.b qGEs54Ny{lPThGT9Y2VW1 s~"UXmPL5ǥyV"5Όo3[Yn[ dC6~: Js+KQ 򴺛wth*_u ai^1^Euo[[SAūof& s-0n:,&u|wG:gZIYV -ڏ7e.(kZvKyy/VwEB $νcL~V -JEٷT- IcLNXM2 ] l#:Ϭ$<>"^ۛv~{ZmcàX\o@J[wvP♛^Vuo~gq~w;hh:1u5ADʺq%A)5oiLð:m5/?G!Ԭ:Ö2Dozl9L7 Ruxz/lǞܓ{D'%)mϰKk} JzGyI܊˻4x$tč§S >4?[{N?FG /;[O}lE+Vʍ7XOWF f޸.qeV1{1X&Tȅ[Q+2+խBZVtXtM|8M;r_%=n]ugb'/<(_2̊x47Zʛ i]Ai?6N8-n}|*1#?1v~7Ҁu1Vܳ(aٛ &CcJmޟSz5Ogo &W}N`ħ39q+d/MLu9,`ZJ Vo#]d}skTU[N)jY}&Ɏ|acu9wIUb[]T HV_ɊDe$ljVwLjܾza!Da5Q9aEa563N7b=#W--> m`SlVVǂ)aC-'Te(}_#E;HRcD@Bh !B"Mr6mc"Ypׄ {-Fo2UW;; k [ ,V]}iIdT?ٻ-Lq96T~zu%8QV9oVhGﺅhɎb`Yp#dcJ gIJLΕ3|x?'Jsջ8S/X4$^, bddJ "<}?t]豀}~/B(hDw Vzxv2p:;fGQ VSBt  F&IlPvԻH?/ ,\': Ǜcg[Ņ9``ۀpaDpMr|VV]IfFyifsI -JPK0AO<㣄w 3*s"wRlK*&AbfӦS꬜ki!V4T–/4dh tkg9DR#h) މ-60O#oV3*?I;AMfVb_۽<ފfѕ6FG ?N{IMjY<{#v{,…n̊4'z#7RJIn3[x~7zULJz_sXgEeܦܾX۴dV{k%KfoX!؟}5ڎgm6>o~tqj/jJq1 -,}!v5Pm GAGW_g{vzG꽰l6j}lUrڊgA j]nBh>B?դ|$}v>]BЏr|Z<=p廗{S+n.`&lupӠ@U*^CGؐV2\N{H-T~4n `Gh^peEvmO8%|Oyp) 3Jgy )l`VC)^ӋT;kf׬H(ϟ:ћ9Ozh4t)JC٧8ً'1tqJCa6[}o!:ÖCco ]q07IЊH V'0.4 DBsb\_In<>?Yb# =jeױ'B?v#΄zC#@}iؼ )} ?'ϸH#H"wP-d <~u% Mp! huQ(!Ύb4}%F&ލ7wu$k3zǛl]Jl7a4nFh)QV^ O X=%+vK$BBD§OA3H|/0˪6 Et"m$Ի"o;M}ȆY,s@1&jq\+l,=]rX~-O=zs?kD3 }ϻ^0@гZmDzxM n^^S؋jAzTBOcM2R5cL>V5D[eoG_'p=4͎z'9o@)5wkgN@(|nfc:L6VZUVT3;+_s/Nd ۣ㗈_F7aҊ}O_Si#P.OiXGäo_sג;=Qŷckp;Vc0:B۱y'idhN4"Ť (H+،3r`rJ(glžy솅p7:jbFs!F95wpVOhɵ=ɃS͕Z\vJ]k +҄y:;($ֱ֣gj=k5-CymB:5 MixM8|Enu$Ӧwh o{H)>q\$-jm5zʦt κIe&ɡ-cz&#y!f1:G-o6}r($N(eVD>gUCȆI4Rʇ7m`65 ǎp |7LtWؾR؝-+}!8'RҮ+țDO4J)ͷh^ \;&b?JIx2ѝ\u^G$z2!$!Z xaRJ)k@c'vو|3TS>=I)u^'UyE2` w8mἇC?Nx5[ʹn?Yi=Px潾_G';p)L@u)}-qoZQhO ¤ s{&ɾ+lh#g9>1 3oҁS~?ͷ1ceM ʗ[QY!OkV]*[:ޚ;Ml?T`h.՛՞%QnX!F@z+BA &WQ"K)ռ#:(l5~S\L EȌB.88՜asA(/`g( Uw*V`+±.\X㣞bYpV4 ݆(饎zL &rѦeEeD#gF42E(*ƅ7)xGUjJwp"ܐN˶PܜӛVTWu+}wxyӱe06Ȏ.۽QO3 9rz{-nujEai̶`API::.窳^"'b{A4#υO1 lB,?rPrB7\ACcH𽌸ENn|WwГL7 YsZwbw7FμH:%l^:KI#B픺-P ӏ` Ni$;]H3d)6QBKx&HaYIk_"6i_=b-?B~uR7i'SLcCu=$)&=VYz$bHW`~]0xSX}; bì;HzaKVNɨ-a@>]vH`]isGcsT"3nLf{*k\KGnɬJoQ6B/د6MFjJmh'4t7JkoT>)MEʢ@qFBjAZ( bFR0eFqqTu01PeSd=e-ei99&iμ,yιgygD\'bNՏ1&ͅ/}'Uc'^^&L4a IxptIbhOrh?h?DtlI7ΟGl8cȝI3h|SD*9=cVjd~ȸ*WX+GF{ BSA^cQ׬aaXQ^"d'Emq} X/aH?͉X=/~X=FTZkVocU`pIcCoOyId DY|hP|,S(b>P(Γ/b_o,齱 ̜Vc#rkkog j,?>(ca~҉BWuJ'wfYw#Q,-EgϑTK!h䐯8_DYb?=iey1,cthb'|BɴQ8E8-m9*c'3Wx(Fz'eyHk:6tDL?kO==&ʑ+_Xep_~.\6h.Kɲ{}cm,V~d26.sZ]d 3{%r åd p53X4C-3L{\(2F2ņaL տ- "zHh6vh9Az#0+u7x=H!YJZz,b៭b&$Tj0ra ίGKoo!J&a}Ku#A8YW7,ȣutKN%g|T$76\-7(2'XEk0Mjk3J)jbpt0zæۯذ˘1"aq'OѭԺHqb-:i+`E)5V!ˆ\WcM&_]UI6db08C~>+P&[ ފ<s)ޓII B@PњAۊEܶڳFfՂh,u'IRutBl[k,WV *F+Y+*%+|{y3F.`b&`џ:oY0L[19i(<*ɗ{6[wy)'J1-cm,jҊ ףUvݜkduq֝hp49GkT8(BS>}*m,r5C< ] 7~8g(ta9 o! EXhՁIQ,./Z`0d^Hvɟiz`&0' q;bs,9\>V{Ad 4zSy5JX#||I"O.Y9 4 "I˭zMn@"ɭ1!ܡrToEH~_09˧κ#J}%;9CroShg,M~(%;`!yqO9.w9Q&"Τ]Nozo,BlV0t_T=4uW hZG{(Xp \^N /QR +NܓKBQ L֞U^h Nj(%8לdD~@N.k21$xx5 ) DPn'A)[:",*Т VǬWP仌^}쿾n! }{qnS2}p!'F( 2Ԣ}]19IO\ Ad2B""F^fa?FV>|軟V aw.@Xuq*xdO$vB|=.? 0iv5Lw5o2V+0h Yw҆q'2Ax*{u4q+dA.8f,AW+FW|frkq˸{W,(01o7V:DBɡIM[ĶIlA +!i'7^5 {N9I,~t蹵&IT=lA2GY6uUm{v(s5% :T>1[8O { mQV;'ԎނW 3CS?0?0Weɏ3+_^RL$_0?yd%-JQt'xbS ހ Qqt\G-" ; O 'c4o8_Fy_R` hdi) cςbg۔r'y1J-Wd"Zra)E^9ni~ tO2d=HܸmqaȲSgXAihX* 8"Z/1 =hY2BE@ދ[Whn:D@xAF( Jd6B"–Ӯ~>g\Ed\nS!NfX}O3M [.3?ѓH}\ֶ'%əޔg>$'9(Y|Z#:!>]aRҕbmPTW.T#%DGT?W'%Xc{ B( >JfC e@`5xQ Ʋ~,V3A!h ' !x-'=MZ2Wo_G)t5y_"8hI )y[]A$~F+F jL3bpUWg36׋zހ}]5tqB0K?k.`qzOM/xPKFrl}W]MЈjFVWiE=B֕Mzұ{LImH`Q"u^`G$Yĉgw!R55MDFeq0g i~Icor KCF?51dtbޢދ78ШYBN"z_HNWe_r dLNvҿexg=sB꒼ Sw`n5]qT" XLwϘ$&4H&˼I#Mڡ+fQ ו zm"lljMXV)^7/|?P6~px=E3݂Xycg&3pp!Ъ+oEZݾ3[V;ڷуGVy+]+xX*}kU[Uou4Vbm)p mVr-,e[rLdAY?|Ei`N`j2R~ȩ%IcQyjŎ:,Qɼ&iu2P^v֍WAvR'S9 _b_ڷ}O@)VR_D&Z 3fij:%TZov`qnCN{&nZqeRp3u]OvV u>Q}=kAw"!USX[kb[lj)Y\~(D:򻈾34q;=obj] cbAHdv[5/C55G5na @U/4 1$ %×ZB3y}pf֧e+۱uPʭT&[F$} C+Go|Ȟkx'=} 5)ҁ:GJRJ##ix$0̀=VD]l2"#2#UQx#_V=$I}dAi-#/!Ȏ/;NfJn¦,Ӵ+SȣH*.l$~Ò y1oAdy؂PuWkߚ1/?j,";Ř>s? vr]!tWGDftYnZoY+ZA]`z3mrn(^yLuobx~X .|ߑne{,ȧ" LC9Q {E|ߐ>~fC6*=$ӟ>_iQ/t`eϘv{߂"GY| myς8C=wm^F4L^dNDu !X;!pkA4]̉ ^g^=DzyB Cȣ6462,aKJ4Tl~ῡ y= =܌xl* Br[~ Dyv2wA=d?8?҂X]$6y-|( -DxdFl'WwbyWUXrkw%N0Vw-(0h eqj7.q"-7\g~%N: {կw}uvz79Фg?À)yuxf NQw[yuZqÐ41MD4-̢oɿ,wj:mzX G߄]1We}nWP=G0S&hUu)עD{OImHzs-o >e,9@529>͌3.L*9DRjn&|S_uk6eJbJw-p|1O;][aJWS80cSB>GsY@ʬ62֛.]MO`Nk=Tb^v@o=;_dB ӎ0JX`% @Q@}'L5ʻRW)1 0Apr%eJ~0 zm)k5>'J6sp09A]6j47r@ i+`Q9.Qi(ltX p0ZQ4s6ˢQsLePDĎy^'b;& H3? ?{AT7"_0%v.I Bvg 6Ύ8ӧ:-..Z:ٱvf(Es[/ZW!QsuZ{Bqw|.sƉ ؟ Es}giD1@+8ճkO*$2.b.$XwTY IHǤALE1߈a+>; z8XuPV(ߴӠyԄ,91K`a 4@aٕO2FUd94ńhEd67Lr5Z9Nfs!a-LDT%Tey)Q ;{y"+iX+$Y?A+poY./"_HV.xBߣ-Hw`?䕼nG oj̹Tu"zB ۣJ;B:0D8-h=g3R'Lfy#?LwICNŶcI-f(ndɼz(?G"\' U <_DzwI(`k>Xȵ͠Q%Kkwo_(LgFH&~mܩ0}%u#D9)B#8}@ͧ7_ !1M3!c5ۊ2ȶ y))Sx>bUܰpn*{!3ODǶI"WCe̋g2a_RA g2 (O7ۙ)i]e= ZI~Ig^e%]curWpgP?P1G>vC|Zg O8QhX]w;bizfxQjfBwN6D9iMa 1Ƈw;QhI$tqNs2eLlͣ-͵@9D@Gw>k La3'0옻cm|ic`jB2x*'9Պ8 ! h'[ NZ 2*vU%?2<{W8d)S-Mvup&hoP2q'ΞȽqm^yݓh66uz y>6Ǧ+TA@^N-0hp\3Mp]FWK9*b5o'=QHL7[SN?Dxx/|pa~:1{'jy 68/dWMm[GN'B8DYD2,[V+0j=G] 9U_!WB+^]U(s ]/ZxE{uc>lkWe;C[GfPޮZuAd4'(a!/ЏPnԉN 褰βsįjqڪfFHHsu ^*!;_]5k3'񛴂TUC>@Ǫ{|lrZ$/8drq1tb/Y:ljp;i!{KTi|SU@^Vjw /r.l+YXq":6w|3|DzGznQ 8`o!hfarȓcCv2o)o=+Ƹ-zѦ\8uO1Y S6njbV73΀O:l_WiFNTtQ&DɢᬘP{ڂ*Ms[I0lH$b X!gL6$ %`|O[ +Q3[`fd;yzBvNoh\f!YhL9\ { Lfg +=pEBߍ g {``pFh\쁴Xy%a*%1*Jw1 _Or "(m )D=/<"jX-\sCtߚ>Pn־Ѳ}qoypI^m$C1R7:"yQ+[+ö4:ſM;YW#` ݉B2ܜNFFYdccW?.␈}$91d{3|gbrDgs5bm,&#ޠd)q;[9yE^S;YHnD9 eqe`^se J.⁰*T{fEX+Bgh9 J6Gɥ4ɞ`RfU5ȏq*s$\&DL?*B3w9[n-ND>&kF qԿx`َe?XPPUp*6q8'Vب$D޴ݢwH"`>h(yYI=C=ݜ.$%w Nv#eRc W y'w5~l X(HǥsnE+\aF+zRսC'^?s2:;O2F7N9D36Sy3Cy ; aQ`N! }22ͣ+Yyb4UCU` otO72!ۃy[OLO$exB  ޝǶGqp1C{"gw/v49sS$V)gUnp\R3b]^;4Ш^ ${ŁLTb7k+a丹ArM{SÍtq:mz]ts+s)d#֒=tK Bi Dp76:C] /K<79Q?>I c Az) - ҷ}SoxC1H{S.70OHvɉh$'._:~&sC 29@G.ځ1cCڙbl(N,fxjrz( *VWF'IQ( WڽNS;iL[N+|;$'_oɗ/ L1[&+fVɆA?R 4 Wǹb٦Hh9b539g.V!՗vԿMt' -E2c@qrrODQO0e^cn_Bk UFc>1Mv5'gJ'9 <>LB_*')Yf,tVP}2!DwDb|o N$#1 oS͇.C霁 LNLRAНsEnl &o"0k 絪G}Q:͉B'<Ӝ3y?\yu6 Fxc*j8(G"h t3G>+ +Gd!dh7ѳäpDtYkXkd 1_JumQ$}8{ZX9(ϒ[ 0J1PĂWC`gWC~4c^6YX[|#p wo1-JkьN(Lq"3<tl4y !.R'B(4y6=d/+υ:ARGoPr>;& 9j 6ʼnBIɿcQ,x<&+w1F?eɄ5W[]a,x@@AEh|ЖH,crWߔ]IG+4щB 4/?s& `- K lZyBN]л)@b :Ly;#>SЧ[^1>,G˖UP}Ȃ5\jh yj06R6["N/};h QN6#̅x!9mBۆ*2MB,m#T@yx[6{fJو/XL O˖]-*~ۡ+w%D_|6<}}g.'Et4{65v~k,p~قNﷵ "ZO>CDWsxUWDTUyo wRGOw]%! Oq;aR(={/ "-Et ѽ1WC+ vgP%&dDYdUQw(rBd)imL'r:()AA IȔ=- l En̋IfDn(WT ccU^!cfXL15wV6BzKKkM;Ѧ^A+zR$^ ǐu"T%/9 p녀ND%'LFv]vi7 EKثx]s>ggR!jZTsVO+QpkUd%>ͻ^#&-LB&.Es*B÷9XciP9 =DEc4K4o/g#?B%ڝ27x>Cz.m d"|}эUm|.2]cVH6':L{D^U""K6Be7C %e#ppjZ,:;,PDtϒr='D4>"%~ՉD!U:B|-"?:DYՎ_K^sq=iNK,b*)fP%)ȞVI:ӥnXteE" g׏J6ƽ@r f]F_gdXZB't V;L!t`ҹ6L"Ị1 B[?&"KjrʃO~U+Y΁qN)/B?hT{;dSh񝇵88Gn% |sV[p(dq ƛ;|n3}͂uFƄ Z|WT& -k瓟NE,_7(0oڅ?@x@Eʀnqg!+=O2ࢊ҂L>JHReV!rki9ѐm2UjGN?Lża_\(ӂ q$P83"8ﰽf BڵV7&[}` 35އ4p]%O\B3&ŝQ<szGaE 6sF-x"u*hzwv2{ϊ!+dwE s=gyL'uY$odC@r G3л=aB,ծyPfd;XB J-(qU契|·mq[z淲s~^B 46LJzJ;3(]Hb`v+ a٤u'4(\MDzp4yKԄk4_%CRL×<_+T I`Mo$$Z\/c1F?`tM?5։=Mɦ0 D;^H8А*風uۿ1Jqh0i3=]+q${'E)S1IWCLExW}+BM|WmX8Hшrd&GEm^%vvk=SRRfh6q@ )Sn[iG쏅#4kwhwUzY8Ol7`bq@6Q7wo2>c(T-NDOd4C8 . ӱ^=]n- T+|-"H?U?soi)y0!ԓCBv ..aaG؄; 1.s],xi7mSE6hM^%m j.;' fM(]Z_Lj޲/vSPHVLnPlDUk+챫\91XAUD!*>j('ONXfs7@]&!f26Mwd3\1gl[L>!8cG vNO)ep%{ OZ _pޠ8pM =-' YO BL'?/ 9 ው0pB5_v`R:Rih ^aHfdPA=^7&!g 8xRj9"DN6H?Mdy"ωjRpRdIIe1)? CF!uI^? f,phtP)枕S5MF^Aac/WRFj Uðdjhp{_grѮ$IBx$ciC{ /H81;R[T|FWR-*V^) -J&qdLܢk 1SWK",Qj3!nfȽxvi*+,ҤTVY'e U82HTy=x#?YB 1wV\rbh{DC2e.0=ϕGӓ$3e%FLXg1}Cb̎1Scv7+ ՠ^+ҽLUPW㣨WZmh7ڪWöSֈ*p1z Oty-QuZfTWrzd '3y)2 &+{/5L3F%?6i6XB_lf2jZuS;rsç13ɎVm52d"[$|-_ڸlHoh@fDl/ʎךӎ^JC|a_m2Q/Wch~%.W$MGxKOqZxEf] eдWWD0Sz yi4OwvLsú a>D<+cupe{(6+:&߲O Z{n' /] ^]r1kR; d ) y)1@.佂)5'9l #tm{[z1Pj@ :A-5@5@Hy:{|*ҿӿK _|7J#Ǎvz{9ޒ ƟU$ߊAaE ry3Vl*l qz`ݮdg6amZCqmm.f_`ʨp/O?/ٟkgT&~&?Ϝ??VsI<ތ2[f's*!/ ) 6r8`ʝK']D>BbtџN bmec}p0*; 53 i7%;Sl,r༑ Z +L0HiejVdj'P$d*^P8*ai-Vox3\8* W[x13C rMsP'gu]GXj[e|%Wj_LF@Ӣz[bj!uէfr b[u)+_AOT?Z.ֻӗ^d5}J!Q/SƥeK+-WY?B;P7UE&i_|O<$zqw@i+e2􇋣CZ!x0> cmny2, ʘgf`]CiA;D`~vE#O+|Ͳ\y4oviQk,v!ĮFhQX+ʑ4s`#Μ'wX~yN:OrމUs'֗k;ubĊLp515hjMda'N|U'8:@^zȜi6 rrjkowEh/;]`xgx\%<w"JwvrÞ6V;.) NQ2< HOjH}d~H% ;EwB3NRH{/mb;E{֔:ND~ObQ&IɵL$5WBq7! (6:45uu5vk!#Ί"oLYt2Έjļ%aֶk\FB3 +f!:L 9^65ףvtt{iE4EOr5; a3&?Ibҷ'Xon 4zvp#}P`ӵ"ކM+ѦDchl#(T$|U"X>ܦ :ڹ ̹:5N85 "(fePXBu25B"MB/V "?*B~a0$\+Lk y +LЋMAqaY,7-hw1k/Jkc^ τ^N 9ЬXvkk % U| n"S{Ai,3fEEEw{.w'[WŲ''=2FKTj+xhͳW#EE|=9YIiuuq5`e: ROx61+(ڽ*V5JBҗ bLR/{X [1/BkF#;y!Rfhom.Q#]f%AM3CÙO;(od[ le8 3v$Q}k1>:Yx6J.noš[v"|psz z[k^}3`]7'n(jr6k <|/dwK+k8[{WցVfUJ-'h֖>(sT?&j%< ~џƒ3z"vo(V HZ?~'\z|. Y{cO//y7f1'etѱ)ƲGw[+jU#D $7&jv^x.YBl-0dq&b"9 9Moa(T{:Em䋛s mG?/c)pd;2HhU`{fGsؑ{$ ^9GVWqu'3'mr !B{ʏ5uTWrYK;c_/PgUaX"x6^/vѰWx$a.I!|46^BHjOv+ܪ4]g:)p1V YV~BñvIQ,gdU{9ꯡTasЉZ g]njْAt1ўdgx5ߞu%Msp,4L/2Yv! m4,25vFuWHJW)o$ȑBW;`dq `^v38òN-GhH- h!Z6>151w|XdQ6yk=X.K}v$#*dS}"+<ޫtkIƇ )3R`@anLΰN吊laz&>#r*ٱKd[{dUT`@&PYLk~J6 vϳKNrtZ;ѐ"vZ=WIXg8OVEj ,^LPs;6>OcGeXġ_E(Vru[eenpNvSB:Yv9*EyL~en(]ԇҢ yQ;\G9s;o{Nx[[.uO,]`oF # c/:S(a.d6Ô211(=6Hک>٪?0QJQlt G"O)hvNU9iQo}IbjCbء| `=Bˌ?'ܧ vFOѣ'`BbtW1'Hv^@~--?[| "'V{gϼva_{XۉS@T`at5HϓH G5:j20ȝMO]#}H1tE zR>*J򪝽Ȥ|#G.l}&<Ip9}HZ**\fj={eSSqjeD.[1մu~uډ6)TkH/Gƃ TϱX@rӵP+'m"b 0}S<ͩsEh&!X%0.b+E$S{Zb4,ef= B+⴮fe]2bJ3L3"BLtAB8jO_-,ϳ'pDŽ8@nhBZهD,4f)55~6N\wsj` |(mÆi*& rܾ`R q~QZS0-zI*ouЀà+w{j?y $P_7OcS`Nϱ'8Y= eĸʂ?:  m.rCtfыva$׺ /!]dm(tpON#p`Zp糳0RvŸ!}loh VH@›);6{{P_/ Q\m5{V]O&^ۿÉ{VYX@ )+ly|f*𖵯.LtCFzE2ФyD@lCe0WmYu*ͺS|#Ї-@M'SvL:ei1x#S!( fh焅sS),R6;Ūhry]NnEC|:D-`ӢΉI r5DN*mVo/'0=|H8 R u:?PoBg$wRzNT%O{xEyoGdU)ű(TQ )D{@0u֪Y{.Ve[;>[|',r1 ZiۀdDN*?k!M_ fBe:ڪ#f,PZ;)גj' }qrE6 dsؽ )blUv'Px! O|og amO)?k!kG0cDZR6F1}vc)PGO|$|gXؔt=*G>8{LՁ2>GjZg&@cW3\+/Cj+?V!|氱@U0uBh/ ' !fuhrQʈsC< I Fݨ6\jl@7OeZL KܶMPv7x66OsB49_>H sѿG6ewjGMIqBXȴȣS>~B[Kе7fF2y\*6@t F cQm~QxlA_~_{0F,;\}"{=/ݩ>?Txim̜^O MndOM6Jӈ-D,ԾEږ Vd\N'P=;5Ǝjb>-M(1d,PoIQKצ_o؇Qe^+xwGu&IZQ`4K,/?;TWghB 85t!>eD/7an嫈^/{ޅjDHb+xBEry88pkSA$2u`ng w̛H4 Bʶ/$cV!-8eC_ %GPlq~BH#DM2` ˠ}$ ^bVfa!B3G^1.dH~|_а-j_ۆqVIpԆ)Irnvy>1Q #S jE1 yl.PG>csMh0y]x}W>qV{Qdzjn}v2)OX(Ib>Il}I~Au 8-64d[P$Q2 7;鷋m\"ɚgWlDx BCs~+ڒo]y86 Jt77NQ 8m03w̨N U ٟ (*1 7R+V1O])Dyt9O,O"8P>chX' Coe "X׃A%u@+G mr ^gmqF.eT[*bNqIv_funb>]xM (m8@( a#C xKCC.{-JsF2>\7嚊7<#O>|7!l,akbw"I&Ɠ]=$pyˆ60t9l[PxY99Y˼ CfSc͇H?:D6R]Tg NR6xV/52꽚lEn&̝ l{OsP?o *l{\MOreX Yn, Rnף;%jJ,rNO hqcjX7lqڨ-UWtO\7nql=8SOt^ )[IB fړ. tOx7rZWe onӽ;cr rZHd$RD:=>meDK$yoDCst^p[\.m]a3?`_L<[ T;G4ww;~9o}vXr9jx*ت)-=_Jw{l78H춲 wx䧻p6'I#6i^+7bAqρGQ5~( Lʏx}22c''T/Nt nE-_WxW.59H}~B}a0ƌ oEe9o4vt{#fPKnV,*xN o܁@@LÚ8O8sQ3:c[v1l5⯠z rŨضD|vl["mlTZ4sZoÜhÇZoC&mk|uBjxwBu !JPvV.>5__<z܅V]|kBij^`x^]7 ;"*3&(GF> 0a! ݱ=IImrm= cX S?&CZgR|T;AGie]!&J&8Q N!Zԓڥj| 'fk6N^%I/>/37.PY!qϓ =^Ognje^xPL>0.[Ny]s2lGu([mcsZy{0p\JԟYwا[I)[s ˹fs [26RHdk7%~uU5<,3 7^,l"6o?l͛V7ﺿl޼s͋oҼV `k.{naJojc.7iAklZ6e?Q_Ʈ. #Q^I}uA[۴6|k/c6aJo˸Hyup?I iN-h 4;y'r+I;7M{왅joeo֒"e4vƖWO>`i(LY;TvӋV4v'` 0B(FBoV7䒼6豠/p} uK#8 q-SZ,Ysg4K1L1L~$Q>GGj7H4(^NBr@dڻa}Ignuj-f w:,دl, 7@2_Gz+㰈zk{GI /^l40 v*oǙyxB[L3acRʱ+Jh_eo4u= BD;8+e#89se5sU܆D > 0_ʩtKVĭtM&tkiClX] 6hοhHw= 4l`h;wyC78]#{4ﴞ >u :C!b/ $oF:^گQM~5ձ{o~[?ަ x%p+nSCzˉxGJft~k쎬gIWiQ9ĀE$WPz= #ퟴDaXhq_s'bpBZ+uwֶك!FP0nvO~s]xpz۝}M).!ܾK7GSO2,ßQ_&imT>-(˭jGQNx5nv --%,m'کUE}=+"Yo}e J=qYc[fM~2oȮ&ۿ~6=z@ EyGmFmQX xC%)aI{#,dǟBԆ 07ti͵_mj.Wiρ_T߀[a~#/Cy*ӑݦĸyYs>ּR!<ˬHaoS[D$KB#G$[t=҅2 9tDk]8Ѣ ?=5C(,*?E.那 B8ꃗ C/!m@ ̡\Z~٪D0_(-W,kPx>Pl1b- e[ز,fY@^ϲI$?U1@"h? !D ǩpѥP؈PrcaW.Szٷl[m0 -@tzvZHGL5XaוD5jy8j qQ̱'?;h{ff?=M[ɣ`GXY!\dSD-+fA1`{)D{+HE-v/itwca|pZ,MIz^TIWJpG rΫٟ<5rӈږ @,Gk`PlVZnP_XbPx<a `.GyP pAz<DVVc!>g8-8YRHlyhċFȥm-Sx k&z ө>;Q_gf>а {~Xr6oK"s^Q1S`m eyp;XLL G"7O<16)܍F7*1_GƵ5_!3 c&v@|jG5e"W7շkY^3S6B 3xAO QxYĖ5gּv`;^OXS᜘2[{Vpd;f@@[t yޕH{h+mFq^!V&ߟW \B}s.EB|A!-cƴNSo:Q O$1Ϯjlؼ\=A!X]NXCU{4G|YBjHlvq!, !3qn;~˴="TlPnt_!rl BRc`".8Uskz5G@k/9>{pTqGK/˰| !ͯ`"Pvټ %E/Q> _(̦0=H*SEhWLg-0te 4to(З0pkNb=EIÈ3;2h2þRHc$.l B&?x=Wy_㒻k- P[m%℘6z7?X QoK{k hDZ]xآ ,\tTJ;|KIj?_Av1-TRruBxQtG@  ? +Uuޤ` xAWU+ri!|wO=CY:̅zW%ݩ2-,Tele ԓ@XBFa+;c}%R->,Eg% 乎>?5B8k"\x@u0-e[y|8HK?KĈ(qw楘L[/ӖB:'䷬™UfIS9خ '5ڵ,Ү;$yvl3H䐼xAnBw' :#hY7RH&$ x(WȺ <12,,pj6>i<3Y8"wlKciT+ABm-/Yӟ۱d} ضu G`s)4P;'=Lg dcB]1K23}YMl<޳{6Ѯ0՞L;]}]'k }]dnmOEW:dC[ [n}i<=lclckFZټqGU۔Î8EiX,pvjZ%-y\SЊ1ykE!SрvζlvhmFvOHvfFk#B/t!a\IRșlm eh*ƆZ)P^$DhkW"\q'sҥLbz6ӂ>*ʞ2]n2g=ճSpg7/4ǟ5BYVBw,?So[dK5W)R=0 ?!lQĢMw,*(fР_9F{gW/P/~g鶣v ѵְN #&mݹV!PQxsG./ yuO;v/J#mS“")^ %:G  y[ ObkL!'d.Ңu8Bn4Dfg\5(:j3>GvHuN\=ple `1.}ղz;lxˆD=G !\z(  Ď V//8a`c(\8K0Z+j{0nS],J{>[ܼ|6ɺwy/wcf ,5?by%Bդ o\`sn0NV%r *GupypR8P|֦)kXmL(R(k7]H~w2}Bb;oXmt?>0>Qe(Fu#'#RIJkdߌͭ` >,+j"_(+.Ms a6JT7P}B٘TvsU=1ꢳp3ԫ${D` 5O:=݃:7 oAB@.#DZ<lqqLf,#VVA).؞$`$ȉ̦=meC,7l.:$%|./-̵}$ j/C߂Xbz1BXoİ#-FG= Dw*q$K u%.eQPoR~W Л&&.0Lj>3嗊B _-ޔP݋f0fіhm6x&P=7 e(ț7 H(g4&WR阴Pn^PoK gw7<nzCiyNSI"%>?(O!!;G>$~^DsuD»?TB@Oo%T K͗qNR[(#W%Id*Dy_LM&.Z]vhOm紣ķW%@O!@[!VOY%aK"t9ͪmeU} ?-8ٖdɢz^]zPB=Xh3' &jv!L z,,@qg)Vʐn* h[҇Gt)BqQ? o kip->zAF <5b Qmǔ]G8hį HENG#"d5HjՐ1H d'p0f ;}⪛Ϯ5#msjH_o3sggxFD,^[هЌG4 d.-Ej ٥i7o7jӣLAE)nXFOi|٬2GhzݨAEutߔEҘWLƞ4!{}]+-&OinN8d1<2h(X޼M! QujUr̰zy/e֓ ]3h^ݏOjHÌflW1:<"a{Ŷv')&7\Я@(|kA1\W B ֵ2?jbKir$_A@;WpFpMeߨ=A̳FU K $4U`G}#`P7up2"о%;s =wὙ;r; %wC9e7z4֨0Jm/3JYgn4k8[{8̿9 ͍?O_ yxz0; XB~@)xdQV:$w,Is9y_I[V}]셆}^aNI>zB;T磁lڡ 7fVGƏByo)/E6{weЙelV/mx/ uwc3~xK!BhovQ| r`Z yp=a<鎰g$ xK}}MWwEȓ˶Rvɾsl7gQX`;fn5@{߅z ";, PG(, hÉ_W! @j>;N V#`ף /xgK?\xWpB;\+βw'u rB%o(?6i>wA'uu .&Q~sއðG/c?v7[ݭxw+Ivq6yZE(h>1j]NS۞6^|ok -s&<շ@L}]|uhWwxktmKL"xd0Ϲ7?3_W?x;ߘZ&⚹ͶZu|[xEVg?ǽb<mO.vQOAl۲εtuHs|ZboNR/'djU'32{bLKe61ٿ]B_edL6f_fo"?ZHcIkv$pW//Fy:NnڽR!L|M!Zre 7A$GϱuTKR)t]?qN0GJ`%d%nkqw;7P2\i(l qMG;O?_ I.]"XyVw'D~\d̑;utwQv]6,̶{㋧Bkp^B-}y9K)Jmbqta]"6={Pe)$[w<+lCLydZG!ֳ-?ۜhHN \orm٦`U#:c MY"wu)= /=nJgCs}&? + #cdy2~ˏSHx#~k"2o|B[;ϊ2qΎvlO 26,x(Ңg$WOX৷5E8A.F0~X[aMwµL*b00\e{'BVnߡ"7ah;PͥKՎYEv*\'-߼U5нO'_A9wլӝ)w/!rgK b0rkXLs Λ'"__RJ")ž THipgę{°Pms0cc>vhZTUe 7n\9QvL'w6m 3i, w^V'ת]PpNv|v g~99 5"*eRXxkvUOClF!F&>"ź9n}|[ϣfۃ6 wSg^0#Г*(S&ϪpQM俋¿ln_V?E/U/ &gٔMGeHeYM.X /_\n/2ķmƟ{4ƿ'GyV oyo* z^em~SI@c b&$&̊I(1Q -HkgMlҦ˛%lYk%&okcD>"/ TnҷLҶ s¶1/-X>R`7R~mwJ|@6ZqVnGK|AȔi Z.Cyw Ww9yQ! 'P͎;#F/*Npg o@ptfk BR(|-)X&EQؓfS ?:B!i9lq)&7`+'ĥ禂?cuQurQg72S -٬ͺݚH}XEOsa cS kؼѤX>ؼãgb~,[!;Xm$ςG 5FR` .ԝT%ԃj_.ǤI\EWbt%T5*8a f(f_c0u-fDSך `Rh"A+݆‘mf=t UT/a4>ALz#tn}1c ,{&B8F0Q7me3mw{Sq{pJg83Z g6·8O;s!&%$F3ui/힜۴aZ üB 65sBD EC]^dܷ/GKT OTi*"cT$sY$$s{tʺ$q#"tKY_|Bxw?x۽B x}Ϗ ^q#-ɼFI(6F_rQ=fUAd%X,!F?>b ]_k ^;!1,`a58AJ Q3ٵߠ ;'0evx7bdIÐvy{:{?խVA|BSESp0~,U}!BzS.(6/el^dNqzR=ʴUL#zĘ\/e}>4E4U".Sc*iIR1sbmJyxfTfR<!ih)D OxPAlzt (8_B>5l5h$3H<ʈ6nZ u@bqA+;VTd8.wn= xFvQf7)m~JoHO!иE8wRf8+i+軷L@W4~Q mQPY"Wsy;?͝zsJls@t!a~0|QDe̫ ~Ϋs~ɥJu-}96tԞhGRcJiRQW䘭Ɲ9<[*{\ç|drµQ$pJ&?~ -57фꥃ(ilgDߨ>&Q%҈NO>Z8l빎Z{R!Fc]!|Wm%n g'^#l7<^Tona`*)TzJgސ{&{Qx4+nPÒhXrE 2neTϦB.v~D7hBΕ+wmTLClȻKWe [*)ԃn}|M:!gþ5;e _b yi#y88Uv+[$ѹ);:K.ʎȎa #V)ok!7ٱX,hkIk\OKeLt(V ߍ_ؘ %GƔ|C ;7c1wl3 r(aG/Q_H(9߆Exv.__R_O/yz{nJ 6/ ziqvTCq(S֧a+fk~h/n |v)Tj7)РRRgeL>'b@Ϙ ,7ipM ?gu"w$~n+$F?w UOz~DT>1hόA}cC8q: _<—j%DrXDTPvɑB#$fd|~z K̒0yY2CܢrfS ŻKЏc`X{quD#~rhd3@?)].W-KMGSƿ7~)|+ol<%~`Y]^y f:j&"`{kQ_NaAT;ѳ/z[L}ɼie=bXՃeOquqkI7KHsLjN os =n&%%'M(?$GlާQ56zRs$y:RvT17F8?/%X})زCIlg!Xٷ|ιSjRsڧxkl9 ٞ|ViMn+O׼Sd0ftB3r$[VG-<ȜKF~V|Z]?^8%BqHRcfqfo( ږj5z ?02#S8һˌ\a2;M?\/,M[\m_O4>qt}?oCْD}\h揰gVE+vzģ \A\=DVCVtɇ8d[} ?:%1P@IVۇz#_t-E+,թ%rP5HԇԜ&91,Nvze>eB}'Lb'=^ۦʙ`@9Cr.IBmsHױ]`݆!syJGSvn]*߫=H!*Gg?RiJ}O:'VxFKc#!2.L!|JZ%!Dtvjg,uFUgn']m˟3[ Us*S][zRˆ騂 e P4g!ԩjzajMm|D֍&t}{\Te;0h/$ca1IHHFf<$ (j_rzf㩽tkj_֒-@DRv2wA>Py>kX J,ZÛ ψZHliftfPVr[p[Ve5Uy lUA9 l8:O}~q6Uh0Mٜ↲ ruYy`+dNb[1z?@jQFtZPBjI1axU)f@S\A xOOѻBhWMdM_+2}y0W L_9+,]X[7Zr\,<7Cb U}TYWA|5%I!}nƳS]Gzj;#@-Z8R Q e^ w ] 4.z%ۨ9=-]!l!dӜCT^>M,ɜg,{o"W!P0X: ]h׹GZw?%^K/qCD]$AhaX0ʉ\KŶ$j~< ۱x#Gy@82Gؽ]}IIKAh:3;bw@#)NkVw>R, 5ST&NcorF9a+c5U-8իћIZ'ne3X9B}ݙe`h a;4x([\*wC&θLOuHVR7)92LB6ge@BݾeLuo?>uew.fklf?E#D)bN9$GYVCB _bg} ]B7'dZU=P ۹bf^ʔL^|oLɲ+,?OIkm|h΅[~]}?sx] dN@fCK ĬV3̫N䓢'YN.D3nkL(o,g#W] u"wH}Z`Y wL*̫.4jOn*Px5ypj*O atpa6X=8;wua<8qn>w}QO=צ>Z8K(R3`Z,BP E?Y;fůAT/C=tKvsٖJ.ۻ2+jͷ/\ieВg/o?ԉ@yK\J}>-ijSQ$w_}K_hv"tVdMD\tzՉc$=9BxI|uW?[,U]3$\*"lqYejqиBHbV.ۿ0e[I<ޏslkKi;/[}eTT*vЊպ%} B1;~ԾZyD*'4Tsc6@S?8T-EM XFdUsNQ _|8#pQ6N1"gB@ W1~txwCPֵV&P2uR|ru|5ǀ|jڃlhcru[ؠpTUD pajy?:jv9@<*3s R"'2Bү"5&@!- 57f<'#Qf3~$ğ{l@84m*zn 76Ũ Dn/bx3;v>3mT7u|_C-CN AV(\.ϐ;Ћhd&csW:{W"^ub5Qȟ>-ؚ<]vܖy'\sVo@2kXHU"!|䙘] _Y0(*8x=~I! "+7b$^(1rW Md s~qv7׸0POn13T/tRrYX.@X@hXXۨknnBL|QyL/+ UaObϺO&AE˧}A4Z/S\O@[3nuJg9 c8>*(eE}x lVEv0V&֟3mB=Jl1ԦG.r|/jUr8x@#VMw1:Yտ'kOql=En'ТAckʊ˚|K^g`vPd ܷj ~&q?wۊӭaiSK;~x84^Xb⒭~RtLϓ~sq& IS:[𮯰xeMZ` >8I #GmQIW{r,MQ]:P)2WREI1Zz(Ґ#! @$_P2BfFD>(tpQغXbEզ2bW33N$ \5f^u'q`y$Y!^suxY\:'1,]?I.xÑ8)9T-D$`x=n 0؀CO$rsB>T_"}-33\#wu^Վ\Kr4!qāt I.^Ex4u5ɿw<@`V/Yr $UP[$ѣBqg( 'xV2벓R7H]=q%~Ohjc% %w}S7xyDI&?I:FlKF7.⮮Ɵ 19X>Y'w0H v\/ؐ1X-FWռ=z ]ډnV~Q+ag&`amR-*)$N[(yۊq>ǜؑKtրܺlaEL;!CP1W?c|ݞ>ZF`qE@ʉ+almLjLCȧ.ba'Eo=o)W(hDŦ#B̽;JC>>.>BuɎv.ƍZ8:>/P ܎AOK[Jv0$֪iLW2/X?E~ЭE}P!obz'G@Xmhۺ_'wz Y;qv?![KUOƿ@ qkBφ.٤wD+v`jN&>z%.OϠ%cl6l%ne3>kϷ5߶p<%$L|^ϯJ\hp Օ9yD ]v*8N2t*]@g5W-H!ylgRƈ}@yaRH{ӷ*z i<hQʃWv|~evlB2ίyW  ðn<09gC<ؚ3SI>&t# j+>BSy,s2%iw QRH:vߠp;z|T: q"QES Lndʔ\%WA vBI0o#i^DU7 uEQ#X] WPvl ZVޗN=kcIA3LIf?݈@Q@`EA~(ۏ [5ϛ r7|%7QA'WxNL8ޡڃhiyhB{2Ej4t3O)S| ϮH'8rno0?#;=&[f:©.K$( 5f<.T \9 Ėݩ . ޡwh=:;TS!OeXf\Mb%+n/V*W"M*-U!5K{"$m"w>XAsz"rG&%C4%'(rpҠ Ӕ(s򛏣7&Kze Y um c1JK³A$I-'Üj E$]5$h,W`G=w `^5]eOn6^v|̠bG3φc{s4x*)THn$‡$-R[e~(O?dϸξ2IYā"ڼ QKkavuT4`w^@#m:\,I<)]9 Uzdtv.Bw1l# xvƄd[[ڛ煜B(olcC\_ &>IT4F#mB)vĒm'vy]sS>~*^h)2 ? YFl9-YvO7+%p3 !PHV\¯-~%+vdhaYvuB4y$Uɋ-\O컧Ғ*<Ȍg VR+s18e`_[mFRU14969X*W$ ` 6]!lD.;-Ы*fchفFܡkDOg#096&iSC&!0ߌ%r+BG~JI2)!p|j $|H!DZ~G#tn=$[Df410o&Mtbkepqq`NĻCێ;VA֭]uS1L t햝}#;{S9 ;_Kt U[+-*$˻am5P?c[w˶n$[ Vӭip.shSћzK r5[a{GVMS2LgDt+,]Gnwn @5Wq|7*V1p]hDQ;c7%>DGQiq/ 1#uLWqWDĕsQ[Vg2: |Ps+7f_? XNYX)Dl]B2:hX*zJ,Xn46J]7 H,hz@֧jkh8uc:LHbD~KD:\pꭞRWBQ=&v{O!'^.+ x.?F`e Ps-|46rl,6rУ^׋.#IlB̀fjN/^Bè5X뤡6? SR~t;_G&a:K|AO~tO$Ony?kQsZ+*ħY)I1YoNnTd#@nFW] :۬@%@Xvl|o ۴[g'0O1Mȏ%`x8;bWj*vFTXYݲ%5i$Ibx8w9&ډ<!9/1ƬAj(PHz^+Dz+QvKDd@ܹ\{EJ0KkZ)k/*|ݑUgYu,[!*Ɇ3:n#)x:Ø<}S@Ae,EpfjPje-Pxw'D4+6.0"5$ YX[/j%f &~V\#I#?;X zn,PH:;>S]BgcCJ}v.ACmw=B@?;j%X?S2:^_@nJK s gz!qDs@cYW%{v.'Y-KbI#w'R)4Cc}\-CB[m |@_*"_XS+)DۖX\%cmu03Kb $)p[@sx'+_?x;1rB/O6o. uwuE*_wIN4yb;t$99 ፛R{+Ų;bj[k!wNW2=B) y纅^lD>[ [o= /<݅5I!|r9!W@ }yǏ|wd1 R;ҟۨgȚn!j69.!_˓~٘1vdΑ<VAgvQE\=5  PӨ,GL. XTu?pqW{lu?+g-ve#"QIcQs";wJ}uBSz`*bH ro-@SnQ!4xQsLBB[>4ҸݠϷJ{D(:>mZUs#7"tj/!d$xj祄D'++jep Z0?}(v.Lzۢl;nۡVu7*:͹f߿o4K` ˄k!a/P M?5I6W?n sY Fp۠W!VO+e5Iכ@Ecp"Dޝ^x d?opp`dIcݝ{<[v3;*7cGdG#h1%nuTf je/ q+?z:\?]v2r|HGm6ضݛDFpdK&*Dhps_S{RV)yHqQ;u蘾Vxdhh睇t;=_Xwl fr[|RkYRvnB;yř$WrCteLCԱ9?$C un HbIЗe0Ze VrK-FV&|uBIޮ'"򱶱q1OB~+;_)X@6(oRHͨʙvX~X8m Ȃ^mTU.S/lHx8k4͇/;Y$tH͒4(Vu.UP𗑁J^mL׎ӛxc;+j}ȚV_`⩺&@S F@ȇQ+ & m+'{4W^1\od֮ݱoSwwHi!AU_4E;Tinm٘7eBA"Ul}#ޜ^2۽Qu}kߒ;E_x/{E&K) F uMq=jeсv ~B1ǝ@Es]fPD;^{9VYQ](,S`i_cr1Yq sN2k&} 53jb $_U=v`Ls(RgW$F;Msx^ߘ.u n,GB[(Zǃ[N-Wt+ÞQ!/\b5_cQcȹ89 \ l:%mg{8h~~vV^ά+0(O-m§)G4Z3TE[}! 533!agQ2lvW?@ؔI63U@7`6 C;kzðӳRn~GO18_v cȂoI?' JiVkٍ鿳;@P8fV)MjVR+qY}ٕCuN}?j;u^U(~-5%=I R@dTZsK6˒+D˧c29-$O?h֭w b4]Qs!<6Hw{ݽUS1D'Z&qxuGݵ~AE?&@Ӻ# Z=upOcwO=;tmeۣu\q6W/cz"Jf^5}bvB6Sח^X٪wx ҫma zn{Ov~KcwӲ w9bI6.p*v7 l2v5 =BW16Bʑf¿P8l\u9:AGwg_.> V|mE);)3AMgG1kw-p.s1S?f_nA?:D^{Fzx dQ<jUVK~i *".:98O,F/4A瑅 mϷ>nZ!ZTE딃*y{a i+^g~W>XovSƞo뎅^`^*%njp4I&%f.IX,[xze܂6ଅo0> <6^HЋ>_1-<5 !F?þO6-ia_uB˙%H&]MfgЩ35xܯӊ6=e výV#Dߔl[GFOշ TkS{NhVԇnٙG UWt~Zol$boׁ;?WP놿oHPXjHJToHGg5SkVa<@̀XPPJJ<&AT4MKjWw rʵY/,Z#tnA V5{wcI?f Ѭt§c˃fb V'2cVM}R+髬t2SF4)SǢkRt3jNmm(pr+a"6bq!q}!xB)˖_zvHEݼ[7nۢ_o%J\Z'p4\Kltm (Ŗw6\ޡWyq%V~tzg|:)FdzzTHMuH}&F<:#?"R@wْdL7 Z$X$C׀Q_b!^ qR%trD+we5s nU2KPH։ox :/HÎ-鈻nn nS Dfn^ Md9P7\elM8)!T*+&Y0upfM|ej|Ԓi!y`0˱d<ԃw@:BHka(e, yָt 7a* Nc =fi;u+i9!A\1֝$d SY?idj-u]8 fp,y; >N#G1S /^ov`8m^Ce'KfD.:nom>#ې$^)C\80c0q(Tsٳ)k%F2~J*Y|V֟ʼϦXݥ[ W;*3$׌F L^6rC2)+vLP&]&y/S+ihau{dbZI8#u;\КZ \⩽!)-aǚԭ'w{0%1 ~du`ʡTUW&͜4x@ύ rg@M^U,kK]|pgp>n6j 洬X{WE[u9![3v4mGW(j'x08?F\׫|U6uP 3]ʹC4RK"v+_\}I/$zsp$?qF^jHbs`-:[ x;և{Y b>N~ 1䬅'L قE?쒬tm#^!<Կ>ч`g0gyK5gvR0+25Z뇑a8QC19EU,P(BN)JOۮ,LO5gfb0 ]7gA3Eqc,ȲJBN V9mlE]"zuO(~oh1է*zۺ}egj)ޗ{|.'B$Lux9p7׹o?WMH$۾,Ve_cȗN=KENccAn헣ܚ2UxHYrV[x~"!i߉2[ _+s**nATyT^>.LPpB]H?q_+'+`-A,~Lo0@ İBxao(<9Ak!je b/>Fļh&ʖ%Vfn d:U/':M2uUSWk+\%T4zw`c}vwBE#kw'K`4+z9dX GB)Eъ}~:kg0鄸C!R+`4%Y#Ӂ?.b1B34Z_~:u kIIt—쥬+v! %軒%>% UM4jϒAhrMF }:8{7ҡeOG$MrW$aYյZޒNCXvuŭDTLVꏾt¦Dө}Dkf.-=(wؗN[ᱰvʢ{i]4'SX@_C,V43lΑLuDcj{.t-U 8o@a=e:6F^LLz$MH^4UtihD!3ɫ:@UYn؅ha^U_}[EHVxf'O(o8{0 VQ+SQYCD+ a6N=bɿ3`%R"`j%yY:TVHüP-]9 9ߦ~$ uޏ{ %X&,`IB b@h-J* DH*rdQQW6i身FԚRP""„^h-v~sIR||i<̙9s朙st65`k2ɏ..m/z ti3ߥ;WMvj{$XS\'TDcfKh0ԫkLH%][B }}oN7byy,P1ߧ`mZ%wnkhu7|8'!$/Qd\߈AiU: h/7eE litIL!`-Si`[T5&G ݄0A^Dşo}Ih ^1BXGbm^vLcrjvtM„L3,<%0"茣*Q tbAZ|GYTW~€܁DoJ+>t 0wA⾦glmVi[5>cf턗mh !Ï@U[V6ǖ:q: e]MvC*(ŗޏi{~,rݽfS~bGe:v!#0Htn<)@vK'a9a&}.Թyg{LX+Kts0OX`|]< /*#mh31 [G&Dqn{[Ȗ:3'}׋=2C<-KSj߰P-~r _#C}-$ߊ8;+y#oKtƢp_?N։>mZ_ u*W0+# if?ZUZ_Hy e/H5/;gKZ>WNWw%(񳇅@mGeH+ᛋxμtl^@5ŎRPzOCWzj~VIs)+́.5CY봋حB6T?6,`_#9Fvn3 >'⿜2 nPK@ɡtʋYW(3]:8~w-u+3f!, }.wO6-^vF[#9˶>;Ų,3h"Qv|\e)jOsRU'y1W+7k*{H<e;M?[:YNߕFC"J%T$ xի4{dy!Vg~h$ 3N~3_>ܵf )k DJ=E)UhI~u[pV:/OZg.cMe5;%_V$+3+>S6T]gw!0Ee݄M]z)Pq:mSu7tCނbv H-,O.-Ӌ067kx^N p6XJ^~Vy6bRZ[UIeԏNQ"]PG/#\ 'dM9OĜKryhݕ qw{cu"''}*.[ Oߐ" ghf[(2@{qU7NMFMJp^^$$6ƏatLc806ǖoHdVu- b'xشF'_~aW/)?l~,P//.`Kh}NsZ`X&N178N#?#Lf1s)(sHl)qqNTSl;FE+)_6+A zYESƺ6/"됺M"T/R!ӊI eO2+5ߕM43U? AC';' ClG]\/dM78k:&Y #ŗO;Ҳ/#Lp7߁/ OtBvG&ǃ]t=㏅|vQe/F ܇Ͳno7&/ SX(U[D43>dA7&Ϝ4O6 ;})Qeޭ%W+ta7ènoR.AC/~ á=%-{;<@iPlůř4Gߞh8'-yUӺOC ( ӲQ|^z\D(LZ6ai0@bJiϴCc? )2m[C6#h>A^uo6O! Uw!Dk^^ Ϙam5g3Й{B{bI)?]O!V3!|?S/&v>yR1^Bl9ڕ 7^ö*'C=o[B=Np発y.b< Xoh4s6/n<B0h…[Hk>#cc}4@ !-Q?%+FP@YtJ6LMw ;|! ?KAO!p/bUza¿F,\(! g`yD,WH(ӲP,TocMل߫M Oe=lf>-M%Y lPe;*Ƽe#Kԧ QRS6qj.?tkLHB5g#Χp./3—O zulqc6uZ- -9d{a}[CCyROCdJXPꪧt !B%K,,m&uXz,BTuLb&WsF!eIz+%IXM}סTlHRf ͉i()7>o ?K dTN77)n%]"6p z#YnAwty +Bf)v`b{o (0;N~ar6 tӺDn An`˒MA27~ϳYe`_AOWjl.PU 2Q\.9wDC2!Nxty0\Ob/u4QfN-͏$e K:̆U=IˤjF8SA3e#RlO˰iFW]e&VQ<~q!ҳKe>E:HY^^NiYL!5Tql˟Sfn4]9v +D]2 5$\) , h 򾑮CwEx,h!ޟ(d7iyZe9 Fi 4QX`#~΂eP?zW7Qo|ާN!nI<: jQuB侃r*m_42!yb!eU"~#G(ɃYh6 @| 3+Yv㄄Bk_/=Wr6FCPO;$/~)DZu*eI)ăV|ㄸ-ê?R/ z؇K)˥ /BY5g{NB{Kx?bz@Ls"$q0qK=~QS5S" 4CUr*g ,VY?p=|B0r/e78*Н2Vw>U3էBDJ3KA\lbʶ6HB>. .V!B`ѷQGSC <ʫ{3h`[<ʻjhȠ h:),N %I?M 4N-.6y߮z'hp[_)S LB-PKg2Ysڬ߆djhS>GWSTW K:JeAFY:-T sȸ~g}Xs{9U3`= UgN^lb(uYCӕ?JMErcG:_^) wR֬] cٗ^# BPm3Sv!!舸YɖuFP6yߞAZM_9eFq B3AgKdŏdũTE*-(EˊO?hq=wq݉E)08Ԁj*Kc$̉ oF̓P[ޑd:t t{,ukqI#g+B}hA}gQP]26FtD}fLpL75,},J7WtNn22w}$ gS 3sE/_ʜY+#Tʌ\2@>?\8=-ہϦߵs7 pf6f ~ i@+ETB +$<i"|M6"4 oU>:%mn=?E6fq 6(*KZRdtiv7aniӧZ;DCzԧW4_1 t C W"|PaZW#Ii =f!n2@ro?_š SX2MeBhF{=Bvh0b-!Z /bB֟B5}݀JpflȂ[̒/寑hz :_?$..]/V>3>]ZOJ'k|ɔA&4|Wu|[3 )q U=9'Bx1szGNwi t$M^&.$$kǝOh``x4ff7BIG ϭKTnY- fg!)ĺndqi8?dd9pQEeP:vk$ 'Ա$I鋖l}}:AAu4@|&*" : n(IktC +wY22rcW(ctSk~Ҙ?-nk)AG6rO35Ƭ҈1Ҙ P^PþEXͱgY?9${ 5h( [Ĵ4AC&(e Q|]8y؞DNR/]'ܥu.'t-4А32mZ_w?Bʞ[B3%kt`tVoBʕsꆪW˪wvs׷{DUAoױf.ϗ Hc]O͏$]j4z4|e <6HQa*`S\wHlԓǝ4Ê;efX~ae2'Ɲ-{ڝBYEJ^Xƒu_?xX 'G "Bd^̈́JxX $Cn?DG2Zmmw]q'Ą{}ŝ# V­U gUF} `#a[>HCcp=5Ts5A=] O Eso]x2\B`/qˣB˵׸혡 y֬3z,D^y_]9,!D!:C!5#6Q^&XmbFQQ~ =zuE^GoS)<ނ@&_΢|ߖ s19 훮@l-ݸ~Х-9"?!wXNJ2qPc(w&vn8nKETWQ}C9t7Yt uwFhz3N]9r%ύ#2 =5|PBlMy;a6T:/ =2N{ՌLnl865д/eH9fߴ5?yqg;(/6r!=$l OL"f&΍#yBCƏQyhC4`_&n?Q4tyY6л#0D@e6]-Pⴇ_2^& ^&dʶUt~D!lU}V'9Cs ~*2 lz겥?zz#lYEZ?p=v_NI_?f;ȟr"'6$9$CcGm4X0[MHahfez0LŦH:_2Kh6Λ,Y;ի_/f$p&ePz۪]aGseDA3+Ή= M2DU`ByIOŊg}4/'B1ߥsi~}mgC0@?#2:2cgv9Q~`].QJ`$]P*[([=5ӻq5'zN@mWam2BY+C/:xi91`Q7[mA*esb_dK|lx 3e{=v!U5("^SHY-f_SơjFB&H2SYc Pzoh 6\}'qy~Td/;Gף08EYz!~yA(ӆe :.w9,8GgB.*FgYQf#.Z_i;T:3۴:uS봸4ŀYLm:/e_b d$M`7XQ[yf_:j e-͔M*R#ϴ?Aܹ<mh7i*#Xx:L5T}:0PF;Nՙfj(9}-S~L3Hb !D _2LIm8q97LQ-d@:hwo~zbu a .\LYF5QICIR\i L!>^l$o^ +/nCCyӿWH!gOB[`禬$I0P)#<Ю;!uc(n!uj :Anv%(xbd"h7,pv*41 ^~W7e7=NYvg)"v9 ie~ 5SMb2]^1S,Y;!rF3QD 觮˥A;tk1lvknW*%{At^Y[CSp:ɢ*Sl RHqQ+ӂn)u.mBoftpd [_M@Sq 4G!\HN2>E{+z؃Be^zM3{}m!.4V76kFjp\28#^^AQFRm@j t.@d#_/y@ձ /&DߑZ zeQ~Ȋ^!1[N_ucG1)`Rwq^Lሖ߭g >BV`-[6+sJt(0d aWgo y/^$vB{R{_vhoɉPIfX_#!nT6?H~v+l)}SHY% |M22+MK}3pix@5Ky +3-UAZY}B]HQ=mv/$@-S4XK>-m R@{8?F]9ms2.yZAF볙ǃ>9nd0WYzN3r)?&cCmti!ĺ6bSr 6mv] c~44Ӏcrrgx߳]Giݕs=WH od=toKW%ؽ9Rfn/(ݽhp8%MݜZ ;uKjR6Dپ_ҫȶ;?~q233盡YV0C?.A?FdzveQ $Yj|g7EU746gBnHF 0Х.vh N7_id}6~ FyA?k(+r}a@sq@6-v- H?P0ȓ^*_v%vB]e!4ÎuxP 220^0z1>fڮzü6x0x\6TZlƂ-&Ȩ[WV/IĞ';4,O굹FbBh3,(M8KuQM`KM.E]5D4 NjD4 RzQ3'j@\i-cOos}e\hq셳Fq7ɼԋPB@hwP@]`PkqeKߴhq~z@8߄3ݢQ_/?+)UOڗ =R"m:vؽ!e;騝HGsI*PEuG"qDz/PNUs}h`{5uluM4*Tk`/+]Ŋaf̐quTelq-9u~來 DI3n'Z @[Ñ7QꆕJ}.R,s4Ҵ-JiR#!. Kbdʆxk,({m3f 2y Uk"iӔO',%Z&pkV$npZm=8$8I$|B!75#,F`E=MCQ6@9KrӖ v6X9TMƾ uVSFL3` y`|{ӾNa}nB-!5IeGpYYV+ m@S:4) ``a47so׎@ ]y90%N ɾ.A :/^ 2՗\hZ( f7vq`DVﵒ4x^9$DhRn 6Q%6Y<@Ӷ"_hRT#e(7"Py.}5< J:w@=׹suq3@ej#V7Nyn!Mj@yt!.yfNB'xJ X"tڑ r@3,Nu3A?;U}G:sTk`uԩ/nJxeK){DȖ`hnFpxمy{ 6Q6=4 /<?(z.j;ئc2e&W5ghl9p: إ [?N˝I. \D%it;hv.Z="A:yR*$_ߨxц!Q(N[SyPȠKA\Un?L=I%)Gv˃ɀO 6 {=UW#9 g}KG.f+Bċw1|NYRXP_ʶ1$P_?)/6t+efi]BTF$ηzх2z:ssb^R(rQ`9? *zrS%Gs,ӆαG)KCd( [%c CK9?cҿ{OߢlG7SO[{|4XV>a&i~- ٣PU 2TnEӧ8cb0USz%U'w$=]㷫=bi`QJŔhc}4N6 =.7te(\z /;JCo۠4zxD8~?[}aV7?٧ l?x@c.(;PD{*o c T(ѧ:xC%XT;0Ъ}ͯBU4X# y6, l CQ?Y²ckB3Vdτpwk'>79ͱYqHU߂;Rz|aa)K|CCyI'^vUy6~^xUdLѷiz,Z_{ xXy:’ij2!Ne3ڌJB-7`ͤ1BmV*oo>V>Mҙ;I8m$9MF9XBʦ[?V_8A^ӀP}?~u&^?Z]A&q|j]DRFd.ATZ~,!ZCS%1.;Kv׏tܾ /;- rҿI?ju=+[2t{ٳT]q8,rh(s #?K6=GxPjUcz@C|򱌍񶌉Q:w6%B?Pܢ>o/وW>TH%MŠ @;,PQ,:_1XQU FHu|GhHn}e;+vޚk7ȞCi u/@bƞ ~x_!|jeg=;N'%)lEqn;e;Ӡ*)v {skvvۉv>{_!ed;}`vNأЎe5H`ﭝ)PNE L&8U @xQ(NlqZ >GղiՙqTx*/(A(} H]+w~)@ЏeU$ ϩn R1d1`B(G]Xa6)DT _Nw'zEu<5f)ċ֏ S$$ȡ"A> Sg\5]uF% ]H [P .I~)\)lQ$7MN]w6 :lfC(/!SƟ.RzT/57$v|]ľ2}wn{baR\1+'_x @i(ZnsIWbVrR*Ç0d2ۡG,9O!eoaLBaoמ7BH.Y9]v%7#r3\ۊf! BBc|[!wSHw]iY5?WgRvWZ.Um$SH0">UB":3}N \b<=Z_cID?++T-q÷n*4 &'yWZY7nÆZi([.ߕTj -_v/('M!@Aۅhq[ 2 3Ux Uhnu7[ b\n;w#MFz0y9>z[ )Kƶq;n;h(/ȉPo~M{r*I;W Y59ٮ۩sl 5LY^~,PvePf\6t.\f@=uZI5ڂ5Tw' ɢސ*$B7dZA&d9iGb/n{My]d\ l^#S#Kʢn{&lYJF`$"nYŘ%#U^w TUM0j:.СYX0ho?Wn8O/6`^)'K\E8 "f\FH4IMHl|!2BM>ݠ._@=BConkG<=c淼O($':ގM(grfᡄɛ5>!C}Kј'؀K\SY^)H4Pi4bׅCI@T'$k\HfDp2i ,/(em%Z5U>!dD'%E5#0loA*9qabW$uۤ2T:+j9Σ! DxPJ.CWX(\b8/OJYUx5_eUZ'=O(6|GT[Arl_':HZV̪x) FRˀa/'DU/*?~.Xyt ;XxM \nPHlBe7TE(9/,aOC PIBMNGbKCBT7tm!CIY>#\sʹ|]j@ [A͔MjhQV h6 iZʊf*,?i`U9ķV#J/|WM J=qQJGJR(}U!QJ=NOn3J52#];HC:s*{CQsnO{$ D|}jU s:&qhA4qr!C`~U^'Oڣ\T:}:hNG4SHcCuPPV4@u/(7K y>(?"ʻBB30p{U:5]-BbׅKCcOpvH ao`}tTBͮ׻9*uC*8xvر-=Nsf۳N~mEĆD~ X nJ-xz{oLzox곙1e0Kw yZr=Tʇ ݰyBR[D.nQuUWH)?*/cXpQ"1r=«Ɯʧ?]qlm c@Ϙ{Uv9|B{p8RA*\{HD`uc$QȅTxCyO4LT!;U nCۇ۠cwP)(}NQl"NGjҶ$YNP N%x CT(L0oK!?Sq îo&KPs*3MzUf,ܓD_ MN){!%q׃&zmc[ɘQ@"2Uj]fXe9|@d r,vz/6Hdi.mRiSx/5VT>x :_ ){A?ז`}Yw9E,naŊ;pZ r-{ epɿ5] YxlrB|RU^ jWLf^[撱?:`B|T"o'Qm&$r^_PRD7 I|:t9!nbr{Q@y.MK Ym>es/ZVu7Ĺ~`U`^T|mX?\b~ G.g3Z !b_LHE8}|{V"<J$߲[5_PH<] yN!|Ԅeߢnrl t˅Nd{]GSuEcSpLa 5__FÎ9Ĝ-jKDmgTޟk9AxW>( xw)pw FBN(Pn)t1u8ju.ieS^%Էစ~syc>/Jib+Eg?n:[;CY?ۚ7Kۼ}k⠘.{ X?Ѧ{"dS@hfF4<_@2֯% H* bpʺ `?L >ƶN *0r-EHE9{X`~ڭ[X@%{֏YN&'.Y <__N77":c~m%_~HBAW|7M:a=mI:8B'TnV)fO$;̉8׸+b$bLF ];ErvPț9nSQN)>@a-ťz)YJٽٚ=Tdݩ:gX&vR(BHhO.\-m;0fCbd]Lzrz0"p}~tR_SBoȽvs+8|&cLj.Z#֊? O Gb(ĜOK. R߳[95Rt4_@;;R`u9cVԤž~]`Ψx'p^e#\^vh`P:;[g=>fu{g?NBQ#]ث _gV1XJǬUr=7|z1Iθ}S.Tc>7e8֊9\Ǯ $$@d48H:U'e4hE'xkY:?5 msÞC[=kmOēXG4;m?\ŨTܟ sBa2V{6n-m[1Z6KQNӿd uXf^{](pˣ{}WdAe2B|_Lf^xfW fjB AƚDsTo+]Ȝ9BY֬ᬵyK3H"XBb5|"vFB.@3vDoH䳩(p%[=l:8D ^dޓGIr* [nw`䫬?NC<· 57%b >oUaX2ZK߅SX0Om~9*pg{uvO[/chW ^ZQ[0ͼ+Ӷldɖ_i1a {nZ:+=Ư fλF3xTF /h~%PMAvbRuwHJPg nf9QRI{\\޽7+U?&:aڧk_7ZqjH"ˇ&km<ګv;ZzGbIZ}dEJۀٹrx/#ߵ\6|+gAa1wt؏)ŷYZM~ı7#cuNE˴9Xem/{}Ĥl۵/nP =Yn/6NJbKsf> (kZ,"xlm'A2$4֭9Nkr *8b U~ӃL}%H?;,% 8 5+Y[Iv ilgZћSP5ѽm$v1Ȝxְ ts6g)1'JkA=Y?gg; 4l5|SsW!IU5a;CdDw&Ca<9[8G#ւ>T#mP> B}}; )-5(EL@B!* ǵ%ȼS.pٰgK6Xc<$.XV.Ř, "{ 6<\`dU4 dN\#2j|ՐkK=62Aq?E }v{@s]Fj{踣"IO$kpLr} d9"cH?jU.R{GJd7ŮͤnB.S]; b)&Sf sҖ@m>mK!e#/g9Gs-^`U2 Vm81\>Cj+ʸu,kE/7~Hi?G: nl-Mvx.<;^`GY+cM,d+˿+_d{X67p݆" P8xL6A@ TT{beOno93 (5(q D~&>'}Pi$ӨfHAXI]2e JlER!@-B);zO!c56kSa/9Hvg7o"caf,J->ODa< 0( Db 濆q\,D7$-:ʯk{VWlmEp<}%(t .'jKT͟Ld.JN쎮qlj>xQU*8"Hz*dtW[B鋊^qcIϡJ'U%5oi[A]k {yz2(*/P.'|kb6qKzIW_wp-mY1j[7u2gDHe+힭[n}U濆)vc;!֜KԃU=UT#cZBS8UXQqZq[c@C޶" ,̛WJ-QJ?g_tIֿ]qnEFbkh(2Նp{YG^!RKv,{^Ld -mdGXV<[}n ) SSa\Y3I{Pq Ea_I;q񽍅ƹWc`W@߽RKvݙe96Nu(XS}krC^K!B<$A $td5~F'nFK>VgX~#p\l\g}NY,I@tZ"p9z,Xߠ|"DS8RHbm6sb^źIҷRL Cɉt鬱MGƆhRbpW-ة e`% o_ 26;yOF_'B-I(:kZ#pJr~N9;0NJ381`_+p祰1c#uFjn+ "!?D{QJ\ћSw69=.DwSsf *m L;@џf?Dcz 6Eb7PLtM%#| N%nd|H)^;FmR3*RIG)HG|SZ*xe_{l7s_"u@`noQ, G"d8hzY#`8t<@{>T<;4OtivRRI*c-REt-MJ' 352|'$f.cCO\h7Q 8h4(xHppc-W- &GU5A3Dj 3ӤTsU(jC323|L*)p,$ =bf<֝.&b6P= ER}bu@KbTqPJ CDu5YZX5Q5A.n@2C_tt,M/w UI\v/%yD*c{Usq2W:jq ;9Ct#Sǰ CX]W9X%r R['GB8wY>lx֛8H{Iw7O^/76׭M5㸲oK8=5Mכ&ukڵ^T2,c8!R2=@8aa ͓PzZ2Lqdy2@ _bS)թ8H繴4Su*t [#aTy שВFDհ%5ϕNS-ruwURsyXo'QԕV5<‘!H-1FD8 H"0TPjivoJ v0|Jk+J60̮O7@_;HȁF\E?C Jk~w tH@'X+Is N;VkB:}v4aH~>g'GE|/h2Ύ\d&<]d\pCne!s!w'm&N@>Tԕ^J7)ɢ Rib/(L𫙼 HA Pۋ3$$\pZJh}lnL͂+Xzt7zTyÉU!0BžLv(sWH`OlxUk_C'-H?ڊҪd#zFԈBGމ?b 7sX&bA- %q6?Y.p3~:P gT\ම#FN΂-'XQLL/Z)3|{1L_,]-T̲/3nF)6*QѻwpOFtx+FH_gsIGl/|Lo'[8—f!ӢZ{]Nl[|a@\Cß&_qj=㼞ӫ4B=@./@Jv$ y::^ٰdfB@༥gB;OG͜T9S5ReEl CVR|_^я tXpJCQi_@d+FWD\@~DЀUL8.YL_jW]E?qK//sغOMb]/;vJ׍-}$M&ikbkhݘ]B!B t opkJ[rޓq\wyc72|T9-3ǞbYMu\3'u} )]q޻縵KJd֙{rZwrI' 7uZxO82FP̥ !$}ΰ\vd4x8xQƕru#D]eDžgY&q\c.!B])Q7 DgqJ2O8R5B.Sz~Y^旧ؿkBer PFޓKR%<.dS)t'?6RT'78'|=YoJ;ROIC&_OΞTCnkJK"GCz7O/KEkU?݄c 9^CɅV2B[b0um8)G޷FD9Cz+pfԌ8QM%\sv#N__@lTGRʄ\+zDN}(dMq!|\=.- Dž8yKxi /mmf^!NTF$!(u>'D":OŝUyAqPa_8A•JnP2A#3@z4kx_WArUٽ?)Zl oVZ,ZSK>ܒ*2PnDzЉ3NXX)B$N9hIUu?],[0O}>?GxPfLp!<řH%%XxA1Ř+cX&v }A9Θ{#G6c[ɮV99Q\9N[!cOʡP?֘i/+6)_sC^JcIUٝTɟ,/5d*R]nj9Y^V[e3?WƗ\ђCR1W<%?k{9c(nEQs\Ѣ8\0抧nE}ߣୡR'+fq"m _)keUή=6򵊁P0 /sղԦ_|7+SvB5Cs Vj )sJ霗a#LJ #q J{/ړw)|jzj9[&F3._> 6O1Qs%ӟl$irv]MqoMv9{ &QJ^oW̏xkB5iJZuv5 ߦ~qMBz͏F$OCIS͏RlR^"hVk~CF !gk~$};%gJфo'& " ml3Wa^L5wXhhTpV-uq@@·RΝܮ@/$QiT;I  VaJ5ߘ@I@,Swfh XKQ7 bkZ:s xFjle,5,^^(pYjJ2)IuPPE1s +5 d. SlTr0zҜ.~/>GG]j~:ҋk4fÒKWp,'MweOwʡ$ˎA'6 ANכ\bSc1ikiuЩ9껰4~f>j:2Q~_MuPdΜȓff^v ;#|^'KXא{hT͇?@JE-y'Q*JsbYKg t*ŚٹFUVZ]ctaXBxxa竕fE`ͪ9 X%5|^Bx/ȟZ@DmXb6ᓛ)<\4ǚw# {9ȁȉN({dpzOX-'A)vcϚ[p?[)sY  u!ԱIg3YsBGR9i匇iL+~&!㝲m޵+gTYYکBTo)KήRYNYڦB2>WR匃ݢS1fA eȸoSwyHަ\TCU;WaE?o0Ϻ*asU^aWſO2U]1C0㯊޹ϻ*26.dg߾\+EtUΏT1?)]rN9%d7Y޴C2ަM2"LA0% #w<:Gd|(TWB]>r =U)|áu|4R皏LhSxW*Kîad| Y%F֤o!k݉ct} ]wdtB׉ٌokO]B׆kw_`to+9z]ow.FטokEO0򾅮r6Ot*ݠ~~e]۳hU\II駿ySxg(䢳; _loIup*6p/ps޴OΜ8e3Ù?g WQvS e`y] e`79Jq0JOyq 8;V7tجQʟBؖ. rAm7 6F["96_ݤY:7>vYbx}KNN?h7.K;x1FK72Zr&Z^_hq-EIDKӉ݌o%%hmG7 %팖Ds?&Z>m{E&Z~2j(|PUNWR' ^?>'D(?]Ș+f!)эp+wG~^tw.tWﲫI}#?7vqo~O쐭.dPt N >Te'pY!E+ G"vB)_HKqpHm٩[ EJCGqpJrMѻoJ y;N(j9"PvzqʬMeG ҠfԓXb]|tnC >J74/fBBv+e <[Kacń@dWha_CatE8-(Ц2{7b[c>y&oϯc붓lfڭNIw/S$,OrJH??y~sk#v5FrDDFudt ƿtK_Wq\$`=][rn|oXΎ_ +,to>/\a9#ms5x,.gg:8ZC/>ĸ'8t*r6~\Տ͋p=.m+t~|8,J?- jwIaD\}$%"`E_EVd<^ynщȊg"-GVd,k<|s*1'ZI;Z6 /d2` QH皧'HX>Sn_s q^s\qKǀ[)PxK ϯ嚱^3ӌM1BƂVd@[#~f>M0o̟y6Ebn8gRˍ-;~&QctdOә+T $gLtd{2Fd2Y"r7Ƨ11n϶ps'LFJ)jBy 䊌(+]ǹY9l.\rG8|I%PeӵpgFXⵔp.ӻ)J{zރH]%\$)_7;#_y%Ƿ)GpH 2~4M9=n']X 3 J!~:,z}A3"Q~z[QQwunGW. H"Rr ܅;tcleh㇀tsv{X b 6)x'c{(#PWIJBnj#u m,1QQUyz'^'^{4MzM35%ّ4W9;?deo?RS|,c-q('wwO}%Ϲ't% -~왥K%OO뷢ͱc6 +*FGxR^ G4TBsiG),#Н. kbO8STYN Tjة¢eҠ&,UbkSCV9c8ԏ|< ²gkty,}"p,[w'4 3]SKEf1" \ڥčH?N)!tEvwS.`Etj8#S*P1v>\Mdn'<\n=Tc$2TcBk\HDzۤz՚ KUىɂ+- ltKcd&*gj,o3ΙK]8XށTqqgЏ tT~Bf Ae[jG厑\,ӆst<rǍe  ]E., z%͐9_X6#UިDv}CHdTVE8N!LD!NvWIAUSsGR4 MߟV/5A!*7DvuQ~$U֛RSdcȲ8l}Sʦ9JkGR6uh,+5<)GȜʗL#=H;Z&HcPƚw<5|&Q{f,Y+"cvL G-( ŝhq˯/[Key 3sTS)y !/|05RC\%Ez_Sx{ :EVJF-3(t&0oet0oᨲiE͑d nh' HjkEj:.Vʊ\bٴae%1!I3 3DR6c %yz Tg~"(9}˾' "A<|2U,X a(c!JŤȭ3 ח)P$5ܬ_CC9jΡg4HQVhsBXIMmLB }+Jgd3UmUrܭ`"s uTBt'JB!FwS9j3CC.jT<>+@wNP M\?$8 IHo (1O)[CRdM-@RQV) eS+#p.O#2Ct@9 H45ԖfA71|m E̔ 3J)<}\nw]?=<r`I"DťMGly!qD,KD¬E¡;rqLGf>|,BS@䕇U=₁F'+ʝ92Sų[{DeX9Cų;2Cv~\5inX:ѣT>Չpg2rYfJތ$"A8ƄMvk"wnÍLǖ*8R]PƖ% w:>\*l?-XEt ȂJ2=vf] -p%F=%S01mmUads{S!/SDg>V|.靂6VsբP3v\xPC_o%ȳO(m+e l`s؂Nڄ*\nr*QU)g(a7K g25rY#oF2/`!suB5e\cμK r#@݌ۢF%5ҏ9Hf)eA?a3@*n ZIzSpC>p;J#?l(EeF]mU/KDmw!uf*~jbTGY3Ovi所Ql y/i\Il!d(b*<DMy,;!I.r n u$k"B* &vJ@ٹ䗂)d C|Dj>ХԴ2G/ e`v"LM B,Q'Y&gWs*&><Ǖor >^%5*tɶr2kPMǍ*Ϥ.+|Zn-+]_yܞW| @QHOW_˩8?|rz%~d `|32߂ϑjFjIc SX6i9:z߆URmx?7 *AdR~.Ke?"e?,m sU ?cR:+)#< }=dW*J 8| [Z5>濋5!1S՜򖧏,OUZ1B)<_O(\ABɬl A*#tL}[][o˱g?֛+B*jIwǙߕcE;;CGRfQbXf)˰Ṕe趔.Wp3ޏHޜmxLngwڹ܃P Z_lO5f=X5fp5]1ɲۮo+p3[M3/*&"|؇[颕D]&b =I$;ZokSDjCHh D<~@WQU|EcTjhWyvFVA8WID%դJ.OO'"\#ۯdys-,Ӡ^2&>A}>H q}jI@~,Xުޙ/Wqj,PK:txqG*I_dC ]X7!2 <)OOQ<9nf|&q;f a #[BlyM02fadGY15]UnAx MǨ8i[s(taE(wv'w$@ىۉp ҠO0럿,;;B.<"f@$ G)" JagN W(按-\It$OH,KxSq0.ҹFx R,ҏ ]Q!~ 9Qs*S;}|ގQD $p*"̡wQ=D~jߧd9*<'f%WLgVGgix%r> ^P^A3T~B wjj:E+rdu@TZv`|+%թ{jSI* #x_` 3<ةbnzH H1QsɛX16#2=̿,avy ffBE<;\>e$Q_v2+%@hc-2B>3y؝F|N#\K hCUV 7Z?Op7 GܥFKh$p%2붨r9vE& J\~ѥzڡ-*\y:nT=5L _P'tC.L'derHATe_zbI ^Wl[g=獃X7}?ޡ\ v!|N֏ k1!)Zn1c[Ɵ5h9x< \. ˤ@/`椬Y6t܊K!0&d\c }3s`h^Ɨ d ˫ :=۶kx+Ly7r()FF$lEB-TEs / EG_sAaWbt؇!OکJ\Jq?**PvF:$UJ 7i*)JUڥ_MH M@V>:K$!yj~aZ2$Dbx086}}/!9eVaz8r[X3Ti LyکOMGjyo:bj8DB'0E.rF߁24Gtw!# rOa8)X>$OK*LXVd.̕X§#V-7|Mȉ+>{Q RðUT9~Jތ U<-8)^1o%UT1j^dӧ,UkR|pmm BYB'vȳWxqd}6T&^qZ.UUs<\SH:J[E?YU()d.+Wv>`je'*Z(Ζ SC݌ %a[t-$JӦR.plj95Jq2(,HMK?)e#>(X]) j;PU~#-FBR?btK Fpw tUzrỲmJޡ6#]]Er!S]+y3Ny &$\ROah)̾Ϙ!uwvM3LIsv4)zK]LC0[) 7qZauivZu!-:4AR'&Z5];XFNB;8Z&)xQ'WbEGR *`=QY#lUYSYfff#IM|JlѴ'(⠽1qEvC>r+iI_ea#s9+I4Lm^?I"5؄6%u'A#!Z cWk/)>gcaŬ>TA2fUF7(þҶ+'keQMPM4jɡB M̑IrzZ9ELPK~\a<"(tāze|m.ڸ* dyDj3Tl-OtA Q=j8gnMfBl gٚBԘALH>7k@}Ojo־ n;>Çd3}Nq,,É~ȘN@F}h^݃@eaY/jxjok>SCE̙frOjM_g>hύ˦3aGƇ;zfBwEm+YUh3b>|\Տt6yE 6d94ŗ{>zpzjQ(_e#b:gL5~H9=gR[+0ۘ`;DXI#`r)KwVTϮ!鿋bk y-vp t?ϖ/nbB'5laSɒf[g_@¼lj` + 0}VaGU|o=܋d [_ey%HHᯘG/1y>u}瑚Ҷ@6Gt 1͓ZTBÇcbK$-~N:UW#LʞHk1f"33S]*NNH\" *',LV8Q'[H=>dP}1U?@ÖSn 4 +6(ap:}9|_11Ny-\n &[I3fȬ6rճ;pL2ad KYO56n[cY rV!fm@f]cj2؟7P0PJ?\.LN 'ZKdώD&v)LJmj6!c] ~ \1yjb| y.-J,@b{/cA)+dPqP{ݪtojܛJ"ji Jr- c̒$# eltǟsXP% ?b*ў0I 9J$APsɐ D2(ì4aYWZ+j$I& ÐL!3y}~?șsM r kc;waKc4| $8#lrml>HSlS/E28ϠdI4(ꄯUXV4FEPbulVWPcuBkE=@WԱuXK=@MP gZш&*jV=MQ F;ΊՊzcTAT*JъjMP:kETE%ꬩZѨVԱ:}F+ڷ(|bu"htPEFޥElΊe:ΠR;#BI6u!/brdDz̰ZpS/ K R+R>S.4!SpV7(I֟J(Iψ3Uՙr#ҷ\Z6 * m3e_&ْ)@k@m9]ѱH(eV'bXSwb߉.Vˏ4#]R`Q)ɔ6P- G=m%DMH3mҊ-]+ja.ܯ)jZ9i<)fBIIgu"}yRޙ<Ő'vIC(O ɓNȓIy<)<)?OzZ[!6x O,O*5IW yRpk,ϓIIhA#ڧfVWyj^<)?W4O?ȻUDZ:xN*;'3IH 礢KQOK?'AԬI#~%I)})wN*<CU\4 u0>"2sB~|+KҊ14}*BiHZ97t;T_6;sViDa9i4x& ˀ<)1N@@S(/πU02Z)iJd,̲HSC+F3,vű WY|τ<ciOV!KPEzZڛMZwp4-^4͡UҔm}d,JSʡ%Co Do }(9OEk= Vi~1s`Ap`?⯃U~V`NN Ai @{w.Dht*΃>#\Ƙ652x9E׃!BV B)XDW&vI+`Ƌir2kh69,Gb?^Bk7t-y/ :^mwm>!OA[VVm64 ,Y3ViGQRtS+#8{R !x'}58ڋBxO2ߺ_qm\#':&W[:r}]ʯ໔Ԍ |;yg|G Z >`ogK =>K|gmezͫ[*?0.o]w$RcOX!/:ߑO#ߥ`VߑF@ACchw'^%@AK j(KRߥ9}&].w X\4ΈE6inc^/r/2~7*i[Ph^~i0n#C }/../+gm@9|ݼJ^Cs`Y!OBF3[Fޒ ArDӝ &rRF8 sxUuT"&ҤWPjg O]h*肗 ]k.eȇa4ruֽH+o:Wg=O50o:l=QhoppWgl1>'-)S4><Ke>9T7d( |U -.{:;Ϥ4v q<m8N\8qv)Olި!hG Fp5h_݅ ܐ0e7pNkagrD;#@'<:g+ Frme //?-k8<ާcӛx~ߥG|u!vӺR1Sv1 ͜cJ 4SWTwx5 ʝʈkR 䫮J_~W(>Zv EB`@ #-/ϿDX.( ^j,Yɷ,#0zxy];/!ɵ1X|/+ۿ~=U"uK5R&wY\׃ߺPVU@^E dea-'ku}'G>hxϬhPޭ oJ Иr70?GEfxmçLiحIMyzo?m|= -z徇_?}AłU/>0ʾݱѢ{iڢ/Z'|9=7gzrA'f٬p#}&(ʚ׏xúrsڌ1>)L<:7 nlX2qtnѱ 'zĄ`Mú3cA;Y[^-%\>ϝ=ƅ|a¦+ŇV蟲w{VqOnx]ϔ}=Sz'[WؼmWv<}ǬտVUo~}?_5kX 7o|%JJaK6?QvudY;6H ¦m"$iPȑsnTQ ՌYHE@oqnᖝz=Q V~2Ed{OR:e%PquOezb8BhSXMmLsy0IHkaѨ=(׵0#ה ]وy򯆫*($ :} 5* QX!A8]0U!x*vh3:~cgxiYH f컞2LQܩ5l#{ B!AW@#XAMm<'vyz6po&iT?/Tt藛X`Ө9T7_, 밹 ׈W;5sUcc2'X\<9-~8.NTwnF~{rytk0'Qv(u^|۰y <>LwϔW˔'Hv4z;Nu;'&eSplJlGfLZ찔{)ǺJc D j9K`sU@ N=d_>ƒ)xT̴ f_P)29x9zROgGKm\e5 b7`bJ,W'ˤ=dv)T\-VS"2csLC L ;Ov8E`[ۚ}bIvf2ˮVr.wuիI dw !v4igW^hJz9 |o9Š0ZZ[iSE}zղFNeNXy0Vurg:G$IYE;6RH+!d';''Y FL1I_ "m w؝٨/ .8&5⤌fq| d+cKe B2EIJOM Dl&X9+~ح$#lV<A!p}4B?|$PT("F 3[ v$;ܘ pUx,A}h|:`CgvGAf83 ;}Hn;=@E#XMbI?KTf*4B.,;~40Sdoc9i*=7a|dTp knX܀HॴO|IZ&ni#V"/Ȑ!7b2&&db Zmi6ZL;Ύdd} I hc_&beZfΒv>ҿ(f$l+ 6d 8aq.l)_ZmPӰ  IP˚#poQ̭AV,L,Qik|eq#IΗ.!@=ݷ],ï-]nws.tỷ;N0]ueLOZBm!{Hhe)&gsDXo(5YQ7jڤZj2dɜ-ҋ l7ْq5ٜ F6gi˗=ԑ-S]:je,[gB LTVGH2zַm4vB^~6m=zܻ@?bZrD-InzQL1fL Zc٪ZM1ZdsL1t+xqXAʋ;ZR%vKlSi5H_F˱UZ^*r戔kBr(_|(Gul>f%MB s-[.Mpdh3hl.ؠlK!6ggY$dRH:Ըf1fS3Ē a%M'V$lwFݟ0Z\b2u^VczHs:ψɠMFBȾTWqcI+tE=6_$V3Ijd+7WCV1IO$=Di'$+3TK.u?. Z0[2y3v'/T}5 ؽĔI}1B؝ߠ2oi|Ťz0E[: Y%peN>:RBtL _WEsV}08>[eQCDW@PN~2Q~oc7~` 4MH 4O|IL/c1V!=E`T;\\w5v_7Ӓ.~!4\PHW$6u`}+&u)Tf)9mI(??iA+csAZC*FHd Csޯ<1K%Q%!3v.GR^ {~XF9d\H c?ե ,N I}gM _ M=UU rH8nBy]L|r{0>b!sAY6q&,߽;z]06^{GL7JS~u*z"7 ZNOQ2\ChLtb@xz.p#mfQCKòLERt㲧L}/si!)B"s_{舍ȐCd΅w4:NאjzLQ;BoH |Zs S0z6ޭj| Ƥ*-qi4^B o9sLGcb)U<&F)}6Q x t>#yx1ۦeŤwp(]V,liiEc6@?C}mlJ+.AҸ [1Vl)䴍DD..,jտc:qEJD:;Q!>0z )|~nWEP=îZG$v]<)n]?wd) 6>7!j 7d/g.؞i`^f 3V:~P9ޠ`]5tw{Hh`2ɘFCjj^x%Fg)sǖ[:"r]aiLMMvfd7ʲf^hQ;ͧ (ϸZjYr0-31m0+1i>S;ce]) nCohmDo C'W+[ I4(@dtE8ċ]|<B|}!S) :خh4vQK b;ۀnh#W\$9I``wGʉ4f.48͍V$p/G3W/K,ͼoAU6g]Bmy) Rtm[e6 7V‘W荘y85*;QNpiԸ!$0&&a$YM6!+^s75SC\D߼1I报1XM/ѵ7#.60c7Kjc8XN0I>7a}0o2ƨ~]-L۾8nP/%ك+uOfz7kUPi_r=$|84[<L_V#oj$Vgj9Xc eu^xw=d=&ʼjGfa$I+I 㰚zjoKp8 XM3L>Յ^L>o 1DN 3/X`#7ơi)1/ɞH+~e>u)SP׏OCE?0 TSеq?nCt nC8"@zCT" Ih)[ s1a#iR?z0xhDw0m\lR/larMoH-f#~c<@ G.zCh"x F4=M9ZXq@p{XN!z:&e骷!u?6b5uĞ8DsՉ~ea}KJ!``5C4,~ZONa2ddɲ8Zׁ ջS^:^>;nw.#{LCb&6p;:(+x+dCa:I |MvFUVIvTPH'Xo(8t'G !z1OSX\EUt6>kDv!ٰ.w7#ՁKojyEX]jPei`Wnj2^ambŧDIK}N9k]:6D!Cx mQIZ2$Sk_#:hפMkr=_)$޽h!jjyZi/= ub >7k:Y77:zc72Ƽ=n42a5u4G\k䣗Ӯ8JcֽͷD^WDS 3CBtke3wƊ'BtXMn b%Db«RvsԪ5m&V#fbGВ{W溘=Tث"e&iא0I+? Cȵ1Q!6,ǥZr.Vg~Z{4ݣ)Љ?1sGcc,tp:< XM%$7ca)fusVH ?Af ڑU]@>s]_W3y=:]M-1R8&~jH~W_dL*Y_?榳.8_B%PT'`qxϬ&&Q BEʵY^f`F˳ݯSQ vZB>zt64ۏ7NLOk[ڔofh,lZ9"b .(fJ7L!O4V^ K`} F@>X L8W(؈aUH C?|݉C ye\-gbî 3&)Fa`/#IkBDI _P ހ.j?l5k"'=* Ց_iDu!pdEoYrgM%\V2Ѳl46 f.tmJo35xy=ar%&xM RH_ۅ.vD"֡ǹb *~b7!Wi"ݩ7#wB 3|wRD^aLZ뤕m㯾jМqtLN ZN +3?"C,̟ .bͥ܂gU_j*QMbɈQӍ$Ug8l6ec+fW $H$ $_. cCl5([o o2@``ؑ/b` igcc}P;޾ T4$̋U?ZC0d+$䟲uwd) 82Eq\Dp_a8G\te=j%q\ЦݔUoPd(bAHnm !Dp8BIvojzIr yK(01b 7S=~sIH˳?VS %q\D.87ÎG7#=Z@ԁ@VH ?Hsv;S!!0Ւc!'=(L]ʿ8Rbwjrc+ ^N].bվDq'LB!6ik~9wp5de;uZ 'ٍ\z򌁾߬G.#1?1Hjƍg7!Z}8O^^k_z#f2FoC>zWm;ucSnFG#ߋߴOk_Gd)1Z=wz,&|,? .KnspS(y,&e~AEc0N(\Q¿# k?r<4ɜ.,Or>.knx^u9+>_\Ǐ]%twçGwKgJQLkwW㱵~TR]is HB$|XM͌q#UoեF- $={ Tސoze#T8s/2poD`t#qc^6JdSr osbW= %8ˍNXHsN:jQC 5.Atz # ۙ?b':o$V5l9dؘ"U&}ܿ  ]1Y8RzF3~ڈ4J#u'gI|p-RcTWӢDI OB~Jnn=Б4=SDp(eNMsD,tC=%L[\`u*-s_]-Pj ED-u kȌa>w zogVvAda'nxB t5-zD;AцI0t4̗U\Jv A8< pp 88˜c[ a:]fgm. Os 8ciW\|-L;cR]( !SCBT@tC-VR靸7h tg\= CQItp]NɌ]h`.;pnsqeGD&Y䦎mRrP{o`7ܭLCibNaE),Yr9Q ~O_q[/o]_ [6ѵ#^8_18gǡ^سmqTҦ b 0UrEtj(8do9}hln* ڀ^LuAp>d8{Ȗc6j_l5 rM.e؋6&2$krޖ ;S?qH )a#G'ʛ#Vh;ߦ \SȒ)H{6.g,wSet!i-:1o4޾/*yP(| p/i f+OlDUp-O8%L I~Flj&G&'&MӾq)tJF VsL1Ho/=lu 6.7(s [AD@Vb0*yjEYOũ65\O G6GL /@IV40ϟD([RNWZ^e "Eiߧ^= 8E s%Di|-5|ɦ2ц=!-jyG528O%֧:d,ֹong։}Έ:WnpyXnkhyJ~PH}ō9Z "PHTܩye?/bq<{_+$}l;-+ _l# v'2'// p[σ&tt \+\ m>H}]0>7_6iil|]Lӽ!foo6 mٺN(1DA\O_'׈͋1}'@Te?07 B9ca !ҋI2]{ v5#lj &q-7b]59-0숄0@oӓ]4s{Y=Ziͦeͣ(l:X )8 .&Fp(̭!8ct&"ptv?c֓HRA AȱoX߱{&c!v=юۍhA= H;uLh|BvCiĔ,4i*_p )^%]s55K8oy#kBƩs\.7Y|:{T|Dn;cb).|%^QE,u X]+7H0Q4Do m\ӭ 9B)@#?FlZB@ `VZ:hs686γge rm^WÄEdr-u:6=$W:o\˕ra|zߚ+MmbtN3ɨ:|9zGrmq;ɋIE}5Lsu|о" uhnP 濸Zua7X]+NMKEK@'{ȹZ'N3\\^|*F.)x$8*{\$d n\aHxwQ bpJb\k9 }+pą=J"}RB$] d՚q } Hŧ d?2\Mۜ[X :qsnZԷDg#QIߟD79Lߝ.yّd„|,YH9ݕHsDKҩr ^)Bl?(n"+q5"aHMOe]t&i0h`\Sp$X2/63F m 2T8~xS-^*XOMZ㽛ma6Wm ;̷/;HHmcJao ڱj5-<9>,boGBLZ1٧FZ@G }>ۼ?9!Vݩ[m}=)h/-LKX&C %\oSgin,2d&~K&N܎9ie4CXr4mzx]D^ԑv#9U |9ˍ]W9{A!AfliӚ#n5"LGعjGRYPWgI -ٰ# !shǥ3߀";Kd&ڄ!A7ykj/fp @hV.}*]yX ЉDʜUU#- !ŭ6ByDOO_H iEP'̈dS3auvt;BM$TrR fJ\(ySoa*_ӱH4ygJz1r@\FM"^]51|> uu)䢢%Ӡ6u4C}#hX7nMԻMkU.k濒zVU۞W[3c'R73Y&eo/;o/CBkˎ;;۸(^:0=^bt~.!z$sVv'EDa.tf=Rn^m8-^NGp>ŝk:&&rÕovgvBzDzU3]zqxJY:%^X }3]B%ux&c[W w#Q:^wiNrաpk0s ֦0{"s2"r,絡o{( .58Ɵ卿=]D7y(M7ҹ4n!{m㪽fțy[MPN00ZKfC](нBe}G?.!+/8ŵ{ACRH_l<jt /I` i P*\j= 9+w1a>Sx2Ҫ@)NP,_JE`wߤY˿32NA dF!2S0;c!VKS&͘vJ"V_4(jXe@"4ŭs>¹"xe7 L h}{e4їlmۦ7Yak)MkM V<`Q (P֫EId7:x U_qu*@i * e„MJI3Ϝ @s333ȜGY(`-5 Ģ N)*D2{s 8; :άSi lFs/]?Y tih̖E۽=̞LN^:4h.*u1P xǯ5@),N9/2; ƥI-/7 Lm=OU%Nyz-3Єј]\0qlpڮCc<~w "RV]ʩQ*<d}v(س0Cug4E(d|&{.ܳ͹#SDDNҎQQ7S 7oνTNLPάj30խ2 쵐Fŀ[c2m">&!B>*9kfF8&~Kks70ʮz/}oru[/o3&Pv/ &_+[_u#e8$A8sI&_.Gi+#RJ:sfUQcr,0(A0djb% F&rQMiWF=}?K>@(R_{r.О'ĉ/bx=FXوe=Q}E]}XwJMn`,\NxЈ󹄪}%=*6h.}!t?H}xUU gսE^`9Lb8ӌBoӰl C݃b7SBދ!?AD)m#36%NȈSjߧa /4WTJz|8n̈́p!ۑnuI/JHM4HXO[%DgCp;nmmzJGxCem mum=η7`*icƂR v:$w,įsa qH.9IYyma(Ո 3hg+2&nSC-<#;kk}܃9.}ENl]X;m_g܄=XLԴ+oBVRUWcVriҾ({ƳqXI`SFGU(ߗOK"1'A՝/X"l~ 'yF9+YG{F&G,QZHUWx.ą{,}Q2KwQ41L^P3Ru;9^B.l2̊Oe~ׂ0Yyƀ dlniSۢZ; vGcLWbY%=%p'blYmYU ;<ɝq(E*9s2/w42 pm\H.x )uV$#)v&Ovg c7^B4KvlK?#1 ^ԹIw?̑`扴?tsgt&rlM7ػ;)x}!Y~uƞI\ݧfIL-`tzrV MW1poP2T| R %Y:^V@:tΈp`+Æ^{yO8N$oSϑG&p8jI%.f͏o6WФWGI&5WCC/߮q5,Jj.l#B6w2$,īB]>ȋ2NB)[hN6s,&s[*'*3Z6* y4X _l˷8EWxWDWI/]Ua~~s%׳,ojbͽ $IYiSSe.7)jJ|QB~es^.Ek`LGQS,7,׷B,8D/.idf+mFu4KȻ`d??VBitme/4F 9\7 ՙn8[Z*>iO%R;lKB,B'&PstG B;/`rYdgt眲߾r t2yh ю oPƘCY9jc#rc$>"!f%;?od..R&v+>ڪ]B.[.K/-hbla6VF^Ư8ə-!xS6iA|yF1rʁ!O#P}͉Z=C/Ɗ1-kT9u Z`csiX=j[|9ݣN^)Yy+4?Z b%qڈmK'DxQT:JB?ThpD 22í SA5gϜJvofw~/Ȳ_5uߘ $Ddl < S[ᯚy+Jܬ\*lf%v|mFP=s5v<!!X祃#779{n> 1:!BLo#|9+󈎔>柯y6\63عTN ^2tq%E^<@O_d,kfH\kDȹ~ !,Ɋ,9jr"N:^WbX''˷U*.-L*9!%L8K-A[>WM^TlY;]`*9K{_:*=&Ԑ%hF+f3` kJƍw7: 97'a>8H.g(8^-j8IGͪV yKNetI/]eg֖bRy/^EP|ITqv >3*M͐}PplZqlǶ 8j"kc5,tpSK yo7h橼,Z(74&%a/avy.s#UD( 5ie fPO:MMNp`6wä4vn4j*9Iz=\lF+ QZ'69ʝ[\s%&xtSItx:Z +VsL`&aW(>o! )LK7TNF/u@?ֲ@}ZǠ}(8ʩ"'69FäP냬_v\E5~?Dm&!R^OC%DÍm|y .|Jd}1zo8gZ2os6ĭ l=3ȼAF\lt?f <޵St=?1>b\a? 7qa~Pgi\3z1f.K@GjyC$Ho$_p \*!o'1; + i1f8:8va1&⬲@g,iI8Ds?]qtf,C!$92}{4Y`SrJ?9kjL1ែBd]у>-:٬H;6!?dETyxv!+75!: f™JW# @[!>!MƟΗ*7pld?Fpp7@{`ar@`seoNo 0>ffGXR9ٻ-pbMaΦ{7?*W%Pn1Þm>*rH9>&( d\16I):[9υZ ;20R.r޾ks gLc8J)6~iRY}TpyLsbk7w3O3y, v` y?ҙ$Dյaևcj,nYP҆Yh]iűlbl.Y aCa^I+TGGR=U{и2BZ&\=y#MgzTоgEZsHϒ g,7U䔞yJWAc ]=;Yƞ 6 #nε!u>ww1V8[DwOFmos|cP4+scho0D 3F|K' خRv6"!aTOHHXk{r(]ot14h0X;և?gߦ:?yhۢ4Š7hW'4*f&;?Muhgkݲnh }17"Z^/r =|՞;cOiQ7dܣnxHƞ ^Y{q*MB=kuF%y/TAGDu=^BQz$.f}uZtN"Ã#!UH |+} 88Av:۷/uc ץ9U s!"PQ$T8Gjn4]1)7|F(N[E(I?ߢ p%ܜQ5@,p#Al`SJpEpa; u qt#' x{(ȅZSbR&@&z@" 3 O6d5Q%(:C#Iɗp3l&)2[!\>sBnYBKzR3:bRI 7cњĊ!Qq!] B jaQDU*y|x @ } #_]|a B5pvP=|Q;#TPΪ)۪/IZ*HlGFMXN])OE}9Ot}'82F ҉WÚceCL$SWKUOMtwdݙgJ0Ao3NP=Md/HPу3%9>?L5-UaH~WOZ0{5+0R "u v{q6,$]+UWΆ?· D5?y~8}a /nV  #p* ŮkPwQ 4_iaĤ dy:EaE"]c*?&G ץҙkXXgSwAcZjh30S%UnQB4p #xS٫Y90]6W\UC Ӆ$[4)iW(LlR!H; :9C.u;7aC b&y"Z|c-bH3c76 Cy y4sO\rFhd?rFf˩qؤCnoHS[lCM1kFbO+$IrT]%!XHȧn"v fÏ=ۊ%!?8@.fKjuU:b+*`=_}k@bVA¡gr-n &g HTr.g ^'OCA> Z'ܢzv.>H%K*Ff'Gp uuf51* y1FgG6Fv)s8I=Odس&=5' X# [w䉕!|a\(,#J <2,ۗX^\1sM@Ģ苧#=%D퐣b cW9^(O]DB< %mξ8fۜϢUVM)!kb~CB6+l;6!r>[8IVMB,rgtii_.u#~n]VZ!⨮ݼRf_{z_w}=t蚘D{Ѓt̰;mNIҵ?:L3o #B.!$-x#@5Mw8_MMz"︎>խ BH)n G&͉ȅ | r_b"1@:JX,!6=o_'!zp4`uh4/&W&#y@=f-ÆYHԇ+zI\d2F<h;^$KmKB #i〙*pYBPU霅ao}R<)Ӽ09fUNOҚf χl)-=W#cQZ0$ cHE`OZƣaw!aI/V +C vK`ٙ%ZpL[?r?ϿBz`D~>L›0; t||=Lr!>?*!:ҳN_"v];>{dPO/lɊS`eC|,";Q2ӟ$%C-,c7t oN.6xxD T5Is@R!J,p9w3h>J|_{:rLc Y|PUBހs 3FFb"F1z7E^箄m4Ug7* c7cA9% 38˥mAg]ƨ)Rɀޗ&4=ؠFJ鿿4}9S_$hϭ1hnϮ1 .WK*adr[Ԛ4CBpo̗O9\z_܈|t:“/"YJųDj噷1#-hM)Z> ԴG˧PBgEQOPʗ#b[% yW y+!U|ߓC: 9sC9? qσD0xy tu } I _.#G#zjY6e0TԲ\R`=Lȟ/xGLWxby+ꇐR*uUM9GH&Ɯ>}r]YAaUXA\Tzq {emKTC,~"߁+}c?REeR= @|Pxb,G1OjYN \Ra4^:AdwI8Btv&ݻW cfRF'_=Η4.I)L)E7ԋiZ}t6qgDo\'F^`dKsiZ8Ī=)<=yr$/DҞGl˜ߘ"ands"1s A6'2b]b}:?B-ۜXVrl'%JT]p%ar`H# 2lAI.1qb"9:Bf0m KWW1l`η*B˗e: /2U,se;)b} +'w?)'Y_ETEoTnl!Xvf(ABkVja< g* 9O:K被PQR1Je~}?ABX3 5a5xa E_Ato&!yDcĥX*A}{o8I*VG\ҝ֙d9w@+ cJnuUHk譗աh(V&xI袳ӓ?@t,^l"c*$}q ?L0@ȹT,meIMbK\Wf{=QX9yqNq6Ƞw<7$H{ DgNMg֬* 0j$wR9tIHEjG.giؓTNSs JIEvtor:\| 4>>H?_|WLgVBm~,kJjGx*߳6ax.YXVN'@'sF#[{х`d/<&L:_΃U;4N9S®T*"H ZD>̏{#_-r ˥f(\ QTV"vm7Cr*}YL$j|`vվBuRs%M'i{;|9+j2z~ey]E4vT.=}O t9LE ҆;jABLW¾H.|Mq'M mS8xR~MQMF ы?9 9ƔJzϏsdɳL?N~ˡ2d рE$(cNs `[r@+,On1 0%S*[=+;C,sFG=X ~~鉫ѿfH凼h1>-rgoz͙zy J+PQ|e+"O1o HY<^ J?yrj|Y.^'6f+IF>n 7;B,*:?\h6:[!sNKF,ڇ!$2VsGx7kKd缩y~s]wlU{&]rF@$1ħJV"muȮֻHi197y9Om2537 1|JwA)2}76o(lwSSlw֮Ui.&'ʍ2?1o4A$9IqhyΝDk -?,̓]s|P\E3UK^$Ȋ ;#cY},zy3PR̬)E5Ĝ?6z> 2_bzT39 cfȧD `](0 {字̛9-! +i2=SU 8OD7&_G>MTk0A6AKIMrM=P?Tk<{>WEG{xGC Lx?t.vd| t hsosfUM͌g6LF}'|ϵ 9Vo3U^B1Fm/0)j}Stb#:;I|/ֻWbf%iOyLw2~.g/'S2F!yW#:s! џk3cC #z{7g!Bʒ̷ПDMg8HM.bכ91N@`JhhD;Hg=Q@rA@cNBǭ~)ZٹYUf䂅=vFvz{[.,N;b,X|~ #BǧbwN"v/J@%sC+9(d)P{n"Gt[nUEIو4c^ظ'!=96iHM!&F42h593\mؤLGJ:L@2 vPG`}0Vꍚ.>Ѣ!4~=_I^}!Svc컘3agi*/Tpbr6>!%z~]&H\ > &!,Ϯ roC҉B,0~#qT5:+ffe4~("L5"^f8PcEν{Q9N7O9h|9YHDd &2a7,Lt=ks5,I?lbmK@φ6x_[4d <[q5&kZK:5hGoݙyäo~u?Lfc$*C3{91Sv!DeY%FR4.L~%?w׈LNtȉ4%qV%!@q=S/.p=M)?c-R@$ojŗXPq[`[L\& aS\?;16[. ( H&la"px )G8iEgIC%"p"7ŀӣ<.˺.s u9t@36z싐oYH'-x/a0u_A175LJE4~K4mza+_RnG7W4ALT(Nq )Eq-aF=K=#*|g7_cnP,pF(f {?jGhOv6]B)>#m+zb63C=-"ot,cc߭Aj7aP:zB?MdHP2 lvsc?rփfmx=oȯE!M$o "E;2 nHYUcv9O>>{wbF MV},"CP`KMH 1BQ,Cz z W '׷2@GǛ`^\._9ߪ*́cǿrZY@[,+ݜ э ia &c1\s6O)4NwN f8+ 09JM6#*}WZG.Gfc,"s*R]H<ǼHa"֗)s z"ˎNEg`vě_[opO!&q7v.M{x'"_ i>8O} I*ھ^5xڽJ1\P|eUQ8]R,5سTN;!&KdI|YvUHEc^@g"lp\|OrO'ƅ.}+&0#ʢ+*{2^" ,e#f{I3O%@q{55-kK&psQbrTX>d@40f.0Oob&\C٢^=Қ0c|ΒŜ9ngH.}tȊvĿ 2|i +O#tF+"#>1|2$iN"L^_4}T(F_2i)t*y_ dJST C _o=/F{2^ZȿI~.j0Yۜn?&B2E쇙K~b!Uݫ啚{`kybk ZҥQP\у }_+_97"ݝ8mvs|֞Gذ rўDLO{7ȢndR^=-sP,zHCك&PEjt/|va_`VֹiŇ~dlؓ$DW$?Ҁ0+)ܭSw;'5Ϳ ̡ Ţbƭ- 췳wN87#T3ĻLHm=t9(VE7%'~TBц'sHBuC'M'w-Z? 1Z+=H=:G!r*ĺ>bp,R ̵pnV0c8L_g -`?ǯ/W(x 1;_s]k&Cr]h'7Գͽ5kls YA/.MFmRyWȗMmSE*}zS^@oè9߉.?5Ǩ]O?T3v92w/6מ/y/'X'!`zN44Ogܜmi90]%Zo}/ 'Do0 ʩ4vMX,HBtXg5miwפ]:+ld#*ეA] CGC F^~;ҝ z`;Y gp/4 }&KL*;Sc3`R @^GLj~wҜM&{M9-8_m&ּP9 P/mf< hrDT(u~H JS?,"u-kRM-U:lP-\Xq2d<{2iKi?&hl.K@ LDIPkdlOBGULS䘭p7d}FB4[Y3d(%$<[Ds{ؓk 0"qr=~ImEhR WqW\:U|.)`[M[h&ɲ//`466#=u1TϗS* pEU,|A,nr8ҩmSG425x n+X ~<,ćR. 73*9;IPusUJk}*i8:7d, klgqmlgo9'|>|?Sc7r*t;1 QkUbzU4VbL<ڈYeg[H6 55GK6QuI;g r"[JF( (Q=?~8+uc_5 6kJaCr:!R*F!Ydi&ұ}>qԸ4$L~-1_@q>;_= mO%=ysqd1JqFj>Az "J\7ZCN;:s?% HʈAza߃)J8*q w%3}iNOsU:LbW=N.Ƞ?̓I;D\I>FH_oh 'ǯ\n0uY4Jnt^FOF,nG1F)U ۪{8'CUI2" Ѥ74~ 0 rMppIsW#wT*9f{ y^1gd쁱S޴7 љIvKP]ڈ$j`gs8 t1˸%=wVއGA:\xT=HhAl;L''.u룠F{?z̍ԶnQ*5P0BJ?9`b|zؿ]FUY >f3g/D z"~5xkJ-vAnw%m^HٹYEG[HUtbhair-PT65P+bf:Q;܉t|lӔ~#k.\ۺ&n!4e[3 /DpQVb!%~Qq;\]wU%>j1'j|%17D\4J%{m{6Jg]]LWeAl1t3ڄwŇumؙn\!uk(__'Mɸ= /wdgR%y 'j:H1Et07tjr@l& 1LG>@,t LX8S:ocvr߻Wj啚ߗTٍlF{ yfkT9|^"K5V.UԂZu(ɠRpI?iq\P;efh{u܀e[%FaFW.YnPZH1"cx쨔^ BZ \?> G7瑂b*=<|uTf'^#0^%󔿾d'Rd=IFѭ+^D|U]zcoEO+ e'~K^́y&ޫ+x8,C~3NO55KLqBaeډecYE̅m _"?HU=s|Y.:S]2gͅ4츠{"'JetHFEqeCF: T+]ɺU1<1|Sms2P؃+Okg=f|q:zϗlʯ}~OKpOiB'Uw} R} ћ-1fGOgX ?5Nv^{:XOvE(zFU}=X] Sgcu ~w).6nϚ,2q=;ow"wI}Go:F#' % 9x& &iЖdx n .6/D{zDcxxel"\CSM=%}"( 1׫z;X h.O܊¬:?TBBTn=n:\lnqy> ,Q:;c>G2褥ȏO+Ж8(+|.Rr;ԛww0_̍aYP_6_4?vYGPտ;;f_ j=4sMnG6G:9]}iTtPٙ.A 뀎q:vԥxg:6\]k=.ttNt L:޺x :A:6vht|L{\]RtЁNt Rt<ޅqcy5ڣ3\=.OǾoǥ#8z.CttLB[.AtcyOk:Gg:^2qy:}ݥ=.EǶ5e:@P4]/Lm=sLtNSfq7Tjr>Ji>@RĘ5a&㐊U-gow1 OTGnߒT ڣl|*B)<0ӧwi7#桧@Q=.P֯p7E &E尾F~P;=Q<^kT>8uJZۢ,71ʑB{Φ=C2 j\ip]O8)k EA =FoIoresT 70߽ RB Ѓ w n^±FYܶ"doX!0ø{ eGВ{{gCI ǣ,me`փ1s>>zFx&tL$Znh~̏2q~(2~"ĉochD"#Zhw@ە, 39}doqYA~]ˉd+#DAGލ('| @1xP((C- }Ƿ0=\4 ؐr[S8d%rā@}m#@%09T ;v+YnE"@L/_f7q>C7KPZ >nʷREx1l"U?&y>: ?Y̛dlk >lÃɨGrYdֳlXƝMt>/ X \f"P:o5~ǃp-7ډuj9; <),$ӕg.cKnW]92RB<6xT/yP)3?i7tvWPgEyؾSo9 (>@O-uqO׶1Ӹ6v`$r$dNv20+;50ɎAojI62NF7<:7+ mk̸]vMkL9F\Gz(G[([>W F錍m͙IYIZ N_tc쪵3Ib"UyʚCqM֒61GS\wiCC7GHF[?'<4o'6i2x 5$31fۤТ!Rr>:kQpoż# kw>b?+1nlzOc:k 4uU|"Ba󂢞\|}3ZY޸9h} „Q`l^ < MyHߨH0B }xG>O&k3 e:M\FfPŖj,b%maц5A28ne`9>/y):F5M׷b[[Nem,Ʌrr2]pv|)sir}O6[{#8E.lQ~uL Mߨo#asq7~'@BId)ٱ\Il.m@ێ Bab XyX]dQojN6Ҧ=_R^}9ǵ1 eytܫv/&!TzBS/D+,Omq}TCJlx/5J_l]kt9[jaAEhWu!eoa$hTYDx颜dw[X.V2 hǴt[R濍#\a&\+τ&]1,5|>'|"UqA ;Ή\sAT3̉y<:|3-'_*Bo*2'~XP܉c.3=kT'pOÐ/Su4o㨝WƉy3 ЊC ~|Ьz2W[d47Z}x,.3z_,+WôEnlg)(KrR%TE讹 ;[YM(ӷq 38"hL5G./em,Gjkx4/Ψ=|W[io.GΜUϧ*RWȜ)bz#QfA='rռsP6˚9 !gޙiQcGfs(@s:V}@LOZ,;|}+tɎ-/EW=էTdɎ6W <ℬDESUS3(O!SQz '5eV4% 3L4q_J8'ʇL?Q^|Qt#ONGB͍tBY1-|E{j}HNcoaC6"UWq oeת. ŀӨThjq@cZAv64Jy(a),23|_Z#Z>MNLlrʪ9ܓ盙 ?0RKa&K }*}`4.$04|asZN2UO4ؙ+7қs[U|Z+9JЋ lS;<Qbbt2k0>~|BWhcFmZiT$qʯIٲU WQN`ećuKaЯLq60Hoۍ³!޾T*ON2׷fABn>R섚Ud2T[,bn5ue$[-á}%:[J7an&;T\e!#Bi\m _َtPY e@ߋ:^G.?Q5#V\tY& *"F׽ TU #5}v_U p҂oi[ZџoiaO>q"Ur6 $EȔ>eǸN/BEi#nQ$oZ\K ]L]5<{hyz|?uc B̘i wDGO}[FÓFBE?EY( Z "ŒmY8Z`1f8E7XSOa\l*m<ҫ!7zl#x$2g U..zs>^J_L :-U #Tjttٔ-1"] 㶟b<;iEhz0\0 -A*R7't5N=QyGW`nǼ);َ N2ma=M'~/MD5(1<;x .U$k1 wUP*Lyx~JB/>TqEYpB7BфP:ysIwulz[Xw]aim03ǷiQsfs9(9kgT7HUz:!M 4B~I@y͡ɩx&@Q|0o"4#YJaƌ9@7}?^q-ͦ0:jtł|fq |7%9:͸3jvݭ]y`;ЀPީ3%y t=1,rJt-rW' 8ضH;ǔdli1:;?j+hcǕc<ıdX!g+AʲgKO\i:7̤1ms=Q&Jn1 $!gҩ+DKŵ/|Y7NcUoq9"U B[P0MJQ0ߏ3x7Lb q=n4^KDTׯoZkKEyODYA>mh{s1tz0,ѷ@ ީ*BGOJxr\@? yM/< J1nLmv-̡"aF2Epٕ3br+CGGy )zuzSt 辄vM2VW<̏I,.!:\vW>X:.~X"Jbo;JA?lF"Pd/,Hh] l1; DFp ˶O哊;+WLj3{ddZn;-ݹZEr}qA"Baj6|wPKABƄzNbPq#]rB,^`;|zOJ DUı _Eq[WHU3裟 IYs)c%̗2TX9wa҉7uàp:NJ2 Hx;=jnFD؁T|r_n'|4s|2\w'8j_gLp?56}PUAN7ngFGvіf{*+d ,#W_?,FK5_7wsP+{[-$ Hç?%}@p,ߪGBQ| Pi0^I4w& @h(e2ymwO2lƦyF|ȵ8]8?~KB?T/frlPS'~frijS}x8.np{k*"we Y_M%Ru{C<,DsaY 0vZY8^۟e!#bWvfNh:Ҙ%tGUQLMhݐj|}ɯܠpžvt̜E;R^(z/sl噯H׼Cn[).FFYpw|g^2ts4sw#*R5{ -V.8bM?CV4}‹0GI2 Lڎ3ylÓlK1^Ԫe X\Ř#oY\y|ڞJCfKE;w'֎ \:+*`ê1EAnXTtIP_eї9η_Qò/zwyGy QڙXDT צu%m àF+m(&1 t& >sr*,z .ɩNYѸsnjc^}YEb,cgq)~YE֟P$9=9'_NaDebP<ч 6 j!8[mq<vk.lgIkBSc[4M q.'jK 3F xV_YEbdkwXqwꝞَt< *R,9Uŀ\-N#髼L)e(s#/7B/m.=: =0ȳqX]tYN>{ͩ"Ur꾬PHݛ)re|V+kK@hp=!2~??"UN޴ W:iCشVZi;ηۯOs8/W xW9C댽61K/RX߷w NO5k*ƬY]9"3kx`&\E&֐Fn^B!W7]J5+Yu=:3Ƃ⚓ʕ446l[WHxۜ^"[RwЋrG^%mrz)ZtW\]F'oLAAK:pbѼԢwWTcaHG`x'F*v҇͢dt+y+An*ς.bk)~_Řq}+f&#9Ls6Z\=M:57eƀM:n b~wTS?d㴄Ձy”0gځ×E\4:N*`o|ZZ: JtDE 1[ .L}:sXV#ulboX1}k\ !􇭌ɈiVd%n\"ԞŌ#( -AKxʮW< p{gQzP=W5e*B{qDSrşf?д`sub /0ͺ i7QNFY:XD)Sz)]y%*K -\s@Ǟec/vexĸQvb?Kƶ- %!bTo~ޮ N=$]W]\Ec*qlbYO䴋 Bvz[~Vk0a2ؑ?-/Y,??,?J~>B8+Y9Vo!͛A2kL(Z1 HG?Gtlڱ]X)M5pIv8i\8V/vbUvABG <KFCL }&.LcihTw71(ehܚ@ctrT;Ip Oͬ9[ {B*BǏj560Y+hHAy_{udG_9YvT<} F~ Dv8яSFєfgh ;u(}cFģ0ܑνSj-HmpIw֞dB9h2G:e9N]1=^هһGaΖHW*=4*ieu @2zzߍז&9𧣒2` e%0O@Ӛ÷|(]Gxޛ=ὊG,MP]^rRQ$lO'eƙAgWǃto jNȢsR}|g.ExKUNɽ@j=R"ete FBh -7—> @vv&_M'ט޳fqYb7u󨎃-Q ,vѷpou8ijJn~@.M^XSb&Α7/s0SLsCsy>xWжL>nF'hOhf,*lZހCNO!9GI>9.5ԍ_`&[^o̗}7;aGzh-{dgTD휢 $"u̴w YhNp}M8Ƀ?Kqyb'tw= _Zޚ0W=H JCq@ ]9+`" tMh*R *BI^_phAfGeA nw!j1F{ȇXOq@!t#lӅvnX|4M?LeLw2f`|qc P7˦Ӯ֕ȯDC}XCfDdlDEI)zZTxe"(IVcnMj4 2v%*RG4V7EؽB_q8ÖjΣh}mέܣC#.o;,^ *z'P4*B brMQˆ39,|IxZNja>q=qEz7#.]7Rj L bkL1X+=:n+K%7buHU-N"]ƌcdAV׋G(ݟo0HEqOnL$ M5SV :- ]ӻVBp84Q^SHY=4ΩT?Y)HU+b{]fm&Xzͭ=A,9ia]fITti\tv#R& K dzF`{2rґ"73,x618PWA0iKNp2MFTM9]ã,t2Y8nlO7p}(vqDoD 7r0F/9‚;S:ʆ9NkMFjud=B-Z'TPEk{0 D|R2 wCN1B (Ni 38j7ɲҳaf%| z6N 8uzW[cGqBb [ :h~S~z";D|Bk'>~ hr`J.8Q#8ډB&!}W͂6}SbV?xE}gE}nl<2[b^8ba-cLƘZX>S> !['i-!%k=qN}8q:$wY\-"u\Eۜf(-ch>[玚EE,6u ^ ^H}s1dVԘԛ5+v[j߆,B1fs2"0{ #EYQ#8Xf1} V bf*ui,GuقkN+Gud⚤fh,tufGA|Y_' WݣLAOyZw <@g f]^lЧc0BOx4d4q>780i4x8ޝBwg.N@k,ýs>︒A>1|qZI2k/O,=g?3%3)X Kj"a҅^)8? .M:UR?- J>o``A>]>~iwh.?]džOsr}Z92B)8R 2r\H}aI*?FNKH^w} 🕼S7r^?ʛuҺ)$i\#UFN`H{Ll0>0?)"uR l.rQPTi*#0*#MoVReċL//̿2?$Vl=}D"k>`&@1Ò؉Cۡ6JNvIxY /.l Z{G?qjI¹ 9+SF2[^(QALa'# ųh`7AOd`?/v#\(vG~C|Z<[OHMyBZziQ:x5Dj`zcwG!r= pAF~YtY 3*&g 0?Lw J'yFll\6ؿ FQjq6Cf)-x`.-tX w. 4$}d#A IZuQ%8WsVxB> y ?'Du.rqx0`}J`J\PSJPGQ"¤X|޹0Z3>o)qX``΁>c;$>qc\twTZ6cTZ6oRioIeEJeK>0 gJ痜<+f5)䚨4f2fh=0ZPl4{ .U=]-x^XYz`vJP=BFQ)s@}/ ? 6|"u2v%ꇖM.1FM{51D$Ls߽\NVFI!50@4 +Op1 W^,ŊJHM+H;c#KѢ%@! ҳEE][EP_ݙ?Nz<hQw(lWU+/3 s|\iyR|PA.=[tw8?LNȻ;W*d;TGo>|a wLICKɮ֒9ҘVI Ĥ I!m -Jk+ BBi$GIE&VYts&iy\)V4Xʏ&DNKc"Qid!IHt\%rF3H"II_4ĿOH"g$)JQᗈ!}hFZ9%l>c_0u#H=?-}9#}V'&l@ vM("s&K;"^!N#KJbƿYrJ{G 3JJg[}0,JΥ%v v%1^l#ν=ΘܟEtءeE&;Ȣ{;hhhԡDeY!ҡCLbۋ&guDur}3KJ(5%(KJi+J%+}k}Tk}1=w8F"{>wW& oEwN e&](tl҅'@Pk ο^IU "3)z֣%+D PԁP4X7V[ODŽT1a=;i=~Oy k/BIS]w2Val ~aӥӇ3~.H΍SneX Eg cE͆HuCu^CY+%ZCd3DƳVc!rj=f|Tt2߰Lraq$Ci >5&<(zjPk4T:ed=Mv %;sS4ө5QXy pOQ_d]$ Xa] [P+_Hod=z^0T6Z瞅!11 '_{H(fF!n~7'pnơ].;aoR~,ǺSﵮ~Oo~CoW G:PR?z*mpVowS}j/S % ›f6)K4 ĀxC(ih= V(as-c:ѰWcHXyScʘiYfHJPKk] wrPCrdVpn8ALJz8䡇Í.Գ C:d:dcnXsnkIL g*c9Vw0 cᐩ߂gt94@mWmv( G6#`3،6w$.뉎jM~i'$!՞kPg;A 銯ڙ}1wņ˪IRДTh?aquq&e-̘ӛߧ4ߙ{WGXĉ9o0[' 8)OHܽD{0-n(!N404 Ī3AQn#qs,֓N1nq5f] ڼA\x;!ĈV+>ףw__o)XN@*rHoxo[O[~qzB͆ݳVc,ΌЕ];˔E3Gian6k;7aL`>-WCz(C5l=t6b=ԜkZ?iwY?j7aG5hLDZ/H}Y[r:l91f=~sywh Y=7Vk,gXNѐ Y XN\)pz/m@-e34¹ Ыj -p~~(,멳ZаZ+jKN 6t͹]{NQ? 7uڒpe]ݜo*h>5ڒ՟jKdf|Ep@-_ $xE:!+/8&yx=)CΑeOJj)VE__جmiih~xD5X?ܫmi:ږf^sVmKБN[?- DI=^n=7Z$9n ~OnmIkmuu3#Z>GX+whK*j[+whaZ)iKު 찮vke,__7ڒձh9ml/MCIQz*-%;ӖL>I;c+}=I; Y;>Y|_M1lgWY-'7J(h {k XmQꫢVc/!52I1֪JZ›fkϏڌ37"[%AXͺc# E㿓+꿓 N+H _AZ@ Sʸc* cU8y4J*A`aW̢#7d3axr&d66Pg2踵Ɠ'l Fqfʸ’}m'2{f/WX:z!i5 KzF{1\XuzckEg.JVu7-tTYLb2[Qۊdjf 7i/>]RоUV6>TboUSE8\:]9\gU`f3wpc=۴7a&Q0.8VD!wY6Dz4L@' & 5'(,'HVqK@|WQ qqqqqqqqqyy0؇XVPϴmAaFL l0a{L &by^  K9\+8A+8D`0t &b4'=a/0q $;xAB}>Tu )SFd60? \c\c򝠤\c򝠤1W|'l'|U>*p4Vk@)B7Q<0l4VsׄxjO=0sQri8tbft߰4ϗ("K)GqC7~rs'27M4~.'iH=fN<<oRJ'.o7_WU+'L\jM>I2yR f>9ի׬rZȓEE+X g\wCPvqer5]d\80+ZM5!B;j}g\eL)k$x9XK_efη*eZ.n r4tٵ5c8WΡRWzjR]!Lot kӈ?c:fU1k68eO{ %Uu8a^x:_a?Z\iQ3;@=?+ny!P^L/,98oϚ8|k>8!ZU%9LjX_oܮ &^R/19FIZ5El3{׼sxsoDsyZukWqKΰ!p h[z|Q򏵴RՋy(.r7 ȇ 1ϥU׫,Ѓ9H#Y$6DžQ,ڃ?F@`r\Fv7#FLwןR#>Uw9g.ώ$JCN8Bo}jbmi`ig)a8@}7A` m=*֊c(Tamt!!|#]fL;g~9>24@^"I{#!&h}Σ]88Za$t4Nh rsy鯍 %aA`,ni7r X=d>x @1Y"9_j>Q4>ߗQcyHI äxɏڑ~Ͷ- ށ ͓s>[O+뼤Un6'J#<9X+<č}+cicG2_Ei$(pA"/x{YޓYVN'ʞ]v1jucM/F0nT7:0idS&α8blrtwx]s $3ﲣRixQMd 9>'V7Z9,[tPJ-"MwڢBRb=^ΈWauu=}'q`r^>\\Ӗ*fW Cb/Fٟ k5rqcrqLߨ`ҏ\}}j>IMZ&stuh c>̄L:CY\h/)s4J`%W30URG rlsQ`uCiR(Æ`: ƶUwn02R_(;ΝɱE2]4m ._FclG 2WSF`\G.1n.rN_ 芼4*[4qNnJXcpDA(wTtTngP&J]A6jLr Sr-VV aQOkHs e3 a*g"&G6(Z +Nn#5% @}{ɓ&QT]\k꿝mfU-$y:8^әI~~W/Acq9%S,룴BS*arNn*wjsbA7+cϷ-0P]/Y E_dswCƦF@,~O|}z?C~"k}!Y__{طsUl׳'&U g-8[v2o[ZI{)Ld՘ @ӬbRuNOz?#Aڛ@23 /?B\ tl܀I K{ $ܢr ]~9@Q?2" mꏗr5^V ě3G><~=&Bq@+^WB3Ia,P:,y^ߙǸ=5oEϕWL DvJa#זYD4I =}&?Z ]Y6.=3"gdž2 `òݷa:pH XT*oD񵠸-XY&rO( ~ O)x&L+#g19[Ag]Lk`woJ|u?so˧S(rXhI V*AɁy fm)S'o8^amZmv:M=MdrkVfGb|pXFK HRpi]X4$\H?qssf\x#h(nx6&me9s/hK~Эl@2|IGƙnarZ/Bf:Z!} LMfZ!y/fC=}=BqnFɫ!wzg$[.[Fq'-_&[܌-# >z~!4P7;,Oqn|(\f&8<*2ɘ߀S'mG_pՎ(+',&?Kj Q (<~7(ۏ8'n5x7de..#N*ƫk8ˢuٲˆ?,(bD3WCW^y6 jL2=76Z<JLNyHe*S}Chs1 Fngun/nx]sI;:P#Z1Vt]W++_2Iۮz^,$7+bCXKG)<b7ԯ?tI%k pZ8ORN3[YG`aw2y|v;M䂑hoT-v~uXj#$x"ͪ*CNF0zTMC`r,3˟:7]af;*{8n6P?93{(5"65$&KgnPǰfYl4rYiӋ^n %M4)&FʿEsa L;1㥦gѮL 7ڵ4k2䮛,obn-FUP}xy?2­n@ W+y߉.rZ_l<,(:~#]G!+[-$4;1|?-$/ͷ|67ni{v~TKBBbL6JK]i|QĦçlR6o@w S]iwF|\w rC)eM%0@r@b4}TAnp?vk:xrH"=3^0 .b×H(fr،D6m=i~oδ#}%J7_fW$EKEu3[ L.dG5iOAd682ˎr'aVEOCL;*o|'GoԾi8;ؘ$Y)ky!7_.@pRe/Wݴq>nc'Mas^in$M*!}l5s6kb:t+#?G HY9|ֶ(`9qt3X[vA.VHa}@ݲy#`ZkqlO 0^@|0X[R5ZOHiM&*`]m 9h(9ꅱvPڋ I%rGkmsFHz܋j-<;0$ 5ߒ7Rv`m TJpJzUďwFB"67SZ.W\qBGRtw[qũY?;:,X;:;*KFпsؤnUnٵ^?J-eqȕF, '^˕WawY]uz+/}Srq )4I!/y^o^mĆjsҽyM̬D+đ^uK8:m^Y !,aB4'=yq}U[C19#acRp aufxQac3^8(Fef"I~UVo޷x6ykMsIf<'q< !WW=ƍ!)+w9. d2wpWDaf!5Kl.2ů2`mIk.)I+o LKmIpxkweLE_5 u@;Fu,:7{ lO &Em^rN$2h8vPkdaʘ~o }7>>oC20^O/Q v(FZ{&wR>Fy \Jޘո?r|RfAŧ@Po+әohAޥfkS'%K ]"8Uh G˙VL9 2}K3IKxK[&hCnЉ!ZԫVdlnΫ%M)h&MR:9.TlUv+-LWS,B[Ap+ä aRϤ-iǩeZPudZ \AS_+m ~Q:Ӛ7Z$L+̽5Ǝ£Kx%pQrY:Ot>72{lL*堋<̴~4(OJ?cG5qcGzgTn(yDsQd-pCtx%SJF)OF_) lG{`x`C@9 Gp]3dw}x; ^mZ(;7*BX[ ?aҜxEMA$|kUeQNaFVG-tk5ʝvDix;4bן 3[c$#Lf7oNfcOXq7k\$2Ί'f}}F+;kՁIv>b:&oL/ .$8X\fG꟎W01;~l~^٬lu̻Q^4ʍKtw@*ohY6'Xr>JyQM>J x_̀X]2_(^Jy䠇\d|/ ͘f]] j;*\M{j;Sj$5 XM#wUJ62@ F/Z3X!#|7amTvE)CW@ e[@W f6o#ki^#?dd-װU+bpQd\%_/wWH-{uBs^eGgE}#ti;#m*|0 :_/k bȚ/òNk5߲괃fU ?R +Wo@WbmԬעY#/2QƆ5rkoeg]>^33Ir%0ۣ| O*RfGzn3.0ߨHFrs0qүzZo>lH Ue@= 6`T%CcXܰnˣaL`[p'amnyrk*;i'7'%ˎ#C#oYQo:G08v>[DѨ6yg; Cg'9b=- iAo/ҵPX[z54OZ_O߅ivT'XJ++x'`KóaOd!Lp.NLe{l"W3 -Wf_}L+TYK`=Ǚ>/amu}צ e`0'e k광R{7/X%L/ݔ0~)'ߏM&#A{yQ|]qOZ/G&&ʾe7AlVp䰂3\V ¬Q^YYV&i Gg -^ο w(GڑyևY,N ;6q$I6ǘuj.a m AEΦ">cmjm-OS4nDf?fymv^M#r V_09iXCz$~>JM#_T}ezB) vT>?ّO )_k5n]gvЁk¹T.S^}>ե?7rHJI 4a5[,mIzn ~z1uxauKLo(ckSAe1]vS9'B/ßeߢ7#<\S6jÓur /)^w]bG͝`7?KÍV=gSS;BeH'^Թt¾3 N]s.cs 9lIƜ{s/pͰ:ނC7sv<Ŵjr ,\u7 4o,.CŜ4KîY H79Nj. gC48ucX=D['9NzslY *}gߩݰepz^Jkf uhzU%zkexP5K>f00.97;"?o7j֮(j?]J:yhH3?4py_ͽ sȿ_DxQe@O-ۀm\vT+v1 AdtZ ?f19MN߽K=0kc51viX>B. 'qA?'w8W!˯}$NjJ<@.r;ik]CH|G{@IvT$$ю[ŐOHL'HQ^a_8GFsúr7:T&MvT>)0`G@<:(X[r_+z9)|k"]4.kkwpeyc5̏1cZ~}L_F}2ۻKƢJK)`\9˘+õ-P\9M: ӓ2Kڕ9ӽCfKml}ar\oK ZB:dx_yG%'zw~M uجLLzGbb*p|](((LQ@x"+ S^ru˻Pdiuiȫ>;|W#a\dGى=N0ReS~m=mG`XȿYo-VWͿ5U7@X-]);g{V6J~Ќe/ozkBEyeg FŎ9L|6*JQ_Cg2p|,sB-vg>6sGM?ɫ3y#Πy5X!->l??)J#e飢9c*z@-;*x-c@`SvyUONRGr2mw^mvz\pH@.yI\ô~o,ʼnoGunK1yZ4g<31y,K~3TS3w>n?Ǐ%~xx__dcuO ڱxgaJ&UbuV|])7벅9o I'&Zd׽ɷ.xʬ5"qo:λ׊L szoy{1\ޛ)}VqvTο!ؑ^;2y=s\=W&P$*|{nz>`c0/(q^EQ hJ,8d\oO]]dedF>oD%Nϲ_U0l(}&QdPZR?*a p7pّ~w@,}Tzh)N'׫:>(B>4?sr>a[y'`u-裟26:pI/ x^CMK2¦ ћb~oE?R<|Mo"^mmJ*> m_|RZZ0wkd5iw9SN64?u/c8[ء*8g\n+pwoZov^`k+*L 'NȀ-VGS~p9Y1.¿5oH"0 v"ge weTz_:]+pd0,}h**?oaph*\{DWG1_)Ǥ7Pba/90zJeu(Up?m9veG.桯8t!nב\'ZqxZ(2Cڕ=*z8>a_C '(M!#שH>@*I{V.~c:٠$e 6q{2T8V"]Y{j:+QƅHWk@"noO!guϷ(Bz~Eb#nBJ|3f/\ON==7'Ue7:q{k%n揟q;).^jOY{pyhy5] ސbr{LQ1* sTT+ n0ذ60QIPTb)sg,.5CU~&\[X/l mxW( z>+&J +[gKg@s=tF٢tF:J gٖ-Ԛ,} 4a@ qW~%ny<"ZjM"ރyyV% O F+^6+3Y:%n=VOrW$-&ZGdꖃ.qۏyIGAr  h+n &WD,2\#Xh?Xy֫{)U]! )0J3pϊC2d/KdXX'X"O,a+DJ׋(aNeCLdK2KơH:,bzY#W:0ʖ^ !RZ@Z:O5Acx&K¬'t/ (q7*ZJ cbd4GڼYu8@7{IkXӑb~I-J+uC =ԍnTZ-^c򙸭丸C1PH)NC)*aR$(^)N)]"ŻK]yRR꒒5o~=6 ))%4P2yRR97gb9o8Cvͩl%JIEhf| :؜?SJB_1\g|,a$xz,ϟi3RRٔtW1xZb9W(%/~y<bdsVJB-i&+bLsӧ߼e:X4$!F5eTRLp,]M/ sbWD&dF4Ӷo`Cl!Tk1P9DfZ_ﵽh:T6WtZ0"K,@ 5(/O!<'̢oĘ|?&qؙA#Ct Eop"M)]r>u$Ep6 !*@=i7#={dG`L~6b!eG6?0zX{LF9\0c?v0z$ FS#I\`:/M2C\|=)L 9$lيS!)gyg/lf,cL.{ϭZ$,(Ĥ]ܖ&:mⶌJ-"λ04mLq<&ue^m4u` ћw4.:2ݨ1Jhemq7)h+Uʆ~R"n8_F!q["Q[Aq[Hܖ6&c +GJŕ%eYEr5AblwWr{mb-Ny r@+ f`#m;/ހP M h+rc0Sx 3I 3IƋP *$ 5MkF#3KӒff0l2k79 n:AG˾N[c˾(״Wb^,vOƙ/{5AQI]>~Iq5lfɆJpQVLG^}zޝLfH[p߶kHLI1Jt[> !5^QW[6%>G}B\NZQVįv` qIG|:O:LÚ]PT%TaWB$.N6B-PY'SwPER]PHBB"'FuI'J\2%.P_RfjB8ӥ>-t .ҥjRZZ#w I&%~%쑫&R sp@nPE2J{ˡPu|@^iTOB).[VMRzEr :"R}(h d?RrЩM Ո'5jKh?S~IN$C<%+A#Wm.'TIJKΓ H%\'JۄP|~Gp.=ܢP5Lz &\[9 jkNH??w .uN$ֈtYPMKri;Sk*rwVHv nm( r[@/T,tw|MÀN&T դ0\C/ % 100XP A^ Ո Z0TNJ*hɡPpPvP_?ϭqN%#Lz𓤩)V% 4T=B:듇Aʡ ]C*v6$#X'tePuLˁ2!a ]3j\J00} DMEJ'c!Tj J%|TwLފ%[C}@si;PuL>U/w `rkD.ȡnPP8TP_!jlV`hN+`V iVC&?sX<iˠb"\Ę BɌ)\a c=40gKu}`?!`+SI!`c6mg.4]Y]rХh;emp416W\BL - ͖vOt[LtPdU25"m =L(Q`:ku/C|(w6%rflUHfX nHnzHm\mu t0\|g}r=%t)䠢< :S.2cjJN軧{6R=C{V$;΃J2 դ(A ~_8׃ j_&3gJ\-|zz<hnE9zF0lHn=P$}6nu)u]_g 鬇^:'J!^HЦƑw-6K\R:mUh;N11>(sJ%v6)kʈm{r?8fd%~-{LG*iT[=B`燱O0JdblLVTٍ2VkEP1 *&IB+vN42-:fQ8<#.)P •N ;Ək7E, $ ZjA9ϙBbH|ykb6yOV (fTQy=2yA%Mb@ U[4F+0eh] @. pC!ckt9Ajy D]N4s2*JP{3*KЦPu"+DVBVM\r3WZ%J;.4jg^XnwCm.C!fh.T%QH;@ѫȟ)vEKqM0>I m!A[ij$DS-""ZWDB .^vEEWehI[z WE.+ LHr^s'M)}?<<3g̜93̜s.nʪfgeu?P)$M5uA@m1m6;Ghgem_isʭ.:K9i4mU˝Vigُ˺]rPYe{'2b:eoU *D6q:]bo5wsM[\MN :7 MdWɪOcj3;YnUTm)r`;Lr}tڴrmKipGVZv 'ۢ%DZwW Q#f3fAw|c9^^hi.hks !`t~͘M' /? y/āgY^vhNk(dAzq:;4ub%.WMH_޷Av5jK5pv5X\)Ћ69oF"4*nDtvpRde'j]/D5h 8߯+,N-ЏKH-FY]WN}X}j)oEZ( ,Pti|ȵQ"!eP-;q`#<=gM6J/gxle3\=Y?cl97g`KE^ZTbO !7}JeO;fyfbU Yۊ "bZvM5fX|«eI<>z {>&Нz&k"Yz"6|izіG3}0ZEKD\F~`"ºK=P{seߥZIXjCEB V{O F! sof w7bPsv[Ϩu5PT^K܇ lzu^E&RR};RRόkr:u.1B{YدUyX oMNVD |)ehEU d߽OvJ"{ަSuAF8kTԽ&y@CU6QjqҠ%fI8Y U='Y_, D)T@;~/LK/IڐY?XʾT$%pg{OR'<s*{fgqۍ>-īMJ= 3RKӱNt%CX?xXmSe:pjӕg t}Q-t8d_B<ɱϯ盓#ƾϐn~nA^O.,5@g5/ˆ0$ƪWIEwnl;S0+!vQ`߆yg_{Ҕ'2Ya%a|ةT] $Īat͠&5oIN Pҿe7+{xf)T*6MW)ˇw!/a]֘OahC9\>#7Ho9N^@%־VĸzPς;s5UAV􊨑vY,\=J6C( {4C&` ]RX@P.!$u\Y=hb_4dekeUklFno=샋mѤ MW4~1p|M}%GV9qKI+.nee .+\쀗jn>$F49inѱBuR=3xS`]+Y,T$VAw&<ٟV :EB&Xn!C2J&'C߽Y4({'*.Iwcoxd+:e~A,Q:[n$2c>Zk!@5 k-0)w&,5S-:AّCN z*^ϟN(Rb£db=B";1"/"/VوQ}roT`#Պ=VW#eQ~VY!<p|swcbN$Rrw$xC6:䨶NK6Nk,BAwX?n L۫ݭ WN&QoH(!X5iC_"7%rJ&7e-!FX6W4+ʅ9(# "㱆D-|pK+=iB"5r386 # |U, ~'ݺOϤ^mK(=Nb.Zt_;@fayCfCji("K.%1*6-.KI\%ZMO^%'㺒̪k0*ՁR7E`' X$rG/1n='+ km\ajBoeqߟp2nFʾ;[3F&y>X辇hp䩋@CV[H5m,tkrbb߿jO]% &"/"#rZ\.ЈRu{"l9jDϗnlHl 6/-e6 &~6b}ԤAy2\2z`zO1M~> z}~Uv| 8%X >%øf s FOĒ`O½X .5l~1VRq1V UCousD5&sէ GJs.ć!o# #$.&#arX5;~)c wkEbz{QX|G8e=~SV҄@+4=4АNgw$ ÿ;c ѷ6D=n崒Oֲa^vs:tcooa9v>.v~0wڅpRrqs]ov@{/mu<еS/(ඇr䚇Ax_OMؤg[FoC2)X%p@W=Y@5ȹoNloE;e&OB*>As YŜUc6ݶ?0]073k&dʀg`ƅ$T㙖FOվT]ݵF,</>33?(yauMVGƳvYF<2Bo>dDN6(ERm]Ǵ';ӈnQ2@mӕd_D%4*eï-kqQ+ <^z*ڛ".IY]qܵM!NS&xA> 7G_!yo=Hf.ϽxxOtvvdl;oWwǞ` NuBD[$z 6ra38d9Q)FLt5O^#DX+s.:Ow~CLP1O$vEYB@TNyXղ'ߑJ 7fٓ[b`1/x_@!$:@t%(g.l.~ht*ͷBǚ!9.;sIuUASdeAFp5%&QH^o1Kj7X0rR 1s)C||~3~z7~!1Y"G70e-z;"n!/fXNQ#3!}Ofq&|d'-&>},4 ÷q[WYߵ HɊnqF0؎!e8si6YgH$6!hLՖ.Itd}া>NWIڐ7go#׆<׽=$o ƍkYSfx:eNvSl]58t$֥/zujC}tiv  |ئ${YX~>>QCNC??!?CA KᴾZ+:dT~ LjGl3V\D,@C׌6~yaV×RjL\_S c.xzTPXu;NXR{j\{#O9r^rçboƏ; k}&!D.|6s;N.j7F'/ Clp)( "}|]ho ~=(N_6^=&u׷Y/9b7F+`Jv9j!߅tbo_@99s"I=ǸDgn F(M'a|T9-Ɲ {NqAhQdbUefB!l\ /?j 2x\!ϢZq? "L͡ZqӌYۀT+z!LT+s=q3&S8]O,Bg1qՊyzqm)65b8~O{ 88L6*b5󢏉Vk|NTsD?DH+gJ|BQW9Cl/|9[Hū(^n!|R^/%70RN!x|ǘQufyXƾgLh!?jj6~+8e A\+J"r;!e Bhq)Kނ}HGͷ7 TTh|!=3ゔZd8surmSC:.` _s:z%=nӫݭ$%zQ7RWk%IW&(AK˵Ir g?5H97d450 όp6g;+r4, fm_Mߍ#ĩMWLE鎨1xp)6~XJO||Rѕ1:*h`z (i|4"ۿPI'> >:헨__>bjaMZW"MjmIF@mo[gtOԾyn(,k_&wX<n%{&!}j`lJ0fq CT`ncr k# %q`67{I]oYqwsO3Q$籎yw e!#78M8Em}PϕHU2-O> {0[J=mݷV8߷ÕC^m,jce! DD|)DNZ]Nm6Is"׾7rrHa%_EL,ٝ] )3Y2gMժ.!܎߼9xX-_J]X?]eVvT&;HsFϓ;TU!E騐Hc|neE9i0"aMA ɲZ ߴ7 M N/#Z|sk8X5WCއ]@ 0Cdk";(6B*V(VBxݵ8v ~y1(?G11(D  V:1`Sb6` ."*n❨w:9V֐,k5{BA'PW-.K|Mf^td%A<:׵]Ȃ-h(N("š6Y> :@A C : .n-+<X$tr~/jo՟SwO|(hzH*!5BͼEe!PgiF_k !P-m3Ls' dž:$NMSs)T1MF' T[Rw[>dի lji2/WT;ҫ̸K(HF>g_&R7&𧮉d!^`58iwW]땒mOWJUkߨ%}ogh~IVE ?}B8/뒤;@YQed]r:)/L]E>pr[΋gQl_ͷLMz5 Ox{qۛF;M@\{: WC8J8!$erS#wՕ[eiW0ni/z,?d\V^l6EXb׸&zBx$8T.6X_ IL!_}|ɟ"*mHeWIPJj05r㽝jM) )/GGHKTDΓ))ϾZpw<$g_M[7!f6ܴI[H#_یh}"3t% x+ tq2+*#Ŗ1"gKɠK6<38ůTͽ_n{sނg ^/; D6^%)E9gИx._9V[:٥Y/w8t !a!3K]u~\ yt%9<)~\]ܟ(n!`7Sm !ǭ-'pdBL "*7ɒ^,>!$<&^0GMwRU2pIX?U&=5oXjP:; -7ҩ-09e]2 wSQ4*;abg_ v/ETBpS_B r/p8Z>$,kdd[`X>>s@,Oe߰v)*^PɅt/M6:RݭܛۄOyU/Juj㓸/I:[UH;xW wmxm'uSAf]tť]gr:]hl^ U\|N3QY/rsΞ+9oL$WmئoEuw;#w33㗷 kg`B+t5(%D) >l K ӡgqVb1LBP6R9sF lYCa2:H@ȀUn:L Z_bWlZ~~杜`\@ !Z>qhl8K&&HG A@k}KɍXWɍ$*D¥x@&![ZF =]^m&ģ.J'c{f}.v8V~3>\Jln%<|JZTfDRS6IՒs\~O%*Vn{Ū3IW go`]#ս&B\ƒ}z;^AB)+c}!_A&BQZ7 64 ڶϒ ߲WnC.s|Bh~ 8cWIOݷ ỗ,z+a3Pv˜Nɔ㵘F<Ѩ-rVj4xND%E"7 4Crx.i9EX6 ~w% xϫd!\0 )j\}X=7<>4U36]f)Z.!,DLH^CΈRWR9jM,Z#}/aZu EY%<}gI-N8ʎDQ_9|>|C>oGa #GύmͲSց2!k=^qМX5H&v-g"t58OOH=$gvt12\M&Ca\$q>X '#vLzy7Te4O֥Rlp6rQ&6BO`a#!>'01J|P5rSi2/vG61٣Fm|ǯX z|U[q/!w"nՉ=?o`bd~a ղ;X}LzXWER-+=S2L«ęd_'Quje}%),̲seXܸL2suq:ɴ!+X0hlŢHykgNxPQH3y[\,$OxT5s{~o 27ȿPIV2RDwCYCY |:2 ڀq~m/TdT\J:oڀ)s_d \ZljZW"/ӫdXZ !CAĸwzu<<Ɵ͕ 8C&6)61A{r/,4|Δ_#e/ t4X_e0xcdt^PT^ۗU=$]e_GB^8jLC )rmemu3mŽrq)[x X`[O;NO*4]Vt4-Zu|WN'pɷJ>pcBD֟sC&!rrfwaG) ǀ\ wk4`^rĂ7QAsGӪu)6BI_BG_z5%$ _ j?cM1?n]ޞ>6B*&._b5~;6,|M5kl"O듪X{AB5ccS1=}cyr 0Z\+TIu!fB>B&.ITh$Bx*# JIe[ĝ Vm);)jّSu*uJOߎeURcݺ+0V>^B[hS^>w3ꖫx-W-;[ -WܟwKd>c³VOt؞1x9> NB>k>O@.&Bj1SbiO{% +$){뱾@_9w3-O)¿ޫrGtղO@xϺ:Rm2jٳD ݱϱ7hN1s{vt|>i}Ub3hQ+̧dZkCkT[{߫7]hvlR KoYT>5_{VXxݿl_+@cŧ@qԋE޸Q;iXP(et9\Dw>UQT)0ABF뷝pImyخ1Wj؉CrڲwDE|5M 8v ᗜk?lKR^ ]3g-[۾i8lIaǰpSCAaBfPṃOYHeiui6|AY܅L.MkkC!EOYOkx,ÑRie|^ï/b5B9kd,]#+S//&BY5u)T]@5TꨙߟjQ=lBEQ-φ~GTGzu&溗/aXZj)ݩMBk~iDOZHu:}W14|^|^MYM "?ieZ)')ա0ƞ̏3jk|Mk|͈f׬k|͉k|-Αsbcs\|Օ]im?'-$<9;ߌ6^ G!I',\7.:eQ_C{ 6"\EիjO CskTtO¾'r)WجMJiOc,PtG\Ϣap,Zf\ͥzE`nHnAZpZ3.//"퍑|Qas)jd !X~D=፺r!)9e/JH{h# )ku;\Os)T᭭+_ (x;\4o|d 0QtܽCa>lH[Q}Jrdڟ5`fs+2߇U,RBxTeUE)74̣y/ ^ǯ[)n_(3 id@}rYNaa-vW k:A'h%yc:VXezDe߅B%lxIN!1#M=Px.A kT-S,g9jR)g {(OO>n fyYW$ m5\b~DwlTLC{zݞKN\2wJ`^˱y"&]+<06bsD8l",/ eYX,f!|ۧ▏l?&,_B2duRsshFXG-b3eT-r[x˷c=OQ naߒ_O؄B [ۄ}O3E۩i eU m|ezcNXPeNhfUfuϛG>gEw+8ͬ_zX -FnyxGՆ]Je0ph9\JVɠ':MO2=7=P޼wY6])~U'N}),e<&wԒ'8Xu77R KvDr}ڶPNT!7ꍩR]#FV9*%^uud CVԷY+Fly4嘓UlqlsOE3BNQ߲;w 9+[G8S]#"RVRbE\ܪNWR˩-3bHJR\HfUemvewl.{ؙz9^-[Fnu)%3\w[3X3gG&gfDU!Dˎ\fdTTT}#9GVSvM}.G"L"! }Zr5š$W<պzP 3ruuB-[\#d r :KDEU2B*&=~xgrBa6mImW5[y5VkLS`b$2q#l>씢3D?S=oQb>hי[儐B{~Uo#~ 9@/-P|^#[~~@mpvsH=_|*vKqoYӺ9Z$ך@7?LFVٛ ÷~ ,K dlzI2^6]=U%6UjM|j-u8[11Q,4vmp=zX-TţUCSEjyJ,A|tsDh7u!&CQtl>ww Wlݐx܎; =U 2j@1j /إnଅ~lՙ&Yze}Br|6·S ,ټj@'29KGkǾ 2b3wp}.Dn'Azľ`oOlqlDReT-yϏx70JF]ҁHE%[~:wwMY^4똫n.잘hMU9a9?VHƴQhX_YJ왒Up1g6 -GExs;:/\]ȿ_548wČ<*@w2Ra"gC'q D?J8{ԷᡒJ,kGOAlqqn(sLް~Cw̽P@)`Fksy tXӍwfrU dpoAnY<0-kؠoݣ#Ӑwm)xT u(0ݜfpw?d&0uMm2!Hp#:•!;T s"nZ~RuV YwZ%̐Uϊ|gPɡ @vAl੨_?Z^x'$WG )^ﶖ9o]VY5C$~Q 5ȑ,q(\T0jQi0'O ~ڨDr )Uﲐ 3N UIpC_ a&,N pTYmn9 %5TBJ.ů^ܒsx[^ 3}f?oן/3]0C8Ae5e̱/`ZKa|QV~D ĖXOĖ LmB67|dEKG8,향kòC1(gT~A_y7D_~_ww[% Ÿ@xe#BO2eq)zT!d/(H.ND>\2W/Q0!?pZ?}>G tja!qL @kBu:zI2 -hn}W۰g~l}%D|9 OSp겊TJ)3Е{0L2bե g;j9VB"Cz%Geee-Veb6f[ R1ӌQnG Z|8*1$jBnC,"WG?w2,n.~V | |xI17u ]|gGYoX[,  T~KBe<_#>5B*4.g>G9/u؎tff w`7|Wo4F[45 Ye?ut ?Xw)Q_> eIԦJ֠] 6yy|=6]Y_į-"(q?M~yZVݻ**3:U7ij~oۥ$GǮ%Y?s; :2$M~xF0!G)_E$ #B=LHr֓k7u ݂gj=,M۾1Įt\\3yͻ7Sˬ.26D7Omt31FM m2Cǁ .a!Mt)>*M"i(]]`RfHx 9Ԣ3b[4nHw{8]`!x7GxLn]bkp.Bry&5?@+$aoL .0~=B'!|*g1'i@MV8ޅmo6Lg9%72Q~x& ÎډVyNXϛ} _eHOJ12~$-Niũ;  x(7{qۥ,/Mg!UFtNO\JPRrtxNjޜf!^m,畉ܝfرnDd}#nbs &[eUDRx 6@/1ɷqiWɷ򦳰UFVw3 6i}ïP5kjvIiٱ4;w6}2M(k~#ڊ7bWEdhfF;TuI꽬.s -_%N|̶Rm6PWz]ү|U;KHeOO T|&"zJN7B?ߏE1hQAY4!)6ϴx7 %ЛO7ZJ,򑨤Q_rCev*jmIx]@YBx!,}NB1q6f|PfB3|jvvjŬˬ6!̬wd zWM m@.!Xql~Gul8-'ϬԋjN4#Tz1z%X7X] =usab}-i,!%fvWW{L -ú/h=Ѯ )TڝĚM`c7Vz4#jo+ҷEѤjA[^Q{S f_Ng7OSQko+@s@o1$K-BvsmHG5_mtػh6&vA2f?+c{d7˘5F{\ǘqҹ¦uyQ dﶨDrwz@F[ n:}H44 ?ַf#d [`Fn6@[{qfX&+{8C 3lt7S͘E< 0f:5Lfp/H n+d Wm1[y!=xKWﯙ9*Ǐ+ys.Nv@5#ƻ"}M.M4%$|=gh; vj7\E[[NwI݀&yymv?z$Iq0(FvyR3jDAvQOZ8vHjĻڢ&Q(rQ!7nʨޮw*yvs+lLtd_ޟq{st*/x{08fDА3֪{SP"WHGħ rU> ~DŽxTQ SPo H)'{z x#O/Uc:,L^zxl];G3żsM|zFMG5.ll= %F2L19LrmAw(a` iuiNJWzF?!ҁ? "~Ѿ| xRYV!*gD5VWRj1ޗĘHŸ$d bp7A+N~ ܫw ^G0b7QdJ{`d*j;E.zQ~e*Zm hO&F{ #vi?QH)ihJƦ49"%yԱRAb#0gTJQć_2%~r+nr>6) Rb4z߄syG1XzX¾)ç&9L Bh[])t#g!=rh}wl3kڭEp%s Bz0[:yan/DhQ54q#jNG9$;Cw?'ck}Vfw#s 5Zu[fԪ ;_x43%G1&ZW 酺H>q!Y?`k㮲އWӸW4n>Ҹ?+ۏFa4<8:VLJ>ʲ?Z8]V1ל}@2O=g}bG [i(HA`rlsNf,<-iEQ\+$A|$yMeR+mS!Qk:rRa5SCcH,ewܯp1\W W4)vHCrHI!x#fG?h|DڸTxaWFLaiCH/aq<ڍCwh\>{;?  =_ɲ$_@ɤI?+AQtg?>hKiVNh~CIdg}(y=>Syt-ߋB6R!{A>ϓ|h>?#|HKWnufv޹ʠfHB#]ip׉?~hzmQ͉uj0޷g@x43 i#s46D*"CJHAy! /"oT~JRYDS!5ߥbEœ>n4;>2t⣟*'' KGpOS1*/% ז2;/ޑ-ڪ4pGkyOg#ӓ"ljrX9<΂vb uf1eQ}h:xY;*ry|X5X5Iѷ^VAcHcxG<ƌzy1_\hDXv4w˃Ҿ}ԗT3*&CR#s_ndti4hRFC؟׳[%?UqбݕɣWXpD| i'0q q?#'V>>nqZh(1=U@]#]GQ:&yZyoP3[GLPR/Ml2S)>yC͎?8E GHp?_Dv/ah֥ SE'/%=tBm/RޑbSUèK-l[7_lF05S7zKrpȨB3!VӐs{?@[=w4?\s 6Dqj,  #…Ti9ۂ-vBS6Ai\3jg$HufxҘ~aԍ#k LZJ{uJGvR2ì-΀Qx]WV]* ߵM|eIF$rwMgd).lſsw|}-,ȣ8u1;QX Mhr9ǃ4vAكilMqbFxZH2ߩ*0->O2nx] I׹@49)0/v4-[dr{0\a^\4Yw;N}>5G F>lvOxO,lNēh4N4j74~Lu g֚/=~iգuN1?sb[s(r[-j_#WbvuZ C4ʾQO4~ X@my/旴̗*&;yu_fCekD+!kZ(ƨ`橪z_`kW~ :!Ј?mFA-71 F>3z{EC'V ȂjRr?Rw:Bz;i^̈́d8s(sRvzzdbzǛ`ew-9sHIe֚QȌzyfYIzSwI܊? _! Ki8=؃{~Jq]4I2O%7(uߒI ;Kna_A`u|H٬Kwۛ7)>QQn{MUI&Q#x}?"o%BЬA)ruy8 >~x=-$ &SONDGP4dҡHщBO`tτF*#xN$t bz J eu ijvW=pRftQim=?KX! WՌ0An햬8" w7"GywC \mV[N5OKR]Hdq<0W"osgD;eWnn#,֓"L~&aʲԈf{?}"\5.*8F䝷W3;샃kOL]C $y &jOFo.%s7-H|v Nx~deZowBSw ͠,m؀TfMXUXu_4Zn5(ms>9爅glѰw甡8WS{\W_Y'48ӊ"3%P#nزoDf]ə ^O.oacd}$giGOֿ;[j=d% YPN|?~M.гn4VUy#EQMu }: jG@})o7Vy,q-jh5ϤW3uTۈwo&#!"r]\!>bSi&}<5#(zB>w%/z}ԁd'oQo#Qndv5e">-_ V;Wx)]uཿܳ%=NuĴd/@'dsHb)|fo 4/l0}5_C--\ k.};22F]&]|BOZOu^y=2mgH"6&6"7ߌ\Qh\#?Xj\z# ˘$3C{`UsAȟ04bSa-FDh.KISl"ђh5Vl]ٜp*~&4Izyz7ۂ9f3wMoV4>QP{|9$_J%-V=.~pK [2n/i;Vj!+ajګHǠd9qeɶfpɁq%士?_G:R%ӫ,ؠd7=ÅFԕf %!nUMm}ItQ?fpפ|/E͕H "`:0̏G0L mv0*ޫx4CvW#Zoɤu_w7>GCz)Li5Z=w>6.3͐I {#oњԘ1RrP(1sR(r31#5nj3wҝFz/gAYoavf/HFN ?!⋅glX6MR3uߣe$5? &k 6x48:5^j n e$DZ5vwMA_;0;otZo3<:50PO4֤q/_wЏȍc+$㨩yv4o9C^a _1 c{tz_h tW]b7TEu_^-D38Q\׵pC[IofK[3q}`|8NeHiKRf7^u-oj&V'ݲv07tKt͏S+ѷFaG]POFَeZ&մVMN|OQ"P̩H )eAxYH^t/~QKi44 k=/`>Y%Zܐf,AK:yt"&k"^%Q3x;𞹰 c=5(ޗ .ͅWg<}ppꌙ+C/u`B:@EDm֑5<>o0)̋}wQWAdarpYð5.7 pf]4;LQ3U}:k>&[$WxD5?rAM#*X}`heIf'NNˡfC}fL;J\ (}0Zdr>>/l^hv5Sw7縔AH}vv4'PX޸Ń\yr_Py'(] «zr$ǼUgעu{ut,U Cj5אok^ Tlyl"?V#4U$хQ SPmw}`H+q#ؚ8Xln:?3 *%a,5TX=䜡 0̅aLNޑ"y|#̲Sh_ܦf^BnW3::y+(EÎvUW}0[dI5"*0%]}p[ aL*[ Ri#;RL3Ld6WygѵF(R>3od4D(~z&j*eFrrN $ (H@(r$0A2X_MUWlc8`/3 ~D/h 2^Y+; "~ ~ٜV`FϠ(rΚ/>uM>{)[MF(%!CM:?K-Z~9Sչ_BL欄kl*ڐ(ZSǤ:aZȓ36#:߾D*{ͅV]V N%?L{d ݑ/ًu/rQx(;um)X69SǁHv,ߛ6 fS/w_Sٟ.quq-.-Bbn mo㊋.~n~^8uo3cXxF lKI9R+B7M F}))t{LT)@hI)RQR?Cp|7>;VIRh"VGF?\l7S%4`ʧ%D=Y^[92!)$O^*3 pȃW!{JշgΩXx6g^VX)5 5c8~1׷#i 94S|2/YC ,sy5NQlO>I TucYCU Ҋ'(nT=핤rqY[TRr!.I=\t_!1Sg 9B#*B<A5.k[q Z\fXb:{ "|1:(⪉f*jsK?[)K hq/e <3)FHn+:E8 TT_G fzw=d-±<wxF*=p_e;y/cD|->H33ysQwK?o+Qw ط$_w|/DtGz+~S Հ_W7u*NIX/ߦ=VUD `R%Tt$Rct d2ytc!Q| j= 5-,%l]k 1҇P҉|܉@ǟ7Ӗ*y2~ςu:#uϓkU4 -Ig4YjM/$/ronȇč/T%&ϕHO3 {MLo%IηU)߁xE6a8ZB!MmAVx"#.&)2/E)D6iG>#*TW*=pRV UcG2m"~pSn ߤ|vsh 2#v/iŏ% 3:_3.LПӳ9I٩KNOڰfP?.KYj}:xNQN*gRT5XP3uczpYG?^f>X5O},nRY? luӤ9`ÃdNQ.Gu-ÒGÝD*jp0_.y\1{[1GXFycH _LSxEQ1Y<&$ öEV$~NbMŒqua+ŏ-4ziN6kx :.28 _};(!uYwz" =eԈ /6 E" )MV4!)E1S,һ,hF1m6>C}%_~x3t6 mP˓u1[zT{>t +P'^lX"eliMλV}Fk ~C1[QPwyp瘗gBm@~))d{J![OL7w5E.Q9{z0_1I2LCP3?mftT݊eg_KyFt}M)7Ftxk/K>pѳT:p"`8+CL+Iƨ:fp㟆xt/A,;8TTZu~֑+8{:/-KZ?5e //<E]-}p/U:eYɭ[SSv4<6UzjC&WԐ6xFA`pwVxšK+9;OBZ[-i5$Y4ͧHT{> ˆsl?P$c֒Ӯaw&i$ߠrHp!δk djj~{"l|jcjGϧFѯOef 8(@Z3 iYgFF]uҷO;`"dj \O;/ dYY;«!uߛ|z" L+Io`}KSƄvz2?S&pȿNfbBiD{>fAA3q?$"hwAWqUZ[Rw~4 5 I4+bqt6` MRv.)p^O`dGw7(%$U?SW1 哐ii=}q(5t<0$gOtJ/&p=Fi_诼tV=^!Jr%#ݲgLFْ|G8 GK.}>BxrwEYO]1۬NC6 [iRpY4.czЬGa.J`Rwut|x>9K7Re׬ʱz$1p}*XL4Vut|h6>C }d]>Lycl3u±"L[\s._K9l uX?fSy$$A&I6nGz% >Z$5iRA_)xUv;f 1w,2f1w?:1{1X4ϟ?3/ϟϟ1|~Wf} ?,?Y5_~ϟgdSE&oqzY |q|K=/·4z?"&6vO6&䮟dҷYNa%Ţwܞk,iKSCf4}~Ռ>d|cv,3[g,ق1Ecv?kFdl5;f|f1;3>3Iv36A wߘL ,^~EfF]l1w:a8dvk5=fDzi}`%c1?բ4;M1<&䮿Ѥo1MC&*\kA,ߘZ\=v3zTR Y3*d4;X:kv[hh(l-Ό^J5;f|eo7WM֤?kru& 31]7+9#9f,;iN )).Z!xw|l#g>Q&F/v}w7>> ߻oHf=ьi&a3*/x4l&tEF33FE_Qd~J86;mKgqr:w4ɰQ۪[b>Cq?zzawCYdJ?&bt@G8n\Ȼ}#*Ӕng,NC:o?nB oNѬd3+ߓ}fgV-ծ~g_}V[V^}EL%gpůh=SQQYn(xv+*\ఏO ޡ~r0na4l<:sO0zN ;U:\s]afUY-얚mh%4YY򳙩fvNqcV0gv 1@y8:\nen#[~"-w[^JG52#[g8vi{r14McpqŹP.n 7]]e"WaO[]D LSaH"I[I"L|X" nq I>΂١I´0A9D"Ls1, v"$2V\K8N)m&Y a0D^$K@GaZ{j'->FB(cm 6,I: ٫s´aN0{0$Eo (_ CjQuk+u,m iSOa)D6"i-JPC M;&pW >|"  {6!g߳a~&ï6oWB~߮0]BB~/|^H_C`B~o0o08 @B 0[WD96(ʥ2ʑsl!*0f=P,5!1[^ |]Ɩ/(tD2Bb`[DS+/cC2CyO'E -cK7Q@R,Le+|t-?CA SZ 2C1%  ,Rx%n m2Gr?嗢Keh' oJo|n)lᤙJ(Tc2G[J,AVFw(q8 .P6`0PJ%@ 2GCel9R< .x E_\2#EBXƓ@ҩ(~V%.P!;Fnb G(*(.r>:ʨs7%OLtΝe0P ձ2RKYhJYIY>U&q>-(Qz.%R"LltG@G6 e/=E9rtI9P 3DCV2pCVZM٦ih\ )v*)kNHa)̛alc4f] 1+vj0$b)M&!eN+2mB6;eє%v)FSfHH٦a+3+Nk1c)+MHYS"!eaLMYuBʺ22;ʬ) r"7@c$幹 \(cm 0HU8 mŃA!oW #8_V Jk5(IGbj%DBb?!q<@> VXGH4b-4Jڿs!QGt8KmI얟 KrQj$鉤6t; !i3<`0A re(Q\8J{E؍v]@lmYWl0)X͕[= ^h` a ʀ4 vEwWF+ybӣ-2`XM4WwF[}ev yn"`ӇWC4Wƫfzh`7]a4Xו d&k^55'\5}Tj&\5|c+ᲩtؗMQ˦ka_5m^5i}mLNYs4ey )vʼєRi)^'5ܘi)+MHYS"!ea,IuBʺh6Ƨl3DVŠ4+W|h#54UGic4M]i [!DfD#ɬN$pʊ؀ZgMfֲe[F?strYn2#͖z-A&\`JgHꯛ-,ln#k(el̬3$]\åt^!gtQGHW^qj^Cl!ωD32 l"CQF&l:錌ֱ?b~dGtely3\e2ve#b]}\іgx-w%i#GA#i})7jf63/Cw@1!&-@/ /3 B_ &^ \&O+RTcOsSY G#\Z\^Yex'WrCHNiGC=%[K _Y&9QrHN"rjrC=+ԚFi ԖDD%e8Ds:o""Dx/KMLDW""NqD9HHDV" p,@`N &gc8{Y Ҝ&BX . Dͩ+1y ąqt!1D@c^ )(ND@,.Հnbv(ai `CX+xʋ7 _ &ģ! " T--smx@ .nJF5C5a0H,BKexj C XMTnp%db#aB8X 3AbEAXZ**Pp0ph9!`4/@h;^8:p/'&6 d $V慖¥+ᒟ*򵌬.I1K;_LqLZIT7:fYT$+TF7U}v+뻂dp tM՞ jX%뺚dp '陪<#@VVFf~ϿgIņx**MZťtu)yqcW:cu\GǥŲ+yc<%JJ^ɵ\!)Y7qcM:vFYuOǵױ77:6$x:v 8i%3t,4yk+"ykKqu:~|VVt^ԌlLFQ:l L! aML3kU!jZvc{?sϨolRNyoA̬=yGͲ7 j=j]ka /rH5O2P5AmջxF՟K/^i/C hcaexF9Ƞ}RLܥ! Hl=WCq2DlGDW"J!6Y HM$: \&bc2@4"/!+^QWD4DE Du "/ x<&ALQM &Di< \ Ȼ" ^)_k7c43gfћ`c)c|O2ݓ̬W .Ryʂ¶P~@n?*nnl?-di12+ !jU"mAxV^*j,l`= ngk5:6kWy g )QvZp7{;1LjA0VHacb%IcK!=fǺ!f#,^y3(3%RǬ,:1e83;*Xegk*oBJPuҰXamZ{eU&x5Kl8_+=mLϝp|~ 7!i3w.>i0McŧHZOJZQ ,q?:-]iBnF:C=o/hS lY$,5 ;+qmp8tRlIN{9(wM G)QYѤnY|hx6tT*/ G >amA-y~KȱWcn+Baa9E8:y0 r9vxjccJ8rx!t@*ӄG ۱V"z-D=V]zEf#O8\7E<< @f3=cKTf*GJP/9%9B|phpֶKLWt9Z9Jt{oW+v '+=ݞ9ȱK{|/c/cJFm^IFA<&t tYrB   :'vQJ_g[!OS$'C(n& Te寳M+ ΫB`6*jRPC2P:>P;յq1X^ !uť6) C0X荋A+) C0-. IQP:m\ IuC!0ć@T_P;`khgPd(X ມ#+~_P!Tx 00 @+L C)C yiKK%|yKC+C|nK󜡳{ei0yХei$yХy4v.s&4_2ti^,&4_1ti^,&4_=ti@Y&44WmoI~A$fA֒_Y˪J^1pE/(1ZwL$ GkLQ#`JstPSjJ3xL 5ɤf6Yfل' B@{e¾P0ؾUi% F lpoN C#d)lB6 lJMib6=U6j͎̎6c( &WxW~w諛|o#RTȫRG]^{O#m./T>wKVhϬZ]V^¿yVt~ѡ~⣛#q3vG71\c}gFTi[ȹ[9UxNPn$"`u~u ڭܞ[UE3: ıd$drQ9wícNy]. GwŖs<7DeD>vgXbUxQhn#5  -"hI+_=]0\)XN.;#uwL/N&ZA }9\s򌨍H0lT&sSPvFr9^,@]hn}=[9ӌ %RR8g,D7 _K_ӆat7j{9S |+ >r7 Hta*[o58e+)Ft,Dr"t ꃜzNՐR7M7+u+uØ"T[U#ACI.,V]^XRtvq-[U[KtT4 :_GlI %IRRreTRi^bUq 8*VRlatqe[TZ%#/TX֤EJu~v7 UZ2@ҡszJ'T4R%؂hLRW_cKMBYm"ߪt~@LPRk.gr'2MWJ^Gpl?EnDDȥSj*R*)::m %:}HA+LKc.}ZMGt2dgSc MEPGY y 5q S2Eϔ*$f|xe\' As$eO%b\GiѷP;6{*nv;/Wa(W:#j'5اIT}?gwuq=,&CnEp+H֌XjWPYnwpoVigD~R{l/D:6hoI̭-vIbDߒH[!n]R $Oʁ4!Q=: 4OVONKFTGUiLIeҺ!"ԪR3FMp+M%uIkD74ک$g%i4mtbE΢呦Q3АK֠~II5vJȐD]0t)UA謤#09+uӜQ9мi'eM}wI KKda~Wʁ'7EÚ +6)5V԰&ӆU 7,w5,iZi2dEL I; E2dQ&yʣ8Ҕ F(LhIL14ͣetx9?J#Č1FcrHR1f2i(1e";ad)cLi"ReJXC[8yBFlavGo&42ܽ |י/6`qR:ܝ$f ]![((7i r I`¾Ut{oһmڦfM7iul 131ч-a{ o~9h?9~8jqYI.RHTǭv4[(sTd@}fއ7-.[E2wcwm=^ G[1r]*SI&Q̴HIGJ>R2>}GZ 5=z{nI0-yG(}:=7/Sٽk1LtHzRՈCwH'.ӷrJA&+ uR-2Ku|S6>Y|hCA086->WBS Mȱ?`[^UCfM[`x{3v9 lY8fKzpXTe\ƹvX?r ӦV8궱aN5nLn2W?ˮ˝O35p'ȃݬdtrin-'s~|LG|]LCh[`{*ָKS"-?WCY;9Nu%ݽ<>lIqJj58-7*0}`Svfnt97Ib.֍MnjgLk2#$7rH >>GpE =|2:,|tzxa4>-ѕHu- X)f+eh8|703#ٵpZA ]Te,r0wk񷳞0E =*3:M?Ynܧ-ˣ/R,u4P X*uJpDNfXO}{u1y*# hQ *B1 4XymcKj{52rdc綱u4 X9 dWip8"8IU)`[ p˅Ҿ wtHFFl#|(Pʜvr3z G!oYO6q#J4= 2N. >+&5 _(`ea^^j11T4#dqT ddLAT3-r:&030@Rb!{I9ǷG5ս|+5 |q Q|TYf'SN0vƭн`11]m,l` _+Uшau*ΠūYSc:)^|Rj2yp-jR4p&ս(c׹jKs!U Po lOTNcA93ƾ8(ɔʽZrr2T>t=m܂J{:5N Y*{9NZ&b'4c1gɮ(_k*a]`R#j܏@Tz򍜙:͖^II2:JT@MWRD%L?/p@GSZ^APm\nvH\ZGtyׁ(:FahMR%Qn,4$-nt8TѸnA=c#̷t-U"[UtʘŁPWIu|/(G |YcxZTaC^ k, \`?p,EӸ[q#FF#.F8`e= r5&C m :rauQ/˄h@V>DRQc9Y d  4}?W|#é#O@xY4¨Òq ÁzA^ej"i5sTkVvQQ_鿓h*rP70~%UӱNNS7ri Iuܕ0 fΌjet)fH=Бi464>hlVUzJVD󈯰LGrT/K8A3) h -#^ ڐ^8;^sv+ $4.] NKLҠ iR KȜtn0f4]=]0|n჋*L^0 2mv HRCv3 TAܧbW㼏WP".%TkS>R3?*R-1`#4:#J-Gb葀||DnE0 =M{MwGH~+NڼLzF P3YG >8!nVQpDrdT }opa?Ge.i+ŮEL𖘃;g }Kyv(s`K`ŎM&Qf V<5 v0^'aʔCC$Jy1x(9+Q_ el[yW``v7 ̶)_ li cUn#(lU;;nYirE0I"_EϙH<@K#F%(W˹z˹~hK/ k1"_%$#&\8%]^.B3 Bm;w.%رn`,acα0AX/(Lop>?J ^٧mM;āa8\cK=~+Zh`<(c #NuBL>]ccq>C)M 9t0Ps! Mo!РPG(,"#x`bmePP\CqDK.'wv*v>KR8bŝ] G܂ ʱxŊP(&+1P[KOPy/L; F:x4Bv O*"BDAM_ c/#%Z۞9M0,tG#N܋q+u9WI/h<" x 9eKcb c,}2`2FXfb4 n F[0n2Rnr1P `twҡ_: Q2 ƭ8@(**$X,jX6FeE_$5p,2Y'7|GuӶ+) b,]p W"FL0xmrHm.ϔI<%&C wR: xG7`ޫM*`q[ߒPeG a  >"6|6': %BQmL[6df!`Z\ %o, ;m|T˓a ~a@C"F0>أk/':i2#p_)1€A !>S<*♏9xs6-Oè QA ǂ @CniQxf`!Ґ'O&Y0n>4 FWQ¬-K&4&C M|#mo&LhۑOh[[B>Jh[WB.٘P|;|iL'{EiddOY. RQ =. hjmR;gܻ`s2g~Ӟ2Y'cd̳y1:1ǔ6:988q߽O/UFW}2Sz_izlO]y"'/ckD6*[Z1.'Y'ЗoY[U= 7PtcwNAaC6:k6;wg Km{ro6N6IW̥?t)]O8WZjS  r?^ ͢m@{N?(~tEZAFR軓Sk>zZ Z 6mCїH̯5G̯?0a QEi)]pR{f ٷ8y÷?kqկ=pO.\uC=p=xw__cQ3oBDC`7&. 6Ӣ>JqixyD=Kںeb W0AuᰰsgK{`o*q8{U*ٰtTG~0Ɠ3D(ؕ%[~jkdHvw oNyWӽB1mÃ*0e5(*gg7~,Ji-aqqu1R ʝ,,Me}\{d" W@/&;vQwͥRSzMބsxq'Ukoo [Uw8C jCppׅaD.z7rv Hm!: ᱊?+n]ug "Wz3x%W}z% N3>tYV?`HCNܸv qz5ṝNcy&>azӞ v۠=Vh YJ%gaXO[`w@@3nn.83«Sni.:fKRly>*-mXf1|Uvs(|w9 'q lk[`Y9PIq5 4#-`B7+uJ|<6wYYt>MS涱9*Єm Z`wUhNR/h8;NtTh:upGOڠ xR ifAl7;`Lg Gu\k>5j'&0Ew@ 8@pAl7; le@&:- _ܡ9F;q.@3;p!C1:Al703^w~p@DbppFsqSpN"gȀs18KS_u9hZlvCFjjF3Nw@=8DXbPXw@Ц9v )2TNWwhBd} PttR':J _Ns怣 '&0Y"NbpXt@:ݐq55P;51 4Tk'4L`@"SdTW@~Al7XU} -^ `1(` rW Xnj`:ݰlz@-^ } ӫx5nX1j`-^ } yӫ oj`gV||*j*QU d%>~zu>:1AI՟bd=E3&/nV)2*H&[UT7NQkwӐ\~տP'[z2(j St*%7? ڨ;dS&u*8TS>lUE>5O \ԲyRM iNBkS60571S&SQ )Szp6hY |27\ O6KIjJͩhmzJꁩ3l2u$Qw+6`jab=L W&2kԐI:I yEsj֐Zd.WXOu_b&Q6-Dᅯ,|%!$eͧ1 _ |=mjV^Lc=E|[X?Kz+"+՟?K{kת뀨gUoISTLmK?K֮UK}jԪ*)fD]gUKnZ5\pX}[Ï&7Ms>t7(Nun綱͕g!xU;z6UhxU Kb6VXm/M~eX=Vp{Ɩcoqx;qZ}εrܹV^^fwe0ga/g'͢Y+|iaܜwkσС"[=~w|+d{8{~g ;?꽩Ь{7꽏n;Dns磛 'Ќlq4vvG4cn;[砽lß6 *%rH;Y3T|V+|Jopf=}CX YϦ}cin[^̭y.\Pq%E6|;gOϻْË6|7Wf=n pמhf/`ItGu6yGuz\ܬRs]\~=׵yh9iUfNML~hb^m7BGg@/'ټun}m5aWv6BO5 = wqZO~| ͫ9l#ZOiZlO ZOxGpW3S t.SU:#Θ&FM եc(==}t8Ma8f>Nd8Y&e;yrg>Nd83Lp%h`Iw{ J]glKnv׹4 y!1cuZ(qC{ E_y{a(_K)p3O?dP?/>o1 Q@^=D^l<<< yJ^12g;sa?WLDWc7JO *dh_0^gJO- y 4(;<_,ѿH VKo3}wQ"ӄGInBimA"g;whOxV)aq(aQdV0jS,h@I ::L [I0v^ih|c2O5!a ,et@I@=iP2hu@}@~` 65B$[>:>Dgjj>O77 ȧle AejB@]DN뀆EԤN @04[ZzR4FhI h0_O'1o4@OK&2P& ( 6ԍ]A@V PHt%55o:5B򇄗5@'@$Bh`>ɖch xe!,EejD@Cu!u@CPԨJ V/oKt@j$_hP$B響O7 ȧ|J|;<Ȃ,BqYG97h!px42 BʡrF4Z!eвģQ?"\K&7h@@+(Gu7hPx4*G#ʍV;wW1.7^>jM8:LutC֎p3v`;gx"c쿘M<%IRd&ҐRIw%x_%K,"ck!i/~WX{I;6ӅEVjBFpːF-CrfrT+LBTp3 ʕ kRvÃ+5V+}\CQ\-o[rĖ}7Ė[gl[SbbK@_6 }Rv}ؒx/@l[[n+ R8%}Cl*:J-j솋-zѡ%qq%AlL-b˭3&c ˾)UY&;J U赍Fĵͅڦ2)1gN3m3Usz pД87cŋ/^r,oO,]n Y3V: K2cͽl)M-3Vk`Kߔb^vRN,fv)jp5{`ood= tDHSk:Y92깟~2&>P2Y7W1Co%c~9D<6B?%Té,UNV2 SHf,QbPf B9x|Pxy>BB^(c%/ɘg/}Bۤ4٧IF$ڪ?>Q,|ɚ=!'`O྇7nyw}g'srzN0~}H?4{'yzX0C;Q}H0S;Q}9,'97z^C`>l^}dc!{={d(_0z>3.׃rb# ".0g>2`S!Ovnb P*x _o#Կ2 _`Nl>G/~[8J4#Fz]w@ۨts͝le擕5rOe̡U +.lvtE 157&C}Q"C8Dԇ4'uP=oBy`cPP7!a|Y⣗mQ'ȃdҨ^ Q;غ]{2v=iuZudO Dԗ:DPQCۡ|UQ_Qc=Gn! 騯'sKdR]Ln:Vf +.lƍtFA:EA>Dݏ%AGݏ4 :jNWBu~{'T*!5 N]C݈" lzh>Y(wS9OV+.ltwG6GP'C]u4A!h^ P{>|~{Ԟ*OP.%g4Ч'P\U ' RY )~gbw}Xuaw;@ 2(@7!a P_4Q#jIG (-4DXzP r'Y.7hO"Hzp>S>_N-í!Vl]خm";6L:3:s2!D}Q[u7 jC:jB帰~*G{JZC}QDb:8R|%bXua{I (P7"!D]0tCPCݨv oo@}*Cur;y@hu$jOjHbࣞiօzpn8)PxuFoQ+.l㶔t[JGQsuFoQXua{W r(O 6njbv=npI7,EP/Ψ0j+.l.tLA.EA{Q cغ];evҝ2+(+3j?}+ڸƊ f'NSGQEP]g~VW|9hcշܸV|;z}U,n)<ܪDݖtXzúf:Z/}-n̵_>>3[}~g(x]r4*O"4d$CTrPi/K,"g/~WXymڧ ϭ4IOHi#2Qs-509-50>T%reB5Qp5EU5JuPT5q `Km*l!:D寧JT5R\dB5Rp5rEF4$F* PW,˔!2 ,VvCdgJ,@ LRvJȒUτY B qY }F)7%Xn,QNI!oBS2J}C#Ke QeLel J).+]nu .%S*]3VK]PMtY=cMRBH;2wJ]7} J).gtWZ@Xt)RzJ]7} J).ƙ*]n\c:wJ+]vK=JdoH"?9O\{taw2L' {'㲟{IE!g>@s%Qbᗓ~?_Ɏo?fɎY_\Xd7dǁ>Iv9qG%Ɏ⿹+#ޗxOoHv6=+?N?X{Ǐ&;=_,Jv򏻓m?.ّܑWi)U';Lv{#1/$;{2aLa s̟.Z^\U#NGC@tM5մRwsK vw}4M0 2 wǾ[ o UxÐb0^3ֱz5Pgw:LK/㿋?ҋUvs(m։{؛}]ݜn1ۼk3l͙6Y=&nAj},6:^DR` Ev!P;7$J{vcg&!P;sMl' _)Bf 5۲B6\6t&;3hMhZԞlR7BO6&mLv%tAOps&BOvi3ם&H5v)v$HM_C!UAGiv>$dўSfhO!;dDc1vvo]UΥVO@uZ| G#1mvMȰ3}6,HĮIZ$l+%9%h#vUikڤDQwv霠NZ ("92"7&"lQovQfZ  Q)@CdvuZN:窝iQِtYvF"]rFe |rA`6 R @jPIGؙ6 #dIF9 <ˣy3y,Y-{D>؈7уb v뭿]o=zs[󮷾w]o=z[/_o_Vs~y+ k3DAf7yo>I$97[Rn6|W٣in>2_d=w y'ngsݬGf c 6X-/:oټcGC-6 '@~yjݬBaï㦃nViensJ%W}U8Y?f'3`"W}58*+y [R6Rp5|͔~=OS>z[/[t4OQ.VHϨ<![AV`T@Q- vrv-lpA7yͫsYCW¼d=劾(gs' nֳorJY1 ݬ%Uh\uPsWb,ݜsX#{Ay nnq$-z?9_ h3ٳv1͘ P>z. |tO@SFx0=|UTI1P\F7[ruδPJ٥AtZ4`foqy!7 lƍ x&2Wٙ< aai|;sQી\Ԕ7+ΌarBA\(w%}_c3:4fw -wZL;t m}tْu"J1Nsi `/@ Cp9R 9ƥI6a( &;0p3]v) qJ@ʅ'Hgݬg@;BI WMƍ0\u6@,|h*PI$3f7 LH  sppg F'/y 6ƴGQW4tۑ ǩ!G6fZ 6.թx XB*F.S e7٘N uP6TfNR \K ` $)vYo &1ڸ,8f gu@h@ut ېvHݜYeA*BG"l-e4$ި$pBNͤ$$hIiIXT$)FtIYT606&tFi(hBt5u2MAMX)4 jB^2Mhք3 hBa"Mhф(M~E@&v-ԧY&<<-4^jH6DVXܥiI٨|BIOjZҌQcs$ i鶪Y8mcfV8KI7UM#50{ġ9/iBGM5;hfD& zpuKF|gd}*ocUHuT8AU2TE-d4~t$2 X+LjCP+rF>O' C l` vjA"l@!]M%dT R=I< bgBh]/ ; }v>&U*FC2Z2 vvQ]zcU1Z!R5:W=U#@ȨRf=*M6]FĉO&S`U+U$THR]1 FtDG_W2p ?F}lS}ӣzYS Hr |]Ԫ Џ1Ϊo j+Q6-]Gu1{1 V 0gcM-SɌD 'J-$J%z VET.fHجIJST0ʹ禔ʩJn% %cIi߭4> n,東y;4ەH2ݼ_1oWT޷+-RƱ^])+.y)3GTG|T$<*:*y j$r7*o-]R5*K'LSUy= QĨ,J仁6*ע,*bZ^ENLJʝרtʔ,hQ9?}U gA@#(G=vtlp=N"?X2ENWfWD'9i90 ~#õpg/ 9dX:Owm}4%Ϝs0yɳpnK8L{x· q=L`Bx)1<'gf/;6r&Qf VS__S;?_%J|e燠&mkc/ P`7~>[mWJ/㳄0.d&|ݗu] 9} ~tq 9'v~ol__e|4- 840/Wv~&Ҧ`ck|W5Vop!=)ńjZZqAȸk|_SF_^CCCK)rt_Ɨҳ`A@?7xe胯]UBw/#ur1Nhz%=_S[^^G[B7=-뻺`/_3YЖ' :T -zN5>S I?ҝR3G@:bl)}']$["=b,6"W)eHFWgPl&32TO DBJ~JXf=%YONeOxD;8'[$eW_`H|]:>mƭNMYO?{lgߦYN>׊YνyzUy~1{hb WOdԛn[+gÈ{aaAz`os*q8{U/.KGEWm8̇+CHЫt)}\#JCN"%W҇u33S^q}EJ4IQjq*EW[Sڞ ]dΉWIo8WqTa#$qz7U}^qJNqiSSj{Я^Vwsz1?+ѕ_΁]4W'W_-/q;lH3ퟙx&e˗]3BtOp}S~+zA+4ѻ,z7g:k,Nwsx^Ϣؿ?~_l0|{K"wj>\Q86 9nC".=TACJ9HU,rJG#D~t:сiNt`K:(JU. U+tCNS@ @%R 4VN)AG]LD溤F@ꢴpX:Z9렱r:U:- U t"\R#M.J 'E[&P VUH(JGQ6'ceMV9 敘<̫uj ̫yU8yUl|, R_Sbg_u.XR{~Pm~_Tg>UG'i}yڼ_׽? O=ſ/K#ewƿ?uUx/Ά?|mnu~s-QɿkWp>-?*?7\Vy/5Wm[s,]ڗN|{}_]۱m߲z7g5_>+_8?ϾH}s?8_WſZ/a(_Y|`OmK}HwdïisWV7WĿwYA|Ws۞G迼oA_7yk+KYqQTYx ;;j0vJ >\M*t LA38#ȃ2r-kuvgwqwgpe] y"$4AAsέtBt ooꪺ{99o/._]K+W> Ǩwξ[ֶZ>`tќ?[VǞ_m=cKR>goi}ꔀ]g?=cϊ֥?>j?-}?+ Sؾmɿ|oΜp͔+~WHךQy붪q~5;6}mm {o[¹W=9s[x{bw+N3:9i(vE1s/pkbewX|߹mBeB=ܿB]? <+4 xR8_P` /o+o]( #V%K'#^+F|Ye򥬰'R0-lG"30r[piPd-bx5!cbG>BgoRWHvivH ه09qGr'jW /[! _t>hg:Ƞ - A5ȞvCvxR!׃p$AIT-o\ucvVzXԃ/ $Z{@I4#H:/PM5N~؋}9ZLzYWVD{PvtxDE=&Q!.;!a/ebka+b}I>R[mEQ?#b?tZ1AExYx"o=eC l`5`08C| .ͱmgݘ;C!ʝ\{C\q#K=lO>f{P]j7q?;2Ce Ks%lgn`;P~~sS8m۪[Fuf`J/ι,e^^{}ҿ^5SNReӿAt|`/[=?^s&oSsm<5$6vԉnScyC +_6&)Cmh1!`BqBY%=I(!DېX akc&Gȝ١7D1ro. w|yTx_ۢ ʋ?lÕ2ɿeKWS 8W_,@ybkk0}D%1œlxxIGX _5}{(`b۟>`a{1B6ز .4\H%> ]}71/^2 3. 1anǃO] a{6̹ + {u0|vaa{2r됏GgзkDJ'#o%C+&ˡHF b]F_}s&L>,[ı/r_}0Y}s#Y_}v c"t}=-`ly" طo_}H}|%ٕAK#`z{o}{FľI\2-+O 'G |% KZV ca/xK&(G^ImYh b+UNoJ9Sы`(=1pC'7{0#aF .8R@" `Pn;-c>v1b <(ګ;Ɯ5EcyQAŖ0&wVcWw}^z*- ]~7iܡЌvsbǽWғ''|+dܹN MyGõ+CƊH0dܼ.n񑳐1SBoOCA )!3o f߀&x)8qC,;>}> ' {ޗ xubm hz>zM0jmpa_hyCC+azYȦngFI⌁ot,=H'z K.MzWBk`Bg=[Osty2dGtF%t@[gi}Cu:cel0KpE:Nta5O'ޤR6DNu:pl=֓uΣN49 u3#֓d/⌁e,=YG qNs `!!I!03 aF0P@I@!p1 #0B s!C{kɇDOC7e0{B !]CkONޤ e|q+e]voQ*Ҵ'^^v''-H /{/ndE7'kG);DNѼI/Sd^vM.\v,se/_vwT^no_zms_TEPrX+_W*[bϥT可w g#K([Zkt뉌t_oE,e: %/Y|5ff-^ vNeg(pr9/;Ⱦ;Ȟ1Aw=C5u [;oj* B7G}[6VAE{)Z=F׮)P4?˵AZ>k" B˿c~X~MQp 5ZrS֤)Fˤ5ޠxao0faop47cњ&>&o<Yh^3k򾁚l2I\q[d `o߷/.Xi[c;7=\e(ФӖ$Sk&iO_$͡F1_YP%W~f!>=2o cɽ4wͦAoRҵ^7b-ᎷKzxv᮷w݂*7콥Iٻ],)k젗Fkygfh7Xѕ;ysKR=vOn ˲X`zqYaW]7}lY[ImAZ]|6m鸙抙wqTcO{=egk3룷3clzp;jjcZţMQZUqW0M*VZ]|'Qg@v}:AjζRp}5gSp}K8:miG{ANyifR׫R"FjTQq;5q휥9ῊJJQRrbxX%M\ҟ^<捎VjOLVIVQHtnX п $}]),Q͙r_&tkX3<{K ci?;uC?;;{ʁM?; ?.?={ ^jy^Z\\?Zޣng2E2 LxhsMfNWhqUɮjW%-Q5\,_ڢMZ^< BZ^6TjywA7 괼x^uZTmԈjR)׌WkiaȤQ'VH5?jEרeҫ8l튶\گ-+Zt*NE[$ըbc,CbU}2 v)b.UϸBa*5۹͡XPS.(a 1 iV.Bh @!Il׎wxnWՊ{QT4+ݠ*iUţ*Vv9VwvPV&E'(!&cxd+?zM@ШvAU]!ep@[$mo։,+bIhb܏d@xl.]#j8]gTInI'R_e] BnwQIL()*W! Tv }"lt{UG3FTܕ EQas k1؄pLl.0U]v>\^cWh{9ˤێuë>Pg9}u6|s+bV$q@uA@+O+,,dS&>9 0ȫY;G[UlBN'4mʌ]sfAu) [$m¸KuQܻe҅1rJ*9glq&cXb쮒!듯b1)UG:0@& u % a@0YqDgy'?s JTlGŝP~4aTmb;9zhXDC\9a#?BC!; `7d>c FI3 _e~dKg 9mN cUL*mB*pFT=v@'F%7 `[m&ٔ*_*2knp: tnov}O߁w#p7<\HsJXo[f6C:Q?4\5UF >P,dk՜a0ȗ*;\g3Tgw7)nC\c<Ȉ)dӍ.X-ePVjtkLD-hl:RvdN$`]CI'I'Z'.?8،S $Fo*f؈8u{LT=#Iau1,#m*Adc8 ۮ:E_658:U!Ͷb7 rn8Ԑ`{E<_mVޘ`l쨆+?v6m+N7u2i|*b.<V%Hٺ2iPT1m u U,A;L6(F0:`%aDWw#5g6k=OUbb;"4 vܽ]&AY| 4`iPfvumE1A+ *ry#ګ;aAJA[ CUe<$¨dw=|`UD4Ͳ>YWkW4d<܇Bvp!LTg=HNeTt}sfvƃVTK%@aCHUbPېIOT;:ܴ҃%M-ki 3B #Ӧ%7JMnyٽ_ J/ nT9n%@ũ/]o$9qJq"-!#;9#mF(đNe}rL?F%ҦDJxiʎ(0©H[ Ǚ *b/I؎HU}6`#"ZaHFUYQQ H5;1Jr7A Cҝn؃Y #T8 A&^&` 9d #!-m;5 MC@nATd֡8p͓*"i$?5.q D)͊Xx#d W<!7rvshe CZ!Tu 6>vj\^v2ԃрs]kP<+Ru:5Tg9%p9J 0nl}|hSBnmJF0H]}Nca4: \h,I)_ij̓YڵITg5D\'r-$H3 rr3Bn|D4wcaOB#C[l]kQL.ڼ2l.ڠl mL'AЬ0z+ov"[%җFȌxy zh,*٥/*-RXf!3ZǃxAn 8@sCWg"6’rمz,+wÂEQ5V{%/XlxSuC£ND{ R%f/Fy t=29i Ob2hF(w)fi x7/:N60CC2E<7Q`XѱEvgdwaӾ𨰃΃Į9 8}* h>gd=`O삱s,)W!w-F̤\p.Ȭ!˚>wOvF8Pxb+ jH3nI[XQ5t! 1{X0ӀPE<%:EX";CPCcϣUØ?Dew:T* $l\vLW?}Gu@Q J'AW Cx%Bޯfa +L٨u6CbsX) 1xX v@JRgӨGF(Me2#ƴ*k$Qan:Qqbj0ܭuЋ="r0iŰZf@.<&bGMaMI:U]_"S59L*asewXD*e=yN9)WaYe>8Ú"}ֈk'8dE&C U#*>D #2]_Cל٤Zxa?4v8Iv֠(&}ي8CpW+$ RT4ibQ;VOU^R)f;  P11.b*Bza0$ kTyYh˥u+:] >w7֋dKE"^P9V'3|hˬ²F!\;ApwTCxo{- ʾT dI#*w7)YbbBZnj4vey<鰖/d^UHKF}A:ZBd[͓FD3I%1/Pg2C]@4AN/ i|Vϸ/{m~_;>;.~GK~$IL'hn+kU}]Q]]-n (hchY5/SN 梻f /a={-hG%̋_MZ~"U\HYWP]Ӿ̕{߅6# 0c9n{m%Ғ\L?YmFOftmFfdLm?!>UȏyvV}I[TK9_TL7,/;eTr)yFa!Zw>{8ś{[);e=f}mVi+i&Z ;egyx~YL9%U`Wv >U`A_ec}eaZ/ ZŚ O[ܲd%T'%Ta \9=VeHö AUY줇7o2 ШhE5E|R4<>ôhI('xbˇ,K%~R,+ӒLA<<-\naVzOK\uҏqЙ ⠥"%)(>hͫUe^MYI8 riLn<\7 vp\_v6K%7͆ !smV4 N2LPƐد{L/S,/Jٴ*MKSHs v҆Z\ZDRY~O>l0P D(B%[uOmE'Y׎k'R +9 xdɩ<@qܔ jp f9+fM=P2 'ӼMEmNH2i*\qnSJ7;E/˼ 3$CYc2URˆUyAz%&~ZڍԀTs*vBUwX'f?_OfŜ2DPOw8Sk;sFjor/էT9=' 6]ZuY1-4C >卻8mͯI0!/;mngH:!3-rQDypSbŞlial,F{~.y|?XRNz  T{i>tĔDLyaĔ$en1W-ȃH)aUhd̃auxY+Zgǭ{_Elqȕ'zahEA=hvҪp>K(jy<2iE!s ʽjrJ%8*9N[`f 䈙2-@j]m]NJP [e'~ Nߙfhjz&w˟PkвLmV Pk٠Z+ IfRīM`8L")e9i^ E=wŐ!B ~v%80d[QGLǡϘ菠vdFϘlM09?~('[p-3-c.΂=a̷͸%Fo֏q M|'fG~d}䄳pr`*Jg9(E#-.zwyaHxqwzAG͙-ZAZΤ%)UwR}7F 0*$s=TflBN`W4GOIDOٲsAcy($eg¾T)X%\yP8x0l Zz(j90Ee+x* +q?e=JSm`cW~vL1: xN1ht`yoE_H ˗X>G.Xş#3{mhvLj/=w $eS+]K|)Mfh.g̳{}X1UHJNHWYyY+eg .jI +ha7ȾK˗ғi0M6xI:ɣO`λϴh"щryr2coQ`nl8Q`c$竲?aLr{c a݉9d1O,Yb,3FFhUmUr k;=1gZ*%˲nXQo K@Q5R}lzSFX`U֋|uK?Ԋɒ%{?勘! > |- t9ww%K%k{ؗ! rͶ: $(yT)O{,{ +`pA=.X+// a]m@H'h&oV76ClM}3Q`o@6=V|v; WOlgX q10` /w޲d*/}L̮|΄& ى4(jge.j }VW_ V&^7>İgvţk. j h|j96@TG BYXgڱ3%c6|SͩBY=tQ6c{>VͩŸ';,UU/΢4kG>p^{-LjK*ϒ']t.vm^DeJ ͋Ǜo>BU֦ XR$Ia .-,ϣ᤹T O}Eq;^$:jZ@Ifͦe {#?C* h}/.Pmv&-*)<疯qթHs3*E^ ʩH.a2 1ĒTj %䂸:X5/%{i٦h^)BMtdBM\R5jfB@ c:8^Wz8Ԙ;a2,I 'yr˗\e^v*dSR6RHoWM%lXIsۋFx:`hSz ;RmN?I̗ (1MtlT{i*=e{Bs[S&Uؖ`>tbѻ|wxނ24J-"D y~^Zz|h%1QWئL<:KO;%*&OvP}aǷL bwZbI,)ЂYݤ]Gj3z<):VF?9{3[Ɵ,*լdlT/L>)u-}J* izp:a(tTpe}h(,q$Fa#YT" PvGig|~/$H1=,AL3PEH7s`8W*\t U48!B`y-+2`L2=ܝBሿamRd *G5Tawx`k~"`"C;S0h A~7VPW% T {iL,=,,mj; ,_ryl`m*W>leYrI7赩elvD{迚 jުTar8.gcZϰXePv<}#jys;mtCr$и3V/[IYѥv+%V9&V"˲Hw !WwȽ}8P զJ" GORvh+XR-Gi)ALq2J޷26vS-=,|y>qqE-̡V f3q,MVt:-`+ 8=6HdO;Omfzp$ךvʥQ?N0k|ݜ ϭ1a;ٛm *kiiCWzqo~AR菽o)Uݦk(M1R !2o,/r>K[obO/H8I9 cJ_Fb =9 corsQ"*"%;PmUzqՒz5gNtBI>S[üX;TʣO` L^~KS4$xe4e*xMZUY;T"UoQ:L1I`^ e)I\}>+z9^+f~{mNa|K~?)p7FE;WX|DeQ|'=j)s^^?Lr"#7J[<Zgmߎz;'hh"ebJc/hP61B3WHT#`'.ԏ!["p2=m'*95KG{Z|fX:m6}3~iʩa5 @뽚WJG^v ȗ iE3(\K,}m@]o5*{7.,6"fc D@?8js% ,scqG?!i6Z:"ezrOn1}ꀫeWru8Up:D -E^v?zͅ}e^5k|пg|"6O?mt[|]c? LzK)ٛҏu̕Zx;sw~nﶢs,G?KT1~0;g|Nt2>OS6- Jڻ1NCɋ'&u8Lt8!¡I9Kj}45+-pM̗^vM䚸wwM܈䚸Yڄ z(;Z,S]*)y}&|n=J#RX4ye㼏JVra̫Gy]"*l#GT\QDΒU9MFcۯ?o/xg=`e(h.-)C)I}BVR|OŚ|i\+k lp ⿞L#_Kkl#ЊV,/-w3QWC_U9_PKOb~s/ rԟ*͏=ze]8\~>TqUrcV˷L]$ d ˫OgMT<ޜȻ fw^sk7Ik6u^C[~jYTқwUZIXt]I"%,Mv[Dfs(Կ-v t"+7("QͰ0/ZbONOs͇?4Q}_+t?]I3cz-RE)G?Vp;Tˢ_oKZz߶^WZf+gu,\J  μ̒Y>|SJٛ"mVIG`!&? 1Rmosk8y`^]\W!=u%֐K,Hؑ%c_T=>IW.KPVI!*h[&jh]PPQAzUT\P%K[P*N (6tsܛ|io9̙̙ 듂N6WJf$c*y/ؑ">EK; y `ETvE3GijUo!^Qe:dDGJsUF"~*[kg։dF)JoCJTœo!lTiD#5_K(" Raɾʳ5T *)0[j5 @=]i`؃Ӫ ؄ce7\.+e&DP @q PO TWaͷvuo'PhL<^TZ _'PIjL<[ԧ%SP3a|<(40h?j5@/@:(%N(~Y76۠ ωޕ/ʃMf❄oXJB9O/?y@g_S2HLl z4\F|z!|'\zuޔl ?͸T Tɷ$$x0tK{h` 7yو Xvupk1;!nb nb quDqQm1I1I16 RpapOK(n7&p+ wWN+lRV8KSmJ"ipE,wP8daqk@d5ѸwS".𮖍{gw5,p+'xk7x̾vN'zp7/)s+GLUo 'P]kc M h{ӭ-vwA=q]Ɍխf\"U% 1&*wױUN ) x 2>v:"Vmإ55{[gDLx@upYTkr2UƦW,x1Pus yDe8Rē@f&GzKQ;F(5:㸭<"vZzR3QMC9惟kyff$ѓWyYP˟[y+BL~;PB'7va>nKvMVV"U%3|^lM8>H 7]:B#h6T\x U‘/(l]_ 'Ww~PYG{i'H{ z|^/t*uPLڊkWg]^IO#HQu8gGry㘹SGaKF*gB!ކe1wSO{uZ1u*'x#6NPppO;P| 8tn{ .;'-hF庩Գ=L.N>T4t`VZ!#?H (k>8 W_D̜SAJ$aGGv1E1ahl)Gx oɆ>el9" +64(d}f,lzQc>sgV1^;&ڷ,PtSt:ςɞlﴦ;\#Dv}YT7/-ZbW]O;xt}Q)1;Ds&_Kf~A+Wv˿?@mr{!kۄLR,DE处,dZ5UQethPVN}^⽦Ya9*'m~BrbӪj1{b ^@"k4[qH.৫e>WИs_Uxx?J'X8ƤX3ÐL>YO'[)3}ʋ>SrjF_l9Ur)PNXn95 y˸ǎ%:Q,8xO^l ȅVjik$\|_" Oڪ(1"ԷLjVAJ,9 MΦ nktF4j`gsKf9PF|DwFMiziTsLr;/[HLSR[yІN S ÊkIhL*OfQ_uIr2!&Ǚvι_l3N{Pk6>nz|lnuu}[| Y$Q8MiloK$Pu[a}bϏ3afG'A(:dX+XrUh}@!h:3AbR6kE;w͵t+:'+P3 CRi^_K^z`E8ٱqmײMGd*I <6xm3j;r my5y $+w3}́3 MnU_$=X.R:ĂWLu"#!ěϫZPj +FؗSt|O;7*c"}9 : ! +ߒ ԝh-.[B;\A)9L53%ți:7,Pnu. օM`wϽsq#y*f l"!*ly\[Iд3"ܭ\ /;S`-;!i첧D 9&cWa^nͦ)΄7N+Z.^nWt(y|5 $ase͍-Zp NxE՞3?BNȅ(ra<5~ \ ~5%:l@gBҸQ'|&k-CAox% +"DY ?ŷm1g~ R5  5gDxgp pu@BuWxpO3"1!☍18Y%afW7Fѳ@,{S5LK[|O)zjn,(k U\K$R<}ui;[r?d8;P5wa Bqy q{bL1] NœQP5k$(1u~VY?%Cu -_qثPGm=b(kzx5]j=A5u&֖mm70" .|-x>MeXSai1ZX4OUܨv74&ͨS qlMH@E9jVstof98GlMY治@&ݵR"*%jnsa ʭU$1؜"lobwE1xz.0 [ͺsG7q^G(/q5ŎZjd7 My@>8rJԮsZ4])|pZjƫ`gm]^\4Sq`egu6f6_.h㸈{@EX{.do1V_զ7 NJݟr{+zK5.-6/ed 8&rx3$?b&z7] "AZ?%Gʮ UڻD{?"ev&>r.K2!:񕛢KN֥J?񛖑ʾWX4XhG÷(#%p=ck``_4qz܅@ooRC#a ؆_89LT]!jE#s0=O@.=DQZ1#k06FTw2a=E'λ-P릈xiŷHZffu[ "~D\Fڼ$#qȵΜL8%0dzkKpr-uv#-UIMrP>t)@]} G{ѦQJ̠jVߧmC$wȍ!!VY_u-{#Zx1Z7k(66h>(OG؜`oF$bvtsmy0* a%.9A{RaL%\O7Zj[mH0eyxVgƳh\dЧT`( ,G a8_tZBR/NO^i/u.OpKh#&4-0Ps`zXӂlo0O㱫t{*COqoC\ 7 3gM<&7_DAU"4͟zhg[_<^"2'U}ՓFϭiJ $tYWL+&3UF%8<)TH @.0-UXD֧)v.X/̼0>s EFCZoDu +PYՈ>(nEmK<*K?I pBHLU c7e .+I&m;U*lE|[i5`$/!"Q_d4iQ72˱d2jV%€,'졒qI Q5K`dV%㲢9?%pL}SDMJNQ6%]Wׁ˒\&Z=ȿ_1<`w.E \;{Cկ<ȥO](1ـXlorНvStCKb}pX\-f2<ƒx.B?.LA59õ&j1QkñM%1-{ڨ'c l`=[M+VYw:ۓcK]KA?5.ʐKWC/Y_.iܭf6V"U)7G>W$u9E2OD)ܔQ5kmDy49x0x K-O¦~H؛4G45ZixCT2G+ +Y.Jz$;C|ghWnW)0 C-s=&"ߖp$"uy?Q ׂCȿOE+<(z;gK+ D3 +@[vh\>錫;R7z h3 g$ 58jqFI#>Ƙ~NcvV' 81-mTYNլ/59Ŭ&`QӜoYM7te;C o%(i @7AIvck1x{ >W$X+~B",g|4 d:SV%k$.yԙsҠT)/Dҝr΁ĖؘW-l̐ȊQ&"H{w$ɘYaѥWf/fn9GD8#y~:7ymw"RSk"*lăn F%}½#H_}Rn=εPzp6L4" hDaݻczaNH* UdOC B' 8N0x2%ۻm1l3!LV]ow!7;&:=%&tlto#wڷt71[.l>K&o/iG~X{An4R6H On@|ʎONEEn zKaԥ-lK.WY3Sx㜇U&F(b/䜻bwbfsM 6K, zjGG*]mt೨[%%&%I}6u~I$XK;l?jn q״+U"Z JlZ )^KC;P?d^`P"|$.`>~b\LF=X=\L|w7" !#IMEݤڿؚ>?q 4.B#Nng{+a/&#a@XV vcq[{b >(158~@=T_V33t g Q:F=qK͚bhw@iUdA_H$lwJ+3Je'B5t=VAu5 %. ?`h>;os)F[BW~M=(/p;B =o NLBeKV&1pLOaHeQ|BFŌs5̴!![RX,%T|R3uX1 h(E˕ne&UFBXQ"r&V +%Ž'"/A6+%C|&bb7cS5TuN_᧒F,rqJ7^#֭PıDD*1?c-݃`2B"WTjZVۍum4Ê8.l8uG ˈ7٭ ;'&{o@71l&7/\ {!V oeNɪ 6h7,Dz%vLܯ$U楲k3UϦa^вF 8\"C ByX";~8!C{'k,͚uˁg"2Xϻ泜EGZx=$)kx=\`0DѲ;OE/hvsuFnO1xU H"o,$?(n<4Oj@bfXkU 岴zLy-hơ9ip<<5`4OĺDzf36:A܂$ 2ڳ ԬoS1Hvt4-kJ#U$UA䅴˲oa:cX?Nsq4R5b7*7PMlϷpf׾yNMF!5,uMPc_>n.p@m~&]rM8%Jq*Unp!ax|y=|tD-JyYn1H !vˬDdBTNF_'VmcxzN?kЄ[tt *[TZN9fFۇii-!l녰(K.AQdpl&`W͜C-ؖ&,G"VlKy\hoW=<ɹU.R%t E~pMau}ܝ$AG̷l4vS8at)ԃ썦2[Ls| ?7:pq7׽wv, DAWj׷5nP{ܠꗙcL@5 Og*2;24+2>Hks2%wE.P-z3=0M' S(+1T<QǣJ TxQ] ^&U.zPl@[<*cҡqzV`z`.]Zbc8vøS #=tw(J3>ᡜҢ<7r=Q 0sF lDGb>_"3Qf6U 6wElΌ}gwE5$ b/@8? Ĭ 1,fO߿1Tyռ $jiD ,U *js$*-9yo]ѧlڍ>74j?l FyG бPl4-35c]J| sIqkbx8m{@x&_fG[_q%)k<#;v^XA~,OH|!>\n# uH'`u*ہzvr)[5%rͨ9dگ'w^1/m`/B ,pYdQ~>?с9iYKUpa"ԂY?p8Dub86=.!5sLd-Ģr ! kNn{4"2Lclv?«Yhl&4Cvi׫C@2T/؛X( J׌ cF Y_tZ.;7r{ХVN`P<ŭ^of:\r+UVb?닋סtz';^bE^,Gp5s{qg]Ɋ<'#Hj6sJ[j>ׄ[sowz_`y8}-I!Fh0VMe >[#F)6"6f j?IBa5M]-CLIAܟ)$-?)K~`}D(J+&4#kz gB g'i cf{i"f[$ԟs>MC.=d5 ~ʨ hzDk&-33 ւ3+kk= b\AX]Ǒ:<&̡gAS lRA=tm;̖VW(z(ƆX1 #߿_"J޻?ȵD3_C}j 1U*wA; $sa-BY$jd}܈w2Gfmen9GWطr=*v+){}'&nMZ eazNv[{DsNR]FA`} t3 {m@Tdn*(mJ'Jφ"/j\=v/ۑ1ߢ^QA+DBgU)Z8 X1@e?4ChUOL~ [!e5 /lP GNe@X89Rya&M>۶a$4]P`^C}m:"iq1t@~{D-iAw&M>ՇApdeT1rIV7.z!3FkN!"â 9Ս zb"پB7Ay1m%K9BYЛ ~ ,]wD }JCijG7F*-* -ckz@|~nd7wK0txz 9 Xa4i}j%*l6cs*œm԰O-x2ٹ,)Qkuy(-4)}ÿTn osTL/x 8L+7ME<4*uz'Kɰвz*&܍ѩ"fSU %`~+_yv*^ۛKp;BdV=*$–RnjVaEEbW)TkoC1ОJ*Hf:$~9ױ ܾ-!Aغ7X,[9WTHnl: N\QU7&M*KNNQ)&Zv5Oh wKE,B7KۋN *eGr 3*<n fvi:Ero9% cTYx!RXڮSɘ)19q}}Cg"q_ɹU81 XͮS+\ `*%׺sʯq)#D )y'Zng aE؍PJ"ڂv?n3m]J_䐼eϥyݼɵd:'P <<1[KQ`xKm!W(A#t:e'7 [\϶lےX5Dx9F|-c27bZ2%2NI0A*)D3Qa_*;JӅ.F찇'.л-|~,S0A9#L²c-0|Mv{0|o ]-R"]|KRX&UBɗFM$]dSbNg:Zxw<5bZ,ӍiH Wa&aJ:ˎ6SF mᆪa=G,cq!*v iS%/\/M '@>[., [ ; %nVFUuQ<| ޺stڂ*|ogs^5̠ecAnH~~nx)-jx'77W4>l} 738!26qag km ²jH.$jbx]5R{mS41¯C(;>%n$rb]5 r5T1^ 5cqυTn*W|8Ɩ6 1{ :)<>ezj&.rD됷j_qAV!f @T^3Ssѣ&:FeU8( sEcnyVj m02A`3wZ)0,oYTS vL4d쎨.tH}){豘@O|>y[6n9K~ ~V 3v9ΕDy{,-7[1>;'BS_y*rRǣQ nv39J5&*mJ5[[W3DAʅ|88`fVd0+ ˉUqs@[|hSw`g׈ފ9KsIDB G,ѽT"UXlLw=]a_3LhcͷI/D]v Xaq*}#K$pneٵ?51LB8i,!MπMe^|m{)pkz@;ar4q}1%oCݭ!׳Vwœqbߗh8!j#Lᛣa3BW*ZHڅ?_bK9=`<; _2 =?c>SfZDqMxڄBe&ҚpY v&gDjM|o&\ykX)ԩ_ڊ"mlZ;~R匋[|=j)2D@n,6iwDM besOvfJ<jn<T'f.T5؏QEp3ĭ~0m~SfofLHJ!BtQw2gjqѯcj'H$pDSWZ|?6Q'*7:ĨT(3d-a[l,!a\`1 iB;Ks6y ( Y}S}^mڀ-GgN~lD ʎ-qsA= 1-]FWNa}cIHox2剰eL1 t|D+K] ~kN'wXM_·N<GIpXǾ }FDT-|eEfYױջ`w9xTxJ$ww_TX/eC_c[yENz4 TuV6deC|ns-cOxTKZ>!QyY8)}r~{,x;D^&KM۩wibؓ U^UfA0z1za <ιf,լq@TRPE97UjƨbP%φ> Q5_qa68aTIXbw+:>ׄ'XC\u=`s$zMXczpO?I7T0APێRGyh%:(yfD~` _B1T2+Wv^b_ nJֱcllŗa~jF x"`E/h_/|ws;  ꪹ5%”0ŻzhM3Hug0 cvĎžP|EXX{͕ Y|+~=hz-c{jA4wA3,©zVa%(.&azh! ]QvBY|OyFBr]ʫa3sO2ڃ?͝Z:L)QyA=H%AwI+Ke{6=[mqyqϙq`l-av*&O Jo$ReʻK`{G.V>wH=v=3RW8TE6R~j!jPީu01mը=:WBSι BȼE mA梹Q2sY>|DZBBfFo+y>[WtDgm wUkѽ"2֦\Ck$=f_[ii#^` !o͹Ŷ$۷ [avJ$.qЀfl+PQ5.`ň[*_(*?_-QN|gy~),_ͶnPtY!l3iߍ=4g{';UI|+.t|͂ASRlM4*秇z"vEX <+(&nQ~ZNk )0"eGM6wpVdjA H]ǭ5=)&[O'̡'k_Z#[ShqiN 7 c'=sod!TIjkݳ:BlOS"鑖*GElXT"M[/ɜijTzD~Bt{W [k-~U"BVzdQ$3zٗ୒^YtAPtWR\ksPB`<=('9Nz7߉ 렺ftjwn؃7"x: Z~X"F?3Idf;bf!!0Sgګڪb(3EEɨڪ*VEJP99瞈~?̽gyszZPjw7:W\(dARmBOԞP{~* rURv@ti;De5j{S _EFOW>wc1703>~iTBtgtPHtx(>g}F~xp#[@1s e@e`?t5YնYtⱸh}ee` ?~djᗌ+yz*lWGQ)y}ӑsy\ U7BSrI~fp$[(.2jXRHƜ :<JNׁ Ո<+!B|Sb;O<]20%.U;Q)*#JA)I1, խ|pp<~曢%u/6a\t7]Ԛ1s|.b=tiኝt;o]ʇ/U,}a={1UnO_&+KtwMJ6E!?:a!]CKnml}nd;gHٚUŽ?XN#ؔW+2pwwgv8  YaE<_9&0UkZ.}pWS?JzU5ܕ"ZfK,nh7ɋ[T&jH{FGFpQywRD _=PDܟ)،25BaauK{=5CcSPLl-^!ƞ ffFyu\ /PƘ LpJ`.T'"!:EeC0}}3:9QI'm†9d1.J^C)Us)nx.N4 07+.aX // 232ʃyq#o>z؝ gQwu)e8F;^^$d#_~Q[\brwi|Gۼρ GAW\a &*lwRm3 TS⏒t: =o oYti$zS8eb7beB߻/&s Ѣiv)ݾhhI5nS]/AtzhX8w6 Y97FMnՍT{]^$+2$+㬲h̊eo ,YF6v*#P>2m2mǖ [HN|$'ʉSbęr8991ȣ@ZHZxZTZ㴘yEnT b3o4PV*%ܦLK M`+TMPMm.mKNtVY"${;wXVFW4Iu9W+eev]2"OQV2 wMrhVۭE&Nh$'NSm+D-"3*r󎵍MbZtZ;桵e]F9QcmhmYm7mjˠ9YmۻHNMfހFwIkYmn.#;6a%ހFwMfT֖jKhThZ$V[eu2hmNV[ hDp&ڦڜwv iȧ%h;D|ZʷcZor۴ߦ6-i۴ߦMEmZfiP}PY} Y<}iT"ur2Q\p'Fʉ#Lr8h8+VN''.L))&͊8-LѲd>}hEPDJ>Yy9-+31T\ʔjvۀy'(&fjL`Q]}Ϭyy@_-& w7Ŵ 4 YG ^}|?O ,*[t-MVT\֨ŋk_\k`{O&|̗_W :ݩ=nݺ{+zvFW{'pZ5?hGϴX$I&SScf \2K`R_I?r:x:'W<}ӣQKW~cg;vܳcJٛw?ڤx^ }Ǎs{7l9玞 \0gMX`~}Y'ܹ-{=6ܷaѮ-^Tr@뺮?'x؈cSKvCvj??F}8Cg%z}e#~OKSO}Բcw'ml}TomłY'O~brQZi#c_xj+a U*8 0"":"YVt~"grv ~}(hw *J+׻?g~aTKK\_W_kvd톯 vkJ6O`yQQrgl.${7&7xeӷ /}D`0 {JR(B.8x_._'U۶fc=bO/h緳#y_W !d{⹪_z鹗.G{tǠm ]g' l-oM//]SK=|[m>+W}¹v鲪Kԗ{NN  |IO _l6iyiiO^@)֔gss~U _H\wJ`qůq>c Tզj{_:bs_}\N(F]w}u녱s>l޳xo?ӿks^C>N`vY7W?3qG߮Ym|'#'̎zTev5Wxvk ^߾x'w>yL11Y pb/8c!]-?&{3) z,yw'=mSo??ounugO<+}qkiFb%tlWW0#&mϟ~>~M&7׷}N2:U*8mګU#U~[;|^Ϋּ4yyy3+_H`n%}U#,~6 5Οp/r6royco8eʌ)l]/pѢE%K&'N>qd9kXDxCZ'|ϜG?co>vOc受]K9sO;P7u43\С͆vyxc <{^~w!0<m |G?|sʛ[ &駿xzc]FEz< :5Ԧy.׿hdl#p ?qkxK޽ڿf͜V_lbw_?`@MSS?-05RjrX1hENuׯr_4UUת&W ܲf͍آG+{w?$k_Kt`9s>3)wsΕW$,FjNر[|u\l^5Ee/;^}_|X%g{~,z~"0'k}g6 pԨF}hFdƍ{5ߣ(a8{׳KݾjŴz<{31ጿds\QG;ۃV*4sg !}!LWȞg +=Gp_>pzEZp!i8GkwJN;eÉNjT{dUj=VH&C=i6rn5=^e}bjr|j2l&sf0>rL96i{!:Ɵ攦҇Pv4Xa\s&>܅DFb˙r spHiMNL[5:1Mgb0ZؒU /Ctʗ7u̞3+5'Z%T, *k̦= VɭaNn :{HV${^# 4` RN9Gɶu>]_s#ȭ^ڡeL cF?:E|M[yQFINBD%e- *\S f#u, pE,HiKlKEFp)+1t yly9@ e Ve$T#^;hZW_-}2m?':Zk 7bO p: L3@N 7Є!_М&<^a"{)Xyl0.*[TeSo7 H~ H%Od+KYs1n%JsrUͫR7wI%*?ǥ q*SMxZՖ,SYm-A R"3iHs 4L7b KJ {F&tlN7̬slQ$is[4!͉ fZΔ|I2r`:l!fp=f0N~ ;ܾlkĮ[o>=PAFV첟  B!Nj<2iIEȶ2T qC2M.h]E_^ÿ^_fAX,u+1ߒs$(wTP:]r.a0fn@q`'V[kj^6Gb۞_].'J710ltUYGԐy ]pGτ ^hq|!YjAhgJii8-zM CVǙBt[Єo);&0eǂnuUg90+_Z&< ܛ<AבKم)l)cKPC?mZ.8!c߼)`g'X!TRmJ`Z]5H_i|`aWUxqMGl b-VwantSV@503hJ#%aI%6Si>)?8Lbj{&7:&u9nnNX VȉnG>mw*=N=Q׫Eлh{-2Au5l9etэB',#7jĬܾL+ZdTѲhdTo<Wt ^NDB%H5!=-܏/d.GW杆S&0: 8^fىul q,1-o|7^atzs7DuL̵ryja J!,ع-?}{jc4VF'c|jGjgF?:̆T[HI4>V "\i"W;kUf׉!*wṳt̲&Fr F*ܦ-k8Ws-`gNioWYK(u>D5P.s` eHnaV1,?uD_YRf<}R ?)L)S_?&Yll]3HJYxyȨ^v~>S_߀GsQqAFlĩHɩ3Tb{VA Ǎf\RJl|׌^x =wǃxQ<^m-{iD͠Uhsnk\i_tدشty'I2v xˌk qUܶc8k7?3 ]K/d.a;nd j$lÖm&v4&眯&O4|$d p!Q>Ͽ:R =0*+)AV @~qdA-k5؋\2O OܝC"-џm98Vg]2uwE'H=e/+M;QnpʈP/YjYE8a>֋$&|!Љa,**[S # άh3`Oyn5'fކ)Y!:i5^41)"s)>HcW%ٴ%, \#Y^DG0~'o pE t\<$f9 Gxښthu&٩m5}F \%<Ze̱;DI|#"Bf}׌2 kӝ11/k3{qwNr)4eDR1?iB-3Lskx0 M pu3-- s=w!*ߚ xhc0 v}R.LObvy@$^hH!b$[T/BѩmƂ}0Io)>g75OˊXf[O3ڽ?0jQ.ن,닃*5&!Ͻf8w[6}tE;2=\x?50yV#|qL*½Vtƿۓ; qL=U޹ЪI.DՎ|4@c )XtYMV CX kH2Řණ:lgm8MGXʹ.R kU3x6-u ߧsGUwz̪ut+,F67zJGf,wvKHr5e)1Lχ9#`Xd.nCs_)bsGًb~$q'O'ĐaVگ(& O(=m$i[~[bbB^-GG/lx*oc-~'[qtx,2sd'}mR}u+Nr+'ɣS8@SmbwƊ?V7hmcI-oeL>;P``:G\&%~ީ&s4ٶ w^6ZՁ !/{0ooJg`ݒ4;3s(܃ț|}:ƺѡRQ,^ЃYBxN-r&O8ӎB sGdıAvx۠e~O_䧚f ʮzXyyo72 IMt,t%O˺? Z*4sͪ1Ok 8&]9MQ y[S8;pzx(6r$#NbohyYrj->\F$mu **CX~~3(I*I&~6 w3]w fnת<ͲPO7sդ6`zDxw,!L~w՟b/MY Fw}zh )k n դ9w9E% }yxR#R դs ]z Nx/,Y incclCnۉFً ]M-} bvd[^ܕ<`$X伴@rUkF(OM !-ٙ񐮴}{Y 4Tr5@h; [4 i'쟳WQjSӖmO7<|sOW_!Wg"7 g8@}CsB%-28|YWa%$vW0B~3rҼQ_oOxZeA:b ]4Y:Ijq,~:M<'knwz]<ϯ& 9%x?,"?Ν Oz ^G7Pϙ,,mX| 6fL'%";(ZItWRW@|oP-V:$$>Wved7C%"lK59V`h(;Wz}h*^S؋lf /Ft C!IF`);$Gy(x" EwK萿HPq!.L?SIm~7"e?1mp:нO{Nȹkq:XMٙmi4cfu/:yPzNSuL~ǝIqb$==hP'w"đRTB_gdvB fC}uj>9? z()>u+=fŰPu TmcHCۄKYVjv|N}8}ilP9&OqE{"(y4#X}/hgaܛKZ!oHK<|ّߑ/(tlrO;xTTb O"$_qSy~V))%/`2TϘP0d)6У#s/[lȗ60OC5icdd@+.NCd0siē,˪maܔ'qb/76[G;i3I*mPw +{Vp@taY̓׵a$[p%#̶2R7 JY?E+|w- ؞׺6FNFu 5z!C10\Yht1rZ{BROiO ȗ3ymb!11)-8~< GR&Ƃq*ֶ5%Bi1t;v{4^?m)GV k.['  ]24_}Ax!o8 YNxMu"}XMyܶwC\*zGꌒ!Z[i$(V=vIއ :%3qjIF!ZШ ^Y^EѶ[1W/&$+J_,e!$xo-0_W\-(SnߚE z3߅[*)O˕3 nX 3PMo`5Nzh!/R_%m&]js6sl6G+徇XTclTYf&Y T,lE{7f; # o鹻of'^eXS&[' |=-鏪_Vc5jҕLzf8QY$/`Ns??2Z@ek1o1 3Is:0X^<ŋÖ{i-bwp]t|CHi/*ef z±_O3F*|53I-h=LOx}6nx4^^Gȍxj{R?e.bP:ʠ:Sb8zGq۶j JuTh"~qpݐRᚸAh&}ɷ! Z.Y/r\ ̎-tWY:iOf[Mzռ\zh1,ݮlxy4vei@1IS8x/̴ԙn2)m u]iyUiUfq~6ret2Ht3v'^8 +`Kfia٬\MyUL?Zgf9m7ah'~_\ ?% `oWJza嘀u@A*TbBCi;i1 RWpm|D4^SѝmkO)eڿE\T ͶE&%.8E"1?;pZZ)!5;Y5iu3^3B\cJY I_F'^&tu3Ձis.7g ܜS#e3x>3X&h>SL74d,&*F},J}~N/KlWQyְOj`y&8 >-ԩDz3D7sA!sٗ0&E4Ҍ)sd6o.C_M&.Fcx ㋵t{1Spo2-Nd[l;i?mJӱ97iԜVrCɩO,nʕR&ӛd'w_)sגf:V H6rcpkҗ闲+G1W| ֧6O&ÍQO j-ZF..7 0N%?GCMF0R#6OLJg5KPƛ/$ɛwYGf 5f.8eYA')'2 9ͪ'VtSd2F5Et-( O=5;{[;':I[?e B/{@x T a[>ٱZcd^$FWcMf ;(⼩H{ XĶ>L,,A/6c1ۆӍv֦)cUf𒊴 `xFrVPߊxڊɥ,VO4L#oƞV li͓٢$l\W9դyZRw8w݊S~ xy-eptf}lO}5Z)@B勿tčv>&8c"0a&ɿR;F!wuQjYPXnS.D}$W!T\!Ҧ{Mq݄R;!myz`'گKc,h Ϋ׍fwM}dx(>vZJlL)Қ7o}xjb%OBmSӱEO5W_C_F/'0C}K0mx4sa"ܲ>{7e^g0LJg>b7љr3+>(QnGko毷j1"^[3{QN%e5P28K-4F坫7`JA'x=-֋|"RW9ċǗ2?UA4kCQgUT(i"=ziJEc3˰Y˰%oLlDFրK6]pJvCSk1Uv q,W&\*XH{Yp`g&*;DK[G?u+`ma k4*b=(\/ecar"{^nҤW$ ݹuLҺ.iIkc\_l,$*˴$DK`}%5B*LliFiTdb ׄWz۱9cKչqL:`o,77 [ϪRl'dw 3 K+ sr'> PMW9Cc@ roɼg@KbVcyհ -9X'yq`UJ`5XpL ĭWTہ@?/Й}Õ\t[D>! ,]K^ l5ՁW<0#)}ĸ_Ֆ?(ڻ5%a{OE{{J6 [^p=M'MBX*|]Q_R- r~[䩊=a6넠#}FOߵveD酗h_lK<2ؿ5V5:"*Zr/?<ݰg}rqB;ZͮT0\/f/å>cif1V`d) 6?JY>6+VֳIΛRF<+Yu4e&g(R>s:<Hٱ,EZw&(oLn *,Om ͖"Px#!/ZtoIٗXmG;z 1J+rj P@LcʵRN@xtfnp 'BU2-Lʳ&^N$ `JHk,/@C;zQjvɨn|7;)ewݭzHAT0߹&+\W5uu.ݴ/ '{ +@tPZQ}7ݏP B3BO;{@߭,0wc8One({ ܎OAei %x3qGn=bwc<?ҭo?}岗1S--Nk!L+Pu3cbi,W1K|= +R[FTV3lk^ ;f,Z< Kf+#ү)|p(+Na/ :܏7<ӁK7q99\V?X{6FVf(+U3]WH?JMŦ[qڬӑyZ' ',g T {òɾˉ[,;PX S JAgԓ-u1n;l޾f.TBe0㵃Eԋ>#DnRqz/,ck%A2xZge?vi7P?+DZIM=ि;MNIKanڝ&Z*g5's !yѶH[iyxZhtLVТSÁH+q\;Tk:Dej, ҐPMcܾY5ɱn8{:U2{R߽,]td(ұxұNi:3'Įuc֫c"OJ9UN[^6<*e_O~ pz[2U"d/5 il!hôU]%D <&4+gMXį~}x 2NnSy6%F衞o?ѵQ\GۋYkId &/__ +#9|׍&"DZB @;$sPiMT7A.O!4S1<-gd]cОQ|m􋜖>Z)iP1Hq 76t$ h6=Fۗp}#7nʎ|-75^kH̩[OkSS_Y&D(7H*]IӚv\f>Lɕ6 mh/Ű):*?KLd3ڋё7}VtDz$ًeu-)\_Rr$s[I..NNnhBfځ?ʺTͨГLrC{ ȝ;p=B+73 bӍ asJ{~.#|f*zN"*=N8tLqbzP=oajqm\߽Xʮ߼"DJv[iUMM9*خW'UM!)*w$iX闃qj?9gyJg<#|tMdV\WGL? rJv.# U%EEutTֳQp80WokL_QĆR:(2AtD6cO+::Aߒd)}Z0/[;_c뽽e? !"+KD!o )q E%/otJ"kUA$@T'**( ) (B([!:\/QCЂ"*BWgι7M>?;˙3g9sH Cm-hJwFtB?ʝ meuhgxW }uAoRZG|+':H%)AAfc 5Vf,`]#Y͑0{ʍ5$uQ zJ QT2#*^lk0ن\#2cu̡#ʆ{3,P,Cr~y"%w7b8 Wl<x6ac?B]|\;[ C|ØX(kT |!6lPLjXxii7l¦N$XEw-J1r 9(mDoq"KY$B͕BߐLH (zm;ީs[v4*ԻVLNt͞QA5Wg *L1_paq)\?+_#g`ǒC!B9؇:c8A$>Arvi12~=؛ħ~7|w75ܰu{؝;j]UzU-#g½TOi;W!TL-?P~ ܳ]!8pgC|&9#>f;xb& ;I?+d},J !rv2(,ۢ$:tBAޓiqؽyʓDw-r5?\vcvx TjW$`nђ$DŠˊc }5Y <5Vݱƽ%XÏ.P#4F`Ϯ+EžrگsS͕l¬$BxkW|Q~ *'s_Q&htLC?`y!t *$gQz. TV7V ] S͛vTU#i"! tA4G,^\I_µ+)פT?H π( 0z[ 9oY?F!6 o֯BW~0\ U@sW'Kå \&8Qu_ _B>NNp{w2= ATK\㷗[摿}N]]QV8ЛCCp%w Ⱥ@K\b%/u~X!"NA^+[WD<MJqm_l>v끹Օ̭q> n{p>z^5_V䆪ZKkU!>-Uf%ǎ̰㩓36mX)p#jmE%Tfk6uF [$[X- ;\^ijLO3{F-ˤ8f8Su$u|sj.Qp0Ϥ QG9Z&cIo`<}Hb%$jx !J2|$Ź?ļ*)n^CH׀4uR^CO935 5hcBRџ# ޞ\VBaŲb!;C!H+և2P HG*p__*+ր]1UnQ?ӔS-z1hBGe$2Ú7W-L`t.YF}~: 4,;8Ø@9L ?`@ @ 臲>QWbSeFoס%B]`3wG1@S) "{RIEYL"hjli#X]77TW׀}qs$؀G"mV?K]0- "W,K"û"&e^ ڵ?BGz 4oVhFmV* 4ؖ\e8?ԍ,G>o~3KqqV5b-\e%‹¬\au1\ju(TѩTK w߄st|i<^|G^7:ihƋw&5?3FG_gvu}m.jlMC .Z_.VꂲV㵽k;/^usF˥~%3{vF:hBkʋF5*!;q$ޚѠToFlc`.NƁe\ޠT:߸HZr ,K%dV c,]d6|L퉋y6=* UQuHYgc9ȭ% |;FL/.j. ,RoK5A!2w(U=vq9CEwbhT r}9 ߡ=)>lOPP'!{իRxۭ)rJy.C1 Mg ¿;:~*R W6B[V^@o4)$! ?V,HO ʘegLY|Դ9+>oݗu,ka- +$\+l>GKzVHziIVcv#[ |[@`:<&Rl?dz|6tQ2>#)] 8֔m8y80Y`MJ4ղy"8e?D A9vZW O~{&{N1OEn*Դj}* N-CjN!!_'&ܒXI$[,q`PCw)(v&Mފg|Bf}&B?ܣRDK{@#r5"ұ'ϩhi熎. f 5ֳ0tkh^t!2!UlrKYJ C%࿆Z)K@CTW9*Ot[:$%8D~<> 1U5=>.7;i}#aoDxG|cHчp9x}ݤ>vF2ch̐xMyQA' XkQK܈0Y:s)m L^='ʚ4H9Ї4 (*l˳ɄŸpIP.BZB<'cvnBݗ $"yfU.T }t8Q`[Rߜ|"õ `eoF*Mh(+Eg#K rNA<:)t6#暵x!i(O7j=Y#̶fYWE1ܭ>*%S.;! 'bENcE3~ha?R-@q;!WD\Wz!HKXޞDcTlA3PV:f^9cz-XX0sFqC%Q!!6۴{-6Bjn9s69<|(PYee?7=L,;cJѰ 8ԅކ;V_wO1ڇN>]`_!r%a3i2p\l5 "*Y0hW(UɢBDܾV%ms^wp%У~s`Oqx?;@8r-o8xBDRpȩe/yƠ_0jͺl J-?^Y5.N/19:~ɓtt1ڀh9Si v8c穉kyq"!b=Vȷ_)$<X1eBxK)JߔhFإRu_p T6t΍Qn&[P6MtcT8 t~PZb~>=;-6S-F¯\1ңo]aHOɹ_t624;.R R!EV eVwi KQo[m-<Iqnۭ>V?//MX;|(6 1uBp9Jףˋq9|Qny@e8ݶ6!Pej\<[sݴݵx\Ҍ́fLlfl棊Flf%Ә{DIM&74Gc::I:B?^*U$-ZĊ \ĆSh=X0+U[/um˶?m"},T.FSHo՗coZg+b 0 3#ZfupniVfk냠 VXxݣZ"/={cke7oAr{*3}U+"1mBqq|NFzAVeCpDPS9N$7h1[{r foa,h$4 ܎0]2=|}Skć_oܬ4T9r;=CrއrթD<$ LfcuQ׶ `vLޟ`7 jt,L!" %`Lkd"9έ,Lն[BxZq$A` IRbކt? l+`PFci87q !#CqU 6Th?a_uB8嬯#rE|;vm=T?K+yjp,[VI٦Y#9]tZ&g3;4|n|+ xrCC>KCr;s(GRl$CNpA$eq|d+& >BBE݈~yeuBí1g޲N\}{ōX q?tU\oE6冦"Yի 6kø?&lTıͰ14ٶ;&ck1?j̃*$lEw?PCJOO=f7F5YU< \9޺;x볲a߀ռ+rӑN@=2GrQߩgwpI2ð|"thE!|[;hU^K!|Z)/ޱpjQQ{poTsM|#O _^ ]ôA[7hOqB}e\2)IJmwjӟ{ 'p$$i.||о2 5דe hڠ$/7 XUgBOoW{zGt:`;9|~zq5 .(MgcOƯK $r Q7L+odeۡRoG$i)xO`w᳔֟ # )R&]t 2 忴ޟ}_!ᑒ(;>K|=G}B1}\W=Oo"{ӱkeCwcC ֏2h2ܢD/o] &EbgpZjfY^`f墙l"x#:nRuU:7Je‚X<;;fU 4TSxVR*8UGCJĖTmRBT*n YPػBkI"/U]DGo:)M~).\~TVN>2% YrBx?{:*=]zmY]]ϻS*ͫ)WןL0m+9! VHx(޳Ho7٪_:bɾ=fD}(eןEE},+e}ujpt;߁S ~ Lh[lZ- !vI6 8NܘhOAv~u`n[T—/i>uyoi]$uֈrYŭȃ8=\vâe@;/cֶ8rt7濣m&K$a @H^>5>D1uFW}xԙVAJklR#OPд^[y~wGBx=mǩ8SɸX{zA^yܜ 53vpG|fLZTp 6زwZt(#3;Q*(a!>Y §NuXCE˽l/agvO-c;rram{W,?ا|8m>͕Be)Xu29S*E.;etbKEieMzP8or5949 _re[(ܩ6=ʘ"O l# r-Vx &OSgu#)T`{l3g#]EV%pFJojg#yILǎR,_qzTHWωmXV COayH^/M:R_nX`$eb3?:Sem~p>Wغ4*TV:NU;W?΢tGָWrϢ=:B";j$9 9< G7XVݻTLC[I4aN@gB@?aGo[QcHC~&՘PNN8G͆G6zlTFܴoFCUR;5TOp _@| UB`_Ⱦ$\Z 1.dY6!_GBټޔa@3d3ëŸnҌ{ acΝfl;} vllo(!-[~\ܯHov> k|#kd$b$Ir" e,q.MA/*rY Gσ.%|ľr S80].t ĺHo.jԅu!0Opy_R%MDnp9Miи-ې\go0,$o_}AI!rb~rz Yߚ|oJ^mIkd7KQ-Fy[QwKNbܺjWX) &@xf~K"{gߕN8]?VZ=< GĻo,<'3}¿QyGKW!v\]/*gEȚK$>B^4qwn9 +߈ CET8yn  @@3WczLd+j ?Οa{*!ozJŀ|푞NMHK+?z-nO% p'L N)O} RxHt[d{?D xU^ָ)`rFj͏/J gۧFb.KS?U $9a: $&^N$Aӑmb[ wCɶީAZljR>ނ@KNش$X'y`hr̷v\+pTZ hL B|5VPM $f`n2-;"Kt13[~nlTA@ȹC5KFگq=*+&Csu~Ri2(2P5h3,q @<k4F+ceC&/Cs}MN$do\ʼ߰ "!믔l I8Pe6*S@9{C+ ș ]FlEJK/rvDײIe\>^au0%>p= ЁV0sOz\v75I6WRh4'FkzB~9xȅ7^U?m0A?HnX=$3q vUXRmEY)wG ͲCUHxn+=cp{-OTT:ښk^.nu(IPKma?,+O#F~-܋-F~`  8S]r} D+o1@wݡ OC?/WHIAA߱36\/ƚ=lTDFO{DmLT?hSz9UwU!"q 1 :Ʀl>Avyv~R!|iu\KR3*Yܯ>[xOޙ SsS;6I#v&>--T&F!<I@9+Wc=e:'703E`TY4Z&KTY8+q&%?QrVO՚G{\; ]~R!@ղmSJ0[~ R ?IUj!xl+~E2#q#R:*"Ts=r< սgL϶O#ћMڝj$¿ gOsP}Z7ա>v2>UʛW?|iZ/…;]r](W/>>7lϖSD5KA}}((v UhVA#h\CW~$JK-s5~/5~w\jJPX"1NηS-xWYvӅx|S'm/߷%W`|#kw+SgYOd][ї>T#kF^ !Z{ҽ+ y "tϵo|o+o>[ i?-@Z-*&x@rC-6r!"Vʪ>ζruQH!_^sY}BD;¹.Q7qqKv\B5ݠ.-*"'n֪+h'תOs+հߤYoi_pk%0]..4Qh/ɄD>uGS-1Zi0 (8Q͵@!rut)>n 9 K[^ Vmh7%P5qrt´;wRvhmeo?N"՛&Q{}j.g-NS0}O2nK0S?זh>wk^m`u  4v~w"`5.7G6S+P,J5WRӧHާe_*氇U4JhT Bq;\@ ?'ۉ6i]zc JF4n40U,ԎjŝQ^ = hb'ô`8Y`J !ŗS-wgӚe +"5,oY`&H'lP`,; ?H}` I;aUe]+O%KJJ-]d%lwq{3]ۃ5gz&S=p^]eTs/S ?Vu<\> yq2ŹzL{j;ve -=3gÿC/X^EP!᱆Pz \W -vje;bYJS|=7tбOv9Ov6K?߇(Ɨ%UG^!"S᫰bYq&VDVߌ/Y`3Qh\qbMF9S5Yf( DTLةбqv{7oԹZ̢t\t@bl*>w`}Ԁ ?LYf*i-q/<mA4E#Z9zs&q~::DlٮCKF/7d(l  ucpPCEK䚧"+{\ *@;,t߁T懒_͠LeQ>uXyK"ro,k37֘op X?Z C]Qs^Z4*´ fev(H2P?9% wB5dhb]gT4ZPLϗDAinyNxNg-rL÷-I4|_l~xkpʫ$/ᮞt7wwOsݼP#Ap9G-Z-PHt ;8$ESuէηS[ ;%9'rB-t2A9P?j`Q|*T>^1k36d3NcT[`({C&!"w0 s*$9\ +eaN c;F>`"6!Ȑ>~+Jk 8?9q_#RB ϗBu=Tn{~e%B$ Q6B{=^l| I1#Ne a^r)M6xcV~kA6:H屰*G 2AlT_0m G?N: e{bqx7Qt,grAZ ղPՙ/#EBsď,/_2̏ :˞ $IYcռZAl#\/99G?~ILBB~#xP2HnO ŰgKg?v]|HbV,!IqvoYY{4/pM(O(`Nek;~< (߾yf=-&-{k^)G zW;6ʿ"ſ@Q&Us_ /`k@K5e'GzƗ~q﯆uO}PI^舞/FI;G5Orii=.Ʈ֏C* (@_t" 1ǀvf`[ȏ.@28@5 ~O@E_< _ҿ4qC78;И?QWhv~}}(`%| .[kmG«vL@bnݹU+z˦^& Qp )IyplUcGD2ZN8b3:c_!fՈ\_*)iR >5DC]uC+'=+-?:h?P͵!4,΋ y4Ϗ*zџ#p 3bw描6?>3?aK;J}_S5A/Oo \cbR#9vLKv>c'A_;6Xf+fF9ƌ/ O!e!k Y䬒;GZnl$8"l|>&jDSt >uR޹_^Zl1_B+ϸW/!yNV׵[ػѨڏwk=zLJ@9I)Q.PU?{L)SS:pmgƹXTZ.ormV4J> %Ҟ6&N肪S7uG KqV>ᄅ Y_sUojgj B8շ3۱@oLaþJ1ذM]DFb; tl>liNQ-42mBx^/mi48XgZYr3J:!vrřuƫr)\5N~\7v#B{ggX!WH§oo0;6 p ㄽQJDM΂6Ȕq//,h0xjIW?!_~nQn݉1}ZRSChIyvٝ'A7[ j!០cYdHjFձX ͪzTĪe[*;1j_jVvY#Y;koIʇT 3pF?RSA%=nM/)BNH{g/B3nHr/Ѓjɮ}X~䑷tCr&^V ϚTH B槊a˵V4x$ no"iws&9"w{\>BB+wޑM2UI+UWtȐ"I9 #È;?ʟP<'(Hoewh<\_c[K,<&^ѬUFW>z0B _>97NeQ_uɺk5ٱ=1k/vJϾˤI yd?(gp[(dl?ӑUl…K$ޏ r]xLiά_Fp{W ]Ӽ4՟3TmVl_HSV9\"_1JWŐtrjiB@.M^uj~IN+բ8Bmtd# M7嗽_@ƎtZ~&R:Sκ-Hwo!z2 >a^|Þi 1|:M!/âMȩ|wTf_έ4{˓lI=mymz#)G[)X UwgsI%֡7ؓ_2n'1^I΂qP:RCEKBB \I;[]BCIbK0UZ*Jmv ^_^/N6Hg.!$'Tr;z߹$RVt_L$=[]$8 , Vߎ Yv(ZG~?W`H eh(8P,(;۬_9i}KC^`]&B+ yWl4=r4s+Z" ̼AUxƷx9(r@|ڞK$$D(/ՔL7)<1KA}UYI }Hd!GO_Jߙ@|V:sqemR.jhv Jԫn oSvHVc\4B6Y!tQ5'#j/܇5Yj )sJ]Nv~ qp{l<ͶQ-mdpaGm@>%.h߱Q͵ &A+u#)`#hi钼Q8G E6Ul-u15K+ Joh\L _? Qpю^b\m50m7+0ORHY@Z'c6\SB-}FjftFzk:8XL@I۔?x7H-b^YW$1Q!K֒&EmQ.mM,mP&J'?0G~#CJQB;CE6vgQNc!x2Ogm\lX[Y0v:Jc-[d YgX*5:-k{E!<_cJ=+lE1F8!pO-;'DW^`NIHڃ)H6* vGY# ̰|D91e#÷Dj eM i=;-%JHA4͆1::΢RÞ`M5"Lgi'Š!^$FP-h𡬄?{-Q|ͳ*r{%f+wA6\ZP'U޼=[){@u5BJq/ov Kn۞_nXvyz^>*Œr |;@gP/{>"'$lAG-tdѝp]\yTHb>YCpSEQVg8aҿ[A7n|XM?|܂K>A!{El~E!Wdxnv@=LkC7<kk\W!|ZN@TZީTsSbm}V^e7Y/K#|b{ğ74쾕~2v\` !f8 F$+bWXWj}(Z[.+vn K2†@O3(_ޥPJٲ51Ϋ Sn=I ^mqxRXDInRZ=jfHLc5?НU2(oYV-DmTtH z8$%$S͕V!9Nc)󯡹9>v|+#޼m>K/mBY%eWKb[l+]RI $)uBYǪx.lQ!Q!kW*DⱔWş> 9b|k8ac¯g)ǹ}Zs.rB2$]$}𯿂ADϲ%F85zQ.s} ye§uQ`oč/[T&`j^ >fD[-kK%I5X"TKUɂI$Z7I3|rlvE\-},kYpH[= _Xte+w/aVI܊__W1>-}_˛_ZK{~Զ|'b]9r[p~9D_x..-0WTmK5Wa >'$uPt7}l'Om[+(F l(uD >GbxR솜rk%>-2Bꣷ!qZswkpdPyj>3a#gw*aV^eՊ JZVv`eϠJOS!XegMyҗ"Irf4u\ZԨMInlh[@Gt~.G56y|fֳq\ F'#2cH~a'Bh@Cv pVs1R8Rf3ܛKtc:$3*l85ɧjo~]}*憶/kѱN^H{:f{f_H"DЁjH8utQۀP\[gFQqquT$!*QžjI@B',IOs!8An׭TZ9uDy;i0例扦Q49 3yESH9ƌy}b̈ lt}_"L/my9ˑ| ";Lri$!Rʒ mn ?̹4C_ϳKfA7ao7fv;"ނ4+тt/Zp뛍f6FIw Fo%"[h@ﻢ<2@4/+ճٓi|BIP6PfnMGtTO}- z"ot[e>6|*|6o*"ZՋ̀)hzǶ0!vǶuI"=\!TC= <&LD !3 @GL0-rk;E\}}?yKkuEaJ4u`B` kǀu33Sf0(k7KSܣ#w_gz%: f~zP1 Y}?bHCfgraE"< ~W@AUv TRHdsGܻE zBDP@6CZ%mw p+8Bps2~!\ Dh!B6H/ArlL-&BCr}(;ac]uP}sK\uF įWVQtuCi\v?r Պylރzvv h+~ xNw0_-'ZS?-cSR}2N]?ݞ{ q?lDjƛՏ޼٦V4!n{ɉ^NjP9msNh7ur+Xr2MI1ϱ4)~Dpc4eM=6xE=nI%C5{EV,3ev0"XSOpÎp浧9 -N9;] t=K@G|p "L܇Pz 5nXJjN4 Su S``vu:K%6ᛃݖҴZ!^zC>Ð+Gxp! # +P k-*_8,gB'ܤV^'gڈ:kK2䨙0(Y,@F:'7˃7zh%ݥ*j![@8b&=hQ >SBD-MTϹ*/nP؄ܚ S&5X D "`REAB}C Zl SE#m0AZ y]#'M.Evs^|Mi;3"o^@Eމ&,yѴPKW [41blOEϩQB!q3F>=[b^LER6δ7~<EM !pl\jb@9*IXH/`ZZFʦ%$22|\&~Ӵ$)1>/_,t+EGt~dSY:\!Ra{@;`93[юQylU;dg;le(оJa7_٣U!9_K8):'ZpRwI9)GҴ@!tZӀisv 6; 8Q^z>bM+pHc\X*DɷkM$.z7XO(ھW_ >;]g[UjvI1!~rΌUNV0Mm%v$^W2"imVcaVo?x ]M'͢ț6Ea>:.pnDn?[*5t7lr2Jyx:t7OJJAuAȮk$.>ȑ802A3Q5C?sw0߃./ ׇr~}-`"U-k 3DpZr@PqsZe- Te] Y9ϛʩϷ 1p@Ƥl YdبZohwS oɁs;N,fkv8r-f]֚d!??WěF.}TYX@6 U|Q axtSapؐphӝBܖUcGJNB[qqi uvB-!vǴ/@ )j IPI!&|G dXc@BI PzEC{'`ZRl1v;lB'=c?FJ؞f#g`lH(N- QVޗ.Em?}AEN>VOqf?9 =FguΉlg "#>)q(g9%ޘ_٧BMtd>|3!ɸ c4>8!kY;\,)B<4x$_#[d7{a Ӳ?Cx[`嗩 +ќQwB]nF!/^h枊r<->s]&xԁ$fP}Co4 Q=!#FJlyHI%R0[3~p*!whVaABZBWr{0 8UP- t3SA?lƸ6RcO6'ZJLHzemJwTO,LWږf^>Bffy1<.i!siYW;q3*yX=?~!]r90Rܢ#%zW J.aMrL 'bN^t3!*d*#[i9rH!66d>b͝XL Z꘵}ՉZK٤cֲ?,Dg ,p| :ZQc$g~&OU<>xyTQL3voF%{Xď&֩6RC=s5Oy!a9vhKj2LY   rk:ja} Y's? NRvpeR=^,U.$@}Ln(|Iq^(p=#^m OK=;9, ?2= MwA0צ/c䛳2%{A%׭|dKQUܪx't88s>~V%9bFuر$;gUezlVޮAm ٬Iw9}$?"sb,j*ՁGJKr"-sBw8\ڌZb0g;,fߚq{ׂxV+]RgO2V'\~a-b,B~a h<l!LBX8o|HJ` T-Vqc^Vj/DɗJH~N7na3#s$-Slx n_QFǚno !xc?*)‚Ѳ:͟x}w{Hm|X;$FhvIj( iɄh6hCP=wu".HN]oK"ľBx#\U}.G+9-+MMu"Ad\}Ns_i#!O*#61Mm9 &Ū'1;obu9LXr J({w8*4s܌?yNBk@<'`" ZDJƣ1Nn3 plSvb| }>kf5rYWYgYj6 >cCd"3A$ǜ&0~O,WȾ@=qkEػ[yɻaAA}B:^w ⤞s~rو E܍t@9 ]6³G'PSF]ÙI w}0&S&;Ջ?=H9dgGG D]5x̲9pQ/7fwne{cNGtrb;/Kz~oW#]V62wїom~ +{M`[ ?>2c표GTTQѮNv(wu6u< fh+r ,y8ͤߵ%u7'UȵuFT0)f6"4Oà僃36t<7kڬTS!ޢFx`KS̱O/sIh?s82V'*҄Z W8G@ 6Rdϖ}љ]PX-Yb1,F0?(r\ M3@omޛB%ZG㜶rP}L> :9FJc6nc )H̟H+F⹳ڱxt}?;^⻕sM+.|5߽,)].ީ` f?t+ϧ0p$!lk ^ǮGq6R ;2}_ꏭ2 f*y|z^d(?Se <θ6 Cp# FtLKBh=wyo*"w% l'!ڂ5>'ݴ'$nv$/#/BHo׀ൠF홶SaRR_)bZE&_+(V=FxOmM 0=~q DHt\^e`ke-+;ik)[l7`e f Gʧ &ǎ-1Y(~^vUg: "#3A+2h0T78;?Yg=rU_RkzZ-RJ˸svowV7u_-87`gB5|\Dn(ݝ8`i3xaϧxT`f蠕)aZ`5D$0!>V 'P&[;3Z3R{R}hJU>IÈ6_Mrwi:n1 /rh> D,y_؆ T^N`mE֧oVun#@| "h/ny "J6$35# `:}%_B;V<[]!?` bd945M^VFoevpk[ gK] \tg\sWkRׂ~t^3:8Ì~D:V5P΅ vf : (zgI^BH*_B1 yo?*8@Ons*-+^ւ\ʐak} m9^ľ gy f څ5SXuUX|}[rjU\ϛI|x~8a .,W/VbN[AѢfaH鿱ՍNj a}xU<"N#7 f_r˾;cQs7!xrw{>e F] SH8fěVb'U&h4QL"-we\Cw*}N+NJ0 e"v"ENIJhPW[\KТ{K!; &:ӿUh`r&GvakyLS5n+Đ ~~Seaud_gfHEl-B9Qa#3sa#X&EU }.1o.32Ynai .ayj>h,9gɃ0C\u?kb)EZDұ/O$ 3nЭ71_>“xaZm2At@{f_ 5uQE)fR>iY-r.)k%zz3]("XHA4ػ\I>%ɰuB|=~^c2̐aΏMǫzd Ծ1FJ8"Im޴Q[lȽ>h&B};/Y ȷ$18SSs0'X/Sk)j5wWiFwB~%nZ4}sԓDn.o|d48A62oj-R$)N%#ц MfXXO(K; e?¢c 4,_ہ6s^8>߇%eYҎ_?ܚ'{ QQQQCbYtl;fLf/9l_5bTmvٻAMJJJ5]|n;aK^zV|DeffPGx]o[oYcʐ˓Y[iTl3vGzqGfg>=[%WF6N4_'[銂M f 8k[C`lZmS 9l9k| Xj~~@\Q/שx˦8}섗-v:`{4:=ZcG2Ug\K3?FJ=Ijtk^V!|RErYĞI\ixYM]iG&JaO)kHI` 'XεN]/ӈ1!\^}_nAE8(k7YloyAK<%Rʨ.ϳ;{Ye;cӮݜ0r6@dq} -v`Y_=Q}s3^;m7F=NŪޯh?[lnxV}}-!Ľjۧ3NKC}Zr[&ڟܖ8m>vgJ"xW(mic?ۦN[ v-F,UDj ٯ4Ҝ|9esi?YJюBL[|<;Q{`B6c!2 \vˌB,|oQߘ*A8ovTWn˒< *G5 ^zʾ`AfZJ W9-|Կ{;{OnZCA*8\N3ȽifW;OG׺F7FumJNA8zOv[a#,߉%Nwka\RDZ29tWOy[o%jt !n+m@tlx>~-:ΧG[6{+]k"h֣wKjxqCG;%Gtc#nm kۓTm{ے"x{/$ 3fb}!D\azW_ }Yae+L)-v@Tc#HMh-IET;oYֵ~ei%ńD=Nk ,Lʻc?+i0 kIw}i0eY֊8&X+~09*hW .8h2rVQ΂w+T'jVwfd? YM~ $ߠX^@Co$yPuZVW(y^+= ">EBj'ÝZ]eߛU^Q@Sx _<&,WCdsE!hi2wʟ0TnmC@y,@hSB>e߃U]EAͺ(>նg%&U`& xh3i-As`+ >7X@kVWȸE8]v$—T2NOk^޶G#11UFw.&%oKPy1џ 86 R~ہi_uO#V6Id`  ->vMOHՏMwWumIVcIU]Sf/[Q]4A(θoT*pO*UH?BY78s蘃G@NԞgPY;kos`'Gsj}eU{SքBNsoC&0^Ga#uըj{hdc%H{sS%N 4|mwMWgJ]ZPFDBqkr 3u_@HU3ӓ:rRpp$Ix𷋀;!B΅:+tI OBPwW7( !'!^Hi-k kS: kM]w=.`ad F}m@T.q1FŚBXј!Z 5wq|o].Y0Le%q?j_TLS y&֥B32 Pa mU3W}etL3{`<̜y,$`fa543vĤ4ɟ>$w#e3.lږ:c5`ק37AyFc7y 뛒Bpb]}}-UңZco5MuRmmv"K( rj!H ܛE>/>uY֜d_\]'?|$[\,[o8[7zϿiq`4}=_|b_8&x|f#Z1^s#{X!f` !::ueh{[# q3?o:TY*o1sKEl9YU'V֋X>v4| wOG\Q㣒?+3CN>^5pnCyX_e䎌 ;w2eAd}P'vk,F!2""5>(g!Yif@}Af ud\D/8TԏĬ[h0:!xh%rWȘ^9B!G$穁5 c"rOZdφLn` #nK6is2 #ļ̲re&</￀WȎ00qڼڒpyeYTDUX'\Σ_~QFϋKxS)y7v{]Ghaq W--m\Ţp,` ߳Q|2R^%7|(@+eMr`&.XT+ h}!&]%_,Vj 48S) e$ tVPXUsWH<;'k$E{a{\z}kz!%HũRɜ[Ry}"4p:HڡZa#ia5~Sq&+t)/8d1h/ݸ6fg'xIr<g[PY2{ND,\`,Vޥw `m[WEU$I~щ}'-T)>)š0&3T B T5%"ES3)k|a5ngW]P7aq!<\bˠts #FфOBJn E d_'5SKʓ yф=WoE44JVnV/~$Q5%/QMs c~3""% oCIj%a]Ï{h-r&MR/ K2j9kˣ-&ϛ:TGÖsW/Og?{=Ň-j-߸DESP: Zpk;č>Va'g Y$CM -+2Bs(63= iF<"<)¸:"/; Qv?d.ݓ}tA׋g[L9^"\?f$;'w%[]LGg[:ӲOUx%Y߱Tc/Jw&F`쿑\-Fe^!>/lb:]yvcKl*+>V j{ZF٭X3:yُ>v dK2h0ged ޘb|4^,H ҽ!vߔ ֳ2Y^vtF~2Ov+QA<K߃3{-gZ2ceFCD/M&!P Qu%"Z ʒq+)St5_!mӧ8=찇tKjۼ.@%Dbn ݕ(^1.OB%VcvNX6즠r~Bq+ \ ?R+"3Auč~rѾc'GO~jUHYتE!|o~O+B)smZq_hIK_+ζН3|w#gkHSÔ5˴d&}]~4dKN8-r)4ǯz,*|NG B"R^Jۓ"$B Be!d݅ɄgQl.Ż#ݗN*(+$1:E)X,f Z%~%|w"jG'EȽvc@*`mw{UI*WOG;՟t`<%^*sE1_3~FT}lW7P+jLw*^(uqWZ?jGN44̻:nhюFсo|ZN!2>[K6p8iK ~"!|CO}?S&R} m W ڡT/%{]$W+D"7KgBJVvB3~gH/Wre:۸`d `sKNĢznQf|a,&VpD]UѲ$t?8S׳))=pX\;Q<K7qiZ{'_iwԮTV!8E2FI2>A2>mV?6;ȸg%5!eMru:ukǓ hVeaѼ@.10PWGZcZ-ʍ]݊?>DŸlx" 2FpRza:"{&HE~C0 d튶CDhm:j*otkBU\gfAm&M`P 0 [N'nfQc:]]%T_ Ңݼ5M@}!2SH;ön2`C٨ja Ӛ[oX&{k~.]#n6c[eR'1odg0Tטki0WHC}P F'L}^U8rBKGQjcp=?P-g3+:M|ux n1 e:žeU (%rJ9 UNj2R8"KdoÒyZVO4z"XP,X}BkOeNGI"c\u[$e)Kͮ]e;{!6m egxw1-)kfysyR|]u}A'tp]v@< _7 1jeGWuMF8ԮPd#!&/H{ f\O!?V5-&o(O+ލ+q' e%Z1#̠V盭ݱ( ST]xIzxE|/Cf!$K~ ͫԶTZ@:h1PgubB/ y2JoP?ys*`fouɿs?YWiғq 5fE vmVd8a,eA,þ؃\EYU Q x8BAewGTȷbc׏3V#DVu72Ut~NH_!#pa`C}aYyݡȧK;NNzw$S;oQ{hxH,njTX2-wP=<unL"Uɦ8VMkMR36&N; ϩvU$PvW|/'~qN$&!zlQ;iIj0heV1P" ^"$P%gPՠHM=jPPh,3!x&mՠ"/csO)Az!Qc(_ 6W Q2)5|M"T: z.-KNm2 70?Ef{g sh#Erba^f\O_}z-*UN-P=w4鐶Ch?9\#4&ik?*`^0** Fg"Ir#P—"e23ɍ.!94!-w;48aOB */y\s],`x'¯ߛ("D ahcYm+hLA`NZÜGR $wt3l*d||a.f*220ltLC3_?<<{LEYR\XΟ r-`"JM]V_}I]a7hB6}} h;iq) 2NCU'- {(Kof0i0>KBpF.+65aovp `RM9B"P>)0s?9Lwvח}b_/'[e/ ̇^_&d(Ԝ\ Ϯu\ٍQvw:Xr7-E\a Ǔ ˯jDZ0,I*p&.\fnMPL?]kUnSi&%ꩰn:rDY=_׸D/ d$;١SauU2%Au?%nȚ}Kr(}e Y{ż X~ &]2›E!P3 5 +}mWƉrTՇ0i>#h8ha_V5R(Qz>ߩ t6TmӚ_鰈{sԚEyӃ9@0CQݢ$?p̯D !E9+[P-pV< <橦,PS'd:A em^GCIJnJ8ydXu )XZWvߕ( e-oZ~Wu45FYCAXrL3!4EmqEb7𫛅0nj) fMmosyvwP@<:k-g 6Kb&0:]bo<e2É :HxfwUV̴`EwP=YsfνlP~կ?MO:gIg0Fa;B\3:oE䡫0];k)]G"Ӿ{{ZD_ϊJįOT`5-x:eF$ ɕ!vh͖ev8{`̍{}j=-=gW<7N y,R 5d9cG>re\ml}L/O a{(^}<g+*^&ϸBDX菧[D g ╟I.e7·N '#=*U{d'N=ߵ |ܿq'ث/sl곔O+4fxN"a|o7x_"Z-*"wCkP{`[B0N_fxxG}*7V,g{ I20"eG˧iy̖gɧ,+r5oT nOȧmnt|Z"ȧiEj ő 5 x8'԰{~I6N~Hْ?VWyQRS<R>Rɚ(J^M{*A^Z_Q2זMIz:IG$,WD3[# ?D'~O$4ȥWNhĈ[ݑLH&e|!SoHrP{|E'uw%c)jWeǙ&̇ ƚpy "7 ̗Os rxA"=M73^LS\*ܒCnWAswv$ͭr<4v}Ӛ&_.oi/C͂UB4x3˫)-0FWUis,:u\xV=: ǘ8Ț>Q'G!J`B(~;JO#d)К~;e۴#'Gf+B㜤m 9IRqNb;{)'kMa b?E %v-Q|W˭"d$k!+یJd,֝ތU#7.ٛ U ꭯ >hߘ(ag/?z'E,9}9+F;{1P>ac$ TחBJW?MYg;{CΊ\J͗hpBiv];tQ}ʮmnޅsnSuvk~lVv~WY*7ܛ6RqIK;q!uS9YLEhBEȭ-BHёg˭NbLkFXR "HBxmN%cQpI)u.iTMggB/:]R0)]R̈VYrͨ^w\c;3\DYpM4|aOFM"UmA{o8f';9+*u+Eg2-k!|l}uA|?F~ be}'2׾`γ0Nʼn ?_b!JY?o(|L#9l;; ۾Xӗ,~.^i&e@psA_[Έ"v+^ҕ2Cqwn18-z0&Ըy'\ :n^ď,{H O¶y Jf< khͭEHuӴf}%4??  ){ߥ&;#2{ކeZSOY7vket~+s k5’hyz.!zR v6kvљrjI,_}ȝhR-]B-~*'mJRHX AXAV(4T&ť**^NHiӈsq뾋WuG(Z -eQ,Tلv±%gi~~4sf33gyyӋzmNo`Q ?z73R Vm;b:;mA?wڡ9k"y b 'iӴ#Gp7fw'= *M E;v/w4zn̪1v'E ?VPiHмӼ#ͷ8b(A"jCz I7 w)nsv iC7ҿ\RPi'!y=I;]O_vOcGJʝU{( ^K8&ۣ7T)jꨰywng~G.>oة ET]|Y> s{O=n %sNN8P%c*b0w` )0U顁9\]3N "C١қEKv(TbBsl*}1LcЊʼUBӼk5|qf=;Klj_]&L*hҒCٛYlիBW` _ ^3nԜl,DЋnr@/ʴ,qlhׯHA)H뎍"{ZiZЊW& eo9g0<Tޠ"CDTL)_p+,Uz#pY*l+kFf{w%•?uuB}N]0$U?V څȷH9+P"䪕tpMvć_<+*¼I dMI'GDw<#uM~xtߥ :a3?4>;^bT)x@(/'BimOoB03tbS"r B^e7z`lj̔Yp#r@|SA TaDjdtL"9CU8ydH_dGO $@y4-]]ySYCAnuoP086o+;uvE ]VNw ]c!,p';'P3_1LHAKyJv M4s>A>B>ƤcoMHK<:w@N48)EA fd$PF=8TSAl3U;rۛ|L+wObFRRg|w8qMUyKFC<>IzyRƫ|z@~q_qsqwuv,ajWʣ'>A|j/LUUOMl%%CS{0 JG>GLfd4k}޶jlܡVZG籭\h1nr@: &7;yﴝy^@Disy]lZ@×fl ͳ9Wq]~]yHs#%'pVj'r0eP<?D/z -/|V6 &o.RT/sN0:]B; K Y'~փOFm`9 2\j IrĜߜd("\FCn\=/!XU%5樴(klwZ$m!Vh((f)K.Vla@ܴ&R%f {]+~o=)|iEi~&t$hBֿ"̝Qp%ˣ*Raw%Y4ȉ~~(FK`Թ7` 6)>?u\@^"(~!Fz=aIn*nzDt򆒣ION3C my8p |w|?zaoIJ Iv5Nb&Xf-'l,L˜w"!uYEqP- U?}C}WtV#`\4y&IO=հ@M*1V%ʤ-~9FUiIGHW h1j3XNoxwq q`R).:]s#/łk ^ $kQ"S(]!Tgi#A0YThFCGiwuJ 4؊!02aHIζ>!ha / !UW_ß΁ݲ?dN#-]aΞX?۵0_%)aa[!t- *G'8^ެ ʬpl%Ʊs5{P>xcUɾ @Ynz̍2& mVP雂PNmk' nÎy:to8ap7B^N2qi~'hKU$))7P2BV2M.Nsd?:e}H%ǜ>c\ ELK e!v /D:6)v u@ 7ΗL#GY^U70s3fHH"Cؘ8Uͫ@.ār;J}XW lLwYƻ'[mjIGǭe2A ̐w6)oB8Y 0!ZO2& =*/>D>݅޸ӈ116:ƪ TkafDNxDHZc_km>rPgfwlh=3~.g.Vn81+H)hJc,Yovh]|}TW3QeՀg%b#W b*a[9*_CE lG.Fhd0mԃ^zR.wug/O`2ۮw~rC Y>g<6lBYu5J\8Wnwr989Ty}Uf޷+#^rgk-_(+e:Vw"w[fVDϮ ȱ?;L.uJ"<] = r;_w# ,`z0t ?ͅ'C!<׾a\2GP6% >Jט3t7dɯ弫VU|ZxQb78">yڡ_Ok6wxmNk8d<ՀeY+vۘ^rѡI cMT{OU8trVr6UoMүj: ', ϠK-ޓ:5(R誷3m̳ss\)òs"W782F&WeFV,)P1A=j?H|ʢC`N W$؊I@PY\?`%uQms&m>@T?97i#0l,7glM7|BO,r^t:^d_E(t܊^D/ .+^?zI7B_׮Okܫ*^\}BP}R!_/)>S3]a;"w؁ LWrdN(M(+0I?r+ri- UϾ"f~dE9;hߌ0A7d@m|d~V j%Pm+("b}Y ֋~zٞ;?s0VEbrrZpjַy/tc++$.&gԲ$Ħop7"ŽN_=iX9 ֏j*G1oMT/%a^."JY!_14N0 %w-%ֆ GXrEqf+6S8ᱩV8r :P^3>X0vzb3_'Fa/NOd 'oQ~8n~eZ{Q褙@+KJonrqQ5xGByz^R>Y]éuO+ES fc8/c@pgAeV4uW x(Ͽ{]CtHWWnղ||.{M2𳅃]lufFZ[/JCծjwl _oOB8~ocۖ{!X0p\۪сMi*LRэMŦgLs&^OQ2^J8G-}YD$W)6VR/'R5MB7M:+})7Zb^ބu(Bp&0:HTT}MؐQe?8\x7xKl6zT}\5/lu >٤8<a>-0 -US؞Ժ=.4_aW 4xb 'Ԭ\e7 jŗy3uFt끮sn] 'ΗC+ݟ*N^˙9h0~clurtiBf -J݊unD:o]#, DhE[jRi(h7q>\la % KŦ=fo5OjdQAD~xՑ&_pN*Sk-KQ,rTOUCe]j+K@Gi)F\PߠbpéSx"_ Z_PK]+6P@(My; 6^W-(V@|jKSgbS}2my2Ne)$8)eqCӝ"?h{nēepk,ҭ%KODљ}~늙e+GU]5kVuD 7f 83>jЋ%" 렶'o;FNoܢխo5!Z%+`A RD]˓qHzR|i)؄)`]$)pSַ3FE64N#q_@lm%p>2ַ 2[UVصB_w{V˅vZi "!a=Ŀvxm6M]Kܬb5 B|SSR.7>~IU >ьUv Bɗ",ãzlx2T-1H9 l@lRuBԆv%rf@_0=ݪ]fI/a(54j+>7~f1D U/T"gFZlf{4,n}!/6vKuX:g^!qsJ#yAR:lG#H*^W^97Eѧ$= AЎEmhjE!~K|0K!`3r/ /64Gy9DSs ̣zB]tNXOG~5Qv!Um מQ>U\dTgѽ[v3_-ׁs9؊߫d= ӵEEօ /Ȟ-M{ L P /tYƀi/o&6ҩ%7c:GtX(c:(Wiؘ-28mr+!KwHK* ip A Sͮټ?"C9_ ,4rh8ɀOdXUj1S{w-cȒU˪%oUp6&y[Haq3U2 +?=~%hg\1V>|q{G1P *-Kr CBы'_!c2 1u2w9"=ȩm 8: s)j62W<x*wf*xrj`)s ik` \'6F;<ƓNvj^LqոrLP:LDU%Esﶅ<(<], 2 BpoxlmIJ Ѽ;lB!&G'0[v7ֆթmjC#-pSjԓW՛-O73W_))7ʴ %Z؛m;} ;\}6j_[{3UtejGr BC 0s&"#'eh}ͻOnB\}7M m}{e =1!:{Ȃ{ͱ+Zpƒf9mM."z|g#ųB;<|D;Wص t\UpMm\}n!w!}7#Ik(|xJ0Xt9o6u&:{Cr=%êu 70/ƷX= nJuh -\= $c%@6sކPN|՜c,D?}ίygx1G-Jm&Aeh+/1m46r3ˠ=ƿyo6tJv86;$sϞaSaT!s&z@T͜yYnQWxKbkk}իLjfH] "+WYh+v-w}`HhqVyT1ƌx]èף=*k\"s+lS.txV;՞6/_]LczdknE)ulK̜hg4P%gET#hx{T?mЧ",N+5`{xs",F!wJ\`o؆^٤F^aG!O0o\ 0bnRI+n`1^_.t5Tq5N4!^_;$XA&HA敇F̸G: ½|xMG] (P護 M˓2mt4C8f?w6e1Ff2O[pvKcs~ iIOgݹ? ˳V8m ?,](~7;v9cg,cѐ]>y"jE'5>a$23@_on+>D%Dg&:cn%WNC[Zq~%EUm#Ƙ9"Vƙ@૭`?̑)I5Tx@#3o<34 joPADyA{DgWΰp쉴T| |e +pIǿ,t 5\XPbC64(Y=Z 3}O; űoN<2&;U^[$1aoj-P{p pm{њ Kp4Z%N,l=5ƅaoE%W]C^QKp誉1ahYQO<֫b]"arEvJ3e+L %:?-p1zA-|OWPiDxOA.}!p+KQ@_ { *="ĵ*X p,LvKFz|TT~W>*?7哷! pqMd'}]A/+/WKtar^٪+$*-1W7qL oeO $1AhCl} '#U>N>,Mo}|tLhA+}V2#ѷ^~gn1OFsP9z1ɩΗJ`jgU+IyHdHK4ZR9e ⯸b"#AW) 뎃2m5~8MJtnXVPiXϿ zzwVqB=w'^BxU}xe&ftO+7|&~}&`JVEVӒB?"pf Fu:\ɉdk. hJ y=a@-짧1FfIw ]Jki0|+c[b.7TIh gP=AF5Рes@ >v rP"-lQ5e^h84jCHj]ծphw cOE"%ڹ% 낃CQ8nP=C  JIamjIRGnibZ#K+1 қݴS;ώjiݍ񾭮",egb26 ʶcsD\z$l,]'WFm$ɭy-,fxC:mr~@U͡3@Z#+Im ҩ3qdSd$] ̱J s"ȉ.s"Drq7-5KJХ)xnv%{FeB$ˤ7C\L9tfq6 ;MmX3`k *)< SA|U/| 7mg#*a9S+/rR]; lNLqpg# QqM`r"vu&,/>h ȵ>& R1Y'Qœ{">bDyDG$'f08Рc HڼpIZ+&c0&M!yΘtLŸi83.bLLZKgLfs&6sL`"KvZ9 *,=q7 4`,lxSy4h^^`ÛrXbLL7'̗ bxD>"dxgFm3yѼoA^>6syOoc]w:w7{aJ6CL!,"Y WNL?CeiQ 1PԿ]X/*XLM(a\O3 fuEN:Wvjˋ8uآA%OmOq7vAs9Z"ɹǣ:a#oE)<" ob3aOp+t5=2YeP:|]^7[_Ӕ]=Ź>D/+8'pgZ[9/mLy,Jxb,tEP7ֿWA z,[!3' <֛."g-[Kʬ͐-Ol|]& 6H]aa-6{O_0cj`N`B5ye[FNP9q(6 [+UxPZJi, 8'y]σOr{fJ-]aM[ ZÙS#3eS>R#?bM~Yk\FA\fۼ[qi12/E L Gh'd?U8qJjG";%BEIkqb鄋*c3CTN&êvzV.0,/6Kp]+HC;8Y-tOtb\֒amahkHy%&E͊Ei:# h݋ 1 k7 qph.c>>[qqV{[? T>rtGai`}a:;ߣdtsu/";"~a:ݔ6ě.`Ta|^RP;&;s0ٌ._C\`)A.k%hy/ivsSpp%gl`"/T4~Piu@lcZ,āM, TWyV:q06C4Eb( 3z!?Fe1zXƜ!SZ 31g<3*me_] ,0l ]J&!ΉE7[00. NDmpN̮j,<j,Ԯ/xet ďW˕;]$A\`A$w_}@FO4U.JFHKHYht]ٻ<Xz3,B#Rɼ2h~#^nX&gE$l΃81iġg/һ Wu!Pߡ5mʋ0?) s; 0|b4p P*sy²`3&RI.gwxEQV6(= БB?O g@fǤe3@ +|sВDDy)D>͟I8ė,s+8v o^9)RKƼgiX_Л,2&K¹PÛʼn8oO3sO|RO^/l᱒ )1@)RieCEဿsCt_pMkpr-W gP_cѿE4 9o-y#<@ șMofc_#G m`=f(9 w99Tb"Th!csx~.͆T cx6Wh] Y@ ZnH8;363FSg g9˳hF^|?7w[v8yyoZh Ec#sAF > }J\gB[po(t}.-saQߚ˩F楜xB'3ow6vF&K0 &j*~zd_D #PEt?`Iw{;AxS!< š/M/;/(gr=5dR7`@9F?'HVac;,[uDrS9bi<LnЇ!$ b0gsh`D?AGxzV oA_M = B*ه3gLq}19e^#I9}t& urO w fFH4_t ΂8 F1UP9=8EU&K얕:l(Ha{ J4d}aFUy_[Q j\2.oϳ`ꬂ7#†d4..r3vi7NmcPK`Alq9ø*DI t pJq&@۶*Аo͠ ;u&"bjzޔA}@v|V"YT ĤF+t!M4wɳHSO Vs0M6;n̷Dsm#3rD\\)9^T3̅!qcYv7׀ʭ-ny@?.\# **xy+|H ‘E&A˧%e8#K5.ܕ7pzpT&Qgyp!^7)bi@@ a ?|2l/;*jMR6D45Dt<7EzAЛ-Wn寿{YIULrqpj'(|ijQwЛ:i^DE?YMeO3qO yb7*ɶ\W *1C/XCC(Yz0Ŝ`^N(Ä>_gА<']|NzWY?gy ~ɧs@w>ܓ|.KP[Cmn%$# ؙ> >x͙/ [*;1]5.`3cH쾎2^S'"Z\N\CY+,k53xJG_u6܄*ˀU5>>9*\7 TM>$q=EYEpLF4ZUſC[l軮B[(4Wt _vډ>8]q+c˳ǐ8ul«2#v1EY yNѡ @̛}Ƽ9><1Hlױсv"+䠫fbvpNz.gTqqnSƔ=i;'}ZzF}.췟Tؼ`f֓ i;Wa6Nўlszhd4o"\`˩0"M5̙'Br [Gc|3LBӺ3Z!}xG;un?έgNm'>آ~_>r!Io]Ұ>ξ.݉y}"Tkk}Gg|65O>X6Nj]gom]qu,&5.ƥ^G|Ƙ4lLK52WٔŦ (,:j~G mmmFi֦-j"ڲm<2}[c G<2s1-MOFU+{o 8~ٽMmikS;Z> &`3 }B=)z/&-83ہ ?崫P'<5sh }+=<kx3=(Yt ,T+ @\Dѓ }_:BTEQa/ڙ+S(zdg\7"Z_L1^T93(cc,4$I{T/o|Q~N5#Wձ(o"'YiW8 ,%8/wHOَd vSpz#₟6Y(Nq5]eU{9s&-{m gйpplݽȲ7oƜ8&8r&{'t= Yewҁ3 RL{|u$W5&N7JhpvJ녊D8f `Xk!REt7 T 1)H癳9eAf VQ[03\bs -zI0zxxs}0U\55*=zZ5 i+i87SO1l `pIyua "@7(&(yEYVX^nEx Iˈ+n9 tб9 *퓀m=#5. xL#GhSWӫeuc y|j:4#G5ޞH2EK3&iRA:B*:e~y3N2&Ct@I?xXXm gta9)tEWދX+ V9)Vꕌ8KV:cJtywX |y{\w/U˛ `by%Mw]ty7l?;ɥ:}y>9rvA6|ĪڋIU[ WSSK!Uۼ#T2)*=G2Bݹ`9:oO=qMQr)e?mgxc&?:O" aUϸZt1Ԉ }q"`\srO"nrxbQj- Tu peB F{8-_/mH6>lb0"(F'NJld,ߏzHGjGZNշU~,@?Q}8smW{2}P}l;P<0 _lw6~7Wbc xM~^皘fO62Yܓ;_+@Y[PQp36,|zHsTD]_kVmL_ <14Ilq :NW^"1)`%E tHϼ> 2nc*)eeTlC(C)=τLX9k#rFjr^gWμ\9c+gfy^#+֨Ӷquپqsiܻ:'w!qpC߸_8;ths-iGhَ6];A:H?mcmm4ܲ!!48-H:>~wJʛ)~Zc\|)]&L/a*VX(F* qiuUC6_R{+ 9cwߘ;[6s$^ȉidfx 'OЅoBrl ;|y?0}%!a5םCo;n5?i)]؛xF#3{H#yv$Y%)eӍpE^rVXT_~BΆY9&i`ڽ`2K Y5!,:P@'Р9K [žݤ>+-=j3F7Y7ےRq\=KA ٱm9FX l[XKtJ܏ Qͦ-'o/D0hɫ \eiU"IM l |п\cDwN1WuvU>G?ȎppjwU WQ:`*cdp"!& @+5-/HAƭz d5^h7/Er>z#>(<|53Rygb dv%pȧ.>˧mY~vmzegy˴ VVa>0]S<=j/` BzڋNЄM1-K'nٔd18F_kgؘVz0Q ~$y}ia}Urf{T|X g 0o L,&&Jrzxrk{3ƲI? Y* "b/ 襃ٗM[ 0N/͋@PK Y/V:X뮤أ j> 8i|gEeэk½W֍kݟ׷o\wja{l:nNYh1?<>"z@AQ6ȖFi\ rA@PQQmte@y.:θ3踀,C! d BDOd<[˩{Tթo:fIW+Ao{C_PC~!{OQ(/  }Obt[ї!̈b=zji*ၫnڳ]z`Wp煖~Mz;ٲ=j{ *:l66֝hٺ+XSWi &oq־ Vu \x uHCr^kd{;s2L*T#jI.U<Vf'孮.Z+Qٯ.d+s,LcgV: ~3`o~V03d. #dXW0Ik<{$<Э՛.))3 Ru*ɒ&wӇ_Io@56WHkk5KBwA}Y(型~;! 骻&cHiKА︔i+2 C$~Y6ڜ PK?ϬԆX4w7eI:Ci"LsiƫP"j+Qͬ*WFpZ aJ8Lɲ~C#I׃D,b2t_#'{A˓çOz52X%KPƘe EMK]"[3f;=''v(dүDZ 94电4[-ՒNyف$BW7) G1'^[lskjE5ʶQ,Y%g5/ D{ )oq_<4|L{쩔d-901>h]؅Ҁ3V.jb-ɕ{;{F kdLiR[!%DO3D('y+Hp8c}`>ӓ2q7i3ZmvfH(Z5c-l=x^7dȓ![Yq-w>v⧱W6캃WcP?.Y-"ܧ6B>= 5Sa|TIrcP9vB*.3xJ&u<clt(W 8L@9;K$Ϲp <\FF! k+!#f^f>̧S&|6Mrj  .wa{`aNSڷB=j kC |ߏ"+M(rPy~E~|_(!4 |3vcSu󄈨m$cR0}e'$wa.tnC*C{S ,\~.Wkytgihf6ˌS=$e`:`fN=mMm{}ɍŶbuG1)^!+*SxXG:~z<L-x6 f>PL@ȱL%LaF+fžwAx?RŞl*!ivKJBN`swhz)烬+o^X gZ;dh#[wg+ Oםf㍰c펼v` /nE@hg8Lz=*eң.ILt%@l-bd~I_eH%?;w0ru=*0Ĝ gDdeCwc*S+줞Fnuu"wCT}uSA{leڈN4f>RH}@tx8o86ưzb{$_:\>@H!?RM0)Wa=lIW<̕Z$Q9AG\5. \;k1Xˠ L![S^)KRmQ2 岵\̣_MTOCZgڪ׎[i?QMw^Ǣx5F>,)^kf;ɃB 5GB_zEM3l[j ]C.0D@2/Hf@2OڜdpZ! C{Jn^bm;X>*W&秼יt|0zGs$D_5R;OŒ2H.x|  ]d4ԁnǸ1Ey3'*JMt cb-!eJ؂\qqSpk.sOsK7o&V?M`pwD$mK;=@ U*9c|C\| x[m4lڕq&T͂InxYՄk0-_Xֵ40zvTkZܕp#!P. "=ʯPlm%9'G 녇*iCkA0Pf&g^NֹW !\W&`rA*{ ^H_y *Dp,z lmE{ʖ3XIAx'A8~^0vσD/CiL^a>Q:sMr!sM bPg\;J_[WW#*>ey'T>E_kMZ;fZo/jJ+X3b`4sO QG?d!VwJBa99. g} ўѱvhV{V7aVl83࠮tUe`Rv-+ pMn8ў43Ӡ?#ȅo/^sG>̻T xO_0N-/䋦*Ze;_=`wө F"SB#r=)!VsYe lfKIw-,d=Y9[â޼> +3KL\%d&rQ=lQK˯e60D^<:Ϯf"b{d˰7!׽lp>L$H9\N"Pd+U!+3~Z AU ~n8gƸf܃"NF{>n 3 3ژaCYl"l|:_<%8( њBAس0;HW4t;' L>6i+ؗ40, Vsp#ғװ qs^ J|Fg0^f(S=RBtYtLk,}5I/ Pym/ ,:ʄlR$Ü.se-w\w'|8v5Λoe$\\PV V@1lE\\CBZMRgTJ}z@KFDCǡܧLyD)nk!8}u / TțwS>$;MW]f ,%t@pXʿ61氖V yqGYw;0캏>R xy{'!bsѦ0̈́',¹*eZ$L Kca3>3k%fCj&aNL+Q8âMi('caKl-8\dI9h&qcm<wjpi]zs_V.[{Vb%TS>4LBtͳvWX!bc[Zvc3$S+k4 !y( ȿ#cWUG#õa,`* ^?TB4V,>2Ldᑚ,(oF5GƬo#ï:2|uqcݚ&O= |zu (T=iŧMφix ȧ-FԲg_s!jBfm4dlyUeۖ~)_.)Gd _[;HBT~τ.] ^ܒw.rsޙ?k'xl0xw zo**۟;x:w`P6 ѽOݨA Ԓw,ox9}*x^.ݦAK*[/x8  ϐ]D+޵:w yygnɻ[׷8fJ<&#ΚOA5&.?X k#̘<.]^%LF}\qN QU,]S˔x 0=MڨeJF9pP* {`y5IjeVq@L0o?,Nr2lq 6=~aBOL./_Bq>jbK\ڈ$!9_턊ٷyIcv#Ec9N̩ l,Z}-l`96{plljw+~߄?fX_Ċ?^=[ 9i ;' ~48"\:"9Ϩ4]8"|&o#GGϴ:"d߂F73?3 &6c2?igLmg Wt Qi~ژg,CXJn8 =(= sM*'WZ{>:Y2w 7qLsxy=՗uHP=Ic*o /qJ3 7!0_W563!~/&Ag3A/``|Lm wXυՌI1Ш51RξYݝFKG7G#d*x_h9RS\-^)-?tƈ&lĭ~4 w1 DA$nKCEBcAclA6X1ݛw]H5|A!k- /ğyƼ@Ajn{& }2nEzXx_i~*%?$Dn3LM*'fۼѣDTC}CX 5CN k[M#*na&k﨣,/a, 5'?%!p]AoM\Մ3V標Oε|]p3Fڅaa X_?SM=>L~̀ҕf^ +Yy~pT]Q&(QpFacpȋ9IJ覆-< G&]/vO7#Wg0ɉ09ٸ F &O$aؼIF|ԪIIa8+U0hDRFxՁ Mf&]`w"KRYB<~͂₞>?|;bP^'_2]t%xa;Y`2 K^/抃f&,o ͷ}vҰ{\]ۈ_ ܜYpEob=N3؆fxP(} ϝ=]fs#G ܝPK"}nJt݄ṋ)ڿPїa2ӿ $rrá(D}(y]}'=}eO3?_OYDZD/5 VQmmeˌ Kd*;# |Vl(L\2@mRޚ#$ؒ>|H>̮`RcL\;#x]隃ڨ(U˓{w&w]GGB0Qw``jz}v pB% ;>]R}3W:߸|y4\C5iza-ZCûRՋv琜 !nx5pn+$w7Lu8=uTl+em:5v?k Uqrb>/Ṕ?':˟뛄s &?*_|`rP䨲ʄ%,XjP> TƊX*{p |%q*d{ιzЃHp8 cZ0D%Ty<%[`!i(a`tu;` L+f(_LfgT4' B>Mެ^t4\O7 2FCMޒf.yvoպ_k4#ً5XOw'{O=]ʛwq`" jf-zR5cgz8; n^:jB5 k=޼khdjВbW;Hq.7G{ 0 <k~ l͖oDmNm^쬯jqW!9P\&#3"aq)t*nڈD qL!F4'ɰ$fbE'CMcР/1;9_̼TRAݗ x*.CwOO21u(L)" F͹wV3VC @'FC|Wt^q:0~u~7wi[IǫY*ԯvW+zVtcpeGX'f[ZAΩ̻jd;wOιV(d?߫dbEQɮxYԢj-sMV|K yC|g)1abq1=e˻[^'yb̛I\B툁Sl1nYoY`9-{>eUnz`=}U|WMyHLgT+,כ?XOQ,= ۓXi!?XXJc1L,PR zC1k gg+0[QIކ2UBGGIa%09KC~WbY(&J.J6ro kAE|ָ5ѐMU@ bbmNԏc=Fʞ&P+&}^hQ!_ocpGCUV!Ps03$~,|!&G~VIJ?]fV/I%~<Xa(qBG'98a҇0v}o`4Æ7{ʛpHdD\ 9elT\TMTdh}1vgO9);;NFSrH6?`;>h6w-b>脊{o켳[ŌϴL;-WZڹ"yIL|BYt)-E4HNHLAc~?G,?i5N%OZ$<  TRue"~8-끵ICDLʏA znBdTw~g(([ʶ^Z5bݵQN|龧UyH] e{Z/ [w 5N3O'IKf@ܴ~8d}={Fʫ`Lzkbu5y[)oC-=b諜S3 CϫD/U(֊XD˻n x3ȋ|1fx[ڌdz`u@* >21Npc|BjW1HߘXO_;\Bt(5RȖ&ڻgc]E sI$+C^K=|J<$8yلp1b `?5!Uqe>L'6_ks/fh۬IҼ nxJ.:5WdNC}Igq`*|B\m6LB4~#yލfArOW랾{zc!ƵDpB(LgEQ(#O v#%ucc-;xM4CTۅiXM} 1(mB0A%7fLE6fd<zp(lǺ z>C%TτЦLW Rb! .zȗ l0WWP͠/\ }kpu3&r }s=Yg]8vChgrgP }BL0!DW}( r 97UHɡg&Z9E'0Z>m$x]sz=sN 'BT3LI|Z%arL &:y ;%Djv?8:zPecl=@VXPQ9TŝC#J;\(C /ylٳО%TX'h?B˂x|qILqFɞT^T Ap$MA?ǷXA A;4b'Lo޸C=H]\gNmvżoE?Uo$Dգx:1vOZRB sdr0Oz׃]ǂ/E#l?Z LI w>bu`(Q"J@7|.| Gu*9C.XW˜$668v =Yxc'l5`r;ɌɵonS "2I)d}^SZ9⮍g+}|À$TW0 ÀᯆIhŞsy=iP WpPTW氠: 2;#rv_g3$Tx+Dq !ȀQ«OC^ SKOнӽqXG- )m\Yi . jJ=?N/l䉼ֲob=%t0݇ ڔdPj“k3vP:=PBM=ze9A!H_oM/BI ϠJuodZ6NO[d #4. )Y֒i oiȔ jkm Z21 5#3-2d% -veد1#s S'@K[2mɰ_c_"?AA2=dZaƴmu(XclɴSCi[2 h8 lɴCiEFf ;Hƿ%ӮkLl̲p2 2zȼ%viid^k5A2)KZ2!m08FAAgLLCC`Z32E1= *Nofd8|/ #OUPrF:ilJzJ0CW<=?05kfXXO'%hB8Jݳ!NH2 5W8 ߞf8G?r)]k)DlY:AFfL?X2[mfÊ`=Ķ ǮsŪS .37KѮtqQXI3fL)l|At 8 ʹ5~Gv.!p%D+X~+~thYMq{rxe'oze} doЖb?S3-R4&%y…7NXu vYh6N q/nI[R6>_{1V9VFG4gLF̖dK4Μ8o0n-.0ʩ4h )pmxWif ;63Q^^OHPr3fޑЉɼ6&х>HN:_TͫW5ILv?LU…<_>_wՎծa\HlDfGYPӴ pL "hhȧX+#hk8$vjI*֒U6V{w¸39aۭ7Z$Ti@_E &nP!IEB=AgB#8\6tR{nGHgs(eB]9u@f`O DT,uBl hF? 4+'z3FfLPu2~ދ/d1[[T}ezBR;Mͧba: 1Z˱>5Y[$d^HeoZd'%n&vE.=lgQ{*e#>bIsFdXG&Wdr%:m%\m΍vO;Ŗ&ds>|Ӷ1!GFFi[ضyXZE/n-ư˒$P$>ai?&͘HvlV*WWms;Ds}1,afUXn΍S;ͪmMmK Ya^Lj{s vo39}5ba0x/G~ϧ\3=Ka6Βd-s 8Yմ}FM!RWR.CiCŶߩSv-bvK{2p !yp"l ˰(n;ꎵa%R2VPnU89)lC8M\Msg EU^X7 Z\&IV?˦v<L$S@K0 kӫJ2k]kNlTKf$qj,EcRGҲNRjH ۚ|\j:`}5V+?T";ٍb}}&LgC_zS#Kw<$g0R%]0On:srT@ p> AS^ %h{@7"hfeݒ0Q$XE$eɹtYEh $mdx5D˙$^kWY[4^Wv٬sKF@ʧBca=I< b:=[ۨ~f S;%:8>$zI/^L&XjcN vAr)FS=r)+JS=ATd+?.|>./T%`Vb˽h7aSCj(;A/Xc}F/ttuyT)JN7:HU?2>S +k!B^\Ä@+:0, 6A'&Vp c: 0jv&9vmdvk"A#jY&WFMƍי|*L}ʣΨL鬚}G60'9O Pnљڡar Gt!ґd@IKINl9W}*9(*L[9Ġ_v?FFJvGmb{;o~7G V*ZNΫ7E9Uy!L+dW7s1KvB{c=<]krt=F}w}U>2+E"5_'q%tW|P%یD1E6#O9RTtj@ng="snkʍI˼-|p%˫?U%DRBW'VA`н`eqr0$$ WfXjMFN[s# O%hdp9VldTgl6l;Q]Qa] L63jy@R%54~d+Ȅg7267=Vv.sޖ󸣁 Pmd0@kZW[a] ؗ$@'gZBPۤG`0ne!<Z,{|']˵Ju,>QmgdO|,BkWJD6+i|@:ߠnb*_a-O1{=ݩ'C>i7/I$&O'+lwi*0**9f7GKOHq|"ܥOvh_5irYn~ȍGmWF ${K.*.2v߬?MmAyazzD 4Z{jv6!XumK *ٯ Ob_4kd!?ʦ1vsK!Y|Fg; \lL%ItQ Q4INNҳ}W [BۋhRvy _%i%)JiIVYn}|GYȞ Fm&{8Kp{TR5r[6-֚-#Rh p~&u\gE8M=n;7LNyEVL8S^IS$c7.nZ˲%K570x˝5cIH=u$Pjj PwKSmX2 *Ȓߢp\t!CfE4wqfO㶏Xߞ7]?\G} mz@$ Ed%;s#_T3nEvm%w7+qj^?Nyϒh <;-%nB7d[Ee}&;Ke9SX_ lGbRcf^RIiEpS>C/i gQ-~F{հ6Ӓ?'c.iV/!BKd'A`VmN)bs*jԠlqgQp{J磔wK;ݷ+'+G^+rBFDw磌YJ!wK0n.=!D\|"O2kéE]L Uv@2i;&E9ȏvӮ,;n"۔kV)̔kv?`C\Uf]or0JVJ어o6Q*+9㰖Fwm)A1%3te*u-Vi? =\ŤF)} 'w pҦSMb!zD/60&XfObE&H1PO`%&w}Jm<&Uc1ivo{Q^C^{xGWk&k:SsZKuwBsfrfGIN{? *@b@B"}c.JxN/v/ wuD$L4ȪeFc2"z,%n 2!$Q~]8V*7xu)('n6Y{+Unob1֣߸!2 JwAX~/Ci P̫A໭Emhb_DQ/ahiGMM h1&6DM| {F6Cl4>itF Q{CggIo`Bh.$lnڢ|H௔mvK\.5Kc˛㗃6 ~i6O˯ ʰv-g.tْ1+5^gw@~a '9E@Α ihj䔙 I@#ȹn?m ԚS~xuCkbLrZ r66] 3lVB6_ٴb=7@6IWA7UMHi;ts`c t|<'Jstݜj\inn64m,h7,>\sSfd `d3je06=;b/;!p-\XwAv7z_KDN}ɀYQRFԃN 26 :j-URFQa>~9>Lݍ y?Ar%Pa;tQIEؤ+31N_;!swb*΢s78"?^uH얤qQy2Q1-mQH_¶e|N3Ml=!ێ%)Kz>L*z(Z];>E9Mgm'(4J6ص\ʜy g \4bۑ8eaT̶.B#JĩŘH2Ͽ-4P ܢ`N}Ha-u`C=DGb\ۢHMkܴ\c-N~w ;cNhQ]p^e#䚙IBճyXXu>-C}*]aXTDCp-@?FƢM<3}8LNЕzo9O# (T}S-o8B0 /#J|ƙ|oDg쮿)X^y_ ö#}&\'TjOɼgad)="޿S'bM;k[k65mU˩j!w%=4UX|S 6U3-N-~&c=nb9m.ؽyZsMͽ2 uIF E{5%"c 2FB9"DW2IĿ{.aX)JY5"oE5 9]> Om9ūk q$3;~O.*ZaȻ v^4[:DAfJB?"ϺRlbMȬe sNE:oX| >z>s7VǢ4U"jOk˿v)n`9sp㣕=TqO3VX 9`6bxrB'efO"RPGa 52z`EB0HpE0ŰB:*-,=Zz6 ΐ lL#^"s{D'BNt͚^ky,M8/uwz w5Sh$1 47"nY&l1 Wm ^ lr=I 'B}zY#㳽MtNk5/02n 7!wp.m1^z5e~9El>}Q nmO41ҤP]8YfW%0sYvC_p@"J֩G+_,Õoz9 2W?mdh)+Q}2{6,_,Q )~-Ќ^kpǐB&)v$3#;E5:a|2{f&u fߤQSԏiKZ}i;bԻ/NMC#cSжCv%NN"ډW`hfc㥈2l2swZ ƖO.wA9 T[1縯'ӠM?k t#Z:b*GDm a eHP(S? b\$L{[HZ#kQ=@O#r?;GLȫ0$ʬ}G{۱ T=z谅HEiea#%#=C:ndqGYIeBx3m v,v47'/Ƿյ}v^hǣށD׈+ pOPi! l0CD~45]Gw*$~;Wr}A0D4m&9PÈf)hf^C hml<'Fإ+%=F* :`SD ̫K ; am祽I{qcsIUzV-&4,)#6:G,\rgr'[<*IV"L[${HOpI2֝Gy}Jʠ$ _VfΥeMeOjۗ#pih0Jao {*{0q2T !Gh%N`ȠXuKI  ~$tOEB_j˙r܏&uj+oQbT GOQ82D)鏄:_Fq}U.`$*P(}Ղ{uԭO4r]a m&@> ).m]8uW5IVu<ߠ.؇6a_1ٞE Ef.TX-Y,urSVj͗ŵbV`xá:o[|c GRkJyY׆+:.t;vTyN g@^ C vazdی1Q:ư=U~]6Lc*Y`{tqO)ԵB9Cn Bހ V O(=?Ub w?P˼,?zZA=ᚓOFowꚝKO*ХB⥘BhPكHRglԚ=0MZub2&jIf]CoAсW61{V\IjmS75v*4p)xr$&9Ϫ&_H8T_;BOjF%g2'@l?5A1W:<ߦ9 r;< p.{(`)"ש}[q)עuǣ.o4W;C]?͜C%&3ԗQ\%p$$ בL|G0p*.͍w)JÄmX姞ec?g m$ @˔y#=oDy*#,zs˨6msn4 r{!ۈܼZɫw\MЖȅȅpTdoJtńS)^y\u! p?Mi:)Ɣ.ڿ$ǧ~.dQ,4dQ}ο]}ՆԞ9sg2'K}?$э>e'qQhbӢ噧-7c)|[>-77O;p@؁$ˆD8I0\T6GM4r='/%|?Zkf,ཽ+㭃mZߦ{kߦx*sjzQ" RC] dx8)-~#ʠ[8qK?5iϣw(AdtYT%sARI/4Կ|O E |>LIAm6Dƛb7ПMf0Raz`,,׃"3?kG\Ce귻`JۼQvwv`s<*סɚBcߡ@wFہmf;l(Qwضxe;l RWi2zh;R95Hl Lea:Z,xV ~5ldG$~9̹&ÅYXT2i czoB}=M SGmCď!]Q[J[, طf7[?[,\+LI%NInoa v"1#6nЏĻpҪQM01J>> 1Q>$ё65gH5Sq6/gWe-:lSdzqԁ%tT5͟4hN]li߆Ҙ -CKI>Ն3!f%T2x@Cr|qY+9_>stvgf ^Cx8PߩirB/;jjl% rz~;ybL^@wz9Є[oaPKM%DŽs%mPU-/>v/o"v,%#7~i'IüE\$tz`[u& ΋qj6Pkn*ۗ{QMA ;4۬zx KhU!f&)҃p|q_cQ$Rs=ժO=^! Eh&2PONFآ}$J<0-[~s25,nmR\2RwtsKv3, )!Y#xk~ mvW_Cg?O3ǻpޥ \94in$Ÿ.0%']jM7vF]l.g3lQ_N:MިJyI5)М7BsިxzQN7jGl9oT媤3W Qe*Fouiz\gaZW&:-`2ߍވd>1dk}ӯU4IsV]1H^M"-jÀ1SI#^0wJ 3u'q#! MNQz:]ک)t1Vi-S`S44qhFz:Jd ͑g,nzNM 3y@Kֳu'BsM?hӬg$$BkBsEw:n%ֳu.f44``brl;i/6XZΖm6Ѹhf_K.g˶3;hS4= 4]K4وvY"4SLhE:͊bvemhƚP^VX}z6&B m,&h yΌn@Sqm,~I9*ʌnXr6]M` ͽ{kt4_\KSΖ Ќ2)hr 4u*Ho&4,MX=|NLhZvl]bc\>Y-8X<Dž_mɵ:A06v:QeeےZmR@_c^ݶ7)ՁTVMvn+4QWى'.ߊ&0B}E9qɉ7a5$so4orSҙS]2q)7(E'(_to'Cxj"G(99ʿE[kZԢށZE(U3UN Gqbj4/"J6!l#ڏURb_f-o?]Md]}|,;^_v:eg b zͱfeg ;8^;ЬVw8^XY/|0Q^wcᕧ9v"MC' |ml?W:vSNuv!NzFD8>hW  =<_zFsѪ8NWn4p+biկN͡?ūPt4?_KD*TIx!͓RlL"* ͓S crVDh>{8^z@X+ fau4w?B7_K,g;9P RG33h[ΪBJfC* 4gmYUxWgYN{"4>B3мi,>8 ~0!ƫPh4hyg#{ ^Zf%D*Ԏ@4O?B7x/%ӉT(4Dhz=Bt$hΪwvKfU 4^KET(4~ 1I\mX$M=7MTlKPέ fFcX|z ^E~kt\>a:/@Q#N-\wfESL>H@0A>˓86#$@|wh:]>aUo'IT>_ov}ݒU~Nm`Tlt)8krTlV%_ 1`/ 4"Yx~wJmIH `JYeew/s.o*e.9~'\5|{*5 1HD>*dnw}FYb2Wi"(yeN2""JV۶TN=|WĿ/2?K)0=ُܗ#mٚ"4A~aԻ?3t gEJ4<5qU_XkBSk3F #le{ 4~Wyxqi*!LoysB:gos2@Jr/yK:͟[ʡxNğrX\=aumň-zlIrFe$PT[Q fSլ U+zjUe8IcPStVH>p_cw{Q̢Z5^Ð!;z^ &[In{p5}ҋwJ&gpwk@.GeNdĀWޙ.}=U fףK=2˟MKjĀ<+9-MzD4_CTCIZX^˭ո݈#6ܩXk+JsKzxiYIͷcͭw_9-}kGqgX$y7 ]Jz['._mXOØ撋Ht3&*֚ i~ notɈ:OWM%G%rlc?dܦXĀsNz󒡍svhCrg/2qͅts̓.[$fI295|Ni_Aؽ/po@Z5lia6%N8O|ʩ"XkP@˗X_Efu-7|HQ?pEq;O>*ȹՂ#KGֲ!Tϥ@Z}(QFn6_66ŋ"0xusJۡOu= :09,=NX 67ȾdzvAE?H/WQمzc BV$%t S[?YFM©/~c6^z=t^b^v-p(U]lԲb].#蝩:*0kC }:@#UhU;c2m.ƗZbHh#trF'L_e7hW(`$%Ԧ" W9EN}n!P7\GQ6[ͦfو!-qҰ%q_lVf$9y?fHETp@ 9zk>';|/ĈDԆeTb@H29~À_(DY̡KV&UM}!BOtN0'dG(t[%"ݤaH{$f,>('ʭW%q0 եZ+UYAV?sg~h$(+&XVM/F wх<*ܽUwk0D7o2F|5-9/NXw*J}3C/ZssJb]zX;-G8n[9`\{ƹT+;F˳P*3(EBƴ)"ƳF}8jm=075tI=ŏb}`^.[N <&.!Y©?5B3mHN i0Dk;GqWq=77 ]$dFW2,HZgli)0'5[#BV~?.$G.X$I6%WVnkYHDB|d\,+t-Ԯds#0jO}b9zgȝ~Iȗ_9^ `/HP0`Winef\>Uf q̄XolzQYE|ThP{霓n#YrgYrź݊bN ]m;ou߾ߌ qN@aW]B_?IjJ3!K5353+$x`i; tw }b N؉Ē#y;W,m"{!ɝN#Ǻ]05m!+CA)YE[8̮cS[ҮI$.ֻ۱[؉cM&9b[ٟf\As>rp1?Gpzx8lI; N-Ҙt:-ns<:lO=ܗ㮙3Il2xf'ڰ^-mmƿ:@U[a\܎sש|n)~݊$"DyKb tC71$gRAc?&=(/a(tqr= #JV 'ɍt$i&ӞCZ$n9nL);yBk9S7}ڮ1ix*4ɱi{yU};?iih"17jV&nV$^[@A\QXlWwbq&`R}^*^!;J^!YBsk~a$.u'pII8.|Qʄl}IJUG˺?0-C$q_\Ua}*02⟇G(! ;V"ȳHgi"Z*ZD`':Tuq-`,*g:kʰ5粴F_l[!ᖏ-D,^r13;ZMIpo yo$+;IJH1e@e";`B޴cÔnkQZ<6<߭u;6ȡ)1; N1~:fC0'*yF1:bn;Fu/N߸RB;p tq}ԣ G=ڼcxmx_2*'%+tS\Bh/>c˔nG o/G (.&B@l);]4f?I$aKd!m0GRE|S[_ .%eq̂|sqTfWy$kuڽD3DfqDn#6`08:݈X&bv5Mע(0Ü$)-%ۉp;VDJiDQ(ifj(UaL1m=*LcF:im3өi@GmKf`xw fw\l {OT5]@8)D<d.$J֨ uR-d݅v J֭ޭFKNNy?%iL4jnFtY%)]%ya{3"'[%{Iߙ푿/h%Oy ULy,\ lnA/qA!C߂kby>r-`EӈZ28φ4s))+;4mxZl=!n2a݀\Cxk~֊@8ґS1k_4^n+;iӆ`> "e!RĦ45c!'aoHj(YW| ̻@YQknbGkhۿ/S9 bM,ΎW-hm©-4`AZE~Kg" U-(a*ϨxiϲrwjhZԛiskH,[Ѐ@4Krn4Ǖ\[,=zAү(9ow;vMArh/q [i74Ay[$u@m3iBҢ Wݎ' y F<тFh Re%[a l@A5Kpi<.~%.z&oC' NC5p\h?Q q7ᙐqN|1E0+6 h鶬h4cHhˤzKw]˄ۨyz9o [?*0o$7_:q RW>5מ?$(^ 7W0nԴBL{5*)@8,%.v&@}]+.-$9j<1+̗UIC` ::A޽~/Ǹ{}j$PWD^?:K!.^?ʯ{6Ak8hk:xVRi=8}4DnVW V%o5};P{*ys+L$gmZE} w6BOE,7c&nl (>XdI諾# 7ˡ!J-_$ڪM#(ֶM'u=:;)p"ӉjzM yo™wL|l!rh8w:>]3oqeFl3!@$ӫiN/rX|F(O[%zMrYqI>G;FtR%U<_bdz7?"_LtMWL0:ȯFuvs CyڪJٮ^sM6QWv(e."4R=cm#1 D9y9'; ք+Ajk;G?8!ׁ.6J㦝~L}|r00MI3$ǭ ޭ]yvBͷʪ'7[s^*8\V,?Gg~g8}fIb&[EP|0}8i7(xm02b~ODz܎7FmsOY8w ?)r$tD=~4u~I߉|;O$YSИ3D \ʹD!V" 9ıh$~ lLGtZ՗Z5q-n|Vֶc\M$TTv@K3nLfŗCb+HŃiDIݭXPW7CS⮒cmFF)}']vOwenqFá5Bv|SHŎSx6Gİ*&4viیNM[NIGRnO8<>ĥV[/2oD~a;vdk d5<٪:Gtyd=]Òac+6ōH/ =k4P@@9r07Cs,:"K[g&ǓLR? Oa 0n]1:mUk1y6 Zĉk : vRwDZ3BCOd ;x|g;cQrsS]GFӜ9ڢ-{zQLvEc;3țjq"vzaRlFDn"Rn,2#2#רpZՆz%F3*t4;j+2 سQ-^7E)7%׼3ΤA4M}g72 #ckJ5#bMX{kBB8>;q1ª˻XTI|n"(DL)8*w;mpRى\/Qr2Tt\}J%1-t˽º?{+O+Ya+ K)\#R؍ *rn~%G$qg>JrwHɓUs/n^xt|ⲿc$ k޹_yM)!n~[ap@u.K'vͳSI5d_9O~w) 2|P7 蕨;{WWC' #ץnQ n-E l˄_Oq' )Һ x9n z)jR'a>HIsA'&ԭ*:8K,u(?MG-GZ׭rA8^RnRw}2^U0V:g tŷ^L}yjfؐ [oMvL0j9:a*PTb83`|'A47_+ uBdR)n줮g\4yaCi?״WQ57rk{d/;7WpW,ͳuCcl} ";R]g8JN"|WQE[cGޫWLsnt15߲c/X0eQ52wel_ mqX)n"{;^;;MUeb/\0L^sbWx$N0X˖Uvz"OӋnzy )^gkrc8l>il}^M%aÀ=N}l8:aѭ4_qp1 fi;N!NQ.r$=&s"gX;##R[)qdsd#G  dng63re|3 HeST#n Q`+9*0zN"= R|[)0Hq7_vl3~n$6zfg; B? s,#Q&dۈ>sO?19~*>(n;qa6R%U8=BS;<S*i8Fȫh^v \>Z< =[ eIyM3U2N^`)Iv R'RW߄HT~AqӱoT[5ph#~?rgr; [JJNQ4ϯAvi$jWs . QF qR&'87rmvR{x/8':8["!cs1>闸lwi!;[7nKŖ.?2_ op`\³JMik oKD/\GsN~ d{'%u( |K.qJ MB".Ύ<6%nt\Q'*8:KsuQL|-GawIX@:ot@T^wNxsz i*;ߒ 蕸\cN~3_n8|8_l.qZ]d0 @5vɓ.$aɷ7Z.Qu%OGCɓ23Xe.N"i+ւqd>[X/Ci9fhb;xgyWӺW'ߑĝH,wi[c5Lw'@k\-ND KΨLlz\|ΓKAB` D`;3LN ~+3`Xa1[;N> ai|_/~'*Yi]Z)KHwcJW P C/~ߘF6d12a2f+mKx Pj⇉#?᪉eJ?}&Gw6dp=fo0hԙ;a!jv:-b·RV?,dc.՘?pHeA1]&#?L%@7ld8S9kĸЁ^TfR,'X%"+Fq$/M&6%dDdZs@Dj{HM?E?2~ezz {M' ٠ T0+"C8&2םҍS?FF~a.tE GΑ/p7X]|37B. Z\|*|2qI/QkC~PhŵyRMNW]R\(!} /A/娑r%l&n,E}S7DSypq?4qi({a;R8cPV6FY֧EXF~Rzt:#mRߡBFȧEȧ @uO?>z9s0 -p5G&p`T&ҷ~AM{O7&hTK? Ln-'(#Zd*fL8AM]; J;Z_XFr>15+ϼO{μz"fj^㧞81&[w}wm^]1px\鍂ދ^IMm1M*5P%Tl) u94 M~7ysSzӅgjZdnMBSnj77ܔ{hzәl65Ad4=mnҺ7 n6s?nx+-*$AxKyx Bw[:OoiގeΞ۴OúMaN9qZ֍G4n;%D9(yRG(ӢPPn=֙إu8׏Q~6נ|!eGyeʺ_hgbw^6Pƹ&ih˼OQBH= y5O{Ҋ抾؊͍a{xql@w*^Wbblk+ǨTaTzXv*8F&z%+RVR۽J#zڎJl*T:q.hVEِnA'5#J, E:f;_ζ/Qg( F[]ƻ\ag ĴC[iY-K;: k'YJ:E]E<8}!o.$W܌RPRh~~un%q/)}uױ\+/BBAcPG 䉣9F݉SdmC~Un*"7K6O˃<8s|ị̆WmEN" sivی;ig"Pe˅Щmm!:ݧbYX+PzRMiÇ.Ti`ʻt7r 8 p'Mb 434 Oq_1tQ}  d+`` [0'@KG(Uc?dH(' wbi FSfDÉuTNkKv?QԢZYutn Wy%ͭX8Gg\LW!<v"Q`W]6LDD80?)v (oJ`|y~,Uu%138Z 8M\}  j>|2N"#'msj6ǝI(m^mҚ='i*'~i?9pu1֧.zF}ۤWhkvn֚r=c~>LK速 ҹo>6 ß cӹS1\/`x?m΅OStjT:ҟLx@td::WrSG'{aD:jԟ&Ӊ\h,<ҟ./ҹOt.O3S{a:zLOO}i\N)b1ì/8밖_l'9I>&{tc&F +˷pohZpI:px`cֶ ;, }G<5Ԝ&M0Y#QzwY8 źVcs{ZSnwH&$J}ƇaT7g7ix[9zL%Uf{*ޫ1F QB.SÄWy鼷ѤZ L &ƪ_P*&q);W;uURI$K*%;NnBN5i9.\;'b* U]{"[bi˽\Ӯ*J5MSonTh0t'{^n Njw {8 ȶcmy? d= W&1[{Ei,#Л0~;QVPSߡOiՍX赛߁vҒ-GNңL( FSբKSdxL$4*߉_*R Z'rP0 g|*fԤJ;Ƿo:jd7Q. Y:$Ȼyu (_\KY~3Y(j2Krw=tx8VQ#n9ilue]FìޑQRzI sW;Ȼ+h;D* ë7Cn#D^Gn[noBǼL=n~yǴPJK_c0"w;Ѹ,?# Uo~"%H+}D:^CDɲω\#d?%kt.OXEd,(Y/iD&& P=[wvw6\Z; ~gk ҹP:=~[csS"~/NB[o'IB{)!s {.|H:*4}&Hr4י/~XH7F1ӟ̘qyUA5ɷϮ32@sy Ŧϟus%wTy`AArft fMhL`m.u8<܌ dzT<JY옧J70cd(s d5mo'Mny (4kDntߨjl'yŠa p7俁ȓïhb(ɇDM#M.B (H" T^2" \@ZV(s㸢]ʕP0J)(;h mdyyd=P i]D c D0ɶD&[H \`F@wcy:KӍ>nzqjd8ԘolӅVAo+}4)罍{P5;MsI\6λջBxӚ{գj5c_nx` BD"/_k$4~;NgͳR*:_/PX7Nk[(0FO{˴:%s\ZF4sœO˩[|^Ϛlzn(.#@z-DkTxEOzQ9W kymK]NmKVXX.^/{=̙z*F,bGhƚp@C\m miUU,BJћcN_lmq:VZ]J6h (|U6^xw4/&M/n]5xBuzJ>\mktLq0ڝc~~3k-7(0D[, EQ,lnu>2++oPxY n8;\'j$X  `"X:kXDI[þd}$XgC%3:GXcMXBw)eF[U`$T4&:#K|%Fg)G9ן|znZwW a4ph#+y)FByԐmmpuJ,-zc}$s{A55>`¯F^J73wi0D:oxŌ:^5NuS*]N;5L Tn(#B֛ f $S`] ;> 'XE| [g20܋"y 3FVKzA, ,X`P|2Ky9^5*yIPYe{\Qz= EW`:\ Jz39Jܩ&)aM-)Tk52c_Q*h3 ̅.a+ut`}H,_kPX Eζ·Jt 8gM&v4˺H;'KwP֩uN Kxo>y~m WIlKe6]Q[lq ޡsd XV]euMQ bHh |%/ 꾈XUw{sz]V~x)non$^MCa%eE+w{P-1YZ17muV䞼| ^ONSE-՞ES'FeRјRoۃا*}x|u[U/<Ob"з nR&BVfԸOX9 R>'R\wU5<^)a֎uCo?+HxP {,7?ɛa=,Bkas%N0z/UZ|hA<{ʜY]րiI mL 2 %fwݚ;ªk`k dG~tKKRBZK}^aJK;q GuRL~MfFA m>\Y 0ho:8d۪᠅0VYgcΣ̶`37[gY<^,qu44 P+P(y:ʫ-~Κjl]DzEAV/,gݡQ'jS{z/tq_i_Qwf><2ҭڨ 2g{κȦl[UڦfQ ] \V)kXK|e G->P 6";-j#2x/6"j# u#;Ԉdو\Ty,..r(Gb szCEPRXVLȊ2dh"Xu/Qݵ ` da|(hyqME2N XUΌ`zz ̄bS><`-.Q-5* zCBIJ %p4|F{C%ۉ hy M.@G:n:';uSx̑r?Xǜ.&tn̼cU"x%rni;t@Wjz2M)873(ZI?kЋ/bU:'"F fIECYlРvœNM%h*@=Z]VnS4˱b)rcP[϶&j&f~#;ʘ},w~u}}N9O|/ݪ/DWmpLt71 ЧQHTO@J4zsc]Q <^+>L;ʊEЄ!x[Xf*ӪJ 9Dޗ#u^MFB^= Sؐ#vr]=DVш_[}D^ohJe88c:x =N,&k& ^:C`U&[3+J^S``淕B+O2"fc={#h*Ua$WkOZѥ[~&^t]Qy{xG<^5#1Q~(yPQ7'R\5E؍>6ff-BiӊQSw2hzzkF?tcB.^F,bvmp.đ/^ICFӃ~ެR :u@vw S'f$}7_H|Cգ? 7Ɗ=Kgz Nyjl?b;۶'Oo0,)H138+x a5)^bcAy mvkPݍqhFbJ1zo]@ʳ 4y)>MUpDF[uW'c QUoRwlH?'+kiU~3H|CPځFB7)9ODH<|.53nW32;U]bPjd|'h:q㙦>5W Ŭq #yەH@}V#݌RS5b&RYWnX V 00D=z 7cuwr(1j~?+탎n8]Q ˑQFc< =t(SU?[qd_+cB" DUs~DY~]_27αҺ}LMRu\QӨ(y){U7`i$,d?iz'=#د6"{l}h/ݦavCS$; o1_6 MNd'lbOU/jcc?c[FbQzW="ثf݁kp;}1le#Э]u0; =T !d?aӰK.1 $`g26g;C=%df_/-;ر:v _n$d_c$tg={D[Uvl_# ~S5}-6DÌwW06go^WlO-n?VÞ8; fƞX'UZm1k";{H|d#yzήoZr]? p D{N3_.pgFAa+C C5?kHDf#݉z ׳N`oEz؝Tv==u df }п5#MGFB+:Fgz7.:z>һ0HOeKf}C1J};G¨ΡĪ]-H|"$#8CCoEvȳoG32ѓ7!&-yJ>:̥r$B3L$ob$:KJސ!s*o\y>͌8H&A]ķGFBtLK$ss_d>e"R,l$%Ȝɘ)zfʬ6kul8DfSnՏ"P|I˜3B$s:ǘzFcӢ2"q:f2_I0ru1я#6t0mU]#ҍDO'#P⌄?sLth}S"uLyϘgHAe0 熓Q\H|nd~H|=llS{[#Ùc@x#"Θעtyg^-[$ d$U/tTK$J^C}Pkvõb赈}7!g^]7u?5CԜ5 >M]Z03H%xd׿XЫkhmAs*:$bkoo@4 Ua Wuv]?z7uP}U 7֠/Evw /ȟzSDӍ^cu3HsWtӬ谴W<06 ƙ]bEǺ.!^G6oM>A:1~HS-^oVϿoe8W|,_V4c*DP^/ h7Un rAg >Q: Un2ߙtx8T|^hu0uЬSʕu+6MPCn<>뢺=oTh#}ZǚtNTwdP.V=UƢW s=Le'Pݗ27j^/GMŏT1LaulN7`k0#tiNӺ!ƈQNvXJuQ!F5驋#/sHHL Hj%lS[8B_oQHjJi :0~u9R6"u S_m~Tz.OjD֙mè? :GgtnMuXN3`O+֙UQgՙ? ֈ:sN&oӏ\c~̊e@KW{ڜBE~KOw$ф5r,|N>#?2t$'Gh< le'Wn$ e# #~S t$Q $p*dֻ# 8 2+i|BC]>.ո=O]7.?>OU#./Ǔ@ ]j\q>o Б\j\ʅkNW_'LHWuz9Ln,˚d;}bHdE&k܃sZt{X5ܥ43&tEZM,ѿӜqL;&;I*'ḏ]UX;ݍ]VYΘҳJYgpϐϿ1혙XV``q?qXx9{.x:0z2+QwU"V`+5tΟ]hk$QƓL-z_֠=)Tjj-q8XrN=e.Vfp%5oQp[|6 |T뭏SlAAkhFӚbk ˂89 i=eΎbYEQtY, K\qwXM߿ڢjVhPۡP;emt:YbJIoUqu-oTm~8~*N^J^ `M37<2sœ,\X2MjQ^&!_ݢ]^,gA?iQYT_:_>_"M)Q7l2^ _U@E*!C;n;+Yª$ȷbnJ 5#ChϷ)t :4&B js9wn* As'9B] Vo2s:ϷRpVfXB\W9{9] >3P`6;|#G_7YSZ+q!8 9CІ*Egu1xdFO_'o2{+}4 yxƹЛ*pK,qbVJ# ~Ҏ J9Qmx< ӠF⠛#ty9yc V0t`B'2挮%7S”bޣ8& R2՗f/qG9V.x|^$xA6.{,9lsŚ590M{*//xe._m{撹 4vpZ)_-'ʊkQ85<Z|9oEsI|$y?Ul'TE(r2go"Dybn۠'ٛ8B?ziRgAB%A}LVe]:.Ӧ3.B^WTFsq_3q3GM"VOo岉6}Bf3㶃|S-9#eY=q/];R/ưFo"9{OgbaykdZ:?_Q` Iٖb^ ]; ?eDV+r@= ~0Y9vyx>kp>ŻHzze, Zq(4dGEv&!޿)8n2z ! ;zx#{#h^J=?Ը#9ok=r^̠O W M ;Q|ǜ_D|duEJ*X|vEQ=g]C2HSy2dpK@mU:.]9J?3bfY%'''ʲ$ L^<"HEXz8+S@硕t&5$z *8WHg9cY.>4/Wo;A <~AXLY~D^qw!?-zry2:EY>*5GKqF /ŝ@xɾ) !FpvLYAYxqO{xWDľ :8]ڂhtv%XRMז[QyQ@ PG|Ej8B%T>G!iapΏ~#фR)0QQLT/A)H4ɶmԸ#FSJM0g5 X] 0k9kBj~j`~q,?㼅 k S6ފeZP*&>vͶU1o}!׉QzLccq:=(yE}ߡJL`˘itx%]u&0RQƦ~zVA=A@X5|L5uLm}p)梙XUbw< Չ%;62B?œ-$7XӉ:~D1_v"^D.ēk4vwl!~wx]SmwI1ջN$pH.2MZ[̂Yw+$zw#X8Y sKX 2b*9Bbٍa#}rpa<1$stp1|@]2GlURx,;}Rh@Uݮ&ORJe,L4p AaZB5=><#8BQ cRxp)\ BS*<4w=ECު~o ]{9l[i cz  QxxQFԽ=#ࠉ~bCʶu3w'++˸m,v6V 53 d9[q2*50==u)^[X8Οr6~%i %"uUyXB5V*dxq K)udhB߈RRvyL-b9} QxH:kA*&0- jq;3+o.|? wV5Ý*EѢBmXb>T?ur䟗B.׳G &3gWsp[̞aYܺ1DR(Hqƨ"`Q&練me2q;4361w!ĿHi`pqٷ0õ,w q 1XEA{t}VKo5 7Kj"m%"sm]M{w8>RgY sxmͨ- ^xEm%gxvu W:ɺZdՁjq5g»Z48H&lZsᵕ^g9B,VgBSڇJ`MK}gU^5e5ٓ We&b^ôe \v:O~z#Z%u k^!IT{Gx)u8g P$&qѸ+7g g9#DstwZ@ms~Q",1:v~YQs, ?#4CS3몒9 )fY8FmQ]`U36bۿYyj:KhBT~ %Zy$>:TTף Wcyrg{45ڻpQ}7ӔYWu 3wOTG# 4sGbTwUwhf5 9;MQ` ߄]R]ޤ.l?FA-3GⰗ^ЋW|2,U(JAOQ (B8JdqfP ޴= CLyw{I~Z;Ir)t}+CTঠsxc0~xI஑xɠ@b ~}JkLo,2"w7tiS3^lܸX%*9̚+X졓ڰ YqhB\q3 Qbk.1yMpu/JkP4+3h;xIt ٿKk YxZR}X,'9cg+);*^`xɾewbBEb]r}WaD7 /8/demdk{z.\J;a=8Q Q ]b?(ytV[9[뻺nFm7@qSE !'9[KmH^Q0%F1ODVěv $قY~LzZ*E L Q[L(_/%'8 uҗ1۷$ė+%u&PHtS'+%H\-LG'J,+>$ތ'G|.(2{tw0Eט?7c~dA#gDwݮX;T̻K-l{͇08cjؤ^H3po#.}3c }onI]7۝ 7(>˕#2 Y0 ۝i|yV/x|rrznDʹѪ+wad)Sg"+,^GXلsea&P_C ->QI-'g_b.j  6mwmte&umo'z3{xvnFMTKD4*ɼd_Z LtcdrG1 ) Fј{[Fdn!7wR]BwyšS^7L&ꄞwAit1UUWR~},clڃV6o5Ec,kRzX9zZ0w3~+9p!HY(VXt}>zF"{hX[ \8RC=w&Qh;b̐6*ͳS4ϚR+T@(c;N^;kGX&tu :z*~bf2/^2emS YRT/e#.H&0![+Kb5tv'$P0 f% z m;{ Rxɾ7ֈI mOtoyqB /NHsޒ d<]>!u늉3S4T03) ׁ#3 7wOٿ23 hB} 2 kba!tiK·%I\腭"{POZhVP6_U 2vu֨E̯݅8RHQcK:.ˠanLx/Az6_aKr/(/u w] qh ;]Bb掸G3MػĄ13(N7{XGqu{./,euk/EQles4 ^:eޛ$%dن_ǾɼwI 0p'+vw к6(?MIa gS.*l<FX{"}p:DS\{ c˲"0#~'=j\YLu\R.SHaZUKˏroXثz?1 nq Xx2Sdk( V[R q O3kG8Bۢ !Uq_n`j5GsF,AoBݘPf&t1*ǻb;ȋ$+ٞ9{Li۞=҃gQ~5/FcS хkk_`p{[uW,횘u,>B2T@i/0\I+,+·gz3cY]iԍ@p v8=#!XF]m/FzrxO]ºX~"Zh ěكE6ngzm">1=Gfޙ X~}~2Gz\q9"C2}XC0z4H1=M(pma7ڪp-6; RCus\ 7kqķ \+t7a`:Vh%UY߾` 쏸ieU (Õʂ4;!EffЙk:0N,^aۧA4j9ؽ,~2h Zwk!+6R~!P?Hͻ ݢ!_l] Ӭߠ]!5 mwO^~aZgyɌ17o} ?䰳A[![R zZvAJ-8Gn`):čn;f]$%UwC2t[kj6Dj|\ب2 Z_9R=k3Ԙ4wU3,QW!j8ThAU~cjP9;o>JЊZ;dE9? YJZ\ݡwRw6j-n̶Je0_Ǭ$lv;Ƞn|.hz[CwLHp0CwvTԓ$6T|tp`7}4qķGqF}yf=,XNz](&`% HasDoI?C^ }ci#ᅥ,/Mq6v!t ,+a /8: go戯ׁ<3Gy] jV:GVE- P xϢoffDqmP LpBL9]c[5RNJNۻOFw+;Y?jyI W!8v$e{+]&Alf Bت,BWFAU4 bwk2M?ɉAwrn yIQaCzRBwBU6~bC6Xɧ_v/Ge$Y+H+Z*ehz_#E`BcJM ^XJ oOpKç:u+u%xhAKRNH)kj^93lK0T;$ji闻үsU|:L' S+<a] -֣iЙ(,RHONR ayi'iY? #>UleBfKOrpҞE1Hݳ#Թ(5Z#gJ!יIrB&*^;(BڅJH˹%0^ClϚFE..m_HpGQy+a8x+cXq>#t:} ǁ7,@@p׸8~o3z K9B7B&P@B>#pO'#fpT;?`%5 u5w)G|P|ݓ`)< 4IGd<9J(eA)A(Q_6AVF\0ދ~F1?/8B> 5{G<#zĹped$w`xgogطoPȄ~B?a!Gb6ne1X#Eõ%ט9 |8ʮ>4$^F1ܖ̲v SoX.ÌL _:[XCi-on󣉄_z[g%&d̖lb'uy8K(z}YlPc*W+Ed9+VcZE/`}#ף܊UȣSxL(nWX$L͊s,?x}-,)L%? ` ZbhË|]xbSSdXijM;ƃJ)ic(*ika }߄Ñ";ssdY=n4Q s.0ݩ$0HsXg ܮ(ʔI7a xjAFZjۙXB߆GwLn1G ?KX"Ko<{̊'Jsȣ=y&c[YS9xk a_W,=v&aV򉐌7ЕuQݿQiP6(A*✙ȃ4M6?}@r=gs:?A7~nj vŮ~nXxhOB{)5.}1zm,1j%b{i&D}Mi&씕]߇a)pfYcQtoqg1$a|ޟP+߇^Uv`]=x_ lsA-,NvOKu X09O~X|%s<|s`w -[#J)_B?Oo}hq0n3@ȣi4+zpoY| sǾo@y5}n4Co+~mgs* x^Z=H~UG3{8!_҄8( ނ9QUЂ9dOE7rxKb>/-Cs6D]qn ߪscy AJ%5*6kn |]`u ,ҙ RX0cnV2ןrWuӗeo#2T541 E/ʨ&Vj2Z!whNc Nz!lR 􍫸jk\/Cõ?ฝ,R^L iZm!b,'d㼷`ap) 6%E]2.f. r"skdg(pԤH.Ksq.uFl fˋM4W`5j~L59{ˋ#8 Pf2]hsX(:NP%6$^ܞ +oK&:;˰PG{rR_XCrF|\TX6*`1F[U`S彅o!}+чσn0H1=ǰRńXru}ݰ*wEUK=sy薃k|Gv*"Hc?O(bn:ntjϖ\9G[> 9s5+*!-"vK1=WvE,U)6K,t U߇v-fR vֽ]6 QU~~}fWD@oFw2_Ǚӽ½7yon7ċf%9f/?.Wl1iwJ }N+L&îL$+X=~)2,#^Sip܃'2ΓW1}<b3 ˗eŇcM>uqc7*gbw1ez$⪢ݧ![ҁeڽy>WjF,Y&bυh'I,.B‘`wD_*is_^4)lXִXv)CMZhNT-tQ>(cςJ2I/f#͛ëxUv&CW]A ;ͽ{rX-i"jAre/s9YonjCdWWœ>_? _-2L2Ds8Ia_[$4I]bH?MO.pq/tˠKJ[0Z|ؐd[a!Nj͗[IJHjH2#|l|.ưC1-ϴ/]wxz]K_:a\*3kgHJ];~|% <5N)e>rvh1;[׹#ףM̠҆i"%9{ iTȒQ9\9|ިK./2Buie. p6'\cJ?yArEeʄnL5ۈgT' r -Ao%ADK!?EY|eCߚsa?eZ%Ka6ďpZ!jr!?8eŬsKu:ĩR%)R\8<|!!ѽe/DeU}#P/)l!.p_8SZs7:_wH3qR@=D e0!T >ǖbMвYkygL6q6<;?6(5ww ja@#{+]y-Fcdp j mFKy47v/Ak{eYk$:nATwc>1lៅ6>u͖k1|J|#?{T?{ 9~9 zNRJ^PFvc3+JG<ً:v@#Ths֨s'iFW: 8@qo+5kG6|*h{;v>/i7;b|))m--)| i͵po _nWB{RkXV߈M>mAO}KwA\oѠ39G$-bXT|JD|T>8We[h߹o~eψ|5,mURc]Rv_e\$`Ի:P!g6Z$y u9W~e[$8>B5Eop}?XL)ST$.BoGˇr̖N98 \K. \r `cWz np>6\'zw8CK)z?$Dtpٻ#J -q$rOt{{ҫRQ#_أy~= =mv۶FM_O҂Q84tVjsӪ҈0/agư;2 ǸA7L:o/}7/{ {2>5 #TAmxsV=c%wSDoDEahEf^و~ dIZPj2WZ1JB#\C#B &ڙS1i$85/ AQm9|ZL~ aL޿(˨6QALpז/2 eH-UWz`̀ZفrjȆ5zt]Ȳi)6ȢN.wWRylf>o[P\iMTynI WKb؏ !7~x:\>}}/}w]8w-qeL&d ?Ra}-7aB`ҽ7HqἰGL|00޷NчKHFa^'7&.D:16IicpI/yO,'=`Q t2or̓͹MߕݲF+ɶ?܈e|o=\T.Wĩw ;T('Q5̞T\L|e1>#xs&bɘ[0=3Cep)l 3R~x݇ ܇ٗA̘IK]O׌ǬxɎVQjrߕ^jTM}Ta:؎Vý (F5)ӠBG|S6"uh{K`חkv[U@ј{滯c-?@R'CÇE6;R>,N39AUGvv݂SΗri&p{PvIyƥR#B;rQoeWݼǯ֡z{썸Fd[Ȝ͖9H`R(Sp8ɯȷ98r *X:~~u3 p//m(0Ĉ#tW4kY(ަޛz>wyo@4DLfGZAς+;`-*{_jP YPo39;Ж!\?.mWeVs_6~DX ok5H+ٍp+gVUb#{Gنm&i?n!yQ7aSV̾8 ʑ ,7*67޳Ta^\t8δ_?iB })c Rw}U = ׿AiZ4i8?&M"](M_yO]B^4Ҵ<^TiNx}O3yw"MTNj >&k8τJk!$+]`hϳ &&N0kT&$;TFʝT[$//C\Y#~)ahv%jXd!uJ_(uVI\+~`jxߕG;&.XA& ~;.\|SoeKصw*(K\~~Wt} ?z\zt}q} vE)~k3-I!w{o(pW8fSWT-cfS{>&WJ]S3n/x~NPM*oSSdfQIwvPeWw *FvWflsש~נBmP|?ԤkUez;}55=|f6gv6<_W}kSG|nçe>|d5?U%W6Lԕ.qem55_Iw?4_O)u}5}|.! AcT>lJ-p{ZFfSw6ݩ.kB_־>w J&PFhT_MT>|mBVW}nÐ\a_a(q.E]eW] [KY'60F{@II WFRp#)s7Ŏt@S33i(bWJ3OPG^:O0 n4)ۥ Q5C5c+*Σ/;i[[ރz' C4h Z^J)n?ҝQةJg s%m99Ȟ<OzAv_O&Omx"ʹ*:.xp&Rue"Mc?Y*NbyV0_ęBHRuy1+]Ւ4DZAo4<gPmԹO[ ķ= Օ⍎O8M‘O*:Z {P6pucWE'[]z2Ch`4.̺m'l=5*hEC6@ؠM0$ڔB8J/ WU$#YNXnqkĸ$n\=qo.F'=?!GnF-|0 \mgQvI^ZIT-ӊ@DdEs[aT?*Nm"U9;%qY1{r8zJe\X TQf9݂ԇb9 q{Qnث8v>eo!j޻8+Wpݛsz+7.PrQFq˱we_y/tR ,y1]b6ygӶ$H{renxaQӐ‡AQ&>B[lxλ5~FF|+;in; uL^h;ݾz d*Z=D+MrRj3 X~K@<  ðQ(IL ƮW;H6P~ʖ@;Ԁ͒ Ly #7CsM_A؃qa,#X(YY%RKRuNXke^Gr2nv,3wWna4dW!}H_ƷUv?o1[h,:Ha:(Ta70܏]vk%N+q4+ YhDvi}94pcRxUUL[ >0)+}rVs w>eJT7qjŕL (NA:()*8uHl5 Iv.32j$7`3W vv0 ܍XĽ8V.y%W<NUCSؕQք\!) xۋFu}m/x xkloUi8Ys(HoV$ޞ̟x;=d ȶNveZ9jBH1ծJq /=lngN]*'6ذ}ͭޯK I|Ajə1$"(l17v7~/v/ݿ+yՒ:G$~ɻ C Wo^e$8mxebU~X":-ȄP'Ț7%adIn<շ7*$bܠI {D/%:\`{"H;Ӱ9y o[wY=C#ia~uk\|,\NvA_{]/޺$g/8_$eOĐQ0qf_By і5Իy'>; 7oy _@Pv/M\<| U%֐xmq-bvq KRqtٖۗ7ň]Jqd xuP#RC#wZր3>Y _/QDdޯ˿ƥQo3esG ڣ1̚| *ht]r &^Ök1bq":rz)a qB1]=nzoGp(A|l} U"T /֌caoAA-mp~x}nӝ,O8_ǯgFbÜM6R5F9pǖa$3g2̆&SVm|q/r(Oh I}Ӆ&kI BK !y {?!XNxbU| {}~d uJ?ʱ| 0UvgK'|N>'qBZ$hh`bDQ>>e DG 1Ejˆ5SN|bz1Vk|Ks9H3"H]+Ԃ<6a(ueQ^~sO?o8sxu6? 졽ݍ^z蕐N=/Wx "1 ̢猨U9Z.,D$mM&vK8B_Z쑴 Y΋OBMd>N!uNQ]'6|2 # Ls#lE<ýNmeˤʴL&ŦA-O&P`n6Wuo~UCv±t 6OӃC1w Pm)hk$ɷU:9%Z w֑-]yq9[%u &/\Os~W9-VmX}{Uy-N`1P,!J]DefD9YX|KT,RLˡ,L5+ywbFBwQv!LFV=QsPHyi}X NMR|>N-q,-u8JokA'97GM 2KnkFK}0iun͠mR0bIo@] %.eUؕW63;:pioi#H fA~8r~ǫ|gEj"P6)h###Q 4cgyżjDo4 H]P hEE\i;{N**7!.JtIYE,*V8`xu$,VM.pAӕ2kx;$]c;U6#OmXV#Da̰r2cZ<1;27F>ngs0*ua]'y-?B@E*!"Vaa%CU2mmCX'G;MO{ wrh[/=9!I)D`[:R{$Z.E9XĂ(oFD\j]sl'v 2;;T~T;Xʾ8;XXmTMnxk: 9\pq NY ԇ* +{$.f]ZjZB6BB_'z!h3VC+HsH'!|NɂwF5kdT >%ED>K-u- ZcE8BK\ZV4y5v+r E $ s2><|X>\ౠ*^mxuAr 08;'Y-By=A0M\q7#fE_kZ,¬kҚ8oOAQo% HhI9':-6Ume#]J̸oCqU+xͼ1`޿Cf?^ixe P-_o߼jH bPܾC;@hqf%tot6?3|}4DU< CIx@`:DTO>f CC?f߉2}p*x޺]:oMG%xw}~fE56R4x#ֳˆue>AwYF v'nv<YT+Ob2O%^GĘH]*swωbET(c': ,gx>NyX50S΂fnlItq.RNKBuP} uڃXdc9HLT:[<ѸSpFNp#5SpQQNռLW8DP74)uw8HP"MW/H{ +] c 3JD| $T/ y,5 Fsyia!Ժ_>MO"O @h%@.-+#LA;:sMU+2ŽOodFЖZ‘PǭLg?>:, G~GDC63q2 2!3ܕW6 4 cC8:HuD -ġ[M0\"Ep]+,ḷ8ɬ,lV@-ٜ`_|"=+ *Fm|"za'w5K=+*;Ho! 5ǐ]uce_ cx8Kj8D'@|g[!p$4WV#:X?*]z#4oj1fQ~?nݿ1:w9\TyJ]p9;+ әVzLgxa:5Kd);gOvȋbpƴZN[8vx[vT*cmzLͣ>ɷTqx2qF>08E'5z?̾‡![.w:ENg.mbr8ځ~{~Wa-R{lL0/c, OSv`}1=\.i#rjJ 8I/ڛXgrpNNWP!A.wnG;i-p '"o\tpG~<ouyʝPSy8g:zj:5U簛tpQ2lhm58V憞X5JޟzD?j}ջÇ$P Iek7S\ГA ouѸA l6(PRqoZy rqPԕkjS-lJ} x\%)G܇F8|NO,Ƀ.\~uy; l8/CvB>ewfN+ z;ŒA 8Xʵ#5" ؉6(G8h@Qӫ#>ӗVÔ6h} XWSb0[gל8>+t@`#y&۸c"4$]޸gz=l9#/0jQ1WoNp>f6|sTKʭ I@wg&)Y0"*@BsJGtUXL̳f)f:s?me0.t,9,*G6d?6C5O ) ?: 6y&NAwvGtd]ip<G@VU􂚒P|հE)͆ajVHEN;P|"`$Qm@Ź}M3p NjNiPgZo8"to`3QXeg~4Te~=}!ҿ9JWJ9Q´A1Mߑ}X/g?^Ѽ`N^[]r?g]gm2Js_$`hM>zx+E;M݇3 ]Z!): aVzu/[Y:`KjSvQ+`-3xmrfW^S~d>>sEsy; bN[myXϾZ|UB'mT!COaOY+^VksVyM{+ոxUBM\%Ncp[w$0EqwVJ]Dփwy K]iCߴ*GٔCVH@hB_C$;ýC .O{N Vkw.gi5!MeVvf}έ·~$_*)G}uzJ- ځ.w#jCOx>ŧ؂= m@W)e(Qj䔾Jm>94j騻hŵ33u#ҍ֖Vj-*Vg >:??rXVyv[dro -JK i%СMZً;u1Hh PeW@S 04rmԺ8.ʿRs6$EN Η`T옋ouOOx"m~:aϡ8Qc/0*w[qC\u!ѦTy~ ;p#xM7 Ud١ +'HՊLC \&G6y3U3C:4!c7Gƍg{zfBg,im* 7iB{y8z(TsC]|6bo1r?,w-T˹:F34{92w5yU~g)tP '} bBX|n WK$Yoty!COWe)ǔM R,ۖ<*G1BXIOPN }F 41tvn[/;T1&)Pĉ}aW%Νz2dL9>ZRkg4&OUDOd*+40R>~O<;iyoTĵRW./V"(^0sb69嗖NWٽ-`ϨM ioa hmB\?tеR}&8ZaGYvh8u<YTHO'W?wO;⻯kPpߏ %Uy6| glm NgLg {"<+sjW!y` Xl!bTej_8"oAkx;ajLkbl.܍%٦_OLV`luX$;R+ZYvJ2wpmuEb#ݷ Z_T,a&i'_ U6B6.jL[ʬtIɡ y$ڐZX{֐q?~SU~o.kunZE(0|D/0 #p!\+H2ȯ`'jk۝3bp]9Cj엍~m>߈+.|>v5J=PF{ 2Ko *۸v4CmIP NB9r\RgeWc^~6Us‡E}k9Φ1 [ICkBv'ΒP<( CqXFyJQ2`Y D8bjŷk{x.jES U,gf8j3.E絏08Hu9%¦N;|4skfPm|*53ML[$=jp87R8*FiQ*>x>|y:t D10/Of8AUVw;3 Al>]} UDK̺alj1>Ujެz 돝evNkh`ss;@wsNDs:dpoAx_ˏi_=`[nhax,a>qrV~8@}M`Bt?JrW*Qm6y ]"zsy&l04 @.~{wfCc)RoH 7 >&y <8f%Մ]Ձ"1VRg}Ct'H= '(uNS~8R_Aeo6x2 d]C i/.\['?P mPZNX' Kn6*k?d?zm.?n7a볲tÄTف/N+px9gLwG}F*!p!)s(k< O/@՟RQ{sN-8Dɻ \+*) supk/x64ɽJE(P7 P m`~UKhpӲԒ"?>[G9}o즡\iY9>ʱ"-Qu;*w6F^OmʍSםtI1t[dۜV6=d-ɗ"ep@Yp&wjD^|&~6鿼)2'p07F9QIiZ~CKrkmwYvV=ENhS,%+ikTz?F`ZT/XJJHA6TwS\'*&[Jcq*Sd=G {݇7?ndC_0>‡7w!nߵ8U,UG%mf UX-^f鿉t)L7i.)u)4]6C;+mIG=d׮W%5;r٦Z`VR!΀zF\ɑo[C˹4SXtw2K} ܅HI"q؇&7u@0niIx7$' '% ʒb8DIKȽYH%D4#^!7RN~k'U,Ttv`l^[8HmEMj)K#rgnצCg5Ng{j_v&ڂWjmi^h ~o=tK_jʥ8(A H&EJD_ZDo@$Q\^ ݕ pMp`SdO"L{K$'T;@[-tm(p+pF-{&P3NI YW5%>>:1o{w'v_*0$I=v;+I/6cٸP$U"]}5qz'H#l+f~dw%_qkndV> 5h`[Jg7B͹G&Ƨ 5[樳jwRW~.yI5GR!tƤ!ԧ1dHʗ|W>>d@~ t,o~MƉHfaV|'dqt,&./\voM-W2-Gy6{|_* ?m%ji) $y2Z8o8pG`[vIJ;k/oDqlC[/ݨgy߅!Z=X܉ioF3YɄ^:@wsG4Qs3 .MV!lL-%4M>˽,*Q@-ɤms!jx]j5cl}y>@\ vo4n>6mx/p Ug(GDtr3g$>Dɥg‡xi5JH\!.}(d>=E("Zy'/x G|jGk9k]otr9C@tC:@gct8[#Js9: M:PNgs !NA8ڤSt9o H'GtndUNt7B,K,IAnoûZ1o>&,^^,<:iBY$ƾ`ʬ`*i}>e6tAn#x-+Lh%e.sX>ޥm&5יB܁ [idCÍr;GA*4Se̹a )¼)l/Uĩa %%0y؈̈́95fO'hKVmy/AdB6P!)٨(s#J]cl5׺ige5e0bF5J'g+5nT1"Di`جkgSm$>U }xQ뱽IJ8nPjB{lҧ[|lc6uP 6!]9lژ?N m@9 L |-JMw(ג۠.T#]=po+ 9[,Al؇&+r_I>c3O}+BZħᏕ##w'ֶߕ8t'^N] lIX#祹ؒS"Z>EMR@(u[aNhw#!dF}1T_Y䰲\v%ciT9RuE !;Jp_1oytްfxwNKxwF)`6V+t #+݁7b%Ѯ2 L6Tqj7s6lXfC9u,i8Of;p53 xED;agIbHsdz|ɆUa{E N fE:/ϣtI*R@%ZM$^,)Eʞ"&qwecSG1E&< _e~ q 8vOq;ls* ~6s2r昡CL.qH j!ð vVr;vEq|"n߂n 6`Ⱦ+.G"|f}l1q;!ּdylAx\a6v^V_2^P z{+^}xڳ / ƹEG #%M 4ԙ&݇uUtJalrQ6ƜTEЬ(g#{ij8!TKyLl}ލj\/ZG߀gUN[߆+5b|"ۂέYSŬڨksj}R"0[[ fѲY‡5B-JSmT]JأSߘnü9R/ahaIdݨ7(! #c)9#mîGrsrW JNv ch( iF8l1ʮPG,-P_p܃ڽ<%oU쏭O u$P-୥*ǩR>NR갟-X1-ݦ:SFTSw^?6TaDy..c/r5 3?$=MvR@{ ـ9/]ҞycbCN9Mu%j=7V(g1}h&4mIc-؆g-',1aC NB?6G4XVhs1>thKe :*uGs/] CI W=!_<ƿUBno ;o8]bwrW_.#\> 4e[\~ L6ϕ& L/S;Sͺf^z6U xSSzJB, X0`QFll*;p*Ŷ(WPPM-B='@*^PZꀀW JGZh$-}}ggk[ka,"i?MaLw?sc:4,d* |ܢ(;!U,&**~fH*f_ V)FՃ : IKmt;0׫bp-N{ S ce`9ܛa k w9p1urZCk_ZCkgZ\A5zn55yoVo+xg>OAxSUk8J nmyfQy(r`g s5G{V K,(x^3C'Iш^I/qr kk5{.-W/֩#˓z$Ƴlawm*zN6;yBIXvwÇ w04BF8v0y] (l"-7+VaޖѮ.vaa0ms納hק ;{SʞeY&)/J.z Ҳ 0Jz׭!yu N!MۏhxClwwT0*/;85^dcr2V}mwRTL0hƌ~q^O]T{ cÿC; 4bc)L<^@Ѭ'OS4WqMaǟBIםUO'a@ r%]zf@ *H-11JZ $S_GYif^)RkjK]uNKf,ǶX3bۯXl+.vj"wIZ| ڧC""[}-_J~z:v3@O` &d5 `;PO/C ?qOf*n>'&nUS4ȗ" ҸxHPV4N X1(dIS&˚EbpR0}WWwΫDy` dv5:U2OնMWl%%y) |K ےZ ?YgˁU-lϰ䉠XLó?@ ,%cl 1^e[mxҵK][jTy oKMԭCr ^+.%4 (U )3w`Cs tW!mL#2u^҇;Uw#AND2Ө h3C?CZ?rEQ2sUٞ '0Anx,7&'c`rp&# MǷ4+XNϟ YՒIS[җ4R;QX weƠ' ګRg3kEsP}ilɼXN oQΡUS/U@Ϸ(JQ%Pq[oS>j5Q,4Vx (0] c&T3Mx`QXآ/BE!4JE:8y ~ڍ[׍)%Tsh ֙HD&g#')CֈさFqѣnG_2QI=rpx0?2q B td' 4LVe]:R;i6f\셥[JjpKwXv(. % i冐s{/fCǥ e׆LJ.KHNzξrȬ&+E>-WZg֜cm9zGcilz5d[_7Mg\ٵZ+v[* cQ;aIaҧ徹ଁ)ih.Kkxpp >uxڿAo(i`;NJu93竉ҙDd^KЀլ sCͳR\ uJQzӪs4Pq!3Er,=wDZq kydkTa ๝#`L,d|Ryxg(ZX}*IܪF#ii4!r!6 S8oOg/nS^XrHF!:ˊӅe uV?loaNH.dҿ?}XN]yqXZfw"җ@*:uQ=t֎ꃏt+=9?ء+Orr̍1}quȌ]I/q 0^@*_U奖a9*y6ɲ I=SkZBa;ͼP eg0 lB1<#Ӆ΄63't%oK ᅐ?rg_Ɖl_0^Ĵ3,3G4tLw(p'&Yd䨵gikJunyIAB$N?VI.NcbP̰s9@co~dw9f\wd=Ea{{`}`cؕ5j &v5Hآ<'!_ G]Ʈ[1 3B{Lz, [H&{e4gq /O2o:Ў[rK萹*(r-(tDXN2͒$Rx!~( SD ^6.&pA Bi2ŶGt\4v,Kt!W ^$g| V('?һ"?ݼVd?;;gY"reciYDa>Aw`O܉XJOo5Q݃=yB_,'_8>[18G/kvWB^.  9darjP5YVa+<$TG-&t tvoFtьȰdX9רgqx3$6%tszxB5*ae_xo#Km%9hjby׹(hݪ%O>zE@ *?AGBe%1ȁai8ݤhL rSfb$9*sX^fsuK(ׁI%b)uNrtvi0JZ8(eDlkbrLԾ/B,F6Rx<6۾)3bF$Tׁ"oXgqEHwݣE>ecZ` iޥ|j ؇Z(o3 rrGã%RS2'J m$Oq? &0c-c*ag_b\|-bJ;D9v.aiPܡk_]]=(2X9eӢkFDcr@/jNRf5tUdpgTA+^W,?NrmΞF6<8` ^g79dO,v48WТ :K@E5Q@ ꃡ&:ſHkϦ+ucduۥY҉1 U"Z#Dy%a{#-d'0EJLcEa$uXފBh Tb,JO&E2K[ӾY08$D"L<g_+Z4~(8A@AiJOiPQ3r${r0jl?P[_pL+Qo,4[Ű87Lm}56ыS'B*'g 8Iw=h (7( 37Cxx|K%3SA+>/|.GWȱx/z?z}?}Om7&V)P~[*"6kCD=1RӆOMVzRFCAJnHB徛.x 7Ow6n{#m<W! wb躇yUeR)~5tÿ' PCMT| ϤL1`h;cVشl( {p0h=&Q^*("i :)+:-Yf|~uQ?_ E0WN@lQ;L=x zQK 4A:Jz0;Pu\ΏvzÚ16&'xp5DpU3`ϯ}1'Ng:ik<$L;T4d=W:ڨ{gcp^k3\89r۵ ̱qss"V@Y[t%辈s"x㾅w,zlPT僵R+"^hud|bU҄l lc"J܂=Kopa1sAn<~^H1k>ѪGGۉ8=W\ 4.~`5ȴASQ`bP]‡Qd^# :6[gwc9x! fH_e½-@X>]7mОw%+ :h8^J y|gcy1i57A9͊v2$ӑvNԺnMj H37"9 MPJg,Pp%Їg(* vy2M~- O< r?3cn&3[\Ge[p4&iLMcx.!^9< F @x=3ËcY7ŕ&.`;vBoZ"$(?/}FE߈lX Y5\5aIn jǑvLwk~Z=UKk!`y(r?=Ӕஂ+Y=_1Wf!-W1Cv\w~1]=K y;Wp$]pMZ W^x-M\O d sb>/Xz9T$ a҉u:ڋa-y Z]iXNg F:0x:.@Qv>Pg槰c};NX,e`Y6"$ʝlQО)p3W*k:,lJϯR(&t@>4KiC[Hi<ˏ=phv W.kn',oƶ=QN&s d4uuJc9'?̮Ża[UnG0l;{*=|*> YC^³򰇋HI $:lZU,qԦ{+\ӹS̠}剳ѷ~urKӖhve^~]J OZ˜UN"Z`C=<24ABO8n{*r%N=K3%FXV. WI]aeID)Fw=P|:ۚQ4ݿZwuq<ő$b8XmGrp< ۾æчeВ.)IKYX)ƶܕ~D' d_&^q(̦4@vYÂ1ɲħ,LDY$%!lؐh/uXst[IN>SNņed7ӳDRi*ZTtN1$$D:[n2gg9=͢<25˂]wsV󶓿= lӳv1>c:2)(J aR=N<eᅫ  fI2yuJى,[N^᠑,s$\m~J NkJ2^u!jec=+ʚE1ڙP>eZ5*<8,fH;4NѴ* ,; j̚0H.oe4WѯЖ0i(Yeم2u]eT$e~icH*=QegW2JϭQ`^6:!`h ѿ>0쉏,65Npۄ'IKؾ3>=p/:0C1ºOic&p ~-h%7@cw#[A~auEjrW%S+ H/CM,KN$k_%>Fn' "t1sin,JK-KDNIdKq*-dYWgJeia^S'yB\"$~'s ٪~3ӽOp{n!חiXin =6!y>ߒ.d:¶eS Sɣou2pN:e`m~N@$PH*L7)>XORՇ) x>턴Ky:) l^ؠ u\fqt}5’VGT,zw~|U`\'Mq't rxv~j&* ':Rյ"ŋ$BVmW+kA^&i~P݉"9S/,W}|:˞N(MlNd Ss/ I\6rLM+h"^8oEi Ւ:&];8:V\`' ݪ}7T {FQ ` qPji2!ӛpC_wju0К|EZP[},@. wrf<p3p;@ HH{y^zskeU_Ko"szK`ak8$žaxhDu`C*WÈ7ڈWIMkG._m:.K}NCxMc")w}"T"J'o5*A6κTdE)t9[hx1=! )i`\x:)p6;A-=BwIuڦ'%61jϩmSJKpa5PiԺ5:o@%to+{ :mr;9!TҬe@jD>GUw홪$DiJ(?$Md<{X퇘̠ S*b%ɮ~nVzUh{@@tfVzUxi&ƹ8#^sӄ/mԽ3^=mj+1iyTs(qVb?E#zvG62ٶʋX}E.|vn=ҫO㽻."engx~ ܏*zՋ? J{RLKWxɟ(P:7*k Wd~5`Ft`z$LZ. ~0a}w49:1XIw_WxP^gqۭz/Ӿ}/#7 lv4?}N*# ;| MŰR^Mo؛eꛆMm9-i*.K( k&>#7 yk\@3;)Vs4P{S22{e5 6{0Rx7-d[hl =M}W,k0 5"+wA뫱PUܰև&?-mAw{K}4K?)kKlbsYTn@dl S!uUڊUF'q`iq%Av(g(n8i^Z+'O{%ji I!ՎTaiqecҸalFo/{R0Nn̶z.0.M1"$8Ƙ=)-I '->ˉ͖jvRtX؍$lKM?p; Goi=Kث;*A5yK'2[gXdFzϓStN6tr=X(?3 -l0=B0KYL+Z6IiP}zu5Pq]w+#( V`UZd{k&[3=uݙ^ùDgP3 -lV\A?cVՎiAך%\*n( {#0L|ێ3 3AEsu^M Ilf<ݣ mBjkY "9?FcB';Sκw[rWgcs}=Lw߱x?|i{ndW ƺO8+?z}ᶲx+T{wD86#QpkHGZ}d$ҽU73ʕv5ԍg9V-.W$BJ>2x't:, 엙q;׾p vWK-lR#a,*UH.SשzEZj~\s>n/GO+A;X{>v~%[$V;xFG7v7|Eo?ӳ71~]_U bq ԟ[aD, Im`-f'9Ie6у i-S K<N^V~{c|s^ձLuʿ]߯)zeaQz14Տ7`ł#Z=vC{iB a͵˶h,M4BR'`OV`rٳk!ݴqӷZp쥁c>AƆJҽ\Ҽ&->a_亃%U (I$0<[`(DTtRJ &7֪gV =#oRҼK^uzZs>J) rM/s`CWtT}v ~K'9 =\ZV j Ö%S5OS%POv́s1s˹c!Ixn`)98H\w'bI㹮}-l6'Cͫ׋G'@; *qru7L@ vT"" %H3W s 4M_sCb9&7=Eyb|a؇ < fO7iqph5xvtN < "!贱fD仛ڂ޺.8Vш>;RC ˹R`NV؎F@ t?`!Dr<3&FLsZX7Ǯ}Sp^7N5hMP1YZ- O6&;\ xI:WqPfDi\Kk/aӌ̢zoK^x@B. MZ]x7igS\= ߕP“$A}"n29{ <*n_%/ K\Z {1lڰ>2mq@ukK͉1ͪ'8ɯ_l-1~8o^T7XG<i58NU.MIVĶޖt6Y}!{,FđtǛY✤-30mB\Ҝ9 ju XjiDU\U[:V!J]DuYuX.3oeY'w4@t'9&^lkEH0Lfe5 Ii[` mAM0i>E$7\jUB:͋Jo4mJ%^9=#§CG,#;ÖO] 8UGՖ0BApt8;T g;M6k0u~mrZǻ}Hb՘l]sbOu :#.seN. z5!{񕀂*, ^Uby5r7ғ5HWVBAO lCX=l{ZOfw~% :%X>]KVp:-ȋGW;b(owֵaC~kvcmݪ=j7iȵ#WLk kevFbjGaJz)vBnؖ!ZI/E3*j& ǫ2ޤBM]q-*U0/@1RiUu GIOM:5´ۏÛln28\ͷE3<;o]ܭ*eJ}a{1X[ [ }4AsM?1M%CGT D`b~uԓZ)"CJ}zO4~kӓ>} tOV e>Pǻ}p$ю]#s%xȧQ }"υThs>Z= p9#5R_{!Ȟ/`<~:p~&5Ey cn<# yj0=r>؁\ddt@$Ϸk!|]q?ݝC x~Bw@f,}UVjmUʴj6D`ן 8VR1Ok3q723O)/1e)Ay8]L}M(+5='߽mkVpd0D|ew-Q#ѡW6*^mvHکvtR/Ы'_$4Q:Ι{pJr*ĵH3nJjW`tjUDI*Xh~KKk6|Wol _\ |-|]?JΓ7F(9>P!(/J#L-dHYlcRZ8O'{5vhٰ> iIqHESU$r =ۃ+߀ 5"K xuq(Ά8WK=;.=EY;_v>`0)kYuLi}L@G0Q些v_3_[ǾI|-\hBjfF?~ yeok6K;Wk 9zssXvUӭ7^%ǣ59jij>X0<@BnLM|,ogxbXVy ~⤾J%UZUJVUe-[׬^ t."-b/XtQp*¶4I4c! TKT-lÛ ;1=QFU}ItzZrb#`_7tytW#t).ڥL'y+^ݥZ[4Gߥ;.}jPpR`yD,hK.].J2@ڟ|=/^.ZK4\Ӻ$")"Z Tb>󭲶N2X[9 B;5NR~|FFaǏ }JP-{'ip]uƝt^:\7G'S`ɜL]!UAyHeڒ?pų!dp*vN"Sfzȼ .ʳP'}5O*n^O.z}lԬ^X#ʕy&L k` X<_TѓWpa_5FOp;֐[>Fmi!UMi+j*<3ݶL5Kf,IdOv{p(R͢2,suI)ͱV)Nŋ$`gꁄS6&4+\kCRFSٚkj_#cAQлZTM#ku/7хj%'*3!Rv%^R1]0UJ F8W_݀I) J,G/( , ǫz}Vn+i5= P <{!9;(ݫo4 Т(x`؉&Ă[r!~?W cN[z?>@v>0q,X3 șyɥ'N!1gDvJTTuJTFr#t`xgc67r>T Ζיl>2m̞ 6Rh5Ӑc˰Szg$o6@ygdC[aB/*,ܕP}7 A{=g*ٱd2?? f1J'\U̵_=I]}*̣UGzݻBgSp@IM8/g~U>^/#h{l}SSC<Њ)V&k9iιYH BF18ћZ S _yFa⣩(Y < s1,4Kd![H d.!0Ǵ )_[C %8υt8K9]baQ|oM<|ZJ}t~%46ߞ>'N<[栎dv!:si5ü G3 K3cn,RCtaMsTʂW? z:~n?$G|,lmp [{ Rx(2E^ftOQ;Z*=JOQXtlqq{S'p6#܏<,. Z(|(!C06O*LD}3+CEJ2lfBI lpv"ep1b mx;Y(׋?]$S@(<>([&l@h+$捺9?, VbA\ ۩CV wVuVJ8ަvq+k38ˋ:f,H襁D`dZсKbrHl:"~dGtX-/zE&\WliB!t>톒Xc$`f:8L^Q ;2NP(jݳRak6[‚&rGNA nD"_ shv{[p83vt&-[b˰åcl^,mk5[gxgK,?\Ou?CǣhdY1g0xS?D4="G{DD$\!(kH?l= |Ykx3a2~&81X8-_-.χ ޴~1v"v_+Dt"N9+[&|Rca̘$uZH&q#Iº>AXI(|L@ }@m17@w>&=ڶ0e=M1i5P/#hV`{2Ci>^1za>1*|T/+Luihо11%F$x `${g4\;pֲQ5@&<\S4vCۓ<"~"7|C ͚LQ4r; %m-⢞Mx~Bq#PA_(aElG&͋t:A} $ӜhbΉXLd&$%,nlpCah^1CTllvGwt[hShr jgqrc p 2L[01w|Q"_B{ĤxkړxÍASu?0rb|ȕ/riy ;}9 3f8][d?'xROz v*dˊAm?4׊2anznIfQ7r_xʢ)eRMO54ȷ 55ri]= ]O\`\H}'cr=t |MP<:{<D.d wH|Jav;h2A7Se{xǘ_%6=Zn+^Q)qgbRXyԙ[Z/Kݪv2M޾Ko[ǐm;zR'n\01j[<}BMvM}z aoBf:1M5+,<꽵EJtCIO W7-?vKj:Ɖ J+*{!?֋P_ރx5vkA׏by/.Mҧ/tmU&cOLu8mJ1A*')k ׀Aʓ!὞,1U bTؐH핷lJq4/"Ex2ȜdƠ;!ͰEчpXG:5va" c.kkG7!\XD! P}$.=q(ВύoCLMmQhOU:ůY'@KRabZ/hVg gqw?$6H0!w! HPۊA@D-0FOw+RQޛ% moXx RA>]~rmdEr4SJ+δb~đi"'d`$_.ݵe2of&G#3X}}Gm>og؃(qQN (Lԏ("8n9q%2rY~ 42&F>EÀD9K_l R?wd>_{uj ׎huja) P SGz@GD̅4z Z>r Sl::ЎŹ:Bt z}TabV6^ag,t~bJo_vT۬q⍧;>,Uvoq2%C}M^^[Otpth{V/ΌrG\[m \c̼x_+e&_f)UƂtk;ȤcL%a ?(_b'>O e>/Oݟv  cI+r6:t" 7,Z; >q7,<:*rmaH)#]bN<?_cab Q}5zּNjH~B{L1V2|2:RL<&>SN;bgb(1[Hnw;Ok\}5\2pM &pc`2x/wxABQ{hyұ5yk~ud3OV72ySn d 濈3MkdԎ̆Gr<05jJzT ֈSuR,h+^C+ ش'gtJEڶn%~=Xx\(TNGPz#Tτ6n{w%72Fh7c>ԧCZ{TbXAQEAuvJ~g*:[(.C*#7ANrգZ C;앟'jv3/ϣR\C}@a}@aܙ0">}(mg)Tv =eX:攔̢?_Eu( EkI] E~2‚m~AG{?3Kly U;&\JrߙA hK^殹DEںSOzr1OX:^Fxcf5Μ \AβVC[m>Da@;b̴%# vD[+1q:a Wz,p:jJ{6 >^LFgԁGYo +3,s`\^I'?Ywgx/xrgC[:CmNVGrvOu/Oz1WG*7Q`5RByj |d \+S^m^r7QF5n.X0nټ$<Ͽ _I}&=n,ÑM\ZaLe'{dXoe!ǧ;:h^Pu+,q=u^g&@W65S%!Bt#%_63~r F6Fsd81㔌QjʖE ?Ok)L /hg'}zrmF׶aW-':τ)zL_+JOFtq6e額皂?xX\ʍܙltkbZ Ÿ;%?wCeF̍Sv"Qlܸ᪎vU/rJV/ŃÑ6,TXXm.X0q.>4SY^׺DMY6 -q\Fm jyn+XV?jBv+C]Q]nK kk䎘k b{*вW*'΄5sx?v qps۔Zl->y>::l_Y].g'E|m.][/agC8R;U vlisZ=,^0MAo7xA\Fyhqi`6iCKBCQyGl~L@ȯzX| CtQ[+ $&$},Cc';ubՙX'|O# ȵZ3BǸ<83P(گ\;Ӿi_(wq#W2Ƶx| 3&jf m_Ds~kGZѳy~X?M't>; fZ:?Jԓ}0W֋Si2$iŬkl$9)K[ȶv1nsÕ(KdyR.⌬:mt>$Woĸ-ҿ* G0” N\F#&~\/^a[0]:Cߧ'xkLk{ИCP ՙAY%Fz dm1)d$Riz3U<p \7lRjD$1+L\smtj^j{1!Fڠu`:Һ$e,rw"}Tq줨HMs|q@GrvNgC Cvj^?ό}y,ؐ) s&А ! ɹDRmy&>b4XWOFzTot]^m?n:1[-N#\dž!ePŠsF(C@#t I#4Fr;Bn7BnϢk"1I7jL>Z5 ߧ?ۡjL)UcR16vɾfl1UcR?۵jLWYLUc PXw !QNXwg1TE+mۣjUccUu':QRjfTu=-! wHj+6g\O 61jd3׋yȩyU5^|jiEF3OGȳ3RrڞKD_ EU&;΍ɤ$OBuNoHg'wˊH{2iߔh_U_ ;&0} ]5,r5~jc}= lt`f:Po{% ~.nnFa}?7U&䆲欔щ1_>ceq0#@CCV"bK8t{%&wV' '!ɛȃ僶|rےoKerBR.I 5kGc b6geǦ.1ǀӔg+ODfD^3gsF"E EW5hr x_(;j%(tqսgm,kf?T' ESVt/wpcSPVm;) 9) c\kVOW7 ?f~̒WBR艧~g jC2 ! Wwڃ/Z]*UFgG~3] $>9+& PM\>#mwo?4^z/NJBذFky[s*lw 6jF7UҨH aA A'\[q~lQVyso?i!Wl}sOnY~q9e\ IPgӳtb3&v潌gP)¦w7஀vb~ߋ]FiYܽ]N(#-Q!H@GDku:kjYN`&9mѺறCƊkvx5dj̰U;n:]> ^vDkhyݏj?Z΍v\ilx]>Dwa3骶{gIjfO{.s}5| ?+\et~bC |cw Isf/cAjYOG丶@3/T/=RcʽS"x^Y?ӂcSV{)hUS+\zEDS,7,|2~[3=-ep T׃Ve^1hN})u.E$b%*Mop6.LIO01zmNj=HϘh1 Cw)LtɖT(]Jdx@HZS$e\۵kׅlJ䩞MbN1n mVƵ#ġ(T&jMI:r? bi<$k?Syڡ;B[Ǡfyzq$h?Zm:OB:r#NV,T״:cԶML(-ok?"9m4xӡ<85)vSAmSVb}\;ӝC{K?mhޣd"rOh*5d5Mx:+JHbjy:' _ $|gTO/XGq{:Iw~2CrtQM<8q}k >GZ-К Ԛ5wY})fdt5LMȦ/}uU\-n#ـBh[!u{fgtz,_"mvꏒ7/g ȍZDmHjzq&cs/y$<宭Syb(2ִ2yK+wFsP57H|OSqK_q"A Y6]U/6؂DR +QF͇YVt@WAPA;(j7adGMFAq88E黒\LޮȑeDjCb2S"WwF1AN_a뇽˼4)fs#J9(Rہ%ym;3H?]a< =\0n<. ԟZ TMʩ~>t^~³ǘ0QDV=4z#ח|ڗ%z4˞yhS޴{uJo"'"~`O' FwȞdcMEk~gO U)%=CWuX>IJg$j}ð;/@[*z3^m+|")=ḿmvYhԏ1T'TVjҫN': 'o^7;˝lI5ʩ oUaLOZ,U5Yi<LeF;91Y jf=RR\J~ˀ3ZЃ^?%K -6>mFdbGCb@}CyџÝ'sF=}eu;ȕiIgC-eK<'O ]:vGң5w8Ju蒮?ƆLRz "*.![·(L//\Y s2C U葛&AA֖݉~UktE?a% Zy``/#O:%HNjݾzY-2)eIj~C@_TMȆ2'!C/mu8Puq~tՁuy}x]gsm,D oIaXߗPߋ-P_0u4_h\ۥXB7E=Sj^/rS%wA%c{'[Lƭ^F'nO k_H].d]0>MfgkH 贆9F) FjnUm29cڜ[߶{O"=Ƴ3 TRzƋ= O'LIpJgq1tF&{_=wWIZqt;U7&MQzqB@Ysr^E@s|%ʿD?U&lE?Ea*'8PqY9٣y<$n7"qq }OaMZtK{H҉u_p3FV+O7bzϵ 4NYӧ7Q/LXxhScBKV \9˅T* _y'2k1crgV:#އ ݧ~yֈ8+Gsaz3=箺\sOK_ً,*o~8m@_6d.0~ 7Y ?w=6̴Y3R~D16?qHoamMW^{B}zx`km{g60A0:<c/Αqv٨`^F~xĪ!=I 1 juwѹ6SqoI ^CU}s eGTUinD};! D{5ډ ])E&޹aS[hW\+P@X=) y"'m\/qh(}F~+oxsqf+|+o)x|ηI;|v+}= ^LJԅVϼ.NϺPlZ;d  Uuѕ1`?x Rc~%+OgE3G(^a"gk򬔑z,َe(?g7rߺQIdyu*bkLx=~[h^ y ߻#Z߃ !L#;l@"=,VK-V߶H+{ YҸҙ8.]Y PtZO̢#Eoj[t5fыEEfX>PtRۢxvYt}V&&OE%ht#^4Ί ݶMHSѢxJk衿,zP^ uM&Xx]K=BZq@[iܠw h1n{ñhga},qCe\a \ڔ%/ &1K6+ 6,okM-&د%`7LlC_ohOA{@W*,] :7y-mx׷RGX,台wR,nm% Imr3F43 oW׾bq$3D16jŚxÏdQ~W;p.YeVS{8r?WX;PM%AɿSI=zU-uzL$.(n.IG&xki`zYKO'/= S?5xzj ^t14NT:,j&'Uiĸc/!E5ԁ Ni?H`,"wK'a2'xctW~!FeȃAtu2}r}ds5ґxv'K&N桰=Q nWu67>aQ8$E/ƣiO4QϾh7ٜ>g#7iTMH4)h6EXƵoKťAhE3ɫEw `_"!o+Ug _61#5`j4+p/Nڐ+yr{HzJq}ȖE3 N5mrCy20mȽ[֦ƒVy.Ƌ3/ry1sUyE>^xzX2^KDEڑ~ ;"'N-Wxy6#~fƚ)ݗkGxlJ_]ϛz;+[s$ G]œHf ÍoMf'a>$ b?A ;[bLf|?UkŸWMqz'3ji18oqAPLSj6Pv ro-R6pCJP,}{$( ..E C&dxke|Jm"#PQ@>@DUR:E}K}7NY^!FP܇2S lu<3RDk:[|ǫKuCD74>he > ܥ'ACl*{ ,=Œj3҆s{Ftaݨmjx='-s [^/R;HBDy桭*U]aa,R fӎqm5R O.(GJ_`snn)U C'4jKVʿY b!} KKfpvl&(KJ o+$%P+8/n0{Yy!BG;> sQ:AO tU{u%0}* MI UCᎹѩ кgtUXhV9¼䖍wYVEݪ{_E`ETJFtX۔qH䝳RLq7̄~CyQ˝&L0 f4[qf{3x:U- vkxc_Y FE3;Eg.=%R}bIJ 9Kxml IUMD 1Fa&kSUi O:ΌEp:`sIE-=E)U8*|=Ti|z>5 `!0/"V5%rdb}5I1 e/$*U#%LsƘA"n09>b<>1ȗ';ntY0 VjxiYjrg+WoOdyr,& mw%$,U; rWhϽ냜(sW s7ɺ~hvy%c ۮjLjnU'ArfjՉ>o t(wB]%V&nz".,iSR2Ôq#?Zٗ5IuR5﷠2%WƎkqe6U;"XhAQޫr#!Yocm'B p^8<] [LVX2NY⳧Mۧpl%If"#-ϙO,ȏ%+L\qT'Mz#B$H^;἗r?~Uz$b=qo`{]2낻[:n*̣2 TSO3P i,Q;s 2SkzjvUNZxL 5H{eq~ʄ?ٟ&=$3zuZYemN_CA81TLx,εb(sr+7/s#j3GI)-0.肤e[3xcNnK5 AM=&W5&laMkUKY}+:nuYu]ё=}M#={kt,f<^̨. mA_j$Hy^#Vљ\[Ѕ!$ꈌER>OρjMT#Ǹ~ FG5M  /ta>w}m[#Zڸh*woS| u@-ϳ<ԾF@rmjOso=H45!d\@ ފ=R;ѫ֚!&G2ZӶk|Msi})\ߨl7:3T~-Bh>ԁq:m0U+w:"01ԁIɌ-s)@&-j7:W@/jM72֎i S%<<T$&Ni_bZL̃3X=Ap`:m^>8 ^6^?{Wc7 |zM'ꅑO Ͻ>z(Tns{'Qu(]kTEdGcQQӺ&>hSlJ @SuP<:J)hza Y,T_6<<0= ~@GaWu%]K3[\(^EyDX~-O^m @JZT9Vj-_ ]T‚s aA[h0]MvUמ!`R+!< p9 /A*gS=ł8{\p)(j n;ÃR*5QF4#r#8G級Ӛ`FƋ0~+!9QXx2!H^'$`~č>+S^'n~r E3xFKw4Q8IbEV=AUS0q4 8Sk0>ٙȃ:)J U3s*ArI1T0S432TVH{g>1sH94'5֜o Z׻_haB>AYO!m!D -| ӚeyގKNugL5Laᯩ7Sv.`"r~39AK3pv+K`z6Mjr<jgjJ3˩ ndpD?jL:jJb~lhj1`Va`>3p֓XƵoJ^$laQHv ]KbmM{_ڔ6FB[~Z~]9_&M~kep]ai9jjrz^Z`z׶@Tx&yFR Mc}u6f Jm]aͣMD\OʒA=O>N[69l⑐)mۏ`wsRh' dȤXYޫWd` (jSd7j䚹sOs#[IJ]tnḺK3*zY7ȌwO0.h )-7e Au-~55g0!(ak(LLޟkϫUfτXRҜNLtFJ&d.A~_8 _59E:Ƀ])́lq7ijt >}x5%b2`!rrБH9 ␄WjrY 1aK%?)k+lͭ )5Lɭ;5<10=߳X4;ءW+,|PcjLW; نO(LZR8bS:lƩQAg[2[Y6a Dt),l0oQ*y9b(zՕpݯ .PN ɑy>a9Q`lZ_GkAEϨPUzlhU¤]ѕ+N]E7{ wo&Šv|ܸ@W; QڌrWG[IJkG+955[qƟ"N\ZޠM6(jB܌Df8bc2}*&~Z=M 3yqL ޘ:cVߙCgm-6<1[F.G0MZhgAi[<=6Y7I\Ϛ67HgK^liߣOk4k]wyqln\>:Ӿ 2r+fPɤ% ?[ H gi^gF5Tg5Խ4pͷ"G68_-6*Y^Yw[J{<7x&W3W8m1氤wM]u//[]z0GW1*ۂw6=PnL(>?jv-K-yf'5(X_^khݿD 7y>K]eGxQF C/D5£rd+ϓ^h1hJB[t:NkqkJED9.oZ9y/6@; ofTR#X8;/}(OKeU^F7cw&-C\)wGC>}gGUrg9$1/^nhﱎ9X_PZSO 8w$== 0V jt^OatIXs{FoL_?WaHPM<bT .JP MJ@""XCHB+6E(vł {l ;}3&t YozM3O[Z?{z+YZ/eX?aWB0y?+6zB,lx6+w*Y*f`mmd7yS+' TB,ɟrF020EO=zjJHyz> ܫF! A GIη4;4GVuY9[!/YEt26ݢjE|YB,n3,./të#YDQE;NU㐶E#&9dP&6UF_8I/Y`1=~̫(vD5)tv0)!WY W,bٓ|yH2NQIHO)cKIX&gRtxR).DB,\'DrKjEEhLQ 9ؔ)*yo0QQ0̊dY0ƥVbDc 888@RRY̓'NCxx8Ǐ˗ Ha ӦM &E˗/i&~:lٲlll 롰߿ `…0sLq~YYYp5ذaAii)Ā?5 z___ݻ7Bǎ˗/˅dݻw^:t߿uǏaпHMMӧOڷoχ6m@II @ǎAOO!''X,냥%rX|9$$$9~^zQQQCԩܼy&MUUUЮ];2dtVZNNNg8z( 4`s\z=zǏ:x 8::BJJ ܾ}zgΜ#Gʕ+J%ܹT*TTTnܸ0w\6l={l6DDD@mm-:u a֬Y@Ӂڵkŋyyy0n8000`pvvnݺAFF 8vϞ=kkkؿ?,[  fZك=1sgEh?@@p<{޾׮EATd~<'NT@E0t1vX n fK`ɒس59 O߅wȨjjTBllkh8?~ڴ)!0d9/ŋի>c&&_EE3pL+hJLt,X)). ;SJ DHL|OwVU_[pMy3||J)H+aʽw dпxf..s`ΜW/\]/+9<.0/w0qYEx1 D c!>w=gϳpl7= Fo`.;pNdd`akay87ƍ10fw> ;wCmmKp#8:C@.S0z 4h̘>|`qq#a0}.صU#`Ĉб-ھׯ'Ia|re=_ >}6/<3BC6`c~8^˗ԩ0|x&dfFBdX lvc0 l`ڴpd݇/Kx]kWp8mC0uWfTD WP ZVw^0MhC5%R!gf [ =p?oS3R)H W!!2gQ*A`Hmnmb&Pݩtzڂ0wnm {[־}oRXp!,LO˗rn.MyhMχnn6n̄L z?/]K˗[ak.%2" y`1;:a0,bc!N-Z\]U&8] W߾c؞=C``99s ٴ 6]Wfφ``c | p'Cxx<˃Q(@QR%'d" ( ӈF!8"<("!h jv"" :h#XhDZ"X;R!(h!ځ>r#؏(" وn!;xr"Z :őAbDAB^DTG@T+D)}@TQ.Dq]AT Q(D'B0UD9\G0QD-EtfDTs-DQ>D QD@4h5.D?5CDAt Q?@oD5BQDBXDBQbDF QSBQiDMErDeD4 DDtQgDK]BTDCQ DSB9DM¨=^]qH]+?dE|5-,[_2tBGY_ ٬xL*qLG#` iiER)qtu":X brFH$8ˊt%p: OoDQqLcJQQb܋"m\ '׍U>%:yh򧊺1"<=aȷYzdyKe0%: L[^'8p5M'"4҉tio0KHjPʛ{Q\ӵ- ,rD D8ps5"|KاWsb7s:mSE,I`c{C,,_MHb(nXMqpFWS,kLq``14բPganT?Z 4q1MCOOOuns}}N~J['df^ɷX_0CDw3[xu[Vǵ@(52"e8rYHh^~R;٤c}/bsuTӣmk-WfC|M}]M=HN>u4mN|M=ӵ1PWoOGOS~^~m_o\o߿O7yz[޿gu47irн~h<:}jګ}_v\SÚ7h^ӏt[)V BZAX+Q6 ǒU#F"S4&ߏ~ c`===U_uACmZ6zMc[x<%@K #B!U82`R!KqpjqIU>(Oq ?6Cn,͗@qڢ ? H)RH1_0 y!*蘛Kx Z݈TDEUpYϋW@ VAn\\0SPPcbDcD"R^bs<]}檃bI8$2\ e8 ĪNXD$LT!^y/q7'N%X[ Ex\\(%p pDB.Ä"d<6'ŹeȀeIq.$rɇ 1NF " ),ɐͨE|,&)ΑDBTVT[+fK)b%LPƄ2<4 OyLiL 2NRHZ 2lL|.ҕ">HeP.d"gKqPՄJl>ȆD5zjA$%l H"Ix'hQη-2^/62B&X*:uQ[#b"!zTc(UM_FFfq4=4IDO(u.:bK9<JA<. L]b0> kvuxpyF5P.oTw\KAD`qU=k|p$PA"yMYB^*.q5׈T]@b%{Jt!C`P[*iTTcZRڱa?U4mU$¸8.HAނbŅ"ybF"0GDUyCr9_%2,^ 7%-|B.[(ʇ㦺[GWS(X ͊!'q!o1,i=t$jLĄ8Ε"^"HD q@y6]TdFg 48˒pUQnP&${,'\ZN#}SB'ࡱ B0sۼu [.T^8Չj\*e'fѬh#B#'^+ԡ-[ JJb62M22'X۪5pR PE#"aL,E7xBe>׃EubI|/ (|.N׶jn*2vlUӲfvGc% a#en+NH]mT3_]?EKhR6({1v4h1EJ:23Q$T/\[rBE"v**)G$KpTWkFKspX\"ڒ뤡P(\"剄E/ݒL,D߫?E- x6?ѫ?HضN.P7g"L2щT!ZEڟq_yRD^"&FQgpmIG410![{הJQ]Jp-M=xD''<YrlIB'` <>2fkJin^0J|/Tk:ߵ" Q8 “ rD_\ArD$*RlUr"sV=D]TOJȡyB"L,Ȗ>9$<Nk>X*\rPD<.KÆW#ڍ"KoTW=K;"[5^rGpi7K+bɚ&H*lN_ʅȫ6 Q?mV鿚 >OW3D a5SAT™ LQ9SAPfN^PLzBn4& j-K,xnOD^*[,Ă9V g,a^mZ(V$md4|MT#G FPC$xN߁Er$2T'2@'U*~4] rƗMp[TԿ$Zk@$Y,2Hp EH$Au6yHҨgxnNDP]Rqvb4KeJ#X,30 )xH^P+zU(R\Rr̊"uHӭq  aI9l1E3<T 30E E(\m9*7a"F!EjIs#Ys80#@ 9=O> U*s 鬂0SkN߳XA8*% bOR eMS eJPxz3O-K9),x:V|ӈT*֝CQոѠIt#I\suiOڊI\K/f@i%Cut??7QcF;`3'#n#Z n+ "( 5'+{ b=8tWA8qsSsjݢfg'JIB ɹsa\A} n=W+$k@N bW(DXvQ*kqL +D*ym-t7RG"1lrz7y3Ո\¨~4fRC"iM*0CBZX"Ԋ"̊br\ FY\!GZDDX&QoIxrD $'_W+jqQA\ 򣂈irWFedI5ǖi@Cc}a94?*@&KZ ;iT.ZqG\n,YjVsTK`D"FZ#2<::68$w95O\j@DޣN$4\j"1I i*Ti6јjc -\/Uot5bP]:96ujs̞@&[sIw%fEL=WbsuǧF\aI&'b5K.]8΢ED6WOGD@?F3:T'20A5]GdPF0& cD::jq=ԩqR7su"'|cLH3/ZjaEM"A0f.?H)lHy2P$D.5[B?29Od,I[?Eb\E@dIp>VK48'Ersd:C*>-5O&9=}@ D4SL>D:!YdyQ1TF bhfG*.bi ۧaPgdmox{oՏ% Ǟ.x&ӖL9f/Ak-kK׮Esb<3q˟حӼ_,[H{#{bn̶FM.=ؽaiWo_<'Ϊg'>Xd#.8`QZTH]bO߮Udх8~fQJtZ}洈3?{ʺ{i|޺'w˒?3iR\ŞN:waUuÇ쥻,N;0~ٟ0>Y.]yH`=sV@{;l/&Tj'{}idr}C&+ P946/zܽG_Mo?ꜣEmP.z!Ŋl =hT6i>$_g̕Ũ;a\Dg͌(5Ϫ~ ( CgCrf^7<3AlÈZ$ ye;wO9m׻gHlL_}mj;=~]>[ y hOvOŌ۔#j7j^Ǽ+/!Y:%F4w9[:>ګL~c޶PFi,YU\ˡӮmW*oV\>酤 7h/C+^dEm*_Rv{Q ʥc/:B]v9>~l/o⤥_nWHi=履mr}*=׼ʺ"lc/Lfz^h; Y[*1&Nn ʙan:X_'صv&\o{02]kNKn;GV<)8H񀁽..7 ?.c-2P6aC 徦7y{T]o{_8O͚pTfZ4y.4d{ҷ8$^tһkU)]'})ucmw{g?L]tk ;63q{`xL 'Lik4i^Џ3_xRQZpyok[x_j.ߺ+{wf89lwB֪蜁%]ɘRr0cԁ}֩G]gKʧݘgPdn<35LJItt?mu:r1Hg YXk]UCΝf.)}g4x1}Kk<61{~ 儈+!vG:?iܭ4ݫonkdYk02{1 iϾ JN+2/O~u!+"GSmcgX$lYkxO6c -mAO?t궑3[ڽd}8}^^yg{zǐ=vy63Nl ?5w{y5-jn&ּikjrwN_;ߵ6Vc][w1߯Rg+לM6G GҿQne`qFGnD9E*[9|>QhG:|J#+q+|UM{gnaea]*83 omqaR蜹A^_o\8vS[ /XvLv~9sc 7{ Ƴ,}#}flπe%CӖ/ughgSdv|+tJ9{Fyᵽ~rY{oWq1jvf;JZ'7\37XND_D|C7yV^!»oTT|4m}t歨Qkڥ|?Mlw/;6ؽcn|q\Tɔ6q[jsbRvXn3o_}; 2-=8[m5OVtguv~xuv1~ݞrf.k܊oϝS8aϵBZf6>~Z M˜<ꌃ 0l̦4UgFb-'3YJ~%DU~ģ߁'~na"6ah~cr~6lZ3׉Ϸnkoun>KUfű'ڸǬ*?b0 2PiPYeA9ks}ڄĕɶ?OUvsiqsQN=+<$fo*[M 2[NY6%Q=!TrtlQGG},)^/ )ܼ}Q9俹T.|99aK:;}eg٢:z֏i{^xp0A]wz͆E˻IMMk{'mICGÒc2+NIRzWךDN}0HZ^Zux]Us(&\^vmOs/:w+m[˾?>v]x׋yKsswtgQ]Z]zsWinko1 Kޮz!#{-_9uT޷n[Nrߺ_Ic{_Tnauu?.pzuByiR=Vztcʚ w|Oa:ۺ[1K=hM[]>}~Xp@GC?r :}dT8ֲ}G ]->v_%ݜ]Ͻi1lX4E@/^3JSnv7[OZ~1saGcY7KjO<WGɁwggepܣoޜ#s 6W;H2P\7ogx:C9t)8cW쯜i/~޾tޭK^{&޵genF6%--kaC/Ϋ8ßUu=Ѡ!W]m&n+ֱ{h;OvжCrk~V׌^x>^!ܷNN6>_v`MwͿN̢ʌ8o &)dFvkW}QDU^VFM4 zvom6ųmN]v.׿q}T{ Ǭ]x]zg'fYuT3J+NrjSvגWdgsS?qi2)^zwȻ qg}DYLXs1@Z\c6ª4mq^9 %z^ϫdӳqm)>+;ƾJx8RR^ڈXŽĥJgo%a3g$>)A}T(\$|h7?^Jz} %Q<@IԨtZ Po*&& yjS<"-'La ʰ_K$A!!ihT98W+ {%h$ Wi<J8aD\&d p0AdeTR:ZJ&|(Er&2).Im 5 ,?FXxlɇ(V$5)^_F ˤVG".Z5DnEZ72DQ F$WG/QY/-Farٜnp%$,RcKIpT/%AR1[L.ppL󆗺1tnNxB\lALUU3E$ `DmI!Y 0uiTƤbK\b"'H"'_sȝ S1T'ujSj(Uk)Oq1zABUB-t".gg4HpGYFT6OzX[#MypEaxiF5nԛ`5^HZ撕1 &)cKd_] {8ԕɒ2IFn r"5]R5c47:Iw".co4Mhxuy>Ϳo@OfgT-+ ;QcRQ!qٚ$%a+RUr_OT%'6ej H.4=ֿWzܖUNiw1v@K;D_՗̮t۴-YHJ>[TU!2n{C=FY(*&Rf{O Zfy( jcqJni~JVeI*e9;K'V^nN/Ej *'-SĤJ2MIt$r+3ĥJU8?Y$R3D,%1k?KIljJTL#ZxT )Tӏ<Sr%tA'GIrDhV%QWĝ,%v@ItVvJ5[IV۳ĉl%a$qSMj:Xqixrb,uJ:o^LMԩͦ F}LZ$)%LI-U˔DJ%!^$2W* J%$,oy&* =WIțU* tmڎØLZdCjZ&E\C! pޠ$lP7(3mHؠ$ohR7QCc襓^kQIpx}3u.[ƶVNjbh\eg/#4H 3OI) <%n9lRc7)J$f+|%C}SC7*MJb&%e*MJ"sڨ$zoVĒE4'v%CIP npV߻O 1..HxbA2X!&:ϵ}C+M˥IMhYC #E$]J"sXKI4?Qĺ=*XMҭ !|Q"jRHqڣ S Jj"3 enXj-"J-SQC5G04jPLI7""L&݈ZP# BuH5@%Ú-0â4dE4պ0Z=30 k kZ& EkʯZ/D.PޤD8S\5p$ ﰒ=$Q|s%DI$QS~/%]5̄%1@I,.PxAP=WO/}r@ُɒK݂2g{?rDEO?:rÿ`#WVWװ.brNAjiCnwҞWͱn)c6nۿѲ~ *#g~5}a&f ЎGw\[>Ix~LVЉsEOkx#ܯΝEfҤFr#Y}5U㟶Wi)/QGt[ ;2%gWuQյ熮g|t"n>NykCT52֝7 xqŃwQ/x$_“wGܸЙ%qV_L3hعjĴsk:ꞕG%!wg*Lv[M&{/{ЕZt"beuV۾|1nQە3Oڷ=ǖͧ?cy|N~9=I_.L8cThDfɂ1`#"9/mrޥ rM9r?&%~24>e]altWY :ʮI]NM)}), dK_;cqiW\Ĺb諔A<+>xޗ{v( {zo"5Ym z7{nxVLްwA/3 fn{^}ڋg.B{TEn[,׺ʳCy?3?B\Yݫqg_қ7tj9u3Mw=n`6{t#__ڒy5 .IZ|lq㹱ז*ocgazhj~b[ČoLD~9EV@֞?v>y`q]eyC|#<:e)Cɨl[ވu!=/ϴmG}_5`_c9sjg1cj;5 ۫:NOtxpjjevNl]Â{<n?(3~NaU؂/r~laV*mO;^+w-»+ޮ=؜{,V w)3LF|sJExCX%.'Z͚%Ͼ4"ph{9)癒{?=C>G>rgv~aZd^[FEl{s]4)O~Mk0xPi>~jK^qب\04;90M9} :;e{P*Ywf~]M3KW:"zQTM-3g͊_DY#E.>ozyl}o׮Ҏ6tgo~Ǵwã8dh΢#! qN^z2uSQ?a6dj"s^Q `AY#wl?}LE^yc,F ɴN}m5ֆnoK 3ŵ唔ggqOs/Ltqڶ?6I)xߏ5uoaʷCD_))S6Tc}zYRvڈIPYŻVY\cXUy?73k8"DW_wChzyӣes MhnQ55K=J+l7}w>=U/s˳'R}:\4pķÙݧf~Yt5Vlwwt(矒̙_-"2]GmluW57^ /h۾) Q?fAܱˇwͮ<2I{\LR[EWiٕ/V\>4[^8gN ߏlI PށQOrRܕ;f zr`Scj+S?XY?ǿ/OjWۭnYG&! .tkЀ #2oݯ5dv[}Ia3JoXuͺ1WGW^pOyfx#;;1<~럻ROFfݞs"lz*ϙv>EWNL:Ơ`GEtxG@䦁&5959$I"$, $H YDD(d o3>㮻Xk]Uԡ{҉^iRWգDv%/mx iea{EHM%@ 5w9s_y6?٧Un fTOUNuL a\iU%tZ휍DQ~9*#G;Ë9Ue2fkd#JeSl+'/Ar>L :4jՀ_L)ouq/RPGn&Z4޽Re\МuygWR{U ڌo{(n&H>-r u*O' E1?mY2QkLf;J=-@}Om+ŃuA7ܤ-!Yw.ߦ lx!u1=xb5w8jfsd1YkglKV;CdEbiuZCl`iT0,3SAЖ{s~_wUt6*Zst|:R6jhYxq#4ݔCz,U*le^96UWiPX^\jӬCKEn^1z|v471ʹAkLc?|ICTY~'A٬tߔٴByrUXN@P_I ԗt'ϑWd'N=󌒣@n!w[Dpխh@Y7T琵DK}Yk]_h,2yOk ͗ :oBaoOEeX1.& D${'Uó5\l,L|wRj>Q~,DOl#ݾz5΋T<3mXвK)UU]9i~x@B.,8b-3K޼.åsU,'E>K=JSȶiV1d+:v\8|C6}-g¦*S=j?(ʹ!wE0G?;{o?/8zw#Ә7Өg7V_z;>?_:)D`1&|G̣9.2.p vz٤\fk$5j}D}oUu\O>Za&WUFaV7..{fWq$v[I8ݶU8Xw<&YL ؟Avs?Nvol%|ao)?y߳mv6{~^->/zw g/"MOqҚp(1KU;c{v]uyv&:'#>|9q*`Tj-o]gn>. 7nUtΥyͯ"aeF$evemh)8J+64>!)2DlrܶLk.t½WUx)r{K{$RŚZ UJ& !'$K@YA4W'Oez?s=N"Q\VܞptgXՍkJW07nLF$֞ h#ɣ#C&ipΌ#갶Q;Ad.NKخT5ܸ8h]NW,Ns'.GR+/g)f HJ÷¯jVKsZCjwGBT_yfKn)aO"ġor.Ky bQ $bLf@EI-ԍ ZkrfdTdgc9wyG#V̵dj{ݧa<& 0ΡP}A.C?ukVL x7ǖc5>?{9KKbZ}M}K;B SV` zSq1+znbzJ-P{QwIZDrp6kpRvq(Wp疱_VI^?k}2#QVw9Hn~;"KV΃oD>8)C.@=Ǘ#$n~g>qn UTuK6INDw}X\謒aogu=^>0Uz>{\A& )m-F-Y堺&ZZM}flm0w*u1m)/q!cc.I=EmƈIWM4s&'X^y̟,ںǏbjDZ7-MJ}'잼<\s%s=$'~z򕎩[5egSboʛ`]_2R@v]7$ۺ@XoWENC&;'O XOP.`S}+ϪOb| /]5w7I |Ï'5' ܭC,gBY/*:“Q7> Ͻʵǟp#s\1hg~~2:g5rc $cL9YdYBكW}t[,|腋u3Yd M>ź60?|E8镌 kY^7!4vyF|:|<͊8kAR&#f2:m JV󟌝tzy%=r^O]wL.{EpqZҳ_=(5Y37 RW'yrPT .Ipa}dϤ:/pN ~/3p-U}_lq?5bXqKG '?9?)_9: ~}]$}]$urprwwu/@l/Oh?J~?<\\/p9&=u>3钷#'L zz_f|=]~ =/ǿi79X>oήme3̙/z?cAj|_|Wc<-/_ 2?w_ٯdufXM߼8t8hYS œW{l"Ͼp{XtUAȆ /;ۺ ';mk((3@@HH%@ 0,' Dbd@& (*ՀZ@ fs ` 80  DY@1I%-c2 CMOK%ZZZӺІӦfV6vюNҮnTH$3$ őHm>iDZ!]nd&Y,AV fr@!`:$O'D'ODBgLJGLJGONAKWDWLWIWELAGDIEwLGӋkk[;л{GЧӗЗwwя/o0` 88,6 -C0CCCC%C5C-C#CC 1 EbEDP( Je@Y\P(T(* JF2P_·wYC||$>>=>>K>'>W>/P(4< j.>~1) >f~V~i~Y~}~~3~[~7~~? L\JjFn!9 ~LF%.PP0phhx'0)0#.'&@ nB&X/B!OH# %rB0F'V-P%  m=cs7QBBBBJB*BzBBfBBB^BBBYBBEBBeB-BBKBkB[BBBa00N(,-,/&l!l)*$%/!'\!\-\//<(<)<+<'"!L`D"$ ]}{'D\2jZn(X&J#*ŋJʊʋZZzFƉffV֋vv.B"O$ՈZD=>јhA"ÈQb1XM")qC< hpb1Y1XXXXXXXXXXXؐظ،؂؆ؑرX!*-/."./!%'n-n/"!'!.-'^&^%%#>&>).'NGH%%0 i K k  7 / PTl< jz>~A!u- $^RH()-&-i%i+"&',!#Y Y$Y!(!/9"&)y, BJXإd̤,\<ҥr*Ff6Rifi4IZMXIKG:H:T:L:J:U:M:[:G@^EMKzLzJzIzC*ɈHʐde eLd,eedZgoCO_;~/>i- :zJޏutu C!Lْ1qO0y',c$ iR:=?꿕ѿ\QO?c_k_}??yc_=7ߑ],} 7|rLmO{থCނ{koMK?z]u\-+ r1drR5qgH|i8?&l1o-NT'h?aQ"׊sdDgjn\T[I]P T65%[5}{ZڪȏE*6| 69^ .@S]9;ݜ,g)3MuƗF22Xvp 윃Gk#Q`%#IaxȧRk^̣'|x1ȍ޾U[f] Vǧ]]v)QJvX}|k#7)t޺F#͐[m[9&Swu)`gD7IUdpp+{7BjXY ⤗sCw+vd\!;B0l>6"guG)^?w~浒TZ:X!_p#]r@b,E۞.&dyQ gODhxwum׎m̪߾PB}aq!W(&/X5~#eg7ϡ205Mӭ+jNg).6}tZfB|V/k:q|KrmPa*CZ(85l~sd&~uGa!VgURFコ'6|vE ).ۆxȅ ս݅w#i.0Dfkp}&dx _PL e&F>ZzX$eu_&roRͽ y++g]ٰM0י|0.Zc`?E}|[xαknOҫ|f8:ٴ%qP4bƝ͵<$V|HV SBA4U.14C9˭l%D,rзv1eXa9]b|J#/V;&::!K.f{єb雐v&Gclgd#ϫ1OR$~s$8g?Hd)/Mc'CM#'$|͔ћ?}j6@m4۲i1BU49Fjrϊ*wJ:g+>7 ^a`_tͷ8`yD;WTw]C μ!ݚDjIuSJpǍ)̰F3?BV5`wѰ{'a+guzvӷ OeBsb߄6mj^cz;pҳx? wO~JKAV&v^vn!S+BܦӕO5%eJ3sMu/( wÀB_Uu1qN@7T E7=>x{hYZui\,Tp6Fx({)OB/<Ǚ!u߆GӬl 4yS>BUyZƗ}=st)cnEAv;Gh |Vvu)Kֆ8k ;] >="('<<[ihrtB[LzUj|.U^;R .aw5P*n੍(td&ȢT,=_+qC׵3o8쏳-VsM,D6p0X.z"|?҉18jkl"}KPU:0\SC/JZڻNu}"f=Rj91\u =/kEIzi]tN]̬Ѹ|znC3 ;D^ǂ\/1WױɷLKmU%&nJȲO< 9? /Rv(aX4$3c3KdlN)}BJ! =kGիqITu5'0Ş/WpVsn#":TGk'h7=5v1Q:xсVx]XS_SNKI$Vw#[b)\&Rm 9= & ۞]?,څ>+qebmӤ ^'bMd'-&iz(+sl1Y:Zt ]F!$uu`?R[7m>5H_<wv08 'y&uC b{ ռCAynVJmÙV=]_y#h_ޗRthqWpL|7KJ~}û-[I1ma6+}/ -2ёwJu ԂZd=N@^zo6e&RG[I4>ԉPF9i+Ka~5ucf[o|с\{ee.mVVc3s)y1OҰAIŗ) i} YsBjǜ;zةڮrf/q[nԙ Q-f\=?<۸~TUiC.HH{}gW  l!{8wz8ɯJ-LGG2z"xڷ{#:O2'_4T:MCXz?=XRP9m 5j,mًnY/Ί9T9[pG[?2䤛gtj(zx<[ p,4$]gkp=nwӪ;=*2Y g}R]4{;ymdm]sWzqKZsBSbV=(A^cu%#8B)^}g'(CPJU:jӗ&53lUߞ}IzEo_D@Tv{.{D;ـzKQeH|h_R\`Yxg_E,iMljƌbpۏ3= #G Ͷ>:^_5s6Q`PE-F5rl([ A2v1~)3ℋ,T/M5/t,s";/{iei"zD^؉tmņ4A1kܯb@,u*,g=uƓ;/SlQͫ8\Ŵ+ yzUlš$NX147lZN^5+_|\\On1_z*9%?΂qoevzW9G=M@'d&i[%Q O-䑺ع+R@Tei߃Ol0׀.!9{A'^ʜHѹ.ک r4bq܀5:yfE87¿fOKkBԴPY:naW]20r`Ӿx+/`zr&M}N/&w`+-4%Ԏ9t/F^%t=푓| >xnc;Zah#s/U5~W U~|\ۍ~@ /-Dݢ)f"sTc"#&V }<'%Vuz%ợeW(߰鰠]iK3sӭp$StWot7 }~Ԋ[ h;g6\G!Oyo[} yy ,1&b_3.I-ouR;15Cpx'?۰/}yVּ}=qe|P~E]5a!ͤQ;g\_>|#q*yև6kk>er|slʵT8l:6cL@{]Z%&Uqvz^}c#lt~Wied>|`'*fBo}b*zj(̀iDiZFm{~ Qy)FcK;, .*-_;ȪRnWsB5ڔg=]lOu΍2*8թѰsWLDN##mF KDYۼ+#Q]gDn> ARFoD +o<ֽr!a(?CN`9a-aߪV@vև.etNWj+8MpW~@'q'@wt f=aK5s< }y!. 0J^>0^cZC#&=R!SEV![9!3ԧF>N[`%`}^x]Z||DHTVcrЪ# >bB?(@>Ei"o؟8=8bL9K]Z4:휖H ;>'>zO9\.d ׅچ*5FC)ڰOBFHHEK׸RrZ2tWeuwBP pb?.P=\'nו=4S>%oax ;ٻa)PByZ"Q(i~A>U0$1$r!'nVc.,bôh2童b1S=9g$,>=t>Ѵwg]]ne3nY7踰V%Ts*!C?߸`fL7xBcX dzCY m{7|̲ψw+76_4 t}RD:6B'iԁVKj<~l$3l!#|Hezzph!U/j6!^h~uT񼃞 7k.^Avߎr "NJqʐ,9 (>]uz_<3tC,ΦLkK"\S Ąk=Qcʦ&ǁe#aϥqD72t/bf#;{#s8T"sPM{ny K9bԅ3> ƕ&TZs5<’"+!F[qΜρR[…bFq2Î9_9OeAKԘ 5]Gr3Qww,-r 䓊 )Z_ኬ2@ҏe,> _~Dpi/m^)b8S׮ญ3ӧl$B.+Fw>^+н7 ٻ5ާv= n޺WdSpؓ-ShS)E&NU ]uT^Igw'4neYp^y_5RTѕ*Q~1S o˃.K3 cE=!^'\?ax&=5e kCQ;8p9wEJj'?ϫޯzXբTKuM o!n`ʖdžŹ6jZEFo33|[1pZGbT<' QsDpGulۗ7_9VҜpM1[<ΫQ/8G#۠. +{DZ |+`q'"Myf%ZݘL(\5y6Rث:L-!Í"Und:YxDvvIrx|˞6qhѝOLH[^}A+tl6uZh#Y&_"vjdW}ͬE#F9_Uy =Z1YMt6~w=8j G;:I?dbAVizT6Bm~oY/rYwm}]][>OEg<1TXyeX0}F8M9u}>,"w~O[eϛrN&MKhZ\kPJ[n-m4Mw7=EPTPPPE9DE.oAMf>)yơ7o޼y{$UߚQr7S -Ș;Wmxw_-,7/5$%=S^iSxh䊙 S= 'wӛf3{m^Cݑ݋7eW~~o3V ظlobJ.Yq'-X𺔸3ՇSDۗ71l_+ p>p1}̤7&7{g{/uvŌ~M7<vjS;+=}xp̼]onƽu#?"!l4Ծ}"5RgsZ~Xi搇?ܡGIq_vx{Aµ#xT8`:ӶK M[Y5C T׏N:GLݲ½rj+۵-YT1u9ۈ}~زl}yveIƢ2/_  &<嬃JLjC 'ùZ z e=UT< %"(y leDWWE"90XOWkCR(Z \O?oɭGasT3Xp2Sa;)Z+ ]̂e쥼P.>I ^3Y#˩KCۙj~uͮ ;bTD/'2YQne] Ys^RppF1aU2ώ?˫|wYTwWO6U> ' NUߪ|2_퓧Uj_U>yT͝k|r}j 5>IO^_퓿|;}jܾ'{k|r?W ;jRF`8e]3Ĩ; vJ?߁vk'q7l ŗ L'c䪖bMב9/' ^佬=b$^`jS.'/Rm] dˡ͕x_"Fvn%^m RB ԜSau_Q(8h>-WR6] ཛྷ ""bސ ]zrP.EIWDu iHotSp0A:QU+8!"1Q'7xNWPMGH6!2 `/;ºLC`)J LK0%\ŨTD11W`HDXhލCIJpzB,,z<^ T6ɘӋ<4d%lœ`MbU<K_>JWw.!ױH(0Xt` x< R)^$C~:H5SΖt:tE%xxIi$r j[ @Tb~Ӏسg5VVO䔽4v(T";TgH()nJ?6pfejmVrZ.tHY9EYcz/ Le(=E+35n+ :EAPBǻESU8X?_'iu 3nKYJ(pBt6WRRbɀdB`[BJ(PN$J5i VpjQRH my1f$s8,JpqjH5  nJҚ Cmf" r>VZۗ~Oj.e0E>"uO'/ɅK|r'Zⓓ%>dOYMK|>b[O,-}}>ybqWծbÉzv{_`j+鹶b,.b[tJ ݹd\P@$1AvIbMLp?|re>y2'Z擩e>94>wHȥp%5sC;z$ .fW$9tTZ v3zPcPO!?\d\]M j$OT0Hω,ͨLħnkg p!К﨔e\jjazˋs2[a7ѯdgdj0$`ǽPBAM[4pIlL Օ)0B)MGDᡤ2S,rlhƪJ$-JhNüR)#4{3yG`DѐE!q6VbjX'Q/TFV/1O0vP*^#19ࢮA"s 9 &)0 PuLp74JԄPJֆVXE2gG*;Vd"M+a2u0R06UEJљAP 8Y]ΥFr_$VMn_B-DVos=^"Me8!8ϴD1tr äX)NR6 3ۊN`IL\Iqijk:q$G4UߟT'E"K(;bv G 7 ye>3 >-LN'K|Q)Gߞ* (Q^`H35Y ia9S2Vl{i*t)qU3.tvWYGE%9e[Fhѷc D]K2F^ 8qUxʙTaR=@#je9Vv1zJ;<ۊ20'=zD˕ z:u?|DV>.#kW5LmxɀۖSY~ FQ.?x\?:`ih:9m]OA+1nO]xԶ)37<,=D5[ʴք#E\ۙjPREEZ'#@-'JCuH<E(}PތǮSR_xaCjUZ)cb(e. 81PK*]R.VĻHO3R"t;@-, 6tTQd"{AUA:Ev$h QuAHS ^mx,$RX g Z/QD^NQB)uc )H;8!h\T R'H'B9]j ̊&KX HV)%:E֩b"o 5)c9F0FBr\!)eVfA'^IxOڨOL)uI$A0_"R/R$*C$AAj=_ Jڣz%г!zYIŗ.bZ`1g1O3^F>ı*$dр54ͺRb vxt6u!ߴēv"vf2R00۰64Ta>cD2WΔ&Vu"F BtVdWQUQFMhs7<Ed_Etd"T?r$-:X'5! %^ sk?j@$##iTNrg*6,o9[HA10&ʦ%Co4(?R^` G֎Z^`xv.$t_@} ~/0&|?4/M~_(Yi63x on*3 AyMN +E=N I_5#iFgPP{Z!_Ri+:xa|a젰;T2QA9Snǚ(t_?B`mvղ>u40 _A{E?:.7$]+ ukv6~Hߪ-} 5![ƮڎXlCEZ߰q7l+ѣa]^Or`>°@F~4@K{ DI;h^<z=?T"aRI_)+vƫ2:9p&T%Fy:D댵׆ר!򈍴HY :>ҨIjjvϢ`A.56i(%rd]Rsq_P,w ?ADŪ9Σn0tG#Na@A u&AfH j:VMeeȃp4VŕN;RN%!j$dh |WT bg$BJvdDQ@`$e?Ko:dѪMrWsP;"aWfZZ)Z'5zB4w%wk:0> ?ĞFt'U8tujҐ¯6VT- -M/y#sGPzhF[z^ֈF҂dQA9u" kO^<8;o`HC Ӈڊ7k#jnNvtae ʵ 2 G"#36zdv:,[zxH GPsb G)3T8bxvqʣ"lY̗3 0k=lAV߁xw.rajTW*]@hxkt8F{)&XVh^lo9uh^,<^)ZVGi jħʿO24=XP3~C*cEUj2 ˔BNU &c(rfӀ XPF*i)WelE (q~ep,*^W3B ;RBz78w9+NH%$^W)\fhTG%] F1)xNdEA6 j$ʤ_@MthG[nʁ=˺WUa؍:.}b RjY ˲ վKM S_^[~b\axe}jVO@A!vCZ9_{ #_|[ 1]k/ċw'ue[kvqQ?n8_᫇Ʉn_e Uvv .Zh1E,t1Z M۴?S\)q'9`1D׏wFn]b%ͧ!i?\Wt:}R=~Wb{A~nvhmDzBmmk j)/ @/Jx@ā!,ք/$< IKj(pL!;\@a_@BRJw1)!=!EUs!(wr(aH krZ^~~9'E///__㗧ˍ}~}~>>>~,~m_N9;m{؃~9_-_q/_='uK,gM\z/闳oʟ엻~r/G~-,#<{rGS@nj S@~ * QiT@Dd 9s yf3zF`´,`bN)VYҬS4!r#8!:Qa ñi*`+4n<5S?4TUZ@<6:@A&PL& LػN(`"@ S*f z i,$::ć ίO3TT|ӌrORn{ջOzFfmCrr +,*>bc͔: .7{*QVVUL oo7 ՍFyvŒPD f0'`N$i!D Dx Ad"d"d"A''H@|gş[m۶m5jԩS.]tt SLmO=RKڞj{ѥFSSKKꗩjt`jkjkjdj~N:uҭKn&e% b_aF&M5k޼eVZnۖ$۵KHСSܹkה{ᴴLm!Crs +,,.9rԨcǍ{Q*)i8Gʚ'O~)SN6m3{^|q9s^ye .\xɒK|sٲ}wի͚??ϾbӦoݶm;w޳g߾>rرSΜWs~…K._rڵoܸy֭rF~|a@a@a@.k@Nր;Yr[k@nj Y|%%TcؗLLVt)gjnE˄Z|tYW̮T^ vá'{*5X9/,j̀oI0NMSjZJ(rƎ[bY$|cxӼIa ob9NU =NA`<ڃ3Qpt>]fWxRbK`흠D_x`~Ċ.hap P…e Zc"2G?F #CCFH2! CF=Wϋ":ktяDo۔35~i A?^W44-+]d^?Ch̩q7-C=>Xj8 "n^%S34{=xDtDO9VDhT9Y奀)7LÅ35I}Vg & 'xKt4UV=vC;xǫCjRo,\hU#AI?E N{=!iB:C!FمRGzz=jFp$\4hgz%# ьDF@~.# 3r|( V-]Ԡ-M3[IpE)L<&2*^ -Rʟ@}I\W%%T BK끒6,ZB<.lUjnFQTg#R ^ѸԴz z (VdEň"~;Tƨ'$_JV3rgT2qԬ!SoQzHHORyCD?4BhwhIX!Z`n: Ode7_P2zy/$24BTVQz)V({cR^YRCѴة/Ev'.$ALyk('&PE)bBH;K\l@ 5T pi.a9^jZJFAaDEԷ"{F)]G.Jׁ PmZKX'8\ y=zj{Ղj86nR]DaЍN,8ŐUHzEh(HI)Jbª#ֆhŀPc04)ָKxsC^<05FJ5aa2eT8YEv/\vϗ{=xP2 ]$F?t"Ȅ ;kz ktP qxPI{=v) ?&1wͤ!W,owngo[}z\Ȼ_2R{}eC1Ͻsv l&`ԁ iˠm韂-g]o5~g8w9t.eO3湒ێ]rF^w~|l%~$SgƼ1XohnbS#Wb8ȼ'@@:Px:~/枆9?.lD] ط7Aw9|]t\v#`I{yփ߲Oo }ꝾU0杔WE~8i88RK` -,X箟?~|X!OWh֒zo;G`ɉ-:(o g-t"p\ogGðd8Ғ&9/3ܽWJOW~}4Z]`knl<1U5HpM@Ӷ̭~S+ۯ>8K7r K$`Ӟc7{]9g{^}9??iv x[IU>>^Y4~ӾW =}mY[\sY7-6T4]Ҏr;-J-m-u^X䋸]#o=sW䃻A-l@[jl{| ~܍N7~ͣ?U}gj4osxZ{_6y0k4ޔ^q3fy-f<~moq o0mnqzӣ|] X>XIGO-l^֬ťZ7s~w:iX[;oorcA?Sn,x~(۳|+AhÕ{jNPcj[n-sV<}VM:쁹^c` n0k7l<nIsaKJ;_am[SRkw{,w^ v/n '!G~7p 1CaG^%߿pMWIk ˌ17ΜYK[-ex4JoހW=-c=YuQ+ƽyeSw7 oyuѱ/!1M?q13pw~ǮB$r/EWf yviR/N _`L.ϡ[}^9e&݋-Bs: L5~^<>'ߴcVowm,x[^0t ,Lwv7X ?}<<GN|jS߼mpjo߿'^:#x[b~M*ʣ#+7AגZ m>~Ɲf_j۳r'i}ڜ5"xsIs8gԻOG :<3~<r>~xsؽbNҹsa|xOv?c=|uYʌ-\ßpm)q̯ 7ЂY/Em2<3.xqUCZNjP ׉9LȪ+\1UW+V}X?>~6,iMWv}{6?~_%=T݋x(|~ȂF~C? ޲lʀ|xc= w8(ޔQ>ފ;v)wNΙsJp`'ô&,~:6x?YzXc>6$ |per{K|Ƃ3{Ē#a-? |~#˺OHP/6$f*W2}Wv;2 v~>jpuc[ R]o+6_>RMg9a] 25+{ힰr6 fMOMsU]UuVb'.24mufTN+ȲBF|&_W?O7 w֣!T#W&=vn3ۭ cČ?-2/j54:? y#9f7nh>y։ /]!Mp˞[{N^<:m.[o6D5L+ʗq\o^ iG:偟%48⣙< u™G;3jD;]qRf PC&lnpGBzV!z)q/ lO9i?6o w'Btx'cwczoyE;ضD +f5Z;n6HY|`Q}.4}  =c]ͳ{3?y/{ [O~~T:=7&7V3IB> O$xMP};Z}ma&ubϤOKv.nM}m\\u0k8#03V}{X7*GfRy/ku"= 7EgX7\:#<?PXCֽ0V ':9q2N:0)aPw?!(z±l+fĕ%S/~y,{W_(/{5 %HhfCO/EpcF _럱;Ukњh\X33 1 &E5Գl;ˆǿzӟ~ʼige]cO=zkƎe0F3ޅ1k̹ xCLseIðuk/z>v@TǎϡШ}:zlVKzʴ3G_W~m0h>/~[>NjW+/ZƕɫpL4p=ۏ cw׵ʦ]ZMͻ6^ K zڙ ';gk Z7~55-{/:KֱS_?r:Ӷ4}B8vrFդ`Wro+;,G I~kJmDf~1`]u6[9;PE0An7Æf'l}zVC{XX-}~q=&l>蛓ӪU5f8ϞpL |)dۿ]?a{X4>ރ]?v8~1 7:+q;ּ 3[_+y>L/o?wwC 2^oc]5|Uapo;͹ ]5+!߁ˢA:psg f~Wjvi<l:2̏m~I9'OϤ wcs 7X5DZ=C^͂·".oy^ZE+=>˅VfaZ| FsO7m%`ʑ'[סּǷ4Q.+Xck? 89=#ްAGކ?/{?ˏ.x[Rm =-mf Js{OJL~]7ڵOi:sC89Yt=,q6O+ZMou#'w@=wҎ|⹇/~;=}F o]m84$ʇހԿ?>?yܼa'è}e`_?>sc0ϻ7@wT ۹~HG^~hR`siפn^e֍c'n}|Sݟӿ7>`̖Pް=(1Un;fwﮩ@?`s?ڗ6~W`GͶSzހWVu7 n7pxy3/^?7@ְ?nd`zt콼껔G`imm'*.V7=O57s8553S{ⵞ7Ͻ k~CkZNv3Ľ3&҆Ed͚ʾk>v"I=!R}ɮȾ-wd'7s>Νə3g^sfpޏrQ'F+=3NGw0vQ-PE>B' וڕ=ǽdAֵ r-3QZ ;Eo?aԊ~Pe];On4H6cX6>BfLt7a1& >v__@ZbmD͛DZV1~/>!5@8ofHT _e ]iXG{+6}*E8jr9Ӥ}C218t*cJxhHA:b<w%Jչ\.!t&6@3HVnYx Jc[h0>}F^%::>MnuGӓr<˩j0@Z@($m Au֝A Q1gжaJ,ɬSvRzΙa fc/EQq.Ϸj*5o ae~-a0Bq7m^xH *(" j,a3nwjS%.Mx܍HO9YT$S3b Q<g- wrj;,Sk@q'g2\_//RcƵaCQ`袂 [_ȾizgqxzۘF5(cꡠ2G^adFūrj@}>p2ac=,+wܡ_ o=يfdz'՝ GqvS!6/Hi򑁍@ |Qg42̗Ȑ {\I=<8 ʷbbox@%Acn-hq5D$t(k:6NT"*T%;_D]I7(ga:|&>Z41JƽN?_Ǯ?é$ŧ)vՏ!q4ۃd@ĨڃNMW<+;ۆs{rL 8>^4nݸs'H}=)_<Є6U'@Qc.f 쨱|oJ> ĝG &5 & mړ%HˏDyS\}Q[t2f-@Fc:}^iUIǵMЂ|ɻ`>uS4] Y5H|F](QZ*8+ `O`ݓab{>X6 պyӾ }C~0f;duro*!fu4dCkcص{s@m)*G~a4{:Mt_H{d&ZQjG7B`Wz*ʭj G[1Wߢ zJ6Lw@ז^gZjdeSP%,|-8TU_ijWi_ss@.qٖ=85U}Hn;J$A`!:%urJ!DLgn}N)Fg]9q t|<ǗOh? Ro&my&Zx➜<3-xU$ dA U&F9`"s`==䚤Ȩ }ݗ~mUZGZ3f6b;j% `g'g"uz^c 3H noSt#enN SN,nYq~rM/)Dt +CH ]8H@q3ōk$?{=? A#&Tw?8fOp|W_BhtC(l˘>\F5}챡b -F3i~邏/u5<~e4#;,VJF%{4`?\ >ǴG?7Q9Pm&C]Ybw<ԃǭ&m- f-1gj.qZ~ ΑN|ʜ`fn쨚Okt8|,vrmAԋ߳K`Yavv Bq2'V^YjGW6kRy%%rrkFnR$y!?HF^C+7##DueQ:lZ!uljniѢ@ /ʳ8=Kӭ둦٤`+xP/유6(xgDǪ;>ྕN|YNJ~? ?Ŭ \j CIT2N9LhJWL,)XfRյSbz6す[WE7QPj申f5PKva&.`XE㍯a$gialiUjv\Uk -e gQ:C$ef/B{;fcLm:#ƹ9@>=+r^Wk'- 1uHyU۲Œw8}37B@jKBdKFUa['q|(sDoa"z?iWQhG*.z8}ku3j;nˌ  ])M}oǹ @^m}~~yFᦓ8# |Yc5P1|: < 9xbpJ)D|t,UG̲$z$f.ɚT`;w! vυ*/ޯgI Lt) ^g)vyJJkBB|۪my ?*3,GmvFT^-s0O?M,Cj&,M.|ێ^֟аN9b6o(7`(x=v!tmL܋}t?wײvNMUiKO< ;o!+cZCB<}~[g:9?qnoϭ2w!"p4-bwso=CWlegAo|tEIHՔd/}nw<_=_rin:ӽA2. 9jev2B`vUt&NMPGձR/.a~ܫjxzsN[`H:jEag&bv?av<}D7ZKcX[^I9K_{>Jf*DBM2)mHem#J/^n!Ѵ~& %V$>,=MY:Ş_Y^L=sy+r(C83쪱%h!747}޴ZM+OzζxiF铨͟ԣ dҷ-#VN$f z˾w ̓NovzZ9f~(ߛjБz.dQhHdoOgp]jQ I4w;ӄD0w3>) {w6=ߟWadQ^TTvzaLr\5G0m{ fvI»<1曾FmP|NtƉ ?}]  \tUeX1lzە16//ۢp!xT?$eV@wZ[\{S&(T݀vl,8Tk.,"s+qt|Cq`&T\m8jAQU!8?SlBwq;}@ŲUI^ _}p8LkESӸq#]k(MV(h}Wȷ> S < mE%ȯ ~fz ![{z8AbV={=takJD8.Eug7VGq)kQ5f?u/O p}T9BB/<_oE1:΂L0T5]<ȋJ?\r;"Z@"ޙE$m!rJ( Zր,fX5N$!Pf-Hnuoߓ}_7&Xw喈89l1r0DޯѶLy|Eoc7cԭ`jlZ_-AuS8lxt6BF%׸ ']}#Ugp#㐃"&v˧%:@@u*J\kq&@z83ϾW?dPXR .S$*ݑ 4O|AE_Z2p(4w U8pkv.A =J!ARkkqf6;uދJ 2ײ5Mq+ M&lSQu"uVwiM;߀?NquCSN>.7ʁ-ko'mi \Mֺ[sT"GM<͐63AC!ĵmqw~"bgkQB]t\Xl0UR4񇅖tc,=Q$j!+vsFAeGE^ k'E`OI RvH #1Baۘu{ƊK?$QF{]#z^454F>:;~jPnuk~I }-".5?07SA/Uw9 f!>w7.rٳ1\z_j{Zk(NcEbo}p,ù;ZÄ(| oRgzLPZGyн"pŎƟi(sH$af{()\Q  ݣK#E?yj&=YǗA} QiJ&6pIe4.6ũPj_GCΓFxv@=,(0nsF3pQ|= (%q^[D}.xzWІX_~ tU n&+E.F\Lc JvrEgETD6uxx|9L[8Bs{,3sޞW%B-mnZHb_?MOF{ ]Sfk I\M=Ǹd$'9DMk 1]#D_dpjsUؚ}4축ۑޔMrL:r.a1"/8EOH8JAx9|^;% ;* ƻqv8%H/?Bބx#YlXhWAuB3"e{jAnRHywJP StYD>'(1=;=O;!J5$XWsV=$ϕ^Il(aji`jdgud~ RU!U8" >Ӭ{ 1cʩZ YƳ{io`I\aa /kz]Q؛{*lT CmEA7YۛBgrׁpYvyOkeףڳyxUJs"'2URY5[,k&Kkɕl\_b:\LjU.``(f ^5vr-c髒)+̱P=8M ռh5r'҅7=ISTsG4A0sD*jf^P,_NCJ#rG]90&%2zԛsZ-mH`H"3ʸ%2Q';$o\{ʣn_?Ƃ9:f%U%8.]{xޯI,]`QP2tY?rP!q$vM횀NE'}{!"e9|8,Ŷj,ZhL[a5[#AW/%6F=gіK|H^YIW_gO{궐#H F LoUp̓LO%~*ASnasFVv#PZݦ,1toƔfQl)ySDP3J/{D)D =P/>)S5De{M#f:y3ԓO?pMZr{X>1ۧAfE,މH۟f8SqyV/Nۻ=hh017 Do8"&#BHʋ fvwަ^fVߠ\4;%5Y[̤ Lz>$˟cɟZW> (&W˼; MLb$Xah?Op;BZ˗L$iqބIcL<;#DyӶH9 ~4?j%^0]E|N;LGA ,a%8hbLbڮ) V2_lӐ9Ua1xۖ9mx n|q?)7ap i1kS?EB]}$ _"c 賌z>Sgy ҾxFI 61b_\at;O^3W `oYY, fA߳T]rrߙs #j]uiAߩ8Giނ#MCvh ]4C{dq*1[T@*ݨHuyf>xom7e!BTc2Q0)}*uQ_Ya :݅O@7x?[]"E?X`vkLu8xRy$#oR @ϕKO0_%^΄=D4Eۙ㥣ն/3rf(#AH|u6}eLFAreIm#Byl3mW#To#NbՆ/]}T|LyDX2n9ySLVQQm0g#;cr5kn Qֺ;njqt"H2>QMnebrwyQSbC3y\M2gk@S)wϯ^tF;m@H/2~6~|SHmKT@ZD^=o~]Nk]H < ,XkDC*=5s/Y1Riknbu#Zble6|>?R!SWlj@7w||"M١#+-ȧs#='{6v>O.A?Z`7PStA^:{X f%NEoϫ)sG1Kj@SЎظyS;h-ԋi\^}Ʋ~h]M"ï](޺M Oq}bjJzMӷMAQ35X÷u3$75>rWKnTä3(N;zz|q%{Ilz=FJq8Up> $بb}x•nR|#dïZc*llmwHӁĖ{q(z4?6/14J>;İYWVCӰ7XC:u UB,l" {í c me%:FCXAƞJ*V u0nؕĔWkɌHYV( >|?rn-ࠝbO -IrxBvpʫU" Zúh3NŁBߔI+"H5F"n:8&\1aӮDM_SqanoP&+;wQv7-tY/cw i{!O bZ ;4ʮgc%ΚD{' qWɟp ILlcE|kJ2jcI lhv3!߰E* v$T.bkFq:t8}ӘUkrI^>?&I(cX?QU^S&ȐqtڅM/֔q0?l#"GRbn<"^)[ @'GрH(f'Qn^5߅WKϲu(VLǥ̕ljwovSu֥LiɣyƩ4trd5m<^aBXъA^2@)t6 Z| ٸXx|ek~ynY#J Miߥ{턔p(4וCq:x.T{[O5= Xa*o lج=4\ MYm=~E.˪/{6cU&MwTS<`ь((%ͽ>vj;^Ysy!X7ݹ/) hA'[jorac" wǯc^cnhW dJoژSLbA 2".+95x9tlqC4AړA눅 >ih-ܓ4@o@-2;REױz.s_JV3v?b ɢJ'IFva+8Y*-$N&Jq8X+ܥ'D5ięl 6RĶS>H\d?(~zBE)lQ0moGarh|w\$)Jn9KºxK1x 'boEeWBv&q j6b;( ~Sq1y?4^,G̳jQQ[4q{P6ΓOEDx=K+*Ms郪2I0*7ng`Ήj9Dx(~9ZAUjḬp S1f*1 (]nCՓXnvR`u;3} V>kN!B(p71W~"\}ᥣZ@HKfk^N#iFa;hg^VUu?XwB?1& ٦'w1i}SdBD+%<7"'hu5|X%X'D:݁=r K۩{OSQ^",:ȓHKM4廴7@ES_opb4>ړÁywf }BYQ DD㟾;CM,SPJi9>yU)~yr{?C_Skux ([M<3p*ӥ IJ.EB)I s]AD;rY'9|ȺQBDm -48q0T)Αجߤ4MH"D_lv=y>EZ[. ip Ŀߡdg4HhtQʖy읈7g_9&OW{x'KVBen ͺtSl+4U!&P0Io3ˇ!򲳾#V9~ qV7M;-QfG@wӥq%X [:Ŀ[>n;:mr!6 G'("(esC<*f&}^;̛&iv@&3i3@b6i"lxnbwȣ&f6ҝcOx@:F5θWcȒpʧOቷ>[*xס] `(> r!4zW* 3{ftqSn8D s!_:tF7{@Fj,8~e;nmsy$!\*o7z3|p"'n*,5QJD-ÄXϭtV'#Ў"ȥ؇x.Dۤym5yۂLx 2𳙊&F?ߵ ~V^/Y|r ;֥?A;"C i 14?s#bHyf6#h֢3FO i_JqRt¦. .K?ʅBtu j<9>:f& ]EL H܊AOMN?R%NHؒ܍6E^aTtU#W\^gez7I{KI 0a-j.cI*m E\ܔ G]|5Hz\+uY#_~F ?Cu64LĒIdP vwq_Oz]<\FK&36~*Z CiGt&w{t/ ~ 'L*1W6Nwل:ϫ9Ex$%3,kK_Hՠ.D4;#-p4IHƃ0&y TRwe6毪^pOP_xI,0uˢ>؝9??=ra& _yJBfU8SS*H`\?3- 疇nQaL/4;o>ptƉspf2>:ӥHdG6ծ qzJ{dypH(W.(8٣׭c6fE)nʫ*xv){8=g'fI/be2:)1sECU9GW,dZqR sİR OBϐ9aɎ`uB>䮽:{./\ҟ2z|L-ʞ p*4()7X2u6*w7wP÷_Q XY-8a `>[,YpO'm"ϳ߬ť UOPYE&oLyսO{u*~>x fTKb/]pSI{lgэOJxMx 0˚/*_I~ ?;&*̄\m_ʦĜ C}*1K}fQS oQЭ\捅hεd(qT2~VGYjV$,ݸz# dI3(~i1k'R2ӯ-gͻ- 0hF!V!4)U@!ر$|uH ~V& 2i;zƭѠ뗪ٳYVhcPY'kǎq:ZD/wuA n[tEtTun߷Pܾfwi&oFXSHhk0s!`~4#1F~9A՚ʇ[y骫AџC K"E1׳I+8k{5>HT3+ՖZxiNiW0{27D U#u03nfaIyRm)IqE`q '],^?U9 WuE_Xu#;~9)ܗ6Y?uGwQ79YwÐW01S7;ir4>ϵ*Uʺ#PMSU:!^>¥+WH8K3A;JE8<; Yh<"ޠ:8Hлs n*&P /FJRB2/bC!vEK dDi(RJF) hD%Eee"iPBIFCCSђPJsϣZ61UA$(݌LY"SqvY6CxwDŽĔt}7r*בD MfwlikJxoLM(Ԟ k"5G!H6%=Mn 8zLsO xRioi^ĖZ96ѩvޓ~44w3"p?×]L[r nĖȾ rVAl&כ}0! OWw҆C(Lk,f9RPm)cxx?@-TlB{}i|Sx c!rv/GU;_eY)e =l+o)r>IHߞСQ_Yu%*J٤jZTh8~˩h1^aK"iQ(PLJǹ\IxppsKiΗTzO!,$+bU:`a߃ƶ#+N2_շ "w(<Ͳ tJ]k-$9~"DD\4:`>7䒘]kԟ|e 6Z؟1£O8e^=s"[nӚ(94"bjZ,QLOhzdyiykY;[ O|9b~rͦ2zeШQ2UEӡY%FsPr$~%.]+iýq<}v,ZJx}xBԫ6ͧAC$+p 0/f1ؙJwrmZyb߁p7@@-T~ pt&)r!2w8CL6ulghѫ`3,հJ+a~~!š78hnժg!uh'y8Ųif?VM'ڤ/ >%kij#uR9 > t㌋5{lna>dZn:x1bKbcp 7YfQ=I,>_O^Эe%->+WNb2j,Ta :!UEuݱBmt2v.A4)rbNWT+e"hߟ\F/X^$T-+SM }2(XK۔ڨ٘ap6 ~ӽ_A]Coz4JKx]/ plLȀRjqtp#ٟ_ވN7^-1g }rOƋzRlj@;=hii:;4e2,ZQߐþGx,ٻ7!UpFXu9faO-. =%@p4^^"aL2SJa{ -Gd5O!ѹؾ9t1%2t gc: ;S*sYFb}xMDl eIҒ#/q?%tUy`&K4Șku]^,D^ܓtBsh.!XHW`軄v".Uk |F _G-`/N& 8%1}Gd(ls^](k!.zCc! /#{||WYdO8w>47=sItY ۠&Y<2l@ce)Xܙr ~ِVbGTo~f[Z7," Hz,8іf`H}1::yh`93bf6Icd`B.=JuY[‘* ͉̈5ac 7׹N0cw7 -!Q(B13m@Vƴ0[0"x(d'R˿FA|wF;ƮfiǓ3e.#{"ZÅyw0x?V~P>=u 8K%pvQ˜ lnACQ0%)nl 4bj1pYwD)fJkwW⩻j6)oƅ,(yF;IN4+i9 C[\"I3H72kEJZPiLu׀#3BoXi2ƨƏ8C5}/^̲RA[RUd~UT~Gp'5䫴z'!uD#3ٯ{B7X3>ql01: .H3(IUK&KUq\C踠ٙ^g`PdƔlс\?TK#%BhfR"'yp:ҤjXAبrPJOMCAk ~u.e%њX/8DOVbO1N;C52}Xyƌ;B㋯Ǒ!.P8W5rcy){}d>5&ORnmb]&GfGE 4N#|{$ς ۙk)qWІt YU^/Vz7,?uaiƐ)P&.8EmQ^DmsP]qح9Ņ&6f:yu(zeδVę.q:ȣ]X,'7!(㏹OLuSP8yEYƭa>C4Fc֋,~y ѣ'iڳ oQL(;bhc֛z )&Ĝ@_k,J\ğĆb==c4 mJώoܺr_ţC') Ovm Ԉu2\%j,߰؜D~_ɐ8H<ddPX_d^xea$qu&wa5r0k TLWXp7O)Q]5"+tі=y ڨ.AXa~'Nbʣx޸8 sNG)" vA-!BmI+ Ś( ;=7gwj!ƫEUh |o?bz2>i7*i> t o/bOR"Ӟ9ܦG|ſ٥]:ʫh ?sZ@lB9]~ӆ_^"wˠ5ѯG8naړ8i.<dڗ6XOmf`xY2^ΜZM붡>Tkoi(<rXdg3=p+aJ {̡W2 \B h~16_4 tqLRw`oXJLp TI| oC7 +"SEt}U:7<*'[=JYE?N :j3 UZ)j^^1µɓɱx& Vc9ώѾD=~y 3U>}/A.%g]4ۅV>Ahxxf-"'>J;4ҏ_+ #9wjqwL%Y tmV;%dB؃ [LsEh-6AӮ$g!q[+dSfg@ubϦ*IGX]clW̔o S}~m6GٚߴZm#]z­xvu_lMzW>"e|f6FH J $duφ4z%W19ccƒj/dB4Oقw έɴR=jXtAMIIyH媐A5Y Z3}Qk/hJbzmJs<|y4nsxAEyl&*F`3^;"|/ܸ~Hӿr;%فb 84{Ѭ4>vV 4`0Vae9:tC{h͠GMNbiZ5F,ѠM0÷^bbD|V@$)tFSՃhižAuv\xMdQFlv[Y"੬= ]c *QG$Zp< e깲ډ&ӠMUrEeg/ XF gHǾS>G/M=O#ΨQUU:<Ö~v?L20t"g JpY~Xr&M;qJ ;k}D 9rr7`b }/|=fa^FkRx̫"ݨ0oiյ,JshobR:8cM_6vA86 Q2[q w~ˏ`\b[OǨ򩐘pմ]D ^۟O,8 eICϙpՃ'8;M)d1ކd33PW^Tf3|A~z4Gr˜zf|0s:W2HD-)j* UM],e_{ &bS%d)No94 @q`kxcNv<=" 󥚔CZ¯ơzef7yt nB9L)R,Cy Mr~`WT0X޳HŞ(g^BNn3{'In}pyK$lM޷xYy,;%\Tӣ^R|EHYf#n$Y̽0.g)yQ W8ʜ \ڋ(AH}>u@1J_5:pQ:LL ї$uo" { ^.a;fk^M~TN3~'UqYG5҃F֚xn7LV.iwrm3Ju픠4 {':GW O;jϰW<ӞOxe?,8Ou0k;Y-H=lv=|¥үqQy(tp(yi ]驅%lui3z$2*R&=w|ni,e|H/w7М8ըiYʞ#MIT㳼=_ mTHMg_ 4/spVxܘ}+d& ,԰#ysQu6;t׶IJ)Q:ڶ,.MHI2l8cJ50"ԉt!u!4Ϥq{cr3zf7S޿˅|W5V:|&US<03bi**Mc N#Ͼ 867ǽG2dEK'quc\-LA٣lV`!Efj冴z6tOf~~|/#ǙȮ*Ne{[]lJiX`lFa#Z|KO_z)^T 0-YJ2Km!$9Ƈn%d0 㔮Dt~ __RmR:{6=9wIAƕIVC2aY{FǸc}Lh<5ie]sQ!N>-wsZ'ߠ'K xLiW/i#x0+6`%357pzEDu *c8W>eGu<]S t\\ŹI{7|dHhQV;4yj Q}&0 9olt,NejzؗDu}E>N9+ ~B~ď揻u)( Qtϲ h\R!mH7L^("lصy({~xݔmB\y  NF׋p a8IVffL%tu{#tz6ͬuxϘ)Ї)H5nhm߃$sO룘q~}5WY5>sj;9~|Sq?E'ءyߴx$ay3)05~ ![ude? Yuc+O*rpk>}<ٶ8#%4l>ZsO/SV:CUwڝzۆμw]fv ip869UEhh;[ ܹd-5 "<٪4F/|OZ1ͭy DXarcx35q79|c=/Ѵ^5&rZЭ#bY[ Nl^Z i yhmk)L᱇Pvj %ǡE MT鄜!O{ZΩ<邯3+_ӂo+o󗬄NJԓzV~Wep_ӟ}s,@uJPj57|O*4T+I׻.㹝|M5i<mT9W^ƝEp86NjBI)܈G.X2 5/` ZH3i[&u^ 2{)7D;;h.TFNg1[QFG`̿(i}T{1ml)ߢx$jʽ% !}멁ݗ$hU2uIsj"]@b)9>yʗxl=J]VtQ˞ߪ<`jʷ%-F*9y%a` LD*I{<|.ѕUXp\*#gj^ɂqn\xGfs⠉?ٌtPnLSG-ۥԿ iY>gpLd0q9<ī(Ev͛J]Bn']aĄK&a8\1\yMcL"ڟIMX.CUyy"$4+_L=Ji/Wȵ,ӧj)#R1i'I@gd [TCh1=?fݡKdXFG9/| ~G4Ġ[I3)#hb*.I;_̧+93y{dCN̹R/ z!(ϩagEh,NXr7=;щ"P@]T-}.cl.\`|b.8 'sU{K*>ei>z'% M]JaAX w$] 4ncḟȢ7*hK1\&mfGNS{C NˆAEz)a@3(.zU8؛́Xqk֌pB63Xp6~K)zٟ1y.`1"?L—Q.mz.&Gc& $ܮy~\Ū4ndJ:Hy>{qD:] dp G|n {":UzǯߊQ+ˇSڍ RGpx_j~oedifXXW眏YI_rF1)ux5N]t=&x؜u:Vry4(-=ER3n B,"P7O7Au%=L#NS'l uh@RmeZr!/a$={ m_ǟ5̊TЯp.j~+оTj5`? %)5ILnRg z-MB,?Q 5?{L"6[Bz?ؐCPPN+BPt #GS$(=Ra7n 4{L)|қ;[|#ٰ|O2.ˠ&x}(:'*UKgV#sQ~Y["1-*.C e-2w?4C ŧ\l)JKF?}H&aeΖꆅoB$6Oae '=L'q|e!36*gCE㿵GҞ;ݟW]>~n Jwb@vqi)f^ woH%C_p*[tSRHw?N!3)5K>pВy^dCfjګOdҰfC#P߻yƷY\$dniqT򷙝=A&+D$Ψ<|r{TfclƵTiȻW@O[|cԝDw+x t晱Sm0/PWn*&$ #haL;^. 3Yɼ_4[K|iEX& "[g2WC鰤' i"8$8ҟn˓΍w:VsX`zjNӢlklB)Ϡql%[O~QMc~M1Rc".{ȳwhPB+՛d&N&?FK4pF. -S`2D?#Q1q0+xz}y.Yµwu 25,E24q㇣?zaek=Kg2OWWBGҾøXF+yf%Sݶ eybK\:_jf| U@DwR)EOiif=$ gH6ǒTUxĂ"L2MúG!Μjc'p~ bJ]?SVOQMRX;dOMJ[݆l^Rpѷt9M.BJ&<!):¿ZQi;\QZL;c4ф><ݫug B¶S (QUT@R=yտjj|x(AF-OnE6K>#hU ae"zE`r=C%m1lʷV2a C\nΒMR~tQlerֱC?I/9 fh:lO&p6N‡7(9s2Z\¨RnsǔޚG G:O1TšO^Rt?,Sv^ fPŞ&QT]u/;R^wt Ivm6~/ǵLE3^"D}7 ƺQxyj}rH#1RRٶd*mtIKצ5a}Z򲁦ѵ2O*Qh ?و;?n'd; ;m_} #N'СQmbRBn@;OCd|^ޔ`Kk%~rT_z={tO'g]%!4ޜF'꠺4Z.'&M]PN>Sф$u,kl ;t{. `dZܢr0% ec+׎DZ4tUyR[w[8o7NK,A<h({> #`r,L'WG뙰 n-!)9:'^f{VFZ"i^b=y8j\nل%=MiVW7on[=b&*zxuvx7$]:.S/|e w,Lc$la3wo9Tzo aMԼ>@e\۹G&[#B N+m[M|ET~t%0ZgjSǝt0=!55Ǻхxu܂|!yzO ^;ǍdR婥i*XDdM4qɿ뗼K,ϖQuJ{<?SCd݁O2:!)dh5L)=]pQ{E?'AMBx"] U:}{uY9PF_ղHtKnQŰN@2? ޷>HKbU|$[}=m,,pr(F?pr*r bnU8T_Pz>%JNY= wK}O3rA<k->@}'kJ,`UYU$>_G1s-1y(½sI1g.C\7Q:M#l7`˥>ufmBKu=K-=VGbHәCzuiZ4S :&Hfd:EBtJZzζET(ܕI-)h|S})W"@ؼ'oC#HW/G Pׅ8v4YDsU1|#7,"I? 5˯mCо)A;)8Ln7N h04!%R(Py&cfIR2$s !EQQɔEY%J^:uzzޏ/ao~l X`$ ;Т˕0NRK|n$Lc̊W̥wA 6q-.Y"+L䈁m (X5G; C˧F/eW6`I-@NƟW*qdeQT]eA߭Ls8 > vQi;B)Q& Qp)Q{NØ*]ˎ'>ږfCd~ocN=zWe+'Tt;}f*m~Lٴa#87`F4/4+@y S9.1ZY*\[d 3B"3!>,Mp])gW Wz4+;i?\i< ^e= 0XȳdBw%Hy u/W1cW V6Kr!AߨQLvvńBҮd+SMD1Z"h_đtV*g_-lt86S twPE'e.;( $/K{٨cXOg`FJfD oL A|0v-'[zr !==ςdG|Gb7#k(wc8J;#S+B5ͦr,"gQmn{rȐ3NڗY~LB]8?4Gq/74scAY c":  ~=v,L;ےFx:$U[`L.c[V$u \SAJy'l O5M*Q \~_ l(|~L;EBB&Tj5AX{{d('!к Ce Z Di@<(W(c PٴM >o d#Ţpe*xL|8 WWo>E$[-Q㢰W3%P3 -1w㋷(wH$O"y^h3Lôx,h UTXun_ Y#7NtC<ؚἪ\j-Om' /ʀL$&X](^$zZBm~:/,q_0i[W Eb;cdڄY < M-ΓWWiQw 2Ca6w'kA\j 1B] ڀK2AS .#0iKv0Aj8oIgpI7(OȀm0S+_a2: n~@]~uz гY`k c},F+1;!X8ʍX>;݀z&ObcrBu 4kUzF\YI+w JɎ\Lyr7U`\0ymuH>pjQ3`93Lཐb>N-%B[0XcDnj6[,f.C8r"("Ϥ.a8~3Q;GŅs`f#=S -x4Pp+JոH"ɅX꧁%N6 sj)Bj}7΁v!+]N6)N~'ΘS~j!_Uqyȴe $D&BN.q~F=Ω#4c|C7:Ly8!42zj]ځi'aG e;vƽoRPLC&k1KyMƌ5qƆZ m7 纰\,&UV~wS8Džhq؊Cq|!⡫^{ ^6}zDɗȵʁ΀JIf"pbE }t!:DW%]l),h3{վ&_LgA*n 5Q KĖ*=XZB,C| |RTN! -^)pz9/Ȫƀ|%fis1cF<5)DxEqD ]97~x' -XfiK]Ya Bv|g)?!O q^[<}MmZhTsU㘝yx#a䓌E$0Άv[kuTQWQ0Ё)^eՌ$P~]G?c P 烶8 y vEiB}WAjj0-?Kμxۺng-.̄]Knc?T:!"\я{`W+38g6ό%$`V--Gp3PRaДD ivbߢfS9㸨"6E !{ t@ѱeg%Ұ[i/HZ [E*ԍ#^0zWl}xu7:eXNNJO?pmvd#fN\t {s{?w']{lKR|flI6ǁ| 6w!z!:N4|qe:8FAfE(~y&N"f70&\G`3 "X%@AI/8 ͑hfo%k\p$}KZ~nςWmy xõx8/1\3i$c2 'p<{(5w0t,bwB=6{v^8݃ cpnkn{Oq-lXNnr@j壇ܵ.h`OU.8 I 3IS í/ B=J ƒOֵCjW`vڅ7]kZxyl&l~k@$B'߇9Ϡs;uڃoKйwX] Ég):̭~d*|/R(~F> _۲N2u&B&1xb14vR*K7\NfO a ]h- d(zݎ.6eҫm[QKp+<uV=yyIK!#&:V;(h "[(a煒P5K#n+,}r U5G"8*s/ɖqCgM7%4yeL6ak:lq3zrV{H >c '渠7'.,#`C#`zR%YO8j:MWq/g pиWj<5bX =pp@@؞GVZd[=?U.EiF'X'H s>0O~y-S)CP- Xbzs~ vbα"ooae!7 OǺ~rX,ҟAPZNCх/2yg]o~6#Ћʱ`fOٸoP?TĹnbs!;bh LbS36߰+S[k"t݆28g7iXNx bm6dck2<<- ]xl7Vk_X` ,oٍ|+h䗇\ )6bZ=-ĞWYTD>&%qqx~ (X ? ޥPryC80EϷV-cr$e{lYiKt$)FS)CnAc(u:@YX_( [O+]{7ji$i ~뙍PR(Ԉ. ~A&a6( aۈi8Xy0:Bx3(Nȳ uaXUbOm9݃xܽ#bF2֚` Aw!HU;BIw:zҧ/^~aa!X ʑQ` MށiHq̅=wp\Oo(x7.dN;at9lc aTW "G>!9j)eku0j%~T'BUɅttʇr<-4Dg0KN]h.^oi ˙S2Q)yz-7pzU &ҮXF{lADf#s" \7C yjT.c*9%!K4l/³@%pqE7E*Ώ6޸S_]"ACLđ!Xt4t/*XD)]]2!MOjt}y }򣌄G<* (vKb#l$ zp*XP"ZXcWF QCU7dzYLj&5<KQ5ZEt_m:?\a<qD1wWсS>(`>- íNujj`CMg'&R(= YN_>U5S=ael/c XfJ?Q\F{Y]ŶͿl$i$b؆Q]}<~ ?7h.lğL`;]*R`ρ 0N'}࿫k,#4piH8!cN펨D 3U@tۣSSܘ7t³eWbῠNk=p8iYYFs<˶W u2G&&@bٞ{4 z~|C\K/p7Uw3V)*-SK^Hme,}{Ɨ+l(\ y $𪐝뉰:#4ކ3&P&JbWD`µ J9^OYOetU ,閣/c7xROBc *yM8@NBpy/*z?o@YP#'B[6xq5N"uڦTg<LCrsx{)R:IMnO>GdJJ#l[+QcMrk|k,I]{CWz7ǣڱT, 0%X|= XP*_]Dg}(-!{`Ś -N~T%U]t-_g%FE`u1(qh~r;pV;LSxz:u(&W'bX6=mVdLWFT-f ?8L]>jc$8߾S0b5H^ħo9dz?C<6ҢxF*C6:q L" RØCT&+$Ӱc92 m@sQ>u2sC|QExÎ[b\UHW]ZAB2OGnc5]5&}TBl :(0}v:)+\{W ־i-#Py;#t$iuIy,:ћ(9MZ}`V* Hr*N11o&=FU'Ȇ=|[&mוgVz }@olGlI}!yaKHQPM'M"j$[ Xt>9mG05_|j 9(Mx}9'YǾYPrM}U|=ziVZgʭ!m&g:Eĺ*&Ͻ6ĆSh볘1Bft [_4G1*ظKZ[ +{hQ0Pm4`Ь5O) IL.*ҧUuU2p[w[0d.&aPx?KGhO]NURv@(ʣ.^z,@"x,YBF=ga4ܒga)̚iD68H\uj⛓T |J2gR? .ዐcv?~LB*Y^zl|~TH,YX~xyI Ah=@ӕp{ l bD`4(\OlU2.`g3>.DzJ1bC=pN(}& h$ۼUɧ6Ul5$ }?͟hPlX3p%fXGVbs&H0.cYF}CƜPCdǀݕ ŧ1Ƚ…"INZ #CVtMC<C.%|muvt!L=C?"[P4Fg0שb+KYxw,tF/8ym_ƷOc8ZĽ2Ghx|3!&a} ILH,塊@ G`d鷰h-WG 9|.A+Zxꒅ*7> YGp@ &g >;L&X!Cy;|eqzƀ%iʑx,3oO*ɵP)N&THP~pJ.q{IjBd˧`Bóyvl ýgiN|ujy"(^KZϦtͪᆾp|[vOa]-R <2LnP[p.p[ 4Z!)Y8Iue>cy̻7I&+7KU %b8d%Ov}Xm .G]˜7zgpbZs^W2H y#NǓ C@A05(Nm  $ǃE? U {",_C6p5M=.V9ȝEWas|o3&[lNa.)t9~:rѯ("bs}K\;{@RJΡͭ"µxm>Yۈ^ȸ.>5vzL7+(8YJ6/nk7>zR QnL@w ں#!-~8-6BL ;oG_t]AP< y{:K:PN?Hl7lE?QـAtB5EV&&?<@Ƹ~6dz^=5'C { !.C*U`kt%|\<ۈEak'ڻÌ{1HE\@_jsWN޿A?T]~@1@ZS v_R)ⰪY͟PT.^Ͼ ّoWqʻp7R]M܂_l1:8ugMpSӿRMt Nޥ{?oubZSP7O{Ǣxc{5Đ8j6 }A8 4xI'*At%[˃҃=]P?XW7"KBm*xY0}ViRfEʃoqCaׂY*b4.F<zZwy:9:mXC ,%ȧnh(O&^gacrF^tĹPAjpn>~~ SUPt Z0uڂT|R*BZģ{1-uQ`=4H&CP 41Y0Y>Uٶl8F^R䭐y5ԡpՃ؝7~ҥݍx"M.|$N5DӘl `:j gX 4 1i>`*]6&)*ǩԊ(!bOW?҄_G1(Ʒ6'pVxiEq˅j +v~%?ΓxAs}Ri|j9-[6M͔]J8p%% ׀n5=  g7X5~p4cΎUD FiaJpՃPogT7rK#mh 8ĥP k/Vu ܸ4X8.k/qyR)eTdÁs-(Cr e&C-1I31?yd4;XBU9%VG  l|V ]K 1%J߁+}T"+Q. U$;̉NPS#fz &!8JO\`E,kÅOC>F=f3{\4U!'!S#*n3N}ri@<5otUXƇTM;dZH B|)Mת|t$QiMLGo)' V@GBHTl6tR ոy$`XӺi~PΘ lʼnpL4\_ p֣0M`ܮp6,McOoAmԏ=P%,[ 2p3z,l̀*}1ziv?tBKy*Z^Pp?쁾D cƈj8_6D{Ed<]Fp]Fp1H'~=N}bU7WA~f jY~2FOE6Q:R<5/j(r}Kq֡b8cDΘ`ygagA*鴇8>8J8)#4l,||Pq>OPJf 8N* ,~#j;h?le?H>>¦l4u;}C1{8,,=Ҥ(&?J>WCͰ,lUlwF-܋p xu޻Gҹ#"lB_wO a+^c|vPQ*C+1>a':/2Aɤ(0U MJȉ*`q$bEUn!c-7QNj)@J׭S u|vh_*b:Kh{}q@ 0gsxE=jva vo*(lyH y+ef^z{~;?>mjaW̷?ޮrst2p/!+W[ +OWw![' ;Pޫ(cb|[=Y~,Y@EOOc Nv`chgeifmcjmoE=X)5SW> 6Vfn찲rkiwpvsu4uwue(5U=|(*j*+ꁡNQ3Ue %U={uUUh͠N^6.6fV^6[q `WllU|o+{ w3OWpvq܄=>rQO}~>3pCp/K'+u?pu<?[QkOWξۿ?e+W(3;wW/7?S/߉t.? 8xx5Y;Xsi[ZX9ڸX ['BD'dg}YSB[wI ^+'/k!-mdfceGCG=.e+/#oGfۃ}'bw?Tտyn^X=D 56^mbÎ,<7vßQ s_Ru@TEWQQQ J  ;P#LTL꯱@b`% ;Ť/k??kRL?_I(}u{/kK?w@"  \jqB`XυۣJJۖtY61 мj>:ujP EN 2?{?̖p۟ط;F ]$;sOM'z>(ݶε$Ӏnfe59",緗oyEI=!w +}r⥭gM2Yϟ8#cޙ0]4.vقsq?d߱2y;nc_yy" >$En5C, dNhXcgM^'@ڍܪk_waizhZ-UU^k7x˄2u8"v7ʳ'K|te8y31r?j%_D1v+ڼ gt|}LDi&SUg2Ԭ)(pz|ϥKɄo?~t\JVYw&E537.`3VqsAj:_{fSRw9*) u[pؒlO'nKKxU/]8vWʘ#TV/kv߫Z6<^|gJXh{5E@HQIQl%B M.Xw9c` l A?syۼߙ}gy[:8A>~c5)_;n)wXt266ҍ5륿z{tF_!~O-ۨ<cWxwsY_Xw.oq"7aJys#n9`KLoɽZinEݼq]p}%6'-WYfJǔy?Ul7}tW&|jъ>A* 8J>e;ہKAC=ι¹Ȓzal?OKo7}g+}NUO|Ӿ-CL4≵1[ndy ]iypޔԢa3'uF_+֥_K~o 0Ő#߱h]E̍gǧIw=P5/,I1#MBΙ;ݤ.12VC#+~MG?~>ri1aE-,:-p791]F%-~cN[&_vi+- C<,Roprc}۾E>w#v|;5m\x,b7jnwE=|\n@ڡn_6O2iPVkd7xxƀc@ʹzq/v|͍ Ǹwmxk\Ux :.kLmTS!a4~Fg*6Mڬwmne[:е~7g]-jm^Ilu#>.{ZeݐB| kcxLTy6O.ҀRx~q(']eT=kU/*{owvݝw£{=pqd_0_x)}'lv/e;ѐT٤~-YeԮ;_Oj3T-ea[t#l%5fT\i%O="{]tW" ftPvj”X+{Ft-edK^&$ %w?zUVAtl,hu++|X^~56#Fn8aJ~':=·|Y8A}4UttQYXOS~Mh5l|7eATuYVE]t,Oi{+ۏ8l_C/ S~#uDZȤT뛴置?ѯ)S~v5jky"ѭ9݊^$ǥ̈́N~pM?:|ijt X@igUus~ɖx=inCr֙BK*s;(3O_/6 Y㈉em*} M|ǥW5ˉMͿ/v>k>3?YUgfe~O-t}3c!*νk?UK|y8*(q oc ?ca'v,7]$iO݉k4jzdO-tlhkqχK0W"}_m;e}.6Z/uMOO; ]|͈y*t6oU#14%3oұ`rgXMxM^|^*~# n%٦F-s2ƃsC;a0sl^Fp`%3.n tBY_n[s\o2]5xWl<9<<&BцWK[܋-?YXf_o/N?܁Cyz`Yvrn{}{R[ǭز{ <?%#7chzph_JֵEG f?P.}~ykN[_9lپV_ O?Sg ,`ẻ"=<'z9z|VZtMcvս/;/R4ǴFE:n@bƇ7C;'6?vwrrjcƸzU$qH\wd ~v~ "(jW]orĊ}FQ쩘p4PA4=h֢^ 3͚Ӻ\X1+9[?Z]ܳQ(!#"ʇ'8P'H)! MJ$4YBrŐ%#@drBeB\)Be0`dH`I (8 I*ʒńJT`(B$C2,HKH 2DyTIEDBDNCe!YV&# Y̗nil6m(_;P'I'"B,"ֆ!9`< \%,8Dh2鐔')Y eJ6%օ.wR`ߗ# Hp $,OB(*d8,KQX%QZ G!N{\1J`QB 9k+)C# -LbF‚ ADTc\(S "bh/ WEֆ~QTT m!!S )kd2@؝/ID(2MP2\ T$D% &X%LQ®qm,M&ϐ'*^c״ \qqb9n WiHe"0蜟I*$JD |ϦŒSB|f$} HBId XIL}yAQe!ZI5]Aϫ[O+]^0Jj9d$6hI>"ˠB5>:y"r_* 1Ka+C24IB LG(B'Z J= 2A l6&qQXdd7mx<_+G$~=z\^@tLV>>`/ͶmDji_$<5o XzbL6z$SgJU\>N7Q"Tψ!1P@rSxMFDŽVz&WB.d`B2_ck/:+N eBɈ̘B32dDFFD)4X afNH qΔ1gJijĤ쳥⳥泥ēFB1g4$2qhgEeA-HcB\)1> `ARg }@PR" Akڋ(E;=:<'Yz f#JTLNd 1X?(FoH_pMT"!Qt~N5a)q}HENWU@Y׀iT3 Aˆc??6ҍ}![:=QGhCB-rIhT$x}!鄾E/g4++>cL gB pINaT@C%:B=X ^{6<*K|lx##-:êPPL"`?k;}ՁϊGӒs mD(F$qka/>73'?]sCo7`p}6b3vA#g>s3.3#v36S&ýIff)\N~&$#=?'}(~`/#A~nfm>S|e0.vb`C}p]vQPkճn6c/8 eVvS\KVCrf^<>a?,׬+Xq P?qѫ`zOՊzŠeruܾ:Ȇ˯΃CYߊ}Moc׀igpk0跥N"p uoҥ5j_+rrMI/zHq{j_^b:-u}}ƈl PxaߧK&#__?ANoD?6<0{7ޙ:4g.*7O ظ-eM1bVfu ?Y,9Dc8@-{)߇k;1_w^/Jsˁk {TL8+YF./$So $y~5׾p W޶d +E\ Q'=MxN!pC{^i/>`=xfk_|ecZWp,iu 9րę7_5ؖbr~ "ӑNܖ~v<  ;+(S'#iWd1p0rՆJ[Ujġ7A6LR}3_:dֵP:Go|5 0lbeoy#{ƟF@Ȃݝ3ŝ]yŢY0TvÖqar <~QfI|<}7C8ewʼn8-^θu/,lo)/C<7AUl|кs$ ao2k6׫53ww3N5~pNA[W:Yxܳom`k҈kBߴj`Zs:mzY|=&_ɍ zO_#ZZ{~~eAa௶ƹ; ڷ}Q|mf{ج4n-{g$޿׌y.WD >aC5_o?Skl=\5.Lj~yv1(jC +Ֆ#^t92j5 G~kLáFu_1$u?hLC|47^uR 0T|}FOg >ߴ>[|j`uk;e|A}nu`q/$ v/n<7sVm[ ~}l{tW3؀kƟu-; H>06(dŵ*?h. >nɩ\³J~nmɉW`Aaϕ4~,ZV9?+w6ԩNݫC+ZjްmFVu8<#Br͢c#_+\x4p]U n%c%>r(nl]ݯGg |N=| 5Wp`aٌIQy<4eW&o&]͙ػbbEi;{3Fh=x)`}O=x.{U?|nE ܂&^vy 2Tui#WNi“2;#biV{FNɬ djQǦ5޼=T ,EdbMV;pv=uMLw9ja:ۿsB~i7Wl٬mQN)>!D>8{٭O &ZXLEpcMMhXW4?j-n׮ʐ NZl&/MN|S}h[N> 2꡾ ýn{cW~b=}ͮi/r֭D[5Sn?mzXϤ.^mn-y]s[|Ϲ6oi7elj!ֿwTxwVI#MꛛҤOOkb.L{mFi޹'%k0 O],;rQX7Uz3' i.xuz΀k>jyۧNY.N|u.نx57'Ǡ7%;\ήK[7:/i;,]c۪OkiX+wy7~_D=CuD?l+Y׶ s/׺]ru)uz㯋#[4(2ly}K]6M8j}k9Eys.*=&rv۷XbrLхPƩOGX ]Mx5vÎM/׺7_}<=r,f.{q7_.-g]^{iڥ[Ёl[+G^wߺ2d)ICgh,ӵ+mrݛ}>Uu.6ck}l"$lMn>½Ogl8,~čפ/<l^ٺ=/"/yVeF#\eGqo;^m, :oϵ1<35߲vzl/7uUQo`a8X-Dbݫ|NJNɽnjr{nXsNHnu0nBۙG߽ufO8 Dgܜ~s=Qo俖/??tί6-]a)'/v_០7Ua8>aۦp3]Z(:SYyݎp3e/oo:ϘEă+Q];-N>I[wxx7ZG<S˸.O}!oW6=qX[q{Sd'{"}lA/X̠݁!}~O6-Mm;Cݟ=f5^2w0 sWy/;mqJ:o=d 4p"_n;&lݻAt;r=z(1v+WQKK໶Un {p~чO-E4}pM8;T@cZ`̿ӆ&9>vPynޫKZŽW,>$3tG;>x+ڛִ>YvB8oή%ΓEwqlr<EjԝW]xf׺~w[`mygҷ'5ctֿuP2{ҭrl68i^ݯ.q_Zw2fᏥy-H7pmc+.sWj;gU./٫uUѭOx{[uI ח|S>7AoEޅ\l+_C‹lC lbSZVqR,{=m{*n~~Ό*V-saVب>ZĻOhOH~Kp/ ܼo&7,aңCov{47v9` o7FZOoxUmA]1A?wɓxڼn =̶E;:Ay4Na/;ΗL̀X )&-0,?'0D:M[_*&kˣ7+0}ܴ<ٝ{eͳ}Wp_NXn:쵼a;\-&n;Vz`2sԫK~ 53ꝉqJ6: n21bGgs?ou›b4_;3wN=4oܭnD봑<Ϗ˱_r,[X(9<1R>Bv82L♯jDgV3}tzwHe6 ~f+?t~I],kǩ~+.GhzزI{5 8ShL?[/Z T&g lwd=# v_yO^rd}ԅ͟I +Zd2c#A[ʵkhrvzE 4UM}m4qd_QSjh<BT BH6 i 8un DAO3"WBN(*d! c8$!\ !bX%!J1F:J0*$3()b,\\I䰈!G@Ӊ;C?.   $z\ [2 >R'<, L\ O5e\45!ɦ2pT֣'L33?T[?S-(C$$r:*F%l)r!aFP9)SI$os"a)b/d+rp::]F.#ijˈeĴe%o2b2h7J&m*x$-.a ?]੮MGe2D)KEid?VQ"}/6_G}uVGA'ΞPPT"B\7VR!,jYI< } 9[DF}-Q?5uϵh{P?2W6`|>K^㧡tOƾWjp@VD]r VQ1iqT#Sș ː R`%"$hVf(ln9$pTB $AvQZRS$J0>I.'';,c\GMeD`Ih¨ G2XIP ]{n̑K;;Ax+ |j$;1dGA"4;J.X!Dkyha)0E/ au\p2ISDPRD}GeLoWTF,*#Eeĉ2b2b2U>^GuAVvɹ j2Y%Et PJYZ(pA&k2c)*dAݳ)UH2yDb709LԌ fR@!fhk4YBeT=MKܒ#( 2Ka.CEvfG6t;ƀNM{m9HzT"3il2*HU"$ ퟅQ"bDȄTMU!UP5ba.c uųx8  Aacb5 nFFH1; +{;jFS85yɂ4k-*D.LCD aM􂄭U8]oj>qj@*[6u SH$ srQNTKGG#W(.ELADrfPCCzXipP" q ŨÁ}\pl798k:__R$ ppéJ!YHQC W 2 X ׍X6kB[/ٝ%Yf]Y>h>K@)R2 b:dMVJSDDQ gGIIu&}j420\ j֟5eCAbk|"R]C+zY4NM. YD 4W魘 oПAMtMadi@7FNF pitqQ1fۈa[Bvfv6K6MX;sjMax C0P Ԯ 9 GioIfR1XSdkU61 шBAr PKC\`2ܷ*/iD`3(0.bƖ׵*\)WJH*S("Ha.BQ,^Y:"+FHI8I%#J~"Df. E6:`vd3$OT ɡ]MswoQ Ir  Q>f-nh.}AChT_䮏w r%e2kɦ a8,U'*m<*06ZӅC¢cuv$&"bIdta!,Ԁ ,DzRfMoBa 4.HD6{Y!RK$mذ~a1qA| FÂ(a10p@6V*€B.AYT&Kdb Q 0DHx`U0a,YXd J_)N_8N5$ҌX)nK޵,,3 MR<01F1! vޏGhSm[exe+0*-I^+'[1L~.0%i4Wj\MjBj&&jbl&=4S-ICᾤvHPȌIOaVP YISɺ`NTbA{rOrPO ڡ.TġIJ:).U0$CX Q>,n0x = ކdP GE M$Ȁf7 UQAU(P,FO 9K( "81;Q+1Xi.H&R 2R&` 8'I K$DB59':p_`hMR`v*V\JB2z2*rFȢ"*d1 HL)"$ei]CDIQ5;U$(HM<RCj7DMQCĢP5q&TM SBՄM&.oajQ5_MLOWk}58|CC2l<{(*Q"Q BCƶoI<\h|iGf߫`|@4p*ts`A ~YWfR~z b4Sd{^g/q9 {0Ǔ7F5 q ;dO5cu5C5}0eU?C XW 캣eQ%ІzEA4إ":j "H64dŤ6RTK5- f$"'8 Cخf3DYj}&$Yjb,5ql9KM&8Dj°~ZSJzˎYQE`IBTW`F_ kOVuL;/w*ŀ`ہXBM7c+RMTT'Wjb(ۦ&wTMwԎ߷CMPm6jF0\ȼ|M/ # F0*1/'a8# OJDꤒxv/D%5ꊚX{Ͻ&&>UKiOD3519=SDaOj"[Y_Ĝ?Ќ&}V?_tjO5PURM4RM8WxK m_j̒@(R]*h*+5fD6|WB.rsw4|_ܲkYrr¥U}ʉVDʉ-ˉ B!ALwAQcVR7:I9N+|NFr(4k<5 헽(=v=@7' `PWB|:f`|oƄ`|]HCܽ'M君?tA.xzSbq77w.ħCn ݍy1!.ha> p,݇yB+p<{iCJ7 +dIn^ _t{xQ,ǍZw.7m 2=]=6wOFw/03`S섊N9eqqqqp`o`Zv^[> N YNH'wHR¨L!K.>|A\Ow>KiûwOwCM_?O7R?@9H'LH9f  S#{.Ԭ^A 5nԼY-[YZnӶ];A6i.]uwtrvqu{xz :M|&豓2Ԅc ֩/4Ȩ1q'  ' E89MMHer(%32]:|Bs~\is_:Ks^s׈_lII[˾!Y M&30T0BaCnRGR8J8Yc,E%(`aF'  cڷJJN ҫ ]͋jo h`9a[N,' ,'L=@V')'rbʉġp rb^|9qo`9Q[N}ckeSN؈ˉrb-.'ˉ=r/q9A\N4I.'$~DLr9& W˫z=GBkdj{lbOZuI~ `tÆ7aCea*=!('_2GrkB`Vڝ1dєP'0#Y/e29@@P;B)D yqWdоv;3a'm0RRԹ+x$ uL0OuNSpt,^d*2(E $J 6Bd2f`f6j 0Tctj75y- *D$;   C$$KaTV+L:9(,AYB˥L5h}B(W€u;KpCfQM("b`iH4YCs8d5T $ADdKC1Jg@1@4xRm[gRHԺj5Q>Gmj09fJ{A]d ͖\S Q/2KSޠ*U{.+!<F5-}ʠR,g0V&#$O*(%BA}ERH״bJoXBZ ʉVSD,9'sF A Bw·̠㻐)3]D̴(2gRXF*"+E˭C6g,3QJ )Q*yQV \i?[ WҭFF:\#8 L**%$XiݨaN +4~tT:"o K̴YCMt@\ )*UT:B)6̸v@g5udEӸΦͫ?QdT'5U 'І57k?\D.XB2 %$XZFhΰk !5G1DdԈ}>\ƒIFoI?3}-#Bq@AxpdPch:6lC'ʟF`g'445(3_,@E8L ԥvkj^9F4HD&Gsʉ9DhN9' Kj?sj4Pc?>"+[GOrei8. TRۼI fɣ &UwJ0@*0$6"Yw&??z@`7,ļLu8Iw3ҜvvO{-w{:vL\wޮILHa [cL`l »'y+tW̞x4e JcɃǺGoqjwI|ֽnxP9]?{Fs6z?Foۻ7z{woF߽ћxFNN66z6zOm6z޶{mݶmmwl.}kCE PNmTP5^KE#&EƞӍdϾm{ĦXX4 (oɓiЇoiPyS?>A~6z}w'ܾ;yF7z}Ooޏowlvޱѻ/}j _o߱?ѻޱѓ"LJo= *wmd+GQ/"|//݌ EsF^vĨc iu mQQ.qaeSnF;7z֝;7zOs;7zosw΍ wn߹K߲;# NIv;;<~>on+:3l(+md^l.+ˊ~0"Wko \ 2ϯ ug:>٫;or|㛽}fk7{w읷ٻrewpe{fM+Oll=;lm^lSB9[+#Y)_ R\ AEh]RD^Β6(OSC0OUByd^beYe)VXYbeBy2P;Di*P g鑽/-9+hgG:qwY{:#$؟N J#<퀛ucJmQbja@AH tcs$x]1VBe䶓t#oWQY!axxaVe3;1 [j+^kZ{0 .YsGRk U/:jW̺nuvڄ$"&?p cƷ?=*♕ݨb=ϪDʒ'`Hi(-rg7yrBPD~v+%$dy .䰰hlqGg,g`5L}M4YrclICg 'vҍ-hW,2HZq=m賂/Fmf~b~k) 77{67{;77{f^G_Mnu"8]5o-;UZYN&k;l,[84['n{%vYSNUq9\*YOOT 476?qd|";_*OnقԢƬ+v$v+$ceȈ_ ]o5d1QZj?`ua\8pݛ7ܽ[{rf/{7{7ݽ{ݛ ˖؉'Y"jI>2G5֐u%u /Jf7X9љBX.IH?u?m/Om_K'B$.o0~QY."Hmv;i;~Z;\[;J'ZhypRd̗%%{I EiJj<0f!KaxcJ0vd<;k |7Goښ_7Y}`??6;.}߄*^)D}%suY>2QcS cM+%eT ]/ji+Ǡȡ?s2ݐǫ#gLo7_OQ&?k1 SzXd8kajljZ~0? fB{T%ԜOZd_BaNFa)MDP#:MSH`;P$n(b0;1S\ fk#ₖ epD,#bXy{db 7Ev -T\?+ctD(E9?ޤpⱷ9!_Bg0.zIHv]ŵ&qXnnY$kN[ -"@;w2 \ԍ' Y`M!q(Q.v\?PhR-ji=XSf\ص#5S}v6{d ~>n'&ҬcS^21F¢kId^bMK0J(v+c~2[膇d{[)"T_O^99[OU9銷>f/3yoь.~FS6Z1b){1" ܖФ=ήT&wnyZF3cZͶN$%C,u޲6n&Ǵs$M6ɉzViqݱٴH*/QqJ`4#߯|z'ԯIʧ֬78Ff DVWȖGFm.] t1}ZՒIșq)3iqGkyi1t fM5&7rcJ#WؾI6i= J2Nm[I"@9s|KN;Orwv\ZS(%634:zJݲ@"m;IF*s9yx?LǏbtq<@7mr9U<GŴ[uMzȏ0ZD A[;^nB3U 1w1f7E|񴝣ic% bgN@Ƶ#[7܎ F]ubJ~d@lG)/1U#M6(rU@9=‘B,̐( #Dv9W=u^(4HDW;(\[[";VMP'XDY׈ui7ȿ&Ba?'6G[+EXb-@=R3B4o %WȦ.u}uܢojdR?`[@ٔY3651 5Ŗ'cTSXS c\KX&lj0|eu ݛ, b491&Q7Nf0dpldh(R,?={pCթ*|;1.K4i2zk/)iPW3u%G;4&gV+ NS֕pO=\gZ$ߵ/y^T~rzC ԱhUiyvľD &q9g;% p(vp`u8TsUKpEaAj\*ᬷZ]PuUӃ KVPjLX[縱]"MkfS4 $/E`{1K{bV/N>фKم ܑ}Js_%㹯WxdyHJT,*EH_NA(\5hkbʪ(xfHHb o-' W&j_DfгXY`$lxθn)GɅDuZUиx"m젾ƢcjcJI;NhD W1<#؞g2L>LOL͕&ӥ~8,I@?ǒĘPqt׎m;J;r˾G",i3S !D~U3HYeUcFYHUDY6rUFUn*Q,>%dTBFsa\|9FZTc sKN ŋp VmaH֏rjndFE~Rm0j}|pr6u&AL(i'2qӮqgtH. rHF[ *K2 C:r<77̹98iw%޴#Iȏ)%'Ң1Jȯ/Β#F[y.e Rqu%=-Sr Q%-k̎=wZC} |4~%+ZX@@CñgNev|!vW;?%4fPö긞s_{>  My2(yr|D P&jvd%VJ@|D\~d/N6 ÖؙډKw+ dvp\7[(!CPs֬gx7RX> Fv8' MVkj% gQi Jl*K Kڶ`#-zM=>0CGP$7f(,')BrDSa `΋>dZC"e?VKA4v:D!?رRTuNxv6|[vP>@gl1yZ:4OeǜVO]YU ;eN7)Ov?d̏,NqɹJ[OIN2)e:EItU;ݥapږ{O'u[9vLz+wK6­#bdq3({ "/nzql5; @Wm;bg$ʙin^[&yeq2;XNs=%#9/kJ:漨vKiɒ~{t\)6 ~c|JdKJ׋?_r^G*[=ɏ!73j fđ|“iv !9ڊw<; "uSUs鞧,"& Xa1ci67*2U kqS>_ Ͱ٬@+؅6mLf\?;Q:\?^LdjYv `ddwJە};ʆt206#I60M89L&5Qf O@%g{K&6MWazqp5X?x2Ke6F4h 8g8}csi֒8mS೵a&=ݑ3rH/c5Nb@*%7~Zn(вvA =O^n_;'έik&dlnKqbWܥqb0E2|4#{f=)WqB~=4;Ov~<)"OX|zҊDIIF闃0$}qtIb~s(Y$FmΚ\uB?3rd;'Y\+V{볐#zБh@R|NPJ$PBpH g,%1,iΙhNl" |IH$˙-O,Xp(r-C""ɵD^9_%r(Ԗ)Ok #n:JĩULr%nPZP0l b r}\arߕkv^7ʌ+[)Wred&un鯷<^vnVPky@u #ԄrtRN)zmoHo1X͊u3*mz6XV0m`aьw|^g} khDv[qzD03+_n4\=%[Z5vz ܀p>fS"YJ-%j.)4&4oVԹ0lA aQ gD^lI&|r[tdsSha{c9Mal.屋N.Dz5iךve4#v ߒ&E!iK;Ұdrif˥N%^Tڔ^4T䔞2'[TX|)Fh*1RCNT-ܖUnUnqNd-gI4#,2F$6a11<$-O1aCxh"2?*27I>MjSqlmi{CS^N/TRw(f~- I"SjER5iE5~\]>82㍹y`'B $1BlE[e+޺Űr=2гB X7r J GZgNib[Z~< \R>EYumzC! -вVThEB=:B%tDH^WBVWK }*t|؟R'1Q3-?I˞u}6,#nWj ) tV|)T9e*gAs,| +͜+ZYK*4n yvq&Ӏkst&3 x/'iOր9nԀ눁I\x S4` m2Gu4\.ypx Y~ `8gKlM @@h8a;8[~5U8ikn7 pTM`j&0nh0(BԀxujXp;u^O%L^/Mt0tԁm:pYOӀk34, xi5>`OuEpu`8GՁt|ޕ[Ձ u"_ԁoNmxX:XӁ]:p<\.ՁtrBԁցt`H:Pс=:0#:WցQاu:HFՁGuc:PӁq8t`BuLL\:Ё9ׁ:pӁt::ҁ:с'u:|C_ԁсtouc:qܮwu:9|KсЁHbHt:L|O^A?Ёt::ݛ6x\jp\i% l|>o_0/Rм/iOp[ O mvxMsܨOҁ4`L5 `~x<1k Qh `p!0a8b_6 oh?1lj4ݴ^8 xR^3+ ,Ne5O405`gjY 8[р-:.ܭFc>f7O@O~Ac>esz%A;lр & @d Nm&fgv8vza \o_117 [mZM&={#x ~j  ML  2[MOh> ԁ7x#]x& gD 635nQ@c 0i13L`Z&q |>ekp4`\CPրy@F4`\74M Ӏ4k5ԀC0рpD&5`J5`> ՀiՀ5ܠՀѯ |x!գBƈD_ZԀk4Z xՀi_k5 E |Y_5WVNߪ|CҀoks5;] |_~?Ԁi55'SHҀi?ilj]/s 7 |@R>ҀkG41 |B>Ҁ5 4&lx 0(8?Zx)äג mn"] (ϣugx?͛nܥ7 i<3MY&p> SnpO;Y || |nj_6} a&7&U | ko&o6.{~~OH g Mw7 /S>E<&^ U^ 5.&>hEr <kk33 L&"}LM%fff1g^MkӜFvњqed A~A$_T$w)e`Hxu /H?"}dhU&KLnz5Bxm16i|zNKw˾c6ҎvH̥4<_̧4a1NydHq'zGɎ$t׋u賄HEq=do G&b&}dv(r)zuR65-ep{Or2$ LLIx¦u=K ۼ^먰5mc/Ӹ=N=I[5ɝ2,ouZrMޭhew\$fOi\. >lpYOM.b/Ё فd\~x5˥O np;G n+S ;: .l4݀>Ya?oKHb-z_!:T5$Kyb=Koe y4.{?v>dx+<\z56p{ `g31vE2vѾu%w?,ȿ/&e' YŽ$m']REX˗ ;oϤ@zcpYxMi 7I2+?'uKA羅ml 4~h9F#W=h~$dn .>EvG ߰ / Ŋn.p݊t tБиWvS9M)|Qoѹ-pJ#V17Sl c Aa#d/ y+B&¾Mnr\-5W ̰׌ {Έ3W( ny:¦[ @a}J –zmmi {-/mFBW'–4& }BK:7|SX??B1ޱ) nH}t/\k:y(t!ҋH:З9I %,w.t ]t ~Ibp&|Ujdvo {5&[ avm_jrJO:sos/7\:IیKүh42 nwZIV'E \`;2sM& |Kvmo27+7[L&|E63–~'+|{eq?jI7c1>azK" ko6<ۣ:Ev˅eFpH[ܿ 5~SWM ¾Q_-"^`ҷ6=ߢ*.Eo<%.xs# nQ!lwF?T65n튯(}~ȢO3_+鿔I_f/$HY+ >Ys!Ol o~cG(|ҷ "ߗ>s˿@w o+ {_%| ߮L؁{+> ^~wWjWc Ey"`cspo12>"aV!<^g>X lӹ}h}*l.|# )ҀKL5,/&3a?Qʸ5"q?>gs t nlzS&bz~qkr;kiy}~*}ξ>HW/解uri_6MwEW/I7z ]t' }Qk?+mVH*Y?3 ƾ8:UnudQGB!Zfkn+!' EzRr?DQ+ 4pdd>vRU|Z=ÔK_\G|1_oUmr.}8y󦴗a4?~F̋)%_1>6wT6b>np[jdp{+fo33wX2ۗNJT~k)3?y2ث;j+X^n+vJKum\+[Җ5ȟ#}=e o.Oʞui=_~)maۺR}vg]l[ٵ¶uTطʿع ޓ"@%b =&;]l++~+iU]M1}i?bk{!U흮#=)lsE~?Smxe~3s;ދ.qҷ}/ܞW5pz6<.w6i]N߯߾ܧ+lo+benRSej}:ޟ/oչ]N-o+e9F7tvghGjA6%&Tdoq ԸmP/bmplMwRPrmaScw9[ڪcc^gq&/xɦo?{6~ hu.b.Mh~;򥟣e)=MiLSҔ JȊH9lL\(tC,YYYYYmJ2{F=Cfv2:Em >G#G|gg9#/ĬY` 5o!C?W'~@ԫz5Q&DWj^]EL6Q)ʛ)3E}'i4s9z2/Z 1dBKoS6p &grDrrA#G6g:S3%~-~#~/)ڷ]vn.ڹ]s!vn;[Н#9~HrI ]&$l3dL8K&8D^qjbRܟI\apTwՋ],X쑋ݚiaTP Q̨DgeddtHòABM$ڦmmAAci m-$1vJ>/^LgD"M)_9 >?H –;͝,Bbx|9^Bs'^>wt7_Wgk6'nr3'-32+,yayOX 9a) +rӠ0W{suf̙9Id@a),s%A'$UL/{RNJNi{[#mOI{}2 2i$9_NNy"m2rI;qi)$9s.ii{=#mg9i{^^yi[sVx(m%i mKV-Kۊ]KvYVEڶsaf砙n|7_vŜ]')x."dQ.f"Et.vҜh."z]DE]DOE.m{"z.E>v}.g"]DE]DE]D]D/E!^e vh.ED9.v-ET]DKv"Elъ]D"deV"bњ]D.E]Dv}.]DW"EnQ.kv]]D >nM6"eѦ]D[v5"]D-ܬ]b]̝v_.f⩼]3B>#LW>__ʬ0%`FXxxgxgw6w6w67Os 77ǹ7'.nS|:N)y~3s~Gg~>D?/O~Ni ~O?g3K?Oϻe)Y_s3K?y9A?'33G?;i܋.g?\.7[gck~g'fsgr|/7qSܜ|ܙsv{|Kc3͓d:ifU9klKʸ8>(aYd mYn)_bl,Fb(,3gE㘝YYtWggf fᛇ/=} 4|{5D/0 5  ,N0$3N111/0_d$/2%{^f)n0SÙ3Org{OKs;:=?Ϳw7nnw????ͿkB7 R7_+r7_/Ń3&SrZXY\%f87|ʒ \Y>,n>CM63ægfOWY1{RZ9\+brpV>+;A}V>+b}RdJAX ˼|HX^y 7-~ٯus9nps'In*~yenwqsO/Q`'y+EZr^3:HHO9՚p Ց̨YՑW'TIqJuVg^a SZ@w9a Kq$%3rX2<պ3bK^#4y|ﴘwqk/pS'py.T}ȴ/#QpՊ\D{) ng|O>!'<#[arbK{ y;<ǒvv j+p5f_2Q' &Xhw!xs{z_𐟻?{!=Y{&>y,A.?c4?c~j߹E? ~۟ei~߯?0h~pIβ0զ8=p(]no3C|O9Mr"s3|::߳S+|p?ߣu|8/Cw{ƾ?aPcD񹋿GhnzvVت1wXg֫v֪ImNkl^ߨZiwn[P޺Y_ol^ۊ}k]]Wv'vG: 6'Dpj۪#g/ \jl8 l8,4,4 |kdbr0Dsۡ ¯^ȭV|l߷5..NP ^cg 8u,7ds%WC%!O&!m;i  7]IRp&ٖ.is$C覫 E(_s;:'%ŋD6z 6bj8JpMO17?O;vC@ϟyFŸeF\H+ ה 6"fz SZHkom^QeL #8jf/ F$"P47tI)qA `?+yd4A-MV=(VՉj’Nx{g/?8u=|D}6Ga.jʮihP$%V\$7 m1\aͭ6o$tõ {O5aY(f3iEJL )\ VNi_z/ao[-MsV PyLF ϗ>^R:̌s|Tas駱clœw;as {g4CYpX]U`q&XlXLyNԩ.s_| a By[Z1:LeI5hblŔ eE$ 0X^M#X } DRht:Ng0% Br1GGxJ6Q5bIVDA}O7 s4RXJ&Lfq`0imgXtKywBp1oI"-1I\k -B vMD7G f[[2brj^|\vx: &i &WA|b<2|P/. œܽ-s\ݓ3 9łK$̿BO " Ϣc>lQj"<^}Do8 a=n k_s<^أm(Qhl- ˀP5⼤DTL ]A4ǻ?xPу-"))DΐI u!QaĆ;3f#PB8Q !H`&4#5MtA;<Д??o _zo3O{௝_~_~߯~c;o>}x_3Wz9yo=?7{ZzWvw/dw}{͟?ꏪ;?~Okx_}??\ʋ/sOCǟ[>z/<߻?(㿿_?j/r bچs貺*|A\8y}n1Ebt`nMlK %?Iic.`>U>5%4UĚt]Y..o=Xnb{hQJqlGuB`K3x!*`C@=_#{ȋ+*72\R*y2H{7휄$<;>D .x q*8'L08#O*1yM"lҁݾwwY |KtGB'hϐ9  2I T< %fbdS^jʼnBcO{{iolF2o7]ֹ(ޗy;w{+0 9h{] ٜ́59G!.u6iP?]\S~PG'TPL:ÔJ:P` fO1IF ΙI,|ؑGZ)_EH,1Kq-zxLtXgB^lM+ai4򗇞90d}I`il賿 o<¯=(ڗ~Ad}ѷ~Ac*o}eu㡔E1;ai) 20NtvPiӟ? avF|>Gt4]Lgb]MۚjzGowZ"~XuĶoT+ ,rrEZ.H48.^B' z}A7Dg :?`fDOA<#//_S O,=~2c,KU/%ekI?u=C'Cҗ-t$ܻ J_b;N (O&YO{2]4t_cB'KQ6:7?]a~#/ (ΐW/+:SRI8&+ˊpHo~+o~+o~+o~+7}7GH!lyRv(TgߒW%8 >\I36A-S%  19Dw+0Ql@ƺ)9lcms0s4x?8a+F N \nmYr"fk,v Bi(Mcp[HfB6s[=w?rl~@;#)(6f]l;$Y7r01p4~6WuJ}yM@<Ge 1*V ym)S#w(۲ۢj'fRvڪ{:a::eNQppD_[L`6gׇ?߬ު&fళGBGI~6>N~&^I~6>N~6~z'a{Y7CvVeנ9r)ĄPITyX #ҌPs1$z0nc*Qң"Ll;"k8sqI[w,6ٚaQjg)Z䓶P ϝךrrBeoGoGoGV軚oG?|;o6ߎ R}MJmlU-~RVY'ivGګZUe䟠ƭuqjlv0lg4Uf:Xh@lN4GMXvm umKzTaK醾ہNfj'm^Z z7rlkn;bn]0ɮC;ygVqRpA[ #"<ؤ63f><t{:$($1!zv; 1N[mm^c;9W,}2/EPeԲӛ)ʹU.AA%]ڐeGA'HoU2޾NFځieNw)! \,['gmdfRJm5Hܗ'ُ-;_wm^\]-J]]w8Wo`{ԙ e,P[6έ͡*!Z bymalD{yJ1ZF`@” Jt^쫑5fԯZk#|/8+qM˭5.j5i|n&g HsPr԰I. s̞ʋ+R6ix_ A_"PY"J{m?sLÉ|̷ٽI6Q2rWC E"_E>ܦIL 7}My11A@0ڪT. `-),UlM JhD6TU8 p"Am(S8Xw=( LnwYmQ43+1"b` TLsSHQNmfaKhFYxnkRBW7o$^ Wje(F̫ȧYO6B JVܜl?l=(X+ÕNjGW*W ?[.,op5^khc$<[#7jnyv6\nw"ǖvBcѶYКx8p9t`%D2jD_~g#W>Ffղo\3k۾cؽ0 G%38%! pً,hxۺxKKW֌i~jm~MW݊'r@[dzbfXp$I,Ky C&Jޝ?{Cl:’%5Q3l}6U|6)U~+2&J[Is~n76NN hfkZ!a!{zy.j5:wd=[@Q:5@uSd&ЊLa!Mh#fnc}cLǚO}"F{4txMOL'ttbx/dv{"]ԥb ƄTtsyb옘612\hĬwb4 qSGwp<-5v SAF{rU|" shsӨ[kۮ 56V7e@6 O )/{#؋d!JmFȓX!{# Пfuً\|49 >bs5,DU' Mi?+"djv~;#siݯV#6DxDvKF7l Zkc*A>ЪX\g)@FLJRh|"@]: ϠU[@ m* 0|`#LPq6K2xxNc]F0<{dؘOr /8ٞxڟM܅/llaj 5Y }o5rI=5m'-c8TTUT !0Nc0Z9KzjlO0306 Vll^ou6,SR ֳrkarWGdd/B\n!1!(!Gqvn#'.c0Ȫ޾[vT2ɐ[a/alhB dlr_~/?j +޷3|QQoGV.B5] BC9^!t/ BA_ fb7Vx"Jn-q{ޚ3 in}[u f†;H Du;+KK#ξju)&V|,aeGx:U bLX .Җ@2iI,5^i^^SRVH%| G_}_}oa>WFՇ荇0o>]_{}͇у7F0=~>~w'aa&uhwXEŊLާm7{؋ 7dt˲TkWz;x_OͷH0uqJXTvN.09'k`@:BM-R^XzcS^oMO i)CK8&nK: lkj۪OK? ?CӥsV[o-T wЇi#ՂxvU}̟#B?&"|ϱ@w)[V5'h[)XMϖߖ3 ;b(ݐ\]B32 {{]!,#4z&y7[dtpdZ) 9 }K - ʋ8 P4EA?olMuNRe|E4ԍLD}'ޠLGzhōjMfvAށ1N`oW؞_u_o {{zߺla⍐͗TDLAoI+r+OrǪ 84/^^YOiF+v%= +ث>{{Zű]jmS6ùgM`[㪮RH1Dpsī%#O9^z=Ɖ]Sn {cE%`7%a.1QeĕCH/Me}*$ Pr[Wn !KhQd2'rBL+pv]8 G*ףhIyv+&kiY)b'maoe՗=莒F/W8:e #oaxB3d󼀋E&`d f'Nm4vDjhb~ yAYkmL"s#5dj ꇟ wmhxo؂&)P%+tvfENͶ8gr  yx/IujN*\4܃ mF@*4qo@e|m8yUrvmGօ(*$//DJ_GGhf5+yG@BK:E~τt,Vo3 E\ 6j)C"-E4FLwvqg/Gzv}8kgώ?<;8h|vEgѩqq8za~Ϗ 88>?kHG8qΏ͏G???~y~88qqqџ̏8ѩq΅q8zaa/ 880k H_G8q .-A2a<*7=M+|=h7r\qeH|PLҫOfǯ ]oSOePl]i T.P:ɖA̛e2哒)<*&o"A&PF %)=91ig H4, wf?k(1W؝O|e `:ͩxnOpC;h$NVmvfC]ZoixDd"Pp#V1ty 7тi 5>Ã#3\ӘFS+Ft[D1pnq{f}džmi庩uy0QǾ0~+?=p޹|Ve-b$)U)w*ͼ&kZV NYHWGZlOr,h bT୊3gUz/^2)R/O]/9KIb| gSz:={ZJx.U\*txFCnc%T|lv Հ-8{|B˦2ĥi?q _Ge}ۏ{_G賿=hpf/5v-xG{oGhۏwqd9ovU$UD$, {'i@l&S^u XkA`sЫ=}gH^d GיbLe}4h~`QK:Zǔ$[b9Pp5dc9~~1JHi=G戞Ԗ<3-#z:Ps:rL*hƚ}˻ʥJiueT./_\R*K,gw7k헖3۫~$F((.IFrT)epDhE<cޮյ ۻHeY b^kmn bI RékRN&r1Z7/^2Y*J| 5aeeU!W2zeeut𕘗aZxȈA ;l]vCnkӈo\?]kmvh(_RLkE\xlqUwyھinm-//]a,[W#=ubkyd]X*WН+o_[sersbmkV@y;ՋԼQY\U% rR*W3t ΐK+\.-VMreuZY)/1Ρ.VhWa% f&ae UmJX]͢)V@SRNS44eUjmZoOL;#'-_L"#ٙR.%(ktskӲfY1,JG=5ݩQINWVR"xv ʎd=!\ $P|pWKq&Mer \s7T%SM1-Y(YTS/Q _ +1bJаdIvRVIQa%HHO K% k5Dz|s՝dF(\&h"h%aQMRj'ז/1H.rHVjSHM#Y#Fr93$rKq<QC{VJ;,ʊ.NJ; Jee5GOhWh\BڔheMDieFsQf ɒO6ETުol(c6%-,$5dJ2ATNFKTDUYRҥ2KEi%MT,oIxVzM$PՀ@Z&st9\&Q%&rJ*ٙ!b2hb"\IŖEtۋ2&ሡD@dt-n[4\{v^oC_>1|B{%-SVJT7byX^BRDI* qcN~#g!H/йI #X97I,/2KV׋W^ rlyzЗ9~U W~jKfV\Nj\YMa+u2'r>+b NV(=j2./-ք/Ѹ\dKetk"Ԓj-[fbƶsX/V8rxY8^G+Ͻ>~q^G8r^G>:뭭n.Y4\;5EK 7\[q9 \9!Cۍx|Vx)(=B{++~߃EhvOegS'Owi)Sg4|n 1> <'9%ONk SjJw }SiNNWG@̔?8%Myei4y\LNs4\* )Lr CǞY2,٥(Wu0ƀW5PZ α󏘆oS(tOS? +E.$~db\v'6'S-qZHѶan%OkI0}u[O&gieTkWP|?Z&*>y>z ;S)z??i+VVV)A֞i}&2Hњf$8b)d?|  WЧ̗ PF؋ thd p.'N_ A@t@fӤjQGߏON$=?|a l[ݬ,xQasɤSpw'KΤlvM/''!3xRr>:gUd@Hl:d?$fĚ+k{/Nzsf Ȗ?|5Om^8|iTFM%Zpܹ_ZΎSm>{j}ljfԭF s8ԇʿ&1J߱/MwhKrv*̍)O9wA߸~MnDx:Y PfCd򤏱34"xх/jxQ.f8}~Fл( e ?ZY) \,Hn +8FUh&0FwLR(5 Wdg/+I8)v5 |ksX"~xH]qA!})< ް &=ݱH{j{UbBt B{W.-~;f\vH X*֤j4Hdeq]Y50wl#G}٩(pΉ]ps.Yml;@-"gѴ <`;NڷbM^?!%v%G񟍙PZۀVz$+#pB3bDнF"lf$288'7U1Ij'=TZMG'.?zHO. s_&pOL{JLJq@S⳼sX &3 SǤR|**M0?E3GېnqR[!yLb>~Jp|8=L2_Lgk5ם-|zߨgNi|ٓOKI?t]+;/=.!!9uo|o w0Q.?$uݬ+"0Բ.~;̻c.wGԔݿjSzj2RRSR;.M|ԓ̯{Iq~KSho7;3/.;+-!1݇|{]r^R{O^*-#/+).ot5]v坾<$_1$F'_J\JW!@ιrRϐ@}N?#_TӲ\tO%Ilfv \5ߡi~:z҄IqUa~DrZxU ~*l+.gݪZ{qYq)=hz\ߪi272D%] 6{IO6֣{h# =!OGh/FbNz~ut(eh~۳_:1sf{JgoRl]3b~ܘyv1zv7 Lc$pgwxY2ΌƿK/=Ę7K4&kγ+Dw9`F_l'N~][ow'AVZFb,9ee$N蠐ǥ$efMĜvqYI츔_q_͛v 1q Fg㒧=ԘS3/{'EfdgWS(GiZKyr⑶tEGmλk]>;Ač(_riKW}bꕿ!.w~E?ұ4131>;#9vړ pZ%XRb-YUvVuw+ǎ@:7Sbu;?ʿRieX.+-/95+qk6iI\\eڷһGŮ&P7K4}+9:F.3\y_]\>*mf]@Yq˻"{.ReHXUə[.KN\'tQgpqazFkWO'ff-Z۟&eӵX=\sp/ }r◻>V}sҖ+JGuOǛ)W5eKIA,벺]qO24=BNwHW2oNHhot1;lߪ̬Չ~q~~fb2,ޭ:]33dHMLLHL8 3ݾqueɩ dv#wn 8\TϺQ;4٩gL.eN[цk2R5^Rtd((kO;O4io!ɫ3r3I*"_u,95.OTOp-tRժ?9K~vjz\B{?ge%As_]ůjӸG#HYqktN:` ' _!g V2` ty`XX)9+$7HLm1(Epgo)S"x>SOؘ"XnoŔUZX%8ee1 UpTw loթ- I~dÒ-.x"b킆dͷ WX+,!ؽ;/uwNXlC06b{,νSnNAF;n^pZs Z,^/$bzA-}7~b7nDxp =ⰻ5w[LK|{Ţsh%b]uX[0>9w ޾b onA[<|E|, n/X/XE{wl1_Ų{E[d#. <Xw%Y,bWPzbOXWI~OY ) }[O[,.>mEbkg-'Y ~b}~%)t`f_f! .bZbN%O?b1a+}eqؓIM>)d1I_[}RŪ'`bS O bZ,<%x'O NX}Zϓ?-?is@IgIl1w`VŊMYl$xʢ39ЌzF$4ӟlg{Y@Dl}F澚e jj?+pl~Vp&|W9w}5}5#꫙@yNO9g?M i?'fs4J-O3DV?4#K4J+8i,-zj,Ԭ/\\"&6 n,S3pS3l`ff)<56 ~,,8ffUA57 Bk6oÞla ׌z^_3yA `Ͳ Ьz^p͆Y4?/u4m;@3h4÷ Ќ"~fqW[m&,"qfA@M{ q-U5=Jj  )|8PsnkfVKTYR*KT0KTp]*KTKk%/M /͐^s UpfVfVo͒Iޚ[ ޚ[zk6m<ٶU𸷦6ޚ{kN&h֌&3H3i m4 YMjmAO l&xnvA ͠ރ5÷ |knL]p`͂% ֬.(Y]`wkb;}4v}4wh,!G``fAf>u;h6GmMh 7D3!s_\9D3!/6 ,zAphf cC4^ ѬA>T)lfNw Sh,,)Hլ)XYSpٚ^Kٚ!Kzf.9yYKͲ]s4w 9Gq`蹚e9j n?W3LPqfQa4'iz?\3`sfnI#4 w cqfnxQpHa/ Fj(nfq~/ r4_llxQpfˋIiz$<͠?9%QI/ Gi$͚Fkz T.xsfXifTefJuf^h <.,-x]YY.@\wfc r.#M=/ #ufA͔=1y{!c4 hVxl#8{^ܱ 2j1Vs^3c5 ^Wp`f^c5K ~YW0|f^A8潂kiOp8͠}iTӌ'|f>4 jԬ'YO2Pe 5PӭB[!x>P3BP^!<^B}fm`x %4}_=A3e艚)/ b'j,X;Qs &X3``mf~%YkY_0bਗ਼uL: yfr@EyH bͲ/֬: xf5^J͠JK4*K/,}fE ^kWhF"JM׬E06\O4c)8| zU0;B3U5 ^XkxU_^U7hQsk7_YyP03J5ARfk(GiF&x(J35sQ >,~M@kͯ /]0wfE9 i.XHs낻i.^Y 8Z -њo6Dk!Hfkn|Cpo—hzV nZX%(YV%H,Dݮ9;4>ީY`㝚MSk ݠ[+(۠S+xgfa.ݥYW+x.M|(x.Mݥ଻5C? [3Cwk&}([Cgf|35[?\/ ~, -_3_5%"_3_Y/lv^M+ HhnH0@#ͪ7h$XVW:AzO`Cf@u 4#% u9u 4 h hV >,l|RR' 4>)X}fǂk~,PcYŚ>~V49a h~*Y3SAf͜Oٛ5 >۬SA5 ݢzAMzR͠z̭ e{k-;4=?fgI inLp|fg=nW :,XW3pfa}%+4k ~\Y j\Aj5^? fh`k ^kTA5 lm*M_*`Q՚jZ5}-Aۚz[3e 濣n Y` Yb fS,-|/-Gl&{\"esS;o -6[Zd혠 } <&l͜c&%\uClz hbs.;f.f CmF 3fء6~[msXoW،09fao›m6VoM> /9ylfQr͂> Qlnp:}~\gŹ6=*n06 ٬pWg]my(f;mx(q͈l=Kyͨ }WlU(*~ 6}){fN?lp6C=bY⩰nM wn9½lWxxͰ Ol_M6S+\ _a36+xfuÛm Pb3gB 6(|͖ 5PaNw p͈ lT}ځ 2PmNRp/Kr^ W۬RX^n=6 Vxf6#m&y+,kBo^{lx+_as#6)Sa3jBm RXJM 6+Ri3ok6k+{fMU6#|fiGa[6|}fB!C:d3bjCc3pB6s*8ߵY8T!#PlE:Qܿ((Ol6|\_cmV*|MN}n3l 6Vxf 6VƲY6Qh{BIQ(nY~B6Q]9 dȹ q]:YxBN֟u~L52|'[]W'=+voBh'+_dp1NFWdpqNWdp+8 _Ou2bɄ \d/9Y9BaN6Pd˜ P1Ʉ Q,z.|A~ Q:z]x)D-t2dB'ns2t5ۜɼ k9iB6'Vx|lshmNz\o~(d ;,@a'.P8Ɇ yI b9{BNe*T9CN(dy Q:1@rk'\N;9Fc1 7ap+1 W)1 ʰv†^ppXU * q7l0FSn0Naq 3 #)\n0NZwÜq ),v74N!ݰ|*wq nq7l-P>wC@G t7 TnaRw@W t7, Txݰ"PcwÚ@pxQwC ?p0hBoð I0PaX<^Sò ?yVWs=^!, 1gzMP,À 2 Pa2LЧaKnװbBZ_ 5lZ_CLThk;QD_à COT0a”~9V3,pG?Ê 30Ӱy= ݂&7apBRùA w7LR07H߰(H  .`C) 02.3Lᢙ)liXv_ae bU f*0:Qw]; SxN^hau "B l0 P|ЎPC\ShsA+[d{B@a E+*2WG snPxQò nPKa Sx.{0i9 wSh4Oa䓆^ ?i0)äHIOF*dâ .PxuaC k(|ϰq§ [(} gP} N3 _} + * 0\P/ FVXpa + *\\aشPafaB9^0_ ÐE 1s),0]VaHaMa"* 7.R°lU0_ta"-Vx7Zeh{_6VP s7,Vth F+\߰.Za~æhE ۢ7]Pp0v^6Z [n\Pvl +a /Vh=`D!KFV]PiDaRaiKfWn\UiXDaUa;* (7 Y熑KK*D: *8 [* C,ù  ckÂxepSBmXpmh+4ن ^ 7; >sF$(2I ō ӏ$(1lLP V%*k1lIT8q0x0}BqÒe hذLOnF/W0}뭆.WX}r' =jO')蓆ӓ~=ian_ ˓&%)\f蕬f0d_ _e>Oka1 +aY/\ab`ߧ%vimK_-xraۂFð{ SW fcXRװvӯ d6#0A}^gf^W cJÚ K SJ 3K4V ~ΰT0Ű*AW 9`XJ!ӫ}6[-ajs W b^-xaj#kƭ9bFaG 1X#8|İn;bؼF5D 0L3,*֗ S}C 0j`/ ^l5,]+xհzVƵkEèuƀa:(gXN0sӜa:,gh s;/azA[/0q6aN^/xͰ`c ^0\7r֔ nh#Fmy0v`qÔ c 68nXA 4(r0}`IÜ' 6 >:iXQ)΍m6,$&VfUqfXV"oD[-{W 2Rp靖e>핂>! ˄w#Z+ײ]ُZ+81˘1˼yOX'8oY%eJࣧ,?8޲#- ~ȲXDC&Z|,beǂo&Z,8:ǂU,{ ^lYP+80ŲVK|"`e'ZF}"jlˢO7d[V|"-۲AlOf[~"8mSy fX|*revYQfYnZ.0ye,k ̳l.7vAٖW̶ 82Npl˨:c-cCg[& 6ζ,?۲Nf[ ~m\'l:AuXF~&xies,>1239Y αL0yegs,?ϱlLP8gs,?=2sA\ ^k ,߲sAxe- [\PoU;-#w-|oC=2u|ˬ;-;-w~ɷl!8oypde?]gͳ Lo]/weE pE1;_-L)زpBڝ#K,ÿXF}!ceY_-,Bp2˪/Y6}!pB2/Y)2KEq_ -RpSeݗ;-<2A 3Zb x2A0IJAVeE`Ye]IJAme{`eׯ^eWVZ|%}cY`IeW-w 2r5 Xf2י=cYKme.5 _ՖVRm}``teo-LLVWmڲ[Ֆ k,Û]j-3Z5 .,i\UkY,ֲY0eew-#<]g-˾|ew7wX|/82{5 .i`NvZ xeLAPe?Ae)_ZAeH/-cZ7X&,[_Y6neyE.ˎ]~2G-S~\hYF˺5Z(2lͽ,/Hm/Ʋe}#YFg`ѷi[-5[V|lYw@pw-l? x{ː[>(H2-  hYqP߲ieAч[X&,>dYvH0'ˆ3Q˰w? ^6Tx? n-~Lh YgeςA˜,~>,;~, Y&ea}[lݲde#[ԝl>"eQW[F|p2 _{<*c|c1r#xY= ^걿4uovXeGx { vdt v {,M=xzxl{ v{!zLMz1|x _pqN_1zLEPv_w_P][-[?zjcrV=={h\xǠ͗xL ^qX@0K<<Uakaaa;=8=;AS`+`Zv'x~m7yLh|6An&zLjcg8;=Vc=U~1 ~cS~<_X AA N?17A~l7ox]8i >w7c?'xDYweym1]pDy킈K&ziM`$OI<3c)oǎ?Nt\3cq VOv\wǼz,9.'cq\2cܟ9 OOY;,a'Y1 2c Nz,=!X愠*c AmG{BА9cI\'{L;)8cIA2`TG\1SN "K-xCWP>O=f+t c뿂+? s 6X`U ZvxO- *=Rsh "vz K< c _z/=6RV jE}((En%P<xP1={uQ`ǘ.zcJ{=fvQtXE^]x&䱟(j =MSEs,Q1_lX* c(c*O'yLPEo=o=f[c*64{Pyy ~]O~1b *Fﱬbk*~ﱱbwU|гKZ<&X1,š=,ER1lE~g+1l=fǼx,9[ǖzW1coNx :O|cy;NyL;O))Xxb))Ny=O1|NQ+;=Ɵ_WԈφ;}gX! Ź>{_>g }&^{Ϭ _3Eԕ>.P_^WP>/TsϚ O\BH >K/REH7L UC.VLgŊwX>/V\oqbG(u~>'_x>(>xgHAa0EC>')gQC>>!LQ3RՏTY*32ŝ>'_φ|\h/ rŻ}&]{&̻\1 g劗|V_O+g\A>o Y:gEb uOlW\5\1Pτ+?3 Es> P&Bq >Tzg|&^(~g֕}_LYzӗ|Ra^_zQW)ƼsU,J+>kRL|gTbk>c#LPY=gՊ> V33EDq(~g5SS}F\5g}]x5g>ӯU|3Z|]hZŦ>U<3`ϸ^\r}VR2'S:9>ӮSYzy>Sdp|+.zž>3Wy+~+Yz%>]tLAq 7(&Ywb;WlA ]#3!Rqmّ>+}E*/i#3J}ߨp>#nTt_3FE >nTܸg獊nU>snRTlrz^7+Yqv>[1S[>ٯ>z+o[qyϬފ]u>{+}"wcs޽>nQ,}>oQ<3V>{ݪg5}ުعgӭ}[y>CoSrb!)66>oS\{g(#>{G)gAc>nW Yx+w]Q ς;yEVBw(: SQt1w*`򝊰Af,;lS\AъV 0/Zr g<|91FݥI 0.Eܥh`]V6ݥ=K62-#[Q3*3::a&߭J0L`Ι|LEw+b2<|O 03;}I,裨`YEk(GQ43EK~b. *Fc9lQ\(@U\4,86U"ݛ GѲ){V8UVߣx*{)ޫ(`ʽ7> ^EG{OSq1S?0bS8~S$OqΧFܧ=l0>̻O=c? >_+vo(N}`X;P1?_`U `샊l*xP<`CU=h 0!+lyHR-+pÊ~XQg+*;;XE b,Vp"X6*֝5VO*0őzDˉcQz"G0N`죊9LzTѿ3GvXb_=xTw)>;K 01`c)`D/S$1889N%qű 1qE8V=[[WLSG<1 EcW'8 g9='9v@MOǮ;F TL1vbȥc/u, G$(D8$(G8'("vlHPxţW;v&(1iEՎO+.1i_8V:6?Zǎ]?Ŏ3scs,-S)E:Rltѱh"FǚA[)ntFDŽ79F%*&D79f%*v䘟qcEb͎1-?xc3ގY(vv,}FQpc3nq zVq6g Ur,{Vvǖg9ňÞSd9[;N1vE;>rcs^w9"I.ǰ$H15Iױ*IqY_$ET_ǖ$Ef_$EM_Ǡ:F<1yE{W\scqL^q>wx^c ;HbZǂ;X߱ų:~1Eų9z1E[98b#.1:Y#ɊgqIVcQ"MV9vs5Xec`E{c`ŝ;fVLzܱdb5>4X!O8O8vV .pNW\Xxc:FQбŻ (9Qܿ1Ec_-rػȱy"yc23;Fe(;f(_옒.tPX蘗б$CSX-tP *tlP|Vؙ0cK*F-q1yRc=:U\Աl5c/ulԱubRc{:d*]+SqhcL"1>Sѹ1%Sq2LS 239e*J9d*.slTpe])b#)^(r]:N9fS"qӗ;֍S]9NqacxŎŎ+*S+*v[?^RX:^a+,vl~SV8OPX1AQ1zb Ǹ +'(pLx1oıjdž v옠Xcxێ+V:d)t,R|ұ.Kq;Y8bb;q]0Qq[cDŮRV;vNT1MńՎo*vxc›STdq,yS7Ϭu ֱ$Ŕ1:ORuLtc$k&)~]X2I&)9ORDslxbIW9bb:Ɋ#'+9[0YޱhbzNJɊ;Ɋ;vNV<\bTc[ Eo)ot~Kic[69x~#(or8ұESaæ(tU1ұv"ұibB\9U118[11"[11:[QPXR阒Wy]ǒlE{6[qfǨi7;&LS|1u)B:ؼձtEVnct񭎙oưm%mslct[+xlmxjc #g(^ob6DŽm3yf(>X0Cqtc f(Bj[f(q옡1(Gq_cxǨ359ǤEZcZǜ5%9js59s>tlQ33?r7SDcLSg*s 1~f)?wNǨ\_8f*V78*786*[s]r욧1!O15OǬ<{C8)qSdqlSLx0O1ec{bي]{#f+;[ql{f+j:VV|xxWc9(nxp(w X1jmc\ysKrlgLj|ń9GUƱ3_q8S\bSxeѾcamŊư6P_ƄژB6fPL+ .oc xl6).zߴ2LVhL0 Kb4Z5ђUKŰZY5l TI H؏nΧ4?Rf h~Y͂i6}pB3K4SJ.k4)d4]R5 )UZRk5J"j&*L[^V3T͵ k5KKYY]кVT:RuR0ff@B:2uQe 42i)d\VN3L!ofaue 4kίl*S ݯ_Ьدtf5c( L:09_3퀂Yq@a.Mr/4cܣYTp^͆r{5V 8pṽ \tPA:O‚RMC KJ5)XvH2C 4).,>_ۯXa~͐ h.;0fa  PR3BjU(|\psO~\j͜OLf' Ri>QFGhQF3B# k4(L>pf5GFhQWYzDaJf5GhQxFS*, 8F3ͨ k4*YrTa[沣 hUF Gj4k*|VtT GT8]X[fXBŗ _jT*j^T4#?Uf _i}Wş*WA3s4>WXf l\aVZ3Zᓟ5ӫFlVxf[’3_(,?3Q_(\M - [4k]9MSP}NKϵfܗ ǵf i/~Қ_*՚_*xZKKZKV3V!j*춚jy ߶jŠ?4OyͶS͔v],J%ͦ:i^JKq4+l ;лM3B6 iWަq\atfqqmEiVWѦYw\anfq6 [4vi)iF)|ئWM3N@fzBEfv§mu i)|٦Y]PצT ֌Z!̯6Y¬vMoB˿(lŽ+Q W4O(vBW4O(\LpaI`֓ } [DÀo0`ˆN*D|0װ[T_C6Pkogôt6,N!aw Ӻ|հ;] v5 nP(jѠpalBmWÙ K7(fҠi7 cWxa f|a z6}ð{7Rta) N),0¦@S  O), 2A!;0 ~Pxa ɽ K~PX˰ ~P0QaE_Fw6*|0Q᯾ cXݨ7GPÈ3LQa~?Ì0a sBC VosZ\ä  O+`sZ{ +N+40'C #R10'1C Rb{C ~RxaO G6P3C4)|7пIHø&aiM f5)<;0Ia%M dž66)2̰I0Cߟf‘ᆋ~Vha u# V8? Fpma/ sF.Eᅑ9(FpC*g‘y(7C|??e{^a3+lz0g K+Ts_/Xϰz 3l^pt  80A>J SoZjyRüK Ko(5Ata ťm7vu(5 $8]jI`K : *5L$0``aa'ATaE'ALa]'2NMe .3 4 *3L7\+ga jaվ% |7lЯFv7,80 Ww; ՝6u{]0 "x0`.# ӻ>;`EÂ.ovE.wC*r0cahWArè zt *7*VnU0ܰ`AauW再]/v.7?~r0?rX?AO ?5D}j't,0 gXMpg7 ?3LQpڰFA>w1L.aVw_v/ .i]СְG 5 D j  e/x+b +2,ʰ_+v {aH_D~mCkê/O$aM0I 7 | Snf$ToXx`iaM n7͂O,=i~`IØN&,X}0fg' o~kp[CܷFr3 |aJÜ ?  "H0 Sn0dX`Om~0V_ nŰVAÐv1`oyͰ?3 9k(02PY@ ~;kX(Ű.Pb(h1MPby`9ì+&(=gX~am6&iCߞaHOA?kS3)( { <ڞZϰVC.vApaVE *[ nV.C 9o$aH ad aja~ O !/;2LC_w2.^C颡ϝQ Cd}ˆ9w /)oæ;-aX/Fti7\K00hae/4 |F`/4 \aj,^cY,X~e]k,2.2.;X%hihނ-z u-kY[euol-w t [e݂-c2nm],32n.w v[e݂.n.>!],C]ZZ fY"xe{ߍ!}hGF>-S[[>=,C M}lWPpey_澂[,buXf#hYrKO{{Z n*vˌP;,kC/a*eh?- 'wei?Aho˖~A- /m_0eDޖqom_e^Aݖ߄X6dAQː},k:@2cM,g&2(Lp_?0A|?˘0Ac?0o,'[V o&h@!u,# Y& \4PTe@AQe@0ځGZ  Wzeu9 } ~߲^> $842efAC-s "- n$82 QQa5Q1]Q3:23\ceAQXze`ޱ? g!xfq"ߌ,\oY!l `8D˰!9,VLL"<2m seAD˒!≖UC-'Z!'Z鉖L y@pxexܫ>޲ɖCX<1Ųh yePA˺ES, Ml*Ȝb)Ȟb)02#O϶ )92jٖ#gf[m=RaeH9#̱l)Hk4Jhe(ʹ1A)9yOY64=eTS-SOxP92ATˢ{S-+Z<(iːhA3т,eCixHpgC',|f\岇!A ,[d-lHo geh{XƎ_`hˬтY.l-Xl˙ /,~XR  ^]k#8]o uG^,xDc`GeA16ZV\h8FeMя d7-syӲQoZV?*8eˣ޲D`[oYF Y ^ϳg+}gf豂͖ic7[f bY8VŲb|˶[- n?N\e8Aue8Anˠb>/ex{,/2*N02#NFeQC][NأM~m(Pi2Q2z eDeDAse$j˘IEXO|PcS0X˜ֲ|g` {BY=!Y.zBzB0г,|B0ҳ|BY6lA럖>ɂ QɂgLO˲$YqѲ1Y ,CB.YFd3G%96˺9}mmsms, \e\,c l6W0e\˖s_^+xo[=)pX&=)nIv'l}R_ˀA_Z&2=E0ǪAӵ~c<1q`rL'(X2O8Vdžy# ''1t8F\Ǥ[;8./1{`D + fwp/X(O :8>%,XcS-O : tgǤT]kS:ӂ]`qWǸ]=-:=-ձiAnmO :ws{F1A|7Ljgows{FP1nz Fg`c䳂=4pL}Vuc泂79?+wc{c㳂 8 1"M064 ns̹9^H,rY x71p;p,^ ñr;[t zN19A^319Am/ǜ;?'(vl~Np,ر9# P.Ǵr\(8۱nގ Wv ]$ qZ$H{c"!c"AdGY,xcbAZ_łU} {cbAfcbP C}:.1l cAr?%Nw,Y"acmK8>/`c=#߇9>/h s,z^0mc: 9Ƥ 9 9 :;V ^wlN}/ >{s,yAm/NTgcRK-l옻T`⥂UKg;6,h ~z;1E71EAqyQtcpl}Qǀe:,꘼L=ܱd {;%)/ ^X/ r[.acr#c BF9f-<1Q%t?ز\pAGW}1bcWG;\!/q ABc ю+Sr,Y!c CWƌvl]!H(>;d?!.1:Cx5qL㘑!p11%[8Veql<{+񱎁+ScV ^u^)ȈuL\)X똺R^cJAqcJXǢ+]:6l(u X%xlc*QAqkW v98ǺUNW Op[-xzcjALjՂcW :NtL_-;1{ fcj܉K&:V|8ѱuDǠLu3~c2s2w;f J&;f &8tMtF8ݱd$5I-k1Ǡs]+8cZkp,_+?ñvcc:AFc:Avc:A^c:Ɏ{s q\'شNpic:AG,5s:g :uuL똖%ucfyYtcs IǶ,O:,c˂RS_s,zY<Ǫq^,`|LjWwL{Ec+^|yEӎ) s,}Usկ $pU*Gz -H1fǤǴ݂3=xӛ=V hv chU>XzNJbxl)1CA>CApǐ{Hp_Ǹ=}$XswyH]><ۣǂʻ=,8cǂz=Kx.z\V"ci`g?%yl,tﱵDG=7{ #G}=غG1rc>! x'h1{x,'X3c>H!Y<& ‡{.LTP8cy }RA(!e;'z`vO=|"(KX1c' S=~"6գATAG z8"8cSTGLwDp4%Gcy>"X4ciێvLwTprǐi :MxTwǴ{{<*3cQAtG[{=*84cQ{l;*kGJA`ǐJ=I*c<&V &&yLIY)(N_)8䱴Rp*c] 1)._\ CsnF++I1E05cHFhejX% 0Z4jըVjzv瞬u=z @Wlz(P ^#U0bdKFj^a@nґV,(vA@+ v 4dW52иf_idf354p >x8P*/ TGU2hz4P* Ե jtԻ_%\4:PjAс2k Skp@ ctZѣhGZсjŬ67:P|-PjсV|?:и+G_mntU69:Pj}56Fڻڠst.P昿J\c7&Pk\c0pL57 T uLEk hcծ10&Ў5yc5S2?;6PO ALV ^ ެ@?t<(` V>(q >Ȭ5h(qO @k dԸZԵ@)?_N?\h9j~6H 9Z6( Agŭ3\u T3y>u>sACnz_TToPbz^ \o@ɿ[_ @q ~x%Pz 7HȮ7x`j gZ N sZ 7NT z Sj`0sz m0X(ό@ T`P3#P]I3f2 Rfh@ gJhif܍hF fZYj6yYYzn2h(nER6$d0(P&go2(+ d@ ڻ zvMgl5;PffJl@ٛ T 2;Вg T aN Թ٠xNF/h~NF92 .5P~MZh }5ЎFWF]2[ N){Łl18Pl1(.T`Yq-mŁth bp@[ VJj@hA@e[ rc5n5(m5|^ v  fZmc^ T@ N{= {=PrA77Խ@`ri_ _hԯh1oࢷ5j0@( 4c(7eJ~37Po7%n7{?Pv>c]08I͟ja4$PNi]ƝTݠ*Pn^w?jݠ@1 @ r*e@w|<]28&P.+k &Pfk%4 ]U lpImmdmke6XRpAcm6PnVjmpj]a-.kk1HZhG]Jcpj}=c0@u{ 5@\!P^+6*kpVC{ 6AcC? (Y`@0X1PS7gP)P>U37́ܰ9P>6`@U iA@m lo(m[-oи%P~m7s{V݁Z N(O}4j Tx0PCF0|(Pe0:h P@M 0(2=P_sef{ lTAG{ t #P6\6$( hqi@mc#\|(A߁j ;PA[vٿ=*?l;\{U3Vh opOU78tU78rU74UYD xUI3:#Cϰ?1gZ`VgP~U ϲipɹVٝbZ; ~4| ηJ`YemЫU9amtؠb\bv`%VK1(8 Y VY.8.? N*ˬ .*ˬ R/ZeeV]/\fe02+e2G .J8bpVG {ը#*;b>VuG >ce^ir+t]iw`UVG kkkd͵VxUk8UA}A kU⎾V kU ⡾V F ɾV kݍתW7bj_nV)݈Zet#ת V* V݈= V{ V]݈ YGTrUqg{qQ8UqDnO[M[N:D묆u'*;uV݉w'~jIw:DxUswGUgwDx<*/$Z%b~U!%Ze=ѪX*C ``Xb+`Cbx J!q@LrI<:Ъ́V$ !Q5ЪD@6upg3$:gX,3VgXIĔZDUULO"wU1.ߓU屾ª'ޞD'V"zE`pUYVgU[Eq6󉫷Y8XdĪ߬rؾê;. tU뻬*. v꼀ػ*qU^C-Vɽ -Vi-VY^DS^Ž^D=VX"7VM\ϪD>-쿉p*BV.$ʻhoU|!1ժBV V V}qVZͪ"6Z7UD!֪7hj{7Zć&V[ (ow1qrUgUw1_ou JVYoE/!nU%Y@UNKVU;:/%fmek[ه[[U]VїX]F|rĪ2BG/#j:j2┣V:j}9U]G.'v9qr/'dUt9P?!TDn:/'RrƄʿPK & b Ї(?9԰>ѡC!zj^Wʺ8TɕD%*/ Us%1PWO sPW5*ŤP"N*Aڮ"2xlP>W9B%_MT*jB^M~C򫉯o e&n*)jXTJ}Ƈ@f4>TbPmƇ@z$ƇH<5>T@bP5n PU4L^ x=qG^qy:'6M 5$C&'ZDhr%IB5%7J"O 8*uqPDp1pJEZ2}JA}SB5 "z%T ⺂P=o ~-zP7O Uyñ 7y#\aP7[ CH. Ut#1fF'fq#=#xvF(L8#TL2ҌP}3B%sfJ&ޘ*/aFdfFdbPĦ_grn"Zf93TMDYQ7glvCD:;焊L?'T`9R 94'T`bP*Llj0qpNDWC&^ 58TsCon'*g^{_ v3kz!KB% !Ny=TPeCBsQF衄8^*u(]*s(qziy JC-J\^jPPC7jJ-zBW*"4T-ĘPn!( 5P/*(( Uv 14T-kn!旆q ^i({ Qi(s+ei[oKC) |+4TڭĆPYai[n%vUw+P=RK!F, B^*=H_P6N*6"B-O҉Юtbڵ(X۽].D ە{?1vO ;]'fЮM'+"7]U駵v>HTh׸3U xC!rM;ȝٮ "vUdjWuil}z?DTmnWCvJtP磄QDZ<8pjFP(::xHz&PhM=ڡD:T<8U*MU&FC<)v Pw13ݝF!twCTtw*C,T1qC c}}W:%\T?x*ijW9Ąx,b]Ӣ,bNYDN]Y }#Tϩ1ӎLjc-'^8qSD'=N nTqdSĖӓ˒ ?%9-G 8('op$1'79?I\wSDMN OO;8wSxDB)NQOmNO{TSSĐ۝"dSbT>ĸTl"7)-ꔕMꔗM,Ju*&:gS?R곉;:SibĝNOT4~Sw:5G{ĩ9Gz>O\SS: ySO:{ҩD'&;M$;eM$N7&۩n"Q:pNQyiO;O;yO;#jv#>4?)xIu9NIDrS$?9NL8LqLd8%M&q6q5;(q*L,q*L8UN&sjLLT<%R_"N{)%"ܗ^p*{8ѩ%bd|bT|nSM>0թ1hԚO4Ou'ڦ:xeLsJ|1)e"vSD4iN/ӜLNsZ2>ͩeb4iNm/yӜ05ͩ|SiNIS ӜM!vOs588)w 5ͩh qt)ĥӝ*ӝwOw11N!d^! 1eSWӝ_!ޚ xS+Nyۦ;BN:UBZT BWK +ĵNQMNNDFӐBbzӸ)Щ/:Ukg:51: bMҦ)ENySNUSEg;EO#q2sTrQLȩw1GN8/&2qZRL,ƩXS[1|3p8KS\۷NisuʚKjqRF|^F,iqWFT8ZJʈQ{jʈ85{.ש{%:%K8K4]"nӒw9վKL.ߩ]N#<T1ͩ="ͩ="ͩ=6mN='ls>rSwmN'9{Ӓ'tj{xSJ98iI9QxWg9QzWĔhS? zU1TOX~W3>$8ӫC3>$2<+#"l!q9^Zq۹^>+x5֫x| b^{+:+1rWăx}L<}WĔ ?& Q+bq/O彼>!"?!8bO>!+SKR?%f\)%^9_U)xWīS\U)RO_)qQWb")+u1畹(]L\LzWb"r/Jx ψ+?#ǫ3~^^%zJXW/m7x}AM^_ھ8^Kn*XB\հOؒKT/k5KzU}IQxWWD]^_QvWWD]^"1nw{-h۫+^_ۇ{EMyW5z|MtW]zUM\UI${Vcӽ*9^[^*tJ"H*$ξkq%q^ĐvTg< qAo+3J!2CxkO'{D^#auD|:_:b`WMqcWcZZGWxŭ%+s-q'^'^kx5%ˮ%WzWDѧ^)??rWDb⟉>x3uėyZG\W:b^e>j^Gt˭#N+8 z/뉋RO\Wz=1KzbW^mDW^կb!+bW^{ q^y7|U q^!k~!|꽞+i=qCWzJqJw^k**jzl zxm Zk7ƫdYU D ĵ+Z7+z7h Wz47Z@^@,H^핻xrWFlWF5^k66-u^ɛzo"zeo"n_UxyW&rW&b:/8+v3qbWf"+u3hר3^y^%^͛z4WmJl$oJm$4x6 ^ՍDHѫxB k +a +e +c F-ķn*BU`WM^m[7yM^[6y%l%lJJl5j+6ym%6yo%UwWVbfDf/Xl#6{%m#iFln*Fn*Fܼk6-^vqVئcD|+nWv1ɫD,ijk"5y_}M^/_۽%n+Qkɯ۽~%VmjXݫWbv߈vz%F57rWoĪ^-;Fl{Wo߻zl'LWĬfFm'*NU8ūi;qqN\evZ V*AմëmQvuxI+i'1xװ^vyEN;q!߉C^ /jxvEE̳^y>^u^1ěJG:;z&;5d71Wnˣ^9^E]GwzU&%MjM ZB-Jk!~׸Oyt--nE!Q=Dq%!;.=ĽEq\D{1E4ѳ{D{#jC Kt%rQ^c"2Nh"*zRD sRDK >?)? 'E SN>b%#zGGQ>舲[#*GJDOh>S"GDQ>S#깟ԈOh~bߩe'Q~"v'^;="xZ7O((;=V􈆴gQF+qQq+1[gFJs^D1Ѱ?"=6?؈$FO*6" Zb#=@t??Gv/Q*ϏˆR"(\Q_ĂۈGF\tyDmĝ}"jh#\QA":Hd]QAWGT~H Q!Gt芏h!k#Ztȸ6C+FTwmD{_^Q!b F' 7!1oD1oD%1_D_DQDX).6 Gw$+ ah1ZLmji25-QؓUh),x!j?&뾯2uש-9UuNm|uSk[?_ggcnp*3np*3nt3?ntj3c: Xc\tSڱ)X7Tx,򛝪Nus=)WLJ9kvpSI{%8n|z<`SIp*8@SS*0NөxOnM8p>SINa>;"}QÝ}-Ý|׍p,0~p ~L `VS0٩!'(z)D>Tr"))NkOP8)dRN0fSG; `hF;5 ҇B !ȿ3)~MuZwv;q `iN9xSGG:E@XHO:@pS?S?S OwJ7ҝ 4)Iw*7Ne,iտ<  85ΩPLTpSe8u( 0oe8EX"qS;xrS1!O:ՂICtjSiDSNÞr:SiN?=v NaG'8t""&:u".T܉3ѩ1NľNL rLܛؙ(rL|ߙ<˩3USEgb]S3!˩35˩3+:e;]"CbBN!%Ni!N9!uN!D\Ӣllb\"+۩- fe;ElASJ4)3@d;N%l5) ~v-Nl' F$HbH3)ĦIN$$<Lv*!Q>٩ĞN$Jd'Nq ?&)tb\S39N)8eN|:>ǩtb_SDӉ385NtdOuB ۅxxSQ"&ש 봳 օr1/) @SDNgLw*=x|SN V<ѕDN]}3 uJLz&193$*$>wZ{&,Pb,PYND,PYNYNĶYNEYNeĞYNBBóvmB㳜B'g9Et#4ip7"dS\7N݈2gvFDv*F?۩Su7Ng;F\5۩ql.݉g;Nvҝ6);ql}2)cg;t'Tѝ8:۩;Yѝ)qMSdDbSZbxSNDZӢēNU=Nk{ {3 Z{N#^.p #,p #8ņK ˆ 2ˆ/ È,S\O{m/:e$דXӢĞz䴶'KN=/9$:9,"),WSYDsSYDNygTzqeUgwT&~6q|!gw?{SD|̳J&;UM>)x6cSĵN!bpbbpbp)/X_TNZTN/v')vZNtZ;8}S{8K/K8E"-pJE YڋsSV/NN8U",pًx5'&ޛ5E_Kz-%Nk{Wћusѯ;EC})bNTr 9N]"JEK#J"oJ" r#c #;9E39E[9EKp.1sw%Ju?XSDûN݇)qMSV"̩1̩\Tهx̩YSKB#;%G,.w;h)wZteSyy˜ЗxSl_")/CĊ9EO*':Tv>Ns?qrr {pZu1 KV;^H ^Bbj t*N k:%#s*G\QrfvѰթ"bVڋ֭N muj8թ"mNa.ۜ"aۜbۜ9'9'b9'9-O$nsO 洶?1rSc")bFb/&b;\L Tx1iġN/&nrB#;EMNё&HbdSj$lSA$1ɩ4TI59F "7Z"MNDYS%Ē&Kb.!79%^BjrJXs MS%MN.!659U]B469ɩNv9%\JrJxcSߜ/%8_JL2b^ˈ{/#lSefU.#5;DD;G?wʌ"zp*"p";TEpj"8Dwp"Fp @ީ*jTuqwZ{1;5^EdSD E'&N:^Mdz Nu;]Ctp*Xx ]C),8E:F]TM˩-S]brC$kqZbZC,WZx^KWDӼ%&x4kO +:N^)#>Xɫ:p'kgb@gbhgblgbrg^ 1Ċ^1D}g;{\Ot Js=qMWİExU]Odxx=0īzbUn օx@ugW D׀W D߀W ^7wn ^e7^n ^ 7sF3Ro$Uq#eW7uK >kH,1LX3Rb32cYgz *%>>ӫ"XwW0h<ӫ>LXsCCD$zED<p\WMDiWMĊPzDtU{ͫ&n^-75ݼ"n&|3xwݽo&t*Xݫfbww7G{ëf^aoJxW-IJ^YM= o!Zt qeW-DuO~qDmO8⯞^qDgy gyUGUG|q8bY^G?+V"l[[l[ʺuWѭDpSp[+ýn%{J, J\+o(qO/ʇJ2x<ۈyF4s<ۈ}n#U}1WmDz_ۈ7z!WD>߫9X}^5a 2}/*F k0W0byWHۉ^ʻۉ\Uy;|ۉ{/{e^1w^v(; .@8+>xkWJdWfq E D `/K 6_~'q^Ew*xJUw_N"xWOWzuI+.!^qwO]s|W]ĈhZ"N+n^w^v7q^9w˯󪺛%ƫnb[WDb^ɉD nM$ѫ=FE^7yClɫb^f{xeK\Uv/SWý[B#NwPn󪼏x6yG I^QIDCW\3+97++jWa2̫,7̫:3̫>xeWs0$eWp<}Wpb^iÉa{'kp۽'6eÉ ^Q#sbGw%x% 2G ^# %xU F{1Nwz (+~;'B*>ѫ~D'^O I&J@Uq~W$#$ZG{e$j{$ I\0kH^G#B$ 1~a{ATy?Aת'gjyY~)33;fzU# #GA 23s_ $ b ^_ sJOO2ǫp<2׫vE,B&+"}L^yDIW]&K&z-*Xܫi* *U^1_48gW^WxM ^U6YU7v +&+L$n+z"Χ^O&;>*HWD⼕^VzN$jH Y+³E+?"|UEUE\,Ͻڳi_xeK&&V{fm^jl^UjV{5dOj&&]6P;zW$5^E*D\תIvO"ڿI_{L&P<+2qŷ^͓Bq^}s9z߮*!!nk}1;9Dw^9yM!nX2غΫl ѾΫz ѱk"{S:ЩD^SQ?x%L%:xJɫ}*W4O^)ӈ2ʟFLYU9[U;ޫaziBr{E_KKUKܵ<:ѫ1ѫ5xt6zO'oN|+v:wWtSWtWtbhWtzS^N{M'6{N{uL'6{%K,AWLkL^93 ;3^3;g;l&Ѵ+9WsUz%G|Wsĺ_#~jyW爃zO+&+1dWZ>1tWN>Q˫,hUO$՚OTy"|WČ^{w{'UW@8I_ ^=A^I/[r_ o*zl*{U"^ ZB-^[+aW߽ Z4Wb^s߽ {%Ry KKdJKʘKʛK*K*KK,:~.Q~k\C^sC^] c={ )$/$O^)+s>qy'zW|\O\d^O\e^'^DIbWE1I`1qҫob"o/ [@ǫh?^e 7Z SbR'SNW=LIs;_%vt6սJ\bkSkSk)5b4M9Wu3վF<5n&[K{JKi=M%֞S^׉YLQ/2žN˔:۔:T:VoSMm:1Scb 1Aq) k b` bl bai$c*}XǴMbg7>&{c /%B3E_gJ)%3e'3JJ3U5KKK}MVJ|q)-b7E}-|S[D Lo - M)o#jOEĕM Wo7_H,oڽ}!iSEėM}7 YDߔ8ߔŦEĥEDi),ҔQiz.Ti*ej{5]bSwIL%`J81.c]⒁wM%V4EGhy<Ȕ4Ȕ1}=b S{AbˈcCMIeʈ2xSEqu)XF7՗e2xSG|)D0UJ1/&2E-&eJ^L|3ʔn)o1(SbѦDhSbbhSb?'>d{ؔj}8j*~8aSj'R65O,}ZNiH9ærGLD#rGLeD#`9#rcL]1E-!1.!ncJ^B$1e-!ƌ1,!1-!1ZBcj\Bcj[B05o)`)z)4SRb]x)!T=ִv)qXSRⱱ&,#5/#^kZF7X9֔~)}c)wQS2beDѣzZ3T7=fWA>f ^y̔TA?fJ |̔[A?f* $0}HLz”!|T! S݇Dq׌3#"eGijLqǙ>"ghg*a87qK# *qJbF)a$0%U_d+2LoJxSE%1d)XI~ZI|DǓȏ{2}L)cS܏LSİLSLScLSD{N͟6Bi'ΧM OL%'>!M0X1 ur̉DEMˉMYˉ& C'JL4U.'h]NhjXNLhjYN0Աxm)DSd|)X3єXE4єVElhʩ"N4V'ULUUD,*,Scqy1˄ĝYăYY,S ,S b~)wNhqԽN[A86Ŕ{)m%2Ք6T=մh%qTSJ"jiJ"zq%7ԺHj*"e)|>Țj]EM5%" W%SMUDTS*zi*bTS*~i*bTS*e)3})3L?#B>#"?#"2>#b >#>#fL3?#^fjh3b4S焛fxrsωfZ?'f1.ߔF) |Sį/7UAi/gb LċsL9j9&&1]MkYMkJ\M g*\MgXMd3WKW35&gD4ux#SDG{+MV'd~l#.ĔRGrSurSG^eh2e@$0@[aԄVR~$ZV~$ W$>3Dl̔1sSO0'0%'FWrզMjS/M?_&ά1Lt1UL1Yc3qvgWS Ĺ5!jLkL) kLjL!5 5 Dt)T15o n1"o#WcH 1%l$kLkLYjLkLQ5ʍC5ڍ5ĘSFblc#X)xYO1kLS5zSN=Wc*'f֘5zbVim=QPcj'ԘZ6/֘7E5MS&S&S&5M5MĒS&bYi&S&M5MSfbE)b3Q[cX[cJL1el&jLykLś7No&~=忙fb)ľSOB< NB)_!:NB{AS/D) 3h8;hj4/9AShqnԯ ASB18hJm !ASAquT@4U6 ASmqW@$M- ĽASG4m!FM[)f 12hJBMi[AS"5h*BdM-DNдv 15hjBM[g&l%̠)j+4n%fMI[)}+1'hJ4m%Me[wU[n+8hڹ(ڶKmDE0h Mۈ)c6hF uAS6Ǡz>hZ4FMۈASF!hHl 4F5hJi$MD[ДH JS;H)F)F#)֘m'טטkLۉ>kLYۉkLۉ ֘J֘*טj׮15l'b֘Z71ul'bטšט"5&"y)ƔD14ט 5EM#kLUMĤ5MDSc1u]c5DSx)vSd)}SthSbW;߾2u ~mI )u'Wk*I~'Qy'!3ʵ_LiL7"E,35"nSos?R#TO߈.Mכ7Ϧy?&.gSn▟MLU ċLͻ76l7x)tS=ėL{uL {L{]LY{CL{TTT԰teqFS捦]M{M1{G76l4%l4%^hZxwj/FڽM{o7Z6hh GhGhGєZoJG7#כWԛ7ԛV#n7#Fԛv#7#74SMĬzfzS\3v)XZoh&>75_՛MzSu3޴8RoL77d겟8k~M!Lk7RC72n2'Fo2'dOLd 'fn2'^djOdśLO6 d>@dJ8@ldJ=@d:@d*8@MDͦDͦDͦĥM-7:7o6$lh3!j3:B ӴQqOS")(1cRr2%"MGvS(@(1|nMqmąMimDqSiQ{TF7ն8S[v'}Ҕ'Ob@Ob?&#4S1bLuLj 2rŁ}_+N8^o.xd:́7k3Hpw2H;~"w8O~|;&;;'^u` : :`KzՁ?F v~#|w#~D;w牂[w߉@ݍp`(E?8q#?8`K%Ygv m&v`$m@d؁ǂp~ M\ T H\ œT@MSF<]pt6&|F(!P9C%z aN2\z00Kp(K0Y۲ r %ag #w0قseWN/|E / .'(E+  '\(Nع@p_Nnł+Sł8Uw8k'B)D,@/ ?%B DJr;"kmn NFZE?\эPW!xo7¿+F8^0" 6N$~H²M[" {6 n$,\EXS-1Z(Ղ[|>]hǷ .&jh[EfV NxFpRwi ku'\ѝpFFpCw¹.>ڝg m!&xLH.B&00uCɯ Vr_|ea낣^t.8Is^\$<*'9  nv<*IЎ )x᏿\|ao }CZ@డֽ%x(a[kξ%Pm~ao NFxm7Fp0Bza6g 8MpXaGm NK MpQMpua;[#\ NN{Lpp'wO'4NY~Bp v l/x 킏 |.W/ |`Hc .Ix=U# - I+ >>w$<# >H]G?\H8%@"S O H$|wJp̍ N0C |(FWHX7~7>HpǍ;?0pciQInEXQM>>p';F|" 72yFph/MTфO_M$‡ DXI3Ap? DG)cc:!\3I}cy>gw .KSpXBF[T_K8 Nse7YpMG,M`W2aYUɄ7_'`%p//&?%_NGXq/# 39G)8BΗ#~)8z<] þ\:Ϗ'oc'.CpCp]40/>;xA g/N! 81]) .M!kR}-XZBׂ'#b"a7k'8p7[&#D•o_H/I{%jM"[p$< nDx߂L",Vs2ae . L,q2˂['޿,d˜+S W_\JHR -?j/'8l N!h,z a4nBȔ4NpXҸfB]75npЮ -vL8BLƅk\~ a@5VkByGn!8v*CS KHS Eh|q*בOFXq4hON#<qt''M'tFk6EE 57鄧e1p@8vCx gƅ3S{h23qe!'8)0"VtBZMY7c5nK'j|&&V鄵_M'8&@}4N |G j|<ո#~#p34N$|OL?i\IW?2 u[MӸ90 NL¾8gqp4.tJh\"<@4"Aށw8P.xc{5N"׸(p`k| f:kܑEf ո2PelB0۳ Cid& b6!ga9%4!|2\…!LHZ5N%1W>qm>17'qk>aXOJ8v&>^㲙7kg&!mGfh|v&!rqޜqEDwNOԸDB$gM8wa@ƵթEqlB)&,ql¶)&Yل5>;p-!LӸbmƍsk|~Rgh\TH1C㝅i,$ܑBž4K8q. иf. %x\KXK虩ŹA#ܘqy*|B\84O"B<Ӹ i|H}E'- -Ҹ`@Y@\Nj5YHT҅_/B¬2-$\(8yW-"PJ^ϖ5_J.%8wk\P[}K 5>nۗحʃ.#AA+Gj8l9a?qrB#YNxIq*j|f!9/"y a7/i|0%/ ;qjӿxjBa&'Wz8y a Ѹb G4_C!GyU5[^±4F5]K5k S[5>Pq6*ImWUiJ*ߵi|p;_ 1」q:B;#\|Guj\o5>rLkBNho=a+ ?8na)k6vҸqSl }qBه@JBiS+ Ok\XI(8qE%ai* ߞָ>ع0cs7?ָz#!m$L;q&g4NDHTMG>ոu§_DSo%ƒ!,bqT۽GV1ai)jUw谴L]n, (: `,ٙg?/ex^-E]gtXjGcŇi3p>k @N>PtciQO}3@Nc c8v+t5Ѷ谈[k"6ߚUeu=wCOƤApI(~E'[liP; 8& \'WY`NR8r (VJ/;Onv#Nf]MT5PN^j6ZM'ty.]9Hݣ_F)?N^A~xT|R)Iay]Ɋ=KFDǏRͲ޽- IVx^IVnWú=g 8wR7bon.i݀XWtܔI4nA[]rB_7 y}n@n>G,n ,pa¿r9^BZ[fw(LGꎹM5_$Px9Qcw1VE$P4]^) 1k:ƲGj$pve=*p)<"wQ@Lo[`eQ@kc-(HaaG(<]$ % ^pv< uD ߄x! طPEX4PXïWv u^YbH L}}1H)'ge.Nԇ@hU ~Wh&vѼ4  {+;O}_.=w*mgnTwO2=1e'B]Nv}B Nߴy/.~f| wc] ;[*ں k9o1kw߫۞/I ^KwZk .˥+=Z5h^|Kny ߥŝ%>ߥy)Wߣ } +fߕ=QuMj912]]QC {e%'KGdgGu5n1tÃ;RxERI ]{R?ҿOhgddx: nSW<tSx'}Vje/G,9Yz_u0/>wּe>t+/~=}+?'[|6;[뷇Ҵwv,s/p`=L );\S+"leaDc5*L&-Ө>hb#YAgEهBIWo=pWsBm q6lWgfNiuwL=#K|~I8 W]߇׭=G M'>5eM k\^;;Ͽ2x5+oJpI"7Isܼw)Hx__X`=SNӶ<#2I7B73SgtvuZ7?qMݧg~'On~\ dǓO*<7_х/? Ű:6~ߌsmÏ 9tLt|gk\\(Շgw.gc66SA{ϯx ;Η#r!Y@3 Y9rmͽ=8xˤ#/pocкB@s JVl6V 7 ݧΗm: ͑m:n ddcZ7\+6hj `S%kVxH7푺MijJŋvAf]1D % L\絳yЄ7QqjC_A{_{Iak >fa>4`_Rx,#՟~q` e_Y&7fl僶,VUloBV(ovpύ Oo(| ZlғW7^_|]&:LސX]4zSq͜NP7/ӳߙ:ކov)Җgo*mP Ujyr3 [}6h rrBF? (jņrYU mjV{6 U{/ qa-&o)Wpm, My!@[^f݅ bU—]=}6%-0tO3?`^^қ5{Á>>5y>(]=F;qŒ_|"SGzAVTW4'2=".Fp#s䳒d*}i; ϶S߷kWFvv+<nٛsVEqҨw}ח뭩}0w0]ӿ7d'Gǟ-;cFyOo$P-w}{hFߪG`#lH`yoF:FC`F`Xl"]?,1'|ayE' 3*o|u]"›GL9YZ" ?X9>%.WoSKF2Gu?Px[ieL?v]T|c\r%cӍ Bp{ty]GdX(֡6j]ibd"u0'>;varȕWdu ^vtG;+>Ȑm|`hg X4gh|~"3mܣNhXse~I4v*坙:3ߢwOyߝ;ӈ/2۫Ϗ0& Q+u3_Zׯ&,՟em^^mh]0N1+YvL}I ŌAt*>I@ݲogإ$`p11@e? "3wR&}Eko b֌tc/uQ]VMd%|Z*ۥtMZ)Ki)'^$+KrwyG~}eq#VN̐}}S+, -8 Xxj,WV;˭k~i Jіh 6{a9;< l<+IcΛIR#8ju> PpWruW\o]1ϙ˵r/, f<Ӥnr&`/Mkn3קq$ I.cO/(\} R0?ziuQW1_c(7Sv'—__.X:o^6! rb0opY7~oqs$`l+x4]dzm']{N>|+ß 999 27nt18g:LU㕯 Ƙ'wE|B־u >Nb}Swe7tū.g~"-bwmkR*wf қZrp<x =>NngT7gT=Unu?݂^~i 0ꍣ`)@\o%ri!R>uS}Tw\Z& ۹)>LPRGit%r 5nJ[ C5 ox7f~\Ofx PׯUE7#~G 0`/-h:w T-}푵7S* ,גک!*c=Tfꭳy*pR$;eDIͼS1D6338L.R1A1]##T9&O6\ӀiX4`Av0+8 LtiLtڹqnxni-N{~apS MjP =~:PTj)ӁBWC7ӁE8˦3Cଙ a8N*p6T9NI}{^Lϻ>MA,c?O@`:th0L3@cΫ38cӀgBLJJ7i@Pӕ u'4$AOvGͥ4fg1[#TwgӁ#Tz!-NmU:`֧'Fv9+mu;~48>B\r\o˗lr-Ggi=$ju]״&[llQ[fs -C䳶rm|Ԗ!v[N3iq9~ $^/$f SАy&IߏILpR~e$Gr&p4?t<7M>ڵo>7ԹLb韅:%'Qq3Ǩv97\'a.J/~P]LߚSI. kYs,cT΄̹m1*/uGҤ_REscU~1ߒ(3erE\@onI\Y@MAq^,~jSuN1 x#Yf,d>Gpul\Vk6`sM )]nqݡ->]g'Is-6('2,:$C>k뉒C]{̞Pτ>(` =ڀ`ʱ>EA"v,%wز䳶Hs"Gz2 mfmYi62L͖'fʧv[WuK>m@R? xYCv:).(Rg|KN͐\rn\8[v.| 0Uʗ~S9ٲ䃶 撏ڲu7clfsK>h˕[l&?Ux8_8_neuefhan/2WE?NΤS62̦,S6z[it3L+;2ٳJBSy|}~̚[v֓O{*<=,0_.ΐrKΕ<@Wz3*?>lͱ& TU3CVIgZ_M[)X;W[XC96셙E*呍F|@i]PsB؅ /wAZWj/^AFk" ߖ5\`9Y^g,tv$/6!/8 X*9ym~̓u/AY]KBٹˠzZYgKT6ԗ5so]z# |̛?uJst _%/!o6w3=g뛥*]o˒Ӥ 5 ]bTNf;&۲*& 3PVW|7[qwՊt.V\U!p՛7 ud{V\tRCd~+3(XSt-C*3US)V\{kW䦋ב"`i\'q+~늹V+nXq9+CJ]>W`Of.V\{kC:`~u[W[q^^׹nXq]YT} ą#.tՊp.V\ !p4ոx"vu.V\wu>W"ZW}`Nrb"`E3eh`%{}u m}^ǖy8,ٹ2_F쒶ߠ.k"@r) f?[Z t5-lP}3;B{Y |Au1%dY |AשּׂKN>8Rd~ Ru"%Ys ٨p_MGMIB]z7qk=v!xFQn!IO:(zq?!Y}g`Ũ볻ú(K3up=lfwa]ʷ_Mj%pCϞ{Z\ zߏ?ϵTݐ~W|\%C*&uc齳#S :? qF߼tyt4sVpsF?ָwl%߿ xXu Y]/MnlR SH|ԿvMX&`MGUoQw4Tg t?ɵ j?ljUϢ.4+뒦M@ۣ>PD&=T74{ut*謌 mۄ[3M4J(Vp+pɟno6 o>]tZ $>fg'^};n 8q+01q3V?L3]v3c{:ܶ#U/SpB<&''希䘌S!.p_?OW)w-U]/_WuvIꢗ~C΂m~DUn=n 5nx_O [Cb3OPa7 1b^=δyuUmO<=]hEw?e\wt#?o)rWG7Cy*8w6`SA[y-e;q PT@s OXdp Sآb Pϟ״s PͰ/i/ݺxi^[W9x6ve Ӧ.0FW=rmW}Vx.-3voB{ F_ KM9ܹjj{ϚDmؙj~7W7w#v`f~;_Y>?~B8MV˸v`~s4v[W}z_DP?ߟl SgNSTn9^<$%RrRFRC)r)]C[53Ot#'xp?}Pq:p;UN1]\3~+ @VTep~XV*MX?|k /ߟ%]1[/t_V`ڋlSɌ(§s /Hԙr\rj6Ϡ"(ϣ U5U0޳o˹3yrn]3. b+]Fk/;9wϹd{Fp-C}qۀ|GÀs It 7ۀ{E*;``GpǣCuK 93sl^خ{暙\5 xMC7, V3eo6cN+?&jŋƺI@[νxE[5 -'FI.6 8-/$[QV+.p[|6{{mUnj1co7p/s>M>|vc0_ގU=Ň+Mysӱq5>΅5U`VUܵyFM^_wE 0E[Sm5\rV9m@7u'繮6亮d2꺮b2ndۮ͛ '[vƨO׊5 u?'FV5-_֑\Ws^Nzвڸo^?_Ȳ[%kiOCROyK.Pu4ߗ|?S,=\wM&/Ӏ%ӀWwE}24]QCd+:,Mrl2 Ӂ|[m>_Y?I?Ei*tQnzFlKYOdޣDɔ[DN~h@ꩳk:pn/Q2wْgN%5[p G6\^FGml4a?<7j5md tnt|hkalang'(0f_=(b_TWo싵E{Xc!$_$Aw}}'>#pkQdžQ2]goZ`(M̽`v/_-g#׬0\(k{ .jsv3Sbn1i0ͅ4}pah e@ Í'ܹiIH~X=W7syYf3PfGm^>M3 _̻41]{Eq,y |Qidp$gdE1Æo˅u}>(!;ly ~؈IJFȱG"ubt|pN%Θǁ_Gq`kM,~6zwrq#y/;bB_ȻL /u#Q?0ZFid2 AU=Z8$ G?z|;S9u|pgkdZ:H>I8|u |Uh.RN,&@\ f% ]~&0T9fLFR'F4څpTxw|h"E]zfʟ$Uϥ/VToǍJ`"ʾbchfo$% R,Y@E+5fYTJ|Ϻí#xf)xU3^?81>F ǫzo[ H|~&vūYZ_wDElpOJjY;8:Tz'AeǒdIv;O%x Q$uP:z9 4-RGQՓW #/k n\3{8p&8r^$Pmr<sM SՊI'x P W2'm~}SjaGuƻDUuy8  3Qe'6c9O>o OM?y ~}9§]ɪ#Wi`[SV= lLVzQg s]L)im@ղ+DI)ߑ/O'՘|sNy9#ħ,fvV?s[;ǧnpzkUSsɄhN4ylm*[pMi^b,0tuJ^|<:8jT[O=wR-ufj\lvP?knx~ȜtJW:F7Q681]e]sJiu yB"7H:ùXV?8:b1?hl6.]L ɋb\&w~re10uIJzA ϠCYν9`Y#nb|E[lr/qѺ,hY F} z^$_t62pr*!,>7OHg4w *rO}Gu_ f{mٵ z0{~Un̬\s~—;׏p;x3(fSҳmEtjzעȧxɃ9^ۺZxZd4dLC]TϛoZYq{y.ՏЗt})$B@*\0bERy.X<0BaM8sFC <ظw(sVLp%jLo p%Ec9lSVz-1DTs|Cs5]U5E+ dyTkf1J O`s˛Ѫwm9+9%S5?sUYFߢ,}WWyx@e-G!{H9R:8>wSR8ϐ~؞r;Eb#l~s:e}T6r]RTj>jF%9,tfD:~V_ RYNv^LV~tm+E@w5yMvE*Úl[8K^%~==+Ћ#U%S%/%eˣTGNj2Yr(ժ72`(|[4] 8J&jyq.k2*Kq~owYu9 #3?ˁU wL@>@N{srFՊq]hr`ύ Ȋ]1,q%#-ˁcTð]-F1|Ži[/UcT F^Ə1fKScT71S% /=+ 0_Fh^:m՜Xwlw]/ycU*+[u$ǪV̲ _5b5,藁}A^;5h_u^U-(yX5V=.x `XQ~gsvYZ9ZlZFS" dĿKt>+\I)?i藬;D7c,KKaIe={y?*˂N8uy{a`V 0f^ YQD+@U6zt{Tw\ *w >KW 7vC~b) OL}ƩV$?_:S-|̘V^ׁ_aͿT^޼]ekC[]^yONo%K%wlqriVܩMn%.ޚ7ԏ7y8uXx#1'uuow`q֍wu|W{zތ:G+ U3dnǘX <;AjQnϹ+CX2?*G93z)[H*{H7j#ƴUR1^JM{|ǾUl񿣀Xg 1SeϘ;ͳ~ #\w.w-]M \eF7(%~7]`,u;BކX<~5Ξ|M~i>xFeGZžoWI739#vni'Zi*- zϩ6%Sʷlg,p;[N^?vDu9 -P-fcY[~@킘̨͙d X@ѦHՖ>o5H>:aT+U>p7b4>^c-´TʊRp!:NFXs2mRCoSnxA 0[>pņ>p}>0ݻ}. w:>ƻh}?n|w$\/$G(z1fb}UK\>=خOkC1}Z>nZL{VGmDF(]+_XTe~5 61?cW~ջ^d-R]PJcv`k*ALxMst pJjWu-y dgztl%K%5ZF r~] oʫw=.%[e?z֚3z=H|Ce?6T>? }7T6YGCi\Lwu@7Y$_÷%4Wj3Vf>Wytk4N}_e%=YXT6y! FoBNkn|ܶ^eׇm2O]~.nʦ'Ik)RrNm\ΌV9<:^.KnOr['jʧ@;ɉ~綎 xǵS 3XW| 4DTVbe轆5S`.uNJ{-[e]T9d{ V6}1uyzLhNk\ 8lC @!]h _Sp 3uPj^t0{yLe[>W{Og@e\?йͧ3`a#y| (π`BXϳ5g@j ^πՁ3hπ¤0F |tN \s +%mZY%+zYb Os`q0)ءotG?.|D{90䰕˿- ੓K9&pF+ P\!(ZaHh1cE-P-X1u_:^2?c|e0Na$pH@2k]R7%g`MRRGyf$=*oJ?'XuV=.#76IgƟ(%.P#C#rNy tz7ΓW?7.-^\ݦՄ)q'>_ ]¬C+_9tC̻/K,?^8mq+o[%fM*qcW//&bse0k0^Ml Ƙk"aДf/Z&`vIΟ5q^/ﱝyoX X]fھa&`ڀ0?_oٰ7t fkf`߿6<߿X9ܬ~j^ož8P]!zw4IJYl"#Of7Mz b+9/Vウ=!wVX Γ(wm--qQl[~q%I~+Xj]`v~omoYdd뷚okìlvl6[ k}XowY-001MMw[l.SZ} |}X&6w@ma=OɎ0v[5"I}L^0[W|{ {:4Ѹ>t8ptw ,ωtT\'hxsGX덩4:vxgwJ_)-έ{܆կÜ619gh+ڹhk]tҚ~sю~䢥nh_hݶk]m.Z6`6~0E 4 m@j.2 x <  X?.|ck؃ItbӃ_vحMp3Fñ $cK@j8vqOya|q?n}BP  ?lK9q|ܭfss%RÔqJS [R 5PDn Q)진,R8P M $?)a;9c)v{` kҸ$eC%pO@g%< JAeC [Yj4ymN΢XL uwXϫq5;7zpES櫄_1RXI,T&^IW֒2'LY8PYX'+u eNb02'1zM!mw 5qQ%brn_]c T7HJuRCJuR%=6'́0s 93%9'`0[^OR{+ b&܆!/9fWdJj< [7o{)Ii *9|əN2*S@(U-'ߏo@?86WUdON\ܦ? 3}q?öVmee70كg w+4™ @f+}@˛ŷnVW&]AnD{؍ϟ]E>@k~:Ҏ+~K+ nͭl^h?Ɯs.+gVa5ǚ~xͪAsˡm9+r*zXzGx/Ayxn_][+ps 搻8bΞ'Γ %jEX'E&O5=]m}(I@qsJc$dj:e]h5$]DAl<k9pȄ;tSϤv{S]\cŐ7*^ď~U~f"{΁&)sA`b MmלA^^D7%%:S{Xt߀lIbCˏEQeR.Ezo>E(GI.Iim1y}m"7/Em7oE5WRw,G~:(60N,})y=FspL)KRF<?ۍ'[hl zi,gMR5_\Ԟ+R|>)˨H\ee+kXYHR߯DYE9W6Pmh4Qr#H94)WseTS_y7v^P!;my;о߁sPOl9|>|m5)k!ٶq{:VLlsvX]xT+?6%d?; oZ qYj,g+UDc@\G*$%GNGYXGܟ4֥Er{p;8'pf˟_Կ L}*!۲/؛pԴ(+J(1w$o`enXgS8 LLzJ!묯r]s/ڶ :Q`eg: [WxkTXQf|f}G\cW{􆎝yTR:G&+Ud(Uq}܍CzX+5*uTTK_~$}^hO=jL*AS?Zg$i8}|:[]-[~&w x:'jǀM\ץ  X{s7c@8GceK 8̈́1ܢ!WU`wvf\m?^lr7Wc#">4\Yؚ"4+W=Nؼfst~g0&_c@J뽉@ؔ_@ΔsyU{y BpЇ}AH(sn.ilYmq3"<izf{-'%M4ʯ/=/;[@@Er?)JUYsϱJ@ϡvo zifDYCSjLSu g Dcb'b )G,Q*BBJPJ}$T*Jn_Oz4IT%S* kGG*!j~u~U$/ՏQT=OLp^Hc>/#[i.z]W*}̾bqZ;U2aX?ETckAEfS!v/%d&)eے$yɥ:ook~JE~|A'_)DžzyRGI(^czso3[" 5tb_/m+GQNfkH+m4/esxK䀘 ӆi6\v/1JHZBHIpJ~QN)~5ow},tY d`{Q w16Y7;0bBڭkn?7FcxZCr/2B<kHgD5یVɒs 4G>.nF`]՚[ GUO2}PkBMͦ%9첓딌ޢT[&hz n@EBO:/2G47"~& CS5g+FSGoeWVRR ~l3U!\q+6ǩc˜{4ϣ')6c7jCWcg]oŦ!Ty&5| ׼ ag6{5TjzǨM1g^CTgE$}-:hS֦}lũFǀ(}u* Q&[S Ek9_`=Oh*aqT2uܯ ~HB@hx@c]T}Fc%6:ߺj4&aqI~UhK=m]vk앖`WɻjɧED͏?V)hlr{y$sH;ޣޑuc]شf0iꢾF.;6ilNJtЊ43Fi<0Ko(Y%1Ki{gj1-Ob[b[t:YێLM=rJюof*ԑhGธ \_WfY;6#>K5Kɔ8Վbf+iGe;Fed/JZm~?:P;[c~/ZHrV7_ON"Xq,o_O"\&Kܕ'yF;F\u"$7s7۩ɄLd·6'g4GRPi_̗SFYDžKO&L8Lڭ=Wc7ȵ޼fX3ty=aOc?:x=a|`\RO!,o&)k96)iV?{훅196WKi̎14jи73iV?1F &뫄\S=h?t?ɯ'O%^'ZTC~ ? :(S;i1oVJXcFg ,U2TBؼ#N]^VL<%Ѽ?թfu ^v L_9zWv }\u$T{(cEqoQH|yIDǎ;^|Qzex , %)U\E,#RGR?F`>4Y5wl%}ñ45ˍ*SiEˣ~)U`WϮKƹkpȪ"%$]SO'#촣Qt¾5CZ1Y'N(_s.g+郬->0`Em鄙+4wO tSy-R;fسAtNJgu"YL '9B>՝}_l}}31=޸^a+A|$^a+{Kn8҉b1-Pҥ~+> k~dj_Xzqsp'D* S7אEt5hl|W{5ֻYYUl䋤YC;CQ//J?IwH/b7AHYkmkh|3Id&QH3 +hV_|c/fIxeᣱR$9Sv&C3gN_xfLk5G_g:hLBZ5gZPEz&jc]Ͽ7,£kci [xaZW,lɪj353ha@]}aG^ l"L(:v}ᎏ4mozO'!$ I:ߙ0xƾjI_IYۙfI-?_HDRQROf< i:~ ^ل_h]~~UԸTu6/XKKff;lB&MC^ʟz6ahR~c/_wlǛ47yp[o|]t>аIcɖ.'sui6Vb5SMX!=XtJ՘~Yuv_i{mI C l*s vֿ6*_nv? 3e{J4&glv.avm@s5~1Fk\¡횭W3؝!E]450iƮ;NYqOSQACuhfD4vo+Zs*_5+ɏ:f}prfGxm>l[l $=7.In[<)?kVj{_*[,[OX[5滱Eo~gB=g#g0TOHحY8 Om,UOmԟ| SvG}QsY\@R. 4il"M.n]&gr_4vmgy,&". ߣd.u=-;+KBxEc.M{4߃?au!Ǩu[ =]?1guaQi󥒚B(ګ2qN a^)/$ϩ"DDži,)C<%K ."̵ja~C_DxtqNFEL" [ZbVf1Lp8w!"?,?:`+fEFɬpO0.N-Mz1)YfË OK *yOi1wѯbϿklbBC/ĿPyHcWmńGi@qBX&g*/[&!)Ys'Fdcm$h&6'GDIhc^fd9b5Iq`Z& Cߤn79lJlx )bg{ O)bÊbT%.rћu%3\s T뽳/!(G,y;E*PBrIJrf5 {a}7»'D\ؐoPG*R٪aUkN-E\+WBivF_E}ElճXG?WL8q0>-N6^E7ͩ'iWnu]EE \MuE˼E ^ME+p6j©.ZE}5Arі]MjmEu5kՄO\ku^m?v ᳶ5mm#1g6`F\C΃ky𯿆X!v ]C3SZ>swBGgvNhMyvםp Aq_ 9~p/bc] {vOZ}ߧK}o7؃0؃y L_ۃPqW ࿵a}= =3'E뿧~OIx١=]ٓjz6xӓx_<OAz8ԓ)XZXRyk X?Z…W^K㵄w]K资Ӳd&xf_E߃,TYg^:ă, z&|c6vk6ak;2q?2lag&mل?y g='^@xCԿȩQR@CD?]@c%835P+7vlY"l>%ݘl%P/E،۲"1R6P/Qe P֐[BI 8~HTZ ߝqL+$lv \.ڶB»g>7:/"uFםBza$γ>*"L8'NlI~H_Dazc򏒲J rP"( !gn# w/„.֮o5}.{ZߋuQNi..pѸ ;ipņV`v6rhG;fw,&]aϷ +BW^͌Xu6kШcQ ᢮Y]]BZ׈*? mloNM@׈%/=Oo)]#줘9wjf&faoޮ6e~7[&_a9~|.8CHrHmJׇxuD(J+sYˆk"; =q _ ]78_(zVs} /0<[{/!3⨩_ؗӈ;zru~FXFlZXܜC} : t!E WtCBs]׍ ڻh5!BbOg|gv<[I3wEнgmˏí_Ӎ}u$D,+FlV6 $]0"숅[QU?BvvVb.Gx ; #z<i?’lct܏mvĆR\yDL9B}6'<;+D^4czuu¯9FЫ-١ D,,I; i}ߟP۲g*sgs#lP9z3c\~@L\@xFO r# m@X +%|z״R«Ym2J ٮ_)߹6s>h#c ~yR]J 5ֹzO7vȋ蘜v9Ye]Ryv3gAf1#T?HHʏS=X Gtp dT@[7p0?f֠RCfr./8zH(Sk%R/]+#ohFA躅Q'\2PTa_H:BH@J{(Vc?Gt\h\Vao8®Fy ">uL/q{d\p0U[8Xw RI]fyq)S3u`$;ν|O[@ˍ`BP% .'?G?]J"mKFIǫn`D3)K?xq㵵{@![엄iȪC搻' FQPgyT!rKwy=Q<#OȊ!ÏEnB'qgNsPŽchĸ;-%_ny(.h2ߪJ{Q3P2=-YRҥ"wP´='WOӖο(\)R W̲Vq~JdzKH,ƠW$z[ra#xŖѺS]p:IOGY(#iv]GہrrMZN0'–/a7lnz1> f ]nk9aż[ =f+ME7pwms09>"k+?G0B]_~jJX!/a1#?Fa._Vh#Oz/; ' _r$j%4,mߦ-2D.& !Z) RXhe>w{H*!=u}sm~<ު}\^[W{;st a~!9f7~Qorw(o:oa~V~/_/⅔",=_/^u2_Qێ^71.(B&h'FhPos})=j&. SLTSLasPo˧j6l +s oWOM,фfLo(s42Ƙ;4r4J s%kOMh- 1cxфӖC&/3c`ͳc4!w_!90 t WyS?kn\מq+%>asR^~3GV o/,$φQ(wq[ +|+ᶕ~[ ȭGVg:6Œ~[-6½+Z "mw4>X) JWq|Fhpim:M+n#ԮkxoӥH;-vlï6<\1ګ/xn,C8oaVƱ]+t=o«UfD6܁z awCk5J[{:pۦM@&l2_o'}oC 2 k\wBNHs;wF^$$Iq/pjQ''J瑥wUNo_[ښ^wP_﹜Y3/~5BS_ie_.Z С[dx:u<as[w|{] kŚ#Ja^{q' ~iF; ]}k$oU; 6'׬BiB 7p_,CNaD>? 37:&;h:he 7m ~'  ye#墡rQ7fBx;YӥG< \Eh%`?=m.Si_{9s/ neVN$t70`2>4M$㠝HhO2NKD8젥M"|W+s$BVw^sw;֫nÎsT7as&Lp;y7VuK*!9ڥ.w+(!89ڕr[Bq[XBDZJ?׆ۍZ ~^~6n2JV1!ԓ!ݯt1~ƸO!}jBX9 Q'C_۬_Ɗ85+U8=;%=lګCCK334:+-.5^m!;[nKw/!s"E~]7i|#{R^‡;E=|߽w8<^;zM86plߪ'1[B. EY't-O&|PgBɄBœ ;wN&l3 ɄDd:}l^}Ck7Wh˚M(%ex,O0B8?"Ĝ.%^#nG?m)vm;wvvy>]a;lvO>7;>B{7Gزok5ut\G~ ~e=p|LBۯͦuzQOskm==z &-?Bk*xRwBTߓt?עlv?!A+ 9hji~qOAZx?!Q 6p58_5k/t]IJמb 8fp9J('aʧ⩄YDTT”гC ;fkHw /|C [x>@0e7dڍv"]з~>[rKrKlam=_ 5"̔YG [+6<6btNdB=H/ ;l4ny)8|?H狚F%L#('O#'HFe]|4E߉i^5WL#]8U]7p_ԽL#rvtB_syc0h?h` ش41{!c5 !D׮w/g?œE^U9Jri?sz*a»?m![w.פ=LH<]tnӧ_FRd:0!9n}1& :'U}_GΒ\TxWE(WimEYyΣ޿,%e;G 9vG W|QB~- }f.'--۸k.?D9h.A/OK+j͙K0~ { \86X]]٫%\ߪs1p\O` S<:sğv#*SN>Ա8O4QCsҌ1KCӧcs6%|r$9y[<)un0O"e#kߒYo#B_cY^iF){.>FE%ķI-n~|b3i X}gG+`_3`RW@t?NHhXfnO3שPiX5 Drt3k'\N10wr''N1||,nC2qyߝ2wgtXň cP9alV#8e [v qIx"AQ6|"Zn}'?EI!9.|ǽ|%OwRZ-bkj#Wh\t|oeݤa{ǿM؟5}rBneC{i$#^-'\-'x!&~ $)Fl7({g) Y3؞d/'ȉC,6S1!r, sOŪ3'r ˶s6=+)vיe;˲Oub K/P P#wL}ж"G{pJ_(ZKn3oN !m4}ڿ@xӢ^­;^ ӖsХkk.|+|r$j W)cR,./ LJ1|S3,'} eW)=lp`J /_h1mZo*<c,Ee5B.a͖O  cȮKػ^C#_$<5J^$7[1l 7(ڌVXtkz0E&/׾KY+!IM%ºa3&WN9lǽD=LVyaeap_3ri*f (EN߳'^"TW {[NNWaԗ )Zl{2AW5LXѦb0]?|Le?(ڛ[99rٙ'a!G'k~r;&G`l{pBb5z% g?hfP|#υUXGö5)p^ ,$|U%q}s+W ᡹a*? a\ ̐ٵrp{Foߪ"1yj\F u 1E׽B1qB1Ū4_%L1ׇXf+Ug)2+NSW )Beūmx˫}"²|΋UO+>D/"u"y"BcuEZzF"BӊvMs/Ц݄-Pl^ ׼h3\jf`UQ2T(?a'C%-`#?.t>x࿄ݯ+ ldk_LaĚ B ^,&.V,ҧ+H\^YqCþՋ KwD b K9ą>!c Rjz`f8}x|oX0 o0 B2Cye?!parE_BX\$-!@|%wm[۞p~$$Q;׬* eg`z%aE{]>9EKfU%6J K3]Ygɓ [Q]*ڷp 0S>]Cs]%@Z3trĹ_0hn-#)+ڽ3/#me C7(p(u9aEp-w9 V""|oLAbΦY;Ms"Lp[spGsyo\a"rNEA_E"p$"\Vn\1plB*8_E\lITU;w*VLMvG*BN\Exux4}]8fi#,,LݏU3|KVIahbac0sUQEXYys5T7W~Sl5l6D0 ň1tssLzov~!o69hc&bO_&-6&,Bн_f^~6Z<.ߺ+Uysn'&\Kr! إhɡ[J;cZCȪW\N!׋ńwc~z(¤z0A|PX5ֿCȫw?!^1rC4dz'!:h%LWw 3Eg껄+Fm,`.2aG6 }~ƿObհ}v=}B76tb0>,7Oؼ߼ j;u~XMܩcC wFP&jBNb)kYIb|Tj =Pjr;X1,#TrUZB>G.U_k UJ?]FLcZĀk {NHyhxZP4'{w5%==µ}u*'oUE,J/, Ee 9ly\+eE0þ†]!kuuº?ZGXݤhh.f I3㓽o!{Ūw}~flPמXG(^/H<}fhkcdX5^it=XX姹 cVPκ 6n6bEF[yk<C™*ڸ-ȍN`VtE[8釄NmZ\=t(۾!؀ ?6`ɭ<#/p;~Ɂcr&{+#ڸŻt~ay\@;mX73`c9 @>+uk]-gyFžb31k9r yt󄲍-?d$ SYkB@ծhiR>SX%&©Zԍ*#D3 E_uǬK6%Fn"\{babbV-/d ϶j7^K Xv~{m"<О'd}ޛ $ ZɑnL_l&<3ݚ9.GyC9f+"ẗ́=˿ 5\]l1[0$dB{ ]B'`暎BAt >톖#χ#Vsk O \BoEL}I[ ݓZST+r>G:-¼HFӭ/o au.|AX{k@n6Քsjo_z0bhsʈ #{GثrB1>B$̸=HF9V'0DcFg(K+cƽ>_vȿF][]fߐ=$4 υƓ/!V$Ǝ?߻# uBvofwq2ׂ]/',|^/Dx"=)],+G8[FNn'so@kG<ݟS'00tCo=ɦ uEf~=adwwF?' Ji5P?lہ ]I7}m*mwzG5rbnHɶ6ջ w/6;v6uyq7ZV#5$/y䨫3Rœ-5~F/7I)W>!eeQCtbxߺ ,yHt'eљL<:O>'qǙ|"*_.ssCMz%+´w(:'DeɵQYr]h;9CʐtyǐBazwE?Ow"̝';"̙-TaѼv5NYA qrE-ܸB߅rEs2yAOkk'Wč↙ ⮖+eOpj1Pg 0陀Q0@M8ـ'~MxYS_.ЮQ5asL]|f/삀4Z#iGB p3_+%S!kӡ9^ºVԊ60&w\%q{ {{ź$V%]y%tYж[NQT%o}u2=4}~7 =4Oo:~{SCM7C^{!fe@4237m[k6} h.<> h͹?gݼ#\v@KoW$tgHzቮ_%~@%K.Gs=vjvgY;ަ;¾sUm͋6#Ljm޷i$vU-/7bzt sWVvjm6nB8j`j.DS/QxPBhDh !Rը[BեFkTT#)dR.S +@X}j_.W-<<B媁)g|U팖3XN|;||[VJU׶EK$7RRd>U+nEQRȞ}PjExPҡ {9@(Ϸ>U|{YU-m+)9;9g Wѭ"J1g#ܠ w% O8hs 킃TWpATjt@ocj~X>4y[m}O~y~v  > ghң^S;'T63"~ ?ޞ ?VRQjumvXqޭD ̞AF)~ ̚j}ʇyںf]Z4$֭qti??>j(#iL36 OZc u={x:n?Dxj֪/=ҜAy^z5[9TSRtL~UrUwՑC\6X}3'µ/C.sX"57#"yYֈ}zǼ.TD#h![WDxUU)cLbeW oXVk0ΥtpRժ^vL(TLܐH^wW_L2U4-1L8}|u;Eb 6LTzMdM.!VZr|v]^,I^2EOVB5JL&^qH_|bjKo'ϒ{CnUs=B}0J%̩ ߃ !]U˅3PEz@Gq6(ΑSGkg9K;N`Um >Bqr1A רNr438te{ղ,K}#yw'xO55R~|JõO'|/|No69W/<9-0r%}_kϒSͱ4G_JgU.CL9Q_W°s6XN/ ]O>5jՊ#̕s3<9%!^47kUm}r}}#h~#V-O>Vǒ!?%r9 BYU9DJ25B𑛴7FEa?U6 ڤ r0djᵄ, cAߤKڋp =OB&]2Lcj]~ߦT'&ՈwQr ϛIx~ ;.8AWIhbc/ԥÑ? oUWaV[y_g]>vy_Nq_VU*n_zm_g;/–%r-3JʹE|[yEx}ײq75xu{X-I¶Qϣ9@r#%7psvw?S'IZK*+(SL ]- N.Bf F-W4J,Wr%eɕ4D\2 usF%޿]1q/p.Ոu̖t9].6j+vZGsbk2tg/4[jc {띹-dՅlÄݪQKԔÊݪvXN!anS/ϏZ'0TVzj׀a]g6c١AڣF?1}6O kD {#KZK:X1\GjEZFlq {ʦq?1|X\}U!ƏHM=vu/dM&1?1sQ7縀1JնU6n?1L2ݛB3}W3m_Zϖ} ~%UfTD.5ɉ?,](1\~H }lud;|!J #>`AbHwI 'D~KlQ 3-| Oy~iߊrN_۰epϷE1,r9yîoehߪ6fqh_s?adhc+f(ʟs #̅ ]諣*# ͰQ?G3lqb0|d{sUC|Le\,z|"*C>*\wSaH8,: oqhe2lp耪xӥ(R( ?2rP24texWe{PƴerYu[L.hШze 1 <=*e1 UU:;y^3. ny[-U0lk1 6rYc [M7s;MiI(1kR'y|w4Wގev ?zZu~c0GwY+9eX~t2h?FZczj9P{eY:ComP(w _ ~Rг٭ݟ۞0nvBe_GA .uw G3fw!`gɉ:KOg0l y o{ @q?޶ nܖ?p)A;ry~ N Ccd,>h/ 1wO8!3>uf),"&M?og29=hCn>A+.ˉdCg2 4rLdbbCЈ ucX?/,B^xЎڨbcPbcШd}L<,.>aA9Ub݆g1;#h`bY~XP =X{gώ 젖:;hKstU_M"tނN ;Dq'C|eN w2.wbS ǧ= щx_4vbF.ps]F4l9A&=pymbl0s:m1OZ'j\αaqS"czm:ACgJz?:3Ca9@;:3ܠ \U^ŝ>:7hN?:3=7hg4䬱ߙma{[ t jώƺ t Z:#0KPq3u]F&r {'\M]ò>A{ WGwEu3Gԍs`D-X.p^ߠ'{ry>E}52#jKQ6%I7|r> A#W?{˲aؚ ƚljV]ٌU0/ߺð~A[XޡÍ<$=F=> }w:etzexAؗ1/4mL_ Ծ 7;h2 q*2\堭ːepv/E%3':h {dmdjm\22mz2KZy2dZu2DmG2-Zc2PM_ǓmP Z:_O0_P[ gPVǠ ZqIt\y? -drr~c?@\.~ SN攠Qy8np {aІ¦vɺwCԠ⬷:QoRE SS~"ءgwh7N0AK0ApK(0A+0Aӟ!A[П_ް?ev5.t35g栝p) SEZR CL)!7Gjcx ECOH1lyIaHIp-S"6;m_ iڑvo! 28S.d͹2tw q9y .?/dHJ ZuQ!,)ӡBAm Eee9qb+HzC.b&ñ2wG.']peA"s-xE _~DdOp1_:5[0ìlbEW\Fw`c3||EP[ʄuʷΡ̐ӽ1CJrrBofr9d\TWO*oOeؕ4p/|rBxkȿ:?o? ZtRGxR} ;| [0|hW0=`X [sp#y|A^K. `X3:܇6Z/ϴ%6c6=_ɉm1Ľ} -϶GGm/a8 8ؠu]05+mnMmr*=p.a8Զ~W(-<|t)]WL/<@^ʐ74<m&2\34|GϬ!{:Amd: vSLãCuZ SjAxkrdJ=ؿ5AWruyɻ:Hcڠ6up }\R.c:1|w]P*D.* wjZIn1Tp_grÆ|-Fϡvx-I/ }5?X /gh_{ {lRhe3P$^Ͻ*>ߗ3\tCPKxx 7cw+`8#3s o0mnqfS=H?W0vcP"Bq)@Iu 7[3^CRУ>a(3>S-3c2LԂ^z]%j C[E>y C[o՜y˜rɆYڬv7L6դĤ)QS&4'FR& $ SBbCKH8ssu5u9u|c8ɶk>ߕ"bq㐦D-CXZ]F2 n:mˈ-"Vs2s8}tĉeDD{qh02neRˈ$2$2Dv2ˉV2Z]N%ٿ.'>hŗJJˉ>ŹkFE,nNju0?^N84ō&rB ߗ'ˉ1R]A:_A1:bGíT WFIǵ2̽%PwuI(K dKNe8UyzYׇyQIe >D/C/?3 8cJz9ݳ3cUsvyhp&ѥ*bE'9hVfUE|;;o*b 榪~=]e%Y~d5%AfgW]sѿ풲[.#Ղv%-hWM<ׂv[-hהMDnjJ\#[i9kTĮQn[ߗnĢލxv#ݞnć-hw] u ']Q] ڍ lAa0Q>1b<o-%rw[З+!N>~[C=[P1RsZ.3X܂vՉR[X_I!9.fݢ(r]C_;!_U9Æ&m'syDI㮀yjLja'1h12Cq~!/SؿuI|bfޗշExx>[ G>0/oN'9[O<>9b΃ƽO,o$8QIH885b.@>1dc*5WS@5-b;u֯4ئ8yFĸ#eٿ#ƌ1AR!?Û٣ dĒcW6]U!vBb̈F13+YMT}iRiH1)+^N̎xjɺ1ՒjZ;gXGfG)ysſ Ew#1u,qN'b|uBe]wUFpcÊ22AED~{"bfQ? NNRKU3ɰOcbؼ\}}E=ܞ]8#/vlc6[s1y~XOww wcwo7 ΏSB#lӓ(mY.={]cz/_z^% "ېrB|UΞ>;=Od$%"hz?H^/Rýet>f_/bĠ>cG{bu/b梈qrMQP _7܋SIcN,VEb"ON^L守S?>75<7b΋D"VmB^~QXyk˞ƱNrcDk19]MAhYX&IYsbbbW݇qOb򧴫ʅGG5a_ؐ8r;D &Z9)rm%Yj/2b[6(՗H[\Mߗ8seĸ-/Uȕ2%Ay%df  3Ɏ"W81h}d!_WVٔq\E<:b\nlLDEmcٸSKcϕG,2[1AQ?z;w 讙k5G \2hm?5^62#2ilӮ?m>e'Ru>5.O?Ox([B3/lKcE71^h^v'o -!{h%Ѻ!J:^U !鳈B$KG5(Kek;(1^?Er~rM[宓/RSvxc{d9Z)7u][%90hf=ʇ}1$`=*ǺDWx!\s=[#C "i5TRgXHu6 LO'\È玴l=0#VjjSV6X(Ǝ$fJ#[%h0"Ѷ$I#Bvp$qDCqDkWAAWgK*ъ+J~ZUD[A|,VT%ں bD^A<{q_xɏ[܋E8Zbܼ9-.xwF}[kFZV ʁy"ZkƩ-;GEFi&[X-f~o4ã$ZhQM&`飉m_e6i4Ux xsxGOkrO+r͍N'67Mk%1w]IlŦ,%14EDDKCIcLe Y!%ZD;Hh$1đCh[mbD;8.pIhh7%Zכ%&bDzQ#Ѫn"ƶ7m{~&Go"Ԕ-.%7}NuĤSsfbDKK ;ϯ;%7(8U ,T04&χ[M%ze0OR%~$O%E3"rۆߍ?\jfO%~wY>$kJ\졙:r֢CS.<5e;gd寚qvnNǁ7eӈi5G'oӈm4%+`Ӛ/,,۾1ͩQfsEM]WguزK^ LEM/Ӊ.ь쾤NTM3N3cK:NuӉj>LDťgtKm):K5ĸK5_]#ӉajNqygC/,lxG7&Eͱ u,}7+=u2{jf;h><Һī]4'\.ˏ_)v-eU4aAdפe,N˵^lN3+#xHԇĮjΝIU?8O4ĞI]5c;ceظeɂ"]CZ)E\j/Whyq23))E1{lf|LjAF.쿳9%p"g9A2K,c;&^|yUy~ٷt66D}flsa/g?5㬩ob?Ol⬞/y=5 7N\S3-woi;$(Ռk΋8Q-)RˊW6L%m=PssCLs\6vfUSz')Zoq8s#yDd_D/"k!0x<@6;REDff)rDci\36#vdy8-"θAs#E" R #EDH)qQi'_s L,<٭xu:*4VX:uĹaeuDZ5uDJ!V_G|;OTG|&њ=#5dmg,{0Rsj{e7SVǤ"VhF-b,ˎRƉ~3?B2S;%;Z]ĐQ>V]j.QɒoUS);-{oDM f.&$˱qD 'm+77k+?Oިyjw1V|kXX?wS+5oM~O櫣Xr7R3Cȏk&Vqcz?cl[֗iBo]mM<*M?VK c>%#c4 ;ˮgc+Kh<Ʊ;5T1+b ͚!o֌ota+Wy' G%=4_%q~ Q=?#K9=q:v1b\wF/^|1f=b8Vc Xh{'%!뼍Ӝ6R75'Gxyf| R͝f.%.h}hKz)~v)&V/%ΓhJKs$ZRD;DKZF=޿o:,#%Z2'i_H{dDXFh5ˈnD_F/6-#j%Z2b8=q8=}dO4vU{ӗ7Hˉ%ZrD:N\NdB^H'W X{{t޵_$jXNdJKxf'7^b8W߼M9{nޓ-7B }W0%FW{QU /1J3>ql5Sy[4q|c9j5=_x xfv5 D@ql۟6@ mϵ!"7!bP{\5O,S!rjk 58E5m{pbB7f|/ }޳|)?hKԶ}h Eng}bE{>Ï[bݢػE!hK!_R\}XȵYƪ4?Btd!24,-QRֹy1GzdQ{Ih+]]̔y$^subaBj€qOM9ę4g@|Ϸ=(=ª$Z3{kg)"sfȟ+2ٙ)A~/1=+aO>EL|O<~JIpo{F3:||k:hMn&mQƵ눜5SM胣<y7ܔ#,T#[^"g1|]4ׇ눊5ܐqk2uD7O[^ }݄bf?;=CLH0WEߔ=CLIgkquh~g7=C,hMXƽ 񐧝:E.Y5g7ēk\{y?+okʀw~h%,_Yk|qw73#I?GL=!9bNk׏9kg:m=w}wsĴzXݤzbRwYOxzk?/_OTKkU\Wz Q;^<}ٷ: < x36Ǯi&s_xLMzM"|1C5l"&Mz͸v_o1֫8sd#$_>eC!˓uS o&7YjސwW3IMfbH-d)96aDqӰ=g3Qؠ;+po-ҔѴt_iJ/[4~Li D֓Ԓ\!eT(^2m[79d5P8y[HVSlwNN"wf$8\"qڳ9-٭z:օNEYx5n"g5O-KJLn%~ެ0:y-JfDL]OJTyjX"5Sk^pJnoDo3ut+Ee)clv_t}vaɞ~w}XԂvC_!jA3Dz"Q3BXsf|ܮtۈ-[l~!9jFuvFUcHWHVBPJm Uğ^ ?*q뫚QؒG!e! ʳQC{^%9_%١9__&{Zu=\SuV߾oۉE;4c֯~_n;cvD?_ Mۉvظ&}-_?;i >)_#n|]1|O^#vMXMZX;ck_5cUFu;M<$͖FUiemC_wu;W, s.?^#Ƽ֨0-S&;vj_oE;%9/CwwU;;1swxAicPSG;߰]j`?y8M$n!D:1`@\C_'5厪׉OvlV̝mO_:q.u"ˍ1Ǹupfէw}rB3c759VncHeBe]2CM"x'K3N!]Nr74#?Fڝۻ\1mN]vk$raQURo鿢}DEDnͩU,7' d2sk7ͻ}vJV3ƤZ7vcwM>&ۚP\k%|< }R&6Ƴ ]xdݛČ= 4pDI32&q;qRX-Wpk<=\]/ͩ #m?0~@v.b4s71ٽ̽Y3^'iGV6e:_Mڲ-WM=Kv;oMln֌ŮrL%'p+MT3 t<o׬^ Ӊ9kFÃωY>3ڷkݕwM ;qmρ`yĕ4clG f!$Zb]@>}_n^ }w!ֻEq'$[icS6#6ΈvyC,kyj8^lN;Dw-V"츷J}xPbRm$~M3Ͷ#ԔQw?yûMDydz9ywa/4ĉ 3dLL)-yHR3Gޕ0.—6?4q{{DAW=bA/>¶}Ҭv{%{%G]=ך׶i{5 _kU˔^^}wմ2O{{iFqt-/^d%M{3Ռ-i )إD\)>1;͸= IG?}ba(ꭅؠ(`}x{7ԱՌbP}̋;4cgi8[_z@{]DB=bۧL7IGl??FGܾe|HQ8z]_!qf\(Ƕf(zCaG7܏k^!Q뗰mݼ>$~slC7ǮGww}y:?N2 ?T#vs%GtE¿G"v#c6#~<ƾ}D_\{Q;n]>"_ޛ=6#1Hw=ǖ8\{5_Zlএ\Rt{>":a{̾c!g>&>^Oeym"c1;1lKE﹪Oi"?ShZa{D7:rDOS(0ܨ;oDa˹QcЌk֛!뿈tcxG?+Gܿ!.k[88- ŎFկtyɳ>!FэSBg=:!="'N-\VmRv⿹Qh'vna)CLM'Ļnu)6ĉ)Q88jFqEMڦfTS05&]Կ8NSX)ݸ26rV7Y$?(:Uepυ,>#rnaDJ 2?#xA~F4ݹ/4ݒՏCTkՒBP`MV?s|F9]79T׻Lf<6e?1ntSos3(58OL9Cwbiφ''-LQiM"׬ωSRu_žω%!s?9@GqE O-tͩ4V@@[b|]r}'w˞DV{(B5cDrtvՙ!׍<c&o{Qhh;W!䗘<*BDcV3 ?8YM/Rr=nd5"uc"byg_#`+ .jƵ>/^?Xpnt?xl,׈gh1[ֈj^#*%Nz4kUFJ$TuЉt}~ND'VGi5:DӉO%ZN^6tbDk҉7$~.ю 9MxJuxHA,h_$ZT6 bD[1BV5~A\ޕu4 T,R$K_#%Z//KbD+)~I,h$K_ _$/%/e EAb~{~^yeuV-ʟ_HWY{ӹ? qzpADA"\ݸqjx7_=cK"Jʯyǵ+O]?".?_o(8_OXW5 ڈ51|kb/_מXp QOP{X&6گ'~&nkxsy3;܌oDfG&tt'M{ߣobuJI]\gk麧>Wu\؞;q.fM|"Z|Ɵ^A a;D@t8f"=D'ݝsv:]br{O6[U~@7Gn ! t=3yU̺%!x~o_7D ucbCR\)AlA!_Wʑ6bۅW#?}CPw8"ݪu1վo?_d 5y5}KHL~}t(%F5LqJ-|KHD}KIomӷX-1"=kuN9#/zw?^鋡Isϋ!_W7ywmE/ҍǥѱnmoC+2ӍZә</ Q?F^:˜0qźdyZ4um6.֍䲸B'Y61ḛ1pWۙm6Cv&Q3ˤL z}B\7I%J/uVA 땰ڨ QkQ(au2H]dJouPV skysl{ClѭYi#vQk==Gwb\@S8'W|  s̑j~Z;'fF':vbwgy -qߞ勘 h%`6yuĉblDJn;,~ /,??꾘VGw^OM cA?!ڶ.⟎ u~w!6poPO!B3U_s18ujg?B[N8D%gUjM([ˆm*#pMMwTHl]"G!v E,~$Vܙ7OxH7V t$~".ag=vCbrx+1n0Zf"{FDeAq"vԍ݈KwJ.g޺*dͥ.f,zěu+,5QJ1w޺%@TvfBΟ٥#vĞR19{{NGy];y2mZVnBPZS&0Vs~V%sA68^q( a GBj B@#w&8g{B|6T7&ILYCH) \)Smؕ {Ca94Jm]Bu{(_m 1rE_q+~WFfVjIX-f 4'33O\7`46'q q|B9&LYȎ2qh=cDhϰqh=V#~;Zp3ЉA?tpn}Bc7đtc}ukB,Tg PK̭j5ra3 wk/rXIoX;Nw3aX:Ζ]{(!5pF<% VOvQ|UBZaMR( ^PxhA=jx cs> )?B *&>\<^z oHt+.+RplnaXq/'U{Is )Ren7D2HYS*[wb3J7&zuRQ >E7. xLX,IMnխ<ʳ梙 R&V=ۼ5r:vsOگoIǘTdLԍI佣Lk7( FM* M۔* yh\Q7ѕ9m[R׉j{#':5^Oí̛y67dޡwu(1 \ W+t N9:V ܦztL}7}7σ2>)3v>AAd8Pub9vmya>ASƨ=AGuXY LcԔQt5K4kt9a{ߍO5 %TwQu/͊jOElj .r\4|5o{=QAW׌o=QA݇dw߉ Mѭy7:I-S\/Ya֘rS\*7$\@;ISܸQ$~\+oOR0tdN vx`=(=)I)'yRn$fCcPdoKhtt&!W # '' W')`geMI ޞ[ [-${[8i7[f,jZ,u>Ytc~quxw^'S;Y麱Z\\5C07e'+X3C`Eko'+1CwẔ$+x}n<`A(cMV]AE~P3mH2NMV0}<Z-顖jeOBo= ̴A+q&+8aqj&Gyގqui`,,BQkf>̩ ҝi|m`,W Zwǻ?6V,XSkҍbPbysR3gVޡɿINk`lXgH-ɏ;vHS֫j9+m _F+w2S g/-' F!E=qR4w̘q(Սmח ];A5.o.@O@Y`z. v!y0T}qA`Y,nU VزˡS[v> Hޢl3 $i ^ z{q*6~d,ԍG!e^X}ޙL#4rzt.KTg_nD񷷟znf)&|,yO;5{tN? 5a9[\;il:[}Mg+8`*񟭠*;FڭylYt 5*FU(mGQ0un]2J<[x*~`*x&uVyI-'Wٺko_oEjQ>[MF ~PM=tcm^o3:(8n1,QSJ,z~W=[,t,uPnLchvTWSzehP#mi==4.󲿃эj^69`9 ^kjJWQpc4ms1x;\I+ iܛs?u9 F?k~O Y͸ޛpBͽtWЍ{dװ1*YM+t&0%*HipDs/TU7+51]\56|n<|shp\m>sljp}cѳ<k\y?Jx ?)sp;s.S0I;Gя6K)h|52vy ^yҶ_7g('uzu43)P=u9{COnyf)SjrR"4|s3׭6MOo_l{xZLS^_?UӺS 8.f$=e?=΋y~jsNcBŪtgw쵭 BKIT,:l7hSHJBhg89rgf{~j_32|Cq*BY? qOf,r!-q=sd `_%f;ˍ7f趤Ɩ MTO.T4y>^K8TB}TjzmשĬךںs_s8Bmg9S}{^KFNkG-m6_!&DҎmg|I7-m6sPZeoDS;Fg\$ێjtҞjfv=%vFRfN?툻m9=q?|iO\LakO,slY8:=qfsP]ܳ(,&=>Yٞxuo=ОXQaQz.vӈ=7pO[%,ּӈK?vSiD ~mF<6FٮB5&y_.tks:aNqӉ==?+!] t?˽<.,Y^8g"t^Yg?wN'^[lvGPo-8t[)L93jggByg]q5kpD7dA~#yqRm3+dڂ3]3ږ37|4!A_tm` aW@,2= *Ė:Oᗷ::lN8Yw 7ݦ\e[3!2}i0>>"wJLy;&(²g_/%x۳sNP7[Wb~I2g}%EKwLbfHL⳷xv΅gl)n6,2)rTWI\MgW9g&/wLND(V兰@ܳNI,Վ.?8svWsQlߵN,&j}Y MY[STwjYcMr\MlMвeZn6nVM|&ƟM<XML})P3oo99rS^\i}[ʊK>C&?X*%9{WT3W{N+[q v.qM9'. \l:,}.Qu9x.1rC]{F^O9Ĥ ^>! ]ChU9ļ clO#%iVf_MO/- oaG3xlc8CE'T-Q67n*#nl>t$Jb!)+G4nj6URb6e@,!#&|z)72:/|l5"#ֳq? &(7}!^7Mc՜`|5u?b%=J?ؑ'GnND#xWt"~"۝u",j\'Oͥ!yH!5TPkc}qjMDYDaD|ѽjrS 9P'"7@%]]srg}99ЎK|Eysf^[#ۊYW'Ŀ\bO.4@ۙK+@;K,'hm'fh9h"|/c9d]O]?|fZ$6Xq;J{>݉gow'6no66S wQùg}C!\@\Ë䁉5;Xp. q}@bGnq]9lmFܾd6cFYbW:\߈;؄ '[ߦo̔mqPj-ÎVWֺ3ۮfsHGETu&2֠Eۙݷr\D[o 3f3=_gշ򽿵3/xDB&F>&N?631>;f3&0Y'%b|Vc߉?q^?&9>6ȉ#N$_lv(t!#k QUv!zhZmS6 >@kBBY] om1gq:_S~IϽؿ'|$Wb"p\D}ԔŚXw!Qm!)e9ķ?xJɇ\2 ߕh׉O{U?+1`c/8H=qBi&ߋ6u%zbʹ."퓱='^DY<."ĊJKty{?#E\5&/&h]/&dIJmļ]L<߳Q[픋;+oݎrQ@ih y1mC+9LL\=H+a''Tͪtl5 J~jՉ,Sn?[d+$ğZl2~{dm?7byJ~;mmj ]:x^ӏZtu%<_;f/n򈶿4?~.o]k|򈏬I_?:{3$Wǎ$cǔK塉DN>ï.X"km[>~B'>ՓU>ѯ {5۵ow͓7,+ ~<$S oy>|m"dK7w[qoI2nVqz *VաS!uCkLݛ["By=qAL`6>4exgT݈;b$6v#niRNͺn1͎*Fh>Rcn'NV4xQq0=;,Iƒe81Fl۰qi qE:z*8:UTKXe&Ł8UH.%bR05$kBb0U]H &ŧwhz| ˩ٱ@?#YCB)jvu8IqF!dA5CEОLZ"5'Lt-%RيR57H?)%R3uyq sGluB-%ID57cll̈́[Jl:Z O)ݥĸc4~[2CYr[VQGE`\y'c5;eݪXi1Yw |o++GDgs =ұ]FX/NǔQI25dĸc5SOk!':@͙z4KXp]5qúN\tB`݉N'~N4}Du'N͋??Q)eǿ':wYh+4ǺˉOD)ڦ46u58Q;2?[}7KATΚ6=,-;OP'`JZG݃xf>wx>l@s{gjRnIO35۶It=S3}D351fobO353Kν*j[v8'43;֦ŘkE;[3?L综^J9q޹}3 gyZ؋ؑ }K r;j6Zm+5DmeKg:8fvxݩZCD\E[:[ {oZHML9_ _>Qv]&t Ĵ5Kuobfk\0z\Rd$0Oouѿif٫aCfξRL3qWg:Lџ(>F5|D]3/  Ge,+$=W_ܯIr$6߯tmlw!ąh= j4aB& !6?6ּMB|fNP3K958}KCL̦XD,t\|U=c1AmwʧbCQi/CNS5Yz]CCSeYP⻩޼[;5U-2xpf)xZSnJTN\[\QX #;{aq ޞt~xaˤVKȩji0Qǧ(H#yT3b5Gޗ+aifY;oJvZim"\\EL}\scȄ*b㚄k+?"?R'[|VWwɾYW*:MkNb^E\_'%Wyw_M \L*?xp(s5Nsk*zybʫkb6M}5jI͍}\M yR_M\m( \M\e^C81@| hJVu  =JjNr qԓØs IMW+!Z=Aq/Na5Lo\C?¿m5)n5%y5qIaİ㫉!gT9A5q{jbJmĄa&R&É;BN<fDCHÉCT=x>puÉM! ' Ć 'Vy`8EH###Bu78jf2Q#3OA3/Ak#N! o=$HbXHb`A#!!ǎ$n?e$1%Ą+F2gc$$(b5vxrFχY2x;ͪQĦ6Ǎ" is(bC9U!mE|QҦ1*ʹk -fk!m\KfɵD,MKf0m±Pfi.~d̓m gc1 rdӵDYN|lwT5Ŷ7Z^8ޙ~5ũk#?#\ 2ߪ̖\G-;%f6O$܋mue]yuģ~i67\PQzٚ%Tva]O1[էFɶ뉯fkHEa &7=y, GyJ,aK:ㇳVqwTܻ!5QZRQ5DffUlc#j_e_Ċbo:@]C|!6h-k4,@M裉?x^sq˜j4Qģڬĝڢi41<@:~$mn Ͼ@hU@Pi7 @|Zw wO'{ t@@l 2hYc71+Z!@4w⑐~OCL ~bfEc[|6j1N6X⣧WL2K|cEq%5|W]→Ə%;2B~Xbwf.r0,h9ʭ HY-%nunfHtyV3Miی1Qči>ܙB9&eYw\t#s!AWʱvo$<"+}ymn"~[\MDs ${fO_!9OoMhvN\"&tfc]%o"FqAFMD|>ĮSIQr쟚yG[aN7~3q\yVL FLTϕڛʹe:f⾹ǒ)n&jj%#o&6ubP#s]\>qDl&G:OK j㈣k.c\yHPK 8b|g9㈩XqB-9m8b܎TsO| % .xko!N\q&C? [u q[j柏VssDP,*n͸xE|0p(L5[^]!$-%o3V5Ebք2YѪZRV5#o V"kf w۰kn#fd죷$s6bj;mĠ׼Q6kM932#&իvu=ԬaR_x#x/{UjjV_k9j)ASL1MwRa]!c݄CO>M`ytMϭ>h<&\ÜS}h8;EM\߫s@ |16Ϫ ĝ)Q;x0\O f̕:x,m9)@,NDbesk^N$6,$ZqZV,Yf"1f!f:>(Y21oh6޳3P\v%jEsTa1?>bQx{lW!Aۦ_K W,)s*\#Q+'Wq &>Z'ū5Sbo:gԃjmKԃ[kLoDӢEj%3c^B{Gs h.n KdbA}Ew/d2jZK|Fsk'"Oje}oVٓw5*B٢6L]ԢBmho;Kw<({O3ѮMRЭi#kqvfxT`jmJ`|2$bih.faLՅ}N?\|| <%t>c oQCu?ۧY{?q^~gZ(ƧR"OL3O9/ E1;@`ݑy]77fZIUDؿC{*-[Bd쌖'Y08m)DNkB\S3W"Ky&-+Nn]֢:EZBy:ZAbᗚY qWZ֋ǿ>HQs"R>>DU7f!Wˬ/Mܢ:EFT'(P(nv18ךen;rg\);ՆXwuQlWc8rnS{ڦ;r|NJTMS&oO%GӈžY1wfzQLZm+cX)V.UE؎YF<Ԭ]_Nwߞkv. t#;xNsr8Ckm]}+a Mk26=Ԭ~xR|:ܒ01U\ ^.V} SRbj}@mb8Qa>L<{:)#WՉ*r^I3q?B躜VG6b|dol%ɛaKHvfvP8v?3̽^.%͙AdE1Gnk{g~|X{Ż[wD֣ć?i? eQ )jc%jc|WckD_4ܐ{8$_行Qh㊔"&֏#U(W=Ff%D/c*$zej&"i,U[Т@]G5l c=k&陏[Aҩ8v^\ͺ-QqԴ+'Jq&MʉCt77#ut#ZOqbQ9vbtuBSN,uhݎ_ê\|8:]yhݎgYW8w?۹fs~PG ΚuD1 j@$n]lBy/_=I6n'ct$cf~GXqsncz17jy'N-t7w2^j.2 F.QaW{5juZLUjMZV)o{oyIot7$OO{ew140$[2孼o+$]EucI+ݜdClEL]LTKfy=SS ԝuO@嫵@aWB5HaxO= ye["Tu_K'R'%ff0:v>K4񾕰?KloD%J7+|1DonZ߾!>;L_T9|c$ݶDc\SmCԟRbŎQcċY97Ӊ*@ :KKReW,܆ۚa:@gfqjŨjeZUJvo& +lؘKEE[*[5K}44 >@3B 6<\l]0g.tK<~ʹD]}{7-$SfKL -R! \⹈KvdU%6˜G|Oǒn~"ffB, ^?# ˑd;0YԬyK殔=?!S+{UEju(sp{sw[>1\|R,yXRȊ iܒj?۵BlVezxS;?#mEj8Cm?4n]M}&y׷T;囼ք_@Q bExj"~#xobe10 ̎O'wxgs~ ZBmBmBmBq!qen!qIs!QXH\䣉::w~ybO 1-R3$^$n WHQJ"G"cmgڋĿ;I8 /wmկ\5^$N;)Lc(HTw۵DIOwN!:ؿ^"bzxS%.WB/yXKIJ_"V?y֋-"bW"bOA&Cn2),"2sXD"Kcq^!۾L 21$D^&B-C/x+^& ebqBw]L¿bs[s3n1.W.XLz2q5&Qq1+WƊ?֭]j-͛=_f)b%.)G+D/+n)+lL~|ns2BXi8~Wg/ГK(ң/ tsqMጰR6n?|]bK'gh}_m rq%Ġ. ےw-n kaXw%Wmz;_%NP7;1_*!_7[H10x":fzūċesX,='on'nj֝R~gkM5On*G~2E5"5Fۑ~N׈_{f>_e)%ĽU$2W~sP82ݬ D#xW?-%f_&ٶ#vjĄtW!>Z!j$FV.f?QI#Rg{y ej/c] h9@O!7v7Hdͱa^]+r*Fb=>jWUˈn앨8vnpKP.#N$&/#AyB{wz2b ]%]:HŶ-# xxuAAcLm/׃ark_Dķy8nn}H`tԽNO?׉SR_ f+ID]u*2ƒ$loU޼UCXoM_N\znI^Ę񕘔%erBdDDYN2Twkyzڐ :ؽh?T7_ [ 򙓹?T7N#rV: o?՜[ta9LHo\tʄ=oؒc b0ݼ+([.bQ.ρR+y1XHo_}8@j-<(HD*ݮxopKC~/ \,H.Zrǔ7ׯLϽxjư<xR۵bl|e΄oÓ}V;$v]bT;&1xnpfMh+XsX fE١E[9Z78|5s"l-flo[DX|iWԿyߨ`DLQHYpCuk W:7u3ѫWcR>|XY{ofw\O1_Qڹ\0/1/ma[y, Η~눯Ͳ#L-#v:bN 7*huCbFIv> 4qw&vRJռ̛l(]V?W|HoĂMb ;l l}g-Df|~eGknג$7۶[7{+-Į͞^R97{/Dh"WCw5{3#7#bfUSCɹ,Ǯ)pq:yʷaGa|L4}Ze:(uu!%8kDZ1qY1q]„16@1-:?&ޒ{->&ڢ5F-Gb]Zı[} a'-T'DlP,Ps}] 1#ݜ.5=?!v|o{cm'Dcm%d#{?!U7owL*cɥ[?u| elA[1 /\٥J׃uSʹn.;Q=DkLQvwǾ}kO;{(UMa3S]FژV =׺Otma}Fq bψ?WnkD7:DCgDAxPww$ψ_V/yH|F0،֚.< 8AV>'psm9h9q wzcw`]&j}L$ %e'Vusj>'TC9qjuw٪aƒbur`l#5$B6/>wk/Ft<0?cDT|oYx; dd6sth{X/f{" b $*W=szԱ#/Z{kM|/M Pa񵮎 ֆ/}+ej6{mIWM !cvbq9HlbPDv?s]8tG?ox`{ۆD?FD[UJ|Zg{2K'gV)|7<;O!{oA`25*nl ;hkb։]/NA ĝ'fRFY;?5ܘHvX$>ٰm9T $>>pS Ķ?%.߶9Őb$b$婤"F"qq)?5KJv |m .>@Ei.b)Fr.S]S]zXt"_ڿdI4'%nH}I菰}Iʗs$~yŗD,#)g˗ Y/?k{9M,=0<x8װ$jfIBx no_)o^ Qk-.I~C\+u !h+! -=g/Z !N5lwGx/歇_s5xIԚ.0l;*v&kMxí>Feqo3$7E;+cJ^˰ݭՍ Z~a+GumHMC\gت>g1*0N鳎7BuCL7v)k x0߿i&*LI3q&򟛉bGuVa310kr޻ De) ą =S\d{?k&Vey`3HF̏˺IF<7|)Ưh4޸!)hĝD9n3biĿ )aWjIE[? 4d;AȰۃ2#ONRdy!y6}!7_'~+6;$ޢWu"ps"yLݢE+%u"^j!s0 A\kW ROcZlh b\ hM1 @j4 h8;@kRCʏHÊc}GT#~*iS#yOG|QbHv%K6~GYbb0YƘ([h0E|G c%o1{b}V=~wYς &O\mSf]}O{~OnH>_}<+7>÷oe~ X.m Ҧnj6Nʣ!QoTB~b>9C^,Zvf?ϡiVƔ>ă= ;_) %2^fL`o5z)?q^^m|8jriEXm[d[˹kEYI"&Zj6$VowY?zw܏pq"X:~'=/HL$6ldx,qH[>CH[>2szJ>޲Lx ^>b|A#ޛxnQxo>"/}y#g&ޡ}x/s?aVOT!y?MĶ{U'VޛXxo~b^Eۺ;𞱟x #)zsݳ |= $d-f%c6)y. ކgކWSf*v@9D0oo C_a}  "G^q[gƩ*Ps1:+~"F\Cqf?O 暔~gӢq:LP]wLS~WLl`U­5QPYg"saI.>ƻ!f}"1fd7um,.^cytT=?5?EXIj%&0OJre@a(K_V1?\May!y-RZؤ2"Ĉ'$[:dEۃć# sh\%5-|_T>HhKuXOuZBƔkɱXo)[S>r1F9H $hEc )/c<:K:B=ư8zٱX 1Ǣl9y߿0:%UFK~!v˖bǍTm)Up'Q40Doqj:ŒC<{aHK?j/Rn1 <{,ynGfWl)+Q#?6քYyW; s{Zl^pcZ}m 8 c19CiůQ 7nvb0E% 6C'f[!ˉ2D?yo>{XqaHqCz3:DdN2ԾbBBvaE#Qo!IqK*Vyw[9p1uRV)CZE.~l0E~߈3Q5 sRǢrkVF|0,*kFfwwW+n ,N%+KbAoX˸UfۂŇE#=͐0^2Likw0X+MbtClvM$fO7> I,nuckRJX=03}-&V$hLbi42]i4G4<# Z&?0cav?E1B^4LaG]1E82ʟiX?j992;[XG ;7ѡUpQX~}0/ys0.S7QG7.,PPgK)Tg,)!OQO)3WQO-4<5ZOYn[c400;F3|kLRIÃOk%!2j75Oy8=4a@bKXBa~+p LS~*W'b@$Jܕ]-iVo*XS$y{`-PC<, =;!kଚo bhHy9L5)L/j0jTSM52"W! 02fRDIFg}gi;=gZ{g=ߧm$rD}%1շ ,\X_$10t~Ϫ q#Vt7rM%ƶd{,(M2R0G/mJ;ĘOv6IÇiG·<t"FhweM;bǛG}]IIn+#&u»2CKT)XlOtY~hMtěˏiSxB_{bGkM>X퉏SxH=E4zRg4ߓm.wݹ&6'= ^!%#!lRA^}=׾e3r#b{G=ސVq 15JvTKRҧRt)~G=Mݜ&Em0S#ζWJEWqoLS)ng#]a󣈦QS6ۛ6wKyw(fSO(2|.&z5QDeu Qi"w8n3}mXhP{6tDeGG7h=|)Qzk䆣{]G%}\]I^gt ULɩ4u RFU{Lg4^hp9~]R7pYfk#W_nv%6[M|نvNNU ϴKHtvGߑ[ԑ^qԪ,],HUqTȏH|^qT=x]LvŪСDwΥ px.QU(۹L!yT ĻWsYC ne˹d1r4\IqG34hwӱԀz/Qձui|'I]k}JĞP׵>s\S]"19؇w}LMh=jTvӒwwj7M1Ӥ2/HVOC:UH-C6&U"t7:->Gkz@S-ClKg?[^![]2>OHĞ[#VO~QʕsXw?2/F3c,H2&&;ü7j:3-_ceWJMhW'b~f@9];'C6ѽO[vsD]c"P7w 9zs,QYPv>.?-% >N/lqyGuj?U+;ұ4 ʿMZiDS"4bӈje_uiš}]w/?<^ϊg%tbƳr:Qlʏw<b O'nz6*N'6`Ҵst"vU9;5r:Q|@ݤ=;޲Xh?;8kDa93^9:Lļt&B@-%꾞'}|[z9.LG:"Eƀ k&q2zw!l 0:`.= 1{sh|/BLPރn҅:-2_ "iK@9hK@#oj3m[CA4l  [s*;t߭Sm $LkN,8$V"2wJ/g>ؒ3? >zS{~ߙ=`k2quzm{rŹdva㔜E\.W?_sqzu3Zv:r#\OqĤζޫ0qļٻD?8çuw .1x_sֿ§#./B Mtj W{}JeM"l{SX2Z(>_{םqUgM5ᾳRҽMi 8zہ!D=gi2<8ﳀZm ⋀!&kVrq󭽷zyRD?זs/ j8x㫀;"[Z'fK5CʼniȵwK ڝ_9~uW|P,b}VtVκ=.zqq7 }ڼ6Hqi&yD^}dKԧ`h oG,0LLݴ z_Q ZC;ش?`Y+Xxzf3^bV0WnS1F2{7':P\r- /oVGm{}02,)~u\KhEޱ/,'.>00f ,' 91 < m47h>nikbzaWka k[1;=Sr1%``sR?W]@,,IG. &lar5sٱ. ^k i0|Ė O[j^\/$ K[ʅ^H<~!_+R_Hzh bzlA}!G'4]H|c[ Bc  ?t'0 .}Rwb;1󧀕8k/݉˻Fh;'7t'h;kJw=s#5U3.dǗẠyx/z';x5%뎆fEƃ5k1ޭajۃ Zb1,kRz㷠=ڀhA-A<哚z3,Qpf{5C,̧Ğ!9`a$1$CkI|!ׯJ9NzoOxMKyrvILTFK;XGͰqe~E=JhڞοS 80r]%x|<2OT)-I52OTnFE\u1Qn8S XX/xuI$"D_jB$ PldG!' w"d-U]Db鱀32ۛ+^H:CʲߕH80όV H Xuf{VODoɿ _bbo^L ͼeyo_L0jT[f2Blɖ.&~-`u1lSV֍|ec.&~-`~i?~Ѹ^Dවۋ8[ΓbKLۻ'\",E]osz#}{彈tE\栵"sKX-| q7 o}巀#(\B # ԅ#zm؁60/Kz%-1EǛgBov58±(ߛhw@={R[eTwGZ!W0JZ!M]5471?c>)BבMo@)lK߹ZD)UٴIb{}}Sdfߒ#KIhdf>ģx_ 8J_Sdu=~=$h (V [f[Mx'Jո+Q!: Eݷ "V Boawp_Awhx_AAP[MNGA66Cur\CiR:REi?bllssBX5>eѲ3g(RR<y?HGŸ́ {gks/sؘ$ȂυM0x+bdެ퇥WF}?dYw|o8ɾ+cdF)!f|㨫bdw{S[=*bީijQz©gf0-~K">:Up,̖x?UBI"fhziAmvL׮W+%YtKxM-pWJӔ^M|&ɂ_jbWh&~s`'#%'cgN~@N-mx}7ٺ+n*7Ŏgy#qs}#9=NKn$qĻ=L([K#8n=FϷH$É z:=E~J듟J )OQ*oóS[JS3jSrT"lN%F;hRZTuM#npВ҈+zr?H)+x,8,i6w=ӈ_l{f4@Ykb0N)\춙Nm"x; KMEleV |D!Ӊe^ /Ө /3NO_j~o^Ax6 l~]jggIq^ȭm ܣ,)2B̚ADZ^W:h6' Pl^fnG6jg{sĔ>kԊSxj\2gN'+D- H$rksY?JY+m߷}gW^%'9lH>Vmd\-[nϾe|d)ɲzgҪ%իHRbv)>}SM47-"kD+Il&6`%C." +TkHguFL. OHl絲6,^bu'v΅/%yKV&f\'[޴ :u?!7%tuw61&E6^ZXVȱlbllLc"dX!ޛ<`T.FߛCb~gRxoi"EO!R΀6wcWi{#)9]{?'m-=R@h2ckM%!Fl\du(H!zARrk?[K|?Ñ\"F٪E3+:LNH;hyold (C?/U6~TQ]ҟx*UjI}CsoO;Mj%{3tןE#Ek. 1Iy .\r0m#tوtuK#M}UK}ZmAۘG|#v8hG-ǎv]듘O#]:hZq>VO<-':h5CZ]>q%|4]bwDq;z OWV<wI8 KC3x.]V{315 N:ܮğ6& jeJI% $&e#v٬?J $ ?2,5,H闍*j%c-HMące[ |\`Ў&|l)kDꃈ14PjxG/ZzD,Xu\lk{fM3%r[ |o{-vwH[ڥW3~ !6NB|Q*vivɰ!OeHEv!'7L`m0_N !|DY= e[OCw&~Cmt=}($Y|rRTkPb R%M[ͯ8g#?C{duM!۞.gv pLpl`),)ɻ>VGM9/e f 3QQn't&&M;o&C(OEM`[ISǮ[Vݩ}X| ޔYxc-;SdVڳX"Oe-}SCRp Q>5|([;Vl Ab[YSeucN2jhV-_cٖ_Wn%.!5Ln% gj{O!-T[ g6gyjL!qLYȅ/$Ιe͔Z\[PH$ΔLBLYȧ($l4=m{?LRs\VV0!|סB⻙b,Be,` #g._*1 ÈJȽsߟVhV:0JYe9Vt)՗ΧaD}X(xGwaKFި'x<_'[o8q>V?ND2c cmK5ÉYzu@F"sH&pbCT]V yHwSb!F?A<>X{8/ Z3۷o]dĊ!WϮ >$/U_p~$h|`$Qo>&k,F.Il5co',j'N$z;1ĥۉ;\/_o'~sd}\`/Ke%#V8ZJu|515A< j^s3;]ХUw[w5%+f {c7yʑ˘r'quS6yeպ}`$SVEnx;oc Mwx|NIb[r>bηdϓz@kI1q;-Wo/ZK~иoe\"z#8ޛ>r{x1hda6YyG"\Wyњn1cs֘:IeH8"zaJQ8c1DGmB]-ɗ!~]3ӵCxgƌC70+MKz?Og|ťā !n_vIv{(qN# D0o 8*y_(6Ӓr_VDR[ #d[0I Ͳ`|JZÅD≏\_"1xcY;e+ˉ"=Y=85|O.H5^8857եc i[x1nODt&E$mz |j_omL"L"p&{vihD|?ʈ]+#32G)#C6e a]2NY \9/8]JrxP]fpYq/.kYܽ[]&%ygcǔs}x->ެs^kr߄dmlqvX/-Td RjG('헍u'[=޸ ?X8xA+BUM!<yjz 1l|O`Ԃշk 䀹OE\[makG\ĆR9ަHN%&4BؒXMOSۛM 'dZ3d*a~/24zTfGDoE?oTjM)ߚN[㿕&}BFlz~iDcl7Ms#/W?~PoO#>h/;,Nİ}g??ϯ ?>Ve A}wRA>(.q:AY,dӉoVW6V:CJv4t"p9v:Q}}e:1y:1tbK3 gO:xťij. \?O b8W ]oAseKIt?n&/f<LaBm$u ,t{K5bOF)rUt6FE+w$EVX%O lg_JʕsޕDyJ$:hC+H\I$l 41jHYV"B챁}MDϲ2"iDGK}D/~_LLOqi=>_L;c7-:ǘ1(n_eCwޙg>KRj97ﻏ(UV"O΋"MHE|Fy\I~ ?fM,b߱sS5xnt,1Y=go3S"=LE<{x?u86s?wY{|OMNj(q~ḋs?q~b97OpDKU.'VUjqY}Uԯr#_-"4}}D,T4t_fv m")>O?@\x"Zqp.>@t=zuЎ=@ȋt_K~}.K$O﫪vDk$r˃DK]? qKĸ>DcRf.c:e\9g61Kf NB}Z iH⋢CI%2iyllۙnGj:o7K=CK6s26 3a;9Čv<s%o孶;H?♈KW %nv>4xHݒsj>KDwҖGf%㻸|y6ΣaiR{G _:F׾yz>x|hq/|>'W! O||?"}ziRoOkv>q!T8|=![[;C*F={y&a_l=ALP!'(' !OM?AHP }š0$?A Cl4?A3G\|W+VOFg3_(m+)6NW-&(괓ac( ~Z+8$]%_Xx,Ěxjk5+%ݨۢw.$g)AqKGҨywyWbWjwBsġTE}$cA #);|5yksDa3CX$:jWqLzsD}ȫ[#jm44]Q/u]?#(E<17#\/z+';=O./{xۥ-.yҿ<ѿ룖_f(F~ )!%O`ͱ?>v%Ln,b\iwl&S1j8p4UxKKc@X`)qubmd4; _ f)֥T9s^ mYک-9E>:^ Q BfIqߋ797"񅍦H| n{^SEbXGmcWHqZ"qqKqJ6H<_Qdt5_AkvؘsKy%<RGDS B%J_"WԩD9R&㟿D\2PQhUOcFE9˴9Eu7B_v2_GȖ<7F"O *RgSN+r1ؙR)'K*I/ ~M!v V뵳e"&ň+Ȳ %q 2Q|z\p5LR-̎mN;Mv_2q}vSRҬh)ѿAY.Ŧ0W^m~Xp:+R().;GB2DQ?Dԩ^!1Wk(:^)Cu: ?<{ qpѦVo_!1䫰↛wLw`>_!oVn!ߡgD-'Ͳظ*-:+ľ:U=W 0ʯg|:=xv76Jt4BC(݀a!1,^.[J^?=y)1tbI9@?Tߺp)1{bEɁI;Zĺ7kڸs}R<5C5jb"b %7K9ۥRlNdwb)3也EoV7cΎPèX="tv4Rwbņ*7G,-*io$;1cyk z}׈QzT]GwR-I.{xcvD8'~_"55|t, ~ۤ\)5__p׉}>^'~>Mz3Zj4)ɛ)cLN6Z1p-A6TOk7/ŏqԶ}8'zDRmm|seEfl6g&}rWܔe5,\|K?+jUrWFٴq7,#ߡ"2ڰqo NS4eTw 5 νӌXt[1$ ߩϊƬe;7:'W۳MoꝢ { ĝ ☭7wjYc ~iF^[7Ŋ>sup0ȡPޜ7 =+ "Ҿ7w;_*zߛ_wqRl~oe8--]_]o,ߪivvELX5X]]}oUzrCox)cCwr)fH#[N,yLq/'>+<8W{/'F(ʺL):o?-'f(6irAkZNLѴvh91DQ_@4;vtľE6FMyDQ7[dF CҷqXm6Mxibl}$ +[o}zu!!Ɖ|;M!Sԟah !;? m|$ޮk;C~,)4ē!Z+FιhOl1ԴO8)wq!AM.Q]؊)*]bq|)@[~X,m4]h[=n>ho7-;.nB}TQo-vޛk`j Pw-shWM%qІVRKxZRTYZK/ klk%pЎ[Z{ {Z{MG<^,xڒ =b=m{ĭywWV78hWW8h+Dm V8A\A-ZA/{ _A; ; bO+W l:]'n/U1$OSjmlBbkľREF$Oir6~Hu|H|wаxA벚xAK\M,tRVUZjbVAXM q&ZjJn5A۲8A۷rДĿE?:hqkoAK]Cl*WC+PcgbH&xwS6kj"~x֯!t̯i qݡ5__Cv1!GzKG~'v9Dzb]Y=ݜzYGUv dG]XGzN'!Xv-q]D1t`)PɴU%G_Vb_"dj%?MJ~ ZbtQ:beQ5=.<]Q?Cȶf9 g(ᅫxߕ#9hsuD{m:?EZ:B.OWO#6f` GaƽuSNK\OP߆'~[zzkzbLE]l)[OC뉦=߰ҿ*Rt⧙!Ɨef(7"Rf:blfi &rN1Rl^춠D^>@JѾ}2 m7ԥ_b#qHs 4++=_H\\sFVH}C=8:3#ko57?:F-#bLѯ# f*Fwh)\ ?"96R|ug*&[ O}D{TQ/j-,'״Xb&կ` }1Ūe!dy6nFܱP#~5MZys&A[2hP6b"E=U`Gۈ6^-GAevztŊ:7w[|ŊU;Y^OӞS:?!p?qܝbp/yE!ݽ~aw)@v+-5<>i'C 7K=~SKt?4flTp\!G2w}C۰|Ѯ#E8ڞA\y#k}u SԻ8)ڈ1xxNb{-YEְ w+t'U$bWFIe;DZN_ZNb_kI49hwOUuU;_4{~OmDu)1FӾOu}k]4|J]VzG˧DJE]aA;r!Q~D4t+C:rӐY&z#2a9\M[DuV5} MD:hǚQ 分#{Gg+ψ/ψZgZi՟9h>#q?#;hMCw;h?#F8h1Z+s9A9q}NhzZe2M6stKF̪ωW*j?_+|hAĭRZ5 "zx]N/5xM1wU!Z6^~k .|A[y"Z>tfַ81k"fhz]DEgru8٢]DY{?w|.bo}h,z]z3gD%ޡvf?w kE{8wA|W%1lWwy'oVI~IL]+ꎥf;Im_kE~K"AAkߡ/_cڐ}Y Ɩ ƖjN|EtXk"? 1x1ꯈgk+bZE3[1J"J׊1%ǿ"n[kbτģJMZydDZSoWP`bcS57q|s >-q!hM|szZq-Sg*MͳAbW5뗰%!δ42ѾѴ'2-A@=inkT:!nkT!` ڃubMhԾ=G Xz@OĞFkK-kFў5ib " _?4>rāFkAhtж|Mp}M)_sF{/1K5gk^dqA?eKLq]bزDIhǭK k ɀAĀF.ϒb L⑽Ġ͞}oIkoY!_=6+oE&B"ޑ[ sf-wWk'!Z> cx G\AQp{.xqbó3+,ܩ&#QQ!GYf.Ԥߵ躱m5Z{/otLIO֯~It$45$l ݅I)k|3i?IL+ OD=m?1oS u?q&o%'h:~bl;Ҥ3mms9g?q=/,f3KJ;Yrf񳢟U<翨.rօpCo ֍*5=MAoTqN Cw,Ƅݒ}DEn0 FqbVɼ5Uߨo>*Fs񿪸\ʌ>m8w kŪ*UE7au'dY<zVUZ,L,)VViվ4 ؠUrUZ/ܳ?TQh)7!{HźķC*^NOT<]~HŦ"S!5EC*NOm<~S?Z) OM8Xo.M &e|ySybvo*< ?Vasx|6=z2~b*;{M@zθmUR~t3"*1:b fUSm͊lw?U)9׮U,\7t-WyEVZϱ*`<̋?T1U R*h6b[[hk͟*UJ<_ߖ}Q1Gfs*sFGT|ho∊׽w \oQ117*| |G>:UTcٕsTŪȳ訊#M:F#iGH>#j`džcVI qSscW7"R d&^B\GllG#2h0[!7^嶝ޙAr6?̋;ٞ?O'x?gX&~ǟ3/8*?qퟢO\g8fv?O'&z>r0>?ßa̹fU%3/rdOr$_%iGNJTbRR 6DI"ZΣO% _H=?[K_\`D_ υW8o}/)5`j$LWmU$%l LfD){$Ie((wq)%Gi<qDT68b##N:i:&]K]xLoqRi #7t-`ڲ8b` VStD:t %O| ]%(m#r1-sz țՂoyFXO$_-V. !'Qc͢T=de+=LdZcuqtޕƴV-jxLY񪪻dD&ɳDqz;oUPӧ hZn4fk-Ϗ~Y\]ݒ8.m-]Xu$<^7ύl]VPY}KhE-@p>^vU>svVļֺ~E/&"ڝSݾlcB5jE*x梹xqhu߭u'B<5ʅ[5쉺Y?,Rs,VGU7wP֚$SCPdɿtxX'rLB~V[+O}}BeVҊSBegH=Y]Dbz@F H씰<+>s.it"UH4HXՉDB9EĶH6x"q)뫅+"M˥k>|-r%Z`r-ԈRj-0nlS׍8&q@k!f'6kMO"r9'E._tG1N똥%`3t$bau֜DlNID)Uw8ScG ά8묏#6X!%:'V'db`uL̉Ɠbx2aX)DbSp cS1r !:O!t:Hlbcɐ O%ob8eqQ[mm?nv% K ڕ =iJ} ,Zc"B_ų wfnCznٜx3>[H6D3ta8I qq4vx.u:/K9xUΚӼӈ횞+[;XtriSr=g}=X/vӈ"IzEu.igBD²ٖ~I[%?mgwG+~m z 6C7Б%6%ꁼ^wuK3d^IuS$\uG)?htu0cyTW0KVr:Q|b:USv:._Vt':^kGxbźU6[#ؼ"Hz+'] #wdD%]O^ pk-)͠=[Dw\I/F^FlR7h^NU#NoĔtG%sTYPR)f)=,N=9M/.d^&AlN^VALNŶ;x(M4gk y5{2MxG9rd$^3%,LbsaI;Mt 3ܶSegD>8Lb $>rap)$6.u ugz(&GKp^OWuCoѽ8vD_ KoG vMcqsw=D s#thE;bmlGLpa^mGtCSw4eǘpfS;Ź98-Cc\%#땝Eg s"3߉q7C7;uYİ^H8{,b\=9 ggd|Z\QlLi&R%,lM\/ag$lf +?CMܓ)ʏg0km֟Mܘg en;.K75%N\K'zIX߉z:¿#{)<-Km߉^z w ۔ߢ'nq2Ϣ ;NQGYSqgoݼqW3\eiK-9+Zj&+>ιo )~[@t۶>z(tpsЖroѣnvmNr(:p;?.~ytZ,W[A$asA ՅKAw\-d?>z(lߖoEFe}G="W7 r~z뚭(C\/Ct'y9D~ug"n6@fj sIs$Ź).߹ęQ|z.}n>%K1w~RqKrIxT',=85=A<\")O2Vhx <=daYyzwDbJcyEx~'D.I$VKXy"\H }tePJ$"fۿ%mu okH$^ρ,_֒{i)= ?k;'wt|wn{tmQQ{uF!hO ϒ>=1H6'FIXm{v מ,aGKX\b%v KӁX'a.̖:;sk^t ~+7D;{c[2ݼh2u5v ruǷ"r[<4gJo?rYUvqo}VG}֗%ђ{k)C\{q@]c;u=d,+saZ%O|;0&-~|ns xĐA"[Jts?]@mA76׾|b`ݼo6%vW|ѳ. yf@w坾E%20vİc }݆#XR? RVMUPE.$9Dľ-eYvr3(b_H5WDw]A[ ^{A+] ?]/$, Q^%0R׎Vu!F&BTX'Jbuur$(8(:$cJK&VX'76:Dc&cdbRu"VX'*̺8mTWY1i;:W/X'j̹hsSW1Աƫ7n_Ŀo; ǶO1ʅοgr ;(,p $)]+w%N]ҕS7KXqWbMJʮD ΏUźyϥw 冶t%oz}Aozau# cg뿺nvoeƼnđ禭FVώۍHy߱s tIV{݈nq|&ҵɮ{nD-z F,yrt݈oީBtWˠ a.{fۿ^C|1Z7uӯɿWcBZ{a5cuO~~?Jsmi5İRϜ㻛LZkJ@n*i>Rw{=v4v+hu[lݦwh.VJ]:Q;ŵĸDZk9:qGOu7$֞bfR=g5d_iR'(A_ 1oB5!oE rʓxJHg 1unvlLm_-NK?I9,RͧmlO7ݳMr]J/T xvwQ_~s"V4bw(I#.]>vkg)y{1}OM^Ft-ߛF;UOR9݉SuZt'v'LA݉qS;UwbT='('NIw⑩k  -;T]KdA.KqqIH n.UUqtof5 be=w=tރE=6A\k= =D=\3 8w8cL <לhh=,GӳK2C1gҠ?RJYZoV8>Zdͯ=?vVb-7KϲsղJ\F%t"b6{6uo-N) &zΎvou!nH]6Ņ񯲉g뮜B^Dlߋmv-;\ql= _V؎Ջc="]ۋx"9IJ3/MuCl#|vrϽꗊKrGqV/]KPrw%9Dݼm2SFSvy$xi=GȏŽ<"-{_X}m)q8z,Ӆ|Ž˜}<{]7zjm{˗"~ꞈMM|Vev6hdٮqJ7=fy}ʗZ|p,}ןqve{]<]OnR'kyk]kwz}}u!nXD5ؗH}]\Ӯ}^4/q%ƿc^wl\kjɹgC9kjm]KjK{7/%@E n n in97GW@\o &~oO\k='H}=׋w|z=?]KD6z`>70K0[`^&o qdDzݼu 8r$FG䆰~[=x,o5($873 y6衘7l7Z߰7߾{j 7B[;hҷߊڷC7`Hy`➷Dy$e01-o:(LUUUOmc-tgJA{#=[t31ԟ[x-"O\1طE7RK5:O<<80 y"ûQֿ8ǣ}+"xWN\]Qn_Dn@7odF$vΣWwD]"?G/vC(m E.akF+$l() E,ra(bȹ7& l{?F7B?fQHJ_cb&bGz(һZv,-%U'b}CIKwa~h9\IiV)=9⋉+g]11{g8~+1c_/k9eؗ'|,Z }]Dhm:L|˿h[u3QP?u7_g%'X>%=bZ +n!>[3>m~b(f4r GPl4YW&Pv4M ]/߹Cb.ݜ,hm>o~-%Ĉ7b(8+yc/_b h W!P~˗/f,QCʗ%v7|Xbnݜ|Lc51Wo%_DN n%P~D] J\o%b(XJl|^)?/_QJRbI G7v$mn#.k~ۈ1/x9Ub(_{q/NL|ۉc(_t;q7/v";[n'Pvbg  ~ywb(_qD WA|Cw@e-1O/#^|YaP] _FLz'!$Wޒ$z|?oTI;v?4n1"9OGi8;].ZkVp.?~c]ľuO\wFxbUoq<`4qE & /_1@hŏ7lDя9w"1Gh"[O$)as&K҉z"A 6^vO$ S&ޔ$#xS&J&IXDM*aw9Vu7q(a&JX݄*awA)$NM"><(7iT.}O"I +DL[%z1DO"zIX$* ;8OO"N~i u{/$bC&aUA [qQ.a!JX=Dq!nȐ8%O&N"V88(ae%ld [2xUVM&IؖxwMr)DB St :Lr V4ФB 3mI)m IvO!VmBxf07(X [8(DJ$KXTJS EZO#i <8,4bN#%bHO#*$l4v 8(iD 7*aGHXt"^IMv0M't +NHج;+$ltQ 2%a$~:Q$a KX ";qL[A _- j%lum VI ≽8Ls$,^bu({w/.aIؤ{ $^ȷ8 a%v}+w/UZ VKX4d ˟AHXɌ^ݿr "Kªg]$l "QjfHv;f?}#n n/Iy8'3@!7$1_ޤ9DRn>[շl-Ifa%ھBm[?Ks$~ g.̢6tD;F4xy[.xxP^e4(`9bǪ|xGU$l\ 1C &KX8 k1+a$,i.1T$,.GJ=$|.q-Kt~.AjgK޹D[ ;<$<8 KG%Ly! ˚G$a%tG*JyćbU6#6HX<5 7xIŽ#J K$IXr%1Wr*VXILJbͪ$Jؒʀ^\ LJb+>$z>qOt%|'Ζ?$l|8 [:레Om$l|{ kO0AS 0X A$^$l҃ijV U=H,5s%l {,a$b[@P K_@ D +Y@5pEªKDf95 9'Ϩa.%/$~=p/$T.$M{K.kcwK&`_#ʍl֒2΄zć ~ٓ 3-]XCD=!$/{8*gCafCC`!V*l߇~ӕBwuo&kEso a]{jKH/ڲhxᢀaή:^DP-Gm0'>L{?LItlK&_賗RUa"g\rbY9,aݼK|*k{iT?XnfOOviŋ C?5J xWql[L,݋ְ#a#L &a!Gq?BI7*J[mG|I>tzX(qB2}(߲΃HR>F\8üfcXňAxc7LjvH|c1oxOXB/HxeS bjblG*\%T-!f9gLxyOT#> ⼴~x]5G 2Y\d?Nlj.'@lo^b rĎbXK'~a=DzQu- s8<K/oq y/qL>X b F nt>+y2\kEǚX}\ѱa AG`Q VF(Wl:X$O2*׷Ԓcnww}²(.$qH/$eɓĞF L/'G'N4B1*O4z[J3\:t-6^nxGᵰ-%31lu+ ʥDǓ &md}ۗb}eh)nQ\7QbO oEȵw:2Z)6YbV8ūI;SDN̉W;UvSDI# O=E =͈xS?E90NխCN|xrvSf/r3$4q+Vjۃ9&n: ‚{iFY&9O6&: 9ߚEէGε~2ӍН+2%a2o9_浩Z2Q|ˈ Aެ_F0T.Z6Ux̔$n->=k1-_UDf? NQ""IXUDž༄ci _7}WOY:!fa}qehI {q;4ZDyJ7DªvFY/bvg&ePZ~Vfs4G-%e_5ߑWEa?Kgf{;lmۧmej5~6_CFj|iF_ߖ6_Vk-r1/CxrEsDH~5$Hkü/Ý7d|ښ'֜:yX諟#<0/F uZ ,οfgiTmU+*%][kZ2@[dkK2ʍb%M[jJwm][t6*J%J_&Q㫉\h⮥jq-[8xV&.Itqoνh ^QrD,̥jBZ|V-.mՑTw>[7b%lQD5Sr sG|)OFse/n9"l\NpA%Ygj(ρU;XzvLN0e`Fw+x!2">O(6-5sjDޅי7N9Q߽gj|(:[Rq _ ]*y ĥzӹ5o _ ~@:326_7k_ V_jE}\Tpaq{ێX-f9yNjW[к5;kDF(֌5oZD+/֙ZR%[AT])Jp׮-E+u"ĕ-E+c[7k /H6o!_@;ӋėɆ9Wrr%7_<"qV*ħbP.%nMYkJ_"ns^"&uaKDi7qVDu/cžW?t3 J:k:$^cwF[`e=[6- {siNZ\Yk%9}g n 2 gl/eWm2 3Majwh|Z/]K|Zv4Kkj|FIXE)UΞ"}Ԯ";*bGOL ynhGJ(Ei%2OMyjο^y]xɳT[ <;EpͿv}Oo"އm^&Je(Gt}kb[}KebU_üŋއg󒗉i~3s4ae~F(f e6o=dqMȄvWszThI:BT^gЄnC2;IR^!!uyW#hNj4A)Z%Gw&$w5q@q?&.&:4Oe7硶iejb )}+UUbDqa^t{)ŧgj7؏ Z~V姅a٠}J>wB{[U"oWʡ"-Wg׈GkܡF בGxkjc#vco*}00l^JZ].q0ƲnKcܲ} -ux |c 3%DoCr7c (obz`?y=X:}y8qa|,V kƉ<"[²6Ɖ) o  l DqMNo 3WuMQ]5qou y\/o2<&*XuWExG[D Mk,['Qx ?o$R&!#qDÜn%|~fV 7>6ƍDIi(e|,@N`MaZ'Ys'qma>ȽRpʱ%/DL DMۚMDG m"buS}ٸ(oS{[)`׷S|xv,zxfavhembT<7Kz/鮥(קlm"{a&۾#]V$fFohuܬ%nӶkqi&cfZ10SQx~̽/V}gf{5=W:OUnsQ?=~üԡ>*BpaNmz40C[+-9{s"[-^d l\aK3|=J_6˗jD8#R7yuXaoj/ 6>O+ThݍPioƏF``+e~ly#l23] !MV"k[]%lV"iQjHn%JD\m+Wer}m%J##eNh/|օlN9R?y53w4\jK!HwLf9!4y%[AcTwtt-Fo#^,ۈknۈ 6Qul<,qQ@koξm ;ՅY(]F wݍˋD6i1]y?r{hXZRaڒuVKYh> Zx8!fK}8!.,=uz Kd+$}m- ӯgfG:9Z-meqFȗGvaZy=h[I\kKN>qÆ~'}"a3wKDoV*'F?,Cފ~iӍվO\%a>ȑ]Z*n;Ǖu;MK>Nt03ےw+#ZnZkjqg]ypDzNۉliuۉk$q;q a> xX |@$>lz.ѦˇgR#G%]+> \Fxp8aa>YB< ,ޥ~HܵG{2zne"nkW>SLW20ΰCbMρ5>$?j.>Ouqc+hP&(W: >-yt0uV_ ]*?"Zb;fz?;WyVb|DLyyon=v71[W:;$|0[G sog;7 ӂEsv+ ޭ1lI\zl}Ec ;K 3-DoJJݩOfF7ZW?e |쮥(ۣ,av tānY1q)e/Q>tLt}4~˽D]-q2<՟Z"qYM!LwTZ"yKkN.ED2|Aʼ.%_?nݽ}%*x3U#i%a9[t~B\LXiq[Kce8Sż1"A[,xǯ⮎'g@ M|S,޵g9Ԧnݟ<#'ψ~J|Ly)cġ0O~_)QZ9gēձψ'gKF<]-ʔ shh2qRWVogjmWp)Z Ni[:fo|FlOM Fh0G76Zj^aH^,;.rLtr/' Qw]D厮Ş灛]F 7>"f/7Yzd7k̥⽦˥ω/CωˍPA]SħK?fsOyˮ~7|-ѣ3b'χ;]s%}A|slbX>vl]IĄ sj>ce W}AlXaMȖZLZRCӽZ_=@{K8CKR_x0-]O<^Rgȉg_%1Ű_lWFҳX_%/?򌫊5wd_ R,2rsT:-%x|vwlYxn?ϱѰxmaɻYỞ=>">[<笯"K 8}E|Jra]*>޹+}Bra"z~Ea q!H}zCa}jSÚ؏U kd?VϞ~<,~(w$RDMZ/m.:Y] .m_I99\9:ж!U!CWDۓCl{S1|IUD`TEt8z5w"ov| ፰+R1kͩ9}?OIUk3lo}TE|}$iEp7jb]n/c;Ey7EzãfyK4[hkϞEhkӪ=8}b{["+bJ;qV|={8õ;wV'ֱo˞X޳=1+"^maFSWo *S["u}fAھbqh/y"5 &_z\<.l&k򿠈}{u{_xEEgNj^T}>>؋غϼ_TĪ}>rQky>JǑ!ƺiŋ8>^S;7 *ζ[ӶOu6 C.+"tõ3tyi=c>kS Z_R{kH߾g?{8{|=ղjcu{8_O<ɼ :"+ֱG5G$؋ԲWn3rq"pmկ\RĒ%E<`7eE=pw7".p=a<E*bԏ/}tRM4cQWyUqWQ4IUG{>ϳ"=ѯi{Uk/=qU =~my"&x~/McˡH"a4EtgLSD[U"qx["|8gez`V"q acD6םRq)Q]Gï)"(kߊ^SDcX"K?bͮ)1k&Z9Ͽ_Sc8fz tQ/S]oIFrMr* :[G;f?t("'[_c?1["~9~A۶qE\?>W}(mhC;qcVc?-o[ )H;j{-6ãc 8ůg>KYGD:Q{SeO\ q* s]巅^~[~65|\;J[uEt:pՇ=!1dxC~i?oyς};W<[u]Nߑ`:]"&:\{?'"ʞvu}9\bn(bi EbYy7mҟ!=߻{mPč^ᯟX-[жOME;WϹO MKw>M$T35{eW?n{o*3\z@Rmhugn)Y~yKMΚ(/5["M׆෾ĵݤ6׫)17x=94αe"ݽFs~["pIޢW"F_pyn}~mEtu~s[.>~+(}4Eg꿛W("-"Jo~dEa|3.]7m =.wv~G/enYͣt[]E$_zu]Eu|t]E\{s㞠swrI/^i~\>hmX_z>C-k kU ɤ1ÕݪZdU6"p}}6{O'on{(z}]6iiOCZ^fZ"J_qrk>6Są+;+kԎ6?Wĭ+o=R+U|}E,0":\savHNn^?P}B췊@Y=~ӶEEخYKzE<" ?PDkKy,ҿ_EOc?>Pĵ4q=̥;ip"n"]pߢ\HK3盹gxޏa]HC\qee<#\$xK}Z(jbÄ*^w6#2xG:V~8 q?gA_mB+_q\_x{Ҏ{U<Bx'v[i>߿ Qg?7M}Ul_[*{~zB.WȞ~CTͅkd!'^>l{$g_Qkl(,ΥƇkg;}Fd]nSHӵ"pq-TWPU:]GoMfȒi{fzZ*fqW #K'BU1ӵoqTi>vadwk}U*pe5fI3QIV"5S^j[30U wψ 5&-LyM)1ZRWkSb6X+RQEp =IB~gE9yFyK}/YQE|N{zIWQ|NWf/)d =%GUEN슩x=WTU-t>Bl]*>+4ީni3WM :]S׵X!=U 9wuZkyL8_ueRE"N;ˤUEwˤ]E=XTq|ڷBfdREsNKWUѴ{dʬ+Ŝk3"3*FgVŞbvf^fUlfU")U^1އQY(}}\fU,.4G:*s{_ _=M "u+eQŷŜ=Olv).*2w4q>74FNʢKŝ^񎲝ԶǽdfQN$[#4Z>eQҒNy^Nh7bmIxaemWfUšNw⳪HIqHYUcIq-O[Ƹ8Vcb|7%̾*>c~}u2粪O|f[+rՍT1ehLlX:o*tTخ=6SWSeKODKrʮW;wuysbEbkCS֘c N'>:*.Utu>ͻ>*WvztkWߪwa߮QN8|}xWt^(,*zD9>ϩQN?*G9M{r}?,*Z1_bNU4rSuTE5VWTE(/T54t(**D9]}l W[Y?\Mo5UQ*\oUQ7pU<])mLE!1aa**Vw6GƸy{~Z h3V/r-\k9] VjREBYAiY\( clKcrdV;Ϸ,07]ZP.Uqmx{OnUt}^uU-cKgCqot|nULuV LG{fܪx秞FfWޟ^uDnU)5ﬕ-?ȭ^bZ!oUj{T.*B:]-<ј<$?yToU|zζ\nIyTѴS䱏ȣݍH!?>޸w"%*~lt;{{fw=jTwI)Sm~gͫ B}ASꔶ~yU{7l}s#_˫NFu~-|Hi齎ɧ^bZYU̧U-?m}qTӸWZ7sg>U)ޯϭIUT1S~[O[9{j9#T1xK#zK>Ul4S6SŴVN{L_rwm/x8_Cf41UU@gPűvNyn=K#} "}dVUl}D[޽?4A?W@{cmoPNy_-{xܫ*NwelSi|F? dՌڌU)i<7oMk{}4ekf/?V[ޓq*~L~_[buesVB(ڛBxU|6{=doHPJ;{象VeU~*wtw=~?s:٪*_~*xdm/Ar bsG]i68MbaU~z(?z+ҝMWgCm"x,܏/WDYo8*r$:]|-m}taVUt 5qj?mnHzDUtUhc5} yHEQas"BR*`7oOȳ6=HywZ"IZM8x?ip#8||   \A^}~[?{t/GS  ޹Q2 79/ ?xxx.x x#xxx0cyz <3Z*?'_o7oO^<7x _`-(p5 p_tH>$ooF|x88,8 < _Ech npv r$~<CuT_ρ'I5%..L;p?'ayS}A0xG *4vNjOgga}gKSus ߂ǀsT<(lO_Oבk*r/_@{%ԾԖ odpRpk2Pr߀Wwρ?Ց>M!x/&xj4-OCkz3׋4ڱzxC=v^HX*ηvOi5ku{yg/8 xhȏ?y1m>ok?q_kwzwL!!%i\MB^cji|{Ic\X;ƽ}4.^~n!S~c4}!ƽ|ێu_.!DYM 1GyCD׸("D4`U7=8<8L1,BDof!Ѩ_P} s26()J(oG'}i;z@{#0GBJ]/#Mψm'n?}Ee,}Ҳlwž)%22čw6O<)_(f'yD5-n5>O:)޳^/]h|Z<҇m6EzٚY,EllZǚ˄f쌖 S*k:S_W H>mp)CSzZ+HW, |P|?)G{>V^ p}iO~ELGB#}>OH_8W|,!ozO7> 0>vk#}7/}M >[zHOk'[yXS#S!#bLy>dz_S2>-C/ziC\۩6v:JnRXoC}Ӷ@t<1't||q~呼Ss/]4H]m_$?%,ҧZ#˿Edì_lF!ӉB<r+}=-K^^x/'}M n ^~<<<<<|<iπ_/7w'sW/'C\<\ = %}Z_Hp?@.JQsUlE%~6EFiR5y-]OD UGׂ=+y&(x#&x)x68x(x<|<| LǀmZ{wc<[i<<<1xxx'TP{.^~>vچVY - }Z,ViUՠ5͠o@C@߆Ή$57-QwUߎ߿UhY,?~Rբ="I*_q2}mSz_/1Z^mc_ml~LMH/&/A&IEV?SH1tNVlaMˏ}SEYl /e~M|iG:[Z -–ɪf/Vodfz/"2i YOg-9D[ӷH1!<dO,bс jS/}ÿf {z|f)b19&kuktkt^k/u5?@r"8_c|δ ]nka{mzO 7Xi($/Uwwih?uvF 52:/w/O~9xx+Χ G|x|#cmPp]0_q2>-Lχ'C|x$<#>QXhpJp?O ch^ )|<| < xx"xxx2p"/^ t& x Y[9& wQ~)n*y!7_DFpebj/BS*D1?_jcO:G1G11wkc:mc:jc:lc:huhuo:mJZ2F{sL^o:7W'kRL@F{sh[xmd\ߞ;-ҧZj dz&;vB\w?sLwc{Vwc}u~:vt^8YwctqFy|Q:n_g{u~_ҹt|uè_:a/_}{ 4'}mWb͗Z0Y*^ߜ')pr0H"̇k>XE-zWlr&>wKw|\}oq|#V7CWXvIzVώY>I@8j$@-Qh|%9xj%@vo=|tO/&P*uH'Ʌ&R&8xD:In0_ x :Hd: L''n_> s\?1X? ڍn}m|T_] ~&ToMoM}gLkdxy|lW矒zԺ;~OUb'KwVOb>~h3?sj3W^bl__֘QL|'"o_;[tyw0?;8x^S:ڝō*}'+tdqC珦zXl"ߠߨ5%6-C/[o{xWfD^Q607:at>5<|}1YI#LcYzy1,=Փ_i Lbw徤5wToɏ+YQҔEX>شp}c!6S4p88LWy\5N%)`:^xfpQJ<}"fAr* pO0Ok5S=K)?C `tx'Y*ׁْ Kt77LS\ kicS tq ȏq0\|4=(_ LSp>oa~)8߹/]siOi7 ^JN^.  ޾Q. JI͜'@hp7o'[-/*,wzNw+vRӼKQ=d1*0Zr_k68tDǠ_|UD:> ~ p=}]X5V (ǡ{+b+I[8~T~Wn{P6(nwfU3~ZنEbӕ%ۯ>sLncxUǼi<~W $Iq'jYF`mϚ9'y-tC9pΜ;h'2K ~?C_M^7@O"]W=,'pu 8ycsxKh8pWn:~8E|y.t~q>F -:^4ƃbYOHK4:EENӨ:48WQ:n+]_u-es+K/W"_MsM)W`[0=}zrm']ov܎>"ߗ=לĂJ픱6ׇ2~l*c۽iJ3,L_ywXF?4?1 ǻ-2K5/2K_9C7X, /`YL_Y?Dz?6XYL7`wX<L?I`d ?7Xoy3g~A\_b`XL92q~Aӗf`j,} omy3>ޠ1?J"[MPb\_~EzޟsX؂Fx- y`&οgL>ҏavo3/?Xė5HO{n?_~b~>KX޽E˿g?HyYGmHߔ_~zg!}gp2?g_9-K7O |= 67iJ==4Ku;jfaw_Q{?^OZz6=xu{H#Gz_?L "-{`{{}˧Oc˿=қ2?Q׼me!돯6{}Uw`~/zu}|a j{SsVxz*N>?̣ҿOOF,}9|ezND:c{#$[]sjSX~j7_MꙿJOzogxz M^aajT梹 R~am t_;~yϑ6{< F=Z~Eڻ*Pv;\pJl2#L/B,_|!h>VϜuWp'_-{uQ,{ DLoEV yh##<G0<Q2+]>OOo#]?xD*^I#ZVGa X#|1yrnptߣXV?o:Km#+> dG?v뫔d~/1+s6sVn^K?O = /|4O_Oa*`O#߼;>/'8G=l*g{xV9*>`*>[X*>[㿕!#8>8y\|Vd9*>`*>{?$U}QY?By*>[Gqg` cLtZȔn! +oچ/`0u}oIow`0{+SMs0{K?5߂4MO W -H_9i+XC473Y<79Tk ߷x?7Opn+8+n u[7?~`w3es6/`?3؏Yǿ?X7?O~jOb?wwAOM7ڔr)$?ӣmP<R`35a.0?BpUX/[:8)߿?}pǃ|ǃ|/) OYoW djrW;H{g"DϪ*ImUk;D3?By/X,; mWJ_MI5s2?8)_. >~|Bs}> \?[0׷98xxs}\g0E9!y^ # `x>7??\\ \ \9x#>πΞSy3 *`~QS﴾?WcB\| ߀/_/'3K^ ^~\\>%x%%uT\_!xx/8|/wPZ`[~lpAWum}3umc'{t/ap2\}3Qupp?p<+xx  c*vp2? ..x_9 >9K]/ PBބ_m#~ gOR!{o?s7k~P}O^0Uwx"P}o/?'O{i’gC'/csRK˨|??ËH.> n<|<cqa=?3=bcY>KUkv/e |Nί+7 pWp7Tp*x<7/GOH^C NǃDÂ.nPy,+^\{N(O?_ >ϭ?:1)}~: zp;?L<&E7d~AK>O !)[СoY[RqC>_o0!ڄ/??|V` V؇?T7L7?&D0!65ge6!|"nWwME6B4GN(h 0!#Uy,6!|U{[mB,.Phb_[hkK-[ׅ|96U&U.'kT8y4ԇw!nԖ{ax刼~> <*9/;uHjwO ,Ÿ&_C秓Jt}RJtXFpJtNJtE}pGpt}Nrt>[7+qm*v==U?  ^]' .XEr/DpL)*tRr*t}Qb]}_V|>M[^5 EL;Qy|Q:/CG(e_gWQt~,(O#shc{ZQ:6㢍yQQ:ZSOЙ_B|h|tvD{/ӯ吼\t>)|ԇr׹kS& N7q/zN^,W6G_,i2"M-e*o5Y9M `:6ugggg//9t~up.2?߷!{yaN ⧚-T{{[F9,|ܕHK1߯m3_*Yˍx|+p|j./#>^h7-E+&Q&Mɟp/L3_O%hw'o]5̷,ןZ{wr w|m.hn[AiHEwe"Ca'} !Wq qMaΈo. B|̗u)vY)CZ|8᭼}̗5A= SP/}'N|~St SЧo`53>wVRuRz>zgܼ>c~E>WW|JbjW4[%;|-cWnPe6 πr7>ql~ NZ7;H^I_/7|HWN"NZw qҗ+|!NZ̗HV=8iEb1J87fVFbχV/!>}a>| w 0w|%gѿBOdx./۹;= ;W ff'P&1g"MZ 7 `/֡%mB|'4⧡u[|wz}|!^Zmx h,|{;C m1ۀx |''ާ 6F?"_&]bl%6O{*f1w6|mMЖaӈ_G<כR_| }>-o M U+⽡i I7}">_r yd _l#_nˏkc]>2?%|c 21I;WN!~c':Yq|g∗&=dok0igE櫆v]|SQ0nA S{C{G|m`5^2gk8ʭ)?__,!~ksj:.Wg},$e| ^:!9|C1naCoño:I(wo.ˠ#'3_ AG7~Gx[|7S ̗}o4]/סc|Ch>qc刯G: q t_U|ON E|t*ڃ;}F<: }| _f>{;E3+|": 瘯 ⃠+|)2-Dt.|o=c̷͈qud}.8B:|']D;⤋0_HH.oB4eWqҥX$|!N+}|MkPV 8gB?q]E<_|W]5ˍ󻅡2_ğ}_+euhr0_U̇#™㸚']_!kxS7qO+|o)|[$O? ׭N"slw8b@?TzV7y&mtbyQ)I@}|'_櫌8N2_mIS|M'q]-`n}8g>f ~V[8}|k'C̗B _;|'kxH~={qe!I/7u@|3PIW#Nz>?W@0|ugID|m/WH D|?|m'=D8aوRq_[|{'=o#Mz⤧;|U'M,8i0__Iw!Nz̾'=_N;8ob'=̧߳v40^ Awj3_GI/טF Nz̷ q?|;'ο0_*W|!]"MzqWq4f2_I!No5G F8uv2Io-UjV¤7;|ɘ-Ro3⤷|'M;8]B/3]#MzWq=|m'}_)8 ̷qR3j0߇$" o⤶9i|' M;8i| wqRwqRwqL d>⤙Kbۈfo,WT^ЬMa>[I7r N̗q(WqR;|8iN>e÷'n8incሓG曍8i^~;|!N| s2EI =@ |;#MZlWqa20UCqaֈ>_I8eFW N|5oOW"N |MsI}8g_>_W滍xXׇr!^Z ̗2ݠ|a>%|'- Lk8i$| ⤥caf!N>ecmHE%j/ qҲ1vIQ|E'}? NZ?櫍8ijx{8iEj⤕{` A27q*!^[8+a ߳wqҪfV4i|Q$erV Ak qҚԮ1_'IkQ|'MMFk̷qjטou]co'G@>kw qXjx=iԮ1_!IR|/ Nڈ5櫁8ikqԮ1_7IP|'mJGk̷qԮ1:I[P|_"Nڒ5;8i+j\f%I_vDHN:{q7_|e'mM:櫁8ԯ!mC?6SF Nږ̷qvcM}8iwqN2_d{vv?GH$=8igj']d(]d<R;|r[\h22WA߆omD|/'|; ◠n#CW>|Uo {fU)2u/aw|ngsxy*J|i>Ё!:qVLyyNcCu\9|۠C0̷=С!zw^O>!GďCW"MIO|=| ڡ#{#t|%YIG@]ԫWy5 ק/RW׋4xJN@=hq҉.?NB~[3I'|?_w滏8T1-_H!C/;2$t:|IW b6w΄]rc>QƳQҤs.xI]{\H]x~F0}68=w}|]x~7G0}G{:8H~e-Ǡ8|pq ~̧SC̾'/] _N;+`7){`ވ,߇|s_] _-u5dڍ̗xW3_!Aז# Dۂ~~ۼ|4GOnr0(I7a|' y$-Ds&2b]no@t++$[|'V C 0_8;;|' q{ q0s~ 2⤻|' }'_Vk8We>~ 7so+|' K̷q}|_='-|o?;핒o?|3_[?{4Cz̗8A0_o$ 4Mb6xa0_6̇G/G[|!NzWqc`^k8q3_?w N |o$⤿—|S'=]KF_~'3爓G4(+4|w zwqҳE1uIW& f̗q|!NzD+8Ez3_=IoA|2_I/7!N|o6· NzxC*|oiqkg˴=1_ȐH:Ke<^=8 3߳ބU@̾XěCocܝBN|#z"Nzǘ/ qҿ/.|s'3̷qo ۃ8J1_(T2l~iyTolr/1_2je+8i(|,aUa׃*UeE3_WI37q08I|s' _-G4|͘o-k|['_k;8x9K`>%2_a&_7{qdr息/A4/||'} $8i~F3I 7CoA|Ә I 7"NZywq[|'}d1<ҤO·B4U"O#N4|뙯):"NZ7qg|S'}[8a o/F8|'IKw@$|G/$)Ҥg=8iiRq;|-'-E8|#'} 4~A,|יo͏ =q ;8i˜ |a#"MZ Wq3_qI*|Wb'}"qҪE0_/IWF#N_1[8i4|̷qa=ր8iM*2ւ滋8im/H֡=8i EIRj"NZqcNR Nڀ7 q҆c6mB4̷qc6B)/H6B9$--|񈓶 D|<55ש|'}#⤭|'}w;з|FG )I|'mK?櫅8i;1_KIS#N@?8i1I;R Nډ̷qD1!I;S￈v@+/|LIQ㈗vC5]oS=mE曆8i/dňӈ}8i_4 Q;ˈ|6y.=x9r1_m_/?uE|(t|3,WB @tAqqҡb3E滇8p^fc#M_%+8^e҈DF3_U@G/q6ܗ|o#>:&N}ׇo Kcm>l_ ~:&gb_e cC,t_ |^Gt__G@MA|t*7@mE|7twט|_VI"5K.ztauv[%z"JjZ}%veyw;)._<93̼{/S۰9_ܑ Ct9a'?g:oK0?1]#gB7>8 1L blc {O砾Lw[pp{ {B`/j {p>t.F.PϤX;GЭ.L9tm k.:tFNq[.L7v¥EN y?up9vpt1L;J>Lmwpsa~;;j<"kt`'\ ]!{;:g`n.钥p#t.섛 dn-僝p t]$' ]_vmЅ0]1GLWvMfn&5ptL;n1ޏ&~m-Upt6?BNty?`' ^k;>1]O CwNxSL7vƒНgw 䁇tK`'<-[ ;Q2gX/ANx.?CrNx:S2Y ;/%aR.Ut OCt`'<ӵ,tYt`'<]^ ;`1^M7J2\ /BWN;]72::/AW=bFCt`'][ ;U2 Aׂ.Nx {; 1Sj oBיrNx LWve`'Lw݇;0aӑL2Ѝ@zt͡[u={g't cUЍtL78t[`?|F@ | N{ x!t.+;t> ӵ'"#a W[s8 C'|йJ+ {-` w6.a| $a~cط9y. gLq{tL ı>a<09tNLй2H'SB^z.'}@g|n&[L 1n؏SCWnNv1ݿ''tuv´blt%%t]a'tnU_}L Mdz`Bntafn1-03t3v @NLwvlczBwN3L0GB/wK;an2]sb]t`' WO$섹{tao ̃v_3xWB$;|Хd`O4E`~0+.ӝ'tY. ,]+;aARj@_ԗvB2@ا CW (֍Lwvb`:>K+;a 2ݗk;tAL7vRu`M;;a1ie ;a9Z)igaV."`'.NXLwvJЭ`}$ :+;a0]s BNX L vvНf~oL#aM2?섵NXL7v/{ @ta'$)e1 sb?7ӹXLLWJta7ӭtE.YλЕaaK)3a6>2/ÁMpUf¾}t`'l1) CהN5t_3C .L3}$lݷL v@肙v–еy;a+:2]] ӵ0LvbCח"`'lwLv¶ vv a+n8ӽtqt)`';ag&3]6 @7|`' + ;a7f1]M Ct`'|;aO"n 섽[ta' 2 ;aV2 BNuLwvm`~fs#1;q?b'5]<R8/dU=/<;.0]8kL7002B C68;%H>sbX GAt`OlH{v쥀cCx0N8L v 2CL uIL =Ug#N$~8Ld9M7ؽ7*t`͂}0 ~q&n[B}]. vc΁n(m0qLwv¹Mgs΃n.ݢ-aF@>spt[.섑a<.0ӕpt:섋t`'\ ۉ:\ Lw ve=e'.})3# 2]9 WBt-a'\]Z;;ӭzQ_v;;0] k+tyHL;z vnPP= د7)t/`O9뇃x_ŀ[t_//#۠kt`_ NϏ. ;t` ]K}pj{)n>(k;:7t `_ Lg{t`]$%Ǿ9#p?t+Эy{ A1]7؇A#M}0tn#<I;]`atI"}$k4'^x 龃}44tIRɺ5AL |wL ?&v»o7ӭ/knCwv~x_:쏀;t)H@u ;CvG 7섏Ұ>Q>1O6>SzNB70sn9/D{߀]/` KL_C'^hrQ1]A>:Բn쳁Хd%o:B~LLw`$:ta&sZa+ {9`r猷) L;aJ*1]-^@'GR~5:+t-`oLu70B71@n4 J7*tQS~ ] 0Bn sW̠Х&;]=/C+ {Y`F_36̪|0BeڛtU<"`vn ^5cc.0'tݘn"\{z^s+tIVb ̣Х=#0BB|b6s(]~F0]MtAw@t`,]̈́}1 t˙X/tn7Gi|t~XLv*E;tΰg,ӕC?@W LW f:7ӵ$tϙn(쓁~*`)n_QnB r ]~ c=ppoaR1 KtaE\ > Je`V.# tYn 쳁Uu'EmUC^bSН:t }5+tk}?@}t!t. ]3ߟC辀.^ցe0Kz3]ؿ@7Z XL7 zMa%ot`/8ׇn!]%t [t]C62]27A3ŀ;t5`ol X`S~eyo6*?C' {f=f|~+>iغ ` tn!k-sg.;ӝ:[3cAeL׳ (ta'lMB;a{. UaL {g`'0]on$]kt3` ]'[Z`7z1C7~Lw+8N`ǰw2=72 ܯp\/t`wn!傽J ?t;-vw2]P> {8N88t`'MG ӵp2B_'a? ]/ӹnDй1]VG]O{](Gzt`   },p tU. CW龇}pt-'؏Cב~*ptπtI6 {*$1]&s'Cta/ LWv©Ͷ1]mat]AM  L (~v0} @b`'<Qs#!N3]~ c]ta<k{0(n2]SǠt+a<C; -=cDۅ=-t1L{9/9ʺF>utn섧zfNx:ov³7`Cc Lwv_>=a'!7tg^ L {itNx ܋ZNx O[_Ȏ^ V6G l.C^.3*mio>F^ 8xX 4e,,  &8,eFhd/U{ZpQ8> ;pY?>/p;SOo0ht5h?3Fgpݷ}=C}zxSG?~c`NZ;)$X[<_ oQڃw@z_g -3v)3 <'x'Cw ]~l+>A$x_p: #-Yv/8Ipepʣ.O 6.\n#o&_&||lM~M xDr;f130-,6d#o2%ܰw3e>ye/K>y/K>y[/Kyc/䣙䣙<>3^mKqgx?_Yo?(d%?גf맫؞_ ڏ=~ ><~xJKB)l=J$jQ??޼3NU,2N/gzc3JX3|&/,동_o P33*aYܽe7s_IU7)iOyJ\^Ҳ3%-/3_>o ~edwg'| x?~8]/4p?ehor~2~񳜟|$񳜟|hD{YWfyRϦD PUL!`|Zۗ|X)CKYf|o;JY}Z4_KY̝[o*ƣYiE}}wq=ߙ_:nMn1.s`)<[/2_&x_jY x,K'Ⲕ,K ,iy~Ph> ި)=8o__[wjȯ#!r4_^?T'^_>< 'by>.Ht+^ V__> |#hi'V|,x9*1`}~Lvh?T9_U0R1;+'XO =T =P`i94E%t |00nNq5a%?ĸ}_ U@++//QZT޺>pk>!t}\c5:{ (<i~RT/-4t|Br~7i'Ϭnٯyi||eu~̣[#f~e?b[#fSr>35,3/^G><]RӲ?15,)3Rr75,3Sò05,k3 >t1h|?1WRZGG#o(Wp;/ >s}Nח|* 5?Ok> |=Z+;|=C,k3P˲mߚyږWmܪ~G/&//a]k[f><#\/E~69?OS۲7gooXNaӸ iqi0W2 Uw,n%5ůTTxgd}xǷm=|l|2=x5lJW\z>qYӾ({/3>,PՏdr{5?fNϧgmbYoͼT3lby&6\&f>ed櫚XKfe?e{X/f~e?eכXf;cS~Je2bM-+3o |PS~~coM-W3_Բ2+DM\i=ߨ:Gi ?OZ {Ys$?L=g֯G}&_Pfv Nn:Sc--΋-ێ;ᦐ h-x / 1 ^$|e0x ZoDC|XGDYx(D]A4DOZ#8=O@mMG@4!{Apz>|\kZ_Ԛo~5kMLKp`=z|: j0O*Kg;ov~\TSyi{/7sc\ L v/b-+__8o8 8[E{p;~uۚLoT7̛t_ͼ]7wr69,k3_r4,G3?r3,3|lI[f쩷ƷXJi9=lBR>?gs]k w}n# ?By0ŧ^3?v5ζbp~wxdp|`*q1~!+E 78ޔWep|0jloJo0G魇QO7[galZ~Rn4~t?{M~>1?CNLNSKGpQXԯt ^{! 8B]9?5|@JcX?d;Ο̶wo;Y)Ҏ7Xڞ 7e}x ο^ocpn|_~I}-hp|T^L}g>Ƿ78>S j? x= >>2̠}㗅)Oht0K$b;Pi_W-Kgsζ\olWo  >|r'o?><| 3X< ^< -LHp߃ >P.zTs,f~ |1HK]\yp*?}YS(~/O>_+ ';ei< >58>ǃw@O|=O |) >|>xE3E;r̗ |(𾔟YD RpO|n8yzΦ(G"nyDPA (g]@'Wl7w_@/`nSP h|P<ϵ+-H?z%*>Hpz}8xH"xHZV!?OIW > ~4'/3-R> ^q!{ ͉%(4֊[#vG\dzdn;jfF"%Ƶ@B[B?_ /.gl3~,,|_28޳'[m; [a.:U }r[}Ag\?s̯bǧx^ tov=- p^G{[?\Ei78FiN:S|TZ?@M%c"vY;%.uN7#J~~u@0MTwy;^O-..>wPg|3>>nh+,և,LUֽ80E[+ZtB7*tx|.HvS/N Bx+t<:Ux<iCk<<5S3y5B(.h @'xtq-x*t< GfSȩ)^3*]\W3>(bӌGGOxtqfcz551^351]335.Ќ"x,ӌ*xՌdžGnS<p5[4C3Qث8񘯹z8hx\Ox[-z)Jk4Dp7te*iJ,Gg)~K^h}O?}/~i?P=?iRjX}5u mtu=}t =~s4eBU%t$tfÒU^t#5:⦦5uVT]|.z/}oK8gs ltK>Ms|C` >7p?r=dԺ={ - ퟋ =.T~Lۦ$Es5,Ʒ:<80=p@*qHuBf™d8m;/wztPYF²<?WQayj5DUnU}-8/Yg տ_?}ȖKAoy7t׸c<<ۜ[j:~fp9 <:9dzXW6;qa>UM9_'Q=uwW؏4lc_ G쭙ݴB>~S^Oevz_ ՘?\ nsm{{7n{*9w9ǧ= n#.s_qz}noVoZ,8^16u3Z/Rc7oZٿ̿̿*vo_ ߃cc5N̿̿_$/0󯣝o>;׿l01Rٿ̿/eǾ bE33>ݙCY|ٿ`_0cהל7}ksa}h_*10b󣎝++w}K;keg223޷iW%e]d-`Mg_3Fo [_2ٿid261m_+bgf㗑/w[ig2 g׿̿̿̿VvoOosK,_R;7zǾMddfeCי#+WÙ%_{_4o(%_󯎝p˾Ucduaٿ̿̿N̿7_A^_ ;׎1m3n׿̿]̿?/;"א}{e7ۮ׿ ̿?o柿;վmg61z2r1N^+<_CR}K #ɘw.׿̿_R|ufa92d_Z1 2`ٿ?-_M_~ ;WwsѾaf]aٿ̿̿̿v/#ϑ77#/K31/׿1._ ;w7Wwd-bߟ̿:?7;:g_V31jv/VXz-x}/fB'ۖ_U5*Le9TBE9 'f'm иOQGnKu#Du`Zڠm[^c ݬ{zOOKwJoBO02G-VyU\k w|uF^/4ooy6@<KPk"Ao}zsy=jśn>'^>cM@9]ߛ(wVr~O {F^~G7t{;'^^j'ףh+ש6a㫻DkMw=<]JKvջOhNYѵCΏ~]nr~ *ǘz^tQu1cGBdzSj΀Pq߯MW,!Oɑr g?w|?rY_tyJ w=Sл~a{ljr~t9?OD9?nOD9?MˏO]z-RIw,n󂊽qϑoL9͖/(Tο*__B|ӽ ^w}NX*7po _ Ƿ9=|]Ok>WʒQo]ˣ+kQһ~.O^i"?ʵU&߬[emG(A pz[z5}7F*jazjas靚:MwLwHyg!UUivy*w|OKp';)x*u`^&x^.}P_~ Nu|حc0ǿo4}'9 ur[5uRݿr\ת߃&]U\{I:{=?,Kz:9%W?3F{_0+˧Y}ZD/8%N?w5'؃qy崼zP=.:?CG#ay3iuPߜ>$o7Z߼Gkӝ| "&k:=fiWr|$R'&K^] /goMO7pK>=#߿hxAQ|~vF>U>;/ߑ{?GwGOԽ_y=ig<׏/5U*I7n4O:! N|2tnyꛡٮЍ/O ˬwt鞟t+@\KtRf ѯ>7+0= =]OۺcuҺ.RwuϺN[S^Y}+:[ʒ^>t?O/uSQ_ƺSOuG| JBbʻ~DVBoO7n4=GO!~x* t~U&w~Or|z_s}U﫤x&+}Srx*~ iOJ~gKwֽzf=h|ϟ9a0>' Wgη]C(wʼR{]LHpg椂S<@O> IN(8 d&<)_z uQ>߄9S>7>Z:}LZ|ge7?Xk3/^>T'u_n{owi OkOMSM+=]jM]&M]M]QM]M]mM]SM][M]oMpMTM]nnWMM M{ ..@SRS0kOuݧӺi]iO&I-__N%8}hXjz#[*z#u*zvjoJzc|=;}_U'~_G~_V'lcYO'Gtr~J'GӴr~L+Ǩtr~ZΏi؞ZΏ.W9?Kz9?GW9?tr~4rtr~4wztH˹(&;]oLr|eAtM?u_<>Nhn{Pk&l)VV9>Y-<.LrdыB/n/gֿ4u/8ǧ%ꯚS~%Ϗ19q'|#z1^W~u|xh?8~ Br_+_y}SP^gJA9C B>^@vʮ zt\KJQBs^ɮnOS;EjivihiiՏ ʼyc]i.wwiZ}3i/_CnL}y>?OXޏ7o,6_/ףS'EioÞ|XCӁ߫?C>DҜzGU_ɿAK\οMkXοMXRkx!{m"krF6uLc9_'5*;?`]`r\:G{v}A+Iy^j/K;w<>uӳ<|+8,Xpz>vpw|ڷ?feU\m)qo9-Wr~Ero9ZJ9zEzʯ}Cί=]ίMίjYίYίVע\>n^T~;?tr;_.$;|Rcߗs=m7Wa6,קy}Z"7j_y=+og<])r{.t!ũxO,y&x&]_0{E[1z7^ji/~nϯ&c/nu[w|uyh֛/q9Kou*L|/OAv:ayu~,]h~^f}3]U{`F^FO*xm(ku?7o{D~1~#N͠}!d?۠_d/C"=x5txu5}VCX-olQ. ~ [n ;~|E}wa?XL!X}_Vw? ya~]ۀo >| fk_Ov㻘< F#xYO |- |?Z hxO_~ s@<;y};|kK?h qx{ݖ/~?ow2 ПOi<{g? <=; _ P'wC?><,gj/xoi7G>|,IY?ch=}&/Ga|z4G>Y~5Է%t:?A v:yN=z`MlXj_w\w~:TOߙl{7շѻ}*GBgBϣpg:ҪP8wt]ʦk/jLq,9 Sŵ_T|34c9XXumqG @`u;ga858ؽD=O">WIn.v'xrq Hixb[} {_`IFM4R NEe.SE@`2hԿh1OAp%~N3>.0J 40#L^'QC_?x"P`?_jͥ.> N` `z xx;0 ;A֊q9oVB> @ݨx1y>uKGrUC tɑG+|_drS#8G q ]Qn"x\Pf 4nzW.o\Yz4=G\j9>[Eig_(0#NwN[$0 3n߂7ǨFRI~~=TO:,@;X;$\$gg־9P\6Wwf"xmw/S L 뿙K sw"zvG"_6\Ǽ/og#(c\rY_̕_1{3\"?+RHspGZ0EeC\\`>KKag]'E'k綒rOow>TP?SFxi_+x~,?z}&_k(. JAg8Oĸun GpA_} ӻxn魲BGxVs, 8Q&}B84t!g-2_ &szYW:z?_V=? ?Rݯ$š1cO6Ʌ+Kt^}QC/1y+s`btttIs&eF}t1]kE?1Gr맨/ /%M/sb=a:g/-W75F֮ E9ҥa#Ѕ2YZ315ztLL]sc).e`:Wv3'tYX}L ]qt堫k__N%,Z)и\ʿ3\R3>MI)?ޑ=)9OΨu4Ǫ)Lq|FvxqPo:Κи% ?卪)nqw$y>VuϡXH?󇝨46۟zj? y`}T#ho6R?==?-pܙ{H:>>&'y5Tjd}In_qt*ed"N~~T`P59M>L_L_@I/8󠐁gYS8-n,S }Y齘uj<8>nώmlN䬷9l}*m߇o jn\:~kq5/֜mcuzNh@J>OJ=+өzy݊_Q=h~K,ѭCw?讨 ݗ9$U]xUy+I B_DC&'Ntڡ8 3L@{{) ?B' u̠Ч>ms3knʚx*>Oм ݗ\EPogk@wl3 Mx?6?|>;=iP|``xx++c?uuez}By},ƛG9ލGNn?t??;Lǟg/r?P]1:3?io*z/ڰ}ej]͟U)YUo}*~Um+)~e]{Ƌ_Ks6SU>/U%OW匿> ߧ/T>E8jΏ((cu}pUU~+[/oT*}HۉvCzo?GBC*ayC:|`eky8 M*?E߷|O%y#tkwky;:twz?޿o}s\ !>*D?*wDE1}9S齌 z`yz`9o*KW2W>R1u~޺:oxz:ouU]~]ӫc:q6cèA|]EuW}tՋyNFi>_N n6?6r}>~mT߬F-MWߺ%}6Uetm?v6֯y*t|16,V ScS}7 ט`ۡf~XOs*QP/d0(?u`u^ViueQҺn ]oRTeAf&P|_1}/VE|l(!T߷ȫt4s(nj{ay~QAۨX?q:L.h i:.IO-8Of[GqpG?xu"f{` {ad[GX=blw*~va>Em~&Ǘ&أ'oqQDoo,O}Tφ=pl#[5Nsak>#}>~xckw 7h|^8&ŏ?fz'zl l9G `)}.?P_=du|j;ٞGn_@~dkݾ#ۛþۺ}1S} _v~MU%}`Lxk}\?fmxہSb8Rདྷ_ Ϡ |Hv{Lfr%o ,xe8v& KLǣD>* ]H/7.: jZ}6(뫸  Z՜r(~q< qůTwie`5~#͈x7z~Ro¾OPh;~-.n7龨3.~IkU =W8[z7~}DG?>˜l(t , _:=_ `ܣZe_T/Vyߏ|*_@G<|GHB}ݟƮ?U1;F>]/O\'-Z={ n@ng&ן?Ux$0&HW"\rs lq~9e_Iu*5?_׬{Ý>7O'BwNq_&ܿw1]>w6>w4?OI, '-U*?\ 6qy?gOߔDOH_$Qy>g5go%V?NߩT">~3aϛ >gd[G&= {ɴ}b^?ɜ;[O7j۔Y-)& Tc>d2y۰O7LlCM&S+v/ѿe.]5+0M.Do;9gobp|VZ{6#vO(aTÞg/~Vas rGafeW^݊="O"O؏9A<Ϟ_J7; ꍾQ܌Q@[AQ\̥χ@o(.Mgзsf t&x8>or_K( ]ӯ~'@~xBgbf} _ǡb]ӟ~@*f 7؋=| 4<׎dzOpr4Ŗl ;}/!pQK p<ݯ 0p{y.5x%$  ^|2r^|u1߃d3c0Wyo>Opz+mU]Q-;{tK`a a]7YQ 8Eg/tMv;on;Oxu |xgt'9t?F\7/o}sЏVh~c^A}in{ .h'4,XT߾xh~Nxǻ~>`<BW]ߝ!a"T(K%*CU<(WVZ_P N4A~2'F[Y [ϼ~_UxU~v}+4N5 ^oOB yUG螠~4/l{*#K!R !)Nt#4 .h஥H@)Rx/{s6;{6?r2眙9̙33޽F'{wU=7wpTEh(QOz;-i!h&r*#9'Pi>Jj/m')|?ׄ?oH|}U1? zJg}y^SKgj=rlE|uȟwsIYC u%[ھ2lo_|ǁ:owJҺHO_KOmd~o! ~ 1Nb~ߠZO;Kqr_'Di~9&.1>N4DՆ~_w?U?RW*x9ٟXW ]g紡4ޫ#Ck/z 8f=^ sNZKSS1qR [mkņ[(>Pm6_wO @ET5? |;hƀo.ފ3gxNE߮r';W}wu٢E0v-v}?w_/oomkg#>\zvߣj6} 6_ڟ 5<@EY׳3ο~F+~{@[o'}WyOQj&/'mk}|)эV㽈d_'@ חb?GzUQu !^ˮ#m|%uyi,m\q}Q d麟jZ0F9u /E~xܠ~T ?OSԋ򟳨7 q+i'>ԉJ] D׽_3%mO {/ƃzWzeZ??{e=o'( g^Y(ojLԞOE=?>|zK=ރS )/v|[Nӊ|s8.i_*(M>7vG=%NDz>L^03m'''''17Ԯ_Kjgϙ:濔Ew72 YZ;=i^%.vΏ={q|_[rIOʤ'΅>O|Ҿ+kGVLirMcs,ƭCe^m$o픨])i_ sm)l>u~!O7պSQſ翫Oޟy}pO:n0v`˕NoZ? ][Rw88׿ ^guoOZviP/!K3|) Y?7mxu2dlcU?v0`vڞz=K.AwΕ~B2mJi}w>wi}?W./M&7= |7?E~Nj"KtIjZQ[4^R7~ -}+LW*z6?!݈OHd6z֞/S_"Jo~/_r>jފ)H\!'Eا4~ߛ0NOS}R{?5>_l1~íEj'~?0?'bXov_>w./ur<SkTզM7AEB.&SnO%jӅ%!nrE;x.!?곕 z dF;~֞Z{z*!_]Vi'_A[=|K?jO\M]jWO\M/tQ?y~颾'Qo E˴鞠'/Ӗ_ԏ_M @OM_&;ByRj@w! AF{ jӅ]ȟ8G.g]7[.OJ! AҦ gjӅ]ȟ8C.g3矐o6]ȟ4M.w!Bt!ms0dm ֦6Ҧ6f>M7۟?LnPml!fti'fM7ig6h񇠛hm9(m9ԦA7ǟtsM7ǟ59!__;>&O~tO;>6X"~B'C?AO֦?3Z{}Ц mQ'Ejw .}D=/q?v~7(6塠G[O|6?uT`"t*?:S)?S@Sf Y*$'诅T0'SOG#fO'SOD}*?e?"?e?"$S)QO'S ؟OO'S?*?e"?uAQT#t*?eOS)ASNO :t*?[G䧖OD}*?%S)QOT~JԧS> !t*S)QOT~3T~jOo TDt*?t*?%SB~*?%SB~*?%SB~*?%SB~*?%SB~*?%SB~*?%SB~*?%SB~*?%SB~*?e"dn"?e"dn"?e"dn"dn"?e"?e?2۟O'OftDln?2۟O'SCO2n?D~9)s!OCO2"??"?U'SASAS߁NnN SaSSSǡ?OZNFN姶NN姊D~槾BMi^7z)Ny֓J˜ /:SN'eKQ;˵O)h|ospj(tgN@ئM/+/&?#eEU 'NyBY>'Nzj:IW/vm'ztu]m1j{)|ߟ _:mryV/LKZͷBK^> Vi}y[;/{%.wQRB_/y 1߾Uճd0}>|}+2cwTKyؗ(|.G+|6)63UC|/)WW;Kۯ[%YCT$m|TU]|T|U]T~X̣mm˶VۢDm{m*fbߩ;byEۤW]ۨYc7|׵|״|k%kU]7C;ͷR廢wYwX||U|&*y߈}wN/@;͗wwj{P~a6q _|W ֣~11UG||?|=jQg{O着]m*"(y䛄_)|IzMRվodUг]SZSL+tW2}BOz)ӯ)t]Ww = S*tNoZL_^Г_7zbh\ }Z_?56՘|=O6ߩvߍ;G^Sծ 7dz}=9=:(|zS{$`g7Y[4;.WYIU( '++5CB_e%}xTV>B^J*k;l}kgm;~}oggYW;_YgvWvvfgm;쬿og_xR-Y;>M쬿y{?;l&;%;}|ݞ}vߘr7pvW7QѯGo'o'o'Dz~KX9I( ,PNo$Bݏxoo)f(o~b|b~b}"@:;'ի/[/پ*?le.71l?To .똉?~bb?~>y?y{KB(ȡ{V%?<ו_[sYOEIԧStQ'яNDKtu,y Ÿ#1ryd;N>t3ߟ+o_Y[G;6KiIބ̲3EϨ,}zgS(lAXZS?aN%}g(-g"BQ(UǬw;ﷳ-[/*_˔ú~jB6Y*l_j~dYYUv#7|dzYY7Yvo^߾e~>gg~.(WPPPow~Yy|+yOP޴+!~ǶE;ǔ.&{lZoY;뿴}v\)GYv?JWVvֿdgO_;agYg;վ?-b_kYvdqv_ogYo]㟝ojgOnv?綳)+.XVc?_̧o'';_VNOh9>d|/~b~bNb>~ŀ=s~|wy>:]<_NыNM. <+㿣>7$C|M^~=JO?Π,p^PuUYmgUwۦOh(;_Y-x;Y?W&vkg Y`;]cg[Yv}ofgYv?lg7W3;ۚg6Y[?Z;okCf_ ;QɾWD<]Қt~>)x?EI.oPA]n+oۺx>-ՑٶZgϮ#7֒{jmm$#H/{#Y0o9_[ {Ce[_֯h}YO,w/Ecse* Wˬg*6yQX|X+|bK`}bϬS=\a延wW{,_PyP:e}['7iu֥M>2n& WSڲvPu4okѾv m_ۆDz֖a"8_@Jkw|ӳc8]]J{:M|wBhzhߚhCA8Ժjm-;'ϜF'.~[?ѾgnYLiphCqyNYK*v`lqs!Tj.v/m q̭پ?}aci!ljEihkIXXcTnXyS}aվlap)okѾ5_^'c|NՒʳҨeud@ojoԾӸe)okѾ5"쯶x*t-\i죶//Fhjm-uu5dQ #+Qioעy^/QkwH?Tz7_ zBXt?\㧀U/ˇeLPܿh/9cE{,rAPyQ].yY'_r.|5WyY\~1WAE{,΋_圠v 6LžK+w]پsfؾ>6GoTl?}yœkߺ6GP`;F[FF-\$_%m-y5,s9+?k?",֡Ug4D9;P΁r*,VgxY*+siX=>w|d3ǽl%dm$ۧV#>?}rlֲ}Z)Zkf}ӽl>-ei#qiOě'(;+B!$<@&Xea/A/П{iQa#9B;h=+|U{b<1S9Nx>'OwlSKQ\~?EQE;P>]xOCQGjKc|k6 p ,e[0F`0`?1n<xs?`i;8 pgo>L, X1`'`~cg.x,-7Ҁ5v 8p2-|{X`cN\ Y[oAk6 p ,e[0VX`cN\ Y[k̶<"+Aw <_4ésxxG;-:+<"nsu$r2({qR}_(zE ]ۿarn?VC"09L. |2/_ kՐC7^_fQ>ԋjHOcy?џAnG\vEr[7U5C9yxVR+; Qpj~"[mํv(np0 Д/Ai־۳7-'N?` yc+~Ŭ׼L;Xxgi4{.ӡ&Y8~)Koe=ښ68ဋ8P;{|e; u+Flg!u'+T;#yAQr:o(g@)N(A9# e?3(F9;EPvF,.(WF85QvE (@,ʝQ.r/+g( 25D6NxyϬ85:7GgQr:?xPN({nrw3,(/ϊPгrQPGGB7?xSE tdL7sY1n*7N"J< n:NRʦ~ӑt_ TB7UJٔ2o*R6MS9n*Mt@ TR6|8n:KRSMw)"?Y˦T l`1M)tFaJ~W ݴB73 lgB 7)tSym䂁1?^úK|ovG^5ë' hT-\zSu_9QYMxB\/W*h=׮_䥝pP,*N ҿP.oq8C8|1Do|Qnx~,=?<3SA &)%/H"Fɿ@%K=dg+_ywuv?v[|EG;u 8 p`":Gj. @=e,X*`}={}a7A<ߖ€u ?Lm(OVw+x~|݁__K% O6?u_vN_z?8UiHC@sx/;PO⾩; G~y˫?#6xE?PWT@qu>kmiMe |~G/?+P(QѼuˌN{m|WmEeq}lz(_-*ۧ-Oۢ}bYLo S ( Fy7.똠_1twp6 +a( J8L**=@=K|(;~A+vJ^!d7KpWJB;.'x9E/P픃\dz,)z !;wx}F&VF{?>~OqPԢ .j6ߥm.5SΩ>TVj;׬T^bS> ܍J?[eab#b"ݪB[LhLlts s enA#b06Sc"#os6_Tx,s eB"c[a@,s cnёARbnSQёQ؁5_h!cnё&Qr,s 1Ik6<,OZE_c߿&p 6σ6]-Rf՗XOh21OV4Z=E`s{G+o%hYτuGse=#ǣ<2> QΗ(P s~ C񜝀"<B z36kzAHk|fl[ĺQt$(|=c;p2=ߌzǩ.%uő91}&-ltekyYx:88K1q7?Յt^9#cMJ ~92G.>y:nZ)^?"[2:%nh/9ppHʲ?m\swtagOE~w=Cr&'sMmX:v̱^d\2y+\=ْκ:6:2WF9Lb X㜮l@Rٲͨ1ų=S3Oo7%U¥strqdr;H,U{.NNꙣΉy׹1T,,G^ ]3γ,MkjV9B]:O9-Z΅%Xex#OJ]81Ğ;7❝+)ё㚸0wFYƹ\|lƽ OwZi[clo.11Rj4V[clM:ƾ1-p:vE~jۯcO:Ǝgc/O21VuFY~Nou/ecWU_1v4S{ E::1Lsc/t5a7:1^rhw:jz38'=c,e?zƲˮѶ3[X=cy3Vz Y3VDXQ=c.zƊs%t)gR&W=ceAXmՉkjkmEVUGg<񿧞1/=c y[ig&zƚ*fs+2(3Sjrz:)<]u3]X=c= yzi} PhzƂ 3j3GXE3r`?=cvAz!zƆp=c#,Gglx=cPJD?Id=5MOGyL^3oyz ,n1_R 2W[gl53Nz z6 p3z[7kߦ]zv$gzY(<'=c3c'3+i=cg3໠gE+zƮgw=c7Pg6CO~wOGz'zƞgzƞk2c3V;F_&cSʷ9*x2aƮWg=/-e~-= {[!l=p[.zm(pg0R~;լi[E7\^ XȘ=L>fG2uE~W:9mREPd.t/{ގz1oXKS~2vvn"_ iseUa/Kth靎(yhE`3י{zʶu6vvu';ė^'rxbBl`& M/ҳzW]CusY:c!}Ocju*sdgb[wXeqz:6hS/ip§Oȱ^ n?ûn?v索GuZ鎐߯4|mo.מݶUj&֫0S]+/v+ Jnw_Xzod[o.2λ҆][xJp ;4$_44ѳWg^/wūNW!^=iv~[fc\a& xzv)pdr<_m7!g̶wt~Aוro>{S'˽Tj]в!+>0c]u?[yyDs*u\)<+MY13LR6}^,C>{od)̺zYUN?܍\6taշf˅ e,I 4tKdL's.A1^w7~^?O.wP:>&O>>[.vnjAg]~!{*Я=r僶q-!oRs(: G7W2sk^[_9~ɳ۴hm.>ڎ=b26ӰoNu^_fs]җO奈C^,vx}FOƙ,QBS3ٙsTL@M]6ieT+._Jͥ^y3rU1+efj<׸_{A;]?;tJ_QG^9jU!_LdBSu&Hbt dOzvOo:x>obNK}B6"_' ~ žAĺȋ$m /%3B_YH È8h$qCķ}D? 2X:ql<O!6? ?Da<ļ!DOȳ~%zH3B~/bH3aV84$ ?/DFāb\Ne0]7"!~/Km"?q Zb|_ANb\+XĺVȇ8w#DKb<#ٙ~a >!8?#ND' ; 6#>'@čψy ӆe:CȟHss*HļIW}h".!F FO <#?1>#N"%9!9!1k!8"Gء3oB[ދ"NWDoŸyW"BߥD*u#=Mmb;^"^ gqq{M';MxCn"g#^y:X_q q>L*~KG1v8jD#DJy"="qxp.v粖?l#=M{8?" D|qo=au2qo#>-AēnD^ڍX7 %oE@"n'$1^ǎVh16د~GM[S/kh͗XI3DK+\㽁G=ѾXG!|uXIǁ]>Y?Wër6^ْ :+ޫ^#Sh~k@gIu߆b]^uY|71_ PE/w`cp^ngN:/P^`x~3}X柉G'N:({*b<ޢr7F\@\ |nC=)^Y2K7ľNw ",** ӮsNeC;Pq'=!O"ZK %/m >P,|k[5b?V^f|mGυ-c:nn0^cevo6KŪw_N}̻8̻R ž4/}8qx(˰S~gy%76c}A^_yƫPo߁^ $-sfy񤝲~ ;Rv vH;#ۼ Ǐ[~\_1v">,C;N|~[ b/9NvB~,Jw^/utA7fxUQ?~R7#7 y!@?+ 9)i9#}v׻Ɋ{9~Xw(N[r6@Mo[W g\ϭ}'Rık{oa Zɯd8yhEgW/ 쯂0O:u<{ ;ÞI2Yo%m?ӛo"W+'Y9,޾@Ͻ9yC=/-b7?_rޣM0߃y=\ w3'9$ oGV"Y^='0)8/;1(}*{U}2vu;^XxGk?Y XU!5>6~VĽa+7^^xo>r(xok?Pv|>]"yF+2 >ve5Ξ- Rv;ȳ9?TG^+=u/G^ב-|*VvPKr|2߸Wx rWbEqD:c?vRٗ}ƖP j?b (&#soC|o?Eg q^'zw_-Au/:~W]8+%ʈ3<=89^6yonrRTRb/87E27?ϧ*~úwc/udFmގ\%?~Ue\\OKn+3죖o:;))#}Blطt>qoAy#且s8`\>üYQXwP֝ňc}fOwqMoB {>WxǺ Dv>{\_ ֝;qyVm3F+%/]SZb?pX _̻ WRaW8F|!o] ()%oʧW2s]WsEgLJyx;7?$;7G"''~+֑vH|AFb^SEC̋E題{!!!]W8%_qL^Cgr^~ _GKA3#0ڿ ;31^!x~{"y\am!e$۹%y ܞ#8g+'k5}~9q q _fg|e7Z׻'ak` a"Ʊ ф; Ud}+c_}F9ߵir߄Oݓ;0GϖMqR֑Q;!˔89| zES.c< J["qM?KQ9(+ >4W?ϣ rn'??zs>1`Q}ҘJsG+WM/yRY߯\3q?&#~? Yٗ^z7kԧoXeؽbo!"$6Ԓj 2hՈ 7OMV$,-Ìw (X*?Ԅ֬-4k"wj۲|F}Oh辬}S/7'Tf&U^C_bZ+GhD85SFa!X#04ƥв+!Z@Eb Mnj\O '9iJZʔnt~aA2JHc!vFi_C_ڈnΫ1FFE6) K+Dd)FZ+8-bbˇC_c鋘hn6}rTwʫ/ZȨc+ooPoTV,O"3:BTlX`LiC(c4A9E,3 "# WFc 1^&Yё}e\l1¿B2*LC:dgP؀4R8- d ZQ1qLIA"(v _KLFrDF7,6aU|}ڷoֺj7,7J FP1 )P^(&ڻO5k7,uk֪CjL L*:9vyLdU\@oVdi'5c,h1cCv>Q˲!2X*vBH rV[ ;BӮ?(iBU .zb=}V+Ki]Mug!UsJ|gMiuF9qTxzMudJ>*kz&JHzЯLҺ`lMtVΧMV5DO+Ⲋ9iNo6ѕ+AiLoL`'A>็U?t *7ۅsVL ZͤfyF\^鹠pʈeuQ9?*'9T#ZZWZՎ;ݹ jj\'_3aϬcd G~DNSjk*Fh+{ֲYcu6:QZUYN' +\Q)&d=U&_T*uUփ8%N0){V58o? &W;2-IM g֕+g8 nf=U_RG,=UٓQac#omK5NipYn-RYvR:%w&Sr4쉧p ^j)ΞԄF]ZY6j?4<iʒa|3L/P#=j[7='=n=/ņ)zvNoa[ZS7N+חVͱNń**ngWTgw/bdX1K;/(>eP\:mZmdG :m]E7 N?ϢSGmũ3yNϗp}(TS[WQzg Kk 7,/rv Y:=sVr[vpqiYV2a.}o0CiUko0ۼ 畬UJ*j+Kg۹é;* gTuUKgTBX{/9{ 6Nm/kمtΞF}tFeNj<\ӫ3V: '} 6ϥ] Kz_r4, OڈOLNhV V^SU}7W&9{1 Q o%yO1nPi]IP -W{@'N",NWX =M|=@-?3}: 4AcrEϣ6ttaTlW0(?5J~gJ١' L>7M ݰ#F]Zm(}_(|cqeyEu]eݜ`e5Sh_MBb;MsifûhKpKa]3 өv$W￘M/\?'{H?~f8G"ϾZ%cu?,23葮NbeQCMύ7ك{lSGvl~΂X':Nvf?k,:%= C:lG+(- fᲺfHeSǏ<ťz|Heđ'\4q.JPMu:V,M(.Yݝ'0fh,0|H5qcG4DnʼnO~+<1/z1Kٍk}fV1թdsjv9h#)}C)W(ljp}Ed}t:rcu*nNӲ2WmMbjU̠lkJSgV%ޢobmk?#>}dCz*-bFiηIuA0LuxcHXݢwYz.R?9 ktz&zoָ4M>[Wc<%c}"$5zyIp[}w4n+ۇ.T:(璝Cg ^䉹gjf⼁i8Js59>.>a(nU>3{V[L=!Q3ӸwM+ubڠYFUUHb`[PkFn+V#>9vl{2ɡjB}$MfTBt(\U<^䭩^E昽p 3UQ)Wx~-;pXys6){I/.>>a25G?Ho15| ?#)>hRYb[B1Vcï 7={41[iϏ8pϛO8~~Vm̋Kˋo1Ae[F=?&M.7CGO5)M걘\CYmwn^V9.쿜A3ܓx?9~ǶQ&N~L]YoF[{=Wdž_9H#'o3ݴ740 eJhaĻkB鵽rz-w2v76ȵJq=5=f bwݤpEYmCRG;U>=܄mdf'}7۾+[j nl!L7qd}Ϊxn:fIG42wazvgX1cn}lwq4>}8%뼚ⲓ33U5O_Pz4-{LZ^.^-F?LH%:Hgy}k6b4KLk._ kv8L} O{zT ʹug8 ^R\[:[~=V5}ViYY)oh<k>-sjh57wmӧWVTHdg K>q!Օgg+4tjO$f:u F;ۆ>>wr.|+LzUW7׿wRiՌe1~=eB` FVTj=QΉ^uKGA&8~c]M-1K L,ЖiHyeHFf7b<ٯbPe'֚~CaT}"a1 PO0qk[~! YgƮC %װ-K>goD겚PJki}5bSW[Z[ 륥"v6~P=a ,8ϢUTϨ9A  JX_W/=6¬-B_e7mGI7 zlQ~X}d̤WO\azY?2MULTdk#-{G䭭߬P!sU֮Y5r^OKЉoNO 2=TCUVEEEl>զbͭ ixO}mx-M%ۘKoN?-''jj{L6rBTq5@ʦ>S=7SsRJtxZSk>vkV,uizeooqBcX[EOزڱ}ERXtn)̽nY!Mxdxl{I2M/vg?l?kz;?vTu W 9:@&A뷍l^sxmQ7_'Mܿ$k|h%6\Ҫyb8\.ՑK>z4 7WԆ+zգA,ZsD7R-EGWbgے+ģb>cr~kqS){+ pMqerus5GYs" /<_`p5.s -%GNs+뿺^5nNwFۊzF>dZz?߽g=v_|zo{\?9z ϶Ezᣭ'bz7=s`;I=vobw<|[A?V=oz?Ov#88a|?~{v_/`v՟)9a<`-/F?yO1_._Ϟ u6~ ImN;m{ {!x|Njry1=oǼ-m ʀ?-j=nבBx!٣;ž? S>>|<^~'{WMqwϷK}C?goF?}޴ <=o^>=~{y-_^Q?x^;/^oM}<G?W%8u ~ {3(o ˉWi=Z#$x/ |fޞ'7[I_+qOo/xy9U3R|V|o|tˉ/}3xKyV7q??w_֏;^~\q_wq_oЏ/oy~?<x~я;;ɏ;x?o?|:/'~.~1{+ռ$o|4/' >~y<{rxBs?ӏ;x_wqԏ/OIӏ/oObwCyQ߱fȞ_͞a | ϟÞݽw+xv/>a~؃3#sأ> $|5{= ?=>=dO= ެϳ3ﳻoky?_b7G={>$q<籧`π}>Qv/x=%{:٣cc \$xO= 4{|;f;y^}~\zAAp?{j(x-{ |{ ؓ+S;37?h=ؽ}~H`/'g(z?{|{sF33?gw/:v/}_adﻉ|0{ ƞŞ=0{}^CS<dzDZK#OG_`bIoxx?>_g8{ ~;7~'o7G=~d? I{ 4?yvv/}y;?Rogeg߭`Oٓ/׳?`π~m/`/gWe?= b~{ i= {d>+كd?=>{Sٓ#S׳oeπ7b?g ك#A(=z8+ mI/7|gπ`w?jRv->g+!(e1 {.z<_Ǟ=>=v >e?=={ydcOW'dO7+%~_{wf?Ap{=~{NI8{ i-~.|$Zv?x=={/Qc'aO!?ip{rv~{>9Z?Ǟ33{zfؓww?y_BW؃M'?g? qÞ|'YigG}jv/x ||.{|{!Q_cgO˞\bs?gyZRſ| ,5?_KϗR%|-5?_K/KϗR%|I?W{~GG_o`OÞoaOo KSvw >~6B=>=~{=Ϟ= 4{ = Ξ{]\/x_vQ~#٣Wq {ٓž=dw/vf=z?/{pqSg'/`O_ɞgπn=a=9{Q= ~3{ד?/=b[y~=߭߃{g'/eOcOȞ~ o߷-1^|9{| {s>?qI {w)𿱧3_= {|+{;()w'cO`O̞?84vx!|*|ك}Qcc?/=>= $o2z_o_ ogˉ?_=<৳Lro)_W_O7zF{ |/'9{|<%)wwgHi~N={.8x-{|?rcπq'~ޣ弿_w %aqq4{=~zǍ=>~7{xS>)8O?fZd {|%{wi_^f2v"v/x8?pGq"௲Gz| {~KIݺ8?r28z`iz|(*A?G_aO~=?~ɼr௳r3e~7<fG Qyl8뼜x= ^Iײc96v/?}bo/x|6{e+ r_';_>R U0?rf?| ogHY^8Ş== >?>ؽ/w1?=~9{==.{籧eOɞ_nZv^egx?p(pWrISi o*3/~<{y9>!g;{|{ |?{:|{+>=  >vr_w~ ^ob<7r"G=~5{eOi3ݯٽ~ƙ}v?كf>=b=Þ=?ezvv:|7<كo#OGWB?Чy6$k)COov +v~{Ea?== 'oڽ~<z/+؃Pg=1rz== =~?o})|c=T}|=ޗo6~"{\$%)p;i+v~7<_==={_1t.?1IOggG߶ ^G/g_o ):gwYM`?x IY~oǫh.^z_ܽ}v?-O?Gך-XE|#+y~;vbw7\gIcC=a܇ߝͿG ~L^xy>9gY{Q> Yi-'~k&O;~k~owo-1[su:[ڡߺ-o~s4[JsyV-߼+Vo~+\i7Js4[`B+Yi~4[JsйߚW-o-+Xi֕~K4[[j:-o]q7*sW-o<VoU~+Ze*s2[pBA~kXe*s52[lߚW-o-8>oU~k]e*s2[j:-o]q7jsW-oo~kZozs57[|Z֛-o\o~K7[Cˡ2`w{6ͳo` ~o0[s ~ n0[h"ְo ~k`s5o0[|Z6-o` ~Km0['x_i~r跌Cm4g7ͻoC6ͿoEh~ n4[h"ְoэ~khFs5o4[|Z6-o.Fsm4[jߺ-oM~so2[&syM~n2[&s6pVoM~+d&s6-o dM~m2[&-o-dM~Km2[C0o)sI-?e7oo)sR~+L͟2[QoJR~ J-2[>^֔2[,e)sL-eTov.~8kܛo~l7fsl6o 7ͿoElp}lfsE6ibּo~klfsn6[r6-ov.~8osuasy;Va7_ 멿oE~ t-aH:0[Sb~k0[o-~Ktosu-aN~K;[Ce͵o-~b7ssl1oߊ-o%[bsEaߢ[ִo-~kbsl1[bZ-om[bN~K;[Ce͵ռ}so5[Vsy`|[Vo~+ϞC߶-o~l5[VsEib[ּo~kjVsn5[rڶ-oov.~8[6sy-߼Vo>t}mVom~+f6s-o fm~m3[6sŷe ֶom~r跌CͽoyA߶ͻon~o7[vsd߂nvs5l7[tߚ-ooֲo~knvsu:[ڡߺ-o~s0[syv-߼;Vo~+a7s0[`Jv-o~0[>^0[sve;ֺo~ka>oi~r跌C:4[^<~4o~uoNsu-iN-iP"~k߼%gc&s?ホ7?']~!j+my= > |~k}C ˛;awYG7aOeog#}>c/og{)v%_GYfy ) 7|݆/׿P|y=||`~>6߻:[fp{qp{-0nm.R.0nq~ ͽˡvͳ O -og-' ~Qx5nZoe#oq4 ^NaXJo |k-/9Nh%r]AeϾ' _O)9x3_yo_A|%'z x?_ڛύ0x2~/>_k~v?f ׇ\ "O xp?|Z~}=q(<M `5?/ίw'r'd1{P YO`=+/e/={ !#௱~w8]}v!69A>(owo;mQp}&O:u: u{#| \_oxB <xzAp}8$^p}= K?_S?+ +7;FiL? cp_<{O mzaHAy\_1 v}ϟ?\_1><{G(<?w]:v?\_ ~{A |=O'ށP[Bup}}$m yob,$co_pn{uKgly9~؋ubzi&:~vOGDlוH\__қ#:d|/?#xLG[u!,{cCp}]8u*p}4;Uz]odoUL =^wz:z IKu=~{>nx<Op+nXx}ﳗOoπkvy잽n5$\_:~?{3u \_wx} %_W\_G;yp}}<{m<x؏uN/[><w\_<2{ >xv׉W_p}= iE]z쾑\_g6 oןMOeץ /z\_6 {'^|p}} x{\_9\_} 쇳D둕Goco5ˀoi௱Κw~l עO7벥@;?v_~{s^~}gfs:/A!o[OL<;r/+[gπ΀;v?:fyiٻ_dyb/~k?=>U?~L\_W7W?~n|{g<||p}= t?sOKR[uT3fw yv?E1 ٛ/i n}}s`;שLTzϵNe\_2 ~ {8vO{>x9{vO.V\_w{ݏGO6'y6p}wv{>.|| {\_/>~Tko· v Xx Dx }‡ />B_HEG -Dƒ +A8Q o>^xL›O>Qx" Wo>IxRdm¯~NW O ~]Zn ~p /^"@xpi /^$Bx@t%ƒƒ+~U£g o^-<&Fx𛄷*NxRx67 O -SxDxZ] U&-vy!#Ax;{^ N>^(.~w /~ƒ  _ <"^ +M-<&Ix _(Eo'Nx O @xw HxZw XxF#]_Qnዅ LGIWBOx\x'/^$|/𧅇UxDx& f *yI˄ AxJ;$<-e]_p׾/P~*~^ϔ/|g~~?/@/<ϗ///"}/|S//g\B‡>B/|9T1e +_8//|>A~d ,_¯/*¯/< _T¯/:¯/‹e //Ti^._xee /F«d %_x5d IZò^/_Ͳϖ/<"_~~ d '_Rd [{d &獲ϗ/|~ῒ/ײFVe ῗ/c?(_" _CQe Df/|/ϲ?!_x\'e%///?%_ӲU&_3?+_sC/y—//᭲*_r_/uߐ/Mߒ/<)_۲]ߑ/|d _-_d _+_xd _/_7Ie /|[e &_vw)_/=ߗ/wiwGw?/c?/S%_x/|_O__?~ÿ?򿢀[ή vuv`W ]ݧLx} Ց6Ur+*@?aALD}Tn+H!{UVMK(Q(Tʅ;T>T*r>*r*>~FyTNgTΣ)/QbS|$OyGQ|4OyP|,OVeOyQ<OyʧP<<@S|*OʧQ{|:Oyw}\3~{UR|&Oyʃ~*ESnWl ϡ)/W\2BCT?%*)/VyOyQ|>OyP|!OyQkUQg< ^T?=*WRw<ܡT?v~+TES^r5Oy5TCT?%*DS^r-OyaB~U)Sf\gSkUPg<D";Ur!UrʇOyʇGy?REyT~KT>ꧼXT?E*IS^QT?*MS1T?*KSUCSqT?i*)OUx$O)SDO)SdzUΧ)R@RcrO)U4roO)ߧ~{UR|&Oyʃ~*ESnWl ϡ)/W\2BLT?%*)/VyOyQ|>OyP|!OyQkUQg<zOK=X/zJ?uA.IƠ߸߸1G_pcv\w=wonV .ubAs8zz&ݵnƵo\=Ic31nc?Iߪu~k~c^PR;Vq׾=[&R`_♬{:Koƍc#n㦱t7ݴon5}k@fXolc^E5M ;W1ݾﺻ ujݵlBcw3ZT\겂tzȭ^VF?LCYKGc &{y=oU4̜$8r*j#((D3 1 DEvqqyHf (p2x]Pp]]EE]K"aBE(JCa KUI"z9ӗ:f0 n u'!]IY3W"%ht7E !sl't. FW95`$}NyO^)hM/b 7ՅG2`𲯽#(8\~!pӄȘ 6B`>Xn  urQvo;BY|P&50͜+S΍,g!_@z".jppCjj΅:MaD._8=e;+dCfeR^^sa{,+K Rn^Jͮu#l,IfՄza^ryˑl˓RSHk[.%e[S[DÛizoj;N^f1"Im2G`I( % #0;K)4fgѰv S~@k#(?ޑ~P*~v[gFѲc !m(_B,9a,(5[ƌ]ToVg] -; ÍAW|-Қ_ob P뀷QǓ4kz]lt7К:~#+.wR@c _`(;bGMJ|(-۰͜V\W9y֩ ?, Yi3 QyLX:U!I$"x9ն״М0Sd'͇E>1 ɜgThWqx+TEgs#+90*3RvVl;OP~HRʤ?ÿh}Z~lQ;‹QHp%EW藀9Rϸslf[/:.9(Wqbv e/ gBNjgxŗﱠB ‡6ߕ;?~}0 :FW|m5v\6vqan폽RSpB@بTvRwX?4 g)!B'/vB!N R Qa<6  );++5'7l[?6kɑOqWPPytg\$P$Šڈ9}lsvOrsD!B3䞬v(s_vQI.j@?8pcz.N*i#[эoGwk`'jA\`-Xt(%:}O'D,.& buۅk.!b13" hVذIZ7ӀR;\0]:@ZA¸AhB`[zf|<`-~wj87`vEM!1܅7> ^rAN~$ћ}֛>-E BN=D`bZu1!m}ӆ"$ E }%xNlotQ67FfP6 Rm%M|9"eH])VDKMjb#km]?(Hىlk _zvm |v5Ij w6D2IZwSٓL̠%?p >%Ly[ Nh!ϑ$. !]ci4uIivk$#Z#iKE/!]^B;-$ZOwSlo(S6gBbT$$B>HPb8Z3{grԡf҃dR-BGcu ^7Ky h}lIצH,rQ\U?Ej`!RޣNe䲕mO" C]~a9gP7ɺ=$?]=̻? 7&@- v Sv:NܻM|7l :-uF栓tR#&(KYg 5vX*٦fS#GJ'#CNɧ ('erY:'!rՍN'd8-v8X&cVBP ?BB:]n!Ϊ'=a#ޓ}f.ϴ@tbq Ԩ@% K># &ѰCQ5y~OB*(`Wߡ=X ʢ(#]rF0gz&l+/ԁlUFSzJzw$!;Kr1b.!THD!-Wq Yo[Um֋IXr\H6Q!|yL^ʰ𘄰 x0J0V;a p RX+`XxEbyؾ;rzR.!bv[*VIN&[`B'U8P#iABHcbu&I2'إi2jyl?s]y cP ̄KKw7L'vBbiu̻[%/mkg$:4KGٹwdVZva3U+\R }unj_Nj/1Opa'o#М&>s n1t@sROEkPsQ 5۩'9,IfzNT[҉ӐcW;PC3`GЛ|+(wNwQ&c n we9 d_bv>mw8\ RDެRP;ȣVT9 gh.Da ꨈ&KEAّρq^U[f|/ă36Zw^X$eyc.O>u &FʃS"h+ro+ 0UJR(++\WBgV9* +s]&׋1?#LrD&D eXGS[lW]ϐ+}^q]r_W-~K6suѱzKi2=x_."v'-;"d8_ ,P{вs_An\N ˁXj%V,v[yhGBI|O (FR3l]a V$˟݊rxTrO vyP]qs"O%pRsi!$؛P%]Bq@V6ƂtBhƲ/{~00̤tk>5}ZWnD`g+;cY 0³;V;Q&;p)[AR9}|֗uw;b} ־s^Gj g{;nj`5wޒWbwa3DZ)Oo£!T݀;=AdZ^`w ,(^m'lkWg ًЋ;x0\. :"(RsSc>`V)[R z\9W|=5I x=gP<4`mГVuq[<^D@jgMO>3&ۡc}0h-|V:u[U`,^ħYvh>|$P8T - Hf@}GnXy+c+BĿY.X8(ӀQcg?Sj8)Mًbt#oa_L3-8܌]y )9?*r6ܔ@Ql>YffCOP 46^M4CMB)&d\Y?(1Y#7 Ba{ٞ`;FUbH6Y.I`"<i|ikl6gB%Б܇w>2fcH] ""v:u唝k-׳$?#A gntz Vl0EE N? 9.{#)*Ao>n"}XMRSOY]1 х| Iqv}WancI}i&Z/BDo?ۺ5```Yf#wNI4n9/|@!bhzAYL5hvl}&!p-R%v%i#nC97"LpeO![G&{C6cn W@U U ݽEhF^;J^Rrg)8% W kX5OyeYmiK0$̒qӞ]U8 7JS }L,dF zˋsxT GԊ`0/ RpGF)?Z'XeI!SsXY|$) sdqEg!;IY4}{wd nk.Y/ؼ%6ByKmX0sil;aÑu\Yj<*چS=.~OMc)X1=*cL^*Z6>XPyȬϟRW5l \ wau9Z ;яeuHi#R}$wK(g!7 ><> X'''@jUBxÃyK$F )|%|z\EjY=(,{=> eo8%W T)+,VlHP!*Vq "ֽ0|X ko Fygƒ|֮6r۷4۶0%>-+IcN)I B ,#8T~φXzBIG=u{|zIs Z{6o=NYε dVls{(ڻVԹq&zzX-om{cUo=-02=l03;!Hq|z8"g#gtLE쏅pdEN/X 5~L=H'2"`ڝ0қ Hy(NG׼Ly99u7|5bܴH>*Mg'{|޵@>GU>'E>/o,+_m||z|ɤ6/G ??9y~^ODW`G̾ UHeWK'@]f/,?o\ \u" /TGݙJ-nz6J@'`㝔P·zyuPDb5v4QZ46%;FvnBouK{|%[yl! NY(p7&N{q 7zYO-vw.jSo6rn=.Q ŗ~6 oXWצHPEYZéq- fQ j%κyžGZ}ܑ TU[!DR1EE$vP+:j$D]C̨0*C\1$Y]94bH1Y1 RUC*+v^1$~'uTW T1rZ1R`;YؠIV qHl" KƶS$Pl"Kö;+CeNضzEjh!I]QWԺ#Fה]UQl3T(NvP=P93u-5G&'뜴VL{i WqϯkV={/TsJȨꪸ"VLh=z }X)zkp֏O-HVdkQy|ڣN(&:sm!T+! V>mkIi-pZUipn$]\uQ3g  od]i , p6k=OZa$Ս@^(@T@| PO%7LH^ (DlT6W V5$qQ93Gqs=m\jCs뀫m5p,qi2Ix`tAAh9)XFG !x4y f;ʑ!c25}7>d}Ӹ+ +&Bz9ngOzEQhS?Y8Q]|q-ѝhUP,Z-ֲ' 5+@oO;fy]ב:ʑlҋXzE%])jS@껠VDef׌K>t|{BO% kbW,ݍT΂B-d`ep^ȉIYxUVXC -n6"p)0ZiR:`;?pePO> xWi<9]~@҉$؛]:cϦ.7Fq1$b ܚ](AoO/ElErsIm{3CsJNjvU-qg|r9*wz H)eu~v],wΏ8%g~&UP_l۾q.eXtu?!;TSE;Y=u`轃Vq :o'NV@7{)ԗtE=;Թ]6&y5AYa8 >D6G=o$hskqvIȰ{Օ IaBM􋚀9p7PIoQ>w5̓G}zFՕZsn0gnX^Cr>>KX+ټ4 5Q__PnڝZSb}r ^b=VxG-t0L( v\lwG兀.D.>:y:)xji3JwyHp  hn={k=6_sn0UCZQQ LO;fnE<^v4{75%)}ʒx [ZQW*!e O>yj@V@\.W<`G,(~U٬p[z~ǥ%e{ʢ䎯)2ď y&j[kU.V<4uFh*POdj8#ޝ<``AS @c+a׼'OZ.?ĩ1j|ؠzu1fBL?!j Vwj"O}'y6B*&z1.x!`\wC.?B*:Ɯfˁ͙$Y 9`ꗶᅨZdP-)UNq Q5_:xcKˤHS3R'# THuPI `RSFeo@x o[a]|-^Cx5~ !fOxc%-KF`Ԩe̲ʆ7$MR' `--MDw$!uwǎlja9Z-xq1|!j/8 7{ $A_} IHh(m(zSB'$Z~f2 z$rT.!KHـ!eyz/zU'(Zr_(=&GG|)}b?\bmՌp/'C!T?F1 f.h/O!֤Źw!IheY lf)[쌻?{VlY!6^ Xt{dz~H˃w(ze;¿zijdG3f7_!`-l]!V5HPǷgi8h;gGB;Y(+ȵw|cQb p* /=XSWcob _߮-*˨h9ZI_roU4Zf[(-75J˦ Vi,FOߐ':&Xc0ix_hϑh($̈KF'd#U]h̠F  C$Mxq^KiCD:k^?D7BXM*L淑/-rg sYyʼyYy0ϧ6)4pWhG\m^*[稭8]k>$}$yQoUɴ&YM >_6m =L,iGw6CV<,mbL(6, ]N5ߦZɭ5Ff#QEz[mYn]+;gEƟkPnn|ǣֺMlr ,f ny:G+;Kϫ6zL `. 7oe!ÀݴWg0юJ]ӫ*,)[!NͫEIؗ=ݕLx1.3ȼTZuPGw[SсJUE0RL0(32;H7rDt}bW_L~ܡMF-y#[F|9~2\G1NX[6a<> 9~L1wW7uPw>s7R]ґ +~ͺ6JT)AoQ卄B!o+B$MLv4Bt_"vHxY\;³Oj; aeDhQD:׿գR> %xH౅P"0 =$"фASq$ΦWH%蛰"! OBB9hQ[FH4C! ! |KsQp)/ +pFx!K5Xf-<$Ρ  7^T-0r o'$ݘCHK ,h1O"/jNyT<Q}f.Q_9+|E!L>e]uXreql٣Zw?ZX U`<K]K΀4Ɖݔ?klCy'npu3e_l{meȢ|u2#!;Hϐ͵H=OF9:+gP('l$z4gPQjVWթΗѝG㜡 2 nAȬ.s~qRUkH0X "]]%#{l#lpoŝ|meYkl Cl[kTڬX1&2 =iGR@xqx 6$D4^șGH$Zg{ N? d'$![_2b !iqvK|޽ZB GMaHZY ((rmykO:g3^FHC"']p[r[{#zKrzj̓+rR([D,kEE~-kyzٛlE{zKdt,YoQ,-zs!JAZΡcn:4_ʻBTG:M&d/NBCBW/MQ7qt/?M'Q7=!x%/vih"K7 H> OVoRW^D7iX+(GL;!%4ܨ( 犂|P@!'%{+B-rpQ+DK:Q\I=FLLԔkl?󃙪kK'Wt=zIXͫ7u8!Z<G-@QN{+vC.5ݥv~=^@XT6@MoڹϥvhomqvBp5*? \Z΃wp4 H(9 jfaWoTRq#0!e Q- ! 76[*'kJPv8F ۱sU2+ʧ?j#Urf6!vji6h-^FOfRT??!$N+ۑ;%Te𦞾΅п緗#I]O*zJHfU. ^G3 W›p nF0 WÏ^"65rL['-?@Y eG)꾄F{;mБv*  r2j"^|3!tq,iuQxz/P5ޒFo XR* KJh N٢j(몹7ˀkF~;3 ҾIk{ի惡̧.LG2K)T/uP,\j#Tua,=_PkH[ ܍ 7VatO6BL_06Pc.b7i8B=}Z~Fb гmkɎYoIPƳ]}yU9}Yݢ!$K %;!~AHN &[2#,0fhz!Nq:81nfi9y>eX+C+ܩY|ZOb)ܛ j;4~#1nڤ3xvNr\0u/ 7>K|cAtTRwqZpYoZ~u^w#G%MCo ܇fGA[z'5W"}o{7b]zt*g4+vrS+5Ϸ{K<9be'P2o _/ q=gw)IJ}?*9WFx%oe; eJ!SVjL]%SOX]B^pjI~F"&LhMlu-sJmi-4:vdոݪqCVnX 'Z7{]={,` hIRxV/(ϳ ۞?c[g`|#z'$P^oElZ!zH ˋvBaR~=tc$7Kg-Mb9 &>Ԕ?Jҷs>G.xI{E+/~c`Zݼˇ4"u tBF`e=BqGb^0 7sNf<~"6Bb0 #V<϶/%cSa_*D{eU4a‚S'`+E_d|TtA衐zX<~`7 FU05vQ2?X>0{^9Rxk[0֛z<ߗtV;P%i]Mg} ɏL09>[g=KR7:Xz$>k߳s'v j 9$6څj/F]WYWJ'5'LÍpSwkIg) !b?х3sIYxt'A7_khx̅VPeN"G!_CA+8 fh֗>'kV$F,(;9[jJxYŏ2F ܛ%Pow.{{RRhή Is>FWLꮹ gskoB$aXk>%HNIt%=S-%eBBb ~E,ç2㲥dN=Tn !mF1IsBx2!d͔@X}Ž0nz؜7D.1>L@ ߆*Ə`95,HRdGqagw(E. iC'΀v3fO c(m˘ϵ|B:uI9" %en;.D27p-<܅uܛ m /Im)5Q׽PxN6= }OtVH NN?Bstoϻ]~`ҷuvGx1;KR3^U N˦ oo QQBv7R#9 3f]Om4\:5!C_gG[vO%3(Kv4CnV$J1B W~ǂ?1 iBY4bef;9f'}G;w~_?@JN 3[jt@xQVF2FN83 a<|O<-j OB)ZU7̸G偶w4hmq3G$4z0J&iwgr2\V iV;xG[Rm ˍ29< [KE&f柇`&K kY!_urt;;z=_ȷsmy[6o bw^u+ٝ7>{$_fLk7O 7_0 L7X< E5w_<`S h%O#? ҰΧ  VTފʩJWo,گ6n5rm p Po3Bs$}Jλ[]|ɛVCǿ$闻Wvϋk ǜ}J Gfi|ZBֻ} < ٩.CIR9Lv|yĹL+\n3nej`lI)|6:im|A ssmk:oEuFWBU(3%Cq+F)HoQHutKvBx&M"vs|p`P䐅#jDI75`V)fw7rU7;UI-g6saEe1Eo'Ա)g =n,}J14 ~:UI6xok*}`#]-j䕊cz7"}M~KLd^5?9P^YWØ,LQEmw%. v`'A͔wvjq|vʯB ItcXz(pYO Yp$Sz~jLqV_g[Q/,YM՝^BcvX죐=>1_$ }LѦO׆(spZv~2|EX;,_ZG e'x!8L+\;Sek]mغ\ɸȩNaܝAj/r7a.mGXGX ϔX,e`o\Ý V}c )|05U|g91 ?\˒1L#4>:[38ӊr(dsU]ʎr-Omo 0Ίjed\[q`?jXWE*72x?'\tjnNFc-k RaC+Ȥ'0d0y9yh1BsEkdmen֋b{ YhBrjy!Ú3G0&0CAc'}jN34 V2Ԭ'7/,D& R &J8T㽬G0`5@ TËGV 6 &2>5(rlJ]MsRA"Lj|&WTʖHH/ m$ bp(;"z.blp$x54 щd쌹@vqilTlwH+lAi,ʊp2)8w>e9;5R@'c)0pcrˬri~OO-k' $6 JE`&Vuݴ. ,,KLw5Z{I2y?c>@`Ѳ0a2~x0[v+'RiT,dq7oNfiqB]ꌽO F}yklX 2K ',̱ SUxCYBL;l"m&za>5 ]/9Ml8Czu"('nxbnɬjȫ9g^m-2c5z)`zaxJIk~F?/| 㙅eD ~1c!&^HaXa9⣇!b>1_ıAFճBs?cUMZ4bJ*&+lP\>V$>m`?,h &hi6:1i7СdlqE@G1S͝.D*^'j]w9Qcw_>">+B 29d3L'wvTS~ug 9P&xm톔DZSUkc.=3`$>2Eޅd,\.CF:o3l"ױB-T~t*lm>^l XDD{m77` ^ESF[7 !Jh~MF8 ?Zay/u"d]W؄K_M^jB I"{-g?yX. U1/^ɐY1ehG枛( 륨7WcJ3b8:BHPCGIHc̛OW Ԝ=@/$w[ԫmc{a2NDz2\wDc|G\-|_!Guw\#ќ3Z'P `1ݍs  /):Mz`-dP89׈P(0tLNb>|УOQ,ѧKŠ6= (J7N=.t`m]k H@'N6ZIeA\-Z? gMaX ibu @~җ-3%-@fH4~gp\u7Js(Z v6O?6J 9X7glHlt,9j[j;w#iq_gV({xcDS>'#ϛԩ:P>=U~ ! w`6^5P x De蟠S+XIB,aL]ljdS}g`_W$ S@ * +f hdz`_x4kFO^GCaC)BCܚ{^ϹThi@xzx]s)$9u͆.NFa^sɈ^>M=@flv\U6B5e}p6cnF.?EpRfAɨ;;eD+6jɘ(&=l']0c+2U}ߛ#Ov_A_{hc_G;m@i_M6Lj}# ~c%X f~dD<O2Eŋ YjndDbޗ"ެ>2y]iߴz}*oUvC QX^W%en19DYWIng19>nD:̃i<"NAŇ"x=tw/M}dTVLǺ$21>Pl^Π5(1TV""@1>BgFRw-=f[iD`qSBD$?n`Ul;<;L$\籞{w`1l:cRw659 f4-SF;Č[F9]f8fo:W6< N,'`o<,&u hn|S.&ޜ,|Rkfxߜ̇篠0cct}f>ҁ9~a?2 -C&ό>~F/uct׼| 8~~r6i<)?%uoG2BO {xldT}ALzʈ1 &4B'\FpttQ !{00Mbo3 U&znSO!ޠw 殺$3f,7ۅ)[̉Ob1K'[f khdKO*\H}fpDjoMeؖpĈ d#tl\8XM>ɻr dN`,;Cİ x{a5AĽQx@ _ vͯ=&x]Y Ѭ"^U/耨CF w~YX4YHyݹAއXx:2qw'pւvLWRGwP{ǯo9 8A E\bsoqEIkA<OKEZï4)\6zc@DPOv!?gW;w@Y@Y%prpez9_ Ha8+@Y>\êG$L71>81cyҊh;_/mG1V:BL wnDz=ml4H`R'-lS!?ib=݊-oXQJm+Y҆Nf֜뼲 W;6tP jQcE6.Y r3LhXOjHiC`ЇdD^4ƚ8\τTIbx/-`kz^aSRw@+'#Dk빓QQSU-H_Sv"/e5j.kg@PkI2vHmL셊eɿc]xQg߽8Jo:Ǘ"yƈ:UW^ݝP6W)a}D($V%xI K; ;),vcI= /,켶 7; ŷr `gy?;~yK/p *eA3EwNȊ,^ㆻX'YFS.0}11eږ!XLѢb`Dv<(Zӵ0 S"uF=qj& q8 ɮbl?}P:mKyϥ k3j[)9ńogaIr{Pn>겜>x{HCc:av^A.D ~QD#"n\Pd$js~9CIKIhs!>R_#?I>h+݊CLZN[dD>D$q m+؇B㑄|g69TXW_E !cVmͱxg<ߙALN%Ǔz;bI49dW GBBKJ> V`ьU6U򵀐D*j|LqM f&V볩~Qh(X)N/v`rpNdYblry}^BIti;do7'ŐNnz^ Fnr34_ L<3sμgO{qy Vp޿w]|O/' |sT./G;6-Oָ!_WJq7m6-ۧ<ڊm>\ TWda=#ЄĀQ!E;$)>*˖\3~ShG;$d EY0 X a=Y2 }=>^怞qz<_@x G@x0KFFJ@Yˎ%13*!\*?/<x!Ce63͒lg4\>̒>`=oBV"xqzg,]Py;r!{ƒ]ڞm( IaH)H+YRۭXOz"p%lvoxKdK4x ozS`fA]\RIj&jGEҗ"ƓuՎVQ^%ӰtH,5#=Db6OT!Y|T&, R<7NzR%4L!V'YXOn dw3CG6aFb=_{!ɪ<$>zk$dzN@WlXϜ|BBF!3ANYQdc=%d܈V7`=M"_ˑ~Ы6didgMB%$L.[LLCLqh3gDޜ K$T5ߧ$$ Z',LHp{ DI}cp6Tk饒]ayk"'jQ lE1C.\0I78!T._Ø7?[.&{OmqRw½'k6sfV6<sx!LZĆ^).m H5GEr)צȤVXw؇?Z%?ZXY?R̾@mXr_ҖS#Aӽ>#sk6Yj=3U9M7`SZ-tf$r B( CB'[r Nq 2H=MigI|GySq)Uf{ {(|q=Mwf_x٣Eؗ!&~')ل;FwxPh6ݍOn~x?F>kiq oQ+Qmyi7_/J3n @*@6špLu_ Y`iMj:I*)걞E }RK1PXU&uEJ3'XlLo&~C_-I~KH+*?C~מu~1S7pG[%Tm <'!`C9h$ճ!du!6cɻfezw !oħ0-wC:Vu[2Bj} .eDz}ӹj\r\6o}tȿPdTpIv4ԖW]^y]yniԻau kL&'4$ПDȫp/t@IWn Q>e]=J'[GI pI !z3iJ2f 9 )o_*(&mhqʖܦ$c6ŐZk = Ӵf _Xtu1k-p8_o%I-1NTLFȢ\`f?w^*zsXqStă|Kq=l/]61@E`pu>j~V0'ޗ1W!k;C0†3BW -*:v&ƌAG&lN8Uc,$D~'ƞy)4֓ℯV÷삖:"g-ǐ! "Pep%8kyˡ=7&Z-Yj`%[Tc֓䄇IXC^~eäO.I72Ђ~xzx@? =eǭA;|;  A㕖T6vDP/[fAJ%$c9{> fx5M]e)n`V=Eq#6H.Uħx^G!`+}c2Q`B{10[Tã)t/ļg }e j1V!u~VWw:! a0¤u>ʼðILņK3@* <,\z~μ>:}@ BOAhMqi>w83ǔV T-ɞXi9`Ȱ D DvƠNތ\a.(>I- Ug$ޅ-2R'5K\{IcZ~KLn+h~ƹPp}(cd5흽Ю}ѯF1ז|r26ES W&1)glPk-tb4g|BuU9BM=tn# s MF&A0hEҾzbw4o78y}C" |u Z1 s63&HVL6q@Cn]*p/VX7o}З,m) 5"P rX[,&(!O}nH X9FnNp~9+;0=e&w`(͞DwFMcNwcd(lzU\(P9d+Rj>bo3_mX[[dң/ .EBJ[o!5~ ω-Z81(V k[|׽C,݂m%ݓ otH]~my33V%"o37ݻ9AjQnzR?̀9^_d˄gKEؖ>W?RU xWדOBKĹȑ tcb)"X+G= i6Bq)pGSB-K9;^B&Vw9n n1O؍|&~ Q}g[nQ4o$:8nOp߳1OvvWwӒb Z|twb='p~"ޅs^#r>1`=wsP dkcpgyXdE^{- )R,A\$cK6:) !Tq{=v9 S(l_!Eɡ !>)gW}9\ ˄ǥd,?N#>-`a `aLruB=sj b ] Ax<qOoǚkzwظ[ڳ%FGVbRԦuм(qi9,a4NR*aECᠤf`o 8w^bH:v@]h SIh&>u73&|9y6Gw :"(nw3F&4eRurr9#`[;cz'CBL)9ȊRLkˍUgMCk֑<U93 c, WdDىU]Dj)gHJ-908PKLO訄<%A'OU׃ש0&mFnzc:MX g,ڷ93F7ŗdc27X(/gpŶ*[(jЇPYFާXqQҖb,hˉ 'R[<γZ?uK- mI[P7ZKxI6%!eg'D3 vO:K+B̄ٵ%4 2gc}١R*T a@,*"u|eYd;cnek#cw? Οa[13Szfa=?7 \ 8[AWU6p\v́\dIaz;d3 3lL&:vEn!xƴW ! +ЛLp6IEvh^ɻL xMC M'::1cG:,=UFՖXDUF4z=˖WeSw3B@2ŀ ]aѭ-]+Z߄`!g];5F V/IKF{]2]-ŞW"1Ӓ4S4M4(A`JFc 92˧+'S腵ܞ `00wOt|/@Nӽ72f4rno5ZBzR|!=f3}7۲!Qu]Աz2Q?ct@`_F{yPr>"3# qvc9^rG,!@5sve 9'}~r/ƪe -율˷cKد{e e]H/T /_c]HB4 pQiEpd2O$_ a̯\Oʾ[w}ͽe^&gp _xZo ܇.'-wOfc8F^z0 W묘uMs:yy,04{AK BOgVG%DD5<,d}sJOYt*0bmӰ>񨄪@ T G2'pt<|S<|cGarOkW\'V u_򰝬tuP% ѿ|oH ъO`ȟb%^@~l*B>`2E{^5ĈB"*xxP+xL #iN<35 Dt"ϼZ-9?%8k-8Uao]q=&)^O׉vMnn+Pu0]ӿ*)AUa8NEx7p\/Za"d4p'vq6Dg ? c}?qY}w 2P;m2ǜڄZ5TR,")!fMz9C4ݍ7Kg›6)PlX~H5t&]sL4e ѧ6y>=6j3 kwK ȓq$&VZ!Jy ɾ*M'Hx^9I!VzO]z~ǚ&Oc.ױ *r)-ISRĵb /t0~\w]|e9~PWpt"V3~jGtEx 2mLf ~#$Iä'?7+ }Gk|࿗0~#1VuPYmaz'wgʶ(6!b#q*= 9ĔTY# AS}4'򗞵>o&lO/c|&lS&sM| S0`o<(1љ+ƿ)b#v@80-z۶Kh,^l-ը XS؀.jVzvOAAkw:9 Iq#gzg{&skjfFq)IkgMJqE0XG\銇{ Evoڸ8ĂèWlnP-|0K~eA0jJ^xTidbhP ^K켄VQ^z{gKfϥ#r0 0[8E]\1Nb,!U>tݻ&hzny Yh lstrcthe Uc Bomp8_i~@7w(` .&{h+F`dd+F@Ҝ+Q@<%W m-0O9dx޻Yw9 q+n@䣢d/^^1_kIޙ^2GZ B1/n 19Q kx^Bz*'%e~R! F]x߸$'EgJօ'% Iw;ƌlNV6g,73D|fQc^fe'to%)uMue,*m+cqngO_[{1,6 USt0Ē7}\7X6ٶVޙ'ZY[˗_1_4yR+\؅Mu$(b]eP{'!Ί8NG7>ֶJ3nUq {?7cޫ6H{훍"Qf bKq dqku^mIw bZGz*M%DM\vqQ9W>+:B.t][![h;C>֟7xžoqi=qb{'~{'={ۋ-X|C;`iŖ_'!`zR'B'uƖsRmӳk` co> !{q9̉LltRg'rUrmܫ@îr2L~H$'cuU6X7)Y^dp3\,rlG>zY+x;}}eқ_@@~rE \eFϫ{TZio+h`.ϱA؂?okHD A\*pg.pRO* 4%}"k#O#3pQI'!(#ܟO ֊l **pTcvONoSXtQ--]1Ч @2@MK]B 7..Vg/!x耫=ɃsE҂}ou\,0&[bje[N߳G|SWͳF賐:L_t,W 3LĞѱ!^9 ;;*09JAk6V2wtP=4}b a-3(C_Ԝ<%E`2渄2 p=B"ċ?%Dwϥ(HfE(.-Eɼ~o#VӅcg7G+^/$]}݌;l7tL%TMDI6jfEx{9w>q:h23D`lG^~l Lӧ/DjvY\w Fx줄Gq~QNQmQNv"xK4 x(Ij-8r'y̱/[Du`=oHTȌeX0+1-@~.^>tH~s:HI @ Jĩrԅl' d{Ƨsiydb^;"!:+jέ=>n5zbr6B%i M4-YQ31VƷOu\+t'Kw=Yv)ޝ I7';"ꓢK+~{78~Ť]=jQ0wQ{;'x=v4RU2(A='_M`.<%射+]k=@P-Ԋ?ܨt[ؕf;ӆ ^V D%TYQQb 怰sd5D4?y$J !q-JAl$;., i! ѧۯ]rwb/*\ݍ=~|Pq8muދH{\}d).8ԼjL-s '}= @MTNпlDY="^3BypDF)wP#4zɱd.V7Vt 0-$T 5Iq9>؆\)1ݔkiEX\GFgCx3DvުoBwr3v%_0@tfQ U׈K)/}Y )H8e]B‹'?_sZ[VY%%>16,ų&t񈄪]{ ۠$V0o]bWF-u `)  {xD xD v3F-ODxC^l+^ ܴeĮ~Њ ?Hq; ѿ O+~*2n QZ*jBզ^6w^O3N\jǮ,~xs*Eqp}43V06x7]r+*aR4 tUwX3dQO.s4Rx,R5_+ 9XF{kX/ne)6uяG̈O } <{fAhB5:zUq@5Wzt=4ɊiHr|ݱ hio h q%Vڕnk@" `'[L QնVsϭ"G|?Bx}٦F^5DyNv{eP~8ƚʣ*ǎX9xfe~WHm+|PJ DfZL,ɊmA_Zv%*=9H[Ʋ.cB5g:93r $/7xHII_!{HϬȣG_Z4]WCO2rDK+&ck 8OC`@>(Pcn'@{孋/X'x_mi_ x1#_Zm &SW X5X Lˣ˝& /PZy̫g&g'<,VǩM" FdXKJYXI5#ŠGLHPW!ņ$ ^;xc)b} iz}$ dxEm'̽ʂ,"|ћ@)kRA:֛ QfpMxsX#bXN*͟F.ND[ @L43 q_ft~s^'I~r& v qbmI6g8Ra.*1 (qo$T(k6ܚ@M'gF}P@[>{ޘtۗW7}4~ U+]f|-%F' h(1e[NÿT/[V<]GL\9 =WN*@N4|{!gV.;e%b< ;k,&cE6P+U\6Gڙ')2k2Fp[T$lPϰ/mX_hX!)aLsC-ʴy=fWCZ:XS,at,N"y&]cs`Y@|߈mp3ίeƓ{jHЉ}Ihy>@Nn??y&,EP+v[ma~zh{u5ߖPU_LBf= LB[{?뇡ɼ.?֔hۙ.oyՑL>X/cn|2>'eTkͫu9-AJ&w΄75/r hcTw;d7VhAp*lq̧]6ӝ7L(.M^+m7N P5O{ulDQL1G M0%Txw@=J~z~~ ׭$[GqbivL4*i>LVX.kEyJ_V/ c Z1f04%>r3^9gSn[zc9ڳWwFWI]4Z۵n嗠w_/> m` ڢ is`u/oJ!e/O> X+B+SMlRÝDHXdi%5w}J(UZQQN-$s&)}NΜ93s33gaVzDO<č=9\`EcVrKz rsyܬKq=-b ~K޸.n6cQeW r+ÇFo9y|,l$:1Ž\9̙N&œ Lo n ^;7gpch樨[f#[ Ede#{*r[U;W[LbS)n7򆑯dXckp |.gR#s7ۭSKt2N)Owqs`&1ݗ &.~}\eǭ9ߒq?}R`u'{C T2 $LJd6Ij,|[q*'tMz}J:'~Mce\ J߂t;bN=Ӽ54r onvm+:FfUӢo΢( FW[WԾSȘ.ܛ+]X,^Vr`d$ٕe$_FP noIJ:C)>ݏS3Rz{*̕ߢ*Ma,nP~\_pܘi" R;Q׮Rvi?[Jk o`:jT066UqCV1 6,;|i]>+y]4XIn\ۤ33vmO\Gwm(}]mRMMPNV}Mx ?$Pa/?It_7W\N{[} OMsרՍ 8AHRnkMŸ)Q&r}-l|_ke9L٨C Ps#ssܶ]9 PKM9 آԌm4b P`.SScRm`N0Vv%06FT딯n:?W|F&؊PLJp'c!v({f:^8C<||FC%M}j:#{`n#" 8.w̹s!J2C7ن;&;ݱ~!;AG2nFCmEC^]g Qe?ҋMB_Xn36 So9>-+YESJm *ݪFNg<il <!o-%c^ ƼK%x[G^.='6P}fPc-xnY]t<"9nۦ<$ًk4D}rotTcW$9ToG~M@ dr|$1N}~Yz(%v؇?"ױݾ­ixWU UoӾK?-,ǚ^QWjW'{ړ~[rksƎK߭V.lRLSʁ]~EN'> toI?V@? C Pv#6v"Ohkؔɵ.>XSd+Q+5t={ߑO\nl,V6ZƉqAjY9P~dng;IUc`.7 >FNJg>"ؙC> 2}':@*]m(CuXwWb_ۨHgik =Ux 3N%2f 󸄃p-\+\_F,o.UO#2xki {ku+]#C3tĂ#0 f֌+[-ͯ#%oG ,MhFnMH[XD%SRͩX`FKn=73΢=IT0V)l)GAt%fP6v}PI7 ̴gpcB]b (-a|w\Jځ%A<)O6d,| $rlFޣ7=zSgT_sqG@EPc٤XX1rs?AU^NaoC)$rQk*5c ޾Eu j=%iWAV2z7ܓR.@,Y< HhX01I>cPvt;6EƼ٘=&evc:_.W8oky ԱJi@%ciʔd3Og¡3팅`OdR7 CmdWKf4.fv.B2g;{4 )EHF,'e^+XtjYw3vM6B!Wpl ^ +G-4vf&o"2X!AH|EcI/"2tT ZSZ'5X?RZ͢j;ݶA75ڃP\Fe O׍/rh".E}xfA;ٮJc3LxkW9b5Rc/ ڠ1WkY׻nOnI`1n5s81 =PAc⦋B PW6go*0e[Á,Y D9(:j2֞Pֆh&RkEOT4p4W\2%)65kVO*:fo(':~%Y2 m-< z(ID1W,RMxmn6 SBl&1ˈ᷹pv#w/ۉkZnc֌V&큡:z]n۠4z_cd)iH y{-l<&jrh?8 Zl } ;\7bgSh4z_PN-Y{mQ!ȳ0YVHuO+׷um+])wϮf%i V8?$.&۔5flqḨ\ϝt^c'h xOc" yxrHI`.zwU>5 d2޼7"UqHqn }bpP[DZ&O<;$z2V+~N]<QjL y< dʏf'ؾc/ZjtArbbkk7*+`2\+5pr/Q}_kǍqՍ L<-0q~$鴔g[uA~q6{~ף oʭd{̖Dpk|UQW}``oRyPU-jM ̭Esjw"q*5د(vW}#5.i<֗}U0f:.5U!v"Q)ۏ*bKQJЇ(s=)]Дbˠ鈔5 Mwh0)V^q`z.do N$z}PpFDIL޿-"GE>_젻ݑr+s!E0|0ñ[_ߋǰC%a ^]!l!^%Xp}Tɻ}AoBccWQ3MILΤR)aN6fbLbzbcϵyR*`TKyˠl{I]y p耮nv&2V w`3s(D/ЋƣcWd`lp/ٕv Y|^n̰ #śb^ɍcoaL܇[`w k38V|?ǿ'"ԔvhCԩynCDZh]z94 k%m!z+wfrcrpwƌTu+~ UAz8!]@tH[tDȉ^us_Ԙ1'z]!G4!Ԫ[(TCk+HfrdmT \>Ku.-z jTr yU\y*o"&7ILZYY>HBd1 썘 PkW:Sz|(/cJNki:rs~m_K#uVy(o7xpCq)AIvRV*ìvRBV^ªVD8 UJ#xۃ_ 'Hce#cǯ;ig*A3+D8ZRjFczq㜷Deo~evObXXǭ[=u"=nxF{.$؃"}8 ]nc9+:^9d#ĘCCY7}h^&M_,C%XMwTs}"AAԳԁ>Z[pM9v;F Rj玹l|L F=|trӰXB2H*Z/BMЯbu~_=ME¿1uWS7-(|45>91Xpؑv̑z{Oo5~e#ҠwRCp_.F B_{05u6_BzmJr̃77~zs>bGR]8n0hFid|% =fc.=`L}Hkf Z7׏M`lsFϽCZQ:]Af $#Ru3w+7O@ŝku KU097@n'i5zSMk]%fFZnaMwtCjDwڄEh\[::N?O-%Rif71r qMXn)Iz,i+΍ ͥXl= ō Q1jxb R4fyɓH. arׄ]Ϧ'"gq-_v~үWW&i9)~Me74RT7|9u`7h1)Wj-dqzuz={5lNFk  xv1+בCsRCD|@ǧwg"!lMvl E6džLSf2>ء9?25V'F>|5WÇk~F)]ޤ̍⫍lśx+nOȸ}u||׽q8|,s=7ס)<P68?8 i4Sy |Zc58N;pWn+0~X:s5_M ȳR?zJctX*"OEӯhLL m⎥B+"2vOVԂ1u;:X)a;/uŐ+AS5LY|JTd[2")qm;6&ۍu]F+#9.͊~f2FBbҭ(M)M+Zdjst<6x zAdX BfefZ.8<W'y9AՆj<7E=<3檭LUT&ˀa,4W҆U8Wme84m'UmYWT@$ZMFmW.A&2ٵ_y' lCxv_ 5 e 7θ]2=Q/#g#pt\; .uՒ8KE*_ qEC' =P ]wfwbCwȻdq&}7\Gp=ۿŀ]m{Ty?n2 rv棂#ua;lPƗ{''8Z;R^<5LE}U5HHD5i):xm!-Y"3f#"ѨBt:I NԂ8^;륈 _Q`uPTцd]|)"\n[[34/ƙ!Q4^} jjLL_u/Zh4иEA/14p0o~ˍ&ꄷF8|z%-s`}er n0 pxg>=N(xi6 VQ@TQb&k^SEpL\ao|!"]G] zМL~cqŏڦ^_umL(t%H7.4b) ͇''eAΠ  ʄD"3/f841q< 0gmsED(N"H1 i iSWD0L&H{AA=N;w A]Gd}J-@/58^0x/]pZ͍ZWceMe%Cgd3׻d2 ml\&l;l796ym1 Ҍ ՠB =LaZj=rySq,?Mzp(]*;Xc"H)6}j>B>`SJXt79+܌1}-# ;74 -||"LG6;LDboq_^FL-C~Nr5r\ewHx( Z:i\y5"Xձ>~1QF4A-]1+_1LdulԳqg4C<ܖDŽ E F۬##ih1U+?a6dc~|j2(GH{jg rN^jRGdgmDW_R0`{Coyrg. V7(Ljw gh.>]g#2/iva3'|WB1h-ZQkG KkL~)"M3U^D7Ֆ7AEgQ{L(yz  V0WU\> fRP*JèRFb"ZbΒrfLw8 #xI#;D)w{T?Oj,9#/b +O:ATlV] U /F>tR鼔yy Mp}Z: mis(#h$h1F|=90\-RKT;%/ƎG$$5$V`LnFq&7oZ 4OFN;ܜ!^Jk֫VcBRF?/)ǘ9;g9yVao- 3Ư=D鴣~(7ÜX+s>t-?'M3d$Hu;v`{arfj:/Sj:z5n4MfdždoOqcRyϸqcIJq}=eU$ =q_qA87٦Q=3qC:̙c!pཅ31wr|~Ag~6m swx S`܄ehz)Yg4駕1){]`ll佾g tգ1̙5P%"^:o$%rqu8lcŹ#}A/R(֠gœj+o8\lT+#5MBWL53Ypsnyۍ ?il>|,x&~? vwHqA:4OcG ґr)M~ˆ w'J"q8->ElëX&exwˡE8h|IznK\H6< @\b}'i,mpoX0^2d4^WP/tKΧ|Q1KEO:ʀ/08r0n3<\?ʪurs*T1` ZL[_ohI3 &A{Jtb  8 F烹qI]=b\lcΣNnnZA'))s4&**f'#2'%*qk})~"Wo&' | ^QcEy8lk]Rm=Lc⛧f<(wQcNKIe'>ktpQ= W ۖƣm߄[JS  -skq$;=U@ N^1E[T~4]:?_  «!_yAD>G@,&:e]n{g{p75q'4Aj1hBKKDLTyh\zqD@17RwoJ_3afe9"蟥?fjL_(|I 3%EE" _DyGA1asf̿0OA92]3ScS/И|a033 /$./!w?߈EwPfh,Uoկ|/^O?gDs5|`VbĒ,#&L3\K^7;` a|\->D@ӟИxƌI.Bɥ{XLst)J5-eTĸTx/{:"GE r\HrI Wㅇ8"XK ؔsđ,Л ,_EUE>nt5J%A%~ttrcv{"8}{g.t~Pz9 bF#7>#6ILʓ J@6e H%`#o /9 m]86@7:)e9F]P{4 ),/i,1ڋ>+|0 zBb Gc̵4Ec"qeXoSU}Dt#!8;맩e9[_eV^nݝǻ!XD6MX lohGyhID滤!)|W#^rE31jǙKLF/UktB_5h!pWcyؚfa8NɬԛN bP}XJpALնg8Bޔ:jX^j^(>ZN_ge;#D rr? en" $̨ \oJkP}eHBoTXј8Cq?6$;XsNzEPV!-enM Y[Ywm;x4rؓ*xkJ|TB =PQ3du?$rq(I.ϦLWҠ5ڧ,naJScL< /kݦ N;7δ-?.:0t5h:%[UnZR l6+!Y$4iʎ_tng4|cҒY6iG>,*.VR-?}PwLyk(ޠs%V*Qq tQBꀙdܮ#5ûF/$f4jLfF֤*-J'w$g?rt5ӯ7QXΕT}:TϦ-ss3"U NqgBBIhzP=qű砫`%nl&[gG} 'k,G8$ѳTJs*Tc%;;j8=;⡳ώιO z(ޚhI^OGYGEN%WxE$γ?*%I SBJ/$Ƒ'HvR@q1219_⋑ Gebd| 'gM#l5ij#劌Շ@T=^r12cD-(ey[.oN['Zd%>3ü%#AT(.җw2~q"G_G-2xmmiL:2lD/Bw=OƖ5+V7)pEG2{ZKYM~ gKWӶLFtқvq;g #sc  m(sT U n,P!tK#$ۨY+c%ě&J.Y@APdQ@`wMf 6 ;AAȚ>#FV2,,Um$B+9Ma{&n+bw'i*P1%j`.RfEdn1EJō a4꽝9#g(O*p{nnE[ȅ߆k|k,w07եsB( c'6Ǡព%*p[e'eHXJ[O@gIb3ګWͅ"nsAjf +cJqp=ćR9)  }A eP?P= ogb"zv9ׅ|@LxR9GqOx/ ʳo+0wߠ6Dw eV ҷњ >}H%0!0V4`Fj^V\YRӮjDEH=Xecl+D")v|[Ltu>wݶIho5i)eO}2Eѣ]%lV_>ztghzjՅM{<"+%P>#r?)"CxNo+W qP1,I<jUȴ 0<:;H6br ;xmGtrq6 tZurYp0]j-I1Ċ 0nTWR- XA,$n):&K/  dYq;l^"6?L/ 5LZImyE½:=Zr?# ѻq/bj̣6W6UV{RV{)6>D *-} ]3ȼDP*UȦ \_clsr9,JTN$yWd_#-6Unwx<+VQuHMg21osrs})@K 6*?\Ԅn*!=YKтˋiVni:r-.Pupe.-a><z21)qd1zr^vAßU1#G4xΛG4&<cdΈZ0VMvYV^G/lb##W֘XJMt&j}Ev(BQoZwoMo1;&O^qsi~$Ü?̙xMq^%?"B5 ns&=:c69[;T!XS6cz&ya_%hګm.@N@ bmY̤7,WIb%i,.29-WYm,<Y_ pϓpk2[ф,w-+ws+jŗ1qZn4(eH^gɹSg 3͈5&ܓ~z! <ɯ^Ľ2qWGڧVrӇM:|f>Ƌ/CCKp X̱nOvU;C~W[T~yj/nnEn*)ss nkGDfh3{˨~~}~ʵ; $A{;67'stG Om /T:*g@;fIYc֖jkX'LH6[_3l~ssq8`%?;ʫpC>9ƢImtQȽE`}nNiDc\z\|z #ki? V5:!K? ?<9aejW DF;~D -q.DGۿo;־hjW[]AhttI+VG Jm+XY,oh'iwP%X9n](,ro$::=>Xm%-|i6S|WCQ#:BCch_;hEm9~)eh?,WYL,0C$ѩj1Sg_-y0@sG& (%ԏjL5!Г 4+y*df9=L%KpvntCg*z'] }- >svgȠ!{@nїZO^^ Z\({gΞ柿ux:%:@ ʊu7S6xڣ -w9h 2wrnwq #ͤL"!GySnkLW,7; [RU6=Qqz+~5ep!]A=7XzT8:Ƈmǥ )TU5Yd&n~bပ&as ڨ}ˍ5bf.@첇#2ꍆ򴮛->kVкlo5VY1Fː6`KH~%V^W,rci/BXL LYQ,,#A/]pj|y!H,Cժs=׎ӺcEeR"c A}DzŘ['2 kbmuw䎼o­\A~@:nƎpalQ#u?:JcX.4&R*nncLuuO?P+o]/V<$m31XN*h 9Gj(+D2ce2^-cL)=o k~9h4#gVޛX:&BC?UhC#5Hw *gq? ڇR3ҹQd9%^sAkyvqs:2Up Gw֮ Z*$_H0~g1(j,0vo`I0sn} <-xm\8oK˸ )/Y MH^?u")m4스"6~R q:[uS?`<G)`ԕ?qs SҊ,j DFvo7PH[y'Jpu8ZކҬuPNSAc 5Rc!5R`S*~n4ilS} ?n7#bqs4Iy6tf)$Apy$Ԭ|?|[6n(/{LRbg`gߎ_[ƯܟpJG@z*x~IƯq { 86*# KgEK[+\ƌܟtI|_`Uu4q9[{0SܶI5;yB) _Rҵ-~QzWQiHAJjH)e^J7BN=҃)}#)}s(}?{R1H>HwSnEW!}jI +w@J4'=>mN-Xh=!o.S~tK4Xcܟ? H퐸A$$#5D?Oʅč0)$rܟ-?ar,%UH"QBzU2J96nNHFƈg72FޥQ֠A4eשA϶o= ĿQ9\O A?7٠Awޢ55Ojzz\ 7HSOzR\=N 詫MF=T\w@<}47Byfpb tCokH&A%rc+(yF~Plw)9=k;ʎH)Qց+?.Hwf-̆*BAћnNY)|A|PDY7t,,t6^\9aI\A5 FJY wr{ X"V%H ܲ?5<-? -w*֘P]y=ON0gQ v-g=G`}nNi.1gm{5f*~3^fUPV)(NJo:jAܔlQ<?RԤWor\K:2(]D BI E5A@롲/sUfQ=J Q<]|~*ԓ kV*T %Q$¯b'h-=Flɋdls|͟RDO "NMÑ"_ T.E\ͥH˟UiC.نUk܂A8vKn`@gKn;G\`f]n㰫>0Ni3vot#YKɮވTkQ Ʃo8l;}wCwΉ}WŽ绎 q|=7:{_ǎ8#crGx k †Ӈ>?ԷxeQDb;[,{8-* _zS Og)7/M&O_Y ֵucr tb9uZyxa/йx#-{^y7@[=\cL1>U/v9Bcݱ=hx,Ȣ7 #2t3@a9glq3'2&S:.ѥ5,]Q-sO[>AJ:n5&ä0 ۹?ϙiY-yg:Ǻ3cVqIgjzpV"UQ,6~UNQk:71Ƣ@T*Ȋ+|yBY@Vqeӡ֬,K~tz( b8Z,fƇ6< w;Ǣ%t<k0|{ktz C5)r B`:bw3DG*,r<~ig1%H I7vi z(7>eyȴ=dwvI[k ,4oɗ+'@Yˇs@aΝ5{۹|;6VIR8`-"jԪP^'`/6X8I^pxh\8~ zhu͆|Y|yJgӭs7NlFFSĘcne?ʈ>I_2cfAc;7Ap$}n:*d^1sF!{@) 5~qZ9T iL+:/8!*м1W0HKăt5poH.l뭷X9Xc3 >Ҙ/b+Ϯ*p֠Z(Oa↑8Gy$?2笑I9;׫Шxڝj1n옡OS~/pE>?eD-DDT uH8 $ /kbD _UqYqז*=\Pitĺ}UTcl>i0M12פitLZ`E0`YthQLg:kf˹VWw;3$7Ӊq[7*@u%GHg{I>?wf}1tLbGJՠ))J7?QRB>\ƫgNeLb$G+Ӱ(R͠|[Jx8E`4%60 cwdF}~:K$BƷ&x)m 3t\`ΐxyM|<= mIҠ `ƷY._Oh8OoS>E#E.s8*DT2oFg1savMĞO^ B,}Jm oő8H=`e@kCh.Grɖ Ǣ0댅oU#A?kYآ>vOB.?¨-RȏI#v_44|RM'B֛r^IO뵭7@5˯GYX.s8e;Ϳy4w:WpYw;/lNQ6M8[r=N{_zu^uⷹГz~Ғ~<[f>~2HF(flYatPM._B Ūʏ Ǡ-F;8GQ_ydszz%GG*j("粁/Z=_[q4݉a/UUD 'dx Ei3({Slô5*$ไX=gNQsXET7,OOzoSxU`X""LnvjЃ ?ﰥR:L,j 덕*i*tڻrkG Hw̱<*zH1RqF)|9@-,ojyNžx8 NA#m}Ue=p:>6fp;V_9)9^7ńCS"oW`Rf+*疙W_ʬ8/-`˜89U#EVhΑ."+'|ET$M{Ƥ(Ո AakoX3t'D>ꛨN=cPle|4IDRRKckhuKljdd^",=^8JF wCO?] 5?J^NcK?2F^n:S_jeV列;v'f@GW|(>XܺlG_#:w̎<)pJqO0}k?ڿ9llVDD]hdƥUFsə8 0UF)BO2B#UC:"H;"uǁȁ @˓@_ڏqۻ3=qo]="d"L_jce< ]]1greGb2'γ~[Z" =x\D /*' ,a+"_> {v "g}O:nϦMv3e<˅;ŴS4KXrV贑 elFr 2C7&nzؑ@ÁaZHϼ>EɎI)jO#R4OJQONs?ȭ8 [L1l8_7=R(tř!u;]Y4?|_d 6u[L|m""\5 'O-|=y3dn3>5pxAl@ [y^ ޢzGy 1-Af=[@RZ B^m0 N WSGTE[A؜|̾#Lw%7*"Ԕ2knѐܺE?ثS1h|IlLnUF>۫nbh.6g;/Se\V SF1Q&OT؁HOe)Z'B/lgoyi+@(Um>S*/(cg!#qTI֧U47Αq4Gyҋhz!1IKE~scرm%"4ekМ!{@!!N*:^Əm*ŢxQ5!{vd@$C}(3L7 bGR=ďXYfսI`]=nWnTɪ}Vǐ,7-cBh]_s_OvAU焴";V 5fu˻ڧFUr&7I93_rf8,Lmv$%>}}i)r{bSHGs_6<!Qٍ8uW66Țx T:Џe!Tݘ.Wg}.s߻@ᮋ_@jXE+u0mV'̓;3E^n$s#B7RtԾR=[6(8e(Wr7[jT6!sķF%Kx>" W9EDfQbceظfחu&Ura搟kӹo!cy+OED7 [}LlN'.Jb*Hl??ZUFB^Vޖ1m*_MhGӍT]wV.7_Ȅɱ2}_UѠ?Aln7]dTB dȟPfLlthRqKT#']Bرa+)JAP¿Л'qt6&}/\. D$H "cJǹ-: Dmۋܢyz]z\^UфT q=78suF2evnʗ˺h[d;ΑW~,|r ( U ŘpRm)͌n<g6ڦ¦M69{ r=Zgcǭnоn<<8`oRO[JmM: P W`}$QS6)@qI8'LE`;Te!B{ar5j$NK&N 5gU̅y_?0"}M|  s8^3fq՗ la@z)१~QrU7U]zWEl!zUe|2o~mg [^9I_$}M@O.h&W/X(#;%OCz?E Mˠ\̰^YiY!jyؿ"=(R/+c" je|˰-7 Fl.{XrNT/7:{SmղTs5Q֏?׋l֊v|8l9V/cG``{ )h٭ ݄Uq7hߜHŲK?mkyO^ Ǚ2U!))5{1v l^p̅cS&0jok9DuM^:=O=dp#J Vw0篌:wJĥ*Tʠ5h|If~Fc @.F Msm=鿑6vjxWvT0z=^grڛzgkxn$߭d;' Yύ@Y8lV4bDfEg4V!Ö20)ck-eH(zH A~ `Tyyz=qa^ GLۗT <6;O{ zQ\ *m=DBCiu24 &6h?$j%mgTqG`>72cjCJ1TM HAWmפ1f J|3qjE9~L|ߺ @@\Vf( @n4I}@)}\< 'c=+&G-s;:jSpS2S+6`=( abz{eC⏱7<;<ϳo }v7X-rׯb>A(8Kg=%tP,C0xהw7AD_oÍSgS"j@a#(I>Swy`IUNXGys(A&79ݞ "S\{7Y*E_T̩e I/6ҋM>whs|4'RB◃ voţED @\أmSr$^.U@i\cOFJяx"? I̔/~4U):ZDdeiɽ1 }Q""71 G@ŘO!6`UXo1ه!U -'ô"p"VwC(%)jw_19ɽOqQaUϨ"i~(s͏`"m\Mso{yxWD)'g׽P cw׊SȫPgp*ރ; 5 e}Q'^.I`ӻBù'9H9NN8LMVy"E nA采!$xbOV/82ne&4^'kK#/`rS`=kz>]I?:l#y!P#QٲM FTYƚwhif'" v,=0ud09DT\$7d]܌uOjﺮy/Dȉn*b6ڰ mվcht̋1i $ Jzbӈ{*SXq5S2LAYjot=HiEMi3+c0FTDcb3G'쫸Ym ?Kh,jS d!&\&1 M/[4[5_abyrj0IaȺ4+ pe84+G(F.Ŭ)+hB˔֔g4aqjpQ*vLl\! I[yϕ"oHֲW!`8ĐhRy;oa8l@հ#QorDb#Z%/g:0j$2|$:nIl0g9qf>G߇+WvώE6 B8&ߝl.~׋y9JPqP;hV ga67/wo͏a; y˰Y;oHNx 1& aՋLU_ei46Yᦓ;Ȟ5 ho@ 4In?!yzTcVsG=RZ'=HՒ~kp 9Pw =&]{h1uw)J7E!R16V/Fv;R[%@:o'WL幷Z*484W0J6es2{J/Ӯ^LŴ4D[f_15e"2wu+=-Zͮ0T?gb{pu nkg12= .A9RJr.̠DŽ̓Q&2U9ל!g b쭈i?טB'5h-'üX9)=};~SNh[d$ z.{PUJ),.EѤwx"X$h0pj-'$'4/V(elԣPBwaI%@Ϛ/rxa""9N:f +jJHusg CEDF~n?>H:߇, 0o:e!X<%ˡ@5D[ٙ€'"" J#1rl}I2e;6'k\JѺs/e8*ML*yT뾺`-Jv(ޒM[1=&xRA-oGߧ|H$a8DA}?6*i>$pl\S!@clTT5؀5"GڊKE \TlϹR2wdsWv}Z]6CvWOxvUu*ѪriP}Obk@?gU!/%?jf|7[ ȵ 3+H~Y[0N l'Z$!k؈-/ Ϛ (1"pq !j r:=ghAYƤVH.OW]aBA, 6kK݌ug ޒ5UX\P@x]1 !X=:,Fmg%T3)`UvTZ XSsyBs  uvO`Y J>}X8}18tbÖ6$ ,/x ֭c"oQ3mL:7lAKQTJƁblݘ KdީqT$ȯiFcK={{72gȪ8CL!Jc6JR3662+բSEA/E+T[/1r6(b9iv6-ؐuyk@P]0 ʭO8s6OdY[2l!)jm!!^th}5ٲdDC=E;SxB}?ϋ%< JȪJ*QzBy T#}8U599)[vCЮ^zyT5EsC~J^IU;= eB/H5hP|YRlW) l>~)zhCrnEn Hn|m}n?l{6ukPlj׵.)zJXrHvwJz~RجqCR|ޮ 39 ɮa $26Βq0]! " b ,|nU!`̅C^DZud p*,ڶ\ݬz ' zVq~! l?,r@|F3@Rx5gn<$?I;I)˻(5moKT{ɑC󿄢tzJO^]!"T')uX ܎5%0kCi۝F*3Cb)\nkq߫ua$]pd$Bw#99[(j"yyzdL~̜{#ԻǃiF<3tj؁Xn@ /Ea.JU$?n@h,r)u]9,~,VE~f>^hN+=E#~T1Z)0G='"_&6 w`AGQ=Rp?H>Ŝ=ү(bV=2]ޑ Fshk!)~޾u˖-vL߳)? ߒQCDtTʋȗR;D-C1GVb%h+/_ < e? *Ϛ%/*E7!FƓ3kL aBFsoCӍAku_a:s y+uo2|#M~*' vs$Wq'6mjU%Uk'K'9Lmܞ;@_]<0;{vOYH*aŮ{g& }k.y}[emZɎdԖܐq8do))lFLYXA#E~.(fF YH.t в}KbŐqpP${LERn38BфTʃT) #6/pB6/ 1AȒ2dg6{ˡIݝjmˌr6LTIIȟwY"8f){#7Wo~ODa3.' , L :n쾆BSRͳl9 9¦+|fs4˶ hDȱ?RSh3_D*ɖni[(Ju٣m ASoC-)-jFfՔ‰\b GƖu%"uɣy|W]^\ӓXDXӡTOIN>r}gp{yg"~T7{=c;7dq`Y>w{iե&"SGxyG3Ֆ%Xx]zAl"\Y%A`c#i>f .XǸ裻v@ igɇx2E%{^T3Pݲȍߺ!w~Ql0 DDCp?I_12wN>R 5e2˟X/G:6~t4Țƚe v/CyKъťDUOr&MB# Ñ7@)QD^n,cnoE۵Yd]].DDݱ◠2̈xUɾp0IqID'B~# _HuG)RYiq3jyw3(3B6= m 3dv+9۝;* #ٽWrvr1}׼II; J`Wy l2U'%Eo@8p@p/yU2_PE? hT=JȽۜ#s|> 0x^AJU^m"iI*xn7vFng22C%ex5n "ȍعV\Jv^q&_u{SM1i8ŞqKM _[rx#"YA3* fe9u!T>=w[%+<"žo,/$#_! 5pP*cY1L-ÿ>o*3UcsΟ6ڰiF v *ӳ|PUXr.ӮP69EVv -5-|gvmM1bcj]Qk*ҚrX"sK͉݃2,J8s恮$ذ*U#a3r&`lH$^lP8Ǹܑ%80f)Gd*E~ޕDdJ2Va=je27RnJAؚ>)v?( Oc~쎐B:^tp`\(="$XB]G3r~b>(T묐`]UJ_H=jOŵ&{1# nNwA[JeE9luIG\3XSu43I$h U^4% !VU]𤨢_Z( VE0@ BhPE~K5ق\RdT_R qRo-~ լ1R6xIY.@Ae=I3"^ejaG3QWݖ;i]^l)hċPؚmEXCM^Rm+>',S>Z9[g#:}2M` |;5G2VZSEak' =CDŽ"|*.h$Y/':) E!T]@N+yA@A#aOvp:׽Rbl,J4Zpc|8׊d1Iiв]S%DLL_Xn/#leGPUd4F  9rBAq~G 9r\W rT̩BX? Y?-*!SږT{-[E 7DZtB'\,݅rqQv ȊdVxΑo:(e8R)~EO RIX5g9zzVI98s!ٓJviVu^m!tŒ^}~#V/o܈|I){wy#J?8|l&8˥H[1U[%e"_HR{hwg4' 0!{ax[hSpR{t)8LfK!|RTPXx/!fBydhL&haSF }Pe_OgJyɋF'`8v$G{T52\u$"yl\6I@<dqWIՑR@Otռ]aȌ NR@:]3"O'"}}Ap0?F>LҰUP!8&( ^L~ zVa pq:U>0Pedl0m>I}W* zYr+L\!H>QaH 9er:^QwC ̱o Rtv+{eϼ<4rJ3[lf\n[9 4r|2bYDV]7%*`s(ԋO$6ZRsUwdlwS3Y/̘LGY#:Gä<-L̓j#wj`Ⓡ Cd*0vۈpw9N!6^af>H7r؂6];̬N8LKSd$ D5+!8PU[kGko#:v@l|EݜO ";mdƩ3sJ6Rȼ+~䀹+BRmkHIRmy\5RFrbo6aOɊa'Q]"T^hIkUc\yr1֓l.?(Қ\>ݲa*YXQ@jN&U+Ė_^D&e`/biN {l.`1p;I^Dp6fc="Y|:i.l|xV&ɠK55|4UbCɊcܒHkbΓ+R@PP.MjK1/^}zHSaEfe 0O乳-?K]~גSQ1l:/J^5|RoO Js ǜ4Ow?Bz\ŒTCKWي !zңݥ'OfRL&'i:;7si  A8GM쥐{puJ@eHD(re C}}Y?yJ@ϝ)g5.˃嫵64/df̓yŵex~ 0. RZ88Ʒ"3 -8Jk 5ù |Y;5BNpu9X e3 f°5Ӄ;ȼ#!͇.{D?ąjWVΝϺGb2cwt띖wZM |HCV/xgfd@8GZ `Z.:f >.`2jQ{Ԕ=r0=/`r# H5 佃I -Dbfa}8Ȯ[rU5m!CdA053ڱغ5BXopqEݩ#b}c*Y}\@< 8[Ú\- vfAC5 gl9YsYѩ KЁ }G1j%͉:vyn>f:QaY aj}E,o5]5uY>9a`khQ-zv]|+JX}mt3nW[-Ͱ\Di[B7VfV#jr"m%M<'l7IՐ+Bi"TE* )QZvz/oS†mѰ$a%[h쒤7}qCr;|炋]i`J@ـ-ҍ=IcxGǕHƃP2V:'lm=ES]Ūyq($5/:֤z_ >0}[`^/$iOZLuJ6༣):"LLٝs\㱵ʅ鑢Q}Hߍs(YY9D<ic%a{~-!@VIR{jPZmA(%^ᨏ`_qFl4p^:̭宛lE%IRT?E+pPLo]tX`BLӣe/"ðU2;I !S<MQZ͠a^yM]$PMAKЭ#㷦{: CI4=$Evߌvt ~ÇfO@nG8mˀ-|TgT^~͍A~`n 8zms ^nH¨|,KcKU 3* 2R'q~S!k6_O"m/Xaml=Cc_i:I@jFbVwVP.P`2ː@5: &*Yȁ@}>LN+z'ojw<{xi3nԪj~YƔȝݟU'z#r%y[@ʯ8تqC-$u8ușݼeZRأ)ٲ#2ܩ9d'I7?= +'"OoԦ|ߓv&."\ћxB,z6&${%OKHq^([@xJAq#\x%6d{&h&ˡ̓x5ca#`q Tgj8sQB8C1 }sʭK5Oz T!`YA9E۴"+J' X#yCT㨳cXaLns:x11#:jó!m+*[f NQ <^Mz?obET f"d_l[cUS+)%TWɴGشٳxsϟ L|OAS4*[% YK l Hg\ /¿ZJ/?^5 ׼eɻߣ6'ƫ֏$e'0wy,2pK@쇱_[v*|`K9#dD)BD|m'*`LaIn,rƇy ou-I(A=d- Ͳ44oz`M?GWDHIK5O8l׃(" A@q4X9t<VpT__"?4*Tf@ - {O^ |ylNL,"㯦Wl6b )y)VF6WWWjrG5U!TJWs7K=Vn-gnH9Y{m>/+9, RWD3eK) ѳ-쉼eTdH'ɲVxlγ$6NC; طGQ$N6=Ԩ`;Ϭ]щ7"* r(!ETd!8 d E#>9OEuEP4p3OUn}Ifgne۾m9h lJx/ =9DEN_B}N!u#T*tJWlX1qDo~Ld苆Aѣ񬷰N[7yKGX,{{4 clF<W2 orvxGVNӕav8Zv湨?7gvr G]vHoe2&dv+)l(FwHe'b/0{)N}M2s/ c1 L(ɶ$}Y&xcVpوHG>,pi?ȱ~1Ŏ&)L^SʫK9bЍ-2R[:fdP@#<$J Ⱥ~p7z/.m+#=gQJ׭ޢhVW*H%}=R>gYGqbt=:믖0 7rHz}@H8Oeﺔ/;ѼdJA͛alpvbluhoN{ԣAJG}Ԥi,A;8 b .?*oѓJ- %hi^ׯ72 ^yhv:Q#  4#?T|Thm۷2rZL=VFA PKuȠ{ tq,0[]F> L2uM4{ 3Is嬽\}.-c!N3 %q>r CIr਌kN-ճlx% 0˶)dR g=yoB[C&ھM@{bO(LL2Krm+77Tp7Gennx!}s>> 㝏=ewXB̭&g  \Afd 4Rtq05S *P.NV)Ra5$o@oI!O7TX`%C0UȼQ ; R6`Vj''sW&W!A/j:D~񛭄7[ kE+XJ+Z VrE+kEFő@=}(s#(ac8 [kUs$jOsDmmX~RUs>P~}JL 7pȬ>@'ps,1shq";$7oaf\og+RvCV}h.¥bƵFj̢j2yjgq]~ x]{]]n⇁ZڛW ::q$oo~9*^Iٱ[۴gUUXbk\g]$ZH$椛Q~U1cA9IOp|6Uj= MuS69|89:=ShH[Zl&_#z5tz l4=7ݯnήAi=$,/.،嘗 û&K[7-$R{=ҿx 4cՔ%.VC+Z:3c,6$>&ɲ\MvYNk䷾Vz[YbX<^b,1kFf 漞QQqsPVF6XL;Uğ 2,qҶO*\|Gq2~76ʜONT|*= u\ۉf i{lPxS缙o|3]旘]jS*xĕ?e~Cܼ~/\Ƌsϕ1 QOTv>>=fro[˚`q xꑏضō3Lב]csqE5k݊>_ JJtkGG5q[.|DF㳂X8zΚ{*;iVY'UyeW͚NcLoT͜K,͵3EFh(K3r1. *ĸrao@[V+V+5/;c: ܿ2[fswLT^XlOs.O.\q +g^ _CZ0$s{pS|u_*7kM4(-uVo?r`zcV_Ns);O.0Ӓw\RrOKag\[WEouJ A}ܪ^Ь{s9ܺg2\ݚ*1_Lrsw@q1X[P?!xt:nݮ1m kԴ[?le~ wax+s$1U||?`+y'*s[svpsG8ql:s<CuO<ݟc/ٰtXO98ʑ2e3.Ba|KsCVtQt&.E(y5üj#V=^g-i!BaeZ˜z_$~A~=%.QK"ocP~ܼ7]eeOS  /lP.YT_Oov[??E[OU?͡8f%Ozj>5Oѩixc@'Eæ5G jd{xt I$qF5uI8暞=K"ߺm0A! KO? C[CW/OK#%ف.tu"/ZORxY _&uq$`*uѸZݭ#c/fVu~{}&k\Nc I~Ns3P[9%/[-}09IߥP4~DnӁ.O) mz&2&F{c;m;1Q? 0Zy`\Ogh\z1@BrX̶}}O⸀a+Y!4R;"Z6cFW ZUX_Y~y.9zMZ j䕀`$S幠#7D㑢5WW-t%Ԫ A.,Ռ0R,~Iiǭ&?4z_!SNXC<@ )5{A(5sMxquZ֚  2br>]oF sd/禑!9,4^Ck-+0f\O/4/ebŃS\( ןn@WuXšnt!ݜ \f]k|"ÍfW$[P]sk=JX| ީEG 3Ћ:"8P &].~Uh^*xC`fΛfsBYB§_$, .C^v10AD W;DOFsvQǀШ0iǣtwxm;0 *7dk}:x¸FEnM=bLzԹx0v˜m|k?$2l4;*h暂N:jkۉu6ݮEnb {O\ "^j"g-(fFreiyJgs: NCcH֔G͙-F_& P~]Y;%dod_'oy.֎b,Ę[ zb{]6!˩YbT긨,MٱNl3nQ6޳-h;2OYĢ~X-AGma*Fs:& J@aƒ^$jd^uV +[u܀[O}pfyyLFڶ-  CWf\7Ѕ]7[I6a;3~MF$h@\YC xOdظ.vDzLo9cẄgr-sXI\\Jtf>lJ'͠],7s}Xx7?aL_Zd)[ Cw_ W.V?yZ[Ÿ!߁A[7W`n RvHϹ뛡7@[ZV3K]9P=ص +P=XqK[Z|iSѬD8%%); yu3nvwC v4+'C7]uiu-@V[E4t* s6fJ+g Tkw÷ضXr3hJLt?&w<~Lٶ5 E kʀ2%P=حYѮI(\y2=hejPbۦ 0q szp.7p.~5ibװ.*XqBV`7^s=Yўee]`aɍ\2QYX[Ev p(P ވb I7O:xPɅ•cҍb9^a'eeգ~#H^myӿpJoPX,dH=8V!#q^[2ps>.> dvni.߶rCO( 4z-:+PpP_i0<[/k<^0f8nØڍv++׮O˹4U1Sى[cXhWvBZh ˊ1Iv˺Kσ:k]Ɔscv!xÚ*ckg_@2.qst/|JCZqxRr8;|;x 7fv%Dcf{&1zB^}MDbG3 7>Sߌ6OGChepT" m8~f}jZwh98kޞIF}C "GG f·&-k>+\h-ͤZxYnKj f1ӛ\p<ֽyv<9sv1 xHWlZl̳䴮 ON;+W8@Pє8ϯF5$=@~*SX7qպM o<᪺\u{ &g{QMWXGtg06GCāSn헟=ߕC~MuC75J\Pp׿ʜ1G(nTI/eKրlhݲqD NAE51<{_y4>B,&.{hS7-M޷-v|`хyWuz:tх|Boܑ,w!>Qaz&ZmqR65[!&.q~c 9})tppo&F&xvuuH|W(׈oH.vus=kbH.(toP׍0*pg=k{ԏ=6Ā.kBMleXVH+=P/g#-u<eHo_ܘ 2ju.cIt|9KQwBDC6uq<䳓WHkDi"bonE{Ǣ8_nPX[9AoPe0*rWQ[$[*/dY @[*лύ#.ԙ3nR*0݂?Q0@~A !u2aŬC&]<'UXFsH@~& Sic Od77Mh*5`耕CVK^Rb$I_A`z Pf6Eʣq 01ؾ|(6 4U'a h Z]ی<@3o&AdTo:#) 4kf67}⒭{.N/|9 NGb='Ŗqܙ?ahWYN WZVLqå|B:ol)67($뉼֪{V4[\ iV zK҃b$r.DQXv [D h=B`ēؑdm{E-bx$͑nF(0gS 8|+TEԶš,5ul3m[U6ėħV} r2v^YUt5] ]C9[Zl݌xbK'X@[eid+94Lf_y4cmjGl_]G~ѝxGP(аI\&ȫ (,zx˜MR3nJu E a GEܦ%7hsяT1m.}w8 O&q(X'4ɗvf,+i-ܿemV{7r1҃Kz=ROmg* '|} &L!&ԅ#;wg1&3A@:Dn8Õh*,awN4aCo)"A48|-΁V(h$)-" ޷p3ײu\TheNVjrb|ʖRb`bFUQL{N{Uv[a?"/~P4tc2fVX }7;!ibiu[+̟̚A k~'Xw#ky۩”'3.][00!0|Ao~˅mt$ W\qbcN,e8KDto4_ӧ34{ʉ96<…EDžJ-sJ*f\bP`d2[P9P#msqoiN&`RAjkOy/!̅8(§wM;#}lŎrQ.| ,@ |Sa*`X0x.d8f U!Q iF /Ӓ|;Ӭ槼ٟ9o-a̎t':3fuɜ>$Fntx<|~KӞq@6c}ݎYC3c`u,YmcGd3Ƴyˌ*^Z|~оôwb&jt%bWC[."|9 ʉ:7~=o.OOj͞^q2gE:js8o/Ý5#-oác{Vp+\0Bj~;y~d&nஉE*'44+,7Bӊ`{fЛTvtg,+4Ԑb+G-[ufQ쬛y kR:NqsuP"/nܿf-Frߟ4K >2c0ƶVaް>褀aR}w:tۣq^t]:ITyî6}r[fl}BFcv޺\r,Q?BL=PN914e[[չ[fj1sw|`izp5&o4`^@s!T/U;#oudX\톪h#{Bb^v}.\g>^/* כV;7IkiejUGHO]#rK$7!]N=y)7"z(|״-Ux8?YGxWv,״녝%SJdb*,6d]0v~ƌvM LJ>EyjGs%&p30fOz&>ZO%ܻA>uqś<:\yaTX lvR[PxwNnl~$v\KMŷSH!ݿgZ7_\7Ov\#0nʖdg`Gg0HH&őoRrYa}+I۾!0i& y=*p/U FN@,ŭ/#g' | ȏ wOW[k 'IU:pLlax̿6gsn C(# >A@'H>R,@nhj2QUOc[]'UHQO [ݝڑ| Z&c*V UzE:p?;q;=i&sjOÉQCl[fl=o ʣM \ܮ T󹽉&|L~ s~(ܭlWYYPgXz6ݙaZ೹eS<^ a8fWg"ww|ʧiԪ+m0qLWYh7 b8Kl3G\=m$f50Ab?Q@|5,^jQn|Why6[ؾfժF` w@tpkp%cͼڣwZWjYwj_U3`cV?PW ^ժdW{0zc7j65UݩFMsYPбO~Ŷw =b7f3XmH:dƨƥ:@ u}Qa0R9 &fzFF:7ͣzԻ 23;ZUbƱ^wpr=pqP̝_{KFx#SՖ^1jY-bHްh<\j 7֓ H׾r/(LΨluA? )4gHafe7R{J볉Ol;, [tc%l*Mժ;`1yfJeQ?v5ǶW?7cs[(YqE-"fM@Zո\ظ^]T~5[4>tXJ%\lղfbS쫤l#%Pq )ŵ vJv4"Vľm3l$~OoRm'N3רM %zO6cMߎ;7d;/#ĵJ4#)8kWX(Z%\{)N@tXtR)B'Յ9G㳆'9r p:`فW?0N$_1,> = &$o9n/;1V&2NOkb2mid3a$;i(ΤO>>)Z94;=تQ atkz:nzX<|z0/~5jmyʭ8SX"zs ?'?pr#d~M[$ TmNTP@dqePIމyepPD9`}Vaug&op;$dZ cu5OlFm*5Q?j۲'5IMw @Jim~_u=8w8&A]mpE$LwV[=sЪYbGF S~}'` L;q qpj.ޭս Ёp8[-^ C+Y5!׌x23z.q3p?<0 P{{Ry9;$;̡ߨ͕Uu}?A 1RFQ^HQ'9w5#x\lЋ.nn\E覔m52;|<ivp\z{M⛟Rw[O|&1;8|4.o[dKKܴݶ3=Gl[.b1Z9mC;K yt(dDuc-JWouc8^c:0Vf^ّUvVnۋ-Rcf_\(+@!\ )tbr\Vs&]."g][[m̲*scO37]hj6g |Nu\62hHrMS܌ 9Ao/&r.Xf\<[fnƁS5 *5 .֢Ltg?9{e͍pcKW#^[{7 ,}5Z"&'V)u7{Lwҋ=:d'գhvf&x>7 e@F.VCGeh"'v=][On/'v;1T4>q yJ.F2]ܜ[$8!RΜH٠§8G<峔" 0O(̉#͗ڔp辰_7?`g_X |nXsכ]F ܄q EWbPVS=I"[(#^OD=qe79[ =x)5ב񃢮p#AuMT+r1{S*(| %\|NתM6=o 7#ܐGoùuCPc nI7sBw _g>>׍$@1qs!FՌw(8n.\/=7"]b)&Jil,aL1Oc,ߠMv0h<2P.$HG6R匱S|یkhgHiEu+{ȁqc =]y3΄0k,{4ZYo>\ɍk݉1Ұ9Vw(q5o.NZL9›irʍ~7#x7mƲixƷ-?)} mH;AF+UB}jխ*cMf4_c7ͽh|94Qž%z䟛q*s@Lъ~A/Pt=5'F*ZEwSQ.[ABꕑ,1cM]A#[ <LE],o%?ϝX:8n͢ۼjNZߑI0ѝs5l۵Z1?؇G`k.lcbߪQ+'|{6n wW{Y5Wx̣Ώe1&+s/\ޑ̥wk z]tQJ]Yظ'6o4RWkA0ޠy4$vh6!q!(7u7(~kD-}xqmt4bh,E|MP:0&p|:0(,TaRLhe2BdvF`)c'{>04 onj)^-[vh"3S_Gׁ/ lԑo\{0RYjUaV_RĘG(LB7W!P#73c^M95z_~v}AMS}++Qk\$X#eCci;uuONqN_oĺB$79_?1Iu7g'VoR:r2gw2?J:Vn]In޲/TV.5;A(}ĐB ѥMWa9d͛Q5,En{G~ Ķj}m\8Ό193&p^"ܾc,\,deiF}ż=87h]=.&͠krу严1(kz˘{餙 町1),vH`ȿ&Ijh&lpUxÍ&`RJ:d5L]TL+ F:vJ✎'ד{I dѤ~lj!14e:#gK\,2*q/m4M/sGcxv<:u A.6O'P<2w&dȇY$ͩrL*LO9J>Cߣ˾o[򬩅[`;~r(' x5b\{))]4a+oȖAx5ĥF D}Զ1f9dxB FjAw\61'D^J=y~bWH5}㶍nMtz5b/满$?Ǧ1SSS߆qs&Bu,=Εz#B&*m=٧޶܌[Fv>0 MMU Gi#ʐ9I&͛W.=nuIxN&'E8 NY2nc0QEɳ5G‡ar pr"9|Ar*/+cx@`AfnyAo(*zCB(U訳N&/{x lDwcT6CL=F>x@akj+a/x-x9iPiBuzFR\Fh.Hя@>> uHBXNB5GIudSx˨K+PXU߹Y^9sX$ CUEȣ&H!{PK{֟ khHucZ]' Z\`4PKѾ7CuW?)wQ? m~~\=ՉlE I,oϤo !'%  -i"q5,!(H},Ř5Ԟs,3GAqoSeP6<};Yr66KTIJQgI9/9mJdʤ[*thbsT:1hNX&d&gɣ}xL!e3j7S3_jtk)DZ2OaK܈ gӭ~܀/u-%ϣSPRsF:-RMhjzǹ'K[^jSUh0r#uo*I|F_Qf1CzrV\\#D+'E<: 2,t@N%W b.RX78>M5ȍ܊8rM-%:Eq֬˱ڔ-]xcEk" <ݘ"T,BNՄ d@x4x7'5{z9U7Gxgb= Eg*L*Jfum"5%OZ?3um~^VWyoDJbxx7W0s7 7bz`iLYTOE&*$,Qe'n<ܿi׽ӳ7aņ+W=]LoJv+kL Z܊sHk$J钖{33(Vة:P1:9(6d;# g9un$OpsW&\lZ3~wLJYdf@V9U{xq#*^ mkݸkVE3+e.֤\enMt͵)rfսQ,Ytɍ.P"_"Q wS+9G!܎'"&ŦY\(Hg],_=ibw};(LFɰm)4B9xgz=A*f,tkIs&ᠰƬsuOd ަ )%+XnJieo\tA D/m0孅NX0+C6MZem˧ -sѰt1ˍAn *$Fb9턝)& Ez񄼴^| `˷ Srn]읍RRreׇ_1fN_d/yPA,'Qg1ۖϞ0ԑ0BOFjaѥPٓ_). P;ժ =lmBB9u5Lr!|td0?M#y֨vH(Br7xLI矈SLS/ޣ& ދ'x(7m3yY$yiqь;[=9a^Jr70U"0Z < p'ؚĉwX`n' ͇o\9c4ś9}Q3ԥDغhM4Io jet[Nn08Z=u5t%fQaػ^ -C̮s] Ë~g`%\}: zl#޽5‘vd۶]W5;s<2J˝lKqʻ\s+L>:_ft9Jw}Ӷpx]إ>Er;h+@ŚU7=ncjϐ`.'0SNy?V))0,0bxZK!^?J']x :% 2"\ 9 PDT\2!wˁbrkLC\[^6x]q'x[X {ϧ{?ObY/n=>+otH 8ou"- ٶݮU = 8p>48u aaAn8^2p00: ≯ CȢ% ,6Oاp Q#rs>d0,C2> REAEc(h|^(/r|i>eLK9N UAMGQhwNdr:U[׳[s>>Ip{{W&Xb(j;tJU޷p)Pbj6ccZE*y%O(, y5Q %MjA\גZ_o?M{ACͿu2a#p3䮦̬y{fB75[.bm }ݻ&iYvǀۅoЭBǭGޥ '|/d&Zh3n5Y8b[ǫ;2Y 5hA3J$a LF: EG\Pe;ʽ]7e :L@Ԁ >! aKO=Y}}k:uvhF[jrGAwf}kG\[S] t1rշJ>8C0H1 GC$c lqEж yՕ<&Nd?\Őߛ (-,C᪎0PqBҜguuLB8DB35ڻV!7"hPXǻ!]&3kF-81s fe R=Dw _=Fٯ$t9QX*3& p}!W5CczYD zԌ ¾, X\/Kږt)9y^<€?nm] FPԘ5 lA m _k'~J(ڳJ`<{?ƴ,1LU3<=ΕI>${Lfc &0^;>$:ĎNѱg~kkLt_X[nC <`w}92h91!5! D%epsX,3M :`y#Q-{(p6ν}|V k{A+ J=(v~7$eB=bz)I jj*Z~`7瞸'yG0Ƌ7Mt7[4jvs$Θ=Nc/ &'Oo0mcۘ'U)fPK`2٢ٟ{n7Ky'ċ6|BQօ,fuLg7:ds'lu'(C̋/kB%Z(jrm\V3Z9]ܗ~?#*ljnsXܼ4Vj|^8=! xt\JqLc51#"w߆RS@tZ`$?x 1q(_@y?XW67I7/ UΦ.8+{j\Ժ1TE5 K3 SXddοKnvw#AA ؟|(=!ʩf ځ^lč^4H Ɋ?@*iזعrUФ#L#-w`nEjO77?g6=ߵXjz"s45WeNO尿Jq~&~U>yOGBwz7J}5K=Όr:RѺW팾}Vf;OnU*F|N#Կ3knelemͶ:ҫ"_YSb]UX1j'5*윖&[ջ vo; vvxoь{lj(ޠ.?EI{*f>x^^~Z"+hʹneI1 Oϭv`6/;,m 8o&pjWgY;U@ ]Mмʳ_g%xؙk4G^m+wR}GZpXB^y=nTa-R@ B4),L&_YML77.)v5K em۽6{Kύz}wzYZ45ڂ_4V| ]MX:/V? r +vW'bmIU܎ 7.ܕJ|j%"Hn "տV5ނ($-y!zJ/oWd2 } $zw]M~+Dꯓ/#_%?$V9|93]&Z '~ X-+]a>M!퓷h6vާ { wa0#$߿ Rb0ocoh`o0?unO&!nVL-v8$ymPAg" $Hy:{V~-QxZ f4# t Rd  =/}<RO66=~%+{Lyu{Y/z"kcdTAO;-J"܋:Y97.3ib|39/=r)eqq=4{QG/j"B|J&$P1 0Q5i2ՈADoʿDd0{o,{PDѿ CKn%9BռRTb]rv9Y1O/TU`q<bf L^8Ggs);J#::; 4`G otO`[3KXBQ޴A=~RoaXLaX/Ip0+ᡳM6^5u.Ś ,E%Heݠnv[c=l'BN&Nh9dsL4#"$uw˄oAłT ۲ P3<F x/bg jB { h;o=t>*~]6I5 Qml8h.elZGH<89E֙\ ~e].+/>إ..PEԶK]2!%v(/X[ctnfV$.R ~3*9avN dG_κxh=vF?hF!aq {|nMuQ$OD߸z.X + ءR$w蓨xbqdiPcqA C;e ; k++cQc(B߸4œdBJNʳ7˄D.;$v=jPx/_]Rivc`iqV)~ ⧭v$Br<1bcl6]̅hC?ԙKoVNLEyq0CO |Zed@2jυ9RrXKʼn)s:C?+^i߿vaд_md#߁zAz{*zeQ֓q=z&l2O4D>jiõ䘠 ZmYQ:BU%FUL 5~yɳ-pޫNG$䯒-ض7Cr|Y1/5S$NY+{#%ZZ-rjaoYK ys.qotȔXmF N +O"o׉>h`| #4f>afhk,̯߶ב,:'%tk,^,*K!.^EyN?J|!GKY׿-7ʽ:Ѿ$cB J}?FT "cS,L.}=>77 9RcCsaߘEy$߽ۜ;Bϯ-nreW,*:2]&9})ѩL p%~[^xh~\%Қz"8CA%}A9%`55[c54Ukk>}p]BqtGғ_5*C{LJ dgy?mw+2}o]鯓XJU<_2_COgXqq+n0̣C n\hj64^&Ȅߟ m<"!/A AIj4U~+& tH6C鬩3rGF1_-ҌYl/kT]n;(ڡYl)%HAx?:=,uҹH!ù"1CW=@^W2{1#q?7UW"\;(^iFȄ=*Ih沘n|"8]փYKNi&Byf Ҥ*㩒~JRAZz6Ϋ|?CyZ2Uj%VTo-E7|-+8g 3+/TE&\yZ3!t©] ,oqY~Od}sRkQd hKs9!iYIz&٢>->^ %,!z.wGRV\s/pOdAHdq4HBwa32({<~dq ^N3IPjS#EWob;GMzS?k,ӧaZ0g OVcZK7wa^.C\܁7ћ`Um }{pyIYFݒ`9֏h=ne"ўY}"k< L3O Q:Qdo1o"}0{IŽ1eT-^ n:j S;N!gxtөk"bƿ!bf1>cl!Xj$k('UݷL=4qQj[pù¼s/PG D1k5ˣ >TG̩"5nȆo+A0jpfRMԂ9/k2&hi2т=DөZ0g}Cc !PokxMmw_v;$tZt?w ӂ:Q|wXc3%zRScE aL"  ]îGfAFD{3r^Q Y/?Qhڞ>猑I(r$Vnn/gCf)A>R/ )DOT7ʄ`5V6;Vfwx#!rL\7|nI8N/.޽\j45 |=6( JGZ>|TKEá8k\6um/~B"O7&XTku`a?zYȪh02R&f]cl8pw1(a$ ʗrmS1aaQ M>!,d ١cgXL.aze3zeJo܉-Ə?kh/Mn3RT }twJ}pt{sҘ8Ek\?8u8MB2nĩkʳDaCY gI}/c ]165A*{6df᣷hWud ڜ씛uUw&2=yO_jDi4= t&u^xH4ˢ]%+{+=@J[S2.)y&T: īyޠ6ÚMmc^ 2 -P'|PoV7KIMs^g[ڠ638_u 7ŘF2W̩Gou^!':w9lxYͻ9:j M 5;F5+4Ri߱NۅrCCa"jtvem57]1IYwYEzY6M߬ikj+LvDansuzi_k5m;uʯB&P hX[||yi;ś]RG˄32x@n}/m=5^uqU#j\U;h':޲$`[Y;!Z?A|Cx:"t";J{&qb>e #pNӌwz=ա 7Wdd۬;sPo–+" meeiGK. ?ݩIwyse&8WHY96qo'nЗZxpiB)Tǜ.޽2LM"|@]cNGf+ s!^{MV_4Z=k.rFxGXUv $WV$fxpf2h u(τƾi|6*>Ih8k[r#T+m|~f8VgqX0!i@|ӓW6,`=hzG9 bԻ%B /|^5L&|M|{껹c#F~wdqan{d+4@ ^Vc<]&cp5Vßa+{&־ͻnh%2z8C=gŞa4܇EqQw,ln!KHȄOtGڹsdKlVt63`jxCu8vqT+!g}N7 }߮I]JQ9E-Ko5 %=lA' ieK8Bv0aX t0\'zLB4Fgnѹ:-pUmfPcntN)mzzX@F^IWLr{@QtBw {a2 U7"]];prw洖ْK:=,CWR{GlJ^v+RK٭1bc`.bkLB!˄iAf  %x"!R[JtYxDÁF!-=<~{J MkK ׎Vou-&d4Iw#&3$N&0|"ɟ-a8bQ;l'vI ]K =+EE*^juL!lAXѹ!6-ϣWUgv[@!vz+ʺSd}m0jNH3eBC@%2!'NBʑIhխwÅǸN\ⅪkX.Qf@p(y`AS 5݇[%O"DBH$d+)|ȩ3Jr\}tlm_Ur ̭E0w D?C) _p{j0C{a Sڱ>@Htdlo/Nd7RcY>2.- ,jjE˒_ѻsa&RmqaIݮz;#ظ6 h ks ,g #ċT'1+Ӏ˖$ i0wE#iS7o2ȃI n(x@ǚ 44uu+A&;MT"ĽQN޸ns ?=6!KI]-6hXuDW+?V>=ܣI<[@vm]_8dG!LOYdbh3v#2W dֈU @n: l&ps}bP(>>j3 _?ل >)[#b^˿8 ؏1E.2;χhzj:Qd*(4h>?c,Vp@@ R$d>j1ќjA=U@rHВ- "5[&kP%F'} ;ڳ tԙ8EX(qٗAeN8ˁX%w }(&_ +ck8ȄMq&~/{v=oǞ3X۲pZpU站P0zVSEj←%`jWySDķK,v_X,Z&ĞEHO[_I.b; np-.@+@žwkbmUK -T+8b_q?@+>crAYDAx7E,(tcv>Y˵va%h:`QBX&!15B\pMg97Y^6,d*íJ&|_W׍?V 4zLBCE_ZεGmp<nI1+iL~U`-u{=#AV, +kÁz@?*>8K5_c:]1Qj2MW=Ufh }5UYVaoIheFxCY` Fϒ w-)S ^"!o8`jqP6}8@/1B"X6,}3e[ATܚRЃ[h5ʿ0ƫda^*.&^H xZ^#^J a/`/ho`)Z=c7CϾ<{=#Q])ߺ XW]WC/k&<)k_ftzPYcFWVFz<Ź鶱aA>xf2ySSf &Q3)+hQ|Cn{D4mXLfJNSsy\gnWo5ft-Ǝ̔X|,65_ڙEڙ>ja$5[]͒8~\["CdzWz˄_U=Zpܣc| rfmک8}BK!Z(s :X_ӻӪLš`nBk_ã:h^S/ ]bw7' !_JVƖ7אvS>2  Mgع'QiRw+ qs1OR^w|@^UT@ՀԸX!C t ~)+ 4&~\_R{'+:?ER3NIǻ#{$T(NB&xCؒ TH*Cl k=6pN!K9'V.Ӓ ɫx!xB_Y9<`ܚm KFI( ]2`gD»aD ls25@'łIrğog rx_ꪧ5 .2ˊbdObǓW$tE<[OJdiyY;vhY-25}xA15H{Ʉ;Aqcze<>gV˭r)Wi,OYj[VZ n̔:0^}LBVƑ֘Qc$wj$BJ`jHq 3*3]&{sxe L>"O܇(!|h~Hg1Y-?`fN%C ޸I~gOxkz ee2ޛbh5s0 n.nQ ޏcE{w߼͍.HjF`>̱<8B}rLBO KeŸ㭑Nib;@ &TH. }7Mlz>ŃX4BS@Q”rrv{~6/^mQh ]D3v` lzkfX1XpUoOg4~/!уhL&OWx^ Z>'8ѯ|':|nuy0b7k&ُhΒ._/Y!.#TϯP1r*\Ke*Y%cQHqOp V)LbaIe>/1ݾ5B(4 }x&b{\! ?Gl')D ;L*yBc5\h_ɷV*&`@J-p 8Ac5ƋUe6";G*Fpt{? o /TWJ:Z_~=ߵp1f& s_MZMM:5;|_lq/Z` {[ݘwV5ߘ96@p@E2O|J)X<zny)xVͥ8}=)cܫ: s+_mk{/8)"Ք\_`)0LHi,$!w1&J6"t8+Z1N_[lϊX\%<+_1UAri qwO>0MTicAr襕=@1/YGdf5v> ܼ V+VK;Se pG7#@7clϵpNN%)Kt ;魥]v%NBq(y &ٴr֌OFr WzDn2 ʄwlA-6I7V}J?/ֆ3Jdȍl zrLBͰ^ܤ):':ʫ ˱עMG=]&|49)d+kp@臝a+yC <)Rfv,VӼ9ivh#L٭+?K{۟@dXg{0qWV7buz7$L $)PRB/9NXW_dHR 4{ҪwpGXLxZPq1b-_!|X jz_7w/t0d+:hlbY.^ryhBȄ/ϒ, nT:_s6,N4ށ9vV h.vjh7n) 0hc?67! *qঃۚXE^vh;{՟0;-K.H6x ~w d]WU{lۧlw HxY&# ,^;tx2G5 EH&!;Lܼ>atIh&Ԑ*"K7#7;;FV\]Ξ-/:~KKu4~@tܘ*U%;.s--V'6Zy^1K81E&|6W`,ՑW6g;cD!qNk'D{Ӏ+,WX\9; 1D6~=0`"{8`pǾ6j۠0Ӫ3qm"hp^* =Pdn .+c|,;#D u[~]>5I\wiFeg0hZwȲĞۢa+ 5P9H4^iVzQ#A3nvLoY*|&ׁvlw^FuF(BrFw@Ĩbm`]ˤfwDoqVȾ2jx!;Is VME +eF&W^&D6Ma; !,Bo|e$}ޣȾ|K얏ĭ"F<"ިZ5t|"y %h-l!Xmj6HEz ;fㆮ7+*=8uQ蹷4t5h.;B'++Eu9 Ռu%]g#ԌfcVכ\ŀ{}J"D񯂲I[AAMMrsU!?\`ʥDOv׏N;DLjBB#%Bʺ^eɓGiPSn/ynaľւuM'#(ȪZ "W i@3eR)VL0]~ݢ?^<*a,5tR%Eu [.1:3feVxͭ2up+] v jw5j5.Ն>䜫*Ҍ!5E1>MBI-<ԷoՂ93ϛŮO); 望R}}t=U&%%%ˮF7Schɍ!i0Jy] fRDƻR1' ۧ^H+5,.\!cW> 6TBka|57w ɤlLvkW37[,j׫XjAE&$ bM$mlT ;X,.?nXLhp$֕3g"zbh|Y00sdNPHX8.Fwe\ZdH%oMӴ;5uT2#PAYNo*>  kjKUe&P:'R&^A}'w6XC_HwE,;BXewm8"# 6nr&.{'ZrbTgaZ 9vNX2V _ẗ́x0'dVa~|gʤ9I:>x9s~*jgpR֙2}ua ]jWEjEj)ۋ ^p88'eR/z۞y1FAx6TP:'jLl BFԃfL Unsιf?o0M:tYz [dͼ ?}'>],LߴD|H(+Q5/KE뱷OfCdmB:u_hB RqݝuxVk_G+ GΏM7mm@7$Ȅ=㈠+ Y[m҂;ߍv&g,Iw$V d5L01Gn7+|=íҏW$I&=8o2Pe8ɸE@F ?#%Ȝ`N-ؓZ~<x=Q&#,8TƷqyt/ Џd_>&mn12R4 ;~3L<)P#?P kEOLq&Gu[NJyE8׾ 5v8A&!q92sZJU/^.+[~6wE,OnDi ss-% [k|~8y|۪Rl}m< ]q&apJ9qLBCż7?R!Y Uq[f~7V🷴p[V)ŒRP#gWi70~SüAǭ4_C/Pj֖fB>y FƊ yZ-miZ)Gk!zʶܫf_aC&{$B"5M,1j*_QМt#v*5ftTR<"xL]!m +Z x/*?>". \WF ʲSj9/x!ckfy`YhuҤ?h,덦6Hb$CtDAk@N-9|X&vXkCA,pYq/|MLB=?XINXeϧ%̎<1[,P nFpnK<Duu,l.taܫ垼*%pKFdwbco1x\Llfbn5\C{r j0' /H\H )"Jj* `mW{ 0Tkz&g@ ~DFqBk^n'J`Kiu[A*bsDlJQ{2d̓&NyNob6h-XSm2,Ȱx%z! ٓ(fBbS9GxG!aw]=X:=X" Įu0},?kl> kU8ز ՊA[+aÙ_&Hm%)}>~}}8B"Ls|? V F-A&3 [߉\+^h>I妩[&"u>__{Йb$J 'b9x}"k]U%C SFV0G-LW[@x:;! yv?1h u2d^uTO[5+ώS2!b+&f_"\*N;ܝ#ŧ%, BOJ2(v58ЏԥQ+5f25X/`󯒬ȱp˜RL 4K$4FHg5Yw7a^_7` u=Amj, hkck RVc.]Ad44c)jyCk5;c-G!ĵ̫Uo-ok4O`z%5oi來;@RѧXZ !/ b,c}vJ")qD cQYF`!_߅WJË5;v601q*$Kִ_8ׂd hpo@ Kۑޏ莙/>&nƏӬh<8{|YB+Ũ?75R~|Ȗ@. |gGF!v:5vK턉JaݱR>BI#YD[ g3l9@X5}કH V-PF]V)c3MiO( .u*>kO:^֮kǭ#8`*B^sB"7Kj$|֞;|r wXhx?>_'F𮟵[RDBXcoj_WyRdȤq u-:tsڊzilElaB݆"߭1@XJ; \{\բTDV G D҈@"ˆp2ɤP, Be~?^Tb 9->0w(ƼFHm &d#< z`V*)} 7/Җ U{­@btJJ3,(| =A{i_D't:YgP?³JT7}+}EaP 3/v(ra2}vFD[lI&ĪՎ E.W^/UjYh+ڪ ,5~wP]{Me-Kd%Y5k&rTCr9+J)N-ͰXp#ޏRćWsQEn^K EMrF9 ||appB^+HG{s;[ sOn&U+x xɫ0aȶ1JƜ/D~UqShvK2v i7Eh%;w|/lD d!}ܬ{)sڧ-+XZJ霰>ƬTt:Qd}tɯ sz+HM.Nusl)w©h 1T,m=k$I oQ68 i6#Q54J4;ď}*) KexO mI b?;O! ߰4QR3k茗 ~JۡP:K_F_v ͼ0$d@nuo&%G5rL9FGt&?%H&GI8X>%Kr亂$rm(&nL0 ޗ|{%v[ `0?4n?A?~SO]SݠV7ڃ^Dp}_7yJ}^<_\~EvP:S}A?)ʿ @#֌vhB-_UcI5V$6XhD,S=ErHKHCoӡ=I0Jh 3E"* KoEW41)`wK s+?[WeLQzxf`Ƥ2&5yLnR0v. ?B$TxF-{B36cOW_T7t/ /noINF7WH*/,RmAnnjiZv;0[O盭W]e#O.ڷ(~%(k-Z5@>]s^E" t.Y&X_a'՚>Bn=G-%,mH^mBxaNVg޿mǷptƍvt$AORחzޏO.Wnc6q_c_?y0N!3، #h XnX| MC$uL|ۉHM\46-k_aFEgҮEΪǎZv{\q+Io ]*>M܎Ya<n'd? ^戤`EȆi:xT]{ìOz9QWVCÐN4S@#u)WG}Z͍h}}wU 0Ug a>+l,$ $=ɝp]7N:bCa쟟Y O s70> 4v>y,o pO\Qakl.6^btYiR7ΛUn҆Ii! (4'RP҄1_ip| ܦNv ױ={|^IK'?؋n& 6cF2Lp HIoFN1^C&0&y_?O4{Hƌ /pV:R;|pkK+)R"(B]VRę HR{Mñw٘6f(EnX3u-}676qjz,4=-]Ї=3^nsOf;G]xW =ׄu" =n8Э z7vg7Pq:)/%JR6V6}=G0"˼71HX!.x$]]*Zڄ1~f_Hl6b wo$:dZ=BȾr ]\]} @upFa7$ў&ƊFb{a0n|t^Z[R~_]5$.Lk MEۛr—kaIRqͺ70:WCV|sh dG0RiרZa+k-01:iq&\|`y U; >K|TSw#cpD]ԑVX,Ǿ8yGI' ݜLP/Ba;w%F4wTU9.iwIU=wy1~qM{i$}?">V|+ӗ 9L:&IJU@? 얜T~09a(* K&ndM,6[=ڒ)y7ֲҬ)PWR8{Z&#kR1PѯۛhKT~,]-aӖ,V͐kr{(W?'F "Rm͢{Is2ɜ42˜&B 9Cf3ns B -cwgI8s!}%4ʒ@xQ}c|+~A$A psěk')ik 4Lk s; X Q ]HP3pS0s* e"GKKD_{t?6NR\}A.GLҦ?;1C:+X*5%!TcɈTW]C1.MҪ*q{2@.È<\mҪ#w0q[W d8~cFLXkL^}jW8w>mcT$\%_vT b 6dx]j>ażS:;K+X.[ BD tc.˴nD\76*e‹OPkl-#1T;a/G^:9 \;KLECUKiZbvb$\DvFZFv~GwHBo_Д4¶%3s>ge?"7/{TWH!ьWI>呔9?"zq##"mV(}jQf']!.-fInkX^a(NݹERb{(1U[j&8yFhd/[ 2'B΀^e <||4~!F8+w2O$\n4D,XrRP⽖\"apG5+&HΊ1;)vJ&SZ!Uk X`'4} ڏ_dJscRuKNBU_+] 31(JGrĺ9y5oxB4~!x{jy&=oci/{g\|xh/y'cޙ~!`{?uJ#ho:>'!qa&_iR`W k17Gfg+TZM!|=É~{S~X6\>ZpGQU?&Nܯ>aߊkf;c/~%NG~Ԑ *̌D^Zi"'UmoF[יI× W{<4HG#֙_dܢ?BW@@_+$@KmFwݻΨv+ݺMBW_]1k=K5N,pz̫Uz >f}ಿvCoͺB%Kȃﵓ VH}1_/k>}*P|\4] ߻[ls_q}O*%ۻ󚥠]wU`a߅eTԦ_tS(ZV0*J*7Hswp ;m1)22ZgP~| Z؃/ɪ Y3q3\CY3T#+bTz9bzOV+FDҪTxiYl1 X^>і$3G5Yeo-)QZu/G'$8C#ذ_*Fb'fM+Vy].2ҬDJ$]-xgKa-H7VlnM:Ƹv̼Σji&ڭX\pP Z-`jDV(I̼04o^|Tļ~a6k>pImzJ##FJPWB# P%+HQV?a`'wK aKHJA8rb#Qճ\xEUcSSƶWSK_QU'VU?mKyj-Ap:dϔhߡhL{W^6p%"_)2%eQ9c4Ŋqmb/woשᘶL)tz|w_/DVwi4cZu#'{/9\oPz-絋qp!Ώb b=^!(gI?x"?rD"5 $@08b)ٹC0V,q3quZZM\i5.CT*rSnAkK*S6)c@މg=xW/W$S>{_FBAКd|ksnDKKGд-bn᮶)bSmm2>Ny꺅o-P%0W;l oEma>H5!x^VA}>ܑǣ0m1B9 ,ݺ6jUfK{T)wi /4CWϰS[t IDU[l11G{, d;GV|v6{ZZSƖڣ_#Nīݑ!Ng_Hhjc)%fWi>j0EdX v !'G{^9Ǖ-%=*$|2Gu7dyy2\Z>3ӇnK4c\B˲m)w7H%H_˴>cRzViWi[D*2WE pV2{.?0՜w\awi>0Pto^kjh M?H6<;R@0[eof̋WOpO5G_ߡal8IkRYv#h\t+_q_4j)G{}I{;ŋDl EJ4aq昰7/N?bon_aoF7$Fµʦ`GmPp|K"`d~i.wajF}Ba VGAE(?BWF[K~R@ؽ91LR 7);Q`A X8dP$J! Ks w7c ~T]i r"[@O^ĭx&\)]V~<ţ]B^\a1ӋMdolQۋ0>wAM6l W_HƊ*Pr?d\홅Z,@} S00,~90K Yiz)2z}_putlAq- /*wWGg2rSAhovCj~q!p~Uu_߶J ׊{WDUS]lϴr_T{`E?Xp7+(sMtn(R?674W]MUt"ҤbUge:>h9<^ (ySBjB 32;(,ݵҨe#I.b_((w@&J:NQi  <JN݁H=_XQ7qI;]( fD{  E%j 5ƗPooDVv*!̏p:|*jssAdy掉6򠍍ʞsBxW(tnZWUXFm=p?f~iړyC*M<9Wmz-^J?؂vBZo)-b2iq+a.)2{gX9dž";EfX@vM߇ڷxW_9ǣ˜wEdr)ͦӡ]afZ2 >rH+PMq[at ,jIoL[+CIm) =zE8/'_xsQl\{.|n~#؛uaA  䓙(=HЪU;%R6$7vTX$wY k3"g7])"4U;b"byj ;O*}"=@Pay ²@zn{ZՊ қU(CvZ=&v֪oÏU {Zu{GhhhG+T La(bٹuVkj-Ku+)ժ[: GA<>:c^ڡ pQ4 ZȀ5mΛA O/?: \M:c3]j/8 &h^㑉u4jI18hTϼ:fyv᪫ݰV)QJU'̿'f7sU)Naٹ+8}8+i %hZ>^P+*=Jȴ9reJ_:?>N >!x}еaӚfM T 3Ξ Y!Hvy| Q:xhgh+z+#լOh6gLHF#Yf8]Vuq~o2gR9}AӺc鍉tg6C7cC7qP2 ڭJ'~"`nJcO_Jn3^+DiĖvL#GļޣyU[{SnP8Q:M?sOi|-M sPZ.[Y2ZMg^&'V5QU+[iս쓵G(< k>?#ܬ}Q~_3+bwBEB =kc۝(X|636ȚW|u24B%1cLU嚨P].!?DҽIҪPVݜSO}0 $=CuyRP5 :bLuꊾƘ/FuE<1T}UWtDlh_ +: U]/>H#%t/YuE_(}UWa 6]zMw:uRuEz1t}>n[z[yڭ۫=>Z*EEaXS\RfI>۵[] MX3g)VcT(Pyك³Σ2R da4Wadk]L`ŅVux 1uLDahPJ ܥw`i_d|#~lR(߭0ws2>ߦ1nߢx82d_~@)(Yic~.7OgZƦ+6jcȼ %іD>$.g|Zl%f1;[{il/-TH=OGa|'uDR?0>cjHWɃ"7UWmLkxŭĽD>5SK49'<ĚV}0͘͘bI W"8pA4c0"ƶRh?5Ȥ$ =S^ԳTq T|*ڋ&Jhr# rmz-EP1Xܞ;x.}Oadd L{kHjGx֤NJIYo K,bhdM NJB M$Va$S_zLiL2}e3,3$>qd> #ׁdb T-2HeiOaC4$ޒ(DqvO!Ky?d,YeAH݅aQ LBS AiD+qss3 èiJݮ&v0G>U s3{{"vz_Q<c{PJ'ȅ &E]Į31K 9MzI>E45/ @0;j̺yuZ!y"V (Lğ@xB;CH̀ᑼMۭnBVB 3i婮܋3j svlU?3 [4o,[v3wecQ%RUK}RF&Zjr'J3,MI`XU/cOS'gX,NKmMjݼ8ZAϒ]jD %1:ނɮ- O6f˹W#$[,7[$XnS uRk RG8dpq=}$~Ż 㽉߸ C"8~F~Ǒ)$Suݜkb)6]yߔZ. ig6}s ݊0lj4]&`ꆻv w8V9#F^\ݡ0w: lس2Xàgkе#IG,Y ynO$"zqFDA~z :+~*KNJ_dİ3LKx٧ַ݅E1Ҿ-oGShϋszwQ56q|H4?"nVzX??K:NȚ @rWYIzlz%!._d;cq+]DBw6 ${z ҚA͹Yܯo(wټ:Ь 8v ͍{"Uh/u+# o#qHeտD[nK- D9z D|K<]G]_BOq [k q> G…&mAgj/:a.„bfcE8Jgٜ$a']?яU]aD89.¿o,o;N\c$,R>Rowb}UTg(fJʺR\Q\vycA>g\QrS U*>H|7) hT}-9\e>3CRP1{kn)&o/6 яItIov/-;>B*Mg$KU{o u;Rd?^ F%kKANbGd# ?{>?#/0HWCbdIT]$e8W>ѹ<֔1/V֢Vڃ_?HEg!O`:7*GxFQEsAڟt#T{p FPl&55Fay c>D^K5G8԰SyPcz}ڎ kJeDP21Yea!,hB7u PӠ^RK_#1\*a %UJ.گ9A[1OW-JvqذP{u5{¼6Q)FyzI2eN}#euy [B:p+˜auV: (#PYbSd-uBV! o+oЍ(,KZ/ 87=Du8WU*+GimERrl x75¦D}wyٺ{~T5Aai2 %hӯН5[_ gSXQ\ev_*Gs8mR\"+rB[(aҾTbܿ4e̷$Hy4 j4`B/ȉl(;;l9Hrʌ(we?^ < \L=؎BNi͒Puі:rB\TWunG%7`rHUyUe$T]=6=}ܷoΜkc0S^sD!Ϩ;Ca$[8+sѠ?A/(@8l(5/$oP;؇4.u}2LWl1i\ujq9Ū vj3lq"cWbKBQJ3)*,yo5 T8F Ei䋺l_q*Ԝ:b6Wk /$=CdWzu9̄ WT jm K-9~~UUȪllw%)Z(WNW=u%塅_4c{p$7mn6}gA`'³c狉^1hX QQ+g:x@\(ƌTsƖg:-;_81NSt$ch@zO-[n`O5JF ^ldOǗ~)OEşT0Or~m8~_[!!wlWl S?/ae5މp6iP_p9"z1VN߭T֓dj<=%BlvșrmyO'"T#+ont|ha#oڂ#\"e$Go2(,ZVR\67HfWmJ[R#OC#d#Uld~t1+,a&E}06 r,w޷{+ sgIxɄU$[V:*]Xh:3_կCZ!9~}#% Hd+0 c(m._ B7ŏpVцפ!S3=\v){*aۓ(^!BW ,z#vQ}^t64^{wn 5I=jM#ksp'NeV{9t5 aj>-~+Ώ/!>?Ri gq0ZUoΟ Z`}gC Ƚ;:saTI(da~΄ F5M?x/%;?eg 4b0gя2vRi?8U՟l=!d UK~~= G;~;бO~!/D1f.Ԭ =+|MTC4=?;.2`o2͈d P|'^2gbq=RӠWFccǧBxWLtB&=<@svyj(h,lhg GՎR{0[g^ȿL'nAkOÎ}c3s]QjPƟAKeKDupIW@JP|C)l~uD;ܯJeCQ akrKԯ 0XTE፱.bK|YY5ފ%Y4YoT*n\w29> /ݏח~`x0v",l»R0/슕jk\6l KR%SNO6K,|# @FT=N>hM7n-:B`3z_f(8Tp'9cE%؂ѓݬp ,;W +"W(]*DjH.ꕺ|ӡ[Q3 R;>&c3>p+uwΦ@jem`dɚ*YʠZ싾vQ?y&a{@H#ކt<4肳ґϿLNY0wo 0HGv o;!Xlf2;fO塧opd{hk_`QǢN~q="n -]X3X}5Pqa2I F^Ǵ;9;QH% =Bve|ߵԨ4QGWwC s0mA~B&{jc$@44#wGF1tSUda<@kTNT}&d2m OS^0 ěM00䪈f wꁺoWuVevLkekز_7b&uXW(2C6}U%? zbo޿7ԉApo0mLJF6^J@'oLkM/blVB|/+..QH29[) qv;42|`cBx/6X5;1kFk#HU#Ք]#u9B"{!E%# آZh'H[|ڗާ7Po@>)@dvc%Z2 ~˳(${[&:a 8R<`!"qW&D?3s# +'Ƞ-]FqkE4xhq^/Ow#%9P =D{=K< h^wta?#w/Н4y)FHav@pnA(om w0ro%@n׀ƴ Z,;M t(p7C?A?vt'y!QYSd0 Los¢8e?,Q: .|AaA }5SPc՘&瀈< i9|~?da ~7`>KPsAsYagZ[1xd_7"M?U+ߦ K"f'@?aQwE^hmB܌_w-T?rJqfd k/펪m:֕L0^T^dz}2/ '?EƖJؙv'rӶEG&]xnܠ[r#I^4p^0W H3ԯ1'ݯلA3ĝDP@-zcnم΃..un{TϤW/6t_f&(f#&GGlɘ T?,+KwVG'}ImNh3,n>bsͰ[G8+$lӯUS#}yjs 607dh.@d,0w@cTuy> d_=&z`ArG|I"xr_l 9ݑ!"hK.#L$"N -"Hp#l:Rm(uk-7(w'{'T=OUW@{vލ0і\Of$2{Uކ.}Љ4ϱ7ut4C jr sj=Cqz-h[ɘQt t7r[xq]a5hՁ kJs6LH[e,[ CvH Fn8+bȡ{Y^dxm}^diQ(tk&@%|_J3- l"yoއZz ZjAg*VZ !;\$aDЖ*6F7VL Յa06z?df s>Fki#i.TT s5p68SؚܷP;ACWs`SEk+Qyc5qMF2vVLrݝہ^MUj{*X >&}d"Rq7gq܄:Mf1*g+{ p'~/TUє@~+r__#||vBq=zo|~gZ@&hkn.Zu9ZuWs5t3HQ#=e3q1Ka{dao&CAN'||I>V?yT"4,`"{ѰHǺE޼!/7:EV4rnׯ5,n5,RPHE[5dwx"ߜiH["_<ڐJT"xq@t*uEYl.fYD PnG a\"=`I_n]O+ELfkכ">{; EC[<}adNu;>>յO졀VK3:*{BQ@D#v3jIHTiNʉ{~e϶)qmj#h{Pz^>z?[[(9x=2Kazs &\"&DbR>zÔ|T+^,l%[Z Oc h>g9_"S+kkh༻JMgr LafiD_ phQ !wߍ}mH u]wz*xy_so2W-ś\N;K_:ҷӃ&tBz 8:Z=EIa uvJγ0K(@/a&Nur+-\#v*Gsڭ{s:;BL.o}{)-nVzHICyx.]'Aab@kݭA(+gZ+G8s2b;x*<*̝)wm@pH'(Ƃ ~aM6tVٟv-2Fz| <*[а3wEѨW9VGIR'1l4ZFN9:'^.SSNGl)ss'?9n5 |9ne"Z9+")'ҼoM6~2֨!Z5+5cR5M_+g5 |i.- UfUcfyEt s@r]Z]iS%?y]c/7Q'}Jy/MeN-F>ȂFb}`d=4sL#U>sUQԱk弈}8ciÚdžXM՛ֲrXsIՎŪ1C7IQ a5Om4146C?gUa{GdZz͆c`$l kYr Mͣ{' Tv}6>i(δ]vB5Eӓg^"kko)GMVkG܃ގ^7IJbѿEkywS c%F l"،lX/ܑz% Rzͨeƾ <eX kɼw, qe<}dW#Oa;*Wv+'gK~4bZ¸Fu!|CL0@$BgG[MM 6>c>3/t*kT n U;ىzjڈ*o1>W5d Fx2P[SCumBtmj8zy{/e/25;lM5rl8A;B?/Fe~RS:C_0GVL%lNe*czzpݗONTdp!Pzj8%]U gܝM3R#T=2MO{k0&/[9҄oCmՕœO"VԹ ?x]،i2 wۄj$FeXvK{(J K[ <{8ܻI|xx~AA m;Z;;Ga4SFA\xԤU4iO9\E1R 4,A-Ք[(1d8TcDJ]"yM]YHp{`RTYk؂r^C\ L4X4*Ǽߑ3MYGɪTU裪&r바ޘY+zy*bv-7W aӑ)~M'0NMGl:hY+dW}e 6h-4ӐPwm K5+WգgXby\=ǣǓVH5(7R'K@ ?_A/!Y[Z# \JF'M3 ᨝Q+JM{x^Hz%ΰX<y)d0$ |]4$NuL ܎m_4u?4_Q<Է-?*HP6V.\]Tvy ګq fx(ա. hcF{-P@5J]t'*Q;;{Mq5@f:o|EFy߄"c&nTP/T`(]ԣ |!QN ]g Nn!PQSGiRZm˜3QQ7!釩!.w,wC :$1k=7iE'9}=@*>o‚ҡ.0خQ*I02XtPv{`‚A}7K䂉{ 9_kQ58F9C1dYx%?0P))o| e\ze;V*W?ؚYT%%)R}x őR]ևQqe:CKHRj-Twj0GIvə2IdY V+-=DNzWT UZb-|& V"˲?^xOܱ-:ADN8CN| -_ ?z(>74Ly.ݩظf^غ\vdk3a!B(kN^ $_ Ph><>qiHs iOէ]0Yab ;b.^4gEa%tt>08+qySQkֻm,_ງ@$8Cd Ǥ ( ]Ϸ^Fj$e%䏜C3ØNFٖHĐDZWhlsHЬkg4X@Y{S (e^bgSӧVk&(:ut-00|5z(Qfw]-i< LuDh~ ?-xqfgF3I[5XWS(>NtSњQhqY ? %A!c}/eMX!cxՎtk'an&J&멿(m]@tvx$NX νJxa>BZ^=G zs~,Ts±vLwjKRmzdwX ;]P0ДUYqĦkۼns늅;cN3ok&ym[ Ž?4Q2A<"kahc0!M}h\a6>lBYJ8ؖٛcٛС˱N ~ K$ׁOAҔ=y+2"KdJ#7Gˤ8f;V;zzl/-Hg[&9ᒘ9;%3ƙ\e e|%o] SZh\T ?gNϬ#(M {ZG}Cxo7sF+MkLޱB)V 0eGw6EcnĽJq ^L|tD`ӘgR;IS-}k\>{MuѥX%0@c&&~3)xn ];I@ tZolSrgq{‚C@S$y䬌Y)Y{^N].%EZKuY=y`ꝪM8Q7]8{B^;[v-N?:rrk Sqȏ(5MtۍRYe?oā~-0^;SPxzt3; 3&dڭgKǥ4w&QpEN~GC׋wwE/["l\$*\.$7h.!}`7Uj 2q~> |`u*Lx$Iq ,Aa|ӄ81-x\XYN F{x4GΫ\BMM>M1wm]Hٶ:!?{7;rPř"!嬈qgR/G),-ƯWZ[G&<G*U@~12[k8A)12VoY ]>"`#?b=Տu"B&ʕj$K ~BwDPH{ZPH>qo# ' /lͣan@7blþT>@#Ǣ9t;En_ ||9_SbXgd߈FW@G^!oYR$p8oщAAa}p+mi vx{C[w .{ŊѭP,$?sMf\p<.~}<*n ˗YNttv6E)5f6w4*!ys\t^8| ^azƧN -0 cB"8s%][*E&O#<#VpLNCS+e,J9Οek?pa X96*0Ba1z6o.q5{x(;c4֫9oF4֗#/L4T{FQB>@7! -02iHj.^ r. %΃K}bfRy/5EE⽥Q,[-9nQkV]} řFY7k|9^5| 5,q.f'Ϻ^Yӊ5T\oeP9bT_}asq.3J6/nƹfMY7JL^s< CL[q~W{EiܬSX6ڬ͚h嗢]vV _fX Ly>"0~M!vR; Dƹ=,,'w0N6^fOkJi=Tl6f2> C3Ϡj(mGf1/iKV s+_ W>ڊBD*?3BWt)eUsp>x4FMRtD{Kˣs'|7O4J5=-̱L3K쾵F2@eqa k4Iy}`y\bFqe)ՀjcPf k˽kF3ly$"ESXPVg*_ GhRJ߬Vj$i۰O^ SI`I02V*=@W}_%=@ 83<;OLOR&AL-' MKpI"o &sngZ#w{& WѶyFܟO6ڐѐl7W YBr (+NEMX<ą\bC䁲'kN22/<ҳDk;6m1CGu)Zh8'x/1ŵ+_E|eĒ/Ȑ׬52q*1^Ӕz11uLke&cA$ \:OgkOK7}}CD}b{&?7ѲFiUcemv]C7a!ki5q70U!cuJCBDf*֒:ͺA;#a-73KːJQ{9oPH{K}+rY#mU"blrp#Q>T0F] xӘw(v&qhAt܎l.k>u2_; S|mc~_S0Xa}5?&.83nSTa̘32j7cvi8.q\Uӯ=(b{[.Z@ ;y*r?&\.\~: pj"B]W|s&*oy ]+|RXZ/٘|Nm);|;wvx+cuCMPckV6sV˱.Y.ÖQyHPfFg j5ӫoÄ[/i#f0j? gY:9|uQ0c}ƒ0亼CsMvy/?[F]5{h{ F-0Vv0ӨKկ3a׺n|kFcϙ]6.y6T}$hz-06N=rE!ltt]H1Ҽ64*Þ>FZ1w#@Y9EzFo!{U.|e R,M^ ڒ}=Qnv!w::){"}~5nn1ϩ&1Xc{*ap!e*2?@VeB)ӿSg5[>ʶR~ZAqY~Z,Y%|͍IF%2=i(JzQp=5f'EȨ}vbf0QY_\w;[QQDPHAcg̯ʚs'gM'7+k)w~Y .Κ tD03dL%!%"}*^~1~OvԧA *SUZXf|yF~>^p7qL[Zz1<PWʚs/n/kb3dEe0ҕel'ЦyiVRq&c53em0+mΔ[DWjSqAJZ}nL1h$BXJX?} Kli%6 3_Y[-0>bCꟓ\A_.yF8U 7ʫAX$͹Ϳӗ ;0RMԊ-0RhW08>7Fz/R*#U*dkBTJ. gW܆nks~aC5ȉ\JG7:rMImZ5G-{_)nsr:kJLcXH6`BM,97U",D- k9!DL=vB?W*,8vȚƧBsS/IecPnK4%ix{cۑla`9Ce$}cw0lz o;2Q6] cVi8;+HN`tҚXpTF}\ 4Pե ~O(w+qo}q-6c_Tqn cQAU'8Ru.<]џo`"gniA構Y!BP-ZZ.=AKUXN{1/ TxV$(<@~{j\s퉳 UCg$/ Sa< n)xBUfss_Inc5s8wqem]2,˼2ċU.m^%eMC|ψ*,8r~4@a|oHp%Q5 ~{Q$FuѠ| 8ltʮ]~1-uR*q ~B۝ >Kuܾ>@?3NBu]Gi} "[py+ї,b+>I->o iҐ7/!p R׾d\_baM nF/)ב3+ P@9@aa`ώݎܲFesp2Ok+Uf򩇢һѲW²_[ֈLoRѽh!Wp|Wr1`h_0>q?҄/p1i]dq1Շ#}% ~I0GL;K|y5?5c׌Mqΰ0Nde]‚Q7(h2'ZUsJP".@i (˅1Waq,@%zvGQ+D>b:迤m^T{ U-&\Ѱԙ; @m?I `g,*JzI.uΝFyOTxW1 UD9pTf&(L&!iI /f<>5v~$5 ~~ҒوJp/#V珣3?` `,2d[O/QVLm:?8kr"CAk뮨pY^R3U~X+^X&ݭ Dh~[a)?߃y*u{`,Ruօ Azy3q.Rk7pW׬Ek{+/UUmW' 6ϔ`V 'y8JjjB>te@׊NH׊vU3z+ 1rwK)ǦFƆJL͹>GmHӊص/?WԜVm_ܖ9G+:2#C d}i흑ݙV@8k?L,J,M-_)'|T QEa.mq‚=Ka|Lwf]0Fn#%m@Mм-hp 6>Q9"NJ֜f/*- -K9{/amc>o;O1dfz{(EFӯGirozUxw]>S]2 er6"--_blX^=$ }c< 5 tîQ߱JL6ء֒',ɳ>b Bp= qlTg]OM/KoZL|$5P d=P{PܸgPI?J=gKAnYr͚?_'l) S @4ƼTanKcLuoY&~(+L&Sh"hh$/q\d` ϟm4}} ZV@˩t>0C)cki7T-^%zJ xh)]Mتmf~Y7؁cbnY3U3 8f zy|*7ٵɗ8F\AUcqoWXPqL? ZҾt-0;wC`ne&jKmܗ>YѬpgPޱ'1wmϼ1ȪцnrEaL?B}ru/rÈkmRd4X&j1$@JF69=B|i E WP]QB 7 VN~Fu Lq֚BDT1K@w^9:cWؤkjRg-qCʋl:ki90>yK\5u\c:PUpzrhs kW<ݡi潎BY_aG~$c?]6&!~ >Lg a[Z~ 3c1)Jow?¬p,cX+kqZ~؛Tىeiy%Z,]Ĭb~+FH,4fY ZuKZX"G aIYͲ N=OSٱ=[b5|yhqHx<)˃9vb aɃ lrzYN%!RSx|jK'VKTVr3ݰ5#}Cx/eO'b @l,q!*43nGN52K8CѬU\o@mbah4Cmod,|uJ1{?0ϓ*˟3^bqs5;wFa5M>^2?i{$a*C婱GZ6XK4b@;\;t]a+eY%d*< kI̹켳-FHv~]uTӃ0Qsɟ>dnҟ>{6(l qLd?hasdk`-GL&!x.5ilXxCwSZhly$z+o6Zj|(6◞ɧ~&YMw XXM_L8Mq"v#-phBLꂕŪ6&˜0BYҞ]eDI|7Rc zoLN "4y>*N3v/M*ӡxgc5{m<oatWXWo0֚Tqd𕚕%#^nqwb%|aVHMjW7%;`Չ70#UX=gN(oiiLS{By3A!0)^'*]L`n'n;[<yvX!KKѐ|=]l=62L%OP&sٝ8%WAkB rìgbV g- g &W܍Bf] ^b ;IS|(gP@&ۀؔuB6QJSO,Ea|]3Bw+Z`yj%c]hm3K9mp!d~: UX~,w˳C KtuI9rVYҙ*ƃNk2~J6e ;OO``geзt),hDkC.Įh٤0ky1ژhDC/ꬰ=p"C*tPPj<84+g"\QGKGW1Wp?Ս(z&_WIai2fnbpR,'527]A7j^;eҩ^)TېP;j)JR`i!=Um^G~cl^H##Rm NMf_wYFFʛy5be^/IQD,m!&ɤrIA !+Pv’K|#Q^,:*~ ēL* |(( L2Hܦ*o]p@(RQ@w+7A.P4y]+so6fw:*,XE]4ОB'uռZᨣ:~nV{i%ƞ=ɨ!~[c65*p_;(,xFɻ`ހ4;0Y z e /:X#8qFom`OxuR̡@nw0nb)ZjEHӊvOomx;KY ԸU'o1)߶WX0vMc!deh Կ+,/֕WW4,C 8 K:/q-j9Bo@wjuG!'9I:'M;JU(<(P5b55`^`_0)n-1&Hq;KO7%Mu&bV|T.:r'1[7hOI6rx㘆Yy;h43$^#\Dn1oP=񇿐t ;*DeGVd1c|ke4(%%tjNQWkdfka4RT`FC`Q4Ț rO^&Y߱594cЊnOYWzNs]l/fw{Nj%w)܊OΝp(4KzvG3A7PԪDs4&ubv]PI0woՌ? ՜t<2FǑݎ<&pO}15>c=f" yuV}OVgH3m3ЬtŘmޟuMbfvViҌ)tOcMV'=IgzQv>I޳+ҟVGE<Maу/}kR+k"kc̨|P5}Q~]Uީ7zhC܄nd1f3T?\G? 0aeEiSV"u\_1ߏ?e:H4E5T i1" 0+ot?,n$ol e1Ty1,-vs -<`Df%kĤ0v?HLÌg$)Do4xQw΃9ZS|꛸vg),֮Ħ0^nk ݑc,=jċaiz,!yjĞ;YP)IE?cAжVt Ǩ=$[B9] eX5tbFlpDc!fYP-p%O`BQY5:F]'9X٨ruQ/oKry;9v0\1bySF5QA:ͣU)pcKy1ˤ<Ș=Ng rprd[;"nk\΀#̿7\3uZCs謰Cw{K:nxk^;h#cn!%+>$k4Co[Q74 AjfBuOaF]qN[Y_fO!^c ƒA =_ דZe3 ML ׊Ix~/i3Ⲉ@>aƹp mɅҦlqUJ2A, ,'m߮{vMZ~ ZqnD&ma|tv/߷ߛ`I5gεEJ|k&\ i201H/7gY3T'X=x%o!wcE1xwq;7Ů0Vo?#j$vc!,鰘aA_L>?kF]UŒ|=ۨ˼ٲ.4+x1J4>0yZ``Fo@vEzD_c{m‚ j1|Cp1$:8[a_Z ˇk"R^$bm(NJHk#]"i #{@ڍ/ #UZ m^!LdHO,Y:|-D4`G@~a HH;\&!cei9~K_W8r3dԷP Ѐ T}8fj[+l6h\`v5ڰ1pL4\ӗn@cwrRЛh'6Dƶ&nEPd)н/>?Tpc{^C jfX[ ,ۭ1Բz{pfb5I !/4Υ0NgW 3.:qZn3L5g"EUaR>ag1k߈qtq__D}`,xPj+7(a#= j斲LaŚL0]az;8 R2^۴̆N_yQ}l, xnW6 g 0!sc[8!)cBF,| `Z0a+ݘ(T<452|90.j?嫄&8qavղO o1+ 5O`)eaY#ۖaPOyQPSvi=׮g !*gc 6kTvN_j18욱#yEs*#_!;AFمo+Y'o`,lקM̤yjw;nH3-0&^YeMk38ֆ(c?`cR-_)$?͗S$4OEM;!ZB 0-n])\ g o+DĭX(`oX%Hj{4s,)D.֬Ose6Ĭ^Y۠Ed|te,[K /M$WS լ.k5ZC܀Mzt%U Vߓ+z_ѻ~2^;^zҺ~WXf'OENw6fY3k*/cY*c<}%:Ƃ^;c,nGHNacIhзS갦uyctLcR cPN0@Y(={>\Ou͏ۉ#? c{ 8Tu)z~Il Z(8cPlb Y+AIѕ ,@܎Yiֻ|r f7Tϑ4-vuBwjwٽXX$!c6*,ݑ- 0jhA:I[h7֮Ie>(9jVeF2Ң15ĮǶj871JR:cKaL/eO Vխ74Og1R,U&Az rUY!&Uju9jER]85m^n˼AKV,Dfk1Sxh[MGMx6~%i[i1\@K4(cgGwcYWQ9ߎ-լ1YQnrh> d qyL3~_7^3z'1ӈ񰟢aj=j K޽v+ci_N1|FFt,yF`kpCZcjLwQX? -0F.CSO$EU nSRnT_;1o!voa,HMLyniyE#| =>"W x-@- ; ^L3+5k^y(Kc }^f 2J)>$w Qv]r--IyB!,,~Q`[7ʰـ慟aYfߝbC}-rQ'1meIvuѓX9+sbW@3 N12 Xsy@i>AS.ː# Y索ziBOD(V{zۣ}ՔL+Oz!jQ,V_yb:VqjQaQQ6"Of6ˊ9~-]1%~1ב|akp]Wv̅;kp$+ (uŸ-0w,/1BƅJ K=gq9R` ,^bÌdAz >',JNd֍TĻ##~WbH(RQ],Cُ*T+ѲbΣUnGH^!=PɗPħmQ$LK?bmyaE3|TG&N ܂a b-(YߩZH!_O|cpEZ1{9Rf [kC[z> gZ~^@I5^syqJ3?}zDh'p'?pI,z>?F_dhoLjO" t+/9ﲗzz|O =Nb#r`. ᐄp!W+j(q0T_wi?#wa]jT->HJ+>c *ܤLƄ\τC:K9 O+_-EhwѬ146D?F]4GFiƆ%: {W%`}0{= v !&,V{(f[=O)ϼUnG4V#(龟#Mi7+~,ߡь '0l|3 {GZxh^.l|; ƭOq-jlib8%@j-Vxӌ Mе?@侍W;;ayJ ?L+@#nkR7,ﳻj}9y}L| b,?1~ү ]f'li OfUͥ} i#+AЯ"wz)NwPRl$0K)AKRqd kq=3;cb qKXLcrphX ,LjGtL&~fmr3n\waTz;];cXKR$*"8及 *`~DAƂ e$q{yH X㹎Y^X ⱨ {!Hv^v=SikAcf5kO lt(-~qQy0-L _`/e47+VN3ca 3G}x=YУ+;GjƂ~ό7%{Ux^\#VdOPW fk63M)T@R-f _\*^>?J a-轹2l8u̇oVǿL2t<GAQ?HF^3Aߴ_k=֬C/\T~ۺo\ *>X!, &+Kj/1c 3j4.OZ.sr޼Eo5C+sc>2Z<ȿ2_ }aT`f./JFEG=Uz c@l>b%t@=H{}_MI-c|Jyc΅z^"H7reoUk.d)O[O#uպ{4-5J_x];={BxT_l*/+YViKw.iI8{n=v0o+_V+[d wHU=J =,3^Ļ}-<3re_wp$9̧*/"*kIl֐,&ɲ,CO_3Zb}ϩVyp~,0NqZeKbA1>x!۾(@Xsp$SHtge*Wat_8s_VrvRR r u6ŷ|)< q7 KCa"InN H2)\l\\QRvGTe\7UvbGa%oW%>Km-S9nv#O ?n _i:'*;hDc،W]{D_0ϴH`;䜤z $ZWt螔KD?_"n.h_%ۜiє}_7r@yg˜ugG \/3rߙ%Lտm+Ko.1sѭ7 kȳ#g?_j[ؚof>/xxR30W/:b7omGy=s)@xzCz"q‰-959نTȎ1 ZQD #;#=#lU%wg_W Y ~)!t6 =NOGx-1N?#0r FYx[ Sg^&Ok8cώaT5?I4Wٓx)Oy‘+ڏʺ ".:]'^={oc=?gcM,w/_I4jnlcs}{I?ԭB.I͘x*䩱4KwKA0QF.@L^D6nݸyH8~.{F6IЖn[7Cc~[#"mZGվX,%)ZY@0…h_zyB584 YPG*WU4bλCଗ"Wj*eR37H^3<50 #49R$=1JWUR=]oH{yU!ȷzQ#6+Wޕ_K#NjOV=u8`ñMCxsk8),By胹*Fas˯UGU#`ph*PyC(a֋3*Zu+!d !}w$\jwBdMW`Uj4D:I'Ro!\\]U[Aj[Ku F8]\ W6('b=UBU9y I4V!~Xy;4K9GՋon9U&kyٟUrw0:0X7UKFuA_;"g^/Hj͹zChdZ[Ɯzx[o%V/isWZur~*]AqTOY vFE5Wo2,ZV˩ìyӫB2PsJ,er)\FM_nͩK2S cmmgsHgW{[[uU7n Vu3 ͅccPonpb<` 7ra=2iECF#7y7F*${@lVunbh_epVEΫSytn#857J:3^7/~ vF.oBP= GPŃP}jR<*J ?XQF j .Ѻx <t!$~/A5r(Q]uE}s?swg~Fѡo0z|?/< ﵮ=}F?|``}\]2 o2| dC>T =h!FCn!F?{ kAF7=2svgH~F==aFk[V5|G[^QF:+a4=E<&Uv^dAF/dyb=8G`65zdtAFNrw~nĵYH;ӀԄ SSz<(嵌:r^y>#kZ[ty|6o0HU|lp SNyi#PcXl!76.Tf*kM~WS 8s&puTF39]{xְi Sz>5>u`M}RY29a52,%RI5yd̃Aj#zr2+2J\KǴd9zޒT9R< XjIHռ%Zpr0^)+?sɇGL.#iĦсyocDD!ױtΚVf$̤6~!bu6ݻZy(?ub紑Uy'z:5l-=5kH4;Be4zxFVM$uuRF'5V><VJˬ6ne⍥& *̘fjBKOS cJ5{MWBsDY1Ã)c8l[ Ԧ+m,2t@_Vj<=|jJM~l4ƳSiGz5+|g.h>fee)2jGԔ\b4#Ź()ϩ[%ʄ"f%e 2H! %VZ" I.RsNpۄQ8ut~<^g5H`k(^+a눗ʈ. ^C]lPpâԆp>-K#5fi6ny%Κbd $R,=++JEc)hf)i]3-o@Li_ѡ>ye"Sƴ"i1<%",@u72SXTMB1S\6e8ϼ)(gj( NOYԤ>I-C\eG/{*PBfɯ9ޕ0ȷ[fr2Ҽ)lEtm s捓rK/AVNL<,@\==.Vι 0 ը3K =$k3Lӭ-9-LeG>kL`Pҩ15 -E)b|0) II͊'9*fFK9 6x9tV!^i|q-( UWi UIjVل.leCp_=µNJ"ejcB;0ټ#e%SD>tj,gIO#xy 5@+FLʄn^W9Jds3Wӂie3EobZ+Z:k%eD"RF.N]N|*+x!x1XiSSM51J&xar `dD. qX:55ټliicC7HT{T. /aJ6xIF# 2x]wIŚҦM}BXjlt_WoQ\ټ0^gé1 []hF1!/xxV*-K, SWٌ2Ou=a*mZq3(f ]`L35;-H%rpphq*)#e)9cF͕?hn(cx6+0HZV3=Sn8Hy[VD-2ud%@ʈg S""*ͷs ভ1S EK6 7Ͱ2*gef$rk&B^:`T[xv ~8D7?I3yQqu*pYJYڕARVZUf. \w5t#A]Yi\ YyKOƙlނ&I#$L}O"xMԸfir֔A2O azBϝ'o;*|-muH4>f*6gI(a7蠟&i} a9%pZz05v`,[0Z~8Z"FVG={#0~h&Ϙj8=8HzY^ɼmJKyGj<\NQ49Jf%٥+Svq^úWڔ 6lz_h/ҊEeszRҦ8.7r: ldeodhY[p@!e]b5H|TW bm╃[j9tVTNO \ִv`%m&qce77M,XΨ{ޮ1宅8SN}:+3pU=޲WoEX"(l(9pd(Mv.7*N厤lY A] 82|J:J`JKo{)*o~軾o}Od:~tŅ p=ptJZB1x1bd>Җ9nf:<i'4w*)Dp}路yѫYc<[!pgxX(ZOpw(lL+N큕6+i~^v?jqUr=2;&DaCi^xD| j2\.E0~0>6ㅼ31Caq^Vޏ|^dpׇtpՋk~M͈JqoOcd`p}' ޤ ξP6 D93%GUxhƌ+lV;4px1.++{QЕAptVgw*DIKQ61X7Jvܯzwk qn CVJ)I?B:+e4Ӻ e3:↝~䙨O;3A 2L|{) V.f6uЄn:Y"m{Qu+@|dzM]xPvLp-1D@~*G(E*Ԗi`1z&NBߡV1穊-7yY2vwҳ4eJҶi97m*xp o"mmzficKlZĦ%6`M/KlZj֥6m[bӎRnrM_^ViŦ[ljimM-6mk)bSŦ-6]"ynk^Wj 6zMojScN[#ŦxM Zl纠Ŧ[l:ۦwun~eSϦuQ޻ަs̹{_D+wp1_atnerj")axpa?NOfxY|FVǪ w~O]a>N)s`\&յB?.n1#@"`jL&矗&3-VZVc2UY6n씮q'rfɩW0uz?=h\#KeձwMh]?0%TgЗ# =NeS u`˓fx_"[>";!'3bbh̪r+\>_!4qLWXgV9nផ;^O/#!#F:r>DsyoW@2<|^Ûzyv /䅫'_QΨ7Hn~עq+?wNP|?VqvV *>r4ݰ+/dAXUxgkfkhP>>,-^5轵ʙ\q1JvmԢ&>x}r,T{GzёXk>Z5+00!x_w{H AzVWkG$")BGY\׆P! ~'W`kK Ӭw~n$288 :`tdh[catD07m夛7q|?G\F#F.F8ĩX񼵟spY[c⏳$OFpF"o+P~ia"܂hF}gӉεNgϦlfM7}6}iM{t>}62/)>4wν6)ljgS>zٴvM7cӕl>^g>gQ{l=6}cտZAï{lZ3< c}6;`M}6>Ϧ}pM3bj71٘^EQwퟢV&WҶm0n[ut>K:a_Bkܚ^Hhe--79.TImݤϸ= )ɔapy -ߕQnޥb0bZЉ2,M3iJ>[&2LD\&]my[hi%*Z>V+K ˽=kZHWI_(O:.6C:jwNSzl.I߭{#N[NP>xBy$kktag7O.*ce!F6Fxo> l>!rF$o> `wp2Mb y4,;86K,CM~ S้qg/f# 46fhn m:Ғ֍5KV+zFV֜k ?BK(9BҺR9Śf2WN|v>S,Đb x(\Bx?sV~HyW o^5CHd3b"c#5-N3^){-D^>xIySCL7,k*s~]K %\5Fs8ϣZ\^25RQ|QJAQ6Ar\j*lv|-?,8%]u?~ڶл\Vꁔ|GǶ劼Jx*ܱmBlgN=)׃5rl.♻a/DR w }:'&q5/I-߱л:2rACp8*ޓ;7};ވf.cCִ63y0.kPNi޺ЊBqޑXw@TDGF7 [/[Z*mh-٣#6mP6Uz95^]T=p:8pk::$utq)p+%Nt 9ǡ}Gh_2rlzXz‚nȷfbpg^+o-"o}n蕷ux":&:O:ɧ]]}UXkyy[FaxQ\ƋᄰޜOx|!/p5uR1yȄ˨wn>ojFRƄ+Wˀ#uqU,DPJf>2Y6fy[RڌSg r]/1--~j%uC)sTg/ng ?G£<'&fOHc]qfYt9 us [gijEԘ0:gTNú%D oؑHզuO&a'~0P/I_4~bJ_4h_4p<8Jl(TW+wj0WJD^*s&#:tD%$:wiCqT/߹9*!]AV) 7F/WuR' M#dF]l M75bF35$6*Ө].OM]BHx<ٟW~8k9G 3z^PN=Z驥O8IkS$QFԴ]5Y}Pv@a\8B,gweJU-HΧRԕB{D 1- Q V#´Oɭn]3umY\DC־:TdU:kϩ"jS떂OVI +`j0zɚ4 #sgo-VuLiiuU9s*SESy(vbyvz`u*/ZjTC*vɊsU:+oV/q=S s *GP[N36k׊jA!"̤qg2oI3NάurpN)g`$tbk캴s=sJjTUk]:|khϷP~!H=Or1jJ%ȝgMw{]8~y窙V'sJ!c*CsNs"H\%g/gCg<.iV|6"=s.=e +fC%c B.3aii&}f\64O[b_3A0Ƅ\[,R:WAoMJ6 QZƴ2֦ŗmZMf7*GަobMnӶl:U?{i@uSz9w7mw:M-m!x>&"CjP_wST]~cDE##Qgx?TmsF{G. 8*I,G#c!e7_VVk㩸R%+;'kO|q4#<2M_TD*I^Wt/ѿoOZZK@E'] YL//MM->9WD{GV;5V&'&g |Uuc"eef>?,?s :u^|9uN>~'z"C#Nj=6pav7 뉬s|N<g6b Q$ ݣ~6zB.^O4f>uX,zٺ7ObH?F9*Jي=ꋰL宛/?;ò"W,S+u‘RR"86DG o*)2 yh(_fir!K\7b'teLUقaCjiߎH{'̄3ڴ;&x=*X<'5(Hxe~Y^;dnJ֖!ʙU@ kEC uF 5yϴq@=|ULJOyR 8ug^[-~#^op ?U_x+z㩿VTæVե֩0snc-΅}uNK$|,WU'igu8,}/y}A0紼>jG~惣c}&IOdM>O$:x/6 7xnsy]ˌkO0};̇忬#~^zg[RoqUu\ηޡ̓M7[I]n,%e))S Aj yڑS\l1uo/C=җ'qU"%*Vf9yݴyӳqO\%|eby1W[cfׄC T`~ݭU^g|pZB.n<(/6+WBiaٻ0i=#\j ?Z*z Τk̬˙ݡzR_x.]s#a|"Npss'hr,_?`9Z{Wq1Nxuws::8"~sG Cu:}$}?ڡkvG9&νѹ?9N>ct?rc)[pš/}WOj ZiU)~ cm`4(>Qcsf ]JIV;X>Ǫ8ӥK]-wao.O]_]=:Ϗ7J%TK%*荷̋J%R*Q?IX(*CT%ʑqZDףoRw yT.ե=kշKt5%@E_n$z^51 DtHtYQF"诚D&.z_zs:q~כn"y6DZѿIN;N$ZItZ'wp$犿 7׃Mkr.w JD{fT3=xzg}C6O~K8zL5x@L5Lh~G8Bw*zO{^]N|GܳIε p4>q[^bQ MMsOazV}LV]0NTO#"*Aoڝ N7 :OE_8p '7uiQ}Ӏc(ҫt`"x:0`zHkO}H|HӁ~H;Of;xEztੇԼ8v/m90Hc/vCtro.ҁ.3ˁ}H/G HO>Rt+pҁ"jE: <}H/`p"~qHV?X `E ݇48PCEZtvHK*R4|ȡ"%P:xcE NJt@"=v0E: ? x4l~HW?~H/SlVH?/Ryvv+ҞnEzQ#@/ԶxEJ>"X ݯJ.ҋ+HE:L^>tH7 "u&p"?8p>8p~y&p"v&p{͇tbp"&i.RqH;{+iWE|Hz=\gz;Ez"-X"-9mz" \"}lSily p៊t?i]"Y|XgQH]skKEfs=Fh`d 70:\F ֞ wsMn;8ѽ[=v.pE#62=xkb3k/hZcZ ~FO~Fϯ~Fku`w<^`xFӽ!FO'}[?h:`Ɍ֮8QnɌ]ܾ"݋QK(.ftvGS=(f#ڏ1Z8>gtMfOe8 (>uk@D~hz`u+[%GZZ=h7c7t3Zx+]عmϭdt^LFO0^(]Q0e?s-hF{2f#2k#pZF/nXk-80;xo}lcy@ыW1z<`_śmѶM7GG] xmSe&`esF 3m1zb!F=>(1\9hz!F Ì^.f p0ECÌ '!YC]7:]CF b^1Fo2ھ8y+6mcfO36 y)kO^Ec|tQ}| F5h00hp`fQ FG['F`t FO/N0z~82hv F FbkĀ'ĀFc$d ؚd3|:hW ؛d'

,33~p{Qdt[-k1mbtç:-9ŨmmۀN1JoFmk'ӌ?hviF6iF.ΙfB@ftiF]\=Kߙa@蹂 ?QEO`wW0vO2H|dENF/\ dEgw2jx|'[>hO?Ƌ蕌_ \u%g.JF/rx*Fgo{bWn|ݵg gg}ё0zk;pg{ %Fg_\5_Qk]s  /}7\K[a%2z`ZF͗[etk-Qߥ䵌] e(\K+etۥ2R2zR1zR?h c4']:=kF*t/he72.u}#ӗ߹e 71/^" Qj173JjڛҀb|t4u#j4 ѱcgw1]1`-їƀѫc@ϭoet|Poe[^Q2Fā;8pvFw0ڞ(ykw0=K? `F /2Zm_dDQEFݧ[ xK^Ё̨y8+ƁC_a}x+rw2fX'ǁ;7\t''NFϏ;͎;uw2Z4v'%d3}' Н]n>s&/ ]~9 |QsW-I݌gf- ݌Ikw3* I0zuxFH>Ĩ% =h8 4gHg4gtcx?2 0E3Z&fԖ}Q8[.0z `L=HAF ଃy% Ge? 0(W #dubԒC;1b7b4n;,C{1ڟ;,_fbZ!F9W^>hyx9`1Frc9,9r4OC%Vuj0!Z5XJKC(B&a0EKCe4x"9q޿8y\n{qw)%["]%`{JOSR4 >}OI$FIpmIFɖIrIFIy6%&CFId8}%pJ&CL /b2|Uw+ WR?|_J`$v x)6b)I?W2w ^)z%@Z%5S`D)VIl1H1tܠ$N٠dB1ܠlPݠdM1R6x#%u)slHɡ`GJOo>R0~HIϩp#%YSOf%ESA۬dT8yS!qUSJjBJJN!SJb $O6+əooVR0 6+)?mVR6 lVt7+GnQR; NܢqݢD=>Q8DIt%yᅭJM/*Y5[N׶)i3b>U8Jf@J΀+Y<Nڮd Hܮfڮ~ ܮd ]>nW;&oWm&nW<ۮ$g&<]ILX]ILx{v%Kg§ەT̈́]ە΄}ە J̈́PJJ ^Ib +I)>WRV|:B6࢝Jf;̂ov*6 ~٩|SɲYp.%fA]JfA.%gA.%1]JotRz;R2vطKIжAɊal5 Jo7(omRtP[IpwJSJ;%qPRx;%)wJrK+WS2NIy)|euRGI])ݣdO)ܻGɡR%qaJgCJRfÓ?(ɝ ?l6tQIlHQɦP?*IQIJ oN%?%s`RR2*%s5]9Pwo( ѥ`..sTt) ҹ.sal 0V~;.'t) 9RUwAQˎ.AѺ̓?֥bVM .1wC1tʏ7Aһ.wX]kӥ{Q28x]*u, '貧 ~>L%a>s>}.ᑓtY4~;EE.]uv˲{Sub^x.=Ln;]{3tY{/&Ye7ɺl'xH.)unKB.0.y ޺LX֥t!˪ uYGѥ~!tޅG}!Kldѥ[lK~|G .ep}_]VԾTUV}uQoe_ \K#@G]>]K#pu/ebUKb]˚].#7m ޤK(I%1AUK`]jf].A7/[o%Qxf]u7(R(tG`.Uu}ExfM%1I<Oѥ1-֥1xV]-2j)Lեp)KRȟ˦h.{B麴^K>/e ] <{gqX9Kui{.ݟХ PwRl-ե ȝ˾'`ܝ|ѥIKœ]4< ߭K2)ӥ2Lep|]ʖu^߫ Or]R?ܧKS}lz PO$< ?.%iB]r*tY4|]K`Tit.uOãi9.YGt)\h9^Kr.WtZ]钿VRVrp]KgJ]R!2xy]V^˾g`+L{2_eųӫynyMnAj]tY,XҾ}KR%ުKY%xtYU }ˡJ8j.d=>ӥy~˞!c.VBQ6/@7tz~K p]bV={t_o%uۣK*{]mR ~^U_gK] ~%Ex] ^~ХE]K0G]ve?EW`^]'KK.e}ԼReKP.q/í2U /R2t>aTV?u겢 S5U⟺lMX*O]ڿGKWĿtIyKQ@߿t Kx/]^C4ti*.=_.E.Be٫?Ke)Kkz!ů] { jgTZ !pfHQ5\R^ 7k,4Cu͐MfHC5|n`Hpr!izΉ5u(5ux&֐8C^^t!o@9Ĭ{R2x5eHj!KWC Z R2/6q5z6$ ې5UoCVe \ǐ5pWCM!o¯} )|5Mc&ܚcH[!ނO yy f>ڐaXCކm-LZi! \ obk!)@q!+ށEy-2d;Ȑw`W!߁@!mޅ .tdHһp$C‡ )xr'R.4ŐwaCޅS .TlH{TC ރS )yj`TC߃ S {NfȞiPL7$nHn aȴX2ÐE5s!U5o!;j!އ w>lx!y',{mH admH:l+3qǐBCV) Y** S7S-ߐZ~CCka YS W-2dO- ~Ȑ 0aC6@%,5nԐ Cr7—ORxҐʍ2Cl2$)C@ӆ}.7d Cv|3&4$\!6 s_3$C\mHuC|oaȎajCb>oeHGpۆ]kHGػm5m:C7C Y63z3,ZoHfCⷀ!Y[>2dِ-pfCn m6dxm!2cՐᮭՐO0}o3t!K??5d'pߧl% om7d+nҭиݐоސڭpn!;s ҩ̐:3C ):c!]mw4$e,i0d6+Cʷ;_R ~mH6! )~kHѧ0q!k?=} ÿ7Ч^C,0~;wۡA2ېz0R!2gnH`SА _ &OPϠ7(I~s( ʪ#R9t?:(_@q_@L/ؠ^ ʡ/ؠb J/6(Y;@%{lPvct)({wNAw6w J)(;9(9;anL ;t'<9(vRڝp)Aٱ.8%(vˆS .?%(`)A jO J.Q.A)/t J.KPR n;#(wAIH J9Awʎ/᪤tk7n0(s zf J]ʾwPbS%+7(=SJWp 2r5t ʄa~ _vCݥA 4(w7c2n7j756( A9JF?%(eT8(50֠44Cӂ·۴$| 93-<33(—%AoaAi yAl=0$weYvT6È$O%{8aAP  J0>q?A\%AG8Ѡo<aߣA#4(e?A J0٠QAYޭ ʖ ?؟ t Q?/eOyUPW׃2g({=(g^ʪA3^B5AI/ܰ&(žR_6(f.(}P.(yReo J/ߍA)l _+QP~S>ʨ_aA)6|_aAY+$~_κߠq[PR~5 AY -1(~%o?7( J~AYe~/(5}A ʾ跠$oA)>GJ?(+߃RsrJSp١UPROA)&AY; wHJI.(R8Uz?Db“g.g=- =G ;21ϴXjSnvMXu)8b3AMmS%'=GS@]IʓkV H\6Fa)vl(=/2vwx|^@3!Zl7MKxӴtM[B@9l9>0jwlnki%yWk iMwT^kc͹{Ͷe2ZlvN( QQm=ж, CZUv-8, #{גG# GgO7/|XI OwR%9^8y~@ucMj 1iZ#ZҜ#}-1MKHӭa1ʼ\#MK>s~U^Ⱥ' d js9ZBMz{ {04Ԓf7{2Z/ojhKA=ۼv>H-AZm`9.k}0ހ\<, n{n;PϤ1r9@KsTV%iIiZbz_j XoԝG(0bʝƎ8< M [K0i+cX=~-a@fy@l; D;b`jydLl_ VQG-nc9/(g?Y7ǯz=&wَ;]`: -a\[Pk6&=Sj7HKi26VM#dA@>Ls k 7Zmw,ȝab҄7EGBDzӝf7S5ڶbs%<#a|t~-wLYS}$@@NW}y̳׏t7}= > }GȾr><7H㎂dni Aʏ.rl-ΤEIꏂm((^ĨerO$y K\,r6pC|60䡀m osJ;ؗ޸ <|vkqdfx_ͱL<c[0 RZps.IGC#Y}yG÷DwR?k~yGmeAnGriϰi+{s5GC%y*'5P쒀6m:1=os>maגgDymaУo7Hh;b2ƘlmGLv FH3Bf"-y@w-|< GDڶ}yDoƦx<}(zE@>vO9Ksn t ?dM;ޥmviNv噀 ehLԲraZVjBGm;l@zu6&zsk?Q[{’rfy䴇ϟ&d\{\@1.zS7pne@930,ҢQoi{Ü"2Ca k ]Xc` :2]X1ׅ绰i.l1p [u sa5ǀtb.l1 ӏ/]X[]X7 ֻd V ^pa<Š5xЅip [LVDVXC1+#4rat.,;.,waxމi` +u.lYx߅UwW]ئ܅5tE.l+ ipLb\ܴdksHג7i~VXoXy,3-<+#ߚ(kyo#jIQ  HL©+kcn/NYKpv-\e' ζ>ORW:Q6V WxslNU *&?\q,dGٛUttKR4ԟe  |_{[᯦X:bNfgW8qj<4m'Cdha׶cc-z%Pi@:FWʧ6cꎇORkŗm|t$}ޖ}[ޛ'\6EV-y%Ԓ45;b=8;{3v}txwvKvm9y]eoh0Z,-+ChY!㵬!ZZV:ڽf4;|B<+;vd4(iB9-ŻŹf@}<ܸ+ yԁN{Ȥ՚=dw‰%xilH=0%̳->:}#d~<'O_|Rmjjڕ}h8-ȃl]mEm0J< & {Т!oU|~Qe21q|' {3<gp(}޺w'y f y\қ|I=O.?$CgzfZcvOԩ)JN/H/t飕'÷?rgמ h">^+Uvɐc@NRiOE}~iN-;Έl6q_#:[vtkDLe'k@^WLwyZ'׀5:Acf :0]gc!9NZk>Okt|;G qD>A:5wf |+w|SGX۲fc^nb6Fou r" -ɷ4l{SW4moJ>ےiΒS?cm6ǁLI3UdI t/B&oh8e -}S6ݖ^:E[(c?2>r@_?]ཿri}N sm&Z'[FMӒ뜟ZOo7kp.w_$@.Om/'Ψg/J[]sMfM3ַ p]fɿp݂N)r}qX`SwTR}g{.˶=Z\lV7ff޳S°m8W'*|h?22m |(7ZQΰT%'Eu[! k ]=JnNR}#<͵PI ZeZ &~s\UM6b|7sUa %AW-4ϗFK1[sU;.J6/zUb*C|ipO- #ln`OɶҊ문yw` SwהAnZm?hInX (Zs+9:Ρn0(1\`ݷ4kiɃ,SMҵl-*ׁ3pB%?`w6i+8mp>C" X)򰾣nu4F4ݩg@]ή BۆT6]s4ƪ(_E{9ZʶM7]v3cdZAV8@+嶘`3ᤎ*e?΄s:*G.LY_gUHW|X3ᬎ*g߽;&4 m;*ɴl{-і':vT{"ĸMMq??9-L\XI"E3i"=|;aZ)&ތSz}"lSؤwfſςAHnCYmg,,oroP+KmY~G[X4~]x΂;v.k[1y2OfIjYZ'0a'; bPUu@ʡVu'+E΁NJ'MK-r1;LKr߲Zl=[y7?t_g%8ӵ¨a=fQw8Хi&[)iϚ-ZV;: !°Sd+rYϹp)*h?sa۲smչpWԷ-[{.L9EIVȴ=ջZksE9;σs-k W󠛫ݨK尩 σڙ)֜#(t5{_c|<ܳ=QTw&pm%L .T8^7wSaݔۤ5v Qsϱ0tȧ.kOWoS)°ӕǚ{!d-7BH=])6o"#YVN_MeK]u .g(.Px kXLvS0s{gPl- эyr>{L!)s{@♶n\Wv.g8=|}YXOT2p঻֩'\r=}Z/2גnLT {JЊ+tg튞iׇ|yi6g)V]{]+!w=| "~-712⁷N~<[IWyEJZ)JowEtcE9lx?Gj|jbdPow⟽`@? ^> 껫p>I`Gw%S}b^\'n? qj78|5hgſzAJ>壪;aTʼnC K\X; ?EL-aL[K./+Q~1 :OmkfD2GFFJ]iEab(:O9_I#(9aտ=n-G;2 -PuoyΛzy.7i; '>rl|8[wܫ]ukh߯z9QIѫ {gpںV3rkaT(fgʦ Kf}aII}aW/UWrFhl.Vl[>X-t0&ٶο/kN=r_x6I'1)D&S׷SBcD\ߎJIQ{WEoKR5FE \ԏVd%'46MaJ^Y(GeMqS`crDƙ2*|BLK]k &%pNP';7N+V2n$ִJI?x )/^tKAb%ZTS8>-`;l,ZNvaC4=JGQZ!v}"QO%=ĽMmu]XNBz.af_ۧi:ihoB\]}v~%N_%ygӶW\GsC.)Mm44_o-\KO~w=TnSS9eoNdN%=lߑΔ FܢTXjZ~˝&]F8S F[n*4:*>KUrzܒ ҔDWߚAv)MͲ})` %4t[ZwMk 9. rUW _0kOМZ-߾vC`ӟ:g8ە{NVI9N\Z?Ļ:?wa{ra9;^0\XρPڃySV :O@xDžGa&-/VZlӻUJmρpD[<1զ;t45̀8L HLI΀5ffܴL>QClߞuZwg[CmMך{chsZu%m7e-m̀JG`UτCmߌ5ia-6 uəP'αvծPg̼*¬O2aP% ,p0%=io1Yp0Yq+GQYP'V߻,,j-&-WdAP%.MKm9ܐ.Cr]o6FPsa@;=\~a0AKՒkMѦfa6ʦapS5 yNLS≦\.ϩB 9\FB +̅.$2\cTB [ }\߮Ʌ\ؖ\Hrap ; g9Dp 4vuBW=JΎc#:y/M <7KW)N;:Rw/=M}vz3p) 5c/wiѥ3窼2ǫPx.#Q䪢ޯ.Ik*hόm>p ^0n{qk1x%k!ۡY@-7VKY%mӷhױ+_|zсZa FM~_ߨd!aH|o8`FyVc?IkK;_SO:1-GLVGonu=iJy}~2;24ۚhet%E}>˚řN=neLWeLg`̈jjr7S9xL*g:=/U3#+Sβ- -ɗ9%%J>!iIףW\gExk.f)EAը[yjf+ k iˤ+J[ky_Цej\mZVt6mVMK׊nr&&ϽJf4gDQŴThMW@%]BkOj쐿pŜHέ#lF(J9$.'[s|i]*4ϥχ< -uS⒕g羏rK!u^$׷{`$_1ޑwGj˽Kƶl+!,sˬŤ+2%q9b??Z{[\+{l:jykʴp-SKWJ&xטhգZ;*y]s߷w _oL 2F|枖_vސ=4lsOӵT߮WTDj]BI^̿*zǴ4,j8!gmpC?,M_^ 1)^k4dհ܉>e>|XøލMk:sNsJ,i\?'qthIcp%Q.Qiutf~~T>t/Wl4MKnmݧ:x1;>(xli$\{Kr}5zSr Tɩny\ɡmΩ2eNe7~mny-\y1˜k2Vt-\,b3XZL-o{5\ iO+BofD˝f,,ZoLz b9)cJfSN8t±3*`3kva}|Zy6Ww2"o o>;iZwb?N-y¬q[iCGh}x [k+]qp gtkAvต6u6wVVb9+ ႕NxxU6:M~W2:TRB7s֒z<\57+=FtW:H:6{9wVtIQ/24\axtL<:~3rm,hu[d!=;ӊx:`z_?\vy4}]W9\C K!݅ziC7V~=t\]Gx{zY/Dr9PK^ќS U[]WǺip*^iZ!Fap*߯[tˮI0!߱}R{ Cz3#X/)do/tfW9sHpa`yLyՖ oc pk![mk|8nSO06^6[c01w>,˗wڄ޿Qoo~K+$'Sg,,*y?S.zh{=\m'DNi{=~m'S;kl[O֬(3yF-V%fhISj ȃٿr |UIuK#m,nSDZ._oV[{\u"om;d!w6~,f"<𩝇T4TzD avg𨉐]9ފ6ë́pv[vX*noO[+r1_97nwNz%)QX"wNEZ96f%NLefJw3&5G.Bι NV +k1}W<$hܡDx,Ÿ;B<Ȼ%ki$xp X3L7U]?g`.G=qW>Ӧf˅h~&~;X"kj2{]m{]Dw~wikj xo|s9PgvŽJ~g,ѷcG|aeT3ÿ.ڇ xuܵMk.ɜ{,mXMkNʴZuKBD6QEC7{\B3]Hv5#`s׿սdhecQKdYs}XuG4t5ꀃ>,GqnO׍#h;Bwsdip{&eWDovdϣ+D9~&I=V^N(l/v[@Mu^u~ްa3 JwN {ZrZ_;hzH^Sot;ݽZ1(s}mbLAU&en\D$?C"voW:yrC2/wC}$N5eÍ-ڹjV|'֔_5uRQsy/@ va~L"[VgcoD7 (H'-Gv*5aKZDK=Y#R6KIc]҈Rz?)Vr(>?wSqk,QϦz]zyt(Q|Hc%:~lU zJ }w"^a/ey攨'[˂吮 ]4K(;IĎRtYFL6h^sYM]Rt')6)ƿkp=GTFVtIO[PDi8@*;IGŎI:Hvb1qR!#b1F:*vN]b'W*nq]t[!btRu]kz9zx.%}.;c-4K訯w] Z!<9D&Gk]BA JBWE:) nnT,[/Pfl>I{Y=1NP}iB4!\7KB42\V[eo]բ)DSI2lE,w"z)D˦3;]+<~q*Qr}T"EaTeNAxicyѻe?0ͭI.9[x.y~-H\/]O%ԅ\3SF/o%zECDG\,]_%z#s&/2/Q zr IԬtηI|]< `K!3¢d]r&Dgdu;vkuLopǵFIt3ƠĚMYD'.lИѹn2c\@E$w&vN:$l&FIg MqOPMYDjT4qyGg鬣t!,rٺ߳6w $DUDw Ίw"50}.MmZvB lMd7&*${&{M ٢lÃd˹$;`yoɖ3sm'䦕OD^Bx)#'\6>NWv>z\?ͭy}'䦯>OtfY"x5w4Ym_ z)Y 'i D~Jϑw7g;HwoQs }8Jܸ}NB"xuyQQhJaol?+IGNR(q9p5̒5ȎyO.utsHwk{Nܷ<1(9|u/%=gD:ަߛV_$5s/c{VEo8}oYy ]ۋDgrdv=R z'^$#9.cͽSs\Zy)2[fl/"[D9Ev)^"=Ef癍-kvI.tMhI)2c5HAyMKDNZ:!Z\.;ītCIWˎ'Rn K~eiˆWauq!N4u^&:@VXvTX]zztz'dz{M\ص}h.Qkm !9/rHgݤNˎrU]Z)=W_FVsʊ`C!~f[ZY~c4c}ѯNRxkW^ rKBt=^! (G=.{K^|胭δ*Yo[ܬ*MV's]t`]Z ߩ2 &Q#u>NWu#*M]jD/3vk8E7Wχ'c>ۭx? }u5;e#pV=.C.Y]`_@ n./ *qWs!ѿސ: #sf .!}M硅Dwc|^m-=}k2,$[V'ZEah-$GVVN.$:X&yH#3NtY<ޔM5(tB|SVx:}\Cg~{#jkG|ٝRbxḻ<2?Jtꀬl)v_okUC&Yƈl]+BHXGJ]؞fC}*duyZv*Wٙ(ikghaY=b_=nwYm:}Q#6E1!7=zJET։B1VZ"W5-_v+nh12ӽlZL Q^5hD'[k;m{OVh)Ha~~1Qef1Y%6~h>~h QzɕcVڷJOE؛vm禴Ry[Cf_,!wr+g}}KK{DOsU HDնף!VxuK+OXK ,a{5ˈֲ52?.#ԕxtˈz}"3=OJKi>֗-#ZI|]Ft٩AtˉB>rogB񙬞Xc/nrNˉri;Ypz#TyYЧ(g=&Tqu9ўodpcq>Q׈\heѹlbrMn/&w٩\ݘvKDe<>'Tu+ᄃ$w}[$+zs_JGLk L+\? [I,oYtB-W+(\訫h-\UDe~އV/7!j]*sP,%H㣤G7)^ݦUDTYxZa(!+rt:EH)uJ \Dj ;qG)4is¾zʖBOYt5DGZ|3U߫f njZWVmVw"᢫8gD DJ`:IkZQL7>~OX_((8bx+Z;QێR Sw4ه^C8J28gpe Q[Ūuf>S~u䡯Q6'ƅ׉(L_MH 6z踏<'[s1 wZlD|uDO*lPsϿN։4 jySr睔z WS[WTYMf?Ws #XuE=G*B8n^XP@41@1p'=oH97D5\K䨩ovkukTS.zrzkukYqw}[Z~.7:*-mR-3kټi.uD}nQYIqXl3*+i"9YMbMbYM:j.G]f6T6nA.XOHQ4'Zz#iٸ(E vž~Q.INYHoT+uYPZ܇6Q@w>>{=Xs{(B?s=l [ziї c?!\1ם9*joú D*Nނ6mWQo~bCG?f|H>EZ1?eH\awu[fs6BQU1{MP^<ÞH4R鷳/MD;[*[zvg7 QT7WfkE us&F_:GTo}&a ?;} -&Jyr 57E+}9翛+걛7W,s񛉖l&ZX7- W,vn&z5\Q[M{G7 WCd9M09~a3Qz4:YC~;b ѱΊ|P-D:[`6I[VtV,g8n!ZYqWkFR$g&m! Tftq iU?ۼΊTSníD"ЭDF*}[4+Q.EŭD(j B.wH?k= &vW+wuY9~(;WO<欆Os]+"4@_Ft0VQ^&Gy'>iQ ;SF`QFE}a_{[(1tv^*~+\F+n'󜱿9FD)sۉR+Ldv{S{fv+L{> |vĜcDRT?zFW]is;є!zO8Bh#1&s'tAtStI]P`SwMSԏcj/kڬJ}h1׷lYv/HS 0hц;Vg+j_Uö!ʵ;SHD]w$:8NQ ]O]q}k4ڻ۷hxEu]swENSb]zw.ih "nq*&ھ+?}QzSM79zn90@:눖;bpnY]D+Bo>WDWz ³GQ"S$?fڷK'\O*8m z1r:BsёCZa{l .5:Cjc?C{S!.wkj7Q6c*ŋ56Wo(T11Bgq4M[*{7Up+$om]yfDJ|:j.5'>]Y>4F4˧4'.iO4ק'w+!)Wxwnt^bqt~KTPE%U{au<#ZMq}DlS:*zXz#:]a:#]QWs #Jۡ8hmc>;>EV4J}z3T1X!|/-;uR/8BT,H[.Wy5ى$wu#;*` FQ λoT|GZo;#eӃIed?RaD 1g)#}R͙;]y[qB:KAyoOE]b,f"ĩ\O4!˼7/&8+V (LMU0LI#fn{kD)jUmޯM|L)ۥL-v՝S*~hmD_W,6/ !b_+ G9m@v}O-4Axϩ=3?9k{ULtq_DSggMŧwz@Q+w vGjObO*E7wپﴲ#E9WcExmsgex1Co=mRtL_~REͽ/swz~=}r1nQ9Em_a5@Jէ@O:WBw2)jo{sY>@omJ\DgzEu^_ W7$zsŤGQm>z Q/1S=H i8}ՃD04.>Ֆ&M~!y_bM?;DKE}]]"wWSr!e_)OcqgPNҝuXˇ]Rnkˣ֏59L4gE-tՏ3kWa"eEm_ݤAf ݥBiIb4έ&:br05E 6=Lb9O|0Q5E}}Fh5 J޾fK-J==YBMV8zJ'}Vv rb`Y QljDJ#޸r繓'~hbuIshLmc}劺X#};BtO#DrIc} :m)W :G+W6"b#ѶQjC^ovQZ@sn͡!P<4Gf{HTrD@9`^c Θ%Q\bM148snΘ>JԮV>rQj{%sRIƀGU.{ YӽnzLj)gw٬Yq1/BM TX#q:Meb??Z;=خܤӹ3#߮ܩ" kWЮ\mV_x͎fԛiC"Ŷ/W_q%vV$>ôvU#957Hw_n(XeI-Xk7v[؉,ϛU/ٜ-^_\ݵ*S_A^PUiA74u!}[' yn-7X^ y>C7X,/҅s=7X^{7㑷^[?o87+onއ67筼.<^aMσK yx~W&ҷ+;gl('ԣ@7 3</  >h  P5i/`k_0x x*O ' ~<ρ&Y?? ^| o |%,s\_)S ?q(QG> sτ0Oǃ+B9"O猷o<炷_ ޓdS?M=o|+o_h; x1.IW.||.K#y |> ~eo! >/1m|1w|! _ 1x +$K+߁o~_1?N3}සG?4_|<|Nd3'h > |sWĊB++2¿ N/e|5_('x27/ 5~3),K\| <ׁ[4xo>~ǂowGOqO>$o ෂOb3k>#<|;w Q>Gf ~oAy_Rot:k< oo^ I>' Yo_* YG G~~ ~ G xy-xxg G\B ;xr?Ww 8Go5Sq}Gr,_Cx3}A=o|*vO>K[7e U-S!) O|p| / .0.|}< 19_&p_ρ^w3zw &8pӹ [t&=/ lW`5V8wpD+.=pΏhx" pհQ3{EX`E{r<ߠ5|Zղ'}emks_8wsy2ci-8Dŵs_ 8S8ڎ?Xmk}[ZԶ煵ySmk}WZ߭mϟԶj[c5Xs:ܲ>cQuwk}ͮc5:zk}~/1~yy ӷZD 6ɸ?|p^?VjjjWn֏n~tk}ZGz]kXXZ?յ֏Suummmnmnmu6kmU~{KgԳoYw_"jgκ?o׷[T}kXVڞ6`y{z=ݔD!yZoN=^k`moۂ߷v~spg2O?~ !p<6ߣw8Fx>)|o9s /|H7i+8G>'L\piiğ 'Lo~l^σѐ=x{9#P?_c2x\U Ay ~>6~!x'~#<2b~ ~_>Uz[!߃s}75b__ȹ!!Zփgo"&V1|9[7*z+~jwG^ kM1|1w],~s=ho o{Wߤ||zG w  _}﷌ɯ5}|~~0p <fu2?[ ^rxூ)#x>U;xxCE|2xx]?ӻ^c 8{#=߂7ᛁ~/xͻ0_oޜ,| 𖼾"|/#|(w |kcmo݌" |x{_۾(W?~!^>ag?'x^_wc <'x^?x|]G Єnm?|xO ? x,o/Xy ޏa o@A )# IBx~~ w0>+<|>xNd3eH' |xxxNG << >LY?C||y3 ?|xߌ7|<x ^ , x{ >| xg AE/e>ނ;+෴`|y|*By'__ | A5 \}9#c__ |Y<%u G|׃ o)7xyo7~|+ `o@y;|x7{` >| ,] |)'|;q/EO~o~# |G~g_AP|:Z}o|}6__mWC|}w}Lz0p> Gs"p޹w|[p38^i7_k|_^8!y]~g[p? Yx(Z_"<>X|1 ެjo2%h^_le }_a6 zC>of{O^Ij=]:nJS}{ϰ剸w '0|=S9YVw`| [0l1ab3ŞHg15b#Ûi '/i]g'ZߍjOߍwZZ?i~:Dk•w|o|Ս<~!M8oǫ[n<~}>~^p|>&߿/IO??{͍<~ςky?ly^?MNomiV 2^GY, OzS%;TzcSnape'9DYƻpwk _yY9KiWa ?Sʰ&ڲrίV5K:~=TnWG~l_q_c'}w6-d95nC,ܚz ȿeaݍ?•7`x)^sjC a{˩DO!fYw2\ϰA5(Pa?/#\k-WQ__+S g`eu %"9ǂ/̰9M(s'd%d";Ng`uo=goWg2P@)[{ΤLyWs3 ޟ_~tߧ51xXԳ`#F1Y:מ : w"zװ^\LSאM4obcrXNLXm ?H; בj,ƎOwt4{;(G@ol]o**p n|S̞/qoRp-=U7^֐;k$|uymڏ!g(we빬XϟR"}tau[| ` 唃*8O}/'VÀQ8`20 %R`u0`0 "` xXa(`0  E`) ÀQ8`20 %R` ÀQ8`20 %R`w qd`60,K 2_ÀQ8`20 %R` qd`60,K 2U qd`60,K 2ߟ Fl`.0X,Ke@?0\`X,/ˀ~?0\`X,/ˀ~2ÀQ8`20 %R`OA``0 Lfsy`X ,#~`00 &<`X,^p.0\`X,/ˀ~ÀQ8`20 %R`a(`0  E`) Eiu0`0 "` xX􃢺``0 Lfsy`X , ~`00 &<`X,^|?0\`X,/ˀ~~ Fl`.0X,Ke@j Fl`.0X,Ke@? qd`60,K 2_u qd`60,K 2_ÀQ8`20 %R`ЯÀQ8`20 %R`Я&ÀQ8`20 %R`& qd`60,K 20`0 y^Xx!8Op/pO]\Zz\9\/ػÉXtuIͭzu~|CϞEB^-&CsvI^y /Ǵ@׃p=k}-ztyަvCzBۃnus_N%#!9\[ /o7Y~ޤ-9as7󁾖K:K}Ě&nlٕ\TV"\Op[j~@ף7VKjՃ>7/~Z~ ' hUoS;zꖙ&,M~}|\o<1uC<&}A=C }\*Ssp9^?C{H,z Lś9g F~x>l2ɫrޠ z{ $9 =Fo5 xG!缡GɐE_ޥyU/G 3ߗ*|_wI^y槛!琡)/yozJ!e~{1mM~c!'ЋM~gAΫ^U]9\j=io}!/Ћo--^}c>ENAEC/!ϋ"\&&} gaEC_îVqm2XoyGho' U9 Ny|͆֗sڰ[`WpI »p7>ANa'C dI^L6lA'7 ov:u7P? ;z#_s wN^3&CNC϶i}3x;a>BA nZo y!ga7B^Ae؝2O, rB^0X2FB.Q~^Ȼ𸝽jwr򫪼e+ʋ]@KUU2vߪk mߪ r2@ZoU?v#ln&ü>EP9 ;7vMs׿@Na=]͆5DpqŦE]y^p-UW аhWn1<"}a/}Lȫz=2nq0OFN_3.v,3땧J9> ?}} }y{.5ehffjH6!IC'ߵ($sDfVFVP 66dDB I9aì 擝2:B$Zid$&h, IIK"ϐᣳ($+i|$PHĄ I1$9#aTҐYIzӓ2&0iC22&0!oMiHh= R1W tԔoRPGZ[q,o_y+dpc(b|j?gdE?=Eş8[oЅ9׏ői#tc~,:?yqq<  i>AG{cxc6i{>9a|(Ǜ==^<䄆{NrΞm0TK>LOT'pz~91G蔫"AuHȟkyQEշѢWV~䯯%ԕ},MA45}*[MLt~#!xmȧ\nA{ɍgvag%t{:1DԍzQoSXDԟ#3~:=4t}D)O3}oޣMs12YG7!{1Q.5|m7ݸwv.܇q# KȉrFX7sF`77rܔO9;ĻM47-}j/=O/pO{Rƿ{1ka*{,&$|` B=}2\a;ܻ,a eș^M~} ?7k:O=&678Ag=MY(AF Cx9?D.陻ql&Oc9?2Y{#/'};Cp&=PΡ =FN<_FżyWE6鏏C_?0$A H?uE98׶7+=}./o{P 极 P$#G;s>]s;p/~`96bxzB9]A:/_cX:={/r2;sv],(u0by9A/p/D}F(8_C|:b4t!~c2I0.oM6tkSxzS}o{.'` _zzhhUP E8W~{k9D~]p_7~͕|z%!n߼ @[Kuޑb]Qr7m~ ;E^?Q|].-禼#㟨7}Un.y=*'c!%1Eּ1p~{ Wx/A//|>ow#nECb4<%3+)ΩӒ' MMb~} 0$9%-!5eF WOIKMCrMHLMhzDeQCSҒ<- O2,cؐ,=au3Z f\FӨQ'hEIɩ YI"SeNKȘr월=))`bS҆;iFʨ$NMsiشDN2Ferz9I(% M449А!Y Þ2lCRR͞ZFFҚ3Ĝ)k!ñ+Ǯβ& 3;:%͙@s9<1J3pKHMI4gBƃIe&%Ԕq8yԤԄ4KF :z%g$%Ѱѣ323ٻyk4|љIsAYIi4 8:=) 5p:699)OHH'jAdVRjε?4əIY OLBKBRBFRF 6zHa e$%h%'e  Ǧz3=4Lp\FJdGX=x,X3RҲ);3 J5jt9 :6sϬt8RS 563!am>xNCZ 5L broL٧էAڙcogUkW?__n&*D~>$P& T$㠛_˭AO j)"@KO#@5X}uZuW9ʙu]M*?7/$PwV7-V0ASƗzq4چ?’s/A6r)L5)L 7JF&f{(q|f! nШZmV.N Z[mHv%*0;u,-ֶۧ/| d V]A_BH@%$Ϲwv3A~|?.|sܹsιsgd|mVlm&Kɛks6[B&ݶ6S6۬6lmJ&_[m {X|jk;l~=ZȜOZuK[ 9%]->_)x| ~}^)oO?)?_$)u jy*j:Vzxu ~_ĪwXSS,|))/SZx)tf7ʂ?E ?ن m oߪg>66Jچ5F^^oϳV޾#Q޾o6| 6lx{z oolx/ m~ oi_[ lxYgl*^reßgSl6| ?Ն/3mx{ͱ܆nmx m6|  ̆%Wlzc7mx-6>Ն?ӆԆц o>`͆?׆nßel ˆ?[?>|?}jW~[؅-Kh_b̫NbaNr;qUp9}s;|?E?%?x:+.sbgp9ey_9; C+diEn=w|1o| _n/s9~n,mͿ&uv_X!K |YF,4u-76_}b҇x&˭xh \MWǮ?4~N`,I%Xӽ\$L>b:g YJKlszd)51֚_Bu>i~ݗ`@'dMQnL_ק/auUYI~51O)KPSLYd&C2T;$ (r߇!65'憿8՝z$M9 3xa~Yrin; Jz(+P&g]ˎ.PPfZ>}9@Q&O {Zz!sT~ ~Q0]`oIBoTVxgrmmbFR~Pԋa> 37# ܝ,ʌu>؅.>Kr8B{1Au3&IAE!an͍*9֣ @& l"\}B)'&8d1(S@V(*(z'CEE[UE/hХ2Qh^? E"LEѻ]٪4G. 7kr 7P6PB9-h*QhGv"#rP3$1Я Hyp?g\7~̅4 zLNgdWXa%ݍ={|"|:{AQ@o8mU9s2Y¨9[-n*M?3Ln$o>jW]鷊\(vN~OAWǚJg=hF^}YΆ/CwjWNw~tzB8Bv,7Wznѝ -q;Οbf^6e΄BKeLƘ*o,቎6/{_x>!!q+/f '?9jK$I"4$  ]?,9] I%޶/B Iw{K# 2f7o=}/I& pP_1>03ojoGf;t )7bfrVEo$PJK]piƲ$t}?9~)F[˼yjx_o-qxc BN9 }62Pj*̛Qdxn+m𬲪1ѥ5cYe64}<)Ijn KRB!mv"#.I Mn?8>٘rDJ}(үi?4%^6XÏl>,FK3=lĨ*zHw7=awH'$P ??` 9)#qo~"1&%T?1eud<1>cL(HGa o.2ŷCEU_!iӵ% RoƁ4ҝQ1MA&TPzn.ϓ1C !ND\t2Lt'ASp& qfsZ_$Iz9"/] <yR!QƼ1()"zGB·ώ散|&Ct9m17ˀP9PљmQLGpwFqm)#񟹬ńO9GK ' 1>b2կ<sӻl\Ƶ;qiX( )z)IraYq%Py( vM#LJO)(bUJa\Qy%s 3W.1y#/*a8,ӄE(I޷.v?OI[ /׃QʺJ2uAz,ŗ \(4ntčȨy w cmȫ0F6В:@R\Fr> CbwaB=O8 hawgq0c*D]c0c6҆EuJp65I l8$1BoZ>%YT_3lLq{| apNs;p^E-&B0<``ԈhlRW,QO?xqO;g{שl; ;'8;zc|`Fv2bV tBOqV$'b0B ]$}u˼IL5h0]dŁuӊ9*|鐾Q79m\֐"KR%<rSy-$Y&?J| li1u9 #CbpS/699,yK4O"Ņx. R|:DU#n3WvL 9M3BdrY:( m Ħ4 (B%l*c,~6"oA"G2 CR*A7X& 杓dpA6(t/Tcc1{iQDuE$yb.S0 6S#;U&Db ;ȡ*xTҪا>;Xh:+$#jXSDd3TuNpyJ8[JgżqxIEgз|."[?>\xk=U LSz:sjכ?O) 80*̕'iU sJ*x|ZȆo,tX s$.-c3yfqH$O!C.ʣ|nPk:=7VϪFj-Tbz|s6+9 $!&m6XOw7ˊƳ[3oHAUoVyNAG&m/gPK''`ݩ?l$,-yrq?E5+[@xHA g>Xjz&]ƀh'9};ֻ6 ;5qbHe,}3HzD<0nqKyзׄ~å]BCww>/}䗜Ew0M4(֗{cIBxQ ݌RhRh8 O-:@ǵ@ׁ-Ö~]]/\$?FCdףwHFo-pO:P!IIEA_p? d8c U5hY ]ny\G Y,g_$"?[k0q?j>AH]ACI!F>&H]iiN>@_.xOEA]ɥnpC]M7M PսL[7 u2#G3ނ.YPuһ=&2 wȇ^.fNv7!Jp>%O\9nDHo d'pi>ހNR] Yy*s.__}[#}IkT};Tz(cGc=3=:_=_'l)G,DC@X ݛj;ɘBv**+UEp)Q'$PJ3q"[L=}=p] /^L$) ղUy3tJ:-u[o^g'fp[skũotч OrBZQF,0XIunO]7oCzd 'GsHY[.'[pr2g 58_EMEd?ʉȶ$ؿ } =>OQ=n}szTp1f#< UqUm=E+8 l &qU(#gB )YdZ˩V;x!EVP'ܢ6v/.WhڬsTY#U/+a~wȠg@A ?"NGSBx#uFNi9r$V:FGUizű };eD*BdsȾ*DvE W0]]'A&2Iq؊I&G5sA&|IۅMu<5Y$:=ok̛gdI{h~|nL@,?,Zg(47D}X;ЇP0^8]㇧jnp7\NA_&}ATzlBV~|7Я)4YJ3tMH Ip >k9ؓˏ+t ZTɷ:919scXzlR+`&KfSd1=9Uq}4mT%F(Gc*[]F{hJ( ;GH®H2Å|JזJRPLRhXS5dHю"H/Eu*8/:qq7َӭ$;!]F E>2Q\.QA3 EJ )_&K8$5r-v̚Q}HF$:(w bDFA5/N<Ǻl(dO[`cX^+qG@&)Ē _Sjci nl˘. @t0b$\%, %EЌc/u2LjdOSi9U;;+Y=Ns^ROS%p:wj;5 f{' WH`75=UOWgX,Lj9a$| Rovh ǻK==)9O9Is+lΛ)Β➖p}Htڎs'r?aA ] m#%!ぼܥ[rᑊZ.LAR]tLX6@coVX"A. mf]/aLB5c f .w:$6䞲-Ω)B O]=%dGO(iOgLms/'&㝎 N$OC,Ghťc7SQ_ >0+\4l)I*j/ ҰS3 _gƾ{ҷ9n C E3A0Q|8X"/M[Cj:0!.c*m(勧?!N(CƣYyZoF.E 1oG 6R ^p[6_.[R$l9(H>dLb!fs4KS 41"YBsZ~J=.4'GE6 q x{ 3" *j%ad'N[y'02Q/>H_"}HE ;h7/f~dt cu[a%X jc'Ӈяɉ\;P1*(Ӈ[ԴԊ% uwɣ}Œ6$c[-ϚH_nK{ܼS(xuw˪whj &V>D(<yPPў+|cE26*""}KJ/Sm|5OK} ZR!.yz)PNkT=47K7's \B12&[:Qa[c&_5b|۷j-sο?N10W 0=l3kFӗ +pkkS郣Y}w>==&[ _Z<ɓ[%Iz.̶3b%Ңy/Pp6gzɛ6̘Fg4˂tAEBK@[.uxS/Vf3zhEGv|X[QTYk慾w$)ZS)l>l6Cg`sTY#ȳܛrgq<$i%Ɋnq#8xAvA~H9){x~yIc6]Ìd(GCڼ7ΣVMⅱm H|,Y^UÌa3e3bR5@]GMy#;^hLAQrVH;Lʉ)X檗UHKF{UUۛ J0beGFKd<4Y8apv\~0?;u )|6lVp'ϊ#n?-7e44>/ CIJo;2FJTPɣWa#OnXr'j%_~ N?󴵝GSX2tna9 =KLH_2O%Zbr.@$n!0|ӛʃdT! }lDHLtm Y"1d,zf^sd? RإūSh&pj zC?pMd>å̩8˩3gFQI w@u<,p`9r,^lSN t(bQӵʥ/2&'A"?䍽-l\y/O+v!}^V^ 3/ub$.';1,Ri TLZ1-˜6cZ8^kCן]{Z4?T;OTYAjʪ~s IUw ܋_@Nu&>a+d @vkB \݃%) y}0rT$}wC7Lϸ SugL{ƊщhqYlB{f Wx~BF}"(.ϑ?F I^L/=?*iUC)fuCNhURجdbJbf Cs:P3|W:t[M 4@DqPO ֳ%~Ŭ@]EsNuԐN)kk"l2EP"s][/H8lPjnXޥg G0ytT#$)̿Ư~􏊞;u(o{Sv?s~;!_ ʟ~fd~y4^ڊ|ߙfx씂܀M^,$ԓōN˟dpQj{agqdIFʱ8Xnzۉ6,c&icAV]t qC)3ѴgCwѴ;nA~Xs qW-:~4- JI _:򥧃|#zKзmӍ͵.L!*{Ni͟!۲y0RLRrEص\{p: s*l`,I&HCZXlwY,IEU=k[boKhy6CFQϱ7 |r"7KڷAM7[.ŴK0YTJqۓ`D_6C;b I2-4| ycM-eq1 ,_& (ٟj67eeowD5;i~~ԣQ3X~niggt <6yC>/2^%Sx+ iߕ:̏#ُ 9ΣǟlhMD|!\ 5(Ƥ+?_Z/Ide9Z~Xx:?m?-06~b5obǓQ=1n{3Z,s0]]v xkkg% ǣgr&Ӻ['qҹ*ܹ %Q嗬ZḄ7 ހ_nv2gX 5Aj܈$T<Q|ar0}o0P| DK$ oܟq/ ]1].ԥ%9v3yLSר ZINtt 3YUEU2^o9Tү#o>gP `)D2`Gal,eeA@vh0n"w"$D::bs349X}O_ۯɇ'@f0?qU- 1c{%hA>QAӖ,UU^djhӌaƔ C2aۯ@i &qԔ.LjrkBXV&>ՓTHnL?u%*]TZMo] cY ~*WzIkdb,".dL L_o!I%Ҹ(*7Vj!"+\]96Q[ oi>Sb灳ȇ+{SpXizpXA an3_U:EBh G`9_V oKC 7?8cdj2HZ qE ]T/=Q<_; ƘFk ȭ+x9/lF't&Øv6US͍={,h0yn?Kjcȓ$; yS* FH n_hi-i5ӫzzR˞`L_ͮsx: Ì/ Wd9j1U\l\~YzGo cpz14{ͼ,YpIjg9VW%Has5;ǻGos(UrHяq ?T@7YAMj@"?AV@7 "q-clׇX 0}=AS K,bsʼɓQSQzQ < ,Δ$lZ_-DU#)$zeYܙjҴ7qI4\j@42H ԂLr$Y!Eʹ"sr ;>R=!rL,]k o@tcMEzN!Kg)j1sUZicϧf ~i,stM;3$0=u19ZXSM>36,s :T?N3ug~ [PnE*j :晅_&x\WTI59"W=4vqgeWbk;w"W%} w"<T~T*+?W`@TcD/@"`,"4$үD!x^+ wRlFq |Ι9ԏ3m1!SNZ} $VmWI+Y!;۾fj 9PRN}SQӻd`R!quFgGJid4,,{-Q!e w/a&'^5`kol b,O\WMMv>e,|v,B7!@TM^SIZL__M #e9*O?c<^#&vM梂lT}{V_vTa_^d'a%!"YP~Ϊg贚dțw)XJ-xUSIBO/+?UkhVx>U"VB{-`1\|g"[v{f:%Qn#w%G6IUB7{>™cXnM]tUNYYȲCz~t?/BW,tu9_Y}*  lY[.Y}fz?"z֪%rarRhr=}%l(Uu0+`=GEK(dB.VV:aݩETOT ɻzZ&{Bk$Oj!AZ$nVCSWPPtlw)(z^Pov@nGo.c]pN/ċ~d3W;~2r< ^'㎔g7N&m]:򖅬70R]ڸ[􋼞;C(UQn8SAыɞ,.S/y؉;Rr>4m"KZʌxм~S-WE!_z,k lt!C%I?ͫ f* LdU Ɗ-dO!jҟ+W͓c깋 6L>:( ,Z6nWjسsJRWג|Y讙 ΕSڋX>+j,ҫfTN*5jBCF6|Qr׏6NDonpyUwv|@5wM~R2)׋Ua_׀JS_/'8Gmӫ EKG_nsiΨrZSMw7;ȨrO;Ey[Wrw<|&#~Ms'z\|p_#2r{I]zz"OoY=wE;jt~8"o3^砯18cmh=OrG$pɈ 4*;ʯ3hu6qnZ҉{T;E}Yo.N7wҏZg?st/g`7%ήhPz±e!K'S` b.vl=*d>Vvt%H14 *9ÐuU=b9A3EԯɒZ(cmI3g 6X/dhyԂGt?wuh_ė}eE~n(c40;Pv߀'?P]nh\vb5~L_Leo) { F+yJ̖ RwJ~_dI^8Q{}Q{{? ^ K?3{` dldo0_{M<:u,^rh,W?ξ ; ~/‰y٧?}mU-N57KeQLcGEy1ɏDF3%&m1NjyD-Gдy+axʘ,ٖC'<iU9{į-\2bv?g1}hq?Sڑ~S_{ӕߣ񷂎G SN};L0oiCtr!$6M`"%# |Lx&c 1xw0^;\"/nGI_Es3Or31Nx5:tø7 `RQCI NZC*lΦ9M ͟KridY & .RSZMnQȷaҒ*8&5./h)]u#+.P6k>]/}Nmfg ~KMW!Mt*II6,dWi DUd-ySuv\ K&j$TNBY?Ƶ EO{[`o+cs@-/;K@ %G=CfIY\N>WG5< )>"Y/̤(>]0ԗ!Ύoh r+Igϩ+IwMs.ϡȻ*Y,ƒ %/ܸKb:ۭOُ"rUYP,S*!ю:x%rنQHO ys%ɏl؏m.yR,T O/WX]dUmlzWfBoZ\Ǖ+ bBusqoѥ $HeQt4hZ/M \gS|U yY!b7Ћ\HӢIp+ v\O(H-Q?R %wr;V΄Ԡ(>41'.Ԩv{X!__E] ps%i~ {`Sq=A?rl,|){>I| bp$vvʝ$‰/QվF$I6վ&VZƒ gjFS枩DsPi`0Gs *< Vh_ޒ'`{2Rz9lxlB%tEm҇u\(ks~± %,Qr?=&K5Iy`B&*7"?~Eo@hC+r M ]И5$5nk,Ɓ9M>W)5SMƏ62Q67QbP{(Wi$c 3W4Kq~.=WG^ x!r$yWGם!twzL o,y<L8w9QwTƍ g,-@&j='ƭ($2 9}#yao'yeY0MAѽx+rtUrHR"*|-H-fȽ2~N%[Kr9j?Q*+I\V^쬉Vd_$|;IU}Io5f`zo LQtA) OL5JX&U.շyIMNhPƸcY.ϒ* ,#4YxAEHZvy^ ;,.T{7(YI\gJ6}9>1~OիYR*idqesX+xZB| -o,s_ lj~ʓh׀Ȱ kώr{JR\̟ Eyc2 Hu\i">ҧ15rX%zT$F=64CNcT(גMb $K0yt礜Q&'>lNi x$!]& ֻ"C2lx{&a|& JXJZR[K+mUl֊0QT\p28J[VvV D*u_HDD}Ͻ3`{?yJf.ggs$Xkrj,Mcf`_XP% x"ghrvq/dN[${EZ>XOPh Kf2-re1^#2 e`9wZ/H^[)$l[/=,PN R ArcNVsIr]LJ d! s(=DùS)F R|,IJ߆6[Sw+~V2rccI(jyu$H7C_(rdx*[Ŷ16t O[@s%ʍ 0B{m/eJMH,pmW7x~и"w'q/vU{QVM\\|n*QCOZqeZ!I-4yN@-%I1$!lt@sB$w],CFUwAIӾ0^Ut @#d d9p2`>F8#$ד?iEQDΤ OQ;ab aO[ke$Mw:i|>z>:Cf~x+Hr-7'$Ӱ捐s5b@"ݵ@lGhJ[l"Sfm[ 7'x18& Lˡ1A9-Z\8%o)"d~\OGDwt~*IUa0@Pܝ(Y]N|Db.*$TJAtS+%y~f?Iz,IbJWY 946򲖾Z0ɐUJpUG8!DdسDllb)â Y v]3'IzNLuHӀe /2 $r]N!xN7Ñq:CQ$ɑT/96 X̌H.&w=yڎ-cv^+i"|qnn9 XL6 C )-_h0t;e!7;u <HµlS< nd(ɀm9,x vΟ# '鱋'_˟(G#@ =$G#X`pO^|^u/oWU-bu>pG0?_ŵZxiSdX%ċyqړZ>ZE` `16=~ݪn{V @Ugr {慽,91\.8>ӡM$|% ""b90jZ{F}i\6f9N2q伓DYœ֒Csf`@ 9 B#I^d|hj:IYH؂*P]FyhUf /20K ˹lRW%}  {,ͿGvJ6,UW)Im<hxLڝI@%nAQXDIB_`mz%Er9L#nOk%j7,j*Y)aJ[\!^bG녑P&B^^nu;֚ZCD=Ak 5V"ұXsED=9| ΕSi> 01areyLDѼN7.lfV-b$oj{8. x'=M PWR'T8%5;>NUURgTYJjvRMea146ESI1ՓR!:'(c t纋8 ':LԬ<UX3Q糨ia-Ӝioxl2V7ŸA0uw l~׀$@k5Y›0:Qj'8 НGlOr~@Ǡ&}w@6Y$1$)/_U_k~-s$Uzh!ܟbV wkSHZ(?x3}˱ج+%~/C> ȺZ5F0 {oJK(4ߊ*7]#,\'IUrWEVXmfEz>:T *Zu%ͣ4zO_6 )@a(7I.Ke fi1BW ՋCTS#SPC\7bFa^{[;K`SkM).蒟͊峭ФR4m&J"&SV\}L gT M_fǶCs | F^gJ2 6OIkb .0Ui*?Ee7*e\ɢzq:i M ?\ ts^W~z**"q0z]TɢЈ#!x+;&\ZèGbTAes= o/#  ;!%C^m#% uFTJm\>VzB]2WM :8uY&2 *;SzmdzQ#Qb^ ,LX9zm^SBeGqЦ2,$emCeFB! ZrF@;]t2QdY\Sψɑ>-Ч}@hHeO_f݋ne ]`s͵H/W\.ifHsWZOYz`9AQAeB2T(|_XgKX5rrugm`US|/C18;ax!Wh]~ڨ̔I>oqz-&@bL p6q̋ 6pWd:HS!RYEPBBHk2Rj561dҺ,IeUk>RH*ȓB%nR+'!(3i Oh s0&mi1*XB:tsT'IHp©Dl|O% gcu IvOl8e"RطCԒ%eXIe( 5p_*oEⳍk#Ae/Һݑl?2{6:!1 zNTF͑.nlJ*RxT3$ Tjz"*Zma?Z!‰U_굥Q`KSI\C@kqC lK |NgF^<7iVS$qoX/э D%cxX#,i6T hNYeh\Zg g YU#Ÿ6D&:Q3piܩj/=|d<3eLGggO0Dme Ng!LU{!iFc!Q]a XrJƪ1~q44D7DS_?j !"`-k)k Z4Mg gb:)YP@©2L0OV!L2TƚhT$}"ZMT51e"yhJI S`Y8i_/I84 jDvur-8k ihxϪQ^"oƊ /, r|jB@10W Aq5 B-0jfAmQjdxg%uEh.&UFHc-S8gG#z=6zMNt(A!oh5P;s9ɴV1䭦7RT m,Ps )%!(vAsw!I?uG#@kd7b*NY;+#1~ݧ,gpeoy,{7/1ZryZ+Yu_g5>y>i5Aw?(z@W%.w/i;5C̱*} ⳩L#"!MeBUrw.}l{z9i%ڗDY$I'F #pI_X[FWC_Ҝ՝!_R9 8'_HP-o qVYI]ۇY4|bI# Bk>n᜕gֺꔃ =F*(^ܙNS7u"S:_uO6 >DsTԘ4\j=3ZiDn|sG[/>'|{!EUSwS;}| BkuxHrMT\)ܹCYnhXmMQdn-Ƶ<H0u) Nb\v5b,FM FE98#6 a&+i+Xť4w?FX˂+&K/2Te̴zzxC?Y@2)Å*v&Dd.T5,*xI\wǪ蜄Q4F$(&"N' ON4TD^mEP ġ`wj=uL}uxp7j@Pt'͏⺰8-zVt}9y(u!߶YWw' _vE`x21Tf!u0pXQ縙|0ָ6 @ y &e)08T^ #߄'+kST MQqx73"c#z^|_B\_V mQgKeU'1B'+I>4\w% 3-Κt9֕\b3%}eډ^z8N[ibf^l>_ÔG@!C ,݅fP,2?Xe^kđ75z/sTH -^<8G=w\➸lؘۮs{K|ga"B&:sz^ X#*Zky*\Px nT#-,a*0H a1j &QS>H?uH-QOz4(Y޷Dy,IFX"b!I ) k(rߏ4ܑ5&(>ƃ g'W29MvqTmha:3H?FÕsqDkUfruge}DoJOqϕjı*ʴC~ij d:;E6PH.3`اJF\H6Ee -XUT+J ( h5Kƻ!e&RKq^g,?H*u; {hQ#A>B28Uf_fQ7I`"S T[ F*u);.nxԱ$AZb*TelkJP|;ވw|$@w 0GW{g`4q4A)U7@r-pp ;ӝ!yhm#|96"FZZFXR(,ZTNNY.Yg=qޝ2aRL+O7d/ڢ'E @|lBĕ82ƪż2V*êF ~[2FGUӢzg>b<ƇZ M\qxB}Z:LZ-sa F9ʬƒR8SsA(I4x:b$k~u[^!;-D zz ar+p 9.$1d v8|πpxU~03 M%WiG7؉YcHeX} 8$ILZ5=:kR%MY,f\Wv:rseOd&ଷX\FF;|> @o0%T(ӕĨ'ahuOMa_[hcrY3ȨVI F"0qL НT ȨC_<6l*uAcVEȲf=P;FJN3 lnՑ / @әH=S](e+˥rڨzqւ,/zDƳ z YcJW1zQK\«@` R{"?\.?.w(A.c#H= `/ྤ)9̑q#0J@9B2HxE0GZ XRo'ݱW>ghA!!_(&}= }swb9%3Te|\KnaU`!Ulʎ|"L  7^W+ D޵֒.`$2oZK2"IZ!IUT$o']6!CYNcB/@ZZDg] N [h_B"]_(o3*x~7Ud0Fٓ$I[WNIZѠ?7z>J֒?S g+ M./xV?>ތ''㽨 E4)Yl=_S9Rڳ|kzmLD+_&+P$A(xҏD(şƗJIr=pKF߈FKXύ0Vo?$ >F2HqS)>$! B,0י֝1 9;ME1B!_$FlFM#~Lh]#Iuϓڌ{`W+Ih:@5 ^OTk-ED'beG4,ǂՠYt,R]:p:yܴ*D9x/4?F 7qS^d,Yaxui-/z6"[:1Rn![0j m> 6 Y;!$, M $=3*c?R,MTHRIoTh|EC#ob;8V:$X+8Q`_N|lޡI.6!/2w| ) LWw] 8 INJ- )6ƎFJf'iQ;Muxw|s\| nCdٌzɵe**߾7P׿}=Z˝9,>X$;/di }&?Y%v66D۞s*B, o{9QlǸ:w׸[ vĹޟ1k A%s'Vea@7!gT}m/< %4 ӎ |yu^`hCt8Oj< !]E_#')L87/:ER>*ɖg9e!! ux0$z[q UWA?I %e<@Ǩ(n3}?Rj hh /fI׆$Xبe$A{Օ%$1YњeK޴WLʖhX9B\++v 0KUB5fAWj"*6k`lڋh:nԼAeYrVj8 ٻ05=2bOeG:͗7"1?O#RS l;!F B{}}N vH/%29+ 46*V  ߻^l+oGM(K@ YY"D%g5ycT02Ja! 1B0+V!, KFeRM~NadN%!+f;f Pȼl6xOugdKN0&8#o_o|*I"XŃs$K.r^B9E=K̯-u77Ap@ M` #?6Қu_3D w D},fߖvUjem͞9n[kfhKmmKj ]=a+>*r@^Q#撶U˞o}W??bkMs:yvK:-[w oKڜoͤ>{{K^Imv;F8*_9?_{IӺ?mUjVJKK>,+g]in`oո^~Pu?3â}ʼnw/ۿ-Be_Aw:eUofػdYͱӱ;߿߶5xFTË2¯WgէUCUozs+O?{t~.6\mnշ[[߈ |cZuarҶw*_KuʊmoUŽ[;vѽ܇+Wy,ۙ.{,j0H%G?Jձs,џcjGK<c:~7VB'\1w73٩'/mRO_g6^ѱWTs>1UtWf^z~7Nޗ(Hot999_bSk-c 3ə }o s^9yukU#})3؋];^7m.9Hw>v]_ϚZq~5#Gwj]] E6v{g;Q)?WFgIv%mgƐi?^ߡWǝm}gs`{߼Un+glܜ^1kC2]=WޛzLӽv=m=qm ᧟ci^ ڗ77tEOn3東ONȳWލnw(9 AbyڃҰ7?гN<1X}iDtvww6|j wZ Go'lDojc=iE%ַ֧[sb#;sg5}> uQ]ӻWjLϝ`25uc~?lBAxOfH\X͵;\w +~OW7^ũ; 4kff\A?k׸wM_wNޯwuv˦DߞL;~{~kXq>]p!1Asramǜ9Z1}WOIת'=b h-/^k=壵HxxkvGE}6xX?Ï:L ݧRiqAyպs'ٻq'\)]sHԬ:!6{ Q/dιv?q'^+hꁇ1PznU3}IqC&cdG=tcm0GZ^ݵqi:+KVm+Wgʮ ]8\v(ZůO_< ֺ__M#]0?p{̪C=f²KW?>xi_اw4u{V̜~7_9 ض=?(ﴵLoN~9ވH~igΣ~^W09qRI;3_mu۫Yg^rS}ǟK_;PYK>澜>KIjeDO={0stAN6v+~mU=%HgY?j}Qh_-kl?a۳,`;%z:ޒzs98:i?lgpx ]oU5d ۤO҂&"vuNj}C _p<J^}kcΝ?ΛEU?voZvޞgsݯd~~~v_ԯhFǗOck䶫1zlL^ xe7|V Ny mwE;wǸ ks|4#ϝ6|wh~ީϊ:Y,c}϶Wrp4h3iɴ[ UҪNN3sX՚uGVg]00>qu[:=q_vX]㛽010hyڨ.۱pyv̅.+[/6Ό $Zwkʖ ?9eοrqm\6$fکM{tv+}~ra1Œ_~PQ2ˏfyoiaSZMav>\nCF?is=q7~rsǣ-3wɗ,w7~}y7F%LjOpQG+1rާɚmyCmyKkM3eҶ1fXgG?2C?پ߳Oܰm.~U`E\TM~h/iN|g͟3Km$qϫY3sZ];/]IL~ظ1mYg9o;~{qq$?ի_ږg=sGߣESm>gܐ)?N6BUg+xqq9aGLr^ʶ]Zwf &4 ǫǽ~Z}!ۡ򇗻|٭7 ʞXpqֱEz3?_~g.lz}N'?Z <7,or?Ԯ6wRҦ+Vxɛ^3n#KPt*-0w׊vOs7V?{W9Q3'l78`Wa#Nw#,ŏ?>͓UsΥӿ|a`C 3 2.ˣ+T˿i;?ᷚ+'ΧԖݓ>Ǽ?N(蝶~oym漺Q{֒/?tyscjO;m(=[;|LѴ/IܒF(WƼ2Al37Ţ'7\86&-_e߿W }ƌ9kfvouNfԥCN/vtݝۼ?tq~~R5cuG~O|iŽsOEݝ80%Vj{Ms9586aw^_g,z5 } {}b;n]?;hew{nŬ&ݢ4dwKZ?O`7o؏t%wnxtusG{\~#0IIs'q{]dzEcW? ̰ETq-VA6 !IP\jju;֥}ߵZ]T_30<^xg^s93$wB fQgTv}䯂ۻ {PEވn}7kWk[%BF.U%ZuSw*T6_|xlܰ]&oJEmzט^KpM{?|}j+o-; kδ쏊.;IDY(ɶŇ]cxO?pݰW~Gm{h?^0ߛnEqIfn3uܚf }l޻?iGKwޞTֹxu?gq&HKpt/5"~ݬ G/k:))]І*ߌyG?pG}ԩlw2=FGrQaߝw6W+l2nq[vۮ?Oϥd{}}Q ˻Mόvcaj >8cW[$ey}`f= 6Ts&/Py:e'>\phݎZnsrĻ&Z.ܚE( E3c~tFEvz!eݴdm:;F5i:Aݵɝnt>ݫHWE[\i3s,p@JES6]d,)|pƣBol7j0 J|?L1ޅY.wK_BHŢj7f{tO1} g%?աϰ'xO5u;]SH+e__ zZ,`</˻[^VSÎp!`Qܕ  U,=x#qY]BNjfa hZ95>c~zk>z_ۍ+ ݬыif/4Zhh>O-l{cƘGslnTwڧYMg }6)qB5fFRԏLHib=6\j~qY#lY_juzOpTy=7$֯[KK<{ 69 =nwyQ@.z9 ln--Hyr |ܿEG[? ^{$Yf2~rKʋSJ?y6ޮ/|?|l}x] $<9tmJd ز\txqƋ/<ձiѿ鲱)ucnye`+U8ri9& sguk5d£z];W/tkyynNZ!'t\[vXin&x$/-o͘(3($Ae?oeL-W>u&v*q y8EC_R4?4cw#nLˀjsnKjYJj-9uѳ@V}es]g<*tc瓶i:#9RoQfJwݭ`svy[TwmmF>)=׿wpXV7.}Ɔ:'^|~.- K{yl±O4YT̑KNèG[zΤ2e㕪pέO;xlKo$x;ے{;hsȯmINsǺqI E?'}}ە*H\7?.s$/ĵ9#!'cxq Gη?>"7{O~_)ZUNϣ曦Rwګ̅j [g)ޚ4j䩑GK[6~X7oߐe_>MyOj=O\[>k^eN ~}O>1DuaZ61.azK?&-ms#6m99|<p{̌~\ۼG]秝z^?۫p;AX4wqZҦq_O O~*xOdWuUJFӠjyݬ~# >l8¨o? ۺG+if _;x&ָr6vz?[cFHvSó%.%uyYy-ݝ.Ωkj/%Z;gj|~w?9`Q~S]<4 +4mWW}yq].nRk8kG<ŭ5mS=XWZ^ɘBcmOp~=2>Mծ++R*l~г1yWunsc-o|3G]x|ۙ W+6nty)j1RvOPyox1'Z]KY\w⨢v)&tydkɷ\M ټ}B^=~nC\:ZiWվ>9tyW®l`97:ӪuIUܵeJ/{$uϯ‹=Rw}hjws8*%E+ur:fL=1kroyU{5tǯPGW).L^:`tWW 0񁋻:5ƚZԵ}x:?FbwQ].\u) v:/,^kIէMZi?(ѵfqãlkpkX^^.Z}~-xi>m;F?.([|ohW[BKPۦ+W&kH+15;rd\'>x2+XG>[|{ЕʉMvK/^mȼ-}MmV3Ji~y\)V3y>~h߮UiwUQe$z:~ͻUqo㣍HU&P%_M=i.-Ovxױݗ\>MS?o-ym5~{:ߧV r@OUom_n9t!TLOxlorf着w Mߐ{~۠"6|N1Ճ΅Q'6gyN xO^N W\5ЖY,v.g™O;!_/TkӟήbRli#r7\z!]蹊G$x[]7b[O.gZf;ՓSŕ5DȦsPU]T_ O~pl1Y#{=nz=%5-UN.;>s>/d/m~vl <9yUŧN~tѾ=gt}tÌG3zm[vm}$u&ڻ4JK=.e,c!b]ۉkտTv]YusF:;o1ci}sGl+/~jvnG{v%ƍ׺O3 ~6]]Yo&U6xΝ|l׎76q~DKE'ꉇk/dƞv(`l~ve*čA7R`s~_[V| T'\u/tui#u튆ZptΦ{\yLn+}キ?9&Yhl9>}meՒ5:eCu{]3lͰak7WVhF=wx[4soK*L^meaaQ8iYiUF4m042<2RٞQBl2Q*k/xD⿤dBu~# P&TL+LZQ2IA2_V2OFLBF#FƖ"P6ZRAV-+*lT+[_y=drT @O^ Lл#wTRtQЗ#wy oP9W PЫ\JTwGE*|^Z*oG:n5ZJPz@yDJb]+@"5 PrJ5u* j@5W@(֞T{~ zTb(< T#.@(-@߃@σ\P#@ @* &T'.|Q@Ej_FT,@_*4C)@X}'T;~@U% P  jSJ軼?=PPl}#@ϖ^x6 ?& @?)@o(/@? PW>@(*WT5^j y@()mEHWD?UGEZ"7#٢?+͢((IQӿC^(/(_EbQ_tQZQ?E߉7Q(_~Q-[%Ӣ(E(BQ_NQ~rp;d+</Hh2ن2Qk2]ΰ'4,XtF2f4FX4`7Dg(-a vj2ŵj:~+gr`!>I$GGȨ $UKRKHOTPjB2]L''TB5t&d=!RAHCHadwwwwwwww;6BվO|zPTDE DP PQU`TEU HWȸJB dD"H\%nJ)IpI$UؾP.}:9b`bm7A;<oQPC7h`X,^\TbRg܊-$Y6'? j8aT o*e|rw*_?_e0_m_u gr;/uq)=<<=== ۇO|S>REQ @Q T/RHU<swr'wQ%ϿH^?L/M~+_%m> Aq?d A  L%CdP@ 2B2TW2xA2Ttp \ۓ'(LdP(pAa(P()(6jW WABWP8 ̠AsPh AP]P s@/(fKPp~: A&(LP @(l 0:¯ +A A=PX A"(0l Ѡ A:(,5(\_P ]@((DjP 5Ph ?B]Ptp*lP gA)(l5>PjRP`@(T/A(A)(x$P @!,P|P.BKP kP$4t nMB8hЈ( VB ǠXB4<$4/$4:F _@ zQOB;NBc h 4~ШU$4\ AC "(h%4V 1\BhܮC.h|&AcנFhdHh[(1 4fIh^A㴄Fch,46Jh !A㹄7hxKhL)Aa8,4Hh?HhA(h!Q 4Ih,*PIh\KAN) h|"A@HhnJȑ 9| G &nW$G#rM GpBrDC+p {A&(, (\䴛Kxۭqrk3Dru{#ȱGr(>(?ϓn?џO&RmaJNc jPXfFd Z1R tF,&ht\Ac24=̘-:-ҵjk[mU)QO>!f;3gg'G?́ل߬/|l?;_/Yj%&hu-ֻ2fZoجwh6gXJ( F2]gU JA3y{FcjT-JMڬXxxƉ^q_!3dy&I]5 =WEȁVE6rBH8)Tg݁E6H*O},lĤ:>o F}E6^d#*=l ]d#E6RXWd#I6*J.DyF d+6N^Bp\fݴn-Iq oو 8Fr݀~mdm#܀mdPqZf#J9p7ˁ6DLF)`S9@/mğA(BfB<B@?WB݁2BrO7Bnqr!'$(ӄFT!\O*!T_BO`^-By x6#dfη&$Z̋%dKHXцm 3#q!xBz XY!:5d-B+B6LB\}LB||  HH>{'d{'d/LPBH??$~ab(BPX1 @x'Th!*r=?!^>!m YK@?6\B|ms #$9?@ y!@`
*r*OϤncij1֕U{9BNH`o0@?62HQL&+&U('&(B&bbM]~+c!mʶ6 !M.IMgiR *eDޖm8FA,eE6rgl?<%@7̑(>o#zh"_oؾ%}ko. bTxqne\'L͐.W `XwFֲ V3XO,Q\Hb#2%@&`OE()`)pYPsHj#2çmw<9O ;# (UwU(ǺJUX.{{^r)p͂4e"Z `ȹn#n.8E"%LhB%zH{{U.@Z1e<@2-iDO]c!cep@wEHB먽׿\*;|lDIRX4e#_2DRn7<\]g,'c8F ۦX]Mj[h#dN/S/m[`}8wa2`W`3 3R><~.R{n#?gxE˭m_1];߹㛭w ^ȾUZoDSgn^y#7v%bTt5w Hze# ql-ϒUldvXMdxvcݤ!eb=ƶ1 )Nv ܀%6(yun6/$볮>؋G+ Qv[ b Yncᾄ|]g6O%䩳_˟:yH8y͕ M e'.nYkQ@oB;ۥTvS@oeJ9X_dK0)?8`ZDjs/oBJ|_B 9,:@L}B*|JݹeoOW:%9 DI&n4PAFcHb׏#^.$Z?8Qh"q/f5}WHgs㔋wv!]d;MHM-ҭGwn}Fr8̓HjH`^7BwHCBUurbh``/!v#[sҹ=L`F7BN/mϔjo۾e\wB~(/q=G_\u'$SgO^wB6zXF'-ׄl<^ľXы2& C"R8ރ{]O`I7m'!HKg'pwWOҍ?+~a>\6 "7x@0&qb;6JW}Jv:(U߬O.ce!$WЖ(Ҟ .G{M RO`P/._c= uy7k8!sX_mL#Hu)ˎx uo s! ]>es |K@&.#r &DŽxD7H2v.o8"qi-qnO{>~"^즠 ?~>䯯+ٽj' !K,@/P2孍)V"(_SCJߕ !۫8w:`q?s,!%<^aӖB%92{1~~)s/9&cW#qceqg74l8%8 jco!VGHA}JȠ6zC" TU~JMYpѪݟ P)R=`.)p\տ`cs<+˘ɼ]L?妪eyAzӢJ]<揽Ea"/`3)eb+}޿xٖ=y˙\ xyxaFl˞L`^L^.^Sgte^6e[^e:/r㥛h>)ĸfʐXIg`aa 52<22idt9.Y2-VU CvXڒ0Peh]Z3c*-̌^f_V :+ؗaF+¬La:afVmU#TY*Sk~s0pMFcצRJيFFNUuNcKX1fe1iշ;<#?CyJT"_crM /Cn=<-E_%/\VZ>߻!|6c~vH|.m-.߃cp_"WlQyR\H~(.UVJ$Qe|;Qyz~{2h#$i^2rkC/')#*/yZ(>XRV/B;97I/|\8;?V~pL9Ll~|yQqOŌM?X~ݲ8y4|y/?y̗qI9R#lj?YZfp "ܞĒ{8"qddG7nePҔm?NIofKިֆiGFQo$UOxޞsG4l.Tj 0Lc4(:ڙ#7bp(#5)ff0cZtRwT[j@K2djTL)F2( ,&XtaVIejb-u&d4 BH 2l5lRV.G׋λTv6*3lE9DgLE*jCԨ l 4m=TqT\M6U6lڴiS֮Vgf4V Wd2NU1lmZ$YjN3f[CjNLjq4:CҪN3q_~5dUKi /'d2J/js(-l)U)Q[͌Rg賵Ei1f1J7W:MYuR[)#Tm^Sٍa])#Kgefjd ƽhzUg,0h>:b:)Ь7gk*uNlCiKZ.ތ鬎4SzHd]%°uCء(lxCjo-af2Y: ÕRk2a~a+4SJkX>e1ZlF|#7LC]5nF?ے#"_IY?WxÆo$ELfg|w_IfwW9sz#Yt;+Zci6#"7n?*ac(#ʥe[s)@`e1sGGG7oO;#7j?aTDDdF_߽oOJ%o6tA+Õbx^L&D 2L XHJ{<K)|Rl0e6)+JrhRXkoErERXX,-')RZV:>҇LERzin7\ _IX>q)+>rê-}o$]2]V:K.^mч4ijf1E8O?vgYQ#a| X_1fUݳyCoPYp_qV^3lʕ?.K;^V>/q-?G<í|褞L'X'yE'P<'vĉ=;rbuN;yW;\vIBN4s=:I$;Z'r+> NĞm[I:iw׉=[:‰"'y;9ɯr7NSIZ_9 '(+ DH'@+'s#'br='8Ӝ#s2N:ѿq oĞN8N뤿}('ܕv2?8߉-yIp'; 'v_!Ng87sbuNyd䤿_8YV;w'INp^t?É7:Ww'/uR> 'ztbg뻓לs8wbNsx'z8I=INgpROI~=ቓl$M'9;r2:;É>;_wv;Ye;iw}{ZrRO]$[h,JQu^7jXPQeLbe;:Medr?fd29:+MV *Ū Ti2:=2+c ըC@%h~!%LQ2AgU19蜒Щ[dPՈN:%FV[uc WCxU\*3đcj^1fq`* ؒі  r0iocolgؠuZsFma8j4lUk̶"۠R[̨JG%nwCm5f z}Y`wŤiG*Ee2۳cMoLkWd6fpaVf\9̨2Yo:Αt97Xq0 T 12H7TZnUYF.]13Lb3Xj z=m`^ 1feצ,XUfdPڒ衣siF:p++PV'Ơ {CtYvq'79@e-(prKŮ7ٶV\0cRÛ`$Eo$cOp"ޘ7[4jC;a+ii$ېUI+ $(-,ohRGvs: k.g|8JFadWML&Ge9eQ< _Pq_HUf:dɪ3h0&v/a4YUz!:jʮzzښ.-6g@4*,YaQ0z]4aa\ΰp3¹}?_szg xoޗR3Ro9ޏrOQ?l"~MD>cD%ϓD܍6Ex[yLosyw(\Oyy/#y^ |*D<./> OGD\.ψxhE|m| e>_ϻݜ3"v@īyY^]k>oc];"^XwԿKm.3] cG.+ x/¯.\ *~E&'p7pCg|_9NK;}\A.|U)¯dp.&N x$¯Ip-*^)"M-9..Q.|,Wc xp/\| &~7.,pwp^j~[ >^,e/,yÅGH x-$ RC+EEE>XEE/?EύWFEFџ?EE- N2,^E8d}M]QQ@}g((QQQt-.GOGE/Fѕ(:aD(EEџۣEQQQQFӣ/Ei(zV(zn((߿Yu-0K9:Bw0z 1g&;76"8LjkEw;~[D0Rċs'#~pkY_p:ENF$v؆ p{?[ x*`x,#w@G<p?N?ߌ#pg?[߂#Vq]f]ėRx,ۑĿ`gݐMDo|0#^;Sw##^ 8G:{/GpO{!#.G}p'#v"GG<?A"NA!\Eh2[!;#nx x B ]?ⳀD!2?tπ?&g k{{ğ#^xx1`#~G"?E!, #.<G#K8c?# x$x(Q?A ^wE x ?6!̀#/}IHYĿx2gSM"C#^8G)r".Dx:E@/\#~ g"#G<c?⑀ːC##l+ķ#qqsfėVR,?/@/D GIvp5xSO!~GBe!VO&yk#_hgw;' 猒/;Zdy'tFsA-2cT>뵙j͛ᮉm~(YҶ hN$R*g'^NHUo 89g Q'"SB6F>&6A}1ҋ= XցFՔ~_ ~Ojz{8Oxa=w2ʇm|vn)vucb=^g87c3o3m% BZۨb!JNzkU]Ș3 4m%ƴbL \f(n؟>`bj.q2>r8U]($D;{1Aq]RQQ5%n uKV3oqr^?]e%lNL,,s|ʿ QyP,!n1z~j~WsTM({!!ΠTu(!N"i %(Thr.SLͧ 䵷.cZ|R4x9W1 x⑋a+nrVe4mkA@Ӽ|jSf6 gt_TM`JLiLȄ> Ԃ|)=6r(U]m~1^x,39AY/3~1g3,ȧo`/8׀*XE;mHl>w홀kRhk=iK IuTue|FH()Y~:\w2Pkp}^3/ 1럌zqo5!Z/pq}m\? /ח #c\/T>FՔN+ ҏ9Aunj|Б/3Z{F? 4؉*[;0_KU6|>xzU*5'5c~wUL%3RX\KB9Tr?vDlGԫMU? +KR`_b2z-! uFyʧ͏;s2PM0POؚwc%QT\LDZX}L;$qfgNbUqH:!Vb"/U,c\uַՍ/Svړ z1hC䌢֖yJl>ɨ::D&=mq8ϢnT8{ŶTk' 삺ӆAyXgnrY*#0j7J%|iᲮToDŽ {*詄wd])CSAذm| l>+phCl?VBۜa<,*[w` e;,NHYtJ_@3M-,jV͂}1uFޝ-k !1uu eޅD| <ǓX5If}Oʻ}R#{NG(@.,1c[B\et7xN[QE Bڔy|D1"լtk~Εkk.T!50 UX P5 1tw1N=?ػ"u2ox+U]6j_~ i,TPUm/Fj}[!9rwP5 4/j1z@.97K~MvPؚUFRFAmTQ9#U@˕0N*pIz`2! e~%!O*Uxmҟe ^C hKcC XIޏ*yH>#2[+ N@9B3j':. wp5J1b1( W7c`L m1n<`#$AhP*#q%*'^XXtH91V(gĆ*졒zL"Dck^b7 8XzQ;?4L!SقP(ܶu!BoImP米hoQ~Թ{`嬝};dfTΰa5VO3nuAkm['D{c.o l 4җMDIB+]CcAVW&} SfిUSCUhoN,Q CTvӔR%|R# 0^9㺜m!n@;XS'N2MqlSTnFƭ-P/CޭXjq pB WP-J@{bLAvՐ3XW 8=\ hcO2ou?/-ZolbyBwSt 1ݰAntKO"'2İ&>Tbs`h}.gSd`s|"XB`@@uePu LSfRi {ѴtӴfk[*7[6ʹI2'|JWZG>`I>Tp2NA2O$ !tb]X'S%LûZ鐵ZOxU9j{*vSj%PiꯐvD䩴D7yޭ׍hk0g&&ON; iY٘ܚ8r '{T/S)֛:c`KhpzԡUpexQpNrFV %Td+! ,=Θj40X};X%pjwc#9ʧz8_ZUn"$Syی9t7,Sdu.'}Bѩd&86Yv(c>O C8t w;c)Tܨ4x%ڰo1jd"Qun 8b/*e}d%cdgss2*iw+Z`Cj :CE&yg[i5V*r||w2SE)Fr*s+s+2iWAT"h@Q&S*2!䓂|LjgL)NXGq% ǴC5YNAU6MZ~3U8h*}_ #Pgٝ6@sd4au#1͒ĪȵZΘ4J6vIaL}غGu5 M:h.::Y a>AtYk:0tFg㴞8m L-TѦht-> ~U)i!!lp;֖]EIm`s^5C3PK9c; OE-| PkiwШ5 ,+8CC%jG8Fa69u#̱)&]a6G [9"5#CA RKXO!lbi@ ?֧T TW_^4qL:0L~k8bg-T;fU*V.#039*uQ,b^X(@3tj  | X` LY`w>Jv ,qu/Tl ͦqV?3~Ĺ::9GYҽ F]`'<FQO1?>~qyBPS  (gRD"@ptתF(a~"UrTLd"ow_A;FܱnVOdCeXv`hBRt(86|"z* DCWfсQNe]xf?ofκ3#̜HV~@rjVd0^'D+=En3w4v6IGJ 1hCmʻک{!Koj f%b| j;d *kƽ ^Vh6C )Q:V>iM+Ög|#$Se(>!Ƥ*M39/σJF8hڎh=HK7ѧzA.-!0V7*(kJZzf UvA%J}o67߈Ořrzck{V1$d W : ^'jJr>##1 0k ^70OR~D,-nQy'kh*.YZҠ.*_[:5ñ߿yC8mS(+^sW(tuYZ/Q5'yñ_~eLB;Lx'[_cõ&"yY'!LO)ٮ| crM (e<_u(׷v_fq4,pд`n`{v0vSR,skիP;H{iQG;UA 6۽(&ytԚ^y&iuaMTȿwQFӶ}&c뾼6O "NM?[oQESyޤibdpT)Q=UhX 9}%Va9-Z]{ajG/.3&j 2dTz:ۗ6/m_Snvn5j ED\{/܎BQspj8Gb`Qҧ5!&64п 3!vi-V"M[j ,}<K\pnjKu6|~HXW1( N#:30&(s5 𰫆" Ack$UڿL1-#g5Snw;:X5ZGX`I -AtX>Hy;9_]ATY (s&8i.1Z>4mU@;2&@C=J_P _o `2 J%P`NRbΞ|?#~5VͿM?ྚ5@YM+E6/ ۣF@:N cks/-Ʀl{CfOֵ2ݿ UsU; rC d,b<ۨyr >f>*aB#y ׂ'˘ޕ*Ɇtp-d[{^#.Evnw c#`Z;A*l>GAuY5wu Z]PA9ٵLGSG QQͧ:p}f-hW?A*#vx>;Q,@ w.0F@:* Sn,ynP>Oj>ՆS(7rZ uCTMY0d]=XCB!>=4ߵh`hTO1˳8҃dAO~A05291M<2QՕ07ʿ3\M]P#N~]OR*Gm.ri#K|LP-_g}PyaL);'lea4mpwiqi0w0-"vxAT= (N:5va3XWi5+\զJk~:-mmYLc7Gs8z;o#~g`q#wXvgZom4qν0/*p{ 6uD in>epO!>%ӈ0rZb^T1dNPf&ܼ+fk0FCQ-rw."%I.H4FL;˧Q` ik <|Tuw;c ƽ(_fQi.%]=<'ϰ Ǘ`\d4;QEFh·}JOQV;t_I &kuef1hVO-U=*nqO^PF/ Nkua=.C1Pav <* %WRyh9Za'ÀXm6X9kl!T J=[yO:zZ/hw`,S}Q*9[+'eSƆZO5 W# eo59 c?ʡ\#c N[a 4YᾰyX `> 8$a$wcTܒT ΦMsfvA F~N.lqMM(zU|r 3vWLWЮF߶No#9Tu}9H B`Tz rCt55Hn#b7y`,٦Qg( T>\U (|Mp01fhU]7֠_cG5''=}YBع,mH#,1XF^gB NXJ ~o.Up7ƿL9^Ϙ۴;s[AU\8=,+iB\$gк|ZSSu56ީG~ Z>5cգS8lKU#NAe4(ۈr:#hg\O`:~`kFjJE x /̪;/6pxs BuJJdl5ʍ-uer#USu1j=r{2]TM1Ñ/=МҦP7TnU T#D (&ij>%.Si\f l^ ^Uk^~Z+7Bp|#5as- JG4IcD;C[`&μ6{nģ革CU˒L̜<Y(iNo"XAZ1Xs;q? z_> y<5HKk]Gk"ia__ܸ4q[@ 3<# F*6"#b2F$G-Iy2>6!cwBI) ZWTHD;U,*OՔ#AU O[H H;!>J˙(ĺ@dlCϾC'Gv"nf,VRiZiv=` ,%HM֧ } ¹Wd}q =`YV k jMq:=H˽ ?*}ygG>_O}1)&ak&z>_kEq4Gc+fC*z&Bbr>OhgFZ;|lc /70Bg39a 6PڻX b̠i`q3l6"F\8a_Ø *] xѪ06FWPh crTY~3[}l6n4]D|ƌWsw0e֛UzƼ_9AkҶeX&b(2OƳ$FhMK&;iWTM/`zاdഎ0W@۫h^Xd}ey,AL١MnLLeJ_>!QUS5=*Asnja؄MENhxxjmպ7tHNP9Tx>{;xd(Ma2޶U@Ek`TP-C[ xT1PbdGp!ZDg7V Jo90y0gI{ʨDmTi;3UØmR]glsF]Tn2C+SRߙ*.sP> =4Ӯx3&xv*3{f^8naL{w}TC7|!5s3쓿unDhUcr>ݏTdS#/SM0 0"6\61Unm8u6eLWXq޶xᓂ Ƙ.3N:t}u130i 0&dmHzbci<n#zK#T=EgjoE9w>]zƖg=FCQG < LעEEM(LUW[  [Tjcc&lh<бgQe*9*7h7a_]hEؼ9NΏDk; QQ5s'1kPb97mʦ韏EgC"F+t٪_DQp#iD/~.<$RJ+[I[/AKq~7F | !;k.wej Z5b-7o\m ZutYYr6kZ0忛*OE~PF7=qk %DHqe~<$C**K~piOQ9á@pNQݑ)`OKBƂʳgwy5X"e`ꔯEQ fŜdb֘@{>EcwC7U,_c[ xb,?W3Zn2NbFZLo|K"h46^ejh?3صrVhr:, K4n'ơckR|J%t@ bKGySQ^Z%!&Q_40 P4VfA@?{)M{T#;}3!f[U4xj5 %3A)Oy4g`"pkALs־ځiY#k;U`VA< 8q(HErfvǵKa4q%31v^j7p4Hjinb5d_rqȧϭ6 j|rvF>WtuY <ک| TVg-xPN/h]h6>`r88S iESs M_Z,o'fҎ/P•xbCSnlOtU}[g ߼2o|6 wOmn캨N.=ʧ&*3m`4/jQң':j/HV~V'zԞ19#V-Y9IDf}q*4f=QT4X:35T>Jc'Li% BWv!NrbyA U^rwTZ}MFDtv^bi m ,ysLK #Ƙ3jjv4 40aX|OV+yr/U$>Q My  axA>㋟a+=7_s,b[^vw(Z=+T>G̫ܐ㠊7y*C9˥x\T?c.Lcb2Z~)A_f"č/imǑ]9tU(\c꧸>mvy_l|SDB1xK 8 jJ=,@pדiS=wd𘵉+qu.eg L,3(bDfhAfhs>i6Ҵ`̣8~ bL_-oqKWLbOHU<߃*NEmc_I0$Q˲a˵^~{eƘ@Mv}{f@^eP1m`N2X߷AkpZ)m<ӟmJX ff C\knAQx"15*t#|KeΰH;TM4'?dLN{ԭD,u@& fO`I T|XHl#q H1LScL*1(-d 4 7/t4 L>`,TE6 jyiWyDx \oaQA+iY~]޼NS3*cЏ'Ɋ15ɇϭʨDA>xC\ n8;DQiRe&OviV*wT.yVESk{V1D_08ֻj>n`(ɫ z[po{Rr@p276[_`L>ȃ<״F*57ɮ},Јgc97n.36ʡJ0`is6Ev@/hG?p,~6gܵ;li5<<ԟ̟6'IVveƹtt2j?>c+vqMpEP-'pM#1eO!8Z~0x=֖*>d柏|W h ۊ@؆m6LՌ)T*N#{p\ Ri~"VAC9%fLe-O&T!ɑR$#~õ5X^j%HYU]z*ی!46 jЕ:h/{ڗq+ZqI^'lxӱ l?zY5WsA\ Ms{e&m10|;ĴJ6LLBQxgs'S,NP8AqsFXTuN%B]1w{ 4iJ  4дANR2gCK^!;aƶ^e3֘ Qy8UR"QGA}Jn,/TzDjoCE˚+[ * A~1'ne }I9SɄh/ǸXw%EljدflsccsVN?Yi5롺hd~+{PŲcrDd-}}h%OPu F֔'bh孩LӾ*kOӾ/oKv1q7,}T9r^l>0xYOlbVE>gP;u^ZoI \?c3U7~|mv]z'r$vq$k@ &L[+ !8N8-U؈ħ;܍גb`q˜PWJ:؇z]?Qڂ:l@Tuey16ݺ)LU׸>cuovs+ClTvigx Ij{/!: C^P-e}0oJ!F:Ts3z8Ȱ)7OSP6A>hc"u!M6F_h\!ȷLC0k5nS8˃Iۖʻw MPU=u1+d)y(O,ݸ{~6/dAM[U4G=vCV3ꃃb逑.g_1KKvZ6tyt߹tTy(ZoQ$z_k1h1xg|f2Q+pK zh&4Wi%(8 >g`8e-k$|ŚCЉ[l>MK62$1Ëxꩥ(uPkttбZSbyG|&6Ȳ> 6lWpref~}y<>U[ q/}`[:GU ZRה?LH]SAL&kFdC'[ڝɁ"7Ʀn g[bfX`,Kg;0ѻEv ɚqMԆBӵ^6y=a0Q%ݾ$JtG (9$kՏ<@j~+1N&R$.X0SFy7j"' ߣ&0Iy{ڲwq蛍~`q'+O)P:eV]BS^>e NCwsTi 3 XAݕ ߱}0?yPŦi2K ɄtL5͋# VO1.=`b=tGS~ݶčnB~n8R5_La1<;IzCxQHno_c߿wی xfی6c=Kx cK[%f1c;A븄ы{k c,a.a20V36a1cy3v co/flbƞX.RV?T^R\N(9sHfO)N*-+idztl̂iˋf䗗'M-)IqIRTXRRT}1!3JNA̘Q2;_,ˡUS ɪ)yIӦ5_ΜR4|r,/ISO)fZYIQ~q쒲"⤲ҒbIٜdƴ)EhV~bseeLaaRrfb1lJ8}V>YU?[탋|qvIY\ѽޣ{yrGqRRZEΜRd1(Xxj5뻼OHVP:L==/Y_Qݧs̭:uʇ"-POpױ[ _hEϛ(I|ߓwv=>[JʿT_ug,7{~wwE\L!O-[2.ֽkq7ϟ}_;ۯ~;*a77s :e 4-LJ8TpB`^gG\(}쇇2 M's_k:~ou]wR}?IZů]7gW{]`nŅpݎZulǕei!!'EdV9ٽ=޿Vw;wC.q.Jrh0qt׍ݙ9Vo'~嗎Awm?#:l[qAҡ> 'd¬]f'-|ld[jquIjB WhM?ᵩg~7kĝggo۹4So׿qr&]<3z$[V?OC׿៱)xye/՟jx2SLc.ibvt ၮG8ͬ݋ֿaO=XhLk(v'g;ӆ)o+_t\8e'o-@=F&pQU33,Àč\ H*n8030:̌3NHai咕aYiYjYf{0s2w?{6Vӊ i\~T.׼n8u;.x8KF.;~pצ-PWw5瞫z/|;.y`wzܮb˽>_.b7_z #qh7)}υNl]J߻ݼ&~̍by~F^GsnJ?'[QfJ~)=c!ލo zCEUފ5usNM_MQωɻgvRŷ7foPP~zg-տmo\}矮3~V__li'>5ST=M9Z'„C,ӺI p|)6V-^[W5=/< |E'uyوTY6\W߼nMqn'"' uZUjrM#A9wRi'}z&ťGG)iX:߈Sfb Dq<|lٟ\ ^Qz8<_^oEA ]N6:Uij\ |YkKuG}^<˻a~4'CS&\1:6S^9EZ_zq\(q/νj-:̜=Uyjߛߦ޾yw0vsQ[ݡ͍ L*/^a=Aݯϭ^Y{wj币n߼x{o\1Z_~w3{8Ӥ/{撺~FnSr7.w =*:96ɪ:nڶB̎WQ|\ڧc3CJߘ{ҿ*+}_17dNHzݛO_hɚ_76z[ЎW];q腕{&<[5E]=~vjߋy1\j\RMoR_4{5n4% r\CØUWOٽgo*_M>sg_ՙ']`۾KoKV;^\ZJP='yqǞ}ܿטL=p:Z&pG/ {?YkcꯞSh7ٙn]}y^ϛ6 v.\'|u@ssՇ>-س{k]>Yu׾s~@4Đa?uI$6MY%?,ulho]uoʗ,>vd|NX86W]^vTKק;U;7BĭQ=.d>ߵ~g}{8o4#D<]o?(:1ɽ~a?j5󓮄F&q}]q+=RJ^sgş#.mgʧrBjK.n悡ޗ%!뿼ϩ20/J: ~{/{{.wbDݏ~p̟{DL>f[FLՅZOV/'{i]Ey Jt{2S}',+p|kP K)ňA  pdq.XZOoOlG CF}A7O}xfIfwL_\c 2OE6D]/ݳt@HsEL6et!YZ'tK|ڈ^(pxq ~U/wlK-ӾYKl=s68Oo oImn?p`uPmA?4{߿2ӟ;/ -] 3.י=;‡y>dyN~wWԾ~Klw}\r}/ognsy/Z~jlMQ Snۦ׾O(VW^ 6h-GN /^í ?d mPwi῎#w71yEG=O ҳk~xosNF|Nt[}vd=9~;~7nˡ9G6OC-Zf}뿜>K{(3bf/:lAϜܒ%'|)sz- ZӰ<{;t<gH;9˧Wvy=¾-֍<Ùa.oFhM)~vM^joy]{W7_)#psS}Yɬ]e2jgK}W/wqaԌ?6HqrsTc?ͥ϶$ յ|yNJ7|;߮|O܈ص#\z}6\js7.{gU܏J`~\rhȍIJ}SCǻɓx= gVnu猎[̏VD\;tx{߿pS݄.7|S{S{~J[#d#~h?nG,KG^f8yx6ׯ3o6\.9or◬Ws93$( =EI!wP~H®]z6|][OrNL7C Lfv/k:VTЅZjWTYc@ ZMqdɭq7ZRU1s"r-<;$㙊2*%wPuZB x^8bf;YJUZՠL4՚`Κ0S>B#4}7r2-P*QݛZ@c0nb$!h1 3I5?iol=| ~B_B.^޵m,ar. Ny ͆B:x}\?fZ!0LBci"x*l֘M6H[ac`b\ZRA٩U|z2шfoC[̧ cB=u؃P7Z<t*hb4O Z<aVbxpSGB41IY)Y8ltPj C>0Leɗ)iB7U1F'Ɲ^'Utd`i_/=dUE+| kh#Tuf+'VkVuK󥃆,:&@c0*2Z+ *rThW (%UWA^;Ц}5y?G;LdYqcf*=#0w:BJ#dvxy:BK^:'I0xBJg98TA g_"t{)BJrr(+E rذ*Ewز. q0#T PK: 0` BW] i"t\ Rg"$vh L7p.GKpu9B~ hV TPuW CqB%;W tFPJsX w/!T%κV#t !jzxF(`jfa|=>A( @5L\ @Zj|mڬG(j=Bf `kQq!t}!'Oݯ# PB@mO1: 0oBN^7"4 7lF7 o 0~ BڶmA-[i 6BmЃEH PP7 ܆ o)lڎЬv;:`ζؽ>Bhb{wv#=@Ǐ:iA1B?A:>p3C(#z#o#Tt8B;BK;t?кNe: B/  >2'ݍ`F:J]<\U? j|FxKaX}p8|!D[u_^06#gN B:cBJy Y5x_3+Zˌ!P^˄1t:K.R*uGT#)C1O Chg&Z(L|Dq-H@H)/)%; x:)ҍM7ޒn N z[DEIH,8R)b/%=lKrg!KS&8l}-q/=PedUEhBHz>pW<:`h/xzBi^EϢL g lS :u *fD܀m,:!@i>/L|*E2^G,.sI 5*$ $E!@E)BWEOP^iXǨyx6{eI=(:Gb1, OyRGI"KҒVY*RB2\?&RKfnp\qT辠pYjؖsgH8rXq~iRjpwSv^hKw[Ͼ5 3 (^|?YpNVeu8UP;|N,oKpm9Bm]]JڧpuvuKZ `;MiSL=g+K*S(Z8S=.v@hN(Z๊<>g5T 4ʪKJ|C-EhmY-g{(ic%x\,صj˸gׄK2\ƥ*?ۉ Qf)cencqѕu8o;V'PRPXOUIb* 5i^B:Nmqn!L8n-Chq]%P!O,;f6UpqB7mmQi8[ `eB&C2K"da͍<$/G(%v 2KQ>q(/aQHa_ƶ^&J>\Ou9BV| @rmG"ǸF#Yk;vR!¹* nE|bS^1_71Zg;y _dR>(/0"L(#vz`a^>pV"dIl=V"343aϩ8y {B TPtucr8ҿ# xz %Ϊ?Im2+j9`/?x`G5BSH~80C$Q!lڶ}jp!Znzl} @71&$XͿ"w }!o6u `ZCD$Su4j@J &g.L)*^)5eXUkaI53R&A ^ib+|HXRx- kiD:e<-:H#4 QT@NmHuqMV>#':BH!eX kB/dfd]= 0x] !(/vF{B[5/RZ(Źu5N#   unH=EL|iÍip)LffJ75 q; ۄBuMh`{ v`&Wb+8^,8po P!#0ka%cն"gel&-J.T) SSAlѷw$uCWMfo cou'.Qo߭k1M;H҄K<7 hfY}pMńXk;?eY fmjd"4jmPT 2y0w?`{-Bhk2@ݠEc\؆P%L|7-Dj+&Pp5IYpٵGd%'kPgY3VD˾.ٶ8!qC#u),Lb<&B6ͼ v'ؗ`$)T4Cp U_#8k]-7to?۳X ,%OI|Y aїcɧSX#xo*y,*;_B0s~ɢ5Fߊwxa1ź,\c,^('cX:Ay'kXGٺyn =-,!HP)؅ v&Jb>B[!"=O#8.ĝOK{-ɟ;qBYr%p%=Ӻ. K߇}ĖO@>"j擸G uݦDߑ &&XDp!U7I/CEbG F'8`WHp'OLA## MPMBn$' ^&xK,I`o &&XDp!U7I/C%O7HGT,"* $xI !"#M0`<.$F;  xewē &I0hjE\Ep#xrx|<BtS<^kX?__/2|m_M\:ф<_cd|˾]3OqJ/7c xε09H|ㅛM\otjƗ=^_L|T-|ݾC`ْԬYǂ5{K+.,u򵳿ό<׶Tw8cWt}x)E̐#_xNu>Qv䦰є.)zŽҥg3BFX\]ԶSC~t&wۙ4E_eO>1f7$?*,Oؼ'&=|dr?3D͚nIzvtK~X0}p{u N<džm[AM*r^kz<LVF=$s}coy%ZZaT>] ؔo2͊fbj`ެ zh+_aʇ`tizf#{;g6BQU`ʠ5D4fyz3U%fVkt6 Uj@46ؠ Q1 ]P8`ɗ@˲c21f " 7pXO^0v&ys(U.<!_\.Hpv{#JZh7"DF}vZH! ?ѿPSi[)8Z}v#V~20"YGb2C"K%?^=Ffʗrlh CϔaJeо~}YtqF*HM&$`ZeJdѾ~31٫W}%nnI)#9ҿؠ^¤}-_Zjrտd*,ч~?2ܡ{Hd!Xx՚i!.B+т.b+@K;`(~}¤) ZpE,o}1]Ģ Ӏo_;U1*\X_1J-CE,Zi.Ҩj-{O\WDEEv%_ESMFKp.bѿVh_lC]Ģ'!.bѿ]Ģ 瀁.bѿQ3+rZ%9`itP*iG,/|8k|Ҟ;vU V*-x}Ģ͓}QzE#Ma:MT'W,/l4Z2sN)'P]Ģ]dK?G,/1(t+"׬o% hQw.ҨVhh_#kZko/.bѿVZ'[ sv'G8XoT/wX_hR=I;ڿ}Pc3 `?`@Xx@̇.ʒ-]|Ypm 3puB[[aÝ%<[Xӿ'-Wc8g|A1.hI(=ĶhGChmb6̺X'E.Y'."B}.\%%HHlj`F]2+*~!$F[쥿V_ *(4iJ"#ÃMPMl#!%  s /$nNVp+Dl t[ꛂ]7gnUt /+N[9&f6O7ohn45jjrfyԌY3'5×7wll7W5w4mO ÓRMW0-p;ēƋf@nL<0mPuFS3J} -GRi̠65:sKRPh,٘[`l&'7FjѨ7i~**Oc2j@ѩLuLEVi d{/~XUyux|‡}~,F?~2?K:U<.7x ax|wŸǏ$8֖Lx>ǿ@|<~'y~?/,wy|+ΖBL<~(Q7xi_#.GyW ̖GmIxy O/yńwr?% x[<^4(ߞi<ޗ< g<0g<>{{r瓳[^?ǯǿ? \_~Q<7C||‡I>'R—*Wu$|#)5os'7Oxpx|w§$—>ҖJx?!<~1<~'̈́/L!ہŽȝOqu"$. P{m׿BH]%>4g;+uf7tֳG)lAye6 }o?>L]\p@~쑹9D Fg՞= P%//@+Bh'|!n!B=33_^}%d7;o&b7C*eQ1K^1Q>wFW#t2}>BuN,X~W^~O^}.^bY_h!S[uG K3js4yEbXAĦCZ~}B0y/J,~"_v(~ZZ\wGs`A[^3ڎV f0I:MaWgm\8N/[Pg*/B^'0eICT$ ^}/SӅ`n'/?-QTؼ"R_=Ro`*JϲHZ6į"K^񞤱\>bkiT+xbWy|ߤ貃l6O^#*赿- 8!qC1s8!qC'JsܹT*w;gʝ+Α6'yRΓrs??ss/sIzr1sȏܙɡMk<b^h&Mm&>IIq;OG|;OdΓ:ƃ:g'/oYZ89{徳pgYQ1]y|o!sQp!vWKs׿svXW|IŸ{&p[KoHGT,"* $xI !ғŎ{TF!bcRASѡaaysXHXX3aA>9 hVǩz5xx߫w ?[v&9˂f"`R\xIm|-mK=x>ݜ5:3Į q, @'SO5Y –HLL4e̵d ^F0Aqg:qv ?'lh?*} .i#c <W&Si_y"K_6\n8[$bI<8ӮQί z]!(|5Nl"I(/`A[!tK!{ɪ?[l=?-wÕֹ&˄`ԵD .x}B0>$q. _SNÙ뾬9-x q1[ ?x$p.% $ :tROc[ P@!@DfR@\D DC{aM},XՂ &n*-tvxb%am5!sq :k8OB_p 8>p+P1[6PGK(\# \p1 e?!ۑEpwXBa#p2\=ҜE pŎIB^^8fSuXƤ\%$4|!ӥF ƌ).ac;0`FfSO3;\0W\V )(3Nm+"!SLSP3@Gu;&3\|52çp7[r ;6ނD{z 1烹v4\p^@<Ý-75UE0BU0F7ip"Lm\E.Я XwMdž-r9D,{J.={Nn:1Ah4ɩE?B"p6Eg LƦ4ELعi&VCr[, \1Fbl@]tӁpZ1 *׀} \Cڏ j/RhSti7ߒ(qtH.\پíz :Sc}x"&jSKw~$6[)8ס+Ԫt %BDL6@9I`qlmd"$%G?J |q^ޝpW22Im`&X%L;B7r  2z ^&$ ?Ra0cXD/``[+k1B5DDZ7S"RpAvɅ BLj\7Rx~ߦ20+kSA_Ly Epuls8 F*Ͳ2ƏW΍>X=jk-LQ=L#%pϪev^p鍽JJ:Ō^]"D'#9'}|mOpt,_r]L IZJ[ôsh4SDF.Y8 ಈ15$9D~l5)6_ Z ~ñ9 r#F3K ?i'xt):8x@UpܚhIWV:>q Q$["-=L>-{Zq(KqN{1r}^ Pp '5qcPE3@3@/Kpo^etZmɝ=UL|Y3 v)27hn32(^}:Cb;'+'s {JD )LO!O G'v k"} v]zd |յ0~He88X'd!N 'Nrp*[ElIH,, B1Ƽt --+eB)<(P/agshXx}2?[wι{ι.[VHev^ ;\Sg:Y:{$`$+$E3 b2r%؏5)wYw5-16,hJȺM'M)l~OsLê3Z]N|p'(_04z6V8zzuh3zF!+,N&yY\s*+J$,OWeE&y&kT fRS{&[ϪV*,յ:єgӪSZj=ӤB R$e=5>Ҙ K<=gN?jK-х^9t{t2=CDәFYA(YE&;0QW:>g\4XhJ:E"<9Uۄ4y[d4,ܼX/2k;1BZ2ΦrAӚ+.fžu ؐAscBۀin^ dP `LJ.Dv k_l>sdG @cޯ18\ͻwFIy8$1-xJ{lvN$54].ƬP'h8%r!bKH54_PLLSɪJmrܬT"BO^FqJnFSg|Cm%1nhjMEY") T*C_O0zPCEy2.k(oCeԃy d )Sbo33wQH-Y"T!=T[$NPC d"*AKyk1CS@y ͗ =4RLm|įe%|#] pTZ(R6[cF<:Gmr|%,rڙj=.e *b_\*D .;ͷ܍yU_wh9~*S4R zc2n!5[0LW)/*t0ր"YKj`5(m*GDm29HbjKD(wP'K[m2YC TǐF'gS,qJ3-MII,%ԆiSQ>KYK2S|7-3snʓL}O\'Ohj~ުt=>ΫчJ:Iލ dރ4R~ =@LYCgQReI NI 7zf?`g*73vq>4M#@78kC7MF>o$ߙbCa%z'ش1d %v뻽+,~VSp@8NDzuáD`˞ŋ5y߆TZz,'E޺p2YO{#H,B>o]"bdu!u[ե#Ѿ:5c(Qh`"j$KY±Zv "Q5w'Pκx"نܥ7뻙&Ԉ/ pTd/vq8Qj\?J'}} w[} {$"Q5 JQ# ȥ{]NcJ\$X}B<`| BC03iY߽.ҹK߰o3 0lM}VnX+ gX"24ы45;Űٞ2|_$4Ted rЏclHcJd̏tvGtW1w,}Y< v2c& czj-D b_"T2QߛQHE#I7!o]PdoXAЫVGHl{a>`*閦V9"UOn!GM,B $ߢdbJ9"dT=]fEӊ3Fe &ni%mtND0aY _J6JW ~N1H뻗d)tH/b$?d(dpR5ٌ W {\*N&^ሴIB>%=Enȧxf3a>93*%n+sLzO׫d .-I48!R ֤])-Yiz[6HP@Y)I H,/#`N0.љES* ]@x6 b҉*L16Q)(Nɦ|P 剂 +];Z PSx_J*232tU 0]\N*@j..x3MǼRKMRQ5٘ߔVT´öXYn2D 閔BK,J-L o33IT\E6JUƨ>ia% HSt3ԐnfGTXI6,#Ҕ9$ ͙!I񐍒8 W Y-96.iF#ɱNv)l`A^uJgShE [4ͰIF+L8"(Q=xY t{uvԁ͈/J6󹷘~ 2Fjx{Itg:U Uq|D\~Rq| ӳG27^038(M^7녲83 s?s9z1v^hWi6y%Kr.r 6߄wUgLL=2]50/64 s7  xu9\B (sȿL9近=>@>+2>8Ǿ90K78}.L\ᝧ]W/=^Zsߑ9^n{BA&ޯz\ sn'r?Ms`\(v/CCCruuyqymjͼV}ީSP" G^wBK ؎ ýA 8 r Wo !ضe} ;mذ#aU`uEǪq ֭Bv"Y}yw!s#OW,o2>z ɤN#WI߀06 Ѿo~[%jxZv|ɽjhjBO3v!hL )_<^``(9a=UKB"*o O Q%b_x6ؗHC:*:q\X/ce#:|;IƆQ|}`(`dؑ2H4lstYɀcCjJODt13~Ƒrnk┦ ~;#5r/ߘw(FzϠ\ws:]6fߡJF[y13k1R;+x]Q,~73Ͷߝ^ſ*3FJYo&.8f#8sYmCf:GH?~n*/EUY gaqOx6?-kEfqwrVds_3#=Yq*߸.1҇?F?d}abgot|O'9g?r|d\n?o\oG;/PO?nN&r8qF?ψq=>9ê>8kd?߮v($|t9>=njg;T2Q#8Q9Z#3m\haC46-X`~SYoдmH%4.+۸G:V $ZE8ݯY!C LgsJ$dYΗ}}=c8{nf=2Sc %$kmEO0%gV>D~m|8F36{{[fj̳O3.H jmoQL:x\˚ã6r󐔙R?Q?W7J/-1C@,&^\qWg*xM:?kUגF+OeW.%9΁^rq?{v́6_^97rxAA|ŕ/rWz5-9A|/a+r!_'7۵9sȹ(}ḱbȁ#s_[r =A|E9 s_^s9A_Ǒj\z1>N?w}4?p9dəɟMI?G≘KA5MBRM @XFt2&É]x:VauP__B'HE ر7f9d8  !0A$VQ5ݡDtRѾ~q k;S*{6RqFxf^Dvseh~= ˟=g%6_[nd ?͂gXXmV9<Ωe-IFo-S[ֽ-x-cooq4fA+ۂ[ÂZGKuŴ >߂_l[/[߂>C - :X|k'K--2  Lo}?ɂɂljWZwXS-,xo] :|؂Ro]J?ӂgYXl XfYłk-y|_g{-x_k[ b ޺r ޺Դ߂.ii[UX֥j/୯ZgYq J ~ԂƂ_f-- & l V   ~j୯>`3Ǚq8s9gΞ{3`mZL[ 11MӴ7#'fKG aT=qD/QOb 8}:g a= ބ0^rh`R+Kn/E/-O/fG/)O!sv3\p!.b3a .a3fRf?_ko/3y˙ ~ f?$f?Ax2E_!<go!e3f "~~_p W"<gpY~_p-;gV0 ~Ax+c3x)>f?#\? ~W#gf[Ή .j᜸ ^g1g1<‹ ~%~~?2f?p3B>#|=VӻYjݭ.hdߚѨ:eˠc%AM/PMy[Fk~>ey%@4M.0_kxq,v,yJݖAX4?ֲSӴ}ic-fL(ݿm?J_Z ?xTk ] |l!?C+_to~rOQ5.@юL}򖯡S+Z.ĪW-/懚6އ&h `ky`j}t`9^]n`U|Z[rO%+f|ۇv1s5Mkny5:~ϰ8^x_H4hmw5 O\:*:t^׶/Z|?w񟽫iK^h݃״#{/MPF>hyQ\6ޛ.uta`!wѴGIQ]8)Ѵ%O['^4M/@ }QiF-z[Myт7x۾Kj"܅sYI*0_nk~owQyVP6znöe`ٷy؀Gy?G/<#m5;F:jWU*VY0悂فx/`C,&(d?vU _ ?Vox{wI{G"K#/79>}[N> to!]dDC#5Zc:;b/QcחV2Mmw>+ {Qquwm;ͭݭ#k]F7ֺ;Roa #ϝ?-34~ẁkb^ȩ?W lyηǧ| 6%/ɓd<= =ZݤX[8bZ?u\mt?u):RQla#7e.>z?zn,/|`S?V3"dܑ\-McGi.6y8nV5>./ܘ9l\Us `7|]!?AM!ыO| y'lpxC5u_,8S?Vr<$hպRX֎wc&UMӎx۷K(pv5kZG/Xq@s.l]U+'~&W_R6w0/iZ:),?^Fy?rʹ8񊦭=Xc脬iZѓ}bsnql1÷yE5MǡS' Dx}.T{҅ =t*݅y% ՅBw:A+}=JlO~lkF/kV4TOyD^j}ύfikG=^C#Oco Fl0k+vk1whO}YN~{@ZcT7R]ȻіYlaY@c3Nqlʿ'!®9lZ_&Ŏ:T~nc~o|֩cGNu8}Ʌ"xla K׍_.<>@yEX8e:s9g3Ǚq8s9g3njRK?<IQ׸(XW?# ^a%X7HrwWP {Y!մL]W\ CV6ֳ˾{v)vu=5&qyòFф{] +Y+"{5xϽgnsovycXc5G۰gU ۞Ӵof"_k>4˦?V?u] \oR`qІg`;0p-nw5jWX*gS\G\[Oп]&?iFCWh}V(^\t+?Y]pyM3䰫մuwO> I#a}m6!E( q͢ 0x8s9=wLݶ]ݵc |~ߠtj~?34u094O7)45=4SChl|?5MƷ8ltƜ$ٻ淴\1ߺ\fg8l*?{4>YDkl8t5O7󴟧xz5O?ӯ<9?,L.jni?Owj~_yzOs<=S;3yyRxz5O?ӯ<9?f-L.jni?Owj~_yzOs<=S4[jx|tނ~^>ށ~^>ހ~^sʕKCH4̷ DTcD2}C>=V=Jֺ:3!e&aRa/>ψ{gfa,^`|Eih$Ql"Q((Q(V lU$neq5nRΉIۯ7U h80Nɉab^`? _2~@ :0-o8@]P* Řd9:m4v,`_W.0Kh#e[ 籰u HF lN>,O,E^yz ,իU@z<$kiDP˔ 1.CyTR> GqEVRh.C%aVf["6k~ouʰ{}(>@:P"O@$ioE%GE9)d )t(@:Ҹ*Yr^o:s`V)Ե)\WJZ=>>dŎEcf\.}PdkeIyi `r޳X8c}`-.*UÀEpJZB\JTJ[;@\s>D]V\d5E_ I%yfWw1g)w 6P_[8lE ma"m@y`+ɻ]_zʥ&P<)xQ[P Pw!4#Ilsmg0~0~:Qr; gL$6+'nȄ,H^k[u [*^E\.o`syhg@"ä(c[|KE.CN.EY!F*,l3i<.%zt 4(""(%2@-SֲB)Rr)9,`s2j {nrFż ^˙Khd.B rRS Ů8Qb\Q]8 ؇/0+2^q$+a@Ԉd h~dp1`Ԅ唻&gXM&(v)@09Anp31ogR5m4JE?sٺ.OlwHR i8&<;JY[ H.aA%:&s ^G͂F[i G >w4-2W[60:v54 Z /p >gv(86C}@%ߖ6PrPw2?aƜD`|;e|,꘡b4b\vX l%W[q Gd )}[(ȗ,Dz S(p^jGyPPR4zQRfY0 M1Vt|)Ju#6#N( EE{[އ-hI& ۋ|`IJNa[Ƴ`bآ.]~pR96aO5~oDmr +F%1M =طDMفb} y1*oT8 jybv;gVU ) ɗP)8>H p9~|<qr͗- \ p-x w1=.>b,${ |pL866CIU>'2T4#ٚ(txiz~?)C ?0LLGgi8IƒNZ; bහ Oy/;D O9b58͒Cf]R>s+-ċfZ'hLoްC/IF4AE7 o:2^wQ#,?1 = ܄C)v qp@$軒ړa ){T[ E,cSnt#mont#gi%N! ؍r2us Fi@<+80 ։0 6YKo!Jr{5QkH+tQ7d!sykEU8SPrʲys&d]cds[bZvLBa`@u;Dfb~F+%(8u=QۘYz|Lxc\7EM!@Y 9FqP=9']_7 ǐC3Y|e2*)@?+ˋfOR HeK2SiVHuZ{+ 5֑Bl@t?"^AI @|+$Pēv4巅)rMs39@Xε:66׊gotnh#lpRN!6n,0Ӹ]mn+wU`6wU)Z `a6)a_ڣa<;Q9՝- Tw\ݩR{)UM,+6q"*N*)^2|q|k, q^:CCͷ$J~Z 0#JҀ'(?)~JG)XcÑ|_҈qb<śN엖8Vx8e x2@z/ ʖJeKoO+IP|RN7i9ˏt4l(i2G[[%b;L` @[8P;_UlHUxW QWβU.{~pl.sXC_+'Rɔ8*xCQ8z,; ;@.k<{5;lHVKw}Q%zl@:Zt^F@n@86P Ʀ665(5"d,/'7Oy AvX@2t9vS#}ycY/p$N ,NIx VQ8e}@ h3pzyǐ!F8Iqg\`#19?˴[ 0{ c (y={{ߗ[~9&ltXAk*@zuMa6uΥ$ E`Hl^C@-2;WE\ļZ"N}G(-+%Ft;yO9zo[bu p`v2ufDwp<<5~](QS7KZïG?X0O.t9v4UƻCڜU+(FLkK6UqYa@s>/C| /+)*Kn[m<u%+o\gmz^t"BlJ>e(J>{ \ͻ/&R\U͕}ȶbd?df e(.م6])٘5$?K. `H2d>h=Ccv3γ @ YT>rNZZE9T9+cev(dM]VHev^ NF@ά tZ* t^ iI~ ĕIVHl/fD5reJR߃UY255塈16,ei|H+ @Q~<6k 御MM]A8wzr:*ٞ|ંvODW%$t(lJ .U O& M(C 1 ۾+Kޙ]'dP ؎J./.BCr*j$ٔ}. ;A]\ WV|v{ \D.3qK @ğ„v ]PUf0rEbJdyRP<@ݘ^I%y uȤҹJH eBTB2T2*a>4O$}_O1)qM"4_aV% 9 *{d#a@h$MKu_)=d 9~ 6SXCbJ=J |_oD`<*/&\=6Q5 |EL3 !GJݲ2z+ߍ }X=v;U6RINxgVE:%$0]1X0DҼɔz><U*A4kyDgO|^%z'S{(HTE]pn%K? he  '"޺PweEuuoCRO}-KxpR E"o]xOo8'½d$mayD?K1:Rݑh_1NProw0RS^5%,E\_H YpDc[ucNx;WuDL ؼ7[&Ԉ/ pTd/vq8QjZ?J'}} G[} @2]fۄ$l@7x0ߟ VTPR3}2D ݙg?֋H`;[O%hjG^`2beۮ[jI?&D$:0JVAwKcjXERӀuT$.T!թUHc)1nMdjHخp %D8d T4oܬ?7 "d8 #C{m(eTAPB i*v#D $ ɬx"a0UEtT槆wHXΤAW0 GA2Xlc;Te]Al*:!z`02w p窱8DT}.n.ǥCIs_N\ A5$sJVQ@t1Ge0uzH{/ c$ cQj, Q56Gsv.g}^B'Phh8A QEZ*=j}xؼMW= Eh, `RER2i6oн k2]Va_,c5f`}7.b5U"fËs.D%D o}69KcHMB$ c) "C('Yċ`pW(8IA54"T7ht0T24~Ox$6 `RM j,5wOZKѼ L`2+w )qC|w_wdQyvV,+)k"K 9(>ЎPN=V^8IڇQ0H8K䵞[N tDO kx(l:|o1sZ G3z,l%(Ux`%3QTc$ 8k)gNDp"] ׋iI5/QC}*D{R}XBDLLro"V@F%!')A.DbA 6XΰH7շ7}AHđujAhfX]%վ0DBbh$L$U_4s nijxў#Rt}-`R M&f%KSI&2[.B)dFU\i]ҕMH@ VHNyIYM6Kd!øE,A)J/!ۥKYKʠHuiIT>tJ.iHI&E ,^J6:M=B'DknALCl=:s>,vSs@g0:s1oי嗛ln)U'ҲL1 ftIRviAI9n)BΗ!IDsI@{1(Z;N=XaW {ftJ)yXl`ȂIl:fi@6K9DРC{tI#?!ib&tKV%̰m-|wHZj@Љf/c5fVuzɤKGe0EkzBc"_0uNs&L>-V"J6Kф$D$$iѶv1}iyvR1Ր tK}E̾yVg6Ni:yA)2s.ivu[Ѯ;H?E4˼j(wD8B3d3|4C [rxFS4E HIH鏙2d.̐#)M6iL ldʐd't@8c/&-m")%R:BzO(#i]HP#d6 FdxD ]GF:rH6K7u7;qK&]Ц#R(B6Id}k#~~iraUOIgOr|}MS[Dr_).J &Z&@` T;͖Hc2EQHC%O50Lf3W}i:%%50BDdx]LNdy}B ۥ+J&i]Fu0씚NiaB:ϐ'N`ItI[p#^~@ņ(e*!Ҝzr(/~2Y~2zWg=x VO6\4X={p`fO8\(fvP9tKs2uE0ǒ"-̷݂H$ Vnfr=IIYݤO 5 l&Tڜ37gnlW[?$KC#UOS@g 04l<xGyjVBCFL.]NϧbQH/xQ; 0O\hVZ{4+~kɻ@WM*6itI_wDrՐ.=tL7o86`ADj6`%ذNDb!$c$I%ڴڄLoi.h#yۆhH'@"!8癝W7?>ߝgfgwvG3ӅZ9æ:aff]< aa< üvrϒ: w4CwSM_[K9Ӟ=~"O{)R]%NN' -ܺ([.&/ºc &.C!-k{Zg" ~:IA`$|F|}dХ-y?p}X5uC/@;nuu]S࿥>~߫G 7]IV;4x4x>z[F#|DOq'j I'k5ߠ/kF\}/jς_F:45h~ܪrˣ4kkgi΀vh4(/~hFj4U [4xLpO|%v}jF?/7Ĺ<՜ιtF$TԀΉ9zi><\\\6Qq{9UPQQ,UL^\1xZP]\xS\YVQU@W7V,o\TY_QilvWTzW@U㲦OMudVEessʊOJ 3'*˖E߯BE r q*7UT@EѼK@EŴ:fB4-[NUt9sjKx|RUW3ԟ;TT̞>jE%Z~ɝ5ljwcE]eCu} 9;qrzE3'Id&i$NP,gu/R+Xӧ`[]sd:G0,>#aI3넄US**JFtRP4ĩw=ea|7K ":SO!+j/i*tx^ފxy3YIw G3rBx3MVQUEC{2O"J:vDF5ANC&gq7ٳTW鮃  95(Уz&x9!HSSGnJO` sin$yW.[RPYvCNUehE͕ kL$eg-jYΤ% 5taƪ%uSa"G@^I\x~k=WZD? ceg1?rFB7/b~;Hl ?*)Սg1_Oϱ,l?$ e Y}N[oH osDߧn.>0Ԯgn%'u_Ch B?w>'gN~R?wr'BVN馮ol~g|m7>Ag:h05A?{eZqi藖4x|:l/MHF34droi];k]#ud:Ԉ:~OW)֞_F?]߲V#=Ο9;6(K_\?V?v5?A#o(\G},WK#Q5G-Z0Ct˵?~<*ɱ}G7rcnj DE^E|?s^n@.|k꿮ѹ%\k*/[ ?z\w_ Y+˚.K?۳2rwqT56,Lyssix{1cFn7~X5Ů:sT'n^GՕu)|HB5݉Vq.7Q{W[wXj3g/HrcGk2?"$xT)]HrhlsGG1:䩾x4 ;66~fTsdұjIӲ&]QdѨe^w}wcTzYiۘvs :N |[@ߗYW=0͚/,Rp"8_=zǙޱO]J4F >\??!B׼B#j45[4F _ 5i4U<=ߏw5p%uNN3M_Jx_&gQήA7U71_SXUY_M5 YP M5͍dfC&x4\Iyq)>󡡾a1l^̾m+sjh^⩁fƲ9ʧqɆ Jqs,[ָϵڈs.?&|Ŝcbv/xޯG&{OՎTBycf\+${Pγ$g},_ 90$>^Aְfp۩/yw7hAڡқ<RPtLr[ypQgR&!HA#"%d9R-˲w6y, 2,Ǐnۮ[Y1}+7L :nM&DΝۢy,dYo*ݮun]v;fOiE>nr1;rѣ1)3:)HN3+fY69kJIHkɬ[ 흇;t<ٓGZsrrvgBh^ǜ gI\Dvx켻\Ux*мS!ߑʇa~~,OvY|z_;g" {lMdي4Դw|pÀ#g=_Oeo$fѦ *09CKҬ!CqZbQZ})iiδ\gZ4ii/]vݮun]96?+ñ9IKE'㰹=l#惱9P͕bqO]|2$IJl zE*9Hl͙ʧ~ܪ36]S"ߘw>߃˟_ᜬOQrWO86wGԟCZ/})CoS꟦NKk{}˂sӦL`r7-iU,^ae7oJF⍌׵RcІqFvd/K/kzѼR)/}Ed<{ts&ʼ#"ȦxS= $XxxAdŧq0D x9 =$5. DFB$Ft{[ @:k"a󑲳^IB8gsi}fE_SrXitm\DX^=0[Lm kfBI#'1biIO?`l@mO&xKC4$0_,=P[X $TOG c@b4B1~jc\#^bN$Z6 6zKI\ʽ{-g;ᥕp%6x {h4L-|/, R;ceSU5鹃oRykof߰en@"uId" sRLUĎ9KA"aV 3* $!AY T J@T W{cdm@UpKՑ9WJ?!Z>77}PWk\SUhE&ZN(ӹA' KoxxN߰qN)r _gH /17$jQ0U 7&eH5M>tBl%gf6lULs;L~ Í9-6$jR~ [L.X֘/\F)(FY :a`: `%˖ǭv j@LLz:P0z`ߦ0 `ggk0?@ӽ@.3l؍e^xfFV~h,%L}75c:k|Mb9I Oyv=$RK F$**`WUIK%I0mjhޥa]*|# - ƋUӢ$jsͶ!mَ֧9ͮ ~ ;d[F xXƧgtZ!" I N>COOM}z|f`<}a?׀#P6TTA?oyOÎf/uѫ:ط'%BaKH7qTY$@o!&<2E)7קM"LL.<` %m t3Lai%X٘zJj J ^Zb^B;IPzKjdU½B5~eiӆRXL[א :g*I;4riI`n)Ę4OD&@Z_U *z$[!Sj@}ZǒDwH/U2j3-ʇ&c@I(`M@)U;`j Q5ih!fHNz->I_g)f3 x]V"_y2+du#QIҰ!t$:9yS8WAL6Xgo б1>Mubc)AҞO{! 3uH/3iNFw_?XNdL?(OOC g8!gϼ^Q7AŴ!uFӨ1(oyr14C#+soH~Fߙ󊨛!FA)&$ʓDq1CQ [zW<1Y_,Eq;()3 E|Ahr׋}uF}r9ɿ/==IIύtbQY`\L2_{8O0 b7 KbHM No,7b\.ZtoEqh"3āł{lHĆI -+4.&1GMŤi(7h4 3h} }h@_^4bR18o1}4׸ ]42D<!{uboRZb6~$QGDեqE5aW+Y^!&JJrYSI=fY1q`IZc4mx$}Q?^Q{Q0l99:~;bzK!gQB޿ʲ, 9*z/˿Q~VM6O =0:݂yqU?&G@02딂-5{PX\PӼʚα"\-nS*(f6Ը= K[kkVTոM5UKK\es5Ke/Yk w,iT.q+ҽ|ʳ!]C|dՕJܸl'x;.nͮ--$O~詩46z{w{]h],1ߺӟ+?'4{ɝ56,a+[ӟֳ))l:ozyk*JnZ*wO?맫(y%@#U`K,/-@u[ip߾EK<5غ߉I/]⫶W2C0ߺ-Knt=듴wWw<$Nr8^D9~>(9vꍮ}!˹!o"(B:YyŸ: ~M\ }!w{j="AgTiFg ]w4^z5)SZޫSHV#gYzQz󂲟`*nFAهw>}/`ɺוꥑ@]Y GxrDt\r*_ >Xw>wnFX"^tʗjg2jf0p J&>LVF2_W-Us30:Q 2*So\ͻ?p>YE}Yl"˾f~,6ϐl7'[dêh,noO%ѷrn^'ݿ/]O3[ŭ;[^-s_OVD)._6_O>Y~!_dF(5_O{.3Gt,R*8ɢ+}zbk'+W'+2E/uLz)ɚ1M/q~Zd__kR o(]ӶRkCy >Yߵ\ qI+Tռ2q oӽqL?^o㺯+X/]R_]Wıt{.WrxW_W;n,߮f~w]Ϛ5UVKP[Оs.~׸S+߸xqMRxk/W]Y^˔ǥ+gU^J]Wu˕GwutzKr]Yu{>]Bse\k܋/W".^K/Kp 1Wie?qTvqY>]7cPuq[g̞'YY<՗kR"Zgu6㐧:7pl4?-{_ >k/Z tln.A_z _]I ȦMXW=0hoߗ%pw3>K-zgzqwӾ8jߨ5V#c55K\=4Oh3O#I#|NF4x? ]5xF:.4wh\$ F:! =iO57pFE'hCHI^h䛮ާn5s?F־4־FQ ^h_j#FRcQt?B%_Oy!b=9gfOocߘ=9'?dafOAyM('/ZTFy[9.Q2 9^Cy)Ǜ)_qM_OOR(0aA^Cy?bvQf,zgv(~.)/@K9>ϥ8>E&Fy㵔x3m_Iy;s}-)V?9?;?gfO-9>Ϧㅔs|0"WQnḇr+}r 9MrOFfx8Ny;ǯK)p| VRqKy)+)_ʛ8r|=<Ǚ=9fO'92og2{r̞ٓ=9~ٓړ㩔o7q|(a|/GS9^H9d'i[8~3Vϡa/|/ǿOyǛ)o+`"_K?`?ٟ/1s|'?`ٟf3s ?3s<M(щ*-VPqrIy)gP (ob}Rk(o88'9&ٓ3{ref7`v>f71q/0q<(PQx>{9>6ϥ㵔Xr Rncr)reʛ8هo0p|??evIfO񲳊Քr7sr\<dz(/x1> y=)C7qx>RrAzN_AF)MF0OP=+^_CDyHy㿥P8?k)p39H~ʳ8$|Jy!Ǔdŗ8>RDy9k)_5qa}0Hy7SI(/\3ӟG8ӟ+?9?:g#NS9n8f$r=Hy!#_P9A09n?!)r|<DB8>L9>L09ٟ˙/M,oIP(ܠFkBۭ*WůRwUjoSx;D:ϝQqlH3'4wKKU|'T\.RqJU\TO*BOZT*_V*QS*>H7`ߢaU\=_w_視MT|GTZoW,P*7t*lRTܢ#UQ׫$X*QůWTߤ*E'xXŧ@vݮun.+-ߞ yO8t.$"q-%|q-$Lq%((j%dqHyidGChGl!'P{yʽItR~"D9:u}I|~D>r&)??F?)?Cy)?<ȯ

'u'yR~"D~@NuL 8fDF$r\] H!Ǿ"6KX o 饠*%Dx|,`m3t\ =r,ޝm%Q)ʛt@l'\+$և{P,K!tY[.Ȳyp _ 9'W#ŷHaO<؇S_ 9zy=~A K[ mKN )(h&<3Ig}Sg;L;f8Ig" eY;&YOry ,7nۮ[[ʂ3/6oh{,MdY-' ɲ09YFmR iGx:,ػ] &a%.K$)$~^ ,z2c_N\#?y)h9/"'`=GbOJiJҲ#f9 r 3% Z*J!<}|guRH\O9zmgaH)X|EE_mJ! a.)=tN[^C {vg+}#ٮа12YR܌`MjqgL1)=,ey,> ~G#<'%؞֣̭98on8'v rgnf7=p~TڤӞARn Sdb[m3=I~-_ﰐbCg(gۣFsU2oNΒdJ[^),˾5YB`:HObp- |$EV,L)G0C{UDvr,xgi{Wͼ6„.H!GL!@&-7@t5^z 4ELp?@t6ZeYb<3<-?,p~V3eH,>Bh {{<\ϾP~m#_2X,,LffI-ּ$_JU}*2>W.D8**̗UV Y}`oPMҹF*TM>+Q`]ath]14Y$+D![]{Q5Qljr0@I`k,_L 9^!$E )FEFh3>}pJA.3\A|Tpd=֪5e*|og|A R`̰vVֺbq`I [ ͛&K{-@,徨yΖRjFXA޵V5jPd95 )o#mH%ŒgL܂ϡX>SXP궗J]Aq)R?D;iYvsηR`q4I0o.E[w¼y}DN7eʁ,*+*SL$MW*.Nv+(sb̗OIŨ,ϻd̯.r̭+f9|TefVuɼ4ٻcUc%ԼW=AZ)}!Ժ\I8, Rz?Ɍ|ۋo$Ex9t R~J>Z$m-{WM(NpdJX{VMBo\4B]EsK?%WK ng| 7ftIAǗLjg?F| \,7cβylgeS?{<R0,\-uwL㑙˲I|uvKHoա_}]E!{К R/l O`YR(/h>8)ñR=)Ӆ-5M{?Pp>Iu1,Kx*~^&.oB; /NGOɲCW +=rI479a,ñRp-_򟵬>g#8yvWj9Rk,I yRRpMf3Yޕex o%;}6Aw6i*vuq?\V-UekTyq ZIR_֊~@׊7UO-J]6+K_6rZpvîxv;/~dZ+~iz3  axV| +0HZv`b̤A|A^"Vhhn[NqQjQr_O.FzDN!r B\"xEpqrŞ{[+(y11rY9Nn.!uV|O\9[pZ4ssg$S 6fZzM?TI༹u/f?s̛=w̛rpKp:xzމL\oExUx9,׽P N~UfX;yuMo=)rśIo'L)9c6r&oIx1mQ4sǕ[}IS%_r|hVeoU.3}- 2ys`],lĨ/csNf'C ;)ˁ3R`[d풄wJ&uN IqQYfgEt%ERĉGY"n; vdmJ'YsPެgH# BGqLA,a}l:δfwt**GȘE~FǁcRZ 4#w/ldVWHl9i%j9N 9~Mn-4E>rQ ;"Ed]WG[)+Nk(p=(9_5g+IdQ M==p 3#O܉'v@}Vmi0\;o]L c@#3Nj {N[(8F[I;}-=ix_Ao3*s3Cv?C/N4uH)5w)T R;U ꥂVڠE @+ԭ-9wI.YKYOeWDjY|UZ[*Xd\[,cr j "C=M:fYǒ &o$*CdP^L7L ߂nE\9uFL`+9kRl|4bK/=Ul |km3x{o[ 4bC#el^gdd ldQY  4I-RYlP2P'#( L&iK?͚r&rMedԾIS~P5r Y%Z(ilZțQ6*]66S\z `m:<^x 9gD{QpH_!QDX3%Y [_e!Kv:Sg5E"jTI Y NϱĎT|gi<'v#f\K|s!sw>(gYRY lFڻJww],_3HSJ4Uel[0`22딺WN{)8czJyX.GIx@BH&oGt({)S->AWQoG?b w]nV갎RН*id]SJ\wnI ,i;9*ؼ`'d5|'9(z8]8sNiۛHw-sBo JZ']E^:AF׌7= #}qziɿV͚ȉǕ/?`[{hKktJ>Ǵ{ca# t?5ϔV## ƧHo{8ܧHg{8v2PߑzWPv_"^%],zB,'6Q?:+Ⱥ%.,ӪE i|Ss oԺvu;\Xϑ |$<$II6𸤐h8Ûɔ+~I:2~7)WyM]R8ݑz%@63%/q?C / M3HA]]R`j"?>EP lB8oY:?I7;ZRݘ#uLm͊I8LB+Pd3\6K@@90/q'>`Sڦ'>ޜ chA' 3> ,b{~t=vNb~)4KM$zf[f kguїm7mw{wJ>0_$C>,87 ; 7 1y!T['![Tm&nbPY!rIMoC.[?~ܧ'-~.~@˲2a|V/1A .eE7C( Wd罺E-=& s|Fp>+z&; 7 X,pw`qAXrcDcƒ   _eLۼwdg4Mk&E? p>){ "I^l߳II(" DY[\=u[{w,`ny@PܲOsDYgn'iE6[9Mlۈ_sKr q$8ҙ[)dDO)-:=q"[.`-1#]7Am0-O{#/TMJ^H ^4g2H{r0T#Y*ZH"#Q[>"7ȫg\R%)X*A//'=6K,WЅ,ߥ/[퇱.$wb{ؾO "o&{"G-ϐϐXVm^qiQkxd^-XcKG)a$?{64_dr8m5U烧7lHydgI*=Rn5 h2YdD-3ASK޶`gBί%K3'"gIYKaoR&Z \p2a{4IT^L_9Fܙ;'o㧷6%O<&̭grI1~e(>ؘ70!:X p7;Gn'O;G򟓽+p v_t؉ܷo.i6M3i{Ͷ\Qiɲ|%QvY+%_Ad9T6}<DY[DcTtdIt~EՏ2So'bR5IN^%,<\mh=Xz§6\\mTaR+N̗^9~)yYm&KgjG^Ty=H 6E%%6~V)^D ?){'͐k) @亘46WOVb}?Mއ]Y'Ǣ޷-4MVlx=6(sRYdtenöuyaL$&ɿ$oGHU:,㒿рi,&|7*~=&8!$;їXS\A>G;S G^'W.KDt8f)G,~,c,JAc$8?!7 w_F޶V?KI#uR`M nULA'ÒHB"( #W$dM̭p5>ǽȵM&%6#!YaQؔ4ʾUy38 ɰ4R^C``[s?gp%2޻7Ue;mPNQ'h:ʥ4h}䤭M Etj-E.J$zz&:*6Q/FAD=![AYk7}Ǣ9^Z{+QkwRG$D):g V_ EM |ck]ۖA=z!|lC@ГվGr$}9t>{lj Nx 74rkąڲçS,S#䈭õBH. SdnCfr_2}Ȕ[g%S+d'R]4=R,!c7SPa: :_lt'w`̭t1=cHiP"a$D4U-h#]}mֶd|f:;iyS?ASp+֍A#[C^}8,N=+8v5ىᒶ*;_p.Ij5#i˳uv1O.)9bthx :<]$z1SMPv*k|H%0ܢ= Kf $ٺ4?1JeOrڃ%v:8p!$\q:$GHX}KX}/2sUtn[>?')ĸ ;pL) QF5P 1r~D@Ǵ3>f㽦DNSQȪjn|@2%;K \͏4${k1 bb/'>|3Gg!߽~<("K=.WLaNCDOfK)ENHBAh9 y3ԇ48cpzǻ~Ո =׈:`1~<~n]nu-̙h?/`hۄXJm<1HLGCz {R}ZP6mqz#nDDڑxͭ5SBc-qVVIX*lc.%Tj)z7JZ03BVaee  $ԖMh kG@m[aTUlbxYk$GLf̭In4h|8MLy{q֙ 4DZCXrVٱKXj!D u m -;NDž/XqlŠ&tGe-[=3lԴVmyج?3rEmӫ?i2FGV,9 +ydLJŠ| !Ѣ4F-"@X1tl[.s,Țϖ_f#{L]j-p9ZĹ';q-Qf(bj:F',s--lmV}\ȺX|x hO84 |ڙ/p7]UYn7Ѩꯉ??eU786]$:v +E"i& w&hǩ{4 WIv;!$.aO:PѴKv#Ģg#$O8 xI6JE}?/4g>BT}=/nET>d(Ah;ᬨ-sP[ R[ !?'P] 5OŘ.9V՝a Dut4D-xD44} X xD%"aY16to }>N&CF N~$k|wwc"/T[ PǧŠzLO'gQ+RS )'Dh 굶\lBYӮ}"F)MvZ#p _ r-hZTrQrmy-hkmv턟:ڬŠkR }͸aj_Al~ 1,I}slCoGh FBn# Bo9 ~^40u6Uh4ĭRPȷB!Ѯ?231Q6jeN$.9Ѥ8AJDCR_&i2BK[dԘ>Qde̥9ӆu3|V^IŲf՘"h8bFP&[fh}5[pjfߑƾ7뺊OGHN>/ .e8l iT͇^o1(R|O΋{G .ԍ!wx 2u?;8<5wۍ}nx}p B=]h>w*Ov/!? ̸CZv5g$D"$6I[HLLD)fOH-k-|v! 2޹+݂cހㄫɁ-|Oge.{[X[9Eu WKEv΀Cv{BM+CH5Y(kVk␶8M=-NAOCv|׽۪Lʥ-KC?bCVPM:9Di, J]008 NVEVǐ g'p7mVatZ-!L'"HeA&r=gr8}zm c`gSK 7L53&MF|Q7D-o"D?2z6WV.1|1&@2=:h.{=1) :w',7X4B4ZF +ġv2 Y[41;Qҳ&_KohC=;ԝzn!݌i˲!3e=gROwBpcpǗirPSu1vczPE6BNe>!J'rDqj٣ :;fmaJl _NMhԹwӴW`unFsI϶/:/CWmƚ3:5üq˄|KH|t#3X±@z2_hZ8/Fo#Om j5H@abB705pG6g;Ësnd 46x8]8Z_̒M₠s޻&%4]MݜU.X.\JxD -&G[CK_$i1Gw{\KhXb7$էM6=Qw$bukba`=+P*ko%A4qlb|&rױ9I[\Ɵ3+E*;gBWfq k7Kj)9ZծSR 7\,iLHͅap.m~vuĢO7A%mI܎>ItΧhxq -l- 8O_ih{ hE?{ٿAdgrdȥ IsӻmL^ ^<?IZ'-Hd,'Rװy|fnyE{'P1*۬hz/DY34キW1ل@N kӛ+wD{sdCxwl3z1Ah7ŘV{-Wqͣk,Ckq;;v"CA7p{10Bh"L SM̥hbjCےi'b=<[jՙT )пkD; s~7 55(̜_ {;aA.c!2:aF/kem̹~W--ɱ)-[|iwJٲVj SS8/HL/cyǛuƊ v"]Eahhz.dhyϔ_ 1 BDn3׸^G{4O&fҎ_.jjs;@Zhx?yko4L#/Pf ͯɾMcX60olj'!vpLϵ#ʣi8-h`W ߸|T5Ayk*q]MZ|98z}r_Z׀̆_Kfc8XH*_SuҒE5(SooMr?^B]]v*.;}8fܗfh#$mBݶS ?>OIٛ^1a?wckӯX=biiKZXbh,\b 5x0Qb3!$p0LH%!!zsp _͟88_,rp?#d>Z(Yuckz?MG*..9+kzyTsz kz&UQe6O;9|9l!K@5gkzqO| kӱW}KNVĵοHIw~Dnn)ό~~DSDoF-*B!ՌDp!w.ݶr\ ??<)iN(;. DmU5}mE9}-w+R 9D> BduB..6*fg˄11B\]`w`w2:tb;B;Ѭa9p;i4獄$ ]2r M.cqm+t_cTcڮZ<ʦ/6:JYx`#vGοm$D¨prxU6iJl~cU >X;SͿHj`W${3qWl{y ixo##Du WKEñc:@u|0+Al5\/J{\1'xc(Pܱ7\%NeVF&~T1吶8[k#Fr QjEYë0.r]Z`v`u|1Z8(osg7e_ͅ{7-~ ŴBR!R Ҟ/Tx5d|eF}6/UӨb{.[5g,~+l=}XA}8WMå&"KmѧL!u'K6I|E{C?ͶS( ? PZh舅jVjАn6!}ڍaBd;tyJ!D BbMǹ-Lh=zj~9R4tBiYB/24sshKhIO+$tV$QYuۨʶbd[mPy..  ?C6/=/auQ!lcEF=DM;B,B'NLML{IjUYhQƨi:c}/4t$hT4gbFZ`I`zd,9?TK"מV>p8zBv3hY>-+ElYqSe꧰eⰝs-BgeFeeO=k,z :[ߴmZg٧iŞ=iziM6lZ}iiZӴױi9hϣ^m+ dg) ߿AEfXlB}m7i!D3}ןپoz#׽ rCW?C6.1 {Crk|W>r|.Yީe\xy&,`N ԣصveL :~(/(hE8t zJ~0%p|D8?M,ciW7\ F/ )WW#^ImFWaeU&wZMWi؀Y+NKk LmRE3ma@M3AJ(4&(UcɅlk`K%SUC6avQ:;\!\!ߢ۟(4Bs+|(YyRQM_фW e[WpcR+iEAL^9܅'Q!c(9-0Q몲͢Kp]Y"1hA٠v1ፘ JòG!z7cOy) CN!H70e^ Q;i6UV C W"g|$lCا?a󼖑@abu 쒴ٲ6"~6FZF?썗 r7Cv?_DG6ɗ_ "$/+ vKJ;2B$"йWV7/f5G:wzE@6D՘`%$Znq]ѾNٻY?A8*1e a/b\гn5?K>y_n\HY4%Yů_L.yBza`/Cp,ʋ|3IJ 0`JZĽůj66!/}6ٻ2񧞍+1ů20J |D2 /eA_M {?y5\j"ZS//&$s;vO<B\RD] XBv R$8^#Bxm wP!ƴBn=H2`W =~oeё=ёAwPxGA7e"77,[r# >OX[0C+ΡBwxow }o = .ͥ/$!} `׏ñY $0\m>/F߿8Mmѳ2aRyhine&jz7|ydš~?r085;I:fZ?>b?A{q h? ϟ.˟#eʮ+3#H|]{PBO6CgL6B?>h :XXe&$l0bGÓT,=_nW3OCy̸F} >[`3G~xL|3{#JѮk.mYKgN3X4CªSwVA/mF=8ǥCs'Qc@Fn>ޕ)9-\]-)`+"{f\uKs0S273ҽJatR.~P (poh>^zayv>kmx,>I 5ouikR[ yr[Ӫ\ވ]M2.'΂:㰀Ж`] pI[-i9g;Ss;?ҥ4њDYƴE,c|}|GbJ->˘RR|:HlY|K 6GqI+GTݩ_,??ElRtlr>;3 ޠ춙]ZH&:: 3hiPCXV;AR&XL&s> ot*jdasv<,;V#D,y3 /U&gP9aQ3R[Y3_s/.V;{*e<9Mwv/ט~/ۯY_j1#e Opƶ/Sފ'CT3?Mu =L#]Jy)]_ +cԮ$V/VتJl emךcK m5O(s RZʅ֧_Ë,ƪzqSck16=Ed /jz),^!2 Eё6 c Tc =Ght'7fYCE>7rc&<||Vt/:Ǧ`^7 vO4L|=Ɣi.0(rDqޓs$Dʇ] w*-nhl~IfpLijv۪6@͗Umݶ)n[@mD?m]]LwrSʕB#o|Tf>AF+208}x%8ˊCOhnfmmC#Li_3&GK!6L3xz\׌|Lqa6fU%çwd &K٦aC<9BVC$ywgvql{6HVb\`]F !A"ܹ)%)60X|U !ByU 쾵5X݌ԶI&D"C8TU (ބw*w'Nlq9Kț; $|͆\ֿ /qFQZ39.&TX\vJϖtCYvae \tq$ɆȆt6 *顓@ޕ2J9pPͼqBҊSWm.CO˘ѡ\(v=*i;tWAmFUGx;K91Bz/hQcρi,ޅK+1d@]~Ql|@m/Xy^T_OwRB;\WŘ-;o]M߇H6`l݈+ ;[KqXM\PY=g{X#@`AL9_ђ'elH#( cNZr-$J4^gG12cLEӗɧ$)@9bo(T;͌TmSєQU|DeϚKkΦтr-Qj}5 u7lՌxbˆZQi4+珄肊'1a&uNRgxʉIΧ]쀬>tBC";iב\B'Q 4/חη;ixU*>OTpgaPQ*+ TAH<of,vCćcy`OP#\p{+q:+X5f~YsA@t* ntg x*m1jAB`oV`e`T3oi݌ͨe͸"zR!S=8JB*%b'o%9UBUT+8$Dh5cx#Y^O2Ok݆+l_}k ; <ՠ_)Q)t<5pAe-Ա#?%MW x~~j:Ё453ICVkb 4(Xk[NC[SnJ<Û0I|o "q ! _0\.p ~ ù~ÿĘ7BJq*ZY$M?ԇS?6Zx?^䏧S݅00SiCÊYWnf!x#Xu~;hC@<HPJK憰-⛬1ptoV`7W"$x1Qs [_;"$rk#9R?t3GZƑ+I\ kfK+#-{3v.fU';;Ƈ-HBBpB=aF%mzB} @ihKdPG3+45|.w.4:vHQiulkz?yo L5遹GYR]&)c׸LDR+Ĩ*i&ZvlR]5@rt&2$n`ٱ,FW˲17;JV6.~8 )z<~oN;D~y;51a,1{e5n uӼo RQ9Nз }xnN~(Go0}T<՜+=`Gp/_Ar}D!XM^UJ^@w!"Z k\+: ^&G+?EHrR߄αQY+S;"1>}PoDv: ?R- 2B`{ky{uJbrF0tr]gH#^xy`B\un:wxԡ%! MݜF7C^l㏡q.t7>~c/SF[LPoz*!&\^&ldr1W WŊ(GX5 Pk+Pa9Bn 8Qt1O?MwvXzj/EAbeI+gzȎ6 ip L,EchebB󓐶R[& C#t2%%rdFYTs[l܌O!D>3 j!|/]u Oj*0}q[B/6ue"T$Osra168SPZǞ_.Nv!Rtͤ_}1^flF&hn E!&tr%*uiiBHR- cKp%(W-I*319:Vk6ѥDVKuŔ  B:?n&Do>XE|° ! Α-Q?хJk5) .h"1{g]Z 'ˬj.^H w(cT[} 񍬦 T=);4TdxHZI-wB;^q! Ec4t`8u#-b-BhԼ!B 8}xBʜ\.Z\U+?fA'j<$F̓oMhO&k0Th.Q?c.vu]wj~"GC[13 4ҥ\C7cb-K3fӑV͎[R &Um[8Ytd̸չABOWnHzko?WZ'7 N~)oU:+‹WhV+Jrl[9ppzB9\=$(E4j~7TZm/㍹57aJѬ7hԹ>B^fJsfoq)hCM8"?Sh4d.JQ!-X'Vkh`+C~ܡL::jDlx"4-j8;őկ}/`7'u}ו|AM=5oooo.T^17Ry%^"+$\VuHĚ3vaiiY-I墛x y9f7,{iނ9[75T7:nzCuּܜYyoWf5/sͷ6γ^8Ú3gEJ:n֜ȳ7+ _Sza(uƜΜ95}r[=9ʬs8!\~+IvX*!XY|^UVWz 'BNK9UTy 쪮 ωSrwge/VnU.AyJ\x.L+MLFIh ɞd[)z1vLZMJCM)cTHk'Vz*ܥʾb{O*Ly]^_mIR,f.A^Vyj'U&F!HbOqJ)Fyu-4kbN)uU&_J%]++dwtxiymu[,PXVQ%bUxċ HQ#Muejهa'Vd|-c'D7JjRD)(W)qW^][].]]-W[^z%W> Ub+3|@ YPYOU⩨Z1PYU1Dy;s*eK1ZHFN>S%̽TJ)S=%*T|-ʥ>U*+K5UI%>SNxY𽔊ռ)s4Vx._\Pn=y-hh0뼆}^x[tCRU#<!,*pl7<ryz(`<@u*]>j TRȈBnz"|bM2*O*ݵSč:sV8^A* AeWj+S|imYHJ'%_Dj I="<=c.UU 11p< Ǹ|ĕ*1w{kcje̪U%y1ɕ=RƔQee7gɅ|UVb>e5 \G[^{( ٓžPO1!&7TIUЎT%j=pشU>U%yۮUJ9?'rxr{l^΃byRD\U.,vO,"G'Kn";S;;rCoy}T##xߌEcˋ_"J'q6x1cx(Wj˥ /ֽUUJy$YSZUQ"5Ez+dG2%JU}ʪD}U䫧-z}Pݧ%KtHE)Uv/\[Z]UvC.+_.{Kz.]^o _@qc sfΘ5oE6 J9GGl Zu\faּYj56YJ`ƌjݍ 8Y5G:kYM3fi_a6}V鳚ʭs9[Gu]z:?j"W yX>Wwӂ37{ƻ)-9Tp*#K'V#VȜV2rdKCr.K9t^dԀ^e:f`Uf6XuȵY͛_wc5Ph,9 s7RfZ)4MgC`!>R;{ 񨹍_jp%%_KXި4bw:oa.4Yd1kaU9ol ̙nC o`u76Xg)938_!~k/N.~#ŨyJè#J]SgA Kvѓ" R?PI&Sn`765+@`t3aPZ49VÜzzIN%ϳ̩挴j$#~HиVy(3Y(n0OOZ#/@F&|N_4|*MR[gͻTc=Ҿ-q#?T{P.֦y76Y=oƛ%,FV`qyoBre<;ancӢ딺+uZSmř0gNuT $9s5:wPM f5bs ~422[G6YGVYGN:ru$f2ncbl3"s֥[God9::zɨKM_W0rԌziUK/W~ӬyʌkE-YWP`;ۤlbqa[  RC񚱒;&oN8 hMiD,8NcPڼaUm y)s4O[gZJSn-\Τ%ťet^_x0:ᇼ)G񫁀:#9CVm] zҺBg&rt] VVwj]WiXU^NpH ?|t u5ك~,Ag٪J8 0w2)ΰb )@H[ UsjmߕGRA |HXcYUŪ=X Px kPXgPXPBa ~+zPl&+. +PH,+bi &#rd=ثWHȪWZ/Z*4:,\kwoz=IXDMî>ml-B/ ~-aſ =ӧ*!SUGvq3|&2XeD|>kЩX"aE[ՎMBi|pS1!{W*va]D`P LWKj ~5X=[}^0?jT֢b'`yW'4 κof TAu m/ F1ȒqàT|=o=PX6qΛ':DTa:5)xm:m9CJ5T[0!g )" N6pqE?^zqtUX]NZ:,Mkg#k%VbS DvW*IBOiUB^٫rS^߯9Vܑ.7{~_S$pN5@SAlVC&t%B6 h:t)˛˱ICb]aZDQ8).e3UGfj-fhTtՐlzBVm!5 :UڂkNno8s\5] ( JWEJ[{.2禃 c1p>aE :@UԐ Wf +rf@/ yšf/(԰ap|WQZAi -+`G?~MP/tR/trinB& ~/E} )IW Y"dj1!BZo~[٫l!d%! SWr*BNy_'䢯˾Nȵk ZK쵄u?_ZBwnB>S/od!߹j.Bޕѿ&<>wGWrwi/wYy!J'ÄLߨiӇ_?焔ޓѿG&d'ヌ y!{7lMݍ49Dg q 䗺[a!ٲ2''~/FȎap(a=)||0pxnG2p8< 9Մ;\2Ni3 .RI/qP_$Uy Jt:_&J.snO+ ü7B5Q KKKJZaMZS\5Ր;,2nu|W8vWH97ɽηL4L!3? pt:!5# ~3 Bު Y3i&!3 y pLBI( fRdxy&!5 hՄjB޵\YIHvJB.$Ėp}%!5-,XYI/`m%!k2UI=[+ ٜy%!2ޯ!>ZB,Bxh!=fq&2!yY˄dCȝYsٔ ![x!O#! 7 ty( !^vbP!apfB>=LHp5!ۇ|kB 8-݄9iBG,!}l R 9Bj$r0y7!k%݄'nBJ= yQ7${\!$?޽<;s>K\ \0 iu#LP@[!R,)NnΪ5pW\J50|ad \F51 9_KhGt( rL'dr J a^%oT@ `tBFݪ.sE3v0Nڥ*)JʮͱKEv`xx:!44x\u;LwKU/JyUr qwG^~sBY~e0h^3&130Je$oqW:[`8 ]U,@nx*B>3i庛]*ڕQ%ݙilRyǐki5ҲR] 6J %^,H6TT%YⅦig8j DpC !3>jyR@99]K]hhh;iXOtdl?ZB`zwR[vȘC R?Lkm`61I1]3\+5͗5DgB Wǘ\nӭ^bdMj,wf7ϖo0H&ل84l4Kms5]hju4K,5GIFo$]b=Sט&/ `l#!kD_ړ\tٗo$)0[4B,桳-Cv{"ʎ16ےLږ 뤼::; K: ظ+'m?eNvT>_l_a*yyv:Bkj$e5]'kyS?&a4KͩIUCZ[ ̈́NL)(a4_1AD#s?,iN15G>ʫSdli5!/;e>H̖Zs3RN;Oo-bD*\#둽Vg69Ry3ۥ>s#=Sh19mK[tOb~L7~"iYYX)G犼aLGfxܵzmI2Ytٍ˪-UI/Kݗ]#mBʹۆ)!W/ea+keI,wLäR6R^B9͑z,핮M2rr[\-KVsw*<]/Y;s.-!]cgZѱq%wD~Kȷ,uш-ʼ3cC_kR[[n15mxkC~#m|-F;p5 Km1`6Bl?)O^%k0]f8C"Q 6B2:m\nR60|;!SFJ4X\0Wܽ>RGaZjmN]VC\>`B.~E;:^_qNCe;<ϳ7Vfy## $5дj\3Kj0ʖbJKZҒ%-iZM/C_6_s!6#nClAqt~^fY k'Գ!~ Gq.!>,C^46uMT_r+bx"b^aMefM?VM?bx5~'?_" ށ8nę8 q Gg#7 |6b#q C<LJ'URdco#[rzN]y+]yO%Ts;Ǽ HߦE51C_@6]Qs]~|z1x(sqw3|<~S|<gG".C !eć/D)bq?A|FG1[G܍ Ko&Ws 1{>EGs }K~g#;1_!bn?bnG| b>_5!11o1o;bn;w"ٽAcģ?\[݈C'c1.b~?( y[!C̟k]_'Ǵs-È]?E"GgD9">'<O<=/CO<=;7CC|6/BLC܇g+\<}N>b?Oq;O$$oӐŒy5bw b_@_ļqÛCE nD<s2)ߘd|ior&obor&7|{31!Mx֊Gv|و?Eǟ!σ!.Dⱈ !bʿ{򽈯D1gby' > K_x"2ĥF(qⅈ'#.W 8xOGg ވD3W#~q"F19x9 /!g#7b{x⣈Al9z9"xKG<q"q5&sH/D|=E/F|3%CCu#ހx)߀oDs7!5b!^x7b'7#~ n1|CA)刏!nA<]M{f"^r>ň“mv_C|-mo@$8)ķ!QBDl6!@̃LJ1|x_]z;K/d<1Dr|WʃW! +1o;<^2~i^҅Mmft9<5  #.B]f@]Bݏ@}6Q3#Îi23PߍAD=Ǡj o akP{P߆>{>w|| 3נc_6pQ1w>kPը?0Ƶ;}&/é, <_GG=-2Yjw>e>7pt+ w^bS3 ׃82x|Ue?ofFJ K j;U|v[ dO_xcp?/kʻD _u .l>\t{0|ﳝ+_/my |m̷Hw^XեK2aP~]|A韞:hɨg^ڃz%EQF PFhcQOF= "+QG}/P?z7WP0,HQE=,ԋP{PD@8ݨ_AèF=dԳP/BAz~w~[@RkGq܇d2uC4|]]=Zd~Z2xbqcWh86uqH[9PnGIPz`(TBj;0 pn\qH9)_AJ#@/P*m*{~/nb 9[G;@ZP3rk!oP ^Bqs8 Ů@+;KxcN{8vů_,ڦr,>5_gfaxx>~s݀k&杇g9fO^Jo?O\#},1C?NNU&k<^&YlvjtWxuzS?kГ';)4?c[umE|]u7,S.MJ{]x>q]nP~.+y8N^~'xS ]AD¡ ^3dmʔ)`DISJ&M8qDN.)DH9v2 ¢/#BiwJKOۿtҔC3҉Coq#'?69m&0M``үR/I"J&~uYz?(` 1ACZ%P$aL1?S?( Ù1^ wF3'k^H7}P8( 4%m-3̈y|ߥ;nȨ\*+j#wt}(M@'+6%ۀwxM5H^^5g?ڀ/4 A~V 2?ɀ3 Ԁm |A & 8 ϰpY0 g$f%d&'js:<^]n\[ )˽aU -[ fղqz}VJ(N5 _C=p8R4DPpBmc};:Ba'8Oq4!f?\_qwXQK-,íxXvGЩ*=ġGK`Uȫ*藦>~ phUԖj )yBK `~C< ۚ؇rE U|>Ugh90`*P8>olhuz@q=TPJa8v0Y<ۊmkf:;ƚwOۡ ۔W$,noѵwa|_'F,{M=?Vc?\^|_/x_3y27XѽS/I]cg ||"SwԊ~^<\sRG, ;K,_&"g |PG |{4h FaOw7 f?_]/nH OSkiIWAJ¤bRb1@ŕ@ )fz{!-} ?Q}ez~b:una!ۻRLލ b:a[W 77)Cj2  (Cg)SSbЛK쒇FPw93\EY Ox$+?)>+(G3+?fcg-cXY~ X~}gM혏O~u#?yAxX!$ߕ>8s79=62Q1Bb'DAuWw@]Yy]z1p۱v#宊y#b5c)vҕHcD&We9z>ڻs u1ވ2y;rTp$ecG%nؿo {sѶkf= ۳` trW<w/n{fa4m&wt@}0M`&d]w(i~͑X1B 59ض!D)wWjMJͦrjKHk})Zu]vn.ϖ`.%1(!vys{yx{7o;v%ѷ宲/;cUuNgwe>m-5ϙ%G^ :]@|9rguPғ{1;:`j'w\OtE6|\%wf*A6^\(T| jrGW:\y@(!17e(}@(]tݙ0ݸKד\Q8҅rW݊CX2rcom4|&9zDX3 60_h졡}Fhr:,O ssOhƎYgn<鄎O;3Tj]Єu$,qWSIw=.wU̦I9BH@/Ғ%-iIKZr瑰s2Z.ΪѺt|ݍ~kӼaVw³> +m~٪!x=rzڷC  yv|B=pBɇ +c:<?n W~B;krU` 9}n7Ӓ%-iIKZҒ5/loS2~WG]|9Sjλלy$;/x~|߅w9,;49}y&0 $tcw2=,ԋP{PD@8ݨ_Aè%ѨǢzE=W^^~nԯ~묓J Ny3p#uYހ? 8y#?pޣS/7 C/8>p=ONűc>^q˟aAw$?ӥ/G06'N>?oRT-П{teVOumG&we.<>U;YmoѾ.J?хnM ú&`J__tM Kw!o ~t7axպg?~pȠ M\ΛKkt׿y<@ϛ;9yj_?: xgiI!u˦I;Si ?(rZc dI?:ǖE` ҴCD"gf_"qg,:si A.%g`0LLGN/=JA#~L&3s; p7)}`w0IP?nq]_AJ[?#H3OAm݁3@-=$W4PDVIc /M? e" [Goo}d # 7t?x/}7(ĭ?(*ٿ4_=si IA}7_#q|3!5(m_H˕)SH-^WJc zH3ƀE;[5@6osOvF^e2E_r nvL\y'4lI)eei&Nkٙr_ /=-⤉ih[^oJl'٤2ISle?J_njgMS-03`~io3Hg : R};,6Ut _ _n{]gft7:gChCbj 1~OT+PQ] 6:Z}XyBʉÊtr%\NUS:7آR| 5s6;ѱ\Q~Mu(P yCP;sbllԒT#{ , p/U 'U GXuV8\-+Ǣ}?%!dz+[28ؗR8TtjOQ!+A@^.TS_ŠJ n>>7PP{PŠ^UkB_uhUNJ-b{݂x__?94%|G | |Lo9 %/77iz>E/~B&w^~xP! ⷒP_&Es>(#M%_#ⷧ6~(:>?[7 (,~+^fZ+c~/ >& |_,t$x4[/)2-GP7)(88g3|3#YnlV~x+?ÍG3\E O8agRggx 3< YFE )şh3ŗ3ŗ3:ŗ3_32Ņ ?OXV~rV~G)C_O)S|+?ߢx<+?ߤ;(ٟb+?!KX≬ 7S\Obg2V~lLfy*Tev)OWϑ;3uCIOk]宊2qhWO[dnQrg{ӵI'DC}" 厊Gն}S.wVi:@ZBHM;*RWuUfBvg=t.-^8b:厊,ܥ 2>䮊ˬ,[Fa{$lͮ諽t;y^|;yjkIu!v3@p0OptC vܒ g:vBhu#뎜%wޒ{!%ݔ>׼m?FȺn_y'b2%]e6^qC. 0Ani}F<֢vYtp$O|tv +K]$Gu|g6XqZ Ch-%Kw-kjxv$'v1B?FDu/Y=BHgK^.鎽9!K,yyUy7?B&w7rgFak#k 3PsZ0rOMp:{j 2%Z<=<,J^jq|6XQZKH ]zu55ã}~=<Ӿ'اgWA n'wf)~$w]Ȩu a-@mISVIwlBv6\qB?EGw,>BHtOG? ߹zmKc;a㖯*L͌gi=.qT2ө,OĶ&I(YPYG3R~F(=g%OHiGwQ|1!]hmsxmFt4bџy\۱o{Y yBjh>{<{2 B,&ukA}!IFx3Bٚɝ#0/ \uc=VbyIwlgZc Msxb Gߏ)rg3YTШkQm4L"mAO-ֿ쒗KgX6ĹأoshTn-vSZⱿb'dg7O {QB:o^G2cew=6[3O=AsMUR[ҽ-]rOס+tLK4Mu~Iw,rgZY4֣`2P-֏>%d1f>c宦ʒy,W=bkYQFs:oɈU )!~As0]F 7 Ow4Hqg[FZ e)yK^5Kg8`'؟*ޥLŹꢯ`~VIcE!;{ڂxO{ޗ :'ܵdnc0kdh]~;gĮblRUS'wҐ>.wS͹9}u]ËχrsϺS9]` =[ !;nأ5USPI͖;o-.>\鞚]=,wQOZBh~jO,΂'0;BC/D3>n곹wkO4_v=k @ZZNf5L'$7oܩd\U lrWP{=,[2a %&6D b"d3kόd-6r7XWtetޒ!GUɹ&k3g15fiX|nFiʫK* ^|BA( K?u)O}D3;R&wfm4<`Z9wǬ[.ak]_m(X!UuGŞ8DHg&' `'NGEtFn-OWjy"ݑV-Ghr,C,G8D΃tK;|z6WLJڒrUZ66z&z˂连33֊%]uV-GW,SF=Fo-mA[t_!˾.B9&9z$v}-ʝ#H}3v7tT\h}Hy6e2 b' ڋrWY>Ea8蕻dɪo]ehc챏4j; v]e3>ӨZׯӊ껔_Əت/r|uìeyZۻҒ%-iIKZҒ%-,x}p(PKӬl>^?p$ TmU[a %W|Eb߸aCE!TBaooᬁT0mcfWS c16( EqӬ^A*~M:zR^^47;?"Ұ8A)eoVHʬ-rO dj247q!߻|p|+W@qN z^|v=|>gUG:#~{u&G$+j.=qBG|GzC<?C gFd,w2Y^z={Q?qԻQ-ԇQg&ѨǢzE=W^^~nԯ~ aYiy4걨'zjꕨףG+B}unz,ɨg^ڃzȲ;] Aؐ}s%< ~1ϑG/s#7y?b~>r\V<~͈zck/O-a5:x?R @noմ\&Gp8# T(fGџ*J  š;&XicZܡb@UXT۵PٮEV a9p e}LJ q\=[qCyx^/D7#\Owzh\Cc~<#5Gs!siӅ7:ߓLKju9ٿmԝ-ct.Q9-BI_o'^M|Rz9I̢ ӯ#a9L'OY]۠).~^}+"۵^'=~׷S6N3|]ΠK=JN 9DN;u7e$Oo2%687 HmxmfޏT+1\dƔTpolpQ}3%kgNqsgΣ5:OkװAZsyOnzYpV&ZYG%dLuCFg%-iIKZҒ%-r_N ['(lLg&'zz; p/愓O4wI'R&'9A8x@N8h1?\dv>Ny>?a٭':|T{^Ӓ%-iIKZҒ%-_1x^a.-ӯp="@ r??>=b`#"p4j_b?ZZҒ%-iIKZҒe` G/|){F/| ^ ߀h_x7yXFEy}۩|Cx]|[+:kkM]X5ضb[g|*oO_o7K_U/3Oп۟qey:2MޚO߳Z2/YoJ>:]x>~-տoPoKn~.=8ˬZ_Tj~^_[}71گ9SgqSGvsn :='_ X i''n%p=ϒ2[~g٤R[z`[Nsd}O9\?57YE#~g߃ۖB^Nr8_|˷'kA?Ѱ^j θGz]`N_ONm)Rni\dbXj$+5?;35! ?8 7w}x<h+ N/o6_gA06c/ l5h }R{.S4A }Р>s 0h )5/kA7Ӡ Yo~ A}1hK A}A { ƙA>χFA>3_0|0Fx: c `>o5ho ? ҽ ~khP 5fA_]2h ulPs K in4 [f`pAU| ?%נۀ֠Gy{1(WA0]x!3̠_CA<ӗ zAydPoiA33A=1ȿj4A=_l1vAvA>wԏjsZ4:j4r`n{! }sj~eaEƑݚE kjܮ*aZS y.tcHX &P;)NX6A&(B7yy|aVT5p; gb݅S1 ܚ ՘[|,)Iu#PbTmF+0l>Цkj|X)pՐ׿<,oVC>O5^G5M历ƺE ͚)8V7OdM~;:ʰ,hFxR yW:UE0ovݼZSMٓGhؼvb*zds6ҩ4hQؐZ1pl}'y?F| _$ M/rX+^|ϦAO-_&"c>( | ' (W }/$~  ^|[K~O}_*~|~ rgߦl&y?CB/n*&r |W ,c_࣪aɄ 2: d@D3d;8@CDC. niUk=Rm)F T0FE. a` ydOHlO~?|zu2S |iR?Wx/2~`7wk3y~6ƿXcj>d'-7~b[ x`' ={4m5ƣc~O6?3_hS T_d ,egx1O5%~kK |4e~/3?n|~WU |_c0 |j NE_l <ԵK _V |; #>/3~O7,77-`O5?73 oRK f+ ~eI9K4 _gmCi?c ~o1xfkO ַ/h |wU> |gW b_55?nga+  "'i76+ _ s? *6e :oS1-ߢϏ??~~oyP? 1`[8 MElF"|98k@lAq<╄-(xo0\Ib+♄#8n=gnFq*'"vވb;ZI'uBlC|"?"~/!~够SB ?7'(> _I ߇8*O^}I?ቈ&' G E| '< 񵤟Pב oB o@|=' o${ v~fI?sJ~"H AB G<ލ&Oͤo!7"E<~ =?TO%.OyCI?#@<~q' p⑤}I?Y3H?{"'"M O@<86Ox(IyY ݤp_cI?g~={H?a3OBqǓ~G+~ĹnH?fw~#~~µ$B|?G8~ OI?O$B<~q'(ɤ~U&C<O^~O#' N E<gPą,?♤ H?ᾈg~—#M @<6#.&-(-!E<>ޏލ>OI?ፈ~µ+H?'gW~/!~~q'jO *'(b' pⅤ}~³/&E '<Ox⥤X~£?L E?Mx'|够p_ď~—#~= ͈kH?s>H?o>qOx?bލ Oq~񓤟FAO/H?Q#^I W"BkO O~"~~񳤟pߐ~!~𽈟''"OxH?᱈_$G!'<IwTW~7 'K_&{ ~6#~>F uOդ~o~»nF'O}o~EO-IOQSX%yB:]8tݟh矪?x矪OUS8:ӿUG?M f&O#v(ZTT ')5\Rnb7udEg8W}MES g9w5řWLb%9wQ9WX:cm5w=5!5v=sȍڋD FQ*>< jĽsGۄNS۲|"`9"`JX6=~]PӓٻlFaNQ;W;힒mwOvk rMڶIh-uZmX|E;*b׳DU+5{|9;߃jV^~ 툶/t]8b >##%~`1ft8J8JMȗF}C{D)r'8o8qyLN8VhǔXE.J Ǖ4 YfPHcyVvQV:տ`7\cZ:SJөjUg[̮OuSl,;#%Zm5Wf7S"|0" ,lIU[FDL2$33\/(cLj4Nsގo R80fM`=H{=Lv{kh5tvTljzQRmoBicݬ4ڝj#=H L((-)YAj rj2k89O9y7--丶NhQ{ WKta4sYGnNEۧm6{C9uڤ tZ=yƗ1`bv\ GYP  q`^Tëy)tCVW8K-ؼLxrW>Oab6-ޝj׵'R7gj/ƉxD4pr jS>,?m㮐 fzBDeWϽTk \:fvnj|9_,3 SԴ\2WsՎ1)lnj3W!Zg>jk-d{擜{kF"F/ ME|x;3(qմ)PK#j%߁:{|ct&H;r9n#؂V*RJEY/>)= F _YRЇ9ta򘟹+ZJڳڷ!eyft:Ruz y~J)s(@.8% N;H²Ζ_w!ojm*L~Ny+ݡ_/2ffs!rEݒ]\DNez[b Nw&7z_Ү`s T\uK x;"-yZQ.7q&z5hӝv1,G9a,*7xuN 3a ڦ/0.Z$̰rk#ڻcz^| Pwdh}E=X ^4MP+T+!!&C:-G:IWi%9ij7iQd2(>" ,gb!lHMt-TyN# V ?v!-FNVmyZˤ\-TGSb!˱ :$DŽ-?25)X5Qdp;;ʹRz8\aDKVoCW(nש\K`Or-8Co{w? c#l[@{ơ'ٸsTN)}h&i'GK\|[qFskV8WK31Js9(>+ o8C7w3Ġس_aRx\;xW;8hh8nm';"ng缦C,pP\;L'w朶nm+ڬhf0\1 fE|q;vbr!VNYQ[Fnpʼnod YyskC_hK[;̎~y}:-X0.byc`F)aoqZ[_s5Z{ kz@ӗLW5!߭5m W$@:h71M93W3u Y8TiqZ]mSl!8ݙ \I: Ɋ6gb^:-CY<1nAY\eDl;% t/ 1\8w/w:ʝբa]yPvn7%^Q$?%{|nA;B=6s3:&?\J0ldFuk~@ӣoa*+сK_wb9{;Y-cZdz\mkV 5ZTWX"i^ SwKghkNH-x]<^w7uIUʼn}7"ibH\Kj-]198og/|h; D:#(jFMhto.m8c?v*c;9R$r#@t0M>3>d_wNu}L縶,KU,jD>T/$% F )5{T{@w5i_N)i=f֠8v9e?I N`N|Sx!0SmpʸǶ`4ۘ>+OE=ؠISilMBxW?\68دw$+Iiĉ>8Uю &3LQ͌sCKd%65\{~ouIuuҁNW ױ~"Y ~觢^^O֫mޱ^q%ŒDyLtϨ^i[@E;Vli;2#55Y<˚qQC;N6DnJ9PcJ%f}m7բDLv.E蝍/Ѿڢ,uyXڇ4UVo@u.©2HW `kV_RӔ`ڲkZeWF U r/{q M[3OЫ]5Շ?SyaNW{,4]G ~؂% 9iM"paf]jcە`@TqqMҰ~s~oMtȶVB4يvgH+5U {g^oGYb]b ڷ!:~\4E;>==Oz8Zڱæ`㴞jy83 +ZT%P%keX(Zꮡx1S*GHVLGuڰ™@'_6f[OӔ cl.fv *Jjh~g7aQF>'6Q~ĹլU6ăKRx~Y&($T Y8L!|x;4S6n?b5z*Gٞf##, 箭 qw$`wq3 EQR/] z;91|hm|27џ_Ok^4x @x.آM2Ў]!jSiJ03j q;W6^o)}7 hWN%v8qJpF|-=gVu xI/\^XmMM%ZěF4=3?Ȅ,_R}h{s=g-f&f?Py'8wTg:fpV]J0-*Qm"dNri4}#ٸ9O7˫iSo$ǰ#,]Vwcy$!O[T"0nsv_;a v'"jMq8L,+@RrOk3-Z$%.=RҘVHwx6G-ﰛmW(Izg>6^j7zYK`UڵD%0֪M*|/iϵ_lȯfpǘ{It!3&8أK=bb vV g8ٚ9,qu+7Bln%F1c<*vߝ}䞒5`1&& D_NPBun9p] E~J[[!-fX7A$ htM^^N3@j2-ކEuQCݍnz?~Pe{[īZUl۱w2{ȵ+Eo@Jf;.x{S\mWG,bj^qV\DM2K.;"lRT}v>ڸi+}b}}&j[QLz!pTy7ySP v{cLמ<]Cӻ#soܙZ*87gr9ts"=6z^g[{|C9{M+DhqmgY[9$zݨskō8ܡh 8{^פ~h3v197J/7k´үm^|Vf?#^#v&K?,KL?׾1IY~TD7KGoYF7f Εe)VD VSqfq~Ч|Zq}K8_i迎W?y&3з9?cIV8ﻜ?]_n#y`hh ! 9On|jtn +{T|8_`~[z ;-=<'9_`!Ο Cz;̹5ܑpDa[9"|Q/iΟ~&`Zd7]`]igopn IqIl=Z}G4IDzP-sܡsn3pgMcHM?iv'%?Nr-CI$$s:CΝd<>)IrӍ$+Cr^KsNR/rAKNRʓǺy |I鞤TwR$ؤ䱔"axc-âyy`ފe= `ZSX(It u]ǹ~KM;qrDZDZDZ$P OZ9O}&ݔ)'iiljؤ5I+M+ %q>QoJR#u=8S+$C?Z+pwS nY<@RS{8,W-M 1FroOʚx'),Ҥla9XOD9I\,LT<@e ucp!0nKyfxJo78ilD}%vن8um`|*Sܱ.5 {c&nO|_4_Ob>6>ifܝTՓcZ8X)_t=-75.q3.3eJ8-t c(gәpR]L`q>-vLu +;8Ք&$qUŽV!qxox0)[dw7Dj'Eu˱q- +@9IŰ8׺sΧGfc$~I+CV9?'D~4!i9.9};]?\3Ҏ΂u3;ݜӹfO}S#f}U漧_Ǵt5.GN$87@h.σƶ I'IgutFFBm9X=sG_30:z-#z<Ӵ'$2mNZm#iyB:ؤٓIj2߅W$6g'1gw:_WaʶS`eKǸ;/v39L`TlĦ ??~~cbf L݆uHJBZb,HlnEZϼ+oJjޯ.rگ4 'H} N^! dzJ,m`L bi۽Cz?УwQ %%r'}]Y#'iK] c>+kҮAMn+ iI;EiHJkmvm&Ҿ&Zi!!iۤ&BҎvS-vIIViwH{H6iydv㤝"m }Lg}Mڵ6HCCҶI-G/iGH;N)ҖH@Ǥ}Vפ]+m;=$m iI;EiHJkmvmx!8iH["iYi_v mvSdv㤝"m }Lg}Mڵ6HCCҶI-W/iGH;N)ҖH@Ǥ}Vפ]+m;=$m& iI;EiHJkmvmǯ W!瓪,ߓT{732y^2s ?aaGe<CK$#\S%.xeO>%_$.xz1~$qćyc^t?xN,qK*h [\ZT] ,^Xtl:׍g+%,?<k;Du?X\+R6~8d('}}X 6Cx}~_ '}Z;Yu .!] ;(1i0?e\zU}KؙD]z~gꤍ]>?~UW )/5D5z!EsϾp4R]# U|:شa#\>ldii 5|k88:iW>j R(8m1m_f(?5r*H{;5*[;dGq!Xk gK?ͲZc8?VcmHv2*nXq]SuV7: /íѮXOssWD^WYkub\ּ̄q,2{\-;篎Y'c,~0u~K]oggSgH.5u.xr+B.= T~Es.StqE~6wxu(H|]quq.} ]躦gu(ݞpHZl*QzGR[W8xnYZ\U]>hVyً K*D)(w9ipvyqQE5Vf_8’rș_L,WV/+*..V WUK;ZR^4pej/]VYZ\yy关EX;bQulA_O:hvT,r\Ha\xq'$v͛?eՅ*;g(2GMg]:'o#c$ .e +Ϟ_Qv ߼tu,_I4" gUV q0bNCΝs̡"l6b=Lq^_ll~EuԯiRA TUUܻ +**=b9FTQ48*Fo0}LjE}UCy,C=u'벀GLO-s;_A𣈱ɆCDM5pb«߇J³c/#|/b,p%ቈɆgj8XDYG!ƦN%<1vqac o@]]E]\Eė#~=_F _N ( '-ޤ}H? w#nFL *Ox#⾤p-I?#O%ג~#_@b'I?GJV KduR<#ԩdQ(InFQv3GdX"3is s\m+d{Z~>B]\Jy-WDw8&.?WT1wEeuM^6BϙBUu&A5[ؽZ C7'UoܰHm#Gν/s֓%ztTDe]51‹1)>qL^h?i{} eCz}hle 0ndq*a|W-~:k&]fm]o>fK6ȫ CR&+9:cun^j6 L=i{%-DlMt.7dG<RNoVs@9Axs^9֦+s;Ӎt!tV_VCNJީ4Eڤoq*];kNLQCtͳSص0}AiTL[doX5pPlH7((r37+W#srTʆpIUe>EۥhJ^-gѐexSp=W>VL^e.TMe8@ 6jgPMX qb!֨hD8.)A6`]ؼ,}+-I/<\!eQ$!L~2(GiUoD-L1CCr$P3CLah1l_:eWL wò?/M%Pb{dqquqsWT^/ YJc.7.u2dT^/SoKgaj@/꼺de+P>#[_~&KXm ޶Nu2b+m.RӺRJcإcg_m[L`ۢ\Ks-> {8:Eez{'ձ`L{I^ZJW;+7u28|aO矒vIb1o_y- =ޝ71kcLQeeWͽXB+Oe_`{&P*:#?jxxB7m |u E6-\Zj|lҭu"\#|4@/Hrݣ%c7H~I1:F@p)1ߏD%QuHƷK>2M?tJHTtD%PXJmu!INXaσ_7\F |mUкG)7u!.8ryHZú0WSoS;\Akˏ s9+=rC.ѓ٤Էa7 |L;{67rZ]e5Ym~Oօ\"6V.,1t0=j \N |籼ڐV[%Gׄ\>DpZ/ 7Iw96'VԄzj s$N=Eߓd{6v[$;ߕא]OOĞTq`a &=&62Ռ햄6Qtstg$u -k{F>IK6@N!ˌ^.%imK7Xvxj.tu :p RZF9=5h3*t4SktkSsm6+d/1OI(N<d%5TҒ`ʦ`W) T0*/fO=-!ROpj_\9o5T~GlBSPC$KӴUMG$y`WcO&m{=[:GD[)O"TTk砍raG.0e7v)S6BׅlݣկqLbՍ5-삮X]'nG6{[w+nFǜhnlAZobnmp55^DQMO$rz.ft}X؉gffn(tpj6K^Amk"tsjfm%hi^ǽf5* l!tPt=9مOQu n z_g EiZIZQ<5i!d?UCt@j4mݣ|K%qJF%oo\4|0EWIjǰ:h>qђ7.tŦzBsپH m]4L|iCpp[8j Ώ~Hdqu`)r Vue`@S'. jIqqxf},$s6 kTGȽ@#~loavloT~ZԢ0b1lc{/MːD_aOYYE:xٴƉ6}m7WDC=6z}Y.:D>fޘ p]Kv j}&rMyboܕlLDUam URݙRL)TT,kb\hD~["p: ۺm{ɦN.n['=Suڍ;4ͥ?`>x#Tm`Kl>v|Cd[C&_+c%[hD$DmW& aR>t~7ml5=?H[qPvQ7UKNo&g~}OiK>4m!M⠦{D8iVj=wL24mqMtޱ' ZFg c= +-hb} hL[JKl ,xd`?pM|Byw%ܚכ5U=JVo4<o9i5.5={Y-lѴd o4jZFM+zBӪ,:AjњдQ Ȏ$vuv3;a츋)viɎv|cI8gv\Îq;aS؁=6vi1/<|i&CҺzdhn`nZs'c~yz~Џ9&/>~z> M_n}n=G=G|MY$—[;Gќ/>ǮE_[6?td^IR;[n'zܡ4]_n}n}G^i}:>Y=\5~)3_iZ_{>]-+Μ~k#o?V`E?Ibr gā} }{7 ˛oϊ$q9&Oo=yp/ZGRRK)}Vp>'񟚗7n~Я=OOgb;@\rbII?'>?vkF9Y6?|1cӱ=m{~IE%=~=90:}Z73/ONAh9q+x|V1>qxsX#øӍ.Uu946N5"s9'q/Ywξ{ryc'o߉8r,;S8gz?~~>9>aS{8xN) o_8i'Wr8v{Nwqco8q6'8ޅW8WO^xzAtg#ئ/&$M>}О+'>=Ɛf,X̣?'I/4 +& N]?5`j aiӟ1WN, N{zY2֋̈́b?*0^RN&|dZ~UM- o2 ~M-&tFǛ+X$Nd39sLi8DŽ\I& ëLxwk09Є_i&t}&Mb6P2| GjMM=z&|ɋh!D,zLI&?qT,`*GOY|v/b/Gc7,&|9+ѓdSVrdxXM==zi·^Roѳʬgk?&|~8zzccdֳWLN1ᩋY1LO"GOYO)k?&<=f=w]Lx2ӓ3ͬu~LLԬ ~LcLJUf=Y1㙞r*WY1GOY"~3~Lxڏ ~8zzcW퇣'ӬGfDŽW퇣gY}Co?=f=݄Sedq7's4qW`\NMM'c ,=X`¯;G^~×n҄ۿǵ&7MxgNV^5c XOyx1z7M &Qy>qsy>qӄiSsy>=>=>Ma[çççç 8ӄ&ܣiS᳈gOg"E>8|q,YӄO4۩Y᳈g1b&9E b>S>9|sb^ӄ=9|s,9|&|9|9|9|&>s\sO:-g>p\s~_p4t>p\sO/O/O~Χççççççç ZqD>Mg0>M E><,7f2>MO_nƧ fnՄW1>Mx9í%x)Ƨ Wu>K8|p,Y᳄ç g &;%>K8|>e2OçS)s4:2Oç LS)s9|.B 9|.B&|B 9||.B OçSDG Wi|*>&PSpT8|."8|."&E>q4cu>q\sW9|ӄ`| }>_ieYi:ӄ)7ELW9|p7b'3Z᳔ç OeK1Ml\>&Q{Mu _^9,זrƟ&YӄO4#^a|f0<ބ?phwg|5q|k>_Ok>_>s4t>s\s1>G+Gks4|.bK8|.iO3>p\s %>p\s O[%>p\s)ϥ>MWs)ϥ>r\s)ϥ>r4:K9|.28|u>q\se>q\sO>Vse>q|>M &#i^` %9Yӄ1Mxh~Ʉ^̿ ӸW_2%^xy>78||ӄOsy78|.ç c12<ׄ_s2>Gmȼ\&|3_<2Mx`ӄ/gc _p 'pm9ӄ9& 5^`G2kO\d~;Xr~Mƃ -&M[ ǟbx `x[L6+k›b܄/aJ&|9v67`E8Ɍ7i-<̀ՊgLf\5&n\ŀʀ[G񎦵gܸq7k`c x7'd;dn54] xj+ xfp/0Ƶp: ^~/5q|ʀ0= J~_e{Z3r~27F^cU&do1-\0jK <ހ'ۀ'; xӀ' xۀC~4u;s q1q\4fK~|75 xhd€>ʀoAgr2C njk dU>Ԁ7po1[ 0n7ЀpO0DO2.l1Q q-L>܀|is xf x̀1p1|_n0+ |7nʀ1k Sgrn2ʀ? ?Oi?'S 9edڭYT݊eFF4ֽXƃ@w`9 >"Wb9˫1X^AuXr)XC`?Nm,[X@'XH'XN&SDDD ?gD>D9,;X~O;87c9O^XE'r,`Rifr9Tt@%_SZWA9!`I8+cG >O*EaDCf;ʱd Z$ۍm73xSl"P(ᚦ4Mn|* icXeL;i=HpCu7gCM5xQkF܉+RbWGY@CQP]<7@%v4;Cؿ]c e#!jJ=+}@t*_+~-ގRm% V)Ag}^ .t0&-bh)VB`Z=6/m|5'I-<}R̆Hcv܂U=5(+,A/j3:~CMS5ݸ@ ~O%''H i-!FXXOs>gڜ'CJyky2 < s2\a>CPp;fAMoMR῔& Og4MܱX9νjM}+>COO<9 zCT(XUA7਻E2:WSާs`jȌ{%pJIu)KI.ۀ!* yj-jS~s [tߎs|Z: x{|IceU[|hF =ܑG噉Ӈ@e.} N=DD:VqDNuNeЍ.KsUp{Msϫdŏ$.qcnM$:xy4"ۥ6ta3(G+78t qf"4!ġiPvwj&ˉs)cGBφhOm}i0e܃}iRC^:B .UjR$k-=5Lr lVROa]ٵ 9.d|8>M)N^:a}鄽gv(a;P>sh {I=aLwXKط}&a{N=vKz¾&X''l {e!aYGz٧'MJ2$Z޷jmQ ;=RMk~ZӴPMg%}%jzX`ZSPMK {/4Ȅ=ߓ5W$?7a?|6&Onigpv͎c6D?;ϙP4-DfG=GC9wokbN?4;z7iZp8ɳ'ť@]@r,|-˵Wǹߊgȉ|S?z#MDyҏ|?OVk ~g5M"m^PRnwOғ Q{3T~cSXv݅ot8i⾠+Ik耖ih7y>7^,egGHw V\(d"1V![G7qJV6(ݢA42Ssѩś6rǹI:CnbU熊ܗJ\7Reіwak03.blkS |6WxwoA~ms~cg m":iP$41ž7q5=E-lQe|Ck2@.v:_pغDF`'Vz-I tP-D$X|ZluMAoSёՉ|뭀5,2ˡLJot開Cc" +P(cToJߥwNäx׸(j!ê?AaluzKܑ Q D!*MGc8Q݈riݥ,^:U_v. .tr]5\cFa#ş1fhZ?:_[USz#pZR^ve'V9<q̓,!QS``q[f c1 ]<QJ[N*nv 9P_}z{mM՞ڎ.%}ܳ,L${PU2bc"YIU\rX% tZOmG2vj3,'8K_=KO]0OvNgp#;-0%i B&%D_VЯ[FNFdixI `?m<[J~4 Ibv[Kݙ%-I/[sc-jĨH7&Tbcl#=vȎ1l ULffyKj5 % 3qW3IH,ÉyqRumr[[CN]aPI >X4S8k@)g S_ic g cpI 805(1wa=:!Uk5mSO&>Md3k$ %$TB%ݞ *Kx/e{^W[|)'mUH y]]슇FS6L/r"b}H{r 4Xt`~Ia +QS"[z,2|F߲зà\pbaڧ\ -|kA-> lEik,@V(i`Ӟqvݶdqxh좦OU[[+q[˷-\j vABzU?F`1:울c=zf XxQq#8 _\F//;M(oT:M _4rc| f__(lVψ_Ow4h#kK4͉60ށp\ %dwG;aS(XcWeHMj́ГPOz~!>_%lc{pqX݃֯ h:^|/R7>Ui$=@VkxJH2:B9~|!⿟4'է~2׭&h8tQ賍:\?]μG!:D!APFdj wf(~#MuÆ5{J = .QR!7t@oP5651Zp T>)!RE9%Iih=) I[bYRzi'NJ yq95e9o\c\1:=M?5ƅeBQl3|^і tBs 9 &4ξp7~!v 0їXw`Uunq_&~23_fPyfvlfm/M:woYZ!Yݺ~#qch[ZN)h*eu^q㡜c(>NuHԪU:—4mF/̶Sx.PmW~iԖ Zcy /y2*(D>j7 yxK1B_ѸM嬅;>?zply>>@JF(#nCPe&P^faf'A԰[ PK)"wOz>A;V {?;Cpl2p =M*tl'll26!'7t4Dd Xs'DWkZ}k 1@`t i rN.*Oru6&ŠBa\#V +PJ.+vڅ rA!J܆ r{o߾}#QPL.pPފ \*[ Ba#͊ϭ+- yZ\W^39 rAzT(|) J/> *  ;~P-wBF.H@!@@*ģB\p*8T(|/`Z䂮P8/@%6i~o@MG Q7DI^Ȑ}ڷt %!}Q•  ]{.F d!?stHD4XBC,_IVW1(!-ܬk}*/ T%)\JT:Pc:oD7Fyց=>Hҵԡ!lK[czc,ygkC~V+MG^ԽJH,$z9.RNQ!q^:!z?\v=] ]!cԨKD1 !B/ M\n0MIUJցN{a='Q!};?+V`(џ,CxZS@I诏:{jxKK5KԚ&@Ye$֠tC M6u6)EuCpMX)[%e񯏢 ]^86bijԈ Z$|k!dlE5""qİϨA_9P3vebkH9.Z!1/AۉAVB Ԡ8rP[zC]Au8mDh?`+r]LĈ֒JmЕz8&1r8<@Νf4cSfB6U毼M)UrA&Z-d16PQ.pOp٭V-yaȚ'S[O1h#5t%*PZLY<1;@gUq;௷wuvq*8eבrUD~ӏjz4F@V1d9i,ȫc&(TPcg\v] VCc\;0Fi ǃFDM?M}#e9f6[$Krn ]`زb[#W;*!5 =j]~CHuɃ7ͰCgk6$Ho%$5ÜFx@-ģB!Re Jo5M-wɂ^=~+(_o:TY&>ysxwEgwF6rhh sVd_Q|ܥ<WבZ@=gL/ *lk25(qmMZ;}5vٰq9lk $]t&+H+ZU8:}E ֤jZ>^ B!i2rj.{TLf͉b< 6L;Q1#{q%$;=[htH@(KHsт6i}G }' ׶fۂ#쯷KagKϢzۚ$rw9]-szV;x<vA>~QNBB`iQp1|[NK V?J"%O*R]6xFܑa  ]~!TUpɂCd`{!wVtzZ8̎ӳp|rRCڗĿ8fS%yԾDY5^o;۶f )#Hт@HE{%ǶFC 5Xg?O.y?/yOEK1X`;#(4By9m.Cq -G $y b.dI>GLX @NtډZmd<|NS}%ydSF*H,F I䶯ƷKHDn!e YPUrd ゴ;=>+EBxĹr%LL.Չ"ټt`q DB& *,O̾,Cz-G85=$;=@2GXzH $x55rZv9I|pqqerCC >$8#;Ok%d"V\X/,_N3CHp*$!B$.Z-ڎo]vlk[ yhKRHvG׶8spiMEi"C- 4NloOMk?+4Xױ+^/z+Զw;lE[JhM^RfϋֆAۡzKvC.%#++]x 88i2),4uJvLٕguo΋)Uc/F].T[M%A9xs*c|CϹ!3rIXk'Ô]Xn)UK^ÒG`C]o7]USブͰw,*hLN`5 3ӊi1TPgLKO(_΁y9P=Z[J B˽@-e/Q)2rLuFgZ(yiҁc4+Ji]QzאePiJ2 >>\k%Fڋ߭[>#VXFJ G5nkL8(sWd@=$/Atz3 {g~rP.wyA=գW>V- 5-8C^Q_ZBBգ'Ce+,򻐒Zԭ yX:?l ^GOC9te\A51[~~􅷜h'DGFo D=  EA1 5M=Pyɷq U_Y1B%w KOA Qt'^”~`[+kZͪPɈ\Dیܱ |#d{ |B|Gy |G?o#Ħdvio%8:{>_@ @1(uiv(wdϊ _scAxp6͂Ha Jhl:=F+O9勊d ɿŧlE[ +Wbد/0 7FkF3|3( $q#2BeRMTXӜtAqq8)m+x 츺[cUeV)lXεŇwbTr9$m?>O:5G Ӱ}\D…BhQw;Ɇ#u,>\&VىC> %.t;|7T&+'džҷ+ jW(>EʻBK׹N]$V_:/k1ٜ[j"cSK܍ MdB[1yݚlÝĔD;<3t+{%oP̣nH@=8UOu3~h,dՕK6R.c id-#0/'ڢ/Ʒ#n dw1(s-!4mSdMz'Y*>]O״'F򪵘vi _z㥬tPJw(%9~-i&ZT[w`?lu`ؗzW:b]öfn>f22έ9CoŢY@m/2 =~ &t@-Wc=`dw@Cku%=GJ0k#p>']F_t38g[GYP|r#Ī>LyQ jҜ/ږn-*a( T݄xx[n?%_87o/?*gዛ`ABmSI:( :%-d[JaEEXЯ&~ꦇ 숆Z1v Xqʴ! >@AkJlL-QLyWf5~c * eoo<VlKI\,JA&i& OڤM*Iͭ&nբ3*馟ncM9Ɯ2L٦. &i q}}'}󼷓SD$-yc<,9t_U2*MTKj_P+fiakC\JqW 5f)ixox2W{RS5~AaPcRӕWTP>jWwjxoIc*o0g]3 ?C'z?oL;t_2chL:b/S__6m1EclNFtLKF|L`Saf?3Mel+ĐEa 4;_{zS팹h5(cw<{Gkb4N S;vx/D~̖3iW4*cv{nĬ嗾ƘfYfjY+N`  -O`_cW .d쒟.ؕ{5O'3[]u+v?`w\]uq\ Ivӝm e3yo[n8-tIgTO.#,tὩcG>%9WܾZ61:GًT3:ֹ#%uaS:Zof=Zg*os` ߒɨ,Rwߛ:߿+FvƖ%rDƖlyknblgK7 0ϖ,;R0-3ռ3Hdzӳj[dzoX2,ϖ=cKxwUɍ1-ľ3er9"dsL{C !o|j';WP@G||SklU0IzNeP\UN*vgq}Oy V].c{ϛbsqSc}=˨3}K+{eɪ]$-}rkc ~zCBǜսqVuXl$K&d/bQ/y=]vwTl[I/&RK?Ƌ?; a^G$_@şAq  Q_so1@bc?f0?#f%?L0H ߖLcbo%-ّ`"oIbcZFw}rF:!>jP8\Mbأ덱;fх"r_MۣOwhKno r5#$.IS*?Q EZ? (#AG!o}/A^٤[xFQ`[ GEy.5uI L;-b~IZuI}`O"4Q"VwG/ޢHa!Q~xi.Z3V9DRiGD4.}e)%<gYA!kQgr\ -HLDxޢj(\[Yv&oCƦ"ipT}yg._e'35X+eUB"j6jb=?vOWݶEfYS-H0Gh]""w0 (v'i[IwS|70G u7Ҵ·Y 7}*d^8b>ш|Vu"&f=[@ ~|?D oߩG%COK=J,G+xyPȠx!3D/$~F7nIqMp$C 闇RM#K kPGl!oiU~6[pYDs{Xiמ3*ǟӦW%eF u aСo1cIclu &?2ka+:]^l" ^"y[4bg%jNBm,ܔboҽWݑ'H僤1H*JهΐC/|Mw.,F^; ws3e!Y">eA8xiՉ{iq5#gs1#b'; UJ=eΥIFNRgNvAu2mb9 إ g;,fXyoRNzhg{>z?wgdq3B Yi~ZbREx g"FG$⛩LLq!tohK`h/t2  >e⒴yw|l(Y;Ưƫ '9OFw<, gT%8[wWSCfj(LWٌw b"$2?J*o]7/2g$lRÑQT=H(xr콷W0oZ ?N;#åڙ̹\f+9yyh]W䎿L<$o^?QHM*=B?}a$ZI7qya(iZK"%\;Y̸Ͳ0ل2cا9iETK*IyB\N͕05yREjx.3*7s`lKs',Mjrs|d%D I>tż{=1~vE&;f6(jΝN)^M5*^gSù =>GF">pȨN# ݇ (ǘv* 9DYEW V_rޢ_O7xM?x]>/7>6ƎSw3ߋQ8Of:/C~TNy"_1|~@23Oَxh1f/-COݚr {Ǿy<]+sY[T^!$Y|&dJ81Pǜ.bB*]b&F?@s}D=bQCCcÐY,u pnӿf*#ͦơ\S`=/9a0,7.2,ؿ ,=^aC LQr>n0i&$a_ngANRղQccfY̦09I$~Z/JqS=K ϬXzI#Zƨm{+ /F*8l@ClARHp#k ™p:c\yadFͬ_z{ɰtA'&ž ;l}Fw_ShVw%l= WvDluFؿ cZw+<Փ0x׳Ѕ+8@TH-xhb~A"˜ ''*jd/kc灿ۙ`,⣔Ŀt&Jc6vpp]4k+u;F-tt~$T-CVPDmε`+,$D ߙ>/^:D1"0"a5\O2/vZzǩÔ5˾1K,- B Eoweۆ):n-x,<ݫ⭼ɾ Z~07`EE؋.c HϜb}hn:@]&A77y"I)ʊo\Cŷ߂`޺G֕dV󋘧mdEx}"nV>3G?N}c5vjxh0 aFQ˟\+~Y+F`j&2!PDJc~Xi@e?kQ CSxL_E wbiޖti{gD?K T.Pl?x|Vhʼ-3y[-ە~P2o˫ه bh fUߢ$ڞbE;8 5CCxt}79DPa8Rģ Y WXs~EO{k؋q}11;NK>I-}{˩b1RTiVZ̽ aٿ&tmWf -rSHQa<*f$R(Xw.#Jqލen]m1@jXo v'x$y/P׍+f7Hk=$ORy'`3Qx"%b<q§o(o\Gy[vw <1pó$(Aݛe; Ov|v%j鳆،Cg!cQӻƘh k'k;_0 272Y&d,eL2Y&d_6jNb.Oh=gڢo@YD- YUщ!ȒlVZ˵jIR_I>%>\).ȥD&+XZ]Q*ݕ*cm`J%qIH(H]-E@^y REIY&8R]#&jdRF+Ѣ.LJr4ZK3-| W6 /ѕ,E2FR ujs`Ҍ2QR"&Po4J"X^B[^֤Y.d>|":dΑ z|AGlO.{nRm@O'.Yމ‘y) q8%vty~t6w?ha8= {jIf&]j{wuD|'U!6ki]\ VG}6' >HL4 N??Sql>t;}jy3,&hs0z8Oce{ 3:{حIKr#RCP'@>{'tKmv1y#8C- E<002SۧѾa]w\;ΐ9hd*DEۓC"<(QD" 7#ڌqĪ--E[gmAoA<Ă!C<[ď~o-",>@|3 ?RY|GӰ |I02i>]O ԍؓszhN~6N90,>ّ4@>WTkz.Haii9PbÓW<00W<3 Cxy*Ȥy萳ṳ*iH*Yݪ${Ld)ȧ1X-^(n: f\+fL0h^n彑őr#; П95$ ;|] _>H؛l'_ֱ<7rd`v]#Ԛ5qV&ۂtSbFF-HJe 䱟6NGSBi#7N/Y緧0?2iɬK v./pNxaXۜ6أHG6oH/ވܶ 6o;Ѱs9 b+3XTx=N&dH_~U=mp9ΐN/-X kXlrNX~8r|n{h"NZoL&2lGA& <^Elغ10z`<嶶IPv8mQo$ٿp[r!Gi^9Jq< ` ëY(fP!nأB|0 qkj7v?PiVk  1 \xO6@qs6-b<X8/9ur#>9l*@12oOTC\O rE*DM. 9 Xx qc.jćsBՈrW#Μ3"R1"`7!>5 &;juk 6""~!T83Z%yWyfDG@7.3<̈^ bt[WLmAN8bAN("pRuOmYx{/XcMte|9Ϸ"n`V}<1~9[í34u ?Ft/84%Y7, q[dK,PBt abRKڍ^ nĵKFܰ`nMKۍR{-xyDq "{^|QS p>`1@髈w*#^C uD2^G.xuāe׾x2o > MħMbrWB\÷+, qr캆_| 6`l(C|UyS{K2G5P@,HZG*Xt%bVRS͹#<@z%fR $pVeq-Ap0S/B@)W >'Cv B&-T$ՑYP_gm |'W)"ĮB\N4C"X] ~ W ݂%@*X5(KW!vS=6{< WO`)0+vJPp @#)Ժ2%Ցv{>ݤ: W 7Vxn&{iuL+S^ ʓLգ> t^}j9?`)_pxH>i.Xv/5~??/5yK*l2`kej3GlLU9:O%)k+oO/A.BVe|X?*/8Vg SZ _O[{!ʑ:VGrYBB/1)srk`߅5J|^JcG/0#GEE;_/GGY*,Qdf^P!U@)Vښ0SX¶ߗpfTQ 8FllUl}l;Tsx>&flU!.$rԂذ=ޓxcCV@?9`%_@qE"-9LGU_-U ׏)^~ ">H'͂f`QЬ-f`NЬ5ilԦܒVn*ڴ H>9nTvd!0]*z6$#KH ">h#xcVPɯPP*AugR9V#x OZXb<&^ 䇓s֥5@V7`qRDO;dK(q>#͹a35%oՀ2ili?5iR焵m;n4}iuM8`H]=? CbY-¦A AiO<<J*ת;ۻ (2f ^n$=4A t=,`t˪ONO|2O>@iO>C?:>t:@VM4431-?0tTMj;E+ZsED%?nQ0+/К4z~&yv_9^u'oML= f׍n.(;qTXSXȎa/֓1fҿhx<:})k 5XYxko%eȕcOѝ?!99Pjeo :u : de' Z>w&@5uIf\&3V"Ν>Sg15  AIJ c6,Og4|/E|ACjNY4i pWH[.#-cP„Y5".M~~FlbˁYFīߗpM#l^Jg([hɺGXh@ڪAFE\NЪw6u p}lq<4w< b;Nbwwa~fbM`g<}v?v1'q1O#}=`;Re 4">ѐQOlDoI&G`ԽMEu5!t=<˘{ :<тhL褈NJ M\X-F:[k9Bwj@V+{ ZH6w9"Na~[w\D7n D9"^we^$K 8D^xDh+/EiВ8{/80n8Euu/cKs#%uř㬅1ed-"s.@-#_8nAKU.o'KOފhKj.[W'쿕\5R p`]p+֏ԭ w=b+W"`.*wz_~>$q^2a&(HN|'uδuF  nfMͫ؈ z_!^G5y? ǕzOyuoGLj_|nG )Bmy>6.~};bq_#NO|;k'ͧZ7| #>u)U;)묱 5Drz)@wg6rN#0g\4W ЫҾ?|)_*-8I"3p_ pw[ϫz"y%Ykz%XIQFEj.*xv5.oD4,x#bnR]Ne_YFDAR# %/$r{7"JJ TS2d}Avv&e0Opݽ#R'\ȚiY1;+p qZRF!ԶxP`L*;!yW1O;qӘ`}'Q!5NS@5HX2PPtTXA I 3F\/X'pkA;N nBI`v"c2M{X$cJ N̈k/LM w]'Cs;p^ G߷fDoK܅?Eu~sH0yof!?C|ЙaAw]#nW[O>Bc~`fS?g2tN[K.x1i !'_gǿ"'B,L~'l~]0-I"F,Jq)?EEj?@8iZʤ~~Et +끳W DzJR f҈$GYԯ捶i&0?$I4xI7nkL2Y&d,_r 3 v@x>{=gh|ff2?AyYen^$k 'Ucoq {G?$w/86>d~ҝZS'H7}49[]0 QA* }g-c;1'?wb>~7xzs}*Lsf 'q'-nw9;1[N_w/51{tyfL̉MԾ~vj}FݐZ7ٍn6/䭚 jO8cz֯^ofQNe3X쵐'hpbVqa;Ε<_M'?~7N.95m OB7zT_xfvM{M8}tޞ ;8AO&HY&N]'pb3A+R>U,<9o+oIoH+.s*tMRSϤoLſ!j:TSMN'$!/J;/OߙM/ߘ+oOߞJߖ9?tTtP*~O:Tةw_TR>5:[ur_(k #kn|@n}5=NV>++?;@'=tCV/{}Éx?yYϔW3p<ϳ8g;{8rod z??_yzL/=g/>Os<НϝݩL40kiQr{}+;co85>adS27[+D3O}Nb>@U};KeS9{+ju^sU^s5>  &9koN_T[ϳGnb-3fd9t+O筩;?gsd ؐ3w>?oK.6?xp}?xW\]^s`|ܕjϿ3k+۞'Wwwݩ}TLwؾO;Ob~TTj'؞^^'~\>3N]"s=RG&gs;eAp.qqTwp{˃Iwv~NcFrfK~'?)#Gw~51fkҿ?C~o1_ u,lda; Yx3 d,],| /r,PF7N>-,X pJY(c,lga7 of,|[XaP,\B u,lda; Yx3 d,],| 8X,\B u,lda; Yx3 d,],| 'fbXca# Y|3 d,rL`/ Jζ OPv# J\hvC10b0ACPrzmF>|,q"PqF@I(@uVtn|nGh JV2H[m l}3D6BI[8L[v[S)d>HTXs4Y ύ\ؙR8?8x4"vl񘃻Ov箹{犒] pAnIo?j;Ɣ8|Xʹ&ۛ~45i۝0}J4TxٽcJG?`- [i8X43^ߛ_TK+;,@XJ '_K"81ٽNzP>=~$~n( %_?"NOolGvt{^m4\Nϭ?ϋgy 6qB?wÉ?o91)XCcJ4*6o!IE bJ:?ebiD"H,$ ,?{&h8b (rIw26,iĿl2礌i*_4sQFvBγD&($7/!_$9)a;{w"KDrzM zϼYL"P :R9'NJra8oʩ_*+(#=~YqV&.J"m!{,pz/&.J"vw8΂ә2g$?DΊNHC;OII~el2$=S}4D:;'%,No$zm^4_!II919)m~#'nJJ{Bș_O4926r< 3_29)#Y'C?9a;s?_49gYqZ礌isNYX/MI/<+FebdE{l<}MII?;|6Ȁӹ'Gbr?'%9ހϸeB)2[+oidEI/|4~]!9)cf 2˃S?so2g 6ow.w8J' 0U^?[ n/ m%h:Nm'QYXVBIIə3bi_&ٜe3YEx7d&d6\:&E"T:n+De $eb1$RHs҈㿜VoTFZXm+sLСQ:ܝGRiuJeZY'WUVi>vo]TZvtZ{ew҆Ojw x5Eh:{\JImNOwm:B//.k >?jYĎjܬMonZ9(et*:[# ;٤wCNGޫtں.[Τm5)cyg3)m I-evjV˃vGMgDQjtM2J4d.o]M]%Re:>ӗ< ښFm1vU]pw[j>}.-ZXc(딪:(ͨ8G?_.9ۥmgrwC[%u*GoqjjFݭ@uM%Zۯ ib vI|2[_, hjEMv4JUuz]ʭi\n74zLnVeH=[ar:I:&(ٔ~qm}=J*jnkªbIhI9>[jRCSIj5J=gCj+3=pDYwWj}:QN"1U*e8w4WZjjd-poWRۡWԋjUMhзru_T/MsQP.9j2[FGuGF8*Ua3mmiU/-n+e}QGC6ܔ'0u S㔷uwSnQnpjl=2V+V]O]! Q{]V u7TDO=}mm~m[*//sd:w_"1:@CiT+6 jm4(ʑI}Ά@YDu= bk(,5D&¥[\=]J46*jeuFoqNo2w)}&[ӣkP:|M6Ay.Z"1.YaUx$٘2i?{_"-碜7uz+*G_P[E9v7P*ջ}aGW6Rխ)=5r]aRJ:E^Zj6ԚFX[+4QFFhtfåklⲐԬ`H% VMگ9.XgWYdFIEZQ8B*Em}*)XX;N_).Um&kKYq/Pl6胦S"68E)j]XެM-9&W<:vKd뮖S:]]>Xڢ*m5(ʲ.QO 3MuŤ Z{rzSv:_$碜_-/s6F{ۥUfc-ݤ>;V[#Pum\[m $H]]&jZʣ5zOE8V_l|&*k2, yŚ&lWeiS vO$c]mzIW^+;FGDWt i %:=KZ,Vz9jeE^g9MNkG[bHSzz띊`us=Uܬ喖`XWqj5$RuٍR]iOTD,Щ2{<2ycoq-*E:|N16i,+&(g,fT,ZWY#ZJL)UMZnխݵqU+h*Nkk9]6ARt+CUWZ] -dY]Ξ,UIVtHhYiOX)$N__SZdiUז{U!Aԭl#G_^i鶷e}Uv94ގ& +tnUZ֊k&s풦S)90US kG?QjTKW-|"W?dilT(C@Wfj]\8sR?UoUBRvs%u7t5Xhw%iUX)[R%-+:T2eq_cobUL5)\Q{" ZT_^1hhNbW;uTE7أwGmqK)7zϣ5ˌ7 K=@I+/9zzzqJ]k:6o}ޡksz^%s}:}Sڣ+%,yŦ`g4ԛ{5bWgʠ7W8{%`Zё#VUR\h- 2Z]]Ů2C9ݮzk}K_)I[B9m_)춉~zZ3oVɣ=UZMml Uب km i*ܪe5}"Q54)eNԤC6_HZY^hiIlٴMS_[{^Y.S5 `Y\]'j$KYK]-'PUV eR:DzEZZl5u6Z;CڞrHdk0ΎY }:-㰴VТJ>AUkZZGT[iiu;UQu]]HCuTh}PqsYYN_AەƊnO[#WJ-hu]^\\]]fhvu-lvH8{_,碜_/V5Fj:75tT8ZTdo,/nt5}VJ/ 5"Sb-VM-崗-j;GVtnD̮꺰]3[͑*Sh K{ulEʧ]ݘqFLptE[zYSVHIT"b]VKn)SPJڤTDڤu5u -fۦFҞqgSMk_{sJ^at=MĠRUX}ST4mNCa2[E>\,6(]5ݵ fiCKUjRNu9/ʝ3RhTMsQNtwiH]g&Q+=.iRU].QU&UYQjʺ =ToF١p[kJ5VWfi|fkX\=-5ʰ,=e~IQW4dҮ@]cVv9owQQEh;읽MnjMjJi3CڪƈI;{$5~{N\*5zASF)iX.~M Qu8f_w\49gDW@:3tufef׹r8mq=k={lg^Y[>wY;v|!ު0unO 8n>VFF2Ѓ ǼWY[$?nJQ)FG@;t)Lj{ m]w3IK=i*ҵoDJ pJBR#fVr0,JODiihf'f|-Ju)"68y#~l0#.=Ok}O3#SLa\ k$|X`e%С G- ,0fiq2W`:Ǧ:PmRTZr #)2D9 `3͂G0-P&z\dq~&dGODO."_o"/1A78p ݉Q˷i=xKiȶI瞼|+z3vz$rڱ*BUn.4XTU% ۪0ΦdžG3pKREz7#P0b;t.fSD:VHnn8!.ņvH3ݹUdl9.S,6 y&>؜}} =@ourق\Tf&oSl15$'UWy%c`u )s-gYd j\_G!9 ;z(ZBTȟB6]sX9hؠ^9uA=t~RM/hY7(;I/ʶLA8v0"bQs3![B+<`3I qg O @CL*2VpW O `q͞&qE2lNy+2PhWz];<^CHeUQ?I+fG#NP~: (WDd[ č}I QƮRpkA");:7 1RuTld5*a#UT(ڟXTPl+AfdE7sl֋g(w;D3"#M(y\zk]l'RHQCSLyll4WnOJQ} /5@8UKyV*4PL !u7i?JfBV &zљU lQa?l$ HZáEU?y}XU0{OmH^! c\(,WG[Yf!WXr3JJÉ"lMHaq-wlC315s<66x! &h>*)= N=<&.xk,78 j 9(swH~.5Tsj-zPa{̇SIZ-+\O&r-+*4fpD OMpDC mU"Cw԰k9J{3wR,F ~^@sEQL 'Օ[6~&B/<-0AX7G*5L/ <ܶ^07x0˚cn L|dDvp&iWG$-JUv y?x$GG|+$E8^fz7ChFpXC{ccmƆ 6Uq5fP IL)kN5ˌigVLNd2Nf'Xɽ]/Y`9[ |Ĵ2HvѮ)SJ4 7&PMn6.hQa47<*C+|VgV%ɣ!qOz,P΢4T63=:hv*RJWEcحeLhO3Y$U\З=PYB=8ٚuq%[&`kWL'hebņk4GzqG+#Xg[tjշ}j'dޖU֛;0 AJr/ld&ᶆv8sANa&GG>c!ѕۘ2~Qϛ k*@`?mS%VJZu~fҘZ LyE){s DNIKN=D5+ڪP,m;Sz#n+\c*vM  zM"۱1aj D :0u`'K81nTN0;"9s3 QBӎR6EX]k.M~nXa5$PRlӜI#n/;Kfڅ۩7~>wT@ǚLMgzmFݡG4M]9#]0uBuEڭˊK ArPrxW~LU7-dfDpOpIz`.nHQG:ԷLKo sHor4PZ+c0$h#| J-v$ 4wԒ V#f{!MH4M{L~KfBDsFՂnmS/NJF-ȹ`Z ?PђFAL 6~4! K9"wTCq6Ñ_S8U!aE~Tmv(e 3$6ݖXkh˭y][e1-Md*C(4v2dad|/f/{.йm,-CXz8=Z83|5t)w?sN>HI6C`aSK NjTr0ub&j;#hBey(tLE!>JinPV}Jq[Q)"hUzxyReeNQeσUwZjte``'XHƸ< y$mkGi'bE"JKk6]MkPQӰfB gХt3ulza ADfc n">w%AӬauZ9Hzo[9 xuӇ=U>'͎a›ކe<7HG I?<U$dO֎8`IQ=+քY; YU:t1eAvkk3|W^:.GZqt,&`2+$m}L#`Qiha?88ENmjCAfii)BRo$9X{`pB&Jt urKf9KYsNoنG\:Qabjlǖi~ɏ,j_X2}K=߰}GXXXl (t 3V6ʤ.v$%ʃdF0IZr>Rgfc3̼NlN>_myrYvl)p +x?񇑏pk0^g_o"m?u&/} zfpw 9x?Fy+__C? _lg~|+'+W$L^-7]KO?i3 L+ؓ?1c\È|3E~#vc\?~30)pc\?3GiQ>VG7?H:{m_}]! <9'=0 \='FXW'f;yz :tQ&rv* qMM\2)Fe0AI$?!0ȟYa U`zY ^3dy_~P??( YƧ{&,7g7)#1Anm׻jzru{󣝥;P8u%on<|WaAL6KVw? /WaZg]@WbVo.CUUuhYSwٞʻ]}$Z~N~g/?g/<:I?_~pgNX~z7`)pss-_A'nnn. /Jz77N=)5/9M)A/nt|@X}B/įݪ? TdfUA[C)pƕ 6'5`!E_A/ی`\[]| S7d~ߟ/*Sgl:{OQ0mO1`vhƠ}=VrpӪ.-ShƝW`SgK S܌c0kj?;uu:p{6S0u[-ܴ>tޥLI ~sv?߾.2b,a% ]n>n|e49}nV䑚{?K ߋ̣@t2*+kRѨa?܍磾­&nU_l ryPXOz;|g;ۃi 1D_5+3;7̓SF`[;G/mԌ,] [׹$Y >:WY XaeZXY;mƧ2Kn'_rqa ߭,)A~Қ+חi/#y~&rG$y}&r|}6rMe'(] 9֫iG"?DzsG!r- ?kG?D^q8?6?-?oח;ƪUWD.I:{9៘kvk&r??WDNMe?& ?iU/ZDInmN-Yt1ev::N#O&]*W )}&jonotation-go-1.2.1/internal/testdata/oci-layout/index.json000066400000000000000000000011651466620631100234750ustar00rootroot00000000000000{ "schemaVersion": 2, "manifests": [ { "mediaType": "application/vnd.oci.image.manifest.v1+json", "digest": "sha256:19dbd2e48e921426ee8ace4dc892edfb2ecdc1d1a72d5416c83670c30acecef0", "size": 481, "annotations": { "io.containerd.image.name": "docker.io/library/alpine:v2", "org.opencontainers.image.created": "2023-03-13T02:31:43Z", "org.opencontainers.image.ref.name": "v2" }, "platform": { "architecture": "amd64", "os": "linux" } } ] }notation-go-1.2.1/internal/testdata/oci-layout/manifest.json000066400000000000000000000004061466620631100241710ustar00rootroot00000000000000[ { "Config": "blobs/sha256/572996c3caeacea40b947911a9dda21516c082b5a64af30048a02a6f5eb956d4", "RepoTags": null, "Layers": [ "blobs/sha256/63b65145d645c1250c391b2d16ebe53b3747c295ca8ba2fcb6b0cf064a4dc21c" ] } ]notation-go-1.2.1/internal/testdata/oci-layout/oci-layout000066400000000000000000000000361466620631100234770ustar00rootroot00000000000000{"imageLayoutVersion":"1.0.0"}notation-go-1.2.1/internal/trustpolicy/000077500000000000000000000000001466620631100201735ustar00rootroot00000000000000notation-go-1.2.1/internal/trustpolicy/trustpolicy.go000066400000000000000000000012411466620631100231210ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package trustpolicy const ( Wildcard = "*" X509Subject = "x509.subject" ) notation-go-1.2.1/log/000077500000000000000000000000001466620631100145375ustar00rootroot00000000000000notation-go-1.2.1/log/log.go000066400000000000000000000074201466620631100156520ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package log provides logging functionality to notation. // Users who want to enable logging option in notation should implement the // log.Logger interface and include it in context by calling log.WithLogger. // 3rd party loggers that implement log.Logger: github.com/uber-go/zap.SugaredLogger // and github.com/sirupsen/logrus.Logger. package log import "context" type contextKey int // loggerKey is the associated key type for logger entry in context. const loggerKey contextKey = iota // Discard is a discardLogger that is used to disenable logging in notation. var Discard Logger = &discardLogger{} // Logger is implemented by users and/or 3rd party loggers. // For example, github.com/uber-go/zap.SugaredLogger // and github.com/sirupsen/logrus.Logger. type Logger interface { // Debug logs a debug level message. Debug(args ...interface{}) // Debugf logs a debug level message with format. Debugf(format string, args ...interface{}) // Debugln logs a debug level message. Spaces are always added between // operands. Debugln(args ...interface{}) // Info logs an info level message. Info(args ...interface{}) // Infof logs an info level message with format. Infof(format string, args ...interface{}) // Infoln logs an info level message. Spaces are always added between // operands. Infoln(args ...interface{}) // Warn logs a warn level message. Warn(args ...interface{}) // Warnf logs a warn level message with format. Warnf(format string, args ...interface{}) // Warnln logs a warn level message. Spaces are always added between // operands. Warnln(args ...interface{}) // Error logs an error level message. Error(args ...interface{}) // Errorf logs an error level message with format. Errorf(format string, args ...interface{}) // Errorln logs an error level message. Spaces are always added between // operands. Errorln(args ...interface{}) } // WithLogger is used by callers to set the Logger in the context. // It enables logging option in notation. func WithLogger(ctx context.Context, logger Logger) context.Context { return context.WithValue(ctx, loggerKey, logger) } // GetLogger is used to retrieve the Logger from the context. func GetLogger(ctx context.Context) Logger { if logger, ok := ctx.Value(loggerKey).(Logger); ok { return logger } return Discard } // discardLogger implements Logger but logs nothing. It is used when user // disenabled logging option in notation, i.e. loggerKey is not in the context. type discardLogger struct{} func (dl *discardLogger) Debug(args ...interface{}) { } func (dl *discardLogger) Debugf(format string, args ...interface{}) { } func (dl *discardLogger) Debugln(args ...interface{}) { } func (dl *discardLogger) Info(args ...interface{}) { } func (dl *discardLogger) Infof(format string, args ...interface{}) { } func (dl *discardLogger) Infoln(args ...interface{}) { } func (dl *discardLogger) Warn(args ...interface{}) { } func (dl *discardLogger) Warnf(format string, args ...interface{}) { } func (dl *discardLogger) Warnln(args ...interface{}) { } func (dl *discardLogger) Error(args ...interface{}) { } func (dl *discardLogger) Errorf(format string, args ...interface{}) { } func (dl *discardLogger) Errorln(args ...interface{}) { } notation-go-1.2.1/log/log_test.go000066400000000000000000000025271466620631100167140ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package log provides logging functionality to notation. // Users who want to enable logging option in notation should implement the // log.Logger interface and include it in context by calling log.WithLogger. // 3rd party loggers that implement log.Logger: github.com/uber-go/zap.SugaredLogger // and github.com/sirupsen/logrus.Logger. package log import ( "context" "testing" ) func TestWithLoggerAndGetLogger(t *testing.T) { tl := &discardLogger{} ctx := WithLogger(context.Background(), tl) if got := GetLogger(ctx); got != tl { t.Errorf("GetLogger() = %v, want %v", got, tl) } } func TestGetLoggerWithNoLogger(t *testing.T) { ctx := context.Background() if got := GetLogger(ctx); got != Discard { t.Errorf("GetLogger() = %v, want Discard", got) } } notation-go-1.2.1/notation.go000066400000000000000000000446201466620631100161460ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package notation provides signer and verifier for notation Sign // and Verification. package notation import ( "context" "crypto/sha256" "crypto/x509" "encoding/hex" "encoding/json" "errors" "fmt" "strings" "time" orasRegistry "oras.land/oras-go/v2/registry" "oras.land/oras-go/v2/registry/remote" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/tspclient-go" "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) var errDoneVerification = errors.New("done verification") var reservedAnnotationPrefixes = [...]string{"io.cncf.notary"} // SignerSignOptions contains parameters for Signer.Sign. type SignerSignOptions struct { // SignatureMediaType is the envelope type of the signature. // Currently, both `application/jose+json` and `application/cose` are // supported. SignatureMediaType string // ExpiryDuration identifies the expiry duration of the resulted signature. // Zero value represents no expiry duration. ExpiryDuration time.Duration // PluginConfig sets or overrides the plugin configuration. PluginConfig map[string]string // SigningAgent sets the signing agent name SigningAgent string // Timestamper denotes the timestamper for RFC 3161 timestamping Timestamper tspclient.Timestamper // TSARootCAs is the cert pool holding caller's TSA trust anchor TSARootCAs *x509.CertPool } // Signer is a generic interface for signing an OCI artifact. // The interface allows signing with local or remote keys, // and packing in various signature formats. type Signer interface { // Sign signs the OCI artifact described by its descriptor, // and returns the signature and SignerInfo. Sign(ctx context.Context, desc ocispec.Descriptor, opts SignerSignOptions) ([]byte, *signature.SignerInfo, error) } // signerAnnotation facilitates return of manifest annotations by signers type signerAnnotation interface { // PluginAnnotations returns signature manifest annotations returned from // plugin PluginAnnotations() map[string]string } // SignOptions contains parameters for notation.Sign. type SignOptions struct { SignerSignOptions // ArtifactReference sets the reference of the artifact that needs to be // signed. It can be a tag, a digest or a full reference. ArtifactReference string // UserMetadata contains key-value pairs that are added to the signature // payload UserMetadata map[string]string } // Sign signs the OCI artifact and push the signature to the Repository. // The descriptor of the sign content is returned upon successful signing. func Sign(ctx context.Context, signer Signer, repo registry.Repository, signOpts SignOptions) (ocispec.Descriptor, error) { // sanity check if err := validateSignArguments(signer, signOpts.SignerSignOptions); err != nil { return ocispec.Descriptor{}, err } if repo == nil { return ocispec.Descriptor{}, errors.New("repo cannot be nil") } logger := log.GetLogger(ctx) artifactRef := signOpts.ArtifactReference if ref, err := orasRegistry.ParseReference(artifactRef); err == nil { // artifactRef is a valid full reference artifactRef = ref.Reference } targetDesc, err := repo.Resolve(ctx, artifactRef) if err != nil { return ocispec.Descriptor{}, fmt.Errorf("failed to resolve reference: %w", err) } // artifactRef is a tag or a digest, if it's a digest it has to match // the resolved digest if artifactRef != targetDesc.Digest.String() { if _, err := digest.Parse(artifactRef); err == nil { // artifactRef is a digest, but does not match the resolved digest return ocispec.Descriptor{}, fmt.Errorf("user input digest %s does not match the resolved digest %s", artifactRef, targetDesc.Digest.String()) } // artifactRef is a tag logger.Warnf("Always sign the artifact using digest(`@sha256:...`) rather than a tag(`:%s`) because tags are mutable and a tag reference can point to a different artifact than the one signed", artifactRef) logger.Infof("Resolved artifact tag `%s` to digest `%s` before signing", artifactRef, targetDesc.Digest.String()) } descToSign, err := addUserMetadataToDescriptor(ctx, targetDesc, signOpts.UserMetadata) if err != nil { return ocispec.Descriptor{}, err } sig, signerInfo, err := signer.Sign(ctx, descToSign, signOpts.SignerSignOptions) if err != nil { return ocispec.Descriptor{}, err } var pluginAnnotations map[string]string if signerAnts, ok := signer.(signerAnnotation); ok { pluginAnnotations = signerAnts.PluginAnnotations() } logger.Debug("Generating annotation") annotations, err := generateAnnotations(signerInfo, pluginAnnotations) if err != nil { return ocispec.Descriptor{}, err } logger.Debugf("Generated annotations: %+v", annotations) logger.Debugf("Pushing signature of artifact descriptor: %+v, signature media type: %v", targetDesc, signOpts.SignatureMediaType) _, _, err = repo.PushSignature(ctx, signOpts.SignatureMediaType, sig, targetDesc, annotations) if err != nil { var referrerError *remote.ReferrersError // do not log an error for failing to delete referral index if !errors.As(err, &referrerError) || !referrerError.IsReferrersIndexDelete() { logger.Error("Failed to push the signature") } return ocispec.Descriptor{}, ErrorPushSignatureFailed{Msg: err.Error()} } return targetDesc, nil } func validateSignArguments(signer any, signOpts SignerSignOptions) error { if signer == nil { return errors.New("signer cannot be nil") } if signOpts.ExpiryDuration < 0 { return errors.New("expiry duration cannot be a negative value") } if signOpts.ExpiryDuration%time.Second != 0 { return errors.New("expiry duration supports minimum granularity of seconds") } if signOpts.SignatureMediaType == "" { return errors.New("signature media-type cannot be empty") } if err := validateSigMediaType(signOpts.SignatureMediaType); err != nil { return err } return nil } func addUserMetadataToDescriptor(ctx context.Context, desc ocispec.Descriptor, userMetadata map[string]string) (ocispec.Descriptor, error) { logger := log.GetLogger(ctx) if desc.Annotations == nil && len(userMetadata) > 0 { desc.Annotations = map[string]string{} } for k, v := range userMetadata { logger.Debugf("Adding metadata %v=%v to annotations", k, v) for _, reservedPrefix := range reservedAnnotationPrefixes { if strings.HasPrefix(k, reservedPrefix) { return desc, fmt.Errorf("error adding user metadata: metadata key %v has reserved prefix %v", k, reservedPrefix) } } if _, ok := desc.Annotations[k]; ok { return desc, fmt.Errorf("error adding user metadata: metadata key %v is already present in the target artifact", k) } desc.Annotations[k] = v } return desc, nil } // ValidationResult encapsulates the verification result (passed or failed) // for a verification type, including the desired verification action as // specified in the trust policy type ValidationResult struct { // Type of verification that is performed Type trustpolicy.ValidationType // Action is the intended action for the given verification type as defined // in the trust policy Action trustpolicy.ValidationAction // Error is set if there are any errors during the verification process Error error } // VerificationOutcome encapsulates a signature envelope blob, its content, // the verification level and results for each verification type that was // performed. type VerificationOutcome struct { // RawSignature is the signature envelope blob RawSignature []byte // EnvelopeContent contains the details of the digital signature and // associated metadata EnvelopeContent *signature.EnvelopeContent // VerificationLevel describes what verification level was used for // performing signature verification VerificationLevel *trustpolicy.VerificationLevel // VerificationResults contains the verifications performed on the signature // and their results VerificationResults []*ValidationResult // Error that caused the verification to fail (if it fails) Error error } func (outcome *VerificationOutcome) UserMetadata() (map[string]string, error) { if outcome.EnvelopeContent == nil { return nil, errors.New("unable to find envelope content for verification outcome") } var payload envelope.Payload err := json.Unmarshal(outcome.EnvelopeContent.Payload.Content, &payload) if err != nil { return nil, errors.New("failed to unmarshal the payload content in the signature blob to envelope.Payload") } if payload.TargetArtifact.Annotations == nil { return map[string]string{}, nil } return payload.TargetArtifact.Annotations, nil } // VerifierVerifyOptions contains parameters for Verifier.Verify used for verifying OCI artifact. type VerifierVerifyOptions struct { // ArtifactReference is the reference of the artifact that is being // verified against to. It must be a full reference. ArtifactReference string // SignatureMediaType is the envelope type of the signature. // Currently only `application/jose+json` and `application/cose` are // supported. SignatureMediaType string // PluginConfig is a map of plugin configs. PluginConfig map[string]string // UserMetadata contains key-value pairs that must be present in the // signature. UserMetadata map[string]string } // Verifier is a interface for verifying an OCI artifact. type Verifier interface { // Verify verifies the `signature` associated with the target OCI artifact //with manifest descriptor `desc`, and returns the outcome upon // successful verification. // If nil signature is present and the verification level is not 'skip', // an error will be returned. Verify(ctx context.Context, desc ocispec.Descriptor, signature []byte, opts VerifierVerifyOptions) (*VerificationOutcome, error) } type verifySkipper interface { // SkipVerify validates whether the verification level is skip. SkipVerify(ctx context.Context, opts VerifierVerifyOptions) (bool, *trustpolicy.VerificationLevel, error) } // VerifyOptions contains parameters for notation.Verify. type VerifyOptions struct { // ArtifactReference is the reference of the artifact that is being // verified against to. ArtifactReference string // PluginConfig is a map of plugin configs. PluginConfig map[string]string // MaxSignatureAttempts is the maximum number of signature envelopes that // will be processed for verification. If set to less than or equals // to zero, an error will be returned. MaxSignatureAttempts int // UserMetadata contains key-value pairs that must be present in the // signature UserMetadata map[string]string } // Verify performs signature verification on each of the notation supported // verification types (like integrity, authenticity, etc.) and return the // successful signature verification outcome. // For more details on signature verification, see // https://github.com/notaryproject/notaryproject/blob/main/specs/trust-store-trust-policy.md#signature-verification func Verify(ctx context.Context, verifier Verifier, repo registry.Repository, verifyOpts VerifyOptions) (ocispec.Descriptor, []*VerificationOutcome, error) { logger := log.GetLogger(ctx) // sanity check if verifier == nil { return ocispec.Descriptor{}, nil, errors.New("verifier cannot be nil") } if repo == nil { return ocispec.Descriptor{}, nil, errors.New("repo cannot be nil") } if verifyOpts.MaxSignatureAttempts <= 0 { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: fmt.Sprintf("verifyOptions.MaxSignatureAttempts expects a positive number, got %d", verifyOpts.MaxSignatureAttempts)} } // opts to be passed in verifier.Verify() opts := VerifierVerifyOptions{ ArtifactReference: verifyOpts.ArtifactReference, PluginConfig: verifyOpts.PluginConfig, UserMetadata: verifyOpts.UserMetadata, } if skipChecker, ok := verifier.(verifySkipper); ok { logger.Info("Checking whether signature verification should be skipped or not") skip, verificationLevel, err := skipChecker.SkipVerify(ctx, opts) if err != nil { return ocispec.Descriptor{}, nil, err } if skip { logger.Infoln("Verification skipped for", verifyOpts.ArtifactReference) return ocispec.Descriptor{}, []*VerificationOutcome{{VerificationLevel: verificationLevel}}, nil } logger.Info("Check over. Trust policy is not configured to skip signature verification") } // get artifact descriptor artifactRef := verifyOpts.ArtifactReference ref, err := orasRegistry.ParseReference(artifactRef) if err != nil { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: err.Error()} } if ref.Reference == "" { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: "reference is missing digest or tag"} } artifactDescriptor, err := repo.Resolve(ctx, ref.Reference) if err != nil { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: err.Error()} } if ref.ValidateReferenceAsDigest() != nil { // artifactRef is not a digest reference logger.Infof("Resolved artifact tag `%s` to digest `%s` before verification", ref.Reference, artifactDescriptor.Digest.String()) logger.Warn("The resolved digest may not point to the same signed artifact, since tags are mutable") } else if ref.Reference != artifactDescriptor.Digest.String() { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: fmt.Sprintf("user input digest %s does not match the resolved digest %s", ref.Reference, artifactDescriptor.Digest.String())} } var verificationSucceeded bool var verificationOutcomes []*VerificationOutcome var verificationFailedErrorArray = []error{ErrorVerificationFailed{}} errExceededMaxVerificationLimit := ErrorVerificationFailed{Msg: fmt.Sprintf("signature evaluation stopped. The configured limit of %d signatures to verify per artifact exceeded", verifyOpts.MaxSignatureAttempts)} numOfSignatureProcessed := 0 // get signature manifests logger.Debug("Fetching signature manifests") err = repo.ListSignatures(ctx, artifactDescriptor, func(signatureManifests []ocispec.Descriptor) error { // process signatures for _, sigManifestDesc := range signatureManifests { if numOfSignatureProcessed >= verifyOpts.MaxSignatureAttempts { break } numOfSignatureProcessed++ logger.Infof("Processing signature with manifest mediaType: %v and digest: %v", sigManifestDesc.MediaType, sigManifestDesc.Digest) // get signature envelope sigBlob, sigDesc, err := repo.FetchSignatureBlob(ctx, sigManifestDesc) if err != nil { return ErrorSignatureRetrievalFailed{Msg: fmt.Sprintf("unable to retrieve digital signature with digest %q associated with %q from the Repository, error : %v", sigManifestDesc.Digest, artifactRef, err.Error())} } // using signature media type fetched from registry opts.SignatureMediaType = sigDesc.MediaType // verify each signature outcome, err := verifier.Verify(ctx, artifactDescriptor, sigBlob, opts) if err != nil { logger.Warnf("Signature %v failed verification with error: %v", sigManifestDesc.Digest, err) if outcome == nil { logger.Error("Got nil outcome. Expecting non-nil outcome on verification failure") return err } outcome.Error = fmt.Errorf("failed to verify signature with digest %v, %w", sigManifestDesc.Digest, outcome.Error) verificationFailedErrorArray = append(verificationFailedErrorArray, outcome.Error) continue } // at this point, the signature is verified successfully verificationSucceeded = true // on success, verificationOutcomes only contains the // succeeded outcome verificationOutcomes = []*VerificationOutcome{outcome} logger.Debugf("Signature verification succeeded for artifact %v with signature digest %v", artifactDescriptor.Digest, sigManifestDesc.Digest) // early break on success return errDoneVerification } if numOfSignatureProcessed >= verifyOpts.MaxSignatureAttempts { return errExceededMaxVerificationLimit } return nil }) if err != nil && !errors.Is(err, errDoneVerification) { if errors.Is(err, errExceededMaxVerificationLimit) { return ocispec.Descriptor{}, verificationOutcomes, err } return ocispec.Descriptor{}, nil, err } // If there's no signature associated with the reference if numOfSignatureProcessed == 0 { return ocispec.Descriptor{}, nil, ErrorSignatureRetrievalFailed{Msg: fmt.Sprintf("no signature is associated with %q, make sure the artifact was signed successfully", artifactRef)} } // Verification Failed if !verificationSucceeded { logger.Debugf("Signature verification failed for all the signatures associated with artifact %v", artifactDescriptor.Digest) return ocispec.Descriptor{}, verificationOutcomes, errors.Join(verificationFailedErrorArray...) } // Verification Succeeded return artifactDescriptor, verificationOutcomes, nil } func generateAnnotations(signerInfo *signature.SignerInfo, annotations map[string]string) (map[string]string, error) { // sanity check if signerInfo == nil { return nil, errors.New("failed to generate annotations: signerInfo cannot be nil") } var thumbprints []string for _, cert := range signerInfo.CertificateChain { checkSum := sha256.Sum256(cert.Raw) thumbprints = append(thumbprints, hex.EncodeToString(checkSum[:])) } val, err := json.Marshal(thumbprints) if err != nil { return nil, err } if annotations == nil { annotations = make(map[string]string) } annotations[envelope.AnnotationX509ChainThumbprint] = string(val) signingTime, err := envelope.SigningTime(signerInfo) if err != nil { return nil, err } annotations[ocispec.AnnotationCreated] = signingTime.Format(time.RFC3339) return annotations, nil } func validateSigMediaType(sigMediaType string) error { if !(sigMediaType == jws.MediaTypeEnvelope || sigMediaType == cose.MediaTypeEnvelope) { return fmt.Errorf("invalid signature media-type %q", sigMediaType) } return nil } notation-go-1.2.1/notation_test.go000066400000000000000000000517611466620631100172110ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package notation import ( "context" "encoding/json" "errors" "fmt" "math" "os" "path/filepath" "testing" "time" "oras.land/oras-go/v2/registry/remote" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/internal/mock" "github.com/notaryproject/notation-go/internal/mock/ocilayout" "github.com/notaryproject/notation-go/plugin" "github.com/notaryproject/notation-go/registry" "github.com/notaryproject/notation-go/verifier/trustpolicy" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) var expectedMetadata = map[string]string{"foo": "bar", "bar": "foo"} func TestSignSuccess(t *testing.T) { repo := mock.NewRepository() testCases := []struct { name string dur time.Duration }{ {"expiryInHours", 24 * time.Hour}, {"oneSecondExpiry", 1 * time.Second}, {"zeroExpiry", 0}, } for _, tc := range testCases { t.Run(tc.name, func(b *testing.T) { opts := SignOptions{} opts.SignatureMediaType = jws.MediaTypeEnvelope opts.ExpiryDuration = tc.dur opts.ArtifactReference = mock.SampleArtifactUri _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err != nil { b.Fatalf("Sign failed with error: %v", err) } }) } } func TestSignSuccessWithUserMetadata(t *testing.T) { repo := mock.NewRepository() opts := SignOptions{} opts.ArtifactReference = mock.SampleArtifactUri opts.UserMetadata = expectedMetadata opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &verifyMetadataSigner{}, repo, opts) if err != nil { t.Fatalf("error: %v", err) } } func TestSignWithDanglingReferrersIndex(t *testing.T) { repo := mock.NewRepository() repo.PushSignatureError = &remote.ReferrersError{ Op: "DeleteReferrersIndex", Err: errors.New("error"), } opts := SignOptions{} opts.ArtifactReference = mock.SampleArtifactUri opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { t.Fatalf("no error occurred, expected error") } } func TestSignWithNilRepo(t *testing.T) { opts := SignOptions{} opts.ArtifactReference = mock.SampleArtifactUri opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &dummySigner{}, nil, opts) if err == nil { t.Fatalf("no error occurred, expected error: repo cannot be nil") } } func TestSignResolveFailed(t *testing.T) { repo := mock.NewRepository() repo.ResolveError = errors.New("resolve error") opts := SignOptions{} opts.ArtifactReference = mock.SampleArtifactUri opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { t.Fatalf("no error occurred, expected resolve error") } } func TestSignArtifactRefIsTag(t *testing.T) { repo := mock.NewRepository() opts := SignOptions{} opts.ArtifactReference = "registry.acme-rockets.io/software/net-monitor:v1" opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err != nil { t.Fatalf("expect no error, got %s", err) } } func TestSignWithPushSignatureError(t *testing.T) { repo := mock.NewRepository() repo.PushSignatureError = errors.New("error") opts := SignOptions{} opts.ArtifactReference = mock.SampleArtifactUri opts.SignatureMediaType = jws.MediaTypeEnvelope _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { t.Fatalf("no error occurred, expected error: failed to delete dangling referrers index") } } func TestSignWithInvalidExpiry(t *testing.T) { repo := mock.NewRepository() testCases := []struct { name string dur time.Duration }{ {"negativeExpiry", -24 * time.Hour}, {"splitSecondExpiry", 1 * time.Millisecond}, } for _, tc := range testCases { t.Run(tc.name, func(b *testing.T) { opts := SignOptions{} opts.ExpiryDuration = tc.dur _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { b.Fatalf("Expected error but not found") } }) } } func TestSignWithInvalidUserMetadata(t *testing.T) { repo := mock.NewRepository() testCases := []struct { name string metadata map[string]string }{ {"reservedAnnotationKey", map[string]string{reservedAnnotationPrefixes[0] + ".foo": "bar"}}, {"keyConflict", map[string]string{"key": "value2"}}, } for _, tc := range testCases { t.Run(tc.name, func(b *testing.T) { opts := SignOptions{ UserMetadata: tc.metadata, SignerSignOptions: SignerSignOptions{ SignatureMediaType: jws.MediaTypeEnvelope, }, } _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { b.Fatalf("Expected error but not found") } }) } } func TestSignOptsMissingSignatureMediaType(t *testing.T) { repo := mock.NewRepository() opts := SignOptions{ SignerSignOptions: SignerSignOptions{ SignatureMediaType: "", }, ArtifactReference: mock.SampleArtifactUri, } _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { t.Fatalf("expected error but not found") } } func TestSignOptsUnknownMediaType(t *testing.T) { repo := mock.NewRepository() opts := SignOptions{ SignerSignOptions: SignerSignOptions{ SignatureMediaType: "unknown", }, ArtifactReference: mock.SampleArtifactUri, } _, err := Sign(context.Background(), &dummySigner{}, repo, opts) if err == nil { t.Fatalf("expected error but not found") } } func TestRegistryResolveError(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := "network error" expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository repo.ResolveError = errors.New("network error") opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || err.Error() != errorMessage { t.Fatalf("RegistryResolve expected: %v got: %v", expectedErr, err) } } func TestVerifyEmptyReference(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := "reference is missing digest or tag" expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository opts := VerifyOptions{ArtifactReference: "localhost/test", MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || err.Error() != errorMessage { t.Fatalf("VerifyTagReference expected: %v got: %v", expectedErr, err) } } func TestVerifyTagReferenceFailed(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := "invalid reference: invalid repository \"UPPERCASE/test\"" expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository opts := VerifyOptions{ArtifactReference: "localhost/UPPERCASE/test", MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || err.Error() != errorMessage { t.Fatalf("VerifyTagReference expected: %v got: %v", expectedErr, err) } } func TestVerifyDigestNotMatchResolve(t *testing.T) { repo := mock.NewRepository() repo.MissMatchDigest = true policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := fmt.Sprintf("user input digest %s does not match the resolved digest %s", mock.SampleDigest, mock.ZeroDigest) expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || err.Error() != errorMessage { t.Fatalf("VerifyDigestNotMatch expected: %v got: %v", expectedErr, err) } } func TestSignDigestNotMatchResolve(t *testing.T) { repo := mock.NewRepository() repo.MissMatchDigest = true signOpts := SignOptions{ SignerSignOptions: SignerSignOptions{ SignatureMediaType: jws.MediaTypeEnvelope, }, ArtifactReference: mock.SampleArtifactUri, } errorMessage := fmt.Sprintf("user input digest %s does not match the resolved digest %s", mock.SampleDigest, mock.ZeroDigest) expectedErr := fmt.Errorf(errorMessage) _, err := Sign(context.Background(), &dummySigner{}, repo, signOpts) if err == nil || err.Error() != errorMessage { t.Fatalf("SignDigestNotMatch expected: %v got: %v", expectedErr, err) } } func TestSkippedSignatureVerification(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelSkip} opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, outcomes, err := Verify(context.Background(), &verifier, repo, opts) if err != nil || outcomes[0].VerificationLevel.Name != trustpolicy.LevelSkip.Name { t.Fatalf("\"skip\" verification level must pass overall signature verification") } } func TestRegistryNoSignatureManifests(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := fmt.Sprintf("no signature is associated with %q, make sure the artifact was signed successfully", mock.SampleArtifactUri) expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository repo.ListSignaturesResponse = []ocispec.Descriptor{} opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || !errors.Is(err, expectedErr) { t.Fatalf("RegistryNoSignatureManifests expected: %v got: %v", expectedErr, err) } } func TestRegistryFetchSignatureBlobError(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} errorMessage := fmt.Sprintf("unable to retrieve digital signature with digest %q associated with %q from the Repository, error : network error", mock.SampleDigest, mock.SampleArtifactUri) expectedErr := ErrorSignatureRetrievalFailed{Msg: errorMessage} // mock the repository repo.FetchSignatureBlobError = errors.New("network error") opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || !errors.Is(err, expectedErr) { t.Fatalf("RegistryFetchSignatureBlob expected: %v got: %v", expectedErr, err) } } func TestVerifyValid(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err != nil { t.Fatalf("SignaureMediaTypeMismatch expected: %v got: %v", nil, err) } } func TestMaxSignatureAttemptsMissing(t *testing.T) { repo := mock.NewRepository() policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} expectedErr := ErrorSignatureRetrievalFailed{Msg: fmt.Sprintf("verifyOptions.MaxSignatureAttempts expects a positive number, got %d", 0)} // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || !errors.Is(err, expectedErr) { t.Fatalf("VerificationFailed expected: %v got: %v", expectedErr, err) } } func TestExceededMaxSignatureAttempts(t *testing.T) { repo := mock.NewRepository() repo.ExceededNumOfSignatures = true policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, true, *trustpolicy.LevelStrict} expectedErr := ErrorVerificationFailed{Msg: fmt.Sprintf("signature evaluation stopped. The configured limit of %d signatures to verify per artifact exceeded", 1)} // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 1} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || !errors.Is(err, expectedErr) { t.Fatalf("VerificationFailed expected: %v got: %v", expectedErr, err) } } func TestVerifyFailed(t *testing.T) { t.Run("verification error", func(t *testing.T) { policyDocument := dummyPolicyDocument() repo := mock.NewRepository() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, true, *trustpolicy.LevelStrict} expectedErr := ErrorVerificationFailed{} // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, repo, opts) if err == nil || !errors.Is(err, expectedErr) { t.Fatalf("VerificationFailed expected: %v got: %v", expectedErr, err) } }) t.Run("verifier is nil", func(t *testing.T) { repo := mock.NewRepository() expectedErr := errors.New("verifier cannot be nil") // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), nil, repo, opts) if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("VerificationFailed expected: %v got: %v", expectedErr, err) } }) t.Run("repo is nil", func(t *testing.T) { policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} expectedErr := errors.New("repo cannot be nil") // mock the repository opts := VerifyOptions{ArtifactReference: mock.SampleArtifactUri, MaxSignatureAttempts: 50} _, _, err := Verify(context.Background(), &verifier, nil, opts) if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("VerificationFailed expected: %v got: %v", expectedErr, err) } }) } func dummyPolicyDocument() (policyDoc trustpolicy.Document) { policyDoc = trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{dummyPolicyStatement()}, } return } func dummyPolicyStatement() (policyStatement trustpolicy.TrustPolicy) { policyStatement = trustpolicy.TrustPolicy{ Name: "test-statement-name", RegistryScopes: []string{"registry.acme-rockets.io/software/net-monitor"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: "strict"}, TrustStores: []string{"ca:valid-trust-store", "signingAuthority:valid-trust-store"}, TrustedIdentities: []string{"x509.subject:CN=Notation Test Root,O=Notary,L=Seattle,ST=WA,C=US"}, } return } type dummySigner struct{} func (s *dummySigner) Sign(_ context.Context, _ ocispec.Descriptor, _ SignerSignOptions) ([]byte, *signature.SignerInfo, error) { return []byte("ABC"), &signature.SignerInfo{ SignedAttributes: signature.SignedAttributes{ SigningTime: time.Now(), }, }, nil } type verifyMetadataSigner struct{} func (s *verifyMetadataSigner) Sign(_ context.Context, desc ocispec.Descriptor, _ SignerSignOptions) ([]byte, *signature.SignerInfo, error) { for k, v := range expectedMetadata { if desc.Annotations[k] != v { return nil, nil, errors.New("expected metadata not present in descriptor") } } return []byte("ABC"), &signature.SignerInfo{ SignedAttributes: signature.SignedAttributes{ SigningTime: time.Now(), }, }, nil } type dummyVerifier struct { TrustPolicyDoc *trustpolicy.Document PluginManager plugin.Manager FailVerify bool VerificationLevel trustpolicy.VerificationLevel } func (v *dummyVerifier) Verify(_ context.Context, _ ocispec.Descriptor, _ []byte, _ VerifierVerifyOptions) (*VerificationOutcome, error) { outcome := &VerificationOutcome{ VerificationResults: []*ValidationResult{}, VerificationLevel: &v.VerificationLevel, } if v.FailVerify { return outcome, errors.New("failed verify") } return outcome, nil } var ( reference = "sha256:19dbd2e48e921426ee8ace4dc892edfb2ecdc1d1a72d5416c83670c30acecef0" artifactReference = "local/oci-layout@sha256:19dbd2e48e921426ee8ace4dc892edfb2ecdc1d1a72d5416c83670c30acecef0" signaturePath = filepath.FromSlash("./internal/testdata/cose_signature.sig") ) type ociDummySigner struct{} func (s *ociDummySigner) Sign(_ context.Context, _ ocispec.Descriptor, opts SignerSignOptions) ([]byte, *signature.SignerInfo, error) { sigBlob, err := os.ReadFile(signaturePath) if err != nil { return nil, nil, err } sigEnv, err := signature.ParseEnvelope(opts.SignatureMediaType, sigBlob) if err != nil { return nil, nil, err } content, err := sigEnv.Content() if err != nil { return nil, nil, err } return sigBlob, &content.SignerInfo, nil } func TestLocalContent(t *testing.T) { // create a temp OCI layout ociLayoutTestDataPath, err := filepath.Abs(filepath.Join("internal", "testdata", "oci-layout")) if err != nil { t.Fatalf("failed to get oci layout path: %v", err) } newOCILayoutPath := t.TempDir() if err := ocilayout.Copy(ociLayoutTestDataPath, newOCILayoutPath, "v2"); err != nil { t.Fatalf("failed to create temp oci layout: %v", err) } repo, err := registry.NewOCIRepository(newOCILayoutPath, registry.RepositoryOptions{}) if err != nil { t.Fatal(err) } t.Run("sign the local content", func(t *testing.T) { // sign the artifact signOpts := SignOptions{ SignerSignOptions: SignerSignOptions{ SignatureMediaType: cose.MediaTypeEnvelope, }, ArtifactReference: reference, } _, err = Sign(context.Background(), &ociDummySigner{}, repo, signOpts) if err != nil { t.Fatalf("failed to Sign: %v", err) } }) t.Run("verify local content", func(t *testing.T) { // verify the artifact verifyOpts := VerifyOptions{ ArtifactReference: artifactReference, MaxSignatureAttempts: math.MaxInt64, } policyDocument := dummyPolicyDocument() verifier := dummyVerifier{&policyDocument, mock.PluginManager{}, false, *trustpolicy.LevelStrict} // verify signatures inside the OCI layout folder _, _, err = Verify(context.Background(), &verifier, repo, verifyOpts) if err != nil { t.Fatalf("failed to verify local content: %v", err) } }) } func TestUserMetadata(t *testing.T) { t.Run("EnvelopeContent is nil", func(t *testing.T) { outcome := &VerificationOutcome{} _, err := outcome.UserMetadata() if err == nil { t.Fatal("expected an error, got nil") } if err.Error() != "unable to find envelope content for verification outcome" { t.Fatalf("expected error message 'unable to find envelope content for verification outcome', got '%s'", err.Error()) } }) t.Run("EnvelopeContent is valid", func(t *testing.T) { payload := envelope.Payload{ TargetArtifact: ocispec.Descriptor{ Annotations: map[string]string{ "key": "value", }, }, } payloadBytes, err := json.Marshal(payload) if err != nil { t.Fatalf("unexpected error marshaling payload: %v", err) } outcome := &VerificationOutcome{ EnvelopeContent: &signature.EnvelopeContent{ Payload: signature.Payload{ Content: payloadBytes, }, }, } metadata, err := outcome.UserMetadata() if err != nil { t.Fatalf("unexpected error getting user metadata: %v", err) } if len(metadata) != 1 || metadata["key"] != "value" { t.Fatalf("expected metadata map[key]=value, got %v", metadata) } }) t.Run("Annotation is nil", func(t *testing.T) { payload := envelope.Payload{ TargetArtifact: ocispec.Descriptor{}, } payloadBytes, err := json.Marshal(payload) if err != nil { t.Fatalf("unexpected error marshaling payload: %v", err) } outcome := &VerificationOutcome{ EnvelopeContent: &signature.EnvelopeContent{ Payload: signature.Payload{ Content: payloadBytes, }, }, } metadata, err := outcome.UserMetadata() if err != nil { t.Fatalf("unexpected error getting user metadata: %v", err) } if len(metadata) != 0 { t.Fatalf("expected empty metadata, got %v", metadata) } }) } notation-go-1.2.1/plugin/000077500000000000000000000000001466620631100152545ustar00rootroot00000000000000notation-go-1.2.1/plugin/errors.go000066400000000000000000000054531466620631100171260ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import "errors" // ErrNotCompliant is returned by plugin methods when the response is not // compliant. var ErrNotCompliant = errors.New("plugin not compliant") // ErrNotRegularFile is returned when the plugin file is not an regular file. var ErrNotRegularFile = errors.New("plugin executable file is not a regular file") // PluginDowngradeError is returned when installing a plugin with version // lower than the exisiting plugin version. type PluginDowngradeError struct { Msg string } // Error returns the error message. func (e PluginDowngradeError) Error() string { if e.Msg != "" { return e.Msg } return "installing plugin with version lower than the existing plugin version" } // InstallEqualVersionError is returned when installing a plugin with version // equal to the exisiting plugin version. type InstallEqualVersionError struct { Msg string } // Error returns the error message. func (e InstallEqualVersionError) Error() string { if e.Msg != "" { return e.Msg } return "installing plugin with version equal to the existing plugin version" } // PluginMalformedError is used when there is an issue with plugin and // should be fixed by plugin developers. type PluginMalformedError struct { Msg string InnerError error } // Error returns the error message. func (e PluginMalformedError) Error() string { if e.Msg != "" { return e.Msg } return e.InnerError.Error() } // Unwrap returns the inner error. func (e PluginMalformedError) Unwrap() error { return e.InnerError } // PluginDirectoryWalkError is used when there is an issue with plugins directory // and should suggest user to check the permission of plugin directory. type PluginDirectoryWalkError error // PluginExecutableFileError is used when there is an issue with plugin // executable file and should suggest user to check the existence, permission // and platform/arch compatibility of plugin. type PluginExecutableFileError struct { Msg string InnerError error } // Error returns the error message. func (e PluginExecutableFileError) Error() string { if e.Msg != "" { return e.Msg } return e.InnerError.Error() } // Unwrap returns the inner error. func (e PluginExecutableFileError) Unwrap() error { return e.InnerError } notation-go-1.2.1/plugin/integration_test.go000066400000000000000000000047731466620631100212000ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import ( "context" "io" "os" "os/exec" "path/filepath" "reflect" "testing" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) var exampleMetadata = plugin.GetMetadataResponse{ Name: "foo", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []plugin.Capability{"cap"}} func preparePlugin(t *testing.T) string { root := t.TempDir() src, err := os.Open("./testdata/main.go") if err != nil { t.Fatal(err) } defer src.Close() dst, err := os.Create(filepath.Join(root, "main.go")) if err != nil { t.Fatal(err) } defer dst.Close() _, err = io.Copy(dst, src) if err != nil { t.Fatal(err) } err = os.WriteFile(filepath.Join(root, "go.mod"), []byte("module main"), 0600) if err != nil { t.Fatal(err) } err = os.Mkdir(filepath.Join(root, "foo"), 0700) if err != nil { t.Fatal(err) } out := filepath.Join(root, "foo", binName("foo")) cmd := exec.Command("go", "build", "-o", out) cmd.Dir = root err = cmd.Run() if err != nil { t.Fatal(err) } return root } func TestIntegration(t *testing.T) { if _, err := exec.LookPath("go"); err != nil { t.Skip() } root := preparePlugin(t) fsys := dir.NewSysFS(root) mgr := NewCLIManager(fsys) // check list plugins, err := mgr.List(context.Background()) if err != nil { t.Fatal(err) } if len(plugins) != 1 { t.Fatalf("Manager.List() len got %d, want 1", len(plugins)) } // validate and create pl, err := mgr.Get(context.Background(), "foo") if err != nil { t.Fatal(err) } metadata, err := pl.GetMetadata(context.Background(), &plugin.GetMetadataRequest{}) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(&exampleMetadata, metadata) { t.Fatalf("Metadata error. want: %+v, got: %+v", exampleMetadata, metadata) } } notation-go-1.2.1/plugin/manager.go000066400000000000000000000246221466620631100172230ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import ( "context" "errors" "fmt" "io/fs" "os" "path" "path/filepath" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/internal/file" "github.com/notaryproject/notation-go/internal/semver" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) // Manager manages plugins installed on the system. type Manager interface { Get(ctx context.Context, name string) (plugin.Plugin, error) List(ctx context.Context) ([]string, error) } // CLIManager implements Manager type CLIManager struct { pluginFS dir.SysFS } // NewCLIManager returns CLIManager for named pluginFS. func NewCLIManager(pluginFS dir.SysFS) *CLIManager { return &CLIManager{pluginFS: pluginFS} } // Get returns a plugin on the system by its name. // // If the plugin is not found, the error is of type os.ErrNotExist. func (m *CLIManager) Get(ctx context.Context, name string) (plugin.Plugin, error) { pluginPath := path.Join(name, binName(name)) path, err := m.pluginFS.SysPath(pluginPath) if err != nil { return nil, err } // validate and create plugin return NewCLIPlugin(ctx, name, path) } // List produces a list of the plugin names on the system. func (m *CLIManager) List(ctx context.Context) ([]string, error) { var plugins []string if err := fs.WalkDir(m.pluginFS, ".", func(dir string, d fs.DirEntry, err error) error { if err != nil { if errors.Is(err, os.ErrNotExist) { return nil } return err } if dir == "." { // Ignore root dir. return nil } typ := d.Type() if !typ.IsDir() || typ&fs.ModeSymlink != 0 { // Ignore non-directories and symlinked directories. return nil } // add plugin name plugins = append(plugins, d.Name()) return fs.SkipDir }); err != nil { return nil, PluginDirectoryWalkError(fmt.Errorf("failed to list plugin: %w", err)) } return plugins, nil } // CLIInstallOptions provides user customized options for plugin installation type CLIInstallOptions struct { // PluginPath can be path of: // // 1. A directory which contains plugin related files. Sub-directories are // ignored. It MUST contain one and only one valid plugin executable file // following spec: https://github.com/notaryproject/specifications/blob/v1.0.0/specs/plugin-extensibility.md#installation // It may contain extra lib files and LICENSE files. // On success, these files will be installed as well. // // 2. A single plugin executable file following the spec. PluginPath string // Overwrite is a boolean flag. When set, always install the new plugin. Overwrite bool } // Install installs a plugin to the system. It returns existing // plugin metadata, new plugin metadata, and error. It returns nil error // if and only if the installation succeeded. // // If plugin does not exist, directly install the new plugin. // // If plugin already exists: // // If overwrite is not set, then the new plugin // version MUST be higher than the existing plugin version. // // If overwrite is set, version check is skipped. If existing // plugin is malfunctioning, it will be overwritten. func (m *CLIManager) Install(ctx context.Context, installOpts CLIInstallOptions) (*plugin.GetMetadataResponse, *plugin.GetMetadataResponse, error) { // initialization logger := log.GetLogger(ctx) overwrite := installOpts.Overwrite if installOpts.PluginPath == "" { return nil, nil, errors.New("plugin source path cannot be empty") } logger.Debugf("Installing plugin from path %s", installOpts.PluginPath) var installFromNonDir bool pluginExecutableFile, pluginName, err := parsePluginFromDir(ctx, installOpts.PluginPath) if err != nil { if !errors.Is(err, file.ErrNotDirectory) { return nil, nil, fmt.Errorf("failed to read plugin from input directory: %w", err) } // input is not a dir, check if it's a single plugin executable file installFromNonDir = true pluginExecutableFile = installOpts.PluginPath pluginExecutableFileName := filepath.Base(pluginExecutableFile) pluginName, err = parsePluginName(pluginExecutableFileName) if err != nil { return nil, nil, fmt.Errorf("failed to read plugin name from input file %s: %w", pluginExecutableFileName, err) } isExec, err := isExecutableFile(pluginExecutableFile) if err != nil { return nil, nil, fmt.Errorf("failed to check if input file %s is executable: %w", pluginExecutableFileName, err) } if !isExec { return nil, nil, fmt.Errorf("input file %s is not executable", pluginExecutableFileName) } } // validate and get new plugin metadata newPlugin, err := NewCLIPlugin(ctx, pluginName, pluginExecutableFile) if err != nil { return nil, nil, err } newPluginMetadata, err := newPlugin.GetMetadata(ctx, &plugin.GetMetadataRequest{}) if err != nil { return nil, nil, fmt.Errorf("failed to get metadata of new plugin: %w", err) } // check plugin existence and get existing plugin metadata var existingPluginMetadata *plugin.GetMetadataResponse existingPlugin, err := m.Get(ctx, pluginName) if err != nil { // fail only if overwrite is not set if !errors.Is(err, os.ErrNotExist) && !overwrite { return nil, nil, fmt.Errorf("failed to check plugin existence: %w", err) } } else { // plugin already exists existingPluginMetadata, err = existingPlugin.GetMetadata(ctx, &plugin.GetMetadataRequest{}) if err != nil && !overwrite { // fail only if overwrite is not set return nil, nil, fmt.Errorf("failed to get metadata of existing plugin: %w", err) } // existing plugin is valid, and overwrite is not set, check version if !overwrite { comp, err := semver.ComparePluginVersion(newPluginMetadata.Version, existingPluginMetadata.Version) if err != nil { return nil, nil, fmt.Errorf("failed to compare plugin versions: %w", err) } switch { case comp < 0: return nil, nil, PluginDowngradeError{Msg: fmt.Sprintf("failed to install plugin %s. The installing plugin version %s is lower than the existing plugin version %s", pluginName, newPluginMetadata.Version, existingPluginMetadata.Version)} case comp == 0: return nil, nil, InstallEqualVersionError{Msg: fmt.Sprintf("plugin %s with version %s already exists", pluginName, existingPluginMetadata.Version)} } } } // clean up before installation, this guarantees idempotent for install if err := m.Uninstall(ctx, pluginName); err != nil { if !errors.Is(err, os.ErrNotExist) { return nil, nil, fmt.Errorf("failed to clean up plugin %s before installation: %w", pluginName, err) } } // core process pluginDirPath, err := m.pluginFS.SysPath(pluginName) if err != nil { return nil, nil, fmt.Errorf("failed to get the system path of plugin %s: %w", pluginName, err) } if installFromNonDir { if err := file.CopyToDir(pluginExecutableFile, pluginDirPath); err != nil { return nil, nil, fmt.Errorf("failed to copy plugin executable file from %s to %s: %w", pluginExecutableFile, pluginDirPath, err) } } else { if err := file.CopyDirToDir(installOpts.PluginPath, pluginDirPath); err != nil { return nil, nil, fmt.Errorf("failed to copy plugin files from %s to %s: %w", installOpts.PluginPath, pluginDirPath, err) } } return existingPluginMetadata, newPluginMetadata, nil } // Uninstall uninstalls a plugin on the system by its name. // If the plugin dir does not exist, os.ErrNotExist is returned. func (m *CLIManager) Uninstall(ctx context.Context, name string) error { pluginDirPath, err := m.pluginFS.SysPath(name) if err != nil { return err } if _, err := os.Stat(pluginDirPath); err != nil { return err } return os.RemoveAll(pluginDirPath) } // parsePluginFromDir checks if a dir is a valid plugin dir which contains // one and only one plugin executable file candidate. // The dir may contain extra lib files and LICENSE files. // Sub-directories are ignored. // // On success, the plugin executable file path, plugin name and // nil error are returned. func parsePluginFromDir(ctx context.Context, path string) (string, string, error) { // sanity check fi, err := os.Stat(path) if err != nil { return "", "", err } if !fi.Mode().IsDir() { return "", "", file.ErrNotDirectory } logger := log.GetLogger(ctx) // walk the path var pluginExecutableFile, pluginName, candidatePluginName string var foundPluginExecutableFile bool var filesWithValidNameFormat []string if err := filepath.WalkDir(path, func(p string, d fs.DirEntry, err error) error { if err != nil { return err } // skip sub-directories if d.IsDir() && d.Name() != filepath.Base(path) { return fs.SkipDir } info, err := d.Info() if err != nil { return err } // only take regular files if info.Mode().IsRegular() { if candidatePluginName, err = parsePluginName(d.Name()); err != nil { // file name does not follow the notation-{plugin-name} format, // continue return nil } filesWithValidNameFormat = append(filesWithValidNameFormat, p) isExec, err := isExecutableFile(p) if err != nil { return err } if !isExec { return nil } if foundPluginExecutableFile { return errors.New("found more than one plugin executable files") } foundPluginExecutableFile = true pluginExecutableFile = p pluginName = candidatePluginName } return nil }); err != nil { return "", "", err } if !foundPluginExecutableFile { // if no executable file was found, but there's one and only one // potential candidate, try install the candidate if len(filesWithValidNameFormat) == 1 { candidate := filesWithValidNameFormat[0] if err := setExecutable(candidate); err != nil { return "", "", fmt.Errorf("no plugin executable file was found: %w", err) } logger.Warnf("Found candidate plugin executable file %q without executable permission. Setting user executable bit and trying to install.", filepath.Base(candidate)) return candidate, candidatePluginName, nil } return "", "", errors.New("no plugin executable file was found") } return pluginExecutableFile, pluginName, nil } notation-go-1.2.1/plugin/manager_test.go000066400000000000000000000637261466620631100202720ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import ( "context" "encoding/json" "io/fs" "os" "path/filepath" "reflect" "runtime" "testing" "testing/fstest" "github.com/notaryproject/notation-go/internal/mock/mockfs" "github.com/notaryproject/notation-go/plugin/proto" ) type testCommander struct { stdout []byte stderr []byte err error } func (t testCommander) Output(ctx context.Context, path string, command proto.Command, req []byte) ([]byte, []byte, error) { return t.stdout, t.stderr, t.err } type testInstallCommander struct { existedPluginFilePath string existedPluginStdout []byte existedPluginStderr []byte existedPluginErr error newPluginFilePath string newPluginStdout []byte newPluginStderr []byte newPluginErr error err error } func (t testInstallCommander) Output(ctx context.Context, path string, command proto.Command, req []byte) ([]byte, []byte, error) { if path == t.existedPluginFilePath { return t.existedPluginStdout, t.existedPluginStderr, t.existedPluginErr } if path == t.newPluginFilePath { return t.newPluginStdout, t.newPluginStderr, t.newPluginErr } return nil, nil, t.err } var validMetadata = proto.GetMetadataResponse{ Name: "foo", Description: "friendly", Version: "1.0.0", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var validMetadataHigherVersion = proto.GetMetadataResponse{ Name: "foo", Description: "friendly", Version: "1.1.0", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var validMetadataLowerVersion = proto.GetMetadataResponse{ Name: "foo", Description: "friendly", Version: "0.1.0", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var validMetadataBar = proto.GetMetadataResponse{ Name: "bar", Description: "friendly", Version: "1.0.0", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var validMetadataBarExample = proto.GetMetadataResponse{ Name: "bar.example.plugin", Description: "friendly", Version: "1.0.0", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var invalidMetadataName = proto.GetMetadataResponse{ Name: "foobar", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } var invalidContractVersionMetadata = proto.GetMetadataResponse{ Name: "foo", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"110.0"}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } func TestManager_Get(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } executor = testCommander{stdout: metadataJSON(validMetadata)} mgr := NewCLIManager(mockfs.NewSysFSWithRootMock(fstest.MapFS{}, "./testdata/plugins")) _, err := mgr.Get(context.Background(), "foo") if err != nil { t.Errorf("Manager.Get() err %v, want nil", err) } } func TestManager_List(t *testing.T) { t.Run("empty fsys", func(t *testing.T) { mgr := NewCLIManager(mockfs.NewSysFSMock(fstest.MapFS{})) plugins, err := mgr.List(context.Background()) if err != nil { t.Fatalf("should no error. got err = %v", err) } if len(plugins) != 0 { t.Fatalf("should no plugins. got plugins = %v", plugins) } }) t.Run("fsys with plugins", func(t *testing.T) { mgr := NewCLIManager(mockfs.NewSysFSMock(fstest.MapFS{ "foo": &fstest.MapFile{Mode: fs.ModeDir}, "baz": &fstest.MapFile{Mode: fs.ModeDir}, })) plugins, err := mgr.List(context.Background()) if err != nil { t.Fatalf("should no error. got err = %v", err) } want := []string{"foo", "bar"} if reflect.DeepEqual(want, plugins) { t.Fatalf("got plugins = %v, want %v", plugins, want) } }) } func TestManager_Install(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } existedPluginFilePath := "testdata/plugins/foo/notation-foo" newPluginFilePath := "testdata/foo/notation-foo" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } mgr := NewCLIManager(mockfs.NewSysFSWithRootMock(fstest.MapFS{}, "testdata/plugins")) t.Run("success install with higher version", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataHigherVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } existingPluginMetadata, newPluginMetadata, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting error to be nil, but got %v", err) } if existingPluginMetadata.Version != validMetadata.Version { t.Fatalf("existing plugin version mismatch, existing plugin version: %s, but got: %s", validMetadata.Version, existingPluginMetadata.Version) } if newPluginMetadata.Version != validMetadataHigherVersion.Version { t.Fatalf("new plugin version mismatch, new plugin version: %s, but got: %s", validMetadataHigherVersion.Version, newPluginMetadata.Version) } }) t.Run("success install with lower version and overwrite", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataLowerVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, Overwrite: true, } if _, _, err := mgr.Install(context.Background(), installOpts); err != nil { t.Fatalf("expecting error to be nil, but got %v", err) } }) t.Run("success install without existing plugin", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-bar" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBar), } defer mgr.Uninstall(context.Background(), "bar") installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } existingPluginMetadata, newPluginMetadata, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting error to be nil, but got %v", err) } if existingPluginMetadata != nil { t.Fatalf("expecting existingPluginMetadata to be nil, but got %v", existingPluginMetadata) } if newPluginMetadata.Version != validMetadataBar.Version { t.Fatalf("new plugin version mismatch, new plugin version: %s, but got: %s", validMetadataBar.Version, newPluginMetadata.Version) } }) t.Run("success install with file extension", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-bar.example.plugin" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBarExample), } defer mgr.Uninstall(context.Background(), "bar.example.plugin") installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } existingPluginMetadata, newPluginMetadata, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting error to be nil, but got %v", err) } if existingPluginMetadata != nil { t.Fatalf("expecting existingPluginMetadata to be nil, but got %v", existingPluginMetadata) } if newPluginMetadata.Version != validMetadataBar.Version { t.Fatalf("new plugin version mismatch, new plugin version: %s, but got: %s", validMetadataBar.Version, newPluginMetadata.Version) } }) t.Run("fail to install due to equal version", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadata), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "plugin foo with version 1.0.0 already exists" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to lower version", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataLowerVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to install plugin foo. The installing plugin version 0.1.0 is lower than the existing plugin version 1.0.0" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to wrong plugin executable file name format", func(t *testing.T) { newPluginFilePath := "testdata/bar/bar" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBar), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to read plugin name from input file bar: invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got bar" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to plugin executable file name missing plugin name", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBar), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to read plugin name from input file notation-: invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got notation-" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to wrong plugin file permission", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-bar" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0600); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBar), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "input file notation-bar is not executable" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to new plugin executable file does not exist", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-bar" executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(validMetadataBar), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to read plugin from input directory: stat testdata/bar/notation-bar: no such file or directory" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to invalid new plugin metadata", func(t *testing.T) { newPluginFilePath := "testdata/bar/notation-bar" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ newPluginFilePath: newPluginFilePath, newPluginStdout: metadataJSON(invalidMetadataName), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to get metadata of new plugin: plugin executable file name must be \"notation-foobar\" instead of \"notation-bar\"" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install due to invalid existing plugin metadata", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadataBar), newPluginStdout: metadataJSON(validMetadata), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, } expectedErrorMsg := "failed to get metadata of existing plugin: plugin executable file name must be \"notation-bar\" instead of \"notation-foo\"" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("success to install with overwrite and invalid existing plugin metadata", func(t *testing.T) { executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadataBar), newPluginStdout: metadataJSON(validMetadata), } installOpts := CLIInstallOptions{ PluginPath: newPluginFilePath, Overwrite: true, } _, _, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting error to be nil, but got %v", err) } }) t.Run("success to install from plugin dir", func(t *testing.T) { existedPluginFilePath := "testdata/plugins/foo/notation-foo" newPluginFilePath := "testdata/foo/notation-foo" newPluginLibPath := "testdata/foo/notation-libfoo" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } if err := createFileAndChmod(newPluginLibPath, 0600); err != nil { t.Fatal(err) } executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataHigherVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginDir, } existingPluginMetadata, newPluginMetadata, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting nil error, but got %v", err) } if existingPluginMetadata.Version != "1.0.0" { t.Fatalf("expecting existing plugin metadata to be 1.0.0, but got %s", existingPluginMetadata.Version) } if newPluginMetadata.Version != "1.1.0" { t.Fatalf("expecting new plugin metadata to be 1.1.0, but got %s", newPluginMetadata.Version) } }) t.Run("success to install from plugin dir with no executable file and one valid candidate file", func(t *testing.T) { existedPluginFilePath := "testdata/plugins/foo/notation-foo" newPluginFilePath := "testdata/foo/notation-foo" newPluginLibPath := "testdata/foo/libfoo" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0600); err != nil { t.Fatal(err) } if err := createFileAndChmod(newPluginLibPath, 0600); err != nil { t.Fatal(err) } executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataHigherVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginDir, } existingPluginMetadata, newPluginMetadata, err := mgr.Install(context.Background(), installOpts) if err != nil { t.Fatalf("expecting nil error, but got %v", err) } if existingPluginMetadata.Version != "1.0.0" { t.Fatalf("expecting existing plugin metadata to be 1.0.0, but got %s", existingPluginMetadata.Version) } if newPluginMetadata.Version != "1.1.0" { t.Fatalf("expecting new plugin metadata to be 1.1.0, but got %s", newPluginMetadata.Version) } }) t.Run("fail to install from plugin dir due to more than one candidate plugin executable files", func(t *testing.T) { existedPluginFilePath := "testdata/plugins/foo/notation-foo" newPluginFilePath := "testdata/foo/notation-foo1" newPluginFilePath2 := "testdata/foo/notation-foo2" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0600); err != nil { t.Fatal(err) } if err := createFileAndChmod(newPluginFilePath2, 0600); err != nil { t.Fatal(err) } executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataHigherVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginDir, } expectedErrorMsg := "failed to read plugin from input directory: no plugin executable file was found" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) t.Run("fail to install from plugin dir due to more than one plugin executable files", func(t *testing.T) { existedPluginFilePath := "testdata/plugins/foo/notation-foo" newPluginFilePath := "testdata/foo/notation-foo1" newPluginFilePath2 := "testdata/foo/notation-foo2" newPluginDir := filepath.Dir(newPluginFilePath) if err := os.MkdirAll(newPluginDir, 0777); err != nil { t.Fatalf("failed to create %s: %v", newPluginDir, err) } defer os.RemoveAll(newPluginDir) if err := createFileAndChmod(newPluginFilePath, 0700); err != nil { t.Fatal(err) } if err := createFileAndChmod(newPluginFilePath2, 0700); err != nil { t.Fatal(err) } executor = testInstallCommander{ existedPluginFilePath: existedPluginFilePath, newPluginFilePath: newPluginFilePath, existedPluginStdout: metadataJSON(validMetadata), newPluginStdout: metadataJSON(validMetadataHigherVersion), } installOpts := CLIInstallOptions{ PluginPath: newPluginDir, } expectedErrorMsg := "failed to read plugin from input directory: found more than one plugin executable files" _, _, err := mgr.Install(context.Background(), installOpts) if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expecting error %s, but got %v", expectedErrorMsg, err) } }) } func TestManager_Uninstall(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } executor = testCommander{stdout: metadataJSON(validMetadata)} mgr := NewCLIManager(mockfs.NewSysFSWithRootMock(fstest.MapFS{}, "./testdata/plugins")) if err := os.MkdirAll("./testdata/plugins/toUninstall", 0777); err != nil { t.Fatalf("failed to create toUninstall dir: %v", err) } defer os.RemoveAll("./testdata/plugins/toUninstall") pluginFile, err := os.Create("./testdata/plugins/toUninstall/toUninstall") if err != nil { t.Fatalf("failed to create toUninstall file: %v", err) } if err := pluginFile.Close(); err != nil { t.Fatalf("failed to close toUninstall file: %v", err) } // test uninstall valid plugin if err := mgr.Uninstall(context.Background(), "toUninstall"); err != nil { t.Fatalf("Manager.Uninstall() err %v, want nil", err) } // test uninstall non-exist plugin expectedErrorMsg := "stat testdata/plugins/non-exist: no such file or directory" if err := mgr.Uninstall(context.Background(), "non-exist"); err == nil || err.Error() != expectedErrorMsg { t.Fatalf("Manager.Uninstall() err %v, want %s", err, expectedErrorMsg) } } func TestParsePluginName(t *testing.T) { if runtime.GOOS == "windows" { pluginName, err := parsePluginName("notation-my-plugin.exe") if err != nil { t.Fatalf("expected nil err, but got %v", err) } if pluginName != "my-plugin" { t.Fatalf("expected plugin name my-plugin, but got %s", pluginName) } expectedErrorMsg := "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got notation-com.plugin" _, err = parsePluginName("notation-com.plugin") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } expectedErrorMsg = "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got my-plugin.exe" _, err = parsePluginName("my-plugin.exe") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } expectedErrorMsg = "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got notation-.exe" _, err = parsePluginName("notation-.exe") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } expectedErrorMsg = "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got my-plugin" _, err = parsePluginName("my-plugin") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } } else { pluginName, err := parsePluginName("notation-my-plugin") if err != nil { t.Fatalf("expected nil err, but got %v", err) } if pluginName != "my-plugin" { t.Fatalf("expected plugin name my-plugin, but got %s", pluginName) } pluginName, err = parsePluginName("notation-com.example.plugin") if err != nil { t.Fatalf("expected nil err, but got %v", err) } if pluginName != "com.example.plugin" { t.Fatalf("expected plugin name com.example.plugin, but got %s", pluginName) } expectedErrorMsg := "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got myPlugin" _, err = parsePluginName("myPlugin") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } expectedErrorMsg = "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got my-plugin" _, err = parsePluginName("my-plugin") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } expectedErrorMsg = "invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got notation-" _, err = parsePluginName("notation-") if err == nil || err.Error() != expectedErrorMsg { t.Fatalf("expected %s, but got %v", expectedErrorMsg, err) } } } func metadataJSON(m proto.GetMetadataResponse) []byte { d, err := json.Marshal(m) if err != nil { panic(err) } return d } func createFileAndChmod(path string, mode fs.FileMode) error { f, err := os.Create(path) if err != nil { return err } if err := f.Chmod(mode); err != nil { return err } return f.Close() } notation-go-1.2.1/plugin/manager_unix.go000066400000000000000000000035621466620631100202660ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. //go:build !windows // +build !windows package plugin import ( "fmt" "os" "strings" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) func binName(name string) string { return plugin.BinaryPrefix + name } // isExecutableFile checks if a file at filePath is user executable func isExecutableFile(filePath string) (bool, error) { fi, err := os.Stat(filePath) if err != nil { return false, err } mode := fi.Mode() if !mode.IsRegular() { return false, ErrNotRegularFile } return mode.Perm()&0100 != 0, nil } // parsePluginName checks if fileName is a valid plugin file name // and gets plugin name from it based on spec: https://github.com/notaryproject/specifications/blob/main/specs/plugin-extensibility.md#installation func parsePluginName(fileName string) (string, error) { pluginName, found := strings.CutPrefix(fileName, plugin.BinaryPrefix) if !found || pluginName == "" { return "", fmt.Errorf("invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}, but got %s", fileName) } return pluginName, nil } // setExecutable sets file to be user executable func setExecutable(filePath string) error { fileInfo, err := os.Stat(filePath) if err != nil { return err } return os.Chmod(filePath, fileInfo.Mode()|os.FileMode(0100)) } notation-go-1.2.1/plugin/manager_windows.go000066400000000000000000000043071466620631100207730ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import ( "fmt" "os" "path/filepath" "strings" "github.com/notaryproject/notation-go/internal/file" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) func binName(name string) string { return plugin.BinaryPrefix + name + ".exe" } // isExecutableFile checks if a file at filePath is executable func isExecutableFile(filePath string) (bool, error) { fi, err := os.Stat(filePath) if err != nil { return false, err } if !fi.Mode().IsRegular() { return false, ErrNotRegularFile } return strings.EqualFold(filepath.Ext(filepath.Base(filePath)), ".exe"), nil } // parsePluginName checks if fileName is a valid plugin file name // and gets plugin name from it based on spec: https://github.com/notaryproject/specifications/blob/main/specs/plugin-extensibility.md#installation func parsePluginName(fileName string) (string, error) { if !strings.EqualFold(filepath.Ext(fileName), ".exe") { return "", fmt.Errorf("invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got %s", fileName) } fname := file.TrimFileExtension(fileName) pluginName, found := strings.CutPrefix(fname, plugin.BinaryPrefix) if !found || pluginName == "" { return "", fmt.Errorf("invalid plugin executable file name. Plugin file name requires format notation-{plugin-name}.exe, but got %s", fileName) } return pluginName, nil } // setExecutable returns error on Windows. User needs to install the correct // plugin file. func setExecutable(filePath string) error { return fmt.Errorf(`plugin executable file must have file extension ".exe", but got %q`, filepath.Base(filePath)) } notation-go-1.2.1/plugin/plugin.go000066400000000000000000000213611466620631100171040ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package plugin provides the tooling to use the notation plugin. // // includes a CLIManager and a CLIPlugin implementation. package plugin import ( "bytes" "context" "encoding/json" "errors" "fmt" "os" "os/exec" "path/filepath" "strings" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-go/plugin/proto" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) var executor commander = &execCommander{} // for unit test // GenericPlugin is the base requirement to be a plugin. // // Deprecated: GenericPlugin exists for historical compatibility and should not be used. // To access GenericPlugin, use the notation-plugin-framework-go's plugin.GenericPlugin type. type GenericPlugin = plugin.GenericPlugin // SignPlugin defines the required methods to be a SignPlugin. // // Deprecated: SignPlugin exists for historical compatibility and should not be used. // To access SignPlugin, use the notation-plugin-framework-go's plugin.SignPlugin type. type SignPlugin = plugin.SignPlugin // VerifyPlugin defines the required method to be a VerifyPlugin. // // Deprecated: VerifyPlugin exists for historical compatibility and should not be used. // To access VerifyPlugin, use the notation-plugin-framework-go's plugin.VerifyPlugin type. type VerifyPlugin = plugin.VerifyPlugin // Plugin defines required methods to be a Plugin. // // Deprecated: Plugin exists for historical compatibility and should not be used. // To access Plugin, use the notation-plugin-framework-go's plugin.Plugin type. type Plugin = plugin.Plugin // CLIPlugin implements Plugin interface to CLI plugins. type CLIPlugin struct { name string path string } // NewCLIPlugin returns a *CLIPlugin. func NewCLIPlugin(ctx context.Context, name, path string) (*CLIPlugin, error) { // validate file existence fi, err := os.Stat(path) if err != nil { // Ignore any file which we cannot Stat // (e.g. due to permissions or anything else). return nil, fmt.Errorf("plugin executable file is either not found or inaccessible: %w", err) } if !fi.Mode().IsRegular() { // Ignore non-regular files. return nil, ErrNotRegularFile } // generate plugin return &CLIPlugin{ name: name, path: path, }, nil } // GetMetadata returns the metadata information of the plugin. func (p *CLIPlugin) GetMetadata(ctx context.Context, req *plugin.GetMetadataRequest) (*plugin.GetMetadataResponse, error) { var metadata plugin.GetMetadataResponse err := run(ctx, p.name, p.path, req, &metadata) if err != nil { return nil, err } // validate metadata if err = validate(&metadata); err != nil { return nil, &PluginMalformedError{ Msg: fmt.Sprintf("metadata validation failed for plugin %s: %s", p.name, err), InnerError: err, } } if metadata.Name != p.name { return nil, fmt.Errorf("plugin executable file name must be %q instead of %q", binName(metadata.Name), filepath.Base(p.path)) } return &metadata, nil } // DescribeKey returns the KeySpec of a key. // // if ContractVersion is not set, it will be set by the function. func (p *CLIPlugin) DescribeKey(ctx context.Context, req *plugin.DescribeKeyRequest) (*plugin.DescribeKeyResponse, error) { if req.ContractVersion == "" { req.ContractVersion = plugin.ContractVersion } var resp plugin.DescribeKeyResponse err := run(ctx, p.name, p.path, req, &resp) return &resp, err } // GenerateSignature generates the raw signature based on the request. // // if ContractVersion is not set, it will be set by the function. func (p *CLIPlugin) GenerateSignature(ctx context.Context, req *plugin.GenerateSignatureRequest) (*plugin.GenerateSignatureResponse, error) { if req.ContractVersion == "" { req.ContractVersion = plugin.ContractVersion } var resp plugin.GenerateSignatureResponse err := run(ctx, p.name, p.path, req, &resp) return &resp, err } // GenerateEnvelope generates the Envelope with signature based on the request. // // if ContractVersion is not set, it will be set by the function. func (p *CLIPlugin) GenerateEnvelope(ctx context.Context, req *plugin.GenerateEnvelopeRequest) (*plugin.GenerateEnvelopeResponse, error) { if req.ContractVersion == "" { req.ContractVersion = plugin.ContractVersion } var resp plugin.GenerateEnvelopeResponse err := run(ctx, p.name, p.path, req, &resp) return &resp, err } // VerifySignature validates the signature based on the request. // // if ContractVersion is not set, it will be set by the function. func (p *CLIPlugin) VerifySignature(ctx context.Context, req *plugin.VerifySignatureRequest) (*plugin.VerifySignatureResponse, error) { if req.ContractVersion == "" { req.ContractVersion = plugin.ContractVersion } var resp plugin.VerifySignatureResponse err := run(ctx, p.name, p.path, req, &resp) return &resp, err } func run(ctx context.Context, pluginName string, pluginPath string, req plugin.Request, resp interface{}) error { logger := log.GetLogger(ctx) // serialize request data, err := json.Marshal(req) if err != nil { logger.Errorf("Failed to marshal request object: %+v", req) return fmt.Errorf("failed to marshal request object: %w", err) } logger.Debugf("Plugin %s request: %s", req.Command(), string(data)) // execute request stdout, stderr, err := executor.Output(ctx, pluginPath, req.Command(), data) if err != nil { logger.Errorf("plugin %s execution status: %v", req.Command(), err) if len(stderr) == 0 { // if stderr is empty, it is possible that the plugin is not // running properly. logger.Errorf("failed to execute the %s command for plugin %s: %s", req.Command(), pluginName, err) return &PluginExecutableFileError{ InnerError: err, } } else { var re proto.RequestError jsonErr := json.Unmarshal(stderr, &re) if jsonErr != nil { logger.Errorf("failed to execute the %s command for plugin %s: %s", req.Command(), pluginName, strings.TrimSuffix(string(stderr), "\n")) return &PluginMalformedError{ InnerError: jsonErr, } } logger.Errorf("failed to execute the %s command for plugin %s: %s: %w", req.Command(), pluginName, re.Code, re) return re } } logger.Debugf("Plugin %s response: %s", req.Command(), string(stdout)) // deserialize response if err = json.Unmarshal(stdout, resp); err != nil { logger.Errorf("failed to unmarshal plugin %s response: %w", req.Command(), err) return &PluginMalformedError{ Msg: fmt.Sprintf("failed to unmarshal the response of %s command for plugin %s", req.Command(), pluginName), InnerError: err, } } return nil } // commander is defined for mocking purposes. type commander interface { // Output runs the command, passing req to the stdin. // It only returns an error if the binary can't be executed. // Returns stdout if err is nil, stderr if err is not nil. Output(ctx context.Context, path string, command plugin.Command, req []byte) (stdout []byte, stderr []byte, err error) } // execCommander implements the commander interface using exec.Command(). type execCommander struct{} func (c execCommander) Output(ctx context.Context, name string, command plugin.Command, req []byte) ([]byte, []byte, error) { var stdout, stderr bytes.Buffer cmd := exec.CommandContext(ctx, name, string(command)) cmd.Stdin = bytes.NewReader(req) cmd.Stderr = &stderr cmd.Stdout = &stdout err := cmd.Run() if err != nil { return nil, stderr.Bytes(), err } return stdout.Bytes(), nil, nil } // validate checks if the metadata is correctly populated. func validate(metadata *plugin.GetMetadataResponse) error { if metadata.Name == "" { return errors.New("empty name") } if metadata.Description == "" { return errors.New("empty description") } if metadata.Version == "" { return errors.New("empty version") } if metadata.URL == "" { return errors.New("empty url") } if len(metadata.Capabilities) == 0 { return errors.New("empty capabilities") } if len(metadata.SupportedContractVersions) == 0 { return errors.New("supported contract versions not specified") } if !slices.Contains(metadata.SupportedContractVersions, plugin.ContractVersion) { return fmt.Errorf( "contract version %q is not in the list of the plugin supported versions %v", plugin.ContractVersion, metadata.SupportedContractVersions, ) } return nil } notation-go-1.2.1/plugin/plugin_test.go000066400000000000000000000222421466620631100201420ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package plugin import ( "context" "encoding/json" "errors" "os" "reflect" "strconv" "strings" "testing" "github.com/notaryproject/notation-go/plugin/proto" ) func TestGetMetadata(t *testing.T) { t.Run("plugin error is in invalid json format", func(t *testing.T) { exitErr := errors.New("unknown error") stderr := []byte("sad") expectedErrMsg := "invalid character 's' looking for beginning of value" plugin := CLIPlugin{name: "test-plugin"} executor = testCommander{stdout: nil, stderr: stderr, err: exitErr} _, err := plugin.GetMetadata(context.Background(), &proto.GetMetadataRequest{}) if err.Error() != expectedErrMsg { t.Fatalf("should error. got err = %v, want %v", err, expectedErrMsg) } }) t.Run("plugin error is a valid json", func(t *testing.T) { stderr := []byte("{\"errorCode\":\"ACCESS_DENIED\"}") pluginErr := errors.New("plugin errors") wantErr := proto.RequestError{Code: proto.ErrorCodeAccessDenied} plugin := CLIPlugin{} executor = testCommander{stdout: nil, stderr: stderr, err: pluginErr} _, err := plugin.GetMetadata(context.Background(), &proto.GetMetadataRequest{}) if !errors.Is(err, wantErr) { t.Fatalf("should error. got err = %v, want %v", err, wantErr) } }) t.Run("plugin cause system error", func(t *testing.T) { exitErr := errors.New("system error") stderr := []byte("") expectedErrMsg := "system error" plugin := CLIPlugin{name: "test-plugin"} executor = testCommander{stdout: nil, stderr: stderr, err: exitErr} _, err := plugin.GetMetadata(context.Background(), &proto.GetMetadataRequest{}) if err.Error() != expectedErrMsg { t.Fatalf("should error. got err = %v, want %v", err, expectedErrMsg) } }) } func TestDescribeKey(t *testing.T) { t.Run("DescribeKey test", func(t *testing.T) { keyResp := proto.DescribeKeyResponse{KeyID: "1", KeySpec: "RSA-4096"} output, err := json.Marshal(keyResp) if err != nil { t.Fatal("should not error.") } executor = testCommander{stdout: output, err: nil} plugin := CLIPlugin{} resp, err := plugin.DescribeKey(context.Background(), &proto.DescribeKeyRequest{}) if err != nil { t.Fatalf("should not error. got err = %v", err) } if reflect.DeepEqual(resp, keyResp) { t.Fatalf("DescribeKey() error. got: %+v, want: %+v", resp, keyResp) } }) } func TestGenerateSignature(t *testing.T) { t.Run("GenerateSignature test", func(t *testing.T) { keyResp := proto.GenerateSignatureResponse{ KeyID: "1", Signature: []byte("xxxxx"), SigningAlgorithm: "ECDSA-SHA-256", CertificateChain: [][]byte{{121, 132, 30, 42}}, } output, err := json.Marshal(keyResp) if err != nil { t.Fatal("should not error.") } executor = testCommander{stdout: output, err: nil} plugin := CLIPlugin{} resp, err := plugin.GenerateSignature(context.Background(), &proto.GenerateSignatureRequest{}) if err != nil { t.Fatalf("should not error. got err = %v", err) } if reflect.DeepEqual(resp, keyResp) { t.Fatalf("GenerateSignature() error. got: %+v, want: %+v", resp, keyResp) } }) } func TestGenerateEnvelope(t *testing.T) { t.Run("GenerateEnvelope test", func(t *testing.T) { keyResp := proto.GenerateEnvelopeResponse{ SignatureEnvelope: []byte("{}"), SignatureEnvelopeType: "jws", Annotations: map[string]string{}, } output, err := json.Marshal(keyResp) if err != nil { t.Fatal("should not error.") } executor = testCommander{stdout: output, err: nil} plugin := CLIPlugin{} resp, err := plugin.GenerateEnvelope(context.Background(), &proto.GenerateEnvelopeRequest{}) if err != nil { t.Fatalf("should not error. got err = %v", err) } if reflect.DeepEqual(resp, keyResp) { t.Fatalf("GenerateEnvelope() error. got: %+v, want: %+v", resp, keyResp) } }) } func TestVerifySignature(t *testing.T) { t.Run("VerifySignature test", func(t *testing.T) { keyResp := proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{}, ProcessedAttributes: []interface{}{"attr1"}, } output, err := json.Marshal(keyResp) if err != nil { t.Fatal("should not error.") } executor = testCommander{stdout: output, err: nil} plugin := CLIPlugin{} resp, err := plugin.VerifySignature(context.Background(), &proto.VerifySignatureRequest{}) if err != nil { t.Fatalf("should not error. got err = %v", err) } if reflect.DeepEqual(resp, keyResp) { t.Fatalf("VerifySignature() error. got: %+v, want: %+v", resp, keyResp) } }) } func TestValidateMetadata(t *testing.T) { tests := []struct { m *proto.GetMetadataResponse wantErr bool }{ {&proto.GetMetadataResponse{}, true}, {&proto.GetMetadataResponse{Name: "name"}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly"}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly", Version: "1"}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly", Version: "1", URL: "example.com"}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly", Version: "1", URL: "example.com", Capabilities: []proto.Capability{"cap"}}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"1.0"}}, true}, {&proto.GetMetadataResponse{Name: "name", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []proto.Capability{"cap"}}, false}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { if err := validate(tt.m); (err != nil) != tt.wantErr { t.Errorf("GetMetadataResponse.Validate() error = %v, wantErr %v", err, tt.wantErr) } }) } } func TestNewCLIPlugin_PathError(t *testing.T) { ctx := context.Background() t.Run("plugin directory exists without executable.", func(t *testing.T) { p, err := NewCLIPlugin(ctx, "emptyplugin", "./testdata/plugins/emptyplugin/notation-emptyplugin") if !errors.Is(err, os.ErrNotExist) { t.Errorf("NewCLIPlugin() error = %v, want %v", err, os.ErrNotExist) } if p != nil { t.Errorf("NewCLIPlugin() plugin = %v, want nil", p) } }) t.Run("plugin is not a regular file", func(t *testing.T) { expectedErrMsg := "plugin executable file is not a regular file" p, err := NewCLIPlugin(ctx, "badplugin", "./testdata/plugins/badplugin/notation-badplugin") if err.Error() != expectedErrMsg { t.Errorf("NewCLIPlugin() error = %v, want %v", err, expectedErrMsg) } if p != nil { t.Errorf("NewCLIPlugin() plugin = %v, want nil", p) } }) } func TestNewCLIPlugin_ValidError(t *testing.T) { ctx := context.Background() p, err := NewCLIPlugin(ctx, "foo", "./testdata/plugins/foo/notation-foo") if err != nil { t.Fatal("should no error.") } t.Run("command no response", func(t *testing.T) { executor = testCommander{} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if _, ok := err.(*PluginMalformedError); !ok { t.Fatal("should return plugin validity error") } }) t.Run("invalid json", func(t *testing.T) { executor = testCommander{stdout: []byte("content")} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if _, ok := err.(*PluginMalformedError); !ok { t.Fatal("should return plugin validity error") } }) t.Run("invalid metadata name", func(t *testing.T) { executor = testCommander{stdout: metadataJSON(invalidMetadataName)} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if !strings.Contains(err.Error(), "executable file name must be") { t.Fatal("should fail the operation.") } }) t.Run("invalid metadata content", func(t *testing.T) { executor = testCommander{stdout: metadataJSON(proto.GetMetadataResponse{Name: "foo"})} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if _, ok := err.(*PluginMalformedError); !ok { t.Fatal("should be plugin validity error.") } }) t.Run("valid", func(t *testing.T) { executor = testCommander{stdout: metadataJSON(validMetadata)} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if err != nil { t.Fatalf("should valid. got err = %v", err) } metadata, err := p.GetMetadata(context.Background(), &proto.GetMetadataRequest{}) if err != nil { t.Fatalf("should valid. got err = %v", err) } if !reflect.DeepEqual(metadata, &validMetadata) { t.Fatalf("should be equal. got metadata = %+v, want %+v", metadata, validMetadata) } }) t.Run("invalid contract version", func(t *testing.T) { executor = testCommander{stdout: metadataJSON(invalidContractVersionMetadata)} _, err := p.GetMetadata(ctx, &proto.GetMetadataRequest{}) if err == nil { t.Fatal("should have an invalid contract version error") } }) } notation-go-1.2.1/plugin/proto/000077500000000000000000000000001466620631100164175ustar00rootroot00000000000000notation-go-1.2.1/plugin/proto/algorithm.go000066400000000000000000000160651466620631100207440ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "errors" "fmt" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) // KeySpec is type of the signing algorithm, including algorithm and size. // // Deprecated: KeySpec exists for historical compatibility and should not be used. // To access KeySpec, use the notation-plugin-framework-go's [plugin.KeySpec] type. type KeySpec = plugin.KeySpec // one of the following supported key spec names. // // Deprecated: KeySpec exists for historical compatibility and should not be used. // To access KeySpec, use the notation-plugin-framework-go's [plugin.KeySpec]. // // [keys spec]: https://github.com/notaryproject/notaryproject/blob/main/specs/signature-specification.md#algorithm-selection const ( KeySpecRSA2048 = plugin.KeySpecRSA2048 KeySpecRSA3072 = plugin.KeySpecRSA3072 KeySpecRSA4096 = plugin.KeySpecRSA4096 KeySpecEC256 = plugin.KeySpecEC256 KeySpecEC384 = plugin.KeySpecEC384 KeySpecEC521 = plugin.KeySpecEC521 ) // EncodeKeySpec returns the name of a keySpec according to the spec. func EncodeKeySpec(k signature.KeySpec) (plugin.KeySpec, error) { switch k.Type { case signature.KeyTypeEC: switch k.Size { case 256: return plugin.KeySpecEC256, nil case 384: return plugin.KeySpecEC384, nil case 521: return plugin.KeySpecEC521, nil } case signature.KeyTypeRSA: switch k.Size { case 2048: return plugin.KeySpecRSA2048, nil case 3072: return plugin.KeySpecRSA3072, nil case 4096: return plugin.KeySpecRSA4096, nil } } return "", fmt.Errorf("invalid KeySpec %q", k) } // DecodeKeySpec parses keySpec name to a signature.keySpec type. func DecodeKeySpec(k plugin.KeySpec) (keySpec signature.KeySpec, err error) { switch k { case plugin.KeySpecRSA2048: keySpec.Size = 2048 keySpec.Type = signature.KeyTypeRSA case plugin.KeySpecRSA3072: keySpec.Size = 3072 keySpec.Type = signature.KeyTypeRSA case plugin.KeySpecRSA4096: keySpec.Size = 4096 keySpec.Type = signature.KeyTypeRSA case plugin.KeySpecEC256: keySpec.Size = 256 keySpec.Type = signature.KeyTypeEC case plugin.KeySpecEC384: keySpec.Size = 384 keySpec.Type = signature.KeyTypeEC case plugin.KeySpecEC521: keySpec.Size = 521 keySpec.Type = signature.KeyTypeEC default: keySpec = signature.KeySpec{} err = errors.New("unknown key spec") } return } // HashAlgorithm is the type of hash algorithm. // // Deprecated: HashAlgorithm exists for historical compatibility and should not be used. // To access HashAlgorithm, use the notation-plugin-framework-go's [plugin.HashAlgorithm] type. type HashAlgorithm = plugin.HashAlgorithm // one of the following supported hash algorithm names. // // Deprecated: HashAlgorithm exists for historical compatibility and should not be used. // To access HashAlgorithm, use the notation-plugin-framework-go's [plugin.HashAlgorithm] type. // // [hash algorithm]: https://github.com/notaryproject/notaryproject/blob/main/specs/signature-specification.md#algorithm-selection const ( HashAlgorithmSHA256 = plugin.HashAlgorithmSHA256 HashAlgorithmSHA384 = plugin.HashAlgorithmSHA384 HashAlgorithmSHA512 = plugin.HashAlgorithmSHA512 ) // HashAlgorithmFromKeySpec returns the name of hash function according to the spec. func HashAlgorithmFromKeySpec(k signature.KeySpec) (plugin.HashAlgorithm, error) { switch k.Type { case signature.KeyTypeEC: switch k.Size { case 256: return plugin.HashAlgorithmSHA256, nil case 384: return plugin.HashAlgorithmSHA384, nil case 521: return plugin.HashAlgorithmSHA512, nil } case signature.KeyTypeRSA: switch k.Size { case 2048: return plugin.HashAlgorithmSHA256, nil case 3072: return plugin.HashAlgorithmSHA384, nil case 4096: return plugin.HashAlgorithmSHA512, nil } } return "", fmt.Errorf("invalid KeySpec %q", k) } // SignatureAlgorithm is the type of signature algorithm // // Deprecated: SignatureAlgorithm exists for historical compatibility and should not be used. // To access SignatureAlgorithm, use the notation-plugin-framework-go's [plugin.SignatureAlgorithm] type. type SignatureAlgorithm = plugin.SignatureAlgorithm // one of the following supported [signing algorithm] names. // // Deprecated: SignatureAlgorithm exists for historical compatibility and should not be used. // To access SignatureAlgorithm, use the notation-plugin-framework-go's [plugin.SignatureAlgorithm] type. // // [signing algorithm]: https://github.com/notaryproject/notaryproject/blob/main/specs/signature-specification.md#algorithm-selection const ( SignatureAlgorithmECDSA_SHA256 = plugin.SignatureAlgorithmECDSA_SHA256 SignatureAlgorithmECDSA_SHA384 = plugin.SignatureAlgorithmECDSA_SHA384 SignatureAlgorithmECDSA_SHA512 = plugin.SignatureAlgorithmECDSA_SHA512 SignatureAlgorithmRSASSA_PSS_SHA256 = plugin.SignatureAlgorithmRSASSA_PSS_SHA256 SignatureAlgorithmRSASSA_PSS_SHA384 = plugin.SignatureAlgorithmRSASSA_PSS_SHA384 SignatureAlgorithmRSASSA_PSS_SHA512 = plugin.SignatureAlgorithmRSASSA_PSS_SHA512 ) // EncodeSigningAlgorithm returns the signing algorithm name of an algorithm // according to the spec. func EncodeSigningAlgorithm(alg signature.Algorithm) (plugin.SignatureAlgorithm, error) { switch alg { case signature.AlgorithmES256: return plugin.SignatureAlgorithmECDSA_SHA256, nil case signature.AlgorithmES384: return plugin.SignatureAlgorithmECDSA_SHA384, nil case signature.AlgorithmES512: return plugin.SignatureAlgorithmECDSA_SHA512, nil case signature.AlgorithmPS256: return plugin.SignatureAlgorithmRSASSA_PSS_SHA256, nil case signature.AlgorithmPS384: return plugin.SignatureAlgorithmRSASSA_PSS_SHA384, nil case signature.AlgorithmPS512: return plugin.SignatureAlgorithmRSASSA_PSS_SHA512, nil } return "", fmt.Errorf("invalid algorithm %q", alg) } // DecodeSigningAlgorithm parses the signing algorithm name from a given string. func DecodeSigningAlgorithm(raw plugin.SignatureAlgorithm) (signature.Algorithm, error) { switch raw { case plugin.SignatureAlgorithmECDSA_SHA256: return signature.AlgorithmES256, nil case plugin.SignatureAlgorithmECDSA_SHA384: return signature.AlgorithmES384, nil case plugin.SignatureAlgorithmECDSA_SHA512: return signature.AlgorithmES512, nil case plugin.SignatureAlgorithmRSASSA_PSS_SHA256: return signature.AlgorithmPS256, nil case plugin.SignatureAlgorithmRSASSA_PSS_SHA384: return signature.AlgorithmPS384, nil case plugin.SignatureAlgorithmRSASSA_PSS_SHA512: return signature.AlgorithmPS512, nil } return 0, errors.New("unknown signing algorithm") } notation-go-1.2.1/plugin/proto/algorithm_test.go000066400000000000000000000174371466620631100220070ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "testing" "github.com/notaryproject/notation-core-go/signature" ) func TestEncodeKeySpec(t *testing.T) { tests := []struct { name string keySpec signature.KeySpec expected KeySpec }{ { name: "EC 256", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 256, }, expected: KeySpecEC256, }, { name: "EC 384", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 384, }, expected: KeySpecEC384, }, { name: "EC 521", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 521, }, expected: KeySpecEC521, }, { name: "RSA 2048", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 2048, }, expected: KeySpecRSA2048, }, { name: "RSA 3072", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 3072, }, expected: KeySpecRSA3072, }, { name: "RSA 4096", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 4096, }, expected: KeySpecRSA4096, }, { name: "Unsupported key spec", keySpec: signature.KeySpec{ Type: 0, Size: 0, }, expected: "", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if name, _ := EncodeKeySpec(tt.keySpec); name != tt.expected { t.Fatalf("unexpected keySpec name, expect: %v, got: %v", tt.expected, name) } }) } } func TestHashAlgorithmFromKeySpec(t *testing.T) { tests := []struct { name string keySpec signature.KeySpec expected HashAlgorithm }{ { name: "EC 256", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 256, }, expected: HashAlgorithmSHA256, }, { name: "EC 384", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 384, }, expected: HashAlgorithmSHA384, }, { name: "EC 521", keySpec: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 521, }, expected: HashAlgorithmSHA512, }, { name: "RSA 2048", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 2048, }, expected: HashAlgorithmSHA256, }, { name: "RSA 3072", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 3072, }, expected: HashAlgorithmSHA384, }, { name: "RSA 4096", keySpec: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 4096, }, expected: HashAlgorithmSHA512, }, { name: "Unsupported key spec", keySpec: signature.KeySpec{ Type: 0, Size: 0, }, expected: "", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if name, _ := HashAlgorithmFromKeySpec(tt.keySpec); name != tt.expected { t.Fatalf("unexpected keySpec hash function name, expect: %v, got: %v", tt.expected, name) } }) } } func TestDecodeKeySpec(t *testing.T) { tests := []struct { name string raw KeySpec expected signature.KeySpec expectErr bool }{ { name: "EC 256", raw: KeySpecEC256, expected: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 256, }, expectErr: false, }, { name: "EC 384", raw: KeySpecEC384, expected: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 384, }, expectErr: false, }, { name: "EC 521", raw: KeySpecEC521, expected: signature.KeySpec{ Type: signature.KeyTypeEC, Size: 521, }, expectErr: false, }, { name: "RSA 2048", raw: KeySpecRSA2048, expected: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 2048, }, expectErr: false, }, { name: "RSA 3072", raw: KeySpecRSA3072, expected: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 3072, }, expectErr: false, }, { name: "RSA 4096", raw: KeySpecRSA4096, expected: signature.KeySpec{ Type: signature.KeyTypeRSA, Size: 4096, }, expectErr: false, }, { name: "Unsupported key spec", raw: "unsupported", expected: signature.KeySpec{}, expectErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { keySpec, err := DecodeKeySpec(tt.raw) if keySpec != tt.expected { t.Fatalf("unexpected parsed keySpec name, expect: %v, got: %v", tt.expected, keySpec) } if (err != nil) != tt.expectErr { t.Fatalf("expect ParseKeySpec error: %v, got: %v", tt.expectErr, err) } }) } } func TestEncodeSigningAlgorithm(t *testing.T) { tests := []struct { name string alg signature.Algorithm expected SignatureAlgorithm }{ { name: "RSASSA-PSS with SHA-256", alg: signature.AlgorithmPS256, expected: SignatureAlgorithmRSASSA_PSS_SHA256, }, { name: "RSASSA-PSS with SHA-384", alg: signature.AlgorithmPS384, expected: SignatureAlgorithmRSASSA_PSS_SHA384, }, { name: "RSASSA-PSS with SHA-512", alg: signature.AlgorithmPS512, expected: SignatureAlgorithmRSASSA_PSS_SHA512, }, { name: "ECDSA on secp256r1 with SHA-256", alg: signature.AlgorithmES256, expected: SignatureAlgorithmECDSA_SHA256, }, { name: "ECDSA on secp384r1 with SHA-384", alg: signature.AlgorithmES384, expected: SignatureAlgorithmECDSA_SHA384, }, { name: "ECDSA on secp521r1 with SHA-512", alg: signature.AlgorithmES512, expected: SignatureAlgorithmECDSA_SHA512, }, { name: "unsupported algorithm", alg: 0, expected: "", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if name, _ := EncodeSigningAlgorithm(tt.alg); name != tt.expected { t.Fatalf("unexpected signing algorithm name, expect: %v, got: %v", tt.expected, name) } }) } } func TestParseSigningAlgorithm(t *testing.T) { tests := []struct { name string raw SignatureAlgorithm expected signature.Algorithm expectErr bool }{ { name: "RSASSA-PSS with SHA-256", raw: SignatureAlgorithmRSASSA_PSS_SHA256, expected: signature.AlgorithmPS256, expectErr: false, }, { name: "RSASSA-PSS with SHA-384", raw: SignatureAlgorithmRSASSA_PSS_SHA384, expected: signature.AlgorithmPS384, expectErr: false, }, { name: "RSASSA-PSS with SHA-512", raw: SignatureAlgorithmRSASSA_PSS_SHA512, expected: signature.AlgorithmPS512, expectErr: false, }, { name: "ECDSA on secp256r1 with SHA-256", raw: SignatureAlgorithmECDSA_SHA256, expected: signature.AlgorithmES256, expectErr: false, }, { name: "ECDSA on secp384r1 with SHA-384", raw: SignatureAlgorithmECDSA_SHA384, expected: signature.AlgorithmES384, expectErr: false, }, { name: "ECDSA on secp521r1 with SHA-512", raw: SignatureAlgorithmECDSA_SHA512, expected: signature.AlgorithmES512, expectErr: false, }, { name: "unsupported algorithm", raw: "", expected: 0, expectErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { alg, err := DecodeSigningAlgorithm(tt.raw) if alg != tt.expected { t.Fatalf("unexpected signing algorithm, expect: %v, got: %v", tt.expected, alg) } if (err != nil) != tt.expectErr { t.Fatalf("expect ParseSigningAlgorithFromName error: %v, got: %v", tt.expectErr, err) } }) } } notation-go-1.2.1/plugin/proto/errors.go000066400000000000000000000103511466620631100202620ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "encoding/json" "errors" "fmt" "github.com/notaryproject/notation-plugin-framework-go/plugin" ) // Deprecated: ErrorCode exists for historical compatibility and should not be used. // To access ErrorCode, use the notation-plugin-framework-go's plugin.ErrorCode type. type ErrorCode = plugin.ErrorCode const ( // ErrorCodeValidation is used when any of the required request fields is empty ormalformed/invalid. // // Deprecated: ErrorCodeValidation exists for historical compatibility and should not be used. // To access ErrorCodeValidation, use the notation-plugin-framework-go's [plugin.ErrorCodeValidation]. ErrorCodeValidation = plugin.ErrorCodeValidation // ErrorCodeUnsupportedContractVersion is used when when the contract version used in the request is unsupported. // // Deprecated: ErrorCodeUnsupportedContractVersion exists for historical compatibility and should not be used. // To access ErrorCodeUnsupportedContractVersion, use the notation-plugin-framework-go's [plugin.ErrorCodeUnsupportedContractVersion]. ErrorCodeUnsupportedContractVersion = plugin.ErrorCodeUnsupportedContractVersion // ErrorCodeAccessDenied is used when user doesn't have required permission to access the key. // // Deprecated: ErrorCodeAccessDenied exists for historical compatibility and should not be used. // To access ErrorCodeAccessDenied, use the notation-plugin-framework-go's [plugin.ErrorCodeAccessDenied]. ErrorCodeAccessDenied = plugin.ErrorCodeAccessDenied // ErrorCodeTimeout is used when an operation to generate signature timed out and can be retried by Notation. // // Deprecated: ErrorCodeTimeout exists for historical compatibility and should not be used. // To access ErrorCodeTimeout, use the notation-plugin-framework-go's [plugin.ErrorCodeTimeout]. ErrorCodeTimeout = plugin.ErrorCodeTimeout // ErrorCodeThrottled is used when an operation to generate signature was throttles // and can be retried by Notation. // // Deprecated: ErrorCodeThrottled exists for historical compatibility and should not be used. // To access ErrorCodeThrottled, use the notation-plugin-framework-go's [plugin.ErrorCodeThrottled]. ErrorCodeThrottled = plugin.ErrorCodeThrottled // ErrorCodeGeneric is used when an general error occurred that does not fall into any categories. // // Deprecated: ErrorCodeGeneric exists for historical compatibility and should not be used. // To access ErrorCodeGeneric, use the notation-plugin-framework-go's [plugin.ErrorCodeGeneric]. ErrorCodeGeneric = plugin.ErrorCodeGeneric ) // RequestError is the common error response for any request. type RequestError struct { Code plugin.ErrorCode Err error Metadata map[string]string } func (e RequestError) Error() string { return fmt.Sprintf("%v", e.Err) } func (e RequestError) Unwrap() error { return e.Err } func (e RequestError) Is(target error) bool { if et, ok := target.(RequestError); ok { if e.Code != et.Code { return false } if e.Err == et.Err { return true } return e.Err != nil && et.Err != nil && e.Err.Error() == et.Err.Error() } return false } func (e RequestError) MarshalJSON() ([]byte, error) { var msg string if e.Err != nil { msg = e.Err.Error() } return json.Marshal(plugin.Error{ErrCode: e.Code, Message: msg, Metadata: e.Metadata}) } func (e *RequestError) UnmarshalJSON(data []byte) error { var tmp plugin.Error err := json.Unmarshal(data, &tmp) if err != nil { return err } if tmp.ErrCode == "" && tmp.Message == "" && tmp.Metadata == nil { return errors.New("incomplete json") } *e = RequestError{Code: tmp.ErrCode, Metadata: tmp.Metadata} if tmp.Message != "" { e.Err = errors.New(tmp.Message) } return nil } notation-go-1.2.1/plugin/proto/errors_test.go000066400000000000000000000105741466620631100213300ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "encoding/json" "errors" "reflect" "testing" ) func TestRequestError_Error(t *testing.T) { err := RequestError{Code: ErrorCodeAccessDenied, Err: errors.New("an error")} want := "an error" if got := err.Error(); got != want { t.Errorf("RequestError.Error() = %v, want %v", got, want) } } func TestRequestError_Unwrap(t *testing.T) { want := errors.New("an error") got := RequestError{Code: ErrorCodeAccessDenied, Err: want}.Unwrap() if got != want { t.Errorf("RequestError.Unwrap() = %v, want %v", got, want) } } func TestRequestError_MarshalJSON(t *testing.T) { tests := []struct { name string e RequestError want []byte }{ {"empty", RequestError{}, []byte("{\"errorCode\":\"\"}")}, {"with code", RequestError{Code: ErrorCodeAccessDenied}, []byte("{\"errorCode\":\"ACCESS_DENIED\"}")}, {"with message", RequestError{Code: ErrorCodeAccessDenied, Err: errors.New("failed")}, []byte("{\"errorCode\":\"ACCESS_DENIED\",\"errorMessage\":\"failed\"}")}, { "with metadata", RequestError{Code: ErrorCodeAccessDenied, Err: errors.New("failed"), Metadata: map[string]string{"a": "b"}}, []byte("{\"errorCode\":\"ACCESS_DENIED\",\"errorMessage\":\"failed\",\"errorMetadata\":{\"a\":\"b\"}}"), }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := tt.e.MarshalJSON() if err != nil { t.Fatalf("RequestError.MarshalJSON() error = %v, wantErr false", err) } if !reflect.DeepEqual(got, tt.want) { t.Fatalf("RequestError.MarshalJSON() = %s, want %s", got, tt.want) } if tt.e.Code == "" { return } var got1 RequestError err = json.Unmarshal(got, &got1) if err != nil { t.Fatalf("RequestError.UnmarshalJSON() error = %v, wantErr false", err) } if got1.Code != tt.e.Code || !reflect.DeepEqual(got1.Metadata, tt.e.Metadata) { t.Fatalf("RequestError.UnmarshalJSON() = %s, want %s", got1, tt.e) } }) } } func TestRequestError_UnmarshalJSON(t *testing.T) { type args struct { data []byte } tests := []struct { name string args args want RequestError wantErr bool }{ {"invalid", args{[]byte("")}, RequestError{}, true}, {"empty", args{[]byte("{}")}, RequestError{}, true}, {"with code", args{[]byte("{\"errorCode\":\"ACCESS_DENIED\"}")}, RequestError{Code: ErrorCodeAccessDenied}, false}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { var e RequestError if err := e.UnmarshalJSON(tt.args.data); (err != nil) != tt.wantErr { t.Errorf("RequestError.UnmarshalJSON() error = %v, wantErr %v", err, tt.wantErr) } if !tt.wantErr && (e.Code != tt.want.Code || !reflect.DeepEqual(e.Metadata, tt.want.Metadata)) { t.Fatalf("RequestError.UnmarshalJSON() = %s, want %s", e, tt.want) } }) } } func TestRequestError_Is(t *testing.T) { type args struct { target error } tests := []struct { name string e RequestError args args want bool }{ {"nil", RequestError{}, args{nil}, false}, {"not same type", RequestError{Err: errors.New("foo")}, args{errors.New("foo")}, false}, {"only same code", RequestError{Code: ErrorCodeGeneric, Err: errors.New("foo")}, args{RequestError{Code: ErrorCodeGeneric, Err: errors.New("bar")}}, false}, {"only same message", RequestError{Code: ErrorCodeTimeout, Err: errors.New("foo")}, args{RequestError{Code: ErrorCodeGeneric, Err: errors.New("foo")}}, false}, {"same with nil message", RequestError{Code: ErrorCodeGeneric}, args{RequestError{Code: ErrorCodeGeneric}}, true}, {"same", RequestError{Code: ErrorCodeGeneric, Err: errors.New("foo")}, args{RequestError{Code: ErrorCodeGeneric, Err: errors.New("foo")}}, true}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := tt.e.Is(tt.args.target); got != tt.want { t.Errorf("RequestError.Is() = %v, want %v", got, tt.want) } }) } } notation-go-1.2.1/plugin/proto/metadata.go000066400000000000000000000024611466620631100205310ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import "github.com/notaryproject/notation-plugin-framework-go/plugin" // GetMetadataRequest contains the parameters passed in a get-plugin-metadata request. // // Deprecated: GetMetadataRequest exists for historical compatibility and should not be used. // To access GetMetadataRequest, use the notation-plugin-framework-go's [plugin.GetMetadataRequest] type. type GetMetadataRequest = plugin.GetMetadataRequest // GetMetadataResponse provided by the plugin. // // Deprecated: GetMetadataResponse exists for historical compatibility and should not be used. // To access GetMetadataResponse, use the notation-plugin-framework-go's [plugin.GetMetadataResponse] type. type GetMetadataResponse = plugin.GetMetadataResponse notation-go-1.2.1/plugin/proto/metadata_test.go000066400000000000000000000026511466620631100215710ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "testing" ) func TestGetMetadataResponse_HasCapability(t *testing.T) { type args struct { capability Capability } tests := []struct { name string m *GetMetadataResponse args args want bool }{ {"empty capabilities", &GetMetadataResponse{}, args{"cap"}, false}, {"other capabilities", &GetMetadataResponse{Capabilities: []Capability{"foo", "baz"}}, args{"cap"}, false}, {"empty target capability", &GetMetadataResponse{Capabilities: []Capability{"foo", "baz"}}, args{""}, true}, {"found", &GetMetadataResponse{Capabilities: []Capability{"foo", "baz"}}, args{"baz"}, true}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := tt.m.HasCapability(tt.args.capability); got != tt.want { t.Errorf("GetMetadataResponse.HasCapability() = %v, want %v", got, tt.want) } }) } } notation-go-1.2.1/plugin/proto/proto.go000066400000000000000000000136361466620631100201220ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package proto defines the protocol layer for communication between notation // and notation external plugin. package proto import "github.com/notaryproject/notation-plugin-framework-go/plugin" // Prefix is the prefix required on all plugin binary names. // // Deprecated: Prefix exists for historical compatibility and should not be used. // To access Prefix, use the notation-plugin-framework-go's [plugin.BinaryPrefix] type. const Prefix = plugin.BinaryPrefix // ContractVersion is the . version of the plugin contract. // // Deprecated: ContractVersion exists for historical compatibility and should not be used. // To access ContractVersion, use the notation-plugin-framework-go's [plugin.ContractVersion] type. const ContractVersion = plugin.ContractVersion // Command is a CLI command available in the plugin contract. // // Deprecated: Command exists for historical compatibility and should not be used. // To access Command, use the notation-plugin-framework-go's [plugin.Command] type. type Command = plugin.Command // Request defines a plugin request, which is always associated to a command. // // Deprecated: Request exists for historical compatibility and should not be used. // To access Request, use the notation-plugin-framework-go's [plugin.Request] type. type Request = plugin.Request const ( // CommandGetMetadata is the name of the plugin command // which must be supported by every plugin and returns the // plugin metadata. // // Deprecated: CommandGetMetadata exists for historical compatibility and should not be used. // To access CommandGetMetadata, use the notation-plugin-framework-go's [plugin.CommandGetMetadata]. CommandGetMetadata = plugin.CommandGetMetadata // CommandDescribeKey is the name of the plugin command // which must be supported by every plugin that has the // SIGNATURE_GENERATOR.RAW capability. // // Deprecated: CommandDescribeKey exists for historical compatibility and should not be used. // To access CommandDescribeKey, use the notation-plugin-framework-go's [plugin.CommandDescribeKey]. CommandDescribeKey = plugin.CommandDescribeKey // CommandGenerateSignature is the name of the plugin command // which must be supported by every plugin that has the // SIGNATURE_GENERATOR.RAW capability. // // Deprecated: CommandGenerateSignature exists for historical compatibility and should not be used. // To access CommandGenerateSignature, use the notation-plugin-framework-go's [plugin.CommandGenerateSignature]. CommandGenerateSignature = plugin.CommandGenerateSignature // CommandGenerateEnvelope is the name of the plugin command // which must be supported by every plugin that has the // SIGNATURE_GENERATOR.ENVELOPE capability. // // Deprecated: CommandGenerateEnvelope exists for historical compatibility and should not be used. // To access CommandGenerateEnvelope, use the notation-plugin-framework-go's [plugin.CommandGenerateEnvelope]. CommandGenerateEnvelope = plugin.CommandGenerateEnvelope // CommandVerifySignature is the name of the plugin command // which must be supported by every plugin that has // any SIGNATURE_VERIFIER.* capability // // Deprecated: CommandVerifySignature exists for historical compatibility and should not be used. // To access CommandVerifySignature, use the notation-plugin-framework-go's [plugin.CommandVerifySignature]. CommandVerifySignature = plugin.CommandVerifySignature ) // Capability is a feature available in the plugin contract. // // Deprecated: Capability exists for historical compatibility and should not be used. // To access Capability, use the notation-plugin-framework-go's [plugin.Capability] type. type Capability = plugin.Capability const ( // CapabilitySignatureGenerator is the name of the capability // for a plugin to support generating raw signatures. // // Deprecated: CapabilitySignatureGenerator exists for historical compatibility and should not be used. // To access CapabilitySignatureGenerator, use the notation-plugin-framework-go's [plugin.CapabilitySignatureGenerator]. CapabilitySignatureGenerator = plugin.CapabilitySignatureGenerator // CapabilityEnvelopeGenerator is the name of the capability // for a plugin to support generating envelope signatures. // // Deprecated: CapabilityEnvelopeGenerator exists for historical compatibility and should not be used. // To access CapabilityEnvelopeGenerator, use the notation-plugin-framework-go's [plugin.CapabilityEnvelopeGenerator]. CapabilityEnvelopeGenerator = plugin.CapabilityEnvelopeGenerator // CapabilityTrustedIdentityVerifier is the name of the // capability for a plugin to support verifying trusted identities. // // Deprecated: CapabilityTrustedIdentityVerifier exists for historical compatibility and should not be used. // To access CapabilityTrustedIdentityVerifier, use the notation-plugin-framework-go's [plugin.CapabilityTrustedIdentityVerifier]. CapabilityTrustedIdentityVerifier = plugin.CapabilityTrustedIdentityVerifier // CapabilityRevocationCheckVerifier is the name of the // capability for a plugin to support verifying revocation checks. // // Deprecated: CapabilityRevocationCheckVerifier exists for historical compatibility and should not be used. // To access CapabilityRevocationCheckVerifier, use the notation-plugin-framework-go's [plugin.CapabilityRevocationCheckVerifier]. CapabilityRevocationCheckVerifier = plugin.CapabilityRevocationCheckVerifier ) notation-go-1.2.1/plugin/proto/sign.go000066400000000000000000000054131466620631100177110ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import "github.com/notaryproject/notation-plugin-framework-go/plugin" // DescribeKeyRequest contains the parameters passed in a describe-key request. // // Deprecated: DescribeKeyRequest exists for historical compatibility and should not be used. // To access DescribeKeyRequest, use the notation-plugin-framework-go's [plugin.DescribeKeyRequest] type. type DescribeKeyRequest = plugin.DescribeKeyRequest // DescribeKeyResponse is the response of a describe-key request. // // Deprecated: DescribeKeyResponse exists for historical compatibility and should not be used. // To access DescribeKeyResponse, use the notation-plugin-framework-go's [plugin.DescribeKeyResponse] type. type DescribeKeyResponse = plugin.DescribeKeyResponse // GenerateSignatureRequest contains the parameters passed in a // generate-signature request. // // Deprecated: GenerateSignatureRequest exists for historical compatibility and should not be used. // To access GenerateSignatureRequest, use the notation-plugin-framework-go's [plugin.GenerateSignatureRequest] type. type GenerateSignatureRequest = plugin.GenerateSignatureRequest // GenerateSignatureResponse is the response of a generate-signature request. // // Deprecated: GenerateSignatureResponse exists for historical compatibility and should not be used. // To access GenerateSignatureResponse, use the notation-plugin-framework-go's [plugin.GenerateSignatureResponse] type. type GenerateSignatureResponse = plugin.GenerateSignatureResponse // GenerateEnvelopeRequest contains the parameters passed in a generate-envelope // request. // // Deprecated: GenerateEnvelopeRequest exists for historical compatibility and should not be used. // To access GenerateEnvelopeRequest, use the notation-plugin-framework-go's [plugin.GenerateEnvelopeRequest] type. type GenerateEnvelopeRequest = plugin.GenerateEnvelopeRequest // GenerateEnvelopeResponse is the response of a generate-envelope request. // // Deprecated: GenerateEnvelopeResponse exists for historical compatibility and should not be used. // To access GenerateEnvelopeResponse, use the notation-plugin-framework-go's [plugin.GenerateEnvelopeResponse] type. type GenerateEnvelopeResponse = plugin.GenerateEnvelopeResponse notation-go-1.2.1/plugin/proto/verify.go000066400000000000000000000051721466620631100202570ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package proto import ( "github.com/notaryproject/notation-plugin-framework-go/plugin" ) // VerifySignatureRequest contains the parameters passed in a verify-signature // request. // // Deprecated: VerifySignatureRequest exists for historical compatibility and should not be used. // To access VerifySignatureRequest, use the notation-plugin-framework-go'[s plugin.VerifySignatureRequest] type. type VerifySignatureRequest = plugin.VerifySignatureRequest // Signature represents a signature pulled from the envelope // // Deprecated: Signature exists for historical compatibility and should not be used. // To access Signature, use the notation-plugin-framework-go's [plugin.Signature] type. type Signature = plugin.Signature // CriticalAttributes contains all Notary Project defined critical // attributes and their values in the signature envelope // // Deprecated: CriticalAttributes exists for historical compatibility and should not be used. // To access CriticalAttributes, use the notation-plugin-framework-go's [plugin.CriticalAttributes] type. type CriticalAttributes = plugin.CriticalAttributes // TrustPolicy represents trusted identities that sign the artifacts // // Deprecated: TrustPolicy exists for historical compatibility and should not be used. // To access TrustPolicy, use the notation-plugin-framework-go's [plugin.TrustPolicy] type. type TrustPolicy = plugin.TrustPolicy // VerifySignatureResponse is the response of a verify-signature request. // // Deprecated: VerifySignatureResponse exists for historical compatibility and should not be used. // To access VerifySignatureResponse, use the notation-plugin-framework-go's [plugin.VerifySignatureResponse] type. type VerifySignatureResponse = plugin.VerifySignatureResponse // VerificationResult is the result of a verification performed by the plugin. // // Deprecated: VerificationResult exists for historical compatibility and should not be used. // To access VerificationResult, use the notation-plugin-framework-go's [plugin.VerificationResult] type. type VerificationResult = plugin.VerificationResult notation-go-1.2.1/plugin/testdata/000077500000000000000000000000001466620631100170655ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/main.go000066400000000000000000000015241466620631100203420ustar00rootroot00000000000000package main import ( "encoding/json" "flag" "os" ) func main() { flag.Parse() if flag.NArg() < 1 { os.Exit(1) } if flag.Arg(0) == "get-plugin-metadata" { // This does not import notation-go/plugin to simplify testing setup. m := struct { Name string `json:"name"` Description string `json:"description"` Version string `json:"version"` URL string `json:"url"` SupportedContractVersions []string `json:"supportedContractVersions"` Capabilities []string `json:"capabilities"` }{Name: "foo", Description: "friendly", Version: "1", URL: "example.com", SupportedContractVersions: []string{"1.0"}, Capabilities: []string{"cap"}} data, err := json.Marshal(&m) if err != nil { panic(err) } os.Stdout.Write(data) } } notation-go-1.2.1/plugin/testdata/plugins/000077500000000000000000000000001466620631100205465ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/badplugin/000077500000000000000000000000001466620631100225135ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/badplugin/notation-badplugin/000077500000000000000000000000001466620631100263115ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/badplugin/notation-badplugin/badplugin000066400000000000000000000000001466620631100301670ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/foo/000077500000000000000000000000001466620631100213315ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/foo/libfoo000066400000000000000000000000001466620631100225140ustar00rootroot00000000000000notation-go-1.2.1/plugin/testdata/plugins/foo/notation-foo000066400000000000000000000000001466620631100236560ustar00rootroot00000000000000notation-go-1.2.1/registry/000077500000000000000000000000001466620631100156265ustar00rootroot00000000000000notation-go-1.2.1/registry/interface.go000066400000000000000000000033621466620631100201210ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package registry provides access to signatures in a registry package registry import ( "context" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // Repository provides registry functionalities for storage and retrieval // of signature. type Repository interface { // Resolve resolves a reference(tag or digest) to a manifest descriptor Resolve(ctx context.Context, reference string) (ocispec.Descriptor, error) // ListSignatures returns signature manifests filtered by fn given the // target artifact's manifest descriptor ListSignatures(ctx context.Context, desc ocispec.Descriptor, fn func(signatureManifests []ocispec.Descriptor) error) error // FetchSignatureBlob returns signature envelope blob and descriptor for // given signature manifest descriptor FetchSignatureBlob(ctx context.Context, desc ocispec.Descriptor) ([]byte, ocispec.Descriptor, error) // PushSignature creates and uploads an signature manifest along with its // linked signature envelope blob. PushSignature(ctx context.Context, mediaType string, blob []byte, subject ocispec.Descriptor, annotations map[string]string) (blobDesc, manifestDesc ocispec.Descriptor, err error) } notation-go-1.2.1/registry/internal/000077500000000000000000000000001466620631100174425ustar00rootroot00000000000000notation-go-1.2.1/registry/internal/artifactspec/000077500000000000000000000000001466620631100221125ustar00rootroot00000000000000notation-go-1.2.1/registry/internal/artifactspec/artifact.go000066400000000000000000000036701466620631100242440ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package artifactspec import ocispec "github.com/opencontainers/image-spec/specs-go/v1" // MediaTypeArtifactManifest specifies the media type for a content descriptor. const MediaTypeArtifactManifest = "application/vnd.oci.artifact.manifest.v1+json" // Artifact describes an artifact manifest. // This structure provides `application/vnd.oci.artifact.manifest.v1+json` mediatype when marshalled to JSON. // // This manifest type was introduced in image-spec v1.1.0-rc1 and was removed in // image-spec v1.1.0-rc3. It is not part of the current image-spec and is kept // here for Go compatibility. // // Reference: https://github.com/opencontainers/image-spec/pull/999 type Artifact struct { // MediaType is the media type of the object this schema refers to. MediaType string `json:"mediaType"` // ArtifactType is the IANA media type of the artifact this schema refers to. ArtifactType string `json:"artifactType"` // Blobs is a collection of blobs referenced by this manifest. Blobs []ocispec.Descriptor `json:"blobs,omitempty"` // Subject (reference) is an optional link from the artifact to another manifest forming an association between the artifact and the other manifest. Subject *ocispec.Descriptor `json:"subject,omitempty"` // Annotations contains arbitrary metadata for the artifact manifest. Annotations map[string]string `json:"annotations,omitempty"` } notation-go-1.2.1/registry/mediatype.go000066400000000000000000000016021466620631100201350ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package registry // ArtifactTypeNotation specifies the artifact type for a notation object. // spec: https://github.com/notaryproject/notaryproject/blob/efc828223710f99ab9639d2d0f72d59036a8e80c/specs/signature-specification.md#storage const ArtifactTypeNotation = "application/vnd.cncf.notary.signature" notation-go-1.2.1/registry/repository.go000066400000000000000000000256601466620631100204050ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package registry import ( "bytes" "context" "encoding/json" "errors" "fmt" "os" "github.com/notaryproject/notation-go/registry/internal/artifactspec" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "oras.land/oras-go/v2" "oras.land/oras-go/v2/content" "oras.land/oras-go/v2/content/oci" "oras.land/oras-go/v2/errdef" "oras.land/oras-go/v2/registry" ) const ( maxBlobSizeLimit = 32 * 1024 * 1024 // 32 MiB maxManifestSizeLimit = 4 * 1024 * 1024 // 4 MiB ) var ( // notationEmptyConfigDesc is the descriptor of an empty notation manifest // config // reference: https://github.com/notaryproject/specifications/blob/v1.0.0/specs/signature-specification.md#storage notationEmptyConfigDesc = ocispec.Descriptor{ MediaType: ArtifactTypeNotation, Digest: ocispec.DescriptorEmptyJSON.Digest, Size: ocispec.DescriptorEmptyJSON.Size, } // notationEmptyConfigData is the data of an empty notation manifest config notationEmptyConfigData = ocispec.DescriptorEmptyJSON.Data ) // RepositoryOptions provides user options when creating a Repository // it is kept for future extensibility type RepositoryOptions struct{} // repositoryClient implements Repository type repositoryClient struct { oras.GraphTarget RepositoryOptions } // NewRepository returns a new Repository. // Known implementations of oras.GraphTarget: // - [remote.Repository](https://pkg.go.dev/oras.land/oras-go/v2/registry/remote#Repository) // - [oci.Store](https://pkg.go.dev/oras.land/oras-go/v2/content/oci#Store) func NewRepository(target oras.GraphTarget) Repository { return &repositoryClient{ GraphTarget: target, } } // NewRepositoryWithOptions returns a new Repository with user specified // options. func NewRepositoryWithOptions(target oras.GraphTarget, opts RepositoryOptions) Repository { return &repositoryClient{ GraphTarget: target, RepositoryOptions: opts, } } // NewOCIRepository returns a new Repository with oci.Store as // its oras.GraphTarget. `path` denotes directory path to the target OCI layout. func NewOCIRepository(path string, opts RepositoryOptions) (Repository, error) { fileInfo, err := os.Stat(path) if err != nil { return nil, fmt.Errorf("failed to create OCI store: %w", err) } if !fileInfo.IsDir() { return nil, fmt.Errorf("failed to create OCI store: the input path is not a directory") } ociStore, err := oci.New(path) if err != nil { return nil, fmt.Errorf("failed to create OCI store: %w", err) } return NewRepositoryWithOptions(ociStore, opts), nil } // Resolve resolves a reference(tag or digest) to a manifest descriptor func (c *repositoryClient) Resolve(ctx context.Context, reference string) (ocispec.Descriptor, error) { if repo, ok := c.GraphTarget.(registry.Repository); ok { return repo.Manifests().Resolve(ctx, reference) } return c.GraphTarget.Resolve(ctx, reference) } // ListSignatures returns signature manifests filtered by fn given the // target artifact's manifest descriptor func (c *repositoryClient) ListSignatures(ctx context.Context, desc ocispec.Descriptor, fn func(signatureManifests []ocispec.Descriptor) error) error { if repo, ok := c.GraphTarget.(registry.ReferrerLister); ok { return repo.Referrers(ctx, desc, ArtifactTypeNotation, fn) } signatureManifests, err := signatureReferrers(ctx, c.GraphTarget, desc) if err != nil { return fmt.Errorf("failed to get referrers during ListSignatures due to %w", err) } return fn(signatureManifests) } // FetchSignatureBlob returns signature envelope blob and descriptor given // signature manifest descriptor func (c *repositoryClient) FetchSignatureBlob(ctx context.Context, desc ocispec.Descriptor) ([]byte, ocispec.Descriptor, error) { sigBlobDesc, err := c.getSignatureBlobDesc(ctx, desc) if err != nil { return nil, ocispec.Descriptor{}, err } if sigBlobDesc.Size > maxBlobSizeLimit { return nil, ocispec.Descriptor{}, fmt.Errorf("signature blob too large: %d bytes", sigBlobDesc.Size) } var fetcher content.Fetcher = c.GraphTarget if repo, ok := c.GraphTarget.(registry.Repository); ok { fetcher = repo.Blobs() } sigBlob, err := content.FetchAll(ctx, fetcher, sigBlobDesc) if err != nil { return nil, ocispec.Descriptor{}, err } return sigBlob, sigBlobDesc, nil } // PushSignature creates and uploads an signature manifest along with its // linked signature envelope blob. Upon successful, PushSignature returns // signature envelope blob and manifest descriptors. func (c *repositoryClient) PushSignature(ctx context.Context, mediaType string, blob []byte, subject ocispec.Descriptor, annotations map[string]string) (blobDesc, manifestDesc ocispec.Descriptor, err error) { var pusher content.Pusher = c.GraphTarget if repo, ok := c.GraphTarget.(registry.Repository); ok { pusher = repo.Blobs() } blobDesc, err = oras.PushBytes(ctx, pusher, mediaType, blob) if err != nil { return ocispec.Descriptor{}, ocispec.Descriptor{}, err } manifestDesc, err = c.uploadSignatureManifest(ctx, subject, blobDesc, annotations) if err != nil { return ocispec.Descriptor{}, ocispec.Descriptor{}, err } return blobDesc, manifestDesc, nil } // getSignatureBlobDesc returns signature blob descriptor from // signature manifest blobs or layers given signature manifest descriptor func (c *repositoryClient) getSignatureBlobDesc(ctx context.Context, sigManifestDesc ocispec.Descriptor) (ocispec.Descriptor, error) { if sigManifestDesc.MediaType != artifactspec.MediaTypeArtifactManifest && sigManifestDesc.MediaType != ocispec.MediaTypeImageManifest { return ocispec.Descriptor{}, fmt.Errorf("sigManifestDesc.MediaType requires %q or %q, got %q", artifactspec.MediaTypeArtifactManifest, ocispec.MediaTypeImageManifest, sigManifestDesc.MediaType) } if sigManifestDesc.Size > maxManifestSizeLimit { return ocispec.Descriptor{}, fmt.Errorf("signature manifest too large: %d bytes", sigManifestDesc.Size) } // get the signature manifest from sigManifestDesc var fetcher content.Fetcher = c.GraphTarget if repo, ok := c.GraphTarget.(registry.Repository); ok { fetcher = repo.Manifests() } manifestJSON, err := content.FetchAll(ctx, fetcher, sigManifestDesc) if err != nil { return ocispec.Descriptor{}, err } // get the signature blob descriptor from signature manifest var signatureBlobs []ocispec.Descriptor // OCI image manifest if sigManifestDesc.MediaType == ocispec.MediaTypeImageManifest { var sigManifest ocispec.Manifest if err := json.Unmarshal(manifestJSON, &sigManifest); err != nil { return ocispec.Descriptor{}, err } signatureBlobs = sigManifest.Layers } else { // OCI artifact manifest var sigManifest artifactspec.Artifact if err := json.Unmarshal(manifestJSON, &sigManifest); err != nil { return ocispec.Descriptor{}, err } signatureBlobs = sigManifest.Blobs } if len(signatureBlobs) != 1 { return ocispec.Descriptor{}, fmt.Errorf("signature manifest requries exactly one signature envelope blob, got %d", len(signatureBlobs)) } return signatureBlobs[0], nil } // uploadSignatureManifest uploads the signature manifest to the registry func (c *repositoryClient) uploadSignatureManifest(ctx context.Context, subject, blobDesc ocispec.Descriptor, annotations map[string]string) (ocispec.Descriptor, error) { configDesc, err := pushNotationManifestConfig(ctx, c.GraphTarget) if err != nil { return ocispec.Descriptor{}, fmt.Errorf("failed to push notation manifest config: %w", err) } opts := oras.PackManifestOptions{ Subject: &subject, ManifestAnnotations: annotations, Layers: []ocispec.Descriptor{blobDesc}, ConfigDescriptor: &configDesc, } return oras.PackManifest(ctx, c.GraphTarget, oras.PackManifestVersion1_1, "", opts) } // pushNotationManifestConfig pushes an empty notation manifest config, if it // doesn't exist. // // if the config exists, it returns the descriptor of the config without error. func pushNotationManifestConfig(ctx context.Context, pusher content.Storage) (ocispec.Descriptor, error) { // check if the config exists exists, err := pusher.Exists(ctx, notationEmptyConfigDesc) if err != nil { return ocispec.Descriptor{}, fmt.Errorf("unable to verify existence: %s: %s. Details: %w", notationEmptyConfigDesc.Digest.String(), notationEmptyConfigDesc.MediaType, err) } if exists { return notationEmptyConfigDesc, nil } // return nil if the config pushed successfully or it already exists if err := pusher.Push(ctx, notationEmptyConfigDesc, bytes.NewReader(notationEmptyConfigData)); err != nil && !errors.Is(err, errdef.ErrAlreadyExists) { return ocispec.Descriptor{}, fmt.Errorf("unable to push: %s: %s. Details: %w", notationEmptyConfigDesc.Digest.String(), notationEmptyConfigDesc.MediaType, err) } return notationEmptyConfigDesc, nil } // signatureReferrers returns referrer nodes of desc in target filtered by // the "application/vnd.cncf.notary.signature" artifact type func signatureReferrers(ctx context.Context, target content.ReadOnlyGraphStorage, desc ocispec.Descriptor) ([]ocispec.Descriptor, error) { var results []ocispec.Descriptor predecessors, err := target.Predecessors(ctx, desc) if err != nil { return nil, err } for _, node := range predecessors { switch node.MediaType { case artifactspec.MediaTypeArtifactManifest: if node.Size > maxManifestSizeLimit { return nil, fmt.Errorf("referrer node too large: %d bytes", node.Size) } fetched, err := content.FetchAll(ctx, target, node) if err != nil { return nil, err } var artifact artifactspec.Artifact if err := json.Unmarshal(fetched, &artifact); err != nil { return nil, err } if artifact.Subject == nil || !content.Equal(*artifact.Subject, desc) { continue } node.ArtifactType = artifact.ArtifactType node.Annotations = artifact.Annotations case ocispec.MediaTypeImageManifest: if node.Size > maxManifestSizeLimit { return nil, fmt.Errorf("referrer node too large: %d bytes", node.Size) } fetched, err := content.FetchAll(ctx, target, node) if err != nil { return nil, err } var image ocispec.Manifest if err := json.Unmarshal(fetched, &image); err != nil { return nil, err } if image.Subject == nil || !content.Equal(*image.Subject, desc) { continue } node.ArtifactType = image.Config.MediaType node.Annotations = image.Annotations default: continue } // only keep nodes of "application/vnd.cncf.notary.signature" if node.ArtifactType == ArtifactTypeNotation { results = append(results, node) } } return results, nil } notation-go-1.2.1/registry/repository_test.go000066400000000000000000000631661466620631100214470ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package registry import ( "bytes" "context" "fmt" "io" "net/http" "net/url" "os" "path/filepath" "reflect" "runtime" "strings" "testing" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/internal/mock/ocilayout" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/registry/internal/artifactspec" "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "oras.land/oras-go/v2/content" "oras.land/oras-go/v2/content/memory" "oras.land/oras-go/v2/content/oci" "oras.land/oras-go/v2/registry" "oras.land/oras-go/v2/registry/remote" ) const ( zeroDigest = "sha256:0000000000000000000000000000000000000000000000000000000000000000" emptyConfigDigest = "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" validDigest = "6c3c624b58dbbcd3c0dd82b4c53f04194d1247c6eebdaab7c610cf7d66709b3b" validDigest2 = "1834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f2" invalidDigest = "invaliddigest" algo = "sha256" validDigestWithAlgo = algo + ":" + validDigest validDigestWithAlgo2 = algo + ":" + validDigest2 validHost = "localhost" validRegistry = validHost + ":5000" invalidHost = "badhost" invalidRegistry = invalidHost + ":5000" validRepo = "test" msg = "message" errMsg = "error message" validReference = validRegistry + "/" + validRepo + "@" + validDigestWithAlgo referenceWithInvalidHost = invalidRegistry + "/" + validRepo + "@" + validDigestWithAlgo invalidReference = "invalid reference" joseTag = "application/jose+json" coseTag = "application/cose" validTimestamp = "2022-07-29T02:23:10Z" validPage = ` { "Manifests": [ { "MediaType": "application/vnd.oci.image.manifest.v1+json", "Digest": "sha256:cf2a0974295fc17b8351ef52abae2f40212e20e0359ea980ec5597bb0315347b", "Size": 620, "ArtifactType": "application/vnd.cncf.notary.signature" } ] }` validPageDigest = "sha256:cf2a0974295fc17b8351ef52abae2f40212e20e0359ea980ec5597bb0315347b" validPageImage = ` { "Manifests": [ { "MediaType": "application/vnd.oci.image.manifest.v1+json", "Digest": "sha256:c8f1c1a1bdf099fbc1b70ec4b98da3d8704e27d863f1407db06aad1e022a32cf", "Size": 733, "ArtifactType": "application/vnd.cncf.notary.signature" } ] }` validPageImageDigest = "sha256:c8f1c1a1bdf099fbc1b70ec4b98da3d8704e27d863f1407db06aad1e022a32cf" validBlob = `{ "digest": "sha256:1834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f2", "size": 90 }` ) var ( validDigestWithAlgoSlice = []string{validDigestWithAlgo, validDigestWithAlgo2} signaturePath = filepath.FromSlash("../internal/testdata/jws_signature.sig") ) type args struct { ctx context.Context reference string remoteClient remote.Client plainHttp bool annotations map[string]string subjectManifest ocispec.Descriptor signature []byte signatureMediaType string signatureManifestDesc ocispec.Descriptor artifactManifestDesc ocispec.Descriptor } type mockRemoteClient struct { } func (c mockRemoteClient) Do(req *http.Request) (*http.Response, error) { switch req.URL.Path { case "/v2/test/manifests/" + validDigest: return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewReader([]byte(msg))), Header: map[string][]string{ "Content-Type": {joseTag}, "Docker-Content-Digest": {validDigestWithAlgo}, }, }, nil case "/v2/test/blobs/" + validDigestWithAlgo2: return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewReader([]byte(validBlob))), ContentLength: maxBlobSizeLimit + 1, Header: map[string][]string{ "Content-Type": {joseTag}, "Docker-Content-Digest": {validDigestWithAlgo2}, }, }, nil case "/v2/test/blobs/" + emptyConfigDigest: return &http.Response{ StatusCode: http.StatusNotFound, Body: io.NopCloser(bytes.NewReader([]byte{})), }, nil case "/v2/test/manifests/" + invalidDigest: return &http.Response{}, fmt.Errorf(errMsg) case "v2/test/manifest/" + validDigest2: return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewReader([]byte(validDigest2))), Header: map[string][]string{ "Content-Type": {joseTag}, "Docker-Content-Digest": {validDigestWithAlgo2}, }, }, nil case "/v2/test/blobs/uploads/": switch req.Host { case validRegistry: return &http.Response{ StatusCode: http.StatusAccepted, Body: io.NopCloser(bytes.NewReader([]byte(msg))), Request: &http.Request{ Header: map[string][]string{}, }, Header: map[string][]string{ "Location": {"test"}, }, }, nil default: return &http.Response{}, fmt.Errorf(msg) } case "/v2/test/referrers/": return &http.Response{ StatusCode: http.StatusOK, Header: http.Header{ "Content-Type": []string{ocispec.MediaTypeImageIndex}, }, Body: io.NopCloser(bytes.NewReader([]byte(validPage))), Request: &http.Request{ Method: "GET", URL: &url.URL{Path: "/v2/test/referrers/"}, }, }, nil case "/v2/test/referrers/" + validDigestWithAlgo: return &http.Response{ StatusCode: http.StatusOK, Header: http.Header{ "Content-Type": []string{ocispec.MediaTypeImageIndex}, }, Body: io.NopCloser(bytes.NewReader([]byte(validPage))), Request: &http.Request{ Method: "GET", URL: &url.URL{Path: "/v2/test/referrers/" + validDigestWithAlgo}, }, }, nil case "/v2/test/referrers/" + zeroDigest: return &http.Response{ StatusCode: http.StatusOK, Header: http.Header{ "Content-Type": []string{ocispec.MediaTypeImageIndex}, }, Body: io.NopCloser(bytes.NewReader([]byte(validPageImage))), Request: &http.Request{ Method: "GET", URL: &url.URL{Path: "/v2/test/referrers/" + zeroDigest}, }, }, nil case validRepo: return &http.Response{ StatusCode: http.StatusCreated, Body: io.NopCloser(bytes.NewReader([]byte(msg))), }, nil default: _, digest, found := strings.Cut(req.URL.Path, "/v2/test/manifests/") if found && !slices.Contains(validDigestWithAlgoSlice, digest) { resp := &http.Response{ StatusCode: http.StatusCreated, Body: io.NopCloser(bytes.NewReader([]byte(msg))), Header: http.Header{ "Content-Type": []string{joseTag}, "Oci-Subject": []string{validDigestWithAlgo}, }, } return resp, nil } return &http.Response{}, fmt.Errorf(errMsg) } } func TestResolve(t *testing.T) { tests := []struct { name string args args expect ocispec.Descriptor expectErr bool }{ { name: "failed to resolve", args: args{ ctx: context.Background(), reference: invalidReference, remoteClient: mockRemoteClient{}, plainHttp: false, }, expect: ocispec.Descriptor{}, expectErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { args := tt.args ref, _ := registry.ParseReference(args.reference) client := newRepositoryClient(args.remoteClient, ref, args.plainHttp) res, err := client.Resolve(args.ctx, args.reference) if (err != nil) != tt.expectErr { t.Errorf("error = %v, expectErr = %v", err, tt.expectErr) } if !reflect.DeepEqual(res, tt.expect) { t.Errorf("expect %+v, got %+v", tt.expect, res) } }) } } func TestFetchSignatureBlob(t *testing.T) { tests := []struct { name string args args expect []byte expectErr bool }{ { name: "failed to resolve", expect: nil, expectErr: true, args: args{ ctx: context.Background(), reference: validReference, remoteClient: mockRemoteClient{}, plainHttp: false, signatureManifestDesc: ocispec.Descriptor{ MediaType: artifactspec.MediaTypeArtifactManifest, Digest: digest.Digest(invalidDigest), }, }, }, { name: "exceed max blob size", expect: nil, expectErr: true, args: args{ ctx: context.Background(), reference: validReference, remoteClient: mockRemoteClient{}, plainHttp: false, signatureManifestDesc: ocispec.Descriptor{ MediaType: artifactspec.MediaTypeArtifactManifest, Digest: digest.Digest(validDigestWithAlgo2), }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { args := tt.args ref, _ := registry.ParseReference(args.reference) client := newRepositoryClient(args.remoteClient, ref, args.plainHttp) res, _, err := client.FetchSignatureBlob(args.ctx, args.signatureManifestDesc) if (err != nil) != tt.expectErr { t.Errorf("error = %v, expectErr = %v", err, tt.expectErr) } if !reflect.DeepEqual(res, tt.expect) { t.Errorf("expect %+v, got %+v", tt.expect, res) } }) } } func TestListSignatures(t *testing.T) { tests := []struct { name string args args expect []interface{} expectErr bool }{ { name: "successfully fetch content", expectErr: false, expect: nil, args: args{ ctx: context.Background(), reference: validReference, remoteClient: mockRemoteClient{}, plainHttp: false, artifactManifestDesc: ocispec.Descriptor{ MediaType: "application/vnd.oci.image.manifest.v1+json", Digest: validDigestWithAlgo, Size: 481, }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { args := tt.args ref, err := registry.ParseReference(args.reference) if err != nil { t.Fatal(err) } client := newRepositoryClient(args.remoteClient, ref, args.plainHttp) err = client.ListSignatures(args.ctx, args.artifactManifestDesc, func(signatureManifests []ocispec.Descriptor) error { if len(signatureManifests) != 1 { return fmt.Errorf("length of signatureManifests expected 1, got %d", len(signatureManifests)) } for _, sigManifest := range signatureManifests { sigManifestDigest := sigManifest.Digest.String() if sigManifestDigest != validPageDigest { return fmt.Errorf("signature manifest digest expected: %s, got %s", validPageDigest, sigManifestDigest) } } return nil }) if (err != nil) != tt.expectErr { t.Errorf("error = %v, expectErr = %v", err, tt.expectErr) } }) } } func TestPushSignature(t *testing.T) { signature, err := os.ReadFile(signaturePath) if err != nil { t.Fatalf("failed to read signature: %v", err) } tests := []struct { name string args args expectDes ocispec.Descriptor expectManifest ocispec.Descriptor expectErr bool }{ { name: "failed to upload signature", expectErr: true, args: args{ reference: referenceWithInvalidHost, signatureMediaType: joseTag, signature: signature, ctx: context.Background(), remoteClient: mockRemoteClient{}, }, }, { name: "successfully uploaded signature manifest", expectErr: false, args: args{ reference: validReference, signatureMediaType: joseTag, signature: signature, ctx: context.Background(), remoteClient: mockRemoteClient{}, subjectManifest: ocispec.Descriptor{ MediaType: "application/vnd.oci.image.manifest.v1+json", Digest: validDigestWithAlgo, Size: 481, }, annotations: map[string]string{ envelope.AnnotationX509ChainThumbprint: "[\"9f5f5aecee24b5cfdc7a91f6d5ac5c3a5348feb17c934d403f59ac251549ea0d\"]", }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { args := tt.args ref, _ := registry.ParseReference(args.reference) client := newRepositoryClient(args.remoteClient, ref, args.plainHttp) _, _, err := client.PushSignature(args.ctx, args.signatureMediaType, args.signature, args.subjectManifest, args.annotations) if (err != nil) != tt.expectErr { t.Errorf("error = %v, expectErr = %v", err, tt.expectErr) } }) } } func TestPushSignatureImageManifest(t *testing.T) { ref, err := registry.ParseReference(validReference) if err != nil { t.Fatalf("failed to parse reference") } client := newRepositoryClientWithImageManifest(mockRemoteClient{}, ref, false) signature, err := os.ReadFile(signaturePath) if err != nil { t.Fatalf("failed to read signature: %v", err) } _, manifestDesc, err := client.PushSignature(context.Background(), joseTag, signature, ocispec.Descriptor{}, annotations) if err != nil { t.Fatalf("failed to push signature") } if manifestDesc.MediaType != ocispec.MediaTypeImageManifest { t.Errorf("expect manifestDesc.MediaType: %v, got %v", ocispec.MediaTypeImageManifest, manifestDesc.MediaType) } } // newRepositoryClient creates a new repository client func newRepositoryClient(client remote.Client, ref registry.Reference, plainHTTP bool) *repositoryClient { repo := remote.Repository{ Client: client, Reference: ref, PlainHTTP: plainHTTP, } return &repositoryClient{ GraphTarget: &repo, } } // newRepositoryClientWithImageManifest creates a new repository client for // pushing OCI image manifest func newRepositoryClientWithImageManifest(client remote.Client, ref registry.Reference, plainHTTP bool) *repositoryClient { return &repositoryClient{ GraphTarget: &remote.Repository{ Client: client, Reference: ref, PlainHTTP: plainHTTP, }, } } var ( reference = "sha256:19dbd2e48e921426ee8ace4dc892edfb2ecdc1d1a72d5416c83670c30acecef0" expectedTargetDesc = ocispec.Descriptor{ MediaType: "application/vnd.oci.image.manifest.v1+json", Digest: "sha256:19dbd2e48e921426ee8ace4dc892edfb2ecdc1d1a72d5416c83670c30acecef0", Size: 481, } annotations = map[string]string{ envelope.AnnotationX509ChainThumbprint: "[\"9f5f5aecee24b5cfdc7a91f6d5ac5c3a5348feb17c934d403f59ac251549ea0d\"]", ocispec.AnnotationCreated: "2023-03-14T08:10:02Z", } expectedSignatureManifestDesc = ocispec.Descriptor{ MediaType: "application/vnd.oci.image.manifest.v1+json", Digest: "sha256:baeaea44f55c94499b7e082bd3c98ad5ec40fdf23ef89cdf4e5db6b83e4f18f5", Size: 728, } expectedSignatureBlobDesc = ocispec.Descriptor{ MediaType: joseTag, Digest: "sha256:586c5e0f341d7d07e835a06b7c9f21c21fff4f4a85933079e5859f99ba0ad02d", Size: 2078, } ) func TestOciLayoutRepositoryPushAndFetch(t *testing.T) { // create a temp OCI layout ociLayoutTestdataPath, err := filepath.Abs(filepath.Join("..", "internal", "testdata", "oci-layout")) if err != nil { t.Fatalf("failed to get oci layout path: %v", err) } newOCILayoutPath := t.TempDir() if err := ocilayout.Copy(ociLayoutTestdataPath, newOCILayoutPath, "v2"); err != nil { t.Fatalf("failed to create temp oci layout: %v", err) } repo, err := NewOCIRepository(newOCILayoutPath, RepositoryOptions{}) if err != nil { t.Fatalf("failed to create oci.Store as registry.Repository: %v", err) } // test resolve targetDesc, err := repo.Resolve(context.Background(), reference) if err != nil { t.Fatalf("failed to resolve reference: %v", err) } if !content.Equal(targetDesc, expectedTargetDesc) { t.Fatalf("failed to resolve reference. expected descriptor: %v, but got: %v", expectedTargetDesc, targetDesc) } t.Run("oci layout push", func(t *testing.T) { signature, err := os.ReadFile(signaturePath) if err != nil { t.Fatalf("failed to read signature: %v", err) } _, signatureManifestDesc, err := repo.PushSignature(context.Background(), joseTag, signature, targetDesc, annotations) if err != nil { t.Fatalf("failed to push signature: %v", err) } if !content.Equal(expectedSignatureManifestDesc, signatureManifestDesc) { t.Fatalf("expected desc: %v, got: %v", expectedSignatureManifestDesc, signatureManifestDesc) } expectedAnnotations := map[string]string{ envelope.AnnotationX509ChainThumbprint: "[\"9f5f5aecee24b5cfdc7a91f6d5ac5c3a5348feb17c934d403f59ac251549ea0d\"]", ocispec.AnnotationCreated: "2023-03-14T08:10:02Z", } if !reflect.DeepEqual(expectedAnnotations, signatureManifestDesc.Annotations) { t.Fatalf("expected annotations: %v, but got: %v", expectedAnnotations, signatureManifestDesc.Annotations) } }) t.Run("oci layout fetch", func(t *testing.T) { err = repo.ListSignatures(context.Background(), targetDesc, func(signatureManifests []ocispec.Descriptor) error { if len(signatureManifests) == 0 { return fmt.Errorf("expected to find signature in the OCI layout folder, but got none") } var found bool for _, sigManifestDesc := range signatureManifests { if !content.Equal(sigManifestDesc, expectedSignatureManifestDesc) { continue } _, sigDesc, err := repo.FetchSignatureBlob(context.Background(), sigManifestDesc) if err != nil { return fmt.Errorf("failed to fetch blob: %w", err) } if !content.Equal(expectedSignatureBlobDesc, sigDesc) { return fmt.Errorf("expected to get signature blob desc: %v, got: %v", expectedSignatureBlobDesc, sigDesc) } found = true } if !found { return fmt.Errorf("expected to find the signature with manifest desc: %v, but failed", expectedSignatureManifestDesc) } return nil }) if err != nil { t.Fatal(err) } }) } func TestNewRepository(t *testing.T) { target, err := oci.New(t.TempDir()) if err != nil { t.Fatalf("failed to create oci.Store as registry.Repository: %v", err) } repo := NewRepository(target) if repo == nil { t.Fatalf("failed to create repository") } repoClient, ok := repo.(*repositoryClient) if !ok { t.Fatalf("failed to create repositoryClient") } if target != repoClient.GraphTarget { t.Fatalf("expected target: %v, got: %v", target, repoClient.GraphTarget) } } func TestNewOCIRepositoryFailed(t *testing.T) { t.Run("os stat failed", func(t *testing.T) { _, err := NewOCIRepository("invalid-path", RepositoryOptions{}) if err == nil { t.Fatalf("expected to fail with invalid path") } }) t.Run("path is regular file", func(t *testing.T) { // create a regular file in the temp dir filePath := filepath.Join(t.TempDir(), "file") file, err := os.Create(filePath) if err != nil { t.Fatalf("failed to create file: %v", err) } file.Close() _, err = NewOCIRepository(filePath, RepositoryOptions{}) if err == nil { t.Fatalf("expected to fail with regular file") } }) t.Run("no permission to create new path", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } // create a directory in the temp dir dirPath := filepath.Join(t.TempDir(), "dir") err := os.Mkdir(dirPath, 0000) if err != nil { t.Fatalf("failed to create dir: %v", err) } _, err = NewOCIRepository(dirPath, RepositoryOptions{}) if err == nil { t.Fatalf("expected to fail with no permission to create new path") } }) } // testStorage implements content.ReadOnlyGraphStorage type testStorage struct { store *memory.Store FetchError error FetchContent []byte PredecessorsError error PredecessorsDesc []ocispec.Descriptor } func (s *testStorage) Push(ctx context.Context, expected ocispec.Descriptor, reader io.Reader) error { return s.store.Push(ctx, expected, reader) } func (s *testStorage) Fetch(ctx context.Context, target ocispec.Descriptor) (io.ReadCloser, error) { if s.FetchError != nil { return nil, s.FetchError } return io.NopCloser(bytes.NewReader(s.FetchContent)), nil } func (s *testStorage) Exists(ctx context.Context, target ocispec.Descriptor) (bool, error) { return s.store.Exists(ctx, target) } func (s *testStorage) Predecessors(ctx context.Context, node ocispec.Descriptor) ([]ocispec.Descriptor, error) { if s.PredecessorsError != nil { return nil, s.PredecessorsError } return s.PredecessorsDesc, nil } func TestSignatureReferrers(t *testing.T) { t.Run("get predecessors failed", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsError: fmt.Errorf("failed to get predecessors"), } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{}) if err == nil { t.Fatalf("expected to fail with getting predecessors") } }) t.Run("artifact manifest exceds max blob size", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: validDigestWithAlgo2, MediaType: "application/vnd.oci.artifact.manifest.v1+json", Size: 4*1024*1024 + 1, }, }, } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: validDigestWithAlgo2, }) if err == nil { t.Fatalf("expected to fail with artifact manifest exceds max blob size") } }) t.Run("image manifest exceds max blob size", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: validDigestWithAlgo2, MediaType: "application/vnd.oci.image.manifest.v1+json", Size: 4*1024*1024 + 1, }, }, } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: validDigestWithAlgo2, }) if err == nil { t.Fatalf("expected to fail with image manifest exceds max blob size") } }) t.Run("artifact manifest fetchAll failed", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: validDigestWithAlgo, MediaType: "application/vnd.oci.artifact.manifest.v1+json", Size: 481, }, }, FetchError: fmt.Errorf("failed to fetch all"), } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: validDigestWithAlgo, }) if err == nil { t.Fatalf("expected to fail with fetchAll failed") } }) t.Run("image manifest fetchAll failed", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: validDigestWithAlgo, MediaType: "application/vnd.oci.image.manifest.v1+json", Size: 481, }, }, FetchError: fmt.Errorf("failed to fetch all"), } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: validDigestWithAlgo, }) if err == nil { t.Fatalf("expected to fail with fetchAll failed") } }) t.Run("artifact manifest marshal failed", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: "sha256:24aafc739daae02bcd33471a1b28bcfaaef0bb5e530ef44cd4e5d2445e606690", MediaType: "application/vnd.oci.artifact.manifest.v1+json", Size: 15, }, }, FetchContent: []byte("invalid content"), } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: "sha256:24aafc739daae02bcd33471a1b28bcfaaef0bb5e530ef44cd4e5d2445e606690", }) if err == nil { t.Fatalf("expected to fail with marshal failed") } }) t.Run("image manifest marshal failed", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: "sha256:24aafc739daae02bcd33471a1b28bcfaaef0bb5e530ef44cd4e5d2445e606690", MediaType: "application/vnd.oci.image.manifest.v1+json", Size: 15, }, }, FetchContent: []byte("invalid content"), } _, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: "sha256:24aafc739daae02bcd33471a1b28bcfaaef0bb5e530ef44cd4e5d2445e606690", }) if err == nil { t.Fatalf("expected to fail with marshal failed") } }) t.Run("no valid artifact manifest", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", MediaType: "application/vnd.oci.artifact.manifest.v1+json", Size: 2, }, }, FetchContent: []byte("{}"), } descriptors, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", }) if err != nil { t.Fatalf("failed to get referrers: %v", err) } if len(descriptors) != 0 { t.Fatalf("expected to get no referrers, but got: %v", descriptors) } }) t.Run("no valid image manifest", func(t *testing.T) { store := &testStorage{ store: &memory.Store{}, PredecessorsDesc: []ocispec.Descriptor{ { Digest: "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", MediaType: "application/vnd.oci.image.manifest.v1+json", Size: 2, }, }, FetchContent: []byte("{}"), } descriptors, err := signatureReferrers(context.Background(), store, ocispec.Descriptor{ Digest: "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", }) if err != nil { t.Fatalf("failed to get referrers: %v", err) } if len(descriptors) != 0 { t.Fatalf("expected to get no referrers, but got: %v", descriptors) } }) } notation-go-1.2.1/signer/000077500000000000000000000000001466620631100152455ustar00rootroot00000000000000notation-go-1.2.1/signer/plugin.go000066400000000000000000000277231466620631100171050ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package signer import ( "context" "crypto/x509" "encoding/json" "errors" "fmt" "time" "oras.land/oras-go/v2/content" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-go/plugin/proto" "github.com/notaryproject/notation-plugin-framework-go/plugin" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // PluginSigner signs artifacts and generates signatures. // It implements notation.Signer type PluginSigner struct { plugin plugin.SignPlugin keyID string pluginConfig map[string]string manifestAnnotations map[string]string } // NewFromPlugin creates a notation.Signer that signs artifacts and generates // signatures by delegating the one or more operations to the named plugin, // as defined in https://github.com/notaryproject/notaryproject/blob/main/specs/plugin-extensibility.md#signing-interfaces. // // Deprecated: NewFromPlugin function exists for historical compatibility and should not be used. // To create PluginSigner, use NewPluginSigner() function. func NewFromPlugin(plugin plugin.SignPlugin, keyID string, pluginConfig map[string]string) (notation.Signer, error) { return NewPluginSigner(plugin, keyID, pluginConfig) } // NewPluginSigner creates a notation.Signer that signs artifacts and generates // signatures by delegating the one or more operations to the named plugin, // as defined in https://github.com/notaryproject/notaryproject/blob/main/specs/plugin-extensibility.md#signing-interfaces. func NewPluginSigner(plugin plugin.SignPlugin, keyID string, pluginConfig map[string]string) (*PluginSigner, error) { if plugin == nil { return nil, errors.New("nil plugin") } if keyID == "" { return nil, errors.New("keyID not specified") } return &PluginSigner{ plugin: plugin, keyID: keyID, pluginConfig: pluginConfig, }, nil } // PluginAnnotations returns signature manifest annotations returned from plugin func (s *PluginSigner) PluginAnnotations() map[string]string { return s.manifestAnnotations } // Sign signs the artifact described by its descriptor and returns the // marshalled envelope. func (s *PluginSigner) Sign(ctx context.Context, desc ocispec.Descriptor, opts notation.SignerSignOptions) ([]byte, *signature.SignerInfo, error) { logger := log.GetLogger(ctx) mergedConfig := s.mergeConfig(opts.PluginConfig) logger.Debug("Invoking plugin's get-plugin-metadata command") metadata, err := s.plugin.GetMetadata(ctx, &plugin.GetMetadataRequest{PluginConfig: mergedConfig}) if err != nil { return nil, nil, err } logger.Debugf("Using plugin %v with capabilities %v to sign oci artifact %v in signature media type %v", metadata.Name, metadata.Capabilities, desc.Digest, opts.SignatureMediaType) if metadata.HasCapability(plugin.CapabilitySignatureGenerator) { ks, err := s.getKeySpec(ctx, mergedConfig) if err != nil { return nil, nil, fmt.Errorf("failed to sign with the plugin %s: %w", metadata.Name, err) } sig, signerInfo, err := s.generateSignature(ctx, desc, opts, ks, metadata, mergedConfig) if err != nil { return nil, nil, fmt.Errorf("failed to sign with the plugin %s: %w", metadata.Name, err) } return sig, signerInfo, nil } else if metadata.HasCapability(plugin.CapabilityEnvelopeGenerator) { sig, signerInfo, err := s.generateSignatureEnvelope(ctx, desc, opts) if err != nil { return nil, nil, fmt.Errorf("failed to sign with the plugin %s: %w", metadata.Name, err) } return sig, signerInfo, nil } return nil, nil, fmt.Errorf("plugin does not have signing capabilities") } func (s *PluginSigner) getKeySpec(ctx context.Context, config map[string]string) (signature.KeySpec, error) { logger := log.GetLogger(ctx) logger.Debug("Invoking plugin's describe-key command") descKeyResp, err := s.describeKey(ctx, config) if err != nil { return signature.KeySpec{}, err } if s.keyID != descKeyResp.KeyID { return signature.KeySpec{}, fmt.Errorf("keyID in describeKey response %q does not match request %q", descKeyResp.KeyID, s.keyID) } return proto.DecodeKeySpec(descKeyResp.KeySpec) } func (s *PluginSigner) generateSignature(ctx context.Context, desc ocispec.Descriptor, opts notation.SignerSignOptions, ks signature.KeySpec, metadata *plugin.GetMetadataResponse, pluginConfig map[string]string) ([]byte, *signature.SignerInfo, error) { logger := log.GetLogger(ctx) logger.Debug("Generating signature by plugin") genericSigner := GenericSigner{ signer: &pluginPrimitiveSigner{ ctx: ctx, plugin: s.plugin, keyID: s.keyID, pluginConfig: pluginConfig, keySpec: ks, }, } opts.SigningAgent = fmt.Sprintf("%s %s/%s", signingAgent, metadata.Name, metadata.Version) return genericSigner.Sign(ctx, desc, opts) } func (s *PluginSigner) generateSignatureEnvelope(ctx context.Context, desc ocispec.Descriptor, opts notation.SignerSignOptions) ([]byte, *signature.SignerInfo, error) { logger := log.GetLogger(ctx) logger.Debug("Generating signature envelope by plugin") payload := envelope.Payload{TargetArtifact: envelope.SanitizeTargetArtifact(desc)} payloadBytes, err := json.Marshal(payload) if err != nil { return nil, nil, fmt.Errorf("envelope payload can't be marshalled: %w", err) } // Execute plugin sign command. req := &plugin.GenerateEnvelopeRequest{ ContractVersion: plugin.ContractVersion, KeyID: s.keyID, Payload: payloadBytes, SignatureEnvelopeType: opts.SignatureMediaType, PayloadType: envelope.MediaTypePayloadV1, ExpiryDurationInSeconds: uint64(opts.ExpiryDuration / time.Second), PluginConfig: s.mergeConfig(opts.PluginConfig), } resp, err := s.plugin.GenerateEnvelope(ctx, req) if err != nil { return nil, nil, fmt.Errorf("plugin failed to sign with following error: %w", err) } // Check signatureEnvelopeType is honored. if resp.SignatureEnvelopeType != req.SignatureEnvelopeType { return nil, nil, fmt.Errorf( "signatureEnvelopeType in generateEnvelope response %q does not match request %q", resp.SignatureEnvelopeType, req.SignatureEnvelopeType, ) } logger.Debug("Verifying signature envelope generated by the plugin") sigEnv, err := signature.ParseEnvelope(opts.SignatureMediaType, resp.SignatureEnvelope) if err != nil { return nil, nil, err } envContent, err := sigEnv.Verify() if err != nil { return nil, nil, fmt.Errorf("generated signature failed verification: %w", err) } if err := envelope.ValidatePayloadContentType(&envContent.Payload); err != nil { return nil, nil, err } content := envContent.Payload.Content var signedPayload envelope.Payload if err = json.Unmarshal(content, &signedPayload); err != nil { return nil, nil, fmt.Errorf("signed envelope payload can't be unmarshalled: %w", err) } if !isPayloadDescriptorValid(desc, signedPayload.TargetArtifact) { return nil, nil, fmt.Errorf("during signing descriptor subject has changed from %+v to %+v", desc, signedPayload.TargetArtifact) } if unknownAttributes := areUnknownAttributesAdded(content); len(unknownAttributes) != 0 { return nil, nil, fmt.Errorf("during signing, following unknown attributes were added to subject descriptor: %+q", unknownAttributes) } s.manifestAnnotations = resp.Annotations return resp.SignatureEnvelope, &envContent.SignerInfo, nil } func (s *PluginSigner) mergeConfig(config map[string]string) map[string]string { c := make(map[string]string, len(s.pluginConfig)+len(config)) // First clone s.PluginConfig. for k, v := range s.pluginConfig { c[k] = v } // Then set or override entries from config. for k, v := range config { c[k] = v } return c } func (s *PluginSigner) describeKey(ctx context.Context, config map[string]string) (*plugin.DescribeKeyResponse, error) { req := &plugin.DescribeKeyRequest{ ContractVersion: plugin.ContractVersion, KeyID: s.keyID, PluginConfig: config, } resp, err := s.plugin.DescribeKey(ctx, req) if err != nil { return nil, err } return resp, nil } // isDescriptorSubset checks if the both descriptors point to the same // resource and that newDesc hasn't replaced or overridden existing annotations. func isDescriptorSubset(original, newDesc ocispec.Descriptor) bool { if !content.Equal(original, newDesc) { return false } // Plugins may append additional annotations but not replace/override // existing. for k, v := range original.Annotations { if v2, ok := newDesc.Annotations[k]; !ok || v != v2 { return false } } return true } func isPayloadDescriptorValid(originalDesc, newDesc ocispec.Descriptor) bool { return content.Equal(originalDesc, newDesc) && isDescriptorSubset(originalDesc, newDesc) } func areUnknownAttributesAdded(content []byte) []string { var targetArtifactMap map[string]interface{} // Ignoring error because we already successfully unmarshalled before this // point _ = json.Unmarshal(content, &targetArtifactMap) descriptor := targetArtifactMap["targetArtifact"].(map[string]interface{}) // Explicitly remove expected keys to check if any are left over delete(descriptor, "mediaType") delete(descriptor, "digest") delete(descriptor, "size") delete(descriptor, "urls") delete(descriptor, "annotations") delete(descriptor, "data") delete(descriptor, "platform") delete(descriptor, "artifactType") delete(targetArtifactMap, "targetArtifact") unknownAttributes := append(getKeySet(descriptor), getKeySet(targetArtifactMap)...) return unknownAttributes } func getKeySet(inputMap map[string]interface{}) []string { keySet := make([]string, 0, len(inputMap)) for k := range inputMap { keySet = append(keySet, k) } return keySet } func parseCertChain(certChain [][]byte) ([]*x509.Certificate, error) { certs := make([]*x509.Certificate, len(certChain)) for i, cert := range certChain { cert, err := x509.ParseCertificate(cert) if err != nil { return nil, err } certs[i] = cert } return certs, nil } // pluginPrimitiveSigner implements signature.Signer type pluginPrimitiveSigner struct { ctx context.Context plugin plugin.SignPlugin keyID string pluginConfig map[string]string keySpec signature.KeySpec } // Sign signs the digest by calling the underlying plugin. func (s *pluginPrimitiveSigner) Sign(payload []byte) ([]byte, []*x509.Certificate, error) { // Execute plugin sign command. keySpec, err := proto.EncodeKeySpec(s.keySpec) if err != nil { return nil, nil, err } keySpecHash, err := proto.HashAlgorithmFromKeySpec(s.keySpec) if err != nil { return nil, nil, err } req := &plugin.GenerateSignatureRequest{ ContractVersion: plugin.ContractVersion, KeyID: s.keyID, KeySpec: keySpec, Hash: keySpecHash, Payload: payload, PluginConfig: s.pluginConfig, } resp, err := s.plugin.GenerateSignature(s.ctx, req) if err != nil { return nil, nil, err } // Check keyID is honored. if req.KeyID != resp.KeyID { return nil, nil, fmt.Errorf("keyID in generateSignature response %q does not match request %q", resp.KeyID, req.KeyID) } var certs []*x509.Certificate if certs, err = parseCertChain(resp.CertificateChain); err != nil { return nil, nil, err } return resp.Signature, certs, nil } // KeySpec returns the keySpec of a keyID by calling describeKey and do some // keySpec validation. func (s *pluginPrimitiveSigner) KeySpec() (signature.KeySpec, error) { return s.keySpec, nil } notation-go-1.2.1/signer/plugin_test.go000066400000000000000000000365761466620631100201520ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package signer import ( "context" "crypto" "crypto/x509" "encoding/json" "errors" "fmt" "reflect" "strings" "testing" "time" "github.com/notaryproject/notation-core-go/signature" _ "github.com/notaryproject/notation-core-go/signature/cose" _ "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/plugin" "github.com/notaryproject/notation-go/plugin/proto" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) var ( validMetadata = proto.GetMetadataResponse{ Name: "testPlugin", Description: "plugin for test", Version: "1.0", URL: "test.com", SupportedContractVersions: []string{proto.ContractVersion}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, } validSignDescriptor, validSignOpts = generateSigningContent() invalidSignatureEnvelope = []byte("invalid") ) var ( defaultKeyCert *keyCertPair defaultKeySpec signature.KeySpec ) func init() { keyCertPairCollections = setUpKeyCertPairCollections() defaultKeyCert = keyCertPairCollections[0] defaultKeySpec, _ = signature.ExtractKeySpec(defaultKeyCert.certs[0]) } type mockPlugin struct { failEnvelope bool wantEnvelope bool invalidSig bool invalidCertChain bool invalidDescriptor bool annotations map[string]string key crypto.PrivateKey certs []*x509.Certificate keySpec signature.KeySpec } func newMockPlugin(key crypto.PrivateKey, certs []*x509.Certificate, keySpec signature.KeySpec) *mockPlugin { return &mockPlugin{ key: key, certs: certs, keySpec: keySpec, } } func (p *mockPlugin) GetMetadata(ctx context.Context, req *proto.GetMetadataRequest) (*proto.GetMetadataResponse, error) { if p.wantEnvelope { return &proto.GetMetadataResponse{ Name: "testPlugin", Version: "1.0", SupportedContractVersions: []string{proto.ContractVersion}, Capabilities: []proto.Capability{proto.CapabilityEnvelopeGenerator}, }, nil } return &proto.GetMetadataResponse{ Name: "testPlugin", Version: "1.0", SupportedContractVersions: []string{proto.ContractVersion}, Capabilities: []proto.Capability{proto.CapabilitySignatureGenerator}, }, nil } // DescribeKey returns the KeySpec of a key. func (p *mockPlugin) DescribeKey(ctx context.Context, req *proto.DescribeKeyRequest) (*proto.DescribeKeyResponse, error) { ks, _ := proto.EncodeKeySpec(p.keySpec) return &proto.DescribeKeyResponse{ KeySpec: ks, }, nil } // GenerateSignature generates the raw signature based on the request. func (p *mockPlugin) GenerateSignature(ctx context.Context, req *proto.GenerateSignatureRequest) (*proto.GenerateSignatureResponse, error) { sig, err := localSign(req.Payload, p.keySpec.SignatureAlgorithm().Hash(), p.key) var certChain [][]byte for _, cert := range p.certs { certChain = append(certChain, cert.Raw) } sigAlg, _ := proto.EncodeSigningAlgorithm(p.keySpec.SignatureAlgorithm()) if p.invalidSig { return &proto.GenerateSignatureResponse{ KeyID: req.KeyID, Signature: invalidSignatureEnvelope, SigningAlgorithm: sigAlg, CertificateChain: certChain, }, err } if p.invalidCertChain { return &proto.GenerateSignatureResponse{ KeyID: req.KeyID, Signature: sig, CertificateChain: [][]byte{{}, {}}, }, err } return &proto.GenerateSignatureResponse{ KeyID: req.KeyID, Signature: sig, CertificateChain: certChain, }, nil } // GenerateEnvelope generates the Envelope with signature based on the request. func (p *mockPlugin) GenerateEnvelope(ctx context.Context, req *proto.GenerateEnvelopeRequest) (*proto.GenerateEnvelopeResponse, error) { internalPluginSigner := PluginSigner{ plugin: newMockPlugin(p.key, p.certs, p.keySpec), } if p.failEnvelope { return nil, errors.New("failed GenerateEnvelope") } if p.invalidDescriptor { var payload map[string]interface{} if err := json.Unmarshal(req.Payload, &payload); err != nil { return nil, err } payload["additional_field"] = "some_string" updatedPayload, err := json.Marshal(payload) if err != nil { return nil, err } primitivePluginSigner := &pluginPrimitiveSigner{ ctx: ctx, plugin: internalPluginSigner.plugin, keyID: internalPluginSigner.keyID, pluginConfig: req.PluginConfig, keySpec: p.keySpec, } signReq := &signature.SignRequest{ Payload: signature.Payload{ ContentType: envelope.MediaTypePayloadV1, Content: updatedPayload, }, Signer: primitivePluginSigner, SigningTime: time.Now(), ExtendedSignedAttributes: nil, SigningScheme: signature.SigningSchemeX509, SigningAgent: "testing agent", } sigEnv, err := signature.NewEnvelope(req.SignatureEnvelopeType) if err != nil { return nil, err } sig, err := sigEnv.Sign(signReq) return &proto.GenerateEnvelopeResponse{ SignatureEnvelope: sig, SignatureEnvelopeType: req.SignatureEnvelopeType, }, err } if p.wantEnvelope { var payload envelope.Payload if err := json.Unmarshal(req.Payload, &payload); err != nil { return nil, err } validSignOpts.SignatureMediaType = req.SignatureEnvelopeType data, _, err := internalPluginSigner.Sign(ctx, payload.TargetArtifact, validSignOpts) if err != nil { return nil, err } return &proto.GenerateEnvelopeResponse{ SignatureEnvelope: data, SignatureEnvelopeType: req.SignatureEnvelopeType, Annotations: p.annotations, }, nil } return &proto.GenerateEnvelopeResponse{}, nil } func TestNewFromPluginFailed(t *testing.T) { tests := map[string]struct { pl plugin.SignPlugin keyID string errMsg string }{ "Invalid KeyID": { pl: &plugin.CLIPlugin{}, keyID: "", errMsg: "keyID not specified", }, "nilPlugin": { pl: nil, keyID: "someKeyId", errMsg: "nil plugin", }, } for name, tc := range tests { t.Run(name, func(t *testing.T) { _, err := NewFromPlugin(tc.pl, tc.keyID, make(map[string]string)) if err == nil || err.Error() != tc.errMsg { t.Fatalf("TestNewFromPluginFailed expects error %q, got %q", tc.errMsg, err.Error()) } }) } } func TestSigner_Sign_EnvelopeNotSupported(t *testing.T) { signer := PluginSigner{ plugin: newMockPlugin(nil, nil, signature.KeySpec{Type: signature.KeyTypeRSA, Size: 2048}), } opts := notation.SignerSignOptions{SignatureMediaType: "unsupported"} testSignerError(t, signer, fmt.Sprintf("signature envelope format with media type %q is not supported", opts.SignatureMediaType), opts) } func TestSigner_Sign_DescribeKeyIDMismatch(t *testing.T) { respKeyId := "" for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { signer := PluginSigner{ plugin: newMockPlugin(nil, nil, signature.KeySpec{}), keyID: "1", } testSignerError(t, signer, fmt.Sprintf("keyID in describeKey response %q does not match request %q", respKeyId, signer.keyID), notation.SignerSignOptions{SignatureMediaType: envelopeType}) }) } } func TestSigner_Sign_ExpiryInValid(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { ks, _ := signature.ExtractKeySpec(keyCertPairCollections[0].certs[0]) signer := PluginSigner{ plugin: newMockPlugin(keyCertPairCollections[0].key, keyCertPairCollections[0].certs, ks), } _, _, err := signer.Sign(context.Background(), ocispec.Descriptor{}, notation.SignerSignOptions{ExpiryDuration: -24 * time.Hour, SignatureMediaType: envelopeType}) wantEr := "expiry cannot be equal or before the signing time" if err == nil || !strings.Contains(err.Error(), wantEr) { t.Errorf("Signer.Sign() error = %v, wantErr %v", err, wantEr) } }) } } func TestSigner_Sign_InvalidCertChain(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { mockPlugin := newMockPlugin(defaultKeyCert.key, defaultKeyCert.certs, defaultKeySpec) mockPlugin.invalidCertChain = true signer := PluginSigner{ plugin: mockPlugin, } testSignerError(t, signer, "x509: malformed certificate", notation.SignerSignOptions{SignatureMediaType: envelopeType}) }) } } func TestSigner_Sign_InvalidDescriptor(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { mockPlugin := newMockPlugin(defaultKeyCert.key, defaultKeyCert.certs, defaultKeySpec) mockPlugin.wantEnvelope = true mockPlugin.invalidDescriptor = true signer := PluginSigner{ plugin: mockPlugin, } testSignerError(t, signer, "during signing, following unknown attributes were added to subject descriptor: [\"additional_field\"]", notation.SignerSignOptions{SignatureMediaType: envelopeType}) }) } } func TestPluginSigner_Sign_SignatureVerifyError(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { mockPlugin := newMockPlugin(defaultKeyCert.key, defaultKeyCert.certs, defaultKeySpec) mockPlugin.invalidSig = true signer := PluginSigner{ plugin: mockPlugin, } testSignerError(t, signer, "signature is invalid", notation.SignerSignOptions{SignatureMediaType: envelopeType}) }) } } func TestPluginSigner_Sign_Valid(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("external plugin,envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { keySpec, _ := proto.DecodeKeySpec(proto.KeySpec(keyCert.keySpecName)) pluginSigner := PluginSigner{ plugin: newMockPlugin(keyCert.key, keyCert.certs, keySpec), } validSignOpts.SignatureMediaType = envelopeType data, signerInfo, err := pluginSigner.Sign(context.Background(), validSignDescriptor, validSignOpts) basicSignTest(t, &pluginSigner, envelopeType, data, signerInfo, err) }) } } } func TestPluginSigner_SignEnvelope_RunFailed(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { t.Run(fmt.Sprintf("envelopeType=%v", envelopeType), func(t *testing.T) { p := &mockPlugin{ wantEnvelope: true, failEnvelope: true, } signer := PluginSigner{ plugin: p, } testSignerError(t, signer, "failed GenerateEnvelope", notation.SignerSignOptions{SignatureMediaType: envelopeType}) }) } } func TestPluginSigner_SignEnvelope_Valid(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("envelopeType=%v, keySpec: %v", envelopeType, keyCert.keySpecName), func(t *testing.T) { keySpec, _ := proto.DecodeKeySpec(proto.KeySpec(keyCert.keySpecName)) mockPlugin := newMockPlugin(keyCert.key, keyCert.certs, keySpec) mockPlugin.wantEnvelope = true pluginSigner := PluginSigner{ plugin: mockPlugin, } validSignOpts.SignatureMediaType = envelopeType data, signerInfo, err := pluginSigner.Sign(context.Background(), validSignDescriptor, validSignOpts) basicSignTest(t, &pluginSigner, envelopeType, data, signerInfo, err) }) } } } func TestPluginSigner_SignWithAnnotations_Valid(t *testing.T) { for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("external plugin,envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { keySpec, _ := proto.DecodeKeySpec(proto.KeySpec(keyCert.keySpecName)) annts := map[string]string{"key": "value"} pluginSigner := PluginSigner{ plugin: &mockPlugin{ key: keyCert.key, certs: keyCert.certs, keySpec: keySpec, annotations: map[string]string{"key": "value"}, wantEnvelope: true, }, } validSignOpts.SignatureMediaType = envelopeType data, signerInfo, err := pluginSigner.Sign(context.Background(), validSignDescriptor, validSignOpts) basicSignTest(t, &pluginSigner, envelopeType, data, signerInfo, err) if !reflect.DeepEqual(pluginSigner.PluginAnnotations(), annts) { fmt.Println(pluginSigner.PluginAnnotations()) t.Errorf("mismatch in annotations returned from PluginAnnotations()") } }) } } } func testSignerError(t *testing.T, signer PluginSigner, wantEr string, opts notation.SignerSignOptions) { t.Helper() _, _, err := signer.Sign(context.Background(), ocispec.Descriptor{}, opts) if err == nil || !strings.Contains(err.Error(), wantEr) { t.Errorf("Signer.Sign() error = %v, wantErr %v", err, wantEr) } } func basicSignTest(t *testing.T, ps *PluginSigner, envelopeType string, data []byte, signerInfo *signature.SignerInfo, err error) { if err != nil { t.Fatalf("Signer.Sign() error = %v, wantErr nil", err) } env, err := signature.ParseEnvelope(envelopeType, data) if err != nil { t.Fatal(err) } envContent, err := env.Verify() if err != nil { t.Fatal(err) } if err := envelope.ValidatePayloadContentType(&envContent.Payload); err != nil { t.Fatalf("verification failed. error = %v", err) } payload := envContent.Payload if payload.ContentType != envelope.MediaTypePayloadV1 { t.Fatalf("Signer.Sign() Payload content type changed, expect: %v, got: %v", payload.ContentType, envelope.MediaTypePayloadV1) } var gotPayload envelope.Payload if err := json.Unmarshal(payload.Content, &gotPayload); err != nil { t.Fatalf("Signer.Sign() Unmarshal payload failed: %v", err) } expectedPayload := envelope.Payload{ TargetArtifact: validSignDescriptor, } if !reflect.DeepEqual(expectedPayload, gotPayload) { t.Fatalf("Signer.Sign() descriptor subject changed, expect: %+v, got: %+v", expectedPayload, payload) } if signerInfo.SignedAttributes.SigningScheme != signature.SigningSchemeX509 { t.Fatalf("Signer.Sign() signing scheme changed, expect: %+v, got: %+v", signerInfo.SignedAttributes.SigningScheme, signature.SigningSchemeX509) } mockPlugin := ps.plugin.(*mockPlugin) if mockPlugin.keySpec.SignatureAlgorithm() != signerInfo.SignatureAlgorithm { t.Fatalf("Signer.Sign() signing algorithm changed") } if validSignOpts.ExpiryDuration != signerInfo.SignedAttributes.Expiry.Sub(signerInfo.SignedAttributes.SigningTime) { t.Fatalf("Signer.Sign() expiry duration changed") } if !reflect.DeepEqual(mockPlugin.certs, signerInfo.CertificateChain) { t.Fatalf(" Signer.Sign() cert chain changed") } basicVerification(t, data, envelopeType, mockPlugin.certs[len(mockPlugin.certs)-1], &validMetadata) } notation-go-1.2.1/signer/signer.go000066400000000000000000000130211466620631100170600ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package signer provides notation signing functionality. It implements the // notation.Signer interface by providing builtinSigner for local signing and // PluginSigner for remote signing. package signer import ( "context" "crypto" "crypto/tls" "crypto/x509" "encoding/json" "errors" "fmt" "time" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/log" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // signingAgent is the unprotected header field used by signature. const signingAgent = "notation-go/1.2.1" // GenericSigner implements notation.Signer and embeds signature.Signer type GenericSigner struct { signer signature.Signer } // New returns a builtinSigner given key and cert chain // // Deprecated: New function exists for historical compatibility and should not be used. // To create GenericSigner, use NewGenericSigner() function. func New(key crypto.PrivateKey, certChain []*x509.Certificate) (notation.Signer, error) { return NewGenericSigner(key, certChain) } // NewGenericSigner returns a builtinSigner given key and cert chain func NewGenericSigner(key crypto.PrivateKey, certChain []*x509.Certificate) (*GenericSigner, error) { localSigner, err := signature.NewLocalSigner(certChain, key) if err != nil { return nil, err } return &GenericSigner{ signer: localSigner, }, nil } // NewFromFiles returns a builtinSigner given key and certChain paths. func NewFromFiles(keyPath, certChainPath string) (notation.Signer, error) { return NewGenericSignerFromFiles(keyPath, certChainPath) } // NewGenericSignerFromFiles returns a builtinSigner given key and certChain paths. func NewGenericSignerFromFiles(keyPath, certChainPath string) (*GenericSigner, error) { if keyPath == "" { return nil, errors.New("key path not specified") } if certChainPath == "" { return nil, errors.New("certificate path not specified") } // read key / cert pair cert, err := tls.LoadX509KeyPair(certChainPath, keyPath) if err != nil { return nil, err } if len(cert.Certificate) == 0 { return nil, fmt.Errorf("%q does not contain certificate", certChainPath) } // parse cert certs := make([]*x509.Certificate, len(cert.Certificate)) for i, c := range cert.Certificate { certs[i], err = x509.ParseCertificate(c) if err != nil { return nil, err } } // create signer return NewGenericSigner(cert.PrivateKey, certs) } // Sign signs the artifact described by its descriptor and returns the // marshalled envelope. func (s *GenericSigner) Sign(ctx context.Context, desc ocispec.Descriptor, opts notation.SignerSignOptions) ([]byte, *signature.SignerInfo, error) { logger := log.GetLogger(ctx) logger.Debugf("Generic signing for %v in signature media type %v", desc.Digest, opts.SignatureMediaType) // Generate payload to be signed. payload := envelope.Payload{TargetArtifact: envelope.SanitizeTargetArtifact(desc)} payloadBytes, err := json.Marshal(payload) if err != nil { return nil, nil, fmt.Errorf("envelope payload can't be marshalled: %w", err) } var signingAgentId string if opts.SigningAgent != "" { signingAgentId = opts.SigningAgent } else { signingAgentId = signingAgent } if opts.Timestamper != nil && opts.TSARootCAs == nil { return nil, nil, errors.New("timestamping: got Timestamper but nil TSARootCAs") } if opts.TSARootCAs != nil && opts.Timestamper == nil { return nil, nil, errors.New("timestamping: got TSARootCAs but nil Timestamper") } signReq := &signature.SignRequest{ Payload: signature.Payload{ ContentType: envelope.MediaTypePayloadV1, Content: payloadBytes, }, Signer: s.signer, SigningTime: time.Now(), SigningScheme: signature.SigningSchemeX509, SigningAgent: signingAgentId, Timestamper: opts.Timestamper, TSARootCAs: opts.TSARootCAs, } // Add expiry only if ExpiryDuration is not zero if opts.ExpiryDuration != 0 { signReq.Expiry = signReq.SigningTime.Add(opts.ExpiryDuration) } logger.Debugf("Sign request:") logger.Debugf(" ContentType: %v", signReq.Payload.ContentType) logger.Debugf(" Content: %s", string(signReq.Payload.Content)) logger.Debugf(" SigningTime: %v", signReq.SigningTime) logger.Debugf(" Expiry: %v", signReq.Expiry) logger.Debugf(" SigningScheme: %v", signReq.SigningScheme) logger.Debugf(" SigningAgent: %v", signReq.SigningAgent) // Add ctx to the SignRequest signReq = signReq.WithContext(ctx) // perform signing sigEnv, err := signature.NewEnvelope(opts.SignatureMediaType) if err != nil { return nil, nil, err } sig, err := sigEnv.Sign(signReq) if err != nil { return nil, nil, err } envContent, err := sigEnv.Verify() if err != nil { return nil, nil, fmt.Errorf("generated signature failed verification: %v", err) } if err := envelope.ValidatePayloadContentType(&envContent.Payload); err != nil { return nil, nil, err } return sig, &envContent.SignerInfo, nil } notation-go-1.2.1/signer/signer_test.go000066400000000000000000000311641466620631100201270ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package signer import ( "context" "crypto" "crypto/ecdsa" "crypto/elliptic" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "errors" "fmt" "os" "path/filepath" "regexp" "testing" "time" "github.com/notaryproject/notation-core-go/signature" _ "github.com/notaryproject/notation-core-go/signature/cose" _ "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-core-go/testhelper" nx509 "github.com/notaryproject/notation-core-go/x509" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/plugin/proto" "github.com/notaryproject/tspclient-go" "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) const rfc3161URL = "http://timestamp.digicert.com" type keyCertPair struct { keySpecName string key crypto.PrivateKey certs []*x509.Certificate } var keyCertPairCollections []*keyCertPair // setUpKeyCertPairCollections setups all combinations of private key and certificates. func setUpKeyCertPairCollections() []*keyCertPair { // rsa var keyCertPairs []*keyCertPair for _, k := range []int{2048, 3072, 4096} { rsaRoot := testhelper.GetRSARootCertificate() certTuple := testhelper.GetRSACertTuple(k) keySpec, err := signature.ExtractKeySpec(certTuple.Cert) if err != nil { panic(fmt.Sprintf("setUpKeyCertPairCollections() failed, invalid keySpec: %v", err)) } ks, err := proto.EncodeKeySpec(keySpec) if err != nil { panic(fmt.Sprintf("setUpKeyCertPairCollections() failed, invalid keySpec: %v", err)) } keyCertPairs = append(keyCertPairs, &keyCertPair{ keySpecName: string(ks), key: certTuple.PrivateKey, certs: []*x509.Certificate{certTuple.Cert, rsaRoot.Cert}, }) } // ecdsa for _, curve := range []elliptic.Curve{elliptic.P256(), elliptic.P384(), elliptic.P521()} { ecdsaRoot := testhelper.GetECRootCertificate() certTuple := testhelper.GetECCertTuple(curve) keySpec, err := signature.ExtractKeySpec(certTuple.Cert) if err != nil { panic(fmt.Sprintf("setUpKeyCertPairCollections() failed, invalid keySpec: %v", err)) } ks, err := proto.EncodeKeySpec(keySpec) if err != nil { panic(fmt.Sprintf("setUpKeyCertPairCollections() failed, invalid keySpec: %v", err)) } keyCertPairs = append(keyCertPairs, &keyCertPair{ keySpecName: string(ks), key: certTuple.PrivateKey, certs: []*x509.Certificate{certTuple.Cert, ecdsaRoot.Cert}, }) } return keyCertPairs } func init() { keyCertPairCollections = setUpKeyCertPairCollections() } func generateCertPem(cert *x509.Certificate) []byte { return pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: cert.Raw}) } func generateKeyBytes(key crypto.PrivateKey) (keyBytes []byte, err error) { switch k := key.(type) { case *rsa.PrivateKey: keyBytes, err = x509.MarshalPKCS8PrivateKey(k) case *ecdsa.PrivateKey: keyBytes, err = x509.MarshalECPrivateKey(k) default: return nil, errors.New("private key type not supported") } if err != nil { return nil, err } keyBytes = pem.EncodeToMemory(&pem.Block{Type: "PRIVATE KEY", Bytes: keyBytes}) return keyBytes, nil } func prepareTestKeyCertFile(keyCert *keyCertPair, dir string) (string, string, error) { keyPath, certPath := filepath.Join(dir, keyCert.keySpecName+".key"), filepath.Join(dir, keyCert.keySpecName+".cert") keyBytes, err := generateKeyBytes(keyCert.key) if err != nil { return "", "", err } var certBytes []byte for _, cert := range keyCert.certs { certBytes = append(certBytes, generateCertPem(cert)...) } if err := os.WriteFile(keyPath, keyBytes, 0600); err != nil { return "", "", err } if err := os.WriteFile(certPath, certBytes, 0600); err != nil { return "", "", err } return keyPath, certPath, nil } func testSignerFromFile(t *testing.T, keyCert *keyCertPair, envelopeType, dir string) { keyPath, certPath, err := prepareTestKeyCertFile(keyCert, dir) if err != nil { t.Fatalf("prepareTestKeyCertFile() failed: %v", err) } s, err := NewFromFiles(keyPath, certPath) if err != nil { t.Fatalf("NewSignerFromFiles() failed: %v", err) } desc, opts := generateSigningContent() opts.SignatureMediaType = envelopeType sig, _, err := s.Sign(context.Background(), desc, opts) if err != nil { t.Fatalf("Sign() failed: %v", err) } // basic verification basicVerification(t, sig, envelopeType, keyCert.certs[len(keyCert.certs)-1], nil) } func TestNewFromFiles(t *testing.T) { // sign with key dir := t.TempDir() for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { testSignerFromFile(t, keyCert, envelopeType, dir) }) } } } func TestNewFromFilesError(t *testing.T) { tests := map[string]struct { keyPath string certPath string errMsg string }{ "empty key path": { keyPath: "", certPath: "someCert", errMsg: "key path not specified", }, "empty cert path": { keyPath: "someKeyId", certPath: "", errMsg: "certificate path not specified", }, } for name, tc := range tests { t.Run(name, func(t *testing.T) { _, err := NewFromFiles(tc.keyPath, tc.certPath) if err == nil || err.Error() != tc.errMsg { t.Fatalf("TestNewFromPluginFailed expects error %q, got %q", tc.errMsg, err.Error()) } }) } } func TestNewError(t *testing.T) { wantErr := "\"certs\" param is invalid. Error: empty certs" _, err := New(nil, nil) if err == nil || err.Error() != wantErr { t.Fatalf("TestNewFromPluginFailed expects error %q, got %q", wantErr, err.Error()) } } func TestSignWithCertChain(t *testing.T) { // sign with key for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { validateSignWithCerts(t, envelopeType, keyCert.key, keyCert.certs, false) }) } } } func TestSignWithTimestamping(t *testing.T) { // sign with key for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { validateSignWithCerts(t, envelopeType, keyCert.key, keyCert.certs, true) }) } } // timestamping without timestamper envelopeType := signature.RegisteredEnvelopeTypes()[0] keyCert := keyCertPairCollections[0] s, err := New(keyCert.key, keyCert.certs) if err != nil { t.Fatalf("NewSigner() error = %v", err) } ctx := context.Background() desc, sOpts := generateSigningContent() sOpts.SignatureMediaType = envelopeType sOpts.TSARootCAs = x509.NewCertPool() _, _, err = s.Sign(ctx, desc, sOpts) expectedErrMsg := "timestamping: got TSARootCAs but nil Timestamper" if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } // timestamping without TSARootCAs desc, sOpts = generateSigningContent() sOpts.SignatureMediaType = envelopeType sOpts.Timestamper, err = tspclient.NewHTTPTimestamper(nil, rfc3161URL) if err != nil { t.Fatal(err) } _, _, err = s.Sign(ctx, desc, sOpts) expectedErrMsg = "timestamping: got Timestamper but nil TSARootCAs" if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } } func TestSignWithoutExpiry(t *testing.T) { // sign with key for _, envelopeType := range signature.RegisteredEnvelopeTypes() { for _, keyCert := range keyCertPairCollections { t.Run(fmt.Sprintf("envelopeType=%v_keySpec=%v", envelopeType, keyCert.keySpecName), func(t *testing.T) { s, err := New(keyCert.key, keyCert.certs) if err != nil { t.Fatalf("NewSigner() error = %v", err) } ctx := context.Background() desc, sOpts := generateSigningContent() sOpts.ExpiryDuration = 0 // reset expiry sOpts.SignatureMediaType = envelopeType sig, _, err := s.Sign(ctx, desc, sOpts) if err != nil { t.Fatalf("Sign() error = %v", err) } // basic verification basicVerification(t, sig, envelopeType, keyCert.certs[len(keyCert.certs)-1], nil) }) } } } func signRSA(digest []byte, hash crypto.Hash, pk *rsa.PrivateKey) ([]byte, error) { return rsa.SignPSS(rand.Reader, pk, hash, digest, &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash}) } func signECDSA(digest []byte, pk *ecdsa.PrivateKey) ([]byte, error) { r, s, err := ecdsa.Sign(rand.Reader, pk, digest) if err != nil { return nil, err } n := (pk.Curve.Params().N.BitLen() + 7) / 8 sig := make([]byte, 2*n) r.FillBytes(sig[:n]) s.FillBytes(sig[n:]) return sig, nil } func localSign(payload []byte, hash crypto.Hash, pk crypto.PrivateKey) ([]byte, error) { h := hash.New() h.Write(payload) digest := h.Sum(nil) switch key := pk.(type) { case *rsa.PrivateKey: return signRSA(digest, hash, key) case *ecdsa.PrivateKey: return signECDSA(digest, key) default: return nil, errors.New("signing private key not supported") } } // generateSigningContent generates common signing content with options for testing. func generateSigningContent() (ocispec.Descriptor, notation.SignerSignOptions) { content := "hello world" desc := ocispec.Descriptor{ MediaType: "test media type", Digest: digest.Canonical.FromString(content), Size: int64(len(content)), Annotations: map[string]string{ "identity": "test.registry.io/test:example", "foo": "bar", }, } sOpts := notation.SignerSignOptions{ExpiryDuration: 24 * time.Hour} return desc, sOpts } func basicVerification(t *testing.T, sig []byte, envelopeType string, trust *x509.Certificate, metadata *proto.GetMetadataResponse) { // basic verification sigEnv, err := signature.ParseEnvelope(envelopeType, sig) if err != nil { t.Fatalf("verification failed. error = %v", err) } envContent, vErr := sigEnv.Verify() if vErr != nil { t.Fatalf("verification failed. error = %v", err) } if err := envelope.ValidatePayloadContentType(&envContent.Payload); err != nil { t.Fatalf("verification failed. error = %v", err) } trustedCert, err := signature.VerifyAuthenticity(&envContent.SignerInfo, []*x509.Certificate{trust}) if err != nil || !trustedCert.Equal(trust) { t.Fatalf("VerifyAuthenticity failed. error = %v", err) } verifySigningAgent(t, envContent.SignerInfo.UnsignedAttributes.SigningAgent, metadata) } func verifySigningAgent(t *testing.T, signingAgentId string, metadata *proto.GetMetadataResponse) { signingAgentRegex := regexp.MustCompile("^(?P.*) (?P.*)/(?P.*)$") match := signingAgentRegex.FindStringSubmatch(signingAgentId) results := map[string]string{} for i, name := range match { results[signingAgentRegex.SubexpNames()[i]] = name } if metadata == nil { if signingAgentId != signingAgent { t.Fatalf("Expected signingAgent of %s but signature contained %s instead", signingAgent, signingAgentId) } } else if results["agent"] != signingAgent || results["name"] != metadata.Name || results["version"] != metadata.Version { t.Fatalf("Expected signingAgent of %s %s/%s but signature contained %s instead", signingAgent, metadata.Name, metadata.Version, signingAgentId) } } func validateSignWithCerts(t *testing.T, envelopeType string, key crypto.PrivateKey, certs []*x509.Certificate, timestamp bool) { s, err := New(key, certs) if err != nil { t.Fatalf("NewSigner() error = %v", err) } ctx := context.Background() desc, sOpts := generateSigningContent() sOpts.SignatureMediaType = envelopeType if timestamp { sOpts.Timestamper, err = tspclient.NewHTTPTimestamper(nil, rfc3161URL) if err != nil { t.Fatal(err) } rootCerts, err := nx509.ReadCertificateFile("./testdata/DigiCertTSARootSHA384.cer") if err != nil { t.Fatal(err) } rootCAs := x509.NewCertPool() rootCAs.AddCert(rootCerts[0]) sOpts.TSARootCAs = rootCAs } sig, _, err := s.Sign(ctx, desc, sOpts) if err != nil { t.Fatalf("Sign() error = %v", err) } // basic verification basicVerification(t, sig, envelopeType, certs[len(certs)-1], nil) } notation-go-1.2.1/signer/testdata/000077500000000000000000000000001466620631100170565ustar00rootroot00000000000000notation-go-1.2.1/signer/testdata/DigiCertTSARootSHA384.cer000066400000000000000000000026241466620631100232560ustar00rootroot0000000000000000xW!29wu\0  *H  0b1 0 UUS10U  DigiCert Inc10U www.digicert.com1!0UDigiCert Trusted Root G40 130801120000Z 380115120000Z0b1 0 UUS10U  DigiCert Inc10U www.digicert.com1!0UDigiCert Trusted Root G40"0  *H 0 sh޻]J<0"0i3§%.!=Y)=Xvͮ{ 08VƗmy_pUA2s*n|!LԼu]xf:1D3@ZI橠gݤ'O9X$\Fdivv=Y]BvizHftKc:=E%D+~am3K}Ï!Ռp,A`cDvb~d3щίCw !T)%lRQGt&Auz_?ɼA[P1r" |Lu?c!_ QkoOE_ ~ &i/-٩B0@0U00U0Uq]dL.g?纘O0  *H  a}lđádhVwpJx\ _)V 6I]Dcଡ଼f# =ymkTY9"SD]Pz}b! sfѠ`_襴m5|Z֢8xM Gr 20Y.qVjoPmhz6z$ Pz#aB)͢ Aќd&LPAq=?Mp# J܁2  Ok t094!U2qI(PMMuACDO,6E#SlogUFL?n(Zy&ҤbJGJ gf~[A;;cTQ*xίI󒙶a҅POBl C:qM&5]b2Ҡ+TWJ'S趉m[h#QV𦀠Su)wތ!G=uf~notation-go-1.2.1/verifier/000077500000000000000000000000001466620631100155715ustar00rootroot00000000000000notation-go-1.2.1/verifier/helpers.go000066400000000000000000000162631466620631100175720ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package verifier import ( "context" "crypto/x509" "errors" "fmt" "strings" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-go" set "github.com/notaryproject/notation-go/internal/container" notationsemver "github.com/notaryproject/notation-go/internal/semver" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ) const ( // HeaderVerificationPlugin specifies the name of the verification plugin // that should be used to verify the signature. HeaderVerificationPlugin = "io.cncf.notary.verificationPlugin" // HeaderVerificationPluginMinVersion specifies the minimum version of the // verification plugin that should be used to verify the signature. HeaderVerificationPluginMinVersion = "io.cncf.notary.verificationPluginMinVersion" ) // VerificationPluginHeaders specifies headers of a verification plugin var VerificationPluginHeaders = []string{ HeaderVerificationPlugin, HeaderVerificationPluginMinVersion, } var errExtendedAttributeNotExist = errors.New("extended attribute not exist") func loadX509TrustStores(ctx context.Context, scheme signature.SigningScheme, policyName string, trustStores []string, x509TrustStore truststore.X509TrustStore) ([]*x509.Certificate, error) { var typeToLoad truststore.Type switch scheme { case signature.SigningSchemeX509: typeToLoad = truststore.TypeCA case signature.SigningSchemeX509SigningAuthority: typeToLoad = truststore.TypeSigningAuthority default: return nil, truststore.TrustStoreError{Msg: fmt.Sprintf("error while loading the trust store, unrecognized signing scheme %q", scheme)} } return loadX509TrustStoresWithType(ctx, typeToLoad, policyName, trustStores, x509TrustStore) } // isCriticalFailure checks whether a VerificationResult fails the entire // signature verification workflow. // signature verification workflow is considered failed if there is a // VerificationResult with "Enforced" as the action but the result was // unsuccessful. func isCriticalFailure(result *notation.ValidationResult) bool { return result.Action == trustpolicy.ActionEnforce && result.Error != nil } func getNonPluginExtendedCriticalAttributes(signerInfo *signature.SignerInfo) []signature.Attribute { var criticalExtendedAttrs []signature.Attribute for _, attr := range signerInfo.SignedAttributes.ExtendedAttributes { attrStrKey, ok := attr.Key.(string) // filter the plugin extended attributes if ok && !slices.Contains(VerificationPluginHeaders, attrStrKey) { // TODO support other attribute types // (COSE attribute keys can be numbers) criticalExtendedAttrs = append(criticalExtendedAttrs, attr) } } return criticalExtendedAttrs } // extractCriticalStringExtendedAttribute extracts a critical string Extended // attribute from a signer. func extractCriticalStringExtendedAttribute(signerInfo *signature.SignerInfo, key string) (string, error) { attr, err := signerInfo.ExtendedAttribute(key) // not exist if err != nil { return "", errExtendedAttributeNotExist } // not critical if !attr.Critical { return "", fmt.Errorf("%v is not a critical Extended attribute", key) } // not string val, ok := attr.Value.(string) if !ok { return "", fmt.Errorf("%v from extended attribute is not a string", key) } return val, nil } // getVerificationPlugin get plugin name from the Extended attributes. func getVerificationPlugin(signerInfo *signature.SignerInfo) (string, error) { name, err := extractCriticalStringExtendedAttribute(signerInfo, HeaderVerificationPlugin) if err != nil { return "", err } // not an empty string if strings.TrimSpace(name) == "" { return "", fmt.Errorf("%v from extended attribute is an empty string", HeaderVerificationPlugin) } return name, nil } // getVerificationPlugin get plugin version from the Extended attributes. func getVerificationPluginMinVersion(signerInfo *signature.SignerInfo) (string, error) { version, err := extractCriticalStringExtendedAttribute(signerInfo, HeaderVerificationPluginMinVersion) if err != nil { return "", err } if strings.TrimSpace(version) == "" { return "", fmt.Errorf("%v from extended attribute is an empty string", HeaderVerificationPluginMinVersion) } if !notationsemver.IsValid(version) { return "", fmt.Errorf("%v from extended attribute is not a valid SemVer", HeaderVerificationPluginMinVersion) } return version, nil } func loadX509TSATrustStores(ctx context.Context, scheme signature.SigningScheme, policyName string, trustStores []string, x509TrustStore truststore.X509TrustStore) ([]*x509.Certificate, error) { var typeToLoad truststore.Type switch scheme { case signature.SigningSchemeX509: typeToLoad = truststore.TypeTSA default: return nil, truststore.TrustStoreError{Msg: fmt.Sprintf("error while loading the TSA trust store, signing scheme must be notary.x509, but got %s", scheme)} } return loadX509TrustStoresWithType(ctx, typeToLoad, policyName, trustStores, x509TrustStore) } func loadX509TrustStoresWithType(ctx context.Context, trustStoreType truststore.Type, policyName string, trustStores []string, x509TrustStore truststore.X509TrustStore) ([]*x509.Certificate, error) { processedStoreSet := set.New[string]() var certificates []*x509.Certificate for _, trustStore := range trustStores { if processedStoreSet.Contains(trustStore) { // we loaded this trust store already continue } storeType, name, found := strings.Cut(trustStore, ":") if !found { return nil, truststore.TrustStoreError{Msg: fmt.Sprintf("error while loading the trust store, trust policy statement %q is missing separator in trust store value %q. The required format is :", policyName, trustStore)} } if trustStoreType != truststore.Type(storeType) { continue } certs, err := x509TrustStore.GetCertificates(ctx, trustStoreType, name) if err != nil { return nil, err } certificates = append(certificates, certs...) processedStoreSet.Add(trustStore) } return certificates, nil } // isTSATrustStoreInPolicy checks if tsa trust store is configured in // trust policy func isTSATrustStoreInPolicy(policyName string, trustStores []string) (bool, error) { for _, trustStore := range trustStores { storeType, _, found := strings.Cut(trustStore, ":") if !found { return false, truststore.TrustStoreError{Msg: fmt.Sprintf("invalid trust policy statement: %q is missing separator in trust store value %q. The required format is :", policyName, trustStore)} } if truststore.Type(storeType) == truststore.TypeTSA { return true, nil } } return false, nil } notation-go-1.2.1/verifier/helpers_test.go000066400000000000000000000140141466620631100206210ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package verifier import ( "context" "errors" "fmt" "strconv" "strings" "testing" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ) func TestGetArtifactDigestFromUri(t *testing.T) { tests := []struct { artifactReference string digest string wantErr bool }{ {"domain.com/repository@sha256:digest", "sha256:digest", false}, {"domain.com:80/repository:digest", "", true}, {"domain.com/repository", "", true}, {"domain.com/repository@sha256", "", true}, {"domain.com/repository@sha256:", "", true}, {"", "", true}, {"domain.com", "", true}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { digest, err := getArtifactDigestFromReference(tt.artifactReference) if tt.wantErr != (err != nil) { t.Fatalf("TestGetArtifactDigestFromUri Error: %q WantErr: %v Input: %q", err, tt.wantErr, tt.artifactReference) } else if digest != tt.digest { t.Fatalf("TestGetArtifactDigestFromUri Want: %q Got: %v", tt.digest, digest) } }) } } func TestLoadX509TrustStore(t *testing.T) { // load "ca" and "signingAuthority" trust store caStore := "ca:valid-trust-store" signingAuthorityStore := "signingAuthority:valid-trust-store" dummyPolicy := dummyPolicyDocument().TrustPolicies[0] dummyPolicy.TrustStores = []string{caStore, signingAuthorityStore} dir.UserConfigDir = "testdata" x509truststore := truststore.NewX509TrustStore(dir.ConfigFS()) _, err := loadX509TrustStores(context.Background(), signature.SigningSchemeX509, dummyPolicy.Name, dummyPolicy.TrustStores, x509truststore) if err != nil { t.Fatalf("TestLoadX509TrustStore should not throw error for a valid trust store. Error: %v", err) } _, err = loadX509TrustStores(context.Background(), signature.SigningSchemeX509SigningAuthority, dummyPolicy.Name, dummyPolicy.TrustStores, x509truststore) if err != nil { t.Fatalf("TestLoadX509TrustStore should not throw error for a valid trust store. Error: %v", err) } } func TestIsCriticalFailure(t *testing.T) { var dummyError = errors.New("critical failure") tests := []struct { result notation.ValidationResult criticalFailure bool }{ {notation.ValidationResult{Action: trustpolicy.ActionEnforce, Error: dummyError}, true}, {notation.ValidationResult{Action: trustpolicy.ActionLog, Error: dummyError}, false}, {notation.ValidationResult{Action: trustpolicy.ActionSkip, Error: dummyError}, false}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { endResult := isCriticalFailure(&tt.result) if endResult != tt.criticalFailure { t.Fatalf("TestIsCriticalFailure Expected: %v Got: %v", tt.criticalFailure, endResult) } }) } } func TestLoadX509TSATrustStores(t *testing.T) { policyDoc := trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "testTSA", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: "strict"}, TrustStores: []string{"tsa:test-timestamp"}, TrustedIdentities: []string{"*"}, }, }, } dir.UserConfigDir = "testdata" x509truststore := truststore.NewX509TrustStore(dir.ConfigFS()) policyStatement := policyDoc.TrustPolicies[0] _, err := loadX509TSATrustStores(context.Background(), signature.SigningSchemeX509, policyStatement.Name, policyStatement.TrustStores, x509truststore) if err != nil { t.Fatalf("TestLoadX509TrustStore should not throw error for a valid trust store. Error: %v", err) } _, err = loadX509TSATrustStores(context.Background(), signature.SigningSchemeX509SigningAuthority, policyStatement.Name, policyStatement.TrustStores, x509truststore) expectedErrMsg := "error while loading the TSA trust store, signing scheme must be notary.x509, but got notary.x509.signingAuthority" if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } } func getArtifactDigestFromReference(artifactReference string) (string, error) { invalidUriErr := fmt.Errorf("artifact URI %q could not be parsed, make sure it is the fully qualified OCI artifact URI without the scheme/protocol. e.g domain.com:80/my/repository@sha256:digest", artifactReference) i := strings.LastIndex(artifactReference, "@") if i < 0 || i+1 == len(artifactReference) { return "", invalidUriErr } j := strings.LastIndex(artifactReference[i+1:], ":") if j < 0 || j+1 == len(artifactReference[i+1:]) { return "", invalidUriErr } return artifactReference[i+1:], nil } func dummyPolicyDocument() (policyDoc trustpolicy.Document) { return trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "test-statement-name", RegistryScopes: []string{"registry.acme-rockets.io/software/net-monitor"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: "strict"}, TrustStores: []string{"ca:valid-trust-store", "signingAuthority:valid-trust-store"}, TrustedIdentities: []string{"x509.subject:CN=Notation Test Root,O=Notary,L=Seattle,ST=WA,C=US"}, }, }, } } func dummyInvalidPolicyDocument() (policyDoc trustpolicy.Document) { return trustpolicy.Document{ TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "invalid", }, }, } } notation-go-1.2.1/verifier/testdata/000077500000000000000000000000001466620631100174025ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/timestamp/000077500000000000000000000000001466620631100214055ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/timestamp/countersignature/000077500000000000000000000000001466620631100250065ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/timestamp/countersignature/TimeStampToken.p7s000066400000000000000000000147031466620631100303520ustar00rootroot000000000000000 *H 010  `He0 *H  0 +2010  `He &p@ޠH@@(kQY<&g*Mty20210917140910Z0WU0S1 0 UBE10U GlobalSign nv-sa1)0'U Globalsign TSA for Advanced - G4d0U0=FiPpMA0  *H  0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G40 210527095523Z 320628095522Z0S1 0 UBE10U GlobalSign nv-sa1)0'U Globalsign TSA for Advanced - G400  *H 00i{ nT9_dYu"Niott}QF h.eґU;bBz2Lѹ1%Vg22\-bM 7*`ol=1])Uvl{a)3,nZC;0 xT`8dCpȴ ܻn!5~„8~dz& *%RmL0 x-FW ?yP32@ PAN !D2H,K W[dTjC v֣ 0@6Ўx/ ;aGTpCZhᮓ,r2K+%3h*y00U0U% 0 +0U~px )xY̦$0LU E0C0A +20402+&https://www.globalsign.com/repository/0 U00+009+0-http://ocsp.globalsign.com/ca/gstsacasha384g40C+07http://secure.globalsign.com/cacert/gstsacasha384g4.crt0U#0iWE93@ýe0AU:0806420http://crl.globalsign.com/ca/gstsacasha384g4.crl0  *H  bw/BokEY6+fAղ#I"Ӿ_6ZP?NT q؟6<4fJ7]z>=gK붲oE]LYZfsaE6JcCn: F9ts ^B/"l$'Q]Aud鷇 07bY)rwiux:\jr2YxNf+u 7Au?:BٜQz+L%mOH[\r`7q\IL)mW;W.Ba|UbdUJo3X$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"0G0/ @B@"lq0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 190220000000Z 290318100000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[+2000.+0"http://ocsp2.globalsign.com/rootr306U/0-0+)'%http://crl.globalsign.com/root-r3.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  I^ŃZa*MJ) z5 3mr"NA?m _,;6YytheYBU9&q8!N[`jC} `aݪ^N2l<»ӐvjiܨXO‹2JT8; u  |%'&Sa52݃:hr$7+$N򶹷G a3-<# 40_0G !XS0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 090318100000Z 290318100000Z0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0"0  *H 0 %vyx"(vŭrFCDz_$.K`FR Gpld,= +׶y;wIjb/^h߉'8>&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,Z{Ke] Iw^n2usMula;zZ[\?*[#?3"`kc:nT)@mq ס·=آ_ۏ8rER)I ֟gx0 Ryc13([cHBOԽ;> K^b,-ְTEfa6ēm$7uL0ĕXijŞ n_ \K?考ߩ-f- KteT"<_%O6+fAղ#I"Ӿ_6ZP?NT q؟6<4fJ7]z>=gK붲oE]LYZfsaE6JcCn: F9ts ^B/"l$'Q]Aud鷇 07bY)rwiux:\jr2YxNf+u 7Au?:BٜQz+L%mOH[\r`7q\IL)mW;W.Ba|UbdUJo3X$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"0G0/ @B@"lq0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 190220000000Z 290318100000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[+2000.+0"http://ocsp2.globalsign.com/rootr306U/0-0+)'%http://crl.globalsign.com/root-r3.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  I^ŃZa*MJ) z5 3mr"NA?m _,;6YytheYBU9&q8!N[`jC} `aݪ^N2l<»ӐvjiܨXO‹2JT8; u  |%'&Sa52݃:hr$7+$N򶹷G a3-<# 40_0G !XS0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 090318100000Z 290318100000Z0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0"0  *H 0 %vyx"(vŭrFCDz_$.K`FR Gpld,= +׶y;wIjb/^h߉'8>&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,Z{Ke] Iw^n2usMula;zZ[\?*[#?3"`kc:nT)@mq ס·=آ_ۏ8rER)I ֟gx0 Ryc13([cHBOԽ;> K^b,-ְTEfa6ēm$7uL0ĕXijŞ n_ \K?考ߩ-f- KteT"<_%O6+fAղ#I"Ӿ_6ZP?NT q؟6<4fJ7]z>=gK붲oE]LYZfsaE6JcCn: F9ts ^B/"l$'Q]Aud鷇 07bY)rwiux:\jr2YxNf+u 7Au?:BٜQz+L%mOH[\r`7q\IL)mW;W.Ba|UbdUJo3X$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"0G0/ @B@"lq0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 190220000000Z 290318100000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[+2000.+0"http://ocsp2.globalsign.com/rootr306U/0-0+)'%http://crl.globalsign.com/root-r3.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  I^ŃZa*MJ) z5 3mr"NA?m _,;6YytheYBU9&q8!N[`jC} `aݪ^N2l<»ӐvjiܨXO‹2JT8; u  |%'&Sa52݃:hr$7+$N򶹷G a3-<# 40_0G !XS0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 090318100000Z 290318100000Z0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0"0  *H 0 %vyx"(vŭrFCDz_$.K`FR Gpld,= +׶y;wIjb/^h߉'8>&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,Z{Ke] Iw^n2usMula;zZ[\?*[#?3"`kc:nT)@mq ס·=آ_ۏ8rER)I ֟gx0 Ryc13([cHBOԽ;> K^b,-ְTEfa6ēm$7uL0ĕXijŞ n_ \K?考ߩ-f- KteT"<_%OZ{Ke] Iw^n2usMula;zZ[\?*[#?3"`kc:nT)@mq ס·=آ_ۏ8rER)I ֟gx0 Ryc13([cHBOԽ;> K^b,-ְTEfa6ēm$7uL0ĕXijŞ n_ \K?考ߩ-f- KteT"<_%OA"ր!xĉ2sؗD]=-!kco}ͥx}m*@%6#~(,ښzoH6E@5 ű;hA1ߩ>.`[&tTN@ߵ^ o@@i(ȡOw1j隃wD3iN,x֪@,6DCR`sW|5#`B"Z?ss͢f` T0Y0A @.@]|Gt0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 180620000000Z 341210000000Z0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G40"0  *H 0 0#tu_GRa:c|9#ymt1t'b['W54Ǭ fm(J,prZ]vD|A$O6A-xNC1ϼ;njĈK&ɠL?][eE T=TSnT1;z}X߁jle*!ǔB; F=zeV.X=SM[trK 7 ЫZՙ?O57R%4gIz) ]ևCtp({*o mV >$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"00kE3ÅeHEQ0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 141210000000Z 341210000000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[!C7y2,LC)0Ӭ!3vT"*M .phS\ӝD DfFm%]1QTFMۙ\xy]>LUop0BF“}c{?q|蘮x4% k;AHzswiǶ\X(+l^m{%7hB]Pu6i{ni HY{`zdiCLlS-^r>TȽgLEӹ0#LٙZW̻S,Ğ4L$x_|Jt%>K,V8\yt-a ~~OY_-CRF fGywT[$7EZNDHذ IIeqnE>l gZɤ1I0E0o0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  `He-0 *H  1  *H  0+ *H  4100  `He  *H  0/ *H  1" SjVaMvBÙm|Ĵe] 0 *H  /1000 y9BVT͎YKq40s0_]0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  *H  [8'ky]l(wo"􊿳Q bƼp/ܱ|ޖ:P8آZ>3sNR%|f7s&;)EA{\Ypծ%hhH<NLXTJ[@ X0[V 0\':i.(Dx~ $a[:0 ̗EC[wdٙUKpGeW X,yL̠ _{.,>[̬JIox B [nk\|7#&dnl4oagVtq4ys%U!_Bb%3ӻÜ$зX15߽L/弒pT3ָE,X{"targetArtifact":{"mediaType":"application/vnd.docker.distribution.manifest.v2+json","digest":"sha256:c0669ef34cdc14332c0f1ab0c2c01acb91d96014b172f1a76f3a39e63d1f0bda","size":528}}YN45: b+0&y0  *H  0N1 0 UUS1 0 UWA10USeattle10 U Notary10 Ualpine0 230509045512Z 330510045512Z0N1 0 UUS1 0 UWA10USeattle10 U Notary10 Ualpine0"0  *H 0 avц.3 /Jf;b%`9%/%1PCLEp|`pN]< "*^I2I$37QUYe  j?U9Չ>]K_T"*KrX!%jH%=nMZ=U7~$S^&hGƃXbZ MMbx DdB~XK: [\Rz %_H? ~/k'0%0U0U% 0 +0  *H  -kW8: [gӿfv`b]c>L\p/+l,tnkDۭB "`dltr Z^36{Gɿ};kDO="W9f:E(¥M_Ҳ'9֥``a+ż:m#ʕh=KA$|ѻN5[ȝˏ^ϕmW*c{]BnfwDR4 9jI(=ʇXZ/xio.cncf.notary.signingAgentnNotation/1.0.0x!io.cncf.notary.timestampSignatureY0 *H 01 0  `He0 *H  0 +2010  `He 7R ;J~ϝem$ώ }KG8󳬎LR}`-y) ;20240618062716Z0<𡆻>{b#`^0\1 0 UBE10U GlobalSign nv-sa1200U )Globalsign TSA for Advanced - G4 - 202311S0k0SutqɒDߥp0  *H  0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G40 231102103002Z 341204103002Z0\1 0 UBE10U GlobalSign nv-sa1200U )Globalsign TSA for Advanced - G4 - 20231100  *H 05FtՖA"ր!xĉ2sؗD]=-!kco}ͥx}m*@%6#~(,ښzoH6E@5 ű;hA1ߩ>.`[&tTN@ߵ^ o@@i(ȡOw1j隃wD3iN,x֪@,6DCR`sW|5#`B"Z?ss͢f` T0Y0A @.@]|Gt0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 180620000000Z 341210000000Z0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G40"0  *H 0 0#tu_GRa:c|9#ymt1t'b['W54Ǭ fm(J,prZ]vD|A$O6A-xNC1ϼ;njĈK&ɠL?][eE T=TSnT1;z}X߁jle*!ǔB; F=zeV.X=SM[trK 7 ЫZՙ?O57R%4gIz) ]ևCtp({*o mV >$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"00kE3ÅeHEQ0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 141210000000Z 341210000000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[!C7y2,LC)0Ӭ!3vT"*M .phS\ӝD DfFm%]1QTFMۙ\xy]>LUop0BF“}c{?q|蘮x4% k;AHzswiǶ\X(+l^m{%7hB]Pu6i{ni HY{`zdiCLlS-^r>TȽgLEӹ0#LٙZW̻S,Ğ4L$x_|Jt%>K,V8\yt-a ~~OY_-CRF fGywT[$7EZNDHذ IIeqnE>l gZɤ1I0E0o0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  `He-0 *H  1  *H  0+ *H  4100  `He  *H  0/ *H  1" hFxu&q_&h/ʍ=M9#O0 *H  /1000 y9BVT͎YKq40s0_]0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  *H  egr?K 5]3\킜gڶ!I"@~޿EYpR&M:Sr\m8j7 cyYVFʧSW e( jsH/)*x4oNV21|n@%yl%n-nڹ踎v2'ܙA3)7dO^ K b@h[Kv%O6y `!"d[>XbbRvi*xio.cncf.notary.signingAgentnNotation/1.0.0x!io.cncf.notary.timestampSignatureY0 *H 01 0  `He0 *H  0 +2010  `He rq<A"ր!xĉ2sؗD]=-!kco}ͥx}m*@%6#~(,ښzoH6E@5 ű;hA1ߩ>.`[&tTN@ߵ^ o@@i(ȡOw1j隃wD3iN,x֪@,6DCR`sW|5#`B"Z?ss͢f` T0Y0A @.@]|Gt0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 180620000000Z 341210000000Z0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G40"0  *H 0 0#tu_GRa:c|9#ymt1t'b['W54Ǭ fm(J,prZ]vD|A$O6A-xNC1ϼ;njĈK&ɠL?][eE T=TSnT1;z}X߁jle*!ǔB; F=zeV.X=SM[trK 7 ЫZՙ?O57R%4gIz) ]ևCtp({*o mV >$g& {gXAUnŻLKBo6df!#4DIgZf3ޙ%qn]L`<rBM&wW a&ȲMdE?Tvlj"\ )K7tf4s}|^=PmW~7k)0%0U0U00UiWE93@ýe0U#0lgS0>+2000.+0"http://ocsp2.globalsign.com/rootr606U/0-0+)'%http://crl.globalsign.com/root-r6.crl0GU @0>0<U 0402+&https://www.globalsign.com/repository/0  *H  Wg+B_ Ļ(VLp :`39k@I%֤ AOἫ#ƅK$D¤вVeނȷaӵFHgzJbг4HEUJ^rqvp7W܍8X©~n&*Hdi/Қr$KtZ}r5WLSLIUOuoJ.jʈ0Ns^֙}K,kY7 ,Eֲnuڍ[/.=}0{|ŬQ0QV`|=" $S'H',y<㪄>J!b0H'|uBkkX4 P{H+Uٍ% QclraJCWŝ<1@l - ƍmqR!>9/z -j<SMGY|CA%,~ } `r@P CD YxƤj"00kE3ÅeHEQ0  *H  0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0 141210000000Z 341210000000Z0L1 0U GlobalSign Root CA - R610U  GlobalSign10U GlobalSign0"0  *H 0 sf{< E ,H[!C7y2,LC)0Ӭ!3vT"*M .phS\ӝD DfFm%]1QTFMۙ\xy]>LUop0BF“}c{?q|蘮x4% k;AHzswiǶ\X(+l^m{%7hB]Pu6i{ni HY{`zdiCLlS-^r>TȽgLEӹ0#LٙZW̻S,Ğ4L$x_|Jt%>K,V8\yt-a ~~OY_-CRF fGywT[$7EZNDHذ IIeqnE>l gZɤ1I0E0o0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  `He-0 *H  1  *H  0+ *H  4100  `He  *H  0/ *H  1" qKګ&Zf撍Y0BĆ10 *H  /1000 y9BVT͎YKq40s0_]0[1 0 UBE10U GlobalSign nv-sa110/U(GlobalSign Timestamping CA - SHA384 - G4utqɒDߥp0  *H  t6|si&vET;j Y&ҏ O0A2񭀻-m \UWݨO jl:Ý I֦HI*t]^Sb5~X%rGl$wOEϞJU6rZu(c kHbT*qY/߁wl" ׏b0?G3drxT;'1h'<=d *˚Tc.l IK.1h<ѱVVw(-"e_5:notation-go-1.2.1/verifier/testdata/timestamp/sigEnv/timestampBeforeNotBefore.sig000066400000000000000000000232771466620631100303110ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6YzA2NjllZjM0Y2RjMTQzMzJjMGYxYWIwYzJjMDFhY2I5MWQ5NjAxNGIxNzJmMWE3NmYzYTM5ZTYzZDFmMGJkYSIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo1Mjh9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSI6Im5vdGFyeS54NTA5IiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1RpbWUiOiIyMDI0LTA2LTE5VDE3OjMwOjExKzA4OjAwIn0","header":{"io.cncf.notary.timestampSignature":"MIIWxwYJKoZIhvcNAQcCoIIWuDCCFrQCAQMxDTALBglghkgBZQMEAgEwgfsGCyqGSIb3DQEJEAEEoIHrBIHoMIHlAgEBBgkrBgEEAaAyAgMwMTANBglghkgBZQMEAgEFAAQgobZw/34jR09Y539sHffP97pzdDD9eB8hb9GvG8rFoKwCFEUCRS0+BQyd7vbAoGoD3L+AMGaUGA8yMDI0MDYxOTA5MzAxNFowAwIBAQIUfVQs1Q0Ij8odYfCaVHTDPQ8UyPugYKReMFwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKDBBHbG9iYWxTaWduIG52LXNhMTIwMAYDVQQDDClHbG9iYWxzaWduIFRTQSBmb3IgQWR2YW5jZWQgLSBHNCAtIDIwMjMxMaCCElMwggZrMIIEU6ADAgECAhABGXV0ccmS10TfpZbruXAVMA0GCSqGSIb3DQEBCwUAMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0MB4XDTIzMTEwMjEwMzAwMloXDTM0MTIwNDEwMzAwMlowXDELMAkGA1UEBhMCQkUxGTAXBgNVBAoMEEdsb2JhbFNpZ24gbnYtc2ExMjAwBgNVBAMMKUdsb2JhbHNpZ24gVFNBIGZvciBBZHZhbmNlZCAtIEc0IC0gMjAyMzExMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAsjVGdKqDjdWWpzxI1cXKqN9Uvgirod9c6UnQYF61pRr3Q1hDlzz0Z2MIMjwZfyvZVUbV1IzAXM+kxaUauqcrziZCITzlu6Gjld1g6hJVru/O3DKE7aO14D9z0TW4m7vFRN3huOvzWa2J9nGPWgr6CpIFhA2XAb8Fu/xYAbONydQFhaeQK26s09lO2qckNZZvqrOgQTvg+ecRjtVmAoAtPczPHqSWixeA3Ew5GiR1LMV3FtmRgyZ/5xOLokVU5rZKd+fSLS7nsDxI2caN+3r0K7ymIkii196teEeIDF+b9JFKBhz6A55qVh4rMOPzjlmwtB8eYTiGefmDg5SPCTBCM7QOt4iCGC0/14GLJ6Bp8dMFrsZFo8Ifm63pwMhP1+fGp0EyaP9ZylRc+7/ZHxbwUtLPuDWVpZHOox31dlKY7JFhiwmhrZmZ6KyUKJc4jAmuPJz4flGiN2rIcbodTw0mAVZ+V8N1QthT4GNj3X6eHahi6M7+mVlT9vMAiv2Tlc/RAgMBAAGjggGoMIIBpDAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwHQYDVR0OBBYEFMS+7oc8iXQO3rPuGRuFDM5BTn+dMFYGA1UdIARPME0wCAYGZ4EMAQQCMEEGCSsGAQQBoDIBHjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAMBgNVHRMBAf8EAjAAMIGQBggrBgEFBQcBAQSBgzCBgDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vY2EvZ3N0c2FjYXNoYTM4NGc0MEMGCCsGAQUFBzAChjdodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc3RzYWNhc2hhMzg0ZzQuY3J0MB8GA1UdIwQYMBaAFOoWxmnn48tXRTkzpPBAvtDDvWWWMEEGA1UdHwQ6MDgwNqA0oDKGMGh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vY2EvZ3N0c2FjYXNoYTM4NGc0LmNybDANBgkqhkiG9w0BAQsFAAOCAgEAszLR6mf/29+ntDdEXe0evnYjyc4D7U3UauczjDxfIGLb7ulsODnlmXH7JpEfJ7FzXAMZz2gy0NXmdnhKqjyXMtIV7nocMjxgp0HKuT7xQerD0/HH5b7eGsbBjiLf1oDlj/KssiGNeLbEiYyUvTJzuNiXRDzXZmwNHBBcXqiIQL2grk5aLWRPBiWlhMY4cMdUcxSNVxapMByoCUnfpQEGA78Ts3SUmweBrw1BkFUpsGCpVPo4IDPOCboOTGdYgYap7YiGqZjjtuVGlyRHbEjREGrKcbI+XcM9LSGCa4Njb5fAkf77fZa5qsAczaWtkHiA1n1tiSpAjqwl+uuINiN+hvL7tQbtKIMss9qaem9IERaUNrVFQJ2BNQ3FsYybO+Y86XoYUPk5ipJ3u5EibqC5WyoBQCjk0UipMI6ihhI3TclZmcemA3/hkQp9CvgLQg5xrvbPuuUx+PkfLfDgCoyEjKU5ozuw8zbZQ9WbmCQP0MLjJj6t4fv7HqveBvb7aEHsMd+pyR6MGfY+9h6YLtFggVsmdPRUTkAE37Ve1Pfu8A2Hb0BAp2nqKMihqU93Eokxaumag3eLqcVEM+63aU4stKe0lXib1qpALDYap0RDs1LYYMZzV7981jXTI6NgQiLWFhXOExrpzvXlz1q+rD9z6fpzvxnNopdmyhxgDaK9VMwwggZZMIIEQaADAgECAg0B7BySQN79LkBdfEd0MA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTE4MDYyMDAwMDAwMFoXDTM0MTIxMDAwMDAwMFowWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDwAuIwI/rgG+GadLOvdYNfqUdSx2E6Y3w5I3ltdPwx5HQSGZb6zidiW64HiifuV6PENe2zNMeswwzrgGZt0ShKwSy7uXDycq6M95laXXauv0SofEEkjo+6xU//NkGrpy39eE5DiP6TGRfZ7jHPvIo7bmrEiPDul/bc8xigS5kcDoenJuGIyaDlmeKe9JxMP11b7Lbv0mXPRQtUPbFUUweLmW64VJmKqDGSO/J6ffwOWN+BauGwbB5lgirUIceU/kKWO/ELsX9/RpgOhz16ZevRVqkuvftYPbWF+lOZTVt07XJLog2CNxkM0KvqWsHvD9WZuT/0TzXxnA/TNxNS2SU07Zbv+GfqCL6PSXr/kLHU9ykV1/kNXdaHQx50xHAotIB7vSqbu4ThDqxvDbm19m1W/oodCT4kDmcmx/yyDaCUsLKUzHvmZ/6mWLLU2EESwVX9bpHFu7FMCEue1EIGbxsY1TbqZK7O/fUF5uJm0A4FIayxEQYjGeT7BTRE6giunUlnEYuC5a1ahqdm/TMDAd6ZJflxbumcXQJMYDzPAo8B/XLukvGnEt5CEk3sqSbldwKsDlcMCdFhniaI/MiyTdtk8EWfusE/VKPYdgKVbGqNyiJc9gwE4yn6S7Ac0zd0hNkdZqs0c48efXxeltY9GbCX6oxQkW2vV4Z+EDcdaxoU3wIDAQABo4IBKTCCASUwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFOoWxmnn48tXRTkzpPBAvtDDvWWWMB8GA1UdIwQYMBaAFK5sBaOTE+Ki5+LXHNbH8H/IZ1OgMD4GCCsGAQUFBwEBBDIwMDAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AyLmdsb2JhbHNpZ24uY29tL3Jvb3RyNjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL3Jvb3QtcjYuY3JsMEcGA1UdIARAMD4wPAYEVR0gADA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQwFAAOCAgEAf+KI2VdnK0JfgacJC7rEuygYVtZMv9sbB3DG+wsJrQA6YDMfOcYWaxlASSUIHuSb99akDY8elvKGohfeQb9P4byrze7AI4zGhf5LFST5GETsH8KkrNCyz+zCVmUdvX/23oLIt59h07VGSJiXAmd6FpVK22LG0LMCzDRIRVXd7OlKn14U7XIQcXZw0g+W8+o3V5SRGK/cjZk4GVjCqaF+om4VJuq0+X8q5+dIZGkv0pqhcvb3JEt0Wn1yhjWzAlcfi5z8u6xM3vreU0yD/RKxtklVT3WdrG9KyC5qucqIwxIwTrIIc59eodaZzul9S5YszBZrGM3kWTeGCSziRdayzW6CdaXajR63Wy+ILj198fKRMAWcznt8oMWsr1EG8BHHHTDFUVZg6HyVPSLj1QokUyeXgPpIiScseeI85Zse46qEgok+wEr1If5iEO0dMPz2zOpIJ3yLdUJ/a8vzpWuVHwRYNAqJ7YJQ5NF7qMnmvkiqK1XZjbclIA4bUaDUY6qD6mxyYUrJ+kPExlfFnbY8sIuwuRwx773vFNgUQGwgHcIt6AvGjW2MtnHtUiH+PvafnzkarqzSL3ogsfSsqh3iLRSd+pZqHcY8yvPZHL9TTaRHWXyVxENB+SXiLBB+gfkNlKd98rUJ9dhgckBQlSDUQ0S++qCV5yBZtnjGpGqqIpswggWDMIIDa6ADAgECAg5F5rsDgzPDhWVI5v9FUTANBgkqhkiG9w0BAQwFADBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNDEyMTAwMDAwMDBaFw0zNDEyMTAwMDAwMDBaMEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlQfoc8pm+ewUyns89w0I8bRFCyyCtEjG61s8roO4QZIzFKRvf+kqzMawiGvFtonRxrL/FM5RFCHsSt0bWsbWh+5NOhUG7WRmC5KAykTec5RO86eJf094YwjIElBtQmYvTbl5KE1SGooagLcZgQ5+xIq8ZEwhHENo1z08isWyZtWQmrcxBsW+4m0yBqYe+bnrqqO4v76CY1DQ8BiJ3+QPefXqoh8q0nAue+e8k7ttU+JIfIwQBzj/ZrJ3YX7g6ow8qrSk9vOVShIHbf2MsonP0KBhd8hYdLDUIzr3XTrKotudCd5dRC2Q8YHNV5L6frxQBGM032uTGL5rNrI55KwkNrfw77YcE1eTtt6y+OKFt3OiuDWqRfLgnTahb1SK8XJWbi6IxVFCRBWU7qPFOJabTk5aC0fzBjZJdzC8cTflpuwhCHX85mEWP3fV2ZGXhAps1AJNdMAU7f05+4PyXhShBLAL6f7uj+FuC7IIs2FmCWqxBjplllnA8DX9ydoojRoRh3CBCqiadR2eOoYFAJ7bgNYl+dwFnidZTHY5W+r5paHYgw/R/98wEfmFzzNI9cptZBQselhP00sIScWVZBpjDnk99bOMylitnEJFeW4OhxlcVLFltr+Mm9wT6Q1vuC7cZ27JixG1hBSKABlwg3mRl5HUGie/Nx4yB9gUYzwoTK8CAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK5sBaOTE+Ki5+LXHNbH8H/IZ1OgMB8GA1UdIwQYMBaAFK5sBaOTE+Ki5+LXHNbH8H/IZ1OgMA0GCSqGSIb3DQEBDAUAA4ICAQCDJe3o0f2VUs2ewASgkWnmXNCE3tytok/oR3jWZZipW6g8h3wCitFutxZz5l/AVJjVdL7BzeIRka0jGD3d4XJElrSVXsB7jpl4FkMTVlezorM7tXfcQHKso+ubNT6xCCGh58RDN3kyvrXnnCxMvEMpmY4w06wh4OMd+tgHM3ZUACIquU0gLnBo2uVT/INc053y/0QMRGby0uO9RgAabQK6JV2NoTFR3VRGHE3bmZbvGhwEXKYV73jgef5d2z6qTFX9mhWpb+Gm+99wMOnD7kJG7cKTBYn6fWN7P9BxgXwA6JiuDng0wyX7rwqfIGvdOxOPEoziQRpIenOgd2nHtlx/gsge/lgbKCuobK1ebcAF0nu364D+JTf+AptorEJdw+71zNzwUHXSNmmc5nsE324GabbeCglIWYfrexRgemSqaUPvkcdM7BjdbO9TLYyZ4V7ycj7PVMi9Z+ykD0xF/9O5MCMHTI8Qv4aW2ZlatJlXHKTMuxWJU7osBQ/kxJ4ZsRg01Uyduu33H68klQR4qAO77oHl2l98i0qhkHQlp7M+S8gsVr3HyO844lyS8Hn3nIS6dC1hASB+ftHyTwdZX4stQ1LrRgyU4fVmR3l31VRbH60kN8tFWk6gREjI2LCZxRWECfbWSUnAZbjmGnFuoKjxguhFPmzWAtcKZ4MFWsmkEDGCA0kwggNFAgEBMG8wWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQCEAEZdXRxyZLXRN+lluu5cBUwCwYJYIZIAWUDBAIBoIIBLTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwKwYJKoZIhvcNAQk0MR4wHDALBglghkgBZQMEAgGhDQYJKoZIhvcNAQELBQAwLwYJKoZIhvcNAQkEMSIEICktYskcc3KyxPm5x9gyYYT9PRVOUPSmcJ9kDjiLPczJMIGwBgsqhkiG9w0BCRACLzGBoDCBnTCBmjCBlwQgC3miOa5CEI3vVrNUBb+PzY5Zp0uE7uLew9lxweoXNOwwczBfpF0wWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQCEAEZdXRxyZLXRN+lluu5cBUwDQYJKoZIhvcNAQELBQAEggGADVoZuMULq3djCO+GBYUNk72EqqsL6e4X5YkaQr9fHFZNMtRABuLGBHwLXf5X62LEDvsY8XuncdR8yRm37+qOb++YWzqy14GZkymRLE6CVmc9Bk0ubMr0NFEEqoi5UAkJ+uw4cdshxZz8OBh7jRQ6A5g1pmCuLUlWyLOpYwghZkrhf7LjbaPGXoW506UXpSMVpzCOhS/xZLQCb3qk6/+giVF13cws/vFRImkeBjcHjZb+Mg9BfzHAcCeF9AM6VZqGfACWVKHKAQohGIaKOe13ckHCXsET91DTkkvnJjyyoNjGTOpxBlg5UH4vdB8iUlaed/B80zOZiXzhwR7Tl1Si3D5n/LBak+ef8+fB7AZZBWF6u1iQaIcaf5u0TdTseFMiJyEg4AjaJCXesa5v2G23yBxZNC1UIfqiD506uFg1E6zX59krRhR3dZRK0qd4P3NcRwuXH4rRzRg+44B9+ICUnh5QmnRDqhnhKXPtDUnSVgcfIQ6W8/IU1N9vLylRJe4q","x5c":["MIIDRTCCAi2gAwIBAgICAKYwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxEDAOBgNVBAMTB3Rlc3RUU0EwIhgPMjA5OTA5MTgxMTU0MzRaGA8yMTAwMDkxODExNTQzNFowTzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxEDAOBgNVBAMTB3Rlc3RUU0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDI7xKl3GyBZregnHgxUw7rb3yO5jSo31Pa+EhxghQ0/rRKc/1DtfMQURjDYDdjqRmEXq8rVyEAuaBXSKqBMq9bazP7Ot8N/B0OgRCgXwizn//Ha5XfpHqV9lUud4oztdxapejfT6UQSIVqtgWEbZkr4N74G5NV13LlITtWmHpTLo2LfE7jAXTaoCjo/U/eVFFc6X7jyXwaAVyNC2Pi45d/GOaFx/MGHnK6zbN8PeIh5KqInp0UNcHZLBbduxWQhdISULR/x6pVocqExv6zLmRbn5I65wrYL/8gpQPTeZv4S2COpB+25Xy8oyaM6tPa96Pi1NIXtChWO8+muXj1Z4VfAgMBAAGjJzAlMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAQEAXFaaITvi3skq+czzmbyebtrAa8I9iEbjmWSPjoaUir2NYOLWsyQ7+gkBlMcw5+anP+BC98VBgNVjuQ5oXwdu57xouW7jk/dI5uuKLOFxFdCG7FwW3ycD6GGgj+/2LthxNOxc7CnnMjUuSw2FKJKesiuHQJpdPjgw9cKs+fZF5tr6ZhX4yAUFqouZJ7Hc5JSj3zyEpIbFapVpSAK8O1/mct4KDtt1SmyYn34o55ggyLurrlZ9ctQWHT8xyjc6+b4lEKbilA+xjTt+/BLIs/v/8CVIUzz6OzTCwBraj3kayM7CdGKSysocnJZ/yUcHVw1hLs1+JIMj75i0T6s+GtuT4A=="],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"pWbiEQRI4e_8nPV2AJPGNHg289WVwqnK7xqH6byLwXjc0hWrkniUSkIPLd3XDhGdpqLbqSLazU3cVTbSphV25aW1GS1G3Qsa3W3wzcwfq5ZhVDmuwO4u_322SAw01s3hVVxXciYK-9bTKkkfHfE_9ZKVSf7zEr28vyuQ92aZd85P-oz3YfvvnAxBGLYp-RPOQNSmtD2IxJWWTNLtwnnntBqr0WdGXS7wWSmUWzcKS9kNEAER1CN8L9SCh2mvBcNfDJlwCoLNaQZK_ZtBIrDQHmQjYkjSBupFTKp_TFic45j79AS7_-4sMdscJbZJzR9Tav7JInMhIKvh0mIfSfkIVQ"}notation-go-1.2.1/verifier/testdata/timestamp/sigEnv/withoutTimestamp.sig000066400000000000000000000040501466620631100267320ustar00rootroot00000000000000{"payload":"eyJ0YXJnZXRBcnRpZmFjdCI6eyJkaWdlc3QiOiJzaGEyNTY6YzA2NjllZjM0Y2RjMTQzMzJjMGYxYWIwYzJjMDFhY2I5MWQ5NjAxNGIxNzJmMWE3NmYzYTM5ZTYzZDFmMGJkYSIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLCJzaXplIjo1Mjh9fQ","protected":"eyJhbGciOiJQUzI1NiIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSI6Im5vdGFyeS54NTA5IiwiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1RpbWUiOiIyMDI0LTA2LTE4VDE3OjA4OjM1KzA4OjAwIn0","header":{"x5c":["MIIDPjCCAiagAwIBAgIBeTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEPMA0GA1UEAxMGYWxwaW5lMB4XDTIzMDUwOTA0NTUxMloXDTMzMDUxMDA0NTUxMlowTjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxDzANBgNVBAMTBmFscGluZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK5hpq1229GGLjMK6i9KZhuUO+SV7rUFnWIDiIPO5yWxYDkl+bGroeAvJYu6MVCMQ6FMRXD9jhnG6R+sAHwY7gVgcJ1OXak87PkLp/Ii1Cr7XkkySZeD+Br1vSQzfxs3pFG+iBCeVVkeZdsg+xqwnAlqAILXwIbTGRyJP1Xiu9nwOeuX1YmxPl2m29Pt1EtfVCL9COsVKt5LgOVyWP/9ISWevOBqSCU9bk35HFo9VTeUf6+ffhSMjv0Y9uwkFFOKXpcV8Sa3ArqyBmgQlUfGg1iwYlqiDE0fTYxiB3gLgETAlmTm50J+WB9LoDrnrQpbXFLoegm+JV+uSD8J8H7DL2sCAwEAAaMnMCUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4IBAQAt0Nvna1c4pPn8kzoN5VvmFmeIgdO/BJpmdhdg0WIQ9aeN/xPXXaVjPp1Mk7edXHAvBwQr0Gyzqyy7g/h0gdnAFG7f6blrRNzbrRBCq6cNqX8iwgK/9+2OYKxk1QWj8Gx0cvu1DN1aXjPPGgQ2j3tHjJvJv32J/zuZa8gU40RPPSLaBlc5ZjpFmyi29sKlTeeZ+F/Ssic51qXXw2CsYGGWK5yQ3xSCxbw6bb2G/s/YI7/KlWg9BktBJHzRu04ZNR77W7/dyJ3Lj17PlW1XKmMOFHsQivagXeRCbmYZ43fX4ugFRFKL7KE0EgmGOWpJ0xv+6ig93sqHzQ/0uv1YgFov"],"io.cncf.notary.signingAgent":"Notation/1.0.0"},"signature":"ToCyclYJtk-Gtb13j1sWW7FQ7iZA9Vq6u_x6nJD3pRkBXhtatvSBsaZ_mqFHKrJWEY3UOBzi2SYobCQYww0cVwbzeDetPhjBhmH-bW-N_pbjGntgB2K1owvJnlycUoOfC2RQ1eDa4mC7Dj1mKzA5Tb-qnNbrT75pvQKZjTY1RZaN6p_xKBJA-AAiQrgHEvlf4m8ZbvqtZ0x4_uiGwfWoNCqPtrZK71mEpPSjfOT3mN5FkZqY0L3jSKRtFRLd1rb0UA2RB-E0CshsNb-hJgTX4SIzUlgcVT10SJnKw0yy_QqrxhMlejOUiV8HHKgbsZqQg1kwFjP5QwzWr5HB6vbRzg"}notation-go-1.2.1/verifier/testdata/truststore/000077500000000000000000000000001466620631100216405ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/000077500000000000000000000000001466620631100223455ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/000077500000000000000000000000001466620631100227305ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-invalid-certs/000077500000000000000000000000001466620631100307565ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-invalid-certs/invalid000066400000000000000000000000101466620631100323160ustar00rootroot00000000000000invalid notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-leaf-certs-in-single-file/000077500000000000000000000000001466620631100330375ustar00rootroot00000000000000RootAndLeafCerts.crt000066400000000000000000000047771466620631100366500ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-leaf-certs-in-single-file-----BEGIN CERTIFICATE----- MIIDejCCAmKgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEe MBwGA1UEAxMVd2FiYml0LW5ldHdvcmtzLmlvIENBMB4XDTIyMDkyMDA2MzExM1oX DTIyMDkyMTA2MzExM1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1u ZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALiZp5O+ 6YtaNO5GbWaZUxvJPXktJ7k7LBX5G/Kn6eh9JkJln1agqbax9MRDB/5YCdQBKMBq NE2wYIwmCs7ArFU5DxvRhoBnCGLjcsIZ9pfaZ6lBppEvxMmUAYDmgjze0J13PwRp WAZMfBlisZnJAWokgE5sWtggUXURyFk67H0R+4sWlm8SSZOiJCA/e0bYPCHTfFA/ 2zg6koNRSwvI6zvftGnnJ9ny0BTuGOjZ6lDfIX5awFrgRdO8wmwejo4oJ45tUotF /Rt/yHkmjdGhONbJjcMLf9AIyVwMHg6t6mj2SYbHqzIyTcpjk90HgeiU5eS5JMqj Jkug5U9XrGGCqIcCAwEAAaNIMEYwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG CCsGAQUFBwMDMB8GA1UdIwQYMBaAFLAy4Il5S9zOd/AMWF8hATmldAjYMA0GCSqG SIb3DQEBCwUAA4IBAQBLYBnSuMNCzzLmeqH/wBr6kKUtF10AN9VF8/3iZW8iCj4B Bx7VDq7iZR/G9UTLsWdZqkkxnOGu4QffBHz2Lc1v9D923EEPDAP5mJYvUchvdXYT lmyQr9QEjRC6IFhlBB27Bi207QJ8UxYgmbseQ3FQFE16Usdmlg9iWDn5tx/DZn9/ yUd81yKKYp2uLx0x2sQDJh61QSZB6jtzjN7w4Xax2NViabLaH7raMrDbIqigkXJh iXG9fWx1Ax7S3dJVIglbZGPgYDW14Ass40gs8vcOBg8CwszrKiEuwp20d12Ky87/ 0pLsOWJmcNyXbd3gztX01N1frSEbvTBJNI9E/jmI -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDjzCCAnegAwIBAgIBATANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEe MBwGA1UEAxMVd2FiYml0LW5ldHdvcmtzLmlvIENBMB4XDTIyMDkyMDA2MzExM1oX DTIyMTAyMDA2MzExM1owXTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxHjAcBgNVBAMTFXdhYmJpdC1u ZXR3b3Jrcy5pbyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKNM 3dUToC4TyegGMw47ax9aZt13pQgTeV7xZbVsOmZiv/8gZ9tEZWgQbvBJrWUH8y4o eQLCVQOTESNP2TSyTqizNtG1ex6YfSpWKSqUkfGX2II9xCX8hNXZqTphAjrGGf2Z EOLRIIkbhjkuiAR+7q4TF/KJhdfYD1HQBJ2PF92egV5JEZTrxIjVIi+WK19VKSwx m7oFiijve4VPaQYQnWgj0dk+Tn9cMB/OMX6cszoJbn98ogQIvWaY3dd1qba4uGJ9 vmkNKDJcUd1PbkaVlikXC4UM+PxXy7/ZvSihOXurAPIChS6JgWC8Ru2vxm9SC+BN 5J/hr92W2TdsrvLkrc8CAwEAAaNaMFgwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM MAoGCCsGAQUFBwMDMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFLAy4Il5 S9zOd/AMWF8hATmldAjYMA0GCSqGSIb3DQEBCwUAA4IBAQCTf6GbT5Z0x5ciNr9i 8i+QsIAg7ZHzv5RLLJuocGcKwbdi+btU6BPl/X4U5ZB6OArv4oiyPSbECoxkgGRq cj+mfzXdm/3jEyRskHDfoxcJFYmcBsEykS7DoLYEy5HxgKSaGOLl4dMWbbj/E8mR e9XC5ruvPNZX52pQMqSqUUTYlbR4YQojsp7ShcLLD/Iea90wXk44+wHAKNFpwkN1 h5JMlYm+jKkol6u/Nmd3vNqhzrL91ZLPVtSWpfsBxh7l4BsDns2uPl+/fgCav9MJ jUkWJbEaDPY5bSbHDhCbxMO37VbvkkFUvz7lfKAkXj6DnkPzMj3++KTFNdw3fJ4+ WzLe -----END CERTIFICATE----- notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-leaf-certs/000077500000000000000000000000001466620631100302375ustar00rootroot00000000000000GlobalSignRootCA.crt000066400000000000000000000024161466620631100337660ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-leaf-certs-----BEGIN CERTIFICATE----- MIIDjzCCAnegAwIBAgIBATANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEe MBwGA1UEAxMVd2FiYml0LW5ldHdvcmtzLmlvIENBMB4XDTIyMDkyMDA2MzExM1oX DTIyMTAyMDA2MzExM1owXTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxHjAcBgNVBAMTFXdhYmJpdC1u ZXR3b3Jrcy5pbyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKNM 3dUToC4TyegGMw47ax9aZt13pQgTeV7xZbVsOmZiv/8gZ9tEZWgQbvBJrWUH8y4o eQLCVQOTESNP2TSyTqizNtG1ex6YfSpWKSqUkfGX2II9xCX8hNXZqTphAjrGGf2Z EOLRIIkbhjkuiAR+7q4TF/KJhdfYD1HQBJ2PF92egV5JEZTrxIjVIi+WK19VKSwx m7oFiijve4VPaQYQnWgj0dk+Tn9cMB/OMX6cszoJbn98ogQIvWaY3dd1qba4uGJ9 vmkNKDJcUd1PbkaVlikXC4UM+PxXy7/ZvSihOXurAPIChS6JgWC8Ru2vxm9SC+BN 5J/hr92W2TdsrvLkrc8CAwEAAaNaMFgwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM MAoGCCsGAQUFBwMDMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFLAy4Il5 S9zOd/AMWF8hATmldAjYMA0GCSqGSIb3DQEBCwUAA4IBAQCTf6GbT5Z0x5ciNr9i 8i+QsIAg7ZHzv5RLLJuocGcKwbdi+btU6BPl/X4U5ZB6OArv4oiyPSbECoxkgGRq cj+mfzXdm/3jEyRskHDfoxcJFYmcBsEykS7DoLYEy5HxgKSaGOLl4dMWbbj/E8mR e9XC5ruvPNZX52pQMqSqUUTYlbR4YQojsp7ShcLLD/Iea90wXk44+wHAKNFpwkN1 h5JMlYm+jKkol6u/Nmd3vNqhzrL91ZLPVtSWpfsBxh7l4BsDns2uPl+/fgCav9MJ jUkWJbEaDPY5bSbHDhCbxMO37VbvkkFUvz7lfKAkXj6DnkPzMj3++KTFNdw3fJ4+ WzLe -----END CERTIFICATE----- notation-go-1.2.1/verifier/testdata/truststore/x509/ca/trust-store-with-leaf-certs/non-ca.crt000066400000000000000000000023611466620631100321260ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIDejCCAmKgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJVUzEL MAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEe MBwGA1UEAxMVd2FiYml0LW5ldHdvcmtzLmlvIENBMB4XDTIyMDkyMDA2MzExM1oX DTIyMDkyMTA2MzExM1owWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEndhYmJpdC1u ZXR3b3Jrcy5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALiZp5O+ 6YtaNO5GbWaZUxvJPXktJ7k7LBX5G/Kn6eh9JkJln1agqbax9MRDB/5YCdQBKMBq NE2wYIwmCs7ArFU5DxvRhoBnCGLjcsIZ9pfaZ6lBppEvxMmUAYDmgjze0J13PwRp WAZMfBlisZnJAWokgE5sWtggUXURyFk67H0R+4sWlm8SSZOiJCA/e0bYPCHTfFA/ 2zg6koNRSwvI6zvftGnnJ9ny0BTuGOjZ6lDfIX5awFrgRdO8wmwejo4oJ45tUotF /Rt/yHkmjdGhONbJjcMLf9AIyVwMHg6t6mj2SYbHqzIyTcpjk90HgeiU5eS5JMqj Jkug5U9XrGGCqIcCAwEAAaNIMEYwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG CCsGAQUFBwMDMB8GA1UdIwQYMBaAFLAy4Il5S9zOd/AMWF8hATmldAjYMA0GCSqG SIb3DQEBCwUAA4IBAQBLYBnSuMNCzzLmeqH/wBr6kKUtF10AN9VF8/3iZW8iCj4B Bx7VDq7iZR/G9UTLsWdZqkkxnOGu4QffBHz2Lc1v9D923EEPDAP5mJYvUchvdXYT lmyQr9QEjRC6IFhlBB27Bi207QJ8UxYgmbseQ3FQFE16Usdmlg9iWDn5tx/DZn9/ yUd81yKKYp2uLx0x2sQDJh61QSZB6jtzjN7w4Xax2NViabLaH7raMrDbIqigkXJh iXG9fWx1Ax7S3dJVIglbZGPgYDW14Ass40gs8vcOBg8CwszrKiEuwp20d12Ky87/ 0pLsOWJmcNyXbd3gztX01N1frSEbvTBJNI9E/jmI -----END CERTIFICATE----- notation-go-1.2.1/verifier/testdata/truststore/x509/ca/valid-trust-store-2/000077500000000000000000000000001466620631100264775ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/truststore/x509/ca/valid-trust-store-2/GlobalSign.der000066400000000000000000000015431466620631100312170ustar00rootroot000000000000000_0G !XS0  *H  0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0 090318100000Z 290318100000Z0L1 0U GlobalSign Root CA - R310U  GlobalSign10U GlobalSign0"0  *H 0 %vyx"(vŭrFCDz_$.K`FR Gpld,= +׶y;wIjb/^h߉'8>&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,&Y sް&[`I(i;(坊aW7tt:r/.л=3+S:sA :O.2`W˹hh8&`uw I@H1a^wdz_b lTin郓qviB0@0U0U00UK.E$MPc0  *H  K@P TEI A(3kt- sgJD{xnlo)39EÎWlS-$lcShgV>5!hS̐]FzX(/7ADmS(~g׊L'Lssvz- ,!C7y2,LC)0Ӭ!3vT"*M .phS\ӝD DfFm%]1QTFMۙ\xy]>LUop0BF“}c{?q|蘮x4% k;AHzswiǶ\X(+l^m{%7hB]Pu6i{ni HY{`zdiCLlS-^r>TȽgLEӹ0#LٙZW̻S,Ğ4L$x_|Jt%>K,V8\yt-a ~~OY_-CRF fGywT[$7EZNDHذ IIeqnE>l gZɤnotation-go-1.2.1/verifier/testdata/verifier/000077500000000000000000000000001466620631100212155ustar00rootroot00000000000000notation-go-1.2.1/verifier/testdata/verifier/bad-cert.pem000066400000000000000000000035261466620631100234070ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIFPjCCAyYCCQCUhFkkjvs/QzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJV UzELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEDAOBgNVBAMMB0JhZD0j Q04xDzANBgNVBAsMBlNvbWVPVTEQMA4GA1UECgwHU29tZU9yZzAeFw0yMzAyMTAy MjU4MjZaFw0yNDAyMTAyMjU4MjZaMGExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJX QTEQMA4GA1UEBwwHU2VhdHRsZTEQMA4GA1UEAwwHQmFkPSNDTjEPMA0GA1UECwwG U29tZU9VMRAwDgYDVQQKDAdTb21lT3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEA3eCwQ3snC1akVZKRFTqzoJ9HldLtzhmIbzaQeofKRn1HG18Dxbfw XGtL0kqFL7ew9C7Qg0JpSo4tp0r3TdMsykFOPf9nkMjGQOA4TTPdYCGtKYLP0UiE yDeLita5VkXABuwSGG5wi1tcuPQXVCXvnyzTPVj9eRGMBvFNop5P8y8cY4Jv5PJc PLlgnMskdTqElKyIqk5E6KP9NeVdiJW1c6JZ+TvICfjcwhinAVVE00dgMidDRk/+ LorlWFJoXLw4i6b8uLXar8Xh7kn83LMOFM217WiW8h78ANPjtDxBnzw9BiCEQXBo ScpIdmyhmm4TBiXJHOOTwhZPUtRFmAsk/apP+OkNI20ENQUvu7MHD0Rjy1ZHCI2W VDAQt7/8PeDKsVeM8HNpehN9Rjom5mF9PE21Y2meZKhbU3vlWNO+MAXm4yitp5m3 1gS+cLnh88YPkRPlJVNv/HbJerqh+9sFB94IxRbpgOP2np5XyR+1yTKSbUZt6kIg Zoo9vsOjCZ2Mgy67dVMJ7mqMeRKw/v3LapGuUizv8XlTF3Sg2LBkzrPe0+PVOw85 Oymprd0rasM0CoxQt3uI+shGUA7ZwEUwg6cjvV4VqvbXsRAgJyvNedp2fawrNC01 EPP63c8zXmS9j/PDfS9zSAgsNJnBcuoqWCFXQmbI2+FHjzYgPdjtYEECAwEAATAN BgkqhkiG9w0BAQsFAAOCAgEAXnOIleUM6unIJGpsCQkaVBG2bqIkbTZRkO85ekQG GeU7J9RMF8w+qO5zqcK6X5iUlN+w/eLbu7oLPK0ST4NIV9cXxf+mWrX2Tceee65e qLPbtinPm9oSVcc7TGTx0scmHaOTmh6v01zGo/oQMVah2uCeTbanuRyoH9Qa/rOv 1o8/JmbYqDrNP9/Lm6c8+iOPBab0MmR17Vp6zs2gAimGD+30at8nm4uEMHGbT4XL 8HVxI6Qn/jUJTKq6XpWSLYI2g2L0Sr0vGmqhnNKb2fPQJsYGL5dO4RTuQOoKGrnQ LMNQZuh2ifDI2Eri9PZTCUJ/T1Iqenko6GxTfLcCe1nVB3bUqvS+fDKWri4Vdf2P w9hCdnRycL6llfGGjMMYvRx/HK8mzGrfMUhqa6/raRiK7REzZpFt9walbAtdi/o4 iIh7Tb4ju7pj0GfzsqGJXEGZQyv/RNfkhXBJdFuSsB7ysGIPMzf5lcpNbVBVdahi hI2BJ0x+1JtJ1YqM1bQtyaikieEkj5PrhK1Uugev3zdo9wtuQPXo9mLX86aBNIBB v8+lWu6Y1vWinDYiztdZAiK2P7Nn9V3EbORvf2r5F4lKCYEJbUl42+ANwir6fMBb u+gbgN7ueDcsd3MQ2VJ4mVvaA2UQspbZdpoDIwnBchy8IDbwtx8aARzw8NrAXjrl F/Y= -----END CERTIFICATE-----notation-go-1.2.1/verifier/testdata/verifier/signing-cert.pem000066400000000000000000000024521466620631100243140ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIDozCCAougAwIBAgIUA5HjR8ZgidbFgL8NLsFXPd6iDBEwDQYJKoZIhvcNAQEL BQAwYDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0dGxl MRAwDgYDVQQKDAdTb21lT3JnMQ8wDQYDVQQLDAZTb21lT1UxDzANBgNVBAMMBlNv bWVDTjAgFw0yMjA2MTMwNDQ2MjNaGA8yMTIyMDUyMDA0NDYyM1owYDELMAkGA1UE BhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0dGxlMRAwDgYDVQQKDAdT b21lT3JnMQ8wDQYDVQQLDAZTb21lT1UxDzANBgNVBAMMBlNvbWVDTjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALyAm8sfyY6zhixbAJu8/nNJzMnxO4zA XDeE8V1bCB6N1WR/V4vbZY3wCDdG+M/gsexNgaqrNUaEp4OjmwWp7h4d86ReoVRf uvfiDXfWAq/y4KtjdlAzkd/q4JhgUc7oI9YnDTVFXvi9yxBRDIXF/nNW6yS4iul7 fpj0iDBWR5tlOI3bvJLM4mX6MxIzGUNjLB4PN3kO3vH3wfhLI1XFO+6y5Rr+QzcY B2R8tPfQG2y2mMx06Ee7Jov/li4FtMJMe9ziSeSE3JGJ/gXQvSi4PTfYA/FNW2Sz 2eb9TMjGoskfPd47wSvBZrKoV6/pm9vGsu5Givr8mPQHN8QDvURUTpcCAwEAAaNT MFEwHQYDVR0OBBYEFEDMH1VsIikMGD104MmzA8G8YLopMB8GA1UdIwQYMBaAFEDM H1VsIikMGD104MmzA8G8YLopMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL BQADggEBAKiVQWOxF8rNr/Jj2iCYofUJ4g7o4Mq00bx4Ei4nZc+PqgXvDatE07+N V7GgO9chgvEbSwOVfX1tALjwvcHdDeYdcnxskTpMdMUOvPaFN6vZ5tiJPiZvcupv kkINd9L7w7cS8NaG+MTbjkC890ZuAPG+id5G+u9MQYPdOWJlOqNVWgoDAK/L4949 5HHZWfAFv0ieig4S568ZvInDE0X+A96KC0FRubtc/uckQYCzALggM4NO6I4TMtkJ ZRcPkV0A7g/tr8nBQvjQK81S/d9z1ivjvSinAm2zJY1naQWjLfQU74pjbGLwxA9a qCPKeDbrkBdwkxcGEBr1OocdN0gdUZQ= -----END CERTIFICATE----- notation-go-1.2.1/verifier/timestamp_test.go000066400000000000000000000521641466620631100211720ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package verifier import ( "context" "crypto/x509" "net/http" "os" "testing" "time" "github.com/notaryproject/notation-core-go/revocation" "github.com/notaryproject/notation-core-go/revocation/purpose" "github.com/notaryproject/notation-core-go/signature" "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/signature/jws" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ) func TestAuthenticTimestamp(t *testing.T) { dir.UserConfigDir = "testdata" trustStore := truststore.NewX509TrustStore(dir.ConfigFS()) dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-timestamp"}, TrustedIdentities: []string{"*"}, } revocationTimestampingValidator, err := revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{Timeout: 2 * time.Second}, CertChainPurpose: purpose.Timestamping, }) if err != nil { t.Fatalf("failed to get revocation timestamp client: %v", err) } // valid JWS signature envelope with timestamp countersignature jwsEnvContent, err := parseEnvContent("testdata/timestamp/sigEnv/jwsWithTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } // valid COSE signature envelope with timestamp countersignature coseEnvContent, err := parseEnvContent("testdata/timestamp/sigEnv/coseWithTimestamp.sig", cose.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } t.Run("verify Authentic Timestamp with jws format", func(t *testing.T) { outcome := ¬ation.VerificationOutcome{ EnvelopeContent: jwsEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) if err := authenticTimestampResult.Error; err != nil { t.Fatalf("expected nil error, but got %s", err) } }) t.Run("verify Authentic Timestamp with cose format", func(t *testing.T) { outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) if err := authenticTimestampResult.Error; err != nil { t.Fatalf("expected nil error, but got %s", err) } }) t.Run("verify Authentic Timestamp jws with expired codeSigning cert", func(t *testing.T) { jwsEnvContent, err := parseEnvContent("testdata/timestamp/sigEnv/jwsExpiredWithTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: jwsEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) if err := authenticTimestampResult.Error; err != nil { t.Fatalf("expected nil error, but got %s", err) } }) t.Run("verify Authentic Timestamp cose with expired codeSigning cert", func(t *testing.T) { coseEnvContent, err := parseEnvContent("testdata/timestamp/sigEnv/coseExpiredWithTimestamp.sig", cose.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) if err := authenticTimestampResult.Error; err != nil { t.Fatalf("expected nil error, but got %s", err) } }) t.Run("verify Authentic Timestamp with afterCertExpiry set", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAfterCertExpiry, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-timestamp"}, TrustedIdentities: []string{"*"}, } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) if err := authenticTimestampResult.Error; err != nil { t.Fatalf("expected nil error, but got %s", err) } }) t.Run("verify Authentic Timestamp failed due to invalid trust policy", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa"}, TrustedIdentities: []string{"*"}, } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: jwsEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to check tsa trust store configuration in turst policy with error: invalid trust policy statement: \"test-timestamp\" is missing separator in trust store value \"tsa\". The required format is :" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to missing tsa in trust policy and expired codeSigning cert", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store"}, TrustedIdentities: []string{"*"}, } coseEnvContent, err := parseEnvContent("testdata/timestamp/sigEnv/coseExpiredWithTimestamp.sig", cose.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "verification time is after certificate \"CN=testTSA,O=Notary,L=Seattle,ST=WA,C=US\" validity period, it was expired at \"Tue, 18 Jun 2024 07:30:31 +0000\"" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to missing timestamp countersignature", func(t *testing.T) { envContent, err := parseEnvContent("testdata/timestamp/sigEnv/withoutTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "no timestamp countersignature was found in the signature envelope" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to invalid timestamp countersignature content type", func(t *testing.T) { signedToken, err := os.ReadFile("testdata/timestamp/countersignature/TimeStampTokenWithInvalideContentType.p7s") if err != nil { t.Fatalf("failed to get signedToken: %v", err) } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/withoutTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } envContent.SignerInfo.UnsignedAttributes.TimestampSignature = signedToken outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to parse timestamp countersignature with error: unexpected content type: 1.2.840.113549.1.7.1" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to invalid TSTInfo", func(t *testing.T) { signedToken, err := os.ReadFile("testdata/timestamp/countersignature/TimeStampTokenWithInvalidTSTInfo.p7s") if err != nil { t.Fatalf("failed to get signedToken: %v", err) } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/withoutTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } envContent.SignerInfo.UnsignedAttributes.TimestampSignature = signedToken outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to get the timestamp TSTInfo with error: cannot unmarshal TSTInfo from timestamp token: asn1: structure error: tags don't match (23 vs {class:0 tag:16 length:3 isCompound:true}) {optional:false explicit:false application:false private:false defaultValue: tag: stringType:0 timeType:24 set:false omitEmpty:false} Time @89" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to failed to validate TSTInfo", func(t *testing.T) { signedToken, err := os.ReadFile("testdata/timestamp/countersignature/TimeStampToken.p7s") if err != nil { t.Fatalf("failed to get signedToken: %v", err) } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/withoutTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } envContent.SignerInfo.UnsignedAttributes.TimestampSignature = signedToken envContent.SignerInfo.Signature = []byte("mismatch") outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to get timestamp from timestamp countersignature with error: invalid TSTInfo: mismatched message" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to failed to verify timestamp countersignature", func(t *testing.T) { signedToken, err := os.ReadFile("testdata/timestamp/countersignature/TimeStampTokenWithoutCertificate.p7s") if err != nil { t.Fatalf("failed to get signedToken: %v", err) } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/withoutTimestamp.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } envContent.SignerInfo.UnsignedAttributes.TimestampSignature = signedToken envContent.SignerInfo.Signature = []byte("notation") outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to verify the timestamp countersignature with error: failed to verify signed token: signing certificate not found in the timestamp token" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to trust store does not exist", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:does-not-exist"}, TrustedIdentities: []string{"*"}, } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to load tsa trust store with error: the trust store \"does-not-exist\" of type \"tsa\" does not exist" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to empty trust store", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-empty"}, TrustedIdentities: []string{"*"}, } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, dummyTrustStore{}, revocationTimestampingValidator, outcome) expectedErrMsg := "no trusted TSA certificate found in trust store" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to tsa not trust", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-mismatch"}, TrustedIdentities: []string{"*"}, } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: coseEnvContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "failed to verify the timestamp countersignature with error: failed to verify signed token: cms verification failure: x509: certificate signed by unknown authority" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to timestamp before signing cert not before", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-timestamp"}, TrustedIdentities: []string{"*"}, } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/timestampBeforeNotBefore.sig", jws.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "timestamp can be before certificate \"CN=testTSA,O=Notary,L=Seattle,ST=WA,C=US\" validity period, it will be valid from \"Fri, 18 Sep 2099 11:54:34 +0000\"" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) t.Run("verify Authentic Timestamp failed due to timestamp after signing cert not after", func(t *testing.T) { dummyTrustPolicy := &trustpolicy.TrustPolicy{ Name: "test-timestamp", RegistryScopes: []string{"*"}, SignatureVerification: trustpolicy.SignatureVerification{ VerificationLevel: trustpolicy.LevelStrict.Name, VerifyTimestamp: trustpolicy.OptionAlways, }, TrustStores: []string{"ca:valid-trust-store", "tsa:test-timestamp"}, TrustedIdentities: []string{"*"}, } envContent, err := parseEnvContent("testdata/timestamp/sigEnv/timestampAfterNotAfter.sig", cose.MediaTypeEnvelope) if err != nil { t.Fatalf("failed to get signature envelope content: %v", err) } outcome := ¬ation.VerificationOutcome{ EnvelopeContent: envContent, VerificationLevel: trustpolicy.LevelStrict, } authenticTimestampResult := verifyAuthenticTimestamp(context.Background(), dummyTrustPolicy.Name, dummyTrustPolicy.TrustStores, dummyTrustPolicy.SignatureVerification, trustStore, revocationTimestampingValidator, outcome) expectedErrMsg := "timestamp can be after certificate \"CN=testTSA,O=Notary,L=Seattle,ST=WA,C=US\" validity period, it was expired at \"Tue, 18 Sep 2001 11:54:34 +0000\"" if err := authenticTimestampResult.Error; err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } }) } func parseEnvContent(filepath, format string) (*signature.EnvelopeContent, error) { sigEnvBytes, err := os.ReadFile(filepath) if err != nil { return nil, err } sigEnv, err := signature.ParseEnvelope(format, sigEnvBytes) if err != nil { return nil, err } return sigEnv.Content() } type dummyTrustStore struct{} func (ts dummyTrustStore) GetCertificates(ctx context.Context, storeType truststore.Type, namedStore string) ([]*x509.Certificate, error) { return nil, nil } notation-go-1.2.1/verifier/trustpolicy/000077500000000000000000000000001466620631100201725ustar00rootroot00000000000000notation-go-1.2.1/verifier/trustpolicy/oci.go000066400000000000000000000211271466620631100212760ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package trustpolicy import ( "errors" "fmt" "regexp" "strings" "github.com/notaryproject/notation-go/dir" set "github.com/notaryproject/notation-go/internal/container" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/internal/trustpolicy" ) // Document represents a trustpolicy.json document type Document struct { // Version of the policy document Version string `json:"version"` // TrustPolicies include each policy statement TrustPolicies []TrustPolicy `json:"trustPolicies"` } // TrustPolicy represents a policy statement in the policy document type TrustPolicy struct { // Name of the policy statement Name string `json:"name"` // RegistryScopes that this policy statement affects RegistryScopes []string `json:"registryScopes"` // SignatureVerification setting for this policy statement SignatureVerification SignatureVerification `json:"signatureVerification"` // TrustStores this policy statement uses TrustStores []string `json:"trustStores"` // TrustedIdentities this policy statement pins TrustedIdentities []string `json:"trustedIdentities"` } var supportedPolicyVersions = []string{"1.0"} // LoadDocument retrieves a trust policy document from the local file system. func LoadDocument() (*Document, error) { var doc Document if err := getDocument(dir.PathTrustPolicy, &doc); err != nil { return nil, err } return &doc, nil } // Validate validates a policy document according to its version's rule set. // if any rule is violated, returns an error func (policyDoc *Document) Validate() error { // sanity check if policyDoc == nil { return errors.New("trust policy document cannot be nil") } // Validate Version if policyDoc.Version == "" { return errors.New("trust policy document has empty version, version must be specified") } if !slices.Contains(supportedPolicyVersions, policyDoc.Version) { return fmt.Errorf("trust policy document uses unsupported version %q", policyDoc.Version) } // Validate the policy according to 1.0 rules if len(policyDoc.TrustPolicies) == 0 { return errors.New("trust policy document can not have zero trust policy statements") } policyNames := set.New[string]() for _, statement := range policyDoc.TrustPolicies { // Verify unique policy statement names across the policy document if policyNames.Contains(statement.Name) { return fmt.Errorf("multiple trust policy statements use the same name %q, statement names must be unique", statement.Name) } if err := validatePolicyCore(statement.Name, statement.SignatureVerification, statement.TrustStores, statement.TrustedIdentities); err != nil { return fmt.Errorf("trust policy: %w", err) } policyNames.Add(statement.Name) } // Verify registry scopes are valid if err := validateRegistryScopes(policyDoc); err != nil { return err } return nil } // GetApplicableTrustPolicy returns a pointer to the deep copied TrustPolicy // statement that applies to the given registry scope. If no applicable trust // policy is found, returns an error // see https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md#selecting-a-trust-policy-based-on-artifact-uri func (policyDoc *Document) GetApplicableTrustPolicy(artifactReference string) (*TrustPolicy, error) { artifactPath, err := getArtifactPathFromReference(artifactReference) if err != nil { return nil, err } var wildcardPolicy *TrustPolicy var applicablePolicy *TrustPolicy for _, policyStatement := range policyDoc.TrustPolicies { if slices.Contains(policyStatement.RegistryScopes, trustpolicy.Wildcard) { // we need to deep copy because we can't use the loop variable // address. see https://stackoverflow.com/a/45967429 wildcardPolicy = (&policyStatement).clone() } else if slices.Contains(policyStatement.RegistryScopes, artifactPath) { applicablePolicy = (&policyStatement).clone() } } if applicablePolicy != nil { // a policy with exact match for registry scope takes precedence over // a wildcard (*) policy. return applicablePolicy, nil } else if wildcardPolicy != nil { return wildcardPolicy, nil } else { return nil, fmt.Errorf("artifact %q has no applicable trust policy statement. Trust policy applicability for a given artifact is determined by registryScopes. To create a trust policy, see: %s", artifactReference, trustPolicyLink) } } // clone returns a pointer to the deeply copied TrustPolicy func (t *TrustPolicy) clone() *TrustPolicy { return &TrustPolicy{ Name: t.Name, SignatureVerification: t.SignatureVerification, TrustedIdentities: append([]string(nil), t.TrustedIdentities...), TrustStores: append([]string(nil), t.TrustStores...), RegistryScopes: append([]string(nil), t.RegistryScopes...), } } // validateRegistryScopes validates if the policy document is following the // Notary Project spec rules for registry scopes func validateRegistryScopes(policyDoc *Document) error { registryScopeCount := make(map[string]int) for _, statement := range policyDoc.TrustPolicies { // Verify registry scopes are valid if len(statement.RegistryScopes) == 0 { return fmt.Errorf("trust policy statement %q has zero registry scopes, it must specify registry scopes with at least one value", statement.Name) } if len(statement.RegistryScopes) > 1 && slices.Contains(statement.RegistryScopes, trustpolicy.Wildcard) { return fmt.Errorf("trust policy statement %q uses wildcard registry scope '*', a wildcard scope cannot be used in conjunction with other scope values", statement.Name) } for _, scope := range statement.RegistryScopes { if scope != trustpolicy.Wildcard { if err := validateRegistryScopeFormat(scope); err != nil { return err } } registryScopeCount[scope]++ } } // Verify one policy statement per registry scope for key := range registryScopeCount { if registryScopeCount[key] > 1 { return fmt.Errorf("registry scope %q is present in multiple trust policy statements, one registry scope value can only be associated with one statement", key) } } // No error return nil } func getArtifactPathFromReference(artifactReference string) (string, error) { // TODO support more types of URI like "domain.com/repository", // "domain.com/repository:tag" i := strings.LastIndex(artifactReference, "@") if i < 0 { return "", fmt.Errorf("artifact URI %q could not be parsed, make sure it is the fully qualified oci artifact URI without the scheme/protocol. e.g domain.com:80/my/repository@sha256:digest", artifactReference) } artifactPath := artifactReference[:i] if err := validateRegistryScopeFormat(artifactPath); err != nil { return "", err } return artifactPath, nil } // validateRegistryScopeFormat validates if a scope is following the format // defined in distribution spec func validateRegistryScopeFormat(scope string) error { // Domain and Repository regexes are adapted from distribution // implementation // https://github.com/distribution/distribution/blob/main/reference/regexp.go#L31 domainRegexp := regexp.MustCompile(`^(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(?::[0-9]+)?$`) repositoryRegexp := regexp.MustCompile(`^[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?$`) ensureMessage := "make sure it is a fully qualified repository without the scheme, protocol or tag. For example domain.com/my/repository or a local scope like local/myOCILayout" errorMessage := "registry scope %q is not valid, " + ensureMessage errorWildCardMessage := "registry scope %q with wild card(s) is not valid, " + ensureMessage // Check for presence of * in scope if len(scope) > 1 && strings.Contains(scope, "*") { return fmt.Errorf(errorWildCardMessage, scope) } domain, repository, found := strings.Cut(scope, "/") if !found { return fmt.Errorf(errorMessage, scope) } if domain == "" || repository == "" || !domainRegexp.MatchString(domain) || !repositoryRegexp.MatchString(repository) { return fmt.Errorf(errorMessage, scope) } // No errors return nil } notation-go-1.2.1/verifier/trustpolicy/oci_test.go000066400000000000000000000424051466620631100223370ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package trustpolicy import ( "encoding/json" "fmt" "os" "path/filepath" "testing" "github.com/notaryproject/notation-go/dir" ) func TestLoadDocumentFromFileLocation(t *testing.T) { tempRoot := t.TempDir() dir.UserConfigDir = tempRoot path := filepath.Join(tempRoot, "trustpolicy.json") policyJson, _ := json.Marshal(dummyPolicyDocument()) if err := os.WriteFile(path, policyJson, 0600); err != nil { t.Fatalf("TestLoadDocument write policy file failed. Error: %v", err) } t.Cleanup(func() { os.RemoveAll(tempRoot) }) if _, err := LoadDocument(); err != nil { t.Fatalf("LoadDocument() should not throw error for an existing policy file. Error: %v", err) } } func TestLoadDocumentError(t *testing.T) { tempRoot := t.TempDir() dir.UserConfigDir = tempRoot if _, err := LoadDocument(); err == nil { t.Fatalf("LoadDocument() should throw error if trust policy is not found") } } // TestApplicableTrustPolicy tests filtering policies against registry scopes func TestApplicableTrustPolicy(t *testing.T) { policyDoc := dummyPolicyDocument() policyStatement := policyDoc.TrustPolicies[0] policyStatement.Name = "test-statement-name-1" registryScope := "registry.wabbit-networks.io/software/unsigned/net-utils" registryUri := fmt.Sprintf("%s@sha256:hash", registryScope) policyStatement.RegistryScopes = []string{registryScope} policyStatement.SignatureVerification = SignatureVerification{VerificationLevel: "strict"} policyDoc.TrustPolicies = []TrustPolicy{ policyStatement, } // existing Registry Scope policy, err := (&policyDoc).GetApplicableTrustPolicy(registryUri) if policy.Name != policyStatement.Name || err != nil { t.Fatalf("GetApplicableTrustPolicy() should return %q for registry scope %q", policyStatement.Name, registryScope) } // non-existing Registry Scope policy, err = (&policyDoc).GetApplicableTrustPolicy("non.existing.scope/repo@sha256:hash") if policy != nil || err == nil || err.Error() != "artifact \"non.existing.scope/repo@sha256:hash\" has no applicable trust policy statement. Trust policy applicability for a given artifact is determined by registryScopes. To create a trust policy, see: https://notaryproject.dev/docs/quickstart/#create-a-trust-policy" { t.Fatalf("GetApplicableTrustPolicy() should return nil for non existing registry scope") } // wildcard registry scope wildcardStatement := TrustPolicy{ Name: "test-statement-name-2", SignatureVerification: SignatureVerification{VerificationLevel: "skip"}, TrustStores: []string{}, TrustedIdentities: []string{}, RegistryScopes: []string{"*"}, } policyDoc.TrustPolicies = []TrustPolicy{ policyStatement, wildcardStatement, } policy, err = (&policyDoc).GetApplicableTrustPolicy("some.registry.that/has.no.policy@sha256:hash") if policy.Name != wildcardStatement.Name || err != nil { t.Fatalf("GetApplicableTrustPolicy() should return wildcard policy for registry scope \"some.registry.that/has.no.policy\"") } } // TestValidatePolicyDocument calls policyDoc.Validate() // and tests various validations on policy elements func TestValidateInvalidPolicyDocument(t *testing.T) { // Sanity check var nilPolicyDoc *Document err := nilPolicyDoc.Validate() if err == nil || err.Error() != "trust policy document cannot be nil" { t.Fatalf("nil policyDoc should return error") } // Invalid Version policyDoc := dummyPolicyDocument() policyDoc.Version = "invalid" err = policyDoc.Validate() if err == nil || err.Error() != "trust policy document uses unsupported version \"invalid\"" { t.Fatalf("invalid version should return error") } // No Policy Statements policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies = nil err = policyDoc.Validate() if err == nil || err.Error() != "trust policy document can not have zero trust policy statements" { t.Fatalf("zero policy statements should return error") } // No Policy Statement Name policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].Name = "" err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: a trust policy statement is missing a name, every statement requires a name" { t.Fatalf("policy statement with no name should return an error") } // No Registry Scopes policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].RegistryScopes = nil err = policyDoc.Validate() if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has zero registry scopes, it must specify registry scopes with at least one value" { t.Fatalf("policy statement with registry scopes should return error") } // Multiple policy statements with same registry scope policyDoc = dummyPolicyDocument() policyStatement1 := policyDoc.TrustPolicies[0].clone() policyStatement2 := policyDoc.TrustPolicies[0].clone() policyStatement2.Name = "test-statement-name-2" policyDoc.TrustPolicies = []TrustPolicy{*policyStatement1, *policyStatement2} err = policyDoc.Validate() if err == nil || err.Error() != "registry scope \"registry.acme-rockets.io/software/net-monitor\" is present in multiple trust policy statements, one registry scope value can only be associated with one statement" { t.Fatalf("Policy statements with same registry scope should return error %q", err) } // Registry scopes with a wildcard policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].RegistryScopes = []string{"*", "registry.acme-rockets.io/software/net-monitor"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy statement \"test-statement-name\" uses wildcard registry scope '*', a wildcard scope cannot be used in conjunction with other scope values" { t.Fatalf("policy statement with more than a wildcard registry scope should return error") } // Invalid SignatureVerification policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification = SignatureVerification{VerificationLevel: "invalid"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" has invalid signatureVerification: invalid signature verification level \"invalid\"" { t.Fatalf("policy statement with invalid SignatureVerification should return error") } // Invalid SignatureVerification VerifyTimestamp policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification.VerifyTimestamp = "invalid" expectedErrMsg := "trust policy: trust policy statement \"test-statement-name\" has invalid signatureVerification: verifyTimestamp must be \"always\" or \"afterCertExpiry\", but got \"invalid\"" err = policyDoc.Validate() if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } // strict SignatureVerification should have a trust store policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustStores = []string{} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" is either missing trust stores or trusted identities, both must be specified" { t.Fatalf("strict SignatureVerification should have a trust store") } // strict SignatureVerification should have trusted identities policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustedIdentities = []string{} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" is either missing trust stores or trusted identities, both must be specified" { t.Fatalf("strict SignatureVerification should have trusted identities") } // skip SignatureVerification should not have trust store or trusted identities policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification = SignatureVerification{VerificationLevel: "skip"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" is set to skip signature verification but configured with trust stores and/or trusted identities, remove them if signature verification needs to be skipped" { t.Fatalf("strict SignatureVerification should have trusted identities") } // Empty Trusted Identity should throw error policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustedIdentities = []string{""} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" has an empty trusted identity" { t.Fatalf("policy statement with empty trusted identity should return error") } // Trusted Identity without separator should throw error policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustedIdentities = []string{"x509.subject"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" has trusted identity \"x509.subject\" missing separator" { t.Fatalf("policy statement with trusted identity missing separator should return error") } // Empty Trusted Identity value should throw error policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustedIdentities = []string{"x509.subject:"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:\" without an identity value" { t.Fatalf("policy statement with trusted identity missing identity value should return error") } // trust store/trusted identities are optional for skip SignatureVerification policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification = SignatureVerification{VerificationLevel: "skip"} policyDoc.TrustPolicies[0].TrustStores = []string{} policyDoc.TrustPolicies[0].TrustedIdentities = []string{} err = policyDoc.Validate() if err != nil { t.Fatalf("skip SignatureVerification should not require a trust store or trusted identities") } // Trust Store missing separator policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustStores = []string{"ca"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" has malformed trust store value \"ca\". The required format is :" { t.Fatalf("policy statement with trust store missing separator should return error") } // Invalid Trust Store type policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustStores = []string{"invalid:test-trust-store"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" uses an unsupported trust store type \"invalid\" in trust store value \"invalid:test-trust-store\"" { t.Fatalf("policy statement with invalid trust store type should return error") } // Empty Named Store policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustStores = []string{"ca:"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" uses an unsupported trust store name \"\" in trust store value \"ca:\". Named store name needs to follow [a-zA-Z0-9_.-]+ format" { t.Fatalf("policy statement with trust store missing named store should return error") } // trusted identities with a wildcard policyDoc = dummyPolicyDocument() policyDoc.TrustPolicies[0].TrustedIdentities = []string{"*", "test-identity"} err = policyDoc.Validate() if err == nil || err.Error() != "trust policy: trust policy statement \"test-statement-name\" uses a wildcard trusted identity '*', a wildcard identity cannot be used in conjunction with other values" { t.Fatalf("policy statement with more than a wildcard trusted identity should return error") } // Policy Document with duplicate policy statement names policyDoc = dummyPolicyDocument() policyStatement1 = policyDoc.TrustPolicies[0].clone() policyStatement2 = policyDoc.TrustPolicies[0].clone() policyStatement2.RegistryScopes = []string{"registry.acme-rockets.io/software/legacy/metrics"} policyDoc.TrustPolicies = []TrustPolicy{*policyStatement1, *policyStatement2} err = policyDoc.Validate() if err == nil || err.Error() != "multiple trust policy statements use the same name \"test-statement-name\", statement names must be unique" { t.Fatalf("policy statements with same name should return error") } } // TestValidRegistryScopes tests valid scopes are accepted func TestValidRegistryScopes(t *testing.T) { policyDoc := dummyPolicyDocument() validScopes := []string{ "*", "example.com/rep", "example.com:8080/rep/rep2", "example.com/rep/subrep/subsub", "10.10.10.10:8080/rep/rep2", "domain/rep", "domain:1234/rep", } for _, scope := range validScopes { policyDoc.TrustPolicies[0].RegistryScopes = []string{scope} err := policyDoc.Validate() if err != nil { t.Fatalf("valid registry scope should not return error. Error : %q", err) } } } // TestInvalidRegistryScopes tests invalid scopes are rejected func TestInvalidRegistryScopes(t *testing.T) { policyDoc := dummyPolicyDocument() invalidScopes := []string{ "", "1:1", "a,b", "abcd", "1111", "1,2", "example.com/rep:tag", "example.com/rep/subrep/sub:latest", "example.com", "rep/rep2:latest", "repository", "10.10.10.10", "10.10.10.10:8080/rep/rep2:latest", } for _, scope := range invalidScopes { policyDoc.TrustPolicies[0].RegistryScopes = []string{scope} err := policyDoc.Validate() if err == nil || err.Error() != "registry scope \""+scope+"\" is not valid, make sure it is a fully qualified repository without the scheme, protocol or tag. For example domain.com/my/repository or a local scope like local/myOCILayout" { t.Fatalf("invalid registry scope should return error. Error : %q", err) } } // Test invalid scope with wild card suffix invalidWildCardScopes := []string{"example.com/*", "*/", "example*/", "ex*test"} for _, scope := range invalidWildCardScopes { policyDoc.TrustPolicies[0].RegistryScopes = []string{scope} err := policyDoc.Validate() if err == nil || err.Error() != "registry scope \""+scope+"\" with wild card(s) is not valid, make sure it is a fully qualified repository without the scheme, protocol or tag. For example domain.com/my/repository or a local scope like local/myOCILayout" { t.Fatalf("invalid registry scope should return error. Error : %q", err) } } } // TestValidateValidPolicyDocument tests a happy policy document func TestValidateValidPolicyDocument(t *testing.T) { policyDoc := dummyPolicyDocument() policyStatement1 := policyDoc.TrustPolicies[0].clone() policyStatement2 := policyStatement1.clone() policyStatement2.Name = "test-statement-name-2" policyStatement2.RegistryScopes = []string{"registry.wabbit-networks.io/software/unsigned/net-utils"} policyStatement2.SignatureVerification = SignatureVerification{VerificationLevel: "permissive"} policyStatement3 := policyStatement1.clone() policyStatement3.Name = "test-statement-name-3" policyStatement3.RegistryScopes = []string{"registry.acme-rockets.io/software/legacy/metrics"} policyStatement3.TrustStores = []string{} policyStatement3.TrustedIdentities = []string{} policyStatement3.SignatureVerification = SignatureVerification{VerificationLevel: "skip"} policyStatement4 := policyStatement1.clone() policyStatement4.Name = "test-statement-name-4" policyStatement4.RegistryScopes = []string{"*"} policyStatement4.TrustStores = []string{"ca:valid-trust-store", "signingAuthority:valid-trust-store-2"} policyStatement4.SignatureVerification = SignatureVerification{VerificationLevel: "audit"} policyStatement5 := policyStatement1.clone() policyStatement5.Name = "test-statement-name-5" policyStatement5.RegistryScopes = []string{"registry.acme-rockets2.io/software"} policyStatement5.TrustedIdentities = []string{"*"} policyStatement5.SignatureVerification = SignatureVerification{VerificationLevel: "strict"} policyStatement6 := policyStatement1.clone() policyStatement6.Name = "test-statement-name-6" policyStatement6.RegistryScopes = []string{"registry.acme-rockets.io/software/net-monitor6"} policyStatement6.SignatureVerification.VerifyTimestamp = "" policyStatement7 := policyStatement1.clone() policyStatement7.Name = "test-statement-name-7" policyStatement7.RegistryScopes = []string{"registry.acme-rockets.io/software/net-monitor7"} policyStatement7.SignatureVerification.VerifyTimestamp = OptionAlways policyStatement8 := policyStatement1.clone() policyStatement8.Name = "test-statement-name-8" policyStatement8.RegistryScopes = []string{"registry.acme-rockets.io/software/net-monitor8"} policyStatement8.SignatureVerification.VerifyTimestamp = OptionAfterCertExpiry policyDoc.TrustPolicies = []TrustPolicy{ *policyStatement1, *policyStatement2, *policyStatement3, *policyStatement4, *policyStatement5, *policyStatement6, *policyStatement7, *policyStatement8, } err := policyDoc.Validate() if err != nil { t.Fatalf("validation failed on a good policy document. Error : %q", err) } } notation-go-1.2.1/verifier/trustpolicy/trustpolicy.go000066400000000000000000000324331466620631100231270ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package trustpolicy provides functionalities for trust policy document // and trust policy statements. package trustpolicy import ( "encoding/json" "errors" "fmt" "io/fs" "os" "strings" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/internal/file" "github.com/notaryproject/notation-go/internal/pkix" "github.com/notaryproject/notation-go/internal/slices" "github.com/notaryproject/notation-go/internal/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ) // trustPolicyLink is a tutorial link for creating Notation's trust policy. const trustPolicyLink = "https://notaryproject.dev/docs/quickstart/#create-a-trust-policy" // ValidationType is an enum for signature verification types such as Integrity, // Authenticity, etc. type ValidationType string // ValidationAction is an enum for signature verification actions such as // Enforced, Logged, Skipped. type ValidationAction string // VerificationLevel encapsulates the signature verification preset and its // actions for each verification type type VerificationLevel struct { Name string Enforcement map[ValidationType]ValidationAction } const ( TypeIntegrity ValidationType = "integrity" TypeAuthenticity ValidationType = "authenticity" TypeAuthenticTimestamp ValidationType = "authenticTimestamp" TypeExpiry ValidationType = "expiry" TypeRevocation ValidationType = "revocation" ) const ( ActionEnforce ValidationAction = "enforce" ActionLog ValidationAction = "log" ActionSkip ValidationAction = "skip" ) // TimestampOption is an enum for timestamp verifiction options such as Always, // AfterCertExpiry. type TimestampOption string const ( // OptionAlways denotes always perform timestamp verification OptionAlways TimestampOption = "always" // OptionAfterCertExpiry denotes perform timestamp verification only if // the signing certificate chain has expired OptionAfterCertExpiry TimestampOption = "afterCertExpiry" ) var ( LevelStrict = &VerificationLevel{ Name: "strict", Enforcement: map[ValidationType]ValidationAction{ TypeIntegrity: ActionEnforce, TypeAuthenticity: ActionEnforce, TypeAuthenticTimestamp: ActionEnforce, TypeExpiry: ActionEnforce, TypeRevocation: ActionEnforce, }, } LevelPermissive = &VerificationLevel{ Name: "permissive", Enforcement: map[ValidationType]ValidationAction{ TypeIntegrity: ActionEnforce, TypeAuthenticity: ActionEnforce, TypeAuthenticTimestamp: ActionLog, TypeExpiry: ActionLog, TypeRevocation: ActionLog, }, } LevelAudit = &VerificationLevel{ Name: "audit", Enforcement: map[ValidationType]ValidationAction{ TypeIntegrity: ActionEnforce, TypeAuthenticity: ActionLog, TypeAuthenticTimestamp: ActionLog, TypeExpiry: ActionLog, TypeRevocation: ActionLog, }, } LevelSkip = &VerificationLevel{ Name: "skip", Enforcement: map[ValidationType]ValidationAction{ TypeIntegrity: ActionSkip, TypeAuthenticity: ActionSkip, TypeAuthenticTimestamp: ActionSkip, TypeExpiry: ActionSkip, TypeRevocation: ActionSkip, }, } ) var ( ValidationTypes = []ValidationType{ TypeIntegrity, TypeAuthenticity, TypeAuthenticTimestamp, TypeExpiry, TypeRevocation, } ValidationActions = []ValidationAction{ ActionEnforce, ActionLog, ActionSkip, } VerificationLevels = []*VerificationLevel{ LevelStrict, LevelPermissive, LevelAudit, LevelSkip, } ) // SignatureVerification represents verification configuration in a trust policy type SignatureVerification struct { VerificationLevel string `json:"level"` Override map[ValidationType]ValidationAction `json:"override,omitempty"` VerifyTimestamp TimestampOption `json:"verifyTimestamp,omitempty"` } type errPolicyNotExist struct{} func (e errPolicyNotExist) Error() string { return fmt.Sprintf("trust policy is not present. To create a trust policy, see: %s", trustPolicyLink) } // GetVerificationLevel returns VerificationLevel struct for the given // SignatureVerification struct throws error if SignatureVerification is invalid func (signatureVerification *SignatureVerification) GetVerificationLevel() (*VerificationLevel, error) { if signatureVerification.VerificationLevel == "" { return nil, errors.New("signature verification level is empty or missing in the trust policy statement") } var baseLevel *VerificationLevel for _, l := range VerificationLevels { if l.Name == signatureVerification.VerificationLevel { baseLevel = l } } if baseLevel == nil { return nil, fmt.Errorf("invalid signature verification level %q", signatureVerification.VerificationLevel) } if len(signatureVerification.Override) == 0 { // nothing to override, return the base verification level return baseLevel, nil } if baseLevel == LevelSkip { return nil, fmt.Errorf("signature verification level %q can't be used to customize signature verification", baseLevel.Name) } customVerificationLevel := &VerificationLevel{ Name: "custom", Enforcement: make(map[ValidationType]ValidationAction), } // populate the custom verification level with the base verification // settings for k, v := range baseLevel.Enforcement { customVerificationLevel.Enforcement[k] = v } // override the verification actions with the user configured settings for key, value := range signatureVerification.Override { var validationType ValidationType for _, t := range ValidationTypes { if t == key { validationType = t break } } if validationType == "" { return nil, fmt.Errorf("verification type %q in custom signature verification is not supported, supported values are %q", key, ValidationTypes) } var validationAction ValidationAction for _, action := range ValidationActions { if action == value { validationAction = action break } } if validationAction == "" { return nil, fmt.Errorf("verification action %q in custom signature verification is not supported, supported values are %q", value, ValidationActions) } if validationType == TypeIntegrity { return nil, fmt.Errorf("%q verification can not be overridden in custom signature verification", key) } else if validationType != TypeRevocation && validationAction == ActionSkip { return nil, fmt.Errorf("%q verification can not be skipped in custom signature verification", key) } customVerificationLevel.Enforcement[validationType] = validationAction } return customVerificationLevel, nil } func getDocument(path string, v any) error { path, err := dir.ConfigFS().SysPath(path) if err != nil { return err } // throw error if path is a directory or a symlink or does not exist. fileInfo, err := os.Lstat(path) if err != nil { if errors.Is(err, os.ErrNotExist) { return errPolicyNotExist{} } return err } mode := fileInfo.Mode() if mode.IsDir() || mode&fs.ModeSymlink != 0 { return fmt.Errorf("trust policy is not a regular file (symlinks are not supported). To create a trust policy, see: %s", trustPolicyLink) } jsonFile, err := os.Open(path) if err != nil { if errors.Is(err, os.ErrPermission) { return fmt.Errorf("unable to read trust policy due to file permissions, please verify the permissions of %s", path) } return err } defer jsonFile.Close() err = json.NewDecoder(jsonFile).Decode(v) if err != nil { return fmt.Errorf("malformed trust policy. To create a trust policy, see: %s", trustPolicyLink) } return nil } func validatePolicyCore(name string, signatureVerification SignatureVerification, trustStores, trustedIdentities []string) error { // Verify statement name is valid if name == "" { return errors.New("a trust policy statement is missing a name, every statement requires a name") } // Verify signature verification is valid verificationLevel, err := signatureVerification.GetVerificationLevel() if err != nil { return fmt.Errorf("trust policy statement %q has invalid signatureVerification: %w", name, err) } if signatureVerification.VerifyTimestamp != "" && signatureVerification.VerifyTimestamp != OptionAlways && signatureVerification.VerifyTimestamp != OptionAfterCertExpiry { return fmt.Errorf("trust policy statement %q has invalid signatureVerification: verifyTimestamp must be %q or %q, but got %q", name, OptionAlways, OptionAfterCertExpiry, signatureVerification.VerifyTimestamp) } // Any signature verification other than "skip" needs a trust store and // trusted identities if verificationLevel.Name == "skip" { if len(trustStores) > 0 || len(trustedIdentities) > 0 { return fmt.Errorf("trust policy statement %q is set to skip signature verification but configured with trust stores and/or trusted identities, remove them if signature verification needs to be skipped", name) } } else { if len(trustStores) == 0 || len(trustedIdentities) == 0 { return fmt.Errorf("trust policy statement %q is either missing trust stores or trusted identities, both must be specified", name) } // Verify Trust Store is valid if err := validateTrustStore(name, trustStores); err != nil { return err } // Verify Trusted Identities are valid if err := validateTrustedIdentities(name, trustedIdentities); err != nil { return err } } return nil } // validateTrustStore validates if the policy statement is following the // Notary Project spec rules for truststore func validateTrustStore(policyName string, trustStores []string) error { for _, trustStore := range trustStores { storeType, namedStore, found := strings.Cut(trustStore, ":") if !found { return fmt.Errorf("trust policy statement %q has malformed trust store value %q. The required format is :", policyName, trustStore) } if !isValidTrustStoreType(storeType) { return fmt.Errorf("trust policy statement %q uses an unsupported trust store type %q in trust store value %q", policyName, storeType, trustStore) } if !file.IsValidFileName(namedStore) { return fmt.Errorf("trust policy statement %q uses an unsupported trust store name %q in trust store value %q. Named store name needs to follow [a-zA-Z0-9_.-]+ format", policyName, namedStore, trustStore) } } return nil } // validateTrustedIdentities validates if the policy statement is following the // Notary Project spec rules for trusted identities func validateTrustedIdentities(policyName string, tis []string) error { // If there is a wildcard in trusted identities, there shouldn't be any other //identities if len(tis) > 1 && slices.Contains(tis, trustpolicy.Wildcard) { return fmt.Errorf("trust policy statement %q uses a wildcard trusted identity '*', a wildcard identity cannot be used in conjunction with other values", policyName) } var parsedDNs []parsedDN // If there are trusted identities, verify they are valid for _, identity := range tis { if identity == "" { return fmt.Errorf("trust policy statement %q has an empty trusted identity", policyName) } if identity != trustpolicy.Wildcard { identityPrefix, identityValue, found := strings.Cut(identity, ":") if !found { return fmt.Errorf("trust policy statement %q has trusted identity %q missing separator", policyName, identity) } // notation natively supports x509.subject identities only if identityPrefix == trustpolicy.X509Subject { // identityValue cannot be empty if identityValue == "" { return fmt.Errorf("trust policy statement %q has trusted identity %q without an identity value", policyName, identity) } dn, err := pkix.ParseDistinguishedName(identityValue) if err != nil { return fmt.Errorf("trust policy statement %q has trusted identity %q with invalid identity value: %w", policyName, identity, err) } parsedDNs = append(parsedDNs, parsedDN{RawString: identity, ParsedMap: dn}) } } } // Verify there are no overlapping DNs if err := validateOverlappingDNs(policyName, parsedDNs); err != nil { return err } // No error return nil } func validateOverlappingDNs(policyName string, parsedDNs []parsedDN) error { for i, dn1 := range parsedDNs { for j, dn2 := range parsedDNs { if i != j && pkix.IsSubsetDN(dn1.ParsedMap, dn2.ParsedMap) { return fmt.Errorf("trust policy statement %q has overlapping x509 trustedIdentities, %q overlaps with %q", policyName, dn1.RawString, dn2.RawString) } } } return nil } // isValidTrustStoreType returns true if the given string is a valid // truststore.Type, otherwise false. func isValidTrustStoreType(s string) bool { for _, p := range truststore.Types { if s == string(p) { return true } } return false } // parsedDN holds raw and parsed Distinguished Names type parsedDN struct { RawString string ParsedMap map[string]string } notation-go-1.2.1/verifier/trustpolicy/trustpolicy_test.go000066400000000000000000000524571466620631100241760ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package trustpolicy import ( "encoding/json" "fmt" "os" "path/filepath" "runtime" "strconv" "strings" "testing" "github.com/notaryproject/notation-go/dir" ) func dummyPolicyDocument() Document { return Document{ Version: "1.0", TrustPolicies: []TrustPolicy{ { Name: "test-statement-name", RegistryScopes: []string{"registry.acme-rockets.io/software/net-monitor"}, SignatureVerification: SignatureVerification{VerificationLevel: "strict"}, TrustStores: []string{"ca:valid-trust-store", "signingAuthority:valid-trust-store"}, TrustedIdentities: []string{"x509.subject:CN=Notation Test Root,O=Notary,L=Seattle,ST=WA,C=US"}, }, }, } } // create testcase for validatePolicyCore method func TestValidatePolicyCore(t *testing.T) { policyName := "test-statement-name" sigVerification := SignatureVerification{VerificationLevel: "strict"} // valid policy if err := validatePolicyCore(policyName, sigVerification, []string{"ca:valid-ts"}, []string{"*"}); err != nil { t.Errorf("validatePolicyCore returned error: '%v'", err) } // check valid skip SignatureVerification if err := validatePolicyCore(policyName, SignatureVerification{VerificationLevel: "skip"}, []string{}, []string{}); err != nil { t.Errorf("validatePolicyCore returned error: '%v'", err) } // check skip SignatureVerification doesn't has trust store and trusted identity expectedErr := "trust policy statement \"test-statement-name\" is set to skip signature verification but configured with trust stores and/or trusted identities, remove them if signature verification needs to be skipped" if err := validatePolicyCore(policyName, SignatureVerification{VerificationLevel: "skip"}, []string{"ca:valid-ts"}, []string{}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } if err := validatePolicyCore(policyName, SignatureVerification{VerificationLevel: "skip"}, []string{}, []string{"x509:zoop"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } // empty policy name expectedErr = "a trust policy statement is missing a name, every statement requires a name" if err := validatePolicyCore("", sigVerification, []string{"ca:valid-ts"}, []string{"*"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } // invalid SignatureVerification expectedErr = "trust policy statement \"test-statement-name\" has invalid signatureVerification: signature verification level is empty or missing in the trust policy statement" if err := validatePolicyCore(policyName, SignatureVerification{}, []string{"ca:valid-ts"}, []string{"*"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } // invalid trust-store or trust-policy expectedErr = "trust policy statement \"test-statement-name\" is either missing trust stores or trusted identities, both must be specified" if err := validatePolicyCore(policyName, sigVerification, []string{}, []string{}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } if err := validatePolicyCore(policyName, sigVerification, []string{"ca:valid-ts"}, []string{}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } expectedErr = "trust policy statement \"test-statement-name\" uses an unsupported trust store type \"hola\" in trust store value \"hola:valid-ts\"" if err := validatePolicyCore(policyName, sigVerification, []string{"hola:valid-ts"}, []string{"hola"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } expectedErr = "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject\" missing separator" if err := validatePolicyCore(policyName, sigVerification, []string{"ca:valid-ts"}, []string{"x509.subject"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } } // TestValidateTrustedIdentities tests only valid x509.subjects are accepted func TestValidateTrustStore(t *testing.T) { // valid trust-store if err := validateTrustStore("test-statement-name", []string{"ca:my-ts"}); err != nil { t.Errorf("validateTrustStore returned error: '%v", err) } // empty trust-store expectedErr := "trust policy statement \"test-statement-name\" has malformed trust store value \"\". The required format is :" if err := validateTrustStore("test-statement-name", []string{""}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } // invalid trust-store type expectedErr = "trust policy statement \"test-statement-name\" uses an unsupported trust store type \"unknown\" in trust store value \"unknown:my-ts\"" if err := validateTrustStore("test-statement-name", []string{"unknown:my-ts"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } // invalid trust-store directory name expectedErr = "trust policy statement \"test-statement-name\" uses an unsupported trust store name \"#@$@$\" in trust store value \"ca:#@$@$\". Named store name needs to follow [a-zA-Z0-9_.-]+ format" if err := validateTrustStore("test-statement-name", []string{"ca:#@$@$"}); err == nil || err.Error() != expectedErr { t.Errorf("expected error '%s' but not found", expectedErr) } } // TestValidateTrustedIdentities tests only valid x509.subjects are accepted func TestValidateTrustedIdentities(t *testing.T) { // wildcard present with specific trusted identity throws error. err := validateTrustedIdentities("test-statement-name", []string{"*", "C=US, ST=WA, O=wabbit-network.io"}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" uses a wildcard trusted identity '*', a wildcard identity cannot be used in conjunction with other values" { t.Fatalf("trusted identities with wildcard and specific identityshould return error") } // If empty trust policy throws error. err = validateTrustedIdentities("test-statement-name", []string{""}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has an empty trusted identity" { t.Fatalf("empty trusted identity should return error") } // No trusted identity prefix throws error err = validateTrustedIdentities("test-statement-name", []string{"C=US, ST=WA, O=wabbit-network.io, OU=org1"}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"C=US, ST=WA, O=wabbit-network.io, OU=org1\" missing separator" { t.Fatalf("trusted identity without separator should return error") } // Accept unknown identity prefixes err = validateTrustedIdentities("test-statement-name", []string{"unknown:my-trusted-identity"}) if err != nil { t.Fatalf("unknown identity prefix should not return an error. Error: %q", err) } // Validate x509.subject identities invalidDN := "x509.subject:,,," err = validateTrustedIdentities("test-statement-name", []string{invalidDN}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:,,,\" with invalid identity value: parsing distinguished name (DN) \",,,\" failed with err: incomplete type, value pair. A valid DN must contain 'C', 'ST' or 'S', and 'O' RDN attributes at a minimum, and follow RFC 4514 standard" { t.Fatalf("invalid x509.subject identity should return error. Error : %q", err) } // Validate x509.subject with no value err = validateTrustedIdentities("test-statement-name", []string{"x509.subject:"}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:\" without an identity value" { t.Fatalf("x509.subject identity without value should return error. Error : %q", err) } // Validate duplicate RDNs invalidDN = "x509.subject:C=US,C=IN" err = validateTrustedIdentities("test-statement-name", []string{invalidDN}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:C=US,C=IN\" with invalid identity value: distinguished name (DN) \"C=US,C=IN\" has duplicate RDN attribute for \"C\", DN can only have unique RDN attributes" { t.Fatalf("invalid x509.subject identity should return error. Error : %q", err) } // Validate mandatory RDNs invalidDN = "x509.subject:C=US,ST=WA" err = validateTrustedIdentities("test-statement-name", []string{invalidDN}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:C=US,ST=WA\" with invalid identity value: distinguished name (DN) \"C=US,ST=WA\" has no mandatory RDN attribute for \"O\", it must contain 'C', 'ST' or 'S', and 'O' RDN attributes at a minimum" { t.Fatalf("invalid x509.subject identity should return error. Error : %q", err) } // DN may have optional RDNs validDN := "x509.subject:C=US,ST=WA,O=MyOrg,CustomRDN=CustomValue" err = validateTrustedIdentities("test-statement-name", []string{validDN}) if err != nil { t.Fatalf("valid x509.subject identity should not return error. Error : %q", err) } // Validate rfc4514 DNs validDN1 := "x509.subject:C=US,ST=WA,O=MyOrg" validDN2 := "x509.subject:C=US,ST=WA,O= My. Org" validDN3 := "x509.subject:C=US,ST=WA,O=My \"special\" Org \\, \\; \\\\ others" err = validateTrustedIdentities("test-statement-name", []string{validDN1, validDN2, validDN3}) if err != nil { t.Fatalf("valid x509.subject identity should not return error. Error : %q", err) } // Validate overlapping DNs validDN1 = "x509.subject:C=US,ST=WA,O=MyOrg" validDN2 = "x509.subject:C=US,ST=WA,O=MyOrg,X=Y" err = validateTrustedIdentities("test-statement-name", []string{validDN1, validDN2}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has overlapping x509 trustedIdentities, \"x509.subject:C=US,ST=WA,O=MyOrg\" overlaps with \"x509.subject:C=US,ST=WA,O=MyOrg,X=Y\"" { t.Fatalf("overlapping DNs should return error") } // Validate multi-valued RDNs multiValuedRUN := "x509.subject:C=US+ST=WA,O=MyOrg" err = validateTrustedIdentities("test-statement-name", []string{multiValuedRUN}) if err == nil || err.Error() != "trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:C=US+ST=WA,O=MyOrg\" with invalid identity value: distinguished name (DN) \"C=US+ST=WA,O=MyOrg\" has multi-valued RDN attributes, remove multi-valued RDN attributes as they are not supported" { t.Fatalf("multi-valued RDN should return error. Error : %q", err) } } func TestGetVerificationLevel(t *testing.T) { tests := []struct { verificationLevel SignatureVerification wantErr bool verificationActions []ValidationAction }{ {SignatureVerification{VerificationLevel: "strict"}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionEnforce, ActionEnforce, ActionEnforce}}, {SignatureVerification{VerificationLevel: "permissive"}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "audit"}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "skip"}, false, []ValidationAction{ActionSkip, ActionSkip, ActionSkip, ActionSkip, ActionSkip}}, {SignatureVerification{VerificationLevel: "invalid"}, true, []ValidationAction{}}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { level, err := tt.verificationLevel.GetVerificationLevel() if tt.wantErr != (err != nil) { t.Fatalf("TestFindVerificationLevel Error: %q WantErr: %v", err, tt.wantErr) } else { for index, action := range tt.verificationActions { if action != level.Enforcement[ValidationTypes[index]] { t.Errorf("%q verification action should be %q for Verification Level %v", ValidationTypes[index], action, tt.verificationLevel) } } } }) } } func TestCustomVerificationLevel(t *testing.T) { tests := []struct { customVerification SignatureVerification wantErr bool verificationActions []ValidationAction }{ {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"integrity": "log"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"authenticity": "skip"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"authenticTimestamp": "skip"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"expiry": "skip"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "skip", Override: map[ValidationType]ValidationAction{"authenticity": "log"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "invalid", Override: map[ValidationType]ValidationAction{"authenticity": "log"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"invalid": "log"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"authenticity": "invalid"}}, true, []ValidationAction{}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"authenticity": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionEnforce, ActionEnforce, ActionEnforce}}, {SignatureVerification{VerificationLevel: "permissive", Override: map[ValidationType]ValidationAction{"authenticity": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "audit", Override: map[ValidationType]ValidationAction{"authenticity": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"expiry": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionEnforce, ActionLog, ActionEnforce}}, {SignatureVerification{VerificationLevel: "permissive", Override: map[ValidationType]ValidationAction{"expiry": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "audit", Override: map[ValidationType]ValidationAction{"expiry": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"revocation": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionEnforce, ActionEnforce, ActionLog}}, {SignatureVerification{VerificationLevel: "permissive", Override: map[ValidationType]ValidationAction{"revocation": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "audit", Override: map[ValidationType]ValidationAction{"revocation": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"revocation": "skip"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionEnforce, ActionEnforce, ActionSkip}}, {SignatureVerification{VerificationLevel: "permissive", Override: map[ValidationType]ValidationAction{"revocation": "skip"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionLog, ActionSkip}}, {SignatureVerification{VerificationLevel: "audit", Override: map[ValidationType]ValidationAction{"revocation": "skip"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionSkip}}, {SignatureVerification{VerificationLevel: "permissive", Override: map[ValidationType]ValidationAction{"authenticTimestamp": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "audit", Override: map[ValidationType]ValidationAction{"authenticTimestamp": "log"}}, false, []ValidationAction{ActionEnforce, ActionLog, ActionLog, ActionLog, ActionLog}}, {SignatureVerification{VerificationLevel: "strict", Override: map[ValidationType]ValidationAction{"authenticTimestamp": "log"}}, false, []ValidationAction{ActionEnforce, ActionEnforce, ActionLog, ActionEnforce, ActionEnforce}}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { level, err := tt.customVerification.GetVerificationLevel() if tt.wantErr != (err != nil) { t.Fatalf("TestCustomVerificationLevel Error: %q WantErr: %v", err, tt.wantErr) } else { if !tt.wantErr && len(tt.verificationActions) == 0 { t.Errorf("test case isn't configured with VerificationActions") } for index, action := range tt.verificationActions { if action != level.Enforcement[ValidationTypes[index]] { t.Errorf("%q verification action should be %q for custom verification %v", ValidationTypes[index], action, tt.customVerification) } } } }) } } func TestGetDocument(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } dir.UserConfigDir = "/" var doc Document tests := []struct { name string expectedDocument any actualDocument any }{ { name: "valid policy file", expectedDocument: dummyPolicyDocument(), actualDocument: &doc, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { tempRoot := t.TempDir() path := filepath.Join(tempRoot, "trustpolicy.json") policyJson, _ := json.Marshal(tt.expectedDocument) if err := os.WriteFile(path, policyJson, 0600); err != nil { t.Fatalf("TestGetDocument write policy file failed. Error: %v", err) } t.Cleanup(func() { os.RemoveAll(tempRoot) }) if err := getDocument(path, tt.actualDocument); err != nil { t.Fatalf("getDocument() should not throw error for an existing policy file. Error: %v", err) } }) } } func TestGetDocumentErrors(t *testing.T) { dir.UserConfigDir = "/" t.Run("non-existing policy file", func(t *testing.T) { var doc Document if err := getDocument("blaah", &doc); err == nil || err.Error() != fmt.Sprintf("trust policy is not present. To create a trust policy, see: %s", trustPolicyLink) { t.Fatalf("getDocument() should throw error for non existent policy") } }) t.Run("invalid json file", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempRoot := t.TempDir() path := filepath.Join(tempRoot, "invalid.json") if err := os.WriteFile(path, []byte(`{"invalid`), 0600); err != nil { t.Fatalf("creation of invalid policy file failed. Error: %v", err) } t.Cleanup(func() { os.RemoveAll(tempRoot) }) var doc Document if err := getDocument(path, &doc); err == nil || err.Error() != fmt.Sprintf("malformed trust policy. To create a trust policy, see: %s", trustPolicyLink) { t.Fatalf("getDocument() should throw error for invalid policy file. Error: %v", err) } }) t.Run("policy file with bad permissions", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempRoot := t.TempDir() policyJson, _ := json.Marshal([]byte("Some String")) path := filepath.Join(tempRoot, "trustpolicy.json") if err := os.WriteFile(path, policyJson, 0000); err != nil { t.Fatalf("creation of invalid permission policy file failed. Error: %v", err) } expectedErrMsg := fmt.Sprintf("unable to read trust policy due to file permissions, please verify the permissions of %s", path) var doc Document if err := getDocument(path, &doc); err == nil || err.Error() != expectedErrMsg { t.Errorf("getDocument() should throw error for a policy file with bad permissions. "+ "Expected error: '%v'qq but found '%v'", expectedErrMsg, err.Error()) } }) t.Run("symlink policy file", func(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("skipping test on Windows") } tempRoot := t.TempDir() path := filepath.Join(tempRoot, "trustpolicy.json") if err := os.WriteFile(path, []byte(`{"invalid`), 0600); err != nil { t.Fatalf("creation of policy file failed. Error: %v", err) } symlinkPath := filepath.Join(tempRoot, "invalid.json") if err := os.Symlink(path, symlinkPath); err != nil { t.Fatalf("creation of symlink for policy file failed. Error: %v", err) } var doc Document if err := getDocument(symlinkPath, &doc); err == nil || !strings.HasPrefix(err.Error(), "trust policy is not a regular file (symlinks are not supported)") { t.Fatalf("getDocument() should throw error for a symlink policy file. Error: %v", err) } }) } notation-go-1.2.1/verifier/truststore/000077500000000000000000000000001466620631100200275ustar00rootroot00000000000000notation-go-1.2.1/verifier/truststore/errors.go000066400000000000000000000025501466620631100216740ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package truststore // TrustStoreError is used when accessing specified trust store failed type TrustStoreError struct { Msg string InnerError error } func (e TrustStoreError) Error() string { if e.Msg != "" { return e.Msg } if e.InnerError != nil { return e.InnerError.Error() } return "unable to access the trust store" } func (e TrustStoreError) Unwrap() error { return e.InnerError } // CertificateError is used when reading a certificate failed type CertificateError struct { Msg string InnerError error } func (e CertificateError) Error() string { if e.Msg != "" { return e.Msg } if e.InnerError != nil { return e.InnerError.Error() } return "unable to read the certificate" } func (e CertificateError) Unwrap() error { return e.InnerError } notation-go-1.2.1/verifier/truststore/truststore.go000066400000000000000000000123641466620631100226220ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package truststore reads certificates in a trust store package truststore import ( "context" "crypto/x509" "errors" "fmt" "io/fs" "os" "path/filepath" corex509 "github.com/notaryproject/notation-core-go/x509" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/internal/file" "github.com/notaryproject/notation-go/internal/slices" ) // Type is an enum for trust store types supported such as // "ca" and "signingAuthority" type Type string const ( TypeCA Type = "ca" TypeSigningAuthority Type = "signingAuthority" TypeTSA Type = "tsa" ) var ( Types = []Type{ TypeCA, TypeSigningAuthority, TypeTSA, } ) // X509TrustStore provide list and get behaviors for the trust store type X509TrustStore interface { // GetCertificates returns certificates under storeType/namedStore GetCertificates(ctx context.Context, storeType Type, namedStore string) ([]*x509.Certificate, error) } // NewX509TrustStore generates a new X509TrustStore func NewX509TrustStore(trustStorefs dir.SysFS) X509TrustStore { return &x509TrustStore{trustStorefs} } // x509TrustStore implements X509TrustStore type x509TrustStore struct { trustStorefs dir.SysFS } // GetCertificates returns certificates under storeType/namedStore func (trustStore *x509TrustStore) GetCertificates(ctx context.Context, storeType Type, namedStore string) ([]*x509.Certificate, error) { if !isValidStoreType(storeType) { return nil, TrustStoreError{Msg: fmt.Sprintf("unsupported trust store type: %s", storeType)} } if !file.IsValidFileName(namedStore) { return nil, TrustStoreError{Msg: fmt.Sprintf("trust store name needs to follow [a-zA-Z0-9_.-]+ format, %s is invalid", namedStore)} } path, err := trustStore.trustStorefs.SysPath(dir.X509TrustStoreDir(string(storeType), namedStore)) if err != nil { return nil, TrustStoreError{InnerError: err, Msg: fmt.Sprintf("failed to get path of trust store %s of type %s", namedStore, storeType)} } // throw error if path is not a directory or is a symlink or does not exist. fileInfo, err := os.Lstat(path) if err != nil { if os.IsNotExist(err) { return nil, TrustStoreError{InnerError: err, Msg: fmt.Sprintf("the trust store %q of type %q does not exist", namedStore, storeType)} } return nil, TrustStoreError{InnerError: err, Msg: fmt.Sprintf("failed to access the trust store %q of type %q", namedStore, storeType)} } mode := fileInfo.Mode() if !mode.IsDir() || mode&fs.ModeSymlink != 0 { return nil, TrustStoreError{Msg: fmt.Sprintf("the trust store %s of type %s with path %s is not a regular directory (symlinks are not supported)", namedStore, storeType, path)} } files, err := os.ReadDir(path) if err != nil { return nil, TrustStoreError{InnerError: err, Msg: fmt.Sprintf("failed to access the trust store %q of type %q", namedStore, storeType)} } var certificates []*x509.Certificate for _, file := range files { certFileName := file.Name() joinedPath := filepath.Join(path, certFileName) if file.IsDir() || file.Type()&fs.ModeSymlink != 0 { return nil, CertificateError{Msg: fmt.Sprintf("trusted certificate %s in trust store %s of type %s is not a regular file (directories or symlinks are not supported)", certFileName, namedStore, storeType)} } certs, err := corex509.ReadCertificateFile(joinedPath) if err != nil { return nil, CertificateError{InnerError: err, Msg: fmt.Sprintf("failed to read the trusted certificate %s in trust store %s of type %s", certFileName, namedStore, storeType)} } if err := ValidateCertificates(certs); err != nil { return nil, CertificateError{InnerError: err, Msg: fmt.Sprintf("failed to validate the trusted certificate %s in trust store %s of type %s", certFileName, namedStore, storeType)} } certificates = append(certificates, certs...) } if len(certificates) < 1 { return nil, CertificateError{InnerError: fs.ErrNotExist, Msg: fmt.Sprintf("no x509 certificates were found in trust store %q of type %q", namedStore, storeType)} } return certificates, nil } // ValidateCertificates ensures certificates from trust store are // CA certificates or self-signed. func ValidateCertificates(certs []*x509.Certificate) error { if len(certs) < 1 { return errors.New("input certs cannot be empty") } for _, cert := range certs { if !cert.IsCA { if err := cert.CheckSignature(cert.SignatureAlgorithm, cert.RawTBSCertificate, cert.Signature); err != nil { return fmt.Errorf( "certificate with subject %q is not a CA certificate or self-signed signing certificate", cert.Subject, ) } } } return nil } // isValidStoreType checks if storeType is supported func isValidStoreType(storeType Type) bool { return slices.Contains(Types, storeType) } notation-go-1.2.1/verifier/truststore/truststore_test.go000066400000000000000000000106621466620631100236600ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package truststore import ( "context" "errors" "fmt" "path/filepath" "testing" corex509 "github.com/notaryproject/notation-core-go/x509" "github.com/notaryproject/notation-go/dir" ) var trustStore = NewX509TrustStore(dir.NewSysFS(filepath.FromSlash("../testdata/"))) // TestLoadTrustStore tests a valid trust store func TestLoadValidTrustStore(t *testing.T) { _, err := trustStore.GetCertificates(context.Background(), "ca", "valid-trust-store") if err != nil { t.Fatalf("could not get certificates from trust store. %q", err) } } // TestLoadValidTrustStoreWithSelfSignedSigningCertificate tests a valid trust store with self-signed signing certificate func TestLoadValidTrustStoreWithSelfSignedSigningCertificate(t *testing.T) { certs, err := trustStore.GetCertificates(context.Background(), "ca", "valid-trust-store-self-signed") if err != nil { t.Fatalf("could not get certificates from trust store. %q", err) } if len(certs) != 1 { t.Fatalf("unexpected number of certificates in the trust store, expected: %d, got: %d", 1, len(certs)) } } func TestLoadTrustStoreWithInvalidCerts(t *testing.T) { // testing ../testdata/truststore/x509/ca/trust-store-with-invalid-certs/invalid expectedErr := fmt.Errorf("failed to read the trusted certificate %s in trust store %s of type %s", "invalid", "trust-store-with-invalid-certs", "ca") _, err := trustStore.GetCertificates(context.Background(), "ca", "trust-store-with-invalid-certs") if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("invalid certs should return error: %q", expectedErr) } } func TestLoadTrustStoreWithLeafCerts(t *testing.T) { // testing ../testdata/truststore/x509/ca/trust-store-with-leaf-certs/non-ca.crt expectedErrMsg := fmt.Sprintf("failed to validate the trusted certificate %s in trust store %s of type %s", "non-ca.crt", "trust-store-with-leaf-certs", "ca") _, err := trustStore.GetCertificates(context.Background(), "ca", "trust-store-with-leaf-certs") if err == nil || err.Error() != expectedErrMsg { t.Fatalf("leaf cert in a trust store should return error: %s, got: %v", expectedErrMsg, err) } } func TestLoadTrustStoreWithLeafCertsInSingleFile(t *testing.T) { // testing ../testdata/truststore/x509/ca/trust-store-with-leaf-certs-in-single-file/RootAndLeafCerts.crt expectedErrMsg := fmt.Sprintf("failed to validate the trusted certificate %s in trust store %s of type %s", "RootAndLeafCerts.crt", "trust-store-with-leaf-certs-in-single-file", "ca") _, err := trustStore.GetCertificates(context.Background(), "ca", "trust-store-with-leaf-certs-in-single-file") if err == nil || err.Error() != expectedErrMsg { t.Fatalf("leaf cert in a trust store should return error: %s, got: %v", expectedErrMsg, err) } } // TestValidCerts tests valid trust store cert func TestValidateCerts(t *testing.T) { joinedPath := filepath.FromSlash("../testdata/truststore/x509/ca/valid-trust-store/GlobalSign.der") certs, err := corex509.ReadCertificateFile(joinedPath) if err != nil { t.Fatalf("failed to read the trusted certificate %q: %q", joinedPath, err) } err = ValidateCertificates(certs) if err != nil { t.Fatalf("expected to get nil err, got %v", err) } } // TestValidateCertsWithLeafCert tests invalid trust store leaf cert func TestValidateCertsWithLeafCert(t *testing.T) { failurePath := filepath.FromSlash("../testdata/truststore/x509/ca/trust-store-with-leaf-certs/non-ca.crt") certs, err := corex509.ReadCertificateFile(failurePath) if err != nil { t.Fatalf("failed to read the trusted certificate %q: %q", failurePath, err) } expectedErr := errors.New("certificate with subject \"CN=wabbit-networks.io,O=Notary,L=Seattle,ST=WA,C=US\" is not a CA certificate or self-signed signing certificate") err = ValidateCertificates(certs) if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("leaf cert in a trust store should return error %q, got: %v", expectedErr, err) } } notation-go-1.2.1/verifier/verifier.go000066400000000000000000001151601466620631100177370ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package verifier provides an implementation of notation.Verifier interface package verifier import ( "context" "crypto/x509" "encoding/json" "errors" "fmt" "net/http" "reflect" "strings" "time" "golang.org/x/mod/semver" "oras.land/oras-go/v2/content" "github.com/notaryproject/notation-core-go/revocation" "github.com/notaryproject/notation-core-go/revocation/purpose" revocationresult "github.com/notaryproject/notation-core-go/revocation/result" "github.com/notaryproject/notation-core-go/signature" nx509 "github.com/notaryproject/notation-core-go/x509" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/internal/pkix" notationsemver "github.com/notaryproject/notation-go/internal/semver" "github.com/notaryproject/notation-go/internal/slices" trustpolicyInternal "github.com/notaryproject/notation-go/internal/trustpolicy" "github.com/notaryproject/notation-go/log" "github.com/notaryproject/notation-go/plugin" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" pluginframework "github.com/notaryproject/notation-plugin-framework-go/plugin" "github.com/notaryproject/tspclient-go" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) // verifier implements notation.Verifier and notation.verifySkipper type verifier struct { trustPolicyDoc *trustpolicy.Document trustStore truststore.X509TrustStore pluginManager plugin.Manager revocationClient revocation.Revocation revocationCodeSigningValidator revocation.Validator revocationTimestampingValidator revocation.Validator } // VerifierOptions specifies additional parameters that can be set when using // the NewWithOptions constructor type VerifierOptions struct { // RevocationClient is an implementation of revocation.Revocation to use for // verifying revocation of code signing certificate chain // // Deprecated: RevocationClient exists for backwards compatibility and // should not be used. To perform code signing certificate chain revocation // check, use [RevocationCodeSigningValidator]. RevocationClient revocation.Revocation // RevocationCodeSigningValidator is used for verifying revocation of // code signing certificate chain with context. RevocationCodeSigningValidator revocation.Validator // RevocationTimestampingValidator is used for verifying revocation of // timestamping certificate chain with context. RevocationTimestampingValidator revocation.Validator } // NewFromConfig returns a verifier based on local file system. func NewFromConfig() (notation.Verifier, error) { // load trust policy policyDocument, err := trustpolicy.LoadDocument() if err != nil { return nil, err } // load trust store x509TrustStore := truststore.NewX509TrustStore(dir.ConfigFS()) return New(policyDocument, x509TrustStore, plugin.NewCLIManager(dir.PluginFS())) } // New creates a new verifier given trustPolicy, trustStore and pluginManager func New(trustPolicy *trustpolicy.Document, trustStore truststore.X509TrustStore, pluginManager plugin.Manager) (notation.Verifier, error) { return NewWithOptions(trustPolicy, trustStore, pluginManager, VerifierOptions{}) } // NewWithOptions creates a new verifier given trustPolicy, trustStore, // pluginManager, and verifierOptions func NewWithOptions(trustPolicy *trustpolicy.Document, trustStore truststore.X509TrustStore, pluginManager plugin.Manager, verifierOptions VerifierOptions) (notation.Verifier, error) { if trustStore == nil { return nil, errors.New("trustStore cannot be nil") } if trustPolicy == nil { return nil, errors.New("trustPolicy cannot be nil") } if err := trustPolicy.Validate(); err != nil { return nil, err } v := &verifier{ trustPolicyDoc: trustPolicy, trustStore: trustStore, pluginManager: pluginManager, } if err := v.setRevocation(verifierOptions); err != nil { return nil, err } return v, nil } // setRevocation sets revocation validators of v func (v *verifier) setRevocation(verifierOptions VerifierOptions) error { // timestamping validator revocationTimestampingValidator := verifierOptions.RevocationTimestampingValidator var err error if revocationTimestampingValidator == nil { revocationTimestampingValidator, err = revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{Timeout: 2 * time.Second}, CertChainPurpose: purpose.Timestamping, }) if err != nil { return err } } v.revocationTimestampingValidator = revocationTimestampingValidator // code signing validator revocationCodeSigningValidator := verifierOptions.RevocationCodeSigningValidator if revocationCodeSigningValidator != nil { v.revocationCodeSigningValidator = revocationCodeSigningValidator return nil } revocationClient := verifierOptions.RevocationClient if revocationClient != nil { v.revocationClient = revocationClient return nil } // both RevocationCodeSigningValidator and RevocationClient are nil revocationCodeSigningValidator, err = revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{Timeout: 2 * time.Second}, CertChainPurpose: purpose.CodeSigning, }) if err != nil { return err } v.revocationCodeSigningValidator = revocationCodeSigningValidator return nil } // SkipVerify validates whether the verification level is skip. func (v *verifier) SkipVerify(ctx context.Context, opts notation.VerifierVerifyOptions) (bool, *trustpolicy.VerificationLevel, error) { logger := log.GetLogger(ctx) logger.Debugf("Check verification level against artifact %v", opts.ArtifactReference) trustPolicy, err := v.trustPolicyDoc.GetApplicableTrustPolicy(opts.ArtifactReference) if err != nil { return false, nil, notation.ErrorNoApplicableTrustPolicy{Msg: err.Error()} } logger.Infof("Trust policy configuration: %+v", trustPolicy) // ignore the error since we already validated the policy document verificationLevel, _ := trustPolicy.SignatureVerification.GetVerificationLevel() // verificationLevel is skip if reflect.DeepEqual(verificationLevel, trustpolicy.LevelSkip) { logger.Debug("Skipping signature verification") return true, trustpolicy.LevelSkip, nil } return false, verificationLevel, nil } // Verify verifies the signature associated the target OCI // artifact with manifest descriptor `desc`, and returns the outcome upon // successful verification. // If nil signature is present and the verification level is not 'skip', // an error will be returned. func (v *verifier) Verify(ctx context.Context, desc ocispec.Descriptor, signature []byte, opts notation.VerifierVerifyOptions) (*notation.VerificationOutcome, error) { artifactRef := opts.ArtifactReference envelopeMediaType := opts.SignatureMediaType pluginConfig := opts.PluginConfig logger := log.GetLogger(ctx) logger.Debugf("Verify signature against artifact %v referenced as %s in signature media type %v", desc.Digest, artifactRef, envelopeMediaType) if v.trustPolicyDoc == nil { return nil, errors.New("trustPolicyDoc is nil") } trustPolicy, err := v.trustPolicyDoc.GetApplicableTrustPolicy(artifactRef) if err != nil { return nil, notation.ErrorNoApplicableTrustPolicy{Msg: err.Error()} } logger.Infof("Trust policy configuration: %+v", trustPolicy) // ignore the error since we already validated the policy document verificationLevel, _ := trustPolicy.SignatureVerification.GetVerificationLevel() outcome := ¬ation.VerificationOutcome{ RawSignature: signature, VerificationLevel: verificationLevel, } // verificationLevel is skip if reflect.DeepEqual(verificationLevel, trustpolicy.LevelSkip) { logger.Debug("Skipping signature verification") return outcome, nil } err = v.processSignature(ctx, signature, envelopeMediaType, trustPolicy.Name, trustPolicy.TrustedIdentities, trustPolicy.TrustStores, trustPolicy.SignatureVerification, pluginConfig, outcome) if err != nil { outcome.Error = err return outcome, err } payload := &envelope.Payload{} err = json.Unmarshal(outcome.EnvelopeContent.Payload.Content, payload) if err != nil { logger.Error("Failed to unmarshal the payload content in the signature blob to envelope.Payload") outcome.Error = err return outcome, err } if !content.Equal(payload.TargetArtifact, desc) { logger.Infof("Target artifact in signature payload: %+v", payload.TargetArtifact) logger.Infof("Target artifact that want to be verified: %+v", desc) outcome.Error = errors.New("content descriptor mismatch") } if len(opts.UserMetadata) > 0 { err := verifyUserMetadata(logger, payload, opts.UserMetadata) if err != nil { outcome.Error = err } } return outcome, outcome.Error } func (v *verifier) processSignature(ctx context.Context, sigBlob []byte, envelopeMediaType, policyName string, trustedIdentities, trustStores []string, signatureVerification trustpolicy.SignatureVerification, pluginConfig map[string]string, outcome *notation.VerificationOutcome) error { logger := log.GetLogger(ctx) // verify integrity first. notation will always verify integrity no matter // what the signing scheme is envContent, integrityResult := verifyIntegrity(sigBlob, envelopeMediaType, outcome) outcome.EnvelopeContent = envContent outcome.VerificationResults = append(outcome.VerificationResults, integrityResult) if integrityResult.Error != nil { logVerificationResult(logger, integrityResult) return integrityResult.Error } // check if we need to verify using a plugin var pluginCapabilities []pluginframework.Capability verificationPluginName, err := getVerificationPlugin(&outcome.EnvelopeContent.SignerInfo) // use plugin, but getPluginName returns an error if err != nil && err != errExtendedAttributeNotExist { return err } var installedPlugin pluginframework.VerifyPlugin if verificationPluginName != "" { logger.Debugf("Finding verification plugin %s", verificationPluginName) verificationPluginMinVersion, err := getVerificationPluginMinVersion(&outcome.EnvelopeContent.SignerInfo) if err != nil && err != errExtendedAttributeNotExist { return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("error while getting plugin minimum version, error: %s", err)} } if v.pluginManager == nil { return notation.ErrorVerificationInconclusive{Msg: "plugin unsupported due to nil verifier.pluginManager"} } installedPlugin, err = v.pluginManager.Get(ctx, verificationPluginName) if err != nil { return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("error while locating the verification plugin %q, make sure the plugin is installed successfully before verifying the signature. error: %s", verificationPluginName, err)} } // filter the "verification" capabilities supported by the installed // plugin metadata, err := installedPlugin.GetMetadata(ctx, &pluginframework.GetMetadataRequest{PluginConfig: pluginConfig}) if err != nil { return err } pluginVersion := metadata.Version //checking if the plugin version is in valid semver format if !notationsemver.IsValid(pluginVersion) { return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("plugin %s has pluginVersion %s which is not in valid semver format", verificationPluginName, pluginVersion)} } if !isRequiredVerificationPluginVer(pluginVersion, verificationPluginMinVersion) { return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("found plugin %s with version %s but signature verification needs plugin version greater than or equal to %s", verificationPluginName, pluginVersion, verificationPluginMinVersion)} } for _, capability := range metadata.Capabilities { if capability == pluginframework.CapabilityRevocationCheckVerifier || capability == pluginframework.CapabilityTrustedIdentityVerifier { pluginCapabilities = append(pluginCapabilities, capability) } } if len(pluginCapabilities) == 0 { return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("digital signature requires plugin %q with signature verification capabilities (%q and/or %q) installed", verificationPluginName, pluginframework.CapabilityTrustedIdentityVerifier, pluginframework.CapabilityRevocationCheckVerifier)} } } // verify x509 trust store based authenticity logger.Debug("Validating cert chain") trustCerts, err := loadX509TrustStores(ctx, outcome.EnvelopeContent.SignerInfo.SignedAttributes.SigningScheme, policyName, trustStores, v.trustStore) var authenticityResult *notation.ValidationResult if err != nil { authenticityResult = ¬ation.ValidationResult{ Error: err, Type: trustpolicy.TypeAuthenticity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticity], } } else { // verify authenticity authenticityResult = verifyAuthenticity(trustCerts, outcome) } outcome.VerificationResults = append(outcome.VerificationResults, authenticityResult) logVerificationResult(logger, authenticityResult) if isCriticalFailure(authenticityResult) { return authenticityResult.Error } // verify x509 trusted identity based authenticity (only if notation needs // to perform this verification rather than a plugin) if !slices.Contains(pluginCapabilities, pluginframework.CapabilityTrustedIdentityVerifier) { logger.Debug("Validating trust identity") err = verifyX509TrustedIdentities(policyName, trustedIdentities, outcome.EnvelopeContent.SignerInfo.CertificateChain) if err != nil { authenticityResult.Error = err logVerificationResult(logger, authenticityResult) } if isCriticalFailure(authenticityResult) { return authenticityResult.Error } } // verify expiry logger.Debug("Validating expiry") expiryResult := verifyExpiry(outcome) outcome.VerificationResults = append(outcome.VerificationResults, expiryResult) logVerificationResult(logger, expiryResult) if isCriticalFailure(expiryResult) { return expiryResult.Error } // verify authentic timestamp logger.Debug("Validating authentic timestamp") authenticTimestampResult := verifyAuthenticTimestamp(ctx, policyName, trustStores, signatureVerification, v.trustStore, v.revocationTimestampingValidator, outcome) outcome.VerificationResults = append(outcome.VerificationResults, authenticTimestampResult) logVerificationResult(logger, authenticTimestampResult) if isCriticalFailure(authenticTimestampResult) { return authenticTimestampResult.Error } // verify revocation // check if we need to bypass the revocation check, since revocation can be // skipped using a trust policy or a plugin may override the check if outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation] != trustpolicy.ActionSkip && !slices.Contains(pluginCapabilities, pluginframework.CapabilityRevocationCheckVerifier) { logger.Debug("Validating revocation") revocationResult := v.verifyRevocation(ctx, outcome) outcome.VerificationResults = append(outcome.VerificationResults, revocationResult) logVerificationResult(logger, revocationResult) if isCriticalFailure(revocationResult) { return revocationResult.Error } } // perform extended verification using verification plugin if present if installedPlugin != nil { var capabilitiesToVerify []pluginframework.Capability for _, pc := range pluginCapabilities { // skip the revocation capability if the trust policy is configured // to skip it if outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation] == trustpolicy.ActionSkip && pc == pluginframework.CapabilityRevocationCheckVerifier { logger.Debugf("Skipping the %v validation", pc) continue } capabilitiesToVerify = append(capabilitiesToVerify, pc) } if len(capabilitiesToVerify) > 0 { logger.Debugf("Executing verification plugin %q with capabilities %v", verificationPluginName, capabilitiesToVerify) response, err := executePlugin(ctx, installedPlugin, capabilitiesToVerify, outcome.EnvelopeContent, trustedIdentities, pluginConfig) if err != nil { return fmt.Errorf("failed to verify with plugin %s: %w", verificationPluginName, err) } return processPluginResponse(capabilitiesToVerify, response, outcome) } } return nil } func (v *verifier) verifyRevocation(ctx context.Context, outcome *notation.VerificationOutcome) *notation.ValidationResult { logger := log.GetLogger(ctx) if v.revocationCodeSigningValidator == nil && v.revocationClient == nil { return ¬ation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation], Error: fmt.Errorf("unable to check revocation status, code signing revocation validator cannot be nil"), } } var authenticSigningTime time.Time if outcome.EnvelopeContent.SignerInfo.SignedAttributes.SigningScheme == signature.SigningSchemeX509SigningAuthority { authenticSigningTime, _ = outcome.EnvelopeContent.SignerInfo.AuthenticSigningTime() } var certResults []*revocationresult.CertRevocationResult var err error if v.revocationCodeSigningValidator != nil { certResults, err = v.revocationCodeSigningValidator.ValidateContext(ctx, revocation.ValidateContextOptions{ CertChain: outcome.EnvelopeContent.SignerInfo.CertificateChain, AuthenticSigningTime: authenticSigningTime, }) } else { certResults, err = v.revocationClient.Validate(outcome.EnvelopeContent.SignerInfo.CertificateChain, authenticSigningTime) } if err != nil { logger.Debug("Error while checking revocation status, err: %s", err.Error()) return ¬ation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation], Error: fmt.Errorf("unable to check revocation status, err: %s", err.Error()), } } result := ¬ation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation], } finalResult, problematicCertSubject := revocationFinalResult(certResults, outcome.EnvelopeContent.SignerInfo.CertificateChain, logger) switch finalResult { case revocationresult.ResultOK: logger.Debug("No verification impacting errors encountered while checking revocation, status is OK") case revocationresult.ResultRevoked: result.Error = fmt.Errorf("signing certificate with subject %q is revoked", problematicCertSubject) default: // revocationresult.ResultUnknown result.Error = fmt.Errorf("signing certificate with subject %q revocation status is unknown", problematicCertSubject) } return result } func processPluginResponse(capabilitiesToVerify []pluginframework.Capability, response *pluginframework.VerifySignatureResponse, outcome *notation.VerificationOutcome) error { verificationPluginName, err := getVerificationPlugin(&outcome.EnvelopeContent.SignerInfo) if err != nil { return err } // verify all extended critical attributes are processed by the plugin for _, attr := range getNonPluginExtendedCriticalAttributes(&outcome.EnvelopeContent.SignerInfo) { if !slices.ContainsAny(response.ProcessedAttributes, attr.Key) { return fmt.Errorf("extended critical attribute %q was not processed by the verification plugin %q (all extended critical attributes must be processed by the verification plugin)", attr.Key, verificationPluginName) } } for _, capability := range capabilitiesToVerify { pluginResult := response.VerificationResults[capability] if pluginResult == nil { // verification result is empty for this capability return notation.ErrorVerificationInconclusive{Msg: fmt.Sprintf("verification plugin %q failed to verify %q", verificationPluginName, capability)} } switch capability { case pluginframework.CapabilityTrustedIdentityVerifier: if !pluginResult.Success { // find the Authenticity VerificationResult that we already // created during x509 trust store verification var authenticityResult *notation.ValidationResult for _, r := range outcome.VerificationResults { if r.Type == trustpolicy.TypeAuthenticity { authenticityResult = r break } } authenticityResult.Error = fmt.Errorf("trusted identify verification by plugin %q failed with reason %q", verificationPluginName, pluginResult.Reason) if isCriticalFailure(authenticityResult) { return authenticityResult.Error } } case pluginframework.CapabilityRevocationCheckVerifier: var revocationResult *notation.ValidationResult if !pluginResult.Success { revocationResult = ¬ation.ValidationResult{ Error: fmt.Errorf("revocation check by verification plugin %q failed with reason %q", verificationPluginName, pluginResult.Reason), Type: trustpolicy.TypeRevocation, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation], } } else { revocationResult = ¬ation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeRevocation], } } outcome.VerificationResults = append(outcome.VerificationResults, revocationResult) if isCriticalFailure(revocationResult) { return revocationResult.Error } } } return nil } func verifyIntegrity(sigBlob []byte, envelopeMediaType string, outcome *notation.VerificationOutcome) (*signature.EnvelopeContent, *notation.ValidationResult) { // parse the signature sigEnv, err := signature.ParseEnvelope(envelopeMediaType, sigBlob) if err != nil { return nil, ¬ation.ValidationResult{ Error: fmt.Errorf("unable to parse the digital signature, error : %s", err), Type: trustpolicy.TypeIntegrity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeIntegrity], } } // verify integrity envContent, err := sigEnv.Verify() if err != nil { switch err.(type) { case *signature.SignatureEnvelopeNotFoundError, *signature.InvalidSignatureError, *signature.SignatureIntegrityError: return nil, ¬ation.ValidationResult{ Error: err, Type: trustpolicy.TypeIntegrity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeIntegrity], } default: // unexpected error return nil, ¬ation.ValidationResult{ Error: notation.ErrorVerificationInconclusive{Msg: err.Error()}, Type: trustpolicy.TypeIntegrity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeIntegrity], } } } if err := envelope.ValidatePayloadContentType(&envContent.Payload); err != nil { return nil, ¬ation.ValidationResult{ Error: err, Type: trustpolicy.TypeIntegrity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeIntegrity], } } // integrity has been verified successfully return envContent, ¬ation.ValidationResult{ Type: trustpolicy.TypeIntegrity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeIntegrity], } } func verifyAuthenticity(trustCerts []*x509.Certificate, outcome *notation.VerificationOutcome) *notation.ValidationResult { if len(trustCerts) < 1 { return ¬ation.ValidationResult{ Error: notation.ErrorVerificationInconclusive{Msg: "no trusted certificates are found to verify authenticity"}, Type: trustpolicy.TypeAuthenticity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticity], } } _, err := signature.VerifyAuthenticity(&outcome.EnvelopeContent.SignerInfo, trustCerts) if err != nil { switch err.(type) { case *signature.SignatureAuthenticityError: return ¬ation.ValidationResult{ Error: err, Type: trustpolicy.TypeAuthenticity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticity], } default: return ¬ation.ValidationResult{ Error: notation.ErrorVerificationInconclusive{Msg: "authenticity verification failed with error : " + err.Error()}, Type: trustpolicy.TypeAuthenticity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticity], } } } return ¬ation.ValidationResult{ Type: trustpolicy.TypeAuthenticity, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticity], } } func verifyUserMetadata(logger log.Logger, payload *envelope.Payload, userMetadata map[string]string) error { logger.Debugf("Verifying that metadata %v is present in signature", userMetadata) logger.Debugf("Signature metadata: %v", payload.TargetArtifact.Annotations) for k, v := range userMetadata { if got, ok := payload.TargetArtifact.Annotations[k]; !ok || got != v { logger.Errorf("User required metadata %s=%s is not present in the signature", k, v) return notation.ErrorUserMetadataVerificationFailed{} } } return nil } func verifyExpiry(outcome *notation.VerificationOutcome) *notation.ValidationResult { if expiry := outcome.EnvelopeContent.SignerInfo.SignedAttributes.Expiry; !expiry.IsZero() && !time.Now().Before(expiry) { return ¬ation.ValidationResult{ Error: fmt.Errorf("digital signature has expired on %q", expiry.Format(time.RFC1123Z)), Type: trustpolicy.TypeExpiry, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeExpiry], } } return ¬ation.ValidationResult{ Type: trustpolicy.TypeExpiry, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeExpiry], } } func verifyAuthenticTimestamp(ctx context.Context, policyName string, trustStores []string, signatureVerification trustpolicy.SignatureVerification, x509TrustStore truststore.X509TrustStore, r revocation.Validator, outcome *notation.VerificationOutcome) *notation.ValidationResult { logger := log.GetLogger(ctx) signerInfo := outcome.EnvelopeContent.SignerInfo // under signing scheme notary.x509 if signerInfo.SignedAttributes.SigningScheme == signature.SigningSchemeX509 { logger.Debug("Under signing scheme notary.x509...") return ¬ation.ValidationResult{ Error: verifyTimestamp(ctx, policyName, trustStores, signatureVerification, x509TrustStore, r, outcome), Type: trustpolicy.TypeAuthenticTimestamp, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticTimestamp], } } // under signing scheme notary.x509.signingAuthority logger.Debug("Under signing scheme notary.x509.signingAuthority...") authenticSigningTime := signerInfo.SignedAttributes.SigningTime for _, cert := range signerInfo.CertificateChain { if authenticSigningTime.Before(cert.NotBefore) || authenticSigningTime.After(cert.NotAfter) { return ¬ation.ValidationResult{ Error: fmt.Errorf("certificate %q was not valid when the digital signature was produced at %q", cert.Subject, authenticSigningTime.Format(time.RFC1123Z)), Type: trustpolicy.TypeAuthenticTimestamp, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticTimestamp], } } } // success return ¬ation.ValidationResult{ Type: trustpolicy.TypeAuthenticTimestamp, Action: outcome.VerificationLevel.Enforcement[trustpolicy.TypeAuthenticTimestamp], } } // revocationFinalResult returns the final revocation result and problematic // certificate subject if the final result is not ResultOK func revocationFinalResult(certResults []*revocationresult.CertRevocationResult, certChain []*x509.Certificate, logger log.Logger) (revocationresult.Result, string) { finalResult := revocationresult.ResultUnknown numOKResults := 0 var problematicCertSubject string revokedFound := false var revokedCertSubject string for i := len(certResults) - 1; i >= 0; i-- { if len(certResults[i].ServerResults) > 0 && certResults[i].ServerResults[0].Error != nil { logger.Debugf("Error for certificate #%d in chain with subject %v for server %q: %v", (i + 1), certChain[i].Subject.String(), certResults[i].ServerResults[0].Server, certResults[i].ServerResults[0].Error) } if certResults[i].Result == revocationresult.ResultOK || certResults[i].Result == revocationresult.ResultNonRevokable { numOKResults++ } else { finalResult = certResults[i].Result problematicCertSubject = certChain[i].Subject.String() if certResults[i].Result == revocationresult.ResultRevoked { revokedFound = true revokedCertSubject = problematicCertSubject } } } if revokedFound { problematicCertSubject = revokedCertSubject finalResult = revocationresult.ResultRevoked } if numOKResults == len(certResults) { finalResult = revocationresult.ResultOK } return finalResult, problematicCertSubject } func executePlugin(ctx context.Context, installedPlugin pluginframework.VerifyPlugin, capabilitiesToVerify []pluginframework.Capability, envelopeContent *signature.EnvelopeContent, trustedIdentities []string, pluginConfig map[string]string) (*pluginframework.VerifySignatureResponse, error) { logger := log.GetLogger(ctx) // sanity check if installedPlugin == nil { return nil, errors.New("installedPlugin cannot be nil") } signerInfo, payloadInfo := &envelopeContent.SignerInfo, envelopeContent.Payload var attributesToProcess []string extendedAttributes := make(map[string]interface{}) for _, attr := range getNonPluginExtendedCriticalAttributes(signerInfo) { extendedAttributes[attr.Key.(string)] = attr.Value attributesToProcess = append(attributesToProcess, attr.Key.(string)) } logger.Debugf("Added plugin attributes to be processed %v", attributesToProcess) var certChain [][]byte for _, cert := range signerInfo.CertificateChain { certChain = append(certChain, cert.Raw) } var authenticSigningTime *time.Time if signerInfo.SignedAttributes.SigningScheme == signature.SigningSchemeX509SigningAuthority { authenticSigningTime = &signerInfo.SignedAttributes.SigningTime // TODO use authenticSigningTime from signerInfo // https://github.com/notaryproject/notation-core-go/issues/38 } sig := pluginframework.Signature{ CriticalAttributes: pluginframework.CriticalAttributes{ ContentType: payloadInfo.ContentType, SigningScheme: string(signerInfo.SignedAttributes.SigningScheme), Expiry: &signerInfo.SignedAttributes.Expiry, AuthenticSigningTime: authenticSigningTime, ExtendedAttributes: extendedAttributes, }, UnprocessedAttributes: attributesToProcess, CertificateChain: certChain, } policy := pluginframework.TrustPolicy{ TrustedIdentities: trustedIdentities, SignatureVerification: capabilitiesToVerify, } req := &pluginframework.VerifySignatureRequest{ ContractVersion: pluginframework.ContractVersion, Signature: sig, TrustPolicy: policy, PluginConfig: pluginConfig, } return installedPlugin.VerifySignature(ctx, req) } func verifyX509TrustedIdentities(policyName string, trustedIdentities []string, certs []*x509.Certificate) error { if slices.Contains(trustedIdentities, trustpolicyInternal.Wildcard) { return nil } var trustedX509Identities []map[string]string for _, identity := range trustedIdentities { identityPrefix, identityValue, found := strings.Cut(identity, ":") if !found { return fmt.Errorf("trust policy statement %q has trusted identity %q missing separator", policyName, identity) } // notation natively supports x509.subject identities only if identityPrefix == trustpolicyInternal.X509Subject { // identityValue cannot be empty if identityValue == "" { return fmt.Errorf("trust policy statement %q has trusted identity %q without an identity value", policyName, identity) } parsedSubject, err := pkix.ParseDistinguishedName(identityValue) if err != nil { return err } trustedX509Identities = append(trustedX509Identities, parsedSubject) } } if len(trustedX509Identities) == 0 { return fmt.Errorf("no x509 trusted identities are configured in the trust policy %q", policyName) } leafCert := certs[0] // trusted identities only supported on the leaf cert // parse the certificate subject following rfc 4514 DN syntax leafCertDN, err := pkix.ParseDistinguishedName(leafCert.Subject.String()) if err != nil { return fmt.Errorf("error while parsing the certificate subject from the digital signature. error : %q", err) } for _, trustedX509Identity := range trustedX509Identities { if pkix.IsSubsetDN(trustedX509Identity, leafCertDN) { return nil } } return fmt.Errorf("signing certificate from the digital signature does not match the X.509 trusted identities %q defined in the trust policy %q", trustedX509Identities, policyName) } func logVerificationResult(logger log.Logger, result *notation.ValidationResult) { if result.Error == nil { return } switch result.Action { case trustpolicy.ActionLog: logger.Warnf("%v validation failed with validation action set to \"logged\". Failure reason: %v", result.Type, result.Error) case trustpolicy.ActionEnforce: logger.Errorf("%v validation failed. Failure reason: %v", result.Type, result.Error) } } func isRequiredVerificationPluginVer(pluginVer string, minPluginVer string) bool { return semver.Compare("v"+pluginVer, "v"+minPluginVer) != -1 } // verifyTimestamp provides core verification logic of authentic timestamp under // signing scheme `notary.x509`. func verifyTimestamp(ctx context.Context, policyName string, trustStores []string, signatureVerification trustpolicy.SignatureVerification, x509TrustStore truststore.X509TrustStore, r revocation.Validator, outcome *notation.VerificationOutcome) error { logger := log.GetLogger(ctx) signerInfo := outcome.EnvelopeContent.SignerInfo performTimestampVerification := true // check if tsa trust store is configured in trust policy tsaEnabled, err := isTSATrustStoreInPolicy(policyName, trustStores) if err != nil { return fmt.Errorf("failed to check tsa trust store configuration in turst policy with error: %w", err) } if !tsaEnabled { logger.Info("Timestamp verification disabled: no tsa trust store is configured in trust policy") performTimestampVerification = false } // check based on 'verifyTimestamp' field timeOfVerification := time.Now() if performTimestampVerification && signatureVerification.VerifyTimestamp == trustpolicy.OptionAfterCertExpiry { // check if signing cert chain has expired var expired bool for _, cert := range signerInfo.CertificateChain { if timeOfVerification.After(cert.NotAfter) { expired = true break } } if !expired { logger.Infof("Timestamp verification disabled: verifyTimestamp is set to %q and signing cert chain unexpired", trustpolicy.OptionAfterCertExpiry) performTimestampVerification = false } } // timestamp verification disabled, signing cert chain MUST be valid // at time of verification if !performTimestampVerification { for _, cert := range signerInfo.CertificateChain { if timeOfVerification.Before(cert.NotBefore) { return fmt.Errorf("verification time is before certificate %q validity period, it will be valid from %q", cert.Subject, cert.NotBefore.Format(time.RFC1123Z)) } if timeOfVerification.After(cert.NotAfter) { return fmt.Errorf("verification time is after certificate %q validity period, it was expired at %q", cert.Subject, cert.NotAfter.Format(time.RFC1123Z)) } } // success return nil } // Performing timestamp verification logger.Info("Performing timestamp verification...") // 1. Timestamp countersignature MUST be present logger.Debug("Checking timestamp countersignature existence...") if len(signerInfo.UnsignedAttributes.TimestampSignature) == 0 { return errors.New("no timestamp countersignature was found in the signature envelope") } // 2. Verify the timestamp countersignature logger.Debug("Verifying the timestamp countersignature...") signedToken, err := tspclient.ParseSignedToken(signerInfo.UnsignedAttributes.TimestampSignature) if err != nil { return fmt.Errorf("failed to parse timestamp countersignature with error: %w", err) } info, err := signedToken.Info() if err != nil { return fmt.Errorf("failed to get the timestamp TSTInfo with error: %w", err) } timestamp, err := info.Validate(signerInfo.Signature) if err != nil { return fmt.Errorf("failed to get timestamp from timestamp countersignature with error: %w", err) } trustTSACerts, err := loadX509TSATrustStores(ctx, outcome.EnvelopeContent.SignerInfo.SignedAttributes.SigningScheme, policyName, trustStores, x509TrustStore) if err != nil { return fmt.Errorf("failed to load tsa trust store with error: %w", err) } if len(trustTSACerts) == 0 { return errors.New("no trusted TSA certificate found in trust store") } rootCertPool := x509.NewCertPool() for _, trustedCerts := range trustTSACerts { rootCertPool.AddCert(trustedCerts) } tsaCertChain, err := signedToken.Verify(ctx, x509.VerifyOptions{ CurrentTime: timestamp.Value, Roots: rootCertPool, }) if err != nil { return fmt.Errorf("failed to verify the timestamp countersignature with error: %w", err) } // 3. Validate timestamping certificate chain logger.Debug("Validating timestamping certificate chain...") if err := nx509.ValidateTimestampingCertChain(tsaCertChain); err != nil { return fmt.Errorf("failed to validate the timestamping certificate chain with error: %w", err) } logger.Info("TSA identity is: ", tsaCertChain[0].Subject) // 4. Check the timestamp against the signing certificate chain logger.Debug("Checking the timestamp against the signing certificate chain...") logger.Debugf("Timestamp range: %s", timestamp.Format(time.RFC3339)) for _, cert := range signerInfo.CertificateChain { if !timestamp.BoundedAfter(cert.NotBefore) { return fmt.Errorf("timestamp can be before certificate %q validity period, it will be valid from %q", cert.Subject, cert.NotBefore.Format(time.RFC1123Z)) } if !timestamp.BoundedBefore(cert.NotAfter) { return fmt.Errorf("timestamp can be after certificate %q validity period, it was expired at %q", cert.Subject, cert.NotAfter.Format(time.RFC1123Z)) } } // 5. Perform the timestamping certificate chain revocation check logger.Debug("Checking timestamping certificate chain revocation...") certResults, err := r.ValidateContext(ctx, revocation.ValidateContextOptions{ CertChain: tsaCertChain, }) if err != nil { return fmt.Errorf("failed to check timestamping certificate chain revocation with error: %w", err) } finalResult, problematicCertSubject := revocationFinalResult(certResults, tsaCertChain, logger) switch finalResult { case revocationresult.ResultOK: logger.Debug("No verification impacting errors encountered while checking timestamping certificate chain revocation, status is OK") case revocationresult.ResultRevoked: return fmt.Errorf("timestamping certificate with subject %q is revoked", problematicCertSubject) default: // revocationresult.ResultUnknown return fmt.Errorf("timestamping certificate with subject %q revocation status is unknown", problematicCertSubject) } // success return nil } notation-go-1.2.1/verifier/verifier_test.go000066400000000000000000001542241466620631100210020ustar00rootroot00000000000000// Copyright The Notary Project Authors. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package verifier import ( "context" "crypto/x509" "encoding/json" "errors" "fmt" "net/http" "os" "path/filepath" "strconv" "testing" "time" "golang.org/x/crypto/ocsp" "github.com/notaryproject/notation-core-go/revocation" "github.com/notaryproject/notation-core-go/revocation/purpose" "github.com/notaryproject/notation-core-go/signature" _ "github.com/notaryproject/notation-core-go/signature/cose" "github.com/notaryproject/notation-core-go/testhelper" corex509 "github.com/notaryproject/notation-core-go/x509" "github.com/notaryproject/notation-go" "github.com/notaryproject/notation-go/dir" "github.com/notaryproject/notation-go/internal/envelope" "github.com/notaryproject/notation-go/internal/mock" "github.com/notaryproject/notation-go/plugin/proto" "github.com/notaryproject/notation-go/signer" "github.com/notaryproject/notation-go/verifier/trustpolicy" "github.com/notaryproject/notation-go/verifier/truststore" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) var policy = dummyPolicyDocument() var invalidPolicy = dummyInvalidPolicyDocument() var store = truststore.NewX509TrustStore(dir.ConfigFS()) var pm = mock.PluginManager{} func TestNewVerifier_Error(t *testing.T) { policyDocument := dummyPolicyDocument() _, err := New(&policyDocument, nil, nil) expectedErr := errors.New("trustStore cannot be nil") if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("TestNewVerifier_Error expected error %v, got %v", expectedErr, err) } } func TestNewFromConfig(t *testing.T) { tempRoot := t.TempDir() dir.UserConfigDir = tempRoot expectedErrMsg := "trust policy is not present. To create a trust policy, see: https://notaryproject.dev/docs/quickstart/#create-a-trust-policy" _, err := NewFromConfig() if err == nil || err.Error() != expectedErrMsg { t.Fatalf("expected %s, but got %s", expectedErrMsg, err) } path := filepath.Join(tempRoot, "trustpolicy.json") policyJson, _ := json.Marshal(dummyPolicyDocument()) if err := os.WriteFile(path, policyJson, 0600); err != nil { t.Fatal(err) } t.Cleanup(func() { os.RemoveAll(tempRoot) }) _, err = NewFromConfig() if err != nil { t.Fatal(err) } } func TestInvalidArtifactUriValidations(t *testing.T) { verifier := verifier{ trustPolicyDoc: &policy, pluginManager: mock.PluginManager{}, } tests := []struct { uri string wantErr bool }{ {"", true}, {"invaliduri", true}, {"domain.com/repository@sha256:", true}, {"domain.com/repository@sha256", true}, {"domain.com/repository@", true}, {"domain.com/repository", true}, {"domain.com/repositorysha256:digest", true}, {"domain.com/repositorysha256digest", true}, {"repository@sha256:digest", true}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { opts := notation.VerifierVerifyOptions{ArtifactReference: tt.uri} _, err := verifier.Verify(context.Background(), ocispec.Descriptor{}, []byte{}, opts) if err != nil != tt.wantErr { t.Fatalf("TestInvalidArtifactUriValidations expected error for %q", tt.uri) } }) } } func TestErrorNoApplicableTrustPolicy_Error(t *testing.T) { verifier := verifier{ trustPolicyDoc: &policy, pluginManager: mock.PluginManager{}, } opts := notation.VerifierVerifyOptions{ArtifactReference: "non-existent-domain.com/repo@sha256:73c803930ea3ba1e54bc25c2bdc53edd0284c62ed651fe7b00369da519a3c333"} _, err := verifier.Verify(context.Background(), ocispec.Descriptor{}, []byte{}, opts) if !errors.Is(err, notation.ErrorNoApplicableTrustPolicy{Msg: "artifact \"non-existent-domain.com/repo@sha256:73c803930ea3ba1e54bc25c2bdc53edd0284c62ed651fe7b00369da519a3c333\" has no applicable trust policy statement. Trust policy applicability for a given artifact is determined by registryScopes. To create a trust policy, see: https://notaryproject.dev/docs/quickstart/#create-a-trust-policy"}) { t.Fatalf("no applicable trust policy must throw error") } } func TestNotationVerificationCombinations(t *testing.T) { assertNotationVerification(t, signature.SigningSchemeX509) assertNotationVerification(t, signature.SigningSchemeX509SigningAuthority) } func assertNotationVerification(t *testing.T, scheme signature.SigningScheme) { var validSigEnv []byte var invalidSigEnv []byte var expiredSigEnv []byte if scheme == signature.SigningSchemeX509 { validSigEnv = mock.MockCaValidSigEnv invalidSigEnv = mock.MockCaInvalidSigEnv expiredSigEnv = mock.MockCaExpiredSigEnv } else if scheme == signature.SigningSchemeX509SigningAuthority { validSigEnv = mock.MockSaValidSigEnv invalidSigEnv = mock.MockSaInvalidSigEnv expiredSigEnv = mock.MockSaExpiredSigEnv } type testCase struct { signatureBlob []byte verificationType trustpolicy.ValidationType verificationLevel *trustpolicy.VerificationLevel policyDocument trustpolicy.Document opts notation.VerifierVerifyOptions expectedErr error } var testCases []testCase verificationLevels := []*trustpolicy.VerificationLevel{trustpolicy.LevelStrict, trustpolicy.LevelPermissive, trustpolicy.LevelAudit} // Unsupported Signature Envelope for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() expectedErr := fmt.Errorf("unable to parse the digital signature, error : signature envelope format with media type \"application/unsupported+json\" is not supported") testCases = append(testCases, testCase{ verificationType: trustpolicy.TypeIntegrity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/unsupported+json"}, expectedErr: expectedErr, }) } // Integrity Success for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeIntegrity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, }) } // Integrity Failure for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() expectedErr := fmt.Errorf("signature is invalid. Error: illegal base64 data at input byte 242") testCases = append(testCases, testCase{ signatureBlob: invalidSigEnv, verificationType: trustpolicy.TypeIntegrity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // Authenticity Success for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() // trust store is configured with the root certificate of the signature by default testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, }) } // Authenticity Failure for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].TrustStores = []string{"ca:valid-trust-store-2", "signingAuthority:valid-trust-store-2"} // trust store is not configured with the root certificate of the signature expectedErr := fmt.Errorf("signature is not produced by a trusted signer") testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // Authenticity Failure with trust store missing separator for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].TrustStores = []string{"ca:valid-trust-store-2", "signingAuthority"} expectedErr := fmt.Errorf("error while loading the trust store, trust policy statement \"test-statement-name\" is missing separator in trust store value \"signingAuthority\". The required format is :") testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // TrustedIdentity Failure for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].TrustedIdentities = []string{"x509.subject:CN=LOL,O=DummyOrg,L=Hyderabad,ST=TG,C=IN"} // configure policy to not trust "CN=Notation Test Leaf Cert,O=Notary,L=Seattle,ST=WA,C=US" which is the subject of the signature's signing certificate expectedErr := fmt.Errorf("signing certificate from the digital signature does not match the X.509 trusted identities [map[\"C\":\"IN\" \"CN\":\"LOL\" \"L\":\"Hyderabad\" \"O\":\"DummyOrg\" \"ST\":\"TG\"]] defined in the trust policy \"test-statement-name\"") testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // TrustedIdentity Failure without separator for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].TrustedIdentities = []string{"x509.subject"} expectedErr := fmt.Errorf("trust policy statement \"test-statement-name\" has trusted identity \"x509.subject\" missing separator") testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // TrustedIdentity Failure with empty value for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].TrustedIdentities = []string{"x509.subject:"} expectedErr := fmt.Errorf("trust policy statement \"test-statement-name\" has trusted identity \"x509.subject:\" without an identity value") testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeAuthenticity, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } // Expiry Success for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() testCases = append(testCases, testCase{ signatureBlob: validSigEnv, verificationType: trustpolicy.TypeExpiry, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, }) } // Expiry Failure for _, level := range verificationLevels { policyDocument := dummyPolicyDocument() expectedErr := fmt.Errorf("digital signature has expired on \"Fri, 29 Jul 2022 23:59:00 +0000\"") testCases = append(testCases, testCase{ signatureBlob: expiredSigEnv, verificationType: trustpolicy.TypeExpiry, verificationLevel: level, policyDocument: policyDocument, opts: notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"}, expectedErr: expectedErr, }) } for i, tt := range testCases { t.Run(strconv.Itoa(i), func(t *testing.T) { tt.policyDocument.TrustPolicies[0].SignatureVerification.VerificationLevel = tt.verificationLevel.Name expectedResult := notation.ValidationResult{ Type: tt.verificationType, Action: tt.verificationLevel.Enforcement[tt.verificationType], Error: tt.expectedErr, } dir.UserConfigDir = "testdata" pluginManager := mock.PluginManager{} pluginManager.GetPluginError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") pluginManager.PluginRunnerLoadError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") revocationClient, err := revocation.New(&http.Client{Timeout: 2 * time.Second}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } verifier := verifier{ trustPolicyDoc: &tt.policyDocument, trustStore: truststore.NewX509TrustStore(dir.ConfigFS()), pluginManager: pluginManager, revocationClient: revocationClient, } outcome, _ := verifier.Verify(context.Background(), ocispec.Descriptor{}, tt.signatureBlob, tt.opts) verifyResult(outcome, expectedResult, tt.expectedErr, t) }) } } func TestVerifyRevocationEnvelope(t *testing.T) { // Test values desc := ocispec.Descriptor{ MediaType: "application/vnd.docker.distribution.manifest.v2+json", Digest: "sha256:60043cf45eaebc4c0867fea485a039b598f52fd09fd5b07b0b2d2f88fad9d74e", Size: 528, URLs: []string{}, Annotations: map[string]string{}, Data: []byte("test data"), Platform: nil, ArtifactType: "", } payload := envelope.Payload{ TargetArtifact: desc, } opts := notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} pluginManager := mock.PluginManager{} pluginManager.GetPluginError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") pluginManager.PluginRunnerLoadError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") // Get revokable certs and set up mock client (will always say certs are revoked) revokableChain := testhelper.GetRevokableRSAChain(2) httpClient := testhelper.MockClient(revokableChain, []ocsp.ResponseStatus{ocsp.Revoked}, nil, true) revocationClient, err := revocation.New(httpClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } // Generate blob with revokable certs internalSigner, err := signer.New(revokableChain[0].PrivateKey, []*x509.Certificate{revokableChain[0].Cert, revokableChain[1].Cert}) if err != nil { t.Fatalf("Unexpected error while creating signer: %v", err) } envelopeBlob, _, err := internalSigner.Sign(context.Background(), payload.TargetArtifact, notation.SignerSignOptions{ExpiryDuration: 24 * time.Hour, SignatureMediaType: "application/jose+json"}) if err != nil { t.Fatalf("Unexpected error while generating blob: %v", err) } t.Run("enforced revoked cert", func(t *testing.T) { testedLevel := trustpolicy.LevelStrict policyDoc := dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification.VerificationLevel = testedLevel.Name policyDoc.TrustPolicies[0].SignatureVerification.Override = map[trustpolicy.ValidationType]trustpolicy.ValidationAction{ trustpolicy.TypeAuthenticity: trustpolicy.ActionLog, trustpolicy.TypeRevocation: trustpolicy.ActionEnforce, } var expectedErr error = fmt.Errorf("signing certificate with subject %q is revoked", revokableChain[0].Cert.Subject.String()) expectedResult := notation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: trustpolicy.ActionEnforce, Error: expectedErr, } dir.UserConfigDir = "testdata" verifier := verifier{ trustPolicyDoc: &policyDoc, trustStore: truststore.NewX509TrustStore(dir.ConfigFS()), pluginManager: pluginManager, revocationClient: revocationClient, } outcome, err := verifier.Verify(context.Background(), desc, envelopeBlob, opts) if err == nil || err.Error() != expectedErr.Error() { t.Fatalf("Expected verify to fail with %v, but got %v", expectedErr, err) } verifyResult(outcome, expectedResult, expectedErr, t) }) t.Run("log revoked cert", func(t *testing.T) { testedLevel := trustpolicy.LevelStrict policyDoc := dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification.VerificationLevel = testedLevel.Name policyDoc.TrustPolicies[0].SignatureVerification.Override = map[trustpolicy.ValidationType]trustpolicy.ValidationAction{ trustpolicy.TypeAuthenticity: trustpolicy.ActionLog, trustpolicy.TypeRevocation: trustpolicy.ActionLog, } var expectedErr error = fmt.Errorf("signing certificate with subject %q is revoked", revokableChain[0].Cert.Subject.String()) expectedResult := notation.ValidationResult{ Type: trustpolicy.TypeRevocation, Action: trustpolicy.ActionLog, Error: expectedErr, } dir.UserConfigDir = "testdata" verifier := verifier{ trustPolicyDoc: &policyDoc, trustStore: truststore.NewX509TrustStore(dir.ConfigFS()), pluginManager: pluginManager, revocationClient: revocationClient, } ctx := context.Background() outcome, err := verifier.Verify(ctx, desc, envelopeBlob, opts) if err != nil { t.Fatalf("Unexpected error while verifying: %v", err) } verifyResult(outcome, expectedResult, expectedErr, t) }) t.Run("skip revoked cert", func(t *testing.T) { testedLevel := trustpolicy.LevelStrict policyDoc := dummyPolicyDocument() policyDoc.TrustPolicies[0].SignatureVerification.VerificationLevel = testedLevel.Name policyDoc.TrustPolicies[0].SignatureVerification.Override = map[trustpolicy.ValidationType]trustpolicy.ValidationAction{ trustpolicy.TypeAuthenticity: trustpolicy.ActionLog, trustpolicy.TypeRevocation: trustpolicy.ActionSkip, } dir.UserConfigDir = "testdata" verifier := verifier{ trustPolicyDoc: &policyDoc, trustStore: truststore.NewX509TrustStore(dir.ConfigFS()), pluginManager: pluginManager, revocationClient: revocationClient, } outcome, err := verifier.Verify(context.Background(), desc, envelopeBlob, opts) if err != nil { t.Fatalf("Unexpected error while verifying: %v", err) } for _, result := range outcome.VerificationResults { if result.Type == trustpolicy.TypeRevocation { t.Fatal("expected no result for TypeRevocation after skip") } } }) } func createMockOutcome(certChain []*x509.Certificate, signingTime time.Time) *notation.VerificationOutcome { return ¬ation.VerificationOutcome{ EnvelopeContent: &signature.EnvelopeContent{ SignerInfo: signature.SignerInfo{ SignedAttributes: signature.SignedAttributes{ SigningTime: signingTime, SigningScheme: signature.SigningSchemeX509SigningAuthority, }, CertificateChain: certChain, }, }, VerificationLevel: &trustpolicy.VerificationLevel{ Enforcement: map[trustpolicy.ValidationType]trustpolicy.ValidationAction{trustpolicy.TypeRevocation: trustpolicy.ActionEnforce}, }, } } func TestVerifyRevocation(t *testing.T) { zeroTime := time.Time{} revokableTuples := testhelper.GetRevokableRSAChain(3) revokableTuples[0].Cert.NotBefore = zeroTime revokableTuples[1].Cert.NotBefore = zeroTime revokableTuples[2].Cert.NotBefore = zeroTime revokableChain := []*x509.Certificate{revokableTuples[0].Cert, revokableTuples[1].Cert, revokableTuples[2].Cert} invalidChain := []*x509.Certificate{revokableTuples[1].Cert, revokableTuples[0].Cert, revokableTuples[2].Cert} goodClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Good}, nil, true) revokedClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Revoked}, nil, true) revokedInvalidityDate := time.Now().Add(-1 * time.Hour) revokedInvalidityClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Revoked}, &revokedInvalidityDate, true) unknownClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Unknown}, nil, true) unknownRevokedClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Unknown, ocsp.Revoked}, nil, true) revokedUnknownClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Revoked, ocsp.Unknown}, nil, true) pkixNoCheckClient := testhelper.MockClient(revokableTuples, []ocsp.ResponseStatus{ocsp.Good}, nil, false) timeoutClient := &http.Client{Timeout: 1 * time.Nanosecond} unknownMsg := fmt.Sprintf("signing certificate with subject %q revocation status is unknown", revokableChain[0].Subject.String()) revokedMsg := fmt.Sprintf("signing certificate with subject %q is revoked", revokableChain[0].Subject.String()) multiMsg := fmt.Sprintf("signing certificate with subject %q is revoked", revokableChain[1].Subject.String()) ctx := context.Background() t.Run("verifyRevocation nil client", func(t *testing.T) { v := &verifier{} result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) expectedErrMsg := "unable to check revocation status, code signing revocation validator cannot be nil" if result.Error == nil || result.Error.Error() != expectedErrMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", expectedErrMsg, result.Error) } }) t.Run("verifyRevocation invalid chain", func(t *testing.T) { revocationClient, err := revocation.New(goodClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(invalidChain, time.Now())) expectedErrMsg := "unable to check revocation status, err: invalid chain: expected chain to be correct and complete: invalid certificates or certificate with subject \"CN=Notation Test Revokable RSA Chain Cert 2,O=Notary,L=Seattle,ST=WA,C=US\" is not issued by \"CN=Notation Test Revokable RSA Chain Cert 3,O=Notary,L=Seattle,ST=WA,C=US\". Error: x509: invalid signature: parent certificate cannot sign this kind of certificate" if result.Error == nil || result.Error.Error() != expectedErrMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", expectedErrMsg, result.Error) } }) t.Run("verifyRevocation non-revoked", func(t *testing.T) { revocationClient, err := revocation.New(goodClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error != nil { t.Fatalf("expected verifyRevocation to succeed, but got %v", result.Error) } }) t.Run("verifyRevocation OCSP revoked no invalidity", func(t *testing.T) { revocationClient, err := revocation.New(revokedClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != revokedMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", revokedMsg, result.Error) } }) t.Run("verifyRevocation OCSP revoked with invalidiy", func(t *testing.T) { revocationClient, err := revocation.New(revokedInvalidityClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != revokedMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", revokedMsg, result.Error) } }) t.Run("verifyRevocation OCSP unknown", func(t *testing.T) { revocationClient, err := revocation.New(unknownClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != unknownMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", unknownMsg, result.Error) } }) t.Run("verifyRevocation OCSP unknown then revoked", func(t *testing.T) { revocationClient, err := revocation.New(unknownRevokedClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != multiMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", multiMsg, result.Error) } }) t.Run("verifyRevocation OCSP revoked then unknown", func(t *testing.T) { revocationClient, err := revocation.New(revokedUnknownClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != revokedMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", revokedMsg, result.Error) } }) t.Run("verifyRevocation missing id-pkix-ocsp-nocheck", func(t *testing.T) { revocationClient, err := revocation.New(pkixNoCheckClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error != nil { t.Fatalf("expected verifyRevocation to succeed, but got %v", result.Error) } }) t.Run("verifyRevocation timeout", func(t *testing.T) { revocationClient, err := revocation.New(timeoutClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now())) if result.Error == nil || result.Error.Error() != unknownMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", unknownMsg, result.Error) } }) t.Run("verifyRevocation older signing time no invalidity", func(t *testing.T) { revocationClient, err := revocation.New(revokedClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now().Add(-4*time.Hour))) if result.Error == nil || result.Error.Error() != revokedMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", revokedMsg, result.Error) } }) t.Run("verifyRevocation zero signing time", func(t *testing.T) { revocationClient, err := revocation.New(revokedClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } expectedErrMsg := "signing certificate with subject \"CN=Notation Test Revokable RSA Chain Cert 3,O=Notary,L=Seattle,ST=WA,C=US\" is revoked" v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, zeroTime)) if result.Error == nil || result.Error.Error() != expectedErrMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", expectedErrMsg, result.Error) } if !zeroTime.IsZero() { t.Fatalf("exected zeroTime.IsZero() to be true") } }) t.Run("verifyRevocation older signing time with invalidity", func(t *testing.T) { revocationClient, err := revocation.New(revokedInvalidityClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, createMockOutcome(revokableChain, time.Now().Add(-4*time.Hour))) if result.Error != nil { t.Fatalf("expected verifyRevocation to succeed, but got %v", result.Error) } }) t.Run("verifyRevocation non-authentic signing time with invalidity", func(t *testing.T) { revocationClient, err := revocation.New(revokedInvalidityClient) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } // Specifying older signing time (which should succeed), but will use zero time since no authentic signing time outcome := createMockOutcome(revokableChain, time.Now().Add(-4*time.Hour)) outcome.EnvelopeContent.SignerInfo.SignedAttributes.SigningScheme = "notary.x509" authenticSigningTime, err := outcome.EnvelopeContent.SignerInfo.AuthenticSigningTime() expectedErr := errors.New("authentic signing time not supported under signing scheme \"notary.x509\"") if !authenticSigningTime.IsZero() || err == nil || err.Error() != expectedErr.Error() { t.Fatalf("expected AuthenticSigningTime to fail with %v, but got %v", expectedErr, err) } v := &verifier{ revocationClient: revocationClient, } result := v.verifyRevocation(ctx, outcome) if result.Error == nil || result.Error.Error() != revokedMsg { t.Fatalf("expected verifyRevocation to fail with %s, but got %v", revokedMsg, result.Error) } }) } func TestNew(t *testing.T) { if _, err := New(&policy, store, pm); err != nil { t.Fatalf("expected New constructor to succeed, but got %v", err) } } func TestNewWithOptions(t *testing.T) { if _, err := NewWithOptions(&policy, store, pm, VerifierOptions{}); err != nil { t.Fatalf("expected NewWithOptions constructor to succeed, but got %v", err) } r, err := revocation.New(&http.Client{}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } opts := VerifierOptions{RevocationClient: r} _, err = NewWithOptions(&policy, store, pm, opts) if err != nil { t.Fatalf("expected NewWithOptions constructor to succeed, but got %v", err) } revocationCodeSigningValidator, err := revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{}, CertChainPurpose: purpose.CodeSigning, }) if err != nil { t.Fatal(err) } revocationTimestampingValidator, err := revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{}, CertChainPurpose: purpose.Timestamping, }) if err != nil { t.Fatal(err) } opts.RevocationCodeSigningValidator = revocationCodeSigningValidator opts.RevocationTimestampingValidator = revocationTimestampingValidator _, err = NewWithOptions(&policy, store, pm, opts) if err != nil { t.Fatalf("expected NewWithOptions constructor to succeed, but got %v", err) } opts.RevocationClient = nil _, err = NewWithOptions(&policy, store, pm, opts) if err != nil { t.Fatalf("expected NewWithOptions constructor to succeed, but got %v", err) } } func TestNewWithOptionsError(t *testing.T) { r, err := revocation.New(&http.Client{}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } rt, err := revocation.NewWithOptions(revocation.Options{ OCSPHTTPClient: &http.Client{}, CertChainPurpose: purpose.Timestamping, }) if err != nil { t.Fatalf("unexpected error while creating revocation timestamp object: %v", err) } opts := VerifierOptions{ RevocationClient: r, RevocationTimestampingValidator: rt, } _, err = NewWithOptions(nil, store, pm, opts) expectedErrMsg := "trustPolicy cannot be nil" if err == nil || err.Error() != expectedErrMsg { t.Errorf("expected %s, but got %s", expectedErrMsg, err) } _, err = NewWithOptions(&policy, nil, pm, opts) expectedErrMsg = "trustStore cannot be nil" if err == nil || err.Error() != expectedErrMsg { t.Errorf("expected %s, but got %s", expectedErrMsg, err) } _, err = NewWithOptions(&invalidPolicy, store, pm, opts) expectedErrMsg = "trust policy document has empty version, version must be specified" if err == nil || err.Error() != expectedErrMsg { t.Errorf("expected %s, but got %s", expectedErrMsg, err) } } func TestVerificationPluginInteractions(t *testing.T) { assertPluginVerification(signature.SigningSchemeX509, t) assertPluginVerification(signature.SigningSchemeX509SigningAuthority, t) } func assertPluginVerification(scheme signature.SigningScheme, t *testing.T) { var pluginSigEnv []byte if scheme == signature.SigningSchemeX509 { pluginSigEnv = mock.MockCaPluginSigEnv } else if scheme == signature.SigningSchemeX509SigningAuthority { pluginSigEnv = mock.MockSaPluginSigEnv } policyDocument := dummyPolicyDocument() dir.UserConfigDir = "testdata" x509TrustStore := truststore.NewX509TrustStore(dir.ConfigFS()) // verification plugin is not installed pluginManager := mock.PluginManager{} pluginManager.GetPluginError = errors.New("plugin not found") revocationClient, err := revocation.New(&http.Client{Timeout: 2 * time.Second}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts := notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err := v.Verify(context.Background(), ocispec.Descriptor{}, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "error while locating the verification plugin \"plugin-name\", make sure the plugin is installed successfully before verifying the signature. error: plugin not found" { t.Fatalf("verification should fail if the verification plugin is not found") } // plugin is installed but without verification capabilities pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilitySignatureGenerator} v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), ocispec.Descriptor{}, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "digital signature requires plugin \"plugin-name\" with signature verification capabilities (\"SIGNATURE_VERIFIER.TRUSTED_IDENTITY\" and/or \"SIGNATURE_VERIFIER.REVOCATION_CHECK\") installed" { t.Fatalf("verification should fail if the verification plugin is not found") } // plugin interactions with trusted identity verification success pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityTrustedIdentityVerifier: { Success: true, }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err != nil || outcome.Error != nil { t.Fatalf("verification should succeed when the verification plugin succeeds for trusted identity verification. error : %v", outcome.Error) } // plugin interactions with trusted identity verification failure pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityTrustedIdentityVerifier: { Success: false, Reason: "i feel like failing today", }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), ocispec.Descriptor{}, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "trusted identify verification by plugin \"plugin-name\" failed with reason \"i feel like failing today\"" { t.Fatalf("verification should fail when the verification plugin fails for trusted identity verification. error : %v", outcome.Error) } // plugin interactions with revocation verification success pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityRevocationCheckVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityRevocationCheckVerifier: { Success: true, }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err != nil || outcome.Error != nil { t.Fatalf("verification should succeed when the verification plugin succeeds for revocation verification. error : %v", outcome.Error) } // plugin interactions with trusted revocation failure pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityRevocationCheckVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityRevocationCheckVerifier: { Success: false, Reason: "i feel like failing today", }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), ocispec.Descriptor{}, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "revocation check by verification plugin \"plugin-name\" failed with reason \"i feel like failing today\"" { t.Fatalf("verification should fail when the verification plugin fails for revocation check verification. error : %v", outcome.Error) } // plugin interactions with both trusted identity & revocation verification pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityRevocationCheckVerifier, proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityRevocationCheckVerifier: { Success: true, }, proto.CapabilityTrustedIdentityVerifier: { Success: true, }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err != nil || outcome.Error != nil { t.Fatalf("verification should succeed when the verification plugin succeeds for both trusted identity and revocation check verifications. error : %v", outcome.Error) } // plugin interactions with skipped revocation policyDocument.TrustPolicies[0].SignatureVerification.Override = map[trustpolicy.ValidationType]trustpolicy.ValidationAction{trustpolicy.TypeRevocation: trustpolicy.ActionSkip} pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityRevocationCheckVerifier} pluginManager.PluginRunnerExecuteError = errors.New("revocation plugin should not be invoked when the trust policy skips revocation check") v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} trustPolicy, err := (&policyDocument).GetApplicableTrustPolicy(opts.ArtifactReference) if err != nil { t.Fatalf("cannot get trustPolicy") } verificationLevel, _ := trustPolicy.SignatureVerification.GetVerificationLevel() outcome = ¬ation.VerificationOutcome{ VerificationResults: []*notation.ValidationResult{}, VerificationLevel: verificationLevel, } outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err != nil || outcome.Error != nil { t.Fatalf("revocation plugin should not be invoked when the trust policy skips the revocation check. error : %v", outcome.Error) } // plugin unexpected response pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = "invalid plugin response" pluginManager.PluginRunnerExecuteError = errors.New("invalid plugin response") v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} trustPolicy, err = (&policyDocument).GetApplicableTrustPolicy(opts.ArtifactReference) if err != nil { t.Fatalf("cannot get trustPolicy") } verificationLevel, _ = trustPolicy.SignatureVerification.GetVerificationLevel() outcome = ¬ation.VerificationOutcome{ VerificationResults: []*notation.ValidationResult{}, VerificationLevel: verificationLevel, } outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "failed to verify with plugin plugin-name: invalid plugin response" { t.Fatalf("verification should fail when the verification plugin returns unexpected response. error : %v", outcome.Error) } // plugin did not process all extended critical attributes pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityTrustedIdentityVerifier: { Success: true, }, }, ProcessedAttributes: []interface{}{}, // exclude the critical attribute } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "extended critical attribute \"SomeKey\" was not processed by the verification plugin \"plugin-name\" (all extended critical attributes must be processed by the verification plugin)" { t.Fatalf("verification should fail when the verification plugin fails to process an extended critical attribute. error : %v", outcome.Error) } // plugin returned empty result for a capability pluginManager = mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{}, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } v = verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts = notation.VerifierVerifyOptions{ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json"} outcome, err = v.Verify(context.Background(), mock.ImageDescriptor, pluginSigEnv, opts) if err == nil || outcome.Error == nil || outcome.Error.Error() != "verification plugin \"plugin-name\" failed to verify \"SIGNATURE_VERIFIER.TRUSTED_IDENTITY\"" { t.Fatalf("verification should fail when the verification plugin does not return response for a capability. error : %v", outcome.Error) } } func TestVerifyX509TrustedIdentities(t *testing.T) { certs, _ := corex509.ReadCertificateFile(filepath.FromSlash("testdata/verifier/signing-cert.pem")) // cert's subject is "CN=SomeCN,OU=SomeOU,O=SomeOrg,L=Seattle,ST=WA,C=US" unsupportedCerts, _ := corex509.ReadCertificateFile(filepath.FromSlash("testdata/verifier/bad-cert.pem")) // cert's subject is "CN=bad=#CN,OU=SomeOU,O=SomeOrg,L=Seattle,ST=WA,C=US" tests := []struct { certs []*x509.Certificate x509Identities []string wantErr bool }{ {certs, []string{"x509.subject:C=US,O=SomeOrg,ST=WA"}, false}, {certs, []string{"x509.subject:C=US,O=SomeOrg,ST=WA", "nonX509Prefix:my-custom-identity"}, false}, {certs, []string{"x509.subject:C=US,O=SomeOrg,ST=WA", "x509.subject:C=IND,O=SomeOrg,ST=TS"}, false}, {certs, []string{"nonX509Prefix:my-custom-identity"}, true}, {certs, []string{"*"}, false}, {certs, []string{"x509.subject:C=IND,O=SomeOrg,ST=TS"}, true}, {certs, []string{"x509.subject:C=IND,O=SomeOrg,ST=TS", "nonX509Prefix:my-custom-identity"}, true}, {certs, []string{"x509.subject:C=IND,O=SomeOrg,ST=TS", "x509.subject:C=LOL,O=LOL,ST=LOL"}, true}, {certs, []string{"x509.subject:C=bad=#identity,O=LOL,ST=LOL"}, true}, {unsupportedCerts, []string{"x509.subject:C=US,O=SomeOrg,ST=WA", "nonX509Prefix:my-custom-identity"}, true}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { trustPolicy := trustpolicy.TrustPolicy{ Name: "test-statement-name", RegistryScopes: []string{"registry.acme-rockets.io/software/net-monitor"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: "strict"}, TrustStores: []string{"ca:test-store"}, TrustedIdentities: tt.x509Identities, } err := verifyX509TrustedIdentities(trustPolicy.Name, trustPolicy.TrustedIdentities, tt.certs) if tt.wantErr != (err != nil) { t.Fatalf("TestVerifyX509TrustedIdentities Error: %q WantErr: %v", err, tt.wantErr) } }) } } func TestVerifyUserMetadata(t *testing.T) { policyDocument := dummyPolicyDocument() policyDocument.TrustPolicies[0].SignatureVerification.VerificationLevel = trustpolicy.LevelAudit.Name pluginManager := mock.PluginManager{} pluginManager.GetPluginError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") pluginManager.PluginRunnerLoadError = errors.New("plugin should not be invoked when verification plugin is not specified in the signature") revocationClient, err := revocation.New(&http.Client{Timeout: 2 * time.Second}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } verifier := verifier{ trustPolicyDoc: &policyDocument, trustStore: truststore.NewX509TrustStore(dir.ConfigFS()), pluginManager: pluginManager, revocationClient: revocationClient, } tests := []struct { metadata map[string]string wantErr bool }{ {map[string]string{}, false}, {map[string]string{"io.wabbit-networks.buildId": "123"}, false}, {map[string]string{"io.wabbit-networks.buildId": "321"}, true}, {map[string]string{"io.wabbit-networks.buildId": "123", "io.wabbit-networks.buildTime": "1672944615"}, false}, {map[string]string{"io.wabbit-networks.buildId": "123", "io.wabbit-networks.buildTime": "1"}, true}, } for i, tt := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { _, err := verifier.Verify( context.Background(), mock.MetadataSigEnvDescriptor, mock.MockSigEnvWithMetadata, notation.VerifierVerifyOptions{ ArtifactReference: mock.SampleArtifactUri, SignatureMediaType: "application/jose+json", UserMetadata: tt.metadata, }, ) if tt.wantErr != (err != nil) { t.Fatalf("TestVerifyUserMetadata Error: %q WantErr: %v", err, tt.wantErr) } }) } } func TestPluginVersionCompatibility(t *testing.T) { errTemplate := "found plugin io.cncf.notary.plugin.unittest.mock with version 1.0.0 but signature verification needs plugin version greater than or equal to " var policyDocument = trustpolicy.Document{ Version: "1.0", TrustPolicies: []trustpolicy.TrustPolicy{ { Name: "wabbit-networks-images", RegistryScopes: []string{"localhost:5000/net-monitor"}, SignatureVerification: trustpolicy.SignatureVerification{VerificationLevel: trustpolicy.LevelStrict.Name}, TrustStores: []string{"ca:valid-trust-store"}, TrustedIdentities: []string{"x509.subject: CN=wabbit-networks.io,O=Notary,L=Seattle,ST=WA,C=US"}, }, }, } pluginManager := mock.PluginManager{} pluginManager.PluginCapabilities = []proto.Capability{proto.CapabilityTrustedIdentityVerifier} pluginManager.PluginRunnerExecuteResponse = &proto.VerifySignatureResponse{ VerificationResults: map[proto.Capability]*proto.VerificationResult{ proto.CapabilityTrustedIdentityVerifier: { Success: true, }, }, ProcessedAttributes: []interface{}{mock.PluginExtendedCriticalAttribute.Key}, } dir.UserConfigDir = "testdata" x509TrustStore := truststore.NewX509TrustStore(dir.ConfigFS()) revocationClient, err := revocation.New(&http.Client{Timeout: 2 * time.Second}) if err != nil { t.Fatalf("unexpected error while creating revocation object: %v", err) } v := verifier{ trustPolicyDoc: &policyDocument, trustStore: x509TrustStore, pluginManager: pluginManager, revocationClient: revocationClient, } opts := notation.VerifierVerifyOptions{ArtifactReference: "localhost:5000/net-monitor@sha256:fe7e9333395060c2f5e63cf36a38fba10176f183b4163a5794e081a480abba5f", SignatureMediaType: "application/jose+json"} tests := []struct { minPluginVerTests []byte wantErr string }{ {mock.MockCaIncompatiblePluginVerSigEnv_1_0_9, errTemplate + "1.0.9"}, {mock.MockCaIncompatiblePluginVerSigEnv_1_0_1, errTemplate + "1.0.1"}, {mock.MockCaIncompatiblePluginVerSigEnv_1_2_3, errTemplate + "1.2.3"}, {mock.MockCaIncompatiblePluginVerSigEnv_1_1_0_alpha, errTemplate + "1.1.0-alpha"}, {mock.MockCaCompatiblePluginVerSigEnv_0_0_9, ""}, {mock.MockCaCompatiblePluginVerSigEnv_1_0_0_alpha, ""}, {mock.MockCaCompatiblePluginVerSigEnv_1_0_0_alpha_beta, ""}, {mock.MockCaCompatiblePluginVerSigEnv_1_0_0, ""}, } for _, tt := range tests { if _, err := v.Verify(context.Background(), mock.TestImageDescriptor, tt.minPluginVerTests, opts); err != nil && tt.wantErr != "" { if err.Error() != tt.wantErr { t.Errorf("TestPluginVersionCompatibility Error: %s, WantErr: %s ", err.Error(), tt.wantErr) } } } } func TestIsRequiredVerificationPluginVer(t *testing.T) { testPlugVer := "1.0.0" tests := []struct { minVerTests []string expectedVal bool }{ {[]string{"0.0.9"}, true}, {[]string{"1.0.0"}, true}, {[]string{"1.0.0-alpha"}, true}, {[]string{"1-pre+meta"}, true}, {[]string{"1.0.1"}, false}, {[]string{"1.1.0"}, false}, {[]string{"1.2.0"}, false}, {[]string{"1.1.0-alpha"}, false}, } for _, tt := range tests { funcVal := isRequiredVerificationPluginVer(testPlugVer, tt.minVerTests[0]) if funcVal != tt.expectedVal { t.Errorf("TestIsRequiredVerificationPluginVer Error: version comparison mismatch between plugin with version %s and min verification plugin version %s, function output: %v, expected output: %v", testPlugVer, tt.minVerTests[0], funcVal, tt.expectedVal) } } } func verifyResult(outcome *notation.VerificationOutcome, expectedResult notation.ValidationResult, expectedErr error, t *testing.T) { var actualResult *notation.ValidationResult for _, r := range outcome.VerificationResults { if r.Type == expectedResult.Type { if actualResult == nil { actualResult = r } else { t.Fatalf("expected only one VerificatiionResult for %q but found one more. first: %+v second: %+v", r.Type, actualResult, r) } } } if actualResult == nil || (expectedResult.Error != nil && expectedResult.Error.Error() != actualResult.Error.Error()) || expectedResult.Action != actualResult.Action { t.Fatalf("assertion failed. expected : %+v got : %+v", expectedResult, actualResult) } if expectedResult.Action == trustpolicy.ActionEnforce && expectedErr != nil && outcome.Error.Error() != expectedErr.Error() { t.Fatalf("assertion failed. expected : %v got : %v", expectedErr, outcome.Error) } }