From 736fc74849fc246c3fa38ed34d91b0a3dc27dd87 Mon Sep 17 00:00:00 2001 From: mattuy Date: Tue, 4 May 2021 14:48:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E6=B6=88=E6=81=AF=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E5=88=B0sqlite=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- READEME.md | 51 + README.md | 799 -------------- imgs/1.png | Bin 310748 -> 0 bytes imgs/2.png | Bin 82448 -> 0 bytes imgs/3.png | Bin 48607 -> 0 bytes imgs/4.png | Bin 46566 -> 0 bytes imgs/5.png | Bin 73202 -> 0 bytes imgs/8.jpg | Bin 25091 -> 0 bytes imgs/groupQrcode.jpg | Bin 70191 -> 0 bytes main.py | 180 ++++ .../requirements.txt => requirements.txt | 2 + wxbot_demo_py3/weixin.py => weixin.py | 20 +- wxbot.pdman.json | 367 +++++++ wxbot_project_py2.7/README.md | 35 - wxbot_project_py2.7/config/__init__.py | 6 - wxbot_project_py2.7/config/config_manager.py | 105 -- wxbot_project_py2.7/config/constant.py | 215 ---- wxbot_project_py2.7/config/log.py | 23 - wxbot_project_py2.7/config/requirements.txt | 6 - wxbot_project_py2.7/config/wechat.conf.bak | 77 -- wxbot_project_py2.7/db/__init__.py | 5 - wxbot_project_py2.7/db/mysql_db.py | 200 ---- wxbot_project_py2.7/db/sqlite_db.py | 189 ---- wxbot_project_py2.7/docker/Dockerfile | 18 - wxbot_project_py2.7/docker/README.md | 49 - .../flask_templates/index.html | 210 ---- .../flask_templates/upload.html | 7 - wxbot_project_py2.7/wechat/__init__.py | 4 - wxbot_project_py2.7/wechat/utils.py | 365 ------- wxbot_project_py2.7/wechat/wechat.py | 698 ------------- wxbot_project_py2.7/wechat/wechat_apis.py | 973 ------------------ wxbot_project_py2.7/weixin_bot.py | 281 ----- wxbot_project_py2.7/wx_handler/__init__.py | 6 - wxbot_project_py2.7/wx_handler/bot.py | 47 - .../wx_handler/sendgrid_mail.py | 20 - .../wx_handler/wechat_msg_processor.py | 252 ----- 36 files changed, 603 insertions(+), 4607 deletions(-) create mode 100644 READEME.md delete mode 100644 README.md delete mode 100644 imgs/1.png delete mode 100644 imgs/2.png delete mode 100644 imgs/3.png delete mode 100644 imgs/4.png delete mode 100644 imgs/5.png delete mode 100644 imgs/8.jpg delete mode 100644 imgs/groupQrcode.jpg create mode 100644 main.py rename wxbot_demo_py3/requirements.txt => requirements.txt (77%) rename wxbot_demo_py3/weixin.py => weixin.py (99%) create mode 100644 wxbot.pdman.json delete mode 100644 wxbot_project_py2.7/README.md delete mode 100644 wxbot_project_py2.7/config/__init__.py delete mode 100644 wxbot_project_py2.7/config/config_manager.py delete mode 100644 wxbot_project_py2.7/config/constant.py delete mode 100644 wxbot_project_py2.7/config/log.py delete mode 100644 wxbot_project_py2.7/config/requirements.txt delete mode 100644 wxbot_project_py2.7/config/wechat.conf.bak delete mode 100644 wxbot_project_py2.7/db/__init__.py delete mode 100644 wxbot_project_py2.7/db/mysql_db.py delete mode 100644 wxbot_project_py2.7/db/sqlite_db.py delete mode 100644 wxbot_project_py2.7/docker/Dockerfile delete mode 100644 wxbot_project_py2.7/docker/README.md delete mode 100644 wxbot_project_py2.7/flask_templates/index.html delete mode 100644 wxbot_project_py2.7/flask_templates/upload.html delete mode 100644 wxbot_project_py2.7/wechat/__init__.py delete mode 100644 wxbot_project_py2.7/wechat/utils.py delete mode 100644 wxbot_project_py2.7/wechat/wechat.py delete mode 100644 wxbot_project_py2.7/wechat/wechat_apis.py delete mode 100755 wxbot_project_py2.7/weixin_bot.py delete mode 100644 wxbot_project_py2.7/wx_handler/__init__.py delete mode 100644 wxbot_project_py2.7/wx_handler/bot.py delete mode 100644 wxbot_project_py2.7/wx_handler/sendgrid_mail.py delete mode 100644 wxbot_project_py2.7/wx_handler/wechat_msg_processor.py diff --git a/READEME.md b/READEME.md new file mode 100644 index 0000000..06a8873 --- /dev/null +++ b/READEME.md @@ -0,0 +1,51 @@ +# wxbot + +微信聊天记录自动存sqlite数据库,基于微信网页版。注意,Web版获取不到微信用户的微信ID,所得到的用户名/ID是仅当前会话有效的,因此只有根据备注名在数据库中识别用户比较靠谱。 + +项目fork自[@Urinx/WeixinBot](https://github.com/Urinx/WeixinBot),我只是加了个存到sqlite的壳,感谢老哥的网页版微信API。 + +## 数据表结构 +| 字段名 | 类型 | 说明 | +| -- | -- | -- | +| msg_id| TEXT | 消息ID | +|create_time | INTEGER | 创建时间,Unix时间戳 | +| msg_type | INTEGER | 消息类型,1-文本,3-图片,34-语音,43-视频,0-其它 +| content | TEXT | 消息的文本内容 +| from_id | TEXT | 消息发送者ID(不是微信ID,没啥用),如果是来自群的消息此字段为空 +| from_name | TEXT | 消息发送者的备注,没备注就昵称,如果是来自群的消息此字段为空 +| from_nickname | TEXT | 消息发送者的昵称,如果是来自群的消息此字段为空 +| to_id | TEXT | 接收者ID,如果是发送到群的消息此字段为空 +| to_name | TEXT | 接收者备注,没备注就昵称,如果是发送到群的消息此字段为空 +| to_nickname | TEXT | 接收者昵称,如果是发送到群的消息此字段为空 +| group_id | TEXT | 如果是群消息则为群的ID否则为空,照样,没啥用 +| group_name | TEXT | 如果是群消息则为群聊名称(应该吧🤣我不关注群消息),否则为空 + +消息里的图片等文件以`img_`,`voice_`等前缀 + 消息ID存储于命令行参数给定的数据目录中。 + +其它信息请参考[项目@Urinx/WeixinBot](https://github.com/Urinx/WeixinBot)。 + +## 使用 +### 克隆仓库并安装python依赖 +```shell +# 不适用win系统 +git clone https://github.com/mattuylee/wxbot.git +cd wxbot +python3 -m venv ./venv +source ./venv/bin/activate +pip3 install -r ./requirements.txt +``` + +### 运行 +`python ./main.py -f -d ` +其中`DB_FILE`是sqlite数据库文件路径,`DATA_DIR`是图片视频等数据的存储目录。 + +支持sqlcipher加密,程序启动会要求输入密码,如不需要加密可留空直接回车。注意,以后每次启动必须输入相同的密码。暂不支持修改密码,可自行安装sqlcipher打开数据库修改密码。 + +未加密数据库可直接通过sqlite3打开,加密数据库需要sqlcipher才能打开。程序只负责记录数据,没有读取能力。 + +### 其它 +关于表情包,如果是从表情商店里添加的表情包网页版微信是获取不到的,为了保护创作者的权益。这倒是可以理解。 + +如果发现无法登录先试试在浏览器登录网页版微信,有可能是腾讯为了“安全”限制了你的微信帐号在网页登录。 + +最后,祝腾讯早点倒闭。 diff --git a/README.md b/README.md deleted file mode 100644 index 4b237ee..0000000 --- a/README.md +++ /dev/null @@ -1,799 +0,0 @@ -# WeixinBot [![star this repo](http://github-svg-buttons.herokuapp.com/star.svg?user=Urinx&repo=WeixinBot&style=flat&background=1081C1)](http://github.com/Urinx/WeixinBot) [![fork this repo](http://github-svg-buttons.herokuapp.com/fork.svg?user=Urinx&repo=WeixinBot&style=flat&background=1081C1)](http://github.com/Urinx/WeixinBot/fork) ![python](https://img.shields.io/badge/python-2.7%20&%203.6-ff69b4.svg) - -网页版微信API,包含终端版微信及微信机器人 - -## Contents -* [Demo](#Demo) -* [Web Weixin Pipeline](#Web-Weixin-Pipeline) -* [Web Weixin API](#Web-Weixin-API) -* [Discussion Group](#Discussion-Group) -* [Recent Update](#Recent-Update) - -## Demo -为了确保能正常运行示例脚本,请安装所需的第三方包。 - -``` -pip install -r requirements.txt -``` - -注:下面演示的图片与功能可能不是最新的,具体请看源码。 - -
- -
- -按照操作指示在手机微信上扫描二维码然后登录,你可以选择是否开启自动回复模式。 - -![2](imgs/2.png) - -开启自动回复模式后,如果接收到的是文字消息就会自动回复,包括群消息。 - -![3](imgs/3.png) - -名片,链接,动画表情和地址位置消息。 - -![4](imgs/4.png) - -![5](imgs/5.png) - -网页版上有的功能目前基本上都能支持。 - -## Web Weixin Pipeline - -``` - +--------------+ +---------------+ +---------------+ - | | | | | | - | Get UUID | | Get Contact | | Status Notify | - | | | | | | - +-------+------+ +-------^-------+ +-------^-------+ - | | | - | +-------+ +--------+ - | | | - +-------v------+ +-----+--+------+ +--------------+ - | | | | | | - | Get QRCode | | Weixin Init +------> Sync Check <----+ - | | | | | | | - +-------+------+ +-------^-------+ +-------+------+ | - | | | | - | | +-----------+ - | | | - +-------v------+ +-------+--------+ +-------v-------+ - | | Confirm Login | | | | -+------> Login +---------------> New Login Page | | Weixin Sync | -| | | | | | | -| +------+-------+ +----------------+ +---------------+ -| | -|QRCode Scaned| -+-------------+ -``` - - -## Web Weixin API - -### 登录 - -| API | 获取 UUID | -| --- | --------- | -| url | https://login.weixin.qq.com/jslogin | -| method | POST | -| data | URL Encode | -| params | **appid**: `应用ID`
**fun**: new `应用类型`
**lang**: zh\_CN `语言`
**_**: `时间戳` | - -返回数据(String): -``` -window.QRLogin.code = 200; window.QRLogin.uuid = "xxx" -``` -> 注:这里的appid就是在微信开放平台注册的应用的AppID。网页版微信有两个AppID,早期的是`wx782c26e4c19acffb`,在微信客户端上显示为应用名称为`Web微信`;现在用的是`wxeb7ec651dd0aefa9`,显示名称为`微信网页版`。 - -
- -
- -
- -| API | 绑定登陆(webwxpushloginurl) | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxpushloginurl | -| method | GET | -| params | **uin**: xxx | - -返回数据(String): -``` -{'msg': 'all ok', 'uuid': 'xxx', 'ret': '0'} - -通过这种方式可以省掉扫二维码这步操作,更加方便 -``` -
- -| API | 生成二维码 | -| --- | --------- | -| url | https://login.weixin.qq.com/l/ `uuid` | -| method | GET | -
- -| API | 二维码扫描登录 | -| --- | --------- | -| url | https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login | -| method | GET | -| params | **tip**: 1 `未扫描` 0 `已扫描`
**uuid**: xxx
**_**: `时间戳` | - -返回数据(String): -``` -window.code=xxx; - -xxx: - 408 登陆超时 - 201 扫描成功 - 200 确认登录 - -当返回200时,还会有 -window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=xxx&uuid=xxx&lang=xxx&scan=xxx"; -``` -
- -| API | webwxnewloginpage | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage | -| method | GET | -| params | **ticket**: xxx
**uuid**: xxx
**lang**: zh_CN `语言`
**scan**: xxx
**fun**: new | - -返回数据(XML): -``` - - 0 - OK - xxx - xxx - xxx - xxx - 1 - -``` -
- -### 微信初始化 - -| API | webwxinit | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?pass_ticket=xxx&skey=xxx&r=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: {
         Uin: xxx,
         Sid: xxx,
         Skey: xxx,
         DeviceID: xxx,
     }
} | - -返回数据(JSON): -``` -{ - "BaseResponse": { - "Ret": 0, - "ErrMsg": "" - }, - "Count": 11, - "ContactList": [...], - "SyncKey": { - "Count": 4, - "List": [ - { - "Key": 1, - "Val": 635705559 - }, - ... - ] - }, - "User": { - "Uin": xxx, - "UserName": xxx, - "NickName": xxx, - "HeadImgUrl": xxx, - "RemarkName": "", - "PYInitial": "", - "PYQuanPin": "", - "RemarkPYInitial": "", - "RemarkPYQuanPin": "", - "HideInputBarFlag": 0, - "StarFriend": 0, - "Sex": 1, - "Signature": "Apt-get install B", - "AppAccountFlag": 0, - "VerifyFlag": 0, - "ContactFlag": 0, - "WebWxPluginSwitch": 0, - "HeadImgFlag": 1, - "SnsFlag": 17 - }, - "ChatSet": xxx, - "SKey": xxx, - "ClientVersion": 369297683, - "SystemTime": 1453124908, - "GrayScale": 1, - "InviteStartCount": 40, - "MPSubscribeMsgCount": 2, - "MPSubscribeMsgList": [...], - "ClickReportInterval": 600000 -} -``` -
- -| API | webwxstatusnotify | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatusnotify?lang=zh_CN&pass_ticket=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     Code: 3,
     FromUserName: `自己ID`,
     ToUserName: `自己ID`,
     ClientMsgId: `时间戳`
} | - -返回数据(JSON): -``` -{ - "BaseResponse": { - "Ret": 0, - "ErrMsg": "" - }, - ... -} -``` -
- -### 获取联系人信息 - -| API | webwxgetcontact | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin//webwxgetcontact?pass_ticket=xxx&skey=xxx&r=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | - -返回数据(JSON): -``` -{ - "BaseResponse": { - "Ret": 0, - "ErrMsg": "" - }, - "MemberCount": 334, - "MemberList": [ - { - "Uin": 0, - "UserName": xxx, - "NickName": "Urinx", - "HeadImgUrl": xxx, - "ContactFlag": 3, - "MemberCount": 0, - "MemberList": [], - "RemarkName": "", - "HideInputBarFlag": 0, - "Sex": 0, - "Signature": "你好,我们是地球三体组织。在这里,你将感受到不一样的思维模式,以及颠覆常规的世界观。而我们的目标,就是以三体人的智慧,引领人类未来科学技术500年。", - "VerifyFlag": 8, - "OwnerUin": 0, - "PYInitial": "URINX", - "PYQuanPin": "Urinx", - "RemarkPYInitial": "", - "RemarkPYQuanPin": "", - "StarFriend": 0, - "AppAccountFlag": 0, - "Statues": 0, - "AttrStatus": 0, - "Province": "", - "City": "", - "Alias": "Urinxs", - "SnsFlag": 0, - "UniFriend": 0, - "DisplayName": "", - "ChatRoomId": 0, - "KeyWord": "gh_", - "EncryChatRoomId": "" - }, - ... - ], - "Seq": 0 -} -``` -
- -| API | webwxbatchgetcontact | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxbatchgetcontact?type=ex&r=xxx&pass_ticket=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     Count: `群数量`,
     List: [
         { UserName: `群ID`, EncryChatRoomId: "" },
         ...
     ],
} | - -返回数据(JSON)同上 -

- -### 同步刷新 - -| API | synccheck | -| --- | --------- | -| protocol | https | -| host | webpush.weixin.qq.com
webpush.wx2.qq.com
webpush.wx8.qq.com
webpush.wx.qq.com
webpush.web2.wechat.com
webpush.web.wechat.com | -| path | /cgi-bin/mmwebwx-bin/synccheck | -| method | GET | -| data | URL Encode | -| params | **r**: `时间戳`
**sid**: xxx
**uin**: xxx
**skey**: xxx
**deviceid**: xxx
**synckey**: xxx
**_**: `时间戳` | - -返回数据(String): -``` -window.synccheck={retcode:"xxx",selector:"xxx"} - -retcode: - 0 正常 - 1100 失败/登出微信 -selector: - 0 正常 - 2 新的消息 - 7 进入/离开聊天界面 -``` -
- -| API | webwxsync | -| --- | --------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=xxx&skey=xxx&pass_ticket=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     SyncKey: xxx,
     rr: `时间戳取反`
} | - -返回数据(JSON): -``` -{ - 'BaseResponse': {'ErrMsg': '', 'Ret': 0}, - 'SyncKey': { - 'Count': 7, - 'List': [ - {'Val': 636214192, 'Key': 1}, - ... - ] - }, - 'ContinueFlag': 0, - 'AddMsgCount': 1, - 'AddMsgList': [ - { - 'FromUserName': '', - 'PlayLength': 0, - 'RecommendInfo': {...}, - 'Content': "", - 'StatusNotifyUserName': '', - 'StatusNotifyCode': 5, - 'Status': 3, - 'VoiceLength': 0, - 'ToUserName': '', - 'ForwardFlag': 0, - 'AppMsgType': 0, - 'AppInfo': {'Type': 0, 'AppID': ''}, - 'Url': '', - 'ImgStatus': 1, - 'MsgType': 51, - 'ImgHeight': 0, - 'MediaId': '', - 'FileName': '', - 'FileSize': '', - ... - }, - ... - ], - 'ModChatRoomMemberCount': 0, - 'ModContactList': [], - 'DelContactList': [], - 'ModChatRoomMemberList': [], - 'DelContactCount': 0, - ... -} -``` -
- -### 消息接口 - -| API | webwxsendmsg | -| --- | ------------ | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?pass_ticket=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     Msg: {
         Type: 1 `文字消息`,
         Content: `要发送的消息`,
         FromUserName: `自己ID`,
         ToUserName: `好友ID`,
         LocalID: `与clientMsgId相同`,
         ClientMsgId: `时间戳左移4位随后补上4位随机数`
     }
} | - -返回数据(JSON): -``` -{ - "BaseResponse": { - "Ret": 0, - "ErrMsg": "" - }, - ... -} -``` - -| API | webwxrevokemsg | -| --- | ------------ | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxrevokemsg | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     SvrMsgId: msg_id,
     ToUserName: user_id,
     ClientMsgId: local_msg_id
} | - -返回数据(JSON): -``` -{ - "BaseResponse": { - "Ret": 0, - "ErrMsg": "" - } -} -``` - -#### 发送表情 - -| API | webwxsendmsgemotion | -| --- | ------------ | -| url | https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxsendemoticon?fun=sys&f=json&pass_ticket=xxx | -| method | POST | -| data | JSON | -| header | ContentType: application/json; charset=UTF-8 | -| params | {
     BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
     Msg: {
         Type: 47 `emoji消息`,
         EmojiFlag: 2,
         MediaId: `表情上传后的媒体ID`,
         FromUserName: `自己ID`,
         ToUserName: `好友ID`,
         LocalID: `与clientMsgId相同`,
         ClientMsgId: `时间戳左移4位随后补上4位随机数`
     }
} | - -
- -### 图片接口 - -| API | webwxgeticon | -| --- | ------------ | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgeticon | -| method | GET | -| params | **seq**: `数字,可为空`
**username**: `ID`
**skey**: xxx | -
- -| API | webwxgetheadimg | -| --- | --------------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetheadimg | -| method | GET | -| params | **seq**: `数字,可为空`
**username**: `群ID`
**skey**: xxx | -
- -| API | webwxgetmsgimg | -| --- | --------------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetmsgimg | -| method | GET | -| params | **MsgID**: `消息ID`
**type**: slave `略缩图` or `为空时加载原图`
**skey**: xxx | -
- -### 多媒体接口 - -| API | webwxgetvideo | -| --- | --------------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetvideo | -| method | GET | -| params | **msgid**: `消息ID`
**skey**: xxx | -
- -| API | webwxgetvoice | -| --- | --------------- | -| url | https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetvoice | -| method | GET | -| params | **msgid**: `消息ID`
**skey**: xxx | -
- -### 账号类型 - -| 类型 | 说明 | -| :--: | --- | -| 个人账号 | 以`@`开头,例如:`@xxx` | -| 群聊 | 以`@@`开头,例如:`@@xxx` | -| 公众号/服务号 | 以`@`开头,但其`VerifyFlag` & 8 != 0

`VerifyFlag`:
         一般个人公众号/服务号:8
         一般企业的服务号:24
         微信官方账号`微信团队`:56 | -| 特殊账号 | 像文件传输助手之类的账号,有特殊的ID,目前已知的有:
`filehelper`, `newsapp`, `fmessage`, `weibo`, `qqmail`, `tmessage`, `qmessage`, `qqsync`, `floatbottle`, `lbsapp`, `shakeapp`, `medianote`, `qqfriend`, `readerapp`, `blogapp`, `facebookapp`, `masssendapp`, `meishiapp`, `feedsapp`, `voip`, `blogappweixin`, `weixin`, `brandsessionholder`, `weixinreminder`, `officialaccounts`, `notification_messages`, `wxitil`, `userexperience_alarm`, `notification_messages` | -
- -### 消息类型 - -消息一般格式: -``` -{ - "FromUserName": "", - "ToUserName": "", - "Content": "", - "StatusNotifyUserName": "", - "ImgWidth": 0, - "PlayLength": 0, - "RecommendInfo": {...}, - "StatusNotifyCode": 4, - "NewMsgId": "", - "Status": 3, - "VoiceLength": 0, - "ForwardFlag": 0, - "AppMsgType": 0, - "Ticket": "", - "AppInfo": {...}, - "Url": "", - "ImgStatus": 1, - "MsgType": 1, - "ImgHeight": 0, - "MediaId": "", - "MsgId": "", - "FileName": "", - "HasProductId": 0, - "FileSize": "", - "CreateTime": 1454602196, - "SubMsgType": 0 -} -``` -
- -| MsgType | 说明 | -| ------- | --- | -| 1 | 文本消息 | -| 3 | 图片消息 | -| 34 | 语音消息 | -| 37 | 好友确认消息 | -| 40 | POSSIBLEFRIEND_MSG | -| 42 | 共享名片 | -| 43 | 视频消息 | -| 47 | 动画表情 | -| 48 | 位置消息 | -| 49 | 分享链接 | -| 50 | VOIPMSG | -| 51 | 微信初始化消息 | -| 52 | VOIPNOTIFY | -| 53 | VOIPINVITE | -| 62 | 小视频 | -| 9999 | SYSNOTICE | -| 10000 | 系统消息 | -| 10002 | 撤回消息 | -
- -**微信初始化消息** -```html -MsgType: 51 -FromUserName: 自己ID -ToUserName: 自己ID -StatusNotifyUserName: 最近联系的联系人ID -Content: - - - - // 最近联系的联系人 - filehelper,xxx@chatroom,wxid_xxx,xxx,... - - - - - // 朋友圈 - MomentsUnreadMsgStatus - - - 1454502365 - - - - - // 未读的功能账号消息,群发助手,漂流瓶等 - - - -``` - -**文本消息** -``` -MsgType: 1 -FromUserName: 发送方ID -ToUserName: 接收方ID -Content: 消息内容 -``` - -**图片消息** -```html -MsgType: 3 -FromUserName: 发送方ID -ToUserName: 接收方ID -MsgId: 用于获取图片 -Content: - - - - -``` - -**小视频消息** -```html -MsgType: 62 -FromUserName: 发送方ID -ToUserName: 接收方ID -MsgId: 用于获取小视频 -Content: - - - - -``` - -**地理位置消息** -``` -MsgType: 1 -FromUserName: 发送方ID -ToUserName: 接收方ID -Content: http://weixin.qq.com/cgi-bin/redirectforward?args=xxx -// 属于文本消息,只不过内容是一个跳转到地图的链接 -``` - -**名片消息** -```js -MsgType: 42 -FromUserName: 发送方ID -ToUserName: 接收方ID -Content: - - - -RecommendInfo: - { - "UserName": "xxx", // ID - "Province": "xxx", - "City": "xxx", - "Scene": 17, - "QQNum": 0, - "Content": "", - "Alias": "xxx", // 微信号 - "OpCode": 0, - "Signature": "", - "Ticket": "", - "Sex": 0, // 1:男, 2:女 - "NickName": "xxx", // 昵称 - "AttrStatus": 4293221, - "VerifyFlag": 0 - } -``` - -**语音消息** -```html -MsgType: 34 -FromUserName: 发送方ID -ToUserName: 接收方ID -MsgId: 用于获取语音 -Content: - - - -``` - -**动画表情** -```html -MsgType: 47 -FromUserName: 发送方ID -ToUserName: 接收方ID -Content: - - - - -``` - -**普通链接或应用分享消息** -```html -MsgType: 49 -AppMsgType: 5 -FromUserName: 发送方ID -ToUserName: 接收方ID -Url: 链接地址 -FileName: 链接标题 -Content: - - - - - 5 - - - - ... - - - - - - -``` - -**音乐链接消息** -```html -MsgType: 49 -AppMsgType: 3 -FromUserName: 发送方ID -ToUserName: 接收方ID -Url: 链接地址 -FileName: 音乐名 - -AppInfo: // 分享链接的应用 - { - Type: 0, - AppID: wx485a97c844086dc9 - } - -Content: - - - - - - 3 - 0 - - - - - 0 - - - - http://ws.stream.qqmusic.qq.com/C100003i9hMt1bgui0.m4a?vkey=6867EF99F3684&guid=ffffffffc104ea2964a111cf3ff3edaf&fromtag=46 - - - http://ws.stream.qqmusic.qq.com/C100003i9hMt1bgui0.m4a?vkey=6867EF99F3684&guid=ffffffffc104ea2964a111cf3ff3edaf&fromtag=46 - - - 0 - - - - - - - - - - http://imgcache.qq.com/music/photo/album/63/180_albumpic_143163_0.jpg - - - - - 0 - - 29 - 摇一摇搜歌 - - - -``` - -**群消息** -``` -MsgType: 1 -FromUserName: @@xxx -ToUserName: @xxx -Content: - @xxx:
xxx -``` - -**红包消息** -``` -MsgType: 49 -AppMsgType: 2001 -FromUserName: 发送方ID -ToUserName: 接收方ID -Content: 未知 -``` -注:根据网页版的代码可以看到未来可能支持查看红包消息,但目前走的是系统消息,见下。 - -**系统消息** -``` -MsgType: 10000 -FromUserName: 发送方ID -ToUserName: 自己ID -Content: - "你已添加了 xxx ,现在可以开始聊天了。" - "如果陌生人主动添加你为朋友,请谨慎核实对方身份。" - "收到红包,请在手机上查看" -``` - - -## Discussion Group -如果你希望和 WeixinBot 的其他开发者交流,或者有什么问题和建议,欢迎大家加入微信群【Youth fed the dog】一起讨论。扫描下面的二维码添加机器人为好友,并回复【Aidog】获取入群链接。 - -
-join us -
- -注:这个不是群的二维码,是机器人拉你入群,记得回复机器人【Aidog】哦~ (secret code: Aidog) - -## Recent Update - -- association_login - 目前网页版微信已经可以脱离扫码,但是依然需要在客户端进行确认登录。 diff --git a/imgs/1.png b/imgs/1.png deleted file mode 100644 index bcde7459711acac82c3985ac8cc67128699e5761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310748 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

M4+1s$Og0q$xoW+9>tK4 zS6>q|xaH!tQ{NHV*t)nv6*j4G4ppY8*mbAi-1M1%jdF9R6(X=11BFJvHTIV}MjzdS zv!78}ES=t%=$@VWFE4<_Gd5at!1p}|PPL|;wjik1;YQK%_(&5}p0kp5?5|Nt^@mgj z{tbKe|DMWz5_<{T;$CQpyEVG*JFVP4W0Np`TBVx0ZbQUp{vHYthN*i&5aZ!P)b7<7Lk z!!X8eZg#AamE)UZdL3-K#F@sJGk#h~9nGYG!XLhvKrFyk^YXJ{0*9*ZY3quQ*9O09 zZd)u!NZ0P%S9WFRyEUogEajm={)M9~ja}1raxu}E@uNSkSMkZl^Ar2(EnZlY4yY<$ zA}FYIVDh{0$EXdQwO8m0;UM?EHJ3L-0kq@0%d(HF(w4YF_6)Xn9K86Koj%PEj@77o~Yr7V9s3yIg5k3_yZ8nl=(!j3~7aFdq1lX)1^9X!O9L(eZ)>m!0 zoy9CaaKRg_06Ch}=Fd`_c2XqvPJ*UI+=a}#={R@cA~S1m$~*#;OUFJuq_G=zf-lLP zZH~xN-SQ5F);8eKXxZ@(GiSb5Xu10wmRu3OHTr$`xyxc`2e7zDp0M6fz zeB&=0&|}0u9CdsymyrDp{zps5@WSlgSH=2~AM-nxX;PVKJ@AK{Qx6)10nc}0T+Vr7 zT2Rx=Ld1BDmpzRe!YdQX`qS03ucuz5+0mL=VB6f8>OQ|eJD-r>T@E1z0F`WAvzk-p+jpeTN zkoBX2tOc9Ms&J&fqAqx+Ut{SDeeH5clEW>V0!zSKF1St}^(_UKtm#qTL5A5x1A|vv z_g_59!VFE%#S9g}`!u7R6t{78CC&|QgkKf>>Wy@DOr|oU2IR#8V8aPK5z#s;?FN%l zra`i)`Z|}jD44B=n&~;1e{$4ArfRxDpM{s%$fJ(r$k)Ii6Gc42=S-l|GF=zu55Qsb zIq}1{4%1hkK>$Ulw?(V&nEeSnK-*lPg)fH2J_OuE=B`|W?+|z zP}SNvzKy6uTdnVx{r6t@q0RL8R9uZz!(49aDY&Dye6#Ou-J!G*r;p19NOq9#+d_g8+wIh z=@ECUf^&t=w=1FsHv8~6v*4!Bw3SnA!)1BHn`1Y@{45i9KI!n_TjUb$xBMoGmJQo- zf-q4}kdox0X~TDC1S>k+2Ux>w`wst3)IY|m(My@u0A@Z^f0-sBf@y-KcQCuRRAtY{Ama^i_-woj@p>3-XxVbpzC z&732VAJ~Dz0H{>vp{f5(4Xtk7t)&j+AxEEqoLvu(G|D%>nN(QrgZIS8uiEbhuZSsSM;(Qc3AN@tRRP~1uMf@+Iq z(wWfL(p|nIBJ^(70FyTKW)nTv-(Yz@hhy_=jXPNPV4v66g& zk2RhBgZA$UEa8HpEjIW$GIs*}tVV9Vj=#sHY#daN9vT_!Y-JgECEDONlfT%Q(va*T zqRfsoh?4~huF2j2IBX|8$f6#wY1yZLD><_F4abqUnkjN8n?uw%m|Ir>8qz6G8!(4C zFtZc^8k&9Nj;Aan+i35wnZUS1Mg{zA%7h^-px8T6d0tmS}e9jF&I#jkwmZx3$SU*SK^rDo{YNcZv>Ylf-9STrCS zOYO5Uxuy#3zWnTRvadiea~aOJ`Lk#)67&OJseljgFn$+jt2bZMg9 z^-|AA!OJkUFU+A=km;S7IjmdYy-~8Wp$mb8mrbfTNJ;qo-r%dVzAVqs0ZxMjO&#|( zLZ#yO&1S4*Bl&H&Wk73)y%Qg+jVivU?{;}o)MEs6L6wAht(Yz|Am11EGc)${ES?cs zVKyTzWMUh4_`9CBD26vQLk)FEWyouPQ{3iuj24XtWs*-|v}_h9>!us3m@|2HMN=&3 zK4t#UUSPIm9$uHvwU1av?oJS(S^OmpLBXqTMB2LoNb zQt1}0LJLSwef7=hSd4(|5;u@ML_J&dx}s$IYNUT%zL;UXnX z&s(eV`wM*Os)ha#@+^?h)XXI*jHjd}vRYFes7@K%P{b1T>_eA-@S|fPInyL@lZP3f zO*p8&c(67@JZaty)%iJtZRkXu9eW%5$wbp%hJ?m?fbxW?eMC(1aG5p_z2*{y-3>@k z7X4GF(oxnS)H$2VNzT??>0Fkb9#GVEsLg_33*gMf^QC*PuJ`?1VZS-=MJne>dy1=8 zCr$1~Z%}GHo{A*Y(_aaLJ`vFu@{~yOB^+-@<4oi}R!CFXdqmBCPFEPo{P?8^-%VG@ zPHRjuC%i2pKLbX46o<-s$wo(XG5rmlq!cM|H}`OPfAT)?D$^DdUS@iAGY!$ZrSaiq zN{%jT z(mP+?76CiR5pxOa`TN$ILBt-3r+e3`^FAQ9vN96BV?krqns3jzpIq*>)#Hk&=B_Y5 z1BIOLKxCIUo?7*>TeYhRO7VFSKF&l7t$n9W>FofLMm5(2FX3iDW70lBV^;L?@7mpK zMjgoVg(s4!G|%5zFXW&A!{-XQNUk zJT;v{-f^1{g(ALWSF!RLkUJL!Du;UbuH1Oqi2rySZdT`Q`qtjy1vQ!HZdW8rRE!22 znlQ>IJ}rdYkxf2sj290r^zKff>6pBiP!@LsdoFha4A_+f981Iv@sFIMd}40RJ4`DJ z$dy)9$>Fe9)8V-x<~>Ri;n;e*x~_#kFy5HI zZ3{g6r%Yv&{B@);!E1Ccw~bD~ZhSoy4x1VNJhr=q4=endo?vF~)~oyJoz~i}&~2wC z;r83H<)6>{pvtIKzX&`qYAb@>HR#RU!fksO%P)*1>jfUxRFN|*v`!T>kJg5Prw?fo zw8C&;i}_uGra=&*o0|?4GP0f?Ck5;A;tzG>KB!Wta|?f%Go)WDNUxvX8ocM&RgC>~ zFRR1ldz)RB9h8hz6blh5k^fLSs3?w_a7s7qE=Q0Y|A+QFw4=VABxWugYrY&~E*p6b zd)Wp~Q4`fJZ8CG$1(s?_cs@#bM%6R`i%1`2?`dFdCQ|q&)t8FSz2>z#e`L93Yx@dw z7P&@~0vOndo6ycVrx!S~yHSiis3qc-@cd?Nagy{|N;P)QO(*R-(e=@j@lUS!JDn@i z@dlwn-r*QIDO%?%>7!{bc^*!hbcTgs9N4>nxe)W^UV0qOOBp|S2BmVoKNY{KZxccov8M^)6xfPDt&>;>#dCrY+TD+F+;wC0SV&F}MkA zm2elvB{wi)V#9u~U0IfV;z{Q>Wl4S%I>Y(g#shDnTfTFp(;>aY{bFa04^w~9I|4xS zt&ljgW%I*;U7hsoyrJ0ajT;o4Pz`dAFwZtM$d$?Zu~}u|tgfbr1Zg~f69(xwrNEc` zd8|)%Q*yEE>j6Cw;5kP8;&kg&_8{@q6l<%YR2WyUf4Y{(U56QazOcYxdv}CkpKk4P zZqN3}YC`?jy4}2jIN6djg6T3p`;{_xy{78i0~n%Z=4{kOP=_t4smYT4y+Xt(5^5v& z>`#)53&*2pKg?JIi!Sv&H~;apkn3XTx7V>NIGW=RSZz6*XVN5RDG6(#Zjfvk^Pq_k z^Bi70wY6f586r>N&vB(&U$Wzzo1na*u{8a}#H)*F&P+p3oIiiw2)Y3^u=W}_pZLa6 z%DU;T5wrw6qaZ{gIy*(ejouAQpb6&7cR$YT52~=14?72^E!mp!7LEvzkTOyG8$~{n z2wJq@)EdDo=`pvL7%A1PZJ7`=MKX!Ii-9tMdXdghp-&H<)}OTdbZf9gMBmNdTDvn% zEAFa=OQ8kM7jP6*Hz_Wwl{lSI?0~q^&O{`AP>B89jpCjHS0Sk77#~%xjh5x=)@vMH zp+N~(v*C(1aqF^g@e^%OIcc_69hO;?pT6bi%$ezX5I>qsJ-bf`B$!-2EzNJJsv6(YHe{7_fgTMX32A8rD8dp0iI@?c4)1kH(iOtRZ`9Nux<)% z67disOza?a?o%$m)V6B{eKRfZAey}oH)%Qqly1>*7E&nAa189pDQo3aEbjNF$Z-~U zvzDqrhqf5Y#8&qwhXftowjpx|wPy@V^C&cjb zF90C;4-0&mziA|{|4$Mit`Ym+xSaiF?zWsx^aqj9>r1Th=pPfW7tX)`4=%C)Kev_t z>w*4%=bHd}Rhf-=p)-e|J9k2AJ<>)Lh(!RFqGK+KL*7=~?7{aU&DymWU!ztvK@;+> z)?#v}n2t|oIpIC9mina0^gPWxyC@fOJ^?fOn@mZo?y1x?LOBU z;-r96=<}ah%2n>f+yzNV@{gHv8!^!qD#9inLX+EPQqBAR*!gvzmuxIqOB`=c zvwgjaVy9FR_N04fXpuw>a*vXlycF7OrXx#$R24Xsvx5%p&LD)w%d#8<5!m0rYT-W zJjYAx$tS`4FGmBf{kMw)BIjm%dHZ1t(TR&aD~o~g8E-)M99tX}Y|*?h)$r7?uKNwz zc6|o5S`%xounU5YVyR6{m?ml}$pjrr&FS%*KrWmiw$OIs|FHI!VNthR`>-eyBHdB~ z(%lWx(y1U_N_Px34AMO!AxJlfg1|_Jba&^_4MWFJFWmRu`}X$P&wp>9XRpnr1O)lZ}UST){wi1;f>?}N&=E)TQ-H()IYZ8r)+#q4$ zk)J;3<{LsGwa*%21!Jn-QzM^taKbf;)rD&_3Fi2G>9k?5^hcJd<+YWp^CKay_8XyL zD(%O=3c2JzsUKWTckGPUZ-bd+EO>9EP>HDu*P|(XlW`%;bSOGlCIJKEza3Q|uJzNX z0@{=ReN@4ypdZtu5vDMFahCsUJ~mqW$N=1?!U!g5AH8MPQIUa&*X(aA6dF zOeO?Eh6>aY-JHzg#JY%*1``r4?Ma5KYQJzNPFu~D`Qnwy%E`f%;Umy?ydH2GYC*hB zt)m{`gjCNam}of@P>@TI^uGHcOPPvfF%b_*czbf#pUv`16WFOb%S`Ub%^?GZ=6Z&j z-y;Zy$j?R#CS;);!1WaSYq)@W%23$D;@jZ@ZF>iI!v)G%?jgyB(pEdJDDh}3m=7xMovOx+7alMRP2ubp`0-Rc94 zuV{nlZY)kOwjdXE?hV-RPGV8xRca!@D?W8Mll|;&_CU9;1LgX?{^uG=+cVNPy5Ah9 z1T5xGn5!|Xc`o1ZkFJMZ80rOxTA{b@XN6pl3AxP|7GDQ7*ul}}pl29!?zZ}cfQ}?H z6}Z#c*Jv4Uh!2-rg>|so@{BAR3t7E0UKDJsQ-)P{sw1?J0Wlga`+T!1McVWy z6+piR@6pHASMw_32-o|&IC{L_Swc&Sj>h_^lEnkA&!yHYMoAd(O)WD_mJ1qBB~rOJ zc(Dq{#xl80k7)Hqoz1fOP}&p?L*#B-Imd?kK@M8_9Dr6T%{WMJrs+T}+txIi`}yb> zcdtY0gG>#~5k*l7eG7dj*xblsj!xDk61|w$Q)R}CKzvW@x9oL1T-F{BSo!a}e=Z_0 z)YtZ35TPIKKdEpS{Sg}NU>?B~9MO8dveP(QCQ>;Qo(a=h@EfkNaDK+GBaDo6Uw9mv z3c?TSTX1m|*&7I(c0}qe;{h1>F;TeaLP*v4NT`)XNxe=UGNY6W5g9g|vLlg%BVN{K zH|SzKwpnKU`v?=nca?t$QiaBxckQMHzu9iukD5WTfjNhVpfiH!$Y+15<_=uIzeu_5 zF0F^RRV6q&0zNz`$v&}~fpGe2r+ay)s3YR@4T+@AhLLsWjJhB7QS$f5yugxmoQR%P zRoC=gO-VC7gr4|T>Qt!I+^6CsZ&vm1K>4iaxS$;&x>a+wN#YX>*@h|Ao}aJsBi;$Cy@ z($E>5Fdhg=%Yqm&5sZt4x1C(`sn_a2jD5N{+e_TP zdQByKSd5yeU!ur=<^&>-zMxRsj1-Ucl$;!uJs&ZLoA#UTaRi=i$4OT%6{xJEM+Xoq z2>}+f6+*N{Q-;**oG9RW73>=!dm!kcp=|$63_`zHZ@Vl5OQNT9F3XT#&KeNj8@t(g z$dOh3SZJ;mQ>>cyP$Vw0`hg1goO1TYrut^jUaerQq1pjISGWz)`jPNdRYR29ZXwKx zZB$*QbTEnP)(Ze}+Urb2aGwv7(8dnC_ldz6 zm+4tAfgxXz$ptHO7GG+ra_zoU_@m>tWWLRC#$ObHW!#^D1kD|g7;gV<$vqwA>Q(ft zVmxe(3@+S{j8y5 znO>z5nO;YLPq#GHoNYlKf@LqTJYV5ZEd}QAbbCOn@-h4>x5fAiOOXcOHk^CJ7>qy8 z*0N|w{f@a zmh{(RvV$k1{2-&R(6ylwY_54v&ufs!<5zt|!TYq0JFU4;qE7q_@Zvk|`dWha;g8L- z;9;tE+s5-&;& zXe7!phy|r=VQ5|>qm*g@(n`ov`Lp}+Nu$14m|80)B$i#B8Rt)tmk^}YAMsF0tx(~s zi>t9B<7fDFw8}HeeHCe>*2&Mt;dy?2R_FD0PQ<$Si%8kq5BIu+zJ56^ADg?Fv_=As z>A-}TWqNVo7tIWcJKk0*F4-dTI&=OwQD0NIZHUoE|6kcfUs;^&Rhyb<9{*)YTU;;3`JaPp%<+ zF*3%hytCAWQ7|(C-XR)XR1}@f-7GOXX&?Sv5@j=VWkYH|%*jyP{%N~9^0@5zdhn3) zGIwqGVsM@bK4FlVgaMrwlCreif_|j~@(xvGe0bVL8jS=r@zS!OuWx=}{3&+naO#Ln z`1TiAFl+Xu$KnfXMFtQlkPSWktpWor^AxhYE(J6%F}$T5(c^8*5PdAgMd3h{g(L=` zzWDInfW5a9Wj(_JVak{*R@txEUODM%#{^qI2A@P}E-Ps)52iT-f5 zk$7~iU6+lek1_#os1MT(j$6#YFJupJQy(YOlWQFy!7X&wvUz-7Xdrbmt1^HZ-u}%@ z5rFtbonSx3OINgD{(IY4zyLT>EnFsmP$UNY%Jkyhlg}JWhZoQ38gz0DgHsbf4is>O z%`V|82(;E;&f_Z@LRg}vqe|C>Y#CUzhwMX+^WLei9@{yUSZ{U9rT-#;J4D^>zX{IQ z>U4eSHWy!XF?rVe>2~0HdAXw%h1P9@6wkA#6H(YKeapkPpUD;8f`q?5+3KL3?Qh%X zWr;cP{L)!8tu2NYaINJ2Rv+8b%_U(KiFE2fIJci(l4s=yR6$@bg&V!mdwQczO%Nam ze_M{GobxHAdvL9h^TyH@0}Gy-ltl*jzm6mFIn_|vK)6P~dFdb|V#>2hC>p5poeX|+ zW|TCG0R$)(zvs2VaKl^1s(B?>z}i-|!Cb3m{%Yxn0Cn``Ue)Mho#jMO|94HiIQ6T6 zn}(a>*DtcjI$dQyGiY5}KGRPK@bAZ0+l(2DZNAzt!T{9KZzWP4^}kh{iT^RT7I&7Q zOB-D8RWh>Zty3nwo(Oe<65t}74_Y{ zD>Dtjl$Wu}$Pf#)5fRM7i3~`qR1x^;fk^7*lKknn353=+XdB!(D=h%^4?;%cgRtrT zwZ*6P3W23@UAqF0s3ZLr+aDhS5V#xb zNS?9_bTHwL6@Pyo9C77<$eDk15CP{ zp25#M+Wa-_r7=+Z_!Myou{?Xw`ey)p8TIeF0=$}2VXtg0oojViYR=RoD> z6D~GC=wvq?iK92AwuTw}rq}V_DK)HyE(EfQ&3sy8rj`%sq0{QU3ur#};aK|F>dDb8nVi7U=vE*hYf=Gk(79;quXrT6=FXT(x%tvb zKQ4tZf6Is0XEN9Qq~NP<@>F{qnR-?Hsr2oIgZIjU7;989n2V9f1Dc`8Od9a|RB{dAbPI+P3r1pOkKe%o|fM(UWJ@1!L6D})^j@1c5)B+2(>;VA7BZ=SK>Pi>8ALQMV^HJ((lW2+O0~5^8y^R!s;|Zf`j5crFryQxMB&(Rb4f@auCY{}HMrF|_fy z5}qm74?wsB~2k3$Cm-6I?nb-i zLOCa|FUIocotFm56o9}dZ3MF_;fAYJ1Gxt61?)%GqKD(S6t)Wy8f)yvm1!u=m+ZzJ zi0M}TH^TdRT=@wNHwb8tx#-dRx|N@hu9;#}JUY4=PBYSk2LO2KmWW1)iAW2$22Qo| zlbwa0qxtd;-%n2}da<#|l>64?GW)_2>bv^_T~)K0!zST|J@xU>0w z(s>>xqvs_`KtmdWUUyN-OZG}M*{sDrUm1^RR_lccN-*PmN-|WdMe6B&@`alt#E;?;g#hBNKtR*Tcwtw zgXkAIh+{$o5zWAUc#Ltc^180@bEFkfpF}5$iWkPOsLTO_yFF-IB=3_+e`KT}@3Dy# zHHY$5`j(2lZkBRaAZ$I}MXb2T+=t~86|lDgQ%qiVDogDdNF6`PZaSkIH}=HrnpQr% zj%n}-=qEFXS6|bc+Xyovi+Z}z9zdBgb0*z+Gv5?$$-$u4PBlMe!BKGSl^|@+$s+9D zDX}xw!w9?qsO^9?(H`HHr<4aAXs)qBqJi@Mv0xZ@(yOO=O8W{`#vZosoc4UR@lC?@ zw$CjtSa4z{^?Vpr&jAjL)T(qNF>cY57a7VE3FMt`PO;uAL{5{{fs$83W*?df$=&eV zLR6luHuvJYaAxzxGbcvP#ePCVA9YW^AgU$!Dg=Z9YM&?YjUW%7Tm&KAe~}AHR(Zf8 zD3kA{ff=S$lrya0pR{uHVdIg>FxEVjqL)-{tDs}sc7dvF0eY}(g*R}C(mPR3KU;|a z9Nwgls#icw5j?yRqH?03WQc8IG&-Amlu>L-Q~ftA`QtqBr@Vr9mse2D{*_n$OUw|D za)klu1|qf1IqI{kTxbPm z$U2_E^=>4JPi~>U^(X|Pi*@L^dWhzbXSLOXog>VV8&q5*!YSAXH_yD2_O{5t$|2%Z zhnmCqf<_lE%L1~2Xg8tM{EMzSB;|X}Y3`3aQhZ+qo|-No`#xX;O=Uyc7N{X42mHF9 z@*=VNVh>CQuUCn=g}XvLwp6{Bpd||`&}Lt|k4C3{(Gvq6lq&-Dh_GUYruVWpurGwI zwi|(|vBJQr!8;MJh^hc1x8v)2 zc2gQ3b0*mo1=B14jtvvPBAv_Cay@30K3x`946!t0lq?2iQa{r@9%eW}tZg<#8^Olw z+STP^a_6iz69xFT{Y;;0&Z5IYVLd4*;o^P{6P$8ZVgFu)m)ut&)b z((b*DDFpb?Ea}z`0b-FkLoulWU#I5Vf4jZ1d14=p9dQW+gtZ>Aok{E3bnZ@*1oPRJ z>2jYuW|fb@c4!cq(@@m(ct|{MHn@Q)=;%h0!jI-tA(ZZNRkrSB34HcOZ@j?WeqaBE zXeqvkvpLNfhArw9hIXkVjVB2qX25{`f!=$Bzw>JKgFhh+z?WO3k&5{j(nw5qLq|m^ zH-2P#bLZz@xuvG4}%&}IfJG++Lx^#Dr4CH*^%*=Ph#Qf zkpo3eaPWmu7|zOztM%ZtAO4!8d*@$OfofuYOb99oR2v z@pSRJib7G=80@y7aSxjF1evB1zUOI%VQ|Zq%A4A`&^GCM2K!`r47$7!q26@1amWtf$5Yzqr+%8)bSCX#87kVDp$Q}qoWfJ3SG^+MYI^)1ZwUXrMoYSKGnZM$(3 z$pu);(hbTC$w9!4(rHPrjHcoT@<8^Jk~ecE!s1QP9j@BM^f%C`h}-p|f3x{(-+7+? zQH$=4+)@vw_Ww#C|1B`-!G$Bf5TAUsOzMSi`ZiX!gIUak`It8L`mNy5oCjj_Xl4`~ zap`)EC`g>}~m%`98v1*WzXpJ!P_%m5JIN^2J zT*cyj}%7%*4_XkGp6J$z2_zIy>$IGt^u~;E+ z0ckImn;a%jKsBN)W__go%>|8)^lbL*BUjLCF!38ugy5H@$I(LQ^qYc2JNZxdTo_S$ zmW@und7IVi2fgHR@msJJY&3dmm53r%j0)_Ngd$3a)odw29^6p4+kzQJHEc?mJwb=u z^!g2CKsI4tbkGF?l8bVb+`88gIdS;nL6hXNkXe0cV^@Pv3H$PFi)?5M%rHdP-_m-@ zc=T*q71GXL6v&_^0pd=vVaV2CK7PsMxHB8hT!cq`duhBJq6TROy-pu1H27Pmk%FzK z)I=|-?M?M|*=n=vk}w#YJUe$(oI%LZSC(cIC1(gTT4S|&!82PS^WpahkL)fLx^Ayt z|EG-bvFI)%JpKKQ@F>GRnWVfWp@fUL>PA3j9ob@hGc&G+;VZ;r-0G?mW^(3F?U>_w zz1ydKH74Og$$4{j9aqV5<1rOj-&l#JAIvD_hfFUmcjFL-BhsYIrd>jIp6FKMD0}5f z!x=11N6Zz}+tmHAqWZi6*eOo?1wD_V-u8C;GJhf2qG^ zB(vN+=rG~HZPb;ibhpp2TJYFxOcBaNojda`0~br16p7R!&GYp`J8Of0VVMX?+wjB& z7D)rXt_?%2PyyU_|s*lG^Q$IPRU#zR1ydokY>}<~#DYP=Z6aTRmd%7~a#_f2>#&wGnMq7fx z+S7~%YnB|Z5Xb2vAtcK6w&?e~-|i{cUE@iTGt#l(78-({=rg;W@oA~eL>OERmeqN@ zlc?*5!$FG|BD>Acs76I+N=X&mt|_KyWMNu28{}U+xuzHps8r@WpYT1S$ele0nBwaX ze4KcU8;Q`YY(^V1GMiypU|SIMy!O0hll*Tg2Nn11(C}JUpegxKXrH!1xWo9faVDXI zX_IR>I+4Q$$K~4&Bj)_j>o2s$u-ZHgr9+TL2+2(qlF0W~zx(o9u__z4+aYu!i-)=1 z6TG;D?}`LEDi>twt%J@<<@y}c=+lNZy%uV;TqQi^e~7%qrJ3pC$#iE3gLOQozv?ni zsJRq)ypjD1)zNK{a3S)9T9uzZyzNVK?n4cB0eNi4LNq>sd=}2qdN8jhETAj->9r26 zc@1ds-m+pg)u3r<6HHNGa}ic@4ZDAo@>=U10$H>1 zjA^iXZ;`>_PfyGwOz&$_6rLYPT&mX!Ukg64j5+%*BUXjfd?QM6WghJI7LJp&AWfyg zh=rR$@l5Du1tkm#-1s?{02w1DnI%P1%n>gs%lu2#xF+bx%SJfu`<7bCSe@pVxUwBt zipW|uIghlt%bKkB;R2c##~O@~E`iB1x_Fb(gf05 zyxQfbJ^%ZIk8*zv`&R1m3h|87(|Thrvwlkzn zK*gxZy}B}ch?rGz4W~k7VM=WU;_o1$K0fDvF-P=-`2cMyBSoZ3_1j?GdF}^7LTRh-?vT$775_>hS;TtusOkqEwdf4F2bZ$JI5E=YFEcMumQGai0J z7-KHGDUj{jD|wE4icm~2yx75u5tS9mbNXo$?86kfR(9%1*Ay<7R$E5Cb$uk@XD&IV z=kJw2P_BUon539P&d+U@(~Fp?agI*y$b53Mt2#wx9&CSMnd1&O*UGZ#u%$;`geGnB z<1NWkp#s>_k9bqb7F-&1*CBE>Ek0$H^y?X6D-)-624|LFCJ8A~{KdJt1p&n@KyNs* zS`fO1DBy`$hYFsFfDL!5a{gA;T=td)t^6fwunIn2mMllLWqCJzc%v#T6Jy6smE30Uw%jYFd^cVsxEMFZ zbz%<)EAu&!N3in{e&EFig_hR%`=8pW&~np0PlE52TyQy(6UyOxX{!Vz4)nKhNyVSo zXekJcIjiCH750*y*HZ=fAcq--rph}SM=9l__lFbAW?e(W{ zM0NAwoXde4O+@x^te()ye}C!6y1DQFG`az)Ayt2Ow+jFlv`jR}{)CH>2y!uJ@DwF_ zJt8jH`|f)mX*#U)R^Zv2VK*EZ|HNT~G5WnDBeFNn-B&%gZj}VJ2WU*fLWTGVHlpka z5-yt;KiYm_G;-Ta$`LCI^}v{_s}Fw!&1KA^qw+YmF0tGvRV=6fLAIjyX;*MMz+0m@ zjsCt~cSilE)ovm^9lfvxEt-XJkh)+lg}&@YLV7Q_&poK)GF6;2ja5FmUKdQ|ju|T$ ztX|?Oca4HMAn^ur&Ig)xlb_C-aldT_1Mabw*J{3d$YvRiP%A{y&VEzgsBI%y)mn9x zq?fK$MTh-AZVuK@Hz)G$=0NNJx;g*v+;t6FDEU(-VGZ!Pk2^XnO)a&_V0fzEO#enT zVL(Y#C-kGi4c6Cs(=I09lRV|`lBWm)m0u_aFKY~NxTbcWf4tXAeP5HhQlx(*;t}qe zdGY}4sZfl{j_7PndJf`~Nu$ z;M=jj}{h@@eI z+V{f)SOpYVC|JXUb1Y)UBG`bBV?$Ijc4pYrmvu+1kd|tdr4>mT&;FWqkvu1q96(|W zAMFeJQ!jT00*v0Ln9=WI>7bNnB%m`9Pe31E)G)JD$nKP|fcq?b3jFQOj{N0#W@IG6 zW2C{*cOTN!swv>4Ky!hW5qobPGc5c|<_y2IeKtmSn57g)N=Q`}^=4+zIpm%5x2%v5 z&>QS7A$egPWW~e_3Zij3rpo5(w`=kd-VSPr53X&;)EQQm`y2iC1sYq&s+(bp0PrOp z0nD;K=Kj90cy@wUw$^QKx{Qe4-5;f~umY`A?}sFdr4c4*uW>|Ccw;}15yAHSSWs8u zsl-vODi;t$J?*G6=N4V}Fr&2|h{xCIjDCI@&&Y)VR|I#xJ)hjwsm;}2tYx`jl2kLa9+h^9t zyP7QNDWCCY0s$>!^^rmsmrZ5;rR^1uvjg7uA@#nPAG?T(ZBy9Zbz!`3gYMT=UwXIcoNR;GSW;g>DUrC!?X>;Fip6 zn9aabRURBtYSk2msQDZw{&pQ@eb>a6`V#nRWn0&zQ z0^d>YjYN&&=F`p6l>gtd=Yb znGlJP?EDlH(%e7~c>Gx=cvE~tbu(WSH3!q$8zvxiDJBxDJi{#yTZ$wTu}6PoZ>RE| zUA}-I2ny(#mi@IOXny)9&BRZ}kEicqqp-C&w+M$2j{Y4Z1 z+o%{T<6TvV$d2BY$))vMFRB5YZdtPSmm(QUpc?Ywn(xgSTC0>59XTq-v>4R-Wi@jF zFmG2PLjxzF)sGRk%V^?=6bcy2WhIztXkSVS)WWpuiDLvkLSJ^j^D{<&$rSB+nt6*Z zODy$~jrICy_#GD!l~aX7;V~bL<{NGvk3-N}Dy&Dy29=FW#%Yec29*!b0fQKNH{7VZ z$_qiBq#`=u&yy71f5LeV%&P5;gk>1D@-CYrJrVlUd@vr@K}zrdG!@w3uO5mxoJ}-@ z+M7Ky;^6`!$sO*y;`3PJi2l08WYI2&@0EQdSawR!r(kxo1)09!G;iN>pW6QnkNwtW z;=YTGJ(CSC_n&fOK5gl=by<{B2vk!oPbF}f;za15cDvuqr*7#b_7jlNXH~f)T18)&lbE#VsOPD z2uKtmjcBwxXb-Gdyz>xDMz?pZc=HT{P2E!p~f_l!XKzXm_0w0 zWY>x=W+O{IB*&nWoN%4nI*&v33nl5@eYdMla-?v%no-DJfBecuSWve5bIsW>+Z;ZXxL zKn^tcDv{#LGEMjl$wK_9q1dzSlx6OyZ2(J2vrjlCOi1*>`;E6lxBPs$(KkLUMnI0iWVwLCyP-TjOuhsV{-Y?L$_u`gpaeb0)}Ue zy6=kRW;~ODM~V->UC2v>zAK9w`9h&{@1k@QGvV^AJinRqTsJGHe?i%w{#Xt*M|AMY z|Lq5$s%(PW;;C0<@=&whAb-0crj?C={V|7)&LPs~hx{fR(lm`*tz&#ZS5iu_ch+5Q zd$3i3BZFkGr;J6pciwtQ_px(6sx%Z>jXhNA*`#Za2<7%J4Hu8tq(7Xq5 z*M|lgZf>VpDRpR;<}f<@*v0r@8^Csu@~g}BWuH*4f7Z(G3%)Hy4IX_hm&btB96KKNQ1B5m2 zeRn6d>XN@*ceC!XWl`Z0g1D--X|d+wHj*+NTb*~dwtlig;n1Ho*x)6c3kjwE(O@V< zFkt!KT#Ofk`&v$i9wsg&kW#OGvCQ1#-stk^A(09QD)PdWDY=z$x|M6`;Y;e37HH`? zrToUQdryQzhAq#`Ywl^S62xY6E%)9`)V~qpxAigVUl`Mz_mBEG>c7R9|MKI#eRgE2 zrT@wtlJ|vWbFI4p6j0Y^*GX^=k#-wr+9T_qFkJ8#d6}BxO@5lFu6|+Ki7Po6rc6I` zYO#d-XtLQNj{?72IPew!@kZLW0QHvq8q6L0vInd2z2aK6VAOM(R87VcQ*NziIZX*; z$hOKuyVB+zXgV3AouK)+xWbZ(hk&}18UUk{5D5aBWuJ#rI;(m+sa=bRDW z!SBCIcI(f2MFa)3{Row^%AJoC(=?h)dW1dZ%D;+Pi&s-|nfj=5Q%c9YC)rIPUf2M; zU3mMsrT%I<2~A^1H|APR)Rys7=2->WAj<|&cw)wx?>m zYzCg1b1>Q0+nev3c z@OjVw_FvC?-}O)Y(=32{hiYRve;3vMQ7*l#{*_1id)v;M&`-zr>F)UQVt@DeTq%!m z6Y~GV>G4DF+5rCXJPb?SJr6m*{XE=GXZRr%$NKj_;g?@O{#dm94@X`i?Hz(*c=Njm zN+0D4k@m9-_Am7O-zC^Sz)uEX?!j9XPKDtw1F)iMO%NjDe{_3Etkd0g!-oG-);#^& z*?+ErFWr>`hWiue);w8knFarTQO6Im^tuP*VTDg^~|$b@rR% z_E{0uA2+*D|1c2>5U$8Dv*pd%X)LR4)XdhzHb7tzP)QG(Gp%E<~-XF+wL zrx#sg{QJiEpTT@BTEQjT7UsA-WxtL!V?fWcZeS3+#@R+QbcMV$<6gJH#Pe2Xs zePoD_;_YR8^2|s*uMw6->nXCl@O3CT!j?l36TYk%IkTZ zX6BnpIrr(6ka;8yQe6TSF)n07*7U@UI&=8~fZx+N=k7wD`@ z_=wG_K)Mj+{^WU%HqW)-DLEB+^e<8Lj}rHpAUK9ceso{#PbMADiR^)EB^%Mo>5d;10tb%0k<;{Sa@`jWL{w?+W&JXE# z&#qT0IU0zSxsFl-KMPc3E_4)jbOBq|!g`H&Bm5EpnLwubk%Hk21i7}4&sSNl9F=tL z!G@zYDIr;&*Kk`R2ZnDMl~`$*%+C$h6nwK_CN?((6LSH&oy5G@fVbuM4Mk5>^WHmo z*gsw$GYFZSFiPRVR$Pba3KBFEz6^vF{>e_Kdz70tzL+`vGHc(rzNj8?z2ABUhny!R z#kx?|pA8=pWwPL)WPthh_UOLQ9TRIs$DOQdZB=to^hh#eRf)$(v0Ai zmVFO9kngW4*y|Vq~mB zJud$s0;mIV@hf^QaH|ieaLLrFixBni$I*AN{AlDgZVv^k&92f$G)yKgKyn=p(7f5a zo*i81i5~(5y4=VlYtUFx&=;>gaBBE8jqGu)Bq}9C|Nh|q>zDU~pNm@cThwwnru46( zRw&y^L+n4BtnOz(5fpffq?DU$=zZK7UpemU&@Q`{0_HVi@#X^20I}+hj30(gm6R>7z*!s0uet#hB zC6R8+e5QFyd9z;%ct=qgd-@hAbK09TSMCWC)zop4vU9#(EK1sc7t9Fa|G#itSIk&& zzJ)|r>GjD$<4+{F^vGd?Xx8J=*aslCl^=j1$c&t&&gWsTESFuEqh1@rWO*K;k6Hcx zY6snES^@Rv({caokui`fu)FP%vFRD?eY4}cSQ<#Qu>40C$_8-rGsn%Evm+K%dTXr9 zwI2RN)=}W?^{HfKkO2s2OZLG(Fan(64Y%k~_U!@4P;ivtosSy?6tg_S6WV{r`*E>L zLF3s<)PuIk%K%j1Ht5mh`HC9sS>({{cDf6nD?y1Gveoht-O-&?$abL@sG*#uVW_?n zn7Te)B@#tG6ZLiU`wP@!v1Gx~C$q>iVcqx5^Pd8;%(49ceLy?7{d8N|WbbY()&JqP zQhcISzCJcoAqp!jNT+#%VQTAv?+LELFOWhio;rJogkC3_puTD`>c*U`Pc+#H-Qi|74qEvKR=X(&+%ORC8P$4fnT6hoE+b`|^ZlJ$o(|5B=%9`yA7Y?V6 zN~l0;<*Udeg?kRdFx+>K<0>hoQGjGzzfJ}F^9`<_{i$G+OTR;z?7xjN`=4a=A7(*s z={&Z!xhNMF9>v+{2in&Ydd%*_AM%C51ALHHd_j)#e6=-3IJ;i2nBs{sEj!bn4G_eB zmGxP3gYX_OmLiFnkQ(2%x+!jMW5KVILI+^JepRhRvvkzA-l-TsyeWK`j{WVj>%AN~ z4$$A59Kca{ufRZSAO8jLtArZvvN+VMwiX*M!xur}QP0n6j9;<~k|sI12<>hghFFmc zq$r0z`YHRiT$Ioq34GUB(o|aDxb2T4^bRHbcU8?<&`-c_uJo?PkV*Jm zU?;W};Ny^b2jcK!9N$!SSzj%DB@%HbIBDYw?W4+|_};-76Cae)x-V=1nb^Lh`(|}{ zjCa7Wib)*S%CoxumikD8i^FH=s?z>BAbTkE9ye)o&^e|l9Bs-Z=$u!0EZNK4xG`22 zTk(er1gD!kE%<{HN1Nkn_mG#vpe0?q%4OP*z@0nxSW=%Q3PeV{)Rc{@ElP`t=Dinw zBR@pVcz*#VpH zPIq-ao|q)dpl=&b0vZvn{fn^qPoy{T*EJ)1>Us-L(tjHhi`4}9SefJXCq`k<7O^XS z6x=o_dpu08Z(Ff-LP~cO6Z*wx;}~;rQ)ntHRsOyXFm#+8bibHv+?&^GOlq5vB2-h} zsKK(}7htcW*G#D~JuKG&F?f+?uH(nH}dh(E4Ou}4X zD$`{N=}4(CtMVF^AS=>;05kW?qjYa!eQU61ajB%Cw4~X;dmr8%BL4;UxG3+yUQGMH zz+R~&Bj2&D1ZC zmDVmehH<5Dy-}436?wI?l1@KYdvXg}98D>UT==bmMg|U!*D(E37;^B{AgP9U%z7H`iN6G)J#>9w{ob5#guc{u0i1C;NwpIn_g`;L_-_gms{ z7IkJ0Q@AWH^9nlRB*&1cR$sq9s)LAr;QYL$SzB?&`ix>SEVZf($2++E)-myiv>h3a zEU_Lumwd_aH>Tkqz{jEfZkEeG{KdI}cgf(Yn zL65e-Qw^UdjgnX!vbFJG@b}45entDEq&?ekjnl(Kw>mdJo241%60JJ8$6DEO6cJsb z?Bj@|FSD8jXgA~TlO+!gXLzHwnF3Xk8Jb&JKQwy1`LrjD>MJZ=SWXI4`P-`w% zk>MARg)anA4Y={yDy$E~#>nBboT*Q-C7>AAp}%g``J+-iEC1LW7ic$VO(0&0*8i^9!PMg7fRQs7Fa%YUoe}~Yxx3R4~CLb&S zM_x>544BvL@^lIuitFu%5!Vl8Sc*3SurdCJ-5JQZGXUM*9snmBILOkK{_J@s5Tu!h zOItW1mi|dM z+=^R@P3JO^Lg&)b`^i(zHtjAL)Z*V7q5n~i*OUE~l~X?c;iV<|{m1_gKeS@URzN++ zgwgW#8hr-E)1d<$OiN35Bqj~>FFw|k)mVuj?;H7#(|l49;?wj75QZ#uSQ1g^FiIm{RNnbGoCpNLeD1_F!H^O3d<1kq2K zA4Q*70`oFW`t-#)L8n9aOK;RXh_L(d?k9iVjNw~dh!19r?Uq4t`hJg99eLrn7jvO> z>cPZO1x333nu3Fc5`q(jZP&$NRlE~l)P((80RoKbro6MFS)!@;zs%wK7bgdG|B1@< z8oQfifch7e`QOblxb+t1kqvuUw!6q@3fc9ONKm{W(e|a`1BFpy#tk2JwQP>3$q=%L zgl=?C=t(=0M3T`SX(a!{kn47HYshtRng7#}n{LSfh_#NOHwar4;%wT`5^bJY={J6n z=O!OehTDK*521M1B>vj0_zyeo`D^)8mseu8(b301NQNh}=IXuuQBDWDOPf;_(pu7~ zj2rHq0sCamU{ojIDNwh^@J~0c!lgPxtE)mZtUm=(GbdLQ%f(I+1KW6)Qr2c9?%)^_ z1}iE~zr6a9+a#V)yOB19f96A-X9l^a_P<~Ndz!zP^tIWoJ0T+UcbW9#JAWocz$lte z5X`590#`-^2PArU7&36`Q?cFI694ST_R)zs3^8R$J z&a$E+QT*aqjsMxP`U%W1Q4#Aj&!$fBs!3?S;dK1CUSF(`fG;VhU}QF zR0p)22PqD(LrH#itqy-BU-76gE|*+)-q$z1_NE)V7Fw6;{(IBozf_I0@}Gt$7*yP) zJgeVNd4M}sJ|gdy65GqB+xNv)*NGUw#DEe^)_Fd?no!o%yyi;iTg_h}C)Lm?ULg8- z{?K3&g6n1dNxnmdb;y3v)ZIoA@N9VZ0-femL&O)9CA<~=v-1-F&YtQ_JzgbbPu-7A zm;oxkkhK%CD{yap8_^*Zz`us=c@=gr3XKYqvHUE!R22zc3gR}IArX}jKNXh3Ifh6# z#(?J+0bT4%ld4uUtV`ThJj2%1~>(DgQ~%j7jsSFOdm}rlQKMU z9(MDoM{nSf=8QZS5h-}*Zbo@TjQXql@=vJQ$M#d4X5Y;mQF;1Toc@mFaLk&FHuItd zXQ3LfL(gr90leBgF*8xXffF~c&ae29PEF{ABIm!@u!h?*!eBtad7#F~HEw_>2<3g5W>c=Z4xI|2K=!Mkj{Un9|>Jy9e zfO%WnUJku$pKh!t<2kkP01w;dWm1EkP|l9p?zeh^U{QBMU4zd*{60cj@6DxvO%p)V zM$EjUsq-_}p}A-pcG6P+4rboc5J^8{kkz0tfcK2$|W~pyNTfIKPvY%&7 zN4%Z)(lm)clMI7Wr|w**CY5OMgRTcta@No1t-ke9lZu^DAw_sn9kFV7nI3;Kamo0A zf-YOWlv=w(KdBeuGBUJ#J)^3V%#LA;(Gd2f5xmFV<~Go*u-BdTY#~KosAOeSORa3wMfwV_)OP-#k4 zQ2`Mm(rf5Nx}YFcQA(uu9t5N}6(LeX??t57Akus95Gf&{21pHJ6{D7$?_*iG+&$2Up{{8B9^?O4>9-lIFP9XT(u!`Juq z9gnyEX?ptQ^Ex79q=ChuK#DSmk?2TX+SWi`4d3QApqnMIU`X|II5si-7B-==Z(lK^ z9dUW*1gll2n2D8|w;MFLItCbttuW&Ao*eOle1m(K*&=B}d zC!-tK6zj|G9vs(QP54IN#wY!D5QgE1b?n&f`!vcW|G0xMlxbS4^6E49jvBBRs~d>{ z0Z~#~Ie34$Ed6FUT?Bf5*IR1&ms&4Fucm|k-_&%pEE zNGEqa7Xz;g26-a>1{}h`Hrwo)<-e(`fNjY$!Db0u#o~`rN=Y+mTs1PT8 zZ+HWp%*Li!sdhocqerd_cY@cM7^W)NhVDH?&WBw)0&t0#)3Io3U0plI`8^;d@!h%* z=a38c_%aSfUeN=-9`M?Rs>LAd7A8+29smy{f_w8q=M#P*@^EjpwOurB^+QRgQE8qW zYTXa@tP3DdqmPkOe|GWdm`4Ybq&>@KJk|T=jr`1%ktuC=4V|^rMQG*>#IIR0#%{@O zxa#tmC8$xzswD5%XfpYaK&D&Wd#X`>PLgexwKZ}9<5Hp&{3Z{e2G=z)#INElT#%~X z%wz)JN(uO8tcK`LwGBA*F+s$W(D>5Hi^slNY@<*=V4*x|VS3(Qf#zq7*yVHmpuap> z@gHNhF#CW0WR+28uRlu}O8rum2L+rQU)dL{&o*2hp`S7?ZFZM<=@&%3uj}cy>op4( z%l?a0sC}*P1@)W9T0!19tI%`D{29+%g z9a61N@9i3;3@T*B{^8>PYJL2A+P3@t;_wZxemMNwf8PBrA_@1=M*l^L63{ICW4ZY6 z;scDu4;rn!`Cr7(|2xG8|G$ps|JU*SwzcX1t2&+;UQ%_%&T;`Q7I)q8&BLA7M-2AM5Al z|L>xmYfD+k7ah}wJ8kigvCuMui~X(B)zEf9|3{IVVpKD9G3*vdh}qb|x&sP-;oac@ zxR0rHI-#WUU5V>8XS;f)9<{fEb4cF0flDi)IefG;T$g8AtM_k=UK+;92*2e#uc16>#Hlb&zT8^I3JG9&e+g5x|=sMZcN6S4hoV(;o- z(&1V^_AUwEc=s`q=0be>fZV+ymY4LcOB!s^QL0Kyiz9nhY1Y}5&Ur+BRa6Ye2M@9L zts&!=yY}k~cL?o1KDt5|aYKxX4*u+yZw+eB9$qs^b`ecw<)@_x9i_ZNNcrsMW#8+; zpBf_6dbP~t`t9-R49l(iaF!E(h`qc?F0Bps^)N?(K!@GVZ`)RK$I^X#{Cejz=M67l z*OUAy*4K9`U+>4p#&V6L1p-ZT=O+)`_)2U(Kg&YJ@OYE2wzj??T?xcgcob~&LGnvp zW$~v6V6L}2AHPI>8oh4mmY%ONa5KgAT+YYhT=&U;mlSp3x8poXSB$2+gWOUWPUBe< ziDw@E&&`v+r{v2Ve-ca=p8Pn|O#eI;|1s%wU!z5&VMMZc-#8M*FL=zdoL_O)mw!_l z82c9dRLU(bM)oz!9EQhbAPc5MFpZDCGfb_o&Ou-IAYD^@*Ob+-vR+kOepl$ba7DR~ zjQSZkeRhPZ(6HUf%^|l#_mprPJv^usggb~@m|N<8a4~F(W;N^Ur*#KxlqU-RPWH8h zy1Y4F`P}05N`DQ07ki(?ukNAS7o(QHl`gJ)jXB_bB|^N=cVDS1jav)z=n8?>);UB? z)ixrtBZ(e@x@ilN7Pj zGTp1rSJf|mTP9p*$CB0-)RA98T?^gt$hGu{d3;KN9oxgX86HcOcMxQI?Y&7*zzecG z6+C!({W0!3A~PoBdGv+^03~+XcU&@r^<(Lr8tE?S#Br*<%8pL9+AQunWS2#DIMl8g zUGtR*a`HqPd0uoqBsZbaCXbg9p|E28R*QR#(5B7ob zpYLqV{e@^OADr8+vQ~$Q?8H7l;g?7KKA|a1{2Eu|ru)g`r7To~^U}qfSrScZ6>^;N zv7B{*g>X|A>I4(7$E947neLEZ2Hj+>WZRT5RTdwJfyvcxacnd@8=?|7C2q22r~5y? zNtUsZRNV~pUVJ~MEQ@k)G~PETe+nRUCohTeWQx><2LTPjxYWvi$`8j)O6$9~PO%Tbecwbpeqs;_g zMg8}HG{A0$%Er8wf1|oda(E=?ho9FOmnr{*{%3!vO0U`d<3h{Qe~=nsJOJ`wXrtC_ zyEk3Tdi3CC>HE5=v$+{r+q_0Kf#H#gJ#7QTfm7+w*pqAVk?3e?IYIKen2YFxoZK{T zhj1+Txc$+`Mo02Ya>a%2W+hH2>}sxE0|Q<-H+VO1B8YtSE=!3b0@#$nvZ2z6`k+8& zOju``}-E+PhqPM zgihc4;8SdJI{}`uzcp7TDQj5-FTd>K3LiN9`cY|trPr9l48Zd_YqUu{KN*~!BJn*L zM>#27c_|0BD*j4W>HL_|k9Ju&AH$t}(jc9BYc!rc@YV5z=jC%bt{!Dsx#|?x8mMidC5DUAk7hAbL%suTn3pD^-!g5{NMs z(UJXTb~YQk#uEf#I?GP~GxpS_BxA zx?ZHruV3+L0 zq4lkq^lwRY&lp*C3!dKR3x;cU_qk^gcNnbp$}cp8b{+QV%3;*ozUZBaXIbvUV(q%b zi^K|(Z#z9wdJ7-<+w%eMojf(Mo3pG+)OH#xK{n}xO+ZYX314Mb@O=43AT69Vy;(|AqvGN0JlH#%XBfR8WmK~&7rHlq6 z$K|21VH(YZ$-MummGSK_hmUS;tgFA3+(QJEx!wiB#0yynKI{t>3SDEm%I<0pa7PCZ zN)Vnz(zYGL?)R{8r)6=^frvpvW6+E3rad}ST6=xoO3u*n|%@2pE zrOWXBoCbW`M`0lCg6Q=$t*E=$KXw7Q3|}M;@k7!aw4Od#)M{g1?yr)3pML3{*~sr! zC7>E^m@8k8dp~x1EY6M0aqq=xKUvcl7Mc9aa4uKfrHmz(?b-E@uetvh^_l_wpFt6G z^@k7!(ECsM5W+KdtS1;-kJCG7o1A%Hf`}~@cRJO>mJ~r|Z*bLIjlBAR%C`xl)g!;> zc#B|HF>MS_*hK=ej_|q?m7l_Mo8-?qebPTF3J66`%``APcx|g)*L21gaEE>xf9)6I zkTb-r#npDZk_;Ln{ZKmu;Dsc^&N5zw*mHj zK1Ax6FNmHSxfKhhmVigwb)*m}wEK=-3Mk9sU&}H3Tp^NH6eNdie6ilVNaQkK=gW5% z7f7}Ip^~c(G|Kp?s6X*9c`EQn8}nf9pSLmpCX(~Wb^c8x7axz7Xpb~|d=Pn+Am0yD zSoU$^=?-4bxSb8O*snj6t8qT|m52R7z*8&N#R2`tW0Zy1PS!m2V7AY zYM#tXyD}IW`RO~^1v);H%b{UDR}}l+u-_F47&fDjG;ONv7hO+wbwd|SyVlimqWAO5 z$Gs-%-8a1kK&c&1o_J&08+>$@cBg!*qIGrLFA}TvqkCg9PK0h!*qz9X$%*rcl0$bD z+m~X7(Yy*Wu-#j%=)_FWQcpv5%NWKZ%gzM|C>=?ve0L`)SnA8$V7BD?g_}sw>#X2* zMS{!7UBZE%R8AC|Z5FW9P!rt*ON}pno#j_+@023~vsv?W=?YX4ejl9~LeB@Cm;xDL zXn78@I4GB@ZzeJrlrwztb#C6!?X^!=t2Mi=j+;H`+;2u|Xy4Gw0vKYhMb+%;$seLe zHY(QjO1tP+@$fuzOovvGGp2~T)EO8%QHz_;do7emEiD7jC4azqiY)CE?VB@Nr^uyG z|Mud*iStbWSUY{5exev)n!}{@g3xw&kXSDC(eiNFmq!cfe>HiKZ_%SEIbuqrYr==o zx_0q!ky8zS^J&B`??g!br}p})G}HN%wY$*>Gn7m!RP}7*KI$wfLaYQy?iDC3r05R< zi8)g)6U~7h2??SNL+g^GOLbEXVcBQ{C&)xa;tKB!BsgU>dVXp!_1LZ_Q`hxa5^v_N zD^sJ)48C>n1bnL|S$MgzK#zxVDO~Ami(X_Kr=H#KL)fJ|oD8D@zEwl5LBgZyHVU<9e>S z=)tE1hi_2OX3ny?%d&bzNIx6`7Q|Z=__idN4w)nEm>qmg>?BfJgj2z-ni?^CQlfpr z4>g!cO#$BQZ%+1UohFx&J0_QR6;Ds|KD}{buQ)256RU+M9!JqoyEcE7#xXfu0NdbV{%*94{vWCWlnNJAiL))9hXFE z-H}?=H*q4*W%Z@r(F46DUFi&#yb9R-M2Y*Me%T4^F)OxLQZw0{%EaphRFo2T56*}k zO4q+AzHSJs|IUGR4TJVIP=9@s;rolMkcglqZ&yl%16K+LFDnM>TvmHAUrqZ+VZdMD z#YWp`^$fVySz!07DrEbr>YZ5uE>Jw`W1jS}dv)s5V`xm+^eb;0%iP`2d-ni`?;!S! zY9qoI=Yt?|Uhg1r4`BqWc18uW_P;br}AK zXZ`AC8~S8ggMfRZGmCY52vvtAPBqvAHdE*E;9VPNLn+ysgjN8Jm?HB4#F>wY1D~k* zl1IKc}u}bV*+6YpbNg0CM&%R3fej z&&udwR%&(~oJR<`d26$V8GcUPwWO0YBnZ0dP+@qaLE=T8%>$q_VHBX7P!bes#YhWDy=Y)YdG;U@U_?Hum1Vf4n3r z$MpK3^d#*f_3ke4Yn1R=3(DwD(DQm*FYBAe9y`k|VoNT}JU-?RSrpMbBYodM{&ylu z;l@j^8C_e<@#bDe1~*sWgHFekw&0-tHQY$Ar%M#Lp3fF~Q*ZFu-1Kl2Y1jZ91Cg7q z3bw2Fl^Kl1#66j_D(7u$IZIDY$h5i);L!cXbX5;?RU%=0`)2W>4{*)k1^L%wl~Z%1 z&9UUW>U~0Wo1IC$QYsx{!rd;bw~gah6MJbeDIT!~CW-}8TgA~e6cNWvyjyXHeU|gR zjwdP7GBAB^`M<=&KZ4`ua$3@Rd0O@n>*J8pZ&8^Kh-*GReb1P>%YAp7=<_hr7d24V z93@Qq+ia4Tt)-$Wjdpw;X>*P)7b;AgMLI@*fBlqbJq1-;i?b@I-WE}tn)h; zO5_G_HDrkoxz#iAz#9*acp zJg(t|vn0!BygRlR+N7TA3Xhpzi7LL(**<=!I@DQoX%+s?4>R|fFZt#b+22vcA71n; z-mohB(qq5xH!~+?<*UDFd8Va~keN#wJipiYvrD;m( zl#etT&uZR!!Tf;0Y>Amn{~|%D5MlB-b#HUfJ6@L)v-z588hhqx8~%aW=GuU!u_4iH zj*U)X>JyD2o zL%HLJQoO*pQyZ>L`_rym5k11VgxZ}i${iX2p70m2Un9fzY3dCj8U)nc_{V5r86>1P zFwm_NI-U!rAS23_6;C-`L&$-q%3tQS6p=yM#5=hnjj?Z=UJo6xj=@Et$6qE)-nS9k zHJj2>8BA1iS!QV)Zbuf~gvCQBy9Hv-k5&Sr4*Ctez9-=F7n74f&o;T_lOVfZxFsT- z8~#TBtMH9bxC`pNVI3!G7q4@>Ku z$Q-bNUs5s!;{R-u-i9VuOH9T-E8z+`%=oNgZGD~JXv3N94RoetaYM{RGqRC-m#2K9 zZ4Xsn;f&TT0mJn4cl zMicNYws?DeMVY|AV(mYy@b2lKc<%k!kJLi`4^zurZklNebxvLceVO~g2l17nR5Q0b z!1R;#3=S+sn~>)j+;);(wu!w)wxec)rmu%*YQh%@%@J?io}{*ZLAj9Hpt43XVlyJ5 zg&cl`f7eRu`C4q7d1`JN#r?*MR~u>_(z&$<7`>bcZ+a;sawt_-TTUfxClAsF=)B-;)|WwiMx(+);$z@?KlXOyT8V|a;MZoHDc?+9Mm}&g|^YovAu`KOVWW)^FMxGKw)7!2jEQY}Svy-nq2v`V7L@#n##57?X8NGeH zP27;W1$`1csoYgNjGKEW8oIvz_dA?f?NhyO{0fEQ3zr2=JH-9suW@9&%T*XRHX0nT zH<{T!PbrR{_DP>>O!Idw2kjwrD=FUyk+3Cnxm9 zzjk^uEmL;1@*{$ zQhjn+fW4x#kKry;03;eTgwHC^O#`mJzaxP9uE-w}z&mWdv|gTvL+pLzIYM_Bj17m= zw2y4tsUKxIoGfw#Wy{&9-b2A;EFEu3g76tbFn#5hFdLcW&bN4pO`qWZ$^1X4}C=TqQQOA0%sa9Ox zlMVStDk~>;D1y#^)`BFZ&?Fww_^b~9=nTll`sPF_ipYhFOvzf_a5STJZngrf6H#i#A zsd(-=3Ris5cZ|x#;Av~`6i)BdYA!nW^xYTu2?s!`Fy&6`4BCIk5KX1Bnv0(PC_&m5 z#GZaY=vefFJb5i%?x~hlX(pprZpYtsj(qJXI>YgQ=LgIT8`EG;1W$nqsRHFEEdcf` zRlI}O-jr&-j~;KWvl%5|jPFgikc2|xg=KQ0b-c?q3U0 zre6zDo_|(|>f01DV3~x9vVkgOmFi5>bp-7?hX7tx?UvG8C8`t0E+<)EM;+^vtxX9U z)%`}Pb9mB93t?y9aEtps?+9C_iaiHmSk+z4EXnom6UDkns1%xS*`lCS^o~ww zllMWbfMB&7?iZ5+%cGscoezAPLovZ`?Z}h024hA_o|VYYNstk*G`#KiFp#b}-M3 z)r`sJs&_|V(Mr?hc~)3P0*OL!+< zi>2G97*G)+937GQ01=|k(_L@Gwq?c`VOtphcB5Qfgv!tWLLQSSx3=fj3P;$(wJD_I z&AzJkl_aBS7i+?kG3?4lMA&>Cq{*F!Vg7*9pZw6J32F3gjWxTDUwnk$2+I}=AW)Ps z&A~kG?j6rc%%N9JFCoS^c@5Pwy^IxA1rw6=#OG_A7e8@Tynr?ej`Z3QQO;uPD>I%6 zH=gZwOfgqnpEE$eJj7aB>Bk?{z*!IOH9}*B)K*i>9x4-X*Oju29;*VtUssR!QoNQiiDNxZ@fh^`Y1bh1Ky(B+G?>!B;9hG4E~o ziq}NM8W*au*t(inm&_Nrj_>i;HT^#~i0`d_4v%l&uYT#CUPlOXxkU6YDM>Zb=Y~>r z^4qZ}r&JwB+tm?L&)C&7`h9n$0qMGDm>y$15}ACqW=}bh?)1QZN!P5?sjM3+qKlDv!%blB2z&eQoQjT7FX5rEfmj%tb|ET3;F z8G!m?fD3-Yz$lU>?0Vd8f{m)OT^)&;Pe*#dsgB$p(J>N#5=+zWkf)`Y>gH9qxvodF z+A#;MPAn{0_fKo3ZpPv&rBg0Ea`+Fv$JKu5@hjMwc}+&V+T`rw|1&K02S@*1HSZKT zK_SS?(5Sk}r~JnUl{WuFR22~bz6gB!zkZJQmp`lXT^dIcD)!TmYFa6xL`+F}no^8< zrk&&X-|6KteOj#QL0JaH-#ZI`R6D=^p2^rh!xaP?`lIZ0{)c5}TL!7-iJ>$8iAnxw zXEdi4{rSj_b(Abz#QENHRD$V(cGp?+hUoWz-MynlRw4S#Y6nG?pQjY=PZ?Hxb-yEEkmKR7`8 zkac~Pc+CXSTm8QjSeYvHFRWZMBR{)Md-mB;yLp2}K&&yO1Z_fXu|M4#?NY|XX zLyL_i-&gUh)!j?x$^(*P$_u+ z@WX#{s7%8v+q_oM?YzN1yl@!s1X3~wY6VH=FPWNT@d}F;SPZ8?*#iw!V%hMv>y-6|QKLZ`Ku4g#&f>l48pA${Sdco| zJ9HX{>tfI2UVVgdUdPSD!Fc!a!D;nkDY5f!|2^XP z1JchFYYp13(%>HtR)yqQz2xyQ{OfZ~?B`*k^J_=k=l>P+|3_N_+Um%BgyZ>m#=FUg zcGy7-|Ej*{JiH>f+Cn=fVx4k0+-~Bv0pH1DFZcN%ZKgc1hhJht-J6ZF`7pr>ukKU# ztUUsQQ+#-eC*RBJ?zrEeR?leoK`=C(`H|Jv|4%`VR9xu;h;x%|Zu&B? z{1^PTgod#0>55DqnD-lkF|hP4R8AUFA_p4sWw(NFMvb;23sAS+Y1|&mz}BU`P{=@3 zlDhgR?Srw~kDg6EO~l2#MESd_^t#{^pGDMMo=i=>4i9OUh%K?dC&Vydib&!{P{Njy zF1$>>5C**>8lCQ8>rgZRXuD;a$oo{yfLA#?ef#s#qJ9 z$@h09zq~omV$=?-9@F*SGG7UncQ>dx;uR};yMUxZ%T;pO%SY9a$PvFIFt$H{aSiwa zN$aLsBj5r`KQl23$l|Vd&j32``Ceui;r61+J_JhzQ!V-J&g1)RM`3O<6a(*O8E2Q(+uYJ9CgQvj31$cAs+E4F ze8NG$y!!g;)_dg0=&bt$vf>!K=@vCQIT<}rosg$<$JNeA6>V#$gh)BZ{(82-UkW`M z+aB2{V))TmB8m{B>bLi8yJ+-N2RIrI>sylzA;!Y=nEcemBlC6?-dIMsY& z;vO(SIN*A(2_Xqm(GgSn#K%ROG{}0g--l-9KOid!NXs~%5a zjuY-umt+JB#%S-w!ER0aL1m?uZ11e?zAS(qWcCgVR3cCODsp`N%fWkz%>i{(Gf^wB zhq2LCQT60p@!3NyCN!p&V|e#h95nia_Q$k-42fk{RC~oY47xPgs40!QGglU}b?4Mw ztym7J0G7j02*1im@K|3?9Y6IVFWc}&*_gnBg1b7VsbV`$3~Y8Hmngm?R^WTf&}EY^ zD|oBmx-^~9Hc3&tC$KNWGaL+U{JnGMZk0tnj)^)ufPQ0LUa<==0QGVQuBw9rZ+VM< z^^49CbUrw2=zyN9J4=g_Jv)Hst+ZZF0>0102)E;DlqLqJ=B6sg{Wtn<-a<`P{vP#&SRtJzC-Zp7Ht*O!g;O`X9;s=OzU`SeTY=h+h3+Qn6?s&BQ~defOjQ zFvhG@P4F{F#?w+V9i0$QU-uG6Iq2EWqrP-~h8i&+ZdILXq3QWnYT6nA`>-NY|?+z(^5=KBC9`gui^kjrhKle?5!WG`fJ`V+RZykSGrC`_t{ z_{|qNlqL#HqdPjUI#sW!y;%VXTmKq#YqvT&x6ZmhEr+ERuJB@dTlX}$2dNJ3;lMME zQk~wP6CJfxZc)EJKU?(>_jF)|=fZGB2Z!Z;W!`lyIeXX6J5>#u*5b@cnVM^fqM#)P z=rDX=B&Ohyh4jrnDeRSk)g-a3m?mrp~;$bW+FH&V$($cQJ1XOH}!rRG6$G{-4& zLLzF*c8j7GJ4Nqn`hZkEA@WE#$am34n4?S}#a`&%ab(Xki(i{fkMG-oDE&RhV!ZKNm7za{kP}6H>#dh$#ekKFW9bIbOs#t7u(d?+# zdmJjht8=1hkxKBhU7K=Qpa?8a;z-H{lh2Ot1RIY+SEM?{l(~`B!uu!mwhPrl%Ja=u z2mHlzyF3N8t9J{eR?{w-BQj|~y#w^xxh2NRkMa!PR{MJ<&2k*^V^`QDOS6S@PeP$v zChCG`c{9m;bkYXsMyysk+4C2QMH{Z{N$P&ZysOe~UxranNhf-MGFi8V6@BE)$pG$8 z+R2FM%{X1!P~wiT zz<%l-u8O`nTI>-KSF{J>d9G z6pNmwwI`*IXF!c4>0Nq2ZF!ZoX`&G5eoDJ_nyMjg_x_r@YcJzECkj%NZ{s2ZVD}kS z!fP4qZ(J)F6sFWY@tI9I56+#%+ASkwz|tpveb_j*y4K39c3QGM zl^Dzj{z6qIaQmT5pi|E|1pM-j?U`h5R_};?M^SN^gW^JI4fkDN)Bc2e9<@p44YTTU zrzTbtFDsr9^^!>>U_Ly(LS1ok|9a)g;k=6huD@cZI2$`V-8U-be)3|b$~SLfDtGX- zxj0B}_bs<9<4+=@Tk4sdG;y-D$wwVc zS?8fUb@Ccs@bnpDxhR=^Tr9Z4qpahHjcM8$QkP>0FGz7T#z*#qvgx9eZCKED^wHbn z*nH?9q%?hN!4jlj{m{$F#+31pWB%J4=qbPe9d?x*T<88OG1t4?bYphGH}5HYI+RfI za@%^#=TnJ9Y6QMPh&VfRHqWj0L;X->5Pu%}*t}wAPgG!g*E=A7e`p?5L_ZGnAaW7< z64i|kY*c5eY%_i9_p-}lR@DLk783O`J3`arIZTw-JzTaw2>X^K$?yZdGo9~0KO8sa zzRieK8e#KT8kNCE={WPpa8Gw2hK)pOR%w+p55okpD<4mfE_0#up1P)27A{Tn#iZ)H z$iO%GH>#BKx3c;hf}84BJ-2wE`<$ry#GAqYRx$aE(M?iP5DdQ47l!yyuGM??#r?}H z$PZEBz$K^n>%Yo`Xg~b~iMD6NE|x@fgHF#Q4$asmNWHImRdRw;`mhEJrAS!Kt4OHWv5`psTD=oV7BoeXvyD-()4B!VKBLdjjs=eGMwMgg!~`f;ycT zqDS>q#y${>jhHH{Akhy}-1?>FMUV)ctxa0=2u1@r3m23RQQ*~qx!eR zqyLk{6Q#i3<|A~kl+44FjRE6mtoE|(@uSiriMojtr`_Qsde=^!ZIx@4>skib?Q3GU ztIwz|5s+4`wZgfEvcVK42^_7sRt{`R(#?yn4@cAsLAs@+x)sRezn|+FL!DENF3p~P zVo58R4r>|7H2a02f@Cr^_C6Ny>xk6W0qP$D+GE%I#DjxCPMvQ1gLhJC{Vu1hcTWSu zfRmWp$Dv6Ug9rXocN`hVVKU`*C!PmU>{5<>-&FGw;cA?(6@fe`7$ylMuoLE5F(B1) zl)Mkzc`apsr&h#Oio2XvTkAzNDy!|Q70C#Q0PAw5^Rk7Df>=w_4O0#_GNRc{_orEP zrJj+BMtJTFB0unBMtP}e<6Xlnq#rw^4|%7=L*>hhhT93pzIzLgifab$`}d@zgiJENEpMpUH|+mEHXfQ|eS zk`M*`RW+#>k*ywXNE4FNIn(Nx5XS#1|w1ihg^#;%?Zcbe_Li5!vp7!GGY3S&1 zqVIlYX_C!7_jRR;ie+>012v-u;5dr*y5(qk=1peB*{=0THkj#oFH0GoJ?Q7woIv6a zkpfPIW0?9dMFS3OaMswn>xD!pt+p4U7tAc(6L$`ZMAOdY?nlvOe))g*%5@sg( z*g8{);9H6OzO%YiwF#_s0T2}42+SW;B=0rY zpSF4-+QxVsRNlh<%>M}XOq*R`*rsVm@MihBCtLQ7a|Q*gf*G(rz4l}e8|6BK|9dD;$2J)hu$~)lawM_WU)O`O_xJ;-CcxLo+B0QM)ZW---_Ed7I za;Z^|jv8S`YO$w`_jxmV#5%TmHV*5?%(%+e3Mb*%nF@o}Wn z7e5vVInQWFloQ+kzOmAiWRj`~hk2!D-#)0_`_@BFrp<#Y^?pGmiCsIA`2IKiGCa8j{* z;?sL_>Q!z1m~Ho~APMAu5j3Z3-$3 zG^xzPqqt|nrDX=bmHW=NnjNP9o9fxu=86VNRtMPc1r{bC(;kvB%(@P1;fKhDvmsv(a zA9N5HP2cn|fy&xQRrRSf=tM(FA8Wfums$@R3W=j3Ld$1L{2&hpgMtHR|=(lzB)#}F^A(D4#C2ZVLw zcPQh+6-~re&kYQ#)WQI?*hbUElGDy)_!Xu(f^fmOpJ}|hWDKw8wr{r-AK+v@G9!I& z2Zlyb*c>13Ipg7*h$FPyh(TRA{4(b;lZ*_!^t#r+sW_VTO#R;kG|?veD(SwLBF9DD zJag#KHrvqtIw%*+HNGE)nM-aR#vc961IuduHahSlU$)}f!VBpr$27lGiJ+GVyYw`s zRL`=rXZnrgU^&Mx)-Xdl0#36VEjrl-@7yU`5FJAm^&OAf)~g2xXY_V-*%SBSL1e_b z5NP&`xx_^X?1Ab?q?o4~Cj0p<-T?{-bv6>pB6q>+O7*&Hq-(qP3G&&R>-0@$h3Wm;TQmN(XVSCZ64b3% zw8rqbx5JnQsj=$e$f3r(NZci>Mai=nse^3#xCiP|7-`-`XotcPdKhz5frdBLzbgn< z>yL?>U+pyR^}><*2?Or9%mFYg{OPOIBebFpYg1Ie)c3P>q$%Fy+;D^qOa1`Ja&V#I zLk@7nOH;&J2DrH=0N4nQd60c7r!@pjVbX*H3PaPCa+%VJg<6vuW zU`p{Jp5afD^`EtSql!3-KR>_c(!2s6;`bv6rHuOmy$**M8Mn*fiA|t6lJfXlGI+$M z&icE|l_Yd<)WW5(%Recpn$G;jQK)`6Q_kA7*hsC@G?~?a2oDf)^A)y#xo2o*3;(^O zV*0bBdaU(#h{*A*)@?yQb^Xw6GxlS-#9pOHDRO+W&-(sTk>QW^hqPFH*B)I%{_DfX zP?0fNe91i&a^hW#NvULJLw`9*4^Pl_`*zQSz0pgEZN#H|o*lGgsJdEPnUvosah-Ld zYA0}Mvwm2V7~Lx|HMg`#5OFJ?MXBJ1Cc$wH1E=k~#g9GfUXugxi;X2qR>!KbtD$b| z`Bg}~07R+a*X~8?wvb#oKmA!>yP6maDyh(?$4(Nk#vQ|9j#T)Mw#E&dP)Bp!6loOo z#&oB`$h?Ar4y)?Kja*z_4sv@|F|!S+9G%F(zvu1Y{Z*b({Dft#VL%Fd-Ck_gwi&21 z_x;`%5!<;(P}l3qdo&j=li7vO_-OcohPYi_l)=<1djjTzcmdy(7h6?i#Aw}Tdpv7{ zpW~{wUBoNkA>;P?a!i2`v*|HnR6Ez4l+Rhae~FxHdpKOPND9QXa_U~+p`+^Y#cCf; zclHmsHzEm6xBv8S^0MO}yE!l835> z>jP%a4`KrimM1+q;W-Culs7XP<;JdB`Z-fAf2A~B>?t#S5<(Mu*}-d>%U^wYbcNFC zOGMgxeFTDUj-k+gs?Uk=g%|8}_){JR8=%|5_Xi%xsM?9L`taJG`k&OA^q_+Gn zs#Hm!XNPL)mORr3_6gji48JZeu8sEV*_HVA`av6L`DNHkQN%&yJ#^-lnYB*s=KAec zT|4tiO5RPJzCC;bYjE$-*A`PQ^ChPz!msZM(7Uk-G9rtb03s*WJz8Gv+nR*EUa^yN zZe%#vV)w6Edv%y~e2r*9dQ9l8JTL zkw6y3)-Pt5oWLNFu#GM^?4bVS(jWEl_b0} zC$=P#93S%Ay$ggd-dAX|Eb4I+*IwmmLoZruc|L(hZEkYyY^Aw&rXeRAuE;Ts`E<|^ zWbQWwh4)bwV;zfo#^TXV2Nxb58NK<%Y@x$CcssBAmrx=)Njt|R*&?@n=@h38`aHC& zYPLymE8Ap^V(Zp-|NW-d^Mxv3bVc`0KaGYRf+x%G-&CCbE8|&;niI+|s0N$d+ap@L z`xHGbdvwGm`>rXn^ArNse&Bs=N9OPad(V&hv4$w&l|UBJ4CAFlemB8AEmohH zhzW7@CG8n$wdlC)X8fnc&dSkeYLo1X>~Cq5KIUua??Hiw3M`&`(KUx#Hd)k-AG>!J z276_W2%XIMtu4Kz&u9YZ6M^KI&FT_RJrBTT1UOj=L;{9Hfa z$sK9w<+T+Q*x7W!pK-7!_Btsxk9t!KF?9!(Kp&-{X9CDI>rjqSqtC7HCwC^;pWE0} z^r~uU@4?Xl&*>a;n~VLwW&t?BrO8(=3XJpIXBnl8=7q0*ojegG$@zf_8?|5h)nVV4 z9A3(s$?sQV7M09J`7AN#*pUsvM+y=i<%Xgvn3g-tf%4>(m{Q5~ z&WvKdf8j8zHrMY%%VhKaY?*}UXBN>|&^FniJ7ZIW*#<*Szj5LIEi(eofD?Ql&hSyL z3uNEJM)SxmUUO&9C8dAuK#4Nrs$pKp0}^(N&^fl9Vk&ql z>G0gZ?yS|Tel?;=fA#&NU1pNVhat_xz-e7aV>7#lysa2fVZ-+!2*>GTZGU{FLCj{g z-W^cYSx!FpT`s<=81&BefS#BfI!eh1YSA?F|B29~d1PSo8bw_KZJ+D`spVl(=<{5r zg^&4~-~KKqpNj6SI=9!$6213SLX=IUpys6i2A!K;>Ut%)Y?&fFPbh`Q!!_3z!IZKeL3HKdE}#tRixlFkVYm`X_{j9%V4dRDYdtS zisxa$j%cd~5B8u&YWi+jm#t|Dzf#!|V>kziHJqEyqrP?I-m4mUV|?*1gIzjxusO(3I3SnZ9$}d`XVIyWTNLEisU+>Y0%H&3M`SOr?y0TmkVeehGm8t=sA)!vCs6=^)j z*C{rc!kBrnNH5c=-Htkd-slxEq`p^n>T+aLSy2Mz^9W0kf80I!mW1ExF6C!0I04N~ zoj10nY7X(&h3LI{i&%4IL1+?S70wLa(3P(D(wDQ&G;v}7Hf~ViX-B{OhNj>1fpR7K zl5q{=bGwwr5PnA6CjCC%&`C(hwT*1p6OAGi=NmiwWz`W5m zg?AwvlKbnID^+R)t`1*~*?SpHzqVyEcxp&-`ffEC);|3lvakNAZ>>#I(cX~7+T3Y0 z=h~>dxyJigtT*h@@i!*>AZMGg=VHC#$?T!?KmPDIiCjiF%$ zIt+@{lpsKMIpNt=%1jBiW-}%5h$qDEq=w@wza4KMK}nGlPP0zi9JFd$sq!MpMRD%l zhn$GC_(ws)+AsPa>+e22@xnG+cKvNxug>}(bgI*c>OXq^2J}=|9BS0B`4-8h-j+hj zR!`X6d>R;L%%u`c#2TINCi8HHtND4GLf6y>Efrq{TcLgUD&g)6jDaPtp%IF_{~Xa)gWnn@R8sH&e;pu z@1BI^G$z@`Uik{9yD_{cIE_LY!e9V(ztE+%B6f(p5%*?^Q(W3O(MWsH+eO@?eYNrfwGRL>#Z+J+zz^- zi0U`Gz4%(@VLCUhSh#g^6=z{Mtlak4^r;2-*5#V)vH7G$&Rh*K`~`F72j1P``1Gn9 zv$eH5YZymYu5veMYTg}pE7b7@Ce3T5)|4LKEj=#*0EMIOd1AQNKTGPh%pe>7ATcoK!UJ+ze|9e!$tUyibk?aAlO6$?KZIhE=dmH-Q6?Iv{)tSQ9 z`X1hXA{%&FHp?{;wI`ZRy!dH{#$Jeh+JQv#ux&Y^2R!bCrrgy%6?gt~qE|Z$(WKns zx`Dc@ek$O_E9z5ZeKFg#oa;AV(t4!sXTAEZ`_$|PTTgh^FaD9KQ%EHyI>hg?y|)ZV zb@>;2S2x;dUKs0L6}(iJ07l5lO9~nxu3}pJwG)g7M z?@JHt^eXk~QXXCHcz>U1AjiveX^ex}*`#P^?S4+JM)5&pnoMgVcb!ki97l&@HDwLpeGf(zmGfoK(&;PNMV_YbK zz1Y6*js>A)K6=Q3-`06bzVlzz@CgX9I**PTGkQ4MiKd>D85rr(8wZW`@g*HZu=Hx{ z(aKA1`?3xl(W`n&O{O3H?|Pr#SJl_Aay+!07)z_pA~lie@*M5QqYpmZG(F6`V$D z_m!{KkDkhFB57a>gFO{9h0!Baa7GO8z+X8B!dGNwHuI&<>-%*_O5 z^6`ECj4t#Z|9M+D$r2TDkJhRxaJK$;fpgK#k3`;*sdP=%?IjVfjTF(KI>lC8q_g*h zKy!5mer>M$jDGC8#lXYAu8{J5+&i&z@8i{r#%*cr^L*g(=RxM~W`yTMu6x9`0_b(V z0iW{(C&pX9-F?mG9`>^B|5cHkwJQHI>XAW%7p21I(8v__clD%6Dvt=H+j}xPCBc zqyF~516Ql}z^BbceEnk1KLz~u9UqCWsnY_eDR+}TCV08j@>?!CSEe?RE@=%s1n0hD zY*rX9t}e9uFa7H#J`KblCC?sgGz7yOt(-IJMak0{{9$L(aFP3{ z?x}XXVM}HMbAIl6ne3l_lhc+TiCu+gsyg!ubi#LjxSk{k^bQ6-bAkhD;M#_?hg?s- zOe@9y?={-@0aLa+?*iNVOKZoi!?e^LQWqY@9D#Y$YpEezJ84d|DTq{hq>5Ejgf0XE zmi#w;ujc=ozIzl05;gHUNJ^6+In=kcBbRa_wl!sX@P4D%GkN?9^s;mLtCQj99FGcA-(xmrvT7~ zfAhg-8Z%%Mk(TYnms)%GGt|WV@Xne$f7Hh+_Y&L~)g*;a(YIjeElRG#*IjyhRakLj z5yS4R6T~Y211i zRq#^%|5{b4YE{OgPH1%dwJl=I>i8!QPE7S?YQQ$MQnKbcw?tGLAxOX*o=;J)blxX9 z$>@}_R@E`_Wu`x)<);h69G6Q%8IRRG8rlvDGeO zR(Nm_BaDi3NwC%y_g|CGEj7ZGecT7N|2v#M+w#|$*Tlp{v1pk(%(l;d$3vS=?`Zae zKN-6AEo6S&ADv=WQab^Bz9KThnbgd#;V2HMR`_UKxH?t~EUj*8?*6FF`^-lJ4kCQB z%YBd-_v4P1Eo4qJ#!3flT#$ab!IT+z2`HP1wAxhjrf~SKL|)ri5!_EW@Z+}s#RdT^ z{&@0IF;MQ?IIC3Sh9&6g^v^%M61~^7o^*EdoK^1nvBIN4(FPisQwCsPN(M2D!ilER za?keN(NSAF8Ga|{j{X(Z%&ooJ|L&DY@f!jR_1q4tH+xu6jak9{{S%r3f;&^W z))%cR#&l*wmQ!5bKJEAjY%94~=QZe|ccT%KrbdM*m-iIBS?BcKjA!bjY7xQTFednP zboqjn8Nyg>@9j&mb%@w{Ao15Q11GCKhH%T;H+#5Tp0Glq$rbuy439BxZMyY$eJyZ= z89vA(#sXzU^Ydt5&^6&eLvz>M>55GMWI1gKr%?}Su309)OF|=;_F^Vb!6uDU|E>P~ zhaF!~n-jxpf|sP%YC;wy%h0wmqq$eB8lihlmFr*H+YiqJLEMea*Qh{&hmH>>S4AQR zjQR)M!)+au&jojGn_d;f0*j2led+86LFn4cI|c+AGza_4R76&fzyQt7-+H&)yMh_T zH^*D2HZNVZn%H17{!ZLSkzA;Q+58{3{Mhv_>0E1^wmo0uMgz9UI2U z-0ZLcbd8=7YFuE12|hH$m^w$Zy-pc@7}|VK88x)57d$&8QiiWuDNO$80Du4a;e@o3 zn6U8XYGVKN6n*);1E)Rn{v-8?X700Vf%{rc>I6E+CM#pYvY2J6VPP^q$G!?;mb=d6 zvnnT*&*1l=D~y`|p}-BdsZbaOAYeh6D~;|`87ftWcyB4LRUb4{$7iKhlHT50uLIe? zcTA_VY&i5kIW3uz;tZn(chAAUyZPxO7{G0x7AZt1T*UY!5 zg$2V?)X1c>adW@~EceQpNKDH6kd6V=ZC87w4%-^+1Wq%|*FB%hJxsRP`pwn%%|+-e zhnK@+_){&)n9F-Zf^#MEj-CnK=BPk(9f9(?%$9)F%L=+x@6`Ocm(u|Lh*DA$*gyHI zDX`1Gi3or*zV*vj|Em?vjp@JRHZ94d%Y(GV!ioNE%hF`Sb;OW`vxCWKw&(oKQx_;d z7#;Nkp|eyCbW^X6iqd*gb!kFUOC;Fld8L2$7oH&{5DTobEg9OFw?4BqWKIc07Q+|yg71x4leT5 zvF)4Mp(#AsKB3EBv-=e54gI>ZVxlDWJqFtln5Y&v{;O!r_fFd zq{HhKqP_Rj(W9jnaDsH;6dWi|3kt$?FzI9Uoauqw6#fUn+zRElzWU}Qy+tjxBDpCA zd(8I1@5@_t3Zy%n1orKzx{CwujLz*Y2O?7Vy+H3uLZTTNc3QK?NCeG@#hK zWOa<-uk_)@?bF>f`cp`%JUB`4X4>NOi`!L5X?3w_-!1r8au|GodsDq-?bfy1|LeW{ zZ^3H(+ck4*ifH2XZ{{t5_BC;Ut%u!q~V{Tl>9p(U0qz=j}B!I9*)f4Jj_`_B} zzA!q~9uD*z;?vhc?AlMZ1Knrg_xI;ur~PaLuaED5wUTJoU≫u+KZ4YC8vv5AScC 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 diff --git a/imgs/2.png b/imgs/2.png deleted file mode 100644 index a15e0c4927a989893609dc3205dcbcb81b5e1e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82448 zcmaHS1y~(TvNjM1E(Z_puE9CDy9EfY!QCB#!@=F%U4napyGw9)cjxEZ-T&@BU+&)X z%sew^rn_spx~J={s&_&azZA%d> zByDREG^MR_Nxg_~KYW)lstG6oqmtNUx%yqg6zK! zQjLkhC;1r-oEnfvf)7@M+6?1~oYC<+D-88B5IcVQ-P}=a{2d$&j+3qvB}AWIF^Gz^ z&jWI)Hb6<&G%D!g(l1Zkww4KKPsW!zK8^s7ANqqN0+$EmV(;*hCuXJO3jPzNJ0XaG zQ6eld?m|TK(yc}xg;roWCJlh`dGo27Xq3ZpMvMv+Z_6HVZv|o^QZn{0G1-aS4OFjD zpK6{Vz8#VdLyCPcxL97kpHM`?tIX;Q|IoK_X(-mDZ|n3R5_yja`?KLA(XuUG0EF&3bg}@X=I4Qr2jAycb?1?N z2E`!2;9&%5)**%gqs8LsjseJ7irHY#umG&>$cG0B@n#~z!_IIsBYEj)68zC5_ix`R zQA{>co1jmFf`1iZSvEAWoPIv+SH{ao*q6U1{RsFFVr5bZ=^Db)4E(Sowzpzn;z z@H~mv(M!rh?1)MLutw<#01{#HB#M2iN$sUYf9*<#Ed*l@$7G7t{v7_B!`vTNcn+xv z`4s6v_>}X*JY-@M???~sT|hIJz{wqgsNr(Q>}CH0S$XHUiAa@R0EZHl-@ zG)H_#<8R3sY`+Akyw-@KfRysJ#GXH(90J>B>Uat{o=F^1etI^{LKarkN05TWp0yrd zT?7%oSd)eiuQ_tbf;FKF8y#}s4}*P=lLyQ0d@5vdMQohc0F!g77X9U!f|SGqbFM24 zI7L9r{($hEdSnoj6M|zM>iOq46r@~1h-BEZ%#XE1N5A#>)F40tuxjw^zE*lz3-B~u z`nKpZzGAkRT3}xVpqs!?f7VaJ>wE`4M?xTm5fUN)<+hQgBCd(6V&tiUloVBzaoNNubH|D~ zaQwvbSSFNNq3H#Za>^#@O}X4*Dn!R~zfRy5V|)1`8Gyz0V znnKe1LH$fXkqM#9M>R$R!4w3%1fT_6*`8gat^z_uK28SgL*5xfFlTT^HG!J^)r2ic zoKZbO{K-%y{l5v?QwGMV3%xDi#4iHMhW~3hl5-E>jtp>rjMLuU~NidKTl4Vi2 z#AL+=Z^v(kZ)@%R+TpZ!*qIwRiL;1qrJ1MY5K$~lR#>KPo`H%u9*{jy88<yv029P=D5W7Mu-(&7)qep3B_GylAEeAzXh1#`xRkIi|?Z)}Q$z zrU~|VBZ1aCO^0^cTdQSJU+il9Byd zyz!w~s-cFp`%1X!u4STrLw9*M9-9l3JPRXBr@5~Nr^Y#*vzntEk&JChSC#_bMk4v_ z)Y9j*+M(JdkUoaFim8gpjeYJ$PfzF(MT6Y4`H5bJS^M~7W&~*TTbfYX$F%u|-3H60 z&r3(ntgT?JqRuzYRmb$l&9}f48{hd+Hdwh9EWXz`?r>{gJh@qUUBZrH!JF=9?QK1GErnv zD+C7eyz+@A&3mMb9~dL&y{n2=jaLs=gWGf;)t+FyYvK) z`|oY8e6X_#qj3~4m{9gnI2o&{Lr~CB>lpS`tDTvEO`l!$YNxlM;xvVdi4}>Lga`st zgW-g63$wpa$p2>A@lIC6<}YW!3xE!`f$>4nM~y+dSW@1c2`Mr9k|nYzG8SbSkt;q5 z;>NyVSfq59y>7>z##WSZC^tC1UKm=qv-7q)+UmJL+rsM6m7I`SC!e8=MKwgbqePOs z%4#svICBg>5S_LeV@hE*=_^P{WnnSNOfBFHV>?nqC8lOL(3>(*$>0xgs8EC;64=#iZR7)zrE1s~xMYb}3}3wS-qbQl2e= zK3iigV_8ftTIwS*-N3A$HiL76nQ<%B)hOt&JzSMsY4#rjh=08_OPq!;Kk}%!&X}R4 zfV@$i_B^(ec6^fYflmu~J6z9PRt}?kmFZ7)MA_>}ZudO5ZMzTdS4kshI_vFv<3iu` zFMsWdehf>bKh(x+YBGQ|lI)9JgRg*}$Li3=X{^&vxvlLTcK3#RE-97Bkx+BAXkNP1 zrai}K!#JTmQMJ~7s89al+1%5TU$=clb6Yyhzx3R;v$ruzUA8pOS^2v;u_>|hc9(nH z3F9bX9;^K9Hg&7db{CuV>-ReNWft2l)U^{&)@|Ee;Ciou&t%q+kF}54QwWH~+$mJrnf^U!_Y0*qW( zOSjS^SdWJO(d-i}2ab&W2VZ_Fs-IjcSU|F@^7$c%H>@!IVCL z=>~Ln3j>3KJCFUpoqFsN@VBnZbYV;vYMlstPHoIjTM9bHyZ;Z23ITF_tIcsJg(gDr&dOe`b4f) zmevm3uDm4wD8c=H{?}zj5~6<;akStiQIl0561K57B4T4;Wnd!VgCim$;<5i`%&jCM z_OI&i|9DAE9UX1C85vz%To_zf7;NlK7@4`axEPr}Gk*R||6YRL!OhxH-<96lf%Kn^ z{Qq`Dj2sN@&1@abY^;g?YFFRD#>tVFgyb(l|MUCja~ipt{acc?!@s)q-a*E{?l3Yl zFfsm5+wWC*{<_MoVCHIMsU~7(Wn}H}E`yJmg^7vh9~J(%^>2~?QC0olRauxh|Fh%|V@E<+;r@H=e^<7_la6F9vqkBHM;>DZb_u;@Z6OmVbKSKO9Ht)Zz_nqor z$M^G$57J|DiC|y?V3Hz&%C6wY?TBhBMlEk|FWOjCI3M#{>jaHQvOm>{uudZ+46;h$ z9Lf(Yi73?X$Ymc4w;hR0Uept8o~}4O zdVD*pzteegIvHJU5-dAA1hvn(XWsCPKbF@wGjw{MJ-zZz^18qItcyXA3H;ZM59OX8 z9o;LthvEMyWDJ3h{y-892K(Q(dztTkx#PtPF_049|J&wAvIdSy^k26uSOtaaPZ+@1 z|1L#AVH^10dqTF(0uBe_%QF!FKcv8c`1@UmXpjs)-iR!8-WvRTQjzrzZYh=s*!o;L z?tNxgxxav2_Y*@|IrD0P(iTx4n`J|N+3Nrsj@=WpN#CX{hJ?9E7pQ#98@ae-uB|0Q z1S@hUEwpw^Z@1B9?fLD+TeLqYr)BEOg+BT!tsfL3;<-21jX}i@!`+TJww7m z3MhpCOywP(q@8&Z={Q9AY-hdMZIm>zUtTRJwx))&UTCg* z`(8c(FG=!`DK`-h2|+`Zif~ihYA&Q;3&W757V0}a_ikbHrW6_s5Kde410;8+0%@lV zSYSbl)M{6I%5`ihdT?DUP*B=GAK!qmwBsN3n1YGzRTDx{03iHk*yOtI9O8*ql2v?k zJC0wrLOsKh3?ykzwZ#YrSGg7A_*Hb>mnMe3iytK9-Bq4a)6`8m=S3B~Q2Vydi1>co z8;jXDvm^ZAh$p$}AaYxw$suH46-0^Xo+AxA|2~Y-ftUD=OyH~th0k~cbDM7wsYu!( znzhU=fL!-9&J2Rli76I)LiX zCc8v8uX9Z~UL0LFxJ_HHtNXZUNW!Cv#}6JA%O2H5tKV5w-s)lCZy#S*cj=ZxM#Pss z6ynek0O8=v#~Jh$P`xn>0w%FZu4X@MOq$x1_oY0dhy>8?ff>F)X(674O8(BH&z-0g zB9p!Q>U!osnuVEdF+e`zWq_UN?!X~-Ex1bC$djaZW9W3J7>^p&v_||USC(e-#9xXo)yi{ z&vpg2!D@Z@yWW>|{+f%W3^<+Eiiq-Tpzaf9WF!uo4^jgsg0Rh2?1BLOkf`?l4w7yR zk%(s(bcCqD9CNhKl&?_x6N{_XtE~_suK>}9@nm8Do4i-TQlS$sbDA28(gSg|Y8txaZ9YTs(MGyHaly%zUhGgKqoe5J50RlyG^70rL+SNT(Vz0{VMg}M zU@2u|ZIyf)uGA~K+2*+a_QXQ zl~(S`zzJ%DwRV?yQpzOFQTSiUj0fnXeQhB^rM#fZ>83>q#u12Rx!7i z5{^OqLY3P>@t!Fw!bdfnY@gucnXGhAhrbY7P&uYCHs-#CKxB!i)Jp`;ReXwABYn=< zi^)JmoDR&pUvkM{E|%t$3&sBNJgpHBY~f%}=bFP-S>#Y!?D`tVh0RnkQ=$2sEi*Fk zDWYvuO{UZEB8b-R3eoC@KVJetWSsm+*B6+O#8#8Yyyh};D9Ci@KS{Oh;8YR>*T zc|hw+huJp*1w!jE?LUpHwLHWq6_o~_8Ej$RfQJ>0RJnd`CS=Kd&KJe#Cj^ZItlX+b zt?*K{8)cSsL?az3I=N7$ctZisxXG8tp4~#e{sfJ=VpL$bhFc?mR_AjiEvFDte66VJ5RZMk>QygZP_mt!IgVG^ItBHgXmHmT-tDj=?9 zKVI?BsYdDo=1d}wh019wWKX4IzoNeaD8(mrPxlRX-C-IS2t>nxkl9qg z$?t&cpN?2yODg(0&~k^MJtV|!x41P#oZ`-3oS9~&*GLH-KSFQy`*?>OlefO;S-j*0 z^xg5lCSXvxu`fo|;KVijjN15}@CQ&?Zy=or_cI`DYZZ;^z)ygnp-5l6A*e0F%F(cY z#|)(kux{QOLYZZGsEV9GTz@j?%-W2VPPh-cx3Pv%eg>prsjislBkQ~`Arit5W0Dgk za?%N%C!9#soe{Q8i&Psao&7#LJk;Y&I1UbLKSg^fimXxRO4RD*PVW(B51YljOEGK} zTao1{cT)RtS;Rp}*ES|-OE_G0@<}DLwqA$F6NCG~*&H5WO=!TNb$Hlmx%wcpCA?Y< zQPc9xghJE(icx*9Wke=$S{GAZ#-tKQRBJ7UjlPeBk1bk@T{(Maot3&cudL_ZT3^MQ zUP*;~rm_4t7xQkn`8>6>qZGL9w(*_5+>lB@$Djr%X9t=H&piLBiEM+Z9uWn^q2{D z=x>WP!BX_b=&5n46yO(7eiMuhpG;D#CfyMD=g|(qfZG+^y`KwW!q3-(vh3m zN^|O|U=de2^yaGe?H<;}R%%l8O9!urdpHbVGs(RvrsySwj+@1FYStcvaMuui$984i zEuxd{N-CB<;@AE`S!^D6Z&DHaH7L>gsk)~pBYb~91HD!FNTI)DLw;h2Mi~WG7Lb(i z??uUd%ZTr6bDrVM-Nuhtzi8jq*|D4+$hpzAdltmnUA&du8ltiSZZw0oW?J3%qxj7> zs)BfyfWL1YNktTf4~YB4;=l2Lx2N(?&*cGt0K0*wam(k6Nx4Ll{-7|~^> zo3@CQo5`Psqtj3=GDj2~(93pTe!FaFR1T@PYSPGP21qY~@b63fHV=^DW8PlX>k_X+ zx>OwZ?`lVI=@Z;D#`9jLcNJ{20?3yFPJ!y8nlboTrwnQ|+68d#fy#pO==9W7E!~!p zEHo}9iF{%|Xn6F>o*6nxhdHD{;F7R04AjIll8fKGS5IF1X$aUNt+HES+jM34z$m{AvgrqY#;_$dbWGJ|h z>^a$8oDWF3$WG?fZjbU!`$#KAS<)%(IhA_9oA1BLMwQN;*ai!i>9&4l(AUlDrZA!a zlp}%kFg8RL@O~&%5Ma*3GSSxxl}Dzb16Iw4Lzi$o`x1;4zZ8+X+!k{u>Zy}P`d2Q393Uce?@%29|R z@)5Qp6}Qj^-`@e_GYJgqk8JEvYPV_T(-P}lo=_*1r5xQy#LHb8zZu2teg1CF7c!pg z8AE2Bo`wYJXziKr_uroS-KO_0K;C?WNBu7Shz*8N`1%|;QS zDvb&W4RZIVCs8v)PHZ^i)1~h<0a>lIpWQQjbS0z&t3Y*kQ=ozJz(nt6@)*_~2^5L{ zEyK1103Jt($?~`y@gW@OHP4Vm_JG<6^?$dK9LGuZ-_j$vmCX^ghqZ}Z$`v3dn>#rD zev)u9gB=|kd;Z|QVnY4;rLhwws;zCcM*73ksY>lTzCNZrs@`31gfXKQ)@ls`5=ydt zb#vy9vJgnqNoHdIxrYZjyho%PnX}}4h*b6p;v&mH62(o_?96)|i#>lbe7l$P23JdT z6n4&S?IR)CC)wp=#*-dBb0ULltnAB15#Yic0;Nrh{7Q(Y zXKdVeq9~+Zz6JMeFl33qy_L5zVFN7EOHn%Y12TxmhK_vzSMm+E!fldLdEGAkwc}2B zE{18RAv=ZDc_ytQR$9p5C*(X&cW}N-*5qBcJCkfU@5*LW-dzO|93+C209B4H6m-Ex zElBN*8q_TU+_TexI`2*@Ds#RbO@}EOm=-LJNrw3RS8r-vCRE09KIkw*g$FMdBs0;~ zHJfpc{nuCXyM(nR@$I{Y5}deR;)7@Wob2M!aFf5A<@G)J><36u{gf|tn6OC=hR4?i ztz}{uklIisA$(L?>4+;E9MSA&O?#9%IzI4FqSCX5ad+p!!4vCtA1IpP`7_TZ+Q~@} zJ)Gr!wU>sV&q5nMu8~@E-c_!S*P)Z{Gsm+Mjk)2Fy6+z??_~ z;kc_yCc(LLqlZDed0JUud6bH=ez}+pn(hqVzdn})5WwFlxZJr&sheJ3*+>HNSBrr> z&{1tOQ*=V&#cMBOYoWJV*4>f`2T~=U@$(OY>Y|wCE`cotShl#~lz)O`ZwAOz6@{6A zLO8!lzg%OJh`7U>cXJc|^YK0C!aKt(GdawS>yZ^HtRb4KaKwKJ)PREPXXrRhE1e^D zoy za>-ho(PvB~sIbTl-BCXLk#Ik*m_ItqkNu4H7&pB9e!);lW7NPzhTx8>ZHpl70y(x( z00(+qjcTpleu7bt&HAi4C~wvh(rXxO=xgy47Y@|XZCRLk=&`92v&=A2Vr_L5OQN)m z3^Q$O^8$N(fA|#}eIBWZeV6EAbllpYmtfcalihi^0iD#rcFuj6jbRhQpzz<}36XCW zxUVK7l}6b_5c`~+Lm8B)CX(Rz!{f+VXv-KF45*ZL)K<%W+X!>`El`QB5Z7G(w7Y-y z21X^_ZnfdaARRv9*M#rN$XLVur0A-9YrWB^j_(jTnl8b4*oleJM`SO>fOs=2f8ZGZfv+&^D(M?w1g&{%em z7L)h~nmK=pf5)^`2DF01#0G-ByRjO)Hm8f({eZTNVpey_l;<}azKC0;-3M`MceJ?Y zvjJQJ`2MRVdnkUf!fY!3PZ3p@=^?cr-1aTYz?J=*OY*9(%exP4GzFOvCTs4pBR1d| zhV7RE8pK8eX=Wbr;C#xeT=b6jto@$B^_n@+SA-L1U53~^c@Z2M;|(OlkNgwQ7G+!0 z^#gnv!Q$he;>9%pgQ(a1<&Bvll|b^;b+()=WWcp{!xyk$rAMP=t` zP_1!)1U8>VV3*wmnQ5Souz126`0@Is^VZJ!8?$Le|o)%wQr$^juk&Rsd?1mrMk#+X#*A_$XT zclYJx%Tmy=M~M~pd6gWoN3z5#-Q3e;!YYBg-A0@&nNPvXrL^s=2-?!wzdx#hGMkw+BQSn&R-!GSF`BrlIC4VGRA*%c#{{t`ISn zqW3?KJ+$>ZlHZcBJQqHD4IT87sW!9&wM=oGgPlpm!s%RM=Z47yh&Sm!J?^1Uv$I{%khM!}wHPoWi8mJG3Vu~OKq)8rs(^1BLy1xkC^0~($DEo-S(?ZDi4 zzLDT~r$*pHemHO1A*4rAD2tPy4mG#3@EoWQ?tQS=@Up>sd?kSty?L_mx&v-wkes~gJ)gfI z*1c$Rh)9}w?A;L~oq>`U=IJQl=oG=mPlx)u4vbXoQCpr%wrvr){0C7x&Q4lcU55E! z)11Mq%lk`w2zo2;q-)l_u$YxzA~#XrK@x&=z0lmzeUlNLnv0R5T+rBv@)&)cKoAfY1A{0^I9`I&Gcq41RjD+Yx#>#b#uIt(bYb6v@V z+Cu>512r4l+<*=|NT~`gys^<$lGBmMP3sXfm#rsE%7m9!@_-r58&mZ%)J!X^d1b5} za@a6}T};dqri$rGrD)@3^!ysD8*ygqb>(B+RDWJZ{&3KnH~w$j<1^vwiIU`}Wns={ zv8aPHU9mZfxQQF2W(|Ao%!+$3C|s=`yrr&1pgKH<6mjD16jk7NrC{KmOgz(!iwnK@ zn(e2jZajo^EGr}{tc;;8XBJU?9;8JD|HoC%>nCy;kol_!+l&scD)USz3Xe#@y2g%( z2+5qyh_H)WVj=v~xmF(^`tgWpe3N+?ODz4V7;Qg030*&^`q)a^&Fa(ZwHgx=;c}Gr zQe)nA$j;N2cf^WYMT)<2d)Ff`vK^p)*4X=h(Y7Znq_V=b^aLFGmq9331$%HYR+9k- zWt^coIiWq2E^7YlMh_*Z_%u}X3gV!gj{x*o%Z=F5Z0FZ=XV3dP?mE*0D`KfMWuxXi zTCx0Vrr@uSn(@76j=@j0oD`xHG-!g-bgrwklSAzx=d;p1v0rd+lxmzCr>ixfxd%J% zL$`GiK7)W?;3SWKIM=RpayEWkNY^|iE#`v87e$?wbh{Pi{dnl5);*DOFY?xe-HWiG zcurX^4wty|KFs0hYAJz!VqYVib*tu5s2%1E419Wxjk|W29c5f-*Ny`!oDCP&KZDYva;oILUD%S$3dFL9Kud;@cpgj@ z!^9ksOVdpHggY12?z5^RP+cUNh^rQZXuxuJS%ycM4|*|BiwbG&W-Nk-x+dmeh_I4~I13Fg#OtF+ZGXX#P|XWoG3eY{);9Np>2 zq*(-oH`z8SXpNFfD#l)pDiLeobS@-E&2Y4LGQy@jsHG=-e{(9{Ee|gX5*$VoTnUtJ zD&1Iv?o7BDMNGur|h;57m_uUrw`a5qnnGl9H0R$u;O!n zLmO5;Q!r(43R7r=h*LpbSlF?HUD(GAPw1LF?O!dT;cr^hBVX!~YVz8~t#m&7ETj9H zO2(Y~#*zpMon|FQKbc2N<~|i{ycrjeG8bkv-#l-qV81HG(C2G&rCi-&e&Z{zOWW=w zdZ;20-Bd&9IeYhiSZX98?H@E@hsgU6;OFp)E|kFCd(JevY#+EQ8xeYiy$Hmsp5k35 z1FT3QjmtKR(>MN1H=kcoqM*DlP~F3y5=*E>;Q*2}7%@F&Qo)D$a(f@#P=bErN|C!{ z+)sBbM~(n&)ZldQKL@HTz%r{CXq{cKyJRpXm3qDcIiw>nta7 zToFyD(YCTqDipzlGDiF5m%K8%rrX2LcZ{EZ z_Gx@`azS@XN4sgb)$C};u1Ky_mVZj2{$K&&SUome`|+<#jbVbW`h56T?Vk6k$IY*dvuYr|x05BKD?-vtMk`Scmpc z{wU>U7}?vo?gM~ke25;J{KJfXhr{^^-)*-v-Ysg8=X;lDb=~m81(E#5N`XPZ zT9(&ywuoN8^;+-mpt+fV6aTDnFjXuMdT;$qonLBBrvA2}-&7jda~O0{hRv47Q-_RQ zU95iC?WqE=<5K*PK~n9WZ}e*y^_Tb@dy3Z$6Cv0L-YEB`RlK@Iji-F|gM<)?i0wfa z?(-G>%r1R7d6Uh^Y-eGtjNHaKY@5YETo9Svn1O3=HET*|A>Ek zQV0l6nkXMj{5^X4A1N=vn6p1x|M$RrABUu(dJG5Q{~uDQs4nsUJ4*ufJOvC&G)u9D z^bfrIZ@EyS9UuPVng0H`d}!I(`z$ohWPdEQ|06d$d%)#Cdj5Bpy36F95aK1a)11e^ z4q!ys4<{Tu>7BYOV+HmhOLccWEv+ACMo^VJ>-<2LfAxeBxeFKe(E8Ouy64TuaRc8L zx9=^vztlm_fVU74HKx(gI9a1#Y&~{nD?+vjZ0y^aRw=H0g5rZ*{rpEKyR5{C!2Apl z=8n}Pb#lh;j5(X(F7m?CLdz=T0vs z9Bl*d;N&$YA;SmaQj>a=tvCFnC zY!(lCduZpLoICsT<+kxuqfdutNndEcAxcMb45z0D{E@2q4%r6y%O-xF$vZ8D75quu za?#>v>?Z_7kk;M8zyd~0RC%!uQ3XGoa3hu)ALOI{^IA-l(Jq3uo|Oe_4yI@F7^C7;v2jvozStSGf7hjSOxgDlKcV?I8!b*v=4hSkg%c) zrY?kY)(J)JB|>Uo*Mg1(DWhK($dni6hBC5ne5pk>nVA{zbVHJpXbdtdO>k77-B1al zb-9Z8)BVZXuRK=J@36AeLt@LV8`xNT@$lmQ7acwmqbR(y3Z`NtXfMU_VhhBKvOTZD zCT0mmAG=Ck!x#adIGe6S0m-R43gJFRP*Rx@x4~88Uh-idXe99zRvY4BtG1##+dr7z z0k1)3!7YqYo35i6budVY!`ADM5p(;CjnIy$<{rh*g!jx%^eug>@Urxy>@jsZd_hS; zJM3M2s9Zma)^nWii1;ee6ns8H%X@wpnE7WWD9-K3?s&p%Ci8)oVswd~MPzeD`)Gn= zdFOZW_%hMB=l8d99-D5y{56wS@G2lh96-z;e9h}?uuW%s2#an;_t&?3Xe9h9rdFzU zo#lNoI8cO`OPY2u9H_rXJ>A#=vtM8KH_!DH)B|}))F5q7GW6N6SzLypj2tH;@>s`8Jb#jfrjF*dUw4^j+kByd^i;i5CY-6Qa!MDu*kK@G46CrieEq_b--2KGJzQk3f3w z)G8xw|1)34>pA|&Tir*%CIvgrksTWk_?Nfh?#Exqii8Ya<8Sx{h}*;OEQymN+cg%I zinuyh>2#dj-kf`1PV^{x48Q}!gl%Ff>+bM2cK(9`eTDw#%P*8TI|+^cR%um zO=t@_cwwSfK-fly-$m1l7xuLwS&X@PK;_;t_T%Z#s$MIxNTG89r4Yuy^T|$;&z4Ipx11XaX<`iNXYer($s1?kN#uEWtYIP=Dnw1{$kJQaf90C z3#AGSkLXMMvcv9C`5kHC?6U;RE`9*mplFxsIl z?sC7}2H{C=8xaz?tGDk!>t!Znhn43~md-{&PRF21d|`5}r+@$pUA8QEq*uVws|AG= z&H(X&oh*#7&LmF0bY*KxTpH82Yfr4ocdU79HK_lIq4Ecd8jsUwOuUOx#6veZMtarC z2+YBDgwaAUl1-p_l%13I|@ z4^J&_m>Vzh6?#H;VkE{TonO4PA)fw(H_-y5u{>+#Y;;c}YX-CmV@Aq85L-$fm zSt$~|1{Lw#yxogCk&l>*Crv#3cTU1r7omLMf`#VW*91$DD)}#3D6K%W3H08K z)?#sPSPq6HTSNaZA)SlvELoXQqS~FT&t~f{i6e0HJ|g=zbkrFCKLlQHtlZ??&gPEn zhIjX|d7G*|#ppug?;)~xG~wn#_R z%H3uh1;sL@y&ps4_F?T%1NDPA4?p)Py6E(@fp>u1R6mwx@591sEoUY+`{vG&p>vkg zZzLGio~pfn3G>_4V#GR)0|EBMfH<(cVo7C2=K;}pB#S~Nw=9O=iCwPI`e;U{W?sJ0 zSOku}3O}lnTQob-#4ZOXVXrdV>d7O&)&WLCQhkr;fnUUam3rx+`-theV0W;@)Q6A4 za#&XIHj=_oIQ1-&|CvM&13jbrmN%Rz_i2x$C5;ubcYi@b`KviFmN$IYcJW8{{={IL z#W2^Q>h(}63tPNjE-eeepTTlgdS7EK^x36P&(BA$PU%etbnema8UZ=~U{lbYqi|au z6`w9ZR_;EFJ0T=msfYJO64$PV!5mKLh)lSnn~)pM0i5(Bvs9C^$Lu0vVuh{PJ~|=% zDv98d@V;W{hi^MA^P4@;E~~bDn}cxe5H2ScfzUR~dy9R~6cf^B#^K(}o zeu8ZPGEdo_U2 zOa9d5GNqmRa&*+fa`fDdv|`9$d;b=xZi)qnnPArm=Ld2F2&_0HgAePwUCZkHhry(# zzZ~z7Y|6^{X0$$o61I5mmwKZKrFusIb~ zseEA8pAJzYyssuHl~@lkBR}o|vdh%EURO>8?Zr^qkv5!#siTVA3Y=h#3C`SGr_A7R z5ls%#11#wy(OJS8>2*taMPNNuDE)j2K=*htl*XU69wxCam_ttij(-{aIFmz{s+mJv>U312UXkxF4uq})fq1l{JucszNHZezsEEqzmXet}+NFFCsf{b;@c_P` zB!Y*tD{728BuIOBk z<4kh=l5my-5x9&7OGD%X4EEHu8$&%5NSr}vtGHI*i)ucSwA2%sZVg7fDM+57V+ z*KbJ20bl;<^L$4qD~a_Zd$lJ21j~m-t_UT%R?4HP8cUula@(D=ke(58;Ni>c&_LAa z1B_?H4#iSk>dwa1YE;2SC`FAioI|R^B+cgK&s7-+Kk+XoK!vZcp0E75P>EIBPXVUu z9o}paNlGRIJKbQ@XA`Nv6G`&~%YW<0`-SQ3CUl>ic%La<(9WB|_++A^=w3!z5bw*V z>NTP2IvM99b3uP)BGaV;o+dM@*^zgYzmje7Xp$xXnA^3*W@%~+ad?Ixj2QW{1uVI= zOnD1B7I8_~6cWT@z6;$@Gj~RnHutNDP0jWPh{ob{9b2AoVPr9SeI&->6Ibi-J1OzYt$9W5Xr&qa zV5Nz2dN_eZj6`Q8>#u{gw;Wfz!Y@w4?PG*E&*z_>`RP@KxZ$E9!g8$!)5tf#KT(3S zSa<0!#_O+6(7ds)%cUB^;gn9HQhLSk`Epu8En(1pvB$*gX@jYUO_S#<+{xl9c@}p- z@QQ!%CU;8K_;2JJ>|z^%>f1dElFteZ5V>-tK>5VOF)3`f)x`{nC|{Un`Q$(?pCH3E zig()rxdLAipg)>vwZF4@ULSI?!G7Td`pt}es>@8;sCl8H5Wkl8&Yvjk1{x89{Bkp( z?*5m#9`_fy#QrOns6~ve8L&@|v7yyn*>^~lc)|S%m0PQc6St+?hDg@#)opR+C{0iS zl7xBp0s7+S;peBvo#ocnxg48&aymKuASfi2cq{2dHdRXkD@=)_e2rt$l-`EIzT;xQ z+<}T+gZCGaDj_0=oN7^sgO<5*ANrfgO^{%oeZ`hq>eHOZUzFB0q~Xy91@{%-(+}=p z(Z+y43o8vLo?sRs<0AaZgdDQ7P-_#=YclZAc(aK0fFPZaI80JT&7^VR1(YJw8;i1nA< zLV3)EATH1nbG})YE1T((t1O1$8Bbw8GMjM6Cq=Xqo;feUG*kp}4^!#8Kj0Bcm!`cj znC|Nh?9@u#XmP0v)uBW=Lu2N0Ss2C``kQAJ^mepPC?EELC&n~{cR$@rGM|9}$SN9) z%-#aGSx1boK20E6j>_CuC08CYHR9|6$7+{V;03aRDd0 zKY~)c@pnQ|Gd!CieSUWlKE8pNXlpM>$#jJs}hfM6>hV=#Erk|pHK+4zI} zu3i^w?_{YpK?gs8dQ&Jf$m2*}um5XjY&`VIbLB|onBLnpQ&PLXo6R}G!&sr?rNVP> zBePb}Hu3-B3of(%MbPL2c~q$_dqg-rFVhGzlK?E{4kx9tAcfn(b2f4apn5-{-lh`k zSG7vZlQ0)RBhljr?}3&B#dWg^X+rLG;zjYf6lv)9Ho%!LK9N_g2}cYbnP8y%_pIDR zkFLx{SI7K=Awjpfa$1!aecuJ8DN)^0E8wH?OW9u`p2qF0PAl(o4!I*6oN z*?EpSzVQ>-O$99mB++q|DeaYD{p8jHbYX6q2b^zl{NCYln_^FN;t|iE{BJxG^IAjB z<)y(3%s-Lqn^I8l-cj9-*){I2j~Yj{@!qZ`5mlkgK(G#6I8{f_G~q6(;k-XpQgzQ4T!-lA zLW_mU|Hs%{M#a&lYugFIA!sAP-CcsaySqEV-Q8*2-95OwdxEtiPXrpV#kP!crxOkN1}+G4@=4K9GoKi^ z3?S}zv50zGxsPo>`_|VrCe(TGzQF>II_4=fA2~Ri-(h#mmb3IY?az}UJSR`2Unm3| zILOSyIPlD@Y6!hW2_fHGVCcu{4}>!Rfj`t>%e8=E1<$fVv7(fPGmX;%dLdUh->PwPOgi& z)B0bWK-F-J(a-igz=XYhq-Iu_t0iE%wmmXxDVZGX=9%q!f+C{P$4rne|7FTG?6e3F zs4&3=;wmD#&G+S$pA_YlDeQ><)+9Ff0c+Nk?^yPoq&bYcmm-cGGm5o?RB{4Me*w6%tTP};i8xO|>y<+EOhGHfA zL=ODI#7Vec2)5g~1CYPP2uUY2jn{fKr0-15mk%Olj||X+jZ>*8YnXoM>XX_A0?1ksDMsTTqr;ewl?KyH=(V?32Ua>2b+tkQ zwrXe8KY33oP}I6Oq5?!(HaZNk+JG0KE2tx1SYe8I+blYaCt#ULuyg{-D zm9z<9w0R6VOQC!u2T%0bo|>XY6RTZpcM-2B0NdN!zlzlo^dFQHZeaCevi!$L3tlN? z&F8gYLnhZ_HpVSQG|)m5eQb7%TSU@oJ{WGxAdWUH<~Vvl%rpPzr~3lOVV4?j6&c7( z&O6Glm0H0`o_k!h8R=xXs)F^;oWZ8$3G(vF5*L5(Ugo<0C76tGEes;)iU_4Y_xIVx zb~(r?wnUuzjAoXtdv(OY5m}+4Mfx&tgp7e`IU^#n-R$ZroD-K2x7lmJy@^@QSRZtAt~g?!_Yx>)CSsS%lT)v}9tL+`|FU=I6qj}wM0=PVQ^ z@m-18!*yciF}!_?>AtaJ*&vJ=igs+c8@| zC1u8@$Y-*`*GDgLwZQ=Qiy3y&Duvs2djfwG0m(j#`S-Klm3uEI)Gj2aLI{c&&ybts z77F+?L7pemis@xNOj+;_G54Epa4KA?!UeE#b<@X)m&XK^q)4f_WGR534iDuE=@QPI zAr2vKZt|~gIy1l5_HY0=WwV#L-A%8ms3GR}b}DwyaoBanKU$!T2u?>6|5Bz|bZS}H3=b7Y*r~(1{$Y00gAbaA zyyorYRa3=gy~)RrbYi(=1n58&6H0=IT|p3E_8mDkmCwhT%;68V_$zr&41P5_wHY0x z_{3>VHoD~oqv!jI7LEIYg&5-jnPo8f)AVe`mWpbhmzZ#c>|`WC+X|&Bt=2wBv0V9#zny-KuDgK%=RGjp{?5Ebg zp3V=EgQVz0AWaVps#+R{%)uT3WWCzBfCa{&%^@8b6@~>IFqv@nS~X0HMH2yjDf6DF zxZBqEYck&F*GPe_kU`8sc2p7RG5k3HB)lt@wishXF1CL)S6*J$hugxL*{BcKkB+h3 zk1gH?R$hY-pRYVhhmY)>$=M7>4j&g{AA~D5Q$x?L(kZKE4w&xp^h-J>OU3L(>ju}& z_ojwIsWyNacXBZhI~TpLOO4)Kk}+-`=O-N4Jng6^g9~e!giNmQ2I#fAorr%RHe&ge z{_04Z!}VJKKx>btC2WBr1!vn%21x~I$hOcZuP&@AgcQ)*QDxBRv{NcW1T%tRVSFp? zPIK)uW7A^Z-P(98WV42TzjK7sN2}$(gaKx1ZdDw=0I%g?c~T=p#jDyKC_RXa*&Vxv zNjldx8ci1+9M8IyiinQJE!5{C@DlwG+O>rqyBxfBNkYtnbypnWvXi(IK3QLXkC2HM zq-{OKG44Bq*kSZ(v=y<)hmz@8eToZ1p+y{GPUWKdB*i+wt)-9*Px)gTbHO6Z=Yl#| z{l<#T1nGpr?PJ1MHx$>oTTQ;f;3k#64Se~&4bm|UKC2GI3E>n*0>OE@2>GHlq3OBN z?Zl4dOs^_O7P|^UXgn=Ojqf4t?0ejw9m}il8|bPJibf=szrxR?)o^ej&)#ctiHZBC zeYN)cc~A)3vZwtLhC}m1;;XN1B%3H5R}KWoTT$9e*7*W z-4ruxX{0UtR+OQ0blp?0+f?JDeVT?bG_84D7+iu4Ctc-^jl zCSb=@qhi}`)%fm)_KPb_vah{9l=visX;J6FTG}&Qn1vni3;M!~u3zL{N;n3Ixa;jq z>t(48e`5qcYJw2bo|ZJ+k`m!(Q&;c+0wIHhx}`6SWh0zV^e2wp&4f&!$64Ls9~o2# z`H`nICj!E8%_4yC*yNS|^W1Z(!Du*!10R}{wHP2sG0np>g9A)wceOekao+%{Q#RDw zr7tg=u(u*y7Mwl;vP6$k0w;@7Wx|M#Xx--HV`j<%ul;SNjwvR6XS_fF0B%~rMh#r8 zg1z|p`p2Os53lESo>UgCG(B&!iJek07}R~K+L}O+C%`|w02=jRKBYX;KH|=!S5AuW zj*a%GzD@6UxB^F56oiY1)Si;=jUzh9anVea2R7tX3BRS=$|_XOUuyS*=NGY0K`G)u zH$GoD#k(N-XJTk7vZFvG;msG?HnAz3O5s$&Dbd^uVI7Q};9WYRG|Y9;b1VD6v+YW&-{OV4s1>rE#~V|y=nWKF{2!VF z-?5hZ4|yp|GCx1Kh-2L62s%TpPzhMa0Zzbv4J){znBXf_gjjko?z0`jyuvAYhB5tC z656)7vY_c{hJYaH4ym%DGsELPcVuEd-nqB}V$pU5{u#q_1D&TuZ-ON9;!r^fYsKTs zn+oPdU6XoIm=k`4I7Xqu@`8ySedvOFW!}P0)0vP3R1c-sT>t!Knr(RMqSnA-Wf-pN zue_Akn?#PENUl`_W%>23D%V*pVK3w%Mn$S`9LKSNdej4Rdbol!Kj{q1y(L#SB2`RA z4pD$g?XYp&JPgq_l#W2gT3>QEhq@KAg9#Z_`TiFjB_wu)%tpKNLNKJf3H88nI5Wd1 zNb3VD)eWYO7v+ja*QsS4N0Ji5vK@w~)s)Pzb{ENX@YWS)=|-f4>z;q$87!f|qlwc$ zP)!8>#e_&71dzj`qlBIpCg5H!^~~fAXvenJP{Ilr2JTOSxH3c90(?1x-#J+!9|#aQ zm?5|5zBGzN=zFQXvW;oJrddbdjKM3Tp{=evHlbH$F%%+3iHttq9XEPBy3nC8?@Nn$ z*^%mcx`*#F!S|;g?9@6m-rMcFQ8qb*0z%9?R%L^x8zU~lpn(Zu)%SpoM>ohRlfhLU1vyYdt;f zu8kiWL4XeI=iMl^2;ZN>k+FYvE-ez}nH3tYN*GihV| z;a>PB-LVz|B0Dxh5QC-uj<5ae`}nUWeSjETy&bjF`S;QP`wu(pzo=SlUI1PAA6C$R zejgh(P_kjWNZ#-Khe^*rA&?$xale3V>j(K3lE3$s{`Jm3f&<@^5RRW1;(y=VyUc^F zp!nE%7Y16&VvaxTJa!k{jBuRt`mE@0#!59&Tq2WKShc(M*&te~d!~-8^CD$QAVgk`#r7U^sQ*YLl zb-D`&B2HD|x&>WM^$eev#V^X4uXvQG8+|#7S^|7_D7+4>(riv-KW<}oB4)e_C#W31 zeSXQ46`tSZ#f+k3>=qh3=Ok>~d40Imd5>?53gv3d$l`-MMx+sQRW=0SYD=#5{g)np z2>V0YABl}kmX`egvcK4_Lb=PjG=SgPQ-P_aJaZ9n7m`Na>TT`d4l7_UQFg?To%JLJsi)yHy|b~m?Jz5Qb`$-o zWL`KE7L|sM9&Jx3zC9a|&GOA!LAYdym0z zm=I{dVKZumZ~#_o`ARG?1yjiP^*326lp!rn;2*AZ8$Pg)XrNI!Zg>Nc?*PO{lqCPF zaeBc;^evSKtVc}Mt6#E?VjM>esx(Hl;j#s?hH&AfbGysk zhvc);t47a)XHXi^pBPzkX}%~6?Ti`@|6sUC*73D-#MXeG*O7O@`1XS|e{3G%B`u0O z-1X(K7+0@53|S^$E8IKpQ`EkFQQ3Ky1o*FwZ17*=9a>EY-p;q%Ju+P|P&OnErgFVP zr)L6Q+T^)!@CextkkF7-1!!$|N07Kj{~O?#RNvnqbqsCyYMyhZ&V+iPci6XH3cY#u z@(h+HBaVdp)b(72u<7H8Y}UmYTK#s3h{LIC;G*#K71-SgqQ;~mU;kct_-OoPW8vX= z=sxg0gdQ9FHzaU;pm%$^8(u(R%|c~c)iQqkNYXOC);dsANCH=xJ7M}mL6{#Q5KiXQ ztTf1H$u03AlbHdgJ$jc&vUB6OJuz(D^J;1yi{7@PJFL399jI!}`AauT9W80x4lDtx zCG=4f>(f0mh}yUR(A3QF!5R5X(cXIf9+TOO*x|W(7~_18z*(2n$;C6rn{j56+_ePy z0*$C==bxB{E4SCG@pm@kR|s}?eIMb8?a&O!qDF-MbOW(yTI zp`cXuBxQ_CVr|vd3afqSzi^F-1tU~saB)c5wVseAsDG#2J9q2}NG)TB{lohF z0)SaV57-tM4aFoRl5GoP_X%|Z5`61=YqFz=PKY(L_9x{_2&m z2@5-m8K65AhA$s#(s>`aMdybb^jY}jBIE)7)5JGW*Pa!0^%^uok(?~pL9Twa9ZI(@ z+GbKBj}+KgwIz7ny4yz`qG#L6L%yCDt=iY)-8#G}KI)uK3rLla9 zL0|7&x@uw8W$_jp%`)WLRHkVdj`Zrly47d z>VXD74)MVI6Tc{elZpri*dsgUU`B%)IV6pX2fwWrRzZVQJFdC2l>6ts+c3OK&JA}$ z1hN96i>GFYVDOy?SH0oF&nt#av*xM-3afeMXokcn3aRf#?KL2j1pd{>h@(2(D&=a05fYtrMMfoN^gLY^ zk3uF~a)XR0ksS&kmU)Pd5W37QG%&xx=g2&Zg8I|Oc>TZJCx}ET&T5p}H-wtvsVA`l zzEBZO%_@G#*k?fc9fq6EIE~#U=V+Kv|Rm4Q? zu(~7+@!puv2OVpE&}BKmSS$w^M^A)Lh3v9TVT#!xA-dO#Fcm7)=yNj{J;cuDB2tmE zYxXH?Xq2Z7zp}a zSLHI9+oI80 zF2L{wysUwzDI<~wLRPV;C%m{owy#d4@Px{K()p?auXgXtO@pEDq?Frb)!w1W!p}yC z!G|SGWn~YH)SXb%?Xvdnq0o#U@>`S44c>Yz3)YS>p@eyQG@7ez+9Ib(oBBg9-xNvP zupX7ncASozWKYpNUn{0?;{wJlhYQLl;>Tv}{x7}}?x<#e9ulN}rJ2pwfzYpKk(~*= zbDavZZlxUA$Rp%lU9t=P!`AHM4xX+fuZ)c7^XA;ac_tyOaRYwK0*@i9Kd)6^t6$A# zmR{Me9Nv}XKp~rq102RhH``PZfeqZPifG=es&8hqkP}YR;Y#B6idv4O_^WM-wMAt) zX4R$33>xduU{wX-SVmYk*?Y(i9!TW~goWwvklgR{elwSsZ`iNB;ca5g$?Zsy*?Jh$ zq{y3)RBr-#APkEGY&4<-aF0pXK#fbg-dI}^xulmpwirfD0W{T0qjv<9-Gij~mr6qO+SuogR6o&+Zj-R=%ZJ+-usg3hyng}xpO;xL6ps1mtT<@kMtaVNK!i9YXf zkqd+*+x+DT_uv=2L?+ID??9T_-i6iPy&!>{MbK=Pt18dippTQSbvjy93e1igxi&`w zY>`+!6QSSrsv>{D_k(VUPv=Lr%P>vw3NJ?|oY&MhKMSf=x9}F5)zgA}y=bpxGEztF zYPR52B!(xGP}1k78q6<#y5}nU)?=sqhy1t28hQ;2G`~V{e_U3aR`LbVzacs+@) zAgNTcqn0vX!Hdu5bw_?Js)j`{u8a#T#pXgcE``9Che)(fj2sU8fEl&wQR$-Q_)b8*>UY&F6l%KhL}TeyHL5K@QPNB_Q^735%LSvl`Ai z;ArCL2+C|iSU0(lFBVnuY%VUIONHpcTI(h(?ZGm7w}(a2rhhn{qB-xP8s!bh#riJH zeKkPaPV5Rz#(1)PhtneThuU+ThCFUo^Lqw|oT1LV%VCO7U`J~KY3TOjprF_XSPPhD292jr@NaT`+OkcN7}U>Yr^c-xa4t~-d_mL# zrD7w<0*u#RQ31|G=-&BZB6Vl=D5jiKN~vWnnm^g75&Ar6lDWg+aIOfxQcw_ql+DS8 z;!q~Z5e~0*CCA8dL6usLmwxk%$CMZaPz|56v)fIm&))RYTR+5@DJ)WP|G4i>V3r-v zST6O-R5f5IwV)=OSn*%D!dkv2{w|{NL{J_oMDW^Z$c*7xW*xrT&ze*t@)GABw)v1=$TCVYno5Aa6!}qE&IW0-zZF_?68fj;(Ko4S~k+4}-QKvJC?@f`YBNw_l z!k7R7wPkKNph0S95uglr@6n9{2Xu*7vU6|&4@p%@QywU{m%HfqP1xUSIGHYgz$S8I zpRO%TP5%S3xOSXv(_UnTd1rK|fpk{TE(0>Vf64Z&SH9~xk%x->1BUc>Wr|M{poFP;4 zKitO;Uy#jt1r&1k0F@$rMW>itol9pliVz5k7c>9IYr<^z==L+(mLlq*~oU&dBzuz%lE z8qMjSEh#juIiM5L0?g#Hdj_e~Q#iA%u-89l^+z>}jnuOv+=uO4=xXFiIGDc)IGB6D zZmFz)E9Ilg>rz^OGU@D8$xJ5#2ezMo8}&T+mU$?kbSb;R+@gluob?qIp>kxfqT&eG2xQ9{G^e^_ z8#=i0tqR%)stxgwRxn*;uKIUc$TuP1&)Ur!w^7GoVW;#Q__Tw@6L=fZuX^kJ5&B7z z4Dj#Ipx)i7(Nk(+Sf6hhf`f>a2lQ<7E+^Dj zy$WGx{^30N(}Vt1S8Q*M+&|>4X8PjdMBoo=3m-PvI2DD3q7sAvNN!(WKO}Mc1QLLh zbaXueD>$H~ouwel~~I6{%6_`ldkp$;pTLb0MPO3MbqBh;oflim6a($Mpik+qL62Ww|r zra7TYzK)}lpKyfg9@&r#Nn-~4UuKzPVwdvhh1cbiQlLf2pe4g!NpE9&kR93i_qj%Pa`?iKy0|DmfP z{SVM%d>QwsZUhqHS-&%=@m&_Yw_Gy#pq%Wn16a9T z>b!Lm^kW&(F53^}?+ATzf4(bPZUYP}*o%Q;Qmpf$s&m$&e>DxyzO&!Xq5wpcSCstD zByXC+MiZc<9Z>8W)DJ3FC?8L;TxvLUJ)b&9#jp15oKLJa)XHDLoI^Kzi9ff9uG8IL z20e{6fQyuhs1<(rF)Pt3D=XzWoh%B>0wvYr-?{l%G|_6XzhBX~<06U+d_g{U@x=`u zfTCLx4DjyI>26;Zwx!fpA|R?>_$q=^hKi5S+qA|<^lS<&hCb&}T-LH5wP+JGA|E*~ zjf)T1if{4AsOxK3(7D3-Lk+m*18&oqil!b!;_U zDxO1}RP)@th~94bh3qu%Sbw%m_R48))m!a9IO zOR&47Yq2+Z1pDUvW`<>a7?yD}$nN}*z?H-6=30)IHDNt?k&>*gNG9I+(2G0qt3Yz` zJcI9g80J`{Pg7T4FwmXi=PE|1J{aNJY{Upm%TiN;TUC$RjECfzD5xuU=pSBHXj={{t zCS1!G&PZY+uNIwH=e9leb@4JB=3X_IW=r)ONh3P0UsXE#3;nO=q`VUhE zn7BMaC^PCqWkulB37RMs#!5t)1HAmB(&;~IhIwMEI*+g~HxPlX zqW+aLHKAa(s!D*wL{nEPEqT(GFy)jDI=&{nsyW5g(Cy@yHau#qi0)l9I-)-;PazDS z3z}CDM;^HTt({eWGuid>Y(HyY$m*7S!0{z)o8ySY2smn=sd2M>NA1g!l$|9#TknWA z$ec5{ZA5#!`}jcEZubeLpOPc;5*Aj8oIq`+xTrCn=g3kiT!J9z60FWJ9-uxN5^r*< znP5`sj{?neK;j=8|HTgXf5q-Ufo!Jwhz?-Y<8Uydd#28RhPFtJix(T~k0__@i%H-W zE1?;j`4+>^pgOmxN?@Q^wW?}&wH>h|QCfN4LY_oQ5|&l0?$o!EWM#HEE?NOrY^e7G zd@z{|tNiUjcT=Aw*FFV-qTf?m&O zDT5H-SqU57NfVK4OmUlXEdRXBc(URNb4hZBFs0yfGF-S^OZjokK=K1|f((Zzss?Sy z(=VD@pvpKEKnj>_;N|P@Zpo;Sn#ar=zI+_Z^EJrgw?v|kL|~&W1y6hV;c^jI+`vHQ z1Bq2E@Mj-5jty-sUsMXBk!Z!WupmPF7TBMI!|*W%7D&DzUD#q_Z8lH(GfkU4CKk?& zpUc=CeK;m;vIlsh4xSF*0WQ^^G9Qi=Q}RoHLl`={v6L@*nbA>)j0AZ&`PqrA%Pqf4 z8$W$QV|_NMkyjwVFaShXY7E)^pwVgjh5!lmBUR++SUx^wi-5YJj)S_=#B=Mh7NwApFFu~HWAFAj5uL``2WQ2tm*5powqd5yk5>A+e z=gpqp?}1Cs(odN`NKL+l)4E*-;s~28n>k143Dc$>mNOgby}^$ysZ(b~^}og*0y?r- z;}!%|;4xy^C}Av(2e>U2(d*jAlWN;=d2C5lx%tEo!P_16ge}sXco0IN#7iq5R;3Qf zwS62MCp=t2zVlWPejz-VWV6VWUl)_MmphI{7Hdw_37aJ75x96buD*S{LKSN^<94=&hVg1vFHyn#!VHB4&? z;&TbeAAR-gl3>JMSg9w5BaS!5hm{?dBIrwLyM<@nfowJ@S@rEf?tb=r{>f2nvtWgkfZlv+GI2t<7 z72>y_vr6i%Rk5h9;QJQEQWJpKGwsxR(pNbs_0e#_s`c^_=Z|rm5b7Zg$fuMDeDrKg zii|_y3X(wKQitQN6{@Od-Q~1oLTb1(Be*n3%*PB^AhU4A%ZWJZIN<;G<>C>_l7Y8e z*&5O1R?P7D%?kcvzJP=oS);vCgTn-HD&XMDuFD6**GTfRWCNNkC&stfH&s52FoRoF zr{SX{kP|Eo?aJ@5%WN8Y8x$$Qi45~-qE!9@v~rgidWfJ6-Gf(Ux#P>pX`D645w^RJ zj)_rp%R=;Jk2`Y*6_HqLeC+F{tQ|eHqKfw}t|l;>122*A6zy(9aXjY%rg99@4eP2a zhZnwevA4UD8e+6OpQMLMX{knP5PKB7O-aJ%?4sGsvPYdtB-$;AZd#c-?dY>QqbZ+-FNZ zgAf7n0#BAmyrX?nTQ`N7Z0|t`ifQvk>Tc6IN$(EiJt#n%*iYA)BddX(e!JHma+_g6 z>v_hUzwd&eAlN0KT!iJiB~(R~4E}p}{6ld3LSbrh4-InHaQ}2U{cCGI90OOEKN(X? zSseO*d=|H~AA|_vr@gcP*^K{iIDRv-o&ZC$uC|V^e_UMudD4CvfOc^YObXZG|Ht7t znL(Qr*Y*5fBjf+h0RHQsh^YDk)BXIdT>p>5O{IZiu#{F!R~_|#vx)!nS#GHx;DC6L zKi1d5!2|jkSv@FTy7>HFP8&~o^F|Kidf4VmzdzQl54*7I^CJ;GZNPZ>ew@d!&3EU> ztmzBzvn!Or39F956Md|`>sauChH1xMzun~c^*b~yuhYbhi?iCUld2qIrXI;2L*Dy@ z^bgzIqgO>`JxAq<16EWw?oX`lwNt-ih%duiOBdGSLP88E z*>$*)d0Fn1SnfDJ>okZYge8I{O2Y-_H9>zOZ=7~qMn`p>Hrp*fu5l5BuENy}4?Re1 zD?RPqt}$+#P|7X1*G^sYjNVWv`HfpdykVfY5k28)XE9U71iT|??M4`sAg)z+V+$EH zIIh!Zc`lE_d~>L6_^$PAzdSgCyNZ45gd5U);B05Pu!0>rK;Os5oDELr8)jyRvCcBt zdWU8&^|!O=#|egq28eos)P5d>&PqY7%31L%eYC!T;A8)obX>fBXZk6UMK!mZfVQa_ z6tv3FMMFPX+>7Lup=A0;T5_E;5t3@*(J=wK^4Z4cwq`W zp7YB_6?kla4XIJ6>)05@k!`SjuWB4aBHUrRScv$fUwE*Fno(7b@V=25ep6@5;)DTI zd}1`JsYZs{{5f1@`w_pfa|#hGCFZ=Ju5qC-8K0Hlaf^hZXOf9i!|zU}w~7^2!fq{+ zyrcqB+9Y}cZrn%M8~ddtR#iP*V=LDcByN-!rchM{5VVybh%HJF!v*8j9Kp->#Z}T1 zeo%{Lb^`mVPT_Qh$hT`vJv`g#^x(B_6{+W4=SZKT_V-(^hWM9)z$Li1zbu6^CHz#% zbl{B%OO1cUXg-U20>o6xGEZO1@*M_XJUI>WWMWca(3M|}tECb_;`E_ti>`3LFh3`z z=`lolqPKn4_gH)C5-i>Kqs_T{iG)65?3Cxa|A#`&7gD$mth%1rih`zqd=d5A{<%bq z=@QTKi81o@n+t?j+#$XtxRADf3NE{k8yh4Iqt-Hd27?(*+Zo!d&yN1R0*8C6G7fFX zi;Mu<%8ZzJH4duV#8Lj{SFAC3CP#aW1lk4JKR8oA6gkV9u@B^2yJfY zgGB+no(fm9pYVLe?wx^3RlA#V2z5q6_@TBe%*&JGuL~BE&#~2FjK3&cGM#7H zh}^c{h3KM+s=e_?>)$@!B*Iz?j*Ai;-cyXZBXr&Daaqpj$x|cm99dYXOic1z4sp5~ z42v7~5FZVGmT#Es1i27FYuIw!Gfc>c(+Jyv@bQV+Hk=?xqwH2g8xvs!4 zW6jjDZ@GLYz9%q|dO*b4^I<3s zrCR-VY(~~kD0X&oRA9fMve2o;?++>)L&E@dzp}~H?GhSyDe97yUvw9k^34h1wz;x= zq_6!NOOn6YVgGIQ;D$s z0^`=7<}=$Fe_v+!A)K{flX;SJSra7RRHIs>`+78#pl1((eTvGwuEE~OgK>gq!!P_( zY)%w8K5-*m-srj?nr^NsnpQ`(2j{`1iUeI@i)}^_g9b}&d>Ef7W_rV&Np>r2_z1;n zq;JW!=0e)DQ(9QMq27O;vAZf5X2~SamW(=Ry6)owYblWJaI@6xWQ6jSE=nHc6X?ov zIny&Trira6o}P~FPJb$uwi>b=r_ZGV&AY$w&6fDG(R-=hvC(YMrgg`EER8s+TW^CKm~&=3%oDrY_CUynU{huW0*+BV@d^Bek;_JEB#*8BI;5)$U zP7Y&25kp8`x`p^uy3RLQyTqunYIbWx7X>ksQfNW6jH|KWIzAfbM6|Gi__!Sjs^~0> zSI#k}c0%WyUV!H%tOGsdgl%4Go~;|NY3WQF^sOKnJt_5?n0ZXa&~Uc%o<+qJSX%PAe@M6QItvM z4)}Skw0q@6=SHGRCn4rUk(M^)aw(6TzYj>iGkJGv$t_jI1k@XrTa&kY9FK7V6*Xf!wBuWT3{ZRnGCp_;yV+-Qj?eq`?}GvJ7Cufe!wWHL z`XB5&8`z-aXh3d5CUpD98t=>GrK36!F5!`&n>>(Ld_>(QgJ&EREU&KY0}iIqCPzlIZ^8#`KVa@s zy)m5`2rxzpM+Z}4enZj!%>JZ{pzBtjUUBY{T5(>SAZ{r;febup#vqJCNrGN|jM)&F zc`=M>p#TyoJ;MQqC4#ccr6a#NzdvYv`4+zZyDB)JAiudWmqN!uoM})#lLNd-)u~4s z*qDlkzy>jhuBP-mwelX@JX3vFvm#;eS+ussEIj4NxfraVWVbJeDf>NwDI0%0W&jRb zD`x+2Oc_X>Dq#%H zAd_5TZ7!imKT=4lH!`0m@inVu7EyhcTxCnnqzt;L-iCDnf4C#Hb!pF>q5XO}?rH{O; zmTywz^2~pu)a5D}CJBD#l9#7>b)$uxy%&##E26&SuM>8d1a$RMxiTj;q1}Iy5Pwm6 zVi69#XULjS`nt2$peApK@)cKWGdPy|k!x4dCx!u{PIWBp>nChLMBescQ%*j^Uu&N2 zCs~{)LGj0Y4@;t-wI2aLnWjp|tygF$o_<|-CY8>Y<7}{D?&L$3Mdx91(7_OofH(dY zP58!dD|IN&#NV*o(eAeM^e8m4xv_0Q4J(zSG}e0=pBk9Y@O^GZv10*5?~!sqkoK`( z`fkP*o~NI_-bZHKu;td&b1<*0yOY zb~HRuI;{Q`Uj@|(RlR-qCU;S^0rwih9nwn%=g|x1!VF0@)>diK)n{DcSUaZr{A&KY zXHRVP(v^cn?LWoSKbPCwS>!_ofoWkTP?3-UA{&tQ%$euB!^$S<6jOe;_JfN6)gD~F z;@uGQOmlmy_&T@c$UhCYQVnwRMMnGL&HCU6_IkgJ@BAM9;b={VzBKU7k%l52JJ`r% zSr2(#Oy2Q!DeIk2yzyJL1*NJ%$t#42^L1in<+R|KE`03i>YzkPhw%zkOt^Sd_gduC z!~BBoc3ngqSCcC>vJ9YS4ILn%{XULyuAdtSKeKPu&)EziavWeT1^^Tt%$-=G+f|(7 zT$^Kz&a?j5KC;*^>z}?-%zW#`&Ofx|swP7TwiRR1u!OV(G*~}7I*@2Smo;QN&J+}d zfhL6I)fa(4tm9#pI)p5dg*o<22CS};71V%@ZuPaRxF;VbKg;VBTV}LQg{7a14ga)OnIU`8 zis~c(?_KS|mSBo8!0-bp*@y)By;kq*xXK6$Uw##8w&rV9>+Sc8*2caD@XbGD&R%K$9 zNO=Q`gD~QaluX(=$zW6~jOf}$?I-bEknYD^xVOZ$H#v-73E>*o&jze3sVTW;-OyB6 zHz~@g%Sd6xxUL*)j=2aGvuDQr^j>^Ji@q4?E2r%(r#F5f5qA$J;pDRfrMr>^QW-vX6JUdWKLlnv38>v7m(0K=055|G?P&&tgxKi0+bo37Y1RXf9Zw~dCE?~W+0{xRc6MRRc(od%ev3kkGe@7S6$N>C9IU`Eah;WPB@<+1Em`Soy;!3fGO=h%mKZ8xv@^-O zxt`8n(4_|Q7o0_U#~Z_t(lSAhm60Pf5Rk%YS$IvG43eG@_#N46j;?qt`IR1D@8K!- zncQT((?-p-QZ&u&lb6if))d>}v=!}#j?$CRS!~M3XfR6>C9b{W1o)k4opSzSDxYE# zSYuYz&iPJEp#Pg>bKTpffyU%PU!XN!8tbaeTo-J{0EbE$b(Z&NlKXEEwqRE zUMeSCWSI35k{#6d>N#eko zT#v=;eGm;K<@K!_X>CK#5jX0_+_a}7hq1g}n!Xfa zLSD6{dXQP6%_~^x1m}Q#XtWg3K3c)9J4d zE+HTK*PLQxojZP>FiC*j%N(jEYFXIqJkd~?HP3aKYFPc3d7^-pgv3Gau4o!jF%1-X za03gFeG3guiYxJYH#*{DlaJ_J)lM-AfRa%XhE#OA?VCgZGE*8#Z{d1G$Bnfc<2k7l z4`qw{W>1_^*`de2cgOP%Gzs5P1a7Owk_&_#iT&5F8&Q#a*Ah5Rv`@_ya?tJ!ke#%( z%%9nO`gD*{<8bCP`b3loZC@209yDMngYTzt_Yzsz6Tv$gNq)hc_1FVx&NPP{n@Utb z<{^4Ip^c~`Ol>MmDRHITnKH}2DZl(oh9Bs<46lbt{W0Jgqxf-#ih{EazVXd7e+@#z zi)>DlqD@;HTjhe}{cAdr>(BpcW%khW=e~lA1jH${z{IJ!8m@pzxENf*Wxir`_!+3T zQsMgNbVY-ksS+7_CM^)ASIJy3NaNbG9k#bQGqb#i|5o{c@5`4kUnI}38|!uwtN|!M zT57gIyVEIhu!L*PqBD+l2P1{jq#53|DC5Au!~yr!9&U}Ww!Q>QO<)E+lU~&(0#~C| zgXsox$~pTjDAiqa97y8)38ltYj_QnY4rJN)Nrh=qL~(Vr%H=E{>45VwWbA^Zsx4*D z9ka}wMfl5%wB#b_ zg2`qY7}!ie6dCI!;!n(&(zNN^_Krjxpa_J)fDGhX@P#|4uUHB7SJr8gha5)7EWXQ`gLhB zSgOb^t3lW7_tIR-==XUP=E@Z8WDC(B`&h*cAm0jDB46)Uv=?FIt&YNA+54#7v(pGq zFz@-n?1Z~7uUHliL%-Tsz6GbI3Qnlp*niJqgCwxrL^eLvvOT4ShCs_;tTVIxDPoD% zj%yaMZF|foe6}j~!B>lMQolt2%##!5L^OuXq*nIy5`Z(7A>OC>DSV|iTEyD&lQmbk z)K@~T?-&|SB1Ern*F5HpOrN1ez%3LO9Wg_oVEFLmE2OtlAYZ_4+!R~*iCYNgX+W~m2gV4RRwnXzYRAR~ z={9;@azv1HamT@qfqEugM-`xQG^xDR@A&xwtzS)YIOU8@K@o0KKQaOfJn+W=g&`Y} zFX3==Y^dmb@od`65<9AY<}KTGrM0;4jqFK*FefufxYNKc0P31Dd2J|J-C>`EsM9XI z4w=tjRMhHB4-mMH0cgh4jrb_Y{;4FxAG}*ZwO6jgrfDHsmdjiPQ^1~wtx!ah#xIKO zSikSsiFpQMR$**%a$%gm&!R}Rm$>#`{c8aI`M`xbiit`~B~*OIO>ct$VCVcB@Umox zXy!MQbTE-n$$k7o6bBL>2w3v$yy&fq zw1mj!#*DpD*Anv3QAPm4K&rCZjt1UlrgN)Vw{1@#LgGeBK6}aB>B?iqO>R$V<#YFb!EYZkz$~M`5F020z#>w zZdu#}6w$?)R@4-b84tmF02Sq0yV+B9KqMR*8FOtbU_h{@ra`lL8PLXw84e3%UX003 zR3$>F90iorb;0%U@b+WIH9Ad5=uT|%K$FlQ!<~?RUE2XcM zJIE1Ge^8~12Tw6ufxpGDdn(7Ds?136S{?7sZC&le#F13BCILU6h;~d{UYl#(lhZU{ z^wIgciW53@h6M`~v61zrl?Qs3-jbE@q92#Q6AvkIn`CmhDPwC93Mucef#&*Yb^Gk}U?uafH%~L`_su(H!3h5D(x_ndKuVpA z`1yH@MonbM#z@>b1C5(Ez3gLcwKb!`+ig#jHT?sbF=>#O=5npi;Ic|ok>{bE0bxIr zqsa+{4pne~{|RS<#HZogSj+s$)EH5%Xc{b+fS41QifC?W1&nzOUo+fr?A@erxFK#z zJ+JFC6x_84a@ue;@gzOA0E(0{s1g7T06VDf;!CxQpYkVNe+c$x~9`F9!iCAJ<2Y3@}idxZ9I-Juv%05 z8D*+NE^(10j&LYP-}TM1#(hg^@gl(7N5CRJ5Wh0{0|)XO&)2S2HzZYiHbWkh`B zdTfdh_h^i7u|`JBbLoNhS0?RWZO@4zkd0Y<0Un{^u(!9+bd`uz5k>CexAFrz@Uzk50Pz%K{M(TD%SKaRp7B)GBVLy*6t%8~R1qbR+K`C>wg zMcL6p@GXIBEi@=A&~k6HUwGMJ`5QH-lH1#k^|D9+53CIpqoE)ttVaUu<0173g*_c+ zJQ=Jij8B+?@prxD{d^>O_#54kr%$5A-wO7@pnQjD3PHq38GgK)QT{>CmK zaVVk0!*}Sq=rKY3_4~l)`@hBoPSPO5+M>BkL|LKTgtTC;3HU|Ic5|}R)UfIl++i!e zs{7J-fxcU+JH3xF@B4}u{mT*%B^XXTzC`$&@STd%o?eX{cdGn14UU#Dv3(LDMJLwI z>q!<~=5@M=u$}}OEFuT@ISex8?F9om(Wg@TlS{62UI&;&%|?Ye1HG3uLYz}ysL~o_ z1L-+Or>r>=%LDR+1rAY8;|Lw0#au$8HtR3M34Nv%>LEzEWi9B`r4!Hu?&+C)dwoJ#y5oP|>qf;P@+hKL zn~p_&eAH-TGYq-OApfz@rY5K27cr{h7qw+S>;&+oiChcr?`f?9D+OQ~bigxDbf7cy zG~2C7N(J@+%ww)(>%L=ZMHZ;EjA@1!YNUu_9)+TZL}CJOH7K&F zmW3bu_U!CNOv>EyaAJcKcQl~Q(9$skQ92`aO8KJX8QD_}?5NG&f8^-qaf^`(igAwr zJSAlZPQy`<%gC&dPQ3&|Z~&AGEeAl-`2u;@t-$e$?q&9&s-Hjr?T9r53NZ(yI7fU9 zhz63u^)!BO?;sueu7>pUh;Eqro&H>4la6ZWQmyXBAc?ea?F+i4jIe!In7tGXzdMd% zDICh`bU1!V3a&=5bK>CRQgV@kV}J2;2Rap%kJ1KbB@wco9kH(^olNy$`S?bxS|<&9 zujkY#^$|uJ-%^lBvN@U_!N0LPv^_Foj*D)`3EM^2hKN7WUuhmjp*?s1k)jl*6jAP0m?pi!p;sm7qRi2oTf_3|>0MdJB zR0UGVesauNb;CzkqbIsW>f0gAF@Ad|p#1S^`QjagdUksMjtha|w##w#1?aFx|DSVP z4>%uSpmbIAM7?ZAl3g6g%CuhNq>Ru@mFcy39pUyX**EsH(k5p_-{P~WY}RxVq866n zI~v_LR|Mc=D@jAXy(BAE%d=%!K+)%%H6;)j$wrVzkk_hRB7{@yCm_)HD7un`Y#q2m zsa<%f(cVcb?kKS!K5=W{z<4`h_&z=GaLfH<5WiKE)*!K$KnAHLQk$JU(E=}!BFSrR zKEsgLWFze!HMayd)wfPFS#E2Da|Xn>Sr&A);1JKn?ymQDZRp+s9=WdP?M-K|{4j_e z$anAWME%(Ga!_w{=eBq%J(;qxzs0Dt=jDJUGw2Af_D68~RwJ!zl}kW`+rK>&zW>5T zLx+6=1(G>Axg8MD(6eeZ5Ola7_;qp@fVblV2Rj7M&V>)SEL!}*HLh^gZmr<@u`5Y; zwy7{$Es?gr#=x%4TM>bIs?&b^Oz+}9mT_dCO^D5!jW!Aso zJQLqw+(iE=tS{q1cB{4G>c^`zBGT5>m5^}oXnrDuFvcSc?vLXP$t2=Ezi7T^I^(*Z zAs)C+X)d;4^CRAh)9qu8Mi4#o^xV3AM?w;KLZ`{boWT@>!!4bNld4z;J@hg}bC5?` z_I#ju|J3wxgf-ge9@SOg5zQpFIQtdvL0?Lpi$av-;dUfLGRk+=!kwa%VMx8jr06j9 z0mqW*B^HWyJz*-CdN;9Nmvm+)IBhbcwjcM=Tc3tij< zPSG0N!58*V!B5tr(qPp{z3L7Zk=}Xl{lVhKW{!29P*JY{njFTrd{0Cad2Y)7+2Sv0 zXJ8Me((86mx*0ryzeFU?yQ8E(N6dwR<)l2Ws6~cF3LaE?l1|K@8jHPT7IF0f(gV%E z%~_iHjQ7*81g&s7{y2PG>Ro7}B(_X{6-0@m2*$;cmvRb{tuCl6Y4G&L!m<%jYC53w zhH~Gg()%i{YW#$o-!3~OM|3?<(9Y#%;6FtiCki?r7ePW=;l`obyODjspiM$)NRc;w z?PkCVxP0@0>5fCVB53G*tkPOJFGcz$)|y5ORmeIxRhA8y&6M|=1HnMNLu?g&x|&O~Uf{&3;&GU(@GV|1DAn1&@5sz0&{FZgd+DUD z%05Sbs>mRYcRuJbgTTUW8Sb-KM-1m4itau8;cm6mB){zpC#E5dbE%rV>_mk2hPU=0 z!ufqYHT3#qeIbF1H#@RZGvZCq=c^b_mho~{FMC`-lRKB>FXRMc(_GPV9CRi$s88tr ztP}~KMd>Am$kUHQ`o{Z5I+voI(ssy%!Xk*Hh{&5&aB0{V68(W@`$j83Eo)8wl z9mivJj}7srW0@a(vZL~0Eg{BZnB5Mw6xf(*T;KY+pS2l*=g4kYv>hI7B#ZN~jB@?r z%m}$U4Z$agvHB!l(UKD4gqZy7PS@6X|L(B#5O2!9%srx!t>{a&JO>-b=E`dpR3X%=XYkD^MgHu?-vGoSV4?I*w{2 zSP%y{D^juDd-6I<8E;KM+9bbCPS1{$s0sf5;aTb~3u3p|qpncnm54B%$M7!{|3(tk z2CC3SQc)NDKYbg2b}AwLRLF`uBRTjdM3! zi!A@Ob@-=!10j1HSF@YV|A>{jQT-!jpJE7>wrXseyl`p_bj?+de#!+Y-zcSYS{SYT zrIvsR3>t(zI=u^#|L2b6X9}CLn$%7$^aZ_x%Tcg>q}{aWN_QUr>aDVMr%ms_V~q(D z(08p^>sJ02cm5x)((5-@={29A+V>ZA@IROSQY7eCScfF>nEYj;{`3FMhz1SHI7__* z{?&T<5ARDb4OLI5dUV2J;I9Gff4p9^uYM1@(pJ_%{i~kxAKx-#1x36KU`zid9}zv~ z7mWX#d^FdJs#h1}oT5bPo0mY&dsZvIaaumRCm}z!ahmtt_bVbM4Y^I)JUQ@M{>jP2 zNr37KHaj4f+hHBDp~Hg@)?!*HjvTyx2OZPd&X-j(_C9XD_m6oxXoCc0{2^PbFP0ZE zmGtB<-$+GesO$I+OY%01KHFx1FO%E=WPn08UyI&PF379F$zjU}MZa=pdKfT_nIHd{ z9wk+RQ(&P-2w5UUNS_g(@1KrWnb7@j#*xNsGlxch$SI>pP~y%#WyM?W?!df7!nuz} zW_Wqh9a(myBMsy^OP*GW*iT8)VP$@;;%8caLSZmy@X#_HUD4LKE7ls354(Ut+Ia$p3u!~xYhCqv$C&zhNDgU6J}#m)Hf3H4@vMsCgdrLIT%Cmb{^kl92CHAhWd z(eEIWn?ReDkP)K>D%BE5REA0r>iWh`8+<>8>THQ)>D{$}70Q1i@^NsIZMR;$v~Idu4u?=dq29tV2+ z;DyMt!io7a|4Rg}j?a(&xSyr^a)iq*%AGefE$rGlnK| zW&gVj@3Y~kuk~p|aj`)X$hPLenB;)R-Xwd1TcWgRy$Nq_AMi^)I&pV5*o;!18ode< zc$2S<;Rx`C5jQ0=CC}6XGP3Td-URLGe}g+-iv+LCU1O@WnLlj@Yq9bFiD>G9XGHw2 zpU|8XCILh+ZCi2%_YEk`w$8^M9ilq$S=$OJ)@>*@NiSObH_Rt)@rZRa#3GBw%4l@y z@JwqBb4|4_BwFL5s;ZbW<5YeEXqrt1h~|Ou%$4;Y;%m=nQfcft?%vBKv|8uj1VtMA z_MuFrq#X*lt$q!&1LiCUGSgaiQ$UafwwteBe}&1se~aNELGWmSjx&9MIG}#X5iVYY zfqWqf<{IywR|qVV@)auI8Hj92)krg4U25zlyz8?~v-!%F@;Zo+M$Bk6{P3R}uTa ziHekGZ&J5~fnUo{ytKVD!KXOI8oSoL9 zzOLv?I>EhS5L--9><*udvvF|bNh~N_-^_3RGru#NV=E!Wob+M!DU^S+(YY@>wpDA> zWbu6(yKfqW2^;sHwu9XAlsodAGPzA^YUFnYjM4VaGVI({IAyW; z0HhjDm*ZgudO-=NyH_W5VsV`O=I+vzq6vRRYpm9VHMDa*edoE@Cvj zi?{pg{~9}jUV8npfQ`i_=1mTvmMne>!^M=Ggq*Z`~ z!ET(BXy{`aK%4h-P%&3>2`J#SUt;rOGhc`=NLBoIYL#q;|-3QAx=fqZw?quHqoHtFLXY4RTT=d33pomHoM zs}nRYemX?f_pAQ8gOF9t57?>Fs!n9^f=A-}`1Jej2W|7wMX|4!4#taJfxW1Af`0Y1 z$vh#J2dHe&hlV0{uYrk!i%)!~b}{vP0=mZ{m;*{q;dS&hVdFF96abAf0(Awe2+e>e zqd#Jem1{_lx&N^?3@152ppzHu1$;>Kr&?%ve?1P@iIjsoe`wrr77B-c7&VrTw>72; z-I!IikyB7jAe2}+7BC=eX)YiaL;Y`XGBGsl+lqb>6GS!cvQ;05ujmn45zgNM`2eh2 zx(k-}vCn$f30n8cd%t`Y_kQI)#JcI{tt!YN6)9+KO*P~gd24Nax@N1rk&KJY`IFan5*i0$`i&}%j6 z7o+JgT&sc&Xc@fzO6Gx4p05jKuR@8T9vuu-ZYCZYqR`>cNwdG~Dg!iHARnMHemEW} z2u(s~ot2B0>(soXXzl36!Df?mM(7{3m%^Ex$Cl;zNv+;SpEExAZqnrHbnENUJ~D}~ zXGCc^fX-Wv8G7K80a9UXHs=ULfWhHwJ&ufep#1Z?s}VJzdNA)BZ1wYLQ>TEoW#Csk zYB*|(p!TjRg&AcuIDPcx`K%J**?9pGJj|)jLZ`?%t+w~*I4F|ya)vJEUC6Yw!>Fsu z5~=rck#4unmP!b*MV2{>$VXB!xNASKbTXxXkcGyLyNCF>5jVDGA1wQ!hjySSbri3q z4qm!+i3FmUISp8A+*JJ;7=vP68#Hi2N4x*E3MCD$>G+c%xdNkY%GOBYV?U0 zAJM=;r6Zfw5oJ9^Ctml(WUyg()zf$WZsYDO)Df%ET&Xy9)xqV3T=r!D9l8IbnApq_ zoRAFgUcmsE?nKVNplRaoL9ki_cC`lhLg^ExTgO9A9f9=!#SLY5RuMNF(_;aDV?$wk z|H6i1qg|;vq5$~|<5JX8)i2>}=&=gL6S;}pS?X#+Hfu}TncFoSv7F2CTB$?US^waM z+IXJK^KITx4Q_1(F7(*2PZ65WY(D>afzUreSdFI#6 ze*;tW!M|?tDs#W@;X7M5vHx9Ib_uzpu7Dt{aSJX(%rl5Vb)j)0XH@=xwCJu33eD|} zjJyL5)f1dVn4Vd+x}y+FV|ALwxpt5+F{p1hK>X@=SrZ`@!&xJ?JvoH_uKNPclna=D z71fO4Dw@AW}*8ShyIxEObK*rAkFRF^yY$v+2l3g!EN4u}RXMR#9c4clIUq@!B8b<< zq-xc;Kiv1shpy~XTRu3qvRJYW8xd{Lra0i|*iPgvYP@q(TtqJ7P`dnXFr;qUs&UF^ z`eKj!H`Djrh-xMv6w9)6TK-eCN>44XQbcNv)X17jKLS#SWV?DMz~Wcw2y1_Y0u{)Nwk$wpGbBQAaxPT(OW|df_y_RSb;X)o1i&S znyp+l1q`Wks=t{dGqMSv0Mb#$JUevK%G16&sDAp>pSd5*&K_}@5NK5k$j+zdW6w<@ zj%-SefhRnDySR24UU{>TU}(@QBbU4gngV0}?`HHK4Otb$MCexPprvy77m|5US%;6c zP$0IdT*tj2@il%$)Jo??4%8CWeYFN84SBE0U;+L0$u3s%+WoSAO&WJW{=~x^{vXuJo(Tds^I}vj-B>RE?IJyHnD;h%zw$Ql zMC3zS=4zh;8Sro*yg$k(y~>CaIs0zsno3D_ylrn0id^q4^YaQ>2Xa8D{;#lBA-uZb za(LXhEWsgvtO(OYLObWb*}|H{V4r=#-o1PG_NLVui1USt-@V(oPQ{hfP&`$)%_-q*vqlKOmm_UHb0WAaWBag_2L?rbF<5e5 z2XXdmoDR@kH~8V>j86CXM7O*nhxkX*cgRN&6Luzixj!(>Y|P7X?%vbXKyNM0pKU)- z2k&j!)Y@6>(woVak zNUo>PTJFCih95gyN#k#%w1X!C7_>*}KSkU2+q~t6TMIh!>+$W}8FSIGvdPM$Ni~Sqti&~x zQQHdJga)ktlz}=ez~A;8;DM;u_L`E!jUjL{Zu)3Q9zbO;vvo=#RHh!YYr83KLaCT@ z4TbbJC!Q&f`reMR?v(2b`MK`>N=C6^WiY@9zP~*_gT@GYEj#IcK~z&66~6a=qQ(dq ziOEN8g%uYwwiZe3T?f{fjrnz&dsyb5v?NO`ax({3Woft&Qa$mf!TzGWJx30#Q;5?K zN9UudQaByLr774Ed=j-N9uKT&`jQFtWtyeg2L_@q2VM!I$H1EOZk)z`mrkvZlU~wH zP80yrkHMl(;V^}!R`2-?dD!mO(lH@Wu`W=S*tG`O@CvO3@n^IuM9W!)M)heLTibhs z+GtVk3O8|HvROtRkZHE~_92861<3J@zcHHue2EoHg0FqAq9N-|kqm6V@PTVIHz#Oz zmHR0m9L{6DxAn!aXNAoA8|}@XC#~xQ8$$%Wn(OQf@3|vaVWhjVxq4AB=;RX{d!gzC zI*gpErfC*!Wx|Ny7%b-D>T$IMf?;7(QntJSw*pQKnVv}-v?vQ?Qf~fUgK(UvdQTNH z?m@{U=Wxko3hcTdXLDsJu@96CMA0c<_y(voKOu15Uhp6BVF`!01{lEXF^&pJS4I`C zA=YEt{Q{j8Ae%NfH%Z`vXPaF;O6Eq{#+SijpsGSzI0C62`sf113J-U2kc4Xz;&R6n z88nJa`7HEHr5YFis~O=65*WDy`;0Dyr&w)@RVj!yd2MpBB77WOw4$ABqQYsxzz|9* zE-(uJUc?rI6;TI)$74HYu@wrrh(lB!xV);vepYxK@>M55-h}_?bpYxj^U6P)Q|}ay z4j<2?o(0SDpl=uzM@R38q-WQ8vUQKM-LlOywE6g({C_L9|Iom?D*b-XYZ{ysXkk(W ze4n$!1wv-i^O8wN%V=jkPk^yCiT;QxI4hkQLgu^fdvNdFjVw^QHwl_ zz2Dv;@|;fQucP`=fG|KCm?c(4J~jJ!=Iz``4^fO(}Ox1#x9Uly)y2E99Kkx17xO&qoEj!QN|Bj8qweKsz zxHgkrJ-ux(=g?(L#rKWkYqqc4If->QmF}^E7bSV>ZB2dCB{tq&eukpDkk-I zPY6SK(7B#Q*t~?3xH;tMSg{fAg&4|8O>_JpgBALD>m=~aL{Y+dS0vt!;xI-v zYrGoDpl91^ZSC||XzY=_2LfLmp4Mdl4f_`b1fr;#)#;ofA4-Lv8q|G39OF3{ttumr zcS(qie>EFGQW5Am25ILyYs4e~hBM-5-ckE?x>21LiQYZ}^n8rlQQ& z4N0S!T%!d~Ztd{g>bj{YdU zyl8PKVLLPa#dHhDD7H3&zrc+OJ7A_J^@_`dFMc2vH|=vpN<~q@i_=&Y_gwmZ``VW0 z&}d5)@2GmLq5#{S`}K^3IvwpUeNlACRYi}ozaw3|n(=FLGzpn87LZSyBZ(_mOmwSc zoiF5EE_(BB{6@&hjVEytk6K@WB1tYa$a!{en)HW>vpwY_{fa4#6IQfxfyg=*tiQ}$ zsl?HSOJnlra_Q=Z=rMIhpn^t{#3iNP%zKV%UeHu3DnydF?$7R=dL3T%AMgy&(R$v< zcs?Lq0WmoY{$@S$MES`>iRp&P5TWNHYbvjFVY#}qo4T{l%ztwC;#+Zop`;c5!tn*0 zPihF`)`UOQl8vpH_lX|KS4s+l|8*EIUg6_cytsggOOb;{FU&3O1BDlASP)_iCN;zS zg841y%W4iLTRF6_S22$-8m4OG`E=&m(o(2-Q8lX1Nmd`LJfyl|Gc~Q7I|g1v{Rk_{ zsu1o(b%g^XOA&pS9HSU-=wcHJ#!b6&HKip2xALCj_HH0fVvIhffGNYObZ#z2?*)y^ z&I_hFex0VY^jy%J*j!M)(4uuhWXRm6>-r1htByUMgd9Qtn)Ys#N(`zpHP{pkTFMdi zttq&%Xd}$sZ>p!tVvj=OEI#dSZNa>&D^4Da|1#L8Xz4xSMduSKsB0z2%Wc z4)`9*i86j&P$|$`v_6xQ$RgD`yaED5+O?VJF4S?js3YKr8UCE+=UdqO&k9x_J~jJ3 zFTh9{x9C)3=3x!9!abpwnDNdr-~k2E3N~B?GV{stTb9WI?7QE2F){dXX}L;K)EW6I z?22YwBL)TspU$Vp1$ynqx80n7DmYP&v}@F;02|b3oAE`$kWYWPJFKCPeDt>a;Jk_@ zM7XpW9)sk@dyUF_+e(E(^oT-nU>M`fEiS^x@I_Zx)|qYW z%lyXHtj0_{&fRzfCa2n_|1K#kFI=)b2s!v*@*yrBTAltqW1??RIEH5RFn5c)sh|b> zS}K7^57BDo2vzm&3pm}gT40r=&Bzl+)H??4AN{G0_qQu=8`p=m0G@18qNT6YNb%U# zqACKH-RwI3i&uiCH8vQFK4OHg%U+OZMJ8m9Z4Yao46d>ytr~QRzvn#(DiAPvVkWiY zff>relIo0ABTXlmws5WM&%s_I{Y}oXVh`y>3b1)KV9Qj*3+h&DhD9Y){WuO4U+@J= zU4xpw9s!W=X0L%3ac`h>c;rfUL+!>v*{{I+h4X#O@J*j&pmSUiI#yCBlY+^(X zsG>~2{1ml)m=$ZxlXW5VX``aDYL1x~8y&;=b`LI;kMH5}b-bG~7 z51ZPE0eCmIa)6w+D}#lQN7{RdSzLm*OD6tRMc{T19y2F_p{_fuw?Qt-s~PkG#4#4F zvt864N~Jwg;YHcqMB5npzOATSF4wk`^)88(+PBa|hWK<*14SWFTpu1)XWsCcb=GFd zcMsc2LOS0rz9V2IKS#~nKEg(0d}WEvUr?j7KLI7!=ausfS1GjJyk5(BHEL{%=M1C$ z>iH{X%7kGY^=-~Fy9?&eaiprREZ*ZhdOWynY+0Fy6;0Q>5}+D$iIwd+;R{Oh$5p1o zSt3gK{-S}8y*xkJ`PTk+H;(Z`h7=P79?o@qz5M0#un8We>Zx~8V0F3&Kv7&J8fXV< z%wL>LN=tCaixI99l8=pv!@&YIYgiO^N^sB#BEFoFLzn^qC1F6?8stJ;b}OvHl}2K7 z;0_syBmvgfTXLKgk?-B|v!PWs$!QDLw~i$CHeJL-f+rlhi;z4ZPA9tk;FAND4@Uv( zFUHxeffi!>!`3sqy=#v9hMx3Mwdo0voqiR{|tV1=;Dy*e^E} zb&t2o`Q_Q3k^}0#hheL4>S2MxgEK7O!bErEec;k`J*R17B}Y&!oDD)``_K0S?VWDY z)Tk(|H_MG-Vw`WDIU%sH+#Xlr0hvqq{v6}_+acaM9s51Zjuw!YDj2jCY*q{SZf}gS zoE=W=Q~Vvpocq^)EQPkT&+v8zd~qy^FI?8We-z;T7Qi_~x~M?q03q*nVg6>d|Jwp) z_}vl+4LR#i4fx+5B$sB23@j?0u-QVZ*9i^j|=l>Rs#BD5Oh62 zQTNmTIjD)eD;D{-{M*(K5Bg^Ly}2e3 zpIqYcsUxWGI7#)i1OuOP#9VzP(&85#Pc+U57K6-{zKCSI5)BYRnJq!AsGoQ${Z<*$ z`sY2o4+1@e{dQhezHBYffc@!zrrQ8`Z)c2D;P&zlK`tW*IHj#v<;_x|^lNlxg0%ft zq6b5)jqG?DCHt9~F91AZ|61ZP!JgLLxzw@Ya?G|xSXt4bA6y5=zL>%0hSleOsa@N$ z0~Xc>)h>oC!;VxWpwr;n_(`z>g}+zX%!~DhU*ELGJ|+l^RghrOTG8c8Gv_Iz-n@YA zoLnX@V1+$T5r$1e@UR%fG<;&l%py1lgeb|%QlLerEuS}Y?LJk-LM0w8CaHShIszg=S`f01FmQV&#^;XKC$uQiny`pgm&ok zL{IjXy`{aUToHX~IxOk4kT6jzOAf|a3*unSJu&biYJf%Yj#=jcCml`bB6ma}1f~jSKm7u3# z6axV-SXUzC(HIN3J?QC;<)s66qB2^R%_a;F+cw--SMc9$?!O;;BU*G{t`M-<8cb3m zXv8#MMmK2KB#+Zgv9Ufo#_J7f50szs>{56@%_M3TUB==6UO+YSJ-fkr;usB~n%-K%=*qj>`>3VIR za>b8gdt)ZdI85|Co$e1CzdkPC9HmP;$~YO-YC`;D!`qM}*-!?xHG+ldg-@6>w_!}6 zYZ@L5_yp?HI`m?q4u#ivA{xAbL9oV$+D%UmknSz)Y{V=Xk1aMS>%P1oi!Cz1G=GB0 z5Ddtbt+P{MU?`&YMc=O!k|PZVB2qEuoH-?9CCK8Mb{$i=-OZYkNGTOHnvfn^*E(x1 zn4yiEa05+mbNz65zV!{!p;3+7$V&7q6KUX!$xy&Iqk_5&9;lD#=8am&esWd}4XW!k za>tg5j1R9yA-YHm)oh!|ddX}W-1V({bi^|t@&MPY0E5?61{dp&u?#&=MH`m~4 zFbav#SjJX8W@T#ZDGp&_$++F~ZTfzz(^Y@B!eLSBYb%zJVvT~=l2Hy$ly#^|UW821 z%tCxgYPAEpI!oO7!M5y62f4xcBo_?Dg{S+J!p_6TYrkm54Tdwh6@iDP_oNp>hph({ z^Eq_3kUy*^Zf(aF%Df_9dS99*%{~|W+MmZ0@Vz35I~J9`pj&+7%wK}V{xjV_MFZ!@ z#Atuqa4@(i_$JV-Lqs`0k_0MsZ-$-c0V0G243!LWNvo(Um6aor<0xu1PpCS?T+uZ1 z#&59uC?~2*Iw)2Uh03u)S@u61eTu#O{Eor91IK&+W7bWSk0iH?31!O4*!ani#4~R# zn+3OeP=WaS7;Jj)16yX_19(NjYW^14etWcRh&If);40H5zkq_Y^IpC?b2My3fmP8) z#c7ZPILU+U&Rjt$1ls4Q3A$LN*S(I~Yfj9tIiN;D9!tq1Q#>c?kp%7hI(xuBhkd9| z47EGoaW!kYC1cPj>u!E4=@CL>Olwom)JzLDfSJO6gU>A3U6*_dTo(xg=HmcwFhr`i zJh^Z4NHP+S&f(SVbb@jaf1-#u8XTi={Mu1>kLcMO4a(z zkcL4EeFl4d53$I_vpjg4GIp1l9@V`GMn2dXO`$szV_YtPIlnEgfMD{X9zFVymCGOY zOXo4fAfZKPzQ=oMF-)mBwTe)DZZ9jQ{sFeejBpIAyyE#uV1DJi&XPSAK*^g$Q#OKDomJLJl+=%aL7F0~a2#%}yOSN!3AQ}-Xt)OU@XU4^ z@w8@#FzIb-UUQ1h7flgMz0IXv3lDrGfmcX+AcZAUwQpDox8;?UE^3V$ePba!`nW<1 z>Ppb&%X>+u{Y!#TXz{1%7br1L5?QA6+e-d~m129u8{`hq;c%}gLOIroU+B@D1|9A( z)RB(H+T@wB;H`VPXd7qkTClM=FyGkeR`Ne_my`2ME-ZxIqOML*ONO>wQ7PK@|7J0e zGIC$UpM^m+^!J--^l$#btwvYLH@&U=loLir28j>p>p|!GTZH)zIyAY&UOh{xX!6 zva0f$`q2cxRrS70)$VM7|E9Vb@%mhjYXLIOTaOYMMitfE<#ZJpM zvwuT64PT*PJy)B3lDzzg8Ws#n`Hw{~sfIAAOH=*}`t(dpu*`NHoyRHal4RG>s}a)3ghmz~7Gbz9+0`9OTEnHoxh#(I z9sMVud+V~~Y!*s(LcCL1YAM?_g?1Ydh8iA;bQ*6uJQv0^R!7MB4YW8I#^ao~_Kh-% zKrwp`ZwIlJWNpn0PnR8)1XmrK1*mAuyN|#Ks+xUoR9tz z<6L#5q;&T7Td5wp_!i`x&9)Q+mF=8&d6eWJKy&wWh%r@2N8+i1sA)!ymX$A7;LJLc zG7pNf)94v zc*kZXJEub05nF5wO3eFg^M2l^vzNZ)rd${0T2lufPod-T?-G7uZ*9({h#m+& zsK`fcUdc@_*vJxp+pnZkSYB#9>bi*vDFpRheJVcgv_&PdIT^&4U+145%1b z`{j7!B)$d7eyi%Ob{V%2jhE|)-ufh0)0gbTk^bUd-&|Twt!Tn%wtTmLV!tr+<=)5( z5|;0Q9By$gSe4ZH!Np}XTDNKxg z;#su)*#V6y|$d6!b4Gg}N+Rmf(iL+zG6xaU~f3g-+O22sMQ|(;t7Zy&%D; zt|=Q3gM{<)UMGtQCCBBLa_?@u+S?fE4&lTBDGg+15(-9OFY^X6a@eP;=XU=q=wU*- zvY>1-SCK?KPTIz!I@r*E1dtMpsvEwV5(>{vct$Sx;klI809$UoUp#KEUdWCirt$qb zbUd{;IyiPEg>zrCcS50g8mKN7MxyPR=RmNCbgsxN#G)GCwLQ*w@&^O8D9kMWQ$(*! zzL*7fUwM#7^%e1^xOG!}>FR1=oNAtA?TZ=M(HBV`|3OA-aV=;<3hp-qZylfMUzZGf zRM8j3W)^%fpo7bKP|CL)EXub6Gnjyk53v2oMj#r8$$K_fOrehA+J3USz((*y2mv@= z)ov;>RO7uY>QM3q1M!2dx&w7dxX+#D0eA02J)2KY!AgD7l+sgZvuMQ@sXfNyFqu z)5BvZg>yBf&eVQwKU7OvKpkFiVMw#&#%13@^h)5GFp~1{uw;)DeU`9i1Sk%FkWScI z`pOnl=IP>QyGr&W7i7}dK(e-$P8|+%&n@4O{-{T1vCa*2>h%ADuiM*UKCNh!9AQkS z&SM-?AD`oZo=GHy$+r@uSHu>QJ9mmdJRiSsLR#n7M%LY>q|#1>|FZYZ&@Xjg!k#RG zV|ymLd}5g2H@IY!ex=1-U`q)N#lk64pNjbV&=WZ?A>}6Z{iTj572Ub8o5dwU6ND#t zoewBz;T}Hbb6HyVLrTC~u_;BhS3g`2tFZ>j?lCw+7-%BT%P1oDNUF-|y`SoCA2sGO zwXtoG)D@f{!v2NR|2x(0g49B5;tMcfqA(eh6S;JZE|sYOlW3^uJ#OT%e7bK0;_GO% zl>F>ckL_@Udp(htPpSF2)-oG5ka-l!K-xTDoOZKyQ_3;nd#Wi}*yK;e|5N<6+XF}@ z(XR7G#f^|28Yv1qRB6Mp^}6M|PO?2*^7RVd<`3IUsyF6{%VN^wGIkpa6q6zGXZ!}q zf5Ciu{K!i^A79**EGqUnX`?@uYtNJ7G&p0SaLpFI+_O*ZhetZUJg49h_eFpc`2tcr;b zyR*!dfZWymj?FJ4%5Zi3*efOI8bOM^oux9e`CV=GK<1b2tPh-==D*a+%*(?}{Bd|Z z2{Q9>Tng`9a@BTiX*)F+8oi)g8rULKl_FJ|KNL&_MQ8y1+*~rEsNQ0KTxOnE3VTFf z0NCqE;1_@A%AU9k-7}%k0i?#kS>o!O@Kghan~D$lY4=F+uKj;%FaEl?{#aNTB2287 zM3ikavqq~bs-TK6RiEgx6=n>P3!Ev|&Yqy3hX*qDdwNX)ghwhLMzz7=j|R-I;DNVy zE-c<=g_EHsLQ1?1$T}j-ySzgP-;YPB)J^E;)T}KBXK#&bOUuK|Rg*Ztx7p2{$W-M< z4;4Ra(N&x*nbwM8-1XRjjnvLPwRB%fD*^C@Ag#Xg!+{6XE4OLz&C>MzSz#aRYigNLfm#A_`z;Fp;GkfX%Dm4A zIp}m6!{j&$qsrSV*Jf;chIVWWvg(rwmK9YOl=7!O!MhueggV@)gd&Srxr&<;cdgf^F z$0<3rWEjY!ojaPKl_QQA&-P(|%m?(`uC}4; zd7f@OGZ_LQm#If)V*B~XzZ{pZ0FDmRke$_^8so!ekc<Gd(&kd%CzeS-kNUz(ZEA=z%4(<5AWF(gTuuw!KdrA( z#wzeZG~BMG&(~FOeZ%>Vl{{@ljU$*87*07NWEq{bKdLFjY~{q?PwoZTY`)CQ;7Y2Y zToYNOY`b+nd1xkkam;^Tf~@2Tr6(ar*`NzX_r7Uvvw!U72${rthyV?mubKb>ZBL! zx|DN}sWX5L)WcSteufZ4>5C?1mBk7aN+34|5AihHv~1-r4T@g0CtO z%=+nT*lnY-LP9uC;UY)_Xk0)|VAA8uB+85YR8&NcYMemc!)#c*>g?_TFz7F7;z(P~ zezEU^$JR`q{t)Z-<@V~{!WnFikb?R13Ve+MomLB?>KW=*lp$kC8nWKKB^kh{FgYMM zxY`k4a)3FJ!l6-m7nfc_A2rsDQF#QUvC~vYAwn!EG#>|*j#cRP3nACeSfFD-#J0BM z1o8}*we<0(l7m3*E9}w>nH!Iw=(gZ(ke{Vp6ptOBvbyPL)y)5nI@aY|Qs07w?}^sH z?Dr-b^lE8s3T;%I1=Getvdxo9E$4xK4L?B)V;IIbmZ0e;X6Xx`&)5&5S_>_e*dTQ0 zE~W2C55gGQH-~z$dv?H~$!nNJTS&do`TJZ<13#sL*FYfB*XBRb{_|yuiQIr(8gUZg zMR?%%#4m7SPdt(e1hnC_-b{KjEwnPpZ8=(g&wxaE{)2}U_ZvRkh!fM2gsr@#b{cG8tjQJYD|j z)e>M%u2jlqEBCb`$o0LhI-c9TNF6^8kcCB9g%(Ei%KfNm?E<@kr>>semW%5&JL;|Y z#Q&$@|4a$9;v+N}M^4(M8G%k>uuA=#$LNOwQYRZok?LvEZW%6-G-Q+m2Rw%o$jOch zqWs_+O*Sdjo{af(b(fDXaH0_Dh^N6+so7UY_7XYE9i;(qqcWNl}UEZ~~OM zwqx@obM;C|PYw^?GW&Gu>Kn9L-@Z7QzqJk(XgfIja^_NTD;Mo|yu!`SQ*gLC_}Wer zF^>mNwm16)QZdFwwC+5vz1Pmo3SNsq7!X#VBQI5pRp+&^;8*u@uJ8YZQ24W{m73M& zMaaQ%T%o1elOFIR?#L8Nn9)~!F>YP79C}FmdWTY*y_U9l3z<^YYrQ2fVt*(x8%DqV z(^(3x(QKiUX8r1H(ki^DTAzs7vfZlD;!+ZwrX_=Ft_s6zOZvo#&6$G(gFKx7{G_ou zjMMF0XwQ}kFj)xyMUOehR+%20K9{Fi6`Ax%n3~M{XUu0A;#qiI2ApVKWvegJuS!ZX z7x@0#I}8G=-P$@o=g}Lzr!mic|MW^aJ-{1vL6tIndu^&0UE{kcEPJvA_c>6NDAlJh zLd+-;4bO;D^7qPE`!aouEBkg(!tX8;vvJtz@ZS>UhL{f?BLMK`h00*`L*aXr0$5y%88vn_~_@CC7D3@(l}< zz>L_;-iQA`>fW*|t}yG?P6z}K?(T)VyF+kycXziy(8Ar_-5r9v1$TFc;1W2M?$iC8 ze$wv`c*odZU<`Iuao65^-D_TRE=8Sde0@QMyq>=tYi=0+tMmZ2#AfM!s+wq%rMVyL z4H#f?9&3okXf(o1t-HBNG<`egG<`Ha&>#CruDh3cK+VYQL=r^lL%E7n!Kz6*Lm5Rp zN$=M{5djXAm5j(;c{-Zl9BF5RP7G2~tn&o25Iza<8A-jXEEwR-68CWDssxy2g`@zQ zsu%EuAUR5D8TyJ{SHRR81{m0FmMXsRtVqg_w$-1gU{VJpb|DgU!FTOVZ^gO02NGrA zLJ8JZ-NV=pBfc~)Z1+F6rpVIW6Pq6VfdGx^J4z;pM)a$I=g(nZbpjB``Kj04HK<9B z!{4rwDMQ7CKShudjsgpUzFCpB@Y$hho9MJGqfNz^+|T-wN`!c!FAD# zALbJMe*mf3-H27&qJ!s#GYup(UQdd(i+jTv-Pehg7Mzg;)KZ4RuKCf0Ihjj#fbO;c zCZ6Gx*v|JEw`m=@^5Cq)TYSf{OMwD zYyC|f_&r(B;YuJ(i3tTah^_tPBqX6^3zdxOiej53El{a^wFZ%sWk9~cI|9-j0DyT= zN%d+jixFo|7O5hZ+{=^R-cF$8p}NECco_9rdR!pg3wzm@LzlxczTVrKEb%=)Q2f_A zmfu&2p&rh_O6-Ns<>vVL?Jb2B6mgL<5m3Z(b}#eFXGR~bfA7M6`2%J3>uotdnK*}$ z3Pv*tBH-8eH<|KaDprs>VK^x3Vq&z+BALT6VQ|T3v@nhpslCwhyzhue&eXi4%T30d#UnYLoi= z&Er!fNMeiB|FHp0)C@+umZsPL9F$_eKbh73JI8`n^U$hfXxT2>U}|V!_+?2p0(Bwm zb~l{0;Co}PiFjc16`OX5kDvGWUlz7UG>~U`Iz4^wJ650Fqi%G;kvOM$1`vBfz*mf<4g=$y^C9g>{N!09#1(1jeUJS z4G<=;v~bjcl;C`jR~h_gi8xTggn3XE&7AzDhR{KI(*7Xd20G-*W&v6hQT=9d&(qsL7t%+k6@H-{!)>VaW)F%A(kgoo$DL&!agj8J@6!ax7jD@hd z7^VpVdfbnG*zE|BHopx-8|CQ!OJ&gn1;Utk1d|l{U^9FQSW!5D3T`Qea}ZudDjcR3_cGb*@U$gF>R^gTQ7z?gE|O&C5r8C$ z7V`a{Om60kSs4>cViVo&)(0G$1ny(Xu@tY)q$E~i2U?C-^&($)B31<0? zlfoCCc1RlnwiyaWFf{9B&2GF!!SzCfF4#Ab&o$#iX_*?r&1EXuxA~WuKvoT-pQ-4j zl2BiVYpUW?rJCbPma^IsvXZ-IZVb(^invl*+ zYprTg?2LRNErn%$U=)YXWL{x4;T0(mJt|*vrVy`D`WP2Dh}!E zTj`(ug~$MCCDr!?u^LM}U|vx9eDgpVCYo!p+5RqpZhRRJkxD9)HZV=v{4kc}ET-~` zNE`xs4uL34{_Wg!c8B=4Xz{%3WHqlChObqNdu8ec+r)7gHlnKh$Dgux&Sh$K+CyDb z)jXhHsOHWCHF+ONKi|WUoT$aD`vDd-)`N^FHDu6_J`?+9Q8zmve|)GAa~shF9$2=` z7jbGuB?Kjv*HS0!z$$hKn3O)1RC)7iq@kPVY!$$eu~V%x4J9}q_NPIk%GE1&60hg) zk{Um0%NMu@eKPz^%;^y`Z+NBnB%UH+d#K{dj1`j>*-So^BH{q**e?C@{fNHOp0U!% zh!?l|>n)OGc<7ypZXu(u`S1<0ST0+1`6Jr3d?jxpS^St^(%vt-4q*ME|D^HyQjSE* zZUGSnd+ImV;PP(H}~0Nxt2ZVjoM+X+Z3d z%f;@D({+m<(<|=DnfxjPjDFxfd#LqqE?+|RLZruIXm&lb=7P6&VL zCm$#N&CtdE=r&FVY0Jc7ZRo?s^SrBMQu#2Bto31BicT7?vQwV3x?26k<&?Q8-lH@H zaX8k`d8MJJE6@n1-_H&Xe4*weI$S3{$Lx>S<>oFm{?cRY6lga|)?o(PT=hjads{9KSk#WKq=@ik9Rk!Gs>BEyOhSG%@%DZK04B)L=iZ z$AgSG=WIOE|`Y$n2=bjaht*P2HWCoir=3z`L{dSFmU)*9qV5UZ{n6ICGLgfq3^ z?-{KrwcpDlp+6~uU3S7()yQ8}9Qn z5J7~^A~V5%(dM1O_z+Pky%+{qtTx3wO1oa|KMs|%woOx|TXMjNC^ru|ROcPIczZP{ z8jR#|oacY9X+afvR}Xa&Uv~keU72hBEUvY%!qJBuuJVu(y_s6Km7qrmh%H4_lbMM)2qI(GiFKVXam0)+b%beK;z~0a#6j-AUpY{#tI!b>f;nI;qjgE=T`?d`It!lv8t_m4{+0y@qOcgH>W8dBBRjwta==aq@VF&s45 z=a=n}4~>>V+0|Kn8?-Ol{8spIV=Dh!NYDrCVguttLiMx3n7H}h&A$KWZgg}1nSwVI zsrA2u9{(Q%&A4Bh?! zgqNeMlNb|!6@4JS@c+KA4iZq2?zU!JDTIjP01rv+tC#?PwEkrXAt7H?b%nScsW#=c zf`1bCWyV(a2LUe#vkQKR>a8R>jjcb;yM(k~G_vO~mlw#wSXZ7=VEB#;l=?ywPu?Wyc)at)t%dVj85 z;QPJ!wVmSl92!$+;(32g%GyQgE zd7G|wW=MLc^yvV@P-AD8qnQ=&+Rm>~x73Y`$_YiE=N*YSm{y^BSHXg2!B$$#;Ge^sWo8QPNf7g7-9zZfy_ zJMuH81&vP(DeVTnAY&$Yhq7chi2`*GvE_uG9x$O8tcKc(p~!D7PSpXVs3ru-w!unV zCgsUkTkK4v{sZ@OSxQO@^?+2aO02j+&OQTw&v`+7mVgZ8d*kN8x(5i|2{y$>V#F+y zK!`RW%Xpbi&Mf`5u)ZT_bXwHE`^k_&Jt^|q>vNLG1HfxHr)GL?EJpu)HkuxMj1wp! zau$v3r7h_Co~uq#ADpHkFGOsIC>x)XQh?ks;ksin1oIq*3fWMVg@ zio%Ez_@`QHo|Zy6LBfJhKm&3#w23{bj21~Odhut$*&*O{qD*C$4#E#e?)ztN!h4JC z9C5+#l++cL=OaGHTA;L@$`U^X9n;nf((qfBMzBA1A{X#t1d@25FpNG|w54%p{}=H5 zBkiAs%~IzKsIXu2)?b~XVu3JOB^UZ95a{uCEx8~bGV%;~1OXjkOMcE@@WtSnBoUcl z4X>A+K+;T{1Ue{3)1T0Yv02L|6Nq{ElM2^J$xA+(YIP#pVM4V} zc&+G~M78dTj-m6VwpT@+_9^Qo`J@+?dqx#QNb;v8Ot_8;L{A)V&O%aBFKq@I%vO5z zPc}V<-rf!pEf_E})bg0QGWkzrJED&$gXm7f;t$Lu&CDV%q(Ow!3W#u8STyo@2j8QY4YmdzR_dV@rHJ%07TIq2*8cf4-5YB{-Kdsgy7{N0;X^FP1EhKhD zA1X}{^k)HWiv;2J${qq{RODRjkz=VOMJ$ufU&#Xzw6^O`85~)C{MM8hu!p&T|7{K!nNzwMtpm0ww}WI#q$n7*e@civ*mMt3A|g^X=vJj{8(7bAJT?-vriEtVZz}yP;c0PKnqIB=Z3_!1O--Z# zU2c_czSzRTDLTUj&90eHz@9#ZCNHkr+X$K|jquCgpECJKk`d1H-QzWV=W1m#AO7Ag zx-t863(2!+thv9`()S0TW1xEF?StMiQGs818%TaIL-hWfB)Mq-OpBSCqIK1DNHBs?c{W4&Q@^do`EsN02kJeQZ5%+Ap zF%&8-CT;HAIfe;7@4SA3&X_5hZ5(6;uBYmU4FL=_dhO8;>2#DXQ~Kq)vZwS%Q`mVi za6wl2ZEa-tG4|LTntpYI#;-~7>*GoBQ2~Z>*7=RI1Dji&^J(f2@I#2}Zb{GXNvY^?ut8!QCA7GsG30UsJOlW>;K4Ws5+SsdMqEun!|7{P2P$Nz z{nI>x$0sjl$enh%dZhOYpQU!rURjm54m*CBB*y`r)L)`0}G^6esoIPS?N6uz#<$ z|0b9}Ix4Dg4RCGBFk&c%H5nNjN=>SqA+G@+h|L7ciB+BBqQRF(J0h#>AAV0u10XlG z5t)?2%a!1pwLzDy^oDpNMHEx&U}?t6qBM|zAcK4I2M_y^N=K8SOs}mA0RJ>DC4L)sRAFiB0y#9?5?n_m2)389&u!{KiTP#hOU4t7c& z?>17oBpF$4i85U04ub`xM>!@pEQYk-iColH>*lnLhRnncKvAvA6e*dIq+v~cr!`99QP<4Pf8u^ss`Yh z^t9RDrlK3p5or_4I!camAUh&8EqZ>peFa>%Zl#Q{oOa~dsdu>9q0mNae}9Ilq6;@z zg-qiJ?EK>1=+KO0Z+MlIuOz(5GcBGIzvwAT>cvne2DuW=-WMEua0{HGGZ5 z&eb$osuHMPSf2 z!ufsE#q)h$U37YdCazkh@hkRd?~!=Ynu1*Zb?`E=nlOrtO2JPEGrnQxZ2iG1b{`R* zH=7GRL<$Wt9838aMhMQLe(4=fUddeCqVzht)7>INs|6??>1W^b)K2%qa|i%BKh^Tx z>4|)Ojsy{s^oacl0#V!MDNK*viJtl~$bvjoi>CAO(CM$s>LbNJ@W&}a%VFhLmr?n; zm^^x^(V4c&8syqtJrRc16ZFKli2mHEv>okvRs8K@{NPCV+nZ;vzGT1{cR7#%HP@mM*Q8GZn!8I(c)(nO7O`) z1g{m?lT2jv$%+Z%E+ihhA}-!JUS8;{X;z!{((9DEde;R=zj&efy*c?g`vnAwtV~{L zL|@QfNNMoOcK-|L5F*SA8eH?oo@%lSL{dBw#$ zDoEu@!_h?6-rfZL(*Afe0({S%$eJsYF#CVDq5r!7t&xFiYRjW)Lq_<1s+PkHl^@Yp zXkyjo3%k3d5!(33PV8?^(ht_!LNUqOxB1a&QGT552C`O09uAZ}R89$k=y4Afn4;iE zTg#zg{?yZV&)MJT9V;~gc(ZKniSN&{zRO4Be1+#3v!-s8(CbR4VK_&{I}VILKTAWx z^s~vLqzsRzYBH4RP06<>sR0_QBv7LN_zuP;#Z3l2@*1Pw)bxA~)nwUHl%ZYTZd-Z1(jU4f&GMoQ46kKzP?{9hNl;j5y@?`LaCFAv zT9q09ry({)J1Sbqk-U8|OveTz1bclW)8x^0x;`2-^H9Pd0rlWJv|mg_XXjE0QlTH6 z9xr4(TMX=vLE7J)krF<#qZKwAWn)rTi*vZ~5P1ORcliF-!pj|xE+tHUlQ5t`g` z#iLX8kjzx<+`-Hus*wZm1vC7_YVm>-9V9i_-4&-EC0h`jCW24>E~gaka2+$gak=*U zFMS6A#1;^hX91Smr_koW#ihYQB|M=U;p5@o+a@PHcdSQL;Z8lyajw2EVh4;(kzz!S zRI_j6`k<3lV~k^i85P%ie5Cz=l_%LiiQp`h93^O8QYtXO zk5g%({|X=&KSn4v>Jxr?46NhnTN0@1ZYn^n{64X){|_uy@Hu!JN7{q4Z=$mq<%@AW zYQ*UeUxL&`pW3teFW83Qp!Hm6?6bur+kFg;bC4Ljzg@6K4y3i+G^CB2KPIeGtaLP| zq=zD=)%I6@xWUf~IuSrEvtQIF(6KYm&*19)4ahEp6L z2T+=tG6a1cenYuPoQd}8cY3>p}89rNiG(d>={s^CB!xa)cOK!N-O~=vcoHq+MpI3Uj zn3)4GamudoVb_QW_fsDJ8rMsLo8T7Ue#V*RFK@?OLH)e*>96)l_qycPJ*aXu&W+0q z-aDL&qhQ$@UT{hIeQyeBAbW=nja0l0G2otnKPo^mW9X_7(VhRDUqFoBqe$BkvS`U& z#YN!P8ie~tzai|l&m(sl-mkENJ$v`O*AN*RY!EjY{X0sXsu~9916I;S?vW+D!8)5R zLfQr1bag6Tx?3M#-z&H>Ck%v9VF~qYPnIvu+Fl2^6hEIyC3C7$cuF-Ir-zG z^oph?F9b+?BpTTtiF`-pJX`6XdE!vMD`@eYl6qJ`*LgyC&;VAVcS;B9@;awC@H8D3 zj{Tq8$9~alBi8X>2@e{NaCy+bsm`K}bgoQ;qN+R7t&>uoTObn9UPRL|&z)KLdj3lX zZxX7ZCI?eURqTdgyReGIs@Q=K}JOudnI*>5v|N3S6Yg zNnNDj+a81TB5cX)v50@PPXsR$<2WEuWn~9@^AkMOv*LTJ?3ChSz`o+69JdDL>8KS6 z6YaI4p`Q1nBJGYdQ&ST4#)hiO5~s}@D4J4I5)8$OYK2g%XR)Aq%-^eRb>;x>P|+~L zt=jLGD^~h73#^;|0kF335&W8l|IAzIG8%EZDFQ3%X`45KJ(HM2MxeIB9^SeFVg7RO z*3Vd*w4=fW1&o`&NmFQv4phnnWlKp6My${n%~x|&xY5`PxW3Pq3-XY_yXLjUpQHgR zFB4X5QUH{=kIq(*E1A^V7k*S+ICm z%wA?$mz&Mhbq)s1l^vPIqo*d!FEHycjn4{(=mv~5zT+Hm;v@Au_D@Mu-yiJtMwL3mzyM?_%sVmvlL>QFa=`gI!pOwjP}ctG4A0 zvIoi~ndq@)H%%^c3r^33jS>*80F^$ORuexQLTNe;fyRK)a4(9dBN8oSnID48S(>*6 zjfW3CbM2VnOc-WUn!qs|O)Ko%=Xo4VmUmjxpcgUu1r~EB<+=`bTnJGqL)^Nx4rME+ zTDOdVFAr|!kba(*q0;?PE;O73zcnER2}I~xKBvWxpKs1_w`S{s zVip5E(s{9^JCxw=)UNtir`9@FPq+z}Hq`=%w={~3!^^vpuVLpm+nWxT-gGB7TW~11 z-#CO+f%(#^Kwbq$0A!{MM$85+L{;WIZyT9*>R(NLdo?6;PQlokA`EMh@%bqLiFxis z-d8A+d)qva=F-Ij|6IMmHZF4E^EN!BCEJl1+l2xMkCpwMp@thfEg-MYX)SVR zqpF~#Il)=n(=0hD|N<2jPKf}jFgHlo29gy{SzRZ!kzvb#@9(0E-dMqd)*|>>nm$l-aZs1kbSQ+Y9N!jS&(_cvgkt7T%Y|mwTQNpV~w}G z*p?r?4h3vW`>tMl47DXP*9gE)R!ug zAYcj+L<*&xSICvsQXv&tX_U<$2Bc;uBolP(dQuQd7i)+<65|Iv_6pU4&q|a$SkB%? zaNN^uxctcvtbNTP9uQi8g)p&kb)+|o`^FUsJ}0G@v}LFc)^-ZNl(ax_^M&JnitO)g z7I{wOp8&F;5@B@GsAUdT?Lb6_iw}YdF!y@o5HHoQp=+7R>J;>RZ)gF;nK}(V1STXl zo{n(WvFm36dHcXyq}b42m9vVLP=+9ViR&lRhru8hh$Rc8vcMzP=RPcnIE}QXiW~_P z46L>hl{Kn+VB>CLi-AKuTuf`F){B)t&D6qtVI4|rC;~cMPie;WaBfQ4BpYw$mGZFT zf*MH8MMOnVvKGZK5J^X~R-3(oQneZX#TT3>iCgfPEqSf} zqR(R*ffc%*+4cIcVLhs!X>9fjJNTxtvsEAb|x|*bk)Eq=n+cwd?BCjeAyldFTR^D*FeZL?Mx6(Q=eoLrg z*Z2HwcaCl^qS-S~8xaFVzlypRmh2*$Dam;yg;cyxY&*Uc|sAEP9KzXsTr!7Yh61+^NR_RBI|B3M^U9}nMO{=8^YeqX;rhU z3kw*l*zoXS&O<+B9@0%QDsA?3J#-;t|9H3@UUoq;g{7e+Hw+lDlp`(z?g=H_07y9u2lt9SdbjgcT!>Ovc5Er@P-!RBPDD|h*w<^GGICFw=&Fe$7^NFx9q_n%~HGL!#MF+h8- za8`rVmm>a=7Q?Ubm)?Xa8tNv6U~^1L0-^gVAmYWlMAAHv^}GE<5fP>ZGk4eGDYIK)0aEuq8dNmz&lpw#+3;POcOWT`WM z>QhTty~7W^ExaUZY*%oxSyFNJG&e>3=CqI6o;c@3tGgH($tB`^3DmbU1kAW3PP<4Z zH4X-sKi7|halLaBgC&HCXMI17bZzrln8ikN@m0i9B1yM{CzKZ_>(m= zCD9n%8OnUqd5&6Kj;DcR8rQhZCyH|z5U|JA`hAVO+R$TWY`9#NW!9VUKvBYB09|tz z$Z1D+qBS6YsDd{cYE=sIwfzRz=5V0*=GZ&XjbTMNv_q!tij=8;fDsgHaKe;m6bKbi z8JJn)kZ!&+tq^+ zoGv{r?4a0YI?v4k1X`tfEs}k=d%a;+2pkdEr2SdH@0U9JaZ7SuB50a^O8;SZDhA|?wuXH|XQ9mw& zw;wOUir}u(2B)2?&peU&!H3rm&&!4p2AFqZmuN2qYVEYxcRVl_+3q*tw*<0j=qY#bC{$nN1HO z5y3~=Ktr{DqY5j?$QSfWl96E@Nmqxh(DV0hyMAKe$T-lJ)7X4jHuGtA9p?Uf#mKjU zL5PFx2TtxvREJ^9OGJ(HV>-f4E#UY4aB4w=?$^ja22Qh)I6zNN-0?dFjNkF4G>EeRumWun8*gN-Zd`8l5fRFdE-VdFNB-QrWd=#t;>kBkwHe)F~`IY zV?%FN8A+Rnr)j@ozYzP{!XLF4*|zi45EH-1s_12Win+m>Gfp=16fQ>0#K*oM2caMGo4AxTC=NLz@)(7!W%(@ z2q}qV$jJ&Uj%8|^BCJ4hUbu`F=JKd>ejWDlb&()2;d|wFHkCIR?wE`$odq zh|BfFN3q}dOyJ$U&%Iq4LIfAE;fu^DD zVNTJG93iHBY#Ne>6O?A(%IS3+gd?=RMfPU8(Ev6V6KltQXg!(w__%eBrfat5LIx;Z z2a`M1dZ~euj~hrwWDYE^otR+&zriTnIoWjGN%fl&q%l#ZO+d~AiKuA;I~dSE(9 zdf>!p^=tgdJ{vP5Si!737%`BDa|T&>MzwJHAyAzhUfJz{1P-4hOte8mg!w_W*k8Tf z4>E7QVx_=0!xlZ+ukJOz+KM;K3Xi*?r!n|+G-+1Gao1c@y@q%aEx$>Qc#lk0H_Lw)lNTfXSma3#xzQjQYdw$kjcmt-I;*{G8U- z*MwQ|enWW-zqv&m``sZfXBkOxOZqx0600iT3H^zEOS+;{IQXG&kgGZO&nk1;wjq8x zcV9m93rec6v`M6EK&wf`JTj#8L)J^gg61`G?!AGuw~59+0PHyhvsX+u5!qX)oAm2; zWlqZztfNi8B%G%~8}UJImdGj-vdteW^?<7X?m2waKwhiQu<|jNE$c?_?`YBO=qX;= zQ?bz*E0iT%oKY#Tk+M@e@^ZTQC1*N_0RhtDH)w?Qjm&!$T!s%Wi6J%Bz2xb`?G|@i@t8~05mjnQ`zy*s=!K+; zhJJh+wKhrY4)vQTWa3UgHBBjxi~Qx}uQRrUj!uIyL3w7&`$14P6_i8@>q(RxKEG|_)veew?u9MzdC6NFl5iNj;GyFU zZlx)Wd^NLK`&4kBb^yLDg=}Y?k3Q8|N2mo#JmtN#Kav)d8?0qY?+7&rE;pIJJXnPy zl&x$?=E|x?yX=N=ks~-NZq_dSvdw!CGCe@*czrhKneDL_I<4WWi1Y&aIB=cWA&ff$ zddJyo?9~eIXfFSslJeiclhq$$PKG#o074PYjC8Cp^q@`~m;wa$B9X&VGU6|PjTKnX zQ-TxJ!nu4H2Ln?cLbVOM@4Otvo~BV1s5&rA`!w)cUXbE98W~ve7B#{Jnk6I7n7=9D znXMNiu)rrIfy#Qe?k7q!;FECe8Ar3*SVAwt;6?Q7z1fXTUt!+j{r$oPULu$Xy)toz zddZNCC{ZlsRVe~F*;=JRMA?(2(ffFFFK%qNZjj2R#G=yL99UG6UT3)tTUivIn3jf? zewEU`lNOYoQb00!bLp3z>SQ`Oo`DtoaWm<%_3Py7<-YeMr<2Z2=B3Z(io-nI= zmyZumN5Vtz(rUkWk-FT+!U|-5SHbmY-5I8KSi6*!AXvj9D}OEdOdDYM^lKYKK)zzA z_Z>U1)pyU2RSYYVm4Loq=a=pQZ4<`?VX@EMbny@$aE_Bmu<226)>-}@UH_?9+TF^GKn@n(*PZufAv&vr#w6qz2C>-LGd zuGkBD{S@5E7M=L}xe?2pU@UEZA0#@iGTu?I3RTS_42j^>L`$LCqoM9&&IoU8y~ zp$Yy=qQXq^gy6y_JbQf$wjxZZsJE&9cjo;5%!Ni_ufPU7lATpb+@(4+FT7r0*YDwa zj8A5mr9U*><@RJRLVgmwM{Q1N9y_cnj9_8<_=%?rGjRYg@7~uUv7~fhACKCtW;|P3 zeOA)JkS(Yi z+#%847sKfRcOimSG)X6Fnxy=lj>^S>;U#Uje=YgiW}5nQ_U;eOYfR{v5C3sA*n-g# z1Db3DJ3NuiWx(gwqKW1iiX(mz>o=3*cc}iyD*kg(&3(WDfTkZ_lhow?rbwYcIiVq8 ztxt5sa}_Wbcd6%-m`dpy{!Tyow^uxThsVNh0ES){+Zy1(e-CIY3AbNH0N%u~>hhbmmx9)+ST z)gG4gd@ztWLknr5D61`=7L~iF4yFH(`@u zr1)r8lZx!<0oH903FOpeJP00u(V7D94)tl(epT4|jUNUyK^Jcwu zpkcyxDCylG;hSvz7J>{}uuVSJ{OEimUSeyF>+zOve;dI2a=)D)y8v7DppDgxC+}0R zpZzpQr{TvVbTOZ~_-TlK>!q52o{kg#Ata->3h$S;Zq5|WZ+C5q|GWc$zB?_C;F<#R z5rcI$unvADr+cSe+5s&{qE*~lmefqJUW*amPGjx>qY{F?CQ|S-Outi-tp!yV5plf_ zISVE?qQ_ImV%LkAT|12iXY2VbQw6b)$!xWWzKRWOZ4syTrN7{Ca>w*dt3O=}t%ZLr zc);AHv>k}(^WVv3P^lCcuK|tmS&L9$S2Ng)m=XAVW1g>*-DnwhYxg?NdC`|Q-P^T;cJVKVeFIbS|;YDZf@sea)n-A2e-cDVIC1V$ftld}PTs>ageB9);b= zq{4$q75>-rmp((1Yq5i;uyN+KUsy8)XnBvr9iJ7dR)4H6zcErCq5AEN9f7pmlnWC{gwNmC;U}*EY$MHktJ~w8>HSL zn=cKV0waG2W;L#q%x@V0&17Sk`GG-KU+mAOD5DY#44gAC25aIQ%aE;~#{S|Nsupe= zf%WL&D}JG`ykR(=ywPV30QDamp%^#sz;ffq`Y5bnPBR*bw7Bp7)49Fge7_d(dK%lD zs$igdy1G_?c#%*_QFJCI6`{&XA_ZJ6nj&fZE~eF;|7)Q;d5U4M=J#WRzbJ3m9;yMlfQSMvu%DR zi7U$SmTTe=vx-6Cha=l)vtIB$jHc3Z3cBXv-VGBq`E`*m>UT7p(W>bia|Ebw)W2D~ zPT4|~2pYjR2-qd2LvTb&Ug!UwkzCeT>aVfHavl%BKK^c$)8Rk4k87V98k&!cq^K9h z4)fK4svz>F#+DZRu*OP7BOGe2&9?RHU$cg9C;d%hqcI2FQzZ@(wajLp028d`y=Y-|7!5gQLae zf2urg-?%aSlqs+Vb}ft@!Bm!1HM~nc99TlzqPd6)CXJq5T+q z1M?C5;F)r7Kt?w(t~d|wv&CDL@D8C25@e~Klr%aYCBFZar-!N67&G-Mr16X29zH_C zm=9Qz!xwc!`=Hj`H?3Y}L1HPY&Yr7QN-2oI1s%uUNB^R7_ zKF{s^wiz6>;x5AHA=O0N5Sgg+bBDrMKdEeG9h%zOIXfpsT>v3-*8P2Q9Xl!#Dl5e@ z)MCCXl^nl(zdY|*yEtPZ;Rmn8)5g0B82Q_22d%>r0jMy3+Wo>E_bqEb$9pwwgxaq^ zTSOzQ=m?yTD=_a;S_t6#1Jg=8&Lhx(NI4*c3W(Z`3D4URO1Wvq4h$z5Gc4^}z7I>eEr+Vec;`D=8EYNl6SpAYylD6-I#rwD zRbi=K>x6)4g3{P#unC658lHx=f|(T@Ubl1t^tQQ7U5)H5XI`uNu96o*rp@g?u7zmT4p ze=PJLcQ6m}hx1t_ZwuB&Vuw$V2Z}d@6kY`4F0P!ueNNTq`puc;L%iCYL(lmU#jZ;h zJF6$!#>+sr2TEI|5vePy7TatExPR0Bd&yzt%{!2KeT;eLXA=qXB??l@1%s=%t8z>E zmdlXz-44syxgUpX|2H1xJ<>eicdeaAngyNEm$Jd58jdR_Wk_9$aqYLH78P2+(F-^_ zW>8qW+pbeP#lkx+fsRncQbuMlbb97Pje=n9BB{04HTo;LOWeC*8CP=XM^o!j$;Lt- zjsnY%q+z2uOYPX z*#hdGL#0mp$NZJ zUG3UJyH6t{kLqulL%XM8aGhF{@}cC5XnPKz^&Ryg4>|X;2@|@B4G6-KT+2CO zyf8K~1@-Ttu8|_YO%Y&+T}LlxA3mkOK};XnjE(%}#tVv0z)P)`bieA$`qI&05#HZ; zY zR(^~SqF73lFer*zv{lq$i!M(6oVKkTy8$HaL`2VA>Zf~aytH`6126@$n8rM!?g_U{B3kGO@QRZH` zL_<_LK6l=eGAjAHb#)r$G8=x!8&;0DW3hyeq1g5sdeORsG){|}*jw`+-Wf=N4PWr}-5LN3K?Ifipuk)G1kF@=m zaoN))fG9OVg}`nYBru!HnF}%r_l1_2n5mxm??{Z(0w#%L+{< z8Fi)|z&G{s*jwpS+X)T|{5l;y{~;bKTq#uc%!Z$JyihYOa~WVLQcd*elFfY<+XK%} ze2eZSVSk>?eI@9ECp3Tg1`lsDo&QeKGQFoKh*OXHFdVmok6~Dg2`wA^Nz}-6+S!@+ z8l&K(jJkM=X3!~CkHqcO*?K1MtIo@KYWS6R2Xr;UXtzJbp+w>S1;_Eu*-WN&OB(TH zwY7uqyd+Va@}dxFB$p~J0DlQ1h*wuMs1>s5fc)$B7ZXIJk%F%`6M7v%Uf#hMZL$(h z8-iooN1l&)b~0K&Ah4$I28sGR$2sI+@YGQgpX)p=2uo~{w3ypTIC!Lu zcqKdFe#4h2aUXKBD&haM_Z3c2c5nZJfHW*DB_%7JB1(66tdxY53esImOCv3y(p^&0 z-7cUk-Mw@zk_%GrKJR>==bd?Y{mt(Wc<-5=x#ynQIp>OV&UHT5=bY=hkjA|2*k`E9 z2Qh+3A4>G0Jvrcm>Jf>`-wn04v5jP@~cfX^BYDS$US3o`nHA^4jm3$}`1QHnQA&$o}$lk{d6@5}KDu3oa z-srK~xNofKDj|U4Gq^CFj8$93JS?Hvp>IBU=kf%eVe@FD`db?GGv6kF5uv>9&t$Ub z#Z+OgX*lDa-g$A%JU@D>8*H%aw6zQ<{<-fS6b#Q0uEf$9Vs*2#s$t5`ncIjZ259ei z`(KoYYrDh=dWn;ZPpHAlr8+yz^dHG%lb(+PNCXq<@kv-5lq%{2QCM6~!F7(!qy>3$(y+~b{9CEJlDJ=8K$Xgj)oi!dP=0`-J-D=_{IRR?tG*^`wefG*bnv$A~Ap)BplC*^k=K zcVvAS!59-!%rTpCWxyt$ki#JkGV6d$iQW%qoz#%!O?hID6vwZ>rU0fh#DWRV)mpK$ z&sGYvwuGbgfBJ9{+@Alih43aS_RoEy3E_!~B*0Y-UfDk)P_*(#$2!K4(1&KxiEuv;Bxm7F!X<(w^FNb1->&)&(*Ti4~Ls@A0WK6iKU%XgeEgxv|0R z+#YzNc$x(6u(4PVc$!J@l>Q*+qpsPNz89Uhh8yW{jYmD|GP5)BZFcrKO!iVi#?0^0 z4p&s$Bax#l@Y9qWPLnb98=Elq>}>4AWSMWeC47ad$Ya`%xclqJMn^i{9P;^trB=3d z!e3m5Z~51|%jpa^Zys7C?<~oL#*9FGO({ zJ+AdWmeHCMZPQr4dmG{r1Vp7dp~XAKuVZfc9N%j0(PwkhuZEc}-&SrSmY;tn;v3I7As|Q|w~J#&a1{qcEEpw6&nQku!1r zX4p@a_AoLK`<>4OthEZPZ=L~6juT6OmQANcP`xUBCX)Wi;e^a1>oKE2*RK?!o`PbY zoSu$}Et(&`YCTd^my2=2Kmt`cKP%jV(`GV)&6D-Q34XgEfY0v()~`)O^x=sbpAp#; zZ}WbVpsMpkK47$+d_`+8c)cn9(OyKXp0W}AA@7y+)UDHt9HZtn+N5V_zpp+wjq#jY zx2NFdOR9YUh61!sUoyE0;BU;wpR-!Vtoq5n8H^7STBy=Eq9)WjLT*#+FW3dKl07&2 zojOfh3+Gg;6jI5R`}!&z!z?>bl@g>=!)N~jQ|}FDDds8I?m8@y#+RBog)PF&;X&b*YnO_Kx=eE~$2+COynpvEQ zZK%Zi9^Hk`<^T0qF>x{ntL1}-3tg?4ipf`4cgM>T&D~|T-uOIC<=UZF-Fb1NSo8G5 zu{fhu{K;Q`uZKw zj2k{Au{IRdm6k?sLGZ@2i*yspBt9g(Sub*+_~5cByd3dCyPvlxxayW{X)YANTc#$q zm}&f>C+F#h*pPDK_xyF$56k@CichVEnXVsvb94wUkkvCkk+IkVB?Hs?(y#o9ORONB zBtcwJe0q79CLbN7bXsX}lPh;akBjsoBaH}b)5V}qkU3@d>-}qRe;DL%HuU$hdJSy7 z)TK7y&;pO3Z4;r88iDMFixcY}MLAP7+hbCuxRzGS8*>j& zMmO*xGp>u__w;YypGv#PB4O8ZxE)a<~W?q>NC)PT=4#I%dFfrACgC6lEwT@{9m?U%aBT?tH;gO2g*hwAd?$XOo|?Qpf=%u> zjTM$@EoyC_$+oIcH+=8wPqD44hQmsQ32;l%-hWP;^6Q6`zNt%>lGVO9PFbrI5>wcZ zgpkvdgrTWY?LCLh>y-AO9KQLf7cKaz+MldQS>0fz@^1}9p8)6y$rLuSSo>F5)oVcj z`*EWHzx8bG%h+&@PXAcin6+tGofy=;JqoGO%TPL02J506bx2yHwA}$G#D~-Pr&+++ zuVjrvzz5Q4LDq{MefoLOMN`2%xp^n-3ryy9e7Ofgx4qY`PY#N!6=Uh&_kD&R?U81a zW)d`OdJMF(`x7X*yx?_f{-Q99VwctVgaH)~Ct~NSD)b(C|4OwNp`O9lkhw^vATCaO zTP&q@R(-xzzGS{qgh(Jq-GdMA;cph<#>cc#8ELOZ%uIQdwKn_Vm@3O~^)#s;X%;lC zWuFvECirbhPFj{P1)^C_t*&&sqYbepNy_>>e5*F1f*Ih)Ug69jc^9^7>K>Z7!4u(Xg zupiJd|0^p0Z>*X-Ba1R4=;)iREW3R2?}s0OMKO;qNWKCEwMs;7R#HFn40axa)8u%O z`ZoNajR?J##E~{x6IB$K6r+qTM0fm&v_Q53p6_@U`*SH6L%CPGFulSR88D<-n1cZBLtn!Frs&FO^^vDm@ z-l|bqL(T}3csdi(S+b@Kq#X&Hb(1at!tv}hkBcrC{|YY2J zQp>~hnkAJHnpVS^iUQGye-CTL<)jmTwYw0oSr^ zm!{FSA_u9=T>_(7A%rS~oz4(gr%bbiOxR@;gVk-bzRQi->+m@DweE|pT%KP!xCaGa zPLFZ}I-i#ynbvka0DPY6xh~^Jt~qBGd4(-jqyd8@%9%{lr}hHJ30!?UI}7QXPve4f zV-eY*KbmQ*e7f0KXQOCmj&l|RjPs-N%`cRV99c516kmKo-V-;_5AIc-ZaRC(O4tjZ znp&1k<$uM~<%}@E_wp-Rt02(S)LycbV59yilS$sS{KO;vU!cl89HU7L?vgAkMd?eD zJ#N;A8Mc)#{(?_>zh1CX%@IKJ?kPE>pfkP-rc0IC$DG$kQt{ueGULp&a%T;6mFpe6 z;haj$TEFDuzJZ(28>EcM7WHo#gb^J0$KJ&DS~dILmL|?q9;Tg{gN34;Id2jc)7~7J)$08w+8Fi-YZQA=wCmR)ar25U_6qn;M_P9S= z-sBfENnKIWuM<^ZM|{yV(Tg2E%LdbQ>!a34qhL*5Y@wlZx?-HewMsI}yCZJfPiWQc8|^058N!9bk);YiT)7r&L& zdzjUG4EtOp%Xx3p%`tcDK`UExXOS>E{EtT29C^cW;AiqUE0bxtV9&l>$~f=VlB}Z5 zX~Bpm03H=vc>V;KC^7t7Ey$5s)MUqMhxiCfIYzuXSY3>Sc7do%Os6k z2#q0;8y~q(6P{VPh4Z@eWQ@S%l&`S;=oXqdhb!u5X348B1r>dPqsXieg+l z6~Xa(?!3v?YVZ#pKfz=)Jr_RU#}sB-8*Dd6ejh7bReB?RLcisL6@;a#AP0M#^Xwqb zCv4{XK`nL`Bne&Ez=;|%(=5C&7qyO6b~6YSA*8+i-<7o4I;Zd^WvanDvZ5s^~mQ0q{OQabgdZ4f@pFs@ShXrQCTSxy( zCShH5c@!^lFhBQ_gjRFw)xFit$W<<58i!sgUtSrL{FSE}R4auN(f3@N6cI?Q^AG<2TzY) z5>8#(z_&Oug9%T@4R8k49dQOHv2awiM|$|mC`|mhyvbuAnCa&fp*3i{tj3!PX2bxK zf!kmBAUgoeZCVs5@G0v_)XxqUn+&J^cSVEma)1MrJQvr5W&DrdOe!c28OO{+g$0Ia z*`~7BUXP3H=JaHrX9Rar<3vVw%(~5%ZaJB97bw>*^*9~(uFR^j6Vl4Z06Ex3n0JvT zJV>?GUA;aVK3Z2S{Is#Dv?}JzwA#(S12{hnEx@x{TUnzPr(n{-eR+G_RzWMBLrHVo z&uTbB#DjbZXDq4O7% z&I-hSf^KwEH#w=R-8YAMrh-eu}zrxG3YNSo2v@gezg1VPOXYViNsy%Tm zX8;y|)=*|zfB2PcHvE9e{|lp5cVn&ytxFW8s4=^&1PI$2mG}P1ofkpbpx4uJ+`RNH zY;=cv$VCUI)R!8Wz8IQzSYevT4E6-ngRsJ*I9RkAY|I*zW3BT|SKzhbQJWp*5d81d zm%j~Ey`E^xCb#j&_paQ0r16#WNBfom?)jdbuv%5!dQ>&2#(se3p3okMT z&PL*$x(G>-*>Y)5u9-JqlW;FpH*%Ngo~uh98i|}0<^VBnEP~3H6?(|N1`j{PHKH^2 zGTU;>K+V|5XCn}n{6%sY50vqg$VY~CSi=I#v z!hy^d(X7_OC29qEJvHg2&uqc^;V*&ZQm<0`t6iz~7qOGAWt4>>sT?guKiM4`Rp5`$ z_b_{z7iqct&G%s!3H5gQ4TF0ZKvaW%7u>&NKUokJCW-oU=xxFm&vM?eahH6c?ORHS zRveFL=AA&;Ys&?=ALWb4x4B*#jJ{&;si4R0LTI?>_^ir*WKS|Cpcw3YeYB$fG1R*6 zUHFIV$`AVv;(TftGXnJzp`31^@7h|`FbETa$t9lkSMvZsbrFu9xx!2D4@ASX^S$d0 zLVjm1;(AcN%G^~~YY=3_R0q>ws*h^k9O8i-(aBuG%-6sy9CkNFm%!XhRqK|f+Fi#w z>m~$Y@8<-1=Vd!`1paI#H*lS%P3O{x(ZS!-Ukr+f#mrZT`zL5QF=LI)yozF z=%xuukPtc>v@ zIMCZ?5AvPqYi!(FF8kqIFbJ@Kyq~Rs&Y z5QWFG^3;3rx@S@_um}25=7cnd+LmLt8%Yp*d6k2D(Z!r<*V{YKJRr^Kt#BJvtmY* z*P`8a9=vK~a%xMqveG5&KTFKZNYZ_`uBT+TI75<=gm6xXk+Yz#4L8^cl8^KnDNP)5 zA&kb3oD|-hJ0*j8^1CA9F(9ta&i z7(~Nr&C6NW>&#?Woy5bAyXljW@erZZh$VogBO{2RXT93xYaZh#5F1WQYa!NjW7ORU z=jkI<{S)(Rfr<05BLZ<&Y)f{%)om&ReFr>~cdv05Gla0sHj}D^mtk8mAfjiyt~>#3 za!L%r$UI_H8R(~5k4vVAua>H|6(enZuAAy9^FY_C_Af521ajc6jCgJRNZS8a9Ra~_Ki z4F~WwRQAAE3seRX7xj+n!sX(}_hCOo=7`4uVh2&*#B!l)pSQS%f=yIDtPLA63O!qY>0B{R zn1+-?v722eiF9;y((#wFrMC{aUGvx*iB+1z4$GjD(7Dk|$kxwl4NdP(fTy;p%< zPhMoq1RniF7@nj7gHc3m-pn9#%F$}Sh|ElpFqb00?icYMg0o280f#APYCq`OHt)^#G<(3+;+uf|aa zNo;Wa&ceimr}0F#s9KS`bE?o{hkaEOR@E5dc~eC>_uNW4wJkGXl8MFqf*j{K={v&L zT2993vJBcbDvkenq~T+>Lm^J&jUadxwdIWfKANc)ejxL9Must|ZM1+(+Rxx)*_@0T zzK1$0h0!IuZ&&Lzp;F|P7W~D=UhXz6EL~RHM@3dH-@HChGS>}pBfyOJAW}im4PNg! z#0aqOWuVUXU}?(ancHpzeHWbsq{^+OFOy(#+7CE8y~vnoq$ZecMu3m)zp(Q*K`AZ! z>V$dniRBlA(S63w*r(n$mGQB_;D_7Qa%o`c@`XseZP;;BNz9uP1JHq2{9{*R05l4! zEO<-jt1?JXxMbPec~l=ST&v$cw&}fL18NiZNncA(i(TaLq{#fKQm4oZ%6dIe5qB(P z%WZ~?vC;TG?Q-78=PEG*tz*vfA_W36Kx{-m6OKAg69;NljGY*!?q?V(yRGSfX=iqN zb=Wea9;~_W_UxP)6^W63+?Vw4eOhL?gXD>y4|Tr1GRWcGuQd}C_7EnIaxCR?>OQXY zG|y3cGZE%SfNRw2-OjC(7N)J(^ZeKDr7icd&cg_ zhJ6SF_l>U6{^%f;Pi^5q6!qYG&s)3KZ}V4LbHMbgvKH_LN>2Z=DWM(UU;JKs(=m68 z5#Fqb$hjiN4xtbIP83GM40ev_!mq}#rW89r(yP;SJxD-S2xm!snPlZ=#)lBh`~O8` z_k$9B+9cvgVX!dENd7?hjYm)rdr9w>j4xTZRJPFaO;$-!LwuY@nT(UYQqnewe~GG% zS`S0>9#J>I)ilZYL-clp-zmLWqWbF*b+?;ndGBxGMyUh{H&0HIxqT>M=6<>u8v;6? zBRU_(^UFuK?U*hyK#G)X&DS48vs7e4Gx zxGbH}4}@&Y!?-|&otq%cx#&fR5+3n|OAV>a;)LBC{5<(6(pRj=qmSYKv}bfBX<8 z@JLW`e&BYV>md5Yn!v-s1K$D58Q-Y^BDO`talaeD8CdXyFkIo^so`Z@&@dNkos~tO!v?-N4zWFz6fAG*C_$mC9L!=xc+yy z15gd(V^dS##peFQkd)kIl$5G+Tl9GK{EzygZ`wJz)2-kXLnl;TCDFx zkbnONI~=t!2&k+A{88c>byQ~!H+?sC68~|Mf4xXbqO^|{93A~{m-|~Midk+XSy|J< z2O{~11y z{?AqJ>I9AC|IbyM%dN&a--ak67qZ!WC9tDx;N#cZcYh`Yw z#~&T|Q6NW#Wa_f%73W4?REG4CdC*I3+XvGdG-|d z?qa9^4A$jHmf>pzvN#L`cR9HGf#B}$65N8jOK=G89NgXAgG2D(?(XhRaQX7??!9;Sz4!MQ zeDgdr)6-p5E!AD!B@?drMG^@f4;~B*3`tr_Oc@Le3h*br1PlG=nSN*Q2L^_SYbh$K zC@m^VqUdOEW@%#z1|}7rqyeL;GK`h2tqcoCj|xtc$0_WYv;hTvY(P!{E&@l2s(N;m zA7G7*pze$**3$@9R~iPy!UF%kPLiKr83Bb)Yab8x^WyU+?V~`k?G$JYq4A2iA6^mD6ix3SBJ~#5-H^q%Jk3G>kIbQRF z;G-sgZ2O=NT!@V1%fVh@66HvrtFR8J|C7SFolUEF6Rog{(t4qP4U` z9iq0ZZ9cg->HQ}^In&ypGBBXj4(si58B=rsn31(W=wPTjXCKiS8y1Wab00=sT^*@< zp@>cTt8V68SHB!l#IR9Ow4oM*GU>~;BUD;t>xVh_d$WltNaAoRG%B465tO)xc&Z*3 zM@ZHa%R4iqfQ%5T3AGc!7d@vJa9JE4U?g$&vfSGF!^{sH44#Xw3pLD;UMU1fKJXoK zwJu0m-y$aD`X-=2(xHxt*O5XXeR2{JfiS$DEDE0w<-?8+M5(Y#3&UJ zop3FtedAGUi27M*EiMBMlV#`S2gx|6&71@fl<2?_^k@rWB2hLAEHmGaJ_y#T)tYIY zBfTGyjX;inGP+({dz?~2CaBKoiu^RNePb-qV(8%VBo_UM1;;`zaaNnPHr6erl~qgL z`lM9Qsq5k3KYZfHFJmqr9eX{v0e3@|Z@T6{5CoyW1(PZSsm(G3eeAcmp}&aYJ1hYK zh5#!}y9F_dHeM>3=^TWTqm&Ew3WtWh7ya}kCD}?se9{$ZX{sO_OGY@J;%VYXjcUG~ z-U4$G68ftI+oq|7^@8POP?aDn=}6&@92)IYn3*x(QmhM=jY#(k=TFonCqq|shSzC= z&VF(}QfG7`G&|J3AYKwIzGMm9+VuXN;>K&8^EZP}6qQ|*=3+Gl)mu!z$UM%*AEUM2aQYwG z@V*%k-xN?bLGXq&8kyJ1YLctNq%PrB5?S|tk-l1zai`OTE2tNjX*KQUYFENPr9Blm zo%~46V*e!s^xhatdyrYv3#9d?j;A>+x!uhb*pYj3Nh%zid0Zy$&IL zvm=ij-E`)b2WtU{nx1eHj)M6mD1ha5y%e*$BQ-C61^eRiL;ROl8gdFB?3KPK+65v~ z?k7Y)nz3OlE(p#osMj77ROEbNh*Y?WZ0I_Y(`5qzO$d+>oF)Q?zpVlG5&~_vp#xyf zU%~-P2TVfr*RrV&ky_x8IcrLM8pD?a9YS2jl2({Ry-38rH>d+oGcEK0!~`| zF$^{>hE7~2_V*Bn35s&~D=1TJf-EKW%O3Jf)E#L}oB}XJSxHS5pIw4Ff1;EVFF>Mz zbxM^DhF&NouVR|sg4+|eN_;Y3V+y|%$J-y-2rOX`CzZ%7oZGlllPfu_$Uww~R6R1u zXkU|k0c`U(yIkaNW8!aQUk1}!D0Om#-4Q1SoUVc&X}$3E{1cczmeQy9B~`8CV!>3+?A{osN+In$aE?j#}}3C`S?ndQ5pJMX*O zJ3Y1h@^GskRzI!6PYmZ>=fT-A*}pexHga2;T9wT8Ax0XG!J3({EHFj0*s%yi%@Q5* zNAue4x14;_-QB2&(RffkEXS@`EZtQ6DD0WLS{$0vEKw@C7Q$F$Tg)uy)^;j6@ECu; zF5g`rs2{|R5#)KV#ws_h#w=r3u&z!Q8neMc9SZGphxQ)trU)`NReKrTPUQ-F`+}HnB!O zrgN7Kx)m24K-*ruw7qQ-juI0RmJ%6JU!ykgGjIlR89A$2ea!Oh&~20rluaEs6U|O6 z(~ZB{d9FuV9M~iqHuYBa60o~5DX=oKc3Js<<@$O>=c?)ag+$IFtvg3iU^|&|erAnr6=aBMrDmaK{@XEsyRR?&l&a~=tJS$dmSxA}b9NMH+$2LJ13F`|>7dDGm1XtR zm8}h|P2BajYt0$`S?fLTxjpX`VKEn-n}zG+&e0ywxzhE_iN#sQapl5!RBN95mq*gA zICelp%qUrkL`qC`bhSsdr0$1fz4NF8@6o+Y{4m8up?8Ak+V6F(i|=dwL~=0{G3!J| z3j7Mm=BpEX}#y}vxRKe+tX-CErXeS&(%d}(~CcpQAR zzxBn*C62{Y#AHG}LgixoK@)}wKyP3;Qvcz~#M{E+ZcsP72bG{LQc9{sx++2xoE{1< zieH?oLZz_GwC|IugdpT6{z+!o~=bv(K;#sf9-m)o2s z%deNtp~vF0_7hBL%;p0{Y3Z!2=Go~*ToLT2n&_l7495mD=IUG(ne3?qneF@@e&?eb zV?I6CJ2rcF-_~1CTNPB+R2EA3WL*^2V^>lR($v!zCU5s`cROTIWHyuD1<3h!g$5kV zbj;+jxIfdJQs@Wg^wn08;+KkDfN|5{cql_#a?Y~8wgqx<;^ zvmNvN^SQd6?o(r`idSpj&%%biTiW~bQNh*M_Wi@{d76sVMXu`Q*5sDtuKNR?Nf*r1 zq($t?%Vj20(Q}D|ft@IO&hZuJvbj#@MY9pJX|wC(Df-{qNX^yj&mP(3 z{IL)A;nzY|mtQnfR(F%T(8I1~kyKiKIdvyW82X01sG+TXS!OtwNB}M=CYk+_es?-v zKq{FL!%bWvVCU@h0{0xg^R>{`?p#RsYgUUuUgz!JUcxw%9TK%q{qwm{fu8X)O{0qS z7nLuJy!>9pTVni>8+1<@jBaId;fadf%!9Gh^_ePK6=k$@M;SlRh#wQRtric zA3T@%8Ho-B-q+gB;LfFwRn|+ACT()q@1gEo_;T*sAA+~~6@903MttpjEuU{5_4Rxk zk@`^XI?+4vd^%2|1~NX`pKo%YNFWM$rTn%#^1g3GF%yG`R$uN+fT4kPd>Kd~6%1JUXF>>feHS!k)UZVN%F2;Qpg4z&S{1Ie~#; zQT}yng0G2>AdllT|< zpD%tg3uk8s9!5qtH#Y`1Rt9@Vb4F%vZf-^<7Dg5p`acl#P9Ap7hVJxsPUQb2@?Uhs zOr4A!EghUK?d?eZqHAbm@8Zl)M)p@l|9$j|pX{;-36(Mo_K8fepZ z@T+QyW@eA%=}sr`teqp$8IM8s7NDOrZmNkZ&se5rpkkYya{30VZ7R6qFelx~TVB@N z9Bx)8vx6}vKfA8_45x$4kJH1~$!(s^r;gX0p~3GTf>#5OsbCle5ORKSOyE@A|La3h zc-n59_;^%%0K9rQgsL9TdC^A{@*qIs|{EH52XLICI8jN z+;lJmP`T1K;s2wx{{_?e%_71eBK@5Cx>8=gLEKMS`4cE1GW*NBa zK=`QS0>u|>Hi@NFErfFLKwlf$D!u(S=Tcv{>UB6ut@i%2?9R2kRG)IjHw||dYHHum z(fob$_6(AKr`l2@mPr#TcCHFONQfwt`K)xH4B8NKT?R`SUXd?e#}Qw`*opxZb&HTi%mj%6bv zg*Rv}H^U)~UMOc-_XtLgac5?HMK8tl_{{#Z+f#UuuOvVT!`t`9BTN&)*N|C!G~Ujs z_uQ^dag&{;iR&Mib>P9c!$UQ98q_B%)5xQu9(EArD0G9}Da~oL;?ddx59a*Q6*&xp z35;nmW!6>4MO1Vv!Dl7Bx%b^;chGP10n$s4m_J=EK^HOa=rPV7urU^=N=%N3 z>QBHQM;sTzX3avG9xvjBbk#rbElr#OE31Ux9%rry;dmX(^s5n7tuxZ@9p7u^A_M0yby=`wQB83Cfmtl{H2(K}`QfSNQ>B}{$e z(i+n_4Wt|Bs2*s_TF}4~cNFWK1H`eyxHBVP`H>QBd^w}Yd%dnhwOHsLR8Cp>zFk$h zRkv}T0V2^oejy@$m`@CZhk|Kt>Pg=h{iq%3Y4wdb>H6z~27RN|%Cx1eU2k(D8JyxT zzR)4Q1pUzHp|%+m0ghAXty4k|sqYg~Aqg~WJ9ybWrLH@|%o zrYb4CDk>(5+Q~_DGh#>JzvnHNg&P18J45rbBJV1t#4eOdAiVy*zWi7H{Pdy3jYSEo zH<&~)P{W=v@GBuQHV<)`;Z0Aewl=h(ampBN!zk#RqH{|>(}|kNp-!Alk?y}DYCKSBBURS({V6ByJ-(jVV$o)<=aY;h(KHl zJA}SCYrjderHp)?K3t`7rtr=TepA~=8vy*-QnHX=fnNhcZI~!{v8Sd z;TF{m#X*+9?G_gmEORYAs`7k8OXZ8V6L#IRYp#oe(S`m`BVR2l2EatOn26Q0zpydZ z)yZIoznj@Bgf(?kw=(+6cz_Y-*_cdUd!QY3@qy}0Md{dg=yX|Pasks$Sy`%Yf)}I2 zQ8aoJD&KIX?*b*z-g1@Pa73XycZ3O;n+>!p5-h7Ybi3o}D2$Cg$porlJl{{ct`yy2 zmXh22v-vTOmv5_r-B5l?j=i01tOSoy^GxO9{ji_+HI~VH?NrLFy6N%ZQN=6-YwQ!y z8qkAnLDDDd_^_$)`wW+cf0G@U{I%`z81K%vOsZ9vQxe8}LSlsRQo^`Ene^*W)L~p> zF04qq8tuOGnA9&fd-LtpvP>@2IFPNZ#J9eONid{p??%D`M_DiXUF7mKCT}=? z7^2X;6GG2>hHtEn&%F0=Z-fZWx1#&NnG9JQk?Ch&-&gr;ac zA($0CAvFcTM7r4fSSaNRSWwxL@13c$1d`+KKq_5;pUD}2dKBy~)EhOo0Wd}U1%VDQj{_4V9|*&=q|y9(-h>@PUA34)r#eeOr+Q91I6g3}Hn|-_ zOdo=Mu@c(gFdSeN8wjPwL`HsQYkXRM%4}*}dn_5EVt*Rjl!qR7zHfT+O+Bg6hS-K- zT)dJ47H{y>+NQfzr9{zZ%YLb;Y>d`%g-+xc1|`BFCpIkt<7>1tdJl@x}7%dnuIA4g&8J4S>a^}}u$ zQ_zxu`&vcC`$9yDtE1$aT0q`5o+kbK5s`p2gdeYPZ7ifX4S~PUi$I~IsxYT==t(Y& zjq&XY)H>N(LTXJ!Mu>kKM**XyGbez4kPUV|q+8J~cw+Tu!^QOT;+$`=WpDj@1kGL( z@oE_%?t`wRY6#KuoI~BsX#a=TvwcHzq@XKLtFyw1q3zf8=pNdZpNzyI`$ea504t&2 z{Sl?yA8vDyePnOP3>LZOik17g6!xNgF_{bBb*SzciDM=T$#KhNm<{AQHLMM|TMMaN z$Yd?xSxMpgjbu~nk*#xLDBP}e9AP%8kw*nEYMr_^Xlaotm6WOsD721{Nf2}cx2XbN zq6Z@Vbqz|NaG*{FVIYPb7q1Alj(p6}s{Ann<7-uik@WDQ9!W>Eh2wlkK#@Lv)ekOn zqh|Xa&4j@QEzx-B(}Q#)gOMe@Wh0mXQ~B)1kW?XF5CgUlps`;`>%`WsgFE2sK$t`n#A6*9lZ zTs3(K^3(r1P70v4&_jwRum>zMx+XutTZdp_1733P61<#|61!Aa`;tReMq3W1KQo{{ zxWW4u-=l_5n6JX=gEVF*7npAZUTtYGEbHVFbm$4IVD>vaTNxn<%hi34c_iqyjO(6x z>dCPanzF^+6?u8|g6lPcbB_o(CyTmw_7!!onql|G4fBAPv$T;vQRDYa-&zITFL>zi z(cpS5>xA&_YndIHl{?@T|`0zF$&Wl&jS}Mseo4`Y97T8N@ax`yD9ad92}Y zNUnpQt_&8X>Z&`zbT1KGek|6x2PI;;8DGpBZs2$l+G zBxHk@JEHm3phxh*VdZ06-pR! zYYm*^!QGh93O@j76IMvaE6AwJF&Bgp2Y}vw)9NS-9tBF_Zv#Z#PPB`LJb#UkpUpjJ zffjknJc1QV1pYUd>4CryLziWB3Y@MWp9>oRLIoB!qib!i8M)vKcLTltmtpatlaYC< zlja|}K%Mt9y*>KsB!3FjfdrwWX`_IhST$vWx=X#u5 zL`6Zu={m{AJR zq6f2iX5UJBGD#?N59nw=ytC+NKcOzOrlS|@NIZR1_xAN$U4UB}gi}Zzm&JVE6W+56_b`w+Du@Y*uxvz4@8=k{hf3+yJK=ZqlvB*j!+g&98jIM7~OLq5Kbs+I z%kDA-h3Rs~`o{05*LzKNl~1S&D8A#jo7$Z6*EIjBeRM;%Q%?m17!g-)CPh3tNFTH8 zjBPZ>QEElRo-Q+k{Bgt>S>wfLm&3&9^izWif%U;6zf16$uP9l*J2r-6_a*}X;yd6c zDi=4@l}^!>>5;X;H+=|qMufETLY~J>@_ny66?u@Df$534BE0b|@~7xSzr>188*E|6 zo2coI&Y%*DU9hFeoO+f99b|8`i~i`d7HkcGF*!|ds0O6&xlm_V{aH)MR-vBeV7f&1!y0$Z3i7I2WD+)B^ zFS6O^7+H1LDj_>xCdWiwX|*D=OCZH>-3qe!+OB`&!xF|y=fQXab5ev`eTtw%X|vW9 zOvNkPcDT*?r}hY64olMyAk7;C^7)ivk3C4R>Gq`1GyW z5xr4%!MSbnC*xii}^3p3*&(1hrGZMpLVj?&35gbxC*MPmbo@*ZzKi%AFHR2P?f>1aBG zO^6h?4$##JrCkT@L8Kaij7!#{p9|uoXRkx!5(#?_rY-f;;&ULKy#V~g$UXD7)QTR< zurwJzZi{;q60e;`j2PGGtD<6Y#M6Y@;&a_ijuj)emE)g=oDeolGD!5QZ&FUww=EZNxxx3Se#v3e!@@smsng%ez$Z( z-Y!ffa(ad{yNno-p5#ST*=yP;i5D25)u}JZIMo^sweKOT>NeD$rqoqpTRT@q zxGv!)n(K2*qws_0ebYe~Gn+i3NT9lsMv-3Cca>F&WC4>|O7KoE}OfiRqKTqXU;(258G5Gq~6^J)HmwC_a2=aZN6 zmhLMH3?9#jMLI5qk>d-9s+qB9d>KlyEb-a+!f3e6zF%3nG1hRijvg7iqax=6bu!9J z{(xigXFxs;Rq309t`DyyE+}E$6zHm?qUpCny$dVhd2st!MC0#J5Rr}?YOl{v$vT{l;(RG{vAx+Ux3xV5**eI;NYC7Q zpD_W11z})S_cjone-jPPhLtBd`OHb)uPX&LNIKL>J*FiOCzVeF4rj`vca?S=*|Inf z3sMdqvOquhOmk6EsjJae=5%1p*1t*KvC%#p^xb$JilE{(I{tPj=|y`_?F+*)v+j_5 z2l8Nym;C1bp}2xP+Pye_t_lAOP)lJHmT%;AlMn0gFzeT?(CfMd6+-`9rpplZsFG!y z<~4F1OG*PMqCPF`#aCNi(HSS%z1Xjg7bWj(Vka9l`IStiy)2zQx+F#GC*kv6&EE}d zk6&`vB8R?E6sx*{CNKa$G5=xg*U#*=_D(7$Xg@JorwEP zt)06TUn>L;b*dACtf6oKzj{l@g&$%CBBy#2bkVwO!hHCqo*Cz-gSI$l?1Bz6%u-`+ zKnOoObixkAd(0l#oT-x?CRrqBYW*NY;2 zrd-S_IgQBmO=iK%5eTv;k`sF9PL?Li<0F%y6Jgkj!4VfpGN8RLU^m;QK?lv6h}5FK zpGV8q!W6j&$SUAAdZqtkAj-~z^?kh zhi$n;b4Dp4Rz4DV0bSICd3J_qU-7Zk*OmnN<(D&G((fxGTcbA`x;Qy zgt0jqZh~5}ATO~ZvuJ!<1{2Zdt{sTx?~j-HbO%Xvvij*aj2Hy*AJ)&r?KWPO`MM?1 z1&{&iCVy5GA7tXRRn!eG9{<2p$mi4oa?E@L_{4?fDL7Lgl*QCO*buJ7ZaiGogyw3L z2(2<(RmuyI-&bjd$Ebbi^KZT=$C!!woZ?sC4$jw|QO7mpxRHqy5XwixfQ0`n$aO7##(k~15 z_SYyns%GVWt_aDbHysLtulq_N3-K^zoe}Fng4JJ75vRYuASNtZ3AZSyKGk91NRGKM zXQactq;pRVnOM^g6zsc`)o%%0Yv$cKIaYpsIOYjvT+=giJJ$g;5Z#;L z(pP$C<+#C5e!6xm2!E{#bXr0q)2-+GAb7Sq(O_Okj>P5Mt2p9!21w&6!EPKegCN9wB$NFet9fdsY_bnP6fW`UcL&nvIJG0v&g?(?xT|m+OR!HJ)`NFygg?T4&r^|_ zBKCrIN*q2XM8EUWb&)=AWPIr!Rkvbel3w;)A3cVxwt%Sg8Xfs55S^2>9(E=qgtT3S zcaBpLTDNxoQ$cd2Ff?uxrg@j2ss1N)z1l_;tI%{=HP>OIzSd$d5O)Q7MEe=gdz#@W z=auNv+eHx0j1U;IW6_RXkN8}|yEPZB<4F3UQ9*6mN?6B-aLVpsM6hqutEU52NBf#t z2`^d(QtJbS346*>_e&tgV_I+d8oFLstjVT@>6aaanoe#Cd9DG(6cKw~{lCiCu)!km zeU+5?wM6Dsp^yhD;mr6)tarc%7)>OLQryuXi$CR}Fg*O4*Rr}AgNeAhSLg*^OBYJx zWN8b6Unb-(Ig~*!u7nn_wz@B7cllWtClWM~;zZ%`;b7XyNbCbaD>5D%7!PT`zYdj4 zh36JhC?1$6dEZbo!x+ocl$o6*f9@|I-4@T#7=l;wNC%z9I=i^&L=7m3+GYxnK1DvLU z@2<6O^adF;%)HXsJizH}eo8HYb#BR6zZPR6r2@>0*{^# z=EW(*B`NC6zy8=qu)%7QQsTDyVee9HllOz}VS$~vMfu&}^ z{+KmZBKbxW%tg(<83H~V05r-g`_7BR?)OpetaKHz>(`&%2X^w4MvjZoxsmJdQgaj+ zG#DuGFxMMRF;}7)B#O>oLaWe_q8@fR3!sH6%7iy^nU}Wa>n9g7T{b9`2cw%6%6IQ< znkYVMN81_R?S`^*nieuT7aLwGkKew}2H;rBB7n+F=F=6_tFZslnAceLNfS&RpC+(# zDZxGU-?`+LFFM$39eceJ|0X5;i_!ngfH;Zr&ualepNWlT+Q~A+11hk2>qIm=$q-f; z^?HGBMk%G65CQoFO|!BU`zFt1j&I+8l1JC1M=AxIY3N`7qQ^E6b4+0cC@_eFs7uTu ziZ!ErNfExxAXj)cUf_bXiMj8@p1t2Y7HsE;*}EEh&Z;R1|@cp2f@n z3|{Un*qD^LE8%CBiLNlNw#r@5t%#AEdiVg5!`FFo@9zw~-Y0XW2DEg4U{RN7v%MAo zZsGZzn6#I0ho7CeM1Z97Sd@imJDO)ha$H;&bLGC1}WjRhb>M3^OWVmERPg}-f0=!_h(qkTDWCvo%vr1lrI3RoK$qEDb)f|;_?+uN8-I`1yBsDx7k`FyB9BCVqAtg`Yqvls z@l)13Qz-F>q;IinNm@F>t0fJtC{rs*$&J31mbSLHM1OYx%ac##2juT4W;`2FpKM|U ztr&ZcZXja(+^nJvWWuR(>;}QU}BZ;tqH(aWUh3#X_!|<2{eo_(1nvlTxBt7@+Cjz_Y32VKzRQwr195i13qU#I7ESnHevT8ztN?yB75y8Z* zmR6*!*bxI^|KJrwar?Gd#779CHk zl6R6W3}Wzg@W(NaTZxvQZ;$5gW)}mxp}V`3}Dib8oO( z?9HN~7$Hs;ZVt5?HIy#KOl0Zn==<`$myM0_qgL-hmY9ro-yX=DsgQ?*XE9Exy_nf3 zeLYrS?xG}72hZtdEnhZjMVY9a{&l_E)5dKms&Jn(f#zq z`m2nU82QmB=V?j{qav)fsW2BPW;f>}XY}I5TdOOOrTVNyk>dkkwkKd!nh1GF`wtVX zkTr&dx9~LWI~M{<`PQ05Kt4w}o&OEAqK()~_f55)&p%x%fpoPIFSypj@HW3^Q{wI& z(J-9}B`0bzsUrvnA!xfK?`0*tBo&6SD2&U9uZ1?lQ<;AtOq{QW&F8!$kosSo;xZ76 zU-#IrM+Q~S07Fb`y7B715Ez5xY4n1!D$j#TshxPSkv{7p(3`GS*%~$JPIo$Nr$pE; zIQgt8r4McyhI4&XqsB{teI^H&vu3nwGbuK*SqWpBQ=et8TdTj}23;>z2aD@ypte_$ z0lY9_bu@wSaZ>#{HsXl1##}NBS#3;L8D52SrKF3OReR6$LA9!h3Ha}B6?%PbF>k{H zS_$p~(DQ>)`JIG4q);8nCep zkb>3C8T`kF8Auqpd!Gy7Nwiw*$PhG;;J$lMkX7U~&sg+% zs?;gYDa%bRy$I*K1xuICU?!8YQlU1c;GxP?MpvZ=)CO;ok}{;HSND(-$KL>>q2E#u9D1XMFQEjI+|mQw{GF49w`q>l=ZzL|0e9g?co|abAhIA zI?sF;ZR-A(dw9n#elFL)eDF1app?R!*XdNC6RGR(o6l<>6G=z0?cMclHE;bcq~%N4 zEZ(;%xusJLqoQO3X=}e%O%0Q%soGmV6?8KGs6%J`#ep_D6C0LR9BZj{{57?5i0Eg~ z+IE8C8YIFOl}nMaM6JuR%xsN*v5-Az8JoKl#tVsOC%7X5cdP^&qP*c1+GwMtbaY z5C;$UeDFb|06~`^jcXN^lGCZ0Hxw?9SGJL^$FW2uy*^qs^aY#UqQ@GiMMHYZ=r|*i z#DrXqY4m7ey@6G4L+@op;ctknw%-tEX_ljXNVJlsU4W0e(CTU-hTF;PQU#SuA-6?1 zOe~v4;^`~QVTTcO52b1vOx7p2kG~nadI8iGqhg8iN6SfcrkgJ?l;1#kee$O^%;NL+ zhql~ZYvvoSC&nIsj(8Y={x^jOzqR7TR@v?`lk+^CWgYj3iH>~h37o|0B;|#%|vMTy+ygmX(&c*!u zH*ZzcRk2NjwQH(w#sn;CAB;3vM>W_`Hya>T}cD1}>GgO7k0c zRzst0^L>B4kf{#e<|Tr;@HC&8?AafF>Yvdouwh7u>{6lQu`?-$Nh3i8@oI?dkeNo< zpAS)AP8gZL|FQp)Y|&Z7)YDV9J8np1Pz(# zYIt3yu}snyO28Xk@GL~xm~?o8;Aob)s2GoCJLy~tD?9TJjQKddIf0hc`S;K(3mOPI;Iq_>bg zotdOgNs(U6N-6y4qWKNPf#A~osi0j=Owi+7Y^syfpHO&g!xsUuc-Vc!CL^7u6s-tt z-CQRK?3`R+n5{r#fg+9f1^&?4CLx+~2;r!iO-tnDL$c8_h>W0KQ$xnC1ZL=5b@qx9 z4zm6n62ja}Y01N#{$~ODF+lc9Qfe;KV43{|SuK?mR?T#sz&D8C4+Il|&A_0{>BK1B zOu7LeK4-Yq%z?HMDz=P$foL`eA2vI?P-(3^R%Ji_Nf$k1s}_; zhzk-b8WH4+nBuR1OIgIc#{3bHOgcY7Mmz=e+F@RNkEG^_0JS$2`xY8X!?o@gq@@F%mc zNaH?%1K}X;dT`#A>6N$QGu--zzeIaVR#@fwi0z)@uPQ{D7N|O-FVvsSu61PQRR$bY z(DUnuyg_s$NfozB|7oD4u`N3 zzoZ8*!vj68>Gl@%NnJZOb#bR!NF}vYE;Gm0*!AS~do{ggaCWM&yBu$2B{-mf#U_sXRA3Ov` zW5{Gb)D%^zqr*+af7xp3ZYt9-b7qXzJI@hdsO=`Uayu^B*bMm~e~k#EO|s?kh5g`X z(RLBRDvO>uXwM!mQf58eO&S9~5I|xFX7WQnNlGeJ4yHA5m{b>ks~={6=U#g>;?B-& zk}pFDHKq{q5n<>nJm&t%6A=Kn>-^Ze2M|lG?f{=peB;i?2p4V8<@d!oy-hJnDtM%( zZF^!991NIJ{0>h2g`iiG*h}b}2H`?i>83r;2!h0{&M=;;BYR1o;Doh4tz4}I4TrUY zM+?}r1cpG;i8WX zLuL}s5Oi}L%<#}2>e|Ltnp)Y_`&C2{~WJ0>_BAQPjKF#e+1L z2nzua8$5-edCzX()0l#pK&Q;$Ey=v>)l3xMXtolSRgc#{Dal#!J#R*~jT>AvHovHp zjpXb z9>enpco9Xmh3&_zq zZ*cY2o_`{4a2{_A={7t6#DmTJA{lL6uef2VpX&eJaH{eY5tawcrpFipxrjL0J2%0$ z&g-`aTFxeG(xbo}0;W-LbPXsTc5C;1DjQ#Ol{yo5I_+-m&c5_Db$H$-5|K2Ta3|Z; z6C_A*y6@SHWpY94HqNX`U6wte+jq(s(e|gZg-5DLnXu*jnoq|7u73@KTKz0%s`e&2 z*&^j-4I(_Qe%(5@--?p%kiTZF`A4YFXZimA`ktoyqTb|}%`Kbp(`poj!!aWlsd|AA zzNnsgkLxvOmkrOgONObPPJb03v`S81xTbz$ggZQvPz6lCRwB)7t_xcoVVwx0c7(e$ zJx8YaMym9Z0X5GE=!W6%YTCF&cTIp%Z&Cf@0gR^#3T*f95kj1{T+1{*-3cBt+*9mm zp)2~bn(x;Zs*)g-g_VGO+lG}RF~qzr1s50Swa0B*Pm`nAWzIFmWqI3H? z2LlPt(bb<-u_yfGree`V#y;2Ty2Hwf=s$}ooQ1r-`Rz8^;d;lBaqim=r?Ym78%u-9 zTDgeGu_b8+)O&KbL2!%>y+8!p>crq=qqg}4;n~hlB7wlpjQFKfFp*|cVwM6EGc)AF zjJw~j>S9rMQC)NPwBbO{h%m?Kx+AK#p?v%dX_3o03!Kx59s8Fq386gLl^?Jm60_P}!3ML-Mg<8mEpIn^XxB~Ect+A?Gb4e}%! z$2K5qa}x0T);OyKmgR*`BSdkhS=x`^`>muwXiAG_?4~1Yug{cwW8-2g-9&8qmgL(G z$Cu1b3G#dy<@!;T=0$Y9h2eAA;&7Do!|R12nuzCt!A>vDkS{c zjxrbSqkSF0 zv?CTOVzz1U6TCP%Xg+DpN)%wXy2!4k{c*`qE}FTdbvnRMM&vbqF*+zQuTC8a;(O)t z+zR&bBv zifnC>%Wlg6|B+70V0#lJRq3AP^CCi;`V$hmAF!D4jjx_kk`Q`koWOfa%qjxUwJPGM zw8X?;f*Jj43dYgi*y0fVbJ^$e(!}j{`WSxJC7Ti}?dUZXGMGB!8Zt|Yu^aft`dht3|2uRz_b9F$+j6;tMi)ems{-WxaP)*HzxE#GCk2_^P!jdb?P;&YZ z-#Cqw=29Ty{UX}bD44b*@D(Fca{$w#-LE|js%5Ua%A0+;`BcNsVCc1fkB6pJ=ljbV zs$Jbq8b&Zg9S^~?!>5~_kODp@?u{H7X>*H;_k4hFX0kngfem69ez2|Y5F1=T=@Y6_ zuYN*~OD%EWOu^{X{Kc7R2WGDeRrp6q)}e0T55r@I)#19{j%QLG*%-8V?zDrIwa zJC8^`+=d9wzMU;)vlr(ZBQ(7Ko|S_OB$zCHV)&)bl|*^UP1yf*dtP=jw?gPk67S>w z+{FVw=x`%nIE;Zl?fpG6n|g+PSW_eXRa!;$D}jXJ6GPoS5;ekQ`5#wDDy17AdG>!; zC%`aT5?~*N6)7~Pj&Pi9%mvSLI=lRg=P#h}Uhp=&5F~7Lu-9xg_IWx5zM8r=H}G!o z=_?=Z89E|f-Cx!#o$c9Sep+99$FfE!`;f@|IMcP^I$~s2vSN)yXV@b}E@7f)-8`8A zW?4SbgIJ(Y#9lI@*i=?7tO7YWKcY~Y?CPoDEu)!{h&b_S)-MLM>cqZUp`lQX&G%fT zcmcH06WJuYnvFBy$R)Qsdsh{A8nBWi@FRnKrkU33Oy<76^qX(!QrDqwybA83Iymx5 z(37-M{6vA~^a_btyC)33qi}3F73 zUr4t147b$m(q8m(ZrV zIZO?l0hjSa-nMj;T@jB4rs3>qVT5k)J7Og9Yy0LdPtdITC5Pb}+Dz-#le|n{e`=sSu;|9Wx5L;3Rx}k2y<; zRC+U-b~hovaq~U>K;~=2!3z$O^sAXv%eybH_%+iAD|ybD#HCK(B~d-{^3lRU1|PG5 zqEq}W+lBkf$8Y?MM3A1p;LcE0wr!)sy4T^>-+ZSe|>1H`}DJ{COpX1QiDjy8x1ItM^5pMb=Ba_szwrU`DvU|h4v{qfPT?kXj>vv zz@HC(`BV%HeJTbjO;6t`3TT&s-ez!)o@#?KcuF9eEhkTE={~D|j22T0IyMU^IA`^Z z6)2g-`yrLvxaZsx$_rYDXA{8B5Q})j>c-m5>;G3^{`13|Blxd^7H`2Y{-qYkriTO| z;bRFb0 zFkWr%nl1T;k-<6`FB3^C4=c0=fSVBleXC)bsl7+A{*|qmOIk)FTanoaZJLq;o+TkHu{{jZa zqNvWv0_6c;*H`3sgY1>WUeXBA-R{Df(wRo5s(%g2I!g=&>pX*6 zZ6QvTBt$^)_UnkAM6cWweS&=TW3IX3P4&vW?DTYkC9W|wP~^QAT3zAAaX2p2UT?*v zvi+1#DNPxH&f)%!+C41@PM&5Zh^cnof&iVt-m8s+jox>q#SK4(faOA-NU!LJZH>Lx z1O~R)#6c2aDMAoAGi`Z673QHg7or`5%;RCI1)ERW6QTBh|7;qBl#%jV=^g2X)vuSH z_m3a^cT4Ishw{SyqaGMg3@4$)hNoSO$PF3f{b$rz{(^J_V(9vDEjBNb8G9#V^nYtk z#1QDAb%qvQ8L<#!L=&ij^}6wN=^|Cn`dT^(}JNdNL zF38HKYq?Y;0t<)@X~7G06JZDhoM`WUu|UH-5mXKyJwzP{XKlc;)p8W5`j zk~$j{T0Swzrngze(o0^(3iu!FG5=fv+GmGEdPgKR+-GD;{F8%7E}bZQSVQ_&PRwIH zC?`yi%1Ap@;|U_AhR1XYb<~MHEu~1ndR}QaCW*Ris?BnNmkPYtfR3*dZfQdJ7mF~q za$Ie!TH_bTzab224r33S3R!M`Iz2k>J>USFs(f@N;o#n4agF@}Pxz z?Y=Akl{`LrsK;aMe-8mZ8&a#tm!(;UX5M=pwlm5ue9X;it!TO^ zgf~ipO{*H^O1`8FW3;{NAr=KvFuNrWaqXoUItN4q^3g%FR4Y&AL72_c<}=Z|CM^a! zEaTB|tz#dZ6H&v#QCDx|gP8nR6fkH{W*RUy)`# zJpFYrT*%oe!-olq)~rqxEULfc)ie1~<-cO|NOAlKjI@#cVexQqPa|^8S!>!_r9?gP zEj)N->_!d%*cr452VKC^^tZ#O!l22z94mi(uW*$M4h{HbNnmjbLloULhlvjyN0VPU z@av#L_#Hy5%%W@j6z#iZW2il`64N9@L8m9xzRtj&b`MnzX#V;{+%CR8U-F5uw2>DD z6znD~rSd?8-`p;@imfb_>3DUR6Acp+OphFrO(D-Zu3ajJxiI^p!U_E{#dW?fwK=V!MS?`>TbRa;hs7astPXD}~Vyf~kOO2tPm+U56{73V$ zYo_Fiu>jC$IYU#$JHG$`hpRXaPI6C9Jk<-Fie^<`k@^X9hxc0Gh^n%MKHPhR3tu0b z`F?ph2Xu->!~)5kSq{dRVal5=H|hO2((m$#kD%%8PKswh+;DHg?GqWJJ>VZSD#}Vq zN%p5uaa1IN0aHaKY@iNrZbwZQ0M^DE--zuZH^-Dzos~Tu2S{)VBaR>iP_jB!Ycy*k z@qkpM_t#xjI@7Y=r$$Ubi*A-Liu=?c==#r5C`HtXnHIWcbvu?aRi9&Z z2)cbNY4la5@mgdp{bW^fCf{jZi-aSQv0e&-NX-%zW1ZGz9||z{!hba09mn*-6H}U& z_#M-(e$YuVY&G~bQS+=y@yhy~;c?-sv#5p}{QdcGZ@aLs4`mJbnE+!^rEJ4IG{o#? zZ-8>rp>CLv`E)63)B}vwXG_R$e`KG=VJO9sNBIU^osVzXs_a_3B8S*96WKfVfja|DV%`fCGxe{kM_qS;ZNmX@dM9hcota(*LgqHczSM9?a&yut-@_z=ARG7 z4^ZHL#Su)+nZ*ByBWQ>j5h@ZCw0qZG$Q%~Ub`5y~8}>#JEyWyiAk=0pwfX4eJHehN z0(xkkeyp0Msoh}%i{XV8IvL|KaLWFU5*J6m=7L0evt3hSC6`k3kcI${8)Nh&Q|@Of z%!gGUXjhF!&(T5@zp2c7GBpuLWLl*%3rck1kh;!xt+y2G(5n2pRIi1{cSR>lk0&nm z>z`2>l!A-{(_yFzw9J6ZtvVJCnB1=f#md zMC7ej<$Bhp^>Ozlrl#6V^K080H44`|5h?HL_JwDO-uBOElkxmZxY?}Px{4arq1g~n zVA4Obzu+m)9M`7CA+BTbS#QzUFp*Y1+Mf z#jzQSFex{{*cmPn_{D#U6v)qa4ge1_Hnk1Pq`>Ur{V`%gN)gh+3)K$u!T^zILHJFP z(o1}IhED9(pA-b~H+5q!rf3G7eAZ*wIuFhz2Pe+aYfsx6Nc;y&ev^=)4)`xeaB=ER zWcp|hRnoWNzXGGbe4&N@#|uDW-g0YMDHv@?=rvc`)=ixJUGMkpo)SlKpyVcTX}NgK za!eTyX{0kw;!0yIhTuO)+%d)-}p_}NAo_0{J|BnRN$ zjO<9$Pjrb*y>KsOHKHq`3aI@wq|jJU%M1fK|PDzwewqbr0E9~?7pT= z{Fyq{5RCXf$AmtM+A~)J#)O0XA?sA+5+~z16hu;(UeY#m)HJODvxt$Y+iG(PIKOMa zmY5}k(U865m5j-~iO`{k%Gs#X`f1VVhS)FAl@Gw8p-tGEvxaLAphgHdD7o;(DdHTN zzP|M4htjO(E~#JgO1rpgelzr}V(> z2PKWFkIm8a)#VQ7GP2STc~Bn5^c`*C3D4Bk^9c0FJml7g2$?z-c!nf+k#>>s;4=8fUfIqqI zle5YGDdTj~zh(%EfUcph=?8d5yIh3v8O8RT+qt64LIfA?&w+k`J}6-wX@}N38`T$=n13vA(rTuY*$j_kAktAn>v*x3t@1ctoyO zCKK!`o6S3pqe&rY1vh3u~xeFFhPFPUpD@G|#{K z#yqfxbHdz{S1wdx#3N}06a&36O8+%Fh#k426CdBbWVI$c+bskE7CuLn#1DVkhArfM%l{+^UQMp#KAQBzfUYn)u`xe?iQZZqO&etu~SiNQtD=estqF;ii*L z%;ZnjR<3RS0ax@GbuYyb)k=Wh>mp6&Jop&rAn21Q0daW9T zEOTSyE=730PC53py)O%GF1Qoo_lKO$5D)MXF*t8&jYg$nK0&F3_6-irpYc)0s zE3x2-rS2)##(C3Ckhh!AbS6_K$pNk3$i$fmFvm2Z-ON;Mmql4|jQHd!v^82I*Neq1 zsbvOP4)gpz1|#~ckaWyeK^PZRV)DEgTirE>erQ zWg1}L+VBYdN4IVBK%D*JLR@lXuj^<`?ue+tnFr) z`^`apg{+E8d|Z8|KMI|~i{6l0Kkgu6bar*4QREioJ;)WwingO1R*`CW-LO9k&i*3) zUko_RC#yp?- z{JR||oXos+2krSWgO{NtzhKZ~Ej3DYs7q=v>u%TN_@LL+tJq`bZsQu~0<3$Plsk{n^j-TTE;n5H{)N*1n7dWVX zhjR?zw!%m>_?!QR9jf**`enU5;J~JYz*aV$S2k0Di0%~q&K)6=G z2)5;&nzf^16;BS_V2%E;E0HV{8a8O<|165wh(4ko zEWR5Vm&+Qgc9E!%O}iuioR2yOrFQO|?ob|;r{(3C@1*WPHYL}{kIf=e=BmUBbrofu zb3#xK*BdPwr&n<9kA6e)_N_UoRD;>ZHMT;SQwJ#8FFyY$F7NIfyk0P~KW;A38*{Nd zpqT_WPN5=8$@Gqs6aRo}&;%WHn%%jdxsw`vl4wv2j@k{U;Bhp6xQZ%-x(b}8a-$;z zk?=JORt}KXLH#5Pd5p5w#KjmoZ(UP=`+C9fM;i4w2UU@hh9PFDrMF>-g(=1~kyiVj zS=K*j(n|m%s+=K|6Ao#cxJfKNPS6Z+3G*ctOfx_Oc>Ddst8ZlU_PP$GhFv7k5vyMF zQ!;XYY79}=R_b)5+!mA@vP6q3Md#6$#O{G5-*kx{*( zy_b}(W6Zh47gV)2xlEheeaDtGJ(m#2V_50Fn<5bmswX{ux;0i0U7x*wXHQZ=bC=oQ zZd7ES-~Y1sz@Z>_YmZdZ_;%I3$K){14&eD#JehNy zy(Gpo)~t+e1H`x4(umk?WV0y|uT8{TX^}B>< zV_f7`>6=9Ivy8e_AU8zyRqEkma=5dFkVa=6?veC)yZs0OIqDG-3o8Bu3QDnbQN&y8vfV(CF%n(qC`+^j8epC@vAsXiYsCbVHOHD-5QxjGHg2a@Cx;Q9kbKT`~LB%d&hJ7Jes=e$6$Laam^BCsXa<~O(?LQ+x$l$!4# zHu-1kp;|gZhCoHinoEfic#IK8>iKsYx?=fZh@vK&68!oDW>m?&N5!GU5X>SIhMjh5 zXyhC2-QPheXg9p#K!8Quohj_88(HQn4UT z4W9LQf3Xe{e{VDFr|-(5XEWfm^BBj*Q9}o(&FQHT8E|y^Tm6L$%XlVMHz@J+Gucry zObZX-p(@^0}A;XY!Z=`uNRb?Z5Q}(04Z%KFgv=AGjl2lcY&hrk1S=*(sKymF` zz7kulYElLtTAeRHtLIHHJURZg7%bJd|I}ke?}>CxUQkdfDM8wXQlnNsw>_{15t1ou zCd8sGcouj(Q=gau(SJRSL}X9z0w`2l`?v?WI#)eyVyV&w2jgclA@j)LR}YCNV{`jT zk;bSGR>)2YZK$;Bg>qcVN|eE2QZo{|Z-R;2dra-Jp-Yz1%NO#IoDg>RK)Ta6CGdT7 z2zOFkEL~kgLY1G|7#mzX?*^TCdMo^ox~B`&jdb$aM@NvNf!ZDSLA|u=vqPo~a!{HP zgJ5j|!bcZKPirW>zxNL#yD42wi#nB(4?khmE_6upK`j_=2zs`eE0lRJlRvFhNj~_S zoS$s#LpGTm+_m~3W2*+1OdK;rDK*VlA=!wn%AK9u9&wjRwTLfcD4e$wEeDEnP1wB7 z=z6pIvQ9o*3v-JO)d8cnHe!DRN02csO3FgA5(jth)J(*vKr@Xuec!LLA2sX@<~dv{ zp>qeOMCIkP#EPh24fjJin`5&2}OH=H8>UEh@?B0J(=L<-$6o zurPTEDz>;7m|74p^nE>cZZtt`L59@iRku{)d4|!fJ%4uMfJio>z30&Y?ilrL5kGpX z9ercbu0J}Qk{j;D&IdCu+<>y75)x>@z_#vJ1+_(jY}d!8UGYa&xrrCp#E0yu_{Cjo zq^Szfga1{%4xjAnG4L5)>0F3C29-5IImBxf`Jfb_*LH#mX_FrrfgL9V3&lYZG~RqN zo@r{jTFQ0V$@jrrvu9gS#TxLS>3*iNF;q4#@EyN!>6j3m2M-cM3l`Rs*{9|847CA3 z#gn^Y8BW!9^JiR;I%mXQ6GA(uuQ&{9p+ZbWC#eZY@*&pPP?6!ozC(srk?`6u5iV@k zm117+=)9E#dmmrFC$b#&d6y_}QWWTH|MJnKTv}EsPP?O26{E z2WN}kP!u|gCDiu^P(D8I%A9&wepNW@uz>rvNr6i;M@i|PydAGnFf9$K{z0A=)wdVF zhx}(#ZsOCY@pe?S+AlYV;iOz0P*@70jI|$Azs23kUI7L+WPZ(MliKEkV%$?*w_K5O zOshjB1W+{dW~xX!InHU5hp|_mJqk;bVCsX#{^YszIpV`Wp&eYmW+ycrVA!UKflOJUX#qsxHriet3d=h)f zVjqTpkxsC8G@4B(Ajv|=fxt|-1wVbcjUp^J%MZ@G z6L@}hPy4!8-F*5Q!81mYJ*#q@$UKq7e*#RQNuCw|#f2=Zd-O(&Iq|zUn^BiD@oFqc z(Oe}DG@i-qk8M%xl^Y*&fwmG4Id#gwgkE?cn+NAWg6qm{+$-_Z1QxAEOI4O_543s5 z>s^}Vyw7g;Is@P+uAjDFJ+OF#ZnMb3#l zTSxD-OIF9F8G%F&8DpP|9`ZsSkQ0+78XPMwQ9Bini(H@C;XA#+$Xqj;&&)ViAnUyHD@}@!v z6!Kb1`p29l-+S#=5y_TImQa&}BUj;gdiaQ^vJX;-aq{;-dTpL>;S7KYdZ7?Qu^d_A zU@1(bInGGM(XN;;JvwLhS0Lh|u@aERDlW)n)Nh#Mo3-1yWn% zPxmddtLZ@714$m^%vs&HP!GQb$j)Cf#WAhcBAlJSKcJ>Mpf@ickVxk|z#~c$RM$0| zXsTVT9Vco6QDA!^LGhYf6_L)KV^9MFwVq9L5t4+Ir#CT(7j~RCNvLVnGBcD1OF*3G&{WHPy+P<9Fn)+Yex>{qUvSwr;>8>sYWOGar zlS#iOc}1=}qO`^B{Uh7}CzKfhVpu0lnR{5Any&i-48G*UZ-w;~o2&yWUJO_({#D zds+1Uh~4yfnTQn``~zw=xkEh4OPe*>p>BvO^8o`}wcC8{r!gWK$%h!eY_nyk%bWv`hZ)q zKzw1!sTA?yodC7dBL})1i(H~oQp>i2j0fq5g1RS@vORf!fh{E&I3d>!i__-5 zr52}$h>r*YSwDX8aNo6s+G!!}Dqn&%j`baMO<1ZyZ5RWzKVOrIJ^BlUc};LzGV=pZ zh~cyFw41(ig(Mh~j4%Q5JuN9^gZVWD?)|6BoDui(XG4NZ?(*cQIPQ$)Bp4y>Nel6p z&Cs)y87iL)p&*0x>NN(|!dFMl%I=>y8GL;2PBqfEG_7q2+2Kt2L?tWqU?^@McKPO=QC*(C@3ps5F-Pr!3)*4R? zpQGV~EioiG4Qz&ub$01ypHri6anWDygHD6uuI@(HepiO+Bn(%0 zt0!2zBmg?Z&TB%4)D?W!mWWD5Y7%}1z1A9*Hc~?!#_Q6A%|lv(HSdjFkw63m)nF+d+$(spWA2WhBp73VqQ`R(KOsG zbwb{C(j(cQ{a2n;uWz72c=YVxI4euO&qpuN6l#yBCq*BqVT(;PO)C|@?cLn##P{b7 z9H%e-CA!i#CwIKPm;pw5aco8CCdbZbC19q4ZZg|LVZW}muRe44&K}*+Ju7z2pFYv3 zJ^ap^F(k+dZ;tE_xUjA=A{I~UFZY01&RZgLp~D60$6|GKBDK+=wbsdGr@`1u9Zrjo zXwN&K;@gjX*xoHL(<6t7I2Ot2&?8bVv~Ohr^~QIMe!M4?I$sLZRnQhP=cv2S(Y7Uw zSA;$Tc}wetcs{y#yg6A(+s8?c^B!tvPoW}O0j=Zf;py!1k-Ud=+Z}VR|0b?b^mCQ; z=$NK)xsv-vy8~)W#;oN{h&Ia>xi*%vZuM3m&QJF)2GK|WbsAaIu^}n~CpkDeE-n|* zeA4NOvW!MfBl8?QCTjMp=EeKy(Q`}b4AMc~!DSB)nM`!(*>gN5c8OVrVN@uM>Y>$l zlF?)z5gC8yP>JvOu{C^X35&|#Td@YI-bx=UE}8rfnp#!dBL1l0E^kOS(fFi@w;{KQU|H-ue2+Y=WlH(|-Vu@Hjp^kRW&K1 z$*%*o4_{U^R^cqZNi`V08_4>j7GBk)sI<~Uxz9sQSi&j0=|1=21bol;F; z-2eRLkEZ2kK54RrsLFCWP@}{p|6@P?AI9weKc}_0Yl;%^F|ob|uBe>pjQ!CL!CZe7 za2lh4J{Z9sTpK-wJ`ELsXXeewZxkftLy3qFhdEUg_LX!xEHztMbN~QF@x%ECA_$B( zalJJjPH&P=2!OnRGR&Ujlx(FbRhq#Z>Yz`9l=Q)Q)LGQaT&eTGzd7^bk24SMf0g$kOqQwX9|Z z**?#uApw_28XFGuV>^5px#oq8t`cbI5e0|If{5>Cx#xFsEb@W8qmH5H}FIg zHm`M)^53tDOaD$Jtt;AOONU__p!x3u|9c+Uz>4T(21cqQBzq*v7V%M86CU!pNAhFY z7eURL>K$URp$z%!4%EqQa^-Xv=rm}6qjKaCCgB75_?s-u=K%Sv1mt*eThEdbpI;ma zWwWdSD@#m+P(5)3_1GE}b?fl*^v=pk=t=4g3b2uqRh)D-S%++~MjsY7sV}`JLtJpu zG<<)#&rKx2il}7!oaHlE7m7Iyb>}-NOmEG6is;Y4eJ50l!_(t z{0>Xt(AVd7g4-_~ad=F%YK13gqK29aIPe`v8?O8nCF^r#F=0gRHd*3er4fE<`e=VH zE$ z8=IKq#q4oIZSyiGc%agiW`)yB=wJGOVy`^&>n|aCOENekXt3!PW6=8qZPSLepfk5ej0CjT9DSL_z z?#>EZ_#e9!0?%p;EC83RAikvhN=EhDWO@IzF?+pUXUPQ)@xy`T@%ry?128kw47GMM z;rJU52eh-x@0s{t2`>tk8EQn_*Bto{E+UTf5-lH=%@-RxO*b--enlVE7*OfYhwZh8 zOWaQG*8*KM+5==cThZn)zIQ;G9$pJ7_+VzHXCG|9HF5qn@JN>E`>@NU(R>f+|Cv!l zr-0+Uf7tqbT5|x-!8{kyOifhBghE&@klbD+%t3iwhBD$jH|iw40@9DXRgW$Fm;J`u zMf!c0cdGMzi;auTx>{!y6OC{ok)mp@PYylg>i{c-^l+De^)a#qt)fzyIZfs?BJwwUTq`r-qS_#gFWUf%2{ z6yWjFyN_nQ$ z6|xV>E3mE}j9bj>>O&gHn~0ggSiXlrw=-CE>e$B0KZf7pu-D#+p>*1qgY>y>vslVh)Z1F9Hu6Tk5;P6lWbxA3izhR4J%Ajgv!hgEs0qZ)ex+)&-zz?G zHwC|GYQzYe9=5Bw(msll?4~)%^f`;Yvd~LZ?Mdo$EEz}{)O%owhHUmz|0BQtlXG*R zVCbZ80|UMB*N@*so+%z)@pWe%U!)3X)JhvdAm`0`frU~lILtu$$mi!;##>ZW{Wp>$ zh{8LC)}i_`o=i$K3szdz<<3_xkJdrJLOLS9{qE1nJX74`%Dv6-PlUe%u)uzPNChg zcK2PbA~>HNfwTs>36@#Fx;AZij^Mu)S zg6Gg|a=ApA_|1e$-S>qSixPTPpInZ3pPNV$pmY2Pb?yE4M$=P zY58$ZrbX+6mo#3wde8QuZUvkBc7j?p(i1eYqZ>`i#!Dg1FG}qr1zD+%7cr3n;^9s;cyy(sBJJsv{@Eu*LLY zhFwx9hZv^3vZtoJ43cA{CFS@Mo`DB(Vk+%9(qijHb1#b$iA>wyY#GlSPI}jtDp)oy zCSh5^E<0-u;8hw+*1y5MOjP;*B~yBN{nWbj-i||~`u@^^v^$@D?62bRy$L9|(q#&= z(XBG1&AJ^l#9I@AT$;++xU%G;oxF%H{Kj3%Kj(l=$~H0bp+&A~UuiQp*NlTNPxZpw zT^Rn3B}=TH{Lq{kj7uTtq)dJYGejnc?Qcg%kk^{@&OuIc&Ny~xjgQg_g@SuLk>9Ch zxP4s#$$()$1hwdC=clup1o;{w<-ZR$H=0y<){v2NaNwq?l~ok?WWv$*qd2{Mn7Zgz zQvH4%@u_pkR!v1yp3Ic2d|dWLPOd>g!o0=SSU3l)t(JN-oO92$%UaL_#qhsT)4xax z0vTN|D@j|{zHw1*t?B^AX|px~Q_{V|xy#o3YkJm+3p{`;Jz<42Jz?T}1_!?4&OPVG zozFWb{m!B99M`J$~*-sRK%Edr1L&ByZVj0 za=OmOMeT#;Lfe35FsnQJHtV(rJ{rN_vc()2I3gKIX~mJ3!Gk<5ZsTyz0f8d!|6sEV z=$36`_H9OJnTf9{Om|0v6R=MU*GyhVJRbePecPQfSxQ&O9$Z)HG79EO`f~vyKEjx6 zgAxrU>`RG5+Yda;g={rv#Ww8U z!v}XRHG5G1`UIQ;-G&FGlMvk3jpx#mJ3e`nP1vWzD(xiPNDil|Vp*97FrRvgJ-E%3 zcP`55Ptb0i5XQ&s8lP_~C>l1tExbseM;FoZtX3S2e9aiTsHrdwux9(wZq zTPom{^KJqWA`QFt^9U>n&2d1!Z>!#(BPm_Hv9p9cccRiadQerhOY|(TnFR`vM22f( zXOw;|mnR$lz>+5u*Nsmktk1ZtOh1HSa^F&Em!acp|8_Qs1F!ms_E`JHW(GdC&UTE_ z_p$BEsIL%H;UvFH&M79ar$@{{H5W_OM81il4I@Gp5_634)gAk9$eXu| z7Qr#=u+yJ9l6Mg^1c<6Qd4|!{EvKc`^)B(_XgWQgCVq`U3a7JV>bB%Ei*|GVFx7ab z&Rjjev9;k3yDdTzn;xLWHSa^Bbs^RfVsQxNwLhM1!YWb4`Wko}1$H{hquKF}2g^zi^2kDg!T$iN7u?u(ySuo@D`K@xkNu;zN@;OO8)1ysi35`JZ zOufkeHxT>98yy%lgwBigZ?OIIOgw;qg*w4h|5jE&;352TW55v#5&wEYU9`MehmBg$ zf6cIS;{z^qYw|y@$U9quR+_c%;JI`>z=%`(VWh7J zO>UpfFCoY{CQ42#bDUEVRA40TIVPdOE(3qEbu~fvE<}3K(vnRapMx7NA9`(52QhP< zQ4?&6nxaxCCdNF-S@?0l!qAz#v3kG)a{SvhW6faS@uPiTWTN)s&8;&tRj1|d6SKXF zV@AQGarjMNe>-^^yPfb|pE!i1w_B+i{2`pCiLZj4XTCY z45>@o>cArPgW;0(!wmi2Cgte44HdJ!?c%|-VBWkqsiAWfz>Bx7R_ZiFX$eS{zP~4M zyM#q3dH9tAf(Ccq|CQwzQ}Md%WwrY!b1G=OD+BiDwnA)YXFKF^0l07XjyxvJoD!Qh zC~CaxYVTNxQd_+(ii@9Tq<&9;j!gaz38b!OHv(jj4RG$J-CR^Z6U4ALdaDw^3bDrW_3c9Y*CD>EXrM0#W5h5&2Gz)bTv&#XxipJwNaP^dCHImRZDV>iLPzvll%v@9CLU+n zql+pYu?nac&kUexa{gFH=`1=ZP;4@Ta`Nb{1Z}=#Q2JL^?Lkpa)Hx(vXh1w=%QLJ7 zEtz$ZbQne}!o~PuKnh_cK7Q@@%@c*5VqO8>vtVEL1i6uTa}Ow_1Fe-1c~*rLHBbAT zI~^Kaw{LynP5gAfJYH&C9?$AK(=R5S_r#uPsTf_~@-eb1Z zfw})`NUQEj7y9m{uBM@+_y{9>q(Z+)U>}LDv?JSrzwe^-FK+{CeWSWFd0!k)YThH_ z72wEkK2SjE5txtFF4{L4ZgvTr50}Tm=*?{zJrso}Z89AsV#qNAx~W?w6$g?YFC5gJ z?MJ_5ULQVQK_=gCZEVN*D|8-e_8z+;H#Rgw(Tfq>6e&Pu+!2o63|iz6o?Wre9O#0F z4jocqOjt0lUIH_FXFblWj|NFzJ7Gl-F->qzE!wYUT4L?LtQT? zj6wsC!uR@j$^*{yI^2Yp57%QJWf@^4o7cy;Hx3(Gv$e#?Rv41g@o%AGKx2_dE(K-v z`GaBh>gQFxky|6jRz|bfeZ3tscJTHJ69c?5@tYiftX-BdBq+}3md-m&eUZG1Z$5+@ zQnL#HhXWvkhY5D_Fp8YbsnoR{L=GO#z!gBhRN3?#crg<4Q6sRJQN^qz>%nn+oD)_d zOuh-^zbIJ~R@*-@t`f%wi|a4h5IU;z2M2X4zc~9lT{SI zXZT-99gxL4g9yPc4O7Q|6(vW;Y?oE^hB1d9TU8585EF8A^c?Q|eQ#!5HUjAhYVUHd9!b_R}wIN7tgGf=eOR z)Ap*Edu?x+6`bz?m%!mDLktf$h-xSI1B%-OnaLt@5siMLHksm+LpZER%~!aZZ${Md z#kqO(cWKV*yI+dAM_oaMX|=O4OBNKfk{C^y6u1z5OWGx-UXt(N76xhmuPptauZ$Yr zc)&vWH4|Ruq1Tt)jb82~T$)P4uSoCTHHKUOBaOglEsSXw^&_LdLr;t(ulEy#pf`}K8F ziNN!v>1>Y4o05SJ#6V8N@}-bbsjVV6TKG2`@zKN*b|$$jbT%!LhCNsoMG}Q`HD96-d>f;ydwvbOQjX!9_ z?77y)HYxAzp>595bvI0NmAXrZ zqkVfGPe-ugk7kIY^xr<8sWu?2S67Cbcs)K*Pc}XuOU78Y^#HIsA1Nee*ZX zEiUH*YD96TvH)m^SaPM-(r(87WyN(*{^3K}uVT{dOc-xR7yz|n`dwo9;OV+>$E=pE z1G~mz#SG=A5eP~If6@%se#M%%-O(3y#%3Oyj#QtJv0OX)%-_AekhrPMO&m$b$B&Jh z77{eMe}g5Epx?-zmvEMVsHIvsC2XU$QficZczua^=@earwA~B{hM_{Nhqv^G(M-FL z6?VSwDk z>BFc*)iKGu-!El-TQ3zIB5%-$KH!yE(z-4+rBh{(pv>N8hD0$ufk64ntr6@;_+RtLFVLca7F$I*h7RMhNC{9xCHycQz6)3jM3J8 z-Yr<@25Rl~Y!QCzRm@&L>yWDF;y-cmzj3^GKQ)3~mXmu6r|Q9w02>K6>yVl}lL$o} zy^cUNhbMr<+zRs@D>@{dBSWZes-yk6c08&Xwvc_yyr{zV;hbBrnHwb}+Ik56-3wHf zM?Ty605Rz~N$y|>+Z}8~;!@Uj%u0cUC8zA&<>G~mWKaB3c}kZxYfqy1iR zB!N(34+A#r**u!xQhaKja`W&->lq0!%q#@ACoDdmSL%MJ`LIMGZm8I_*D5h<*GVK5 zt>zwMyJamx?PPv*CjCF{on=&9+19Q}3JIP-;TA|BcyK3J2=4B|2@VAmPAU+jAV_fc z1b24{?(QBaB)I!mozv%xdz$V$?(aLk-!S&xHP_njnsYwyUP~||(bQXXOdPmwLe-Vs zHVlTxV+!L#5t~{b%@Nrijb!yEHLvf$fI(iUwW#HWsBD@4)*J}Ma29{4 zD@O=reS5bE{^pS1yn2`$zJmF&sUDF)RGPE_lqqNFn-}zGGAeajqIXia?cM34g&6qgEW_?J^|6=B*bJ@77vmyKY+4LIjXZf$JQXYD%_5fb zD784nFQRYvSjv52>zxi!L`e1IMw&#{e1WRz21fEvmVPad+B{I&P@;RmVX-uL{f#uj z6WzS&&ps4_Q|(E<>B_{sihwAeV0*}>~F~5N>~Uj zvmVJBWM@{uG`x6o%oW367u9J+>kre$kB`5o!P8x(ts_P`t;g|VtlArj^Q4=k(4OhK z*92fG%+-?=+yls2Y*2U09hm}UMjo(HrK~VIu#`>KDcUV=v+9@X_si{qR)t{*RXE3U zq-v|VZOh`mvzb6&9hbShSH9>b87$@wZ`h(JhmP3PlUqxRy@iAE^{;HEZa>xGS7%xk zi~@i7?bhb%GtBm*oE?RY!;ZtBfzh|OKR%^X5^UO{{%Oq%GYz}a;$#6aJH8S!+RM{D zUS~G>HqiJ^M7sgeP3yu9^yXXRhyCY!?izO}P+@_Me#>At^a_#coo5S7@i(KE{d?ar zPLcD@n8o+aqx@M?47QK)txL8qF?7ZLTK2;;M3tu(vFN}F#VpJHe4Ml#ITmfh_p?th zNDf%OuFgrFX3{W{uxR*82vOnbqGW%v`lfPVf(=BcCQOELoTt>I2n+gnshT1=7Ibgw zyRsR-^vB-zf0E6!Z_V3eLlh9oR=l{fDo)6&!07-weMYC*%!RI(owt7gKdC5rlL-ha zZyw8F%q{AR+U7fTRu1Lm={C;may%y|dPUX&lNZ^?TG^QB%6`_%qVoa>_Rx&U9h_p8 z9K)q`Z?a9bGTFRmCAuo!n1%`I1UyrCJ%zCa77!KVdHb$fR4p53I2o$ZV)sBNAE9v| zLw0a!k>}U7J`v|~{d#8m<4pY6p~3m_SC5Xh6f7I-bZBWEa{7uPi&rhG!w2+;dP9^^ ze!ta|PR6W;0-L1t8_&t*SL1S(nE?hGn5IPE^zK9*__Xnj2ILladP_xTk%>6Ax}UU9HFP;+BMl{*g`_f&Il z5oX8Kkycgq?FtyPKG;Sjv_YyGnt5mTg+Woab6`nGm z*V0^eQAHi$l!J37f#ps&15E8TNh_m|Hy9mpBr?0*B#3P5F4w3xG2(spMD~w|a_jTb z`&aNXS<0T*tTb9q>3NChGGv**fkHo>%1^|6WCQZNI(|kwhDMw(pYFPwNNcx9wl=Dg z^+}1&JnH%05_KTIq7a_x6rbW-BjgyY+>Q#;eKC)TC221WpYl#zTKWOM#V9jTWL>^8 z$0>rTS!4?|M%jkM*|?uD6P|vgDE%s&-t;|II8n z#(x4|D^$M|<>wy;+fo9kvY?7~Ex5cdvFjb{){bV%b9gS1&i0u)ikMPsRNql!^a!6s zcx_f&QzJ`mDqrejU9H!Aa7}mdci|_Uy_L&N@6Uc6mT{BOBLGgjX7XZ;4nh%|o&QqA z=BZ(jwz*a_(&Or-#pPbDhSH{8rI8T$Q#LsmoB49upvw{_T>8deX@{qADKW3La1l1J zk6U9s9WIuV&1UbbitG~pvqanf@O%twZJ%1s|7h6A{0;IDC^@p!o9q`^)$8PGKan+j zcT&sUHu&)b54%n`GU#yqM+Ti^5*=j0@TtyA&y@2tLbtHx*|_b3WMx}7FLVyp6ogu* z8w67bxgUe2*7YX>*eKS@JG>X5#I#qHrKu!asK6I5w0o3vs2XgnoB}O_&qk`(28Eo2 ztxu9`1nZcnvOLPyO+_bS@h-T2ayi+)5=)=R?zBuQ76>bkj^@#G!-q8$i&pxz-3w@h zjvig*>Z%So>n*-mWi|GsvcIIagzv*rfP|yc^^SP3DZzt!ZqOre0^v$?W+lbv6rFF^E7iPXo~minFOC=rpY zxE=bRhz2$!>ANQt?pWz!76Z$*s2Ew^GgfLwYC9C}X1`DO$DHl-=i$p}u1_ z(K;uj+{&q4_i;{v$p^Rgh`V%Mn`e5cSK)7F1P3|fBcNkk%dIP|G z7p0CAi_`k)`^z|km<{LEIafEh9`C>JKRGJ|@TmV3i`NWyAjliiSP763TE5|4TK)mw z2VVS=_dX!$-CN47MM9^BOtK7HD_<@g=$slPz7eTcxy(K0Ak% zH(r+zEz3}`n@tf9S}l^>X6TwL4f~R*q&LeH%Zu}&3zyblTIF^lI~0{qKSlIxFoUDy zUX$zkV3IZHkxnW7S3CQ66b_2%pW3Hg6uY-K*gmL}{;U_C+do2vLgpM4{^1`uc;SDS z+j|AWRC#!VKf37uUt9n}!lo$eN=r0yf!sl%R#RI}n}ucZrEFJ1aowzNQCte}_3-#? zf#;`9*B^Yr6^VkB2WG>tutT-BI>Ntgrs{o&ilw%_*r>GsG?Flk>w-M{)Ors);YfCQ zo-!)tesgGJ$}BOE_N9|GrYHDaO7tH9qwzY>wV%+LqUp|w0*YO8?SXxUIG_4AeT^&p zoB&}~e7jw(&*X-ovFg7G03HwXxOecN@XW^dgR#MENjJkrGdV`CefU=Z{*JP;Nq))$ z#OubQ8_Gbry-$&L3SG-c5=oQWx5Teu+Eg&U;D)=*!%k}M>pthb*qsm-a`7wQu?Cbd zTbJ`HTB`vp6BjgRkJqdYr50N@umn2*c1*@vgge-;EA#%SoleJF41DU)P3x*`(2OJAiHC|4CBLj=&Qir-q*f z$p05hnf1Zu_%Tz^6*BlEePC_*qPTzV8gcV! zLRzRUDXwFLOL4h|OWUo&Z<3p9==I zpyjsKg$rQ?&JQP&Q3d2-I`9$hY0jr=kG6<_WO%%1&VJA>s6iXIN^^DXpbcR>cwryh z_v5b3Auyc2#3}bN|I4MYo^zjq6xvo|MoM^tM_PQfK5}2w@SRV8q_D#~ksv>Nc#_OT z82pKp#v1)3Yt|vI+Oq3MJWrJok9RJNo__9f0TCLLH$6v=vdtl1Hr;jC*%oPBE-2N+ebKF(xSP;;lj)$3!;19iW%1Dd_edu|Ls$dh+xT z%}J^q1sXA;WI-?~3WEF%R65nC<}(+gW8<@s-#J?&${ifA&lyznDSz(`URP~uGpUYU zGfua9zGsZGvkmVeSIQx*rJb>qCbp!`6CY8M}}S zoGeRNm^LeK>1qiSGD)fj~fAHLbKca}+e0>p@1 zNt;EO8mQt5doQFJ&@RE%!U8%SEz8>GP|1_`bwm1ZLWTYZp^9DB<(IGsx!K#NZ@!M0 z%95^TS?*K!mAb!EZ%n1hG0tsf%`3I(peN0@DQe~$ad#uYZVEFJ#DmVxDc=uaB15(D zyuUq|R<3w88<17ucy^nh{&+KiQh8B^z7p*mNQNp87CW|^egL_0`bAB@))TAG8PtlZ z0g`o#kuGsXJK9s!02t6n%F;vkN_NB6qYlGvHwxrmZ~L8@HQt1_x;4$)*{e8$a@NbM zzchzq(!weiTJO1n_Kw+eKp^VsXD6wwCb(CZ6?`d*B(J9o5T9}*nRxmtPMY(SkQp!A zR#cQzQFl@ZDYyb8TQ@U_N8Lh=b42F*23lR8Bypd8&+l9R+YGl`iS&Ikms){h5 z?h;5}3|;A}%c_t)KCm$LbkekDLw1e@>GK3)QsY@nD*L~i)90K%oO&E(=|eHc*M+@p z=i>$F(4TI2MUhNBB*>`N^Mb6+scXmP!0u>2<@U(OtVFc5HQVj+Ul(7Cw~wbd6lHro zkr-Z``?WfuX$ihc)BGHDuT;z-b+OV8KmY20zSHzeq~UjSMIIlrqD3M6crPkOOk7Jw zOl8r*6wyne;%>s_r$3y&MEcVaD4kVLxH^gixxb~@@1dQEWq@7i`^#fvx^Gs5Mb4;S zv(Jx@T5mwxOYC+@KUqFkrGOYs1bI#0pAK1=4Sw6U=X^;Vb{5e|k&xDp)9`uaX8^@& z6rx=WVc%_46$$2<@9dNBA^>sIO@U>cs4LJe&NupY6T3-O$E)(hMVlKE@Mrq^#uzh1`KdLFU$2jsUaeOn&YoD65Dlm(bVPl6mizD?7a)FL zSVR4w#nVD>j|u1i{)(XNtnPW*)z;(7y8m&5Takaq5}(&Qs>MXpr{LEmT5p-V5!e=o z#zv_suuFYw)U)ew%04yJFm26XA@J85n=EW!XDo@XNY3f%I7)U_pMI|#l}@=nA8#Kp zDOEPQ_`qkC3+djUqPAGALDh~2Z87**Up^4iE1o!I&Kg$6z}=K$zR?FtWaPVBuI{lC zSUv3lyi!H2<%}ud-kz9rZ^QtNP-IczOOL5C57N69_aQYYi3}qz0nCh3O>4F z!2NvXI?)q_Xk%3OoNs>lTYN-V@aPQqSD$d*7&- z@a)pYyOyCwBE+E$?KfUv<-*FE;FM7h4eU{7%!^I zj%&1Ixgl#)vS|-GYYC=q==l%Ogpfg)2b#NHB|@`VB^iEnZ(APIGU0p(NmJvArRI%MIg!)~li)o0O3Y>5C*NUxe7p+c)+5P*7^UGs2SIY%d~OINT_(Mx z(8&5${5OgCe~R3$yJW7xQQ`)%eE3 zIy)EA+>q6aSoO6nW~Rg7ki3)2ujvV~eM@c2=G3}lmr$Z>D96m^hsC~s^)jgBXF^Bd zCehuuwr@^Edmx@p9NhUtHWV?o3rEx+pzN}BK)aOW5P~<3 zM*2Sb9hT|&{m&R-R$v!6CM~1${OqDOR9!bL~(z2G9$~ z0q|GtOZ!;f;*18QCXL!|C`wm81o4AnbENz5ly zuYMp^3xW3 z-N#kQQuPZmgZuTVwimGPt`4_yz!Y#f)X^y7G+U|n@kj(S^h*xwXR7{bmiEz!Z;V*q zCojeK1!C@of@lej*7<&X(@MnenNoFgIbNS}#v0jXQoM1++q-N#9)A>BIMF)0tc;16 zT-;;u&e_MO8obCne9T800LcKLH2;Tj{AV8CJgZ@bWXu|B?VcpD)wOV}2e*VPvj{8dUhr$H9clLDdiTPwCG>Ru%zg(m1 zn$(&E$!_td8Md8v3l>~kbX9)}8l@P&-nV${C{fXM_DdvAeW*Q!NhImf9RB)>uN@?@ za%%as{8_V~P>4nu`DdxIhRz-4$>^%0ff{;D`#+#1rhi_hW_{&+u2p$|zT0nTDOf%k z1@}^Ewj)Eo3l0TrG1sU9M4IpJ<`HtQ>zzoz<%KRIKOe_mJx>u!sie7){ZD}Yt%Nl( zkEh-!!X2mhl;98f2hdOncTb(_a~lp~$gl?syE)J{8Ua@O0^6_$xB0oC15Sp4cJPgN zgttqL+D4EE9?TJ?PjNvrOfL#nz$E^zU{1!Nc{ulL|Lwa_nK1(|l-hHj0Grf%EMJqR zP6dK5ZB-Z4-MeGNUECY*r~8&TBvtUw@t~DCcZc{G?v6nBipY5C{63}UD-#ORGwGLV z!5iR{_VID%Bj04vm7^~gD7GRsb=ouE$lZ9z&TEE7|+W7HT;fvvo?@wh_V!AnGeACA|lx_I;aZ}BQzSiQfueJZwil;rsoXvNz zIgg+`SK2#fA>R;;YDUQxJ>)}zz6w5O@i_ia@nNJ5hIw50Ltr?pZZt= z=#hv4b_;JvX0U0a)p1#^FYQXzHkccBeyRV!(qn+E@}1bLh~%m}U)q=pm0l}2w%G=(pyfvcWR_pnZ;Jh9eTQG;Dj=g&rT?BKNuoe3k^^<*suN z=rM@3Q!g(F)cZ6J&g5_hf@%nK*q;yKd11}fUmEc?KN63;egXSfCIajw1ltbZi9WjOIoGLFn z9*`9;hWEAfSeV({{hCwva!qB^K?-&GM7`Jz3rKS1P|`1ME-JsO=*N$_AS>DT_E*zm zpxU=I69X>31l<6We2C&O#OUqohNyE6f9Glp&SJhYsmFz%ZQB^@C4YX5ryV2-mDEyo zUiE4?Itr#e%cLLlM%+&wcf%yhJ0rhh?}eknBrggFF@qCt1Tw3M=X+O9ZdFb^`yr09 zp7vjzMv*rp?Gv7nKz|p=zGF|_QOCi1uJ|MGuFtj$e=}BT7-)Cif13}yzkLjP0j~w2 zGcGL(Y8H!bh~M7O-2Sl25_PFn?WPBT+}-H%n~TES_=#xUl{V-f&OZ-`6(Oy3!1`CC zdA*n~-p5Avn;+N0l`412;f6g_rG88~TlQ8UvH$V@dYVC~5Lrs4#Mx8YcRyb2+@FY- z=ig1dqL;9q{6+6_Q;CorThRr+=cTb>UL0^oRHJC32T|k8ILG^m>}`B1S8w?&MX(*j z)|H9Fllz+UDH@}q_2(=~pC556VN|&){F1up#uIebn&G}~bIGENr+&=)O5J)%0YZYq ziw!;#u_#Jqr*^J(bCjfYK-UQ)S?!eRmpw?)#&v$yvrrWo^A7+l8ERPf`q@eobL=-` zh^2vwvywlUBx`bf3C?k!wA(}&o>5-k?d92W3yY36z&GAz-?G1RN;m!Ro9F5#Ec|L; zyG;RMxNxRhQlP5kkFQCpWm0E>3w0}OR!>B{yyubrjd9x@1nO^Ic4`aom~kOHvG5|s z?uD&8iTX6X;XpDymXK1^V;UpC=xlJu$n{D|fn+F9**@^d0`2i@{2>__yrH3Ryo9J> z>mO3*k2`7Gyyt%_uSG9LZ7MHB2p~n{ABz&vp+d2IbFbq`${MvvtMQE#YqAD zJj-_xq>7l8r0rx{l$2fYF31#t zf^Sji4?vRaH#Bc?bM<(G8VJx{jzdK!W!UY*+Q(g-FD`r4{3O7lqShp!9E&&l&bf$& zGod1J?oKU$-?J=LpK%|Ub2}&Y1TVGzLeVw`?>(2DHM(Ee=$?-zV&i@v-=BN=Gx6*rH>bu1 znpeS}#8`T~y}RC-S&>^Tos)#uQ#F;M%bXcM@w`yfoZ9g0%F%NYo_Ov&(p9Gk8E7YA z&$6m<`y$mQ!(QCyGK)lW*@`jRzj-_n`3XCYh}QDMW&DFi;BssWCnnHFBMaFqfpVy5 z#ZT}AR5a>~sA!5KEMAwtQI`B;4&}O(tWF?*<IY8m>XSPB=@3MuiFB`=bzpN*TXcI~mFzr1in ztaMNJBbD%bmJ;_%Ls|NM3G5x+m@|e7@2^F(xE}Ok4osjO=TpDui4;EkD4#1AA`ZM* z9l3arAj~K()z9@4))_^@?1KUrxTHST4KKWt9AJu4l=C;Q&wcMy?;G}cJKWqS0F9q? zaNu~SWN|0f1a6NEu7ByCyg2q@Pa$5+vALg;NJ$O4NH;Sn{X?^%32sOZNGxIE$15kR z)6+>^O9O~M{~(NJdw#^PW83qaLyH=pYB{-iH!e2Uv7v$RVK3Gm$+X!N@c9}W+S0U&?ZacO)9$*(iDtJ81Ng_07xQrs;y?TZ$u>@yl?Ft& zm^?2|93>lzOfBIzOMWHD-0sak;D#g^#?*$cGe{{#57eN;gMMT0-ikLYIvYEmn-1IM zQY?t5MZcDBr=&ocppdTo`eK%0Q~(LOHQLBmZNOhG<~i|Hf`m4qI1`l3iFo2LvM~{p zcA&qtO=6zhK3WzFQp;KBp&pMOKGs~}xoMwQqzQkn#B0pZzjUxfI4<&)F`nPf-JmOd zFvhCvo*irx#9@KzyCq6@$HUWNDY>(9a_@4sQ=%4b`PgAVyO?5Pso1g@!^7v>be#z zw!OXcYxPDCgkcrEs8NNWSw2`CRv2Di)lK>|!FL6S>fflUp^ZhyMXg-;O3yIF9Bg73| z!e)h>L`w;5jr2D{Qw;z1f79HX3v;>@8-z-sM^Vm~#x-xKVQd4LQP+roOsTIYib4$y zua40p;7%Eyc*QCs{1ire-Tf68uh;Mre=bnxVJ(n^2%nfEqps~aAFkeG$`rK2Pf67A zT~r_tPWIWm*d`@)XVKwXOEAF_yU#2Cb-qVQtJ02?i|nDB*D5~)w!iKfEuFc?svksg zAfbH|MXmP*rTuxkK1Hly@!(V%vgn!cNP8nsYX8dhDHhPU)Ty0~h?zM$NZB+YHU`2? zPsTjl7pt$?{E9+vy_Q99IzY-d6=b2kW-1Y&W|`*7R41?#?03&~v3|MA50Ao+Wlb z_`c+UN5|U{7$x6gD*fs`r}daqr(En{O_M+E-2Q^tlkfiM%7V@pW3TNyntXS@^QFnf zzD4D$pv>7ZTa2ke2bQBrhZ9lwk9F{}O=Vb}TUL^|e6jKF(2s%2Mc$`>t&I=h2&}Dk z#Jvjf)*~*c;4m;dU3byE3iWfYddHKe!dr%HzVcS4&!xpwb?Ne@%K!zlSjq(D_Trvu zIWsFj=YEH7J{z%vt)JI?^Q90yF6VWk5RLKepsrK&CobA!y}_hV&t%F-OS^)i&ewwh z=a&l~pX5?i1k}9&v)DcTdmDg%rx@E)FB6I@CY_*1Hkdgl<2|}wcMDhnEm^rz zg=D0@pAUJUvIuYtq4^?O-Qf1QRALrTqnF#LU%*B}8?%~I(GL-dy0+NWTWCk6^(nH< zbIZ0~q%Z;6)(gf*NW2e`vQvLfX~T?GM$QVp(xXZCCWzJv<<{rhFq7%hU5ni}cAX7o zUJ2PKNC>l3+yJ)aLNd%`mM8#r8)^R9RcOTlCZPhTTT!;1$Jf{$XxuA7IMUJUk~x-a z8F_ic{xOBmo|%1A!Zi0XD6uwd^ih!0vIa?BP0NRx)Vrj@qC-cDH;g<}2|)oSYctBS zWC>)7>u_hew_bpMJW;EN`6zScM;1Lx%DdxfORO_8|>Bn84Gd7kUZ9KlwP*|G}6L zjd8ud3oG&AR2&B}HC3J76NSs~k4BJM1RYcrj!@LYu%ryFb?DmF~MO&<&Aq-Ff{* zm;qJ%nIpp<7nlM2W?!?BtLY(aOMnW)p~Fu0>_9DUNv;vu>buwAeG8jS2yXF8Q#|~m zRRv0Ao#aik;*n=SH47Jlv5bk8eA#~1H5*{Ek`_Pe)-DIcCyP29?QRh^EC&`w9%c{ex8Ex8 zyMU|q^PRc|#AX4zyT^NK$!$9KtTGbODf9PlE(c7WY@Ic-P1eM_pDd+WHKznRZ5`=; zDN9B97z#=kO_&Wi6Z&y-O*7FeMwnfGoNAq%Y-}Rm0WLSW6B+1pU3u=vW|lE6 zcTq6Yf5vLqD-DzjY?q3UbU5f+$2pi$-@3Nnl6cv#{e@bgoBh3)_bu;7Q%e9RhtquK zw=1e9KIg{)XM0^9bJF&bjo$+`Ln!VDuU=9=KMSo2!~hlOtA;vi7g37e`QNxpor2s} zXh9`5ON)flal z?V6s~>Y=sARqga)21XHA!+1cSEcJBvdBrKHUx53{kwlSLKqJ}P%Uw3UM%3AZ@<1t-XA(kou<>$c8XKCFCR1!Peh!KtQA=&RiVs*Ec8jD!>U-@Zdw1jw$&zig zkn=lywNxJ?>|YHw`!;$AT~JS2Ty(ZQ(bG%%8~ZJkr27q$B%V9oCR!obiKiQ{!&~6j zy)PnN{IitXRa_P?(l-ZVk8iQmqW4x&gLV%|0#tNc2~g;7nvny%EVAiiKS4|#C$eW4F6*u!k$$ z?|Tk2wFoP56M-LEr+%jv!ee*`{E7uU2SHkNT%{Ug6RZF9BxynDEQ;2v*a&uiV_W#$ zh;v6Iq}?7_t@?*2u~>bK0ZhCAw9I{fKn{OD%SUo}Fx)F@m>wXYf0grS^1mTa z{NE7#ZwS!-pF(hh1w18<`lnY3ZcbN$E7#hMo}0!$>BUn>BHyX()v2YPo-b(<%0nB= zpT!YznDDXLfc+TYR>iyUYDIaimSGX~A2ft^`1#}J>)pbd4?m_In#t*eW}d%V7WoG~ z5r%ZW7~WmvnLqJ?t>4yp?|9^}#}f}FAIkrmH~dvqA?|ojSP5CorYRi8VwiNincU6M z-|)LM=qt4NK3ui`yvi4e<-3b(7PB8L^A%p#X9h#wAo31sisj%jbK)VgqyNjzo&^SP z1+Ms#x0CH=*pKZk)cX`hG7m+=np%s(-gJ&Mr~W*Exf^bX{KMlO6f>n^fc9p$$T2)? zUT0+5VqweBBOoAH{c%K|grwvX+u3sSq2l}N=6m$W{&d&%UOdvv8^q95fgn3(?|@WG z?@l#TlFPsONcvB~_WwOFGShZXC(h1m&iCp^?4YxLlST SR>Na#Ypr_MJHc`?V#tX2h!7AE$lt|<6(AsB0T2+7*zh0TbMU<^8XzE$@XUmS zWG7@JudK|qKH$E(7rDGp(0Xez)XFrq=yW^;UVjbDR>Jk%qnfD}X^LsL3A z$nmkj`KaQ6CEQg9QBxE|gN+U8wo00lQx*zKKxY#J(R@a~&a=(|eof=rAN3kfZ%T#~ zn986;`;j97@#EskFWQ@b^xjXH>N^q|DICpDL^Nz3)eRzabi}N%TdzbgM>cz$MM8|) z8{u1J&gkY|4Ws~&RAz6drk0c+1)^dI8~zG{)Ip%F>x9=Ero&%N86E*jfI`x?1j*vN zZ4Hv9q*V^N2iYz3Pbs5nzhVd)@vTo+i^VJvJ`e^L{DA|3&K$kOC!ew53|M~F%bMOyxLzB67=?)LPX>mkP$7lH?I0bi zL`M?=yP|l056Yr^3{->N3gwNM(eXJi2=*}$J$YJeYOgZ>2?>G7$_Y2_4Yu5Z1hOsn$oM7g&i-MaN>>da5EFAkI(=odQ(Qg0 zn!M>jKDS-l#nyZ1=qI0qiF8EN#lRZEB{0Wm#g@OA1WF@13L}Q7rKYmi9 znQW#s!kq;Kb{FDU);E4SV>=p9B214zki91VfDRpGY{ z?pp9cdL);*l=V3($D1lScAT%hr&&*TUNSx6b_HE#Pz5H=?i#|G?k*AFz5oNrJ`2&EYxYDkY4_4w7GLIe=hK7R4G(!*K!NY|-v zi#g*hYKyG}p(+5^2zl03H}z5HC*&U#Br|mkPTvBmn_s29g^owKBgsBaQdl|M9=4b0^U8p5J1;XKy7S>FfZQ z!Z7;4cEzJf1ySb#j4?vs^Zj1@F#N7;&#wV%=)uAtru+_I?u?;W(>Ws>LmGY6ge-wh z0Jk7t3cz>YAK&b#{bSYgcoopi=nv5jk%~iSBp(G5sE=c;h9Gx@*)p}nnJ7spGO57P znK6MoaXVo}yw1P& zxW2m9QO+p|Hm@>oHV;11pLLprWXEE6t5d7vGB+|Woasdh(;tO5{=qiK62WH8#veXS zyw4ZGW4+sW1k&DKD~(jWQ`j%TDV;A`mwU_Wn)x$7IH^`BUw9#aG5>i!t%OU{zHrZF z?De8#d$qrI04MS*_iF`qiBSbsF}tiqrAq2tR(*t1R=t2*=`Gi(Cs9B|qD=F+X!Yi=<28DiDYvr8)GW_kG1|>S%vvHdDOp`bLT5K@@#TQa&?PzbKg3D8f;ib z8B|SWE$Vg3&D(}-y7$oaw20b?j*FU!riN>TuMwo;4&X6!RDAL@&annqD(EQ~*{#PJ zADN{XYFN9jhMDeJCg|7ql=Tp@gIQ!hF@NeX_txOl_`~3&<{(2VWt-fYDaXH=Ksoz+ znQgshxMn#-AIn_XRN3UlE@!j1H~5&UUgp{SR4?7EZQ?N_JY?)gs$lAe)cN|oddp?D z+mdJd;EPoD5)7r~9pg9U6x+rxSZN2MN2SGlvoNS*~uE z_$v_{pU}t=V4`SZWJN@UONE&Bn_aELh%L{-t!2y*#aW(5tn13ns`{DRN*}RQBt_&Z zv4Jd~Y=TMCJ~=ZqbHu!7W#O9f+TmJYtL~%P6TFAaee0d$jrPX!PT&LVBi2*hQ|bM{ zz0H*uZWc)tz8n?{+5s9Ta}{k68YbWu(}7Br6AMoxo3mcc^bTySreG17JlV1!v42V+ zq7XqrmLiqxBFnC4l05F$GA2SlxIi0tFEo8XG{(iU($-8+v5{h?@RIO&q-A)H*jNZR z?hVrtwX5`X8}2l&yp(;J!O8W)@WLI)6Lh@Ydx5cy)2sV^Qfh;8hB^jdh;c`aB6F2l zZ>DkX5O^puZ8Of2%xcn~pPcgPlSxKOK4&QVu^NDkmg!LMw}}d8X&QSHVOlGn%g@u1 zwNcNmi!IBYYtU-bag(g#isD=$ucV{wYSdEVUb0Hc+{D$c)pnZ%s>FKyD?d5!wm`qF zv6itkHWxkZF@>&wW|z&-+)zgBDs2@SCPFV)1y`!w2S2jzmnQMEu$4z%W#<_)jN}kc zfaAW~PU5at5)seS0^u&#GnbY9*nUOY(=XDjjYOAw-rLr_2iL2_(Q}=RHoXbKANrTw zdm9Z}r!0{)Kzfv2XZZkUh>UR5g^WB2ouI~63aat;GaQ1cS?kvuj z7vFXv-hMU$YjW~`7uQ^7&2_OWo5mNFoKId05e2@W%&TguoEPiQ#1TS@35#XCrCcA6 z<&ue|Msksq@>@H&KOsB@Z)xN?S)U4MYos^wXSZMN?8J^CTO(6@);^vJeu~W);6#9xZ0Ei2oO9O~M8@^iE874{FACMs&@pDVN*iQQj@!>b6= zISj4W+Sy+c?!WBc*778SbymkZcpPjlJi1@D;ND*t5_3L=x1N(o{Oa6$r3PK_a&D2> zo$CT0Gx0wE>q^TB!s+)z#nr<23Cm3OTi9zy-pt$9JO7P7Ij^bAVJ~Yhv&YMOT^+AF zG~H`Q6zr%#2f1aj|;ePR4kJ8ul1fGPuC8nw$8Ffe7 zKf5D8xO#C~IIDF6YVyP&k-mJUg#9@W2a!eDSqt4dAdmUuj=7k$h9?)(`_0b?{JFR@ zb_9|c!T=i@4RL~oNB@&g5~ADC1<%sQEGH*JD`7ju6HBA&qCeO|_bj~6q682M&=9(Q zJv~A^0f8MSzCX?(CgaFk?!NoMPu#bRQ63yog!gU0J>X1UTC&Kd>T$jA6%cI2)$Ji5 zuqppKAipb6{CVF-WSA+bIjBiXaU0rLG3o!XF)(6swz7RM4FSRH%>908W#phw>TG3c zZO`q@2mDtF?)U4zvYCOT|0?2O!3R{6mLnCiu`?oNXZp;<0^~;|B_-vx`(ezjAT0VH z;_r8SKvM??TW)4%Fc{1P{={TsXTr?N#l^+U!p6+T#`s=>(cZ<{LEo9t+MfL1O8!%i zu#vr?otdqJnT<8+UwZWoY#bfhPs0?=(NnlgP^|D45ack> zh%kP(AA7W!h@lCRkz)IhdMWKN^pP8~(DeMn^us<7qJ@zHfr2XCP%Rq}_{IQAL1>Th zw>KrQ>bk4!7geTc(!h6;%1wN-e200%%LQEiF6$nesJ!m&+QFlQ0KoxbZ3~t0;RTN$mZyqtzIR89Yw_gMg)!@-?t3fGCa+4&v zW(T?gE2Ta%eJ{0zZGhb)QkN_B-E`Qq0Xn$HR?Dxqi%BrYb=;*%m;AX^cS@WH-&ZfO zNf%Bd)R~hBvWtD!`BNqQ*AMHPzXey}`yC0FGz`+wf&41{+o zER&#y@l986_y_(>_;rmlEl0%w>W=~$CwrY&FJIVulstBACh*KED2qR ze6#wYq?*r-ZLj^jCz#+9tQcYdd7j0YHh^khFUHp;gmt=ubRZfW_7J7QkK z)ej#YWOzNc2rHTh9aiBHn*;8IF|{j&Fdg}(msR|pL1v$t@!Lg@VyE#p@oHaKB@J7@ z+h7?wC9)7|a1)cCo|iN|tcfj?X?`?LB{GLLHf z`c15`F`OT#LH?c@NKv47zL_|MvL8(;7^Ms^*?rcN9Hi7+O(8<~(Lbrjohe=!AE;Gc zo5M=gmU>-Ot@VZg=4Hb@3`XsAzmP0jqd{qFsS}|HuLZrVd@H-$3<;Ig_3r*2X_j8m zB^t511i~~;eW})EL{UT9yYPxR^ibza{C{y_HUA-me+_J zNY%loxABF96U*E*wyc*?I&b&M0B0Zu8jSS+080h%*pD1RIZnRCTYS9S2Ei}xvVsOB zK{1O!3GUFz+gSJVAOS}y7&=w5srm2Y17kGe$KkNyCmW6#-?ZmU7}orXW$O}|O5{1+ zC~AazRaQ-2?<@e=9uBp*v2EDN6QV;b#)KNF!O`@)+E+CUE6s4eB%j@|THDgjT*X%w zGD8V?Rvc~08EY3Ao{(5*P>bjLI=*&}I$IDF@UP)hNxo(9prF+ACsV}^*^_e_u)yRV zl{TP%ZR)h(xyicGW@~Jk;6n&TS5vLQyXZG>U8Kg7bcF9a;(Vs~hiUpFlcnR=yA(lx z?yC_ojA|&ER6{FpClU5s#U$sc_H^f~HZbb`MPA6FG@?D6`gi$PzZa}!2HzwKiu3RD zQM_YaBD^JN7e(I^KBc1bIpoh*3!fImZPH2yluIgoesLyB7n2duMX&b^R)WxIV4L)ywO1hr2LTo4_1yMgMj3DZXcd>4@9-3; zzHshriSFvXAb~uG52!=!qFS?huZ+YIe(b={fvVOJ0FxvJG5tvD6$p-L^5Um<{zKM*YCezw_pT1v_nXavp)>f$ z#G`7%N>pb!!B=wLBid`vygF05!Ycc_hDNffR7SKN?zFuG04W|t;R~{QNT~dP!AY85 zu(q^X)o(r}PRvhx;eB@`6+)Z($B}l*okd)9T%V?|9IwyHzr$R9Y4dJOVB1#_{q^x< zz<16!((Zy9TqH)2h@Cyv@+D(Q6Pp&x>KYz zHkmq>zH(v-Cnb+&dQ9DW&lZ>_WCrvUH<;LOnkpXv7j4Fm@tJmEes0E2Ah4s^w%L)} zQ*ctFyLg_Ec-$6#akW)?ft3&KHSLcvXMD1dthjP`i3!|;}BH!ywGX13A|ZN zGV>J`A#UKxMz9bQxy>KaGQ=T9SJqs{S(0c_e+ULo6 z<13iq2y3khf}l-+99J&C7&N_|HPJDoCyyS&87K;V*a)80o^C2A6m>?)ZBJa?8&`+$4NuU^R7$N2&*sZeEvZ z-iA{*?BJWqH=!5S^X?&+BhT{X5W2=A0VcjAVR82vg&nbw2uz%88%<=KxDmXX?0NJf z&kRcf!yIqBV*FEwvh_HmUfo3-9AhHEE$5+V8ZImmv~f)~q7JT`FCXAi8st6B_;z0G zQzDK_Oe;=_k0S!Zs5n#;Eo%3E8O3qx)&Xr+%AhdY?|Tm3T;Jv9EK88Fl%>Wj3#q_kIFz3|1|hdUtR#mTNDk@ zVz?T?(A%Jjn41K$yK70};~*)d7}!J~0^#NaWQyMQhxpe{aV%+sZKrXn1KPOMmA>V( z`U?*o-#6_zDs>kVSqqa2g_Pw&WIN`CwuoO+ge*Wlo8s`sF&;-6oc9UFIkhL? z*_?LHFvT>CGIC^AUP19ys93aDX~Il4p+Gu}ZV?T-m((eJBqp8pStSg$W!*IvqBD^-`BQ!+GZLqkBrY8ec~NU8o!->CW&th0#`gn61*_${6X6;XA9z9& zxB7X2)~#p=?9%aaiu>k`C9#8j@r5DL_@{i@C3BwJorG~llxisHuUm%C4QksOjoA6K z+|oYDl{r7;D=H-FZc&6OLIHedGflW4!rh!wc-w8t{gs9g=Q)W>bZaj>BH>0!ERMYg z@kMH`fzOqzYuO$2DBj&|_+?L=E?c4sf}?lhyC=cK^d@d+vKGejLitG&0i30I23Hx% zm3jv4n$fr}*o+VSbuzb&6Ut$?3!^VTA6MX_00Np}Ad;*@E9z_M?iXuorD=Z~IfsS7 z*fNx|G}@v*hqxzQsynZ;rx&pG$*;3lOKu|bfYNMnyhospb2e%-KMhn412x#Dlk*`r zswdvU9)*D7&Vplqr4oHmEiL@IFiwyiNTWj7s~b{pxH<%Cr#+ zs7ceJ|DpbZqWYQ|9kv1iBOQsc^A8`SQ5ybpN>tJ13CEFgE88ocFx>}{!u-9h`Gr4^ zf()zsLWFV?@*+?s^0It$5ScG~W$|g2b0pm;WULw`z7^3&Spbbzr4UO?hxC?&D7};9 zh}lYBIQJBj%E#k7haSZ$xA~Ev>nGt|m^ZpvI+Guk3zQL(9F$^Q8~R*LPMrPP$riNr zTiL;e4NTw4>h-dm^h_B1ZGL|Zj+Gmh$x-wQO8Qn=Ed80E@2+rap{8^_ZvLXb(Rwaq z3_CDeQRn+pt!cOaRs2@VO+CzJ`>mDmXH+=|)q&rAV~)g224NPd1r1oCTRkHeQOmuf zSgGir4Du;|-3MW6+dXlEEKZFSO`KZ_LsoTMD@<5dxfS9t-CRtb&oS-65TR)lyJ?XX zE_fIm5=Cv}l-uRf;^#R^!}U!25!lS123V{w0m#uT*oz~^ z+y2C;YHQ@XX&-gPQTm43?P<)vwpgE6ABo0!PIyH5_cGjRRRA5%w8^p7Z+N21=li_= zzH|EtqXZSsM4|B^f-oRPdU~>}KstHcD~#25uch%}2Ep}N2{v8;7B7;>g7AQr3+;*m zF6RLdk@@l40G!pVkVQatqaHqS$s^hYP>U;#YmWZ}sM_XtS8}CbCu1#a)3<1*9yeU~ zsY>*-R0FBb4a~@Xe5fj`<S991`I^|UTis&d^vFhN2&AFqBy%cjLZ4B+6Yh)_a;cL+O zDhza?dP!JmyEB10R$J9`Up==SgzMQv@v%m!yuy!dKH8dW-ui)t-5@l}kLN0xBB113 z9Mz*@4HNEjcr4X@83*Lz+$b9Dlyalmbe_9rYc%vBG9NdqB|j7ivdk0ppr(&=`{(20 z&lZt1G+eCPacN1LF#xiCu9f^aj5{|3!O1bi=fmB2{n{1nRG9VLN5O zO7fD4f>83sW4w0M5|0$RiLJMiXGILnx==x$^@|!3Sw(AU8LdLuN_^NV}+~+M=(ep1>_OT zsTzg$Z$4<*HwN@^q5t0f7ykGzz6v1rZEZh62y6es*?!Gi+y1ufTo$p7$C_z*r< zMBy?;#HB5YpXMlIW`78*FCQoq(KJV}OKA|rvccC9ml7Q6l5#*pE>N5RUZ1m9mN1Lvj_0Ofuw{eO( z17^CAi|Zh*4`s!mkij-2&bLn&=?QG!<1BXq@6x9){Z~*(20e$^S$p<$O z5ud8AmlZ>fh722$0_}rYaoox40Q7$J$@xz@S8fs{TkX>;Icq3U>zm5h8Kb_zGxWWN zs003x4iuxrtFbfv2_`W0U_1d>SL*QRfG1J5J_s zkA2Db<3b|fuYoD&zdHV52$qRSrLO z*)5jX%?a{}ee>JWSXMhZyR|`c;9j%Sa)%<_#P<2tbzQTRM`lT*>bcn+L>O5B_s8J5 za{*fH_!q=_9f)3rBm0L3bIsAG38@Z5LN0L0OWUz?Nl>IovC7P*iRrJogMx!4d#T`Q zlv8J+@D2AEx+E1GL=cFsllNu*^+CY^9-Rgn^5?oCmcE)Ab$_{#7+Ng|@w+8?af+sg zI(D)Vbzd;rxxw>O-ZGeJ5GJ>oRzM0;84Th~pxR2pM3fWZ^6)4sf5xc_OAp-K_3lWR z6xJl+upybay|ZiyIU%G9$a&&V{81QE3aNQgbOQ))UuHaIuh0%?0-d z(#@3wK8|TH>W{Ntj(X7g>l-)wb8^GL-z+Lld_0(bWq7o&f4l4Y-NK!q1RPIpLc%$> zEVh^|O{~m*YyE0y>+k|U)cnCJNVNVud`U2;d?TEbomq)n@X$iG>!;gNy=ayDc~QK- zMZ<-S?9AkY^V1!m-)oG0hO@{BH%uR3ZV|)9<$tH?n#giRuZsh8Im7PwpxB`(HJkXS z2kWi7NfU1w$lKWNC*0XFJWwC?3UP&D?sd++W_ahuWi!o`Cjz$})d&#N&dt%Cx&{WUTR zj_(W>Bzq{on*J2b!HnZnVOiNaDW7esAbQ1Fo|?5XWWOY%*g8N2LGffXEKMW!aSzGk zkz{2V9m*1(0Vy7vXk3U%lrMQ7tBclYz5TvKM*o6Jj#26C z09W4bl;!BKv@dD<#Ig^Qpt>`2Sg!?V_-2Um*z29AF_Tr#xvi*QE>*;|)+KTg$5J_61*B>KGjG8uq zpIc4~IEwVdiKchQ9d?rTt+xBR70X7{UD8jv1QsdC-WjV{i28!;U*8^Ycob>THlFoU zNR!+!`mzeZVb#qZU8RvyGD&qoIqLZZvGA*!ciQT{Z6O;O!l4zdl}wNu#uu?1w~U%* zgy1?6cerkT z|K-)MfS!7Jfd7hpm|5FbVP)_RK;dt0og*z}@*pJW!3hXuRfc)|iLHGuews0R-u(QF zVrS_!Drbj#^|Dw=|JIh-B*>Oq*>Cz|Cf0UK(GLgqlqwG=lF?Pw7Oyk1f4KCMVjGDV z0A*G&Lh`y&i=(90cf$ioCjWg)w}9fJ(pk1UC2@he^7R0W4%j{DCUVPbHeC(XDf(JL zpe6oGJDQaW8`KyUIou%>7b-{daA$neyLj_(KS(84Y_NO*E;Ou)t^Eb^7fx=}0BH(# zp8_i%Phcp_7rJSM(z>TlU)Tj_ji09Ts{ye-;62pd>J`vnd|Gk_b}r!`)y~Tq)!g&D zcift(38O6!!7<%j;7;cdh)Ew3I@wUZSV*&b_ySH3^3nw5>I^&<#~jR9Mm-1N?@KTV zQ&#b)ZD-{VH>BA!c$F}&sBXIxwalCo@y%|{o{i71M9!wxKu<)QqQg>l>~Bz%wJ;-0 z2i^@#%kqB6RmfZ1ZgapKR@l>zf#Qmk@FryXyO9up^2WH|_3QmBMDqwddpV?`iu4@I zK-0a;FWQpEKm+W5r`-KqoTrt*Lul9_QB-PmK|#^`ozptoZ##o&Sl~C5$L5%M=6Gfa z4LCc8@NFiV=`=%EELU561FC?%cPY%L%cE)uyV+f<RlS6l2jZ%>CmLi08Ut#7=SF1(aLmh3%8PKlRs8mX99inX z9OGgTvA2Yhpa)T4OQ7^_TMQWf87`dzvXK?Cv@LVGQ&g0<5{ckuZ8j_IYv~H+9ECZ6 zJzR|pFmeScT3b8(5=)h}+cFHfiga+aU=^NfY3%$tyWJV*BwAkA;EYbvyJr|y+{h&f z1M4zGj5gZwI1^&S^zv)K3MrB_t#+K6!sklpZRsMqMqah*CxTncz#VM(SOY&BlHlr0 zq-yxEDx5Eu4k8&MX0j%n=c<{yd|Wbo?Qi2mkJTA$HtetEs*>)%7!(mzg6W<0J|u*P z_sQy7_f^3v@Kf-@x`ErmoPO`CS`->C4Ch+61p*BhHO0@(=iI-n;JdB-VuSBG%#BG^ zR1Pt}sqd>#2Sj zy~LDXK#12yRWlhfz%v5<_itk(^*yk?9;T(y7|QW!ZHdgKQ6sd4MRLX8O>4;&8xZ$r zFdabbf@gz5?3cf|iRhnQF{S6-aCiqdqL>jUDSE~C6&8frcf;k>H>eQf`j^(y zX&kfQUgqfKCg?=R0sGwc^OEK9CezUB^U{0HeY~L`baxzX491}wMGWSgPf2~LQ4dOP z8#zG-L$5&x5kqR3Jo!HE5TX5GpA4NxWTJoslVQ0$OpY4n7;;eMj`$1!kWZ=r0#Omi zR0a=Eto7`dKdG0lsY+tq3E$D3-J&!J{@pxNZ1}!U8_CZV)RqvAt=~K}Ong1+KOAIA zcO5RMD6Uf*5JnW2w(~dxV=TA=SHx!5oYF&`2=?1v>%nQIh?(qFp}0DyElx0Ot4c zVLx?+#m7F}v^e+pA&GVg^wePyOSYh-J-7BFtOZ2Pg%xca{wTpu>I$X>)j08WR$9}^ zs29(2-^2AVaDC}VE?(EBO+kqXvS(D*EAT=MkO+{=s zAmK$$Q3^e(fx&Nj{xwCu?ONo&hjLduVU9$^pCvALkVn7(6?|XAMnB9@Xxe9-iD+DJ zzwu5_oWd|Hfte!8`{OW~7+G1ND!?Y_<|CQ2$<**q`U6*tm|xc39jB)r3x3pnn*|}b z=Hk^o>bTx6AE!YN9sJ$fZyBL$3S@P*3M7*76>TKy#j#Pi?s!J|ffx24Q^g&&seC+F z@!CktP7}%HvHYF^3NtIt?7G0Zc_~6rJB{+n?_E24B`XyX_5F%p^KQBKdS8gyII*0o zs~Dn>n%-9!M7bSTP@SGVvVoay5stphc~M z0qJ8HCUy*AG`S@gkVqQeT^egB&bvgWH4rivD_R^oRc&wC2tUNp4Gh#7=_|P2237mt zhE7jBG<^vvnrlBzZ&a|Ky&0uf{j-sz#ef5;ie4Ka{lYx7e6R$gaNLU3K7gLtouaYP zw-FOK%S2($X|Zh}2+CWbTDZa73yE`z(GY`YRqk zr^W04rd;9y1G{Pd@Fh%ZQa~nOym+C>7GBVX&T!Q?Fn2kqXfw06wBn#G7}TG%cCgNh zJ3C9I^<;uYEIA_JiVBJjcB8L`T+v+HGiVwgG`(&)mr>Gb3%kP6++J7dh=4?usK!js zo>WmW7pD|&*xRGTY0zqN4}^vcGUWA3Zv1CBALHIzQ|9MWBhJ2%*P*Ob@)M%4oJt z<=kA#I{FCemUiOYEQ8XAFQG#*kZlrT0-Y7~d7y456U*DR$tagHBD>}a_kKUoCab7p z951|AJCE4vX)-|b)%TrtL)en z-^pj(l4{SDs3j3^-d~k%%eSi(>mSwC16dB@<(*s0XW2B5AF47}h|c47a!M&TwbxRo9$q@ z#}VAe=m-VurP!Y*+wOj!Y$9(xUVOnBA*3kO_20R+*B0(PQfz?_v>=!-_mi&#ZWm`p zGn^4C3n*ze20oND0q(?MkAr2f%4Tm%?su64N(Sn_l1DX|ab=)&={*KLR9Fj~Vx-+V zi3P*!5~bbJU}?#o>G=O>gGy02buLxnxmBVO%os7e)cW9t=6@-1YxonW#mPwQFI)H} zV%Bt2lNV~8F+K7|X1u3So=fd3dDm9E-LF|4o;FP(7No>_z~jk84*zywLPX-9GhKn7 z!FT~D#MII8UNeqMtcP}}qCKS9H>~6o} zy$*$RJBBr?hNIi%d4m!CX8hpb+S?`hA7Rd8PoId0L;Wjd`@_re2JP?(02M8+1DR7T zZHY-<%Y>s_og>(AI@vFtVx*3yZkX1y@~i58y{oCB>_4N_eAzoleDb+3Tg-FA`fq(L zCgs;g(r%1@(7Al0^fJ+}?;c7O;>UNyt0&a$SdI$TvF17Rfxj<~_KNix+_^XUKrDC-jEYW=7{s1qwVrwY z=>bbGuVk_IxUYA@g8@6ejsBxOU>dH$a4jcC<3v%EGTYMdd-=;SP4QI%=}WMit)(HA zu?2kiqe)JOQC#B`aT7ICmp(Y?;Fdh%bjg?8>6?hn*UOW>PIRUtca6W83P*uanQsJM zI=}Mg9K~*=d+sZ&7~X6D#wd5?rK{H^I^WGZzWPu{%v3SWbVujfJdl5x3Js}MDGH8p zv$pAi`BiFI2MW(PZkG(PDAQqsVeCccbCS0bb6A;lKnh3cLjKhmF1fDf*nWF;Xaz*@ zXxU!=4PAFu*qopj0ftY<+hu%qAP`oMde$T13z3M3;i1Jm@6rUV7bdpFr&>Ps~% zfybHcKn!lFgJCDC7ap$``0Lwi<6Er%fX&+wX1W!S@x+CI!-{ys% zZ@@s+q5t~|{?7V*H^np*Yo2#$s!~vp=s`y-1XeQV2#uU_0=}0Nf7kyP*VLOz=$+CT z+k}+{|G%jFH;?qQHWVfx^{j1k^zT8^{{ok@hS0L27JgX6QvcJ7`%kv1bRvX*Z-JW) z=coUzA^$=FOxfO>|0P+oEBOCnuto_?Qwoq(AFdIMhy5LV`>)oeAiZ;CrT0{9fq&l! z{AXJzCLIt~G6W5rVRA~^duX-qC^6-u%WaQVz|9)RHkjUiN%RZ4uesB-=m+z)>=7qC zArggc;kEc7GuQiQ&potpZC;)6(v728B_QKX56sQ!26lcrzN0q0$PZGTxEP`LbDan- zA8y)6AW@Z%d;QwmyuDtD)`=_bVKd$|roSmkfq4PwVfO21UD5V+k@l$n%h<12!&pm_ zu{v&k`9WRZpYcv?Y^>`Z;fw4%iWxhw!X!F9Sat@sbxLZ!q2T?EcN+0G-s!`9X~rCS z(&t^gq}P3xxfXc4sRd74WN!SD=y__qQp;}rm3QQndfUvsg%QpdC;k9Wpf+aPv7)%gLg`?!% z>fCARTc;RsrC72*KwI3a_ovUVH8r`4Gpl>qZ8;YbHo%XptHGmBQ2xlYT7lq!ZmuEt z;s&moM1&1M;nL8OIlJ z9xsAneF<$N7tZ4Bm(wxP$07`e943qjsKHR9Y|y?4{;`jw$F?t{ROB5nht*`9O^nb( zp(twH=?&R1W|4kbpWPq|+Rjgu$}(9Q+pb3iM0D8x&Bx_Q(~UN}cYlKMn|BYM(fM?0 zpsTc=td@DjD=gXPKd~lSnFxihC{%50f&SsEDTMiOG`nd|f!vRiRPRXp81%BB@982^ zb}g3ii>jslhHC9X&vq6CZFtE(jFN#{XQ{(uW!r!sowDneeN|;S+)gu`g(j9uzSpMu zm32uYtnJIfCk;fYWD~neE|gc(F}xiFo3zf<)c9U0TC(Ss_bex??8v7(BJ?9f{?(f7 z!avHJ;F_6@5hJjW#HyC-TEHCS9cpTRoA*nHxUDgQIXooRvHyT8-dBzHFFd!}`p&#J zFsR>{WuqI8OMLWly&Rjvh#hgD4}uE)Q-(tj9fcv#(TBjYaM8v? zi!hREl8+6t@91bpkWDhm#n{y%e?;D2q)ib{5cX(H)srn1aLgn+K8^~gQ6$oOHHA)B z`iw!SSi?bfw|L9R2xS~2-Ko^i@*nJ}TI|F>6qf7J!4Y;Hr4iQHCIvXw#MFc#VGWnj zYx&{78Yu*4(WJBKjC3IF6p01KrjUaqC&1TKTeEB0-BKCxhnHpUJDfQ-(pZt#b+?NW zo0!|D4;PC<+w9`WmvlPLoJbtAWHxKP;XKQv*^-z@?7E@0ykks+PuPIIe9cz$wq<;C zJ|XivPY-TB%@6}!W$o>42WSoak}Bh2c!rxxF^J0aqVxLq@y!$>n@Wdo_-Fjv8Vu!) z5S(tZwNSF($7QTpf|}#CMeoUjcq*8KY7)gQ<>78@v*fP?GC3WU>N-)71*XC0Q(BDxj%p@y2bLvI{E#h!Agc*`liTA6K6>&f5#ts1m_!MbnUKL3KPCsdu|O#N72 z9z8irkvKW)r*2Wb*GH4aG%WbrhY#QIuK%`e(TNrGGbq@52Siv~1(6(#D*l!z&*FxJ zePZ7Mmkp3<$7t&jkvlDbFPWn>%7)JhKE0UL0FhT*PluZx3fgJ+KO>f#S8Rop%X*N2 zbFeD5T6YEssyT5KGtHR`T~b=wiBpA3Z9!RQ3WP*uXk zb^po9DNLdqqe{|?dUMekHK0O9QPG%j21~h~b-Vfr<}eHL%KT&hF94MS0|fvm&nGP^ zLEGB~!H3lO(~eE8fJOU(?DgfG0Op)YO5IGi9@nLa?*q|3Q}F2M6gt9avVsd?4HS9R zlDKq~s`{;bs``FGwy7e1&?x085z!Cc0o+bv7llpEGz-bjGHqY&+dE&C z@9VX1!3m`)^@9^5HQYpc9!c*+292!FazkaScJ%m{3WSmxt)~Zhlwfr4ay=czR>~1! z{#f*K9Z+DPvD#o!8|f3#+YD%6xsPV4%wBx8yBAq@L!0L10SHC6Z4%{a;JSw&ZW&xJ zW0`m8HLZu*N4>@YX`uHhe(=kSy|cZ7h8BTT^JxoVjZ@x@238nogYf`ktaDJ>U=VMnlHa3$E!NFvpbD9U6R_|Q%pD@>Zk2$f9^m(7V9ijylXf}rE- zk}nb^ImRS#TMM)`4R(l*8IcxDV{BSUkcsmledXDnncPaj05tQwqr;`#yf*;R(G^|ryH5GM*kba zOW4f)oiA~jCnI-7Sum~{dV-nX7{VxwsOq5)N&mw|Nc_{WLg=IX~y zjjmW<#qvmXLn?9ULRdx9Lcy#1j~iOt9+-t`jixu6i5`Y~)qS~n;uy=7EN zqD;9XyKlU@zS@eNVpN72^E=0h@bcX)y4_bYzXtQn7&B^YJc6I9jy&GpqOy>7bVOP% z3DEZl{%}=zfL4V5mxaO`{g0-&!wx&|zi9e{|KijQ9wbK3o1m$;fs&0U9%DgAz-LJ^G|kr*n;p0g!+;2O z&~Bf!y3g)5xB9Izu?MQ5aMbmVxm_Afd?=;6i>=%4R=QnlFu_I8PAbwAJcr5^RdXYb zGOI#vn;}Dao#~F1D>A5Dn3{cg#99r%9?9loEUIg1fr~cL_8Stg*)3 zU4k^u?d*Ntx9V)NzpAh5{=0v=n$=COImaAx$TOcY78+Xl>cLW(c_#Y^ixXZT_>mg{ zH^Qz`(1Nl*tt@6xR#;fFK(v-sYC3pbL7(61ID@O!^}B*)D^1wsa!wJ z9Id^u00$ZpEE9f3>-XA6bdR|Xk6KVmE|nDQ9DffzCI4Ek*?SjHiGFc> ziZ!ueMUCQWjW;na^+T({iI>CcGK@>JR3L}%!8z6saEU!?g(=Y3l9SnTK_BxK)WM^# z|HKGd2@j~u1si`0`{g-p%n-dFxrYp*M6N)agYh{*)Waoakr zo1k|w)bT9#Jc)f0D1U{;^81>}pCiEN@Nn89Lr0DrC|%Tl@x2DetkqEh1^fK z1^o*-3iVR&a!<3XhV4DDnlaO-oSTdUw~0)^FY!K}uYA?%5+P zX->t@4-+$desr`=tns(muG0c94#|$BgIo@1%Us^8=r`;gOtPY{&^prgO-EuTCOP-z zEfL;Cq=b0MI`3Lm)TH-Jgr&%P3rzLCSOTG~9`s+1eR6Sd3e+1sBnH8J0819KWWdcple2Dcu95l+(Pf~QK;5;QPh_d>+##|Epv1`xe`bDo- zL^0zAZ6GrXiRPu`6AL{W4SNTTb?VD9{9NL6y@fs{M2t)kYi&jJ$r*b@H{?>k_5~0 z`s2N$7kjUb_I~7{TzOM2v1Y3KiwH{up9CTf)#n^QB9b8|Xnh(E|5{RjIen8oYlUWw zD=!A_Pm4}2OZ6~wh1X`#niqK*_oC-C>PotcjW@$%McnHnk?P2=ybevJ{T}%Tg=W;E%Je*(YY4wmAWOCeP7aPOq0-`b~z(bxJq` z%B>A_`F5SPK(DW|Bvp{dN`~-k3U8#tu~}b(glc{B479ihun+vTEu#WhU}H#6Xj9_*z1@)cZEJ4v1K|Rj;V{(OiOX467N78mukP zSlWR_Oib`Ro;`tz)lq6W>e0V_@ziqnx%f`CFrh3k!|uyL@l3d|a9M45Yj~*HI~Y|gM6f~<;%65T16&DuwwoLI}362=kpJo(~sI?yD^vVs#FfEe+?yGU3J%M7wO~|>7JVxle1{4F;5cWXxylTRAQ2w`gIJBQZi@Qq3&pRpf_!bOzD|VV!bkNtS=dZs{58f70-MHEZyv|r zsV73|?-#EtJgedG)6e7C0RZxt;=!l#mKumtMIJc(IRGImnmIc= z^_Sl;L%zQ~AqvoPszj3=r)DFTG$H?D9Vvb>^8>G>uLRs|&e=S7E+v>5ofM<(dp`3< zVpR zmr?rkymzlMhTiH!*ULPD)1S01jA|6kFbLC<(Kec?{TOn7_QtegQaljzxU0D=n>#f$ zewZ>wOH4BhMcZ;t1>wTntFUVA&2?%LenjIq(bdjuMl>J8=e>=^jxz;I0OrM8}k8&qz0a_X3DE!C}SEG~l8+ z2NCC@G^vm2JDk-q*B{hs46=FzlzY6fa7wqVK@r&s^6Jq>2A$s4V&{%f= zn(;C{syeOk%j7VcY=hu_f!ku@w>E?(Q0TC%<`5I>HF*1~N|LjA;E2n78JIC>V@p;d zsmaqr=n8q8#IP0^ClXuzGo#zinE(AVC zQoM!HMa|Ran&nzQ`0n|ZSNL<(>guP?hl@DvVQwK07-7l@!5<4lH2_k#c|nN1m(l7! zPp1bT#U_^gvE+N)0aL9&Zt?i2u;`D%<%-pkv@p^4B$`xhUs#9Ut&S4jU zpUBB6hAAA_U`oSSavIQASRs5UfSNnZZyJSppPe>D9JsA;l6=xtf4*v9)s_cdm-t5o z5v`YdT1T#)b!V=(LCRf`aFy5I zG;szRmttt|kHxTB3m}Z+A@Hdl*@Q3def*UD%N7#=mH|(EffnVjc)QdvDKNn@3HN~G zGpsxACIeFQd}~yI62>u*TgEcVsLn1)>o9W~*aC(g7dI2DP85+_0;j6_`sk$3<_LCL z2L`7;cxoKD#LCTE58}x+Fiiq@u@yrf)tQj=&orYrdS7`QUZMd6Ha%&+LBNX9Q&6-D z*Syq0i-X5ZQ^h6@(1WjB#YwBC@INhs{GeY0lesIrS;(-KUK^I)3>~y-*1Vwpqsbc z)f#Nv6djZz8a`|&I^fG6*VA*N$1Aok2tx~NE<{nSy4gb!>-@27RXk}?N^K(2!YJ{b z3CHl3JWln2HL4Ir?~3lUSoxNI_o`K=)*tyrkWxfnzsI3j3lvR@rlb|zm!ruB67SQ*&CJ*%hW-ld zHu;N7pYUnc727Fz`lZr++}nyheGkrR&n zDhukjUl#6)w{#_M3vuuD0X$@ot{z_i7w1**j`Ql?QDoPp{spE9ZcWz?X%Y?8i|4v}=lYh`hILV=+lClKv@-V`W@0HuNqJW9ufr0uL7Z+%F5pmDC zVrFvTo9}25SH_O26=Fh>&8Beb9z5slj@g@)#3_aEMHB8AAcxh|2} zde;YevB+Dad#6MMZKy2@q=0qb3K_0Mt;eF7j=hm&B?qSw&j+faD5tXpJ2r_|?R_Uc zSL2dCHs-(CS79hl&2_yJ%WbVEw`G`s4XZq@#I- zyF7-gm8Y%nyk}{s`^Xo^wU;Bn^ASvXW^*JX5v`tL&90RUkUWb{Vc?#M^`&T+TpOGN ziS}xYrq7m0c+aJDVy^!84}Z}mgLEu2DFXyK5G$UZbuBExdLV|BB;^Nt=Fgg)B7sH~ zvY*?O^Om7od=Hd!wFt#!h2@Y`Ls=HZGHmyABtF~M za=21imn&r@;ha~dVuohYVflJ>{z7i(*j(u!Zxv60vJ@;Z2|q zw_^T%U^@Sm^e8rhT_?2@Yd6P~7eiI^FW1p4rp(;uj{}!a5kbXF1?SR8rRnFqVyOc!snz?Ii5R zH%kyy1}D;GGl&#o_ME6eBh&180!#k00r;w2l~0#!oJ(4GI4$O^?~V_&A}gv(e}y3j zXCCxd?H(h`eo>cqWUAQZp8b0A>F4nWUhtMbn|YOyNL(*Io5$;=PX0Azz#M0I_As{< z4C>Rv4n{Z_Zsl%A-ly&QM1t+cP(!05TnZ}bnB zlaCD7dP_4RtZ(2PE{Pp({FWm(y$7QNhbQXL+>YKkw?*WA=%lLsr~7NznOY$Pf%fo9 z?t9o&q^azp1>vKgC+G)D7oUkpkJm;HFh9-9g?tFcx}mH$;MAvB)BpMNV}MQj=(F(<{5X}(oT;BYQRaT3Il|Kjn^7};u} z(PzIAKBO45O867W)#K3Rwbm>nP|~|nywtM;3i@3|W}f6Ol#HTOiFh5EhMi4<4Hq8kxHm_Np|M(HAt^(T~>gU2?O)*t^9BRiSzTq{nni8t_8at+RUUZL>MN!0IsnB`R znoyQMXOM(s?juNNHIKWWz08@!R2gbT@QG_Eo>-4(2#gdk4FS>b!3@ajEid3vaRg`E z5$SqFbD-U0u%O*zi0jS-F{d-`D*_7FXDY^CF(>MKG=z9UHSEzz{VC<{-Hv;v}XrOck7fc;M#%S^(#^Na@ausswL zpV*r)*=Nvu4r}0bj<}DZVb#iJ*AdQniu&4|6c3lCEV&h zPH9@j94(2}2+QK@a+L_3 z-FC*BZ#|k=bZ7R9zitfRFl1r#A3r-X8RNf(r>W5Hgr^Ft{bGQ>$h6zN#+y#RVq5#o zyv=qKzlc>WkO-{1!+1(>uk{5u+o5}*Bn|42*GEg}0qnJQS335frQDdjdHB^gEwjPE zxjg0QVoiNFQDbs?2%pq8o_KP|nJyEa{Ok3AlGW)l*9T}5n+JXL-xPQ)G1MW?UCy@^ zPwhZ7ul;W(LDLf3Na`Pwo4?5fSTRt}f{_1k_WyDV{`n@W3EFmRM&lS~`zh%0KWu}D z-)*yqyS8MWLQVg9Ryu`nU8~mLO{SVvlKXeb}-*k`t^!3)Kr<(tneHPm9;R?>+g#N4KpvfU( z$neF8?b5$bI{5c+i7ZgQJb{b;M{>jQQ2B4UZL?bc`=kY-!^K8p4kG$j$!&>2Z?EN-TD#up+YUNL z?clj1wAuIYzOe^eh(D3b=p@3<8^C|MYF#-~Y=sU7f2flC|MlOwRc?KH4yJGmlkQ9} zUsT|zL*uXd{tuj)cUN~O_p6Y;!|VHE2oIKp@YCDlyn^07wcF4p@?Te#7Y11rDsF*s z!{vYdj!hVpF60unAfom1-&cg>ub5jd&+M!+-|Wn>jiG5BC20h=R@rjve`V$1<+CKW zoXK99Jp9j%`4u(=4*Cm3rL;ABpMSqpdoLR|NP%^|9>IsVppNap@~8Tp!u0%geIUUgjKE@ zuZ%^X$nbwun`G4HxBBC#UrPMzcN%^ZnHq-5Hv*oa@&^8vc4F4+0h2N~I zrOyrDF#mKK{P*aQg`sQKU1bP*I+_1mu^IfmW`hf2TK^wRF&yZ4k^2(3{?-0;(m?rU zYc%#$u7v-3r~h{aqxWJ_Okcto*w7yMb{VIqxa1|4|KdL>oBxYe@)Dyp=KBL1M;3Kk zCs6H_AAO=wl&@@k)hA9&^3Hcd^4c{|?x$WG#6Or=M_1`$j^iUhd1R|ejTaoZUVq3s z{zs$iNk%RFp`YU~dXS`C}WJuVONM zx3gbEM8GAqm6#rjC1jAy$_bb|FwawPG*FtMPKy~m-$ zYpr5d-o-={TipsY%z^`!VhFHJ^4@AbK(HlAqvO7Y<=>ntyw4UX30C{N7@HJHlJGb1 zYeo+7o)!E#&4-QsYUV`Yp0r&_R)k~aejlz$lPJ;Zu1!VzX`DHN|L!WrmXooF&1yNF z#e1V7Q;J$hCaJ5qNoo(R*--;7384efK7>uq)DvlxtR6}}f4BX=2Jye&G?4iik&~!> z5!f^;LJ?GCb+F(73Zb$LYYXS7vn)aN^KY`#WSR@=uJ_e5XJ|3$%^*m5UT?|UD2F&j zRK!Xi1F(36#PZb2|LrQUB0I~;NnXx(Wwy~Hg#c?pq6k%-P3%9e%{?G0n^nL7iaCFG z6p0<(>KZ~&d7v5P-jLF0Qt^>jY?HP7gpKf6Yt|3i0_|5*r{wLea-jI9nhi2fs z1XI)peLb}4=KOn=O%`|?L1N(CQdR}k1qF#%{=Qd7i?R_3Mh#@vj;8m#xAli~cDJYV z>h_)(&SUMXQn9*UpI~I|4lNhzW`DCs7TgUj;29hjWb(q@&_b$E2_$ZAk5W5yj|Kpe zazeJ;y*vwmX^CkYgJoF-v-)r8a&d*r)<<8&ZF4g|a;$$s!;!Ez`xDY6gA#**e2kcNVFvSHslf8>@Md$HqL)OPs4Jc_m$M~3b z{(j_lE0{7aEjKWC++Wtk7ATeJ;mrPRd2~R%$g_RfeP33jwg&z3K40%L%P=*1Dc7@{ zLeZ<9A6h6dk53iflsH{6RKCtVmn{0wdrEw{9;IGLI9}e>(DX}uNGv5JYC-7B#wQA9 zhG97iA$P3-gve;88uVFLvCsn-bezT8ZRS6l3&s~P?EXNRbL^Yfc#Yj1rSzVU7*p;x z@z>L_<7!kEv+|KZ`ToB;4LGn~az+(4PjEKKME-4#aCO^_5@=o=MS1ZeMkUF*Zc#r_ zw7mX2iMhWd)bFqH`cr~_^DBdr_xXs%1#huWc6K}ld6AqC`gF!doQzO959HMIjR(;@ zABXzs5^y4PFMBi2-p!>>TIO>H2&M*y?)kacPq!tplOTSYUOE36d)24-g8%p)!|PrL z`#mKyu@O+L!Bv>xww!0h*7nU(95Ek6a4ow&2WQ_VVJ;c0(FG@fUCSWic-#hWQ$Y3# z)zJ+Q)zCmWO7;OVrnU~#>vMK0IyGSj@u`MZuQ}zGzOY*=0OWlU$Cu-CYgUL>I_{W< zv-uOk3EdJYG|<>52OcviN}Smok&j#Im&*(piP((YZsg}l*t*V$ROg&+g7T7Kvk}3l zbnxNVV6!R2UU2_@TDam!+n3AUq-C5RH=ZcAGLHCD!O`!Hp-^=UyCGH}w=1SnRR3!c zo9ZyV`l{6YXp`T?w6N1s==#5QG>V%KYyF-3!nggZ7?)erCs@r828TF%sHA=1DH!A z1(RE@?}CCqoU0MMqTVjDAY2`YB;uS~Wb+qfa2h#^n7v(?>yh{oi= zCbMz)vFq#Qnt1CKv={JpuH4A2#t2g4k(AXS@2{K}R=D>6vUpa=zjeOACcA|Al=_!F z^Lo$55e6dv%ej!Fc~ZJ-N&Tl{zr~ zsxVE#+D`Fa7_y6AHIu7 zW?iFC_lbod)q;%Fx9Btb+lK6u@7-{_(%Q{)%z`F0{(;9orG5Y*FESejrsxRAVxb!* z;+wtQ_rA1PiW$!ydoww*|U+U|Ks>>%S57suY>RJTNoy{>HNnW$^&`{{mEAGxNC6e2Yn!2M+#Jf?E79@Xr>ENR!n?E4Cdxzs%W4KqIu&;71Q6>ubjwwD&E zXwyN6lC1LYE742b6M_8(97_lh0kaj;%f-&;iyPPj0Bstn1M82*$6orSCC99h-gvbt z_3ReD>uX*-?L@}yQ`bujK}n%O?`P8M=?y2$^=N` zW1%8^CxKA+3Okf^9O!iR+{&@ZJ1eF6S9!yVKFNplBnE)`5qPPBsjmgdhMTSq+4 ze?lO)?2@8@_}o~Rne(Q*=k`|!@_c#~qg7eP5}CJS+w65?><;s&qME4*MO9R75!SB= zzCMHbua`~-^p6B0Y56br=REw7v+uRDVU%Y^*X_yMqbr7Yn@+m?fC_LqbnnHM>nBXF z%a-;yv+6Nhn9`P_A?k-)D0NI4h1-d=U}JSu)nF1wl`o4E_cgV*qu9;&Zwr5&#<5G+ z?g}BRZErD!hzZjjh{1=*O(4BvUQ(#2NZ2$>1CB1WvS^m!dL%Sqx8(T&8x;eVbQQC8 z+cSg-(-Y1Xz4kPky7-n6La|8HF7`!By&Si`I3!$McBJn;wkuEWxN_ml-(B8XIc*7) z-EzwD>MB9O&#XKjT?kFuig;~uQbB`d@(^>EosH>qJw4n4nP#7a zB5stzo~!egjEB=Sw?ygiQHcJCv|mDwF-0T0Jx|kIWieFF8&~Zsm`KW2)}+x^4%v<2 zc_6NuLTb6=(=&6iZ(XLuoW|r7&MjO%nN;FZxnR<)hRCX!tuFaknt5@#a#?5Qcqys) z#dQCCNsPZ?A^5FA<>Zt!E4thx67)WATa)?%Xq z504S#K#8OvklmOo5P7z}RL$7EnThpV-B^QO!dz5q_O&Nyhq-}G%p}@GcU~50eoLiu z1KHe3Y7Ndfc~xz&y;}{JN_04Xr$uL}a%t4Wx(~Jd`9SFC%a2QVvG)$x^C}oiSHe^2 zS4+5rJ^z_gqxZ!@>5l8>Bs zZ{eVaFR*_Qc5XAWHyWw8ejLAyhnRrajA@YmdrSS+!%uCnIT$3(o^mji1Xg@&U5T~( z3Z?B#mlaBMUY}<n?OinWvqE1ht~;1qTF*1AEhIg-vEi-CyH@7}YByXljk9nbzA3|1! z+~4o*qF6g;oTNE!v`?_x6(%Nmc^g!kr7cl)bCp!;w*zaDm;b4(ygJRV1gS)*Zxz~v zZ_n|iI~)SVgl{Ijw&v%o?cYY;fwyoxhSKdvkpc3WX>Izgpnd$>l^yaFQ?NbDc2UNe z)9~F83Lt%T`A|)XtzfxABRjo4l#z~g@HN12+8b1%t;PE)!Sh}!HFr$3{F}JR$)+Xs z+&09*s&fjs@O6Y@eLWWot6FYkoXSyh(_)s}{$>SKyR1t%w9Dtmw?T*r+Grpo!TNSw-&5p&8N*|A+O& zg(Z4R(tdZTMf2T=>H-P7h7$DchgMT_Inpn;N~G#(0)umZv!gpzr4#!)j)ui(#Y7qu z1?WS8%4hj?b>UianQTTTa$&MQeCk9qv` z&V3WiwXR@H_S)H&+$6P(`J9#xbqex!BHrp60UOhE&QA zg_qWz1cd<>om!Y_l=Y_t{aV8-hClEG?#=I`Q(=R7${$7Vw~Web2|K*K^FU}Ssa{ZJ6y&O)c@A&-#ByRn9!mc;*bP0wK95Clm?hVH4)%BoMY9EXR~ zQb*ZxR*RkLmgM8lR$^+>)gENbmFo0HUMwI>(&0=sr;3$@odLKOGuxaGw>-_vi_R^B zOH1?lBDCuAtdX?Q{$XwZwo$&k8-9ZDO-_q1HJ$HN?+HmJCoawuZzGabkJr`;@Ar~d zqVh@D=Z?@#_uQ59&GrIztl)$F*duGE|3z12-qA!FmO+oZj(ti@_8(xAOmf0{YLDq1a!Zs=^yyojuqG)Mw8gAA8~{poFi#AO3Q z5pllsFM6|rR)kjk^-Ir3N?5^u`L5jhACy>XGIBUNQ#bdQB=+B~GZ{#HBwRph@yQIg z2Q{Gm*AC^NId|_z^>IhfN1jvuKMfRmt?Shti!bmKyGOvE1pEw!2?jRg?#&bX_1CXu z@%boWkQ6L(@`l{BFnh?LZS-E3vQChgE_X4l-P;0qyxnPr8 z;nZJ?{p7~LaA1!=qAZmx02RkC4ev;1 ze0aCHTwa~6n+fqIoo)NX3IiTl%`c;q?~kfu2Ae}Gl6KPNCfQPzi&Dnqv(n)_?Vf6P z?zo!kRwUzg*p}bCB#XU(i+`WCotQ5Mokj2}jK2B{?xHHl$hgg^f!Ov_qzWQ5yHzZ0tk&plCacsPpDt zK#*L%_raJx8yx%2EmP)G`THo5zR~2<6N}`gz{zq&9Zmx3!ZVvUAYRFT!ZkD~2axS#*PeCg!%$mhc!F+oSkeZK_}vjd~3}oe0tdk03?a%qzLYD%ZBcXtN`sL3fq2cdo zoc$B>n$bI-`Si4XfjUAs0{`4fK2yYRnE2MB$rDX~c#7H`Y3G~wx+H9=@#P>)27;+A zwG?Y=U5jR8Wimd5)bZsg_isQBh&1;&Hj0U8`VUHSGm}*VqvBFjZMITy@7OPHcI=uq zY?4&%vbDfQ6qn^OhuJ1@A=v_Tonfl(f$v;>JAs-XQWyW2?c%l(iff-x@n!_4DKxz*c3 zMl$E{X0~>vu?0o;i}|sECQ_|{*5ryaZufH|72MXD&wT zSg`&JZ;KH z>rhX+{ggDKN|f#nPn!|7;l_OVLp+ZoF05`A>w0T*h`WPyTiD$uqdSS#L_Zhct(;u^ z)TwWCn6l?-)qt;JMTPlTKMUC>tLhISr$4dmF6f58K4d$W?SUy?oKJpNpFC8?+|}+Y zsXgvSR)h9>YMTh~g4nMG*Cz&P>uFgVX|hNq=N?aYPFC#c+}v)3@tEJ_toS(j zCST7Smmr<joEgV^ekV7u#V1X1zrCPy^tnc=@;>V$4C^3Cy7lZ|IJO?TPf^em_P*lt zF1^yQPThP&4?lIU_Yi!dW9&X3Ujc?60;v*2D|sqfhmYD`TaPxQA~{@ZFO8<NRTeF4 zvIHUnmObrLk35S7CvI4WsJqVRRQ(G?#FHt;*G{y^G=%|c5ePJc5+<r|m*HmptOvyR zFHABc?dS}xP7D*+@t14(JBHb6a>!A)=*Ik}>shAFPQ==gap-SMANR4C+pMGtk0H!F z*UAyxI-w&5{#5MxHOtY%DW62nm!@rsW~WawFqJ6#(6djy6_a7u?qLu&^32i^vfOVf z6&k99_0p5C55uwRG#|}}Nl0%l)=TE{`z8waa36n=M9S<oi`rqPB5>0}5Lk+UcWpaX z{DRZjfJHlLzUa==moyqNr9ZgXZ?u1$&E}6^uV0Lo{t%daLvH*2N%A!E_Bl46URvPm z4oyvLTI2(Ptvj!VgrFqw=ESEiRMWSZDPm1+4i2C}vfvtq)K6gaRh2CB`KDSn9{JcM zM%_GP(Q^p)uQ+b=)Ce@7sqW90$nBG{cd!Tmd=H~!yj`#s&pZMIr;1(cA?0(1Nwe4p zvsKQ|6czE(auk7MbrWd0U8dv*l9V=vF!J+nk%yyU>R!dd!|kbdiu;2v;LoGpqV(MV z0%+PAlCx1NQ5eP<(~UH*Ix9VhKgv(1eDFV-W246;FS*SpQ>(868K$dV=z8w&<P8q} zx{_YLRnb=LE4p=L*`1@UV~|MSYMzGGP!?-6FIWP#NFHhH?B2zY9o!aJDIBp#moMZU z7)%5e6L8HcM5DYSHlMSgw=~;6_EN7B;Na%S^3Jfx4dZZBiYl#Cg3#hl9%O$96<t5| z&0{1w#3HZhkxG49!fS&?Uo5(|GiR>^k)elk6?Ex-pfpLWC=7G}7snRDNL$YfSw=n< zCMcYbwb(P58PRw(F)Qzayr`2ugt!lf10U6ltfPLE-4SgrkAW39mnu56mbAI_C4JE4 zM>h{>EF<N8TgFA~TO%Ld8*HgvA%O$*GK^$Dkg%6-hFcb9LK1gk=;7KypC4XIHbLtg zk-CG15DEZJ#l`-Xg<`c)vsIc{EH)+e?)2O55<ZfHHS4y&8=*E!5BgDKfZUAof5A5! zOXE#xOc+%aN<Q`_n(W?FY`N4Sh)%>eOqA;HTec>H8}pr%)(f|sA9<tOnBKY-n(qW? zn_R=U6Xt{AyovrPp3Z9;sB|QzzFpW)7J431Q>$wn<+r#en(K6q%cvU%Sr{lv)Kjt) za%ttQ-L?c;(A8|zHlFJlE&@vFI?M~HA}h<24HM$dpnj;4Rsv3^lJ>1RQXMdrpDy-x zi(<b`ac}$8Ye1|U>ZoI4z*6~GX<tgih;_$kVEQFYYVSeFj<@C`$hg{AZ}GFHwDB-^ zSUH;!NlH}<%DpHBg!52Z@3uy<ldPIxEWe=ud9)Vwj#j?GVX3&m=uT?FEaCLFPBv|; zVmXVWCCN49?^s3AaO4(9-Q>JI1TP_zv5GR_*Ty+`J)hhrq|HcpcQ>FD!5a89e)E6# z9gQTA`?}0a-#1!%h??J7N6r#4Fs}(IFo_6VwK(x5Zs5djoSt`Xu`97-mFeRx7mN9i zdmgG%hzn^-vL@V%w+eAwA~gek8ApzvR4XmhbFF_dFy8wa)JV7$S0DpOxa;g%RGIf2 z)dZ|N)bcl0AH<FQGSSUu&wCKk(ak^S@0E1l{2cja_IR}DbG+R%kc2l2*spC7+KC)F zRAfM%q;{=bXjkgt82)y;<;Elqb?H6MpCwPBZQUUs;6nHkdZxd-F6YkL+o|+(ku%ge zZod^{B=>B(K*l|Cth`Acew&VAokThY3i5(+<jbk0vv|yIS;2l1KeBef<&cQ9{(yCX zGs^6q3sS@+VLm@tW4KsKpqMi@`YJh&uRsq`!a%_yX={{Z`>AbicU;8>`F3_Z)mGM6 zV)UUH0Yfs{#WR|q>TxHec{|jpZZ*Xl{&}Xp!hHje`BW*PQ50M)s#B+b3VyS|upid6 za~bIKtWJ6EO_Fne{gA&!*d=TeE~v)#QK;)cRR!}Q*|77s7dQDNf?`Jj%5HAw5Af3} zoT9NrVPaN?sLW?Wyh50SyAHxscwn6gth`!|z!O`J=Q2(8me(~-9?k0c98^SFOIq_t zk53XFpEFScL|@>Dnq0Nmiy>gQ^s<+-sPjSr($MQ}^92ULFx75_M%#%@iK_D<7b!?$ z;?}hT5Bsb(GC#@Gck?LA;A`^F_{vNzZ&mUmFO_M08rkY%3+!1chv@gJJd&f$5QRfc zk4lZHgCVk=>K-RuDuXjbfaG`P5p<l>CBM<;hMN;Q2kcTy0q-dYM&sn-<3ck5y~2*k zKHk22x{Q3tLONm!5kG^3OncKqOZ2haXT@J#=#Ixa4_;SoC8a1OE?OCg%--t|Wc;Uj zppV*Lj^wi>c#CQXFcs?ro~w_qu@io)XvvHb%VIgIn9smyqx5aSiJLk|Iod?g7UjKK z^d}1M;dh3bTi*uJXRj^~Igy8uv?YkMqyt_7*5%`Gts6>)iwVAH!*CR{jTa14SYAW; zEm7qZh=CN`K|!3Vd2kR%aH2J641eiP3!&iK_qJ)C^AUKA%ar;!rF#DQ8-lS5#Sp6x zT5lW@G&Qd<&5U$lAsW-lMK+_Qm1M|(wuI{zy44%2mZOoRY(K4OB#2Z02@Y}-1r+CU zYohI_)t4kBD)rpGvn?QUh`Z-5`*BA8BwA!F{Te}Vx}a<+C2~+!BE}#;Py<Spj!vo> zRVX>!RAlW@aPk5vIH6SEHF7&Rm@U@w8G*V*ECpag3RZfw<WIW1iZLLL>C6z5*UUol z4!IjNiyu7P`*p}C@fqMudM}W<)hpX&k=(c2Ix-{jp|xT|cqwdk3`+OMB;QUzj~b7l zm~*fLU(PnfGQmdKTd^XORy?MqR~mea1U?SwzicjR%N%h#ISp|$5cKY8A*WP2mYXV< z_bgSpU1rUEvXU#U=uqQCX09s<He!f9uH_;YmMEiG(=B1nl>Lsjg=J)<Hrq_!&H#Af z3%vPmy&xIuk=W21C9|6#D#ltbAOQccbosjC1`P~JH@u;(Y5#6C#MYs-inM?3mmKqf zQo-TDMXn9sMZvGqfk`i_eI(`A#(PcM824v|;1$7s=7QN`BrxQ1-XR%FE6{vVsfdRm zGp+m}PJ5^JnhOX_TEn&G%xz^!wG}O!-M8CMn1dnCMhch&iM(zIG9p>kF1l@q6dqTW zhYNu|@Ml1jNjyao<5Z)D#c20rTOnn>!AK+@j`(6Ug~1)=9$&j4A3~n&h1KDlx7nTf z1ilz;hP8kVq1g%agAEZS6Is|{Ag<y*z&7h@$CKtNY<J%_Z$@aok=7{6*LP2Tvt_<{ zF|1?@Y*1Qu9wivtvYVv{fIi)DcB-nXhnood;hE)UcR?ql>J5%+ue=3})VPUm`Rm>^ zkIo^$&?~iPq~jR^b;lN=3uWUMTi-@1B^=jQLGY$Y73Ca8AIFADI57G2cufvjx(Z$a zpriyN=6!VruR_yQb1Erm7u~jk#hEdU)9+g-Ez)6B_q0~)`r|v>b+!YJ1)KDL<*=YE zRP4lTgeU4NSj9UDA5ups#!=Ji8vV<uIn$r~fPvu{@$uv4!m-vR=eWYnVa_*PxV<B- zc2lk8b{^pd?yBrdzr#l%+vptxUH$F@e3Qg%TJ*ED?{ph>`Yl|{3$zU0`G`k5auYU? zeOD}ckh}Mw!LTNqwli5vw`Ae8HR1PV5hJvh8Hes9Km4upk4}cE;qlB8UIfkOejlNp z^a`CSQ?d`q$}qb2NLJ-OZtor_uVJ#eA*=jBvX3Dj)0CN9R8(?^m4er(t*16(aeurY zX}ar6Iwzxr%{%2BU82l9EZ+fpmbl*H45rgJ8oejopFcx+8vP3U6rln#Rcj=>D;(U0 zkIwu(kAOX`P{w$+R}}g{N?o0`YQ}(7O7?+4;%x3G&6)x8`Po}*0Y1HMpKrJ9br{aL zTKe_Q7eaN-Y|5MV3>y}{lpx3KBx7Daze*uw=9!-?No{mU4&~cT&1rq-hYbaCk`nIs zCE}hxqOFIud>R5(<-E7}^bP@!*z+ytHO3(w>%J(V*4t7An(S(hLw60A7#619>9bIu zdvQw?`1+<5@w<Yj!KJvzkaGvHHbh*3lR4k$D>QRIZ|Hc`<axNN(OaV(vvzYRR}bwN zrjEk%4jjzoY5?IsRc<l391f9lfBneg2LmHnE=`WG0rRbdmK<BRrI)0yGc7M;_O*G` zOaFE%dc#^Fsz#N-<~9^;kA7s>kP7{|`(14ZA`Kog|Gml5hGxeT6rS$%QO0Fe#SGL| zs{}&O{6vw|K0m!QT?;gpMH_CeoyD@M{-vE#ynL}s1Om$KBgJmwPSoc#VRiJo7wFwj zPqj2d_swUAeNKqPH29dN9O?6Z6ukF#M{6@wDID93NN(Jxj>B9;>?edxZG**@FT^u7 zDbsnD3UBPXhS}6EZ(G2J<0w8(Tkp~o;p>c+7*gtzLx+E4eiVLU<_IYL1i?ckx3LLv zttHPB**DY;a%vLFGRezt{dzmpvTIiv6qDRjRRL~-bVkd$*BKvzQByoOjgmY!)3onJ zAt>JL2i21|nW8WF^gIQyk5h7szNA%?EmZ>LA4jEm(&Hvv<@(a(=Av)UThzZvd`0(~ zt&HGn2q!yDkDu*msMuMMwUowHHtey&@aBDHbi4{IejGO4bNYgLU(#0GrGH0x8E4i# zVttS<MfEgnvWCl{5@8%<fxL@|x$G!2FBnkJ@lrupszLMP>@B;i8|cW5WlkkcjrB;d zaJ!7Zoi%6Hk3RE6O;$C<Pf<0Ew2Rp1Xm2N~HP)yq2p&8TwZB*lz`V-Xy4VHAWHLEy zan|6>x7E7I_=}geu_K;3b&01kmPZ-iS4v|iURowq>edh~VvZNS<^B^)kyZ#ZhCxDB zuwVD+T&s5pEdX&QNU-w@RPZiy?ovvURGQK$W}W#qe5G(<-61^RopF3WxKno5HM^JV z=|)|c<@HYAqd9>yu^5G%ds;q<riACnvt;^qsL$A3qvZVNF)dqfe)@8cU_sqp8g<D% z!V6rGK38j*%Z!<<YW&DvMl%>z%LV*4W3zaQ`^4P+9<Y_q4kEzS=*gD&D_yaXf&%3r z1P;t6;oEQXLC_5SG<V;XUhT=E{D#p-LZ0!hvFUE-{PDL16QA+vIdIVlg*{CP2)=f* zK~Z*2@&gU@Cw2;oY5ME{pcs6`c8|#uRsM~Cu#!W;=WYM=uqQd!?_0gmgnl}9(fXd| zkMh_Sgzg3)tbn3nA{D)Ava)8yK!=6AYW`xZ2__Q^RAHyebI-e{x2_*{m=0L;^BtHn zql(Jzuq)STt}W9(2Q8OVIfzhAThu&aTmNhT&OCu&v%s$eRil&2rkB)9_U9E#KXGWn zZ6fmo{cXU$z-wieg}b_AaT7{}<;5vDHh+@vd)0BH%zK5Q3vXQII=55YyuLA?QddB< zqZpKQ%-|+M3gWJGj&x%Zl~7dL%h!T$U1IN$Ki%r(db@wkPNlSyA{%g#UbtamJ@&q* zd4Q?n*u}E)u>h_^e5x5&96X`hyTGB=yWq?A0qcoG7>jxLQ33YvN?iEq4%L}eyWcU9 z)rw8+p(gIl&5)f}s^o9ThNXP(Hrk^kRnJ7{Ds!2*KdN)ZIz6cWinLiVlaq#rf?<d{ zN?rMN8u123$_C%WH=1tv%%k)#D7cb<o?bY!3>%6>gW?_cN#fyfdBr()5C(9KhFF*m zlb|^B&e$Z1q+9p%Ey+2K^e6Z~ulQRNE<U}xXEYv1TBLU>6@?ipd471NR3>Jj1Y;@4 zt~#JZcC@#-NkUx1@9$k~%JEX_ie=l<>SEouP4>I!#T-PIz0RwxJj?pG$K?@OlC#8~ zGkl?Ww1%{nmcvICN3iY3(T;bzTTL5Q^uik{JwDG?ih~bXmx!K;tNB<?aJu6h<gl=L zwnOx|Vp0hd=lIyk`749<#S^W~5y`rM4IxaZR^yY8g$s$)#B!UMY|i=|n&G$}WY#t3 zxPJz&Nq2B~#BR19I&-|eVnQc5(&CgOMl5eb<VYpmD|PUEJJec}Va;2F5f4SFY+VN% z8Skx!+_>pb#HKxt^S6zEl?H>9W)p%oKh^M7o@T(gk$KvpJXun~2;O}JfB>wp(kMEk zNO%-ONRqQpqz$M%W>Csq8VoIPo~Xynm^x>QP}Re=3O8QocuUrvSQ!Sn84;`XEg`CL z&IgTeWr+`Bo9;TMPMulq^68ChHl^HlDjKmhOt0K8WpE#kR<<}RatPP8FKAOFCSPFv zGBgT2dW_;cQ?Krtji!M<^D`rAvF%IurO`u0e6ry>Y>00B72qFI^HCyyW5}0dOqSX* zGw?~?qNfGX{smtS6EQ8}=F5nI_c=Z+7xIv+O2#9ymM=8E{@NkQY7HA+_ZRVfOyxej z+r`khaxpi(eUV+gK`QFo=8&%U(NxW=#UeKlf5eQ3AM=*hc7w3to59gV|NAWoKVa>u z_vnOxG?lvq-(uOocTBU5L|sTIXLq|_;5y;WFI2#UUB<Mz(XmV-gGBW%IFWcNySiun zf;XF@ULbmhv|Ih3c5np$H~PBHXmEA7H+PvAnSM}29~B|npi)>*<1UMjZ(6FNxEH~M zUphb~f@2(Nu5vp_8m?6|PSK`tq1fcrekDfgbW)N4kR^=lJfWiM5V>}CD8H`5adD6Q z{EHd(aWiQ)*d24(yw^>{wN1E~)rD$a_^rgnPHiOSWL@RWntnW!Q<Isd^^YYI^8p}w zxkl{|Du?~DCMraSVY<ADLd}~VL(Mpyu7VN)?ft?DIf)^-8`EhbuIq-D-{JCHn?;%s zbu}e7yxPl_l5~A1U%}&LKfth73W&4d$4^}IW;&Yp#X(rFd=A5Nvzez@(=kZhY;Im^ zo>M*kS|)e65@g}JJ!Y7kpiTqbHgGCx%#0n7?cUx@qmsv6dv8$<`j1B-0Ad3{Q|50g z6ZVad3C6Oo{88+ZOk;&hBd;Yg95hx&GxDWP?n+@p+NJ%a|LIB6cwl7TkQ9^{Y{NLB zUQ3{uX&hJ0X<?EaeO7cUq+G4AFw9#n;Z`Q6_&@D^`9GBH`}bYwPWCM%OA#ST_GK(3 zlw}G-h>>LmW4JT+u|!2GON(t7WEmNQ7)$nKDa+WG>?GURl4b0ki~I9^p64Tf!1Kd1 zua_U@b-m1WT<3Kj$N4_q$NM<X5oP6_MTGzAxT;6<x4ZJU4Ce*CH=^Zyac44zgo(%$ zy!c)^OIp(Upqi8cs?W6@Yk3|&6qOl7JSol>T2aId?KaWLt<Iv#1DiBdOj$@;DktP% z@zuVjinZ`lIgeGwGg$TKCZhKF{7fECS#{0*ZX%p#B+B(UwvB?&x!zwqG-QT&F##>& ztDP|7Xv!w&yk3Py+m2e~Os=XWqV*q0G-9)2KP{NF9&@ViK|0HR{`r#)vt96Cqj6xi zl^U_cPN3XU-8RtHI}*(>-{G*An_sB-N#GAC=Ri6s7p#fUvbLjdUGhR~!Vss-?WVVi zBf8#Y@|nK5O*X)m=~VL$nbI=GGFI$YF=FCfk@$V1x3HWTLt#9@A)R*hfm_-6>u)Fg ztfH5y3ED7@S!+@YNc>tpr(KUHyYSE3-0$DqdfPpW73LE+9r2%l%*S7dv%B#ze37}u zEVmKHy{4?1rbJ{iiL%4;-cGT@vh^o7V#?jB7WL%hz2{N-d<vptsynf*=DQXrFhugl zy?`CKv{47>39uP&?tH4J+>^TW4q}n-PLUF?9k+{~vvQF%ld?bxG1z{ZWg*)=3+|SQ zxlkJ6pCfNtkv^Lj;LNa0*l|>(e$_Qiei&eDwLqBWZ$vSz`Bjw3y3XbC7dy#lq+aFu zqZ+CJK1gY^%u8&8e79&&44a=0X!Y*Y5X`NO%A%{#qP~_Ap4Fx;ZgOA7O-raG8{ck* zbEaH%k;(S{wyn8RajfT6IbFmsfV3;fRBwTzF%9;iX`k6}LP+cFo-b={j{k5{^lECw zFrLXU|0p1Ng<tMCFN$@IX|EcPA&wFR8qb*v1-<cTjo*pi?)05pmC_B)*1wNIelg4g ziQS}um^_9p+%rR4W-C1s(s233BJwI=<cejrq<hqiVh%ama%%$74EY6HAq~;1ei=xM zx!KIfI!Cqserl<{=B~VE6xW@QiK9MK=yX6%6#(!)O?82!cfFh))=yrpY?l2cC2jQa zHZ<v4o27HT@!yh{<*^Cz&nIERsa^B4XXi#nNv<&o9Ag_HNQP&@HK&kEi9?*dV$)ib z`4T6HiQ>CBW<-oio}oEg2p*1hB$hO=vk9v@eW?R;g5{pclW&#+2~FN<gRV_<Wa?gJ zPoTQGsl4DaV$$BOkHnm#wlZHur)ZG;@cVYSnMT2q>p*7OV<wNbuUlwab9!zN<mMa6 z>(c(iMrcxy5hs2LTQYl{?WrqzPTFkHr5HGvhWsSZBuVz=TLG!hu~bJNI*|$Ri@KOP zW+5G8c*doGw1SELExYF07ZmXn8ybbG_b)3yH&9v^lHYFryumTlm%Z*jtwBupasF&* zJz6EW{m!%R^l(RMr9mkeAr5hYX8*vdY4tX8mqZv%jp-KFT(JP_aHrgp_v~m)HXskY zRy@~U-%{bX3-NawqM!SDA;-@nq3q`snQfl+-{SN(qXq9DnzzZ@Ma@vq4j-zgwp4#A z_)FejVs&wRbime#mxzk=PZ>|-nTYy)f`>?Hq_!DNP#s;$r(ddzpJoL`ie1u9W)Ba$ zrgNoFf#~`kGOoCDGmpvVoH--tp}}k1u%QL1e|S2m1fKAsHQ|dF|Fcn?{)5yX`Jy%2 zi(;lGqsvMz!FA!nKo4&Q=>nA!Ld!;%j+IhDC`?Qpg9)<-E>uFwMpyzGy#Ujyda46W zdcvS{S<}fMvd)3fWa%wKPI7GQ?!f%ZP1D_pZ+!z+i?rDQ!cb9TJX)}CFQYLBM{!+L zC<qo#2Fj=L17(x6mjWmvYt7!~km96#tbmlk=CeFe@t#WP1Pjt?JDH4v2G%Elqb)d{ z##V7wWF%rtfAI2%v0A|Il7ajgp9TI0Jgfnm>&?D<wKrvZ@+0}SqlHOw&)_N?`3LyS zG&y_cV|MQMJ56hq>`Q0(<NCQjt@)+dYo(U^7D?-LaLrlq=I6^oGOz}j9+$_!+2L)j zN-5DxLDsqn{uZCqHg_8UR5VggA#Z4-x|i}9)=0Fha}wU6N79zhJ_p4v8C|o`(OiJ^ z9eC^c@PCuO>s22_W`2zbc5Ics7kIR+!;pPGgTl9zM)yNmbc8TN@ExTV0(;X4nLsu6 zSLw`l2J4vG5#lTE{=w+185RyO8rXS!=fl&QQeU`dNR}}2OC3c&ZbQ>OH0(C+Q=^vA zP`VQ$>3Z{`iQ^)$X1A~xn6Xzxg>wi2eYk!u!TrG<Tta0JG-RC^m0I>v7h}c!(l8(M z6`yD#96emdg(uUMT7Iu;G!2?b%Y+GZP}Tgwk0e45y~ntylm*Zxl!r)=aTGm{$>s+J z{^%6reXo|5)9aG-yh4nP@mV{xB|R-FG7wQ2c{JfH8X~h!%U04VCC#=F5-YLvHLlw2 zWx<<_AM+aK|4iJ7mixFrzIHX*!JMB>Qy+bwt}05YP%Zb#SEE8-|Dar?HEkZYJQ5?& zL8Kol4Sbf%ZN&AX_r`uh1vsw2<|W?(OZLAjGH3+)%+J+TD;1)Tjtv=+=`ku&G|Es; zZU-OMV=a*T0QSaio;(ULd#@ap;J#q+B*{|e7^G)i9eHCK=Y)FORz(c1vlYYqdKxjL zdT-woE}z4b@ZPKk7Fp-vxvuj{x@|@8%v<UZmEEPLjtQp7yKTC*hyX$Df9s55biZHT zKB%pdfZA#dv<jp>>jUQ#hN&uA^ov%vJFckM*rfX(lDE~gZau=P>}oeMEQCeJzcVuM zZlH@?Q=*#M6NG0OrPCJfNvGv}qmCpFL5dMpK{37ZulM4uVLCAw?l-R`kp?^<3z}J} zt;qV7qKzk0CAwURX~Ae;GL$2*JKZNqU2+UIXG!1=I-%bZ)DjlhzSOBSa}_a#=!Kze zDYUHB&E4cnwX1Z}a~)o8={IAc{g8$8JzE7ol-s-*i(FmtANRXNztV^lZUyRfx=ns) z*|9`DWw`YuJkj=Oh!tQyz#erm?r5sQ#ah2L0%<{oN|{hvyVzyJ=0eTD3X-ll33t6T z7ySm#Q4(0$0KQs~54Q3DHX&K;=C^?wh#M^Nq;IYDMKpF{)}1!`A37?w#a~KYL@|oy zQ7&^NUqCLNAr2LWqVwGs=00DSmPX#&Kv*DoR^UKA)^T?CHeQC<bqdq(*z5e+UzP}> zij^yWQrCef7M*L#lPxXrnskCTTi0Y`A2D*P-kabr(+08G2r{vPE;x)WeQAwO$ky-r zM9qT*M>*W^@?yTfPj|*s>!WS!fckfos)o%q!HA>jXS**=s(_B3$zI}Dchntu%b2_T z{tA))IZSf7UHeHT@8ziJ^R-i1-$wiNOyYN%<)VEg<a5QZbS$Pc#7AY1H<8vZM9Nys zXMM3RBj+v6ESqH`sb3eVr4mHo<TqY$r>dgSA?}@G0=}|0>-Bsz9Lu(uj4iV35@XO& zz;TA!J5=Qp=vbj`Js*80?_7h}<0CNk%}b@R66LX9b9?EO>ADxbOWHFel4XsEBL(lz zeBYbUBV%(rs(J8(F62vZ`FkrbCcWlzm$SF@nw}xWm&?dlCj-(idj02KZ7tzD5RdMb zDSJoM&wmnwj)XgPapvbQ1RkwLWC+Jyr@4%eoOx-<kJ!aWi;c{dq<68o6iU;mGz=?c zja#>y<F<#(ac(PmJQ~(3&s1LTMYP_I@<!!0O~c|E-(9*>nwbLoW)j8azSC;i<UjuO zjN5iLIqeyaoagmA{@azV7S`X(v;N&H@{M;K-~p#)^PCpY)tU)`GZ~JQjHlSwT=Nv` zaDR%8(PdmaMxT4tp!G-1w+9!w?^{MGT(P844e}ML^d1m~C2)r`5eqlzXB23T1_Fn( zfSTwYInWd*3HZ9T_l$(=mvFG&Czhq1p_Zo!KSkNchd(b>(l)GPtXqnv?WKvi-<F!K z`E#PC5tVWKFRCKfFpQjpQj)DU#ko_N<&^TC#t#=jzNIOB6`7keGH8(8%AfVORSvM7 z^0h^WdP#p1pHx_N!@yuf$1FeNjBy@ISr<FZOdc793mjvxF$<7XmS&Y+>BEmj7~rU4 z@l^wPUh=NpCy5lBXvH^nu(K{QG|-bUAza*K`7IdGeH#;svEEFfOp><CtR)7i5gusy zEm@^GenC{2op%vsuD!UAZf%*RXTFEKadQo+zp%dEhxqY*&n+Ir+I8b>M3&kUuRmP6 zU5OgdeidqC2|fIn_?N<?%Dyuxds|FiAMM3nQ&$)yT)ZT;<<Z7opU{W|9uOWZr7Yd~ zhP3xecXu65Kcn)43W{kepOq6|(i-wH!rtZVj6n?PPt3v4<{Cd1>jg;!)oSk4%1o!F zA7~DXBFo)Qc=yu);OK##@lRO;1RjXt^_#<!gU}D-!mF*_H?u^FMxKW51*OP_JQlbo z|G`c>s7(0*erUgxarZt{^s?}xTgKYV#n1?c#T0bmhQkN(<b??mw@^%6syr`dHRL2I zp%AU~rw;F|aQlm3O=(nzF#zi_suwP@YKz}l{rn;L@jqf4(l5H+?TAFXb!1_j8fykM zJ!OP(;Z=U{*JqqfM#2dc90CjEkul&>eYFbY3&Kwy)AJEVH&ROtCL>Si)`qH->d`Ig z8ameKfC_PPb}hcJoC7V%SzoK-*k}t8>b>|WQQQRne#X0dFa6HhsaD;kp-_G+n(WtP z3?t}de)Q|Fg|==ggSjM$Dx)oUr1z-7HdU)-em(n4SWi{S=-vM6bh&jfgR@UZplL5} zC3}m?M=9+;S;wN&g?NGd_4jq65|eL2lEG^f+{O#h^EJ)5$FvL_TwEc_r3b3p<|*Xb z1=}SSbA^J~p%qOq|L&b^=#}nut=3cSZ6=9+=mNaBT(-4-R8tS`dutSQ|GIS?Byjh8 z-iCqtThu=SW^{cm9pO^Y%hO5RR`rhO)ZVp(Nz49ra_kqBUNcB5FV{dp%b-ZHk@j?- zks7x&WgOK}(uCQe=48$_9p{<>dWIu@diXWyG6%r^cK-eK<MHfo0>JOWjS>(?qxB)9 z&71*Ty|*>SC3h4}A5MO_(PM#SXD5`zA4VN8+Ns8XeESan`C6@`GP?uA#+=VE3nl3z zbB~ootG@%TYRx{e{r-oS9T=9V59r2;S)`&r-rT{ho*M?u(6LS^i|1Hq&xYnfOg4c+ z<KlX()n!PaYo32CNKWJBAs4-S{+`*UynZ{BZsww@+0ERTk<FA;8v2k6$JHieiqyMl z!W`LRKX^O8NaPTACw=&G3Um?4Ur>ulnUB3ty}tLO?zJ28DifO<?!V|`imKwBQ6`@P z9lFIiJQ*bZE~e`jDy(zR?wE)B>?6+XuVK@Ag9AL1LEaVqcy5B{zP+ldkr(v$lNeCB z&R}G(YFFX41wkLOiGbtudDD8aj92FDWsWuxs%G+9%RR~BbG^64=!UP~sk+^Zu!tpZ zF?JRQzdl!ui*6}+#p)jtc4Ton7*B=+jrr97VW0`W&8vjzSV2K{J$nlS0l%P5T@Cxo zi7}F7+@Pxz@lxfD*22VT{a-#<&#QcyEYFhct8=dC=y9nSEwxqYGfq#R^Xf`Bk*e+7 zpZ(4K=d@H9r7<^)`qW4r_8*lrf*<*Y_AmJ|_%%7V#vBeEfXwZr4!!^zs)uJgH`ltw z2`ry$bG|)S;omHb0Cs>Zdg5fSVY7Iq1g#9I!e$2f47O6LjfT|zoTlw!2Rfm7!k)ZW z_c+t~he|kXtOJz2+PRl|C-Q2~^9qKkaUsMSTGu0IBE_mD5Hk9;;f_J3Wa;b$kgv9> zBEVYt(2bfp|Bb3xob1k(FPXI-o^E#yJ{7!2(pSF^i@B0)3Q+2&qg~?Dsf`q12eI@! zF?}dGr0uw=+abZst6|fm8O<5q9Sf5i`~G(SW`<F2S4W$PL&joHnty~?3FR_U=TM)o zpTg0ftx#V5TctUr7VD$>cNncGl?=H-@`Q>AcrU$qi{3P5vlUXLt82A+f9uxZW6yEM zorN?tr<<R?$c!6IDIepPK}2EZOBy!F=!yO78b7?jQTHq1?>o;z-@mBm-YOh30HtIa zzaBL03H6*!qx!1yIMbseqp~MYTbs?Dw>w!)dJa3cF6W#U7iT*lldaC<+>#1F|Bx8D zK${pjXnTup!v83M`EU1d@@Ka+fV#2F;|YadUmE)b_ML7k=-X-T6A|}Mf;W~_8aW*2 z{r@l?tfK^m<+6l}VowTxHaru{$r{)x$Qr0Hy`+40=J&98;g8k3AYWT;WKsw8tz4h3 z@T-6-*eTmJzAn|w4|^|9kD6)Nta<&t))$ERB35H1#W{!nX%J9v;*_l?KgkCi!ER5E zb>P4D@PU?e$RpZHY1z$nsIFCsKiRlQa#70I3+MSRg4cMt0V|xIqwDDJen144jG)U| zZ6h5A2lSQfI)^YZQk|xOzPFma_GY@0n2vkd65!8TQCyi9YF$nHzL^l3Hg{blM(4AD zW7W5FCE_|QpVgjn+_eTTvxDt_4n^Y(SE3DgJv{DK^z%P*8wK`mn)CHIkz#tuJ}(bh zU9^>t3NCj-q0U;w8{SXVHd5|ps252mC=U#|{wTETvN&hm`zBB+FrCj^R`Ub~^Ux0O z4oK@h4CDsPN*nhK-AoHSZZ-&W0+Jn^6E=RWuZyL>$nvm7;+~zzGY9Nii}@szb0+8C z8FLG0|0kNF24-NAQ2^{szx<>30o&i4lC21TeJp#ek-Du!8-|;km<rSm?1r!bYR~WN z3uusO?Nqe*g^}$7HGC7X`+Hdx_<P?sJW1k$j^1@?kUXYR46<8V;DSxRzBEWdyK);> zs%h^g{lnQXe%z#BMjqr#b`oZ4+WrIE1ZRf8WX8~lCCl8P$juPnaqyYlg?Ahls}2;Z zCbIJFuYi~=Tvj*1G%kbmY${zrLPmPxl!yXE=3x{po}+l=s(77~U)0QS_Pcks!G*Ma zjUoc8NW+yzz{ql~Q(*ujhZ;kA^om=UW+lh7&!V6~42X!IdHtybab91977mAmaidNP z|3TRRi<5*o@Y20=zb5}%v$Rx}aUWai8KDlVSJg=6hWeGARgF)%-9<%FCs>{x*45_~ zf{~<%LawvvAL~t9+A)C2wH)zuac0OWb11UmisGS~68<Q;CVjlkF-_EYA}L&<wMA=a zkx%<WY}O}Bn3zimQ3@qx%z0k>n1xn>azOf@OW&|#nDxA|G{1wBjH9DJHPO8fGcwzF z%1I6rEK?DLZc;8anmt_SNOXzm*(2Y`JEdJXyxQL`?zo{Rv0q}Pv<sXAJ4>^SWp^cG z6(V^%)G8x%8S8g;N`(_pL(TpPf;t4AIz^wi&M-mAocQqjYyD^JRSmg3+iLxYq4p+j z1hbQ>{Z~$mq71ZJZXJh2&RqopV``tjc}-$qRGi$S_!nP=eToWK)>D9<B%S~*>}*3B z4$FraP$215COE;#X46|&PPqK+gbhwOM1(BMJ2bxR>K--D%pI2N%4h;D&8fXGaa#Vn zs@{V&q|L<9CD3B~vfS6ZvuuAZN9rlF2i*3fCK*UV-ZfnZ@Ia-@V6mIYqC)|mG!k1B zthg^A1qduj{$pZU0i7xR-OGjN0rB`?#==j$D&gw>I#^V=p$i*UV=&)Un0S(Rwd!#W zMc!dJl!lz;#>N$q$8^!it>yZNlxnkg&T=tEAip(}$mge`Ef_MA>cZ<JcnjXsH?Y+p zjxqT}D!kK&<CX3v`4#0@r#Iwn;uiHrjsql`$^TIguEP#3>?jYXY*QOqe(E;n%pF-N zh&SW<6q@Q~F}U<ECD*hJ2{R1g>`p#whkGwO(#t8-JL)+w=FIkOByBEl{ywUmcOYPn z{6UlLnu-5v!4{}jb8#*9=W#-a&t?ZQ<bRcZu@5pA!dqF`vL})g@FcJdApTp*2HxVZ zfK=!DNZ*;YfNw^(%%l1tP?v8;TURLa%5BYOSQC64QB!Y;(b(T~l&8%Y+L-MTZ!I6! z;>X;9VN`{`;vLT=IyWiyRU{6`?NiR}i=hR5)i?eu6f-|R6puESmFPUF(HWHYD@n2^ z<@bm+8T1j{@}%{m?iaUSL8=ztG{b#y*Uyg*(`^|E7ge%;5pH+CUW@Q~nO>ZGI`?~e zBHsd8($6}67Tr<GH1}o^gO9}x=hS(^K*TQ5dW@6I6vW>l)@q~HSb|cF=K;AM2Ru_X z0Koet^W9<KoKH`Yz6jDtt%$uRa@aJq>)$4f%v*gxc&+i{-3_B4r5?<h$mW%Vh+hF1 zoDV)pbmvJ(h9`b@ab}MdbPcDzp#SlH6grO;@mn+2(={%Sg(xROx-@$<89&6*gafqv z#UGWs-b%VlU_`8^Y!~i)7;Q`v=*T}L0%s^0eP2!3ggkrS?aZD-X<zMWjdUk>6`|HX z6B8<2faWaJ*~`;0xw2mqM;Go|tuGbTjJD3vj~u57DO5QTtXbYBq-ta#4|=ajbn>DU zJUW;E;o?|J3)}>6ZOsXB!R7>YRo2Q><Cgy|9C&R({MQj@$!Ytq>V{#CE6<6a3Kg@w z${OrPGi&69eNJl5I@EiT5>#*2_Y!ogYea?;(;&pJ-Y^lqj<TIb%n0kc$10D=G3wzH z)WLLxKyQ;-US)}KU!N;C*N(wW-lBZ)!_KiVU(rB2{pa`B;<Ik-=pZ?M6qdWm>|o@! zrq#e%T|M%1>#CNMQAW4ePC53rZqcptC*|-2JTg?<aqo2I^)?ix(iWd<kaXj{4oO~G z#&10cyhDeMCD5`hwHKN0Yk>ma5~wMB&t<R1Rt@jx$6WO`0kD9BZOcLZE@E+&-L}8v zVMIuNcYg?v{-5(D2z3=e`l*@TVc9m(hFTKWgB#5ajUeU)X2t`$!|&rJ%A-+juP|RO zTR}G}{GIC0+EbqQ93a=h^AuSGl(sh6$k7Elm$pe9n5X(AWX=DX_L+r@L{agt=ccyN zt^ApxRt$;#Gs8IhifWBZ0J}9T9Y@CJt@WcV)&{CM9k;o!+-vo93i~Z>MBgVFUhaV} zE_sz;$9^1;d3eyMsrO0IVt;Ni+juwm62@xdQJe*$DbG;$(zGGz>MAt%eCD2f=1lA& zxvn)$Y}YyxA8aXS{}?v}pd}Cd)L=0(y$QVk!N!8P5$xf;9$5;9jx1+a&n?KyWzExn zxw+4hIV^jFcF=SVD?HO&?W%gT8gh{L$y6TXVESP7$m6U$EzlkX$fR!G@QeI2#W{$e z7j=GWAN<TQ(Ubx3AUPe)Khx{O9&7=fpYs3zAOD{j9ANEfaQyabu%`%VcmJ?*KXnGh zIz91qDHPaLb(<wjeQuK?{iYmuM6{-^`!CuZj-VmWKA$)Fw;}koV%W;^1f_PAe{c7> zX3E;mHg}_C*V+Gu2`L$L-%qo?EwbA^zvg%qTa1?fAM}|c2mePkU?*T>ySAEtdb&E< zb07S~^T-_Q5CBRiuR;c`UmdydpRetS0MSCq(j7haav>`~cbNPZC}lVX!k?hV7#*e= zdPYT?XMn%-;n#&oark6J8J?6F$zRRCxA$u)loY6L(Nmo)w-kR=y?E~eU|Tx*IwUr$ zOs{A1+a3r3f`o2T@*eH)-C8eyFZ<sPqu%^~ul;h(5lS{T9y=)D#$f}%4VQAwUjg?- z?{od4ga)daw^b*v2doqx>5PBQcu-b%A3B}(M-S%VxCc$K3FtVhTKFEz9RZ?1W}#w? zc4PQaPhNV{#P`=<C*lqce>rs6cE5vxh3g)hjGrz%cQCLkmrGfWA6W2Xf&5M9*<%<C zKvroYs2=s*iSLqp@NpqUeT5c?D9I9_<Kmb=yAvP=wIHSa)cSK_00zK86|ifHm;pc5 zEc0+6%4Pe!8#?{pZ{|N{kVF8x{EAm!9cxxLAQg3%jeNs%%>Ek8>M5ImT?uV5NykBS zW`~1)3Ua3Ixd|RSO=Xe+yH@%;rH?f$M{8{V?>0{I3tP|HkiUS>?OO(#xi_qX{}(W+ Be%k;5 diff --git a/imgs/5.png b/imgs/5.png deleted file mode 100644 index 2421c9fea85a2632173e9d4aa9d4101d6bcd7b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73202 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 B2Co1B diff --git a/imgs/8.jpg b/imgs/8.jpg deleted file mode 100644 index 921a8161ec4a9877cc3a073a2d0a1ba829a9f525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25091 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 BRs#S4 diff --git a/imgs/groupQrcode.jpg b/imgs/groupQrcode.jpg deleted file mode 100644 index 556a7da33d337ea91739ff87df96cd21c3ea9ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70191 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 diff --git a/main.py b/main.py new file mode 100644 index 0000000..5c2f617 --- /dev/null +++ b/main.py @@ -0,0 +1,180 @@ +import argparse +import getpass +import logging +import sys +import os +from weixin import WebWeixin +from sqlcipher3 import dbapi2 as sqlite + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("-f", "--db-file", required=True, help="数据库文件") + parser.add_argument("-d", "--data-dir",required=True, help="文件存储目录") + args = parser.parse_args() + return args + + +class WXBot(WebWeixin): + def getUserNickName(self, id): + if id == self.User['UserName']: + return self.User['NickName'] + for member in self.ContactList: + if member['UserName'] == id: + return member['NickName'] + return None + + def handleMsg(self, r): + for msg in r['AddMsgList']: + msgID = msg['MsgId'] + msgType = msg['MsgType'] + sql = "INSERT INTO msg (\ + msg_id,\ + create_time,\ + msg_type,\ + content,\ + from_id,\ + from_name,\ + from_nickname,\ + to_id,\ + to_name,\ + to_nickname,\ + group_id,\ + group_name\ + ) VALUES (\ + :msg_id,\ + :create_time,\ + :msg_type,\ + :content,\ + :from_id,\ + :from_name,\ + :from_nickname,\ + :to_id,\ + :to_name,\ + :to_nickname,\ + :group_id,\ + :group_name\ + )" + params = { + "msg_id": msgID, + "create_time": msg['CreateTime'], + "msg_type": msgType, + "content": None, + "from_id": msg['FromUserName'], + "from_name": self.getUserRemarkName(msg['FromUserName']), + "from_nickname": self.getUserNickName(msg['FromUserName']), + "to_id": msg['ToUserName'], + "to_name": self.getUserRemarkName(msg['ToUserName']), + "to_nickname": self.getUserNickName(msg['ToUserName']), + "group_id": None, + "group_name": None + } + # 过滤特殊帐号消息 + if msg['FromUserName'] in self.SpecialUsers or msg['ToUserName'] in self.SpecialUsers: + continue + if msgType == 1: + params['content'] = msg['Content'].replace('&lt;', '<').replace('&gt;', '>') + elif msgType == 3: + params['content'] = "[图片](%s)" % msgID + self.webwxgetmsgimg(msgID) + elif msgType == 34: + params['content'] = "[语音](%s)" % msgID + self.webwxgetvoice(msgID) + elif msgType == 43: + params['content'] = "[视频](%s)" % msgID + self.webwxgetvideo(msgID) + elif msgType == 62: + params['msg_type'] = 43 + params['content'] = "[小视频](%s)" % msgID + self.webwxgetvideo(msgID) + elif msgType == 42: + params['msg_type'] = 0 + params['content'] = "[名片](%s)" % msg['RecommendInfo']['NickName'] + elif msgType == 47: + if msg['HasProductId'] == 1: + # 有版权的表情包,无法在Web端查看 + params['msg_type'] = 0 + params['content'] = "[表情包图片]" + else: + params['msg_type'] = 3 + params['content'] = "[动画表情](%s)" % msgID + self.webwxgetmsgimg(msgID) + elif msgType == 49: + params['msg_type'] = 0 + params['content'] = "[链接:%s](%s)" % (msg['FileName'], msg['Url']) + elif (50, 51, 52, 53, 9999, 10000, 10002).index(msgType) >= 0: + continue + else: + params['msg_type'] = 0 + params['content'] = "" + continue + # 群消息 + if msg['FromUserName'][:2] == '@@': + if ":<br/>" in content: + [people, content] = msg['Content'].split(':<br/>', 1) + params['group_name'] = self.getUserRemarkName(msg['FromUserName']) + params['from_id'] = people + params['from_name'] = self.getUserRemarkName(people) + params['to_id'] = params['to_name'] = params['to_nickname'] = None + elif msg['ToUserName'][:2] == '@@': + params['group_name'] = self.getUserRemarkName(msg['ToUserName']) + params['from_id'] = self.User['UserName'] + params['from_name'] = self.User['NickName'] + params['to_id'] = params['to_name'] = params['to_nickname'] = None + conn.execute(sql, params) + conn.commit() + + +args = parse_args() +dataDir = args.data_dir +if not os.access(os.path.dirname(args.db_file), os.X_OK) and not os.access(args.db_file, os.W_OK): + print("无法创建或打开数据库文件") + exit() +elif not os.access(dataDir, os.X_OK): + print("数据目录不存在或权限不足") + exit() +conn = sqlite.connect(args.db_file) + +while True: + try: + passwd = getpass.getpass("输入数据库密码:") + if passwd != '': + conn.execute("PRAGMA KEY = %s" % passwd) + conn.execute("CREATE TABLE IF NOT EXISTS msg (\ + msg_id TEXT NOT NULL,\ + create_time INTEGER NOT NULL,\ + msg_type INTEGER NOT NULL,\ + content TEXT,\ + from_id TEXT,\ + from_name TEXT,\ + from_nickname TEXT,\ + to_id TEXT,\ + to_name TEXT,\ + to_nickname TEXT,\ + group_id TEXT,\ + group_name TEXT\ + );") + break + except sqlite.DatabaseError as e: + if 'file is not a database' in e.args: + print("密码错误,请重试") + else: + print("打开数据库失败", e) + except KeyboardInterrupt: + exit(1) + except Exception as e: + print("打开数据库失败", e) + exit(1) + + +if sys.stdout.encoding == 'cp936': + sys.stdout = UnicodeStreamFilter(sys.stdout) + +if __name__ == '__main__': + logger = logging.getLogger(__name__) + if not sys.platform.startswith('win'): + import coloredlogs + coloredlogs.install(level='INFO') + wxbot = WXBot() + wxbot.saveFolder = dataDir + wxbot.start() diff --git a/wxbot_demo_py3/requirements.txt b/requirements.txt similarity index 77% rename from wxbot_demo_py3/requirements.txt rename to requirements.txt index 1268a48..ed0735b 100644 --- a/wxbot_demo_py3/requirements.txt +++ b/requirements.txt @@ -8,3 +8,5 @@ six requests_toolbelt pyqrcode certifi +argparse +sqlcipher3-binary diff --git a/wxbot_demo_py3/weixin.py b/weixin.py similarity index 99% rename from wxbot_demo_py3/weixin.py rename to weixin.py index 09c438c..c1b6114 100755 --- a/wxbot_demo_py3/weixin.py +++ b/weixin.py @@ -23,7 +23,6 @@ from collections import defaultdict from urllib.parse import urlparse from lxml import html from socket import timeout as timeout_error -#import pdb # for media upload import mimetypes @@ -616,7 +615,7 @@ class WebWeixin(object): def webwxgetmsgimg(self, msgid): url = self.base_uri + \ '/webwxgetmsgimg?MsgID=%s&skey=%s' % (msgid, self.skey) - data = self._get(url) + data = self._get(url, 'webwxgetmsgimg') if data == '': return '' fn = 'img_' + msgid + '.jpg' @@ -1104,7 +1103,7 @@ class WebWeixin(object): request.add_header('Range', 'bytes=0-') try: response = urllib.request.urlopen(request, timeout=timeout) if timeout else urllib.request.urlopen(request) - if api == 'webwxgetvoice' or api == 'webwxgetvideo': + if api == 'webwxgetvoice' or api == 'webwxgetvideo' or api == 'webwxgetmsgimg': data = response.read() else: data = response.read().decode('utf-8') @@ -1128,7 +1127,7 @@ class WebWeixin(object): def _post(self, url: object, params: object, jsonfmt: object = True) -> object: if jsonfmt: data = (json.dumps(params)).encode() - + request = urllib.request.Request(url=url, data=data) request.add_header( 'ContentType', 'application/json; charset=UTF-8') @@ -1204,16 +1203,3 @@ class UnicodeStreamFilter: def flush(self): self.target.flush() - -if sys.stdout.encoding == 'cp936': - sys.stdout = UnicodeStreamFilter(sys.stdout) - - -if __name__ == '__main__': - logger = logging.getLogger(__name__) - if not sys.platform.startswith('win'): - import coloredlogs - coloredlogs.install(level='DEBUG') - - webwx = WebWeixin() - webwx.start() diff --git a/wxbot.pdman.json b/wxbot.pdman.json new file mode 100644 index 0000000..e2507c8 --- /dev/null +++ b/wxbot.pdman.json @@ -0,0 +1,367 @@ +{ + "modules": [ + { + "name": "core", + "chnname": "NOTA核心", + "entities": [ + { + "title": "msg", + "fields": [ + { + "name": "msg_id", + "type": "TEXT", + "remark": "", + "chnname": "消息ID", + "notNull": true, + "pk": false, + "autoIncrement": false + }, + { + "name": "create_time", + "type": "DATETIME", + "remark": "Unix时间戳", + "chnname": "创建时间", + "notNull": true, + "pk": false + }, + { + "name": "msg_type", + "type": "ENUM_INTEGER", + "remark": "0,不受支持的消息,以文本形式存储\n1,文本消息\n3,图片消息\n34,语音消息\n43,视频消息", + "chnname": "消息类型", + "notNull": true + }, + { + "name": "content", + "type": "TEXT", + "remark": "", + "chnname": "消息内容" + }, + { + "name": "from_id", + "type": "TEXT_ID", + "remark": "", + "chnname": "发送者ID" + }, + { + "name": "from_name", + "type": "TEXT", + "remark": "备注或昵称", + "chnname": "发送者" + }, + { + "name": "from_nickname", + "type": "TEXT", + "remark": "昵称", + "chnname": "发送者昵称" + }, + { + "name": "to_id", + "type": "TEXT_ID", + "remark": "", + "chnname": "接收者ID" + }, + { + "name": "to_name", + "type": "TEXT", + "remark": "", + "chnname": "接收者" + }, + { + "name": "to_nickname", + "type": "TEXT", + "remark": "", + "chnname": "接收者昵称" + }, + { + "name": "group_id", + "type": "TEXT_ID", + "remark": "", + "chnname": "群组ID" + }, + { + "name": "group_name", + "type": "TEXT", + "remark": "", + "chnname": "群组名称" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ], + "chnname": "消息", + "remark": "" + } + ], + "graphCanvas": { + "nodes": [ + { + "shape": "table", + "title": "label", + "moduleName": false, + "x": 840, + "y": 640, + "id": "d140666b" + }, + { + "shape": "table", + "title": "article", + "moduleName": false, + "x": 180, + "y": 285.7142857142857, + "id": "59f92335" + }, + { + "shape": "table", + "title": "label_group", + "moduleName": false, + "x": 1200, + "y": 650, + "id": "b41dde04" + }, + { + "shape": "table", + "title": "msg", + "moduleName": false, + "x": 840, + "y": 460, + "id": "a3e008eb" + }, + { + "shape": "table", + "title": "user_role", + "moduleName": false, + "x": 840, + "y": 300, + "id": "9e383a0c" + }, + { + "shape": "table", + "title": "article_field", + "moduleName": false, + "x": 180, + "y": 570, + "id": "31a11be8" + }, + { + "shape": "table", + "title": "article_edition", + "moduleName": false, + "x": 520, + "y": 350, + "id": "ff924bfe" + } + ], + "edges": [] + }, + "associations": [] + } + ], + "dataTypeDomains": { + "datatype": [ + { + "name": "文本", + "code": "TEXT", + "apply": { + "Sqlite": { + "type": "TEXT" + } + } + }, + { + "name": "整数", + "code": "INTEGER", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "实数", + "code": "REAL", + "apply": { + "Sqlite": { + "type": "REAL" + } + } + }, + { + "name": "日期", + "code": "DATE", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "日期时间", + "code": "DATETIME", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "布尔值", + "code": "BOOLEAN", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "文本枚举", + "code": "ENUM_TEXT", + "apply": { + "Sqlite": { + "type": "TEXT" + } + } + }, + { + "name": "整数枚举", + "code": "ENUM_INTEGER", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "整数主键", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + }, + "code": "INTEGER_PK" + }, + { + "name": "文本主键", + "code": "TEXT_PK", + "apply": { + "Sqlite": { + "type": "TEXT" + } + } + }, + { + "name": "整数唯一", + "code": "INTEGER_U", + "apply": { + "Sqlite": { + "type": "INTEGER UNIQUE" + } + } + }, + { + "name": "文本唯一", + "code": "TEXT_U", + "apply": { + "Sqlite": { + "type": "TEXT UNIQUE" + } + } + }, + { + "name": "整数标志符", + "code": "INTEGER_ID", + "apply": { + "Sqlite": { + "type": "INTEGER" + } + } + }, + { + "name": "文本标识符", + "code": "TEXT_ID", + "apply": { + "Sqlite": { + "type": "TEXT" + } + } + }, + { + "name": "二进制数据", + "code": "BLOB", + "apply": { + "Sqlite": { + "type": "BLOB" + } + } + } + ], + "database": [ + { + "code": "Sqlite", + "defaultDatabase": true, + "fileShow": true, + "createTableTemplate": "CREATE TABLE {{=it.entity.title}} (\n{{ pkList = [] ; }}\n{{~ it.entity.fields:field:index }}\n {{? field.pk }}{{ pkList.push(field) }}{{?}}\n {{=field.name}} {{=field.type}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT', field.defaultValue, ' ') : '' }}{{= index < it.entity.fields.length - 1 ? ',' : (pkList.length > 0 ? ',' : '') }}\n{{~}}\n{{? pkList.length > 0 }}\n PRIMARY KEY ({{~ pkList:pkField:i }}{{= pkField.name }}{{= pkField.autoIncrement ? ' AUTOINCREMENT' : '' }}{{= i < pkList.length - 1 ? ',' : '' }}{{~}})\n{{?}}\n){{=it.separator}}\n$blankline\n", + "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}", + "rebuildTableTemplate": "", + "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.pk}}PRIMARY KEY{{?}}{{=it.separator}}", + "updateFieldTemplate": "", + "deleteFieldTemplate": "", + "deleteIndexTemplate": "DROP INDEX {{=it.index.name}}{{=it.separator}}", + "createIndexTemplate": "CREATE{{? it.index.isUnique }} UNIQUE{{?}} INDEX {{=it.index.name}} ON {{=it.entity.title}} ({{=it.func.join(...it.index.fields,', ') }}){{=it.separator}}\n\n", + "updateTableComment": "" + } + ] + }, + "profile": { + "defaultFields": [], + "defaultFieldsType": "1", + "javaConfig": {}, + "sqlConfig": ";", + "dbs": [], + "wordTemplateConfig": "" + } +} \ No newline at end of file diff --git a/wxbot_project_py2.7/README.md b/wxbot_project_py2.7/README.md deleted file mode 100644 index 85814c2..0000000 --- a/wxbot_project_py2.7/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# wxbot_project_py2.7 - -目录结构: -```bash -. -├── README.md -├── config -│   ├── __init__.py -│   ├── config_manager.py -│   ├── constant.py -│   ├── log.py -│   ├── requirements.txt -│   └── wechat.conf.bak -├── db -│   ├── __init__.py -│   ├── mysql_db.py -│   └── sqlite_db.py -├── docker -│   ├── Dockerfile -│   └── README.md -├── flask_templates -│   ├── index.html -│   └── upload.html -├── wechat -│   ├── __init__.py -│   ├── utils.py -│   ├── wechat_apis.py -│   └── wechat.py -├── weixin_bot.py -└── wx_handler - ├── __init__.py - ├── bot.py - ├── sendgrid_mail.py - └── wechat_msg_processor.py -``` diff --git a/wxbot_project_py2.7/config/__init__.py b/wxbot_project_py2.7/config/__init__.py deleted file mode 100644 index 8cd6be0..0000000 --- a/wxbot_project_py2.7/config/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -from config_manager import ConfigManager -from constant import Constant -from log import Log \ No newline at end of file diff --git a/wxbot_project_py2.7/config/config_manager.py b/wxbot_project_py2.7/config/config_manager.py deleted file mode 100644 index 92a6fe8..0000000 --- a/wxbot_project_py2.7/config/config_manager.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from constant import Constant -#--------------------------------------------------- -import ConfigParser -import os -#=================================================== - - -class ConfigManager(object): - - def __init__(self): - self.config = Constant.WECHAT_CONFIG_FILE - self.cp = ConfigParser.ConfigParser() - self.cp.read(self.config) - - data_dir = self.get('setting', 'prefix') - upload_dir = self.getpath('uploaddir') - if not os.path.exists(data_dir): - os.makedirs(data_dir) - if not os.path.exists(upload_dir): - os.makedirs(upload_dir) - - def get(self, section, option): - return self.cp.get(section, option) - - def set(self, section, option, value): - self.cp.set(section, option, value) - self.cp.write(open(self.config, 'w')) - - def getpath(self, dir): - prefix = self.get('setting', 'prefix') - return prefix + self.get('setting', dir) - - def setup_database(self): - path = self.get('setting', 'prefix') - conf = [ - path + self.get('setting', 'uploaddir'), - path + self.get('setting', 'datadir'), - path + self.get('setting', 'logdir'), - ] - return conf - - def set_wechat_config(self, conf): - for [key, value] in conf.items(): - self.cp.set('wechat', key, value) - self.cp.write(open(self.config, 'w')) - - def get_wechat_config(self): - uin = self.cp.get('wechat', 'uin') - last_login = self.cp.get('wechat', 'last_login') - conf = [ - self.cp.get('wechat', 'uuid'), - self.cp.get('wechat', 'redirect_uri'), - int(uin if uin else 0), - self.cp.get('wechat', 'sid'), - self.cp.get('wechat', 'skey'), - self.cp.get('wechat', 'pass_ticket'), - self.cp.get('wechat', 'synckey'), - self.cp.get('wechat', 'device_id'), - float(last_login if last_login else 0), - ] - return conf - - def get_wechat_media_dir(self): - prefix = self.get('setting', 'prefix') - path = prefix + self.cp.get('setting', 'mediapath') - return { - 'webwxgeticon': path + '/icons', - 'webwxgetheadimg': path + '/headimgs', - 'webwxgetmsgimg': path + '/msgimgs', - 'webwxgetvideo': path + '/videos', - 'webwxgetvoice': path + '/voices', - '_showQRCodeImg': path + '/qrcodes', - } - - def get_pickle_files(self): - prefix = self.get('setting', 'prefix') - return { - 'User': prefix + self.get('setting', 'contact_user'), - 'MemberList': prefix + self.get('setting', 'contact_member_list'), - 'GroupList': prefix + self.get('setting', 'contact_group_list'), - 'GroupMemeberList': prefix + self.get('setting', 'contact_group_memeber_list'), - 'SpecialUsersList': prefix + self.get('setting', 'contact_special_users_list'), - } - - def get_cookie(self): - prefix = self.get('setting', 'prefix') - path = prefix + self.get('setting', 'cookie') - basedir = os.path.dirname(path) - if not os.path.exists(basedir): - os.makedirs(basedir) - return path - - def mysql(self): - mysql = { - 'host': self.get('mysql', 'host'), - 'port': self.cp.getint('mysql', 'port'), - 'user': self.get('mysql', 'user'), - 'passwd': self.get('mysql', 'passwd'), - 'database': self.get('mysql', 'database'), - } - return mysql diff --git a/wxbot_project_py2.7/config/constant.py b/wxbot_project_py2.7/config/constant.py deleted file mode 100644 index 30f3839..0000000 --- a/wxbot_project_py2.7/config/constant.py +++ /dev/null @@ -1,215 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 -import time - -class Constant(object): - """ - @brief All used constants are listed here - """ - - WECHAT_CONFIG_FILE = 'config/wechat.conf' - LOGGING_LOGGER_NAME = 'WeChat' - - QRCODE_BLACK = '\033[40m \033[0m' - QRCODE_WHITE = '\033[47m \033[0m' - - HTTP_HEADER_USERAGENT = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36')] - HTTP_HEADER_CONTENTTYPE = ['ContentType', 'application/json; charset=UTF-8'] - HTTP_HEADER_CONNECTION = ['Connection', 'keep-alive'] - HTTP_HEADER_REFERER = ['Referer', 'https://wx.qq.com/'] - HTTP_HEADER_RANGE = ['Range', 'bytes=0-'] - - REGEX_EMOJI = r'<span class="emoji emoji(\w+)"></span>' - - SERVER_LOG_FORMAT = '%(asctime)s - %(pathname)s:%(lineno)d - %(name)s - %(levelname)s - %(message)s' - SERVER_UPLOAD_ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) - SERVER_PAGE_UPLOAD = 'upload.html' - SERVER_PAGE_INDEX = 'index.html' - - RUN_RESULT_SUCCESS = '成功 %ds\n' - RUN_RESULT_FAIL = '失败\n[*] 退出程序\n' - MAIN_RESTART = '[*] wait for restart' - LOG_MSG_FILE = 'WeChat-Msgs-%Y-%m-%d.json' - LOG_MSG_GROUP_LIST_FILE = 'group_list.json' - LOG_MSG_QUIT = '\n[*] Force quit.\n' - LOG_MSG_FAIL = '失败\n' - LOG_MSG_SUCCESS = '成功\n' - LOG_MSG_START = '[*] 微信网页版 ... 开动\n' - LOG_MSG_RECOVER = '[*] 从配置文件中恢复 ... ' - LOG_MSG_RECOVER_CONTACT = '[*] 从文件中恢复联系人数据 ... ' - LOG_MSG_TRY_INIT = '[*] 尝试初始化 ... ' - LOG_MSG_ASSOCIATION_LOGIN = '[*] 通过关联登录 ... ' - LOG_MSG_GET_UUID = '[*] 正在获取 uuid ... ' - LOG_MSG_GET_QRCODE = '[*] 正在获取二维码 ... 成功\n' - LOG_MSG_SCAN_QRCODE = '[*] 请使用微信扫描二维码以登录 ... \n' - LOG_MSG_CONFIRM_LOGIN = '[*] 请在手机上点击确认以登录 ... \n' - LOG_MSG_WAIT_LOGIN_ERR1 = '[登陆超时] \n' - LOG_MSG_WAIT_LOGIN_ERR2 = '[登陆异常] \n' - LOG_MSG_LOGIN = '[*] 正在登录 ... ' - LOG_MSG_INIT = '[*] 微信初始化 ... ' - LOG_MSG_STATUS_NOTIFY = '[*] 开启状态通知 ... ' - LOG_MSG_GET_CONTACT = '[*] 获取联系人 ... ' - LOG_MSG_CONTACT_COUNT = '[*] 应有 %s 个联系人,读取到联系人 %d 个\n' - LOG_MSG_OTHER_CONTACT_COUNT = '[*] 共有 %d 个群 | %d 个直接联系人 | %d 个特殊账号 | %d 公众号或服务号\n' - LOG_MSG_GET_GROUP_MEMBER = '[*] 拉取群聊成员 ... ' - LOG_MSG_SNAPSHOT = '[*] 保存配置 ... ' - LOG_MSG_LOGOUT = '[*] 你在手机上登出了微信\n' - LOG_MSG_LOGIN_OTHERWHERE = '[*] 你在其他地方登录了 WEB 版微信\n' - LOG_MSG_QUIT_ON_PHONE = '[*] 你在手机上主动退出了\n' - LOG_MSG_RUNTIME = '[*] Total run: %s\n' - LOG_MSG_KILL_PROCESS = 'kill %d' - LOG_MSG_NEW_MSG = '>>> %d 条新消息\n' - LOG_MSG_LOCATION = '[位置] %s' - LOG_MSG_PICTURE = '[图片] %s' - LOG_MSG_VOICE = '[语音] %s' - LOG_MSG_RECALL = '撤回了一条消息' - LOG_MSG_ADD_FRIEND = '%s 请求添加你为好友' - LOG_MSG_UNKNOWN_MSG = '[*] 该消息类型为: %d,内容: %s' - LOG_MSG_VIDEO = '[小视频] %s' - LOG_MSG_NOTIFY_PHONE = '[*] 提示手机网页版微信登录状态\n' - LOG_MSG_EMOTION = '[表情] %s' - LOG_MSG_NAME_CARD = ( - '[名片]\n' - '=========================\n' - '= 昵称: %s\n' - '= 微信号: %s\n' - '= 地区: %s %s\n' - '= 性别: %s\n' - '=========================' - ) - LOG_MSG_SEX_OPTION = ['未知', '男', '女'] - LOG_MSG_APP_LINK = ( - '[%s]\n' - '=========================\n' - '= 标题: %s\n' - '= 描述: %s\n' - '= 链接: %s\n' - '= 来自: %s\n' - '=========================' - ) - LOG_MSG_APP_LINK_TYPE = {5: '链接', 3: '音乐', 7: '微博'} - LOG_MSG_APP_IMG = ( - '[图片]\n' - '=========================\n' - '= 文件: %s\n' - '= 来自: %s\n' - '=========================' - ) - LOG_MSG_SYSTEM = '系统消息' - LOG_MSG_UNKNOWN_NAME = '未知_' - LOG_MSG_UNKNOWN_GROUP_NAME = '未知群_' - - TABLE_GROUP_MSG_LOG = 'WeChatRoomMessage' - TABLE_GROUP_MSG_LOG_COL = """ - MsgID text, - RoomOwnerID text, - RoomName text, - UserCount text, - FromUserName text, - ToUserName text, - AttrStatus text, - DisplayName text, - Name text, - MsgType text, - FaceMsg text, - TextMsg text, - ImageMsg text, - VideoMsg text, - SoundMsg text, - LinkMsg text, - NameCardMsg text, - LocationMsg text, - RecallMsgID text, - SysMsg text, - MsgTime text, - MsgTimestamp text - """ - - @staticmethod - def TABLE_GROUP_LIST(): - return 'WeChatRoom_' + time.strftime('%Y%m%d', time.localtime()) - - TABLE_GROUP_LIST_COL = """ - RoomName text, - RoomID text, - RoomOwnerID text, - UserCount text, - RoomIcon text - """ - - @staticmethod - def TABLE_GROUP_USER_LIST(): - return 'WeChatRoomMember_' + time.strftime('%Y%m%d', time.localtime()) - - TABLE_GROUP_USER_LIST_COL = """ - RoomID text, - MemberID text, - MemberNickName text, - MemberDisplayName text, - MemberAttrStatus text - """ - TABLE_RECORD_ENTER_GROUP = 'WeChatEnterGroupRecord' - TABLE_RECORD_ENTER_GROUP_COL = """ - MsgID text, - RoomName text, - FromUserName text, - ToUserName text, - Name text, - EnterTime text - """ - TABLE_RECORD_RENAME_GROUP = 'WeChatRenameGroupRecord' - TABLE_RECORD_RENAME_GROUP_COL = """ - MsgID text, - FromName text, - ToName text, - ModifyPeople text, - ModifyTime text - """ - - API_APPID = 'wx782c26e4c19acffb' - API_WXAPPID = 'wx299208e619de7026' # Weibo - # 'wxeb7ec651dd0aefa9' # Weixin - API_LANG = 'zh_CN' - API_USER_AGENT = ( - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) ' - 'AppleWebKit/537.36 (KHTML, like Gecko) ' - 'Chrome/48.0.2564.109 Safari/537.36' - ) - API_SPECIAL_USER = [ - 'newsapp', 'filehelper', 'weibo', 'qqmail', - 'fmessage', 'tmessage', 'qmessage', 'qqsync', - 'floatbottle', 'lbsapp', 'shakeapp', 'medianote', - 'qqfriend', 'readerapp', 'blogapp', 'facebookapp', - 'masssendapp', 'meishiapp', 'feedsapp', 'voip', - 'blogappweixin', 'brandsessionholder', 'weixin', - 'weixinreminder', 'officialaccounts', 'wxitil', - 'notification_messages', 'wxid_novlwrv3lqwv11', - 'gh_22b87fa7cb3c', 'userexperience_alarm', - ] - - EMOTICON = [ - '[Smile]', '[Grimace]', '[Drool]', '[Scowl]', '[CoolGuy]', '[Sob]', '[Shy]', - '[Silent]', '[Sleep]', '[Cry]', '[Awkward]', '[Angry]', '[Tongue]', '[Grin]', - '[Surprise]', '[Frown]', '[Ruthless]', '[Blush]', '[Scream]', '[Puke]', - '[Chuckle]', '[Joyful]', '[Slight]', '[Smug]', '[Hungry]', '[Drowsy]', '[Panic]', - '[Sweat]', '[Laugh]', '[Commando]', '[Determined]', '[Scold]', '[Shocked]', '[Shhh]', - '[Dizzy]', '[Tormented]', '[Toasted]', '[Skull]', '[Hammer]', '[Wave]', - '[Relief]', '[DigNose]', '[Clap]', '[Shame]', '[Trick]',' [Bah!L]','[Bah!R]', - '[Yawn]', '[Lookdown]', '[Wronged]', '[Puling]', '[Sly]', '[Kiss]', '[Uh-oh]', - '[Whimper]', '[Cleaver]', '[Melon]', '[Beer]', '[Basketball]', '[PingPong]', - '[Coffee]', '[Rice]', '[Pig]', '[Rose]', '[Wilt]', '[Lip]', '[Heart]', - '[BrokenHeart]', '[Cake]', '[Lightning]', '[Bomb]', '[Dagger]', '[Soccer]', '[Ladybug]', - '[Poop]', '[Moon]', '[Sun]', '[Gift]', '[Hug]', '[Strong]', - '[Weak]', '[Shake]', '[Victory]', '[Admire]', '[Beckon]', '[Fist]', '[Pinky]', - '[Love]', '[No]', '[OK]', '[InLove]', '[Blowkiss]', '[Waddle]', '[Tremble]', - '[Aaagh!]', '[Twirl]', '[Kotow]', '[Lookback]', '[Jump]', '[Give-in]', - u'\U0001f604', u'\U0001f637', u'\U0001f639', u'\U0001f61d', u'\U0001f632', u'\U0001f633', - u'\U0001f631', u'\U0001f64d', u'\U0001f609', u'\U0001f60c', u'\U0001f612', u'\U0001f47f', - u'\U0001f47b', u'\U0001f49d', u'\U0001f64f', u'\U0001f4aa', u'\U0001f4b5', u'\U0001f382', - u'\U0001f388', u'\U0001f4e6', - ] - BOT_ZHIHU_URL_LATEST = 'http://news-at.zhihu.com/api/4/news/latest' - BOT_ZHIHU_URL_DAILY = 'http://daily.zhihu.com/story/' - BOT_TULING_API_KEY = '55e7f30895a0a10535984bae5ad294d1' - BOT_TULING_API_URL = 'http://www.tuling123.com/openapi/api?key=%s&info=%s&userid=%s' - BOT_TULING_BOT_REPLY = u'麻烦说的清楚一点,我听不懂你在说什么' diff --git a/wxbot_project_py2.7/config/log.py b/wxbot_project_py2.7/config/log.py deleted file mode 100644 index eac4933..0000000 --- a/wxbot_project_py2.7/config/log.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from constant import Constant -from config import ConfigManager -#--------------------------------------------------- -import logging -import logging.config -#=================================================== - -cm = ConfigManager() - -logging.config.fileConfig(Constant.WECHAT_CONFIG_FILE) -# create logger -Log = logging.getLogger(Constant.LOGGING_LOGGER_NAME) - -# 'application' code -# Log.debug('debug message') -# Log.info('info message') -# Log.warn('warn message') -# Log.error('error message') -# Log.critical('critical message') diff --git a/wxbot_project_py2.7/config/requirements.txt b/wxbot_project_py2.7/config/requirements.txt deleted file mode 100644 index a0597d7..0000000 --- a/wxbot_project_py2.7/config/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -qrcode -flask -requests -requests_toolbelt -pymysql -sendgrid diff --git a/wxbot_project_py2.7/config/wechat.conf.bak b/wxbot_project_py2.7/config/wechat.conf.bak deleted file mode 100644 index 31ac260..0000000 --- a/wxbot_project_py2.7/config/wechat.conf.bak +++ /dev/null @@ -1,77 +0,0 @@ -[wechat] -host = wx.qq.com -uuid = -redirect_uri = -uin = -sid = -skey = -pass_ticket = -device_id = -last_login = - -[setting] -prefix = tmp_data/ -database = WeChat.db -datadir = Data/infos/ -logdir = Logs -mediapath = Data -uploaddir = Data/upload -qrcodedir = Data/qrcode -server_port = 8080 -cookie = Cookie/WeChat.cookie -contact_user = Pickle/User.pkl -contact_member_list = Pickle/MemberList.pkl -contact_group_list = Pickle/GroupList.pkl -contact_group_memeber_list = Pickle/GroupMemeberList.pkl -contact_special_users_list = Pickle/SpecialUsersList.pkl -server_mode = False -server_log_file = server.log -log_mode = False - -[mysql] -host = localhost -port = 3306 -user = root -passwd = root -database = wechat - -[sendgrid] -api_key = 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 -from_email = wxbot@wechat.com -to_email = xxx@example.com - -[loggers] -keys = root,WeChat - -[handlers] -keys = consoleHandler,fileHandler - -[formatters] -keys = simpleFormatter - -[logger_root] -level = DEBUG -handlers = consoleHandler - -[logger_WeChat] -level = DEBUG -handlers = fileHandler -qualname = WeChat -propagate = 0 - -[handler_consoleHandler] -class = StreamHandler -level = DEBUG -formatter = simpleFormatter -args = (sys.stdout,) - -[handler_fileHandler] -class = FileHandler -level = DEBUG -formatter = simpleFormatter -args = ('tmp_data/wechat.log',) - -[formatter_simpleFormatter] -format = %(asctime)s - %(name)s - %(levelname)s - %(message)s -datefmt = - diff --git a/wxbot_project_py2.7/db/__init__.py b/wxbot_project_py2.7/db/__init__.py deleted file mode 100644 index 5d5ff9a..0000000 --- a/wxbot_project_py2.7/db/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -from sqlite_db import SqliteDB -from mysql_db import MysqlDB \ No newline at end of file diff --git a/wxbot_project_py2.7/db/mysql_db.py b/wxbot_project_py2.7/db/mysql_db.py deleted file mode 100644 index 30df872..0000000 --- a/wxbot_project_py2.7/db/mysql_db.py +++ /dev/null @@ -1,200 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from config import Log -#--------------------------------------------------- -import pymysql -import threading -import traceback -#=================================================== - -def array_join(arr, c): - t = '' - for a in arr: - t += "'%s'" % str(a).replace("'","\\\'") + c - return t[:-len(c)] - -class MysqlDB(object): - """ - 修改服务器上的配置文件/etc/my.cnf,在对应位置添加以下设置: - [client] - default-character-set = utf8mb4 - - [mysql] - default-character-set = utf8mb4 - - [mysqld] - character-set-client-handshake = FALSE - character-set-server = utf8mb4 - collation-server = utf8mb4_unicode_ci - init_connect='SET NAMES utf8mb4' - """ - - def __init__(self, conf): - self.conf = conf - config = { - 'host': conf['host'], - 'port': conf['port'], - 'user': conf['user'], - 'passwd': conf['passwd'], - 'charset':'utf8mb4', # 支持1-4个字节字符 - 'cursorclass': pymysql.cursors.DictCursor - } - self.conn = pymysql.connect(**config) - self.conn.autocommit(1) - # for thread-save - self.lock = threading.Lock() - - self.create_db(conf['database']) - self.conn.select_db(conf['database']) - - # cache table cols - self.table_cols = {} - for t in self.show_tables(): - self.table_cols[t] = self.get_table_column_name(t) - - def show_database(self): - c = self.conn.cursor() - sql = 'SHOW DATABASES' - Log.debug('DB -> %s' % sql) - c.execute(sql) - return [r['Database'] for r in c.fetchall()] - - def show_tables(self): - c = self.conn.cursor() - sql = 'SHOW TABLES' - Log.debug('DB -> %s' % sql) - c.execute(sql) - return [r['Tables_in_'+self.conf['database']] for r in c.fetchall()] - - def create_db(self, db_name): - """ - @brief Creates a database - @param db_name String - """ - if self.conf['database'] not in self.show_database(): - sql = 'CREATE DATABASE IF NOT EXISTS %s CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci' % db_name - Log.debug('DB -> %s' % sql) - self.execute(sql) - - def create_table(self, table, cols): - """ - @brief Creates a table in database - @param table String - @param cols String, the cols in table - """ - if table not in self.table_cols: - sql = 'CREATE TABLE IF NOT EXISTS %s(id int primary key auto_increment, %s) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci' % (table, cols) - Log.debug('DB -> %s' % sql) - self.execute(sql) - self.table_cols[table] = ['id'] + [c.strip().split(' ')[0] for c in cols.split(',')] - - def delete_table(self, table): - """ - @brief Delete a table in database - @param table String - """ - if table in self.table_cols: - sql = "DROP TABLE IF EXISTS %s" % table - Log.debug('DB -> %s' % sql) - self.execute(sql) - self.table_cols.pop(table) - - def insert(self, table, value): - """ - @brief Insert a row in table - @param table String - @param value Tuple - """ - col_name = self.table_cols[table][1:] - sql = "INSERT INTO %s(%s) VALUES (%s)" % (table, str(','.join(col_name)), array_join(value, ',')) - Log.debug('DB -> %s' % sql) - self.execute(sql) - - def insertmany(self, table, values): - """ - @brief Insert many rows in table - @param table String - @param values Array of tuple - """ - col_name = self.table_cols[table][1:] - sql = 'INSERT INTO %s(%s) VALUES (%s)' % (table, ','.join(col_name), ','.join(['%s'] * len(values[0]))) - Log.debug('DB -> %s' % sql) - self.execute(sql, values) - - def select(self, table, field='', condition=''): - """ - @brief select all result from table - @param table String - @param field String - @param condition String - @return result Tuple - """ - sql = "SELECT * FROM %s" % table - if field and condition: - sql += " WHERE %s='%s'" % (field, condition) - Log.debug('DB -> %s' % sql) - return self.execute(sql) - - def get_table_column_name(self, table): - """ - @brief select all result from table - @param table String - @return result Array - """ - c = self.conn.cursor() - c.execute("SELECT * FROM %s" % table) - names = list(map(lambda x: x[0], c.description)) - return names - - def execute(self, sql, values=None): - """ - @brief execute sql commands, return result if it has - @param sql String - @param value Tuple - @return result Array - """ - c = self.conn.cursor() - self.lock.acquire() - hasReturn = sql.lstrip().upper().startswith("SELECT") - - result = [] - try: - if values: - c.executemany(sql, values) - else: - c.execute(sql) - - if hasReturn: - result = c.fetchall() - - except Exception, e: - Log.error(traceback.format_exc()) - self.conn.rollback() - finally: - self.lock.release() - - if hasReturn: - return result - - def delete(self, table, field='', condition=''): - """ - @brief execute sql commands, return result if it has - @param table String - @param field String - @param condition String - """ - sql = "DELETE FROM %s WHERE %s=%s" % (table, field, condition) - Log.debug('DB -> %s' % sql) - self.execute(sql) - - def close(self): - """ - @brief close connection to database - """ - Log.debug('DB -> close') - # 关闭数据库连接 - self.conn.close() - - \ No newline at end of file diff --git a/wxbot_project_py2.7/db/sqlite_db.py b/wxbot_project_py2.7/db/sqlite_db.py deleted file mode 100644 index b953721..0000000 --- a/wxbot_project_py2.7/db/sqlite_db.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from config import Log -#--------------------------------------------------- -import sqlite3 -import threading -import traceback -#=================================================== - - -def _dict_factory(cursor, row): - aDict = {} - for iField, field in enumerate (cursor.description): - aDict [field [0]] = row [iField] - return aDict - - -class SqliteDB(object): - - def __init__(self, db_file): - self.db_file = db_file - # self.conn = sqlite3.connect(db_file, check_same_thread=False) - # use 8-bit strings instead of unicode string - self.conn.text_factory = str - # not return a tuple but a dict with column name as key - self.conn.row_factory = _dict_factory - # for thread-save - self.lock = threading.Lock() - - def set_conn(self): - self._conn = sqlite3.connect(self.db_file,check_same_thread=False) - - @property - def conn(self): - try: - self._conn.execute('select 1;') - # check out conn - except (sqlite3.ProgrammingError,AttributeError): - # Cannot operate on a closed database - self.set_conn() - - finally: - return self._conn - - - def create_table(self, table, cols): - """ - @brief Creates a table in database - @param table String - @param cols String, the cols in table - """ - sql = "CREATE TABLE if not exists %s (%s);" % (table, cols) - Log.debug('DB -> %s' % sql) - self.execute(sql) - - def delete_table(self, table): - """ - @brief Delete a table in database - @param table String - """ - sql = "DROP TABLE if exists %s;" % table - Log.debug('DB -> %s' % sql) - self.execute(sql) - - def insert(self, table, value): - """ - @brief Insert a row in table - @param table String - @param value Tuple - """ - sql = ("INSERT INTO %s VALUES (" + ",".join(['?'] * len(value)) + ");") % table - Log.debug('DB -> %s' % sql) - self.execute(sql, value) - - def insertmany(self, table, values): - """ - @brief Insert many rows in table - @param table String - @param values Array of tuple - """ - c = self.conn.cursor() - self.lock.acquire() - n = len(values[0]) - sql = ("INSERT INTO %s VALUES (" + ",".join(['?'] * n) + ");") % table - Log.debug('DB -> %s' % sql) - - try: - c.executemany(sql, values) - except Exception, e: - Log.error(traceback.format_exc()) - finally: - self.lock.release() - - self.conn.commit() - - def select(self, table, field='', condition=''): - """ - @brief select all result from table - @param table String - @param field String - @param condition String - @return result Tuple - """ - result = [] - if field and condition: - cond = (condition,) - sql = "SELECT * FROM %s WHERE %s=?" % (table, field) - Log.debug('DB -> %s' % sql) - result = self.execute(sql, cond) - else: - sql = "SELECT * FROM %s" % table - Log.debug('DB -> %s' % sql) - result = self.execute(sql) - return result - - def update(self, table, dic, condition=''): - k_arr = [] - v_arr = [] - for (k, v) in dic.items(): - k_arr.append('%s=?' % k) - v_arr.append(v) - - sql = "UPDATE %s SET %s" % (table, ','.join(k_arr)) - if condition: - sql += " WHERE %s" % condition - - Log.debug('DB -> %s' % sql) - self.execute(sql, tuple(v_arr)) - - def get_table_column_name(self, table): - """ - @brief select all result from table - @param table String - @return result Array - """ - c = self.conn.cursor() - c.execute("SELECT * FROM %s" % table) - names = list(map(lambda x: x[0], c.description)) - return names - - def execute(self, sql, value=None): - """ - @brief execute sql commands, return result if it has - @param sql String - @param value Tuple - @return result Array - """ - c = self.conn.cursor() - self.lock.acquire() - hasReturn = sql.lstrip().upper().startswith("SELECT") - - try: - if value: - c.execute(sql, value) - else: - c.execute(sql) - - if hasReturn: - result = c.fetchall() - except Exception, e: - Log.error(traceback.format_exc()) - finally: - self.lock.release() - - self.conn.commit() - - if hasReturn: - return result - - def delete(self, table, field='', condition=''): - """ - @brief execute sql commands, return result if it has - @param table String - @param field String - @param condition String - """ - sql = "DELETE FROM %s WHERE %s=?" % (table, field) - Log.debug('DB -> %s' % sql) - cond = (condition,) - self.execute(sql, cond) - - def close(self): - """ - @brief close connection to database - """ - Log.debug('DB -> close') - self.conn.close() diff --git a/wxbot_project_py2.7/docker/Dockerfile b/wxbot_project_py2.7/docker/Dockerfile deleted file mode 100644 index 0bab668..0000000 --- a/wxbot_project_py2.7/docker/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Urinx <uri.lqy@gmail.com> - -RUN apt-get update && \ - apt-get install -y python \ - python-dev \ - python-pip && \ - apt-get clean && \ - apt-get autoclean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -ADD weixin_bot.tar.gz / -WORKDIR /weixin_bot - -RUN pip install -r config/requirements.txt -EXPOSE 80 -ENTRYPOINT ["./weixin_bot.py"] -CMD [""] diff --git a/wxbot_project_py2.7/docker/README.md b/wxbot_project_py2.7/docker/README.md deleted file mode 100644 index 4072aca..0000000 --- a/wxbot_project_py2.7/docker/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# 本地构建 wechat_bot docker 镜像 - -拉下镜像: - -```bash -docker pull ubuntu:16.04 -``` - -打包本项目,将压缩包放到`docker`目录下: - -``` -tar -czf weixin_bot.tar.gz wxbot_project_py2.7/ -``` - -切换到`docker`目录,执行`build`命令: - -```bash -docker build -t wechat-bot . -``` - -导出镜像: - -```bash -docker save wechat-bot > wechat.tar -``` - -导入镜像: - -```bash -docker load < wechat.tar -``` - -运行: - -```bash -docker run -d -P --name xxx -v /src/data/dir:/Wechat_bot/test wechat-bot -``` - -删除镜像: - -```bash -docker rmi -f wechat-bot -``` - -查看log: - -```bash -docker log wechat-bot -``` diff --git a/wxbot_project_py2.7/flask_templates/index.html b/wxbot_project_py2.7/flask_templates/index.html deleted file mode 100644 index 4482b9f..0000000 --- a/wxbot_project_py2.7/flask_templates/index.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"> - <title>WeChat Bot Server</title> - <style type="text/css"> - .container { - display: flex; - } - div.doc{ - margin: auto; - text-align: left; - } - </style> -</head> -<body class="container"> - -<div class="doc"> -<pre> - ##################### - # WeChat Bot Server # - ##################### - - -## APIs - -- /qrcode - ------------------------ - @brief login qrcode - @method get - @return raw image - ------------------------ - -- /runtime - ----------------------------- - @brief basic info - @method get - @return application/json - { - 'ret': 0, - 'runtime': '', - 'total_size': '', - 'db_size': '', - 'msg_count': '', - 'image_count': '', - 'voice_count': '', - 'video_count': '', - } - ----------------------------- - -- /group_list - ------------------------ - @brief list groups - @method get - ------------------------ - -- /group_member_list/&lt;g_id&gt; - ----------------------------- - @brief list group member - @method get - @param g_id String - ----------------------------- - -- /group_chat_log/&lt;g_name&gt; - ------------------------------- - @brief list group chat log - @method get - @param g_name String - ------------------------------- - -- /upload - ------------------------------- - @brief upload a file - @method get/post - @return application/json - { - 'ret': 0, - 'msg': '', - } - ------------------------------- - -- /send_msg/&lt;to&gt;/&lt;msg&gt; - ------------------------------------------- - @brief send message to user or gourp - @method get - @param to: String, user id or group id - @param msg: String, words - @return application/json - { - 'ret': 0, - } - ------------------------------------------- - -- /send_img/&lt;to&gt;/&lt;img&gt; - ------------------------------------------- - @brief send image to user or gourp - @method get - @param to: String, user id or group id - @param img: String, image file name - @return application/json - { - 'ret': 0, - } - ------------------------------------------- - -- /send_emot/&lt;to&gt;/&lt;emot&gt; - ------------------------------------------- - @brief send emotion to user or gourp - @method get - @param to: String, user id or group id - @param emot: String, emotion file name - @return application/json - { - 'ret': 0, - } - ------------------------------------------- - -- /send_file/&lt;to&gt;/&lt;file&gt; - ------------------------------------------- - @brief send emotion to user or gourp - @method get - @param to: String, user id or group id - @param file: String, file name - @return application/json - { - 'ret': 0, - } - ------------------------------------------- - -- /mass_send_msg - ------------------------------------------- - @brief send text to mass users or gourps - @method post - @param application/json - { - 'to_list': [ - 'group_id', - ... - ], - 'msg': '', - } - @return application/json - { - 'ret': 0, - 'unsend_list': [], - } - ------------------------------------------- - -- /mass_send_img - ------------------------------------------- - @brief send image to mass users or gourps - @method post - @param application/json - { - 'to_list': [ - 'group_id', - ... - ], - 'msg': '', - } - @return application/json - { - 'ret': 0, - 'unsend_list': [], - } - ------------------------------------------- - -- /mass_send_emot - ------------------------------------------- - @brief send emoticon to mass users or gourps - @method post - @param application/json - { - 'to_list': [ - 'group_id', - ... - ], - 'msg': '', - } - @return application/json - { - 'ret': 0, - 'unsend_list': [], - } - ------------------------------------------- - -- /mass_send_file - ------------------------------------------- - @brief send file to mass users or gourps - @method post - @param application/json - { - 'to_list': [ - 'group_id', - ... - ], - 'msg': '', - } - @return application/json - { - 'ret': 0, - 'unsend_list': [], - } - ------------------------------------------- -</pre> -</div> - -</body> -</html> - diff --git a/wxbot_project_py2.7/flask_templates/upload.html b/wxbot_project_py2.7/flask_templates/upload.html deleted file mode 100644 index ecb88ba..0000000 --- a/wxbot_project_py2.7/flask_templates/upload.html +++ /dev/null @@ -1,7 +0,0 @@ -<!doctype html> -<title>Upload new File</title> -<h1>Upload new File</h1> -<form action="upload" method=post enctype=multipart/form-data> - <p><input type=file name=file> - <input type=submit value=Upload> -</form> \ No newline at end of file diff --git a/wxbot_project_py2.7/wechat/__init__.py b/wxbot_project_py2.7/wechat/__init__.py deleted file mode 100644 index 1877c14..0000000 --- a/wxbot_project_py2.7/wechat/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -from wechat import WeChat \ No newline at end of file diff --git a/wxbot_project_py2.7/wechat/utils.py b/wxbot_project_py2.7/wechat/utils.py deleted file mode 100644 index 63c86bc..0000000 --- a/wxbot_project_py2.7/wechat/utils.py +++ /dev/null @@ -1,365 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from config import Log -from config import Constant -#--------------------------------------------------- -import qrcode -import re -import os -import sys -import json -import urllib -import urllib2 -import cookielib -import cPickle as pickle -import traceback -import time -import hashlib -#=================================================== - - -def _decode_data(data): - """ - @brief decode array or dict to utf-8 - @param data array or dict - @return utf-8 - """ - if isinstance(data, dict): - rv = {} - for key, value in data.iteritems(): - if isinstance(key, unicode): - key = key.encode('utf-8') - rv[key] = _decode_data(value) - return rv - elif isinstance(data, list): - rv = [] - for item in data: - item = _decode_data(item) - rv.append(item) - return rv - elif isinstance(data, unicode): - return data.encode('utf-8') - else: - return data - - -def str2qr_terminal(text): - """ - @brief convert string to qrcode matrix and outprint - @param text The string - """ - Log.debug(text) - qr = qrcode.QRCode() - qr.border = 1 - qr.add_data(text) - mat = qr.get_matrix() - print_qr(mat) - - -def str2qr_image(text, image_path): - """ - @brief convert string to qrcode image & save - @param text The string - @param image_path Save image to the path - """ - qr = qrcode.QRCode() - qr.border = 1 - qr.add_data(text) - qr.make(fit=True) - img = qr.make_image() - img.save(image_path) - - -def print_qr(mat): - for i in mat: - BLACK = Constant.QRCODE_BLACK - WHITE = Constant.QRCODE_WHITE - echo(''.join([BLACK if j else WHITE for j in i])+'\n') - - -def echo(str): - Log.info(str[:-1]) - sys.stdout.write(str) - sys.stdout.flush() - - -def run(str, func, *args): - t = time.time() - echo(str) - r = False - try: - r = func(*args) - except: - Log.error(traceback.format_exc()) - if r: - totalTime = int(time.time() - t) - echo(Constant.RUN_RESULT_SUCCESS % totalTime) - else: - echo(Constant.RUN_RESULT_FAIL) - exit() - - -def get(url, api=None): - """ - @brief http get request - @param url String - @param api wechat api - @return http response - """ - Log.debug('GET -> ' + url) - request = urllib2.Request(url=url) - request.add_header(*Constant.HTTP_HEADER_CONNECTION) - request.add_header(*Constant.HTTP_HEADER_REFERER) - if api in ['webwxgetvoice', 'webwxgetvideo']: - request.add_header(*Constant.HTTP_HEADER_RANGE) - - while True: - try: - response = urllib2.urlopen(request, timeout=30) - data = response.read() - response.close() - if api == None: - Log.debug(data) - return data - except (KeyboardInterrupt, SystemExit): - raise - except: - Log.error(traceback.format_exc()) - - time.sleep(1) - - -def post(url, params, jsonfmt=True): - """ - @brief http post request - @param url String - @param params Dict, post params - @param jsonfmt Bool, whether is json format - @return http response - """ - Log.debug('POST -> '+url) - Log.debug(params) - if jsonfmt: - request = urllib2.Request(url=url, data=json.dumps(params, ensure_ascii=False).encode('utf8')) - request.add_header(*Constant.HTTP_HEADER_CONTENTTYPE) - else: - request = urllib2.Request(url=url, data=urllib.urlencode(params)) - - while True: - try: - response = urllib2.urlopen(request, timeout=30) - data = response.read() - response.close() - - if jsonfmt: - Log.debug(data) - return json.loads(data, object_hook=_decode_data) - return data - except (KeyboardInterrupt, SystemExit): - raise - except: - Log.error(traceback.format_exc()) - - time.sleep(1) - - -def set_cookie(cookie_file): - """ - @brief Load cookie from file - @param cookie_file - @param user_agent - @return cookie, LWPCookieJar - """ - cookie = cookielib.LWPCookieJar(cookie_file) - try: - cookie.load(ignore_discard=True) - except: - Log.error(traceback.format_exc()) - opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) - opener.addheaders = Constant.HTTP_HEADER_USERAGENT - urllib2.install_opener(opener) - return cookie - - -def generate_file_name(filename): - """ - @brief generate file name - @return new file name - """ - i = filename.rfind('.') - ext = filename[i:] - tmp = filename + str(int(time.time())) - hash_md5 = hashlib.md5(tmp) - return hash_md5.hexdigest() + ext - - -def save_file(filename, data, dirName): - """ - @brief Saves raw data to file. - @param filename String - @param data Binary data - @param dirName String - @return file path - """ - Log.debug('save file: ' + filename) - fn = filename - if not os.path.exists(dirName): - os.makedirs(dirName) - fn = os.path.join(dirName, filename) - with open(fn, 'wb') as f: - f.write(data) - return fn - - -def save_json(filename, data, dirName, mode='w+'): - """ - @brief Saves dict to json file. - @param filename String - @param data Dict - @param dirName String - @return file path - """ - Log.debug('save json: ' + filename) - fn = filename - if not os.path.exists(dirName): - os.makedirs(dirName) - fn = os.path.join(dirName, filename) - with open(fn, mode) as f: - f.write(json.dumps(data, indent=4)+'\n') - return fn - - -def load_json(filepath): - Log.debug('load json: ' + filepath) - with open(filepath, 'r') as f: - return _decode_data(json.loads(f.read())) - - -def pickle_save(data, file): - """ - @brief Use pickle to save python object into file - @param data The pyhton data - @param file The file - """ - basedir = os.path.dirname(file) - if not os.path.exists(basedir): - os.makedirs(basedir) - with open(file, 'wb') as f: - pickle.dump(data, f, pickle.HIGHEST_PROTOCOL) - - -def pickle_load(file): - """ - @brief Use pickle to load python object from file - @param file The file - @return python data - """ - if os.path.isfile(file): - with open(file, 'rb') as f: - return pickle.load(f) - return None - - -def search_content(key, content, fmat='attr'): - """ - @brief Search content from xml or html format - @param key String - @param content String - @param fmat attr - xml - @return String - """ - if fmat == 'attr': - pm = re.search(key + '\s?=\s?"([^"<]+)"', content) - if pm: - return pm.group(1) - elif fmat == 'xml': - pm = re.search('<{0}>([^<]+)</{0}>'.format(key), content) - if not pm: - pm = re.search( - '<{0}><\!\[CDATA\[(.*?)\]\]></{0}>'.format(key), content) - if pm: - return pm.group(1) - return 'unknown' - - -def is_str(s): - """ - @brief Determines if string. - @param s String - @return True if string, False otherwise. - """ - return isinstance(s, basestring) - - -def trans_coding(data): - """ - @brief Transform string to unicode - @param data String - @return unicode - """ - if not data: - return data - result = None - if type(data) == unicode: - result = data - elif type(data) == str: - result = data.decode('utf-8') - return result - - -def trans_emoji(text): - """ - @brief Transform emoji html text to unicode - @param text String - @return emoji unicode - """ - def _emoji(matched): - hex = matched.group(1) - return ('\\U%08x' % int(hex, 16)).decode('unicode-escape').encode('utf-8') - - replace_t = re.sub(Constant.REGEX_EMOJI, _emoji, text) - return replace_t - - -def auto_reload(mod): - """ - @brief reload modules - @param mod: the need reload modules - """ - try: - module = sys.modules[mod] - except: - Log.error(traceback.format_exc()) - return False - - filename = module.__file__ - # .pyc 修改时间不会变 - # 所以就用 .py 的修改时间 - if filename.endswith(".pyc"): - filename = filename.replace(".pyc", ".py") - mod_time = os.path.getmtime(filename) - if not "loadtime" in module.__dict__: - module.loadtime = 0 - - try: - if mod_time > module.loadtime: - reload(module) - else: - return False - except: - Log.error(traceback.format_exc()) - return False - - module.loadtime = mod_time - - echo('[*] load \'%s\' successful.\n' % mod) - return True - - -def split_array(arr, n): - for i in xrange(0, len(arr), n): - yield arr[i:i+n] - diff --git a/wxbot_project_py2.7/wechat/wechat.py b/wxbot_project_py2.7/wechat/wechat.py deleted file mode 100644 index 81b2001..0000000 --- a/wxbot_project_py2.7/wechat/wechat.py +++ /dev/null @@ -1,698 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from utils import * -from wechat_apis import WXAPI -from config import ConfigManager -from config import Constant -from config import Log -#--------------------------------------------------- -import json -import re -import sys -import os -import time -import random -from collections import defaultdict -from datetime import timedelta -import traceback -import Queue -import threading -#=================================================== - - -class WeChat(WXAPI): - - def __str__(self): - description = \ - "=========================\n" + \ - "[#] Web WeChat\n" + \ - "[#] UUID: " + self.uuid + "\n" + \ - "[#] Uin: " + str(self.uin) + "\n" + \ - "[#] Sid: " + self.sid + "\n" + \ - "[#] Skey: " + self.skey + "\n" + \ - "[#] DeviceId: " + self.device_id + "\n" + \ - "[#] PassTicket: " + self.pass_ticket + "\n" + \ - "[#] Run Time: " + self.get_run_time() + '\n' + \ - "=========================" - return description - - def __init__(self, host='wx.qq.com'): - super(WeChat, self).__init__(host) - - self.db = None - self.save_data_folder = '' # 保存图片,语音,小视频的文件夹 - self.last_login = 0 # 上次退出的时间 - self.time_out = 5 # 同步时间间隔(单位:秒) - self.msg_handler = None - self.start_time = time.time() - self.bot = None - - cm = ConfigManager() - self.save_data_folders = cm.get_wechat_media_dir() - self.cookie_file = cm.get_cookie() - self.pickle_file = cm.get_pickle_files() - self.log_mode = cm.get('setting', 'log_mode') == 'True' - self.exit_code = 0 - - def start(self): - echo(Constant.LOG_MSG_START) - run(Constant.LOG_MSG_RECOVER, self.recover) - - timeOut = time.time() - self.last_login - echo(Constant.LOG_MSG_TRY_INIT) - if self.webwxinit(): - echo(Constant.LOG_MSG_SUCCESS) - run(Constant.LOG_MSG_RECOVER_CONTACT, self.recover_contacts) - else: - echo(Constant.LOG_MSG_FAIL) - - while True: - # first try to login by uin without qrcode - echo(Constant.LOG_MSG_ASSOCIATION_LOGIN) - if self.association_login(): - echo(Constant.LOG_MSG_SUCCESS) - else: - echo(Constant.LOG_MSG_FAIL) - # scan qrcode to login - run(Constant.LOG_MSG_GET_UUID, self.getuuid) - echo(Constant.LOG_MSG_GET_QRCODE) - self.genqrcode() - echo(Constant.LOG_MSG_SCAN_QRCODE) - - if not self.waitforlogin(): - continue - echo(Constant.LOG_MSG_CONFIRM_LOGIN) - if not self.waitforlogin(0): - continue - break - - run(Constant.LOG_MSG_LOGIN, self.login) - run(Constant.LOG_MSG_INIT, self.webwxinit) - run(Constant.LOG_MSG_STATUS_NOTIFY, self.webwxstatusnotify) - run(Constant.LOG_MSG_GET_CONTACT, self.webwxgetcontact) - echo(Constant.LOG_MSG_CONTACT_COUNT % ( - self.MemberCount, len(self.MemberList) - )) - echo(Constant.LOG_MSG_OTHER_CONTACT_COUNT % ( - len(self.GroupList), len(self.ContactList), - len(self.SpecialUsersList), len(self.PublicUsersList) - )) - run(Constant.LOG_MSG_GET_GROUP_MEMBER, self.fetch_group_contacts) - - run(Constant.LOG_MSG_SNAPSHOT, self.snapshot) - - while True: - [retcode, selector] = self.synccheck() - Log.debug('retcode: %s, selector: %s' % (retcode, selector)) - self.exit_code = int(retcode) - - if retcode == '1100': - echo(Constant.LOG_MSG_LOGOUT) - break - if retcode == '1101': - echo(Constant.LOG_MSG_LOGIN_OTHERWHERE) - break - if retcode == '1102': - echo(Constant.LOG_MSG_QUIT_ON_PHONE) - break - elif retcode == '0': - if selector == '2': - r = self.webwxsync() - if r is not None: - try: - self.handle_msg(r) - except: - Log.error(traceback.format_exc()) - elif selector == '7': - r = self.webwxsync() - elif selector == '0': - time.sleep(self.time_out) - elif selector == '4': - # 保存群聊到通讯录 - # 修改群名称 - # 新增或删除联系人 - # 群聊成员数目变化 - r = self.webwxsync() - if r is not None: - try: - self.handle_mod(r) - except: - Log.error(traceback.format_exc()) - elif selector == '3' or selector == '6': - break - else: - r = self.webwxsync() - Log.debug('webwxsync: %s\n' % json.dumps(r)) - - # 执行定时任务 - if self.msg_handler: - self.msg_handler.check_schedule_task() - - # if self.bot: - # r = self.bot.time_schedule() - # if r: - # for g in self.GroupList: - # echo('[*] 推送 -> %s: %s' % (g['NickName'], r)) - # g_id = g['UserName'] - # self.webwxsendmsg(r, g_id) - - def get_run_time(self): - """ - @brief get how long this run - @return String - """ - totalTime = int(time.time() - self.start_time) - t = timedelta(seconds=totalTime) - return '%s Day %s' % (t.days, t) - - def stop(self): - """ - @brief Save some data and use shell to kill this process - """ - run(Constant.LOG_MSG_SNAPSHOT, self.snapshot) - echo(Constant.LOG_MSG_RUNTIME % self.get_run_time()) - # close database connect - self.db.close() - - def fetch_group_contacts(self): - """ - @brief Fetches all groups contacts. - @return Bool: whether operation succeed. - @note This function must be finished in 180s - """ - Log.debug('fetch_group_contacts') - # clean database - if self.msg_handler: - self.msg_handler.clean_db() - - # sqlite - # ---------------------------------------------------- - # group max_thread_num max_fetch_group_num time(s) - # 197 10 10 108 - # 197 10 15 95 - # 197 20 10 103 - # 197 10 20 55 - # 197 5 30 39 - # 197 4 50 35 - # ---------------------------------------------------- - # mysql - # ---------------------------------------------------- - # group max_thread_num max_fetch_group_num time(s) - # 197 4 50 20 - # ---------------------------------------------------- - - max_thread_num = 4 - max_fetch_group_num = 50 - group_list_queue = Queue.Queue() - - class GroupListThread(threading.Thread): - - def __init__(self, group_list_queue, wechat): - threading.Thread.__init__(self) - self.group_list_queue = group_list_queue - self.wechat = wechat - - def run(self): - while not self.group_list_queue.empty(): - g_list = self.group_list_queue.get() - gid_list = [] - g_dict = {} - for g in g_list: - gid = g['UserName'] - gid_list.append(gid) - g_dict[gid] = g - - group_member_list = self.wechat.webwxbatchgetcontact(gid_list) - - for member_list in group_member_list: - gid = member_list['UserName'] - g = g_dict[gid] - g['MemberCount'] = member_list['MemberCount'] - g['OwnerUin'] = member_list['OwnerUin'] - self.wechat.GroupMemeberList[gid] = member_list['MemberList'] - - # 如果使用 Mysql 则可以在多线程里操作数据库 - # 否则请注释下列代码在主线程里更新群列表 - # ----------------------------------- - # 处理群成员 - # if self.wechat.msg_handler: - # self.wechat.msg_handler.handle_group_member_list(gid, member_list['MemberList']) - # ----------------------------------- - - self.group_list_queue.task_done() - - for g_list in split_array(self.GroupList, max_fetch_group_num): - group_list_queue.put(g_list) - - for i in range(max_thread_num): - t = GroupListThread(group_list_queue, self) - t.setDaemon(True) - t.start() - - group_list_queue.join() - - if self.msg_handler: - # 处理群 - if self.GroupList: - self.msg_handler.handle_group_list(self.GroupList) - - # 这个是用 sqlite 来存储群列表,sqlite 对多线程的支持不太好 - # ---------------------------------------------------- - # 处理群成员 - for (gid, member_list) in self.GroupMemeberList.items(): - self.msg_handler.handle_group_member_list(gid, member_list) - # ---------------------------------------------------- - - return True - - def snapshot(self): - """ - @brief Save basic infos for next login. - @return Bool: whether operation succeed. - """ - try: - conf = { - 'uuid': self.uuid, - 'redirect_uri': self.redirect_uri, - 'uin': self.uin, - 'sid': self.sid, - 'skey': self.skey, - 'pass_ticket': self.pass_ticket, - 'synckey': self.synckey, - 'device_id': self.device_id, - 'last_login': time.time(), - } - cm = ConfigManager() - Log.debug('save wechat config') - cm.set_wechat_config(conf) - - # save cookie - Log.debug('save cookie') - if self.cookie: - self.cookie.save(ignore_discard=True) - - # save contacts - Log.debug('save contacts') - self.save_contacts() - except Exception, e: - Log.error(traceback.format_exc()) - return False - return True - - def recover(self): - """ - @brief Recover from snapshot data. - @return Bool: whether operation succeed. - """ - cm = ConfigManager() - [self.uuid, self.redirect_uri, self.uin, - self.sid, self.skey, self.pass_ticket, - self.synckey, device_id, self.last_login] = cm.get_wechat_config() - - if device_id: - self.device_id = device_id - - self.base_request = { - 'Uin': int(self.uin), - 'Sid': self.sid, - 'Skey': self.skey, - 'DeviceID': self.device_id, - } - - # set cookie - Log.debug('set cookie') - self.cookie = set_cookie(self.cookie_file) - - return True - - def save_contacts(self): - """ - @brief Save contacts. - """ - pickle_save(self.User, self.pickle_file['User']) - pickle_save(self.MemberList, self.pickle_file['MemberList']) - pickle_save(self.GroupList, self.pickle_file['GroupList']) - pickle_save(self.GroupMemeberList, self.pickle_file['GroupMemeberList']) - pickle_save(self.SpecialUsersList, self.pickle_file['SpecialUsersList']) - - def recover_contacts(self): - """ - @brief recover contacts. - @return Bool: whether operation succeed. - """ - try: - self.User = pickle_load(self.pickle_file['User']) - self.MemberList = pickle_load(self.pickle_file['MemberList']) - self.GroupList = pickle_load(self.pickle_file['GroupList']) - self.GroupMemeberList = pickle_load(self.pickle_file['GroupMemeberList']) - self.SpecialUsersList = pickle_load(self.pickle_file['SpecialUsersList']) - return True - except Exception, e: - Log.error(traceback.format_exc()) - return False - - def handle_mod(self, r): - # ModContactCount: 变更联系人或群聊成员数目 - # ModContactList: 变更联系人或群聊列表,或群名称改变 - Log.debug('handle modify') - self.handle_msg(r) - for m in r['ModContactList']: - if m['UserName'][:2] == '@@': - # group - in_list = False - g_id = m['UserName'] - for g in self.GroupList: - # group member change - if g_id == g['UserName']: - g['MemberCount'] = m['MemberCount'] - g['NickName'] = m['NickName'] - self.GroupMemeberList[g_id] = m['MemberList'] - in_list = True - if self.msg_handler: - self.msg_handler.handle_group_member_change(g_id, m['MemberList']) - break - if not in_list: - # a new group - self.GroupList.append(m) - self.GroupMemeberList[g_id] = m['MemberList'] - if self.msg_handler: - self.msg_handler.handle_group_list_change(m) - self.msg_handler.handle_group_member_change(g_id, m['MemberList']) - - elif m['UserName'][0] == '@': - # user - in_list = False - for u in self.MemberList: - u_id = m['UserName'] - if u_id == u['UserName']: - u = m - in_list = True - break - # if don't have then add it - if not in_list: - self.MemberList.append(m) - - def handle_msg(self, r): - """ - @brief Recover from snapshot data. - @param r Dict: message json - """ - Log.debug('handle message') - if self.msg_handler: - self.msg_handler.handle_wxsync(r) - - n = len(r['AddMsgList']) - if n == 0: - return - - if self.log_mode: - echo(Constant.LOG_MSG_NEW_MSG % n) - - for msg in r['AddMsgList']: - - msgType = msg['MsgType'] - msgId = msg['MsgId'] - content = msg['Content'].replace('&lt;', '<').replace('&gt;', '>') - raw_msg = None - - if msgType == self.wx_conf['MSGTYPE_TEXT']: - # 地理位置消息 - if content.find('pictype=location') != -1: - location = content.split('<br/>')[1][:-1] - raw_msg = { - 'raw_msg': msg, - 'location': location, - 'log': Constant.LOG_MSG_LOCATION % location - } - # 普通文本消息 - else: - text = content.split(':<br/>')[-1] - raw_msg = { - 'raw_msg': msg, - 'text': text, - 'log': text.replace('<br/>', '\n') - } - elif msgType == self.wx_conf['MSGTYPE_IMAGE']: - data = self.webwxgetmsgimg(msgId) - fn = 'img_' + msgId + '.jpg' - dir = self.save_data_folders['webwxgetmsgimg'] - path = save_file(fn, data, dir) - raw_msg = {'raw_msg': msg, - 'image': path, - 'log': Constant.LOG_MSG_PICTURE % path} - elif msgType == self.wx_conf['MSGTYPE_VOICE']: - data = self.webwxgetvoice(msgId) - fn = 'voice_' + msgId + '.mp3' - dir = self.save_data_folders['webwxgetvoice'] - path = save_file(fn, data, dir) - raw_msg = {'raw_msg': msg, - 'voice': path, - 'log': Constant.LOG_MSG_VOICE % path} - elif msgType == self.wx_conf['MSGTYPE_SHARECARD']: - info = msg['RecommendInfo'] - card = Constant.LOG_MSG_NAME_CARD % ( - info['NickName'], - info['Alias'], - info['Province'], info['City'], - Constant.LOG_MSG_SEX_OPTION[info['Sex']] - ) - namecard = '%s %s %s %s %s' % ( - info['NickName'], info['Alias'], info['Province'], - info['City'], Constant.LOG_MSG_SEX_OPTION[info['Sex']] - ) - raw_msg = { - 'raw_msg': msg, - 'namecard': namecard, - 'log': card - } - elif msgType == self.wx_conf['MSGTYPE_EMOTICON']: - url = search_content('cdnurl', content) - raw_msg = {'raw_msg': msg, - 'emoticon': url, - 'log': Constant.LOG_MSG_EMOTION % url} - elif msgType == self.wx_conf['MSGTYPE_APP']: - card = '' - # 链接, 音乐, 微博 - if msg['AppMsgType'] in [ - self.wx_conf['APPMSGTYPE_AUDIO'], - self.wx_conf['APPMSGTYPE_URL'], - self.wx_conf['APPMSGTYPE_OPEN'] - ]: - card = Constant.LOG_MSG_APP_LINK % ( - Constant.LOG_MSG_APP_LINK_TYPE[msg['AppMsgType']], - msg['FileName'], - search_content('des', content, 'xml'), - msg['Url'], - search_content('appname', content, 'xml') - ) - raw_msg = { - 'raw_msg': msg, - 'link': msg['Url'], - 'log': card - } - # 图片 - elif msg['AppMsgType'] == self.wx_conf['APPMSGTYPE_IMG']: - data = self.webwxgetmsgimg(msgId) - fn = 'img_' + msgId + '.jpg' - dir = self.save_data_folders['webwxgetmsgimg'] - path = save_file(fn, data, dir) - card = Constant.LOG_MSG_APP_IMG % ( - path, - search_content('appname', content, 'xml') - ) - raw_msg = { - 'raw_msg': msg, - 'image': path, - 'log': card - } - else: - raw_msg = { - 'raw_msg': msg, - 'log': Constant.LOG_MSG_UNKNOWN_MSG % (msgType, content) - } - elif msgType == self.wx_conf['MSGTYPE_STATUSNOTIFY']: - Log.info(Constant.LOG_MSG_NOTIFY_PHONE) - elif msgType == self.wx_conf['MSGTYPE_MICROVIDEO']: - data = self.webwxgetvideo(msgId) - fn = 'video_' + msgId + '.mp4' - dir = self.save_data_folders['webwxgetvideo'] - path = save_file(fn, data, dir) - raw_msg = {'raw_msg': msg, - 'video': path, - 'log': Constant.LOG_MSG_VIDEO % path} - elif msgType == self.wx_conf['MSGTYPE_RECALLED']: - recall_id = search_content('msgid', content, 'xml') - text = Constant.LOG_MSG_RECALL - raw_msg = { - 'raw_msg': msg, - 'text': text, - 'recall_msg_id': recall_id, - 'log': text - } - elif msgType == self.wx_conf['MSGTYPE_SYS']: - raw_msg = { - 'raw_msg': msg, - 'sys_notif': content, - 'log': content - } - elif msgType == self.wx_conf['MSGTYPE_VERIFYMSG']: - name = search_content('fromnickname', content) - raw_msg = { - 'raw_msg': msg, - 'log': Constant.LOG_MSG_ADD_FRIEND % name - } - else: - raw_msg = { - 'raw_msg': msg, - 'log': Constant.LOG_MSG_UNKNOWN_MSG % (msgType, content) - } - - isGroupMsg = '@@' in msg['FromUserName']+msg['ToUserName'] - if self.msg_handler and raw_msg: - if isGroupMsg: - # handle group messages - g_msg = self.make_group_msg(raw_msg) - self.msg_handler.handle_group_msg(g_msg) - else: - # handle personal messages - self.msg_handler.handle_user_msg(raw_msg) - - if self.log_mode: - self.show_msg(raw_msg) - - def make_group_msg(self, msg): - """ - @brief Package the group message for storage. - @param msg Dict: raw msg - @return raw_msg Dict: packged msg - """ - Log.debug('make group message') - raw_msg = { - 'raw_msg': msg['raw_msg'], - 'msg_id': msg['raw_msg']['MsgId'], - 'group_owner_uin': '', - 'group_name': '', - 'group_count': '', - 'from_user_name': msg['raw_msg']['FromUserName'], - 'to_user_name': msg['raw_msg']['ToUserName'], - 'user_attrstatus': '', - 'user_display_name': '', - 'user_nickname': '', - 'msg_type': msg['raw_msg']['MsgType'], - 'text': '', - 'link': '', - 'image': '', - 'video': '', - 'voice': '', - 'emoticon': '', - 'namecard': '', - 'location': '', - 'recall_msg_id': '', - 'sys_notif': '', - 'time': '', - 'timestamp': '', - 'log': '', - } - content = msg['raw_msg']['Content'].replace( - '&lt;', '<').replace('&gt;', '>') - - group = None - src = None - - if msg['raw_msg']['FromUserName'][:2] == '@@': - # 接收到来自群的消息 - g_id = msg['raw_msg']['FromUserName'] - group = self.get_group_by_id(g_id) - - if re.search(":<br/>", content, re.IGNORECASE): - u_id = content.split(':<br/>')[0] - src = self.get_group_user_by_id(u_id, g_id) - - elif msg['raw_msg']['ToUserName'][:2] == '@@': - # 自己发给群的消息 - g_id = msg['raw_msg']['ToUserName'] - u_id = msg['raw_msg']['FromUserName'] - src = self.get_group_user_by_id(u_id, g_id) - group = self.get_group_by_id(g_id) - - if src: - raw_msg['user_attrstatus'] = src['AttrStatus'] - raw_msg['user_display_name'] = src['DisplayName'] - raw_msg['user_nickname'] = src['NickName'] - if group: - raw_msg['group_count'] = group['MemberCount'] - raw_msg['group_owner_uin'] = group['OwnerUin'] - raw_msg['group_name'] = group['ShowName'] - - raw_msg['timestamp'] = msg['raw_msg']['CreateTime'] - t = time.localtime(float(raw_msg['timestamp'])) - raw_msg['time'] = time.strftime("%Y-%m-%d %T", t) - - for key in [ - 'text', 'link', 'image', 'video', 'voice', - 'emoticon', 'namecard', 'location', 'log', - 'recall_msg_id', 'sys_notif' - ]: - if key in msg: - raw_msg[key] = msg[key] - - return raw_msg - - def show_msg(self, message): - """ - @brief Log the message to stdout - @param message Dict - """ - msg = message - src = None - dst = None - group = None - - if msg and msg['raw_msg']: - - content = msg['raw_msg']['Content'] - content = content.replace('&lt;', '<').replace('&gt;', '>') - msg_id = msg['raw_msg']['MsgId'] - - if msg['raw_msg']['FromUserName'][:2] == '@@': - # 接收到来自群的消息 - g_id = msg['raw_msg']['FromUserName'] - group = self.get_group_by_id(g_id) - - if re.search(":<br/>", content, re.IGNORECASE): - u_id = content.split(':<br/>')[0] - src = self.get_group_user_by_id(u_id, g_id) - dst = {'ShowName': 'GROUP'} - else: - u_id = msg['raw_msg']['ToUserName'] - src = {'ShowName': 'SYSTEM'} - dst = self.get_group_user_by_id(u_id, g_id) - elif msg['raw_msg']['ToUserName'][:2] == '@@': - # 自己发给群的消息 - g_id = msg['raw_msg']['ToUserName'] - u_id = msg['raw_msg']['FromUserName'] - group = self.get_group_by_id(g_id) - src = self.get_group_user_by_id(u_id, g_id) - dst = {'ShowName': 'GROUP'} - else: - # 非群聊消息 - src = self.get_user_by_id(msg['raw_msg']['FromUserName']) - dst = self.get_user_by_id(msg['raw_msg']['ToUserName']) - - if group: - echo('%s |%s| %s -> %s: %s\n' % ( - msg_id, - trans_emoji(group['ShowName']), - trans_emoji(src['ShowName']), - dst['ShowName'], - trans_emoji(msg['log']) - )) - else: - echo('%s %s -> %s: %s\n' % ( - msg_id, - trans_emoji(src['ShowName']), - trans_emoji(dst['ShowName']), - trans_emoji(msg['log']) - )) diff --git a/wxbot_project_py2.7/wechat/wechat_apis.py b/wxbot_project_py2.7/wechat/wechat_apis.py deleted file mode 100644 index fa75db5..0000000 --- a/wxbot_project_py2.7/wechat/wechat_apis.py +++ /dev/null @@ -1,973 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from utils import * -from config import Constant -from config import Log -#--------------------------------------------------- -import sys -import os -import cookielib -import random -import requests -import time -import xml.dom.minidom -# for media upload -import mimetypes -from requests_toolbelt.multipart.encoder import MultipartEncoder -#=================================================== - - -class WXAPI(object): - - def __init__(self, host): - self.wx_host = host - self.wx_filehost = '' - self.wx_conf = {} - # jsLogin时这个appid只能使用: wx782c26e4c19acffb - self.appid = Constant.API_APPID - self.uuid = '' - self.redirect_uri = '' - self.skey = '' - self.sid = '' - self.uin = '' - self.pass_ticket = '' - self.base_request = {} - self.synckey_dic = {} - self.synckey = '' - self.device_id = 'e' + repr(random.random())[2:17] - # device_id: 登录手机设备 - # web wechat 的格式为: e123456789012345 (e+15位随机数) - # mobile wechat 的格式为: A1234567890abcde (A+15位随机数字或字母) - self.user_agent = Constant.API_USER_AGENT - self.cookie = None - - self.conf_factory() - - self.User = [] # 登陆账号信息 - self.MemberList = [] # 好友+群聊+公众号+特殊账号 - self.MemberCount = 0 - self.ContactList = [] # 好友 - self.GroupList = [] # 群 - self.GroupMemeberList = {} # 群聊成员字典 - # "group_id": [ - # {member}, ... - # ] - self.PublicUsersList = [] # 公众号/服务号 - self.SpecialUsersList = [] # 特殊账号 - - self.media_count = 0 - - def conf_factory(self): - e = self.wx_host # wx.qq.com - t, o, n = "login.weixin.qq.com", "file.wx.qq.com", "webpush.weixin.qq.com" - - if e.find("wx2.qq.com") > -1: - t, o, n = "login.wx2.qq.com", "file.wx2.qq.com", "webpush.wx2.qq.com" - elif e.find("wx8.qq.com") > -1: - t, o, n = "login.wx8.qq.com", "file.wx8.qq.com", "webpush.wx8.qq.com" - elif e.find("qq.com") > -1: - t, o, n = "login.wx.qq.com", "file.wx.qq.com", "webpush.wx.qq.com" - elif e.find("web2.wechat.com") > -1: - t, o, n = "login.web2.wechat.com", "file.web2.wechat.com", "webpush.web2.wechat.com" - elif e.find("wechat.com") > -1: - t, o, n = "login.web.wechat.com", "file.web.wechat.com", "webpush.web.wechat.com" - - self.wx_filehost = o - conf = { - 'LANG': Constant.API_LANG, - 'SpecialUsers': Constant.API_SPECIAL_USER, - 'API_jsLogin': "https://" + t + "/jslogin", - 'API_qrcode': "https://login.weixin.qq.com/l/", - 'API_qrcode_img': "https://login.weixin.qq.com/qrcode/", - 'API_login': "https://" + t + "/cgi-bin/mmwebwx-bin/login", - 'API_synccheck': "https://" + n + "/cgi-bin/mmwebwx-bin/synccheck", - 'API_webwxdownloadmedia': "https://" + o + "/cgi-bin/mmwebwx-bin/webwxgetmedia", - 'API_webwxuploadmedia': "https://" + o + "/cgi-bin/mmwebwx-bin/webwxuploadmedia", - 'API_webwxpreview': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxpreview", - 'API_webwxinit': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxinit", - 'API_webwxgetcontact': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetcontact", - 'API_webwxsync': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsync", - 'API_webwxbatchgetcontact': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxbatchgetcontact", - 'API_webwxgeticon': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgeticon", - 'API_webwxsendmsg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendmsg", - 'API_webwxsendmsgimg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendmsgimg", - 'API_webwxsendmsgvedio': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendvideomsg", - 'API_webwxsendemoticon': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendemoticon", - 'API_webwxsendappmsg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendappmsg", - 'API_webwxgetheadimg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetheadimg", - 'API_webwxgetmsgimg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetmsgimg", - 'API_webwxgetmedia': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetmedia", - 'API_webwxgetvideo': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetvideo", - 'API_webwxlogout': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxlogout", - 'API_webwxgetvoice': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxgetvoice", - 'API_webwxupdatechatroom': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxupdatechatroom", - 'API_webwxcreatechatroom': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxcreatechatroom", - 'API_webwxstatusnotify': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxstatusnotify", - 'API_webwxcheckurl': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxcheckurl", - 'API_webwxverifyuser': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxverifyuser", - 'API_webwxfeedback': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsendfeedback", - 'API_webwxreport': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxstatreport", - 'API_webwxsearch': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxsearchcontact", - 'API_webwxoplog': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxoplog", - 'API_checkupload': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxcheckupload", - 'API_webwxrevokemsg': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxrevokemsg", - 'API_webwxpushloginurl': "https://" + e + "/cgi-bin/mmwebwx-bin/webwxpushloginurl", - 'CONTACTFLAG_CONTACT': 1, - 'CONTACTFLAG_CHATCONTACT': 2, - 'CONTACTFLAG_CHATROOMCONTACT': 4, - 'CONTACTFLAG_BLACKLISTCONTACT': 8, - 'CONTACTFLAG_DOMAINCONTACT': 16, - 'CONTACTFLAG_HIDECONTACT': 32, - 'CONTACTFLAG_FAVOURCONTACT': 64, - 'CONTACTFLAG_3RDAPPCONTACT': 128, - 'CONTACTFLAG_SNSBLACKLISTCONTACT': 256, - 'CONTACTFLAG_NOTIFYCLOSECONTACT': 512, - 'CONTACTFLAG_TOPCONTACT': 2048, - 'MSGTYPE_TEXT': 1, - 'MSGTYPE_IMAGE': 3, - 'MSGTYPE_VOICE': 34, - 'MSGTYPE_VIDEO': 43, - 'MSGTYPE_MICROVIDEO': 62, - 'MSGTYPE_EMOTICON': 47, - 'MSGTYPE_APP': 49, - 'MSGTYPE_VOIPMSG': 50, - 'MSGTYPE_VOIPNOTIFY': 52, - 'MSGTYPE_VOIPINVITE': 53, - 'MSGTYPE_LOCATION': 48, - 'MSGTYPE_STATUSNOTIFY': 51, - 'MSGTYPE_SYSNOTICE': 9999, - 'MSGTYPE_POSSIBLEFRIEND_MSG': 40, - 'MSGTYPE_VERIFYMSG': 37, - 'MSGTYPE_SHARECARD': 42, - 'MSGTYPE_SYS': 10000, - 'MSGTYPE_RECALLED': 10002, - 'APPMSGTYPE_TEXT': 1, - 'APPMSGTYPE_IMG': 2, - 'APPMSGTYPE_AUDIO': 3, - 'APPMSGTYPE_VIDEO': 4, - 'APPMSGTYPE_URL': 5, - 'APPMSGTYPE_ATTACH': 6, - 'APPMSGTYPE_OPEN': 7, - 'APPMSGTYPE_EMOJI': 8, - 'APPMSGTYPE_VOICE_REMIND': 9, - 'APPMSGTYPE_SCAN_GOOD': 10, - 'APPMSGTYPE_GOOD': 13, - 'APPMSGTYPE_EMOTION': 15, - 'APPMSGTYPE_CARD_TICKET': 16, - 'APPMSGTYPE_REALTIME_SHARE_LOCATION': 17, - 'APPMSGTYPE_TRANSFERS': 2e3, - 'APPMSGTYPE_RED_ENVELOPES': 2001, - 'APPMSGTYPE_READER_TYPE': 100001, - 'UPLOAD_MEDIA_TYPE_IMAGE': 1, - 'UPLOAD_MEDIA_TYPE_VIDEO': 2, - 'UPLOAD_MEDIA_TYPE_AUDIO': 3, - 'UPLOAD_MEDIA_TYPE_ATTACHMENT': 4, - } - self.wx_conf = conf - - def getuuid(self): - """ - @brief Gets the uuid just used for login. - @return Bool: whether operation succeed. - """ - url = self.wx_conf['API_jsLogin'] - params = { - 'appid': self.appid, - 'fun': 'new', - 'lang': self.wx_conf['LANG'], - '_': int(time.time()), - } - data = post(url, params, False) - regx = r'window.QRLogin.code = (\d+); window.QRLogin.uuid = "(\S+?)"' - pm = re.search(regx, data) - if pm: - code = pm.group(1) - self.uuid = pm.group(2) - return code == '200' - return False - - def genqrcode(self): - """ - @brief outprint the qrcode to stdout on macos/linux - or open image on windows - """ - if sys.platform.startswith('win'): - url = self.wx_conf['API_qrcode_img'] + self.uuid - params = { - 't': 'webwx', - '_': int(time.time()) - } - data = post(url, params, False) - if data == '': - return - qrcode_path = save_file('qrcode.jpg', data, './') - os.startfile(qrcode_path) - else: - str2qr_terminal(self.wx_conf['API_qrcode'] + self.uuid) - - def waitforlogin(self, tip=1): - """ - @brief wait for scaning qrcode to login - @param tip 1: wait for scan qrcode - 0: wait for confirm - @return Bool: whether operation succeed - """ - time.sleep(tip) - url = self.wx_conf['API_login'] + '?tip=%s&uuid=%s&_=%s' % ( - tip, self.uuid, int(time.time())) - data = get(url) - pm = re.search(r'window.code=(\d+);', data) - code = pm.group(1) - - if code == '201': - return True - elif code == '200': - pm = re.search(r'window.redirect_uri="(\S+?)";', data) - r_uri = pm.group(1) + '&fun=new' - self.redirect_uri = r_uri - self.wx_host = r_uri.split('://')[1].split('/')[0] - self.conf_factory() - return True - elif code == '408': - echo(Constant.LOG_MSG_WAIT_LOGIN_ERR1) - else: - echo(Constant.LOG_MSG_WAIT_LOGIN_ERR2) - return False - - def login(self): - """ - @brief login - redirect_uri 有效时间是从扫码成功后算起, - 大概是 300 秒,在此期间可以重新登录,但获取的联系人和群ID会改变 - @return Bool: whether operation succeed - """ - data = get(self.redirect_uri) - doc = xml.dom.minidom.parseString(data) - root = doc.documentElement - - for node in root.childNodes: - if node.nodeName == 'ret': - if node.childNodes[0].data != "0": - return False - elif node.nodeName == 'skey': - self.skey = node.childNodes[0].data - elif node.nodeName == 'wxsid': - self.sid = node.childNodes[0].data - elif node.nodeName == 'wxuin': - self.uin = node.childNodes[0].data - elif node.nodeName == 'pass_ticket': - self.pass_ticket = node.childNodes[0].data - - if '' in (self.skey, self.sid, self.uin, self.pass_ticket): - return False - - self.base_request = { - 'Uin': int(self.uin), - 'Sid': self.sid, - 'Skey': self.skey, - 'DeviceID': self.device_id, - } - - return True - - def webwxinit(self): - """ - @brief wechat initial - 掉线后 300 秒可以重新使用此 api 登录 - 获取的联系人和群ID保持不变 - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxinit'] + \ - '?pass_ticket=%s&skey=%s&r=%s' % ( - self.pass_ticket, self.skey, int(time.time()) - ) - params = { - 'BaseRequest': self.base_request - } - dic = post(url, params) - self.User = dic['User'] - self.make_synckey(dic) - - return dic['BaseResponse']['Ret'] == 0 - - def webwxstatusnotify(self): - """ - @brief notify the mobile phone, this not necessary - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxstatusnotify'] + \ - '?lang=%s&pass_ticket=%s' % ( - self.wx_conf['LANG'], self.pass_ticket - ) - params = { - 'BaseRequest': self.base_request, - "Code": 3, - "FromUserName": self.User['UserName'], - "ToUserName": self.User['UserName'], - "ClientMsgId": int(time.time()) - } - dic = post(url, params) - - return dic['BaseResponse']['Ret'] == 0 - - def webwxgetcontact(self): - """ - @brief get all contacts: people, group, public user, special user - @return Bool: whether operation succeed - """ - SpecialUsers = self.wx_conf['SpecialUsers'] - url = self.wx_conf['API_webwxgetcontact'] + \ - '?pass_ticket=%s&skey=%s&r=%s' % ( - self.pass_ticket, self.skey, int(time.time()) - ) - dic = post(url, {}) - - self.MemberCount = dic['MemberCount'] - self.MemberList = dic['MemberList'] - ContactList = self.MemberList[:] - GroupList = self.GroupList[:] - PublicUsersList = self.PublicUsersList[:] - SpecialUsersList = self.SpecialUsersList[:] - - for i in xrange(len(ContactList) - 1, -1, -1): - Contact = ContactList[i] - if Contact['VerifyFlag'] & 8 != 0: # 公众号/服务号 - ContactList.remove(Contact) - self.PublicUsersList.append(Contact) - elif Contact['UserName'] in SpecialUsers: # 特殊账号 - ContactList.remove(Contact) - self.SpecialUsersList.append(Contact) - elif Contact['UserName'].find('@@') != -1: # 群聊 - ContactList.remove(Contact) - self.GroupList.append(Contact) - elif Contact['UserName'] == self.User['UserName']: # 自己 - ContactList.remove(Contact) - self.ContactList = ContactList - - return True - - def webwxbatchgetcontact(self, gid_list): - """ - @brief get group contacts - @param gid_list, The list of group id - @return List, list of group contacts - """ - url = self.wx_conf['API_webwxbatchgetcontact'] + \ - '?type=ex&r=%s&pass_ticket=%s' % ( - int(time.time()), self.pass_ticket - ) - params = { - 'BaseRequest': self.base_request, - "Count": len(gid_list), - "List": [{"UserName": gid, "EncryChatRoomId": ""} for gid in gid_list] - } - dic = post(url, params) - return dic['ContactList'] - - def synccheck(self): - """ - @brief check whether there's a message - @return [retcode, selector] - retcode: 0 successful - 1100 logout - 1101 login otherwhere - selector: 0 nothing - 2 message - 6 unkonwn - 7 webwxsync - """ - params = { - 'r': int(time.time()), - 'sid': self.sid, - 'uin': self.uin, - 'skey': self.skey, - 'deviceid': self.device_id, - 'synckey': self.synckey, - '_': int(time.time()), - } - url = self.wx_conf['API_synccheck'] + '?' + urllib.urlencode(params) - data = get(url) - reg = r'window.synccheck={retcode:"(\d+)",selector:"(\d+)"}' - pm = re.search(reg, data) - retcode = pm.group(1) - selector = pm.group(2) - return [retcode, selector] - - def webwxsync(self): - """ - @brief sync the messages - @return Dict{} - """ - url = self.wx_conf['API_webwxsync'] + \ - '?sid=%s&skey=%s&pass_ticket=%s' % ( - self.sid, self.skey, self.pass_ticket - ) - params = { - 'BaseRequest': self.base_request, - 'SyncKey': self.synckey_dic, - 'rr': ~int(time.time()) - } - dic = post(url, params) - - if dic['BaseResponse']['Ret'] == 0: - self.make_synckey(dic) - return dic - - def webwxgetmsgimg(self, msgid): - """ - @brief get image in message - @param msgid The id of message - @return binary data of image - """ - url = self.wx_conf['API_webwxgetmsgimg'] + \ - '?MsgID=%s&skey=%s' % (msgid, self.skey) - data = get(url, api='webwxgetmsgimg') - return data - - def webwxgetvoice(self, msgid): - """ - @brief get voice in message - @param msgid The id of message - @return binary data of voice - """ - url = self.wx_conf['API_webwxgetvoice'] + \ - '?msgid=%s&skey=%s' % (msgid, self.skey) - data = get(url, api='webwxgetvoice') - return data - - def webwxgetvideo(self, msgid): - """ - @brief get video in message - @param msgid The id of message - @return binary data of video - """ - url = self.wx_conf['API_webwxgetvideo'] + \ - '?msgid=%s&skey=%s' % (msgid, self.skey) - data = get(url, api='webwxgetvideo') - return data - - def webwxgeticon(self, id): - """ - @brief get user small icon - @param id String - @return binary data of icon - """ - url = self.wx_conf['API_webwxgeticon'] + \ - '?username=%s&skey=%s' % (id, self.skey) - data = get(url, api='webwxgeticon') - return data - - def webwxgetheadimg(self, id): - """ - @brief get user head image - @param id String - @return binary data of image - """ - url = self.wx_conf['API_webwxgetheadimg'] + \ - '?username=%s&skey=%s' % (id, self.skey) - data = get(url, api='webwxgetheadimg') - return data - - def webwxsendmsg(self, word, to='filehelper'): - """ - @brief send text message - @param word String - @param to User id - @return dic Dict - """ - url = self.wx_conf['API_webwxsendmsg'] + \ - '?pass_ticket=%s' % (self.pass_ticket) - clientMsgId = str(int(time.time() * 1000)) + \ - str(random.random())[:5].replace('.', '') - params = { - 'BaseRequest': self.base_request, - 'Msg': { - "Type": 1, - "Content": trans_coding(word), - "FromUserName": self.User['UserName'], - "ToUserName": to, - "LocalID": clientMsgId, - "ClientMsgId": clientMsgId - } - } - dic = post(url, params) - return dic - - def webwxuploadmedia(self, file_path): - """ - @brief upload image - @param file_path String - @return Dict: json - """ - url = self.wx_conf['API_webwxuploadmedia'] + '?f=json' - # 计数器 - self.media_count = self.media_count + 1 - fn = file_path - # mime_type: - # 'application/pdf' - # 'image/jpeg' - # 'image/png' - # ... - mime_type = mimetypes.guess_type(fn, strict=False)[0] - if not mime_type: - mime_type = 'text/plain' - # 文档格式 - # 微信服务器目前应该支持3种类型: - # pic 直接显示,包含图片,表情 - # video 不清楚 - # doc 显示为文件,包含PDF等 - media_type = 'pic' if mime_type.split('/')[0] == 'image' else 'doc' - time_format = "%a %b %d %Y %T GMT%z (%Z)" - last_modifie_date = time.strftime(time_format, time.localtime()) - file_size = os.path.getsize(fn) - pass_ticket = self.pass_ticket - client_media_id = str(int(time.time() * 1000)) + \ - str(random.random())[:5].replace('.', '') - - webwx_data_ticket = '' - for item in self.cookie: - if item.name == 'webwx_data_ticket': - webwx_data_ticket = item.value - break - if (webwx_data_ticket == ''): - Log.error("No Cookie\n") - return None - - uploadmediarequest = json.dumps({ - "BaseRequest": self.base_request, - "ClientMediaId": client_media_id, - "TotalLen": file_size, - "StartPos": 0, - "DataLen": file_size, - "MediaType": 4 - }, ensure_ascii=False).encode('utf8') - - multipart_encoder = MultipartEncoder( - fields={ - 'id': 'WU_FILE_' + str(self.media_count), - 'name': fn, - 'type': mime_type, - 'lastModifieDate': last_modifie_date, - 'size': str(file_size), - 'mediatype': media_type, - 'uploadmediarequest': uploadmediarequest, - 'webwx_data_ticket': webwx_data_ticket, - 'pass_ticket': pass_ticket, - 'filename': ( - fn, - open(fn, 'rb'), - mime_type.split('/')[1] - ) - }, - boundary=( - '-----------------------------' - '1575017231431605357584454111' - ) - ) - - headers = { - 'Host': self.wx_filehost, - 'User-Agent': self.user_agent, - 'Accept': ( - 'text/html,application/xhtml+xml,' - 'application/xml;q=0.9,*/*;q=0.8' - ), - 'Accept-Language': 'en-US,en;q=0.5', - 'Accept-Encoding': 'gzip, deflate', - 'Referer': 'https://' + self.wx_host, - 'Content-Type': multipart_encoder.content_type, - 'Origin': 'https://' + self.wx_host, - 'Connection': 'keep-alive', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - } - - r = requests.post(url, data=multipart_encoder, headers=headers) - dic = json.loads(r.text) #修复无法发送Media消息BUG - if dic['BaseResponse']['Ret'] == 0: - return dic - return None - - def webwxsendmsgimg(self, user_id, media_id): - """ - @brief send image - @param user_id String - @param media_id String - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxsendmsgimg'] + \ - '?fun=async&f=json&pass_ticket=%s' % self.pass_ticket - clientMsgId = str(int(time.time() * 1000)) + \ - str(random.random())[:5].replace('.', '') - data_json = { - "BaseRequest": self.base_request, - "Msg": { - "Type": 3, - "MediaId": media_id, - "FromUserName": self.User['UserName'], - "ToUserName": user_id, - "LocalID": clientMsgId, - "ClientMsgId": clientMsgId - } - } - r = post(url, data_json) - return dic['BaseResponse']['Ret'] == 0 - - def webwxsendemoticon(self, user_id, media_id): - """ - @brief send image - @param user_id String - @param media_id String - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxsendemoticon'] + \ - '?fun=sys&f=json&pass_ticket=%s' % self.pass_ticket - clientMsgId = str(int(time.time() * 1000)) + \ - str(random.random())[:5].replace('.', '') - data_json = { - "BaseRequest": self.base_request, - "Msg": { - "Type": 47, - "EmojiFlag": 2, - "MediaId": media_id, - "FromUserName": self.User['UserName'], - "ToUserName": user_id, - "LocalID": clientMsgId, - "ClientMsgId": clientMsgId - } - } - r = post(url, data_json) - return dic['BaseResponse']['Ret'] == 0 - - def webwxsendappmsg(self, user_id, data): - """ - @brief send app msg - @param user_id String - @param data Dict - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxsendappmsg'] + \ - '?fun=sys&f=json&pass_ticket=%s' % self.pass_ticket - clientMsgId = str(int(time.time() * 1000)) + \ - str(random.random())[:5].replace('.', '') - content = ''.join([ - "<appmsg appid='%s' sdkver=''>" % data['appid'], # 可使用其它AppID - "<title>%s</title>" % data['title'], - "<des></des>", - "<action></action>", - "<type>%d</type>" % data['type'], - "<content></content>", - "<url></url>", - "<lowurl></lowurl>", - "<appattach>", - "<totallen>%d</totallen>" % data['totallen'], - "<attachid>%s</attachid>" % data['attachid'], - "<fileext>%s</fileext>" % data['fileext'], - "</appattach>", - "<extinfo></extinfo>", - "</appmsg>", - ]) - data_json = { - "BaseRequest": self.base_request, - "Msg": { - "Type": data['type'], - "Content": content, - "FromUserName": self.User['UserName'], - "ToUserName": user_id, - "LocalID": clientMsgId, - "ClientMsgId": clientMsgId - }, - "Scene": 0 - } - r = post(url, data_json) - return dic['BaseResponse']['Ret'] == 0 - - def webwxcreatechatroom(self, uid_arr): - """ - @brief create a chat group - @param uid_arr [String] - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxcreatechatroom'] + '?r=%s' % int(time.time()) - params = { - 'BaseRequest': self.base_request, - 'Topic': '', - 'MemberCount': len(uid_arr), - 'MemberList': [{'UserName': uid} for uid in uid_arr], - } - dic = post(url, params) - return dic['BaseResponse']['Ret'] == 0 - - def webwxupdatechatroom(self, add_arr, del_arr, invite_arr): - """ - @brief add/delete/invite member in chat group - @param add_arr [uid: String] - @param del_arr [uid: String] - @param invite_arr [uid: String] - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxupdatechatroom'] + '?r=%s' % int(time.time()) - params = { - 'BaseRequest': self.base_request, - 'ChatRoomName': '', - 'NewTopic': '', - 'AddMemberList': add_arr, - 'DelMemberList': del_arr, - 'InviteMemberList': invite_arr, - } - dic = post(url, params) - return dic['BaseResponse']['Ret'] == 0 - - def webwxrevokemsg(self, msgid, user_id, client_msgid): - """ - @brief revoke a message - @param msgid String - @param user_id String - @param client_msgid String - @return Bool: whether operation succeed - """ - url = self.wx_conf['API_webwxrevokemsg'] + '?r=%s' % int(time.time()) - params = { - 'BaseRequest': self.base_request, - 'SvrMsgId': msgid, - 'ToUserName': user_id, - 'ClientMsgId': client_msgid - } - dic = post(url, params) - return dic['BaseResponse']['Ret'] == 0 - - def webwxpushloginurl(self, uin): - """ - @brief push a login confirm alert to mobile device - @param uin String - @return dic Dict - """ - url = self.wx_conf['API_webwxpushloginurl'] + '?uin=%s' % uin - dic = eval(get(url)) - return dic - - def association_login(self): - """ - @brief login without scan qrcode - @return Bool: whether operation succeed - """ - if self.uin != '': - dic = self.webwxpushloginurl(self.uin) - if dic['ret'] == '0': - self.uuid = dic['uuid'] - return True - return False - - def send_text(self, user_id, text): - """ - @brief send text - @param user_id String - @param text String - @return Bool: whether operation succeed - """ - try: - dic = self.webwxsendmsg(text, user_id) - return dic['BaseResponse']['Ret'] == 0 - except: - return False - - def send_img(self, user_id, file_path): - """ - @brief send image - @param user_id String - @param file_path String - @return Bool: whether operation succeed - """ - response = self.webwxuploadmedia(file_path) - media_id = "" - if response is not None: - media_id = response['MediaId'] - return self.webwxsendmsgimg(user_id, media_id) - - def send_emot(self, user_id, file_path): - """ - @brief send emotion - @param user_id String - @param file_path String - @return Bool: whether operation succeed - """ - response = self.webwxuploadmedia(file_path) - media_id = "" - if response is not None: - media_id = response['MediaId'] - return self.webwxsendemoticon(user_id, media_id) - - def send_file(self, user_id, file_path): - """ - @brief send file - @param user_id String - @param file_path String - @return Bool: whether operation succeed - """ - title = file_path.split('/')[-1] - data = { - 'appid': Constant.API_WXAPPID, - 'title': title, - 'totallen': '', - 'attachid': '', - 'type': self.wx_conf['APPMSGTYPE_ATTACH'], - 'fileext': title.split('.')[-1], - } - - response = self.webwxuploadmedia(file_path) - if response is not None: - data['totallen'] = response['StartPos'] - data['attachid'] = response['MediaId'] - else: - Log.error('File upload error') - - return self.webwxsendappmsg(user_id, data) - - def make_synckey(self, dic): - self.synckey_dic = dic['SyncKey'] - - def foo(x): - return str(x['Key']) + '_' + str(x['Val']) - - # synckey for synccheck - self.synckey = '|'.join( - [foo(keyVal) for keyVal in self.synckey_dic['List']]) - - def revoke_msg(self, msgid, user_id, client_msgid): - """ - @brief revoke a message - @param msgid String - @param user_id String - @param client_msgid String - @return Bool: whether operation succeed - """ - return self.webwxrevokemsg(msgid, user_id, client_msgid) - - # ----------------------------------------------------- - # The following is getting user & group infomation apis - def get_user_by_id(self, user_id): - """ - @brief get all type of name by user id - @param user_id The id of user - @return Dict: { - 'UserName' # 微信动态ID - 'RemarkName' # 备注 - 'NickName' # 微信昵称 - 'ShowName' # Log显示用的 - } - """ - UnknownPeople = Constant.LOG_MSG_UNKNOWN_NAME + user_id - name = { - 'UserName': user_id, - 'RemarkName': '', - 'NickName': '', - 'ShowName': '', - } - name['ShowName'] = UnknownPeople - - # yourself - if user_id == self.User['UserName']: - name['RemarkName'] = self.User['RemarkName'] - name['NickName'] = self.User['NickName'] - name['ShowName'] = name['NickName'] - else: - # 联系人 - for member in self.MemberList: - if member['UserName'] == user_id: - r, n = member['RemarkName'], member['NickName'] - name['RemarkName'] = r - name['NickName'] = n - name['ShowName'] = r if r else n - break - # 特殊帐号 - for member in self.SpecialUsersList: - if member['UserName'] == user_id: - name['RemarkName'] = user_id - name['NickName'] = user_id - name['ShowName'] = user_id - break - - return name - - def get_group_user_by_id(self, user_id, group_id): - """ - @brief get group user by user id - @param user_id The id of user - @param group_id The id of group - @return Dict: { - 'UserName' # 微信动态ID - 'NickName' # 微信昵称 - 'DisplayName' # 群聊显示名称 - 'ShowName' # Log显示用的 - 'AttrStatus' # 群用户id - } - """ - UnknownPeople = Constant.LOG_MSG_UNKNOWN_NAME + user_id - name = { - 'UserName': user_id, - 'NickName': '', - 'DisplayName': '', - 'ShowName': '', - 'AttrStatus': '', - } - name['ShowName'] = UnknownPeople - - # 群友 - if group_id in self.GroupMemeberList: - for member in self.GroupMemeberList[group_id]: - if member['UserName'] == user_id: - n, d = member['NickName'], member['DisplayName'] - name['NickName'] = n - name['DisplayName'] = d - name['AttrStatus'] = member['AttrStatus'] - name['ShowName'] = d if d else n - break - - return name - - def get_group_by_id(self, group_id): - """ - @brief get basic info by group id - @param group_id The id of group - @return Dict: { - 'UserName' # 微信动态ID - 'NickName' # 微信昵称 - 'DisplayName' # 群聊显示名称 - 'ShowName' # Log显示用的 - 'OwnerUin' # 群主ID - 'MemberCount' # 群人数 - } - """ - UnknownGroup = Constant.LOG_MSG_UNKNOWN_GROUP_NAME + group_id - group = { - 'UserName': group_id, - 'NickName': '', - 'DisplayName': '', - 'ShowName': '', - 'OwnerUin': '', - 'MemberCount': '', - } - - for member in self.GroupList: - if member['UserName'] == group_id: - group['NickName'] = member['NickName'] - group['DisplayName'] = member.get('DisplayName', '') - group['ShowName'] = member.get('NickName', UnknownGroup) - group['OwnerUin'] = member.get('OwnerUin', '') - group['MemberCount'] = member['MemberCount'] - break - - return group - - def get_user_id(self, name): - """ - @brief Gets the user id. - @param name The user nickname or remarkname - @return The user id. - """ - for member in self.MemberList: - if name == member['RemarkName'] or name == member['NickName']: - return member['UserName'] - return None diff --git a/wxbot_project_py2.7/weixin_bot.py b/wxbot_project_py2.7/weixin_bot.py deleted file mode 100755 index ec7a53b..0000000 --- a/wxbot_project_py2.7/weixin_bot.py +++ /dev/null @@ -1,281 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from wechat import WeChat -from wechat.utils import * -from wx_handler import WeChatMsgProcessor -from wx_handler import Bot -from wx_handler import SGMail -from db import SqliteDB -from db import MysqlDB -from config import ConfigManager -from config import Constant -from config import Log -#--------------------------------------------------- -from flask import Flask, render_template, send_file, jsonify, request -import threading -import traceback -import os -import logging -import time -#=================================================== - - -cm = ConfigManager() -db = SqliteDB(cm.getpath('database')) -# db = MysqlDB(cm.mysql()) -wechat_msg_processor = WeChatMsgProcessor(db) -wechat = WeChat(cm.get('wechat', 'host')) -wechat.db = db -wechat.bot = Bot() -wechat.msg_handler = wechat_msg_processor -wechat_msg_processor.wechat = wechat - -PORT = int(cm.get('setting', 'server_port')) -app = Flask(__name__, template_folder='flask_templates') -app.config['UPLOAD_FOLDER'] = cm.getpath('uploaddir') - -logger = logging.getLogger('werkzeug') -log_format_str = Constant.SERVER_LOG_FORMAT -formatter = logging.Formatter(log_format_str) -flask_log_handler = logging.FileHandler(cm.getpath('server_log_file')) -flask_log_handler.setLevel(logging.INFO) -flask_log_handler.setFormatter(formatter) -logger.addHandler(flask_log_handler) -app.logger.addHandler(flask_log_handler) - -# sendgrid mail -sg_apikey = cm.get('sendgrid', 'api_key') -from_email = cm.get('sendgrid', 'from_email') -to_email = cm.get('sendgrid', 'to_email') -sg = SGMail(sg_apikey, from_email, to_email) - -@app.route('/') -def index(): - return render_template(Constant.SERVER_PAGE_INDEX) - - -@app.route('/qrcode') -def qrcode(): - qdir = cm.getpath('qrcodedir') - if not os.path.exists(qdir): - os.makedirs(qdir) - image_path = '%s/%s_%d.png' % (qdir, wechat.uuid, int(time.time()*100)) - s = wechat.wx_conf['API_qrcode'] + wechat.uuid - str2qr_image(s, image_path) - return send_file(image_path, mimetype='image/png') - - -@app.route("/group_list") -def group_list(): - """ - @brief list groups - """ - result = wechat.db.select(Constant.TABLE_GROUP_LIST()) - return jsonify({'count': len(result), 'group': result}) - - -@app.route('/group_member_list/<g_id>') -def group_member_list(g_id): - """ - @brief list group member - @param g_id String - """ - result = wechat.db.select(Constant.TABLE_GROUP_USER_LIST(), 'RoomID', g_id) - return jsonify({'count': len(result), 'member': result}) - - -@app.route('/group_chat_log/<g_name>') -def group_chat_log(g_name): - """ - @brief list group chat log - @param g_name String - """ - result = wechat.db.select(Constant.TABLE_GROUP_MSG_LOG, 'RoomName', g_name) - return jsonify({'count': len(result), 'chats': result}) - - -@app.route('/upload', methods=['GET', 'POST']) -def upload_file(): - if request.method == 'POST': - def allowed_file(filename): - return '.' in filename and \ - filename.rsplit('.', 1)[1] in Constant.SERVER_UPLOAD_ALLOWED_EXTENSIONS - - j = {'ret': 1, 'msg': ''} - - # check if the post request has the file part - if 'file' not in request.files: - j['msg'] = 'No file part' - return jsonify(j) - - # if user does not select file, browser also - # submit a empty part without filename - file = request.files['file'] - if file.filename == '': - j['msg'] = 'No selected file' - elif file and allowed_file(file.filename): - filename = generate_file_name(file.filename) - file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename) - file.save(file_path) - j['ret'] = 0 - j['msg'] = filename - else: - j['msg'] = 'File type not support' - return jsonify(j) - else: - return render_template(Constant.SERVER_PAGE_UPLOAD) - - -@app.route('/send_msg/<to>/<msg>') -def send_msg(to, msg): - """ - @brief send message to user or gourp - @param to: String, user id or group id - @param msg: String, words - """ - return jsonify({'ret': 0 if wechat.send_text(to, msg) else 1}) - - -@app.route('/send_img/<to>/<img>') -def send_img(to, img): - """ - @brief send image to user or gourp - @param to: String, user id or group id - @param img: String, image file name - """ - img_path = os.path.join(app.config['UPLOAD_FOLDER'], img) - return jsonify({'ret': 0 if wechat.send_img(to, img_path) else 1}) - - -@app.route('/send_emot/<to>/<emot>') -def send_emot(to, emot): - """ - @brief send emotion to user or gourp - @param to: String, user id or group id - @param emot: String, emotion file name - """ - emot_path = os.path.join(app.config['UPLOAD_FOLDER'], emot) - return jsonify({'ret': 0 if wechat.send_emot(to, emot_path) else 1}) - - -@app.route('/send_file/<to>/<file>') -def send_file(to, file): - """ - @brief send file to user or gourp - @param to: String, user id or group id - @param file: String, file name - """ - file_path = os.path.join(app.config['UPLOAD_FOLDER'], file) - return jsonify({'ret': 0 if wechat.send_file(to, file_path) else 1}) - - -def mass_send(method, data, func): - j = {'ret': -1, 'unsend_list':[]} - if method == 'POST' and data: - to_list = data['to_list'] - msg = data['msg'] - media_type = data.get('media_type', '') - - if media_type in ['img', 'emot']: - file_path = os.path.join(app.config['UPLOAD_FOLDER'], msg) - response = wechat.webwxuploadmedia(file_path) - if response is not None: - msg = response['MediaId'] - elif media_type == 'file': - file_path = os.path.join(app.config['UPLOAD_FOLDER'], msg) - data = { - 'appid': Constant.API_WXAPPID, - 'title': msg, - 'totallen': '', - 'attachid': '', - 'type': wechat.wx_conf['APPMSGTYPE_ATTACH'], - 'fileext': msg.split('.')[-1], - } - response = wechat.webwxuploadmedia(file_path) - if response is not None: - data['totallen'] = response['StartPos'] - data['attachid'] = response['MediaId'] - else: - Log.error('File upload error') - msg = data - - for groups in split_array(to_list, 20): - for g in groups: - r = func(g, msg) - if not r: - j['unsend_list'].append(g) - time.sleep(1) - - j['ret'] = len(j['unsend_list']) - - return j - - -@app.route('/mass_send_msg/', methods=["GET", "POST"]) -def mass_send_msg(): - """ - @brief send text to mass users or gourps - """ - j = mass_send(request.method, request.json, wechat.send_text) - return jsonify(j) - - -@app.route('/mass_send_img', methods=["GET", "POST"]) -def mass_send_img(): - """ - @brief send iamge to mass users or gourps - """ - j = mass_send(request.method, request.json, wechat.webwxsendmsgimg) - return jsonify(j) - - -@app.route('/mass_send_emot', methods=["GET", "POST"]) -def mass_send_emot(): - """ - @brief send emoticon to mass users or gourps - """ - j = mass_send(request.method, request.json, wechat.webwxsendemoticon) - return jsonify(j) - - -@app.route('/mass_send_file', methods=["GET", "POST"]) -def mass_send_file(): - """ - @brief send file to mass users or gourps - """ - j = mass_send(request.method, request.json, wechat.webwxsendappmsg) - return jsonify(j) - - -def run_server(): - app.run(port=PORT) - -if cm.get('setting', 'server_mode') == 'True': - serverProcess = threading.Thread(target=run_server) - serverProcess.start() - -while True: - try: - wechat.start() - except KeyboardInterrupt: - echo(Constant.LOG_MSG_QUIT) - wechat.exit_code = 1 - else: - Log.error(traceback.format_exc()) - finally: - wechat.stop() - - # send a mail to tell the wxbot is failing - subject = 'wxbot stop message' - log_file = open(eval(cm.get('handler_fileHandler', 'args'))[0], 'r') - mail_content = '<pre>' + str(wechat) + '\n\n-----\nLogs:\n-----\n\n' + ''.join(log_file.readlines()[-100:]) + '</pre>' - sg.send_mail(subject, mail_content, 'text/html') - log_file.close() - - if wechat.exit_code == 0: - echo(Constant.MAIN_RESTART) - else: - # kill process - os.system(Constant.LOG_MSG_KILL_PROCESS % os.getpid()) diff --git a/wxbot_project_py2.7/wx_handler/__init__.py b/wxbot_project_py2.7/wx_handler/__init__.py deleted file mode 100644 index c13710e..0000000 --- a/wxbot_project_py2.7/wx_handler/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -from wechat_msg_processor import WeChatMsgProcessor -from bot import Bot -from sendgrid_mail import SGMail \ No newline at end of file diff --git a/wxbot_project_py2.7/wx_handler/bot.py b/wxbot_project_py2.7/wx_handler/bot.py deleted file mode 100644 index b3420bf..0000000 --- a/wxbot_project_py2.7/wx_handler/bot.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from wechat.utils import * -from config import Constant -#--------------------------------------------------- -import random, time, json -#=================================================== - - -class Bot(object): - - def __init__(self): - self.emoticons = Constant.EMOTICON - self.gifs = [] - self.last_time = time.time() - - def time_schedule(self): - r = '' - now = time.time() - if int(now - self.last_time) > 3600: - self.last_time = now - url_latest = Constant.BOT_ZHIHU_URL_LATEST - url_daily = Constant.BOT_ZHIHU_URL_DAILY - data = get(url_latest) - j = json.loads(data) - story = j['stories'][random.randint(0, len(j['stories'])-1)] - r = story['title'] + '\n' + url_daily + str(story['id']) - return r.encode('utf-8') - - def reply(self, text): - APIKEY = Constant.BOT_TULING_API_KEY - api_url = Constant.BOT_TULING_API_URL % (APIKEY, text, '12345678') - r = json.loads(get(api_url)) - if r.get('code') == 100000 and r.get('text') != Constant.BOT_TULING_BOT_REPLY: - p = random.randint(1, 10) - if p > 3: - return r['text'] - elif p > 1: - # send emoji - if random.randint(1, 10) > 5: - n = random.randint(0, len(self.emoticons)-1) - m = random.randint(1, 3) - reply = self.emoticons[n].encode('utf-8') * m - return reply - return '' diff --git a/wxbot_project_py2.7/wx_handler/sendgrid_mail.py b/wxbot_project_py2.7/wx_handler/sendgrid_mail.py deleted file mode 100644 index 58d4b39..0000000 --- a/wxbot_project_py2.7/wx_handler/sendgrid_mail.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -import sendgrid -from sendgrid.helpers.mail import * -#=================================================== - -class SGMail(object): - - def __init__(self, apikey, from_email, to_email): - self.sg = sendgrid.SendGridAPIClient(apikey=apikey) - self.from_email = Email(from_email) - self.to_email = Email(to_email) - - def send_mail(self, subject, plain_content, type='text/plain'): - content = Content(type, plain_content) - mail = Mail(self.from_email, subject, self.to_email, content) - response = self.sg.client.mail.send.post(request_body=mail.get()) - return response.status_code == 202 diff --git a/wxbot_project_py2.7/wx_handler/wechat_msg_processor.py b/wxbot_project_py2.7/wx_handler/wechat_msg_processor.py deleted file mode 100644 index 4faccb3..0000000 --- a/wxbot_project_py2.7/wx_handler/wechat_msg_processor.py +++ /dev/null @@ -1,252 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -#=================================================== -from wechat.utils import * -from config import ConfigManager -from config import Constant -from config import Log -#--------------------------------------------------- -import os -import time -import json -import re -#=================================================== - - -class WeChatMsgProcessor(object): - """ - Process fetched data - """ - - def __init__(self, db): - self.db = db - self.wechat = None # recieve `WeChat` class instance - # for call some wechat apis - - # read config - cm = ConfigManager() - [self.upload_dir, self.data_dir, self.log_dir] = cm.setup_database() - - def clean_db(self): - """ - @brief clean database, delete table & create table - """ - self.db.delete_table(Constant.TABLE_GROUP_LIST()) - self.db.delete_table(Constant.TABLE_GROUP_USER_LIST()) - self.db.create_table(Constant.TABLE_GROUP_MSG_LOG, Constant.TABLE_GROUP_MSG_LOG_COL) - self.db.create_table(Constant.TABLE_GROUP_LIST(), Constant.TABLE_GROUP_LIST_COL) - self.db.create_table(Constant.TABLE_GROUP_USER_LIST(), Constant.TABLE_GROUP_USER_LIST_COL) - self.db.create_table(Constant.TABLE_RECORD_ENTER_GROUP, Constant.TABLE_RECORD_ENTER_GROUP_COL) - self.db.create_table(Constant.TABLE_RECORD_RENAME_GROUP, Constant.TABLE_RECORD_RENAME_GROUP_COL) - - def handle_wxsync(self, msg): - """ - @brief Recieve webwxsync message, saved into json - @param msg Dict: webwxsync msg - """ - fn = time.strftime(Constant.LOG_MSG_FILE, time.localtime()) - save_json(fn, msg, self.log_dir, 'a+') - - def handle_group_list(self, group_list): - """ - @brief handle group list & saved in DB - @param group_list Array - """ - fn = Constant.LOG_MSG_GROUP_LIST_FILE - save_json(fn, group_list, self.data_dir) - cols = [( - g['NickName'], - g['UserName'], - g['OwnerUin'], - g['MemberCount'], - g['HeadImgUrl'] - ) for g in group_list] - self.db.insertmany(Constant.TABLE_GROUP_LIST(), cols) - - def handle_group_member_list(self, group_id, member_list): - """ - @brief handle group member list & saved in DB - @param member_list Array - """ - fn = group_id + '.json' - save_json(fn, member_list, self.data_dir) - cols = [( - group_id, - m['UserName'], - m['NickName'], - m['DisplayName'], - m['AttrStatus'] - ) for m in member_list] - self.db.insertmany(Constant.TABLE_GROUP_USER_LIST(), cols) - - def handle_group_list_change(self, new_group): - """ - @brief handle adding a new group & saved in DB - @param new_group Dict - """ - self.handle_group_list([new_group]) - - def handle_group_member_change(self, group_id, member_list): - """ - @brief handle group member changes & saved in DB - @param group_id Dict - @param member_list Dict - """ - self.db.delete(Constant.TABLE_GROUP_USER_LIST(), "RoomID", group_id) - self.handle_group_member_list(group_id, member_list) - - def handle_group_msg(self, msg): - """ - @brief Recieve group messages - @param msg Dict: packaged msg - """ - # rename media files - for k in ['image', 'video', 'voice']: - if msg[k]: - t = time.localtime(float(msg['timestamp'])) - time_str = time.strftime("%Y%m%d%H%M%S", t) - # format: 时间_消息ID_群名 - file_name = '/%s_%s_%s.' % (time_str, msg['msg_id'], msg['group_name']) - new_name = re.sub(r'\/\w+\_\d+\.', file_name, msg[k]) - Log.debug('rename file to %s' % new_name) - os.rename(msg[k], new_name) - msg[k] = new_name - - if msg['msg_type'] == 10000: - # record member enter in group - m = re.search(r'邀请(.+)加入了群聊', msg['sys_notif']) - if m: - name = m.group(1) - col_enter_group = ( - msg['msg_id'], - msg['group_name'], - msg['from_user_name'], - msg['to_user_name'], - name, - msg['time'], - ) - self.db.insert(Constant.TABLE_RECORD_ENTER_GROUP, col_enter_group) - - # record rename group - n = re.search(r'(.+)修改群名为“(.+)”', msg['sys_notif']) - if n: - people = n.group(1) - to_name = n.group(2) - col_rename_group = ( - msg['msg_id'], - msg['group_name'], - to_name, - people, - msg['time'], - ) - self.db.insert(Constant.TABLE_RECORD_RENAME_GROUP, col_rename_group) - - # upadte group in GroupList - for g in self.wechat.GroupList: - if g['UserName'] == msg['from_user_name']: - g['NickName'] = to_name - break - - # normal group message - col = ( - msg['msg_id'], - msg['group_owner_uin'], - msg['group_name'], - msg['group_count'], - msg['from_user_name'], - msg['to_user_name'], - msg['user_attrstatus'], - msg['user_display_name'], - msg['user_nickname'], - msg['msg_type'], - msg['emoticon'], - msg['text'], - msg['image'], - msg['video'], - msg['voice'], - msg['link'], - msg['namecard'], - msg['location'], - msg['recall_msg_id'], - msg['sys_notif'], - msg['time'], - msg['timestamp'] - ) - self.db.insert(Constant.TABLE_GROUP_MSG_LOG, col) - - text = msg['text'] - if text and text[0] == '@': - n = trans_coding(text).find(u'\u2005') - name = trans_coding(text)[1:n].encode('utf-8') - if name in [self.wechat.User['NickName'], self.wechat.User['RemarkName']]: - self.handle_command(trans_coding(text)[n+1:].encode('utf-8'), msg) - - def handle_user_msg(self, msg): - """ - @brief Recieve personal messages - @param msg Dict - """ - wechat = self.wechat - - text = trans_coding(msg['text']).encode('utf-8') - uid = msg['raw_msg']['FromUserName'] - - if text == 'test_revoke': # 撤回消息测试 - dic = wechat.webwxsendmsg('这条消息将被撤回', uid) - wechat.revoke_msg(dic['MsgID'], uid, dic['LocalID']) - elif text == 'reply': - wechat.send_text(uid, '自动回复') - - - def handle_command(self, cmd, msg): - """ - @brief handle msg of `@yourself cmd` - @param cmd String - @param msg Dict - """ - wechat = self.wechat - g_id = '' - for g in wechat.GroupList: - if g['NickName'] == msg['group_name']: - g_id = g['UserName'] - - cmd = cmd.strip() - if cmd == 'runtime': - wechat.send_text(g_id, wechat.get_run_time()) - elif cmd == 'test_sendimg': - wechat.send_img(g_id, 'test/emotion/7.gif') - elif cmd == 'test_sendfile': - wechat.send_file(g_id, 'test/Data/upload/shake.wav') - elif cmd == 'test_bot': - # reply bot - # --------- - if wechat.bot: - r = wechat.bot.reply(cmd) - if r: - wechat.send_text(g_id, r) - else: - pass - elif cmd == 'test_emot': - img_name = [ - '0.jpg', '1.jpeg', '2.gif', '3.jpg', '4.jpeg', - '5.gif', '6.gif', '7.gif', '8.jpg', '9.jpg' - ] - name = img_name[int(time.time()) % 10] - emot_path = os.path.join('test/emotion/', name) - wechat.send_emot(g_id, emot_path) - else: - pass - - def check_schedule_task(self): - # update group member list at 00:00 am every morning - t = time.localtime() - if t.tm_hour == 0 and t.tm_min <= 1: - # update group member - Log.debug('update group member list everyday') - self.db.delete_table(Constant.TABLE_GROUP_LIST()) - self.db.delete_table(Constant.TABLE_GROUP_USER_LIST()) - self.db.create_table(Constant.TABLE_GROUP_LIST(), Constant.TABLE_GROUP_LIST_COL) - self.db.create_table(Constant.TABLE_GROUP_USER_LIST(), Constant.TABLE_GROUP_USER_LIST_COL) - self.wechat.fetch_group_contacts() -