From 9abb694a8c28f89ceb8c5a7fad18df210e6b34dc Mon Sep 17 00:00:00 2001 From: sunface Date: Wed, 19 Jan 2022 17:21:41 +0800 Subject: [PATCH] =?UTF-8?q?add=E5=BC=82=E6=AD=A5=E7=BC=96=E7=A8=8B?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- glossary.md => Rust中英文对照表.md | 1 + book/contents/SUMMARY.md | 29 +- book/contents/advance/hrtb.md | 6 + book/contents/async/getting-started.md | 285 +++++++++++++++++++ book/contents/async/hassles.md | 1 + book/contents/async/intro.md | 12 +- book/contents/img/async-01.png | Bin 0 -> 140321 bytes book/contents/memory/allocation.md | 2 + book/contents/practice/style-guide/clippy.md | 2 + book/contents/rustjs/intro.md | 6 +- book/contents/rustjs/wasm/intro.md | 5 +- 11 files changed, 332 insertions(+), 17 deletions(-) rename glossary.md => Rust中英文对照表.md (99%) create mode 100644 book/contents/async/getting-started.md create mode 100644 book/contents/async/hassles.md create mode 100644 book/contents/img/async-01.png diff --git a/glossary.md b/Rust中英文对照表.md similarity index 99% rename from glossary.md rename to Rust中英文对照表.md index 66d6df07..79a4f383 100644 --- a/glossary.md +++ b/Rust中英文对照表.md @@ -126,6 +126,7 @@ encapsulation | 封装 | equality test | 相等测试 | elision | 省略 | exhaustiveness checking | 穷尽性检查,无遗漏检查 | +executor | 执行器 | expression | 表达式 | expression-oriented language | 面向表达式的语言 | explicit | 显式 | diff --git a/book/contents/SUMMARY.md b/book/contents/SUMMARY.md index 2f54c6e5..69c73a17 100644 --- a/book/contents/SUMMARY.md +++ b/book/contents/SUMMARY.md @@ -83,19 +83,22 @@ ## 专题内容,每个专题都配套一个小型项目进行实践 - [async/await异步编程 doing](async/intro.md) - - [async/await语法 todo](async/async-await.md) - - [future详解 todo](async/future/into.md) - - [何为Future](async/future/future.md) - - [任务调度](async/future/task-schedule.md) - - [任务执行器](async/future/task-excutor.md) - - [系统IO](async/future/system-io.md) - - [执行多个Future](async/future/multi-futures.md) - - [Pin、Unpin todo](async/pin-unpin.md) - - [遇到不支持的异步特性? todo](async/future/workarounds.md) - - [HTTP Client/Server todo](async/http.md) - - [定海神针-tokio todo](async/tokio/intro.md) - - [基本用法](async/tokio/basic.md) - - [异步消息流](async/tokio/stream.md)) + - [async编程简介](async/getting-started.md) + - [async/await语法 todo](async/async-await.md) + - [future详解 todo](async/future/into.md) + - [何为Future](async/future/future.md) + - [任务调度](async/future/task-schedule.md) + - [任务执行器](async/future/task-excutor.md) + - [系统IO](async/future/system-io.md) + - [执行多个Future](async/future/multi-futures.md) + - [Pin、Unpin todo](async/pin-unpin.md) + - [遇到不支持的异步特性? todo](async/future/workarounds.md) + - [HTTP Client/Server todo](async/http.md) + - [定海神针-tokio todo](async/tokio/intro.md) + - [基本用法](async/tokio/basic.md) + - [异步消息流](async/tokio/stream.md)) + - [棘手问题索引和解决](async/hassles.md) + - [Rust最佳实践 doing](practice/intro.md) - [日常开发三方库精选](practice/third-party-libs.md) - [一些写代码的技巧 todo](practice/coding-tips.md) diff --git a/book/contents/advance/hrtb.md b/book/contents/advance/hrtb.md index 15e0ec05..a6fddc17 100644 --- a/book/contents/advance/hrtb.md +++ b/book/contents/advance/hrtb.md @@ -1,8 +1,14 @@ # 高阶特征约束(HRTB) todo +https://www.reddit.com/r/rust/comments/s6g16d/help_with_hrtb_lifetimes/ + ## for<'a> https://www.reddit.com/r/rust/comments/rq43c6/generic_fn_impl_for_iterating_over_mut_items_twice/ https://www.reddit.com/r/rust/comments/6uobit/fora_lifetime_syntax/ + + + + diff --git a/book/contents/async/getting-started.md b/book/contents/async/getting-started.md new file mode 100644 index 00000000..09e8b157 --- /dev/null +++ b/book/contents/async/getting-started.md @@ -0,0 +1,285 @@ +# Async 编程简介 +众所周知,Rust 可以让我们写出性能高且安全的软件,那么异步编程这块儿呢?是否依然在高性能的同时保证了安全? + +我们先通过一张web框架性能对比图来感受下 Rust 异步编程的性能: + +actix-vs-gin screenshot + +上图并不能说 Rust 写的 `actix` 框架比 Go 的 `gin` 更好、更优秀,但是确实可以一定程度上说明 Rust 的异步性能非常的高! + +简单来说,异步编程是一个[并发编程模型](https://www.zhihu.com/question/33515481/answer/2304727467),目前主流语言基本都支持了,当然,支持的方式有所不同。异步编程允许我们同时并发运行大量的任务,却仅仅需要几个甚至一个OS线程或CPU核心,现代化的异步编程在使用体验上跟同步编程也几无区别,例如 Go 语言的 `go` 关键字,也包括我们后面将介绍的 `ascyn/await` 语法,该语法是 `Javascript` 和 `Rust` 的核心特性之一。 + +## async简介 +`async` 是 Rust 选择的异步编程模型,下面我们来介绍下它的优缺点,以及何时适合使用。 + +#### async vs 其它并发模型 +由于并发编程在现代社会非常重要,因此每个主流语言都对自己的并发模型进行过权衡取舍和精心设计,Rust 语言也不例外。下面的列表可以帮助大家理解不同并发模型的取舍: + +- **OS线程**, 它最简单,也无需改变任何编程模型(业务/代码逻辑),因此非常适合作为语言的原生并发模型,我们在[多线程章节](../advnce/../advance/concurrency-with-threads/concurrency-parallelism.md)也提到过,Rust 就选择了原生支持线程级的并发编程。但是,这种模型也有缺点,例如线程间的同步将变得更加困难,线程间的上下文切换损耗较大。使用线程池在一定程度上可以提升性能,但是对于 IO 密集的场景来说,线程池还是不够看。 +- **事件驱动(Event driven)**, 这个名词你可能比较陌生,如果说事件驱动常常跟回调( Callback )一起使用,相信大家就恍然大悟了。这种模型性能相当的好,但最大的问题就是存在回调地狱的风险:非线性的控制流和结果处理导致了数据流向和错误传播变得难以掌控,还会导致代码维护性和可读性的大幅降低,大名鼎鼎的 JS 曾经就存在回调地狱。 +- **协程(Coroutines)**可能是目前最火的并发模型,`Go` 语言的协程设计就非常优秀,这也是 `Go` 语言能够迅速火遍全球的杀手锏之一。协程跟线程类似,无需改变编程模型,同时,它也跟 `async` 类似,可以支持大量的任务并发运行。但协程抽象层次过高,导致用户无法接触到底层的细节,这对于系统编程语言和自定义异步运行时是难以接受的 +- **actor模型**是erlang的杀手锏之一,它将所有并发计算分割成一个一个单元,这些单元被称为 `actor` , 单元之间通过消息传递的方式进行通信和数据传递,跟分布式系统的设计理念非常相像。由于 `actor` 模型跟现实很贴近,因此它相对来说更容易实现,但是一旦遇到流控制、失败重试等场景时,就会变得不太好用 +- **async/await**, 该模型性能高,还能支持底层编程,同时又像线程和协程那样无需过多的改变编程模型,但有得必有失,`async` 模型的问题就是内部实现机制过于复杂,对于用户来说,理解和使用起来也没有线程和协程简单,好在前者的复杂性开发者们已经帮我们封装好,而理解和使用起来不够简单,正是本章试图解决的问题。 + + +总之,Rust 经过权衡取舍后,最终选择了同时提供多线程编程和 async 编程: + +- 前者通过标准库实现,当你无需那么高的并发时,例如需要并行计算时,可以选择它,优点是线程内的代码执行效率更高、实现更直观更简单,这块内容已经在多线程章节进行过深入讲解,不再赘述 +- 后者通过语言特性 + 标准库 + 三方库的方式实现,在你需要高并发、异步 `I/O` 时,选择它就对了 + +#### async: Rust vs 其它语言 +目前已经有诸多语言都通过 `async` 的方式提供了异步编程,例如 `Javascript` ,但 `Rust` 在实现上有所区别: + +- **Future 在 Rust 中是惰性的**,只有在被轮询(`poll`)时才会运行, 因此丢弃一个 `future` 会阻止它未来再被运行, 你可以将`Future`理解为一个在未来某个时间点被调度执行的任务。 +- **Async 在 Rust 中使用开销是零**, 意味着只有你能看到的代码(自己的代码)才有性能损耗,你看不到的(`async` 内部实现)都没有性能损耗,例如,你可以无需分配任何堆内存、也无需任何动态分发来使用 `async` ,这对于热点路径的性能有非常大的好处,正是得益于此,Rust 的异步编程性能才会这么高。 +- **Rust 没有内置异步调用所必须的运行时**,但是无需担心,Rust社区生态中已经提供了非常优异的运行时实现,例如大明星 [`tokio`](https://tokio.rs) +- **运行时同时支持单线程和多线程**,这两者拥有各自的优缺点, 稍后会讲 + + +#### Rust: async vs 多线程 +虽然 `async` 和多线程都可以实现并发编程,后者甚至还能通过线程池来增强并发能力,但是这两个方式并不互通,从一个方式切换成另一个需要大量的代码重构工作,因此提前为自己的项目选择适合的并发模型就变得至关重要。 + +`OS` 线程非常适合少量任务并发,因为线程的创建和上下文切换是非常昂贵的,甚至于空闲的线程都会消耗系统资源。虽说线程池可以有效的降低性能损耗,但是也无法彻底解决问题。当然,线程模型也有其优点,例如它不会破坏你的代码逻辑和编程模型,你之前的顺序代码,经过少量修改适配后依然可以在新线程中直接运行,同时在某些操作系统中,你还可以改变线程的优先级,这对于实现驱动程序或延迟敏感的应用(例如硬实时系统)很有帮助。 + +对于长时间运行的CPU密集型任务,例如密集计算,使用线程将更有优势。 这种密集任务往往会让所在的线程持续运行,任何不必要的线程切换都会带来性能损耗,因此高并发反而在此时成为了一种多余。同时你所创建的线程数应该等于CPU核心数,充分利用CPU的并行能力,甚至还可以将线程绑定到CPU核心上,进一步减少线程上下文切换。 + +而高并发更适合 `IO` 密集型任务,例如 web 服务器、数据库连接等等网络服务,因为这些任务绝大部分时间都处于等待状态,如果使用多线程,那线程大量时间会处于无所事事的状态,再加上线程上下文切换的高昂代价,让多线程做 `IO` 密集任务变成了一件非常奢侈的事。而使用`async`,既可以有效的降低 `CPU` 和内存的负担,又可以让大量的任务并发的运行,一个任务一旦处于`IO`或者其他等待(阻塞)状态,就会被立刻切走并执行另一个任务,而这里的任务切换的性能开销要远远低于使用多线程时的线程上下文切换。 + +事实上, `async` 底层也是基于线程实现,但是它基于线程封装了一个运行时,可以将多个任务映射到少量线程上,然后将线程切换变成了任务切换,后者仅仅是内存中的访问,因此要高效的多。 + +不过`async`也有其缺点,原因是编译器会为`async`函数生成状态机,然后将整个运行时打包进来,这会造成我们编译出的二进制可执行文件体积显著增大。 + +总之,`async`编程并没有比多线程更好,最终还是根据你的使用场景作出合适的选择,如果无需高并发,或者也不在意线程切换带来的性能损耗,那么多线程使用起来会简单、方便的多!最后再简单总结下: + +- 有大量 `IO` 任务需要并发运行时,选 `async` 模型 +- 有部分 `IO` 任务需要并发运行时,选多线程,如果想要降低线程切换的开销,可以使用线程池 +- 有大量 `CPU` 密集任务需要并行运行时,例如并行计算,选多线程模型,且让多线程数等于或者稍大于 `CPU` 核心数 +- 无所谓时,统一选多线程 + +#### 一个例子 +在大概理解`async`后,我们再来看一个简单的例子。如果想并发的下载文件,你可以使用多线程如下实现: +```rust +fn get_two_sites() { + // 创建两个新线程执行任务 + let thread_one = thread::spawn(|| download("https://course.rs")); + let thread_two = thread::spawn(|| download("https://fancy.rs")); + + // 等待两个线程的完成 + thread_one.join().expect("thread one panicked"); + thread_two.join().expect("thread two panicked"); +} +``` + +如果是在一个小项目中简单的去下载文件,这么写没有任何问题,但是一旦下载文件的并发请求多起来,那一个下载任务占用一个线程的模式就太重了,会很容易成为程序的瓶颈。好在,我们可以使用`async`的方式来解决: +```rust +async fn get_two_sites_async() { + // 创建两个不同的`future`,你可以把`future`理解为未来某个时刻会被执行的计划任务 + // 当两个`future`被同时执行后,它们将并发的去下载目标页面 + let future_one = download_async("https://www.foo.com"); + let future_two = download_async("https://www.bar.com"); + + // 同时运行两个`future`,直至完成 + join!(future_one, future_two); +} +``` + +此时,不再有线程创建和切换的昂贵开销,所有的函数都是通过静态的方式进行分发,同时也没有任何内存分配发生。这段代码的性能简直无懈可击! + +事实上,`async` 和多线程并不是二选一,在同一应用中,可以根据情况两者一起使用,当然,我们还可以使用其它的并发模型,例如上面提到事件驱动模型,前提是有三方库提供了相应的实现。 + +## Async Rust当前的进展 +简而言之,Rust 语言的 `async` 目前还没有达到多线程的成熟度,其中一部分内容还在不断进化中,当然,这并不影响我们在生产级项目中使用,因为社区中还有 `tokio` 这种大杀器。 + +使用 `async` 时,你会遇到好的,也会遇到不好的,例如: + +- 收获卓越的性能 +- 会经常跟进阶语言特性打交道,例如生命周期等,这些家伙可不好对付 +- 一些兼容性问题,例如同步和异步代码、不同的异步运行时( `tokio` 与 `async-std` ) +- 更昂贵的维护成本,原因是 `ascyn` 和社区开发的运行时依然在不停的进化 + +总之,`async` 在 Rust 中并不是一个善茬,你会遇到更多的困难或者说坑,也会带来更高的代码阅读成本及维护成本,但是为了性能,一切都值了,不是吗? + +不过好在,这些进化早晚会彻底稳定成熟,而且在实际项目中,我们往往会使用成熟的三方库,例如`tokio`,因此可以避免一些类似的问题,但是对于本章的学习来说,`async` 的一些难点还是我们必须要去面对和征服的。 + +#### 语言和库的支持 +`async` 的底层实现非常复杂,且会导致编译后文件体积显著增加,因此 Rust 没有选择像 Go 语言那样内置了完整的特性和运行时,而是选择了通过 Rust 语言提供了必要的特性支持,再通过社区来提供 `async` 运行时的支持。 因此要完整的使用 `async` 异步编程,你需要依赖以下特性和外部库: + +- 所必须的特征(例如 `Future` )、类型和函数,由标准库提供实现 +- 关键字 `async/await` 由Rust语言提供,并进行了编译器层面的支持 +- 众多实用的类型、宏和函数由官方开发的 [`futures`](https://github.com/rust-lang/futures-rs) 包提供(不是标准库),它们可以用于任何 `async` 应用中。 +- `async` 代码的执行、`IO` 操作、任务创建和调度等等复杂功能由社区的 `async` 运行时提供,例如 [`tokio`](https://github.com/tokio-rs/tokio) 和 [`async-std`](https://github.com/async-rs/async-std) + +还有,你在同步( `synchronous` )代码中使用的一些语言特性在 `async` 中可能将无法再使用,而且 Rust 也不允许你在特征中声明 `async` 函数(可以通过三方库实现), 总之,你会遇到一些在同步代码中不会遇到的奇奇怪怪、形形色色的问题,不过不用担心,本章会专门用一个章节罗列这些问题,并给出相应的解决方案。 + +#### 编译和错误 +在大多数情况下,`async` 中的编译错误和运行时错误和之前没啥区别,但是依然有以下几点值得注意。 + +- 编译错误,由于 `async` 编程时需要经常使用复杂的语言特性,例如生命周期和`Pin`,因此相关的错误可能会出现的更加频繁 +- 运行时错误,编译器会为每一个`async`函数生成状态机,这会导致在栈跟踪时会包含这些状态机的细节,同时还包含了运行时对函数的调用,因此,栈跟踪记录(例如 `panic` 时)将变得更加难以解读 +- 一些隐蔽的错误也可能发生,例如在一个 `async` 上下文中去调用一个阻塞的函数,或者没有正确的实现 `Future` 特征都有可能导致这种错误。这种错误可能会悄无声息的通过编译检查甚至有时候会通过单元测试。好在一旦你深入学习并掌握了本章的内容和 `async` 原理,可以有效的降低遇到这些错误的概率 + + +#### 兼容性考虑 +异步代码和同步代码并不总能和睦共处。例如,我们无法在一个同步函数中去调用一个 `async` 异步函数,同步和异步代码也往往使用不同的设计模式,这些都会导致两者融合上的困难。 + +甚至于有时候,异步代码之间也存在类似的问题,如果一个库依赖于特定的 `async` 运行时来运行,那么这个库非常有必要告诉它的用户,它用了这个运行时。否则一旦用户选了不同的或不兼容的运行时,就会导致不可预知的麻烦。 + +#### 性能特性 +`async` 代码的性能主要取决于你使用的 `async` 运行时,好在这些运行时都经过了精心的设计,在你能遇到的绝大多数场景中,它们都能拥有非常棒的性能表现。 + +但是世事皆有例外。目前主流的 `async` 运行时几乎都使用了多线程实现,相比单线程虽然增加了并发表现,但是对于执行性能会有所损失,因为多线程实现会有同步和切换上的性能开销,若你需要极致的顺序执行性能,那么 `async` 目前并不是一个好的选择。 + +同样的,对于延迟敏感的任务来说,任务的执行次序需要能被严格掌控,而不是交由运行时去自动调度,后者会导致不可预知的延迟,例如一个web服务器总是有 `1%` 的请求,它们的延迟会远高于其它请求,因为调度过于繁忙导致了部分任务被延迟调度,最终导致了较高的延时。正因为此,这些延迟敏感的任务非常依赖于运行时或操作系统提供调度次序上的支持。 + +以上的两个需求,目前的 `async` 运行时并不能很好的支持,在未来可能会有更好的支持,但在此之前,我们可以尝试用多线程解决。 + + +## async/.await 简单入门 +`async/.await` 是 Rust 内置的语言特性,可以让我们用同步的方式去编写异步的代码。 + +通过 `async` 标记的语法块会被转换成实现了`Future`特征的状态机。 与同步调用阻塞当前线程不同,当`Future`执行并遇到阻塞时,它会让出当前线程的控制权,这样其它的`Future`就可以在该线程中运行,这种方式完全不会导致当前线程的阻塞。 + +下面我们来通过例子学习 `async/.await` 关键字该如何使用,在开始之前,需要先引入 `futures` 包。编辑 `Cargo.toml` 文件并添加以下内容: +```toml +[dependencies] +futures = "0.3" +``` + +#### 使用 async +首先,使用 `async fn` 语法来创建一个异步函数: +```rust +async fn do_something() { + println!("go go go !"); +} +``` + +需要注意,**异步函数的返回值是一个 `Future` **,若直接调用该函数,不会输出任何结果,因为 `Future` 还未被执行: +```rust +fn main() { + do_something(); +} +``` + +运行后,`go go go`并没有打印,同时编译器给予一个提示:`warning: unused implementer of Future that must be used`,告诉我们 `Future` 未被使用,那么到底该如何使用?答案是使用一个执行器( `executor` ): +```rust +// `block_on`会阻塞当前线程直到指定的`Future`执行完成,这种阻塞当前线程以等待任务完成的方式较为简单、粗暴, +// 好在其它运行时的执行器(executor)会提供更加复杂的行为,例如将多个`future`调度到同一个线程上执行。 +use futures::executor::block_on; + +async fn hello_world() { + println!("hello, world!"); +} + +fn main() { + let future = hello_world(); // 返回一个Future, 因此不会打印任何输出 + block_on(future); // 执行`Future`并等待其运行完成,此时"hello, world!"会被打印输出 +} +``` + +#### 使用.await +在上述代码的`main`函数中,我们使用`block_on`这个执行器等待`Future`的完成,让代码看上去非常像是一个同步代码,但是如果你要在一个`async fn`函数中去使用另一个`async fn`并等待其完成后再进行后续的代码,该如何做?例如: +```rust +use futures::executor::block_on; + +async fn hello_world() { + hello_cat(); + println!("hello, world!"); +} + +async fn hello_cat() { + println!("hello, kitty!"); +} +fn main() { + let future = hello_world(); + block_on(future); +} +``` + +这里,我们在`hello_world`异步函数中先调用了另一个异步函数`hello_cat`,然后再输出`hello, world!`,看看运行结果: +```console +warning: unused implementer of `futures::Future` that must be used + --> src/main.rs:6:5 + | +6 | hello_cat(); + | ^^^^^^^^^^^^ += note: futures do nothing unless you `.await` or poll them +... +hello, world! +``` + +不出所料,`main`函数中的`future`我们通过`block_on`函数进行了运行,但是这里的`hello_cat`返回的`Future`却没有任何人去执行它,不过好在编译器友善的给出了提示:`futures do nothing unless you .await or poll them `,两种解决方法:使用`.await`语法或者对`Future`进行轮询(`poll`)。 + +后者较为复杂,暂且不表,先来使用`.await`试试: +```rust +use futures::executor::block_on; + +async fn hello_world() { + hello_cat().await; + println!("hello, world!"); +} + +async fn hello_cat() { + println!("hello, kitty!"); +} +fn main() { + let future = hello_world(); + block_on(future); +} +``` + +为`hello_cat()`添加上`.await`后,结果立刻大为不同: +```console +hello, kitty! +hello, world! +``` + +输出执行的顺序跟代码定义的顺序完全符合,因此,我们在上面代码中**使用同步的代码顺序实现了异步的执行效果**,非常简单、高效,而且很好理解,未来也绝对不会有回调地狱的发生。 + +总之,在`async fn`函数中使用`.await`可以等待另一个异步调用的完成。**但是与`block_on`不同,`.await`并不会阻塞当前的线程**,而是异步的等待`Future A`的完成,在等待的过程中,该线程还可以继续执行其它的`Future B`,最终实现了并发处理的效果。 + +#### 一个例子 +考虑一个载歌载舞的例子,如果不用`.await`,我们可能会有如下实现: +```rust +async fn learn_song() -> Song { /* ... */ } +async fn sing_song(song: Song) { /* ... */ } +async fn dance() { /* ... */ } + +fn main() { + let song = block_on(learn_song()); + block_on(sing_song(song)); + block_on(dance()); +} +``` + +当然,以上代码运行结果无疑是正确的,但。。。它的性能何在?需要通过连续三次阻塞去等待三个任务的完成,一次只能做一件事,实际上我们完全可以载歌载舞啊: +```rust +async fn sing_song(song: Song) { /* ... */ } +async fn learn_and_sing() { + // 这里使用`.await`来等待学歌的完成,但是并不会阻塞当前线程,该线程在学歌的任务`.await`后,完全可以去执行跳舞的任务 + let song = learn_song().await; + + // 唱歌必须要在学歌之后 + sing_song(song).await; +} + +async fn async_main() { + let f1 = learn_and_sing(); + let f2 = dance(); + + // `join!`可以并发的处理和等待多个`Future`,若`learn_and_sing Future`被阻塞,那`dance Future`可以拿过线程的所有权继续执行。若`dance`也变成阻塞状态,那`learn_and_sing`又可以再次拿回线程所有权,继续执行。 + // 若两个都被阻塞,那么`async main`会变成阻塞状态,然后让出线程所有权,并将其交给`main`函数中的`block_on`执行器 + futures::join!(f1, f2); +} + +fn main() { + block_on(async_main()); +} +``` + +上面代码中,学歌和唱歌具有明显的先后顺序,但是这两者都可以跟跳舞一同存在,也就是你可以在跳舞的时候学歌,也可以在跳舞的时候唱歌。如果上面代码不使用`.await`,而是使用`block_on(learn_song())`, 那在学歌时,当前线程就会阻塞,不再可以做其它任何事,包括跳舞。 + + +因此`.await`对于实现异步编程至关重要,它允许我们在同一个线程内并发的运行多个任务,而不是一个一个先后完成。若大家看到这里还是不太明白,强烈建议回头再仔细看一遍,同时亲自上手修改代码试试效果。 + +至此,读者应该对Rust的`async/.await`异步编程有了一个清晰的初步印象,下面让我们一起来看看这背后的原理:`Future`和任务在底层如何被执行。 + diff --git a/book/contents/async/hassles.md b/book/contents/async/hassles.md new file mode 100644 index 00000000..f0f348b2 --- /dev/null +++ b/book/contents/async/hassles.md @@ -0,0 +1 @@ +# 棘手问题索引和解决 diff --git a/book/contents/async/intro.md b/book/contents/async/intro.md index ee6cedac..3a92eeed 100644 --- a/book/contents/async/intro.md +++ b/book/contents/async/intro.md @@ -1,6 +1,14 @@ # 异步编程 +在艰难的学完Rust入门和进阶所有的55个章节后,我们终于来到了这里。假如之前攀登的是珠穆拉玛峰,那么现在攀登的就是乔戈里峰,本章将学习的内容是关于async异步编程。 +如果你想开发Web服务器、数据库驱动、消息服务等需要高并发的服务,那么本章的内容将值得认真对待和学习,将从以下方面深入讲解Rust的异步编程: -https://rust-lang.github.io/async-book/01_getting_started/03_state_of_async_rust.html +- Rust异步编程的通用概念介绍 +- Future以及异步任务调度 +- async/await和Pin/Unpin +- 异步编程常用的三方库 +- tokio库 +- 一些示例 + +> 本章在内容上大量借鉴和翻译了原版英文书籍[Asynchronous Programming In Rust](https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html), 特此感谢 -[] \ No newline at end of file diff --git a/book/contents/img/async-01.png b/book/contents/img/async-01.png new file mode 100644 index 0000000000000000000000000000000000000000..f2fbff2ad6b7c236ea29831e3233f8707b1f8145 GIT binary patch literal 140321 zcmb691yCJ9*EWjcuEB!_5=d}&3xuG7;O_43vT=8Jm*CFE-CcsayW0jfd!M}jx#!lc z|J427`lqU=SI_ix^_p6}p0%Fth~M&(m}no-U|?V{rKNr-!N8#0{gdNSkpA7n)0XRC zU@+_~#l?S1i;GkJcCt6Kv@wN&k%~xBN7hgtBh1xKjE~2m^7l`k&7#VIQ4+I&Ehg&w zDFui6WjHwBNRo&^rz6}*LR|uX9W9)^qv7jQx5jV9B?(=dKb@$kC+)R9*FM`DZ^x4v z&}4xmZ)}(cY{7C)%0;AnQKhf4(I|$oGBXB={4fNw0m8EgE)@FArXwRGFkj)HdnP(a zVHCG&`5D?Ed{BJ}b*kihSkYn8>@V^6=v2a3Fx{yvDFkq$DreQS1TrZego9q}#8iU} z$-I&wKnBNDG|DTWwETgn4+#t=eH`5ctmrw#UydjcU%ccw$6(Ee01Y@8U*f?4A6x~P zdiEznL`1yg)(=MB7Azse!|)oK+m1)z7!m9Eypai#!HUjT2^tl~w4?h{a9+vFwo-g8 z@r@xmvg+q3Ih7-9YYzr{v8E5opRN*3hK9dcW8Nayi>kWA{En2u%_wY;`~`Bts-k4| zUs3Hvj|p8t*mIEfvx(NqOJTw~7Q=8y=hxI3{S~@`v-cwAsgby5R%9bqxJIOv$FyI! z`06aE*`r@liyYaB-;xQ9ks4LKH`W>|Jm3ufhNDdsp=|tVDR4z1Hx0kKg+!5YZxCx` z6hC4dRQ*XFUxr#t1+1ai!YHU{tFJ~yIZCwt^@FqVqKAILS3V_G$_xCwWlE7r#16*f zI%On};5$V&_%@W_0>g@p`eQL^nZ(TFpeEMOip_*&Quq6dPpu`aB4Xvh;1y-PZ_-%69&s3&?6Agurv>+aMy<$Af|G zNQi3Ucl+`k)W6}--5g|O%Hb^RFek|NIdaoBr_G-TMQeO`ii`(XStDY$WMXLyI{uwu z52~xUkzQ+7vMXNnXY$egETP?R1u-|_4mq>(twMS_)Nh~06Y|OL!YZv39(|b{v`0@v z!ggTe$=UajTGNFB&ZkJSU*<%PJI>H|gkB|OZG>AW1)_3#r;Wqvk$MMX4P!LW-F`$M zyDuj}Ho10~>P2z|M`<8oBDrg24T(<6TFdgwGZk%Oy9Z*2efx6p@(B^nKSJcVeFRW4 zbWpcVi5E5(H!)!jJAOVsKXMm9$peX-d={o&$o>6|eSLkyx=#yZVe6KWDWE~yE>Daw zE}XEu?(wzp1m!NRcVhm~4=x__(f%ZLa8In1?mL*^@2n{Bid0yigIrj#)HD&E+c4zd z7J6-dqmB1{sQXX_OWJEzM}7hKCJN7sA@9$zL*0r|6V&1G?Bbu6PudCJg%TK#^RZtv z8pnAM$x&cm(RYQAs;MXH5(J}JHi49y@LF{}8l(eDQcP862nb~M-t z@&}lAs6)T$E5b4hTTUF3LmK8RI7!H(j`H#5j9i%8QL2Ab&gEDLdBJss>q)N9rCDGj zvHqHbY3$8rBOLDAtHWR~Do#bWf+j_rTwL`x zks?qrPT5|0d)|UmTZ@$`NKH!nM`b}yu~5G6tdT{Vg<~^<7DsbM(^+$kMOR_cDYpx^ zFIiW*-uG>Vo*&oqwASlZ&P|?c98Hx?*jC$rujUL-T2BX0@lP24t`<1!9k(${FRSs$ zspku*yEk4*Z;oI@8xHNTf};7NnW7h>v4je9b12kV)N6I@)ATC!fZa9SWquV9lXv=e zn%7ID^nhyEWvXq1`aadrH0v~LR?!-Z%yNz}?nRyJU(oK2k66-Q<+wTWG{*#oE?QXY!<&9< z*fdx)pENf$%GER0Z`gWnM;Z+^jJIeRF4`>G+S&=tdu6&-Ka!I+U{3rrX&gVQn)22b zSm#{#Y{6`qxx~0^bsKVPc6+|CeER-`cUgH^%ZEd*f#r#HPR1-y7^@dcJwiVsEB_}6 zn6zSYqw`Tm4--g{%jR=>(>T!6?$vhG zVdvO&UV2V=sJ6Fs@HD(RmvgOm=r)dtB#1gtJRqLrYrKjKN z+iAMxx|JimB%C2^?Q7TYpmAFjQsvx@u#K~w(H-V1^6L3U@OpXwwy?b_G6M*M-s8H_ z1k-?PMcnv^q@InCWMfo zc+TAJ%N>(p4~fx;O^9g^xC|)uF9i#s05N7zYca25Zz9t_ItnJ@kdU`=-q9{6PaH2f zbQJj%mP+PCmj0xZsEzQ$-zTPtviukk8~w4(=b%d?OGDa5oGg5Qm?^G<(w<0!4e}d~ z?UQf;{jO!9_FmIqqjYrft+YVm)|ar)Eb`r1MtOx&mhvTKvC`GjzIlY1EsWK^e{U2Q zBz5I@i8%;OSr-qATK3Kj9XMTzAg=mUt z=`?yYemSHW9iN_k^>nscI=jJ5;7!Djh#82;U)mD|$I4O7@Msk*lK7=%OD^%=X=}1q zn4(f`Q)uq$?}o*MK#JRib?V?^4-I?`71akrrL*GqBv)ElTA-X`c7wrq1XwbFHatfktDs!K%x~Z;kh6P_;d+hN^>FK1=7!qs-|X zuIF0?T#?08tCVpW`|0~UprNp^zF?1Qz)0XCdUq=7ICFAGs(La&Z&cr7*BqF~0Jzdl z?)u|e|Gf7o8!r1<){YTVtKBzax?#^WE-g++uP3mr&}K-VVWd`2e^;~Kkiay>NY&d^ z&UD}Ed{I^nphu(S+(ln(^{kcDjK0*ZPp9E->U;Crj#)}N&f~N8b<4wAd9d`=YW*y7 zYH&&-E6+}P)9Hz5iG@o$2AFF9-teoT+ShyUNtsKSi%USxjj=|;nxHvHVC15+lfgyZ zILCRjbQ7s#;@Mv)Qi$cr?5eAt#Y_L*Zwb<_Z|kS)?eCahMNyuow7p4XWnnL8ZzDkL zTGuw#bK3hUO?(|oo2-Vv5MXkvI6l`V`4&q+dCtcywB<^DJh*>!JLRqr%kO!q(qF!` zFjqE{gDT>D$M|+p?+km4mG>+FxPdzt8<4n;dSudLLiW3Vy%eoL=@P{&ERkuf4|KJna%Vr`Xk7^}T!} zz?P#>fnMFbUAbL9(O`>Hwg}32xjeH$Zzt&P=<)=PgiC~~J>QD$?gqf)d0ro&#U<|S%7e*!^Vw`yy9l@rxdT_W(RCm9bp*P1T~7!T z`>sF|9&azoniOWd=zM8?YruOqC8yR8%ig|-zP?Ji(aX?p{(S*v=I}RWq%ch`FvNBC zMbT=Hf$xETUYGq4Ab4tzQSW=0qU2ydg_A&i9v;}0M#L8V_&hA{MURg#W8E;1H^gLC z3Fh9dm92m36g~-_oO`2tbI&`$bTgiwpI2Xxf+8&eHwvtPep=>N$mFbJ?8VG#dGu>XoM zEb0GO{t5dP2L69Nhl7C$vxGtT|MZdnSO4dV|5yI=&Hr7)<-`3yJy7oQ;r}1`f4zk{ z%!!o!*Avx2O4AtzhVaXO3aqr!=NlLpQ5fkT-&H(dFS?M^)kZRyHB1sLokD4k$q+tJ zp%!E_$x@6twOm-o(Rn;&v~}DIdYeBBcL;Rn3hZapn-4#cuQsIEFrZ6({v5z4N{t+m z?QD^sg%RkxeO*~A|6T?SwfkriP?@iw>RW$S{i>XEt+LqWHP2@Sj&sUX-BWHihm8oXh6VuQ2H``rHCOho{Tq^#Lhx^~A z0>D8yQ(v}*Lf$JGG7tU_r}n>%l}7$=rriL=H{p>fL1(?Z@PRgQ5=cpC-h8!GF1w*oYi!~_pIq%_bi!+Z#u?>bplJkwoOUvOq-`PY-qLwfBY2B1+fJ?uGE z%<0c6V{tQYhMsU)^jvXtq>G4J?0CJ+4=jnhj6}dtUrngCFx|F=($B-feZa>&04NNT zYKZ6EjH5nYUe7R6yE0pD`Lk+ieD3MDu2}_IZ7H58&D>Qsty1gcgFG6oaM{rHp+S)> z#SkXeYi@RKDDPWLD$BV=L$hY&BfHg-@>&BvO+47V*3ozK{G2h)Q;;xn-y9aYz+LQD z6Kqu?whJ=9=)axWa{jgDW$Bb*W?0Vev%s2Fm8Dmo?UTeMY&oRl3Mw_{*5v6j;(MXB z_L+|?IlK8aW7A;gHRN>nYY9|LAiKDmmAh)P`4D+X4QRpEYrEW; zXME{+%2eQ<|(x>r4%rATgL-`N?H)H>Q zH9u0t!+Bc4sD1c_GKezD^o?4rGnqM0 zb7iiV9i@w{^I+I?azChI3Le0 z81XFTwU^#E**d=CKS;>2vE?ooB1#u$*%l%CqQcC#q+>YOri1aqW#Ir_5r5#-55|R0 zI2B75i|Vmh8q$ASF8!hyVx=?o{wb-)De>A5n#tvB1uXC32TwPF1HXaMh;cp{!X z#NGLRpg$78sw)O^)-i2bwRndSqs8CGbqPmp;@#0S={LFI{z}^~Y(6xTrlDuj$x<(y zbD+;kieXsYuoLCo`9SwJTwVMm!rld9#<$zT(&%W)Z(Z! zjb0A&U_5}@AMKc?X~Y*{=%o{QI(7z|P8IzsPKSpF*r;sOIX1{iO``wFsY^TVNL!G5x zy==!40pv-tBmn4T7$vWi(!Ka(d#7DLND_lVOWsfxg_RN1jgWEkDlRP~mhK||34h>? z+WIpn84O=5OAa8NOs4y9{}lc||CA#COG>aml|P~f^ZP`m0AZ%-t{#I}ZBR#K14Pac zw`tLHB1I0pA)PY#J9cRKWY+IY*-%*xuq59L9ZDJt#AyK;Pt@M*1mlk&BpW{+m7kQZ#d zbYb%xe2sKxTcIf&q$!6%{ek^4`9AM{Czkb*KwDnO`Q^hBPLM*3Hf>px|5odl; zKS3qm#X&(7giD)4_`1}!^CcLN&NBzT-Q`NBo!_-#mVR!^qu%eR#QSpABhT6=$+Gj! zL#d>AN%O{QOyv6~D$yS}{g3m5`XlP?dv8Sp)m`(rz%-e7F?C;i_;2|5gc>!>Vh0cPEIq)apk)$kSn=M27utIpcSIyp| zImq26;5dwO{je%J$Nn%?-+r7h|9hbCI6oIYF~q98L9Hp0n}-NqbsJQ{|D44jmP`b* zHXSkgd9!y2a3rg0Lfuk}9%sVW@ax58gooR2JION#tRD(8j%Nd{f~&_+u_sLEW=lWWQF!oe3w>`3e8eK1Zp8rJGW$df8ZfjXLYWkyPia#Ho`k56?o~G zZGtnp7c=OfDfOI_7%T%Ee_4PrXV>YY$}akdN~ zJ7Di6En`PrkmZZ#U2Uyvp;$H|MW4dN;Js2`-mhQZ{!7~7(EXpV@Lq!X^nH#dp9jIz zQ?o9ssyLXfK^dG^)7@eYPQPyyFF_}?3TkGTC;gM?2SvowvA+)djc4lm4yXd zqTMP*F;kR2eEJ2>kNbz_7j_DQnX$DP`8EzC!3>9oUEj!mu!Kw!_zbY+eefVQaO+R#?P1*A*5b6K=~K);E3)`9!7{r3YGkq z=)3oY`k%*{CTc5wmW=ZkR6i%$YfENfc$y3j&5G42praZ6lbjGFC=ooG1zT+9WMCPC z{w`-EYfA?W4f>=>QZxYzAos{2$for=4nurM(@m8g2)q{2WX}^6sA&B2s<*t%fEa-) z#16Nl` zND2vO^hI;~A$?hAanEy8e&UluO1=+?uuFJU+uyv2^_ z@dFydyE2~`oP*2-w~eB!q0AN~+V#}88fM~2>uXx(3hOT6Xu%hd<`+;4zf+&}T^j8HR-=cpLeSU?XO`E_A&u12W@a42`I$S#Z zu31=~ey6* z7WIUoPemKFQWKFR9Q0Zx+@XO)+ewJHC=n-YK|rO|MEP^{EGMVB%<6V%FV zDv}qD#>HjHDjA9|Lu>9CuTp+M$&2EXMi1dWQk^7~C(N+<`lF9OzmEK{eH%OO(uWgN(BgVNidGlAqc{`*7r`+d>1o<30C3I zBF91dvBw|sEmE**v8duMKf+gQ=At}*oI&L13pAK>_}r;i-`>1Yf3*u^nn*sr{{{KO z=+B9Xe}0JDZ@QjvrpKQY^e{%6o*gyTBS#+~tM43nUlP+pX&YNRiGG@^SJlCu!QLKk ztfhPN=UQS=eiC`}<^%4%IAXFy-0RP0x4^z^ri3`lF{t?msEuT9#fV5W9~z_f*AR?a z3{F?YeQ@2_Kww!y@)VQdY-*=Z2gEB^}?6A zrOfV`w-Dabm%Qm5c`3=1VnLw$nwDkT&+bi|wi{1%L4z!OG za0IuyVthVdCt0pD6kl%ER!~<`+S6)cbaXvmavh1Ka3vr>-t2=%-gvsy-Yi$5jV#qCzEf#}*>DZ5~JSrd}4rR(VwvcAox(o7$ie3Cdtt=5n>=^^Cc4hoqR6^@lT7We1+%QvdROp>C~^sOvl3 zbaCm^Slb4;Q6X`KEiXJsg(lO`kUeqPpJiqEjuU6OsNuzasjB>ZwmZmryQRx|wJ=1$ z;U<5*%N@AhYKeDMvS;U2to-{a=HSgIZCY0+&TdmT2nloJiF|!C)mD46U?5DT5Y6{q z-+&|a@yWVhBoDGY=oes<@bvy2EL$|#*ja)&dkZO5`7QQ+qU!FFa6AX&3(<-LatY@Kh%?e%&$ z$TiHtV|l>wWrpRC`I813cS*K4{OBp-Dx6n={Kzy|PjOi_S-n*pgollI_fSz@{3`;w zwZD<8>rDnQ#xKs+a|NrHK_AZ+oiF)aR zPA!2xtJE_SuiMq$3hv87fWY3arIZIL1FD(mWqqfKG?tpdGy{V4OjbuU!lkS|BuDFK zu(QI^!QV98b1JD5Qfz3O3eaY2$M0oSL2v?Cjt2gwVu6Za4db*PAQ{~kI=W}XpUSY! zF{o}ju$o^+X=&zdVY_Z37=WA~BdSSeqCH3&0m;TH?V@s8h) zwr|2GWf&&$Q-Ub?5~xfyVobjovD4CnS7Ob>Yj}(r3gcvL?v38c-WgwzQ2VqBV4V?- zx{qJ=%$zKEf>owvIp9aFxLT4?b?vdVlOnU``vVz zH~?D`o6=DPECTp#DsT!oV_NR`P7@lw4+Vt*#9@%O&aF=MqgN-WrpIntvS~pz!p3D4K$yE<}T-Jt)yHCk^?kN{Yn9Y_x z6JutpWk!&mw`D+3+rr-;^oJM@`t=?OZw5~`K?b7gHas!b>HWxX;K!!>!a>B zJ41m{zA%7dtcgZ#(DfEJ^zd019U+BP=)O|FjX?J1J<};vS6=dD7??etpi>V~{+yc7 z4g$H{^cX;fe&0@jZud72z9|R4%taDhMbH&4>&YMXAyWV0c?I@>bqx! z@n!NkXFsFKzO_Iv=|uX(DLpnzlK%(ZZ-<(uS29Cc1_eC#sW&IhD$8V-))-}*aMR4OC94 z0=3;hBr(VjyYHJtlBg)Q6UQ$JkbLz$pcykFa!}|jWX@VzQ0>o(;HMn+yJOSOt;1>3 z$KaTkCS%u(^*VZYclfxi;xqH{H z;Fl7^qj0r|yBEK#h+RsN^tGo;R3_zvJ~*cS#S!=zO9m);J9~yqx?aw~+fIN-tO}Us zxg9Fbd!(SGy8^C_gqk-#wUBpwyr(aBls;bk=Ui6+TxcFWglH5XNceKs?s^UvA+U4v zsLtp}M~rmKib=*>mmWUrmGXqvsk_p4?4!KSZ5v4M9%2<>(1V`CJa~PBzFGPYW0Z$9 z76*SO{`w#G@qUvd(2KO_kyq23cuf8}p3WgBGS@gF9M?J7QRE53B6remv1x-DAt`re zwraLrSED~)s&y|Dc`1%m%MtMuB3xPe8D--sD;Y;NmZbC^hX$)nU|v=q9+Sn|QiM!Y z-Ip@tvxPVBMLYAxMJ*dD#U7SD+sx>y^EVb~bBDgU? z=(~Baq`)nQvJR(7)g!9${ilzsYXHxOZ7)^c@4`Z0V<@|-VCT?D@fhd#d)_cp3RW8U zF(-!gzX|Q5MF;nA6o{g6?|J<15!%geDWu#U>Feq(%Tu|}-Ru3vw+>B{e++3h4^Wd> zQ_fox)xOw)(;e-WvY*kwK+A=tO-JRHq%FxxVJBxIpB>@8=fLmp$nBNGzlzoQ?5ytw zrLP{{&G11)v@D7pKB@=IZcr9Fs5uPb$oiH(sQXi147;I6!f&Ly?{quVXQ!o-g$?Wi zWsM|hr=~{9Kyu&6mpHn~wMEj6Gu3m3w=(@=ny|RNGt&HD16^-xFKI7V-{8H05FVKC*U}u+-qG$$PQ3=` z!2R&a*`^tcyUt#n!wNF?N=`&WqW~Py<{kbmPD~>rQD7I^JqroI%0|xUKFgHSDT*G= z$f5SyYWySXErF!U-l^C8s-P*$xFFB;wp~%2(&4rCdD&c4|9NS`zTNabtx$9A5B;0{ zbgRMV7Lp3hjf(-nk~!*q47+TzCoTW<4q2VV&vsxfO)cUN6Dp8}+_mafjq7j!5QDmowUT!1!xKDVTAbi2w! zl1w7QGSBLZhECggF7jrr-wWQx19;H8MhIesBHvg8I%@p%^C6~zp7h(HkDXAQ z%0Le7-B$%|vlGTwxF4S-T`LK1x6!^6WBXjm)>t23C0AvOd9%bqt8BNLo12vY&=s&c z1zHhKgn!nq>7v&T65i0W8%fjC6WWGzA;n-M zBIZE4Wbepf-l=~=^K|#Gyt>YH&XT(Ho&YDEJFFz#0wwGx*km(iw z_22q@F{`%>I64mctNG+QZer?0L$3C<%!H|E+A?`clf~HO?1wbC{_0&i$5cP=hoZ`9 zzBuinltHAc5otH$rP7!KW=m(yU*k=Na--iQbqRq>!_4BJpizlXRQ z<1}VFfM$k(U-0+1y348MQt0Jvhu=Xk>RyxYKNdiWOW|$k7&B;=&CFFXRtleW6bRM@uRx0fKijR2^;lA4j*MXLrn!5KX#1)a7^izIR zfT&y;J^jXXjsQA{tK1>y2mszet|5sPtd7aa1Xab_AWufI8IMF-`~%L4qC}Jb>4b{T z9SZ*TzzdwqIjdXcYK-$@9M!QHf%3q=be%Z6V;b>K@&~vyez?0qR`u%3P*#D@rZv28 zTlEwcikfOA_4!!2LY|WnXK+HABs}DGqd)S7 zeBj?qWGFN{-5L-S+Qx1BSo*=;-sA2zPlgqz#27p=?$$Bl_h^5Wq)a#T8=j1g)r-;X zadiKBQ)B5Lp|Z&|3e@zGg#40snyuu4B%6u&Tph=9@|KbaSdc-xCTM z5Ht{Yq4UTGeS3s99_GCdQz{eiDJCW#Be%0f`)^34daKnDL>!q;V5f8-$`XcB<>td{ zPY56VlKb^|&NCYrokfAj@v-Ac!|OCAEht7b>o!ur=b%nS+fcH0oLn!qgAOJieiH(%aGkb~h zM>Ggq9%1g}l zGj_Mn+w=mU`Bi_1IAu0&?NNlg^1Vc;S-%Pzc^-0aFFYd*u}MM#{sD0QUPJkK%8ivx z>`1P9i5}ZV&_0etLd>=)dhdjIkK$H&hfVZpY~6PnN-s!!zk8wiy_7Ugm7U}?*qo#~ z6jFKCGZ4!uP;WhXJFt>MXs<%l04?D7s&c45a=N!~4?$o1d>Lq;_fNn20O~`oN_Av< zc+b0Xw!kK@)KtRw{ay;=hl^F^z;+G&4!7!r8G&Q@@w^hM-1{pjCAt40#&n3Faro|j z5K*te3h3UC<(9+5>E&?S&{*zJw=c);R}Lb*L0CIX_Ar^80&ZNKEmmIZ0WP_CY(Ne? zFbXTpBdd4F^OJqwXsF(6(;hxAs_%y_oeq$|1rt*V4g1f?o-;; z@f@$(PO#J5{(Mc_lNMRPU!`2e1D(;bqp7Tp^HO<&yNVQsO&PG}N34q#EMd>(3RPLl zw^(w48~pcIdf;5_ZNWvW<31UX_;@Oq#86L9&R3Lg z!Y4Fy-}4y8u|3+IyS$!}n_u54*{pnKbvwKebH8peJQ{)0F4tq0_my}&{s^lITRr@E zhIreTcaMk=N1<)pn(v3I+D#l`l5j<*B=EX7DJ+rz$gQ80A61joEhJk)u1w`p*$uZ4 ze4Bd(etn)p0_w(Rr7%)wkW7oH;hP_pbJs3Di&#&uUnyL@B(Ar5=6IiljBNDX1zinW z+p7jOIS0J|({UJ+lykm$fXy0g9c)k~9>zch|MMy3($Si`%8e9ggYtg8Rgy)@p>sUa z8FJlmDFBpS--E>U>U_Q2LTBmWxLV9u*mS&@O&$S&b`omzuVHJH-==F+Cq9him%t-G zcZA4_xX7w8CgvCo(h4pQDB1z#JCwH?^|M|QNrgRV`x+TBkBTH^3t@8Z&0n@_S_qWh&%M)XgUcX`i2S!9x0$A~2+ z$r4yDSuBNEB(u#-Vzca+?3#KSD&Exj7?C*>0L0;`4;^c$tVAaTUH=F zEAYwCu6k%=&E%Jxkcr*t+h}$OrGcF-wk;>LC^WivI8ImU$>fnjLoP%E)@}3h#})x!Ti{NtzqkkVBGfhUWEt}6!`qG zRNV-($hPmuIzXIwu6_NGt2Y39+l8jiJg1rUz4<}s zf7^08-N^-i?{eF(9c^Xs&0KEks#$`OF;9&_D=c<3HT2)tp_8J*&OpD34Ne84+SStdyOdfzxZj-Sw=S&;y+ zl9WEGRCn3fULkhMM%==0**N?7f5G%uDl+uc9CLrUBqzMtJ>FBAy?;*isKtIO_~oHSpsrRfT0?y`?h~l`ZxIkFd$Rv}6U`?Vh0^y# zz$5%TY#W$0TSE{<*p9nD++hb|T56NTUfpc~_re0b-?*Qj9!{^Q{O;Kwd(GG4=ZaX( zA3Crs2S#EU(mAeoiA#czzvevxSY5oZiNo7AhMN0hdj+pvcOdM*hal{YyAbsLgmw7a z^;9RhFx>3BD+ZPc9JBzU^aHZ&=Uynv zb1F|rJ9PfF_F5#g=de^)FfOk5Y`y6z4=LAHA)$9RW3jyu7yH}DYgGlW<6}OyQit;Go7K|b!vz>*C$d@=k zBQ1G@R}(tV`CIe|-)z@IujdURgj&0bn#T15@PI9~%=UlaGvp`r8W2*&ru zYutQb=HNXZXKd+u^A%&P*TEr0eLIeGS3Es0 zzb2h98c2kVg3p5xbJ&dADsgi=qvxqk9OojU02oH6=%kKT8?6zHa;_&UeeXx*V(U7s zUFS6&8}S9=#srLo+>V_jTj;`)F&_^pJP&Yp8<}(_4Yk6`AXWBay&zc=2>if-Jf9<~5qFM7z!{-iUH808_JB}-q;?|)p55^!gj^E58z^0Nt8!9pzcHGd{9 zw>;4qr{}&DIa~l%N1`?$`WOGW6uT5|N1j4nX;PbMJV2h+S)Ol)7Z{(%c6^GMrN=u8 zxQGSIo?4UTQuKD52c5lK>(X5tGsvr_c@*lr5Y1TcmWB5;f@18kWehP8N>RmQ%F&Qj zyUkQTcND-&rlXG?`Zg6;pD#Anl7<*$L4EeN-&J^nLSEGD`qL{VYDi~bv<9fF`T)V$t9QFxYs3rqTsbHc-9vTeXsS6oBH^Ski#rE{`H_`` z9I)@ClVa|3=+UlfLB(r?i0Yb{j^@&pU7_~0UEs@YC*XF?c(dJ)d^<}EZ(;OY54dBD zFVj@s2#@t0Hr1#*HMcEhJa*OXys4!SncL(&e3fyI`loHFeEanK$uacI&46(wzomNJ zi0tvc27`yj{bKFk37`KcD}e$sqKbbxHs3$C>qZZ-ln^e$Jz4B9x99N!eSPl9^*{({ zFASM6oMy_I+2r3BkPf>LkVcJdqlw-3&Ef?TV>D61n%g*RKhC(L(n&~!^Q*S^W!Y5}83~0NfjEbM?^oaT z=UNjwt^?LLZWO&ZR!ALnaZu(;wCNC*qaDOUAOG<=p*z9|)9KI;2tV|NBu2Wt~8zxzO){WS3XEF?f-+F$)P5$O73Mv zD|GD5fSrWlC6%!(E_*aGewlT@r+vDOiWJh|>DzRlOAYtqE*|_*0e8eeq|A<*O@X!u z^*ATMJ(0-G{S(=Kt^SO`L>$pt@anjSibyKBb3#WkQk8U5EcO`DQ%b_^hoXz>x`P_& zR^e#gCg2F~%V=dOQ2MPNDy8xHM>iH6Rc4!_dJHbJ<2lD47JOe)QQP@{d-+;xQ<$V2 zlU+}fm3DL4A=I*{ndV#F&dBb^;_kA{ll08=*qGZjGro_)JPy1^z6UcZ0@PF%FdjBD zjd8*Q2@adyuI@B+R6i|)z$~}t7{t3OPV2c1*R!qF7$i05HuMQf#l1RHCX*PM^T3tM`ju2~ z36O$7W}u-t6_5`tdXePQn*HIqg!VY99DBp===kBlm|xXEy*sLo5fu)kPt+HfD({Fq zHrg|nL3C!6ebaH}tpCP;6pLg!)WFCAGUE+&@Vj4tivIo^8VJEA=AXnQF1ThB96!ei zl&;e8uV=*%MOG9LZP=OyzMyX!N{F=o!+JwVha|Hzp1br zdm{HlNo>b`A4_|#1;>J$aIniO=h13&`cp^|4?gVA)Thg}FK!Lbl>G`pnJ&rIYOd2% znd}HK_s`tRKfRtVPSqqk9xw*&y-OD?@Phn6J2J9Wd=67okZP?+wxnS0!2m%Fs+Wyp z;jo?A{$&m2Xd&AhAczHU8x>g8t_1_A`NDepso)=i!$;M0zgl@xl?hYOj?=9j4oLbK z9FIU>Yg6Flzs?}Lb>DAZkJ^JZdPw|w+(+!4gf;Hhw;^g8gM&*La;Z*iwnBj;#4v*{ z!oH;xZ?02Z%e=zT$=JEnP@jdt2)s=upcyvv|Hao^Mn(BXZQp-srKP(Rq)R$RL_|bD zq`L*AbLb%igdtQU1PKA98-^Gdx;vy{fT0;;$bo^Ghxfy~*1ev!?&stA^;*}p_jw)r zIDUI#j1G-3C5+1Wasj_vfe$j0Qo^r~Iy1a1_;TkxHiqGpI*O>z)#Jds!WI`JUvF5( z_EPTt|L#1PVU2Jltln;snp(r7&7H6<1xJgE$Q#>E45u1d?lpCjF-V~ars|!imzA!T z5$?TR{RE0?^ng+4`!JBmGcT3Tm#;ZbwkW@CaI&AZGbyx+4d!#+jQ6a4Uoj@xeECZ$ zROjYB!O;Dcqt=)|b*)5|bVDvKFWW63Gb!T3ck8Q8(J*lW)UTM(BcblY8ewuK30eh3 zdmV=F+6f5GoY48sk9__O{NS7k1m5}&em(nd5){ieW@m9tOB;M1wvw{^xf^bsqdE2X zI+rFJA?uaeA@Va*)+fg;7?Co=p=L2AV$^%<;g7wr@6~*s?khmt9oH8}et)T(y!awY zI~GISQ%|xVL--N(4@7Zo3`(KY6tLdC%BTMo?-8h zoL2ie{cmf*)CDixbRbiz^I9SYG7zAUy^1Rl)_I|rtIT^j>O~bl zO;HSX*f`Lgwa4xeX?keJo@&5mwYXYeJB2?A1-{G35Hu9#&*1CrhX|y9U=b8T@+suU0gj zy$N{Hq$Dv1G}<$GG+Sa4&bTw16B=wT=U-p)ZRjqMULdbqr5Rsu-_|idr6@87|X|`n<{gfO(7aH>i}wp0oINfN0AZ@%+%i_omRo z&DsICX?H8e; zJL>Vmv5iThLw_p#nTPW|{^f9|$JJYBj2jJ#kz6V?=Jyyu|K|F#v-{1?{jAT;NfmG z`ps6Y2!UcL_e8|*M+3bg4(Hu+dGiKRSnekh+zF&@P9}J^)~~2ga$C{kW%ADk)Utee z$7K`@(^--4q-+1^PfE45f@<8-%~>R}eu8L5F)~3M1hC!MR-b-x+~r~44p=+Hs7fUi zINc_L2-fyFl)0@@YK_26T*1t#dVC5us+Vd475vR7Ep$hex9s3kuW>4VH?*tA)rj%R z3Weo|3ws(3L^i}ZIiW%Emc5;iMwVPfbR*BMX}9a{vaz2rB)g1MT}H%pb+1r%aoH zfrBOxfPt)R=o{9a?zJ?w`RLdPsWe7LpTomO&4#=R-tgt!S&&^rm%E=A)j0d@ zn8O8uT2R~#Lxqg0rOQ#8CK>+gBS+Ke@zp! z2trHO-e0$Zk>C|V0+iIO?hZi z+fcS>{R#3R=YRFmbX@bizZNe&YxFbJ5}|GA5!ZOPEFRr2ZDMQvFn2^iSU5GB%ze}~ zPG;GZCm>o!=)U9l>@1r&C_;oGhkxd5CJUtFpc6fZ32totFB4eXdekPlou%lFS2N}G z=t1b7=?AWSV?Dy<&FDrF=*&rmkl7oT&uXK@>;WAYN7L$?O{u2~NgTm<7jw(4&1d$L z;Q5fV_1Nx6X7Z5mg4WfLGp+uLyylK8G4x?gwse04_%lZs`Zs!=`zN7db|?4zv<^VH z-{+f#iHNdRrlN^`^TD{naVw8bt5(Of!@IkhGo3INPa@miI0X{afT$+2ERmXF;L;kE zyyRo1@T?!=ljX__K|q$=eGt^YdV8!38y8_u)jvMu0$vj+{B1>VfKO?;7$#g*MEK}S zfjrg;P!jPPrEvf*WG%aa6X-7S5TfUy9>H4%Wzu<@_m7ZgU~`_(V4(Ej>TCX)2^PWB zofU^I0G_JHXZt$`90)Trz8pmvIw$4!S3%VeIWroH5`=em?J{2-Es64UxY^mOfEB}v zM3U01H^_&&W1H80EzreS;9+Hl$~OLU|Fmx_fgeF}B3rpUujfYTuM_CFJ$xk3n%eW6 zL|v%D>gt;r5a5%pj}=$j$c@#k0a8X^r7uSN@p06O<1JRRd_i( z2s*f(?ztX0MD;`YJN-ePNFgc0DuKb=x{)56CFPuC9di)Xn`|iRqoV`*kkpvJ@=+_Z z8FL&kaKYa@`u>T3iqYtw?-ucw0K2lBPY{>s&P3*X1>Td;^TufoAUIu=YF)nRXXvz4 zW6L1T-?yP}a5hJW@OG}PR=7cisK;0so4Tl*-?Eegz~AHAdJ=QAeQ-o|t*hD}WZ|?A znrqNAA`soj%x$}|c)fd!mnQppy{=>)4Q`$wVsp^3izb(}g?)1@$SPkr;eA^6Qq-Sr zliRj2$--jXT`AgcbC~b@1s_2>Eu_?}F!#`}hP^tfyfz*5EWI8!;NGWpGhFAz z<5%Re@;Z6jR&2cWDt#bH*$Q*HqjsJxv$OH6vQby$)i_d&Vae6=P4xVupCPw&UjhS( zrWCQm49okeEL*`qh4V9=cHC1WWL_U8NzOhyHyRck)`9zL#v6P5!NthKw>@l=P>w!f zyBM?59zqgPIa)3FR?ld$tjw&&HPK}W_9|)i51H4U2Mz-mPEsqUfx_;Bx!<#>aKIu) z#+0#WvZ${Nlx_t|VJ(9S&0;pa9qICby&3OLXy_BWo6PC_ytOZAzdhOxO7YEaZMnF< zJCg9-r$K-2f||8lq+6c)c#d#b0`6iieR6Tz44-8@wpp((!9haK3AoLyqR(<_7MFXT z*EYuLUn#d|R6&;x3l6dBfque=`?Eq;QER!gmC8vjA2-MkIqnW|KRBOvKJs8t@~UUR zU+W=>CQxS4G~`h{R3msinT}A>m539wOZbn8$k~Z*?u8NN1G!JU)KIYl%Ss-%;umyl z2FP3W)ZY$w|DOi5tIVN&1zG0>Nf$}z6mH#}1(Xrar^cx3hSqz26YNhCLo#_Gm7J=f zI5YTb$7UZL4kjL==VBTiZ%@8N)(h@~MpOeQkKsP;AcP<5ABdIg91n@(a>JZPGp>3) z1DtFF8}ZUa%`rf`!mwHJ$E%9BVPTkFhCg9g2T_!vjA@yUdX)YIAagYRujiQ2El`Z*zVJNPvVUD{37jQvJCDfw5PS26Z zKScPf^BoQg!dX3OuEJfwn^&v`{yUCM3+HM>l zRe=yJrzfQN`OT7UAtMbWbj>F=KL=B41Ful(9D~};5X-LPmseb31GAFx86<@?vM^7}wWvvhRDV=Ul--fQ&dG6Ui&9yd$JZU3V8{%|?o8S`v4_PQ#q# zz3FwTsbKVW*SV*fmuTNLxa(qtY_OIJma=~5k7so7xJHNY%;tv}I%b>ldfkBCWkWR?$ zN2T2DP%$0)+j$Qn2@}kjcllXsQ1E`D3}H^l>0r2v_;p6#(`9rrFkmC7MuOpo;G|0N zD^iHxLlz4P36f~iE#qVFQx3$4Hw@QAab#_M<^!S8R>^@;3*4Sx0J| zwo4O9#>!~D|?KZ8!|#AE{Z!twVT zT%t#FzdQ1aU^iy&cxU`&9${pFVzLae<4D*)Hu>_iVx^?3(x|NYAwF1UfKZ=gmEsoU zsAF_WGIzk8e}q8@^WTH=qF2S_NxS>24MhS082lTGS^3Igdl_~XNvc;d2z6?JKf7c5 zPmLLnsE+Qpbnt2{t-{+zjQ*#k;nLzOb^JGZKPelE?58CyW7_w>{Fv9f|At$K1UDo< zb(*&V5WK=P3utgM{llgp*md5rcu1e=r}%851fU3xSH|W%;5zIj3-kngcHo%PvHX%M z*`wb^(Iga|aU{VV_Cm(uoA{39YCvZ@N>y8Br!Q$hxc~$JC7IPP6ZcLjW81`8awlW` z=GrLSP)wuEy_=Hsa*bhELq6`q6d`<_{(Klu-(|jx^s{tfvd&32&sRqGw}xj&_gyj~ zl*ox~&Y>)g^v)c?;UAA;t8dvBBM5qz!jhNsQSpJc6ID^RaV)g)YYau7;tO4CBi8_? zGskS_Xr98On_KczVB@%n<26=vb^k_OwiB}>Zg9D>iJ&`JW)YSAqJD?q=}|hHVVSr2 z2+r6BraY7t7+R#G?9xDrozB=*Su!O_8k}7LpKbrQ1RsRfiF?ZZ7u-3czWUpL)or4J1r%msASf%V@a}sK;$B)gAr8K~f_0-RWi zAJ)ksW08(5ZJ{-_1HR5_}E4}jw;=Ee7V zt(10l5$76Yna4Pdge_tZ$M%}cjb}nG$q9NNb#H`aU)}BeVpcT8-$buqqSbSKV#SL_ zaAD^jM+rz7T};xv3gHcT0b)(tRwPG0sX!a0^Ek7Sy1&IuHLFfsbuih(>sD@7Oz19> zZcwhzG)pmmO; zwz`k+4Eaz%$ta?qO=Twt+10^Fi#G~noxEvWixcn|$|Uy0-mtC8>CF zv0qjdBlTp+v&~7Iov3alUUcS0!@$L;p>yWu$NwXK`YAU2wcgCwYu&>SLeEe63wZ-1 z%JAu9GdZdHr}CpoD~$O82_4`)lEvz1iX8kfC5YU|PZm=x-&?6O?F0jl`nr7|%T#=9 z!?-u8I7l$a?@-(HPRR=m^nx9F?c*mIeII|IgA9U}j`eBmb=T6C?oKwDrs7fhNO zl%k4+dLtAo#9ya5Md@^J(J=h?ld--#+ocIgHU7JiZ!Tto|1If%%yOUX-&;i&5o0JP zSR%|bYWa3HIygu-XfSUCPLpJwEXr8#Z%qe)^{Eq>I%3 zKIKso)@3XF_rJNIrzT^Mc3Z!3J`ve}`QCp(j1WQWFp!mCT6X$Yj(1Vg=k3=r%MoRl z^j46`BxQCT_IL?8t#mU0Xu;ygLN)Z<{oNM*$t0p;61-PDXJ!%YSfd4%Sow>CIi3M- zpZ%GK$rjR12J0R&UL^xX-$&aMiju@+t9k4K`?Nso;#U_QcSb-$NPEgx!sG)=f9fM50qR_gmbANpJ{7a+pnW6&?y&utdof_QQcYhOvivhN{4b>Hgq zCTP39HYENnk0FnFqC5LH=|g^5BgdM$g)3NZATaD*nd?D<;NfC7Ifs}&nIz+u62a-_ z-P!AgKQv7$&klt)00d1h&@@D-YiX_K(@%3{W+gwL4KyOqrE`vL{Pq5BRKM1yp+1gw z{+p|yMCay<$$e!QCIQQlC?M}$ zRg?d8kkMH9E4>pph0kjRTV+N~>-e#8o6nF#bv6gQRerpro1HI&Et<_kwovKf=gi-o z>+TMQB>#hiSpME$a3W=X;4s@DI@|Q7uZ);&cHuv+XQ@?F@1_Mgr{@}~rj5uS11D?4 z8r+N?Ki?U#)Sm(DwcYsA$Q@~SU(%t89Y==}D{sSz%;T&paf{$J0W_alFf&64Q$p#D zj*^Bx{cR}Q!i`kc%9L7JLv}Hkiz8SWcW@hWW`vqI6VXFqfDY$+*)U(1vBm$G=NM9pB7xQjAfvk!Jim2kXJ9 zUM04P)vQl~kAG+EdcG)d&hvj!pk1hb{az;MiH|b2_v4YbA&!>?b5)-$OX1Qzbiqr# z*zUV(E3*Z0iC%4`OPY-o`DfO^uTo76!*Cws951)477cw!6S zLi$olw0rRH9qgz#qAE~V?ZXr~19&Q0&cQ!P-KW$qIFw_#F0>K(X$a1vC04|ao)&Fs z%n6=8?D4YttB#ok@!PF!K@BHS>fMEIv${@il=AD2c64Sz)E|N(6qTmhaac;be4d-1 z$#2oa!L;ODKb0y5FEBU+N4}}eH<>liRUOWgj!fbtG@+%mOX?i-{E@Yz83M}?P-MYw zNB`edX!wNLxDxn3f)K|(KyN!mlD)#d|N1%&(Uh3f&JG>0BMu|VI$t9_UHBuA)$CHP zHJHU;q=(w_`@GE%7hup14|UlqH-Q&HSYSMFG zf7y6oHj_o}9Vu;mdn8 zB#9Cr_uM{qR{q>g{4oQ4LUSnQ)o2%-c&IX=jZYA|1w!;c7&{z0g_@GxXbQ>P8@^ey z&fbuvtp}+oyImggt>9&zN*MfenchKj6)v6&!ll{$`sSYP@Fe4~`$p{olxA-IUKYI{ zTG>C4<+f@IS!G?Ml+IRuigJckl>EPRPA<<$yucQ}=`3ciI`j|v#@DOSy;-GG=0b0J zRh}uP-!kR|wdYULRX)sF6-;ZALOpSfb#-hQ&z3YA(-Y-2qgi~}p6X*DZ$KE@BeMhE zx9zMY#rx5M$0PDV%6V#Ds*4l2>0)94Iq+ zYkVb3_)~2dr2hG%%{?%p0o_Bt)GK-TbBIdzdGIBYYC!UF{|{7?knMC82=HwI+-sIa z>ZQ=sWF*w9Q{Hpu zk>Qu_x7CxU5&s8#Mp=29!JS(TqUi`#8$7+S;Y<4 z6ThR5{-x)71K}7c8^8T2RlLNH?U>TI8^u!~JuXO{49}96@tgdoG}3~B$QG0q+uVPgVh>!&C)91*`Yz>3mHGnH$!F1N#YSz6ohBGDafc29ExXc zchml489jZg__%Z*u=lCGkj{M-bAG+VUcVuCTI}|9^IMAiY+!?=EZ*MT{WEl3dvi6F zH9jOFxa?QzqkdPuQfnuf^l!+0lTh#)i;*|uu+w{gCG`8ZtDM10CjV3UO|$qwuZ56p zXF@;56061>%iZMHlRj$PFjKDH(_COxww}?}Bjk)77gMU!>66<-whBwuS9cMv;%>1Hbwn zQIMM0p#z`lvFbmBqr4?rpSi4o(~JI=MDiIMi=h1U$L#;al-^t_mSj+WQ9o52`m}nS z{+-d4G^_NDLZe;mBT;xu;!!}JFDpQ=2N&bFK;HZqd0C+FuR2|qWs-eLgMSeuf1;7~ zyCsq-eo-dHT3fM=%*B#7&CX=$rE}^Z-YEBaj=b;hr`k>{Hh5U%GaCt|3H<;N5%Hotm1y(#V+$B4GlSR)5$z-#F&B4_~W*ZE8U>x+0&^Qj-`B- zir~`!O#A(itAl=f3u>-1?(uLTqvu^UMx!BRRIG74jm6X_Mj3d3WYF;Uw1~MHGrlV; z?9$cCwo*JV*=UOhLy?<#a;Bnosi1Q~KPya@hdhz&XqMbuXuWkbg=54005-)-WMg4^ zfi2O%W^kNujHQHMXXvY=)nSGRbv5J_WG2RY%QO}Drtkx`{DJ4~IC9R?OF`QG9370S zQF^ZTy6y|;=(V1_b)L&ybBap>f`7&bI}7Ix6gb#;QZ^g!pg%Z4vl8{MOzr zn^Sm9_|S`3%_VE7)NCrDlAack=2m-b+8Bz`6bMNxoBwQ8cX4?(-fX$+@h}Y6ySLRJ zc9>+y`k^_aQ~E%R)IeDiwat6hym&w4DsLHCaYDRcCxV|e@%>FDd0E@Tle+PO{b+3J zA(T?QSKYtyC1>)VF=HPz*6J?Rz$LZ6^MwInfquUV6W)0IonWh?f(S%RIVp455o5v@o--dpg&s+?#S(%`Bdy9wm-ppz(KCGbfu*Js&HMZJ zKJM9@dR~SmX8rtb*d_6Zkje5+)E#*#btejc3dJa?aDg)q1GGccu3*^2q+u-$IGWiHQQqj4*60dM{%Yv^>CxpkCT0&J>5RMAz?3u~I^ zhDEK^K0On=67a0sdjgr9V^cKcoG2=P2ed9_#>r<|dF&Bbb%R9}=YB$p9k&&{|t?f_^*hn2`UNoNkC^%=Eu+?~c z^Npb4c47i}55D-g!Qc%{czJMpU{aODzqRWLsdu2TE<*`j-^>R&U}K!C;Q~nD{n!#! zs316O8MMCtbjmp{JTvpjWzlyXNo$y!P&n>J*k#!gDL(_zA`YRK_K&)u=%nBW*RBNQ zK|}uCb6XysaqmVw%p$x?4m>wo)BEfv{hfW7en3||{au>9V87g6VAg9pk=lLSV%%KQ zrQ5|vmgL$@xt(ltg_1Q-bLQ&vl0iE3?O@|1#)E8G$Uv-kys?0_-*bM_p|A0l2Fc6$ zuy%Q`@5B5`ABn-%s=5=+R(WWjWaea>uyj@}S#gPm{0NV*H{{XzXw~?f+v?iok3+9R z)5erzlPC3#xJOjN+tK)DbxqQ!0t{EmqJGVzc z0S4;6;$ZNmN(`aid2ah^`WIun#Mi;fY|qL%yo}8ncta3kSJFytm23t?+G@?AGN{nA zS~|Lgu_wZ2CZ17)0Za9#(oiHa;Nv zSj~0_dpOR`yn#8)h261?RE41-r;|qZLj9I;+1QaY6 zS*jTR9&fem)G9e5D$NyE%cg5v_f+;?O4PY|!5&6*Vq9mZo@}H39T|E+6&3ypFoz>k z@qX|SS3lok!2&#PJOaAOL;ie9jf+rx^wjK)U?y=iD|XcEA2RfCmn$@J@<=eb{Ru24 zf#s3!6rGG_tOr_Sfa`RR&xdMU47{1Nb{at?Cz7^lhK*uhc z`OX5P!wk#)`OY;~h$Kt6=FoX$#%R;(OOOd_o%peJcdX(N^?$ms_7OJ|@G&7OF%11d zwiTC08FS9@c>q^vc0b^)%-Uz(P)VqJ8s@QGqnmH0K?N)4LAodhD$)E-Oqq;&x+tPo z&-%KstvH3Yp;^vfvRp$xa*b7dLn~L&YdKWxObdu$U?=%VvC*00$FVM{9ioOVU|c-> zvoI$HiP$Ec5bel~T&+r%b%7A|e}wyhL;N|Ev)oQUwP2~2%CvGtKep$DUYfkylXNGD z3cL+AOc$|O4!wdOSN1W_ih`~+O*m|e$G&m8W|x0VU*r7rT7_cOXF?gydCO zUxSoE@pwTRBSE)YZeaOi8sO+UN=?e5kRO7tg{+Vqi)-w8ku&~jgM0G-b8Rn}E-VhH zF%v<>NMbrgmjA@Y>3D`R@5w?qJ*Emvnt~qhEa$rDimVDdFHAYyX9?!M9OZRJZOwBT zj;--qD=52RZ?BI&fC$`1##mGuTi#f03L(cnXnNMM0@GJbOs$FM(RyhEuO z?@@mZ)hBgdrQ4J4qkaIkW@)_Qep`yYFa@a(R}niySdF(!r&PIygj|I^>2=PinoB!G z{XboL)fN&Y*hYmB+`W((K0Mvt+4bxFv%Z|5G;FTiSzIt?bcaf4c7~iu`hHm`fJb(W;$)`;=qdh#$+py#n^NiAtcGcL*roeoU6h*^>YJ%8T=rV}8L&j!40^rkE zR~dYzTuFE9rC0^UiUcN}I6Lz0rTp+L>1t1Cp8rhZ4YkQ{SzyCUd-nG%23uD zPUH~w2>+>vm4x|7+MY?6*KM6v+FJ7$+-W!Q3J90pt_BT<#%+7M_}nghNbZkgHOitL zzu^$9!_A1is}*ziJ)ZF#dQwu<5`uG|GWJ*lV3$EHQ5k#&4XHQ%)W7uiUh^@XXn^xw zh(eS-_E>=j4M5$YM0Rec*6Zyb&)PHl(^Q*S5NLW-2BtjeW z8z+S6xq9ZShu(f|uNB@brf;Prpx0mQjbn15 z$wjR#Odp}F-T^(@l;^Zy?)5BE{!~fXu1~gGE_Zif*KOla&<(~)?e1Amdme7es`Rm@ z+qcBp4~do18`un0CAySf3YN1sI?=|JAF;g^=B7XDJso6UmkQuUO--p7 zrKi_D{&Qw99a}<{(Hmey{S$E{;6jA#>K3%9<5TK`EsQ zM1`~8V2$h<*byB3fX{2++R)gLE-AN3TJ)M-ZpGzbsofj&2h zHBEi)TU{gJoqGYzT7i>ec+!gEKZSQ!NT*Y(p)z`e%o9cr>>bE&*Q-l=r=p&oa=kVY}SD7U!E1@szrhN{P|%FXCF`X<=TV9ZaTV-s~-o8MODzQ z0Rc)HF}XCW>|-R?e4G-coy)3`VDd}p?s?G7?E zrvqJWQ@q=XL^OZ;bZk2)Ssb@hAj#I_uGWrOIcCi*uhTa*-G^ZlJ>Fc*6x}nZ*E+)b z&&GcSJej-CD;1h&lQu>{UgT67fBDX`^WMD9-%WPWbuwS=D2B!Tzbe?lN?E$gK0{1% z);NWbkZJrXEM&T@}&8MT3ix{Mb(u zxQhejM-htNGxVO^V^E+Qd4ytjj8)u=9GTDVkTY~L6F`j^Z?3l1!YNvrcN|4`i_bvF zLQ3BWh+rX^wnC={pA3Wc_Sc9^W3`zJiv(agKmPc@8(Tq1fTs@fCHbr75`mzC7dtEj zFSFIonY^d8%?pJ>YTnq?7+Wu4s^5*4WM_Pohpbt$;6A1^I)U+efkijiVXtzNVfve} z+1fxsF#?s=C4-;W;kOS>-A zh$rZ+w%@G%S6X>(FLHIs{W1X;xplUzmEzG&;dEgEpL#GgzN&N+_dJ=}jzuUM#{AdQ z;rUIXQp(t@SP6huv2#CP@G%vO7X)p}GLqP9$L=+(iJwfD{ zUT1cAdAns!)tOMl7hKN?&2m7UFQNNLhR4+W>(V)}pTz=$6g|y8!HvX+rjNkL8+?5= zRxgbFq9YW!WAL)FZG5-9EMY&h^`}iXcJxJ`jMCeDp@adzU|NS{`Pf#wt5u+^X=y0t zF#)Z<{we&PG-Ri>uo`u;aYsDSYIidl58GUFBGZxTu)ANz^XiO5on_LvZw}jktV=dO zc;g%+HNHzd_ETKyUFeteLp7>sovrzQ4u~5!gGDL1QOR52T2n3j_QvmO*~78L>?mWi zGF#e^sMfJcWFA#S2&1t}7t+|TJ8cTLJ&am-AEUk9JCwssW01NjIRtEZp**lF^Ss7- ze_M1XilXcQ=hlwLA9` zvNT~8osb|pR5zqYLcrFTaOJ(2*;hRSkC8dG8Ufs*hwcmAcaN}N)uAyutpbczC-*`1 z6$UF$J|XM>x+t-|R~C)1o4ZJL7dq$f`)8d|YmcJeUv7t5czt|22YUYw?p?LF7memv zHrh6YI16&eo+x-i37TkK*h1(!af{F+Z?}S2(8ydp<_MVOS#J=?WT~+F3lfVhu)q7Z zd}D`2!03`d_Uq+pL>md0lz@d6B4;m7adOXCcA`@;zpMT{6ws&jKpdzB>4`PkK$Ikg zDF@0$wwd18HUDH-lKNYT!@kC>Uv*x~mi^XtyJ5WoACUL@KNAS3Dz{mBHilZqcdLTk zlxE5Ml|uIgS}DYJpf+U9XXO1~LH@rC6e?qX@pSClR^`qRO`nDD;vA0^{;L$IyrnGW zjGR(aD|u8LUTka&mP*U$$*_HF7bhGi?q?*^`(w0Je4%NOHwy`{(0cc7*(sA*fnGl$ zFOU1nbLY3;MA)$Ha51m zOc4n$UUUABqdZArowi@ROm@$My?zdmIhu&6yF&&4kKk(9(ys^)S(KJ^3`GXP=90FV z?R~b*sGMG0g8@|?u5cQ#cDd*A+PJ=&ahJuP6B6S7dJV7i`fR)8RctmeN&RCYlalZehzp1-@m=PXip$hgJ&I9u54&^zX?2f1tI}-_cARNf{pV0fZ0Q-+rt8Zo znBlr-fr#m@hs0oz6gVWeyH@b6G#OMhW>MpC*ZB=Ms7u*{^}n^_db}vpWXxfby)%-- z%fr#a<1k&1qIE;b%PNiPaiv>Ux3v)9*O6kA&uCenTq*7(x}g{rY0>)WV{cv%2WavB z;A_#BdEV?c8v986(9pbUN_sNv0a*hbq@uT+M|S=%@1j*}c~kBoz}o4zWPQ7mzckZ? zBfQIXDoiO}@Q0^v(kx$1JC8qN9_Yckwa#U`@Rt55*olHQ;o+w@3fegz%_%`fMIk>( zK?WE>Pu4j}S!Hkp*gOfa!B!h8%j?eSkKh97Vc=d;t}EPhOSyC0qtlf{hsoU8`(JM3 z*o$-{VGL&vlb4plVh^`kuX2PHfYs5|qT0Daz{FM^>WB0OIk(Jt2nSZE6fh!`5_Nde zDf>2AHlU61IQ%##w5y9&IYsdd4+eV7-e~pbPvBAQrp<}6>`)}vv?x5Ha7boG4(syR%a1M-t016 zx&2;=Sx)f5^9q_ISqhlLL2JKO$j1V-(P3<}?Q=4>_pz_Or%LYB%j$nW&nMd}PN*$! zI3P)+kavxEP6(_@blITj#+b_8eO__%MxPRSF zsPuDv8hUjIW^lp{_x{#eRlmwB<>5w{^Tyi1IWP*XJD)oJ_T`t%S8xsh;eHxW2=e1OMrYJ{>n z{e)`XSISF9mV?(LLnKi<-)ygNC`*&)?I$Hl)fq*5cjH7)K}edFoVP5dB0Ra5KT}N- z^_cez>90FHpwoFI5fUe^<_Cj>rhdUfJEDUbl{Z07{Ga3R+?70E@mX41uZbI7-L8KW z+F17r_^tiskQNrzte~TE<=scW-w2?U*QUdWxOi1)Pwh#5OmB{Kd}xV>5<^#a(`gC= z&Az4Es))=VH^Q;K?uvPLmzcSQF1Bh&=hfBTPL5;vhswXW(Nb9TMvzJ=JZw?z4LafE zX3kfgZ71jC_ADm>MQZH3i4f2Z5no7*t@nNK+N$+U3XBXPAslzTw9t)JoGp92*x0p6RqMVH~N>!CaZAP22Jl)rawEc|#X zh&5btv+QC`M5&vSiTz@R1(^^%`o>f22MiJ6(NF%4X#ba`sQVvD8l=AVL<-NlC^s_9&-dp!t{se${DoZE?EdjiWd3!3{(h^XtXYl!H-zp$(J2tS;+I3~+DWgosT3 zzmzk^T^%nn^l{{hU{bHRA^SE=QSx%U+$6=}a)jUV3180bgLfet!bgu*gU^u_3VUdA zV@>*YfpH~L0L3LYwldC-^fEOz1Z~%*uH@f1@=JU{E=Be{Ynb~ITR9sWI^HaN@nC+E z%4zxOv!Rle$aG&^T{L@(V$XJpYL-RO*(AjDy~*GCw3kKOCK037R!h_(S>0GH@8NRA47Pw$L1potk3s1a)d=EGIytS@$yI3)(*+=U9zxNr$1}-2JV^uU0Eb*E z+(SKAYJ$C3ve2ya!)Oh%AAwnnK3s^rwweI~Mc$oUv$tFXVV_(-8{u{$Ba4L)^Q0hiz<0a8x;y$YS(NX2aE)=_c@Do@jd9F+v~!9*^$|bwW401y zQJ%1z93`Ok02O9En*2j25cylZyKy9DxM}R^aQf?o2cefS9u0Mho4aNliWl$DX@`rQ zcp{s5LWepT<{|1F(!NdS$Nyx8O2an&J5V~9!^C5!lXPr?o^w?!4q=z;=`M#1x77_7 zInlU~PoK_k%v7<{)?IoorSYyVykDzEa2i1Kf@yDa+I!f=q_|$~uU_D9u*zQ3N%MCO zfwU6gMZ3pbi@?aK7nH3-$-X?8@uX1QixY|4lRNw42W|DjBYJ9A7SMsEBoTTJodEaJ z{kJ3E45DVUAzitUZ+>cFQo!dAe`_`-y&5p#B4VGQc3DoJE=r{gbs$oE>XPs4a~ow0fAyd3R%oA1j44)d zdN^2)WjOR?3?;^j*NvI|b8ggq`{%M)aFn4%`Xh)viTi8}tbk^+Lj zF(ut9v%pUT*`Gf_R0jU1UO3(Xo40W=wr7?(b*>ORXkaA$YZzPL)To}z7Pzll+PyR$ zJjvD1!R#O>cX(*@_2ppB-R1pD1SMq)?nCJ&xqXm3%rZ3oa=+}HUf%CeKMKc-(AxmT$1>}>X1 zg&n+C!SC3zww=r5Nj*NS&c8RQ^y3neBXm*WPua0))VQaq=xl?&RE6Z`GK|Fmd1xci zDdM0ZZXQc$!Y;oaojZeTyAxHG95Y!vQ`ZnhG8bO>V5(ICi;e?d^H;yFiQ612?kMW( zHw>jvE{jT@V6MjC%L79tW0v?tLtOpr#Bytzp@rPp>^gHbr2a75K(t-pKUlh)dueN2 zIzvr?aB|V*i{&YJzxIxo=Ja3fi}Jo7THP;^1ClbWn>}h{_gYDd$S3WpIzZliR)2wa|J?2yfj^t~02i7qerMnbYv7D-SFa*_ zrhHPbMTq}O16u3gw9tpTkr=QDhB5~;Dh5;|b6a~heUq5H(p_R^0IOe6DO#N~2U&>! z(FOjmYqd1_1K8>1-_MSHi7Bf#2i6oxCmAIu8?W*0;*NMaLHkV}9=|f%eMJ6`K%bpG z?)=f;AfMd~B}WJulf1q`%^ibPNXD0$^qIxKNzJj_;0BaM$a&8Ku>-PkO{bZuK$=l(C)g0Vn*P`$4^3 z(hoCdjie_9>aY*WlV#p<@!xYk>zF_&Fn5>iLfsVdZ|O&}c%WBE!3w!=iPd2%rY5D( zY}!Nl&1%GEo@!FczcNE>&S1P-XPA&h3rR|hEUdKOQo<9Czdo!`teD&w^l{nljjHn6 zcozioN_HW%}5qI>@w^HR&`zo~P;@S_e~+^hke09qIO z8*q>*Q<{!7CpM{lnRCbL{OP;rbSdTE0Q+TdoQ?Evu|JV&?Vq~MiS2}IPd|etg$;|v zMbP8DY^({q9Mf;#otL!^>;B^6PY&F&VZ!Ra5lz$Q6;!z1o&FP?&aV9}d+9iTPgJkF!SbusElkna=L3{Oc-6d&-p{I_artEBId1-9Q$Y%>ajjK-wr4>%t$u*t@_)kqs zcytO*wYgAUWP!Obo07@vZ;G93Kaw96SO8PjRabeTzPr!bo3=pqQ_qFQ-a{9=ij908 z!qOaTP+Hk?5253&q1&!K5 zQqzjTg96Drsv$RCMFZ6;mv?WNj>3JmHICypoHwc{mvxc)_}Aj&0AW7Zq46P*9eg=R zX;BCcP7|@>y&v^{eGm!`1BJL68=KZ}Tqv-8uD>(i_3m1)uW9q0FNsO=Fuh#`ls`q5i$V z=SN_USR^2asiHrzBF5ulx223#V$&KuD{@+A78V`-w)e?<4d*G5Kf%iXhqbqiilgn) zg+p*BA-DxdaCaxTyF0<1;561DxHj(Y?(XhRaCdi?ZVt~m>zj3E-g)Qz`Tlj?)vLOC z*Ij#GTdzJ9GkL%C=F4)U9?N^$T2m-&=7c|^+|f^Qfl@B-jgwMgT7l}+put_U6bG`f zmjc+;%&2{5FY4doXfwkl4>f%p0P8b&)QJOT_TuKAKzTkt@6$u6>yb2AF8pd*>>XRi z%*WLi)7{`|mYw{>e5VDy-A6aV&>e1D$BR9!8`Ck&M;rL|YQ*lcdQgKhp=J}*;0Jn; z?hEP><;7E%1ItOihDj$Wxcbq#V%75ivnSm_y{$nR=kgcn*gGAE$n_MsNug&-X%H<| z-`fquleF0bH=k{xR?IaYdtVR!1d2jUDjV#3TWb_#IMBOhP-D8yf^vM)xC+0=%_PCu z8qz!!ueY}+^*#=(-SymPk$QqVUy%@adO}BX0C?Pr%F-~#5v|k73*UInn&Gb{qze4y2n`H`gpVm+@-84z?2t2 zVKlDeA4}YXsV-#LWhnhQsamn-L(;dV5_FD7g6{T~VPaY+x@?!5whuZ)$}ie9Bc99L z7crKY1y)WEU3TK|#7U}4sW=XW=vL7=F7if3MQZxr z%plKJYvz`s;BrVVH?XeIE%YwfD3twE>v%P2gwuq&T%UcxI}$b-1M7fv+4>$ zIaRXGuGCcRrG*~L{N!RcVCCX~?kIP82glHHkm+m9yL2;K#n?p^QIpDjR8&mP3tN%ubz5j(7vy4mmTJ7}&h zHRx|n?}48m7Rc7gOFJjEia(Ky55Z6J$N=tp&$%<7{}%2R7iJE)4S(cUZxP&;DooFW z>{8y1{hi9_vcGu;0qR#9mWB6@p9WamO?U?Bo2ZHuG6mRKQp2iH20Z|q=Ujzpj-kY} z{Dxg0){>KX*&6G{37rgEZ}HGuQ4IWZCzjMB11@1n&aL9$&h6&orhpd^$92HLNluA5 z^L+Oe2Jyi-&tQ7ew8rXQ(oeeQ10u@wJc;TX)6c{&{BVPDlRrqN%b&YAn+y-63?c8V z7h>y|SFxN!pt|a(n12_B3;z*|;XaFfU8d704_ds=4Qm2l+#b!IWC*S2r7Zm1&Ot}B zxIFug#&=y_^-em|zHjrylVgu`^v=E(V%!-yuaoxDrIs0(55Q zYd@n^0|TQ@9nWH4qyk<7w{tYiBG=To0ORqQ@}`6ipG1VicCeUGB;Q}*&?A#|VVV;* zP$TvWxLO4f=jM_Tbti+E+Ir!NUeCUBsN;nshfenktKpO{wI}s>qxMA$n1b#$S)=DI z{|IyMffM{=!hJ&wcc>xY+gi&7>1%1=`^?gPVo$hVn(AV(?cY=aUA+%h{A4_v410 zz)GkYYfuOKar2L#m%oi9e9_L_2CgI&u)O5zI&Gdl159qA9Z!E=C@w|v8W+|Yuj?Ha z7feyuzu`YF<>pFk4wb0HTR-SM#66@tx=L*qUnvZ2dIxTm?{mx`wy=MAyX(4a@U%;C znrPBoK5L5g5l6@KfN?$G&iOVu*6oL$C^bv@cPgTan9H8$d*4kqcJGhNMV5jI-?Svf;p&PMUsCm%jVK^42k(1apRr$^Gh*C@d_kYw*$ zL~~PqOIJVMIpEZ1>Gv$rUp59^s+-akA951U3vM37S%-s2$JL+qZuhtwS5tbL&g>nk z2RT03a#Ef%_l!E#y2Ql%EXVl~Dj;UTFu0PCDU;`Ua%19NquiZ1W00O(B6^w;<|0Fn zUO?b!ZD$Abh9%DFkgyj0>Q`Xf!K5Pu&%C$sl=oTjbgZ}23RmFqYw}P4pA-QZI&U)+ zWc^Kd_x5~e15a$Az&CE;-7xPe#Q0Lp-n&VaBI_+7NVNfdx(MzQEsYZq7_r_Ic#tgg| z{O`!dMRQdSI>fbkSlGz)aSI8Rf5n9OSa$tm(M^2=pPbwhJkx_fQ9x~!+0P}-9dx_p0ls>HoUf}#9d&KOJNefX*wakT=M(ADNUvIn@uSsD4c@$4k-R|}w;VXJVqDMGfAv7a{*;3!!a2V1 z$(hbe<*9@>89QW|lpgmRn61~&(E(8_4~9CLe^Gh)uPXI%Z#FIXmCM3^&I}%Z%RtWz zUwjJ?KY93TPGdSIJR!2|)4OrW1Z34;C}tV5$Vle7kEhgiu9h*Pjd$w!3wd3tO)Cr2 zUI##6Q-J%^(LMdNpmhi*;3fHnc3Ay^G3PI8nM#p{jk)2i z!mm6}f?3zEwwkt6usph7dW}1^jiV>BDboq%7<$5pbI)5;Y}ddm8$)=RO{#87Tdem} zS^A;Qlh=)hElUG7a=2_vB-u)1cWS;Xrdj$rJa=Biw4-&OYtgv$HUQEp-FA?oaM zWv@lC*lQmNQhF3!h57fkcE@^>SN^4 zbpRhG1>c5ZC^A6av(VeX={0x#56QXDD04Kpx)vGQV3`{+Oti$87thH&9aeMm#^WdV zv&HUEwBy*yMnxH~@wCjd@Z`y`z4Vh8-5)LA+#f4H;YA{E2wiTcm56XC9Y_^qR>oZU zQ|iJbqSH0It+q-lr4Oo9CK=qji>ZGeMrDsQ&_>qr5(Dpgij;D}`M2 zRbM5)bzIdwtb5YR@UN@7_K#qt=tUpee7pIwuD!ke84j)H-P01vhb3sfjOgHeAE}>Z z0KQISF=bg#koyS#vx)s01bj8ddv|fQXZTO`W2@M?n{DtY#qfiyxZTE{ra?Y=E6$aJ ze@d-39kd?S+%jM9DuLzLmg}H}l!!(`@H;ETP7<^6wmkowaeW%+yzz2f3M^Zn1<&Ez zO)tsF`}{IpliGehXb7lr9slm`XjbA8du`w&C5KBDN4T7>BbxQyRNa^rm#pRpRbyApF5RpMtbx5)}K<2 zWJRch;z5T^dVf0w^Yv$QZNGn42mv1V5~Jc&SC$(;Ux1$_SWE~0wsh1JK9shKuTwUzKP-HF)BL2sHn72+L6}LG0ew}BxKl<| z=j(FaN%L;dKG9*+71Mlx)yy@ED51IW8p*^}?ib5AF+mYdq#YS~R`D)3nH$;WCFAHh z!QRg4D4tMfIeNmoJ_B|NQ7EMO>TNGZkzFpCTqCpYEmsFd#;uil|Q-A!KneU2KE zI=9HxJu9kw#4tWUr2Dp=^MV`mTyD@PYLGx*Tq^=|%zD*qdF^+xN_V5L zj{q(=Sxu5+F;%Y4GF)4BDdLFV=Eaa;1cMntBetA^xFki?F_4Q&&J2(?njpuSCwBbjoIbi!+fQM; z6DMypjRtQx^-~?jK^DNdn)vINi?uu#nekfmLcW`vRrm4A-QrKLkWZ&kGwk=sXO;a* z4y#&J{1m}nuMy0^$R}2i&dZI0UHprEvxL4*OIrWl2j1DtOd3vu2ZEoi!J~PF6o+== z6OyN^h4b4M1rqi^QSsM}b}F+>&iuFRxX8jbvE>^Z8C_A#$GUJV$(su3cvXm^etf@P zc9fHTqTH?01Abc*hDg3FKUsD&(XqM5dRg){jB6G3(eD}}H><*Xt^2Mwu#ozenxEJY3f3SFN$~}169}f`-CO=$2~;s_V^RVaGg%a4J)*u28NAUwyq;6kzctLtgXqZZz=Fx> zHmVw3R`jQkvqV8qi^uJ8L;(LwG2IF0d32D;Im-IV=uc+s__A#~ZYf?O;GVOG)~SnA z?62M0AjC;d?OXb58tnLAlsbVp)sKbxn_)En)Q9a(@SaEQ-3`Dg4i0mT9N`GQ0W3eE zg8LebQ(BraTHtx~t7!Tu5s$J$4t>-PR6`;1y zRTh@1#TzUAIHkC+c%Um$y0mRBR5w|p&5s2IFy{i`&-%JIT^E{zuJpfrHhtmWfB53o zC}Qwuqw)Q)SEM?->cdgE$OULdE(KS{hho_(%=Z=Mp!r;dwqL2}}2__RFN zlAh2_%n}TiXdn5^)9pJQ49!R*Q?}>FQM`J?!_v5hcIx&I*HrbF4|I(6enEIP4}WB^nHtVE%p{>gtKm(rh9&YqH-!Zi>PmE9D4P;gWMVg9y`=p*4c!S^-Z{*! zx7O&r&>#3vEq986GZ+)>{^Hh0keu!ytD-}wQTs7$JjtNNB%4mV?t@>Kb*`+hx$)~t zy)`HRsOMZ5-_KI)l;V8Ylz53^Hd4%RvYDD3m< zU}GY&o@*jQddu+jLc++a*p122bwBJNMIG?roPV$Oz(>nPE|Xsj^3b?2Hy@F&&j><3 zsc{vdbZgbtI(Xoki$7dU@-cM+fKq8rUWpsKd~{Be{t|gl?%eC^wP7FwX=3{-R(9U| ztph+0{uP>DL%9jd#_$E)HwJuWc)!`uo#y4y zG(hE0n^@9cdB2tGBvYxBjp^1cgvJUYUhCHV&XykuU4vGCM%~j`xW;!B8$2J@b`2)L zb^8UA9#TH;HwtBWJ%yr$07B<7FYJ!~O=nO<2?_ax%n?4OLRL5lW6gYg>ETzMk%JSp zxO1GuE3TH!}zGzHMF^xn@03s)b-b`*PV~7R~a- z67rqDAVU`#%gsK+M>K0cEKvr(rrwD&lg13ad{kFf58EZA%b(2fj~Z8xB(5;RD$kv6 zsdGx@NL$-xB>*>i#)l-Y471bjt#TP?W>waamb8@-nU`K|me z8|{V8ee$f8TaCv(&6Pvf{q7Co5}I$GIz&G!xpx+ID#HXpSIaJy?Iwv8YtB~_F|ap3 ztt*bH*eF{tUu0U&#JN(56|aQ+rpz_{dlS7lu-)UZ+#$Za;|JNE>wxixxH zEsyV%;J0ti<#6PpbD{OD`Eu*`?sO4R&OF)-!*a`8OM^quL9_=IK9%ha9~nVqbIb_~ z1S^|O!{-*XD-tWGtdWy!NcIDdQejNCs#~&?|9vf5co)a-uAyiUM=6%T{Gsre6I~d& zLBc>2&Hzc$JQw4xLy=?JCkx__Em4Ewy#&b1!Lf^j?#tE#y z+LrzPWzpm%5V|r_i`^BiFzA)m_VcIpac+?<>8J%MibU8oN_9St`8;Udph2a9_%A$* z4k7H|?ZxG@72yoO`sz3DojFZeUn1R0P?gSN%?fZogk+#vTEbH8&3#g?C%55v&f6Gl zpgpuRZYQOCHP=Fef5n!wpf>Y+@e5IeJN`65Qi)8(;p5?v`EZr5Yj}?frxEF7TjGvH zy?6(ij>`HMVHIb#?P8I)E-CY&pCaf=qwnmqso@?2t}7Or@jN{0k;q|vIf_IS?ZsSc z#yCIL&41pVV;=gDJ92^$gx zZ3&;{cTG-m6KDLP`(5n@(OOpA+jpBq{$UZ;XdTbN1}l=Lm5OdRna?$5^_l$qI8d=l zvtyn87&(Ap$N7Ew$A0=WGKPlKoL3Kitdc=i(?6H<{nyLcv*#ZP?A27XrMP+EYXJBR zBJ>81G8A^KwAeGRJz7R~o~%}bH;%&f1}x{=W@nrJSvY;a3om?)(UPaQg;_P?NsS%x zS9$aI)zba+jDbz9)ztvL;#c*geWTb>#!kXP(T0U(gO_r9DHqDk@+z(7k$)*^{J-2! ze6mY%#@%k~IPQOnAL)g<_MsldX(gOSWr!aG3mAO6@?x=fjBXTknJ`9@Sd`M1vslAQ z0$Pe@6BS{w;}_T%qEqeX;l58y&RCGIY&>6~qZxkUjUyID?^1g)i0!6ae9+FRPJlOO zMhtB&{MHiH2ggB?3o+*TQ)K1bZq`+28*yLHd=!w`PTvOBbs0?$K*M#fdQVPCmV>Xc zWK72%DMLLGicWPdCiLTaJN`rT)XMghp~X zvI~~qyp$SmYEVck4yI5Tgcxg4ESp2GdoHn;ICuKl=R@w^QwlnoFGo7Ob?f?QxNNFu zL@c_rlesP83hq4f8X?+GIkvKMz3&+eVVz-PJ)y}uLq#sXc%DSkKEg+}-_*!sEkH|r z!1{1p?;Pyg$ec^?T8!A9T2Fmj$i2w-GMc94gYC>hu>Cj4q2@h3X~iw`&HP&%iB|SY;K20T zX)?`7;wy*;32@e9NLi3PdEcn@TA$fijhsmUhl2atxUS$Bjc=Xr9M0*QnsQK#Po|1j zS-)@RaQA;ebm2cnF@}%<+JQO=BM2X$*&9lid-GS3N-J+> zVUx@*5vk^5kl@m53-560|}3I*YHnk-y5(AY_}8EAV2*AN8uH? zH%iN|dKK1btrwP}!_}ugzm_l5ofPG}7=p((z-IU(%b7E9r@#{dX9Jy9+}Uo4x6N)GaH- zO|ZU=$7>3QJjxz_+ui@#$<(P1Fj@RVCGu=dYEHHSn~M69)K4yuaJvV@6&x z(6)=HJdFb{{_7&b{F`j;8+2!aV&eIY=B}fpW(U-mtng~tA@JKAMuH8=hz-Ll z0q!!kz)51yxDtMc=Wmbmz0-}M9zpjob~EjObCkT|%qoA|fjo8q-PuQo9wG~1-jk5d zw}?e4@kXaPfd|@!T(uK8_tnMxWd$4Z3+n9oS2rdO#8N`Xw-qD(4joroSmF16y$pEBNqgu!;7?QEppC>g|;4(;#T z3QEgm`QiY953DLUcNEV{(z&ehXE^RKba7oWNZcb0Ca>i!D}Uo#ub6Cth}`cFmul@+ z3gnZ?-XmxRYc;ZC|Hf?ppNet|o{s=hh1u$nG(2CHj{@%KC1`ENQ)@;wKMj+OM+tT3 ze@o%Wtr)T)w~rlVJal`a$vWi>K=%*#7N=ThyR@VW7akAYlMjf_IB@VGm!)-x?Nr7a zr~66xOHnG8aR&=agL?}f>lBgQNjZ0;^U#^8zVGVPizmNlC3-IYCN_}1Fis><(P~si zv0JN;mdY4JWERsmgJ;b;sfb*Uzw$P$New9Ag^|~bXIEBz?C~V>9wIg~+-UcC<7M3b zx`@HJ3WsP1WOCthIvjrY9RUz*wsr~vnmhE@V}{aj z9`H@wTg2eTD@?Ezx`aiv3NRErNxXRwB=9MTKPT#jwc-S5C=~om9kZ)vO6TUiB%q{R z)*$^VGTxYPF_y$!;{*0MTByuC@0x9pBd}d3Bh0V=wIz%fmhL_PBI%@O=WhJ|?>*}9 zE}g(1rMZy;^Adv`+9Bj1KBL^dW+w8>$-o~Edf10kEJ4rSA2yh(j>t&jDCy-HqA^*; zIt+UXqIE}%_F!Wb7^vBY`i41v`h__ZjxAb6E<>BU^c= zeQCNWS!qpf>P3S-m&lIsD%6i1EkUq--%?QZLJ5K&;-CFC)Y3F>i{%+S9EdiuMaeT* zhUjdR|88Ek4Kibvwe>%;01Q%ukM`xjC*XPd{ zI_l8e@GkTx;oYbllr_%4f-9WO_%irv_T(kwHOEz#7DUN4EI90a0II$`%_2Vj9q^NK<`*o!V_1=P0m=s2iZjL-^DzO zh_6ZBtTJwBPge2`+^ zg;#}wwvhhno^Vg+$lg7QVbA@Tn^1;x(q~4B=drAl$Bf+c^#=&)8!w)S;V6F;aaa^W zkp=T8Tctx&P__TZJkuAXehy#3=NRwt$oi%m;ex#CtxLxDyab3iSvZFeai)IgxakYQ0Tf;#m`R^*A-yjcGjvkSMu62% za41VYc$FWP)x!nPTMmD9dKZx-Lr<~ZPCjQ!3GQ<|LP^g1-0->3M;+QGxPrdvP@yVq zM=wDHp&-ujg#V?g?_Un-g}yTGS|VC$QILOtvDq%-%Q8qo*_0->3#mkQA0qk~!;?Uw z{#-;%zi;vf{le*ER@C$`5Gh-?IGZX;mV{-=CrJZJm7oFZb!kDMTD1u#CDA4Qv3B zfQ;TOqah0c1m<$=5$PK5&Fb+@&;@^H(|pGRBgGw3XA#a<==Dtl8=x~KqGO$>w*~WYsdIK76Dm1{Z^%|1Nx6l99xx(Dn5d8KJi*QKJv#T(wI1EPKH~O zyUwh{rp4hOFscwg5RFk1lWqYbb`HJM zeLY$HhrcH}q^l0r!F^GdE1fst#IKCI5@0< zflgJfW8>AQZ196G0>LP8=-lA%lsjHWWyVU#_H_{fa3yJP6Qq_P^O2qRl;@P|{p+3U z4Ex4BO+k|jaFvpx$b!Yx$TiXu%cFDp4F+(cSJW8GR#yvRY|dZVf^DxUn8o$ee^+C( zh<{}yZ@>QI~kb5c+Nb#LBhB&C^E6{UnT%!YD2psV>M;<+U53klnd z^>b$1tH=~&FrBAr>4y7D-F8Ii-lK~8H!@6no86!9Tz1+G_DvXsMmvwVJSnI+ijunr z_SRh+C8?GFle6^C4o~zj8Q%@KB>BC3DjRV|v^!1=CpDC^n5m071c{|g)H6ds* zs*=d;g?yx@pZc#RH{|mfYW<9cj&g_{l{s^4I>Rp-f&`zFAb-qSK*=vtj6dr3XNhhV zyeY5YG8DzpV)GTVC*!DKajY(31quXLG&CDX-(LZQeUt<{XH-Z(cfH5!iI7`oI1L#i zD%0#&lNZ$AQbSOq<*>kX&$;7VCndK|66#_5Z}_pofqjTMrT*fnAN3;?G~}3i4WAc! z4Yzce5UAW|9abL z_FjhToE~Sx8<5WyH!x}Nt8O!*qCr3HY{k37-yZ2!{ZA*6wJF4~-9F-%f+T-_8pATl z(UzGwYACYZpGbug&;uRZb$>shBmwsdB?qG+~L>qm@ zkJRSwP#%zeCP1UU&#!i--bm$NZVM# zXgOPb?HgMW%~eTeoRKVMVVE$y)FR)hb`rNy)xoj^n;$~BFt5-#KK4$WDICM4f^MSB0Ap2M}<`reB!&scH z;nS;##?4N5SH*t&fJf>Vba~qCKACW-bVd(VXQB4DN1UvULq+^WHI5ZdgvRf$XBpO` zDPie~rwrQ~Gk8tGg{Q6!eKKp}$cND#?!$a>1}S}`AC(pJm#IvwvRPL&GRf3Eb|{&A zELB~+9yCbLpDg?KKN!)LDHc@aCO#w^(=T zBv!&sk5Y+Ggvgh1rO`)G^IgYT4`#NP3HS-1Ihmv=0%rySYY>^eFJURd6&qCIs6m~j*CReRFs;$M~%K#^HrI0zi5~wsTJR7xnyjlJNOr@@n6*T zxKP%dk_5>~uIYI6Xd9j{&;!N_?)2^G)9{D3PY5>7kyjB+NiJsp+p|s}i^`&L*75}SB8&Xu?Z|~suYa;D{=h- z<6CmJN(?J+lwBn0WdeV~E?9ikB@$)UCc*S=b-LSyvg}RzJj#DnszvY)M(>efurN)? z?MUS!>4|{nuo%z;F(&o3vu&(!otLh>+_s&w$2_uhW#8VB0y40I?-u>Xsnyh9C1G=k zLaBD@&)s2l$C4I*^PMR^HxJ412(#Pw*%)N6wp`iEHBLe37_iW(*FfoEd?*Y$I?%fP4GV zDm;;Ume=lS?cBM&eT&op-`(F-{UDnvfsbjbp`>ztn#0E*eB$?OA`S^(%XP4W^J|m~ z)GM+p#5sQ0Q^lTHFT{UkH05A~q~U1X5mYNtm*{oPX0euf$UKP_h%U@0t|XnoD-x#C zd__#4Hpf~}7Ko;vUK7tLvWm3ElO~-O^C)hLqek*35~D*4Nm4-hI~Av>SX^2l&tOo6 z_kFk4`y>oOL9(xH$J|D00ulBgHKg-CwNCu|>Jcuh&fh{w-f=*(1kawDUJ2A~R%zhA z2L`P|LnYTSrT0qD#szt|%3tQT2X?>x=RcW4&?%#^3Nyj_JwN<&BBQQ$BBfhC^DDX0 z5X8lse57BY#MrAc-I|P)n1V1yuF%|lKc`;@&A(A#dP`jB6~6_17YNx%`qY}Rl6gi; zv+@;^A23@Cz3coRI{v?ZEwT_1b_4k2J{*-BU5W9b^IiT{@5Z^^?dP*s1I3*^|Mp4N z7SuqwU0|$~unm#r=g+Gb)sQi%0Y4+u!HiO2V&1uMhAe+3qK~#zO-?wp3XyFvAn|R{ zR1e|t!`|cc0n*-xXTybP>)q{+)@diJ0+KoDixVs6)D${oOXH>369Ka^9!LLi+UZ|U zf0i{4Dtk#B{Kkr^70PO%M5Pfg3s1bz8^BFX!Wz9V9S4O+GkhN+{eeE@o#y}{)*Mwg z*Rs&Q`O%uub4>|&;qsv7f{cMTi#&A9H`d3tLM$w8oYIox`Q5VdQ#EEZ9O|FY#1o%^4Z_J2_y{~S8~6Cq9Un@=4|W!O&U131>D;oOK)tzV0#EdoZZ zV`!`B$v1t}Q@%*yzvq10i{2ypGCShWY3J1^mHX-IGfmL~@7dtzQb1uNn_b@I5pgTz zy*Hmeg5b!hWw4?%#f@j@**=)lyrG!8t=LpyA+}P&31YQMxL!hcbGLgkeLTz&W8bF( z(w|i4*XCcMUlkx?gtJ#Uj*y4O)DW;h2(xD!4PzYmN&3!eZK`yhlk#WFOvU2dv;n-UnPob!3g8X-K*J-<&VTvFU)dw|}0d|@T zo&}%yOkN`U3I^@rARQ=VXPgBmcg3@_i?i$6`*`mUZnjM~`PcA0>dBYHFRX*(#t(>~ z)RB|xVxpOKu2-F5k3)r%gNF8VeM$y0OCr7r>^Ogs$e}FXFgw}Uch&dDnghvcK(CL^ zfni~*&IWkWlL=NwTd#$!S9(hX4}ksF_XH9P^hoOGatrq|8n{*%&#fbyjbq46>%Oe8 zou%1RK>EFV$`Ag>xc$4Jr<`G~g)<6_?+Si#X!q?5+!zr{Y?p&{>ZK{|XPmV;3q8lS zcC0R0W@g!L?jEJgB>}T_@yl~Z#0#?rrfTV93pv`jIZ2LIKGyI@0v+$dxWBH-!RLHLiD#`?`T`Vm$S#o9W8P>%tS3 z;icUsXUBVE%_vV{&Q{bb3RjN0$Yn^YarV&FPA0=dGv!TP(A`ONMD}(e;S9Pa0x+Bv zf2Oj&wIsK*HK}k&Li1A>qS20*GYjk8xB`Z;Wpe4;+qByQ(Wem$wmM)Zm?6FG&lWS z44dA*t#qjz*$O3^4kg4g^WgufC;|T{%JJS4)IFbeF+Mv!#(jrx>&s1EV}9s^PE~8O zmSD*nC?7^Q{mEECIaY&sQbaaW836wo4|OVBf`$us>HnXqE*qoXikNz8dYRM)1oY;wjLdsawgyYz^oGGFH82-@*xU2mi@ zomTqM$bkN3GAa{@P!beU#S|=+z+JizO~1lv^Ch#K1h^IrKVI}C9qzsU3e#RP;KETr zu`>A>q%%FRnpbSP^ag1b1j^mTjwSy4zKr)Rc{v&O?p)Lc+@>LK#Z=MJK9B&%_xe_lQ6Dce%W@0v2oFSbL9_fWvLC%3RYeoHYd;Df0@88xYRXcRaC?T4`D{;=n)<}Fv`kryWXc?fIy#Oe2 zl{7D!iO|;7TYn0R87TJPIhn?{UaX7pXgHqc7?(Ca`sc&Ht|+5g0#Yc@Z_a}(mo0at zz_EN4y#PK1{Xm*dr8Dh4Q-ObA6}8&j0nd9YwOMw;dp@_cZ3$Aaxe?mR&z-kUWa-9z zOAT@p8OcmgG1cDZnMr!JDk{m}F@5XP* zJyZUgyqH<7qQ_R@n9b^qrFE)sVS>zCM)M~B#~Q`wf!@vR)-B>_!~}8q zjB`15H6)bf(4wHbo~w9*U#s~@aVNG3pXDr9pqIYNxwnx8qcSH{gFdQ@j%7lTxfk@G zvbP9BFYy&g>HfG`K@6J_U?0u4)J8yx@9Nk_E-M3vY-eeZH|9HJJ@V6KSNE|eHQmHe z3uP;7R0bi5^eIZaDAD4ywz?i0WB&0O4J@7g{UK&KR$HU6)WoI}sk)8*wz6=~YL80e zR_C<#FTQ9IS-(MP%I7*3L+L#}W2}hrn|n`YD(h7 zrn>G$DADuPZt`l+oyj}j{#Gj#O!WzCNOETsAc!8`J|CC+B~K;ZU)9X0Q|%IkJB|o* zGgW~{vf-kQbP)&8jiyfc0!)#jMnT7@fChuJuazEtkjv(WNx^1z7!mCFdKG~V{~(XU zcJ@!X-nPP7mN0+Rl3hjgjJWS`K8F$w{NdcZDfEp;==Pz^{$5wgMqB5hjcx(Tp0cpy zK4p?=C)h-kR0-Q&M{kD zwyv#`q*^)Lu+c1~2lut9B{MhB67Mb$3>0XgOKk&&n`*KdKsSQT3R*kO1_^=@#_SC z&QuWcoPJ#bUMfDF*;hy?%`Bjv4nl%_QnLK}g&Ks*4dAjdPANsR`-kpT2HANcs#j!Z z?`(1FeUdHNh+YwEg<71?Y3v1`&sa>4P4HgEnqr8q@0LqJr;81?q_`@3Et6^dGWwno z4}mpcc_QB7iZ##Q`gZX*%o)5FSXz1D#n*eci;hy1b^EHR!Ts@6+DQd3{goOYBKVBe zf;nn+q7YZ!29;zV@8?lFevhHmryCO_0fN}VHiS3r=qlxgBHI)*saDssU9h=Nlu7ed z!HENXBZu*9bYnPcH(TBk zQwE8RV=S-ItYVsSw`sJS@`W-geZ7Kt$OIA3(8~muieOD6cu(Q7{Ckx26Y|>KX|$Wf zqlDn2YNvqroZx=9AcaCQ8Do!x`Zh#mUV?t!XT+v6U2tS>-gd2}o&|8M%1ThF-uV9S zw`*%?i}V+UFfg6AcEYe3<=w4pMa_<Xl>Nj6;t#z@A7+#n z11$Mmtb0nW5V_^ekTqH4*+glv9(}xI!lzXi zykR+kxt-PFbRa*|XkhP!bN+p;#Vr=FnaOeX9gp*#8>P?4PzrygP~l;t6?6;D(0aBm zVrn4zVvr`9sUN>+vUa>;9uoAZb_Bzbt6wz3ZxBJP0}}VJ5R8pBH?}lI!C5$Bd#_hg z%}i{THOd4pw%Xet%@rozb*}=hKR<6SRZkja{e^eb!*Ebbd~coao0gD#dw=M4)U$hA z@Wd=a2M+8Z-V243HlF8Ogs3}e?q;c1%I;?5i6`>g=lrhm;Gk1V@8`Q{fW>6r73Nhq zx0)b%NmHbEek+;@nt*c?;jc}_cQ&`dy(jZQYlry4I5#bj*5PCfw~->$zoMAM;?>;Jq(M&KJaQNXKx(T>K6=;`{II zyI3dX9rv}&Er;bgpW~h4UcM`jLn50p@6R?2-aJk_c)e^YWC2%V$t;%2j{>M4?Ku15 zme4f6fJv~djrh;E{^mjzSotkg=5wakj56?!Mv;o-XziRQQzKXijf-)LDAY(y$k^}%TRZ5O>QP**YQ4~*&!gt^+o zSMaZl%&ZTG>#S7$uG5wwyyyw`oXuXg8I5^t_q4wwUMbBjjZn~@%SYw2ABoTP(|S`( zmudZW3WBI94tTe)&RX$8$Y&aNWt7F8(ay*RE-02<~T70IH%LZ zsgx{D^5g9sxQehGg<^wZsBHy3Ar+XvdG(&L_kgn|TuQy%ZQHv5rfH62N%b=kjARP^ zKxo!F5H9IGEAo~W1)|q4a%3F04b8%d4iIS@TA~mriYn^nyI))BZP7di_Xvz zyHMUrsjBi3?CKgvtJ;KWY=jo7?|7s~dO5nA= z2ZWO6Dn@CIzDthta@l*G?fS()Yudd;i7I-Ya3!B7i*+vltllF^R;Zj|?+*fE^;3bp}jRijalU=~ofz zy(e-5Mt0XK&ORhV8ljLK#*8eW$@Xe($|8Qkg=qt%qoxI0zvb9X|87h>Lk!i7pn!o8 zAFec3-kyd4BC%+9^Aq)ZyvA8;GzVX;ux z#oLzmVHC*!J2cou;QxCP(k66VySyNh)e?L#^^>K_}2D-Wydd@x2|7xCor&Ql=*zJ{k`C3cg0K9AL2nz|A(D!S(a;pFr z@ZD~L&Bz`72LgGVe%wD|Zjk;j00%+%zQ-N+4qafxf!aqNdO)6i4ui9fPmmolbeMeg z>sLoj4HJ<2!sjoQ7qDQWz`?o8_8tFbwI^b0I`_n6|D~6HPPp)<8n|%ecQ@T2x83@O zP*mT(cU{k(d&#Nqd^ZNGkCQH4IiV_w#|$hAD#FJ5Uk4VzOiK**$PO6|W&6sbeG!UP zioC|>I=ocz)Y71b1=0V?wp_L)_W1+wq~lML6OMm}3>$hNejK)z2OoYw#yyJ#UNjl& zDe~njz9M_~-$&^iyFBra$K@;E_!3x%A8H3bVI7Y-`dIl4`fp=l=FFGmV;?`)WN}UH zyDrM7^j&t|MXvt(w`AXa_h(TlaG}LD-}$CIHtNw(7cVwk-*(uM@`ca*D<;-!KVz@H zxCq;%5&Zk~?kiva%D>B=@T;Xum&mVwdjn+3?YH`u?XxB1T=u_m#TVgQdzW+r{NwYw@FE%w3HrykuKSLRdD_0) z%UHFN|GfI!b>&h$SAY8&x&NUNN=n;u%+W{7XD|Is%3712fkl)b`}l>iJyrYk8`DWq zrqaO%(iohBF@wiUQ-jMeAA&oimODRV{<&4Br$VkPElXv{o0c`Uzt>(p<=tnTD#x90 zv~&Ff^$Xx{%D<8O++t!b|nw8VJO zRqm4ltE!CWJ*K84&7=mWc}!xOHZHr?qdU!G=l8tFq$g=4J9p_U=U#lSoOJ3*b^Blv z`rv!t`Y)M2)%zfkcQa9^m2m;j7r*``*?x!ZW#ouQ-F}{mG|A{Zi3(rpkPa)49+!>1$zVYpE$e{iAt&!&fpl^Tk+cIk8C=*kTvOGx~ zCqCzbbLFgau($(XI1A=2kO|L*=fl!xo7}bXq!x6`)m$m|28FXe`cXOUJ@09<_WS?- zce(DGjlX4i;;E;~W&ipwSj^L=M(^lRqvV>eezm-SCE?l>*+flDzCej*002M$Nkl2l4AM9COUk z^7+r>8Kn-Umcg#fm8)byJSHKkInInWq^gr;bqEhU9w zqx#i1zvB-E9ssbI)e21bRiLSvERZE~iR*FsCMO9c@t$e|(HrogCG z15GuUnqUnXRaj_DD_>BNa(N|Ezx|S;9pV-PjqyME5R;3=aS~YzYMElwN8P>=ZiHz2V zc?6ne^;i#Gw4rsgT3MAWO*Wep4=-P-3@&Ux@g!SNrtQ}cjT0GL2u&~Q2eQ&k7&+th zox4<*Q;jij29#(YB8re14)vft)~f)P@Nm4hI#MckWVA8+O{MyS7iuRc^r>CS!y1+^c2)cqsTW*gfp4LL+Auq}N5v6J8 z@t9>nv{5+~kVgaMkWm??6Fo5<6f&w~f4l9rlYjfdm*u#(m;Iu5uRaw!kVo*hmn_%# z`tmDtARp@Ib*B9$gkA6%iaTT}f2Cbfjp^^wrHg#~KfWtmNK-HH?eDLD2DQooC2ppKQFas7sfw@|~-`E8qI=)pGxX_d-2vR_rr>0`U9%r~egiLnJ$Q z)N8+1nK~d8f0&RM0?6?VAti+$($T2@lyn)ZjQu2K+RG{IX~qbl|2d$-AKPZXB9E+A zoBSHyJo`=kq4x4CFKbh*ewF&iHnVhtoO;qJaS@O6>u>xfw*Nive3yLslb4xjoh$w0 zKd-u0uKDh@@Q)GTaLmc1ZP2%A} z^PVa5mt<2pAC#gR1(-4Zs2;J_k2CxvZwC8=hwLlY{^!@FeTT~ZyKgU(e=2N=!rn=I!3I#n?dNuF7t~0gcylKojIbk+B+#_mFW3iU~+lTr;Jpuq63V*{+>bhSl*`eEVZ#qh zB%Nd9?Kc7HO7SN(#VJjjMDwp3*HN^lX_}W{0n5f@PCxTZ`NU^G3lQpa9gM{rS7Cw5 zH!i~-;$4C@^Rq+cp5(X(X-{ki!Mq@ zHEHgwGYoIeUUKmz^2#gxp4xag;DDiW&bjAooM|(ZYCo|%7?=s^ydzJ61s}-OV{5=7 zXdb{5p27H-wE;)%sFcd+#TgM-@&WVo_M{{=nuuxAeoF)qeU9Wafd*GlQD4>K7TU?@!l6#Yifk-q zn&p;e-hW3$6C_&DA5pA($f^`{QC{t!KzY=#ODVsSBgJi7O{~mi%)V6_v|votv)*|} zo`A7+0H?J_W6HI2QvWZcb#ajLYi%?Yln2{JqH=QZ zn??Io$wmvc)^=DMLIqhvv_;?H@jB}lKjgruztdwY91oVU{d_=RV?#T&4YcnIflz_G zBaili`h#_j<$;nVKm`7Tj##qiZ1EvWN#uu=F+;##Q$b$o^)DT;gZOpVeOI_MY`wra zi%(v9sVu{Bw0GRWd5$79d8}&A%Y{%gQ-cTZFV}wi+rk}y)4;it>O!8ref!F%Kl5qf zJOjg0{8nDQdbKY8;Vwh}_HS3nr#|&5e7}})Isg3gbrBC`_MLevr zK46uruDPQ3>~YH)AJ0R=zX^DNey8y?z-2S)Q zG+VYWGI7FlvCY*oeipCz;y3WN=Mk<-#$kt%`|rC;9)0v7l}lxq9y8_%`RV`r0gfEn zG2%kuU3TdxXPk*QtwXr+`k%oE(uwsdHqL1=b$e(^d(wJ+`0VrIA|9?vzww5j$@uZl z$bS0`kyB26m-Ok|Usa!X{v~qH-Q@>dw@H1&4je9D`RY}1(FGSGjdGLFdHbl~;US4nMT;i>Jnpmb>8>k39B}*0pN?zkmEaIdIs)iGA7-ISIQw z_3G6}({ty(EWfz%XQ8c$O|_4F2zTH2cbS3RcNmKH3m)`Wfnsu1`++&Jzd=5J;V0uF z9`4HY3;4yvNfV@RpMLUz_nw6#n|kXHiOWBGg^YUgv2f%Uj<&(u%O5-UVpYitcc%K) zuYVznmMoIJ`|Tqa!H>Fk!;dN8eeuUWE{{C^kp2is@#lo@r5Arn-gVj;QBO>0Usv1j zrLWijflvE7q!l_SRlT?rP=Y~;7BlI*6!n`AX()?7EAjmmb&$vPQQpIwX#e{^{(&5X zqX99 z=YA|2c?L)K{p#1(%c7-=;UE3w;`1(qf8bsZeV2UfBKXIn!9UEtRm8;SF1{bvdwLBP*ujmt6L7*%QaOrJ-qwoeqnKa==Jznd~51*-ZYmMjr z&wcUp@+AE4wbItytz_W-gXBx!{E~FV5pQW=D+^m`o6~evg88&O`LL86FqLagn);~U z^%m*JAAU&YzT9}Aa|i5}^pOiLG-L4pJ8rubnp{u04&15c6Q3&<3P1kv!*b`J|D-#% z9F85=-u3?XtH8cEZtMLY`H0;3v!6xpeMD3Z4e!5mSP9F}B26eO4h%sG4B zc?MJrXTk#&6%&|HR20FSIL|ERfLY9-fQTrl1VPClK@>&hd!DMUo_=TFUBE;C^8L18 zr@Je6bB|h98y>De4GHjkNynE;`q&2d7l@(Bcwcu34|LGP z1StI}N0!4yMFp};S?X5{8!HyPFrH05xJlhA>>n7ua!mMIsh3q`s)VC=6YuQ|p8*xs;F25tM*& zT@DIkV8kGS0wREdYSPA{eOEvN3Sdwi4izi%Fk~7q4U&e+Lryf}rIX(@Y*{b!h@b|+GmLw`eBHu+b80YS0S*n#R=?doP=O&WkA^5TI)n+ zDnzR1KeMoHPN*rNV zg^V<73kHw>c`XBk>$hF26+@)*hRY|p6kLB04A)4?;3B+&R^&PExMSlao`rbNaTiwj zObed+vc}RSmQ}9Uns837x+OTDNX3 zS6p#B^f_{d?}R&9I$_!#B;|TcgUlUJc=!YtKh?hKKPh=bJ+}k zB_$Rch``Daft7Y5&p!L?jV0R4Ub%+*$^TXN zJS=Mx4?E0z!{+Oscb*M5s3KRM+dzxmdry=(bANGCsdQzS%yZB|2gYUj_+!hNvw3*; z-FM}P!;g>+v8_P*U>NWmjV>En6YzmtPi3 z-y5%y!EgH4uHXf;^Sk{ezx|3yL;mt9Gt~_fl^j09#0T=YyvK`l*T;N{XW1dG5BUjh zpLy!l)RKa2lX_p<16zL#Rm#^B$6-sX*QDQV1F((FhQbwHxF_pOy!0oe_FHb#MlQPe zs`y1R>u?pmGXEZ1ArZVT%)6ZXMqCP7M}Htwz=Yv`EFP0Lic7r9>&njC@1p2m zfBjW1zxFa2HsV7q)6Y?(M@s)2?$ECXR>g$2c009`L9gH?KHS=O&;8<81>?qlDP6mF zMwl5)k;&hFEu+VblD^m8f@|GI`l4m;J@=JoU*Jn|v(G+u@p+fYrcF0jnf$@(P*{KE z@%AdC{ZZqf%Is(dC}{tnlaoIPq-oaW44tW=L4fiHorcLCD5f3XX`!Bfmi@8gz7+mt zutXX)Xe1pmfzRQ(etqNzY?Y=^PW}1&)&1P_g{v_Y0MDT`O!52!GR1>!-@W&V{o||g zUrCql=Y;-INhVF6B%gl%ne^*@qik4p!_YtWl4o9cE;C1cLFeo_bL1i2@-G*E(%C%4 z;-C04_?@?8=y2=Ts#M!NFfh?w*e^4Dqb4PC!b$e9fl|GD^~0E!{W9Z8^QCRjZpQoOYwyaC z4@z$*lgW9sXicR5&G*XC4@StVFTW|jU{Z<0?YH~~W4MOWx~)x!(=Vb~d5+H~fzFy5wpZ@!<%q|5w-|Z1l&UN}s!L)D;Z* zJGxW5o#d4lUNNj(sPIq0A1#eO!wG#zgYZa_%ONl(o1l@T3;D8d^jF* zu7U|MHpz-B+;C!xk3kA#vDMV_$VQ`{f&bgL+Xa2>K*wmxu-o(Qto{WI1u+uY7-OFE zdtNS0@Bp?Ll+}!E>%H(0dM&J~Nf`g-7jofQXQ8fm;|1C`Sd#toQJ=_lx7{vWm1iTY zy1B=G`^gKOtV5-AFHt^c)@&L0z<;T#6pg5amBpew`ny<)(b)6HmMvQp_HD#v;J_zj zBqk$mwN-OD{D>n8M7G#s^JSjM)22=90@(?8ApRt_=;C;mdP_=5B7KW3wupIV{`t?N zbcHrYa(l1aZoN%D_~3o1Rjam~g&5bZmrV|A*RGv3Yt~Fgj~?wJrP6b;%2HWh1D9g{ z9}yaU?|LkRe8q}9SuA*hYWFV{tTg!G(YH?M`xw(!tjL2H@Y==5g^RO=FO)T)9zPVc z3=Wkco(O{eQihVzokAY{C;*63*Z=SmF*FIZr~x!3+KJ30D39UIR)Tf}QnyD>R3zwf z`{pvZy#1-3ym-m0J;$BP6e+L!rb?q5?x~MXq0B+Ekumsh5mGzO$JFc3to{W#7Z0gh zqX@k=ZseGC2n9nWenr<98G2v{)#9|^2UQWppBtY@x>3#@KJ|D&mKKxXt)>U`?l9! zdtC5XO8?Zg3qAS6*k9=86*5lp>gBJa>9uxL{#r7qU%ILfLyaabYe&P0X{=E5r*$Z=dlXzA{BXBa$8*jX! z+icO+$_n3M7Vckp5)b3bca}QHLh5;@W&P>cE6AjBd0Eo<=X#iL+jcvA$=*3W=pFjO zJNU}|=GeSoDUfm5G%e45R21~&?WaEGX*=!QAx`31`27O8^rEivHns>#Z8Kk3e z4m-;ZJGN7Ie*S5Z^tEtuxBp$|r@mTmh28zLEdG_5Nd6?&)05>!E=UpeG|%?h_#R0*uOU~~ZC-E?b zmtT9SOqu#^#zQ{p%-7G`E2dy{yPi_iI~udlp%2Z-NFFVd384A|-Y~I_EK*i=QOcuSeI#I^!r1D^K`H+^>D~WOs4}2u#K_neAGiS|^C!c#d@-%7GIOgLynPE(BIqYW+ zAqTk?(*At75dQS#I`WmcPdvJ*C$eJih0MY>&( zEf@UU(=W@gp`WM^<=RhTPyg(tjCBx(F^!Gu$$Tq}|Lhrau!_&?vKXuLuWgrWf8vV%vHkfkPj{TB zc{!|XWF;Za$ZjpN@TZ+{?n-IT2?V^<2} zE$}hOyPg7Cj1l{%o_XL7`FuIWla~J@y%>+3_hS+c zClERv>8xqf<+;Znk35aBN>B6+SmskGpt--rQV2!flukU#%K{Ct0$&Q_FxjRb;{P^Q zSnA*Z7EJWSs(K03KwB;gaO=bk@$fnYZp-!Tv(Mpc+ZW|_Ol(SFW3(fG2OYTORtogz zi6@?rDO0A(M<0Ep6M49LX$sA-G=5od&_M^uPFN}G&jJmQ$NuT>G-=A8DsTZalu=kl2_26b z6t65es1B1W=$E_}k{8T2`M`9#g&=_{m=%5LtDMwHs^K$!mJ?i1r}_h0QN_%t&-BKC zlVz*~j5%nk6ZM(hAd}iw6tzK1Qh$p*@cN$?$U_LcRtQHJqim=@huDNTUZyW(VG@bt zaG)&y=zjz%F+~{`xiAhlkHWYaoCTuP5$ZyhsKwfiXwzxFW;Q57C}?*>g&MPf9UYbfnZp{Q!X%c6qDE+ZPAeKT?dJ|+n+)UoJ!=k+(qOqYv?ls2;X zIuTZ~tQ8n{)s^@a1?d6lhEP7I1wSaND8F=qDXyRb0^5ahu0u_Q1H(suG>qhn*I#f` zDR62(*LXCY#*nO9X2$(6aU7|i9weahEE8|GY|1@xPy&9Q>r|&a-p;@&Xr0WE@dP{z z!Ib%D1#d^S7U(JwgtdCCtA3$Gr1$?2|4@IGj|MYEib7E_F;+$=jV%zl!%K1Xi88QD zu$4BPi!s5UMu50z)Odk1jMofh6(u&~t)%s#E)_E$l##j#p%uYkWmoJedEk4j6C}_E z>NE8Oy_%(cmch%cgQ64@n4N&s`j{b9iq9>mMDN>8p=o2o6K~oQ)4-ZFtrmIQS4H!H zKO?d`hj@pWP+b6?Cs7A7G)1!M4~))FwQNT%o1DsO**#+1z(Sk)&kXT5mKd!H_^FBo zl~TP#kd8lQ30f!RRGiu}!OYLlk1~GrVaGucb(sbpEoZzm@0Nhqtf%Hzyq>tE>&-mO zRC@e_a?{KRIIvzxiCHkE{h$3SJO4>z`!gogmc#{u<}Pt;50rH4Ec4r|WibZ{wmkkc zs@l{Q(@UxX?E@9%Bib^??RoQuIO>f3PyI|=K4{n2rFDQFH3XcVuhe6G#57WeX;+J} zqq&^bmAr1>JVTN7V4cucU5D2(s!=&gQi{ApfLr??3&3eiiT5(|gb;ttQNDbri&b15 zd=ihB7vP@j%P$Mxb2zP7%IEXvop)}0hWZ@tD~92tkmUvLK61vHXT(W7uVLHcE?v8p zJBf!jXrE98+Ya*`u*2MN&&x8Oe-Lkf7aH((t_wPIjOZu&X!PFP{s**En34CF68kX&@T-mzq zph1I*e)V_2fd@!aJfJ1K|Ni^f+9`YCp~w|<;5d-ODGv1<${RxEX=%AwJ`B}#ST__wN4k(u>c?E|_58KwtFF5k=C}2FV5GP++3ZW{{@#JzrX`k{og5(L^iU zdHYS+g5wkQ#c`e%*aI>xGru;zq&@l6vz=Y;$JR;HFiC>`lx3gzqVW&PnJ_MdkXRvC zb{bdBp&x`zs@K4ZJJ`|-dADD`L5b4XzrUG0QI)3lISI)p1CieMrd}9a;^hdGxD8c+ zLs~ADcbmMYVBUecoThk`d2_%Uf>ci`;~EO+3BTS|`yG2m8hboG_OT92guBsegyWvfj}T2}jQTW{yu zWazLD@Q|%^{D%&IUrssUH05jFY%5%&Fxww5kv73s-wvF#!&o}F{WsrvO-?xGBt_S( zUaO#Pk3IFUbU)`(UG=BejaTZ#juVeL*;QEGpmTZKUvKA=hZ5;culbnW80yVD`j@$` z#)5t0(T7RIKwtKlz{98ao=4wDT(KkIfORT z=oZw!Mf0uYZ->~+R&EbDaneL-*r1_Gkl*SM6d)<9{%QZ1j;*mMXtJ68H{Tg7CmwUW zDyvn!X7G>2j7NzKX*BHKE2T{P3BjB!V!v4ZO>0^0pVij9@P3iuDWCO~B(DO-N9{ft zfM}PdoR|6BMfD(cE9RRW$(K=FgVBoF-vuj%)T>`d8NQw{S$bX37pq%v1CETlJo~2E zkLKs{*w>1|*5Cedur%4!UZBpHK2vVF`93H$|I4#qSVOby-k5yGk<}=~kc=8I<0&ux zv**~v0E+y=)p~F-^BC#2StJ0aO`oMI%~odnwO8JePNyEDJhf_7N6o^o=u+&bKC7@F ztf9S>OG(UZ=ZHpfc~6xI1^;0xC6q%H$mM7u0(opK(>0g(REg!=pPRISPV_0Gj{Lp) z_eEW>BF?(1b==smq|v60GxNM=xLr?|!9H2mUT1ANwackd*MIN$4_1%im?@1nl~$70 z+h?nS48yirkteDDu=j__30QT9&}{2wQn^xP`3(<`Klx~+O!#uV)UH=Y?z#DH8T9mv z(r(Xo%BKgkQ`DDXL(c4%LOVk3hlDm86<=dzEBs zEc;!zK?9ZfcG4sn`QeAq>b8ic00FDXHEkjrU^PF&EUXSWY5e#=&G>&^{Ih&A>?7G} zx80R*t5(}!^`noA$c}?-rkl*aV#U-?@KAQA-F7RG)k5?MQs`v=#+Q@pgjI6KjU9_V zwyCj!FY{k33w)AlHmmWNlw(ghCFsg(pLJR&Q1Ku(BT`;#AjhX?zaE#m1g!DF1+FHJMfWjS)o))b~q zot745!i0&sOuQr0hwY9lmU8PvPS8qMa{cbRIg#~?FTRL*X1IL4Z+Xq%e*fatnT8G- z;#p1k!2G3`UzS6XZP04hu3f<6g_4pIIqh^CCp+$sPPMg?rt)U1Sdj;jk8$y_99ttI zb4>%DaDM1L&~H4uz^eiFbHYV(<)AVSPu&XfIab;yDtZB-_=3|Fl#+3~mhw7gHFCUZ zqx;!po?rn;oxI|#!LoVbNEL)rW;k9hGy^@sFQpR4GSwS9GAL-7cxDKm+Ev#|Mt2H% zbW9I~SKVZB4EIsNC9N?H#+6^JvcXPtM5~~pQBk2MMxzImG5h8+aKV^W54I{+>yj%R%V}8b>e`% zb5~C9a-0a@=dckV1O0xkFrS?{ELi)KS9y%t>PP+b75`Wxx*36mU_aAG-Bxq0eHwxw ztku)Hl4we-|C^-yuA(5DnDbhhbu~RfDf~0bUeDlb#fm&xb0Jh=j)t`m+D==wVnv>C z{)IEvI#%pY>{@zm;k>YO2PB>oED)5RlgUFF3C~&UkvtNd7dglo7Dwu!a!u3zPY&a= z@oA!iStAGAL=eLD1F4;@8IHQN6ilgR>YxqS*ExkKt6KfxhX(oynt5fss)aaSW0VgV z{T~#o4o(vclk?)F6r0>)J9tqGEfJ7ceZ*;2!(n;jA;q80(C=_&Yt9^2ZfZg?r9(S( z6S6v>%vh68X{KHM2wc=aP)RnVUg&YMq-~@e-~-v4UF$(P#wJeYQ7zUV%xsV}yy=8R zrLlHY7@m`;A3RCTAFG9mgA(MeSoF96E70&g8-X7LOv`Qa+^}JZ(zxx`#EBC%U)JGo zNB#|4ribVA)2GX=x8nKy?|@x)X&3J`zJ|?Sy{?HX%a*6^H+CEVSE1!9>Ao5*xA}FL zGkdmXJ9a!yTC`}PdEUo7{LsVBQju0fpdtbl5m+fBP-Ug`y29xd8iC6$yHvOwwv8AH zRX1+ZM0VL_7iqigwsJX^pv%KfJMARhx}7KMtZOd`oX#K78Z~Rmw%ctdWARY;h$9Zi z3rHV?7}uVA?d9w;2@kA&B2P6;BswrG&;Hh1Z^el`e4x)I0lADHp>^w4a^i`d3YPHO zdh4y_-)Em4ZE^YUKMFX&@?jKhr1|Bs$uXl2)+od=Nl=vP`xV<&UD4w_OlDeLW^i%| zh*5@eDEkB)7MBOYcs7c--qe1YkBrD{yWLKh{8gf;QJ)N#x3S`i%cp$h<-PvLpLm*7 z4KF3ed^Sp6#7ZTut1SB|KFz20Tt|va^KPHGi4(?2^%|H=0XVDk`Eq%WbFm`9Vr>#` z9k$^{8!K(}=#McV|E(bAtH96^f6FGX+|hkx>s2HI(!elumVPO{m!+9t5KitsDw z@8*72@P)vt+!D_P;Dcvp&Yq!s{IY-(JKSH=-+J#2nSS0>Y&A9({Vm+oB^7aAqFkSo z^JT|pY2eUnPM+IuiH*Ckd0})B*YtTxe;4x{TKq7uZ{aG zvfjGuNw?1DXgjlR10MR1)WkKzC-P{0(}pP(0M}KiV7naNgl3JH*`G0cWWnFpvWzn!^(=|Z$8u)hNRhx|fZ{ytPE_RT{Naad&<7HMPEPCBMosh7ko+8yH3GQ{ zX;~@NZ+xcPj+8UrSl06j*3f20A9qBw(Wm$AvKW(i3TtU()0>1V=Z$k2pIM6b%CJuv z*1ul8+S0Mpk){I2-dEqETWY0#lxIJ!U!e@8!ULhCR%y)BJY}<}Mt3yRFj;kH{8wKG zqSa6*_5_Sx^TH$@qgwo@PoJIj=^Fe^HR{sr8yAoC%pqTPJX4b}Or9^4RaG%s9_M=V z_z#2 zv5w)_-(WrAgr#3F2J3mwWjdLE#-jT3oXHq}j;!;bm~`q(y#o-=C}`q(w-WA|v8zGwcs{v`FRaxam0Uw=)e zPnja)zQC9VZ#N6&sjEN$Qd!v_;!+iVPcyr!TzO|>!V|Z4TLt4SZsX+-^o=9a#j?p4 z;!=C1W%9hnu`I_A(SH2+#$o#%wihln{~_9L_0?C$1L&=tq;VOsj34PN!Zx9wemYvV zPUJgx?kpEx*j=}_-f1UWP0N+%zozB(*Q+Pnhfbe9!&zhcRq_Qdk;NwRunw1C+c#Um zEsFl(8Ep~o2ubtsg%V!^X?rqJo|wt}QWOsS51#ZlHDj_~p(@;#r>YvgmSyU4P=puK zlom2!`%MI0jjJ;$GxElpsSbv4VfQ-faFp^Hlf6K4O`ws7wwN)EPV|&K7+ru@U;09s zy_BO26{k{eDBzd?<(FF8QdA(j1xxJ==aE{p{@_-PRKR)=h$t#gl5#7X9gNX_>l__~ zk$8=L>_iSyGcCa`6~tJ92Nlse1x9tv;}_JMH8ld+Ok?VNhDFZh6-oUzf~F|r7J

#I0Wm6W8AeXkQlTl%TqXfHFena(C48ob_lb(2bNC+ty!41# zg3^qnIisZ_%A8hGonfn}mME_ouYbUL{i6>-u|>~a%dF8%tXr_j-vaVm&7nBScx|E` zrv*RghI;8Chkid_NMO5|b>#|PTS7mgKjg!oo{RJaMDJ%&Uy!D0#@6%(`z+A}{RpO9 zw@-u#;u;iV37)b3V8*L<{YTyO&4%#Q%K}oiIf1^K6Kcw|03X=M!gv`3ohT~?2UTZG zs@A#}<4?Ub!k7LmS-W`sRX*Bq{brWRiP6b<>YLGxJ>#{P;`{{wMP+b+EyjrPBANuN zvK#Z1G}_=nxsX`B6lcO9k^x6N6JkA7mt&1FaE2(62O_G;3$Q|~sz|lIW76Unu*tQU&oK?>7$`3mvX=P0<*^JrPytqVXv#642-~3?wv0^av z`8ljQv|{vxf2P%w)K}7|fob5`A6{L*KAQg&q!vp}koKA5!F))mM#2$n)M3Cf z<=9?`lNvUEN%#I|DOtfE>gZ0I57bCK{7>5euLooThDhb3n#74<$8lbNYT-%AkETL@ zr+kzR@mDb-%Ljh!UlSiO5W1b;P0l;_Jbll>a;sLYq*^t5&oL4oQ~0EQ((+KZZXM~^ zv13H{?*03=)M9%ceN6W5q)(qdaY9a1UPk7dZzjt&_&A046@UNxk@65G=kU6?-+uc> ziAj?tYrT#>+HB0iN0V1wbv2qzTPN~WWGW(15rK*btZWg;ex+76&sS1^AAH~e>CmBr z^nk=3DY+Mumv0i9sO5fXq8%qL8kAYXm?rKHPc@4D-*aVD$lgd7?FTjtub!#s1_wKuY%xXL|%8)T?1u1bU-pl#a<$$NVDwF5QmFLa-F0K&c{PcqW z)o&kgKn~Me5ft!Ho0GuCYcTW;BBl- zG*Z?=pWJ+lEu~J~dU&x=IogbVBa_;9pVHJCmxflJzrP=r^^4o??XLstdgvFMqhG9t zNiNG$7Y@e%efqg^JB~rGJug0yrd)Z1$>Cooo+)RY(nStG=x@@t)pqt0VL9W-msbw6 zznfL2@83@S#@R$=V27*lIJ9orwx}#`!4_c~Il|BQdOlybvE#;o1AWr{c7;qG_rIiw zv+40PuXkDT&X-TA&vE%Y%Kr!U*|)l$es+cRBJ@f1n<=^L?B1dAipY679g(ZwvQ=fiM{M&BVDrz40)uhCqN-_hh z@Hn*Hwx!z0+SJ;g51$wPXk)&ge_EXJET#SV7!18akCrc1&M1Yv<;fMJ<#DbzkI$E# zFYjBPFD<8em&@Z^ui;y5hwDXvuQ8d*scG6|vnKM76OU3ZPKvm(=k>B+?tB;1)cEtZ zSkB{Iv*BB`ZXvtvx4Y`#*u3A>ef0&8bLI7Jupxf;1AI5@yPW>a*3`*UoejUE8^n6e zn=?;l#z{Qpoii5NOiP*G()Do~)4#@F4Ln?Jz5VuDtsn6<eVa7o0l!C z>^jR!xy1XA!7uW08Tek;^pb!5>tAx^l~=?E@1$`#{O`a2p4nxB{POv&uB9V2(l<=SmeN`Fa05-eKZgYM5!axg)UK(wHwha z0o2#bh9Lvm3n9(8(8pDwX{6@NE^wj#io-!)_S3pEWr~!SMFovrMl`&&v$GfEn>UUD$g7l%$C1i zrzZ9>ozxMTsTiQ=KT@re84467Q&d$VQGY_g+fl6rpHv_STbG4Rot;7?uF*;h@elP^ z`5+SwsVy8pRMjz7W{B);0V|Q&{RV|HAxIh{4;Tn6o8Od-Mv>R>1dP|raK@MMasmX6 zSY6ayV5Dx zbVVLhXxiBDkPiZhX<*G7amwTI*D??IGotoKi+6}g;u6o3r~?_ABH8o@M(3wmwxgC! zPGz<19x-lU!5?cy5dyERJZe?IuXq$xiUrq6A1FZ3I++II)RqZme#XAz{OH4ugAnCR z1CN$NMzj2_GXP$*o|<2F{+o;*U2o=LrqbiD3cU_l{mJMNB8#e`e;TM@1IXV?a%`La|my(haytmm*dg7g)!=OPg zdA3x_K5*{2=Vs5Uo_|5N+AYPn42W&FZ5!W-zJslMM~?giJ0q+mTjIlgt_bSeXBAWR z$}6vGd`Ua8Qzv=!u}5XVeFLQVR`&7IS6_Xl_b}Zrx=`N@a$?dI*uHt*ym`gcRp2Tj zP!WNO2&_~QsIpRd`~QKnzSWg~dB=$_D-zO4JZ@`g`X77rQB0)ySzdnmCHeT{k#V97 zx5Da)rOi1*m#_`KxcnG1bR9Somk%2W)3J>CMcpqJ{%AUEzWL^|=9+72@t@&K!#nT1 zL%7Nh;eZ1U)Gq?Hu#5*zGP>vPd*qZ;Pf>||G3)l7ciz!0w9dv#Jic`oCldAV-+vjk z{ysJx(%HB+yRoGzj-wo3OtlJv5XNGWg=NR3DH(ihX5o$^F#~=d?EY^1LD_D5>=)JY z2K3dJpOXjfzf%@|zo4L=RVuG44I4LA-bGl+f|GihO#K6QonN^954VjPCrx8DXwukr zqsCT)9ouSlY&L3a+qP}nwvD~_e}B(&&Uk+BV2yj+W2|ema91W7iC@tbnYV%5H^{nP)1*a)|}qnu3WOM zTUt;DE$pgvpJIa_2uDIFf`=&-`1RxTe5cl;k3O0=SS`*7jbarVmNjZ$UY7A{x@wOf zUDS=IC7>=g;pz#!H)D7$lhP~oc3&{PlX=wC_Pi1n_f`%1khL{!$>2wGKVRLhEGy*M zkZWjrp`N%d2JssB9$0AFj1fEdg#IBM=hLmzr_H7bASTLEh)lKAkP~5zMn9e}&SRgr z^We$)x8m^P`CA?s`bSf}{q8{J)FFKs>~Rs&*-$_yxwR@P&1`Vhhemsrd!GD=s{W2kf3}X zTF_-D$8+2$FTxyuW;EZkVh;(X)@iijaM}%<+1I|8SkQt;gOdkoVf#!1joDB=;nnS$ z-J&O(N;m~6`8p6_m$4kD*A;^Pruur{DO2bfaraeGQ$c*7&l}-)+m{}MyD33X={oQX z<`(21G^$b#Mj)w8Vz;XS&eu$NC*N;0cY0ofKLhQ%v0AZDZWp%_7Amz>o{zeD*PTJS ztovSsa|~ARTpOpt3daA(0%)(X#`a7Xvh(v~|B4lPEqZLj?mF(a;*|Ahd3Xik*Oc&L zh3AyWmPJl5j^t2JLS_=cT4Sv!;8!V{{OlDhZU?XvHwkOSzcPXUW1a%1&b&uz-o-+7 zY~A^Qb9((`4r42j5IsSFr{U64Z?&#`RP!-<^cXX*V3lg&U%0X*k0AjikLlYIaE0=f zwoE-XlS`LuZzw8`n#ApAC!WBffq9Gorp$MWu{?1{ukdx;6Rto~pwiB+Rn)SYb~qVGnMk^goa z)E1>%Yh{lj7!wCHZIIOF@#$Ck49lziT(md*m4@@05AEt}8s1 zwP$~q0Dp){s?9*NH*~xU#~wvess3GB|Jn7;_X~^^ zOm-Q6an&exdt;!tm`_ZNw|M6?xEmk+J-g#W>Oc=mVG1@342W55K4Y{ry!&*<0Fal( znS#(eUBNQT8=Ha@TRVYxzmTq|l8pz;iNg;bzac$Hm|DP(D{YvIxGB;js5wJs35S6> z%f6kFs4rcWqAY|ODaHO?3_XA1zuklnZph;*yCLf|zY50&;zdqF7-WBthp%oiWG-Sd zSi0NR?Cqq7W<#fw^Ei}R5V|2EDV$=tX6%r=1x{D*Gh01M9so)R*iF_o`yoeF$bU`r zc?l)=!~dgPw1Z=Iah-0JB%9Iv3@_v|ze%QBQboBxXMHh7e3-UMG7MD}ypWGlmc3qp zUHHBr2~eL7=g;yHl(22Tq2hTvpFAbp8rkrA(!JTlvOP9VZel4Zq~ET@7t{*oe><<^ zqS|ARCtI#P^+O=hsr=(Hk!mt!_#z@G#A+Ux!G)CBflB%@%PyWqvw{Q8`-8)l??=b; znju;U6g7Z10_|>&KdWlf6S}VYy>R`s=}{&BHCz@uCH%AMe~T142UzvjF#fj7Mmnlg zYl^xW1ab|p9d%jce<6uJ1C2L`oOJH2Q&%bdeb4qQHsFJu5K`}$AyN;1`TZ5<7yr07 zE5`-W5Iqfm3Nw^~HzhQrk>K-z|Mi%n7ABGSNkj~~SlmBMdmFj*SdL&5G;ZGwrwanS zgJQGyT%rbUx0~7J;4OK*^JKN0qlibY?pfXL_B9`6QyB-q_a`bf%F>TPjB;PN{Y=nh zi;ML-a2g+Zhdhy5E$53%oNp^?22*SMuiCJDPr3%i(%?mpwL+R2>(%{iOzt4nDmwA)XiFeJ%*8vM^*Tlr+=Y_r1 zX(s=lOG^ev=i=N_)**$FTytHne6BIJ08xrAg3_6?WkkcZao2vlO!U)M17y2jaCZyR`d*Xk`_K9!s)U#jE}cT>djrYk?OWU5 zI9T1sf28;$il?cTF-FRy>d$ubGE&W%$*Q%4e#UQ#9h%FkHIJGqs_e7Ht;k!sC;_-4 z*=o$Gh}wKFlBS;v{~KY8!45U=-d; zh53C56ezcMvK)$&Lj#?qrd7pVRZ9~Dbf=2xlYOJ7X#+ELg8vcKPkrR|3)c42S?QpD z9WsA$UHw{83Cc65^vSlP9!$;%m#XJ=py$=cU$lTga~;3AN!xTc1(a!wY}BL*r~3P| zS*H?G9S?#8u5%yx@gG_u(RCIRfIM;~IsmF<%w|FoL)e_>?Vmxy;-yov>vRle9V#8D z{GPr><9}&>`sJ>wZ1jA?=o<3A;N|cSA!pF$iUv+yziybW;W%!=aQ#YRb2n5zTvmQ8 z^5i3qL$3`hXB<=egwAiQP@>k>nm+e}^q{pCi|*PkeeLli@W&NXj%Fx~?S0Lqi8y~O zMWBXu%X&Jo0z6kZS?^|%jilO_MBq5_uu*Vlku>_NTyS4LMaX0bGMrbNw5EVc6u7{^ zeZs&FJA0JnEr-VANm~9>1B)rYY?y;fhcZths)sgmuG+?gquf@*UyW!fYEm}MU#;Yy zyi%ptssS5cvlf$wv?tPlvCg8((Nt0x)Mk2c!`pSotlRU5{`w}O^cJDe{!J(kwS3?c zfwwE~8)b>o(4bnD!KbOcC&5DWM-@S62*8mAk_%_tzDc&>93f{Cm%5;Ww(=P(@OjC7 zi1W7l0+LWf;>J3=q)q)sY?8H@B*c?3`3^(%%5DG9S?hMv26Lv*6#pr>Rppo4or|Bo zc~WT{_^4zqx18eV?|EjhdnaI_K{G%?2&3-!QM_(%l&F!qB z>3~<(o(JNOJR0wfh-IGmw3+yH3*9D1UzBCVbKLmJvuuy@dH%=@fj-=@%j#T1%?Ede zDWd1QLdQ+4bK}Ukdh!{)The;xk~Qy7%c`W-8f{eWN&hVsUNi1_p(Q#uVATskOz0ZE zT5yZ+=tIWtS)^xikTWfD;4%TPdpN57omk&t{EQ}LlgW|XzW~X$*;(|sEP@?$v!#ZM zVYNaPspc?!9Hl;GS&k%!QGWk;U5xQV6+$?bo?Z9VP9DlmWE7#3j-;YuPwPN4ngKu& zo!FG_U$gkk(<~#?_0gt5=YPn#;fxo-P<$kui?Rs3D)wuEGBt|@3QE;beFmxxZ$qVU zv;BSaW~*8r!qitQqs`vs6095{*raSx)NF5a>pAU|g`VWsvhMUzFju2#OZdK(kSEV@Qu6)!n>64D&BS;Ququ$B{g1h$ zek&W#kG#jbFuJvZL$wQ^1(VHSL*`66m!<|x>Mne(D=xyxa@4>oT4Y_5DM4Me@VB*? z1kFD`)kr|mRFNiEhYUR2Mo)u=TxLBKsY7_(`W~Xs3mK_GI&~Jm}Lsom_2$aGH-@-!;{Sa!nuR!TP2&c;@5P zXw}8+(!O2#;v|{*lwaBp!`d-N`2|7jn@++&Gx@`h_BvP0=yaumx5E^A^r@GPZ?+`DOo&W1amB#)r zbs7!HW?MZodT{}B^d~C6pZ@irj3SO;`U&Z+&ZWM4-<0B)L00Oyb>husMg(iVqC=o| z7-aQRt<*_K0+>+3Qvx z_G~|}=KTyidz0x{En$qu&*vd>+MWq-ILlwSG#Dl^akKjE>#*;YgM%5$GM&+fdkS^= zlJEpq&ID0(A%Xx_kDL~@h{f5;KE2z;G$!#Br~wAMd4P$xC1buQPvUq#g!s=UHq)JS ze38pqM&QBICQ#rR>lE>AuF#Y2Y3ok}8tu}MG*yG;Qc~hFd>Gabx4rA=JO%$r16J>K zT=7$7ey{+eh!<^*V1y#64q^BL0$qW*S20KbM+&2rmW@nD*&&~liuKsm%3fD(0j3M` zyJ~WT7n^*Be^8w1vTS+f?M-NoW{1JQ`3ep43%+xPGW`!NtCnSBBalH2VlKrN^KF1sBhOv z_$tmU_BPddpWptpvsSxWS|;-lY4t0DL0cMC_6Nm$iJHRXv2)}7u`V}aXg#_R33-U? zI_VlFs2Jw)bis1iw(Xn@;mU)%64x!v54!3o%A_lD7J#a254hp+pQ<2sk0&LwE*^P~ ztG(3kF)vG7)k!RFKCi&o`%{mgdwvM5Y-2Ukr_`PFT>wjRa2S8Q)7yX>l0CGBu{((_ zzsZXdxUvA`$umYu4@tJip_{qMH2qT0V9cNBJI&1CSL#eznmD=VW0!7JV-q?joeI^Af4I*CHW@ z!*B1s(CXQPal?W}T;)*~JvH%~oYBA4tM@9B zSO51Saq|e&#Xi{dV8`*BkP&F&q_kAKY2)|fW>E)<`_4q}gU{`a$nv69F{6e~-s0eL zrGrdK*oaVI>x0!86esg9V)CqG`~kAvfmyqCN$f&M2Y#F{)s`4k97z($cGb2Y3`3RRRRf9XT+x%q^wrJ zl~bXMw36E_@28r#V`;vI87^(ZHcsL?gLT(=8p*NZXo(Xf0o5^3JLpk11vczA$x&>GE`R2O(;(dgzR;#n2v%wC1VmU4DO-s6WQQ*qRbIm~rkT`kyBy5jExyGAKSKJGTR4b{@`-fs!Z-Ne~hOGL(hB=zr$TSUV&2`V1S9*><>oSh*O` z=r5OHjpeB>&r8Z$n3WlL*JmNMQC~^oIQ;VR^J%ZcFt*k0d7ku<^!=qHqOmIx%j+Ir zc#gj~V*Ja<7qJ7|rKZ<>7jiaia+5Ty<1(I{LSdHA z*7R=gDRr(W;8tEE<%Y$MWv1dJiRam@0*pV*&!CTrJs0L`O3u-E8TC1x_#4Y?dLA^k z+IXob=G6tSY9EP_AC}?@!@zY zKUm+xm{T~?zZ}J=V+z+}`giIJ$Tlm}o zK!TPB-ey8wM|Tx<5MX>nl6VAY8(I2#0n17<_lx@Fe?%N#+3sYbhZ%7b^1QVf6f_Ze zd^hD?{7Cu3n$!RyW2~;Pi0{h!(E^X%jU7ce2fJ_c+O{3yt?zBfRIS$nk``{KBSp?! zD7JZHPkw9q4O6Mh1gVNmdb;J0PMm|_f~={eMM}3LmFG$Q)q0CouWMu3K?}uM;m5%a zmMa7GKBNO(=Gdcrd1{j@dH3Sr>PFdfdmcdHBOsd+FBif zdnmm%4uRD3$EC!-)8b)`|DR#@nNCu_AY+&fO2seHs)P3yN*abIR86R8+(ZIYR#o7> z_Mr*MzTTfuK*=?G0G`L%T&lbBP$_;QJPw;x)n;NGjZH1Pj)y>PtDBw7zTGTb4|SjB z4rcFnw<)m2$$W`Qfln70%7`;iOV9_hcmDAFz-9|Uf#zOd7y_89k-p2N=Lhj`gqiG+ z#jn?|m{%wco~MayZWkOJG(g6ftk(v3h4rfS89S#*$+Pr-_QT=oMl3j=myK|05+7ak zBoF5Wj7q~{X?XWrQl_J@JM3y4Vnji;`f6vMrXuS(caMRKjw`ZT@AT@}1(V0~liT;Y zXbB!u%Y{<9jn=1L-1mkDgKM(o%#+~FB=}5r)0E6|1~KlE;Zq9DoQQ{)4-fd^uR3vM z=p=(foL?=1!oC+}0R2|qvE%qJJI<({--C&6p7ujQbur3HZJeazbeLN&5Fy;gs7SnBpF zs~tOZadg3*Ii7#;7JOG!^UbbPHr-;_ic)Z(z;j;jmy^f-X!i^M#E(R$_9A(+6h(82 zJGLpiuW?e*lSdZPMx9??7qwGc86GS0(0G)icy_Z!+r82*@LMOiBTE~D5e9`cioVSdo9S?VSHiDNe2Hl;zrmZm*A(2nxfdn%h1Is@FT%D&t)qXO z!v^ZPdspAL?&8>pHVGZK^vpgrjyZpFlFDN)AXQnE>5&cs3}zc5V47G+A> zCeRe8W_}Sr%6ZF*ZE@-fv5j_5e0#6EaXgRJ-CxE+>$9VM%S+u=YFv z^K$6lOHJaeE0zmf zi7Jy5B-3&vLQ-e~gM*CsV$}9eFf=nBsC7dyxR*2b7^*aU7u~+yZ8hff4W1!~zg3w`?FS6TB z^6USUWiN;yaWf8O840}lGmw?~sTh%DU0Mr>J6v#Rh^AGZe6n$L-AB=vJwzIE@YmFZ z@dCN2-%-DfS8~x?LKlG!nRmQT+G(FoCGqcR*9sFun^>vA>>15b#u2Rv>*YsuRCL)e zSq(3m9xoGW&kU*L07P;H99dzhvtoMJU+2`C6F7t46$T!gH4z`r^T1>wq(1HJL%698 z*L;&!xHdj~CsxmmjqIDfR4tAV8F+Qs(pSXx5Me&#Ym?IfFrC;B!quDJEj2)9DY9v^(FVRGBsC02J52K4(NlviRo9l*0)k?y z{=2K;vN)LOAM5_X)1mUYSx*PCVDxI%kfZPRXznn*lV}5wP5$i;z`-%VJ6Xp}d*ZM~aEk4vH_{}=u-)mr0P$iS`+-3#P7<6B&K|v*M79a3ABANXI!g_L; ztk6FbhpWP;of90#An%GqD`iyHXKThA{(QXT&or6ifd9@Q-YQ9~Yv+ zrv(8=To}Q93E^=5w|VFx-eorhD8E)Xx`8WbQE&(@iYdK)x)nkrHnE{Jb;mah$^266Q>_f zN!h4Qp-C1)zrHJ-Sf7XQz~39#FDS2XO;F(1io+0b^=XmUhiAIR`;HPj0C4YtYd;Vx zDoM23g)v7Y06zKNF(}>P6@PUxTo$dW3+%33dvqsh)V@_?Bsp-^JQt;`tW1tYCHrHW zPW_k0KG0%X#&Lq(tNQ;V@zFN!94Bvvofuc zhJ6yKLAZyeZr2Ypk_Uie-A4#32tfTm(~PID+W@x4wuubLQMAVGW-3+>wQQSvoWW?Y zat=~_|8kU-6elkzwK$}FgBC3$h{4q_DC~Sr8h84kEZ#Co5s}ENAUluc8~^u6AXI$k z_cK8te#liU<~z{ee5cuWKpnU!R-GPeA5$J3g|t+4>HIO$CeL@xc&*;))Q3wo-W|08 zd5kOpjB0~tM|2U{3US9^p0)_6Z|5s@t3sn~msCa#+mcJ-4i>#NjCN&&7?#SmiiMlV zBS_lO=94~+bxEDPHtV)i_Hn`u5l2@!JWPu3XY#!cpH&H~J4DPAL4tVY$}Co~L5-|BL&=TBNK)u*U#*X_?ZSoPk-O&@UYBig_o zR_VhkP3j<7?&_9G*-`Ztp#HX3?RWJ$i<$O>f6~)TRNibNcO|l^)UgLjMiQfKqVQvr zYkw5Mt;bW0Wuf~qqf-M*hYQscgc{1fy&e{7o~{%S%@TFZE?kTZF57wFTz)_IJvk16 zKnasl6z4`dC873Hax49PBgaq9oDEg7JBmnI-~L(Cyu_Q9675;Es0%v_DyV=Bfk$`j zQ+sX-D(=8$!+O=lyUC-HJpq^Yg05YzJ+L2ojvYszF+rOBOtm0Ym=~MW=^nqpSGxIp z`|ixQf&qWe5aP9g+w&{avF54@ABlWZqzj+u3MSh&2xGzi+mLVC<=@=6BJYSo`;}0} z1g%fwHjoyT%hpX>*%k)PobGF!*drfZ4vAs6rZMQ-0n_-~Smq~s z&&3d~k5Xm#EFKtQfda_Vhb-o`z9t&_bUZAEVSVl-;!|=5 z07E*9a~Ye2EcZ2mcMa(IeI$Ivi1PCIg7+#FlE6o;D{rn%CK!@NZ?!HF8?Wjn`UeO$ z7UoskokKgyhV1VKn@U$gF57QdgE^${=noL%XFTB91KF(ipEOymE)nA6bd&^~JHs2H z!o3{juKcK1X3RKmu*a544avYM1oTdtFLWxm4g0m@Flb~O9j#sJhF><58(UISC-`xy zJue@aQUFb#evxEGO;i}G9CNT(abP@vHh|8>GaWdz#9ubYPkAsoluXKARvV!w@uJ!@ z!gQuEYi0KK6Q+HQ8zJ!+bkJNeu{qc=h)C2v1wegw@~tap(_UZu5K-pM8Y9-YX4TDYq_S<=q zG0Ik11%g-)F&%r?sw`o)0N+) z)58(tC_+#WAEaywfpcttCZGEE*7eD{_-NBV8!mA*h*Y8fsywwuF%ySdr98&fv|^2> zxG5@0#3~tn+vfRF~QKn{KhlhPj0AL=0uE`GFAP z6ow}p1T=uRZ%dug{HD3w@&mY8ICTZfAt@i-Vm$j`&`Yf^;G1!0bsXMid>s>PoBn1V zJTvoTe0UgVoBEYS$bHlP&z|rSOM#!oNaAvs0zx&$8e1fIdG@p=L|FA+ZJ*;TSXL*S z`Hq^H;-kpe)m}7jH~sDOFh7T($y&YIQ-FF0^aO^CB2RUFSWR>j-Vzo{-A$?^)L7Gu z;(1K|F?IG#y*&AMy458OC2Ri{%PqZM&07QY36SpDKrWnjl|f~Jq{r1l5|Fth8&7S@ zIv3vS2kF_EG?ZG)1-C+oYb87izDj%3{TIy3c) z5Qq&Wdwz;0biw}Lijcu)x1Tp6cwtM+`zTXJh2NJ8{PE}(VLJcOFhj|nUD=yDiWJ+( ze@j5J>yC_7<@0uVtl_M-nC5>WBO&oRltW3w(%a1~7*Mb$`zZdm|LF*EIAlfa_7id7 zhAKS)#X+w6?|3X7Y6heBWP0vG`37U|_#-rKYnD1I;O99fOzC=1L;5jtFT32E>}N~B z8X8=e$nYWrKIjFQ~G|XYRAy|4RG@vSvir?N!mfYpV)W{$~wJ z4yrcy#OH`_nDP*gU41~FQ6;B9_H7scFv^O*)bp=W8-r0~JJq>$ViGGI*vP=wz`lnmNT~Id5Nr1%$?Jb-m1FCICAb zwpW{)4!kzb+bsuIY0JE2eU-%Xeo*jO0$*&%ldKM6z2yRGf={>aN9EaSO8MOv=lP=E zfp6Y@qc7`^e~8yfNrTZXNPzoFHw$8F)w}-_(@_=MW+L%B*EnUmJf2;D!`D{jf7y?V zg))h_!d|-EgX4hBc19s+#DQ2&%H4JpoxKn(NV0-~xa@98)JlmL3n5oVe_z#uV6ehf z$6KXmR23mHj?rOdU$hYTSWC+&lEVl*HGbZ(lnEE-X8!iP$9LNJ)hC#=U1|!A zaKaxpLzm??q#6{vbvK|~Jcq)^S`xMQhrCV(v$iIusZR!J_NaI&87N6aXyKOw)`5MlGFPSY+yz zpSNf7Mkg5fLbRsiIT@}zqcqrm>AAMkN)ovvCR64Y1#PsYZmO zg}{sQxJ{wkZm`dNNm|0HON9_d)(wLXs4J8E`{{cAtHiW=BM3*+>o^(fT!ul=x*Z2A z1BVIhl5*knb9Oh2$Ge=;<7!LKa-pQMQ4)oa;SfQ)()tZ2$&)xtPJ3Ot>*}~whZo@5 zULfH@qJRuctcqWXWzzU(njGU~E~(uR1W4Z4JX3$cwuyOgtK+s>rQgwTH31Dsn8AC^ zzBD)dK6J8p!=GT_jV?+q=eM*@&Zf{zDQb;e@m~av=-s2H85+9wbjc1;aa7n%cL3{b z#4~?xjtc@mM~&PuXs6t+q!_o}nlu^Ed`cSTt}3Fb+WYUHAoR|nDA(0WO1kllwHuv? z=I=__5Y$+5FmJY)BWEr2iTmw6AuQV$&VMjw3by@{C{sk7lo5tVv}qS!a2Zz!#b73- zN81jmRM~Z=TNvxKgM)0;eh1$is2ipWi)}u>T}F6YU`W%u1brf}*eS)pbACzL(0Sg5E3r3wYOnF(X&^EB1uqx}( zw(BT}bJI-a2iB(l(c{tz9TA|3FYrKnMLR%1d5&HO4rSb)(p5=A`-@eSfNvK~Cf>Em zsvmD4+1a20K)mLW64UvaeIsTJCMjD=Q8;!2Mv?7 zxDx28xf{??6!l2O;o92_Xr}NN%EdQ5G{YK;zZJ{R= zTSD6T)n?4zvBQd?$Nf=(T`O74u++D9pADFoO=NBQUycTgcAlcm=bMjTG5HTWMi#S+ z#MPq3ad;pi+=Xp%AaX24z+%rnTif)(g~FH5P-{#<1`P*-9u79UEB?&&;^d^EC%*)Z zI#sp>GlJjY`b;XtPiar8i+)9MjgeQ@%ir?v;r{1J`Gh}T(sACii*w)keyT~Ku>M+R z`Y%Lt^}ivS-J#HJb?ieGZ*nxbA$L)Ht%mWxZ+`SHSkLsOA5=5(b|(_$?7pE%cTYKG zoW>8Wt@y~-%bO0n#m~U5n@-DxXC+xOOskQ9wtDiHUsI3xbp;^<=Rit4*^_CMzlMh+ zw&&!#=p&0=R+ERmiltysM#dtbtiQf9{_>!lH(Nw-JPd{gXo4fresUQZ-xQR;X4`xu z!sI5Hd}uaQ7=hU`%J}BTshGt^Jx)rSt9)H5AO7iULGn0Lp08TviZ<4Wg4ja_+53(b-s3_q&%?$ z{5P%Czo8uTLMW59E~r+Mtz4S)dG=b3lag*R+O;8sth zm9lVTU9NiPmS%=6hpAlETFJ9FVW4inDtzLpatW5 z%8ZYLefChBGTN<0O19vf?3xfwjQTwR*(+qcrxO@VekM|OT$Uo9C&58$<~oi`-i-<$ z!T5{}opyLW!=WY4a=KWi+6Gtndm)#nu$lHRuw;bLUGU$CJ!S^bnKPoJkaF_ZE>#8` z-O2dTs;Ng3ZSCNH%*w(EfF^In?^CT3A(J=DM$vJJ%jyxrKFz2%g=w~>Cf>(BCk07{ zhSO=yNkDCqq0=VVPJrcfw%;Kg+W$dE6F(cRsME*H&vQMDoqrKPTe_a}}EY8oTMv5y?Yu{yn#Q;}ZrnYI-i zRycao2;1JtKAiRnlXa84W${|_zj&c@L;*lZd!*oNAClO!exqVRbUD9EX_AfNVSzCv zyo4c-;&{<~tdyJHP!#3I29*Dzks8rej+4|3K0zN8qk0Ar6_$ifhH+BkL+a8(kowPnl1e{@ zp;L2#$X&^}Bkx+YcUoP$R3arxaCzRU{cxo~h47ph>p5w#S-cz0C z+J`>fr_AL$gl)jqThwHD1`Ec7{Bw^q&O>F<`qaJf$NT+cNEX+=1fbXSu(T#D&-==r zu(Q)c4R6dE=4B$>qWLE26OcGBU-Q~l**tF-0f<--0*df=YYA(pC60-i~Xir+(_76%^%i1zSoE;lPx3knP)x#dFcux zb=G%}hAq)MNb5HJ%WsV;L>w1GUXl9>Z*t-GZ%yP&%gSC!#4tgt6@w*C%Yit_Q>;HVOgxZ$}{ z9BYc)aUN~yG~=&>N^R5{>-*ve{38Qzn#Zm*0f6`Kd#pxOE#1@kgTVIPM-6QTkK=Ao zD=6LGHI;n-tc$ae#>K}}Upu#3e|%@Sb;oDswJMeWJh^C1D`;y0k^?>~kJ#${z*acn zr`tw*vUExb4k%w&cFnvx zE}EDPak`y?sSnC#0Kqsif!%MykhcRr@24a!NF=jG*%nq)$#e{tPz)hcCmC%u2}VRB zVke^vh)$!FKEZ3e@k1QUvnUYs6L&APUY zo4G{WTzp241JRnRWqCf-Zi?Yx;qjay_cY#d_5YW+wlb(ztImeQ;we-yBkfm)lm`A_isAdE(%Ibc?!Nac2cLo`2|s1*wFD;A=LNc^M)@m9OX<=@(-x*Uz~e#< zU!e8gZ3W+QzMSS_wc#$eFq;3b1DgJLa!o3@3V~DH+K3@pLY}Ass^f~`E@@_}JQ`|N z<@?1@?e`piXn)L%pnz|GTtZgq?DNP5vcLygv1&Dh*5-a%srJ6Vsf`pX&LS!KfgO1B z6HIV4D=Wu3kW8k>$NG5?N&?wiMv%=nJ^x=4$p4!$5%>=UlBdON`M)fX@~*JjNb+es zNE~{Jc-SQz)pz45fKDYdd@$;lAOG)@`oEM3c=4=Fe%pdeCBI#(4SV+Q#40=XjBgvn zSq@49nNA{d1Hr8R=X3~XaKHR*8fj{{;V+kF9rtWP<_qVp-w@{d-z-6RS`b3?3i2cq z(Eus}5@ejbvq@)2jlrZI8Xv3GVjIxO$fQGNb3!#k!-Kwjam}{M(X={R-T3DEr>zoN zty*@r8XoFb8I(=_iz`(67tOIxrqkhghDX<%_eat%lih#J4)@c|4mY1VosKff_K+Ma zAt{Bd>uAqTQsJJ=;lCyH>3v;)^sJ$|3_K*8CsQ7`Yd@IxmPdR!?Ou)t+&}wDL?}2txWz24{!A1m zQdNNUwO-iTbWPn?fTgmMLvkdvjPi3&v$Nt_!>VuZXSkTbMI|eWcqis*(ijJm7POmO zMwMQFc1X(9cg^|zK_R-I0A4jg^YTin?1+4joeaG0SbtHYl1-^Tw_tWit1hV;LHMdI zO>=4^KEF+XbV*?R0Ny=4i`rkOw&bFSs&m82M+2!LGBK^qfgkSH5{9@D=9FO30Ian* zZhIRgq|jW0C5%wA6tALV**>JE0wUM_5)CHcBuhMCgYL<0mxssm;bCe1NO(iML8-6S zCOjrpG=qrWK6$MVKIFU;cqYTzflS5a^V>^D8n zk%4zw3NMU@5r|+c!|=qQAHri!MbqYLDILR5lJh$9uIqS`(vc9oI%ej+yOFia`nyGn zot2!rweY0d%KA#T4T<$nLF|-~q$-F_qa4Wx*>qn7$uLNY8)}SRYutov zpy@>VD3|JcnJ1~y&5d2nLF2nLnwLGV_qsXmpWQ8^0TNIAE0oko`;^WQ%b?8ACOUf@*-M%(!1|IeDv&o2gajuRY;SpV|LV;J!2d;&qRs65= zUeZJ&I-yu22KSpo0R`cG&^{39YKr!6VB$up!GvLGE;Tl?i>eELZmE(sdt%;}^UqBhqu>@Z1m07vK@B1$FgtW|WJw zn||`qYPdnNEVgqVO9>&aZCqh}K?(9MdE5GH6x<7Lcak;lZsFZiIw0u7p9=~B5U2dz z*GV9H)I{SgCY(6kOsunDB~OA)IwFn3SD~8nby$u0^JS&9uTZDfl@iRgnV&Gc&1}I> zl8ew;ZVlY_Dbn?K;IJe=OAz#4zj9uc0*t|R<#lCL_ud%&X}@UP`f^C=#pUk54CRdn z9aMJQSeI%8NYA~&BO3R|Fp%Gj5U43PpAI2igv072nFKu0bbnw*u_DC0-|uDuvLa=Z zd5w`oW(?xTxVaVvlQjtyP)g>dl{=J25j9>bFxCt^ftxL2VnM#@em?Xhd}iG*s%@E% zJxf_p*+(SqgAIJ1V zdo2-vj+m=`wp-(Q@dTSsOO{U20-xU;VB)UhKxUnF{ACnLU^5v{@L0-UA}{(Dy1mRK z-C=xWUX3p=!s@FdE@J~|&)Ge}Z&(1G#G3xL%A3HFi)7Y7+#CACAe@2+p&)9qBDwT# zl9vaU_A<>PM%{?#s!`;ECi}LI?Idv4buU4^xC?cm3){`nX(FpP%Q(V7p8b0-uB;~K z-c~i6_HYscB=!CEpsundanY&D0PMPq%YJ(|wSZ%txJ_!a?s_z7&t%bS4i@Y!nAa2$ zct?H(#E0|fA9YHnXh=PrF7Or9Tr`fDea4$Bq>gC5#`i-!4{-B%mWZ6iy2Adb8Pn== zmb%JO2VIHAZ}hl9eO!JLGlq4h6UUQ$SNWG4ZAHmU?bn~=GI$r}^xSsDTdz9bkik1@ zx(2W2$C7$DUC9j5lrv6%Ur5=Ze7CU2x59~%s(;ZdQ9VUalhut8J59+?uAIJwi7+^Q#YSXPj8E&&*$f|p3}ln)5#l%el|2=BTiO$w?xc>JAsw7hNCW5kPgsV)*#jA z)nW?y^!`)v;`ZR@KS9_%q+tw^!xY*)$>X2$4+3(YC7H9yQ;xOSKY!=nVQd$u24zPI z$0^Qw@2$UuFhTWc+Fy*Y70pKE1H)k=4WBpqndZ`Kr=KzY>>GRtVENu*6`}JXX?p<9 zG#lVcEAfZ(qk<6sH|X{BvHIO?kJOBP5_v%0{+>CvQ0kWsc6gi%M@=xv_3ZLUP@E23 z_TD7n_;+cu&$xS}0`Ozg_wqr=N(IHRp}a)Ga>jd6{M~5!WEyT4t0hZc$i_r22gLr~ zz&s8o=PhxCl#JEOG?Nxg)*k*mbrtV###EutyzjdBYy@5?h+=DqIMjs5%rztRk(b!~ zRKkvPZFQg|AfGZ?HZRZAydJeoFMBSRq5a_(srW6)|24|zUTHm6lI7o7v?Qh`Pj`N_ZzUn0FTUg7E=gSO@b%KISOmVS*ZraBqOUaX z*P^w@1)teOV_Hft;$B{6-UUkX16eo+yv(}gMYL@a#$|$9ZPskh%i^9BhJhuF5WKf9 z;F-^z3VUq#t5&aX;(TiBm1{drvdi6NgY*ojo4khg$&#?-pD_Iv@IQ{rRdSTP*^cDT z-dl`NE~S3emx=(6I$@&QOW9h5ajx+Lo6$&IJ9u{bv6SNXuUJ}w8CuM)A5RClkJ6o9 za3kK!?!N87)XJqTehm6tC0qylHWr5lMeqU9shw-SKTmLN$wEL^GVJeTObbL@_fWXh zHUO`1t&YDleC{L3bKgWnyjF6=@5XeCWZ_r7^+&CI&<{;cXct7}#5I(wgeeqyAy zw{Dx66hvl+nxPkmoMnriF{v5bor38vYgJi=SgAk06u*d?k@|PLS*FFvzjHV{j&jj- z9l17_hQI(zLGB*gUInN;jW-mmd!43*0agJN(-*3hK({gJ?W6&an2-FlfubPml2}Vk_qFAIw+6r%HOE5K5A@VR>U}5xY_J<1oKBKmu2P+E!ZHzeRUbp z<*;Nalpr+q>3{S0LP%s!44p!sB8t`+a(v?A6vD79ExA5d9c5 zuYF0auT(L(2E^#py1{|GcqGxRbL3dw@e;yhK&pTMA4|>$acn__q3_$EvA*fLxyW$l zReSkg=MB+y!!~8DcCP%}Att&JsMs@?JI}_rVu9$s|F;&vBrY1c*crDKYk|++B5g#P zV1p_|L%R?!W9pv3YNe_9a3TX3TmZVDP;Y`-Ut{yF8q292oc!4yd5|*jmc}Gze&1d| z%3TP?0rG_gKiIC?h@xGrYCw70;4Fw-{mbz|5SZKcNWtgpIMLbdwxE9ROvyU>sm^AM1&TSP`~Y7k7WfpcW|@i9lv0^mdm+|}|V zd>kb1q{cZNHMYk0lNnqHoEeO6(BXK;#4=%hU3t*B*%C*pgI(xb3C=o-z}Me&Q$(y< zjNa*lNJK;rX8z`gWWMAAs$*Z;PM7gzc<(|Ms7UyTI_+>=YC4qMpeq$- zX6J+PJ?9|ci5O@fzd2!C_(~bxtoSuC3BSNse+YB*-@QtaP!6I}>avG9X@d9uvwolM zXuZ^Lx07mQ+t&6w41LzGR=Xa9tR3XcI$!_IP72S+#XTxzOo8-CA+i&B(ZG-u`;OQ{ z#MNje*Ila&L#M?-REEHnxj+LcO9%6oMu}>Qg3t-N)kaPAQu@=ZU@CWzJI2Ui&wWr* zmUNnJ4*us_^Ji%d11}!dfgtT+AJLSCGws;`MO|6)hH2}2j!ZeP!wqxCe&>d;lf}Sb zMJX+^9cK^6tQ0{a%&L#w3RQb z@Gp|besm+$=MgT|auO!6OFX@DzIV+!utv!W*A^_`KW~d%GZ@CBLnsk#C5LuyqhcLF zG2<>UjXNmfehxSJz&Fh6EM8v_^;-7sM;?XDMyZaG!)-kpGoPc@HtWL<*OO5Bo<*U* zloD%w-mRde!oY1yaQD3Tapg0J;i8-Sbvr8c=Ql4p3)?7gkptjp(18WhdmplJ!Ru0p zkZEK4{lYiRi%5`AA$R_nMdxGB$0@r}=Hgqrv-Ib_O|;6+ibrq3M|)77WZP)y@zH%$ z97}UxN%MsnHT)j<=ty)iM12P;#L)*aPYZ>+J`jg)&>P2=GD2wKLIXsNqwR)$F`495WVb)PT0Ml(ipElphqxM=~4-j$B>{oKw?M0Qp5dck;99!E?$q$;j_+Wz8?P z)<^p~b_FVm0tuO3kCw-)Jk0=d9y{;vm3Hl3H!q$>Qz_<|GKCp#B%Rt%ZV2Sh`0s2< zu`qq^R;*cDUPd401Os+1ypJCIA7K3D^qJ7s&`R#+?C96g1TH8Q)0NVLCHglLJnbc(xWv>)5eXd;u~Lb5?7>oi<~1_d8=q# zaJK`Ne(32&d;hg&8|A>#Mp@m9hn_If*H>bT8jr+rXNSFhc8O2>_r!TV;Op#@I{(B_0<67uOvJfC4yvKhJm?*kuu5m8PW z)HGFvhy>s>*bY2RizyA$N|aFh`!k6xq2k$w>Pv9m;uSm5nIcgwR3f&t!2Fm6O-N)t z`IMHy3Z*H$JX=p6m-&?e29>$sB6iVR48Vdk6Aezk($7DqSD#E&2pITY3D-&e6c?zP zjitFmcPt1+$Q^XoN2m3F`r=A37FcqPd#6Pyx58E6ThZaM>^Ij(@}dtH%okhjlXwlF z87iSpz!gz*sHpp`UF}0)AH_ZX9279B%B6}Tn&_1D<>jA29BxjHN=^i}B!Vy$l{W=l>( z4y(WA%DR7lvi(DDt`T+_%|DuJAtNp7*fX%DyRsK35k6^c`O(-UTxyPlKl3(2bSt&k z>RXS0M7`P&?`0MTyA9a}c3id$uVNb(OBdmi)h0%&;MfQbh*v6nJm|7qqDx+n`b*KL zqb7M6rrzZN-WMZeZ#X{I=bU_^AAj9SjAj&oZgQFITqKONMA=0RO`jyZ7c7lh2$%<( zzL8nlV#pE5DW0JZUoM7)Q-%Vtu_!~N@t5Uz;p`oMuK|KLK(=W&8vXUAAi)Z>tx-`v z+r}W%#kWun7;cd!{^vQCroTUa%Cm|JZAa?c_xRZmJG4T)B{{LjH^bPyobziA@BjQj5-(|?ZYlZ`!4rqk_NMXvO z)1265rBw{{qZ$S_8c&?JUQ7Uc>=XYM540)+JWV(ZzS^xd5p@1QF-F-`TWMV6qYykH z72r-$383(?ahRKyf*56#E1PxfllwAdOxUlW^Spo6uG3gi7x_eqOmw*W8`$lfEDLRA zA-et~^wN;O;X`Ql{_T%6mn5~#zqZ`6tqz(v$`LdjAuwT=_^)#6E2`g!wVZ6gpPc}- z)qMGMUL~SGTRrQ|&gMS!xp04PZ2Ng`x6`F>#^YazyvEf%S$AH4G46PpK$KK)cA8D2F|@-({1ng$8+klr=q!Oq|a3` zLqpxMbMKS&rA7*RVMNSOk-^teepJQ!&ywo-73+7o^3`m>tn%UnLEjV-lIqZf;XfcetJ7|GuP=`Xq%qm}qLmNrO?K$NnQh);{B&g$Gk)GD75>l8CvgTVOy&4 zbm1UCAQ$1L#%*Vo{;$1{9nGYZI6Egw7ed&%s93k#2QW|P!_mp$f=iEBgUGsTmUfTu zq2sx-en}VC7cRkiccrv0scj9P>&XPBwyu}`rL~}4VLptp)B-X3fkR?9;x#Jq3Nz~8 z2v0ewAEL9mdqFhaBYj1ff=sK~YOV{Wz^i{^bSLS;HF&T|xFb>f&HlAZ7X?3yg1{Zw ziqR}~Tiy_HAUVa|aW&9TtJu>gV(X?P8W#9(zGD;$()F3){_tpZesN4 zKYXO4kHBn~zr4_i1h)h5|{xkN>_vq%-}=r;UOLnh7P!xco}Mi`M$fLQOE?+C21 z{t_nP!F$0gBHnSJ-M=S#AV%2{MU3u@M>&xpzx|P%PdQN|3jXVKCNfI+68&*&Hs@x& zue#=aok%-s-Rgv1F*)l{jSE60dg`x1qD4IcTm>qE=}6_ck^Xev@!EZe6-dOQElrHw z79kmVu$~>`z~WdkTG@EowyscziLjk$ODXB$TDg@cNPq6V2PO}C zBR^Wr@o?G01(&c?zE>T2u9XAbP2M#@wu3Ysq(f*=anGV^Hu^yiC)@R4BXV zsr#DGoI`*Y7c5*UaM57Cte(QQVNbGd629)y81y|?Ae9)=b_4r#9^e9Nzdx26%y4<% z&I46hc04$E!0cDA6molU$+ZVRZ#bW*z#d7NG9~7`6{kwrg|2R1k?XWc@0_Zj&NOZw z_Q~d9oy=+-+~(mLL>0*37ff^Ld(Y*|h^<&7SmsLPorIbnTBJ;CCTzkCh10$Fx98dy zqty3)HSxLJp$tBHX*NAI6hdq9!~OoMR{Gek)IYh+1tA*Nyy8scCZAGR1Q6IH!V#cy zwH-~vUklwx9~C5dAoLXk!MVg(Y>|VWY<9XAm_P;rPge7mj{-$-KloFo+nci`V{=GY zuVO7I*Ld=&v@$pdwD#ccqc?N^de}&M5P&W{o&Sb4s?%|lj_Wd%^wuYKaL(0SUluHB zB&tAb?{RFV|L%$!>*>-tb-XfEC)oX+)p`ZiEpIk`Ik=%M^Q$XeJ8Vu?LF^gPvP=AU z8F_Efi0l=*sgHIha?7)2y@>du(k^*xx!B&KOqeMyp2}rL75R*c=@)aez`_$#uO@fOT%_S3nSuHNSHc&bx_Vak9C!uaU_*i7(N1*9G};9>D~wUv~hw9(q2; z{%E{DZ@1K2bv*+CW+P+E0v)GJk{-n069Va2+I0DLvD zGflm$XmJw-_I%Y4&YG)afQ=8Eag5p0jP4Zh2ZFFc?pvOJB0UF}?VipL+{aSbj&;1A z`iTYMo)Gg?m6GEa_sxGV#d+}lt0AbnVL45Z!riTtndKzpyx)0wQI z&@I7c;eU>)|DENpd?D5J39>he1 zKb{q>@u^Z@W*|2bsH&^wzB`R3IIO@-m4W?D+ItFNssH0TmAiB8?d)pXXRDig&?T}RE7q)dzf<*eT+ubgX z^K0#M2~h9t>@pKxz~g1hM1C}_g)**M1H-t>2vj%^2Rr2_D#w01VAc?mB-XL+wbSa} z1)pwSQ|1kDH^ZjH@bo=YK<_De%8h-!UN)8RuGXI3WtnSNZu!B`=zZlCWeLXpdbTI= zz)$}Vb#yX)M&W0p0mfK~dukH|Ld)n1NNRkfea%NjAX|=EUDygu;{LDiPrU}KU zPWtN0&1M=^pFZmU{+mmzDzsSP0`f0%qKl*;){%5*E)2&vcDnvixBKP$+m*dERFf$r z+7Lo;vs)K|^i`RTy-J3lEay*6wi2A1`NU=-A@yBZevm?r9#in$D-+EaIib}D^Ol`d z)45vm3_yeVRLkWOkxg&5>;#rd&?^HH`jVoq&XMqUBkv`=tD+mOfa3Yea$=(W4~nOL zW$lz3bN@opYPce8OX5kUA(g2MZc3&NkK*#Oyj1G-d0e(t4T@kF+kP>}M8Z*F>OWH;yyaMIw1vs3)MxRKQuhMbIN_DG(sulMJjo3g@`4hPWT#<<~*z?aYKNNR%7J9 zpN#(MZ(olMlL(Q^2ZxU(qE1*+;mB(5kjnYjnsOIC>x%@gnuPrr_NmpUdtUu*Xo2(S zWS6SgV%YRx+@!xnAMPO^;{20~#s|kCXV?jO^Rk1N0EtzdYjTNdkR1f&Mp}o_nIjXL zI#Wy~hmbr1MN}>K4Zu>7SRqplA$RKMjUsyFQXX+TXZ!hmRK>(o_89FW>*c%^g)g{je9l&|&o;MN$plxkr%b&&Sd+w>F zfcxEP^Ce)~M-cF!EFZ;xdZ!^>ss3Fg%`t_Z*T!f^T^dumjFI6Pc^mcvp+@ zPHyZtE9>PtJYL5D#3yiq6ccMFjH45?7H7V4^P8Py!xJOKhMx}_r>71ThfZs#d3r^^0@A7<*0Y-1eOd41V2l58fe2l`W z&l$14ICDW3U9Kdu3A>%+oii{*yS{_ z1~@#TzbNn-%w)!4KKZ)j`v}`xqI%>kkk37UKYV+O31wYFeE9JGrwa6{OQP8}ScOJO zynmR|-5@uR)qq!ArnF%2>%(6bRn;GC1H(vfWE4bHDItE+|c@?5L;lx z;5%he8+5?=X4_m$d~wHqy6zuPYGIGP{^V}m;s$E37Jdf2oYR|&A-=F_O%P^V&H+yZ zcCu|J7-_6~RU5^3BSM4+hm3N6_>gplosH^)`9Gwugq9_y{FIujyePM_d+=qeP^IJSXG%@ zCsjS?ybZrkTD;|tYI<3?NGi`nomd_rcHe$oBBip)r?E$}bl#Gra{Ny9P3i|Mo(s3% z$Mp;RaycU}dAv$*cDC4hZoDi#@j&X|aTIo6F+30n6%8PX;p1 z_=VKcuj_f7!=M9)PVma)zr^x1I^$AF*W(RmH2on?ik&*l)iuYY@;ya#zF^Sv<_Xs> zd50ppji}A0@cQ9aM~g$(+)BN@Jakkx8hC?rBn-f~PsYc|Z@<4tec!}oI`gjO(7tiX zWTIAB#ow^sVMmwxUV}9jNkBxru)4?V?P0u45i$Q5BRx?L;evW1;{548TL@d8u4<}e zA*~^{vyBM;G!2p&tvMSWh_+Ob{roR)`>95K9A<9lN}(cf-as7*;8Rykt+!N&)ZvQl z9B*9h8Oy&yxh9@kZ?m5I8x+3G&EjtnTL4;vyKA-8&PTQI<`^H?Vt@=&*)93koi?yi z+#nTZuGWyAh%+%I1G^3-%$}@&Ircu^3_y>B8n}i#02s}q%f~jFk70@QWbvY;+jG1g z4Cii5O}vNt9SzG3SejCjgp=dB)d5=FoTi#_wRG@5=eR`e{`DC*zmKvT6cb4(wbf(1bbvGm(Pu;;o zJLF7j!?M>tu-Nl$a!a2Bz29<;`Oxdr-RY_{EPV`eAH+l)^4UxO_oYDoY%BoXRb$G2 zkJ!ql{JIzFb($^^ObTmUn7FEYrXRvYgV!ftCEj3bFtopcP0nv zoV_}?=}e=cim~oKhF!)%yiI!Vo&0CG3PMrL_18o36P^7<<=)_ZNs==NslrKDBW!wj zV-CgPo1jE#0EI9`Twcr0Kbkp!b^8c9`A z8#Xm~B@)CFmxMTc$Un@{=nE^hwu1(a@Q{QOcf-ol>_AY*J;E3s%x#hl$MjxbP

G|Xw{18y@NF@HWZYk-zZ&5Sak9|`>?Z;7MiEx$}Ko{6ReQ?c+Ret zoQ~O(dd;O=%*?QAd2TwxZ~EeO|EdV-oKaHyx}TXV$H76!CFYPEu$D$d4Ri8#jadpb zXb5d|o;NCtm2*qO8&eI(>sfTQ+vUuhbcSV-g4b*LDNNWX z@;>q5WvQaZyMjTESBQKPBzD7)S>g$}N~77h&PQ#-vWeJt`d z=ew*Nx}Kkic2ZS;6gc`TX!LDIHrVS{h=EI879F z@TePyF;9L5LtO(nC7~R`)-Xl4$N>rUnh{0+?(t)X=Go%R=+F1kHmDlAu&6Xwc7Hva zopJT6@a{i!b2-5;3|q&tGZX{cCSIjQg}uMC&Ky=s&%LEfjl7zJN~+P#Z1`L~5A3P^ zIE=guN!4Yf7ndil0d5$v{h0Ztu!x(M6V#bASl;h3*_{Xd&b+8ERFM}1Je%H_;~Arq zeExNuh%Epx9(b9Z>ugMS_u|fkr(a51;C8kWq^5r}JHfj9V%-Wr#{^C6kejk6Efh_o zHc#R~0{mWtZ`e%H2$%T7h_5~wQU_Zw&SizVxO9nr3sZ~iV)D^-U{2Cuj*Z3hS0 zcUYXuu%u z`tqv|qcJW{RSJ*2aE9|;^NmCm3i%=Q{ovEF;;w;YM_23qr>{6Zl%bEJ`nv%*8;CY& zZdM^&rb*Xe)|xenDJ6<)Z14xt zuW6kuT4V7uv=`C+=HuxR_9StV{Ri<5lGuy(QV$ z9lOIvfgN4XVaUzOD1xRfiY~3nV($+e1P+dY#q{)>L%^sU-Wh5|m^${I5J5eMyX~4o zbjT0@bFZKJ13M06%ay=WX2(+ooH7A zL_yfyGb?QPf-AvY>g}z`Jw>+!*r4T9V}tL2!^?SyF>uj|Qmd0?+vnK@D&+$AowdAE ztbKFA1UHDLVBy!a2wV53_;vT1|KvE%Vnr^ZcL!pi`{!E!^0Pc5@9WH@%tZMQ5{0ao zgMo~Q{+J2Vego&(YDm&tcd*0HMQ@ZkU=M<7pk`_*mCck&&u4Vrr8fZ9j8`}MSknYO zxWv|zhW-@cl4z3vhYj*>AIc7lvloFVoybe?g9mq=mYsYl zknh{meI6b4OWI#>Qrn|6-o)}#zaB%AiZ5OtOz(!;y$-KmthdKy^@7en3~PVWVG%qb zItD!;k9{8mn$DD|0vfDlRZTT345>R5v4!u&TJxk7vTGGuqR!hM7+3*2o4IOnKiZZ! z=;Zd{ff6Vpt4)Hi@af!Ob|HWFP0!17^TYhS${h(o&N$(~sOO;PlxkCsWYkf3Z%_QC zK@0Zy%yVy3Pv?wvk@pIq;ENdOUt{9!W+3rcJa-Nb(Iv}|OWnVS{%*~*QSg$sHQZcI z5+Q9K@>Ecs=9zK~du&*q?bQSQB{G6_+^(ItY*3m*da@i9=*fZllrDo3jWaO_>=!~O zlx)WY>@%E8%LU6bbU7>57>)uiu#AGVbZ_7skW7{og(EL~l{zxk!FQf4(%7lTI#HTG z6c7v>81k&oGD5cWIg8~6(W!Mdv=r4tCeSIIeuGTJbZ^{~64QwNOm2`p8VvM2Jm_-r za4;k8vyMlU&x)mQDCj(5;&t=K@8&8_(IbNmbvENi+4<%_+nmgV>m7r(OY?J$v&v=| zIZL+^cru*64}<}7XR;l+jwW}Fap*)bn7m{atc0Fab2(r2>Ari9=?3YhangS@g&27~ z02F7MgUR|@>HgX7KJeHuP1dIT+vfM&@I07BhOMx|M!vEd7H&IF2nW0C{+_9I1YVDn zRz9{6`s}a6n0~_`gI9XOPePke*=1B88|NFP!70V=isk_+_)%dN^h?Jo=x*7(=G!4j zCYMyZpfcqqqmj;pWox>OMEOx=@9iTEvg(kZFCQTu0D4W1cuPCUZje~(FX+_sbsm!) z_x^c|A@x%^PVyck;wYp|O_aGl*5Sti2`KXjOkNR&4(R)HJi;83V%YNFuiov(N83zn z2AG;o#=Ee>yY;1mr}WUY%H#db)8XV=v<|Fxh-UQZBYwv_>-SJ6EM6n0Y0M}BBcYz% z0}3Wf(Wh~|?R>A=dIu>AXHLfE5RdURvv}1Kqw;&tVf{g_NY{wZ^N^K!2dyy5vbpit zNF?s3%oFnsPJdtU(Z9!aTzm#eg?A+qhx9%v`|&{oXr42bbYFY{d>3Ec) zGW@HXuQU0+_`u_`Fx|BJfwZak55lp+TCAvyq@8hyL@$G^M~Iqwp~d^-neB@m;@=l+ z>@+kLZ~Kk^d0$Rxv!1!ViRBg<^rQLk@h4McO9N@@MlpAq%=hY{CKl`$++Ou7qzx=# z!fxD#SY6f{--Yq2y_oHWr)155r*A7|0k4pDbYQ*cqhWw;3u~^&e7&f>f#e18aAJGu zQ4=W&O_A1^Jg}All3{4J=l=Mhy={Wz)+@u}A&)xi!sNH9f!BSjTS(BKrN8MduGoTo z;#;hvr;^XP2zV;k$(1ZIe_%fb-UhKi!+#p#+xqg+gvv1c(w(XH=V$nwCJP$$Mh<+R zQh6z?Lot=*_MMYi6qq$&&$oSC<90JWefirL5#fAyNgm?5B3Kf2ioVMHkDvJv-C_vN z@kaw2@YVqHt{)?`W=njPc_$ZRETw-R3p6|bW9mCp9q~S}V)5RDxu`B-n{*)tdI&}n zI`uTyBP)q2>MGiKKK>vgV_W13`J55maaw{KMjEo6>-f*H7Cv@>XEy-N8ElHJ*<{v^mHV=s(!*lf$QaYT-N`L_Biu zU$(9&{2;zBB{Fyt34GX{jUSR_eNIvUp54q<@ZJeJVt^1{M?ltT40^Jxr{_1}kp=SL zX5|6T7Z!bBkjQc%Krnrx5^vz1tj?KzwJ$g8#Svw855^sHkl7o3Z4`zs{<3RsO@u_q ze=#!;A}C{!A2hdpe!MM~jJ);Gh{!TE_g}6xCx$s_sqARapOq=){egwy05UZ{8^<{( zEEdbDJtRnVLdM&tYi#=?$=y!1fX(8(-SWItUr&^s>P zv1^=<=zgwv)we{ocmT7Q2x478H;q$ke)U@kFK?N!pA6wq>7FMkZ;9-avGBJa(^F*q zgLYRX_7?{DBNli5W7{t*x9Nu$a9&_PP;)CzPl^1|ekugqOiLbp;4C=Ko4G=!IB&EA zdG!XxKEQH*vAnwyVl^BdKyrD~X*OL~jBmQFoCB3#ymGZJn`~;JJN*)k8P zPaw~eKUwk@xdC7}z!`5y$+`y-TNiBKfokbz{V1i$EJu#%;MP~XR?Br?4b3yYCw!SL1DIV_ z(8XbNoQ4vG_$C>_iFlNYl7^Y2e6-l(eb#P047$c?(S1!q$2X5mUmoER2FVa72fqAM0 z4KCRD)X$lm6E~hLe(y5rMU8|S9zPpB%y-*QokefPT`32+A1{~L{?h7GNp#zCCa&zZ z>cad`dR2;EeQ3?Wx|YKCi^!lAGcu^pRo>_9C*y)aQe$2D*ulscprddY=G83`o`mRL z+rh2JM`J8C>Gd&PHg7#yEE6f`vHE^}z#MaOmyf~u_ryI4)RsqzX-UFW)?2Bu+p!gd z5l1JNq~W~1QJk+@?xkk6ftM9j|KRLFu3z;?El&oF1d2I7QeAE~$sl_j_mlR+WG8V7 z($EC=_2x_3JNkYExT|-cv|m0l)>%@r?rY`{Kv_)+2fXGjN3m`92(_Ep36z=sY~+UN zj2Xh2&B;GST%i8VJAccegqjv3!SR})`5k$l>B)OyeJZN_wrCdi)&uSE>>;^a)QpU;xX+Jmc2G+t6=3LT1)tq3&YOXL^en3m%zj*HszVb6{bbDrkmx z!BWFC57>E!%9o;7{N{J!an@cBD4nOH=h?HTF@-JkO9pCw-pVt+ebMGaMj}iG zQtLB{glRz6m7u$*&x7xy#Yd`Gku6_Fq8XWrzFR)GpG`7W~;5D=W}L~a17H6 zp)W7IR==rzXk|Lz9uFLB_XSZ3q&q&RsQzmSR9->uaOSaG6Yq!yCul;2g+dKl6L~~z zxdEUZM}%=&md|7CBUub0e3{?Xs&?HBHuB>5)w;oIM7-H)JF|AWx7Y4!Hn4F9M*$?pT7s zeM zFUD-uyn&Xh$BIcHBG*@(=6}Jk0k8Ewr`6%RrWEdn(lcMiE6Ix+-z=o9i9Mf9$l&tfA48w;R{*`JtC8`M;xu*?>nw&od*!9JE}j)@{M6VBc@vA4Hk+L_q9 zi#`an8{y)Yz&Pz-3W2kCH1&4 zz3EibCnvP`*OyqsJ1*QaYUThITi5S9nQDu|h*m%YJ-L^cLFiQu{C@VS^4)aE;s`V@ zNRR`2Y8*z4P5g{^_8}|~7-sYNlusA^$dFHwZp-|65nMht*?!AywN^v;%Of`oJ)rI!Z)TfrqJmVY50F)?&JHaVZAX# zqVO_-V=I+Dk2(yP;wI_A&AJ~FVnEW&6Y>7Y$avO;`cCRn~srh z>z5HZzW_2)WZ4Hp`Nd$%sVSZ}B-vJuIvs9XtfcKD$+z^f;k~-nn-yK$)%GXN^;;Akb4{0?RqGS2J{Oh~HN|>DjKh+e ztL}h5bQg-J`IA!busw8EVHeJG9difbdIW5)FoMU!dK`~Z$H;jw z**90yr=%@!ge?A=NFGBe;>GyDbf;Nrl7Ml7dlM?djRQ zfbXnuCkcGySH*CIbT{mB+h1sd|6_RI`l*F{(;cdP+Z|o8X!FK~QgJ!AN=iH@QQ_#< z_k!c2Q7x#SflAQLdJ*dpytQKY-oAB_*yGp7;FJ<##-yIGK?5hj{;w|m&&1~KCi=_I zC%j^XCUHWVJ>ZZ)gQl{_1*CDY_81%%kA3P`6$Y}%#{H)(cAd%CN-2=c;wFgpd7v_$ zbFG%QTn}<$%-k1GL45a~IdlPv@vlfhsk|&gkRKo4tkS`b>^8aLpCtxswfz}a<~{~c zezKv~f`-oCEtYirDp#APvf2MsBd@dI_5Eg_v31JlRE6y|-YErdOZjLzL(fbQ*s|ja zyyzYW_Ie%7a-W1_9T_fqNO#f~e#onpmv?;o!;yPD_@Mk5UZ}XYc;Y|;f3Rq|>Un~a z@BT5R{E?lvbH8wgNseFK zm2v;_Hxo;~A3rArEyx=@sZ~@Lyb!eyx7N~m!M|ni_1);78|2(Gb$@}SE^^Z!al|9uF0g+#bhS`U8}pBG+_=NGASh>VRfVb-XGF-qh~ zG46qK&G9)X*Km2+Zm9~RbI`>~MDZblOzgq`DEWHs$|A_d)64MRpGe-!6cNE33r%hv zPcAUw*l0FE*dNo{3@J|iZry}}(bD>>z#GT!6opJ&zh5>A#PwI|+#WWo3{_Hvt-o6a zm^Xjrf&WvjOy=#a_Wf}EclZOV4o}M-Ekqu>dHAKmD@)%qJ)txAl<|%ev#UuA7GyN{ zTy7b*+-TZH<+5Ff;Hv&PZlje+pZs!}R>ogwPTT()MSCle1)0EIHjJwp|Hg3jjp6hD zmla0PX*>-7!G5NUQa*z#&Tu<>@d~=C+Fx29R^Z?fXd2gd86)qN979eL!%jXL`G<@_ zQHsxN?AUZ~kqd#9#+{p@!dAd#3TAKFvvz~!X*|IzwOX;6^&T0SA0NyE1QRMPp_N%L zy>ELyf3fA6RAKmln%1JI7K7(}iCVFCy%m@H`C5VzkR(<_Qp%Z81_UTAAWjY$7Ldv3;U=9eqh;qFQ++gyj#HktwKOsxHW? zbS-9+@(^E95eDIUL&nrSI3d8M_s=IE@6dYB*ULY^!-bjcVw3qG8d%g0=N36nqI=&M z%ahD`XivX*I!$+a&k*zo<`;g#avbgbO4}w1HKvT_3RwR%NO_a|3`N61a+Cd3)cf?$NvNJ*OP4-CQ3u}~> z)8V|%3uOYt$cDi`Uf9222&4+%aGjBgOc+Kk{>;fD5IkMjsY{+PMNWH-iX#yJQKroI zP0Q>cw(v3X&7r~Ii;crK9nwpHhU*^7?sOa<1@(Wx7XRavxj^uyhflojqiY7XSOw@s z@Q&h0SCYb@yuRSZ#^%5(_!~;+Vw;@M^>U)z#EIZ{{A!%h-uJ?>i%f+7o zx4v6vY)Jruq6l!_m;S2r5&g*{-v}Btsc^UkBkUF_N?~WhNzX(msO6nN6(4PlHnFzy z4Q*^~hj~dOJ>En#n7-|B)AuU5tQgw*?Ua(HMcWvuAE@Ax*NydtK2KM=I7%i>e~7*G zu7zjzt5+_*@>p(D(wzmv4YAjBa8_t}zNy*Q$3C%zF}nxOb*_ge}xG1t_-02XBVC9oB5Oh zM29@mTXJBlo13AyU(ocTxnjh-rdQ03W2=h1C(W@j0zTefN{ei9wE3Np1OuhI0$%4y zrLw#>{I*q#LQr*kt6XG>5Tke(fx7?>ivrSp8#<1_L?qD|Oeqn|FW~Bh)HvKselE*^ zT3-wr|NmvO|Ip(f-oIFQCE_#|5#q)ad-#c%U6X%OPfYoxA@YY_j3ed33~F0o;2~Gr z&%2SGwk@TX`9;g_k*WyoK=O-v6#TWO|Ky5qr=-e_#qV?8qLt4gENs%<7@B5Y1wUOz zBkgZRJtZf`v?!iA9ZIR;YfQi7Qe1L`jO6%r7!1j`Y36nY}5KrBT9MzKFxq8ki*`$<@>OyrU|}8WL0Q8Rp0KN z%)jKQC|NF#?Vyn_@&X1e+Pi@a6hG=ENQ}ZyrV%Utz(;bhXxv?Asl(tX^eXXd@6ap{%W9C ziZP8o!SyEnB>Fg6V?03W*h=B1OE!H4+4VYa?GRMnvq|)CQq|mZu9p1#I(Q0Z5_A}OG1*AD>8TLk&Ems zqd1=KjLNJBAY3j6wf_&%o$Z3&7bN(vm*Km_o3KxxR(FYWjJ|6FoM}|x{7RMhcRBtO zm-INVpF_D8*!{Cb?um>URjzZTV3(%^L$zMb8-tIR3^%-Tn&9O-f z+W@G+P1Z($GzdnJD=U@@0(~J-C`yClpv% zABo>MRX-SC^00Q(=jx~GE(QWZn=C{qKo%T-k95fEehlv3W=2@s;pQEQP%u0yz84w3 zd{@mCFWO<5B3Sj#wQCWmM{+&5Rmm)#hKHz0iaG)P%PUX(WUe}|9(MlP)B~#22Mtsn z(6CnJ4s8v_a`XSP3sd&qYA8>#ztDsrk^JGBo)Y%6qxE5zNmSZ`>C zoR)8HQcW`|+YYlFkz%Y#;SF2T{05R@@NQ^2IDwO28%gP1Qk#jFXIqT=-*m`-5;!OV z_oTr_gIHtGDAs|uTaw$MzqH$t>>8C#+bofe|Oj_9lUl<1R zczntC!)c2i7c?~)sOHbOxf;5JxTb3UgU@vDs-s?h!|jU*DW!)Ug64Nv$%%3P=g0b= z9_-6JA^x9vLSZZSCFIu}kSvx=S`@NYU0UZ)4IB5S*fK|Q&9rlvpIupYBP+S()cK}C zAt{szKW&HF>x}bv=s7{G~Iu9BLL5p?9f%- z;!nhQx*AiVUK30IXg<+WzxjQtz|5D07iF<(iH19yR6~{?-bV<6^99ho!!-wfqSem@ zMNhs!zu4$>SrOIGfajCYv~;7=uW%VoV}}1}CI7#k=?}9vUtBi+F%}fc%8e#6Gb+)& z6@LSlLvK3Z1{K5@mzBPH{cEV{t*%tke+|gCLGQy`=Q;fM>Md-B1s? z01gK+4l)$6ieJmG6miGMs#pn4T zZ&#mX@K0!3#GWY5-U|us`*3Pb`r7E;5}RXOweI1|ow%bV7;9cCGD`OVd3daltR3X z7_`3a-|X0eR){5C1GFOoIsQugboqBYz01s_uQ{1WiN7*(6^X{Le3NxfEFls7Cu45_ z^JJOB&N|hT%S)LVQMbA_?82{lwtON9<8dP70H7jP@Sf<$ll&G=GEd(5%*tJxa&oDI)p(`@8thR!A(3UzmdS;`jU`;#F^OQ97Oew-x|z z0(t^Q(^`oqbQP62CxX(BYg9-`mhI1|SVKIrC~pO_lbzf^Ea_Q}QEa~TQPkv~_Ip#(h*HVqNQ*LS<24%v zz9e9GoH$mtOhZ23##ekXRa7(&l~c2_zwToW1V)!zk}=PC`J9cLbw4@Vc>JO}ygJPC z8|t116Yiu_C;6#tWSIxh)oqV{3?l3@Fc=|zrv%-iTS+?{qdoqt6Gimt%l375MRfKy zYg&ZeT@6PE_Uj69L|FE=>C1$}!iFylP-lge&nM=UYZCm`?ePXtzgO`2$fT-$l+O(no%yaUk@GcKgj{!Q9zp?p0)=M?i?}@MC$!mdfy+n}zi?Fv0iX-g0 zMT0}o1lK_V!QI^n5G28!-~HEmZP}TX=)`QiUG@7d|sQY~fE1P+owgr+vO@ixo1sjpS z%kqNM`OT-|k2@4z!6wk|Qv9Fl8aMoocy{gfeTZyGgxg>=>FN96fFN18ntrwHo7zU~ zl5Yc%AMeD%$%P(u4|NR2=xB#fJ|l~#X#@8AX~AUej=KI047f2!bEN({?vUEu`jmiH zA{rt&e)2a(1tj&^1VX!H!h{dCFv}ykD2H_iV>gfh=|sk2z!0pr^SY_~=%@PZ1pVF~ zYL?xT#wE~E9+{-53_CVEkuLQp2Qe1LxnW)$^f%<`F4$kqfz5si1H3zvxy{#!1B0xQ zyLRKekmTd37|{Qrtadw4KrcBXzBPkJ=@ccI&J;HOZH4Zeywy4xeUiHHh!lJ>DvW1% zo$kmFI!a|681M0r8Mb!+!%3+id9feF;2I?Gt|y4=NVidPZb_M;($p5s(A?RCZt5wNtgjbk?oQC9?}v^aB_bwPGrefF zoJ8clGb;F{5&CQ(0Euyrrc?jNTjqaDO`1wTF#;X2K7(E>bfFwc@NWq|mkYZjzWE_+Rwzm^0`)Bx{ z9f=&*Vnz7-CUH>R5hgpX84?CEd4JHs7cZQ&Qh~#L>n~)=R}T9Fq1KDcmv@bfrWVXy za))KAvs{cjGWf(Qh@&M$qz;ABnvnsC=fEgAnb;dHnor3A3!n0e3ax8p-%enh62o62 z!G3BE;7Xw<`4o`E|DmEA@_qWxCoXn#Ql9z@CD|?Ef2|Amf7XQw48*&1-~A3iq((M5 zMfvJ3jjCrlB9sg_xb3XR_An5xy+O}pR&Tl z(XVU`4Cmh3VIuT70_xN?do$_*+G*pq-!8vW~IJx#=P!AnHgY&7TDzIcipf^R$ZXUrQK0^Iy2i z5SJW_MYH_Fok)Q{P z5b2c?cydhfsmSNvWLdC}% zDv@n0c&HX8IuB5o@(Iz3;}UkHFUzkel8$`4bUg})40Pca82Tk4%t)%2*^78`ChP4m zJU0D<<49f@;_DRN-%ml>A zqznKFgl`H!1i*|(n_xf+s`65Z{15ym_8Y1=zSg9eSAlwj8l zca7h5(}SG9dU=W1pR#^FZ@R21)~kg?bKdnm9%tBf#i_$3TGb>>>eg*wQv15e@)iM= z5US(@0ZLdY1Dlqs=cN)MmB(;ohX%L2O*n&q7bJt7<;Y#j;p?$%DJmHULF~bqnWEA7 zxYRJZ2uSPvLQxlqTWGWA8z6>R0|J@gxUnD)`mc#mUYS9Oxw845lb76OK@p#tk%Gn9l`*yy`5~xM&2dM_QoY!L8 ztR;i?pHMiDDk)mHv4H!|YZ_>E3{eMgi}vV9%%yG$6E~4S!Bn(e&=cw@77_}Qdm}9_ zo}Z9BMa=OsTjXJCEave6$ieR8gT$&XZb}|zXdpWU%Px|O#$Sky>ryhm)0rrs^N}Lz zE&Q@ly&J-RS|O2Py^_qm-Y%q8sh%_#NhDDq9i5-!^Cl}w%K&yhna|T}JD0;Aj4o#B zBG9LQYua^dbh!575WmDt!GshB&^vsEOpwxGzUhIqx<>n;Dera8cR4SIaVOTkh@QeV zY?F@c6kUv9291B;D_82T|9ZoqPh7`bn$P}KWLf}55pk7FQiOba0|K9Zv9$!Ee1h=%hL;PsBFWFbx}S#=nvh~QQSLL zmel)ox}hv@EIO@;gE6G1Z0tU_$xJAVc5{8;6vZS*DbU~?or(p8vDT1?*Aqce(WtAa z4hG+zVOi%z>&(LIMH}!L4Ywc&e9`-e0=?Gx#W_B$1jAnHvM3yX2I|FqAS(Nz;S|4`;cTriPSzV^0fd zN$&KgO~cc#@UFu!!BIY;Cs^*E13gC%+ejJNG&2r=DwAqCk&HAy1d7P7xiDJ9J1$w| z2`MqOR5RzehFmpZ9YeJ|OzL@15x`vNVNbX`hxtSypW|Jdn7zYR57fw!8*1VbhsWab zn4(x}G!Q;lI_okQ-X#K!rF-FoCKM8Z_y1&1rYTn}3q7tS_&jYRy*%y4L?lIw{jXnj zPsabj3SiCl2)9w@o#VM*-YdcB0s*cBe zROV*UHH9;QxEIo8B^qTgEu?%VW`ggy@Y709G(qF&jzyx3i(?-8+$#hl>P`sGyS*1eBqy6&VNkdB^q<%4}Cy;vt-McK!svX&vCpZ|)ZAc=iJ{OD6Pa=tE1c&FOL1 zhGXNq1c%0B4@gzwf}d>(qXfZI!Bf1w1Jm{9@|nMZ--XkJOs^P}KI7kGhbk8TV2 z&fXt@h`t%t?5%ET|+i_qZW#k^3iWD+s*ohdD zT2rsvB>rYEbl#$)1U?nhv1@3EobOr7X6f32@(@=!;UVuYZvNbd&qxYHmYs}9e2gK^ z1^6SkCSnrwg$YF=wfW7Nt!7QWQCR|)qWHQ_H1q#d?qJ3+>wtw;RjqNtuTH7IGni5~ zJzkw#JPtlStEFHTHf?(GP?%bqTz8xA_k@s%g02q7Te+To{h>jB_2OM;y}|&0PuC`p zKZ5t+wp|VW*M4B6RmkBs_1YeL*nwl9Tm4q)n#h*j9kLutf&?n>Rw6m)jLSTBDBbxe z+{cs_d3@ZF?r_aVpYP>MLLZ;OzNoNq^fzG5S{_5|$llcX!Jzaf0{=~O!BMqOh=b1a zhV_Cq5ueeX18CEDGTUj;-F${$ZGmmh3w$h-^AjRpl_#ZHKlnsWm`zKZytPfVR^WdtEzw){(t)@SYX{%AeJWwnFHX8F_ON|MD;Zc~d$7b|Tu zi+psK+4%kOT-{{eKOxV9!Mnjxmf4P`HSvh29%nM};-(An{EpP#K#`w@u2{gP2Sblv z5Q~X+Mx#xH3iifViIAE7!|YMEq<@fExC+TzN?!z4IK;c+C^w3PFAr+jsO~On_A)ER zlR_3y!@7KWwX!Lwa$OucvnB}P{UuvUq^bR05W|;V&6>-23{V0GTy%Aj;4uw<03C;2 zj(OGlMGW$0M_L=0wKDn2qUfC7qKT$~IE6FDFeb3cQn%;D-KP$}IFuECO^#0jv5y&H z)6<^&GR5B0f~$pty-VaXRn8PLn{OFbeL&cNYHH!Rd|r+m!z~dWQC2uoISZ^5>J~F( zy--~T&Z{DXf9tj6iVf`COFW~zYz^@8=kZ^XT-Dr>9x%)AL2mPfj5P+b4{0@itLqSNbKRy zn}ElMRQkYku9HomZ&TFeR(YL8=#M&)QsXqv zwK$bwcf-a0_kaBw&}910hmQI$9uxfQTsqDES@*W|BHMXL@OZIW3kN0*A7g{Xw7=_m ziP9zz(h;|CLXsfI&T~K$>hxJbA{j+L4XckaRk325qWsH*Wb$E>iFWvLZx0N+Z6}Ig zyBsW}Lul5o1e+)5=FXtuHyFB>2tl$r z9DE2&d+1@+*US^=+90OqUw3L6n1!=SLW*BgQJ+He_1}`7@JA0bJyD#G7pP2I-6N9O zc~W~tsDC(^g4VJ_SBQv1T*fMcLV` zTfBgtm*6vTg=UEzInGK0yMx9*^#*!9j~?pMQ@b)7Kj8H+)EYq}KVq`Qx7GFh-xt^Z zLxe*0+xz5!kC1b{aVbGSM#O?It_DM`_I1gEHgJ@Klx4-I~J7oCfCc zzX+U%S|6__aOo|$S#PDwjM{gIEuTDT_Wc=PO~RRjGX6Iu?9PNZ{D3h$hmJ!wxpeb~ zapsfq1cyL#&riJI{!;GDl)3r%k#)rlhv(|wReZ7xnPHK3CT zChP9A1NuEI`*SwZTb8zvy&*GMsJ{dD=R0cCH~eE@0)uI^o^4g@%L)6Xi3-uJW~k2~ zp}BGn+-qTfO=_`32nO{ZE(zE_w-Ov2V3Hn{rvYjCRgmlXzR^w$@0-dP> znziY`xib156a!CjJPkv3t)gBgi%{?|NJg%P}Z1T=2Iu7e9gS#iW7fS&P* zsxvr;vW*b?vhgX=Pi7|k9lW(l?(zvm%Mn)O7Od8X40 z3WxiYlbr5?45luq&tUA1LJX1r-$(cR0r*)zw9h7z4PNg#e{L-2>a|eq{oqz&g5=%7 z*K!r8EG^;q_SXzW?6T=vz%R33n1oNJcz!%ZrpaRV3F*GyiIoY zU@igQsQqo`wgrqjU=Vb!>o%=6XBm>!5yKMVJt#obE(h>o?H>rlbI^^1$N(_%F3rcU zYL{X0O74Vic&Qx?I^J$jttEVAUkvyqrMApR5@oeG?oe5Df9PTr=;Sw^LaA8_n`g7e{ zjgrtc4%y-OY;RsxQyo?Nc8ldd5K{+(?5E`keW^?k1((TB?vKkHt@~zmoX!dR?c5?b!r;OJ zLDQ$|s^gy5oLoMU@uJ3z`aEnUzH|eTk=-bzr36K&JrJp2q6m_Y>`tIaO6TGF&uqvd z(9!tWqrd69`L?M3oWo9)UNK(QpP6a1WMQ%wLZOEtmA7Z@q}Io!AlIBzI#h@B28$5^ zj=Nl-$YX7a!Y`zV z6>^!8ky5@+na}@vkmQ@orx9kQoagEN%ZDJJJGJZwc~xW^5Kc~Zy4KCkk9MqB@?OwS zzeb_2Xe>Nsa9W9f&B-9d}G;;XJ3`cJ%G&&T+82jzCtAps(W^%7C=z^KESHMiV^yB{8zfeTxx z&PlOt+AX@PS8z(t7Iieb6P4D2pm@e(U{Nr)s2J(XU*dyY^K;@&FSF+gN=p-Usj=9$r1{IWJft9G-xJ`EAeGWua60*ZSUMMg?NZp^w3&o4E3!z7! z$FZ!APH#{A{(#Go06vaURpA|KhD~E)hw2}r4rb7O zi8HvZbGI{1X?~>fcs3HJtUP*j;g|fJ-vS|zgrG@Cg{Q<`1UsKvu)dNAY8&162{-(( zoY8KwSxvq;b<6PrDKIE$AOBHRuF_Zf88yl*KjZ*oP9=BFn}xlvRKf}Kr$00fB^Lx! zn_#$rXz<vmSGt=C6^<;k)z6QOke~bmKFXRI@2c52$JK0R91=*%;2e*Cc@SsX*oM!kO*)5XbOIq4C8i`w9Bm0W3J+PUfohT%o6NI=)6B) z$ycEGbpr7dkiic)^W5gdzF_!f>NZOt_L27XaN@7NP}@|T2&O#nAhMJMr!m|1U^h)U zw#QTwt&2QS9)(e{Y^{1|6r2H=R~ zjcH@v)4wS)GFCuD;0%g4ixmr}je(q9sf}`*M0Yev^jhg<>fD&gBgrkwdXzX?btXlv z4JY!%F#a7c54j?Le<{w$vSLOfd(=Tz6ZstReB7Lv=c`n5q`|D>SG_o`BysoiNgPMy z5lXr!n0y$dAEKukG#c|fFOO3HWQ``Ch$E*qI|tU9@rn2eB?Nu!ksUr~^S?P52Eh<@ z9QUG*1bu0XuIu3x4U8Tv>+Z+%drq~3 zGgI2;MWIcI)XT3k3z@&WVTYJ+Kt-anutOwxTaJbw7OS0bZ``5v03Bi&7~x8912amp zdF%+4=7pLk&WEbjMncnxc&!qACSCEz%~v~orw*g%-xv1L0YFTB?eU#*4zo?Ca~H<)zLqNj5fK5lr#o6dA<~1zCfOZ~t*6mM{XrQ_|B|Oz>t;ql(wLY;V2ozG_~gkL}8 zPA0GbkUWGGpzKdv!8P#KyzSi3 z%-qS#DXD=727el>ElJG$5{K)c6W_rBKgNSt%l3i}pR#%C_smNmZnfzw&2`KTQnpHX zH3WY=L*6Zq)@GR9wB$YO;1a9bz`c>>JZa1R?mJ9n)#hR`r%d@L$tz^QV$kkCaJYY@ zfE}7!fSmn@M1zO34FxLRt>0rx#unU2Jk$)J(JsG$(qu;c%7@C(yJmE#wn!Fu2Ro_zY=_$B4vBZxtzOT`Ppl8ZF zd10mJjh-u7D$G|n9z-2~fr@)-FM1w~qAj8vp0}p@=d~Za$PHP|6QIZ54Q~&X76)1I zg4|d#7IbtZc(3aM)6cOz$iJDqH=L3{~_(g~t&+Ki;QlDT>2VXyv# zLbe>cCq4DBjcE6$jF`3HYwRy>Zevr6%{l%?(UhG$K?~67X1gi2IUM1@ z(B4-6`cL#=?!P&&)gfx+m0s5KxNBr<&jfwLn*dblv5a z)CtBv$O!e7Di_sljz%Se%|N{a&z#PEs`3^E8#GI7*Fh9t;?>E-D!7m>(oc58@uJdn zhc0`D_lMIrZ*(%?KNw{>vX>Tq&^`3M^kgjIE06QBM^^zR&*xJmVg>e%y+1yWLn83m zM8Dzq#~jjYZQLRC?$cU*%4w=gmJPT>MtFIJ0oqAfRnXjqw155^A2liVrZ*Lk<31KeD$ z<8&rnPUYw_d&DB5*7xpEmZxIc+xaQD9%2{NQ1aH3_VT5>xMoUC~JS z#glRqnAEsxc3qJ0dBng=0VpY6SB##{*T z^3pWp(-`tql0z)oCxv$nrK`w|EAjXSbp&+nb|bB6o9%v=s#nrC*a7RDcpSFYXO%<} zPC7)N^ZEb3`160(L&Zv@nH+8BQmfZ6;HQT^Op!uGoB$!RY=Te4^${P4;aA?0maSB| zofNhWnu;0>Ij+MQ{^i!1vTW^QhhI!&k%9s9yRFr!LYdN zrZg)?8SXzm0)&+}7U#DEH?QxKHU_~gGS088MO@CUPUf=` zF)js+S_&=|)DiesRn(*W(slTFN6_05MLvab&o|SE^D1l6VlK3*#HWu2MyRP*_-A6A zU&sXXPmcfQc~b>{qSwza%(v`$<8xtAycVVYoe?#53Yp%x?z}%3h3eYS>{yhZdml1L zB?p2|p#b-1T>gO60g*7X6~Fl<%BtDX`?&TK!}kJ-pUakWnCu(9iQzWfOhd?qVmi(r zKI0Ujjk3B0(S_Vt+PqbKR@8+g+hnYFV_4?KjG6M6>2rO17Kw`)XO|ANdG{WXe8D#d ziIx75l>*PZ^AB@=id+n>(#>PnTYLe`^mto8hZm{VN?IPj5^u=V0Z$@_>)nni=|}v` zA%ssv-W)epzjYxF1%XxUAjU81A}=)$N1oq0P$;e+GN~W+u7EcKA({6@_~Ypu0om>~ zm^N$m*%wED@Rtfp1TB;bH>b5K^4P$tx?ZFV!^&TR2OW#iT21l4f3$+;@>2up7NB zgSQwDJa@K1v<#c5Kk%6KCGiuPjbl>{IF=jj=(}xO!8sTYC&10zw9NI$Fj7W)sz{{> zpRTsuMLg3^@y+k;yyv=eDTidphD}GGx>gK-X*9#Y@Vw zF1;o#P!ziyU-(-$AUQb~pUNEcpcnmZK{awLz9?Ma?JNzoc^vlh6JYbaRp=SZe7yeD z0c_N|CGH5og`ww>?!xxr^h{K;0ugL}1GQGyUtdiy*$ZRWt|BhoE1bsbk#W>&~gtzOs1EhnN z%huZ28RH%{c15Y*`-{7#}rsA>gQjd1`s}N{oymWC6A~f zcw%z9`4UWAqN;VvGc|aBdbGZ%&v8=$=w=wKp)`mgW+`}Yoch}Ggt;lk{;LAPbb+WY=4$6sAHvI* zuWQxJ3FP>C?esXjX(XLPu+_-u-93leYkSWha1DRAv*>O|e@{XEyZwnZt>6=$Zu67Z z(dZ!^tl?BWXY}{5=MC@Vo-kTG*hn3!neB-92;IMTFJ^q(mwe@)`J1W4cq0XSQCHsH zf1ADrG&uxnY<|eADSIctmRUyj))ayDhL4QkY(BUo8nh>4+R$uVnwC=vhGX9nBDw-7 zNt2o6y2oGoar~Xk74}l<*KU8k*s^0H?MqYE*grELh`>+DtI%$Vr*Zs~XRyY9<<}Tx z+@#EH#|;cQ97&33b-kPr<^Z}roXlr5+VS)>CsUXGH$U({>+^r_*h0G&ec>=6nPye2 zL#n2`dfJ8jb&&m8ky54X7lZd(w(HOD4QOkwW%^*-;9l49oNGoT2PkxmbhEc>uy;}w z9P3^H4ajuTA7lIS?6!+{>@|90c8to>zO@G?C8~}40yn^nb4e>Zz2c&`KWm|5`L1nm zc(*E7@MrF$yfhLKlW$g9i z5zd3}>HIOtidc0>Voo?-Qdo3MOl}(}%+;Uo@kykDoaSWqno|+cGx*=e(t!QPN@fsK zuG1fJM%00>3z2kpbtXG({86Gdr*3cB_PJ;)8hY3!yM%0Sj-Rj}LgKbpF}*0$MgLXd zQ%++#wKgLE(BAq{uTBPsZh%|dV3efsTB269<3%<=mu2wk zK_@NqFSCWjb_8u==u02UsX>DaHB!BGu3*b;EpRg5dbxIX!A6G^Ky>KHs+}^ShY$nK z#YFts^M;^D9y5fy+?`*7fq-Z%>~@4Dv~l{0Kj!k+>62K>wiehQ_Zay4;km2KgM|vJAW$tLb5zGeNHcyoN{DBqXvgWDa?Ax7qTW3}P5)e69 zSbzuZ5+f6w-cymSGAB%X<{2~=Br^Wch zotev}1|slMHtN%6k7a}>lvIQ6V9rnPRu4KHoIE9iI^bW>$r&dxy3N0JR5C9>r~mer zcK0=eD-*1~h4YO)A~PK{f4h$p4~yYkVqB)V?&dZSej{3$`7%d53HT;A6CPLRHtis@ zRPPS=atylWwC~07qp)a`twY2R35r>f!xMDs8@D-{p~nq$xgBJ>d*gsR%6imyXfIvO zGbvpv*j>=p`aJj97lk)s_AuD3JS`;t;TQj(-0QvLTQNV+J92ETlC+It>=wLeId?sq z{hY8Dd)@g2%zMtw@t+HIdTs;^R3UV_&4&nvCK#DP@O=0WnT?6(cV*)xvgy9~U&$*};ZON5 z2ov~vEdH){ZygCBSdvbV7!r@E-d27)yY`i4;Z&HYiP_D4zz5w#OBw#ASM{^@=a^aDFvEw=umyj5vE9$bXx(ntn? zK8-Ovx_kZZnxei2QV3@s{|2!uL1SBUrDhpX(;RD1bp_zUZ&CUkYw^r#vct(plYL3}WG+UI z->3rT%&L7~iiRW{{4EBtJw7hPJ|FeP%Y98j^{Sw|!RpzL2`omm5o7LPxyrp1L%@CJ zShEOV@o_6I;zJVjfxKhh6toa={Z9*Z>+tclc|MXFAq~_*(Oz6LWt#l9TVLYS`SW-_SZ|aqh0O zIaObokV(g7)b!;z$;`lGE1iKFK8$V0ZJTr1apJK2=zS-u+D~G#Jetb8V6>C*LgX>A z`!;CKllhahTxqw-IL+%ng~DjN#ydxSRXA#s`)S7OZA!$hU620>VSSY4?ttpte+#(@ z-;7q37UF;kgXEGkR*ryo^2)E^iGXDPeY=7|t!!b>yRojs>e2i-An$UD$G}_s(fLFi ze>G%fG?}?@e>6F@gBLlORKjv8f+eHm+?j`OuPu`fnGoTlJ$KSrTHVi)6*X&(-(B3d zrfDw17#~WtEB_9ywVCroJzIW>q0UxBc1nmBa9wj20f?w)EZ!06UyfQXjFme10u=jW z40z9}_5W#^XB);D9=UlgnK!Ox{z_dQ=hXJAS*`2Eucw$aj1o=C`*Tjr_@o>y1H7l_ zip1(<*6UoFD4$NC@>C32t#wYg=Wq(SuiA#H$uQ+Gd^DSF+O*1lPg1q}I2`u&Ipmj; zVBJku=iN`#_Nk57?vE<$hx#sdj761K~>X zDK&sAR~59~51V2kZhJ>%^(yB2IxR&)&V#D@I)K}i6Gm@c$;PCD_&I}#G*Jv{K0GJLGWxjfG50)m|a!hFsJ6*cG*`|I26Q6zq{3=*8$`@#~mtbflqdn zskQWqR^9K7GnVKi;Y5}mPxJ>o=^DpgsLpr9o+#CW4t%V@`r0q$zgliPg(!<5|XTW$h6+r+mX!rK+ zYrQ$&Do4h-mgPChw5QQDJjMVv5Ra_3)#!rXg8>nd5m{Zi<|ACU{qI%E9!w9qa0!r| zqs9|y9z}PVh|0a)X06^Jg~pDn?$Hj&wlj|C+7X#dL$-!K&pD z`t2{Itnr)?7l3lVpW=mOjamGB^>e{y6L6Owqq?DJF36Pcn*ebY%4-^W^C#)oC(q{OfXroF z~+pBgm%H`^n zNB*cI-^|va{rlO-G!Bc2Gd{VU6YPCge;5jsEY*4PKnK9-6_3<6x-!Nd%YV<8-;(Kzy&M%_T2ALn~q<^Zf6Y0~W$cXQU<5DRkq&=Rdvz@pBLBTi2G6C)qu0;EdexJ*z zZ64?wmMu6iea8oNd{MNkI&RSJeab`t`|9BnI}I)>uWkE9IK+I8gLRWm`xiMqG$oYS zb3?(oAU`MwND1&*Q3(oHbMrQLoLl8v9WDl7{*9yR+#Bz_V!8bM+$A--P_cT31LpMj za=zO1^;q+*qZbw-0!v?e;X2^nb>n0*!vh-^N8{@Zz#0)r(>-;+^@_#S4Q}O4ZsP%A zkaqdUg7?^!G3(;&ursDy%{8#!>W(TpKU3RQo#xla6lu&)X( zc45l%TAQLQ)o-&G_!8%bsx1@o$C!2DQs2Tg61>{0X4y@~LF>va?b-_JYG2QHhLpc$ z25LxPKQ_x8AW%9jE@S`;rWY#$_cdw8vVQkqq%UG|3=39JJ6ZY)1AB<`YPQkEupl7!YybGzlVB zgK{v{sSQtWoRP=w?K*1AD7>CDl0qoB!}Io?CJ`v}-idI9lsS0Ki3BfG{YY5 zPD}sbds0-5iIJ7&>(|ogeBD9K!@T}7&GP*r-@%(;#W$xfN5tc7uCv3lgbC?hb&txR zcIP#fX|>6E`}qwp`PDpX>vd`R&Tgk5+4UOpTkTbh9J~3j+@r{J(#zw8RNM3APo@+H z^)TR?nUB+lC69w?`?7brh?ns4Di^)T?N=y={kZvtd42#$EU8LT0xiC+s5|`_kc+Nj zGcRD$Z{<{YKIb8N*f2yH($K~lI9cpmP@MWfKsaY z6v9pTL0dg~Am0k{E5TwE`%Nf=;!Dw=?Ov}vw_jiJ39DZoFO{&rQtn=bC8<~H$Qp7N zMiTJFKb$QmC~rlubV|PKAANnb=H)(x^^_zJ?b_>}SSNv>%k%c!UT?QdI2$i=`Jy3C z{fYH|&rz2``_ZD=gDE@*XC!JCw|~du(@aSK^MPkfrAfQnvI-le-Il)N!x#sA+2mv- z?(>7I%AR=!BG7)F0g13zDuBO|kIvRTE@q;)%BPyj(WFiYYc(b7vh) zWGm+Quz!1a^Lm}axYznc`A$K!ExQiR5@`I<1QM9p%G<2AIxsKfkwi7?|u@Fs+|4YZnr%J6g$v#@Y)%j;PcJamc5k+rn{c zMCyeyPAz4ay#{G$wHWiPQed}k{fABoKL0_+WAK5%Aoxs-9MQs8-lR*70e2`xVG+0b7k>R#hG#o*75mFzfQ;AW#2)T4)b2k`dqMQw-u z_ayHFHgRo7Yi|v+!TFiR|3}pnl|tZ?MnS1_8=flE{Rg93PHFP-QnBvuWWjv7 z3N2L1qWafbb|jvwu1?sL2{3*58s=$5m@M?Q>(TflS+DMFD;+L2=14BE--&$PLaQmj4%JpX+<*zBGv7arSYi+AfA*>8R#Wnv8FG($|=Ki4w0C1_bjk&;x)7Oe3}CzpjH z3k${#0I_%NiN?oJ$%o7Jft=&U%t*Y9WYC2>W(%js+6ZoG&-ii`rMW2GVl;_qWVrm`9pKG(wJRFMVbk zNPHBq(Ed;Y^VUnfz`V_gugu5G-ovi@L+j%v1dnb0WG)Zlb%Qeg0td5sTtZ-;F%YLw zhA&C{oXP~uw5U2nI$S=pXQLd_?_NygnEt=$`pcj;+cs(##R?Q}Dek2dDDEDtK=A^_ z-QA%;kst+1@#4jyKyh~o?(R|u?(Tuem;0S}&wP9Ke*T>^`H@T}*O_&!W63VpmmfLE z2EQTXzV3@!=X+K5$kJ}zHX{+gg{{D!IoYB!`>|95C3(T78ebwnI$m*j1EnBRHWT&< zr9=@je>4eyz>%+7GWg{+WswL=nMKi0+V9v37}>WL%!B_LTX%rXGm5)uW zF{U`4=r^bzy63y>4nsaY_@Gu3Y2=>*)Xd9}5h#o-Sh6VjtPw~KI!SSIgwK&MSF5{4 z3h(GrZiJz?dFE?RJ4amNvn{gF2WS@pdE9;hK6&2c;dhi`RiysRYeLyrv{vCRre$P5xchmDAHL zMT2=C<`WpPk@CzE_v&P!ycuIAdkQsqxVtg&!r5Np>jk;$k736DscFLycaz7s-gGtP zcw}NQDN;(?R^eVa3?l^OL2k%cRu_i)cG9PU2mkLq-I9-zn-*(&Us$mWP4%`PHQTc`>$p%JG8g69CXuIks{6_l>w6uc5Zm#oUW8 z%SO1jC_&;+jtedyV=0@7YQ-QdX>hIw8|nAYv1`rsN`0_*Pu|lneFKtLvyj5CC!Zx- zKdnh{RQ^ zFH@M+gUY~ptc@LI+2W@td~x_E|4JojL<2tUmT|@0KSG3p9`-5mM&Aicb*ROytGpnW z`{y7;cDMA~qN2@^G>yc@nu3=egOr(1$chd#6UGiOn8@fGdV`@L>I{Oy?FAs(<1(k>^^sUy;e4B zpPAS?T0+kX!@C-=g%!Tle9oKy42z5~&K6GZ(PIu8-T596L&#`-6QI_P#{ zAlEd+_i5(g>gs0degv!Z3Y0jkYYPhdPDMYoeA?zAfQQbh@yd{$Rxlc-6Y*pUQ7Z}p zcC4!9NlMtVo!py|nHV07ut+{`6aVg2*vp`2BL6eqbmSe*5Cy|`SS+%M9ha4*hCFy7 z4nkGFY%^{Vn9^tNk?c;nfXsFR_y6hh2j1h!=gP&N2RobvBG)`aepV=OiQ!opPE3 z1HP!-QyN4&TZr%y2J3^uRZAa?I~{jO(6YO zP5ds~+(~LTUqB#yWH@15K5eOhR9E2jTk5NY5<_6u)N0RDNRS2k+SW6=k;>|kOH<^< z-1B{%goswHZU1rt-N#hBCNjt9qb*M|CMd-58=O0N)Ged@8naoLaimpwIC=CFw%Z4u zzhVB@U^&n?^qsr2TjSF{>1tuClvximgtU6-WW*H+u@XavM$Up2^acl9O>lMP;aNPD zzoKP(b@q;C!C5o@XEMu&4`oZ0(s!KI3OhjPz!4#o;PowD|1DZH_l6#o6tNWX1jwLN zQ#*8(F2|7(pF5^!UY_e)ZNtwHr$T1z_gWiCB?$JQDFN4YOxfh?vl2Q-KGmlM3+}Bd zb9qun;{E!Br078gfZ*53+avK@tw<`}}ZLa#L@+gOU~fmqT*Ct48KU zqJCoixS-QU)?gepgXa&CIW!8!Nc=*u2pdPJ!S&^V6Xb(7OKxNH=NSvHCB}F+vsugD z%qEELQAro);EqJfsZGMZjkH3u45lg$EryI#5Wz5Z%EQz-tyPi?YRo+0p_G~}VQ zV~%@*bl+jTv$wkfRs7m`RRNnf1ZA53b7Uin2vBIy$MvR)M+u+6nN!C0F%R&^wCkC# zI)OJ9rsn#eY~(-on>lkP>yU5C-k&g>HklNR1i@|& zrqoq41@oKERyB%MGWxfSh0|-%Z8>G-k9Sy+FQiCOU8?=&k3t{NE%|^6B#xn#5d9cN zH_`#UR{r&p>W4If>Z6>9Fp~P0VAZWMl8GL-u7{BK>WYXhg}%6Yu4V|)VE*68I|FO- zhg6QbVRe=!(itC#9g&T9ngFrNDffVonT} zTcA!AFFM>Tn&{h`ToqEg&uBs0g@)HN5)S|eq5$K8AxMM0f6}dVT2y?%jAnrqMO#w+ zGD?^CjXa!bnP?^o@Do`UOg<_TmpeT7 zr`ur^7gm0O+X}0iY%qrz{2r9%MFm#dy%(xX(fL> z77PmN<)Q^|*B)nFplA(b%kv%9hFFw$mASFZwLzDsV8^&r;ebPR0;s+m9qy5g7QAIwXU}OO)5GzJN+l3H=D(5aXy(X0NU?RkK3Q< zjKPOP^F+7_-K~qSkjVVDqZYC$5icx~8*qo}3?5mL?8h8dRcOCI-Nl~_d!3LJ1>EAG zno+#99myh5(QJAfjg1h!i_5$y&>R?J(L<{d-I!Uq8#6Xrq(DJ9&E&etde z6)}yG@!gW2l1b{#T*kw^D}uM!kRkSCIBV$NHb3`qAIfIZwcPN$HfVB*l#t@4wX%DH zH;c<~IihnAt&ScG#gz5EtTVfr-ol=vbl3UIlw?csPo4~;%%o^IFlxx|QXX^TRo!X# z&OQkZXYcT>(HJ_xJo|&!N%PGNKN!zv= z4-I`{rx3WRvr8ULdxGL6b}TuJrn<67o@ng;Y-&is*1PK` zIlFaUt;+yBLM=b^Q*)Y$16C5HcNa=zXOK|F8gJ9Z|uY^E?y(FQnu=ovWN8Rd!!tUai#sGlmN#f8&q9Es3YDGb&3qBe; zuQhMTuWsYdO&H!mr)vE6I}sE7R?}p&gL|7HmNi&-qF*afqgh+#%)CP|IC9^(x$d<# z&9dbFRJnyI+oxdSoN`D@b(d#>GJ`P09tQ}6KC3v~?+9~nQ264rfO_fCxuDmkWA_|u z6gGdz*vG*KPAl#Hgx;WLHV(sv@z~=N!md9GxkobE4!Xo;`_6{5k932~cfbmX>B6s4 z!A%SAZyWIgxDos9)Mls~O)WV4bSL-?`_iq6CDif}$KToKng|!dx!4iavq1eY%w#@w zTD%a_tG?v{&x29D-uoSL(Lg$;I@9HhVE1u5rO3FftC)h6E0Qy%WNS z>wx<`NCjhXs`J`xwO|6)Z>>4R;G81F1o;Ko+GC4HIY19FRjSo#hwf-`_6_4HTv7f3%M)Z;I9cH`k?WCuAFDm_cML zUtKe$+G=)Te5hT7?;Cc*tF+Xr*>`7lM-G!X=I&k8_t<90{0 z)qL*o8jK{Qu^O#;R^oSQe+c7qJ+vf#^YHP*^Igj zyN7s9jcjF*d3b?Fdnk&XQ;x<$T$7Gmfn$MCHy+;6q z>l=m$b{!xd-(aeWB=3S9(bTc_*il9aT~Q!)K)v-1=F}iLIfV|CYm47XGXa4CgPf;?DN*!fq{bL#&SDR z+g*|0@MS*?zSG<(1$)&eXZD3%yiY9QB3gqE1iLe>(R;WPl5BFObT9L*A8&hb9NN`K zGN+53g;4}Dmm?&D3*s&4uiT=o$v6J!3)4Q_bN|`{=T+QTORlDEVdxJKM zS0@^-DBf?Ly%~bvOm30|{D}2u9P;INnri(O#Zoae4Y_w(nS3z!OGl}Vf)dI#Ni~l1 zIB@bjq29r48+hggZ^=47sJ)UWZK1(R!l2se<Pn6>aAR<>X@VS*66}SmDky_e4i*jwH+~?eVx?{$x~%Bgv8lJ9{UEYd3%5a zyZU31863?^wZ0r9+;k=Aac>ACJv9j3#6n^$hV}$#1^wnY+|HR$@+rUfdb&^;?7up= zI>+BC5i4`=MCu>&b9%J?J?2SI41NUq*S68p1(4$b?Kjw7j|F>BN+2nS;93H2uaL_m zi83vP?Gj~`69+5Sb+dk_F%4_xS>PGBPA{t0ejD9=juhXBXzJR!{HPWyCx5;D!Q=C( zO&hG3lbZe(V~2~V)o0^bonSYE^X!@SkVq7>LNg`$<$s@j3p!tB%qLB=i^nF58Au^Z zdXI=&M(;V=Whe>EMC*q47|d&zfCWC5zu4CKz~A&$+=Q;+^W{BOCTR*s;I!fQfA6Q8 zc)JTldkUTTC*Q!j%sotPO)V+_;sVdjt{Vi=MVsawi9PqVcwjiYe*Fgu=e6-60|N;N z#7>yQRUAgiVcL@A$HB))KqIVj0Rk+)xPHT_lYW4nYuePk)N}-OeI}2_APtF#l8S6Z z&fzz}OUS{kVW3XRbCtj7U9%Ha03ju0g?Y#c-QGOrUJ~HcF^QG<~x24=uVOVAi4TrS&VW0Lj zFCffc-8+LPtX?CYMtRsPTr=iEY>0SRE4)4w$*34v(SNd={R1uvWG5R&YB<7boVMsN z#Gg++`R%3=e}KV!(#QlPgU;H~#NdZ1UqhTl{iwn$`VM z+1w|^qcvARs)}H5-?T*5#O_{@#Jfw>j{`r`it)1Ym7UZFf+XG(h_4At$p%;*wf=&y z3a|yI{(@(DLXbaCd>S@g*yc_BReV!yYVu0!-8P|AQH)1#~4iEa`g^oh+RfYp|gCo@vP_W`np01P?) z0P;8w9iOB*@$>S1v{t&7wGry7fkXYmB8d%~UGr~5Hi;GVX$C3PuIns{dc!D+`qE>- zXt}ftL8j!(H7lIeZekm>n>}U@cOcg(!6s$_Sl6+Xjs+|P;RVo^B<$u879yue%O)3- z;^9Q476(i&zZt%D?+U06e1CXgjyce*IAmYPM02tFYiE00rWyXF^~erZjPHVfY;b#G zX7sNYwq&@JUU++ek-L=Hh8wzLlffU@xn~&e_)$e23AQr}AtmSgAJ{ zBHm?OyL0cP*C;NxPuGE5w*}AwoLtR-g=`KXa-&1Ck#pz9&sl01)OUy1uW6QDLt~WE zSZ(5BcibzKSKb5=UV`YBn?{ojKxEwK(+u!XN=GcNv}K68ojQB2E1lat(}P@Om=%0T z_~oVa1Y+{_DoUgoQND&j6~|()vHIi!V4aw|= zzXHu574e(I&@of`NB8cgiM7Yn?$3h|@I;f#E(#s8b{J$M0^)K)?F)$VF^dLjexszOR7!y}Z zFlU9{t8I}V4ty}dC+3^P0KBL06%);RaPE{dmC(u^Q4{d&nnW!tQ$1y(@oH!WxfCIL zsA8nv3?yi5zY}D>X`d2Se($uSYXAj(9Z*U{M{R{Du-h-V9{#ZL#Kh%zAbJw*raD$T<*p$e$fs!?%NF&MCTn>;*!8dtCimR zIYW-f$fM*_D!#G1+)qLh%tI5ex1qHLVhl@e!NL07=!t)k66bCI&>uwld3@skL^-Tq zU{O0Ljs+FZK6x8*QB9HM0(;)mWU7jYleG3pFY8vImlDi2ZN6p%5#SS-QlXDC!HN7~brh#SU}%1Mbwv1{^V3 z+C7PN@49jEH6Pjn6PVu(PjOZZJ?)QMt^NJ6G-0#jiu%c~tF_XvNp?`Lz8}OTIEuG8 zX_`;TnHyN%C~mbe7YhIV;aphl)m`YzKU4-hd`7oB^hb}0(Q9QFCBw?>fP>8oY-ao2 z=Me+vY9Or>O7@5~6QM)&zh7m3GmR$lr40{SkM5e{Efd#xpU5LcQMh|sd9hv{jv3MM zxO&ZB8+Q^T6bNC$p~}i3q2cyd1tKAVsiai;1_=;3G|$Uuz#HYHH1Fdp!{^84-|m+3 z>9KQqk^_fAGH4>RSok-PA!de?1gHKo(=S!b>O~FcO)Vc_m!udI6W<_wP}0aJQ6=7wm#euOo_!@h4uPA&x!RD)l;5ept;> z6l6=zs97bgIx0#>6sY^DaCxb&)5;pu*&UJl3oB>DFu(gLmJ=lR(zu}ZL&#z+{|Ds? zb#BB@EKpOUPR3#3W1SXqE?EUkJS||Phcum>JU(u%hqlh&%2V&X>XxDGeH8*ZN-Ly|%9yI)?tbl}-#VFvTg^zad(~635UIX^QJBr;ooNzqOqT0<1r5PN*Rx z#2|bEyM^<2wv)eBsu&9HP98%1Y*EHp0R8wf@nO%-=Mb$wd};&jEDZljQpyoV%Z&{uG($!Y)tn{inF?7+4)>_HwQF zJ_E?j?tJg6w8GLgP-IjT&B{mzY$Ze`JvDs9yxvSvcGTV~XU&AP2ponYgeqR1>%RE; z=8s%G*~{E&$!rWX$_-DxtTB8crF{GxW0{gk$-gy}F+px@WP@Sx2Mtq_!YwTjp}LsZ zV`f>42AtZ%v^xflJFJH5Pclz^*F0+Apu$r=s42RO-*wWl zk7hsGdB!Txx5IpbQb9Wp8@QAsq5Kz*qoc2_14J`5(G6}458Ybq`ty{u3~uY=_>yO* zF(c-)`sKG!;BT7D4E!BG&u~r(f%z-Rig=X_cPlpWUf^?;sjJRsJ6I$PU6i6Qu|K4y zCv~LiOpH9T;HjYqCIw2!E*|@t!d4m(PCsYb>al0n`~7A9Oog&O*|F@@ijcg-5{gd&6an*N{Bm2k$E3m^|7TYZFzgxF;U%)Yq z)JLBRoHMS(Eshx}NMpYfNhzPj}GI-EZJoA$b(9y!Fz81sT_&dUY_hSHSw#33WTFQJ>o235WCJ&D0(ll zL|BA}N)RLW0%=ezN^W#~DJ>q3OX9(=!T7&#%xbJ#b?}_nPmEP$B^ToJIR+p>uBu*g*uQ2Qza;CxAGFKo5$g9wWBE-M` zABmaD&RV6j>%T65{G15%dr57xv@6NN$?lC9xp(+A6QCV z+2;|bi|{+hQI??d`|YvMjcPb&tDgTLxzin<;1VNyN1Jc@KGq#jrq$W?$e{zQEc2$G zm{M^)Rn3IO@$g4T0qNN;jVprgsz+aI;Hm5)KHdj|AAl2OjoNQ0{52myj1lCi)+SMR zSiVJkjWdKcG|~1{R9`@e_NPMJEJ6vAfGbWedn1KAo+5|PJ`+%C?~JL)!| zWy?L5+*0-NAe!GTGbZ$8J9JgU;^3Q?~ts|B($buVFpE(4O-Yp_gPqo-J}TP0KCq1!UZRYitZ5cn6X@`A z??j=v{s~?E^zsqo-PA)2-oQ?xs*%W5-)LP=S=T^ zZTjZkl`qY_nsl)C`b$ewNY(k{Gkf09IS>xD1rS>m{K6Zrup20MsYHz*U@+?kVr^~J z=FhAyF-;ykQp zzy(on8pL%t(lL0GB#+pk{bsLv!%ZWTI+2@Z15-OPo$p?Db5d(RSq+aHi)c$R5hS`b zY-~$~R?t)M+5A~_9)umPArSGC45>8$m`Y zpHlwW;dP@pXX^ebA`ZsS;>k@!ZM8SQbI^D{-{BDW#-|`g{62f~f@{aDN)}Lep)6~Y z^#tT*B!u5rn{Yg?0U6@x#Rq5GyxCqhVXpm6EHrA$YWUgXZje&`h4k8ziZ%mV@iChc#D_>gu|IwZ=J@FaEUCSQ%9|S&ldR^X|=oA|tC& zyUz_#m-gYM)K$i)Tt1qOBikv=+6JUeiS^ZXty_cb=qoyEotP7U&GIc|LM^)!C={%1 z#&TqN_pQd0M|!xs_LRvkW$}`VVFk(`=Jr&pUS6sMtDa=K9Q|>yAF8h4wr8=HY zQ$h5Xf@X6%+rvxTdJ4RjR3D-g9S|>yIRBhfw<=z?1PFZ<#@&fP3aX!JbS+>j^?P}g zDUKtQJiH7-QLvnf`CIiYQHDv{>2jDg@#@aANC;ebo!oXA0e=i@svTO2-+O(_!#zh< zvi72i-}l~i6`qb#k6r4fK_Q=eP1Vv<4*SU$m`mn-qxl>3QIc?mWM)W0r@T$0L=nWT zuh>gBj0!}Oct>@k3#`PpwJ7$hr_I++B#wyQz3BD#{sYl$(Q;a#p8j(aCLxzQvvTa4mhE6& zK=-B6w4~hAn2FvmOoAijlrkfXut(1$?oNqKEtjj7Sv%m>Yq`I3eKgsoKS# zJ$HxY8;`&2H>U7dU9>g!pwG5nJlk#(mV@-izI|zEfiw!l&8^lO#&3kazcb`Tgkj3T z##J-u_OyIka_4iV#igsR!|!g|HQ*UFug>xX$O=Z8@5-L6IX z24fiogvRZBd0DKpf}{FQ**<_ZNbD8iWiay+A&%B^xr)yETaQYh>E*KUvAe~aaMbCj$Sn5$LH;NSlqaZ7w5=cVnM^me)iUOH#$SfHql@a z3e`#%OCJo)uj=B|5qnEU$_JNVHx^(pbn@d>0YCZB#WLxr3GIL2u1b|jCA5Ml7f6VQ@48Mg+K~k~Av`S1m|6Mup zy@$(tmZ-SjpaR|u-$!#be~NnTrF<|+(D@@i0TsXjAG&foa{*5y6Xb}=kg4CN4j0bgB{(MbV!wDe< zCKRU%cvN4VE;2?_*lzqg!+xwIsmQzY^`Uh_sEQHESz-+Rcm^L9$p@z{swxALq!%Jz zgEb`oH?GUT3KgFzQL)z3NGy=sjb9=`n(BgRVmz}>7AsGJBlQ-DENfQYpOA|M0TsYZcm1HHuFl_iKC`0Cwa z*D_$9ltbsYL8CzC$HRlsY{HaeOlmx>bBm-lzp0${TX>!>6S=~b7J^)T!C^kl1t!k{ z!LEezn?vIpfC!Va&$XfprC=3B`+s_X)zR|-hL(dBGEC1!c)dLrR^aU!jGn_d)YAG# zlhcY6*nLwqx*W~`TRZ>uagf{R{)^wRyWHI3mtgddpNTGST5W#3`q4UH3QpF#v`w6> z$Ni)CE9rUO_*%d{R_EoUd`Yt-0`v+FfIw z+BmF$`)w*sxAXHbI#1m_oDZdKS4ZhSll$R3AnO*dw*^qC2nB9^Hhk$8s#nP0X$rco zsbstO>$NutG6p&xQZ<+-DV~84n?X-UOLW34TL$^9ZT3{7V~!5Tr;;qLRRLado%_&o z1YW3Nn+Fevo&{QM=*)@l&KcRzA+}Y$k;K4B%V&)zb#Tx3SY3?Qu;&ac`z_51R>ta& zGrV4wh&%(jfNpkSbJ>m$Fp5STH9l7s!Gl=cGu0YuPKo zh@?BpPpx2j$gr`#-gGyv$|q$Kj-DI4bNtPbOtE|<+8L$`|UKNs=@5&Epr-`$<^*R)nQx-Y>RNJW~Tx! z5F%o=$&Lw1_-`X|$TX*TDw|chb;)SvSNy*Z?84Bp`_3uJn&Q7^l@fOjKjLMmo&xLA zbEH{c(Apl0X`27#7?;SpKBAYlPxdMTA#!~{a9RmA5A5TE8Hj)+~r(ib=mqyhN7)Zn^80q zU0Q>5(oo)%kZOYCv2R(k;-fj`t-EP`)7Oh4EW{n&L~ebuecbe;yH=@5;jvi}=@Nee zV?z-69UBnyqU2bBjR?)JA?EQLwUD>bzc*K_@pqE@6QudF;3plcKZOK7Zi`s8wy1RR ztvf9De`zbVv+mJh@DCU|tY5_BiwaTIwt}emSw^YWNdI&O%lkFzbZk%SO4#MHK1HXo z%2&ELM>8mnWJ@*+mTqasmi{YxZ#bG`?0?t^53{?V{de*M$K7q|M%IKMT>bST-&XXl zc;F`W2i;)&Q@804 zi*Xn8_;u0m5%agEz$u9@HFi7+iX%C50U#;*N!h7eZEo28PCRmR#`qAsVEAZP zrjZ-ed*fF){cmOuERL08e?Bj{+x|64@XQwwYean|Fm5xAiU74eXZJA6=JU@D|0h51wD6B+Vu$n`endbjptTH?Vt7v#RUq!=#LTXzlBnrAo4Y^<(}t~o|pwY z#Flg|Io&QE({hMV@m;zCi~H5Ch+e?XWc&G_g8M^&ndj;=!F@NhyDb;#YDcD|xuabp zMQVg!gA!~evJ}~LDw07kT#^r;bUjeiqJA;atVeTo(C>JlxQN61cfQPZ0n6R@bC`2{ zdlj^jid7%=T?M0~*VJXw7XVBheXJH{T z)|4~(x%7?Ib^@|L_OSlm?o|+ZJQf)Xa!M@z-AFaZ`?8Ij+B6XGA&A_|B;waJmiN!h~5Y>~FZ2pee$>_R?32?zyn zPVk1u!#Fdi|0S{}tn1Wg90>|&hg5o(HDG3MS)*Au;(Mh`x<<3mll!ti8S=M97&Nz- zEZ=!ZkKiJg*Vcz=VJz!5VIlD5h%P0Fuy2V0(~aA9-3M=ME>MM{zMOj3ayS-doEcQ9 z@ZRo>!ugQGT(A_sSa0j~H8=IJN=GrJ8_{fmHFSD?H5YwI=TgHoN-3(K=p`42<$I{q z+(EiG!M$ZY^B^hd=dA)|V;jbW5YfOVPZ`V6L=NUyL|{yU6xYwi8qL)f^0b#56f6>Q zAIONW4U{8Q1C{Z=$&yG>k6NghTEAFEiA%kH_F9#X^|-#<3DR!<=FAA#H~4kI=4%hJ z@6|)9`FQM`!5$Wm9yk1gq+CYxhK3ow&I^Sv#)yW)3Iv~>9YK}fRc3hLbk}=4F7B(85xnJ@wy zUCeta@fl6sNh6(`Z+2-)?-*8R5>TrH{U{a+5ipA96cSm(TLT zj~2ot8G^8dzr}Nz!mD(W-izm|QWH|z089@cyTQJw)aE&6#*3R~ z+2d1^3jRLlUKgO#it@D+bQzCnY3}KRiw+LBPZJNdv!Cm=7HoeBAsgyL)ROeq30#+9 zauB%&^q>c|VLWg&lwX6pS|9TR_)-%qprQ`%VB9eXPP6O}Qg?lg!5P{o5Xp?1Bou`N z&VW-g>TK;lpI#Z*$4gQ@PD+*aQwSkftvg8rjar(Te@#I_?w7=SLy7AXzl8`#LI?`%7!BIq-g zHRI}k*|Yj+h&Z>cO2(bnPXRnH8~ABYX2XHh_M!BVcoZ^8%!pSOV&nc5)m=}NcL8-J z-HAM7Q@kilDc~!ASRXCIKz~#R&4yAN%Twked7C z9mh?MT}O4tateS}ls>ss!TRjLiM$Ws7nyVJO^4_`tC<4@tvl5F+rGs0?2hB2(*O2N z++8e|8lFf68vU4E_mxRv?Lhj;rJuR?U@e!=)E8*0cx^8<`OxxTUg8uCPP&}YT?+Q(r%y+7jJv&j<nla*Lu0) zhi?o_BlA6<)C%FSA@2D7{7z4 zBFUpci@so{U?yopyL7cUo!Qmdmv|oC)!ern;|K0S3c2U=C%GaMR*K!C=>pCSu!qL@ zqpD2*=`xa&Sen`{Gb)e0N&EfOiJu(*IT8pl2}`J|0@HOk4=SuJ#I&RdZmLX19;95I zQ&=WYUx%Vk=+ED6!EbZnbiXa@Exuo@*T-WLJjRG_T)hEeS@ulk9?OnLF6=>o4^^FB zNcTo!llKil-vNY9KkBxVxbWBZSr7G5hhw%82qU5<@b4X1-)=`96MMHBoX5d6WU8$Q!%RC)Yo-%kSbu7}1^f{Pn!(oQAgK6&+ql7;Ub$94p(R z2WB3C|5$di8=I~iw1UtR8`88mz^Z#a1%goapxXq>qyI9_i;Y~l_8wvEJ_VxWhzS0$?;vq8KPY-vb%VrwMHUqrL(zfV*;H$J?a zYl6-NxgeU!lWo8g^sHItiRV2SA#%Mdm|NLP(M2CNdHDb?j9hEV_h!@m!I?okjKYe$ zHU+$(-5&3b8a*yj{tK4Pwnve?O>H#SlX*&-0KWB$GJC!+zG|oCyJ&2{5?PyR2FLv% zjs#UUo^Etzo^PwjqGJ*4`ujk|X)GvAfp-GyvsLHZ?O$Ce5h%{ek8RSl&L+x;Sn4WN?o`DT4k!F`BYnPj@fNhE>QEcyn5 zF@z!?B~BA*L{V;B{%Vw=oxnO$kBv|8wDkVdfN*MIi!_iUk&5^fuQ z2O3eYnS7Jn2qlxDT7q|@H`M~Bz#VS}sNX-~{`Ge0 z7UZ)Hl*4&WJfnAo_kKx;pX>c?Qft9eGIkId@4mPDDCxN96cD4sI-1T(TqH^LQ0E;m zzNoZ1)fVpq7s}}iYfR!SY#=UY9HcFhi`Jgqk7gq7{JBK=J&5X~&CMLK&CAcMwTEwl z^`~UEYlSuC_3DThO<7FMMLw{=Rt~0TwWFE-;(oJY|EvBBj^>9u)6NxuF~jdMzI1y` zZ=$7hKhglAUklqIp4^HNtx*6N=0}3j>y9|o_N12$pmu8(^(boN@V;c((=P`Ubl-5~ zUM1xbOuTD*iHX9?O3EC!(==S$n}<=iyY+q4jC}YH+W0Mg?h#JNFs5W0C?ENbIMbVC zj|}h9URf$=AP_4~=wGjL@SfeP+4>)*-v(rnq6MT@7^#W*T=j|HJ+NLQx>i;OCO45D z98an;X>&K|@(&&*Vz=L@E&jNO8Rq%0rUafFtu1&@|((8k9 zS~2WGS??F#d31z(N~s@Y{I2)%@F*secB*yQO_fiy1g~I|KNT&2Ju-fWg{~%V3S0qn zvap<|T;Ap1^}Cm=EZtrMKgq0E73}uv-oRtlSwhG!S4Qp;`cSE=kEOj%>T2IXcd95T zq#=qQrN1;C7)|9&sFhIstA&6LTeIZCNkJW!?%p*r#0D7?d-mF0vfSs&YSlHVxqI(Nk4Xahfe7 z59C?>xLyC!A~-#-AxddT(~FL_{F{pK zzu!RCJ1wr{b_N}6i1;HWR|4nGU8XpMo*X;XsKqz35o#^~@&^-DxI$nSn*@6fVnt$z zaoDbGwNi$J(^Rh-?j5`0tRAxBIaVo{3qDh$6<^MNR_pKc{rfHas4pIB{@{84(WD3r z>*s<*WPiPtglqY%6kLa&?{4*7`DoZ1xj?^hEKS^h&&zKA>Z7~Xc>CP6Wxe%SdoJ+Y zs}yw9uNtdfwhVTuo>{S^igu}4aycgPa9w8WSECcNsdf^hTdx3LK52=@)h$A!%D=`K zZ~^ZeO`oy+(T+J>^i0bj^I6QV?Q>kZAn%`j;LdQLyO}~RZ-sc;`jSp#qZ!3cFr3XJ z^fiVcc?eyd?&EsUv-5i6lF7jX&)o|ViC4;|5r!X*ZoHO^eIQ`DDM?rL0mG32Yu2zr zK?!ra9+Q0U`_s%q(lVl86byP4RBR~}wEuH-YkhebwA8L>fa{cW%%Djt`Q%eLIx0E+ z!8EE4KJ)ZD@L5fgP4%K^O3B&vt3>CZin^@BoVsBAbKnVw|2NE$m%C|0*Nka?><<|4 zQf|g9{49k$?X7b4RK{ME=xnSdy4=&G85&Z}A((&@3y$|?<>ElPLV{F-j8REgVtl(% zBx9uMWwen-Wt+ouhy)P25Kas)YIA zUZPy<`o*S5YX1_U`9V?}jQ1FB?Dw)}RcAhW>zHv(f{S_6n&u~WkiJ#t?ktCBm5sKv z9vh-$YFVhhdgUI|E1PH>89MXJdV8%!FPO4JAOv!%bzJY%dQPsvNy zlRwqSTYrk~&R7ER&0u0Fcf}Ao(yaNU16V^a`4{yk%5pu&`;=mx)Q>+(27x8CpTk{g zSogNa91R2brc0Bmy-U=NUjm%hjxU$?3mGHTp477v0zOR80vnFgzg1C3+CaZ~#KGZ& z6U)KLfwvVjE4m-Qv)^_&U|pPWT(t|nIir)SJ5u@pq4>s0#h`1Mm3HEShLF6$rE`BP zN)5kfpn{!VIVSaAk;S)Gc|ED?B*d6(bo@XtJr{Jd4Ux6!#;;-GGFQTT#5*hT5i!57 zpbG4GjJ*!g`=&d}GMyYLPgl&D%Qc5PcRfYw+I3koq&Yk3A1j*FU?*>H$|Od%NY?m? z8Pg@w-Fq^pt~nWz_(c5Ps?{Z5LZ9_Uw=-{#$v%a8>JJH%!G8jjv2GP z*HCbmTfUeJ0u!)7^B3;vqO%K%%cBA24DC$?YR$V!8VOwu_i3q1N-QPj6nH})Um`Nf z8$R|upMk#H|E8}oe|fmE>^T*9W1I^DsQW)0yACcWay>ed>JAC&F#NwBlmCup&M%Fw zV#OWBj5;P5-7*8i+%p4Z@2B(o&{M=NI_jTK4*-VN&-WMAd#a{2?QI4v!^zPEmE&s_ zJxkP;znt3`Dv|^1IQ2Or4yAEgza9xCRI2)=YU#FWt}4+n#73|}5W6L`#{gIc_DIpEWyUgk z!2v}?KxGi=C<-DaN)<35MM4dz^cDdD0U;`iAWd2*fzYHTbc0}kpb|QS5)yg@q)13Y z5fVa3zRWjku6MqrYu)es+-se6_IdZS_kP~J&UxNDfe%I?ixNHtAzqgP4%z{M>Fn^F|J>V34`O1hJ#r-5lg7rZu#EF@^ z|5RJ8Wa&F;&W^2|Std5AitLYKVP2L;HatE}mPYNP^-t6o` zu5d5hqe40dkBJ}c?(&jUULqf5UAJcK@TbV6esJ4>PH#!9a+c|wRtzUPcVID(v!Zkk z5Gk=NEA|!gb-%=;8aqJfh702@v`E?``9EvsH(ZqHJWkNG%<5*SCn|AfgfSR;D@G%5 z@n%TR3@+mROzK`it_DVf*7y;@EST(b4B^pB8U_C^@+?nJ)o+;=q(G!~c`FRd;3Bw8 zB1+*rE5*{*#>zUCwrk&VY_twKPw=w8S8#flDQaP5jvXdj?{99+Vq@1?PbJkKIzt#d z75etp1E;F@;IiBpQT-R^G%OO*E%5idwy#H^a*To6gAn#t*^zDRt-C9e`x(JdRvC^^ z9CDX#^s{oydS^q-Bh1rW`LKhN1 zVw0Quot8PDhX9*nFTJ7oAme#@9y2BRC=|d{l9f(=arOPVu7GXNz%TB*s8$)dCg(*Z z1AHk3I!mBvFLOg_I9f6pN&t@tCtn&}UkWNsh)z4GX8?qWnI^j*R;U!ziiY0~%hnAy zhi5}u&YFC|LBy9i8~m-qU%J)rs=3f)BR%Y4ZlcFw#Df?R4C=Q!)YM)AXItUMU4P%A zR!%7aik+1B%U61npc5Q&1E@bId=rX6QZElAMQq7Ut8qqEfx?Pl<=}UB-=0#t$~{3^ zImMt(lC-u6meUc8X_D5?=hW#8F1vU8MwK%D}lTEXC08E6CqBdR@tfq?c+9 zZ$mh$1()J4RZH3Vz5oq!aEh%*oD{((Io*Z7CVp9bem*b=((9|W(33t4CaA`7wJ_T@ zKA!)a``QVe#R7ykAw#qStPyf@?4Enual1Wf6Yj1r0 zqQk@+fJv{_Oy?pNnMcfMeZAGJJP`F^K>WxY^uC+?)+XT4)Awv8KkrZl1h>#Bcn;}k zH0+;U$K{_{`#8-L7RS(Y0rZau7Srk7O7{9!Fp(8JDTL;!s3d}%oUBnNqW;cX{tSlP zxqMO{7XAiDQelZ#ytom{_CfDQm946ahKAX|(XUTqxSU-~IDOB9aVH!{3?hLiec!^L zhV8?D_@Kj+i!Y$nc5-Sp!ngbTUwSMy(wos!k>cb^5^peia=L^hZN6c>8UbAP?WuH( zOGYFGnJm32aF7XdbqHPq$Z$%lw{2;q>J?iyrC8(aS0}o&D}+^^S!KDFj^>fHdFKWZ zCoDy{TFJJ3EaJ|l3X-g8JF$zc@@cs7lRBTG;FDju#bd+L_U2^-nC?YQw{Y;0I`S>= zg-A#PETkczmR9H$|w91IPvp3SUqOL^dM|6z$s4{e$9njKlDG$$#nyD!|-9gRQ(^9QIsMAS}3Ag92hC-Dc;d5B7kdr5;DcP`Ef2jF9XR=Q>G`->SxZVt`aYBB}N28dxG@btLlkEop+Whk0x3o zLDg-Fhs8$?zKG_j+165$zQkHmmpY1OCUDrOiF`I=7uA6Eb;!3(y5k!3im}PtbauoP zKe5{pBYO4L>}3YX;h=*aBBsx|1<3I(6}Hu_@4|QFY|VsdsJ60#L;NrMybYb>R6jnf z6CHfFzcLE)N@nMiYJ^9J`Cgrw5arP0RRSrB_m68Wu*C!b`GAeFItPCWJ^Z#KE(w|_ zKWSVw=w(?M-iKD`O>_T(Pf6&rg6e}Qa?2XZmrbBBpTX`Tm($~YoO?sc_uKE-mEfMhz=Qjeno#z% zt;6yp|ANalep`|AKmxLI7{NQevYcS(CWdR?Q^$L zx|bu?0Ja=^A1R|>wX&(%sFb7W7jb%`M^l#07BhT#TMuyX^Sgm4_aL@e9QXdEV4!Ce zz%FKMZ2cY|*kPE}7Gq*1Kki1*uU;)LvtY|Sv`P_6*G=RiU}HCvu!~a`rXd95>1X|J zd5sN1;^GqK16TU0Mu}r3yUDlKZ=;Kp>-}`tpj)D`*t10(bpqP}1q~SW26enroplko zQ4(Nay?nz3a#GP3W_zd~Y<;N+IBSV+{)JYJU)NH0espYhWcH)t(&RrK)W&!4yu|$eLJVPuk=k{D-1CMLY=bqT~SzFEo;1>{Ol*LDyx368LD(n@2$*`-s;eMT<3Jb*BH?AO=1zij? z?-yu)O{ZP-3qF`bNx9Mn%AICh4w5Ty64tJyH`l#$(VNA#btPq2s7r{xg0{GLr0m*m zPpsWKd-|URD=@zxUA@}}0&gQ0M@)-AV#V^C6R&c2E!&~|hK;gI(bLxu2TU;geIaL! zc{$ynwOfoDGWUl;`^~`_ES-}z&AyNl>&3pALQ7P`%UJ(uTz_aeILNEufps(&f$x~B z#(MS~4x16bxG!x9Wr$GN42w=@hRgIO$C*x;#BLDp_E^GL5&vudncW$jex?}xNkV0G zlhl!|88_xqbme8)#)o{Z-y?3eJLQ_wxg0Zv1rZUMkJvFkagI9u^AF%?Bl45#1}a|A zPQXUb8A*K{W6$x21BB{MsV!{{KW7>Q%gf-7P?ptNa{&&KDd;!paeOPuMu>H+43okC zOAJFZOcU)QgLWNM)mtD484C+-<|-a(iCW3W@RQvYaE&P74{pLOuJe8$0U! z9mVWzD>3@EHaQMXFADEvW!PzqBfB1qcD){!zl|=<4G`&3M7U%7CJpEyzRjL;01`S` zlKPQ5r*7<*C9SfsnfZ2ukT;6;wO8lH7c#x;-X?F%hN7u02FAK`OWs&vcRV&yGP-}z zRE`N*vV}^xcrCQZUvbmgSguFx@Z&R1{%xx94ZbkxHUq?hNWo7}#`#wL{9CVFS4)g| zKM`2Ibi{RGDElIM5$J_>@rFpk8h49n%>`m=tom~rOo*_)o%YBq-K@+bN>9+~LxpzB z-KnZ~k!cqpJ&JWvs`tuTT+qs6@Z`OUl!I&ZDOFV{=EG-phBVRzg*G!VxAeQX9=v5f z*r*w$+mzynxml&kUGI}68dk@|S;6M}PjJLuL41CL%d9bC87E@L!K|`tGM>1II^EQy z-9$>lN=*#6=N_)lE2&kPrcuSnE*i$n(?N+H!7bw5@t=LcH`T-|=*=`28cEs`wR=od zB2-LtObNCIhzcM0=)%l!?()A}dm#tvJ(y`puS>vQxrr&R5NL;f)ZlsmO(~h!#YDaz zq?4!<-`0Rp?qd!36 zUvKjF0o@2*FxZ~mIc{WtzybM8ODtH}Mg<`4Y87IE{BI<75h_kB-(V6AcEb