From 65f6f4de46970f6cb4eef237b2aa43d255ffb9cd Mon Sep 17 00:00:00 2001 From: volltin Date: Sat, 7 Nov 2020 12:09:52 +0800 Subject: [PATCH 01/21] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7cd5ba8..58936ba 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ | ------------------------------------------------------------ | ------------------------------------------------------- | | [签到](official/签到/README.md) | 无 | | [猫咪问答++](official/猫咪问答++/README.md) | 无 | -| [2048](official/2048/README.md) | 暂无 | +| [2048](official/2048/README.md) | 暂无(之后会有) | | [一闪而过的 Flag](official/一闪而过的%20Flag/README.md) | [文件、源代码](official/一闪而过的%20Flag/src) | | [从零开始的记账工具人](official/从零开始的记账工具人/README.md) | [文件、源代码](official/从零开始的记账工具人/src) | | [超简单的世界模拟器](official/超简单的世界模拟器/README.md) | [文件、源代码](official/超简单的世界模拟器/src) | @@ -38,7 +38,7 @@ | [室友的加密硬盘](official/室友的加密硬盘/README.md) | 无 | | [超简易的网盘服务器](official/超简易的网盘服务器/README.md) | [文件、源代码](official/超简易的网盘服务器/src) | | [超安全的代理服务器](official/超安全的代理服务器/README.md) | [文件、源代码](official/超安全的代理服务器/src) | -| [证验码](official/证验码/README.md) | 暂无 | +| [证验码](official/证验码/README.md) | 暂无(之后会有) | | [动态链接库检查器](official/动态链接库检查器/README.md) | [文件、源代码](official/动态链接库检查器/src) | | [超精准的宇宙射线模拟器](official/超精准的宇宙射线模拟器/README.md) | [文件、源代码](official/超精准的宇宙射线模拟器/src) | | [超迷你的挖矿模拟器](official/超迷你的挖矿模拟器/README.md) | [文件、源代码](official/超迷你的挖矿模拟器/src) | From fabee7bca16f200ee62548a718f9efad4b46a2c9 Mon Sep 17 00:00:00 2001 From: taoky Date: Sat, 7 Nov 2020 12:19:38 +0800 Subject: [PATCH 02/21] simplejwt: add test token for reproducing --- official/普通的身份认证器/src/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 official/普通的身份认证器/src/README.md diff --git a/official/普通的身份认证器/src/README.md b/official/普通的身份认证器/src/README.md new file mode 100644 index 0000000..bbea59f --- /dev/null +++ b/official/普通的身份认证器/src/README.md @@ -0,0 +1 @@ +测试 token: `233333:MEUCIQDTTJu25fXbAgKcF+MDCGp1OSTd+4OwvNmTn/DhZryCiAIgDQXsmAHvLrAe2BSwaoSZO+ml6as+Aj0N51PI3e6Befs=`。 From 918fa6c94b9a70fdc7810f52850b07dca9f3d8d0 Mon Sep 17 00:00:00 2001 From: Fan Jiang Date: Fri, 6 Nov 2020 23:38:08 -0500 Subject: [PATCH 03/21] Create writeup.md --- players/ProfFan/writeup.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 players/ProfFan/writeup.md diff --git a/players/ProfFan/writeup.md b/players/ProfFan/writeup.md new file mode 100644 index 0000000..a5f2e03 --- /dev/null +++ b/players/ProfFan/writeup.md @@ -0,0 +1,9 @@ +今年实在太忙,只做了一题 + +# 证验码 + +注意到题目给的是 BMP 格式,显然是为了保存图片的一些统计特征。继续审代码,发现随机数均为真随机,故这个方向没有价值。众所周知字体渲染是有 Anti-aliasing 的,所以每个字都有独特的灰度分布。 +故我们可以计算每张图片的灰度分布,再加上预计算每个单独字符的灰度分布,得到直方图,在直方图上做优化即可得到验证码。 + +注意此处应当使用 L1 而不是 L2 优化,因为16个字符远少于 26*2+10,结果应当是稀疏的。本题用 L2 也可以得到解,但是如果增加干扰线条的密度,L2 应该会失败。 + From 4a6e03e0460a26fd400560340de30c946b98cd53 Mon Sep 17 00:00:00 2001 From: Fan Jiang Date: Fri, 6 Nov 2020 23:41:45 -0500 Subject: [PATCH 04/21] Add code --- players/ProfFan/solver_files/solver_5_1.png | Bin 0 -> 65598 bytes players/ProfFan/solver_files/solver_5_1.svg | 562 ++ players/ProfFan/solver_files/solver_6_0.png | Bin 0 -> 56616 bytes players/ProfFan/solver_files/solver_6_0.svg | 7442 +++++++++++++++++++ players/ProfFan/writeup.md | 469 +- 5 files changed, 8472 insertions(+), 1 deletion(-) create mode 100644 players/ProfFan/solver_files/solver_5_1.png create mode 100644 players/ProfFan/solver_files/solver_5_1.svg create mode 100644 players/ProfFan/solver_files/solver_6_0.png create mode 100644 players/ProfFan/solver_files/solver_6_0.svg diff --git a/players/ProfFan/solver_files/solver_5_1.png b/players/ProfFan/solver_files/solver_5_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b291e28e421bff32789b9ee013771e186ed3e0b GIT binary patch literal 65598 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 PV8E9gjJ#z}jo$np+f4r% literal 0 HcmV?d00001 diff --git a/players/ProfFan/solver_files/solver_5_1.svg b/players/ProfFan/solver_files/solver_5_1.svg new file mode 100644 index 0000000..186a459 --- /dev/null +++ b/players/ProfFan/solver_files/solver_5_1.svg @@ -0,0 +1,562 @@ + + + + + + + + + 2020-11-03T00:20:11.701038 + image/svg+xml + + + Matplotlib v3.3.2, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/players/ProfFan/solver_files/solver_6_0.png b/players/ProfFan/solver_files/solver_6_0.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5ae9c3be664ccf27450e42c335c156f5e4b929 GIT binary patch literal 56616 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 QLBP*zc{RB*8Pkvd3m_4&*Z=?k literal 0 HcmV?d00001 diff --git a/players/ProfFan/solver_files/solver_6_0.svg b/players/ProfFan/solver_files/solver_6_0.svg new file mode 100644 index 0000000..f594ee7 --- /dev/null +++ b/players/ProfFan/solver_files/solver_6_0.svg @@ -0,0 +1,7442 @@ + + + + + + + + + 2020-11-03T00:20:18.711238 + image/svg+xml + + + Matplotlib v3.3.2, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/players/ProfFan/writeup.md b/players/ProfFan/writeup.md index a5f2e03..becff46 100644 --- a/players/ProfFan/writeup.md +++ b/players/ProfFan/writeup.md @@ -1,4 +1,4 @@ -今年实在太忙,只做了一题 +今年实在太忙,只做了一题orz # 证验码 @@ -7,3 +7,470 @@ 注意此处应当使用 L1 而不是 L2 优化,因为16个字符远少于 26*2+10,结果应当是稀疏的。本题用 L2 也可以得到解,但是如果增加干扰线条的密度,L2 应该会失败。 +# 代码 + +```python +%matplotlib inline + +import matplotlib.pyplot as plt +import numpy as np +import random, string +``` + + +```python +import shuffle +``` + + +```python +# !wget https://github.com/adobe-fonts/source-code-pro/raw/release/TTF/SourceCodePro-Light.ttf +``` + + +```python +alphabet = sorted(string.digits + string.ascii_letters) +#code = "".join([random.choice(alphabet) for _ in range(16)]) +code = "01234567890ABcde" +print("Code:", code) +``` + + Code: 01234567890ABcde + + + +```python +original = shuffle.generate_captcha(code, shuffle_mode=False) +shuffled = shuffle.generate_captcha(code, shuffle_mode=True) +``` + + +```python +plt.subplot(211) +plt.imshow(original) +plt.subplot(212) +plt.imshow(shuffled) +``` + + + + + + + + + +![svg](solver_files/solver_5_1.svg) + + + +```python +fig, axs = plt.subplots(2, 10, figsize=(20,6)) +for i in range(10): + test_onealpha = np.array(shuffle.img_generate("{}".format(i))) + axs[0][i].imshow(test_onealpha) + counts = np.bincount(test_onealpha[:, :, 0].flatten(),minlength=255) + axs[1][i].plot(counts) + axs[1][i].set_yscale('log') +``` + + +![svg](solver_files/solver_6_0.svg) + + + +```python +counts_full = [] +for k in range(3): + counts = np.bincount(np.array(shuffled)[:, :, 0].flatten(),minlength=256) + counts[255] = 0 + counts_full.append(counts) +counts_full = np.hstack(counts_full) +print(counts_full.shape) +``` + + (768,) + + + +```python +# %pip install cvxpy +``` + + +```python +import cvxpy as cvx +``` + + +```python +bases = [] + +for i in range(len(alphabet)): + bases_rgb = [] + for k in range(3): + test_onealpha = np.array(shuffle.img_generate("{}".format(alphabet[i]))) + counts = np.bincount(test_onealpha[:, :, k].flatten(),minlength=256) + counts[255] = 0 + bases_rgb.append(counts) + bases.append(np.hstack(bases_rgb)) + +A = np.vstack(bases).T +print(A.shape) +print(A.T) +``` + + (768, 62) + [[224 5 2 ... 3 5 0] + [134 1 1 ... 0 2 0] + [171 2 1 ... 3 4 0] + ... + [ 94 1 2 ... 2 6 0] + [118 4 3 ... 2 6 0] + [195 2 2 ... 1 3 0]] + /usr/lib/python3.8/site-packages/ipykernel/ipkernel.py:287: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above. + and should_run_async(code) + + + +```python +import PIL +shuffled = PIL.Image.open("./captcha_shuffled.bmp") +# Solve actual problem +counts_full = [] +for k in range(3): + counts = np.bincount(np.array(shuffled)[:, :, 0].flatten(),minlength=256) + counts[255] = 0 + counts_full.append(counts) +counts_full = np.hstack(counts_full) +print(counts_full.shape) +``` + + (768,) + /usr/lib/python3.8/site-packages/ipykernel/ipkernel.py:287: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above. + and should_run_async(code) + + + +```python +vx = cvx.Variable(len(alphabet)) +objective = cvx.Minimize(cvx.norm(A*vx - counts_full, 1)) +constraints = [vx >= 0] +prob = cvx.Problem(objective, constraints) +result = prob.solve(verbose=True) +``` + + + ECOS 2.0.7 - (C) embotech GmbH, Zurich Switzerland, 2012-15. Web: www.embotech.com/ECOS + + It pcost dcost gap pres dres k/t mu step sigma IR | BT + 0 -2.788e-13 +1.258e-12 +5e+05 8e-01 4e-01 1e+00 3e+02 --- --- 1 2 - | - - + 1 +4.640e+03 +4.675e+03 +2e+05 3e-01 1e-01 3e+01 1e+02 0.7401 2e-01 1 1 1 | 0 0 + 2 +5.846e+03 +5.861e+03 +9e+04 1e-01 4e-02 1e+01 6e+01 0.6585 8e-02 1 1 1 | 0 0 + 3 +5.968e+03 +5.970e+03 +1e+04 1e-02 3e-03 2e+00 6e+00 0.9494 6e-02 1 1 1 | 0 0 + 4 +6.080e+03 +6.080e+03 +3e+03 4e-03 1e-03 5e-01 2e+00 0.7566 6e-02 1 1 1 | 0 0 + 5 +6.151e+03 +6.152e+03 +2e+03 2e-03 6e-04 3e-01 1e+00 0.6536 5e-01 1 1 1 | 0 0 + 6 +6.193e+03 +6.193e+03 +9e+02 1e-03 3e-04 1e-01 5e-01 0.6015 1e-01 1 1 1 | 0 0 + 7 +6.198e+03 +6.198e+03 +8e+02 1e-03 3e-04 1e-01 5e-01 0.2129 7e-01 1 1 1 | 0 0 + 8 +6.216e+03 +6.216e+03 +6e+02 9e-04 2e-04 1e-01 3e-01 0.5360 4e-01 1 1 1 | 0 0 + 9 +6.230e+03 +6.230e+03 +3e+02 6e-04 1e-04 6e-02 2e-01 0.6585 4e-01 1 1 1 | 0 0 + 10 +6.244e+03 +6.244e+03 +2e+02 3e-04 5e-05 3e-02 1e-01 0.6652 2e-01 1 1 1 | 0 0 + 11 +6.249e+03 +6.249e+03 +1e+02 2e-04 3e-05 2e-02 7e-02 0.5025 4e-01 1 1 1 | 0 0 + 12 +6.255e+03 +6.255e+03 +6e+01 1e-04 2e-05 1e-02 4e-02 0.7639 3e-01 1 1 1 | 0 0 + 13 +6.259e+03 +6.259e+03 +3e+01 5e-05 7e-06 6e-03 2e-02 0.6280 1e-01 1 1 1 | 0 0 + 14 +6.261e+03 +6.261e+03 +1e+01 2e-05 3e-06 2e-03 7e-03 0.7859 2e-01 1 1 1 | 0 0 + 15 +6.262e+03 +6.262e+03 +4e+00 8e-06 1e-06 9e-04 2e-03 0.7343 1e-01 1 1 1 | 0 0 + 16 +6.263e+03 +6.263e+03 +8e-01 2e-06 2e-07 2e-04 5e-04 0.8474 6e-02 1 1 1 | 0 0 + 17 +6.263e+03 +6.263e+03 +3e-01 7e-07 9e-08 8e-05 2e-04 0.6258 6e-02 1 1 1 | 0 0 + 18 +6.263e+03 +6.263e+03 +4e-02 7e-08 1e-08 8e-06 2e-05 0.9127 2e-02 1 1 1 | 0 0 + 19 +6.263e+03 +6.263e+03 +2e-03 3e-09 4e-10 4e-07 1e-06 0.9579 2e-04 2 1 1 | 0 0 + 20 +6.263e+03 +6.263e+03 +2e-05 3e-11 5e-12 4e-09 1e-08 0.9890 1e-04 2 1 1 | 0 0 + + OPTIMAL (within feastol=3.4e-11, reltol=2.7e-09, abstol=1.7e-05). + Runtime: 0.048064 seconds. + + /home/fan/.local/lib/python3.8/site-packages/cvxpy/expressions/expression.py:550: UserWarning: + This use of ``*`` has resulted in matrix multiplication. + Using ``*`` for matrix multiplication has been deprecated since CVXPY 1.1. + Use ``*`` for matrix-scalar and vector-scalar multiplication. + Use ``@`` for matrix-matrix and matrix-vector multiplication. + Use ``multiply`` for elementwise multiplication. + + warnings.warn(__STAR_MATMUL_WARNING__, UserWarning) + + + +```python +print(*zip(alphabet, vx.value.round(0))) +``` + + ('0', 1.0) ('1', 0.0) ('2', -0.0) ('3', 0.0) ('4', -0.0) ('5', 1.0) ('6', 0.0) ('7', -0.0) ('8', 0.0) ('9', -0.0) ('A', 0.0) ('B', -0.0) ('C', -0.0) ('D', -0.0) ('E', 1.0) ('F', 0.0) ('G', -0.0) ('H', 1.0) ('I', -0.0) ('J', -0.0) ('K', 0.0) ('L', 1.0) ('M', -0.0) ('N', -0.0) ('O', 0.0) ('P', 1.0) ('Q', -0.0) ('R', -0.0) ('S', 1.0) ('T', -0.0) ('U', 0.0) ('V', 0.0) ('W', 1.0) ('X', 1.0) ('Y', 0.0) ('Z', 1.0) ('a', -0.0) ('b', 0.0) ('c', 0.0) ('d', 0.0) ('e', -0.0) ('f', -0.0) ('g', -0.0) ('h', -0.0) ('i', -0.0) ('j', -0.0) ('k', -0.0) ('l', 2.0) ('m', -0.0) ('n', -0.0) ('o', -0.0) ('p', -0.0) ('q', 0.0) ('r', -0.0) ('s', 1.0) ('t', -0.0) ('u', 1.0) ('v', 0.0) ('w', 1.0) ('x', 1.0) ('y', -0.0) ('z', -0.0) + + + +```python +print(A @ np.array([[2,2,2,2,2,2, 1,1,1,1]]).T - np.expand_dims(counts_full,axis=1)) +``` + + [[ 159] + [ 2] + [ 2] + [ 0] + [-109] + [ 0] + [ 4] + [ 3] + [ 2] + [ 1] + [ 4] + [ 5] + [ 1] + [ 0] + [ 0] + [ 1] + [ 4] + [ 3] + [ 0] + [ 1] + [ 0] + [ 1] + [ 2] + [ 1] + [ 1] + [ 1] + [ 3] + [ 3] + [ 0] + [ 0] + [ 1] + [ 1] + [ 0] + [ 2] + [ 0] + [ 5] + [ 1] + [ 2] + [ 1] + [ 1] + [ 1] + [ 1] + [ 0] + [ 1] + [ 0] + [ 0] + [ 2] + [ 0] + [ 0] + [ 1] + [ 1] + [ 2] + [ 1] + [ 2] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 1] + [ 0] + [ 1] + [ 1] + [ 0] + [ 0] + [ 1] + [ 2] + [ 2] + [ 2] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 1] + [ 0] + [ 0] + [ 0] + [ 1] + [ 2] + [ 1] + [ 0] + [ 0] + [ 0] + [ 1] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 0] + [ 1] + [ 1] + [ 0] + [ 0] + [-238] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 0] + [ 0] + [ 1] + [ 0] + [ 1] + [-147] + [ 0] + [ 0] + [ 1] + [-204] + [ 1] + [ 2] + [ 1] + [ 0] + [ 2] + [ 1] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 2] + [ 2] + [ 1] + [ 1] + [ 1] + [ 0] + [ 1] + [ 0] + [ 1] + [ 1] + [ 2] + [ 4] + [-149] + [ 0] + [ 2] + [ 0] + [ 1] + [ 0] + [ 1] + [ 0] + [ 1] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [ 1] + [ 1] + [ 0] + [ 1] + [ 0] + [ 2] + [ 2] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 1] + [ 2] + [ 1] + [ 0] + [ 1] + [ 2] + [ 0] + [ 0] + [-323] + [-154] + [ 1] + [ 0] + [ 0] + [ 0] + [ 1] + [ 2] + [ 0] + [ 1] + [ 0] + [ 0] + [ 0] + [-338] + [ 1] + [ 0] + [ 0] + [ 2] + [ 0] + [ 0] + [ 2] + [ 1] + [ 2] + [ 1] + [ 2] + [ 2] + [ 1] + [ 2] + [ 1] + [ 0] + [-215] + [ 0] + [ 0] + [ 0] + [ 0] + [ 0] + [ 2] + [ 2] + [ 1] + [ -94] + [ 1] + [ 0] + [ 1] + [ 1] + [ 0] + [ 2] + [ 1] + [ 0] + [ 4] + [ 0]] + + + +```python + +``` From e9ef12bd74fca91dc296888136bb5386c023c9d1 Mon Sep 17 00:00:00 2001 From: Fan Jiang Date: Fri, 6 Nov 2020 23:43:03 -0500 Subject: [PATCH 05/21] Remove unnecessary files --- players/ProfFan/writeup.md | 268 ------------------------------------- 1 file changed, 268 deletions(-) diff --git a/players/ProfFan/writeup.md b/players/ProfFan/writeup.md index becff46..ee13dbb 100644 --- a/players/ProfFan/writeup.md +++ b/players/ProfFan/writeup.md @@ -206,271 +206,3 @@ print(*zip(alphabet, vx.value.round(0))) ('0', 1.0) ('1', 0.0) ('2', -0.0) ('3', 0.0) ('4', -0.0) ('5', 1.0) ('6', 0.0) ('7', -0.0) ('8', 0.0) ('9', -0.0) ('A', 0.0) ('B', -0.0) ('C', -0.0) ('D', -0.0) ('E', 1.0) ('F', 0.0) ('G', -0.0) ('H', 1.0) ('I', -0.0) ('J', -0.0) ('K', 0.0) ('L', 1.0) ('M', -0.0) ('N', -0.0) ('O', 0.0) ('P', 1.0) ('Q', -0.0) ('R', -0.0) ('S', 1.0) ('T', -0.0) ('U', 0.0) ('V', 0.0) ('W', 1.0) ('X', 1.0) ('Y', 0.0) ('Z', 1.0) ('a', -0.0) ('b', 0.0) ('c', 0.0) ('d', 0.0) ('e', -0.0) ('f', -0.0) ('g', -0.0) ('h', -0.0) ('i', -0.0) ('j', -0.0) ('k', -0.0) ('l', 2.0) ('m', -0.0) ('n', -0.0) ('o', -0.0) ('p', -0.0) ('q', 0.0) ('r', -0.0) ('s', 1.0) ('t', -0.0) ('u', 1.0) ('v', 0.0) ('w', 1.0) ('x', 1.0) ('y', -0.0) ('z', -0.0) - - -```python -print(A @ np.array([[2,2,2,2,2,2, 1,1,1,1]]).T - np.expand_dims(counts_full,axis=1)) -``` - - [[ 159] - [ 2] - [ 2] - [ 0] - [-109] - [ 0] - [ 4] - [ 3] - [ 2] - [ 1] - [ 4] - [ 5] - [ 1] - [ 0] - [ 0] - [ 1] - [ 4] - [ 3] - [ 0] - [ 1] - [ 0] - [ 1] - [ 2] - [ 1] - [ 1] - [ 1] - [ 3] - [ 3] - [ 0] - [ 0] - [ 1] - [ 1] - [ 0] - [ 2] - [ 0] - [ 5] - [ 1] - [ 2] - [ 1] - [ 1] - [ 1] - [ 1] - [ 0] - [ 1] - [ 0] - [ 0] - [ 2] - [ 0] - [ 0] - [ 1] - [ 1] - [ 2] - [ 1] - [ 2] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 1] - [ 0] - [ 1] - [ 1] - [ 0] - [ 0] - [ 1] - [ 2] - [ 2] - [ 2] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 1] - [ 0] - [ 0] - [ 0] - [ 1] - [ 2] - [ 1] - [ 0] - [ 0] - [ 0] - [ 1] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 0] - [ 1] - [ 1] - [ 0] - [ 0] - [-238] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 0] - [ 0] - [ 1] - [ 0] - [ 1] - [-147] - [ 0] - [ 0] - [ 1] - [-204] - [ 1] - [ 2] - [ 1] - [ 0] - [ 2] - [ 1] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 2] - [ 2] - [ 1] - [ 1] - [ 1] - [ 0] - [ 1] - [ 0] - [ 1] - [ 1] - [ 2] - [ 4] - [-149] - [ 0] - [ 2] - [ 0] - [ 1] - [ 0] - [ 1] - [ 0] - [ 1] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [ 1] - [ 1] - [ 0] - [ 1] - [ 0] - [ 2] - [ 2] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 1] - [ 2] - [ 1] - [ 0] - [ 1] - [ 2] - [ 0] - [ 0] - [-323] - [-154] - [ 1] - [ 0] - [ 0] - [ 0] - [ 1] - [ 2] - [ 0] - [ 1] - [ 0] - [ 0] - [ 0] - [-338] - [ 1] - [ 0] - [ 0] - [ 2] - [ 0] - [ 0] - [ 2] - [ 1] - [ 2] - [ 1] - [ 2] - [ 2] - [ 1] - [ 2] - [ 1] - [ 0] - [-215] - [ 0] - [ 0] - [ 0] - [ 0] - [ 0] - [ 2] - [ 2] - [ 1] - [ -94] - [ 1] - [ 0] - [ 1] - [ 1] - [ 0] - [ 2] - [ 1] - [ 0] - [ 4] - [ 0]] - - - -```python - -``` From 2e03a0b779c2613ce614c8fd7e14080d0e63fbe4 Mon Sep 17 00:00:00 2001 From: Zihan Zheng Date: Sat, 7 Nov 2020 12:43:32 +0800 Subject: [PATCH 06/21] Update README.md --- official/动态链接库检查器/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/official/动态链接库检查器/README.md b/official/动态链接库检查器/README.md index 1aaaaec..1b5e8e6 100644 --- a/official/动态链接库检查器/README.md +++ b/official/动态链接库检查器/README.md @@ -28,6 +28,6 @@ Security 在网上搜索「ldd exploit」之类的关键词可以查到 CVE-2019-1010023,在[这个链接](https://sourceware.org/bugzilla/show_bug.cgi?id=22851)中,我们可以看到 ldd 任意命令执行的示例代码,然而这个问题并没有被修复。 -所以我们把示例代码保存成文件,把 `shellcode.asm` 最后的 `cat /etc/passwd` 改成读取 flag 的命令 `cat /flag`,然后在 Linux 环境下使用 `make` 命令编译,得到的 `libevil.so` 就可以上传到题目的网页获得 flag 了。 +所以我们把示例代码保存成文件,把 `shellcode.asm` 最后的 `cat /etc/passwd` 改成读取 flag 的命令 `cat /flag`,然后在 Linux 环境下使用 `make evil` 命令编译,得到的 `libevil.so` 就可以上传到题目的网页获得 flag 了。 [解题代码](src/solution) From a6445a765e9613d19471319b76d385e69af2ad1f Mon Sep 17 00:00:00 2001 From: Fan Jiang Date: Fri, 6 Nov 2020 23:45:31 -0500 Subject: [PATCH 07/21] update comments --- players/ProfFan/writeup.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/players/ProfFan/writeup.md b/players/ProfFan/writeup.md index ee13dbb..b5eb195 100644 --- a/players/ProfFan/writeup.md +++ b/players/ProfFan/writeup.md @@ -1,11 +1,13 @@ -今年实在太忙,只做了一题orz +今年肝 paper 实在太忙,只做了一题和自己研究相关的( + +顺便膜各位师傅 orz # 证验码 注意到题目给的是 BMP 格式,显然是为了保存图片的一些统计特征。继续审代码,发现随机数均为真随机,故这个方向没有价值。众所周知字体渲染是有 Anti-aliasing 的,所以每个字都有独特的灰度分布。 故我们可以计算每张图片的灰度分布,再加上预计算每个单独字符的灰度分布,得到直方图,在直方图上做优化即可得到验证码。 -注意此处应当使用 L1 而不是 L2 优化,因为16个字符远少于 26*2+10,结果应当是稀疏的。本题用 L2 也可以得到解,但是如果增加干扰线条的密度,L2 应该会失败。 +注意此处应当使用 L1 而不是 L2 (最小二乘)优化,因为16个字符远少于 26*2+10,结果应当是稀疏的。本题用 L2 也可以得到解,但是如果增加干扰线条的密度,L2 应该会失败。 # 代码 From e1e69c82a6c61ca88d5779af4faf31bfb4ecf637 Mon Sep 17 00:00:00 2001 From: Zihan Zheng Date: Sat, 7 Nov 2020 12:46:48 +0800 Subject: [PATCH 08/21] Update README.md --- official/从零开始的 HTTP 链接/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/official/从零开始的 HTTP 链接/README.md b/official/从零开始的 HTTP 链接/README.md index 76df9fd..e998da1 100644 --- a/official/从零开始的 HTTP 链接/README.md +++ b/official/从零开始的 HTTP 链接/README.md @@ -6,7 +6,7 @@ ## 简单的解法 -在 Linux 下,安装 socat,然后运行 `socat TCP-LISTEN:20000,fork,reuseaddr TCP:202.38.93.111:0`,再从浏览器访问 localhost:20000 即可。 +在 Linux 下,安装 socat,然后运行 `socat TCP-LISTEN:20000,fork,reuseaddr TCP:202.38.93.111:0`,再从浏览器访问 localhost:20000 即可。(注:这里的 20000 也可以换成其他端口号,与下文「花絮」中提到的 20000 没有关系) 要注意,如果你在用 Linux 虚拟机,很多虚拟机软件的 NAT 实现不能正确处理 0 号端口,你需要把虚拟机的网络设置从 NAT 模式改为桥接模式。 From 94b11d263761c85e11d4a36c15057670a24acba9 Mon Sep 17 00:00:00 2001 From: Zihan Zheng Date: Sat, 7 Nov 2020 12:49:50 +0800 Subject: [PATCH 09/21] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58936ba..9254b49 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ | write-up | 备注 | 包含题目 | | - | - | - | | mcfx [Markdown](players/mcfx/writeup.md) [PDF](players/mcfx/writeup.pdf) | 总排名第一名 | 全部题目 | +| [ProfFan](players/ProfFan/writeup.md) | | 证验码 | ## 其他资源 From d25184614cd9703bebde6fce12afece1ac409fce Mon Sep 17 00:00:00 2001 From: NaiveTomcat Date: Sat, 7 Nov 2020 12:51:15 +0800 Subject: [PATCH 10/21] added two wps --- .../NaiveTomcat/2020-11-07-字符串工具WP.md | 42 +++++++++++++++++++ players/NaiveTomcat/2020-11-07-狗狗银行WP.md | 25 +++++++++++ 2 files changed, 67 insertions(+) create mode 100644 players/NaiveTomcat/2020-11-07-字符串工具WP.md create mode 100644 players/NaiveTomcat/2020-11-07-狗狗银行WP.md diff --git a/players/NaiveTomcat/2020-11-07-字符串工具WP.md b/players/NaiveTomcat/2020-11-07-字符串工具WP.md new file mode 100644 index 0000000..513af7d --- /dev/null +++ b/players/NaiveTomcat/2020-11-07-字符串工具WP.md @@ -0,0 +1,42 @@ +--- +layout: post +title: 字符串工具WP +catalog: true +tags: + - CTF + - Hack +--- + +## 大小写转换 + +### 思路 + +本问利用Unicode连字U+FB02(fl连写),该字符被传入python的upper()方法后会被转为FL, +进而达到绕过过滤的方法 + +### 脚本 + +```python +#!/usr/bin/python +import pwn +token="token" +p=pwn.remote("202.38.93.111",10233) +p.sendline(token) +p.recvuntil("2. Convert my UTF-7 string to UTF-8!!") +p.sendline("1") +p.recvuntil("Welcome to the capitalizer tool, please input your string:") +payload="\ufb02\u0061\u0067" +p.sendline(payload) +p.interactive() +``` + +## UTF-7到UTF-8转换 + +### 思路 + +本问利用UTF-7编码规则,将flag中每个字母扩充为双字节(即在前面加/x00),整体base64编码 +并在最前面加上“+”以及去除末尾“=”,发送到服务,被UTF-7解码成flag进而获取flag + +### payload + +`+AGYAbABhAGc` diff --git a/players/NaiveTomcat/2020-11-07-狗狗银行WP.md b/players/NaiveTomcat/2020-11-07-狗狗银行WP.md new file mode 100644 index 0000000..51d2e8e --- /dev/null +++ b/players/NaiveTomcat/2020-11-07-狗狗银行WP.md @@ -0,0 +1,25 @@ +--- +layout: post +title: 狗狗银行WP +catalog: true +tags: + - CTF + - Hack +--- + +## 切入点 + +后端计算利息的近似方法为四舍五入,故构造合理余额可使得借记卡利息达到0.6%,高于信用卡的0.5%从而获取利润 + +## 解题方法 + +分析创建卡、转账的请求,使用burp的intruder批量发包,首先自行手动创建一张信用卡,再通过burp批量创建998张借记卡 +(为了满足题目新增要求),再通过burp从信用卡向每一张新增的信用卡转账167元 + +吃饭后,此时,每张卡都会有理论0.501元的利息,经过后端计算舍入得1元利息,共获得998元利息,而信用卡欠款166666元, +利息833.33元,有164元差额。除去吃饭的10元仍有利润。重复几天就可以使净资产大于2000。 + +## 错误解题方法 + +看到题我的第一思路是整型溢出,于是借了很多钱,用burp请求/api/eat很多次,最后返回的欠款有2^1000不止。后端应该用 +的BigDecimal,不会出现溢出。 From 818890f10eef5c779def44ba726f75da57ff2a9f Mon Sep 17 00:00:00 2001 From: NaiveTomcat Date: Sat, 7 Nov 2020 13:00:30 +0800 Subject: [PATCH 11/21] Added wp for opengl and docker --- players/NaiveTomcat/2020-11-07-dockerWP.md | 13 ++++++++ .../2020-11-07-超简陋的OpenGL小程序WP.md | 30 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 players/NaiveTomcat/2020-11-07-dockerWP.md create mode 100644 players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md diff --git a/players/NaiveTomcat/2020-11-07-dockerWP.md b/players/NaiveTomcat/2020-11-07-dockerWP.md new file mode 100644 index 0000000..da739bb --- /dev/null +++ b/players/NaiveTomcat/2020-11-07-dockerWP.md @@ -0,0 +1,13 @@ +--- +layout: post +title: Docker WP +catalog: true +tags: + - CTF + - Hack +--- + +## 思路 + +`/var/lib/docker/overlay2`中有pull下来的docker镜像的文件,而这个docker的构建是先有flag.txt +后来删除的,于是就能在这个目录中搜索到flag.txt。 diff --git a/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md b/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md new file mode 100644 index 0000000..41be91e --- /dev/null +++ b/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md @@ -0,0 +1,30 @@ +--- +layout: post +title: 超简陋的OpenGL小程序WP +catalog: true +tags: + - CTF + - Hack +--- + +## 思路 + +着色器脚本中更改视角和光源位置,更改完后运行即可 + +## patch + +basic_lighting.fs +```diff +19c19 +< vec3 lightDir = normalize(-0.9* lightPos + FragPos); +--- +> vec3 lightDir = normalize(lightPos - FragPos); +``` + +basic_lighting.vs +```diff +14c14 +< FragPos = vec3(-1 *model * vec4(aPos, 1.0)); +--- +> FragPos = vec3(model * vec4(aPos, 1.0)); +``` From b1fbca17b1dc1a829240461bd051b636f2bba422 Mon Sep 17 00:00:00 2001 From: Zihan Zheng Date: Sat, 7 Nov 2020 13:08:15 +0800 Subject: [PATCH 12/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9254b49..2410003 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ 本文档收集整理了中国科学技术大学第七届信息安全大赛的官方与非官方题解。 -该仓库仍在活跃更新中,欢迎各位选手以 Pull Request 的形式提交自己的 write-up(players 目录下以自己的昵称创建新文件夹)。 +该仓库仍在活跃更新中,欢迎各位选手以 Pull Request 的形式提交自己的 write-up(players 目录下以自己的昵称创建新文件夹,并在本文件的「来自选手」部分增加一行)。 若大家对本题解有任何疑问或改进建议,欢迎 [提 issue](https://github.com/USTC-Hackergame/hackergame2020-writeups/issues/new) From 0cf27894b5309b47e0c0ae195ddcb03ce137d8fc Mon Sep 17 00:00:00 2001 From: sparkcyf Date: Sat, 7 Nov 2020 13:20:32 +0800 Subject: [PATCH 13/21] =?UTF-8?q?Solution=20for=20=E4=BB=8E=E9=9B=B6?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E7=9A=84=E8=AE=B0=E8=B4=A6=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- players/sparkcyf/writeup.md | 96 ++++++++++++++++++ .../从零开始的记账工具人-convert.xlsx | Bin 0 -> 167272 bytes 2 files changed, 96 insertions(+) create mode 100644 players/sparkcyf/writeup.md create mode 100644 players/sparkcyf/从零开始的记账工具人-convert.xlsx diff --git a/players/sparkcyf/writeup.md b/players/sparkcyf/writeup.md new file mode 100644 index 0000000..623ce7b --- /dev/null +++ b/players/sparkcyf/writeup.md @@ -0,0 +1,96 @@ +# 从零开始的记账工具人 + +既然题目是用Excel分发的,那就直接用Excel解( + +解题使用的Excel表格已经放在了本文件夹内的从`零开始的记账工具人-convert.xlsx`中。 + +## Excel表格中每列的含义(Sheet1) + +### A-B + +题目给出的金额(单位为大写)和数量。 + +### G-K + +用于拆分佰,拾,元,角,分前的大写数字。 + +以G列为例: + +``` +=IFERROR(MID($A2,FIND(G$1,$A2)-1,1),0) +``` + +>函数 FIND 和 FINDB 用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。 + +[`FIND`函数](https://support.microsoft.com/zh-cn/office/find%e3%80%81findb-%e5%87%bd%e6%95%b0-c7912941-af2a-4bdf-a553-d0d89b0a0628?ui=zh-cn&rs=zh-cn&ad=cn)用于寻找`A列`对应单元格(即`A2`)内“佰”字的位置,并输出其位置。 + +>MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。 + +[`MID`函数](https://support.microsoft.com/zh-cn/office/mid%E3%80%81midb-%E5%87%BD%E6%95%B0-d5f9e25c-d7d6-472e-b568-4ecb12433028)用于读取“佰”字的位置的前一位的文字(即佰位的金额,此题中只有“零”和“壹”) + +> 可以使用 IFERROR 函数捕获和处理公式中的错误。 如果公式的计算结果为错误值,则 IFERROR 返回您指定的值;否则,它将返回公式的结果。 + +[`IFERROR`函数](https://support.microsoft.com/zh-cn/office/iferror-%E5%87%BD%E6%95%B0-c526fd07-caeb-47b8-8bb6-63f3e417f611)用于处理单元格金额没有佰位的情况,没有佰位时输出0。 + +对拾,元,角,分位的处理同上。 + +### M-Q + +用于将提取出的中文大写金额转换成数字。 + +以M列为例: + +``` +=VLOOKUP(G2,'LUT-UC'!$A$1:$B$12,2,0) +``` + +使用[`VLOOKUP`函数](https://support.microsoft.com/zh-cn/office/vlookup-%E5%87%BD%E6%95%B0-0bbc8083-26fe-4963-8ab8-93a18ad188a1),查找`LUT-UC`这个Sheet中对应的数字,并返回该数字。 + +`LUT-UC`中包含了中文大写金额和数字的对应关系: + +| 0 | 0 | +| ---- | ---- | +| 零 | 0 | +| 壹 | 1 | +| 贰 | 2 | +| 叁 | 3 | +| 肆 | 4 | +| 伍 | 5 | +| 陆 | 6 | +| 柒 | 7 | +| 捌 | 8 | +| 玖 | 9 | +| 拾 | 0 | + +**其中“拾”位由于有形如“拾X”(10-20之间的数额)在“拾”字之前没有“壹”,所以需要特殊处理:** + +``` +=VLOOKUP(H2,'LUT-UC'!$A$1:$B$12,2,0)+IFERROR(FIND("拾",A2,1)=1,0) +``` + +其中,处理10-20之间的数额时,“拾”位前没有字符,因此`H`列如果直接用给“佰”用的公式会返回0。因此N列公式的第二部分即是用于检查“拾”字是否是单元格的第一个字符。如果其为单元格的第一个字符,则返回**1**(给“拾”位的计数加1)。 + +### S + +``` +=M2*100+N2*10+O2*1+P2*0.1+Q2*0.01 +``` + +将解析出的每位数字相加。 + +### T + +``` +=S2*B2 +``` + +计算每行的金额之和。 + +### W2 + +``` +=SUM(T:T) +``` + +计算总金额。 + diff --git a/players/sparkcyf/从零开始的记账工具人-convert.xlsx b/players/sparkcyf/从零开始的记账工具人-convert.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..fe756c761ea3012864014be9e51fbda1269ecbde GIT binary patch literal 167272 zcmeFXgL7n2v@aZUCYU%AXJXs7JNCr3ZQHi(i6^!voY=OF*O`02@4Z*|{s;GU)j3sN z-Ce8qTI+|k&jv_=L!g2{fxv)(fDnS{#=Cd=f`Wj2fdT{)oK{FhZPQ8A_lP_WS`&u=p>TdzT@18WY6@KL1C%Tn3=2x6v)HNc0 zg}>!#T}ubB0jtqdQ=+p@5Y#Qp1~eM^uEZqA=$t{yp_^_-cnT$@#$#XsX6~i_4)HmTwrr-g_>pI!;rbI3w8P zKb7*y=IdNq?XP(X2dD!@8u51*7k1H=v+BJIJP>`>BN=^Y<){lEQv71(7+%S6`(1Di z@jlkWzc_TW&n$yxKR+@Z67H*z(4%at&Sh$KyPSe^{<43r-m7rmCbhJCxN`XQyAUaE zma69pj8%SGH6_lEATG#C?bO{-Q#87hk1Lp0^J^;ZDx=BMBRB}i#|JnF;Qs<{qcT15 zEwCGek3_r}T#Ucqxxd@22 z6DoQ8N~|I_Miu<{zSc#CgQSEV050a!;r%+gvc?^CJWP1M&0HDr4V8C>4sv|$H*lcj3UVN1fhCv0U! zQx3CQ{cL+qA~zjF%kCTDj4qTnPa4_GVFe=QZ;y;qVnZakcRm`wn6JjN-1^yI`znSn zNBkr3OV@!K_FqBrZg#8+2mE9l2qA0`7*JPBy8pn5i;ca7zKxB=r@sAvm;nWf9PqpU zvtPdx#+~s z+>9%0CV#_SzRbCn5J)K?9Y)f9SEX|0;nrUBBUq@Ot8yvT<@eXNbF1?jRB`YWZaR_> z#t?&}cJQGi!HUQ#?teJkF22s2#Tf#O{mdw+mftsPi`#03MkUME*P(=YxyJ6-J2bf7 zSnn*y4v1O*?R5Ak9k@FjGz|#BR_|f=j!^$5Adqb`{MYdDa!VXN&Lmobh{O7tB=s~$ z4?Sb464t=c0+dJov(2$iW}^{u`(v!va9WENRi!pSPB`N zn&*GpNup(>Qj0*U-30n1L|}^mJL&)Ip+e;q>jHWtFCDWF(5Eba*c6B)B^j7yaWiGB z+50;Co*ycp#0KB;%Rf2|U?du2}ajH9Sj zg5B0e-V)AGN`wa*{>}wmo`%zo@_BDrwZD4qeX4*05kbpsOf0g&RQ_GeQAX=30sp5^ zYgf2ep)#@@HSx!Mxt`~D^;An@Xp!C=lr?Ek6;Q1_jb?>tI??#j-^?RtY zN8x>0IcIXVhl>5KB;eAgIM@+KSRvNvmHWV{w!9OPJi6^;bQfQ3n7>rb--jcPypX0l zY#QfX8I3YNFE&<-j$SA4mMdV*Fe;3w_x_Lp+wF;eEc)% zA_%S~F_5ME{o6%1gc+=iMAit&FXs!S-DE5E>g5%fF1e2^RP5KB5cphMIaYp{UfKIM zPE|bUDG_SV*H>2D)LC0rC&#HUEiYRuxx27EJs#%1G!u=5?(6CeLX+M*16lLd^`Y`y za6>MgQfu*9i`t{V)EqOeOb;>D`(435AF6xhOP=GVt(?ZgHOwbasJ?XuA$8-JwR@Yj z*Dg1;ktGj1`BK}IQgbfRjjC7>MDh%&&=63IQ1g=o_C^CBVyc5t1P7r-&+b6Sm({73 z<2Nd(AV=p$mvMx`y!M2~6Pnuat1u9y-t?Y(uw}1%mK9*>-N_h6^i5${8f%FyHHeJ_ zzPFYda#=L$B8~TB$&U97&z!-CwMB^)^QN^lod-^LU)i!}al}y;w^6@|5*BZ8g9{a` z$%IuxY7PGJK3i5b_?3beXhyb3cD&1Ydt!X!LM#b0TBs1gz1MDB}Et#FSSrjUUkt@8UIF|57lBr2eh?hs;$R>!bVK`&vDNnC!(v zA~pofQlYDjbjRge@uH$YI+d~_tPW)nBtz{SS63MeiID*!?75f#{T-yvVZeDqQ?~+im%LX|7IThOJbpf-O!8(@3bsEqSMH ze4oH_->x#Y56y{$kc{+FVU*W0Gt7TXU_VI|mird{b&LA%xOGLS?(1R(v4!mt-aRZ- zU9;%MF=j9n0>k7~IjIT=rizq!PM(HwEq~wZmRjH4H_ED^7O#)Rj@eyI(UCDk=J1A@ z@0Ogu?5M@ta;}#|V)PdZo!v?z}KI zxdlzSFt(F3)(mL*+9wwCU>nn*Y8RpDz^nYNKlFE-r<>bv1IgRd`6(AaQHSv?a>Qmg z4ZcDBWQ7%^%Z^WD%aHv>C)I1p74?@*B02IGS&e0yAAYdcP2+Y#kezpMfCR4Y!f3ZudbG|Tx8GJcs=&sJ;+LS*lgB(Y%lJg9xno#W2V+UZ0%nr8eC*$CoeiY zUXSliy4X8iUe1rE8@V3vv$JCke)`-s7FZz4UA(_O-1e8XtG5&=UmQWbkx+^_ab3|1qCa+sN{P984<>gpNvH8-{z2AK`| zQ*9zKPfo-v6Jn~o?xHgHXZBZQ>UQfESATnIWu5x?yofc|wE7Iz-Ro6(uNwC`3uJ(n zxDB2+O&}ID)2>8vsZ^~7D)0WBd3_VD9eT`S{KvwQ~0Rfs2c*u|L#|?c{-M zYB$GP?`k&R4~q})1zJc9^A{Gc%z9q%G07tQ zmTWTJ%hCbf(QtzZd{(BMjjaON#p#SqXCrZP1MJE5-GyQ2{Cobh9Z{ixyv|p&=R-$n@4GZyyu1+KJbMikx#nORV(;{F68XMK6s!=z=TzS{gBRhyQgT`R} zK(Z;Hr<`@KER{c4jpkZg7)H7N+??c8^7mMQyFrbfNWn-m~~w69j{NXkJ@h@q6XVKoYirn|s_qZ`wmDzR<= z>0Qc_S17KY`ZM%W-Hmh6{!}s+#Ut8>32WhzJXW{&4JO^&zazc3*o9)mN<-d3j!&E% z(!-EC#4}5K!XNkEUCh!H!5Biq4LlKOyHiD?_%wXiZ;ijp9Fmfr1> zZ2VQC?3c_X#yY0v~^ zm)enKSCYY_rWV6>-Jf-0S+MLtj89+_E5#jEd|Q)cJFk3DXOv z3&I~DsPBK7w6MDgeKKzx7CJaHm)M<(TN^Z`os@`4Fpc+J-&B32kolsuo>Pjibol#I zE_aw+e*_n9Ug42D=nr2^ESo|An$FvJBfUdg{>KT3w-YUgbI`upT<+o!&81{ulXxe8 z4J;U=&OGna)T?Vp&us=16ymO+2MM$z?HeYysDBPhRKsjM7D*!HWf%ZRALz95N){NH<=Q1?x8_ZF_ilq9?%IC^1=!OPGun8d)D^FyCOkbxVfN0{m*L)4j~ z-e`LmU=YJ>1VPA(J8!a`n=7)K(lFu8rOcqVrV1ipD0u&kxUZC-JjPe$bTkr*Lk2{>i!FMKla9Yn~INv+^T&p*!sjuPN53z!J{4^ zrLW1pxtgc}^>U1_fb{fqjk@@Pi_6YA<>$MV(JHF+26H7@pF|gIO(C z4f|pmM`3|Dr_9xYfHkkvkauCE(NkR)dr0rEE(pGLo(g+zuR;4;Tb2icd{W48-(W@I z;9yygiOi3H7)$>L&-X+LeC(M_R0wVgwQlZw;|webjXE`0nk9kLlR3S}-+6WDuZB}? z2113LOx0)@`d-r@RkJX$w9Nq|_mPXfqp*+#eM*Kf zxH7XuFvj#^Y2E51QWSHdrC$y%lzA1Z4I3|PJAzT&rOQEG(lGwmA%|Qvy&Up9CMC;u zecX1D;6r+vcuj3v--A zM-yYL>g*?~xUQ`pteu4x_2uf8{m4Yl;1Dp2=j@RWR?=4Ii90`SMqmLdn~Agxe=ME= z2>Z_Ey>K^_q;&+IohjOyFXanXn zi@By2%GcvsQcLlF6eHX;uW0WV{jnqqWVhiceOAscYcOA>wc`p%va9DEL3KvOMbF7b z=HT4OK=5db30Q2*&YC28*A5ccg~q$}y0%wM2bf)g{OJPYkY@i0(-<)r_QV`Qd003M z!^(^S!#c`VLlZ}qMD%!FrTmPn}!4;o{q9cCZ9H>uO6w$uf zeuXAru3RwC{V6q(_g)Z7=4nNYLC(+9D3grwcDMzA3X|Xs?;27_MvGA?tosm9j&K?z zF_Hc7Ls!d*Sr@fLb&=u6-nYPzP#!3TSn%LrYnJUsuAYE< z+3Cvv!Wp@=!&~xJ!GCTg^vcPmohZXZv9@DA+G?j8Q~?6kniy!0S2_?t1s4zfV#v>} zB->3^4@<~rZWS?&HEi3Zs4xFP3+Y-#Z*)A22vL#ici`bMLs3c8&};%DOqZefbH^DA z?|OCt%%isO>9BH9yER~L*3!Ns009T%C{OY>BJlR28cI5Y$|w){>qc#R;+?9XND7T5 z;BR>mPX|5mk>0c^S?r#49NB)ha=6^DP+}vuW+n;nF3v1;iVAnAv}M{-@aZVjNf1FX z@uXOI9aIA}>%bcmcLMHAOqlVLjXgStVWct1W{QnwzGbiVB1@ZMN0)h3nxr6*y?+1 z!(rW9PyNzJ)PskEmhp3umzzqL7yeSh>XoOE4%NZZWA=MzP8n()jF&0Ky?=Q5_7DEacmFIRXMYR1bCWadWwUm^CLdU6i zX-Pi_)&nbhJQas8GLOhw)kg|_N^l+JwC)Gc{fQcFZ2d6t5I>uiPJZQDfoIj(-cYoq z^mEfiHQrqZF)|L2?1WV)_qUO2)dS&)d91jocP28zFCDsW~Dglln>V-Q>!{&}SCU4ylp zIpWsOb4@>22ABdMerkDdx%t#3+0szTCCv<}1^ozFJmnZ)RyE&SYZ+)!(*FkWR|AZ$ zZJSfiOMbaGV@4^F3|$@sWn#qcPTrEJGm1xg(ZHQDV|%6}pST6Y7l*{z&= zx+)xGr1@OrA;KlNO?V8dgK75%g>_~VI~es}NI}Pnb`ROa!pl~wLQWCI4Z)*dzD*2oJ$#}g~ z&@Ku_R;fjN+;(UOG6>=$ZlU`nkFNsS5qyiW@Cvh+%hho$BSISHzdJj%vIh zalQnwQdKpKb;3| zPFK~*-Tn6q`WdS|!Xcs5%;X5rJZfbW^~DNhXYW)9^WC&`xFO7JxlKDsK*j2_@GxCR z1p!vZYs%31zcQr4^kvq}DznhlpN!P*oIo9r(q&IL-xMSakyE%!O$;l)mG@=oOu^{P z{SDKRO@}PTtWr8k6;JX68Rh`RK|V|$?>q=?a1};eXYg;UGf29g}Sd_;KPlHHJn%Y9DQ|NM?Sxo^IHXq4N(0h`xHl5_9Tk<4u z9J5DmN^rhR+;JbrB`T8nZGJ8S#_oR1@Y~;p++!YDc4=TAcNHZN6QFx~YXMR5qy!5A zIx>bJEUEP_O^E#T8_8Iha$i@y`Yx@l_lT0T&x;m*a3{Vh3%U+6q7R)XnRp&lFGO`G z&#Ae(bUMwi0JPNH|oPh@Wt`3qsSZ{9w27 z@7T>0%c#RThp}1`QW4=*gCaW4zOMKiUk)ag@@&@K6X_kL0}HvUp!ZISK;oEpdD2Di zHoZ%{tVsA3wtj_R$w}~Fe#2VT@c8J+a8(}oK?rlG*cyH!P^r|^R!bn{8oB3`9f!Jp z*D7A?uZc`^3&9K839G3_os^96O?nojh#j=4{f+l4?6GNb&vK|+M2}T@p*IqvU9LJx zNUyGkm{C-$(2^k-u7L`oZWbQjQLGpx{}(Apx?_QnR|t3uHjGPi+5WjN%V63oue**M z0vD#!l@$5suG9AI3hi|a`!*obGCLYoDh)u|Q1>r;{_UM0<1>pKrOzYcF#C_YLWbS!B(UqTsPjVV6f zM=jeA415QSo4PXxEg)DmJDeMc=QPOBc|vYd72)s-2rx$$NYPCnl%=Ct!1C_qe+Bt! zs5XsSrYHK$9!PGzT}VZa00>s3-4ZaXo1>-a`FPeD&{Dp=c1_v@%kn}UEfdrD_CrX3 zNg44R>~AiJ+s*X~8(mHT@XF%#wtIdInI)5x#rLss;|R=Pj|va0>3ZLNpyLzn;`unf zo1J=fRqy|JT@&Mbdo06;d19IVm_L~EcDp*A$H4!1o=`;e)ZVm4UeAM#GY!ei^~(0O z9;C0{Eu`8nIP6d5L}iCs$6KI5Nq(&U^fQya z+iFrh0KNwF{HPHQ{rty^(_MDxSMXZ2KP;6F{7ZYi8s>hcSII$lj za7Qk$p-6~JLXx=c*0TWHkrz0g!cxDozdvx7oxscle@UQRj{PAcXj!hCxCfux951

&Ex+mLt_@gM9={}tA4WMcF=Z8NDsd8e@DuS0WuI-O z^)mIF`43P}a&0=1IqKQmB+qE0&(?yIeCJ~Ym$1ktG0cqJHRofJD5?stvWrUVxRPJ zijA$o{;9mE)!eLF1A9YkQD=Xbnx z`NTA_=pi5VFDV-MYTZ2|VBfKSv^@KkKN1XLeF+&gcEuXWbowDbNHQKdZoni;V&a<7 zLmm_tn`WnScRRK$r{6f?aet*?H_BmbP#8Y`!|B(bcw^h?fn@97EBZ!M^U@8illkd7y6(AvemM83VO|1Chl=n+Cvk<$CQn!*{;{yUCo$_vs@((&e9wW z%@{b;!)1>Js@l}P0zw?4jbj;~g& zm7qEw^OF`XcQZES>HXXz>{eisWxb|T>8VU9@-4yEmJTmMg9+}EfvYVz(U`eN0H9@Q zyXx;BLB*yh@B)N!`a4kOjKJ$+dfqsd1ak0_=q1?D1U9(#V^ zf=0EaEh8Wmq!h$tPG7+Iy}I=R&_vEmU%7`9P||6Lf}Vk#NgkqQmc7sWN;)y>{L{_F zM1fybFt2;ZuTw}JO17>{P^DVme2sl z;GMVNkqq^>2Tb(3Z{IPf;tZY;pZ^Z|<7n;BTI}mWYp~kvaV=aL(J>k9ds3H&G??SE~2@64AgcR9`T9gmK z^`DoaR#IXgP~SWnaE!Y5_H3v2STkO@%f1^U#8J<+fd%avV3^ikdMwj)3DmJ4ucE@z zaL4M+(srhU%gRcI4aKUV!Pf=J|9Hdf^X^}&i-s+W<=tPB2y>$!d5ZY{r?TAK>RJc- z7oBY51@*3%Y5*sXg8KVuv==_NbwSsp`1Mqv1V^kcZ@xIku*li9ufD*E%YC+m7Xn1F z)%e)WJ?wv%0e}Mjd;cgXh@KJx21fe(vRgduw)=cu2ToKUI$K*kUas#a5)$+od0Jg=_Mgr$ z=r&$&M_s>T7c;8|^w)%25*56LgQrOro&XIdF zn&o6WJs-|1W`|-nct5W9?;4sDR%)!*|72h^yVT@#6nwZn%nsRfwY9t52eG)n9bZ{; zYV&x%o$h6zgxI>L1lYZ74~!kK;RApDd^eHdg0OqOKi}Y@^xmw~`FdO>=JCc2eSX)_ zp5yg44?Sh0<0FEU)8%=0y+%iKIMVTVO3sDP%faK}^hQqV zY4L!%x*WS=*I0}VAg9VhtKq!~|^oOH%x=X)m2d~`NH-*2T9x!lb?4vsLo zULW_*9P;5Cdkl?7FJJG`jKqC5Jl*-&75^k1Z8 z_t1=s$?5R8zwK*Z$=N7)m*Tf6<2bYcWKNF9SgQp*DGrjJi6y2=-X?n|*<{P|dA@#S z8M?V&Te{R{@OI(#Y*zO(;_!xVYQI`p!feIv%8J=o*lCWqTJid&lp`wTgiJGU^h-%~ zS^-zo=I@wYTFsD+>Q3{->rQsNjq0`2U$hHzaCB#?;?&2olZO{wA2xp^0@OJi z^&i;eKCV}E1P&(Zo>yuJYdS1aeV(rdMAo!;*>iZFdtx$95YzGBH}TJX9J|;%e4M*d zdD0=j-_O>0VKw<2uJpfKlKH$H`0%+2^XXr$ClG~tGl*`GNI~Pi+FR<7oaOCkN1dG% z@^~^LOnUQqo^h|7@3XX#=Gn6@_eAVEAD!$*^s|@9P$0ye*AH^@s7re$)WNZV5juc zV`W*c9dS_Wr3Z5*MbG0ZfFT4C>NYll;h9#QGk0chu~Tw+2im|=$Kr->*z1X&kLR)T zH@jO~PWwgJ)4>+x+uNo6c_-O^&bbF;j?6xw%L41e-P`@_DuqlA@#bNwRR7+C*q1qY zD()icrQelK1mFF*_Khw0-QzL}%Zm&>{Q`pIyc6YeiMxQ62qSC*_QvrxiypEuz=)NT zX5g2z?bOWqa{T2~-yiLdtEuiKoQjW|t}bY@9D{+Z-&HbGOF_vE1}}`3boS11w$}!? z+Vzf??LVW>Dhhcb<7x))oo4W|elMz`8>5SO+13l^(30u|$Fl{arWwBMh^E2Kzqn*%jOyi_kOKo2fsVc4}X-ycfdp_xUMSw{$x_h(H zEjL}sC0kXHYWeIQ4A^FfUO$u;%z}&fA|W!4rkePB`nuoPD}N{;J@LkmzEarFr_H zq6Jf0KqVbKsY0YZF{{-UZU+9djz(gRicwB^PpuBt!7FioeW94_NK$I%-(QhvlXM;U zS3O&%6oVH^GsKQPb71+-5cPG;B-&CdlZB$K^)S6?u$zC#V6g>Dr~N2`y>Qu3@F8+f z53@DZHAi=@=OHCICx_ALY-ki0xM5E5*Ix#KT!|N^5XYy$Ox;&wxX?IItD`ss1}@pu zkm~stn4$#=uDAPIKeBT+`TQSZdZvE{QfNS}JvH`=o_TKzL*PgO z!5v>d!5ta!iXniUAT?rzq_7hcxco5rE+z1&k)2V}ii$c5MZTE)LskHXSA|2xrw7X@ z%V5Cs;9qFb|39<@z&5f|DjC81Y^=^J=~swc_xxg~>~a7GPpH>`qOA~@Z8s-_*I3(~ zWxc=m3Z{l3%0wi;S=B>~k8DeORj@^3%g(a1Rz^eB;raNiR&|&exR!;~w>|6)%aOWm zixLi%afx#)EB9)vMy>CkIEk}Z=?``I7m`hL@LqWa@2~98XS1#D37k^V{57=+a;Adv zu~imjwhl{SwEm)Zt;W7=9Y!65&El({lcnJDgL+Z6Jx=6u4=_rU6H?4g3cV*Ovs$TL zt`|Y8oQy@bXJ_p37m0@^qAWSZ7a)oxY^?Bn#Y9s|=V6FGTU zsr`j>4oBFTmKw^T1~kPC4!_uGOzxbiVI0DHfA`+!W9UP8Eo#N{ya^{laAJx<5KAET z$*iA5C<|;7RlC3?Csw;H^pG1gPm-A4JDN(p1X;JmIkr6-zbYOBBEVv)Tkcz{fWb&S z&re)Vsbln>R=vD<{It1_24T=|9cUD$Ntmsuk&<@)E7+a7qo9__SUR;Mj0WFhJyv+> zpe7ZnFu?-jZ$$_v;-p1UzcQG>mgk8>{d8k`-_{aDu3!eET>}x!67`*E3=rzZJILA# zzlYL2CjajGG5i%<>U)%wqo<<<%N$d$rxL7pc;0pi{|I6Si)Y}}UaMCoS6CuSh!#y!vAqdXf}0&&j)|n@?fYqoN`H;VQvDIJTtF3|6x|#gj)0- zNdQj#)^#{{O4Hm-UJ+wgczW4 z%+29Y=aG{02)KEhV;XR?$?ah{xEbuY9t;rZ#1M(cU!%WmoN5;?w@S+jysM9XEVslFf37v?E_v1>&Z0b z%oCY^F{2a`Nt$g#CkDG?twwTC84g5xWy**|83)JCjxmh$DG#O1yBWJq8eWw15fo{# zgTol*B~AjKAt(g6QAWD)E4r}=hE3*RQ~?s^R(t*@0_P@KwZAZ{lCkF>EpkBod&Et>+>JgEVTC;zyp3ALDqIsRJWu-5ght#W6Q3qDAmbPRz4seWfvBSaLwy=nQtvM< zJ=6;6tUlUm78GY1`|&_+c)&WU`B9Wbf}e>}xDELb1e1Vw0xi+&Z3;lxT>oyALfm!+ z#_}%_Y3~wT20FvqSGf(f^4%wq9r%uV<|a*s?-EuDr%YuphmhordClKmPIp$Z3NqPi zU3Vgg=>mhfm6MDHmr{%dhl;92J9IM3AXz`TXO|tEyw(r@9E@?XC<3MeGsTx*rqT$X zV9pEzCuLN-B#U8^j0q=s^hi@~c$O`ha*2us_eH;8W=Whk!Egh>%Ov#lMKA1hb{L3; z>Wc)FF|lweneAm}sTrPYe!6>~mv_sBP;F-qHHcJ;Uy|j>;o5fB2`eS}*Sr{o%Z-JTyox~7mv4@#!53EN+VwdOp89@%cBf>l483#hJLt$+u|GXXoXeP;BLtk7B4p~q+%pBVyP(FPXJICw54vkmy|igd%eDT0*O@Fjs?3`t||gF(7t$X0Px&G z3&pr7!U$980w$Ow+WiK_UpfoZQcmQ8d-1a1n9l2LE7)|eC9TGmEczt&F3T9lQez#RPo+b&Q&%@j|<{u+jPDD6x;3Tju$!UQBQ zlcJF+k#`GQfD2`WfIuUFNCAZ^BuUj5Pyyu3zehycl|#!|iIc+%YxFGEYpI=i;ZD=R z`C%}o#>AkX2mqb2I&(v`tnAdz4jDi0rg7NakwL zmx)jq|KH*X-~Rm5!>dgm0wptueO5v+8En7S3AHcjU)^M4$A{l$=t2}$)9juH6-Z`T zmJ1%RyyZ#a)4qx@GNF$A(VV6;7iL5!UZE46r`799H5x>ae;gfZ=CyS*y)b9Kj4+S; zteVjxmSoOl1d=OhyudJ>;9(jw7+$`w7Ie$xTFyyAMst1vg=_&G<#lwU>lVReX|uP*EgO_x-gzl6u61 zqGZ98G~I;32o{3PPl)ni6)18Yi z6o=_s1Z4)Nc%rAKvsy*b3}sv?>|#z|KBYBg?NeHD6H%b=={@c8J7r)>@V`2vXn0mN z*zZs~vK&JfIy7a%W+VL;4P8Re}ywedu}aC?S&ho^i>TCAC<%pjfY&Pa*P@rR_!93?N~mCX`~~)q4s8srtnNEH(BKv4F)k* z&w$UA1u^;pCX)oQB=K_~1)tCp@>7G?!?orD)9Nr=8-#Q+ADLqy!IN)d(X5?R@chAXP825( z%weObjQGeR35F4nNSHAO(7B3xl%lCb~fa2^40s_p%KdJTt(Q;7WIc^%w7U{FEW z$?^!%C%la>$={f_jSCKq`BtSclRO+&3m(Y%6e&fydMm)g7KEd?MKeq7+)(FoK2a#^ zJB1y?6h#?+MCbb>MB9vCK2w%js|5;djqcRK>zE}Pf7u}c33(A>O&6(ryOY5`0vIqK zz&McUX%!GGq)rzf0DzE<2%|X!3sB4=hhWV;X&f`Y+yOnNY5^$CygxQS`GKSWP{JZ5 z3I9m{2=L8?3Rf#arYC1309aJ;=$%d$-xa2c8bFTW)^PD-Hd|9iF?tn72$+LAi>(z( z$}r)Vo9$!z0JAneS84|22_^?a21_W_Cyhf{-g$Lnt^G4|X5C^98E}|At+L|0TUcZN zbkcagt`$W8pZv&WVM#+o)gXQvnp8K*?XoU`W}Vm!C?Xs6PA<6=pG*TZ4%Z?sx zT&*yhI@d8J%<{DZEsdfaM-Y6m)UZf<2)UYsNAgJF>Djd7K%O$Y!z!o8c~GmW0yL1( zpJ0kuUKQLS7JgVag_g)On-0`3UG3uRU>#rfWoRsw+wPizm zpW`MbEu{2C5etW;&cVX-r_g6?cdBdof|@$arR-~Vuc#Uk&m(9NJD{TQot^->BGKII zD?y?|Q74e$xk(N!h_E1TSpfY&&(ZS@)K7zJz<~Rd$|cL%y!EJhuL&=~ZB$Jd8!i*G z@iUh$oKOs?2GD*7lxI;AYfLDOY_}?g#iAacM!-!eGi~&*AXhLCCFbO(ca(0t2g0aT z!9(b1XZicEF2+c%5h+v;2n5gpV4|OUN)m6%i?p6RIxUP)4dFg@le! zCXu)Q2s6S6PlXVvm_bA$LBcp;`&G3M(giH*L)f%dG!oCvLwxGL8-%0$jW%lO;`Om$ z(JvrL+|vNegltIemxfw3-|V-$Rl4Y+84+ZXv7!#P6waxcNE24tvF}bbOOyWjjec07 zq8Kjzf7Key1O4=ELW-ZFRomtR95GycZ$_YObP~S4iW0M#QmbFHVIS$s;}5OC$O~;T zqEj{kQ>chE&-%GGQp~6+LP}nvh@|$Gw7)fViU4(EZgQn$tQ@lCd#uU@>Nz+ZesW?M zMl5+h@V*r0Oe!`dZ?%fTh6d$((N(0DO6)XKL4 zEBYbK=#=Ww5^D{JMjXKY$PrBj_Qz5RaoW~PR44jqn0_+WhK=K=_|yCWRxJtGb*=`MA(-e8%NYd4FpL>e)fhi z140K2YQMqrz1_W~ypmF&aRi4xjsnHLmJCx<^4w%ibkLq-`Pu|rscz@4gxUBek7F>ao_WU75b%(%Jg2r= z_8(ElKck{$6^KRx7nWrZjTw@odD{rEX4p@A8@t#P)CIB?)4V>gVi=MP2t{)ADE;hl zUo?!jMfpBM);i&|pi@S5XBI3@X&BRzeP11lZPyqR$?mLE8ZpS>syVFIk9ZbI+B9ZB zU8M%t3fX*pxuj%$VPBy$@BRC@eR#{L40IY84u-6rh<(aF-Mo$CK%@m-zmrMkV5axJ z$pM4i>-8%F$Fw@ueWK6iSnZ2_NyAS^Pav_@ABM{IJ{ehz>$R<6=pg?v7bX^aJJ&q; zTF{P7*)yR}-qI6WZE~w}8;sop?8>%6;Aqv}qE0{Qos5N89cM&JT?PyR-*`LNWZOlq z3H040%8BcnZr;GARBq+*frSA&0=aMCpN>GPyzV6j{bq!-vk*IJ{YT~ZSvDoIw}~vv zUr&0(Ho_@N%3zrT0N)0FP+&sS%8@r8aq^{&ek=}5_}fKTg)wEhXQe=ApDqJ6CR>rF z`(Ft+0nc>@f!SW5SOAOS$1t+D&*6Tvj0!k0so-hy4)YnGa5OiJB%bjNLa_S_7`XG3 z!k0zN3jefaQzCl;xis z7SVvgTaW=)mLW)5M3j#iv$`;! zYws@7@CVMH5CXgSMKN@1|7jQ*K2;PaA55@{wol-kb1nZEn| z_B%hNP(}f{>js$x$X&Yyq6P*G_F@H{?D96ldz(NJjitnp;SFeY34`VZR8<0NR;IK7 zgdJiaRRNGggg5`G%?gGu0Js?g;~eXgv;bXwiI8r=;Z_1VR3#*Z7zMFv_0w@SXUL_Q z&*z!&&FSKNWJIB;l%dR{IxjzX9lIJ7a_Vg7G_GX7ocyc(-dOd@PHDsVBWWkqvaf|X zE>Pg4ilTu6*8;@}oM8OeZ9d1&vozh$p_*`$v~v}@jok*)dS&cLvtEYG;jkl$M7%hB zVsI?fYMM@Y8!MsB%HM zimI*NP9**WF_en&Si`y{wA&;=4@cE%|G6_VIx!Hi3eDLRbrFz`?)tsVa$Q1PtQ}*P z!of3`XDK>nj&WL`Sdyjzr`#yHG&!$1K6-+8vN)gI4Th$b+>t$ruHD+Jc#?5P01dbu z5-nF1_nFJNVPGzIz@vcnCwAvMF))}5Ty<{z+_L0fH{gDV*nkKFw>E21rKlNbWPaR2`R1>toXS{d6qT^>f zF>lH*+2{x)l_CXBprjT;9DTYiN2qXdnacYZ+Z#n}&;o=p?V$@^X_cMQKFmkWrgILg zPmfS9R&K0#`LIu<*C2z>nbM*ZW(riBG|a|-rYrPwIAe0iU%0$Mx5x9NFYO%Vd^=j- zW7sUvpa+^R1*{5S*&bo)%z>REtIq$qhh{zeNhRH(@<0cfW%s{`xXP%ix~?mdl9!b3 zF6r)WxHL$2Bc;;aE!_?Gf^;`XcXvsrC|#o8!RH&}{ewe?<1F^xYt1$1T>G4F6bFsj zT}1hp6t-RTgCnLkR3dn^cF@^xK>ly5p#b^+&9;FJppPH)-imK`NdtzKN2qLQ*GfAf z8l-IT+bfAyO*>P1-yp9Kn3~kVsa}xKKtKRi7*fC$$y4QPE1wIn+*l>yp7)I%KmUPM z1dIs_XHoZa)>5hWa#eF+I-28OMS<50u4_;>9K4DlvLV#iDjViC?X z#!Oxn7%=Wm13uCdIl3}+Fz9LU1r%Y?Bxz2$UYi>;qfa=fv)x7>3*MRnl25u%_zQz-s)Ec+G*S5cbwg?>#fqt495`sW)EeGCwyfU*XhhkNqL1_sjcz08LwW-?5_(w;rLtjP41ia8 z|J=nW++uaYOOCe6xZvyta7o5|&3ag~F$PHM6m=QN;~^*P{lWy8#tLm#tu_MZ0}3?d004;;hQw}0`OF(&ShBn7IQqC) zT!uYcs*n>ko$6Ze5AJhU$prUS=oaviFbeyE<2CC$XZfS1AL0Vf>`=sHHg=Ke6D31srqVgo6sww3_^bZ`H8UK!Z3 z-kOxYAN@+cO#bT_1Hcj8vLBCcOhnVs9ab#Z8sgCYO;c5&pEyq<^Sxaeu*SG;k0)FI zYt!g;J#s!5PnNy)jx^)%%_gGN!}iRzupU@zb-dn|NUQg&3Tc+tuS#@d-;Acp46(KB z^^k&7T_uShB@4xEJjdKnK+S*2m|g$Z*;c6C3`PLPOov{83h;9@!+mtGd~`2*D=Wo# z0eUFGZN1NR1KL3QP1Hqq-}7K{B6hiq3n6%6BVtLF*HP&*5mJn*a%5y zN}TWVP|OU=n8{4bUZkV)@q?}2_{1RSISk(Mq({fGRRt|2~KUdAZ|6JH17t7a1_4C@pkX0atdugRN)xaDC;N%h1FSH8>aYWet$NG>N zN8j4s-ZfF0ALlmbCaTMHlZWcU{-ktO!{7q3{v`YE{XvDFCYH6f8#nMck%ESSFu#5qY@)Xab{_ z)xfBMrYsd;cxJ+`Jr2+EXPzts8jG>}U^Dtn^?KpP-}Xf*vG4%~(0)l;57`O$_hDZK zBrUG5`yA33Y0=d=%MWc=rUvS|2*ENaSrGo#i|>0?e_*E|+88hrt?K3B^uA`;xbu>U zsITkv=*hCDL~;jq5?NZ#cRu#MaY`kia`82A@?OFcCR(yH#C$P-T(T98ha5s^ zVqXN0R%@{5KW^Ez|KfdCZb+xJ8;lL^$K>dBrK0KcAS1-?E0YpI>pyyzoLdbo8y)M@ zFmph?B?=2uH={yu8YKcR%BLt)EKm8=C)Y)v9oiCB(a~j*bM_GRN ztGHKcaZn|-QSA|?_+4vL7t?bhW2!3=6P7$)(l0sJjkj1)jKx%MEn5-Hs#UVS4soqS ztp~(0w%k8)Oj2S7;eQDS(R=km!%lh8Da85)EFw>NT_00Jg?!ChzsO6p`|UO$*WP3` zDhOJr-(5?lkaeak8UkbprktJ&dG?)Ga0*$f+5PsY4%Mi>scvRcmRProZq`+!KF6MZ z&DN(#@?j%3k6>Jj8pXGXGZ;=afF3bD#s@40w#P`{AyurmN&LHcHf+CwY6j-4GVl-TQ&L8n8?8Ve322R6t4K&*!M=To6<3aHQ$5qQD2M3{y zk0^g9@88v{fR}7CMSS~O3S@y^Xo6HkBKa~EyeK3Vg8(y?m#o1@9O&BRZ^7}&xB33o zu0`B@<;#S45zb|^o78i@0(S#xdDw>!z5qs{N0k?V5Q`+pr=%BWK6P1Kz%U42W?K%X zDc6sOcy8;yck9wdiEzNiSb^Yxz;U}U4A;B=vZhlF_H`jJiOZ58IN^Go^)|||%5v9= zXQj@wz~=iW9ANtACB}Fjx7B?Ahj&9F_C0^>B#M?q;fEAvQ1VxF(PRZd;zp z0Wk*V79G&P9<7_D?G1*v}uO3~z(I@K>(V23_kFxve-s^qiA3H}uV zVW35i({X`gGFA$Z#_VWU0(0Dy)o1t{9r zFsCo}Zy+XC;dL=)dNq!BOrDs^asYQ}8w0WlxlC+>`-pjd`@sy$0o;0_f^$9Ti6h(a z6+tKNMxl(eIXgZ$*oj>crf;LLP^z)IK5olfClTguo{>n5en}w(u=)5T)m8vgfL}6V zrbwnGNI~7+o~mV3c+kyRfZgueIoI$0{$UOyFH84%sZRXo-%|XJ_3ME3V@jyQnXpTk zXTj$LqJOs7Gs&pxaV3{xL%iE_PBvdZzcFb^_ZY`+G&evCb`Q$u>z#|V7hVCwV^Eq3 zgYWv4_`f_&HUC%ry098>}6ks2r+`#x-d#~QelP3_3~}5`9P@jlCS+LZ{uzqx@;ECdCZK;5@jB=qeLIi(&ybx< zL8mD8Seq4gl`P#(?RNMf`xWqtI24M4IJarKpB71qqDcJLAr^cO6)GP1C-I^8qh=bWkSqF z#+rfkp!>I4-#-9dNV+1ZUS~#{AEN%PxeXe zbP*~9+NBb7mrMe?N4lW@vU>_FfMFD)vMupd4uRqhsn>HB>9Y*%3#04lCEe?q8(7xe z!3)ps5-kdRA9ZjyRh%~$-p)xlql})iX~j9e=D=1+(#d@tJal;L(qyf9?C9g!Q1O-j z8-eK!t>Q*7BJmy2%pajQfP?9j>_w!Imru6tk2^vx)%~)AJs@7S5rNnq9{&EWx$qVO zCM&j%Vqj^Er(PTzsPMck4>n$fQJIeSM998x*ZqOV^GJ41Ae4Ln?4p>=U%Yr!Tbwe^ zUy(^EQ#liLzStQb(m#8~$fpejB-nKVvYe=76QIOMZ@jYP5LhTKj@VxOuHv%^A=GRE%FKl@1t>FXgSgQ! z#Hj0q>B!+zW==n$J}uiG;l@pX;K!;v1G-g_JHHvYHZUD3iOIzM4Hp;^l(mEpaqe~P zHWSOg6~PPJO*QB0SN_&kD>Q1{|IqCJ8{ZQ=%iB@pxh|qD%7VYEA`|5$rpqEf@_zLz!b+F(*+X|1c^-X`+*Ds`VH&Ouy2{@ zXv+Z7hdOcpWK1-|F}!`S4BcpC<)VXDA%MS!GtSYBL|#m@szr4d{5J3|F74kj2bnodvoopYwq@}hVbS1R z-v2u#q#z*`<&9+c|6P1&b9r%NKZndvguuDXjo|5kErb8eBLFIlmvH6%(BQJ(K&65^ zuo?%c8DO-s0>Rw4C!Tj0Pu!|0u*RL59I7&7{~gb{wuV4h2WII81X4xv7GM~@m-1w^ zsEM`!MQEY|Hcq-=u%=D(J0DoQ(#z#roGFnf^|l7z?%I03+;u? zk#mKH-~+fPv;<@MG7)I>{eT1`k;!BX_M;-YzTlb8uk9ES(&a{~O%&;=)jDPhTen;;`V2ySln56m(m z+-{m2;|p4@w1Khy#@0FK);}-tLF$$LFPo;h19-R4X zVb5FF*rD3}}d(jBzU@tMAvRKf(H$^`dyHw1s0mCm@sZQX8Y|CcWfP7os zKXMGo0Gxj(_4%&bwkwjC%!XMQ1zLTx!v4#p6e+b$pw&;{Y_~yyx%GU&OS3O>1ghsI z;z~YHL6g6eEUoT3c3SqV;K-+K`8Zdft%t*^@Ryf8Gx4tX$2#^Lx0MSUco(9v)JrvyvQ= z*?$3Qy1RaZJD)ozf{#~pK__e@FlMe@;(`}yDK!9|Z zmd)pfT~#($Q!DBNWO0KW;Q|cpU`JpO3A&|Cl{L|T9h3K&Urf12ddxyaogakvTgi=Q zHZbogJfzYGk)gRH`}}?)`-77ug{P5%Iz;<(SZ>q1!{5tlbIf60&ZW(uAuIMxU#j(4 z&pVIIqVuXkj5{#c?Y1fdfhg`;Of;J$JdGlZQSv)}@O>#&YLbvuT{iv%CcBdPX?Xny zvXm}juI$(iIqr9~C4{Ju4 zX6m*d2jZ7*-xMwD`egsG7)7kDz2{pGz_PE14jHGwn2eyecZWBKf?#Hi`$xCy{-vIGbqE;A8unT{R;VwIs4%S$x%F|no6!IZjvKRyK z7xT?ADjlH96wn_e>TQ2mMsqQ=bmx>j0lv)^VACOx+L=8E+v!Yf4x&lf0YYYigM{dc zvVB4kU+-F&eD|YnO0)g^BQZ`)=fpZ0-q`RpamTtRxcfuQ-QCM$06sm?r;u#GkMrSMIhuZ6Xs`iEb8KbMQoeu$u*&Jg1kt2GzS>e`S!5z*0YIT zPKCrhuS;!Jx?uP0WQVW4v$iOH!Ne0Xtr+;Khyne!V;~PuTQRze#iefj4U=hd(La$A z8({m5&hJXRGV8r!Ual#IN8^99_*S7^D%o=A=PE;7JyksaVl$AbHzC+;5vlsZAcA6> zNUwZ%{uM0DBOoY%0e(>x;MpvN!%H`Kz!bX5?sVBA z4?aqkp!NJIhf<1Dc*kL`r9hFVXu#0_dT08rsA6mIU9!d}fzh}&wK$S)=+JVnjZQVr zYt)@8Z3Za>^Yd?`oA9Y~Ts5xPUkn%x(o2TO)1nj#-1&da=HgL-N=*3k#+M||&7|@I zJjXVY`CWL8C8eG-t)Ny`C)UtfMc*iiG763nL{uw6O0RdEx+N5st&m1Pmp+po_ci2F z{ngI7j^8a+!#r~~UFA!-FbM3r6-<=DA&VH7~lR~A*C3JcW&bg?qRWZ|yp_YM9!k_W()A+1XB$m<-Bu;J} zW6wwhDGe@Vb*4F;r&fzkbig&$4m*O2Iuko(@O%V5jm(KF79H3udC-KZBfyl~=WVn5w#rAeqeskxG zPznxA#$*eO&k%Eihy=0U$E&k|%lKKD6KaFmYm9v1@cXqZA0trJnYth%QF}90_hw%` zzE;?t;mrLqBkyNJ%lp=YB+eq!6O1=D5(6dNn>^IQ(zhCa6@-B0(u&+$jk|9iJ* z_|Mdx2pdyseCf}|oYx1V^Ew{0G{!|e32l6y4vhUpzALFH7_m^s#f0#UF)oW$6#Yzz z8!YZg48L^)|LNbq5dQ-23Ox-RKi5As{N_Munk)mlfns|`lIA;ce%lXUwMY}G!kD@_ z*w|i^nSmOU_5-G1`FC_{3Vv8{x6QalQ*gi@7~WU6@F$8GcUo|T;lyv>9en-7tZfB8 znpdQK2)Iz{l=^8o7@Y}HMVZv+f0(aD`l1mZH5wVTM}?7SNe^c}%q8`}UWcH0GkbHrzj}L@6iFKj{-bI7L zu+Bxj4au)|Eix)YrP<;O1~J_n%Zzto?k)e8j^pt+Vrz2GVV6gBXn4D4*f*K8#4zu< z&E1SMrE0_1F<-<|`V2Yb_*90?-;Pm%4)IR)Elp|~P3UDShxi)yk;W~Wg&K@|@`=8i zG4~AC%DD}4k*rs<1rFeV2bC^iI5Qj~H^;`4L*>M+PTUo{G+nG_XYW7r$FxP2>drG2 zdX;>i&ba5p`~HG4*8s-E>-S<2P-~}>W9$?)WvA)t%ngsW8Bv7UdftqF`Mu`FvaR_c ztuEA9ZwIemPHT_y?e)8JdJor<6}hUA!}CdGuXj!(%ZJFa3{gr!r=37N0c4aeU|Fb~ za|u&yhLWhsA)K8SZ`dNz^+&J>iX$SwlmKA%V&~8-(MqO zY7v1WWg2GWWKi^bL+xW<Xvu_dTl13D zfR-qQVlD&?;a3PQ+LS+tn%t7EL6m=A4MH7b$ISDJ+Ke@cYI>8JboAzU9TC> zq$*|)2*l1h6obEcFWHC@BL!RJF(LGWh1G`4gv=C#nVpXGn8!8uhZQg3GQHHaMI_P@ zmq2|mwMMl-e8WmJAilLa1;$+6s2;7$TUY{%o7u>1RTG}Z+b2hB+<^;U-W1BR^^vMERd(Piu5Ud4u;yGckztM zvw9?aCC<1H4C|o>_IV%J=lS_jV4oWy(U-;U{CYx&^mMUiUpzt|Six=v=yR8k($uxQ z55j39UmRP9I~$E9GcTZaT>>KmZuu*Wo)h;RUsN)=h~$&t>=26OE$AQ!edfkF9m8n~ z-7z?5v3t?7vqu-#p#pNL1zdvCo-<1C-nqu|BgNtLCQL;oiAQDP6Ehg9bj5^R7IGn= zG`{xWX2~n0CA%2hlO7w%R8^6N^*0J5NSGQ=1GVB(zqO?i$z70-u%dc{=_h0(bV@CC zmfqr9^&wN>P2#(h+zdS|N?TU1?AwTJT7?KJuQ!+`33Kxb5yRvIO39#-v5|~O@q}4? zAJ!-=Ae<4$a+Bwg!J5USO2KI7!jwq#2=O{InA2Et4{}_5TWgOHouMKLKmcA$dRzSF z7>bMlTH=(9?EnJYY#}qW2~K{Gpqd0!1x#>_G=Qu4yGAChiC;%)o1r zzb@PWzffFm(o-*kA@mEy#)Rv;_|4pW@HJ(tC;D9!dGP6ckL6Y;)$qigKyO}rZ^LBn zAKO|pxia6|HP_WcJ^ml{TL@*ocf-=sU$G|zB$tV+;Ah)6 zPzFY-#;+amQX;?R3b*cLMAW^bf4~ns{*`KXO}FswW`8eB674(n`Z6cK^uviT+3WT* z+!R>PG~BGIuIGuLUH8O)FN&Ng!aKv1OO}XOh@vp3d|94|HRH{`4!9TI*ZLGB^>DGB z{k)kZ@Y?qOJY!(U;dUGCs?jKU*NLu{h+(4%4>19qy#*6Y+vuti{aFIxah1brYGT-M zU7OAZy(JU6m1&uZ;wKNuLMw_Jp;RA&W6TkQlq-y-f{DDsZI$i_Wm1f~ornpdkmG$D z?Qpa{n#*2CD@?Gr=|e9-8}tY{R#7>Zg@?%nNk|<&di7=PODhbQFtO!lIH-jbkD1;< zGB@ignp5-ZU{tQd)e%H4!bi5q9>GrAnIpe?&Ws*GylAOPcpQOV6|K z`KMkI*`~r1RjdoxJM-1SRAkWofnFYjR=>jv829GZqUHFJN@sOg2zQ_mT|UI)70Xlm zu@ztOhZ9u;Zfd)3iNaZn-^N|{zw4cWA6Z=PgV!CwQv2N~Oa|sVHgAel!us{Q$rCuN zA|{I{z;65LhNkq%Nqj#%sH1$u3K+5AgH1d#M*}4KyfPIvM`Z0RfR8&r1V}7Ao#d_lbR8Hm7ZF zhW)c%Db2c03-JAIdI$F%Zl91W}5jr_2ZIBUG0oub(XP5#|Brcir z;h)c=H6%;y*dHlpa9S)%!;p%b2@30#2)tV0>5NuSA(~F-r@3er<%Q~il!{)wks?Ps zwRI{f^eR1wqb&;Kq6Kn?iVUy$SG%bp>o*z=gm}h*%o!I$);e0y2^^O66U)SgrsVu~ zK0EmMMy4vvq2EoX>fz@VlT2f}Sk*@nLVWGI8JPtlG-Ibj)Ev0)CGwe-X~8P8iSgEu z*a)^B^7IUKf+<-`X0G_i^1a>A^Ib=~qf}Z&mUq?XAKOf0%iAZMJgUR=PJS#e;S(+U z59iRdnK%hsvz&HWx>>bcdrzmATzgSj!1C_2zO#tcD<3$L$fZm`wT;Q;4rg7#7I6!k z+-_gjWI6mWtw((cLs7wug-S_Loxy;_|Fuld>}8>;yQ~iZ2{))J14AZ}$3714hHE8m z+b=viZEY|pP_ote7mci%_wlDcyz-q6_%9mSOEfgyf6=~$XG?L2M|MggAE`8_+%pnX zdF}_JGbdso>A|O(fZk+qiVWOvrOktdDJ)2IDS-`@K6u!eJusvod&L|ZdiH6T5%@l* zgtl5~N0dPv5p!g?i=f*l&fEL~C16X3!-V?XjE4!wk~hZRX)Nf+>SSe0{Q*`5F5s86 z=4|rO6U<-KqrHTAC}+k-4GOhjgmuxijM(h4xY2-rDCf^+%RlfwF(W%jtx$0;M;RG* z^dhBAJ6>MW+V3H~#O0&=^^GRSf5cZ{y;Rr+qT$s!Qzf4BYhBqS@h_`VwC`;35XGW? zY~$%G6(A5`L#yc4e5B zKEeJFC#`k5abTjZYe4}Y8QIBwur2=(9L8U=RDB|ZKmKOwdAM9n>d2|tOeN4X?>LY1 z+U%^7Ki^fO@}N!Nmz0QlA2eE<;+K@ASlNlAOGIrpEKmkVMGBgLu4Xu7 z&sL+;@3q<{K>r^z5hFx5B_gO-zZ6H?$W2&-D4K`?sn!SA@T{+j(dCkU1(C-+OlqDq z@{dk)aaPhRk|(c4?w9pxBX<%-fBVr0)0eYSGzef;mL**<&rU0m<<-_<=(=ZTGrfU5 zE}SCM7QZB{Kn5LR*&Mg2_k!0}yPzdNM^3Bc=O%l5frHM$mmr ziSoHD#_5(;UV7=F!poS!9m#Xh91hM$-R{5Woyg#i!=fbIe;7J9Bjy5PUXE}#&yIaJ z@+-C_Y~Q92&a+jNzw2ekIDr7Uxl{Q^<$K7L>K-hI)&m_r95{6}K*{4zq)+hy9u>Dm z+d&Pv1~=V&`+%%7W&4&BI#WX8t>f0+nSCduP(S6GsnI94BMP^)?t+4Rzrr6sVihFkO#3;yBdjYlnpTasAW7>jG?8nN=|_qYK|Zd?2Fr{R+fYSfv$ znmDcw>hF+V1ptL(!hR39iALEqsDGrAnql}j%-?7vYE3NNDZRONPtSbm8dO@O!jyZThfwyFfXuxU5DDez^fpoEHlpzL zNHW`V+bbcwDj5zE9qPFmvEI+;C^}RbbwuJV%^RxWxm=b<#pt=5?s03$@9cM>lkb4m zqO+f70wQiM-~g%idFgL+bOR`Y3bz1DMbJp9%X=wkEbQbq_~0?QHqQkjSD-{{-5a9x>KANvuewg;NQ;W@w zX}4!hbcdwL2z#J5yxALJBu{y*eYS4${$b+h@4{`WjW`EO}SR zHEQoZl+|-{S|7#u1H|OQ`JvA0xA*KZ_2q?w;IHi=O?)_P9md@UNQ~vflEXwo{9A01 z@%uENj_hBiQmevdZ_z^j%K4upR>V7KoMDkhD`Es8U*uxz6fTjrAMz>pKo_ zcPt1QZcTZ#1UsQsj2n*kn~`^lwK7vnN+5^Vp2$M#nWfsKwk;lBv!9CrvZV@(0?;4T zSlRM{n6zZ#6J9n0h%w#TY<59?j)3(MGsAwV9ds*6g%-$DEt(_~kXpAULP)vwdqAPs z9R>S6P-spz0r{$^Fd&=u=(|ij@kM>8IH+q8PGaFauDw``F{`4F23Q_Fu)J16AJ9~i zf$jODd)8mpad2aULZkMh+NUTkSM(m`R2%1R2DBL&4H7W$aA*{LFL_jH3_aTD5xU2c z2)Vj&C6+JKAbSCZ+mmwH)q+jb{BuQ2*g@S;oUhiI=T*&WP6-*|u#Q;r>~V8PSBOd) z@Q#5%Uy=+15cvn80>DnxDrgLWbxKycCAymMAvHFCQFNp6DoAzC5Io*fcRK%g_fi?N z{d-t9zn9)K!WQs+rMvNqiR3?4KkEzAr%f{>5Mw{| z;Op(Dn}C!p_%Y`4V=QAFX74nFDRffAze%NDu?>hQwKeRRfACo_%9>+u&DFKU9@hGv zzA9NxBmbAJY)oD<1JH22zee(vKA(>*yrS6pbFw7*m))x6F5dXO35sPq^hVTg%Krhw z*#G(QG~P(~?|^K4SO1l&|HJPJW1s8mncKPFztr+cljlq$3B)z9hQ%*k266}@o^sH(CBEB1A6sOxbFMKGT8w_H`ZMy zjyHl>Tvg^sNtTXY!H4(JFARTP_+B!}veLXxZi78=9v&6h7yoKARiF4kThJC?)9ab> zMv&d&cRm01iWOUY-HF@?ry@zT)?gozlT9QQpam#G`F@Ao3k zAhUM;q`!rLTliT3ODm zNq4ZUW8HwpRPe4(?HDu@za^EmO! zlDy>~b9L4(y_n>4Oeo0`iWS&;$(I*_1RSZ!MG&S2{w3E1pwM6JygT2ocJNwmkn$cR z8yu1~Rv}XTJtAxlq=pZABe@*P_FHnbt+nOxY;EiJdGyo;ndl=PXJ38TJK#4ECTs$# zob;IN*p^X-pyQ*_&l49^Y!)xBD`EE(21)BMe(R%kc)hN#TBUJ7`=i$w0NNkCqDm468JX{k|8B989L^f4SsnEmq--85E7q(#f2;^8`V_`>wycwS+)(f?Tm?QE zO5Ds)wi~u0Jw-U0Y~);QCnqU%H`KVhC#$8TbWrd%4(;hpFl^tSb+^fBCEA(D(yo~i z%tWF}Lvn$NrE=dCWM^pC{D%`=-jGZPDx5Zn9k46TK*$0WfL=$7!XSMWd9ULc`P_Hl zKy$jLIU>LVstn?O-go|clP8+Yz0JYIV*jlV_Q)E|2{`rFJj{T%^ZM4dWK#kR^x;r* zg!&_ObA4Nesn!;c$?4wg15^?*O5O#9CV>Mf5%TxAZb7{QC$r9%r}M?9yOqHlUXei~ zh!z#*DtoYXXukMjh4)9X;qk+Bj=KGE^1{C6%H;YmRuW{T4x5sA7hf-4RAp6|G{6n3 zL~v(QDpEb5i*`c0*QMp=QBdAe869vJqK1}L+N3}`5Kfu<6brQwhTYl_AfaXD=hrxjvE zx|bYvZ|0Q5i5LA5v3bs}4eK;LcchU>R-(`GkO0yrnXv#aSS~r+jiIV+1+m17(kN`p zF1%HVenfBg(pRaAT)|ks{Gv)`T{7tr^{~ry7HqpY=Ny0`z=M7F*ng(60zpYYb z@d!Qb-o!mm*DC+kShnlxVXaeep(vsi*9__B9ROlM=NnguNbY~#$(Vvz?l=mlm#&oU zif=ObRuJ)0($#=Ml`e59Eoq;~8DUvHMqlD|ad-{3%SZ*u)(Q$3Nze8aUlA&CEWgWr zin@lzRZ*6Gr#uuhs5AxaDiQ;1Zt+5gkbgj5djK+)SLr1!p4?S`^6UA`BHpOGQGXPv$4x327 z7>xoQJ-XntJ`?GjO-<}P3MO^$p>k~5aN88p*WO4vGI6wZOdIy|V6SJ6S?)E+=aW&M zzrLjQM;)6)hl>KSmiASAezkxwK~I|^$fViRf%e}_INu4lN&S;v7_h-&O`3yOU;<&< zJfI7ux_KnUrvWUfbpbFMp4hUAV2B0qJbLVzMfP&J#)wl;ic(`Xih`kcgl@ozsYpyA zOb-D1L_}(y=+cV!ioJ1B!2nLeIU^{Ac+hlmIwLOioxRyfrwUmjMubL5ya^~W>52|; zQYvI$*2b|bCPF?r9i9>Q(QA&z{BCkwMi4LUhO#Mu5BHJYdOtUx@SOYAKXo_V_M+}! z697V;?M9r~$=T?q0&@LP!o^ES>3ZqtbSDr1B)ST&Sdcii3PQq;SEir_G#6BsD+=Ug zc6t0K#jLv~35={x{_WXge_S*!JW!cy*848b#`Oapp;gyv3R$3}vcnetEvIrOHv7-% zhUpLDX$#e`r76szz9Y(J3Qf=iZ{{t^thdsZc+hEAWlSH6rqmFSwg7DUIq*<)GLM=)jg|P( zU*Ct*tFrw`u=*3OfHW3=g2XfNMKbE+2vA%F_7aH53-XkgFrnqtn5dMY9P&6zbKj9Q zRp~Y9B8O$|JY6oMejR`661Wg@QaNZ)94cm<&lD@r*DwCInARZIhy4z4y#a{Cv8yo@ zx-*A_VJ?{M2{8qlmi%!@{Y`{6V_qspeK>66RG#|SzBB^_sw}s`L|xP`;U7D_4zxdc zS5-FhMO7q!;n#cR*G`v-`XaOCdTT5qUNi2^Zmjvo>CE~bO8HteEb2)#{yXTI-e}wa zB)W1Zu;xCwE~piq$)v}t1d3WsAa=fZ4kMitAea_i{}yp!50Q<#hO_+ml_ zK=GSzFkBB6;W?RyP0N;|lHk?&=(V$#_sQ(RUTB2Int-55rbXfehIWB&_yZ!S+NxWb z`bJhTg1`qqS+YMdEe{6-l02dGu{FtB;F=Uka4BU|`%aq_T|a8I+=XEQCT|O1^0t6k zXmvGq45ts*dOi@m795EKcF{r>Fbd^oXQ^XD$lQNL_z3mgMSll!0*eRQ1dW*=OmtVO zqq@8>`xf5nnfOmnseJj^woSPW>-sh$shA|m-VT@NAwh84A%q3mv{o$JmsE^F7yxA9 zp4}_z7w!rpw=&_AUD=4`_7 zXzM;VO*xS7{F5KOG-B(+(Twk({GeW+h!!%%iuGR?b3H!)X@|$`7slJj8Y1ID25^IZ zUQO=vIg@5lf*t!Mt+GiAoTjxTw~o)B{#65hmBI~m6(SiAWB?%w7(?NLP3*(|n|L^C zzEs=RBOYyqF&DjNS%SddrkmHhy9bjdawJJ@+~&&pYN3*&?>Wa*PX0c0OX3`hOD4Wl zGFnu~p?txC73B9P(_z7stKn9Mjz!hUF>)=?^PV;iGW z3CUOMYFEC639a%iPF<31Exp=*!rSa!+WpjSzA7z$$6^9Y`~2k7(b@jAS8-`9;+gaJ zFWvEbk*+ldQF+{N{_=0W`{xKecDfDK{^)4sL(Rd6-!hKwb9F869a8;8X6TGG0kfU# zTed{%-|{%fv6-gRY@7M?{ONwmonZZgSS45$gX!dWQ%&{r`CojSd5w?tkL<%+F;4zI zza2gqRE;g0^2bz-edbF&<;YDr36FD@Dz@5^xJcr_<6eLAw#4 zlNM2rF1Ob=MWzL&lC^SA5jm=)ck=^890MicIQ6drKDPL22AI*>Eg+d|OSxI;uGcGtk6ZVKz22j?H@HN7$ zdHZKSCQQA~tGJ8xz2>9k^TtN6LWdjMhljQ-kZ5$YJ z9)FsgW;UVv!13xPA69J-7Fo;rL$G+U8bbb#7h!h#3mw;ddyt>)1neqn(SUhFVKsYa{iG++WGo4BS$h*!M#TTrEPtRAIYyoVAGS}amnz)bO zCwQLE+mPn<#qv1w=L)AJ=m+bSYxH!%Ph@|ur(SV3#eZ7<{hYVfC+d534}8|x`1eWk z*6))%ivD)xRl+A)L#r!Gzh}ltM1-7KH`VO@pL6XZX=Xk%^Lk|)H*Zi~lpPil*OQUTa#qn2*FRYKZrXpjN&qf`55;YjSiuAe!yWawMhd3p+GBoyvObGUe zM;}eX&Y%k?{ErM~0S_gSJyy&h6%X{xJO5NBJC1YF%=q(j>S>1V&EXXBvg`G<3OE5= z-nrUqbtZ1K)vpEe2OPFGI!tj20{~fy#^@tmR71HOaVkoitM&_P4JK;=4mUF>&rRMXO zZwVXlSITf1F4V9^J|Cx@!X%d81js#08Ar=e@QLUx)$4M#Z8_a5F>nb4OByy?R0&;> z?;oA3m=#=}#tLMFDoj0_FxILK#Ik|9E`plJ4k3|qv}iwSv-ihV18c@5YB5685w}>gA7H->F0@GdjV!Oqxp2?%R}Q3sjYS4$Awnb{;6%QyjhV3sKml z%2(_QrB*U(VJm~BaVDfJg&HjV*evnI9vBi9-4=q0Uzcv}pQw!YQvMN65+G@$1(o#R z8oo0izIq0Bk_p(!LW?STVb#K7TZX}UES-7JPSM<)_74;5z}MHa$;|{5Wt%O%f`lU3 zfSvRNqUBPWCZke%Vwn~%U7`6i(dKM7ua;1awsUO<3y|&cQ^z!Y$`U3M{h2W@f4FfV zB`T9p)`L%zy#4fZ^kh2XaAQNh80^=XNS7pY+)BntGYe_KG&{h#GoLFo6p^Kg1-25V z71&CcN+rTtjA0Gx*e~MLs+6%Zmdx$NvoBy;RS?&W z_z`#lg}7%SA5iy^PLBfC&s8X6FHig6De|}!K1$GjpFDkjB_K=4U$n{~=`4QKgoP;< z$@Puw`c)gyk)n#h91*42QiRI$b8*f~BKgz5-v0;!CCYdSgT$UEdG$e;EUX$TMiN0H z@RK$kT|OB=@yc_v3}vGG9cWfT)JqUlnI{hY zei3qcOcn(M@HBOUO<`_!cIfFF`SPtO2D<-a>8#_T%>FOF0#ec;p>(Ho4BcJQB_Ivb zDIqCCcXxM)fOJWBH;9DN-6HV2_KEw&6iT*0_gZjZi9)<-m5!yAj&h5^1y~v7`9ao0!g%Y~d9BA zl4pNTS5rz{Kd!L0VsG>J9T0N8d@#qjWJl7sKxd%<8zOoxgaWu+qJ5EaL*&G3Z~F_? zh(>mkYlI9R@!zbcrwhc>m8cn$#g-@|-?f)T+fQU?o4!&ApE#B`85eo_i0sJa2Zo7KMHwA44EjLP+Iu`zq@fPmlJHW72Cp zzsZ8#Wh4Msh_mU8By!#Y*H>!Ji!z*p5o}YXSa-54WDNv#Jo@`n1$LOSP&2l>x0UQ= zFB)M&xN)BO31^$BQ{$Xx9^g|n;V(9tYc!(>hV6qz%RL89n$IDBdhuw?PEd`8t%Hh{ zQIcA|nd&9sEK4^-o3d34^i)dY7$}yIEV2|)`h;(*Pk(eC(M%1I&}jfL^1UPuXGcxG z)$bh<(uufanmjeQ&m`}m&Tw474V~!n0_SCwtw3;I_IcZp_jhcM%8a=5Q@d4Y?jYBs zR!P7hQeeJ3d^b69D+fCD0xn0Pk3@kN>z0uOd>rQA|H>t&T8l{AbCC(HI$P2sIZDz*ISjR688LSB=p|8a^H^iw(o$_>$Opftrf99X zX?$1QMM}3I{^!q1{t1|DZ1cDz1(4^}z+v{ToF1IWc1P%^a?wPbDgSWDQ{Mw(MJ<03 zy73Z{g_gp1YeNSl9yZHpIo^nQ)j|cj^nDpWUv0UGg zwtbjM;n>ZsYE%t7N|IWl>63V@cUl?qgZ-eg`;qkB+jLL28xIr0e;-sHkEc>%zQvFU zeGGm`Tr2SqF)UQpKaTygEMs##2$doyR0Go1TnR-!fQFX)N=&Y)wlS&YM91NB>$}=y zDHatDn`GeZV@A~TWAbLzkXM4cGJ}Oo?C;bVu0j6J(1!I)a?1EGPI7q8jofZy=sI}Ud1T{IsBiTdwz8~?n! zQyern&#+;C#~v?Y2$<-9C+{HxPcKAxv}@tShv1svOAvaE@JYSZRnuDL=p-+bHBbKI z%9Aa2*p%wwBFd$%ug59_B0yB# z9hwDmf9W+~?(b)<-zh+=ip&AiFV|nKj^)&q7hnv}?y>Sr-LUHX$QP-d2e~Flw{8!; z5}mOP)(Ws=%)=ML_%Or9y`*fK0S=vx=qtfHkEx618RZ;SR#DkNqHU(6Z5P&gUR|`v zq~X9Vd6ULCWkL@u{5(y%bf6fq#;rod@bnhAaKvrFsHy07r~P4|w;U4~UUzB+m_4eu z?Rz+SG1pq*%1CXa230_|!ct1{CLTGT#wuU5mIQ#2S}8?3Y{q|qeTBc@`9pIzmcM0` zVhr836+m#Qhhusr@|SqS&9Ux~Ux}~oyeyuhYBJCfN}~QUkaZGL%6?Z)CvJON_DfL7^^}5nVLSlBv?HS33T^u z7yQ~Q)=ZZ3>s&JSdOj68MWmkLKabc~iM{NJY>h-LBpO_sw5;&HL8~PX4s6Jg)iw`Vn z7~;C;A0*~AMsb?&{={t#&_bQt0~FBb@=IK_{4k~+dE&$=0WIY#NmumFIr}ZP2e2vJ zN|woBzLU&egU<0p=H)=HHLJnvVVYD?uzI-2VRItc#1)A02DfO>`yQc<<~IgpX8YBA z)~o7OnrtoL-?$Y$0Cpj*;C8lj2ET1I(ux7(Ch^rrZf31!Iy_>Ol;)DAYp_DW)%H03^_V5&@yT_aMS(nf5k(*QmC(Z!OvX?6FKU z#_E0h&$9nPp6b(GaMQP>b$%@4qTg&|oFl$omxC4E zp?cAF65t3^#R18utC;1&pJy|2=ihG&EW`B_3GM_NR^J}RAbAbq9c>@3Bs%Na?N0(3 zhDXy1$S}N+l6Kjf~A6u?!fowvKzR~y+@ zpAt}-Ogqv1sk}>dx>6=v+5MC@uI^80yB^yS*}=+2@hTK$!k5ApOWmC_$0L7Uz8Dh# z7gEKq6nq+(jOIi1NZwPDAvZAg0{?<=6bsnRKZtYy>-6eVg|6BEoVCj5_w9SA*PI6t zCSP(?4g=5iA$$i`?yn<16s-Gczf1|S?e>l`lCLr9Z5GOiA{M;qD?3wYNOekdn-7HV zF@Jq%rjo&VX;INws~*dcpy-_i`@LoI9Noq&>UA#_&B=%N@6rd6%!vQwT9ZrnDslit zwBN|bbs_MC2T4N0Rk2*T3gvxS7x3-62VHNWetpIJSX=A1ZQ!#+DGcETR$2vdjYdQq zCkbMRX2sLlNn1MrA^v*+PexqEs>V^r*gLuun4lc5z@}q6X9g+c$esI=?JhaG4Jd*C z9yBn6XTOkYRY*ARIRbD-k0f3p8l|2wRv~uRd{zJFL#+X~r*&swiaX+)UYDC$rN`DU ze=E8b0L0={1AhV@2G0%f*!T99Wn4qrG>Gf?gM?3~(!PZdw5t(em3hg%Dy}+kkP-#v zU|XyYOdAM7yw9o$xPj+tGWA=t7TSUfKX_X5eRYJ|c0~oNiG;L52rxcUQXqvNCnbiTE zBcT54gHkPKdY*~eqGc>AgM!MA+dOi(L~0WT1?~1W8R$*MPc7yMQbICpMR|8kJO<85 z(tYlTD|uCrl5MK`P3EmI^Rt3-4&4S4LeR`a>uqU~?k6BU;5pPwG6@tD zJyRz_t^>gPoFiC%8dEQxU1(XP0)3uYaJ02v$nLrVE$n3sp`{7xA;pqDYn1+ZX7uf2 zPzVpWJCD+tZ9R`emj2${Q8@2hkuGc4(wKgK+wkt#o_PmI%49MkyQ08nM=YUqLk=Pz z{dXR_tezn!dqeAkWp$Cf!qm{#M0aU_HU$l`!+77xYtW4R?KW1R_i)^H2tPn*!Gu}J zsu%Xq7l@&stu7SAkYByG20rh1v){S9BI?NT5>kLM^sokhk=OwD3hIoQCAe3(%D=+y zl|*U38uf(g8-pz`V&Omls%|vCl?;{!44||GnFYOp&n1_a$3VCWC;GIUuQ;WR;i&RzPljuv{1(TO!>J@^XTY01=ST}AcMc)WTqz|v_h~~gG zC9;03^cY6JU?t%)`)BQa`5)k(Y{Sk$@|y5E-bJEVJuLAx<7Ph&yY?@EUl@=!aF?j# zzY7%WLIHP4trsHgIatKD5h>KiyQml7Ij+1N*CVILq1ZVIw}c z%pcpd*#>LIBq`Y10U0m?zskiFm!hx~@K1J`8qHO|pWIfJr3~NHV{0HK4%#R4SOkIlRjTTL{ zUXz5ymtMHK=skb~(%=p$dr5T>0%&O7OitIglB-ssgDtwkh z}_}v5c?Qiy4W=BdUZUir8KZT{OT(Tb-AIiw!N*Py;gr{ zQ)`{q+kfBQw2ax z>TacgJ7JED5Mw^wzFo||TJp^gjv?1cx#HE;BmRW|Oftd{G0`h^B0}tn#!eH-(WO)~ zveZeAA%JI|xyy2p#I~#;u2QsZgX{uajYjFCIO3a|p{Q-I*;ufJ;(DNe4c@6X0Bmv` zcu|4@=x7AZ>G(egTKOfQCpnz1+j{ARM5JVHkzv5~vJ52zJU$9@(wUD&KaPjB;g*uk z+7*WK->Q%kIe_t=t7Nv8ZdBc)T9h8 z6r^F6ENB3qSrAaAYYqz@{948SqtcCkKnkKIa2cwJ$ANX}bj{O*4D)+I654Y2^g9p~yT3$p!d_b+81iyMH4r7s z-%DaKY$*Z+lrjtKXg1j;9tuKUlz=_L3?aA{Fm_SL&k!wyn{*AJ9(KBHyOewl^w<M{M85>7vck0=FxsBSajVrXTfU7oUB$NMik+$ z)Ik8q=vSYZ?2aT_BOxGyAjAhgw7SLnv8iprLmg%+W7}uGjJ!j?{)U)Kd3r94sY#?y zA1E1f%Yw^o&c+t&MYaXt5?-sLfWhF73fRo}CerEAkmeWOy27@u#GN-D36#ak!$d?%*1Ql`t2~=^q{|vvVl~W z($ePT90J*`LYjN-y_q8=+aYc!7=*oKLE$~5s!&-5EQGswObcoW4n>%q}qoX8GfN(1eg zvA}my&YNj0zJ8f9%x=m3B>6uE(aG!dc8%2I@nN^|i6nzbr&Re#n2c&_gw81G>3rzm z?~_P(&Dg_$N5&ByVQ9&dGt}!5;&!?A(7!EvhzEL4pKc!-_?VlEh(pRw+H#{ak_v!4Gv`d|3#6B-)*=bgux z07Q9n-U>O#M+?_`=)lDFttHcwPb#_4(=QR9hpU4c5wEMi1Y|B-nbSEJ@#2a|F~NkskLG2cOFCb`;grpCAMrKWBan;c$J+_H`tE`_jk#e1@AXz*0|B6O(F%6s#? z=S=r_=N{cC6m9I@*Y{~F8>LV%Kzme7S4(u+pSi0g>0nH` z!yU+(76S3&5{>Hfj=k}iA3@;`m8RjI61IW`B;t|XeAhn`+>L@wK-HGXiUX?lDbah! zU@>Z$@hdL+0uM2yIZp0IWEs)u%mZ+j{O-;gZya>$Z04N-2>_{>e~2WqX=Na@Q>_^# zsd9h{F%k%VhF@6m(Zfy_PO3{$bI#hC;U1T946Z}`uLS@(i}7ZCM*gj3_8<~<8HWm6 zDD}`N>>#t`UT$e)Poz&x78?8K$~8;aH7qt$`W40WiF5?@3D1XTa>`gLDTH?mWcl?! z>7u~>Zq)1P(6AVgX zf;e7krazGUyHFlEnQD<2#gEp@nnSk^sU%rPE79KQzI=JxXPV07%9=?PW}%DmN7eW_ zTpeJ3LXejr-)ttM=k6$bIg_@@Ldo6pR?*j0*pWhc!?b&&i$T+5uys z7}pVk{=+Ticsmk~E3U|x<`CbBU!e0l<2{+hMZ<-IzDzB2EQ?=gfxWCp#}@9RvZ~@3 z-^&WY=Vs#W8ymWr3DV#|m{G@fz#U5`AgByiWX@K3YK5h~b7g;-DIT6#z;|WaZ!1LW zM1kOC+fjUOZg)9L0itaIzl_UZ2+ih2{%LEa|W0tB{A@zUzw4*;8X3G^l zKtZ}%TcZc^J*z0?WlI7K4Ad6&6%v;DKm!xhAzD7WLC>;%Qs+zr3dp%!^wPc$EQFFn0#iYYR*9_QgXZIlS4>b9Uj4jQ_XHl;UV z%kDRKTQGjGc6VT>n>?uxPz$PR@cdyfoSRqixrKzn?i&ffc4peTBh_lEOh|&km}E?7 z3|kvOZ$KnX;sbc1DU)(jwLP@HZi!vBeoe5_S#GkNDVS+eipG4VcW9w5i_oR7jE~r~6GV3736>igH^Y>%Y_LkKltCBjIR;-AS}79D}Ap zU>|W}fGJ-Y;`fMKAny{Q{DF0BX^?EJkTMu1SINqCksHUs&?Js}Nmzi4e6K_4ss7-i z&Phn|!#BewDP$+TpC1BU2Fy^#qlciYD3<(TBh~@&LGL}~uPdEk5YVITv`jJ$6vN5|k!6js+DpKd zq0XID7I?MI9-LJ#WUv-kLVnugymj^3GG`Y026d;iuPcai^J#miWLE}PYYKS)s9}?^ z@HBq)lb3^8mO?|F*}A}=iBu=O(aeWjunntvml-o@XE{-l-MXn0flu4nyx&??I>zZ= zvN!Ont`jX;Y=u_@>Gu9j-is|W%mxo;)<|4^(RjEmE~m`@zffcdV!sPP?}T4Y(u+T7 zF-5L@d=^PIcnt(Ia&zJ-sZ3CmPrc*Z9Kmvd(LCUJl-=Luk<2JX>mC1+O{+qA=TA82 z&{3qO!k=Tnqg5Ps`2Qpk4KB}xkp%*ijwGWFo-vM)BK>LgG-z*wmFqEtgP z>+Q9~YExWEMvp;}CA!adyx8#7%62760$HChJ!>A&gny(e0%C`iRe z5kDM{usC_`BvVMpb{D2Uh8XNMXn={%b@LWWvJuLa@8q4MI5O$k9>33)Bbm~}MON>M zXC3^ci%F~^!cDu^_C8)YL=Hv_32#qnmOgoD=b6%4W3f1JN{Xa$xPF1IidN)Rj#I;2 z4D)znEQZ9iLcs7yIQ-AW2oj2gt?Q19#+V>XN#E-0$l>jwST0_Lg2$*Tr)m|J&FK?_ zNDFS4=^=kPU^LHK3bdeJ8J#e?juNmG@$G(k$TaSm{ow?XT?~l{ud>|O7Z@umkNxm%g6YsHc^U`uGQ~Alkg0 zQ+;N*Cb9BG&A-K@OEgBPl;Bh}A$@nrD^4)-r>=KG29uy;^D)170(1yJLxhai+q!*d zAOeMq_8G&SXW6}HWBo_o`s{)XeS!Ac{-v%*3C1V7x-Zy)$MMk9H=Qz!p%mqQ^8n!V zDlmk91v5j?d4LcclObSiY`mEB9lQ<$$H&bjBO0reH^~AAU$9~4l0{_1XBgm4XoY-` z6wY0ngc7|>z_ik~dt(KRtt+krC)2m*9?XpBR?N97&*}ecoGhf-5)pW4C5;oS0x_@G z+MiNTWwUU7pyd9q2gMf~(YS3AUo%vCXN=AIJMCPv9yn#ay_&q>?3N96ACOxqsSXD>CK3q zb)D$U;>G}u!HaUb9*Tc1%zt~R+66H-Rg$5|Le{9190tOlws+7z`l5a}|Fc_32U7o7 z)$(NBg!IEf!;+R!4)h}7(>bP4tJdCV|T zV|=?uD(z+Evwwg&A|H6HGKn3*5n0VG`qd^E8rF_)Ax_I+VjlbqfWZbjAdW!oQpN{g zc?CfBXt23E-@b+AT?Lr2=+?0a?%8;I-MnVFp(jJiGSHzUM=1_n(M&kU`t8$)6(ekZ zC~t2T_fG(EgwFgY^N*R2hB5Q%U2#jSVh+s{Seuy~uF)_qzpt!7W*dG}V~UDUa?|Y6 zO0}O-Sppt*t%FU21*!(0?VhfytRJpL&yI$sqWh8%&A=-f%1N~D3R5qzj1v8~_96UF zA1XYQ#@fNd+&1g1$-$lUf9*UaRV?os|L5OjaAjeaL7^s;%wV%UN9xhz*2E5J$mEc_ z4j3Fl0OEOW3z!~I3VVJVfBoaGxZe>0vaZ~4*3HDUDuU3qV_m9Pa8wXS4*<%VI5!+a zD>fda51!vg0xT1La~AJXIWND{t;2cDqZCd<#+r{oa^AsT3{N;s6r3Y(5zFbmm&jv^ zFpWRc65GTv(eL)f-l?%(w-xhpl8x2-L7lzdQEJz55`G*bi_xCwAjqXKEEWSoSo5kBWOUxUSa9aZk1>?vK(WA*3h zTVrl>gP2R^Z?@pWELlv%v`Qa$Y)jvGgv2N@ByU376`B&8G!ZN>Z`kqn8D4#dui0Y z5{r@0K~CY^_`P{8VnJ85^%Ip50V7unokl)*eHZOUDkv0uS{mq*Fdej^QgSJZe2#%} zFwK2_BCaIMB_!Kw;iF&n@f(P;hF%HL7C`1_lnEvCfBlto5*n*d*hiTHp&^_{pcL_3 zirxEQ9bwUZr=HFvJknV$&Y~@`oS&i=nN=1T*qo)$9|@=2w9BFMhAmLfa9eVvvEAOC zqgIxn~SOc@SUCzj0#@NPcr8jPGuR{9wrCPT&41qUid!q@YK@Dj>YY z%WEa#JucH3P6sHqfFJgG=~SC6ffML zbHv(!af}ytEPX4s zbi2Av4DWvX1eVZ_uq#S{8+yO-U|x{qHhj9K7$u=(x_K;pbqUFp^KZ(f0e$lRx z7h`|2PFj}Et+w{DsJ&LdJU3(Tmo%S^c#6izGW>T5P?`WP0aZh%22z^Sj~6&VKUVPq ziqi@!(ChrmVZVP<1NQqj&0?)or7@}Vz25)D0WB1JO8=kUY|o!%g$N%`Pq9@@{TP|i z4d>S9(JTd&6@F^Ivv#j*^ms%F{y(9$5*a46>VO;`vv$x@KGRx?Bl5$}4?I|=p?hjo z!!Eoa0)sFPGgynx{o1HQ=5U3cP+W-jE(e#Y9i|$&w z6>IeFqP8CI7ietKwv6Ast$bfB$`1~6k~gf@$kXPZ$+OS{!5tsVjR4js>Asshv0as$ zT7}y&?G7YdP3c%xNFdDX!WRn^<9ca<01|RhwUOj~!pvJ;$nmT1QcE$gskeo79m@2k zFg_LzlICmvEX;h>3T)F;c$a(r$^Vmd}^c(GGz3olo3ZSL+b8BZGs-TYq@vBH}vpeqxn|0)CEkGr|2 zb^MCtOTW;3ERw~C5MRMpcaBJdL&hxcNXcD@Cg}Eu{*vE&vTp>n%DlIyIJkw&oQ{y1Sgr@ifXjL-OAk15ZYPtjhdt=eKnV^}oi>;RwT1KW>UxZ+!m&`oM~IovC=j(|@5 ze6-G_l&D1{$+B+*lKf`zq+>&=+1>d2=DYMa*-Pvn@?Q17kicfERMdg$6boz=ukXXg@Q&Pm-)9$WkPY?jn|IZDCi&%pY*j3o0KX>YuBZ#l{qbx z0ZE)t^-)WJbHjdsdsSbjJZuTbYD)fZTJ$+n!I%OEufNI&VEM%yjnk98Ke*~&!E?2W zS!A?;43|GoMdXZwM?QbmeuNp?Gh=F7&jc%U>we2hKN%U~xl zkst2X`4ORH@~@>GW-aQr8vmr0&id5dOpn(4=<|aytW>$bm#buO3ZvlTJi}T%)P2w6 zM(4|AZ8h_LB6-kyjLnn=1I2H0>u4EClF3;Xe4=`Kl--d@e1&0N9ME22^5s)~eioj4 zf2&_B3opsqi4Hc}_&L00Im=oLVau%*)#b*4of3`E^=@%Pk1|yZ*zFC7##D|Cntyjr zV1^6S+#vQfXr1SJPES(bjgBQRi!q;RTIYtG_K}&zCC@kiawfbx{YZsJEU5)ZA4#FH z-2ah2TE0UA3hksP$vh`vc+^2*m06D-Yb53om{KwcobxXY2>YkA`ia02@03o&1Uqpf zj?G8_xKBBXv%CT4Mjgmjd{pp%3nE5|&d<4ehcc&>K>~1qlkW(%jcS};0A~SrQ-dgv z7pM*%mlC~UT8lC^cY{bdHei*}KmK#U#{YJrBOqF9pm!`pX@0TNk&|4<*)JNSjl`YU z37mw2M}GP`@5pFI@t5}v9&`n4e62TkH<~OtZu7F6o+MRdQECXUf%pQ4hW`|?q&zrH zm_zVQ(leBbZ7k~1OSQuw%wk|7^HoBVPT91lAD?+(HO{CC7q`sjdH-SgB6Em8Sm=yr z-z-GCKE(6#Yd_tQ)>0xX;^+XZIV=a(93}{W!k#ULpM$hE{G&;`T|wZy`ne=anK2Gi z(l|*2Y%GEnZ^6bwLdsc&cmEUKu`F-Jr7pH6eGa8(i@hvZlBMl*wzdf)W(f`lpRb5R zFq-r0Yj@%j@Y?b#yH7#%x}={0ghPvpyS`+M@-|8c5?z^j?Vx`s>;1N3f|>_YRyj16 zXb2G$lr#|YEA><)b%#s1HhPA^TF#N=U<@E=LmP4NB78%Kg39%%15tiZ5cSzr-W(g% z^)Y{w?D0nlx(D$lxSqxbEMvhN%}NTG%=x~gi`LSiMc_9HkP+(LH~wd< zeL+D~3oUAsFW~U<7SK>pl>P3|uxz*hzpUv?-ivX;xN+{#ky~Y1TRI0qLU8jM?k?ec zG6ePDGn)hieYnfOl6f|@M+YBwF4&iQ`BSuqwrz)u$dI%+Uq}(8wdRf)*y#~lar@2% z6i-8r&cC2?9p$&l8>k>?apz#eF~KW+jcGij0({8F7fu)f#TUOvQJTG9;zM8o;&?5F z9D+Bhy}LFuJ<9Mf181i45Rix=zpBO5dKV+w>F>f@-mYDzv1JG z^o-zmxUmP!1-%rBJ$Mv+NXj`lkKS{^;pxpM~@=wZ3^rs$7Qigg^Dv z$nSorV#mn${4B-u@or(F^KL((gzQ9k;^{=iFIgvTqEX~(hjX{w6wgYnDUBunDGFVM z>_N~son5jdgX5A5)K6yCF^nzQ7?dOf@Rm<=OOb_WJ78GWj(MDAy>Q-+H~X!NjBsT? z2)vvDWd?VJHM8}DlF7Gq15&;1?olm)YqxL2ixQ8^QTF74z@1u)AtG&9vONS^;2k!b zBwO~q2%Iq2SLBG_J-acc@mAPh+bOv@42E5tu@PxlLzG#+^Gm$Zars@?KF$i5z@;L9 zPlyC}Lv$|8%gW@mhg!~{vca?j6rej%g6w~PzZ#Y6lWDC;H=Po={j<5Yk$J80mias0 zHU8rzL$%G{!;EtgVehP`6U$q*WxtlSLt$_IN11fWM^?8xq&IOUC2colZ8weQY~m`K zx0fi76(<;-@X!7viqN)S_dzQz;1S0{i{?(8g$_O(_q0n(g5z)wQV;c3^V7vo35K;C zqzkV{=fC!^J3QU_O6ENNa+02oOh|-F5WN-D55a>P%LbHkhvX*{r~em23f|srrA$t) zPT$=xwh&}^=B#2sNJ!1aiOH%1Q!=U#4AmS;`1fp3bYP6De)md!{jv|*%{6Y`<+=1) z>t^(<*7+~SEy)vyC1#mQtk&)G!JdWsD}7FSj0?R(?rBD#qWm}=^~{!3Ng#GrAyeB6 z|KUqQIYA~Pf$Un&exxA-$D_1Tm?uQTWof0%CfYQredN{w3RIgIjh+WtEsr|a}Wgl!#4b*YRKBc{r>9<#r6%JmJuKo0n#j86vNHgrnFrd6yuhv(|}^!vILa! zrfgc5S1@n14Mj>gS2-(p-?c+3D<-3kq7?En0#fx{d!@k_%$jFYuO70$#M>E{M-Szz4s}P0E&&oU*%j|n^eJ~=@-|ds zEFV{@KD=u{=63yWNf}F9$p`(|N61)BIetIAiR0E(Z_A}6<>sEf z%lAOn3$hB`&Wm{l8)M8N0gti2~b?{-Mu39jv3T5VOa<> zU7OI1`e+^YY`ZaC?aFy}en!0Wu^TW`t1^YlQ^wNMEd7NhsP&1i9`zN?VDZAMDq=m3 zBcYFCJWp$I`a)In?|pu0R6+Ju`$GtGw~I_=D!_sG64p)wkx$?<-42Sj2aT@K08Bq# zLPXoDbXWU-%^>aU9CzRt*rRAP1WUdm9_+gIm`D07+LI1$3&}faOA%B7S~*^B(0(Ip z6~BhgTH*SPqB-Ex8*8`E4riWELlj5JEqYfMB5n=)9Y090N@AK!J;PaDawz@)PrR-@ z{Z(mHF%n4|tOOYKUAJ+S>YpiJ!$%5-t6=df+r83kz&`0R&uy{%Pm=sllkDY+)H^6_ zUyTfq6ZS9Mpbq%7yj)dYSa?-N$m)Y8sER8Nse-u|#QI5VsXte=cM1FSJ|Sh+9bdWh zZy6#*0VFTk9}sfv8g%9V2)Q7jb(zB=Y)NKb@VMesreugw;44$CbTElqJHb?=POn^@ z0W`iRw)`>dNib;O66KT&uhbp)6s-qI!x&U2;;#U;aE%1Q%H|Hx4zl=|kn?QO#Z#i}H65hcW>xMX&?JRhYz|3JxWi{k@C@wQ7po zv}N;*I&fdh7(m-ls^eElZ!}Qz3ffU=f$v|)m;h@>D#uj5U<-f4h%2ktVpM>5AL&qJS(2jZm}adm zK?i>{w2s;g6J}HD##|rmnErVG_<(*7iWNY9J+v6L;qoEI`t-g;WV8CW6W5$)QBSz` zGSNHmQL5Rr!OHl~h5tjz&*Zq&O8h-YBmBbOs)g2xO=NP2<~+a(MuLatGbAWD38CLB zz)(@LZ{TCJ-0eBc{nL(OCH{`gOL9~Fhv<=x!IBXuwc+O3^Gb9_hP>ty2jm8t8+smi zANjb&|4pWSFFqc~s)vlD>okxAvVWygrcK0v+jca9v5;K(QC*KEgON8<`H#Q9+0mR^b=dbU+tu?0*v zH{++P<7}I%S-x%lJ&R*5pN}9YJ6;Stf%$+KND6F{BSl zM+xxR_o#DCg@+cO2n}p$FyxI2_m%%s!rV+dzE=oF53?j;S-!CSp0j~fm+gF}61*(>sN zZ1i}f-Pz^$uq{9>%5U=@>`}}gIt|(Bz~lZ8aKBq^raj%cpj;u+a7wQDCmqtxm{LQ0 zNi-$U9F_2;0>%6<-V()@q^F{oB&ZcGLIa+Ig7uGQi?6r$JbGHtFPfHwzTKD5s@V*5 z9OocjW7YUG;7>N9c}<4)X=kAZK|YbrnlA(UE+c_4dv!4AUJS#(!P|izY`jY`{{H?e!E_Q z5XI%XumE-drPrVVrKw}8X&S(D!6*lvNH`dsbBu`&C7{q`<`;k;N4i?qet$?#gwXP` z=70i~=dynu2RO)CdH2w!LJIn+!60a5qXRAmDt+XZqH-r0#0Q&;nmF2y9**)eKnm zU&mH=(IrW6(|pC4$syqu2G6>rmc%{a_YI=J+la97L*_*u-C7DcO6SQ_4 z9Vj;6DEEO?h;rnB2R+&s#v??09HcN9uLMuwcQ7=vxa^u|>4sT@$A138VNeiK4|RO* zUZ%tdd0E}hN}_#;V>AI(%D`v^jjSIkY?hL2s5HhQ`ezGagl<6pWw*clv300ly>n1GD^yubLbf#w4^ z!dv~?mIIXA=eM#wg-Nww3F9x42O)ouTx)?U@3dOXh%AxJQS5ZKQDl4Meu)Rq6(!~&-pF~2g>H*`K&PUrSzGB?O~)}}8Lfn#=s&|G^P zdq2UPpn(xvQk5$5Q2SpO3F@X8eEjqQuM;WSAJEv%$4w5(JwIeWZcH59!M9AV8oGT5 z{RD!6W?o=jqYnkSkKcPi7z}{H(ojl60JCvfL5DI+UB@P4H67UY@2XoCp<#JILzz1% zXA<_}5F+I*!GCT-37+$6rsvnOU;Np`zJ)RW?a8TGLV@D-28D2f$$}!|Fc>7-J{%Vf z`4Qw-Mr64{yBf5f-5(5kgiAR)ivlGGEkHqnOX4RIEQJ+Yg9^|$LO6Az+pyUS@IUic zue@=!{qxYiCBiwnZz_c&tknH8`zMlYnv+HCP?U2L7AA=f=jx)bS)8P#wztzgs74S% z4D5*qWU*=*1%0UF1A93iSB*>M~ z-<=zsUHWzHjA`53YoC2`IG@qpU{9ItKga(j> z$FQdR!L@g_NemR`-_0YK>VH-OOoomG<4Bh|BLsnj^xy0dtRg|b(Jb<94kYg_vQ^6) zh-2)ss969Phgc+ljxC#}>NSZ1KBKtuVDK4<4hI8ZCgCAqKTNdTQWaLawhxaxNs$+f zCa+b{(HG_Na};HAH;W;$e}9&(5Q-nttIZ?A|FfA)u>nsWti|KrZ$4J!a3(jnxciJx z4jrp@RAznLCj?J7L=z1l+YllNAYf&EbVh{@CvG7f`1@!pBboLW-ZM#~>w=4Oc|Y}d z!F=*7Vs)7R{OoJ2G`Ubc!t}8j1yr1TitRb4N|Y%0U?v1lS{2bdf4SUru;T`>a+vS3 z1^z2OMgUjh(}aUnoTrI`E8)}O%GP4GdJl&syeA96K6LFk_&RAV(h*Q=Y7~d`TFeMD zhC(wyMo+ov*M~a^ol~_fP|r0+zt9!vdE7q*MiYDk5b)Kot?G4QdxHUzV#Ny=3lSeS zDvC0tb7LT%HTIXcjR9rv@}-L$i$3Y>HGT|_wBq@@^EhJubFuBwe-5j&Js1y;xMe!V z)>dkDsP~GF$M)04BDs?ld81|k>n{LBaccyOysz&1NI5-~>MmIz6top*iFa)#7j zX~|S;@4WF-{-S?`ua9(v=1vtL5*IBvI13TK2QAgjHXjqdX53j@Rn75L@>c@4L4pB@ z1v$?Vrn&hp@cgiXMtEWFni!xy0$dGMUyXUOvzY@9oc9I)+QL04-sM+6z`>h}M#$=b&MS8nj zH{w!7neM9<5`YSF*31L`v9oz8@Q-6UO1z4t=Lg!+@Q1Ga4WO!1L(O&hrnTUUm!HX@ z%Bn3nh85K+HozDV2;FcNPdoh*1#(I5zS^x!)Qa%bMhN`VN> z(p!l9nIVHVi;{8M1N~8UimeHF?bh7(r7v+6#f}(KYd4bAzi2c3untw`=)>V((gdS& zaV|swc(^J_G$4ug6O3?{Ix4M-y?ZfcWID9(lj%YC*yqgxZ`9vy{24-%(Q@XFRVdVq zg(8fWhQr({xM>=s+?C*BgLB|w+1ob90swobEK#7ilKFa5ELxs}8*I?J1O(42+%u^U zF%U%%0yP}bG@-;Jjka(|48HVb4fPjToFe2ZmvqYC_?u6Uy(Akm5Pa}$9bU()&uuI1|F*1KhE_Z0P|z0o zaIO?Yp|YIbUi@nmZ1zgAdIu^`%peM{ALli+*TYjm?1Kkx+%tsKKCVy(8}h~DfF zH*j|tCP9Fd(t3$`mwu3@r==JX_}|F?QFWGKRc+ndKY~g~seq(_(nxoUG|~;yU4pbC zA(B$k9nu{VN(oB0bV*2ecmK!s`S4!vhf|#Eu+G|R?K#IB@OO#>oHP>>1jgQq1y2tp2Y%ULlJm-g$hs+KN*<=C0s6v_<9Si1?|FFmX3}eKzgi*Y z6lg>N-&4J=HtZTbuC{1OQ@xHl+x6$qR`i8$mJ1b9J?k$7ZW@KJwAMA#?7V6(Z6BWa zrWTk=6zC75{kd?sB{16eE)5z?yl&v6wpoMZ1HWQq1YRJH$b(QbqvXo%>{0dT!zQc^ z%WqD3sW{(K387OlPS1145WCd%PfAK=E@_loQE%e&Nu=25z7(@d*ZHY6>8DYH8{hjc z48mUsD6De@nD5WNex_S#jJK{#HGP$=UHJ7y%KKpWgdB4n{qf{llo0uBe}HtHs{5gO z<}rWN#kI#e!Q=0q;y5WzXId&1r(*K0gO8O-&E)wk162T{J~ll=4i2s-@@G3u;hLh! zVCWV#LP-JPofw~Q!TRrTZc4M3wXCP|*{pvkz6SB6_tUnq&BH0?%R^O#Kvl&5iWtzK zMCU2y56kS;GyMaHJR5n5Tj=gtDrfp7&}wLh#AR}{tW~~9eq6-IANX)HIW5bRy-#B>IU#P)|FoKU)32{Or4N+CdW4~0d zORp$F8P4~SgSfPZqYGvyWr<~p{Gt5EV=)U~1=||Y_oFKo9K^26?Fcw{jy zCU7G8>w4N|8m-VJ=2fv;*`NvQCyACC7hl@ z?%r#2g?~mIN9UkJaki_wq>r6Sv<+H{`PBO`Lw@epNJ>JSpT~s@&$HHMbDtD#&Vg?3YU%m zpEd2j_^DqX_XI4*vVQ&cg4H#Ha{6i*zLqX2cr##YFgZ)1YT%3Zx2P)2lwE{Dt`arD zZHkyK&?@_`0?@9qa78J@?XQN4WWr_NmR2i_vfz1RCj?Da(>tzPS*AXJWvP!>^h6OYx>N4 z^63AO0tgUr(3GXT)!IqCVx z_}_0k$kKH@15Xf+WhKF{SJU-ONyhs-NLd`@Yyt~etCcp) z%9Eg`dr=fbOwm$e|1^*1P{f!kFFt~5q8*ZkTpu2lzvD3Pze;`eFilX0%iWNovcOxK z0Oe5@S<3CVgKw%%iss+|Og&6w1-2l?!Z~RW(NVe?XeOXExMN>THMW>zW!O~F2j^D{ z)um|22~b~-hFO~Yr}a-i3)m!3i;{!jn)}&!WLrEuY3M$0$r|6f3gmdiIniT0wY~Hg z@(jw~GM|mU*_+t7^b&54zup_#GCR>Kz`1V6e{iasdQLGBEd6biZpVXu=c-u1cSF@r zA?6AIx!q{W!C02U&SGUQOn%NLHey0ZOKBI z1S>huej1>6)c%YZ1?N_hlbwp7c@VttaVK955VC0dZ{VEtMDh6#QXEWC6=&Hn-G``d zcfYu4h84Qs7zbNoC_G5!^r!#fsdjR0^jA{gWTco?bt05BMA+qTyEcP|t0lUhL*LMh z){__L?5gG|>4@1%m*Ow-NnIm<`jT8;;phLhK2D9A$bTS!l|fi1(Wgl^wr-s17e09A0qGx8niN6T5Ts(9w=Nk{wOK5o@JnOHisRpP z=wA;e;}e|jV)r+}F`8Y~L6FtK)E~m$G%^#?BR$A1&Qpvc7V(1z3Ln1XpTEWGc1-#V z9h3BV8N2Vulkra@Yrztl&<9j1kDyPjv*)<+@MOFrP5we8?HRfL4l4?SM_U0g!wL>H zjXM3aN9WC|yk_^&WEKmTnfU187mMM=K+jW5A{(ZVsG#_xDwsY0AGhS-9u?@#gCAfg z74s7Hf7Q%7UDe4t3Z zG~vI15;ju{uEc)fZHD_@iy?B4NWI{F$q5qvMXpS3ZUgS9g+4_8tY#@|?ywkQNCj{e zb7qqeQ6v{bR!x@MmFwfoe4(57Ma+NZ@f9Fk2qFUuAH=f%tkjxsG7&w1S+=ir*xkR- z|HS-M(CXBd7yKb5<0inmG1jzDoj*3)t)W;0Zun;lG#441;kkobJDX5gMSmfUw&=N$SqoqgQ2eq+$ zc@$`=1cPC(bq62)QOAz^cMoOrqYmzxt*CM|F+Ly31dqYSE4*}=S` z5lp5?1dc$SN|nw2fi8k`FIda%2Y4$NQfUO045=tc0&)XqO*yO-+sYeW{yq31&00=kEj1CR6nj8a56vV@JbbQ~#YdEL^@y@SDR5NDJ`VAY56_nk5=#HLX| zY?|8sTKM*};|3eqRW@`XzZrXd-uSxxVy8zbEC6W9mLd2>o>=Fwp9B6FeSmUEggHq& z@u|n~yo=Jo?$K@cRl19Fvr_80cL2=fM~%`o8f9Daub!2+EJX|#r^|RV(_bQ~$F#W( zcVu+0)7M7*x&$(PJdqa6;O;x3<2YcAKyu-C<@BEX2fdqwT_)wL8BuWJ?^5lA6F>YT zZ3)ehx|nQVA3)Je?js6aeep3!bZMzXS^UyNp|wbw|C01c55w1%?j_IU#>>ae6LY$b zk3yfpJm(`-u0spHEJd)a@+YtzX`U-ea%;-p7nYCo%-04g_tM)!FEiI>6kj}6~UL5s$j-KkFBl&_MQO|;AcW&5Vup-jHf|2h2| zannMMJIb3whwAS>zd~c|D&^KT{ZCl%1j+L3qEh{RscWTMaZIAI(P)2iT;2B;jqbSV zoYYevp3RH@$)z6!ME=sO`X3*z~(7MLgga`+xUwTL%{^czwp;|?3o}#_&2g7N7tW9l96*GR|$uI#06mb(a|bD z4?{=RJl1kwT&<1?&%AWY6wkRCbo|Uq4+R-5tK^vWCt|8qY89M_A2C*g{V$FHg;)^1 z_VoCcTF@bocvYnj2Ou`>DwYtX#N2Az;^)ur%3rbb*bYUWh~khAO6K;qb`5^d>;8_N z1ln|2t{l7$#gbH_B^O>>DkNZD=S87``kZWD=C-mu`ww-e;uxWp6r@j^bd?~;c7EV} zTj3nXbqjeN7Y&53`BA8#J)NXrqB2O_{beowQla`fQ6$Cc0ZpEx6#1Ng+ekzlX|B@7 zgnmG^@%!7Ve$TC#-jm$ZcoH7=2hZEd2#HSc#E;>=RBI^t)CC*;oa=SN%fI~|%QB17 zjCbpzgFx;2kM9;V1?q3RVAzz#V``oP2aW$+ok2&Y73955{JtBm4YiEuOOV!)Djixl zdV3#t^+|1*a|`O@?+>)2_3d6TWQwoV2=B)9XUt0|u6mr*r+3qid}P|G$G4@+CEf0N ze*fYFQ>)F(PVzx2(^o_>1Ekx^-?Guj>KVHrm_cZei{^6s>W{i^D%Y!=x9_QgnXs!- z0%9G5-Ki}vD7!eiO16thFI#B&}5itD)@f_RjUc7Hw6O1@a<7X4)nfG3?FmX z9}HIHS&OwHv8p`(Br}@nN8QC;1cXP*u+?f^doc`3A?e>yJZrOPh2NALGG{iX)&B51 z;_C{V3w%0K4~pLLru_62_|xEV0@}4C$fF5q?ZrTBjuh937YS7Q672huS>GQ~@-7C3 zRadzmk=1pwWd$9_VSZCeycy4a>di`z7Sc7Sq>%T(z-g-Fzf5*y1b$ka>gTF<4^L2H zE6L^PY+Nwv59xez&+eEp3e~2dT@>9sYciaIKs+j+Dn-kj6X@Pdsw6Wa@(L~0{(knz zIvzD%VKKZ^Oz@EaBsWPCWyDcp|gx^>|p^&>0kW* zXMwnMett@_{H)gIn4z3DdrwECM)2ZKM!&r?8iVfUa)^+UV)^?-Jez(Y)oxP-jSzr3RFQ7?I*A@VDl+7h>Zhz^o8Fsjy$tk1 zB3@r>a_AiSF-()Y7PWR%jQ=cKesg-=ezc0}VTG<#&Pzg#$(WLc@#m#v+C27tPpmsR zQeof&jE@P72vzivdozOEe6Eg+r7TE3*N-xE2J|0Z60D9tyghUM6{W;H-h!0R`d_ZH zSuTS@qYaHDjQ`){k)G=7Y7&cqS+nogqG zc=stwMHuSe&rC-HQFP{ADi{$H z#=_zp3&yfz7#uZz+`oE*2(WE62>H5;Bh#d}W<~v;^*t}?g?LtkAX5GZhN`5J1?i$T z`YmWqmQ=MYBV;K_ngg{`hco8E{8}wg9W#&TyJ_80cHErqcGqutVQ7!9g*xNCd)eKe zyh`C3JHeS(zM=ADn|7?(KKGU!RE6_I9Wb~GEW9NLh5^b^U&R(bUZ&23mYI7Ty)hOQ zLRkgMnZImn{;%-(eM&HZ5T}9Tg=EwRU-JI@0E?jom*$Q9 zo%ht7Q`!&3G;i6yAY)P)akyHiJ%UT_!6hXM?+X3nEzUwIk-0$EfcDxbHUUf+G4nMc z(#bo-BC*n-Ye$&$RjI(F54oXtaSKKtqU(Awd@TCk&l{p%=S$ipph=UQF0;`(p>p$5 zE9SY-5UWRax$V9cRnJUxu`c*D6i*7h=v)Nj=e(4#d)+%& zn-n?;Ui24bnby&t`7ynrUYTES{R`NTfi0bt# zdRYCtUzFye@_6nB^v%u#mKg#%Ib4?h@$>?u3f^NPvIXZk+@GY@&G!JM2S7>-c~)F6Qptdg88?zMnabhh-{?riXDyp8O_Z?h z-1k3x*_YcGqioq~*9b%1Cnu`~+7iP4w0~UH=V<@r(ptvrPR&#eLLUyfZNvbMk&l35 z#F=SC_6M*MTBl#nxee-NLK0-C4rVWim2@~0>FNL?QKin-3r5vv0C9DDvP2^DKE;f_ zc*v#*+?*^=Fg|L^Kx_|R@BjMH6Pi?HIF_r;LBjx5Owh?;Q9)?0KtuO85}i;d@{PiO z{_ip6;Ink#v;gO_1LtnPYva{4v#^`n6j{UDcLLcmmqX0LdwX{HTmZz0XZP$lw_Dafrwx)VJuN2Uox{fO_~$wp<~Rx% zz=G>_U(K0rAc`+j-Xh2A)b1bA$?GcM2K3})I}N9&o$dea9#6ZRQ{&CZ&~hg8*_aJ? zlGJ6gksp<%E`Pv2`!GCmF+H>Y{lz-py6XCX-@~s(CfVCh9eZV>y;I5`uk6^hl-20E z6P35T$8?9gQs({({4nK{iKuM$S2gFQC#RpZ3+2i6W%ic88GBl?I-$<kXZ%+57@=~wGxpC;sjUzYq0EziJD!gxO zWyyMAv>u(_ECZ3waT!ii&>btG--acuB!nNcYqwp>F4k*(<9p6>SR1xkVL$^OE9ar1 z<|p~My7}hZE50>fUdJ)}H+S$po80oF*Z8@VH0xjAqW6z~&4u7!dnz8KN0xA1jnz$( z_(;E`o1uhuI4{AgKZYc2KdNY{6OZ`@07Q)+pRSCc{$>q23$pI3+3EPmBp`TZK3^A+ z>0|6XLF&0g#r3`pf9a$#h=S-|hw|Tqu0TQ0m{}odv=qU;~68{pY&T>+9mE2uS8G-3ae2<)c}-5lU&Ue z(E4e`_7oPiN9K$YLb3q8%T0xX#cew|oxP7yZtxinsgpXaX8f?W5ZuQ2*vxU0R#7pL zvdL3&S!jWZlrygSwZT^HikR}&amRY8WqH!{)qhBghV@@jNPebjX@?$5JizF&Rj=s3 zXE7IwKRR?Ovb@-vr1nlh%xsa4(WGWOw4;9F-E{<6V+c4(PP#Pl1ADINp@;Oh*~AwZ zu_*5G_O_YCObb&(wvO7_RGj=Qm>1wiYj!7QYAjWqE~bFpx^#-0R8V5>J{t&F*ZrG z@%()x`*E;5%XU5$opa zw?>VNT^Emq4z%4P3+DjJ9#{CAlXGb@H)OI*G(WBWGoP8oa{4OARl&EMo^S?pBfeD~ z=x*q!m4HHukOZ)P(DoPwSnXm#xsqM=4~UjZ;LK9@i;N$Rn%F#^(#UTnKOR-SUm+37tJM-j}te4xS&-2DVtLq z1#V}}fPGK@PX*NUWS_M!nSh>HS5*S^#JUMCT?vicnce|nm5DZG^3SyM;}aztrc3X$ z#mcdCWYLNv!WU0zLz>5ZlUZ4CxQFbf_P`vQo6n*errJbnMDkE2MU)`jPXBIMt&|`0 zm@nXz!raHKOzge2@pU<$)B0cNar9C()w7^-S>$2(0ziq&X@BbtSpVUx2uKgTk33g1 zPIXm#zryT1qMA7VmKBiB(ihz?2}s&e>m}y6`c-_Fl+E`=Tx~}(dSN%4=efSymZ#9;f~C<9ROFb7jIm#1}tVr5>x)3_{ z3f1EbmC%HM-N|8j1%33X79t9=KQjoTAP1jjN~Ex9qY92Z^g3*^<0MB0k(a7ncC*yC zV4~ODD{5VrTe1E_JK9+I@BD!}aYr=q)445Mtd9g)_83Dxkq}5=^3QoB9hbggpFmsD zKaZS7#r2GZl|JL)bT>t>oEn)X|0)U0Fx=I!V1^-a&k>PGkYoFgR?gt}!dGP(q|f1Y zaiV<5Tti=zcE20yf3!Bh-a`*jZrFdave6e@udBS47Xik&!tj&ik9$zL>xR6!_He(K zv*%`wp<_k$SoK{*0l$~LK?k9Tei+g98uNzbW#QEGD)-NPY0pD-i3WTOjPgUef)tSHTAT<5dS96h8rS5p-Jjt;*MmGl<3mKFJ| z4k7Rr-_+HAuho&etFQ6i{GnlX4$qEhSl3Emfy5(1hKN1dz^H`G%svwEbiAQw+HWF% zuu=I14&_6;xnN>z$T z)Yeh&{xXQ~`e1NmBeRJ75p;*cXN&Mo5=7jW^YG2v>>_bVdMTJx^|dOPd<*G)pjOSz zmV(#W@0-&DhkH{b&Wk5~mFC=9b$ zMOSdArc@btH{2hb{hSqvQ2?*b3g@HSh#!nRbQnd*YIy^Mdg!V*GtutraYd=U5jKwG z^tQP3oUWU5r(&7V#w)zYP^O(orRlX>{qLZaYYg?~Xfy7G!nSPntFI+dqc%PL57%&J z7oYo{br&2hWQM^|3MjTPl){W8RDqp#FcCh|!QEHANMP}j0s-=!mzms*tS5%X6ixoE zTjXbAg|GYbe$p+un<3-ODJ?_~Zm6+v;!vd0I1lb9d_LG|!c||0mMKO;Z+fiqV+hA% zaptyk4TY8SKf4GY!Y%^yZ4u?%5L4H7lB9IE7b#W_Ph}0ygdp!&qD5EU^7F=&I$9*g z?w>OKO1B9eCWiM>w~R)|SEmaP4!Lqo*9IFUF@deG(Zu-yPR^MInELds9e~VfW<&q> zT`rW6Ptx-4%SC%`^>hM2v6937;5)J@&4Mc5phQS;XXE5o1h$lBulsE@_72<&ax{@9 z-SD+)&UYF!RkB^3+}0ma89?5;`0Atg0WXn3K(7s>B&G>mPMb3iZn8Mi|Go)lc>bQ7 zW6IlSevuDNcG$(jN!d8+8Wd@t%1M%1BF0le9FPNB9>M`Rup+S$)DtMUT~aEWK73TT zpak0B+q=fStu@;a{;LkN_jbDatv6jXs*ajlGoRgu333nJsMMNCKvI_hfsc7~b`oRN_-~dUgq59C=3>jnKOXBh@sA+$ws^q7+AHVMD z?n9Wt;6d2}L2_8#EC7r5**Ale>iS ztCdN5YX-pPP0;N!{~JqZwSzI0^%c%S^sz*UD0fZ18zH8#wvA##yL>hMEG#!3vsDsB zQg$c#@kQps(O7DPlKXcUDVb2+ZJ)mwBr$vS8vbc3*POEIbxq87-Q$r9AUWd$c2s2R zan6~1?DyTH)2&Jd*K%^th9-ryoo|06XMrlRdU19mBs06uYnJ(WX7MIsF!;)4do{QB z7s(gv=o6-xlWq0K*H~Hf?$@_(MqEyWI2V4qX$~XiqwPDTeGlD_wtAW64^0wTkyWPI zU8C;Gf|$bV{_)-TCdV7*kFh2BxW-gMUP2sY?=Nj8vzJ__N~3o1YxT`1moA)B;g1~B z*;3;dtml^=IJkW09)wB#bvvyk%Vs6tJ@$UAi}S*&ksql0%izk@?<3P<%eWfI;2b^! zrv+bOTBL2m4V*n+3pbl>F7)=Vq%RhhZK@0XJ4J_X*FOHQl>CG_s%t+*lh;*N{_A*a zDK%yzyp_t_r+9Ek8dDaGF}k$CvizO4u1Mq|np~BLx%WMsJv|J*4s$3kD<$Vva<+e@Z3X_AgEcw{2 z%7PAO?*buD0v>c>OEK`I4Hi%o>!@nP%97VGiT{amlh6}yHeud7X(5KbD*RJivpj$Pc;3nf*bTp89Y zS}R`Q54`o8xegniHgHHk`j_P=sAet*4He_8j4JlA*V|$ood#h@{ z)e%UlOfV%I0PTLp{AMPexI#d0D@pz9_-Af#>jSsK3Z$H*B`@u6kkZXKYLdd<4q6nz zH&jDZ1u$zGj2lCnZ7tI-eJXT(>L>?yn)%G{xfe~JNj#qjBN|lo{fB>+rO1i z(1MHTlXxk&D9c|B!xdHJ5lKGMH~EiGkqN)WNwY?IR2r>0jVH^d-uVB|&Pqz26Qnr6 zS|(JUm3Y>86NC{o9kmm6R}RXM8X^k_m8}U|GM|r{U-i;$exTbMj@$Hu`{{6ex?_G{ zd^$I(S-2It2)%YqvspW&d+|6g#fi`dS>rJIsM-r|k;jW5thC~yM<3oaAD8H*+;G%0+c#uCV7Lr}0DJy2^BfXI8DviT)5 zgy=XJPtbt{L|m?iK^?TwnaHUsuu zyDLvQq`{Cq`e&!F`C-}x#(gEMV?mfE)D60O zS#B)Dh{noDUhYKiX~CO(wX*7N9wfH`9GAu94`l34^Oo1;R%)kN2T<)~sJ#Q(4+&+= zt$~7~fsNtXBeJ~VsR)qRzuku)trd`KHy*@jZA|bY&9cx%saqo%qSp@|l`ng%?9w2- zT^i_|WsqIwH;6jFW`C`Vn!`jfh?OI%l}MtjReDRReu^O&+uf;Adpf(;Ufq4@7~6HABO|8lnXsOoVb+RF;YkqSw+nQsJX>R*_^pR z%V<(y0}3Nc2eVvx!eUaQ0-CJ+3h71ULDdRTkwjgt&Ocu)HKXrjTCyi>45@r3Ann4k z>rLjMr~9Gj_fnKlOA?y42yv9C(Jrngl@=_tmmE7RDJsDg(~Kdjy;@T4(Zr; zD|?u|K;g+y!ecn>AAvKD2^gFGdYuNo5qPx z8A|8azi~g=+sTFoQwcuHNzOoM^hGIQDkV;%PLd+|_sG-o4TY!YPG5YXEg~TYb!~Mut}rl&|A$)4=Mlw5RR#H+|4~nW@fW_P*ot() zD^QZo#fx!bQH47~A5rFw0Y`T<-cuB-RpMCV*VONcuFJ7SWU<1%aw(ALDx_!x^P!Sc zSHp*X>F{$?gCi-^oU(%MXFy!EiizUu6vC0Jdp7tuza?MOrol;xvi-I;o>Z1QI;SY+ zySU26qYPH5Ts)ta+?_O%J%P><6TKv_N23usCiy?g_}gx24Ssi*7yiPxIPisH#mz^G zH)Tkg<}<>o6Di3OC{ZW-7-kbc$>ALL(0M-)B(VNM7+w9V?i%Db7ArYIY_5OaY014- zc@gAwzFf%cb-7$fHk8hRs{SQ>KSNo5dsu%Tkkms#!h8hRz>n)F*psXvHr(WI`S0DH zQ&0blliFl@sr|~P>~*=@W}ym@ES1&r!P8)@pA*JsT1hSf?1PJK{QpvzBb)W~r-$vI3_FbEgOf}E42cxH{>6{5 z{8vdtsrV#c9>k554}XFyXce@;&1kXN!$wOe&PxohBMD=+og5>XxRGP!@Q$2#?E4i1 z%jS6^?lW3?6FQpbL_9KXqaT2K%h|%|&IAWhj-IyU{|?vo+}$r7CgW~@Ieq#P?fLI^ z_?e~re{Mn!NQy+JnYp!ZrQX|4iU+(|GV6QQv5GUl6`t;B=HAmkq0+0be(x1HWFZXE zxq+xjM)mG;AwA`x+nGi^Kx?<9qSeQ(Ezp~w`zEN?$gQ>^vvOtSUa!~hF}4~S@TXRJ z>~Y2;WqRGQnDXtqx?=Nxt9C6n0ZS^)w90|V4AYg8s%h0mV*@2N=O?t6#Y9OJ!7eFv zPunp_G2Zs{*Zk$=7Aw{zRY$}qp)q-01^1!hbJ4~F zye%Occ{99fL#2;wSQ$i#Z}11n<>Gh3#J&f~hopfG|A$`wkipNlsl%3o{(X&qSa&ms z3*{f-TS|^H6%Pj&iTbDV1z@B!=lwfVRzmNCPfZ(frc6+WoqzHxVu79euI>DrtoR$44TWGgLpbs`qNN2vsw&^;2E zLMY0_-3T^XbPdoft8>-PXNq-cx94BdL~&vo>wD{U)l}D6{_Z3C3JYwd8&K8U}Y6v)%%CDTA04MaU#*!d>#c5N7t(b!I8kDMUgY$rHz%#J^!OI92&QStdM7h8kfWjFNT`{Q9vH z5wj=62JeA8R=3uEQJ%f#seb+U5M+-?NzvJpqzif+l<*9tM@-0C z95o6Kb{34MltVDqQT$DBjkEnU_QygNFk9{5=9b1&V&*FY-#jV5&?N^p3+i)^e~Zs( zI??`~(a(UI!5H^?l3l}`d{6Frz_d>W#a#B3K?5r`8tLLBZ~v6_;Lco{uf|%6`fU|@Q!z}-j1E%cQI6Bdr+2dI0*<~|J&1Y;L<2H29MB|aFD;K>` zl`C{Otl$pss5hU_zZ=Z#jN!OpT2<6r2-K7B%4uyy4sm_AQ9ceVv(8HPuH5M6Yq7P$VF)ioLqbTvHeUloRanckQ>{?qG?BwR^{ zBWpQ!xPWq47;S^o-kBuX!A#T+OKm5+F8(XBqjwH1j$Tt6xi73^$hJ8^X0}Qe-;WO_-XBQQSM)lcnviYgG&Nd`LtC&7DXr(47EvISWddAH zw2m;i#K5P*h{MD}>OHMfM?Y^+Vq;NQI-d(TqZIM@Vg7e!vYDqM;n-@ig$zLTm}Ln? z+7&7Ij%4P+Ey@X<6h`Issa7Vju9dC*5v|+Dvs<+%xODlQuE+7@U*={i$|}Jn*FFuD zj*de@yF(35^}`Bj*;o`3slJF_k8TB*!k*7thXej&5D`H22qJ>2w4EA^+geqrsO8Dh zAmyg&u>sq#$hRbEH15D1%&=h=t&c^(wLwpaE{O{>FLpT))Zsvdmk84b^H1=KXSf;* zg%dC43;L=-ngUVPh}`}Q9%|a?0~%c?l26bccu?a`AoftLEdnHgpXe9BE?TJAmj;JA z6x+)gRXNp@W%}>_ov$;x;6r>)u1iy(l|FrMiis!)))`!@Q#}NSAYBSd4g!JOcXAv?l(_;D+&_Xfn#}))tWB-Y&0)`LtdfflDaUaV|VjQVZ z#Mt=$+>!II@RwG~16Iu)0yOkuw9D(6ytb#h>H-f`)CqRX9(QiHS_lkog02jQW|8ht zNc1r3BAmKKkvfWrF9GqKVr1btDVefCOG%A3O1d0dRu%XF-Q7~9vq`oq#-ma@eI=LY zCPQ*1*bJ2Me8QCsZ=|)Vk)wBfBxth73j3{S^#xqHl~!ikX$qhLPoBPb)%w-lx8r#| z35U~YjKiHm=WLV|G3Y2M65Ds&^LbtZ<~2P+Mx-U9^hak)r*%@RETWeYqP&X^R{86fpzc*wyN0gucw86!-S*1SV9rSX9vp%lBoN1# zQ~|F)r{90{$=eS_rITE4zY(Ohl_Qtj>ibq{2BR7mi`wXBpSu*WW-AfZg112FTvf>$ z+u4O(XqT}nGR_rt-kcNpW{vhs(<%XHRH*k;>3w1ToSH0_uOh)72^9J907EyhF#In2 z(L+ZFn?BCq07;Z(eDv3Cmu4u$F(?>o+~2R5JpT6PNpv5`BYA9GyO{?Pk0^j|%K;lA)0uEG;wL2f>f=Pr-q^g5@4Rg{K88J4PKJ}+3R z+Lbo3o_SUH!G=;02#Hf`9w0J3KS{bIXuK6$Qo(n65QEcG9nu3PH659qnXvIm17^iGDeAmh3;QU-6K|`z>1gnTgSw8y@M=tb3=*G zQzuDZzcZyJ^In^;!v@i^UZc_n_wp;4)_C|?nG9@75d6im7wVH^TXJl1@>!)ZmKxl- zcJ}y&gl<~CDnb+dFGNn9CD1HQ79UPBA7COi2hOsn)j&il9Sk#cw+HXuS} z5FTlcSX0kDm9}zR6Pm;xY~UJjp&y9Crzn^K%#@cRE4}s_xm@K#eL})O_$fyczJ1L6 z`}xAfgNP0sI*sf0(wkd(&D(pAlZtMvT`!M5f4DtwS*xpt4qrI$rRe5@*6#pf zsVEWQa0kNQDC?c?l*ZfdUA>wugC)mGFS@PqH4U>&_dM4bM|A(x)7vt%>}Wrb8Hd!7 z{FcWG4Z3nAh8&sWmuK&Y$b9LqQm2n%v9cJoLcwI5{>~xBC`U*L`stiN3@RT_mL)cF zxvJFC36w0l+2%GO@?MY~dW80Au%g9n-^pRTAckMyCF~ljG_o8`_m1(qtCiCvXmBsx zsC4}8hYl!ph;S$(WmuFpj?5@YyO>SbLv)36OW!8Vs$8UMbZ=DYnEHZ>wB*SPP?1W> zpemJyv{BfV&@2*pGSEz#f>?V}&yM&;?7NhVUxPK_v-7E^a_G}{gj~rO!;5$jtcQz)q{k1qI-Nd$BM_2lvV39?J(wENYt$2oY+f*&l9EpN~0!x1oxE@cn@^p zLB99aj>Hxzbu50OIPM{ErRaaS&J|l*)5a3kiaD;5kV}Kb0~(N9`Z3O0&A;as z`{MMLY8Yz^RYj)0N9oz$X)>uyqsU7@ThbQh{N3~={gF=lAkAKAFlx!|hjS<%h%$r^ z&oINJY?RLY#hjawHqmI*!Lu^#RSkxNS4jOIIqnJQbU`C`V7{pOz-ZB%0hX zh-EI!ERrP#al1xVXru_P=_juBn1Slp_zh@>Qu^VT(tRHIfNe%d^dmp-(IQR-24nC8 z)6hG28Tu}<1w9G3|%9Bl(F%G{zJA2NuH&nf4kFfl3StV_w~3?{|gh42Ed=_lQ!s9`zXvmut3I zf(GywN0%$-lG?Q1afT&>x5UB52l&BLDAIbY*#!G>veg_bmJf&xeLG^iCh9)>%u!3CLO!suY=LRS$l@YmgdA z5tf|6hS8V0%R!vlo{zV<5>vob!8Aj=Y~!gtjMapzSy`aghMZ56E_6 zbQ`&2-oBfWHPif4M!Sk+yT2?e=BPoGgZC!CyB+(TT_u0Xv}HUL%{hG)TKAhAT?ct@ znDQ#pPIG^hzgnkxtRd1)D8p&8T)fI?%p3G}<{UCwnIeB;J8V*t_2;9L{36$!0Bqn; zS!(jtXMj$)9u_C3MIq9U-FI94gFn}x+??p&940j)ADo})dpYP%IPW`tlf_SeoP3$= z7>7fCmqL8ypIjW~BSK7xQ)dn%e>0%POaxmX(;x+X=L9t=!@x{?H1R6F0c^jzS=P5v zpQy1yqw7~RE9`^nS<(3xe_!?f$9>|v@fZC5r8@8HD&M`#!cMxfI$82oar(CTs8!;4 zr=qRlI%{_9Tbg@9bW{|};+~!BifL|y6yg-`uJ{^;CDlYh9Ci17`P=aKn5eI(unFCo zetb52;bcl{nJWqn-X^tlpc?Qn$9S(6=ouU*B1pwO+=_zaQ~fApS|FW!ux%SaOsPKR zIaF-Lc)>=EkjZWZRk?RK4KQtE+mf=SxDX{Fj`7_qlaY0>HISx@8%Gh9a+{Zl21aOk ziJRB%gbbT-(O`*!X1l}$m-vQd5P`2v1r(acYL@k1d%;+)aDt&dSXNtw;Atb@$;w(xvcV zicO;&>6OtAxAXbA&QzW1RNX6ki)2-w-(UdkYGBWs8~N{NUzCr4jHC3awY~f0wfckb zP&+%ntg5Am3#HtYyAn`R3u7)vW2Igg>UI@#jM3v6ql_PX7sVJ_FdyP&Y|QmiwW$@p z8JWG_Z9WlpKVCm$7QVp6WcAo9T$#PvuP{&BZiv5`O}ly0`>=8R+Wky}C7sCI8r7a{ zQP}O$L!&!A37e4bm5d{Msl*YVs<@DHQo&0T47CAT?Ai?Cc{kI_zmg!D;y+(7_(G2$ zW~8}Y=$?kR4_ttd>6J{4=3@nt&vFj~-F#CL%aIQaWq+_E*Wh%8d%VZ}@>QjdPi3f+ z$(XyJE}o9~XLfX(>bcX^;F0D%D^jEM`njL+>78$RG&6dIA}}n|Wdrh{C13DDl|>U9 zrAV7FV?A2w#lm^o9g1jWuA}ue=AftNY+`t0%~(rUwwl9kUkS0}jFPOXs1-L*C90II zv3l$Wn=NyHsX{r#l9Va@b{oYEGbeF+{OtINind&UR6sv<()yeJ{#U&X?A9vu5n=_+ zst9t0Axw*mUHtQ*TjZLuDpai}=s|w(N%qCxyY2*oUk8%#BT~8DU0Ec?JY9946jXf> zlQbw0&)}W7?S_YS;UwLja#sar(OH=_7FJD;UN4G&A+l?dl}B?_JH0~3-6;Z*E$|5q7+8P~!82?XM1?ctVYL-qFyrj>LZ%zaLBIR3_&cUZ^Wnlf>M8I_k zbOTs6(MF5!EDWkCX zXBaY_^**@Q6YTz48&wt^i}d3C+uS2cJYCi!s*vR+N;edO#hW=4u`q&u=0n@Y9_bt68ctbB{mfM1|*Pg8|J6Kt+ zKf^nd3eA#<(xOl7_iC)Xs7ejbai1l=_`oq@=g}-gE|-#Rb@>P1(w0YhvQE9U4$Jwq zc9oXkLX%F3+eWC%3DNTyz0yOASo^)HvCO-QF-C{GykcU!-PIzWimQWD9msr+V4c|Cq<<&y|&udEn^l0yj_vGm2^`i*+>N_K0 z_8w7Gk$luRYp5huft5lw0d*=D$U2x|lcj(2f+-^R+|49LiH#L<&s+_K)+7Mx;isTb)Z zZ^+nvZi_2?)|X#V{nSEkXdFb4b=5>J*o!gfX>|8f2EUtq8j4jjj`tj|3T~g!228k# zuH{8TGI+^w6W8pn|6I5>zP-`ES#ESc-^#6PPZK)B?Z3Kivr^*sXctm$&S#&-(amss zalOCfprg+(vP)~U}pFCq&6f&+vo#?R|=sfp-`EKUattZ^B@P#W8o0B{~NdN4vH=PUM z=-)v4% zxx+RoOuSuR?8qlfv+!P@8fuwKnAj;qbIw>c&ZjWl6@%>14x#6RxaBu)js!EgpJSCt ze5>8%jbAhnxYN&&NI)t}^_HYKYhb+nO;PqhijbBGQgO>jS%Yi(c#JYsW zGO1>rOgx?II~GlC#^bac4Y1G9pACP+yIEr%|Go8pM7?!XRqq$=Euw%(Dvf}2NlGJ) zl+ul~(n^C$iZs&QUFXoHgoK3B9nxQ@WaM9F@TaFUhXX&sJCbOEz{?}smBy>YlCJ2v)-`e`L7`pv;CQn&V<{dB4 zINT}Z@Q^iK%YzQtuiGfq?IXH?I?l!k`?g@=cUj)G3|s5PQl?#aJT+yEtQIO|u`Ecd>Fc=%_BGBIUu@2b%_O6H0jp7Q}T;XTbXLu-BW z$6!O}tZf7H+`0VIC#a^s(%t(Hym&aE+b{pS2eXjP%#*xb=-hgjW=W}DX76Lus%UDO zqMum614pe>Ayo>FtMe@SYp2;#FuN&rVdTOFZN%epp3~ry*4&$Begn?BEqo7Lv_tb) z(P9h<>O8C?QDFTtu`W% z26IGtqd>1t%v(GA9A&1B{=<`@uY|%zUwBd5Z|>fvXg>6m4KYTBK*_Sqilo7w2F zR{zjKgSFZ(0S)l;Ye7~JW4)`O$8^pH&^{R&OLf+BYmCVbOWvYg3MR%xgS*|D*NR8O z?(ixl;FQk)d5wvi{ZI374OCg!hvbQc(&wg{o{tgZs`yzKcap+VZJ6LY&e0c^yTAHK z6O*a{x@O2QxII1fTwVeNw|I~XmE_=4q|iq1Q@yFeH(-;xzmuzVKELMolw0ah8C%>; zIa?bo*HEb zIHAX5Qo$+CHItee#Fo-I>I@diQ0q0?TqRP5Ng+0)g_u`+uh;+SIcsWUT3?tFAEr0O z5o0OP4=U3?vzm~^4%NSoW2E6rhKl^%{V!^v0D92JwM?B4Uk_%j+v=P8P<^bfwjm46 zKri99|E{$?zOQY@L`0!%KyC??2hm+U^&cy6HBlS5_K}%hr)MK{f^4%e{WV#zrR{n!`I-N>2G zxig?d%v6=Wx|yvBUI+RY3Fc6PlC}(kds_-YWRlSaFWN>CYQQuf%Z7k+Lpm=48qGIJG{k5X51&<)*TNcnst_Bb1$&G{$Hv*0 z19d|naKd=0d|$~=zELC4l%{cPG7p0uW;=C?>tsVlWHy)H>E70#7s8TZLsPw%oP&M` zG#xfm`$^jSkGAygoW2oo^LoUFNx2@sm6dJcwcqur=YB}?|0?KjW1~pX#c>oA#EtPz zvWw42n06g^Jl?xIRG0HV2ow3l)Y^Zp)jcGK7JRlJ#rN@5P=B5r6I|Pk;y);zNB=vJ z;$PN&vQoNOd0ZeR6O;xYAsM4;k(bnhx>dY$jZV#IWK@t!iaPJxRs_xl@ErBE;1fag z3O6g_HV=LxIj zC)21*V79*`)f9O(xbC5BV^@g4J%8L1BeueR|LNPutbYPGKYNH?x5K)-%Yvk@H1i*$ zlB-V$Az8^(`Lic|W0IgygWaeeTR%|cVUW^qV((~nljPUqUjVhPUWE<7;#hWn0JD}E z!e(7p?9W|qJKMJ@SoW?Bj5C=6o7iRlPe+0JdWL~t4WPWMe?7e7n7Id6qy{3C@+nr+=y zWa}4nJ{`5+Kr?@yGOm5k=T{~*J6&6Ji4dr~ab4;0=%MB7+6Yugh!o|0m@rm9WeoJOb z`{CF>oL0}9>N-A>-_YPt(j8qA2CaFDE8bM7An2&j>bATC{<+4zSp0BbH$GUNG6FmJ z`{bK8W?TIRQ||}aI*uNuuBLZaN+?bc6g-b$QU3flkk%1hJ=K>qs7-uiJUm}!BRa0T z(o4k`>*qZ^(CqUhjImL<>A`K~vz5YaVf9x6V~|}#r3Atb7!u4Fr!kojJ`QX$|Jgj$ zk2zzq7`IctuYs%6OMd&|(yaDI{%=&!l4Qmk&WjiAE`r&Etx@c?MD&>BZIuirOMm^i zoV&gy#eD5`5(=3km^j-*DGis&*|-YTA%k8HfNjmZ2FF=(QRCgt6pY~PZ3|wyPm!_b z?ld@g?Fme8;Xu~zIUo0zouOUyjkL(;+~T(B2amf(u^9w^=@#REsKsj^u>YzatWok# zt9m;AD^3QPh+ghZAJFY!PbdOeED$*jA3~=Z8#?wx4eG;ya_ry`s^`O4xX_;egb0*{ zswYi}Jsf^_(j;@PN4Y9bWjwcj-E2K-nt$L?poacq83oFbW9vG2UaXFHHlnsgzy7&D zIR_{_mK#r%)(eqU`HJ5F<6et2SLD{So0tPcOTGY!pp0>mZ{lG=Ulo4M$`kSIiAw4N zj$vEUC+%+9Ru30Id2HbJ6qa~#>2LMD{9JoSAP#xYH-R&+ z%Y{-}(C6nV;pvDCviQz%nzNqhoVa90Uwt^Q0W$!yP8b1l6qdsa5cJG70o{E++6o_B zDwO{x%gOGb@NrJkfPJ%*?dnWmES;yd?z`CP7fE&-(bwx0k5wq*VId5#({NfwF_n}+ z*$Cp|JdM+PPO%?$A8O^s9X#;W=P*QFh@c#Gq0|y*xdJ$fhARQVUiW4gfdM&61e0$S zvEbTwSShGD1Y5J(Oo5lz-(suX!DuBv8tBC0_->0*3Vt{Wg1!k~s_&xxXt6h$H#8X2>>H2NO?n=pFP z-3A(h~UT`0+41|sI zvm44&^snY3s@TW6q8!)adm)VDtXSM)W-(@@KF_9$Y6r(7YMnKDbdm0c1_!^!@?oLS zw{n+dJIWE%mU?A&^w`ua$tF*+D54t^@~SCOQlc?A2$=2<2sA2;FsET!6#xL_#8Lb1 zlOzEVhhjArUh@bRX_**o+klz{8i|#svk_f$adOa4b?`T6`FPqBu)Z7a0=_i0**DDv zT^j5>3(X1>R6-cb>D*9Dzit7NWi`*yTPXZU7OnlKw)<*~{|-vL#r#O9k2I{_E&S&o zxywS?Y;!B#in-6d!<_u9!G~iPRf?A1Hi@f}i92x^r2j@OlN#0MbW~?8jN(i-V{IH( z^Ps~tN@f?2yn?TeVSQkA{KxnbXc?W5j*zUf6Qp(l6ZLRUVx09bE3vYkAB_SjVJK2&}gKW|X&w{+2=0S_V zXD=0#3A{8>OY3&XntU6f;$aNhMkgc-AE7wdYgY?>c!WKKDsd_`czhE8~cI#_=!1}S#H zF>t6=&k_>rU@W?MKydnwMcV@lBZft|0DPY{yiX1TSPtXmpnsw@dz-Mv^A81QcqL)Y z(Cr<8@iJP)Kms-_>Ep}MxFAdzD=~_4{Gkg+#FA7&a!}jM=4|*S9u@HdB^yRfRR9)Fyjn2 z>$*Ydtra#$nN!0jK@NX-YImhZ;^a`h@CJ%n{GoZ}At;vBmW;@Nfp4Vz(|b`_eBon; z$b^ky8Q9e&&}C4g2>43)fc#)J_dqG1IFjz70-wb~56TD-D){^&iwV??WGXFY>U@pD zl!n%mBX4HT;x&Ip`6>wFUj4?;&_gas7g3OkOl!|!aNKwpNMieWVeUrrF#SydpUVbM9o^V}VOJ zZOy?YgtYD9eGp2aM0q)CfRZ`#>ZD93J-q-RXwKPu9-8`H^FLMCe@^a(9P#9~QMVIk z=XzymlGwlQ^qd?9T#<6Ur~m0v1N$5(p9vk74|TLS>bACrN;f|z!&ZP04n6)PV9yEg zoE)M1H(}&H=ElXB!F|yI35&^v3`89#S8mU5a&V=E8Hj1(x;muGG(2=cC+) z2j{J84-VgcpS|fcL}7wbS}FMkW?y9#4lX;*}mgT?(i_0IWn;atEBnD ztOA2NL-#*I=B00yg8uS+?jEo?Wh$h2qh(9nsZPz9M>?MrjAgXm(l1Z;llQ&rBq77T zpAeD`oE1M<=)vCFY>A=4!n~*fAx4 z|KZ3td|`HP!GU)D4hS~*ls797DZs*z%<9PlOJ<3j3`4ZA-}?n#ceK=IVe|fBMUD8@ zQtFj0fT6>Sd4zf~g%#C{!Y7@%P!dW`6%`GXy9)K@H_mzT35S94KArNTWIs`N-sk+Z zy6FK`*U4na7DP z(q0}xw~fySpvwWe}0*@_jh_O6aqGG*UsMS39VI@>rzj{Ns_6pKS%YF0d~mZbw*mp)0U?5y3* z`ae-z+Bxz4TCXJ1nA5Gg8WqmfuchntYz+a@c_IBPaA=T0*Ayd+0U6;NTG$QJJa(gu zxmc*hBGqmA9x~VLfg666(oQwb`a-0a%yA9-oK{~ZX^_8>Z)bp&0(j`Par#+Cwn&s( z*?2cjmQiHpZn2Bo&b`?R5|6KH!gx7ZeF%Sq$^!_W)lAR>6pA8KBC4R30j?paj}Sgh z0bMqk^y200U|!oN$IFwQ&EzBfQ5J#?^h7ew|7#n?qSQTEBE-N*8mekJVA009qUTV) zaK{r*E6X{j>}r0})!amqRGz8Ge{yeI{JZ+)ReDC>pv5Pr3zIIw8{ZRG@?6db3utde z=hi#exP59mN5kpD;B~rwv)jV@Ht(h6OR`_%==guHQMR)A_M%coXo9b1QPVm8E5Qzi@qAYI^TK;?JEulwd|n$uQ+`C>knD-(dG1~)%eAU z(_q@8iaVz|PA#%+T3)mMBA6t}P-iQm<2$x6=LKf}u#f=vE(OMq7y?lx8-P&os@$(YuO--#0ipXf+5hrN) zQmBlx;k=i5t0iaqoTqQJAZt9q7Jql(gN$gQ0lE7GN@}mSoylqf|blPzhU6LfS|Gk z|5twS>%+|X3VjlLFYIa@qM17#d;h}v3JUaeF4(y=)Hwxo!jMi zeB8DcEz+oaby?r=$ch$>_YD&E!_gHpegRWGAMTrFv;wQEveyJ~DP{%@UOgyWisJVN z0Z@xw8V+udi1dSwu+>6?#UTw0zr{m!rv%O@hQ-TVxP*vhzg~ZCp8gFrA^8larYcH`< zujYC-JR9C%w-Mn7s5(C))0E)xl$#i>azak~f5{FJajl2^s79u%x`QPRhs~~l*C}oM z=5Zr$6h8^U+BKUxESDKc>7dTbdR_lAPWJCxrYdMlC`tT2--S_fTVtj6vncNa#9h8% zoMxvARsYjgu3>t59a5^Qe}oJ@6d{9N$4Tr}vEjL7F@P5%-N~zBXK#BPT!pTwotnmZ zpJVj>Jg|*>#K<2$DE}u?U2yvNu}lff+BrYJ{73m__nTZ+neErFoPTN`FirmvFYw_F z=ds+twK#vH8V#TFhrTuvRAE!4xX79ZX3KFRT~Fw}`?1oU*i;JEDWy0%8P0r>b21 z`b2!mxreB0q@U_w*q--)cY}0ff>e5w5q>&!|D3onC@1cF^ja+pS%|@z!;t@%WYORl z24W9Vd`#(l@W(Yh3?5h*6uiLGldGG&K}YppE^$ltiOM8a%!ev62g$Swy^0eO{1ZwgA`H+V)+UYxqjL$9wnPG)Q+8|PmMFrMJMrq*DtB^Z<9xmBR5vvn^?yZSVe1T+dBJ#` z6pvww33#a+K|!8vx}G6o9b|BP=w3{fo0e|a2@+F_`>wg?^&I`WQ(gp#?rxdTv}j>d zg_Piy-bdhRk4r#x0g=;b_f6Ii<}^e`1hyB0g26LmYhPY49&wO-p}4K!dLLbjQTudG(Eq$sBy|sY0I&oOl9s$ zF2wBHYjxT<_e&dFhe6uuBH?N~KC%K%v1hi7G>w!GU9A^IpU7^!nA||t zz#(f(OCR)CTPq({e|V(gY9X1&5$hgM(kaT^?%7ke=s$lKaJPh~LQ!pQBceu!-ZMbk zPrA3M1pRGxIfXA2E~#P`DHhNG_sBXY?vs4U8Sp=8d@enWqm(Me^`!KS2_6~Du_0Xb zU~QBnpP*cc4u+014prx9=tMvwZdY76R!KS`_~E%Ppm{6;S~#BDA<%S$VwNwA$OJVXegQ^vHhtZJ~rl(e73G^X@JmA8NFsCrVZD z`-$A-W#z$toN>X5_{wZFq2HM*bJWpMbkMHi@w-k2 z81AW{7w#!6IsG?6Gbn2TGxr4vRDSV3f_{ScC6^0U-N@=%NW*+OOVx*-!O4w)8d(`k zf>L0pnAsm2ZfQS9MZiqtWKZTi2xMF#*6S4@QNKqaO_tweSaxr!2S9dop9(@)7HSW)P4^o)_TNwY*{Yy~rgAFPD25%`!oQt3uC% zG8M>$8n@b@G{uH6_$Dutk8>|Z$ha^O@yU^Pv@#Q;jTtI9k2y(W;{Ecz2OBYMU6+Ua z&FbDY({G=}FLeqFKup2jrXa}a+sIMf8j}B8VTw4)m2aFYlX)jKAY^PYkkL5nT8c|m zvKC%}j>x2=$v*wx{>3zYRzX=Yvx&EGnozIorH8Wm&4*FYU<>7UoP;R5rTxukntk$T zpYBfDPcoEF?QS)vd@$13+E?&=an}S*x%Ljm4)&wb@JD}Fhgg40=)8Z1Y3mqD9XWQf zt?G-GXnt%R74i3Kj>`A!Fwgg_g3I^F!Q|>EDOM#}iA?y|m!qMgsgmrzcn6Q&oAZB< z&6YU3il48vRc1W386Msp4NvSwyXu-_5WKaFZ!17@^gDmO1Glv&TS9J)Hxq9>E^4we z$_icl4Q;abBbr}QOMjG0C=<2tFynF#UUj@6r+*grS~H2vB5t2dIIFxTjlVhVn#!|K zwN&GZmEJkHW}miFO8h)dR7{dVXf~n8fOj@wV{deh@}oykZq-OpGl#l@0t=)6<*6Vi zI$eS$Qxyt0pwee|1fxC|8K}?{a7P2z_%zzK1bw0UE&%1(7~~A9@2=&oG_Q0NmC3Ry zgZtm2O;GHZm`xp(yf>T^u5dIyyDv<~=;y<$liNchf+``WXqZC@S%DQUrI6hBPP)Tm zA0c=IMXgUWQaN@8Y;~VS?${p`KGUcXgMHLtD`N!tGs&#$p?pPnRAf6!45KzpjWLm2 zM5lCO$GjCQt+(@xLS+qX3)bF{@vpe7Z_vqL#m(zxQ09^pJ*BGx8wo>9tQ3O^U5tkX zpZ(~PhjjYVr%@sD9}IVF+Avi$pJi0sqglLHD%1r3vp?Fa3mS^Y(n#kZhVa)Np@;y+ zjE^M@it>ftV=fYrN`{cD+&Mz4)cx}?dv7ku=#~aZTvHQQ@*bn^W8zR&fn?C(0q1zcy4W9L5F|mZVPUl#b$S^ zWXbhdJ}xS4M4ZPnK2W$b!?@kmWV$s5yPP|jwM1h{B`G%MXM8sZrk~sU2Qe|_jfFF+ zo9mFVHwQde!f*W7!z9#K!mw)?J=kZQdRXVAr7FG#js#tP!n<-`0v^CU&z8UzvVmGP z&EH6Ni%H%2>3v;4eQBDnA{rw1BH7mpe>?b6DZWoqnI-;wV47Eg&&4Q;_V?B2h1^?7 z1~)ae<2GLo4+qGFxQ4s^xI?QUod`VbeBfy#lEpx&t*PB;Zl9g${`X1u=sSGT%YvVZ z9%7ZFKtZpjdOlWBd$#!KZ`Zq&7UDY-?+S7b*x@GGlq(j^S)+!lBIDH=zf$cl2D&k@ z3dXKcNvs?j5n(DWyzQ7X{Niz_fDsQoU{*_6CCDner3P~P?EMBUZ#8Hom<|5U&@#cT})H96Uk|!&+*MzA=OyB;g3R*ZencLL-<*Y?`25fN!Bs6Y*CKzphH}9{QkAskNz4e- zN*$I9nU)og!bIZNOeR&RNd}-dsi@p>U3bc>kE=o_K8>&4+^nAFi9T=|PyO7dMDesH zcF(epTb#3aLqkq9f)`cRwn#k&%C0njueI|-Y8j|YHLNG+F#i7YI`ZyllEi}?CL2Wrf1YXEbbvc zPm^AYHT`ed;c`_%{QSmMLV2vn4qrOB%oIm{HN4qsJro*B&m;|=KZ;Tnr4md{ZR%Yc{xd>$E4ZEzc<6nCbzc}bdO7^j z6od}Un31lUX~y{B0ZoE+RF1<Ni|1fGG7y(EXm?qvuA4NIpbhJBfb^PGWbZv`xH6>C` zfz$rUB&f?zOzXjlYOj|MUfrqEC&-R*w9ze6n=$%1>V$6iKI8gdpqt8f9nbd%UAkIf zgBFLmP6qHJTBZI^R?zpgzc7-?=9yz8p~`868UQ!?V11LMkjya5`@6c6VBn~I&8H{o z^ZAOC*Y6Nl7I^KQc$GMo3%B9mEx+~W{2ALls;pfp(R&Y?jc=v6 zTxWg_H(hJv{7^gxT(cugt?6G|cp3-QW*CAqx>vQT+$!>vQGlZnNNlTu#5QZUT2MUH zZhexjb*-9xhhMWf27Bq@!ZImlie`J^ryV2&h0%Ph9mLdV%W1HyrN+exUssG; zV;DGiOPNFg;82^TV#4c=V<{h#S_eiZc;0 zU1ry{x^HOy?0CS$58BOV93L$?dOopyxic*|ptP5t^5xg}4Cmc{NQ}@S#}@D!$VBMC zvt;mDtVAb`B%ir$rSh7hMInd}Ine-`1{>tu9h~b-S-q0)v{LeP|CU8tZuoPho6(%8 zYk8Y$ZNKhlU!lJ$pAP)3Ov1F7dSBM|buGt}=F|5n3-e1w%|V?1nocBSAc?iz&|sBI z+9uF=!SyO_#?16iuW;nB&2As^MgwnW?G!Bl6dI5O|56~G85%O9*_q`50_{x#jSDZL z2<7$!!>CCH*VZm?l0%IO+WTJTkDEXVTPpd~_td3jgrjBcN9~kQA=Ea^YX;$15Vp7c zVVI*S$O7l*ix-=e0$&(9{m+qM#{4ffIM{ebYIPNJDm0eduvBrGsYCsxqGJLf8&}(g zVIw7!3C=#embr@MnC%Wp)-zOGX&J)a%d9>|S8v{`yp$E|me) z>58#AKzHz&w-ycu!fy*a7d#FRzA!@!6I0hA_w2(6&eu(`PPiO9KieJP+wgH|JSb+i z*6l8e$Lya6pnL?X+>kTL#y|FiZ}go8uH^o}kk93&=jNBZ^&%H!r-bj>0(v2hs_$QX ziPN6GtiS(tjdA(@x?F#AITDrSbGV96-P(F?edg{E#IGRnP$T3Om{;p=T$Y`wKM_=YRH5K9l^srXla198>QdC`*p4++!|MIX}Eq~ zM{n1v%RyQ}J;nAqG3F)-o5SGIR5bq$+g9mp6%3ZIF21rmMY{W4HxRbd$x3AuV;c=b z%ooszVxHl&)gIqX$Lu!I3AUv2qJ#6?_=tPzSCk)h3UV$e<`cy;ahqvN{m=M2g_ z?l$=rcrW9=#Gf5%|IGgSnu6}yL5YZOjv(e*r?O{;FDz2x6Tlh9YVMavspZzf(1N7* z?5_Yz*YP%eH}Dre#P`HTm$!7=GIUJ?Gw@&A6hm2zCHo^^dy^511f;s zK{8)mbi2nEIao*TIJ3$br{m%DsU^$T4ygd&gqB|~w;7EY04I_7BD7E_`tM<03Y8!y&p^oh3@{QOd~#9PxGC2ZA6WDG zjU-IIOG{84*>Sexc{Ux~-5u07$^T4WAoKD1C7)y9zEnrn==PHrV*BsVGzL!YN|{9c zS-gpWIAKIW|Km9utdRwIDKqz8Zj@LXn$IOn4q#A&W-ZSzK(?1#03^N^88!7UW#%zQ z>CsV~;462#kr{QzBnuC$J@G6)0S_(jMx>jHTbNgua{Ea(D(=Nr;br~fN5{dP6vJ9! zF*V9Jf?n0y^bdy@jKq8$X0qxCauK0&t%WKUMcBs4uN*8g+3hb7Y|}0>1G~fk85+LX z_W|Uu;3b_cg?_QeFMF3-Q30PJ4(6${TjnL{4K^xxe@aZ`Ne!s@f`HZnJN;mkZ|Zrn z5>KOHa0s0P1{4BcEr#fnXMn3M&J}{6(xfYW>=xW@>_zJWPz<%wg&o`aH+xZ=;%_aCI2>tpJ_F4oNP=J|U)(|SEU z+3{zeAh2n?{H|=9JO$lGsSO@^KlRudX-ab`b@281lNL2FMCzbC<>MNIx5)9{a8`F$@9?-tJfpb!9wgc zKwEI{>rv+^ z<_i(mW@s6gcnMlEHkn;TC#}2@#>e9e>i!iVAXO7! zc?f{J@&8JCP!NG@y|+uB2YGel8?6|xu=(nXWlhGg@B6hO>2$e6I(xdci^AU~D`ueO zJ(DXpr?K<}@=+q``U)BDd4>bYx{u4}QkB7Hh_j;_EqYI^*EhbhwP%!91$tGjk9So@ zQUsw|R(9E7pbOll=O}xKRgnBO{cU9VU`$S1r8kBd@?^vITH{c&qz-2hNjct&7<|x< zR)a*G53t}30f&6d_}!Sf$g{HK5#DGpbxGMd2aOH{aBkt6?^G-w6?N(dVOm@M zA-v92Qdi=lkIIN{cmU{FwSEh?-eiByi)i`{=U4;?#@`v7w^bDSAdK?_2WIA}9Mwr_ z6s(iuZ&zScAw*^MH9c#W$^h(_!$ zc%KoUXJ06F$Dt$!QnXM}vOt1$1s8jon{~gIDS932nOjJOV+WCt#K-f91@s&#_l2*R%K@t-9`6QT%Shi2hZr2hW%;YIzzPw!!n75u)T($!2( zcH@bH*4Hs(^0GWB)TXPx^-t<7JE*HP3rAQjjp!_pF%})>i3N3U1l>Zor^l2N2;=`| z$G|Rcb}6elJLI2F+(>R;Z-;OW0FJ6SiJClV&U;qw!wPBHjN4P}yv%(eh zYAr=@2UZ(S-K`$4_?!oeXCgTc5F&%bt#h^p=GLAHzi&wX_!K|wgK+NDhOdQUx1MAo zJtEWogJiw*{j9fph53>KB&-_c>Z~qpn7dw1wzsmFP^2UwW~-Yl-ri?rgwqzTF+4J! zD))W$`4hc|(O}QzgnUN?0FHg-H=u&TCYZSUV;ufE#z6c|y)g6ehH`?C?kwlpuw+L| ztnCnWJC)+KRjf~*dDnDQ8JEiM7dEE^6pEs?(WDj3Ztk@cOj%{7%FLa=p*vs*ER!xG zXZxmK31V00iQoTdnkT@zY$)ep?bINq^5FlpxerdfE+_P$`hV#1*NQNd9}IW85^z5} z&PK6)LPnguU%sX!sxls3X8SbOb+7qJePM|_F2EtM{0>@(lsDMG+-V5L9M-s{Tuds? z-ZITEkAVVj2zrcx#9n~r6=U|U%t2=>ZW!d6DQ03%dy~P*W%sdOaNB^nko$H$#Me~Z z`7Tp;{Y`E9YERMJ`OL)kykLIM7fBx|eiHtSe>JQT9?pFuh>@^$U|7I%V@_ODFZba+ z<2d2uk}V<)`$>Z?R6Peh*{}Cq*o234*HcoK3hIx=nZ z)vd}&0L$v-g+DND7jcZ6^bevem})9fBp1vLl9L#BM1_wy?Rndz6Ig-hVIm(Ca{M+C zL-~m#x^a`@+}CxSpjt(5I(P+$H5EOep1Ew7D27u4yT~?n@zkS4(WuSZ_xsOc0xYfP zVHinqeA!q<`dek{9qjpIoVzS~=wVEP?JRF_SgMQ6q2fnQ`kURyBvfyERaO;WL=Bc< z6=D`JrD0oUvy>N2Q^2+=V=KZXIg3{fPE~fzpg71g&G)K8H(AWb@hZEu!g~GjSc~;n zx29k1{uo4XEbd;MNRNOZj`hxi*Jkqy^kJa%l6JWh7)34;+Wrlv`7PVJlgIFM?p*RA zmafGIHS2seOGv7vFihII6&SRrl&8rOKb;F+o1&v>ItFaPZj-#$L_*GJiPSZz9ExZ0 zAI&Nm0k9-5dEp;~5?cqRE+gJ#5-Ispg)j4cE{0r%0MQ%gZ?GYMs{5^pa7en>=A1ts zG3=^Th}q!I%2xxF!8gT8&KBEB-1wqcp&XO0=*mGC}kDye~(QDQenN9vPn|sT&HNQQcL>K7rwsBi-}mhzTCyQh{xha#GwN@xMmD zGl)T@nG$~2>dJkHWu_T|_yH}hmF3fS`2NdKpN)uZO_h4pu_D(~)6;aob>6IA&GN;^ z^l!_#0JGO7o~ zv~DkYi<*?q`8)l)Tx)@mspHlMzCwy4aAI;~TJyPrl zg2gp@YeJtunBkj(|qU(`qK|MP}w@p5vhhlT9w=6SdnfI`M zXnfJGm=^}Csv+)bFsfmUgobhFAP+KR^V&fw53-wZGdhR#aSEHrrWO>`ZR0|{@;gJxGSY_Tyx|(djkZZ{(vx>NJ~1^j%no$1vBIvTqBB(Az8>p`k}kR%~L-mbWe8YyYqQy3}f zx~GrhD5Y|qr-Z$kCdsRzl?hI#d3b=)(NCP=TF&xGMNCt>fsTk`Kr4kEJSVZ+|6abF z@6mr&&|4#N@I}dXogaV0-A@_6qV?}Y$W?*Yzw7kRg;J@6Drj?~FUmQjVzyv?*slG~R4VY(stl+` zg~kHud)AG!Ji!yYg9G|9AQ<}e``1Fh9^|%`2QetyfBn``pwsBM*G#iJc*i6ih}!KF zF`x)pLMlLQc?np8D&)#bys=Qc8@>oY8!$c z$&g$Z#;-gp+k?T%-ESgq7ykW@!!zxm=8K20f5sie30tr425PI?uG#W zLKxKxs2cko_wl{mneXtJ+$i|x*rWV`YMB{>V^2_jV2X^f z?$8!o`F<~;pUq^KXoqolZl_E!>%B}_?}YS9&Ox}siOIg7iR6VdKWe)ewx|<3|5AP(SDr+nI&G)hKr;4vYP>mv zM$E-hg}0ck>}Ug1tjaTV0(gk>5em?Tz_fwsf3OX#25(M)lXBt;a!d5XQdE3`nWhEA z0^G|7L!f$HCfO{|uFfmjoBL7m0B+n3)B^>1J8QPP8F0FpptHN4fchF?;bDB zLq6xnvKzW?oFlVg7VWnN4laDXj*sN`E-%l0k1yBv_Nbe$y3U&}57NQ~oz_4sG#|EeMpP?L)*KY-tF@Ma|I zI>tco0OsIII)u$O`-r}5srk^JV##as+ibmHKST7Pl=_An%!#%WAwQ^Mj&ky+hkI`D zfHRPq4-Uw|6E;i$HhDtKI`;GcA0vi$0A}aQkvd3^fl|_XWx5>vHtH_`ju;|2bIdq- zgqa3OU>PWJ{(GutfgF=^tzk9d%SF+upQB?hH;6iBUfNp~as(!tulTu`LSc0-6Ox#$ z-TH?|Z0%!}N=P$a(b1@?P|;kjkYIdiOF>nv^KKr-p)>&DIv~eJqme6#uoto;W*$Dq z=jVOt?m}_&X?erw{B`mEo390DFFlN7wr=awr*rZzxz3O~LNkf>JU~;k`*NFuuWDQg zuMR5YsX~_4u2(N`}>~qldnmAwokqI=N!xZLwjqqhSFNZ0!n_VjM)#jDI-a7-C-$j=Vw=iSmvqV zjMVm>JbA_%iY)7{>@o+v#Mqze-$ijpVuF+o82T&69tUR>t{E%p1!kyi7_^VSGAYC_ zCC$^M{9tn%^zI6Jhkky)QNcJ}E)pRX(0#bqgU$pgXa?S;`Q!#bG%?tDsJNq?foRN=pgrNCVf&`ZQlmgzstjjAPkaIYkpb_#ufx=KHTFFR2qXw}5A^K^2Ij%aB-&sA zW%oiYD7#A(M2=*|2_&_D!u$H0k_~+yXIt?L{{D-ftVdF<`_atLRiQZF#(!?jaka~t zhAAqzQ}m)5h|7twtQ<7n#~h6$LG|--rKGr?Fra2*_rp+!pDR5*?%ydfh0<`J*i`Mo zpD!lh;OOhtJ^XCl!gMni{YeAQ|Hsl*hDFtN?FUgx5JXTyQfX<1ZjkPf?hffrk?!tp z1_V?D)Tn|C}Hea-&x8tR*?Dtrn5HBQ;=!OEKFbY94ir_20-YwnHU+jGd3udJc2<} zN8^>C-iy*WetZMqc@B@*<{zuEWt^G7{XdJ9R1(RT*z12)()GvF6RE2cPKZNeMw+@d zugCbdwB-Fl>6rcetZ92wkK=f?H=AR^=z`=~DX!vJ<>72v3Cv)`x@{4k2^p}EcM5l5 z(_CWBa4G7l-Ivp0I-{|-wTbF4rMG!e%r5l38WT!}K5USdtQ;zDM8mQ{nCSp2mcIrv zazx(dBh;4dMbBw0n0bxgQc$z6bghe6+^4?%&n&(1jhzw`wKSFbDR*Ub&PH*x2&i9z z0$6~ZQ4pRPOD!(Z8n{G;_N46Ox*P-4U((voH-1Q{q_Y4>LsEe(T+Z~PIC(f|l#_gR zk;Q>SmR%^!D8}viL5#@OAe|Tr;8&AD1ZssU>|MsUHumI4e%%?cpW#JTQUTST~wEU@-)q4o){R<8Rlq7I9e@O z2H@iS{L#Qoq`F1Tp^`NJu==KSzPuMi{;!Bt{dsQ>taDIXRl>Qz^T;@5BMQh<%4-o| z5v9NxqKfx^+ALsu&$yfAf^O)i3QW;0TrwuY5G34R2~=>dGZvS6fXqeJPm;&TvJKZ_q-v4}rVgN z37{74#7hQsnMj9FT2%1p$RUodVQl!4S&&>k`PZKeWwD@Mnp5rtslFdp9eJ|B@C2(Y zTZJ%n5wqt`m3iYBHRZgLgj8B7TWa zl8N!ut((h_y-XbJ+^v+P;2_5+=BL<@x6;`kYWFpsKh~P>R;e%vAdF79>Y`BbTzxlttj`+aB~W_hcXp29 zxy}0niNK_1B*GOD?ZD@_R@^+j&k&GpWj-@e;hy_aB}UJwcA#tjqfg(SSX{!T7tbav zRo3Z|#4>CjkaJqhCJLMQ@O=CcEh*X6#!Y?rbv3OTvy%lzW1=cJ2Vyp1M%vDE(M|+R zL5g~2`?0KSign;C8`l!Lpfp*`@R)_T0I_&Z63VT}r1~C~v%mE?s5^bO< z(1Ax61EG@@LjJ>MT@zFC)-T#S%&+k7Ju13MV|F&;#>heA}^%g4~ZAHv{bF zAQ$cXxwUt0v+uvA9SBORdg_DC-n%? z^)eZTCgsUyze77P$Kygy=tfNGFeBl_$>)zwIn4ho3kapY&<8@@0;b*$USh>)LqIZ? zntuLz^M@YKL0Y^R`68mB#K-Y(=u0+^ZsQJTm|eYvV4hi62_I{v-L{F=#aW2%G=C6y zO)K@ZCM30V;?37F@^}sxREVzVf6N#2!#iVjv{n1p0(hpV4-XU;kmsqO2(W=BHR4N< zMGhx|;oTx2y&R+Metx+5zNB?#l*;RDon40BV@bkt0%TNmZ7P}X)Dl&au~OHoNk~@Y$f6Y(Z+p@e=}@Np@nStunbmXI6IgB8yUv5$V%`lf(BbA*tldsZ)~xCrE18b5t@o>oY|`t(S54LlcVkh)T^AFyW0ZhmppE!6+1298(AK z*EbR#RNp`nG?X#3Ygh5n7H;3xae@`i`01fSmiN&OAt6hyS_Ru*Ut_1zj=$t$WbZ#W zVDQZ;o<*W@P>>-q_RMGff1DF#$Tn$$&3!}xmV_$FP=;X`Z| ztoirkvDNm!8loCeT}ylGf8@z7@9D#RPKujo<{DWv>j5HH1Rd3C^s^7|B;3R@wgman7Sc zF&H5u^TIpUdz({%UZGLhp`ckb!&Nf9{kz(A$7>lqANbc{rk)ik^%)v0N1Wu`5`Lr-MIT{T8 zWYDsxJFm@YMknO%wgnAb)1}5j1cc~+FC~iaey094w0(o)9c2Pthi6ij2h+{>2=UQ# z?8Sw%t7Jq`P`Bv!q%^ro04{Ql^Q!}kIHHe1ahUu-Xz^UG)O(&I;jkRP-eui6@N*taR{AY}id4E{ z^r-1Y=qL~W&v7v*@FS?~mzsWO0p4STH zFMV;&!7q;OIc2i+hT!DM>tKtL_lSj;y0Izf>?hj~3$J{8Lk6+#JC zFSG)!w^c5(ZHCAn%&4P9>N%-CgJUs14$OV#j1)j_Z$p!0Eb(&%*rEZ}pgQtFoev$) z9J(-#a8kTgV5V_&Kg1LR2q0(FtQmpW>(5*8M>v;%s)|P?>y?cQb2;XGx0=2{+|2Ag zJRiF&i)g36^W4U~?M-(cA`?<5k|Boq#*u-@z!wUA`x7(^dk6Fs6znrEHp7Aa_$>I)CrW$62sz)SD_N?(o$Vu$X+B$= zd0~%h*q*2VZsz$ZR#pyvJ;oBE>ym{7kdml>WHRKQ!h*gW;9g(*hFrPLm7Zhbc5~=^6%=&%F2f!`ujNY}dq7PCUq`fGZyfKa@ zw5k0d`}yIpu0s*kxjs=%dhvrq$DjA!$qKK!6V=kM@GJogo@ZX81x(LN5b$A8dlP`# zm5%DAUJ)4gjQE5Duw7wN@58B&OK}^xnRyb`BNu&?g#yzAkILqGZVM>TVzwTEVhdo! z{h>Bh`2)}(A0)PKw*J6_+%BWytA#qNiTaMR5Qz;Y3OT8SU;bOM!z>D{*a>YF$xqUq z>5t>~I_MrDs()ZI-u~!`%gplbMT3~K7X9HN%)tdTLYA;b2$~Di=CHn_2@>jI~GoWI(>pwnZs<;4LjQP_^b z4~Rkfdb}H5uk)2?*p0eqs&Jgc9dI541eWHN%S_;hn0 z+2jF~0IpB|O^~XFhNrP@52IOA``NP1#7$wdT(%)!Z9_SY`Ei{8`mmAm(yka3(H0w% z8%2m8yoZL2wqoXcrpj~PKEEb)y=u}y8R0jdb=-?7R#HYM?qM2v)B2O*^5<6vS<76w zVLX$+J~}P%YyV|jdk$%&bs93U*?*2|t#Tjv^JMru`BNEz)Tsdjc6pq|f8d;MFBTz= zH@{WXrD(QUwo$vO(kKEV5v=Q0jV(GwmB}0bD^4Ha-KH1M55@>>MAq( z1b;q*wLIHC+MhOH2hlO8nm1A)~hE1JhICs&Y@Yo|O$_%Q6f8VZTM0wh&$ zAMy5>OPWtRhOpeYjbbuBK-M5CjT8{Xfkcw?;W3{J_ot+48+0sVvH`K5}tX6k6;NWTypAn6U;bOlEY&5KiQh;sC=b{l(+bX z$Us?yXKvWX6NJ7vADfuipT>0>*2&k$Q`5Y$;45o?*!n=*!xNOO_fCjV&{l; zdx$zKzRU!wEEBQ1Ii_r;Y=EF$X*`?^SbCZMiHg-#@>KVR(#Z&ErJ47}lVg(t6d66D zyL9q-3`pC;#UMvF;_ZnruQuv+7EvhMnV9M=&4mZn*5FhmUrOJrgTvn(?{|r%Nxi4> z!pTGsFF~eBmp$Fa`YK1R&DH&a0DQK>39!rd`)8LuJ27GPPHxvQl=5J&WF|@)=gR}0 zhJJ@C@PhvnSWs3hbRZy_(}Sq=gH)aYspfMr7$DmgOhaR*=0O}*iT+SKm1*zfE= znJ8AgrE8y96EAn{4yM`rC)F$oOGZDrH`YmMRmGGe!Wjs z3Ful_W6|&Bir=j^rq7SY?3sc5^|i9vxwqCUN&IDkZwqdi>cz`&YsI4fxUODgt;mDh zui`7Z0(#GPk>>rA^h=ydD(aK(pcNe;GE}z9Y-YcII%!kpnx3$v~6ym9r^Qi z$?Pzwgyex+He5S!;4GR!^ehv|<4t8dLRx%3FjGwle9ifDo?*r(CLp$~`gRHBuU<{O zrr^5xdMx+ztVt+UQK#8OF-?om{3fXKoqpUjFk>)9ZC;C<3__~gbkA5tKMhuaQLVUP zR4XQQ?CSAPw2E9Op0Ar|kYBDE5=vMhcFb;MJEg{QoXp{r_3JZf@TWaPkDrcXQeDWW zeuak~AEFXH-Vy?QtY!E@r4`e>P72uTZ4_kFfC7HgatBd<5`%(5i*uVD3ugQ99tGGw z;0A`wn|0P+!r6k6$hOu=1D$>asE)Jy4hEWte$Q)Wd$kS{V~EmjoW>-n#W+0ps@m(}M!OYoQ;chwS)m8*q6$uHOX{Nb)ZW~ht?apMSJ9BO!o#^Efwq; zSL+b$uADj7BA242w!H6CKIH&6vOhmUi*mIHP8w_k4S0gJS{gvgTjN*Eb&>p&uPmTj zrP2w=BB8QiBaFl?|9F-X!8rmTbS+Na`&c*zBtuC@?xV?3iE0tpslz}4-_zX>M}%N{ zDyn!Bz(cxrWq#88G0QZp%Qc<-w|6A@2l#PQyTaxCdDSyBpC%hf%1%vA@(=%s<(aNcl#Rj3{>0hHVN)35gcvYy^aJGZ@nr6Hnpj9kDxSp>B9I&u0$#IcrPIjkG zjP7vnIUF zQn$7H4a$OA?Bpfv@wlJOz=ObM%*>v*^h?A5wo-Vjh8)>KjT@98ijr6pPP4CV@QUNo zzr;tf8@r|>QQ6C@)t;}|{4cn&pkfe5YR_ipn%=a^v%(u7Ay9)#N8o4!1dcV-H6SV! zeC<47asB{KF)rMu670h|0*tbZ?p`A4tNQ5SMQ*8}Us^Uh4Im=7=2=Z#M+g_;(^Yfs z;zTY2UH+Zs<&Ik`xz z@Y$dq7Wqg(U4XSS^*`dC67?jDp!VH_x$cY%HlwNO&R-Byn%O_048gFShz5Gg(&8RW z)bENVN{CZwZBBD&DG;mYrMuMw@?5}%$-T|ohAn-3XLa5FL^`2A4!m!vi6!krgwvF0 zuPU9+YTrZ5!E>^1UPK0~vg9RW@kz2G%1vt4_eSdL7>|AwX{i#i`PRJ8No*%8nI1WA}7xQzEZVdx^OiaJ?l zL3E0L_KB%rzNRd#1c3-haT>v6q{Txem1hc@fab>6N6jJ27ayU3uVCvT$KQL;e~zmk zoYJfr#d$?$ryhGX9))A{V%&KrF5^Ycet`m~8M^|tcJSC=F%UMZAej%&vCNHxFTq>V zjM@S0vBdk7(!WR^=_HJEZ zLtHHRa&V91c=w~wgV(y?ZC+YF-xkLnVH$^-r2=(RkiGM-*A=bgtuh>+mnfIgx_JA@ z?sNKO(Jw6QN&K%@|lX>Qrl#gbp-XKY(;0s*vALTAI3g=$q$B)m4G(q@>V9l$7Y2N{K$rm$-g5`c-OwRVD$H(Z$47QVrf0R-ABXPkuL;Ri4K-^>eE=Af4m z#Lgl`{VZi?{}>>(az#;#r|wWZn$td1_8KxmIwNj7MZa{9N&xS-$ z99K?61*bYVi50MELAsU+F758bXx}pb0dQz=hH#wpitf7N(w-vfREao1*M6kGa8@MM zVhhaR=qMo;es;6+@r?@wEzTcdu;CniFxBPHBf7I0N zyzLbGWxDC%uS%xZ^(+~7d6TsC+*j_a+#g-|pqG@N`gs!cpAd5B`yybjAl|}bYWn7< zl$P?D2t_&@cz}NP;RCNgU3Dw|xD71OZyk`*pNW9->|5#_99-ao5fg_Yk%#`*?2~B0 z&a|`>X%uURKL7w|!Pi6m&^Hv?==~r{dgT5eeF}B2;~+lnDdC|=Y)JaRr zPe%*rL~pXTETf5fsZ&OO7X;fp%D+0XjqFx)|+VS zJzl5A_{JEutC~5`9mN_CjF6n1r7DkaR78+ON17x?pzAa-AQkj0b)RVylp0Z;p6Is( z!Xfs;ikX0pD^bPZKUurOB|;?#-k_E-QY*H8B9tZ^PGv#eUSp*euc6`JG5^oA=FGoj zLmB|a)|+{W+t2qo4mktA00T%VK(#gYdf1Iw{_(aff*QsH`Wz4A0mjumqsH(yTc(B@{5fvB%4+YRYZ)3L2=(DfYopa^p)`B&vX`C z&ve9g&(l}7#YeXRp5PtzHd~4s>1o+XjjHMEpUqF^2JBch(=gBQ;y9I%Gb06lTy;f@hGFpD!lgfhy@j} zpt3qLg8a3iI+Ya#?IeG;$Dqc3`+|ZDFYxSdMkQK7Z@O!^svEk|-Pn!nGFqCi4s-(a zwPAP0)toeR6EuBLv!Q>nS4S9r7%3Kz0uC8VciY%D8;-X+bs08+<__#3_r{KE{z{WT;mP&_DOTY!|NoDNl3Q})+qE}2t}mrjOPVYnZe5WEMCKJToiNqt2P{GDS6 zT%+K0`e-CLVuc*oFMhn1`d7#huDU8vJ{agNmAsY;UmZN==%96_kpTSKhO5z%#naTu zGwpN@Sbjqv%--ONsT#a-Yh(Ks0MPvn2%pkbS};wNJKU_{RRQSzZmOi=a(31(m22oxG;hft@*C>UpufN#8lX^1X?H z_)u1@i`pN4{ixQ;BR9xw`wop4Jcm(c5mSF_xu5`#rt1?qNuZQ0xh0Ai@<{<))KGgM z*6ts){^CCn`ikg(=gCv(8w7!#JkE@(UDL$?iGSS@qWQn>hxyr$vE4N18I(3BDR_L9F(#;y zU#wSJtao=*g_oqgKH0kVmbN}R`6){$T^^!iogPX{E;2qCit(rWQCZCTv))V5$6w~CrzALi*`F-&3t4ZRd-XB+Qc9_&6`wq|kw8w{ z1En!|hR)Agk(3G}Ziw3D-cHEedu-390I16KCbj0o+I^s3mY95>{u^J5EbYr4=jT40 zCU^d2+ZJkTnRJk+N-lL;wrh$RD#_mP)x>+_4kn?<5NFgV5|`eWTak;hfi}Nn*v_%M zqmofh;dqKCfbf~8Y(ClTizS8N-#O9U!=6C2t+Wilj^m;aN`A~rx~N%9lM-nU==>pS z0ml=;AX`Cr7Cd7`-5weMHovki#KiG0mfTM+uyeSDH?_-|nwBwXfBf}(mJYZ+5ok+3S|A#pIU{>D6EN%58DRuY#TC(Nk@+l|Wa0gX0 zW4yu=Vz!<12C>pE)|(stA|;?U7S4_tXYM?xOj$n%bZ~nujz)`JYevHlO1DqKq2y2n zkDObCijUEcMxK&P&o+=+D=`g+uEuJ#E^>S%q1QZeO9Rn(+*kQU(V*TJ2r)=bu-pwg z<#fw>Up%TtI|LdT+1+)3A5bdW0e+!5MDBlo0z&AjY8X?Dt*Fzn2@dbg?y#nI6S?--ZW!h%llazNXJ#py@M5xCU1_nc<% za;b<>$eOx8Xza6S8~||@)gbV1sKeVf>(ar7m$Batp94xR-T^aZpgscZRHZ2*j|#zI zd~HG>e$P;~tf^GPHenIOgC1|SX^7PVK0=VuWa z|1>n-WxQpjI@ zt>Q@N3g(kNX{<$XI&S>e#m_0N09w_YAv={-;lq+4yZEIKB&!PDRIyR&)pF|NUyUX< z^gR~z%d_!n9bUe>%aH@5>Pl_Gkh2^u7Aq=j9S3(#RpFdg+E$r4@sm)t#J~U-QtPfe zoFG3~wYG5%=xJPQM&AKB+qal6<&arh2%9xv z&$CMsb~VlG11|M)E6Qt$3Mb~RJ^VK=89CGsExezn4Bu{b5a%JvYHOoIUk3}c48LPU zn*M5xkztImQiq1)XCkA_yu^_1#GsM45sv3`k>dP?K=WFlJrU~D_~ED&PX`=(g9)P? zeAic3M_#9o%U;LyM4p$UhrObi-j(y-zpXLxbbd!pXpuJj=d1gR>dAoqz+npAPyyq+Po5p!OP#YT!n->+7z)`3)HwvFv~)_w9P5htUfzUrf|eD!-qdS#PznqS3oDuP;G zG@c4j0iNcBp8BN`fKAk9V>r&nNzToEI${8y{TWehPSd=I5l&mT2BRhhKq=hv1$_+ z^<|zPnBCI&drMS`XXBs+FG@ZLpK&*?PPA#-CEx7A9C7KBTl>}|wV*-fxYK+X`U-FE z{*xl&O%%K4>_OYrCto{r+F6EMz41L z*#fEEiJwi!ZI3_q?_m0rHZs|Bk`WX|{x#CXaB zWuBJ*_{l7^nHre96PVKgF>d@(b}5LKd8FM!d`Rv(`OB9u#P%bt?*Smqo}C6) zbp1`;aBU@vFt#n~CsG6S{J)WQm+?NKc;&#AIE4O}y|p6u-&!Ir&&MKMt~(c53a3jn zE_WKB#z)+a%7#Cc(W**W-TnBFricmZM=T>uP(RvR8y&zip)F5pewH~xNd{R+J*l3R z1vPi=o0j}b0pd5$s$d-z>7cwroeIP|&`E8nMC4=sYN%$UyZtA$VT#(Z0Ayna-l@@v z5}gKIDeNPhPo7z(R&muOOorRU4L28iog^?9Ce7VMM~i{}R<8gQTcrqvvJmr4*wKoy|^jW>rE{GQHo zaKOx4p+AU+(Ug80P=VCQGfE<~W!Lo!ukiqgtz(6k z0B)?^=cSd4eoufjI+Jn(a`#id(m04(m-T~h|1#hajmO)DGF!F8C?r}|D_N}TK28D) zWGW|VLuEiBZ~I?ImyQD<7Ot3vXqp=r5X#+C#faK(H?|aQ(Vpk0VsYw)Cz;DGl!3H` zmi)TbJZ-deGwd?JqQ$_u+Tpf7>kAq)bvTNXMAYFuHf3DM{cr z%JL6yFhK2oYU5SGxw`8Co?RPdUXZNlChJJN3Xat0V0O|m`Gyqqw7{YxArLPDav-DYaUsvbwsl1T&5(uk28c+XYMOQ%&X z??;x*{`R@B#~-k)A4rH6&^MC35UPJR8|Q1KEp+%&R(kWt0$_L4 z@T!i@9Z;3V4A+O_x>anD{O+wS=XMq*aB%z$yQ$`O0MP}V)e1ORFAbsTNOjcl&sR>X zY(Vw3Vs3CuOEF@-_fqA+vNqGqth#oeO8~zOJE<@&i(xon9NYF__IDTeqWR{|Z%Cl# z$wDTr#lZNwND?jjYq3{@I@+R2+?$q>OtPSxT-hA}-K353CK%jUCMOrl5DY@rtH7=F zP`T|4v;k86;r;hUsS=EIN8{{$><+ByQ4PhVfgyDV6$%xa;^kK*80Xwv)eRMLEt!(rl| z8@F^J4Y_l#!h7LZLRHj1mDUC30CnaVN>GvI5`wn4G(QZ1@KSgl97zM=_%ow^suU|u z9EjtUCq1(5mlwIZ7zdL~IAErkXPV=*TFB&~63deb5c)_Z%Vx`Zs+9j|Gf*p&O1^py zaDq9U2p=s6$)@IQBYue$9x@nfN_KC0yn+dg#fo~v8E^^Pl29ds>Rs)Cu!AbEDY0~cYv>#7sH%`02r@@RQB^}v8j}d(mfi|63hE| zNtlwd8a|zi?(dx^B>gP**ILr?I^%J2bC$iFIei#BydJEU^?IDAZ@RmvUiL&Mv0^jh z+nY!Cy4VTKl5w=UwC8kcz4Y00u>3*kJc0TAVm(e>hAyPj*MjRXV$Mj4u*6u0?Lr(a*9dk`2~n{#DrV=o+SrYi3jaEjpTb|po!KFW_bg`r;;U~!0yQB^ zr98x0*`NQPTQUyzIyI?WuP&`h2#t;{mm*PUp|nl~dJp8hHHq{NsBE$J4)$|{`4=r$ z9}>i8yMK{Kl^}5H?WWQ@^e5@_)k)NhJA&8(Cn@YgFaaf7FoTLjmI>j+P)w5u<#M8? zbjNTs_Q3}8sJy>`6Wa647y&FTWRKm+(HiIIdF0xFqdpGtS#Tr)vSk*7$PVzH5401#HBqXyBPl`=aXgKnuu)&F;*zR;H?|2Dd^#wcEcCd{? ze-SWNx$n&z*;g_DJuJ0GG!k1r|OfDSFk640%>y`DybS~^F&Fm?S1?_C`;0& zgc3UF0VDDa2Vg{!`F4cx&RNm(Js^LOqJ1YR(*E~3tsgamR3lo--j~&cg4KBTn=h&7 z+`+N6`S;Ew5fTf)40>(zmxDwUa2#m;#L$_~Ep_et2xGq|hg2#s1sO_I#w^KrM3;Hy z9lrfQ1ik|E>88FK2xWreu7}QCeL|<;na&Uo!|NQZ>pUrPGK8GZ9AdA)`T zZikYJq_MwKR|b>vl^>|et_X@*UXFQ$ef!Qrh4|(%OVa)TehkYM_=k(fy5#vdjh$nR zeIyk3RuKbV;fTJZJT@PE8k{$_fH!7C9DjVq``t=*@Dz7|E=46cim;Sk3|Y9&N`)8% zD*rCn5|2XN+G>9J>$DYBO7gBFmg!o6=tHQ>76Pd<61i9`|HpfQ#LYRxJgQAC353x$ zj14V3Qwmys{*>pWAn2kLANE%on~w))UqoNlqs4xw4gDP!S}7@#>^4P)(XgR0E}QAS zD3Ld+)DV&&g_pnecv~urM>}~wZH>m@XB7I&Pi$yx1SiMvw;<}2X$nd*rkNk#Hj~!f zH>uBKl(;{PB$kP1tVqU8v(lZ+Ob_6j{a5Pe4ic)+?>~VS^!95a3#X>dV`)aoT&L!; z*W0g#kyF@3>Z^&3D1cU4p^SOD-@&B|8^a<_lQN#k$|1rUz$ zufOKr$pH(RemPQ&oBb`47iFb1$Nu zTCP=IZ6_iYPg(`H6G}PjITyl-17uAJ{^Lq5zFlE+>1JmCy1Ud3D5a(eyDm#52HN`&9FVci__zHzNE%YOI&nHYn-bY^ zY}W`rQh#f2TJ`oQw)0v`;SDW&;OJ28pFNrONH91{L*N55&@?*l-^nK* zC(w5~J6=$tCXoE?)eVTEGSY1$S|0%nGevAZFfE@2)A9myE}gS_!2;^G^MCmAZ7Asn z!@0&&G~9FR!dp`+BI&QQiTTSdgqUAi@|vG$8E>90?ivu%P6=73zd7T@gOZP$*N(J% zxZLHiL^U^toNX<3WsDlv9*5aM6~xTR*2noF^AuPBChMHC8tAr364df)(l<3&pJH%C=8mvS@`_(7$QA*&2SLB2$kG$b!Vtr-|mqQMaoTIC+cIqhm|NzF=mj zC{gJE9vq<`xOdk#M7|+u7>nVG@#`4gBSx?-Sj>WnI>nUlbBkTgeDP~W z#&5=v>$Sck9w-_LiqZXM=)xVAtjgFg?Vk9WI)54Qg|hw*^n1aIoXZtB)@!_s+ z{5VhPo>zVeKL%si6WhWChTgLSE6+x}hR0AnNCz=Tw>g3Zi%NGso_HrGKq#{Gv9$r| z$VSSMzjL?BT8@!S2k_XZ0D(s7{h#(v?@fqGk7nDg><{VRv+eh{+3KQWzx<1Ni5C-6 z*qG_@w;=TS5lb9s!2B%Pg@8}leua1`JR5-0%eeh;X4^}qPdOjN|4=M57WJkv$U;h1hY)}TI=o5WuLWOklULWt?)6w1>+H{1=mj98GAb)4^ zEE6ij{n@n*m!`kM=b;s?asZhkOH;Wjj7RXt%YZ$O{QOfsF@ z5eC%{opKH^c%Vx*jhPSr*(a>H@5}rN$d;B@KN7^Q(T!HlTLBQgJ*Q_(l|NqHi|iA_ zM*RSOONUHuvck#du&oO0+{`aKC|oO3sb5Yu4+njF;}m$t_kt`GaNYx-C-P{noTbK5 zAZdqFD`t6vnv+jfkPPOOD>38LgHItBV=*b1$o*|n0AKrAu}C-Q*KuFcOJ{P{t{q{m zGgHt)7^5s!NX_W&olz1kQ_opA_NePWPn@nxfjmvWgjKdmKvXEC6w6lcIe;M_2Q5gK z0T_CZa()U-1gJ!(kq_$xK=bS8J88NJRUl_P*q=K?4rti25IU7 z-1+~|>~tkEB53SJZ1MVs3y*c*@@gPVq7(hg&T$A{K6VW8v`ez^`YgT*M{_9_eWv7j zY?7TcC%E5;hCNTrT0leNVOvxw!K=t@Y+BxwR7bm+n)XQ?)WQP0N#KkMm@4`nMi(MU zuPSPXq%dd$A^`ZKveBD3lEJ52LSC0Cb#RUC#S1MZ=IJ?*fwV{?$~IG6CWo=oFkDU-FF+fvi~dzenF!wyK&yznMufLu7A8-K zx)r*07(4;o*?va>ySPe;bzcT;!odV!n)YLHGook%>I)o$PL*0oafD-a5JJI*iq%ms z;9ocVNqO1IMgj^;=6(7Kr+FNY3hv?5RJFRVs#uPMtZcE@dYEIn5($;%3K2c$@4iBc zOq;)lyb4$bt^kJSaxi9ia->!vf+H9xp3O1h1#_&ZK)Wu6`n0=2eCPyp6~w?!^t#A{ zF%C-nTymWTsz=haU0dD^;&KD~o#~(jW2x41gV?3&)Iou4$o}gu*yohXCed4UjcMussrZT(N`_1VSQ_e_`DD=wiJCJOQSyKd zGR`mJayaY?=>cX^L1&EDh^rp^Q;>m%xGRBAMm?tGLLdn%Mu`LfPBDf(lvai5J4}WE z9O;(c(Ngs8FS1(8G)>-_qfMeys+_l%V4+mV4a(~An5z`nJ%of%VmHUuA%>E%P?FA2 zwdmx!yphDw50t9IGCgV4m_lChFH&si1QzM#5(BtTsdbZ$ z70f@xV`o!DaIV$S>LXV>n!<;R0}?fV>f+z8o!E3<;mHC-vVv_P%;v-+Wo0a6Y<%xr z*JGndz9D~M>{GHCcpE1LFbbK3q%QwRStWD;R1I#SqYx>0)MpzC1jFu*1B#ltn*S#0 zdU*c^U&bNxIMU7qtx~r5Z;dugt(gO41o1T4i<1Kmv97YK_PKXU%M*VW;__E6C z{iJjA^|?@y)7ARMMH;K;)7m)t@b!b+V@0Od!-a~@)A8gPm`;tFxIFd_XL#RqqGx(l z-WlFz^4*GmH{zXr?AaP(P`INCHTJ=Oi_~6j?Q(alGhTw*syBd!%ZaNFDyIkrXA@dm z0x*w+t|_$&J)KnW-ZgI55M7rO}k2;TkXGFd57zUAGyi>e7M7Nql? z_#1W|ZLKwO&2E->lF*mBu4$6hSuNpwP_`8kjCoV$8lz9LvL&G|*qI0WwLWyMLwC03 zAr-^$gFw;XmUwybd98ECE8JcvT{zbO;>MUTPD9|}K;>+40k?3nLV@QmVB-RULZsTA z=5YGA!4&o*9$2$LkIORbpg@H)jm^X7d7JsuA2y3;*Ks(F zB@x??)@q3)JsqG_DgZ`KxQx!Jeft4-U?2dsQ5E=fXg;ty$_>6FbO-_t4+$^_|7Stq zI>p+ZV%RYxIo!dLT?$RNw3m9s1q%^wL{7H}LQy=tuI`Qb;W!@sT0dpZP`qzXtm+@G z`|ovlAI)!vBggCSUFv5&@5!GMX}zSp7}3thH*KKf&Z%T&A{*BP?7XhdNNYeQjN%=y6})3?!`;}M9<3vS!9;WgjaYx z@gejQ4Rh#!5x8G4n?;mj1%k3uk-`)m*G<43_;6$yy8!cV#aiaQ~^6qe>mYKkFsXyecx=n;vo|n|Qu&{>QCcsV+M5xLSoEOJMG@ z>+th+C7f)l3}%_a`?dpSx%BuF;Px@=+A}iyW{5z(Tyy6b>xN%Rc?H;swi&qq#&W25 zfs_6&W>bll)4zo-{T^CX{6dut?4MkLduegiH+ICoP|_hc`P$~Al2*k)ybR8{N_v-! zg6fIxq@`P3346B^tU&fVR3$a1)ygJ7Lk(CGcJ3JoEe?|>a0sJzHYQM34nv6-Sv3r! zwxakfEai%u3v9os=(o(lN6~IX0qKyh5bJIG1yiWKa~mDzGFEbcLgk6#gc?!sL7)s; zA?J@6CW3)zRS-&B>_M6jmC0wHfMNxb-(e_QbR!T6ffY}&gp?2oa{B1iEEN2U$x{xh1{8J+g7zyE~d2qd@Q2IT(o+Ih*SuVqx{-(DgB`A z4FTjEHFo(_@PMr`WkX-b6$q`~d?#-=k^qvmM)br?wF# zv^&f%)~P(oH(q$Ek$#hhkHhlqP(Voi61f@oDWhJ`5#Z62-T#q=fqAO?Pm_U>Aanzh zB9X0m7H9ENb%J0(tSAi;Zq+SSN3qq(f2V0;2MQd{86n=|571R9>ly;+R;~{E+1Fk4 z_MEvjFMB4ULbO=5q6nCLu^)<3IP)D&I+QjkZSUt@xZ6Zap;ALk2?y)H6uom0Yf@|# zofb_=#8Zptm`WoNw%g{D>qXo_Z zHrq`R!RE{lzLXHL==djNRyBNbvJ~|9eYeCj zSXR0RRD3ffAaK{+0n+=j2H?W7Zp()QP7MhXdT=&3KOumlOdWhR)W(3_>p z+@h|Fa+@D3!c-{l6G1JKVtx#|mY{;jY%z?TB$DN|plmQq`PKpI)acz~(6xvuUjxiG za2JpByV&G_I0jWa@Zh=2{=;RQ*(~}b?r~X&onwWvNgC1 z6Ajs&%=>%UI>(1tI6I#cpZBXMi;0uMzhv(M+)>mQ4LovOSuOHRK;lwVklKq$jg$Nm zqb^0HiH;q-aKMzAuvwa4roxEesTBexUD+>H1@59ZWFRSs@7^_JqvOh?Ye3SRXV0t^ zcdqyBZosD7<`)(|!Y87On*DQ^T!Ys0L?ebI1l9@%#%>`5!&lzbA=JuFLEgJK4=icu zLZZgl)?A|u7OQRUPVgxO4ttV|!G5X`oe~T$h0RZ4nQ;$qz*EpI{<3O>z7ve;G%(!P zuYa;T$R-a?^{BzFh+O}Ekn(MD1^!AEP2(``hX?i3(Y%*yjeW2eL0N?`=E4w4*wd>= zFUTHK9PA4%3JQO7E0J-&3I3a(A595_Dz(sP?3+e1jJz}UC7>8?`zHU*|Blkl@hu*{ zhRy}7FUmHC_-1nS*iSZa7+`Ku8wM+tIdSgp_S#yG)iA`LZeAR)QZUYGoX~pNn#O67 z#m|0~qrE%MB^4b#vYj8M;s4R6xg0?~Fw;g*57v|ZQ4dJ!x_3XCX36^c zgIn%zl>o{cmBa{f)jBLwg`v@DU?TaRgCXQOG-P-?@?R4G32JQ*gVfp-Y)$BEXh%~u zd6y9|vzu6^Z!6iJnN9$3(+5IT)91{(ng512gj{7_Z_l)6hpaMvbQg~hB7eHej+M>( z3}|YMuejW-M2-tLZ9d!KhQz1;ZF03sNQt>;VTUT{Iu%06>zinASdE$Ot^=)eGfVm1 zK&llD^4O|0pLM==hm9S%Yiq}pncM4SV!wvAOH?awgt9fVRf-o04yjho^J|_hNgu~n z$#4}aXWBV7Qo8Z^uWKDB3I}p5)KovkGy(2$vmdXUrZ*`rbI%%a+2~mh6rE5*auc|3 zDkC^xui4~FZB!gRHO5(YzZtfvWQH)Mu3GhsP%0~a6NQL#u4gF;Ob*I9Dwrl^cQ*Q?+P>BhVX!9DJgNP04e#u~p^9rsMT-A+lte1J)|@HPw!gf3Fyoa^h1M zQDst}!V{kqv2H}I%=dSk)L&OlbDKl%WBX#1$4TA!_F<7!%wmQL6S=lZO&GmaItlK|lh)zA0>L-Bts<_uJc|z0Z-z6+TT*4fx z609Iqe9G%5`nr2&;hoGWLDAn5wAZ^HuOgHKE zu2*rhDsu7Tz`cmZ&tC797Rp69sf*cZX|VX4 zjJFY!P!7+%h0#=UYa)&|QRkjX*^r?pDv#@jG*LZT%U<6xc}S)JV%9$R4Z*j-_!BO- z5`!m=Ff>Iq?&oWL$86P^y}=?tK0mTKh6S_T6Jl1ib2Hez4lM%KvyS^%Z^nJtzG~RJ z!&E;j*-_vSM#7z*5|#zs1mmiOpRk+3?{!IST)s&Rv zM;sL78m;~$Ed%=1U*Kc=J%o!XT>L4u#!$NZST2~ZzAIA$e>8lWkT~FA%w7Pkjv-{% z{s(eM95^@cy9MlNlRgxV|J-2aI&W)sKTJy^hTs;Z6ziyLqh?e1MHb&V6TXRcOUUQ1 zn*141J*JDbF3;*}<+C>7c6bblGiEXS>DuK|HkqQJiP*cQd3iU`vTbVAEZy#XoW@~x)e!(5zLvTo`6s;ydNQy^LSVF z^PLkmzV~9oy2%fD;rCm$BihmYGv5QIKX61q@i)26-`6|v!KI}MWthYP24n1q0}sz^ z6U54#`q4_c;V_EfA0Ne+pV2C$nVb8LeD#d}_=pARHYG8fv&i7zZ?WqNI~^?yiOBsp zdY(g#yrA|r>oQeSlK<-W{CxXG??u2xN4xLg57`z*O26w-r<>kS-hZ}}&$2iC|07tg zb_D|WRDRKdOEv9L&9}dwRy-xIg^CgMg6jVEer8A@i_E2Vtz)Pdj(DL& zT&ptcY_dU8>~8#AL1a60f;407@Wp-iNZ*0PN{#0jIqbz+_Rmefa7l5lA){xKC%iGGi2DH7+&-6gN}JjKAoC>3+7X3?g4ql?)GPmUR|^8EL7`{l|@7jlG-h4kkC z)3Fe4dB)enbo)OY3m<-az+@Jtebj1|AuPnI@ssV}RFc08?+FayNFv;vUNfZQ*U5Ja zVSgcC_wnT@Gw3;h5Tv2OiMsdSKb8E{5JcU~Jshf*k65{)8*7n(VJ`)RBCcIm2&MO>ZDE@Eu%+zjc-ss*{6hy`&1F#=(dJUC(oD6YPD>2yTJg>a*f$3BryE`L;Tg= z{rwUkZ={|ZWfz2NFMLF3^WM@;Yoix^Tp+&xJt*kQ16!^Kenkb$)6~Y_da2(T zGfp)HJ^}?Wqxn}1WlfVoBaKiUa>u?o1NHla_>LeV)%_%0rTJClhL8B7G&9!Wv}#3~ z?F>X1ekoB`Z_V^p+LH%6EN?rfJZLhwAEa}J*A(^WPkhZ>>lGoUqe6G`@MPy?1;)SI zn*HBx-Sh*;cG<93$a)P2&mzQF$*LCU*UFlV)2y8k(lK*4(Du6DcKn8M`_hv^xQy+F zg`!_0P`Q}rp#PFvwYNU#>)TCL!m7M7iq974@2%55pz{wLlD}OeZ4U053;U0KYSh6=dwq3&J+LVfXP_UtFGbV>M+BkBKXac7PbmnJ?%rd~hDM z%#dLHWzk>TO(w@oqo*C59Pr1vjEKUWcqeZajiZ}3^D}Pm%_bKka}GKMt*_&RT6RGQ zu#DK%I`Dm8tkEIjN8`aCj7tjz+R2bsmd|$sZ<*$C@7*Vwia!@v?!5&Q>$BNdFz8$i zZzog~O;h}&LeMF5^K>HILC>xc^*M`f_v2W4a+epnM+LXR%G{wZSs00P!5fbelZbNy z{ukhj$U{yOM<(G_A?;iutd&RjgxE@Gok`Pa%BQ3}PYIk{H(XVU8ndhe5;ww4y7!)L zt0lW}L$3*TmPxtnW0zH^X2Ls1+k~SOC+Qa#X`Dsh@1f0mWzNP?6p>niSi3eabqA9n zYSlks(zZxL$>iG*!DdRX6c5m-Iv1!h`sDwL@=w}_%NIl5+G3>w7>s{6FXYB?_DF-N z;2Rk3ldZ6+e85I+QskL?eZ$B631EQV2KT>d_bwe?n3&iWVPL)Z=$p-p@U5ORuM@7o zOhL2$mD|0NpdFa1P}ud+bB$MuGrj>sMCP&J(?=LQneHjf{MO{pv{TT6Wh~4?QWt$@ ztV~0|#hl^dt{-bpm)Xl757XHPg4~rnzZPY8^y*3E8r&&X+$eG~Pl=adEu7|3K)d8;!t#NVcSLd0|#Aw<4Hu1)lX3qt|HXWxpuF=nMW;jt! zrBSjajb2RG!~vU2w<%Y;Fehp28uVfaD+BVLWW0E_d#Vxz0(9b8l1Sass23pzj|MG% z_Gd=F9k{T;lmbuCKHgQky;2frn|HNGN;Z}RFCdh&`gFyImpW9K4zDWtO@;ZDlVQCY(#thn zmDL25)SF}eehrOXwN3r}MDSXT9rS0(x{#c*E&MTfdfG5iR{b(`6#UN>zpY72X(e>7 zK`@n6#Sjx>nP~;Haa2Gl2COwBspk1i?w)}TKy(ce7n!1qOkJNogf>l0D&20TKIQ-R z9vw@;v%Y6yKH6O?+5awR_&8Z%2ZE)Lt`#wwzlD>&{Oo&F;#$Q4T+>9Ws35`ZF?}1v zKv4Dp27)}ckMdv+9fCP|pBuA%vf>~P`y20}*;MR@80&<#d8Oj>ttNcOld48PQ*5;U z35}u6INet*vh5m0O7wg@BXw!IvrG!OZKS-P@^vqi#4vQu#SN|AxGhesp)OWiE9u%eF` zG$PYN)~e`)SYZ~O4mu@|=~r6z-hO3}ylW-6;j&r~{jEE#u?=;a>$T3kRxNP)FMRb6i@}lYPuXLYLL$EbUsBhgYmgdjwZKrYs=r!f(5oGq0ru!+ zlHji0Gk_uJ(WmF--%0Z?pjq}iwQfiTOdlc+$D{hGLTO#0nDLwD57H&7xcd_Rq*V{C z|3dSgQiIdNHyX4P6j6086x|sfK9~=FND=J&Ww&i#=)6zwm?08P@sBB9e`)fNPz4N$ za`-whBu>><+1RW435RNOfU6Ff(tN~e=@e4_Z}y7XxeOhB`G%*$k=qRB%|FSeu`oOZ z{0rK{7^ ziS#_W+HrPxoU1w)!jwzPY=XSNJ?cIc{!hFp4G89!LX+Pdjaj8uM@;?t$xy*MsQn!5 zoypVI@RUz}zD=~}UylRS{azm0)uTc6NHJ1ek1-d-{i5V1fHiDn1zxn2n+nz9Ldgc< zlKvvLYZ=YNtfQ}w4wALYKgUP&yo(7v#lTH`^%zH^6yp8f(F`zPA$-z8I#<_CY%@(k zFGaoGy_nBO-JMI?xxs%vk0)K(UEaj_c2UVYk|7WWb|Yh9a6oz$w<5SfpW92r4N6Bk z5*%_$gAxw=K<>LRX?atv6qQZCWyrJzrF*FYF9?V=NWq83sj5 z6;W2gilD3*JCr6i8b@Vc{T$=Vy+5bG3l3uW6)L=lnnDl!izoU+&EV&i*b}>vnkIaX z#;Gsc3+}C{wh&I@TJPc3XkxX_AL>kUY=tQRkDzmF4tt@u-7hvlyIM`KiLEk=K+JYB z!h;Y`@++wkP1J56_Mjs7Vpc|5R5@gG(}XeeIVhy7`UEG z{9=Ttm{{XnB0I(p8-7Z8M_uqMp%a>cV)C`6LMbKy!HQMCcdQ3}UoLr7{XRU`&OLrl zmeqnrx6=OKeZ7Zg8l~DUD{o(zj99@Mc)u{Ylw4W|3H{HqVth0g!Xm9Z1r+x>DxbiW z-BJz_`xZT6h1Cy}^L}1m?g)F2`%K25=musajoMzfmO84ISt1V4yI+6AugPm&2({99 z)!JNr{LgbVpsmFHZ0!Dig)&>6=7cXtRnO-L{-V@U8xW*xKt+)O{ zgG+dxGitt)qYQ*_u2&s++g#tlpF2liHvJn)LS>#Z%+wqvBGb(I-3n@=xm)1x%yn!3 zw$-MsWSZ)X4H(8Z=>#Hje`VC7;-}}) zE6ZN|Fe6TF0ymQ%se@t$o0{LwzU0f>)}>eXBC1~%n%Pp^0li82JEG!aOP!^(BK&Fh zM_uATBtEixS7ewtJ^K1QXG|laAxs3MRuiCTFr1r}D1Ty^=>eZ~X`c|lj3om?Q2*|* zJp3eCFdzg_kHnuYgevbuxe7vfg?CMjItxfxHJNcrV^h%3$;Ax$?R+(Tu1M4bZ}%X| zEdBM+xTy-oriXIRnuD8AmK zAa+4wXbzorIH$l6{N?*1%>f?X0mor%W2FE(mKq_SXrAGl9Cg zu*AB!o^K>PYWu@81?NIlx=Anq_z}FFT!1 zVH~kuK4klQG$&USwOV_x*HqAxw=KcVDC-NQw9IZO7`-Mx`lF2OM;F*H_pm%pb8D&Q zx^nmjJo6r^4M)x`VTWGrTsHR%7$W7!<8|GVQGb*^DIjkBc6T!1`fqjH;7>c&1VHmN9(0BB7;sL(=i;0ct=qb>vFlMOs8TGMYN|Xl|fE# zxhM|I{aPyqAWXQ^Xa6N)8YRen4CyRY29uAZf_3jMb&-(QEq*$%@m0e zTK5T>iPnk??33jsuQsbccC1_)2M~9bs-ZIM*L0qupjqX2x0DvR+#f3tFMnHS2cVDZ zdMzVf{zZk~QI=W8G$Hek^ zw@8RXS{9O2tXxh@NolC&Moj!y>VLyZ z!bcFhhRWfQxOOB|F+{Lko9I<~cEpmz?VN!Sni0np2_#Na4^gl5x;_XDc~pE_NiUh< zkhJD@`IvGKtRymM4uHS?9PfZvO;x3@XCD1|$b8?A?jHyO*zb&p$e1L7;q)s2wk=mH z{GAO8NWdwGmUn_?Hsc+pD0|_P?b-KYj`R=g{jX?d=aTrH$G|WM4?S@XHB#B)RzgQ? zo$H956KyS(?w71R6r(B!%GmNSQTjl+s)Ql%6vv=EfSiPl2AU+iW1s^Msa~-+45+H6 zSCa3Z6CliN=>+eH;>!SR4tP&iMm}^v!#8OIsJ9j&qe>Z-B z%7uUQay)NT9$zjw|HF54N9S?{)QMUnS~XvDD$x_9 z(jW<=2wXGdsNhg4dgrIwrBuzsYJyoVXd!PHMGN4PHkwBlTfQe?XXG8ciJi7{x7YW3 znrO;&^%PeFEd*$*!J9Wf*}sUIKApt!@r!>_9*wpv7}s0+9@|ZFyuaRlS82F5QK0bb zs9)`*u|aBXfO+&3g@-F#bIe$FSH0C@i!X@4`?d#0wmCYwl#zKHT-Ia&Zr-TBv|m;1e6Jk-+Q@96Y>y0^p--q! zUvC{s`1WJ^Lw%l7xRtuyP|H-}hKfbP*d}4=&WX|`gx`=y4+c=$Bv|t=eFT?(?;8Nh zDf;E-c^U!*cKn-prTNf*tw(7%WwPpH6w~D24V0+W>d7}I?q~YGl^qxJ6-i8B_in>< z{B25W!BPm;GKF?kU|hPqg&^96XY_D)a+X>Kt+3TOEoR9*Im#2%SjN>;K4*ush`0(q zF*{G%Ft;#*4=1uk8(6jj#-G6!%1!7Gav8t5r%-mn(_(_+KE~XU>*r)uj9sNu2gDbM zctGC(Ecp5-LnSh1%3v1@_Z>%(L+S&ModLTS-!yY#T~)e##Z@?L#%sr!3J%YoWSxNH z=Td=+%AG6)b%NM}=~1_k6#9=p!*^WMsn5T~=87hKCmda zg$Rz4c=p_JKM@;nq0RT%%gxYPZDHHaIyF@8&wCcXD4C(n?qWa^qHzy{xu%VZz1-jn77b8pRu?GJSB>#4 zVDHl<`ig9wxu}lO2b%s3gZDn!Wc(tYwBmXivabs_(edrkKHag0Vg}Sl@8^I2I@l2R zjVQ7*(TThBQch1IeqU5jFj;emV4M=y!FJ3km_gaMax!RjXJ+^Eg;}!?=~OyiU1!S=K)*zLYtiM0aXPS^Eyl=)>g#r5> zxiF5TN4u}uSMD12FQZ?7KwB;|Q?Tlgp7=0U<)$ zBC4=V4FwOrCp6A?0IT7bw$`&N?o?>7B*Mh;=aW!*>Dv?_~xs##L+plIj^?=>$k>rWj7KpHvu; zMeFCHL*&F!B5>HDZ$>~lsMb<9UD=?dP*Mk?ED5fMHqZPo(le|pUq*Wr*8m{38Nxce zkUKfRt$ukWa$`h9;J~I?n)oS_r;FSBxhI?R{dr8x;HtB%3GVX>&ut`hZGA8|Xb~9T z?mnswG_wZK=FyPGucFt-A6f*AlI%h`9cap(pHm-a8j-!$?F;-(CU@bc^Hz7J(yOqy z;5At4#oD)yZOIVbjrn7`*cdr~@N$30sxoTYi9u8#eN;R z87e7n;;y&y+uCLc*UzEUwBMkmhmtdA>E%ANk|j+WSy=q{RK_8(_+ z0$ZxmRu_&*W)qCt*{^^7xa}H}KCsBK^`KGShdkGmjW2G_lAOnVXbx!M`WT4VhRJvT z264fE#!PN3(Bua>Jkl@CLTvzy&y9Z>=}V$>j^bSBrY|AZ^M)aFTdWNJEyYIBXFEPf z&ro$G()O_&#J_wcubMh(J=WUD8n|^zRF(bVO>?0>SA}`bcW_%GY6~a9_|o&Fpf9bw03{jaKO; zx!J!B+ZRC3&%$v50cKFXJ9&Q$qdhUiA(nww$@Qg~-mGlO5NRMPKbwLG9|2BL7&CR^ zm~#M9BaZEjRo!N1gR}opuk5M#I-BFC+UKXn(;zHwOy;+`OsfV)j**);6Rxu>|Ap;QK7kRJ*H6wW1BAzU2up zuSgS+N}ZcfXc^oQ)3e@SFo@X7HMpmjR{Hzh^J*E^Z3hFiuS?UB^EggLiMAi2wbcRx zmRU{y-qQUSGUf11Ttso>jwY0}R7*5v!E9!tw4QL{$CJ$C6H@d=j;92FTAOQL z2_$wY1)TBJTPAlY-CWEIEm>iD%uJVz&;4@R<5gq)?ycyd{G6paf9bFzUu6wy7M-Bw zn&TelM(wnE@ob96nwB~v1ms#0dqBYIV|1BJb4ui;V&`Ci&f^b}N`4b)RCz|08`hRH z`rxe~ow>4?YSy)bKAwpCN!;rz@SFzGLxrc^G}d3*LJPmR&`m+h(LdubGz z0TUfer(O4na9l z>ikq8a__i$Wr#biBz)1HFuQSFtr&reN}Vk=RU1)y*gu(u^(QX?!w zzs#RDv>7Kq8{gws>gzf*V%|r7?2Q0lBwZ=MmEp$k<5is<*0**R@G<{q)YbW zWxg3-u~q5iQ>yBv{(cu-Tdgn-o5s1;b2w$*u2uu0RZ7gx{)#Y9Y|RV=5Hb{t%`X2( zg1%iWZqGppD;;!lmeKSK?tJ%R9)%{Z@;~{}*a0p0$Q?ufLGp;+FK=o}HQTjLmIPvi zF(~u&n(v>Y$-&VA;b(eUrn&O?BLCU(2A;IKCrtjx_6PG@BTUB3v*=@0$UIysR*m3Y z0*@sh6-pI*%&<`-AdAbd>V-c#yPlQs5ULd>*My3d%~Ax?e}C>Gz`2(B3J^Hg1E=Eb zC}_Eq_OA?MtS@U@GC17C>qiT|jf1wpPhO9zOq0-)XM5i63|e^YOWsZb41vbO z>36OZ<eS32rxDW7i?|e7aMW&~^TEp6x{WXlQ!Y zu2I7WroxvLTvWBzhP|`aJU2!-RWZK2!7oW~-CY0;z%(^LrKvJ*QWNmzfeeBLNEwGb zWo}o%EIpne|AU_^yB2X7bzyn0l>c_fR#N+Lmcg2nbd7;RjC)xv*8CE67TXUe3JHi>DE z{~b-K;eIRq4(lm*h8J^H@$Dd>T9Epelizn+gwHdx#?y{&*;DW*bGftY;Pw}Yll)9; z4xRqQD@G9_JK)M%2ngmk5sR2l*Pom&IDc`hXh~LOH zGr{@w8E8OW1+^JZ*<07x$;f$$0B1&0c(z=n#R!nW@}SmPwwa7}B~3Pu|l^48N5BIQ}(zeHPXmCq*9^-E5qw1AcHbE4KV= zp&5)!FGP@c82E*4CH@t&+dhb5W=WrM!(KsTCjlrrr%OFyB}9$Jk5g0iKHh=H4Sn)8 zFzJHJB;ZLO>66eXj-sz6p$gwX3*OLe2W%bIfw31dtE}HdtJqBz&^?)Zci$$D_+Yt& z>RSZTnXM#zaM8Tpu@)K)>|utT!~)3>A;O;WmF!x$#cy0z+}oxYA|D8+2kowWg6zOjOE&>_q3kG+&Q;;?yb4 zCh5Q*KlUq)s+NU!ETh}3seUCUU_0&<1yc_Cb#%UPGFa!9ND}4tW4@MDNlFB7wRiHR zR1bWfPSLYHth`Oi_HZ2*x^jbsED5ja%GHqLAOKitPD?dN=jdrJd<&CSt*09mb$^8D zU{WMsx%xCO>$5w-=-<`F2J4sg&z4LsxU^_vuvqtPZS+h4wJv)n3(G-buP{_@CS0Lm zy%l;H+8hXsMWM(@FI(Bi77B#&sm(_V7uCwtIu;Ihn5#8BF{>{9XgVPt_7d-~k+7{P z2d#b|thkhX?O+hsfVVsv%CTBa+(SEKDwPwy#XIQ%%0J?oQ5PN~A!>ICA1WArOHSP? z)QI}@Lr9v;Tk_LGG`!|RE6LE!xjjn8J?M9Q~x)j@rlA4ci-e1gZjnS0a?TtWD?xUUqGGJ zBAIm~_KA$X?b;T?TsMDJu!vIdy6=ZXC)#o=izw4qsTbu(bHgglg(W)G3@0NdAAtyb z$Tc~#xvVU0qNSAiq=mg)4D^?S=a3Rl5LG;Q4WUmA`igMA6e!Tu7&ByKD3XdKKV5bq zDsH0jm}_;jEn|hD{M8-y zZS{N@F11JaN@x&P>b506z)JmR991qO2;wI8QgV6D22FJS)3x~*&%h1w3_<<6eUMd4 zzgYw?UxKeK!{hC0qH?cYw4*m*#_Yr<&B+_Rsk+6b57`s96O&_6RKAk)A)=JS$7Lo5 z#8MB|-fNECR;*qk3_vw=RrxCaC&wb{kN$Z~fQefv5sF(@VZMsUJ8U@(`Ycl%`M7Wh zIS-*I@{x?&XpoHC^eIS+u~e?XiQ6(JX!!Ze@$m2=J88{I&KXi@f8?e@6=qNQ>d{ z0W}4YtYHoPbw0RVbP@ZPXTEmzgm-N397GEdKBrKsPYUU_8nWZaO!c4(9u(={vK|z- z{|qG!ub3M1?`%v4$$KEC(5yP1;`sD~mDpd%gK47*i{E`Myz%*;I0UTHN5|M1b>JWx zq5n4XWE>&27;Jz&#MTF3&!RmL%MNpJ|BNS8iDq7Wi|zHjAwu$1x23C^N@O;2-Ou2I z5bU+Xs)Yp1hBuPVgE?AavLe}mdx8K=)k7R~36f%y$3{&hI$Q1tlkdMc=#b$$sFs&H zZUoVYoFt6LyguXfz7*Tv>$7?6Iw7PigPuA2^=6DCpAPd}x?ZrV)cr+oykdFhM*t1| zwAYWL+g+ozkhrgjb~g3x@MsZ>?G3}KjL?Q5Gz}wKP0%#NS+dJlF&;~S50cxa;>Qe9 zXvS1N@dGxqu~+QdTiQfg=c^%Q7Mc20;7~rld!+Zp zBb_{coRwAu+l=2s>gThRDsc9kcRXyu5({m)`%p7dmA56bb+hr2#Rhp!$C~-ehoy*vVV)#3@UPmD_-Jl{f%1i7-aL9 z0R#4=jbPWoAz40(JPx zW!>V*r{$493Dcu5&)r8fBJ^h;CxZ%~dwt$E>~n8v;*Li}m~X)fp1v`W^y~PVJOCsd z{)3+P#e+j720wT`ZaDJ=I6GEov%3 zEIPH-OGZzs3zwz21ib_JJIC8(1fhGLN0$;@Xu5g2fJ8SqA0ehvo04i8Zt|8(swEUy zT9^$msqf6Eq?d_(cB_t8T}EmrVL7`S`1=+%Vj9vC3F>Leg6e^t?E71nwj%UL=b#vo zOjk@-=mC*?gJ1>wZ_bZPAy-ZV6lvt&j@*CQIG^1beq%bo__w*G^@M~Hf;NMmoiZUT zI*=HZsadP@9gge@3m?!jNaq4!B^(AMGr8v4bpsR(;SGI|^A<1{xUFwO!5QungO`uT481#)T zVGGH^$T}BZv^AwS&QBM?WjY=&{ck|irDBtM{>CRJn zse$r^Od^NHOva9Shwl`@t5E60T54+lu{5rv%ys;?KxK=Jo7eTV#8-?nU()8@*j%@7 zzD{M6`>|Nkps>@r2N_n~D#&@zz1-n@z=at6yh<=T4UqEyi3#fyORG6pHYAwl)PLaf z>E~?vg_E`Nz1SNePwQB(-=7*^V#Yv6=vsF$fJ|{ucz3{Fv#M`1EYl)qZ1=hz>u8Nn zDnx}KnM(?VZU|FdRz1@NL1a(>%F0Z-)t6FD8J-C41>h8@yKf_j$C$lLm2!pcg1UPH zpUp4MGk0OrR9_*6uzVykO!o{{M8XhI*Dn<=2VX5MVG z&!2mJ4sDVS^p&VOS9ZM?AEi&D*iv?d2P7vHX&x0#9?L~Vn{9Bq(zE)Vuw4)Wug(`l zezodPHHljMV^E;i#C~!*UrGSz(El|-c0~P`ORG9=k1xQ+OJ!LAq#~Ak0WrRF;7{J~ z!)TvmTaLqK;yE1UFuug09>)KWwbRhywiOng3QOOB+~|i_Kaqk|Ni<;X z*JVfGf)Fr-JV-R}GGq0h4ZTHaGq@%r<(>rm!u7RTt)sM2d0Eh~SeDT|;Y5w4K|B_X zDG|5&-^(zuZGB$<$25M3rD35b^N(U<^H#UF*MqsWPZqY3W1 znpRN-F&yp5|K_Q5Rcc^pL47xm$)WDi-o%fg-f8)6a}Lez}PMZ~6843c&|$Rfj2XbL551BLz}|C;6oHucYs_mK3dDY)X^ZyO*ic{<^wy z|6*a1PGSe`QmtSQpw3RhWx2viTNbq1_2FvoxJ}+dN{lrU}a$cFh@C<{fk!Zvrq1-%^AE^Ol`*ZRNTh? zi7i(Zmd^<~25mJFUOa`A3l!Gk9jB%Uc zYQ1OB(*}K#cpG)U_ei3|{RT8R^H(hR{hkhW>%xs&!EtT9mz@9E$MW`R4oB*U`ChE( zX8Q)+#P409g-8E7>*hDPCL=9xL3#OX^>TP_p}(5q@-)Ej_?*zB?OIR^b?c6Oy4lU{ zFoI@`>erVZgQQb1;l;yqb+0EN=nW?gNuG#NV4re6Em>abeTB_KcHClyyHAc)pA!3%lbL!ttyQu+ zr?i799ou8oEgwmQgP}LhP#7KZhO>U(-FH#|yCbvC8%rq*))??D|j#{3(*Ici`aq>|oiDdmuo;9=r$rwN@` z<5zm`{qGobg>pYd?9jDf4nkKHB2vOZWT)t9luaskE`teLl@z@Yf6H5-I^P{u2IEC6 z1e;p>9&80M;(<-gS5d7046*b%A9R9ZIH}2LML9UmJ-%X@^oEq-PeCc)Yr}ie%-A8x zwRt>eBSyGl4mmJzkYJETfNNJ1#ELM>bh$%aP)z$r2d;PwRWE03R*SW1BL_wfLv1xQ zWQQgVuQQsufi&N>gwf_O2%B4prpecT3&hWIEEYK6Tha_Io*a$Nf}BrNcU|!%=)1<; z-B(W9dyrL({Wsny*kEeGYjWaUhw?sULQ*Q)0#`IT{TsO6pU>RodP+&Q! z1cOOyI8s`S^Aco1yl;F>)$X6acj$0hWksKJ-We))E49}Ay8D*CR_1u5Dv1kCYVo%D zVg(m0CpIyTZB0!PW=34fASE#Igk)A1k~aw%8S@tOLVA0%TIIwQD&QD)S3l7S*wnwf z+%=1%tdJcDGXw(QqM3FaR>r>15@)_xV-wJ4Z!~i?a`|AoSHa9I+J8sjD*J}iN>j+; z6}$%H${*wWoqe}yGj50>_clS+i-B8AH6YHqj^sd#WrncTP1q)3|t7OJy=rlWin zLV>Wwr-^~kGYVK^m1)YbR^ml!K#jmU%hJSt@eSSh@0qdJ?Y-0-Wy)LH zQ2DQ4jdzQ%TL#dd9l<{F$(p+KdtPJT5V%i&aqrggZ|^bgx*NpRwbKvGwH{uosng=s zd-j1;LPKy(R_b^B$480%rT7&PIg5m@)4@n2jczQZsOF-l>c%fLc^_S;{m9#X%_mZz zuGRP1*PDhmr;BIB*Y&Ef6yNi9o2lMXzH6*CQs~)tOVIh^a+UHX&AM$+G+Uk)(4a}B zX|g|H-uu8tpn!s8xEek8R7appOMmDW%!UPz$-prHOSO2GuCBmC06Ow97P5PRrj-$W zuL?SS(rCB9!%ByT+DYo}AXH1t3C$X;Y$vc8w~R|+LtU|j>*?g4qZ&V?JKQSZB{Fss@s#Zk-y@!Bi~63 z7K>?Hsx=X*y~k&#rQ_2UakwIln{}Zv{k}pY3PT-~5Kq;hGg^I~Pu(@ZKcXy@18J}p z_#~2MI4Aj0VAYhEGD2KVu%vNI^r5&I*VfB2%Nqj9DR57c< zzm(|h#XYSvuD$5w{`0B*g%hrA z3fqi_5|!@l?~=OGv&wkn&5EXDDV4xZcrmC?3v0Nlo@c;CntV@f-5*)sP#7ht+r&4m zb^XDhKD-arS&boOQHzjY zct@2Db08DIFSF2x2T8kz4d_QIQC0wOvLuXaf=*Id^sw^O5#wh+&Zxh0v*p+CWK+_$ zi4L)uWzI2cET;Nrv8KiuJI*3@N>jDwAFz;Xy4(WvDsJn2OrLyzy1kk0d&%CscKDmR zhtuxk#b(UB^6Ep%tKXFVhxw3im{}Ynb}{sF{_B797ajSO{>Pc2yW5}mZ-#fT{boq6 zejT@5i#n=ZISQ8HFoj@{hn@G})x4==NZ5N>a^DDgiBg5gpy^e0Vqo1Z6A)?gjN)Is zf1Vo7-bA6-u^+GbkW{k;X$W;Ob2H$S<|M?ASQF6oHqRR4p=XJ-o*XAKX{b!S{QDQl zDSiS6QC|MkcG*c-VkQ(A&H{D6Lce#|-0a_`=9m7&ikH?Pph{3UW``&r2GbknKV9u_ zI;;N*tPZ&R+u}@l<>mAmJK$(#J0P3&toH`#)~y@(OHC2!?t@#%w@`20x=T?baTLKQ9V!I)FSQz%RM(Z+GFj4r#A15o#&kkrAtBWNxh` zGq55QlMGnxTT84vS#NN(Ya2FyH7npreYbE+lsF}#V%}?2#&prE?;+ zjt`2(uKbk5lpH4;#g{iU$7G!xHiM4nrP+@NRDG=6=@179LXk|AhlCVN8PbWy{GGUT>S)Nztu+Xvwff;YpG zR5*v5pOCldy8ikUV6sY4>BhM6PR9AXi9-;3_zV@ntuT@;K5MGMJAM%GIRE=&>!1( zZ!C7*DzLsc_VkY!^S3>1TX)wf?mij*?0mLO_t{9iu}H7d16v)=U3@Cd_u!jVUL=)^qpi}v+M)avUv9tB`z{Du;nFR zwYhdqJ3++9CX|~o|1AI2h^4ck=`9(G@SU@VXW#I8$J*iLsvBHUH);4Zxt(t%8EGU1yg~Gs&A}>3t?t5G&+&p$+1gyd0G#G_*y*+~pZb@)5{C5xa~HIITE9DHs_YN2%9;z?8}v)oqx){=fXo8jRmWK1jD)s=QuLDaIdq|u{l^UB`q7evQg5jCz$41;SQ=4LPEWRs)mVs8+6 zkp$*!a7rytvwA!XUDuVOab-5+<+TiVO8cNV7<$?3OytPYX>Nu`wN6@LYO9(kbkFymrQFu|J2!AB35d5u7}(NWn` ztlTW`3jTC|7I5`(!1GVBLbcanW9qkQf*;j(hbILKJ$xv6=M=?6LS*{_rd&6XmVw2O z#m}@jOOxRVK*pPSqToYv2MN{Ld8n-JLY{ ztN*D}iw9=`g<{K(XNFeK#LW!NZ6MGgM-4is8$+pA_D}6zuNyJtJ$QT}YWu0zbLpo+ zGf$$MN^V>BU!Wfhd3$?zEAt%nR)wb??97I|1KLAt)NSCghQ{&I`{V7-2kz^&9tWFc z500m!mqn4s8>{uO2S;o521h$H21k>X_}jII!N;W@JHN_m-H%&oYL78owFf(+Z;sa| zZE22nw~se#50>66d+z--INCUT@43q;e6Tj`M02!JR(rTv>$$&Z```fc^?mK};`^hu zei~0d&)x0XgT3`_&w%5@%?CAyi}|%jJBKu$`#r%AjuvO$*DOBph_5{qpmf_gTm}>O zFN+>@9@WD4=dI)Go|_wQGB5lh*R;5u z@b!3kYVujO7iYrH2eHUinA#=1rJAi>yOFNZpd&}*r{u3xdP}n}9=~_p8|j%z5Z&G= zPwy0QU&3IUgul&riQ-?swugJzaQV=A)}4BGUHZM$o^ba}sA%wpOG+o5J2eK^)HUNL z`gp@7sWZGM823Qvo-n&E|K4;@xMwCtv~$B{3;pQ#C$0^b#Lg@3`m^g|?@9Nnc9N2D zpJd-_>{WHoM2hBbxTJQnx$CyqzbdsSUCfugp`vaeL=BZCWD zq|B$2tJajB?lKp-MQDq*aL_PB2XEED{kCd~wy&vMeS7+fl;X?4lg10YErIB%f#x9e z#z1p0`rKf12%2cHITTGl*c^uD8Eg(mOAKBMqRcD|XA^2J4CfHS6ozvNT`mg0C&W?| zeqTtYD4bWwyeJ$d5XHU8B>5`w;5Bg z<4tp>aL1x$%JSlHd7;7LaD>oqak!!oSxLCEkU&YeYGnf~t$3(88~tUdIS2iHs5uus zHPoDk-WY1mAD!FRf4!J8fCyToA4EhgrVJty7U_o&X^SaCHkLU)x>uV^s&$83|IMZH zXkmItKX36rUTQvGw`P~nVN;4u3M?^uc5g^CkS{7ZaMSGBBi8;cduy)$gD%%;h*zhE z9_3N}H!q(Z7H{`oxBm~9Z;GB2YqsLY)|dZe{qx%8Pl=~t5O>fw}#SW0ud>)&8eW z{NFYNWQR=N|GJBAKf->I{^SxUpDvlDLf4-ey70Zp(IQnSX8F6cvxSi`uX4iw8nv|Y z(9=WzTU_+|JM0(Pq02}Umks?b824KWmc~HJNy#ufw$=fjNy!8|x-QNCnfmHY4Z-vN zx4-E2bJ{P`_HzcRhy*?p349?E_(~)&TqH1AB(O*%w_YS+$((XI)RMH^@xOV|D0hss z{6G2PpjX*aVmZlfJ$cu9lE-?I-+EHmdh((5q=faPwDr7v?i-8gA+}lZ zu&b`(1+W8@cs^_aC7uTxL5b(W+EC&-uqu>zHY^7vo&}3XiD$yzqQo;`ZYc3|m=#Jq z4W^3{Pld^Y6xDDh+%J4!qWMu`$ngk436e}Emhh`)y|xQHjfMqI?vur?R*cvzK- zcpNOpMLZT3?;;)pd+Q?p4(8?}9u2c{5s!lDx`;=@IU#o9fE9f|u8XNIn=c(3LWGjlrZpe)hknZME|B)h&v)fe(`9U1uIY8sE}K75@po zY?|WBna73=PQK?8>ilg9t_U|c`OrxvK(CNf(vc+2{;#+6OHV$&10T5K4F5eBb3fX`v(iTp#4-Q;!Me(Dm#VS_8H*Ki=HvLWSk&I(9E-e zri%d`YhF=puVtQ3NJ^a4mxbDqBduBJVhgYI9h0(c?ri8yb+j%t#bWgVXf~V8iF^t^ zX5TQ)Ww*qAHiKSMZQEO`Qs+fQeH4B=qVt0#$9apy8IKKR>y=*ccY}Xwe08)X)IX*K zdMz0QnQRI=X+GOq0Ck`wVq7zTk0d#;*X)_VkY+F+NlKnH=r3pVzB)kpiZERKef2!{ zE)^uF0z5S|YPvl4{mkR8Z+6RPdZByhBsunOx6BRhiIV*Gx|vv?SWat00=`!30>wjQ zC4b9Q`4D-VC^Lnfb31E2KLHg1{}c5Vz$NGI1Nr*Lbm29 zFx;xSa~j6;AulhN}wk( zwx!`y8P*bBBS;1Wlc#Z=runa}Kq${C89Bi|L8bf8Il9ri+~Puxaw?U+xq= z*pV;Vo&E(6rny)b%cAMNLOnnp{^L&DAB;6_Vh|#eStxJ(|87{jxmb{rZyfU-AcMPJ;`>zr^D&UV*q_;uDTFusot(^@1Jng0L$f zlSo{w`8gVKH@?YRrkQvwC@&{mw)HV@0j4+Ls|Y}>eETEasEP1W!wRH>^SqA zZK$>_ny@rTiDRm-SXfRVlj)?c4PsZLWGrXRHYtgh{;5J)i9C_`FZcM14*%*hT-tsM z?ctXn=2sZzM-1~n9_CjZ=2sf#R~{BrnaAOmA9eBomM9#cPwxDLZCG>fVQF#$B9Ml^ z?VpMMCs3UJT8VMXb&$b*d&rGAs`(qfCk_=^`aRk2#6QudZ|Qf#Zzec-VY~d#hJRHz zUd(NWa7IH}|%)}+eRBvu&c|Hix z*SYyYsy~C{a@YE0b*&_qFF9u57eGw&FJ`*;-P`*jH9Y@luJp^qZbdeSUjtpi_bBj8 zk^`RC{WNuM21uo5LeG!1wAR#i!Q^4PYtkYm4C~XothpTS1`J&6V}HKidEzc2eaHqz z7Un`yIC~)}*Ylu}F1lJtQq|NcrSv47Uy;@_>W!61%0`(^d973%S})VY@GzAe)%h zr?nD$quQcPe*zCh)IiEgc5>%K*E#4Kd`d^>X0mB6a7eQ0Wi4=(YRKh?;p%)@1off) z0QDi#)hd((ey|1>G+2QvwMaSiwz~|v`hSA@FzZ1Q4t1fcmYz;UhKxEdd$|F=@~#oX z5#-%lB63^Mm2DSm>H*f&Bj{@X5E2=Qoyu7eQb8qyLl2c^*{N;o+hAH)_%X`_{Mwvu z@7Y%C*NgoFhVwT!2GhRw!Doxo|Hy6qX8Mdqhcu~^^IRz>{JrWaE4{a(`y>Mulo`ccACTzqoMT9j**>;3G=k(>bzTP#D(mV8a!`< z8J#pf&2ioX6Fa)g^j1ZmK0YHZ)fyq9lHDBGv!#1K)oWbws=>IPFMy)*sbO3@Yosg(#Xd!`0Y^}+qpL#VwR2HFDy z>k8V(!exn5&A1L7YDCCIOV@PLG&C1rd*J2U4+ZTLX=X~S7y1v44c5WGP7dhP zooYzgtv?{e{WPK3^(MgtjgD(ft-Mm}3l2@9F9uA08lDxjDl$(kRq}t-U+>2;KVa8f zSFi5~-rPxKw<=mG*rzJhavmVTA7&SxO7pRnd}fvM2AEq0%Y8!CUbMn&8DY`y;5-oS z=@3(BcyFPgy{?|q0}|}|01OX#Mhb>YU%CW_8{v6dSKObqSZI!#*{vXNjR-U#UT9i!75W(nS3TV@U8yuXHFpsV&Abfuk#u5;LH;euhDk5p)K#Pj?# zf1ib#j?KW$i?Ns+`U_zKxJzt!y zKc#!DdSX+TDeW8HJ-TChS1MNf2-MN$Izv6|fbl&|)IR>ORSk=MME2>~SL+;v0#yRH zadVGwKctDbjcNMHaIWjkf=FhQ5+{4c{zJU=?9Q9_syc52xPoDo_$R~2@9c%N!-{UU z^5SiHHP{2Q#tLt^H|+o`Mw%42AB84&D&Mav_^EdLU@xIfA}9g5yaGT153;8^=l;CL zm{uykN$K_hd71pwiih9Ma3PSs0cH;*%0JV4s5Zr1rt!pbggdmpl_Los@>UD{*2d>g z#xJNTwtVCKQvfp~5%4{B@YPB(`scIWlg*s3=bMBX zhl+;7t1$EjCiCFgo(=C1{$=^T))zUIB>cf`dg8MHFLApx?u-G>$1T|pH^OR9>*M|Bm$uYyTgBK;Pf%O^EVEC>FU>jonw{m#70)DqHF-Ri=(AlHYnWPd9}RGi zw>XFmBt=KKzP8ZW46{E?P?})gv~hEp2}OLVwvj`~jr(~R|AEQ6LUqcBhXl=!GJB4j zrHvdta#g%6dmx5jOuh2xn?{+44Q78-a|pGh5*OLpBs0|I!e-c+)w0jF;wViYmHzxY zB6&&r+$k5;DU;3uEyw3TvM_8aBmV4L!oxq26XFJHMATlObPj%5_0Be|0iRV zUpoJTYt(8iHy%vS-v#btVWW1DeAYrM4xC%2PMO&v`hc08uyk{HfJsf@kzlcgMaLz z$V*)Xy9Xc^BdNTk`Gsq_*?yO{w5`mZjjptcsnsEHU`kZ7go()w{MH{X+^TMcRk)`NuBGEyaBx#1D06D2tz64fBeXWQ*DOb13*{e-3xJ#&WMf}*1)_vh{7=FcaXa`)yRF9 zYk}u&cx?{9OAU4IwA{F}&#A=4;#Ak?uE<4JRK%@Mwht6PZgL&E6K5O^1EtP?9@x_h15G5 z22c+$#h)Ld9*}I-_aN%QFpODHx;Kr5&oaE1EP~^yIt6IISIXwr(Ps;Y5DH(NpOFGd zlxh#=vI3Fn=jyrmfC3ynt-MYnW zfkIlOljIxgHNg#T41_R_9>X|!w*2?kho>B7tG^q@eQCdvUC$Sz9zIBWKI@rPsdV`! zxsLvuX+bNi#EccdYZBfp*nKs!qaTC4!B=JmEe z_wY{F*jhm-k&n88MG4T{YbX2R&h+}T79)auO8nYEHx*z+c+bVC{^_x`A$2g+EQrIt zFTyy$d3+aib*M2Oq*Y0Ni3DREP``P*50j7OZ66V6VQD9c0h#7HY;Znn9}vir^Vh!J zD8S*TX~2TlZWU^;CyZnDF-E8b=r%`&G~0VW0FWrB8=0HO?Pp%z-G1#6@` zklK{O4!8g;og^{LcW#zg76IOdDQ^r7F;|a27{eJYmf}yx0ZRD72X;>`bpm zuUuNrm$?*utWFEa_9;v(j>el$+T^)n{+{|pgWUI1k2k^wljzQ8?cIHGR%b_HBP_;J zv7T=?AzlHf=ziPgMOt**$Qp^e^p5qftX{A-+7bw{+Bt?7QIgzo zl3-Tu@n1RQ%~rf&C(|xK3PkVnnVQoVF=$+YvhY8Qa;z}f>PW?QO}8|8+>hmuY)NjN zK;RP)41MnG=-+MNDPwCM6D!ao_q!)Zsl~aT1s|^S6X_vEzZPz^FWiBq13wbpOj`up zWl?Jq(56+|lmi8cHlPheF%IHxTJa9h3Lt;NgX+IM-(~`W3|1y?(?Z-JY-A(hCm|?` zRKuEplaAw1FjjG~%+5g`<@C0&DSnJPnVma*`>S(>3Boo+i6o{+$S5aAaHg#376cLs z(&iLcGjl*2Mvoil1{7igGX{MGBTs~4mnE#id%K}0ZCEB~13;?Fe@}BV=Kn&=zku?$ zU04vZ{+TtM;aVXaH|JKw1AcVCRx)w}V8Z{e*!nHt5pvP|MD5G0vYzk|pg$CooaSsO_E%N54AO)eNohPi}Bul!b zNkB~mWl0psjfs=oFsBbNr^jXycz=RHA-y8!iZlp=Kv0stGMER|3`m_FWG3W1IXbPs z(x~tq1bp%`_CTY*C;w{tLU$^&j`MV-%|9800)i^X=qpCpZ0L8^n3eXNhOB7aEmll43(? ztnKJ)@{z<6RNLGf*$ow%0VNN2;IDNH#d!kWm;nq=O)>~c6lo$;!2ZiPlz~m~w_E?V zcMucXz-EEPJ2913PJ=dN+KIQ+JT$;OhH`y7vFJRlb|`5QKk~Mc{Ph?PSI5S<|7UD7 zZ8j8>D}lKnc%V9fvZ@g9W!7Jj|0}Do9kKO@+V4EfIRQ`(ZZHn7SlQUf{})0a_*gOq zK!b7cQG+mxh0jTSa-!gGAz1kQR`ow?@Nb0tZ)3(^B~8v816W_OqH_RJE&hUhFIWzs z`rVv9`!8^-|34aI1#WAL1&4@Wa(>GnSzg;3ALjHq8Yy|7_x%~|$P$rVIy`?53H36l zIdeSF3_e?C&SZEMUC1MME@Qj9w0TLy;zy2G_60}!088h2UT6d(D(zew}e)8X65kI{guUo3yE8R1UmdV^BKcWOqvW^X$~Q@`q#i%GKaY zS@1&$r_Kz9l00B?2*PK79CF1doqz4LJ zTGe5UrhOyE={8eSw1jze!APh+PFlJ00Zz-L=_ToM?9An1^L1-z&84O~oSM>&*n3rY z>z|HGXM}KqUmnGOuNN&428N<7lyDsgb6ut8M6vJF_r7Bl6S}#JQ!pjI7r~p2v&N64 zmac&YsB*rLt_OQxLlhrUnIB^{L0jlx)fgoER4_8g%8xT3Vsj{S&H;GHAdJfQN-LVf zuT$nu!P!>GBbn5WSl0;+?hg#^VFwtclMmt)&|y5$e$7N^nEm9rItHB^gH^^cE0qe; zWDT)}ax6t%$GSMP1`=oxhE4)AELg$a5qN)6X(oVxA$mXIIy5Kr zcSQArS>0s(yYw`dtirL93yXYC)MIffQ(44;!>LfCtVj(Pal~fTiGZ>3j=pi6+PyoF zDsqJ{oDIv1BAs#evFw+rY%b%xl-u0de0m$_fWZ!7oR=27maM#}v7UX=a&*$M=S2F) zL$u2Ni33E2&>Tb9_AS%=tuFDC;k!##ySU*hHb21d8hW8d(kLOFrjub67lej8PFx`4 ziD0Fs#JM2G`?m$#9evw43yeu|&K%@^fRp~+Zh&R-`AMYW#s_1u?MCVBU$6s~jq*KB zvrjO<^9K;P8)k&3tGSeNoe~$JIjx0=B3yWxh=0CN#!URV2C~Dk<=IIGdum5zYTT?W zWp>z^5LqYEQ#`&Rc7w2LK0V%>FX1wtyus|4WtlyYm6y1p#$@s(&FPv?J~^HN?*^x0 z$?1M29(s?Ijx}GJ%)}i6`$vM;o4vW#9(mUgWsIFlcM&FD6Z1~0pL%_%LB-tQCglUM z317v7OU-m*KeIcQedAv{GD-_`hDm!*bcNsRwi{z|D}Q#4sKz4OnRU@9Y)7t%n!rC@ z?1G=-4y~R9vs)-PEs+crqCyfSP50m&^G%_lZN7$JehQs(x{gNmE$RK23p=4GWw?ib z5dkx|YJ6Z|e2Ap7G#y(?C`otI6?6L6Jlx`cOxPlAPQz~^tT$61Zt9#F-XZ8N@}7_a zlZNmTi6@EZOiD?Azv)ktnL8oX)H>I+xTE{Q^T73)bVxA+(F0{2_!~4b(2d~3iW=-~ z`WkT-SwnniM+!lr9CLSOJd)AZjJRg*_0QIFV{TvdpV>CI%rzHv1}3DWeTn?9-VLMm zsf(63RrgizGF-bYMEKA<$>1ir;=!tnq>-s3aE@>Ib><`InW)U$+Hg+2FuY9b17B|w zQD5~{Z?sODH}aSFB_FP$+cEb)xC4owxHA3qsl7J0;KB$usYLb;!Az7n4cdi9%m7c-llz;nvcaK0&#riO zlSeLv9EHxH%L54z%$u<+wAzs0OkN?=UI7Cxx3>j% ze1|3(q2;1Wh`w@fU7*;%$&@A_4Tb!Lx&(i7sL7L?d_P~D*-fBKesQ*K5g6b>$S7q@ zw>VsGJn=?7bT^m%X^@m@*qd+BXL`BL#!9`J=C}_WaDD&dyO9{u2NNUQ*RYC{lvBK~ zoI+G5AJl7v&Jp?3*mcKT?~cKzC92_9Q~40f+kP1%k4FGpg=ssUl|My*XMhkaXe}D;20L)SOpPX^7W>&6+%R>@0XZOJy7xwX zmCl1b7Sk0ocV`2_*UMjBhPAZq+uv9P7c`9Q!=E1bqWqd~Yc~WpA&s89ErrFAO#XOF zWF`wCBHG5p$BdY2Yn@w$*pFs)z5DwO0K$}qMGpmg9(vbB%faknK^+nJiTpxS8b)E_ zH`Bv)D`N1I)DCd54uMz_Wvf~b_?KY*vbL)j`D?%< z9{P;Cw05zGwEG~U{EAFHF?iiESAYxSb?Bdex%YtdDWiwkCa0nZO&iXe*Y}CdkEBe` z0KxV)F=xAD&VkMcn(`K`5>sd$6OblQgve5W60>q%bJ3^Ulk3-_SndFv%)h=zUzji5 z0~cI}gUqDo2@@7|YUZG`+fwD|&LPO1xRvc~GU2Ok_q4aOl|GK%<4dPpkrae=j64yh zjR+gSZlQ@s%JUDI-FAs%QewW)ENi5&&;hsa5Su$no1!4Kx?}Ei$I#-`VzmZcQto>~ zh`HRZ8rq>tkjRf59lIMqW7xf!7J8}SvnA3akspON3$5N|5L=~NFuT$qu!{0`<5b+_ zNVGm^I!>Lx9!5PC$$rf?bu#Y*$GL%5?(YxM}R-ETp;AF&oXzMU@qcDqe5v7+>ie=P8Wwb+O^h0HyhRT?P z%2LEw76jnC|t7zCNj{bXO}Ot+mm;AZ|r zudt388{*8GluRxHW7YU?5urTB^hrhEK1C@SKn8QOa&kQ)i>#bZtqV_Ek%&<0!i4xy zE;3q5+w-oX5fKPoeOB=0PLDxwW{ne9J9Af3ScC}}4hg$jp=io0BfRG1Vr3*H%v)ow zM^veLs_RybWz?j2*{`~BGfObJf$i2~5Di;Z=We0|-)<7acCq+^Rykr81-L(RW&` z-|navlX|jYX{zvuDVvH+bD3CwBBddF8`aS6wnwzGIv12dmgJRhc{ z_yUy=I6F(-($7v$ET3UvRfYy~j>RB;%G^KiHw#o@z^O8Yk9>qDd*O3sL7H+TG!MIv z+n<(~_=qisMrM6q*XfF~8ka&ZG@m)E zjk&*$gt?rp>PRnqw(cRfNrLkWOdpClZqRpE+`GvVI-RKJqVX| zzZdv+UmjzYWrB@;$}j}Z*58sKBTjn=EHZu^L3mU|PMsAnK>`?xLotGoag0S)Ct0m< zrgM^A=6!Gv2T%&*?VQe>Y!75X6JK6MDBau-UP2O)tJ4fI&eV=&%o!_f0uZ2*1(aJX z4)QZlT5X}UvXN)hv4RnrKfTB}|! zdM6BzK=?MZlMJwc+>5Apb{6cSh^%LCF$9^u-3SNnW02mE3{Pi={MX8&XxEArX`fc) zi_o&0L7yQmgI?`suN5-2T%OnQ*MT%Dp7u7GjxQwV@=z8sRTh@&1*0O2mGMoLZ(Kz7 zc}>Rpy$hd2)SxFj}jb(zHURD_*8Iez;H|yh0$nP9VHRAiP^3 zd`KXCLLhuj0DM_B47*8I6&Q4oF5HBx59!F%@ZJiIMlm z$Y){XTQKi{yXt9W8|XDcEi_4Z*@1Sf-FpJYyrK+5W$eGC2~r!w*P{fKp;txUb|UV& zv^-rSQj%=A+-@Og+>r693Pj)!ZdNxV%^b9fnJzc8&FTtrVolkuHR%(Gi?0*OQ`Pu0 z3T1`NHUz0ZZW+)>lm{Zbz+6RHzRLRY=|vw9T7jhbud!+n+@C-LhW-|SQHLgs(0!41 zKigkjz)&=ubi!LHf(>EIJzuINFsX&bA) zEzq<#Ezd4jd2k?_hDo``BdvLzK8 zSM{KTj2jx}13|njm%vv;E2iHc^;aj8MkB7ZK2--?Cf2Cs8vqM=svZeJi!|Rh(-0zP zROv(%)ZppY724e_{5t06MC$?CnzO51N#LzI#@p5_Ad6H}fh$@@3#P!mMvZ3*@MByBcZX67aHPb6YW&L7qElm&a_*2s+8H1qzXrpkVjutpV9*4uN*$8mZIhY$_YDS z^NL6~pge{YDJMa^z@l=96~9$hfp2<(*n}fG+6j(=U~skC#)3Ku4%R~JT{HsTl0*xD z75|NWKt=t4L6@CXO^bbqPL_A2w)8ck0%(Ev^8R^$Wo=5p%+{-Oj1_oxb?1~Trrji1 z3_FMhBC|kAlWdvb^ZM(XQZnK(3}7J^#R#SHP&-F38M1DKx#cq5Bs-5VAO$ApWM=eT zn146P7&EBI+5+_;j{cFB6n_^GpH7YteA$MYq)TdpSkFgNN-3+GV}?$a$(#2|m)}^1 zYHHjEz{Q4mM8>K+e=vdZm%dg2yaEG*09thj($fJ~uKx|09s7A_NASS1wX)zQ& zU_&`g-%Sc;wiYlSi@Z7qC=nw8D=|`p^#?$0Stw|}RE`-*xeJlKv&>og6#)5?@3tGo zkVydj7(l|ia{TABP+hD{^4`TanA$GxVCRWHqgIVnn#ge^Rn}kSRSWnR*m3SeFXCouw1J z5}07UnP?+R3WA2o5mi-x>(8dj72ic%^6`AseU=EL&;RCWfsENeuleiFadn!sdC7vs*gy{NS@~zrN5grBKa)K z$=I*BJ(A!2WjC;}VuMt4ka!Cjl%O{x~U%=K|*)63P z8pJHVJYqKV&SvNqAjvcoT~%}BY@mf*g*GK9GB3Mo>}9ZZ13Th*+L?Md+*QrovXxRM ze;RaE(q#(Zbv4h1)8Id5>PU0)GpU%P0&(?J;OS8SKLnuDk=7?M_bVKto`OCJ*6gln zVhj>4nDn;52F28k@kdIO-yBs9MQEge&K|bKn##aCHRiF8)3V11raKp}q|#F5c8ECUpu2UO8KG+ zHxGCc$ZY*nCrS61e%H)hyYuSGf%1mJt4>D z0|%O0ZsZnyTZ#C_hyKt&kQ&~_iaxj_NM@ZcG`x|AYg&P)C=06(rb7(LJ*4kc zS`OmSr`OF|&rAKTG+u!iV-^XL8Vn{g10~iI%R5JGh}b?oZDNcs$l7FwXlyFgXx#q> zSRsFwl}EoyJHGcjPZA)NF>^b0fG%A>HnkG|Y%Cb?ikF}eN!Y1_0o<(TbTmMR_`7HN z#F9;QoXmO81~Q{Rd6!^2aT*e1a?;X39CLdz8@gEO6Ei$jSj;b8lUf1=T|35)W^C)|4cYIEfIAXl}Q#AO}n7<@T#Q+Q!~~%|sL4 zXiVEf$N|&dn;Z-k-Rp-kiCkT$9*$!be}FMz>)G<%&d z4$?h#+`|am;mgD_?Ml7~-%J!JMLmJSzaR}XvVP@g^-cidH#pXq=kyZ=sa3K5MiO5+ z0PAqV(G5gEQEZ!J1e={r@$H^05RX2pPNkSpcs|CqxaGM(oc6GJb@rm_ zgYPJ~Rxsdk(&`ozz==@Y(G5>p(&}FgT8}VaR)TQzS>L&$so+W1LZfV3JgWkZEwFL_ z)j*)<(}*C#WD4R8syf8xBiwo0OK*x zB&4#0zjA=HAv&&dzK_W<=>~NCD%S~@R)85e4SOeY7~8O{jl)qn-OlQ}?ibg)LFS11YOd+bwFxW@}3^7m|6PQt?Vsc~6jSVkgg z=@WZpX${l{f!-J+!T|h)r!iaKgQ}gMT2KXH+C367mqJ+M=iA*Jh%!~F2I_puWKOP= zRf{Nf?jf4?KF+yCte!f0y{>em~-h3^o@k-B8BA~ zYd8k2q1feGB(IwIvpi`LR84@KP9I~bXG924kKgxwt6zXiy<-$$K>PRt@a@~C_Zt8V zFo98itZbb6uoC(2X(%Zu%SKfd4j1f<-9oSw`v zs4TA#ep3sH3kFM<5q$|4*f*UY&K3!`V#=G^&S0J0_t7!w24RduJy z5?CO9D!c%ew;Vd~0ipy`rE)MST#<_;CSA75$}ue}h?r%S06f-$;xiUWI#@=k7>j66 z+kEuq;7KSzy>BNH0!&rSGEd+R4h6cVbNNfab1GqRfzRwYjs<9U0MAd&07xcC7-fg6 znYraLpIci&CdILy8x8%Il~pEtK3Vb91bqs<`(}}ZjKYaR>V*CIA$6Z`X=2jg93V~0SIMrMho#d* znOaE_ZmYVStcG~EvH<*qTkRSHVBlpSD^%lp`hucyQ#4M-MPgZ@I+!_m;z}xSR*OHO zq+vmfs}wk-z*Ai=0!Cm<;D&6zO;J!({TzhWhF_02-rVA3QYhNAV)d3NuT6$g`!vq@ zc+~u z$kpOdG+nOZ^-w0=1aLWElVy^$lW$2@8|ubHY+ALTKsG-Kq(v)0thGyG7MKNvzSw7~ zd zDka1~3?ej0oy^eabR1xta%b`Ms7lD5m=1f5I9e*DBPS;Ve)*3@EZrdH;Fz&{5Tb#o z#2y;J`~T^n}jPATg2+4(W5~c6m@Bwag-=5?5CZ%h|vVZXe~_ z#|VDZX6YF0y;Tdr0cDCy^ixxnKDrhWP;6mmOXYYV0cOj2#Q@5#z`oBAIdVz^FZF%C zsps<=;doNcEJI8TzMB;Uk4e73r0jYWAQ@Q)7@!0u;k^YdGv_?BI3+_HaIhzq4yqxj zf^t(QO68zU!S3%c=h6vN34cjqPpx+4zy_`om@W7jaD`z!I7q)#?K@T(7AH1&>Dm73 zO8zWZqpH_Y;7ALVtPPH6s+Bl8^1y1z)i$|Lv#(CL~Ke-i;?ZvYh=jBgFaqQ;AmFkQwL3?f$&b?rN59)^2!+Ka-$1|Zh(&A| z%s&||*%<>BBB*Bo%YjO(80_N|m(m6ZrmHmTK-i(Oco3}a_H`8)J*pf%4zOq@#bsgJ zx}(C=915U~9I_(rDM+b1RYlO9kh*#m1WY66Rf*0;xd?<}DM=DxM6OfmZog1_)>s#7 zeZ!lk(KA{;jiz36RQSjKW0i9tgF%Mh&@ww9%p4nhgpoJ~i~|{8>bnoBFGQ@YO>s*D zp%2HGhRRa4fTCC3m$@RKIvqS`H$eCq&H{B4lRQx=*v<7HkERF%`X4ccu>^xmN-FS? zj4pfF2LwWEy9PKVAi^wsKu!$xS&38*g5;4)FS-uBhR*Wlp8$FVXL%8(UCz`Lo0$SlCX=sCc^q0BkV)$?gU1V@OPnXWr?_v*?BVNwBv6=?lu zd8`E(*rxblpAE!&nlLr{WHru&{Nu{=g&?cODZns5G*^_v*Py8(3TA*+hEYHi43vWE zv6mZpSmU8xb$fMD9N@pwtEFSaP2GIS6C)W@V8iCm)=M+NSD_6285aR!$cN{uaa(Tq zYIITN`9eofxfUBce+A1VICN81ODO`I9AniD$r66;X}&!aSpJU_S5N1Xq+59!48r^M z0+zv62_lZ}=Jzu};`u034QTn6G*nw&z?Ld29r$*26`6$zqkyK~7K~+}q`;!^DWbr> zFAr2Z!x^xb_7uxW1uZB?u&!OL4o^E@xK(*ZYqNg2G8fd%rD}aRGjxZ68AFkq*pj>& zY=u%e#woxoBuzJ=1Ar?=*aHA3N3gQmubN>TRTco28&%t}CZuwZraId(oX2I&Y^ z=@A#w6n|tf*m^&{JpW`75C9o5;9<}Q6sby^9U$Ueu4UKN6YXqNtHHhw{LO0=1OAGV zy!f@g$4_pcazv=IkQ!v6!f!vj*%pJ$1bjHu4KSppKIz#2`ZyFwkQst~Gc6k0Q)+-9 zNSk7Jc6q8$CupO89|O5+_XRi!#46NDJpV)l>_wmxiEn;Y1*`E0Ri_N1YZs`NG)EpABovc7xL*FnnlYzLuHkz?AohfjwkXwHicn?C}W`qxd+|z$ODwJNDG#7I8K3OAjF8 z_?20NRH9+S2kY11IKO&b!ZI9T6OlUv@y;17Cyrk?Hw{!4%pzT1>i@{Zmb40L%fju@ zeioH{zOcpr*x$y&ADs?1uWDus5}_SEXS6`|a;Ta@w+G51a4-%^GK;!+NK@$WJtesp zoV?~~-k#3{6}%Ez^*!t^2G14R#qgCpj8ZRWn)EUcV75wJ^-9ix0%VhwGh+_LLX1n% z_W^$Y0*kTa-#;cd=Zkv2O3KxU}um3 z7HTriq=Ls1{8E6E%?w4L!q4|P_}j?h-s8iSE1Tf3_~&3H$@pVXkAU5Ptd5x>+`JX0 zU@Y<&Btmg&oVIs%j%2^`@;c8pH0#$eF=XA>uyhm+0G(&=zOceapxilcaO{|8t?+SO z^%8xH!OKs%%w={EsyojFJQwNR2S)z5rzyXo*q)K?!=BLFFj0LEl;{J3%OqqlyMCmpdHl26;<$033KjXAE0Hn z;7tOK3AR;yLYS+C;$kCa%pE}GQ9CxLOMOHp0nP7@lZh1q6Yhk7A_>oeAg>Tq z-y}a#tmhz-20rYP0;k1#V^$)N_Q;nguzk3NIi%`%j!9$nPWW(@G}b#E{s}LzlNc&a z5l9tcvB#jQEuK!==B(|6^xpo0&;4uL1xQTgI9q||m5{ay^r`Nm)irJ~sAI?x`v3$; z;N}855Do+8_C8R>*{AM_Pd2cfL&fHT4TR!26eIgpUn6h?n0sS36O`Tv-OQJHg-=y= zGh-WPKxiU{&78OL`l3q9Z=yT2b+Brr_GnpVgH2I=QQE3Y7AR9yk%B%CwWmF2T$2Y; zke6{gy`CN6+!6**XH25UW-`aXq6iM*l&U*>tN_HI)uOKt@)1)GEH)Q<4_1rLvEHHX ztwYsiK;y4XJN*>H?lGaFvUpha z9fZYWq-=M)^P=~t2INQs0<@xF>9!Km)jag^4hrWwRs3w7zw26j?kr zcA-xDoKG?5MU9(Y#D-hqffs!G1Bdg$jQh%4Z3pO~=> zdvD$^-Tj2u_Fl+~XDm&^VY57=XJj;=NTz(`K!7&RX2;yfo%F!mG7WspgDJInofrE6 zuc^FznlHHNo1a4z5)%u8R|AMiW~visUDcJWfn~W#a()}y1Z|li&>^Uf)zyMNv8lO` zFM!=gQebo?s6W^jt(Q?H=&|@G5WU>Y#>f(M6sny0u9lZRpi{_3Tunfwc$BQkY0xr( zQNg~T_G3{Ymj$!f?=^v)(jRe=2~5=>2C)t(0ncLGvMrchHGjqhrimj}Sz2I5(2(zu zj=7{BM9B*JV*V%~B@jmH-BuMiEHQ6v&>HZ-GHZ#Gvud!|s@oMP1xpg60HH|B9W`Df`%u#Z6Nw1rVs+oGRH$kTh#w(YK$;$!DwP#l_&xhdd-Ic=b~qjTZLNOH7Cv$dQKr4kf$Uto#d;5_v#K21Fvw zeE~I?I|4R#|LV*EJQo;ZfCynOiLq^d%as#dUdu15(HbIDT7sN!E{ZK*DB(<-j!{q*mlGnSW-ql!-nzy#L>HHR=_1w)kYhaO49pp$>q zHp?2q-_~iTLY}25wy$zn@@b+^L*~!;V$;1D!%h4RgH89i@v{Uq$k9v4BaEyu{q>)G zaol7GMhze(+k*R5k1*MOOeK!MDsKK|%xh%n1R;pd_q^k_dHj)}P4k!rBg^+kPHrXN z#`g>ekO|2TU)aZw7KsKJt^n`k%GD*8RQ`czn>A*oVBYebGTlin+w?6re)S~xvMgCX_3!7Ah?U2Jj%T`~H)*|u#Lmy0 z>rRu1cIMy8xAEPb4~&_}9&0+ExIXv2J}&KQ{VgF*oqi{}`Aa5#WD`v0=dHleeYMlW z$E8tz=7MKGX_xlP*gM<(Joh^0-H4t_GsxYE47Ms|_^|2^|FXY#|NN`$Z@0vjgLz)* z#Qey+qhphA`Z9Ijlt8|SCc9?S7@;Cp((CpeIj_C#^%%Rop^Hrsep0l4#hLZeg`z_d zh>^^F*|$P>F5pFtA6A?j_mw3m6C$L_ zB-2a$`K7ogMkNs3O%4gJXbh%F31(;KAi)Y$$bXg6cAS?Q;-m$Z=3&;EgypwWllNNE)Y5=186H<_i! zpQJT~99Adb-?(e&nB1X0SpKqP+|AvxH=KJ^a`;}QxvVPv8Re2$k7r_l(?Lo9+>e`O zQBAu}2EUw(GjQv@WeHZv7&%(3P=?A+czD|%ELAnJENRHtE=YARixczDjPfUw z($dq!OxRJBeM?jAHn+vC-oO!cdyt-!lG1eNaD4#r`C078Gw~_Z=ty`}jCOmwGCZp9 zjJTn5lq7gc#EK+H3=$l73zFdXmx~|E((46D)SRI1cSoN0v&tr4B-&LHZi{kx-WBz> z5~z$NzDs77+p)wf)TE%dgkmMXks83&xsHB7h+9PJRMso5f?QG@!h6~o!%R%7^?;fA z-J@4+CLx-*<<~`3U6vw`%+XzwxW@ycY)c&l!?ibH)j_$~Us7WZbYdRhPjuk*>8s2ZI5EHj@l>VDZMIH z``JCU%u+N|@&l{7hB1$?4~Y?UKklacK7Y}|b+AQ}?Y=YZpXXV$m$5#f?6oAr98@J( zzF;94a=k?3E+=_5MaDt@G6Qd5Nig11sFL4)Z|^dmmBF$3{`Z^1>~|L!Gn8U)Inuo# zIJ!Nhau(UcakK@i=IL&NWVdEOI1`=TFRtn9NEPf zS}Ma$I&fuU4@Zh0CuoTd<@Y?=R_E~UE^Q^ORS9zF`Bbu#RHBVDFxwrV+-#v=@IBI%uH-e86OMfmV$sNCgG0sB2( z)(2r{y_&(7{Z+kw9?3TX^JkP8oCqh{Kex4q__6vgK8zxgDe~&2e(FZWL}VaP*pmx) z^(RE!4}Iu$NI-2m#C}&y-_K;Za>!d65Y%Rqp;Hh3hsq^01Go|3QO30DMde7;5r*CF zPXv={U(>qtkbX<1$4~0aLJR!eR4~d4k;;0);Pu(dYGm|rxfAi)0DiI4XGFJJhw?|O z2MhBh*u&?%6p*ku4k-kk#N!0kg%{r44?4zr$>-$u3twFuZ!H+>J%2GUJBjP)eW$C7 zajwjCdC~FVET8U5J8P$g?WXoqSqg1|uwiV4Z(&`Tdb8c0?!Dk0y~4%R?}?TlOPi|7 z$%oaaK*BA$Wn<}epF?338Fby1W#^)XE};*DSH7}@krTH3IqBG9@j+%dUs;^xtGa3| z{Z*MQZw7S*(ek4vSb<9l!-@Qh*h*%~<&>uMOUtc}zTi7;Z*|Gt<&EhE z{{w{ZI)>+(+22NiPvfWM8x3sbM>k0$zQ{e|eSt$&0VgdC4H~-QLPg07m_ZukCe1$+ z0^u&cNb>_4mIo?rh}#d%sd-G6grgqAswK5dMg=9mlhLh{T8yWwT=_|+)&^w+9I?RCo~WSfMX%sl)9 zx5b%>^|F&`MQzufynxpqJhPQ@SNuGpdycX&sQ$E2a{ zl&CKOYc98@nR+KLiJ)3YO@guDesccm1A=aFgDr{3{7pzwIKPNqzK%moT3#o6ayjlWQ}1sj zj2sd?Fg_}vHT+%^nn{FW4Pcer&{BZRn9_K2D>ci{2dt6EPxeVX>h&Y#XfkztQqC&r zBrdo9ak`w!i74CslT!wCaIA_bF@)S+aJt`y%;ZKk7o7zJ*D+M}6xZ^ScaZ1B)Bypt zk@sLEu+J6c={aAN=ViyFVf zkI#Us2Wvb7BGT;(Ey2W!3QBZTyGgf9EPXTV4rzSPz+cCN;p{lW<;rh)m1}sxH(2qm zb5k3f)M~uU(rQKa|Y2-oJxmqzuwt;_w6P z;d1beyXH!)9oIqge{K>QO!=y2MX6D_}Mvf8NtqT=kNq*%O{ag@hM zW0bi3gs-KH%19^n31;nzHCI5dR>|*~kaE^Y;Bc?fX#)Wp2Mv$H$UjQFxYKox`tog| z6CW&BNYtTN`%(^AlS{7v#;A_$8xKuiSOZhGGNcsD;Hw^Cz%fbGQz zuOl>bWDLQ`$kkN7{J^e%uOnkjHdaD$!0L{ua&c_T(0Nf<0kF^W$JD8zakZw=5BowC zgfk$$Cpxl!qjdt;*1}ljtUjfDN8>&OiGiB^P+nGuRon z=N1M(G?jrIgu(>`L!EwpQ`~(s_e7h17~d#lB(t`CPaY8i4k3z%{V=o&ea3sr$SV6H z5X@YuOv%w9ot)um2O&Ej2!@B_o`e9~0^|pd?a2#!K@=lr32u?1@81Vo2JjE(Cr^Yk zhFPeonAxaepByET8%>}T+>#@Bad5qT>b+rwbZagqm;kZ;=29X3kzJyhU1FA9;*wqB zBl|a{3W(AmAVYLBO@_|-Q{Zdl;voa}OEP2}C)O?<1R1X~5#6ulgsC9C&wwqBuias6 z_=*kEY=iNg7e#L8#M$l+$)17@(IHkBs`nMjVZu_w=t79%L$U>LgK~e?iM9Lu{X;63 z4-|9ADNz7kfxhA6-C-uhI~v+n_Wf)2{lHOIA&i9RDk8K26*}=9t7L{j6=hg>f8xbx&iR0q~()Ml-inHKvTojATCg?n-dYdR4WAtoK0`K+kQmpW)=U{DuPNIy+;f7Yavvn_VT z$e41Lg&Ov^L>_5MVOeNjt)Jr!#ccVeCXXTA76Ak6bw9aSDxtTwiu~ z*-_{%Z@F^#6AN(E>K55o5@lOQ3Zr6)Kp`}jJY!K_@EAx6Dm~k!v+kupuf<3RM%ah- zC=)>`zCx!gR$~F_?6n_cOu#2Wg@Ll80Cq6;NHMaAMW`Jw0~&c#CU(WK5c4{8(BDDe zVDEapA%)J$V_EEretjKn6n`bVFP0K%B<)&T0xi+bx0`~r5Gxvc;@ru*0YVY0q?M#AK$O>IkKkV`65LemsF0GRMa+=2X zo!prajn=i~Uien0HQ2BiAP=B-sMV0*xvN|^|H})-z5t9;fiT~)HMaZOT457 zNU16(QM~>i`29b!c>*>l4G2O*(O=#h2;V_Q4h`DB4pOUr$7t>740UMQqkLY`K*RIQ?W9!`V9QW0}EFgP3)H!aiAcs0&+2O%2 zDG95&>B9^pG#cI55lERcjXl{87VmOtjjwL3{`+coVI?NMc>()Fy=U(Y6x!Re7{KB@ zILM196E74@6NZT{ybF>oy?{{5`{3B)Y6ej1i2HdKH?`FA8nh*8+{=}mBq#y{b?1(w zi3)C3>Ujalrd~~gqYLbDX%D?;MiMnnqD$;=>%#y~c|jXa-9UzFTMcr5By@{4pdjuf zfRDWKRiGMvn*b^?%m6H#_`@|7BjMpk%x_KE1AG{IjdnUUu&?MwC}kM{ZQm60^vY#r z$0fsdd2?j*8iL8aIM3ee+}D~RDzJW9_D*&jmvL_>K{ii{wp?t9Jz#@@PmZ9SlK?0r zy`A?S5||X@O-7C4x+`4GQ!2k;V+w$a8K}5zfwVwIqH4kFEUH4pjGh3^5m3NP5q}Ah zhG<;p?X4?0Qn^DkIvQU=&T;g|rP;L_wCNhOvB&Qs?-4Tc1XvUGMwxvxHc>>fODpWy zAg$#;HN%W>!FuD2T0u)J^!jYP(Zs=K-yqZw4VbIwBSr#79!iA057-dJoa?e}h>TT*41b?8y14002RW zd$ZYUUUz4fs#PDrqu+}F3N~mZi@}A5Pv}PQfXaQlf!Tl?*3ooAVNC(-{)ye%jmW=9BM||9xa>+*6dRoSYYX}fwstxOSpb(57|GrKRB=!CI5K2D|FqpIBzS0$?Jh z1zJCRWXGGsEx`JJHn#Z(8m)O>s0JMsl~Tpzz=l1}!_MnOluH+&M!pb4A{McVQDo`} z2|!sARrSrP`TZynA#%g8!!o3cP2I6qCe?`uu-qF3q0d$BV4HuVD1z~%KeRnzQrQh2 zbt3>&+De0m1Q@{r^wT2r6AU=(KJ}kfNeFTS{6R!r`DrB)JhW?d(5oJdjnNAr8xwG{ z02g~fYR9*^0FA(f8)QdFSk$~3d1?VC4MT1p)N>Xvy!#VfNYsEgk>rcGhKMlH0Y%0^ zCId%*;v?rqHDYsT31y`*OyQ3&M;VCV&x*LZ{$cEn128wj`#8bs+IPW~;BxEiFKZib zXqq4znWq6C{oQProv4}|H#Qy|IRgT`f$vJXaE3Ux$^076AI#N1oEV`?db^!53De-g`QjAnZ0`Cl%MY|G>|Aco(M)g2|&9R<{xLH;=YZ|?dqrQZ1wQh@M<-$$o9 z&Ly@Z&-Ifx)cL@FzpSoB7Xq9vflKV%{=#6x_(Z~2S`hUre?|uaqtpn(o2>(9*@7{g zT*#Y0#ViNN8X;Z4Jg-J4{*NryurxWkB|&gJD?wV7V#TsBOqNak0&Rz9hzOEN#`;c|QaUS7%rI(A* zV?+flWfVN7G6B|NJy%ZaHo!wJ>X$@;EXiNRXuOJ|@pZNTa4vUxb>?VS8AFq)WSSpqHTu;N8 zk2jmYBQ@niAm^|@&(1y0n0!az{-LifN~skjjiEvFS0QTEBitXy>NtxaN1oJwJ=7>B zqcY&*HsAv*;l7u75Lx_+!2dC~0Y`vOyl?!a+ZQRqAHKhNo{W{na;@(0V=E`a9D1*Y-6y+PyvqzP>cN-lNpp{{8U!>d7_#`Vx8w-j_Z9 z`(fsCTfUDlbjol~2La10-WNc?oU8JN8aL@sd~bs5FZJ4~R&WeW&u&H3tmw4R(%9j@ zYo$$I3^Z*_d7E;T@p$*@9?Ai>IJcc4+=`EKN4#Aa*22BEhkux8uJlDtQe-*VJ0;s-iQ>f-7`ao@AY4WBpHNl4e|+2JMA`3oB9k;x_m_ka_LmMlZ+)_ z`6=iprH(NA+D_HCyh_y z>TDoaQ)3B=j)xG(RrS}TQs#Es@}@ofWV1m~T(DK8-j*kNGJbj%z5CNSVlsLj=ai>; zL2)r4&9q6uDz&VQ!k!yNWHHhGcOyiL>g$%?Gv{$P(}n~dsCGo|=f*kjm7Quk%fsZt zPSa^LckAKw%tr%9yARs=aDLMdl!nW*qgL6$6BufsZRq}+;s?e`cetz$aw}*?^4m!J z(52kYKJKRtjdas+8}6M($dsye&QwqgD!CV^7cDZ`5-x>EYN$>`&1Rg{Z9(JT$=xB&?eh#)z^3- z^AERb)k`xS>o~5AD=bQ9xx`gAV;OW-#JtCZ1SF7*A(x#kWOXFgbt?rjGIQJB!qW|m;;R1W&5ub(`Ri;-*SXGWX|qan)#mfzL^bt$N87PV&o(06Vdv@>_MM>71mkF z9;OyoSM8@PIS#x^9=Alz3~7=#JLA?j=S2|&QZ>gHME1(@ne4Qp@T2yL-JnjYA__er zr>F(|+5`_NykuL*=ghkGH^IU&@a84v4}Z0Bqkp<)7F29sqHh2I!KFrp#vSF&9j#IE;NT4(ER_yoZ+G$i>^_85+=5&lL}1iul^JVcyQ< zK0%?=Ld1_Jh}P_~3P(?8qgEw;rs`jEJ}u9AJhEm1KFub=r?wHqT_XrSae_$wKC@nf zj&9;nRD-EY&kK1WZa1+d%^HZO+JB&A*z?H6CaGE&aTA6j{PE5?_?E(F-oVt^_vo4u zTzqGbmaO0(v=QYc?2#*`x#{a#eh6z~{lTq4NchkYm0x{W-!*$`;x{L>k=c&(L=ofj z6}oPB#74BJUejUU0$wJ%Nl*yd^`LQr+EZbAd|wE<`c?A#Y`!y|eV|M0SkTsIG7IJF z2A-=v?56Koo)O1uyFn|QLv|HH_-~64VV_~|e-`M!hTGT|G`#q$Z#mm_W+>LRxzw=7 z!DK%b9ztz8E|y`w!FRe7ooH1UhsH-aq&(;Cp*hgmPKLs1h1^#q80>_Ta)X8-xPuco zuDv`+hSQ6{l^K!%H=Z6^$78M{%C+z zzuEhIl_~Wyl{eI+^&M05Sq0EmV~uzA=>SU59=;>sz>wBwHc+bPp(3=T6uBO>LWTW^ z`?~No((_f$=!i(~f$mctg#mk(i}aU8cTp#SKbmKVSOA4ldrCWnpvvn^y2s)Ds6`g z>D==9*f%xG92 zJsl~@ePelK*zVPG;#X z=fm>2E|noO9>R&BoK6|hY+YVLy>r_q;n;79WBC( zITCIleN~*h;Z%`XC%gO=&P5juE~1xgq@8-M+*|dOWuYX(^O{h!+%sJ#-;ZpfvxgJk zHqW1u8tLgy?85fXyoHs-l<4X9MpDXBN5#)|l0P)eCdWLGBbZou^?}$xh?nS)naqwp}d|$dwoT;-%I{|T&qCM46@N+DD z$|SAV&H9c5tJ26Bj}rwNKf(t^r1Q~qe$3tKt{`;K*Yv1SmcnjQ)Zo6gVxVxrDWz*J1Q-Cux?HJz4@u~c1417`p5CIDvv0W@SoqOtw!?b z{nDtteQ3`e*(v4fGMmgxfhtRC?BF%y(l#nA`z843p&3gb{e(~p>DM1z`R0b-9uoWj z>Bp%&Eslcv-Cb`M&*>$_Uc`~vMDz)+@LWJ$!145 z5Yyx7BrqxmQ%^Z(K36q#3qMz;NnSj*-&brzxZ>fX&Rru;m&#B1bFz_a`=62x$UJ>g zY}+^{sS8g)u=OEc^JhWO{hJFc2!sghf+|-4kP()H`nt_wghY37|(%7$SQHKtoGV0|N zgm&53$|h{zw-X-R4$AR4Ft7~u9Pyd!5%aPlghH9rg-S^C2lqWD3`Qh<#-A4;>jzWk zPAQY^nmMy5g_=7jjxNeCO6G`2%%D%i__UMCf>yQ)Mia6|i<30YZ;xD!Pb4D_LVT%P z$BAA-Qudi}R%?@ZYu`1$B%53S&hJb%rDpKny9%Ap<|GU~z7?MOOBK=VLzB!nRO=q8 zE4=h0N8+TGnDD>MOhKd4vY>GMt#UsH0m7z;utRN_6JN1vbI7a~Px*B#QSjM4?>dQw~y z1Z?2Heou>gfmCcI$~me3C4iF6$?EuGp2K{R!`3w9A2mNI)+GM+G#qVZuoO)@%9maX)pSHL=bkrf;O+;t8A`r(B z*~omPgmI}$8~4RuP-xdZ@5CMDLOvmU)TC?Yhph9rlczxzt%oI16^UY%o<%jEvs_;c z=l4kH54zQk*myjn|H4y$8ni;)UH!20KI^7_^l>fEFZ>8%&Yk_B9I4uEj=s_XNRRp< zucb1~Ig%FHWIotc-|;dq%z(i^s1tj(Viq4oeW?0d(I-0?u>h8uB{f{1)|yiS`al+? zJ^McE^co-K6X7E1{GG{2IfLmlYFaaEm8xkseZQsj`rF4}ELsy8$oz9hulM|%3>T_A z9~zZk!_*hyi(5UNx?ZF<*ph9x)=321H>an}H9rd3BX+60S1;S67pe%SL3x2X&EsB@ zT9xti3GL73YciSnc-5S0_$5d$(7g%9o!gN5adZkF5dL=NxlQ~amn2feYK%X34u#>uxd$y3VutM{p$ zblVx5OLm<|@lojT^XLpa?qe5NclMTHbSUcnB&dU^8xba36qDUSIjX1A9}*ebDz`(D z@{c_vVpf-}at4D|K4>ItKT9y!I12jlF;#olg`?$2%Nj&BDshmnKF)T0ccGkqkF^(h%2CCOHMr1+a60f7t}ikZ1Mby@UT&z~E5b?^9sSaM@|FUn_J06cWd`~!NH*z`NoqTt(>CH_EF-d- zvzsMG7xDa6hWwf!{4^eY2R`9EI4+o0*hriOVltu`P)CD4ondmE4W=*yoxGQ0(@6N@ zf_Db8o~7E&s5~dg!$Za60@?p2q);C%im$@)Sjt7o$GNcZ`%vryw=YYL&DO$#(9?Hf zme0g2eV>NMXY^3aRngLzx@{g#4#hI;p4&96I<)Wz%C+txZ5o72Jv0QNs}tz5EcD*@ z5kSu!9>uR79z9!v(CQGzA2G$J8arHL8MPxTaTO(oQ!sp#x2gR{L_e2_%Obt=B@N8A zvq*Xt>vZjUGd8VUc2;_m%Bb7{qG+5D2Z!&tNX~p;vMl#-un$SI&vO}|>5tftlW^H6 z%q<@$V!6F6_A*H5cvgJ988vAK|K!&xZ@|WFJsw^OI`Njm)OCa9q3_lq>dW&w&rY?x ziEGH_+zJ?J7pD7*C^w1wZg8(l+J4N(k=Qkpwk2R_Qsyv!){Ys;7zKJq*&9Z__h z``aj{^iqGN1{l&E&LHo@s6;XOW46uRtV2UZJy`0FI?uN)K_>yF1q+HK6bQKl-h4F4 zb_RirmtHiDWXFjPV)`DVy2nT>_yBiB%s@t5EE0j z@LvD;Sq@!~Mvmd3wNs>*O9A_Wx1-9rhH&xUpjgow8F0&~M@&>9j1)a#&cYH*Vg$9- z36`F)es0Ub_+KszZEf!)Pe!_$ATBXm?!EI(p3b05PNeTvx~OOeeeZ?$Q*#=_0wDnt zA?PWU*rSfd?Gk%f=0vTO9LQZSVLWWL6Aur^hsN&B5*e-s?GdScDzFoOCukwPpLTlR zSq|mTKRIaKiD(GkJ=g*Xj6cn|;V?1kq1zla(}mY_Z<{$GXygl{-dNs9d>x>ZS-UGvaQeE4sH#bbNHUfWW;mK*g?+VbQ=Vayoosu z1raw^PQKg^hM#w1ZB8I@o(*w5S@t~wrlY9O$b4~4h25pECkHO}*gbv?Q=~SPG?1|& ziJs#?w27*$LwD&B&3^o)9ejXVjBS4`_!k^@*ynX?c7%5CVLp0jOeZE!WgkTg zTZ44aIK;6+SC-sOQ5c#i;Ho65E^7o7 zb34YQKf+YlkOjhD0k;*rMl+#kU*&~CMd!pz*Pdk6cuj+mA-d8AGZn-q%odTMYY&N0^ca&;|Jx7A?=`LJHJBt1qOAGQ zqfor|lpOX)9gihgqcm=h-~FjkeUsz4_)_}seTVD)$m{dg-`jK7r>(!Gv9PeNuWw^F?UiocX6?@w{-sRV?J&ZD|?gI zpYeDrcq`F2Xy%*J{6ata#TZl6;yl5<#du2^_E*#(_M;@fEJlBvz>^0ymH|$Wp`=8I zSk%{kU(fu&_um7yZYNKFk3SX76I8;r_{^0p{4F64p-0y*= z9RO^27YhsjKY+RL{s23>xZ9dL{}baQ_rM1@NU*R@-LQZ>|NTb+kOAm-h8sJXo2k11 zZ~%UFW|i|RiRmazXf!v90{-$MNveH?xVXq5rT z|39(h9pAw4h0(~r$olid|4+<4KGL600E`I%Oho@d%hK5mEHejFH7AER&OF9%-ux5v z&5ihb(g6AeP%iO*K$lo|lleb^k9kujcZFeLZU4IUUyHN+{= Date: Sat, 7 Nov 2020 13:21:01 +0800 Subject: [PATCH 14/21] Removed yaml front matter --- players/NaiveTomcat/2020-11-07-dockerWP.md | 9 +-------- players/NaiveTomcat/2020-11-07-字符串工具WP.md | 9 +-------- players/NaiveTomcat/2020-11-07-狗狗银行WP.md | 9 +-------- players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md | 9 +-------- 4 files changed, 4 insertions(+), 32 deletions(-) diff --git a/players/NaiveTomcat/2020-11-07-dockerWP.md b/players/NaiveTomcat/2020-11-07-dockerWP.md index da739bb..8920e94 100644 --- a/players/NaiveTomcat/2020-11-07-dockerWP.md +++ b/players/NaiveTomcat/2020-11-07-dockerWP.md @@ -1,11 +1,4 @@ ---- -layout: post -title: Docker WP -catalog: true -tags: - - CTF - - Hack ---- +# Docker WP ## 思路 diff --git a/players/NaiveTomcat/2020-11-07-字符串工具WP.md b/players/NaiveTomcat/2020-11-07-字符串工具WP.md index 513af7d..9b87938 100644 --- a/players/NaiveTomcat/2020-11-07-字符串工具WP.md +++ b/players/NaiveTomcat/2020-11-07-字符串工具WP.md @@ -1,11 +1,4 @@ ---- -layout: post -title: 字符串工具WP -catalog: true -tags: - - CTF - - Hack ---- +# 字符串工具WP ## 大小写转换 diff --git a/players/NaiveTomcat/2020-11-07-狗狗银行WP.md b/players/NaiveTomcat/2020-11-07-狗狗银行WP.md index 51d2e8e..019bf36 100644 --- a/players/NaiveTomcat/2020-11-07-狗狗银行WP.md +++ b/players/NaiveTomcat/2020-11-07-狗狗银行WP.md @@ -1,11 +1,4 @@ ---- -layout: post -title: 狗狗银行WP -catalog: true -tags: - - CTF - - Hack ---- +# 狗狗银行WP ## 切入点 diff --git a/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md b/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md index 41be91e..1ea7373 100644 --- a/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md +++ b/players/NaiveTomcat/2020-11-07-超简陋的OpenGL小程序WP.md @@ -1,11 +1,4 @@ ---- -layout: post -title: 超简陋的OpenGL小程序WP -catalog: true -tags: - - CTF - - Hack ---- +# 超简陋的OpenGL小程序WP ## 思路 From 633d4878368237ca3ae84bc4d59605bfb1d96ea0 Mon Sep 17 00:00:00 2001 From: a-wing <1@233.email> Date: Sat, 7 Nov 2020 13:25:43 +0800 Subject: [PATCH 15/21] Add a-wing/writeup --- README.md | 1 + players/a-wing/writeup.md | 107 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 players/a-wing/writeup.md diff --git a/README.md b/README.md index 2410003..fba6936 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ | - | - | - | | mcfx [Markdown](players/mcfx/writeup.md) [PDF](players/mcfx/writeup.pdf) | 总排名第一名 | 全部题目 | | [ProfFan](players/ProfFan/writeup.md) | | 证验码 | +| [A-wing](players/a-wing/writeup.md) | 补充一下官方题解 | 一闪而过的 Flag, 233 同学的字符串工具, 233 同学的 Docker | ## 其他资源 diff --git a/players/a-wing/writeup.md b/players/a-wing/writeup.md new file mode 100644 index 0000000..8b1be83 --- /dev/null +++ b/players/a-wing/writeup.md @@ -0,0 +1,107 @@ +## 一闪而过的 Flag + +有 windows 的话很好办(我专门借了别人的 Window 机测试,这个很容易,就是白送的) + +可是我没有。。。只能这样看二进制数据 + +```sh +hexdump -Cv Untitled01.exe +``` + +可以找到这样一段 + +```sh +00000a70 48 98 c6 44 05 90 66 8b 45 fc 8d 50 01 89 55 fc |H..D..f.E..P..U.| +00000a80 48 98 c6 44 05 90 6c 8b 45 fc 8d 50 01 89 55 fc |H..D..l.E..P..U.| +00000a90 48 98 c6 44 05 90 61 8b 45 fc 8d 50 01 89 55 fc |H..D..a.E..P..U.| +00000aa0 48 98 c6 44 05 90 67 8b 45 fc 8d 50 01 89 55 fc |H..D..g.E..P..U.| +00000ab0 48 98 c6 44 05 90 7b 8b 45 fc 8d 50 01 89 55 fc |H..D..{.E..P..U.| +00000ac0 48 98 c6 44 05 90 41 8b 45 fc 8d 50 01 89 55 fc |H..D..A.E..P..U.| +00000ad0 48 98 c6 44 05 90 72 8b 45 fc 8d 50 01 89 55 fc |H..D..r.E..P..U.| +00000ae0 48 98 c6 44 05 90 65 8b 45 fc 8d 50 01 89 55 fc |H..D..e.E..P..U.| +00000af0 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000b00 48 98 c6 44 05 90 79 8b 45 fc 8d 50 01 89 55 fc |H..D..y.E..P..U.| +00000b10 48 98 c6 44 05 90 6f 8b 45 fc 8d 50 01 89 55 fc |H..D..o.E..P..U.| +00000b20 48 98 c6 44 05 90 75 8b 45 fc 8d 50 01 89 55 fc |H..D..u.E..P..U.| +00000b30 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000b40 48 98 c6 44 05 90 65 8b 45 fc 8d 50 01 89 55 fc |H..D..e.E..P..U.| +00000b50 48 98 c6 44 05 90 79 8b 45 fc 8d 50 01 89 55 fc |H..D..y.E..P..U.| +00000b60 48 98 c6 44 05 90 65 8b 45 fc 8d 50 01 89 55 fc |H..D..e.E..P..U.| +00000b70 48 98 c6 44 05 90 73 8b 45 fc 8d 50 01 89 55 fc |H..D..s.E..P..U.| +00000b80 48 98 c6 44 05 90 31 8b 45 fc 8d 50 01 89 55 fc |H..D..1.E..P..U.| +00000b90 48 98 c6 44 05 90 67 8b 45 fc 8d 50 01 89 55 fc |H..D..g.E..P..U.| +00000ba0 48 98 c6 44 05 90 68 8b 45 fc 8d 50 01 89 55 fc |H..D..h.E..P..U.| +00000bb0 48 98 c6 44 05 90 74 8b 45 fc 8d 50 01 89 55 fc |H..D..t.E..P..U.| +00000bc0 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000bd0 48 98 c6 44 05 90 67 8b 45 fc 8d 50 01 89 55 fc |H..D..g.E..P..U.| +00000be0 48 98 c6 44 05 90 30 8b 45 fc 8d 50 01 89 55 fc |H..D..0.E..P..U.| +00000bf0 48 98 c6 44 05 90 30 8b 45 fc 8d 50 01 89 55 fc |H..D..0.E..P..U.| +00000c00 48 98 c6 44 05 90 44 8b 45 fc 8d 50 01 89 55 fc |H..D..D.E..P..U.| +00000c10 48 98 c6 44 05 90 3f 8b 45 fc 8d 50 01 89 55 fc |H..D..?.E..P..U.| +00000c20 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000c30 48 98 c6 44 05 90 63 8b 45 fc 8d 50 01 89 55 fc |H..D..c.E..P..U.| +00000c40 48 98 c6 44 05 90 61 8b 45 fc 8d 50 01 89 55 fc |H..D..a.E..P..U.| +00000c50 48 98 c6 44 05 90 6e 8b 45 fc 8d 50 01 89 55 fc |H..D..n.E..P..U.| +00000c60 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000c70 48 98 c6 44 05 90 79 8b 45 fc 8d 50 01 89 55 fc |H..D..y.E..P..U.| +00000c80 48 98 c6 44 05 90 6f 8b 45 fc 8d 50 01 89 55 fc |H..D..o.E..P..U.| +00000c90 48 98 c6 44 05 90 75 8b 45 fc 8d 50 01 89 55 fc |H..D..u.E..P..U.| +00000ca0 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000cb0 48 98 c6 44 05 90 64 8b 45 fc 8d 50 01 89 55 fc |H..D..d.E..P..U.| +00000cc0 48 98 c6 44 05 90 49 8b 45 fc 8d 50 01 89 55 fc |H..D..I.E..P..U.| +00000cd0 48 98 c6 44 05 90 73 8b 45 fc 8d 50 01 89 55 fc |H..D..s.E..P..U.| +00000ce0 48 98 c6 44 05 90 74 8b 45 fc 8d 50 01 89 55 fc |H..D..t.E..P..U.| +00000cf0 48 98 c6 44 05 90 31 8b 45 fc 8d 50 01 89 55 fc |H..D..1.E..P..U.| +00000d00 48 98 c6 44 05 90 6e 8b 45 fc 8d 50 01 89 55 fc |H..D..n.E..P..U.| +00000d10 48 98 c6 44 05 90 67 8b 45 fc 8d 50 01 89 55 fc |H..D..g.E..P..U.| +00000d20 48 98 c6 44 05 90 75 8b 45 fc 8d 50 01 89 55 fc |H..D..u.E..P..U.| +00000d30 48 98 c6 44 05 90 69 8b 45 fc 8d 50 01 89 55 fc |H..D..i.E..P..U.| +00000d40 48 98 c6 44 05 90 73 8b 45 fc 8d 50 01 89 55 fc |H..D..s.E..P..U.| +00000d50 48 98 c6 44 05 90 68 8b 45 fc 8d 50 01 89 55 fc |H..D..h.E..P..U.| +00000d60 48 98 c6 44 05 90 5f 8b 45 fc 8d 50 01 89 55 fc |H..D.._.E..P..U.| +00000d70 48 98 c6 44 05 90 31 8b 45 fc 8d 50 01 89 55 fc |H..D..1.E..P..U.| +00000d80 48 98 c6 44 05 90 69 8b 45 fc 8d 50 01 89 55 fc |H..D..i.E..P..U.| +00000d90 48 98 c6 44 05 90 49 8b 45 fc 8d 50 01 89 55 fc |H..D..I.E..P..U.| +00000da0 48 98 c6 44 05 90 3f 8b 45 fc 8d 50 01 89 55 fc |H..D..?.E..P..U.| +00000db0 48 98 c6 44 05 90 7d 8b 45 fc 8d 50 01 89 55 fc |H..D..}.E..P..U.| +``` + +## 233 同学的字符串工具 **(这里有坑)** + +这道题其实是利用漏洞 + +1. python upper() 函数有漏洞 + +https://www.anquanke.com/post/id/196044 + +`fl` `U+FB02` `大写` `FL` `U+0046` `U+004C` + +利用这个特殊字符可以生成 `FL` 。所以只要使用 `flag` 就可以在 `upper()` 转换成符合标准的字符 + +这个要特别注意 **(这里有坑)** ,如果用 nc 的话有些终端会自动转换。直接复制是不行的。要用那个浏览器提供的终端 + +## Docker + +这个是考 Docker 的原理,docker image 就是 git 的一层一层叠加上去的 + +这里可以看一下这个容器历史记录 + +https://hub.docker.com/layers/8b8d3c8324c7/stringtool/latest/images/sha256-aef87a00ad7a4e240e4b475ea265d3818c694034c26ec227d8d4f445f3d93152?context=explore + + +根据这份官方文档,我们可以找到如何查看 rootfs 的 diff + +https://docs.docker.com/storage/storagedriver/overlayfs-driver/ + +```sh + +docker pull 8b8d3c8324c7/stringtool + +docker image inspect 8b8d3c8324c7/stringtool:latest +``` + + +`cat /var/lib/docker/overlay2/781c84bb2cc44b9b4a672de1475f0f50ed11c176a5a224b90b0e19b100d79917/diff/code/flag.txt` + +`flag{Docker_Layers!=PS_Layers_hhh}` + From 460ca9c110e89d859a8bb724bc10309142b60839 Mon Sep 17 00:00:00 2001 From: taoky Date: Sat, 7 Nov 2020 13:27:31 +0800 Subject: [PATCH 16/21] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2410003..ec6b12a 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ | - | - | - | | mcfx [Markdown](players/mcfx/writeup.md) [PDF](players/mcfx/writeup.pdf) | 总排名第一名 | 全部题目 | | [ProfFan](players/ProfFan/writeup.md) | | 证验码 | +| [NaiveTomcat](players/NaiveTomcat/) | | 超简陋的 OpenGL 小程序, 狗狗银行, 233 同学的字符串工具, 233 同学的 Docker | +| [sparkcyf](players/sparkcyf/writeup.md) | | 从零开始的记账工具人 | ## 其他资源 From a5dc4de4e0cdfddd65a621952e096941b31c6cd9 Mon Sep 17 00:00:00 2001 From: hsfzxjy Date: Sat, 7 Nov 2020 13:40:59 +0800 Subject: [PATCH 17/21] Add write-ups from hsfzxjy --- .../hsfzxjy/从零开始的 HTTP 链接/README.md | 70 ++++++++++++++++++ players/hsfzxjy/永不溢出的计算器/README.md | 56 +++++++++++++++ players/hsfzxjy/超基础的数理模拟器/README.md | 72 +++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 players/hsfzxjy/从零开始的 HTTP 链接/README.md create mode 100644 players/hsfzxjy/永不溢出的计算器/README.md create mode 100644 players/hsfzxjy/超基础的数理模拟器/README.md diff --git a/players/hsfzxjy/从零开始的 HTTP 链接/README.md b/players/hsfzxjy/从零开始的 HTTP 链接/README.md new file mode 100644 index 0000000..7c26f1f --- /dev/null +++ b/players/hsfzxjy/从零开始的 HTTP 链接/README.md @@ -0,0 +1,70 @@ +# 从零开始的 HTTP 链接 + +此处提供一个使用 socket 编程完成 TCP 桥接的解法。 + +运行 `python3 bridge.py :8080 202.38.93.111:0`,浏览器访问 `localhost:8080` 即可。 + +```python +""" +python3 bridge.py :8080 202.38.93.111:0 +""" + +import sys +import socket +import select +import logging + + +def address(addr): + host, port = addr.split(":", 1) + return host, int(port) + + +def main(bind, connect, log_level): + logging.basicConfig(level=log_level, format="%(asctime)s:%(levelname)s:%(message)s") + serv = socket.create_server(bind) + rtol = {} + ltor = {} + try: + while True: + readers, _, _ = select.select( + tuple(rtol.values()) + tuple(ltor.values()) + (serv,), (), () + ) + for reader in readers: + if reader is serv: + local_client, addr = reader.accept() + remote_client = socket.create_connection(connect) + ltor[local_client.fileno()] = remote_client + rtol[remote_client.fileno()] = local_client + elif reader.fileno() in ltor: + data = reader.recv(2 ** 12) + if data: + logging.info("L -> R: %r", data) + ltor[reader.fileno()].sendall(data) + else: + remote = ltor[reader.fileno()] + del ltor[reader.fileno()], rtol[remote.fileno()] + remote.close() + reader.close() + else: + data = reader.recv(2 ** 12) + if data: + logging.info("R -> L: %r", data) + rtol[reader.fileno()].sendall(data) + else: + local = rtol[reader.fileno()] + del rtol[reader.fileno()], ltor[local.fileno()] + reader.close() + local.close() + except Exception as e: + raise e + finally: + for sock in tuple(rtol.values()) + tuple(ltor.values()) + (serv,): + sock.close() + + +if __name__ == "__main__": + bind = address(sys.argv[1]) + connect = address(sys.argv[2]) + main(bind, connect, "INFO") +``` \ No newline at end of file diff --git a/players/hsfzxjy/永不溢出的计算器/README.md b/players/hsfzxjy/永不溢出的计算器/README.md new file mode 100644 index 0000000..16b9f4a --- /dev/null +++ b/players/hsfzxjy/永不溢出的计算器/README.md @@ -0,0 +1,56 @@ +# 永不溢出的计算器 + +思路基本同官方。鉴于本题没有提供 TCP 接口,这里给出一个在浏览器里搜索不同二次剩余的脚本。 + +将以下代码贴在浏览器控制台运行即可。如果脚本停了,最后输出的两个数即是所要的 x 和 y。 + +此处的原理是利用页面暴露在全局的 WebSocket 对象 `socket` 直接收发数据。 + +```javascript +(() => { + function rand(a, b) { + return Math.round(Math.random() * (b - a) + a) + } + + function selectLargeNum() { + const len = Math.round(rand(154, 307)) + let ret = '' + for (let i = 0; i < len; i++) ret += rand(0, 9) + return ret.replace(/^0+/, '') + } + + class Result { + constructor() { + this.reset() + } + reset() { + this.promise = new Promise(resolve => this.resolve = resolve) + this.text = '' + } + } + + let result = new Result + socket.addEventListener('message', (msg) => { + result.text += msg.data + if (! /\r\n>\s+$/.test(result.text)) return + result.resolve(/(\d+)\r\n>\s+$/.exec(result.text)[1]) + }) + + + async function loop() { + let num = selectLargeNum() + result.reset() + socket.send(num + ' ^ 2\n') + let res = await result.promise + result.reset() + socket.send('sqrt(' + res + ')\n') + res = await result.promise + console.log(res) + console.log(num) + if (num !== res) return + setTimeout(loop, 100) + } + + loop() +})() +``` \ No newline at end of file diff --git a/players/hsfzxjy/超基础的数理模拟器/README.md b/players/hsfzxjy/超基础的数理模拟器/README.md new file mode 100644 index 0000000..2473804 --- /dev/null +++ b/players/hsfzxjy/超基础的数理模拟器/README.md @@ -0,0 +1,72 @@ +# 超基础的数理模拟器 + +由于学过符号计算软件,本人首先想到用 Mathematica 去算积分,绕了点弯路,但还是可做的。以下给出代码。其中有几个要点: + + 1. Mathematica 的 `ToExpression` 转换后的表达式是 `Integrate[...]` 也即符号积分,此时有可能算出奇怪的答案(比如复数解)。此时应该将 `Integrate` 替换为 `NIntegrate`。 + 2. 其他一些替换,如把自然对数底 `e` 换成 `E`;最后的 `{d x}` 换成 `dx`;`\` 换成 `\\`;被积函数要用 `{}` 括起来。 + +偶尔会有几个积分算不出来,但概率不大。半小时左右能拿到 flag。 + +```python +import re +import pexpect +import requests + + +headers = { + "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36", + "Referer": "http://202.38.93.111:10190/", +} + +s = requests.session() +s.cookies.clear() + +address = "http://202.38.93.111:10190/" + +tex_pattern = re.compile( + r"(?P\d+)\s*题[.\s\S]+

\s*\$(?P.+)\$\s*

", re.M | re.X | re.U, +) +body_pattern = re.compile(r"(^[^\s]+\s)(?P.*)\\") + + +def process_expr(expr: str): + expr = expr.replace("{d x}", "dx") + expr = re.sub(r"\be\b", "E", expr) + expr = body_pattern.sub(r"\g<1>(\g)\\", expr) + expr = expr.replace("\\", "\\\\") + return expr + + +def get_code(expr: str): + return f'ToExpression["{expr}",TeXForm,Hold]/.Integrate->NIntegrate//ReleaseHold' + + +def next_probem(ans=""): + if ans: + response = s.post(address + "/submit", data=dict(ans=ans)) + else: + response = s.get(address) + print(response.text) + matched = tex_pattern.search(response.text) + expr = matched.group("expr") + progress = matched.group("progress") + expr = process_expr(expr) + code = get_code(expr) + p = pexpect.spawn("wolframscript", ["-code", code]) + p.wait() + if p.exitstatus != 0: + return "", progress + try: + answer = "{:.6f}".format(float(p.read().decode().strip())) + except ValueError: + return "", progress + return answer, progress + + +ans = "" +while True: + ans, round = next_probem(ans) + print(ans, round) + if round == 0: + break +``` \ No newline at end of file From a42f0adb4800a38a17be79e0f28481b6b9213a00 Mon Sep 17 00:00:00 2001 From: taoky Date: Sat, 7 Nov 2020 13:44:30 +0800 Subject: [PATCH 18/21] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a51fe48..7af904b 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ | [NaiveTomcat](players/NaiveTomcat/) | | 超简陋的 OpenGL 小程序, 狗狗银行, 233 同学的字符串工具, 233 同学的 Docker | | [sparkcyf](players/sparkcyf/writeup.md) | | 从零开始的记账工具人 | | [A-wing](players/a-wing/writeup.md) | | 一闪而过的 Flag, 233 同学的字符串工具, 233 同学的 Docker | +| [hsfzxjy](players/hsfzxjy) | | 超基础的数理模拟器, 从零开始的 HTTP 链接, 永不溢出的计算器 | ## 其他资源 From 25b84ce9108f6a059b42f81a67063351e4675b66 Mon Sep 17 00:00:00 2001 From: taoky Date: Sat, 7 Nov 2020 13:53:15 +0800 Subject: [PATCH 19/21] Create README.md --- players/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 players/README.md diff --git a/players/README.md b/players/README.md new file mode 100644 index 0000000..fbd0c87 --- /dev/null +++ b/players/README.md @@ -0,0 +1 @@ +本文件夹收录来自选手的非官方题解。 From d617a0dd50b9ef0d7949abfb9e7df482b58f10a9 Mon Sep 17 00:00:00 2001 From: volltin Date: Sat, 7 Nov 2020 13:53:29 +0800 Subject: [PATCH 20/21] Update writeup.md --- players/mcfx/writeup.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/players/mcfx/writeup.md b/players/mcfx/writeup.md index 7e2a961..90e604a 100644 --- a/players/mcfx/writeup.md +++ b/players/mcfx/writeup.md @@ -1,5 +1,7 @@ # Writeup +作者:mcfx + ## 签到 审查元素,step 改成 0.5,然后拖到 1。 @@ -1781,4 +1783,4 @@ r.send(str(m1) + '\n') while True: open('out.txt', 'ab').write(r.read(1)) -``` \ No newline at end of file +``` From 46b19317e0d3b20a7f042900655fc906c2e4eb1d Mon Sep 17 00:00:00 2001 From: volltin Date: Sat, 7 Nov 2020 14:00:11 +0800 Subject: [PATCH 21/21] Update README.md --- official/签到/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/official/签到/README.md b/official/签到/README.md index 3d78471..ecc0bba 100644 --- a/official/签到/README.md +++ b/official/签到/README.md @@ -47,8 +47,8 @@ $('#number')[0].value = 1; ## 一些统计 -下面是比赛期间服务器统计的收到的 number 值的统计: +下面是比赛期间服务器收到的 number 值的统计: ![0_1.5](images/numbers_0_1.5.png) -![-5_50](images/numbers_-5_50.png) \ No newline at end of file +![-5_50](images/numbers_-5_50.png)