From 84329d7531e7b029a661a0e7c793bf583961cd82 Mon Sep 17 00:00:00 2001
From: ttmdawn <2086232477@qq.com>
Date: Wed, 8 Jan 2025 22:20:22 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=BF=AB=E9=80=9F=E5=90=AF?=
=?UTF-8?q?=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
...53\351\200\237\345\220\257\345\212\250.md" | 254 ++++++++++++++++++
RuoYi-Geek-App/image/index.png | Bin 0 -> 44179 bytes
RuoYi-Geek-App/image/mallMenu.png | Bin 0 -> 129777 bytes
RuoYi-Geek-App/image/template1.png | Bin 0 -> 42225 bytes
RuoYi-Geek-App/image/template2.png | Bin 0 -> 43239 bytes
...53\351\200\237\345\220\257\345\212\250.md" | 136 ++++++++++
...53\351\200\237\345\220\257\345\212\250.md" | 145 ++++++++++
RuoYi-Geek-Vue3/image/code-edit.png | Bin 0 -> 180320 bytes
RuoYi-Geek-Vue3/image/code-show.png | Bin 0 -> 170060 bytes
RuoYi-Geek-Vue3/image/form-edit.png | Bin 0 -> 166287 bytes
RuoYi-Geek-Vue3/image/logo.png | Bin 0 -> 4879 bytes
RuoYi-Geek-Vue3/image/online-mb-code.png | Bin 0 -> 149041 bytes
RuoYi-Geek-Vue3/image/online-mb-edit.png | Bin 0 -> 185794 bytes
RuoYi-Geek-Vue3/image/online-mb-list.png | Bin 0 -> 149588 bytes
...73\347\273\237\350\256\244\350\257\206.md" | 3 -
16 files changed, 536 insertions(+), 4 deletions(-)
create mode 100644 "RuoYi-Geek-App/RuoYi-Geek-App\345\277\253\351\200\237\345\220\257\345\212\250.md"
create mode 100644 RuoYi-Geek-App/image/index.png
create mode 100644 RuoYi-Geek-App/image/mallMenu.png
create mode 100644 RuoYi-Geek-App/image/template1.png
create mode 100644 RuoYi-Geek-App/image/template2.png
create mode 100644 "RuoYi-Geek-Electron/RuoYi-Geek-Electron\345\277\253\351\200\237\345\220\257\345\212\250.md"
create mode 100644 "RuoYi-Geek-Vue3/RuoYi-Geek-Vue3\345\277\253\351\200\237\345\220\257\345\212\250.md"
create mode 100644 RuoYi-Geek-Vue3/image/code-edit.png
create mode 100644 RuoYi-Geek-Vue3/image/code-show.png
create mode 100644 RuoYi-Geek-Vue3/image/form-edit.png
create mode 100644 RuoYi-Geek-Vue3/image/logo.png
create mode 100644 RuoYi-Geek-Vue3/image/online-mb-code.png
create mode 100644 RuoYi-Geek-Vue3/image/online-mb-edit.png
create mode 100644 RuoYi-Geek-Vue3/image/online-mb-list.png
delete mode 100644 "Ruoyi-Geek-electron\345\260\217\347\231\275\345\277\253\351\200\237\345\205\245\351\227\250/\347\263\273\347\273\237\350\256\244\350\257\206.md"
diff --git a/README.md b/README.md
index 6cc0683..acf8111 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
鉴于此,RuoYi-Geek生态应运而生。它旨在为广大开发者提供一个既保留原版本核心特性,又整合社区版优点的全新解决方案。在RuoYi-Geek中,我们深入调研了企业开发中常用的RuoYi扩展,并直接在框架中集成,确保开发者能够快速上手,高效开发。同时,我们采用了最新的SpringBoot3+Vue3技术栈,彻底移除了为了兼容Java1.8而保留的老旧方法。更为重要的是,我们为TypeScript开发环境加入了常用的tsconfig.json配置,使得开发者在VSCode等编辑器中能够获得更为舒适、便捷的语法提示体验。
-除此之外,我们还会为这个框架和它的小伙伴们注入更多超实用的工具,无论是日常开发还是企业级项目,都能轻松应对!想象一下,某个瞬间你可能会因为我们的一个小工具而效率爆表,简直像是开了外挂一样!我们真心希望这个框架能成为你的得力助手,让你的工作不再那么“苦逼”,变得更加有趣、高效、舒适。XD==😄 \\(@^0^@)/
+除此之外,我们还会为这个框架和它的小伙伴们注入更多超实用的工具,无论是日常开发还是企业级项目,都能轻松应对!想象一下,某个瞬间你可能会因为我们的一个小工具而效率爆表,简直像是开了外挂一样!我们真心希望这个框架能成为你的得力助手,让你的工作不再那么“苦逼”,变得更加有趣、高效、舒适。XD😄 \\(@^0^@)/
RuoYi-Geek不仅仅是一个简单的升级版本,更是对于RuoYi生态的一次全面优化与整合。我们相信,通过RuoYi-Geek,开发者将能够更为高效、愉悦地开发出优秀的企业级应用。
diff --git "a/RuoYi-Geek-App/RuoYi-Geek-App\345\277\253\351\200\237\345\220\257\345\212\250.md" "b/RuoYi-Geek-App/RuoYi-Geek-App\345\277\253\351\200\237\345\220\257\345\212\250.md"
new file mode 100644
index 0000000..d6b8254
--- /dev/null
+++ "b/RuoYi-Geek-App/RuoYi-Geek-App\345\277\253\351\200\237\345\220\257\345\212\250.md"
@@ -0,0 +1,254 @@
+# 快速开始
+
+**注意:** node 版本需要 16+
+
+## 迁移到Hbuilder(不依赖Hbuilder的项目不需要迁移)
+
+1. src路径作为项目根路径
+2. 将index.html、package.json、vite.config.js、tsconfig.json、.gitignore粘贴到src目录下
+3. 在src目录下运行npm install
+4. 修改index.html中的./src/main.js为./main.js
+5. 在HBuilderX中运行时注意观察是否使用的是Vue3的编译器(若不是请自行查找方法解决,本人对HbuilderX使用不多)
+
+## 安装
+
+一下三种方式均可,感觉速度 pnpm > yarn > cnpm > npm
+
+**_Vue3/Vite 版要求 node 版本^14.18.0 || >=16.0.0_**
+
+```shell
+npm install
+cnpm install
+yarn
+pnpm install
+```
+
+# 启动
+
+1. 将项目下载到本地
+2. 初始化项目---进入项目根路径运行指令初始化项目
+ `npm install`
+3. 运行项目---进入项目根路径运行指令(在 package.json 能找到所有指令):
+ 以微信小程序为例:`npm run dev:mp-weixin`
+ 以 H5 为例 ` npm run dev:h5`
+4. 查看项目 以微信小程序为例:
+ 打开微信开发者工具,导入项目路径 dist\dev\mp-weixin
+ 以 H5 为例:打开浏览器,输入控制台输出的地址
+ 注:公众号属于 H5,以微信公众号为例,打开微信开发者工具,输入控制台输出的地址
+5. 打包项目---进入项目根路径运行指令(在 package.json 能找到所有指令):
+ 以微信小程序为例:`npm run build:mp-weixin`
+ 以 H5 为例: `npm run build:h5`
+
+### 代码压缩
+
+默认是启动代码压缩的,
+
+如果需要关闭代码压缩,可以将 vite.config.js 中的 build.minify 赋值为 false。
+
+如果需要打开代码压缩,可以将 vite.config.js 中的 build.minify 赋值为 true。
+
+# 内置组件(geek-xd)
+
+1. 颜色选择器组件
+2. 二维码组件
+3. 圆形菜单组件
+4. 常用的订单组件
+5. 信息展示组件
+
+# 插件的使用
+
+#### tab - 页面插件
+
+可以通过设置参数中的 config.data 来实现页面传参
+
+| 方法 | 作用 | 参数 |
+| ------------ | ------------------------------------------------ | ----------- |
+| getData | 可以拿到上个页面通过 tab 传递的参数 | 无 |
+| reLaunch | 关闭所有页面,打开到应用内的某个页面 | url、config |
+| switchTab | 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 | url、config |
+| redirectTo | 关闭当前页面,跳转到应用内的某个页面 | url、config |
+| navigateTo | 保留当前页面,跳转到应用内的某个页面 | url、config |
+| navigateBack | 关闭当前页面,返回上一页面或多级页面 | config |
+
+#### auth - 鉴权插件
+
+下面所有方法返回值都是布尔值,permission 代表权限字符串,role 代表角色字符串,复数形式代表数组。
+
+| 方法 | 作用 | 参数 |
+| ----------- | ------------------------------------------ | ----------- |
+| hasPermi | 验证用户是否具备某权限 | permission |
+| hasPermiOr | 验证用户是否含有指定权限,只需包含其中一个 | permissions |
+| hasPermiAnd | 验证用户是否含有指定权限,必须全部拥有 | permissions |
+| hasRole | 验证用户是否具备某角色 | role |
+| hasRoleOr | 验证用户是否含有指定角色,只需包含其中一个 | roles |
+| hasRoleAnd | roles | roles |
+
+#### modal - 弹窗插件
+
+content 是消息内容,option 是详细配置。
+
+| 方法 | 作用 | 参数 |
+| ------------ | ------------------------------ | ------- |
+| msg | 消息提示 | content |
+| msgError | 错误消息 | content |
+| msgSuccess | 成功消息 | content |
+| hideMsg | 隐藏消息 | 无 |
+| alert | 弹出提示 | content |
+| confirm | 确认窗体 | content |
+| showToast | 提示信息 | option |
+| loading | 打开遮罩层,需要手动关闭遮罩层 | content |
+| closeLoading | 关闭遮罩层 | 无 |
+
+#### bus - 事件插件
+
+eventName 是事件名称,eventFun 是事件处理函数,请尽量避免事件插件的使用,请在组件销毁是解绑素有该组件有关的事件,避免产生 bug。
+
+| 方法 | 作用 | 参数 |
+| ----- | ------------ | ------------------- |
+| $on | 绑定一个事件 | eventName、eventFun |
+| $off | 解绑一个事件 | eventName |
+| $emit | 触发一个事件 | eventName、...args |
+
+#### socket
+
+设置项 enableUUID,是否启用基于 uuid 的消息处理机制,要求当发送的消息携带 uuid 字段时,返回的消息也要携带 uuid 字段。
+
+设置项 enableEvent,是否启用基于事件的消息处理机制,要求当希望被事件处理函数处理的消息需要携带 event 字段。
+
+| 方法 | 作用 | 参数 |
+| --------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
+| connect | 连接 websocke,当连接成功后触发回调函数 | 最简单的用法就是传入{url:"ws://demo"} |
+| send | 发送信息,当 uuid 不为空且不为 false 时,当收到携带相同 uuid 的消息时触发回调函数,只触发一次。否则由默认处理函数处理。 | msg 消息内容,会被处理成 json 字符串 uuid 唯一标识符,可以手动传入,也可以设置为 true 当为 true 时会自动生成一个 uuid 并添加到 msg 中。 |
+| close | 关闭连接,会触发回调函数的内容,不会触发默认关闭事件的处理函数,也不会修改默认关闭事件的处理函数。 | 无 |
+| on | 监听事件,当收到携带 event 的消息时会调用回调函数。 | event 事件的名称 |
+| off | 取消监听事件 | |
+| onMessage | 定义默认监听事件 | callback 默认监听事件的处理函数 |
+| onError | 定义异常事件 | callback 默认异常事件的处理函数 |
+| onClose | 定义关闭事件 | callback 默认关闭事件的处理函数 |
+
+# 作者建议
+
+### 对于选项式
+
+```js
+this.$tab; // 建议使用this.$tab进行页面跳转,理由:便于在跳转前处理其他事务
+this.$auth; // 建议使用this.$auth进行鉴权操作
+this.$modal; // 建议使用this.$modal打开弹窗,理由:便于以后想要使用自定义弹窗
+```
+
+### 对于组合式
+
+```js
+import tab from "@/plugins/tab"; // 建议使用tab进行页面跳转,理由:便于在跳转前处理其他事务
+import auth from "@/plugins/auth"; // 建议使用auth进行鉴权操作
+import modal from "@/plugins/modal"; // 建议使用modal打开弹窗,理由:便于以后想要使用自定义弹窗
+
+// 也可以使用下面的方式
+import { tab, auth, modal } from "@/plugins";
+```
+
+### 对于 ucharts
+
+建议即便暂时不使用图表也不要删除它,以后可能会用到。
+
+# 压缩内存
+
+(主包最低 809kb 左右)
+
+### 删除 geek 组件
+
+1. 删除 pages_geek 和 components/geek-xd 文件夹
+2. 删除 pages.json 中 subPackages 的 root 值为“pages_geek/pages”的配置
+3. 删除 pages/template.config.js 中 geek 组件
+
+### 去除模板
+
+(占用主包 582kb 左右)
+
+1. 删除 pages_template、pages_qiun 两个文件夹
+2. 删除 pages.json 中 subPackages 的 root 值为“pages_qiun/pages”、“pages_template/pages”的两个配置
+3. 删除 pages/template.config.js 和 pages/template.vue
+4. 删除 pages.json 中 subPackages 的“tabBar”中的模板一项和“pages”中模板的一项
+5. 删除 static 中的 uview,里面都是示例图片。
+6. 删除 plugins 中的 config.js 和 common.js,并在 plugins/index.js 中删除相关配置
+
+### 删除 uchart
+
+(占用主包 175kb 左右,不建议删除,以防以后会用)
+
+1. 删除 components/qiun-data-charts 文件夹
+2. 删除 pages.json 中的 easycom 下的 custom 中的"qiun-(.\*)"的那一行
+3. 删除 pages/index 中使用 “qiun-data-charts” 的部分
+
+### 删除 uview
+
+(按需引入,没必要删除)
+
+1. main.js 或者 main.ts 中删除
+
+```js
+import uviewPlus from "uview-plus";
+// ......
+app.use(uviewPlus);
+```
+
+2. uni.scss 中删除 @import 'uview-plus/theme.scss';
+3. App.vue 中删除 @import '@/static/scss/index.scss';
+4. package.json 中删除 "clipboard": "^2.0.11","dayjs": "^1.11.9","uview-plus": "^3.1.36",
+
+# 功能演示
+
+
+
+# 附录
+
+[Vue3 官网](https://cn.vuejs.org/);
+[uniapp 官网](https://uniapp.dcloud.net.cn/);
+[uView-plus 官网](https://uiadmin.net/uview-plus/);
+[uCharts 官网](https://www.ucharts.cn/v2/#/);
+[RuoYi 官网](http://ruoyi.vip/);
+
+# 联系我们:
+
+### 技术交流群 QQ:744785891
+
+欢迎所有对 RuoYi-Geek 感兴趣的开发者加入我们的社区😆!
+
+
+
+### 商业合作😆
+
+我们欢迎各类商业合作机会,无论是技术咨询、项目合作还是其他形式的合作,都期待与您携手共创未来。
+如果您有兴趣,请通过以下方式联系我们:
+
+
+
+
+ QQ
+ QQ号:2086232477
+ |
+
+ 微信
+ 微信号:tantianming000
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+
+我们期待着与您建立长期稳定的合作关系,并共同探索更多的可能性。
diff --git a/RuoYi-Geek-App/image/index.png b/RuoYi-Geek-App/image/index.png
new file mode 100644
index 0000000000000000000000000000000000000000..8704d10adca1ef70bc7c0baa64f80f3f93623273
GIT binary patch
literal 44179
zcmeFZcQ_mD+Xie?Evltjt4gay(blR}RD)7Gu~$(mM(w?-w2fM|TC-LWdn9IzwrH!i
z2nnKA5HU)k#Q5TQ-se5O_kEu~zQ4cY_m^>8xpVL9yw2-7?>7c|nk>xR%v4lVERVGw
z8BtMDk5W<5Dl#!p{&U>O4x*wGpnCjB4H!hdj&KgM!ujJmB~Lso+uvL)4Zhen)qEph
z-5+9PA`*}@sW;K~I7hH_>YdhO6E4LYDHk56*l*_Avrj%YOfwr6qfT~lzjd98=Fv4Z
znnyYJ;pqL%%`4O0c6WT88MvM?{ORa&j_UrItB5<^*iptQ;pB%p@td1+5w+CZsNBap-fLnnf|txKJfC+~Lo=^^Y}`kt*aS#rZ5_ptJpZQfw9#QzDi*3ys@^Xb|FNc4W!Bn$
zG;-Rgi$D|ul`GZ4uQ&f#Qwh))2NnL^@$;&*QPNS{TaW&+rb?zU`lsXn472bb>;DY%
zbQS)yn*Z6flr#08vq}4(D~RF<{&Um*|K6b_!Wa%VW*YL^!UOPn`Tp3|2FpP5G!_xQ
zw?3=9t};Qw{c*W{h2^hnF{_umc_bXA&C|L*uqLZ$FyiI~Y%(`jFO`{HuiMD8skY{}
zZF6L>vyqZlWzlM3zw&m>jMfzGiNWJ6)|Z;9(H9xI0CF_maPl<{W3ZU^H
zQA+X*j@1rMHkztgy)n1sKu)v3qTreK*M7zkso`K0J^44VANS!6lkT>Lq6y
z@wtKP{C9dj*xk;)L+RdExu^3yx^qt^99$zB2@}?eVI9bhx|YuoPM+0Ao%(t3{H#<5
z?4*@zzn+|#xkD*&mvkjXBoXC^U>iLOr8c7MbxLPNMO*z#Q4qW$A@*V>L4P6>qlsHW
zCq2mY$hR?b!A=5QYjU7X#xTOf_{bO7lLhdHjXQIP8XK>vjXaeYu;+$V)yW=;Ast93
z-WJDvTPw$t?bQZSq)G%j!Yv>%+&{b}TU{Ky?qew8I-A1wx{D5z@Q8v^Xcmfky0CctsDk!AXfOS-PL
z=hQic_f`sXA)j#nH6t<7ANPm&dIm_j$}*(#*jQ45a|5Asu)o1Ji1KNBr^N8(l82^K
z6&WvxgrDg&dAoE&j%^ZA(lHDp--RD^=&!|0BT4)iYqb3s35hPfbZIh4DRkn2f*dLu
z$l0#FcT6Omh2Lu%`H|iF{9SYBNY{M|0#1xcq1IUI>T;^{2!K`fkuqSDMdtpVQ~i+<
z%au9=Q9%&IlwPY7);|6TVFPwv^St-kC$cEon}V$Q7=>tKCk?tJ$}s@;RROKDx4DZ|
zPQp6EpFXY&2Ro_uY)YXFkvZdA!m!va}rJxj!HM!Kq=_OZ~RMhRnG_QpJ4
zL4s)Vh6uP$v)=7h)b4^L$0TL%w|o{F$aQ=5Ub#ekV$>g%yZ0zhDxc5l)#M$72a^`{
z>dP0`W*C{&8p#{VZNY6QPrp5jz1%k*ow#TqrVOA_d^PeKRt?Brp3!r--Rgr$MmfU7
zo2FYz+j8YQcNyqWeJ2N$tA$x>!9^7;*S5K9?u)W+BLC=ynDlo9jX|^8tc&H?eUmaV
zo)}Ugn6i?{YPUW0YB#wdy3zdnd@mI_l}3)`z>LgEotrgggC*IXv|Dw&Oo*~vJ?-Nd
zf|(6%qH-OavDllz@TGj+=O>KhvuSJR{Z@NDFy>)1{Qb~|8(y|B#IpgD5e~HLv-Y8e
zYGQ`RH*jMo#{5~nmDwCON{soahl|;&r&<--*;!lsE$_Yo*nCNR6sAW0~$Go
zgjTojRpPHfwSHz
zcr%T%a2k_M<-K6Zyk>V>jDcsqnSq^~MUB=jm+d#XfmG&V3w@{)%gL5Sy2np1AH~ma
zmj#NYn~Z*PRR^|dA*zY+nUxOkj50ztL-z8(W>+26u?uC5d#^mw9Q(#A=IdnvTWTA_
zIH&8*z)!3yEKPp@`XEmN>*zd8U>lTGXm)kJ)a_YW4O@1juWbTjJPz^hh2x#-u6r6?~BpBIdz6(|Zmw?9bn(lkKrT#bC^JBm6`{
zRlx}rS?Sl~t%=J!ori3dXaH;+>zeuf@cg_~JRB7IYoNjec=cSd#X(Wa
z{1=?pq_3s~`f812Q~rl+aAXIuy=u_4zFmxucBjbYS!0c2U;jB>ir3M8lvT{Y;c+Id
z!iRfCVSr6J(?ffQ*tvA&}V#?70rgKGUTP`dw#jOK*YcC=Ekr6w{3*_w&
z1uY}C7Uv<4tldm~DgBu~Nkbp?E^Av>j&Cpt8UcQxPa1zYC1J2YuxY-Mne&Omvkyn;
z`U_ksDiI$i07VdB-@Phj3)#i{AE-;7wChDle^-;fC@FzcI-u=?B`TUs3@-(k?R!Zs
zE4~&@htgav0d>|_Pvpuc92g+
zuCfNfWt&DomrFzVwQ)AC_&O;ruh!4dla}&P|0f4*`uTMy$J%vAgh5e^`RF>_&G>89
z+IH~K3ix8SUXCuch`_V+Pt<5FOws6Yllk
zfP8lF;yZ*Pa+zCjm+tKoPClFF36Fj~RNF*kR`yZ(l)NX~s9N%+WapKC}d^!F-!A@*P
z1XrL2v8tg|kW)zXc$#wfb<)thL=5HThvd4?6i{kxu5v)%cGEJ*CU~?q~M=I404rQJhLd
zj!u9tn&BZ>j7&jK;-sovu64Q0^wS;I{Op?B+mC)_kYvhbR4~)ImZL+9Ywc)KX0;lT
zvv2R@L3?4gf0$&4?!G&ksJP+ziVKj7?y}5Z02I&m&O(4HJ4OXZ`x!d{W%WpZD@c<=
zf}o-JYPn~}Gsrz>z7|JY8{feP4Ygell!SmOhYJlp(}ydY)wg6o=PI&O0@B_Db|_tq
ztnHCaMaf3_(NVDR*G0s&cL=!WMtvt1f^T#8&?^e}#n6+>75c&kR@BzlP9PKc=?9G
za=^PIXdW8wuU?|lbUgXiopJQ!QeA}fg<|bJ(U36r$lPbPtylK`yePvsd*v>MIkdOcl_wbhJ%Nsy_N
zoW)=XYtwCE8=&a7fZg4x?^&|h@S2GT2lF@akLd50Bq~RRBpvXEe;RE~BGmXJB9Y#=
z4h~#AP0v^P;Ej0J_2uHY#SbT+z&OuU=_0*%<<};5+1jA)`mPQB(;Gag6R$>aeOM~R
zi!u~$bG5cx_F}Bk2(Gf~E3mc*RwPQ}Q$B-ZJo{p|Nf1;Lg!GH>*DJz6o^UqQE#ILZ
z$;z;V!?s$Frh2u>i=Q6`J{f3Z&f-@k{?VcJEv6yjGC43W%1j*C&%rSZuFb9
zQ$%{c82QuT(G+6MB_ty@{4P^p{2bwH;f(qCH`OFjjnVdUJ80SV&z=DA+KM*|wrEK0
z{7=N_FZ52ig{j@exBfZb+^pHkY}`x@iy^6QmY!_po);~aeTE43zRm4D%e>VMWYaYC
zE9W?))+`LNj##91&>+c$ZePf>&YuPIDZ9M%reXO*f$j&FZ-zWy@KPcKaT|!jD@uoC
zT>p?Z+{n3{B@#$zTD90YBcWKX-;@yIY&0IvBgVTm4$vx}SXppeaQEP?*4ReZ>mnOy
z%1HvmxpK`K3T%<0?~<$$ZzA*zcqUY!uY~l0v`rP8%k*oh_S^b(rkAnRnzf1K7ZatT
zEV*8`W>)UDwzi&@XRBNGhIP1RLKWuk!Y@(CI2JZ|>Z-6Ix6#%xx3=1br)_@4yM%NN
zzJX2aAlR6V^4Q9RH*=xQNQzFk1XD>E=uUC9+L&z(45gi2we2*dTKchD)CNRy>q~#N
zCj!dxQu*!9RGiX=Sb6`VG)skP)J?cXgQzJnT}#3sE=?_%fK7*bOO(9JFXk8N&BU~b@u@mB3IcfL7Er4Hn;6i7SeyGpqO
zLf8B&R-V|gTlM`GM!kF2R1Avf^J1Q{FiT4wW~fCmh6vq$f|%z^D1)Ew`p8yW^jyb6?Vm4AJXQ
zJ`SmRX4+&Cj@g3RZZ;Qfm-+78W2_H%WKcsyK4W{vA;?ELE>?-uhnkkB0bm^C%*Z8F
z5TAazWq0koMJB=oJzrSg$2LBt(r)sMZT;MlQhQA=C1$~AeFKAQ_r0vVvu!rTz;%TO
zdW?2}*lqOc4YD-{5jt<;YF>pqJbWjJsxSddaUPW$Xx#y!P3I0qvwT@w*MhDyh2|H*
z!+CyZS&`MEfddOj@$d0kj7h0@+20dzSE(eMdO0wL=Ntih@Jvx^Ta!R~-d-OK2k|g8NEdYF=QO!EXkpq)$XX@UI<=i1hzZ
zZd;Yn;le)_{X9BkdwD7{SfbGip!jY5R>ubOOS*Hgt3Zc8=~FBe7Gek^DgG^R)AVjK
zqftqMj2x7K8QP588<}uUN44_3R%-h$Z}2j#w!Mdc(z`p&$%Laq)UMmuuwE=G>*Ctk
zFl@y$(%NcB+h|BX^`zpU7C%B3;v+GB$Ydwh%H{
zQ`UZXKhiN{S=VSnb%Ng1)~mIUF0OkAaPcX6*5Jvg|t1|3UKC+9e=dn
z{Dt`~(eBpD>Pe~VQ5W_V!jpyv?*&eeeuTuaiXnW)W~*DDhC*r-?NogK6k;HH7TKo7WaDPQ|Z-(Hk
zn;LJV^O)?Und2<1Oa%v2+&;W{&=;?rZh~~iZ<}7?LJN_>){dVzU~@&Jh_l%CH8d-<
z&}4X56?)5Pq&%@aBg*al$=U}7t^|$zqR}F4Dg7ZRO!Br!0MbAzx=N>dM2LB6D`;hq8y`CR-y67%wdTZSo%R2S~x
zTcR8>S6HQlap|i-TgOmlw(v-q{wcxqAiE}`mB~QoX&MBXvpCo8SRL-Dmw2@L$p;0|
z2Wa>({oq#ARrZ9{xLnslw2TaA4JkDRH}f(8a%uE-VIx)xy@$f&Y(6gD+QzpUuGS^5
z{aIf$j1Io2kE+adcWhc&xW3a=*bBD|tZJ|82Qhhl^JwJKvw}13jo-(d%>KBCqML8B
z6^BVmh`{wFhTmlyC<3~V&gwv><=eNGK~4Nkm33n6`OtdS?>V$JXBg<#nFSG=41lr
z4fy&KM0RPq&_^vjawPN0wd6RXwi{Wah<|DUHgaHBS9kV3v4$lzoZisrn8EKnOfsew
zzGWT=LaWfxNUN{Jnn`TUL=toHi!$;+@Bmk*`OJpkXnxTQ_W;{^&B+u8ZTJAei^;vNbk**wsl9s%NjO4rTZWWsjV|LorU*^|v$
zm_jdqFguVNsEh1Mazvt?xwu*yeHIVPzjYyb{7a)LRy0vrHDlB
zd$>NZ2G^xYsSafd-=OO@oO4btWqA{rQju0r*o?zA&l}}YxR|w&1t`_6-HQ-CdP%Qg
zuC53V*Rso+8$4PtJ!pb6&}3;4C#N16s%HlE6bASK<6wo<3viFpkcQGA`JAcaiuC`ENgNFU$k@`^3_%aWgl5b
zXpe6`!H030$7bDOve(9~X@Y(xIU!rL3~*N^W2Yy0_md|6y390w&Z9Pc9RrzVxhM*9M9{>tWO>^9?b_f&rP
zDRP?>P%`(@Q+pWYeclDZ2i+3)fM@F2z&bJh-4UU|Z^C_^MqBQc-w=z*wt7WXaf|31
zA8)NGSOUI^wFOgR%V`s5h=6sE`=-J97MJF#J{i+L%cLDrtSQ8L9M7DPD~Xl@rh%nCks!(`>qkYV)!4{
zv9*Hc#Bq>?*+^9mLx~?U?s=eVyrs`YwnBvtUiPV)))vex)Wes(asm&n|AWfpRBZ0o
zIN&{6`Ey_?;wyih25R(!Lfrj4_6~%JD~n@bZ8tQtj3*8Q8ig(#A^s>TcXj(;4&kG?
zQa)KG{q*cd?8OSqOSY?x#NdLmwbLX}sjbm9J++{|^!&&N90(CUkuJ9)&u(3W$BC0>
zx>%Xv(DVy2KF<%DI;LgD?-=R3AM0Mt$Z2(ZQ9ie%x)3rWio^pT1sjh0{+_LpcTZ#JTha7%3)U(g7QidFxRVl@CHTC1
zk=WbT5kAF|id_#){W5UcXmi$H`1U}*L>5ZHy2MlEo?@T8K-S(kw>hBwVB{VTHR#S!
zdS*QDIK6Gvo_I5QRdBz&P_6@K@aKteD1~!Zc%~*g?Amup{DUDa9gM>&6SERvHIk(P
zc%5%{9{QV8V7I7D+s*(2yaOtFg|)DuFtR11fHHI=c_o&I^@(yIMcYF+t
zgy;sOm`x%(D}GShZnA5o+kiB0939`pi@B5P`Xx##Xl_zV{l0%-EjwB_eqW8in6K#b
zy=rGX@OZjVkn1UPhBnXH-Gh|yw1|uKRBHD8pnp#h}t2q?oFOdeP6n2
zTjA5Am}Lv1kUnT-4VE?f6EJ(f%|qY!1yF3TmsK6vG^4e#Zuz0Qz<@6m7abD$*b?R{
zA>$J@77XP{u{bLW$HJSy=$x1WUy~aR%K^k(&RFK3kjcoWACqc7t_{3$t6G!nv~sk?
z8a&m%3iTanSdK`iah5+@`*z&w(+Mjj$WK<29;4@5Jmd^_Kh89|x5qdd7Ke
z1=zJXbKO{_H+^1N&I`U59W_<}x*AYxB?thwE6RZRl3U@Ph6Q2@7oPa9b2{@>wwI3)
zltr_d^j<)hP3T=cB#sMk50MR7D5McTC;w_2Z*}`G(L~|{uIN_(8bq~Wd)7(+o1mqE
ze$rlcKcOk}QrntM2^_g*U|5!cWg5-WnFvH}6aQ>evMPb5X;ZX{(CJT9ZX5-h1xxoA
zyl4KLn^R;zu*Ys=S~>YC>|zQBag9g`Yl<22kO
z7G;e#-7?Y!C6Du#6*`L}46m0noCDF$q;dGK?VKDLJ5TR3jicY``Zhz;IH$)eKgX-e
zuw_M-d>Jn_>kmCXhKZ6FD6zzT=2^l;$xHXYolTQSP#iXxcg8JEy>gDt5)E@dP0iNZ
zhuT?|h%0$dv4R>cMv!`@KT96o2p@cO?s=H79UmK|uxJp>LHuR-7G>>kX2#
zjp@!jR;{Kz3Z1RR_pM$og0P}J6)O}}El}}HdhHFl1X;kqtf-S^Efpa1#z543)l8;^
z>xm58ex{}5eY>;8HjQN`VoPLAaKClWh8!H&ss#c(QIHf5G>m>Hs0(O@yrT~sNPwwl54tvL?x9+PpCYj0mLJL;7F+EFl}lx+vV@R1Wl-Np
z`+z*MXJ
zV3}7)BLw3EdM6YbmITq?0WCnIv{InU7i1!#sPJ%y67ZvsxlX`e6=^jQ9PDdefc!qm
z>F1!T1FLS}uyWXOoVW_cg%Vu{fbW3lD_!*OjKBN9>CA1d4NCti`e#3PsifL1aB7ud
zZ21@DCH)B860tF95mCqlq(WJYs?3=E3V3JO`Ba`Bt#w$m161O$=q2Z|$Y|!?LoyU@Qx*UT(Fl7QF(DD(esu(6v9GD{4O%Dy*_q{#;8{
z!8mZtB-f*naSw>`5|@POBRI5UnD48|Nj7SX%cwl>S9?f)=XTXd#_rEroKLp@ZXsW#
zOPy~*E~}@-g~B6s(0Y*;Xy&D#HHW|3K!rf{c%{XOOyk~r?ki=F4-@B|xV}gDs1;buX41n%+CFE_|5JjXz5yQ{M^{hMDhLM7clgzxVJ73$1f3N1q1zy)MajB
z8~QjrNTciuLeyGD17p0ndW+0k*SNm~j`gb4Z@t40M
zy~-N_UMS3JyqvC%vlccnFYbct+mq6oDhinHiQ%Vbp#)4CYWdfn|LM0GqN)qI+B;pstA13)lSEH@yA6w`x9Nl8}$3LB!Es+1jz!7=J
zz_pSTb%P~0pi~lgn6`>~wS&v!(><-TQn-!2q8qJ?bck)e9BUT>h0hRrhdfqoDkPTzlZl
zT@&4G@Rz1Pgpkm~E&!_90B_C7ayH{YX&^AfHxELYXF&(lhL=rQWNp?oSd)v0L~h)*
z>8W8ZXe{oD*#{!vVO|2fl(Z)^1!3HGQO$N2)1Ef;o5@o!!^v{)i9S=V72yWneOCx*
z;#&J@0Q|#+k!W^e^+GkaJ-qJGUNtX7tt+xbVJE6}-erj&j%|oGtph|X_|$U~(zH#o
zCTL5uL{~J=v&hu35qO~Xg8rUHNl#%K<5m?4ch5|Y&@x8SUX;F5My;yA8guIf563hR
z7AyFjLfls;uQ=*vdr;EyJG0I1Y=jE$5$t9)lZV6x;5EbmnPX#jlnwxp`tbcTv&9uw
z&V{n3lf|Mone&7WJT%;ypR!D~2RUNT54L_5=vsU1V
zEh5WO_0t%^;b+d=w=3FvC^%wnCAzfgi;arW{nixVqE3SspW+h
zqSOg3Y*Xq9oKN;YxHB3N97L0ue^PvpQRa|@s2?Ka#KpP=OsU9PPkzDNP*yeoP3=BW<%+8V
z&nRrKZ|UsvBy<#1kb*t~-ARE*l1X{oO|Qz~u44hNwqYfcz$)^92X2Pkc!Y-LXmD{>
zFw2ogbx}p8M*#~29f;G&ZSL1Kr-OgKbkl>#RSU4>46+!kvOpA=aNkByHwSSuqwY06j!9VhgAhL=O)jwzv(ZX}}DB*(+A
z|7qj#uEri8zI6;7crf1l;Fzj=?v2N=syziWNK-O=ZuSLw0X)H=W|{)-{!a5TPYa(y
zhO-vTMJq--rEb4)Rofg-V6JdDz}Rg9bLJDY1;fcK@(}r(hj8C_{b4qy4LDLE_;euL
zO~@Ded}P+Kv#EFClp&&&W5jWvUmQ;_Ypm;^SdwX3F(MoSN5qod^hZzdZ^lkj+oaHn
zAMS(Ol)#HGNiAlGs>8*uj3PteW-WZ}SEf~3sLUZk+MR6x=LS|bQz(=)So60XuRxQj
z({y-U^0M-Y4<Xd%)b^q7Nfb#&>t9gke@Q7;=UKe@gO*RV7twDhjs9OD
z2Gz|$+OMQZeu{zL$iEnj_VCOrZTQ$P^>P?r6Y7*H+K<)3e=#VDm-`w#
z_o3)iIU=n0Z#CSsIrrJlV;n*$2BUu$(EU%Hi4K?7>zytsO$mMYi;x4e?)+vHuSn
zqJ$g_T(<>_nN-5WOD!)C1j|Uq$uDfYh>F
zlH7`(OtR;+|2Qju;&wx1zK0b-Eui5UNSI-2g^g9QTF$poKhX`RoOb09I5;$N^c
z<8zQT7Ek#uTGviw{&WV-WyRZpII5r>gullt?1bMSB4YHaZAty(?_npuw)xeHOfp#3PAiFQ9a=`4743H<
zvx-~j+>xCWk6#@4j3#vv>rHehO8R#@;-n{ZUF6F9JzgK(!lC|b{TVw=DB>hI03y|7
z9enFS5Luy80+&oMlMAvo^+G#)rNJhxH^O<-4M!;j)Hl?7d6a@8YVX{Tz1-eylr$S9
z&vAP&&YH5z?D9N&vS#3>zDc2hanW@`p)0D`{0mxbRiCpZtzg~ob!7W;1ZIA~!SlWw
zr*#T$b+3)F^)mLF1sK_qQN}+X+2uYv&RC{j8EoM3i}qo!m(dz2E)`Z
z0MfKe6t-B!m6$av?i#fUQM*QBgZq8*8wT_y`s$t@xngeJbo%02!G`G{13&}_ZBC`|
zVAdX44D6(gZ~SmKDz$E7D;Uolsgbku>!eHe3=#pBwra1o8-Xyz#sS>AcBG9XexJ0g=MpcZrGqT$IPH
zxU$|V?u4Fd`&9m@xHSoy7$^88$hV$&Q+=mb{Y2$LGV3MdDh#EJNe~y%Mu~^0l?mT;
zsv+<1cIodNvL&iih1)
zqNp!|rl>%b=WupbhR-Kg2}4$%V14w9M@UF-vw0TwT0)DPS_|=_MCMhcV8+gKe}Uf#
z!ThuPTldip-Hyuq0>rk}eQdIpYq4Ck+=?)r4xNDzxYeQ;C5?x29NXLy=TcGSpP9|
zFeK1s797UQusR+8$h7jccDg1Xs_oO4P6zv{Agq`5_&Xj+LR(YuP3DO5m~r0@6R$BV
z?_!g7EZbB@bRjGyjIsCSS5&a*6jQPW%X#C~`6N^zkzpn!+VA|6H$v#w+9qtg>Z9Fv
z864T(Md*mPqt3~jv`0H`g*mVer_kT=7JR@aT}N2rQyB?NP*54-7n|o;588{~v%c6q
z*!Jny=H&?NFvk(ZtZ#d?I>lg*ImN!3FTs1JeFs^zH^q(`R_y$m^|Ti
zF;w?Yj?yq7;?=j!Nv|VaTEbb7H4kU{cN-xF*L&>cSnw{NQs`G2yFZGoHe*{dXF4U%
zB$M{e-ENsWFL8b+qqp*b#YKmYiQY4UgEztk*#)W;comYqX2rM4rt~fCT}IJ__HZjw
zi^%oA$KLK%MSBTxbEML*ULH(|yLM6C!C#ZHmAeWeQTdq8h)tB8ebr?kWliae>f7hC
z_Bow_x%jmDGKqp67F*W*c?$;WStQGXyG@AF;_x&Qa=f0MKc91*K2253wi?zv5%D69teUnWU6*G@%tQS9>{Uy0z{B0pz44Dy^auGxjZf97a8{NtpmFcS*
z^rf3O8J?I_Ya;osgkXkcwglQI1l7=+Q;*B%&A?H_4;2&WH5T%1ITOvBy|H%#YZtKU
zMT*C7`*2i7p6~B=K7H}R@A;V@7MP&MUQZ2^ce5T$lC4+k`K4TwNtiiq?R@{@yIB{$
zcBrM&l}D|DGBmhIL59Dx%68uTsTPZiYQ%=2QkK`xf`suwbssMTv%Tfg`U2LL!=w}y
zBx-J7+bns3LT9A1s4HBUxve5y8?VcuMP|%Ati)K`5%Xe7Ho2#8L1uELKY6}7;FCA+
z=25EEQev1olg(EP^CCAW>*XD0;)NGG3=*?(#Q0{pm}DtZ&$x!*Ss*Dp`ixy=-C
zD3}1I-qhJY>4jWFDaE*-(~?@Te+K=gL0{aeH-ZQ-t%M=*0hT6%B?X31o9qi(GFl`H
z->JtKm}~9L3JZ3p+y^Rghyb$q^b`9Y3!Zlw1aJd1mCV>=X$k8N;FW-Xl8^*F;4L2Q
z8$i?aqwD0S6})@gh-W3>2j3EPBeJgQC&!`Es$rauZ;P+F-G;}oBa%(MroC=THnP~@
zU6R*AdskqJ_544gq>cOXx9@wYuE~{cskH0;9W-iDAYoRQ>cX#qtt&y~zhc6l$iG6q
z?9)G}rT-D<3rL}27SY}WO0aZU{9j@rug3N(i80P^Pot@CR{vta#&*wFS*w~4#Yzb)
zM<^iR|HPdd{n@|nr~Z`k3`gZnx{)3ocRu?$H=cD8J<~*_RZR91`}#Ow;4kiJ22wG{sEPRrFbjvp7ekn}SAy>)*@p+Xs4-Y6%)6X*k#=hhpE7%t&9t(~7neCxBPD
z9ozb4rQ=42O$&e2Ufh)LJ=VgoQkR4$h)!zP#g9Fk#(s10)UT+;&r!Rcu({XRHR6=P
zyoKqT=0uFso<}4Wva#Do=c+$ICh1aplNsSkCwyX}k*JKbK9&O+sKbf|@}2j@JxhH6
zlZz;w!mR9lRsRfOV_s>h(Of6&w5KfLYgbIscqYK0($e_0oiVt(ze;QrK3=ah}ZbnXgXqVhgHD=E?9_(X`SfmMVh{
zk&~_s>{IxHwHo+}_gSU!;byG;>1xhg3$_NOBu#-K2rhC*nNZQh$jo@fj25Es%bN
zWwdqpLZgp9$snd%U%9`i){?47NJPiAGt@2@&&qd|VB(wfZP2?@6wQJt-
zGO<3)6Ia=d&Q9{j)z7&5=4K``2&A$Lgq0>&Q?d#4#r#@dL_l7{SKr6)LIaem&i#B7
zu|T*QXV)a-HYhDBNVuv+kf_lvg!s=*vMnACTNR`R>d_+G;>BjYcdD@WiC?Z)TRw6_
zDF$wO&jr0PYKz&a=f9)wx@5*V7!$MBX@*V~M=7RXFDmqr_ulK!OV&K5`Ef*x)k*ILrKJ3_t4ooq
zQM@h4_ncwz_Bqx7Y{SI7L66tv;!Mh=u_M{H=)&U!{+%x_~rWt)1!!EZEY-T?ocX%N!PVNr_=X4ZRY6n0k%Ywb{1&9-A
zp5fSfSb(&V=3R>WJyFKD^SXW8LPme)4UYrAJ#W3bCiC?5dq)4htGDhkOE$bY{Q15!
zRDkjsA?|xCzL{Jn!wN!$3s2e06H!EU#pmm^JA-@KWNcF*JlY{d0EzcJ8cxi=j86U)
zeYA<$t}rxo`|10(p0DN#^u~G$JBg~8Nk-_U0v*t*;d;%KfR?qh@Onn^OqAlD<*8ob
zoWwbaR1*rXC{Ro(DwMewNZ}p*IsUo4(-Y
z%>SY{M@|2Y-c)~L%a#KE0#l>#e(nE8>uvuI_`|CNKK0V72d5qUKQH3EUd3PY@o1K%
z`02Nq|BK($VlK{lXIm>6i_3qt;><8hk;W$OCw@QU+4O}sB<6Q7S
zP%wQMEB}8z9Q3w{;lhhu5&;7b+O`kf>SlZuJs#uY=~+!A5~r5>GYPAu`S8lh+jiVt
zZCAY5w}Q_p{RJ9QzyjB_=yd=^LrObutE}5(c~eNcyOX0OIy1fpGi^+LiF^&_4Ng-q
zFlv1k5&8>hjH7V4Y_?*cgg_5%?l}Lg
znBf(chm#j9omv^}UjSV(H}ir%Gcz+=HB!i-kWXiGcQn78PI)>*Tr_Z}P|A6*k(QD5
zr7^rbYFrYAnVIo0t+uMm%Hsa-x11b{8Qj3&s)`D+9Dg1LqY}TX5r2MdwHkPZyDTmo
zACYw#At3j~XrPXLVSIvufr`pszF)V*Q%H$$&QHC-+}>ZX%Q8wuH?#kWC7$HzxDUWpV3kM
zq06pgtMp3Z6r(w^(9x84G&34Y5_#APL&Pag;`?HDtgmJ#rIoLvszw3{#NHGoMlJSV
zT7F+bhfg>AY9+PmkC36~OXdn^(|sKTD9a#VeX3d#IsKK20_^^NAu6+amK_(1`-@t?
ztnzPQFv;ss>4AGf)hV@Z`Y#5O)(D}&vqOA;QR@+uLwM!fXm78EWqVMa^6s#DwcPLa
z;GKE69WZHOe+Ty}^cEf#Qe9KSrY{{M(`6?g5px6HJF!hUSWY{1
zWu2xqHXf24f9CJJ=YJ43Ne~Y`*mZ65$6uQJISl6C6kZNy2$H^2NBPE77lVQC-|J$}
za#@(0f0#jpqNt4xaXOL+M^!(2FKGsa^&|%28V0J>>x|`vBmVda^YC!xl$GnP6X$-U
z1{y4*on~S5#i@?ZkzuQafcPim@6ggZPYubLHV=#}*wvM~ICarNYS?L3wO=NC8g(w&
zX=}~`1bXI+8}z4tq_0d&%cX3}oKa+gShIwA{nz^XdUpaEMw;1-Kp{xqZ{|0?d-v{I
z&5}m`w44Ge6CcmeOUa~2$Ea}!I|Pk5JJzKzj`s0~x_{$c9VycESpNATU~OCkk|g|{
zm^4n)nKTpi#-q;THcPRLR+AUjGfC;UR?zp}4^qyRrKQeV5Fg5sl?^}G-2yjCu8rxd
z@Krk{5KC_2eP?|xOCs>me)x$hb)z<2U0u=-v6{&Yam&h{`-qHQ
zD)wsMj^m`fD?u5|v})x1*E6BJBbvH*h!_&P
zy1@>5v#{h9LwAL1Jj7q$Q+NLIeecA%>JjQjri8kf8@8r3MB>NC9BLsJ-KbwC&8wkIVtWJ~sk+HB3V7OrsJXe35Ou?OG2oQgDa
zyaHzkrt~qiR@{gJ240W}VxFuX5@Xt>K2%9<${=iNJ*aTJkyeIIs3#5)V>~xr-Ijz`
z3868{S{7+Dd+R9AJ&cjmSrJKnb8`TMDDF+SrTzpXbABi?AKx|8z}$R2gT-m>ZFM+P
zKHW&?aA>z3ol;4RwwjvS^mtc5h>Sw60f!Mx#$kYkR(R3%tl&~{H@0N+0>W@5Qnx2N
z&Qm2M^&a5?xNydKyh2*QX?k?Fq(|RaAFFBm5!RK6DJd+7f9e%6nrQaL)X>njwY8P|
zmr5Qt)ItC-j=(>xe>b|e?9gh%jyHS
zMl;D=sP*wmO8he4S6(60h9^PC(_;tN9uqUOKY@>qk29uz-@Pg3*lb#M=H+O+p_3GUwYpm
zzWUUbj#-U8$tE9}AGPW{IJ;db4`QRI;&W+T51Fi=>ulNE*}dO&E4*QzsXd;!MZ@l8
z>&lGl+_}aqRCbedp~QXa0^&h3O^WU&
zzT(y5>9#5NBFx!nTgILn`j4E)E~~RnzFq8)54dp%oE1?{b|Sa7w9K({aEOw<(ghk-
zJkeISs+9@JukuN`TtI#DKEudfk3W!1%ANd!|}K|LaAk6o*msxzzPo*Q0{lo%lBE
zP6IZodZtkstFhC+e*NNfovEF@aqYWxy`BS>05wu6LVb-IS-Em|)D0tLBt!Z974x`Q
z3TU{%Faewmmho}KE$?I6S&>4fE`2sWcmPL{RCe1Pq&net)
zR;uo~s_r*U7Wck4`^wG*A2iR_rSj_$K=XDp2QrFY_WmJ(Xi)!+jc-lIn_@r7$jU}V
zmzJ0JV|k0@ms$$D%!9
zvwFqF#=1;a+g+tZZA6Aty&wxtmQ>V=3z^F>UrOA0%wgpb+1Ruf8YwUHjlh}alDm@jiN_fsnm1o6p
z36WAM?YlXRz+20R-I^+r3YyD?GY&3YvYI?#18pHB?8$`+7rThyKjs!rDrzU(`{Sd|^%L78cP6QHVw
zyoAYwY@2y{eyyV_vl@s$j)Y8(5D>rW#DAdVb9@AvI?ZNR1l^`((IwF{~7!0w}
zN;2vkd&^pN%>Lk9w6^;UZ8oYkj$Y(eL3rzxcL$1Gs7{9HXs{VM`GQ}oCN4jK;Us|S
zT{1kRK3{eMBrYxvJ0HdFqo#_BA9|aUF51>kq>ZH?R3?Pjim>A$Vs21z=(yxNe&;>*
z%>$EX=GqM&C*(8!0w9@}gK`!qXeOs2WCYvrY*^tve
z@4k|Or;)4h>Na}Z)4Ug;q3Tu*&<+#+ard0FEc*;76}>>B|mMXb__-C0N-PYj@e~|rV93pR9r#2x}*|LyT
zr@_9JAT@JyFJ&|f8Y+2o_VU+3UITiAc70gm&cPOFze^91x5d7^HXc+vP?J|OHs;WP
z=x5|%3w(Scn_-oru;}IL>iWbeZX!b*LYF>}BR>UuHy=7;zL__&wYNV0$s=I}`Ao^o
zmR*ZGSt00GE*7G7B^R&}qu_MML4xW+d*uhnGdii!ic
zlS+V#<|mCLHgEp~1xpa$i2#I2!LGovb2e0|H{L!@zlSc8Y>GtuDq**Y7f)kRVVyUCylV0#0{7M@^1|M98SU>l&(H|JRor%@DDnKS+j@
z4CApvI*5Z|-Fm>MhmS{bfn4j)j!X0QoB)K|d`+uZ`JIC1ty_mb5LA4QW-S=07>h6Y
z5@+(3**OtrZM5_3p`f3Srh6xIZxtUg_v%2)?f0!I{+>Lla^J(Tyt~s
zUF=TS|8|G+S?l5Fv`1nqymR+
z$W9`5=%2Lzo)9&%M~E}T{cj={dM{@IjS0PZwOKcP9Ph7p;Oe2ZOJj;tvurxK63+$u
zLqyMr$NUa*X|JC#RfaMG*`rDvuj`E%#77|4aSEZ-bZerTQVHX(=o4}`$T|lyhcg`v
zKw5$IJaXc2ED}}9I{I)K5+&mR40UMTjBak3-tHc-t|PuwIt`JR5k9n(ec+!d0e_Ak
zTgutgDHLd~dlo=XLGvFZNJ2>!JfF3J_bRaxXGPt?pM!`ExKMAe6`JZlNF133H4;Pi
zOn#boFE2yuO3EuMrS?J&n26+medhN0^Lv}K>#4tmt*z~EZzo}K-_83CN&Aq$yb*Am
zqe{Xnoarkd-Ke8>qslUSg9W+IGV|_1IGmp!-@w&PNJt2ai&|W#>ff)(MJpUkd)B*5
z-ZGqhg3WEU?`I-5bR|m`)CLsYV^xiToaBpq-&IANN)iCCNzY>Fcl};+H^CbYWJcZ2
z%AhZG(LV1$Z||d_VxODC0Yu}#zP)~pQ|Q3~BgO|N1`
zODzmgpC}bw%dD)ID9rQc6_1+g>d3Fz{>j?Q)L@KRW%2ar+KP$+`s?=@uge~^d;o5R
ze=LsSMw3^pNe0_VamoA0$ct8$$s=wH$}dOUY?yh)ZtISYKlE2cPfa<~(Sa`H{3Nro
zf*Y}_+=i_)-t^jge?YRvf@~r{;iU$U3ylkiu!6oXdaq^d*lq(icVGHFR4ABtsjI6C
zmm2yqFyLdi8r%VpDJMQqt2gM^aXsj=W
zt=~QAF8#dd*G>o^t02c75#8Zxzg`(Y|5wV@PX~`JzNNpBa-Vs1lW8;nxG4x8(8pi9
zJ&PXZcDEqz(~a}hmY^f)W`R$BWhF6`j>)e}W5zieLiqJj|3w5X848wXK+2X(!T!4?
z^g{p<4m3~3_RQD!!IJ%likq0y)6>bri+#&my%Aadv9GvC%?#yxWKh(2bje31_X}@n
zU`R&;V6{ky;i!jG&yxI>yt;b6(>nMC1PxJ?fkXQQV9YD7VyA4i_X@*dp7}$23`epw
zufi(G5?jVg)ZXB2NH{`_C=os}kRBc`qbyanoKB>|iotlxlPK!K53i1MTemE!vfV|^-d!F^f$8)OUKx6w5YN$~F`)l#=PbSS8B*1I6D8M%x0B3kQ_nyw)?
z+Ho~n8isGz>~~x)#olIMYsL{pBDsVc(o((i`4H+Y2j$P7o}NaOdbftgM~jQ{;P8x}
z|H7lja`2leA*#5pu#B6v*&AUi3c*Ls6I#{2#*sj6D!!fA^&$ix>F!16+
zuS}@-Tiw|>y+wl5#*@U^T5-Vz-3ugDmduEnA=ArDs)!h3JAhy$nJ&5NX4nD+1|S{Y
z#}vJ!g!sh*An)44(Bd{?@Z>ehJcQ2)u`(AlA5u(6H>W|GvA4iRgVIi-6#Ka
z)WHoNZ>G0}NUy&NdN_J~&1xN%_Z4P|JNZbBY`+M7pKH^av2^1ke8yBmBP!i^4Ba!<
zmMt01L5(~k$Ag?;^RwBKkEWudy*w^|C7Pp2p-Cyc?5KoMBq0Fv0*%=R{y^L~?PZ^*
zDnb=8zsb=1BtM{}-92|IO98H>l*M@EZ>vh@*bVZ2V9Q=MHS|l2_VVI_VhIraGY$i+0HBcOP$pT^Gtl1Eo?Vd5+#|NP2n+a^jli;&jlLE>xIsS`mp5Y8fOHP3pye0it?t6t_m=#2rfcEA%CrUyXu;
zL3*o^>wAk|jr{5FMW6YO3+v$0rG1&KF@E}6A_TN?nFH#lGJPWh>PALJg=yu>YTTFN
zXz-JxN31AgHW*Gql(L>&))eGw1?H$fS8>)ag6+1HEBXfq^1`3r~fu08Dc1MbQX)nN(St^$a>5@
zg;#L>l4v5e^jo4Mp4|emAxVJa)Z5^fR7Rc^O$=G(F3w!!pBwZyAZb7*I0
zCrTCZ;)a#azy;c#;?8g2)aWTF_Jl`7dQ+RV5jP52XIDQF|v(z2cQhYB$U7)oe^U
zoHF5(C3hLD3)cOBaj@0b(OuxzV&KAZV7kn!8kF
zh81I;y~}+3XP|;2+vJ_SwqYIedY-OSvVvdPl;+^LPNR<;_PT#*ze1HlkofL#bCau<
za_Evtu5NZNDk}`!lrrP3^`a-X#LPVR`*TU#LTm5o5H2aT)y
zvt2u}a?vH4QvN!{&{ogouQB&5R*a@e+kk8`6IiKLbfrt|SBVp>4fCH(Ubkq6YZ?}P
z8Z2Cp-51Ip?iu>cUg>>qX}PVHrM@f49DB8oHXxEB$NnX#Ik2dqvs*{0-^srIwc*u~
zE&Ne?(Wgw>Ac}FbDc6JdIkiK2-C?li5yd}0KN;)m-@Kf+{h@RvH3p(3baRMA~py0~3wQx!WMltX8aX~8Jd0{KE8o&I3
ztku*CNpf-NT;q7@_zl<`f;CeMh(Gp-@@cg!uy53a&=6L9Xb5=xl7
zA%>iI6G2XTq`0MhZ7M7$Ic4IBzCO){f=s4d0BtaE`!eAd#@@nLV$ynIofFseAWwr
zw+ASK57!)G0Dnvtq%q3w2N_HAyLWqUM&m*YtZBmd?AH{&F}8E~ph>8VYC@_bG{@bh
z>icmi6Rx2rT2=sAef%0n0S)5e0^Y_*Y^ahLVGu5Wv^a~7iv|`Mln=vK|3>_DO~D2i
zJrTBqhQP7pf6Tysu5C+t~-)ea|bS}sC=vh_O
z=xB18k0Kb_9MGyeSR~y`E8K+J;
z3U?MqRpt9##`*fN2)95$VSPM6Wt_9e!RqZ-We;=t>!uV1@)8p%gv!h6lFEam?B;l#
zf5NPQP7$jB`^~vL?o$z)_Nkj-xV#fuvt+#i8^#sSm4+9VwC7xqoBPdCgvL+M&5&2|i
za0<7^6APg;aOPeHRi_DDYH=JTLW2lf?M`5J1ziEgMn+2<0n1;nX3Gcopl*UluJz*$
zhu1YpWt!{`;n5@Pg)T8M^T5FX?DyvJ5m^aK9*jK5R3lBU-bQJZ_?$?nj#em6+{GTPYaH+zHRtQs
z1%P^_5~ilb8i5Dd4+5N#k~!x(NbV&{Y+DjTdZ-Ywf(O_s2T&7b1sa-$De!OoEH=Xp
zurP$#t+^awd>0v|=`~U&?cb1a+UjNg>6)XUoW8>p5ZkCrG5J1nA
zsQ}CZ_OXE)@T-?VY-SyAjWG1worU?uw-w1L*RDA3!j;{s30RU^zK=rW;HbfH=P4
zcLMB|{l{#W1YYhSB7`jo)M!-6JFpY+1_D-db0l}1Hx;YYr
z#eZ?>0(}V;F%qRsIhvw92a3Qe^t@UfCq#)7AsZ6C4u36uT81>ZPIb$m49sp3LQa(N
zL6`t?Q*d!c!xQG@L{11ejy>lHGINryXz_6_{q$x*aZtXXH)?+Bb-&&W0OpY|kqJLi
zA}^mFQG4O92|V@US2S$xv6sURv&S*yiYhjq6ln-tO2F8$l8*a8Wt6|)#vW826
z09O<)bdNuv#Zp5RvlUI9qOJ@JpM&^>T-8#h{d<&Xu&g_(7)qaWzXG%PQxx<08CaQIo}B_fX4*T@BGTa6Y3)U4F=if$<6`mlIT+{XVikj
z$uph((kb@~G!|4J)!RYL%Z8W9{TGXe7Bx#k2vL{u)=K)`FIEe4HvJMBn-vl=#zzr-
zc?dqGClBHtclKq-$wytMaVy2IDcz780$f0uxyiUtzw5VKaC~Pz*M6RzOxr^?+}d0&N
z9|C1g8(=tqO%Wch<(9?;p4V_-{@-?tN-6YeJ+KROIsgqhZb|(e9UYtjF6#a=yu7@)
z(!59NKCU|f6i`96!yS_EBjI)9pH|23A}dw{goRWDKtmu&UxE0L08{*C(MLVp>mSKd
zX{F_rl^&wC<^F7J41dl$3qL;SKc}N7Fqa@X$i4xh+r89X7Gz#8
z=n}}v`_|MX698hB@;7g+83pKKFd@B4FeP9|&U5uR>Hk{;Y|H2MmfolNhP(%1$^B$O
zCW{8Q*EmadcV1onZ3;*SoiX2MpaHr`eXg50(+_g=N+9mjAVw{_#j{K+RLGRc^cAqCmZm5-1{(KQb+T0$G
zjXrc7Y}hAGDr$X(&0%vcWKGGjHqcN
z8;`U~lY@w+w5jgilHL%Etsi8MAM(YD6s~f5b=+3FqFnGK3oSZFYaJbxFnli%7#R
zBezl00Vs*rSv33XF&TnMwF<^IBKhby2Z97{bwQkE{4r;Lp%17+IX*4`
zP^$){2@fELnh>e23EL2=A?yuqlU6s{`tRRIhNB2FPqt4@R~Gj*3<(ud9s8WcU{<*&Hw1w*>r6`e~mwX{+rc+f=!Zd_ouhLvg%X6EIe_jP*|GL
zWwv#YuUwv*Jj84LE4yx!OR7)z&I%W+tOk03)_rW(72n_GN^WSd
zbym*r%%eew{IT+S{)QeyW!ie(cZxZWC7Ec>CcldLY-O_!MXScE9O->AzSlEgFl6o3
zbA;UIAJ$X*^tL@GV1&=bkB=!ZXUe;>T(-7z#H4Dsdv5i($YpHIbLgjo{w1V6CXron
z#xnSDi7hoDmgO4d!=J;t2%n(9yep^z8dP&0H5s&7AqoN#86w#_F87>FHYMbS98Zq+
zdY?E_ji+#HEbHF3i63#FE4dH2lRp7%mYa;`XI`?~L3^`OJ`~stHxoo~#j>ovd+=!k
z6w7pSp2D`apQ0H!MJhPJ6Wlm{YG4+_xw}#*8o6EVV9%0|$XPVZ;*)NwK!RRTLD|_O
zu5hYBJWt8WzY?bSIkx6zEWX`SP*`9?TCnGT{Q2z&*YE~X#jcnUqz`D)LA&%@i_Zid
zeE$)A^!82^-^=%+w%t5pVW0MW{Q2wFiEU`+3k{pgdGHcz8^a)2dfN!@J<*Poqu=6-
z5bsO5IbszKvFq#=e0n+4T971GS^F<9Zd8&MwXIVsqK&kvp}C4A@Wkw{lp{BS^M#9a
z7g?|(-4gCKdOYBY#U-$>85aH^gO9mD0zod;g;L@7o7U}a=GJLvpRJ!NAnl#LC9LR=J*pAmChe3*bu~79de0Zla*D5EKu=f>oxX
z$xkfBR7$o{MLGU`_5-gb*Vo+Mwq(veLMVhlu*<5j+t68qIY>~T2cqluWgiWH;J1EE
zF8JqV^D!qdN%ZY@He`08WTgOIdF!%ig~d}e=`UTV0drhzPPSKz=~Y)?uMX1Y
zp1q3=Mh6Yj{Eubq`Z}3(pa<40SdfFjKufy;RK_m90A{_Svj_=_uaMLbMeiMcVub6WQ$?YQ{ycT-i+7wF7;`@+qsh5EC0YP)
zuGu1_KdQ`R-pOC5LfO2vu1-m!RzU}?sK}Cts>CL9;kd`*C|+FLzz$y4hbu|?Cz4!K
zL3{Covcwh<;DG{-$+=L+a+fniNH*p4s%uL+IdPHK_{8Na^D!SXicWs+S?R^vx(2Q=
z1z0bd3<-<*1X1^MU%)Xi(xsss5NxVK~AEt;)F8!2x*UF3=3ShGaS^QFC>oi5Cf&61pnjIEnhMc
zDBJ?%5klwDo6ji>u01J7i3A$4+#*hQ)TU&8zCSqDbuTYij1rgOZK6Bg-ntP?XtE?a
zS2IX8#~uxF*aGgv
zW&kpS;n>;1awq}qV!?=@$t=&Y(NPw>G+S;9VWVE%(ZEuIw_Kg%s5H!2L~tSvmI0;#
z&w+{HQXOUA7aWt1|MBOzn%+jxEOjHwcrS(^55Cp
zOx+EM#P0#b
z<-lB+iAQ-|_;V*R(&O;$5}axX
z)cvOlv|en?eGK;j`Q7Z!-9Lvrt({jm_Y8G4`Eddq{a*r%@QH&qs7;w?pyhoxUnKxv
z3EGRbbHfSK8x=ra3)c_Y9C-NHwY8ob5lpB7iQA^eDF>|zP6xRVYAW|?SvmXTqks_`
z7R32g;BSD*8SlZ(G5AIg+qO4m?z5O6WhPm7+|BGh(G|xK&}hJdWao_{i3Vn07wjLW
zH#k9MI+|*0YxtTH39IN
zC9=w9G!Fg)fw(So#%N1o7HNa1pzXAgH0(e(t>oh$kZi?};7V<4
z?uC~##GHGF`3l8$iLjw0`&GAzcWr>Vx@eN+drA96@@4`?0cEgmJe4}Nhros>FXFH-N;ix~Lq1QaIYR;k$9RBTs6L+xI2~Jp~|pr@L{<7nNOq
zu>LF7`^OWVw0gUmSd1=NK|o#kWZDfC%nmVUzuYJ!d_r#Wb4Uq^p5(7>>Zm770tTOT}>R$U(;x
zxr*^uLrY{tbn3@1-%1>a>3a$kGcq)NTNT{>3NZ#;4n5bq_>a{)d0+ko`3A-xK{u2=l*K-vT6?iLw)j;Fo`hAP%D9
zNZJJu6(B;^Rm%P;1`UiX*}stCibmG_Q?8j?m%wK!&x0@=a0Em7aL41M8K-goT=Y4B
zyn67l%tDdrVf;vs#?Y;QQtq$E9wFj!2(abRp#2zlOe6H1RrKdU>Hh*>p=+5R#Mj8H%J}%@WpAJgI%H7&4>KA6?v*s}O{i
z@!hDI-TGa4%>)sRXa{~G$ORYDEb#sd$*%4uibt=4_FXJ!c=7>dr{%UuU
z(H8i=o=wB-zBJcO5F7$1^^g3G0?wE!h|r?IX)&Hn&rgx$G0fyD=*h{K2>GtXD^Be2%lw7JtS#kJmP4C#?E^3&+~+W~J{hBo?_WSM=nW=1kujI(=}uE%45O
z)nW%lEP2}h(!e@jCaY;twApQv;&}b#wufWqda3JCMNj_6)l>4F4Tqg1)lY9j?gf63
zkttFQAKaPBt$k2g8GkXiJv(T|&EMNl{P)+1y~czPPk)%}#@0%X4mw!)WVg&hZvvNR
zTE-(MO^wJ3s+5`(h)=;}WNtjF+non4+In+@NZM`6CZ6rjNUdm>_#%Xz1twXI`d>P;l30Z=>iY_
zo=PkD2p;j#Kqyp2a4tMEQiF&qFR1cz^ktv(DfSnY;G6}hsY(=5409Pb-ZvQv4umx2
zc$9THH=}77FUwQH@YjUE=k`VLfsy9$SOh-eN7NEM3779%IP#!5AI65Fwk{dKjZwGO
zy)ksi+Zh}dw);Zg>@lyBw2JxeJ6qSh)izbpx{rQ1d%W2^n8+fHTAzgzJg^_kc`di_
zGe1cIW1u?`y!wrkSwCT2FLQWK2j?QerVHasorBO{<
zN1gQyypkRc-Yd1@9rqm8k(vY*5-d1TD8GMc{GI!(Lcso{gDdDdtXmOY&k;<2eOi7K
zUuUby$Z4wH)!+e7j<99RL?k)0@#43MD%;d`vT>#vP?gXAQ)nVTmwhSaTCqXOZ{bQYzI23@lkH3)h!1gMf13{6-d8Opu(NTr7cJ44J
zRb|$`)IaNhO^hA8+dTNW5O;$QD`AnS(0+D$49XX^X!n_bt=7VJm#>=)pL{K5L4o!8
zN+Pk_>TKn%1KZlp@T_)8;@)oNk2xcQ7Tp2wE~Uj
zyRUMOQts!|)`OV<`F$;R!%>G5!ptMHy%+OYBkjfQy*a5lT?!96BGADN-+jzc4u}K8
z*#gO|>&_ri*V;$c6ZmJlN7C=tL-Qst`1hcWHoKWAW5}onyWfu#w%0W>*JD1G7?nDa
z-;OTsH0XG<$OaAs1z?ax&j;Z@dDu$ij8MC4!yQb9!$^&d#XsxuutP0DFP~@Om8-a`}BV<)hBxV+q6y3n7#vqzZ#IxF&x>D|7
zkc!6^ys*?{>o9O{7aS9!GIXd||F#v!z7SJkQ8Rc)iI199%I&@mBdFQu%oRJ+p
zKGo1Swyvvn1;<{0-S8g9C=yr6VH6^=qM9ItLM`)4Lq+#P2_N2$VQ
zM+Z9jEtX2+mE18^8Bpc1!
zSn3I`3Z_Px-JfU07!o7p*vD$BtVNMRb99`7&{q=9#y6m`e=rY6-xot`5b&t2rWKQ+
z(h3WeDsZqGVNjAvMgiM|J}G{CalC-Ud;%o;#MU@|<9)Gj3x&@aR@6*5&;XxYUuqxIHtJ+Cfb$dEtjeMjaCSTj0}D6GP$JDXFb=+amH@}jzSD`$9ee>GyWC8e)
zNE8if&fX{kqok|DQet8(ybjL%<)rh%0)`Ju+qPPE2FwDWR^?5`R%PpzzMBj2754@#
z!b%s@L=19oC}=vSlMk=>+tu0xP065I;s(i(oiJ6ShqS6HJ;-6hShWN(=8rMEdl4`<
z7;AJQW!@`aHqlD3=RA9fpL6Qon_NW%q!Py7zhaAr$9bTVTnLQ*4|QJ6$ChiiY))R$
zLA~`KQ%s7Nd%$+fl$2Yvtda=gIfU0-F*h$}C&vmk@jbW_M)u&X56{7ydY+ZsZjH5H{{jZqXqV6sOwh^3eY41;PajPS#LUl}W!C6o$FE^I(10rBz3!-S
zKv3g#ULG~6b<>^UV6NAn%QaXd7xyY${ZvX8(-RH5>f;0ul|q5ROX(&w^CM3Zpq!fT
zNr)x(-zClPX85gre^*Y;=_(~v;+)DTVEWvnB&E-LEnr`no5obFb#k|&ub3Z!E{qgW
z{#@uIvCK3byC3ImAgkZnXLO0Mj^V)@pSSz;1LhN>T3aQT^&q2?!-+5gp_xc+&EE;8
zv(LiOY3K}eCORu@G#Nv_QZD&IXDiZm-lD>ALhz)rI&F+@3s*p48beDh@47W+{H$oZ
z$EUuBY#PmT9(lf5w1aAX8~?N7WOUX!Q|bQY^}WR8{kPoIZ%RlK9+glF9#w+HHRR`W
zuYF^pgBsP72p1Jz$?5*6a%zDr@u#+HvMD_kW+>Q=8L&c1z4nynG!isnHS>7|8~+x~
zZ3MgSFr@1SLvnh%#6IPvX&UoaDbdvrnQ)sN>ZLl`djt(fk~Y+J6mysiwZ
zoRiy$fVt|+>9?o%$FIrMTHqUJdLXJXq)61u$MvF#sfFu2Bdy&cOW*3s!Qde@zNkgS
zT6Kp{dVvymt4=O8itiaL;hrum)%u4*c=29TGDhl3N|Y$HKtTM?BX9sr9@R6cS$@>a
z<^Q^9+Q%dJKHkuGneFAwgO*-i97}!N$odtE=*8v~Jf3vZPAa_=Qo}
z^xYd{W7$i{?l`(ep(ijZL0!`PHWDN{0ringT_O;%b#D_y@gzv5hUo`0?=D8a7@l}yTOo>Q#MZu2L}Zj>C}h3GN}wCDE5M_;C#|5
zYIT~FtySIP+IQ1H9>xNAt{!$z+|*peJj_Xho!m)-CAnPD@U5tU0Jl5-v~r)`?yS
zlZj&Nfpl?Nl-}k!Kv-Y9AI^{PLt2oA-OudgyFKJ}Z!bc88H|Pc6h*0b^Lb{ZGb%uy
zvtJ8aBD}XQsKwYjRP;qNL>1;vp^Q`IsOEhyk#Z9oN86Q5kH?PumTQm|Z#Br}Y9
z3rj?atx@o~RQ{5W23I;m6dKERrI&OhQ9h(df`~S4NvQ33)#Ejq(cP`CUFqoJ&8bu&
z*ms9Py|9;3laTe%s2@YKopQX7177tBAX)&$r)t-7Fk1w6$DFo;DTWkMtcasIc-R
z|7HIo_RKFeAuJg)q0Y}d+H6@TR43a%1A9F>RT;adtm>^8kXeu|Pf2R;Q=PIu2gICW;d#Ju&g5qy+;FOP0fi&lTQ+CD^i2e%H84P4!YiP)4e(+0=CD-$6TNWd&y1e
z)bwh@A)*$alP)^;6o${)pLGGs`sy?90kY~6ereDMDaJG=jw$e{5vWPfuDO%&ny!8x
zQ$F{oH*#^PuGEvBba?!#f-{RoYOJ_Doy@hE+zP`4Xydb>PXR-W$WFD)&fqU`TpE|G_)g<44TWN)U#&vaz8O5yUo0{eFD;FM+?1VGtrsVO!MfP6@;)pL?_DMM8EV@
zBead+iiJZXoes9%@*dMAqvjF!NSCBO=n2Hbrujt8_Kb{6+$)8lm`rG!b2^tDoqB}X
zz}~>T7zqx0Xa8s*SOdaL1??}ne84$MONuWP26xd{eW71`OHC!lCdd3&1Z*fxRU`bz
z$8