From 5fcf055949e4985877a8fdc703cc3672b38cb2e1 Mon Sep 17 00:00:00 2001 From: Leem Date: Wed, 24 Jun 2026 16:48:02 +0800 Subject: [PATCH 1/3] Fix code-structure doc: clarify libp2p vs core/net responsibilities - Attribute TRON-layer handshake (P2P_HELLO) and keep-alive (P2P_PING/PONG) to core/net instead of libp2p; libp2p only covers low-level peer discovery and connection transport - Correct protocol/chainbase directory paths in code blocks - Update network summary to reflect discovery/connection moved to libp2p - Fix architecture diagram label: crypt -> crypto --- docs/developers/code-structure.md | 167 ++++++------------------------ images/network_architecture.png | Bin 229167 -> 165721 bytes 2 files changed, 32 insertions(+), 135 deletions(-) diff --git a/docs/developers/code-structure.md b/docs/developers/code-structure.md index 5b55e64f..17018a63 100644 --- a/docs/developers/code-structure.md +++ b/docs/developers/code-structure.md @@ -2,7 +2,10 @@ ## 代码结构 java-tron是基于Java语言开发的TRON网络客户端,它实现了TRON白皮书中所提到的所有功能,包括共识机制、密码学、数据库、TVM虚拟机、网络管理等。我们可以通过启动java-tron来运行一个TRON网络节点。在本文中,我们将详细描述java-tron的代码结构,介绍其各个功能模块的作用,便于开发者后续的代码分析与开发。 -java-tron采用模块化的代码结构,代码结构清晰,易于维护与扩展。java-tron 目前分为7个模块:[protocol](#protocol)、[common](#common)、[chainbase](#chainbase)、[consensus](#consensus)、[actuator](#actuator)、[crypto](#crypto)、[framework](#framework),下面分别介绍各个模块的功能及其代码组织结构。 +java-tron采用模块化的代码结构,代码结构清晰,易于维护与扩展。java-tron 的核心由 7 个模块组成:[protocol](#protocol)、[common](#common)、[chainbase](#chainbase)、[consensus](#consensus)、[actuator](#actuator)、[crypto](#crypto)、[framework](#framework),本文将分别介绍这 7 个核心模块的功能及其代码组织结构。除此之外,java-tron 还包含两个辅助模块: + +* `plugins` - 节点维护工具集(Toolkit),提供数据库的 lite、convert、copy、move、archive 等离线操作工具 +* `platform` - CPU 架构适配模块,按 `common`/`x86`/`arm` 分别提供与具体架构相关的实现(如数学运算、市场订单比较器等) ### protocol @@ -17,7 +20,7 @@ java-tron采用模块化的代码结构,代码结构清晰,易于维护与 [protocol](https://github.com/tronprotocol/java-tron/tree/develop/protocol) 模块的代码路径为`https://github.com/tronprotocol/java-tron/tree/develop/protocol`,其目录结构如下: ``` -|-- protos +|-- protocol/src/main/protos |-- api | |-- api.proto | |-- zksnark.proto @@ -28,8 +31,8 @@ java-tron采用模块化的代码结构,代码结构清晰,易于维护与 |-- contract ``` -* `protos/api/` - java-tron节点对外提供的gRPC接口及数据结构 -* `protos/core/` - 节点间及节点内部各个模块间通信的数据结构 +* `api/` - java-tron节点对外提供的gRPC接口及数据结构 +* `core/` - 节点间及节点内部各个模块间通信的数据结构 * `Discover.proto` - 节点发现相关的数据结构 * `TronInventoryItems.proto` - 节点间区块传输相关数据结构 * `contract/` - 合约相关的数据结构 @@ -44,13 +47,18 @@ common模块对公共组件和一些工具类进行了封装,比如异常处 [common](https://github.com/tronprotocol/java-tron/tree/develop/common) 模块的代码路径为`https://github.com/tronprotocol/java-tron/tree/develop/common`, 其目录结构如下: ``` -|-- /common/src/main/java/org/tron +|-- common/src/main/java/org/tron |-- common | |-- args + | |-- cache | |-- config + | |-- cron | |-- entity + | |-- es + | |-- exit + | |-- log | |-- logsfilter - | |-- overlay + | |-- math | |-- parameter | |-- prometheus | |-- runtime @@ -61,6 +69,7 @@ common模块对公共组件和一些工具类进行了封装,比如异常处 |-- db |-- db2 |-- exception + |-- vm ``` @@ -80,7 +89,7 @@ chainbase 模块是数据库层面的抽象,像 PoW、PoS、DPoS 这类基于 [chainbase](https://github.com/tronprotocol/java-tron/tree/develop/chainbase) 模块的代码路径为`https://github.com/tronprotocol/java-tron/tree/develop/chainbase`,其目录结构如下: ``` -|-- chainbase.src.main.java.org.tron +|-- chainbase/src/main/java/org/tron |-- common | |-- bloom | |-- error @@ -123,7 +132,7 @@ chainbase 模块是数据库层面的抽象,像 PoW、PoS、DPoS 这类基于 * `db/` 和 `db2/` - 实现了可回退数据库,其中包含了两种可回退数据库:位于`db/`目录下`AbstractRevokingStore`和位于`db2/` 目录下`SnapshotManager`。`SnapshotManager`相比与`AbstractRevokingStore`,数据回退更稳定,并支持底层数据库的扩展,因此java-tron采用`SnapshotManager`可回退数据库,其中的几个重要接口及实现类如下: + 实现了可回退数据库。`db/` 目录提供核心接口与基类(如 `RevokingDatabase`、`TronStoreWithRevoking`),而实际的回滚实现是位于 `db2/` 目录下的 `SnapshotManager`。`SnapshotManager` 提供稳定的数据回滚机制,并支持底层数据库的扩展,是 java-tron 用于回退数据库的实现,其中的几个重要接口及实现类如下: * `RevokingDatabase.java` 是数据库容器的接口,用于所有可回退数据库的管理,`SnapshotManager` 是该接口的一个实现 * `TronStoreWithRevoking.java` 是支持可回退的数据库的基类,所有的可回退数据库都是它的具体实现,比如`BlockStore`,`TransactionStore`等 @@ -211,7 +220,7 @@ crypto是一个相对独立的模块,但也是非常重要的模块,java-tro ### framework -framework是 java-tron 的核心模块,也是节点的入口,framework 模块负责各个模块的初始化及业务逻辑的跳转,framework包含了节点对外提供的服务,P2P网络相关的节点发现与管理流程、区块广播及处理流程。 +framework是 java-tron 的核心模块,也是节点的入口,framework 模块负责各个模块的初始化及业务逻辑的跳转,framework包含了节点对外提供的服务、区块广播及处理流程;底层的节点发现与连接传输由外部依赖 libp2p 提供,而 TRON 协议层(握手、保活、消息分发、同步与广播)仍由 framework 的 `core/net` 负责。 [framework](https://github.com/tronprotocol/java-tron/tree/develop/framework)模块的代码路径为`https://github.com/tronprotocol/java-tron/tree/develop/framework`,其目录结构如下: @@ -220,13 +229,8 @@ framework是 java-tron 的核心模块,也是节点的入口,framework 模 |-- common | |-- application | |-- backup + | |-- client | |-- logsfilter - | |-- net - | |-- overlay - | | |-- client - | | |-- discover - | | |-- message - | | |-- server | |-- runtime | |-- zksnark |-- core @@ -243,16 +247,15 @@ framework是 java-tron 的核心模块,也是节点的入口,framework 模 |-- keystore |-- program | |-- FullNode.java - |-- tool ``` * `program/FullNode.java` - 它是程序的入口点,初始化对外的HTTP、gRPC和json-rpc接口服务 -* `core/services` - 定义了对外提供的服务,其子目录`http/`包含了所有的http接口处理类,`json-rpc/` 包含了所有的json-rpc接口处理类 -* `common/overlay/discover` - 节点发现逻辑 -* `common/overlay/server` - 节点管理及节点间区块同步逻辑 -* `core/net` - 消息处理,其子目录`/service` 为交易及区块广播、区块抓取及同步逻辑 +* `core/services` - 定义了对外提供的服务,其子目录`http/`包含了所有的http接口处理类,`jsonrpc/` 包含了所有的json-rpc接口处理类 +* `core/net` - 消息处理及网络业务逻辑,其子目录`service/` 为交易及区块广播、区块抓取及同步逻辑 * `core/db/Manager.java` - 交易及区块校验并处理逻辑 +> **说明**:早期版本中,节点发现与节点连接管理的底层实现位于 framework 模块的 `common/overlay` 目录(`discover`、`server` 等子目录)。该 P2P 网络底层现已抽离为独立的外部依赖 [`io.github.tronprotocol:libp2p`](https://github.com/tronprotocol/libp2p),framework 中不再保留 `common/overlay` 与 `common/net` 目录。底层的节点发现与连接传输现由 libp2p 库提供,framework 通过 `core/net`(如 `TronNetService`)与之对接;其上的 TRON 协议层——握手、保活、消息分发、同步、广播以及 peer 业务状态管理——仍保留在 `core/net` 中。 + ### 总结 本文主要介绍了java-tron的代码结构,以及各个功能模块的作用、位置及目录结构,通过本文您会对java-tron的整体结构及关键接口有了大致的了解,方便后续的代码分析和开发。 @@ -290,7 +293,7 @@ Account 模型中用户数据都存放在对应的账户中,并且智能合约 #### 持久化存储 区块链业务和传统互联网业务存在一定的区别,区块链业务在数据库层面并没有特别复杂的处理逻辑,但区块链中存在大量key-value的读写操作,所以对数据的读写性能有着较高的要求。 -基于这方面的考虑,java-tron 默认采用 LevelDB 作为底层数据存储,并且 java-tron 有着良好的架构设计,采用面向接口编程的模式使得 chainbase 模块拥有着较好的扩展性,任何实现了 chainbase 接口的数据库都可以作为 java-tron 的底层存储引擎,比如在 chainbase v2 版本中提供了基于 RocksDB 的数据库实现。 +基于这方面的考虑,java-tron 默认采用 LevelDB 作为底层数据存储(在 ARM64 架构下会强制使用 RocksDB 并忽略配置,因为 LevelDB 在 ARM 上已废弃),并且 java-tron 有着良好的架构设计,采用面向接口编程的模式使得 chainbase 模块拥有着较好的扩展性,任何实现了 chainbase 接口的数据库都可以作为 java-tron 的底层存储引擎,比如在 chainbase v2 版本中提供了基于 RocksDB 的数据库实现。 #### 交易验证 @@ -327,7 +330,7 @@ java-tron 的共识遵循了一个原则:即超过2/3个超级代表认同的 - 交易校验 - 交易打包进区块 -- 该区块被网络大部分节点接收并应用 +- 该区块被网络大部分节点接收、应用并最终固化 这也就引出了一个问题:在 java-tron 的实现中,一个节点如果对交易做验证后,它的数据库状态随之进行了改变,假如这个交易最终并未打包进区块或该区块并未满足超过2/3个 SR 接受,那这个节点的状态和整个网络的状态就会不一致。 @@ -388,7 +391,7 @@ java-tron保存了最近还未达成共识的所有区块。当出现分叉链 #### 收到新区块时的状态回滚 -节点在收到新区块前也会收到交易广播或收到来自其他节点的交易广播,需要对接收到的交易进行验证来判断该交易是否能正确的执行,验证也就意味着需要改变状态,而验证成功的交易并不代表这个交易就一定能最终执行,还要再经过打包进区块和固化的过程,这步可以认为是提前先筛选掉那些明显错误的交易,这里只是验证。 所以新的区块到来时这些交易验证所产生的状态都是应该被回滚掉的,只有在apply 区块时产生的状态变更才不会回滚。 +节点在收到新区块前也会收到交易广播或收到来自其他节点的交易广播,需要对接收到的交易进行验证来判断该交易是否能正确的执行,验证也就意味着需要改变状态,而验证成功的交易并不代表这个交易就一定能最终执行,还要再经过打包进区块和固化的过程,这步可以认为是提前先筛选掉那些明显错误的交易,这里只是验证。 所以新的区块到来时这些交易验证所产生的状态都是应该被回滚掉的;apply 区块时产生的状态变更不会在这一步(收到新区块时清理 pending 交易)被回滚,但在区块固化之前,其 applied 状态仍可能在 fork 切换时被回滚。 ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_5.png) @@ -428,7 +431,7 @@ SR生产区块前需要回滚,原因比较复杂,我们先考虑一个场景 ### 区块持久化 -java-tron采用的是 DPOS 共识机制, java-tron 的 DPOS 是投票选出来27个节点当出块节点(也称为SR),SR有出块的权利和义务,并且被超过2/3个SR认可的block即为已经达成一致意见的区块,这些区块不能再被回滚,也称为固化块,只有固化的区块才能被写入数据库, +java-tron采用的是 DPOS 共识机制, java-tron 的 DPOS 是投票选出来27个节点当出块节点(也称为SR),SR有出块的权利和义务,并且被超过2/3个SR认可的block即为已经达成一致意见的区块,这些区块不能再被回滚,也称为固化块。非固化块的状态会先写入可回滚的内存 snapshot 层(session),只有已固化的 snapshot 层才会被 flush/merge 到持久化存储, java-tron中 SnapshotManager 是存储模块的关键入口,持有了当前所有业务数据库的引用,并将数据库引用存储在一个列表中。每个数据库实例都支持在自身的基础上新增一层状态集:SnapshotImpl,SnapshotImpl 是一个内存 HashMap,多个 SnapshotImpl 通过链表形式关联,一个 SnapshotImpl 保留一次状态变更所涉及的数据修改,且 SnapshotImpl 之间相互独立,通过这种数据结构来将每个状态独立开,如下图所示: @@ -500,122 +503,16 @@ P2P网络作为区块链的基础,为区块链带来如下优点: TRON架构图如下: ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_architecture.png) - P2P网络作为TRON的最底层模块,直接决定了整个区块链网络的稳定性。网络模块按照功能可以划分成以下四部分: -* [节点发现](#node-discovery) -* [节点连接](#node-connection) +* 节点发现 +* 节点连接 * [区块同步](#block-synchronization) * [区块和交易广播](#block-and-transaction-broadcast) -下面将分别介绍这四个功能部分。 - -### 节点发现 { #node-discovery } -节点发现是区块链节点接入区块链网络的第一步。区块链网络是一种结构化的P2P网络。结构化网络会将所有节点按照某种结构有序的组织起来,比如形成一个环状网络或者树状的网络。 结构化网络普遍基于DHT(Distributed Hash Table,分布式哈希表) 算法实现。具体的实现方案有 Chord、Pastry、CAN、Kademlia 等算法。TRON 网络采用 Kademlia 算法。 - -#### Kademlia 算法 -Kademlia 是分布式散列表(DHT,Distributed Hash Table)的一种实现,是去中心化 P2P 网络中最核心的一种路由寻址技术,可以在无中心服务器的情况下,在网络中快速找到目标节点。 - -关于算法的详细介绍请参考 [Kademlia](https://zh.m.wikipedia.org/zh-hans/Kademlia)。 - -#### TRON 实现 -TRON 实现的 Kademlia 算法,要点如下: - -* 节点ID:随机产生的512bit ID -* 节点距离:节点距离通过两个节点的ID异或运算得到,公式为:`节点距离 = 256 - 节点ID异或结果的前导0的个数`,如果计算结果为负数,距离等于0。 -* k桶:即节点路由表。根据节点距离的远近,将远端节点划分到不同的桶中,与本节点距离相同的远端节点被记录在相同的桶中,每个桶最多容纳16个节点。根据节点距离的计算公式就可以看出,TRON 实现的 Kademlia 算法一共维护256个桶。 - -TRON 节点发现协议包括以下四种UDP消息: - -* `DISCOVER_PING` - 用于探测⼀个节点是否在线 -* `DISCOVER_PONG` - 用于响应 `DISCOVER_PING` 消息 -* `DISCOVER_FIND_NODE` - 用于查找与⽬标节点距离最近的其它节点 -* `DISCOVER_NEIGHBORS` - 用于响应 `DISCOVER_FIND_NODE` 消息,会返回一个或者多个节点,最多16个 - -##### 初始化K桶 -节点启动后,会读取节点配置文件中配置的种子节点,以及数据库中记录的对等节点,然后向它们发送 `DISCOVER_PING` 消息,如果收到回复 `DISCOVER_PONG` ,在K桶没满的情况下,将相应节点写入K桶;如果相应桶已经达到了16个节点,则向桶中最早的节点发起挑战,挑战成功,将被挑战节点删除,将挑战节点加入K桶。K桶初始化完成后,进行节点发现流程。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_discoverinit.png) - - -##### 发送DISCOVER_FIND_NODE消息,发现更多节点 - -节点发现服务会开启两个节点发现定时任务(`DiscoverTask`和`RefreshTask`),周期执行节点发现过程来更新k桶。 - -* `DiscoverTask` 是发现更多距离自己近的节点,每30s执行一次,执行流程如下图所示: - ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_discovertask.png) - - -* `RefreshTask` 是通过随机节点ID来扩充本地k桶,即发现距离随机节点ID更近的节点,每7.2s执行一次,执行流程如下图所示: - ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_refreshtask.png) - - -`DiscoverTask`和`RefreshTask`中使用的节点发现算法,在一次调用中会执行8轮,每轮向K桶中距离目标节点 ID 最近的3个节点发送 `DISCOVER_FIND_NODE` 消息,并等待回复。 - - -##### 接收到neighbors消息,更新K桶 -当本节点接收到远端节点回复的 `DISCOVER_NEIGHBORS` 消息后,会依次向收到的邻居节点发送 `DISCOVER_PING` 消息,接下来如果收到了回复消息`DISCOVER_PONG`,则判断相应的K桶是否装满,如果K桶未满,则将新节点加入K桶,如果K桶满了,则向其中的某个节点发起挑战,若挑战成功(向被挑战的节点发送`DISCOVER_PING` 消息,如果未能收到其回复`DISCOVER_PONG`,则为挑战成功,否则挑战失败),则将旧节点从K桶中删除,将新节点加入K桶。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_updatek.png) - - -节点周期的执行节点发现任务,不断的更新K桶,构建自己的节点路由表。接下来就是节点间建立连接的过程了。 - -### 节点连接 { #node-connection } - -在了解节点间如何建立TCP连接之前,您需要首先了解peer节点类型。 -#### peer节点管理 -节点需要对peer节点进行管理分类,以进行高效稳定的节点连接。远端节点可以分为如下几类: - -* Active nodes:通过配置文件指定,系统启动后,会主动与其建立连接的节点。如果连接建立失败,则在每个TCP连接定时任务中都会重新尝试与其建立连接。 -* Passive nodes:通过配置文件指定,被动接受连接的节点。 -* Trust nodes:通过配置文件指定,Active nodes和Passive nodes都是trust nodes。当收到trust node的连接请求时,会跳过其它的条件检查,直接接受请求。 -* badNodes:当收到异常的协议报文时,会将节点加入到badNodes,生效时长1个小时,当收到 badNodes 的连接请求,会直接拒绝请求 -* recentlyDisconnectedNodes:当断开某条连接后,会把节点加入到recentlyDisconnectedNodes,有效时长30s,当收到 recentlyDisconnectedNodes 的连接请求,会直接拒绝请求 - -#### 建立节点间TCP连接 -在节点启动后,会创建一个建立节点间TCP连接的定时任务`poolLoopExecutor`,用于选择节点,并与之建立连接。建立TCP连接定时任务,工作过程如下: -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_connect.png) - - - -TCP连接主要分为两步:首先,确定要与之建立连接的节点的列表;列表中需要包含active nodes中还没有成功建立连接的节点,然后计算还需要建立连接的数量,从邻居发现节点列表里面根据 [节点过滤策略](#node-filter-strategy) 过滤出满足要求的节点,再根据 [节点打分策略](#node-scoring-strategy) 对节点打分排序,将最高的相应数量的节点加入到请求列表中。最后,与请求列表中的节点建立TCP连接。 - -##### 节点过滤策略 { #node-filter-strategy } -建立节点连接时,需过滤掉如下几类节点,并判断节点自己的连接数是否达到了最大连接。 - -* 自身节点 -* recentlyDisconnectedNodes列表中的节点 -* badNodes列表中的节点 -* 已经建立了连接的节点 -* 与该节点ip建立的连接数已经达到了上限值maxConnectionsWithSameIp的节点 - -但是对于可信节点,会忽略掉部分过滤策略,始终与其建立连接。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_filterrule.png) - -##### 节点打分策略 { #node-scoring-strategy } -节点分数用于确定建立连接的优先级,分数越高,优先级越高。打分维度包括: - -* 丢包率:丢包率越低,说明数据通信质量越好。分数与丢包率成反比,最高分为100,最低为0 -* 网络延迟:网络延时越小,说明网络质量越好。分数与平均网络延时成反比,最高分为20,最低为0 -* TCP流量:TCP流量越大,说明通信比较活跃。分数与TCP流量成正比,最高分为20,最低为0 -* 断开连接次数:断开连接次数越少,说明节点越稳定。断开连接分数为负数,且与断开连接次数为正比,值为断开连接次数的10倍 -* Handshake:曾经handshake成功过的节点,表示有相同的区块链信息,因此优先选择和他们建立连接。Handshake成功次数大于0时,Handshake得分为20,否则得分为0 -* 处罚状态:处于处罚状态的节点,分数为0,不参与其它维度打分,包含以下几种情况: - * 节点断开连接时间不到60s - * 节点在badNodes列表中 - * 区块链信息不一致 - -计算节点分数时,首先判断节点是否为处罚状态,如果是,则分数计为0,否则,节点分数为各个维度的得分之和。 - - -#### 握手 - -TCP 连接建立成功后,主动发起 TCP 连接请求的节点,会向邻居节点发送握手消息 `P2P_HELLO`,目的为了确认节点间的链路信息是否一致,以及是否需要发起区块同步流程。 - -当邻居节点收到 `P2P_HELLO` 后,会与本地信息做比较,比如检查 p2p version、创世块信息是否一致,若一致,还需要检查固化块,以及判断是否是重复的连接、恶意节点等。若所有的检查条件都通过,则会回复 `P2P_HELLO` 消息,然后进行区块同步或广播;否则,断开连接。 - +其中**节点发现**与**节点连接**这两部分的底层实现已从 java-tron 仓库抽离为独立的外部依赖 [`io.github.tronprotocol:libp2p`](https://github.com/tronprotocol/libp2p),由该库负责底层的节点发现(基于 Kademlia 算法)与连接传输,并新增了基于 DNS 的节点发现等能力。其上的 TRON 协议层——包括 P2P_HELLO 握手、P2P_PING/P2P_PONG 保活、peer 业务状态管理、消息分发、同步与广播——仍由 java-tron 的 `core/net` 实现,并通过 `TronNetService` 与 libp2p 对接。底层节点发现与连接的实现细节请参阅 libp2p 仓库,本文不再展开。 -#### 信道保活 -信道保活是通过 `P2P_PING`、`P2P_PONG` TCP 报文来完成的。当节点与邻居节点建立了 TCP 连接并握手成功后,节点会为连接开启一个线程 `pingTask` 定期发送 `P2P_PING` 消息以维护该 TCP 连接,每 10s 调度一次。如果在超时时间内未收到节点回复的 `P2P_PONG` 消息,则断开连接。 +而**区块同步**与**区块和交易广播**仍由 java-tron 的 `core/net` 实现,下面分别介绍这两个功能部分。 ### 区块同步 { #block-synchronization } @@ -675,7 +572,7 @@ TCP 连接建立成功后,主动发起 TCP 连接请求的节点,会向邻 节点A收到 `FETCH_INV_DATA` 消息后,会检查是否发送过清单消息给对方,如果发送过,则根据清单数据,向节点B发送交易或者区块消息。节点B收到交易或者区块消息后,处理消息,并触发转发流程。 ### 总结 -本文介绍了TRON最底层模块-P2P网络相关的实现细节,包括节点发现、节点连接、区块同步、区块和交易广播流程,希望通过阅读本文能帮助开发者进一步了解和开发java-tron网络相关模块。 +本文介绍了TRON最底层模块——P2P网络。其中节点发现与节点连接已抽离至外部依赖 libp2p,本文仅做简要定位;仍保留在 java-tron `core/net` 中的区块同步、区块和交易广播流程则做了详细介绍。希望通过阅读本文能帮助开发者进一步了解和开发java-tron网络相关模块。 diff --git a/images/network_architecture.png b/images/network_architecture.png index d936576d662e634545df84cc413fe47768c2c4d1..a18fdfe2f9dd478a17b7c7bf925299101718e65f 100644 GIT binary patch literal 165721 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

yD2%i2e516R=IeH*$qURiSaq+~unni7 z2-M_P_w%GMX9Z4orEBZur7A#8B0odRr*Pg^>?;^AGxOB z!_kxIoWZjIh7`paeaQpqK=O4~5jL4gjm2hQklCrM&l8$UbHHhcUjDA!!eoWg{Qg50 zmwqq#vT$m~lcIPaz7~u%&CaJ5;-L{_dfk+e*^#8OpSFzfGQ^CRWj6HEsh)af5o^o> z-JYY{|M3Qw06gVBM?`zKjbOI|Neq z5|b@^yoym3&PFO)_asq(vqAw|A&qBD@hJ3jDQ~T{4xcsmx2$V=c332ORp?swdvcFG z?3c@Us{2anKss$eDD?G`5_1>E+?N=yKrE^5y`6cd_c^Af{9 zq=5G|AeD6xX*m{OUJAICg|{bIW6d?@)PQEJ7k)KxgxO>j?h)DjOYOAJ_twvOPQ6t; zr)>yHsl=CMoNPs{ZZ_OkCCn=Bwr>)~p-#-U7N_noa!G{BEc8(Uf ziU@ThvEheWqi|utwZY3 z-%CuMHuDgZDb14zrpcysgnk05LMIVX+&qOxU=rv9|39?R)psY^E@90v;+iMyEa zZ$Wn)hUzn3Kt;^Pg4udd{F46nNkw_dGV}yupOX?C(t;&kKa|R(sadu>Ys70@kUfG^ zZM0aJ*GvaFkQR_SLmpi)B>Hit*CtyF|7qc(ANGk+0$gk-wA@~3hN7+1Ds}4fnjCtfXALv z*ZVq3Pjxmhx|0$zs*!;>4KDlXi3S!|hFP3ytN&VDc_t!vs^^-`E2d>mp^e zihDq7y||IfpRD2ohTj_IYO8*eeJVs6vET<&_0QOhPna4WZc^Bf?qbxFheglt^wow`j}(#j>zGZ2GV;7Z2$4J}u zX}9^HJF+`R3MC?D;A*NShl?h2idYtdM5=m}1yz^9mj4%v_zoqy27|B$L6f4bGZ!>z zM{Slw`^dMKy>ttknd8_+T~lx`kx^9txsIS1hKpjZL++aG@8eMTR!4Wxgjn>i1$>XmMKR_RLNpLRsHa|sIM<@6r`^fn~(1(E} zFhN3)P;b)iTVmg_SEY{fY25G8I~TBLSQ*?lM?F3Y{ayZ6BN_FpSzErK6r8~)!5H5AIfgz55jOrY zGuwg7i~bWmh)uuD=*!_|W}8QnEobo~RSy2Bd};+*i6=Ih7>44exY@84gIpq7TS>M3 zdmy=?ZQzFr?WAqNnLW%!L+;o^xT*dI=ilEh>uP9jIqp?5JUgNoc!~Mz1D!-=KTar$ zaTyPXCSENKLTv2!Xtum21i(h@GK<`C_o3x^ccyXMdCe`}cmtw%^$0k`)#HjdKt?7K z);HY)Op-v~D7E+&QR1eUYv$#2pd=!*U!zi6rV3Z^fey=G)EcKdTN2!)Od&~GeLl75 zl0|&Ld1|p}5ZlLc@m4Pg75Zb7^*0+3(ASvBCVb)zZd^RrINoC)L9*$iHXi4Ms_SQ{Qp4FF6df zpIpoJP8h2(RR=#H$a_}z_zi%d>h&@0_X1xL;^%-z%djzeFJImkS&RwPiI05YbYT%F z@7`XJY`m^mOL^&UG>`TCTV@|01H2;6nkb3ryWFsfgm0F~tlfKV`>cDQ_&5D)*7{$V zhHUkzul6fc^Uwg5gw&Z84tuc_;4%T)UZ+WW%+yRlFBiQ9MC&{!e5TF$Kn)o+_w*C&bK%y)@_ zGDDo~w|aZ1De+zj#CV(DR0@E+nkJgu>~IyHOyg)NwLlr~$g2R`5m6gH6W_ z0nvF%WrFhaNZ7hvD%aP41gif9J+hr)I?#z{0E1zDK)lxfdi2VSG+PqIoCeYqJAGPk zTiR85P^5;a8pY4zddj*>#8+COkJ3h7OOXB^SN>HZKU$$4M)Xa&HyhY!IC#ihW)4M| zxJO|Oqq)_>x7!_yZOt+P%xy@U!Jx;)wx{|sV| znNF5*VYUN%te9=9a*9^M=dtwhoyDAITQDnajY; zRs%xyV^BVZ!BeK>!yY#q)3Tz0he&!8UA61bSy`mT458GVbe{2g=+{6855l06Ur(Mqne@10GhNW_{sPjuTZVHJMJ7ro z1=RT8tsYzXd>F*SPu-+RE1c|45n(DQZC(O9TLUr}frq<~hHs{4ssZEoV^ErgL%%8N zy}s?!YTu}R)qzJNLQZK#AISE)Ob!3~0uIc7dVa|isOXa0J)k-@(97rjn)E*pkI~J> z#CDMWg>Zkq@njYj{@P16^GS7(D)3ef-0dHG%hVr(BsFFS<>9ou53)XGZI6FrND7%= z-xXlvGkY9XjAZt1{Kxtq|3h;BZu9y(dqVzI790Q4LMO$>fzH3Cv()>1@c}w6s86gA zhG*mT$Vl%mali4-$CLl=;`%%OkqZB3zw)fabINPy3{md3(=|%`BPn`PaZn zAa9;!I&fw%@6^8o^ItC28Szf1JN|S%Yrmh+hysCf?*DuP9z~d>Zrj@B-@2huF$WP} z9aanEOZTKU9$>ESw`B&lzCx_BH#XwIq37)9$)y+|6Cs#?8#MrDVM;}#tHT3S5X5Q7}) z!;McQU4m{x>ZscL_BriM3Y_bGxcA(!%lRV~0rWIw2I|?NuEMvx6}vY+F;qFxTixLO zCVt=k{SDq}bUFt&KIFHmTpx59kq8o{UbA*hKR@CtzxF7@2PtX=NDX7!%Vw{pto(@T zzG;Yc{bT+hgDi@CnwqYgstN-DHU{hFF`%8z=Pq4Y9Qg^zo_W5E*T41h`YkkX0cs5q zXA^>rKrGt_Ts^X$b36W?(cx2?u|cq<-RF{RwuG*f@vvd<6uQ^&FfA(dxFYdz6Ew!w}AlC z+h2(4A9-P3l+7X2o;47P81pv?-``-d3`q1tFsyJ>aFGERRhJt>lw@as7B0=?JZZQGH>G1{>CoB#Ud;<5p%MEKywzozq7eyzy+_dnMDa`F62 zWgGARUwQcceU-(&_0{n24O#V#NAKS|k5sn)OiyW!R8h2OA#jf9VF@NR=lC1cu$B z#Bpea_H{F;wa?0W$-+_(N--&LEEh-U@<*8?(?cy;RsZ>B|4aXOu13W13&nFRdHSt^KtB*~I_d?Y~;iOlQ$G)RJli zGb_PCL0mBW5PU*umqA_J1t&R}sSpAQPGDa{i~$qNX)cf}?xMMKNH{A1&f|u$Cb2*h zh*TZ4{&q;xRtNxv1*)Q|dam&&xXgrFR6bDw1Y1#*_4J@n^vo|HhBD7X)3x9Ei&cb* z=#Wc$2O=m6<~PWCWY+>Qqz?v;gO63L{`?9x&Xa6T{{LLF`%mD^6lwuA3&NCqk!vZi z|C8X`7`+O3>)I6{IR)7yCzGz{!m+7;$oAwiC z|AK&IV#q6Hi;RH=whv&6T-!Fj>LnXGwS;PL?dL{nufET5MshhIw>}JrP94TzG~*?Q zJdSqn20e2G41~YGUnZAl(|mjZX0vYq7B%ZJJ*Lxv8U9 z(mZU6`JSh&B|6=A_-h7GlIn36^$%7g$E=Of$wowKak*-_U8#yXQ=sihJx>1ixk54}ONN^j76C0b2)+>i8ztS2yI^oOmH|#5L!(fajf)f+# z>l5!vfe|`>@Ep#@)C~m&WQuyQsupN~5TpKnqo8rYw+uOBcsTCu%1;MPT;tZ>E{YrG zbUm&>1NSAjQtw*JG6yd*n?C*POA8|I&31s1qO7rEP&gJs!}lIjJ}-gV@#^vx-I>44 z9~`NFD}re(J_d8Esnb50+hA*9OzaAHE5yC(NQKTO-9RHKJCDKa(wz5EoZ4_;Rxdz> zN$&)BM=ez|t`F8{h&E<>BhFl7ixEs`DK(8Weft6yPFyd4!+na*@Jeh_bp`3SQUwMX zG}ituF_M#lL+2gm{ClC`Z#uVb27!@oPbl<|qWLUAbRvqA6AMZv$aN346Jn4iVW?;K zJHK~6FeLQia^Ba|G&_0@Lpj+} z)x!3g4H~mO=8+7=q98F8WOm52`$EYa0k$_6M-y+U(%*6&g$~m^da4r@P31(<9BpY$ zFcMJ*HO38SW4#!O6vst-t^mf%AKZ}-m^c!ZvA8(0nwN)E#~S*Q{M|js%m8DygoOLA zNX)^JBp_CJ3Xqb%HtteBGH0mg)so@Zel{jcX)c6eF9b}s6zdI?f?NoH2MEPn3{v2D zPQe=p)rJneOC179Yz?BsAQF31tN|T7{(`0z_T91W%Tm6 zqTutNjR`%*)1Knk_If?vw+z__1kg9^UF5g8QV;0OVFGrp3fLlh7)5EDz<^j1JUZl` zP|uHw96Gd%O?z$TLGDJ;xI^)%cp-Fok`S?_m1s~u|F>C)OVJ(ghoSW@D&Qm)_!d@M zbcdEv0_^2D;;(dZoWInRK~V9f9O#{f>y;phsSX4ru15&y!4* zW4JUg7eSZ0kb1=gRpD`mWYhdX+#PD>$6J|sZ3oZnNgZ~gK54IoZ3FBq(VK`+L~iPM zbF3HwNRxP0+qcY7wf`K}qpi@#hQm6L0M+-LcLFGEC0-O`qF|=Tsbf<)v3@Z~dJPV96cjHJ5@#0YUm5}~ zoxe7qK>tIa5Bupq=fq@>`I!$Pew%T7`shz++#VVC22DzgS~m2WPbBzEKE^Ly%xlX; z5u#x#t!8EsX@Io^h(wXunOW>x93yo*8y~k=azIi(o(LpJ);OM6X#HNGP}LM-x1b52 z^x{$JVX&&&Wm_z&V8dL1>nadVt440(#*2#uc_ssFYm$Zi6N zJ|_Yyu9`&RJ2nQzuaN+WK{9Wr>GXu>?%!Tshm(05$p zoP$T7oCB%{m872lh%BDRv?rB2Gvy9p4WQY>B16`-y6~Sb{IK?gkM?n^D$B{qDc4=p zciVyR7`3p5uV=h{Km(S|&JswCkk+*D1K3>aM$XylXL|hlGr%xk`IYmZMWl?7DHaNV zPr1Ww=6`{w)Jv$M>GO=Cr(tX`?_3n9JJR6z^aj^iy{K~!{8Xi#e%x311PkuOZ0CQD z=p-`Fm<{kO_-m>6ww?LVx^Ez{v<{<|zm{B9ZK9ov=ULlL>Joe>nHTKyzy*~U0 zL?2rjXadWFMdmMofPC#8gfZ$=kC!xredxY-Qg!cP!Kw9WD6cM0rG7QiM#K8rGM5~4 z)ol9>90oT;%VWjse$Q)1wdWvG+S(yhOLhC35FU+Sc+45PEFrx)=NZJoj!0wOmrIW$ zY6qBvGcC$W1Xh)*0#wJz(qix(z*#~ndh&_0#mt5TbMjSr$Y#aM_L7vxQWbXxKKZV z44h@d0~;24#_-%3+L}Y=`cL``Au!$)krSQLiYJYR!C4kkb%7!}=QgZoFeh;J^?l2k z0*HM^PYw!kI(n8Sh;_9C2>pOtCBi~_u`~+xaTxGFkBoo^6v1H$ca;81e)ucD@nffZ zuLg;gV@^5zjG^&pISTxY&i!Rqjh62pe~Smiw*1{8(zjpQ7-HQMc2CL;y;kP1#Ap&GVZPK|SKuWridgaFCXT zi)B$vfcJh`{?EzEX4HgU#BZYe7y>Y%7Ak;}DuDDDsvj9gLqR4u0gL8*IT^8-(9_+~ z2b@3{WCmr3n@O-HkgCPR_Hl;(hq1CHd)hgq#S3F|s&MNNDbh_}wgP9{JJI|Gf^T2k zzki=aYK}CxVL}nv(bQ7l)Y}JZDI7$yDClO{Wz6BIq*@ZU8xuKwP2mD4O4aB;SYLU3 z?fC%bB*7?Y-=aSt#30jn)FaIWS0rITibv879C_3%7gu3eB5D=enE~|{Y#IR=Kpm^g zoMwnQjfGX*zwh)%eJC$XHMW7gD&(ID#L&n&997iCX}^!Ft>=FLk!(^E&=uxy^qT;U za=`GhY?Jo@V9#JUc2ls8*x%|bR5~4u?EMApIsW{a@g6f!w{lMB4m~Ebw>7;UBWl~! zb%LlQlF9RbF1^1V!hXFzS*Vyw94Wg|7v9izO*KLQdXxys>{cmA*hL1Xjs5p^!0{v! zA%yQTwqY*m5Ki`!=~GZoj9>^CN}|dEU!aj~*;~ZZ?J+y_@j#4R{AxfW7adls9T^{& zxPZf_LTayrG3lQG@m)&e0oi_nm80R<+~M+{n98N|Zz>1%znkDBjuhV-e^FPeN3yv} z9D(O~pM&U;&;zDBKBhnKPYH?RzO)Tj1OE6LxY%D`R?mo z-?eHDBhWWjfkGqZx(sN#m~3$dvgg9ppu! z4e;h17dF$Z4Qm*AyRgCk?s1fVk`%W4g5^TR>hytq|2kwtqr2A(1paD)idR z$Sa%e!Byk$+iQRSzr_!2Fe1p2aiI~`U0C?#K|19v`}Xa-0n_u%U)Sv=_T1c{Tdshv z{mXt?wj7{{Z5#mc?yVjt%2Lb6iSP}-A0GHitgW3Y-Tx8qY_nmHP50;B{rg)Xv~FJ7 z@@W6zbH8DecH~95xDmgVAP3!Oq;tCKuQV@jPiJAKqoYGQzezZt$L!Ah`VVer*dS3) zY({FbN2mU*tUZUA{WG-xtW@~F{$J(FHm)6Vc5AQy-yY0-wnZhAin6kDTO9<2J{aP2 zE*S+4A2SW>22NoYvn;!d+)U??N4OCOBU=ic8v?tDX&Z<2-3??j5;t5dq*?e;>Y(WS<+Td+a3$(6K|4{7 z0^OQd?deFOg>g&}A(1`0rGZ31q`0t!{jt8;r2VHfNzZ|OG6nVL;ptvXj1J+?0U)m2 zYk{GaH~q_91pOVDeg6Q8ReNc|1pU|CogPN?#hdf8V|&r9jU0o;z#@ zYj!};_%vAInp~rWAVu&osrY~vq^tlu&5T(93NnCnWbJlBMDcyK!Iugn2k-(R?Y4V+ z>zIu=8x;!bp*Q_Y)n;(rlCCDAw2)8kxdhf8C&2hO2#QG0=ST^*HjD@uu7VOzg1RgP zZK5h?3+RE#s}Sk=-KF0lXDamfS4THoM`U*vLmR|y(|MfkBA~>m-$oaxA;TBDioheR z52~kGrj(&o@ZuYPCGQM!Y6NXTYjwx46P-f4%<7*Lh;s}GbZY<*VaxO)0LK(`jRH&+ z9cbElc!ikrKsw@#VXlImFQhkQ#Prsu`ffzMmkHQ zm!&kJC5;Q~fClUtNblFQ1K)%V#*!cSv+wa`lRb3FJrjd1asH`F8wD|9Frwp+-Hiwc z&tGUNzU2V^Dvvrk0fO)WU}7xd$Q3)}4TSBb_!CkXu4|2cUZ0yCWAvetN=85$NM&L^ zMcJP*F3?7tH`O}CWGCQOt3b!Neg-__Ycm}_KHB@DE+6pmuVR3nmr%W}vXiicFe`q) zI)!PYU>}P-VxyE9Sm?^2hBU!lqDx9aIPAh3u*)!Fu#zy>;^G86G@@1u2YtgslAx3s z;z#&DwjM1)HllW&O_I0aoa#Ga`m$j`G%CIVdb9^AYnu-$9N1`^SX}#B;;HdSLFUl3 zCQT{D^qVu@Z86@s979c}QTNNa`fiH~saE$J? zyk8Y!Q06kBbk73BJi-x(v=V7?1Ec3!G7irOF0m6hoNXMA-f)msFkNYC3C;Iu&sE^K zJ|UL0n+sMz3!9WX&-!1$au%V_fauz&4xaESvOK>_)!yP`LAFNC@F2}nbj)snYq z_m2r+?{7>H0@Gd9tKJllDbbfoQ7J@trcA?xr|;E4L{Ww|nTdf#E@d~1*rRP+7e!AZ zN!i@Hk#cOf+-p6olK$gxz!&QK;P3DaX^GW@`b{|HXPRHfnbyq#`eJ{NJKMV!elNKSoQ5b}3P(aUw+7$tWc&WfPKQ zK2b(dMq5LvkiD{Hb$E=jQdDMk9xG%f$;y7Ok2>eq`@Vm?f4%;xbK>zlpYP{$fA0Ib zuj{%&9QuNsR@R2i-Md=NcVYH5)(odA9;wE)GH+pYeyhY}?w35?e$OJ%Oc()M9E!Ym14q;2AJf;ygp6E2oG5nY z%WCWM5k4)?ef-iiHBe47xq2+&p5B*6OgIBVRbsfG-%2K4b$YI|U_eE?SfE|R$))7x zn?4g8LmY&(O0>`kamev(EUH$__|%6!ETj#*#l@ACfwU6_+4gbPsFySzUm5#k7KQ4W zHf1TM8fu~#uh{2k?spMK2vYMrzq*)g)?A)qU0%Juv0nL%Pw{wd*yNM|c3JVmkx@pB zQ_8u<%t3{EBsovO@~zTL@G$|2@gDKg-jYomH|oY}a$zS{9aJ3L^Hl5>8`rrmKGvgo zu!+2YKpxZPPZBea9lw*jHw-a%EjaQkD-XpE9EB|)*M;@bXzf--$S+MELdT~B$B>CX zIdSg!<3eBs?lm!dZE1Wl>M}|Reo`o)hy$6QV+6VQm8-am$dX;Drv zg?$P9Eh5C-^rT>aD|D_&Y$NH42yN~p?l&K_qA$FvZb~?a9DceR{{YqIRj-hi&xvKBUefDw4hf)DL8e-nyMQ!ASs3Wr8Eumq^I>P z)C7Puw;#rB6@`44c3w0w?1}!913)U0zQNMAzOe|JrXEXOiiak|cPXCubtN}EnyXkM zw2)1tmaS?0@u?4kj~&yO2d`_o^^Gk3n}z?Lv?bKzjlliG8oec&>p;Ip$-S&Z#G$9M zKt$wx`=QYBjD>1x@x`!tT<=R|V1I=QyRj&!eDADS`nBp)0X{T&$9TWJNFc(>jX7dV z;GD)c9adZS9C_xhg394%wU9wVZO?EZqxSEmtN%U)JLs=|38oC(TKa|+0m8g*HLnA2 z?rrFD!iD#A)(!q=^mSq*<7W)&NYg`{c8~0M_CNyJkiQ&(2i4h)c$MeVXo%8=i0n62 zDvrj?`V?18W_&~>W*7>f^F6|0g}hBoQ;Krqp;qB}mYZk?8DU#@Ot#nT&`n4(cy;Nc z$T#?(O#d8uK!57(y$w@#Y&DmZ@BQiZ9I*{8_p4zcO2F2wAO7ReuXX+zbc*f1>anja z+!$nDrD)NWlQMOY{e*ETF@4l>K5z_Rmk50Tt{rx2{gq+%f78i3=avwXx5y!Hox;t0 zvFZG6`@xoGD`j3Cb4eMi24#Iw@${W!G<_ath$ zoOia~srp%rq96eKd+&(0-bDXZThwq>iqIZQz*F+R6RcT;E@A)7IRT_ZqSw^G-*ID#RGhk1p7#Zo1am*=>vxc-4bpf~{{g}lz~64UT&85& z;VF82<1s2oNiulZSoFL*f#m48>Zs!|dZusU8U}v4a#u*VmYWc=2lA#a1*r$|q-G^j z`ULVZYN$EQl{_ymM*`E~%U#S4eKUWyq5ZtN+cI{MSa^lDlMl{{`z&kz{z`v>MhKyY z0_`kHcyWt%B_1BB6?f06`m|CaL$FuGAJn7qx%=Tjf~gsD2dW85g?*Y0Ke{VylIGy9 zOREbbF682^VkEA;2~h%X>%{bWidP*mlQv$;HQ1P5A_7OXU3qKv2FsoQ9A8N=a_-50 zkAfLoSWh>OutL$O#js1ft*fRn834@VUFv6ASV%b1&gXO5_?YS3JpW3C$yv0?_TVAf z0(VK(fu<3&VJJNw_VCy2X@pQ!fS6I%{{*2%Kr_}pUgi@J=CF`^3vKd16-cq(OUche zXO&(=JJ-xnb&j587t`t(qsq{S*mYyO0x4FwMSjz<+{NrsE6|J5f?E+Rux7O>N46z= z5KrHgb7?4o2zg!@7cNYuqX^hW@VbUE%Hq;ptD}9m&|%~lYL4lqB%r7dbgKxJ7QmTI zS+FxHXG|~jAyM838x|MSsdb=A1;HcPYdA?v_)5y3f zs}{k>J=p%;)yu)OQv$$kv-AP6tYj{JK5!HljwSJ(d_y~;FHf)s!|>IKxv7_iPESCh zMjf{S8T}1yflQAvb2`}darzla{mp)x6qFPdv-fGix(kD&uU44CSxNvH@Nj(9Gui8Z z9eMB$SB!P{p2VNNUS4g(L-87Mrva?K#~EG9qnuECg$(gcPDSOSgqUZ5-cRI_$(LcH zuafxsGpO_~yWI0Hkfi9}vrOdg+wj3rVyA#X_P*GGU^p}jVn*8pc%wWy8rYBa(~w(*-6-7 zcUSZ~!|Z{>I)L5--!Hszr>*@Ax>MsDPrxH@Le|(iT9fu_4`rA zztb{JLQ8#z4ionzQPI*HD#H(&qSQ(9l?D#79|S4d5Xwl>FQxu~!{M2)4XK7EsGLPL zuTFpDp(g63zwjLIuRjJd3HLekFPWelHWWc}tfgJTB;#Bkd;BkY17^>hN%+uP0;QuV zbSktVh&thsyEaNMxFOzcZZ@gzS?$eHrS*8vl=elx>&A8s=%qGEE2LGisGu0T^K zS%4;*6W`p&UxMfKS1uo=iSR%9{NgcvR8Sm+YkplMM#DTe;T0F{-a!?NNmP_73lgth zdjk!f+nGrGjx`kRJ2eHVA@fNs{bzl4juJ)|URviWyoAcZ1Ah%%({Yo%P#D^brJ zpiVj{a`koMVOYT`)LQfzGChv&N6RMlaE{(t{ojJhk_56R-fZ}H$psT{tyKW`XInZm zOLFh+kUE*A?meW#ohbAmK*AxOv~e&N>~m%lZY<^6B1ED5RLcN5kEd#)Z=$hy43C|v z{pHcqQCs#KRN#bedO8K>OC-7=FHRLO(y7O!M!ny>wmK6WJQbBe30R&J9=%9hN zH#x2Bl0A#&`4TdlUgAz{+G8pgno@|&8HXcg0}9g0FJcLDX%BDyw?$*D#7#vC zcRE<0M^Wj5Z_VZMZr9jqb(!B0s{`cX&(4D(V1%nKbAjpbrGfeDK-g7`&IhXa_Za(q=A{bL z>DDX5o>|NhvQo&eKSm@*gS%m|v7Wm%K-j8uc%i#a*qZ&2^{Zz=pvYOFTTr^IqsVhu zGREB82^8(<(}AlDLX+A5xz&0XnnOL^`2g$kyOqIRK4B#ruet9;U^084tC}vTf*P%x zDOWAlqyUt>bu#riYRezU*_3jxOuTkn&I?ijGMb$|#V((JxLIbB|Zx~(m0zz(EH}RfqGNa z^uy{2(0Ld`E(V9DMan~y|GWF$zpbq|t>R2FlYZLIWGftiK^ji|K!N+X z1;C`D>+FOXhJoI)XpK%(!c}Y|$E-J?qJO%@xj*p)oS^PFAlL9g#VCuOuW9@=_+`a6 zgh6*O4S6_wne_glbJ||lYZX>-pI~7~D3tRLF>TO{*I2S%rz zy;h@+>$8Rt-NwP%k1Gl}_^TDEjXN}$su1v>;;OtoaF3Nhujms7%&kL5{YJ}((J_vQ zVe8}Z1BoE&6{kGsx;iukYHRPYKMb=?$2M68dwK2AZNEQb^{){`m2l#Y=x~9YHq9NkTP(b|Cfx3{GuCdzi%z_b8kFB@oOw11Y=?o0ytBg-wxob6Y9iHRNu7bI&@Dw ztasvj-M{~f!;_zEKa5-?%5`Rv#Q5YP5E29Kq3t|H*mulyGTR}c(f2tz6Tmz|H5xCF zp9%lZ=?JfuNw^snkh7BH+>xGUQ4Jm}8vAGUe9rzaofN>o~nB9u<(+iMWka=cwu(Nh{gL*={(X@B88a8bAmNI7PittJFiWC z{wn_UDY#k4y>z+`&2m$a6@&l{OaN23(vnR0)TB896%Fb}(MShQY1fkkpn-t>E=dae zX$T5Oamkl;Jl&;Ubf4Ost%-KgrQQP&&3h9OWTXSRN&fvZBdCy|1=95&U}ltnOSIy9 zE|82z@YfG00Tj6#g^Qb-W<3OI{3Pchek(&`K<)fW2qD4i8#;A9__5=LE~A>sQ~#S3 zgZtI|=O{aqf~DOIp%&oTAav%tQyy?IW+1#{;L!&Vk97C6ox67JioIL;`{(CHQQT)Y zVR48tQZb#7*D)l>trOYyBe2>0Qc2GWBrj#P0qk(Y@lbKQ=vQb&{eUlt%bzxDRQNb}S+GcBxI z-Yd|%XrjB&a^Zh?U^12vgQ{{aU(}}%kjodq|4~ritRGGwR7jj7nTkq&nfkr8e4S`A zc!BP$bYP7hf4;e{6UE~= zM<|p9xGsyeK9$9T#C8JQWA}biiZA1o(7^9&vwTV3+?(8gdmZy{^(T>!u&*MD-Hk+w zj+DN3)FchW>9w|W;=$#j0ha|^ywbUcoRT}xDICep zfpY4sZU!tTjN?mmxfbD-kGvyiVCY7x5m^gvmv`*M(Bc$;16r^e<`C?{y;&(4gQG-C z1!LD>at@b{b%rS5iaoMXj5ZX>v3jl9ty4MJ0Y+IXjgBSb z9C23k-M!&;-Jk1zioh?2no)XFO$ySMjgo0_^djsDhu%40@EOe^c<(99y%b8&296dA ze)Q-eS&iSn54-IWIcSHPadTLkAhIs*O@)W-fM`C9pbpRn@F-a<4F3CWe8d;zBu4OG z{MM8tXLF8-SVXj5T^drFtMKIuOi(+?jlFNPSpR>nL<;2^QM<7_AgfLBoWY0LB2|ZD zF-?$b-EjWNbZ?MRq9Lmfl2Jt4Yu5vaQxY=`catmH#&xb*>`ZQfZ`E=JRptHOhIjjT^-;M8b2Ys`dwZ?mjTq_*4WHZm)xZzBe)4cO=0lQ?CNE{CYM27PxyPyq9x!J1$`c)JR8(sh_O%9`@FZKl({u7Lzed{1E{^$F?;Q#tN z%JLiX$e25^$WIaAFL_#B8o(S8LI^#IQm^wx3ICIh;)f+zexls4yYd`moFa-APMZ>B z;>7FXtcw=Njlxf1T=|~(HfRVEj`RSjlv%o;VeVJ7zg) znN?Ht<>anaOqrkh21_HMHT0mKNwCn`F9qIe1+9$q?3ZNn{qf$p?MY4a#v4`D2Lvh= zkKL;QBRm2ZR0)|7Q;W8~kEKT<>arxRJY1jAuLDPig7rfFxNhCO=g;pYO%cMxn>2`a z9_@=B1*T_kT~9mofXf-^--sV#+j@%^^CFT)ORd*5}p_!@iKwEz;OJ2at z#K;WZo!c<#;VDx6+i9MSAJTBDx+3tnw_&!%zPSo`F@9P*Q(ujX+L}%-!GFJA6Gbq0 zw1r0^cr!?>2?mP98iF_Mkal6Mlv4#74MP8ZH~y?zNA{Ne5xO6^sI^wg2^kA4g9EGq zve8mcHAeigQk0A2pi~6|;3=6Wo|XeOM6zL*J`G~1wF$7krS!2sNT*5WLkMeOI7=KLAf1dqRoNsuMjk`~nc~R_J9|73;<;dZvJ1DQ zka;CH8A&oggUn2F>z`a^8E0bKB9pBSswkw#G;l-SSY3gr?U(eQ@Indz!_Yp()3zt* zrN^7}{CUPAH<2ikz3=p!#Yl*JKqM$|q~kI5^a(;ByPc>8&Y&m!E4lu6{e)7m_Pxi^ zxFypzPGsBndimC~*rEaV2qpMU7y7^7h(Gh^$VO8jv#NH3<>7;-rhk6GMm$&_JjD+X zS#K8<6l|xHnY*46I4C}ca) zOz0w$f{LdM(DOa<>@X|wV!~i7qYt>e`sjCmzMZB-4orljHYUY#*COuV-~1!;xlWS_ zV`R>Z5C{Q8J((uDNalulimU($RrRpT6(C#*B9UQkrSRgXUCP+hqm_pOxX7py1+@5{ z$_wH#m z+{a482eC&!iOX>OH_r#!-DWiGOu^(4LYG5(-g7dp={UTU2~vTMvmR6&QMR97cOAs4 z*#%6&j^WT1I>S#J*^7uYgi=HjDL|InNy?6BQ9^1u3~$&oJ|urV$(c;3B5d=jM19dX zoz$%__j4{Wb*=p1CLwK}zB8B$RuMZu>^bd9Ic@DKhA~T`o~#UWyC-nED_^l)O!z#oc9 zT4~6^MDXTzCBEfAU&_TtfF(B`Im5<`qACXz~E`_U(9n{U~mdHfX6{Np-%3tQLqU^*@1I?yyY z@VAwtqd9OBChFQQTTuS@{du8U6bR30&vB+_{u>4!)VXPgV~M)mU<5u z6++WYo6%P@?WqhWeVpPcBtu7t#id;?kR+~eIpc<)3N0OG@_Mkng3aj4&`s;6%#T9{ zO4(9({u=R8t&q=$9ZwFz{8uC!uK35qZvaqC_jLHH`zNnM++r%6kbDYT_*G7?YsOPl}vR5ncvQDd!lx_|#onIOMu ztE%)BoO|NSU+kz4(O>BRx`f`iz`k2jQa;)hB8@1`ia=zg(a~z>gB91aEY6{u6AUtu z-HT>8?E!**HRpctM~ql8iW)WWt|ZF)VGd%@irLRH=v&LDu)6ni7h><5mUB8U9~uG3 z9AM{3+bus`!A7VTh&5haw}BXc>bi}d1h(<{`@b2lc&8p7s9la?$D2YbN~7Cf!HpK3 zvzo%JRKba+iE#JI1Y~KHqM*Z31qM_-q0#V9hoFqF15HGAV1f?lMxOKU=f@wS2 z$Oa32<2(Q&vWS^u*K8=HRsk%9;|qFlQz>Bke$fl%9_8uT~n;RhdR3 z4&Ga8^B92JK)Xtu&WIP(@19r@%ThK-i*Qb>*cs2cdvuoiS6fM=9=$fhNReRNtNngl4-~=IKX;u_cI>Qcv&JgV$8lX>OsT;oz zU(em4I$Vh8>&Hd8;o_=;MpMUhSYCni{%ihS zA&>O!n6^bsvs0afo5nL5mC}R|t_EelyT*}Up0WxreVlN;p58cE9rKWswkQdFW3AV@ zk8FXuM+lCAWT041(UZrIiF{O}@6M0uu;i<2@bGJbxG*D(8pt(rQJW`=A@!mA#x{1_ zXN2Y(r(fXti!#qXhyFZ2JWEqNL7wa#E6i<8xG1C+g6xl<5IA6f%!HanGhQE4-?rEk-BZ8&ONn&;=Wh{eV*2o`Lvxo zcR$JsqN&jTLPO2YLxve5+e_E%1KaAhxY-s5>~Rlyyb574c_<(g&KWBNvik`X-9ugu zN$KTp$su+BIYeL|+}$}vNRtkJ5upgG$8|$%JHj!AlH`lOS;(D6k*FBT67qpV$TAKH z7fn;%0C9Eq@aEC{U?q)2>FWGG)a`CW-};}t`J#Hc3!)0S*OF7wSe$p9NT)JV5>VP` z9Uj}=u6Lf4t6B0GaXh5=txuo}a0E6X{Qz6~gCZthEJ?5_4$V@JK_U4+o zQrPby$`g2l{SisIkoyP>+ymkJ9jFiuIOT`(L8|(KF#R;C8?hRw_PbnC{MdE`Um- zc>dKe%u74ZZV%Z2+%(orVrt0mz&(e~>I;ym2Yn(8GJA+_3ZsInqx#VX+}ka33KfD$_0I{lk|#UTS6K_Ao!mp#dBb=vX` z6!wz&5N8lV=zWN`_pqMhnzUvU5A_LWOh<(TaEa9bDEv2)(OG6M|cdHL3!$B3U^e9 z%b0F*KU#XMn$B|hSlz_b*#{*^WVvwckFCkT4VdbN!1z~u2HE~H(=TWt)ptoDe-VQ= zDJSBAYn*_=U~($x{V68b$phjmXG4c&jKjp05`pW3Jxm48HjBCXn=FGb&lgdt#NnSD zj^tEKb;G^EMEN`~W;fshg%G*-4bHDsAowC)M;@(fb@0ar1jzk!!pj94>V;K3{}`$& z;}isn`JK1^R|@OFMmmkzhHyE>yH(h$=?ua4#a`0D8VFj{TJ(@>&>@&CT>&10FEMQ4 z_9Z1L+|BrrTz;Q?J53I@xK*%-r@<-6Z>Q1E4QJiDz677=%GX{5fEcnUU*4mz_d@qWm=%oIg+q3@3Bn4>?d%=z1OP6W&m zcbsKb;?pCuyXvkGuIAB6wOpe-*Oet0Z}w~L9P&N;sN@ycxrj|3f5^|k*Tu)nEB}uL{J!2pE3<64 zkUiK0wZR4->ioN8HY3LB^|1Oli^0r0U#^e|up>4$Ky_agftAjcK5)kYmr&JGltH98 z+ys8+LE?8HJO(~yN;3B6Rfpv{;ANDZ{I!^5-swno3uHDJ3rjf^FuDn%gsqO*Y~*ED z;bjPg>Hs0)^-rP^Ku82%u}`jj$Mr(b?X?Ux`L)%pP{kV7!<(Evoyy>@V1?#Z{U{g- zsnss0Tq#~5I&O>3x>8P%<8~Wy^8=(5eZq&=Amm;%36@M3wm^#6;5omLi*Vr(Oy!lm z6zGm*=vC~wRg^;~5InY{uzQ*`*pPZ~`6jV^)eQ2|Ej@$zxGC+CX-=nT`F&(LSI4st zyV_q%dIrjf>GDMKs_qTxsEw2Raq&ECq`_SdAkg)JlV(!uuHmRmlA0Fpjaz2rOJIhE zCK~6NDEXZIL2-8Ru1n{IMf1+{0r+y9zLuiEhg5XzGXD*i zP@VA<_|1kR>^J3AkQPQnFsUV#}3bl`*s)PN}DloR9YXk@!Lz} z@?Uq7SM=Bmy7O4JVW#b8va2F}ao0K-NZa?YOSY2bc0My>;5WgbV1Rq_Y1$8EupIae z^1yg|1rOn`xGwhhH2HaZ+xI#HyNmmEd7kgX+8Wj)mH+YUHL)8frPjU9J@$NR8Kr6~ zwrV!ED*u=AU|?7?$V|w1gs%s2r=LNIPBbx>2bKm)3c%4~4EF{iQ#f?7mklaF*sP%~ zpqwBhAaat>O1c%yb;>p6+g^$S$reaRW)3H^9`IG1JjpBtqPiXXi^6R{Ci42PlIjim z1ld+Bb>8WU+Z3?cpo0`Jq^~C^79pemZ8BUMhv0R`tw1_)^`n?S(s-b95rsSFW7c=lqZJ8886LwM_TKW}1#Q*a~6X3Mh zxeIWcV*iQQHRGZf5Kgj-D4!23%QA|>-hKIrc0n`wk`kHq=Fr(e2*_9xbQ^V)2*lh#>prNGpo+61Z|k%3NhUfmH=1-{w$V zTtE1p2|;L6z!Z)LV5xmh6ZQjfRqNVs`*w}CAD)Nq>s-(7iqNM>kL#cBL}z5>QR1$K zS=ssfr43@fJpoX4*glwYh+JLx=SRqU{D+Nj45QG8>)NzFxm()-qEPje4kXE4;=SS` zC%Xj)EYs1W82$;kPsC0a0OmFf;$B&v_i5xGoo1Wt=IlZHq*AXf7g+nr6#A}pF0RCT z)jxD}BI?V8w3d+@MUAYT6KH3p0$RkxAu4srsvYbX03&bUXbM3Svt9=r4^sfp$LTxf zm%F_T*GMET<9WpmTVF6jsUc|;la?y#7|E7yWRbpT!UxXb3TbqlLjTIL&gVILdc-I> zlpYnn$lxqcUy#;ThK^f-p6awaCv(Xo3$gx3M>Y%2?dS(>5tfE;rri+resn%L_JN@0 zE!V$K%Vqi8Vnly;m0c+GUScgr3Kzqy%bPfy6VTCb&!NAGhzpA+JUDLU!SBCt1(>Z{ zaf9upCon9C8n5*-e6jIdW&yKy(?TnICl^ET;?kOv`d{@Yy^JKeCVVrj>Mf*zM~YU2 zlcCN!Uy8^e&2;Gzsc*QOjU?8B+hY3QCK5ZzklPM!%}}u>RSbL%nR{aK_cSH}408}7 zdFg?RlHIRRiyN9`3t;-i>Q%|o6rHzUwHwLQ>O1eE{uxXvjOpzBWcRW8?*+KZ1eM}bDwKO8+Ejr5|X1js#yuL^{vSLE_; z^-=-9FG$3Cgpj! zR0gJn3UClATUQ)P_;*hXh(U)!ke^9ti?w`wTkYhIU~x38zIYlyH0$8M$v zbOIEzVRW4}7i&Z6BeX7KUk%1x7%AY=H4tDL@0PBJS1T2;xa?Xv?03uB<)(cQ#_bja zsW-oRxbppQ!or5<#xKdp*Bf_7uKa-XHrp`N^+DX=_`-;*JETNWv}!k1<)dRA7LB_hoYEpxE`j{gMR?@AWnoOb^7fZR?9?;L*c&{%Io#*fzSyHwSQfJmGXR6R^nn7DXlbWc zxwrLX33%J;zrdX`$r>u(KOOJGbA3sM(=D&*o2C!Bq&KIGnuc{(W3a(|+K6dhZ*Q$U zH+<#Tl&}7|CGlHB7v8)MEhw$2&SjO&uv^NB{?SDgH)LZg!nl4~rHjne`NSZv2n=&~ zy^K^`C)(z|<-Gw=%jj0vt6gUw@WSGyhQ>-hsQV=$m=LHB6!!tVdIUCPz=!b3f>bRL zT~K1;th>lqWg#D@#{`!EV{NtFdCRMDYd$@(slS&l+Xg=r6iU zXD*NS!4r;ZwpKapwRV`2^d_R!h(e#+umee;=sMnUbJ1s~$R#NE=f5A75Df#!Rls#&DwCKT`Y@(Iu$c=tR>q9V zW993njqxyEZGc>3E52`dqCs!;aKZ*B*n#;$7*RMhizdp8oBcH~Sv92zVyXv?K63pE z^;ma8I~{R)aQ*%D>usJH33g{GkPrSa8EZs;+wk zu`D1gHILgEk|RuYUS4OH8iRZ>z(J>5D)_GvC$K_`y03hKYiDtNb^RErYs_wnvX)tx zO2=f$Guf#6NJu*LongEfCpBmF{UgRLNC;o*y>)AIx^QA(E9cgk$>OD5x4o5Y{xc%| zqpb#y40hwmd-v284cxNK$zT-D<<654SmAjFVGZ8s5*Ab)2oJa)qhsRMMT|-yn^4_T>@lMa$$7S!kqnu#*JHR z>zgk0CuT^{glc(ghJ@yBZxu$6wng8>i-oug4zun}K&Uzjj)W=d%2&%N?y*&(s<;D8 zTb89%LAo7SFuz{;c|cUeT=NqL-Z7q!ub}}>Ncnmp@ygjKO^b8z$J8##IM>`LxIX+U zOUAy)=OiMQ0EeByvXS4US1crmJe~YbQBkxc*AtiMfPD~hP(w6&oph* zvjct9@12dYt;I!QK)tunGx52sNaEcu8Y-#@rJ6_t+awg>t^szHW0Tprgr$ArI?@%a zhZ53tEdsw@@}E1nqPL!l(u86-@-c{HA8ssJ6^WJ{?eWV=R+a(IJg4EahHMm>_^PZU z-C+{@5Fa{C>%!u6iphPMJIj$rHTG&N+efj za7WXIPR-5MkFR=uwmhiUd4e!0Vf@@?$wjO*cJz2%`8ZzF{9{?jPm{!zF=;BHG$H$g zh1&ohU2rgp3A?LxcIoP|;StiaDZ&jj+dCDi+Py0#bf;0!HOu#FUY-6j-6vvem1x_` zo7t)H(HcPV5419}S?EsXCeE;qdsgp~HW?{=D9SEIeTdyC%}NVBS_}nc?L~+3i?eD~ zUDQ?c%PoL3KGi+*5jSy}Wz&pA31bU<#Op468YG67#;Wf!7zj?p z=jVU@Ij}gZuIC6PzQ4L}?(7yfgFt-vR3tt1b+7soGC9#Tp`_<_4~Mg2u6b07ca`Nq zt;R+b-t`L(X0*of5OtOTA6KkOpqYY<{%y;j+!GPhiY7AOCvIi;Ep>T+^a<|i!`H|A z_GagIwJyQect}tFlsWG~UaAiZcjj;?2G8B;Z;sZiNNbMm-aa8!qa&7QSy`u2yZ1}Y z@=v?khwc=q~EIDJUJVk7&%f`x>X5fwT;8Bpo#dQ^`${>WomyM27h z%2?JIO>i>GZco=~1w!ty_^0eE{_YWDr@z6a_;ErZ zAv)@eRO4CUy6!nO`AMWi8Q74=BMPn(pJl=sAcM&2sT^XNxbsRg7VMiyYCQo2J_?V} zOs+0BH|x3EA?%BPK-*Pu1T29sW5PimmZiCVF1>Rrn3$mOD;{K>oK3+M%H{l$l{+(v zVMzim{@WuustosWoEM%{ZQaP`b88J6#p_5P;R?8|4~$dQo?~dJ$Xex+%Fa56@UL!B znq!5Zk>D6FWn;APtgbLZX;NJ?A?%l8xCi=yGuH}LYx$or(VV$*V!>|n;||kGPEe0| z(CQUROHAXyeV!HR9Vk*urWuUvnJex?qH%6$&2sL$BvB@A<0zcOTsuxfejL4f!fke# z3!0h38nhJ@_Bs3IAF~eSNqvEPtIgv6laY2SKmYo?uX#y#7|h*zPRV_hVYO;$EAKA! zaUT1+3q2^X)zC$Gqxn);G>E4~hn^;m)2vk4FX1|!Ir6PppAe=RBRtm&ZngeQLs)L$ z$-H^OrKrr+zH#m|p&1+=8M=B2`aVHuQG8yuf1VDIy6kv|*<~{aKQObjged{o$jnby zT%s<`^(RWPIa}LM)I6(a&M&E z?e!Ge@xkS4!D|0G`<#J44UL_pCm_?LrWO%`|KY17$^ z3)MeF<}Y;u)|>1z594bm!mVn3SG0j?psbQ+rs%qvFZ|+PebF29p)RBxdg{wx&l1XE zsh?>Z-a3UAPlE>43b#}|m1}+-z7x^;@aGi6wCww|A60cmli?ZFmtVh6EAwxW1_Zoi z@I(xo4*>SfBORC@_8$GN*C!@QL(M{*iq1<-%6~`gs)+8`*=yFHm*@0M@d2G*#L5;KF^c z(g8~sf7$nayusw*d(yhJ*gZd9e%|;VrHZ27sA6%Pa#2JKG{VE%@@#Yuk_DXYm^(u z04kQY_B%VF&!8f|Ch=B8@PVKM+=ee5sdss*#1`x!^9RDX%mCkQ$zWzJdN*e}sG5H^ zes1oeoAnmcvXw6ey(8rx-QD&`?#^?09t)$t^)xlS9iz7D?OMt6BF!sO{^oA^cOlzX zY#pC-cA0Ipn>$-BzIWXJa$we=(}5(bq^S^)sR3KIb_a=fJG2Z!_OPsaXb?AG!zmrT zYZ}Ksz*jcd_wvaFb*HmZFwSU%xoISOvI)YD%|FvAZ<0`dZCD-__o5N7YT>OoNp;i= zc1@GQd*hrtZ>}>mw*l;wF*rqF8zKZTYmPT*WErw(-WcbJCd#bkg_mDjW?upa+`Z+1 z8)fm`k)>X3L7W@YgVZZkYMb%trCZMfgtfAXu+=wjAc?TXB_{VxirUK(oMRd_B*R5+ zHdPUzm;U-021`eyJ^x7vtvYh7tf&9V(bjERJ(;GmK zXPEYXa|mTTCvGvraSuTMjr3D>Q_2YkJ$S6*8DknP`}UjlWS`7SkP9Am`bn)$oAvZ* zJY%_WLp*Na75ZUaMFYhAoT@OIV?C`)$C1+owZAkrxnVX0_2j_oP&jgDJvlE{| zP?Ci!6qO-)K01u&STYRk%7l#z?H~PxKF^C)s$vCum5UA0#IU}uW^p`h1l};;mr3_O z|K|cW*jl&%2BRUU-#1gODp^K)g;zuLk&3^xMr(#s1WWJ5aG*GRjt8J@?n;3XFpE%q-+!;A)wYyxrd(&PxlBFnGz=`_@HS23PybwZ+ z!)w3UTho(O(&UQBvv2$0{H@}!PhtCtb0tXwc}7;+3wW+y5kXMQIO<)&MY;B2<0WOv zk|PWYqq@vW{fsZ()%dI;+4V>qbTai$kje8!$?7|n{Y`CALCDlu~q2o2C$WL9G zro!DcpP=_tvUhKn!IKA__N=Q zpP7Js%uGlfnSoRxJT0bV_!{hAoecL0t683eGAiUVdc+=$T^c*TO^x<<$IY(wjPBKb zdt}XJK-HnK6}7DoeA8e4co2ON9y1F=7IEvca!S--Z)vaDqmr<-lZ@Zp@NIe07jLYQ zMrw%-=f*dLP)TYiU89?~oE}Q_{k<1(aD|=bXg@%WW5dGW%YB=gh-)@G*D^b`py^Qe zvWN{(&vfs-)7{NRkwx?P!jgf-C(plKGsZ(Y5In-)qm99veX$E-tXF0$C|;_1x2+74 z9J1>M^op$vk{w(T=2XDd(V@*puWj7v)%J`0Njst%bkW$v!)%-Po0EEc7*X-^<^=Gk z%yfp@-%1q{rL>3ap5RM^wFytneu5-sk^~x`$Idq43MeJVH9kEex|cH|25sHzn2Gax z89EVv(O5KPI>8vZC)Nz4(D_!}k18ns_ZMm&JzAnyyhElp}5RI`|!5tW#`wm&sQ z@>^!%-Ye+Q)86(VecsCNHZ!mvId*P%uueRk;XQ%la{GC2K3pv{sy|nTF~M3)!}{Z3 z`tTn~GBWvy&U~xGgO-Opiiab(lXx1lcoQaWo_83cwN4s#fO|H);`*uh?^=1TE)^Hl zUp4^z3TS#YBR$#k%tbnolw=F}nl;tx6ZOqv1~O*ujFYAA6kG!5Wz!de(bw(VI?7$n z4l>wGD8A7SX89a-q*iFv9VN+?AY`R~v2dtf?(MjLB8ohFh z)Es^sTlXc_N94ufko});U;62~IjGJ7PW+4YeJ2A)6Rr*8qKIy(f6o%EMmbdLD0eI# zfkGfjQ{-{)oTyF9E91Gm_@rxJ4WzeH<7J*b$#*64Ni3}i9IY%49%C`=eN7{osAy-{ zXV>aUu+yx~3m>ZfunHW72|xf;BvH$?J$S0*?IhNQ`<_v)UF(^^Bf;`;;`o!$J6PIcg;U3dh-0nC8je$%vS<0W2)PPSU z|VV~AYOhNO;q7EazPQELMNLKs#0#Dt8YQmEJ5u9{~V z3E(-Sf3I}FtgczGDPh77V)s<6pl98sMX_w3{5U3JKa)5*N#qo2EFuX!MzM(f4OB%( zn>o1cucC3WIE`t_(w8e@@#m(%3dUweD75DSz{^e5v3~mK)3a z{BQ;B+Hw16gOmYoZ>F7M;QPH$q6wV&I``!qa}&GbBAJ89FKP=E)0OTV)?U=#_ENPy ztGAO7;ELtSw=y@q7-J6p#+%Zav?t7xLASu=^`V^w(>!IJJ6Q5n14Z~obK~o;prN%R zMs4b^@g+g%;03JQ{#syp+0oS+bxU~1?}+8a%MQI>68+pLS6nLJ>+jXv=IFz`;Z|4s zD5uPFwpUL4qK~&4nc@^X=-@tkUk{8dl$P<_3$(C?_>FI`)sAWai^pXx%$IAktB zc4(-U*KWzWs)f|u%6?m(TSZB|FgI!SK2=N?aupMYQ+Xi^e&G-twMrtO=roo-RM<4p_#Vd{_lPX z*37xqs>^cHJJ08tjZ6IfabiZQ=Z2Ol8Jb#=azCV!@v)Cw6`Hl@l8*0IN~dg>S+ThmnISd(mExQ*q^ z-+rH?Ep0yX^ANd%IrTMtVJ=k zkDdrqJh3iX#kY71mWk~pV@3wXHRbz!2Yh1t^mog?{yI6$z|Ha7UVyu>hW{XywBXyK z;&)mK67ws+wGUPA0?VM&qzv_TzMC2!v_TMEGu%E1tS_;S#D2eSB}Dg=4~q;q6{?&c z7^Mf{cB-WfDBn~40hY!L%_TUV>rT9N(aJq)UTr7{X+9q{T=?`Ti4Z`J4Q~LtkZAtZ zSF6M_{isG@4qS=(ZDnMyE=s>!-Rk|aaff>wf6mAW{iDYRB7VkZS$sPWf1$F7bp!wAg^9!_6&wJ}Z z^W)$=J~nvaQ*(As;39TMMEX~S1o_htAt8IT+Ik@A$s-8SmMj&&R~fO-N`Lo6`nQj@ z-4ZgPYidpxajqXt*!nbZpG`~C6_ENZXonRw01*hIEv?#+f(Ba521|uAu6)U>+uxag zxm9}TUKmbOR`>#g2pR>XiH8I44TJNwqf}!qMAf-L1DY1TeMVzxw@$*iIhU&Oo`Jv_ zbT`I29dJck2ObM9eQ*}grelk}oWa055I(GLV;0iKg{dSKF)c!2YWe2Lgf11-8%N1F zr`jLt?+y);Nz)>gj>t-;a)E(NR}=NgnA7AG!Aqn*wnAT-Un_x@iUsewgfH=RBpkjX zQ*8Uh;v)!I@ut+Vk`q*g>!cAt(5RVZtF_enPo#&|PN}D7ASDb$f#kopTa#R)f7rMoWT|I^+)xX z^57BrM$W$~RX+1_vMKP|uf4-~)3Q3g{-eb45|!eeBcFPr6@6JY!zaCb+tgU=#PSFe zfyPCZV~X@ORIbsB&-093>Pzo?={ma1-nlh!uxLAd!u!ziEl<<_R%sB%^qLQ67JLq# z+IaEX-pg!f4Eh&Evi+YC)vLulP&IoZ_|O%!ysQ_;f<3dlY4_oLzL~|D+hMzN2bA^; zR_+Y%6iH4RL;VcE-#V5ezKG#g+EX_ABFcM@KYlNB(@N>tUj_GzX80a_UDLl@GtT3X zc5imviFceAn;w}CFG5BiuNFa-H6NAHd_r+=Qq;6>suio%`xazZzGOeErjecc%`GG` z+kgSq^9kA|(07HtpEy2sI0Fg2e-sNv+)r=Tz_~YS2=e83B9`5b;Jn>rRbSJAL)uJ8 zNM+q~AY`9K(q>#(BO)Nh*F|3GM#-h?rt>dJc?tyXg);u`WkRf{wYE5F^AHoR>MP&C zMk<4>_{#<&SuyL|Pq<+3@BSV&x@~d#RXS9WQjel}RzMTK2Y{_GnhMRM7U z;n7w{zpkSLbwa~#8iU%k)Dd+}%e2|5$w)MTcNpbf+40e|dl~_&V%BpSDL3+|2dSaA z8pMj3qNb%>Ku;WUc;;`k+xp>6JN(mtkY~x0<*o z8${2YZ1@hpjxw$EuNY!C==d2lUqR&fdr(BNY)ndN0oZJ? zmX9nWp;QHjG-tha7!!0NlNySovbuyDh;wnnI|i8L`6|)kg_>SWbY!9^?kfl_tpLT-G6-l{raQ( z^SO$1yw7VqpO5Eb2rg3Ui+8>5X%atitoO35r!(m9VIZ5;bMEJ^j)c>QF!J#8F}OVte=dgqMpJKla>T05nl zR?z-_aeZ#6aKdP$`!YBIbEUAwzYj6}VFwf|0h9IovQco_N|Eeag8rHNhwE-|h)8JC z)*V{_Ma<)r$-)HD3$U>TfXf6l29mW)-takype;L4t3~xyIco;iqYWyDrx)v40M1)Y3~CqctAi zBTsx{U!L&hB!`a)O3Krw?NDfKgH5Js41b((mXKjv6uNcaX^u&;3M(J(F?cIAeCr=u>H7%H;n zUT>5UmG7>zQnpyh0&?k%Po3wV2zU z0TxJ{|YH}Cmx7<*-JG_|EylaVW+=+>< zb16KR2(%G+68I7RmvSSjepX&`Km&o6-0Ob$rKRPzEo;=b<={=)cGv@sinRpJ&xy3o zia8y%c;6mA*ITJ>tqBZQWg(50k$j#ZO6E=0eVtq==VR!e$7WG=bsm51G|%rd5&^JCt8!(QA^k z8HI;CCrVlg7EA8U*TS7#dbZ1#*mm1cUfB`$FxR$wbZ4V(-4EO8^$E0FD%E{mdE|H5 z@;f7izcX3*nvp}EH_)2X!2w#IMYcCpLtkB%ft|N&u6)vsh%-(yn@JAT@=9%6se+Tb zV=CF~TsElR7S3?AVM_|WaQ`8s{Jq~k5Z=|GoDUG01cfvvK$YX?iEX+>+NX5-X0|2+ zc2&{AtI};DA#JN(+0oA=yt%@05l8#+Hf+bNrdU;h7iaZ4IaH>MeY#gY=|g^)S^ke^ z&ar}Y-skioNf>1=w-~(p#xOSZ!pH7hm~R!1Y}PzZ4s2+;NC>C}CUgvsQ2K$Nez%ED ze7Sn}?rhHQoLZgRFx!mE7)%dlaICS39Kn6Y%y7n3$E!Gicbv+pRlxhW8hWNdMo{TRo`5=o6`7a@aS z4k!!y%|o!V?Y&K-qu`pC;!dO8dy|{|<{GPwJx7Yr%q16Dml3SA|3mtlgOL9eu{v_p z?c&HMz7SEAxvpFp#Y_gg*)Chf;OXPOjY(X)#!Kh;Q%FfEt$&^m%7&sLwZWm)Or4?0-x>{P*=iH z%L3G#qIO3^5I_1ZJpm#sL1zflPp+&O8{l*>ajl{f{&7^3O;dufln-}?PEr-$(+Zil zCb1ekb=+Q;B(Da?*WdW*=gK2a+|cA@J} zuL)s_P-W79vtV{UHKg{5==}Hsp@L0=&}wRe8zEQ3^SnaxEuY}9@l{ADoSri>etPO< z=nQrwypI=N=I=8+k8Ke2f7+c7jZU8)Po3b(3BJwh`zrtYT1v}qJJa$*3U;d~>(>6; z{Z2y*g;xz-OKu93ao;Q=VqbjuPEq$c>&|%#o%r2LTkU;BzY!%KyW2(Kx}6+37thRw z7IP$Z!w}fiFNa2jtYSF0Iqp}c7*w!_^G*+%U;a3&sgH83>Q#lG zRuu>@C>ucSvZiMe13CFGNsI2D*{h7=ZNo>F`=Il~d)KF*I#>lKn5~Hm(?@F}vo|QQG$U+|le?0Z3o#v7Nf}`6HK9!vd=Yi88qgi5|49C1-MfiBO~$-rhbv z@)%IGacsA*%R&1316;+rz-}8`TMVcKd%(TU*_Ght$q_O$od)9aFu(pm9Mk{H{CKx4N)z=Y2gZlhH~Pn86~l;E%P#V8zuUe%QTdXXx`}nK`IxVe)*uVEDaoc%aY`+QEoqQS$Vo-@|2FJ>PTbeWZOjb zQtJ;>myJ>UAC0=&m`4LqAh`fC44I-P(d>or8SvH^jAy*?p+1S|y6r>dpLlLNxt4nD z^7C|Riji@#+G&OCcb_uM&VH2aAa)8&jys&Z8#mSMO+6{`ZStsf!LR<+N$NK$_0Xsw zcZNOutb>VQ$x>P~O0F(vy$R?+@+k-54~wu*Zf=7%jf=!;{E7B@WWmb_fk5 z@Os2zB_Bgd=!)&;*9|8pMoe!mhRmm0LPONFCfzjJB3_PKKchJrVKbW*i_=@pJ??q+ z!d+P+1wLJy_mQ#O{-V9;IA7nw1i?l(qWY(J)L=9iH5)_w0N+fTw(@AOWt`Q?5SJ~w zX!w0{dW|Z5i~WtNig7%A@}v2(SrM)ft6B3_gm_F5?(oJOQWv%f??r~g>w#~IopCoc zwBnB4IYwFtKdvbl`H<#GhuQxG3pJ{Jn%~p5cz`(7hAb(8eod~3js`c4EhPr*#qh#| z_Zfaewys8)yfUMr;r$NYC!ZR6FZ1;2td}a_Ex+nscFICmRVOurTDK*P zjBLrp#W)J7Z+_}f0@mqNJ^(d!Mk&-P_)@a?ZTjl_7UKu&9W0}u!P4LC$2D}9-uAItad70+#1Orvs540NM+-M5ep_0{TpPh;SEjQ84JfQOqT!WR5MmDtN5CU=%1;wNKU_%22E2a z@qp;0&*4p_(a$_WB+by3L6rG3eF6ZG*DrAB&^+B_g^KX@GJ8(0An7W;9o`_-Sir_Q zzv5!exFwt4Hv+$u4FJuU$&vFK$9Lx8chm2flKCg3%`2&^425nldsY%_1;V77mKxAB z?@EJCAXmh#r_HR0fh_v4j9ZTtYUCwu%sf}ytCMrnA2xH8Wx(=}NwC_e;W%sRn;DrE zsH<78-E#;Z>o=swqh9e+ zpp%_TbFhEwwp%K>kj}3THX1Q+j8SZ*SpLAN5Z<@zAog#g>l=~u$BW#TVVv@PZiUPX zz7U-ZFk9F1JXCv&`lj^PMLU>kW7oMKoU}pIL1PNl_+iVNoz&w-%jOjDrZ`pZ-^1oH zi9uhxb^5QHCUEiZQjh-(XfTx$b~x&z%;4O5EbOf|%S^v74VC)+(_{5fAS@$XMF_R5 zXqknQ>HA#g9Ex82vI&|;QKYD0VN^xk) z7h$>EffLLl*c0dYu@79GvQ60w;cniT2d0Jh{>Dd*GHNt`k`Pp`{TIB0! z;#!yEdD?P%_R3cds%qWb1)ueC?~~hRjlw?VO{EW*)`^i8(cKB7L-!={)-+@%p>CDC zW_^;Fwh=3!sA3!oW?NLcPh(oV`UsEI31-{Q@Tn_SFrYgAxgWyKZ+xd9GbhHF16d7j zIrM3335u%u=ok6v5{|NN3)@oY+5;|JySGJK8^`GuQVrzd`jEfI1)m@U-*S;8?6W>dbuoPIct-EdjAk=foeU=^-7-2ayeY0a_`1p- zdSTGgUN_VrRx3eKBy)_>wD2g%|E9q~ObA2H&Ym9z==FvEm{X3-ywp#;LObb~f^AH@ z=6Q)CU3vwawcBp#YTfTnC$9NmX4Wr=Tt$71hA#3o;nUV~xb?jW=3s4fsnBeLN>j6A zbYD6y2WG*x5zlJ39n5=J5}`2Fte?fqQV1AQP)X(+!T{zd5Qcx4PR3O%zdq$f?7xlf z?r0z0Wp)cS%*mCy+ZYGV&RaGGqP-;PrsNX%jpH_jGfC#pfwfZmMV_j%NM)~0!G+H# zTfE>hIkJq6xMg&M`jbxN*~I3&URxMt>^vgln0kJD*6lYgK#1(yAH19%<&UR7hBD zE=b;%Abd6ccA+2&+6PrmXLPo$$rhz@=Bm)EfyE`=&LzS!w ztI(vr<{p2WHhSWeg$`_N7vHMCG|S`~*6mjY8+`Jd2|A8by%ZRG^s-EQfR`~8v%t|S zTjhd#eH$P8yq(T;qO42o*i-aH@V|K}r+0jf6mp-&a3*md9#BIUoJ=g~dnPXhJkqd# zIce%NA)go*_ndaCik)O`8?gKGMh{&7{8@fRHi3GGh!&3$b5=n9=)BOm#ij*_^V9g((=uY#E*+9ggZuV2=_w zd*&=>pr@ES+tEpu)xNWsU53BCd8Tf)xGC#gf?MDIpM%3cAp(oe&`on8A2rHe^NYZS zEw}fNjh^Zp?5*LsBwggomS4pyZtUm82Aq67|A^XBjs*=eJrru*=d`Hl|BOGr{;|U} zzlUKClX$S>nA%1VN>Ie)OBG#ypH;)?rGHm6S-A1dgB=8^^^$|w|V$PzMe&{2&ptkS) zKgJac{)BD6azmB(uQlVH*v9Fq^7p&LN4R?bGp<)L7-NRw(hI@REF4E?D0pi1(U?dc ztz)I!I7CRA5Zw2qA_Oe~6B#o985WrS8B4DV>|4ppAE+LO-Q>v|czKHPtu4NdGthW= z0zMau`s?7L1^TRue?94s&eG6bm@Q?cEI7^DNXTMR#L={LS}JT)rGX8jiLn{`qhCiF zd4&tW0v4PlNG0eL?;hi`-w4~9ElMnoAK~&tJ_>un=R$@1e9N!zWbuqy$NAOR~R0aMpD zOe>`T=va~`@d=egDG=UL@MlWUQIrr-+i?tWqAlwlBl?sy%WbHAkI7Ew(_g3q#A0Zp zG;cp}S@$y58+!PZOGy3!c`OUys0`aDC2lxgOtZd5!3&VP7Kxde1#qIa8|q@9Me!Vw zW~F?-3%qL>ZdCH1sc<@zNFrk83_F)Fcy^W8+wKt3{zS5cN+il^X`BDa}My$ysu$2{hlyvxH@N-nv{v_k%|%8Nrq>c^6H_~D(pSBOk)lQn`9_=Xd|iP4-HcOs z6Q|$I^dC21EA#ZcR?;JpoR6RpTi{G5$KyuS;9IUUQVG+HX?kKk_$&Xe(LfUKAVxk& zLc?=6`2A6|;r2p}q+oM*9F0f*p(75(pb1)6^=_MGLrb2Fg>j}gvx z%|U0)1{iJmnpdZrDh@)i9R|&6+`MoYh@1pq^F_u~Df4ysZQDDPbpqAD08WZhGmeUJ z_>npn2Kzm7g8$vCLm0zvMdi!I)L-l{Bhx@ljpOnPrE;^6zn|VZUa{iYSMH0J;r_ju zw{hB{8y7+_K1#m+#S@%Fc{ww$SbXXnL?F`Q|anUDYd zL9cw^?(|<@?0+Z4kiX$y-Fj^V5B&F6%U1N9$(<1W)Mj9Nha>vp1ubge6tUfhyIHiy z6uGEDDZkmjrrgpEIXwxsU-_I%Hj^~51YC^?ASWf@z)gUWE4eH>!w%uTD^wACgCw zXS&C1>qo4aqh!t}0SbZaW87M8m^@vQcDa7tA$+m<2O8d$1&pcPYO&2V;oe-%mp3Eu z0esXq?I<(F{(AynN8O%%Y#&hzD!{?ziCyIF_um^}G_QO1CCoLik$9Qc(a}FRJgDm_b+A$-zw58_D4{7_W6ox84 zJIvM~_IN<$0XFW#cbs4x|L%mRe`Y4X3yAF}LNIcE>0LLSstxHv8+;GHM)6Q`U%?59 z_Tr8E`37?+m>EXLEc7nUpsZVIJcC)2vV9#F1*Pfz{mJPw=~rO@e$^E zH94q#e!~{izvZ0$xE~~t8}Rh)&eNAWD-xN9{i4aGNkZ97nzs09!&=}U_i+>iA@|bq z-lQ1kyc?_~iT0#Uya~uNq=u2%b2?RU+!1rjr`fYd905TL&rpCxna{DFhIv1-*iu@{g;7(6rXu*w@8k`?O)& zwGGJNfVUShJm0d4;@k6wE=HcktC{pHNvvGwdh5iKE18c@q%YlkWG7>zCH0ujXEB}D zwG`EBFt8^JA`JD+s6yKJcc|bqk2Uckh>UdM2~d&b2W@1b0(ufa0gNgpgJ9spRxrK_ zYaMJF`I!lt_{LK-N^W@lS-NN^#?126HL&~;sepg6UFiI5W3)ZVaG0dl4xkl(DJM$J zLBeA=vEMbhrjAHU4Q%p~{d@R=tOv)@pM}ESDTG*v5*(k4G|DKMK zN7J&2T-TvM+)1OtbuO2<+8%VPJJyC$AUm~T%?IaICtDVl4NRk7c~@RMC{wU4;)<;- zf0rH>`UQK2^mJ`lHun{&ttFae{qUc%W-?N_SX*wn`C$C=Ky<7DU6;kGw^!BFvF#$- z`|skIGn}laI7zWxBg9)&Y@bi|pxk-K@C}b}dLtw$w?d71hoBQsq3-tXBT`8+p0a@I z1;mFXj*n5%hk#BUhPk1D$>4S@IMBST1~CC2wQrBZlN@#>@XXoc6kmtGj&!Fv)DUv1 zmZE}R;VKu|fCIL;Hx;EPqh1S90&-uHg-g+{b}vnPV~ulZp9YUL&eFD}pHN&~C^O8m zx=w~QiL8N4v}wJ)Fl^q6C0~H;buG0oxC55~OAat;bM>b*P^Ye1oLsr>9N$W~8KOXDgr zQDP1A1Rw94cLun#W;~fiS$8>tTJfJ+hkvg(>Q2(S?2~9{Gtg}Bc~HinHa1i)N=2Gb zR1<;uX-k&@`v>fLRdLdtU_d{wDuUWSmS^q9Y~b#z*n2Aby1EP9w+2OJnFAXiciJl( z5;D^7KpmOkdqqd22S#7-M(!V|>0KHde8--CXlXJ>Jz^wEFc@9Dy@6NFteaEp;nR|E zDe+RrQ&4U@qwJc+k>jW1CnZ{g`KmzM=nUV6KMfp~pVArK?WrhQ78-}g@8WT*6mtQr z9#vfVrjkZTkSMNBCn^H92jDFPj56Bt2chhdZBtHUvkX6DkK4Q4y2|4(_YdF-w(RV- zM}IsQ7>dNf(~ly`+jx|kFYCn*qO5zzIC+3!7ixI`b(&Z4w7d%-%5g#2%FV?q7JuDL z^UU(r&CXVZ^z%5eAWIzEMpQZyaG$*(Gmo-v@n2UayGF0#+DO6U5SjT0QmTr}kI?;EqYyddoPyN{CTg)%?yXbwO z0ZnfM2%A&oSgFuQfcr=(KLKRX+TZLz7t`?prHVd}kFVGIFl>!wlYcE)Cc=|1 zg;s~7$VTK5Qr%zY`}-KwrU9kSuORko{SFk>-Twh7$q8{mL*OIN8fTK%T8h)!?pym* zL4`b+HJeeoO+#C$I$sp7r@yhYF|5Z>x6;gGlJFR#kldc(NK}LbC)uhPhKk+8pRmi^ z4ygzoI8nqU^k-#`w-)pyo5;ML&tP>wde@Ww`$9H7JHeOQtBxJEHlM)=0_ju&J{TFyD(!lE;fH+n zKTiUwj}nfgv)-;|454?-8tj`FFoifeoS?qHQBJZXE~@udj@RE9?)b2_v>iki*{n9b zNXKZenu{k2g6)YOzOtq^^VnrtK$ja%0FOd;pTRAMpZX>>N$vsttCYk*ES-e?Unug+ zLUslLifcSvh~qqywvzj^Al8lBC1ma9t>(op)&P?Ocwnn5R|vYapG*J+F_WSmV59t1x2mer z>+d++VD1%&63rPm(IGRGl7HVL-iY{&js7=4FgAXiPOMm<+4o$ zZ-NZ>Hd#`KhB#f`;-czbio)P_D9G|Jhh%)1uYpHy=icuY%nP5&>hG@l^Iy_?| z7;%&^jX0HGK{w&C&p~tbjO^>qx;)DYV3~I307_%|BB)2^-+VRRCLZj|gsr~!y{EZ+ zKvNmdDlE64AQ;52>-lp3VI3aI9w>W$d}rYgLruy??+WJO-k@9c0IJHhHVZU(D$krN zsA$d+btyRISBV>4PJ&jywd^6LaoJL|w>;bRkLhId8EC^!{=YVS%Mx?lUD;Tb$K30E zf|?>ON%r|N(dO8-E|sFb{c5`p?bxBR0ch;q{e^s6mlR&2t}$4r+fj1d5R`413R4kK z@+7y{AiKx2yRo1k)grDSR2#njTT#kxYL9T%N+_G*+wvvH=i2(`B6$3#K3|IB*aLpg z$60g?(gOQ>tnj?G7r>Z!cmttJafR4EA>3=` zcWDa$3ftY&9|HdHof&6y(6AM)-*>)GBo@txgmxzvq1rvh^cB`#&_%clas_x4?1P6E zDaSeN(4X1RFm$q0!UmOgZMzV1Z&%|KT$*sW1_i744y*eebq_2xMDHDK&EZnp7nG|y z=nkMWqqy>pD{?p8!vC?BUC>1~LJlhIdfEVpPKQycEp+CjQeKrlzKuN1%o4~4d$c?{ zXn2i{j=$gRN+_;Q1dH-SUKzQ&cnI`?Z*vX8%e6Tk=kDO*(Ai}Z9~#uZ{`w4iV9o=4 zX#+dlw0*z8FmQ106wdR^*6%DW_9VwURmU({XZ=mpabfQS0Xec48k=y=d^0J#_hJaw z;<5@E)6*>kMnjDH({c17o6A5a)CZ{RYc~Y%gfI-d&vEG{H^GqnTG?-8QYl7lGidJb z25!*d?)to#+rbkfLV2D7z5OpYgB0619QV~-92bhM0ZTVI_$FFK%oQ`Y*jX`!w?qBgyzBBc3iIrub&t|9K>qu>F&L`Ll|A}=hI5V910al1W*jCY{%S)`JxqE52q##&gP+knd14(1AJ=jN z_$lWY0_2>L=OjsegQ-@$`^Y$gd0(5zUw|H8JNcxq&AzdBk6AOQ!XG}_=eF{a=4cSZ z!aCp2#NF2T^w|D6Q26&rAn5O!wE_#jRCDHk@D;r8$L@}eVhas5gRBt6(!8|qTz2Ir zC*bvFsAe?dglRe;zm{d-tO#r9!Cm={?-OcnyU6(kO1t9<#3^%Za41K;KOm>_Sef8@ z5+x=dL@%K0b@!*j&!w$1$tfaFmW=C&9FvHI+JN+ZP3%7l>ZAM17{kqbAKFICE^q2i8jjG)PJK}LNaBmW z3ROuvh`HjY2@lm;mxI6V&lm!~l&TWeI4Dgp4$j+P4S{GoITqzuRlPL~5}PUsJ0O8(w0#xi$^d4&YF`zfpHKtKS$CZmS-6Nm zRDh9;UF4GNXP(g7$`^IR0X%gYw0ZTD>`&Ugx`IZTJPU2jYGJ^aF& z&Md(Ab8Ai&K{ioMT6RsK&#dzr`mpEpp}RPvB(r+$_vSf%*^Sct21)OIwVwF4o=8)_ zCAiRC-~<4OVfy@uN}gzf$$z|_j%?0IE&Y{xA0Btn7n`IWz=F~kDjs*|u{X9IN*_s2+ITkja+~Q})$|}L znW{D33~t0nZ%c+kw|`@!&3lS_fNUSV_w1ZUS8}4AUp9a7Wip~`ydU8o6)81d#L#=4{T%_W<6r_3#w1xD%*yg z?87L%%({>x_TlYZC~RbyZNO||zrV)*qA_pgbsl^P*@4ZX>t~MoFk>)>e%pXi{pkc! zMtk^MFK?OW5Ph;Olwj{>O#?755E(cr%r@tv%Sw)4Ty2KOx4wr`U%+CR_+hojy2DYl9z z>*QmS@9DXIw_A{>Bk1BG;}AdNCP~Ql)Yd+wh?DP0doD+A=iqy4Jcs-*gpVI~7Byvy z9gLA9DBqXlX7Qop+)vzuKm~&Bl&@azJa9`kWr0Wer`Rv{%7q>>X`S|-^rQZ_4?11s znz{3?nzD@kGF#iqo;z+XL`C*w*S)ygd@d}#__*w+6vhi_bji45^C-$fF7cZ}RNnb? z^Xxy63$Y)2uC{BRMio*C`W4FLq@YBE3Q~H1v?94dHZk6@=URL8!S@6ntJ6JIyKei4 z0zlymGmf^-@dcE1k2-EwJl{`rUETstzja-oHAU9ucj*Z>CG!U@CZ%?d4{TH$+Sqc- zb}cb!k*4sJ;%HvT%Uw~mDz<4Y+bv=dZk$h8`%##g-Ox?wdMi3MJq@{2vAG;j+c|G3S*I3N6;X!!DO0_0 zZ9ZE^PLBqmFj#P`PcgcD^?t5MvUGa<(c|Q{mt!ETg&fZQ*?XOns9{D4Y>qHW^Dw&M zZ}Z`fA8nBLoLFs@qhf)>bJPS~p5uE@UFLX}d?e5`I|lT=QUC8QE4B?4Hd~!qoA*y` zde?h^S1Z3hvC1D(;9gUCfB%SWZgSV5zyhuj$5|g7U!tDb?H!fpEcoLgG&*Av%bu8; zd|t8dqSv9_gEwGGk>MIZZ(7}Mw@T&f$z{y%Z5aK3+ZayBA~v-r;bb)Ib+cN?6r#h* z))Ynw_Ke!#p!WF)i~v0SiGa%RQ~eNDa<;PM37+z->JKuj+E3)~VeaSINdbv^kfSh}%Q(vBXi1 zI#jXbX3Xjb+A_ptLBg1C0PWu8&fK3X&N93mwg-KGn7MfR66PP~wYU#igKq8p`;hom z&wAbPY}1o!00DO2B}}~N!1uZkyMJ}o2tFj@Bn zD0fG$xpp>dwf~5?dTJMkT_@}NAs5>@YD?~0%rbEZyZ*&SdB!M|3i8S*o&->L?7KF_=F`=uu`nbH%Hloch_fWJMB<5w|U~&CW$j89IbDOnCq2*Ql zR^=--Qgq@kwQn{Nr4N{9btZmaxl_3~tI#)g_qCO@a`jkwwgnHq#jO5SSC2nh`53m+ z`DR<$?Z)g{vLnEL6z51?vKezz3j4*lX9bUs;Y*KVt$cWcM?aU;RL5idyqO$c74f}J919(YrT+O%g+t&fdR*um3$eXstO@i*?>617l%d(Za}w{ecSXYLx5 z)@W;WGU0Y`c>RHnekFq(wW1ibVRpi zN%nxs_B#<|`05CN>oIuoqvYGJZ1t~fZt$;I0?x&lgO zOzdV@(E}4Ao!JJ)(`rd;M0;NXZDf34D63Cj@a#Mxy+j)u8>wY#1|5Rt2_lC-uAkZ_ zFC}`7(0F0_v&r=Us7O7%fCD7}N@p9ip3@n%G5JV8YZMFErNek$L;u?t;e^h?hv;01 zAe#2{oxEs4D|d@}ExDuI7U+obyFAq~80-?>kOM@%p7D$JMR}cukwTpUjnA^u?=C^l zKUX`E#`lRsHq?EcQLFgEzunuuxU;#6pIhub+kN`vU12HZj*y_M>*?MHjiBM_$QbMU z;vD+jP}t!BMl7CJ_7}5Pg=q~MqQ-aGS7!26fS0&JaOqn`kumGp>*#LwjSNv*ylhHC z7s^bC8y!j9(=i&P-8X1#xVOEKJ5&EQACI2)>a+ZnpNw~js+5h!Q$@9& z4Iy_!JYmpAW>2ECX8mqf%H%$~+nwfjZ{51}`pu&4BT{`0mcuKzb2o;b*%QgJzOZi( zopGz9!L(0rGy5wJj@d$S+&1uZ9;WDK@flKA58iwH9R+-S;DL1!6f~6yO zkEM@9ReKU{7)^AUT9dRl%ZDY=s$}3f%^oEsoyjM30_pAQ5%urrmyC?`s!Atb?5DPZ z^4BSwU+Cx))KO_8nR?HhN5;iq>hiFWlD?y^EZTeLlxc|#YWD|K&Sd87xiGO$gg+)QNI`Z&?>!yt`wbt6Z=Rcww&hv) zY=skcl2TZ{b9cf~9hq54NAJAiTQvIkO51wk_SC)1bx7%5ox-{1!JS(nRARLIWN{&K zCG=x(SAw$$25F4bW^A{qEipKtI}e4(lo9P*U2g*>Cib!mlDD5xc}-|`1n`DAI)g=p z$M!-tCXYc@-OH;5{>!weP%OXWw`mc)$|)_{HtUy)Hf%tOafD?E-HDAoN7}%m>*;k_ z_k^cmvfR8EqgLUsWe&u2+4t3axIIUTt+QchJ^vi)9tbHKQng&!Qe+!84$<7At;iU{k9yD>}`_?$4~%C95- zf}-COy^D%EWA7t&3XHhUpzzCfKEC!YJKi;4^sZh&z$H6M;ATL){Ihka+e}0kl|s-% zh9okJyz-BvT?p5k_+5j^GvZ^FcTmq( z@Mv25P5gSR(|^928xc9ncZF)utMX<8zZBwj*mcBuf47Ddb-wOs3wpHO-u6h$(Lf=@ z`a}z@FDqL^%X_CQESgF-?kK$>I+YKUy6h`Al(MH&GC9w5L0bY`Eg+%Hg+=}czl|(J(*9Hz^fR=dR zdC%dQ_R(QW5hWt!{9)IUI!ct$JwOfH)Qf0N=;kduhkoN|j7y@~|zH zFqQQ(zCFuYAdJfGGzL{TO}+fU8BdNtE~J=>T}BU5J$S&)uMiQE$89Q;%%Dj55)xH| zS^nH7_9>z^fBobO0`Ht=D2c_Z9kcIDokui!p8iy1cRmk4V=2|(aF%EUOR>DBd3*}v z13Mnz;VYFLCmq3jBdoZ}&QWQv9}Wq#invQiDqp1|cl|vGsUmYQYziabLh9kkZ}+|vezn-9uBL@0$O|+mA3!ym)%QV zb`cv1bzL>+LLPtFCbrj$3^D00`5!K^0*}emq;`QRc!@pU)V;>Ue|7tEDf=rzpCz%H zA0SY!a?HaXXLD~q=Ar{!4IkZ@Gz-vNlLr?PbHf>Be-SDv(n|>@6OSd&^hJ0BDvE+82&Thg4wCIy12%mQq5&>Tl#v|!jh!)puwbVo!hpQHU29`{e zZ#ex~q~pt_r`wK$Fp_|GWLBhiy_Ego1R$}fcB?2Dk1VzNIZa(MF8!CWLkX;C2_U?! zOn=iCo7r-?oi4wCwo<+b@4>ve6-bl>24d<@NC?g8XkutufsZOFs28??ohQe^;@k#p z7yHmM35$|}xz2^OOek8*zTmTBuy^4Mm?tOp*N%}UlY&?Ag#Cdkt99ulW=XT6USgAx z1TeWGG()z{t;FN#5jOY{<87izsEBr@x-D6@o0Dr6631jqtyh80J9oJxgxToQ<}5E3 zJ^tx%_!lsbn3DJYdaZSwfWH=4-aq%?$Tlp_vJ7nEpZ*yQgnB>ipW;B(z^LPk#^VV1 zbVQlKv{o;seG>gRp>CKJ5jB%8Vzw*Cpgq`xb@o-xpa@jYnxu+T7>Sk;B1(lKX56~{ zpiDLnK8EC`VTFR%_EHC9Ld!>wwaQiQuQ%jGM&*G4Xzcoy4ik|cE@{ix-H{-6BoK9S z6B*Hwy|&h$PJE&(AjufSPw`y&s5RJFLyl0ICG3ztKRnTcc=+Z)^hOpU^%K)ND_o`r z8)L%4qY`T-@gL-`_0~No&YuLurH!dWa5^&CoH?%h&}mkNA?#m~(_B$9ED#2t_HXt1hKfd~T9&(~kM_+>#nR4MSeu zeX%4CSOVce%WvH?%BFLbCd>DLZD3|9B}#(nxYkGE=rI%hul-M$K1z~0A{u^)4bfMk>-sj@wb;YK&}0r(_n$EuhW5v$hajKO<56AMnGeApA2#_Er5KRa=v z2Q<(g%_haa=o9eyI)ia?V1V9!J8bm2{F3AFSH;E(aZxl)mFJ1l@yp#A^Try$#M}2< z5fZ*Q`(qba8b?X~as^a|A&IFRG(r##s$D~k^@I)Lktlm0)H=-2zjyrH>0h7B*5JaV z_xbB(WaqjmJ`q(R+YbiFdzRneP)q*~0EM81^-m49_Ng878C(e^_DQdMF}upab$$Q` zsfxJ0ix+bSqzBd#(BNBJK>pH7PyP7q)PtOv4co37#it<#i@_PNTT~mA1luA9>-}%5 zzJ4hV$0&^X{vcQ^wC-|#n5FT$6+l9|f!8NG_DtAcYtVf5@i2a6TnZYJFI^n|zlKcb zJ~qN!;p#y(`Yaw;uCBKqJkt_890s)Z9?f+Wb!z=412k3|C{HwD?vXi^jcdW?tTDRA zjHw(VU@59n$R=ccvm$?7ERt=Ny8B8Onr&eF2n5M89~84eG8rb$cns63u@B!;4n4_x zvJLYuee*%iiuhKn0MPC7@2B6@zk@nu8%!;-nj|zIk&%4dO|470Z$1)*N_Gwr4v^XI zJ7P~tlQs6MLnmsvOv=7z>|nsXj3^(QLkI>x{0<>#V+Z-A9H+`Q{BJ~0htGD-gnh!7 zwHMcYC=h3T721Amt9a~^J+>wfz;t=|PIt{~cIJ6)uPCK=|Em!HHk%I#qY^J#HqC4Z zT%FrG({jzJ>#Rhf@{|3t`It(u@$eLR{w*nsFG+tLTjLvX@{m7e$Gb+-C(Lw8+iBdG zq44^*;HBk;@AAJ`f774a|DXl`HBy=WC+pVzz2xzqe9!IttxcK!d;Ad?h!y(h|C#>Z zMT>B8{Qae*LMpw#zf@KKBD78a#s70}CT^V6lmC8Y8mXyW5;Dz~<6K7ZUE%-RUGLA| z|6e^fok{ny-`}u69OZHX9KpOON@9T!q>v@!UWTWrdKfv-(z6?DSkC=^su|!-m))Q^ zUBtGSHa>Xe)>B5#5T(Aq8LQ+c|F2KtKUC#O5S`@640q#v{@JQ~_d*2j#P#cw%>B(8 zPD8<1jq}ZQ6(G=5(Qw3Q6 z`&Yw19G+&xmtrM6yoYR!|KguZb zk5plxONqAG1klnV7YmWnz%)N0_($tRe*N7~xi-D5#305_8Un+!t*jI!R)^y^KQit9 zybAo1mP5kvPX*xZjMf3d=K*ah6MuiG^ecp|9i4VWN9*LqOQ#CUOzHIWn6{d z&Z78kFK7Hf@1Xv~6eC&UWuov4=_N14e-R{@HG1bjPuo8IZ=H@`{++Kp{Z7`cVzqxd z<bWDir8U{{;LSt3q{jsCt@uRR=_zfPc&!jxsZ@> zHA&K(ci`AA2LyfY*!({)Ls=&TvBNcz#Q~j{yj_UaLsMAJP5&kmzoawuFY}6M^}M#> zD0hE<@t?$R;&p4IVR@9cVpr1LLjQZm>WL^2s;MGG*77eV%w#uam%X|Xs{TRHN8yF6 zmhoGLji2JX4lCk947ke{SbR}x_KSnkV4_YAKAG2aEi9N0h*pUs9O)xtb7XOMMGWlus6(F8rz5?7sj7!2n%>TR?We&0p zlpdACPP=F>T<9NTvK&?HdS;T?nqi*?`jC$XI%Bhi|5gyHyO0MM1Fm2VQE0lrChXWO ziqeKIz$>F*#X(J^Bo=hzMl(LHUtbHj5iR$YHa2+NS*_>Y!|!*@4<(}O7$$1)Qm{WuQ3?0- z0!lZVmY-qA(Ma71ex&Uw^mvW4m_v&xfh$nu@wgRWpxBml_v$6)IC9;IxeS5UQ31eo zjhs4bel0;qXa-)zWkA|Pk~@eU2uU_CL2FbBi&isq{NXZ>(S@~PZj_m-mfSasa`7k$ z*eE>5ZdODr4S(Nq{C&UgGGC4Ofv{=k(S}@!p8IH%nbGI|^GPWGVYC^lq^k0mzl8&; zG@=%sz-r?{{2$@ZoIe!d{leF!t6uFi6BWMpB7a=vI7e>$lITA;2-*145AC6f9vSez z4wp)QGRjszZ{4L zTTAwIbj$G6MvMmR{Ib2DDPEG$=`VIWE8%wNe_n^b9TGS4LQkgzRpSG18QHu+wNr|Z z!J1Grzye{>1-V8SX~~tvk(Z8KXEl1~ZvEt{xxUg{_Jm!FI~^_a$5+nhx+DE;Tfs=G znbz`hs14j#)_7jcI=H6vn#3eH)H;guxoX-SVV1%+Dd*d;dulBX@6Dj6pEo&w3zom1 zDpzion1BsS8&O`Tx2CKm${*t7A(S3eRbep44ZKb=WOJK{ZFK`qP=5?m{?vo}L!IF- zWdXR!0?nG6EH%%?S{E7j?q$#e;!7#vx9C(!HAJn+7oRloR0)9utyU@M4AmnA1*@ck zW3{1WD2~W*;?p&2ZA81j4AC~rxYD_F1s&qGYXL+ZCX__kw1hEijp@qQ;gZSeCm9~j;RwzUtYQ2ovF&bfFwt2;PGlA z32(8@PfTiqA_0{b9N*#MLpCUJH-Q=I2GE&5ZcR-7UQJkUIhUrNcY#1SA@Htin-8C40aiH{)yu}M}j zYzb|o1)KDnoDU*eLa{R9KAl2m)H6K&IRo@v-_v>#mC?2^8xSG5LAlE%MqJL9@6wUq1#Tmvju^1zZV^dH+0 zWh4nVoGg|n+GMaYp)f-FFdVj0U1K%2E?t$c<%VmIN^WgG_c|h4)F^8c08|NO6Za;+ zHgu<2-ac0EdkHE7g%M%M&67(-%3wIe8XHVrmGXJDjGc7&8GaAVX>I0^ZTj-#KQ&;k zq5mlA5-eYdfRyXei$!-TWYng@?>~O`o0ITG!JE28SFn#*b>8o&NW6BEPISCMY--=uV>?c@6^w^r_vHnutN<;hKQ?3O^3V)Kp3~ff4aQ zStjSey&B@21J|4-C#tlbM8`1oTdsaz%T(lVS8M5ywlj5_9A3>GEfDCuzW%5G_q{KF zd3VQ}FLc(3&A7bkkC|&n-SkbPY9zC%b!NF(_n#BBGMM$31QrEN$d0Ex}GucLp z<8rc2=wf^4juQdtZ}!sPCA8lXHLjl49$`NX&wMPQY3V_~lfdDax9X=HTQfJB=USZ@ zb-jgJEF5f`h7L|t4kE73dX>RGz^J+=zGV@PzDOYPhH2g~hkt+e*WVaHexd z_s?vOD))C^elD%|c`uzDfAVop=3Be?HGa%H-Ya9@_G9C1MzNBRx*)O1$U@0Jrt9bu zQ!mF7c*G_#@YEPx#tRC@zgGZHo(fA0{Uq-KTV%`RiX^y=mpxbw?@i{Dy$^;W8??lFG0_^l=EH>G3mYjfyW zKP)`J;Y*CZ^egtikYuZkcp72#`2BDMK2gb+0wLVn>SJPo|~7Vw{3d3N<`hX#t5q;$#p?@GVdl_U`1aOUG}MIcGuIjIyU2ARnAvn<_D0Ix(XK3yb0j(OrFEfUjH z@6OFrTKgnxqSBF9bI(`@!A*q>GtC+KQ&z+bhD4qaaVe9F|51mlL8?&@EqylS;+bEq zpl@8u%xE~}a4omj4SB1}%hLw-I_dsBvvY`CM{z#Y-P!1=49oV?+l&8s+~mK!1S@~x=A=0-+yJ{Wq;hU* z$-MqQY`u9r)a~2S4fo7Dr3vOFDa$0VJsu05`(dC*^*G&D3N_P7}<)kFHw;_ zW8bChwAcy1*I&9Jz3q$SstXv@xdKffddsquT4EaZwWxo{LloPhUR7G5uS4HiMV<{`yi{GgKnDC zgyWzlRIB`6LQ2V>-)!zOVf_is_!xxKS)PF(&mXJV?ZD?@{21zE^XcArtX@67wO+#$Cb;w zxY+`9&ds6l_N<0+Jvv?O8tJK&h}Yz&q_8lVJaU#rTxc{4Sw~hbP_(`DWiLbI)Dpaa zcOGy;Yq=`hG-()3CHZ)z&dc&llIR*)*(5m=jY zXiihCWAO~r*0%*7qJ0Glw$z}3#c0NKUUdx5ZxMV{k#O4chyN5zm8$v2~G zipWwa+gjN?tg&&D_VEykjr3W|AMUzonq`OKlHO-S;p8Sm_U_8KcCt+21p@k5hu}j3 za!zvLFQ4`-dVyd13hr>1|xs+12@KItGj3O(z)Yn4lw5Memf}RBX96N9JF$STRDURWOvzr z?PFQnnlqjb8%l!vcmCkSFF3olJ|Ek$5Q}wZ+)r*$fpJ-l!v1H-KHR(3ZWH7iw4P}p zargJ_VT+yLSQ+02wr{sVhKOyXKr~D%`?mMHTf9{bH`06YUL)LsHA08&vf{d;?$Xtj znR?jD!n3JR*4F_f_C%C&16h?LnAVu_apr;O{*xhcHxGn&5g`KX`60Y7Oh$=P%^Lmx zV1h5OYgtu2xys+R@&r`mALYN1s#NHsT}Ss}E~bnfgVE8m{^fUIV!wi8V8h&K+WtZJ z_c*EaQv2*xHh-i|=DRO_9Lu9l(vK$}94|P*lpRUhAoG*Lw8(O#2I=SsQqn{gIaK-d z3#st0e;Hw5)$N%IJQ~{RgJajpI)M|}L)0bz>NuJM^|ZOUxaCnWh6x#S@fOHu`ciDV zTXxoVL=U^})Lzj)n}W22Diix(qP zjP#hGF{Mf0#kt0+WwDT-b=7(Nv&nnSMwM2Btn-B%?N_9EekLWXKXr92p(?Z0Us>Ev zZU{;O0sieQ)tyO8A7Kxu4Vt=_3axGP+C@%s^7t~;^y!p;o?qM!W7OrnJ)NUUg*##! zRoV4%eubBDAK$B(gV~40g`gn0)8kO+)yc30($UC^$s^I&VU-lu_&({f2i?8`*J(an z+P+u1`^4_Ra2MggWoHm1j>$g9eut@W?ef=M-_#j-FZD~p(~`fSGi7Wz(wvt5qAc8FSpUZt>{y1=?$+nxk0qAAl^d?4Xn{&%$T~7#1i{h z@4m)y7A|cjri{$aINiHVCc@1Owo^)E{~Mn1K_zAvT4ezl+#JjkZAF(WR*$b7l zhV_jM4>IH8_sPiSj_p|dga5JC{Mw((IwW;?@Vr#TF(#@QZcvk_46I)-*Am80544LrvO!=#v2bGc<)N}EHReFYqkvP9p#S5ql&@o(Yf4%LZ)(U z#pG1-Tr%x5-06-_05I%Vud`eXmmNN;N14afi>re#bEN>1WJwB=qr`FhT|DzuSqKmd2@>| z>dLS|GX2v*P;HC0N+g0{af)$O!|LHWEfzPC!IeS&Dm|z9z@e`!CRQ z;1cZX&R)s&CGsFi@0IYu;hm`r#fGn4k=WbzpTqX#X|zfzjahGeL#@OFc#(USYf2xz zZ-s*T)!ahBY&w=)ic#tR^q26E;$Y-vdyln2m+c!Up+BuS2F_uWhFe`n9|>Nis$hLL zUIUt_xqU93d|<|(RTAe;4Sa%uCM+l(QC~yHk=BIqvGjR<9%hn+3p5(`?Wru0KF^0U zGKOKSVWLL(aBSU$S{u!N4M!}aN_3^@b+!ixOx`geO}xrBtNpW)p@LAXe4U(lurFRO zWMV0|3b?_~DS}O@2;E^Kfr;%Tc?{)4Q$~>V0W>C6a1F1er7hV^>YwF4|vB@Ppx2W`sRm%R+F|RHe*K-X=w^@<(-LT-G z)faM-bS$@xwq~TnHPSJ)m{WCN`25BZVFj@tKvnV>NW_U@ZYMzL)Ti{qEbt>#4bMVO z1WzWv0Le?=W+&)odlyzgk8W3F|Dsa#_QAPZS@_vV;adQ&OrXUm)0KjxGv~+0gEA6e zHx1)w`et3xgZSmQ(18nD^Vnmom{TF3TNS%~=f&e)Io!7x9w%YeojgS3RE)&4G-F=$jS?`?e(cF{=QC(v+{gtpW=xopr(@pylHmniTPb4t)e zJIUwZ%KFE_6Vi|1+}lfhKz)gSZ;7+ln<)Yhc~ny><~~KXG%s1{J}t#5-}G`)#l>{u zM;MXLigaydb)`k$Bl5kKQHnS?*PW#kEgP9bzG%J1UJ&PgY4QYDpdh=D=@E%ovMT0} zvK_20?`ATzTj*_!cy-vuzzm46510dV|C#40wL8$_)=R)=pJ$#Nk&?_}MkxH?LJDJB zT$kx3Evsnq;nD-i*w)O=hkeEbIh@H)8!d7j2t^krcMPAXcnFP?w4gKXjLX5F*e5n+ zsn?#g8%niqL$hU;!Dz*SC-K1T_*7_iNW4k+GtPiscAc1+Qu4J(B{r@E@E!3-xwS1v zNL#GqUmtVrxF)QnX8w?y8p0EpNAt~_9JB$_Q4*ha)@C_WjJ=yxFt-N74ov`Z3nJ`{ z`{uy_e`m5(dKa0oU8Nn+V$L(!MSWN6jm)8Czbs#tNp^&8)QOg|J|i2Bk_U(OnLtTM zGTW^kMEJ;|!z#}K&rhr9YfuH{DAF%VnD?q03&UJ~P=o29+t=?boJqsl}V;TSWe z*v(rQRq#@X{hfLFNlAgU8%7H^rhOpsF!loj=XGagi=?8ak$@T0{qth(CJ0aKIXP=S z!h&*M1ytVZM6GGPB<-1foAd0p&QzLFZgb{|O%=xNw3W?=z6X;U6}#v<@e;lXCU|od z?iXm@fbed@5BoKxzrRu%Tf-?fHih;5imb#krd_sb>w3`}9y~xZV3@B!=d`QJ^+qUj zA824~(P$e5zJjg&+UgAu<5CKL0hWk$A&>){(WLA%Z|1ZL9Ad177m?x_3CxH_2~kKE zf-rUcUjv6=R5jX<$FpCTgCo)M&HaU2Pg(7pyFN$jqg_5h!N*qot4A@6Du`CKsMFu; zmK3x_8338v3xQlFZp&+It=t=5qBPif*8|@Zv=}j;AN&t0pQSNakw=@P9qzp6z?nTY znLQ-NJIF3(UECa{Sjg*2E(d#`CB@_wi)Y&ct2augo!jIlzV;7Vi0y8DqZECzT@KsB z9n{8U$FCM)D2$M;MMYmdHRi_ie+iM(D?vxdNxO?*_4f+S~PIVy)(_Jg6C@w$$XK`+tyO5vzL#<-jr4P&9XP9USkg<5C?*~9~%Th{aqF>yd_e{>Gk6@X-Y zw!@Y3;(F;LpWv8$6SBo_WNAo^N?KNeXqHnV_l49#F+|oKK0^)WXL`b_?W}wY_SS-x z3w3-T$+oshGc*pLE@7-AC@3dX!78cLc6S-g8mf92<9Cx1RsizQs?R^N%l5zc5I}8MX(PK)+Prjm8wXt<*uFHFw@L z-6`f%cW@OVvON#eSCO8OCwulIjBb{K%AQx!;a@vW@GY(}c2C_-$L6c-sbAC38k>1+ zQ$eZWOS)f+)PyLqm#~u>yS5H!b9rjlXJuTOQxJ`GAUSxAzC$nSj8(r$Hq~ESyPAtx zxBj@*_k)3qNU<&P2KK8=ngS1Xvzh%ovxfuv4sXyi##O6|F^26(bCvY_mdf~?{8Ym6 z>&4bvh^hc{;U%9TBo<^a55_+ST*hYn=HWTr%oDGdcXd|wafNz99f9nLxR*E`o zLni{C77j7tVASqa224-llJJV0brrmhl7&YrfIliqXxn zV&+gx_%Kq7ab}~0!aO&s@FOr;i~p?ggg*2f{lgbW{oQmlz>A#IbCxgW}7Up4sw9^TYA;ogy7CMGKOR#iGqL++ibH z-eHmI7sE13egD1fM&iO&T;gL>$%vKouuS~2XC;|O`o6S0srs?z?@WK4RBIQ_M9p2* zxbP2AyDaZ!m}KoM-eq!BDOr26LnFK)R==8XEl{kmU{8$@f8tV#=K8Ko?~KPzcABgF zvZNmYh8Lb45Nnb-*eGQEs{EGG99`8F)JR+T;yjO5C4dP`atpsOoM}plW^s zH-fuibo?Ef^SjH<74c>qB28z#XCnZx(1)+HB{;loJ4K02BjR?DITxncg4l zCp;j+SPu9xeOkJ^b1hrr&1>WKoVc099k*P&Swrl*oC`C`4-?kg9U2R)#DweYmIDy~ z4szsS2`Sl0Q7~*k&oH;TwVPh5)FQw?%=)h8_gma6IyPUe%niS+xR|J?6C<(3ArK5! z||U8H8Tt!GhY)D(hrMc!=(16N4_V*z2fR7B%ZDlX@-= z-i(q*q0eS@uwUm@5%C6dPY~~4Cwds#Ra%VI8T12w6%VN&N7APe%zW<#CcF2 z>eSIY^#$`3wQV;Re9*aj$y_)tk}++m8EB2o^z7F|$G!IUw;GnDyno-JUw($CNWwobWV~f$RR1XY`@PIS_NK9uwhj+_&pVM|^v3 zUyT0-xP&c7s$X?k%s-Yb)vo1opl(IP2o7oQ=_ttf+KnLoaK?|7QBP8s%iYN&50#kg zIAFaNm@wA9RBMiG<{;xx2gC%kJzd&%)t$`Ax*wznKlf6%h;Hrf`{q_=%9#BI4tHp3 zeSfDqvzO~Zy=I?V1Qv(=s^S1T)+dDu=nla`imP>b3sr+%ra5+EBtx0qx;1r}?TjOq zGF9oX2g4k3IDu$n?;PDh=@7{SwV9DfE@MRIQdq#zY8VS;dXiZD7=5ff+N>=!rC_k9IRFnQA=E) zaIfC?1J5S(o;cq-1A15yFmqX1i_1);Yfeu$Omi>LpNa{=2@!GWJA$UxibLRmuonj4vU+oaJW)?aRO{d+g%(|``%~{UQ1}=?)z5*L> zy^iVMcbV(nwKhhKF`3prBa3@0kr^hUXYh#tr)~;btkxs%E z-qbPF;3?{GvxAD7B2c$SsQiYp7{So$iKd1c&taU;h44=zVJtUwPm83pk!v%rjt2~} z`s-$$4*YtP@M60BUR+NHgFu|Bo|-^K1nptyIEX_jQBfh?$m=3KeKB&MbyRhRUGAXMBiJP z+PI0CbW-}Xnr65RH_w;P-q{HQNHe~%J#`uPL61-;bZX?0%K_E%B9b^>s*Kj$gF!SX z+7?<;oFri*=UINk@we(1;`MMs0CqQ*Z$Z2V%(jT%H6^pV0X#XkA(!nufHH2&;@x)D zfIZ!}ah5T`=)KU9ATMG&zzvj`37 zJboGvTT6dX9=lvd*p?Guq-L#?bp<#v1A70MWoJBiGcj0j^f3kG-W2W`Eb(NaSqnV} zCRFZU{JW}*rm7mzPj5;Uf(6@jdd}A_t)d#yo>4XPYLGHx(tAOk0a929A*Vw?A-?&)<}D%Uc; zI4eflmM*lK2OEW9e=`U_>hv${O_LzvS2Ef|`%b?Gbi2L@b^S~3;5hOx)4j2SyPIu~ zL{|Mf#a@w;SnMG_Dt~lW_Jx9+RS2B7wMbPJxL^-Z9hNJgJolmVg1Kv9Bd#-&^^Gp` zm)sLN$-lGICBeGmMfGYg)%%eTifzXzMQ%x*aJ-3BQo{U54y}V7{^4H|PWP8(W%FF^ zQoob0e!dA9d%MYp6vU4P#GF6xnUM$ntJq;`vz$<;9EC}zU=V#Q|6DbSvi{62KV5_s1nP1acRbDu)XLmtU0%#QrAmLk!|GCde=h9el z)>kW^^cZq&;Ld?>;KZPWA97jPvwJmAK$#E?`cTskETgbvqTv*U6Zc)>ughh~e-+vn zbCouy7*#UT76KSpypMIyY&1W}Xb9;0j^b`lMXQc7I}U}=g2gj*mh}YV0TJp}uwZE0 zcDZH?Uv)0aFFP4RZrJAhbf_;Ip`FE!rRwpkB0IRSGs;{Kj0=T(&nu|cD7}z22C}@Yc*~?3)1m3 zP5K8XP9N%JwJ8Y&tJ2uCS8>ht(nBi8XPPP#g*bhxx@ELSZx4d{!JcoTtV&cJa#&1L z*$ZyIrKI^13u!RHu(*e|Xverkvf8T6jDUvpGn^WIC~R?dEuU*Z)7bmqgpA*tY4(6Y z%qe9+#)s&hb%!HxyhHRb&2{>G)>IvODV#yOOf$nr>CT4O8~Rp1)yAYk>SPjz+T5js83fuFJt7#~GhF z{UK_+J2N2FG4?x|U@fER(RQ~IuRIk%!m3Z*&b2C;mTu9i`aZ^Qj5`dOXzsRBr}?nc zG`&|ks}aiD8T4;;i*j=|6+mB*;3qTdhc?(HyWXdD#dn`QdvL~vOna^1r;5Io*?oNA zgbS^D=UM87&eKBRh!(5UZJY)z+y_=Y-6d&UrrzP+i>X)-GUudT&kp9bdq&5%4Kv7H zs0F-YuP5H9F=Oo>sx~TBlsG3d_y=z{z2RBVjg*7Ik^=8QWV|`3zP7a=v%6zla6;}6Wnv(ZuvJU7a`oiEJ*jtZzKvC;{jk_mvD?SXA z$b&~8XrJpfan-4deXw%?gOO&xeE0q#qyshmoce$Xv~tHG!$V1impg};Ny+S^SRdYl z`85(iVhzy27_f2axvKL-vVQwr#;cl!J;X@NwMF-tU3&=O~ON?n{qXXAR?h%Ik$+D){2`R;pZHw$c$0^%adWK-Oy8MgC4RR%L4Gxyc2w=lCYx*|ac?U-6Zn3^u-? zalc?lB5Lx1S~)~1doXq-Y3WAjG<$S9>O;U3Nz%=DWZyGZUY!pscYVXBPduBcvzHC) z61iq&e4l`c(%J}M+!HvzAr<>%uku=f)KM35S z8kfM#TS>%+Sh}gTsS@tfDad|rJStSyHIm#S`^VqyycMTR zW|~qjIO~ZDt0Qz}ds&yIfZNIBG+8m@gOmnH8Mu6x5Lmw$88L|FOkhv6M~OIEF9`~4 zzqL=3paT_9Av7Vqo>@JJpsIYOnb9${g6nc(RpjFI2mMe}y<12-s2kl1W$rgId;$U< zQl705S|{(oy-_p z%B$q@o}N85i$2!W5*&<_C2|cb@aNpdeNiXe0somM`7qa|5H5es) zQl7bnYw!Zmu5F$Ud-CLh4)di1HP8N&w5!`LNf+R<6Z`A5`xKGp)+ATz4>=-D(&}6H zx`>$6_oDbg=&VyHs`}OX?4iYc-dOH8o2_RwqCe=xO@iM%KgmAuMd9-C84D{&g#N!_C}#eflc%2I z)lhW$(E`1|or4EP8DY$Jz+9G0Hzi}38}``xN?MFRlO5yBnaAHjsS+`F)~~p&vVw(K zmrZgo`Aae5{)^BHx}WvbX7 z0xU5jYmTOudE9aLPpYy#HyqznAIy5=Nufz5z=V_n?eg2UUuwG59l)xlPG#Yvl>aHU zI8A?{qf1QHh8n9(BR|;jcE8eiy8=meDzWu9`r%n)v>2j~0BJ7ro=L53S>dKui^c-2BM3qhlC3eS%LE&=Ss??0wBejHAK)0uKEn<=}0^h5iEq z*Z4Z*f)E9SjaR6cY}IXAOlVk!Oo&~nCq8LscxX3n1XXaj;|1AFX-XxU<~);; zN%}TrKElVV8*1dODH1kfU)A(evM0wA)aBIwm88efo9Q`wxsCz#uvdt2cXc`op@VnKNq;3O`mN{s_Hv!%qTR>*aFh)QGHyyU~Rao~@ zZFkuRsrW$LCqG#B53 z9mu2Syl0_uyMzaHfdU3FA2jaJr?vM7b;$3xmd^NbhUJX9YWAb?g7`9!-qi$IyegxO zX5ns}6uI(4>`(k_BNW*bI(P!N>U!*9mrCa}>jAuv#(5$7&wpy{Uz{CShKka2{CENF zbF)IJ!chH5!O4$i&~b2J}Qhfr63u&)8^yCRE>hi-x#wHJEj zJlE453{$a+En9_s1DTzhp~o-Sdfjoa7LWyx?K#P?ps!L=F$rV?I0( z#LR*k^@l_rybq31JmA;^uVJwq2#3&tCElSQL=c9cio5+Qykjf==n}mn#y1 zJ%~O3&U4B79kjJOv}3S^nVvD4-X>mih0E@ESGaB8j)2kk_g;jGkgLrpoyMYc-9RR4 zu#d@JlD3W*Y!#yNo{K+s(4b|eKbnfdOXJN^dca+1Y^PK{$L<|=?KX)Y1uU@`2Pkp4 zhq)8`?v@H^A~>dHInq8;qs3oBclvHn9B?YnWRWSnsTo*LU)+z|P*N|ShAe@o!pPm4`aCF^+xq(rl7ahYWI2oWX6{dv148a+!L_nz5+e578HgRPf0~Cp!&+t zn06 zY&>7b4K>1m7*4|MtuR{^LbJ|mb-IB7T4+eKF~xAd1P$7m=B_%KmL%74kS$PcIkM+i z*f(jEoJMv_Fnm2~0`_7dbZ;IVCnHp^es%E0@KM0jBZ~c;#(80!pY9E{qz9@*CGlrXyDzx{g%dSX z?|>J~ymsj*7IM|pR{5Txuyn!3 zi!*pwL@fmJR(e-nm|6=@ci$0{FW5VPTc+U_wHk~u3fjwY6O7`s>M=(#-1#7B+q!I4 zKPZdCJ}^zb$Pn=lWKLy3UYOhAHx#dZ#1yZkX*Md&9ZY?2EZG`AOpwnYGg=#@S#wxl z@%+SL8Hvbv9ofc`<6WtmfqUdv5b!g&u@){?s4Fa)7T+EQF;!oY2nG4&Tt@*pE4Y zJCQ93Jr0=S|5QZkD&vFb%y}AYA4xBf5sZ`g#KmaMH<@ud zr=~Io#?_6_OJv`oaw4y&Q3?b?R+@{O)F+O0T;_6pm2NT)>B+W%l2vYrgloIihci2a z!~~!W63(qyjxK>y=q+C^lgRPzdC`-QC~s%{@;RXH79wfyTT`dC`3!KSF|zJd$YTM*PoB1yL){#FFLNAX%G%95YrGi?2)?Y=RN>bkzklU$IJ6N$nCeB|U~Tg?ujEgpBR1C{T>A z!MfCpIK~LD0`wls2N?Je;$Tn~0g`VH0Xn=88v%(vRQ-#_B~EERgCG&>_qEr)p_!`- zL=dI$(YG<<3t)7UL{2VAffVrD_0+LGZPQ4SZr*@0#1atW>_3b&WrF`~hRvz{-+YDt z1d6&Hzgj1E_qV#R^j?51Bs@L`*57|n!Shw!pob762Un@XTqYyl3To_n>%WFl=Bvjk zf+nRs#`=6lZ&ORacjPp%%K?s2C>E%02p%H9^MOTw%iz7hD@_s|#&6a6|8%e$$IF2) zx6lv}KBq7%5=L{{=x6`)b!z|LY`Nd?B>g9%4hmWC4sDtL`TsC_0JHsw^V%TgC?ZoUBNRz)x2>tIrgn4@m{xuw*MG%`c^vUs{9?WW1Mx;3+Rz!8P72NXLWtRzgpjnw z#)#=1Oz7c!AI#S$|LTt5WBoh}kA2T37&YI$!hG|DQvY$OV1Rp6@oNsuw@bFi{8s;q zXdwqfO%Atvpbdd#qGSjj#G3inFkQ1-c$onoMfK9Wk2z(((sDB4U&7E&MfmH^0BnJO zKjz%0R|3Wow$f199OGxll*D_POqjCQl&MSD4bk3ksY zO69r!UEE&(imlQ29|cn2-m)rS{6-w`yZ!@~|9xd<@S+qqt0mt=DY_*qfrB&37^5fu z^9xj`-I~C8`FO<^_!49oANFjbshHgYEv9!AhQsl$a0p#8TopvW@o?4L122=^+&2II zO2ZxKqA-&Y+6DS2D6cqg1xj_Z1?Zl{Ko1}<5%cXTngfC>UbEs}4FgXkR2p@z@dy4v z55=X8YIHmPwa%eG;HN8?X#)ngVPP=R!8m0@U3+5I7iucF-@(u4==^Sf9oltg19SVo za6Z+q%kU_F1O0%&ip)Gr2p;v9pOT^M$Gl{K3$*oLj1w~$d@_}7BNiBpL-PwT-(*07 zQ4}R^qu-MUv*3?J-vfW2SN}P>&_ndr~#+DEB0eyC<|A{b0|CY@6SGwwO8*73p-~_@ij4287iqi+m1r?40#m!opUy2=X z!R2xihfjf$J<%sXU&((V$D7DBa(X9sw?i&u_>yk8f}w1W;xaAHBvzJb$^nYaJ06x_Nf))=89 zXDI~gnTY?O)06}qf%zUdXjWi#O&K>u=W!Myf= z)~QflWb}djc4oK!V#kwe?0+vD_v;KOI01aB+mi?4axwJDH~>_hm$w1E&k`^y?%N{) zYZ2y~#JtaSxaxoY>n*;&2*=jhEqGH98U1}bUFet`G;;62$jQ7G2|m#+t3x;87fPZ8 zvDibVTN{`Ue^>7j@Vhf1Ojo~WSIHn)xcPbiexjGLL>q*|PNyVEbW+@}~^ z>tAKGFkAoiGIQs_EI0c6gPnm)Ua*oh!y8bovm^8;D3k8?SDbj&MSzIgNBwf&;dR4& zyN%wth`;Y#)cGsx$ZZd-$4J23#lYElqDLrY*Z!koAOe?!e=DJ)G!tr45^yPu)}!%u z2qXo1XmNNxM4$kd0Cl;9^ql<-kk#D*mx5dG)RTfCH5jL9Kn#rY>_kfUHHH-=Q84vOwa>VDB|9)(Q;E8##`gnQ1Ne6|DuP`jn z9zEyivw=_;bw_ap@$J#1>kl+X;_J{E2_$W{AkVndA~m)b?c`z;D)*~UN|9}khUDOF zL@K-ogu4c#;?W~QAbh>E?ewh3MnHer4bK-l+b$D)9Y_`1&MWVjlcD=5D4aC-wk zV>C4Inh^K^a+ez1W6_xqx$G-LU@DtF+k&;dErMktn&9sxvjV1 zx5anwhQl?u&yBWIzHBL;q~{bTPWYTvo#+Cl*@omBiiD}0wFA1!|`8?+RuAtFJBy**4w?m!WMeI-!9HqYgi@H1y8{4ilS8|5pvr;<6{V| zD(rJl4z-kkPNNA$pwzn04{+$7E=Gg;ojC)?4|7c}q^xzX&QDxSnc@vKfKznF7;iN! zfXyTEMwjgsdwa zFU*RFc7j>jcUj6~fJb6+y%k@WB5=O&W`yJ@Z`vp+S>;IsbbdY<4 zeQ8D;*_ktT;mp9n<(16N859;b`c@_vAKV%PpUT<;9(8ei+J8_!!(WD3T&jj%=+{U- z9Kuv56!Zs64|IWdqK5cIRm(~up`&Sn&QB?&E@agkb8{CMZf-I$g%bQtvx-!@5L2Td zP>ibdQvbaOwZS63oe|HuQ`82bXcI5jN(=?L9C4j$|2QLRUbtfwZkw&bF#>l@gRH_@r3;t+VzD|(CIsJjxEsaz7B=T2TtT~MghXh6fhH3XKbNe z?4;E)v}TQ3jxeG8)~Ivl{ubA>%6bEX3c^!)W|a-_L?rW$V7!g*oP!sZlFj*$>F}L^ zw&zFXu|S|bM{5E&b9av2$Y*&`A9mksk46h02YbceB z=TpMJ*4TBcK|}5|R?w`H|CrC>3ybUBMzw1DkIIDt?)K1j=UNQJU46OPsor`3s=t^y z=T+y8V#W@FRW3;Mbzo_~0-?UhwL!`K9Mk?YUY~PO%$s~q(d~Ucfaf^EnY0oVh_>w6 zJBqfXaC$R`C~KqP@~q}vY%t4!=Cr|~AjpP0bN_vp#_FhR$>5uobF$i&q7Tco)*C!x|w z&2GqNWH{Vk<;5%^E+?i|D8I1#-OlUGhGNA!5Tw=U0foR*tP$r{{sNq1dxAp5R+Gb% zU!Kw6RB)SWKm9pUIK{%q$2hR*#CvE=Xv^$$Fox})gGT>;ChG;2ndimCKp1VF|w0e zKTnpb+q%1xd~04Ai<)R;l_&yp^MIBKow(b14z0ddInY5rU`JgNHOOq|9)R0sTT-?4 zGo5(SBryHekQUwfJEfvI;WOn)t!bU#uLss3peF+NTX@4b;Hwr8@baI!&h>SEpV8*k zNzL=VfT`$Avu2f7q1izp2_>HVz0OuK0E-nO)2_85DlKVzBO> zDNE}%D#51c>wT-Nhn^esYd>5}j@9KPqo}p(LH&Ag{J0I1Bns|N)9LiTj2fj5LJ_8{ zg#rJ04qkAJ$21=zQNi=OEN|=io9#>gm_EAet$^9hiuTR9i3bPQMqr(=g>_;_IRwP@ z=|5|Ci;fR)LhbdG(uiI-!P#-V%Ti7wUYo-UU1H_*1fI@mQ@M$IcM6}8OQK&@20>5n z3D07kQki~YAC{`id7avTpP%&XZw{3Hz)nR=97ma__}AN2zQ@IP9bfXXIJmq2a)QN#rnq`c+7;c3&U0S5_oqp6Jb}jbh#~@@G5IG z5CFo)GCACL6py(ajzk;Z8O38w^vsJ3=c~$ouVHp5z&=15Z_+8qMCipGa#qO-@1-AT zqG2}(&yNr^nf{%BOwQv*nJ$<}W&5?CnS2*=H$Njv%;pHkz+K&x$G7CXji5L#@su%I z%iM$2I{0TLer^T|w9(gaX5H~^nd96IKV2_PgV`Z709!fsW3~I8jsmfdpq>>2E(enn zjq`<|fUX~_6Elz&+ci+I9!F7gO}&@mhFiOiFnj>;ZY8K+$b!bs?^WTy3zpx+VgMCp zRvg(FuI5PL3xFo$hw|P+hGsQ(t3P@BQ>508u6s`whfi%5F>Ik};Nkugg!WWQ!v4Mn zR*d%?++ND2cN-;j-ChT3|0oykgK!My9w9tA{|LqjYs!=E%*Z(B%CKR4!XfgZcIc8Pvqu0i4#|g`|G6Ocd`nHS(p0IE zmM>5XorE*uYxo=Er*@8r_FYrnCiYhPlzs2<+j3L4h_7DvZX@1YS<}wBF0F73154`p zC!Re%3X|?Qg=2m_wLU-2VRpCq86&%ov3hBWnO;+PV!?L{XtWE2=Qj!PF70Xg5X?fn zAnqB{iwMOW@Z`G*D2S_$&)MYfnYI!yedK=?R=<^1Vck^K zGr`uN@b1E$#>kzl6@zCu9mHgP{}da9{0D|ut_z?n)MN&vN3GL=euS#l3xbC?FYUJs z#$y_i<9|a5+Uqva#*(sh8*eY;!hPo_dLI;y4f(8?jFn|@BF~c0S^3LOOY_I1cNGqr|X@8 zTlg-meGu9O{NXzRD17n-Wb~a>TT-?#s5tkwAnr{s2ri$h>6uh|OE>)chYwJPZ;5&Q zh9bQY&PQ=}RLAT~D1wxeh7I%c6X?GL;0zlM=i(l>hC@;g+$@~ca%t#`YwU)KI#O?M3eVh?LfY$k zu$|YAEmK~w#StArt;={}?JV)a! zbc{F2l&MD3@1zGq*fB+Stjd`z+O13jlxKO_W}Lj;iN;14(-L2(jY4`w#2g1t-y zb1WQgoqNSQEOQDFfTht1ivMR3Ra#~Gl`mX3*Ik3NY4CsFz!B)9xLq>Vk!SdV$aA0O zAiU+wCh5(N6XK0wRelN75zRVFk_}QR7mV%rCy8Z(jDTFU@?1 z`IKg(3)Jf-b%C^UZU@jAp53$D$fZp?_w7fqHO3!x4G#*RNz6@gnK7@&-#F-fPp5uJ#1)|q9 zSjF=_H>@z~#(AhlCwPO{YqWDmGuz;+qRt<)pb&l^dD1!KClpzi)C|q?Y}{q+28z!X z8T{=zVz!pxkvZJ?y$X)Sh^!(|WD}~=uQrti5i{+OVSH;1WRAZxKNZEDM)}5X2s*bdBcUDso=``R$6E1(c zJJ-HIVu`{v4FJ?<-IJMl)i1~Pd*GXMz*lhKb)1xA&F(Deb}nOgMblGPU#UX(%d#K_ z5*pHwWMECd5dJ zm+s0~mOjT{Y5n6_vsF1q>jJlN(No^l7>wbA1oeBXKUK0|mJDCa;&AuFfe)n$@A|W0 z97!{7+R13s=j^OxGAz+oA!8&J5{-3=9n8m4D`CYyEHJYud2()FQse5hJ2Pg8I(!B8 zCT`$!iums7h;Z`spM`wtr^BZ1bA6}bm=}_-esR&>NNc%sp6|=xD1H9+LK2K!K22Om zQVx9Dx@(ikWDgcSLtPUO^ew12S=QGQ>q_91%9+`^Ywmg~8~2(w=Bpqo?o8qR7oaJE zQO0@bEuLmL;IZ7=6EE-e4QQ6GoYXiDcN)nwv!Et{1B*`+;Vf$$(HUp$?qX8-vIkYc zgrZ3ezpL(F3)sjh5Qy?|&95Jd@TWH-PBO7h8yUrW=Wjx9j-RFoSlpk2=U9MnGbRo3 z9W3c6hxPEnxJKG}dp1zDiXa2RN$rdowtwoZiRMRYv!HuXIFQq?nk5B2_2CrPa<7$~ zYvdteOa>~$5nlK5znk36Gxg^{JCq`j>890Y$GBb=&*xd~3@5`+^hyJ1Cb9(@`CIY1 z;T6o@Cl=Q7(Aq@HJ&!dl_gI~v>y*1+9D;VWc>Q4!>btT6`m}Tuwv$UoxO(Br_`ytI zXeHy5okMfc`#rUC1$Ztw|%hzsL1IU~UIPAS{&;!p`6G9$~YhzC%^l zVw(W#H~!P2t%OfiG#`_7G1XvpTzy*syfyRJe%eA;H^MQyl>Jg`O;?rBJAn9jlt1rV z?l@ux=5-M?ZH6z}S33<0@F823c_4kh3q94RjB*(Nhg;1v!&x z5y~!a*4)ln9KVuv!K6j-%>oQL8ep_~a<3JEO{7jD>*}#wU^pLmRPe1_sI^UG1B9aj z3!{J6GL9_M3eVVH1=s=3;k{(qoo2_EQ}G%tuM0ku4c?mW0SL_hN86Xj)wsT2Z^Q{F z;>Zvs%G88Pq!EpxMDr*Ons#U&l_^t$(4>(jl}htG2t_+mY1|ExXi!NL4ZQ2#oO8av z-}m$W_rCiN=NzZ@e)jX+_jO;_TI*U@d*>9;!kh@R#IXq&u13NA*B@B7ZH?UahwAG1J6Oi_S-Mc$_b$%Kd7{Ed{K4YnN9d8yl;4RjU$ zz5$e$Zj@?KSl0DsKRn*dUrf2U6pa0|B_yxGDXW_-Ynd-!`>tLz!KpEuAO_54I6ubTbJSTHN8F!=0|5IF$L6Sl(IY2Ih-vf2}*z4I&^DhHbvGj7+cvg(%x8Vy5u^_%}$mdLQ)G5P1!oaiD4k0JDQxWQ`?X~6T{V#Q>>(<9TwRu{EtBJUhLAQ0~;{tS(8}Ot+$InePA|x%4$Zx?7RWohm@hZ!@N$dX?aTg$1P&fN_)&?!=jUx{%DekG`)Fwf zMK(`m*>9ZFDyXi*7b{+pmqdI#%*sCb@8g7_4*{=!D3(%}1>d zeY5&eog6*OYN2=$uahoSZRfCsV*wd2<3oQdTr0s%q>O5>>W1ffd27sx4@3o(u~->@ zu-<$&HnoJ}y;p!Yhdns&f>0I3Z_%C2Ckm1PehHqrc_if!)&4t(L1oNF<`Kf$Fjv3- zRrKMS$R%q8KRZQv#3N+X!}&|G%jnYSX{p0-rio~mN^9%23KCA0U26dG?Iz;q%-im& z%vWrACAZjhtk6IuSFgO8 zoEYU+?c|A&79D@Q{kCK(kh{~bpH=G! z{c#r&YA#psOFJ@4GYALdd$+NqM@YCHht=>YrZz~7%+$M+F?^@4?Tz4(Rf=$H+d@$8 ziUVy{YI-IEgG=2xV9Y9Nc(q70=E4V53wFTJ#m>FIykh&|$o)Ah6yGi}DE)J7NB+4( z(7 zX)nW-+f;0dmpi!k<<K?D&p5SC!Rvi|oUfBXAWPA!|a_vZ^vh55Gs%vt&UhD`r8TgUr<&(>l6uh}~D z|7*66%zr4681KydU$b@QUH@0v#P|^|uK$n|Q zVs^5Sz41(qbWKhDns3N@AK9%E6tg^DKW4w;&{qVq5r_1$W&;#Y-oL-*mlp`9W}jO! zzM}hphK&=phkOBgz;(o?(zCGZbJIsDkZnBNxL2idJ4 zp?dJ=hJClrGUi5by{`MKz#%#hVGUwN5wG-R`0)+D2R-Bi0OIbii@i$tK>78*hO4~K z#EPtjJb@c}fxF1;X51agm7w;*%bO2b{2fTqbCZ5w(u#eC7Y-+U=~$uApY$yTf$$0t8%*-JWLyqN*$(KHRclE<;;lTzXnTp2VtR7 zX8)FN-9#>?Q$fXuix8jn>aJGPq{;2aebh|C|6n@*wE^sEUpf zcP$M6Hce{B5FiP2Mry+P=?Zd*Z*CmP3$&)9T2<6+5+E3+=BoySxR{nty_C0C?JOS)^4 zRHd2pWBi;7v-wf8h}Cnrt8Byp3{>0^2&M3m55uPXUd_BdyHi9&J@a(!Yms@^CXhsY z01*GfkcG=a?FkEOAjnYhS5FbpL-CmAGc-Qrm+|7t$0ge&KY`uPEmySTQ9`Bfyt?o3 z>wl6z&tdYCj4Y9=i!6u0@020pC*@DcLCH4OO~?|gv^Wm*(wCN!c15lN4c5n!nH zB4<@Z_s`7}n1>dMWz_ubh^Uu2W8LGPN0O^Vor0^RTsvlA@$lJAg;(3Tj(urnzNQGk zj|W4QyX{B6bRP#Ds*^#skyo8u}?B795j89Mk zFB^wCT*ZVmXl=rmJjKQkP zR~spwr?%%OE{(Hm3fNR`&l*AfTkzIVeDEIPsqhgOLlI~6U*!0I> zT4bZ2EfY7-C&_*b!?>O{)JsT3ItaXPlHmcNyR1{A0KB(>wSZKwO6}{0{8QhWMA| zP;k`l8*_g9P_44{6{alhHS`#jgQ~O$C;iPGIQ8bm17ZJ)rW@DdVzIkKki7+h!O6ZK zB=@%{Al%g&)%G&4E(^(rjShJ>t?%s$V6XoI3u6l~C))a6@cehP^bx$B7}4nZoegV6ob)XZD{6KJOvmk#pwacYZ)A(^JR`o`g4^5* z%VIO{8Dh_p9$=EJ8}T7f!~&m_Oc6d_|hE zUO+;mFX8mUXlbv`Z=3XX=AG#>XRJ9sC)4V?NfTNOu2-c(gkYNmhy<#Y0& z3DmaTh#4X)K9E_pvR88R^Z~uz<@|lh{6JUq7qu1^#+7ot*`j!>{NWAKZ>w8j1&r6h zRoXyPbv#QL<|D3Xx80m01+Z9@x1e8%74n>HmPBetp~iz#AP$7!P_3BG{p%~w{?moP zDhvJTHkACJ@&LjPe3e4f&*2zBrgry|iSEP{d9+wZI%Jl0_=>Zzl#EaaXnbsZNT^g!nA*#mNoY~6HLxtOV+BbHpEvk$&>73S=O^rw zZ3^ZfmAr$#pUXxggaWO&nKW_p;lY^Ph8()4v4}UBAH7b%xrC(=o3qnp7L|$i#c*Tj zYyvtIsa=ZG422NHZ4vuH8Wq9mxN>am8f>?g-8?u(>9T%=mVpB)3LJ6 zAadiB_V>9avMO=YZiVT!kO@6lkuXMp^J)-jA4N1V*)6s$WKl=^m3Rj|i+yT4*;Cs?z*o~{D>#d_~>pLvim4~@D>yL^#Z^ygYGG_GD(pw))&t<6_Y(R|gib((#M z@E=1xv(V?MG*39v7q&mJp3}e5Ct}*S_D=^nzV!b6)-R6dg_JIrTzp`lE3~8Qa@eAM z80bLN7r|W1mR;P;j0|5!e?=`)h+i)*bD}C0(!}gJx)~YyD?Y5GShXHOAc$y_Mc+6A zNDbJipyz7!oKKvP$7=C{tOOf~a{ah2uUk}@MZ|I<1BtlXoCg#uqcBiDP=G_#Z3Cx$ zwr$6LQf(m&$Uaa$k`}F5(hw83ty|Qd^=Qf`()m4PH+>$ah{+1wqFIp7D8dTW&nby< zY0ubx2Y8A%7kZhu(zLbRj})!G?v%=b6JTg;Vu^LQKgCUx66*{DUTWg9`Nz|v8)3Bskm;;Ej){xzBvXAAl3>g1p0^80!_Lz}A{A z6q>6g(y&CWZWD4Z!3E--^%N~IJp4UvlWKJ3MTPJ*c!49|uer{KEa>$mMP$ z*0{~Ku#elb-6PgI#5TlowrHd@D^)Xr23?`HX1XDj=~?!YNX_F7OU&3;XEi+15ssZp zC^-BM-_uGT!fI+kK(0MYk-<((-}9}Tu>Z5(a_O<6;F4)WqHK+j@@%sRN*>ugC!T^{ zZ8Mz`FX9Xm9gFCj+bx#5D>2nPk4oPPSYWRq4M4oFW{%Uy7;d-{v=CcFMBYxiGM>)0 zqbt9;<5*?9WTjc2L*{UTjHoLR0PR^1T{bO0h4%zRK-YpDYmoa4eZvu5a{dv@x%I}S zIBs=p-Qi*57o*Nqe=JzjO!#U(IY5|}?)jjZXKSGR;_xMRUC$$W*={o)ZB55NVIA27 z(^Vt(Z9=u5?O97;rr@SrAPa#Y(Us94MLNqX-Nfp@Gy!EaMUv8O(q_J=2E^6}+#I{Y z0G~Sjl24~j%~cS!d~Wx#REvF{(+)k7Yqlc$uax6UvfOikrC&@p%iK@RSb(VfOc0B6 zscI>7bM%Xl1U7LLlgO)yK8C4v+|$_BGMQ~&&QNm7u8oWvk+G2NSG7s;);2|3t~~Aa zH9_5erKbYA-TjxAOWgvVTMb7W)0t5Fk2Qfz;O#c>H@s7EP`tZ6kYLe5X+g=GV{v!t zQ7X{#eXe1hY`dTcO6x3Qw3}tiOB-6S0P@o^mkE7cfumij1mk4MOWJKx+2T``eJVms z;^TH69$B}kVd{FR^&%F>;_{NDo6mq34&I&WlK4ce>TGx{1eMCDIcyfVeVi-&O zTED~@pAie0%Q|C~)UW1E$g4x97-ub4?mz8B&o;A{)^RDzhM-1X7Zjcy|3EV~)7t$Z zOvpFkT+Ay0#AKb@gOfJ6j}WB+%}@Vg|58_eM+dRRS2W;49L~_=7!JxD(l9iEYE7>) z=SJw>AbNIAQp(BjdZ#F4<=MX0C+piQ-v-TFuxM?qnYq^DS9-e(&g*j2rsbsMD&#D^ zdhd`enU83uub1fa9j&8&w;r^@7lQ{!Cg+tyjs`W^>@m4V8OxJP^fz)rp)l=W`E22S zNXxdf*iw8r?Vh@N>y;}aT&r}Dk_3WEeIk^0p$s^U`uyt!1_|Q2o;5a*!*K$yHt-+X zJ!HWqW6!5P@&4vcw^<2YgBn5KPiu#7JPOq>gO8SW@DBBdw`gY{>Hsurm%3{3ZYTf4 zfh42{O8y(fHa}X$03>B>khJ{TGt9>UMcf9cn_t|aL4V%&$iwN|7h{@sp+o9GDi;O8FwPLjfwp}I%ntQXV z?mzB(3qbh#nw?QvLBr@dGg&tk#}TjjJ=2X%Ei*&iR7ar+B})x0X|pROZ+<|(T=1Z`9L zl085!-Y;c;ob5gfsLgFo8%bNXFZ>dA)DJSsOc}2K*eeLZcLA@sIYy%=n^ENB^!Szh zvY%ZK4JFT!&^NJ5Y}s$zTn6|nn*)6)k5xI1jDF%E5(p}D8}HjhP`wow$3mb3bN7q} z^rMh`Q4cAfgqugvN%dTt)@OQ9(qwUz*?;n<(dS#v>F0dN3IF-xu{&{UaxISBJRR=$ zI=F(d>Ygz{k@Rc*9gxw}1tXzJ>LfZ{HFCe%I@+CW0aQL3QLNDRr(smJQ@d8<`}b7= zJK-LYSCR@6;Js>E#pPkZKea-u!;WFDUz+~t!-LwgoDh_XM~PS-zs`ckYH(C;OT?!a z!=v2mbBj^DWvj~ownJ4G{TpbbP!4QHQANtJ)=no-Hgp+nqG;%W1$iDzy=>0W9>j1P zJ{`FP-Vi=CciqM+*RA}7UZDVu>`gYl)$x;Y zh!trUZKk9A(gr*M0^fXVLV#%@WMUT-C4aRcT)6l*BF`!dxbT$td4QMnQ3T%BMHjcK zMD#UG)SnGAIGF-T$b0LJ9$zjnqH`yra)Iku!ndbLWlKtH>tYo=>j&Njkx{(u@=cLg zi1Nzx)==FtpcpNhLK4oy5#J8p6S3qENT+&p{}q$9G{3htTKe!HBOG{_{X+v>ytc?P z`$kwRz;$ZKnfkcvL*G!!2%@eVZFOtaICBDhajT3PZs?=GD9hKnT*W9vy5-8uX1g!% z4$!o*0z9+jH-mZ0^o_(3KUmd@D%kD(Rn~Ee(cw!`9hMi@MEu0cW&y z1UJL})$D9S-`NwprwQ2R*rmY%3bkS|r93YG>PSZvg-WJi+ zXoH-5G?KZ@ZUFukgzssHsJHSwQ5DmxjB>1kTn^C}p*_1*C<@}}bk1KlOXlC$Dda@u z@6a$AM14Q>4Qcl3q~KfrP)kZ%c9oV4Q4!1U%Wh-IYF$`C4yN5hh?co*t@=dsBwzx0 z!dU-)HZ=4Ji2}1q=e=n;QwtJPr*eolc;VOSR*i`DVs>#PRgC>~?ord~1UMhqrqr>l z6Ot{?Fnzg_ey+%=m~pF~ZT&X`G+8rHKcJe1NxwC@x9=^wo?S=><+wSAlQe{22+9j& zkowWYg%V5N+1Up)ZXTs3i2)*`)6t~s zetj{Op1Y^Q;lfEgZy_|+<w`sNb+(6emKx!+_8!T{S=gD!OMNF3eri-*i z05LMhcM5&I6*G)j#oG68)Tk7E2X|Moys0|x00Xw<$A@hR>4H;s9d-Q_%qNQ4p>p*T zy}{mAH=u`%F~dORkm2q|&D}gaJe3s=Q7)KQ;x|!OAk^U6$V$hS;Ll^>*sl&MXkcst ztN!Lt?weyV25bep@a2ohY(HdVl#YcyIVnF5%pL>T+)`dT|wDdPW`joe$h5Xzs69 z`OkTI*cGxa(kwL=MRF`}Tk6VnwJnZDa}%_HM`>lxG)c&J9g~Fz$_{8&gF@rxB|(1l zf^c9L-udnA-1SjgFFOH5)x(pdCpzRpIr7K#Y{d@_fkx>CpcxELj@Nc{B(R%Np#tYk zUOP{b<-Vm^DRP+n_9k79qld1feRv&77ZL?<(sLZ0?y>h`7I7_IwVkzRFa-F~cktl^ zoXupC$YBpJ4Zt9oP3V~tPA;?z9m8GAl2E~a_5z5{^997IjYG`%vMfix$z50zTSO+O z%l%9fY01S53sh+FL-r4GinsdzI_l}a2_b;#z6L@3sjK2ItfL0?`D!uWSf7Q`ucUr_ zGl^}qXt8$8Mv2(-{yK1gqo`6o*JUyu8PooMk5hR*nSx}dgrLOD4>S_MXIW?4k6%Fw zM+lz}5Sro8sy@lSYHUrae_~@&x1n+D*w1`_GQKNISHL@2nflINAQGj^=8zaBW zqi(ST&X>7e(j3-y0wzS+{V-WG^&TzRc!frcoyVW4TPL9LQbM+cD20_L!h3WM5i&P* zM@L4uUeWijKDie>&`K(CUdpJx+7N}u9dvxw#`fl1NwQ4=d?LHHJ!`3@oG9ht(1AS< zdv~xLuySui((d9BO^|z3DH|RSCXP)ZLnk_Rzgxz#4q-SmX*kW}aBnyT(i>M14KCfO zBCQy4P<~J&)nd(xv9252(to9VUe`+tC)8FE>5?itOVRo1YJmdRsS93OOIFKeibr#} zfyW@kB~uWTlwt;5&eO@y%shTBO`Ea@?*wL!!aBn!dQ-`H%D!p+Tx1`loATkuS^6y+ zc~du#B~2!D`!3P0GjQcUW;r2lpOZ`EIk0)PnEgq%oKq?e%3Zv4l1nmEFh1`fg5Op$ zzudGoszcR!CrQOy(c;0co2{68rpwmm6YA-8n^dVclju5n9ikR*${)U1t;3%G_Qpln ze(g%mj)%M(_?&5RNPCW{U(&=0WVFHXLcUry;;6SpC89+e74F#jRP{X+_Ezt>A9IiN z3y$M)p2`+z{FLuBbWg4SXx9R_Bsdg+QVF=lPLchqW3T_35wAUm#)TEjrpm{@+s}4B z7)y+frm*&*V}I(u8)IKcTsLFR-*k9iIqu*^gU3U+M(1|gl6vV{+NJr!6^c)`KOlJ$ z^9H6352U;PbOK1U+Lj?m+;Fi%@bZVH5i*Lm9sX`SlOOEr0(e##ey+MN^#tUFF;z@*E9msWN-p6 z?_4clWTcGWJGr8EKU4W@q;$PmwNiJG1g-#uU#@_r;H{(?SIT4}>sQ*y`0))O!oHNF z(W4jowY$KQ^YynPLd#EtVYjXQ8I6{pkEiU`wGHWdZ4E`HxKSfhyUhypnnz)p-^N`B0fL zM8h6k1kTJ{5O@^p=`Ba^y%oY55h{E1i-MMk!L!UC#bCB-#0dT#qWC8V5PAzjrEy=5 zfqdx^I$2I3J+qKv97CG&A=`IRI}R~H9Hgg#?o(K|;jXK2N}vBMvU=sp_jwZx?2E!| zItpQlObmF!Th#oc%U?kH%#d=Z#T_^|ccigaGYi7_YV@kS+JG<0^}1dryyrJyG>LC3 zdj5Own(q*$Mpoi%+f1zYc=PbqU3ImZbH0tWx(cX6_DbFP^=ahBGwlQ!`x0PJJhX!< zCJ?TLfRt8(J}DIbM-MKXuN*i{ML`5+QrH#ebq)B(-!IlUeBxFoYCSnDkm{MGf%BE0 z)=7yji1PT&W04zFAL0Fz*!l#6*%f=GfP*a*!F#rR zcHN`sI$XDj-rtvvGRX%nZa<0nu%#ee9k#+a#9Y$@_abEM^x4t%mZ@Jm- z(`ycLvNq_Gj)EHG^yf`~@Ec~Fx`GL4&1VMx{dumBC_jGuoHqvT%+*>sI5NefF`4lj z>V*!L05pz$bDVqBRBJ=2+otwFHu$dtj4NX{|LAElR!Sri58ziKBa8HNNMt$EAoKr} z5Oh`F+H|R50wxqf&&luomzv@Os4tbVV{mr(TTMYU1Yc4?)FF}=I`W-hR3^+;|Lfxf z_4D6}EQb`snDKGwQ+J#RV=2!gBZm_QF~sqYzkd-&mVMC(-o?95p&Vifl$S-4q04Z$ zpUyHw7w_~yGdUDWnNe2zp*bqxK-mlQNC?h{##t_KR&E+{FI z-Yt?%$KF)N3H&s@3rZS5EtT1fyL<8W@Lyd;&O2w_pvj9v)_&e#8?NCbLet|wXpR|Q zxBRpa>lo0oPY!eFeGUYw`FIEUbjkrU=z+h&)?mM14!n{XPmHw&kCyz;3diAg9gJ*x zC&CR-bH6YniZQc8HW=*Ljq)zj3*YwLw%=t*H`!Vw?P>5uE0ZQ>biL+hyv@af5PX;- zeyW%hrbmEYDoe#0|3~HXIC}>bC{jZUK7)6U)!P^Y#-(wo4PS^#J`iKZlr@I{|cD~N^K$j;18lZbZJio;yT_*|Gv)EAhbdd zE_4st4v?Ecgfb*YZAerNS@6fQ7l?78a^&mFJc^llT(~o3CcE%V%1nM?x^=?Lv%)hQ zc5+@-#~aS>xL_2`V7pi!BQ4@aF%pdQ@+Dx`2-_l1`^027pS%%;wHZVCj+dfUxq|xT zCishL1iYu|X#GBpy;X^;W)e`@%lOg!)DNW1fheNUSaczbQI$Ni1oU$k+4tI+3U%8{ z(kK_TaVBiTvRqtNJU2|I00<9EJJ-icp zGQr{Nz-Jm_7XyMe5-pMyQ8wX*#Q-%7REw8@=L=ZDbxA<|iP3&n3W>#Qey^(H1nJqa z9vlh3Uf2E~X(f-(_e%f!J;^`6v;!mV#mQ~=W7bs(EzvM{QM3E-ViWM<$$k;TQV$*I z@(DLiR)7+;D1-!+^7M!GST&f( ziuX5{fzY{w1*=;rj)^ffiTmBgA9|o?O(kzHwM`vcaJbGMeoESeL<|WS>4U3JARrST zqgtr?9Uv`}XxWD@g>@(wSDY0|Id=bIwso_Lq5IGtrC|Or1;C6M^Zw_zY9Z1jP&8k0 z*cKS5oN1;33pYj551`#OfYXRC+Y?#ESMY`k`Hy_+Ahfa22jH@qs8rDEak%30VoA3& zBxK3}ll@NW$RfaUVcUrax<#X?Z|V6oDvMLf6r(4DM^W&L`E7)12yKJN6*QH{MBXLL z6C0a@MS$h{v+I$=AXOEbE!6zj;7tdrma26?GV95uKh_(kKlGs!vO0Dk zBFtw#nt}we5<+C|8|R>;ksBz*(#fHgEumzv{Ex?UYH{i=QRENY-w4pp{UyFzNNZCz z;o5smfZ6F1!*W`_R1*jY(`@<1llL?Y-M_rM@R^>cimuMnGx}{S8#t)Kh2T`_pXwbY z;L$~JSmrTm%i|{&URIxAhkX}u?64^bMQ)RyE%gqhfu@mvE>4wXe}Rg{T-{t8&6)Z| zPDjx?!37J9yFl_<1=E8DC|tS!&?My6$nbx`+pT?)OHvp-6dr^R1k}H{xpEO}=(+bu za#msDM8-YRdCl2Pfqz7PconV%wD^qgHpN>qQ2p~muv9>06J<#Ncv&;)D&iaeWS=mL znWeY}OCMlRqm^3@^B{_fRG70D>p@mXRc^#_tY}(61q>R33|_~Uu$24;h3X`lUw{JC z_A8FFYB-80Z%S2^jn?LR-FrGDR>6k`Uqq@A3`P;QjGrLG8kXUyFoMtDOV7B z`Pw=Slht>`9=vDZn6q4Z_RXY})04d{-pC9EDtPUj0t%o5ruP!+Ts*Bi1zPERk0>1P z>;meqfaGuKbQ$jpR9o>nP1gW8kS~`3AY`6f;0E-G@OkuoYn6nE_dbYRVg*uL_0E)- zslQv`-2$ByB@_}sEgT6IJAnQfzS?mC7>a*)?m&P_uE?UlMv#wb*0pN*mWzGWcz96o98#hu; zaSUmk5lsA(=>|rH7kQTb<_n;lRG|9~Tpx*Y8Omw?fI=zD7c$nS;{vI;smGBoCI;V+ zDunD%fd*wwqXnN;6YTc`hSP%@vw6dESy^I@1tiTM2<-15jp@bk3Kk;G*Hom9q8Ggg zIw8}H*4u!aoEBe>@pa7s&Qg!VGt^~ZFfR*^K60vRRGWkod5 z;3+odp~09pVp~vm4MGj^Y8ka?MaHgI$*ca53#aqwx9`LaE72)gH;Erc;kh3?Fsw;~>CXHSOH?i`4T?{G3V1*-bPkd0g;#Y08)L;cM~ z9b|mV4(-QWS-#$Z+f+HzNA5sQNY8zc#;>1$j0EA>{o(1Tq+SUH1L+z?Lv7(p^k8qz zH~<*4L{|!Dyx|`k=5gKn_1OdjDbt!qVZD6*$M@4cf2gztFc$6m{VWBjy9t-2q9w`bXb15<*Y zeRuF~6M1A-igB;A&wT>qP2jDbbARzLKk{musELMy+DrJC_;IWixE=x5RV8!{)kYn1 zE_bMsaXt(zoflFbkPKCf%aOf-Xp222zd;s%h0Y#a%RM5grD7FQ^Mp~EQJ(RR9y-XQ+-6!SH)TCj zdQ9y{o9p4ys4R{1KW9Q4GLd=-|4@Fx^26!-SEwRm=N%Ou8})@Y^CgJjia zH#V$Om9NE|aZqxfe4N;iPsF+yZ-WKdS7j@r?aV~JZ z9;km9x9Vk}<~^^1V`&|QYoyX2CZS2ju*PvwzmB0ZtE6VVE0CMLRCZTD5=={l9!x4gyPC5*R(YlbycEQ+c( zQH-juU{kw)|0yyU*Wy`}(flUUBWo$oH0zp+SSS~tp(^rSVjSf|-(dOe@FjC6BcY)_ z|4Pt+-9qi=2?tUM9W}H)Hr(eGY!e|9RA6s%>%Ow)1A3yyExtqIqzDX@`_H^E%Wug* zY3;xSjs`CpK$nE|dfOB19$6-NmpgZr@38MqEPs9f6;)1nEfMg zaw~l3HK2%2e&!j}(V}>lKX~FfXJa?c_p5VXhV{*1+p%dWlm6rfGu7VGuJ$zto>D)m z2(}q-LH5wyoQ^h2`jA{eyvsp7bE`Uvs>Rf%ESNpDXoh9Q(!v7#BG;KO+6z#o=e2-d#wl9zE z7NPDPd=+u8D_ZxfUhNI+=tXnw&>n^l-KXUhpQ4;c=y*hkD|$_HZ>)_LAhrcN3BdP11}?@xn)0c+LI}+^2yQ+7H_gR zWx1A=&J2swzrLE@qIT&3`{9On0gK8V5)aXqTZg_KgS*$-=LoZeSc(t##|~)Bs1G@0De{|gz*kE zOs^5>XLX*n_}02=pHy5*DeM2QQN3htP!$4Oz?D>l}uZG1t|v(}=8pL9v7 zL=4}x>basK3Q`lU|y?+Z^LAo)7S**&Y*=KI*0lvgp92Z-Dy+={((WH1259@U75GrwU&WJF#+~a&}VD{_@6FYC~RRseDm^ zQ=E9M?vC0cDU6c z{>Bxdq7LUpr`nM2`Sz?r;|}IxunbaobLc~#5G0@CK|dm zGI>`Qt=S`!SQ|#X18q(#7zLOdSVFnxM@|49i@qa#ms>qAG)CTd=waDJxy?--vsfnG zzor>Dw%oT3g$o{}?vK4A)}Daw?GJUH2r(M8P_Y*Y7q+qd2qTk(9xhrF2-_>Vrb5H5 zpr}{xcTg|rLeri{YZ)RBsmko;3Fl4ufC>$;ZQ85G0V|UpzTi;+tjgdkHW!x}q_hA) z5I4x9?`YsXTiCgx&dSG0ymeYC&s};R<BIH8RhZ{;9!a2RNF&g--}j|1j>ORmqZ7+qp`?TDqAmGvIhyzf9sIuY;TKYlCk# zfQN%uXBb!IcqrkPHjA8nSld6KtqxX9a(@Cd<$^z1?1{kBg~&G^k3sGv3%r)w@1M`L7z9A9l1-<7aKs_cJeTbK18 zM(VM}Nb1wZO%5{6++*#+zm)zcT2H_guSN zur1H)tzk+>PJaNH?fXX0ahEGUKBf&x7}W7vxK$L3#eG~Xxx!G--p$_T2$85wPYw-E zjP(!Jxjr6Twu+7YUDn{k*s4N#9JM0BsJ6I|Svd2*hy<{wFt8`Qh{IJ`@9}{37r7j9 z%9p*6iLowrI&IOv<|Oq*KTAnc8oqsW^e&?{0xJ26PAER;g5gd{Wk^xc&pOdt&3_=fL z!%F#vA-Jm`RES|*#->T@2oZ0b`&`j*Y8jrF{rayBtM5nowx$NW zPT`==n}+#7Vg|sf@`7G$4*^?KJ@@21IFvG_KBy zT3ti&mZ>T;CwDXc%237rsLM}laLYfvjcU->)a47bWUX2MalouJZc`56i58!Hq;!Va z`eX26G5M?rFYM){P<7RiL zWr+8Dgu7ngL(R1!)@|8IS^;Wk>FIf&d@v%+wgbm54aQXgJO^PMfa89km@T&%C+rTU> z2|Vbwn7w&=)QO_BzUw2?El@xN0<~RVl?W-diG(d-K0)Nl@18eyW@fq_9%LcNlxVPw z>O~K0WlxZxfi7`|`6`CG!)C*R`sT-wR`z^wW4UD&b42gfz!q{OXNai!6Z7tuy~T2} z0asn@jRdyGR5_35E4CC4I=yL*0({gHdcD+1;LjNP39#eatAC#Fi|BW1rp8@aJRW*u z(a&-1$k%ra$0cJ7u2)2@p}b%6YmGOij4v(C`^;O~Z!#ESA!+h#*cGj`{S#w-{t6ED zk(?}&{cBv1dfya`T@&B?c+XklI7=o;bVNy>au#j>$F#FGwzs%7xA0P;xZuZuvtXaE zW}N8nLk5>SFAsrIS$&@m&(l8tnDmyCof8vo>x;+7Gv-lte*$u#(%e%O>&d|CxbmOx zy&_vP^IGOegDng&vUdxXCUkFC<-HsR_l#$KDm_R4*j&}Kh5+L!)pYGP=DfW}Z; z@_ZS6d7Cwq&E23MgEL-ScGnN$Y!W_oH_FjCSTuDiwW3(^M3r9KB1hOua%$aZSYo2v zq@%1k7=}6UQ+bgmdac^m;Br6J*>y(s67hmgC6qWO>l%db)eI>ig|V@07)S-cuTxn} zjUK#t@}z_9uL#9hH!^2QxgB`6x0;QfB~m;Abc{ZVLc8$MGqYwZ;mx`%f`yhZhG3tx zNB8!?Pxr$M41pc)`8Wa~Keru0(eb(<+KmE&s{kA4m=RmgCCdeUzN3QXr{y5G&`pk! z+q$;@Fg`WaigDmDK9?f17V0Az9@2UWWUN;N^*IZmD95{(6!DmrE|0siuwz3Q-}!~d zHTY8%r(j`EjQz|&_YoP*cg#&O1>VouVWh0}6RGWO;Gv0C*(VTdwx^#lt+sJ*t5>I| z3xX%K^gv%)J=_m_exB(lG`rln!E#|SG9CHv-%mjQx=#4&;DgQk^Ij4`Yj4%Bt7H86 zjDyrID{rjYaVopj!Qtx%CGM6Fet-ycE6LgyedzH1+2Zu5r;TH>+o=8MAJgf1(Ab*& zz8S>=XX2Xrki@h+F>lbaGs zALeSoYlF5Sd_kC+u@*}j@K0jcGV}RgQ4EE0jB#~DhPI9zdCdV?0E%haNYy$PwJ+N! z^?70p6KVBlmH6m;AYsdgMCc83KT#_ZdvImBLd1Dx3kwUEH?*{gK~RZ2Z}wQ$KNAu? z{d&VXNw;j00p!94*lEaPb-Box=sTkNjP11vMdQ=j`;sg>6O=<TJIvMN z6$1|v5|>cJ4c0TbRbah%g`j~=>;(@p;2 zZ0~EbA9RDK=P|Chj7A%ugE@Ywu}BV%BYSx_YVsdn?Y-!)@G~z0y3lIOV%!8<$*=j; zhXq&S#ooks^HIkvZLdy482$ovNMGF;sft!c61o;*TIMoC9F)XmNnuI=o}nv*8j{WZ zvn%wp%gL0);2F!4s(h`j3t5Js_0b}eXOd1$Vxo%J!X=(V;JEFU{j(FjQk)f5)~qwsU`earA#6wb(7;Q}Pg8!wj#F^rf& z^U1rKp<{P7=j_(J;YD>fq`w?Pi+Vn-6*l+X(w<`wZ5X9;}$0X2PIyH-jml>EFEpIWj` z2N1YUs1xqs*KLW^1=7I%e*KfXw1yj~{WQ%a(!~hftafD?_LWZl+57N{ca%t#w@6@X z-+;kY^voJyfu?A*SdkXJh>OfgrRC>-I|?hi%m48mQ((Ed6GBp_LKv=OFOWIgV|0LW z?Vz)KNz9Asl3RqYzZ&e9yPng=nhh`(vtso?Yos)!INNxA4j3sTT2mC$}G&w%U z(&3Hcu7)qsi;CJc!WwcD*zXBxX{Hzywb9^C>Y4ecwxHVl{( zL4GK#mcT|FakxA*J|UJ{#DZ}d7{Y8@6TqEXEQ$#=iHE8FY~9&b_Y3w%8rBd#D7Iq& z@Sshz@}cW;H&zkM8V#aT9nO+&)PJ_mxgbqzVIvAx%fioPml;lJJjFj-`}y)dd^E6L zFaAx7F|Y#7S7-3qbgO$3pqoZ#8^sMYM1^XcU|K6Vs(r^=PEh?O~_9-DQNP zUgDK?o9n>*o{62%{u0aBMz{Xie5;)YNB_4(ErPRi5ATgul4RCB5J{$Yoq*b2 zDjn}jG_4a&K9GKbqG%(-*H(2NgbwoX)@ zrN7_%>M3cLZzV2)Iq$bJ?&=d+FHZldnmm;<4bnH1KDa8pZ)6Z;hVwn?RQZLJjP9^pEo>_3eARnTN+T>X{J3U5qsxLw_rn&!R-4~?l+h3*(5`~mg! zUDE7j+i)^CWmkBIeg2X>xe#KD*gM&ex;9(#3>qhW-?ZR3G$}Zm7ZjY|bW@yNHhXE_ z4(b+UEBeYa$K#EU%oRPJq3>#V_rQR5;-3XXp^%Y!YB5T4U?G%{>T}Pn^_(6L#O9LE zk62WeEz}B9VrbOFdO{%ek$Llb5kS80Y1t)3xsRgy-X`4{A84cv2@we3Na(Ij^|iY( zaHfnY3BDQqUvv9xgZ9I#oPI23+Xx4B)M~2p+&F^oODMW*^j^3f)N94~=u2PQ{^N4= zZ~~W;w$)(Go5L3LqbvrNTllFj`*%=xBtMB^Na;7S#9N+J(z7W=`7H0QEMEAUMB^3L z8kX3DKg-}J%>bj0d&E5@J5loY!tQW8XmDrVvB4WYi=mViK%5%?CYF6L^!0P_7@Wqp zs_8=`*TFNcr#}J65~e&V&jYhrm1g+*cRRUymH?x?G8$Dk6_Loc5G|iuLAQ?PFHF%K zytzH5?;$qUSG-R(4&9N4$6NmWGF-OjyzX`dz@G5a4aG4C|I^!VhdXcl<{W=gjmKR# zaqySTsOhp$3u!8s5T}%f1=Dp@PCSq>gdiuX#>vD3%!||&FJW(vX{s8;g$QjAlP`I? zid`Elt|b3# z^fFqy>>SzfZ_|yW>l=%(=dEjUq-vo&^Zni=qYDPrPZ@J<;^2Hx>GAI82Ka1PIHz35 zh6Is@-X!1Eac*@~Fs`H9uS}26r3IA1u~!TR6&XiGm>}vhgs)S`Xcrzed+h?3>e(~0 zF`iw!yaHMn4GHIZXEsXALO^;nfnhGi`gZ)5TJh;p$LZ9=UV2v&$JX#N_8d%9Hwt@F zPCYL(@~_hSJ|#Wye;4h)ub!te-}c%dj%ooc`#;OlhIr1j=XVoNG1V1km-3Sj{Y)70 z{I6Y+Gj=})s0B`gQKpJP>UQQwc8vBc{H%J@+sH%sOn9;6dB27hzgB}SX7#c*D=62V zGv~`Wl9`*=BAN5QbN=n1_{&Og3c+R@RM&RwDJK&BiAh0h5>mW-C-RR%fah<3BX6n$7Pbz9O|OJHA#;jO<0e1OWt-hKAog+Rx}1|&o2MFgwWIvJotv|i_ApKL zaNDZuv1S}A#IC+J3`ydf67!P`+=-3|#>cSoG0aja?KoCKQJ}mO`hf%S1@cmx5uzs} z#Z4TvSHbk`5=-Q%p-$x2yzi_iqXwwwzpBeFo1_hLYwgNnyc^}qI#>?Mcq4fUMCS0z zSELkO07+1R0E9h?!j)mS2rT9W?2OD%zI{c#rNhZ*R()6K{Oq^2`tIbNWNaQ!yjj@4 z$0=xtDkc>ZsaXDGqHl- zj%aESQBzJ`K+X0NgK~O_WCkY5?fM#a!r_3pq5s;;-ozL$z#8s1OD!65DHCPu?GX*) zIpAT=HmHF({GwB&td@9{c{}MI2O#8WLd&2RpM-e16PZaLmK`j`1 zQ81W!axBn7$LQBBWLiURAwN-Hhe^6a0+1;OM9f(4)vHI~v+I$W#Xh%0mVL@pl2MQE z{#4guQ73P<+{Bi|EIn0ifbzE`o%V58N`MNsGx#K*U+S6qY5Y;LJ=VXLg+>5 zB4VSL0Mb+hq)SWaSP-NOks6v{K%{p<%UL_IHGndfhr_j=4I3K&0{R9ia0Iaraa`|s(EQ3W=lRG@$h<3G4)R2W8E*+2}pz5QIKng(mEgJE>iUx9n60Ao#p!JOeT5d=J zBYCvz2Qq1tkthE1owf}O&s_m~p02I8cT~}Oo%*6L4fC@Xi~la1oz;;ce`&1e?VCu! z81avztD`f!8uT8gJyU+YGx5a_ zZaIu6Zy8i>_^+>zddC)ehD>g-0xV?mE)$OFE~Dtwc=jiY+=jsRwV?Nd&B@Vx1PkSe z>xsEHzs5XPepI0NBrfgia?8k$(ID!8*HAur=|a_XxKGH2UAb4^>u_E(Wr}0Xoiwtr z-rK0v(;3@WMq;#a4t;pWeI-5&zs7|LCG9Rq_=sK>_x>(R@owE8Td@>+lmBbfi1xfn zbU?}*<8H&DryFTG^$>z2gS@&cpP8#CeO#elLkHK_%3>q2k2jaa=8XtkDI}^7gF?ro z2SdtqHb7GXZey6N!f9JYRA~- zrzDg`-zfsPKu??1kZUm>KhoTOu||zby&~DXZ>+++Z{)WHj^h2~qZ8)^+Mi(}X6x8`q}85xS(uVy&x(Ufv?Pu~90=-%{(4ms%jYhJ)O6;vekbG`PBtBh`1&NdMs zOy)D3l)-H)z<=SA#U4>_MEi6V|1?znwNW@L_9Hle+&Dhx{wZ9Z@k36sP7i)AC{e+Qx_JUPc?zQ&qxIB@vmg0(*`V(n3 zwM9{BW%en5l`m|JDQ0G46v>7~6AqSd3n!|;3fqxw>f2KJRAT1$+A0>TWksvmf{F1X z<%&I7cZ*d?^l?_?&w0}0@)=G1v`64@5Cr^bfAZCPs}RvPr;+eFoXd&l44v~rFFnPf z+m@MN9*ybNw`QpC>9cs_J_~w2Bc5G)0)54Yy``02?>sbgEobC=a;?1N^#aFTsHcQy zWM!_69@t^r-f04P`=qApyBDpV2473H$i3`0E9`Txg zFb|{m5^3<8zpQJ6M@v+JSNzu-VY&)g=X-9yz(8=2vD7xM|IxxxB9tPGYaOLnk8+cq zS+FeeMsYoCy(4^`x}+Vn^y2R4rNb!45Bt;Bep*{Dn}^MeW9BV{H%TuIZIR%WhKVjq zuXdep-l3w{)LP?Zkzz`b!V|JdX4(HNU%zJU(K~%~st`-acz_Qf>4Ymk5>kovj15%w zbDNe8XOvVcE)UV^AW@7Y3H-VzO7^ndO(`>fdYEN;hn-QCi#kj3Zjy_ghC!uQ1+IF2 zB!o7n`d&mjTD0xJbIZ3DeW5xUDD}UApDwfrpd>*5~+-t$16mDyV0mOB7$KYNu*YnF@t8-7KG_pj z+uCWyG}oqVW2MP~@5NhHtv$2M+?1X~4W>SjE?C7lp$&d69p8waTv~CGQ#o^F?3~i; zm729zH!0;P&rR96j^cJ)#{Ewt8)tTyq@V5QL9<8v@ORx}QO8k2N8?M~odrQ`G z0ml4irbxx!7+Q*P;Gcg@)vHhQ{$2RaAHYa-*0UB(e8VhnDVW7=NjVKklInG9hdX-$ zLf}D&bhqA!7VjN7cWM0|>QyHZHxuD*-OF-+W+v~d+gtmM&`~42k?MoZ+PCXM_ zaDb-9w)b!SNr|hLIoRUKjnVoBv0Q|^3fp_oJ>MEE?6{vd2yY_=E!px>x)_g2`AZEe z3)+?Yii3>TbH7n;1y5p!-8)=Z+fb}uUm5uGGY{A93;U3e0n$v$FN~fvMz0p7pQ99{ zx&qN9(Ku_q3YTO$;it7vj4ett+EyaS>Z0w+c#)JrQl+3)WKW8tUXAX=MefR5ooBVs zy*;fw?qD+@OYaKCYTmVNoAcfEl=%L?-KJzC!>Yt}6E%A(wRzX>-+tfFZu9W*!E8b@ z%jbfIndTx6hmR|V^rNX|*8Zf4j1#}scu|aG+7<0S3h51P^VJ*59>GW(nUz^b45(Hf!hX7t8&`@`|L2ju! zuyZEQYhQhywY|Gdv68Qual9~lB#6|UiRNUPRU_ea z_$h6T*?@p^71(SRc~Tp$dAyX<{%W&P1%J_6BVH?WU#37BzXdJK`+EH6DZIQ?(t8j; z>m14MEtRg>(^E6IKt>zO67b*nIxrdKlBPio7~!tMh3CLgo~t&Nc5Q#%kzp~VC3uJ4 z?}QAi7Z~q(+^^4J92x$41L_1hz2W;hZP7R)F2^FbcWz~F@Ri8hx7+0B=dX1XXwRW* z8Xt%{F$!bjGIEo>yL;7!8}R5IUe5`~3;fS$#`R0GWC#h#;<=uUs@bth%~v0$pp><= zyvLckora!GVuN_~KE0p~pZE0zntvP^R-)i7{P?3WrVZt~uQQy%g~Zm5cwM{xh(hj7!S}91 zLq3kxS}wUtpUZJB#kYiXU8l#MbZL7MLtow5cBVe?=+fK`xt?Yh-LQJ9h1FDx zb{&H(9?e@XgdAU}M66p>YorblCFwPG$A8&l;iA@GO`GUvZVA6cdyynB-^b>$;$xE5 zkpC=#rGLhOe^v1_{M)CcH$dN*&$*hmCK}auI{AfaN_mvzCX;2E*YvA(%--U5p4h$> zyGbh5L}7e6(LtZ0+Ae63-RL?NATo%9cV-rsd9(oD>%f^xr9=0ZHx~kQ-m(_mQYe&` zp`Dz=zhpf2qq{S`$w4s8^=l4YJ8+J;6iqL?sl9sLaMUsOPSku|<%LNy(KX5_;IUK~ zcTf=v8U&{DD^p>HRCa#K)N}lz;Frw}&&hGMV)7bUSve_9|TQ-*@@=wf#BIKYGJtYAZ@;>9zwl0PEE*gr6 zU0{ZKQfljF`tFwQ@P1}2fziz7zjmn8^c|U`uJ~M#sl+Bz4=;C?GSdFydsONA_eL@r zm)97!yPl#F?!P2kry~%~`70#h+yixVhG24?rcwLi&!kUG zW_4CGD2FKOdSVh`!>%tbr!sYEqRwC8}5h@Hn}7 ztyn`Kh~TZ>H{}_nXTaP}T!h%-ytf!D>3k`tznp6{ryqqcJEO~Q`}~KZb#F^+or)Nz zMNOn}#r|w%OPz}f22Z&gR>h*z5?889CKhd&nK#E})d;!04jO0q2hQY58S&M0fB*#) zK)U?F(~Gvr@!8j(?P3gjXaQ|!$z z({Z#=br&Hpz1$AXthh}qJH~CYLwb+!eWA4Q%iReNZ$Vzc51AM0vVO4e!pK|Ky5qQ7 zbk%ZTRzKO0(lk|R+SoG5Gk7e_s8$eNv-gh5nG2?ioh^?ZlfI>4dAso=UQUfX;%0}d zX;UlRe*&NB?9owt@WF16xo0UFIz_j;1MiyN$qg|)rO<3d2xJ)3y5c=XRBTHLtlVpr zX|r8@im&@_!sES#KV? z3%I?{l1n@A^x}{}=?4CW(aN0*jcJHbjoLiHlLxo#g=>Kt{6O= zD>>t7XQjw*x_vb1MN!v)5aYZ=5Pz5FRh*6VlyJwJ@Of15Uh^UyebzGbXwG8hn;shU z-1;nFglt3Mc5x% zMSt^~VXc{PEj`*{G3Q;#GRZyhTmj9bJIusq&et5@M0CAz*kxU8^^vWNyz+=DRZ7h+ zWB8HG&B`|{_>G67QYS@G2cUE3b(WvTt=y=uwQTM z8%lrLkmd7t)N}K&jBDAsyk~6ifD^<2WU}Pn`z<_XrTy4pei^AVT=@#_M>g9Lk#JrCBB3wvrZtoF5}8(Qq)VZ__)fj@!Q{FXPHHn9{Yfc zhlX*siQys6C)3WPN>~oea?O*W=7w9N_bLkDQ2nv)G#Gp)`p37FI2^`j)yX8XQ}dw; zM4Uy-ZWoW{FPdykQQUT&(SF@+dYA7dZImm?5Ymm)UgexrO$_ale~4yjT>Ft0q&CcA zoHg6eM=6>X3Kud{Ce?eg7#kL>6_Q2i{jAnBC4uaK546hcv<*^Gf(qLiLlbP8mF}3J z4Qr%p>y(hk>Jj-Ts-*EAD`QR{|CYX#n@Y&yt-+(zyXrnFZ<#nZr}^1tdURutogbxRT1?3(3ohjTJXvm!lE+=p1(i$y18xzPLL2}YIo+t=IHy7O_fS1fXYbQ^L) z8?(=R?&4so=#(VaBjY$5|8!uE@rg~#K;dvRf)gEr?lB0+9ep0fiQQ{`k5}|3F{Aw8 z$F|N%OVX=-;p1espaZyO)5ON~z*{7!I|h*_h0`O|-9=qaEHs3jdW5;Y!>rqw#SVPs z9WE!o(1Y5z&Gd9mkYz%fxZz*pAA9mj_ZEwsOClxjbu@9y5X*AwP4``7O4%!nzMFa#Ia-+U~*(E8J@kaD}QyTV)^y3x--U>=wK(XPj zlH)E|LuGdn-ZOboIs2{nRLGI0RhwoWaeon|T3_GYmaLiqif+&T7YN2Q7lumfA?wq0tspi9teUoPZ#?Q znq&y5#GEyl&6J;=Fz!?Mq+TFvGm&54{Yq$wvG;ZxEOhUCB_Vb7gSnl1W0VcUQm~5D zO?*(Rs1OP%XRrpy2##r-btsG1(IYOaYYAt@x44$e?^&L%`}Mh?JJ|Y`DsRmF%Y^yD zWfsL+_s^X93yTb%DKB=O&c2bBZQK;l+;=w4NDD*bnzF|LpZzMLq@_0h4lqrBWK?o) zKKupQ4EsGRx;y&Rk-2^+vXp@_$?at9OnzitQY#rnn34(o87}2;IV95wd#tDD?SZ2Q z>HWs?dpcT;(2ZY|aa}z#r>#!6#NFa3D)G5GA1bbj(w8ib3jAe268&MG<`~8&f8KuW zi>v%28FgoCLj$POa)zbwYc@H16^Xo+WXUPqHzSe}TAMlAIVlZ~+I+KCRm!_bImv_g zj>#Mrd#8&w%DXpveziA7EL$PP9a85cp(#`xE$s~gH?R$5_)6Da5EgdMc_PfPCH%!4 zBwKvS5els1&KuB$&vWDfxhQT>y>w(Df!^g2!IPAN%iHMWzWuatfWC7=&Hj^8=b$0N z@HV{(*Hm))b0txiQ{Xx80Cli?P29OP?m8pgN*z*+s_`g@uURGJ^047^Zh`0*bqXm5 zVrpAe9AVB8_nE~1XpXGk&1$8c3&SgPVoX!_D>-M8+aKZ4S0OEcfZy zk>1sC)@n5BnsdI#W&rpkX+#BKJO75X0dWY#AZKd^?dmW5iFh}5TCD5HE-UAx-55R!k&iVJp zec1tMXa5R}84>odUX2G>34_G~4)iR9++f!K0AlBFKoY90%+0O=ivW87nSrW;$YRN< z8vh=JYrMmUS4!k~h2i6<7R=o0;rZ&FUZV2+bu}3bM&v<+#LP;+6nd3bBz!iw0%?G( znYkg@hBg4;k9|8(BqKm#w+^TX7yvZl8{nQPfObWl;dUT8>Ey_rycYD(54%kVr#pn5B8*B@WE zo$meL3qmdcNv*Nq+u|5*UBeyFk}B5%lr{zU-e8gDE+;cF2k6<6Lv+5oEm_+Df2N2C zmw>Q}ehfU$Kbrvb^iL}>d;wBUbFpPHB5sT5>6F-i_j4%mS`&5JN4MJ@!e0cOHFGq? zNfiXA1jxiovM{3lY*L7Q$~Ng6VCUs9y!GUM|I>T1A<9pOKi}K>{|xt^T>SUvzJI(D zXM7}|%*MMNWRu>H+2Uwlnrt1ewf*g^w({3s$R6jxrnlbeER^~`HPVjY*OS8P)(2>F z7zK#68uH;WP(YXxKD?%8{O3s6fpp$KM}nja`O-fyTwGo}E%InSPrE0+FY&I+%!DY5ZWSX6+Ya_`}^{*0O=$JA#xPVF2+~=aj9E{MO4~22sDI(0w6-kgH#Z~GQcKR z3}^|-rkWxCTBNCox`KS@`x50oTLq=P+TQhu7??OH0!iVAuq&anG~S;IJ^L3*||# z4q+NfE7~gh+zvVUxE={>ucPvX(bQ#m|esBnfa9;M&NHF;(dTp8W`9LsB(pEUIW0F zi9mcZTMf>?FNryXJh_>%ZEA=UrSHrBQw_(L-M*}BGL<8iKZvdmDDT9+q-EsnYJZUc zm2_uf?I<911~PZh$;BTE+_hs6U3l(Vq`mK9WX`_Td#WLvKaRKvVl1FMG028!6F7)_ zEM?tn$AS(?zT31h;uZ%yu}^I^N00~PD`zbWE+stR09$s1SLZs9PS!biU!wT*hc=%+ zM<#xXp5MQNY(m^o+{mQh4*j1&7D6ezX{eRz$*B}A^U$!wv#!`12n2}y31W9MkQs0c z2eh4Jqvw!QAlrn$zyBAYNX8te+kG3EdO_(Zz(hUiRI=2~oYy9ud-53gl@D^Z-<9UB zi%8pDm1A-P=DYeVm_{xlOaoCKy+=x6r&F}D_0fKpvP&1^b8gilERU0qy8=gWceL3!t)d>+Xt*Qt8@U_kz>jyX`LiFv~}297+)=>lqe!qx5^6$5J$k zSk%l45q~p>SW1~1`IiW%YLD}w>y6sIEC2Dp?L8s6JJt5$3_pyTJx+TNtaDf_vJVdS zIgcZXPWyvv-A#b-PW+Mggx`E{C4||gr?AcnunDKZ70YvIETBcN$2I7LB(59T8_#-WfSbtq86ZJO*1_i+-DVc80+v|HgzZHl>Y1svYL z3wM-w*i~gS+?ItaW8SDe=P<m2E))np|LiLcUrSweF{PK@e3aqRO+c$5o6rG zER?C2E{t);#8y!ey9tnj82ztn-4p^k^|0Q9GZ}q{4zHD`f!Vy*{gume*Oj91hf^Rcylcr_GPN z8Jx3RJIlnr|10h1_w*!dvGbV5$|7*KH7n?4F1@Fh>D+A3(RgQnGc6B5S9&->lV%&_ zk}W{TyT*-K;nA}r5lacBD{#ypof#3`0$}YW{&P~Q%MNj4-P&$91EZ85NVJ*6E^E65 z+yXNypZNd=-VOfB)jN?XuazM8B@cdh*mx0UArZv7-Se?S^(~kr9NPEd^^jelEZJ+7<(b0MwlTT9fmeHi2GwGNNYB?<|E#(e62Vch zGjK;W+)|4UxEb$>(|oIaWDreL8-7^1aY;E+V3@GD*L-zD&}@WH%?$Bf0i@d2TuM88 zxdp^O#ewhr&D2JH^OxL0+pj{e;%c0HlYwIH@|r}@WLMt9Pza|Wz=Q{sx%OpgM1SLNR8fjQMd zTOnQ04@!Blz$VcK2PYMJk1>vYD|$@q0x5jpY@IFSg)h@K_WgyN?Zey+E4i@B)SLDZLEHBJ+|P> zH}U6h$orZnmD>?xWPtWY0GBZz@S<{o#A$X24kDEiF;?id^a3X3nnwLDRM}5xC@{VU ziOG{_xD!{)ppFGHwpS3a<{XGA8Q6AC^A&Oiz3_i}sP4G3``0DdB{g-^{e~ z2aBUENuW~SeeI;wJ6qyEV1x>qh$(>BqrEgoL3b$%G=^yG9Rla|7{$MWRxYuKU_VT( zeGN=MOeV_M>DPdCg{9}R2WYg#*!?+|?Tw%i7ih)JOE6yARzF8?O`^k11-~r^<*!DGk*ttGga9T5pCgd$@)@XKF^<0-!eu47{&^@5N;FR)q~Y zGpZ1%?jmwSps!br;*UjHgk2g4#)01K1~`E!Gb%*j7%7~aGA2o% zocTUgOj;Ups_M-f9o^{HYNycoQmpOm&xiEno87y&g3GnG=euhvYRZVhly_OvDO({O-3@vy%jMBB8~3K;bAjd6cYUIxzu&lsLc8Ky zuUL*9i+S1u2HE1H)+YTF_h0=*k|IS%GDX?k6!Zsm^tTgMT}QqNj(ycNNv(v1^y~w> zyVCpV-pLgfxxL9IB`T@g4TKqVW@Rs4?46lcmrdPZTS^s_p-$jO-`qI&BeSfp+;3V| zcYzkMeBE8);$lzO-68E71p>I0r{_ApYLvoc+{m;~Z*B03c5GZ(E}wlS-vd@+O|3v$ z<(bDC)b9_|r)OR{lk4r&_S4xb-~`Y(yi9wn0v1hhNnML(iZ6K|@VK%?cfLu$nRZol zcasaoy9R|M&d96ZyO}ofkUa z`nscgzXWsPT~f6((FwnHz1})~SWRD;^{9L{?K~suN(qnHiltP|SLqb_Z=yx})Xavx zn#Z9#03S?Hg_0sPMDHzp$&!nEn=qwcE;R7j5sq z;vSeiD?8U`pX&OtE|@X1-fDQH_OA5l-U|<4_B(H9(_5a>ac1jI+_<)^HUG!d7Vt(1 zhqe~z$iE&4|KlYDvtZ~>Xp{Wj{5iIk`p93|Igo??-cIfL4e5cu?^Xgr@$XGearL5E5=(nv{nD5W%vfaK5(LpRL( zjC;G!dH?(DbN0vgy{`R%>lz1~-+I=w;=b>-AV^VO67TA*t7vFwcu%ArKSe{su0}({ z(7?I^-m!(Sn4zKJTA7Q9DLxSsqfvCQH8r;~K|_-YidM(eQ2s`mqW%8u+kVIgDeMMp z+6F1?58~I}GX21MLi3?D?wX2KARAM)%k{S4qF{#FT8NQY>t_0oQ=^CCn&P^|;tO(8 zqOsl!o=c~Ty}o@(#|kxEhf|kC%L16+&8KOh%?Iyh+RuFMwr9+f9prj}MxpqEi(`7{ z8KIh$74eJv{YYKmiPyu5Mf{A_7yK9c;sNY$x6wrJi6-^NZadtzK}Ul(M@sFY(J<}B zz;^Cl)xjz$BEEvPZGq9NGOK$vsi;-*)S7Vi$2I*+qG6p2(p;DNs|ohIz4Y$Q4;(>C zLgLs7FQ@TS%%Y{d?F!Jie!4X=!FW{%zl5?pRup&c($tEGo#{oGi1*vnt{#fk&iWH^ z*2i}v=k3hSQnQZX?-TD(Zy8=DS7itbRGufWbc1?IXF`;3ZxZK7b}(4r*+&Ex7eLV% z#2F%_RK_ye1#glM6L8SD%s7hC-sbV=lT9L`%o@xw3;e=&t!3z?JlTRhAq~$9w|AnX zw~9+gX_EpnJ@a|s z0~(hYlMcy`RuUvwqXU*Z9B+TDaeGRolO*jUDE6K#F)fsc{p)OaxN7?=c1)!gc#qJCz8cD4 zDvOd{t8f~2{sLW)x-ku5{E7~l&K$(;mfEDg-eM`pfad$?E?Vhl_s{1UkhcW;`j{1+ z`9xorse2Hq@9?0)bkbx+Ckk}(Y==^Zwn4iOuJ=NM zGsV&=E|1ap#(gAR5gCS5`6W@gacmNd-sb9U4tqhgiGTiSOLTekvc>4fY7$jL{Fw{w zD#1$7M!krp0%(WgWikqvc=VJTEpCTwMf>^)c z8<~|v{%~JsP{WM-fn7jV_nK09`t#6!xvw*xTgX}jJ^4=H#Y{y0PF`+ich*=|%R-0) zivov`Ldo_I<-1&&>9U4Ykr++*kb9Edj#Rx)&i2k2qT7W^jg3=WCr!7p=DxU2p1nak zQs3X-r#vnSvBI35Ca*rH_8J*A{XFve+6zZZHwW{^rvc1t=tnXAuc1BH;vg~xn7j5E zDa{1veu^BoT3?{Qh1~nhgfk-$`_kNiG!8TPA)^NV@QZx|t{+!i{2HdwaxY7Meqwh; z2VK1x&yJud#bxWNlOI7E*~4pukHnS(ZyWh*+zAh4o()5%`5;A17?4S0E_IJqV*V@3 zGvTMf1&@dCXuo5cSD)u_AmooIr*(ZRDTTR%e;jJWKr$pQr%3LEz8Y5AFU5T+InXp+ zc>v;csg{^kl6gSrIjaX@L*SI?c)$8{-YXo=p?>kk@^QTF?M9zeST08zIesE6z|C*9 z_;lqcso2n3gZ==Ue%2`|2>O|X!jFDd(2GeJQ~zaghwDs*8l~(v$N|oOsd`oktT=6OvYUD+yDt z)jhfU{`R+b^9sSY?Vq@38Vw2zQVn7csy>D0Ny_Q=$o8nR%Cf4;6{uyZWmjr%RFA1v zELk)>V=a9!8cQLz7-{x4_FYvZ`PbNQ8}oX>JZ&+v3Qy9WDJ?2>GCqicMV&?+uCA_< zt_rUj4~eh7SzTB?9qP*yd5U~I^g%#z^gFf+zcZsVeZ@PEfRhx7jM4s=&-2O!$DV4D zY!GkUE|h##G*j?-VA`^KD7Qa%sQTl!R%C&B;kUu0OwBaSY9|_<%Rjworx=<**El%G)Tj4`nEsOwB*G{|=R(bH*>W{Lo3J*rAhe<7)HHMG%!EZ5-g=f`QaiR+ zZ60uQlBHSpS>@RJ>rt6(s>rr(!x*l_c-_VJ#p{a>yM>Faiw&feq(P+Oq^B%Y8c$go zSh-l#wRtpMG~+eHN)k*|t(`{_tTwD!%k?b1hfgxX3gt?B9wiDSl2u-*q!@>cTa2H& zaMy{}<+((=jBErQOdX6KkZ%<8rQuWIKMJ@S&=sDWk(2S&KErs;?u%XO%9_Uh!V%-eO6OFe%Csqt?;ua2-J%2c62g3GzHHhrO@q@9^%xYXquy zbeMID>joyiOf1$8)ipS~I+0b|Iy7xOJiIYi(x35dE+yb8Z5WI7agIxsviyIgzYT1${7$u7+>kBi0nyOP$D5@Y6e;Slnhyv&jxGB}R^ZcB6 zQl_mGVz$KH(!KcT;n~m`zF(6;*0j67Z+mAbS^PzO{(b0czc2R26gd@~&?b^;`XSa4uH!vCk`Gur?Tbk6m1eTl?4a#5_s1J ztcKSM9pCb=I3_G=_3Cm|HE`71jR$TX$6amcD>DZ6`{|!H&0^+O9$Cy++^6!1b3EpQcq({S*$e|Yph@n zvku!kiOdl7b*;RHQiFv^Rb#cGBGV!^&GV6jZc z;`2$r5xG!o-ZUk6%{^@;?eKE~yuf$dF3=}8lQb_`X+LLRi1S@M6oaR>?&A#*| z33Lf~&L$yiGM2pis2iufKWwHiwT;P8#p0iDZl8W2?TZ=f(u-XyKGHFNPC4XpW-&b! zIr69|xu&v-}Zwb%%e7jtTX+jW2t#)CE z>}cfat2B;yM5XINfjpWbnu=6cFi~hKXLpnER6CehcOSwTA(MoD5h$vsK$f0I&#T&+ zZKsa;+PGOCo>cKZv}JP+TeI+G_8vd9`R3Vj2t_&|^YfsUr!xT)1P#SOAWBbw~bN0709tI)}8V5#)(E@Z1v6!BuTS@7}tF?w<;nut*dBGZZ;XA>M0nf z7)mMnr`L}ZG~D&p$rR8m404Xb%y=Q6sCg1;zUpGVm?aawjg@9&^Gc4c6qi?>j*KMb zHI|UKH$o1L<^kH4>e$FgT}d%w&E>{ACEBeVroObRx4&?;#9YIuEweDXeS@}hcZGl- zf5VR!;>uBuB-37bJK|w@^DCeqd?p%COy%Uzn80f+v`YczXz1Y8CGd3%e4(L1(jdRy z!LClb{OdJ_2I`wx2;cW;XrgFO9zRrZyR<%uU2knX$+s1t!^U=BC-xcc0-adqH^Ho_ z^ruf2QlCAqzAlaZP0{>|sQq1w6o5r1D;7}oznRs0Z(pEQQPpac{#}cFP!=hu zkJk|Xy*o(@Ku53M?{9mr`gbjg1Qz+!j`c?W-GIDH(_9$97E|zdElNdM1RHWG`kO#- z`SzttHbPD%&;G7O=O~L(iz*%eZr~B10`EfzUH;#-h#pvU?o^S?{5J#7Lka}mKdJCv z-TO}}{O_XlPb&QHqV!K!_}@k8pRVw~yP@bmUEzNUHGcm9r2h?7h5kPXkT|qOk_#Lu z$sxW;0(6teVozAPB-KS~*H6=#JBffk+5&r(dEGyc~#|Or- z)Vzu9Bw-NKyPm!4>ApXt-j`A{LZE)=g`DflHcL@ARNY_Bfh!1ayVb4_!gIRVY8d1i z<_}lm%~CdVV6MM|&gN_A_qw?hv|L}w4c3y|Bn`(OpYHGWiM(zYb;`t`Nou+C0LehGu-VsZ4Az9H=>cwsS!>LFg-_N$DS1NU*iW-e9sIT&w{8pC?_|T^+ zhHK4}<3HPw+n)ICwbR8=gp2)Hx`v_Wz7Xv+rJ0ihPw`Z%_3ES(n@H^WD|+ImhB2(? z+p^b`X#0)_Zq&uyRZv!08^2$xA^KvRL!UyZ8js5^cJpGpgG#1@%HHl|bU@O{9N#45 zw>Eo&8In3_?=WV#qds_s!@{Q~pO@1&_Zf3jp^0xMXC*c#>1~R~&bJg{vUvKxa8Cov zHL(Pn;}z>cdXe3l@~`BiYYWONr}a2?l+ryDB>U!-U4X6@P_SDzq^c#dn__qH{%tvK_IY5Q}j27189FypmWaFJCpe6EQf!Qt|z%`M7meA$kQXFfeN^?#b_P_POeGQQf9=td7GIfs3O# z*rY35w{~>L_BeHK@>PTsb78&3iUSw)&Q^|y-n+&o)IXUUom*Ud%D!E6m^nu@fXTE$c+(R+%Gv}+{T)!OHJRnJ( zj4yJwHAq%IYLtxBXVOUNxqs9>eoYVl?krS53N@Ct6oB z>e}48y(_r<^UH2Z!&Fq0FH&eAuQhP5yT$x57 z^dnz^XEzZ3ApLAT*AY>yX>;ZG&rXYkz;YCd(QCxh#=$Jc!lj{$_dp)%<35sbY>F#C zy)8*C2cNKZNO0JG^8gy>dvOd?Z`_G4KR*~BVd47ylz$czZczGRIY5u5U%?_3gf%1m z_IW&PPc|P0Y7Y)?1{z~I%q9F@E~7YOkBqID66|rCc94Qgd?4XNX)C)ZDJG6(jWMN$+Y#@1&lf$+h*KtE)4dDOpl?u z@PUNo^*`S$>K#8NvcM~AN|j9m666az_s?sV1`kqCp4aZB<2dZfU0cosev`KtQ_mB{ zmC;(Sv0jK)mj_p>7u+cq^m{?-XN4qMl|DHcD)xz<)ucrXEUs^XS4epM6T>G#uA$)-s`^( zbQVg(@<0|dCFrOzXmrxf+xYGPRG(QZ*k1_|0P{cA^o=?ugUNHPU9qXZs73v-KMM%; zudiJc6{f421fY~&(-$>u1LU0_0;m#9Q@sx+yoi38VM7>a9L~?w$I_NEF*~~WQa>3c zr@2vEFLI(rp8?|hpxp$Tj9^v{MUasM3fgt<<-Q`P~n-oxs*+Q z5tC>(`@m1gH8E+k=CpUjwEK*>u-aw9zGFi0m+^lJVNqKguZ!K(;+1b3DRmd|jWuiY zQ^K4z2mxS#uIrO_3IBs13o_>IA?%Ct_dIO4Sj@v)(SQ4t{sqYPy2B5{fCY!+*%0^%LN7s#C22eyLTX=Fq3YJp`kK7J<#!t> zb>xJpVO{9*XDdo82ims1tYfxK=Y#F!wn>R*FMmZR4rCj*4AFSHSn4s(ij<jjM$XRpo=dy|pr zA#4dgXLHm`;M4vBFrl|+i+;yuDg8=Y6M6di0^TVHuKZsQ<_w^I58&z7=2FlOgf{AT zdoRO;f8~~kDoyPVDqfoj(SsbJ9Xo-=K(Q;?r^jOGr|0MXO$%6!yUB>mH>6q&ynVml z)1Qst;K8^jpA?sFLz8Gzdr|9DP#eV()c1<`+BA<8U*gbJ!HXXm4;rfEQUv+iV&i@d z^p~CeK+)lAE0g09Hy9y`5Q#}1a!tL{&t7}8FT1d6O2E2yC3{p;_%Fv6#yZp92v7Z! zy&REbXjiV7+upko0qIUw?uTjO!0W7!Gz)7)_ofcM?Di29R8POe8CHQ1u(iutd_#L@dn;U*&ra*es-C;=gV0lZGI+Mzm)dyTV~a0)`sefh{?1;6==baOpxsdO z&5-H2-KIQ^yeN{n*}P@g4=}?OIkT36X79s^WO=^D!1aQ?1$JNlFlrIue>pNO7Gp8V zu{QzjB9+qH?PR3kaBs&PPXIw6yjAQps}Rv?-PFZamwCLH$o{YY^rwc_PYoIxsWZmt z-mY!`3;ggU^$q5SDoWrOVeIu7|&W#0?w>bhFx6%OWq! zA!q0GOPQk0%#DvoqmVfFfZ_|ovW%eb{8?2nRV{3PwDfU9DQg*&FVVydQor;~YQFH+$vYdD$O zuRigwC;U3AVgXm6z#Db5VOA;hD<}}bVNv-FTkyDbZe^7@XK~T`)8{KS=D&)PU&-B1 zGydd@@=G6?*<=8%du%hMk;;eYh7C5QdN@pTlY#cK7vJY)YA}ZRSE5duFGl64X<|7D z8+NmTU*+wPzaqU>{*Uia5+RRdBxdt=@MrLbdJ?Cef+M;9}%Bp@Cg-n$HDk}fs!Z3oJ zF=LT4@AsC=B~QrPMhT<=sZ0A|6-82A(69ZZq?EU=sP9)}Dxp>MT4WR^3X9%lfkx!T zUI_Dg4ymfk*}8XWJM7B-svv*rM(3=bzFcL_R8`ZY3+Pv%yfQC8(fSq)aPWfq+STRH z#XJt;&92ap>N*XSx8JhF{a1$F$cJoqmwlxT!A+XtQV>bL;B)S5-qX0a*7stx9N-QU zdhdIGIP3quP(crN#`0zP&S^l~9}K{VT2z6u`t-%=W)G{jS+cXkzr~HKeD`sXTt`_q)i+5*jmlXGME?W%rsKLHR1tIctf3C%zT=`F0@ z`hv5RE%(bQ?WLmIqd7-b+@yWyn^1(*=x&l(iu)iK{tA;S4DtU3$hrg(BMuaJjZJh9 zcim*Hg&@mw^JJ;HoB&_eW_s*+VWj!@sXzNno{N{B(PIeAJbSL;tFE=^hwD-4) z*wk{m^5hp*YW*gFfIEwlK<)~O+O>uFO*eN?{(L?{IY?g5(qUvyb~>neQ!i( zn_VZ?wmTA%N}ExqfE zhq5#Zt6S}U9}9#P2g}Yf{v)$m5|6c3?QSm=(`U10DP?cH45jk8XYW8ykB^s95y668 zs1$7f*nG4-2b*y0OTH%?r+A!vUjO~6OctPH**j%G%gPBNq7PT~PZ23Lvh&>@&0SLX zG>=YIjclBlpo`VH&uje)IsDnwwVhyIz>6oZ~Zxde|ra@JmNLN zU}wC^BvafUDK-L~f=MJN*+pwXW1vhMy{=)75^-&dr{E;aRnO}no^!6PojlYpOF`)P z@g~b+s_(^rDM~Ly)eQVFNWaQw8|jMKe87g#fq0Qt?56E!h7brJ8T_ORKId!tIZdF| zHoUh!MyWY|_*jo=9M6(GR`a488aAwLWvI`lF=3{O)-l0_1_E|`bu=6_Ti|Z-yut}M zyKQ*0+DNqv5=-x}qx_&K2?_(ExGdAz4M5>Ym*P zNX74|p9Fj`|Vd@p!KB2>j8ZpwfTMjsK*BC%@s=YKK^|K+36ZZC? z%VmX(Uu*@4lt&NczR>eIUVu4tvGQ(tet1JFy$ck?EC+$px*vDsv@uKXqi&j;BoMI+ z6bJz!@ZB1CgfO608dLK@z zW4qLy?R3Gu=P5Ibgl%HP>Uo$4rxtr}SgvGHpFbZ15CJC5T=;#DPwlVs9#sHDt58$- zN@iLS^s5jc`^pJyR?iLE`s^ltc|Z0IC{Rs={gpuUQuiUtNVBZ^?M6Kw8f>?bDQuSk zOrTZ@H8#zU!E(yKQa`jdu$vVxWS#6XW*(io+`|f)oZ1d|-TT7Wbq94Ve^i`5yd+hK;rKFD7>{rDpY^I6Wdg< zw{z2Pz+`2l>B2cU70dr(Vo6y2W_!7n&@NW!13z^=cawtT_q(^jITfyU3#=7TcDdq~ z4CL~Thf{tHN7<8>*R0qC7b@nZtAqd(B_10vpn_9!o{%34{9B9gM(3fs4CW_7KP43S z4nD${OOu^O2?Hme34Gob0k~D#7VX}}S~Vf6INr%ztm7*5vy-HWpr^Y64Qjk_$MJlB zL>&TxY~x_uw)j$D^U9H?WnsnOW*s7BSi?9h!MU4;BL+SFttu@l4+luxKm~)QT!JGg z=_|y5-^yA0gAlIpCF`-11CJuG>BGJ%bU0}t9QL6 zvb`aLMHloU^RgZu8K9)P27A8!#V-DHAoI8(PtQjx$Rm6X>tNd*)cPKq zfV-FrAkTJT3$gloD>a2qbiYZ5q7My#!wM##vs8qK?@NhW44amO5Krvc-~X2o0pIGk z24PaW5&Ts_ANy>-*jJAF^hXDiSSt{zj2|pfb!E#ZC$IrpvUhRV)MQ$7^Jm1Rk@!^y zv^LC_cCpD&pD#;V^0@B}NHQO$S0h>*o}fJb*P$s|g$1%BhWR$NH~qDS3h(L5)C`p2 zdxf^%mI6SUhOzq|ca?+eI7|*BLg6UCnd=$=84cbvOM2G}NinTIImL0A+_B(Cl= zXqEZ>X4GFk^oA*DAT797hv>m5K~Vv^QLYRG_=ez+L6)-a_xOC%FPwlhor${DKTb#l zp+4yk7!2c`iaUV&B0C#$s{5)X+ZvcQH3|RvaHw-jCh5L?aR3YHr3LskYTSP-Ma1LfRN|dnZ_1vf!kq4<@JqDVY z#jm4CJf+zbw^z^tnP`Dee)y^MRHG;OuLZK-VyOiLpa8CgE4ZDy^->vuljV$%GUe`6 z0cQ&og!{u!5@H5f(Q4AM`abRpRH}kLd$W~5|0e}%+JB9==1*6FvZAI3MVR@4lFsOT zP?jo(Qqsc>Q`{Hxa3wwZA7U;5`RV7UOwwLE%)KGt`QrHL0+}}! zRhDzAN1pt*iVk{~4Jwpbt&raI9M)sy(rw5GBRY}LLsfO%2fAL{Z7UnLzMeLXzj3Sn zLWpHijVaw%)=k4v6oShE74_*`ZPGTg|JpeG#X$gn`ZQ+VbhSH<^UlVn7W@@}X1`sx z0t7Z1&CeuOmxmYr8$Voj@vC+fe{pcKR-D?k3NlEiX6a@TcZbnm!%kFA;{y=9#*sU@ zUnPoOMdE2QZWO}G^w}DR<&&uI9G@r3yk$*43^JWh4(uVGT0G(kHui}Bbq6}&4*X?? zeNN>KVs%}f0I|bxv;NMt>29vR?q7O>hmt{zrfJ>;Ecl^K6L9<>nBa_sFs6w zQ&ax;F#1>N?Zc)3BZQUZjELTapXBvA8qH7gjcT4|0!Tdg8b@N1pS<9rQVq`0%rZfV)yM%?}CV5->E~6%nKxaqg63X<$+8e>1 zptQ>N3GQ|`ue3F6f5Bmw1ydgCxTVWKOXc*Cy1rb5;Eog<4j8M*mi2yYP{(gW#g>PT zL3`-U6;z!U44DG>Yz3&&(gcEAq6yZOqk~|ior;>E62p-I9D8{5c}_(R>p1psBkFe# zjx@VaOUn`x(_pSBt01`D+WdJ|Q=m~91vx`AMZE~x4wWACfFY(iz^EVPPkxsyLhUcn zofw}%pbaxbKfohll&%x+pv{~e6p>RG2URF>6MzbN{)H&w79vw$+>Y^N^`jS;@xSWk zRGU^!d04udsug*t(J*0zv^W9LX@ha|9jaT@iqpKLB-MQOZbAWlRvMM!96acoK;qo1 z>GNh2XKz_6Zt@Y>YQ79J&qvz zB5#fy&*)w6865pwH$V*>_wh}Do4oJZeZ3tppOSOu`BCHPCON5}ODFZ*DaWZUFCguP z-y)OoBSiB@*f+&T*Cs-7ymlf}W%Z9c)g9`>QYOPiE{=W^_iwPGN_yU6zsatJ z+WnsszgjICCNUHZ*~{i_$lF;z-h(MrCBwmlid(#|Rpe}jKv^ZB^8GDJdL|74l54}c zrHkL_QwtJ@KGbJ))QBrigAw{CtP7ze3v38d*a*DXa;3j+kYE8SBt^n6YPS4CldXbJf+r{1_m<$lCIlxsEgKX@z%jtU`2)v(5ogSUS zk$TwNJb*y5H3GK=SX@$fFJ& z|BOezZ6xY{G?f!M6f*gU?qv(I_HvF7m?~z2*)qTP2`rWBw@UY0HTC;^wN=p+Fj0Aw z@FU}T{h_tzdWqyoGp4ZOO%Lw6L2x5U=}T2WVR^6t4xDF|J5bguz`OyrF;<}PV|f=? zr7&`qtVyba!co@bd0!<@cL7CTf3p05jBW#Q3$Dbg@*DnpU}PkVJQ-_WBv~^Uq*E{e3~(FU#!+RxX96G0tfoKAvNtRP-E}?%uAMQ(dcb4^PKCs zD52q6U{RH^R5nZ=YK?YxGZ~C@-Lsa!UtaiQQUfr`>t;|7)Of2m#^Dz(Cu1XxF^fQ^ z85C+l(QsR@IdbMTD}aKdX)3XXnX*yb<|o0{vaT2k4$(?!1Y$PR>2vp2-NC#Qc4Dxp z#ryeHd-lMoMK^hJ2K+g@d%?<6{FibTO1Ei0##_~1tIDZN+E!HH68-O{o!Luy@%#%C za+rd47&a=i)+)eyjbtwZ@S0{DGcY%h4uSjK6u!26*^jq=25+T>`ofMnDNp&XsKF=5 z0D1dLPHKuCSS{&fqw?MxkbdFT9s942h^saYMlT8=e!W%}o6Z*4VI9H;C4(j=TuVSk z>f}gdZ#*&*SpU>wp?18g-ju*rGygu}xUe_y?D5+PgF%#l71twBD;KJAO=KXK%Li2a zr)5ZXuNfS3u>T^5S`g{E&xL9e#FrK##0JV(e`Nw_tIQm0KZG8bNu)VKe8CXY@~Tos z`h}dWhw>7>k;2b>F~G%Q0Z{tErD+h+I<fDK=B1KvbIA1#mN8xG~k z)0OM;_yWsmdsByvywLoe<3SmAxhlAiXU~}$kWt!iGD<*h$O>$?5@D8&ezGc?e=m~_ z2mNG42;r{Kb734f;vrN&RABXM-{6lZGYEuu*pbtw^_+^O@o}$c!%v3G!Oq-4$F~T- zGOvSCGZ-kak?A81bTJyVsA9{StV%2)0*cxS&_IjJr9g*&0|Sj=YOu0L&13$ZB$InE ze6BrAhP~;`0SrjqJVp0^EVDBsZ7+{1(H@KOW=u=mVC>Gll;ns%G9yq6M|Ft%vR&oo zut7k()HxGT5;tuK%ljC8pX1K`jpa+ox-$AyultkEBf8OsHnh3Um81TM;bTyXGC||j zkG3QpF+r_G*oPT0Bo9b$`|biL@^PN|!v71@M_|87(M4~Y*A@6$g_ISwEd9t z6;5P8y^9VcUx*^GA2*MJ?H;wrZ3VAcB1WGpiL>Wy{)`P^Twv*PT_|q@0D}j+U8Yt5 zd#nK5(#3iL;K;bk6o{ePgxeaZ!jTP5Gg9LnG5>gCX_jBuLxm|D?63(^+BIK7K^A7V z`*LXr^eB;R;yy2>qW$K}1S*|W8M1VpYUzTNWGTn9?tGnZKDvh?8fI9Kt3x91ZCIMD zI_^tQ1nx{#4=Y{VGTBw~(P-G*SnsNxWZY^cQoxNW=_u2SD(_NwM$|6oXFSF+Zt0LEj_9^#S4kP%#3RlP)DcC44PYwL?rc8)AoPBn*WA{hN{ zyq^W=v^zP{aM*z&gJ&D4Ck;Cg#hzxM5=H^Fu&VPJZqQ+5>e*dN`_}6<&PImB1zsrj zsed{)V&Oj+DBX|>sQOBd$hr9fU2ZL66#?W1zVjyJA#xC`?+v;1D+yLpgYpyo;WS;n z*~1)=?jnji;V|jj(t=X$Ta2S%(*l|W%5~xWHPD$PgGs0D^|rsL$O35QaMEoitjuYC z@W~gf%4MV4NL2_xlyfV-7fZfOyD05fC7gsvL1BTK%cuaZxb4zDs7C{{}M)aTOhovxQ*E=p$EpZNw6vp+%}`Xbej zMNlhJ_ys6^E@x}?SuH62OdVlYqf6I_I)cd>4goY>aZEkc@#ug~4SZ{f-DK7)iV#@M zC2m=L)+bWufKFBfOf^57F=qDJ(FK!KTQGTWn)bt7Bo#OL3b>+LJee3i*dT#R zqY@NzILLCRjoqi@J}B7g>KFc3NPEvd0d)dzFWY^)$%plizXi}nrtbgc>>S~ns++aL z??DmhZCm>7UX96hTrv_R5#({7B~zwR+fh>mYEKI&lDpAp-zVDd-MZS^a37j!KOvK0 zyLKN|0vzn~6&YiQ()0ia^D^wMz*Ojf;COaBRg>Fz~+P(9F_3C^XqyO`ufP-9>30Jsx zS;(qS_?)<(d|GHMZuf6%E{jK;X_a=)3CNdf2!u?f;qRz97= zl3Ct50j0N%O4nkO;c&pt%R8C!pQ(3whay$AnXA|=l$A>qC9C?Q7ZKG(0^c#Hi2eNaTH2$g~FE@>DPZs;^=S$zVa5-OJTK@189n;wfK%1ibPz%b;4VT23 z*F9G1;O91S5&ib^+q@NE7F6lvQ-Wy0hZgLFY9jbJMGnX=wGV*~I*>R9rl=|cEc(t3 z>xdusHerS6i~+jn>8)i_P{z%H?R9dYx+lg8G>su;4Mydj$iR*KFxp4-l@U$Wd0>vB zo>{7wEOPu!!DW5){uCk~Z}H~&$=6Y#*tYqcqtNJvdW}5quEfm$)X(|0dbIYRbbY1Z&x+)2)N6V!MJdE-qFgWXjGWyp)Ir1YpApX9MeJzSz$D?{ZBdDHn3 zN;qUfj9d>@#SOM5p5~$07n?jgzrI9n0vTNzlNc^xNl~BUuN<=%E8Cy*<|r~ocQ;wX zCbuTrzhNJm8*33G;C@a{$^4QbpHk}CNC*{z)~-e`xcy?_wj^hpcctbhM{e1OUbNCY zy~z%{*ocbVb3L^tVj*eu%L-*nk>?ahk@O;NA1yg0Bq`n__)bh!l+Duvd5zjxU$gdI zv677U5^Dq|nsx9cG5%qLD%M7V(1nwz&$sY8TtZkmToX8abX-QL<24&yl(UPFE)3noePL@9lC#4*S)F=sfp>{xdDQqCP4CWphaQ2*a2u#`L z`7dk{K!c9fgKO~ztP2dBI}&3>VN{unOqqkr0(vxmp42?uhV` zFnII5R&+b%=Hd6}`^=#C8E`<9@<{NAv{-4vJjZL-iV|t#3X_S)Q3I$ODt6iw^e=m9 zk3_D*$Da(q%(=Or@1GgLw}r?_*f*${Wz+2%hlmfy-6Vn`eG-gU2WB|5bs-0mfrTEHn}{S>T=8UF(Pq*sVR=OzjlcDp+lRe=!61oS{eD% zy##%=n>P?f_7{YHK7@)FN2&RgBo!OzRc&fY_lPn$9;XdG&tixTY<~~l6W7b==47hP z7^#xaDn$%oX+4jc_0H0ZH)=Q@I*(?J5G^VF4jQD%u@yJFgmO?y`Z%^t$hr8Iag?0o zi=gk5kZmM4L|B`ZJiIJuXMed+@RoN)BCWywsj%_9wVOpJA8gJqP+QZ~YF!z+F<) zBC9c@AgAv6gtBags<2vjhhp~JIom31tk5iM;Q8!WtM_AC(X=|SU*$Zq|2C10C~z~h zjFIX_euKBk(&+>xWV^WpOqZ&n)A zD|R`cUXx%qzwY&8xh;R7Mm2(reK7f|L}+Xc)|AD;&JPy-0UYf*v8BgtUiJ*BtNfKa zP^OA8Z_V(gZ*JyRIW*}Bv33@`foZkYA{XJ0T8-GF+B_{qYWctL647Ex z1~*tM*0M}(N)V>3wrd;XUSQ{^NVK6dIoEA7h8Us3nW@S700+0Xh`L3YOqsirTy{a* zUL-l8$dx_Z)h1%C?K@rm^lGIXQ<1^|!NjtdTdQ%iUBHp& z@P|l!^9_dKTOUQyt??Iy1j5O~8nfjRhaE_507&aZ2F38k)y&!r6FAQuN_t^Fxawu2 zcJCUzM@erRC?q2$;VI+kOY@(3;vy&|kDW>kT_!JIxPCS$@-6dLissZN8LTGoylh$Z`rk-Mc~DVo(W7)D(Q3>NNNyI`+cNEsvK% z8Q1tJyDpesI(rreiq;qP^|fGhv>6R>f#RZ$Gxan?fpW_B%Fa^P`@Xx zj^uPQ&9k64}O~}8^{P%J4BO*q_CYXc9Bnl!>7HjjmkP%gG3smGUiEQ^H8e( zjFDoy5GvtWle-7nvP$mc$3ZENwdD3a#6!*{c?a5xwzMa0T^g3#g?H3s2R<@h5C|U6 zM@Bn_cu5|1D}7TsK(gySPN-OBp~{%r15!xpY))Ld_7}1zpkZy*sH@b})uJ)dGsy9AedBf(R6_Vo9x!%bWj?}leo~@(3xB_I*ra?oS zxv>XKQY_=HO?}K$&D1}>0cGzFKl>eh(>g`pa$7z_igu5+R^M$e?`^Z`$%gd>B7Oox2j7N`aOt>`|$$8j1=V>{zmCz*eYa;wd1|n5B zhj2E-_itecaj(_T-@+$R-m_Acoz(Er>^9C=VW7(F7#J=O|kT%ExrL)BxEMOWi~+2opjX-I8ZCnSt~=)4t6zKy10y|>F_ zt$>YvoK1q0A=`$Lnt3sQXvHmH3@EtLP{}~V>2q9i=OQIx=WleeDiFk4nA5exuw~Z! ziRm_AQBbP@8MvR$Qcx@C)6pOX3OpC2%-NLp;E};P_T$*OQDOou6Wt5bk?k5!^w}9& zJwnsOjf&!$YM-^jD!r`4IS>A@FQK{p%;EV|tdD3#H&KGI4Gimb(3f{0=0$i#s0POX@PjXb#TK0D1Hi{y4%i_2hfbYU5seEheRtVpf~l!6~i(+c3)=utZt2Xv+yHug$9pTs?MK zLo6Q%U6mM^=`SZ?`wt3&#B)U#adAMq1=rYgmud9z*sULrkn2R6%9O&8pw-%c6AC7Mg^5YYEqw-gT3<`m!b4o=m zJyRB>?r^l^mI%F{Z8T<<>OFRqjll-Kxz`It=$zrq&#fYk zo+~Vm`24bXm##?uexgGD`=wD&PzcKdA<Y~%? zany22qd}y+k3KiDr-$=*7Vt&#qh3jHGCGb4R!CYj5=h>2h#_Y1|{FDI;Z7ROC zz#-SnquC}?`zQlj+j7R!I34C2m6&7}p7E9FF85{N3q&MfHKZt?sCH5Q=jl6`6HiZgfjU(YBW$v&vw_ndV|tG+wzTbq{sD>$S=(fz-u`JB;xFmORDY- zzr~F8vR2b8cOwd#I9yvm=rE%3;hapyEAmKhhw5n@Y-LE98KJ~wuh9&W%Gzn*`#gDdv{b<};hSFto{9U@XoY+`xqDKZf&Hux!@@W*V;SC^4bTUlpaKI*i!E%G_(_W0&@|iy&YpI0{CmZ6$j_SUC7ye+$Pf%rwfted)%>z z+_(rOIt{ZPVE5+8BckBi%&n?3X3P8WxMk8=@QA({Dy#-9mrp;Obdm$1g(+wr9E-W5Se`gf;{l6M(fMiPyVd#;D)RQ}eK%CwQ~ z;2$f_pP|X!M~~(8e>u9TMw7w04CI>SXPLq$?wyBZry)Q3{cdNXvDP`a`hl3Tk`uG6Er9*k36aLgNE&UxBGjm8q=avh}iE0---4UEcfer8y`fidk6 zoL)BX_){&wVEGm#uWIdt-!@FurTrbVSHn|tD%V7%aG#~M2cn2|erqbqPB zd++$6^Do9Tie_%PKsBKbC97F`9GXV(Mp(dPWzSopl_FhYow?N*C0>0F=Q7pW{l=SL zZxj0B@(Eli39yYCZ?$(%t6`AlY}$9-h7V==vP<&{;`)zfVMrsYu|#U-t_OJ?J>52? zM#`lG;xZ8vW>4I%>ayUX)|~1`e~d~9ip#{NTZ*Bw76+8nfI)Vs?g86zZHkp;Ep`as z{cVF;aOBt_wWPjCeI>Gubd6_%M1pJ+D(^;{eQDgPjGB#QVaW%XDTH(?ZF??_md_v# zFxfFBG&+n|{m4$Hgz7lI^74R?m<>N`&v^K8jSaij(VT%pjsbF$=qIPraD?VV+4ryx zoU7d-KAsX4&|W#Ln5CQMpeBYvzW3~2t0?`LrHq<3w11hjK1>^?A)XbAwBkV6a&4Xg zCGAQ~VE@sLNLsVkpXB~|(r1@k%ZoSm`@y(>GU$&Asj72~yAkJp^=03~t}&m`@hyjy zcLlWXI(Is>um0xb-ZrzIN4G8>E?%w5(k^= z-mY*jCu>nrevYHgTgOuc!Ql4#yoC@Dn`h6fWFGh~nnz4=(+>wDblM_y zi<`!7Ia*WFUWXx?G*UWzPJ3qhuu0?cT&0(i8gD7)hRJme94b0E=WfeqDq`3gB;Z2v zWc{NXNX&SIu})TvzL4ZzV=7+D_lpZem#v^Ai8MWCXT)ZvZoVJU8nN9QGV+$jqQ8OZ zeNd^H=DIPJtz*M0KAw4d!is>Bo>nAP=dK`T=4 zNE#Ba6fx#+dHxg#$+o}OaaPRztP#yP%kmK#qU(51*6Fq-86RMXl+CVKlF4Q*+gGTI z)(-o#WnJebX)l(vjAZOV3cSY)Jf{dtvj{It-97q_Y=;^h@iH~nPbdu^Xgmz#qsxld z5k${)JsaTjmbasElZZKS<%Y1{!JVT$!yiQu9k%ymS)(eKR>BA4O1JDEY<_Y9^&C=U zWj*x=m4vtkK2egX_4asd62``FXU{kNzQ(hOUp>hzgyg#{CX+q<`&(Wm|G1vt`N^ua zuF}Jth3iV(A5v&<;Jl64Z=wQOU72P>FT@4LNI!GWsJ!FVD7l0?+W>@MP8-?aWyDP3 z-&>l%BmaKQvJkyL|0>bg{|p06)dx;@H*uCmc1eXX!6_ilxL*>+NXX=0LhlFsJ_Cu_ zv9W_VLK%5|S$!|r<{xorZ3p)pWK^oK9{JLILKrm z{Ic~W#`}t<_A8^FX89DQ8n^Za@%EOqP>J(njNZ?g89(82k3R>prlMo& z<5k`jN$Kl0bX<+c98x{uAHJklr9IA4@km^&f>35l;K*d0rEGYwrvdezQQ4sI?mI|0 z%pkX8ua}cmp0%~~w>qO2*ERc_2XwiwKJbugJLI~XZ;6DIJLcBb$$8mSb94U4u8rGL z(|@A*l4&?-t4s3yW%!pk)%*t$OP*C;2B7bTqJ423TAJ0)^orqly|8omCIc&k*|1Pq zA25FGJSdyF1eE~dpjbb*B&gKto`4-eI6i#Xr4IciJ2@3#xTO||;>c1^AkkCnbN-M@ zu6b#_*W-FAs_OVFQ3(8=Z12#Ty9YZ533cy|80JWSoNEtIW{jOMvwu9&m3m3UBih_7 z2gxZ5XrRnp2T!vz3xAx5lhA=Bc)UGJ3|QnDQ66^7CnT1E)aXBQPPrhu zZatUWGarh>6~g<=d?;_y1j2eAo@V}e382Pyy|pEQW_wAMr3}bAm$-bIOK;6bJ?PM# zr<<(eHQvJxyR(yi?Kxf=lZOluCuWw4*qa}P9EV872&+I|VCxHOY z4I90@H{~m*zYh5LX{kCV&ku|B+umtVh9MG##`Ut7&E@f|r(DMYf@5?FOp{%c59QD@+Es=CR@~kL3FR4Gg_9ezwe?^+tjCx6xwEX@ap&R7=!&OL@ zk;(7((uPI*0$6GxVm6;2AZ~JBo{&rG!2#-KVZ)E|KK3B)bCX(ejr(@_Z4f#{S)J(Z z{h3bX-DJtN9D6atiWI6x%){UB0dFuKe)t_-GE$y;VC&A_<1ioc z;{b4j>^)|7NENp-wsvbuD2i811+1%oz>sI^tFnW951VxVd{uJ)Bcn8KLpHtf_^J?j z$9A@?x{w-(lk7^RfizFcSaldTe5S{3iXx-bLD$H7JvXt;&*67t$#HOH+7-H;uV3yE ze_gOTto%s!DDs7(;jL>H&#oXJ;zOWZzs9uG&;*|Ho7l>r0XeoQMJd551LB-h(DKi^vda%}Qr!3Z-N{ z993XTjZ4+xxMJh}YHK!xRZzo+nJ?=umuoAk8JptaoKMKT`yv z*`WTs|D0UNfU*6J+yhhLj$;F4p!ptFyeB5>M#OK`!OI@9;GWeW_5+D_D^DY03hu_* zWf*7D&7J*<7-^(97o?$gW8_Q0+yz%hu-pmk@JJUnq5XV95FgTx6Gi&%uw5@tm{kc) zIh;>GubmG9tn+Q{`-bbX#b|~^>Zq$87nb<&(rRr!Z(=8*i|h(xaSB=!9~P$4CT*$% z!z2F;G~;>?$#gh&_orLaR%e91o8#?f{rFpM`>#s3xJc|-GI&8w;!XaRWk&p2b%Sbg zdp3H;q$&EEFf~`=Dh=#ioFCV(wyIKsR$Qv+2LGgEPz?~s|?9|h@}%#tT_c%dN!FwJJu3+JjewN z>0SV&*A&!YF5hw`9kicnp*~A@9~L^*v+Y1||NFdNpVMtvzzor%n2auQoG)KZOj}z5 zdBS!heGk(NG<_|TEr_ymfpzZ>9aI|0Un!R)&2>=ORb0k2I7Inda7-Jy+qNZet|lvu zbs)ER$>ar~W>+9mS#0TM;U6e_=v?KQp9{B^-sGko{60)n5sx$KF#8N`KReuja!Bs) zTXuG1*fI5EM{FDE)x0N$`d%)@ZAF$dG_H~(3xjj}XOs)FdrgMp2RdkWR7z!F1LY^` zWytUo8GTmNhR2?m;gLq_1>o-IoxXh5Vt7l4;l)_O{pBr{wSS^;xm+AKN)&{}Pk!uWG4TAvWx?WzDk!vchb)~%;v5UTHKda&qZs2rOFc^=wfs_HvHWRD4oZA%=)VHlr#_@eeA zowS2yldViwNcNQJ@n4H=eU{Fx&ALg$I%@)8Juu1j-vpa~LZ+T|r(2DcA zmp>|t$9#4`sw7#N#;SU{yZ*DjQfz9|I1j^+A`ej4@n|gMuB&+zuG;L2)Jzkn14&`9 zPMW{TnxDf)aTZ1#>(`-$VT$uG)~IJVVXG-|NM@)&O~VDO>_UBCe>}p}?VY;HaIE!5 zORdA7w+bD!18hq4RXV(%^*QCT4Gyz26|Z$C3c zv9od_;WpWk6CdM#L}7_0vTop+O8TqsZ*2k0LItPpWElGHPICyCETL+(>0^M(oDr2F zSc~+aQ>OT7vs$12o(cagWotBOqLW7wpwJxFN);3K^~X(n$-N8ueA7;V(( zu+lZCK4J=)?I9UYPTe)#e+-22lC@HRcWAfL@s9ly>il$b6o=t%XqxY1&mlWrt7i}K zi3Xt)b?UI=e6w(GnJG`Lm(8&JZ28~%ss?BGpZrnedk&-LxOXxitxAP>}glEzNQ~hVw!t%oCspOxCU@7Y4{cQ zh8!3qHhb&5-#lI;uAX_tyG*{bK|n+bU1L1U` zmTlU>zIZJlt7?DEWPGH;Dwi=u1C}|{qh4Z}e~VA8LmPHS^SSliJSRXZQQWnOjH2eF zxkzso3yjTrgne`#5XKzNoCx83bxE%2Nk>7OO%QDszP2`%ldJ|+lhFKqPMN*0q`y>K zxi0f*Q<=P@dqRfqMC@V`p20%2doGrw;OX99FVI*e)^h5TuwGWSQ+7TuG^%yxrjxIl zsytWBwWchoJO-_m(Cu+;{GeJ}>X5(@wqKAPr8r}l;&-!O@c#!MAgdSk&vIJ}`XINh&p{A_?-OjgAj`lY* zzItY%sxZw3Cl%&h1`8-(-(rjS#KDUC_Sbgu6163q(RtCkr<_Jk&<52Zl?rgDbr=H` zO4G>$2k#PqyOa-pu>r!}D}q91ln|o0*j7L(_yK)RHt|D3e2M3yY~Fwle8eezr9Y){ zN`J7JR=qZqkZe@kW+=myenX>;VR{F|Ap07vPfNI9Z-e-nem!+?Bvhyq88v&;Erk~t zL>l)Ln~j+I=1%oiP4Z08Eb~BKnEXHv*7Nc{I`|gd_3BE6ZOb=`Zx>%Xi&ajm;W!={ z@~p>V_k4C)#8V62qpSs$3(F_czD9eztz4SWbZEIc!8hmjaA8xqoh`4Jwl|zDdJsym zush>}h){FaM!)pqjX#k8A_MioVcXj-Ig4Idf8mcINa$}SBWx&?ZvbHFZ`UvKwFnb8 zFD$c^%@$6YRz`1_N?^ZPF{IX_{jRH$IE;Ep-2R-mOyZzS;5A;X%Xf1}2fEA_gE#=| zh(0(&wU%wrxEXOTyu-M-(U%*Rd7EF;7e=y|TJDJ5v0PDyhO-1n;S&%!bK$Y16hI+x zKK?>F4f{b#*Sj4Q>J%|4U({?Hdo}wvSw=kDOp-1iX=96aeCEP*f?;*|@?B+Y)9x?Q zl=jc0FwJcB4pkJE?%aiN#Aaw1q+^V*#_4zJ(=AD~@K|s7t}7A<6ifperVRq39q4eE zfaKnya6`jF^P6e%nJ0LG$$X30^CQ9wYf;VG+92&^YQ5anOCsxZ%ODC)6!LB~`c}Ph zO5Kc-(5^)0r=sU9Ce5<1%TuqPyzT7&+Jr4KB{8xdFVyNXigWQh+M24coO&KxMEfKA zy@crRQ3;`(3_1&RcTqsAwnE^`X76Jp&Q8*y+^3Yvct_wd?`6F^4C0(Mgrv@+WFjJ% zwc+;u9$VvPKAW2>&Lf^GEUnvs3a#`?f<>xaokdhWC`Sv}T zGkTEXD{7(k%~j{3r~_AyPm(_AcL>wZK$4319KaJLleXO9n!k2N)g&3bCs`}VFg_)r z8&}8~Z(9i2jj>m-@1KH=pr_;WUdF@VXVRr>kC>5Hk_uIzMrvsWh2F5fsn3J@9OP!hXj2Bih?(gjmKRoD8}Ad{v97AK73FDTheIvU~3Iz7H=FTXUtEJ z5Z3aTpu~}WythztM{b+gpwlV_7TyVa5|cTqrUWHTDWk3^2ApD^0HM2$UMR5ohc$(Y zPT}8|DnFcWq-aXC zaD^MG0rr_=2_7M#$m`f1bh(LSQtl#+r=A#8yV9zk4uEe~W0nOog}b#2wP*OW&=dW~ zXL7^G;)O>fb=mxut~quQZd!MCnY1TP>Kg``$_kxODk;KG*zf?!@IA+x;;IOl(uUHG zcd@;_$jMG-y`|lB6XJ&U>ZK(>)sPvLj)DiIc$0erLJkOgWpH=iIMw^qd4u znNry(3QuINy(ho6>-n*Y7Z`WCz}be5!er43T7n|k*6k;9COhkJQyryyQ?`*5zvkYd zA23Q@{BgZoz&hIYJ8gwGK2ul#4NYH0jL502ypH9aMQ_R@*Flm_#H1C*adoqZQE4^@ z{y}T*u5<6kBng9Z9{mrLW6_e5T8%}l&D|ckxBM>xW$^07lx_1&dwvOjl*0?$r%?Zq zJJVi_s-^l}Jp*sFj9jEw?KjdF@e{NNNdeT=Sj=ea$>B%J`E)u?*Y)}?$H_6|h>&{7 zajt#IbHwc4t)kUX8O@B!AoLdn=?p9#%?(R8X;o;4-K!iR2;3$2?&b$QswPgN*RSy) zM0W`e8;3m8V0`c$XR){LmA+_UAC4KY0I^Zm0q8R0s`u%w`ZDiy?9 z``N&-`qUfo%O=h>K{FN%swkI@`qiaSCRLizhnxj%XQ-FK<*{7a%5i2`%R0ZLJYRD4 zRl2Z3-?iFq5FKG{6a&H$r2JH77TJB;22#86h*;(08G)u7H5FLI4L*xT3-{D?-_dkhTKHUvbm+Ag=iSweL8I*qINH%rLM9`3yTUfj(pauiqF!s+fc{1ye`3y( zWIF?wAbfW6^l&}4_kOrB%uyOpX0%)+N%YbLZ8cpa9##NNfcy7@bqPBQd3bz$POsLn z{_f^R50&K(NzgnlxNWUTSiEukPC|Mr@9QN6x=7{^Zsf5a7OvAZv8ek(4i{m*M_ct@ z34HM3_h7O`TG9kQQ0q0wh^P63xjRr`0atY7{t@&nseEizr&^x**|co9q%~P6!B(C85KqIKAa;a)SdT3X-FEQU*t{p-b_I218iCn} z@4sK%^p5e}K3RND_$P1-=omA3gyBIhDB0f}$&&@=ZH_p^F#c%<*Q}YWnCH&zUM@Ge zBHy2gGYO0C=x$6|nJ?*FS|&3?ZL|6lcM>=eTdk37ua6g?=j*?!S;WtBV||TVM?dlS z`+obitQ*`(G)@~+ib2J;w>Szy{m=hg^|pTLPAm?NYW-bUa5WnB{iv+ui0K$L1z25lQ?OTgRMTBwFyGt_$S1G}fiY)v z{ap;ww}&HNMuH2q5LxdKTS>&MeiI)uOY)-|W)~QcRonjU?9MIYPC>{zfg65q{>M2t zfN*Kh=UBxEb^>bIb;GhdtoHUJH=yv5*bo$()~rkNMC?7_8#p<9pmQNPxg>-P<`x)x z^!+{=Q?$wmc|BkUNTg&vj^9IbB&KoUEc8!D@-GOkL*T)$u?(NsySN}k%!~G8-hdRt zJ#$BR?sBVk)>39{yXBYm^VbJ+wuGF&%jRZX)>qK4QXI{bj#ecCiyg6L`94@}=_xVzrR1f5knyH6(cYPpN1+S*? z;i-t#13#z<+asja{=Hr#dMvgN&(0Y$ zs;IZ3%<6^&ikW8`6WI;IgZFV7{3~fnRDIDK;-C73t9Y_^DNNM9;iQtr$v*-W(TiUa zhf9~QTNviMEkD2E`AV~NlTtwL+@jnarh?iBBDoEnZoQUbCaJ5d8>0Se7ok{xK5>M+ zu*U`=@2BeK%VczSt9*`U51~K3o$uDi2)qP*i*wS8^ahEp;908FoJ?dF0Ys~bz z(oQf3$%bpNsBgks$K2DXf}W!a8KZq)3}(ag;_TQE$;wxvSMdcWXFj=u8KNe}Cnz#u zZWP-@o2c0ZNDULt(#xRcbHa^@J=E<9d;%ru(T)-hp%jpYUNsk4<;6=Cf2$_i!EQ=G5QtwGh&c zF0YI8GnF>KH>xP!FE#1)uB%qF=+7_O&7|L2K7R`#`lH)=7UkX&9QYIuAFQb0E96l^ zF?LCCb=#XUZtDPjQk9>E;57R1lOMWX^5XWa;EOK=B3#1draqqRk$Rcj0${K#l0q)h z_$|Y0yKX}>eqiBhHTKZAMRJX9>wx85(YT8egUP5p+WfXCv%h_;=6|YXq4!Qke_<04 zndy56g!TB4EVsZWvL_T2)B^@kb60+f6y3(7(cR*&J#_b-04y+UZfn>j^_b+AMe&l3 zKrUE!yjmYPjZikjELv)^4f=&CW~iJ4aophQ;%pmtqmPCCifu1YOAA!mF}=YF@x!pj z%#_1`9vm}HL`=ARfdR$HMa?~)qY$fi(qnZSV4G}3GF#WR;c)eu#yckE!b|+QlYY0# zO!90AO|LSD3c{2Zws)LEE1pu{IvqG56kFzh_p0H@X+h#!aZ>=~`ju<9KMI@bOoVN` zP?k;(i4A({yPEHu`qKL)k1J5UReB(o`3&&o zTLe%l8#P+(u?-5V`%$87WG{4QmSD{>i}keu28sobLG`av*s>QcUgwa$ z{|Fq_j>|pq6_yRru!&(1PmHzg<~JFs@Aa+xrpv2i+~~30M07r;HZU z$?84V=Ksk?aLCXIDE@b?wgFC6O}PPLWy=m=favNd1+&9Bcy>Nbb;ifotJF zDxKeyWA=zpZkhctP@S55th)`tQT^k;ttZcU&XuK1iXP`~oGCof*r=b}CRU+t0Sw&; zO@AY4EF(%`i(980YOq6k{;VW_!fn&eivwv=WL%#E+_E|E(u_gdB1QvDql`2IXX{|I z#E`X+&S!+g_Coz_Qp+k@^<8DV(Ie=CBOu~KaBQdDsnQ@ZB4m}R1?;urgFh9!C~W6V zwAM!i@AyT9_Bs%S6j*3Lxgy23Dv^a(^4)h3fM(j%I27!QQ?WcjENF(3=1xXbUb|}~ zRq025f*6@VG{|`}@#^}qoFD{MxRsg`o?`W~cu$%(X1C}OFh{%7=l#h-y^Z>F>FDEv z@_hN4`dkv;W5PyBAPJ@Kes`&qD2a$U8kS)^oy#qgp-eD4pNUhy<$vsQt?DDBVR4U4 zAeXK4u)2%SMo%^47e|;I1vr8KZi{^5 ztd5iarJap)=3_>G{tRq+LJ?7n#W`5_bbr`2KYv1Wy3#XVcjwK`kP?bs`*yQ7pOc{& zk*Kkloff70xisi>?7`afy(q3f2!OUFeDVP(oMc-fo^my%81Q8jDNN^MAH{@j~twAYEsSh zb_JfEMCwqZ@(?j2we?e}=4~GknQFW7Whb^}YRp*Ls}71Fh6>Cn-=@-vy#FRw#Pr9l2^X!nE~9=x|11nwwx#s5iq0Jzc2KZ@SkvdbOH4 zCyiIlx8QfDNYwCaYFk|&xy$jbKi(y<8>eC3k0byi`MGy)0{3w?>_I~&lEFO^kB*xagNJI zgT_SfhOfS(7Tvt^gm;6Ls=G>|ab+dL4!0-u1sw<|6GLvziWVAeIr(D^ouQ@n>PDM( zH|?Pgo1_k-<4ypsZqZog?{ubHcgS>Dx5w!^o@b%u=^&=<{UMSml|G4T`%C-JKZcN_q)-s{81h+aF&qBxp(fJ zkX>egcQ(6`n>UZR&$Ys55R%0a!e-vBxg1ivvq$45c{%yLxR|7JhoVb8JmECx&tb5% z2%}FsYE94Gb<7jLEJEWrNDv)pUr-DyHOMu1zISrx&mlKohTbA}l9^yFq$~WgJccbp9BJ%I!ACsn&PVP+qcad8 zEm}e#@~L~JxR4RWNU7;4u;-g>=fz?|=3+-xrW~UtEJtFdhQSMj?2iSk85b8A+x3l` z2rEp8BPu1tsT71aH7K*4XT_nOS=i=;tJk^(N2#Z*10_uwTn|p=0eS zs0@4td8A`a!*D854)3db7mZKOJcgu4;3M^qjGUwqYKN&Sq-z?jPxG{kwiA;!wt01( zN&(Tm^aSCpnNn3gH#HZsf`%s-TCe*|xAz=kR6Y$`~NVXNb>oGZ1{XMVcN!|UsDA6VsAnw5m= z*k377o(ny+RmMKoI#}rsW)f@APjMQFytJT&IDwa|Z?2meNVdADAXwxBeb++>``uIC z?w?ZT@5H#OY!E+zek&-pJ{w}W6I~pDHR^re^qi36y_6U6nwa*uFVhYlo)n&f%oA-j z^k#@Eufmg;Ns!U&Gg{{HWiw;1;_XMG=}ETsp)WpdBXPRSpN>nJ$uY=;Vx^*`!BMmh z(3S$1g)Kd1>_#Zv=z&V*L^S1wdmt`GlXGK8g?{dnN2t7Nt!j}aUFEZdhaDvFQNPht z`l?&^*>&cMSxi=~Fpn}A)kiQ_wW-}-FaalywjkWB>n`E(Us`aUK`SDO8_w$d4QTCaEEzfKbG&D{N(7? zmR`IsH`3!yzd`J>|MT0eOLs8MC08UAfHecOQtNag1-v<4;=4=IsU9xU0P4Ff*#V{M z)YX%meKLCCt02mU-8Xx)|6Et?uHUb=D^DgSQI4lz%ay#4bjvJV(jLhLPR3W7P1_`g z*zza$(JGoI8AhUwz}tMhMk9_s(nM=?l`qK)mFV(rZsb*_g{h02C&ldQ`6MJEV>kDe zc5ONtqg&6avyW(|?Z(YUD zpC^o`dX#a@t+nq9^YJP~{t(M^m^eO5AJP&}iU~nG$Cfj~Z>@j)B;aDW^y*U{L z^yqVS=6*@LM=AW4im zROnE$Z39A?A0AJbXN!Y?uDmJ8P7()kxdrp1`~SFk!=m4WWHbUd$>nrz9UGap;eD^d zzcl--USV|!#AgQjqx!JOZLDvs-Zx!|3hvQjzuk4K@}Ql=fOv#3+Gz{W$Lewr&j#IY zbIWH$L#iduv{8|TH@l#?dLDmA1ne6bWV(%DX&LiwW> z?x1$fj~@xrh4@LYxTI!;<_S5hPLGH!I_nCu%e*T=y4^u8K8W^?2 zUI{ z3dePP$BL)=k_4*gi1XEV{fka5Vt2hi%1>-2$z4(3^+aXxn(QJ9H#Bs%&FepbfI0-# z^y{H*92>MRXBb)8JW=4mVN_)^IpVPM!`2^RWB2>l(vp!tBpyWedVyBXHVjc^KT*b@ zTk(PQI(>4p#T%ZBmpWz%6W1vxQ7WU)R95l*t=|o#B#rJDb_8&7Q!;7(hK6WgipL1 zZe^10DMwP$xyTuXZx*UUGs`=+~|w6n(X)xqy;LQv?&FAzE)Xm2d| zAlrV~2Ovq?VwpDv^x7OY6#c?lAw#tBi1_Z zS`?E2@dw|Yt`QK5URTgCk^Y$_8xfQtQ>weiz&PtL@t$31Kbqnf@mizspKOC>XKjx# z=z?DnIPSO2JGXLmDrW4aLeKp@ZLlpnSajVZ@1rfdLZzbAhTYH&CTvnC-iM$ z=Qk$*KM#LPj2*`#B+y!Ag&|elFlp=%1>M_SJ73Subv0kU4FeUdv(qcPnW6{?22Fu9 z>mV7GzS+>JwP^TVOdGmX*B)zc@;2WAy;#Nw!xW`BP1n*nin(uCkh~ssig$1-Sr`4r zkS04}^_CgFtt&mSE~?Vj*)!pHnBPj8ntrhU!hEXIvJDdsQ9I1voCgV^%YQaHT!B}P z#Hkei9^G3*glKycy76A~k8(LXA39wc3>!D8vQpV5{L#ICeaK5rgl`^{sapJ$x3ogT zXMFn)avT%r$G1_N;5S;J8|E;W?WGeEPr-g8&}U%xc{%Mxy9UGddw>NYM~n^E6i*i) z0;|>fZ2fX`*_#^^=^eD)e&pZ+B%QvE6E0Zve1lSQt1?=kZP=M84mldDdHFa`)3K#* zwRy-|oBYRGZSr&?#&~m@dG9fLmz(faaldG~cGA(V&ynt$y9+cu@jK?EC!Q<#MHuy~ z;)RjZi_&4GL&nWo$H6pcG1RmLn5u8iODr0j)BR34>IO4}uS60Y0NLp)j*y0h>?1Ph z&kr`VLp5HgW6DE+HK=Qmk#t)jNsM8og#v|X{z2Wme@)GrUj*Mr&Y2$^t1cZ5OvQ@2 zHNz?&AKbY)FZ{AxBR&1=s?71k;p6p@T%~#R$g0?ILjJ`ilA_TgF}Jm7hZ}v~KlIB! zZk~wu_R~~<#Cm54FQ{>_Kffn3ZuLVB`6ReI_&q#v0 zb@?KA)V&xwnS*VwI~8Qclv2PE0k%d>0Ls37u8@mabFO#dtG23S_u-`^yxQd79JvFz z_oF#lOQSLUREw}~-wGZAO=4|iU=5X1My@Cfq-pU2U9NYp{@FSA8xej+#0-E2Xs+nZ zlTVum8@?@*V!-x{R%D(y@G9D-5?DBcf{HQ^Yc6WHr>`$|QsiEEt0i%oR1X+j^F_ZEpAbY;8B)Ul0A8AL{hL5HF7093h>sNYhF(~xU7$l>lt|3 z2uWSrPjC}W$LoWb{NFqVwA>ODvoM@$Lf^I#4P5R`l&5JFnPVkQdh*XkDU$xNm2&c(~IjSC&aBYik%#^1F{s-6Tq zsBBlfi-A(F-o?@a^`brGgO}AmzdPeI1gDW>5e(!$%`MVy{iD-=(=aJuckDg>$Hf1m zU;iAa|NKAf3LuKFxbK*$`F9Qdw{C#%x%J<_Cxe7=_C<2dW(XNQP44ALI-zjKTGdq1 zzj7}BsWt36xUa{gW*YyuudmTG9m;ruwCYdpUckxp#hLp8-YN@r*l%+@mm`CH(t+wf z^(})Pf(ftG5f1;iR&x**717odO{?`>vc&(-GZRm>Sh1}LsTBRsANg;s1%FDt!~r^@ zxC~|gQ(yo4c;P-*kb{R0k0-Ej|6k|!U!EHH9k>2&>mvWXhyUKL{~82!+)Q&4cW?a7 zXa0S?c2F|6mOd(Tp#D#z{V(nMua9KJ;0)mF(dd6}iT~*{|NdGyZil{nKE?TeHSG6r z2gF_GV%C3e`+x2zl{}!SeXpz3`M(-=Mci&xkb=qod)xnJgGGTE?s#cg{GVHcJ6QkQ zyYWVkwgADLfUV@aO!0CN&Ge9ii(RMKvnh7yi;ZarvwNJ#ZkTh;fen|9sk^f zfg7}@O=%nc_UJEpRP)yj_l&Fc1j<8B z3I-&Qj- z(Cc3Q$N;qrw+4e>=qPdANCyUy_<(s8c3n}%xgMY-AOZ<+aE2i9Qi?Oz=hP~MVLcd= zdY4?D=XFDX%w>%Q;<6>~o8#jJ8rfzV1T#iWuPS_jU?LJEKmIbeH?8(^f)R!z2%PbU z%sg(u;bol=DEz-0NvP+56FZ2NAY^Qo7094| z)f8c#ij$wkQEFJloFDHc=W(SpzLp&03XJ>g7fQ0-u8a^Y>o?+t)-<0xP3Pw^Z7x*q=D zh4_!(r1YeYuYXZErh7*8lSQ2^@r#Z=GAlIcB{f!zrDAYO2{yUUlx@C$KVi?n7cx`( zRt`OoB#?i~sr43GoS*BgNiKhvz^)Yz`p!~`Y2%v`|M!eg2Y|T$;G2_j0utjlNd=YS zbWNwoL}n@e+}r1G##QI?0K+kblek8%f$CFyn*fKC(+4yPUVvH|^+rHJSJ>zGuWtT@ zcR^HaYH7C*2abVH_;G#|s3W3v1rtQv*3=t;NN}k!)NIlGkpoTMv&$1hxCO_5h`O||*tb(_^p169d?t|ly z>D(_xP)KDMNmC%~bb;-PbGXwr0A)!8?(&q=r)# zEdj4@13~65W0z8cW}+T_4=V|tsV)m5qn?$=r7JXv9fl>QM^`~jkmMrvlfPRL0rkh% zXT8ZN?nHwc;I+z6xp8-)T}CU|&+v4xlzWn$>Xt${5^dWqk&9Ct3e)h8)w^16f&|AS zu8)i&stjr#XaM_{j%;T5!SkN#fm>0N0HKKH&!_NU>F18l}hvj%IGDepP1zkD(P8tmO0h zX#Nby2;Sx@zDgER?{l)>U3o)I{2_mNl02i=-AOBlz}U)1PDiV&PF_PYNJZph*x*Z`|0lA-Gj{W0p5IV%@fgf(0$5hL}Lodants)%z+IA zqAVKa|Jd8Q_pH2lCC=onl24xVUKN?#09flM zww@EK$v6VQFP3wSp6>~r3iB&|{mK-u9;o)%p6)$NOUKgEOCns5}H zb2ax>lJ6cw=wEzQ9iuk@ZupI=woOo_#SG|(``zUeKLBc>2r_Diyi8MYxzO;YeL{gQ zZ-ex=@&Ma?D)szDK@lK;dr=8Ijrys!Cd52F6ya8~V^DBv;@n0!kBNH>(D0^f!+9#% ztJ~;e-4w_k)h`-V0MKY`1`v`Z?mSBNI;m9AVWr_|7lw!CM0n6po)j00dEFW6>F4(+_yv z90Jt!Hu~ATNODH;$!Vk`{mgs*!!!<}K{EJgB>=Zgfs?cN+cN}MKdc9RI4kr;AhcnJ zA*}|KRFqr!KfW=}==k?tb$4-IdeVFl-pU+Z1x&KXu@yKIO}zmEaHmxwQp)WgtQ42h zrmtH{f`I5(i+wbMrZ%ZuBwhT=k0Ur;k^0E5G5~>aJ+{qWXH2rPo!fd$U>LAg88}Mk z$3n=N7{4hAxdIlB*QHBBakfZ>wg3PX*PZ?zdfO$;^8}P7c>!0`UkWmGtchQLHG6n= zywIrMhjRh~Ta8<0`B?UVGMW7Uk3Kl>KFoM6B@Apa%WN5(i=7cd#2)sIwm{ILn?mcC zUc*?HENP0QKdL_sDt40J$}YkH7`pHT9=*@4fYREG!-oWuON5d67a!ORf#` zoYt6EyzTq1Gjo~vH>6P8m(Uh;s$UquUg;m021GJKrvWRaswt|E!9bgSm?8&6qA_qM zP`Rn%4^DtLA^%-bL5pV>2mdOFLLaKH@`ChsQh%zL$Yu+$PwP`Yt4W;Pb!>fM_QnBW zsx<|6#yyw<3a9S&&GtUdzU5_v`WC?maMcqo zhsuH;N~usi0*7Ru$UB?wdV-(Uzzu22_Q^S@Q1>(7-t}F+cH3r9@}da`KG5La-o%x> znN%+@@jt6+zBtELU?c!`eeze1;|#I}Sfc_k*ex9m|J^7p3tnJVH_CXtP1~vT#W>n@ zgj1uoo*840wpkDA`?`~HnK>%y#m}r*y&sY16Rx=UwZm9}M#m)e%->y?boYOO<811C zM?`GRe1Vx@Q9IWTPc%h0&Uf}1)4KxJ7yAo*GHju-+X!L(o8t1;YD!kQ$vdI9uM?D} zf|?1!0FmJQVbU%5GFcGbW6w5#!r8V;;!}I#Ko>QZ2v!&BEU(9~!OgZvmhju4)y*Lu z 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

nV{81${^Xi7)8#PDALm7b0~v5J=eP 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¬`sGiO59L6x8Xmy+62|a!Nx0H&V94M*PlS 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ⅇ4BCbL-J|xv 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 From 84af1a36012cc9fd3bf08b6bb6be810825922cad Mon Sep 17 00:00:00 2001 From: Leem Date: Thu, 25 Jun 2026 11:00:50 +0800 Subject: [PATCH 2/3] Split code-structure doc into overview + ChainBase/P2P Network deep dives The single code-structure page bundled three independent articles (each with its own summary). Split the two deep-dive sections into standalone pages: - developers/chainbase.md: ChainBase deep dive - developers/network.md: P2P Network deep dive The overview page keeps the 7-module map and links out to both deep dives. Add a ChainBase/P2P Network entry to the developer nav (right after Core Modules), and cross-link the P2P Network deep dive with the operational 'Connect to the TRON Network' guide. --- docs/developers/chainbase.md | 218 +++++++++++++++ docs/developers/code-structure.md | 327 +--------------------- docs/developers/network.md | 93 ++++++ docs/using_javatron/connecting_to_tron.md | 2 + mkdocs.yml | 4 +- 5 files changed, 320 insertions(+), 324 deletions(-) create mode 100644 docs/developers/chainbase.md create mode 100644 docs/developers/network.md diff --git a/docs/developers/chainbase.md b/docs/developers/chainbase.md new file mode 100644 index 00000000..6fc82776 --- /dev/null +++ b/docs/developers/chainbase.md @@ -0,0 +1,218 @@ +# ChainBase 深入解析 +## 概览 +众所周知区块链本质上是一个不可篡改的分布式账本,非常适合解决信任的问题,现实中往往利用区块链来进行记账和交易,比如很多应用采用 BTC、ETH、TRX 等数字货币来进行经济活动以保证资金的公开透明。 + +而实现这样一个不可篡改的分布式账本是一个非常复杂的系统工程,涉及到很多技术领域:比如 p2p 网络、智能合约、数据库、密码学、共识机制等。其中数据库作为底层存储的基础,各个区块链团队都在探索数据库层面的设计与优化。 + +java-tron 的数据库模块也称为ChainBase 模块,本文主要介绍一些背景知识,并通过介绍交易处理、状态回滚、数据持久化等逻辑为开发者展现ChainBase 模块的实现细节。 + +## 预备知识 +数据库是区块链系统中重要的一环,它存储了区块链上的所有数据,是区块链系统正常运行的基础,每个全节点都保存了一份全量的数据,包含区块数据和状态数据,java-tron 采用 Account 模型来保存用户的账户状态。 + +### 账户模型 +目前主流的账户模型有两种: + +- [UTXO模型](https://en.wikipedia.org/wiki/Unspent_transaction_output) +- Account模型 + +UTXO 模型是无状态的,能更容易并发处理交易,并且拥有较好的隐私性,但在编程灵活度方面有所欠缺。 + +Account 模型中用户数据都存放在对应的账户中,并且智能合约也以代码的形式存放在 Account中,这种模型更加直观,开发人员更容易理解。出于可编程性,灵活性等方面的考虑,java-tron 采用了 Account 模型。 + +### 共识 + +目前主流的共识有 PoW、PoS、DPoS 等。PoW 即工作量证明,所有节点都参与计算一个预期的 hash 结果,优先计算出结果的节点拥有出块的权利,但是随着算力不断增长,计算 hash 所需的能耗也在不断增大,而且大矿场垄断了大部分的算力,这也违背了去中心化的初衷。 + +为了解决 PoW 所面临的问题,有人提出了PoS(Proof of Stake),简单理解为:持币越多的节点获得出块权利的概率就越大,但这样会导致垄断问题,所以又对 PoS 进行了改进,提出了 DPoS(Delegated Proof of Stake):通过选举出的超级代表来保证去中心化特性,同时超级代表轮流负责出块来提高了出块的效率。java-tron 目前采用 DPoS 共识机制。 + +更多细节可参看:[Delegated Proof of Stake](https://en.bitcoinwiki.org/wiki/DPoS) + +### 持久化存储 +区块链业务和传统互联网业务存在一定的区别,区块链业务在数据库层面并没有特别复杂的处理逻辑,但区块链中存在大量key-value的读写操作,所以对数据的读写性能有着较高的要求。 + +基于这方面的考虑,java-tron 默认采用 LevelDB 作为底层数据存储(在 ARM64 架构下会强制使用 RocksDB 并忽略配置,因为 LevelDB 在 ARM 上已废弃),并且 java-tron 有着良好的架构设计,采用面向接口编程的模式使得 chainbase 模块拥有着较好的扩展性,任何实现了 chainbase 接口的数据库都可以作为 java-tron 的底层存储引擎,比如在 chainbase v2 版本中提供了基于 RocksDB 的数据库实现。 + + +### 交易验证 +众所周知区块链中主要存储的是交易数据,介绍 chainbase 模块前需要首先了解 java-tron 中交易的处理逻辑。 + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_1.png) + + + + +交易会通过网络广播分发到各个节点,节点接收交易后,首先会对交易的签名做校验,验证成功后还需要对交易进行预执行,以此来判断该交易是否合法。 + +**注:java-tron 的具体实现和上图有所偏差,同时为了方便起见,本文将 FullNode 节点和 SR 统称为节点。** + +比如处理一笔转账交易:用户A向用户B转账100个 TRX,需要验证用户A是否有足够的余额来进行转账。 + +数据库中的 account 库保存了所有用户的账户信息,包括用户的余额信息,那如何判断这个转账交易是否合法?java-tron 的逻辑是:当从网络中接收到交易后,会立即执行该交易操作,即在本地的数据库中将账户信息进行修改:(accountA - 100TRX,accountB + 100TRX)。假如这个操作能够执行成功,那么说明至少在当前状态下这个交易是合法的,可以打包至区块中。 + +### 名词解释 +SR:超级代表(Super Representative),负责产块 + +FullNode:全节点,存储全量区块数据,负责交易、区块的广播和校验,并提供查询服务 + +TRX:波场原生代币 + +## 状态回滚 +上面我们讲到java-tron通过预执行来验证交易是否合法,但我们需要知道的是该交易在某个节点上验证成功并不代表该交易已成功上链,因为该交易并未打包到已共识的区块中,存在被回滚的风险。 + +java-tron 的共识遵循了一个原则:即超过2/3个超级代表认同的区块中的交易才是真正成功上链的交易。也可以理解为: + +- 交易被打包进入区块 +- 该区块被超过2/3个 SR 所接受 + +满足上述两点的交易才是成功上链的交易。java-tron 中一个交易被最终确认需要经历三个阶段: + +- 交易校验 +- 交易打包进区块 +- 该区块被网络大部分节点接收、应用并最终固化 + +这也就引出了一个问题:在 java-tron 的实现中,一个节点如果对交易做验证后,它的数据库状态随之进行了改变,假如这个交易最终并未打包进区块或该区块并未满足超过2/3个 SR 接受,那这个节点的状态和整个网络的状态就会不一致。 + +所以**除了处理被超过2/3个SR认可的区块中的交易数据外,其余所有对交易做处理而产生的数据状态的变化都有可能需要回滚**。而且需要回滚的情况不止一种,总共三种: + +- 接收到新的区块后,回滚交易验证产生的状态变更 +- 生产区块后,回滚交易验证产生的状态变更 +- 若发现分叉链,回滚分叉链中区块的交易产生的状态变更 + +这3种情况造成的数据状态变化都有可能需要回滚。下面依次讲解为何这三处需要回滚。 + +### 接收新区块后的状态回滚 +在接收到新的区块时,节点需要回滚到上个区块的结束时状态,回滚掉所有之后验证的交易。如下图所示: + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_2.png) + + + +假如节点在区块高度为1000时 accountA 账户余额为100,此时接收并校验了一个转账交易t1,并将自己的100TRX转账给了 accountB,当接收到了新的block1001后,该block包含了一个 accountA 转50TRX给 accountC 的交易t2,理论上t2已经打包进区块,优先级是要优于t1,但是如果不做任何操作的话,t2的校验将无法通过,因为 accountA 没有足够的余额,所以在接收到新的区块1001后,需要将交易t1所产生的的状态变更进行回滚。 + +### 生产区块后的状态回滚 +首先读者可能会有一个疑问:已经验证过的交易直接打包到区块中即可,也不会对数据库状态造成改变,为何还有数据库状态的变更? + +因为java-tron 在将交易打包到区块时对交易做了二次校验,做二次校验是因为交易的时效性问题,依然以上图为例,图中可以得知在接收到区块1001后对交易t1进行了回滚,并且将 accountA 的余额减去50,之后轮到该节点打包出块,但是此时t1已经变成一个非法的交易,因为 accountA 中的余额已经不够支付100个TRX,直接将t1打包进区块必然不可取,所以需要对交易再次进行校验,这也就是在区块打包时依然需要对交易做二次校验的原因。 + +而区块打包成功后,该节点会将向网络广播该区块,同时也在本地 apply该区块,而 apply 的逻辑则会对区块中的交易再次校验,所以在打包完区块后仍然需要执行回滚操作。 + +### 分叉链的状态回滚 +这是最后一种回滚的情况,区块链不可避免的会出现分叉的情况,尤其是基于 DPoS 这种出块速度较快的区块链系统更容易出现分叉的情况。 + +java-tron 在内存维护了一个如图所示的数据结构: + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_3.png) + + + +java-tron保存了最近还未达成共识的所有区块。当出现分叉链时,根据最长链原则:假如分叉链的区块高度大于目前主链区块高度,则需要将分叉链切换成主链,切换时就需要回滚掉之前主链上的一部分区块直到它们共同的父区块,然后从该父区块处依次 apply 新的主链区块。 + +如图,深色部分的 fork A 原先为主链,由于fork B 的高度不断增长最终超过了 A 的高度,此时就需要回滚掉 fork A 中高度为1003、1002、1001的三个区块数据,然后依次 apply fork B 中 1001'、1002'、1003'、1004'区块。 + + +## 状态回滚实现 +本章节从代码的角度讲解接收交易、交易验证、生成区块、验证区块、保存区块,来更进一步解析java-tron的chainbase模块。如没有特殊声明,则默认描述的为Fullnode(包含SR)的逻辑。 + + +### 交易接收 +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_4.png) + + + + +节点收到广播过来的交易后,通过调用Manager类的`pushTransaction(final TransactionCapsule trx)`函数将交易放到本地的pushTransactionQueue缓存队列,同时对该交易进行验证,此方法的返回比较考究: + +1. 如果验证成功直接返回true +2. 对于用户通过API向节点发送的交易,交易验证失败,会抛出异常,用户会拿到异常信息。对于节点通过P2P网络从其他节点接受到的交易只会将异常记录在本地。 + +交易验证成功之后,没有问题的交易会放入pendingTransactionQueue,pendingTransactionQueue负责在生成区块时提供交易集合。如果节点为SR节点时,当轮到到它产块时,就从pendingTransactionQueue中拿出来全部或者部分(取决于pendingTransactionQueue中有多少交易)来生成一个区块。 + +### 收到新区块时的状态回滚 + +节点在收到新区块前也会收到交易广播或收到来自其他节点的交易广播,需要对接收到的交易进行验证来判断该交易是否能正确的执行,验证也就意味着需要改变状态,而验证成功的交易并不代表这个交易就一定能最终执行,还要再经过打包进区块和固化的过程,这步可以认为是提前先筛选掉那些明显错误的交易,这里只是验证。 所以新的区块到来时这些交易验证所产生的状态都是应该被回滚掉的;apply 区块时产生的状态变更不会在这一步(收到新区块时清理 pending 交易)被回滚,但在区块固化之前,其 applied 状态仍可能在 fork 切换时被回滚。 + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_5.png) + + +回滚时需要将pendingTransactionQueue中的交易挪至rePushTransactions,并清空pendingTransactionQueue,详细解释看图。 + +为什么新的区块到来后需要清空pendingTransactionQueue?首先明确一点,pendingTransactionQueue队列负责在生成区块时提供交易数据,也就是说存放的是验证过的可以直接打包进区块的交易,但是因为新的区块也会对账户状态进行变更,可能pendingTransactionQueue里面之前验证没问题的交易在apply新的区块后验证不通过(最简单的例子:新区块某笔交易是账户A花费了一部分token,导致账户A在队列中的某笔交易金额不够支付了)。将交易挪至rePushTransactions后会有后台线程专门负责对该队列中的交易再次验证,如果没有问题就再次放进pendingTransactionQueue,为产生区块提供数据。 + + +java-tron中存在一个session对象,一个session表示的是一个区块对状态的变更,session对象主要用来回滚,比如将状态回滚到上一个区块的状态都需要通过session来操作,如下图所示: + + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_6.png) + + + +上图图中能看到持久化存储中有很多不同类型的数据库,就是这些数据共同组织成一个完整的区块链,比如区块存储在 khasodb 和 blockStore 中,账户信息存储在 accountStore 中.... + + +节点维护了一个 session 链表,该链表存储的是区块/交易对应的变更信息,节点可以通过这些变更信息进行回退。上图中 session1 是当前最高区块的对状态的变更,当次接收到一个交易后会产生一个新的 session2 ,后续接收一个交易都会产生一个临时的tmpSession,该交易验证后,tmpSession立马合并到session2中,再次接受到一个新区块之前,所有的交易验证产生的状态变更都会保存在 session2 中,当有新区块到来时,直接执行 session2 的 reset 方法即可将状态回滚到上个区块。 + + + + +### 生产区块时的状态回滚 +SR生产区块前需要回滚,原因比较复杂,我们先考虑一个场景: + +- pendingTransactionQueue 中存放是当前已经验证过的交易,所以某SR节点产块时只要直接打包pendingTransactionQueue 中的交易进区块,打包完之后将状态回滚到上一个区块的状态即可。 + +但是这种方案存在一个问题:假如该 SR 节点刚刚接收并 apply 一个新的区块,从前面的内容可知 pendingTransactionQueue 将被清空至rePushTransactions,此时正好轮到这个 SR 打包区块了,但 SR 的 pendingTransactionQueue 中没有什么交易。所以真正的实现是,产块时不止从 pendingTransactionQueue 读取交易,如果 pendingTransactionQueue 中交易较少时,还会从 rePushTransactions 中读取交易来放进区块,而通过上面的分析可知 rePushTransactions 中的交易有可能已经不能通过了,所以需要对交易再次进行验证。而正是因为有这个验证逻辑,才需要在出块前先将状态回滚。 + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_7.png) + +生产区块的过程中会对交易再次验证,所以会产生状态变更,但这是只是区块生成, 还需要广播区块,由广播接受到的区块会真正的改变状态,所以生成区块所产生的状态变更也需要被回滚掉。如上图所示,当区块生产完成后, 还需要将session2'' 回滚掉。 + + +## 区块持久化 +java-tron采用的是 DPOS 共识机制, java-tron 的 DPOS 是投票选出来27个节点当出块节点(也称为SR),SR有出块的权利和义务,并且被超过2/3个SR认可的block即为已经达成一致意见的区块,这些区块不能再被回滚,也称为固化块。非固化块的状态会先写入可回滚的内存 snapshot 层(session),只有已固化的 snapshot 层才会被 flush/merge 到持久化存储, + + +java-tron中 SnapshotManager 是存储模块的关键入口,持有了当前所有业务数据库的引用,并将数据库引用存储在一个列表中。每个数据库实例都支持在自身的基础上新增一层状态集:SnapshotImpl,SnapshotImpl 是一个内存 HashMap,多个 SnapshotImpl 通过链表形式关联,一个 SnapshotImpl 保留一次状态变更所涉及的数据修改,且 SnapshotImpl 之间相互独立,通过这种数据结构来将每个状态独立开,如下图所示: + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_8.png) + + +上图中 SnapshotRoot 是对持久化数据库的封装类,负责存储已固化的数据。 + +前面的章节中我们讲到session,一个session表示的是一个区块对状态的变更,实际上一个session包含了各个数据库对应SnapshotImpl,比如上图中区块5这一层所有的 SnapshotImpl 共同构成了区块5对整个数据库的变更。 + +节点接收到新区块后产生的变更不会直接存储到持久化存储中,而是首先存在 snapshotImpl 中,每接收一个区块对应产生一个snapshotImpl 不断的接收区块会导致 snapshotImpl 越来越多,什么时候会写入到持久化存储中呢? + +SnapshotManager 中存在两个变量:size 和 maxSize,size 此处我们简单理解为目前内存中有多少层 snapshotImpl,maxSIze 则表示目前固化块和最新块高度的差值。 + +这样就很明显了,如果 size > maxSize,那么说明最开始的 size-maxSize 层的snapshotImpl 对应的区块已经是固化块了,它们可以落盘了,然后会将应该落盘的 snapshotImpl 合并到持久化存储中,这样来确保 snapshotImpl 不会占用过多的内存,而且也保证了固化块能够被及时的持久化存储下来。 + +### 数据库原子性 +java-tron 的数据库存储与其他公链略有区别,例如以太坊持久化层只采用了一个数据库实例,以太坊中的不同类型的数据用前缀加以区分,存储在一个数据库实例中。而 java-tron 目前则将不同业务类型的数据存放在各自的数据库实例中。 + +两者实现方式各有千秋,单实例方便维护,能够统一写入,但缺点也较明显,比如随着时间推移单库数据量不断增长,某些业务数据库的频繁访问可能会拖累其他业务的读写性能。 + +多实例则不存在各个业务数据读写相互影响的问题,且可以根据各自的数据量与性能要求配置不同的参数,达到性能最大化,还可以将数据量较大的库独立拆分出去,以缓解数据膨胀问题。但多数据库实例存在一个严重的问题:并没有原生工具支持多数据库实例之间的原子写入。 + +java-tron 为了保证数据库多实例的原子写入,新增了 checkpoint 机制,在多实例落盘前将变更的数据统一写入 checkpoint,若多个数据库实例在写入时发生意外,服务重启时从 checkpoint 中将变更的数据统一恢复,保证写入的原子性。 + +上一节中固化块的 snapshotImpl 写入数据库的过程主要包含了两步: + +1. 创建 checkpoint +2. snapshotImpl 执行落盘操作 + +创建 checkpoint 这个操作比较关键, checkpoint 是将内存中需要写入数据库的 snapshotImpl 先持久化的存储在一个 tmp 的数据库中(目前底层实现的是leveldb、rocksdb),创建 checkpoint 成功之后才会进行 snapshotimpl 的落盘操作,假如此时落盘时机器宕机,那么节点再次启动时,会首先搜索是否存在 tmp 的 checkpoint 数据,如果存在的话,会将 checkpoint 中的数据回放至 snapshotRoot 中。 + +Checkpoint 数据结构如下: + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_9.png) + + +checkpoint将一次状态变更的所有数据统一存放在一个数据库中,不同类型的数据采用前缀加以区分,并且为了保证本次所有的变更数据能够全部落盘,写入时采用数据库底层调用writeBatch() 的方式。 + +这种解决的思路可以总结为: + +- 多数据库实例之间无法保证写入的原子性,但单数据库(大部分主流数据库)支持原子性写入 +- 将需要保证原子性写入的数据集首先采用原子写入的方式,写入到一个临时库,然后将数据分别写入不同的数据库实例,如果发生意外,通过临时库的数据来恢复即可。 + + +## 总结 +本文通过交易和区块的处理流程来分析了 chainbase 模块中回滚和数据库写入的实现细节,还分析了数据库多实例的原子写入的原理,防止意外宕机导致数据库损坏,希望通过阅读本文能有助于开发者进一步了解和开发java-tron数据库。 diff --git a/docs/developers/code-structure.md b/docs/developers/code-structure.md index 17018a63..f5ebe92b 100644 --- a/docs/developers/code-structure.md +++ b/docs/developers/code-structure.md @@ -136,7 +136,9 @@ chainbase 模块是数据库层面的抽象,像 PoW、PoS、DPoS 这类基于 * `RevokingDatabase.java` 是数据库容器的接口,用于所有可回退数据库的管理,`SnapshotManager` 是该接口的一个实现 * `TronStoreWithRevoking.java` 是支持可回退的数据库的基类,所有的可回退数据库都是它的具体实现,比如`BlockStore`,`TransactionStore`等 - + +> chainbase 模块的详细解析——交易处理、状态回滚、区块持久化与数据持久化——见 [ChainBase 深入解析](chainbase.md)。 + ### consensus @@ -256,328 +258,7 @@ framework是 java-tron 的核心模块,也是节点的入口,framework 模 > **说明**:早期版本中,节点发现与节点连接管理的底层实现位于 framework 模块的 `common/overlay` 目录(`discover`、`server` 等子目录)。该 P2P 网络底层现已抽离为独立的外部依赖 [`io.github.tronprotocol:libp2p`](https://github.com/tronprotocol/libp2p),framework 中不再保留 `common/overlay` 与 `common/net` 目录。底层的节点发现与连接传输现由 libp2p 库提供,framework 通过 `core/net`(如 `TronNetService`)与之对接;其上的 TRON 协议层——握手、保活、消息分发、同步、广播以及 peer 业务状态管理——仍保留在 `core/net` 中。 +> 其上的网络层位于 `core/net`。P2P 网络子系统的详细解析——区块同步、区块和交易广播——见 [P2P 网络深入解析](network.md)。 ### 总结 本文主要介绍了java-tron的代码结构,以及各个功能模块的作用、位置及目录结构,通过本文您会对java-tron的整体结构及关键接口有了大致的了解,方便后续的代码分析和开发。 - - -## ChainBase -### 概览 -众所周知区块链本质上是一个不可篡改的分布式账本,非常适合解决信任的问题,现实中往往利用区块链来进行记账和交易,比如很多应用采用 BTC、ETH、TRX 等数字货币来进行经济活动以保证资金的公开透明。 - -而实现这样一个不可篡改的分布式账本是一个非常复杂的系统工程,涉及到很多技术领域:比如 p2p 网络、智能合约、数据库、密码学、共识机制等。其中数据库作为底层存储的基础,各个区块链团队都在探索数据库层面的设计与优化。 - -java-tron 的数据库模块也称为ChainBase 模块,本文主要介绍一些背景知识,并通过介绍交易处理、状态回滚、数据持久化等逻辑为开发者展现ChainBase 模块的实现细节。 - -### 预备知识 -数据库是区块链系统中重要的一环,它存储了区块链上的所有数据,是区块链系统正常运行的基础,每个全节点都保存了一份全量的数据,包含区块数据和状态数据,java-tron 采用 Account 模型来保存用户的账户状态。 - -#### 账户模型 -目前主流的账户模型有两种: - -- [UTXO模型](https://en.wikipedia.org/wiki/Unspent_transaction_output) -- Account模型 - -UTXO 模型是无状态的,能更容易并发处理交易,并且拥有较好的隐私性,但在编程灵活度方面有所欠缺。 - -Account 模型中用户数据都存放在对应的账户中,并且智能合约也以代码的形式存放在 Account中,这种模型更加直观,开发人员更容易理解。出于可编程性,灵活性等方面的考虑,java-tron 采用了 Account 模型。 - -#### 共识 - -目前主流的共识有 PoW、PoS、DPoS 等。PoW 即工作量证明,所有节点都参与计算一个预期的 hash 结果,优先计算出结果的节点拥有出块的权利,但是随着算力不断增长,计算 hash 所需的能耗也在不断增大,而且大矿场垄断了大部分的算力,这也违背了去中心化的初衷。 - -为了解决 PoW 所面临的问题,有人提出了PoS(Proof of Stake),简单理解为:持币越多的节点获得出块权利的概率就越大,但这样会导致垄断问题,所以又对 PoS 进行了改进,提出了 DPoS(Delegated Proof of Stake):通过选举出的超级代表来保证去中心化特性,同时超级代表轮流负责出块来提高了出块的效率。java-tron 目前采用 DPoS 共识机制。 - -更多细节可参看:[Delegated Proof of Stake](https://en.bitcoinwiki.org/wiki/DPoS) - -#### 持久化存储 -区块链业务和传统互联网业务存在一定的区别,区块链业务在数据库层面并没有特别复杂的处理逻辑,但区块链中存在大量key-value的读写操作,所以对数据的读写性能有着较高的要求。 - -基于这方面的考虑,java-tron 默认采用 LevelDB 作为底层数据存储(在 ARM64 架构下会强制使用 RocksDB 并忽略配置,因为 LevelDB 在 ARM 上已废弃),并且 java-tron 有着良好的架构设计,采用面向接口编程的模式使得 chainbase 模块拥有着较好的扩展性,任何实现了 chainbase 接口的数据库都可以作为 java-tron 的底层存储引擎,比如在 chainbase v2 版本中提供了基于 RocksDB 的数据库实现。 - - -#### 交易验证 -众所周知区块链中主要存储的是交易数据,介绍 chainbase 模块前需要首先了解 java-tron 中交易的处理逻辑。 - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_1.png) - - - - -交易会通过网络广播分发到各个节点,节点接收交易后,首先会对交易的签名做校验,验证成功后还需要对交易进行预执行,以此来判断该交易是否合法。 - -**注:java-tron 的具体实现和上图有所偏差,同时为了方便起见,本文将 FullNode 节点和 SR 统称为节点。** - -比如处理一笔转账交易:用户A向用户B转账100个 TRX,需要验证用户A是否有足够的余额来进行转账。 - -数据库中的 account 库保存了所有用户的账户信息,包括用户的余额信息,那如何判断这个转账交易是否合法?java-tron 的逻辑是:当从网络中接收到交易后,会立即执行该交易操作,即在本地的数据库中将账户信息进行修改:(accountA - 100TRX,accountB + 100TRX)。假如这个操作能够执行成功,那么说明至少在当前状态下这个交易是合法的,可以打包至区块中。 - -#### 名词解释 -SR:超级代表(Super Representative),负责产块 - -FullNode:全节点,存储全量区块数据,负责交易、区块的广播和校验,并提供查询服务 - -TRX:波场原生代币 -### 状态回滚 -上面我们讲到java-tron通过预执行来验证交易是否合法,但我们需要知道的是该交易在某个节点上验证成功并不代表该交易已成功上链,因为该交易并未打包到已共识的区块中,存在被回滚的风险。 - -java-tron 的共识遵循了一个原则:即超过2/3个超级代表认同的区块中的交易才是真正成功上链的交易。也可以理解为: - -- 交易被打包进入区块 -- 该区块被超过2/3个 SR 所接受 - -满足上述两点的交易才是成功上链的交易。java-tron 中一个交易被最终确认需要经历三个阶段: - -- 交易校验 -- 交易打包进区块 -- 该区块被网络大部分节点接收、应用并最终固化 - -这也就引出了一个问题:在 java-tron 的实现中,一个节点如果对交易做验证后,它的数据库状态随之进行了改变,假如这个交易最终并未打包进区块或该区块并未满足超过2/3个 SR 接受,那这个节点的状态和整个网络的状态就会不一致。 - -所以**除了处理被超过2/3个SR认可的区块中的交易数据外,其余所有对交易做处理而产生的数据状态的变化都有可能需要回滚**。而且需要回滚的情况不止一种,总共三种: - -- 接收到新的区块后,回滚交易验证产生的状态变更 -- 生产区块后,回滚交易验证产生的状态变更 -- 若发现分叉链,回滚分叉链中区块的交易产生的状态变更 - -这3种情况造成的数据状态变化都有可能需要回滚。下面依次讲解为何这三处需要回滚。 - -#### 接收新区块后的状态回滚 -在接收到新的区块时,节点需要回滚到上个区块的结束时状态,回滚掉所有之后验证的交易。如下图所示: - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_2.png) - - - -假如节点在区块高度为1000时 accountA 账户余额为100,此时接收并校验了一个转账交易t1,并将自己的100TRX转账给了 accountB,当接收到了新的block1001后,该block包含了一个 accountA 转50TRX给 accountC 的交易t2,理论上t2已经打包进区块,优先级是要优于t1,但是如果不做任何操作的话,t2的校验将无法通过,因为 accountA 没有足够的余额,所以在接收到新的区块1001后,需要将交易t1所产生的的状态变更进行回滚。 - -#### 生产区块后的状态回滚 -首先读者可能会有一个疑问:已经验证过的交易直接打包到区块中即可,也不会对数据库状态造成改变,为何还有数据库状态的变更? - -因为java-tron 在将交易打包到区块时对交易做了二次校验,做二次校验是因为交易的时效性问题,依然以上图为例,图中可以得知在接收到区块1001后对交易t1进行了回滚,并且将 accountA 的余额减去50,之后轮到该节点打包出块,但是此时t1已经变成一个非法的交易,因为 accountA 中的余额已经不够支付100个TRX,直接将t1打包进区块必然不可取,所以需要对交易再次进行校验,这也就是在区块打包时依然需要对交易做二次校验的原因。 - -而区块打包成功后,该节点会将向网络广播该区块,同时也在本地 apply该区块,而 apply 的逻辑则会对区块中的交易再次校验,所以在打包完区块后仍然需要执行回滚操作。 - -#### 分叉链的状态回滚 -这是最后一种回滚的情况,区块链不可避免的会出现分叉的情况,尤其是基于 DPoS 这种出块速度较快的区块链系统更容易出现分叉的情况。 - -java-tron 在内存维护了一个如图所示的数据结构: - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_3.png) - - - -java-tron保存了最近还未达成共识的所有区块。当出现分叉链时,根据最长链原则:假如分叉链的区块高度大于目前主链区块高度,则需要将分叉链切换成主链,切换时就需要回滚掉之前主链上的一部分区块直到它们共同的父区块,然后从该父区块处依次 apply 新的主链区块。 - -如图,深色部分的 fork A 原先为主链,由于fork B 的高度不断增长最终超过了 A 的高度,此时就需要回滚掉 fork A 中高度为1003、1002、1001的三个区块数据,然后依次 apply fork B 中 1001'、1002'、1003'、1004'区块。 - - -### 状态回滚实现 -本章节从代码的角度讲解接收交易、交易验证、生成区块、验证区块、保存区块,来更进一步解析java-tron的chainbase模块。如没有特殊声明,则默认描述的为Fullnode(包含SR)的逻辑。 - - -#### 交易接收 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_4.png) - - - - -节点收到广播过来的交易后,通过调用Manager类的`pushTransaction(final TransactionCapsule trx)`函数将交易放到本地的pushTransactionQueue缓存队列,同时对该交易进行验证,此方法的返回比较考究: - -1. 如果验证成功直接返回true -2. 对于用户通过API向节点发送的交易,交易验证失败,会抛出异常,用户会拿到异常信息。对于节点通过P2P网络从其他节点接受到的交易只会将异常记录在本地。 - -交易验证成功之后,没有问题的交易会放入pendingTransactionQueue,pendingTransactionQueue负责在生成区块时提供交易集合。如果节点为SR节点时,当轮到到它产块时,就从pendingTransactionQueue中拿出来全部或者部分(取决于pendingTransactionQueue中有多少交易)来生成一个区块。 - -#### 收到新区块时的状态回滚 - -节点在收到新区块前也会收到交易广播或收到来自其他节点的交易广播,需要对接收到的交易进行验证来判断该交易是否能正确的执行,验证也就意味着需要改变状态,而验证成功的交易并不代表这个交易就一定能最终执行,还要再经过打包进区块和固化的过程,这步可以认为是提前先筛选掉那些明显错误的交易,这里只是验证。 所以新的区块到来时这些交易验证所产生的状态都是应该被回滚掉的;apply 区块时产生的状态变更不会在这一步(收到新区块时清理 pending 交易)被回滚,但在区块固化之前,其 applied 状态仍可能在 fork 切换时被回滚。 - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_5.png) - - -回滚时需要将pendingTransactionQueue中的交易挪至rePushTransactions,并清空pendingTransactionQueue,详细解释看图。 - -为什么新的区块到来后需要清空pendingTransactionQueue?首先明确一点,pendingTransactionQueue队列负责在生成区块时提供交易数据,也就是说存放的是验证过的可以直接打包进区块的交易,但是因为新的区块也会对账户状态进行变更,可能pendingTransactionQueue里面之前验证没问题的交易在apply新的区块后验证不通过(最简单的例子:新区块某笔交易是账户A花费了一部分token,导致账户A在队列中的某笔交易金额不够支付了)。将交易挪至rePushTransactions后会有后台线程专门负责对该队列中的交易再次验证,如果没有问题就再次放进pendingTransactionQueue,为产生区块提供数据。 - - -java-tron中存在一个session对象,一个session表示的是一个区块对状态的变更,session对象主要用来回滚,比如将状态回滚到上一个区块的状态都需要通过session来操作,如下图所示: - - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_6.png) - - - -上图图中能看到持久化存储中有很多不同类型的数据库,就是这些数据共同组织成一个完整的区块链,比如区块存储在 khasodb 和 blockStore 中,账户信息存储在 accountStore 中.... - - -节点维护了一个 session 链表,该链表存储的是区块/交易对应的变更信息,节点可以通过这些变更信息进行回退。上图中 session1 是当前最高区块的对状态的变更,当次接收到一个交易后会产生一个新的 session2 ,后续接收一个交易都会产生一个临时的tmpSession,该交易验证后,tmpSession立马合并到session2中,再次接受到一个新区块之前,所有的交易验证产生的状态变更都会保存在 session2 中,当有新区块到来时,直接执行 session2 的 reset 方法即可将状态回滚到上个区块。 - - - - - -#### 生产区块时的状态回滚 -SR生产区块前需要回滚,原因比较复杂,我们先考虑一个场景: - -- pendingTransactionQueue 中存放是当前已经验证过的交易,所以某SR节点产块时只要直接打包pendingTransactionQueue 中的交易进区块,打包完之后将状态回滚到上一个区块的状态即可。 - -但是这种方案存在一个问题:假如该 SR 节点刚刚接收并 apply 一个新的区块,从前面的内容可知 pendingTransactionQueue 将被清空至rePushTransactions,此时正好轮到这个 SR 打包区块了,但 SR 的 pendingTransactionQueue 中没有什么交易。所以真正的实现是,产块时不止从 pendingTransactionQueue 读取交易,如果 pendingTransactionQueue 中交易较少时,还会从 rePushTransactions 中读取交易来放进区块,而通过上面的分析可知 rePushTransactions 中的交易有可能已经不能通过了,所以需要对交易再次进行验证。而正是因为有这个验证逻辑,才需要在出块前先将状态回滚。 - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_7.png) - -生产区块的过程中会对交易再次验证,所以会产生状态变更,但这是只是区块生成, 还需要广播区块,由广播接受到的区块会真正的改变状态,所以生成区块所产生的状态变更也需要被回滚掉。如上图所示,当区块生产完成后, 还需要将session2'' 回滚掉。 - - - -### 区块持久化 -java-tron采用的是 DPOS 共识机制, java-tron 的 DPOS 是投票选出来27个节点当出块节点(也称为SR),SR有出块的权利和义务,并且被超过2/3个SR认可的block即为已经达成一致意见的区块,这些区块不能再被回滚,也称为固化块。非固化块的状态会先写入可回滚的内存 snapshot 层(session),只有已固化的 snapshot 层才会被 flush/merge 到持久化存储, - - -java-tron中 SnapshotManager 是存储模块的关键入口,持有了当前所有业务数据库的引用,并将数据库引用存储在一个列表中。每个数据库实例都支持在自身的基础上新增一层状态集:SnapshotImpl,SnapshotImpl 是一个内存 HashMap,多个 SnapshotImpl 通过链表形式关联,一个 SnapshotImpl 保留一次状态变更所涉及的数据修改,且 SnapshotImpl 之间相互独立,通过这种数据结构来将每个状态独立开,如下图所示: - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_8.png) - - -上图中 SnapshotRoot 是对持久化数据库的封装类,负责存储已固化的数据。 - -前面的章节中我们讲到session,一个session表示的是一个区块对状态的变更,实际上一个session包含了各个数据库对应SnapshotImpl,比如上图中区块5这一层所有的 SnapshotImpl 共同构成了区块5对整个数据库的变更。 - -节点接收到新区块后产生的变更不会直接存储到持久化存储中,而是首先存在 snapshotImpl 中,每接收一个区块对应产生一个snapshotImpl 不断的接收区块会导致 snapshotImpl 越来越多,什么时候会写入到持久化存储中呢? - -SnapshotManager 中存在两个变量:size 和 maxSize,size 此处我们简单理解为目前内存中有多少层 snapshotImpl,maxSIze 则表示目前固化块和最新块高度的差值。 - -这样就很明显了,如果 size > maxSize,那么说明最开始的 size-maxSize 层的snapshotImpl 对应的区块已经是固化块了,它们可以落盘了,然后会将应该落盘的 snapshotImpl 合并到持久化存储中,这样来确保 snapshotImpl 不会占用过多的内存,而且也保证了固化块能够被及时的持久化存储下来。 - -#### 数据库原子性 -java-tron 的数据库存储与其他公链略有区别,例如以太坊持久化层只采用了一个数据库实例,以太坊中的不同类型的数据用前缀加以区分,存储在一个数据库实例中。而 java-tron 目前则将不同业务类型的数据存放在各自的数据库实例中。 - -两者实现方式各有千秋,单实例方便维护,能够统一写入,但缺点也较明显,比如随着时间推移单库数据量不断增长,某些业务数据库的频繁访问可能会拖累其他业务的读写性能。 - -多实例则不存在各个业务数据读写相互影响的问题,且可以根据各自的数据量与性能要求配置不同的参数,达到性能最大化,还可以将数据量较大的库独立拆分出去,以缓解数据膨胀问题。但多数据库实例存在一个严重的问题:并没有原生工具支持多数据库实例之间的原子写入。 - -java-tron 为了保证数据库多实例的原子写入,新增了 checkpoint 机制,在多实例落盘前将变更的数据统一写入 checkpoint,若多个数据库实例在写入时发生意外,服务重启时从 checkpoint 中将变更的数据统一恢复,保证写入的原子性。 - -上一节中固化块的 snapshotImpl 写入数据库的过程主要包含了两步: - -1. 创建 checkpoint -2. snapshotImpl 执行落盘操作 - -创建 checkpoint 这个操作比较关键, checkpoint 是将内存中需要写入数据库的 snapshotImpl 先持久化的存储在一个 tmp 的数据库中(目前底层实现的是leveldb、rocksdb),创建 checkpoint 成功之后才会进行 snapshotimpl 的落盘操作,假如此时落盘时机器宕机,那么节点再次启动时,会首先搜索是否存在 tmp 的 checkpoint 数据,如果存在的话,会将 checkpoint 中的数据回放至 snapshotRoot 中。 - -Checkpoint 数据结构如下: - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/chainbase_9.png) - - -checkpoint将一次状态变更的所有数据统一存放在一个数据库中,不同类型的数据采用前缀加以区分,并且为了保证本次所有的变更数据能够全部落盘,写入时采用数据库底层调用writeBatch() 的方式。 - -这种解决的思路可以总结为: - -- 多数据库实例之间无法保证写入的原子性,但单数据库(大部分主流数据库)支持原子性写入 -- 将需要保证原子性写入的数据集首先采用原子写入的方式,写入到一个临时库,然后将数据分别写入不同的数据库实例,如果发生意外,通过临时库的数据来恢复即可。 - - -### 总结 -本文通过交易和区块的处理流程来分析了 chainbase 模块中回滚和数据库写入的实现细节,还分析了数据库多实例的原子写入的原理,防止意外宕机导致数据库损坏,希望通过阅读本文能有助于开发者进一步了解和开发java-tron数据库。 - - - -## 网络 -### 概述 -P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源,比如处理能力、存储能力、网络连接能力、打印机等,这些共享的资源需要由网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是服务和内容提供者,又是服务和内容获取者。 - -区别于传统的Client/Server中央服务器结构,P2P网络中的每个节点的地位都是对等的。每个节点在充当客户端的同时,也可以作为服务端给其它节点提供服务,极大地提高了资源的利用率。 - - -#### 区块链网络 -P2P 是区块链结构中的网络层,网络层的主要目的是实现区块链网络中节点之间的信息传播、验证和交流。区块链网络本质上是一个P2P网络,每个节点既能接受信息也能产生信息。节点之间通过维护一个共同的区块链数据来保持通信。 - -P2P网络作为区块链的基础,为区块链带来如下优点: - -* 防止单点攻击 -* 高容错性 -* 较好的兼容性与可扩展性 - -#### TRON网络 -TRON架构图如下: -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_architecture.png) - -P2P网络作为TRON的最底层模块,直接决定了整个区块链网络的稳定性。网络模块按照功能可以划分成以下四部分: - -* 节点发现 -* 节点连接 -* [区块同步](#block-synchronization) -* [区块和交易广播](#block-and-transaction-broadcast) - -其中**节点发现**与**节点连接**这两部分的底层实现已从 java-tron 仓库抽离为独立的外部依赖 [`io.github.tronprotocol:libp2p`](https://github.com/tronprotocol/libp2p),由该库负责底层的节点发现(基于 Kademlia 算法)与连接传输,并新增了基于 DNS 的节点发现等能力。其上的 TRON 协议层——包括 P2P_HELLO 握手、P2P_PING/P2P_PONG 保活、peer 业务状态管理、消息分发、同步与广播——仍由 java-tron 的 `core/net` 实现,并通过 `TronNetService` 与 libp2p 对接。底层节点发现与连接的实现细节请参阅 libp2p 仓库,本文不再展开。 - -而**区块同步**与**区块和交易广播**仍由 java-tron 的 `core/net` 实现,下面分别介绍这两个功能部分。 - -### 区块同步 { #block-synchronization } - -在与对方节点完成握手后,如果发现对方节点的区块链比本地的区块链要长,根据最长链原则,会触发区块同步的处理流程`syncService.startSync`。同步过程中的报文交互如下图: - -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_syncflow.png) - -节点A向对方节点B发送 `SYNC_BLOCK_CHAIN` 消息,以宣告本地链的摘要信息。对方节点B收到后,计算出节点A缺失的区块清单,并将缺失区块的id列表通过 `BLOCK_CHAIN_INVENTORY` 消息发送给节点A,一次最多携带2000个区块id。 - -节点A收到 `BLOCK_CHAIN_INVENTORY` 消息后,取出缺失区块id,并通过异步的方式向节点B发送 `FETCH_INV_DATA` 消息以请求缺少的区块,一次最多请求100个区块。如果还有需要同步的区块(即 `BLOCK_CHAIN_INVENTORY` 报文中的remain_num大于0),会触发新一轮的区块同步流程。 - -节点B收到节点A的 `FETCH_INV_DATA` 报文后,通过 `BLOCK` 消息将区块发送给节点A。节点A收到 `BLOCK` 报文后,异步处理该区块。 - -#### 链摘要及缺失区块清单 -下面根据几个不同的区块同步场景示例,说明链摘要和节点缺少的区块清单的生成。 - -* 链摘要:有序的区块blockID列表,包括:最高固化块、最高非固化块,以及之间二分法对应的区块 -* 缺失区块清单:邻居节点根据链摘要与自己链进行比较,确定对方缺失的区块清单,返回一组连续的区块blockID以及剩余的块数 -##### 普通场景 - -本地头块高度为1018,固化块高度为1000,两个节点刚建立连接,所以共同块高度为0,通过二分方式获取到节点A的本地链摘要为:1000、1010、1015、1017、1018。 - -节点B收到节点A的链摘要后,结合本地链可以生产节点A缺少的区块清单为:1018、1019、1020、1021。之后节点A根据缺失区块清单,请求同步区块1019、1020、1021。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync1.png) - - -##### 切链场景 - -本地主链头块高度为1018,固化块高度为1000,两个节点刚建立连接,所以共同块高度为0,通过二分方式获取到节点A的本地链摘要为:1000、1010、1015、1017、1018。 - -节点B收到节点A的链摘要后,发现本地主链跟节点A的主链不在同一条链上,对比节点A的链摘要,找到共同块高度为1015,则认为节点A缺少的区块清单为:1015、1016'、1017'、1018',1019'。之后节点A根据缺失区块清单,请求同步区块1018',1019'。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync2.png) - -另一种切链场景,本地主链头块高度为1018,固化块高度为1000,共同块为1017‘,位于fork链上,通过二分方式获取到节点A的本地链摘要为:1000、1009、1014、1016'、1017'。 - -节点B收到节点A的链摘要后,结合本地链可以生产节点A缺少的区块清单为:1017'、1018'、1019'。之后节点A根据缺失区块清单,请求同步区块1018',1019'。 -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync3.png) - - - -### 区块和交易广播 { #block-and-transaction-broadcast } - -当超级代表节点生产出新的区块,或者全节点接收到用户发起的新交易时,会发起交易&区块广播流程。当节点接收到新区块或者新交易时,会转发相应的区块或交易,转发与广播的流程一样。报文交互如下图所示: -![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_broadcastflow.png) - - - -其中涉及到的消息类型包括: - -* `INVENTORY` - 广播清单:区块或者交易id列表 -* `FETCH_INV_DATA` - 请求需要获取的清单数据:区块或者交易id列表 -* `BLOCK` - 区块数据 -* `TRXS` - 交易数据 - -节点A将待广播交易或区块通过 `INVENTORY` 清单消息发送到节点B。节点B收到 `INVENTORY` 清单消息后,需要检查对方节点的状态,如果可以接收该消息,则将清单中的区块/交易放入待获取队列 `invToFetch` 中。如果是区块清单,还会立即触发"获取区块&交易任务",来向节点A发送 `FETCH_INV_DATA` 消息获取区块&交易。 - -节点A收到 `FETCH_INV_DATA` 消息后,会检查是否发送过清单消息给对方,如果发送过,则根据清单数据,向节点B发送交易或者区块消息。节点B收到交易或者区块消息后,处理消息,并触发转发流程。 - -### 总结 -本文介绍了TRON最底层模块——P2P网络。其中节点发现与节点连接已抽离至外部依赖 libp2p,本文仅做简要定位;仍保留在 java-tron `core/net` 中的区块同步、区块和交易广播流程则做了详细介绍。希望通过阅读本文能帮助开发者进一步了解和开发java-tron网络相关模块。 - - - - - - - - diff --git a/docs/developers/network.md b/docs/developers/network.md new file mode 100644 index 00000000..b422bce8 --- /dev/null +++ b/docs/developers/network.md @@ -0,0 +1,93 @@ +# P2P 网络深入解析 + +> 本文聚焦 P2P 网络的内部原理(架构、区块同步与广播)。关于如何**配置**节点发现对等节点并接入网络(config.conf 参数、boot/seed 节点、active/passive peer 等),请参阅[连接到 TRON 网络](../using_javatron/connecting_to_tron.md)。 + +## 概述 +P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源,比如处理能力、存储能力、网络连接能力、打印机等,这些共享的资源需要由网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是服务和内容提供者,又是服务和内容获取者。 + +区别于传统的Client/Server中央服务器结构,P2P网络中的每个节点的地位都是对等的。每个节点在充当客户端的同时,也可以作为服务端给其它节点提供服务,极大地提高了资源的利用率。 + + +### 区块链网络 +P2P 是区块链结构中的网络层,网络层的主要目的是实现区块链网络中节点之间的信息传播、验证和交流。区块链网络本质上是一个P2P网络,每个节点既能接受信息也能产生信息。节点之间通过维护一个共同的区块链数据来保持通信。 + +P2P网络作为区块链的基础,为区块链带来如下优点: + +* 防止单点攻击 +* 高容错性 +* 较好的兼容性与可扩展性 + +### TRON网络 +TRON架构图如下: +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_architecture.png) + +P2P网络作为TRON的最底层模块,直接决定了整个区块链网络的稳定性。网络模块按照功能可以划分成以下四部分: + +* 节点发现 +* 节点连接 +* [区块同步](#block-synchronization) +* [区块和交易广播](#block-and-transaction-broadcast) + +其中**节点发现**与**节点连接**这两部分的底层实现已从 java-tron 仓库抽离为独立的外部依赖 [`io.github.tronprotocol:libp2p`](https://github.com/tronprotocol/libp2p),由该库负责底层的节点发现(基于 Kademlia 算法)与连接传输,并新增了基于 DNS 的节点发现等能力。其上的 TRON 协议层——包括 P2P_HELLO 握手、P2P_PING/P2P_PONG 保活、peer 业务状态管理、消息分发、同步与广播——仍由 java-tron 的 `core/net` 实现,并通过 `TronNetService` 与 libp2p 对接。底层节点发现与连接的实现细节请参阅 libp2p 仓库,本文不再展开。 + +而**区块同步**与**区块和交易广播**仍由 java-tron 的 `core/net` 实现,下面分别介绍这两个功能部分。 + +## 区块同步 { #block-synchronization } + +在与对方节点完成握手后,如果发现对方节点的区块链比本地的区块链要长,根据最长链原则,会触发区块同步的处理流程`syncService.startSync`。同步过程中的报文交互如下图: + +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_syncflow.png) + +节点A向对方节点B发送 `SYNC_BLOCK_CHAIN` 消息,以宣告本地链的摘要信息。对方节点B收到后,计算出节点A缺失的区块清单,并将缺失区块的id列表通过 `BLOCK_CHAIN_INVENTORY` 消息发送给节点A,一次最多携带2000个区块id。 + +节点A收到 `BLOCK_CHAIN_INVENTORY` 消息后,取出缺失区块id,并通过异步的方式向节点B发送 `FETCH_INV_DATA` 消息以请求缺少的区块,一次最多请求100个区块。如果还有需要同步的区块(即 `BLOCK_CHAIN_INVENTORY` 报文中的remain_num大于0),会触发新一轮的区块同步流程。 + +节点B收到节点A的 `FETCH_INV_DATA` 报文后,通过 `BLOCK` 消息将区块发送给节点A。节点A收到 `BLOCK` 报文后,异步处理该区块。 + +### 链摘要及缺失区块清单 +下面根据几个不同的区块同步场景示例,说明链摘要和节点缺少的区块清单的生成。 + +* 链摘要:有序的区块blockID列表,包括:最高固化块、最高非固化块,以及之间二分法对应的区块 +* 缺失区块清单:邻居节点根据链摘要与自己链进行比较,确定对方缺失的区块清单,返回一组连续的区块blockID以及剩余的块数 +#### 普通场景 + +本地头块高度为1018,固化块高度为1000,两个节点刚建立连接,所以共同块高度为0,通过二分方式获取到节点A的本地链摘要为:1000、1010、1015、1017、1018。 + +节点B收到节点A的链摘要后,结合本地链可以生产节点A缺少的区块清单为:1018、1019、1020、1021。之后节点A根据缺失区块清单,请求同步区块1019、1020、1021。 +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync1.png) + + +#### 切链场景 + +本地主链头块高度为1018,固化块高度为1000,两个节点刚建立连接,所以共同块高度为0,通过二分方式获取到节点A的本地链摘要为:1000、1010、1015、1017、1018。 + +节点B收到节点A的链摘要后,发现本地主链跟节点A的主链不在同一条链上,对比节点A的链摘要,找到共同块高度为1015,则认为节点A缺少的区块清单为:1015、1016'、1017'、1018',1019'。之后节点A根据缺失区块清单,请求同步区块1018',1019'。 +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync2.png) + +另一种切链场景,本地主链头块高度为1018,固化块高度为1000,共同块为1017‘,位于fork链上,通过二分方式获取到节点A的本地链摘要为:1000、1009、1014、1016'、1017'。 + +节点B收到节点A的链摘要后,结合本地链可以生产节点A缺少的区块清单为:1017'、1018'、1019'。之后节点A根据缺失区块清单,请求同步区块1018',1019'。 +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_sync3.png) + + + +## 区块和交易广播 { #block-and-transaction-broadcast } + +当超级代表节点生产出新的区块,或者全节点接收到用户发起的新交易时,会发起交易&区块广播流程。当节点接收到新区块或者新交易时,会转发相应的区块或交易,转发与广播的流程一样。报文交互如下图所示: +![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/network_broadcastflow.png) + + + +其中涉及到的消息类型包括: + +* `INVENTORY` - 广播清单:区块或者交易id列表 +* `FETCH_INV_DATA` - 请求需要获取的清单数据:区块或者交易id列表 +* `BLOCK` - 区块数据 +* `TRXS` - 交易数据 + +节点A将待广播交易或区块通过 `INVENTORY` 清单消息发送到节点B。节点B收到 `INVENTORY` 清单消息后,需要检查对方节点的状态,如果可以接收该消息,则将清单中的区块/交易放入待获取队列 `invToFetch` 中。如果是区块清单,还会立即触发"获取区块&交易任务",来向节点A发送 `FETCH_INV_DATA` 消息获取区块&交易。 + +节点A收到 `FETCH_INV_DATA` 消息后,会检查是否发送过清单消息给对方,如果发送过,则根据清单数据,向节点B发送交易或者区块消息。节点B收到交易或者区块消息后,处理消息,并触发转发流程。 + +## 总结 +本文介绍了TRON最底层模块——P2P网络。其中节点发现与节点连接已抽离至外部依赖 libp2p,本文仅做简要定位;仍保留在 java-tron `core/net` 中的区块同步、区块和交易广播流程则做了详细介绍。希望通过阅读本文能帮助开发者进一步了解和开发java-tron网络相关模块。 diff --git a/docs/using_javatron/connecting_to_tron.md b/docs/using_javatron/connecting_to_tron.md index 5099113b..f3ca7405 100644 --- a/docs/using_javatron/connecting_to_tron.md +++ b/docs/using_javatron/connecting_to_tron.md @@ -9,6 +9,8 @@ TRON 网络分为以下几类: 本指南将介绍如何配置 java-tron 客户端连接到这些网络,涵盖基础配置网络、节点发现、节点连接,日志与节点状态验证以及如何排查连接问题。 +> 本文是运维配置指南。关于 P2P 网络的内部原理(架构、区块同步与广播协议),请参阅 [P2P 网络深入解析](../developers/network.md)。 + ## 基础配置网络 diff --git a/mkdocs.yml b/mkdocs.yml index a9b57ffa..2bd2c4e0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -262,13 +262,15 @@ nav: - 账户权限管理: mechanism-algorithm/multi-signatures.md - java-tron开发: - 开发者指南: developers/java-tron.md + - 核心模块: developers/code-structure.md + - ChainBase 深入解析: developers/chainbase.md + - P2P 网络深入解析: developers/network.md - TIPs工作流程: developers/tip-workflow.md - TIPs: developers/tips.md - Issue工作流程: developers/issue-workflow.md - 治理流程: developers/governance.md - 配置IDE开发环境: developers/run-in-idea.md - 开发示例: developers/demo.md - - 核心模块: developers/code-structure.md - Dapp开发: - 工具: contracts/tools.md - 客户端: From 449c0a444b8e39978c02550ef5cc8d0137153832 Mon Sep 17 00:00:00 2001 From: Leem Date: Fri, 26 Jun 2026 16:05:02 +0800 Subject: [PATCH 3/3] Fix typo maxSIze -> maxSize in chainbase doc --- docs/developers/chainbase.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developers/chainbase.md b/docs/developers/chainbase.md index 6fc82776..320c476f 100644 --- a/docs/developers/chainbase.md +++ b/docs/developers/chainbase.md @@ -181,7 +181,7 @@ java-tron中 SnapshotManager 是存储模块的关键入口,持有了当前所 节点接收到新区块后产生的变更不会直接存储到持久化存储中,而是首先存在 snapshotImpl 中,每接收一个区块对应产生一个snapshotImpl 不断的接收区块会导致 snapshotImpl 越来越多,什么时候会写入到持久化存储中呢? -SnapshotManager 中存在两个变量:size 和 maxSize,size 此处我们简单理解为目前内存中有多少层 snapshotImpl,maxSIze 则表示目前固化块和最新块高度的差值。 +SnapshotManager 中存在两个变量:size 和 maxSize,size 此处我们简单理解为目前内存中有多少层 snapshotImpl,maxSize 则表示目前固化块和最新块高度的差值。 这样就很明显了,如果 size > maxSize,那么说明最开始的 size-maxSize 层的snapshotImpl 对应的区块已经是固化块了,它们可以落盘了,然后会将应该落盘的 snapshotImpl 合并到持久化存储中,这样来确保 snapshotImpl 不会占用过多的内存,而且也保证了固化块能够被及时的持久化存储下来。