From 46009f00ffcbb32ec77d46dc4b167c3945c2410e Mon Sep 17 00:00:00 2001 From: yuchengen Date: Fri, 24 Apr 2026 14:50:45 +0800 Subject: [PATCH 1/9] feat --- frameworks/ComfyUI/0.19.4/Dockerfile | 0 frameworks/ComfyUI/0.19.4/README.md | 0 frameworks/ComfyUI/0.19.4/test.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 frameworks/ComfyUI/0.19.4/Dockerfile create mode 100644 frameworks/ComfyUI/0.19.4/README.md create mode 100644 frameworks/ComfyUI/0.19.4/test.sh diff --git a/frameworks/ComfyUI/0.19.4/Dockerfile b/frameworks/ComfyUI/0.19.4/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/frameworks/ComfyUI/0.19.4/README.md b/frameworks/ComfyUI/0.19.4/README.md new file mode 100644 index 0000000..e69de29 diff --git a/frameworks/ComfyUI/0.19.4/test.sh b/frameworks/ComfyUI/0.19.4/test.sh new file mode 100644 index 0000000..e69de29 -- Gitee From 2f17ca588b6df3cdbfd912e1b5835daab71093f3 Mon Sep 17 00:00:00 2001 From: yuchengen Date: Sat, 25 Apr 2026 17:55:42 +0800 Subject: [PATCH 2/9] feat: add ComfyUI v0.19.4 container image for OC9 --- frameworks/ComfyUI/0.19.4/Dockerfile | 34 ++++ frameworks/ComfyUI/0.19.4/README.md | 103 ++++++++++ frameworks/ComfyUI/0.19.4/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.19.4/test_result.png | Bin 0 -> 101166 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.19.4/test_result.png diff --git a/frameworks/ComfyUI/0.19.4/Dockerfile b/frameworks/ComfyUI/0.19.4/Dockerfile index e69de29..e47f264 100644 --- a/frameworks/ComfyUI/0.19.4/Dockerfile +++ b/frameworks/ComfyUI/0.19.4/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.4 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.19.4 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt +RUN rm -rf /root/.cache/pip + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.4/README.md b/frameworks/ComfyUI/0.19.4/README.md index e69de29..f57709e 100644 --- a/frameworks/ComfyUI/0.19.4/README.md +++ b/frameworks/ComfyUI/0.19.4/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.19.4 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.19.4 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.19.4 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.19.4 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.19.4 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.19.4/test.sh b/frameworks/ComfyUI/0.19.4/test.sh index e69de29..d37ea7d 100644 --- a/frameworks/ComfyUI/0.19.4/test.sh +++ b/frameworks/ComfyUI/0.19.4/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <qsp?tYDQ&gZ*4evkWc|8w8>^>~~*F)r8jzFzOw>-l;pfu6ML^dhQIbXt03TuOrPoh?T9+h#KFLDg5ieJpSqr} z#(T8vITqK4H&Oo8Z_J;%rA;-R+^>5lrEYhH=C#-2f}^}!u^H7Xo6 zchAuH>#I*k)ztLHxq=R5T(9E3}y9}f!G6*v18 z*MiEpcO~4QxvfMQm@W^+IW1UDb=og%ZuD-hj(kg&@09)d@#$TQ17+L{2{-QCxf5-5 zw4>7ZZc)nI~4B)J(ah?U}rZ8)_D$1JKe)jn9Yfbb;;r%3L8rU4xN3n zQ>A%aSA7BSP%%yXW+&i8^-dS{PdQ&ag^<=jS|WsYI6Q3UFhByB-fs|y-L&3KsFH5j?csibvo+Q zM%7yi5_I_Ydt&50rz;B`G>8=6*~SH%iE{lZj&FD8VDVJR|-`of|a7+T3 zGRASD5?1e47KuuV9gqr*^HYw+9uKK@?7{1$=_WKCqz9oV)3|*uXQ*;>yzJt1|5b9K znKvy(>68ntg>OE#5#5uLl5)({v%l}-qk7Ak%D;BSs@KR8O43}5-=mBKqH+as`naR} z1DvJg#Kgp;q?X`wHCokJlr3hV$D`MaPTgpWcOF4VgmWMT>n563-Nm8@6}%^b@d6A~8oz?^%DJszyY%E~HZWM};D zFcm+!va-_GcN@pS;FCeH}@41`LGY4~ieFBVSIx=*V?oY(FJ(?XwOW=##jYD^L(OH+jXL@03TJ2Vy+_OJ2P0{7hZn&@L`CX zRTm_eZsq&Ff&FZO9{K`Ns%M^G59fwGb3KeRt<6^8a}2}!JjpCEF%hD-yZ9ak+gaFy zEXXovoA+L?3FSb(FS$0Vgv7h0X`eNLKidv6yuJlDKktn!bAtQ-D8lGfTaF&n7mB%u zEXpyvUTL%=FJZ&nzT`m>wTCnC_n@i*BL|=6N-80SY-YF-J+ihu%W}&)4^bsDxZ3of zV5j4QNzE+Zed~%FwVQYS2e+~Zb=4B#T3=i&-S+(iduUTrlT6s@lUNi65=lOPO0ED= z*Pkd*U7hGV6YQ%m=Q-Wi($Z2_S66&*_)5~VIqXtr^ZjwaGDDat;7X$3LTs0cP)wfS7({yLfny=n>StzW2*P`v zv`O<!g2$qS%a`6@QAye(5W}|7M;teYH`fxWSAwo2JuvJP zYlNp=)Yg0Edh$0NA~OC+U!V~X;qvY9BRBQ<<_So!(&ual9Enp z5Fu`ruU{9}xK+@RF?kmK#&Tc>e}funKF_APX250nj!oy^EpCrTb@TDVWxSuXQ}f&U zQUsgOJ_EiH!RqSe@a{*xA|z`<>Qs* znx@;;(UC1k5P4dYcN5pPF&(6+LOJ5hM8#oAral@%DVzh?fXtb~G?Y=9ssGY+zbV>o zpVS}&2L}h_HHur7X%@lZuyg&+_WdvUFy-X&4H5j;>Q&`RvTJsqSvj)wWBT*H9<}Ms z9XmHt>Ly#=2YKS1))+v$g*0$xIvIgEv^|gZ<{@i;gGlK+H|Ll8 zia>>h3knKqOKpI(2pMR3IMF9gPDNy~%PtEM%@^-pTT|28o3E-B7;;RwfqyTOM4--O z`LEk)5Hn4RXPP(Hnkj}~aXM)qGC7!nsI>_R32rhOL+R!B!v;PN{J1yV)Kh#fRWDBw zNm5*!z6w8uEMfJX7A~8MTvx*>?7W1YgiBwD~ zaj8mimb*`MwYKUCvX7Fg0U}j=cEi$1Oq#_5h$Wu?bjT#Q8wfQW6Bm!}f@oGFyA8)Ki%r7r5#~!mH7qItN zY_3-9HK9821WpMsGctM(FU-#)qS2chei}q39)-09vXlROo59B_&*69v-Ej8U7Hf2= zAP-Z}-aUJGA9g->E)Kbx5F1f%%kr@r2J1KEHcEbo;2XB57ExJ<-x?hlZVkZ?mn8KAl%a(fH~ z3#0r6k*_F;n`^_eKZNHXVHs@BiN=2E>cXrM?dFHFX(bxhora1Wdjw(#uF|lTN;m8G zZSb|(vVG)W%r5&CEX+M3lf4yAY|3KnQQ?;#J$jU$t=6E2ad&+dRGb#bGLuv-)>u#= zj>t_-9o|@9Z3%+(b}rpvZt2IJc_R{f>dvCBS%pQ;(nL{j`T7Dm+6oa(m1>&0zbHHZ zXG&^nZQ%rL<+O0h+-X&!E!MW6%dI~r=b{F2W1*;Gc{K0H{Kp$g$v2nTdfCpdT0@ra z8?cpOMAxx=Bn)3|d;7*HL-|yMy+jEf&kkXDy6kaNgvwie9G9%SI>v-Y!B;9)T}VhM zz3yBLK~EqG%fp36D*7%tLvs0&s<1M0I(F$tEe|eyjz!&blOoL$48JQDP9~$Ms3c9oTfxvi%lx^ zSPimFqX@$j9EU|%mOu41M4jgf;DWm4pii3jRp1G)^*DuKlDe7xx`24q9l40hDwlB` z{M+PAtxGv1XpQSE+3i>k`xVE$)v6I)k137}O7tUPt7+k0&EDH7S~*<-U0G}O*D5!6 zJZvs4%D9!RUvUfKswx=Ef0R^%kMbx{OQzGfwJfLOCQEtF+~P@8lS!=|&=Ef^ZtL(khQzUk<34 zzj)E)2URmpe=Xq3$@$vi9n3anCiFv0WA=0K;XrdnM#gu0C+iRQ$Hc@01qPNDsAY(8 zX_=WNuDnWfH9q(5W^snF5-ZiUbG7*H=Ei!)6|r7H>E}CYAzsUWH#PdB?$5GCiqBNp zqNyNjh|(#RWTjJw=09$vDz2wZ-Ac)Nn%@>w3E3m?N>cCU#$sq*>*(0n*r=RJN2+y3 zW~TC~L+CsCEu&#Ncb+T%Aulgqez>hQ>;C-t&H~I#qh#;9ihc+2PpT;_&dni^=Q8W& z$4KPkrP{q>`S|)Gy9;O&$n|kTrGnukl<_zM1o(wsUbcdtc`PHG5OI&vR_ z>hM7R2Xnn^iVkd-AZ8x@f*k*~0UpU7r83j3Hrw)t$$Oc(-(?;vFw#g5;$3!7CCx)h zTu?Ms{q5bysyZ5H(TfMH814$ zZ2|hKHJGNZIeI(bQ>XJ{rDAh&Ga52~f`XrsgG6F8X$*~);8wij!Ku#UQ3 zD#<+GXd{u~#$;$mmi!P`)#1LwiBKXJso%A!SjpP!FqknzjWNsA6>!zmNqd1sZLY&D zWJ#8qD&e?B#oXcHP{{;&hE z?3K5u{N;&LlroNxYMr!JxXRIae7cYqKzKn`JNABgNLkL#(`2WL`9_^is@diW39@FV zHO}RgypP1|gE=j8AAf{~@BTt{1&}K3@?B{duWXTjabY}A3OclB}mYe;fd3LF$ z?vn5Xh*ER-sE8eLz}AK>GU{n~`07Tw5osQFkQQk^AmF#y?|4Tot?;gaoIADbiWkG4 zK9%#Hd-vnG-^||9iFihhb+6nNvh6uuGh^cendx@u>jnP1JZ~7VdZ|B`0&Iyr%~(Dh z@Zxhr?{rvbXuV?egO5|YQPJt;ai}%|wfGq9ik0*mr!MjJae9+&SIehR4PuQDO6LtS z>l*vUMw54cZY0Mk70C=TQ1*{47{~5?UqIUvw}qT!a-$YQu}~FvN_6ya*k|i+?(O(q zqA{QsJ)rZ5hnqXvN#+sB_If34-a)$|=yb&2i@ougV-#zmF>iD15+pcDzk4HdJ=V8$ zvL^ftj(n_myEE{c?ITs1k&zt>&4TTnu!x=;h}%I%&Lo zW&O^ESH6sqvJz#XWi7r(AP~~K3^pi*rdhQEKeQCr-K?$8#Hz1s^cjeINkJDaH>Tyc zHZA{AYyNb(E45*BS#i_G%8Cm3I{na}cYMe3nR3}GRKJWmi)G*YDAWxJLtI?U z{p(K$n~)|(obFUCeGgILb^Y=EnwN9*3VEWh?{r_74u3jSYDl>eDwf2<(A=iC*$T3* zE)9f}NF+Z89ivc@rG!O10F%_j`zwHBddvOD=pOw?;mXN$`0;(+z|5~rtP%E+J?7=^ ztb&}JL%~X|E&$U31A0)rt|P~gUwd2}O8Rhu(5`EsBrfp90?gR25CjZJz%kQjqo1~V z;CxgwqMkLJTYhD+Vskwu##9FS@(lf1E@3ecmo)eRq z?~i~LiyM?z)Tt}2d3wA41=KQaJzIeK!GnYDi+ecUw{3yxr%#{Ok$h$pPWWGboq!;X z3LM)XU?_OzQOv#XQelf3$uy%Kl9kxhB9}+Av$N&Bcf$tURzh8GQ8vjcWu>jxi@fiR ze1}kB=9YU$8cR-2R@_`}wj!9_U#0@LQR&ptXP)2n`ip~infvz-^fpXRZ>>I8mD{i9 z@v&padi^)o>05QiSI+5%>wuu1cWG&NqZ2yI0|yRJ znE%qSTYpmhU9#8rl8DHOf;Z{nO2l2ybE#0yUOm>-(((r~W5zPoyUbJ|%G%nxOBUVO z*xU>&quyMvgxA}^T; z#V9Th9-bOro}UNSW|B~zLa}vp%p~R|p^Q#NjEv0f>Ap!hJpVmJxX|m3?q;K*;E+_) z=x92=WT!HlbF)uz=4z)+VrW>{2DxIL3>=ElLCR|1`)}WF&ey%~i`bhbe(BQbT5(`G z$h{j25N-I(@UXB+>)h@hmx;#@aDtA#qtHEP zjnfslckf=bm6hmm5}Hpoq}qZKGE>sKF2u>CCTU1QmmOW)k%uSFJ=;|ZDQk1VY14hW z@6Y<7(lU?0prA5z{Af?IPTKDGM@7`c{wtK;N*d!>%m&YiKC>rsI(iq*RXo@q@USSr zaX?RqHH0O*p^vLJVyH=#Nbj>Xw48_s9c4Sq8Q&Xa49$8KtABK2LY9*48_+#)V?|Eo z%h*w=O{fEVHUkfGE8`A6!KQlrlhm)TE=<_H5@?oX=i%wKm@pS(kB^U!V!jE`13IA= z*2F!J%4Pt7LjU2o9^D}Xtl&^%oKNKK@3AM4s=Pbut@9#OJ}+Lb7$!4MKg$U%9NVNv z8N-8N-@snG){w@)L3l?eE@wmqYzg*!R~32KN`X zO_TV^svzbA0XrLY9xP0ZY|^P628QO8A;0LK|I5H|ms;y1zx8GKqw-RqMfo z;_R}oOgxjRWW1(L9>U9kTsR>0?XDY9-kUU&3;&uZ+)HT`$Y5&ck84~}9+3hfG$Y!{ zChptaR*(BL%f7e(>X8&8&ApKE=h@|w@3+*5HnS1MdVxPIFIUhYHc)41#MDJ^C0Rb! zkSJ9?uXxpz$ojV!Xiw%|wTWdIWk@JYO@2+f8gS)L{in497;IxxQ-dH04OO8%XqY4N zZ9UL?g$_=;Oo(EaVxO9`8Ta0iiJzp=_OX>ZnSHyPuYFc3?2@#!*U*<(72fY04uY&> zQ&XEG$>F|a1OfphYTHXm2?-z=`Euq9IqBdFj_LePf~7QjC{T6G2M+>NzVTOXVfcJMG(#i9=tksVyZcI`a?T+BP;%rBY*K zVGsFn%yBzaitKdf?aXPd=_+(!3zTe7Ptl3C5)Vaa5L?mmF@$T$Hwn3=INs;=v%}4+ z(U9*2Jec0i>Ya`-ABHAH$Obd?`SW9TNInnYaV@N9;TeP?bL`}Uo` z>dd3xdDE9KkFO-T7MGTnb29}2!mFvNVSP@Oq<}dd8`-hOfiA?|{g2Ulh`t)&n zUS;R@1@LK8Iyy!sCPHfm(sWg?D3j1J(a~ZW2ZE}uUcLI0HGTi~RlI5{F-52TSZlOu zioL{n>GxI$ov7{+NKf#Tsnz92^aAPxTmaF{$i!UO)7!q^|gtsA@v}+8j|!*tGORdAZPWk2B9B)DeOBoSc67VNrWp(xE?US6|7X zVGYFFtyXI~Jwt!q?1SOT1U`aI)2n>}S0K@)XY1-kI$o3F%xtqY4v$J1)HgMx)0JJ; z>$K0G0emkild-7umH}Wha1$zQ-auC#I40zFvGi&X6Adr4&$_^9UjHi2@KUV0>Le|r zMqJ|(OK^9I$JF=g5V$qIYKog-O}kqK^u{RptWiQg)RwP?yL%2DPY|A+zlM)ww-G%) zl?`$H%FAiqLy8kt^BE~p)B}kS^!U3-ROW>5-k(>Vzz@4Ucnn&9-pare@*K4U%m=iV|b4zoSriA3zOf_$fJ9KY%M4#=GA zvg7m=jfV2KD_PTG{`rtPSm7bfe96%#pe4_D0KtdRj2T=67CG1I+@VnAWKj<^8h!u% zeOp^wKff{)AvJfewI!FSJH5J3&+4TtPW3J-6gfCMXPag@sntGZ_;y$Kl+(Ud_7Gzr z1%YLUlHT64p!ZB5ht}Qw3X6LF{CPRyU3-~)=e}J(CT#kG$EgP|E-QPUD-?3M zKvVzvOz^ZU|e76g2vwkHzhZscFp6zj@)U-Z_u!?1WI` z`9h}b)y=u>4RfI@Pl2G*PtFg$%FB|bj}s6#Mj}I%PU%E;KT&1o)0(@MDCyWO!gv)e z7FKPMf!XPl3@x2cm7{b^LIQWaF*P{gCp+Kc&`UaanmzQ)^Lnfmfnvk#eMh?<%Vz-j zh*JKg{IOB4_52;2D>63IHj$Z2M)&NI(w=9=@;q7b3EaDO?V@~jC$bFbb9ivpa$J_Q zy_fgKP_QAo?ARxto}ZERV7P@chcGoZCW>Vg6?q&uJ$3n?b~@@4y`A>3xUO@RE4(&j zQ_+kGH-`Tl1`y0d$gJYNpASJ(G6S&?`Pd+HwY$3;c=J*z=f29Nr4Lg#J!h_XJ1z-j zI*{QqLcLs0MQA(Rz(+R^8|dqE)_z0FpI~AYIDU+xf<*pZUteE?G%54eGabX1qpaLS zq&KyNlbMiel2Az261`RH!h61Xcy{7NtmH&s z(w;PS7f&cfND`^N-Et6et!9j%;IUH=l!nXc`V^3CtM#J4K*aQyPKXOqCK6gP6VX^- zpqMH)R_xB1--i|#^pk&DplT53C=}B+&O7JpXV%tyPerhCb3?U8n40PnD}X}-=vsd` zG{@(K&j95cY1>*9c{$g&na?u5)vuSk;ua<~V-*W`=<}@hQ+YDxcBF8}F#DIPPAB zva+&z%iNsWxrT-(-O@8BK5G!&R|J0ovA)jI-X!)%PMfapAJk;gTP->0sJ5#uC zztV^~$e#OOQ`H-89TeBFOI@yk^dfUo=QuJ$--%KRA(eBXOnf^bq!PnHt0^Mg>5wmU zU_MxP>5%0wFTlaj@bHq%64IT{J!!fEP!b)_Clwd9lE}TCBp=Dd=41PROY4i)v8w-w zBsoMeseLM;J$uMuQTHIO$#!LTg|EUUkkA?YmdVM;dl&P0b!;_|HTzy|%oAkHBI#=vsWj954{*r&Cv5&Ve7?|b z>@+d|_s{P$^mQ(PS)eiudLw{1^WJ{u=6@L;-~MLd2b&-Op;vxY0Ie|;yrOywW^ z9e?tl&$tCz{`$n%~}c%+q(fN znwxj{9=h&DKbqqb$LAT`yJIien2-tt$J#TDqg1P931W@vXNYbWYF&J94Gj%JA=eCZ zJB&q@gI5FeyDbX@F;#17hQXc;it~;Gu%991m(M^$h$QW5@0vYKC-LBTeak0W5F|_} zxlGK=i}Um18oWiFKEk;6K-hu3{ zkmz*O4NF83av7_hogoC8ONHIqLhZ8bH=ucqjRn9;b@lS|ljmfDavmBQdf^Pgsq{x6 z7By9|xxreLjOr@$Sp*k@xJI5J4%i60pDV*~w-*pE&_I9$GRLg*Iy0O!Fh(7P@{pxE zb9k%aTGDp~9+{8{8^AS3>EgA|E@3$WBQ#UFYR^TfW?-zvWbO^ApFJ|;?)kTJa=8#E z@~2EbmXiw(irdjvK;pZz$9vckxwjh%h6HIkRK+j>zKJ+@?U@L@QP4P z@y*GtvlNA9A%MW*t-5-EkPB85HSbly+5s1{d%^l|zTM?zfnQCj`AE6=G&GctWgn6> zHc$6leEITp4DUMh-{Eb%yia?HBY^eE^U(7=zhU-RURHKYstMQ;8AUILV5L)`T#`!h-7%- zJT3c)1)no?Z7m_iG+09W)qpaf!_A2?m(FOlgeWK5 z3InwU*9D9ONR#{DrEnBI5kHnt6dtqS<-M)0Nwmh>WR!7!DyxXVp zt|2O}{Q^}r3G)bwJ0PEcE9SRvp8yffRa(z({DO=-XDwObiVITmwRJHu;|EU33n|SF?&zv_x&m#s;;bQ1XKUW&8)ZPmo->}D znu;NE|1W4Q3ovg1esCBKIp{UCL%vp*vywgdkQtSs2Bkf1U>l3WLsPMMS4aonFqH~B${0d2Z58=;t>d4A`Rfn$Q~*a_FOa7!{xTmnRw0c&`^2*)s>TZ4rH-LO_J?eP+!}e**27! z-u2_TJ1eAb$ePhsJ$N*@Mm%j|v9a}*m`o~IeHyyEfsnqXxV0|37K}6Wwc=%{aW9*P z(MV=PLQzZ@ly*VqlC}pCbZ6r*G!;H;qQy*tkzF1OjK^W%9R? z@$vW2xrIU=^i@dIr1MT5)=S&>kv9s=t?{3N==lFA;Hq*qTh%*i;(t`{gs9t1VvQ=i zx!Kv-)f1mBF4BR3>*d^Wvcdnel0GKyG2W4*efEfU;Cp(%pO=?6TI;J|cJ_#C@vH9q zjM45a(=r)A>nQW`td4D5={f0_D5xf8Ok(|0e);_)HFMuME{04iBjQf`t8CQwqdTaR*%~ei1 zr0KG=v$u#jn46osx#<$~!N%rI0!@U1Ow~!V6s3h^+t}D})fPMVU-3wF%&PM`e`G&b z26ff?3JHzg>pi7a@bcApqS(Qz*CN}C{>SDs!8mMMZs9hDI3Y-jYvALvQ~QY_6mmQ5 zaRMZv6~U=zTh6MX3x>ep#bGe6$Rh2ta|;VK13%PagwnqK@Ajsj=Al4yFnk3B1b|7h zATJAwx*cXAreZCH_UU64JS1q&;e=1BEkG>I5gc3kF<=|ll8X?+VNoEf)lpqxjlcjr zx}RI#8*aK;anpCTi7FHk(Thi)_q^D4(uhh+e`wlOSU2V-)6?6V)gBo<8uA1PFi$y0 zjJ53ix9xp#Z;B_?56{h5V5j?#L&W&3t2^{q%OmgJ@b4=Ec!H(1TvEe zP?l}wEG7^jre{h*sPs74vYqxa@zG+pOjQ`6EU`=SuG_}# z|9xCWR9?R4g9|F~#D#>iE+CBmmO8S39eVXeO&|;?eLA09(tcwVuzaD~am>s&XUwnu z-X=ztFG?v%(2DEo-vEl zDLOYaAwqSsBq!1%2voWkW8>t{#b!{n?A_w=phixWf~(~Q4d)H}%7ipuxQp^eb5&67 z)@`p03I={jLwo4(2mTQf)h=_s@$-xCB5SMEQiK zRP3N@v85;qGX(OiXe?w3h^+EC1TB+8`IujH8*%y#y(!eO_1;+X>MW6S)fNxAdtD%^ z1zq;zn}3^a8+qdjW?FT>pe_knZ*!Dp_f71aBR*@JDKiv^vSs{ieDL%Kd+Cmz5)Uhn zy-b{-3qvs2nt{{9_TstZ4N%O<-Q(b_1uR_}e!2Vmdu1I9d(6<+uU}!MGNvWp`3YAt=L?T69A?AaUe2d%Z?0m)O zP1paTV<*aay+L)wnB6~jts!Fp4Z`V&Kh5AJz)c1# zSpZiJo;~vZ0g$fQxwxYEg#xSkJ>^VsZI*+P!2}ENZ@PAsX<5CnCjNwri~xAsgg;5&qVnW=D;>ZMDUD8Kzwm+3Bd zQ_z37jCjED@v#6(v)j=hQ9LoFevW!cqS`*gt-FcB6Y1c(5>>@uZrA zI_niXRw4!p8EGB}R8RiGO?9=OH`ph=knFd*;N=f6Y6}t8I|JG|dxTeSF51~q6@BuL zxXiJ!sFUj#EuVOJ7CQJ`RZhFhG?Ldp|5GFeS~kLHB`Xjpe!np`lNmke zeHkdlJ@I$Zl8Xhvm;Ka~Z;2+v-~0Y~-|}RVp&$UW?yFTkSDP9e>y2n`GM*U=ySDrK zzU96wgt9Cihq%xFf5M$M&EbpQ3>|tug<{hzVL`z^&Tj+D5hiiM_JuxZ($3o!Z5c)w z>qWP}{Q45_zn}OgUoyyC&Hew)hgUlROfQ&*(+5fDM}ldyUhXT^l$qsHCkruli0F9D zsc)|rbY$Y2tn)&NB`VDxr<{QoPt$FXycpLgVXE}=2N|@Y{_nF`;m|Jva)`GeyPtUu z7F0vQ^kCN(aA^|2OEhH!+GF{Ir{qYFZe?cMvIkN!LdCv6d;9m;SIDbHgI(5VVf^b? zKzr$=F_4Bfd#3IW<0ls;`9LC_n*+;%n~Wb=jLeh~f~QDjOPNY62ZSh}K+q^XM=L`M7ub~`JC?FI2AUj_g9(Kak9H)dQWu8{(bdi(sr z?Wn4}W#trU^%G@lp9M}35)RnD`D)7O_=#gqze)ABjI^}0sHg>^eQ@wC76k(|g$~2B z%lhV4GVz6A_h+On-)0LOkOI!Z+Z&%8p_Kd$T0=OQPz;!*s`{PfxO+P~3{6ZJO`#e7 z@8drd-9;Gjfv%k;_$9U&rEQ$1JLrog(t&=I)p^&a8n^CLiGcN6M*4fSI!N$kw7YHd z&}Y|M>L~kw7tm6)82rbAto&!r><{=<$oT8N3dwPno#-AwT&gK=X4+v5z*3YcdG=)5 zmNXQ}rKTe%EuAKFTjj6p0jY8e%Nx=M0vGr5x29MVKS=l*_y_7!h#@Ndn~#@+;h<7-Hdx(kTtQXnIPff`z>)Q4!oPyIx7T zylFEX^c|XAzLIpJtpT!QV`MRl3_+W$_|vGuz~KIIvECJjtqQo31k~2W^B=lMq=|kg zZ34#QUC;`YJ{w}B7}6yn&~!gp)xStt4*(N}RT^Iz%3h9pQ9So99}uIbB6QLQBcW+;zcu~X^X%5Qp{tvPxuPBZ8^-MXa_LUp{LRb7CXwY*JzDrGIr|W9dKkB_l}(fx8(HzW*b{wqO)LNjKbk%2BKj<&V6xM&zQ; zwbNOe;Pk&gpa|A!2N#>7TJQV%nzV;jTeO7o-hQ?tT*v;>U=O)u+X1qaw5)&t=()qo z$|J9fHzn729B0Q?1A32T#1_|fmd>?Jj*i-1KkYR)a`QStavtOgucR?=C{WMyK74qo zeg*{St_^9Y3Tx?jO-W5%t}8|b*5J;AV?q97vzP`-!~zlB`Wvul8gZUt3Zjr-9Nm34 z6Xi>Nwh1?$*JZT4adA;mQ5hK{T$}IuMHz7s5y%32_UwT!FMl%1=#JC3oB=5cQ{9s> z{0?zKd>Ail2)cEDF^oL{u^_JD17e&w-GULh);>n}AoZdBs=G3-+>6b`v+>Bdz0*Fc zVt1#X5K?v?3XJnpn7)E+Wg=u8ttZF|!w{EZzhH;o(xhZVe^Dyq59P=51eKMQVT5S0 zVuQ4~0s~*f<-Up-%~bGvl->f-k{`+5x<%DZvd)g(wzIRtV1aUSbdkkp0v~@vE07*3 zEn|qrs124Ktw)2Elc9Yrx9j(7N-{VV@ht3=@!Rycwsv5QL5y-BhZZ$}8+Y({uRTwb8>Rh($e5ha549N9Hc7_ zdZC5;eSs;EiFcfheav-pIQ!yh1@!0(co@V;%~UkfA2zc&TZ{ai^WucLUmA})5h&FA zV2}rbruzq1r~IArqb>T8Ic)YR)MNKP3y71BJ!3CtNOE7QC7kykJ;2jde|VgKXL z1l1&;0^owwt$t>}!8xgg4E-t4gA$D~R5@OSwz{SJE!^ZaPDz448<>K;xQhh4F@TBcEB&lr% zTr2>F+r=g-)?zkKk>@61_JoO%are`Yae27e&ZXbW_06|(EWVHVMDs zVw&U*mU~)ST0U{EBlz+tpY8Hmsk!v69KfJABUxGAMJQf#b*G(h+cnbS+mhR(H$0jj z+e>f+D@h;)Kb#B{P`tXp!6_k>Sul- zr37i8_Jeo$cP|!Hx}Ox>Rs-+%CEzgIyeUJa(9#dnZO;gJ&z^QhSkh5Sp@+qZtc-FlP3zZ5ThuLg}If1|4ww|?w%=RDfqgv@yf4s3EE1!-oXDz7e80@uE zhs?Z7WGQ}&J-}p)d^_D+>28tXu=s-U>Ii-VObIamTC_5ASzSvDoL=O@_gQJO&=jSi3)P&qz=pf4-POwXpi+}Zs^Z4-`K|5Dhot;YL!rA3g zVH17b3)x}_3A#FdB`KTmt=}fmPvYmWFB0Ymfc`Q}u92hZTqtp>yW`^`BEu$9WG4}A<6g6d8KQxF#!6r{y}Kkqlcrxu@?DDR^$kjqsIQ@p{LquJ5ofV~5GB zZ0)o8ok^$SH7gdn>_A+dNq&pV1xXx6qTiyrK7IN$GV%_Kf_(||wmYgi&VRcr#u5x> zim>(>{c=LALD64}qqyp~uePkK2?kNA1zn)O1OBmiEgFFytz2ru}Z_ z&$jN%EtSyRXm?{8tzpJmb~N}Ki6pr-Mi{>(IHY2+tbk9C9kVOw`uJ#Xo5kjg@Fq0K zVB^Z%(#dp>G4;L_M&geIE2X!MLIL*o_lFq?`u$;1kvM3CL0Xh<(Ws(=3%)iN48vGa z1PR^N?JVUBSroFkp`beqEfR9Wcoa?3bRP!g@P}OcD`2rFi0WK<8h5XBM$CtJ4fR$`vHKG&QLwnpT;hN_h=;nVZ_sS-v=2nrM2>tjK@N!s!KjREjJ#M4Y}3!gZEKS;Q;7sdG^) zZu7}S*2QhgVDtjp(&x{+e|2ut>PtbEUbk<*);*62&LMFmR+k28xZq5VSM>| zkG%xBx=t5coRgDuhVsGX4$QraJhjLHBkP;7l~13pOuOF)khlD1f^M~rcLyUm@D?-2 zDwYB;Gce4d_Ll>Z`w$3=#C)(jGBGjTpZ>TP?iS`N=u$U0eSEH$F3v2k0nq}g0^e{U zQJ?KiJcbIdC~yR~3p8Cbv)tR;%&mWwo>%Cq-!SkyT2E~MRsHNtNEc!VE$N0v=Dsjf zE}NePQ^eDW8?;0Kgu;HYDZ`JlqKm(+t*yaM4Tt%|zRJHqTxAb*0j|7=;%yhSr?^aa zh(1^fmMX=yerBZo+YpSE%j{5NaB#5D!tXzy?d=%g$%CrQy<`$GkpwDul2I6_R3M46 zhk~bIwZ+DYTwtO)pA5h|qy8{InD$q+r7>QzFJ&2BpA)DY_P9s|d)tK$t4qheA z103+k@z{>Ml0FcDQB!@k1?(Z!PyR&<>Bc$Dg&tLRLBWKedciT#Z#4 z97R0_BnI=0Vc%hD-_*=(ks6oL9x1m1OsoIqYA^jo3U_M5+H4B|qQdSOhB~~XN-dQr zTsr;mg)~UmNl8iYc8L!k&Kf)N-JZ_9{2z*BIl3gSO*hBT7bYX1R|02h<>GF-J%EyV zCd1Rmwz;v1^3?&elV;qg#gh=faB*F zLn(|5VPOQ`Gd366xGYj!U|vt7?X{*1?>Dz)xB9)dZrI-U{BF3&#J8i@VK$8tJfV1z z<>#eVa<9C1P&|;9A#UQ(JIMcQfQ0v!P)+L zP+FOz{^?WH`}5 zXKJ>O2R8pn!pKGn(j~zKP5WPFq3q$cdRN%>!?WeV;J$Zx1#c<|*|iG;$azZ$EKMoH zP-eGJwsY-md_dDH=>dGE6#}$_bX@@of_@jVSUc&kfjCh~N$5xlMU2G$MF?fwbz$U= z4zOx~eSvlm`$Cm(%Aq(nH?q+hwsV1T)h`bCo?=&#Q{v*Vu7DLnAH0#bT4-~i*s=sa z_C8d4?LUn+TpZHni!i+cC6`>t=jz8w`xg(qxdI~>k;0NqPqzAk%rOZ{%GOX83J3s~ zj2fTqdUH8@$}ZZ0?gpAMO8=9epZ~hD@|F+2Rm{QLyQ^>l%y0saAb_K-jt8F9h(1{5 zOn+;NSmpTYx_t5e69pv83r>$mah3Dc>)>SxR=TqNN*TFJ zmj>{Tm9(CPyl>@q#n^+D_6J0iLO%vTe?nS@3ia;Jgh2R9!(uhKZr6?&8B+!v?Lbt>5W~MTWkt=k#l%akCAo z8CagzW}EfC7-f;RAWgkpR+%*-dJNBUrV!KCPwP^e{vDjrSS%K5#F71wvpxZH4nqNF z`5Oxzszkp3SmFSW6gX4SR#w#_jMAh30ECAI`~HSbdAjc}TeJ&fdRkt;_>;f9C zhjQy%#FizQnAl7RhwKU@v{<7}5&yP9GJAOA zB;e3HR#w-D`M}O3*{r6-Q=WWN2K6dFY&k@$vMFw;dc$3%mYS zy$J@F|79c_2I}@Qn=VirZ2>8sj;Mq88nnHDxh_fS>@rltL>aVdlTK=eh?1;0A#{r= zaF&T5>WusudY3)QwW6VOXlaS`fH{@Lw_OHh0KR3vDZTN_9E&DUlae-L%4EYF21=(C z?`yQQTX*y7-uwN{WA~G>^oLUY%Y&KX&HKLZ9DHzA z#9k7+@yy@7@AD83^@!Cjd$k7_(Z9!{1Mem$+|{ymx7GQ63K5`oeZo0ZH?>Z>Bd~w5 z_7RdzRp#ak%li7&`RkV{J+s~Snj@H|`;(`{WdhCsnODKdFK}ePklJ0Od-2n+g%cJz zo-pIkG61XDecg3oyc6;jFqIl{65?WF@6x+kT4vzwK0<34{TOD2rOQVG@6XipJCHYM zTK-1Y`1Rf+Sm_MSrvt*eF3Q`<-%KSMhR8i-67zsKE-EUr!+-&$l|teEeK!V!X=t&j zjWnow8Dh@%@pg7bMn+N+yhnn6kc)%kz@A6_&Ysq7zsDd6AFUqWuh@il>>S`yMq&K> zDtGAV4VQthN9I~JJ)OnBI0!|a<4w%O1?39*~8Et(%GCI0{_f8H8`)Tj8 zNM48T4>yVVK&bMgU^)q`cx7I*ST^@Ncaj~*r}P0ZzyxDf$E4hYA6*4@0ayBAOykKL zPB~9!(Ao+M3*Sox0&Cw+p*XVDfFSjOx5PTC(Ry)$OkZA4IqsNV-t@kC@AKz=+%&q4 zhlzuI+qMP> zgbv^>D+DDUb&FO*T}5p}@THd3E=mbI$M9tvenr1iNnqz=g zfLCe6Uum1Hh?ySPUMKCOnSZ>`3?3fuwUi zHMpx?R0PC!dwXF^vf+i7+wZu${J}0|Z}zyUH;s>w>xKj>4Gd8!C1M&d29{R{J|in* zc(n~=L)S1jci`o39?{ctT2CW)b-5v@CML?}Q%#N3M1#yQo!fbW)u}oX*auLWKzk4- z{*j^p?&w4#HWKGB&Y9!)541&fnw(?~Hi<*Q4edwyG^3kS1!!w(Z z7R4nbyyX&F_8m$T8s1sW%mIB@Tx0Y`B$SrDd-oDF-L`TLq&muCdC?qcn^hD1`h<@F zK9TulUwD%VGc$~??0NLj07h%U`uIMx$Wrw9{(#SRhgv2&^Y}TLz}jWg%zYygkHOUSRv#b(%MZ#ys(Ur23D~LD!!Z{5#r~mlf&BMb-j=M?(WQ{UY zr?W>e&|@umXMZg2fy%TX{sxz;)Ub1@StBH_7Asgat3lMnrCF$uuJmsKn z&n_1~vHk+1W)1bp)%aFqi945+^XpNZ@ga+Vaqx5rNP8y5nBa}TIs$#L0Lz+j+DxY> zEhPqCYKQv2hg`|^GA)*W>OOYY_zKc$!M4N3ymXo3y zTSnQJ3Ke51YZ^-tk}Z4o@AIwcoO6GcKYpKoe*JMj9>;B&dCzOPuIG03h5oTsvo!Vh zcqjMi?}H$$F24b~PVIn)m+*1;{oGtn+7yx5AR-@CYP!7Wkx96hj$Y)mQhJ_QMWnZ4 z;kQBG12DR|!-`jCLfHnG#bl?T0cQkV$QQJU#rZ4MUl%~8m2~q!2P!PyAa`I02(bYN zLH_6tuO)~pbWmNjknTrRRX^AZ?LP17Td&VXngRa_d6W6<84OEg^aGnWZR+dq=VbUm zMEklOC`#0`y1ZZiypZ)(gmbm7W9e{buajYT)($FV(>~9q&^>hxUu$Tq20!XzIDKdv zl`Y(7aaUv!f7FdXw*Dogsu;T?nW9y~I|8>sw1US85@|Ire08MY2e^;L^)mpPl{2R~ zeZzkop5NAuc+d%`>6pN-;l)LgG$yIE`?o*;fSnV*$H6B8Ja`I$|(-?M+N-%+>60pS;<43d& zOZ`Bl!mMDv+s@K52jHJj^4oXsww-u~8|&uHl?*zxRyH;^LLBmd{MPzTc^8oNNhY|T zu|>1aWCy6Z+I?{}#Ib#>HUxa$yCYi+;Z`G&94vS>p4sSM9=*HAuHGg8snn48of|7Q z?mimq42k7ZuNbv^nh0X+84bw1r8xPBh_^fc{nJ$_=UbHDiVhk6*pJV3%eqP(?`hg! zOQbP7G?LD&W2g~f3}59P9??KMkkX1zC?us0t>NUo6=Rhu^ov1sM#gTHV4o>wt7@=w zN7*_ODO&IC0AOM9p$ZhwIv=3Cs5;g25xFsObs#UJ>Dzc8okzk~iNqjZe)aoz7Bag` z-L^4?;7I~)>f)C1QqA>~qao~T2D6Cg@t=zBS`^^Yiu47?$sM993Ozg$udT}`na`D= z%$NI3lSA3G06w0+zCQ3B{g<*wTUj8zcU_WRG-dVK$21X!qna9y)yJsddEhWSTscF710S9-+6Si*j&rg@ojMlWm7h}W z_q5Xd)xh}O1o8&`aLPz}<)=K_of~H)v%a5rv-#HR3>%eT*ZwA90iALH06vAjLD4MI zI`FB93w2YR(TmB^9yP8^32lYVh-#5&cAOZZr1{r*U}vgYZ5P`@rk1R?VeVeu4yAcp z9C8_qxuFkm;~XQxk?c>MpX`3f*!N`VKJe6()qQ!i+|SIH7tPvHIR*38)z?c5J)nzC zc`F9R*fr9XIi_64DmMn6{K*e7Z2Wq}_C^KM<6nOI_Wip%|Ei#2&-}J-?@B6^g)J>9 z7Lh_*+5fIbt96R(J?dNG{=N9(j2I{LsYQql6UelS>$NpYmo4R2uMrdX)za1Nx_p;} ztwR?BzbO8QE4;hgshf`LYO1TCr`HLt@~vV zfmvo_>ArJ5U23)O-=CW=@Pu5i@z!GNNbFLHW-S4+%yo(BQO5+LMOI*2j7@mQ|IU8s zQ3LFZk&mhfCNLq^4;KC>qgF9-$l&sLuCX)H9!A6eo36CyNyjBKuUy& z`b;oRL$#z8qa3sHrZ@zV8K`wE@+~|U6!-ly`gx%m3tH_N?e3|-)pKRrN`%fzzi8@2Ii12WPhxVMgoT zDHfq8meAuVy#cL)#sayJlY5|CrczT~!mGNtvf1iEOQ8~o_3F=7J{+so4>2uvncTt* z%N>m+LlvxQ#6DL)O$MPvI46S5Z;F#njJQ?939sIh)|0dK!v_b=Y01(#lcS7l}Z zgec@)-=q62_{Sx5A$4*6PeCgiry03kOc06|scfEotoO>MW8m@Ms!O|1&uw)zXe|v5 z@V1+6{>$PN(egV+CXlLs@{>us-AIma)pq2YlBp>@puzl0*2B#2IV0FIn)bs8kHegks0?C0r=Ev!4tE4;ut5 z)8<=S6x<~@+@SWOo@}(va8{ED-=%&s_yNu7V33@=-HIaF^OGY`apu9Bik@^=`@p(A zRuB4@OK}E1%gn6$VE-(BxRS~2Nq9rg^PQWWob+5hxbcbutU(NVlRmZ(tc3{)0_-KBA#Bitj@^Fn-fegBUn}-`ja@D>Hf$L0ZQQPM z0(gW}L~l=z=(6xlgYE_mE+mrj`b8uX^eO@&k9qf|i^0OH7tEL10MHaYX*OPo$NkbX zl8<`8O(%+zT_KfVyfhKC(hvxtyqH; zLaA4@P?;LR3r5!?ALUzxs<(9i9sEOZcT0 z1g+e=GtPe*y!($z6nf;47*||e+}2YHaoJJ6>e|}RQTf@~H&JAv9!Gnpxx5 zp$LQs-{?k7eDY*Xk`4Z_-YyA|0Eqt#Br=zVP+s>ro;>t<)5@#R_{#y*ZEntgP@@@y z98CtjKf7!5pym;WKNBZ9S>i{h2_N*Zj;X zTvm*G`OTX*b>2S=X$3|tzj2*1Vow|Se{IEGTW-y7c~VQi^&qekdQ+GP()bN!xpO(E3eHx5HF1$vE$K3KX@B3Z_&J`Y-FLqkKz)S+-& zz3MlEpdi*R3B(}-00x)7+PGnXw+DEg_#Gx`cREO{8Up{S5T$;nN%xBvEv#V zW)|mGi2l?9q>~LBN{0K(q)gIIWhcoyMVyn4WOQ_j1g>6r6}=3D-doZeS=Z-vvdlfd zC1N9&{KnzP#(NYpPO7+<03yW2#S_InSgSw;$DV=}tbb;b+=z~*QgBv^1W4&-oFh{i zYp1EU&#O_(0KmeVKov%=^8*CP%mA8<5*TR)!Yb7zfn3d723%o9P}W+xSwU7o!2qC} z&eeNM@fV>ra%~B?${Vnz2-Qx0{=SgXP!f+1cGIyMjx-PNyi03XtYkk^FVfe zct{j!ULdFGFSIigmnKdp_zRupoBdHTQZ`k}Zv-<#r8pcfiStnj#vzLGnjsOs5^DgG zF=*qX+GD*=SuakT#lYo~q>{|N=-HYAPN;bZBsc$@IX?cR9 z#6vWtQt~h!6zK+Y$h%R)Npj@3w$NLxI=Y>TbZ72`ypdSlq;)mf}x|6KRoCeeKteqX%s z5(>@?8)%e5&ZMkqVkI4X6#e3Q>TjjI-U{1?|48WT&MXP;fVJJ?gOWas3faAon)b6+ zEgPFonPK1nIy`ygKc8%LQ1E>B73M472R`_>%U) zEU|;GJV;@M`MQ#c$T`4{8V~X1lpe&IAgIACF?Ra1AVK*jSUB-FwAE4qe+r=3L>V>} zAew29ACtel{Pf4xtt!EbBh3wI221{~HlNdEx*|K~ffIocvZfo>Eyq$hI||vAs&F@< zTbty%axEhQ4jNLJUn%R=+3RPWP1%H&JD6|9^5t2X$j_dan}h35vf{+cGe&Is5AL8vV)*pNF00qV~G_Hr31inWQ^ z>_yKTS2!xhhV!Y^JjF@})Aw-Y&_(S`GgJrA7v4BrVnwDx`9zatd63x7WD`HK`))I? zKEw!r9CTN0*t8?2p$8EtG2>5uAelY56#0LecG%854&DF44*CaOKF?q=D^LqzXeS^!sh+_dS%QRO1^mjb}n)%*TE=)Cg zubYOLy+kr)C!CJ(t%wIx7<5#FAyTN-PW3M}o z{QOIL4jrYA2Eb_@`Ree|2pT5oDsj$0-0hS?c^+ANEKp`f;duT)#a_1Y_qx}=VbkL{jBtr7zFpii ze=K)*DL^({S65*jFQkeRQ+mUS1;5h8QZw`>Tqo8vtBOwfg;6|^_1$J=!W=`sWs7_J zivQ9}>5eVC%8+nFJ&wy+G4}ZKcF1S~bLo}~cbEYnGn!_c<$eV+KDsfBvi*ltgfx}6 z;V=lX4o95Obg}tpL$1XO4wa34O-v2Y970(tQL?se&>fa^k_+PG5FJ6PqgkC>aOr?y z!yfDRntd+KyaRc|H;uU=q7s$4z#sJpSj_00*rQ{vTiL(#_hUW=^b2sC##Sx5^g=Mk z-K6CT5oQ{JY8i+$(HDe({k)UVJ?O5Z@32IR=T*;WWP%3-(I^x@d=T+Dx!S>lH|Whw zEQ0(`wC5QX9LlU->SIhH`}8DdD&2bv873-n&OjP%wxV^qB5wr>2b2~7{K}VqpoA|| zuR%dypG0n7e%8zuuFl|TnM;ht5PSi-1rIPESox#Td+dFAe&L)cIbUE#=6Hq=6YI<5 zMZ%*f&7AU+VzTQ79V~XtpQU&M^gi76S#qccNYd>YuFM(od5gNm%36mg*Ks72j7(Ik z?eGA9azgOWKmH1Kp`-Yzly8Oh?kaI&7MoPt6W}B+*s3mQVArKcMw1&}(v#?n>vi$vOn~ZI39BXbpX;OnOQt zLxQVKe~$PJcUZu{O(Ib{s=vX|goC9d)zxkNC#W`D(Gba{55l8~&!z0h56K+s&mg2X%^TesevOz~>J)VY;{~PGUZn1>Fij2}XK2oaXrh zjxG_-!2L7b$I(;kH@gt8?YKazyXaLjkjEUy~jQ1>gYw3bkV$Rv`ECp;wf$=6I!-H<4vwDtNw8L^*4!>5E{)0yiD+e zV*=abqRQ0t{1rS?^5a#aa-oeB;wYwPMXdUO;An{{Q41Uby>}|iloRo1%=x4B)(F+x zZI*X_qv97uTlNw;@`tVxO43LZie;Ig5;8bbz6JrF#`Fq=+JNG6cz9iN}#sB>~ z;jIOq>vnSvWPD$Po)*(QWTQcmaRe&A^Kf!Xr;vHSxx75>@PM&+#;1@^1%l$va!qE( zvL308lm?k$^9*Nsq)^bNzCn9Hrbe?*bKZ@K;Vk^CwyusSJFLa@8~dhL1blD5;<2BN z#O|xG&Gs!|gZ%@G=j;0Cv>`uJSoZ!$Rz~!zyus2B5|0)>+N-RkI;ZMsVxpuKicUZD z)y*r${#=zW4-RJ5#e1A2Z*7x~jfzU*82^;X9NP96VK|K6v{U&E zjDkBZ|BG;;`UH;D1030q0wAIDQJ!pRfFA$pI3({OHe74&P-q=YXl{pv%Gh(IW942V z(qUp|cKeZ=h?Pe$;p|u4LPymKF|*xKT<}2dx?6={rgWSIh>O(|lW=@tS6826=mp0h zLaNL+0F-g|oxCKL#i72sn0 zl*H)*vHHhy02ML<%vJP5Cfa8I*!twHJcDvbUgv{-n8FLYFyCup45{S@wfVT>C825B z;o6vCD8|Xqp<#MKmYe(ks$%L=*51yu(#_S?XL|7U4%ov3mOszv!;B7i74i_FUwK>| zc}A%vC)^yar}Tt{ONz8lAJX17I2Q^>Ya&fVC$LK9rO3h`Wi7R8Q>AEXgFbaToGr+# zQQx>>Loh{-eKFozSbWt=trcf=!W80Z*T4TZ9N`hKXCYeshgQ{#C3_5!A|f2HX602b z`Rg591IU4egKoQZ+zchw%7nWsC;}{<-o5q2yOL>bY`kNHNGbhQO@c*zZLO@G@*m!q z_7QOeO7vFpCJdetDqFA&%iFBcIUD$A<)T#ZF)i)N(dV8Wva?I2kmL2Kd8U8r#pPbk zHG4K$c<72Tjt5Y;Pyj$gpyy<54Il>z6WjG)3P<)TnTFz1-Eadk%Gjzs0~Zo!zb;vp zBTOfv($Z*?$m@+64dC<)PvpLr6;{c=M@Ht_LrTtg`|K~@+!fmVzF&J3;6SA&rr7>i z5g$3Hyeo#1_*Wk~Cu9;mud?bCDS7g=PV#@EsCYJPkoTRahDp;#0)hD&(7zkLVq@w~Q1gc+`#gbssLc)rd*A&!i%4xM9K74@h4*A2=L*a!8 z)`*J?a9w2A^>2<_-cqh0XqbUA`*7K z?+;wXG&ubpWlw{(w$!X&ODLdue(vQTGWPA<`DuF1S??&FTW!v1vUK*pjoC}_1p2|t8}Mtxn~wbqca{$?+D{lixW zn2Q9Y?6zy^9iE7aNHzUg8UBwtGL;T7h9@kZu^yf4A67mGn5FziXyN^y92@3@cR_Bh ze((c)wp|B2aEgc-6Cb1Vm$x;?_cvpC*4K+mJ#e3$=u+b{33Ny1g!YLw&i3}24K8G= zIO8j@N)=U?h7Kt$Cx>h z3pEPg%Ah-W`})p-aO6|*>`i-ZMomQ$VL^dUOHdYv45w8HV@=T?TiKWTL6wx4^_2$X z70=S@UCUS33JQ*p%kSR3(-bmgx_0m1x~q!6fZV^GW51z)Lxv49uA(uTCNH{Y8DgP3 zBX6jRjU*(I(+`Uch@Z9IM$g9BpCHJGViQZ5rP5L&Y66e!+?*FXCEBRFq^YA${N zw|7dURt?OWq|LgYnRV&s;rT)=v?$voxRGA6)McBTA)a#5>ENJ%Qn2b3+&+*`7 z^(j)R6sJYKHY->0dw|e!YMS>?~^Y=-SWM0284F(ewH z8RC72n?cm&Ysp(_8wim__pzusw%h$8Ua5p~i)UU?CMwNWj*WYM^DT34Zv{C0C({@G zS3)h?kS;dRT3Cp#4>J#gmlw%GdO{%&k2S&>Q(fJLd>bY)eg$@3>I5$fP!YQ^B*S=d z1|th`6(_xQmwZS_vn8(w1qH2>^8z2vM-2UnT)!T{hJZJ)T0r9zNnU*M5&3FTc2^@4 zT%4V;2vD4$%m66E0v#?el_w%8Nv8xgqV!&*0}GhS53Ycjj$`#nQ;aO zg*evSC*-L$`dis$(M9m7%&&Xg$sShfmy153WcchTXMV$`k@Ml3OF}CgzSat_j>$O= zIY(=rNBTMbl?Z%n^NjY=^4!~Grz#RQht|ew*v22(?pr;4sW(QC~|9cg#bGp$5o>*>?PfEGAY{rN_Sxwu=l%zX|y4if5H z@!I3l{ceS8!xh3I!PtW^yZU-SEZ4++M|FKiqX)bN!&D6meGHG)`pz`?8X_W^=oGB2 zo6^o+m93`4;gFufuOgJz#K4o?NO)FMgeVxV7Q_dnBmx2g#8U~>-+o0rt0@$30sLEd z_j#OxfXH1@A@~VoQ-*s%aiUowq+FN*6GB8*X4vG84>#b?wn-7cdQ87{vVK0waDW=@{D^B+Km`T zr>`J^Owxp|)HXF)lXdX<>g^SquiXz#%z(Wh<^V?|W`Nf>kC59hu_xZzGoY%6v_0cd2y`_h*Hfwo3@zg$LPQIM3VM-*62$fw~u~AiY z8~2rMMzZTu9=U5qQmK9!8pCj=s|I&??2WR3Lc`>FB^BuF^T)!FdV#mze11gBd;sLJ z?0_VUO>3_m(k4MZFfUO=%tx9UUrGF@(PO&=zgEYqLAm}WXnTptAX?GF$-2}^#B>ix zcIFFL27=3rs1SX;@5DW&ds}IInNM+I6YObMwLy|$?pS%mF7UFIKdxgowk+{bK?YGe zFTG)U4QPwUGAZce;BmI|onq>y7_2S{SC&wKc6NEuIcw`szV2&+F}L};AuKluw_!q! zV*NW})cw7#qS4;O!((k>(Fg(P!Go7*G@xjN&W8UId7l^q(=xD9bxF^hyGN3&nS`?v z(`Fz-7ZS0>afLY}lbknMu@!%Wm4#5WHs3=LX`O2k86U<8hb)*pvq zqi#rVeC58)x7@ce=v7_2)N9t8cCQ1HOHu3hMy`ZE`~ciI-T zm%I1u@x`_UgnAqbzBE1OQ`xupqBRhmN~Lm=sSwb2FNV4o{~#xb-oOFMwtp>vf3!cM z0!=-mNUr&iA#TzEBQXkE`D@7u7ABt&N|SQ;MCmaEQi3%tk}MAXqLFu zEQU`BQTt16ty}WQrjzkScSa3>N^&m`c!8={H~{`qszN90@jT(dC&-{1`Ob`*$9TMY ze8?NAK3XXUf*-&|{$Hv(^JqK1HLF(zI$3VPn3_$f>|m(3wYKJ17QnTBQ;zfd=H{6) z(Nq+mg{^Z0NjO@2k}ih#i()!&s7%yE7o=&2BfuP!a>#fxGcf^?i14Dmk-zlfuX8d3 zXE2@?0vJfNPPLPd2n8(8JsygIfXEJDjzQQ0?O6#E#_WQphp+m-n>Qfb=}FKw0g#Z< zNAB5C1)k`!Gk4pmVv|0WZmhBo9>VywQVrSA${igp`RJ70ge4@x!@6ZJgpEFP!4@C+ zsUu;_4B4ymj}emjf7bMymCQ$y!$bAC793-|#=afuH8{=nCwGtgq9o{;DVND7xv~7e zY&UbuTC5_W9mFk%+@GZ@xQ!~J<+meBWnD~5s{P4%m`x$drS{XKAQ1_iX>}U1* zPqNN>J)MqHDV=&OW*yJPY65pF0yy;f82Hq%Kt=Znu?|wTkHeK9%PM?R&vNatt&W5WNUTVAZ>C>lb_nrTt zsy^3do3c{5?##n-rEdLsJHQqw=+A*T?;hb?ynx_kRf27p^Dz6XB?k@5>qK}~Zjp23 z3ui!H{s#{^r=-ImGC^*wk$hL(inE;~gnw7#FTI~y0N?4?zDb{}(c+;#N5-n2vo{#z z>N+GJ16?DG)0MyLRCJtecNFc~wC%?`y`YbG3N!n2$>k&xv@_^4pd#&dz#)ZqH4pIP z_hCjBG+(R75aj&sE9{Qb82OZ9ln)~D$dT8WhqL&Y4U^NOA9KE33^T_+#xJ0bj4Fz8Z(B02 z&^8=*lIyrta;(y8Z0Vvx@PU{Lb~N}Yf*UZWzVCy~ID5v31m@Tfkx6K%5$RF+3$7MG zNj;-FiZ8RXysbHRDX~7-%;)ne>iL`g$?yWXBLLC(R8k8jY5oEbxW@?r<43QQPJU+z z&nsCmNhsjapIcR`p_Giu(yVz}9RnY{fV_gwbk>*R=Dhhk-#;u`ITd{fMYoTq5o*7s zex2%6!&5A{?!F}gbvXk~o?^)1(Ce^cN*$L7TWIkwyg_z0HZI4hckkZCo&PR*Z9BCR zo;wMM8VlvMUw52Mzq6VpF3S2{BspE|C0Q^Wt67tSQgmfSyh{9V@ovGQc~F{~q9m@y z7TpO9H0&~M*j2U$@N~(AXmQN=`17Q#614-5XW!(P`;{%gfb3h0vz`*s^L%TxNHTXT zt`y;vLJ7*{l=Ah;HrX1uPt+1^%9R)7#+ObV3)2=O-;UU_kt^)_&rB3Y(c@Gi=y%-U<6TAoZps%1UJ+rbUZ(|6|6x zfsGr;)5ROsQdTF&`iMRzCMb|O{Z?8+xSIivJGAgN-{X`Njo=3$sk6rwe`=6Vh&#Is zylo%!=bD#C*GNYnpc)08Ttr5yMAdlbT{~nU>O6IfG5%uGqJs$JOE3NggFHD%QHk1Q z`@FwaqU5kp36?O*`%-=Hj!|K&Z~Lni;Zy78#WTt~13Gr~Bq!PbEK;b<`RZM@wKdD3 zeX4bCcKa=bw(%(}b=ThagN2x%jdFS1UBP$E+!r90Hsm`}Cu^ipzt1TG-GTBRq~r9r zBGm5#*Z{=*!X(LjT>r6i6R|xxvx2@uf+*OV)6O1&TB~rjr%*Mxwz}GJZf2aQzPH0y z{b_tEI@8Ia+a9GSstDi7hrSz@FPv-JF-xQnq&$A?@$t_^2pd5DM{lpCogHQo_F)Qn zb4|@KMt{!`FM8j2)A0Ve;r(Dx8bOE)#(EDW+nw+EbJ1q@RRwqJ@{);W0p0;TMdYB& zG76^|_`)8$M0?phq?Dp6m*16*7mZ)nQ-~prB`N^3$58AaF*u5sO^nzi-jBqlfbR2n zF~p+*gH~5p2fo<%`&D226ce+ncu+*$gVzk%`>p+0nkJrjdl+WU{}54G%tGJ7IH6_9 zR@1QLVbI!M!)#yc&YUn*f)Q>%KMvbJhmh^lhhO22M&QL6m>YmUV9*=J4$Yu|MH&Jo z%5pC!8X_#T{j-C&px}pGVHPPULzt3_UMlFw=0@Q77y>tZITMv30Q@)f={MVN`9Gb! z+d7>f6s&JZ@2$RP%pDMiC3JPO=a=Nn7FZ$iy}qA=j(|xe0AN>O&qP1Br*PtiY{LNZ zANKZVVeJp1O#NQzRxq3%JJXBjnw*%pHo0@dLH=Zv+3x^NLhCSce+#LamYzPmX#e*Y zH#hAqJ{Itt=(C)qY6w+?Rw%yBp_Hhup-NY~8Yk+o2oKK(*e?di-5(J#bCpG*m;lvS zeS{GrMh|{owAuX(P-V>DuIO-FHgP9RkkP+oW4OK?3)N?XmVgiwHLJ4by0Ed?@6A3N z|BpbX;{R+7q$(1~ID$xATp_E66)pS$#A@^ZzL({|SZA+>%c!b-5CeM6(;*LHRKJxL z=U$H3DYRN8N+u#{|E)G=dyV{Z73fYH(;rd0jsQE8orWW1t*r3g~i~6cQD`j zD}WImE8RmV>@6NS)TB@YZ(S+c97l{IwfEE{JquQg=`k3-*_vN;PFjRPw_yS>g>c`* zpNYX?2)LT0z!DSvX|!@v|KA zFvyrw-9%kMIC1Hp!(0KV-a9LQT%Z$4Yo!AZ zAjFN}$bPe(zjWJ_#29NfmdLj)-O<=#AkpqNpc(uCvwlhCDxlMe_FkKQ;yVmbZ4dzo zzjWA{*%r|0DPTN*3#VVHWW6HIXP^xs)sEF@Fi z`aX=JD3bTWjr*d+`H_$+xxQESzu&RVRUJO15?!>MgSfDGJbp4}+QDLbUn90_$2o=g z?JPyz1%9oLwbNJtHq7D8uK#L>y{eBTk=Tt!m8nqWbt7CuT$ zbV_kc>5dM61gwq>QnoYKFIHji>3+b%gfj`*2%%5px_-#>pg z#dIo*NGwtW8SHatyKE7O)4j1{L_n$rjsuwMKF4_V6UKGUK#j!gg&1fD$nW|Sm~_(9 zoshQlc-gzUI({S281uvgFN5yx_!ssfL7h0r@eXkoAxvE&yw@isJImSqKU-z}Q#?f! z&*tNpZ;pgnzBS}RpL{)TA2g1Fwb0B1xxZpeP-y)#vXIw`sRX-QnkZ}z=d%D!5qzDM zrSe?&^?a!iwFehn?43KeDHFJ9JaA!5`w*9ey4Jb(lFOB~0J_4LG6H!Bq*0*W_7A<; zj@=HSEN3ph6L{SmZXwvyaQ{yu480Io-UgUu+}o}Vcz5mHKh;>(pFiFLSmj+A<(QMp zm+Mb(4XnRs!;CNa3#nQETrqMR(Te+iyR-$-P3`k{p9M+?C>OJaEB7J+>@%F4F;+Sf zn+QlG!v=UFt~+>g%n^8m?DDino}Z-h0i_V=)2_4lIeW8%p}pU6d1LyFPy%CMJa)hD zEOfvo1HY|OctT-N!NNkttE#wyfaTEm0_i|VIy|?w?>^y;RqbM9Es4-c!XB^V$?96! zE-*_siT*Q0*XIB1O-~;wbyV0~g)wvK2j|<GWk4L}24D!q>YIXus&74ER-Vf(oI-tZulkaer6uA(&XMZFXf$A`uSQBt z96%5%Dbe`Evd9_X%`L(aQT7+bRr>z4h6M;kDyy@!ZrVmvQ-{xCAIYt@p zq$?28rR!d;f2O_%qWxV*Bo?;T)Hr>96NLNlC|~hm2T`Z&s3}1{u&=;dWn=&`kp&M> zJAk@4JVzK7@W9SyQu7g*f9&S1XasEln4rxIK_RM(I=v4;HPC7<4~Ar%!=>i3qwh47~f<-_B{Idw90s6zl9njKJU{NEm+ASwDnC~%SF{IU% zwJ=zhFPdxH{l!MG+s)r1nqr)y>iaQ$$F%H~f?bHdSxS%8@*=qe=au3N+zhymX*5{* z0WYdlpFF;g!W=^+%_pA}P;^MJEz(Ojt0>1{`|lugfxpo)$@^V3InqkkWsBD8NF1IB z>YO*Bm*`rwOz|pO2lHLi0dtA*Q(U_~_BzV0{nC31c za1-1Q<_rLA*c3+tn)UtW`>)B#`EesOJ~C0FS~C^lQdsM&%dMgotgSMccfufrk)0Fa z^c`Vq)~yA^Y;W_xmu z1{Ko}1P%CWGbS#LS7*+1Qu{fUUMmbFT$ewIl{beG7!Y`;JTa8ZGnZr zCjg8%-tTwSOn(JN_r0fiml*t2E)wG}re=I_3l?Fe{18+{FKdt{aG_;1BAWo)DoUYp zr@Z_Jj6u#jkF%3cWdjdS(i43`zXfB4Hp!($KOHB>yE&@3K2}6$9}2m7?9pP=rRsF; zo%wO3k-2oYxit0W@!8k=t#X^|zll56J7tuDIQ1xw+ou{ObKw%-Vps_*>Dc2IpG1vDr;PraoKwqlCW@HXOg>d+CDuPxiP2O{FG~ z(}V!?Gm_`d2Y?mzP>4Z(?J)t!wLW3jQf<}2^_e1@AG1psalmiu+@>!Bx6iq0xKYkg&KtT0=B| z*UhNqq4jygdN|ggZ3MW%(E){SpzOiNuq+ui5S1Ay2#tqpuU(!tx zaU%A%NIGZjWMmmT6#G(m*#RAz7<3 zYij}0PtcPQDG^%*-NLEZ2j%*9`5og^a0{ERJeShj-|w2+jI8_)N8x}W2s|5{Pg$6m znY}pw*(oUh79ir}<|P=Thim+^qeM9FsbwuK_OjNS;qBskjplzx&*w8^OE9TxXo475 z>o+#E(Lr=DRMfEH;#HK1_^2^VDt_D*s1q0zNDW;pS~6_(-P|zryR>VV^Dd{iau=E< z44=;S8n;ClnL6U%_RmdJSgGBb({&mX2GarrNEgiVFJi0;=0+Kw8nUuNl z`+VJbVclrFDS39!MC9zP!rt4OlaDhAzR7wI2r9yhOJQ(2^<11=-7BMMydEz0>)&a-4M0@*-KiU=1~N^*P=NyX=KACv}@1VLIIhIjDzv5M>5 z?YhQiF=WoP4OfiwZ&|llXEG@*y7g@y2cSKPUvDB3cIw+$2Z^BA9Z5xCD@uzSr%#=F;;SSPj*n00 zv6|UQKTBIX^4{KcbpQG7BENTUv+X#HT{7xZrN@1EPY1`}iHO*_z2Va*nj{s2|;zp3`YnD)GV|Va~*3B&mQu z%WZ}z8lhP>mX??x2T7)MFbv=TAmW8>MsXn<=!_#h8f2@TU1p;-QM7jpb#~37oj2Y4 ztJ9F#rHi;YL%d`g5<& zC~`!!lwIZBcpMcoGWoD-(j(}NRxf`X;*iPB;D#IhVQ$?$b?S|0A8H&F*{_L1K{&hA z+QGKMdzHGA7YQOAf(mRO6jK{!;n`y0UWKE{b`ieb5KBUb8xW^}Htd$dkblvq?+<+^ z1sgB!4rd@lHuvI%tRwh<6PyFf`XQ)d+Y5~fW@Mn-MPG-&|Fl6p#>z8 zn&|*w2rN;_ACMX5F3u3htaEp83I7h+`aF0Z(DUQ?X}czf#9?H50OK*pDFWIU4QM}7+)idX%nfc@V; zUP5;>GB;B=mx;Q}BLiiI#zXMP;@Lda-B=&&G{Yx8}aDDv|`4 zIh;B-34~J-j~;Ipx%yIe@96s}fjv^=jd1UM{`?v5u$(yxEr%Vl?DA5Gx%0$do5!*X zmvkOP{%Z8ZNAOZ2$7caYKg7fBbDjGLSQS+gVJRy+?JTxi{ChxUBIcTaQkYFlN=%%> z|9Kn>2zr=h+fod&hln4|&Ti~;1)q#NV-qHL6$HfF*+szFOn~17y%9GmXqiDW zf2qP(LRfV^z^s=41gSk* z@iS_g?XTVcgt2}2*Egq|5q>UQ##S=&{ib;vfBeShoB9jrg(Q+oZZq&gWW3%;c*+*e zfcTQ=iSAYiT>f!tgD;QP08NF*TGp&hx^ajX^1CqAuvekzToE9>`Br$$F#Pfmo=RRP z-Wy4yy|Pe?lX`y0ZM2#7>NOLGA}N{7WQ$X0&$e%GUH`1lM?7$V}#3WX6;j~cCMG#$B+z0-%u`eUW7b#5$@_7BWhrViL+ z_E%hm*az^2&Of6LpsSoX8{=&jRvH2+vSEH5(j_KQQUdR4$Nj{4YO&M za+NyD@?fm31W5X$e7xbnxePFcayj8G;l8p{Q4v^^gJFXoJH6p@N)Nia#ePcQR2=0( zO5Z3hfq|siHoFSh?GfLWZiBI;bpR(JnEk@S)0ysGPTAJ!!_D5mK*A(d0tK)wck6cn+?4mqBc1p6^0~q=+xKka<091tSxahcW7Zkavr!AEQ9$D6X^u>M$FQ{=x(f8B62Fh0ugKP z?Dh4Tn5=7)$%L9kq1Ysa-uM#dNM5lO3K008`&=iw&}YG6ozg=DvcGO8KUthJxpDOQ zZ>zv<^`Xf#JKXg4t>gedG>fNep2B*6OrRsi>{U+I-ooCHROy2~YfnANN|9Q5_2A;2 zyLan!MErb9Pw|!ja8z|s90qZ(lh2>?^2%jzL+8GmVHd6OaJezaSp`dU74_R0$x4gK z6`n|K-PI%QrFj&cV5lIj&rpTZi?k{Uahz3eaDzu_JUpg`8X46rewPb9@8gYX7eliI zGoMqQb)Ec2?rYt8ye+1TCJ}x&Gl~@q z{XFtfMisrL8>us9UxB=IILjkWK+Wm7frKDedD+RUMOs1}s_Ad&pWi8XBW|k96lche ze9?;)X1kUjTs(;Uk0slBUA<&^IF%sD+Fq+1^1>Fe0#7e_lmfTxEQ5tXj^`%C(3oV4 z8E<_>tM>Eo@JJue@+Tf&=ABP*ujvITaGQzdt|;Q>=GH3%^*{fQs*8}co;t0yAwRVM z^~o}kr7u%X7fM_vatqo#IFunazHQM9vQ6T$q}5f5qhW=LNV8CpBqDJTYOAIz@xIj9 z-kyl)gnb1G?l`7VVcfspKG7AM+JDh9!@pF&%AVh7WBPfgG`**`AuL+vOc?kjdP8y3 z2%J};yG7w?m%4AX3`B!%CbMT$LQM)&Z-Ln}`w+7izh!Wjxt^}B`K<77ZLslI?yCZ| zUM}AX_6GK)Zyyh2tBm<#ml{0Tnpu5=0NG`Ez`7)j2CFfTW18aouHn+D3@oTM#DWT3 zdrI$H&gVUBl)IspF)Y&O0_kLo7^KbXkrO)wbkcol%w}8hn>VllX1fo@q1JNz{044A z?32c_=N*oSwJJ;fWb@&v3aKtFZD%@vKR62Odq`2C3@^%U-hAy4=e}lK>8P@h0{Sq< z^DESDQWc=$zx4EYft;Q3@fG6)Wfg45p=xCa&6H_j;Lq|1Rb)fYvqoz((Iw=FjZ6JD z`%Vx3?o_V2#}arkkgkUhA^&aab=!7#t3LAGS1EkEpm3|%7SaHj5ZQ!!ljyz2{<7>6$9`PfTFA zBl|9TaD<>h__N?w%H1{Bim|pZ1GMQrE)BT;SN**FljIU3JCGy@eTCK)Yd9J|_k4a984SV#3f$99S&y*k}W7V?;OKswyvsR9pG_PeGZU`e_<@7V-pK z8tf*BWdr0eTCX1{+shl;-Znf1uA67aSUeHi zlZ6Fo7^)D@lS;FM4F2$aR4R8Xbk<`4o3VNgXa(ye>)kJYZh)oOFrxkPEs0NdNw~8uNeIRsWy1 z;Qz1R?3j(XfE$M!JULm<&%SF?l^@m!$)Ka5$Vk7A2f?xmqef(Jb3BX6kq&FlxGY5{* zXtp1oK1SR~vLNdNY7(xOBDWO!78-L)rKl77Z)12#7<&)N@}vNzT=44;P@U3kj-es( zC*rL>OJ8Qke(f3-x7GZ2#eec6Sb<{#>7mO8J@aAKmb{M9mbecM8Rahng7D*_M_T92Um} zP9sf7#8(-~CHNOc&fqz^GUp6O%uzlLPE;fa@@ zo-99+xa0bHtQ(u%`W8LczxFtZzwa9}Ny{41BQG}AKx|ILn1s9ku|E+w-fX)={W8UB znTLzibh1Du@hbCgA%K-PhXkSC~HA-vt`SE$R1OAhAJW4K|{H%7_G;&Pa%67 z^48;DV^)E@jwClwYl*-oRZ(&X!XZYIPgUsaIXMlNmtUVSm*qhe483t{8`S@3fO^?? zy%*QFTlf~3R%Ak0fyj^m_|=Gr_1V^D6_jR4)mVS;B^XJHfHucbZQ&^{r2Xb zAX6$cDj$xiw{F+0-~kWs#}1rjFi#)23b;I?&Ba`tmU(`n{Q7}DS1*jy65?>oZ6@aL zBv=sTSCz2-ZiW?y60EV9fK}Lv!q?15W4_xVhH2D|CoKe&uN8`?(5O}1;aFOn4j)wi zUpIUvq4==*>(f>?g8368S})dYzHkpAwb_B}PrRS-t`TS6(kf*>NJii+>S> zr*G#cUMcy5aOrEwpPCtO#YN7!;}0mA@Ao!k55o%pN*0R?Q9gh&EF{81?!qX#M^27h zQT|_^7vMu>w#+Pb&ds2Wuyp-@6Ggv^9}f|JFs*lbG#r)nTItV&=XP=jInGn&W>+tF^qY7Vw{LFQWE4ct@;!8wsAefhV$#R*Pf^hU!6DJlJ^r8>3fLH?r=l-rhy+dV?%bTGQJ+o{nhA~UBR9ytWc%12Yl-XO9M z8EKg<5ECr}G^g9K>}q7)O4Vy4xnR-Y+$Y0H1#@OCrKNAk?NtB@iD+TeSw(6SmTWM>w^O#vyv$ zV6?T_KW%d@?W1LfrR*~jncaY4WDXM48JQc2y+XYIJad!8)QV5AZw0V&V7~b9hvg<- z0Y|2CONode%+D3HBP>VIKR{l9pG%J9W6h9mpzM3NU*O`P320+_kEa^M*U_8xSZ>J{qq&^*hx$XNCI)ZL;Fe=bMkxt=4b6lT~>838z& zA~hs*Bx1$O9FC=aOkNhfKQ=UY9|q+y8)ZLsmX?UUirDuobIl4a*7{N_ z*z6tyR3B>g-EzADc62mt?Q#9VCUS(rAg~#j6C?zkOIuIe(&K+IU#-;)@@wbJ=EY;I z+4~ha5X~@Yfq~z-@6&lV*DPHy;`ANE5>7P8EqzU{%er3GU4X}|;?3v($Z#Zf zT?z#@i!V<)@jhRmb?G|7giM$nssk#&q2MuOzxkD?Nr`kg%oX1|e}vilARACU4%YAD z`&D`_%op9m%2V1o4N&O8?l;MD4%dF*1cyktAay46CgB$0$=GcfW}hA=s3diqV<)6p9;S>nfa$^9IO0**vuKm$e;djfSZN% zItC?midKKjoOg;hi`wNtbok)I>gns-O2jhvz-JQc^xgAqct{TLoM2a$xdFeN{LI0o zuk;m=%4N+SHSe2))T@r9+x%E2l>hPWfDk0mfL0}&jQNR9U#!Tpr)Gm=>8!vO^m{Ye zZwC{aA~QC^))c5XbR5(l?{sQ!Omh8PRmWF)1ruNfAj?RqVxfJPd{#3ou<)+lETyHT zcrUaxKJ;xHq`)F-HG{E8BEkD0d{rB+PX>QuDMz`ig`6^Lp8D6ZZBgGJ7eKID4g ztJokDo-8=egm6x@cs;U_3qC;d-x{g*cYl`A+X2xBHc7A;lH#}u;%T>xNyc#Q)coAd zx-YygK2L4t$Q1<`QA&Uw&F-dKtQosD>7_5-jkC1Nvjoqg%udhSse zJ_J;}qw#q4JP}g|`j#p$6NkCAYlJ1nQt}>fj7>ajsT8iG9~pjHpY$~&{s`&Wl$9M% z>Ej0DCG;<}=m(+;RrBX{M>MmBN-lqQ|3sjJE`6HWQ@6l3TZG0ei*3- zc~HzW^uruAkuzGY_XQ|2jNtZ&Fq?XMBFqCRfb{bSSHYvrv;`Npcj~JT3w7Ni*n?hO z$NUG}L+M*T;%Z^9(LUgT3}T+OZjgTqBsriZ8;gLK{7!EH_0M3U{~9)Q9o*Slsv){9 zztskS-x!y;(DW-{OsJ;~ByxIacI=5ky3ZvzRsoUL4pq!T%!9Z(X6NP_MbY28mJ8`q zzSzmT4_b!Fb)U%o0;1{4Rjc$2BB$+jnkO)4_1=3M@`9pSz<7dRxO6lv(?!95!*N1u zuesR!v!Hkw^Hp=Mx9>P=$KjDlb)>Xk0%DG6mBX zf_UIofHmg3cZ*>&I=aP?M6_Pp&?K-_z(X!2unMqMZvdica`R}uO++)v8$DM*CH&vZ zu#?}vJ_kn;G83z$Vgqv0Nbl|+(vkFOPx+uqM`U?H#$4nF&$7~QlkGH%10>dv4cQZc zsCuKONGleKXvf+P`R$^LnWL$nu3cpkjT7Irm6*50B=r|VA@=E7q%Dpu8=<3bIw!1!RoY{M@#5^)c=DlJCOM#q1<$ zchfPie=6_9c3@j3smDR5$(SlsiBvyrPr|MtPvyM>P-F2*qoY-`zgN|$+=t}C(G<%K= zPex{p>%j#PnK2+7r@BcJ;LIUGa&}CZj)q1DV*BK#E1X<|Dl z5o9&)S|8w{o0g?_crQ*?ingf2X%@a8F!ai~^aWZg!=kr<5?o>bWgsYtG|Imv1}!^^ zovpi*v;t3xS()F$0%l=^lRJLV+Ra>MZwKy|9rn!27^UZb)OjZ-W_+9am)EpGob{QE@4ciky9=AHGl>KRSMDxCzZ~Tksy8XVt>) zF9i*Y!SMpk9CIH#cHimn9DEn!m*H*n3lN?bg=J%&M}WJYgggq)nz|bkwPSo+H{D6f z^>VWhBi@_Ti6ia)wK>W3ryn)?@Ay1U@~mAx{oZ@7Hb&LD;_BdpyBhs^D5Ns`a}iZq+Sycm?_3b3(HamuLs3%=={dQIUEqv?dGxO*)_><)&AlKrj@I( zHu}$13Ykh?`5zOP8cc&QaVhz)8P4>%p~(7T*Hfp2Sr~Kk@=yW<1_i|qV%qFg)+Ho+ z;n|OS_7U13!0s%uK|Q=uFm+bZB%|S4ocK=W@=sHcG>l*ly7v;itOtLu!(hh2k>8__ z)>r7HZfU(@I&go^KaLWy;a<_Tc4ea;PKboHY277M;}8Kgg$vD4)T4Q#Yrc*d)LXEw%wik44W6{Ld#mc=e>Dc3+>a5%N~q>g4D}W4_P*T z<&GtNF*RaGni6%STlBmVGd6-!0Ob-&G;4iPH@}0XMx#r-%+txCCpO4e7gQV!?1k-v zxqxGI{aE_vbsal&-tM56SZS=C*Ts;PDq^|;4_f)3`qXl#a2t;P_am^;&Z~9&bj?!t zsJ6EJcs*J7fdK51HNxEfG7Gqr(-bmU^4f4DY`%Q9?iQyT^QWfHcs?MwFklhD69aS8 zA2NrR@LPq)i7r&ox*AjI6HA*y+K23j3E%sUB1h|}-p(xz5B=Zm_{n~FllH;d@R#9` zcb0SQJZ!~qe9fXo5kp?|Zi)C3G6iM zV&JZWbKUsz&aBJfB^nE*^}(rH!|n-pn3F8f0g5yAId(&08>sBVLMY;;>(;?{6D1?~ z_Pt|iJKrrrz93TGSVK?$&O6W9_`(;xoq|xVWR`bW3m||zdJjJANFOZ9azu9;IM@~F zH{@cUv=SMFOaUx7cpeNeOEwP}&wsk}Ss`vA)RNamWVW=+;n`B??X2Z~Qb-vXbnoMP zTf9x!9gm@`_)kRAIe~eLcRUGtF>pe_chpb#=ne5YZo=M627*&<)>&0+^;&b`$MCD* zvEg)qBjW#tBl@s_$O3$Fv>4_yh$>Id!5I*fR8@}TFrKx+bigFLY=zmwwu1+Nw!Mb~ z0w=iI@NE~e*u=Or{gW@u>sb;Lo=xBc%gfVdbbu)j_91Vi4uG*&P$(GSr`gX12~+3_ zqtm?F4;X&dTWFOs+`Z;+jIQO>*+KoT5ahKGAv#D0a0jX60jOJ@54=1Y(8);H7K3YO z!j59#_K|0E=1v5`3y(NXW)Qx-?vH3MZ~?Mv{(`EHaf@m*2iRM5wzPZ!E9e|Zap-b( z?%WBLYAMjB2l(wVREBP^55f}&m|a0?>0VAyst6SnUiWK5-1l+3YP4fZ*|{I6t_enD z*Z0W+ybiuFW|_kOH&F^p*B+P#%YM55_x`Xc1;%X42EzZK3r9ZeVhAyk4-4Lu5EKyF zDX=cEBUkK8aaw(DB*0kLfVM0k`$M3pP;y$@U`f}v;gqAvJ>R_MyZeX79@l!vM zn8)P-hpM7v7PQTbTR?p@JX*(+vpvu4rY5+HaHc|V9IWso>EZGLs?F4qBYdyRtpweS zu+k8BI^+V|wq=8@^ZQmuDS&XOK57{?8BLx(3aPnN%f3j8*5jcc-ZkRg(O@tJvR;(o zdNWOf81cGrdiRIDt!CsX4a;3zpN5BxK)X8_N|?NXxgS*`2Z6ix%@_9{!ZUT}ng^gO z{yZB&GeI#dKl^!Kj$8#(^i*-G8!4dBZ%pr0Iymcdq$3k{P>R(y{B-?hc*tq@U7nuy zaE>0`^yY+(jScTp8HaaIutbO80r5<^j@n&EWUfzm<71;a!ZHNp2g6PP%J?(MV5&V$%vX-C@TQ9EVIt6dO1-dN*T{uUDQ zJ;S&wa6N&NN?2#|XEo#Z>|S9tcVWG=wmWG>XStHW=tZIPPX9Y49J{Wb1yK|_J!6;^|psOX>(;k=-> zn}>kj4m0XV*MXU?-oUE#(zz65Jmok*K#gJoYcKZ|W1!RRiILR72*iIN$`CWy8m<=* z|2HK(^L>1}Rrm_>IIUz>V3=Bxo34NMZ;|MOF&WpaOEXnhQy+O0UQ#pqyiB;x^X=nh zaQQ(RF=ATJJQ|#T_)kgBJOxhQ?7pfIUffC9R7le>t0c2wV>H*A2_Mle6`a4zu36$= zFLrIk(t_*%b3i=Z9xE_t0kI7?rc;kG`!k_op z{_FIod^eMxJL0LkZ8re72Ia0kAw34(>P(XJi6IOT6*xgJD1qvJzSbPch?qKCiy~ec zbbr8m@^QwY3;dRcdPVvrCI*G4wnWmwdCh2C3hH^1CH`nFKEG8k=<>T-*TUz#OYiW) zKRrl#5C%TNzt2$&l0JQ^GZQ^+4XOk;%MsQJ;VVdJf;H!0v7q-6)^5xSiKPi04uAwh zcL-CSgIEg?VvC|+qz9Z)Y9`lUx{dhE@K|q_;>K_F3+qV@22~#*6;if2bq&GW?vhf9K zn`8B#E!({@FjG5gA-Uq-sZRwDCIrSnGQWz4@W0L-Ovnk|#Q}IGZtxWm6&=NKL!i&# zG9N3O31@j{vHNSQX^LXQIQ+wAVig*0UNU}0OIicc-hugjKMT`A>|E_ zFA?ey!Z`&jX?(%K35;)#!T!$sZjM$~12_wd=1)huhBph&eFF4DDGxW`ALX0BL#PCY zeL`A1&kety36PUGZi$dA?7VQwBT`O5N3VHTOvu4;CfD^lp@02O>@b+!tEmMv^v_lZ zoy99@OJ9KE29;AODB{Qic#Z+h#0P<=1ATpG`fmHx(EA4lX5jco96^91W-raJgyYe* z4J+RRgP^5LZ49hdHQS=NK;Vps1rHRMZjk{|3e3?b3C4;?^_!Mms?8G!E#r5j=E6z{ z=b;qG-b;|B#)`jeeBo>uF;YxS@~|ObybDtS$RnUJ;txoio9k_w!_($RdxI!WVKRAD zR8|)MVr^GTbhJixsr`RlWHbHW$eavK9lNS%8=MGT6hGC|#tzB`5PGrTNB;tpaJ1(p zZ(LpT%ae8wA1y|70PWSr=oy0knL7XuicCHo{y{hXS z=1cmA@3dmc#>kiKcjA&hZHB=mEEjUKVH1Tx94OdGU5>C!A%yS0h>RIqJlKAoA8&}R znz7_HyydOfpI*$SH4nbNXY$W3Mc)eTKOT+doT1r{LxJPX0!*K+8Rjq;sCSdF!Zqhk zvD}dnC__xx5eA8A>?j`|p7dUOht+C?X#Ib-$qXGAh~ws)&A*QuhazMyBgZ>265Cn( z5MX57TJvLm|8=^APm&{6`gGGw*m3MPI!T5ym{#W1H&7^{|f`lI6$60|61p%ii^$R zfAF}{3B+~)4|8WLH4%Wtft*K{sX}S{37#{;`3QKUv(^^VB_0jlMgr*jJ(?K zsi}DEz%NJ0^k~l4)D3`Sl@s<}%FN8nyGi#y!kP#`47~xWAtYxHgPk&n!^fUoc^B9E zy#TiN-oA$no4lLkpTFYgb-AkIbi@!~CIe?P?cq-ZpT^q8#^9}+mw12iO=8v(X2NbQ z7unrA;SMDR9w)ozStE`6ll$sS<%MKj$~wKr8W!t<;HmTE9K+=V?}J2uC)kU(cLr zLC~@dp87Zl$mND%^5zX>4GFJJ%cR}~KA?>Kl2p+_f zCs=vpz>~dRq!o6wsQVQfr@v!1R0y+QJjv_t>uymLX3uT4aWtiFAqf90M8I*(*!;54 z^%vr$1E@mqv719UA)+-NTEkKea8==7wEha_frmae z4NGflYY*gF&Z!}TmxR|6DyN^CU6-$U?DP}9Y-XqI*?ntLpd!#vZ*Ve<4D=Ov=7A>^ zy(ra1=$|&#)fMic6(0nyh71f2V&wMPE^9O&1CIV;g7dj;?Q%%*ZjHKAH(%k~Ty=E^fZLv)#ZJ#I#1RTG;ykO+WoxF2{6^{U zf*xUv3mh&tzizm|B32zrssuhc) z7Ew)O(+FNH1g+O?ff%YLaxM;*HBc6?YbobC{?m-eoxO}Aus6z_#x0W;dE7W~UZq7ICcF zkMm=tZCXl;HfuLHDz9nOfTAA48e|3A>WUM%{%LO2;d^^k=OnPK9$@86dv^9aA$BR| z&^#`4+#&VbMZ~NE?Lu#z$PfOJnN$hm|E(Rn-{FpvGA1dzI@H)Dpd_n^>?DQsgsH{m}4ko!?5_xw_~(zd0+XX5QCDX5ew zIwtPlW}L^~TWUgJ6y8f7V)TS@A@1sgd-pWe!@Isg@385_c4I`BT^kZIYdsAyp7gZ} z-GB#z1?{$-xo+WqRMHHU_w6I1ps7Rm;z>PIYk7g#ScakuIz+<27uzK5J3Sm6U)a0J zl2>ejwCBSo7TVHwlnMlK8PNO!SMVY2>sE?OkpWRw=v(1v3$eXad*A-w2d2&U7wzq_ z^8yKAc!ZXpSyLTCTbTUOqO_jIh?=9CK}8IMwrkWJkb2M&2{Z3J1@+tlfUPmS69$@9 zW_;?VyxYp8h}=S%8$Sh}XlaFPubPPHK-v-{j&X#CI{4gf0QMt|KZO3zo>MK_p`f4u zbN^n5w2xz#MA?y+20ylQNI0t4m)&9};x?E}_J)xyHtL_;*2a!b0L|(R03&QCDM&i6 zmF#-uT$)~o!MNa%)qFd0d;@0KpIWlZ$;L1(94&V;@9O;TgE)WZ*`FsiFOF-M63iD6 z_2PCD^rpzBYt=6x=Yi zZ?2!`*C>N)q({V*lYcylG7#tPCoiCy9n!?(gQ3!0l7H)gX7d~*CJ9w8AO#Gr@zetm z>y(1k?VSx_A_V=4`9G%fulev;-RKl$K^5ScC*b(2XFS#kp#;KwwHx(0_Wg zv0wsqK99!i6@e2F&CtgTlpp*<5w+&{%XBaB8Q6Rgo^A3A9o|DL+CUE6IpC}U!JJVH zV;w(RK$WN4@U}Uk@CL(XWSX`nDQ+cvI@;T1r|uFkeOt%Ag^zCiJk`7?A)y?4z_2Z` z@Hlk??P07AMhviD8974;^oD-2riV2UYCZ$kMlJ1(Fa!E+y8ptJWw55FnoF|}a3xH?r;z+9qXaoGv%1HQcAcWF z9ap#CWC2d^ST~%Kd%LvMkWoZT%*@MkPEiS(9cZ57keCuZ!~+`%Ye6I>f;!zh)?Y06 z<31|w%J&-D&eE9+VuX7%z9#aIzWuvF#>WmhbB5x3{QysmI9E_|uDGLR?dil&Z1Aws zLJ~X-(Ho`CE!;z^uPA1=24ix*ml1>xQZ<~y*E>A5vWn=%c>!?r?Wr^WrD6brvm~x= zyLStab`y5{(ut<6&kHZbPzft+C>1DAF3rFA`Nr|Ym~MENdxOx9=?I}R`o|!&q7hpb z*e%E~g;Ni-a^w?E3%`yk@$3AQ#^W|1ThH?KNPX+jBp}LVt|$W0w+qI}dAMv?RIus_ zb{l`*w0Se!jNskzLqtwnd!15Bu6Xc)XBku#2PqC6Rw|@qiTnW11wwzC128b8UzmGR zc2uSjZGHSpOcSfjbF`H~^@Rimet4VsW7X#g%?u2#51?Ym*8PYNNPAcWz2$va2xE~_ zY3T&`CVA96AR%>i`fs!6CWp5_3EWw``An_wpZd#N!+m9R6-3f*4(~m)^@1t6KP0Tb zJmUA)Pr38{-1|yFo_&hF{mGw}>s?QB?9|xY#`Dj1PR^|#pI6w4M>%k7u6oq%!<`qr zr16jrDc_?{JIV1b=Ze*#)g0&idJF9Nc>BY(W}0o!?cSd9{ed>5CyB{Mi^B>A;iaX@ zi&2fJ;AAW-3(uNBM|I9B*u z@juTNmNNe4^k?t_QiQ+tt=hWKB;ao^IR8KThGSy;BM=0?HTa%fNop$eh*`WBO<-q* z`O>RIe6XKiXJWoty;{b8%Ts=HP-RXl*#gupP9`6+qky2`ss~PnM_IekF(SF=BKOG{ z7sz%rB2ONv`BSNR0;!FuR`1OkttJ3oL|pKXKM)djDA`X_bK#}WTfBO<6;H|?%^hRc zk}f>X6bsy~_lM@45U;$j+d`i5T_6*8eR7rJU|sg$>^FC;Q))Ddk#N-wzPD2cAOXHR zD09wTTf6pa=%mY>uVC~+rs@AyR~af#dJt9D@uUSb_CBwx6`zP9E96 z!tqYXPW4?}$#rx(-R4VmHB;Hwoj}A<5kYv{kUKPF3z(V7XJEoTD7ZUee-P8f&+uiN zEaXsNX=-k^jDx^y?E9xDnDnJKrt+vj?l%P=$?nq>mZg|(OnvR`?Zw!~I7Q2yvL1*+ zM)P3A1@dy`_mAS)r*MSKVDL2mb>5=&(%*Dc^|AsJiW1Ph<;cg`ySYunzX`GxZTr3? zf+TfHswNn`kNqq9eH!}H8?8$H!Y!Bd@8en9Z}kJDa1Bc&^+f$ekCtPswa_P1N4F^l8V=;>K1&q01tUuz2=xpMs>wGk>iVks#Y0T!5g&TT!vS7qmIfBX*1q;N} zMF%M>FighNRJsg?bxBonJSwR=Y2?wuqM{utYn@f>s16Rn)%!jrR#zchlmK7s}_XxITL`w%rn2@iA>K z#8m79=t74QHMKs1w0XM7=4Q6Y*y+Dxd}m}=DZ6dQs$M0)aPIH`)?a^~E1=34#c zoGlmjocCf=3ZBu~7a z7Z+FKG8VO%u`WA1`r-1>Is~w&Hz2%3&3K2!cufs+Mt11zTEp8%(s_j@-@OAX+CLti zW9ivV(H^`FS0b9ffvCP}aP8=?bNh23xlXk7j$mk&jh!7HmnmGL2zcZvZsiJ!O^Eiq zu;&dd(hb95Z$sqF_`DmDq6(Vdu1OksbjYC8-TCZUd9I+%FjyJPDoYZq!4^SaJ?o7< zx2V)(T1fAvVdYnexL+oN69+}xapAtxMIc+Ye8z~_3Pn#Sr83>N&is>8ov zN5HbO{U8o{1)J0@Z~=gJ^n4~Iddr{r%pE|Lq?#IrX(kwDNpj}VXd$YJPKLcpY3r13 zFR|J%e7XorYdX#Rn#E$tao*I-En>(0Gkq_%4D2|#gSEy`70n`CXx5q7APMcZUHK!3 zGeTITV{0|TnmE4QSyjfV%nX(;#5?FXfDVuj7^XEcm)|;>&dmso@!HGmz8ZYtM6M6t zsiU|hA{)x&1(06==g8cio`P~j=4n$+)WS@ zsJw3JN~I=>lvF&&GzxySkc0QOa=DPlZkwqHXlX-t3Csi42Q~>!zSz}FoKk8BTSNFa zR9#(ss%E-(TqYlF`_q4u=0+qqP!E~8NygtAIQo|aetN?FMk!O!&808eXUT_`p&fI6 z9ddB-Vlw!?!O!mg2V_C&bj5n(@iV*f^oGznb2wjK++W^MMu^hU29Dz}loP%JCoAvp z#dkj*_2SpfA?m?JU>Gm(;)X;p5TwWhJT^iAM?tLga1o}@mrmy`v}A7RuqL)+cjBv76XxNx}Q+g-r@AbEqWD}?gA{sR8QdbKQQxC+mp?{@}eY(3t`%cLwv zKZfxESCAiD;k|n=RJPdGRJ01VJHpQp)OeHyDc+Mk?}9e2(_n>zKt6&G@|mcj8~lYN zuY#V5T1n&Q>4(8rE&T{Vd+>X)E+uco-@T5|G zHrMc?X0o)bdVA_*Onzx8rskNxlp1{!`NI{EqXG*t-Rm@U!#R)R?;3brUCOG`5dF3nM-y2x~iDlMa#_L$ragCkw7lu_8TEVR5QX`>?YKm6#{Y0lD z)!m}!4AB|Z)&iWb>$SYFV#NyE@+Xr$R(Xc`y{g+nojmE?qPAJ>LrKDSON*oultH2Z z`PpgoKtGg7l5x+A3>N-g=*~ET z3FnKqcpzxxfcU$E?p?k3gr3)n;67l&p1ynZ@#BkR`rA`LW!qu{cBYQ~K4mD({>u5r znDAwgchYG92S8M^aC4L93L4`#xqal8k7VZWUW<*LOV+mFZY{owPrFX8`kXi5A9W}h z9{uDc*fHDLp7oBYgn$B6^KEmjNjIQQSV{PU!$~;GsHu?+_oZl!e*Jcl8}{gcG89-a z?zO+!EX+JseAhmY*Sqxo{q$5TKb1|z>zI5H8#lGK=8vnhj(MugDRt_WPFmi|DWobKOVgHUotY^{0LuMQrrlR9?KAUz z;F<~cTSUjk>qP?-fI39>=dLWjMY=b4t9=d?pz3Tih8X=JY#Zwdq=LJE5EBKpMi%OgnM-&>^%eV6(K7 z+_v`#{pj&(VXu_jo|f3zH6DF>Ra7!cI$*@7vi4)|ZnO&jJ*9{5Hp!pl4_9H^$Tz2? z@VQ9-mlZFbj%B>a!npK{$O#X}yl%q7&99;V(Z`>NRVeir1 zoSCDV{d1N0o(K1T3dU2>lkGRUDeC< zh=-30!w$`$n4pn!Y&N}r|9;=Fa`Dg7RP;ABo9DBs4{tK2!6cj1 z5hCWh$m0yZR+jFSmX5DCqxenIe6URM1@7c8DB?5gm&9qc`5IRNHLjVc$`Y6xOPOqY z0BNFAA&*MW9`@2BSBrTHXoZC&7^S02$kWTH{^9pnAB8K+(zlSy*py4GU&|7K#gqRHG&7qwrbmBm(0xN==oO@#X-hI2a_eYqJ4MEZ?R^Uw143ddaeyPRdA{Ka|j$$pI)hKjSZ zvjl~)pzCaj!$))=y9tWEb)pgjEp$ZPO4yO*uJu;sRBoNcmj1Mh|W zu4-nBUKqSEw!($-n2rv~d5KzqY7wh$VQ5!IOFGVkw8lN$$A_coT4~yjGb>a%UaCBd zd5;R(Ns8mL;yd_R_?o0=X40Io*Gp`0PCyl{A~YC(g)O%vs-i+kC4^N824uRXS%)37 zK7@y_gO|kqJ9-(&W{*6~S^-015LB=ph>zWW0<|uQac{#Zo{0xL-5vFm3TTo}ORmq-1%ZCE36q7NW0XM+ZwA`pWyV)XIG$%*wT|5b< zZY@vS7AmCUAMlZpRK3f6{BGLxIwgPz=&QMcj`p0GbT2;i_@KJs|8wo#&v}w8t=t|NNttby3DgW(&9PVY zC=|F16=yn%>XH2S%C?Gjpox03`3>-cv~*oKOt`G25+E{yB;e5673L%&810h2#(rYr-C8 z*w$%qUE})NNzqiKkeotmg~t~XBFD1#oeoxo(bGa}B9iAP^b8F5^k>O5&&B$ER6f&2 zLQO-@@lLqRtjm|IA1AVrkuVJu817h1n$1??<-#N;GUHw{TY%zLXxmh=VJ2oWb!b5n zbj24DP~AnnH)Y{pjyx4-+{(!law;Kxj_uC?&|8H!xSTj~vG|k(=iu0ML}X-Z+88-O zQR8E3bAHk1i`*}Ktz&djw1Cn5%?J~Ydmp-v`$cJ*oQ!EIYyomrE=;~qvG+DO6+#Eq z)nAT)D`H||vd7UOpWbNzmcf^ApU$0o^YFKrJq@|wDmT=BtgYBkvBN|tK@S zQabnG#s@T7{kZcfSw)!}lV86x%y;w-b90w8+X6E z(pE}3FZ+VUR^~=#Gg91MW+r^*=-ztIdw?{yWqSlA^7T< zgX2+mMwG(XZv2_P_!w-*E6*}(vMNP%qosWLe&m%^9+D{?U-2&PcML7d&Posbenpd; z<@48Xc)T+*wxll{>F6eITNE#7-H8pQ<@3Q`<0t%mQ+hB}Nuw|Cv^i7~+S<6lE3nHI z8DtK{ACH2+RW}PHLv$0`tpuPqEi5STxZ+7n=N1Tv3=E%NDr(`us8VLU1Meog)c<1_m=_F{Li=6~ljD@RKJS`?a^4d9& ze9$liS>Du-$kWo%(dpX&1oyTnhG=-m58sf<1G1;ZhXHrWb4iyyzV{Yw(HPFZ2Mh=~ z359|w(71SL)%9I&q68_zZ6j)C%UfpQzze}m|Ujt1yh8WtFUN|j*V?_mW!)H z;f&-+M7pu{V97vpaU(Vs-c_!{9cXefP`8N=qfsUT*J>lNF%Tj>wwE9(|Ad!6 zIq>VbO?OA8HKt|`5?Wyr>wuc^$IMIdEmo`*!8^teRt9s{;u*_oc0F*c>-JE&lZ*iU zG>KIPu7<`xW}2aFucGaelspD}cH$H`-{9drI5VaVqtj|+Ng z_n#HKVFoynwO*N&-3EO1;4e@q<}a&&-rll((?G+Izh!0iu=k|d3nXonP7 z9{l+J)kvpOhWjs>J+Q)(AxlDBinCujarxi{wG^JdeFgh-f_#fs!~BVxg=OglrN-7+ z2JnWR4U^x9dc09kiQ^Av;$KZ2x)sK$b=vXV4+FufJooa}pVTitoTnfU%xEUjU?qh>OOyp%4p*ud$JfaIGdaDo0WcZnjDqO2k`fF zbb1z~wuU0?2BP*PiZQksylS+k{;?L#G6KEVnn%ZZ1_Q z^qd|gWa~(;)7(g%Y*Kt+(zHm3INv!Dv+^HzhnNHpv??&%6)!uN#XpZ+Uw{>J;WYp_ z{X(P@2i|_fB1AehzN**0|R{e>*?O~{1Kde`NuGP5?6;qGTAGUl?hLD z?$hV8POk3|X%;5Bm&F@;FdU#78musC9xRq_QKf`imJ;sSx zFZI#yDwlWoabUlJ)7Lq`;=CpxMREo8!iV2?LN zyp?^twEM8i3#fqE4!s*;FUQN#kZulC?&tIkGrSE30Jp{#ujRalv2rRiOX=E6{hSRBIVd}+Sl!!Gu0nk%Jew*6-*&Ff(;0+=v&Yg64Z7H=q>b|GaO z>c$YBDw?3`o`Z3iT-D7U=uXRepc-q=rJJFH=j#hKCp)vXl``i0g5C!rHv!qg36Ij# zg~LeSI9>#3sR+Jc(bmS)SwJ@5Qf{#xX}K_0H|zhQk+~cr zZ%dXh!QFG?Ykg;jA-=lNyLTEa%er=hq;I0<%XxKTPjY7EIA0kWM5d|OugS6KcP>(G#m(h-^K|#!6~e06Q9ey=^3BfA_dUgRg=t{RLTT_(rp{@RbcKJs_cnTXQMZe~ zON?)!fnT*wsoy0N+wg|i13X{;TKHiGhKF}&Q>T<(4Njn5C9y7508OXSY;O3UorMY% zHr;?hK9>Ia0S4iN_jl3bNpN+rMcd1<#*Qzv>WF8NLs(s}zL8Orvm9FhMHxes(?$0I z)=MFz=91#pz?@&N@bKBl4EeCSI+R0)B+YsN*BTocnHvKp0|IWI1DE!-m($bJfrUIR zB0N0MG?M)5`A(~+m2TW^wr z%#aWsoMD-4uy)*co8>EPsRl>ESfJ=o0UTK9pe3O?9bDkCp|4nXw$oq&k*YQrMK7*trtlCzQljQ%uYAS3aML2wi!&RVG2a87nWVZqfAN%KVE7}A8rKc8 z^$fiX9lmwnXJ4&^bx8IW)PvV!T01O?8ZmmW#us*a%-$or7pKw;=S{v+2Zh$D@Es6lw7-zj%w}-}R{rTb|psk`q~VG;S>8Eo=cVEi_nRwrFEI z^y}UUpWHo|11j6|>(Y+zo-7B3HSF3UI|nedABvc}xL!sSO26qs(}y3uWt?vRx&1%- zUPTQXaim$i)K$A96@3ttM4T#IQL2f>J9hnguPYCQZh``8)N_oL7bjCg|6EHY!@P1k zMk+iZhmv<>i>h7x*Bi+iX9ahI%sJMhKJdooIrXJho}QfBD320!cvx8E>YC`ZvGWTd zrFbJ|g{*(GmCiKHo_@8!ip00i8~*X{Z~y;<%=G^nT`M2+Em+e1ivh*ZQgk!*8MuUy zSwvjGBdOhJCMq4jSK%DVKR(r}y$Xz}ZJ{EoVTY{|rogtK5M+20J(i}i{`ebAUXlmh zdDa#owj)tfBnaWC;i}>{(nKy5VK7{4{wJkgf>p`weV`-)Nx2zgl5T(p=P*}N{B4W z;4c(U8Yq5%k)DKJHD<-w$h?wF7?@Eq#lFcgR5+gC5xb+SxH(WVx)E+Q{cM z{Ni8qtA9p|Gb8EPTX33meTs`Ck~TdPHM6rbD~K;8$KH1bx0M%P)1L{+;TB(UgeoD+KY?~{~brQQ|) zZ{C6A1_0cwvPlOgd=92juH9!nO-vq57T4S@Cup#WTR%S9 zga1~(x7jG;g5WbxG}Nr?>J2KPT_`mw(D(&M9Y5<&E>M-ZUe_zGo+IMFSsAu+tNap# zOsM9ltOPpN>TCmmgtGCCXhqnLZ%UByY&Q{}3S8;4H{!$E44?-ppgV*}ul}cq8D%q+ zEv#@FB$B`)BAg79<&62lAtUBy#K;IlYL=w~lk^^O=JNZ3Oc{E6TQJN`O%)`Qoyx}A zJmC9+k{^oBM+i&ika}T7L+XucA{aK3mqeqYWs4*;ym7KdAJm(9Tw;)k^B~{w%eBLc z2hRD|-O0~J;pPZ*=K9_SF^_~V{E%BiQU;V0)y~=z0DX;&f|E&1&OUJb0C^4-{PnH> z9C3=u@VR&%gRHT(0)%+FS+sxqI zA~wspD~>3-Q;d6ekV#yxt!$1(Us|Sc2HK5=x2)4%aDzCxsei}?eRc*F3J~<#9v=D) zVgq~NnrS<%Qk#Ei#=Wc5qj^@o_`iGX+{GUIPiu2?wEJ+Acu=;ik0-#V=uZUQ-CiA5 zSk&IQa(aOVjT*#IdHRnsIgiOBn~j>{T)`r9Ic{fT11bWV3X}loGG;c$$|AzdYL&bw zVEq}gt9}UPUb)B8c~mfQw0+allf^PQnJ}=`bQc3a0Mf4_kq5dQXus8+5sMz_nkc8U~R3&vJ}<|h1yZteCyO35D-=4 z&O`{~m*_QPx$fu|+q9N(X$#5?%k2vt@YhCX$XMmv#}DAFU~T6rftT0WjJU)cX=kAimP1kNuQzSzKhFF;*c;|+HH7NcNdJVJ;E#=~c#kPz@~w-GX@R8mKZ#l6ok~okoGpQVg_dpII$jaAt->*a z8EgLQLx}pUU(G3_NMRLI|B3+en%AK}8ChTJC04QRM_@I~$hDJ?Rnt3Mws2xZ3hFM5 zBcOy!P)}>L@-;ak7QuuB3J8+JRWT?vv^)A2YeI6^3Y#~`mPdeD5x6ZXA!d|gu)N{9 zEUy-#7&ra06U@JGiP~NF^fImn29D6pO${TWgi3qwWtTv-t82P?9KWxCd&=Sw!@$k> zc&?<>h`en-N5cU;T4fe;F+)B3PQfd={Boa2)x>;G!~MKB4t@Rh9kZrGqJAH@LSF>f zmRxvP!(5_itsTsxA+X?}BuPr@`RYGdoL!t>`S)PXt|I{f0XOao+g2+3mxO>leH#`B z=c*r9zbb2=%`5-@o=lyDr2nv2u>eJsMQ5?)=zDpz(PA1VH6Sq%bMwmgDUDXB=6mj{ z{i^Zn{Ee>`GaNtqzYj;sz5kPVbzz(WtuZPz7PZB=syAa3K$$Ss-Y|Q9Eo6N)(X9ho>NlFh7p`YmTek6PjBmG z+}!0xYcwOG;1GBw+EK5tUS?Mqg9OQc6zRfec5x}Nh!LRDM_hrr_y^79H_lnMPxE?n zp4`*84fOS`YbX)2LQn0=PC1oSm3u#ZOA&sYP%}+=nPto&J2d-PC`IQ*+b;Dsi*nF2 zL3v^eKnEDGUP$jLvKFU%`@C@wT;$eOZe>K7AS^ANGFV*dCVQKtDjJOovqbOvo`CFq zOm)cwXCpNgcOtgO_wUfE7w`SdM4_3DCoK`!ch2<{H`DH1PVwu@U{4pc_Wdg>@#puE z!G#QsC2}(*CpNe3yzY`Pbo=9{&d<}H$%o^t zO@lzr9>OER2Ia^u%!a_{z?dm@2EI4g$MP|sJeb@7z2^pfbZn*MYsOz-Q;@S;B)4t5 zVe6JWz%-|%KrlP|ZO}L^6~bY0^-VAQeJM)%oI=kH;M=#`;^z6Izv(rSo)_PpjOi6^ zHhNwxl_1p{DYq{({-3*k zHQF?_DdQ}+*sAU1=_dzMa zVP=#FYVijkU~PhN@uUzQbl9y%d-Z_<5$rMZ{;P6klm56xU6(QSa`1*>`$l=gX6%^U zj6h-EADo1o6efIKC9d|Dlsw#-lVA6JJ~Bxk9~WC^4?;$uY5CjFKt2Wh<1+`r04dHa z;7lY{cXV9O9K`cY%r)-cySHcRH>Xw%(?GN6cY-@6Ttt9x88&a)4;M*-E=BkW;UlDI zr8W=d?onXT6SxNc-8=hZVjFE|SHEa@3m>wJ-1lL4fmpj&)c)Vg{PSguW{dh#W-;FK z8ou-UDJxbBL-^iKp4o-`0XiIIIT@D<8WcWspLO8VPt&+QW?jIpDAzF^nSaChvGOF} zre3Ev2ETuyd-}&xAKW-%>x(<1RK_`Dy`7`mF0b@)e*L&XPgj4d;M1#Ck~3$*zJAF$ z@vKbB*Cl3(W_Z|jU+yOTO&$eX^FK*S?PjSdw~Pi_QxG^_wyR*TQM&9HLpY4?;n-~*dfy&EBD5CZoUb`{e z+M)5~#|qsA9$aV3>wT;h)6;IneJ=#`wkM#x=4K=Y7lw39Wyy5baxZwUSmkZ}daMn| zX2Q!p0Jbm|FC|!THm`n>;4(8ZP(w_{0z3eR?7X~V&$}z{SZ{KP{;2ygdpK@#_&E%( ztn=E2nfS-jNWEtqdbWbe5P0~V^okF!uSoWR2y*JKtR0UIp62a%B=hKZ& zJ6&%nyqe!*Y|OG~4u}4H&U-%RVR8wjr+s;&d8Cn)OYn_TVI_@|Ozm1}j+AES=QnPa zp7@ySVk*f+Ju~z1sr$)KI!`*k{b4z?+ltbOnlLO_aq(V$J{A~%|%7ex~VmNO>$P3%V*~)XX`y0BrZiLSGew-p;;qe;_c zK}3oo9RX265b1%!xC? zJ6=mGS)WX;#}XM6RrcJ|YyGYCQ(U4~k*N_VKi%~@IdVJ%MTbI*6;paxAX_!bp~vp& zF_VU!4sFL-SVneAlr^&06-r;8Fs6K)av7+Ru@iak(J(w$xJ`E*)A^al`ov%R2(n;j zqD7^XI#Q{2$0zD4Nw-cICRAW*nTtK^<=OquAyFuU2>CyvO!w6W+gpAt23e=Hv-)9M zwk|b52h-o~H18v7!E-nj6;d@N1^39@The6sRu9Tw^VFC1U3a^93JMm`54_Nj`9C7b zXR7}ZNuntLzKhASFX0EFCCJC6K0viWKQmbeln!`qfOiQ;rT@RAmlU(!S>`(@4#b1! zAF8}gMu10bLciT{6?AK~*~4*!RHC)sS!+nh*;P(*PQDgqg~-)Eg3eB-C#HN)LO+pi z9l=f-TG&G~6%2SEAO3k1SF8Z#bsjcn;u;?nqVdwi_eye$^49z?St&$+?jP4(7Yjx^QOeKPvppd ze+5%55Z{-uft0dx35+RXtusp{k)aNZDkwfNW&G;9kxKWQ^pj zXf%^gYJErb(4)Tezr(aqv&>^af`EDQ_1y`!gVBpRV+pCe0sN+ioqN{6fRzYiK;K#w zvaXwBv6`;=&k{wl*43*vKe>H?I}G{&-|*g0!@zQ=2P-QL=fWXVbdov})uG6_Ctq~} zNe&)(Pd*nacLL_9Ra%{dYP$Ga?@!BxK%Z-KvhxD&n~sT;y1D%Pq^_m(@t8PPxVeM6 z(rVZd?zYd)`M`}Z)O~VS$hzSp8}H}iljuHdFUrbwN~!>c>192181%Vbq%L95w}nEX zOizOf_#0?Kv+OBt#QcG)FRF&2WFw42NuR3my}fZz^Ug9T2s_P!*>`3?5dVfA*g`;% ziA$6bb8^QKvX?J)?seMPYRZm9AhW&ere53o5-g5j4Mp?d{x6Ht8(YZF;)_0N zGS)p+M!QG0)?P+My(#S7cPwxpN)vC29dR?3m=I=|s!+B!DmLn6;DCw>FOTfW)&=uc zuLC#%0Nni(3C1>fdOCcGnr;%4VG^c=E13{OsW#aSf znaBI@v~AJdBdHi^gI{2gjw3!+D!HRtf;j=5<@|H6#HAm`5_ZpY`^U|Pbrvg2Twuj* zcAH=R=2V6g0||C|QAw4h>*cviV>%q(jVWv=uF`o=owz5&`ufq;3Otz+S<-YcIL(f> zIf_irt@VyvBDrG4|8{4{A1Yee$gP*BCvo(Wd90nErhsMRZH(fMe|%!%k9#px1#by~ zCwSN!IYPFFg9mEJ-#2evQ&&u?qYdcPj><{EQiI+LTq8hE19|eTHU?&vXsjg+8U2r2 zN%+oE@n5zl68icjF0#dH6eE*e=Y`C1&)D>dtT*^jQb?b=ob0pmCL)!shL{;D641`;GxvGn``pQ~=GuUHZL{NwvtAuJX^@?>-rN zcu$nbBvyZnb9BBmYZ*!`wGA6@d*Oci`zs=71>my*rfU4sZ_qJ91Q`fC-dudS4-Ka$ z>X1xY3LDGTS72Ly{e65LGEqYn9n0Bkcw8x?LPdy?OUf4c-#X~4mrH6m3GWI?ECJmX zD+6y=a)XJ|ri~Vz#!vq1PIM^N|G{4r$w$V7w0jrl3-7In{bHwOtd{nk{Fb1Q!U)!y86kVx9ymA+Pe^TLY1 zcc&guJwARdfQ@qtr8S$MdwRAFQV>BJLo22ah|$_-n8GmSzu-QzX*u#gRI2ir@9{xtvS zeKxDA9Y;}Cf0Ks0?In}pYC)y5)9J{BP_D*eG~b6?Fe*?f!21K=GX1I=$0m9(xgt!e zCf@PHrP&&qwtPp6_DMh{M1|B{XbOtitjqwtvUgcihlqR|2e(Ih)%(C4=oL z_KZJL?=Rox&T%rfx3}+5o&0HFrNL7Y=y}$GvR^%8;LYNRRIWG*v{$8zFVKJ4cqk3o z^;#_4V+f^=!IcVhhyx7jLCh&A=J9k=6|m4=Vkli7vS!i{WqfoKo5Ws;6%LkAy|hPD z)dlwKmrxly?@C@@Uglfw#vJchX>O`IP*#GDw|-p*`>|=UXPZm~MB#d{-96JGL9cds z!nIo(zc=6UGRNH$4KL(Hu1NoN_n{E6!G7;-62%TBWd&7v(-z&tp=X1;+IF_be6QXq z#3ZR*#wUd_q<-cPP6N53*Ug^`Yasr(wBE8P&Ox^|lQ9)=5^YD?S1 zSc_IdOabBc%_q#51P@b}Il+upb^J4&I;#g+($MoP){B9Lc3h-h8T%6S0&kuBu&j8E zEyJ<&@mCnr!+#r*-u%t_dmyXnHT4HOPvJ5PuXYhqFBfc6hRn(9Lf}surl#@6ch@t1 zeBw~ZkjPT=xv5qN(X%`+1%B@1a+@EvS9>2H{H{~MSR92;bl(~~yYrnXJ#rz}%+5r$ z&>A*&5D3Y_u0C8*!0HWXOr09pFHzv5~|sP~@jz;xEF>H}_CgYariT}qkS z=c!cM(vKr{bc&d52`FFQFe;W7dLdb5OCBs3@ZF?#5O~sECSwcQthbX)D+9^QR5~+q z0NeA0(lnQzbMaB~&kyV0K7!##nS=kWliTkIwQ+9;(Jk$>QFz;*n=Kkl!5Sx?12?+t zGj)0hR6BNin3%rphG|#S054sV0vNhMv_qyj z24MOK{V&%lU=yiIT0wnKFBr3Oue+>iG6Ap2xmZ)Mup$fF`hypx>5wmTOgTc(v{tFm zNqFaR2I}CX_lP7&^1RWesd77O?T|dk$+$zP-#oT~xbrd>QeIZ^RJiY4R0de&N2pf- zhM=1}>jwQM0JG?p8^S130t$2yc5AG%(V{Nz!iF<7wV%+zvPBWEPi--Cd;C3-fVc8Q zA&Mp48$2Alr!^`BtSUu=llirr7;!C&$)O-b7L2_Rei&c!>i0>G7xGSz$6o>L5^CDz z7yUDt{(p74fHejB)FN-XWQs#YCmJk{Wnfnpop@lJB`!WVrmxz4G;p7-U|Y6spi?a) zfHu`GR^~c7RW^cr5Kf6M+9?6vBiGlgSc~o%Gk*7U)WPqx8~bGRm9mh@z@Z)q9X{qi z{VLWeJ?6~x2RnHnmM%NebM+Zoe)dwyw`sos^raF{d&@aqh!85VT0kO-*KChYa6i$$ zy&c$4Av>&7mXB2JZ$!cP+vYe0T( ztVySb)4=~&iq4w(Y74qEqwffb(lTlz)FJM&-p_<=d`Qo^XKb7Am{spFq$!`d`}cRC ze57pFFIHkf_*SeLO0t$FHe5-iO6)OAP#dUWE_SK^>+tQ|vxg~Xrna<96k0Y0GTv?l z%f**_!eu{6t@8fyyN}~Yf*E%fCvCtQ?81aU7$M8?Vjf;@a1$h4P9aasG9)CmWX`P9 zP=gS}9gsP;R=Be+bl>qe$X~aCjSA<|B7Obm#7APmn*WtirRiCLF&%`H?!|}^($DN& zFGGA5wpbh&M%$Gd1~uKnPK7i=f5x0GQ_J4o{-t91P!OlD&?aEdFJrrv9|yu<^4M1+ zC%m%Kg)0D6c{@WA&T3Y_{CurSWSy}E-MFy*&^>yT~t~NW1&kr+bF!4p4MCS;3>B^+>X_TiiU_~Qc);(BU*5E)uRr<%*zvQ z4dCnkON>UiPgA*Ks{<}aZ&4yg%nUESLLbq~A^zxXE*bP-e(<`Tg|^Vq^j&qlftuAc z$$Cl`tnLzM7e$w&pkh2ae1!keF-g>$xz4P?ey{@q(Vvn@ZxgeY*VUxKvN<|7)ee`5mtGeEX#rKyw%B zP~QqHitXU!1E-10o-#4iAS^b|`p)G;`!YWjvDQzkL|QC|(8j5oN!u$YLmB}lG4UL@ z5@ks-p2ELDW0NJ5E;^+3<1G*3)UENUd4!(tB7O3e z_U}A*Dm@HqibLqvHbGw2_SzIY$bYl|5f`b6EWP{k8Q$y_y&|x|Un>6VxBICpKl>oz z3uQEkL~SLe6FIsn+Y#Q?5$? z@?cOs>UMbdBk3zhcNWq<(!&ZB^`O7J=-Q)fog+VTmvM-F-xO{b-cwp9ex>h=uv}rI z^MIGl|DMI9W2SG%9lcjF%~hb!zq}n>%jFt%2qz?cv>LK2JSo~oMXq$PI0(%;OIHND zE^hhl$L@bK)XM{S9W)q|daU=dMFAY``gNMZa_GHFI%(4}?!gP+?d^>@ zm#kY89Ung3axts`4J|$0U_X3<@Ol)e*dB@#^L+vRCJCnpnH9$C2n2P*0;SEQuq8)% zhq{(>bWe>QPvoHHWhZiKTiA2nU|LTVNc7fKW`uuIpK}rBR_>*DLOx7uON*Om`bA}! zLp~gThV4GbK2XQ@iMpb;(KzqsNGgG%6~ynFoS06JAQQK+P$T| z-JTYQ`-P;=U%h&@XDe83bFWGH+M!0p1%=+GxfN+nMhCu~MXX%0LpP3jyrmZ>GrPf4 ziF#OLatI-4MtzPD{4xhZ|8=t$WFtoU)PbqryASnQEk^3UMbVvdAIis2=1ggh^W!|nzwspiAyoq4%QO*42?;q*Z8~l6Xd_J*Z`%wv=E~fs2od^-p z&gi}Ird7?8D@VrxKB|36Et)AWRSB-~VAck&Xt)x;pdd5?Gczv*H2~LUd0C8_jllzj zLNZ-q#-aSUbPk8=5`N9W`h-I<-P+EbY}<2JFc@PQ8Y6}?nC)mS#K75$VzZoF6DokInps%?pDt1V~L7+X#1A6gP; zQ9a;zJ}6IXSG1a6XQ2C8@uHR8pbi3DF}8dAx^43Il<>og4>W&G5=i{_J>9dEAeqC+ zDFNxCgHBa$8!m8@gBm^F$k@;j$9}TgPpy9ptT2(@2U|@PfcDyC+JvV zztN3e*fDN$>oH~iRzBZ$o>7zOo}%Ib`RtWLMu0`!l`K8F`SN6|WE72K{RnVyeMypS z@(`JZ!nde&PmX-tc2shUfe;eg{hTXI%fB|62Ns4YZ?jR;{1p1OaEFF=IJ^2~rNx0pTC$nFg zn;2333Ea9}ZG=8AF}o=5RxT{#*)6V@clG`BZE%l5T$5XEa_-!ak>R4JgL#(sGR^Bm zV_ZX=xHkl4*?<(R5xVz1^jw&m$xsez92kLa{p^|qTGGn95`sz%t$v&_ttb0Wb!ECq zwfbG--?-~!v^ka;%b<2J1qCM_LRLjzw>I#$xsQ)=VJPoRV^=pi^yZ0wbO(lqO?jF0 zHQQTTVd7gkj0qt-K?)`~F=y+;&dRYI7%A^Jy-@<0iT5;*RJ;V&BdF{M;{%>Rn6A z8kg8@F4`XpGC|nS|3Tk^wj5A$km;LE#)Sryv-eLg6=eY@@U zLzy~!l1XYPtQn#=egnZGXJ}#qK}?I{SmyDJ^U>5)drS>7<7qy|&!xG8W+DZ`SlUV; z?y8913*tqx?@AIsVe{SI)r-of6d;nsq5qZHh8 ze$jks*Xnsjv^Xx&p~3z*gU#^jQm(6vqvxmikY$bA9;aXdK+Ckm_0xl~R6ai@!l!|L z9z3dY`Z)qoK6|;O>*aV#LRcD7gQ-`#u+wE|>3 zfSu6aU(Vac988|T(g&#$_Ed(H>hVzE)Ieh01(HQ~YzGTRdlLY$h8~GqH;lWUdAtMT ztOtUz=_plob?x?q5oCzp3K*Eqa&j(W@UT`&_|HnY{XHGpJr!lW2Aa2L=iJ=g&m@js zi+j-J07)W~uT(R&vd~_DrCn~}@~yJj0S7ANPE&<)As@pG9K8B+5ywz(k#Ivy%wvAEk!Fv-5Xu+?(Y3Y1(U5us1Ko9!*HxUV z0w3v4_eSPtrTs>8YvsTS+GdCdXO8E+=J@4y&G&0x7pbtxs6x~N75i2js$fkq|C0)VaOb*A0Ju7G zW>Ub>VA#lJTI#BR)lbE8oAT?Q|5?hle{j$HfV>2t&7@nQWuhuzA*j=6V1=3uL3WWm zvIKue`@;S)_(2mq*SqcbEaVd-9GbCZzU^S^AAz;V^@!%}f+}Q3PGbo~!#Pl%KH{=Bik>^v zL1GawF*Jlk5q3^aV{kQ(yUxaP{sv7M5s z7dMOm#2XT~h?nyZZy~*)!+jx6JgEK?&V3se8FZMqY9N7EtSwx-_=t2fhzqQv|8X1Y z2#_*+QF?p1J3Eb+wsFn78-AgBK$6Aq@Gwng^6)r4J?z8rm6JX1vhNpO?{|b%7|~;N z+_4&&G~m9I^-@%I30=|?A$ zz)f>|Zs%n)-JL0OcGw~hVb^ejPp``tinLe{pSwC?VB>iVsXi&JVPH+h%m_%$4_pRu zCf&Paqi&?n&en=`SbL9(laZp`+2Av5Y+k@jUnR3D%!A;`sdk=j!wQCVp+9~>Uaq~9 zQ@z`i7Gxv+{_&N(v+a2ya!rkPHTrn#9Ej9GcyOn6uJO;bvVJi{evM7CmiMMa7F zz*&gppb*RWU&+ow&E)FZHR7zp)r9E%Mf+2<8vx7{>ryi$n$Y-wC%tujIhu9{Cw6m4POc z%`K>GFtP^um^CYsdU&4<&(GmjQNllq^Ido5WTn763T=q5vOjj$&1Lpbuuyhw(aHEj z<2TEf?@jyM%AtUd7RA|IYg(nu`46m%WXcjv_Z#(lOxgQxdrHvO&Eg_{{y|?4k%*(F zcY8>Vz3Q_&tkv7~-Og{p8j&<%Yw8q8S?Ab9I_sbw=KAT2RaZH*r&4wgQq4gJQ=h9Y zKP4P~3YR~OxX2~xdT}>x*5J2nL#U6G4&DmHKspSS(Fn_JKLb*U0pXKiaX6phAZun0 z9p8kI#h>+3poh239LJe**<}f>Ck+3-uX@H83%l1x*uCP|UoICl$K2129D!XS!8j8pRRGWbt$igp&3D7&e7FXp_sc6i zc!jJPCPCB>XE>p*n@n~p9qe=Dqkruq`;IVPU0ux^2_gWPTp{gE#;|>dr+x5~#qZ%_ zXXoGdD66*@;jv=6TDlUAva67i`%d*f(|zLj{S}!&ToBT-?R9IvY|A;>0oGptC*^7 z@{8#Xjl-XKI*h^dsI3$`!tbEb+jT9?zBM-RPm$ibB>u`O9fxD!XSmWUW{}3)b-H7- zJnsE!fr+){t8bs!zFAAXd{uj>_iqM2+9Quu6$e4-mP4(zV@W9a66Katm0(u;{oF|t zt}<*gKOu`8WbCAbEtt`}VQ`8%zp>R<(D9p-y)1{si*6a3afuf~Q_XMOaOxl`(i{*y z!@~vm^b65RRVB*m0~cJ=c%_os=q_^zCo=@hmD;GcBbM(iRahV3SX9GW$Cd0CQjP%K zj^CEl);HjO4R*6oT(gr{zk2P6#u6Z?VtacV9xfP91?93-8t#fsUQz37&8*rtbwd2h z+=`sv=KFcuum+m^ub7Z#tyw6{~h{pHl07*?0HGWas<05bj4!{ZW>d zsG~@{LvUf&A9GJ`VtPOH2zBTdlL9r$1EFVEKwl2Ufb9?W5Kg$a+u3D~TC^=}C;ba2@MwfTE<_(mZy+c;^j! zP?LXU$8D#S9G>p;#hv67j@G)*p(8N|NvP=3@*( zXE2f}tMl${h*p<=^BMYifG@ui1jdbIvEGVDh)RWS?XDI353DsS-!sz0=`;dU4W@Mv zNr{O)JhQX2puBb$Efl#NwXD$2(3QIY@&pK}gs2e#0RhnW6E9+z6H24YvpKRC6gx;d z*_@Ns@2w^Css-XLUpLukjc5#k5Gzq3k-4qColx>%F1%Zs3%3p>{QjpO08B$~ICK)Vox$`v$gY=`PaZzn8l75k3xw746K9q>RFKeHjB2$Z&^>$&h{ad0 z=;`S>fskwi`XElQbys^(*=1{Rt^zhN%^!^WB zN5CsinV6Vjma%Ssp+}W`JLA`%hm0PY1D~J0f@I~jL}|u0K}Z|ff~$}^v_-c!B?W|q z-}sa!GP0PKg!bIYH599;U?5%U%S{t?B2Ag2`YcG)WgOawBWSqfB&F>>!JD91eF&D% z>}j>~k+Psf&iER?UaJvW*%Gwu25KcR$Ya+ZJjbnS=9T~Li<%~R98({N|4Ra&ydTOH zgY-NcUQw9*H>_RaT7JOCa|wg-vS4(B5w`@e-=GHAvT3CJbB3E+)_XaxeF9wraWSu@ z5M_4Y&@&u>!Gb!(&j8&zjTg!hSa7s(TkoI;tt=+l4{QS}pt%qEFHpXI{DM#8h5q(e z5Iqil6Io0@ZEGY7NEP)M>-A{Rk{Np+^@TWLkD4T&dLaD+XB|ETB)OIF1IZo}eUW;Q zIjV|N>s|CVxaXib0peicw`-soo1Sy<-ocPY^*GeT7Wr<$AxE04tCKZ|0a=kvX-sV; z#@bo|fl$ekfh(dLqc-DJqeFO9XUJXnTo9aS-C!unEUE|?IP7TixGVg%U63`Wj6$Pz zwpPc&c(f3WISX!%AJv={3oX!jnnSme3a8+C!PQoW5n(oG>TU$cnw~01Te2nH zPkncwO{0iOgBigK(%tka(8h_}JwnYy2H83pUz&myGqG;0M&;UX1YMeNX$4LIoUR~q%uV~TIgKG0sNBd*sNb1 zPb?i$-!0ie`f=8ooQ1{pLihsoWd-i2W-r{js|kkX^X~qHreLwiKrFY;?fFxDho*l! zkQW{u2<3owPv%E=S{MBiLb&7o!LFJgH7mp)Y!wf~{ofP!#

}S!;a< z%Ye}FW3WD4gaWH#B}pLo{6+@od*T0DT8egdE~>AukBbBH0<2 zL@g|}y^iklX>o-B;hG^Z*KjftN2klF5rktxvlVu}nWbq5!V2LN zGx(10(vZNf&&su}8RD&Zl_UCRfVx#Y9onFJ^-kDl5QB6N4FM<`;>W?#VQ@;53EoT6 z;Gli!pbo+p8ty=+fHvSo<#448*VDmii%U!MrJZClnM9g#ld=z_`#hJR)HqnkV5-o6 z7#sZPd9z~DcThrWUjt((1lnGW{Q6d{(JUkO&T`*U^L@2B2gv^csO##&yB*}$qH&5| z0>zjs{_&a2fJ?y^5PITxM(m406@wASX#p{64~V&z54=(Y>^uyOXp#i$%R;_Y@GTb> zhG|9T^PM;hkUf05AWH~bV=V&)C3C)1p(kKui^G9&<@HAs;4Z>F(b35XOBf#=9fiT) z4t~IGwOKX~IohY!y9GdxXi01f9KUAOZdVdoOO_)Ut;eSfUXa_ggEA^BW9zO#z$5DD zB1_ziQq2*0Dyv&lp)LFl^P|KX_;ABm|LUOPOr+R z-6xyya8#ty_(maP3>o{D&_ri2LiZIqw2$!87<8-a4YZvk8f%KraS)4k)YQPRl3{WJ z_^_mc5*6(5dHmaeDy4%)J$-#m1r+e<_Xy(Rn-~4!O5yEX0{9{D5P%H@%7x8j)P=rG z5wUS3o9Z&;p6BE7zA#qC-zYf=*P-4;I6V^!dyQVWtt1e}<2x)%`%>=&@lHTOYKNa- z@F)ll9+eK33?iXstTJ{RYn9pyeRhzRY*&z|U^n;kORg7Cj(}@h^uvDF|7Zc26_j}* z%RYhIuy+>mRwc92jMS%?ot7AITQB@}>NPnz^~|lnQ}~aJ7V}F0CU)3iMZRRoMM$MH6)rK)bndKpwWz z>%Xnl+P^)-4n4=HFSI_o;I=Q-)F`jLPif`hg0SawZ-N6g{=Q7&j4RN>IfTsIPs&jq z3TnBm{kFz-!*~M9I&e$$&v0>b`#~qiu}Qpz+Rx$vR(JUmp!+R4=(kqz{EI6J>UpC% zek6v3rMI=Q0cUa=uXTGHZ!mXg9M&MA9`oV1p1J=c$qSug1Y(&a#K7}=V=L}KlQCagnxY5f(`t`9SzVg3Q>j1# z)qpA9VD8nEht-WN2jmfmN>c0jh>MY5vvI`X;Wk-GuU{#Ukm9!?AY=7G42QoM4p;Z( zui%UJl|38yW;F-8Ni?oDWG1is$X@sh3mz7*Yf?Qp!VqU($`-P=`4!`H`5S1ez}(!K zfa9_>ah$(@J&8(-PHIhWw}(+a=b1An52U*8Ic6JPg_&H!fUyWJkAq*bGobUc|oOs9(dfh5*T_uP7 z?NXXs6T}A(_O8ks)Cm9h)({oSWdx;3kW_4JEUb2q9<4u#j*q3G*#N_}fqpnZzdc$3 zQCTBd8l5v;El#pS=*;z`XF_T@T)fhFV`R|z{oHkMu5R)?3;cj`eJ4MLYP&hjdGmo(Vea)r@@QL5!P|;Rb`QClcHuA z>RF5Vpi+og=X& z!LiuBEf@l_S;8#gTAVZR)qiKj|JXAc*|GZm6co;I1|2@IPqcKt&&a8Bo$RxqN)5}w z*a^pgZy2_4qwA*PWz(n$`x#1`HF_fx+Rq@j`uI^^IRcQUu<3+X1xUmJBN`6#X>@p^ z0%iKI-W?i8=Dv|8)9Js$KnMBqu0w^AHNeph$kW=cuY3mY)^xTsrNX}oX@u5(VZSt_ zCJCMvO<+2`*v7Oy^+B>V*Oa&_F1xvX^D>8ZU-n94m3oe2J>Nze=@;(vU}2M}*FC4S z8Kskz(DsUUw<$2iLo^q`CZ&rsjyaw=_4BDq8J}P5Tl5*xp(A_bmf0c+Jcjllgda`6bjYzO{25)j7Ro^W?dLW z|2r%D=**WHKj*PB4NEdlY4d1 z_jXc0*xF&tONQZzA51R95VSerub^ZP5dPc@sedcYI|KDYrUtKuWj@Gux6zP>Okw|b z3K!0e&FmYTS^6y$OwmGlAk^_bvW5AYi^$(_8Otfm>*w|ZVqhX)wfw8lP{26MgYIat zC!%2l#)wWAqpO(v?lxF@dwWl1xrH_vM48l=ITds}YOThKsS%pEy|5c^z{B~qB#-z0 zP3{R1Slg*5`%D!fPX;W`CUdu3)kwLXf#b%pYt)aHV0Vsn$Lv`7hoW& z+p0u@?gnGfp#PF?jbp!{{0T^Vw6RKBs^DmK;;aL|G~`;qyHO%|NDhIQus!M@yQGH3 zs~EL%oW(l^S4C8^OvpBV@#~!pd6b)Lihf&@F5c;$k(va^pv9=KAQGAEKNsMczQo;} zHPkU*^G_lnyGkv^RP0sI;j&g%xn6ceC+7I2iP0JuE#moISfb6Z2UY82{r0*EXEjJ| zp_vDNm8fgm3>#qC(gr)>ylyPTH|}pF<_*i+tDRwI zJsN1Ysx^Lo{p1of;1&C{`J(N(??901#xg3vNIW*!Qd_4Jhvjx(FAs|-p7^{(yyM3_ zbS_%;|BT6q)oxN-Fg91zn%A?##4fDeG*N}fXEO+*r3=Y*5L@jRQj7dlRpw$S#`g|) zycS)N+0X5|98$b2jDdzarY!$=s-_>L*y0nf@=sK^I86w^I%IZb%;fg79*d>BypUxy z3v!MF0UzOfpk}{;e})EDM=KTre-vCiJo;9p;=tS#Pfp#Jdewv{GRM0R zZ|v5M4DGvJUO0?P8&jJgS`FQn8R|cl?x{Kw>x0IaZK^$N-RhbNdDM_=+KnOb{G3$v zRxDcv68ov&4^aDS|U zXl~U;gN(+Pl0DJEp(Bu(4M}=8BAUPX#Z`nm3aL7^ZWGd2L{buHi?jR3v7nQ^FvLse z8xZQXzVMdjAy}UL2t6ZkhXkFs&l0%MAP~32h2RSwg@zQ_Ym8y}<@}+a`Y7PmG*y0a zu)4{8mW?gt@)FOV`I!SC!%FVa$G@OhWpCb$CAhG}4SxfGd-w3L9|&tKidW&wtB1W@ zk^5H$`hmB*kmb)5kvQ@k$O<G|l@2WJ?#c&EJ627RG;|r>K4%Sfw*l@R84OsVDvQ zg{xE$xIrc|495g^N|v3qQ@90&xI6ay(q6=O-6I*om7n4v5UQi21Ijly2-&_+>~wna ziV1#(6{~#R(>^`ubgt~Lw!xUH89K6? z{QxxY(yyxtFm{Z847UZm&^WyGW`1j#%MBLAkY6)!cYy_|B~@FvxaW0bAVZ)#Do?`2hqs2=+!7@b($d>NE7LxN zaY}-^gh(WUD1IAj!^d(VOY=FA?fS&hJTc{ljIzVcU=zKX&dnwu$aTaH-ony3nd3$i zuOymK5-DIJZ{>K0>t{NBiEJghqEaYSjVi=&$Xi?A7;?|RJ{X1);~juXn&BjwX;#Ju zmDr2BDOUdz9ouQ6yXOMy`hCaP1~|lr8)Na7RiNZ)2!jO#@kZTuhoMRZ0oAx`v`Gle zuZqoLNQcW~13d{gEV#J;>~Ji#AJsLZ;N;T|?fB&y&>$fGj1VhCBN)SWlrj}LPI| zxw90^*Fy5#*)wO>AT|U9XbsJ@vJaF`-<@vYaIo&B-?i5Rl6p}(HT;TWYbNn zy{u)8DIlDrl5F-Pr^0{4ryrEeX~{35J)eYDF^GxQJJ)+Vk*D#u3Wu%H=5kToWGtF} zr)!niVqz|CBJFgsiKt{R(q%ydQGs9=14TvoS-+JbPg)Ywd-%`_nh)Fr6*My{pD)xe zQxcrC8a~N(atJqdbR1`AyFEbfra1j#*k`3rSW{tbqp_b%o?F5|`izyqHWc>vMN?10 z3Bvya1Hbvlk00Yh*zS_9(IMfeji~ zaao@-;wqE}H_m|NuYZO*H#avq*&+MZ<~e!JA7qBrwN0SMf=Ety)s8wu$(Z+_!*5ww z_T)5t^jT;XhsZvrqtu}qJw)$PaH&Yzu(q1CyWZdy9Yb5cuH^a6d2I<^?hJU5QLqjHO=Xr9qP`x}EwVIVSB$s(#34 zte%26BM6~H#;gM13BQ?xb`lU(mWhrrdHHXKHi*Fq#RNoPJmP76^DPUaA zmLCTJ%jUj3Wz8tK7%WTa##54iR!hR$e}}4Kb_V0(n5xmyW^}(;srvk{Lp&Vv^}ax3 zO`8^hT-M%4c`9QXO%M6h+G|};PCOWy72Xk0rp*0vvl8uDl&cetrX zslT|sUhc%H{ch zynZ}iGlW12DxXrlqAK?RkV%F8-q0MVNrFpP~IRFgCUd;}?~cj19C_I!)gx~0$pxd*+`Gu zpPIMQBF?TADS|E0JQUJ)Pi*Ys)@?^YW?Rh*+5g}e!^&|fPzw1)rg_?rl_BACr3Lvz zE_8m!qe^YJfKmZJ?=QA%)={R{HJ91lPD|+NZ~tQ&TDHIvLpPxT)g&}NAYtH3_C$)_ z;OZ8G8pW|vo#3@y+9D&DF`RkhEE#(Wlx6j6TFsHvv^MbyRLpVH!jrDbhy1A%s zm|M~YmxY!B31M$bzZlEFgnu1wWiaIXy}5=KD?GUL7%UcS^mGQ;&WQzka_1+_Wx9GC z8iCcy0XrqzW6O(I3#y5s6miDrR~b0sjS2oPX>Ey`7P;27Sh3UMvWXFeUx{_R*wbIg zg*e|%ly~n~(J!yK_vzw8?hrx=Y(0LaqtN$)MBxY5*hJpf^DtVs+6)q<%*s_-s$Rwa zJn(xe36n@s5kdsy^WMV;Y0Zs7>Y{=Fl_a%NGgHYBiR*{Z;YTrtczT!NX4L7VqEnlw zLs9$(OCs(ev(SX4Z4e zX*0OqrTA0gaB6l3f(vOlS4kRveF$0f03ZUjmCeKedK=+te75yaR^L-k6HJ=d&}a7Wq)O^gOEc2978xpZBQACrN81@l%UcI2>&%>psJ>k@epxV`M(8 zXza!aSP^K6GNq-Fem5(fEv~3E7r_ftLvXt_^|_c!+M~m1+j@dgnqbHG3g@j;t_b*U zhgr~8>q*9n*0E%b&c=R>Fj(2Gv5py;nVpSR6idkT9QsYVqsA<1mw%N6Vk(&4^@IG} ztV326`DX>A8y+J&BA$&J*E@(^K?tD|WAa@C^Uxp!te5#=L?-YanmDQ=qa*X56$^A0 z%}@s?ryU@iz2=lWAAEj^bCHjuzW(D^pH`L{o@w>c5u4|H9)qhqsId=C5q4%TlsB~C zT0iI2qp}2&ExooeU0x=rkyg)ue{&t8_3VEhjtQQAQdMnUkR2F{JTY4Ef{vB!A%qo#xR(Xf}MgG zprzfLdMCQ{qn7*`&I)5ETG^Ev5w3&qrX(t0Y>(Q;u3;aysugj>^t@@sayw;hqCbr;c?=t zFVkomd487ub8;^_den^6|D76k-JNqdo#f8J((J67>Q!E0WS@D_0q^UOR zTEnc`*9xkbcv96^4g@HK$69;bdyfAy6x z@;v8y|xJhVjpXGkY2m;R3l)AsGR1(}ehRGtvf~-=447bk| zTwyBgtKb8TdI75_kmEOP_g5n1MbGXC8!k-3@B6mZDE{!4HL)JRtVyMvOTO zD12}-1N$_*#V@3XTZ_wQdlp!*8;$){qU zKB3Zh;jpd9&j&A9aIG_EH&0LLq_&bTT=_+%rQJ5A z&~JwO6|L(|Il7j!zOezlEch4#G;Xtp5#mO>S*j#|2Mc46wZUt!1uOg=aS`NW&~Za; zt9^}cVb;Otu&}VCb!G$IFYIjL`oXqTk$Z)~@h_Tfj?|OSzP!5|mE8VL&a9@tM=T#U zK|n8qSRF{V^B`e2;JEPm^O%TIRmsPRjDL}xPpCO{*9joj3bn9283R`u_`t@3;&O7( zTC6pl`}OM@!%X@K6}F%@(g3}Vn#-(GV`mn8tOg%(3Uh=e}7 z4j*J^vHwys4{v4$!q__rm)j=}sPXMixBg7DCPBzrrX;kmiOhqNO6B0QhiBhaJ;RAd zr|~lNOS}G1+8-wxtgX<$k1xRmWXa$!fuxJYV|_N7rHY-YLXLip!m&sHeJT|h>*onj zB7x??`Yf$|=)c-wQ9dI>=NFo6ji8Km` zMiSL;CchH6+?N*;nGFMj!|5!#FT<%U^SsRlOS{I*%$!z$8zz9sAz+EG-AzhW{ueyq zCKL}9#iLAeXYFZ0R* z5{RC=HWHF|t#9ZLmgyh_HlCZYBiWBS+<=qntJpsVI!j*HWBRl8Odl(pcur%sDE2kI zRe=p~_m7d5Z@4u}5IZ}2d~$MMlPUNU$#ZZ~`3`6*7&rS${MSNZ3>o#i77G4~T?@ss zSuCM(+a@4=E$6>35a5eJ$jN=eGk$p8+Fu01Vt|1xtc+cB1CyXFyp@C6)ZHm3bfCi( zQD7as?+z3#8pi?zUPlh>3kV1RRZyBe(skh9e)CajD-aMtOIIZQ@THL-*Z%lc-cbMB ztKUQ(e)i@8kNtOBBO{L9v%0e$HNN1pe=IED zR~&UUb5lyr$Z*hOY5{6~2=*K7`2VW=@_#7TxPPakaw=^kAvtn1)sPrl zIh7bikv)S#8S6+SBumRlAuZNy5s@bA*pe+F%aA05Bnb&gwnTZ}_5A~$XMQ;g zX6C-{>-t=u<-LS-AUn)^^a!rRhjiE+cpA*l_!}NQ%ENvqCkHxWEU6BG_4dCkLtw=I zztjU7gG0s;<6AfaUyIk~?!rI=+z{^5(F4ykIC#YrdwD~>T>~^>*XIl5cpq)ftNa=K(2(5hB42<{@&ir zXX$MN&Sw>F1D327Pk@AOY*wB27%|`3(LgmI)3(sDYf18F=)py@{SE1K76U_#HDcxd zEt2*;rH&6Gup+BLf1@6UIs*iSPM$mo)m@CB(=*);uI1jeX7^^{rjZd(gip1L$MqLK=v?lptXsdU${ve&|PKai~nunR*C6T|9jgY zx4ZMjXJFsg2?($t)Xgt>NIsVK_UNrSo>j{|3SDNCFk87jWg;eQY5SmByzjw@KB!8gZE_#vxD1Xbnme7!p*C#miVg={004}z+ z53-jvYotfkXMAo^(qE?)zZ=7^tL&5LOoCJ-v~qvEwr7#a42g*`sA~Z_6Na;e7+du3 z#85NEao^k5QJAFu*8Ji-rjK&$7iJ_`#lR@;KmEnd z-Cx6g?#F<-3WkU(3uu1FAIpn#`SK8t%eTGSk+uk}jB&WOD;f-Qoh@Xo7rmMASH_fn zH3cvcOgwgfAE`&$me^Jb@#oqf09NYiHF&4f6JQ+*d+u%+42Ci7|>(wIG@+6JdwlW@A(J)utwX?&uS%v@$<43$9kv47bd%ai`NnH3!m) zQP8Yw=BeSFQQ6`Z6inF>3=QOxl9HC({S`Ggfyk(lfXvg7u}dQjNPTTxTV( zSxO8&LGqT;sqJb-?bFcnzu559bxjugme!UtaD)UQY0O1#qu;q@4HBRYW#Iku<3+0Z=1*L%Z@>ar0F1;v$5 zIwZiGMiuA27VZfUF45fSOG3r;@BAQ?NiHsQ+Tk(KBK>W_COt?&yA^-|h}XSL90vdXuDac%48ulc6P(v+idiF~#uS8V>tol{0n`)i#)QRnM%bPu>+)XacLW986H z-UikLO@{yPr?(G^X4MO`>McCS7G2u1C}#qJQ{ry153=@^?8O!t!Tvk$-bf)bp-vQ~ z0dI7heUgsaxUEZMFq5RyWfaOQkuX$4anCAk*#tLvf>kAM*e%Gx{vi}?y-{Fv^}kr&*1V@uxep(H7@pA8qsEt3s_cr6zIE#cRUQhg&EUhQ zHt{c8v^mCJqhMi~YFXuI)mYQ8mul;XyY%LT zX}!RynFAzt!x;LkX0Amw_vW`suM7HSU)*}kGN4$%AlhD3i{SJ3O`cK+JIE)XpBv0b zuZv;Wb|MC$q&tZH+O{} zI;XxfhU#w6rC;^*=|5H3e`TbLL-`nLQlksdDCSvmsVco^YW_(jn^rT2{56Sl{q#}&=x z`TW%abnWTz1EBCNx%Aa!_HXfzbEC(K6);oVyxQlk_GZPE2yJhgP;!Z^Hk_$LIZ$W?6&4mUV1RSX)6>(*DN_>0 zV*%7$$)7H~Y)L!c-0DJ63HiNs-qo;s>jLnkzX+Z=01b5x!C9601wM`nf~f~b!Dx)y zaat`vq@Y6D?h!3b>gRV)+J?6=AY#(0J^0w{dih3<1q;I;EZ37+@ar9sA+~L23SKWC zaK;$?k^WkL6@Y3cQwhGbic@zqO*6J+q}H9ZPz``=z#`GPyUNB!TT;|y^t`?vR<&R+ z?Din?fFJ~^O;p>PfW(Ao#e(zj==dS-rwM^`2>lS2e0PEWUe7R`49Wz5K9R>QFV<(c z!(A1QEww!pz1F<2p)rkyJIuh#>Xz+Hx2=^u!&pu*`hnEM>Fy0bFED&S_Bcz;pUA_- z4iuGNtemW@z{}=l?7fO^#T38X?aT{8u*CsR{hJYY84y@p zMnBy_&Si~7Y-i3;Vm?5jKqf+c=ck7b&Upne*_bjU@uAEd83+FI(l3jK?LkmcvAu%> znu)OZouax0i1@@N=8)jH_JXnBK~8{&?0`v1%L>?_{vGzqXPy3>hrA^B=171DS@Xu2e@ycxzPnle{4tx%I^|z}9J9-IHLHNFvvLw^{N-c&QWO{h zOD@56qWLn!ETS|nmvo3)^vl9g%FAoo&2HZHn~g2=2eTp+Doj9onN!du$J1{i&s-h- zK2&a+H(@Odx#qtij*X8q88F-}o;I8X@1C2^(j<()C30cIinuci<`Ulm}kuvaDG% zqcM5ddq;@l!p$48t7ekOTO6u~(NV$xWMRp_KRIq42IZ6j-8DzGIK!4FTyD0ptgpG*GO zQ~}~XYXQk}%Cd%a-#v?nOeF3pLL8`q>#VR~f)<9ZlQ9nvr9d)p(NNL$S3#&~HZ}KEL(E~+{(gRsoB+%^nrZs>FP0U~sDiz)7*`V#5q8B}VW3r@l=Zy?0hF71uc!mQZwq3TK5e^#KJY>IjR<#J=sPAW`&3RvgD9Uf;ec zYw7Bpc5rZ@(GKR3K*hMI7*V57B*<(d+lhpUFssRu#7i;_9YP}qMRyF4z3T`9lGPV51MBa*e*Ed!qP!(HZcmk@7iT?T< z6kI>gNjMSm&_)Xtf$8sOtD|$1?^F0{&R=|@-%z1= z|B;yI5NjAb;9P%jIXKJl@n!qhIeu7UuOOJ?Ty#}n8=THEnlU4*QC|r-452FJNFKz% z)UQB-VFrKHwCE;eWytBY3+s7W1ZUa{+2;B#vp4Eo@&M3zdxSo}ujEo(30QjBovVj* z_6%7S#M74RbSi80fBaZwkZIjkJ0S<)G{+9BQ&Aw08Wzd8zq2`>` zOaogncuZ+Ye7a^GC}OPxC+zH~(P_K2?+4vXd)PW4zO-^XBFd$`iu|UAeVe){-3Q`V zf8UM`Qg&3PgN>VVYX0VOic2=`5k`jAL_n} zzVAnOkE)pR=<9dSjV3yJSpfGIdKgW1!0Wx{A8<3ILemG9EsnQ77;4suZPn0wZ!5(! zAGv6AP$OzoegOgE3*Q%8EP&BvzuO`1W=Y3&_w?+r~Z^ zi#qvJwC6$fFPB5Y)h*sqUHbarBctf;U@jkSMp^j}#@1DDN1;goV>!T(UTp%k1=oJO z)<{=9U1lA<^}(HDhm6FlTRJm(mv6PRaQ zF3}qMXP19I54#zwkm^lYr=NGaud!n01z>^mqu&hycxFMRXfh}fzG}2neiCDQK(yeN z=(2w{I9>$N>P*40ZrQONJGpE^AT|l%AXsWbJ=l|Cc*?JuibZpCLKO?9ei)r1sK#-B zq{>k%iZ>tCkO3IHb->*;lBs#DMY@5t!rQ0fGLrL@~r=;91c-@PvZ z;D?MZ492%ICDp&i&9|1>wtQdfwcT&y_~qThg{uHNm_ zS)-_C`#%=;!^5*TZR0&sMO792mh?8|NarNJp}mdK735xeSWbcU>W3rSQTrWHM-2^+ zrSbrQzWAQ2d^0a>#Aum0IbL5XH^IMBMsK|9Ms;~_FYcbK{hOEi zE5et=B?%a8p)Z1|S7Wl#qJ64!JBMajbatXEG;4arrM(OyuKQAn8BaVNq>jzPT&$WP zy4W9P7#p{p%yS#HIeT^zroD~AgoOu1( zH9nubbw1opwp3~t)*i(#4gC?!BHcEo^25_5@}TI}-LjI#POZQGsZ&)s(H_$WE38j6 z6wo=N(;?@4C#5O8*zoZ$pOJ4g6JVI;FoJN}lJZ?5Qj`FM*QVKywVu|+gx z^Zx1!&GYU5O=Fh|GvP8BaMw)-LO#!4Xc9`N=e^C?*pk*R?WTwat3hNYSnZDsH#F{z z7KYSV0QEmP2HuRJ@J~q}ulX)g#-VH!3u=S?X>LRPbtrfhEV~!Gn zunggCDjmLA{U|m9M0&|7*7ekjQS;A$&C~;LgOndRt=r<|XIai-gy+Vm6B(<1y(4L6 zz1Jx4U^=i?=5v8fSZF|LgHuTVyg4C;LQbK z?iE*}pZ>M?c)9^54EO56y4+Q1kpV*8%)ENch4Rl19Ks8JBWryq0?7sLxB((t#~`yg z_i7CJbgS$4#mkY^Kvnn9p^_V1KJ1eaX|%p)(Rhv0XrwyR?T~}};g(>!)b!lnv9Ud; z6|KvN+%Ix0{gx2NOdk}JK`vX8q(!c_f}qKfBb=8@M1S?At{Fjr*6ua!A+&NOdk3Jr zbUKJ0<)wV;S1F<_y|mLGgM7q(KK(sX-z};gWg^zFD+b&}%O1~DW`*OCYJUn3`=7yT z&`+ytheLHrO8BcCKfhK|7K%rR+aScEu0%D^;!y6N(K^5qb!oyRueK+y2#=3g{qs-Q z4C1FaJ&{`D_Goc;ZmSOzQROBV#KT@RB!ujX$pFC@o!16WULWO;mA{xpCtaMGmiylg z6+x#0oMkvf*I00Rd*e@tSl26(PdT^`}W zOy5}8E%8vh?@9`${bHOaYDEH}bpF*^GuX6qE_UGmrd104`r}bW^Pg*k?c;w;mtQXa z)mA!jg)npeUD-4@{I{C?d9t&y?eSRoi}LHaZ~sR>Fq(4}WyTWH5PHA=7Q<+qz&t%v z;^zL7A(HTl>~^s_C3t;bo?`)W*$x9D#=={hKuTpgmvTJIh9UZ;y;IwM-ZWCZS8|g# zqzoTFX8RshV=+U)gSR8*h`V&T{{jcCI_D$bjI5pD^JUr+Y|K| znunO+ICiN~p0JLjdh04BtW%Pdl#-e4fD0NgBCFwZICaHYCcQq@s}qx3;l%W#NA- z0alCT%&}v!ALaVy!)NfqD5lKe?D?{Z?OeA}Z3Tni+oDzSw4_wQ!#XSurLdM;IP(*No7NaxNbQ24aFu3i zEU1JJy47Za$noh0l^0oI<|c6+)d3<47o1mFBq}?tIUl_qXMeFZM~RsGk?_`7-15ZD z++})C{g?^IHAGg!QCoe9Vw_J_G`d*;m_R%7W$<51CLKkO!R6%s)Qz&Z=AgC2Xao@T zDy& zvbK(d$VF1=Un1TW7nO_+H}M^N;pC8X&U&%x`n}JTZtz83c+GR?(ROw%>ce-Wg<&3sbSJ7mgLsycX_VLYiPf@co~U_q ztLYjPO^3VHhk%8}Jk@SOn~{w?#?J74-lcG=8QKs|PENMS;sv>qJ~n4 zOZ4@!wC`t14PJX>hGwar9wZ!v8P;`{N?P1?!X<;_IfbDqea8ZxUCg$F8<=`vS8@Y! z=eRQMz&>*0$Xp~%OLk7G{epVlwklA)K550th~7kgq}*7t$8JALu?aYdM_B^_C5&hi$;M9lBn(_}Axe-$_?iw%E*0qXVg z1Mva<`dalyN=>J4%E>}TxYSBrTfnbOR}W?7X+auq)a(iL_*!e2c{549H9KkzL)Z`z z$|%oNGVCQu-92U7;F`_ZwLN)Yx9*BwORho}UGVzhEx{IgFJgTuq$?|ANe*li5I`C4VwL^s{b z6bsk-@aRPA7#!o3ySJV)A7Z`X;5fhcpBIi>z7lh@y2AU&%=(nb>Qz3&(9k zWS-Fs-PD=c-Um7(I&25LzE0h>l zy>fvu|1>h&`#R^vA24_0_gL-^NhhZp(5$Si?tQ`(>-3TK`+2kXY`POaT!ZAq+w4ly zZm`st3}-i$*>`>uIelWBbMKw!P@j@k*Wvyv8X4K4*6d`0uaqA#lnG>JbVLM~2{4~> z?VAHDQ4acOH)H4wAu58}9nA`K5NP^SYFa^{Lht`k%1DAh9l_U(ca#h4ns@J^I%95X zx<{|UChHM{A#7FRThRX ziR4t4-C2Z0l=Y~XV8ehGEdEsfeLlPuG`Y)2>Ln5olMxLBhyGJvA4a&S%2#(J1zH8C zrKb;}@lbKm+YIXwR(=jkS8erzw_3KHADpI(;s1DB{#1em-@BveQ)70zjmJ+cB&iP+ zg|+vGKx%h$bHg674hOVI%-b;aK^f`&bIiBVdF+B5Gnd~HKsfr)mc`Uu@-3iCk#u_G zswLWNY)dp%l@)cf?NXDHUJf3$W$jI8T);KYQNs#JB+mo&$pG z*Ta4VhD{+0pEzpGUSXtCf;DCWh!~KlJb(VYV=ht2eO1hcozC$3Rn%+n@%e+S1&5(V zx<^UJNw}-wTkv>J`o33zf;{-Jm6eshT-dN>G_{^2hJsy35a&qKX|V`g!)%tC7?9dS8#G--pFKN*a3ICHhHHbImE3s)B7-?nJWenu&$dHA_e(`B*e!ICTt{&|cI?TSG{Dp# zc?Q}YItR&X+Z!7G(mAYnH{OviYW13|SciR+N_Hu>I>+SUCj73Cb)^ibZ#xXLI;^aCJkDj_E?zuD_W zTboB;qgW^tXnx>gjK!Po>)bQkt>p-u%5{U;9Qd5<;I=ji79M~3Wh5qvzoSnA@4uI? zd_&(#_rDi9+AYejcEv!mX%wO3id5T)ahNQUH+W-?>TA=NoSMq4rPFtqH%YUhAT)U5Q|5@2PR*Y<}x0ww-Y;(wYCKF-Buux?h>ky3zI93 zdR=feig`agp{!xJfzY&!3I)bK8#&Hgb1en&Z$zf(ns{y1`b=}l-0bW|h^ZYrwrYoM zxW0HO5~I!G#^d8Gy9i_PO@3YgAwxV{>SQQRy1_x@%%j0i@aVV}LxsZphS(4JA#lZf z{~VIpyDlmu^|HDb6@rtt^NBw6yxE z!Z3BnUX8jc0Qpnk_h%+2rq zsKOYBPEV+}b|}rZgErHkD-aNtE*5`sFKIXgD?dFwmdBABSERDe^5!3VxdWIon`=mC zV_UptLlqnC!E~cL^boHo3&R3nz!`^GMJF0yU>>2pHQ|0VXv7(j$C=f^$N7mDy1R@P z7aJQj?r0pZK%zJTw9Dt;NV<7LT@c>1Ti%Sy%E}&=67lgY1qySUNg-sFhXCF&x4rW1 ziFs=_!p5=^jAH{jT$SEs!o4^@pD1o19@<69ev3ecsPoL<#xk+ybk>a;3qSxb7ROix ziW$md&ZX%Tl1A(Ux_PZ7vVMN=?dTIv5_h)RUSY>*9i%YJhKyJOTD%!{d83|Uen+}u1fPcB;((B+k=7XJm)i6Ygc*-n+I<#$R3k}voWqS^7c;GtY& zc&1m|=BtBggGL`~i+KDY_}NWst~Z?T?A1t|{Qd*e|8F7XsSD4~)?I8 Date: Sat, 25 Apr 2026 17:55:55 +0800 Subject: [PATCH 3/9] feat: add ComfyUI v0.19.3 container image for OC9 --- frameworks/ComfyUI/0.19.3/Dockerfile | 34 ++++ frameworks/ComfyUI/0.19.3/README.md | 103 ++++++++++ frameworks/ComfyUI/0.19.3/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.19.3/test_result.png | Bin 0 -> 101464 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.19.3/Dockerfile create mode 100644 frameworks/ComfyUI/0.19.3/README.md create mode 100644 frameworks/ComfyUI/0.19.3/test.sh create mode 100644 frameworks/ComfyUI/0.19.3/test_result.png diff --git a/frameworks/ComfyUI/0.19.3/Dockerfile b/frameworks/ComfyUI/0.19.3/Dockerfile new file mode 100644 index 0000000..469d9ca --- /dev/null +++ b/frameworks/ComfyUI/0.19.3/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.3 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.19.3 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI + +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.3/README.md b/frameworks/ComfyUI/0.19.3/README.md new file mode 100644 index 0000000..60259bc --- /dev/null +++ b/frameworks/ComfyUI/0.19.3/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.19.3 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.19.4 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.19.3 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.19.3 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.19.3 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.19.3/test.sh b/frameworks/ComfyUI/0.19.3/test.sh new file mode 100644 index 0000000..d37ea7d --- /dev/null +++ b/frameworks/ComfyUI/0.19.3/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <hccUZ!KAqWXhMN&dQ~+nY(^ z9UGSAgzarh-=JHcSEBhl$gG*yXtiIeeo(*lw+Qce0ef{o!leh)hvmzR4<_v&f1t?n zMZxa z54Cu669!Ltnj<)z*{>Yf{R>t9Vl|O{?`x`l%f;=D&A#nTyU=}ivQ)X}TU7+SHy81k zf@MSgW%zy{J%?;hWcl6?|NY_&k%f(|m{)~4XUI{a*1^S7o+Yf#OjM#jeL5_ELbc6# zE6+&>{-9W2jnQW!r<9IEHhaP&xkXoB zU*p^YZL&s&A;!hl#3bp}&8@{eUl~Ec-;X}?BGAN~vNxRaA6R!AW=TRmt*Dwn`%HG` zCnY6SR8&a0PJb(#>S;;7jlgR~+g!*PthXqPGS4`1XwrO{+*fLA&{l*u_AQ^+lgcBm zEATQ(c`UrgK723MjKb?L2R{y_e~6n3H~A)zY$Hl|EX-Q#J~tG&!Q7ov+UFy6@~Dj0 z%7^OZp_Z1GhqWP#i;E)6!Jf<0h>!LrL@jj1zU~&(=44l4xT1UxYOFPtPl5&0B;4pG z?KANs$Ep}DCiWXlWq)k`)NvYTr_}T|1fSU&rdM@CsVdR!k8a>mOiWCPzFVsY zsOeHPGB($j9~J76dC6%!kuTCL$DF$hvOUU;cp0k)X8Qa4KYjWHuZWlXJuWT7vKz)Y zF_rp2Pdi83z{n^Hp;#d;B=i%VYa*pI-u- z9!-51UJmZy~oTKYOT z>)Pu+vM|<`!1|e;DYTYkXsgAEC9xc&?Bj;crRS?db+7t-)~CkW(jVq`%57B3ojm%i zuC8uiz+_c*eP#BcmbB;U97&$jBrZ*!uUF4#*3Gc3sBdFfY%b{@esOzNZtFIVKCEEq zQKC1@wbrdjb3Ggm*UPs(u2boV(2*U@Y<@rHtUvBlULEGQ0`FFp_-AcxElaTfvJ*z~ z{oeeNvz;Xqlv6|4W%P5j;rtrr;kDufl-9z}-5wqpK_TQ^r{APmme{)LY+IjJNN)M) zv+2P!VHY8JFPa|#Ck+0yay>xR`F?9_OCdR_SB&5A+)aArxOfI3P{@jBc zKRr+1(+2$gw(b`K&VC-SFE{GzzG_dZk8EO!s^pjS-NFt{+u8mZjxT11RLQE_j&GE%FKQ{JEtpiu1uv%LI@9M(& znnIo)P2XuA(pL`eg>bLO()RtIe*XM9Gc!}>G;$*;tSD!tCDf-~`gN%6+G7iguYxc8 zzt7jbx)7IEK39J^6I)8Ey@$Y4CL*ijM~*n%vm1$CbAjE8vWca<*4tZ~jmM&uQ*A`o zUnOpExjjYaG6mftkGM#@^V3V<(3ug`*3l7B^Bj1_B&>Gq*$p^c_X<;9uXAkAa*%EW z+(`2C>Jn~*6M`Wo^3|H=%X1EhhamqNbM`PZ<2re?!>YKeOAi&3oSa-|)`}01e=_G- zCM_=h-m*KGMNC0KL0Ij6N7vN!Mbta9!F?C%Rklt_hAS$%9`AbI>iE~VW)WtjoC|k1 zy@=SKnjbiUCRc864GozY8z*Av)ZO?0m=g(@-HO4HZX|u5B9s~!z0T>d`%7-ECG<(& z+>bdUl4BXRq{Kom%H(w8qhzDJ?E!kMQ^to5$yc@=A!hRPCOQ7XnH+xu-r3dytm zRZodlLk#xc_Wk(rV{L5>d&M}pC5*t`A8{!Al%PtHS83O(iE~oWaS=v zyJm`+-w1n=msrxFw3??2sB zcFy;$w1mVZj+5of{=$c6U6hXmR2LQ&zIyd))@=iZ5M|CL=Y!SHIoxw^Ts~uP>I($( zcP;N16vxP9^4QqD!u<-T?VHz2QbZ5j6ikH^owvng{qx3TQIz3i8TB~{NLNQzuP69{CFWLU2gk<7a;g7jm2i~b zY{OX;UcP*J?oJ*tz8XyyW%0OLiJH(()d9oSbNGPGl*2yQHJybU z!9vqS%%jtgoL@EHIB?)VX1mH!U42paunUzLMknURYJ?jjBTwlSq^FPcmV36os}iKS zRA{>daeGl8k0M`P(^^(~?XM}4cK z@|||pt>hL%{!%QKl`eo(Sf0|{^0>$-k3-5umDz+t()nVfG9NGR`^ig*%{o~fQHf_E zkUNjwEi<&E%amQ|KM?D-I%mGvWyElloOt6lpdDUrr|9VDk&%%L7cS`N=vtql%rm3y{tdHOD$JfO4z!> zd4Fsy)c6@|O!*(jR#6#v8d8$c60h$Uugx`7wV-BVpPO{n>bi)y18kQf zBTOY%I~iFI`QJFZ=!$8)^FoJl=TU8wcKG?1$!P#-G6{Fy{#IF3BrGmInqy&=PI7}- zI=+a;YVXT^-T9shAI%-4oceRqZ($B6P^!}ARXC)2m{kX3vQpqSrv3-@Vv`gZJKrQV z>n6<{to)WCSfS&>#>iXGrsdgI9o_EfwtmQNHdtac{7zBdUNqx1|wTZlr#N`qelVW|^k0ZCZU)|Fg>MpiU zpfP%%$J$LCGANFc%q=c1Mll)b=~=oyq;5ERI*BK&Cv4jPxL4#ewAZSaY@~AWdalaq z&maN7Y`vc3a){rfEy>#}q1&S=k8*P-F5G#$vD)mLn|9C@Kc;_y$vioL*SJL~?o#mW zwDfemtqsEm?F%e6KBZleCN_%yWr@|*)H29_#`UT0-=hDZ#OIqXy}dDy&od@ZP1!Cl z%djwP7zkV|){hkZUK_&3a^?)g!M^WOP8i$zV`H}G^A7y8yi)rrQ_!Am$3DEOJp`-z zfNAyIuvM{sh9(`GWJ;#__DZc>E+$eT`CcC0`@AARcpcg+ute=Aln(YpYFrGMxlaD1&)($wg_5irE;Bw#ZHJK05V$e~(w*AB1@VU1;7JE3 z8-9Z~lqdkzImGQh3BH8l;gD})l4bWg;DkYr?G;KKo5NIl%<~^id_S!ik1C5r;3F%9 zCw|CMXBU%Ldg@GU${?4su`5X>Y;!z#MHZdYUIieOqMuVQp_JYhm$o_LyY&dqLbH{F zuNz6hxtpS?>4KT^)o+uXp<`ay$(aXl}NS=jZ1S^BGro>ERde$gaw#eat1a zwIwgP!R!r(hCsk;ys4bthR*d}>Uvalp-N@TQEzjg$rJfln8!hNroZ&5u%?!At4*8HQbm6juO>|nf7EZ{0TGhsgSsE|GSj3qwL~J7v5-`#t;i+pJur{1jYsM2~>1^@b7EJtM_{plEW3bWVco*d03N&v~KXA zV|xG)Z}XU^4eP`NfNm`R_yF^43mRQj&S&(c1#uq`SI? zhOcRVOf0%o-Muh0tK55{qb{2+^zyX~O-YBJ@|@vebC)fbd;0nW0wV{-b#e{E&qIaC zhl{viyecVv%#r{*0DH=0Zi5q#5?gpwnCQKvC(K;#Hv3N6TxC{{&q7#LxoLH& z6$=n#Mxwz?s9A0s+s@)&Jy2Cug<5Y_M!PPIwp4CTAq6T{e&#={g+N1ow*lP4qRY$8 zO|oxZ$r-^cDL#4$ztZ>|52r9>^2LFbY;YS_yx-0bbq9%~ zt$%uy^rd2LJPXcUZ|^z8{8pa=&**to^-*%Lot`~= z=GXV3in51d33Cf}wYzBQslI#z&yxidtC6m*+cMGBcXPrRSG|A@ei{EL!*nP$H5GUU z*b0l4P}Uo{lOmrzJG98kgWL}ADEFZtwDjwJgIn?$nrkq5=fa;C>1rX)>9gOGO_cLm zu@{P^36W1vOQS$)cN)#)mW$E2c(1q(c>1=M#Kr>8-nS}_dlR-(q4`1Dw&Cn({>1pw%xw!%~W(Qn*mgTP3T}XWS^5q7uas&757*jWG@A~VU z@bKe{UOD~Y)OjK@GJLfnf`T&y7~Ge@6X@K~moF#HzVr|sYy1X|NPtB|jzvBHCfl*{pDY=)y<7?i@ zM1rHAAFa#sVN7n+HuY~S(VWf3S}OGdf1Boy+7=SLB2`i&xN?NtY8_Jc6}37-f&PHl zMsR!zSZNzI`u!}*l+=|JFX36>eMUD&`|`=7jf|XioE~nB$1s@x%&-TB#7&z2o+5vAkV0}r`nC+AA|T);Uy;@}H6^c5 zd2tlwnyRO_1of%JL#3lKLI~g4v9dOW|eB5{E5CTtq`0)7R znjQT?w>6uAZAvLXMb$^$7Z{_~CQLJ!8f`Q_F_DFz=nY|vzamF@1j?B!0pIg=al7 z&e)DXT^cf2#4_LA-JN4l%2nALv6G!(E|$^|Au+(8!PDRW;Nr;$@fElEcXY7>&l1Ya3rtTiiKNh1$W>k5 zwEd%g^~NF$XIx|xn@8r;EJH#=vrNniyZQ^G>&!I8`Slfs_~`2kvI7H;oT&yllI|r- zmO6+>(N;gNG3~I@YAXWNnWGJ~YG-Fmnq`ftgOwG}%IS`KLyl#D2Kk$!__A_#cO_MG z3h^c7lP@edUpxs6W>!|#fW3IQA{02bLZ&`b#du*gPYAYRWo&9~)4k;wES6WvE=T(n zej>tIH-ZF73P?~$q3Y@9ZJiOW4i5L)itNRKZgPWMUihe4xu@(NtdJr9Is?J6>6yZMx0+$#MvsJIp{5%Cq@!Mp!qH2r|EQvYfzm>Q9R?2bW~eXz@vTafT~8=`HwwoADaR6Cgych{rd21SB+C zkQzKEs$jjkyW_A?AIm26AC}$37Ps!ZB)vEA$yN0)J^Wg{j6qPv2kGsrL%^2`$t1@v zmS*>P5|H@7LriWAK- z`%?DZ%GX`6=$VQ`y#7T+reM64I>*JE(3`?u>Tkr8NTAD%(j%FE6!n#{VJp^1(^^>$CE*=K0#>*>YD#&&%_|H|OXgCQ9inFOS5!1mbQ zVKNw%I$kLKcQ)}IvGM5A%s_Qi+xh*naI9_gUMN7AY(N+py-iF^eDlT-fymM1VK8Nv z^XXZCDIR%2IbjTlFf6@0%jwgPg_#XnRnJ`m(rD5^qjK00{|~9-QtBP~UfD+yXlu*v zFJJy5J1Pd5m;<5A;WbkQ=YdpfP-@rM(4dGP1eRJoeSQ^dOMt9}FmW8wYJhX-{%-s& z>-UPX^T?+`F4*Gn@lUB`P8coCcuTFG^0SSHzD=zeQ+KZVdhBkzPf?wXMhzPCgo5gu z!pu1xRy?vG$Al;(Yozpqyf}VdcftH`D3!%%ZlYvDY6qv7sgX&rpk47ExbUTg1;rVj zP%#@}W=b_}w_c%eW=A!FVEB!7GDx5zj5yU-S=sWqp}9HB+g)lz`6>yh(KJjs z98_Ta*S{y-goMM#;!xx{MAW8zNaV2)P!dJpMQEyp8)s){fq?hj-U^l5asy>TSj|{3 zUsEQF;X%h3XMCfD5a=8wGk^Lpyp;?&m*k#wcQj=NYo1IaqS%pKeVH+63|&!Bze~0@OoI5x-Dk>^gYp_!!goHS&-U;Wu zhkQbp-e$SD@^Nd+$I?FE&ilRei<$D}-pkRr1bp>jn&cC^h)v_2)YYrWpN*>p_h-fo z&VD?YQDPfVJzyqu>9TfKhiQIHqlJ#P_Rvq|*UZa7mT@g`27}SLm+uuD+I3L(q=TXu zsVuUb^FZ+kb`p{z8&-P_%KStl1e^Z6JM6E6X9dehR<-b%jb&R6&F!twdNio-IR zQgL*npQY}r*3}V>=VJ^4`q?U#h49M@;BNxbGk-LI>hZe{i`*1ra!WhJc_eS zmu4*}VUZ^=>guJ?Ywf~0uPRuboSer0Qp|DQiJikMD=Se&#NFLYwN$_{Nhn2@)_zE~ zA+WQuva+x^AzVvq3l6o8IRh}J(rI-<&gPX;7v;$zlkNg4)oA0Z!7)4sIgg(^>b)!R z?4jlQuzjU(I_4aF;Y5LqYW1|@%8KJ7iHpcDSS(grM1&MSy?)QbK{53B;@>xvdON~W z4iqoXQ{L7p^#-onL$yr3lrG$DtyvjHPZaY^-xm1{O-jb7N+{Z_B>`U zOHd&={{iF9fzN-v;`@0{i{1C2x)%L^`HRaAQR;!-se5|^{$#YAeXC*28GZNS3insj zE427W2YK&ib*LvulHzqQo^(dg>ssUQ@b12W z-}I!#7uKK}(4QrRh1)@L5{m0#*ewiVRV{>KgO~)kUn!A$G%|od!`^4D&FHX-OM^34 zEr=#q@-ni(!^#SU76Y~Mj#0zpDz%Wb^qWQt5V{A&0r@!~#N6B^en)AaS1q;002$?2 z_E>n_prZOI?MIEB2sAua;WXW5h@#saQ@>??{PFq!;0)*)E*<9k5V?OSFfb70d0YWE zH@C1_d|X_CE#~gUA{FVYu`kW_{7n?kSyT(M)?V82ov<(~@iNB0eG3Y5q_Q~*CBjN~ zfguo3x0*r&$Zc_HmgI`{Y3|Zw%We=pL44UUqG)H;S?`VlBy|AzNFqA2c?5xPBss?S z#Vuf9J{bZPpYw*#0*0^(Icts$8C>CUIsX=DoQg4j6EjMds3$pMe3%=X-bkD{`V8C1 z0iiYT`fa9N+1;xm+cJ(hX2&eR()eA>inzqQ_l|EhpwcCXaKrD~0jpJAq~ZH`3lJ%c zQrawyD|idKY$Ox3FBPUFww|dj;KdcRNAwys1j>KLyS_`%<%Pt7BNddEeQ>4Ok+3!J ziwep4AZ^IVOrdk%to~OqTgr1O+m)!0JV4ahsU|CUJt6NoygA0iZ?iFk;$jXKb>d)uH*-;WfR$ zKrQaebq^&IqI??p#Nu%zNr6RgkSYOd&L?j7I8Kj_jt&i_OrW9u+_9b*qMem$ehk>V zxwyDEItsCe_LVu+7Gwjg%(7KBcqE|!rBq)f6nD236#V`D+Xq->JT%*i?#OKx4LX&W zAQnt}Z`@hu+dDqe4*@fS{^nQzbJ}8xt6Gp<#)GRPW6rFy31grrNVJ<)z?=dK>jTL- z(62dBPT-L$JBBH!rrijv7yk%xuQgR_t%?t!v1ntGU<{08+4VDCjOTO+)c}@^x5}UKeA0p2b42t(QF}#>S@6&2v zVN;T37l>4DY)fu=oTGi;VPtO3QJ6WBljM??mS#32L}UD$=Z?Om{#N=@!j+%1Ze@nO zqmN5NnX%DBO~M(!cFsObSCG54xlk~+~m>1nXgnmp!l!=FFj0CQ4}DP+Nl)B0VR3TMDgp`BGTIO{A)d=vY_ zN@VQi*=G%#o12c^Pmjeur7%kc7!X6C##>!=FU|w?t5{c>9WOiu4DXo7ZL30-sT$rp z+OI!$Ik1))G{N#*Fl4WLkA8NL@buS4obfIJ1kpw*uHw>^7~<;8gw-&piKuSWzZbMpFe-@DtuJ?^($xib5_kgjD&l@ivxXyQ(YcxCKZMnCEhzzAIb`tQ(E8pc z`WKZ%Lb+~!teUNEQfY`e;Gg}ijl<+bz4u0I3t?&k)Bnlcalut zKY6qwFkiR9;f*SH;r#;yHOOqv&I?@x{Bo=?q1ZYz zu*Srwa+f<%xM0^8gW_PBY%6*!Y;{^;=Bt7Kx6dV0_ToL#L@}yFHO43ib?qo(?g=ZC zI16cZWXRytkok7zDNR$J_~m zBH-32VfG!X)^r}c}}Rwq+aQ#ZHH9SW{)%!U9!!X8I^YUmvtIi$NznQKm((W^uAm;?y?F9&Og0q! z)K{-w9j^t-k(Ut){hp#Jp1wSza!Fa)3cHMoyp26%x$<^J{R{6I*dvgFZ^etv$Qp+3tYGimLH zYF~wEzOFDcUo@`whCbO6DM5272mbQ(>C?D0;zx&vW@hqjMZjBn;316lBGTI^!XvKW zk%a|oZJGVR4cBzL(r@liD6{C}mQOv)ofxNE=uNb`BB7IJ$?ShULuhxe^piq??bl2q z03`rQGXI&V)9Qy_GoVx3EXVLYj$&noxd@^)Q+Z5j9c)(-wfQK)(0|D+!Zq6Gq5j zdp}ByPTl``!UCNOwxaij{GJoO=c}ZF8B=|o(n_fOIo^@QAg*jV1Dr~pVVOpbHWc=0 zmf)YXIdi+DCz`j<(Pqm3?0+>Ey-9>T=y~Tg`uRVghRzJEx-E}wl&%J|xvb0#=;xH! zNgXev#ge8pZshtbXkRHMC>HA{#K*I6a9sFRhrQ-l^8uHcFG!FnvvyFskQ`%G6-?FK z&$=5*CfM~xEfm>a`lE~x29Dz4V3ov!mItOf+$(s^Yk)sluG}tnH5F!F(aMVcBoA8;E>o>?`5!wj@|nk6s~ z=-j??&(fga*En;Dvm{5oa--4#1=&PjaBi#x>~1Tneklr#XW`(`B1HmgnFdW31ytiv z<$O=YER)M)QXM{EwY}+qH~^u~{GClB!TRF~4SI}LB$i?m_FpP4D0pY7k3^EACcO~= zZZtAjC7l(~_K)M1YUQ>Z9=VjegUVJcTteagnS;M_Y|RAli?-f6Rrt|;9_oKLCQpj_ z7@oIE0H3P|K1kQ!QL7u7&(N$FZUpI8lLsO+pjxjhMXiYBm;4@AvTl#mP-?=Im4%Jf z`2tsW*`)DvErHIGITIf9PW!Ek<4Ujk3y(*N>%MQoGPLuw&b>1?>v1&xkI?I7DT{*r zS*H&mvfXegg_2((8Kkqkr4F!EFuwXcP9eyu8|moj0SJFz$9_?3vf{o~n`TKzN5{{{ zhx({Jukd54hEo4&q=LRF2PAUPuNH&mmt^?{J_5hWf*wz#AzsF3!%djkHu^VAF3Zfv zN8nAsvZ@QOFo7mnDkvzZ;2e_v=YLO(u>~uTip5O9NC82a?|%2RMR8$K z(Q8F6L;Tc6ooAY5rWaN(>26qAg$ii0&IsUcD_u=T=s*41s_t@~rN~62hGaqs@8wuk z|Pyoe-JV|I~Fw7_-n?CY-&GtuC}B#Eb5Nzr0<&_+@ag?R(OV9d)=j z26KWqWxd{6A|o#T(e-Pg+K^8er)wYE>1%d^gp$-%#}Q-wy?O29xUSUz%_F_c9WJ7J z?PWBt{{eUoQ96t$kLXjLe;KFuzhWWP|D&AL|G=Xee6S^yOcB}lusYQw zs#*Wb8})Pmxkyu9MkgTj>n2WUBpQ^?N`d+%ct4U7#qZ9SJJcf@F@ zjh3g0>qN582zvU*^!ZnH3kwTeuj*8}oo0XDGS-El!iCGE=@Sz;}@_=!?v-%?E%6ThJ#4OHzL(C#sAMg@Sf_o-D` zjH*sP@;|80Cp!3_=$QRUQLdx(RcI^jUIfo=v3d67c}x?@(UsgAiSn-A8~z9CDg7_m z6Kk~`zN|-|)syDByY&G(43)uKjoLl!)z?>2zrf86c%2Uy7ZdYc*w)IbzGR9bOc#TX zDa!ne|JkWOXsYd5({*{ln`!%)D__^f!$b1qQTQ<6v#=L`qsRr#0uV}`=AnYcO9afHIFYC6NeRU}dH8v+ftH4{jE;oU zuxPf?45XAM*SZI$=r(Hhfx;}rjG+P-rz;w+xZ+`0bRwt*?2~1NOYDdXs|C%s zIlP6hUVV7lKcx;l{sJOu81MBZ0iW5R;KQ?g0mSJlZ)g+3qbv(r>Shmz-ESE@8#H3k?pgLxV?+Ir1QlP=8qvTUt5Bb9s;E>bnD2Cac5hntc~B zn@(wVlG~Ha>_0o&a_-1^3Y>M-344Gh_K-*<+Tfvq>Hrq~id2|P+%W_mX8+Bb9o&Ng z$6Zsi`!Au@ioG@0dw$oxKz8s=vs5M@#}%Y#eALLuCiEq*uEM(7l@G3OPyHkw+npmX zBnX5SdB9JFhlhKVPg^JC--AvzU0#rKykrHYyi?aY4g4p?LrPT&exmKJotjs;%@A5E z*3Ms+diP@cV`1o|a2$G`W(l+wXFotB=rhFT=6PWd9{g=u>4Uq@8cSbZud004TZEDW zAr4+%SVMjto>RC2s7QpfZ!I;3Axk=vMtn{6a@3XO= z=?kwjV`O3~zYn&M%e1WRLC%s>=xOe!lMg_ric4EuTC#JLLgxaLuY~b8-uTJXO0VA- z`QyaC_EUj1rVwc=tOvX=zS9wkeQj|rK4m~m;6LCp$m#%B8XF!JAAN?M-DhRS1g9tapP9Tg;b=HvJ2YOmR1BZx>w7uc z*2VhL?03@J8ueUqv?rjIMNU~`16nJDkt5LQIL-=KQF{kH;j*EygeE%pb9HsKzv|>s zFm-8llqmZE#lZb)Y-XQ7%ey8MCta`c_Di)6*mQ`=qv$QLi2y{*|7wx>k4{Q8i3R?2 z1I+bb24{iA#$vPInILO>ce>@UV^)4q#qT4QqLk0$QK1}i?7<3z^O**n7azK~EP)d? zLv#FF_&Ho*W>!AnM~WcgukCDY7*{UlD%Q+c;sDa`V`+W8k!AV_^xB=X89$=z&1< z7?(Mco-rATyUjcR*u6&t>gT+lKxuhd@lk%fg%@!;9+EcZquXr z`L*uUaf)0)u??w*=!j;0{^>$kNEnGSKBCww1M1-vK51gjVtOwsQV~Wd9znv?6`S*m zZfJ4?6EvrjT=f6AN!-b$Dm;hNuXbS6`}OmAjz>#v2|c6Mz5GbnCw`j_Yj3cp42%c;=gz9msx*4-CVePAkj4qUJ^_#)JRMF|;%PnW=a`Ym^fZG2i;OK}|X zYF^ax+1*$B$)vW`ZYD@LeMKQ~1$IQVR*rUgp(@22$A@=htrateg`{S$eH1r*IS&iM ze5A`U5O;6|Ud`DCt~m+$xBc_a!WwtklxXr4V@H)C-1qW;lN!VyXm0M#Fxd-`ou+KJ zDE<*}+Wi+njjQY3PjU4e?KWXP=HNBco`l&Y0uq`OfnkRp1~zNkG8rKnSOmZW*rKBL zX@i4TL_|9J`j8Z8WLxnQk~_#XC`6wE=t4<%L74``Ot|W`Hys4%yaPlYD1XC9g>M`j z7Be#+%=JLakKpPq0lnMnQsKMIr>VyaO-_dlo(!sCYx-Sob?DWffBw0?OeTNQH?Rw( zxydT!0?G2wN$$%OpA2}Q)+i)ePz}V?QhChyA{+`Z+2tAhM!xL3=ac+!d*cDLI#ekA zO70wQVq#`QYs0v@b+UO*XvOg!FZ}YPAY3Mrp~U9(pBB(7eza4p2u)au&0k&s{%;Yzmnuwkkxu}60mq)IKyY{iZ87il z_E{?hP^+~;DG$*ffMG!6Wgs}9W3d~LzaXdFz$3-;-_T#cRrr}qM(wC^K{Y@9f6V>( zjEmJN{d0Ldt0v`B7p3M{YKs1SZA~YWsiKi?asG4=Li+V*5NM_;3Z_aX-ciY!y33~umzS5bip@-+isS%IaEIaYOgbR4w{~=^ z6jhd@ytQOXcje80)-rba327-eMQG|9dAgD@I&C0ZbP1 zL4-gSgMOsV;p|jPeJ~=N>VcNuqtBq^1IW5a7bSZZdIRIqyjKPSgffTc1;G+5AyI}# zgT$rT;`&L@1qYY|c#=H-^4K?8ac>FUp7tnH}RjJv}Qc;>Y*0 z1`rvw7V}GKx*Xm_-9a83MT2~aKKqoy*KZ(u-!eVYjZo4dQ4!U&YmF)~lLP6?*;ez-D<0h9c8%XOy1p#(moq2;A3{Q6YD;I(^;dYhc~eq#3CqU*?h#g_U1L$`+{kcnGlr!y_YC; zgpk1^XM#EyMBWIHPvcS0L0EJ(ivJ9BTy%*}O>Dyb5VN7aUgTbxF(U8OA6^}ejUaOV zH$6$^vtL;V!ryXIKQH5rJaeGHfi~n(({l*TD?wo1htuwwe|vB9Vtzt%FZAQyUd_0) z(`^=;R`%gTm~tw(p8<{t_-mJ7?&{)RS zCJbDy?8eN^jO#y8#C5Lf2fZh^K0iC=Z$d*)@A}cs4~{MbMGq+{q@#ABV;QJwmT^#( zgB6M`w*wo_pBa%yS0!k39k}IG8J~m+ANtj7tL-tLTm6h@R%4dFjBjlPM)jciHv8>1O z$`}zltx!_m+N!}B4mv|`LIs%LGozm=Hw4v~7VCSDBv85zz`@BLTFX|eXJn*(zHaIV z^nF4TMIrCy_{JTFsQDs*_(N?6~-Xw9IrETv3hXL`X78?3HV^oIP8boLd&He@F$o|5aOP3wYO1Qx zCLkhWPH+KRH`7;h3cR7I4pV5@@yGEp8Vq}MQm$X9+r44L)$l)V)rL0a zr*QYf;=>((+Nzh4U8PIp9CSp21KhZDv{z?q*YHU7$2B0_2qn-r^w+nDE_hS7_=k!N zQKN&^GG$|D*805}a5kINb-0{;^JKAOT|#~%%sKLAa`e&)=PXE%!VZNW}r zVnR9MV2gBO9f8uTzua_36d zX^Q+$S2;ivRandxbSp;|WA!rgxbe~J5Zk~cg}?)PZ*6T|SSSK>N4hJnSz%;XGTYI- z3|s|rMBDjB%G=saHTrGh(o9Z!4eTwD&09HBuw~yu!P=~P^+x~9m{DKk413R?picez z?_tL>O8tBb4dgKtW^k(o+&mB{Z|dmi2%ie>#(~ararIG&5&Kz#?pC^P!H_1 zUJSuVi+OP8yWDJE^(QPW0pL3t9=dN+->-)Q))62s#wOCq{NU zr-j1i*;fFIlyjaUk#Bq~D2Pzxg6I7TlM+~3_z@-w z(4}{@pVBg)F|+u!2NE6InKSoR`+-0L%eV$)llNehTP2+q~kCS7ha@Ua`>#6I2{E;#N@3XixJ4(dr^@MgiZN^4?SFy}AC$J9OE3fiE>`4V=U)xPuetdQYTB?^c~85|N8Jb64mwBFT48n z=imIne~s?>{%V(pT%A9m1t+M6SSZszB0@?~THH_am>*yK2s3q6`V zS~nfk`^6z#*hmAV#>H??OC%Zx?Q42bV6dp+uk1s{S-8_pm_6sm3_ESEElRA5p7tLo zz?I)PekS@t$~^7QFBuVBa8Xnjc^PtIktPqcpH4AVuG9c}CI&H$@X*`B?mBhL^6_K) zk_L(L%aEsc-IzP*2C8(ZXsh?CjIy<3|tf&&kO-b*1QG7mImA zt>DWCf}K!b^z;BId9?)Si27+2KmbhAU$|UCRqBn(KHvG_#+s;m>=PVt50+NPp**;{ zVy@}5sTO&00-q)QP@EOWPy0Ao0dKs`vm4j7wA9-4_4UE2ktuDpv@<$fXF}v;0WSze zczd|Hm}Zi_3^zFqj+!7=ys8pmUN0#(L1`;4Z9F z-dB6T%$J+X56TLtH0E6*>A=B)>@ zirJ;juY05JIbZR?q}u<58bl5JB0#dx+Jqjb5*yLWc9Gf@C!MdW8yxuia9kRY(!fS2 za%FDw2HtTLiapsFJz`+JXODT1-@`eq#d9PEC@4v|?@4zK+mB>PvwT6ChyGGai>a;Z zBb86~-Z4n%_LsfPN_9t-a~^q`zFtcm?iqQsus%f93bzz>f&qR{0jO3%rt#9*tP(av-~7RYKN8gYnv_RC13r1{o)(I9huGDX zF|h_1s6Nrdoe#&l)za{b>M+#4Y8qv}`svRDYHDi0LqwRJ{t7pD@#6G*3xT&pqtQEC z0xmc>3EtdgNaR2nSDa65j!(O!q|q3dqIfkS-QNT%0}nShx2gjoYR3*gEp(dEYX9-W zLhr|uDi7Ld*3eoMBC(t(+$iI@#G5okcwgW3`>_$qwM-BZLu>ELp8eTIGW>hx**Pde z9Lwesg+aK0)@L4dXK1(6(t=3WNHat=#G12X7Vs!$;ymt9sy<- zOcAC*`MlO3ut#v^;RyhO+S;7@KmB>=>EHuF;3G{=TXUI$>+s%dXuJJi)V+B)m23My z+}_QlK^aO?i4rn}GQ>`)BuZI^OeI6+naI>YEXq!XGGs@QMP#0-SczpwGG&ZRnL^0? zer~ac@9+J+(|>Qrb3A|S18d#)ecjh}o}cM7*3PY$7o{t7jPJ`f3PHM!ZkRr|+hdaS zj+=k{m6%xBF}%$aNLS~W6Jk@!%F1p@AMz5@EO2!J`KPK{2k$X0xE?!uXml(WWUY(^ zK8tH1P9GPBrggwXXFB9zP99QO-dujwRdr%p@Y#Kki=Xh~W$yq{C4MYMO%UIlCuqOV zb@9-06;oA`2%8_yZJDP6I@0&V6waNKc$2CYn+?4$u%B9IyEvKn$47Boituaqa|S2w zsGf9WI8Y z_wY5#F!t{JcSQ}RwF15@_E~p5JD-N~(!h(tx$P5QaN**`hu1gzP`O9+_dGa_9HRaD zOka|Fe4q9?Ire#uyj%J7{EJBHu`#SB_6OGieOyga19mJsave>Evy@w3?ZNI(P=!CP z9C?GHYbpv7@iAZ|nM-7h?m8JD|{d8+Pg-*XA`| zaS2z{twe%zFSkjx+Ide>M1Xou!7=G$EYNPVi~vE{bd$+4RNPCet^Ce$5I7 z*#ivgI?ecu)q>{G6Nii2ogtAP?6YW0SMYyE=*gS2)3UN0-xR9;%=xu@x#!g4ya$eg zp0I&mh%PE!t44YAniX%qe21|Na49eWri;#;3e_hrg;#b1AqrKDq2(B^Vc%!pE=~Ue z!kDT=$BHW#V?QOwCjngtbd#1=BX&bWBa}l9&`JvucWxjUh_t~&24Ddy>y%9vW@beA zL{IjI=H`R#Rj~LE4w}=FfuEwZ=3;;w%j@CoY3F<~Kgv6ZggE6W)@yAx1oylCMYH34 zC?}|dJd&^I3Ty{Hi;zgv=iZt%>1Gc;TQnrg){Tt}mhcGdfFsGD1A4fq(g)p$w>(H2 zams7&z3O+=AS7B}oge_Qs&COERXhK_5g%|P;M()os7a@Vt5tI|g}Fkan6{z)JZTJ# zxo*|-%oLrm=7T2$j<#x7?aLGm4-fa}nC&`T@PMNi0x$|ieDbeWXfZWbfH+l(&kKL_ z=uygsx3Ex9l@P>YDNgn(8b=?%m{VjnQ9636`$dCM&U*DAXd+P-7~e3A%hhA%s|%!c z7IjvZm3cL_W;Oh!wwBBxpAn)_x2jaER$6_@l!%lvI(4WZEcr! zS*hEiBG=O45;zU^$_pe?P$x<-82{?))sF99cM8xnKx<=TAOz3{sJm$9(}_h?22Yq- zss(i>lO2-+Kh@Nr8M7LKrQ_?5?|9jKDHO$r?Ux1ATr4*4pT_%Z-L537gxFGh1w}<} z^2ZM!+Dxt3ut6y6%;RAlWvi5)t(GRay&usYxm8EXPpzFS`#I}cEleBjBfoO35Ys%r zA%&i9Rd5SmL&tD^`a!vmSZPH?x}7F9i$)#DBL4enmke}#Cmk=e<5W#qi# zK8hF?M)iSP#yMXl-bNa9OpW#VbJWz;@ee;s=EX}z9|e~QNqB|BINu|`YM(_p2G7;8 z8-fyH=_#FfBLEJIIE0O2C8@Yp1VK?>Q}f&?q~{>smrEKNJi6D4M?_04vjp2ZX~DPO zT;^qJ%yk6z55maK-g|JJ&zb!S)x1N#RrU2f&%#8|BPH`fSS-7f)X16Rt5RrpZ?SI8 zePP+utZNvh#v2lSAi-hWZ+o;+ZB32XIoS)&C}SHsSP@+`xg{+%b(`lfP7AVDq>`PX zVGQl;$A7-J$PGbwJ!5Vb1|8JE#^-3U;=v%2Km+fZ@O5dr9C(}mPq{iu{fpMfRY-IW z0G&XmXlXTL!AvHglqVpA_n@(Gb2#M?{u10&{Sg!!581ls!&3lQsM^SLThbcROoH{* zYgW7=S!aEnEOXGpA@cO;u^E;mqw0MM)hAD#3fI{UGt|JuG}sxyBSqb3X1>1)Xg7Iu z58M|phlB(y1AFg{9jIR+U0967V)H(6qMNBo>6tROm_<^xsU85XWZoT~FjYXhhwXlo zW95^hjm^z@2$Bh=^ep*11Cv7X9!XF4r(h`nhkNiHaVKO_1lE7L89&9_a^?Q>s60#b ztn>L^M>>q&y3HF5=)3A-q%QS^zB-`esY8{LQ4~tOb?-;ciKi#tZ@YKWP7BVd1#!c{ z=c4eXOSPgJxv=W7S-$*}O6R(os;WKj9&jAk;_bDIJ1n6X=nmjgS1do2?O~NQ7fKV% zL;+K8VmB<&oviqO0ReqO5U1;D`MD#2^#;JB%4F>`-ZTVDi2^S0Xn`_{>{P7Y}VWRuvn@QL~!HMvd|fr9nJG+5zBB z)_Ej1^s~_M0m$Oh$?-QR4?_0tdNbN+!Q5jKqEdcj@z-97 zHfwbDL0ZO1OSaY8#lnK5*3KMZ1$mAwHf%7I@ub5+gq+<=aWB!mUSN zw|{aeh?9Hmir?cdRI(&xTP#|c+@HsB>%u3F_XrMKHb01gxmfN64Z)WNLA0~HRK#J0 zi~i3-mY<-P5=x?}Ko?uKivanz-)&}jJk>Rjbb+ML= zk4B@6vXEh&cQJcIQ;vhh5!PBem!XzCe-7vvAPqxZ{y<0quI+?A3WdCJ69qKQq^YRJ zaW53OAmlmZv=cKBL4+Vjl+o)A0^VFkT6Cd6Ei^-bzf_;SQ|y6ngJ;VO$+kQH0FvYo z{o#295kGJ%qS;nOU=f1LY^5ntQOA|@!Q_5($Xb85kO;8kr3LBVyLa#4Hk-wDW75#g zZcsJE{`f3#Pw&m@C*GmLvwQmnF&t<2;qOvM^ytr_AR!M>D2NbVDBHUFVgzGw?CpQV zly}5_sD<#@b87a7KLa&zp6hyEOUx4|EOycntZ{hIUwA) zl9Zm2d-25X%}4CMDN98lPcz8o8{%w>8af|1AmQQ!I~V}rayY{GTY}JoS2~%uG5x5h zC{jiD*9IYX!>`x|Fo~F-^&UPI4r=6~<3t6?12DBqgYF4@G7a%{ec_KE)9WXmF{E?A zQn@gFkOn09$MB4bR=W zy8F*DWL@E9+BzH3EvdjA7=joFr^*If@txi$aD0WQWTd6Z`TsyZ;q2T*0U{AdHRrjI z$9P0gP;mM?1Zyy%f^LCM2UVMO$^S*wX04i}CxHerrC}r&>0nsG6^^F(;JEj)DG%_F zE4%A17xiaeY+-od0_!`reU$pp*&OT>R(_t8RFxc$Fg~58-!5pjU2?Tq1ZN!r=~E~a zB6W@9KxjExVw%+2EVH6|bRaw|EIzBWqC!#5-xbQ9)Bd(&-$*3V@|*7Ojb~j8%o^Eo z(LRyWZ$Q3>#hrjoh3`IM)9zI7Klb%0k?32`X>Q!@tK<5qKQ+&Z@NLw5_^{jabFSlP z*jDrsXdh2>n-sr(4SgQv%GiXNU2)z4U9+_7`~>)}AMR^>fP4WwXk#PFliEa`0@Ud^ z%m9)|#Mv!wMQxce?T!~ORwLF|K1mo+<nk=P_8HT*|v0fas&#b{f@?_P^a;=;~= z5KA^c=sHmqH>MNbcRBx`L#VB&v|Df5a4-j66+hO3P?;1ZC5CF@a4q&pvuoELxddF( zP})$%6{Q=Ax;=c22*Wy5!6a5rp$||KkY5XiD-u7NG`N85t80<3NJeUU4(-!Xh&G$~M9WfdxO`zdt=01f8>KYkuC$F(UrQ zWaV6{PLO_8L)P=>Q~_Tcdp^o&=~+CH+qThg&p@T?_@V9>u!sJzXI9x@)p)#0qFzbr zZs%ld2MAUy zWQ0k;moX>m%bBo)Sm<$a^3|!h^SJ+i?EU}^5B+h8AS5Hu?)}EElg~=G3Q(hZCV4?X(u|2zoS;XyJfKHn!1XXR(Q`_Ubzc5ZcJbD zY5TQ=-DM{=izE&6jY13rw!xwSZH28Z7g{WbL<+Q3{;>}5IsXYlSIg$J)2)*acC zun-dpjt7u!wq)DM`#+Np=F4hbKM0td90}{gH9fs&5Kc$R9^dfo+qVSGtaeF8hw}_( zUH}BJmxzYG>^U=o!~b#gfst9ocLuI~vRZF!_ZVZ+5@+c1xfPbz_)7P~A)I7v8b> zk`A5-%$N=>UmJjOMCdW_LYsVE(BZa~YU3I;-Y*pIq<1zRq&Xo^E5fmBJ9@Vu;&L`| z);6LYhD(-kqM-*AVP;yhLQkEq@*GV=2>|sOf4GycZ0kIbvUPj#xv0~!JRkMCvrDl` z8q$v%sh1r6Bg$?TjRB50k__3=IuD9u#0`EgS-E`=fqX(V))aE4 zr+xS*Bw1AB!L$4JUZ~R(a>OD+dXu-@);^8!wPBTE^rI{pqOA;zMM;LYMp5n=PSW$z z0Q*jF#adktNb(4G;p4}XNb_u{sYwIBGEzYY2I_g*aQHP`*y696KNMr{N;_LEOd=Hw z-?RAXoR4f}VCo6>vTX`WPXJK{_P_aTrCYTC79-Yzqf~S6^^3p$1ls+b>HmZ}*f(8? z``fx{Qao}3MZ|^bR4Q9wiJs;-f)FMakaW6ookL!r~FX?6Swf4?c){M&Qd0Q`2}!mM0gv1GgL-?MG+OhPOUQAKA@h zEr_wOfKkhgD=lER4NFF$Wwl-_VRp*MxFN|F>``(bl7a|vyHZD(ix>R&sKT-nkcEfx zt>M&c&naoAg}C`p{41@2l^M*%u(eaeM9Z*M`5!P)fJ1M zthUEI?h$xot7>70m8UoBUa{Wy&?+7AuOs8-opF!4cR)M4k&ceYT7d{jaBS)Bswi}F zcb(n$@XT`#xpj9DLI4rsbI)UO>QqS$@o+3A+#Zpz#n`ZAuSU341>Jy9Q7C8pe|&v- z?sNJq;W+m^W}-&r4a4*c=oepn@m>5@?t!XV| zVOdZeYsNHUE5H#4>66^Lk1AB_sXwu>*!PhB1`m4&PDk1Z0Wu!mx5b;{^DD=2*|PX( ze$)C_SGz4|jR(l1FQml@mUu>U`7 zQ0RE}V4BG2WP`A5;OrfOhOfdQkeh66vSxt7$e8iR84I_#TNYAR@Z`SY` zZ}*x=DrJV+(y)@PySIPSw_A71f=cuNGCSS45f}f(uVhQX37+2j({F#V7V%aj*)k*z zf-i#1u4DN4-HmuTNAduZ2h##AV2*?M+ds9aM|2xqg<@)52q8R?e1aShvYeWrPxuRH zi0E&N^H@@ELYETMNoH1^A7AAL3PWzcI(dEot}d6XKY=!?=|EuOlACR*Qc=44ofXxrS2* z$awk?`0w8Qr@rIMPMSk$@HNhtgUl*Hoybx3O7u2sMB(7laqloM?LW;_J~={M(>|-O zzaNPC#H4eiFTiEKfl}iG+GRu&@G}^E;@(sDkEA5&GA`U8cg`uzC|~rXmEGVV_0%hf zH(d%CZRP+0=k&uNx1=D2Z3$Q?cV#DBtH=OrlBa7Uux7L zuiWZmR~Mpv0I*%^lh`x$?s^_ZvmkUBZdr*n1km!_8^;a2Q z&qEu5hi>OO58O0tobV5l#w_N#ESMx;MMdr1;tfi;a$}U1ebxuzmpM5%&{!yLPg$<1 zP#x4cv_q3yazSZ=&J?qIJg=aEN2B+AYTd$NLm=p+vdC6hp~t4i##`i%$X@gq@rck} zOL_l*=7-2jXi|Q``lPQFsPgh%SsYR&2KfhRJI-*C*+UG_ee>#<5sSZLIKbf;+U=V7 zFzjCTDsxYeL(H(wC}dwyuqQ!^gZ-=Q#=RjWh=n(gyiJZL+fB&tmuZCdC9!TAid_d= z+n(&f_}h3kohFe<(edrfwaM||IdqebNJ{dibSHj5BU~1pn*Q&+s3=3)gcv_-Z$}kl0xcF~8zjkhuBG!9CxG6=; zlUyC`uiiYtPVYkv3sAp9i#+6+(5D#DO3sA^i}d5{qjQcaZRiMBR4ZNwg9S6azIwVD zaUv!rp8LA7-4^32B<$mJavHlw(YwF>AgoYlM}I{vh*Twd_&=njvA2?LYF#m`o2UVJ?Ad47vW;TI$(bd5S1+8I-sV$R*V_Vhc*2k%XRH#~-~ zJJW&=w!awJwXJLVZFc2JDzp8#ol!_SsOWEvN0d`}%K=7h3#U0IIfH8N9SC^1qs5j*V9Q*0#3FwsxBh- z$tgQA(c-}3MoCiI4m#2ayo{WGazp%kTgs66o?E?><3Xpa2XV9|sWGhYG-wTsgL-16IGj^Z*zT#6^yfGs7d;}nfT#g2gLj)Hf#wp~WY(Imb>cYyUUim7yxeV1Dxn9v zzMGaD$;Hma%Eo4IVALC<#>DPs8{*4HSV zw_8g^@DFA8SsFRzypVc22x4!3`8PakStS-07H~&}0!7OW4@CY<=^JT_W#4YKF(M>{ zvTvuxy6#U4ZEzn_wc;kTjrW@WVHgs2|?SvcjgU1zhmI`(Co zheZE0I-hIsX44-VfI(bKZfa=($j`E4N4SGc#nQp@Bg;z+Vr5_701LQl$ZA<#l4wKa z=V?90&IF$`&EUpr{D@1d4qYy)aM946EG*)7-vZWzn?NjOS0(sY7ySzLAQ!0!uZQX8 z&D>KC5;rV#26wGl!PMxJb<3-ybd%=ZjA@My9d<%&xmk-Q8|({O!v~sJOtvDY#i8#W zTn-V_II5F@fdOc);Y3j(rRC+#HW)_ag)=MpAm;_zQK7~OiiuLFK&%$C%A| zT#=RxaUV<~yfjcKSkdgB_FgBq+fcfKR2Yj|pHyz-qkh()Ur$!qq*&Uk>+Gzl6kvHI zw_eD6b=CJvGm`}=N$Gvok6%op8X@qKQ@_*u@pT@)t($a>fE~gP#fU1TBqUTga{IUA zqAFZFfjoze`JDrn+P-buE8aL~TC&5T%|78zsNE`p zl??}vJ-f@^+S}7}oH z?KKBP%|1Uf`rOm=;$a&kAD3oUx;#C<*==BO%qjTePIlIf(%)Y%SL9{C(7}B**6@kr z$@t3Vq^ox`4~41~s2AF0o&Dr&Xkls!d%*Q_W~rF}uveax|AoDZVzeq0j%iKEY<_&r zBgtjjUOi|-A;joVo1^NPx68d|3ht`bc#4hJeq|Dc!sAR6sk+@LK$j$A)0@+k@~+@S z`>A+PxG1u#0)Ik91-Bgj!62=8gN*+;u@0ad*i335(Afokg?iU4pWie|EzClc66=;^ zQ3_Sb7P?htjZebDY+d~Y>7r&-9;U2j&p_<5*AkGWkLx^hwRbYZ~n^s`tIFH zS*4LlXW5p6=IQGB)XwDs$Smb5g|i=f72Z|qCV8+`5{@I!xI$PpVARhSj0&9Nociv{N{GE`=eh@6p{>Q!Sef0pM7<}r>uZ(uhpF-WON-GI3u z2zyHA)d+$mi=RF4a{^62va4f6+ZG|XDg6%VSP5tcBqy3|fEGo5z7WeXcVQ018ZyCK zacnZm9w^{D7Np-j25|y7#{iCAVkAL7Q%1BA$cck$-trw+lP+bki_@+69r|pfvv|fO zG+?hbYqSv^e`!|dT>CTl^tOdQ7JJA1a-nI>_Rvo4r$09wmqewvBz$w$sYfN+YN~t{ z&m-Heujp1QS;JjCSfJY-OTUxqbCnut0VU;fXorA)7v$w>Y2pxoZSt~gY|8vo%gJSM zReS$v8kzt(*>~>fSO72W!RfEK6h21RU$B>@C#v)c!@ok7w$Wja4Ld}YO>yvMCqU45 zT~hnO?EvWFBjZj2of~@GmvEkocecXXA%W;EOIfn!H6{m;;@s9{?eyF7ZvPp=yjvqe`@4LvEx4Gj(tte^`83pG?X~fb0$*Fbp z`~RN`$1KahZ;X%IM^qX%j@QJg65~@t`4>fgudPF_GTI1i`(&5*^yw9mZ#P37T3zY{ zeBrkxiQRy#n_~+B=!Ngxwcy*s!qZPtFBAZHj~6ky%{?R zps~h1N-_wSbhKuy#A}Iy;2;gYX2u-IsnQ5i3#DCqFGgJf-(zM4Lnr62?J`D6(#DLb zSPD1IT7(v{2n5EjT!8B{PtS75!CMXkqNECmB-!&nX{e8XRMjB~>|f#{z55~2z1e(1 zr)bH)AcOFSNY28JjU;OC{O;_N#4s3kS-XfAc#irsCaZw!7)Qfc*O$xO zX>oTt)c?$L6rPaIb%ko<5f8QMxZGG5{O&+!j-I-9hPf8z;aL7b2&AKJ`U81X8DtyK zD^OB@TfFe|xA_SNnEey9wr)`Hz-~BnxL~pzy&!UEh(da#I5qZWz=x!A(wvu#^blf^rFUAvqFonPO2C2A$5MB!Y$mS_ypo zU{?1NV)!Y_15|gKP~H<}GUu7$;?}9!jG{e*j5(XQR`4d1LioGY-+r6CZ>PO-gnZREn#MYQCJTD41Pf!q}pRmcG zo`pIaDsdt>ikxvW;9zF%0TeqRYx%0Di93K>LTGJGpJ@nI-Up*nRW*#+JM$O>I|)D9 zwZ`=6BW|;GZU^~BiNVDMQ#FZm`0w?=+lbsHq|fkEmIf!sb=t%|!u>)E5O>?K^^|4)k-L`DrEChLeXfl+Y&BW}3{) zL%!g8SA0K7@rP;&;)XkhTi)A88}(Pg_?? zXb{f2nC3f}mEkbt+MiS$mWOKb`z`%2F&iM9FDMwt@%9UN4ipW(%K!6c#rr!mU454^v(uT&4x-*!@7-iJf(oaFEw4moJcnRAd4 z7C<4F0kJqN0LL-o#J4 zLuoGgr+!2C=;P>K26b0iypHXVeMm(NAq0Uz-V?G7^Xr+riH-I$W-i#+z*DUlhB(2& ziD`?L+^l+erpfs0&I@W>=CF*D2@Z7i`76{@GdcuKs z-?vWW2v-Chh@(k82+fb9$N#Jby~)KL&~q|xMLqjpzd%?IOzujKs0)V_Vh#2!$W?={ zY}2K;5=n%3%l}z+wz$$O4!MQHQ}FRw@w_AHrVZ?GXGes(B*7$ZSamz{=VEC%lia-& zqi!C7qn(zl?KV4xYWZESiZdirRV7$j82{CmZPw@^^Aup0|Fiq|HyU2(p>l zyJ-_jJLjKRj^;*2^zy#JkM?BK)z{TcpjusV`&dEiJYuw^$39(5=Ee0s+zH{fxr5k*dM&&mA~@@f)&=Z%YrD2VZw*Uacnq@k$kdna4Qtd;f=!} z3Zr zivDj3oD=b_NWJ0NMKx)Zt&M0uI$hXE0y0#j= zD-9TXPjBesYGnzVtHw+H?pqrkcs?^E>SEB z^aMy+Ie)!I!T~HAYIi}2d2}ac4M3gptKg-sx8%>7ASbb3D}49T!*xZ zjS;lJI4Gqe&hZ|11%+H%mtwL2Y9fh2oLTKqu-`qJM%HDI#Z6A74BFzSPxt&s2ic}my#NVqq=T#3)yux#GE7YV2}O<;hSK^!12&DPgY6_ICaH61 z1YIV?%2rT*B0E0!ul)R$j$z;y-+03OXvGGLAmFlPYJw;|myY`I#&R)Ctm2S!8mm#2 zJ^7e0bO3&aXfc@P9c5r(5Vn#^j`SK|10b8o0o@>?z_V)-vx{|KZ{4rxb*$+i&QJ&t zoEy|vg<@dYKZpLwGQLxU?R$&&5t7K^!@*}bm0r@66n(xL?|VAcu5)8RWcYXbau5TV zr^;}rg7m%V>Pl>AhDR14J95M>mSfxZnNDA56ZSGL^rYkV?n@(bqTDT%ZGB31N(*SC1#&Ogat`GWR{RvTPNQ$OV zK%@~C1Wc9646vzD@oYP5!57S9Q6#wQ!S|q3-&07{WqL{mZl;>b7k|Nm%iIG6|8rK? zr{}fN?(dWs#{@(IL5@5&dMoZ4vt(&9Z=nF#fH1!8IE-{kvx1)gv^=6&?!JIy0f7v( zVBNV>OE+9zc}^vv{8wYR%sr=?l|H5C=6M|*oup=Ag_uL09CE1oU?{{Oz}Xcj-rrmn zVBN@H_fd7?x1$6eLrbpg1_XT|d4?ROT@n&K>6{Po$0#_4cCK#EyL?QNrT=l^RZ}88 zZ35#?|H&-UR((zyDsPn8nyVP9`xXx4-Vs;u2ABX=71KWcc=Tm_vdrSU!qeeHpxiv7 z%@APaw9XFVHTX6$4MR5^x09%r3l5t%LEzywZs=Bvg;ihA_4Z=5Fvg+JgOY!b3TI;6ree?;@XxjL6JjagVt3h`dH^77xLa5OO-%wUgso@+XJ==1 zralJeBkQikZGLusRC+!I&<@yAH=N=+v)@#AIrZ$Z3eFWfc>NRV@79Kf-qA_u2*0>Z z2D>?8WID4XH|s|D81$>76)Mh}e@^X{$6q7{W?Owkt1CV7es8-B>Mp{2M_iBX_VZ_l zj&C}eiYE;oEfy0UBP!<$rDty2Fs7`|1tf+GCyeSyubIKx+*+N3pF~|QaSD|LMY?1EhkEq!~Q{h78z9Wa9VEDk_#H&-6t3 zk?W^;bSBByo@rz%z%Y8LZ!mMyc4Su!InTlW9X6xfq~0))L}L}g<6Zz2jr;h0Rf)So!~^4Ec4 zbM-4eBq;cR)~S*c)cN$E+CY96EDQhD7N@X^EOrS$J8bJjN{Iob8w$5!>lly;QdojI z)KB*H^kAA5v>!qG2Wjq$uk4&xvt8UH3>nG#%o%Tl@)6#W(Vg+vBP7SCEi7PXW4Eyt-ya|yxB$XDJrBtV$}2dh3{(HuZHaU;Ie(1i*|iI9 z(Hh$qcr5s^5i5|SU9a!7WVn*y*n(RbZG>5Gs7c{3)vBZRA;iGuW~VBqlp)9s zq2%Ar`sC>MrZ3ifZG7Ole7I`U&FK5h3D=PwEgAA+8rQ<%3uiHCDiA=}C`R%cOjQ=# zc%MFT=zdsv(IEJ@e;xZcSz95Jg!MnNst25NtyqoIB{<$)Uni4PMaL`ed4RrdQ-Yg2i zmc7;`oh;KO^`p@yR2fVP)lFN$v&*vfpLqWG?7Ie3#^D}G3kDSocM15d@$+X;aK~Og zJmSNSh-;K=VYhzu+L@ba$weoVk~2%??ZtxSX9t%xJ%kq zGne=AS#p48*~`qxN%PAXX@_8@u-?VopJlvC`bGT{(+btL$yLTGtiL>Ks4ER=cXzq= z{4j>f1MV}wqvMZKCh)>)m%5W9mG4yC|3z4lNH$rTM_56ZT3UXX)f^1&w@wIIEv!(z zHel&Af3Z*3UYqEcUpSTWEIvqgedXzaIS>wJjqCFfIdN5IeyR?Sn|tbj&jtr?6X&;KVK)hZ0>8z1v>bdUIV!BNIt$BNxo6>Y6f^W#5L;la zL-SE6KvCb>Z(TCjO}X+1d{h!wg+)ch>m*u#@SPTZ!xfRR4q55Cx-vhe7QX|oYP(kFM}&7HBus~i;7nHdQ#(43nAeuj=PnOAxWM~c+ci`Jp} zQq_F+5c(aSPr1$rY@2y^7;f=K3n*;iLv&M4vO`I*)Vzd!Noc?iK#c4>}a& zK(>U6ioo4Yu{nO-FFjeZe3Rq{)EW1!518ct7QPOK&G2>5s#JpYA(WE$-@%2G;KoHB}o}8gjJE;n@w9oW(o2>~%Q# z|Dz>6s&NZ3#@AV@Ky>vdVUX@FG@&J>Yg6Z-*1+#7#10D463lam6>>4`UD92po9W~^ zjX`HFza43{2gpJK0+{$Hd*;c4u8%l!W{2hmhv1l^>1e8|GT%E%Rbo62lw0nCqqYur zAfIOD?vwTvBHc=FkrhuOrI}4jv`#7pj=@q86XA*n3h8KLI;OP%Fogz8jDyXuFIzjQ zYQe&-?D&yUpxX{rP(z?kJH#5lY-y0Q)^oL#g0!4li!KFi1NK%7K&X)WQ$GuwOm15{ z)dwEz^@Egwy@(mW+rvjo=8!{(V~YClQP2~e9%8$y;4dHc7NYAQG7q*&bl=5<5xhz& zGtZP=7w=AOKn|a-D;^bCbv*t736E$a^m#%0`Y8>-SV$yd5@AsQP?_3VmHlg&0PH^N zn?l_h)}sLJtP=1f4mqsh$6;Xs9CCGb)xy-PfZmY*fHMVLH9|7rU`Tm?wAs&}BQ`4w ziFdL}m|(mwn%OAo^kvM0SP;En^ahXLvF?ZE20X^v-~VJh)QWfSOK!CD#)C8#Ha4iK zC=`eaku@&&@#49oKuIu8?u%;zupF(r4TWj|y8H70@plHp0MGyna8lBUdWeOp*)F9A zPr#&Oc;NyJRitY4WdTfA z6H}+}RfKt514Ce806(GE@2X6k4Pp;VpqW0;rL0gigPf82bQf4__peSA3Jv0j4cX?D zmZ=$RW0%tX9TgwWf?|38yi}MsVJ(qWB6jMP(%b$iZb(V;L7h*Yuwi%d|HAE1GfoeD z%%39<#CE$r_9A#gYMd!FX;bzPVl2YxRGLE;E95D2(&K}N(@UmX=I0H~>Z)1tWhyXcj|nxPOT)Q5~9I0bcGOVGf%K`&7EAO(Y1ye zzKd7U@o82(^N{6{k;&YwMi4e(irp|*UVV~Dp#YLmQ(k@#BVaCGyt>LJdU)6>qtR>* z0hs63?SW^Dn^i^p#<=OZbAGKu{5MRVz%(E>2mKWxNW72l8_5MZcqaAOFfU0{+fi9y zn=-@mX9Jk_^jF^$pwz-ImM~(>@EYp8&CwjsWs2;>^dFrgtSTgtZFD$(;fqN=rOvw# zxhAIRS$mSlqLcl4a=%I!VvjA2!*~bAf{S;`DS(UZhYi z*{d@x2gZv|7$*$};z_HG?iN~oeNV6cQG<(tY*UFT3)*XjaXejGBZ$$Q1g7%HlwIk| z0e<0N5sdu7lmaf0drBly^i`pT0AmvqGttmybAAcsBz&$}qiDmbx*sL`BkD~>NBv8| zaBP^vw2p+nz<5I#iLGbAo{4=4ub&75KW((T!2I z0mm2`Nr;moxvaaN=h14r_05pc5m9+63TAL{ekAG|D#$8ZEjLgbC=PKuIJR^ZsQ4)8 z@2YYvSy7OZa%hWpK;9T5B{tTZLH$~NG24x^Ypj50az0+%66If{lGW!nP06N-{5k99 zqca|OnxpJxmSzQSP{2{9Qc<;6Y_Fa_N3q=?S6jBabD<1fv!ZO}VG$9=bt@g&vlD3i z-Cft1VoU{t$Mk{F1>Q5+!NP)b;(T%%GO~hcaI9b2bfF#beAwHuu?uY$F6i&+0h)m6 zADz|*$Ri-(ke*;n!{J`aRMxB_g_MeB>lM{pj~MZ;pwn zBK=VA;p!BR(-;^!fmnxH-n?M`0FC=OxgQ(@kA4M@0F%|jk|vkN)iKq`(}5dB-*5oX z5xhTePXZhLb&DX_11>qxlBWSTZS}|AAC+!%qtv-4a02bS^AjeIuMtpe7VH!ZEf1+X z5nTyye4#)KMxw};|7!f)8PBr_(&mp9yqKTk58cmDz)T<~LJ~?`WFk?-yd}4x>C*W8 zdyP$8TMOGiH2hd7h<q-u%!{}l& zKifL5HKPv=#I}h&XXGzgsSXYArk(r2tSnz1iBb*I#m-(bCdtcwq&F ztIV2)-5T7Dm-d8~8;9)ctL02-mEjD|c&0xt6x+_H5fKazq$s?egH2)z)vmxP-rxOd z4wd+$hCU>8n$qd!_44gfax8`1Wqf)THtPPphMrWSsA!m*n>%yM?vTrUs;+k81XhKO z2W@fpIm3PL5qNBnXI!=_t+i3#bdBkS=;6baE-Mkf8VZxBDX9x( zyHo@bU8*_L32j=m5fPZ(IDpPv=ac(Kw6EN~y#4k$u&ZwOE~V7tVttrvv7~`85&Y*` zeoSLHEOGVy{lcz8SFaciC676(pJ$NG?@WXhYYlW0S6qIheYDGqjy|cxFv*L%6>`+) zpeSj?t0L!T*13MbEMFDi#}h0FC^*^#AKaXg5=9ducm~Ft90opjXnYYL}Yj0p^7_Qh24+8#SQ_y>n3JLPy;2)JkSYCGn$> z923LPapLOev@&A^4f@T@=0O~kbE~C)zOew}2*_1LSonPuZ&2C?_pWu&hn6#jhy|x& z{!?`HzCwXH>}1U|$tfwL1Vou`(K-iBgU%Xg^9VT+QMh5AMf#D>WSepmYwM2!zSw*S zX44=AaeI@HCsQSy3G6Xhp9bKU$MogyzH@FMwb$-(ou6)ni<*dRaD{lJjCmEd-AP<9 zlgv!F+gwaT9??#E*YyPs_!G9TyMay&Y$UmhaTbq_&LQi=hh0~!?)Y`dkZ9!8B))Sh1;$0> zcR1xijI@vfc3tubR(^i}&FlpD#cjoB-|zKvldVRAJ zW;Y$34U0{G&EpvIBpc$;6F-}#1EqMZ|DG>6&cCz)a&8#GCMVImqV6ZvD06e(`9A4P zjsz13g#h9S3;y;mPM;}49;~p!!w49D0kKAa9GLll**0{m7-a?Nu0s7-NHHai(_E zs)~mD9v(2aQIa+E!~!1w@dH^xkM~KBmK~Duf}9JwQ>^vCqq+X;Yq0I9s_vh@4$NMK z4^xX9P1Ercj^~gGDhV9{>e`pL-uxwYnNii%h`HdyI@-o-SDub?C*dIYWB2YGPXcx> zg&UJ6&lG{I!}*Bosp~rm)CC@r;aZ5VFt?>q0l9F{+Cn)~@~#-Vf3`H-KM0?-L7ojw z0Dd4YZZjqd+KRgX{sCWprdk-&t9>)GvL*q}q%{uU&a&wyX*S&b0&*;mR*f-4h(R2% zpX`R`5y_s5mz!nqW|598MzFXC4hMRPVKkbxn7X+nI^+w2pFe(NzjGZ{ z?DAWhG1UjE>+zudLQpj`mRiScmZ{BP!|+nNqvhiaA7Kvq>JA-C(Cq+{qnFVYz=*Er z8K}LsrS-Pp-4|L(s<ao#8@x>xDR}CYQn$AiTGEZf=JlZ>voG0K%`>?+DNxH;5%Y zTx-GpK<(P<(EzA}%J~rp&~JGJCKLFnAUB%B4hBE*qva}Aox#q-Og!;Ue0`(Hu}rRQ z6!1kAmh*UVS9xvyXuobgP7CAsXY8o8Hp^f=v~(UJMQJ6Rt{m;Av4 zp=y{nm1+6(CoNflZPlt(=xfmh95(xm-S6uHvq?-vDOJ2yMN!KgTNm7sB&Z?Dyl!RR zM()LTRfQ@^pJIAk@bEj398?!NbXsL)b#Fo00ehQtmfu1T)$l?kgHC#Q$9x%M?Wa$V z+)AJQMEzh>4B+)o^~pY>KI=z`+qtiSB@*3_srR4^v$3x3+b@0U}8i<@b1lC#T_V9li$c#jhQGY+%xq^LgJIG571ScZUp46+0Yjg0x=!vrIgaQQfL-~>HschgObc0a_QY8qs z3NiKrJM(54{BEJ?H3Wiv)#xwNEd2(5sgX7S?D@a_Zz#*BxAyimNEs`UczC@|&+AIJU+Z(K8i`+Md^?KWkA! zsoq#R2HdAVE{|Ih<1KqV`!68)e{(SY>l8IIV()_Ukn&B}4=4na27L2liyySiy=Lr# zzps#l#EyF>LA7mW4_D+*)!6sY`(#vC1d2$%;tr(#X!$Q{hLA8&pHZ8jWs;<>6hPd5 zz$8alo~Xk8e{8f#0Y_6z%&EFD`Y{Jffl#OJh7fYDj~7XWDZG~ z>MIbFSYAQvGEaW3j+}g=@U96R1^NUV#aeA9|pdiO4SsF4Kck$3>G8Q_T18udpQC|72Y zi>7$GtDU>cV^v8fp<-xEF+7K1aAi}AWY@B|=v1;8p^viKbEmTVA_I}{OrpCa$2h79 zNE`Jh%vL8{6%m_v zHd83s&4a-4QdCDGl~t*{cTPXQ0D+dP3WGjS6>`Jhe?AIdCh!c*tC!)(M@~uRmdU|} zfpKgB$vIF5q0W$wkZ>?x`?m>S?b2xOpoOz@Q{ULPZ0*U=31t$ALI3GXsK?9?dix^U zK9Va`)Qo#hh~=J2?)AmJ^R@95vEqlU*N{jkQV<1nG73oBTi+vFysw1-QqvpNPmx|C z=-XVAR?ypE>$J0RhmmYA-|1W=dR1$h_j3^i&E#2+B!9FHIj8DRBn33nS zPI#@s?*%fAjnR9bfPtVScw|K72=Xx)2Q`I)!>AY&yh&(iUHS6G+s6CyE^Z;u7x?OH z?6j&=A=(F*k}F55xh5<=q-1lv45bz#&G@>{(7^9w*(M|?t^xQ#&?RJ_13{JDP}mA= zvjc;f8!^yqA>A}5^&$eQ z053y#?0o_gaxZMTjjSeselzzpJvYDYwVj%s`?k+6OA}3ybxt#8e!qJIHW3@WgAF@O zn=JQOh;YK8rmU#G?6En{x{IE@3#C6&HLypsL5w>Akr+>*;OlP|ErE)FcG5izy6tuNOj%Lt~_Y~kx){)SJ_TbwH z6BB2>j{}X$mZ=N^KH8|kG-!#0oCv7#eMBNL%FGaulYf=o0TY;{O-%##B>VdMRG(9S z2eY@l%*pNN(DnEa&APf_ES0x$=ksJD&kJ1EAVtZMny@mb8MWP@ln#^3qxHb<-sS6W zdSGRV$g0KxYSpWLr#+R5(XRtnWa3*UOIz~=BN!01EY*a|JB26SjDPapo`_0X@nv&S zE&CT)*B&gc(Xu`s`cawRG%<$CAcbU_T)_v3!DBN-F{GEyu8`4<9Oq)-E(v~)j%b}n zS%7+%fAS&EXd{E;p8nd%v(I=NUyV9EyaJ(oO=(%zH-Kft4ynXYDDbYh7@@^a`?7OK za3T!YuisMPOCfkC7Eb{VsaE+yCTts>2DXJJ|N&V~YL! zGGN9>pw85#06Br>20+Oc+Oe1CxpEPsha8fTddFSMMjhc{hwJQ%WhP!dSHgN$UW^?# zq%Z0Ii0aSQ#fBq4DSwL~fK#MlS2QEAO(mnmX%M~rd-L}|_Gk3eK_$Q^fYpO{m>T%f zpN_Nqtja25bTs28PaM=z3XgM|z!ktOLl}NX%^^xaoZv#6i#{*0?nZyT;Gs?Eq<{@A zSSfQ6p&1elUwt9##dN!%Zmv5p<@F5=Y*_I-6kuJwz}VL8aRou6>RitBh5-A84jtMX zdM{IxZ@Y`Vt?m1rwptN8&QCeR9e5C#)TF0J&_k!l=uU9Q~CSbumy4erzNIy-d*Q-g`*AQk(gLEBw^9eR_rH^`Rxs*v>O*?scs z9s^wE>=x=Pmp3lsRChI3SoNc(%1-MEit)!eb}iHTgrTN0DY-uP`E$--+QA>ozFK1z zIH%!b^pU|b=7ICvozbPOhcn;K2mN|`zTX>r&0R5ID^55v?kpD-6(yWW$#s?j+kA^V z;21t>H*(wb)aG>_U2JiE*>1lDetpE*rNGg7pc_pg^{A;?xf-q(Iq5xq5i)U_ zO}_#RlOCOxwNBT|3=!yvu{A2j=yU0esMqe}=Q*@KNTkc8Ha_+&jdw|fWMUahu@XeL;7An%MP9Z>(YZgO1!vB$f*C6 zS0nf(Z{FNX9tNa;=+M=geh|)tuHW;2V2IrSJmt80IQzKfOnJ!JNgSkAcy)XR=cY?z zZ7))|9Evde*y?LsriCvL)Q#!YS_M3Zj(5Yov0;;*%KW?MR}CEOv%$o}=UzUQvSZYWtt zzJVzX*Q|k#2xj-d(awh7fLLoc?YdVk4DDmiNY3D;H;W!P&U>HNuQLrk$G(Nl z=E>YGYGG@lZCD1%w9a-X3&uZZOaZu|45q{ zegK4M(087&JC_^E^-SR!R6VY0W;f^GzrRasa&PUEeg^=5HM&cd0mCqUoD}AVz6I2< z)fcgqB4PE=IuRKe>o<Cw%HE(!xZKfzQ6=S{;?;BLF>V0|= zI|W5VMG5z2^w=PQRd-V(ifcF3*0nX2un1s2$P>KpY~ORvdP_Fk4u|+Yx_20ph@WYO zd3@85V_0nyQdWHPEI8)lr8ww~w&;q2wFfN`a#55yax5_cwe~R%%57?n5mOncHWMA# zIO!Mq{ly=bEzgNK_&G|IK8&ToJ}GoGzn?z)-hnn#__BzpouG$xJD8b;H+yd--G@!ZbXURS%7iLX3H8;*MU zTHg$@2Y1@efgr+X$)|zfRZeM(SMq~-`(pFSzFgZS>x-vccMP}=21)DJa@M6?lVk|Y zd6ko)seD~>`PY0FcRr>q(sL74l!_l|qV3grb%lGkT1GI)uZa?73bqS|Sc4lwlK~Jv zBRia)dnlh|*b>V1W@>T%VOJS80-|^U?pzhc*nL&1%t{v5s#PStbUt+7DEz`KDW2)8 zo|K-9y|#~j1NO2YVX~06R7}7DPX658o&KD+56iGg{tP+hg9`2DJv5%&hm;2{Qa;$Y z5e=!J2W1-sTS=B+jbiq4KA12Fb;L@x2tYZAqcqJqS9L$B2}~y7z#Io8qGgd;$0sx} zK50?t-WDWpot%sbSQZ$l*BJ|{&$}(}m1S%A{33STK8*JWd;9@T+^Y3!E?4TGKvf;e z_k)MP$z3^~cYQo06iz%-+x!lToT@A7ODOvNqBmS|_27Ojc_x655ABPaw<{;0gHZ44 z-Lj1Si5j~i142iQX3bOsl0mQ{fpK|mda;R8NxQqb)lT#WZh+C?JtNk#eT)m4q&`?2 z!v-IEq>o0OeuXWuip#elwFpP>GHO{b%Ku*qX;{vwXjlXvVFN5|O|VsQ8$}~Whllmv zWg7^!K%@#unM5=!tnvtm7vR&Z(2fE0&Ko!afTo6jSjT~rK~!9v`$~ftVD6gw&;}<@ zxCX5=&hO~5bwN@JW~tR{oFR2=e2jf9@PPYL4NYFcKTe@qf(UJ3!d!9o0OvhkzwZWj z)Vvo}bi+Rz?;)3*f75FZ%vZ4Kg1=LSEX7Ds$I0k=gn7T^-}SS(@9A;KTHg*iD)aDu z7(&X=RB6vd-~mqTzv`iBe^t=E4u#`#P1zk|m{=%t%AYfiO2Q)~#omJ_P=s`i&Mf?% zWjwxq?h>}tWoR)9r+3lkoqxlLs~WVjl_;&PG5THgYi4Abgdn9P{G2OtECIu`gY!^~ zhkmTl5Zeabl0~(E>4CPbij879-U`Y{4{y;o78_bY{>R%5N_+vkBfo^#&zPAohCh0z z!HLWh`XBW%xA-$(WBPiA4L(v*QYzV_VESXPS)FCa7wUH~0i3veofmizwW`~09;_3~ z+gnZJqi}Km6N??8X}&Y3P*u`uk%QrDo%_3zk7P6hfJCNpwn~MIRr8irI^-_Z z$@hW|yXC^c#WL#U2a%fEy0~A)eXgc)`AC9`E~+x_aPRneQqb1;t-)29 z2==J*s+&H#CGaJ`@C;N4|J%a2?D7Af!Z`a~qDj^bd6-fm69x3i((dIt^|frt^57zL z>;N>%RQ_qgnvlJh9MT1}3(I<}hn`xSi=3#C>%XyC=KXP5FUN8UbU~yeq>rG!pL5LIsUHEO8kJ!I1l}WwYMwzB}PF;sOKq zdp}lbt&BCse@Alia)o?^hNzJ3OqMI;?lc`e-in|{og*3LLW*L#sv{1CwYqpJ@a_Hb z#St?Er|`cjvK)q+W+(3W{N z*H%nMMnvpvvs}ZCDMhny(NfWj+2SKjmDfN@`Mu?D>0`#%HfV2X9;XQ3MGSGRC5pKw zl$IxMPyBY>jDTk*Xk@4ZkaiE~8zCMBzIVVa_?c4<9;iRxKxKOEhsoOQrsyzH#SH*8 zKLKMYsqB!6q&?y48h_4%`GdJ*4oCLO511nQlWqE~tgIkZ6Ofy6EA=%lS)A=~DWsaV zf`LNxu8#^#)!$!y-z_bzUnP*;;;g7xftz6V@#Q3C*w-}4)w=#ivYd!Ow0oA;3<12o%WKfqMtpb4Lpplbs@`&)@M~H4Szn@*kzIO_^Y*QB4QLk2dwReeaW;&r z*Eaa-F&8}$6%k=C6$5hecv7fGYuNQRDm|Wdji$j|T$_hA?AIEH1Pr;BkGAoRMvqKl z^VKdMaR(TmK0>&`NyThjd^yi;9rETsCof5Q%afOIAu3Q;i45J_DgOQL_NRNL;?(qZYGAZdi$)JTNC^DQ0;&?uQjt5 zYD<*b8+G6P@U0675DLhbEYb}C;*+rF?!(B3*^}Yh2J%BI7 z(8Sa<;k);jrD{2{q3WO2a{QXO79cElcq5NQ8Nrtgp8(qhfk=OY+h$h+xG!mw@-=>lgfto|k_JP`1 zt&v{ojZ-PK_lEO6uT#E~eQ@A;sNUPxjyq74Zd7s}No^%i)n}_yhA`tBd-RH(VNi^| zwej&11Ulf{E*_b6H&rvuzO2bDQJ;9TI>x#|co=3>@7_@p5$+Kk7b#rxN+;>ol%>dr z4}}my>2?{!pTA=+ciFviL#MebNzm^(rEe}iMXE$#5lLBhTz30bVHI9_NRu%_ak|{) zZnm`<9-NY;d+EcDsdCEOI2h~Z~u;nM8Z-H9G zN1+$|^B+9Izt&j!Oo*-&(mKD;q|UC^iiD)AxC`-a^4?wyOTR`(tJ8e>hj}b|H2&>? zO$b!`QYDT{kNBh>;Xb68cJC7ff?~Y&=*#ci{3!WW;`%nLRwwrC2atiMoCSW zfPhla&+JMP=<%WGFYJZgPj}mS${C4m6Q|mNuSV~N&6)$$BHU2g_|j6(w&uc;rRsI5 z{I)f>kU^$=odpe)e<5`1r}L1Vgf%(3-aroFR*de@nuN= zE%0T6rJh7IIjdv_as}$Erl0|tCqKSuGde$rC^eRB@Li={&B;ZYZtIV<7iN3?3y zcr*Tv_Sx zJ9WDUxO9Gp;1x);JpQ1iRe(i4Z+MOFo$yLE-A~)(kWFKL%$0*dZq>rv1kG=&vvjO; z+b=9HhE-^u3F-C#I~ozZz1TB6;FVCeIA({(bqYK>{GSr1kuYOs6bAquci(`Lz8uOM zU?Au^2>YAb3eYKiXe)bwH6ngW7CPN|j~_1O3tiBG!Z;06-bQ49OjkoGML4q}3>kzE z7y#nj0zSTO66O^0Um6sTJ~%hlo(mF`5ukrCA;6i($W7pA67UI-TJrK{FGJr`!T#gD z{oYt)3=t|KM4}(3?}z=+ojZ4+LJ)>b39Ptzh7dr>uIJx!ghX2EGpEkWC|tv65zMA@MJh*! z;20B9nFF~biVjp^bKbQiZo2guEzv58ALks>eGJPG6~4=L6mNQetO8(Fjw^f54b;ZB zUytxisXOb3%icsq1)2@=Tha4*2s26v`$uOth^KxG86@@o`hI#|hV2;Y0sUUeK>WSe zT?BCijKZh}NXLYE#ON&zrKYUE7BSUh*Jl z9X<&PaXvX>hnF`40lc^e@?1R@jD?T9iDnDeCz-W0m6z?SIBzF z`Ujp9ZZr=XU6+Zt`0Jp&^-Fbq?T{m^&S7d>-1Vcz=!XLsdrR17;{zaB$7+theb>_i zfj<81larG}abAu-A2Cm$vN#u$%hnzvHDP*Hy?r4M83m<=9M1vkUZKU_J+%-P7KZm_ z3VQo9Ha4gTQ77RwniwBPRk8x!y%HTHs-R3vp=BUQbU0PqHSS!zse(6J7%rNiuvRIW zSs55}LPj9yc%s^{g70YI=&ygkkYhA0zq=iEVnYM%*otvnM!wR4+H78^TCDzp@D5B; z6RjMkdN=^3VsJnR%;XZeoVhKSx4rzJ{Gbt?fyM8WuU@@^ud5MavX&@}wdqeQ?O0)V zIIysW-(V2jU}WGTtg##W)}97nxt39kL>SsJFwbN!?%#j#Z&r*&+$Z9qbj=!#=Rtpi zLA**44Qw%r3mWvxj>A$YYAlG!-Ed=9NOnsm9@@gHh#h~IAt1jCxf@d6{&6Fs6dAM1 zFy4%!Aj|qXV$7PFkO2sUJ~GnF#)DkHLdROP6*rpG_QB=@mPcWaw#M%iz;$EW)JYewJX*}MWSud<)G`&Tr^zgVGROYI5Zk$ne+Kz4ziG2A_j0iC$^ z`*_Ns`Gn5xbS~5JQV`z3UX}42%7#dNkvVKMufD2T&_w@Uno$20eTMDSa{K_ z1fP7EJRPNFWK^z4xgv09oY=KR!2ZdYrK8-B_uJFNi0CokR;N!R9~8d@Wp7K1q^Kxo z{{J|p(?=B6DXD{I^l`?`hZaL?l--r4_%bl-AqZH{fiVQq{_0-Sfe`iRL2OX;6;u#w zFaJ5hkdjOwB=VS7P0sxX#)4BHDjDuU5-)wX>tM{qi@%Ia2i4vF*I^$Awvt-o$E-J} z-x&lJGH={iM>2s85m@4k{%KmP;d7I!u=gbmM2bRq{C{Le+#AUJ0-u+2I3@U_TFG(+q7oh%gQl$!Y!Vc`-lB@W%OkHjA{iReY}zU@l;{yxPhr=#aSe_9h9_wZFH z2h9%$uNRJ5P?yQYvjk~WMM(0M~;NWEX?kKbI|tHM((i)b>s#z;Zq8qsPSfSwwJU8GP1HUbryAcrc3AK zOJ9Y10RaKn)sP|H;EI-tGT|E=9v02V+6FozDLCwTneiOM1Qc&e2VYG7lfSZ3Hltd# z=-VePea36oIkR((a8GRWifTk^93Wkx%XB zruQN#32anY1Ko@2gL=?aMd+c&p;HMkZMiFNySe%k;UfOO0UVY`xPd|Aey*ve=04Ju6jYqz{= z)m##IGQ_zPj|%+nbLUFu7X)}44NI8U{f0EcP}B+GvVR4Ixe{)R1i`Sly+&s}0^NrkqjYz#Y_3AYxq7k5 zaD~?O-b?B4?(d(}EdTReJ)Sl=(o#xSNbp~a?)~>;Lrcg+i{ymOk6(h^g!zk9Oj*yM z#&XyA)#1oWyT#w)Pehk54J1TERY=+8$;o&d?d^ACp#F2X%=RBWVs1;e0KJkW+7DY> z^j7ZBkAtWH67k%GBvk^Tr2_W|Z=g*9rQhz)aUj*g8w5-htbc}ah@Bt;N9fsrlc(%Z zQ7p`5AB7k*r<8^zVi@`Q&b~%qOeaq4k&{awDJtBxgxMIAv?=jB9+y)M7|x+t^sDp9 z5K&UcIMs(XO9wP)LlTMOIib;L(q~=1sh{gKphs+eQj`uYw=_W7PmoAU@`HK|VBU>x%c2dh zX=-fT0kXI$9P=WNFrLbt?heV07GShH8)EPiHtCSAxPeTYy_5e6jO6gZY|8|$JWNYt zPykY@ElMf$FBEHU6M1PO0;mt-wDC^xKk6`l0Q1UzuZ*bZTc{(5ICqp!kn(&&)d-du zXU;RI36=m`dGM&b_q^v&f&4bnLQqN-EVgu)~2#+cCyqI133IxrLC%Ee)RT zXvSt(-&Qxyv7@{}E*WAbM-w%&*}%5eVyt*Ukll7&Ic;ePwg}I4i{yvNm|sWSP^+6u zMxS+Ve;d8dtd>w@O|Shr4y-y;#-A!nX+u?ugJo>?_sm~4SEv?$%_iK0&p4R^%)JW- z@O2z8nRF^tP6vI*6O0eWb3|Xi+N^L6^=sW3omtxH4K?+IPz9YFf1uvq7XqLhhHLX2 zPl2c*l@4bt`aaRuMs}Js@+)V-WMG#K!~c`Sz`Sq<3Mzl%<9St)Tnw8a z0sQDvHXQ@g!fJ~K(LcfjZ2c;E{44c)`iT&uh%O0~W*GQb?-tbeMk>U)dTjWxPsp>O zsBJF{3vimm0*2np0wV~%NBfXl;ya%tjymGeGZFvdHE{Sus0-4y_mz#_IWChrBdUeQ zAA=1L;snfWPoLhsGdm(>cpB~bfKs&f*-HY_mJm@8f>o_8{C*~72I|=byEfWnqcXY> zv?NCr7 zIr9{gJzqyACMJ;kGCIn_&Mvv20H1giG)vkER9Y}o72HA!t{+5A7$YDYI-gWa3}m?I zT%o`*=SahhmVgo?sy<*f8#7Sb_vVj|pz7k270)wcOHEpy7Kl_ML6Kzl+T=3KlOUj99is#sr7uMFr7w0o&2 z*C7{u_inVOyc`KZ%j=?KhRmpdgg8`W%dohL5W;0BdQEqc?Y@N54SY`CUINU>G`f9?`33x3Fmowb-}%w({Sz-#?ia{Oe8vT+pN(*sEShN)vMme=8A33iRaB0Nlza^l~QH) z*80*)Z~3)IFKmT%v+6=dsrd>IYt^c+zB*AvT=k>mqSgdB%2YNV=QS%`sVz=A391PX zU~@Pv#BS=g_b)lNQLP&qIf&WBhDsMIVMQnpJwx9#ddl-%n z#F=77Fr{{(az2}ubK6bmeE^6i?p+ZHJW;{7b+)%#<+KTG2v&P=G-h~cNaW`cE(EW^ zg;kO`L}4&g2vJ1gq0;$*XmGOBNx58}5><~>t5-baSIu1_)RoO9V8mxUdIZ{r|F(C_ zdWh7KZzeS1n9?O#HnFbstva?S6?2kJoWW9fuqX0}kW~Y$y=UC&)izYASkn`;{e zVtXNIm|NIIqFm&Kg=-|?fhBMcmFWyE?AXxdHx3==aK>P0WoH z3H>a=KGQNnBF&`NQ?{a2nF^`N5kv|S2KtD$m%Sozgs`BH1mCv6^W0g6X@$$+CZY=* zYs=Xgsv>ByxUvXHCm>xQ?ClF^pAAm$@^gSLf^SXQeLvT9+#bjw4|8e!Tj=l|8lw3{ zFOKJEt2b2;^ZsP!$9{Ykgl#l#v}v>{0`ImLug z0lp$9ck{~g6ExHlm7^;kCRAOo^83#$7x^rk&Qs4`KB#0f;dxbNCUTYc_{~s0nst&~ z@0l50l}~@ltXQ3Gygz8;Z}&EQJE=&4Zq9r6=bt(D2~)Js)P?eR|IlIL zjZ{48c5#0Q$J)Dhgr2rGKdVV~h#+qik_eV9ySjFwB$#6#*P(av3k&;{r{^U1l+UAZ zjzjbmlaK)*PsFa}oZ_^L>6z#O?@L-20-gh$Q*+OrDbP?*wpFV>rSW7C2A!bG`Wid_ z7?35mkVrP-5}<5$GYEzA?#9M{ z4xpYLKj*|&xbkhI5o~6EjdWraLFkb08k3;h>{YY;3biZ$9k}kVuan{YtN8zXjdn#A z^km2X;a?m(NqY{C#XP~Wr-VaQo}SEnAo%R)D+{=YJLl_Do{G%E4~zWmnWd;Umx5k} z8qGwp{`(@%ps-ueZxJWA^tg?rVGOIJjx-MJN-o7p9hF|kmnKB`u{VR8ta72$m0B}g zly0fV6Wn$?j8d-D=XOy+MH74U!I)yyL8{`nVzfidyd0_{Mu)b$aWYdKJ$lqv0gU^d zz3+kL2?z_@nMXoZ9CI`}NtZ7aE~#rPc6UC&@0eZO<&J!DdjCpmi4@By({D&;R^Efq zYwVDgQN$P~^3jG?+IsjNqe%O3!(l(B2aP-U{m0ByDVP2@ zcR{x{SI@@Nll;SWyTsU)9kfFyX>^N@1Rv)5I59u(dgkl1XP4X+9%J|oS}069G#+8D z26GaG4}m05NjnY8Ayjklam_DaQBv2^(lUz!_PX$6;yG*<&*VlWSwiGHhn5$i^?vdA z&f~m}*ldu2OiF1=ORed8^5n_DK$7WQ5_`hrN#)E1fK5ZBm4jo{>zXUhrwmde5_nN9 zBaE}Y9ulc^y|ldQK-*#1+CU6COM7ZJbBK?%PtQa~%ZPrUaLt-(c7%JTEVAE(tr!HP zK>oqOU^DTW`glE;r78kY#1~AM2c2?JVS%nv&f3<{W-URx4#Z>2C+N$#jCFsAQzcX! zv7x*ytl!kH6=pg3K(HOEQd#lvXy5fv6&Ujss#G#8WUyWuF>SWv_c*omq&&hJppB61K3{R}%Hxjx zncR&2${)pGc?&Y`pO=wQ+hiqfw-GLzY9n62&r_OGX+M7Z2Ks8y{m$yq(bUI>49y1D z-RLfH-GlFJGS!8l$ZYdK9uX_}s2P;2WM`^Pn{-Woy?B8tyk&b-649u4OPn+{t=NsQ z*IhEUGW95zvH|*JuEuz6hMA|#;Ap$1-S(_n^wPvU^FI+zI~BrFJ9y$ zJdmL2sr|vgoa%k~=}AbFI0&;3shBVe%v`}GZa-z6`nvOQ(rv0wtjE)|_(QAVw3XV~ z3+km+bh8sw{=05lZ(4t~qPYi&&3U<&QK2gR=wI}Y4A|)TyCT_Y!{txdU88oSc0QH^ zK`4`EsDwu}cV!xs=bXbhjgGMF=MVRkFf_TSd@&y`^^7_#27$NYOVB*_VF`;T?g+3( zffc|3>yM2aH_obTgb&tkDiSFz;;wsq7CBcBs|bT`e1?=JD~+v+&oVRydy)DSBV7Il zsOhd0X-La0qx}8-n~N~p7mvJh88>9u6&}hDH69t1oLB!5TJ#pLNcM}PD#sj^OtJ&o z+j4Sp5U&qu~ZJP!sS+IUNZy(^~Xu6peVbQqXcqf$oUf5y}a1wq% z8Rb9pf}+@E&f8-uEnN0hq46<#Up$dnya-Nv^5{$q4Ghp1va_*4R)^-T`7@BUz?(O# z#zXrUX57dQFVLSPCyTa$yg*-IU!MhI4_Ldh?F`L+1DaIUrFJz}op8;LR@6#TR>sE2 z^V{y*OZTSPiA?>_^gNK&)>eC?TpvA3*|A?A3tqSH21MeaoyL#SPaYHPYHi)EmP2}& z^#-6u@y(4){z`}5d<4YatLM(Fsc}J?id6{S1x1dQ80y>GACGUEaf5~X`WikzQ8_t4 zu4;_};Wap*$l?W$pvZfX`4x?kp~s|BTWNq3vE|skfEMnDGtEL7wCvfIvlnsb!8Nzk zhOL=9>!f>(c`;rtWpY50DXf9Me=m90V#|`4Y_+rLDCISE{IpcL+2-Gqyzh|y8)I>D z<>()e8nap4#k+lcd|o_bazC_`%Y$VV!*r=NXY}gZWEa#6P|SflxccG~Z2ckRJa+nh z_5ts+6JkYwr)cXguth~ix;iV=YHU_meNBVoX(D5e>NQvSpijelw#e6+iNdd_*?syW z|1YjHaUVu5YCJMy_Dy(CY1l5rOdj!xh*K;|e`%7XZRD9-US4jPQ4Ts|aTh1$v)A87 zK_55ny!}0v4U`W_mO_Gpn~f;-V&?R#zkPQzlF9e7Zt|=v&eBwv3rM-@o9btY*aPq-lKcu%|FL2+a z#v#~o8nNa^r5Xr5XtW&Z!RjGgLn)#67fvY#)1GU5f7|r#l|yOXW1ABV(YWDJAQxqD zT6ynR>?AccHTt?1V%yXnG$vWXToVjFNI>R>5S=93o2!H}7>YUT@WDb9XIS$jl9Qu?-MPZRcERLiLL7$o zaGZP^_2_po0-0JF1v<{LzqVLUJ9cR!jhyYch$ zgFWLHk0=qnG#>A{=l>|o&aPEiF3da_aHc~EhldB^RVGdN@r3$8{_q;CQHUk!lpjAU zo)rweoLy8jTqZI8gp>bd`L!C z%P`tlx?n+qUNrUq)h6&sbk%t&O>Kl1f84%vNlp3m&5}A~PqpRiz91X#d5_ADs0_n{ zpA+e`q!iK|dy6!o-Xu1utPN`}XWvTuys!wG?@r|et%^PbM}GU(yhjY3xmlisg(CdL z_WuFZ4A)^7G;G(OSCylo3zD^Q!SEGLHQu#sRIl(nY_e)_H2GIM4`iT$YZs6A1bb7<#Nh?J+I4w2xbkrR&WoXCp}C^VG8{f0)16OGM(RHa($|1L;<9>eJxno_Jm z5a6MMz>|ksCDmL-_Y@Y%co(cJa5G@4tCa(P5_+Y1c#O$DF4=N3H)8v*-)2|845AV8 zR^7LHAq4Va;Cu_+i3t0%%8fdpIYw4!aUzkz!@}Byo(@i9hr)#U2v6eZ^>|*?4zfC< zHt9rW9rn+ji3$5}XqB)9WA<^{$tf4HUl|z_z`gV%YdTivhdO@EYx|@%d3Hp9Q%br| z$t8^+&YE=L7Xf+w@I(+C7u_2tPyd$`l*|2UxWd-iyAL28+yBRVW)M_P^}DaR{4~9J z3Qr=b0tP0+_wHIo<$fldgDNXgPNM2oN#y)RcUSZo!KZ$MDpf;tHFpUn2*MW@qXXJ#hs zIi(DW^9wuCms#buC!Z0A_cLfBsN$2p#A!To#1Js8w%_Jr$1sRzk9Xe4=UlAbz}PW8 z=~KETPw#N99$7~RU<(z8#nSq|aO%Y|)}Joh*X5xFyRL+pIwtPF(tyrEXXn5~eKnf8 zMXZi(b8vpWa*zW*>M6p6!5@vcUK-cUnTsYlZFgQshJ9p@- zRWqXe$y0Nf`^>ZPLk;T=FhOl(MZ$6%=mO@*pE4U%~(Xr z;K!57D#gak*qG_A!-KToWixqTD(^|`0%&5KuAguLVrtXJyuSrs^*R5_gb^ry8-jjh zQdd^xtv&wpur=5E)L4ClAfE;lg2Tzg$ap{bGAW2uEueGu*xUirVmz&sCQMgkwOce& znnpuK?k64CdHW0#%%BqM2O%s(K`Ekk?(Eq&dfI=`X7U6-9|pEYcNv;E8E9`I0^2jxAx^pL$Sn~2anUJr(P?zGx`mT>P9`P& zf2hK%H#VjgZH>8_xm{352u7R8;#j--7x&N`%N6)iBjB`jUJuU{-M_1{ip;Z}nfVs` zkNmnF=(h1LsvQy(5V+rHiIc>S{HaJtx=lm|lHHAyQfA_Yt3SQ{idh5NGo;^u9NH*` z{x*%)J5eKxsU9-4P?baxA#@jL-4Zo!zcW?mrN^^j$pFbotx+X0$g`X6b$>Rwdmw0H z&;4KFU;ZAeFv(KocPo@CHykW`wGN7t1Q@}4wI8V63a8Hc1Km>LY__L<-oEl-gmL-U z8Wny`JN;K#|FWhSGPf&d#yGT*H(s7kJ$Crnc4l>i(Cyk%+T2;yJ{0TmMi3sND~NFounutG{h=VdtZ@oHK??)QKri@}| ziWtPd!0_m782WbDyx^R(iUdhl7fL|i7jiBdkLY`zE-&+wMhn|t{sh9(D5j)7dRv%? zy(5vDshKA!_+kciL zLj33hbhV)>pzvHaW*%?Ev!{Um+7f~kAedjeI=vz-IyM%pIOOUMYnNxQkzzdEV@NXs z6*>UVZ!J>J(C)Mk>j=Ol2%$G=n?h{fiPh;9c<#g70rx(uTr+zR+ zlMkuSfAEf^#Jz=ugRBMt}V$GFbv28F=rg4Gl|e{N>xA4U@J^V;W(zQ)Vz2j-~A zKsxfEkq~TqnC4eek18%-#VVUc-sg}B;vB-J^Buh_=BN1gMxRSmwPvEC4RYFWF#m48 z{=h8Po-Y(A`32nV!ryLUg$3A*o9D93KVR*PFTKfrr(f*%eDG(Rd8es+yR+J>&?{3F>DV@rK58X}k)eg6CzQZCc%X&~Yd zOOiBpuuymGyrr-ex(&C(_l~!w?H>ymQ*2}KHTFPA89-qG?Nj+4szl(jloT?|gq8OF zfc8)2Sg;UR%ov;)u^cyCN=bGDMScCEYA)l}vgt(%L-y19Q-T98s@KC#HaN8&Sgh)B=6qOz~7! zSJPb%`*51I?g&o~YWG7y-Y(Yc7NU_TIjO z*(BwOq>?W$;FX_p;YK_!_T8u?<-`E+FyXn{IN>2r!AjhoZ8e$Yi9Dimy+dnDhzhr> zs^MS_)aAyFy>xDbNQEnzH{&d#-9??zC!alg7Lrxy@iZPCo|-`?GpgIFWsxp61g-)E z{2NYCZ`u@@)D~>A?WQIPFI8V4J{LL{NTn>#J0dGdJ!GP6!InQIM#As&*tFLAp_RZ^O_kIMgO!deX~`=^x>olHfx@YcNI87G#>J$s z$fd0HFq!Y3N23@pZ>XvAG=BcsGJ^y!0yGGE2^Z^K8D_8ub#*PYytWUEAvv4nIhI{^ zHmBmYa?@5pJPvY1l5R$e{KDv-g(q-K(X4G@hlHL`;8u@?-mi^I5R3!S-b`8iXbaGRMJqP4mYJN5msT76Ii6u zZ>|gCSDcf&d*FTVb(!Nn1K;|i82PZ1jD+^Rw=ihMi&tp7zd$=?H4+#&H3{d8KVu-{^9I8`e*T^Ye zD_x{6N;!SyRE;ean-AEMcoWof^<*)019Uw|JN>Vsdi`U=jOe6Y#(S020SiGxW*OD* z;0i#nLvK_|TiaYoYak<@7bYa`pyXjsgUf>{S>wLWkLD%BT=#z>=HhT(@1b=)M>aAt zBEVe)xTOt0LG9yw=|h8y4ljYKh}9)c(0!3eesgqOaY3IGiBv4b=B}>ui*r3ck>?5n zP+%jZj6%IMpbvl?9i?mt(mGUU2zG;kJ9K-{cENi-n`&363V_J~){e*Ql&QLV^D#rW zp~M&WG<@SV`P%ro3a&<+SekOD+;2&@5}63YlG)&cu0lGsHS?wJzM-HS0uzh+Iy$!s z%4JQveuzFf81#IMHzaE=aNx(xjTuV8AX9-NHLArV>_WnUVBmu!h=r~w!ss8HqIJG zN?IvZW?5@+qMo3Ky5HRcF14_3UH2PmWnqaGDtKmNyO~H}Kmf3=@aJYV6Oc)QH!#uz zyn&YgMiPT&e#vnZAEa3^#Px3JnId*1-eJC7^7x(;kI>VM_hh-H^~wiCn-KSozZ(ydZyR>iBcy30efwEsE5u;DV>i%p^V>lf&_XHewf{9S2 z3DEoUKz4c9G!&)Vx%yLz%2m?O1^wrNX{7=XwrcX+929}VHw^=i=Z0l%v6Y=x98FeE z#>Tz4&`Oi6=-HK9?0j>NKXie}VNp_#C+bKb?re%#4^hUVqht=O$~ta@}|H zqu@mgbsybzX5TmPqID!|lX9C{J>-NF*vqsx| z${x9Dw&;`~adu)KGli`IdbmfLR^i)xx*MEIF*}M8AZB^G3%4{LA!N^4f?|$+{^(+z zt>np_!~n(D7#s5vfJ9p0CASdlp~7tmkxMVLt+akSV(9;4npfN!QHq@gLGwUJwYI$4 z99U^0-66F6Al|n&3zw_|WMav;lNX>=*b zTAIJqiq#Q$)Xn=}t{&?cF(#uNL}0?zR>|i+>ENJ#M7&4UERgG53WAk5ykOE}@yqdWR8xc(J3OL#47)t+^BmI$swW3RO< zovsa#k_JJJ#ZCiI$L5_hXiRl=Xd_h;v$L{#=N5L{egzE!qhc+Zam3HzknHJmpjXnx zA0s1edTtnVTZzwOMoq(x&N(V+h-Gc)z>MajH=JrnSFLTyp#IHZxQ zHaquwr?EYagmKR!@^_;4&zT#GC?N(Q~m8em5TZzASNa5alW;Xvy zJT%Vn40I~Y*+qWRY$MXiQv#vW6 zmE=jLGj)2Njq$8%B8*EM=cF@AQIV3>Lm;PQ-{QuIk|UNK?vX97E6??Rr`|p1fwxH%~w=oeC(hmgsQ(M)chbN`wbebU+L) zEGjBUaBO4*+*S0ZTCIo;1!Dx+I0#~g>%&gAz_`6ADcgYP~cI<`TW$o*15p4WbJhVhPUF;4KKWlgQUjg;rq z8VGbLT`NUsv!Y#s0eDOqE!Yz<_JHxTJ<R$;5Ij)OJt~o}7O@dsz zyR59WoBTjGT<(!q6M;i!+xto9@s8@%^!4?jREO6Z!0eD=B>uLZOGy(98lAwntKG;@ zQcTP&%Ho)xrI-exg1R1uVeC%2>ktGatv$2S9;fGT`gH$^kL&|!C}G$&Itx3R#{Nmw z`d(Cy!Ox%BZfR6K_zmX+8kT#{r-WxWR!8cnsrxpEN1EA(I0UgHnTfb`1ljNH6g#HX z_!u|J=KTs=%a4IA)M786Q|CXaTH|@StWsXz3!b~;zG;pzZ`+prV$JGbwhCoPV*CQr zj8dBmEJhpD45h*{%FK=eY z%HMs%=BA*W*LNND5K#BV^nD1zlO`X*VRyJ%{%ttLMz00k&V7MgaV{2WeQ&t4Nw=n1c*8wKuvvtJ^hV&@+-yci?e*=;qd^8#g!sgh zeMk|7U2#V;Y z%YS@3qip4c)(;G%vafv`)fyq8gGQ|#liH@bR+Ve60CGG$JkForOS>*LElsy#qNiM5 zLV`z0;r@B0Qp0f3Iy@#f!S4Sp-KyliI%iGutrv=&kHyZV2w1q^yOE@N=HHhgaP|eH zE-Dv&R1&9N%Kvy1n^}^TWgKPEAz4zGxw;xKB2G!tw$yjFw#B!o1^-E~l1N+b8Fej> zz(G?j$3UpQuFk1YP3>@|VX}zMuV_qX5wM82Q?pU*Wf7F;;%dR=#6MjXWzfd>T1R=F zg!G+-#nCSMs?)wp)SG^)>Hjhw;HelGXy` z_N8X7(i=|Gt`MW#`gChdywXun`&Sxz&NM-R>{j{%o9Kk|N-rRDh|;}XaQQD&jVG^n z{5{C1l&}yvg_XpUqqgy{+W2=hg<4!!T)p%f%Ou$XM6v>$0YQ0eOEfHK{c z=Kx_RTOh_tj?z1312FeM25Ux(r(BP1zWFitFz1lPzT-=zs}8Gd0;d2F(9za>ZzC(4 z%9CIJ8}t1<+e``j_@aJCw;jjqU7KNvr8)}iv)9pCJ$5Wzwo^y@`aa9FRwj&2WyNd9 z?VW9(uiW`atDs%RU222K1C8bB6=b-0F{I?=Y}xe*L)UoE!;dtRo2>lePe(NeZ*ey> zd%l~BCToa#sECdF>h^>|>013gvxh%)4Hcy)TRqZ@g5fAly+zJj<&P4#0I+*L%D4G6 z7SJB>Vxl#mJ@WVNVwYnZ21;g{^@XO<+#ioA>c<@>(%bjTBn4ud!u9B;I*S2 z#7r2twOU+-CW#eezx5Ca5rwJqJK)WqKAi@+%Q6bFY`JkJk2Hrd#z{`D-r2Ow*Dns# zAkDx`d5LINwfg7htMbggy{;F>Z^|QJ)H2FpONjI+W1QOD;RzBw_qLmeyKNLhl>lk> z$+3#qjw+${;q!&HO;sY}=IrYa0WSWUHgHldD##Q+#N z9Z!>FrJV8ktB=Da!m)>nyhMfUq<3~YZ9+W7tbWtwjb3qXB`hpm8=?PUR) zHRW~W{>({X$7t5#v!e<1)TOyh0S@`?-NyQsZW)f=Z>O87>IFM_mY-5qMciKJQL&zC zXW0&>_{Hq8&j|e7yZ7`@84m=lrYJ%}hKL2eP?n)8 zx>zCl4FSD$dm$mf9!iqkdqeTl@ae^?)|C==&kVFYdZkIzHd2{#|ShH8icz zk1R#IzvLy6GGOX1$@(%pODF+aF>nP-=VCi+mY8nAC&$q%0hdlQ2!gd17{jdcULH8y zPM&-srgr8X>R`Or2NN)bSSHVXvyZMHM0SIKcX4gMXm#RbQ98fh6#LIfcG>n~cmE~r z#sYuYXtxqMAiT!F1Wm#u|GXCY3y{$iQ%2XKQuvU$?Uo#%^~^Dh5WqI zo@WPzN?Xi@!cWvE))xzWCZaWe)c>59*Sb0nXO)WH&ta0b-mM$EEaJNN&fYGy4=HY% zrS8zgt6|J6f4dBUqpWvN z8$7vtF9?}UET^TypEsn9WnX%)b+@znVz~9JJOU@1tVmOD|6_<30)d{IemwS=fraorX7Tsw5iE;Qb zZ#cQ>uKk4f6>5W@pJ{$Jd{I1H@6Bf-cs$+xU(>$1sVRq)b8Q{miNOI~t&$~V8<~ks zZ)^e`+J@1BOwULCXnkq^uAu>}{~X5R>}n zqPCtMJ8zTSYA1?<6YLv8+v(H4n9-1>9P(c(glM(TRTikY4JVR`dxZO(?s-c{zy8%>u)W8a;!k-Z96|&4cch zWr~hu=zi(m?4dFRjBiNuU^2eNn91pj;@se-aOvAMX=$O*4)`0hkEVf##^G5rY=TV__-9o2{+}yrnMC%nUSKT-c4%>Egvz}F~kiowA!h8^3YqvF)@9n?Nd_Q_kr6Y}f1{|Qk zf0J;}Uti64rGz)X0i~j;b4M36E$b$^yMw|CsJ{45-jK}$wE?+3bbkB|6WnHCTZGXr z`}x15X?Y{0bYBn!ai3``$nvjBnw8+pl~ zbcLvbCQH=7+$#7%8kmGw181F!411bkgP_lg-c9X8{2S}Mf$)T(%4c^`iO+Xn=-{6vQ#OZPxI?f&KHTcu5h%ziY`5=V- z|GHowZ-=HeCwYg{V6FwC9f^bld~kfpsywZEKq&-`l-=5jYT>`i&O5$``+Iuafrx&e z4R?_RnamAi!4zZmoyCM5@4EP-Zdt1^;ypRQ+>n$XFY|+N|I~Ap>&7{~vuw`pGBe3W z5~kf9^w=ec9Lkb1=@2x`)}?vr-(538*8X0v4ikATtFhjf^KJ8>p}Ptk^b2K7ksRik zf_UD$nZ6U-6+@r4y1P5!Z6uiz$LqGB@t0I27#U1+dS4>Fx1_Mu=Pa&7D3B}OY?jm$ z!?fX@0;ph+5-gW(z@7o%Xkq->NKMm9zPd2o2an-O(bqVbLb_i?MV(gbNIeZ&=0`UY zF&sFjk%_#A*wF%o%|7SS2y?E#~kaORKBEH^J?j zFTe?|_0aPx2KFp0hs@7oG)J2xfAL*Y6hxD@wKV$tpnafog+ zeJaxjMND7Sqh7Y#rO1(Iv1>tMeFL++YoG0QqM+1>;QUSMMhnMWW%c{4WS#7sJi1^V zRnA^DVT(7+ZfKGXs|PLV-8A#TFfPN1oUT1E-J;vT<=6!Z@ltwmStc5VOcv=xlh6b$l%;%oTI-R^PyIjg1_cdWPU zWNhwm5ml}mn&iXxMg9;slROaI0}+6BMST!`Nsq69h&2QPg8zT;lnI)2svo}r7ui7d z=%FE(yy=P-ukI<2dcGM^{cMGAQ^`DGqO|1Mt=3V`8bvD9sspJ3he~(x9ln4pa@xc4 z*gpkZb_oi&lsbOhmpx0CTD#YVU&VDiNWfZLiaY&$e!0iYz1IUPZJcl98Uy6EvNt6j z&!5ZXG~SMZJ>#*w?)8N=Zz=*k`lSt1x3WU{7@g(#2#?40S_m=);k+`WaSbW_U|u4B5W@mPs&iN$Y3p z5_@;MZN(hgU~Yg7Nh%iQ=r|7zEQ-vf+7O<>{qblzZhamyG-}aidz680Ql`uFWCYmfb2MA|q*x zzy51vd_1&s4tSmglDfG{y6kcgaHeqXbg35<7mUm#@Kz&8kclL>Oq zOm?$SIQZSlxaV#MFXV`gK%=$_6)$X5>bO+=kSKG7gKYv6Rw|Ars@qe7+(}kO9SWsk z@<-W7q*MWuxAnQE#4>dFdc=J5m zf)jQ0z)Pvt62L(_=H+kRyaO40pdgiTnP>&D3$`?Pwdt)*q-?DWu=T0RCcx+mg?~kH z9+hjeD_8khaH6&(iHDdFcflmf+fF)HGU|6L)dYzCKd=Ofw-j zgkZ(x_BN2zvAY`NLBMKT_PSSbQ_fjHmUbE4Jk<#hi=TuKYsu~1hAkNR#eCQwfdtUivH{$@{lI2UJy#+Gf(H_xR_>RnnnMI5Oe1&k3T&Z&Mm3{oJ4)jGCiUXqO$XpcHKi1hX) zND19av^OC(0ijk^wF9-Gp%{qho>zFK8{}>l2_GF?cF=~=b<_{KKUlZn2J0$Iu9R&s zKj8Lu^ZTcD9q#-|0Qkwh#b*+ULGC>@f4%Me9@ddmRW)dO8UwHmYhXS34u~MoRl##* z#qeCSC5wL#D}M|yp>lDcgM)B$9DQwlAmu1#YJyS@^b_3!r?|KxVhVlg@pw}R7Syb3 zh`;p{vXQAg5ec`!Fact4DezRmbYduKD$FjTRxsy=MA9yqyH_KYO_^aPF{*gCni`0c zHHAEkU)vjV*$Iy+Ub#LJK_)t2J-?;-mL8TICjt-iduhvRgh=HiDXUAdMdl49jtrY> z+*gPcKF;J1z$;zhnW2+)KW#jiHgvjr>r4JgQrUi&b}v#kd34jZyxJt|BK2;jJ@@Sn z-&J>!O5&OFMa$kJf33uh2lv;sFd0!`mnRMDM{bbXw{nP!L4&R`%;pCpLrw;z6pw@w z&Ya(q+5Oa8j`qD*u%(S_l@%Ab*P&?gGmOJ!xPgfudmoQzSLcAzvebq$3bwYQOvV~< z$n<`1lkFSXNxgX*9ss1sU5k|cUCVl-a%g^I3$PqhcI^Mcw65YkkUy*10lU-2T8p1x z$L4g^_B04>K+*+t8$CY-pouHYepk{|r9~ji8hC}O?d4p$vj89@k|_jlkGCX5N)}|Z z&s7R$BJQPW*&MC$*F;3t(GSYfV_-&6k#z zKurW1oUD#i0ncY|w*<-tzLr~C1p3Ygn%!}|TB=bJOE${bMa4fXUt(<0i_!HbV7SX^ znhPgWeuUn!iimWAJp+DuNDB(FhDF!HR&nKli4ru=KsUVC!~6Gd_$FSg1O6-?aB+sa zmw4?S(nJfg_BX7qEhzB(?K_x50c)SH?-B+6x6ChM0|&r(N$UMpIZNtCz||n~3WTGL zk*1QtSS?rwlLNWjoYO}Em#e~7bZ6PqPNbXR_V3rnQcu1MChL2>EnA%$lubFK!FFMsWV#1ZaS;m$#<^Bn0 ziV5|`oRY>mnH?2fW#8uLSGCA5o$A`8MwkJkJe_uC$a4rwwUWifYWJy&b}$A6_( zKa92nx_uT~U)dIw<>egDt@_wq-SE^P9ynxoR>3=?%M3w${o7d< zM!CJSJvFcqgQp!FS3rT%@ruk>3$6LtTa!tr2{{hppq%RN=^-wRoLVIfl|EcuDX7s! zLEY$XaQ(-Pf3yI3)Ag86s+z6T<5RO|uS5eJuF~N4^dP9c z&xF*C5?_L7k~l~GLNhcqU15bw*pTk-8!^q#vg) z${jj=_N+#lmY|g-M9MO{Rn)hcfSfw|3hgKCHZcFHsjK724{5bOH%TV_$ zPBsI-UeA-j8=#fjqo=EjTiBR2k#3+`Nx88|o{yB;P;(6V9{RX=g48>*f@Y)L(}))n zKXY!SZ}J?CGVGO)n~;#!j;~QuBChngK0HeqTD(GcWf!~Wd|)!hoGYFSg~XAOh*~s> z*ki(Te#9PDulL$${vzLV2p8I1p0X(WTr#tfe{OJ0I?70W{uBidfxTSbPMMcH(>Ll$=N<}t~kkXnB z;&0NL>;6cVLdCgSE}~WWhroC__?K?X)O9@Ik@2@`a4xBzVC`XS5wDu*ee<13md4(XfiJVWdUm*MccOps za%g+%zcRsHnEyu&6(4sKba&`5P`zQlLtot$!PkC#kK((^2B>3!z_2TF6bSP0jeJ5u|)zW~evLE_+j zaL;6<*Cq^s$O$v;B{A1u4hAX~MNjC-DT{NrGAuE|^}+$1Z^A16kD&n@JqDYXlxnYX zniic2KQQ<=H$FOwS~UQ{dwR#p`65Fah%19?p8albld2G_@GO=p4&3U6s3DTeWIH6j zb$MAq!GYy%z=U8@fG|ZcMo$vsUfHT3yMQc@T7{T3FuBGxieA6oF*pcXO3B#D6H*R4 zq1*&;z#KAg8pd{*P`462O1zbcho0Splqrq{o^IFQq21YegyADwo`>z<9+=ql#Iv# zCfQg~8%Bs?f-y7VyuiuR!oAHBn7Y}^%TVR$NOHKEQc)Rh@lM5A+F<&qeM+P?$fEANYcg;%t*rqgY3pn(~Guu^k$nC3whr=ok^<8*pGp99rpcZGpZjC z?WP=h>iXE}O*Y53P~$r-fhIT2+1Eau|I_BUiB5^&vtHr1lJ_#$&O0UEVRDmKFTWY{ zSw**{jIF~krd`!(&2-a)xgc~5ny<+_l?hjjQm#X52DoE=C7qQtKOms4rf{IJseTA& zuzL9Zsxis=o&) zI=-;YL)bTjBD_onfF01m#0w4XZ(i9L3TYZ)(0y{u`1F?RRYt{i1};u^GkRqr{!#Ihv7z~BYT zRB8-L`M~(B5nQ7{x2$;sQ;$YNCEKfz5GuMDGSmr#oBP2{DI9gw>JKX;9LhS?UI*p5 zm}Vs~CC#%Kd$@WMt8ZEn%RpBpf4u+N=?GCRvo;wI{gIthRi_2+(XsT8QfbTADZtR2BNIJ|9q8-u5i!Yl$0{z@-S&;u| zg=Hp%AHJ!H@T50on&G2Ok?}@AR zysf^rM0Bdxv6r_XMP(%DB9H%A zjv3?FfkeLYe&BzCK1V*X;r-m0vo2Dir1=&s5l|Ze$#v^7OblMJkK$cQT&Gz@4=)|t zw=6WNCuI-;zuDU9pViyIQk+%$N~!EE42*x}mX35Trc`miIY?$Et9D^Dn<4&l84aYt zwuMd|?L!xv=X-!oGy2-CkUD2b4LE!W?8Gl*B&`Jf(R0vI zsS)@}dSH5W18&}69;9fzKqX9I0{tqM2p=)Ldl(99jy&6QWeODVL@H$PU>BuY>6zK~!CM<(7m`0lH{Wr`G>IuF%<17@WKMgD)7J*0ij56K z!s?GYW*K5^b0w`icT36vA`lBT(COyS+m%zDx$0WszNCwudwqdnLY!2lcYxMaW`Y zv}?-PVF8;;asJ%@SyA1V1wK%rp4A39G6a5T{S4`FPQ*@`crUZ-cZ3J|&3BbQYbzi5 zJ}2x$3lbYhObbXpb?7~Ms^jCgOVsbaqU{7sj$pp&$3PRtbnHazC4D9}s{wI4rE75GhO~{vHP|{9=sq3T@*oEp zLdnDGf#fKtI}N$AP}SlJiZi~u_-{+n88t)Jc6QeZ0*Kl}nEZM4tKeYxa2uXOXZ->p z8Uz%^g14!V`;;UoUPEEsIxY<3g}C^{GH!fq%)$WdQdg1ZAWfXS0EE##d0+*E#Tm_o zqf)z|&!jB_;1$*JpRiNTI7+WOH3g$Dhe3F0-=HD=-9Pg9Cyh9`K&+K8jYT`~{pDt~ zBm#M8yybYvT8CO|V0v(S-XJ~?iVg!hjfjD8;{}v#Op`8O_$|$&&u%W=xhx~6wfGqV zZD+9DHA<(tqk&w3Arh!OFmo3V2Z=PAtv-b|?72Iv3;7@4|uP)q|pRgikTy!H4~90=XM{w1E?VZhItDL5=L zhKxaNC!v3MID*gS{#E^z?F%H^n%v$oI7Pr=GEn09B;L(MoD)2-%Q>l#n0Sx3b?}Rk zCWcRo!WBIrB%{RMi)+aRoMvI}?W?TTTc@>7EKOzRvNu{?Dl@d%JF5!G*|0%wRP7k` zT*%bvW(;<b z?wp$@kkSkNlNJ^h;BOXqU-0d(^e2-l#SsI(q638NKkUjs$MQ8y1`;xYc%=&=#oi#| zq~Zgk+gJng!ho=LkAcm3XED5JW{||?95c0tl6~9zAa!54UpQ7_iv6PoMUfltR512=kh}T&MJP(t6%a zi;_1Ll&7-&Mf*Vved;KbquSP0JK-7A&0|t{8{pai_{*KqF!glc%Jh5KZzdfJdWuRo zWur*eI*n!)(4$mGi&w!Qld>x1|B=35Hka6(fcpn90h3r(m$4tEIVt%!P;;@l2iy}#iX5F-aDZ`muf+F>em}L4?!ekN1ITNYeuJUdoz$$3}-s$eEJJ8Wwk5C&kdn zh{7`y0+&2zj3Mju^RO99h>DInh~t@N@V1cL1e#(XSo-Y`x0dwJM$;Z%4r{aA07p6K zQ@z2a(6EwLP!M)qMd^f2_9E~kk8b=W^BsyTf}}%~dn+LhGtVx3)OD}xK#8}k#)-7$ zl@$ia2p}VSq(-v|;Q1z8A-btP;yOW`AB#qruX{`;v0XX?cWH2QTAclR-JA$gl7fl# z%M-39j3(Cowpc$5#q3GA?5fv=8TKR;Wm-kQyu*Q zEhKZb~|L5G1g0WK7d&{Y0!8 zSOp*}pGM23ya7dJB)Kh1Vd*FfM`106)xQ*QAUu8+(#{iFI*c44^9;6oh#&Zs0al{Q z0;xB5KHzOFbhBW!tO4sKLp(IU)r;EvmwB8^kB0PLMbMR$2ZSU9MhSnDYnH zZl7zV>C)$K@b`=4T*Nx2rufQ(a&eLqY33&^Pk+Wn#LR)BiSAYX7-Oqmi>Mo41ec2K z3l_yBo=Q8}Lr>l{i1;G7sD z7@}-r_%&H3hpe~zRE@oRatPOy>>nJR6^^^5WEySznL&>J$jO!$@c1$MNhM18GI!iL zk!Z};VU>nl%3VLZ~?d&qd*Q#wXa1mdxEqH`V20)IJVo zjd80e0{c1T(2hySv1i!Ybs@l<^5oQ*(}y^zdXL)>0O&~?0D(0$Jiy_Tqwrp(<`!aN zw?_A1+SK4_j^hE^{qH_O1|&!i^mi|ke>PM<|Fnsg1&^+8=Khn`?g$fMKP7X2WF0pU9sCrCQ;*=ebrh;kX`#7?x>R| z4qw=W3OB34j6Ub9j`O1W6h3VAuWaisqf^ai4){eD<*K0Aqwad7#4+i@b*#JQi&1gW zLwL1~cV4smfAOnsy@{n9RB3L&A#+;quO=R?>J#B=&sbgW+6Qm*JBY4^Gks^<2L=&e z7CQlRvzYbbIDMz%rz?6g*~_}@D)}=sSuHE&S)abM5k^a{4SI|)M*nzrrWBk`A&?yQ z>J@}Y=bMcH*`%Kv-1JMS${|!M1I}Bp3=|Ux!%n3j##2!tgOwBf`?ISX8D@$`sRq~& z&7z@<#R4Nzl_e$cj$S?W4Q^{&2jN@UQoWo42gkIu*P0h^&#m+yhYL`Jf z(qX!~w6sZ&8+4z8vNSMfWPzslDkl?|3&Sc^57ge5do_legFlIpxr;U0w5_RsZn_`X zZqRePmiI$VRO;&8a2bmS>}rU&$w_l8qU2|2dMRoQw075sUrzb zKSYlmgi5$?-!CN$@;fu3nncB%rrJ1&l&arLP(u8GqEyk9D{Il*DU+H$5Jngo`Df=% zVn&8e0388Q;~r*)1X zmRv3pLxg%SxVG~0Zp4mPaZTV=tT5gHTobiQjV)ZKxrO$@GIXbwlK@KZit05Gq z9ux@HZ{8%0#*Dh;{S3vVav63J@{2IN^qXC_Csn=0v4E9oPt=Rs0kuv<&{cO`!vP~i zy9}g>q7ocn7?b(&qxIWz=H(+Ay-LY4h3Sx&d`$6;%(&IxN0H);o%Ud{k;kX*qaP=i zImMgwn%GfDnrP_S7lUKw-RjTJ9A%)0^e(~E2D4;4Sa;|Lv>rbK+YG5Uu#fo2CQxZ` zQ|~NKRsY}?@_E^*Ox4MA6z;^@8Qw4X>~SATzYKZ;L` zee)A6+4E9odRMXiWvEn@=z0t5UFs00c=l{=6x7N(N28jPvZ79y&vvG8NF!dSS{7v( z=EJH*LH{#QlThH(int}Z>JC7q$U@qTlWNP$=_1%eMX3tr6&`lo3hH}}uyMIjQTQt& zde1Mi9EJ#DknjUqw)fe`>oPK1aOSqVoL*8+x|e7UCK^C`=mp$HMjR-DK7TuRVXPu& ztniPw3|pE-M+LBz;!(tkW@q7+++Db>Af*7k5YxR<2*e89GH`0vT?qXDwPqKMG@AvE zjt4&}AOoED5Wb|VhYm7rEOX2k6VdVUlZso@79kJS(f7{8oWy51hbh1G(6Y@ar~Vrq zb}Y4AO?1*SglAOfAIlkC>3jM?{UN(qCxtXMFGF6I<1hDdDBKs+sWm8M&ChM}rP_BL zB3JdK%<0f19HNDuh~nq_>@F?_ZS+HNUzVZX6UgM_Co@*sw%kO`siXMJjL?U0dShQG zTf%CBjJy>@P8V-5xmyrBn^XoaXX8pchCh<}KcM_`iow$GzFH5o&4TFe*uFA|1qEFdpxH8mO zK8oi$yJI|1f$8kddua<#ZX&v+w!+h9Fb-c7j1@Au&CA$ot3C}GJOB^~M;S*RIXNYL zOi>de3b>U+d!|iRWjnsi>7#9VO>GB3b>=*-PAVdObhoTtDNJJ5@5R3=L__*(^RD}! z-6rT$$QyOiX6)FVt+xFSVUxi2m2(1=cLYo3^&L9m6^4zinFd->WT)40syANIrwD zDB;|7|DpMuEf4%V=yrvWy2Tz4i9n+WMAdJBN@IQ0F=p6INrtNh)UNa!q>ROXz7P`A ztqJD-azH(7V!|#?0{Ejw{Wf+%S!;c#;|o7u)pOx}y~P0MP-(1+Z+zNe(g%|=6gi8F z_d=<2VGMn<>3-Kx~D zdL*TFG>2zZwUag91KOR?C4jT<(aPLteK@N+T+^vq&cNDl_U`A70YypRhs(W+DF-Pp z@7`K-gJ@qjh@+Y;y&xkANBY^futjiq2D%Q2M?Llw5NU@>UF_+*p)kk69V8p4;n>m8 zIx-JGzl*y&l$za4qUT9Q++wK(-pbw0tq+YrA|b*4=VW>UUjY2b7msIrgQ5k<_Sr-O z{DrKfN83ylMSKhOxM1q`^&9BH7Q8F$&lF% z0dPIj;ixsbzM;2X#mwHuW^#HuMF*7$%kl9!YixF4?Jyuvy+7U5`J9G6J-cx(5kCcK zq;?LGTfRGR%m79_=>*}2BC@j0eldtMl?3K1F(u1L*DBzEP|bfX!ubHgfM&~rtgTc9 z15aGU5OJ~d{3MN*Ce+x}WD~Q8qzH3AiY?eeSb1DeGOpY56|zl-52>3{7`e_a`RE@l zKny-yAWAhjC@5UfuR%~NhKDRUQW}QHZQ0Vf=fdLrtN(N3- z==Y;_9O&_zd!_^w${69SRhuX?mmu5 zDk@a{s5CbyM9<5s9*p=er)D?=+^(&gP-9v9CsI(~sR7c#s1l024 z8sI}b@4o<~Ns#VQZ5P39K$2vydm-ur?_G%ON$&s=-^lzuJ5Tr|;C$O!(%vrq6^RDm z6fTRJEGHEW3=P{OLI*B5FTYM62VHEGY9DQ-xmn%zsvQ>_9^H9n3X1(spO*03mJZ)# z^f_;jMd06XbedWbg*I4acI+vjv)pE5zh7;&533@BGl-i!$EJ#E*U>>P%m^XpbW>7B zcTPrUO{pLhVw3(@LbA<2WE#7060YM=;sJt>2M<0%FcWD2m}=;(PPFu{`R0px0QtIq z>>C36qtSOB2bqJ{IGn)$u-yFVJ<+GZ0U|KCLaqd8t>_2+4#8XVju+(x+%YBPiO&O1 z&!~Pm?Q&@;De@p|kQda!hfLtW@W1ELF45tL^meL{{_WT&a9z+rqN*4=eqN{=OsKbL zOdIBh4#Z7gIpnsIE+M$sg1iDTVgYSg?n*bV_M0DhoQTI$X_iUKz&JsY9~NtszzKn{ z$DTsSeLR=ceU2{E(64ZR-}nImQ?dym=E|Eo04cH5-nszWBaD1+dOJY53Rc6Fs-Oee zubw9L9I>kE9Y975fpVd*t7{olFYypW4@jZ#uX9Zu4 zWtMQH$LC_D+=GK$*K5vh-@iDUn~i3PmUEjq#-#@xCbm(T!D1OuI>`uz4oznsF4UEc~#X1ZkwdTTFrQOoQQHt?gKiGU4>ZGS%e|9ny&G~B;te|PpGMfz z)*r_Tr#ilYU}GyER5aVojV!y1#~;)i7_O)uV>BrRrmvj9F2`%9_dGTxiqK{O*W;y% zad0I-V2~T9Hh?~0GW9eA#KDx8rMG8nd>p#vK&;X>jR4a06}f*FSs z6MaNsj}T5!d7}ugc6g`#3zl+`&M+;L3KumeM9pxt^L|ymV_BqES`lzM*X*#98PaK8 z<)0RE$(xT2r`ua|?#trigDbs*g1l^@_wPs;C?}(s&JwkUBFzs(^vm zFJIz5XKIq>0)8qmWHRh|6ixBipb>4h=!(G=J*13?hKg`hCqk$%`&2H6;d1d}p{w&a zp>(SqFlg{4gNEdyGW@8p>3l7`8Qb`j&j0Byzfo?cZxmBI9M}r^v~1phm%X=E} zQKM90@Mb(dN5@{3D$&XP)|Mmp;E!s}H8etcrsJZb9z?#3Rtq?UvpT%v@;!D8DTLYN zIP2>d9~LBR*SRtLExohIEZnCJ!*TFZwh$ErGv?pm! zB>#4o)oO9WlT|8>rLUrA_vxZ8-nvKep4T?$3P5=9O0b#v*L=*e{=zm{%h{;N*P!(> zx#VFT6K*|-zKRV{3SFiGzqzw4SpQ;KS4G}B+(*3WYVbv@G(rt(5#nac??U;k|R)nFUa?o=; z4(A`?+-FLFNG_jknMG zSeP>!3P!4Ez6E-o=lG%ZuB%b1TG?a#!g|cWZnTVZoIVYr(gNG=K5)i4h&OI`8POo| zbicgE_GalD*KVr4NR=ZfzRnInCX=FOLmB6$&hl{VpPMG#QccT(7*VYEQqG@acLxk( zH(0ngkOe|z**UnT2eZKgw|d?%ctPxXhcgcV!f6T5jt&HMd-2A&DbxWrDwr}R`3Oh3 z%5|X?VYaDbr=vJ6^ENgRno7Nv37-vgp4W0tX+Pq0~W#j~OBm{+!wudH2#vN*a~+K4ZNw%mIG#2wN!s zfCM6}USUm@L1=z{e#2lC_~#*El~1XL(hXX3n2^7J|K8AWS1|ISoRv+A*V1b?uTOzZ zpA=A9laRvs7Qr5*Yns30y+W}nG^8nb15wr5T+{?nt@yh(zjxcDys?Zotrkp&;Cd>x}%n$v`ln8<_&;as4qSBSvfh~n@lGUnoI(gOFF^kAsr7yUdJE|mEm{0X7=hZ%0^p{t0lnl z%(M&zL?%F~NrWp6AVNr>BN8JmyJx4Sz#jV5LKx;4`XR5HrUgDzDbP6clL`FbyC)EL zoo<7~OeTr(*De&RPo!&D^y5Oz850YDjiOxOR-(&u=?m*F38cbG!i05NI(9b&b^(J z5mGL2Jbn7F`m8x|ZB3StGg2#{@*`-xk_)WELz0?srJ}AVyb9ITyJS9#K`;BkeZ6}j zL?%+kr&UD6L}7FsHo}6hOJkMLM*)N?JXf~BT7WAyX;{DO3o|@%=svRdY3BoJ^_#wa zkXFYUh^*UBS1v_edNKnK)Yi6P$f47fzcJ0wol&<9pU$;>&cH@UNT|Gjw!2#wvldz8 zAG605Gb#HheiNLZ929`jD>CMC_b>Su(?s2$WmB3L4Up`y3K{-plvi(+x*B8b z^Cw67z!bC&GLoXRtbvM=)emtrE3v3d_dd)|B}vSdNH zukrBxA2-cxXioZbNuAI|&nB!l%y0gSzJ5j*J)>vJp+@=C(K6#4f}LZR&gB)d6Gzet zK^#j-RS+%sXoEp~eU=g`n!BO>o0xOCD6;VF`>w{I?=Xdem>>i(PBEdvxpp^(*ML4J{~J01a*rm0AuVR=@?pXF#Qr?WLFEF@S19i2as&d8sMm z%<2X-_Ryaxz41v9TD9Pg$l#Z%iFAcm65{EfFv}*IF$IC%L$FJ!^#@;r)z5kA^6=tX z`=khmlZwWb9!|Nh$|(D1^v45=Fc2S?UBI&ri~Jd3)(22G(ZA_dRa(c3cVBueXAhT8 z_IYxD>{hy)@`iQeZ>Dbn#;c^QpZ;fkK`qEq3#1aXX(vbi8E}DQ6uVOdMvOpq)|Hn7 z=Y*d#JZZi6$0y5->sn$=9#SpY1evH}?BYruB&<3#V#(M&_;ks=0x1OuF|% zFa^n$e^5wnEYUw9z_OVF#*7t5Ms+-H)lR@trcb=6XP>%V!2=;qC51*2lgnykwFc9% z*W}R(Q!J?7Z{PM`i4x@of)kjdp3%|t(2Jllf;a7+OUlepIm0B4jiXXshItGS5Eu_Z z77DrZczljtb=n`x@m_tCqy~Fw>u;6C4Q~Kf2ku|aYX!}%LCEsAB!{9(@9`c5axZ(a zQ@aW40v!_@my zSfq^u)1?^Ip#4TR!xEr8)n^|wLz*3idCQOofRr;%{2!8!{8>4*&R7b&Zj8t`<4oplH`@N-bL!No?`-$gAb_T@FwdRX zuJg-fqly0V+YTNhw;Gv30E3&o_TjtjCm+e_P!6vDu>`X&(yA3cIJbu;?Eb*Q91q05Z*lx=w#^QWiw_ikACcS50{KA2~6MAb=qeFuLmy+pa z({eWq3YF&MaDp_LNF)*mGEA*6@L_sVqdxS5)M$`k94d`!mb$2Hg7IwOlZ=dM2HG5ks=(|42 zL!_Pwtfjk;-8LY45$?L;s8dY-pixz>Izsu4m(b8Cz##E>klX`6*X}+$SOpU)SYu>_ z>A!%h`y6j+>%B+l2>JEp^T~t5y%n!TxS<0fk6ybD0qs$~wmGr>Z*WuLR$g7~;i{KO zrgMPZLcIjohN(0<8@0FbU3*s|T!%HdkJ^ zERcCgA;~kNlb0QG@;2+M*lorI=+il*yV?_Dx_A#qXtv1b66QBJVjFwV`F6>~Mmsqm zNAUQSr6quSX$Pgc#aj)OgZ5tWM7V!^wD-U*O_(QKcoHKU=2od_1m;xqShg4VAAaRu zjQ*-+w9xm&JlX!8-FVaQ$$bQv8$jh?KkvK%j{zP=m$w98dK@$jzD7k2^cy0qu35b) z#d&}%4A2F-h6g?&biHf@d7A5hZkRT0jI2M>{>)0 zj`&V1Ba5t>4N~3TJGe#pMK20rF57#HUos0T^3hc1d0l0O+(@Rb;Oia?%?mr;#+FS_ z%zHpuFp`%A#PkkuFNY!+2R}8=hUg|jk!z)G-nH~e6;A_@BK>UC2M>viMj9I>w1|k0_R%E$yV?z;j<{Yu zWdRGF2ZFGp18E0y0Di}CQr|1UrbIzWH9&8i@F1z5fS;3N|ukMJ?TP5@n&U90>rojLAugeQTJdK6yf zqH@&(Z+!)+`40~S?ctSj?=?^=u+ZsG!Ha@vM>CU$EKJ%}mUXiD>Pf4rqY;f|dh{8~ zWC;2VK8O$~{G{`dgIrGd5At><6v%|3^A&Uj`r{S(hkxU#B+lj&&mve@#@CSr${9GD zkwSF%6${e7=Hg$p^MmWAN)qCF`cwERo76aBo`|@=lec%Qt&W%122X;w6F{GuEE(g8 zdX!&u$i%L=S5&hun(+p=PCi*l+J@r*qU_ejm}+07dHx5V^QoqINWM#V${_-d*4_Q3 z!1sT*<8Gdg&Vj}*MrT?@sWau9?oKim>5&|t5kg7^>O}oDQ)rcM!6e{N?I{sWaPOvd42$5e!nPqKM$ zll()S=SBTb(6M%pwFQ)(9-AF&X#K^^y|Fq$b3Lq?BxDzr4fXfUa-B{XHl|g$(V}~% zG0m~=;S*w#xR^D#jTBZYa0jL6DJ&cb8pv>kN}iE)$RmqDmGW=zca=Y#li@04%AIc7 zk>zD00>@nPfmL9J=t*K>{Kk;d3AHWxD4jmI2sBSnkFN#e5P8a7x3t zODWdt>DfFihan8vLf9rbrs$=572^?9$@_a1hSY2k9i#xu;cx-!)YKG6HF;i?_8-RE zz`w4jIiWWX9KlRKR1mK1+4UDK`3=We=je_M>up~Qa$+CC-Z^{-;KNMWj{8H}rN$EKN zNr~_|7RNJS;gh_XZf>$-mw6LDMqY*93i$Md7M=g?$O2x`4IwGHZZ;kFPnsnBuf18S zm9r2Di}>^ZODz_aK(kQ4YQE z=HQkIbP4uyT#m7{(?KYQf|3E?ugSQ)vrzPd8~<=VJ3AW&NP3P*%lL_XNwyWemIW~S zfsD9J>z_PkgwE|31{{vu{Iiz>hCxz6?d!XxnR=`d)aYLOEyOux9lq}}asd?rPJ>i8 z0yDwn?5vw)9O}HZ;R7qH^d?JfEwd;^1oD{%h0F&v|_wveAP{7{m%lN zOk@J2a#M^>TvA@Zk>JzyIB_YV^f6wnYk1gPg#F~cAs8c&Rn-!2$0m@P9rq~wzeBfQ z;PH^i3D$o9Z`;i)xrA!Ms*U~oOjvc@ zUqIcwCmNkKQ}Yjp5Lo36hjy50k8M-hf5Pkk63Ci8<_w*_7hiHkTb{K& za5I1o5C@|XDm(CbrFUcm*?qv@{m9<@Q+eg_pY*z6xAIABOcUhd)UnDyyz#N8^eHd_ z5Bm%}ECE>b02F}aS1SCjqi~Bs67s_-8*79Qbf@<&PNEs8pgn}gq{)Irniv|gpFNwt z0F7cSjL>2J4*Vk69Zg>uZ0@C0*40R=pIpFi)Ddp!29VTkt*jVBh} z`f%Ch8!#piYHJfYd2JJdxG9uB4}JoS_v$H@eM4|*hz)p3SYTe2 z{<}P%b)7M{+?@e_NQmvi9P9pHc(TL)zhJQq@84iCi34L}0}FP>3_y%+%bK*c3=o55 z=p0wP#&Q^PBcVI>E;(5MJQ6L>pMjOlxzzYK3=h%aEMiuWa7o!a$K+o#z8Dl7+%7(A zEpj*G|HmeCPd`ZQT=_qK2>-0|axZX2UFJx-7|RLO9dNFn`MfnQw*%HYkiJDEFv=f; zbB=L822SPmnt*L;^{{PSO@_G5pi_XU! zX70J?zJI^#y1pC#B}TRLi?e->nM*bNRvT&OuBLnVQEqPC-Mb7z?levzVf8MKHc{GW zP+Pkhw>-s(`*nP@Kn4l=z>V~G^YXNr{zdb>g;VIP;KpA|Bc07D>=?HXx}G4gBJ^rc!T`zuXA^id4vQ6_Eytbi;LxL`UJ z#w`;BN$GQP{BQ$J$Y}O!ib^SY5OHyCbL(Ww~F2*e@kU+P#E?k5TC^ zOI&~}HC#_CRt&PI$u2;hBa=E3=#{_n+R^jf_M$<{AlzmgF0ULo+{=ya)W!wfr2h<0np{2J8j^-iwDTOzqm${<6+%H(+y0Il7af6as1J0yr6!1ta#f`y2L7?y+Id zYfp3k;0^)Fpi>^^ZdEr1S*xTD@?{(}4ZBO8I&EfFcDUgzeC{`|1>gn;r}1e;QfySz z?rC*12?dh0(?AO>O)HAC0SCB@6*DTWrq;FfJnU$7l_Ec)XtZu-`6P;Lk804E@8=xxFNKoA$2Wzo|2M;RIEQ&l32o+&;N$SG4Sf>rxa{rp%N8_$j11*qoOYOsA z`(si%aUC*T>-|oc-^wn{(U4+ug^dc05O0%9w0j0P#X9LRmM_3_W0=B&it&(1?@IN? zP(y0YtGla|sQ0}!TAPBXR1COn8oq;%?@@cw^okKpPGKw24u}z+y2FjpM;6Vr>GX8A zZtumy0-{|uMV=z~ntGX<)hd^>d==VwTT?xv$9;h+Z@E*>&iQ=~w-#5y^3;Pr+CZqO+tXos7W8?drG$vKEu2l4xCaM0~ea=T!mr6=Hg0FKH=!2;} zHa>pA!2#LH(Ip!WhXA()P$64OAhBA%RyY0^TYGe+F=Nf&d%&r|-_4FWignexhq?X$Q^9HFRA&(Ly82cxcYAnnFR&g&YWwhxWQwGe=_t*9p-z2% z7NZvqzx80lU%q@90i|0V-aJc*rw_9=;MXIIA2|&UFdh_&pX!yQ_aB6)6+hS&8+E3~ zw08Wj(^w`8L%Dx4-~Zy0uGT4n1|l`J$~?Pv!?z04;|CmnOb?ZG*4ExtD^qHutn{tB zAJ7Y=xOJc|6@Zrnhdb>F| zHt@HHSC>D=02z_$Zv$9Usi2wiD<_O-{w~D-B~`EUD>FgGKCtmBo%PDF#ke1|3hdWR z&NR%-%(z(mmAghuV(}BuwRj5qFQs$gx$4bZx6WpazFrE#!BaLTn*IeSf1g)nG)a}0 zB{mV$sfsHwUPE;c;Dhxx-;=(oqI_q(IsRpMbD8$ywb3lt^^0u}#xMWSvX zsT!p*)WNluq4PPwK;`cKW3)!g8NSo>vKp+497b&P+gbcDH-!u99w+*xqot#ZPAez$ zf*lf5Q@$m#TK|d5DDpA}Iu&@}%?A{f*6kv$4IyIMNmEGALQwo(mE*cUqwcCjtn*m$ z`*l16KU_eBV3z>)Y@96+EF9Asx`!FO{$aLIB=xDO%iX;pP}N(vl(K|A>?Ft5tv!Jz zW6siOp`wm9<;qzJdg%AP*W}yRugvtP zoSec-{DE&^hWOP14frvPTxv>VYs_0a&F=OgTAYC%Y&j1k&El1LRjiz^|9%y^J1Wiz zkwAK3U5QP>Vp{8)+%!7KD9xv`!{bWxd! z7dO;CBvwS&s6A+SMd(#UN{^$XI45IF3(udoA{tE+dTG1^CI$wtbDv%@lgZFooHj}1 zQxdre(6kTMmVCL38HKbztI?M6hY8DSFK(6N78alD>R4j-6bSYziLCLup_+){(wDO& zRv3?{*(~PX(Ecbo0Y}9j21e3;_o+uU=Ji1eXJX%<5eickFJTK*a+ldQdl1gnoCEez8T%TMJqzamZiWK=ZvfhKve%wmu`)4gfu=5ggk$Lg zJ>~b2tNwT{AB<&W^>Q*A6**^SWE?9bqQ^eIdvMoRhsPQO1}|gYTuX%o-T|LUeHefw ze?mZl)a*l59IT9$xs9)e>vs4< z(R&uyK>gR)m>48x)=zJN#U;(JA<HI>*=g)oX{-Fg4&0H!G zsKS45aWlYC6em9TaHwL`7Ky7Ne6(nJWY;Z_X`^1p(>zpM&CSbyvOfZuKqAH+lez9x z3?8xsKHE!esLecEJel<52@-p2okMmg2jN!1b_4)vs8>RgGt@RUxSJf-Idllc9l_r} z9)c;#l{pknKp5t7X$~-FPo28kcYJ24siQM~=K;AD!HCFCYlpZ+y{~n;4jp8p1FZ|k z8K)kx?pV@y_|gkZOEWPn5WNwjINDqPVGaECq zM@bUiN|IQCqu!UIa{3n+6;)sAhl9KqHv{G;$*i@LDe9< zh_7bVPl^&T)eSd`a@RbtDI2uHRm47*W$!^{l^e`2{onm`vmo|0#59>_gChtfWQbyP zC7(}|PbqTXTwPsT9Udcjz@$(>B}AYKbBJ;Y#Dbz5B7KSrTe0SPQ|!ij1Ho>C<46at zF^ANP%dB|8ej~I@kW5a~-&I14Ua_*wnW9zJ8Q!s4kt7W=>_NAGZaRjV$!Dyc{QJ0W z(TvRt6A@XamXx$v?XxA&hH;`ly57eFIY`mw>J8ut>3!;=Z9y@Wtor<1S1_R(7SIaoWH=} z_0;h7iGotN<2yMzW=ydY?Ozg{@C_Au! zKZYlikd+ZtjdgV<_tr}N^xwyIU9ZqcDTw9_+-d_(X)oW^|2Q}FR>Jdjp+mGzsGu2u z=tzt+2H5?wiO>-pIk0%9o;qo8(e522f-%!?2e0d&%89irSRpMKXYkgtWLNmeP8jHhlDsnE#xRoZGHA4L{7s-xF`D)M!D@?O6DCI)P zfStsY&VjX35Mp7D9`r+#)mzNJRiQU%>jCrZ)?&m)4f?Wbo)$@fY(B63eOp_l%qfq1 z$9L}-wxjjDF{i-~1}-d7_o!)oZFV*2V^gPXY_9n~u@PJre(@6RJ5|-~RofO?X=``l z@Q#$6Lme{{-Pdj6SE+BYKj+{4V^%c2LvjdjR~g?oFupb^J6rR>5hY0B&-DC}!ZZC& znicLkL|eX{5vDy|F*73_Xl3dFj;V`P@v5i;&fkr7AEgRjD(QUHj1fIsfRX!X*x2*3 zva;w^w-0%o5j@?#g;BLWQt){>sQXk+E$yrsXE5ZlC>h{)?1Rnrm^T;@F*QkXJLN;} z(d5`pNmfhMGu_*fZQIQY->YZ*IDH$gBXE3B34u`#b_Ps|zkL&2BQMsZ9?HDhTY>a| z^NKEk_0jduXv19Mw0qctwjB~=D20*vBnM4f;Obf^QGU+=QWInlHVW@MSTb}@vae0Z zddu#0C7tsV!`;-37_q!p`VtI`{ylpdzS$@%ubht2^x=%{>an#~IZ`AK@IVw<5}gE&w% z5mByg6L9%za(xz&v%!qUO(%t7?w$1pvw?o6LLtMV{D%)eoRh5N>PXIP@#2PGx2If( zc(*mpPF5N8{|<0Zw!pLvjo6@zfx270N}FOUE&d}l=bBg77T2X3Os)_~Pj}ROpJ3>dvB}(V_HS7DyE|5hkDk>@!SslLpmN6cXkx>sI@F;C?LH4); z4{6KY^w0`ZL4(H*kP|`o!0rdvv!85~9h&~}ZU8@bsmB^;cQ$dxy7o2fj@}-j@kuc1 zXmrpad(|uOZn#f9>9|b)d_Z5#3P#l)+01j^0B!L=&PD$yBr3Sw#<=7b?vaR_fpDp* zRQfL{3Cy;JNo?M^QE&Zj&r3AnWa8E3E%o`MYg1)=U-g zzqqG0?<_D%kLc zmRalxk&2`l5D(*P3G>!C6KJlA+3tVua2;CZb%)?DQ7ph9$IC*YP*(XqKQZv1K7^=; z&Jv>%yn&c-Q~`odf$_AK_$lzv0!D}7VqEp(S228awAJEvoQ(U)kb7BQ#N=ZHIp+R! zY;+vYh9H0|(}ng8UIFM|`c9_2>}ICF%=6kmz9A+SE2M6CP2%s!eTB)xd*P0JQBjnKrgKIr{y-@@Uf=sU41l_2DYI~kLV0EdJ-`k>19Lifee|LxKl#g-k>_r1WkUJDuO#|JL3tc5u#i6 zFZ~G}9Z?xarNu8!Bs#!94O_@ozju-_l;aPxy0n))aLP?)%GKV!uJk|Onr99b$<-7J zJ}GE=Gc~TXn&o~TD*U%~SvTw?IoTBLz)Ndeza#kS$Lc==iKi|Lm^!;YY!h*o*#nh$ zf+4dOR)XQ8nQo9$0&!9_X4{|Nr<3poCdQu-+3yGfrzJ5Oolc4tk-g_w2GCciVdXur z`5&i(#(vC9+Wz+phK^3{^fQ9_pU>Fh14YBU^^=i5PtnC}l&k*pqcO|>|LND+_+MwD zPHB}0!U!Gq?^OvI`_&*Xj8y85MABBFDD=G}2OddXf0p z0zSxBLyQ0Z3{3~$IyIRPgK35U+Yw%twxi)@0&wo?ae^ynkG*0-?P1>ITW(=wg}@Ch z+E^{gb|;G;Os8{y4*=;r*ICEOSC9I??6#>E^^O_!*{mIZ-d^Df}T1R*R&Up;JKW51~KL2ufa%?=|3xB5W{*{_+6bCUI zZ+d@Ii(|UOqB{um(JumGvZO+NyzcncJiBW7v|_u7YE1shD{4X_d;T4}@t*5Ng=|)s zPRk>+)}&ScCib6FJ-$XaF}d^O^P%VY^I5G{Ce!XRj9CY6w?@7Bd{gR)+sG|i${mU- z|FCB8|F+OFof3H61q%!+o-E!##u)>4h_|K|2IbEcA%_)Bt*NN)n~HEVcr{AsZx!hJ z5TYT;765keiGJ(g8uOl$%Pv2Kl#XxLF02tYvm_EmnuFpmO3sX0bS=K{tUJ+3l<1xWpc`A~+H&^_7AJ)2I(g>`q)LxCawg~G zIJO7qgeUetp6Lr}cz-iA*>9P}bK%mD-#d4cJ7y2<{PiZD^KwFp)&2eb8~eQw&v;rs zuqH)XQjpRLG)jw{)+8j?u&MAmd_S>xqOjVkrt+yoJX#!5ryo~DBg5Ydf0Eu?6*9YD zm2WpA%-n_@-Q5kE9iIzVCJgR>vfV><@uSS2!Mk+zI5w)=+T8yu%N#<^3`C(dyy0W< zqvZfJk`0~{#{jT`AE7V&0IN96k`*?hz%pewerZ3ZosSWv)fI>m0>f8^tMB2) zKqhajXIydR0QDh!1=EwSwPgtyG?#tGWjvK}?0+7yb+i)-&~fH^BF13-`P$$Um{r9G zNk$#L1c()Td3?X!U?=vfuU{!!+|ZTd0l(+gSMm1-eNJuWaY-ixAHG@}@(NdY3bn1N zsaHlvM1HZ-^4$00mLlek4R)LtY974OafJ^(%<3bUthKUR7T65RIAEDTqj5u z&tn#^G`d2{8=hX6J=TqBn?7)yE0Ru6t4%HyUi;FH=F?khw1p6`9@h`#)kze8`qns? zfH8KS>*+cJw9+X4GstaPoahPJ@?Z`ZZbt5B+nc}KnnZ|GO@zL7gvKeB2FD?Pf|e% z1pfn})t^ToK#Yx!W-)?Euw*AqvL6)W-_;7A1OUDZ8gagxDO##CstX91!rY78K~vEb zf|ALvv?xw*La!sh4)2Zrkju zaKsf9m9%@`>c#t4&~=dcJU0`9W(;+8GX+vpQc{wWElf=nlAZ>2W1b1sIjyzEpgAqg z*3$CT!B53nd^dqkvj;{e(U$27Q^>N=n|BV;Vw?|C-YabK#*Jg-F-ztms)9vb;zUGl)cLk?OTMP0YWUr!)-Q~!)oH{btJm#ojeIcekHU? z3F1Ch8L8#OPjBID4qKld4FR?d0U-9U^#7Q~tb11UD|+O3DisGSBor}ZXzO#zGTI4V zQ(I^I!ftT%NUGn}K*ih0wREXuv|C?~#MYaen+uXL69at*WReOz@NC_T9#v`(L5Tvl zV13i<_+EG|DY%czzW>V?4c4BnvH+grTI5j}8>Vd*@)tuPjzObYSSlqNZjIme0MKc( zi+%P?R#(*~+8j)^(SmQ3tDgB88AH(XiHA!I3**?~lqGn?rzhTOZKI)fASK^7zSfeL zMar>HOCn~luMaL_qBWaTrr=78AwQW6CvXHhW<4nH^FV!*sZ#`{@$!<{m`_Rwa>U*Y z!+EPE5XiH6Fwu~9yXOvC68W#wFZ-)K*DT&@bNR$XzHNK1?JgES9Ra>K1A~LJ(Cd}G zMLIXCdxXv$Dt`0`{W;wG&%DbYMo7>ee|tE+{z!RO?5<}Tkz+9fXB|Zn=1qLX`-3zy zlXS?9DCJ=VZd;c5vK#T#H?|}m4hJQ$@)#Rs0HZW(BMow+xA)%{j;tPj&MrTikvc|P z?d=s$fU}bZYgza349L*-hePcHX7Md^UH=Skh>UO{4j++2hm7{BAYkWlI?W`GwJp#`kp+7QgO{ z_9M(Ah?UILf!FzuS1FpwtctW&+jRIr=g_8gL4Y#0Q{5HWB_$<+D$$6m?YW&pB_Q7B zdr_&FAA@G(9}jnE8lxa?{bRFi-IsRJF)?M@8Of z^lklMri2Wqa+_#M1;(+6=f)>1&&oTdTkDxf>FMcp;d-&Ic;91(SBj2S_z`oM_uYKP z9fInSBLOeFQ*u`Us)P@6gfMtB-rn90`_m|GV6I6LZmp|Tbu}|nY#t2`W}du>TsO?m zU8HYemBGn|1vWSWZO2025pKWP)wI~48)t+{R65U0pf$qyHeR%0Xna$EBFS-2N2GRU z#TDm~m;v$aKV+W^BcY@$$}nRbRHb-Dc{EaHxjo2d{e-LV{m_>xQ&AIDL}p`J3eYf< zf(ocDcNV#MmG;OWx7Iy@72stz)Y|RE(Z{q#!x31%@fcj($gDkR6?trh4#^gs)BtMA zBfR%m_z@p8Q-hA=SRef?!mdqEBF*OgL0+Jol;$$h)3ZKvhV5eJ;oIVBRi8%y#4!gx z#GSt*_*GX|yuiv^(a~5gzI`${PR_~B76W9`%-H$Z@dzj9wrvr9xf4eIuphs=eYj69 z>MklBSj;gpGQ!UY(V_EQjkgHnN`Bna0K4wzk`}KK!@RnylVI+DJf|}@Ir!zv;pBP~ zxD-Nx?yrU=468iwBmF^i!ChCtkX7TbQohV}Jy}P<|4o6u`WUldCR|YR^DQ?kp?U%p z7MV6~2X0%I!rSCsN5{AHk7-F=Zm?65xxMMOnI}&CuI2ASh`P|9elz(9P$^&2J}+c@ z=1uV?vMu{g-J)(ul=7?rkAEflVW^K>FWYJG+8c;!N#*b<*|X{#q)`3pfvJfjxK?og zfa|n-TgV|H#GGy;s-4fGAum`vi*&z+Q1UrJnpPb zD$|=bjdK)_znEEQ=S!t>UAH)YUh~q%zs{gSFh#J77|-6c+Ij4x2F;rD$HttP$d5Pr z<{DtL%8#(o4Nvd)m>Kq!{3iJtRxh8-Hux!I>Vy`8DzLqK6e{D&Vzzdct?7At*U!gL z50Z8!!^Bs)*>PNHaU{~Bb~bDqCd0w#;gk~K2Yf11CpIo_<4e%sa1u(&)i75Zo}|gf zjuc1+?a(ZN6%2-S2iXG+A3LP9X}x%x%Y44<#^agU%kdeojJYtFidGI-L1W|2>sQlX zAn+>yF3UYgqQKYcKJ^oanOh@L_BSras(sY*x4HdP3wEBgZ$m>uB|ostQmI(1x~_Ih z8fIvB3pK;o@=eqHfbXt<133GH5QD z>PyAxLq}L=Bsb=(vo$%S_bs$g>k z<>r-d=;^q>d?h3C&%)z3&xvtfm#3L7C}AjOa*W>QrNIe9O6semIzV97)oN;L2dJ0J zVotlcy&D>zpH=Q6`@QT&#WmVMLpXl|6)P0o{p+-SD1kNY;U0eEmr(m%M5AV=Pnk%> z#6?De?wkH1jfg2 zL7>caKh5>sid42(JQp!0lB;q4aL7Hj!A7e>%oe}3iHMZ8r3Q-5ll}ivkuS|M11F%p zy&C!Z$Cj3siQ9m#Tr-lFo}2iL!S%L`>7|hz@v73&K-F^v^KbD4`~R%z7mwtQtisZO e?f>~N&##;{cpVlnN8L<&GZjU3g>*S%um1xPU{WUl literal 0 HcmV?d00001 -- Gitee From 828be96a172d6202d00d0c110799b5db916c0244 Mon Sep 17 00:00:00 2001 From: yuchengen Date: Sat, 25 Apr 2026 17:56:07 +0800 Subject: [PATCH 4/9] feat: add ComfyUI v0.19.2 container image for OC9 --- frameworks/ComfyUI/0.19.2/Dockerfile | 34 ++++ frameworks/ComfyUI/0.19.2/README.md | 103 ++++++++++ frameworks/ComfyUI/0.19.2/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.19.2/test_result.png | Bin 0 -> 97933 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.19.2/Dockerfile create mode 100644 frameworks/ComfyUI/0.19.2/README.md create mode 100644 frameworks/ComfyUI/0.19.2/test.sh create mode 100644 frameworks/ComfyUI/0.19.2/test_result.png diff --git a/frameworks/ComfyUI/0.19.2/Dockerfile b/frameworks/ComfyUI/0.19.2/Dockerfile new file mode 100644 index 0000000..e96d881 --- /dev/null +++ b/frameworks/ComfyUI/0.19.2/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.2 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.19.2 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI + +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.2/README.md b/frameworks/ComfyUI/0.19.2/README.md new file mode 100644 index 0000000..7943e7c --- /dev/null +++ b/frameworks/ComfyUI/0.19.2/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.19.2 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.19.2 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.19.2 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.19.2 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.19.2 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.19.2/test.sh b/frameworks/ComfyUI/0.19.2/test.sh new file mode 100644 index 0000000..d37ea7d --- /dev/null +++ b/frameworks/ComfyUI/0.19.2/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <Up87fQhW1Yeou?{ulBXVa=D%xQK4|!4mq%@#IgA;C$dfTl&T*PZ^lfMw%SOq5)*r)s_u)# z^^`iCrVO~;B?ET=$K3XOT@@>Zu`DMiXN+aDJ8hgw1FE-*_3Qa>n5z1HHI6~gF5iz& z+a%#EM3A5NyMriSIZ_e12SLs0B8u@&cK2&a92d+MeP zb~z;_Wwp;+h%Wd+Jc6G-JuOYP4KLbCYEIG5=__~PPH1fjk5f^MS;dVlMny%@kyxZ% zm53-+ymG3hTypF+ty{)wiPEVECnJgEHrseBJ;cy^-sq?NTRWSxY*Nk&#AW>)OmXpB zMO}$!ni;N(qpbk}0d6$wu{B$kXf&GVWM+@m`)vOq8?k3tbrTe4c8_WA0Ln<-ZR*>= zfT_BATW^K?$al=_&#!Ni#xibW5;~kx@z%J)j^O=C_i5SWT$yj;i{1M?)3^01@(7!X zqKuclmfls~dneIGP3)cv{VB!PfbmufJX`auecUw%;bOEpj!$2(eGnqIHt<-3XK8JI zNW4GlrlMjPi%cgTe>aQ3D(m4m|D&E-XMFAOgB!%dhAy7e}1e*T1vFa{8af(VTDk`e12meKDN%vNQA8GSNhxi!N5k1i`j0+h$;B z=(9}Fp=FhQsdAo{S@OAB`gYM)0&lc(d|ImJ1zce!!A35bHmL5vfdkvy+i+`kTb1xw z)2#b_S9^yV!wCwwLf+_>mX@be*M1BQ4w|(sT0EZj*cu9#_gn3CpA0;^DUIIQ>MFYb zSY9SB?E)JvHYTQ%NUW%+7@GIsjgEiyit6PlAH#ih8b!vw%Y?ch+AKW`5?3oIDA?k( zyt*157M97rsZ+BNojaK{CLkbyT)`Jw$44kx*xTFRwM8CBy@uN`FqoX3bwC}UXgk%m z$c2z``k}B{Ysp#(R&JpoNbQ)GP#xhztRma#fb-QH0)n!uMH@8{`T*cIMX@95a zbRDhy_lBdJi*53;62orv;;Js@=GXkzS5{US1D(hVe|=cBmx3wD*of%xz3flQfT#68 zHa4(S*YU+}g;QfD{Pa;SB}NZtF%Ex_!#Kq9$cf=7Zguh^q^l=~DZU|1*KC&>3QAnO zcu`c8i%lsZxvEc|; z4}GGP%k?)~yPv9=VIktV^z*B8xzBJ@giT522d`r-{a%wfU0r%c#I|JlJnQ%&$wcj0 z#=tvS1p8hrp%!cKR;^s+jC zkYn0sd+3wbPEf)0{=OJ@7X}Vy8l5b{^yLFOxrWwgv-O_8kDnG)VvcLJpsIU5D|Voh zvTUEUWL45wYinyX&JxAyT>icG@sS>Ra^|F1+wq8Dzr7=Q>Czkh6AEv>j*nXtQRlKn zRq=)V!EBxN7{bW^j zb*8{SUs=ofZfN0)CHg$BpBfY2F3y>QYC=K+6Dw<{s44+biha`&92t7#6_5P7%!r4qV2->6r!xM}%)4JFl2)VM zT}y07JdVxfOd9junr}RD;>6|4mlvcZKOWP~%5@1LHL9FHK^ZXfy&S*v+Aa^lxiue- zX7-6LjV1BkzL8?7r+G)$T|AR8G3&P~(;U73bBa&u(rAK1OX`bz-}4={`^3dmvj{ej zFuJn@`St}doBH}zrKdM0{~*|il_U2H>b=+BSEPVeMje@-oRE}MHT z4BxtUB8TRk$zKGUW%->U`Qg7G^)o-}N9u0}B9*I;#}da~^^I6i*81C#kddh+7-U~g zOAC?%#d}ik(W_RgprD{5M~)DVWWKo>ZWF&!f7)a%;gS-?D%_KP%(+BINTeP8ua$)Y zZpR8Xb00J!-cD^7La*Oe#pfDVZ3vMTgm%{2@(cyNlTOnFjWp)w3ie*Nqii>1*udg`BH!ag$+Z(x#YRjLB-9YZrNPw=0P9W z^$YhL92|Q42(E35#^~*3LqYBcWx3>4^wXJ{8Jd7=Icgu8qqxOXZTYXTGBa0tujXz| z&wc#(#D`|7pQ*j1uD^kcnZ~5X&)3|XgFd9U%9~i24f!?}H{vg&oXCT!oG$ZOcjlst zIDEdUs>;a7$OiHL=z*Da?DXpD>TQW0EOjS!pA&PP@Q?Ym9*3H3a%uDQ>=LFz<|yu9L#Um%G#Pe}7@q(2>_OMMwoI^}tJZStk?tP8VYS3QV#Tbmn%N<2H6S3|?v z05v<$3)l2QJge7o-BI#8k;r`qm-M8Gg?XW)gPbh#jH|F^W#4+qN7Z1(gE@UB`~2~W z)*0G+Mbdu#50){^f47=cBdcp|;xP~n%?8>P+@7115HJ*kCWF2sjHe%XMPE<(0;x53 zGD8b?OS8n^1-f>8Bwa`sC@dBWwW;xdMxWQDz_PkfqFP>VZi{>s!hwdVy2oy!)yL1T z8h&TwWkSLtiJN;ZRx8Wwpo8%H71q-bF8)=^tAg}U?S!c~8ADrcChqL`X}>!+!mTPJ z+;p9w#d&ny(L8>1Vj`2ji$GW&s68;AY|0RLvRNF0G}tR=5=)wQ&zv<*(O6sQap?D+ zy^Jg5$2l7jNna8mXd0b{BP3CTYE`iuHJjyeCkqP&d~waravo|K@pQwV>-E=nK86ld zVUt#;C<6wDY^14BO>`x=u`2|_*P0m$91$w#iwXytxxs zQCKJ7YL!y<>ol%?{82OZ)mv{S^89qp{bKEWm8}dU^4R6sXG|(Uzt(;?}s-|{0 zJfEQ5*Jox?)a9SWpKDZcKDMoY_M9o#Lj8L}mX5?Jn-@6C5~wpS<%Y7X{lN#N1{5;( z6Ixjd$2?77Yd|6%7Aeo&g#F|o8R=gl{@rvpwKQ0vR;s^FAf?tc50e&prDH58Q|{mIg#;wHkbcd8IXKOlG>P68 zk_vKm8nG?%mk6TnN5=02B5$~Hg^0<06CU_KL*(FkXO2Oj**n&X0^Mv~{uciA$M`fB z1}YC`e`d1f1NnGl9nY=yN|@?RUY`2pHMOMo)y2i4 z!omZ2H*8YJJz%?K5;7|h>)9up-uYn0xj$)U43oBs(4-xNnO-lyRMfskf(--ePDL@z z^T*Qeki1>S%nNj3hnI2D1;3-6%d1>a?oDsR7Jfmnt*9l*o}moz+wAEV|E!snmy?sR z$exlEUjpG1tk4nqRXIyWIaHNV(iMdwB)&`Yn-4K*$|byz-x{QyaBwgP%{LT0@_q3G z28p_1-&fi7c_3gzF@>O7ZDgAI;x5D*e>fP(+bTxd`ow_~W)(R+uBZMBMO zw#dpWeBr%11Mm#J^z|me2Ic9w9**9+C$nt>Vd=Rr+~&7(N$gzNvT9>@IZwi6i}k~5 zAC$)_Ma0BP%!m>GCEZ=7Llvz_RQK*md+%lip9_!C>-H7iHXM zR8&-oJ-bsYmefdz)>$%{_64@Y-1?#U%bpxD8eLVShgwJ)Kkl`f$K(Dra=GK*!%8cU z*Zt(ru^*NXDk>_12$6z*9YCbep?dtgA>`Jz8c;`Z`KRDrXV}0y^{QMYrH^%$7ing$jvb3JL=D4X$#OB z_~hY6f6br%)U0woW%CM$KEc{|p9!?!c=P5B3Qe6exdD5~)hIb3A?iZX7z%~TxD5F; zdp>IL%a<=uOqr6SxzQdyea&Awl22vT1jl@sgQy?iEl0R(ZA$njyWSn2nL*rz^(`Ab z`gqp!?77^9(o$%67sAh(&dFSjkIS4j#iTwS3*lMgJ-!?rsc=vEz0^`^Rqm#7`USkG zx0e^-3toxqMiQ*&*b#kwAIk}6kId<)l=j=mn&wbTd|T?ZS`8|=VBp#RU<1RXdDP7=?A03+S=9Z^ z;+ytGXESP6YWSWGm}u^+dr)#Ub$q#dWr$2XF5y_%GmsLDn6`0--^3%76Iw%H(u zulk=M^{-$246HLd#^=yi=?Pe8ajZ>9Kp!R-a>793E(!^<>KUUk8R!|CslKNV#15Gy-FzQJCw*m#2l|~`H|?}7h&~9(_Bhkp3R2_ z+2aSzbE>{DGYu^jmEE@!2$7F~KzF7c(B9k2#BdfFL=Iw7u*HP5p@S~%?B7`_wMp1l zB#mEseqc?eIa4AC?nu-3A(zAF1$WkoGwI|eicYm3>4s)VAardizVC7N_osGSIn0zz zAnn_~lS)NR-AwdYkYh*x@plpnae{Yjab1`H{Nq@cAJ|+{&YN-leG=~j(@Vz>r_SHV zK^W-iMdUpvkR+t#f^19|&`cTV*qx4?K4xi;(ylL%`D{zN=jP_*NsIEhm>LKqph5im z^J~e`6W6n}H1pAEAB4|0KKaZ|J-P<0ea-RX$JzYW2Fc*rQ!TOPW0_M7?>S?AeQA%m z0n)lW>AtJ$Qm90quCA^|xW@u( z{6w&V;}0n*sr6p>{^k=gHYNH6y07BnZ8kf^F3QMkmey>mG9sE@D5r98bD1JG8&3_a zO!q)L5PcSR;ENFvDnkrO{p|=HGY~+Z9W%5xri$9Ol6#1qop36n27%?fmo8mOxXcuv zc8)GsHL=fMrUm`l*n7G}T>ZsF_?eJ;L!yzM-W_)xGI;isZ(EcjZ7mKC4x&k`=o*iC z^Q_uUHd8TK*=$y$Q?d&KC247C!(|(ro9OLHlVnM!Ys6*v;a-*JGBUY|e>g_hLvZoq zB1KjviFr8rr~WQH{Uc4-68-6~Z*DU6*^M}RT3Iy|X1hvHdnQ>}6zG0J-|<^a=zmgY zHr_emnN;&g&J=M!p4HjkW$g3zW({c*dg61B7gs->VP;+;-pq0jcP?knN4)3%`YUtj zvD7#edl}IDkzf0{&s3sgiA1rFq&fUG&F0qnp%-mq+XD7XdCn;s&)KyP&th{$O%U<9 zryLL1d3Yt*&qeDPM=VTWOGCo?KU!=SmMEu2;zou=4%JAx&OtJ1Tl9mQtXcdllgYWI zW8!;ii%HyrAxE4iKB+HJ@>lyca%6L5IxB&zjfIhgrPo}*Oq4M(DJh2bwymvgUd_%1 zeR9jAss%u%E32yx+cDn+<5WiB0eVMj{Rm+1y}>o!WFZ1Lcc#`$sC0Jl>^&wVkwlI- z3JRgn4aQ+D-c#X?KtOcLO9L{^(#bnd7i=MN;jYqi6Akzat24cvs_&0qB`)vm?AVlG zi3j!>%l53HcTe#C_K@BqyZAIS2KnuAbx6ekziN6vB0ha4AIixep(%1Rzy$Y}8m-p3 zb#&dwf-%>~icF$%^(?&O}%P%f0{N-Duhr!&yNeUTd zG4)m1S$MMRK1t`fuWY)(>XQ%u(?(HpO}n4MhX?U1WTJHM7?8U0XzR6zDjwC_FkWu> z88bbALiT*N5LxJUVkV;AeEk{dy_7dHCK)y)iKMNJ($;6OOH?_3SK=C(-n1+6k?DD+ z_y#q`9g8c`*Hw!^_DtKI`E_oOo$UvCNAg=CmyIR51Kt!><%?DZ@~Lm~&*>Ms{6M6R zprCs?A7v9`sn>o2fiDIOv-Z9GdJxUXqNmF8TUTt5>rdZ zhYhVUb;PH|sijlbecNC~_RLI7P%`-RR=@uGKrY$c$lb?h>r>n%c#ihP0GLZlSEJPB zGI~BQEEG;+a~dkEtL5b7h31zq%;X*nj{Kk%{;NQV!2!HtiiT2qUxI{#{d}DF_3PKi zU9pHP=mwU?@3t*Iigh<4vgIp(;Q90Z`KXMLlh818{{c+T#)uHQtG}O(GQg&!yS=@= zqvOSxCyHr_&EdW9emAZ&1sz!FuzL)F@`Wm?nlYAQp?6jB9jMC*t%`5%;0m|0xT2bY zkm?X%3suyvX4WXpQsk)nY*hqomS}51!9}rWuF@<%D|S7IuF?nb{t}mYaD@$xjh0ko z&{5cB*L&6@={^JSx&pDd_%tXwuq|nVZr;2pruvJLu5El5#u3##>|BnpF0s=?QvbSh z52tC>N6ev$z-V7f(a6x!H!wIJR5$P8V#AW1b-)A@OMeb%PHdK7_KJeAye({;9PPS)t3{ zd8n}7{9;tIQlAZ=(=!s}3MrSYQ|@S_pZUQ&nm-n2>51%d1CHWe65lpYd|F+gS<~54 zYiIJ&Zo>bn*`nj43!p?*~ zUX(MUX?t^3$OsFmPMc#&{h_6u>MB#PLVV{~rXM3}V`GCcBwpf1pib;`=Z(@xnsmH1 zDIY&x{K^w8<}S%>Y+@2ij6Cmdc!A&jubOr#c8epwuH0Ayb~_@)OfFd{TAAe&<%2k0 z#KcLe%G#b9$MRSSIm`cP>9Z9xFN2gPEio zq)sMv7N;v@-Twg$yb&?=U3sh3$?3&X9&4`?-57XgM%+=kxw)Xn;B1K~%X-y-rc9<= z_)D{%#tsg%X*3oRr14)llpKg3znzk0_z5$a;dARd^9fr&PzWAwYBC{qH3K1iIjh9Zm`ZyTt-$_R#NgE z-S9tLo1LqbxBz_!(ql^IZLW4fvb-kjIaHTzs%E+GCPrbAHv+x}+^JfM$zZe?e_+QD zs5RQ6fKHtYd|2{&asz1c{q#*E&e+_|^rnYBnCbpEW1hS#0w*c6va(f_m-k3+ze@msAb5b{TfK1IeGbs_2*uY2TCb7EmKj5|fh`nO-JCQb zb$6|3oAS>8{PgKrn)T4o5GwY1_a^TV8s@d(D0M+2ESLP}wl-)NZ#NF^_LqfS*+Y`^ z9+ld9PMcy)7^H-nR$|BjeQt@7S-G!IYuXK2%0v_v}eaDDoE*t8ox^c&7EN zcy|rDM!qA4b9!PT(oj2zS@#!v-?cJ{)dk|*LZqvhs*6N*1^xZPnd0Ges5t!+<$}R6 zDtg=BGPe+ES^A^D(m%TN2cj**HvRNXz-RKWdh@x;2@OWXU%)zRz`Zbi`CAXJ-1kn|ibbV}Vp1tP9c}nVm(GHWR-^bSOZg`asGPbReLN ze$?yd00#wRLwS|uTc%F-&0CRtL|-c_DsX0|MxZb>7JjLEVRWkx}Dzf$#={vd46B#xI1QFFsru-3Et)D+<`mR@W zDsv72GQbp7oumu^7JmSO9;%XRg+;Mf{C79%dv%N!^2Y=(w_T#DBbSN-^8$~7_YavQ z>{Zm&6Vmi_PV$T4GW~T*Qk2s17-U6mMQB?~lwAkPsQDxCUow_MsujBLu4W!)^n-{a zE)xjaXFShGMc~gJ#|0c^|I@QKctI8jxOdwJ<9>q(kECf;wqe+q$?|BqIF;(%G>`QC>?>PVI>5^78gh-TW9xNL+YP6E3&$PM05J(#k0O%*|p~^1c0VdTFV+ z#f`e|=)0?7_2!XL(qSiPf=&cK$<`GFZOBJD5fV&v2%ix@h$$tu#P;#xn$J4gy5ZsB zCRo=D>o9(t7H_m$*o~DDp)~vMi{;h^!w9ja9YK1O0T4Nw0(U{Q1nN`ifzncd%tMsu)!|G&;RPOw;O~EkZp`I&}Hc7 zoVU(fx{}YIg~&P;QlF8Lku&S$s>-<#&0ixeSh_3adC{m<%_?z zod4z3$G(8Jml@oGha>?v0eVUrn_kw%T-^nAk!{M7GeW(~t0uXVp$WK=h4o4;i`(M` z!@WskCCU%aHTOCy)rRt0yjQ(1<{N1&80$^0v!=Za6XupuJm^Q2Ko(0$=}A=0+_Zji zmikJ^C5m&pI@cp-+IC#BHm-Unao^N(A1I6kz6l6nd^E$a%MvP{z5R%P{#@G`Z<_Ml z9?`3PCr?ptGT8#=?2nA2X9D;6OYME#65(diW7Py)+w0MC~RE0X1JK2q?y7~B@1^X7h0t+??h&*XbFGfsW z-b65VyGRAEl8#p;IvbVRw|x4fBA(FO9AW=nw3X~qNKXg50{9>{md1@({mCUv*7PBS z`b0+tHn`kSjkxSzvauC77YlcwA4?7ur!}Jme(Mnu)J=Lz`nj8^x zZBV`guGPxdqk5H7Ut8;Q(Osl^QQ)da|J^G91C_t?g-3JhDijEPb%=TB0u%Upu%z|NduIT}<4-1_8vL7KIVX^dq~cD9{3M}Ic8x5-{8cqCoE z{oFw8(C4v5koX_#)qWlByiQPrW@3ROTA5Ja$dRa)u6f}U$L+EUNIrfLt8NR7&pu`j zZ=8(3R!kSF$Qhwjpt~fovK($^VZjxl^b>2GMTm)s0h&X$E$R}u8vdIyJw4S`w1e7( zw-A4ED!&n~aixdTB6pquw15TIi#hHWsyVJzX9&_)_=M~Q&6@Y4N-Q?MZH(zY5b>X_ zrr&EkewmhG9iKayI~f)pe!r-zVM6EDL+xSST65m$NaJQziG*g0ZlMlX>zXuc^v+^( z!e^Ek0D$ndM-ea zHL9lH{@^|M;gHn51%-+SqM0lIRb_k2u8+NuCGd_j^8Sy@9&_)7sR-xZ`~x$QXG0al z4f*3#&PO%7DOZ{-8Jzs}EIs}t*LWn6NQ`Y8+uYcICR02?yQFT1!<>lPMzWo3TikE+ zTtX%i8hM_RjOjNyB4A&&e~ONVUB_{*AxA|`t)p|4Qt4piprdY5WO^Eigcc&!@uMF;ToZ|d>;-)R>OxVWkr98(9#Vro z@**AJ^>)m)mgnBy-Xq0FV$U9dZX{`H=KaG1CHhD=H^ekF1Gk~+s0XADdsC(_qI=3} zlO1>c_&HTKBb}KT=i${faq=pIv@wZIv!-+H#z4EhwN=@zzgt3q z@?9FoGuh`@M`S!HhwQaj32gv|9IBRECHj?aEkF~LYgoQ8 z5^JK!5drQ30YO1GP^!}C4Q@TZfB*i8;E#|ab##dB?UC_2AaK&s(%wE2?kEXc5Co`V zCB%JWO*^SY8Ld!0ox21Yrogime6hH&p?6uGqXG(SdqvE2m3-N|u;sPi3&j(unzsUc zfdGTG0B6RK(Ys2?2qnlgnK$#7RQnt`k@~v2lHMy*KYu;|G|#M6qMt*siCk$h<;Q{O z1rcFmV-wZb@ev;WRFjFd_ee`L5lGQ5Dc8v)j>*m?wqS+fWtwwM?aM&rYX@gr#~b2- zu;4jqNTmL2cCUs`m6NT44tb6Fmo+oMniQ;X?GX+Ul5w~!Z0O_Ayto7yTM`h`^0ds2 zXBZe5SXhwhLyd?PIv?zWm!Xo$@wgu~9KbCli}IXm*|)t1b10@#Vui2vO+K9BwO%ba z-WIUP{UIUo_^+TEIJ69l@ZELs--bTuZn_#l^%J@0J(8_m8moHd%$WjyTPv%yB0_SVZ(Q2?XPMch zr6sUG@Lp@RrNT%S*?PUrYJ2gwc9h|C(fFY-|k7VW>O%uUnt1D!ls0uE!19 zGLDFR>EFJSUgjYBiFE)Gqa# z?k<7mkNWuZHKSMEdv`o=ee;n84Z_olSq+w(e7Hk2PcX z)fE2O6IdlAZN;FNgQ!4FcB2Pg-bbiJ#;yZjqzz25A|X| z+h2I)!zU~$`P0+b=#OE`$f<`{O|~PqczVK4wtuMK7fIxup@G(<%@@`G4bqGXvO^ZYj)Ws4scnrlO?<)0<7nMn(U&J!EDPcQG}w z4(zi+dy}sZMCpQ0hTK4($tD#`umqlLfQ0?<;XYM7Y|6l(ATd=L@0DzHuYS&G|1V}5 zb!QpkViJ2=$are1WBQbo1N32cZ3(^yQYNw31KX?V`YNBJt>XjDG#>l{>i)ASHQY^U z)|o1>+_DL+;`Cd}Eolokn>!#UEh*b$AFG_lXWEoJmTQt39&V0`Pg_6!92lPS=g-Tw z0apt~C9tb5jNojF!9y2g2_+lIJdnm}!1hFLnYXrlGPFdfI9bEnT3avsZIvbZPWRWC z;EUx+>usv1X;>8{nX92PeEg`uPhSB(E=xTqc{)8WVp^Q_#8kc4=FG$sSXf!X<)x)F z2ae(RG~fC9(>?Bj?!nK%t|aGikx;8QGMdR@+?~^8+k=6UN6;6!<9oIMi)9RN1lB*j z?>EICw{;m1>pf3TJ$$i`oDglRZOzYi6I|B=gYMA{KA!_XYg>q%d9Etaj@ky|qTc+g zNfqC|k$~f;EnXjt*cqiG<{CxG-l6mcCEg3NKG4?W66y`a7{0h*yxL+t?Vha|)&F!3 z4R0~a`+Y~h?zr*dH>g3egC7{`kAbw&R3YchFvyzJ-o8!90U@>6{f^6TY7UnZ6kA3X zK7IQ1?Hj}I{;Ar*@161T@-iqg=*YBEfb~($-!K9hsg=*mKzp>FQe(H};$d=(@ zi=l?p;D^PgE4K1-F|P-}6%BoQr~E~_;I#wF$7)kCI`4$<@EVwam>0HsuC3n|yA@dX z;H{b#Kw&N3iC0bjsVjODe_Pf-#7;lk@&qaf5J#Fd^cvXQen6FvLm@V$&eogXsp`vT zQWQ_{g^qY5=+~a1@KKk|x{5)1J2`!oAKKa8)NIK#eye$*ZE>^rP}4Xl$O>Pxq8IHZ(|o z;R9J(ygQgv?OZzT#wpkz$~0L@@=w!(9r3=uWph}$dvm=u47HX`wP0-Ju8`TaZX_fo zYHxzft{HMmZ>hB3uV>UMC@_#!-fs$ha*+PMSY)IbUKBb7=p4EYvz$1YR<7D-YVf@K z;9^7spL2U{-(HG5jVn4>ZjHNlOZ<4iqcKm|DB%hmIr~ij+$Oy(HM$plk|3&jCdZ7S zUHflCL7A{OG-h>uWqts+Vt^99pgIGiH_#e(Wk!0 zcWhy5%8ny~fth(~Vq&2*e{Ewj4}7H~%|W|WLnll7Ou0pWp{|2N-YYi}{?F7it{Ga= zz8kK+GtvnJEwBU*Jf>}EXaJb>UV@(7yMdE{NpKX68HPO|PO}$Q9&+0}rb#U!z@QCD z)|(fMn*-4Q+xBCcKHZV1pz&L6mST4v$!E}_j3n4`_7?G0z%S!@G@SbsIL!3GP5?v* zq~D!G;19c}7en^M!)+M_;F89+H;6TUp!{{Pla>4dUxEL|kp=E@WSyUdrHjhScw`n< zNmc)u72}Nft8#_AX%}7QSRd`_%0|Fr1*gWC=d^ssXHnHtXbFJoBBe9!-!NdY0Rz(3 zi5@hDYcEut*J`VMH#=xEv|0+Y6*$i7A+u1xMZFE$iTp&JF|*IS4mG(4|Jag-BzIsB zzc{dQZ_RgOJRMRBuv!TdLC>2lI3oU%ueZN>f3sUEY>0}AN>+ZT>#Vc9Qm|Jq3&RzA zD6?f=*HwTSrDJr=C6II3Z`d^}oS?vGcgw$`e{NE|Gog*MwhZPau>^%_wu@AT?_H@k* zLqQ#hi;SVzT-%-%R%#oeE=*#x1!KDV^T=6+{3P56KYdV4H>UG;9I#E>&2vYYCdioafX6z8_&4eoO>zm6SV1;y;!ro%m2pb z{hWPr7h(fr#ZM2^0YHayxm6&V-e+3U`JgN;Ehi@@Dr%wExwcl8W(~U|Y>2E#r@Te> z#8{pQJX^&`Rp&^aky2Mvv$x^;`oPu3hW8{T(A?mi+HF$dq`=TU(pi#qaB`Z5ObYnO zR3uK;all``iu^f(IPIH7RgH)V zVF;rE)fX1k$zYRu|h9Rd@^t9B}<5&niFiC(tKJZwf2^XEU{$oSvR|WftMEAiD0V}0! z10RD={hnqGyI&m;#4Q%%^Bay}<6B^*!b>zX~X$ocR6V!_v&?sLdXj=*0?B zt0&3cIb+@k64r2lsPmk!49^0uIA~N*75CZz;@2h&)bRjtUZ^wbwj%{%WF+JZ#XTX)j|YDi;$zi z|0u+Z2pWZJ_uCdf4CZgG6(w(HYi4*Pt)|OwUtkR{)$8CF*M7`@27A&39(ap__Q~(X zsf8V0n`6q-^3u}0lMUt<$2sVPoBVGwV$O`tO#i;R%8$P|Hul&lJ4C|UB~*y719hFQ zv2o0&JFM|UzsUp5i3Y9U$?ED*0)SDOF_J*`-dBD>U8W0eYSz=$RXQI9%_@@gs?_8$ zbh|?egswN*lf%$J!hz);hbgnrt6;*C?$^vHHd_pBxOv)2BrY^;Htuqz_Z|+3?O|QI zxC0zlYs!a{TfUmrdf9b36yHB zFUcJ91csu(&3YuyK*y(-mpOJk6E_Et5Q<(gD?O?_AAO_IX@8iLogH||W0cR~3W3rF z`cgWvZ|;>S%b3-W_g?7t*n+eb0{u03IY>nGHZjj{IV$JEbWiiXOAkI{6#VGba!@Y9BVs>?)%$>BjULl zyTRMcXhJ9WYC(k>k_;_vf%-kH7hsTmHH~&p~52k1ipg*Uvzf~o+v zTefpYcYvj1Ds@?z(nHYzQUvD_Ogvh4HZ?VU{P+<*0{EIUbuNFEJDEAEf2d*{xVdTZ zWa_dD6U^dPwdrb!FlB+(x9jOdZNuD5pqUaeB&UNNe`K#S`gYbEe`Fmz^I$+iWC2tD zZkX6FAOTkrbqnpm__y`B|H0@z9RJ@Ly*;i@Cv=ain*f7<_BR6IoG&j8i}c$`FTgie zMX)L<8cl2uz)_~AqO!F$CQqyMJT>G7SRdS`^`#S6B+@i4OoIrKdOJ3Lw5d>KlUDo% z-?>^R!PpAN!E5+>(7z8KIimfls=7M&(de}lcA}A5*o(us@6b;*TZpS*#~<$rQd7^X z#vgCB@Z~9$npj^MfT--Y&4XE49=c$V(##7a#l%t(AWaL%OGvnnv_M_k86#~a7pjs3fiMB- z<2}QcCssN+H2j0@sd%P9vt7fGOe0@{ww_}avNLfkEx6`m7a4Y0F=BHaMt=L;@^8q0 zD|P5M4mb0D$6eEfF*>cXnITw;Qh#+kElG0q+OF--qOSfClis@@KNM@#+fTG7loh#G|OZM62E5^>bllJ$1t8<|3OBnIHU2~MDv^#xmuObd?4vl2| zBjwrUk$J%1M_b0U`g4{>C+7P-5_@@);+rMu`5r(iRS;!F84)qlfGv%w!iHX^m3Nge zI$WwrTRr>h6#l)X^HEEmUr7ylCRyt3&e(Rz<3w9srF&fkh^Wal0QplNqGrH-2YzDU zgxhWQk$I|2Z|3iTw$ou_77Pi6)zwLA>Bj@E;X`tv^(5sKR#t+~3WVhngStIM^h+=` zokb6(0*j>!euC_Y6*K|^$PSRvS6^TMS4+#dZSCH8gv|#~3nWQHiTp%e+n&qZb$>u- zTjq4n+B$;}d(hn3xv;d9==2J%(WCx@NQ-^=4O-V@F86a4ZW`sJ1%4@m++75V4wEeScf znOVcLS6z%UGE}t83b>jgH<}fbvi``oK7CxY#X>~WuR5ayW~qR|=K*PXZ0N#QWmXYtaJFyKj zclzyqSMkOAIV-^I_{jBJ-9OfY0dq!cQWER>9ZjvSI|aJT3=CgHkua|8;h~E!hQV#} zl$F_3^aD}GV18!QkwM z!=}V*Zs2Okx0;>FnqPyGKt{|BUMF0BWB&<;!U5t$D}!w+6()T_U}>e)y^R-bR<9d$ zBNHW1y0OP2^3R~f~w3bIv zsXxK(ZzB)~kulr|HXQQw^XTH2?Y%_q-`{`2qE0v_HujtpS$Q*|pU4wO78e#4cA5Du zG;?e2OsN;l_SeXRC;N2+KtmXI4hT4O%*N83pFWG}<;TWM3dEtgs~E0kEr?@m3jgAh19uj9CgAk_p}~OwD@B z$(k7wI`SK~&kc}o4F%i4s1X|ak8hwY0f=C5Qm#l>Gh+AGpiOs`ASzR4?EI}1dNjYmo92*^dRJs^qvh`Z=IC!Kv%;cXBS*f?`?{M-ZAVwn5wd}pUF<79p4L)+Csnzjd_O7&*#p|f{J&G z&&=9v9)zr!FV%88YeO(Wgoa>wxTG3mOpPjO4z;>}e-;Yt)VBh#fH2E?d=Y*IBzYBx zFEXM{)2W5aKnztNvbJa3YbH%OSvuH5KpYAW4MpYO+{?l;V|tIkCOdM$(+1c!)$>tl z)-cluoaF;iX-P@lSP{OSzWUeEni(fU>J=3gVeSTohs5oQ^7n|e()b^9pxMhbDPiIK;^K}` z{ZOXyzYptqsbmS#V{>6t?d{{LUv@EyZ^mHyOsn$ci&o~R=Q~N6G{z$DCkvx@_8(A~ zs*oFeU3P9B9&6tU?xB$Mfq{X3TSIKOPv$03mSM5_g0Uk!zh_REiwOFWGHme52M6?K z4@}Pb!J2_h874~M{SzkT&gV=$Fi0{(5FlA_~0WY1ZJL z6MmM+ES0prwb*t&<@t~#T~761u0}OZLk;cinpr|zFI3KRN;wZ@!%n+=c^Uw{Q9N#h z{`6^XZf+)`P372Lmf&f#0hAQnIJBUjDbv{42rMr@j**RxD2fDExYH{`K_ahh5wfR{ zzfSn=u|hM3+{w|!^|S&O%-6AGbRVQBP#vmRmB#)TB+!$mow)fM3B>)21m5bPBbnCF5)C*Z@J5T z4-d(cl-j(};IRa2Axv5MLha9;1YgUYnCt}e_%usBcsIv_0-E^9U$5su-JfC4o-xBH z;huA933~SC@o1M3&pvoTfb7MKU-5X(JRnZE0?>=C5|#pJEq$Fk2B#-~JI7(}>i5vX zzI6AVHpR_d5}jxCAEBma^N9jT5tYzMV$6u0^^ZO5Jlu;hidg3^UD?dMy`bvnncNSi?=Kee?n{ zRn=!#lAfwc!5eYXtN}>ZhJaT}iR%ZN>rEyykIx$hxwUPZKf((WvKeVpg7TZ4ccPIjZ5SPgY*r_n#vVCC%s4^h$wYS{o25O=C z8Bc#9k6s%L;-%6KIrPaURlDxHkDLi_w0&EbA8==D7WQ)Snf`-pscnm@m-(HQ_&4d=lic`TstSJRdb~s>`cxXkwys!l4%nlV^4eiYXdU(%MnJ z_V#L4Ks4yU9K@$gjt~BNIoY|n;>b)5-st^Shr%`J%+M6wHk`Zy1kq{0e!!-)`7Ygo zIXGkEogp@oq>K!ctVdU@d=$_tz}f-RqjMLAxq4sVMqnx#?0y%dZYLnk&UR;9wSUoS z1+UaV_Kcnh-&^@WAZ{>7Awj{7``>HOCYkO8keN$Pw6b-Nd6L+?-I;qDJp0jG@o71& zWw+j~{GlK)eNDvo-tb?E(|W_EqW6D>e?Jx7Zu*v){jbQ2Oop~eCq5o(+IPqFo4v~R zS<=+|&{p}D3oVDg#ZcUv_(Nop>Z0Q1uSp#<9dAEs7gENCbq_LTs71KsQ`gOgb5{tT zM7`!|j*MEJ43DX-7%Lx3;$#`9yV+kvRrkQ&-i=bh5G-lu)Ij++jQNP2az2xS?5Q`O z2dO-@5im)4_%J9zP}q=2qyfgx+QvpxyCf%PIwL(ve@iS!V778GjOY8-w|n7Tm~B|P zvOqN(-N*cfWsZZe)pG`)?XAiE)|UpnP{jjsk(QA;@bC)gj(ROq zx+}c&ix;Ul8K}UnEGi~;CUEdcIm}(un!?y^Bk?xHL>zq+wJshxC@nFd%|=|i!x)wa1la(S7VY1Z)a9B>tCW8!;mQQJPR z=WxBxg5}4-#G}|NmS0!6#=pjMHCMNXDB5Z&3_dskoQ;En&dK_WTn($PEZtAsiE7|) z!eB6k?MGnr`V@f`XsdUh*hQRHjreLUpX|QLqZj^&+Vo#ZNl91O^R4mc^N4)6+DBUx z#8jD>m|W-p!jlDXgHrooGYJU^=z4z)IZFC~2pT;7`SBllCN;)9Ck2fw-|@6SMt~tH zsC&4l`ek6OPE1S;G?QKZ?t&}KdTl4}4Nm&|$-bRK^JQBr8VB--2CCL!?fbt#B;zE1 z-4Mk9e%L^XJ)Ten;5%}@3``A~g z01gveVWlN5rahEz^~9dvZq9n4oSI2o(!spoW$q;SB3Q#^3Pug#9cHot*{)~D9=(b` zaD`e_73S_h)QwQmBI(g355uS>w1{l7vj)RYM^D76`Pp4Tw zt)B(4;{w<8PQ_7q=e=ce@#Xl33VH8DwAmXmf#EyFe>xZn-hZ9XT8h896^eJy{&7BQ zocR|eiTvw)w*1#p-SV%cI{N=3Ctl#*wLz43|06|-4dSEN8_f&AcU&0y@Cth@4&Jk% z&DfDBz#8uE>YBa6(@ANy*9IhCb2+27quPP*FTGEdU@-bIC8qYqb>|v~oS>()mr!+??W?-Yut1sVEdH@@ zH9gr6TVCEZH2*^FuQgYx(>#9ffj;lD!z`T+0s2o?*3j)W%>QI$+Vrfzto8Irjrgzl zG4+FsW&_j5*y5SMi_+5YP7t>Li?=rqr+V-IM(w?u(`>3lM9G|xDR!bll+3eaRc4uI z?Iu&D2$^?^YMHW385^)mD-@YphLRz32pQtMzASt1`#Hb+JlAus>l}aF*M02_Ykk*e zc)wrMn{kDi&qzg2f_FwMwu)Yt2-|5Blfw4~ zaI(Zok%_Q%Wsau(g}?`3@BDf$`r5O%$I7a>vAZGbl2EL=3JT8qg0V+KCt%7W_?6^#=*G4 zW=P%AuF{f{m8EG}&b_HE-yt#lOz?O@fpLcIg{)(V`=gIHyXokFun~@eXlRVN=+SvN zxhvxJ?XN?|{RCp!ZHO(^N$>UGN zwZciBt%a^=-cm;V)9_l0q3<2Ryt7FYwP;|>4nvF z`gsDHpH;P!7FVH9AszxkunvY-zHPN*J7QNvmUiE{5!wnu4jdibJ2+@E`$-|iDrVJv z=Yke2K}g%ItkxcS@LZ#C&nN}a2-duM1CkM{Lew?Qu=EBg85$bKW#{MRsfH1WXLCp- z5M?~9Q;#N0N=gc?Z@#CR8Wq$IuPQf~i=gk>5G16gQYmRLVPg-hxq6f1U|)F)?j4I% zYup$|!yfRn?re0d99n0RArO5$ILK=t>s1>BKuB|WOy(C>FHgy{3pwf6-;iFI5v40! zx-L5lcc@AjEVY`XnlVt;ktEL&(-Fd5Ac=&#G$H^Hi~5CfRqCh--Szaa{^)A>_#K0i zt!Z5vX~&qU%I%Oaew4X@(`WFbM3&_#Iq}Tt+AZAf2@aWj?~P(_-dwK|Mg#<@hPjOQ z>FDUh|EL+B#O3Vt7BquywT6aGxVSiztsI6RYB{IWgN) zif)lS0gPh7<;fa#@fJB2WY|gy2>V0kS3X_sJXuzcJ081`6x87GYf4+z=*gKI`|M;?C2fvOE$-v&m28z^m>()u!333#d zlmui3fY?O_wuSiIvgD9JSmvxWmj{pxgl%rI%7%f+L>L~205(e8bOBzPmQMZNjqHpo zQbk%mD|zFL(U^YB2ZX3PLHgv;9BI;%2CtNON}~( zq774TfBf{T6Ic7vOA##XU>AOLt$Edo%W5Jz10x=`v`8K+G*K276^!tuPR>L%NiVL< zlO=c)0~=jeNZPmP7wWrafk%egx;IilFC$R-adik}`i6DpU9TyE)#qt>r`d?&idBb? ziLtDy!1-bJ$;opHGtqT@mp91k_x_>Nd;2KI-Vh5`Z5nU;CKie9hzN}0d0blR7qlmW z)Z8-`bjJs~BZ)0P+x^9lSQ)y0ME^*t!OG^(cYK6kKtm^=>UlSIu^7!;Dn`pW=T`pu z2LwEnJIz_eI)cUt1@2R$UFM=}Ar*PH%>WaiXpc8Z`u-y6tVOC}fK*AMlt()6WTZxhOWJYFY;@!Ja zu6-Xs&WFHy@rE4e#0jBgL4^kItsSy%uPNx*Wa8HclyQVU6fZl7NJ{Ac;oCMoqP&By z=NG(>)iaCz4*ad|%Sa#t)U{CuY}h)&a|c>o;!( zU)n(GKPW`?>Wa`y@EKLn(W!`p<)FZwSF9XhNPnRn4LdbI-+k{Hgyr^(p;Z(~4ln2~ z>YRG(ZZbGHn8c|PhI9VMj+c+6IeFQP#q@7xT=OdaPaLnN~)>Vx|`D6)b#X@ z8oi1lPZITR+5}tVQ9+hE*Mr+`ppoBW9Y=lKA9H-S8kJgzYgEnnT_4I3)aWOWgSvTF zHOU=Wkk8tmZT`(DJ8Hn9YpEuCdO59nTPHK@^jcNf&msjjnIg{uXsB59+ih=oVFC~_ zD=i-Q&4`L0y88DIW&3zF?93!VJx!j@&Gf|+VGgNynBZlddo-s*{&EzZSoN81$^H1- zkK@?&cqMsu8`iJ)J3{$T^NDwo3*(`h-{;cC+z8%3`2hN9(p*)NjIgP z8(|@WqV7&Hu2W3PI`uSv>rD_43>4=Is$J*VxGL?9M?+wJ$zJ+z zBqdL+QW%@jLW8 zYHA@hJ^L4`&iVoJSyA-UNrSjP@lj=85uiUn-4Q=>9STru$f#H*VbE-o+C1 z4TVMAfXMA*=qrf&|Ed0i8oW5$A~G3PNkSboH5F{4jgX5koz+Pv|4KOM4UIrfXGqC@ z7dN-=G0)7#nIB(5Gvk*{;l&~IY4qo0`*7M_KZHbGe(~v2I@kpGrbz~{K24hlTN{dCiKX|61*tG`jY@u3f{37!~b&{SWOkYyYnJEJ*fNTLXUI=?G(|v9LR$ z1A0Ed5u%c+wq+3eCrC+-Bh)GeXQW0#)BE?EZX6*Ydf6LiYkt078Y6;*IYNPqKD7{F z?XXbZDEMYK-c4lv<0pbPrO7SW1L2h(C2h^k2Kxqd_8NU2sxI7{oOs$GvN7EV02gcV zktpT5-1LWVjdO$s{GcZO9g3UQLNuf)P|&d& zQYw7a_Lrp8^&aB^QrZz$lAEg&_TT_8N@Pe~KFvlZUsJsI;>8PSehR9L3=N4u(9Fi| zYp$Y1P#VD7d0$@-4+KJEGBY<^RRkI7YGI#Pqn8y?L|NX5U5O7+{AOr{g^-XCGYx+@ zYlX4)uPU(78{4nj{raYCS4!Y{S@!j4r@Udy!KrHS@E$)Zl}J*n_i#za=irWC8%L|? zZa4YcJ5v|xFqJT9%stMVjwkO?8j@>oLjw@=s`34ME|pr4K}ITJ2!tb(t#@wRsENx4 zgvGKzpbU3*-;Ik)d-~TH6lY2G(6_{Muizf?=}nF*7al2=dN^OJ>s*-A++4qV4wL&b|@t<;(do{@y`hwRc34bDW+st`g3z3 zR77{=hmr|jNd9owZMLTu*$pjS#n!gAv-O#NyeyG$=q@N^m9OkE4gAQ2!^>VIlJt0N zql7REu3k{7Ae50SfyYamK)1uAvU$GfTn)zseNi@cPR>lqi9HWv6B67c`GbL*XR9qM zij}mBp{ahj^XS?m3r$H)z*8EE+tysgqJLu;6qpTfq~HmdlTj&Js34E(zJn_K_Bs;V zZlD@G%Hi3GURg)d*c1h{_vfpu(ClGzeE_}B@g|>t7yS$-f7c{VK7dPV?#2a9q*ph0 zB#WSiAsOU<9v&hYu;@e}UKyvCQ)l3+br7GQW&``>68U0o;GBZ9p)Z031r9#34&1XQ zxUl4At+e2cqdU-`z*vj8=-bConr3(f`W$U%I^^SpkXwEhiT1f)Ao-Buybjp_O@V#@ zn`g|?Zt)~4Eavrk}L8<~gD8r705jj-KH}dX$?u_JG(gKVvlM4`}qS9@))opYgX(^xx z>Zi#IrzRNh-gX0>_S72#Wb9yDP~Lj&E#fb9c2M1#*(mG&#p2wVL(Z}}f~gr98rr`{ z@;pvYw@c?8SbXKrjX8N=Gk*cwfBA*^ziKZrx`{jmzrd!>~H zXCt}L(tu@BTd)@GBLXu{@;x1J>UDH+L8=Dg%82@0`&at%Xhp^`9!c1>7M3){Qi4n zSFJ}*4x>EbRL~l^%9Z zG$qugqWQd)l_pb#r$9!v=yk<=pD5JiGDt>L!Vu~CncW|uNhITO`UQ}7rN*x5$qP>y z+gwaSkK7;eFzz&FCW&p`6u=t}2tm6mx@E0|psHB3t-U=;w}*||46LEA+y|Pt8Y~b@ z7@gmM@9?PL@GdO_2El#XvCXu|4VI!ojA{rv zx5SaB#d-Dvi<^ZE4p)BE?q|%%Sh~Hdrj>csGT1Eb40KU1(IiAgMP+0@fkOJN2AxZ%?*Nca1GpY!0% zKz2+@Rn*B4ttg=-%@ae58z++m#g_sIa=SBvF$=+nR|U#eCx^I& zxDw$g0PPlP2>${IP>(G8Vqvu;*iXphNK#NfI!#=UF)2cI%=ERu5P7sq;&rIpXrNUL zJkTXs`nqz6F}8&@F*!M0t#M~fqY85Gk@7Rq4BP%d$Ezi5S${8Q<{=I?Hu%WHc&?VA z6oBOL)M5Afv_lC3@fy(2z!to%dKLX)>T}`S3CD`IP6SVH)+>%|yO~!Ca~IaN)<0Qc z0IKCB;{A=vwl2LcfzB@yufh3+@u=6u#KwZ2j+dzjIYrxMsS*aey!bZeOp*amp~s); zhZ@60()W>Vo&V+)?quvTmBDc+D_ivGG)fqzH9?L4W)~QKUnf7pQv!)JtgHsQ;~R3Z zup_&sCNOLxu!IzZM2IMoCxI?*hqs%1<==1pP$KQg>BChwB>u+mJIAK@cYX4Z%jowK zi)OkS8sEW8f8!S=NGhwHmOy-C!^=tBb>e^-1U6ezDJTTPcNgW5MhR2fQA*v48#Jx%CF?t${Q8T`y9s z2sM+Z?BwM_^Y8-f=_5yv67h`eWe+PiKU2!D+c9}{v8>Wx%W~`%A(H=pM98gzDs4sC z;x(=^sq%Mx%%c6Xl*eYHy^ zYyp`;uEZwJ6??pypB+GnZ!2jOLxWQl7dyp_l~DVV$#yg%y_J>yqIa>t5f9YUP_XF4 z@$KUokzonxEi|2$#)*LH(Aj8juo&DVH;(-F$3;P^jgWk)Rw>?7pWkT`(MA3FBL;pF zMCNkNeG7;r738m3_G@~2I*L%7n*&jdQ6@t&IC?&Qgw>esF9Y$YhDeQZ&2J>we6!THWX>TRid?w7t-_r8h7{UPwZ`Y5jcmBe4e5m-+bznAQOK z!Qb$a2Lk{?`Tg?khLI2_BiXmmwI6?%s`2r|2g{h0S6>Wll)02NSu-1LV!H9CK@xa- z7yTGiD(?W@Jn3(d)nt8ROk-+ut48XNs}ZEB+(uKVVZkn<7}pmhlcx{(j~!SmY3tws zTOjI0=j^jlCc@(CXlM=d?c?`fFPKV8v7(MPt`^=U=Qr!Y#}t#001G@U?F&6#*7T+Y z!tElh_rApIBsOJSiMF;(YekhSF4vM`Eq-|%7^GH&#tx1zATD+|5zF5|%vx%}>YgJz zRP$La^&np`H@_hYYLVm`Lec{2B$99SvR~`dyyK&zFEk8-DaWZ{6|GCs7wocvzT<_| zRfzoRf)uko`bMLf|3NlJT?NI3JrCL-DOeec#e++iv*u^&yb?F+q_~X+mamd*uV(aX z+-RjpiNNB+EPnTd)jhZhKX+DZNP@lk&-Sl;O@|AHp}>Fv@EiDJBlo>`;_8jAw@>Ov z>gZA=SwfV#H-)}B6LS{A&@I+)AEr%b@0ZLvm{1w(#z~VRYyBoqzISP=-kQAbOjvMMF*f{SrZZ+q zAfchWGZyYi6B43zFzwqoz77KJUGmyPyRN_b0=}9#UDaRV?(o`v`RydLrh-N!p2H47 z&dfTg`;dgLFQ%haxIN|LX47Zw4lyZp6R2W?lWf~deP7gk^WkK;yFd!KB%8fd(mB_znOlKI3f)nvr% zkkdBH!lK1?jZ6mS@95|V(YA{N`WQXEs7HP$mnaARq+qbYh6g8_&I}{(0-H-)2bq7{ zaBxi_1h&9<2tX>{QN3#`MX-k-EXUssvC@{wLkQRm3R~N8o#b6&>Hu9o>_MVzKK<$W zE+$9-Wwi>d>8W%5*;k($#xn@FQS`Y4VoD2=Dy^SpVE9loDXArhyq2mc___p=vduI9 zjkI|5M!8DDNP9;onmYjSJ%iAJ5oJ(%OOy4JiDyb^JmGo$p8t#HL?;4N1h;>NwgD={ zUTt&tt)Jntb~O=U2>~tsy;sn{b?Rl|+iO2w78>gz2TrJ~?+vC{)uq&WyccC0d1-KrZ*F&? zxE}vn`M7TMs`XdQ)IP_7)&Y**hNe!!OwX=7yY+Y-Qvr=~OspbN(9C$mDStyNAH&?Gxjy8|#c0THX8cI1a`ep+A+D*a_$?gv7c&8pEhPEA3x(a1}*x#z+1( z3l1{%57llH8OCXxtCq1Ctt_~H?1k#~jN5y9(?>*ZlMJq%4h;UBbfp56Mg>L^p^k5U zQ-^rs$@Li71qFOdLqi^vCMhYqb#!PSKPGtfJ&q_2G(`Uo1d$lqbCuOpKjN3Byr1x< zDt4jxWr3jp1D}cg)c`yDfA6b9nmi{U)VIyDNogA z6C3-5sB2M{3L@(G#`Wv3DQH-5z`QwiHUNN*ro@R5{#|pTKK8KoJFW}jg_6^a#R1$;U63Fx%2NAaUCX_4qc@&!{}sFbK} z8`bQiF6b%S%&Xxref6am?2omz7-LzG2-J^oWjFE8 zvgUeDdAS8u#qjKMubms4a;(B%@04_C!*D6kT3g;B-BNef(;G|_21bp0MV%_-Vqf3x z-tMc>$EEn0U+dwXM4wY>8PKji^!OUB?`u%zT5$Y>&p9NAN+IdFiq%vT$2@qebLV=n zrIh#8!Hf#419FFccCbDRRN{u%+k+)qt6x`6<@krkP_+Y9x^^18p`#R-Pt|!B6Q+nZ z#NkR;g2OQFr!V&y+e2kg-7;8gz9x{QwvKpJFkN$xVNK z8NsNm5P@;8k_BodWCP8|tV!{nXuGZU{<(^_JHX}lu`zzkJ18O1HQQmqcBEH}y~mA@ ze|N}mh}K2#zfm30@XBSE4_&B4g&mxPE`}myB=?Hq5<*>R4yHo$4(z=eCr%s?7Y}T| zF)`fk4=H2Rrr>kigER8%Tl>bQ;-WLpE*@*2+zM%=#Bf$jW$aKRvPTtmJ@RCTUrDg-U#ix?$I56 zPL)+Rgbk34wid-1UY|x+gGeE2Uw{9WAQijDE-}rq3k9q|U+V=w#@kq0c7A$s8333I ziZwR7EPW>bzx)um=si?$4&Y^Q(jC(%AQjHDpFVwpAe={Kx*@+*BEJ|NKUj&iH_Ma1 zKGC-^j$~Z%E0i7|+S|>_bQ*2FykMIQR(7?aNhC_l@oq+DIppAWwB-4VZx2TOI9m{U za#o4Ul$LjJ-#)NE1|x2zBDVKV-gS^9XEnuA>|15BjPnP2W2$+z2cCdxb@`T*u1^^x z&?$7$n4SS7IY6RXzJpR;^lS<)06J|6j#$Q5EdT0M7Y5F#=1izkY!n^gmCFhZh6)$`Ouq-Dwx4 zkq?yGWk{-2;?6p9t&j;Aes$tESx&>FavUPQ9#Nlsma8hzoD(_reoT3aKScA|0mY;oVc5?6CzM$HILFL{_{SvNw zm*Am+7y&RXp6g5v2ToMrHim|1`>bLxTFKR|@_$r}HJw9gXk-*y(*v*s^%_10!_Og$ z?}g#X`9%H80F}Y5@^@$VrkO^gAuk=6b<6o5NHIjU>E$IusEal&3cHre zeh^PjO|^l-h~AE=E=dB@4!P@HVAO5LLew1@Sn5->`E~O8VHhf%pPNCVQaNq06%lT_ zhqQK{5<*Lo>kZ;kM<=q&nni^ENj$ZaS4C6*bk#VI3apI?jVp!>sQByGuSi^@2x4i< z%eT>J0x#t?wVD=Y-nqL%@+3cEs1zKN(pxCZjR`S}kU^X?G<{Hxk9Zuf8|d$MK6Q+B z%#|-p{b8YEuaV|iE`U4l+X`K&y+RvT#mV~`hVjtya2WtkyClK=^7A*0OoHP$`)r=t5iu_#_C$Kp0Qe+qVQcgR^`R7x6ea zEI7Us=f1;P-+KZo4&_se+zQU1Ig9}D#%b`v{9EGuR3fj+bnCF6JBAAi1XE6zT_apz z06QR>3QmGF`Ot$z;?BnyKJ-B*Cas{?h70>M66a@oK+6)UA~184oEY~3~!llf@j@jLCqQ9QkwkN-godXkk!4Co0+H z0T&kP?Ig0bWbC?tGKwH{5y2+hn}pXr?un7r#3P)T`H8iOKq6$6%wQe|F+6H{K-MSq z1;JIdovC`&Eq>-T%QY*W0^!;mL@0}*x-I@GzIQLy)C|uJaR^TlQmB&Kf_p+=Wt(#? zR|&hxsW2Cj>C=T%E=h{=+Mm_ZAo4UD>WDC&gVSH{hw+%eoing7>>@J#(GDolhrj(d zQ9qOkHV~0POo25G;9K}=#_PO6xayvqtvCX<@?@dQ3 zIce#=WIMrK5W!a!l&8C_Xs@m1R;k6frqT6uWcc}Jh`c$rZ_l=q-5g{KIiVo61R?Mc z@%*O-szghHYvU^0k2xw=u3^whgSefo?c3FB5PTyLyuWkIQ}fu1{&9@fiFwsm`x$FJ zi4UzU#7Oq%&x@*OLvDpZBtUh=)b|5qDT-@TYQkQehL;h3!V(-UP(N99$%ifIEAcOu z27u&}cMYHi85-i?9HKNh)E89xK1NKx#lDgP_B`cd{@N@OEp|`uiOPK)glS zm@Z>4oMhs~paAbUdT^6@5NLU$$Z=#Q$W3*IYb1YyS}I6vZ5R)Zb(2Pn-RT)a?Gnb5 zo1ZV+?}p$jkMprwu^uSRUf%T#pfg}HDP1jn1tpz8*uP?)i2^J*$ZDP=3;3gy)0EBDLGbF8_Fz>_*YJG%DcHg4es@4@NP*i$z!`Iwd`&~P;45mAk? zbr_a+^lwm@bwvAGJ%|*As@TjG$!MR-l~oK+?jj-#i*74;zEXz%Wk#*%4B&f3vL1X|`))hK;Uu;y`7} z*>tBr(9ilvYO4^N|-TruYsCr%OXu4WFe) zI+^SNJ;{Fpq=LJd$K8aeGC-k$)YbHC$wUdHWWZPta#}aC3*GHCMXr4x0oqBIEdTWnz?^Dfmb3}vNbU~5pm>6HEO$*n z84g$&yiw(CJ{oC%K^iUu?-C*HB`rYpm8fb@yRy5oCGa*87kg?!4g#sbPbSvvVcC=@ z?VREwfuv(R?x$YkWamF5oTr+ew!B$>l+MAKdqQ9hc4zCgdt__GO0%=$4i-H4=zkDB z^DCD8Hw5y_9ydT*)R&LSo0eaTWd*8fQabWir%1n3Xr>t_6$@)yS5$)-k#t z$Ci*krue5uPs$3QKp4r&4sspdA^lOYuUdEvHy<7e{d2KCk1y>y6y;Yl%>d|6OY ze~&+EqEk$yx)k-~pa)}};(JoZXMUzwMP~2|sZG<7wufuoq#9BCRa}f;@Udy_R*dX| z_E`?iSalojJjWNOpXOk~tTE4KO&y8Yszn-O<;p0hjE~p2r0O6SR7u0{N78?Af<(H|mgzdh}g4qiT`5VPHtKNIZ5+`HxEgEGUTw6wxcvuW%I+E%SY7Tjs79e`v03Xck6R-AfI9?x93 zk5i~WvGY(^Ck2+jdF&yO%DxC86Lj)I4PPCLThy;dw%zmVy?|Lie=K%PJ)WDy&_K+X z z=nq!^5mr?7n8nii+XlIBe{FZbOu=({Kz{(R4@3HhNhKmapVzieRl5(N`p4g!Z-yut zbO%v@W1b@wKX%cB!9;m&-t<(Bf7|=_pU0*+PzhpAwEq{~rPVju{sA z0mMi#{El4^8ob8;U~yV_xetDH1)BR1stZ|grAd4t>9VtL_tzlXUdE)r-?qCb0=W++ zbcC9LA+m7~5tc)gA$UfNaw&HO`LVKJmMMZ)sc&eW{{yggr!t|JlOm@BHxO`ZP>g&WI9ZniBesZ|-s17g@Xf$+(t5+E z32DR!zWNd!7x(sTcIv^%u6tI75DzX0pw))atmgoE&&m1WBflVvC}KZDZxkF?&M@j^ z5!XIr85@p{!9N6J%|##ePeT+LnVdf{F>#CsS?gyE8YnLG8}5_FEc91p^Af9wa4cV0U-ll- zskavPEOi!=@|#?bJL_LwtNK#mI?QI0s_6vio56XWB!8yED^6(jihg6FlV zb>f2~GH3spq|HBRZ zAa3oo*TOsCQHJfwfZ+EVVBEzRQbb_`D}{y;?EQxio$OOz?}sj$r&Plri;O(JTe*<` zQt!gMDcDf@W<6kl!}s37QJ?x)Vqk3Q-&7>Dxo}5=5n(LbsJCReI=ysTuT5AW@9{qP zr=E`(Hh9X#Nx@R?HX^s;tYnGogNL}!!0LI$81IqzaJIxPUa`jx{V!MS z-W~kGry}>tB0dkC1?22!vlncBnC3j`Twq3_7FZ8~P~Rhxuymo<^SrL!2Muhkat=@EU%hLJPSJQ8`I5T>5*lAEf! zsuo}Yrg0vQ8Rnzs*^Y>^5#uEYisgPxZi#TzfM3Qo8FBUO99!kXhc7#qjHwS_Qo0&k z+slu6VFawjwG@G@pBB2M6ERrmq!1v4XiZHa^q;}6+EH`y2Rp$Q+1uND?b?buap*qi zXg)y^{h3YeRky?jO9#p`hf9nG=0T7pUU%$9%1OSrjrZ72gYbYw0NEj0HTRIsQH&XE z0PNG#)gwtG%M|DoN{5qDj?gtdL<0yn|1=)E(EF{UA|yD8UEaq7Wjij)oJUuw-wPA% z(Iw{%LRko6EbARHPC>&1PRWJd)MKcir)B2C%_x#V7|+P}mvE)2fGIpFVL;E^zjz|K z#(yNlj42cM9L8t!Qb!MOAnuwCxFd)1OQJ~_=6oCM(tp_y{ck11 zzEGXut%KhH3puoDM=9Q!TnJr1_v7t!%e8geb-n4mE5pUyum6F=|6^wVKQpRR<90%> zZY-QH33S^II0m(LNrmUb(o*vAx2L}A*`+>>c{4?cx1e%p;;U6KhLpDL%U*fBT>@gvGL z)dl={oBypKOJ(<$V)yF^+B56-Y++w7xGfqX@7WDmZ{s-S#)3R9|4n$?3d~Pq38~sq zz~+OG9$58)u65(~ige5k8A`kbK{>z{cq5=Q)PRcxKupKQ{5G%DhY!!aFv;~*`ZDqZ zFey+o9*i=AI)U}G;7QElU&!%y1LLDV!lozO9R}#Ua0zfRqia!`r!X)+< zuiB#g99zt2LHS~lrEm2{IuYJm$?oN`kj;+mL5vX67NEinjUCTtFi8ey zek%>!5X+;Iq_gNTs$i5VVy|8%Q$)W8YjqdTS@J_+jd z1rW&nM7Xu9763K4b=;<5bgC;Y_yo`E1=gjOJB#sTrxbUI)7;6D@9Bcnl^Zw+L)UOK zsFJSlEDQQ+A+dKsL92Ue+FA=-^ru(;u&C(xcM)WD=whu9cfOMspAhwvQ{`AZ)%Tm< zvvzUyo+q%)@&!|HtMb-U2rvT zkszz1V*))#d#TCyXHZjMVJ-J=AOyQuF^2wseixKDK0JSJcw8oO4e#XY zZ`1r*AE9Xc*zm6Pi6WijO6T&`*w!zn@>H3e+jeWcnr=#h25s)g+{kB+>t_Iq|AeUmdA>!^70|{D5F%a+= z(kx*h3ka}ai88hlw2_RpJA3ws<{e~1kjaeCEFJgOH#B@iXnU)C&*NY)B9QY@S#nY^ za}*RybiQ`p-MbDM@X}$(%vpK7kBFXmRGLi67Yd9UW~iyc_5&wvPv`4#@H)K4{r>8U zG~PrDPhw^gA8wgK&#|)$7RjOFoD#69(-@GS6LjdS)k@c;2&}jP*6vx zR(!cIHm@6^?p&Hgs=QbVOAEqyroN_XYiVr}KGmCp$*+HI>;Q_QCdRk8@w@w}+bpMQ zXg&4LzfZIY&E3?M<2aCyoV)A~nv%cY&7S#Vd^IRsSCc3cyT|06 zN$1Wzqz!894##+1%{%BXy-goRq&$4s({favwK-M_s`~uYi`1@<5P}$EfH`Ej)wJ#F z1FFi9-qfX!T8VcD+uJz~IBVqFAvDW&H1$ihlTL6-?vEL}1q=rBeva?X{*l0_0aH3( zPHt{xMgt%SIC5agg4x5OE-v%D0cK|4EX72z_lS1L(dHjVNTqG5f?iI3{#q{ism?7^ z50m&RI62VIbsxO_nbN$nS@b&0dd{Y27B3X@$3D?Jss3&9nf|dNvfG*bod&`8h|-k! zf=36kYhcK%Z;|OyFwd92$G9wHKdCO(p|p2$hIC*>bJiqSorW_8W|Rv31`dx;f8h6K zX9enwYk97@TNDIc(;kjl@-9gQ}4(rQ2HAy;AGII=;R zH@J+{e8W=RS9R0E8v4ZfMzQpPo_aUm6^!TWBm!4b^)lb=CX1yTF_wvT=v(iqS zkBkC3@OG{+zOg_4E{+X#l1x0f9EIukp}~6VH*CP9&JS8A5I}&Wud4nl#8m3k-ac?n zaaCul%C#DD^78YIeAWs_ALo$sa74VKnuqt;RB>~jqT7r_`_{E;Gk4N6sh5)YMt}3d zUsnu7u2=tdsXZo*HrCcm%D0D4L4naM(qy3}k$Jwkvc~Vs0o$gXoT}>THwsS8(`uhzP$?Jtb{rf#R@oTQ(P3jFf8nT3j5_LT7e(nZMCIWN z+Cb^U_^`bMj2NkBUj!$;zFC5-oe0gSS<|@L?=4tIP&`!d8inepz#~=E3STVD4=Cvz zW#ZvJmhxJ=;xZ&k6;`(60JTn?dW9s8b!C9bbDM1;JhmU<>pnLLT+?#AnE z8a_47n4b2U@&VJIM(+Fi^^qqnYId)YaTG+09)}h*U2oiTlaqnTBaqQxKGIyCDZ2Je z0QdI8h*3NrlZX+C1}0Xq1_EAm$4+mb?LN@%*|THJ$OnJa7b=V^8wo_%DvxDqB-9`JKg-mP01mI$ zpB?W`I-)$pb_}<{wFAV|jPsz^hv`SCIs?i^;G^?}3#_}m*mSsTgMw}Ap&vNbe|)by zG2cEv4GwJCcI`c&B)1|$Xn@jT{zvG%DB~HBJ47xe ze6Ord_Y-rGGeo37})<5zrJ@Ih-5d>Uy ze-4vThw<^;3*eY0;C$(x)eDFIMc&C9ATBZ|*ca;v1_qn=2U8Ey0U3tp+mx47Rt$Wh zOENTulN|p9ugU!ryyp2&@Y<;E9%3Ln9<9!`zqY+9qW{9Q9h1!S_sC@0AO_B%QA|C+ zDih52DPe=wR7qP3ne9Dd3~wCwMj^R~w=Mlopu#T44mP99e@^XSH;4-$bX4Y$w@O?wQXm-A;c@ zf-QO#@-`JABBkfEn*pPpW7$+>oMGK(inx!WqN1)*RR0iOkjW@*R>5-3tc=)N@QOgR zGU#wI18NRTO;fMygd!2I#|b!BgvTWKG#gMeyxe!LCabu-mA)4GE%amBdU|`J z>Uwhq9R9S5p$$gPT)%$(u1dy6ZZ^j0pML0^7sm5;az#9ar>ZWx(lXflq~M=+FNp#3 zP*j3=E$cw4isGt$2$07actAp;%F{#Q02!wqoY#`g9-t38c_7NKI*S1${N9zH9e;o$ zh&Wp54HxR$EyACwMFu+ssvN7g7(Q|_;U(}1R6>Wtq-z#e6oa{y@9mwC;~;T7v8HFl z1HJ==efu(GctCl||>2=&eKhyqtObrg=mH`wP>6_B(8dd<~@ zD9!;<$0=9Uw?A6R;bD%Igv&%C`x8K3N|ev1=NR*diUvbRykiXdUJlKMohYqkOh0k{ zMMt5k6#IIva=?cX=jc+FCs#_3-9p%ta8!83OB`yv;|X|Pih+drMDU@jOuU#a;&4VE zp@cOs6U<-3W$D@nNaQVqe>=G1kwla54esVq9%r)r{T$JQ2ZdPCIpC+5)gRX3KEv;7 zSUnndK(!I>h!|DE+x7meZaq;xqY-D%`zo$wY1Ao3l#**v zE3)!zJ?ZJf7rS(II4$v^*Ys4mI3N(Y*9Gw+tUbO^F$mv{c(6WT7c$(=-Q-<;-}48q z@rczF+Mub=f#1NWvR&KQfppQ$icNzPj#7eGkUDlGdF}4sS}=CgYUNnixwB{AMnF{M zCdH1D4haavv|(H{Qlg^f368(G`&I67*jKhZl;mpyut3*(`?dG&?Tq77kSy$EP*FOh z{p@bm(#~np+uVs7KC|t3x8s+;)^RD>*$r~n+~-p@F^NBJvRDrqtQFkSXRUFn_sG_3 z@cF0-g1_*!3-9nWu}(2T?}E3Bi|wieMENkb}D3 z@6c7oY4m`ffM5d~rHW-4N~qFOQ@;p%wAN%Y1QansHaH_m{g@rPD^?Pp7(n1p1t4K? zz5pO0-0c8P!yk8H3d4yLHUF+M2K-JM7a3}4?V8bs!bx584n{2@u5jGTPBOOnS4G{A zh%G@zv`=+0rS?YO@G!vx!^gFK`~Dg2*SjlNAWH>-yR+s@K5Zee;#Rm>Q@q(|rP14W z9amVKi36bsw!B%?A5Fl}-@V(IP9JG}F=8@e82~0|&T{YHKdgK44d2NlsfvL(?5tu= zvqc~82Fsxs2t9U8>k7b+v%kkRKSTq`iLwHitc|^WUbF4!Y)G_?OuRhevtS!QyldA} zh$Y;_hkAPru=T+x#%Y`zVdPcTeESppdOLEiuXtcALzi?&!0VndG(yhR4{C43_*Pb| zcI6ctjfAHF@J(zyeS5L&&yl)!RkcyVn~WK+-)DXzf#)S|S8{<2eJ!bd-HzMRY>*zb z#sJllx32dRGjvhnUykSh{T;~?yYuLMO&y&cZ-~$Go3;V{aHszrhO~<_ES|HN5XZ9_ znU#uxkTYB5FHEXD;ibPR@YrIV6PgFmL3{#|IJf#>o9Ipi zBys!L_lXH8G1TjD*EP~;vNMk$r}jlnL?-L1KI(eMTS2A&mW#|KC z%V{;2<)6lR-=A*#u%u9bZg{eEMKea($5$(H@5^+C;0XpSlt}BiGI!wTi1=dQLNJzZS9-o+i!6TsT^YZKT zEzY37+pJ-yKRj3Ri6>TNfsH5=1$2_WJkI_XiPyCld5hm)ba82@AOp3Nx~&uY`N~P1 z+=2p6a61E9aw2O}53wl1^NmQ$C}w4#;HJ;NEj2WJ;}khFDZnFEGE+?mOdv2 zn}3Z!_%Ai)QW_}(L)SmyzHk0X4Zd^q|7G#||IaV>$N0Y+NA9N{TpIbLzhx+aP!PhH z6czzLc7*EHvd=m(A6hYM8_zT>Vst{+bA^shYD`iz2VmyftPe{rJ(pID?~z z+7H1ere@XUK)a7TuwoVBb2~NhsCjD_mbI6+ca(FAGnN^sBvgDv#f?bsoZ#@is2$OB z?%a6S84AxS2wO0pO*P-w?v#!zt{z08r5;>FiWtn9(+n>WMO2xnr6AM*7!w2|aim)y z1XO@1S1rRmfh$by6r{G8Vi3~!+G-V7oW{eN9;2o||6T8=lq`nG?PKj2_kzUrG#jdL z95IC%M#E-K3M5^Qg&b``7H64w-kF+y3lrhS=InFlLit!-O!AL~pTHr7lP!v>6V|P_ zc|B%!hf^yqzxfOk#hNScK?3A7+Y3!;T zmSou;F0nx@SGS@Psi_E|y`A-yxAJ3r@`{R#CU(PfHR9oeKvj?RyjHFe5xu+$T##;0 zZF_q&p+~OX_Iu{yhJUU=5!u|SI%UXx8@T$~Cd(b_4Gj%zxIm4t>>E3U3)%@*`N;BD zr+7B6UUB(spx~LK0KV$PvyBv0I4yBVlkW5aBhomxJACiZU1Pa`|Dj)Mn}WL)&bKR4 zPzSURvnql+fBHkeOf>ivC}Y&yyqe=!L|TtO;A-#oAM0*tYLbF2dT#6b07SxANV}c&-e82fb+m~ha&fA(_uq|NB62dva&g>t`=o_WGtc?c z$4t5B<0(PFg}$&k7R2vMNrTWr#PT)=dEBcL<_(EqR#r(q1&a!DpM)~hA}qVlAIT6C z0Xjy}b84=O8Du3#ABJ#cV+Y}QE6QCUN-$IO7|-9mSJl%x`}{>tC!Yqg+rcI#&$&lq zERK>)DL%5${$Q4L`>=zR)jpAjh__ocl4|yo+~+O1VFB!i^t*X=d6!eAB~&3=Lx1*9 z56r&rABXr^^Aa{lIx%}vxU{TWzdNRxD}^y6HE#B$^>b((t0H&vikwRB;av%a2`VAr z8H#}@Wrmxxdk{Q`p|UI@zl(2+xIgeQw;$Lssx71?BGL!&hzdrv#nSu9s<(PS=IH{M zmez&-EKd1d-V=2eBJ`GziN(>J7a|b|48`p3a8{+3lKyxbFJPCRqUD&Sx-ap#2SO@H zp06ye(lL4c=vFqiRaX_Uk;T>4#~sW+Q_@ z3+~CawnxS&n|0mTBRBa7vS481rKz&#h)e4{OhjI*zPSbVQ|OggYK0nqIj@17y?XcX zT39xVH|En0dfPPjkh~DE*p)@mhF@L+Cz#hSNUjl!zH=YP$ZI36{5SIgT`7GEUHLEP z>F%^oLvA(X>wPXVa3B|4*@N(qS@gMl0}!0cG!YSN={XhAxl1+@p#oao=~w@!LPoEk%T>kNvS0D1=b2-RnY}e zg48!1B+`)*ilPtHXgZ|~XI~8Ca$x!P{{Ld{y&tje`~GofXG0oPLQ9AehmpNfl*-H= z86k&}nVGDTQKV#Mlp=(zBO?@*l$pw&MIoU-l^>)`AV4aaE@5b~C-x)`cCxPURSH8T0FQ%G^H#(k!uo)FJWQOz%z+uENFecZbBE#Bw*dmLJoY+wzfBtpJ&VpD02mlX5SQ=hFiHS1`I zz;vrNivE>l<8W#`!rZR>F_tMK;t^J<(A{hI>iA*sSZ}nv6O zp9w$@>_{RNG97#YWnOwgrtslS>X(We4p#rkx8a``h;7Kcc{iTZRE(rkhz;--;_Me1 zSXtAoQq2!Z*T>>gYyznbdY-eU0uH2--3-B6r(}*pB@D6?9C|zfW`UEl^L!aRs6fhq zWCcY$U{@p#feIYEcMU^03ryX>B!;Uqo^3A!1L#nt5RoPPk%y_@l~h&EN`@*BRMhB; z^a&*4WM;6E;-@&$u&@WIcGlFSEy+B5`*JYJW1a5y3RmcrO}(fTHxt<8q&@oc>Kbl1 zzqhFuoiWOGD-T#B&?sV|ul$zV4`*TM2vs^?L&$JrQ197=+?hG+Ky5kM^0yttGo0`0|ha#gx9O3!AR z4RXU0=*&LZs2o}gxnh4)s0jwT6+QV|WnDe4jkO}GPq~3!4n_%}U#ld&UZpzo@L<^+ zd+*(^q~fxMvP*xQgtPS~Us@RByDt!n9slR>i+Rt8g;k|vwnRm+sC{?$g0 zFpfS%wOMa@~K%$u+o#@{q*dCR8+BTeGv0{5(uj{}NkWmWAlX z1dAIw$1}s0*v_BxZ-?wcnpyY`p^6bsPO%nQcO%-EA8dGl_>^bQE8YjTW8x{V!2Nj& zWuisl(miEmg=fzx_?k~SKzy6XNe(v+KG(0Wwm`~z`zcLkHZUKs8Z zX&3apxfosVmOymky3~aoUC?haJ%e@l#VZSa32DR0g*gOz1s<<8j&qf_qW7_dKI9S2 zw1O|R$*6y;m=`PW$m>kaQE=u6uBhGDr{CjPWTw%NHoQ(P%$;Ta=gta$DixnR{k4J- z@vK6&4i5a$H5={KwS?DSjM#h9_4a9q6d|LisB=|=Ar3&KjEoJkKqUc{X7-vfT)9$^ zNmiVtq@{x)(2wQB5&M?w-N?MX*!SXVJ7myf0R=d>pJnUX?R(D%flOqNK_j9dPAkt1 z$Yn27JU#IDf_k~bd_iqu5e`pc_VtMNiBy0O!(oKL{_OJ~?kGGuyZhd#r4V{%@^>xD zuXsj%N6m3YFoZfrZftv#jSGfE!9W`1t0JRW^Ux|YuAg_lTscw7r!S1iLrlAO?%at| zM}Lp?$lm!{`cd_FHkmnq^)PP@rvqqgM%mCH;|N*BiumUw!t9xEEdN(c97a+ZVrVwTEelyf_Z?L_M;%TW-l6=)AzX+8DM#JmHGH!bo=#3 z{H8Nf%sTXPyo`tI-Hx+}t#C>lOIP&5OF%T?HLId)^1r{tg+MUKA^)xR zqE)PjxVWCzL1~njpGX=lh!C29f-gAXHH9nd2Jh~=0@cyDgSe{CO~W7DV^Yg#qP~y? zyM%vo&%b0}#z!N08U90QtRXvJ8W+hdl*XeU{;$$_`Bg0Nq9Q%&Q?oPfWpDWWIMcoe zuTDCB*O){AP)=6|6?`VIFd72Y^hr2*NK{loF*M~}`{xWxRb|M;&exk~&^xdK;+Rxdc^ z@Dp;q7&8_>e|L1{kMD$Y5)CW;-%4WM9g$`SEmMpI6jAUKCGj7i>W%vsgGM2H;mW?* z`@_xX8&o+Fl+AYaPG;u#X(^a;i#EuYbai87PUGKcH`!rdmTA?FlcLV4I;whfvp*dg zX5j7KWo6096%XRU?qz*SM4+EcDb^&Vd?lji#wF~!b5ANAQZM=1^HZDIqR~wgV z$D&#_m>|mDdI`h;)wfpo@7h>f(&*utCUCP21&|YJ!lc;Yc{2|v#QJV9h*sCy)+L$$I-=T)0ho&+g67Sq+~uo^*fU;bR$X!l35{0m z%+b}-a!+WftVtOvj=wVH5FB|uU=W$-(a)=CKA>U5;O?s(d$_!KHFya#?)&ZF$L>@b zNUob=R)B1E#1+n;98>RE<}Wv@IeMid&@{HImNquS0GLNcgslUEgD+^LX?`txDmsXs z<-F7z@uIFzl--dHgS7)=<}*U#;vmsvZjhg96Ls3mF@D9qbSecJ>bP~lpOkhAzG>6W zhCF8L+M3tI@RI2nC_zP)R@dB4U>94xiMxx_DWr&BP*9_elTz<;;6OQuUS^WPQxNm} z9Lm03Rplv3=3@;kzls{*guz(Fba9zYMayeU<6&kC!qLfYAS1ZptAcIz2@L3>(w*_S zRaWM+XOXfL<9QYEVGpDay=!!`46bs7^vm)yMf`f?GiC0yh^vgQQ6ojykngpj!HSbZ zAwK&JTm*$CLmyM>U{)|J-=!no}xXVrYR7c&d?q&pA zd6pV-MQqRznZ>_@*I_TEufjgo*3+{SI(rzy$7zp}^>>=@FyExBxT-X(?=)?nH59kk z0U)r?R}DF?o@(a}3Iflrb_%b$oi&6vAJul`tk(2;*W3^PE{P9h{O6MR*CFpcnJ%!N zfMEmr1t9iN1Q*Ss)rBby<$T~w;DmXM89$SdU^P?)ZPya3k1hkeKRO2MxbHt_mE%N+ z8gt<8^xZ|7NXi^Ph?G)Bvt^y z4zEg~z%cVSpU3O~tsw95s^~i3mZ7d3lk@S{Hqq#8GDFH(<<1t$7k3ATm%YUp8e(>^ zmAr^IF^KLoDxLfSR~AsNiTD8Q=9d2RT=<;kPK(^SOKX8FoZ>#eo?<^5zbj4s9}vwx zM{w&=CR3^WqfB-gr9f@-en0d=25rb=z&j7R4!Vi3T!?aNshb9!tNTy}M5eGdOwFT4 z<+b|Yt!Ez1R}xj=^1ey&&zX-8ujk5ma)%I~jRt%b zeqb6`zjx9AiupS8a5sIsW4HxRa3w)wXWVt*Hr$rp3SL1dJk}CF6ypfk_1QCdh--E= zjylnORF*evr@9Xqwm`b~VR9NCT+7;5vLP zGdo#p$L0{iR|K7#iy}))rBHR)_G-a*Ct|2;Le)xn%q67sxgrIu!xiZhEMl^aGj-3U zl0K))T@;;PW2(uc!j%}PG|@L@wH-Wd>YSqoK?g04g5&Gf=#@9g&mkziNqP^ij6~Tvo`PqbY|p$INLtHg@N3o z7ELQ(8)76XEBtj21Gq*O`Kj{{h>A*Uw{oaIU4TigQCoL6yprhU_N)c~Hw-|tc@3{0 z-JE!*_1#x$RO#SrNJnR>n?6Q?iDkA(5@ViN+sI_IrxU9q4!f%;JTd ztF-)Odol~VH#0HO$zp58sb4*W&|@%GD0UKC*ILK!q=g^t)guRaVcR#Bht~QAe?mP* zdofOkA|vXF_y_T}EOa@gTQIsfK!1g;#X=wkvI5qpXpw$;m(leC;Rczux0uANknHgt zF7q$kt0Fb0mTVPsc=UM^0=uS9wHReR;U^Enp@fD(i0ywS zz)J{EAIEZPgL}`DWx+KdL_yJt3eO7~Tkl`fZvfUmXZ9HGa(nX=#9n&2BItu)x+D$a zB4~181N~??x{si3-ndbUdJ6U*lMn}e2FDksj>uhoA^G`%;GR9KN54ZWMNrT2d%L&) z`u-fhwKl#Sf@MNaJT;K;t6#J%2EXUpH4M55MfF|#Z@4iK@(|QE@x%wTvKK&lAvjq$ zeG%IG{V}aKi{E|xIQV6b__anLlPx|HsBJrY!+3Nrao9(=i^HXbpvoOhkT#rfTLc`B z^Br$w`HaM-yDE{((j8?O!ofnOVKu^(Q*S4FSimm;j4W?wa0bnlI0U!K+H5}wF^wOK z;r(H@En_vOmeyQ*`Fg~46)U)(=-%pj(u=ME>otrjU4H&CgfS?;I)Cl4*m&jnUgo11 zR}S^*MwVK;5hdR6T!|-(w~p11P(VC5<8^IsQr#Fm+>^HcHDE3HuBTbd8yu)U$gJ&D zMb?^Ha{8fBVaN44^MSiZ7x<1}^1sOWc6N2y9tx4A7MzGQW3YMV49N)riPiRjwK7jYPFCJR-oCnx zq1-@2N5>6pQ@x#cIThs3Q@1U-fBFU*xIgUfQ&h1yt`kX{e0Q0_X#9z) zkB)6aXlJ~Nf+-6#lDn7E*T4VQKriZ>5S^?i7!)e0^DtHW$OOUbMroW-k3tx>ATU?0 zs(l5EKbXtnOISoiL{M;t4(7}t#DPLv(#5-P5A40cry5swL3SfzedtW__Q_s=+_b1P zKYtvP90Dl^xDQGe3M8x|c%z&3+%sYFF7tt%1m%eP>C>$et1u2Bd;mJz>uGL~-Lk2k0(afA>tqc|cV4cX=q zyzj%n<&sCIs;F#OJeocB@wB`zW$ZV-m6C{rx4{A!vZ6Pj~Ure zGGE&pOH?z5udeawLsmUViA~P4UH2@Go{A}$(Kcbb%CEn%ezKTrZ-n^go+Z5QFBl(5 zjRE@m>HTXJ-vbA@0EuTWAjgk3FS0n((PAqZBB=Kw<{!GGerJigBj2)46&f+lzhY;z z{hOx3x|d*{4;;VN=(zG4zJ+tl_>WSNm5y);>N>sfA5-Oce$pFRp!I?3awl7PyV=5j z{fH)Maq#vJI_Luql~9Ox5nkTz^dcqwBc5fHN5n>?gJ{1^S$NYPd3F_|&baXR^O|de zDgn@9fD0*sR?Na*0SzXb%t#n?nBQx|jHW5}Y{y8mP$sem^B3t|RNQZ^_0D&qglu03 z^q@Lh@&+v*i2-4?cp}ibnBM~p0hDKF37$gG>*s|%ky&0OPmMHPoTxW4($nFgGt+<|o@{{TAhF6`K-Dz; z)0_1vc>SOZR=FUX0J=wOc(D8^HalVZ_oIFkou~H)IFJ2qlv+KmI*SZUY%A{8x zPL3~fJ*Wof$=}Gt$-H%|2P{<|oDXwW<#60qNgYFQxWEtS-F_dpe;u*A{l3Gc?gz5M zaR-Q$0Fc5Fr({rQXNXtSz416W-*64Y(M=Sot+@zXs0noje=Nagb_&OO91c``*@zJC z4=>JS5e&=tctV2<2&R;veml~$J_Sw(lZ{hY)gXS%z{rA5)&TQ6aMXzd7WsFi?2Lkf z37nPFKk?xm#Bc`Zy1`=*85;NQXTfOn8(LF<{1{&R!eIvyIKjbomhgf2_c*j8DsTUN z1e@%256*?elo_(SF-O#cr8s17NPD&OUrIjxbm9HU*`I7kQn@a{QR4?2gS#XKS(rD> zABsi5HpH*1MAwYNaRY6Kr*xV98|k9d)feiLV7A~dOL?t*=uUe2&T#pK^X!t|JA*Zb zEo8kcj7lH6I6BU|=z*zCzNdFjU3VVOdu*HoM06g~E6zgatF*I^6MzD0_w!^r#|U&$rD4nwxwF#zrZ{XOvLg267FjLwIBSkpfh7>@;f;;b zeBTP-31PeAkkT~lAO^p$NZDHsAnAZ8{?dj!SE=?+A-)ha3>YUtI0$Vvu^m5*kRc znB0wV)h!g-XUPjEm_F~~3C22iczK8j3&+%8k6Rn~4v+|WOx3Ujhjia4Ab7ZnwhS4T zzSnfE53LhQf55wnGIZ*zf4$XhMJAOOXS zerG7_-;X5C#=jp)<`Yjt_kv7AuovM@wvE-V%g)};PGt3o7vEcl#_d{jWSH3w^l<%o ze9B#-t=WC?cnZb<%m7nE#|YGF8R>Y-j&)u`53S-K=PWmCY_Dl?UMF;>yJljY&Ju#OQhN5GQDV;+7Ms*-wT zo8$yiNudtHT%`BL6G~6E0X`*^!LcvOpm4kTFfti7<9=Xb^;_{kd18e`>Y%J42w4P* zGo1}FqY%n|@_Dl6GYx}}(9uP{Wx34{DP$A8_0Uyn8OLr4a|6g&dN77|T09x3ND20L zkC%Dp59AOOhK50*B%_5(*dO_iV}SENGyXr#N-tjXS^r!A`EZCl5<1`P(X7s!?*hHL zo&zr-`odPn)eDQ@?e?c$-2BgwrD!YC0mm_cn7igaT3V1wynPEBJN?-<)P;x9mfWFB zOiDVDKR_YT%UPk+pNs$UfC(i*!T$jhRHlGeFl+S#l^i)5NJhxmt2cj5Z-;C-PKKhP z2Ui35U`FSg5m)P2?c>MGYR8HtL6uMf%yQd=DPwPR^1%3+`grjM%*Qn}1VuzJlPs#5 z!x62t7NeUwZM74Z7ojU$cIdI;QMCvt?pY5atSQX`As*CU1NY6CjGHf%ww?YES&{XP z{(cZRLc1>uQgPuwdqaIC&LGF{Urdk%;|DuE>>`A3qx7bah_@JSOPL;lb{}QnO z4ZBn-CG>`Jx$0gbvne(OMUVRk@(|1w0~HMBI9Ei63$E<0^%r|N3x*HGIE7cd=eZm< zwhshE6upES%0LATE9Mh*=5gD$uVMw&#Gej~il+F53*R4!3&%sN9~e6=H7|?phxPM=1upI`bz9`ztGj9r3<=3x%MnfsT9Jn{)+`fK23YrTR9PZ`{t{4+r z+st{L?(j3~Jy8{_c`DC#^RJFMOx)2qQTdiX^g|~*QEG~aR9`Y$PKjg=8s8aQrN5P9 zQ7mlKXA5J;mo7hHH-^j(2-;-&#;a#HYKgQjY>2AKd>h`wx+Oyo6neAW)^kiY*$V&< zaFD241|V1ijP7d9#u+m`D0Yu>ZW*mEea4Z5#-8;l)akXa4Pom8s%+7(VZP5=u>m&I zC3)cq4a77#*;Z(?@YvTmAc7d!i&lwaJ^)o$ttlyZh;r>LsTt-z*W76bq@F$~chplu z=n)~EQ2XmbKwL$+74~K&N$mOy4EdXzMPO;u@DY6;Mx8Z%^HiF2sRbj9vs{sb=OI(< z^WEfD&FSj;=*QCyN2ytf%2*g`DH-{~Aj*F@lN^kVjb9{jDWCA)#TO$!3{vyg)gVdy z?QqLpqP;mIb||*4#{tJouR}pBje(pRm?>@OnPaW-F*q4X%s~~n{W@b2-2OF@o#?$e zti~~Q0RIE;hnc{b!~(>9R$ObGV=tjtMP0-gq(j_bI@dq`+i~VzG>#5@EcO}AQSU0A z;bMk<1dbDx5|O01WlznF4&^i_LmX+R{m%$Sb9k8B_(MDcBR(@Hi?(P`Gvhp(8yn%2 zBJOc!vFuRQ@|BX7{^THr0fv_P9{9Sh8QWp5j@1zPC!^c&UO4t)6`XlEIz!2n`D&G! znmZbv&7M$SQ?QY;y6D!e$6G5+?=CwY-7z9!e@w69k6arkwS_Kk)m_e@sV>>7-dmdO zW~hNS0Pz4%CGqw?N2v5MJg;0^DSH7Xi&GxwNolSU*DG2wI29BXS1nHGa+r>@S1yPO z8f-A+r6}jb3?YsgPS*Is0*g`Jg3cest8@a?u?U)k4N%y*w5s`ok|D7AyZW;pFGRht-Wx^-Oo*7V&}^)&xsg^POyp^O7#z&~ z{c!y0=4vm&xH@JD=R2_-k^%yWR_(+hlCBIec`(%uY(vC%K96N zA%Z!_(tm{A@P{;jGpOxDv-v%gKRmBG7v5~D46EFgltfO-?#!&AIUU^-oBfNnINy)y z_x@D_lsr?P_?=AMsr# zNd)^zP1^=4hekZhx_#h&uwDHyG6Fm4*c6PLvyiGgp_W}X`vaqUEv?K5)tXz1LD35@ z4i$F_#1bTijI^{Ed)AzqzV)(|`-^M_PYK^yyy&y}H$B%-uz5>dhn0oVKoCL7e?Ft3 zMt{#wJfS|$@Jd~mnLFm>(g{~&Pb_>oUF%P~OE4nVqTVAWX6fZXVgOkpO_Pghbv1G_ zpA7&ED^=Qgf;XD|6*|v>F<8$3dT{Dp!1H%-#kiP7y|@DjRkyGZ_Im&`G1~oMtfvjz zyE)k^6{fP(+1NTjVAf%9C_Z^I z)M994@;4l&{|Jbo8 zkcp~_7Oq5q5;Y86ot(yigteufHe%2|Px6DP0Qsf7+(80+_dYzkIBup=`~YEunSlG3 zw~rrsOk%v>E74nl)rMNg=@Y}eNKP6$!SyPOk2i{0zaOCE6V7ZL$vhl;7k+N6B^{Dz_x{zLDQmq z&24+IcpW(@BrZbVin(p*vYLv$oYf0z)s>X2A&>;jV{J}pjz1Qndi(31n@_HC{NU^( z3muO??3%{z={U)7F>bR6zgp28#rb4Hc~eC2HXQ}Jux;A1E?iFMD%tk;J&``VRPJoS z3pv%2#M`BJmJP0Xdi5pcb^F8ps}H9SvuIe!dXN|^xt@1@GkvksH2?aizR$gb?vj!P z$2;Entn}QcGcn_3(SP0TS^Wd=g+hetW{E`5Z>a^$W>*aloabGiB1EaOwY<%VaCs`?yr zbxGk>4k_SkKQ?|T(9+py@L91%L{1Iu;wRUVWil^?MzCp}=T*zTMvF%7m8GUuQ+pNI zUGVPb`E#S(RrcMH3ggMQ7k@PsU+Lq6p&)?o4DV-k`P0`nZHqf0CCr%&!apaa7w zm|8)1>mbJ2?t!s4in=O+1GiKKVqg)f)dX(aGnca4m|d#8Q?a$1WEqP z%!BftmqNBDPLvNi16;s#YweCoI0UR)+5@YAZM=u+{30Vawhw^(@ZgtzE)2XBlG)_L z5;^;S-W@uVrn!FUV_>_UrQnNU=!P;`rMUuvW8fa7KlMg~+Rw}74r8$8n(_PIQSn`r zITYH0U@HA;lpJ8v;d4BB@&x5HGE$Pd>s+w$zrcm=xMq|c&G339<}8`olC;|!mcI@J z)4zEZgP}xDv>AmR+g2~HTlc=MPPt&~$InER9~#7tp_A-!bwP=tf$^;}&cx3j{5SKwQSc8W77z~pXL){FZ3p<@pkCtgjy$$Gz{H4gJhH$qosoe-Qws_R+hdwr2qzyII!Ip1e16Shnj;(w z^2M(3Dp(mfQ?iWtkEnSl);l{bUoUuu%oYOMP;{Pgb(H%)!9SnZEq9doeN$}??87~6 zX+gm_VyWCP9CDJ}Me2kBMhrfLYq@8>Zgx*GNsq+Yc%(~5M_aqrI`zJ53G{E=)KB0U zr0+KT{{4Hfp|XbHGGuAV$+Q}&6#mIvs9oX30wiu?`X?>36ksJtd2C`L)MFw)f;I|a z(fW%^m;9kU3||o$IzV_%TR7}1z{Al?({wic1#&xFm34k-i>k-1D4J+HE1oPozBLuH zmnUHv0G{D$UO=&-eeeAHLRtg7FR_3wqq6^HH|OPn`UJel;Dzn;`r(X^1@5Y8F0_G> z2iJsLdw1zlA}5A<0-l)l*v7UD*;?}ekIR&dXL|tY=YA55LHekTuE; zoXaKl>@iszK%wJG_VE7x%ui`*&@Ez&=K-tME zS*B}X0K0b52LC?gGyOUf2vTkL+j#MyuZz50-}MkL>BSfqDyo9a$L|Rf@qXO_B1;5+ z8@IT_l`5}GjBiJcz_LS_iKl5M+Wd)19Y#~#OMZI$blu(x4>zuj3?>Hp`r+&sisikod@X{Rlf}^0UfH>MasO>egbh8TQ_)rr{znt+zwdS)ncp4z7;-tpgBhWO@?r{{8!wD(5kZa5iL=yXrslz00o-drGqU*Xf^kGw$jo ztKZ7oNNp?-xr?Dk@`K zLW~hZv`Q*=JJ|ereR(UR`0@N{DJX|))fA=6-u%L`Q&5dKQ+}q^%g^WPUJ_V!FO=LR zX3R}^f(i;^#|Eo*25pR5^m{~Z5CeTw!bmnLc1A&pSxoM2hU*7IqobnW&cQ+l!x^9@ zHs9Ypzp~>h^@ve5Ni9=5?YSFpdbz7RG4hG<@_lnagr3H7*)51m=eYplTh}@esEYw-={Qqs#RTIokC8YwwWn!$z#N^=)>n4D%ueMMWiWO{$Xq zkd(t)s_~iR#ufd%iFo^9ITOU*EaC8We~HN(PicF3-S{dq&dt`B9o1KKGwe7IJ_W!8 z^x_!Z(qGEb&ImA3ZPcRkgGb!jz%}LALC40%Y&YJ|LfyS(oS*@~3`w@6g_5EMeR;Y{JT~gXXl78^Turu)nm8iEOZ&+RHN6I zms>0ysi@5N5&rKh3{ z1hy+gU6R#m(&Tda_CXB{^N>Tk`*NplzC3sD>1CdxOII&3EiS4@0gSA^N`sp@rH>4* z5_1m~U-$m{1>aOYrPJUo!zv+H=e63?gzj{Ui?e{PhKf1b7Uk7cRL(8IbTZy6aRSwh z4rQ02ILT=G2#iPa!}`UZ2UX(-qH1jInVg2Hy$MrIO%3(-Mg1<-{wp_W7tAP#57Zd= zyBWlHs@wT|u?>LUKO#3*IN8>(H79(^RA`Iozl4D%6qJ}JsUs5CcPZrgyP4mpqp{@o zWfs6q5HA^{6d(xRJ2<^jMg9H##X3*2)ad&F@=8!&`jn1^z?q?tVB-ywMYe^ZvY?V z!^mg!qNbMJ{BFNkQn6L$?H5sIy9!^L{B@$Ur*i#9zT=Oev&E7s>58(<=M2J8l-i{t z`4MWqW|!*)4_(zV8~u>ZHfLd>yeb|CdUB{pf3HpS2$EQz0&_j6mZvG};q>+Jnjp>~ zaAph)4Q-G4zaA8-xN3bEbO3*Uu%Y347Nw9}d?ljw;>)&0zj3Pl_IlGS`lhiA^xt~; z_RI<1e>}*^c@)6M%R73$;OWpfN)5@aYn2-S^+Sot&(zu8{*k}g^?l_!89I#rI^ApS z$Yiputumb-1i@*VADnbfOTjUPr)GcDgGARA>ZEA^hMC!>rlxEJfr&8d9dig`2M^yg z_kMnU-`CTeJ6|Lg_VXm4SLcfSK7>#Ss4iQ^4R{aFUF_zy1)@4hBb2>5Y*%l-1Aora zBQPL@2wx5Hk2}J(hs{_;%&bKpD zSr#Ao%cBoS3=?y52vx)kV+&n>sXbQT>D00waU}x$#LrOmucjtY+SAq5yNg_xdxm#VF#mC2o@}eLZ z)GtWlT9@JiPlE;RHZ_zOxP~Yj%CTRQ^%&&TTE?^Ln=DJdi#fRy^b_4*y{InrqEN`+ zQq2)%w9p({_Nf@&8AB2Sx7KO!M(dF=O~h|7(A7oY>x=@N?5uk7Gxq<+>(6d`yjccL zjWaLK_U|`J%JK*3P&dGRT}R*%S zgXK^gQa>3Tg;x>EbL^k}?rX~Vvx9#q=*u>(TD2-Yz2KV7EyKsgp=^Uu#+FGen;$+4 zeWuRNi;_{-GuW$`M=bYr&1-GHG1Co6eb*tfRcz^2Odu>?~}!yx{I6ScY;{g&jm61Qv?YGNbr$_2VW zDtioXDSjq+w9^FZ0ulyc2rh#Vi9<+^xdF^$3zQVnY8A#Y#hkO^SaObvdjgXN7HXj7 zMIm8@zO(7}-GTXE&o~L_eXLVX*sXKcy;_$9|JgH>u>ufzrfG5-pUhexlz1WW{(}dd z&MQGSw6<2HuQ)BGA}+sF=F9ZY8Qq+RMX_+PbA+}e^xVuYN_ z|6FL3oEmmi@^|>N3}p_EpXoSOgZbdl+SIer;$`R9xT^^=B+$gUEKzr5Th9Iil!gScQ*8y`TiC8P{VO8Br=w$F}^#5g9E11rUge8*`nzfz8Oxu8`nCR|W=2!7o&bzTxObB(v5-OX z&9I7fFF7Nmqv0=mEtIAFIs5 zOs}JoNmj3tI$>-6{+Q63@#CM)I~F0V7YOQZxd0YwLhAfkTSt`E5v9MyOqF?awF_kjJ_2}}y0JSKn-l)7cEXv%Jv_gHfHFYB8kSV=$wa7Zc+%|w^YBr`g> zY}-cq7@9RyoSy#J*ulo;(sqe~TC)8)!%65gH26m0#mN*vh+?Xq$=ZCA*@+RIIJh<; z!i#m#qnk60E8KC%NR+A{8;@a!shL4d791QL;dn0jK=M{<(%q`hJKptpkf>M}x2eSUeD^Fwja3g$Xv+@)fN|Pdy(jId_(Ydh+v|&lLulmTp;SkaOw@OZ)*RVMCTwzllRli5kdXOsFp`E-dRVSPf5Mn?^&Hz%54^r?s0t~yIREGPi! z>-=Nm{A0;$Z_{s2t&(D<{mETs#b*r1+<#Qo;TL7q=-aEJdQe<-3%9UopANdB(Ss+V z&l}BWa38jAYsz)?^-rwxRBoufXpMp|#VX(A`CJPjq?~lQoISc`>ZiAa5v*p=KWf#D zxt`*E;o24#%&eojtQF&0ynk!TZw}W_^!HxsjmQaCb3qvdKeKqTQ?Q%4Hoea6vPOAb ztxEEX3ZV6B$F<`&!;Bqj;*j(hJ7b4e*Ks@Ni5T4Qu3%k};pWvfjue^i6 zz|>xVRi^eaOwa8uC@8wR#@RXdF0Gf#%`|H5f3nJV|CTJPV?_ppqX!E$DuFQ3^V>`n zOdvuWF$F5Tx;$qo-PqI&Xxt*w(kjmtwVK-6+L-Gq+IT&j4DUPixPkbKgWht9asz-s zImLT8x#?5=u3tK7=HenuM8$RgP#mF`>v47h3rMJW{W{1B6FJq#&1=OS7B_9<>FKtN z>{5kwiD-cLR2Pi0=&N2ia%?S6I8l)`d+~ILKpYH-3=~?00|%o~OCg2bSL!5#TvIq)ZMriIkNU1w4NfEEFAtM2 z(;2KErw_iZxzgp`!FV-E#$_ixHU}vu6J(p%lvi0v{9F6za{S(Np7`^LZH^bD(IB6w z29jsraVRv)ROup|E^FwU*zF1bP=?GEi`+k|oAns7l=;D^mOO>60sv#v$#L+pw>e*2 zykbl-q7!I~ss4QTAKMJ7#xw5If16cPy{YL~u>g1xzvBBWhwoiZnupzWB<3qMk{+oux^@6Rwr={$~l^C2G9~kj%f%8n=0Xze~#W#?O%832fdKqan*vaa- zO6%4JqW6$a7$Egw0TOnj$}3CY9S)#fNef>DUqFU2bwK5YRNBxP{QA|YHyxyyv#6wq=S>%myX6ij3BL~ zr_ZADEzTNC)zQjVPm7mw4=a70g7tu(Qc1Ns9Fu?F<$n%(pA}2ST4Qv_fs1^u@oEw2Qej?Lr%tO zT1_~mWpCx=%;Z57gOJ3Z(5oEeG%d@N~mhg z1vdS_{f90iMkN))t2Ii=>OwE2oX~M}Kc}}CRw#P`_>7oenBXnil`R{LUMT_H~jOJzrFKjgE|0zo8tk<_+SUYaJ{rB7Q=;%5#1#5VHv{DBNDumI)N&U~dqHVhT z(3xZUnkACWy=zj=5c2D=+orjdiQaeXNyxGKM>U^4B;mgblRSh%E;Vs?M@T5O?|wto zwg&+w*IK~phxI3i=EIzvo9Xa-uvt}-WeZ_$)ZF=pA>A)*XPcGb6ouOd{gi}Ww7Wf$ zL_w*k0cc3ObP1kezF{ONRp%eG)VN_zP`5#qAy}7mNEoNZ8m_e+g_o}6g!<%8irU7+YNG5i;C*h|naFu#pU(}p=?De?fXOoE-*+SL zQ>qjO=xbnf$?YYw;o?%caLFrNI4O1L{Orqq7JO<&iwvI{LrkXO(X&w5ud>jg!?_Ln$?!K|M4DT` z1lMzAl%XTC+T_;ZC{&-%V?;n1!LU zHPJoZWPQk5H#Gjb^`CR+J44?P=37K7Jfx#2cV>R>OoQwy%$;=v3>(+WsfDrA@G;Q% z>ypsXYm5F6N4PKb6VP*8sy^xln#!)I9CTJ+@xB<20we~(R5p{nCwDJf>SZ};>8iGG z(nLA|N=9FnoDbq2JKmrh${M0SXih7_xf`#fdEYIYEfFWrE7*N1OQKJ`+J{l z$Bt1X^2f4Vvs@MuT?(fHiQz=gyF;r0Z6QW?tMt3E>7OnqBIwVbSXT@{Nj~gO@Tnbl zEif};So&D~EXK_>6s0ytE98sjMy_vnz+gJ4M?KoMoFB@l+Rw7T=a|#ycZUM+@B2|iyGgm>!=D*a z^oK8}Efm`9?wqk*F?R}H1&%<{e#goM9x04sbg?EgUdjFJ&43x_olHQ#A zV0n((U#o-ZF3>dC5HSRQ-9>(NKqa9U$e((@L5B=sq=m)?unMeOd@y;Xck}pHQLT`S zbSyf>ldt5Lx?5T8-W;-g$se$BC@!uJfSIY-`in11mhR@3MM-_ZM2guW`!=T8!*agy z`F^sHa6cYpeR&4H&*%{9uWW4BjfOREkpTuyj&dItAH3uPnR|j*b+*Nl_N0y{pNEPIQLSrVAcgg!_RH$qvw85V&_z!=PD= zJND?2r8T$g_XJnq%r{|jIo@DlubGMWc5D?B?ElDxpw&SW{%fMJY<$XdZQ%Jn1%Pbm z385Gz+=*_~^nt?q<}(D3;F`d5i(vR!UPwzwobDdv$X?Qirt0+^W~XZ(Q8# zkA1%JN7&&HmBgE2+b6>uf%Q2y1#;*yrPQ3dT;{&U$ZJMvh4=3tG4XQpaT@cOIH|^H zqsS0E;v?ji#d!DkZ+^7uQS6GC-i!1klt;s#e_`(#_gAkBlLlC5%j^K0{IM}?U>@?D zNGhtoLpB5s;sD)ej*ZeAEt9uPw2t*Q9a!8mPXD1h%~B@ypK9T^WWO`NyZ?^1`W1#} z&jCq-6&e4fzCN;KNX`y$ws{kYzgqsu*1mW$EKosDY<5hB{=ak*n>??T2Ai^ zvz#TAPrYwPXtA5rO?Sukx1%IehtFIhyfPn*0n7!ejnXbR6iSYXh#v1Q{MB| zncG|%0jvK0%O;Tb3qC4<`6KMGkOTw-r_t*}kYw(~>>!adgsm~}q~ZYiuMhGeF2E~v z4ro7FxFe@!XyejzOR8N;m+lZ;B(n7^_VbHZYN9j=X0 zN+F(W0`#>jzZtIee_*esShgky8 z)ej)})`0l)&Be=WFVkwSpx4Pfe_iU?Pj}v|m_i~Mq|gSuV-_iP6&TO0fxTgWV^zO& zWe9^hZ#00Pqw!)egXrK}ut_7X@muv#uTTKC#DT|3PjfNxK80d>;#B50nJh$Lq6~+0 z{jZ4%6#y8_RHgvlM3MFA{QfqA>HUu*n1vrG(k0RO0)K`(r=cO)J*dMpo0h^t4Y+@E z$ZH^|{~TgaQ5Ao{7-PzF762)%dti{%@BQ>Tv^yyMly~7E!DLDrovCZ?Uyq5(xV-Fv zy!}6#-gR=huUcVTd4gwM4?3WrULs_}SRlsc-j~0A@a2Iyu*|j|;}TejV#s9%GJ65j z5;V$lDsr{n6H&iuS@^kv$jfXfSAJl|*l5xge?BowAsJC-@<9;Z-Ka9t6^aqm89Hb6 z*I)RMg&+9q+b>I|r*1CD>gN7w2mRmwwd(f&_uc%>BJRX5#BO0R$wdG4wj1l8KE*~H z#Bp`UmY;cOq@}gt;?uJ<%eruWr>EonNJY3qyVOA~EjhI_dP0jg{w!k~L73`B@OOOH z5Hbf)#`ih4NhzpBm+e$FC2D#-_ zU?&6WO=<%MO)2)LPFPr2ko81Xzq{_%ZSp72Dk1yq5EmqiIf&UXn|9M76%RWcI#AAy zRfvo_arwIkfyyl-^koxg9!6RG20*D^Rz6~@1i%Q(5JmzSg32~UO%1te@V*`tblEQL z@==qM-jubXsHg~pE|`zHs3t#3Ce=hN#h_bD3uSnTj4du_-##esgp@m4Tal-OsV(G< z<qsprpYd^PG7Orv&H41Cf7>ew}i3E8`M-7#9<~K z;sV_xzG5U-VT)|$=zJ|2zbr}bLcA=Y)_>qU`1;wio7Nv{aA20wD@PAM_-abnLI|dFZ>l3cC#TPc{c<1ZEB3QqNH=^z2G<-)k7hn z_tetDcqYk=F&|4Fw71&be8sQd!97Gfqv=KYbMz&?5PqQ}YCiBD`Vx9LD-5}oz{P6n zj;);?rB9WAa=sfcXdxfk777-y*j95|s@|`s(Ty~`%vA)>Zbzij&a}{e2~1WC3kq!L zeO+8!hAX!Vq7t&{iTbh!-OSh1@yo96c2%%c3f3B$92y z)bFB3-LyX4NLN=?i^xR$dA+4m-~J&7^%J(VvGhxrC=`FdJS z8mTH|*fO46C97s!z(6yB(7G2xEojDvu3Jq0o7^R2JNUZ;4_5fE9k>$4SWhss#LEH$ z;H67!oSr>_%wt`WHYdH!3J$WK_r&m~iZz4D z?wP4KZr*oF%C#laFf8qX2GJ!@!*3GiAbBC*qQtXXYMLo|c|u?+=jPtB+U#=S#X9%uv zRqRMaPo%*ldi98^Ldeyt>qMIS9A7z{ak^>31lrdpyFWgBr(`RaunU4O8lEha{`!Eure9*oPYShHN{0JKUwATG^XyR#lkn zPDUGuCLz-~J1efjHwtsy!SRbcvj6(nuw&i27Q)NxeKG~Nr7s|NSGRU+{`)%}U&DQi zraX;W#sNIbhi#SqKakVUUN;2o9|6c_;HvGA)-gOydX3m;aJ!uGqePZ~8@=WO7d{ zL_S)M+`y4Y9V2mvw`alEb6K|J5BabU_t@pX#cXf#g3!~dq4rPi$Z8xCWi}$sLmOBQ%m{D3YCdmNL{xD}!Tm2- zp?U8<-n^|23N@mUniQU0*#<(d9S#Z>X}Rz=T}54xzY(kHv^1vsrsXEPso#`uD$nzS z=Q}kJ6O;MizD>s=zmD}+o&$&DjrMr_iFa|T0UUhP2&~6OChTL2|pEy(UHYHy&8IqiM5&zvb}oa`;-0Z5hWFswI@ejVsC?U zN}Nh6hS4``D48aQ7aO8Su4BO|8u5~DDlOvGc7|49`JN9H8*9GTmjy)Ef)IuAZphB*rfhE)V05!lYujJ; z-ddW2{1OldF&CDh6H=Ch;u&{GM5PDRamx zsru>ntcT41D5-Wz?^WjUtsNsXPx#Ufy=)&=Rc5PPtPBsb5rLIxOqt`Ly_>Lw9@GzSJP}8K^mw>a|;qk;TUL9&b_1@yp;*6_9sFnEG4RNPuJq`#<%yT>Jb9nfG$Bza(p}i4Z zU0cu{+t`ris?g#>y+qE-SFSWH1-1EFT%5H8G~kYKryFqv{r*eOfwA3DN7#|B#S+B! zlWv}9_V&tpxv!w!UrM%~22+lP_=`d_`?@28(be?b%WuuO z>pY@|4~bR0jn4Tsa)|MYBcqRY-uHL8!9Sd0-6)29t_Siq=x^~TWSjUT`dxG+{`iH5 zrB2`X_{J+F`#xszO8Hcts&XC9FR1z((=>cpP@SWxuo1Cd$tE~#MSGo~9);nSDL_L`eCVX6$1<6>cY{&7M= z<(Iv1aSbt>_=E9cuY%PEY&+IAr4Wzh zTgR=Ef^s!G#$Uy?Chx**vzZDMTXz^rRU6Ley&5>a)l0HYvMr0Tgth%*X2?VRbz3I4 zC?&;B{4py#v&UDd2Z|8P18ruDJWy|IAIBUX!NpoluZylF*5fb}h=0s-1VH|}!t(_NBtRLI3$0T>$nEW%jV>5D{^VG^pub@B!|*$= zUK?GKu|jN$z=@z@$#z7gjG!J`?wKLZMYs@+)U~u*I(C19-bdK8ao{79BbN z)Bii49tjoN-~lP-Lcc5Wb4*Xt1*O~*3i<$(tpe9O9h72P-TwV^X3J3Wrn={F;+aA6 zW=f+@<5RdA%yYEeqaG5{lqHJPs&2eASMQCO?y+N7VX>_-En^A_SZwP{`5~1DfuhbQ**)OC1^)y%ro&VJHA**I)#hQt6+{bA+x>c=xd3d|m`^o8F@Al0meX_rl^=mqeC$xR9 zVGHEc5_|W;?_$sioLOhy4r}#eX|4G#x(-uHbn)? zP(q=w$-hQ#1ECW9x?ma98Uf5}1bXYE-A4n%ol4 zy>8%j^AS$^AK($yuDnY+uvyDyHs(C>lqd z_8{7mhIW)hNl2wV4vo_ur>-`VXz!_#v=`cGeD8#rc&U(cW&Q#=_u$J@agVUR<7*F#~MbN8@6{jlK?uP{gP zmR%Zi*C|>n2+(U5ykH{US(ZO#d3xvl*7ziPYnkzG>!(5TJ2l8@0b87M$L}&wx5jd2 zsE{E`L>*>U2e-EY6aYe7A_)JLYo?hp>zc2)OIe0h^k1(^$Y2PKjxN1DP>Do~5$j+0 zQQ=)m)aC>U89-S4y&Bh$4m0!hoxXanSvulZ3-9n9V0M@~SL2yB7GYqcW#N9Kwym7A zbLj`aI*a?>0TWf~o;Chq1vo3VJ_V&CP^w7B)BL;wvIYegA#r4+Du#Ns=Wwn zyt<(c??Zob;-M}6qleery}Ue3larO%Rg;OfQ@PYuT?^d^-x?en^XnpZ|D2EYALAeS zx@h?8N}tJ(qhE(jBZo5DRIfhuUfnG&DEQu){>Lq{f3X3ir!vova>8MZ0#${o`k-wW z{q`0H_R{;;GO&a{{t(+XuA6m7(51ArfaQIL?!u%nhXm~|0BtrR%a~)%?SwgJ0kyyq z2=XwUc_W+SqjH|**18@v4kxE)WJ58K#gUPF z&C05F`R?_LtOK&%Cw}Ww+w?9X#C~{l>Y@|_=&ss6^}A_IQKfGRG|nf=(hXC``7Yuw z*5ou07i~X((@KI00#kA<$G(~8ym6IO(nfDRnCQQ4Y7LnitpXc!3{I0-gtb_@T)f&7 z3I3O!tEQ?!{&4yA?(Vl>Dbaw+8zM>?wy8g8jt*0Bx$Wx#df?83P#(KR|8k5gO2iqA znm+Ug;%;ET!@z9r#}H5pQ{xcgRf>*9n>X+vV?8RwaY?D?OlUadG37IJq5MGvjhf93w~xFt!{}@3;nFZH0y~6#l8C7bO!A`iCA*Q z+cvsEUzsDgB-Pa3zE8^2g0Hj8^k3tfJnK6(?B>#?vC0BZmhTEMP zf>Eb`cUL>X4nbEVotsqM8KaBNYdj#OWo^=b=fy*-_7tf7+|GWk*j-3vao-3^3Ceg<+#wnrC` zA~5i#r8{jh&VxRzs?J?m$ZSUBa(|n2?TTz0gpuOAAAQV%BuqN?DZB4DU1O^1c&9-5 z+<{$d@2>Y3Tq$te`g^(D-hFE(wl*(rHvT7aaI@^jVo7Jd8@Qr9NkOH=?sng>Rk@Y3 zS}SjT&vDYNVWF;&aVCv!>5jTXG#BrLGq{YIZ7LLi2M4NJAPId+*47tq$(u|$#!^gm z1FSmDZ&`J2{<-bhA}%DTZ32Gv9{806;X3dukrnNX9pzLN`oNv_G7sUEm6DW{MBXQo z;xvQt&LY81mwY8G{=gZ>r|xrGJiiZw=nF^s?fG?jJ4q{5D~gl4yqP(0+V!JHs&sjP z59r{ft!~`&PX2>m)03lzI~XM5Om77raC>2yok+sjb1`j0eQ_alH(RLq~RlQcc_$te55_4>$z zhJ6XF{*Q6sW)-#Yc2v+KqyA!7VH6F>qiWBU~gw9amZQCxV@*c_g_PLy2U9n7t zXZ!2LbNM>>V)ZtjvKW>L%sOy><6N9X1ml|?(B$WWzutHpUfp*Nu3##R z=gAh%?u+PFM3wyq#_Q&0oUwjZutTi+u*G!Y_{cdxB>@%vzcXoGM&Gs>jBA$~h!du& zKY-3IzO+y4HemPt>QIP6RmH9&zHtNkyZveF^qIDLpQq}o!Wk=i5@i#8JrFURT9-u% z;2$Y_66YbE(fggjSx;X-Aya|t?450OZRL)821-dyZzmkWv!7#-hInsku?US|`Jrro z#}8#m_;U)ETD6;7J}j2*NM(LKR!}uyz(-;^c<}UzNE5+P5J>K&(G&gVdPHAxlk@wJXLSCS}7ad9R@pV>wG&2#U@vs zcOAL*=+N+wY;VIti;FG`$8wl9pEYmt#hBVz&}(AXB>7$cAvlP!_%mrhU>V`~`U8Eg zm?jo#a>I=Z+rQ<-`3pxfUFNNvCHtv7RJ15hcVpvKL1tjNXu`3#rFvn zIN)fh>bP2lf6|xmDk#vT|`|4bx#WJOhp})3*ps`W3mlhn`y{dZ&&=C z7283i=u{mw5Bhv8)VQk?y{rB!&av;W!t=WBZABheXy^*9o{FaU=uMy3oM$px-ZYus1Hr0Ptj}#p?`ob+H;1csrPE;y(M#ENWTf{j7bdS0##Hp8Pj9zaFe5mJmUOZSYxh9OEwqV#ckIa6+aOvXB zOpRCXl&3b=ZpsYYa+~yvt~Tgn&ujl;E=QnU&n>g@`$Tg@xU5s$y2wP|Rp6-d78B}N z7Vb%m?K!o!GqL4^s^OTeO2^ynBMQQIvFr_>)U{;tN=**bZLqU$Pixm*o~ZwXz2D>( z!C!G&b}Y;7(;!2X%H#NB--f>$HuuPona*urt@AA)IXAqTIdZ{fdEr)N-DQs(1upZv zEW|?HT#`h@?#?G0VkoBGz(ic;S^TX!wHLiVHaG?T+*T{1_V5pcJB=0jp@6Zd-cvtya89;LZLraPWd}NjF`{V}L{OJsT+Ux;PhUk4`q=d1 zaHy+~XqyECNrx9Q2_U7=^{2l=+w=>bkWn4dyVKo--!A56g@ZS&RhcG+NmrJ#Nr`)EAm0LoIOxL2qbYWlq9<**Q_Z}h&Omttd%tYQeu zO!%J_r&=h)xpT|QF`9|1&bt*)%OZp8+6Jk`Z+i-iY-I0M!ujou~5=C9m7yyY{#u^E9s-p;qVj@>;eR zA{R&4XI2`e`6wvGQL|ui7kG8xvi;re*;}oKtDR23(Oz_zzO$aONOmcGo4>oGFy|Tg zaY(KAJy?8F@ZYuNlCz@_OUt^NCAA7*rsg$2`zTTZk8r63_FAf=1dQ-eIrtjVRhSJ) z2H7j7qCo(auh-6CRd*Q*_wj3jf*R6oiU-^9s}A6PyYGqls_MPScT{(0%2+ z>;0FtltghdlY%_o`HetJ08!2aq(OrCa^7;n0ZM(B1~$d5;*Y3nt+FTeVKLqZ1(zW) z)2r@t$c4`0oAL0+V!L!yl*7H{rO>tT=lz%lk z1zs)P!SB+~qtCUg&%x5d!WAOWxyfd5nNRY^cV^15-zJ-NlB3!cq6w|BppICMph=z}oDbqNf0nhtkPi z$1mn56l9TNbU}2uNc#WJug-q4Z3=(qx{gN)(o)6ujVmwz{i&Wehb6afnZK-O9e&ey zRbE9Z29-CD=#k6ECE zl5h8;&qYqQw{K^q?mvdka~%mTrlOb54R0J|4qBDwb@4r6(ryYyAmgRyM|}-?{c;7y zV_Ymg8@!!s4hno|+m~@iVSjUwiLnp|`pous@1ROhmpSyK-smR(R^%O(qpC9?cLB_g zIE#R))_OR3QDhBJX)}?A%Cf8h194fBt)fbVuX3E*iAbcL$)XjGz8E`TkHrSIj3SVt zBS+Dp5SuL2-G1Gcf9&nUC2Ie6zN~Wl#-R#o`sp8?*OKefj480dXm7ah2`isj=8D?) zhTk~R>O^3GOj!z94Q5k_Gz*)voN+EjE7ZNSZ!orTo$ydq`9sJQ{X@tYrg5pK0meZ5 z>DQUm;j&r3Cm*2}j~r}1G&4-DkzyAP<0A|I=3gMEQb9{loh4+5M`;ZL_OB@|08qy5*@TsYWro_exm!C+f$TmNSTMt!6$KUFWNx> z5JK5KXU9{J_B$fTdY^3J^jyMyFaGbe*SzA`;UNZxi_xUTj2Jwi##?RIiR5LdJfUov z|Akakt?^@oB-Pt%70b0XmyVua+t>X_Z``*gbI;f^#Oq#fzW~4e9g#FOum87A?1&Ch zfSz5ti7uZxv6}tmXlp}#15!=!oJL2@{Ia=xk5D6$#tjz!j`nF>9{SwV$NHjka11w| zAwC6$a_GVlHU->Lp0Hol;V!zZPLt=M}-Fy;~tSB~gR>stF}_DR zgR5U`M5sz(eN$cEI9Gs0I5t(ELlcY8Px!V=*#O4j=LFiWF}r{+l(K{64JHS3ubv(q zb)Igy#5Z~-;d=z_oBZD4rO5%o3&N@Q>ne1AJD1bcl?Vms7EhbSp98QZA~wc7j3n7By1n&DwU;Y6*KT3ye9_rkXZS2jfJ7H_uUDp0&b?`WtTNmFHQ!cAe% zq+C5!dEJnZAo)TN9;(bi}UvqA#SnF$BYtnQX{NXq*qPXBr&+fQfeP$Z%^Jk`~1?m|5 zI{V7tqJg>q3yGKq)4b09#pg%mcHXCs1G5u!f?Y-_(@5oSm~x*N7ry-+WfJqw#YB~w z+FHn*WeA+n>%MY-1(a`Rr@HgLmd9NP%RLXd&UF|M2EJ^FkVZOS*TkITnX#2@si7E{ zX^BM5Y3i-%>>)T{MZM(q%HYoMX=r*}9G#Wf*@3HrIdKuH7xE-57I;G}A5K~t85{GY z*Pr*Z%-`O@48>aJjf#STf@*8kHn{#&i4u1vS*so$m9wKSSzG-j9PUpSn4rOC_$d2f zS>pDZW;$Iu>ypPQ7bAymMrEH@^dR+>SD9YxMFfHj0g26tidS{S8E8{0Hd0zSwaacf zgwlWBe9-lcYzVvnrRmIjJBt#$D3^0Tt(d7+(WF{5%?9&C2hmOOgpaVH6$s)B zilvOHM=t)W-VmM3H++f;vNnk- zDX}Zh!@3qMe@rvjlugh~J}00hdo5Vv=BvolsjC+C!!u-Y#RK9?z;QB`GpdKJ{BB3p z7$x;1s9L&=PBB^%NF(fIHAaOf6^7sqj#gX!?;<@{2BGd=JU;M?eTcSY+?r+?L*6{l)FqG=IRUgli!wHzp-dUa7cc z`p^#T>oAx^0%r#hFly}~T3AnsE9w@%d!JKetmOT$4 zGp+T-qU?1pLGm;RDI1%NaR;hD-_H3bm#}|pgG41=63a&W63*Q7mP{%PMw65hgk;Lg& zd7Ij(t_dwNyKkt*r+CQ&DY{t-lj;&YU4x^$S%?I8eO0JigE_7xu*-LRz98#np*zf@ zUaqFGrfKTF%ZI{3RHXFf_#79oUR@&QN6m^~PnB_DKP>(TZW4f~1kr}qi^_YYd|TeM zw;eCGv~J$2EgJLEHoc+M-OihO2mj8<(9`Y#qzX9`vcU5l%(go-v#k}& zj~86b&$QoQU!sQ4o~ikRA~x5MnF6m6Az7$y;5LVE){P1rJm(q^mThVz65ccdTBX2G z#6RCEyIShSEGyp=OeouFs-o@)lZBUkEo&AQ7H~5Haa)j)fin=p8`Ahwxe&FF1m>B% zMK#rM-{D*ze{i!^p5<}uwbj)or7B~KL`u1E_W5mwmlWzzqJyxdpkcGu{s{szXZmr+ zTx-cmByf(=RA8n0lcx(phtlhBdw2!X{Z&9W{^WqT#`iE~;!UB?iFwsi?qk9k!CWkB zU(MeSKk+K9f_8jp8VNhKH8rUfs?T{G#WYH8n(v=bU*YKzGqnhL2}Ok)!Pg^mzZ6x2 zT7{foi?LxIbD^TV>SjAN;inXq7IMo6=51~1@tLd>h_b=SGA;;C8{_@*7}E*Wa!nME zF?GDko4BHIBBi1~mTi6Up?fqj%Hq|L|!I%g0X zm3D6I1FS40!#hYFKn}SG20hSeU>526%F3rm-7}fFC%kwJm2C72>>jPc58YYfO(;JO zaej2&Sgy0I2p4{0!Pm%nNB?wuCin} zTu$y|Wo3PJ;+4bXXHy1-WG!aK@9K%#LsQ*_ObA!V92*|K*3T%qH#~#ny7<#jO^&;b z?ytmYLlLfz2!CggPEM$;)my0MVR#E4V&L+C0Y>qN`fvB1Pl7VOd*mJpUMxwJBAS0 zqeLd$gK(Xg>Lj)gMCepc>MwF*<>^zm=aS=tEvFqGi4tElF}>!ZOcqIB$P1{s*K>Qn zfDk!8JFCwwo!+p&Fp0+?L9fN^#y#&bbpfSz=Qs(BGrNewoJ3k)?JdMxX&iI`Zl`$M zyL#U2nfvnAt8+uesFVb2S$Spa{K8~l|9e5e`tCGBk%Xj_O z50aXCdcup%T?Iz{h;rj{8Go%N+r=;a>txlJFJDk2^=7Sv-51&7U7 zW5xdB#R_V6e)(7E+K>oS8X9VG$IJ{V)Tl89#X0|rBAr(KLU!OsRxq8}&JK=qLS}g1 z#`nx!Oj0Em2&dA>?#~613LDwgG|bJ`>JYH>+B zoAtOJPwp&s$;;(a>>7B?qLpx1rr`D4hULLzf_+r96KSv3nDzJUx3OJsM%^`pwKVgF zlxM%1|7Y=t++ii&3Dr6&_Z&br46mJCUDOf3?ZtK7R9CTKy(}0;?90pyTV9sx`&)J} zC*RXG5FqAc@yV-fRIL?%KRlNyTCbf(Of@zv8__#p@_=_qJJ^u9q>^6w-;1YZ&&2g0 zo*?zd6Ji{p$26M6wnt}QAgGh&@TxmB!0PKnrpZtS@Y z4Y=A8^#d)0wIlfiEiMUH?xU;J2(a9r@A%^@$|YQclpj@pihkxpN~ zmzn_}E{^tBeSQ5FcXAv%_AaC4*v&86pK{gaili8lX3=gB8HTIm8g9J}b$2`uE%zT> z`;u^#!Mj8W86jk{kPN&S-(OxJZD0o3?wDHC^0s)_7H9;;F1l)LU*^_ z(4j5wz^Il5w+gbEMaI;&`LY>zA)RH;c+{w|WHL08-so!PC-RlAr>kn_!NuwQZS(e< zgg}CUcK`GuW=f$8zH#;a?ZkuWham{Dvzw_n=&=mdPP-3Lo6xN)JJDBwo=vpT+dud+ zW|5g1bU2p93(-2-wP)yxV`J&=E7;^`Wxb1ctu`+E_KVb^VjZ-i zNU{ulOOxC*q8>lK?(%cgYvE{@m(qV2r!n{9K84k6h=;#d31NBAsb0GllbtOPQk7Zt zc%U)kDV_7ub9-Y`UMaEn_7EiQ02Q+q`WAmJsvCpLqN3PF_lJKDX7|N)wScsqONDO7 z4k@Rf_Z4EA+S)Gqi>!S8=1@p!kz2e#MBk5>^PR1*M4Hz?1pM4 zPt$6aLX(@CjKJpxkq}5iCSt!)Z)vg<*CPu*%rA|lH(fXqRO$pvQXRwu zN1t0}v9dRiJR0Ar=LzNOK66ToZn#rTxYZ4#7Ne z?!sJY$TE07SCE%Cj~3NV^s{0|fIW7TA&(Ej5+T@}F%)AzUZ^SPk8VW$j%o$juCMAW zio%aM&q_v@f-2~mpazT;XC;kq-BM)|7Y$3*ftNQF_(Oryy^w~EO6ifA_Ni{mhM8wG zZp?4WCr^nanGCvVss8Y1K*GjzHtLR!)2PdoRR7U^aum!=kNSwvGfuTdinejYvnZ4Ed zeTnd_rOO7TcJg5nQq+coMY0x&ndnk;v*%U8k&m5D@t9x3uZKwjB&Fs9B6~?)ooR)p zd@u!bgDAB0h+Hk~#_1xalw;!R8llyQTAu(&;E|LT#|}Ubp9`y$yN=6=D>Zv`pK=>} z3#IPXHHcAPpCMjlU4 zVHiNuOXW>|1VUzULsjc+|JTH(y)P)NS9@Qqsu5?AX$EEA$bM$gDEkE#1&0`^7y7BoK>6c#42+UX~x6{cd(o#0i; zZ>Zl}d!&}OW8_VV$I6nuK!Wt~z}P;41`|76{LG%aO4gYMi~3}lDL$mA1Wfj}pL|Mg zkmoU{K{uAde-w{=-*z&23B8G-?AxOtL_uxxqrt2gC0g(Gd*PSFje4$GP&6mCuhxVF~RT8b?r-;+p|n5Mj`EqzOBw(Jx^IS z&jcrDIj9L2<>^pdltmA7mv-88N-NUypxw>n<5u&D+tRNUTwusUemu*OYuH>hbJ#M| zYcOFa?g{otzu4O_A!-xG7brxA_wo4j@s&Y@4W z)1(up&oan}I{kcgR1U{_S>c7$ChPX+%0^GNWbg5;>K8cSz;3P(}tZ)U-pD znCg0__wi8d&l$FC zTt(Fk;&Bn*OOW2DJao=4>R9ia?Sg&HE>W?LauTzyqz6M~j2V4&+!mG*w2T22Jf)e_ zizB;jWAe6#Z*q2aZLJ+>wf^%fp?Tyk2O_w~inpe>bpfd7W&}-O7Wr)RwPdq*N%Lo< zf2?13R-yhFP5XuVChZ+2q%hJZbL-31{|#_ow~l8xk0tWo)+I1zCWLTnY7W(h)el^y z|5~TD$E8XXie2M9^v-9ZsKPAlfGddjLACp7-heueRYTC5tfIGXVmIoP{>P|QmtAw3 zhT0JfqlTsJ^P`bs_GHuWE}f%t@@pQQPcIC#DL+_O#{-9$L!k`eX7qSZaUo(gl9N$F zZi0y_G<2&Ex-JS1CwCU{u&nVrWBNIJ=o%6pgtcv_DJ_B-S^s*YmgVlhA;H)xtBL-a zCYS!~=twr@r~A3G*rfZjf5|ltMSCbx#?X(!5_!O{_0D#55Mg7yclHn~eN`4XKRrrppzBSiNwc|i>lCv;t*6a+`>EPCGahNV=SZ7I(if@c zdshzsjN_T&;$jI22`oBgb`yOiKHslYlChuwsj6f$?s&ft(1pN~qa27owK`9Df&I>1 z7~N{Pkwqw;NUi_o=(;UQujjG8ojo7(BWre2%4kOBE~`NApef)>=Yj|$aF-_r?5z5pl^hz?eU#k5G&iN zZ5{gAu(a0$=}b?a&?7CBhsQr4V7gaY!6$vZtn#?kjgd*bI^=3mLw5s%ufNaXU`n(d zJC{-&|FT1r*irN*&Uk}Ku~fO1^HIx#H2w}HK_knM&vib|#It9_J(sQ<I9JLG574v7@U(T8$!`U7;H|O9WL`^z%cxJ^} z^~+FUtW9rpv+R*wL?TW-kgSUmUCt?YOf5<@xx>cOJyy(dr~mr(tE};>y&S&hTi`J( zi%4(LdSDk44x+GLz&r)!imSDGmR<2HIt=C19zitIW_Mgo0#P+g6Rtas=*^!$`ByBd zAZ9PDDIQQWp$34%_xY9Mrrw~bk~&>7f-6l*qqI|%Wkff7r!jh;zkdDtJ#t`KU(CUy zDX+hBlQ#$T45q4TFN}VN+R49m{gz;Di^irV72&O)KnKHu4b7Iu&H00mv;VCHP+*YB zqqf7FM(r=y-teiGSMCDg1(rA!|8;Oc>*Hicw$Hn;WmV5Zb`B1VR1gb6>!GV$oAz+L z(c%n3gHzqmHt+KhPxl92K?s|UkX+Ng33c9(8@&y|v2n1;9gkE*C3HZAbm{=q^+e(d z*7!o#SN$xI5g=O*`NqYuW03B=%CB`ZmF=ockp?#a_`>cUfC+R)E&b<%{0pRYb#*as zgWQYXea&y5+FgqV9PEXKg_I=WLcq!Jgmrb94^~A)<$qEv+(d~Q4AW! zG=FV6%VD%7%xoo0{;!BJxG4mg*U}0f9<=G%agKRvVs`&8F>sm))WI_03Zg~hgo_e`rifXD#7S70cN^%(x)u~LeW&kQ@` z_%=+a<8v>=x)CkDnrqVBNR_gOl>LsYPV~2OQ!}2GWg>v6x)WwE%d^;MpkA4h_J8K90`EcI+5Jj(C}80>fePU z+jW{wLhy|+x%lWa?4Wa>5b_8(+}n2{38_x(zHn+%(;OuQVqYWP8S1kMz3>3J&`12% z47Ki=#mU@dFc+iJ?H8zA+%CVpd4o3a66aa77E+z*kPLzKz=6FRV{f0OHGW2M9-ejH zbdH+r+kWYFFSs(JcT1g>vd`whi7K~UDts6SNgy3P{oLG~)xCB4!r`C=A<4rN)ZiA2 zto5%Yh;B;|Jv(igDH%R6`L7)2+H&>hN6+nCg`ZF@o?q*IfT)I_DpmA=jMu65IFu7c zq)jcW;(?f>o~+#9R<=*T+FzbmN;mu;hRv9NKXc6F^kO2H3TMzw&G;?U1go67CZc;B zQPTzcHOtR-?}psOu~5)v1qB<=y~LqG{d@3oprJs1vRQv=Jp8Qr(UUF#6%9 z0Mu@y*SYW-StVw*R9eF%pmtEB;UG&2uZj|WJ+uuzN29FmV|nhn5{mm96F*=zW~H4} z=!|jODFo{78#j;3H6NNN9eB`nMQRSdnB|hLEtc=l$iPE#-e+rQcr5ga*~P;Mnt=0< zoF{SMzyYLNyIH!s_e?mH{`kPMT$~+Dj(5pWOOBIGVB5thLcI@EnT)WN5l2H2gQxSzRd@#%eaKf$AMrd2{ja-I=Kkv{M#8M|Ey?}tg z9fbJVL&`!ds1>A1T|>NI+p3A#{o@40cXSTQ6z-k2mribVh|0B^(8{TiCXuT^jdM}ZMqkIQ;L^=R;38o0&!1o(-yXU(ZJj0%+7OX zM>UD~qwsx1RpNkR46ndp&&ol+Xfh$yB+}=(?GJc{#(j<4pAo9xYQ2i%4no3St|iI1 zZ6PUTLYlm3zHq)YDs7sBlLJ}HjJz}0mb#%%R;z1Io;e`qp^q?FVQPUgu@0AQ!1#{{k7#+P2Z zc|{Nc-<9Uv(h{DF5$m=_JED59p$q|5g9Pfzt}z)mY@V7gMbapRe)~{Pv8=jAt$k>3 z?X*yapoq`&Kwp)Ph1b_#EIMnA|K{o_))@>N``~sHXOXOql1QJW{)oPDFFA&g6X@Tn z)WyTHNB7YYrp{op`beI9O9oBdER9A=REjm6J4+Q6ukJSP*KoUCW7QAok_$20DwYry*9m%+Cps%Unle=vL2IrhU55ibe}JS?6Hsey6q5f(OD z;r_)o%c#NtVOIgDeEh`4ye@^NZ>B?eh!o>)SzdNMxv#m$-=xAQ`zYjLL8ZG9gozcO zxO2O)_Wzfq+xMETr(uuA_zy1O4fH{B$YrWz&jI^ByG zeH>g5mTu>%*NtuX_1VNRrQwLXyNKZ>r3SrXXUce%{Kfkv`ip5^cqlT2VTTxQ}OA#HkJ zA1e|&>;U60NITHLo1U&DUfGX-_ww?x3mp03c!3ZR9xhO-XoSX;(L0G}hvh;2m_-ub z;DQC;%qlhvkVa+)&z{aTiH*#2#p+Ba%USgl$=%Q!-SG~|$-k+>i`iO$X?LLHn?Dq= zh9)L41e^n$KM2?dvZY|S<2trERPWoj54zwn;XGZV%1zewZv=cCovWedQhOXZm(JwuepR|y#Cf#)ROBsYx z^zGYo&hM;1*6rMqk)Tkl$LAs#V`{?dU0Db9i}AC88aFtnaD*dN09983Y!XXdy{krp zZ?A}j5(HgiGz(Nz8%v9xYR&qx=Hin>vvDj7U$Ivqv;EE>rqOQ+}_votmcT zv_Y{j7P)yRDKDY#A~a`MnDUR0y0ovkav=R(i{o$6f243tESl z%1y7P=yndrp6}k=BHESJ%EnJuga9l8c!BLS`i_0xS{~bDq;f3NDO?sU4pHfZ*Kb8% z$SwrcTrnLs>bdQwFvWwp@(pw)u`3xG+_=vP@5-mN(KcMpTkMUM3kHW>K3f@oEsaV| zcGBNLudvo>yBmJ3olfRMS(FuW*!_}Tzzg;}^Y-K5<0>4ucEec2FQugnROE&N92fs( z>C_d<4c-cJDzj`GEK1X5(TP8Cw&r58x!LKkUJ-1>OZ+T&)p2(Rb7~c#Ke~H zNZp}_47$9Th6V@wr`~I-RAALuGTLLRcz*bflz>X5*5wx3Fddo2E0QdQ1azf{MH+1| z8XqGmqqTQM~}kR$J4zxy~^xv+Hc|4%O<>MWw&C#=BR!+g=;+Ce5eLC z8V-M)d|(=WVr)(?St8Gs;nYzJHY702gGfR)vLd44XVk1<_6Lh?rqO;vR{G68=E`#$ zB({VfuD#NIGAy7ZlUtRr>i&an`*zf&BC$y`c;{N-}hOHodJi@DcmNeTw#L8G*7fBFB1OV-6$=Q>m8@0Ol zbY_J^$Q5G$s?2^NgwQR+eYYw= zbYEXWoT(+ikk@YQo`K}n6|De{M_LJUT5n7(h3DQ8Bs{OE5E~!2y&9L;iZqU~S^DkU z@r=w4vI~?=%}cp1*huTKaLPT0=iYgia}!@>)Z^s92KUU&f#%F>CI5$V8>SV@nV6<1}vuOn}6D z^AZS|4kf?ebc-Vb=)RWg6$z@j zX{uqKDf%DMFXv$6o*&fq_t8-;EiL|h&Q!o1;ZF3AqWTPXDKWeApFH_yqz@B!Utizk zq}8?)&vuzl6b;yRymP^H`8ME|F5v@iy_*hFXJT>(+Chw%a4@cz$DFQ1oz_x+v;d-sEuFmCiydil5;5oBM zBk$w)8t2Z0Jqioz>FEJ#Z;GaSDyB906KQ@(07C4y%IT2G`)sV*nwqEfT=+8H2F_&I z$9d_VGl)J(FjkZ3w@0WxjL9QUo*egSDKWS$?fRRX6=(G0;p2mt7VjrNI*%()veF}m zFw(sxvugtANN4CfMkXdAk&ea-itxB8B!Zs~{Dc^h8yGL~g?pKVnd;g%O*(GruyqgJ zd%zrrEj)A zvFeo!IdL-S&aXLuRSK_>6x%MK95MHFAF+YlVWMbAdcqJHU?F>Hsl4SknxXt?g#M1D z>bW23`pd`5hZ{ebc7TmJw_^fLzgn@~RtfAh#@fqsPt*HC2+l3i9p)80Uv#c7?y+uZ zsy$7e%(JMhs+Agvol#a|GpX{!l(h}NKBYX(x2G;`k31b1?*#WfboONlrv2nLOo%zzpHG6v^ zvBf_uOBgkeD)->2?74AC9O5Nvj~euB6ADba=K?>y3aw=~F2$54trWoN%YW)rtS(EW z(RfXO&|;s@K{JI$jcC`OkGid(Cr861fuTUvw(_afzF}J;5$z2&{U7M&6l4gJs|)=Q zR%V{Kit41x^Tjwl|4m=+>v{7in)&Jj;OU*Z@f+l&9H3P4cQ4~Zrh}%eipKEdGb?{2 z=r$*Q%DR%S$ZLM{_wqe{*{CcT%l9Hv2GDg*e}p7Y1rOx;L~xolI;-a*83*>DJV?%lw7M3_S zj$;#-A$2V=Z(whsmMn|bX+bt^Z9Qb{=07yCmQ-RgCVe8qJv?)} z={M7Xp-%BFj%+b=xqpZCzCz&{wDOr6I?>Cj7ghKyC1RC74ox2ml-pLEs9@(n;eOFq zaQ=sxg!OB9%3_rhEjn6}*vrT$a;kDDH74wV?S3MIw|i3$*kZtnVc~r1);a1m+xFj3 zuoc@|)0>`38~J9*GL2tHQ?tSCNbJ2j*0STCon2X1WS(|Ja0mtsIS zW*$`eoIM2Ya2ZYR02e{2phkE&rg^L3-)YK4T6ILz_x-n!g>pQwPpWBNXRqq?4?Yqx zfPUS&yF&Io3mQ%L70Vxtx2bt6URx2qu^&0kO9>ync-B$!%0qn*Wjj@%QUOy9f9PkO z(yclCfA~b<%oryszZjT4w58HUH`bA&%zQjH1}tH2l$f<^is|_T1L-;Q7PGytx9_1;^J<<^3PUx4()6oew-sH_Z;ylE4u6qx$RXf;YQ}F!g9}{ zheqn~h$R{GbdT&%A}=&JR_5j|sJe#t{m_mRsUD_24h%P(i1RTfIgccdd7-CKrxtxi@EC4kDs_q$MNqZga?XmiZL)S*Qhh-Ga=>=|Yf7f&Ld(dGp8QM8iZ2I&=b|>VZrK)DLEHY+kE9z9kXick-{1 zc7qI))rATvvm0-bnM`v)U3eiv^`8$cW1!_EO};XF2Emm3IXo*ectffNur$H%w2d9u zzd!c6GXpIL11(q*hr;fmX;IcE*gk*f53yI><_*CeFWg~I9J@QbKf>W)X<=-EtZ2hN zj%7mrJIG0>BOZM27@%RiL2B>uz?@-(FXen>pI){|*__^Xd6Q=hTQv2z3yNcBC>6)R zeIQiGPerC}182As;&^~!qlszea*GjxBHIwlXYQVy75wjrP~k%6BOiev0aY?Q=>89L zpy4?1$FVe%S2b{z8060Y6icrns-sbro=hxMRzo;em{~|D;J*@JK6w5mQ@}xMHNXk%T zw-q0wUpSYmMZ7G+0n8fBwNfen`ItLecAf(ygQ%lDHRI9~CuIo?-~`d&HByTB{SiB} zGDb4_D)$3{g=fWuk5W=oG59QX{W06f;L;2{lA5!U0DU@^z6G^R+bZvu|LLAfudh-~ zDedg4j|DTrBp+QkGTwJf*kv56%fkco51IUjkX3PtZ!)EI&@XblWnzLX|HfX`ch8T0 z%Bo)f6_2)a*aP2|#tWtiW%esqu6*Bc6WAZFgCllf{@0t`-+iKym{zP+DjLHWXc1@ya6-PylLHP3W70j?%y41H%2;#-n9aaw4AQ;5X&8jy&~zm5 zXxZzqo66e{*T+)(rUKX`pjQLLhaQ?ZBa5G{Abl#c&~PPw6VnJ%Y6bUfIo9_Lu2eK{ zPV5~2FG{~`vBmQ#2;D=*K;l~ts*O7oLL+5>M}g+&nwn2puGml&mFu+5{ZRQ~YZ6-4 z2fZv_xNq~xY7MgIs2?6)WFSH#^~&o)B=vQ4R2jSj=`8mnd%75yJ!c&M#?2!u!wLjLCod_#3>v3;W`1wY5jpMhK zAWPLZ?sKV!2i^q1@l%nCXecXBSSPC!Lq-H=KW z!)t6)Il@|%QPN5~S%QnE!E*~U^?Qk^5q5VD07%x=V>^*S-A3^i)n*_U1IBrllo?$fNFOTo*BPCF}l( zoK#GezPN{t%@@3B$#3E}+fVN*Su#s0FD<2;uU}T3_&HErU5!+&Ea`5nCVA{%$o%n7 z!Wb+Pvk8;P4u}|4sw#gQ9=rU^9B|FcB70D!YG}X^x`mbGmfgbI>`ymHTEck@r3xTx z3w_qW9_mCf`>BxwT38J#0Z$4FuteCrhfTY4^+}%x`SOQ?4K;K+gRp#MD1{JuHs89O zn^P|timl7oDxgW-N?}a`>V2?AgN>@_*h^&0_Dy4=5gYDnb%p7YyZR9%}exsj7pRXGCMqm@#7^d1VSQ^DS27Ly={Ui&({HUR7Z z_zAq~NWIBSaEVUl?(gmG1;_aHjcD0LNhihW4oNz!txqA=7||qL`E~=-DNc8}h)7Me z9mtAo2=oUv9r|yCw(zoVot<$K@~Q(?jGCRYA?>vwTdHz0L5FxEWHd(p<=o|SH!W@SZDpnintu3yHIq5n_QWl z#S=d=C+_EW|Hx-(m@MO8VdD_MM)jZPPd?Y6_b(9Zsg<>q_x_$c@e8hYuF$2^b+ol> z43^4%PLkk;V3~_zbT`F~m0e6)%D?_@}q0dCyZz7E-s(l zf}q^MvaPg~23H6H>;~K@pLK}DZofb+9jiZN7Dn)W*QaiufBKWgZ#oQwAX(Tu5r$0! zC$+ti6uD~I=#Yv1uUlHiU{l0;otXfmG{l^o95y&Csq=6biKru`v(UJ3^w(HVj{d2O z$lR=+Uz}u|!Y9hsr{WCMM=7+H;PRvtJKJl>LjnV_5mIfdZ!iC;ZYWovL6vKG5>dzZ z-E&9!p#dH$keI?sB`k?!e1|(s`u62~dLQ0Jneh6B`i1Tmru+i(27_Vk z!c<~8n>x5I6x1I&ok2Wicw35orM#gHPpRRRd9A=1VZ-`fQFYZ1=u=k=dYT@X-iP0w zItqc3fR}$K!61`n+%P|gEGOD-GICBjQdVKV(?(iCeJta|M+ezR?9ZM*-AqkEmH^zh zdD)+T?OGkx^V}*6oURiJj?>HbrnMcP^ztUr#XF+7ytJ3a(mW&D4wh@!@1nI}8Y6(I zBN7vhOXh}#fEl$LIeAL`o3p;AZ=K&15BU~!8Q*Q@&hXT2nkpI06U_M->PU{nqUX6C zjb%(>6`yK6TW&e^AvkRf|8J$?zNWOs#vtUbiT>Ip3tqm`CH^xpBk;~4ODPQ1r`yWa ze{;0`;s=L^!#8OWmf#-Q1JUGNals^JnC8qi#zyj$NDP1fj=JGx#_^bt9||Y^^l99(GRGO5B}pT7(x(Hzi(ShyBt1s-y9sVw)mQoSk7XeQ zWWIc|vksFhsvpk=F;n1Az@0o>5qNdjRz%qoB# z%t}s*JYZgQI#kRU8H&6X!DUb!$2pE2^Pjo23?0uEmv2{E&7%Ypl7Tu!N3~M_u%Nv~ z@H`5#@A2{R!G}aYELY)NRM1mD{DWP~+a`6tJzD=+aH}$D#h$~e`ETKmLigM>`FKaq zLnh|ZEQ@6h-d~@z-LYI?ctjN%*pd@U0JkS0(N_&N7wUf^B_#T>i3Og^ebwwLl&8+b z!SNvBeZh}b|C@sQLZC1jUt>d90;$4vyPy7BN@@wN$|~D9^ZD4sx}}uB;^WBG?#^L0 zD-fNR@?60tsK>S%c2j;CUv}G|t$Q&;FN6TR zkci%P3pY3DCG0>W@WB^(_#Y6KPz~jxbyP2m8c=UEXT6Dc)V*U0hWHwcCBA=0KLcQI z*iC^~lwkH)NS)n>K8&FQJg}SY|D1X@4s$S?NT|7A^*N!)_D8Q$PXP?Qf$;nseU_7g zeA{0m0c(JCwIXA6u7E;xWrfxL)znX&mUdb?DU!nA46$p=+cF|IojvoaAFhxV^v~H{? zWQ76)_0AY51bg7*<2N8KB0>>BIp;F%o3=A@BBD6HurT@;_my3=j}~xgf`A~eq<(iq zQfe@pWjv(KQZ7}A39@>4zq8K~P}K!F33D-Z1@2j$YGCMMYisM_aX4RAhzC%CTa^b% z!bLw?d4=~%-MV2c*0~ahysj<_{idV9_^}vlZ6?5)L?a(%WNamqH7>av6eW!syOakq zKDXz*4=O%RzQw{eeq&@;+}3T|sKQYOhB;2rKVR91iVF=S#`za*N?7U_?*^$QcV{oF zS48GtRFQt(y9~FHrmMxr;kl)6I%bwIE`6qepoxO`348(Od89y|3st+cM*)KYbQsVG zV|Rg1H6q#VLs6j_qE_3FO!nW!^Yl!6Be!(1t{N2xq@IES9p#mcIwvSZo(ikAN!14s zwjYPMY=;&01O7fGr?#sS+|6@Jk+`Dboz#PZEYZLSrt9eeS`b3`0Ja~{!Dr9zk-Q!j zw$x9s<{wd90QV1%Cy;-^h$QMwbaAmd zxoD4ZG7sAU4b#t#j*c&j$0kK7u(ttew27TsS#VuF2v?N)S2hd9g>vcc3;n+3{wO~G z>*qO)qGYy$G?AN2mZ6m%Gblh@$Q+|}xWRVkR;AU$mXwp;m}E`Cuxup#0WAnBfmaFH zhy)KQKbqjD41pn(0TmVdcUv8qibAiYJp&}T=3W9jZ2`M<-|)`T(|wMglGrBNnQKw# z_yRXWzE!Vr(fvHECVs#rqZ24!a1?f|Tr~C)5H_`o`lN28(}QN@>|Wr)n^UXpM~Sj8 zT2F=$pv)z@CONwOrphu-Y10e#m z1?XOUI!$&pQo1T1t#d#}=U`xszR(q!`AxfW1H~1NXEgx=v5(~=ByF)e4&%g!Eoh3I z99l325@_Uti)a=ws>N#IZA=u(zI6Ay=ksXV6CkZtA?q>drU}l=s2JFnpx~%mE`4ew z*5IUn)-F-5)bSG?Y?MycPRH`#%lZZU@3+X<@qaqmlAB7hdFh#E4k@5)eIxuMSqDAA zcE@S~fmv|zbc)vz&g}%Vcq60g%@Hv%_qO?V2Vn#dl)ZhmDeijd_rl{XC74Td)t=QaHFI z)u-@MK;glc-t@%9JXhv(alv%{d{5z_n+?s9_DxSI$<{{~zvSs0EPyNq)CI0Mi~PR( z&;SrDT=R{|h>nmA0tOQEujlW@C*0~y7A+GNwloI9UFsGWsxsDjd0QTT@M8HjtJsaW z{es_@Pjx#u++L0^vlj7R2CgeSL>$N|V{%d3AAi-_kJf3YvkqQ{&G8XVXta`;pxkFQ z_4S=LQJb?R>O_Jr5o#pm9L|Y|$ry%0@c}b{8u{|Wo2|3=in&4anLQ(f%K5ExxnHZB z0S~F|&i-@m8F;iixn0*6g=QUWao?6%r*5LliOCbgxDqdI6ld!_umvAb<3;NLB$jpP z=jq8ecNGi zrG}ReZ$68OYiPoqspRL5V9_}UQ8rziEJ%>tLNh=;K?<`hzXG)cYD|^2(>`p`75;S? z%Dt(n=^JV}mA*%Oy|6#Jt|I*5X-Hc0luG@0oj=A-r7RrTr15Q~c;T&D?X4uA=a?Kh zGLB(<;~J0d;W6McYW98|O?~hH6aDh4O1=q?ld}(HOf0`#u=dKXxFf(fym?&9a!sMT z#x4%bwH%3-emq4IKp92%h|p9hf7IxFswlQXQcuZ*QS>P}w?`AVwl{8>5o zgOUHqWDN@0xvP|>UTQLkjMlb9q1KC2&j#NT75na7Fzk2P-?U<$*- z6y%%C%*=8F_-Wp3FDFc2GDr3Pzbt~$XmlWpSsQIT1HUc%#xEGu#k7`Q~gZ#Y)gi#$0UFRHzvI4&GU{ zjMw~87e0vFAY)U3-*%-{ZQz=;7z~TTvxYb7}GVU1)N zhpvXs6ei=cqKUpiO>IkOK3}c()sNjBfPCXCFB(f+2<`*Vu@P+WhBY*N3~MZPqy}ai zJKH<}v3%zEj4R`=2{JRkb8O<7*@V$&@!^)9`Qw+}oU`7%!PVZg?s!ySRyTs<0@$k4 z$9bu!&8j_j!XbJ3PaLs}{y&~hY!$ouW~%`cSUxL*)&pZz+Xne_T)PyY(dTq(C|W^jg8=;GF|`Sdzs5gK|%8qAc3i$2cZ+q!KpA^Lz*$FbgObc zn|CM3o`P?`aG$6pArSjI?VBh;6C<#dK?B>{`rOb_RE%cVjPEW^T*&oAF@`+_l2y)~ zddAP$(y_I+<-5V5kyTRK_tBPh7G2EAkoU9H1!9Y8lFcWOV4`KvKRg|PIbzGm>%8}G zYsGso^xi{d3pY?5;$mX8o&hRbcok(ds3yYkm25fFcPF9DI@Chz`W&QH1z9 z8RMIo0J7d}LHQfbMBIUhHf^x!Q{UlyS8e!|{D{a6V;k5zHZ@P(HU|f};V<=I`=vo8 zO;;`a)`{^8q^T`#L8r|YCeePp_OL0E7UJpDNXwb?g)yfXW2HP-mgv|i_{XvRgO%BZ zKbi;0N+(CrXWoI=lb}g^*3PI5JHb1B67wS`j9{Ux&LWx*d^88@T3$Y4|GG*K1i!}G>dXew>|(_dU| zgj6v=qi9`d8M1<7)cV*>a5R z5H@CN(+)p!$ZKO8#K+fIE|gU?8q<^tGch&>XV^sBIKFqYb$lB-hUJTl-$ZH~KI<0= z&}gz0rA6LdBld9+Q*R7p|Q?(`0X=v(Qn)jFDS9m)t5h30@2j@WiYKvs3rM zFOUI|;pu_cWV!gO!NsTmbAuDhR~Kps+UUNCEcTv9Au{i|@-b>U`bU1YwY5R(le8z; zv`u$FtDV!FA?)1?=hTnBQWldU?*eM;mX?-`!1ymnpFZqKwQ>n1jI>vOnDY<&CzRmf+>fkl&XvG+(+ zC*^3+=|j7pP=#Pob7A3lqA>bg@kI9v7x+b-zm&);D)Q6|vs}jp3IRdzIb3Aa=yI=i zgy!w>ny-IUX+e7XzTLI%lkw53=hgm2{V)jiIsFNY5s|uY{rECa&W%XV6|zYFpX38S z<)!^y^6k0Ti4cP6c96KbhR0S<92xHKU!qQxca2IiiwaV~R%FecH>tFeacBR!F;%l! z*BbcgM@NU%xYixK#y{5&Y1PW|t?=3K0rO5DADcbUhyc2Kaw{;02B-Gfb#Q4O0qSFDjaeDkl?z?zW$nMPDHWfxow{xje`Q~5# zeyLS=r}&*Wb~z1eJ{)NMz#t7Mr_&+3+3D=wyKi!p{&3|dl-fpl-hact`0JgAr;;*b zZtS%*KG^tuWaM0_>!EX}jfB)|PCgt^UNooA{r-x)ExXtug#A{;F0%@~`uJ8TIi{6`y2bG|u hsU5@3KK94r2@Z$1fsd{Zm&>z%*HqV0OWS4c{eLE{ETsSd literal 0 HcmV?d00001 -- Gitee From f4354ba30289fcb5f583794071841986c3fcf445 Mon Sep 17 00:00:00 2001 From: yuchengen Date: Sat, 25 Apr 2026 18:06:42 +0800 Subject: [PATCH 5/9] feat: add ComfyUI v0.19.1 container image for OC9 --- frameworks/ComfyUI/0.19.1/Dockerfile | 34 ++++ frameworks/ComfyUI/0.19.1/README.md | 103 ++++++++++ frameworks/ComfyUI/0.19.1/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.19.1/test_result.png | Bin 0 -> 97798 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.19.1/Dockerfile create mode 100644 frameworks/ComfyUI/0.19.1/README.md create mode 100644 frameworks/ComfyUI/0.19.1/test.sh create mode 100644 frameworks/ComfyUI/0.19.1/test_result.png diff --git a/frameworks/ComfyUI/0.19.1/Dockerfile b/frameworks/ComfyUI/0.19.1/Dockerfile new file mode 100644 index 0000000..f219101 --- /dev/null +++ b/frameworks/ComfyUI/0.19.1/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.1 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.19.1 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI + +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.1/README.md b/frameworks/ComfyUI/0.19.1/README.md new file mode 100644 index 0000000..d86f3f3 --- /dev/null +++ b/frameworks/ComfyUI/0.19.1/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.19.1 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.19.1 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.19.1 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.19.1 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.19.1 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.19.1/test.sh b/frameworks/ComfyUI/0.19.1/test.sh new file mode 100644 index 0000000..d37ea7d --- /dev/null +++ b/frameworks/ComfyUI/0.19.1/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <*TMt0=pABW*zI-VK(!5@Fx$!a;0kx_mj{W=uRPDw{bc8TnP^leqww=?~U)^zLT z^F#|GISs{=;T=pu-5F+#RJOxG`5cZ&Uj{{z>m%@9@1{)be{q8u-|S@}<+IC3%U7 zi7o?fwLGU3@h@wBw6}*%xW%MyN@=TNI>cP&jPtZMc|+^IEqQNxdOJ9%ELB~(AM_KK zWucv+T0gPubLVzv8~K^95P=|_J2_}2C|lcZ zvEgCEmSy8-Ihr#`!IJLVvqjUsm$z|t!=E>oC!R^^YDHX4=#7ks=p+zIOG}^RX!1qB zef#!Q)Ok9g`oikLoT7$jY_p}e?tr2+&5evObTpr6!LIR50L(fhZ@{a87EVqnNl*IXPHpE0l zz1FWNFE3BE(8D=dREN1e7P=*tCS>rerPQ3C&94yQzffrV7tHXdWt(;8aeSIGdcEJp ztR+5Bnwhv;NnF?E65{3M<>zNfut<>f%6w^-tyfMPP{YyiCcQ?gftxnaGG;Aya7RXx ze+sv!Ok7b`l)6>_M&EnWq(oQ!yjmeL`@@Hgq8*I>ZvC?O<~xjJ(zVbB87-@)?;idE z-$sr;&PYdx>9E{unVouf*z_2a#wVVgyf<~m%ptb+>U-Y&tpYA{iOF;8Rz^skF+p-mO7@_<9HULv~%zC65$>V zw_aEoUua!a>J5F*;~&o39dUAYKO*=CX+QqaDQ*<;)WO+V9VPWbni-GBXHCn+SZGBc zd*3WRSp0B8s3W0Nu4FMS!JCbV_B4}ZS#hy2KflxPXP<}HS&;1BJ0na&bGvwDskr!f zLB*TGE1qjJ(Ww^M_H#1cf%bp!S7+VkSC3JL@i@p`ZViugN;-}_5lIyi2O?J*HY z(BFJ0eeN9E%r()PFJITgNa+MgGv{bFqWW=Xu7%bO4-Y@Qu9~50YHHeU81(AZmyt!B zBnwp-O+d}xe;-oBk55ea`S}SbKJMto&Rs{nHy$~}TCYr4U7l#EHR7G*Vy1f(6ZA0d zrTThVg7L+vutM50e!)fYc{oO}4}VThh7hW5D1XvMH5u+mnes(HyzVs79G6OC;!!|5 z9E{!>8N!s6?`V{0a%5#^_ZA{!Oh>xY)iLOeY9X?F8{x2z7XDdme8}opBbDMH(iwe$;pdRol_8{v<^uO1 z<$yuQgN6C48$_~0L=|HfOR=TkESsG`jgrdBL892!-tM-q;m!}5%0KqjsrDD$CH<1d z?wt?n7~)nok&XQP&iG$DHuxza>&HtbC1px!_^GLMdHhtQD#p;dxN4}%nqW^#Bwe;K z_Zz#don2jB?d%?Um5F=r6sKC~doKD^5}&a+WmoRukiBhzF2=^vyCs->t76a1T+ip< zQRS*^yIX|HPX5_YWy#G6^qv`7@}~w@q(sX}zv`tY8X6jG;VO=5^HK!VlbkLHiE{(x zy_uI`BQSZbgrr*Bym_;V^+&jd-XkVyALFBz7h6?Zz7RS1Y<-M%>{{H^Nhv^*;guS-%Q!N6oHa>gy%w>KcTuM0}V#(>3 zdmeXbpKXYxJg**(j*j;C_c!NvU!Ozt7AnV!YjH&$A#IHI#ljIdg1&~b!C?af16f&I z0_+CQ53PIluWfH{rzF|*AD=!xFC1hM13|V)XmDp*pNK0fvyMp>)xbIxMxy^^nRm_7nwBB2+Lf6}}5jQljeqL};2PqF#3WdH(0hGpAxrI}uV z3Kn^KdJ(7ns=d6t-qg%IsPC(~tgNVrC~+8r+0@e2otYzD0}BX#S1g54*Gj+Xx?heK zL#1uLyAI{|aqdCEK?4CrG1rB6M{_fi!pgjk5t%MMwYEw<=sqIY`xI1<&^qW4m9WSyS z_vTzGA17$ya5(zfix)1uemO}Yh2h8AW~#C&(lB1U*vda^i{92j)I_|OyzMW`!kjQc z7dnR1g4nWA97B1RA=h|u>Gq@5>~vK&UqfTQ=@xu0ZXbqVp z-1$RfIXF1dXKutcMKp}1CR|1#q}*4`b2P0_WlHXCJc)K)ol;xv)}uN>Ot?emd&Xbd zcn*?nUtiysFJF3k0NSW%lyxwSNj>s4R8UaZS(YL?V$O~+<*@{_xz&w1SlVFDzz09| z7_c=rzfKz%A$Rqn%)-!E~Q`7=g%R-MjCYb-9{hp-a8SD0+9siKn7@!*dg zY6Am?#(CXOF&tU?5Ib51RjwJZEHzcJCV1v%v?u9uVVb6J@eN}}IbBN9jfYs}!i#Oz zUQ4uito&>RI5o;wlC=%{i{d`j$4*~5>n)qS?dq-%%>zQ(<(%aD^+Wm>S=}ca=cbN#=X!@~TVeq0`R#fcP{uKXOdBXFN`|SX*7qNL#LR z90kmB{P^*m4h1YfgECwN+TjGYPvKN_=Z88|>fWoeZAx8Y5O@8k7NagC-)#KJzJOK+ zLCxL&=jgiuG;w!*5G_R;Nb7sq?WN&`sk3{*-YZGC;7F8D3RaRLUeZhS+=<=2^-9~f zDeC$2%!_Q$-n8ESm9uf3biF@PZa~u64G@=p$a+z8F(O$WZrUkEJ`P{phi8l zWRlk{&D=Uw$~87n?g8kD$$P`FKpUZ_w}(&IYgcN~MG)YS?B*rxDk%Ormxa%9=BhV6 ztyS?pl>aepu!5o@va5^50P8H+wPBOTTHO`)zbtIr+qbHNM+7ROkM1xT1jOtqxlN`- z+6 zUAFKbMv2T!6XHg#ludDoHdY<0J}vi}QPMM=)<_kjmcjbwkK!8$f`_|%5Ap2{fkc!t zQl%u>of-->oO5dR2*d!wMso zX_GTe$gVZYk#Mt)d^lV|%+Nwodb4g+CQm-C{G2t}7gSVsvic`Sv(2cKpQEFr%Uqv` z{f{q+cl{`tB&}n{{m-)gQ`z#Je-`rnRxNs`mi#oMY{R_Zbd%U$p6^AkAUnrQ*Tj{# z+N?FV=|6TB+S&>E<;)%)h;VUZ!R8auPdO`kzv+xAdoP7LlyFS2L@NNav?Z?DGT8FK zH0xcYrB%s3GC(itQS@hL=09RXk*W(kqSyZ%^dBKru^-VpJO;1}*6$=f_|ym{_VAY$F{u`NQyP_`9&0ncBB|C3 z5F!Fu*$hZ?-^{~;Wn^GL_APZ_G*Ad4pmCFz6K=5eErVH=-kR_H1SHrloNUaOF})S3 z?|speYG;%?vV+M+-lAmcU7H*%#V*|^WoJTvKQ@(K(z7`3%<;bEJ6v)Zs(h#J{)if? znm=lho>`IHomf7DuF}v-zo3oaIAcedGJ+J13#uK-nua>=Xy57FfcW@$$kOtWTo4Tf z3umbhl`OBxv|%Ylo>q?IcAX~@%uPQ&QGz#8+7rTp3z%F08`7Hhbi`+Mz*LA!5DOZ+cgyY8I_=uBtNmuy3p7 zGdVoIboN(jBbsZ~a9m|wboI2e`-s6=DU5j#@(Fs+ZRBgr4s`KdJjJ663U%tV>n8Ri_Lor#Wypvp5?tR#HOg!>7TjQ!o4JJ z`xq^_Jr=1?>ubNcWa3sIv6VMBBsE4^oYd|=H8mxQnhG<#Ko_452R%deed|wHd_rgE zlxTWBt>J>iyvta9c#GurOq|O=iQ`1jgd6ralfN`2qxki)9TMs{(Sjn5=r&W;;8K3Pfde&md77pcRWbyzHJ>}_B zr>wgo)!WKp!xMMs(de;o4W+ljk08cy)er8i388Dd28ny?ma&KOMDZ)Hk8G57X9|&T zsz0bOd?RGGDSu}5Qs>ix!>0bf_CwRu%synk_35~n$1{q~seQQY>+3t}A?e2Snp?2_ z$ecD}49e<28IuJEC0)X5C5j)xK6JcmVa3Mz8AHO|0*1}XK-KT^Q3F#=iO*bODI`2M zKB{9VPM;>Oq)CNyqG1c2JbCg^rQtI_*f&!Og7E`!!ux#A_Wg%nJ}`g71y#cfm^>G% zveCO%Zc*`-A@(C2YOl)j^PM&phS9`zG!p}Z*K7fSnwq-ZF@0y3DYIj0XQzyaH|QVP zlTLiNF&=BXwY8O8lQ~7(x^g|Ydj_)lk40BI7EuwAO_<%fC+{o^v~x7y#>AYEl&TsZ zAK!yCCa-)dS|vku^!d?7OJeciJ{*cYPANDjNN(#=u)PaneY`1lPr1S2Ptu+=D^_Lm z+L}z;JG}-qe1SHW>uBVO58d6}P4N_p_#cZKsYpT-Rc`g?E19IM>8uYQ z(o6SoaaqEITLOA-b75hja;KqE7w44GF|@1PP0Prr-a;@6$2M{P|a32Ew(Pdy}`;pFa3;pyd`o_|ZT0!#8VW6t^1WTc! zdU##7jqRBWLWA}eyCUI4@gYI+at7;QomEdTNIXFcBGe|G$TGah|!i_YxLHB9S zj_^H9cEyQ33Oeyu>U8H6mFJb{NetT4-4SwfO8P(a?l1=Ni;CiEEWgOI@JUE;CZu+D zcIvr}g>y=Z9`_iV>cGHE=~P}V1n#EhV-D(uiDez4HB>WFo1>ww;_SNW{-7kGwHlrh+CSf%)*S`gVqc|J*6qh?R^k*k0Gt@DALDV|DLZpkeoVIdz ztryvS&3Vwd|8(yduy`I4M`yS*(=wfQPWjw{vdu%{`cO&ET_XAZ$Caf+{n%>mWMJ?v zhjXcLXp)P}Im~hh))eIE^pTF-uKG1{r$o~7t$iBCqUUxtEJK58T^JkV% ze$M3}py<*j97%jR+%8mxZcnGg!wdTzf2Z zhk)X2uq^Nt>wP87jGADLY$(vyRC>e~ZfVx=>(f6ir@L{F)A*Wb*_N-WD=P=5TBN8< z&UEK_NW71u3X}<`d0(b0Tcp#nEgz$@w;e+R4zy08REX!nVbJ4RPLeB zX!P}SnfnwgoXPl!4&--q*`ew`xa{?gXH zYuRsPS-AAdG>bf0s2&}1x;2(f>wiitw#hV4t0DL6*RSn7ZIez5-M~(>(bFhiSxO~0 z>0R5{D1J5Eg5Gl!jKzu_ZCO^p!%~bnXyNlA&u~Rn4=?=unVxE~&ldA-T8ywik;@ z?XN_mO-$~+>61%g&K6>s{K(QUJv|L@H%F5rT0ySor`y1fAMaBwhV5Jp42C}YoSbM$ zh%9!@gJ7AX`9a<~pvLH0XvnS3LS)8c8z+EJo|4)BjNpXTQtH^;xgr~uM8oA)*VY7& zSF|m?xA26TpWY$%8Y}7A9s3%sAQSk}Cf)KmTUcc1Cgguag{K=5srY%$NtAOq_Y?|p zBf8n7t4;69rO0f@@y2LlzHZG7gi!NWtE0cRr1<>Wy)T|~eGq&2#l$djifYJ7bzmzj z3vjERS}*O!e2~5D?CePOxItxKR^0zZwof%sp?`hac`_45(xO0uXcHJUSTJ_DXPu2hcVjD?UU2f zRvZBX=Pv3YHgqCqzJo=XC@~t2q>`z=OeO5UV2K-w-oCLlwLn~V$x}gRciBr+4h@{ z9jJbaZHsmhz$`s?*upadUI}^1BJhRhv5b9@3fEAG$lRZT+lc&@!DA_ticxYYu)2u6 zu&k^sog$k$D+0=-Mlq!^bNB)N=DeGpt?hg&rLhok@?gK|5X6o25C~+CMj{MEklo-Y zR08e%v)t%Sd3*_|Dre80jh`4>cC+BOAFDqfuH^fF;F2;5Zy@718{YT;Ss&G83dAEh zIl0;w&z%h*!Yej@1UxG7~mh`&zv;8oTK0U-*7{3%KVa)ZfM&a9P`F-~LWhxj|%m-tWY{Y|`V3)!ha8>tgxaTK`YH(v5n1kE{7KEC%BJ%H1S znhUe3)asNWUkfPGF)?MA(zh9Dia7oJUdx2`1n9ZBxHbzU7`|;)II`htXq~m-w6GEf zwUt^_pZ9r32+nWQajfL|wl?*HL+{U{u{cpXi@83_^Btzz=Ur^&o*Z((>=6z*6B7>h z-N*CW?`iVdcLZk_3@*r|s61Ni1|`Jsf=Y7V%a>=aYJOz21nVSF$V+=VGY&wwY9aw%om%9Pv~jvSHIhh;Xli zN)*GSbAF-TNsYp5KLO0oNA*n^y3gis|D2v)PAj6L7AWc|p2qF5;2y=so(H+BaHjIF zy=lr{C#1}Et%7EGYAQ3;0s>Mjy_;YCm_vrDsQXHKCd1wc6S4TL*qh8LO%C;q%BjOz z2*On~hy#$2z6R3u>b$@ip3h5=E_djMsRd|0S_7r4%>Db*@v*Gj$qe`VYf$uQ+1c5= z!canGK6y~XWs#45zH@K%a{?A~l2=l4pf~^uPV_ttuC#d_rvAG!iJ4@7||6p8s~?qlu`APGEzAB@&Qjq%Ikcz(_XS~@y*>Ht4V zhOL>r7D%3)4Vmoh5t(Lchd+oSlJS$OY-6}NLCNpRpC1!YSNU7U9A?kO3n9Z2k7u|$ zZQNr%gCGEhY%&VLRwk27Mv51^4{6#DX;>KC&lnWB)7iaKB=nib+eF)x2376W@NFdstRI7O3GD%-PWZ0 z)z#Hh9CFJqEeqHt?f9ZqgM+7MXTy)v&~^INC;cI{vrrA>o417ZC!U^=I%AuD+|{c% z*xzhB0*W`^y%eDhlzTlTtRzei%aRK1avFY5&QL8$LQ>Lu zb7?H~b{@y$4AmYH>h8!&`cezRcq%qpM~!!z&ZHfQG&h$;ndERZ@SLjV5pM}i*XAmk zI--|WS}GPI%fFVW2lTPn{rH$-!x<%R(}SF%zjlv%+{ecUqz)(ofKq!f{{pH8Oa}{P zgy6|SB*C%(Lb8BB!Kwro7gv4IPC)`83*oUj78y)0Vst^Kzv4JKIYsqr!W;3zv!qGd zg$gaw`63@gR%=a7TAo)V4B{zSiNjgOq)y{%jB*}cPp3R@*8KJXU|8L(oRFH)(d4N& zm;EgvYeNQZJmFUj>Pe_;JJWn&y`|bjpiHVos>+QF8QTfF9jW?iM!J))J09+8tML*R z&F~Nj+597J-Uz-$LNgWgd3kwL&td1V|Z<+{2$+$2g$j+=6l_dTQP^}15p zH%{-?5_CF3dzQsT-s6r$mV=}Vq_D9#4|!tJrD^UQqz zBd$oby{vR=ZPADF>%q7~-#FAZ^&&47;Sb%FK)iOQ{`cLL%%%;w3V0HQ0c0CgjJ>v% z<%BCF8VRna6I~?uT*^ip2vD)zvS4%5ZOP=<|B-dQpVv5laMsBT=)5X3qYly@S?`M% z7Y|jfW73fWo)ji3==dDx6LMl4kJ z2%&Jf+17Ul!x{2fI_)9x6oCR#uw~i0x58`NxkPuZC6@#0W+6laNQ^gN&w(1odLMVF zA$P!i8Vh2bB3>?~tvk=m#f>azJWMBg-5}>{&j0^4C`wJO*4x z?=KC;1W94xE(j3(F@4k-s+kxJJ7aK~N=8E@H>l*qKH&eZpWAt?OTenK#iU;JHHE z+7mdsOGrlRPvH*qtn`#ZO4(u)C|XSO!IIB7ZZjK6x-BImdm+o*m)dIWEE?zj7=Czk zad9y*@p5lrZEdZ9V(ic$8PQIut*@dLt)zED4Z6DdvDfJoD! zoYV@G)SblFm78~2s4}d+xBhJ>tcz7Iis!b9Nj+}by9R2F>CKgI+uSP|^kVyiOv;et1S{G^= z+t#TS^a!8tcbW-^WKh+ss&1o%YlE2x{Idbv73SM-k=o?tQAMrG-T?=vi`#enj3W>% z=^S&`oi==mj&5#RnUBZnyk}jCUK`*#`kI{Cy_ZHG;3ugL>6f`aYK{_j=BDybFK=vW zQdCg*fW?N(UA>VJ5!7LMa_YrsmDg!TaUR9T0zZDv&x0SRw@u-Rj%@ZD3L1G9Du3zs zam45zuETn;F>P}azkZnw=+t!N35?qF_bXI9olo>?4G@V|m;y6b3`-(NUHE)(qhPRr z;H8;?Q)!NuC>`#MiO7)a(Ybz3yhRMcis1$9k5;6081K!Sj$j>;W(Evq>j`q7O8d^n z;t06kyZ~bO8tOuoY;T`aTB@_!)Ft;tTu6u}xEAUq(2FA?BHCB(2QvccDj)jVPMAKR zCbJ_m-$LC?&&Wn(SxmKsUE{GDQ*7#uQkd_ck#tPwIH&Y);A0@w1}&XKn&D+s%5v_6TV{k7p1&m3 zhZN9@v*=#WAJAJ}e%^Lq1uSQ*4gxZ-5D8KLfuIg&YRrOY(Aj{Ro<3KIYTE4OOu|7o zd3bn4MSGMUhhS%}Za8%mw7%}V$XA2DM_;=rMfu3`?GbIeU#EbqOG9txg3GrEnh_>3K>Lj_nobk-B_dlKYVVYYd`$z%Q z|EEv4uEN%UFZte2Aea4Y5x^c__b@ocgi)mbj zs-+)!A$PJ$Mo35qjjjHmSQ>O44O&~Dgs@>9CXpFHM-ZFJ%F5o>8Pm?+`Ze|; z4;#lbPX%!!$MhMKl1hS=g;ageEj@j zN@-RFG1It~c!_0kZdbPw=c$+9*2(`nThr+c#-&bgnI(7?=I6Ihc~J6-h;;Y%LX9jM zXG8A@nKnLtO+4G?%A}JhDZpd^0FApS`D-K#x{xlmtzM?IIeL0}nwx(soLyYBubZT= z1+E%06IbZ^Y?S!cVu-VzRyhh&t@#+;bDB|Y^D=Twz-&@2Wdm;4b&6j`^^ZA{`r=N|- zMuMe4z*Cn3@z_%`p~-YC6{)uAy}PxVlaoUszdBu?a1dN*be3Oe@$uE#gVMnw9kGJ+ z^whnVqJp2o*&uGDf58K#WP`Ja0S_svAK5r0Xr0~4i|7AUwYwONRBem8%;{b~w?rNn zBFj?z2aW;OM;mJ+q2I}`NYPk03ozYlsi10T=-q@H3bmpb-e7`qlwl4Dpy5_hR%WI8 zvt{|PWsX{i_XyXUIsije0;|8~^V7*2>5pXe^%KfoA8ktD4sa3$Vp*-8=@-;jf_O9M^`sn=*2BCUjM)+jWLjJJ-UB$De-9f|C){cpZc~cUt zaP8cQ{t`zsS6AV4C)6+h?H_&xP{LL<7mZlvsf^r1P<^s$i0d;sRNo? zTBINs#Cd@^;~_r3a%YTNk%p2{=KmIZaA8s{Kul~j&4bDt3cslnAOh*)^SLWFjJBJ{ zxI#i8Qi!?ocHGlGHl3NOCyM(vt;z;oNlfP(|0%kFj*bpZ4pS|4vGe$YRSdwId;x_Y z*boxctQS8+@a|5nq|I+F%%58&{6P*0)nA(VQkhNi^cEES!1`D2X;3x7_NbSBz_z=~ zPV(OTofLMQ3Ah8G4#4iQZyW`*lxlB`_o`b`tnIYCz~^FOVq#-sV`OB6L;`xR+Z2I; z6Qwf(uAiO*H1@Ye%+xLL@506{ylM&_zR5rjM~>3=h`DCEqYaNITYOhG#*G7 zDfwsH@t*8mPp$fw;Jutj6FrF1)jT_YrY4W7FmR~$TrbEWNqM!~Z~Tr5BD|{&`Bhjm zfg)u)k5V%Jq$0r?-kv*{l9J*qQ^7RqP@-@Rko))Vud}At=LhEvuGAPkQj*QlRLvH$ zE)HojCE05CF8`WovO%3DOw{9ycBt^t^?>$ME~uA7k^_ZK=eTXFsRyt8h=Ch+ixFsi zaE5=A?vAM>*oh@GI+wD!Re}Rfan=gVXZU=uxFNf@egEahoQA=eLGoD6&A3ljY>v}e zSnmSy4>~*P^e|W_KVvhspYFs$WT9N!x44p#mC1tsG;F8IIF^CTI}KLM-~0hO|`@}njo*TqdTaq3EI5Xs=+KH_*7{1TNnefg)t zg*DTg%c$DfNX)-+pOgNWLy1a;bW$sD_))KlXl3j!JAU+7pR1drWDo^EJV>$a6<}X$ zH&W5u1=~hpNjET5VAS6L#i2$kF!^U!?gub%z)TAgEc?FsmPf_1ojZ}~1nxYb@tr@q z{F>AuHz1^KdYrZ1x7-F63DM<`mBRU0!s|0l{S%`)^!wE)E{Lj2?-wtqStC&0s_iRtk5^Fwdp6C^#> z6!7`bVjx!^p)+e`YB~-wiNExZK%s$+t?BHmiNK#N7FZFqDW0&OS?=r86=!6kr=OXc zT5_p#1=|@g`r`4t`$Zs7W>+HZbg4;%8Ga7^Jc&OU@(b9rvAqbhycifQkc9(XU7En} zZ^$Jb*_Ri*s%v&me|j4i*Z=jPP9x_DHuy(u8@;a_^oQx zAKkXDr5I-XkWB$Wp!lPdPAdW+0G^*c?2<5JaBm?3)A6fU0sS}FhPn!|)3^yYkSp1| z*2L$FK(+nTZ}J%I z-V45uin5_Ls^%FjFubtT!^E47#dcU0q~1W9nhG=XoIO)+ARALu=l>1BIEcm zqiWQ2kGbshspua}@gu@}`MOKlA z77NyETNl30{yu^)RIU5E^0u+K*aTQlmac*~!H%A_xZIcM3riJV0P$l%dzO`O5OPmm zN`HBA_UDI}Zc-mP8u*(u^t}q8(K4>!f|{^kFV zxT)XU8u&EIA0(d2LxR-WM7p}t^txU^oduW)=MOvss$Z3@;Qq57c?i#;b^J>6mt+S0 zMRV7g0c&oG<(BL=J#6K?THD9#2!uiOK82h?n;RY{hPkcqQ1)W&n8 zvg^?G0jOc`M$kwy-lEq2gwH=Q*IAqR6$=zNsF$+^#Kd%p7>LJrV^4Gyh!W!`fD`AW zKj0sqA`7{hO%a5a1SzR~hzl|R*qOc8O9!EorQG8|iV6q?kfg%pK>aM?`oMAS1j;{c z8VB$Y&tJ`>`VyxF<= z0aTF6t&Z%Ti=P1G5Z}dcUBj!*kd)`{4<=eqo;;b7E_gX~Uh5J`w#IgU|{-djDU^+=T8;8`~TM5^Nnd9!fmli#syzUNWT8a65WX9Xt@-34-d6;>^EM) zz+gqZuC8uhPt z5)3aWVxmAa$B%7qZGk2{V2u$Qn%DCbeMfu~^npNiA$X(~jsVyYA}e=H*vXkQ@+aH?d3f)1w|IkNM7(8tIe`e& zMGr>+b!?_l#A`%-k%xze$$K_-o1RXs%$i-ts}4Y_h9!K)DNS6A*hIs*v!k%dtOGb(#=bTHWokAnWF4jK#WxC7|p( z3e0#SBCr=BgF~r0o3Ok_LTIWZ(jDT-YTM&bKEj2o-G#=m^841k5pu&S8Tp3j;I9+x zFu1^=d19WQ3-_;OTky(TFOS*<+8M9{bUh)aUo}nrhj>%(*_K<)sXWyU29!wSn&q;m zY~xKqEFg1dA{-t=UxqryB4!OZAoCb%O24azvpOt6ORk#k47V+kYcau1IRTYIGSH$zDr?Y&Bi7&htU3FsutwS(dCLX2B1pzj*N4?HgG!C3;NXbujkK0A8PX)BR6&b;05%Zy5Ko9_`gFMII*(G=W zX8D1t^AwQ>GHE4oZ@bkzUmb%5SD$&;V2%)!sZ@WWakTF&I5U&WeeP5(m%%V-eOuWc z^?#MQ2=ECkuMm?+O>G2yH0QmhU?!;wAjF^ugw2s+e}6v?c37ee4R5OhI((yk;eHT( zE2%vQZ0~@CA6_3-7M~a&hnmuRZ#jWny0Ptgl1hedrMCq1KYHk=Um&@pfQwOlW~!CC zo5o!q{>E4&vH?-%nlotxln<-~+q|B>zQzNm#D}k^xmfSN3^1_)9?F=HPG)%JH)ZAA zRPnQBCy8lSR+Lhn=H$J5jr%r7B*gs@M7k~?W3X7zmHrE~59Y@ygxXU7TPCebRKuuE zW_r%{6oAut6Zl$iY#nH&DeCPg1Sb&u=-D1cM(&=<%#-mQCCt`Tw3&*ZkvQlD;%5Qx&{@wvDMI$3g~^xD~k~)MRd^ ze~=KIn*x}4=T~p(*=0@JJo$1^_LF3BT9cXQLlHDxT*+S#!tr|dNu8R5SCDmCNcBzs z#wcX*8e)vRVk9w5Y5pKol6~C%hj|>VS`A}U*P!W#fP#__9K0=8YwbB2dS}cxtqt)AeV+$Bsd_7Z0cubX1K(IT5>-S^gLjy zt+3RxDJnp@O61v87dY2SUi_L0y)tR|NeBQd@7ZgNTG1E|Zf-L^fDFwuojeEkY8~8k zukrt=s9oxQ{{v@}qSDIW#PbSw!NsNQ-)3IakzW6T!hXq%zTfvT0njv-tDOHty?qNU zW+-}AkpJ`+;h;)L%)06I%YZJ#6$vQ|Ds8cwp1%f2CidR#%M8iH5=u}B5S5gax){V>T1^8v%&}bqlMH^y~MasUH!R&nIgwNp*8 z+PhH=V@sQ!g0bN`@6}efR;LNIU%v`+JkMrF|K??j_L*e$W%`2*zf=Vo9_@JQ!Taf# zY9{aHLa!P{Xg(Co%~tuG8p!wkdT5>Oq3zU8;Fn@jAN-hc8!*)%1;xVI=FWqq{h0I* ztqE`qbtmgKpg-l$AfOtiaa65x#T;?G*1&k_a871>Lk4cUl@vEn`oEA_Y~dg$!2yEP zeOhV9y-I@WI)RT=YLd^i_V zXRNNSF4)19l$K^@XSXodU%F3vf;G%0AK=9<;5p~9=su!dh9;tmGoX=ZdTgxmk2Kqac z2`n&Aa-vMMwiAyC{2J_215T1G8yOjSRXdz@yFg!aDq91YpPQT8{fJ~QRk<}ATrxjc zNm3+pzrk3b(G-C90|yf$ep)PD)M!KIbM>pSr27WHwc4?wtZ6U;Q3n99RWE;*qAZI> zSEgDdcrN+B%3KuxZ{<#Hg@NZ)xdS}b0IYTz)dRB4nZz);8r)W^eodd{l`#i5XJ=sP=11zkjKnMSCuf!EE>=H9oEs(HrqxxHz#@3nfe1{s zpgsZn>N0{bF){J1XgNTC=RMcR9*{silhTRPTa)-S^jcm*#to^>I_2ciLW}Jep!Qhw zKt~NwZX}luI4GgjB28-7!p0`6{K|kwiS8V{3p^?zj-}mP7vIORjmv<-Z)e8?)_|qz z%fG{l`tl2r|3VV=)*S)He3Nc^Pb$i+#9P?I<=UDxamFN)MJzuXnumTe5f_=5pwY2B zHibbNfpSbLDJcQw0iGD}<2(4KPBRHAE`RYqYYVBJlET3wV__G%NTJ9fwF--N$&#xz z{^-Q&Kw-l$b0E)rvH@b>uiDTpEFlK^sKLx>qP36dn5q21;oe#Ey}nSW-aJK>4IVuJ zoHML$q+AMxn8=3%K@yv~Q7Teoqy;AD7U&&h7Wf9v!35(AjR~LiaZYvoO>krd2^2iP zbVsz=1ZT4)96zYgIIIi|3@j`%nhI!z+HRlETPaZwF_F+mU6n{dp18n9VKG?<9IgaRWA$dhAn z*v>ZwTYyv1#O*k#~0S|$c_wnN;9h<8L z3%R%UtJ+@9d9NAk zzGEQ9(a?q}@95LzVs)Hm9#Lh3J_*<_J7;^*Wh@7WynN}|5pv4>81T6wd%;o$yudqw z=g&W)Ow#C7IL|G7{z$T{hy{fzrS(=;IJk%eU1^Hc>8SiyeC&A{<>Dgis%OF%4Q|*6 zb<4hkLO}iAuux7>$$WxZh`i`|^I+%C2;DyO+bcwN$h(;E+n`S-p8a30pq|AS-S+gg z_Rj7HWdhmLewuTA8X6jaI)ToFQUQfuA3k(% z?SIafr5qSO97e&jp~3x6(cEuTa0<^~gc>!UTW*m$?Q;isvb8Pow*LTvKp$YhSj=tS zp5HGFBwDP>2qj*BC8nPu+#2V3)aAz)e=q_)jQZdS zu^Z^jsoH&m8gL$c-dMJ=Z2d|}LBT@9RxiZn!5Tf4xvkb1Gy>WC!3&P)e(>H`iukg$ zqQ>g@9;MV#@ye^R(p@gO`w^s_j*fzEl^?P!pxd!DD+WaN-u`V0`*`Dac@)(0qducH zsLkA?wSW&$hzHSEbt9TDkc=?ch!u@wU;`}PwJJ&VDO@{y!Ux>yH^s&2PxyfQsj;yU z)J`aR{FuCd;^u(AF|Nbih%o6cWC)bGYPTXJ^G8%cpdkJ5w{PE|7 zZ}mhp;wQXTTJJ+v1X*dx9ZCnIEkFc_&Ly)9lt2lpg!sSPZD{P=i*~K^!B6rpB$(6F zMyBgDqth~Kl0S9la^U$lKOgMfpPCIX;9t&n1O^A2<#prEDf_r&()=xrsx#($cT^y> z4pO)^TN|{$T%@Nj^H{gpFJs__Al$+Q#MHuYwPlVz_-bNOy%uX|*lgioXH5fZKC?>D zFGBV%i$6H8(`1R3o&AH6G|Deuo=>>JQ$125^}y=;6O8v`$s$2dVoW)xNzXljF3w6W zZf@8P_jlpZJ3WO6th(A^_6IrpDwwLogDI|1wEn+>8ygDg?q0O6YF!V{tr1Wx1)*)h zC|cnw&ncqg6*ZJ6V%QU`AKLOH2im4R3MD`tpcS#YvxYsujBDyJe*UJhF?hTNFwDsb zvos!CRbmed41JG| zIO7QA71)@7b^rp1|efc7q%`rXQzetUSrloyd`^`=m8PxGz)na@-|V*K|@vUS%|~aOL8){c33y1zi2LzOaE2c|o35y(pH;Hxz2+*xQ-e~HmHol`a-xsI zjO*%_7w_L1=$~***ruN(AEd4E$x2Z}2*v$RwT;9le6;{Lw% z4x}+=UuO=t#8)L3e9xRZE+#4p8v3bfyS4#P`V4q3Q2LoshuL)((CfnNr16I6>d1ZXQnjIcsI$&#oS3^XOd*2c;C;)8KLp4}t5b0W5TiJA)W|Do? z8jUWN=Dk5gj6tgrZS#R^-&3H8k+(%#zl*=gfCox4js{CxTa9xyH-;V>)}1tIyc(wj z%}Fo^FQ-lbmOOLpDzNF-_b%OWTt_rinLLM+3l|7VN^UQ~4sq+!N5ksl*#!0nZD8w% z7Kw`&?U@O#;w0(>^0B`m^xE|naxRV8341~>W58@Po)%)g9tSnIZt=V8^~2TBOX3H| zi+#$p7>HMxC||=eXeg1-wNeK}3(pvXNCfmdmy}Zbr|DJo$Gb^oe?Z?Ck?LSTWE&2# zdDP1aO7EZ_0vZMrA4aY6JSue?P>QJk`P2ORxm;xFPBN?k&^2!3(PlBRu@a2IvgH%~ z1qzw;iRop10|Q)BuVvqy^Ou(1n*5Nn>RzryW!bw1Hf$)!zx2}Rx!!Jfp_Vp}Z!!ff zJ)HpG1LjR+>BH+#9I1+8VjjL}cdsAPn_zn+;n zu=m)-$!Whi6}_!oo*!XMS;?Pw@bw&RnJ=K;m2_P&c=99(9^l1t(bsdS++7tKo zamVI=)7b=sXigW$HsC&z}tkN}n)IDKhfV7H=s0c_%NHgPriU^AG(xFHQ(%o1f zp~HZ5h@zsrbT=p=!b_->v>+iZARtobTExukbN2ts`JFF^5BsyG=Sd^@8%@QOMoku8%1i5vKNfzLVCwEXqJ2R z9J^1f5nZwG+5^sR!Q;?z9?jgu;_#}nqtkI9>I$!_wK?m3xR%jyu}ahXPe4W=`S@}I zBfdEu<)Mr?6yBU!@nmMdim5pl>^t#~-Xz4v#ztOIPf+SWr%srPit^|VHdQ~8aLx+9 z!{AieH(X(>6&)J-@?ceQ6gm1qh_+MZ=ZU}&(w1L-YFse6D0vTx3fPYo!uRgDr>|D4 zcS16nhj#1wD|bbo*u6=i!Vxvho{FX1v+q*GZ64}7)`Sb9CCrnxjYYUslgz7}dqZ;)eEVDpD#_icDi6?+~#VLADq6$gv}4LGo8R!5LkHj>fBaO+tQ zNwaoW8#?yx^DT$Eq~bG{n`z<%qu1ABLjqo+1DCTC}7haa(iFChP{5yCO(t57l&IC&n>)jhhj`<6Nv z{qE^-!%-oiAeGE*Hlq8yrPbBdBh$09vd#s3Lx)X7=bWVagVYGuDm1HrK+_%Ne0X@ zF8bq?NvFb|(ct465U_9!Lw|_8xG8R5ZU6BTtIM`X)W8pPWsIB|sg2uSS3X|V;z#$r z{Y_2Y`0nT{y=6jrD%~1YvUk1yrs*sb_Nmpz#^!9mHzFc1;2BT~GI^-?j$3h8mMOIj zy{}B_j2(oQO(!-Z8D&=@0uBe2XsNwNp|Rz#^R5^R8t_wy4>QW&rWR~J@==kU);K?% zq@A`cWEf;m&m{OtnXz$klZy$zNWrdK?=I8Qqc&h6VsNc#{}y_baaBxs*sKftn3;!0 zModgiZTDA?E_1JTGM_m0Ne#O6j=^Md8dr8^rVOh;XgOvMMPV51P#6O~0vGh6zIN#I zr2bn}>jh?aO4GPPNY&f+$%0!FXJM!-0t2qFy$cDKxGvgbJ2u{FY~E;@R*VDsC<}?U zTtMEi8SP69`yL?^i!5OtaANWMmw{GFu+)KOlTz-|GvaaV9OlqbA9gWVa4R+n@0+ug zQI#6rTO04$vU%ejU!D+bo1hihjPM+Fb<3&RvPNg;8CpbEA4m#gd<=d1AAu)Si``u3 zteQQbz{NJ%r;((Y%Nm?1%A=dA>ezC(?+_(T_^D}|=T!)RPiw-fEkK2U!F{!tx}ujC z1{C7!q?TQBHz_|q`p6-MH9ktkG{ohM>N^vVNm>EVAS;!5q!g@=mrC~=-VUGJpK3cD zr!0-v4)H5$i81QcJ6?>K>eo4PId^4PDgcTZ)ay5e#Cg&FF)Oa8r_Gn zH8sQIgeD7>1FU)|L4C`GOj`l>!-Ep36_ZzT`-5z~0EP3KfPjGTF~b_{C|m#~41P~E z&esd+G|ov{uUr{u|IF9;Vgf}n%8%*V1wIIj^YTOo63_aekQGUfMt>oy6N6H`lvmqj zLMBy?mOS?5i$$31zrMGRdNmsKW1mtSrwpR&RJ8Z}{>&LAVPAK+ubPUEPYO>61!^dS z*s)h>@_qS0Uu9v5ZvDDI>xU1QR8&riimDgg(9OF25ByV2nE2Da(Fi58&qFD zG05*h{$EZ}QBh2hv?*#-eKlpl-z|bPxgEK!wNwu5`j~R{&UZmwh&aMyAKbq$T>KlJ z(3|nu{bF_r7umh)g1&cO<-3!7RR|9u4<&~p76SRGNMK~;RgauGfbU-m$}O+e9KCJS^mgFYtnz{Gb08@_2Q^@?(_|(q2oM# zoZ=#|=Ja*1Q4!fkZqa6y?pE(|oO$;@HR> z(YRJ@l^u||$FTE{hg>#!ro^$GiVAXxa{QTZPQYH#~%G!Dgg-Y>TDx1nEIJ?JZc`9Bhj~>of zEn2V2#;(Wf(oLleA={(>Kl*ZXOgv|~=&=U?^`_ex0#1vt!%p5x?3c4kJ-=RfwGS3$ z#D}WzBg2j4+UtJ?_-CAw(^&3+vXeArjMJfV?W?N1*5Z`7nH+P4_hWlI0wZ3%dZof< zvba@yZSVa`dc|R|`nwx`dl2kO2g?9V?iANGVbO+HqXYDOu#O?SBb9I0=H4lkHV1i<9cw{6pv)kBrFe=-=N#0+7?$hf#L~S&DlIk;zLBaaD*(d@awS#pG*CkMc z8b~=kKKyk?W~O)6c=56u;Cj}iHDXrvKj_*4Q_*hqZf0$1&onj(VZA*ET zHOfY~qZEMaDSU}Me}t1}fzD>2GZ3iGyo+QhFZg^koOfP-Le}PFk1tPNHd^3gBEc*U-NAm3gg07x3!aI1ASHE#nWgV9PlP_OzOiE zUZ%@;RG+>(?d5%_NI;l&LM>39qVnv7XTI2QY@jBQ6tYX zYXxgHXR+c>If}Ea8+qFY`|pPe%I{{c<6#gJFGc$8h@(|=&w);T&uSxw8 zYbM!h<61AZl|oE5Ah5=u{NW-w+3eu$!Q2^z^XD4`lw^PTGk|Te|75X0+u%@RJej=l zr~mjj{#bNt%aSQUelQkGeZ>W`^!gv?|lL-Gx_6T7UO|$I-SM_t=bUe zLZ*O&>x*%HtbDq{*#o=2jEv9*CGUeA2?7Go#xBaxpZUjhO*3;CkjdB`pl~{qR_0jH zIa5?ZVNwgz;90!$&tf zHeHUb7&TaE%elbBm!9l_ihPP_&=l?x4{y^ZPIYgpjN;;AR*Um5z!cQ$Do$19Jv9d> zqC^s8egK#hWl;|{9FmZx`i-UpM^Ke8j-z8G9Iub|=CB@GYqE`noQa(e2ooh+GuKKV zU1=XmF!bHo-52Kd)#!twA|fKTmkOg?Jxhl|`YNNC-G~MKhoyx9DSLI-rMUr$M2fLj z1&dGX>pv$&xauzKgO;6}c58aADXaf=6BEsez_~w*j@|zLO}o&E#N}JG_;YA@xRoR$ zLP!c0*9j(i^O;jj+Q};7Rdp=^3NKJK04ZCkf~kJ_2}_NRFXNigHvJrN#;*_vy}rUr z?`ztc0g0IPK&?o=bY>T-jbEc)7HkHLb%#wBYEYeb*C`@?gVt};#6?6PT(Qw&5Vm`@ zysibNxZ2FSX(eb*lsDQai-kiyhenZ)QOg`?@w3DHk<`DVa0C38qXcDPP9RN3QZoJ%< z#GEi0!Fs}#dJ#2d%fJ-LMtIl+`=DBIxda_$;jk?8-o0G(zTEkmqI)5^uqBvj8)H7P z^3$tp{HEC3NWb}r$}NFNb3GA;O*x$5#P2(Nk@cqhRTlehecnFo8_g zrGNrz&!-tSg|sngILj2fd}n88_$K6A%l&uhYQCb&w zs;8=4c_UVXDUgr^JVVH!SVb|y{^fGanAhG>iJ~k-bmY#I>+)$e;~MaW{{Ar`ttH_t z1tk=+u_nvLG7r!rzEkMrNhwfr@f=TpZ$XT~5TDB*cK@u_!^&Q0agfV;{D^#lx$O}P z?)1~u@$Ewe$JWY+U}X~Z)abqsB}!o*I^ALdGF1;oRO$ieK>H-M^!+m)n(O>bkct5i zH16jQ#--zDV%PpvRdqA!DPyc2GTBdj(hDeA(78H^+4ggOo7>l_lTVxjNkJ^XJ-Ge) zinVpRX&XWTq{HHWIk_g_`A*KgtnxQFsoWlw_qTFBr6*XJh(HLBJ)S{2^3bwnk8gSV zdKI-H!OJ-~D}QisP@2^rdD^lF!L#0{%uY+=eRpaGC;>d3U=`%V*7e4((#To#APWc; z17KrE0dbg_4&Uw%%m3-tE9feYQ+!T8rOSsL59=3YOtmudDx0UnvxnWwu>d2YD!D=FUx z>I}S$$8C;T9@zC4n=D&xI=6Px#`yKziYvBcV>;^tyDrimj;P^&ISjqeR*%T+G%hjU z#~@%ic*O2`|5_U!8%M6Xq`&?k7RSi_k5>*$Y_J_WLD|m1#7HE?r#?rv37Jebh66%d zMY_>j`V@&oNh@o^3w-a?LHT;)!gYJYE7MDj9R1jQO9apeesK#`4TbSE@;Ich1uoWe z9R0bX$LM`=k+?QEG#l@4U;FbZm-;o!@v8tv*<_(44({VrNosiKEEpeZ2;Cg^ejuKn z{A<$x4Q3G{DtzuBPRV58F~Ch)vKAjkFFfKA$;G#62}98ZFaA#$Km6l;vTFy>2F@O$ z$I~DeVe|zX4XR!Lvxu_b;O|+nQ34k#4~hD*z6NiS%#I!EM@rYyf@5lLZb5ZBFzzGc=3k)86KB!sztx>prFQ~|S^wy1L8NkW1cm2HMAzL2&!SmR zV=;T^OyBwm+;18YruX{wYXBNWa`hR~tb8}(i7NPcaj{gC0?)S*3Y4QncVcW>BPidN zWBEDm@{3?6O$vy+;XH0_?Dnhl(T6+gKlMl|JA&8*Nom_zyYRTSO)vKR5peKG2)^9M zSahC#?r>hzSPl=@%F}o?l#${k!s6H5*a&%$gSZ>AN3RR07oEg}606+F<8v;Z0`jr} z^h_Na@4OE4o-wxm^y)u;75qR#__k!%oH|Ozc3SqhcB|%lUQBmM)3mgh&gR**SsdFV zG6h)t&IGWP^43O*@MF-1B$a|Nr`umB`;ki^{_%LwIh^bX-{-m^eIk=vvlctX-RwL6 zlQU4PdlxT!CwwXiyAOM^Y2($>YNkjHU}Zmfa@BxSMiKp?0Q2@=eoEs?&T^Skn4{@X z;GFjeT4|$tZs@knAf&bnCO1l2yT-3S-9j*6a4d_Kdeu#}dQZE2( z%{X4{;Lsa~LhX8iWUc(*^GDj++RFVnSx;VIqnTSq-KA_CXYG01EqH5M-o7eC6r3X8!?GD|qq>HHC^Cr0WjD$U`7HzKcAQ&|YgYXlUVTQGHl zoB;F>8H-SaAk`s8s-np%&PKmg?QTLsiwd8w6Evb}xNltDv@?~oM$U$UOzHjg-e z#A*9MK%R>SO2{-W!xKy^9UxiLS~R`aLtl+L7}C>2=Z-levSBhgTpZV+YH65Dd^?X^2br3?xq%GZ@QDh%qj#IJ;@)2e&e)cP zz6m#9X6%51p;{B}Fp?~AdN>?s#oQ!Rp44dX==80zpRm!O^<7E17m2ITNskwth*%BxLMIx z&4j1eavSb6`W4!(efr$SXJd)9qE(ilq~+f%f%5KB5rg1@m$9U|U$)X2Wq!ZA?e&#+ zj<5n@y}?~V3Y#2Sra^xXs1;&1LtEo=`WFhf*`Itx%!2pMp!v<8C%yxZmx-U;&)EN? zB(LstIfGrltx>og0xpIq!b*X+5e!6*y_rMFj?3EoaeOu+b}*yRs?R5e9a`duS$^^6 zO}~{@)E1BSnaA%f;G&>A!PoZPdvImr$}vTkDp;NtJ{bJ1Gsp6p z|01woN*aMQ=j&7GiEO+d-#`1|r3#|N+{k*YUXAaC2EMipg)EV}uU(YdcxBq%8#q6N zwsU@)V$!P6$*b^{pt~Le1RD3#_=ytO-G=kDIf78reyLacHZY+?QNF5RqoGy=-d2a09)Z)e*}NM zX$VgO#Y9Q7xw@+jq7?ki(bE0C<$7v%AHKGkVDDcD{P6Cb1yOaR>LzASsT}L6+t29>Z(p@}}&%Ju;k|=jx_~?}xNs5T5$%|$&*2dv806oAstubZWcv}2s zt$;jr^>Nv%0=8{bP-xT9SS2*0B15YcT{{BkQqL7huMWqG5%6Iz zl;Gw4bpK)?hnCPLi-pBMbGlE7|`vw2Oud< zNxhfmQ+T3Q{tU8`L21_toC~m7{9$`^lAxL8C+Z&y8+7jcZM#o-40~F8QxmlrQVs2ogHTKFRWsKeq3FKJ0}1W@J>kV!J}MK>x(r zln7(s*x1m1=Kv+GZeX|N2b7C4i)M!7lYL9Ke!KD{GnCUSG@+oI!?C@KW0{7?H}OPD zB3TbXkiU;W+@i!mO3>N|-Ocz{WH6&TF}ZQ04Qi9immh+_H#H?1E-P*6<475{x1Yrf ztRIsUp5(V1Oxo~V?;#foDOg_?`oCc)*f}mYhKetF+OD=wx7M1=kZ6`Ks1>^vqU~M$ zu6ZcoD(}i$b0w@@a9BCHS%aD#c3ZXJ6)Yn_Uu4(jjEoGWvUfYMzbQA0e<0uf-ZmBX z`njqzr|$2HL$75;wC+E6aLk8h$2|to`+WztYWqqp+Y2?>X>sos3~>;b#7Vkv_CU}3 z@&$v7gjkzudMC^GC6?=T(G<|M};is7gwCBVDXbOi&+n z6gcv$yg8OIa_Vjn9GJ`x`llQrU>(1CV`*s1w!C9$T*xy@t^I*f1COSC=$%4tFh0o% zsy&Pz-|NhcyxGr7|M}`5-sABdIF@B_NJf(Bs#oKaUAQaVR6-+-v=jSe6g(6%iv8pd zDWKZ^7e0d3gpqc)W7wgVWnp2#z%Bcww-UQHn|w_9{Vpx?@frk7L2JocpeQ}Gbh`*l zRI%NxQ=xC%4(c8E2w?pvJ$0OAP-+8gz?@A3*gXFb50g*m!seoR#5gJaq<{eA`Z4|6 zqDhb&+S}XXjl*sz{d*&jB`|oHZnuc79Z?c7?|dAtgkLsS5g$7rSn?6<4i_A+$T77L zCIlnPqS~}soq4u51Z{WH=iOE%HMT9h6;!;_#!HoY%6cNdKdq`*y5~&7S+)=8Hi6_o zy}Y6r`&%-`GE0qp8auoXCzMvGx3f%rceZKjd_-htvxyS_l1FDC^dyHFsQ{HAHs1N&vJwZ2PYehap8^eWlXMqf%BCyW)f59^ z@l(L44FLhK{lPQiUG75-$3m!mHu3r-31LRv)Ldj(vcc-}g0Mo(*YU{Fi+`>-7B8|_ zJB7aN5H~*x0pT!&uP0uq+y*r;PXiMt-zq16teKqFxMvul9L~%IynWb#>xX z=TY&fnr6Sv=<#6CX4eTnZWRo8N5179QdnTyrC{hAKrq%zaihco;^v->feIsBznCAF zf@GPm0Km*mOlY5?-{|4#!;Ar2L`#^#Y^E4EIZT6{`_KK1jKWBaW|M`#>U%X!cC3+* zkWj4{O-MzXtX8eCQS19BZdoDt4SO8@+Q6h+_IAt z*SkF@sU}*pMzI*+Li5VDcD;(NK{H+P0iK88jV7;Oi|PC}*m7TO+M%JYUbTs*)kmg_ zz|~;mg%b!vh9Yu$QE+^D_r&K(?ZUm1zMtQ+@vL*=9+uE6~by0SIe2t^TrtDpsix4OpL`bqCx#k7D=Jh$?d zomRF#{Kri(y1(I=4T8GsV)Or&$tC&_KAXO&IXV$rbk}j0c|2o{AVk&~R9yR<@8tXn z{pc0p*2c^RAYyue&V`gN0caf|YK=|G8NWePph88?PZ>9Bv z-YdHfTU%C^P;{N)N+Y>*pJ+xk!x{{6WlK(?F60n-N#-9@x`qDSL~_J4+g{4Z#H8k* zj#_Uuk3Otr;(xVIQ+6-cd#$t<6U+xA1+813at`5x-;iyQEKess|LM~e3@7EniAx%B z!W0k|hflXqyG+br%*vLHcknsGd2F%-eWA(|z1F~l_tmZ44dr(u)YiZ+FYf(M>y$Z6d_RN>3NSZA`}!9RJ2J+X6RMyJ8YXb?RR+xfiraQNowi+UCWDI#9KP< zG9ZTL;9Z9p_7*DHfM=80D#GF5JC~JY3V?yN90O0!kW;>ta@?7+?~)?)YN%NHc3F>YXS7@hxj;wR@SBT`pyvB_e#Xk=*UcLWg}F?+z6^~vgTYilcx zPtDlbiHiN`s^-z|Ffb1)SEnDstCO9*{ArWacO-LTKHC14tkKRooyA5SZ^}YM@mz$| zkEc>UO7}0NfMy|rmk7DQJBPL9*lv)XtP8&&@}UxTJeoV7i!1R-+vpPm;S4AwN}qH* zqWukjPmN($;Jb?e9pPa_#B+|%0r`z7#mS?rqxJfEX_%gxGVSw)Ew%~*Bbu4kdPg2^ zfru+M2^LE%^4hqFaJ2FPjF)cQK>u&fgt6^2Qlv$*6U_4^lc z+5>$CA^*^&&W4nP!B=LMx6r9p*MgEJ2_+wghWv#KE2tBwrT#_RwdM7SLs9Oyf&T~5 zmcGC1ah`xHjGhkNcXMMHPdS>X`*(`gAo?TTJ9J>wA{H&R_kYARumTUgXur!v$%l3{ zP2V?t7Hjj7J>zP@4JzIW>LM=6b>;Y!2 zy6riWc3+&Ot{{_{O;!|fP1!}$i4d>({8Ynw;1TFt&#M9_Ps#;+0}6%0y}RVsRFIHh z%~OwHnrB&IDIPE3vQJDj1wV=(GC3~ya%Nx@1e&IUt+>y@~ z^Rnu=?1yBx>G(Eb?X_i*Y2h0x({~qZ+GjM@D3}3OjO%}~4dRs;GlWuY+r~RceTt*6 z&a?kA;ZO#p9Hg>F;k5@S$uHyLWD77TcVLR>%5*CcBvkwJ&H;VK)4Yr$pd5^iPf(S5 zUxq7s!EKpX#ZHy1(R9h!$e)pi3Z|6XJv#URh}};Mvpi z^(ajv*(Ol2#Vny~-<8Q+pl#0T|I+ab_dWy*a{5?J_7dqDo}L@)1)wHbtElP)?!11S zP8pPchC7@{>;l*ikm!$zc#+Cuhh$&W`=5Q5m?$6IhYCotWM$yz*!%a2FT`cARnJQ! zjfbcPx1gR~tp;60_U<4Ii3&Ez*I;zSFsR{JCH{viO4WMQnO-^JpY_#(+2WFt6sS}K zo~@wJq34f8sqaPREq%A!9It_d3KF$8-qHQKUK$>*%U`=aTq4=9OeLVETf`n?OQwTk zR94CAFScXM4-nDVW{0uZ2>4=)D=h3#o5Qr2vWI<YAgP@$|vy6ck_dcj#34jqW z)A(#LNWu$Jiy2%L|FgXam4dj$=OZ1}M&wfB#bdO_bk*_kW?KpWv#P;|Pt{%FWmm5e z3x!?dBD-E&R{9TzCTgEkrDMDMrk$cHCR(y2goNz+tC=QdhzgRY>)_-!+&?b*fxKgl zz&4-=YhtcRH#Ralw%;>{KGkJ@t){XT!y!F)x7s!dzDr$KJ`@f_QO2=pt+2WBtLv%; zYt2Em;nluDFmP+jd&4IMng5ptfcH>PLn9y=t>b^W;`2n1=yZXAd|R=*`&`??G60^& zS^nm4P3;HQ{?g{zoDpC|jPU#Jz%JV+%(mbTI_A@a1H>EFxshzLm`wu8DBu~wL+xaL z=uGa=D*J4y)of^XQr;Te9mUmd?V~7V$5*SHJ)Xap6|mww(kkwfI&p%P5JaW*qvds4 z{r4IFr5xw;?2}x#n)iLC=ewqlBHQ@+y%asG+(@r zPJ}D^?@ES>od>a~|E-Abdl}Q8tgnUyfN=!K&AIeUBWdtu!INPpUPjsqi1k7S?qhTh zjW-D2dI9(nrFYv~+p=?P6Qg6S>Z(d}f$$yF(`o17rsFTNe>-3STe55bESG!sz#gW+ zF{GQM+->n4wKE)epaFW`P9EnT_#jXd_H|Mu*_4t0MK;D2mrAL8y#uP}zy?|A-<1~r z5DaO;GHYsrdaCS1FNW5|yGZ268llq6ahfJu-x9Q*` z1Bqv3WZb`>r>hMg(%1;aBtY`N5y&{5{}Te)+W=MZ2*z`&HQTPtj{1`I{COWHm*Pc7 z?z@2H{vQSVYKNfX@QLv{h4*wj1O$D~aD=Ytx&T-A7Botyrf1=J2bY9>yY?zkDzM3- z@_00#8%a~Cdt^YuIp|Io_789;hhZ}veZq6wKmd5r455plEH_pPlQvL6W5^NA|Bmf6o8*agrtS5qM) z{Lv#jdRl;TRfo<7KqyIl^du%Y6b!)E?X?3lmyd~Bo;1J5Uzx@=sc*<+0(vdSc;M}d ztF-??sFph94#;{CehN_-E=f0oI}umWc>dJ%9e32rW&dFfH#ax8$KWBt!$HH8^l%`! z&H`d6#1=?NHN5G&mL9qa>2KJeYL*GT^s&U<7a=BM_er~2>N)xLgJVI&?tUnUpxJGH zt}J~^VG0|z@rOo7u}CA7eY&q|gHc<)jgvk|nS}5;+oYvu#1$~mz&=m8c<6Qze?lT5 z`y7+#^c~@p=NllKGT!Eg{UoViSB0i@i3ZE-Iwg6&hrfo+rCKW1tO8&gHgIufd(9DY z%?F3nPJ>U)8g<+$_FqT!R8mY-HZogR4r?*e2~3zw3AH|6`Kh$qLU7;TUc4ep5KjJ| zHJ?pt5gaA?A@UK3V-iC8c>!&Vik===rn^^KfvxBZOf*}E<9v4^1OZ7rYX8Qn#ivIzg zm!%NDLLE;?Xl>YIo5yFn3LNYE+`tx{A=@iU0WW zlo+>%GZnAPV1h^?te(+}EzyH{OT_3_Jh(O_>}qJV6=NXb*?@-CsvUz*ybmE3Y;bly zDx14BBEA#`Mpz{lE29@=c^Qex%~QmIl$12~JK_}IzxaN?#J6{U^c-_c56^BSx`p@eyQk(@02{h5VGueR zhkjE)sHn*cP(K(R!IgfW#%M^4GK>-)1foq`l6J~3PwGZWi* z3Si0@v*}w(4I5U5^2)aJpVz{S8Zr`~oWz_VR3=^Hv-69@JX0hUoZ0WH*JcM~l$Wsp zay`^Lt8GCcirV7uzQqpE9H8hPNv*)c69M=nzGDoZ0@5OlOKRrhHP);psP&F*9c-fK z%eT4C=o!Nf`;-3}7RUL~?4NJFLb0{qc_bC`a_AepwA_l9OQE>LEjeC0oew8fQvR5+ znVB10AjF*^#%>mZZ9%y%9iRK=qI^8ASU^w^Y6qez30DSiM#viRh>sauVtawii0s{u z-0&TJV(@F;a!UZU)!1n@MQOFX#T?LVq0lWvD1Dy_UwSDPD_!YejAhAxc*yRHMtHZq!+bBQ&=zGZ*x z&DvS@Nv(!u5&$QFkkCNU93zbt{(AexoLMUOdw7<&pyDGXv| zSNk+pv>^(RH!E9LT1VaJoXEFl#28n#EK_Gh_an_Qfx#{eY3HkiDdRuD25M5Ixi#Bb zxMwZ!ZjY4ae!^}7onmuHn#c`E&oxxH#nEs zWSN#p%S4)lP zmK4l0_&niI*y(s-eJzs0`E}{zbuqyS$@6Sk*TefCZHDl*=gLtI_-t!CAxPr7AEYnx zuo8LgVDk2&W@9 z>4$7ay1FGTlkd;$7s+JSQzPbI!@U(*h)v+DuBa02b5NC{^l%nBigQ~FA}(F1}N z9~-bL)(f$2Y=>`H;W6sYC+t;d%gElLQP;pUG6+1H^j~|DuX>KZ{=5WW3&9L5b}-kO zyAErpBx}=62g+Q}N1_FCaxfMv#C$Ik6SZ6rl9kQO>{hszE{&oBG z!ZJu{ELjNfg!ewO9gMH|OwFUGhNnarO^E|majIFQ`j}UO5fqrt03_<7#EzD{ z=WIxu@09{EifLN6Aaiv_QcuBcjm{Tu2H`k=3w3Ha{|{U~oeXlvd!gvSDlrO2jR*`? z3dlF1NqyJS_w7hYJ)jw4nsd?o7${Z1j|#+gidJdp;{B9-;s@_h!!ah5^M|xSWvq}B zM<{6y)sK;&L(nIdBCPZDrI_Q!9WvsU#N7Y&|K=7dF!Q8*%ZoPq$6Mr-sZRe8F_KzSj4&^_|31SJKYzDb>h@x&nvwtYVG{4}=H>^iw4j{syd#C#slaaA8 zV!m=Q4i21+N&(MML4dEG0$Nz)GM7d!jNJ8YtF?$If0p%tf}xPK zpdU&OA_P}A4-XTfU$gd{gENx)hfJ2!E6!<8=E7GE$s(EoATJ z=M~x9Am7@u-!OL8KJnZ7|JY#9v7RLl>&?HEZvPDQYWQcM*TqBs`sLu0x=0y<#LX6< zcI(pOe8@A-wU7O7OnAIgbpO?awogVqU*Er5vRpB<_>X%#j>n?MLQ?>0MKp^3nB$5; zpKzW`0~#%cxsgLEXT`nkqfDn2N9K^d@flZyxp;r*6m?CX z6Ns2DD>)51e<)mH^51pg%o`7qkZhr z?SH$orN;(4;T~HNj?u}y7f1{b)qeJX^%h2ef)s`51t5_4#wa;-po~)m@@5gaNthfs z5IQM>V6W@f*`w=V$KL!4h)bCj09du#X366l+&k2`XLg8{xWR?2hfssqnTSafJg|H z3+U~ApOkhA377cx1h>IJ>Z$K z?w6n*E3Mkbn#j_VoeqR~6uPtzSSdKIX=NO-O%E(y0k*R4AS&lp3&uuxSe8c4GrpbF zc1D1a3gTKw0enmK)ZD(l-V{Hl6yp9-TA&!V4gc#Q<5osc=3#5Yn(|)L9xHFj_QDh( za4nH+^fW$?&y;D@c9nz_uWA^v92Y7Vz~Du8u4<-b&WZ{N^)KibiiPZ;EWgo7aC8|? z%!aIHm11$Mxixv5^`n&&d-B33D^xxd*RLxy$v_IqXSB4YZ9)Sjg7Wi-qcJymI9s^9 zT-R#$LNJomu(0-Y)?de7tD2qDRFodsVw+_3v{~?&1xJg~^Ov`-{aI!~t<-aN=0WVK zS87p*UO%qd9IWs(@aduFd^GB!S1*XMn<>$k1|%sM9Y1-{u=;SKjcw(Zvhs}4H?wcf z4E&fIC=1#5(EZ)O=cb_Ht^w=C?plg@XETa5`o`Z5A!NFtA@p@5j`|o_Bp0SCk4Dp; z0<@#zpgsrz2DFiq(a9rEiL8;{IlKW)kmt-)lgS)D@DXj**h~B8rSj3BGr#`y9~niT zRpFR#s4i%7Y5q~OrGDR3$vx~zO|E{@~n4YNso5e zLKx6EtN(Y3&Qgq#Ixk~}WCxO~#91z^IK&_}XfJYg?rtI&I5vdY8sE5qAxLDh{(zxn z3Ghy&o_u-gcZ9|p^{9pLpZmm)$T>k@dUXurcj~qs1X!-KN$!35uPUTCml< z))9(mv@HynGwH}9JzB26AcbNTcNgWwQ z40Lsc?2Xu?ecBz3qSK~r)%NV&3!WP4L&ZSweJYlo1m2XFMA#P~SPVK>{@HR$C%!y3 zE&0oBz1v-ljc98rl0UXKHZ+b39GsE?RIAbUH=R||eAJe9{*cKO{A<2-AS`F{o{|)a$g4DEVTAW6^@HLHvEv5plTQ0+_9Te{ZbPIL9bc1 zSlIbIO>P-Q!uTc=r5qj=bv)nCg*#1Z^2?Vmx_cOMG=Y5CRrW#jef|igv(rM@gas+C zY!$|sXJ|ZmC2JQ-^vSu}nwqfZvy*qMC=-ElS}HAn;EY0d@nP^=VYVw^C%8?4+uJpD zuDZj(Q3yq3epH&F)4F&ftN`>Qwi{#x3qYi>2*Z@l$T$;Bf~UOTUe{cTV?Wp3Obv^P z;|0ARCNsK1RG&cut2L;u9w@4khYuOdNqu3M?poHLx?3_{;tJ)b!O^WUirOv{MCe1f z24!i#jF!gXo|u62a4lHSX(=rlL9;h_c5jm7~j}-=T7F zt~?7o=veXceDO9FAf8|=S{S99Zt%=hrzJGyJHe(asxv(pBjZHXoOU|Z3}Aej0tX`Jo9;B;;Pkz6SKo? z7K0wK|03;*RVToiPfYBFK{5=3X?$MOvCb|seTVnMKshi4GAb=Ol8JtgCng5NeaW$< zspcDI3OR{CLM?iMPGQZJ!}(aR40g3ayL`Fw)5s0yetYpm2xZGbfL_Puw?*WKZTBaU z6652=oM#diV%6Te`|y*sWgVGn|evt-%E{B=)2Vnv$d6Sc=c z)=n(%cF|6@M?acM3PaHb`9y`(l4W-lm@xTztcYBMW1-KLiMmJxCLWIRfb|c{lgYb^ z{1E~z-w`@8!shoaEk>?C6X}+* zv8NSj=eQvc4U_OaE<~F2;TE2oGao_w*82x?xA;`5x>%swIli31PD+yI2%2;d2hVwI zLHFqDd!VdR=>?$mRksB((i!d`Gc$#yF1xT1B+`mR)k2Gd2ttG}yuCOG_zN+D7`Z%Z z7ZFjNUim3GGjkd!H6fV>m5TT~N2NFs%m%u2G>{)s0sMrAhW^D*d+P0*{Ir@>6V(KE zpAlv*$3pEek4nGR%JI*H{4JtJT{CT3^*I~Omh3iHP`CKOOY@>0Dc@VubK!r7n4hs( zc?=d+nV?U&wVqd@Noh67+9~<{u?6i^+f8hyX_s$_IHudb#)G1hfq4DIH!j=2=Hbj1 z6A!*`XoJ{kTcMD)J=NOPg|w8d=E-q+ZO&keU(_EnH^+RbmXoD$3^g}X2J(^pKq4X9 ztfsA~_d-ig9#;VRN`5km!X#bYhcS*y;B5jt&wNfmIPS z@)@=2nB$W^@evHuV~g+V$9hd#hA9%4{$bP>7}AgmlFi3f%+xFh&^>p^19NoIDo z`&2|1kP_~5F&rle2@Bp-v+Q|j zLS7S3vp#xBX({7cYTO8C-ec@4;o;14$!W2%{b;5|uzo;29=V%?oDln>sVHP$WVdNu zz6>Lg83B0_jcK7Pa z;{3D+-a4JpbtnIZF}a8eq)yNpMEvypXQeIPjjo}y{^C7aPjcJez{4y4AS>Y zaSg_GKi!}nUjwRAf+ciQdSPqY0RyZkCf zmBg3dVJ2UXK^iI+lEhyka)c%vkR`m^TUs>AF24gy-=*beTP@gsFrE@<+33i~{nJl9 zG$4in`C4OenUq-)mN2nL-?Z|myH3}-jnG$@R9^6gfa-)Ii12g+rZh?)`I!~sxU(>A zl{*?yEuSXRn5U-0uPG1|&@2vZ|5)%qa?8(*5o?N}qTY>hE~At8g)g{Qo(@FJ(t zR7it6WO#f$ z9+pga?Fg(t$Fg)_3h^+|W3=pQ;k^%S7DR?G9yy&`nTUNq2b3)Un)J3&*y31p`OI7H zbwgvEUonhH&3Q>}qjqxx5Uhi*PZ}mdZ()qmpx2svu)?8?e6+;Yz|V!G8;!347=jEP zAq;G6G*%b*O%lgydFFcMYTo_0OON01D(&8N>b{?!ii5%GTe5*--0dZ@lBTX^CN3yQ zQsTqA#&OpHF*h~0HF0j#f5d=jKjb++q^q)u-*u`fn?=g4ol2r+hV}y-yM0?QE#%OJ zOUiu*V?A($8w({bwiIN|M> z8?>;scdIl*0SoxHCN(wRID-gQ9k%-vmf`4W3~Y&%F* z`j?t{hlM2yvOD=TC6r8XhL# zf~Gd!`$))hW?J)jzM@I<2_0|GP4`+l2!rXW7T`9&S|l_wTMwdM9-k2RiGc;bQq>OF z^{LJ2;i{)U21Pz=cmQ-Lx(WVD<%MW@Xc{o89*+$W3V39^lHpoA5cKWpTDV}-i9(u0!dUW?ZT*;lj#hop zMt#O3rEL_FrlB|(gzZsM+u2D%ONJdiB()zfHO%3_OM7SMucdy(fn}0%QFT%M^5sJs zSHbo|zm2@==H`KECsUz_7X4FAL!PIeU{46zE+E(O5)TkwA^afPFrCiRB+%p_wgNDZ zlj3&yg@79{{b&vs8gQXg*OUHeM(7{d4q8Xo()V#9BI?4ZVl7}N;a6qq^rT_JBXQ=; zy@Z27YEP=QJ$Bvt?YDXiE<=}x(Tg6t^6f@X>|y@C=r%_umaalHkk9}V+$@s1B5ID* zx$|7cC?^T4-nR%bgu<;a2Qx?QNMnP8gwhn{UX+4iH`QSo#p*@$W$ys7-*tdkzE5P^ zy|;Z$*JsS#TU(YJ zlvSRu#0FrJT?}uF&5v(`ot@fKb+D?OWg~VH;;0&^Bl4jm+#5h2W}0_Nl1OqgAFaN` zOd76z$}0|XhK~pa_ckhRx_u5V_>#c&wFA#EeN+q*1A0rBN9 zSIxbMVK<=03>bbfo{0R)pA1PPSIPa)tJXd@Wky1&QUR*IQ(n+<4|l*12ieN=OSpz4 z==xT&tDe^zS?98oag*>CHrvh(K)Q%eCSzvW`nz|Zhv>cj#TkXo8c7 z34T;EQ{zFZey)Hi5SYMMjEYb1gj!|$`rV0tu15#v7=b*eHYYd7vsZ!Ij2Cu3Osbv& zrC3v23oMu8^m^%(5E?+L-jBQ*_^3{ebQWSqBsg=QbQQ&NE+{}PvAK}$uMx)^RQV3a zht>~f>^emvhMN*^oXTX3l1e$(U6>8FOScsrX%ZDP|ui{V$aTRyh3O&eTw#3&hV&)3uURuqZ%af0wXpaeOg|VTpDdw&4 z-W{AiY5J7lk|69SCBLt)>G+1wDWh+(h2xhXZ}x21? zmi4Q~IuuTEDZ-iF1G zA<-sR6B8)*?nwUdjAif2z#O{7!0hZ2{+DF+?pm2^m5PYrotCAKeByXu_20jFc;c<` zg)1^dRhpNC@ro-o_O_ENkB(m4*v-pvX<-gbU0+ZF6(R4SHh7VN4J6@`=wpff7*qiPebul%8Q->q6(y1cNTwftKyYlet@_LRjz&;QQsMzhVnekq|VOHxkFXIYBeA4 z=?8>5J2Qj-GbX1v&_Wo*uqO9jr5zy(FH{aBN@5snjR7io4kr!e`((0Nw)2uX+v?4F zMONjcPVX8|E~vPjd0k)#g?XCzz^$J*!8E+0N8EMF#@_zSQ$=504JLim%`ILC^}*CI z^dbm9dl?2`6V*AO2gF10^Is#NwK^mQOPsETN}c}HUJSHmsXKHRvc@4Cy}M4;XFvoS zl1LZ(0gp9GfpS*;NHb)Q?0a0_=%ykZ24ZB?A!pgNU8ftjx+{EH5hn*f$=Z8%hq};i zxQl&a-u9K4jruF74;ny3iy2>Qd=81b!3s+@p zkI1P3|3*3+mA}58W~f`$3CK4{v?r<@L=gazI6LQpSNRAzD5R=rrJG4ii9g*(mrp-p z=PVgrJnN#i`KrSCdI6^SUYU{WSNc=?#Gl!6xVFckfb^MwNY*WJ0a8+_VvAV359j=T7J`B5E*46w`G&Fw59+o=7#yh&f7*L98EQ1?Zib0{?l}(Zod!|6IVKM4-(UZWdIGbKCO0M&xV~K zpifMkb`Xc4gm>y3c3+(=dQ7eG@YU`@3+DT@QU64dT;pkRe{QP-&K_r^P zgJp#Iz-PRLHHU!v4GazS)2T5m_i0^itwQddq~WQb&*4}c&Xb{rrxO;yZi}3+J0h-y z-ROT2c|tzPVzQCskEyQ_T9M*D{4%I=J@o8K$fGvL)ro(+iokht>_m z3#ZUV*V)6}!*r&KXP(qa_xr~B=UK`h5_2xb?Y(&VRdVrCUct3A;pRT8u%}=rQTt*Q z;xGK%4#I-2NjXA=O{yJ{s)F#b3H4YA@AbUOCCmR{4iL=q;k<++Lg~(Ga-8`rl>3tO zzBtm~FZ5lZ1RtM#q6#Wp#-kdTjsLZ<>3$i({s1ni>?1$_82XaO%~LjNhor+#Qzr@$ zpEaqfX42W(8eU@{SGWQ1P}un@MHB$NiGOMI6`#wEn;hSs^smbl&uHDfi`YmV0mmH{ zzk2Q3XDG@!oVTO0gUt*v-AYFp^u%sMuC}bI)$Dp$Dc~Bt8n1s~2m*$xX)hdUZeqHQ zrz7$}liRTN-026z=%rmfhi+-R)zy%dN=C{k zNwQai6h&nea%77fWgJR&Mgz%6AzOv)5yuKiOU0pOg(MZSQiMd@&yT3<`hI`E`~C-R zkH_`63Z3ye@6Y@FdOcsy0rJ)vG@$hoBjkdw`!qG{P)pS%TZS(0m!|D$^i&-dI+YDx z$SU6^Y$k6x9j6Wu~My`G{9~y9} z7&w$Y6rzCdgn#YV`Z~{;8BX8`$ z+-qWojIB$#iFeI&V{}W+EiDS6_t#%XM_*C z7rcv7$kR*cf)LvW3KfT7G%nR~kph#V%uE;uZf=w{3LBIKC2-*a5RZDDet6zRnDv9@ z1(}&rMo}*-b^8_xotA6yNEyB^_GvDC@(j7?M@94!H0%<(sGEn4JiAx7Jdz8qh7s}Y zfu$VTcO$GFq+%MJy}(sJkXGAO^Y5xx71e)=Hl4OT0d!C%Mt0+=Dq@`R%! zH7%_NQoaLeBN$ZR3wya$oA2q1#MAtJc9*)kIxu7Ns9=KUJv2^pSk*e{68a?kc@H_R z8;<%IismFHD*2Z-kuz1sH6s_tQPy<(=$*Wu+#PNv9v>64NnWor_5ttTwXUkq_!ADq z6@(3i4qRLwqFPt{?COX|1;Fad8714=)K-}D??GdEXCw8oCoF5|wfh#GC^bf1?ihh} zo0W;^NYn4MnpyRpccl-IaVW`FDF+7!>&vvKa{M+uez1JRkT}gbA7i}McueA9%`QHz z*WQWyP`s*Kv~7tme2T6V1TFEj{KpaZhZ2@+L^fi0WzLC@;$wAq(4EvpuotL4 z%b>0WH%Nd|B_O+`)f>p@!6}rhHP-KAP@k`s+d<3fyyrbI1w(g+4FfjE+t6w6Z_+bz zeI>MdGu|-oqs_YCxX&}C)>S{{M`e`cp*R4lyhMBC?x+4M$f3x7Bk~B?OqwSrC%a_S zD(L)pong1p-Ls~y0F-Tn_@T^;-ZX)5C%?mU#hXZ}L$+C^cTrEC2MDx$YcXYemci{@NdvoVqEk|%P#~Ss| zc9MZImFwQ>x?NK-^-2j;yYuU5&MbNUQ@hGj9M;sEH|d!aT=|-W6CI!aK7mMCGckcm z!Ki%#ffmN@&qLSB%T@LVOkBAqyjWN*sq0|~QS69tZZKjhd>!lb>;9x0*^x)8HQS82 zrsrLPCJwX%!V?TJOb5A?wB{H2t@9W3PA|}3U|&*BKor4@9AcNn=Kx`SN!{PwMrPpv zsg|g|L&U~~=APlq)nlt9mz=*3q_*%C5gD8T9)Io1heV_@5+NtjJU64{wqr_AOA+3t zCbevCH#^bcZkfO2&i__)cf0*6x~neT_0=T}!VxYjYo#)(AAm`>-dlcNYZhrli<}}K zB00lU0#h}0nfs*2ZNH$i6ElX!j}X6rB!LBIcm3k3KmqawurdrNJ7ZzCLhJHn9S`FL zwzcE*7{rHdI7ME-{5ts3B|TTU>i?>$%}k%7BkQ^@rGcauh?-K5s!T>zyiQ6Mt`s7X zFle3f^eF;2LbLv(Bl50FO{dc@A4pUG+4p5M|8-Q(3M2r5k_D2G%FKJcTEo-Jetq0| zhCs7_ftEC>%?da@n)@4N20`Fg4nQe8tDq0ku?pAVfeO*?5uol_>IceP(}pQzw*deG zcr6%?GdQ0>c#qlJf96@=jaC5l8}Cl<(4OVWI2hm%W=IdeEd+JauD)>g!nBRvyrd2D zQ|wMeohO%f>Q_M=BfDY{d?|dD&$bN6_OmQ7h^dTXZh-+}l8|GmM4a~*HG`-xWN8xw zHFll=&R=``H!QkObtV43M%WDg`A5 z)8e`agU10>X=wSaW_*)OYjFlYIF6NzVJ*`8UKf>~U;zmNx3@MMkS;+%Og}RE%QS>R zABHCc>w7Ru!DFD;)?IJMsoJRz4GLbK5bg8eApDItvrb}-!Mq-NiXdxZY(E zjLB2~nl)@WTDQm{qBe*k*9Jq?b9+ViDHgdYD9X!kj;ec6ny#(dxjwQ0PGp$OUfuI5 zONB(ztbb!)Vqj%I&6LM(TAal8*7I9ay^u!@?q`ta;WkxxTWq8wJGVdWKmvoGGVXN8 z3Fsq5CwU@uY_iuaS;m7cj=Eg4<zQ%+&=QRu}ulsy3pGTKud9Kho%%iXx*Vr#46FXE2$-NLrPS+>*D zL6=JKL1RRw+;Q9j?r@%v7(kSd9|(x>QUs z)CFz|(0RaqH`d1uX&tDqH@01b)}M>rs3RQ=_C=voOrzLTFt(I!u5~!OuKpv#Esqcx zqsvM;Eiw}sY1iQ2);x+{U3Qp?JiWMtV}a9>k+J@FN^mt|Q&FL6(u1CS2}LrY!T{Ol zeHrwBYseUx01GWU`N98r58TcO(gW@81xD)K3x3!~?!0DrKG$TBbfql7tOl5Pxi@i& zYSyL6WGP`{W82jpn4-fKsnKQX^V69tsoKyGNZBRCsdF;;Sy`b13(hWoQ)GMCoKobj zLNz4}`~be$0T9~C^iaQbdT|P50*w4%cAw(+t&)M2l}MiGXhI1(by_lE8Z%yaTiYtn zmPdBxu%+~4dRB-~wf;N_r;IOkE^Kq%q558<9g&c}9YL`SN0 znzpXe1pLq;VlCjOwhiJ3K?#&DkUR+Pydv5vq=kVQG`^L2#2!S6=uMUx+~izI4%G9) zTqUqxgI{~iiuaF|(JXufogCRf3{;Qlakno!`KaDQ_gLub$a6;otz@B_y8v@I!WFj<#o zg4-c7Y}kWDivwGx7AZ$k#lG*ZI#2O4E8bADW+-ujL3E;d`P{zm$zymTr`=v$SZ%Ps z{}7uBsSyJ_6@XKRQT}N&QNlu`*ag6UO8hfriLaE6qOFqKd|9?Y>S}H)j3^){mf(B? zR)#re_r{mF9GaRTrEwyxAPJ9E1mlb&9AbMWG0cW*bLRt%oCcZNV*a4O_NXycpq@!9 zJ`kf~Mr_Rp-<^JbPURN0LREn$s#0fb!U51E(cZfl!zN1qyXR0`H{t$`DhJL+saHK) zA}_Wu849-QG&UFEy?Iiw!s~lQ;^%OpCaPanG>6?GzWTS8QW^a}&?IB5nlZDr(l? zv^&R{IOLfpm@yr}AOc}gpWjw&_Jv7GzSx9_b8=>!(aYUY>D}=!|KoTkZ|v$omBRHH z(ZvhSKCoY^VmZ`J-I(#>UzPFs5{qV09Lthgy9E?HJ#E5>VP8W9d0FSI(XtKuF?fMr5z*e!pe9#oBU}EQixS z?PcWB;N5y+mtZhe6X$VkN4-I8OpGMc(ffKY8!3jw%lX$hX{h*3VVHQFAGT2T#Xp8~ z1y?LBFroT&cB1rQQ+erJfrQPs6FSYL?>Wkq9S+_pFBIB_D=w7f60y$E*nmm-M6`Fy*q6f?{gYc7~_GSEukX$v6#NQB)LXR+d^KfPVe6y{Kpd*?{2Mw$aN zGZFC#K8z{UPKwukU|3)Ito|O=urp0#-aIJsIi^}?iyjQRATp8L|77O_KN6Em^HZ6; zY`3|2jN6gH^m_`L12X>)B3Awh%q~iT{;1DEYz8- zNy*7aGkQvubxF?U?T~H3d6cZGFpv1E35IW$wzzV&(sJ&VEen=fK7vWBA1f5`m?Dav z7BgukA0SAQBJE6vBiaU=WJHlstN+#mdVvcManRqDdRSL795shrzB{WeXi?lY2qt8h zCs!j7TZ6%QU-Dg7YxdMC(?68xzGa7+V&Q_oB!s`gaB=wK{(c@n-zwUuO<{8D%Ss(o zeYq4AIWXb~wo5m-MAURWxv@s)pD=2GeKnjU#EjD3{x2{hzb~z;50((kNQaHtCt%s- zjHD77O&%V?2_V222YRLi?!mNr zba%=D=#MaO<$r{h7AJL;vw=c{&iEIi*g9REqWgWp8esfG<9m}|Hro6>XFhPmV8>LB zgO}|z3WFl-&uFj-MoGt1_ZC;VwjIcEqA4K|n3Hu1^It>)hXjoFLjAq_YqdFW3u~I``{A zWrPz8l{_n98t4XKJW2YzEdJ;Y@D^+HXTc0}^uKN6+j2@yd|T%p?jr&ef|uKuseY zK>!T7KOp#2*u#H92SvDuf-zp-y@rKH;Wj8O@RsV^QaMqF#{vCCFnj{;%*VVsFjmAi z_j7u3h_<}Ti&fd~?H$5yh>$uV$z++&_uc%D@T3I2k9fHNj@X;YU$xZQAI?lYpDDa; z$;f`RnwxBTVDH{15I47jl_~Ol_b&km-I>Yu2c%kJjNWfVzL;fvxeI_VCZ6v zmOGeJ@;0oh;8&ASR3tm;Q)>XOIvRQn!7h(&dKsZZ35s5ZJf~q4Qkuq!o`|0R*|i^W5a%t}qBg!sZH6A`E?D-c4FKvU!Jt1#?^Q*L= zdy|Hq5_?{qhz`AZ_k%E|pgM(<9v-c|PEe5km;7ggXyAbKk!$nuuZeGIzY7v5HI3L3Xt0H*rQXdiB+!5ryXf_x-$is~2 z9iQlI3X1^aYp7qgu7SO`Y3o*<;?~Ov zTWV#|7CB{m8XzJO*uwnHBkH0mOos@TGryE2B2py-&G8=w3Zv`yiRV7{C7_#^)b}QLUD)34OUWoPl00^1XvhnM{HuAHd2&(O0?K>=gPB%!igkaB2D-@p!xO+}WG zN%P8!zVV?QLs9>r!nADkfRNLJt;I=SjGM>{HP}DiNmL~49<*h`vn9!}#jUJ{-J4D? z%L1!b{ET}y>>!|4gfS&SrzPK-Cs}#*%yBt&caun5H1_=hD{%dBj`TXk#`OOEL8(G) z?kpV7ko{U(Df|YE>nr1PRrSz$NlJhDuuOa9dSY`Zzi1&bI#lI;KsU{a6vox6Sd< zhp+Sm)Jh;v&s#8S{>6;+eQGI%eOg*x9nMz-Dbap~@~1K$`i0qPxtTU7QD(kPc>4AK z2efh$0e0wZoJ{^e8+XN8))+L8Lh=u;BM|k{DOkcG1~C*Y*KW_+YJDMDy(=h&e*Bz1 zE>mVm*)?|+ZbV$D9L;eMy`6~7Ix(^HKh7Os@L*j?al=pB-yFF16b?|Ll5QI$tQj`> z5AgmuJ8_!k)* zM_@LYLS;=VD#CyqW}r09*&74|0?-IyNDV7FqLbV~K4-@Rk7U>?6qQLGC6Q!fG{7n6 zf7DWNtWLOB4TC(!(*#zU1Bd`^9U=&m(PM>E#y6SWHJX(==Z*CX`DppKDi-tl^cX#bosl9Sr=INXs6BP)O zu|D-2?DW@mT%90AC?Bgw13lN=J@0XNbNeeUcyz+%$cr(H#z#lN2?Rs_+50kvqaB!T za@2BGY$rd#;0#;ZY(}w!#0l}Eb64t~ltJn9pXkmoqRC>e$Gn8q;>3v)pj^YT4#Q21 zbD${9$r&VY_x#fKWN5TSCbrd4`#lva)8E_AtyO)=xic(_@KcyQ!+srK$KV8AO6YD* zY=sh~;>eNASzeH_qQ|#%pk^KwG>)8_#cQc%d;OZpN-m~icfL?-E^WxF1b_B}OF7K* zqsp_n=bj}~OY;##NYHJ#|B{M;l>6Y?vRPFM_}2idR3E3N{)@*r=s#c!7>sa6!MvG) z9|$dwP;*Z52>DiXIpX8p12jT5Yxs6;`DSU`i&-N*Kg=jZa*^gi2tu^s)tjB!_x-z@ z`Kga^HJNYDKaz+^(({h@JnY*~zJJu_P+5Wb5<1D&`GJGJEi4qsDil6e*zQRLJ8kzu zYf#!-)J%l!H3JR>pp>G6#bovH0(hXv2dqTCH_kVL+I1`6Zo5bnGvOnjeRJ{)xRqp| zV_-&`7yQh|>Sx2IVC*NseGrOi zU9V+~;31&Rfgx_q=38racoYu&_Gna_=QwT_W)Iqya6p=I4uYoB9ZYPzHh1mm-g*DS zob8`fEVFXc-`!w}@_bAAZ;n=u@*`YEWW&*FFxAg)6`$@jKzeA{P(f}i*B1%| z=@n^+>wWj7)kB{dn>qm|{|{6ZBU6qko8~zBzK(Bp@uB0B)eN^qH|T!b-7drW&E!XP z+BnTNm!AK3Q%UOre$}!3VS3Ga7H)l3)sr z_*xx0;@2~{DUy9*s{;3QSUhuR|s%U?_G3-GO3TBA&nnQ19-!sS^9?zdj93v2$k(8MU#*LJmY-JWZ#JekNQtweq9AE0QT-Z&2a%{k$;QL`% z-oOv%GY-NtDXIKM%ftsi(zXLn&Tb3=+;;{nl3#*^F2QX}qG+Sopbdk`Cr#K_UhaAe z$YaZpdCTrvd6B49Dv(eS3JOwRqP_z)`c9R$4mu^dIME;c_s`Y$!igTFdVu6o&prSGah5~2i zEqW_YMISU>gc1$T(gWHlsre7WqiS!s*xTox@W*ETMrOy3L8tA=LG4OoR1YClJJC%?Pb!|)7bDZ0_k;1t?yMy z_$7;`+qEil;>~qJx;l-@$Zs=nBeI&2-~IddA#6dL@yp=~a1Q&!cnV(_7uMcoMFTNUYxyPre7dI*!xh9b@zK=DcQ=hR*~tOQ!+9!cu+MgO z4$J&dBK*le&qhU|{$ZT7(hnv<)^Zfh<5M{{h#Gjv zC2d_jlQ$vFdeiGPOOCWIZ=Vh_n^N{~$HqvMq)_sqE(f~~gK^ycuj}iNe$^6@GthYZ zV-q7k{DYvX5e!Gf~>4 zsG8byZFY;qpr-p;S#Bj9c3~WDRq`I{-ymy|Cm*xcpMQoe_YYr${Dc~v=r^%_Sb1q_Pu?f$+u`mVJ;bhzX%nZv_Uqc# zSdCm%=3)*ec<-*Cjr~@=nA>wB9})6^O3!0E0m8No=1wKM&;8`g9Nm$8X#ysFe$pu1+#e{pP5%Ib9Ew}{(2-H>anTFJ#KXNa&$zNT(sup z`5!Ke?i!pUWYE#Moe@3yr(--%`M;_j@*h=1qv*xqHBgDkoZ27~Fk$&H(F1S>KrvyG z<1!a|4ZlN@wYU|W2jETwsoaC(Zb~rgUtBk`1#KQqDwAeVkY1)@6fGy$)ZV^hCY=E1 zTc>vaeur7FguCHWkKvehv>o_%z>j-|e=QYTIG+)7vcCY#)A)zw~AfD&?h0swpMG~_zK zmU8NlHd_Jx_9$9RLR4M5bk@l`ze*Jk`f7uj)ykci3HQL;oR~Fx6VdHz(Cc}fv97tm~6}W68=o14ipA>ofeY(zRmq4wk~L{N%0k7!rc=P zgMj}Dv&>cN=e9aJJ&kJNZlWpa8Cl8?+Y1WkWB4{1RkdWLTSO9;(7-+aLmh!zogSvH z0CHi()3VuJJ2T6IT^R}1yZHEUN?|mfV=+(uxknW?s6u`=5hVcC39{(*FM19QxJ-hk z)zXf^Hx6?e-i6tN-wJ|A-^QM4>|&5?!rSdB^mci0Q#eLbv8!hLf*J70*j+%8Ms_a^Rp!aTH$VAwVNxV3)l^c>no;A6yl#d++E*$)cV^K$6;@imXUF3>FX1yrmpP= z3mEiQ%iyg%p%;`BEv5EXMHzU_4JC+|{pnN!lO%Q{Y(&~M1x2+gCS8sbm?f~m=K|jB z1t+AB<#w-co_mM*-wO)t{iOJ6)HQ1oJM-sPyh^*j0qlsXAyF_%&4SMdTiXEnN6|2XgvWFJ=D=4P(zwM}sYq&$fRaQ0o5EOVf9r!Y z`V2h)0C=O-_!1xe=FOW6pYKk*>^!sO19)X{-w6|dNyj8;eir#c^yk_JG5!J)4U9+# zpFwtz!|~(khB>W^sXsW2mIR$^$JzK<_s_yNHS}V$Ff}t9D#=9Mu|46y>58|0etsaT zz`0O$;-z!KP9MA|gWd6_x1!izu|RR3q1zfNUcdMiF9vlfKY5uJLu+U$1ptUDVzj#! zgC@Ie5t3f-A6-P3_@v(kn^{28KA$#f;%rvEHk;pS#NDVZrG2|)&Z%i-^XIjg{bW5w z>0*HP%-O_MA~VJTRjpzl^mxFrEWSdmg|e4^l&3T9z6^qcPA{ax1~PnyO*$Wn^Do^z`DY zismbifsug+31St;-Mx)Vk z9{**Vf9FG)ou8Bt`~IbQ_&l464!tWULCVOn5K#x->GCd)j*gfxNCex-$xBG^(T1V2 zGbpu$8wi*IsJDPveCd3sB_ty$c|USLIl&+cvUPy2(623Aklli|`lofb|S+LXZa#O}&bR-T~o{=F9 zOQ@eEjr9v4>*M*lYokRyQBPP~TO-``)Tu+w&J1BN%GOU#5qYe(Aq~bgH-#7&M=u2j zN2j)=tQ87`V;tK~__V$}?t}@<=fvyC4_w&!gx6=l?r(Muj^vj@n_bLLw_hKvI0tyK zSWs1g=h*(bx;y&RCuzTz)IG6R97WM+FJw7?JolMC<>B!Irbj2&@Ka=2YlQ-puRu+4 zNQ6D(#(j|4OO0KMcU5+nm3+P+upfd5KRz(sH|$Rm=u!oJDSgMcb@E0>zF~YGn55Ns z)X)I|%}w1D=w~8yaz1?BN*V++#r)_Fo@LBw&D^o6?m&*8$st9%ULsguMAd9D6Eky8 zc6MHV5&s7uDs@&ZTb9@zoUa||cE$ZjVn_W0!Q!#My08Kfow%i9DKiQlz@{|EyHWdScyq%Pvx@ugLkl%fJu$}*aV zNTX;|iYlJPrfEpGzGaS9ONkv&Pybzi)7^WCbt1@@qeN&CXV z1Jypu=zWPI!3il>)7DK_L)MHY+?(eDD7t;&W3*}RI%1+rNjA)BT3dAccJw|0ribtL z6p~0Of7@_>{^|xf{zR6Q*1ULwjyP-5t29nN23V;5S%P#pPcQ}&u-McVp$7eaq!Z*k z_Jc1%&T-V>sV8z|nbbDj)AVOS9tLbdVYcFb;ld_E?Cu)%H}kUj=wUa<#t@SVL+kFI z9wVC*CUAh06Y&O&fvKCH%Poq@*3oYgG`s}}HUBh3#NK{f-npE_;Wx^iXZG3Y?;C$lc~?H~ zk=8ur?#}gfj%tLTe&VwHM~!)A_tSqBk%sh=uv37l(@hh*MTO~;g7b*pMSmmT&fvBm zUdJSoQNrf%>JyJ2TS!j-e$E%yy&I=)0+Co90yD{HGN7*`6WADlD5WsZNSEXVWDk}U ziYGjw|T96zkl?ArY4ZsD4I&= zJB&hbv+6}1MbHYogO1kAU}yh^xjDE0{bdQZu~s2tnVGTs1n|_bH%!q96KF|2%;wiY z$H0ou5%MhtKcPn&jF$D7Kmy=yy}V}T_Urc^o+yqGZ_P@NPoeceOOlZ3?GtBRQh1v6<-@E700pGFW-$$VbB~HZ3=taGMlJe9B zOmL6OsQHMCh~#w!1qDr|i+%N|7#SJC8)_b{tJ5rLgI#QqAw`t=1hc1Cflc|?gd^THAb&%!ek#WFdab{JI9_>MHwX+v?qoz(a8*C1k zkQ(N&V83_~@8_Chq_!kQUu3vBC6iFpnsc_;MY3;|moKN>dEH_hQcU}5{M9Y~l0&}! z%|V>fH{8+-O1CDvyuc6(Lapv{BHZhd$9AkcFi{VrS(mR)XeYu2pgiFAQony!(Yn`m z#r)fTZ6L~4b3zd8!+L8qJ4=Jwx<`3Wu_2p?Maf#=imknguCV>HTFR>{H?^Dcw1f)5 za_}ZyMsjydPEpH?4BeU!UvbJRm0=SIeDt!?-`p;42j$ev^iMdvbNc5{QG25%LX9z) zq#;OH&dZ&3R^RmQ^vtx^blIo208IH`c4C*WWhARD-pOj6FV_b9`_xTju-(S)J4s41n;cB4!mH zSN#g1l7);59HyV%Gf?h;#`NgXLL{wCMGca0{@+rKFz_Y=j#oqo3lYx_@%)h^?*NVu)^^#QHBnjX z-Dc;c=Na#nb-&LrkKsdh*w(n9#qfsv;d=Dw?np9;)TVH0evRjSXcdkyXZDcF%=CcY z^A|9|BZqqbQNRX77x|tO*l*VfY#wB8;QP?ol;s}U63Skony8-&5}OC_{yMTb99}REp0irv$CZ(2ZO3Cl7yP-98#=^+M!M)%`iu2pV#r@ zpD@nU%x!Nm_Uv`Swkq3aSj6 zd$O_V!0Y4uDLU3CPku#FLjU`?8E~nzlSyjaC6O$|P_+*FX$79Nvp}HZ-Bwb`)fi#Q^Md>NR8-dXf-p5TbnT{Tcou0+cD+_cKHybKNxM6YJe&iyXV z*0~gfyn8Dh%d(W3fS);hrZu&}c&4JToS2xPJYW9I_!;}_lQA0pYWtR)SJGxn80=I| z+*OgQC6rfLB6=HS>5}5&*BgFU%q|%eYP5PvSWZ(W^JItuHesqr{bjfVid@;JCEpK4 zgA)bec7eFM;+YyHOfq2iNbodf;IV5%+z=p1;GJpZbb|DWvl`Qq{8z6C|Mzmq!%tq` zPl|APC?TU6PIkAm3+6TIAy(vCBFsgb=Lhh9jru82ItGsLvrwa}adikQwj&|)Yw^X- z)mD-SK;mpc`Ew^497voQb5EQDr?po8yZ^l!`{+PN-f(PS>p2jNfsQ1<?eLy* zqwu859&|r>@}&e*+j2Zq-LdZBi%FcJFzWpNK`n&{PG~e4z@sfvO6QKcnXTV{8N*Ti z(8GMJtP4Bw{r2cAuAFCt2hP|y#sW>##%*Gk>y?is+q~SAjb5e)Xuzo^_jt18p-~q- z8)LSroE*_5wsRvix-$ul5?Yy zAWH7=o)q06yA$C9a9hOy1d^txHc%E`;OrIc=M>$1zm6(lkRaJ=1E>STh50~XP` z7UOvBc=lrH%qt+%8brc&a=PwxW~Sqc6zLeIkRrceaGQk!8!EVLW7f{!C9gxgzk(;( z#Ddv8Zgkdy6vJA%h(r5niR4#bs;a8WhA#E5thRjBGXkQHbLJ=C5a)57Bv*kIFJ(kw z7PQm*&4;hR?}W?k+O-R%Dfh|!rh{($R%Z+wx=@v_yYlY(v|hvY@M?ioW>%xWU44#} zWbs<0b_^ZL3(J&jU=}#3I%vvPJ!q2+y8^u|l1a05vv&NY8n)LKF1l*vm|3vPmuOA6RtWhrSE{&pzYDkauZ4^Cu4YvGf z6a4*mn?tut`tqMvmyV8w|4&ayN4Ms^AK=jx*B1s=7LuCvx}>h!Poo}C#S{mfGe!AZ zyqgvLzzfy>mtvdy$-6O$b%wq8)Q0)%O?NLSgu_A++eN8yF*B2&vY#@46z!zd9ng+o z@w&a?fjue`l=y(v>I=bI8*(~T_8HhaV#;+kwVenA=Q_XD0Qyx^AvQc;GWnWbmoz)@g$EvrZ`Oq-&7kc;Ss(ZI@pjBV*Ikj&JXBwJ-Des;ZPVXkQ=y>( z;myPzH_tYqvD(@teu$5{J|+=!CszO&kKHOv z5A^yA!U6(qfw!jt>%#fQz*Elwp^GY#;nis3YN&S1p@s$LH*NR%1r#6ar*4osv_OjX zu_!gN;3tNOnT^6f*E0BpRo|q(=CcGckP5TjOL1ih7 z3_bF)4CBgUfL>dv@x!Z~(O2&eWAIzR$VkmLlG?V7>*Ah0+A^A_K<@zBF2NMIk)2`D z_2(Pu9}EvWZe7E^@NAfV%biqf!)Bx{V5TM-S&^4_!@6}~K%_F^89|~x$A>)lcYukp zlO2~az`_$)0Y3`cV3x6XVgA+8bmp{II_|S zZ8n(t?Mn2?Y*K!By5rAh)%r4z9oV_Au5hD96Q;LmCr(Y8KLLvqh&HIE4Qu7m8}Hab z;e^jO`ohcP2~09Y-VVBy!|p>C+>`N1R7Oy@Vp#ZEDkB>}q|Dd8KAY_cK+S>k_>F<8 zuu$nc@+sQh1ggIE=+AL1wc~sYJVc!4xR+XBv@XyhS({BOl~ZQzUKbgNCyERQ!#{Rh z8+-`KAP_(rA~7c0K)W4ikyg>h8wM&{#0xZa99TBaajUe0a&akdw<;*qGCZX}cLGYz z{bA`kPcZn!aoqdwH!JaIKtqH*c|}Qx;0u|Mw_(jwQrDroaNX+n7QRq>v{gJp;+p$Y z^8ce|A0EY&RhBW1+^rK1;W>dgANqwjU$IzSgfIeui|<1LWvmW?_hch;DC#|ib6>!- zC@$C@8K&`xuC(1=%{-R|KY?Uz+oF|`;p!y8Poa9DR!c@5dAl9A!3CCn0pqQL=EZmb zE`KF$tFgKztNg{Ts%7uceQ`e1U5l1eNe33Sok_*Oh2OgcC6m`8H|L}hh640K5wI!? zQ8n-^eW^SfZJPJE`TLZ&PdlIBqF#M^2Ve+c0%|(;zFm50I-8VO?U*67$xRZ{&5vp_ z5@L(BPW&6Dz$tv<8@%FDw@FDoc#OVg^?_SkWHbrs*QI8aD^6pnip5U=_rbCrxOaOg zJH9wLdilh}#1=33E3n6KB#L|O`?sIE6fK=h(st_iBLDvi9!%_qQzR> zj)y-|?<2PFlFG>GmVYe8hCFuZV?4qx#`1L-7l1n0F~qxiwN2sWNNV&JIk|;O$S*x^ z^&aIjB59WKD%K9068sRcoPOL?5yrLtT45r~Rjw#cq+0itd4ovp(zg@*d4wGU4$$Tq zZ)jkv2-9Z6ermRb;I<2qVpuGsVvG$868VcdBnKi)KksI#m)U%^1{HSp--iz$UZg~L zM)w0^{`7Laa8a#k{?lff_dGp-?nUYW_L>`a4%kME$7m3I?xv{GqMO+1Xb8`SIk^po zj#yNN)M7uDO}Q2M`S%Z6c29yfZS9PHD%Dy{R5af?-=@@#`}$6w&u%J&?cyl<0yxl^ zm^(U#HNEx>bd|>Occ4*Vq0((^x1j%^)#l`sV0yUPIi-eH_!e+TduPOwwe$;PpA*r! zn6ad^E?>(<%8Hu2`~lz$=tCF`lr&PcNX{otd_m*ez{5VAJK275(8Mp~$8W;QuF4Ev zi%SHm9kFvGqqrkA3`mz|n~u>!E4;3lYf;d&A*RN^CrvAG>LxovNR_CTn9}Sr)-j=Bs zI^GFd3lt}O^a#L2mM?Uf1S9VTLerppTPPV(3;;9G+e0YF_ z2~-!03F~P1sE6(G8QC2PCn*+6tn-mlV+>}xOX}{I0anlER(8ncCidJGx#YG%tH!e! z77Z?JOLU-WJ)SL^ojW#sveV7Mvh6oo2QzF+2{2R~`ct1>D-q=)78TTJi!B6)ccPZi zm3@#~)mfqa>lj*g;UPZ1+tAD*rNlZQ)f)R<@mix2-rv2$w>UGxlqLS9uD^1PA^Pps~j~qboh~jkzknySmnY}J`-8>{ERWa^x^5m8G(@nw7{WLmT?G+_C zTB~f7VM0v?Lw*hePC&-7`hLLwLv7d7si#% z1*`O~fs@C^U>86U**n<0xXzM#URvCA=lofIhU1l-L9O^Qm{+K{Lxu+M8u#wxP-SJk z=((une-`(ESmhhA2pI9sMmn;>dftbR$xU2-k*#XOKHTb>l(;Yb`8&{=(7vY$%!i%?5Ji3~GI4A!k$ z|G~A9Pcdf)!vtP`=lHPAXtN#G(_14_5hK!Vh;$Cb3-W}@>#zTFO}}Y86zRsPbU>R; zi4}23R}RU zgvqoFwaWm6E-i7+M#_Y5v|$ z+)Afx(zst7LL;?>X+0Z5d!i)oPvmid zhrWGJeIdlr^gz5X{e1;fx7m0s0K*JRI!aG%y#BnTfFItxV7jJeShs?mY{$9S$D{S~ zY+KD{s3{nZ-@U4aaNW4O)ge%S&Bocn^*M^UQ1nGv1xpjoYl6NM;JkaQE(t=tw1d}E zZ8kzpUNO4)FX)f*@{SNW&Zf7T$H>1g4xP*`Gi8_pe@PBiT%qz(A{Zunl!vKnW@n#2 z;#OQHNGVK<4QfxqEgbO~QZcHVa@ksR+58wJ5mjStC>KYO?He5R=;JX~+r`H=+EbYId zCa|JmpDi!6FpV~iN`JPCGvGRH5!OIR2*KG3n&OwHuQ#}$bz}=qs8K;2K-6xd5T5IQj;r#0Al7B*zTd-?5c2-AK!#2R6k{Ag zRcMcR6g{`D4(T3of1<6fqK!lW)w3!d1!g0SqCyhw$L-V`0~aZ|K{VRl$+qCGQ|}7O z`U-~U{iD<(5m8a-F&*sf`^pY%YJ_U4>5WaXO2p5f=&<@}{fKhcs2|uT8DfaJQrMoa z^`45nA*#?j^zmdP9}xT@gk(LFyAiX1qbdHguCR)a*2x~d!_6P+e;=7gI0)L&IX=uf zFHk)U{D;uHf1q!Ni2xuB9v)nKv=(Guqx#DrZ>sWhJ(SpLP@7ZyXlT5-E*z`MSge5A z*vu?S;9^(=w|S?wjem~L6P*96R1!0v6u!kRVPhNTgy5jSk;flSX0}THSFfBvp<8P< zHdMU7E;!Y?$wMUM$NY{;M<d3CPTw@S8li}$SwU(Y8h~8oOgHJ!y7IB$;nEO+phNV zEj-9LAJ3-LhCH~jRwUviWk96Upe4a<1X;C655dyL7*}sg zasulJWRSp)7cPLAB83vd>@)TK-cr=Bw-*FgWc}2X%K{Kdlrd(-&PDGS#VuH z+|-r(0W3l!-6ZO~^Go&Bo2a$^4LtA5QewEtl17Z=1`|WkhCf`M<2Uh99E$%6ik0pW zrRGt%w=~4&-NDE-w!7HD?Zc73y1;nR5adp|uQS+9;dpiPpG{|Lp<0Rs=J(_b$waNE zGIh#{5<7Qxyq9ZKy6=(s_}=2Tw@-e!df0RuTzxR2bVg3;{;*FD#DCte$H8Vy)GS~T ziK0ROI#s+)KT7nwy0}WV<}P%gxpn&;BC70Q-}bwnJTu!4%D4OHg8GJTa>YfQAAw~} zRSX|=9@vF5inB4arQZD|I$u)&-Sjfh!s7UT)aoA8fQDsLIj+=ajg3^d8M+4|NuNJ4H^T7H4 z=LUVJ)m#ug>)|pmX87mZH^$xg@u6csxBI(-aJm2Lc8A7nE5s9umHWA&HPH)2kBf^O zGDt1*6YSN^9$uP%gJ-74v-FN_^_d2*I8o~p0E-lz>g{Tz#y#t_UBz%J?*@p5O)1M3 zTvg0T(68q_qyPB<=D?wH1GLiE6s0rfV28^wpYU{jeRtJhOtbw(v&v z?xpX}WM&c(+@N*v(Ibdf-qjv_Gx6k0;}54Ri$;AI6PGz>w1G~bC3I6rZKUq?;Fe2z zTS}u&oOI(Fc&7~$^-m2OFL}#Xe%YV7+?Zm@nX{@UfY3UEUIjuj?v6Ham$!Azs2n>` zYRtayzFdtGP=?{?jBfE|=my@s zfX9nX&B$zRlyh>~>zw>`N1Jwq!Mnab;l^6b2jU5PFX-XQJ-)eCDLSQYX%3+*BOe?0 zZ|>g#q^9S(Pp-A0@YT$OT?EA=QY{6_M#i@1wyQ&8Tx@%da~?zvUbC=oEqxFtEDpof`6Dw;VQ{(Pju$1$DP;(%Z{+)t9V862@AjCvf+*B4?d zbLtJ_qX(pgtCc01eE-E_w9+|xS&g{dgHg>O=!M-RNU8;_iU1)Q{KkelIx0v`x467s zeYcuIwy*qcmx1)R(oE}txHxXBm)RCh7^;@#-pb7#%d-~0^wxMwtU^SBl%(WxmJ47` zFg;9P%gwYH`b#b%YvwtK9nP_;$+{$jdA}_<2J{`^S71_J+Fxp?UbnVFYKz)yX#9C? z?TfU4R&8FdZ_B;sc5xnI|uLWjv)lH3<1S5o_e?GR6WM`)EFTA*Hq#2_4>DX+2oE~?zIXvYp3*I zemJ;hhkRXIOD@Nxav}FExo12o@jDzYBmM2?PJ*xEX12q-Sv*3iWwP4R(amk^ii>$` z2`>!2HR~}#7HAzSKR-*dMxHJ+=!oy10jSa5!K|pFtx}Nn53*cW+66kMGBHOf2aifcgH(6bqb9WjWEatlxV{ zS9sOf`68%D;hzFFF`#1*fn!puRS}&d90)gCka01G0&%WqL`E34wDmF zGL!hV_Sef2b_8xc{gw~NBGzj0*`H(I>$0j86cjXkw5F-DcQr7h5Me*6ZH3OpAQ+K7{+3yo?0Bqdhj2qe zki{pva(&kLMK$1eL#1qxaSO*N1P0oY3I8GCAQCN#Z`o`+zL*lgN1tk~=spa-&a1R? z3b&c7N!`#COHw-(l$2@9rh_@NBn-h}5~Bxg>L~ z;9i*>`Atp-Oela;jiLfLu@z!QY}H`Bed7N=Y<+c9l}~qe0-u1oyb=Eq2Da_o@{an{C zL#{UWnbz(s!3}l*@PFZ7PS9crUW|C?0Cg6B#nV|6@#SQPbL;(g*1fqf98*$Ibc}-E zsJ(Q4{$t0}hTH}EmR!EzO;XEZ83(Kobs$(Y2d>ljbb)NFRM#v}PfP0q69JIe#!HNO=)3w9pYcH>>W_N=>YVMM+Wpr08Qt%l-QXiSxM`J+VDG&sv8FuDGE4UzZ#3#h<>=z%$=;+*nwHqifGbOHKNjhibK~%>K?cbv{(v+8D zcDWASoHr6*c1j5rq7*e-*uV837YteoGt2FZvAq>A20XNh7WE03GgPzH)bqQv8f>d* zqtl9a{t_eO4~`JR7PeCCao1Jf86W$?j{O$VBL5n7I3_}Hu#awM?j<*muM(oKwU8m> zygPjALf?i_s>(LVr^;>4wL28~uMQ1b!9|0yDc)uon|Jq}!6_ayonzHT?=5cKPF4SY zo|`xJjA@LR7nqu!o#+=L_j}uK8Yu)*c`_RBOoNe6oqau0;tW0IAU3%B6J8~!{Um^s zf}?bP)*if23>0L?kM(?kH{+x8#1hpOU3l7io%Ik@S`m?vkpx+8$bbMnASB2Z_W!d> zZNa-9Ne`Jg|G!M~aO(GG+Lzbc)}Vj~He(kzj>z%WZVSB%nscP1?$eArJE@IYF6)Rp zptpo?f5FAoSw@Rq{NMf`!uN;5jNcxOGbSXdIz7wRGXWZnf#KYVM&5^Q6b z+!cuS^Y#Y0*Y+ypuo2THN0$ur^%uQ9J^{*}T?nEih{;Fr_1_Js88Fz?O{3LWK;m7I z)}!_=#g?der!O*aCDFbn@+(lN6VPo|sD-<3FAZnas#xCC#91#LlRvtYu0T&mXWVQq zm+8vxk>^9?}en6D?)OS)Qp#PY(HIIO-h(P1BrvFU+I?~x0`o9&q1vHQc zbuoFqdSR$?ILvxsqaK##V9|pI*4D-b-`eV$2`@b<0{2_X=(S@jaFZy2f}z*h-u6up zi$*Vo57`(Au2+>6%ULr~nUgXK_cn2Na@V@{%Yc6+z2+AGTG&)&d>6BxVL z6AlH-R8^?bbUC0!l@hEQT{p!POB{OMWozWYx{3#FHYn!?v5B|%gYO8t2*)$h#ondh zqowh;wLUm7_39Yxj`2E}MV|leFfQyNM^JfVXm5X?>I`VzWzW9?m6y+-YBGpN8{tF$ zx<2sTGSOFnB$p45+G82pa`*Kchj)HidHK+8!;%@#IY6jZfE1sd?6Ql_vwie}ApIN@ z60Jq!1}VQ1iH4%gAOr^D5Yh>3%wg#PsVP|T(yoEo=(KUr)RAN0EyW+OTiM9G(dU-c zi*a_{cvuLr*+oT=DgiBpkay1ORd&G~pOBA?hbU#Oh`U~IxoOO0*89Lu^|XpFYoGB% znI_0UwW?n9U6v_DjLSjwPq=(B|3J$k%TBHJe$;CwxgyjSW5RgQH0Ku%R{6Tp8gH26 zi}Z>OoVvlbFk=?~^p2NUeC}M2C?UbmGl=?A^Q1)}h&ag8$7=*5EoHMK!)%0Ik}H4z zvKn`@J5MH>bwTbUYdG{#z|x!|6Jx;>-8%gw^`bcyBgKwoOIuqTJX3wgK^6z{G|`N~ zg*4_6s5E_xn*mEr2!o(R1Jp?YE!oR=m*}an@N%=_p)sdQUj{M8+?KGCOZg_zV3uyA zL>I=?Y$=_5&jlX2ceAF%SLQ(?vP)_^S#v7T=nCixZ8qV;(F?=j!DiW)6T~qF*^>Q%`?dE_Ib27}kK*^kzI0J=| zDx?y6xUF#Rbz!SPEV;43NJfjk3XbL!k^Hf+Tno&A%gFmpzgCey>ZCpOshaNkw8D^^ zEphyD;y(Hukx&t^2Ph$=Jwa1XkaXs2%EOiJ;*x8;mAO5+GFOQs>h*ilov z!E-H_%kY8j={VROmMKk>IhwA)8P6aYg2O7naFvcO$*ViaY)z6T^%}D_CG~D?_e@fQ z7G2df$2fkWMSvE;5r7EO<$${#Qo!}~%?68Y8gfOSF^FGSwqu}JY)qA5$fqL8u9GO=*nFI!=iL4-KCK}~Is88JsL2BPY~qXikC z!JZNmu#^NhjKd%%WMXRSR~c&LQ)~QS=aDg`wmW1j4U(Ncb3@eak0B_LAOQrx)PN*_ z466-)rl_iQgEz%6=D)mJ+fwOW1D*H!o&qXFFX+ebeHG?5z!$k;Kt! zZvxKrUp+yOuQSl#Y%kGSyR8&jI6s>_|H+rJu3ell0oa6XV>ILEu8A6 zLS|`OmXpRuW|SRqEap^_lxDEc+%X;Q_}0Rgd{}1D;1I`;v|4(c!*x!w*O_%*R$PG? z)@cz|7`&e(_7@LIsOS}Zm)$}u_JiIHi}B`2bM5{4wjjP=V{M}Np{iLiLd7fGg>_L3LCSe1JRFM`{&m85z)FdMnjL1y+hCyzEzph;dp7 z4ZYg6Q9J<{A4k$NxGazZf|4I;Ds{sxC1wf$W=tMX4XGqU5Y!S0$<4xgl?SN-h z{HtLVLt@`reLZQ=F!nDe?6N20Iavg`m=Gf{^*Q0-$YusiHSz=Tp+hr{It<1&xA4sN z?N$Dsw~~xuY*Jij`F*_qAzvUlg;WbT16-;(~(iU^UX~ z?bpx>7RLITlN1e$V9smYRky+S%B$7H38H0?+7P}KQ z*|+XAS{t!|qP22Jvg#+k#<~M$N|fHH1Lfe{4D+68mL9}~{DX6PM|Sl~(1MDK_gpex zq}bJvrQx#3%HL3O2tfwgbav3U1s=WQ#~?Zkg1aVk;i*frgyvNMlta_Dn+*;=woViC zE06xbe^S5lXYj7+SOTq+5HR`s1R)>+R-AO--nso>zLc<0L9BEXw|UL)`@#xXsl4|E zl~TR5Xc}^x_B@|`>nsZC&C@NVLoIfW^v+1dQG3r~ODC2R8ECN1(|me)|=`> zO@!;e&R{u&|Eb>ksNZOj2Y_46!c5(;;g1J=3acO)1Mhgg;=}lteIA0CsOJ0c#P@zv z0%UphUjJ%j)t;YxJTR$~5X&9gI-P8{KKOZeDuMRMp#&&DaEa)AkkO|HRCL{?=k*?B zEGEL_X2TcxTBM!Za>bfb_=N*Jh1Ifo<{9SC<#*w(8OR$x_JohZ7y# z?KSdi=xxmKzz=}!*qT9~9P<2sPL+%0H5WKkJ`e1QI1Ww^&QSkydx4*sy^Qe@EeCPf z(Hagy@m}YhE%{^yCnR>8BKpzX%IEl8$kpR3Fn&IJ=D8>~7; z!VV<5HrUCdml~|tF? z47dj%oAarHg5aRnn*8mC!V=%g^BIgSF1^iiRCQ1kc=n}orYel$LLV!td}T^KaQVq_ zt(6vzQ0<=Jxch~DO@9XEH7JGY`Y=r%L-BBD!6{**Xj}g?1^RSrSfqVuqT0U8aGw;~ z)B7mpWoJ6T$~T+*y{)bah@;Gw7ACFlm<(kBlMhU- zW!B?L){C#VvKRMI+z_|^j}`z0aMJ!JVZ9Ntm=!$FV$luvs*ktcizjE0XDeuSbVpqf z!NKChf3tvI$zT6Jzw}pIf!C|eXFUFrh4&LsS0n64hV^V!R&cK>RQ@{a!pLAc^D#U; zJl6L3-;y&GZPPB#Y3f!UL7(u7@8+VL^u`B4wnLO(M;r>ZT8aQ3y|M<_JFFF-} z`w_)sI40`Ac6tGrPF!*9B*VZ1!BpY{?jH!8#cC(Bhs)Rpz~8TwS_}X@v29WLL~G0U{TLg z90`_;AH9&o;ti;0yM-zuOp*PP|HT~$#yji(ofy&_6N9vrmiq`^)82uToN2bYhQdi? zA*1^nZ^!Gf3*ivpF82{y_*yYo;rS$Uq=@k&pV=RBwWSUMW$E)>u@UlhU0n_N;1g^3nd<$(;2&dSH)E%q9?f*< zVSJPsbSpCkq3#LX{gF*XxBcfq9$WzIO$L<0UmJ_>-F$5XW-79?OfmOdZnbO}9c`Cc zS;VE$mr@KYtPW2i`(f1fhz6hb=>DQBD4DxHf_!It+uiEzk$WdedH_de9_H)yW0Zc+ ztFOAb7dtm=7(dM)x60Bn^J-yh@pcf$7r^HP!TZV*fEDW`cNW$W4jFB+=j(S-F6f`f zYOLsa34P(kIyFxrX{MW`lj-y-mSxN77e>-2)mxivMc9RR6K20*ds)af^A5y~3?wSb zrJcv!pbGhaf}pq$KhN)n{w1^Iu@v~eZVw7!XKHrc4O z{@L;h%ioIq%M?V;4sbx&N5R+;E-!@$Gg};T()-^e3Qv?df+Mo!v(BN-wew2 zj~zA{3;;(=o&KPfVYUX+eD^)1ZTf6|zXr?&v~;ZA%YhVPh_Q1sF?pp8s{2b?5zq6l zc$LS*$48oO!vOHvV-E@*CPT(7iYPGzdS~aom2O%79T6BtD89Lm%xo=A>KZ~=^(CTW z2VCty7lDJk%q6EWwm(ZcHYc{hj_g2uW09pO=-$G$!}*mm*{+YdL$QGt2#HA{iM(fL z2MnLE@tmo2Ge0AL>WAX>&-7t|$l+fRQxa%{`HLUhe$Y_J$%W1&)i~d+jkwYEA{>1o z=|sSUAl!Ts66s7%c4d;M_uY3H+-HHp!tR^p@Pz zBw7(CA8kQ6F2S|jO$0LYA0sCC4?#Nuk%j}uegL5i;{{CY&YNG$%XJy)LYd^wzannA zct-M~0W-E$VjIe}gFj?^8-G9#w1%#5?v2J^ztxmdE@5GCkMy~M z1=7`(e;=PIC20L2dOdN{UpN02ZX4?5xGNrA;>8j~OmrZA8QQaF2!scfozZ|YLly;$ z7@G1-a!J-iw-KZsBNIeV?y|_mNHL(@EmDwOChqI0=Aum^%*!$4jyv=b=A7v-iIFi! zrhqgqxfc+GUw$=oBKjUOVw{01_A9jIz6nwyPJEjD$Rc-6GL!^PKfQ=)uEmalnzEKk&^$N=kcp+ zHMt7nrk+qfd5ZT!G@(iv){&44XZfuLLQU>$ZSA_Tg7opgJk*cgL=aB51?~AZlXbd6PDY7?d1$KR=#J3Ai zgoj_IbNVhuSX=~jd0?rxyi&kjv!p(^^byKELvIo^|B(4 zz0R}hl#?4{8yojbx9!g;d-NoWlcKr#f1Re{exwih%QT^%lL>Cq5iV2ByR?*kaUDeb{?ES1;R}&A{STw;!a&KnyAK{5Z5-pSiK|7=TY;95T?< zgog%Nj-kD>8qBzlU*CC#V4NL8DHH7yXE3&Rn^r_E$nYVEgO3}gmb5? zvChUek)NJD7W6`#d7rN(L)4iz7bLMDmuA?lwMKNz=y0s;CX3R=w)qbl9`AN@r6r5L zybfmnH+oYLqz6#%sJDZJT8varedUik6*lH{I70}mTR%T@o190&Z}@r*>MR?t<7IY+xYFuJW!(Y^#S90~RV{rK*ku_JQN(1~IF3 za&T!X2c>zrq>bHJ2ESC>C}bZGZnxd*WBMRVb;d8cJLzf*DVSRnvZ3(>x;AV~tO4>~ zaDlTkIcZuptjIeK3c`AWIk?E{jF(~h24E6SEev}W7H_WB3{-fO=y!d#wf*#M)DX`_ zOkI3<{acHkh6WA&_K&-LuVN=*%r1~H#vx}OMdf|#zrLFf`^Qq%;m8&r`-Dpw$RF=t z(S_Wz2oDPjC?M^r&`1xKQb7OfDots3)a;EFc9lp}zJH}F_{Ag@y<#;VbS41yN7RL` zK-Q%Qw1OnELl-sO>1MG9DuL>s>oO@7u0>zqQ5grKVStjpqH>ED`++>VS<+VtcV%MP zjpCZvQ=h^FZe~1rw>Wub3wbbkW+mI*)xFv|n>Jk^-}rOE(U*~U|032Tc3uyPnEJ?` zj%-5(Dl9I@ju%0-z9_Ke57GSbq8=__meGnZ)qH$n0;JdT3Yr^25dMHZ{xA=p4zqQw~{yeW@BHeV+`I z_N^vQ4n8fK4pkCMtdTC2Z#Tb`$f}4jcApQlTpe^d%h?B4l(iDWy~8y(a=12qpLumJ zeEXCTNk4Vbt`?22`)NzxcLU*}tmiU{o@2)y?`MV`mh{?Zon8}SY|&+<9v*o+18Ix+ zNLpyBBcw)djnYUh!@J6^e3^9D1YXqmlt0i;vM@Uf8Y~zUh}+ue;eqR|O9zTdN)Rvn z@H&)zgTc&MBnSe=b;JSRuqgmCt@rou-=I$y25rIfL_DLvsa3=_bU46ay834mT~UAO zXUht_->tLRIO$nd>o1=<8O_3e<=ksx(n5Ee@MKN_)Eoyy=m@7h40$`~hU(^e;8nTC z5>QZ7@4Mf03L z<>cZ*EMBr?spc(Som4Jti~}DWt!p+*{oZ&1)~qnXPtW+4R1uC-zVN)Nl1**b{Bu-7 z$xwzgOn2Q#MvII0cXT35=}4Ltm4}U=zkIuq9UlF5<4X+$qHF!?c$^V%txh|=ua|g{ zy)*d2#-{V2|Lg>`O8;zS)DdCu{wkzs z=T=6xQJWhuOnq!WP*sCkPS-@`EkGn^$R0jAe*g_?E4?aIew9i?^NQ=@p1zd^|~3u?au<1L8gn z7Mh1__%Et=R2D_+QAqa~UoxYu&5O`k0!K55@;_E%tl-*cm|g|JM%EiDsYK?=Ik5yu z=*;cw>jRI@9_)nqlyf~vyuBUSl)c@61wbejm-MJfkPQdr>0v<;kBy&BW0rp?$b+vV zKjL9ZlmR~){kGn9 z{|x=}3F`V^H#((ECQ>t{i?)g1cJ8OQ8ELqNZcluV@xthB;;nE42KVflVv2z$N)e`= zoJzJlDV@r@-SQESJphp^rY{olBej_oYGOcbqGM*8b-ntUYU$f?=U0LAhjRO(5| z`0RH6yY87{6f^D853oDr^$H6J^bHRKMy(}mBEeKU~P7uU&ANi8tR z=cH&%Rqb!+0A)wv55a!vSy?XcU+Py+X@(TM;IfmzpZ>x&sjnMDd`(Z-kouVSjFUCKD0Ck1DLxDCkt&>TmyLovy@kw)uB4da zwb}1?D1(+D%_^l-K8uEybCuM3ewO$&=Ro=cy*vLc8KGF{3?wWp&C5|3W_?2TWW7ls$b z9XbPFznmS?cLsqy<$k}1V3^k0#i^!6Wxg6*aQu?h$frqx$?NY4fyWxPFPX&Px!@_LMSV6S?~u^pYjdHiHgCzVEmSJ zmHkJ@QV2rH)2{&NX4bJZpw1Y2kznTsN_uK@H`74MBSp(D<0o(EIV|Tm8H8_VWLdFL z0h&v>e~Os?jO5EM;k-2{0_kT8ERy0U01VET>bhXwzrNmU(20OP!$U~HfS!yqq`u%~ zH4Q7JlD_!?-r^mRgp@1u{_VO;a8(#@uvB<02a+?>qE99$vkX;u^uk;$?h`k1Pi^_V zpCwPfGPF@rEIeQimxqiJ`NZbQBr-&Cw=UkRoho9@i|%;6t%QJe``pQlZ*5Oqva;aS zbT2?<`KcC&q7@r!Wmcsv4Je11D!9bqs=9x_4T7oK+w+TxQuL(q3{e{eS55yi9XW+w zKQsAPg+$3sKi*BL)wXsEg(e18dOwL5g>MS0!2qunK}banG$-2b5F;2KUbhFp&R0RK zN_#4%38!N_)sf6^TX?t<7zBs+R}9rcS1#N1T=2UznRW2!>+7c}pB+wv6jI`j_ask@ zC$_@5`3C+YI6|_83&_K_!Ki`bb-@#lqs?o9*p{hu)g=BAU7Qo>E7i_55}{8pT+z`9 zInA8M7tPoUKs=Kt6o&beRKCd5jzjr@Zr!T8)6aq1y1v=Uq3Ai%ENLB*-2%JounAgtUHcH#X#A4g5 zlz|Od5ELevZN-Nz#x7i(yWEZ|Sy*G>&(2?P@xX8A1xecVpF(M*PQu9@_66*6`E+`p z{j8+o8GNyUvzA*m-=&4bTcY;A{$>f77Ziu_#hc1n)Yt&CgB`9pi?uzam^b|`vvM|q zC0jo4LoLS4^o^DnY`>t#Ti^DyEfJ1yeYO-p z4b`E_YJ=U~>kzmMIVGx8b;>NnVkx+ktn9)w50a>xowzIv^z-;b8`(HH>EBI)gbe;$ z=!bfVH;@#Ubl6bq1x*aBv7-y1r!DU7Fpu{#D;czWDI$e{&dhK~7U$)?eUx)dquhZ| zmX3OI!&#qTr=|uPB2S=neBT;qYbOQgZScY9zGwVh?zR3g@Eto{6C)}T3$n7nEc&rT z55(qKSyqi*8Q{g@Fq1cO=1nZ&MDJVN35|-2%gr^i&Xp?e0Lc_f83<266#03FunP=Y zfr;=Qm(u2y`QzqmXZRX~!pXz7aYX&V;NX*O<<-u7HDN zX>qYf{jqb1D+JK+tfVFhrcKwbTOnGsN#`WT`*lhfI@oA=bq=MQJ%?+%h7w9em>|WH z>P%+V4j{l+ew>SgLu}x^?U&Y^pcGJd)AR`+2EgrkX!d{_G`Y6`->scuH@`r}Oet9U z$fxV4WOFvB;ut&UYE13w*}wIDlB4FklQpV?LqZPWeX$nZ7VWHxkMk{EbRDiyAKstp zO^VUE(!xkK{hmmWw6rMB{>jLa@75R|A7G30^;2*e9xwP})@jwsk*|Nj1`vgh^ki!h zb6l=!+9Nu-gQ6L6VG#yMf%O~Aerbc8aMv2*dHKTzol?M774@{>!3nrqW2ELT><-MA zEU4>!+4B(HQN+jnmA=EJnH0@gA$`$qU`gM5d-4vyQK>A`&1T2Yyn#aHy0T|cv%Sq?K=1m-@ov1{eIWg0hfc>^*WwZ)!G>ancC>lJ9mo9n(oA)6&JevwyI zB{wcMk|f z3_10Nn#6gy^g!R2%Ya~EEVAW{hJop>bZ)udA)<3ozGaq0ZqijUp{4M{jb0A7)ip7 znTvlRZ_W^M$hr_Y`S3vqxBPd+8>VK7U+BM?H!Yi;w_K3NwM);*K}KSsG_SW{;_V%$ zfSy@)JJ{*167xCOgCmQHit7K$WBY8+tZRIk0osjW$Q^k0uegPTVuH*AC?^jN4vtt* z{Fnkbc@feT6UZbNbr{cQhS=wwxbY1O=@C%X2v=Vy+%PWijIFJm18|js0?YLPu(!}g z&4Nt4PT?|!SlI*$YG@WJ?AONR=G52Jkdo*$?x<13#FbVn3jb}nFf_~CX>L6|e!Mv` z>(%-#xen+clS`e0Y%2O#hUOwCDwN1o*RtUk53gT*`=bD|e%Rb?)@o`b)`jo&S{eYA z#D`e`LV|w1#=1GAxrQ79j39aB(Rsxff$DATWOo)hVj~y^Q#dPH$KEUn0f(cbqrJV; zP#Ib`1}4gW)+837s<2QcWmX7JJS_N-ANmwQCHFC@-C~^s;OQ$@elb4>aqpFLKy3{q zRA1P?(=*1PfuU)4uDP4Epxl?i?+I$6fZ3_lZ5T>S3$;3}muU#8?<=w^aPK?mN5EL^h1@0^&B0F@`Gf>;+!fInvQa|`XaU<{ z>){?{nH!-QnzKL@UZh@^26BY!rv`N9Ai!p6M3k>Qwvd|GadrK?vf4UW0Ux;i@UA)p z@dMx{UAo{dfjjcgXqrNL-q`n9R@>*@BDwYgy0MP(dtgcicZy>vL$)|URox)&^47YD zv+T?2>t4hlo`I}~b{|R)q@}(?LD{!?2~9T76IrytU;fwU(ar zVW52G>&%tRI+Me09luU){yt0o>RMCVQgtjv#Ay1bC(;0&3TmB}mg*FU=<~H(BIY?JwBDuMCDe`q=j_5bG7*3*vFd${vfW9X9rm zZ}X@ZuMK9Zw6LYVe97HXmH;TX_rsfkaSB2#Cmq`v1?I@90_y-2+8Km0Z_i2?jSecA z=kHbSe2iI(?VPKoA>0#um~#)3YYmEP+0jIp`G zMFf?pk&zL=2~ai%+9g;zlfN?ius=GFD=UK>ItVajYLq1dr2q&1-&%mAAgUMak$8TdWQGmf5(ktsg^TV0(+np<({X-&K1d!^D85LY zYkr8efFBkX)`4QavZI)}w$V|$iRPmxyX1|V&!fEq2Halm1*uIE3xwE!XMJ`1U2WVEX_kdOv=Ol|Wja@Z z5NN0i&K05*hgy%3krCi)|A34eJg{&Uq4C+dRV+P@M#=#?{La6cy}=$MHPw{ZJ9qiS zZ}|F*pT{0-HHg!_-L*bT?>7Z)LDG7+7H+m^|F(C7>K~~3KKqyiY9F90%}oRz67Z}N zoNS!}SfjrFJf>|IxZeNNl`>)2o(`1Kz!~;d9jH}AjNJ78S*@Eg1|Z$`_iG2=sJ)<0 zrmJ$bm&;XG2g*L--K)b{`Sa|9PR`Q-NxGGu?m#gRoH~fpcm20rPqEp#ux3;68PwWC z!|uW@kM4L2HJUsq|9cWQ-!@3It^lN)l2XX^Q(*N>RF*w|f^Oj3RUxSHfQ5Vhbmc5_ zS+SBA*zz%Wpr0y~S-@d4V^ohbO*JNlcfrw%ilUt*DXcpvJ| z!{G=#{pY-=s}dIR&d@f6bjEUc+1+epxzQmIxaQE{ZxVM2I1_C3!dWrwlZOK9J zc9h&eUiW8}Ed}~2GhlinOnWvvT4WM6ya?U?d*jAsg;?5DriGCT%pq^YImO}Z-kOy` zQ*Y@US6d7I3|H1ngBEXx_Jhc0eFFRBievchKAu=985y#(KOcZSKWt&5>R_%4JR`14 z`jVwiP>Bbh(TU?PaE)$o|5)sTwmEG>Lrs)N=?QCihdSp##T8C^?Vz63B3D#zLFsr$ zGD{P@A)qmyNejZ#o3{NwGACCE#rzU<{Bc;B1|8 z2DGRzua`q@vveggX~e>G5~5S!WA*W=f){aYtSSESFl*h3ihF)Og7zG%(F*j3_5P#r z(@e=VLhF?Rn|H|>HJlBc=&@*kmi0qj*Y4ngsn8w(&uN)Y!C0W5S7PkQS|Mq>rW(C? z^@{f^S@^kruOhR;&mm9m_~O9qi2!4d%0)P(fW zE$b*@j_e{eLbr-q@z^DAgRo8^q~Ujj!cmwYykT3Xg`sG;>TrJv{CA|sU;O_48_DMZ z@1l}Hg^(pMLcxr#4K^_##cX`Wst$LnfY_hH*u7(_g9cRSWFEGyb6D;55!WvJ{~+uVHiVjEyJ1>_@m z)!z*$0AnU}2UgJm-^todyhe@ggf4G;LSq&%X(d)Y12Fo^GSwVpm-K^A89EGrC!p;& zOJ0|ryXOzI&H)Tr2&&Yi=4yj%L<}6_ALz(Z{Z94GdYL?h2a&5iV?*gz1aom-?Ka)B z#ji_+(U>d8+_X}t6C^^Zm(j}vk#x2$uX z!GfpiNH+=#=FIK4g&D^K1$k1?>`ln$k@b@WHgOKiQ zA9F>fi{SLmxG)2wV#;Mv;E{!U^))miU0z)mr&P!&eN++I(oUjNA+@(=zw-WSSB3XJTB_`c`KwBU zeTmlx2i{VM8As#Dh>Z){6`>u`B0L-n6rF#k%}T8m&O$&-5HcMCj&=PxBIh7HiFDJ} zmOWSj@z`1)-L=~*W?Fxhy*Hb3TdGLm46Jw%W+?<^N!`v-Pp4qI!GEqBO&~~eP@U=e zOhHLm1x2+AW*T^tKZBf#;Wd`TgE^^$H~%fT3rM(NLmiw)Xb5>5htBqn3yXgj?aZ0} z&xssa8EPB6KCL?Yn}*NZ*8ZX$uD%jNSpWhd^&N1y37aLbOG#zQP)8mx1_Mx#U8t6h zPWCQi(|IcbfVat)Xxv2NfXeCw3$R$MV(-FVUFXE2Go}>`nx}%Z7g<4=n1devM6pHl*w*XuM@G3PG3~f{`Kl$U$QA;Ak=g92ju>=g1 z+_IYPF=;oKFF(?tNxQULRJ89jy)Z+hx1}r>)76!#2>Aaj{V7PiY2lFmp7yjx8|*0> z4v%-t1=@aB&oiwsz2v%Afj}fD<}2|r@{;TL30u{ zPc0_&oT5$V*z4rn9n^zD2kQBfxqt@>Fz5W`!D@s?3sIeEU;W5KANk?fr=Rt~+?W4{ zu&doFbo<-~QLN)0CQ{rVWT8c^UD6X+H%KKGZJS+3_ji)9OLp?A`oy(P3kE)2TKqq` zy;kpzx-^@qd!K~wvI7h(nFu=KEI|&~{u_R<(VF~+$V)^S+2)Y_EV-#^fbNKcP*1#24E%WE<$NZ`@`#P{r%e@ z+D~27X48B+ex|tExaG-oal1MCN0*yGSt2@lJzNrEnK=s+l@vy5x@!M(nskQgm`ob9;NH|ApLye$|hC!D~s?=@SSn{srnkshwb&G7|R~)U4>9PAA zZ5ldNRD5XGbvlC$i7BfXsdM7s5YdJMcxM;VZ-ES(bW|&<50hAbzo@JO$- z{MA(xQN?L$W;O*MSGA!%F&1o?h%8(=S3pl$VNS262D0SKRh_oE8h?QZ6Sf`j`ESF7 zouw}%AYf70f9^mwIcpX;cc@e#yXN_@ih(Ywr)NleA)!txto7G;34PrW1;;lL5vQIj z?EU`ea1_G~hQad*3ic~M?v{Wvv62>4$m#9XC%>j66!gZ@+Zw)q1&vnv(^$SxdVE(O z(R>NJIWfg#!Jn9m#|FBY#laFK1l6SqfF=mTV|#fOfYz(#e^FW^{qTV2%B$A_=lPz* zeke%fXRa)MN`*LZSSF{SKv#@pX5Q6`I0XDhMb4rg=H0*wILdZVjk1_@r}+kB!SZHp zfnk1D7WBhI)rRx{9ko|l;+sR@FVEev+y87m*>;+?JDg8!h_DV@sg`i;4ubX@IsaR=SYWzXgfY3zTjt$;r1ED4ua^qb>ygS$R%@ z-m-50DG1PMyI5|uR(AWic8FHUK>Awrw@jOXoZl7#wNE=uJBo%<#!M-;J;5nXK|ukF zoOQewcMWuexUZN<>U*=wee5I<=MX7=)~l7)A4eSWf6sNT8iIrJzv#AE>65zA?K8#c zu_M`I^}h8B)`1M}Ky7Gf^uh`|;QrB6lt(9mtr-@0C#NE_sPwoUAaJs1)FLwgnfIvB zSFeJ`YqhH4#;juO-!KB4z#yoAE-DPZ3q%WWz?E#3qWk={Azf0~7a`t@IT&{dD_ zUqL!$(L}$IALO;Xo#hI8A|KdTVTL>D`w0El?*Gt#*Pgmdw5GvAf8{NgeefK3nb)3) z@7Id*^UK6T)Xlkb=hna)=H$fV)GTwU%gP|E^ak-=TQUgI{t)`G;Ia!XJF$2(LH8?f zAG<6L$yJ>N!D(FF)di#};7?guuO$*;dTVpN3i=(q88LJl3NHEhuti0+ab{ND$2rfg zzQ1!LX>_cw{5{XD35Zndol{eDc6X2Rw#tq3|A3zD*6_ezgp5!qg@Cd(Kt%wd7+e4e z&VVz!ZXin6c{N2Lzykkd39cgB5{x5skbi0T3f2{E+B&q)4S8AuqmO}|fOZm_rWzIDYcY(xgJyyA38 zfSt`}CC_Zu{Vd8C#R?vL2(G>z@Y1vk)pifLcR})-cn_*uaP=cVPtSpd&@nIB% zYl77%oYYh%zd6R?_3Qx_MNokrb@=p5&gAAUK>d8@6jpnPch{cgMFo>gy!(RO0|ejC z?$xPWQ&dCUGK5S8Cb%*h_q)$(h2||q+j|Wo*NCr`{1mDrd#FHp?1uo5LzS-csJ_6I>>a76-3>kIzua> ze<{7dwisy>mDhiJiYGZu_=P7N_4J(%o$N;Ku;lhEj( z05=q*5MujlonY(#;;(;A#O)z}J@iToKotz6+w8~K{+@UiF=1q25Wn%B@T#NLl(=9c zNG|tMlr>pIyo;7mEqn}0zN~fNA!#0Jbk$Jj)(LX>3KssBDw;}_VITVTjbu_9TKV`V zR^}uXFYsDaoE@B*nSl{f_xW<>zl1x8x}Yz0z?lsI2~qw!6Cfwy@& z&wHg9t@%iTl&f>EET`l!^vzscz;F{Zp)zH|?>*YO0?hc`s0!%+fJNW?B_y)~IYtw$ z{xV0(^qX$~eT`O3Sp=RDuC~!@r%nKd-Ykt?8igOam6J3E9j7=0d}p6OzuicRRR0MU{>jW+pk&qNtXe zfRdno>@}C$cJ|B!Q8G`H7i4iZEuC--&Nee}8pNWVwHzyd4!2|Ggg|h5z*!;w-l`P9 ztE0?t3nq^KnM@u{b{)4vwc-E!kTzO+;(ymN{FGw-hk9+!@>6B4Ya%hvnF_HE3?GT6 zTL>%|NK>Grm~!Q;+H(xWd_}Kk_0HMgV_dsu_=V7zZLo=a&6m6tl&m4S!W}e{xelx# zUDe*r4{z9-FE4XioLaHhvvJ#?D_zqz`;JNu2e+l@S7>L6Q8Z@_H~!5E1}TsjqP?vk zfqti?(Iy;`(_kqrh1dh{0?S7Maq%j}*3ZCmefqlmAiXX&V0PRpyV7D;lKG1}<^iSU zyw&>jfbgk43S~5ZteL?kbAT}zJTp}bSVYN_3GvuC2yj~61~mJvZO6t-6l$NoiNX&`pe*4f-q_gaEQ`5;FaIlrT<#;) zsS^il>Ea-c2Fhe6kAWldtmvmZHz<2A7id`POoDKv?d&!4Lal@6zJsjE+99LwdPIf6 zKsUwXKK@+stk7k8M_rxELND-x@7y6YE;`>qMZ+i7t~aG}!bPF&R^lx8jazbMB(olCdnR?rn7tsmT0 z2$TNQoFUx{qG!naeR(}bz#(ahMj*X|q2i_$-5JbnXlmi1gQRZ|?)n^f?(5qQ7F-M` zX4MuojF&o$*8>V{Zu3RpgKXQE$=NgU|Mh`Q$q=gu`ErB&v|*c>cM^guI4GI={`(KQ z0%j|owh-gnM}$)~k)aav|Na1!7^iB$$Orn|=~XzgZHp3Ab)1!3HD-kn<_$6^$5M+^ zOm#9@{C%J$fp6^0%WqmwKBhpRv=l-mlZsu)b&-L+74!7H;%o!dShyG za&mcjIe-Woh7xVzYzHgQ0*bEC-x-{A%*<+%W`RIUj`OD=`41E*{QQw%^OkzsFg}oT z_umdAQpoHiI*`0Ti=~oT%jX8=9-w}KO&B2m7VQEyXf%R+if5ioS3`hZMo?XrYA5~% zBt2tP?LmqIF6JeJPf|Ok0yydKA|O;ZYwb0kwJrOWB7%hSd^itZ|(Vspg?EN(1 zq9U(?_B6oPI|(UOcl~e6eKd`d`U#_6kvJtp10L}m0d->&6HMYS0j=QF!-X}P^s&e; zFvpm*JzsYk0hLY+P_yp|5B9*d*V%dNRL%T661tmD{DvnY=A{uw@|HCrwQVTV1XxU3 z+6Q8zC)3|V%bsKQV?mOh#YALfU5@{Q^2IAZa)vS){{CQrK&v>;`jw08&<+Uon5{ks zoj-c6p#JmJ^*k4={drskICr3I2Cjep-~NjPO6EIvIN&t`k$BOs;Zk_2sK|%wgl8G3 zl!H0P(!NpTR~{dB;14(=r4Z-*zi)ebJ3EK>n6^hmzny0OE^*{s5rd=QS=ryO6@cLe z`fL7$tN-`ktK0Aw%Z`5q6Jn0@|8JIwsQG{GUH2o^`~P>ll3Oa}B%zcfN{WzGkr6_U zk(G>W(lA11OZG)ZMrM(anUz!$LK4SFS;xvqvXbcgI11g*-|#)Z6vug=_xtsJzh1BB zcnnMH6|E@2L3EI7wHQp6U2(ILt7OeLDX-3HwSJ)fZe2HJgFFuzx0yZ`H-2hKxqGSt zgxs8*kk{+0p|o;DL_|bfe0UPucY-s+B3i~?`%D6u>eQ0ZqPe>L zL-FOhPDiId$CLBr58NxGtZ(qPgsrA9Yk&%u05Z3}AOrHMO)@hGhFf)f5O!!jm#i+m3_wQca)$X~?gJ@>W(kQz zaye2b+dRk@LyXS*#@&mIz}&*^LS)1)+`UiX`D)xhW| zWH*mh@uVqMywGm^z7cF2E|nwV;y)lmr!ktv`QLGa+I-&G^~<>Ws9I-923JVNsc`k+ zQLC&#KIU`SJHZjvQ-p%#x?~h|AVRn&wB>;89SG!e8^8cg^{GiUIO;D(d>c8GC>U2;}DbLDla)WeC2!NJs^l#YoB zI}9rI3Q(s;r+pKI(P0^j88n7l)^JPKp?1e>u4X{l__MnH?Psi>H+jM^F=zUck9l=m zCLhn66CvfAjsHX&tHg=GNYedIP9?3?36Pth*fWC)`y>5Qn;+pv|9km7^6yZ^=sR0` zf{JRZfV{M%x|SaqRV~!*H+94xC!-<(uR`;l#JYZ1P3MLsaNSXS)jvKtJ={frETyNz72r!k+lVzRWO+o?9KnFaBUN@x1RJy9T9}?^K&d!mh zWpPeNS4y^&x|cS5GOl}Xm8@)PRqr7k`7z>5;%?ew92?^=2T>>=tEDtZfS@qD9N&>_ zCpxk~ReQt79CX6S%`(pwuFiqY24fH^mi zP3BB}z@301k30~dg~Qp_0z zXDimh6;DXFTv*y?7Yj0>M3&@y}2G9yU z9t{m`-iyIllje5wi<;`0t_Fl0L5Ot&esE}o`q{Q*6fq=y1r zdo$W2umb(*3Q=eAZAV?d=jM4Ye}jj;i5)LYR-hg3OF=rB7u2`+Aym?n@Vrb2nZ9HI9NtV#k$LLEb>^$^J%g)qWNX z)$%2dRK4Yb9W&XX7)O_if}!7$*uXhWf{YMt5u(mJ;jPW)9yuKHo)T12q01-vzGKwi zPKxYo}19hMK4CN}CuDsoy_$W%f?95TvKnI7?in02S}@=Y+1`tcb_&tpsI zGs{4Cf``#x7Wk{@Ocyye2AP2MUEfn}?e>Rzo4GC6E#$FpQ0%a%%yEeHjYQ}Va4Pr9 zG%f}9AcHQ`H#)C&HZPx9W_udlvh@emv&Ua&{gs#Brm{ZuhrbY&hy2hsiX~*0mUYSW z^0-r_SFGVfbZyM9Jr-X<##0g`XB@+DfA2)ZNX%K%!WHqGM_?vipwWeTpNK0mox=X~2wtvomTSfx!ji*zL5n#}6(f z?^fx&NF-bfW*(toSSx7 z$Cc5;lJvk>K<^)1=v({;t?73uy=0}OhG*EGP-Zr^Loui1gFo0z!+-kIK63!8PxDTr ziqUtdchY$wspm{MOA$2ylL^)m{*M4l`h|r=XMyFTUR0TU>*GifeZiTzdFW-x5oBbD zVPRppl0O%e0u{q{;;1m?_=nLfd|7$%v?^M7FG7*uuQOxEB}0mRv^$6EH;Iv2|T2 zV1KFzz_l=|DMd)Wp@u1&r#idl>4U9I18{m2_xwEOXf88i{_=m5>9@RyQqk$9$nM;u zuwZ2(_sDWvN_8Q51TIM_`O0{ol0zkYI7v)@47tee& z=eDTek@ynUF(}~qv_LV1)Yj84Tiuz&ROcW0ZT4MT9G4GhI`_QRn`a037!UOBI4YHz z6CUeFS?E?2=jQz+iSh32M|mYEC*8C0ApKg)s&w?`>}D+uV@*46?MIYNJo44n>6+N%z< zRY?N;_18fan8v>zBGigW8V;iHauj z7-C9Idg`d!SIYF~6o|Kr3hSALxvkY|qi;vfcAJet(GwA;(qCPd3PnXl{d#tIotc6I znpI$RWP1@i046j*@< zM+Moi168S$1Ls$VZ9U==F<*U54m5kx=Ns+2O7PuMCnZ{^uG0=x{M2f&Oc3me+nN$fZMxTd=74NBHjzTXlNG`L!;=N%d-0dtaef*6~2{K)NMnXZa!3@WNu&V0J z?kI26sxfzRY8`Q)NQQ!{4yhj5Zn8~&F}qNOoxS}gG=5*w4jpa`+VvC|D>lSBw?{VF zZpeH&Zks50L3Pi@^WT%yM}2c7ndQ^x#`?V2+zc3$0OGn9QWC}%zQO;EZ3%^mo+3JX z_!FQV3Xb82a0$&LIa`IAu)n3TJ7A;EmQPncfGwMWOzuNCU3FA8 zt5eVxz(6&*6%-U`T`q?RckSsHj}J!Q4&#gQszu#KFgYc|bY=$Rp|cHVI)0%Ry4PT0 z3q|?Y21CGiAkUw|p-x_a8RXv&TMRo}k}SOSi3GH&YnP9+C4Tj!3 zJ6)}o7*Q5x?=o4=bf#HajYsanHgCZG3`rNgt%B{eP#x|Z9RL&=EhLIPOMnT4wUK2a z9gH-zadwMs-}IR1*K@ODl+wMZZLYnei{+4dclp<~mg^rE7e~$2R!OZ>p86Uh*`TU+ zxYJJb(_E}Q>9GFVP$?NAW`jASsU-c?=LYtKSul4A)Ln>pCORm!0vi5?xbqIQC}J(| z;TIa$@ij+3kJI7-qQg!!o$EC!RCuJ@*E~&&;UWWk?vntMWOWy}>CbxbmV^2~dK#1r z_{$Ohaz^Sd6vPQ%Gg$PCA=U^=I9~7G1v_w3>ohK9eZE|)Pj+aZKCP}HNLW46n$wTg zGeM+x^v&pWDbkeOty7W0Q=i2c2Kz8@5Wt4wE1Sy~$?~E;#yclylobxDgzZ7>k1VxpqZaI*!ybN=(U{)hFK3NkadSAU%xYHmGUgYttu zqe6}`P(6$}pxix3f$Nl?gR|A*d`OYM%-d(l)5w3|0KISd1n0hcg;7H`FSpAFqdx%I zvPpKIRcqHo5(f85zOH<25Kwuy$5 zCqWo8Eln2_o`#?6`{%)gLKH6UlLMnaY)7FtHMJ?4s`*2LY=~!ws;er`hfZ`U7drQo z&Lx1K27J{?E_5USrsvmk;b5!3yOlox;8!TP;cf{6pJaJOf6*mu~ z+c~p%iBvA7SAbfW3|q)PR?*Nv180pUrG!Fw3)2*c|8@o-k_^f((JOJzd-!k&s13ny z9xhS~*_T(l#}KD{u=+Tawu7XSF!$0?qi)3$YcSJgS6q-i_R3#JPY(^w^UXV-4o}Zg zo+7Q`KHwpeR38l1@m&c1d-u{xYhc^uZ`2ZL=Z#p&qH#JIxZa^e*~SX*}y- zoXRI3%&dpq;8Gasob#KP|G+>>OMEkU14yku+3C<U6EU)|kY{1e;NBLf7FXyTw9t%!%_z|An|y<-dS1ME0YcLxNE2FN zy@MKm9OCSjt>vtAH0Oj^%nbN#dtZkFN}u_Y6JhTj#JmfQP6WJg?R8G4NG%|{2>p%N*lT6UstGtZ9)_o>Zg3O&f@~YeEpQ)HEoutRq^p&0ZkV)E1ZD?Z?@G}p{ zQ^fOk6v41OiNqLLAN2~1+nnBpR16-1I3nTu=iJnze#=)-L<1@JphpdkC4V_C;;etGCjHvyd7-bfDmZfu`vL+zI!nbY)RJ(pOinhlu<))8{XlP<7_m|kyBuyL#i$u|3eKrz z=S!*~1tg0L0th1ZgSTr<8v>+l?t;I9>Ub$29dMq+Z)p|W$q5^)6kPs> zv_pHP{wNY;rvGqDWLSQiDr(cQKi)Rj`2Ros8l3+b3Dve6NVj1w7sMey`z!T@hcoNC zp>){GiJZXy)uzRA#R4l5KNhry!yrt2Tc9*MNf)tRieg9y1E8I4B@+ z8|rQ@D5U@v-jH~WoAvYt0wyMyM(5A?9*ch#P);6mfx#@!98Nw)YVM7__!fX7a%+JS7fFh3dNRSz1;NW>dBr zozd2QAi^sgTNi~`@gm8S?86-uQkBHz<2)|&_M6ejZd9jCOnOm`T)WG=yEM8g5_?7J zQDaXFAr_hwX7E@Ww^!!~KBCAOGSLBrp4htG@~ZacZE->(p-WekxeHg+P(3u!#Ft-5 zEo3UREpY$-{hEHUb3fk~OWkdXKj23$)~u7bM0b-qt1qR>rXwztA&23x&&juL*RPfB zW7uxFH_RYHI)M7*o;?So1Uw&ID321TEegn}((0ObPvuVQzgMvP{9Q`J8kB^@`V`)u zFq;sK7f{D}G49j|zd9r;$`Qf)q8m&tK{F@c!p{XzCJ_$s=S$z&7w}{6??L&Yuyw>} z{v8%PC#S-~!mK8t4x{!@WOCw6q0EV|4Gkd^rsnCF9qiNvTa7Y`N=q;69io$B-t+rH z?UXc&B7Bc@cMpI^4?)bLjz_c3C7i(=g~i1oR`(kF`^|=qZ)$t0Gqk_iP1l;wxA&5T zpT(hVdW*|rKr(|~O>cC*7Q-n8z!Ev#%OqvC=-`uWZBf@7RiD=nO(q>aE6n=&X!W@G zmTZ@Ub>r}`GkN*J#<%c?a!(#>u7lF%-=T~L`IGeKar94`URN7cZ$K|+>6SwX21IzxlX7D{~ z?YrVkbg#FJ-F+fVC)F{Xp7$yOnt-K?8}~Pw60h7zvR>2?tQ^@kaeAFM>ut1wDXCQn?3bn;W6M)O4s4JxdgA-$_)=muXS{r8TY;R z%;Qmbbn4*&x@q^+j2(+#@w6h=t<-&R$q4r7yAHMWi&Ns;gIf_}Y) Date: Sat, 25 Apr 2026 18:39:40 +0800 Subject: [PATCH 6/9] feat: add ComfyUI v0.19.0 container image for OC9 --- frameworks/ComfyUI/0.19.0/Dockerfile | 34 ++++ frameworks/ComfyUI/0.19.0/README.md | 103 ++++++++++ frameworks/ComfyUI/0.19.0/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.19.0/test_result.png | Bin 0 -> 100899 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.19.0/Dockerfile create mode 100644 frameworks/ComfyUI/0.19.0/README.md create mode 100644 frameworks/ComfyUI/0.19.0/test.sh create mode 100644 frameworks/ComfyUI/0.19.0/test_result.png diff --git a/frameworks/ComfyUI/0.19.0/Dockerfile b/frameworks/ComfyUI/0.19.0/Dockerfile new file mode 100644 index 0000000..b1a5662 --- /dev/null +++ b/frameworks/ComfyUI/0.19.0/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.1 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.19.0 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI + +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.0/README.md b/frameworks/ComfyUI/0.19.0/README.md new file mode 100644 index 0000000..9682c67 --- /dev/null +++ b/frameworks/ComfyUI/0.19.0/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.19.0 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.19.0 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.19.0 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.19.0 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.19.0 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.19.0/test.sh b/frameworks/ComfyUI/0.19.0/test.sh new file mode 100644 index 0000000..d37ea7d --- /dev/null +++ b/frameworks/ComfyUI/0.19.0/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <4P-sJwT|6 zN(mUL0YVWe0YZ~r0y!(d%>3T>JLkR5pWoTnC8L>;?7g4$taY#ZzSj=cP`gWg?831F z2M$mxD#&RbIB*zo;J~4qM-IX(B?tc^!heoFR?v4naNxuz%Aa4Nxlb@0IB@BJqTDSl z&xDylb$f=jL^9c?C@An+2Y;DFQ1-VArdJoA619FcXn4m*JnGXMd(i#C&8Xw_DF>$? zC@_4I_q{|@WOn0=m7B)NbB<>&s@yn8S9s@;yzwQA6VDodp=u8_da7jbM_FD#y^d6C z{)+0eZ^NT&3p?A=^fb+AXXAmjJbldjvV*%RWUs2};xyLH{sT=%H#NVaweehrbozE=hV&UmoQBW}d zHBrLFQNm+=!3?|9#g12;t|;!yb-+){{emqyOmp$Z>r|Wm;M1Jq$z@CZHBO(*iyDGx zFcR{vM=mZpp5BpPPM~>+k>YF!HJQ`=KgQa*h60GA=;FM{Gx?kt_J-I{Apy=(i<0bgd|;N_+7&N8w% zIr*O8Rs2DY^=JEC=9=wQ{4=wr+OJ7cPbOMp7u0n$Uta0^+23#AX15 zp~89eOJGkw?X;X%QaKtee&a^(-0ugHxRVHqlkPLUMPDDy7EY|a8X6k15X`dahZA+c z=WB7vY_^Aqn{r$9EXjoOp4&lHHw<|bc~v{5*S|mKrK*r2lU%)I=Pb-H#TgkHV@M}| z|2msE0yf!H6hHWl`djnVtRp@D3r|Ttf^E)^@4Um8;0`}UHlPTY#xQ0w#F1K}_}P%p zJ2>*DX~1nWTU%QT3pwd;(q4;l(QPJZx2q8fdNJ%`A^tI@k{5A8v$(pQG9U9U#CGz| zRI-7ecNBXaX%S;vmTjA5k2f(fS#{b#){)W)UW-39eQ&B}c522FnFG@r;M-`(V`A5? zwOb33nEShL1+*TM$qzSMf0W)irNxCc;$4&f&L_Bi*k`G2W5dfBhfR{o zv56bKF{r&0m(gb}ly6!$^cfwWrq=a26ES4#wJe8$!J z-g3vm7Q#{zq1p7MTZK+jF2SGPkZ;Vvi!+GjUAuLS$#DPm!j!M{iyn6fUlSt>1(BH8 zjH|=mfw^a04!L=FS26rfiN>2=9HudDn&Q(fQF=Tg5)wpozFcgKWgm+7m*l9nY>WHb zURh@@_-{^SF5Yt>?`(&Jgj~LS`4Kkhl^knF-j7C^9p@zt>FwptzCQgp?)ej~2v;=UPmzs1M} z>S?qI58XC%|M;J`tq^`jBMo}S#@#}*-MXgTLcFxW1C_3K+upFwk+FvxRXnbtry7rL4 zPL2^D64%qCg`BPLdyga5k+~g!w&u1fewnbSCP0rdmUpYgiZhU8(Yy(geblA+dOeTN`zoDA1#jiNXv+e zi%Ux8N*i93_R;Gs<*!};IJ|o6N2TbHX9LP%s-8Q{J5q)}nveP%pHVoL2A!|V6>Yjb zts9r&yV%T0UgRhLpgFvq-JMPFYPZ(%o0*z|WwFhlUL&9#StD*dS)ECg@aPx*1-2gC z=MJIS>F%77MsmMhL6&;T?Slt}LtnkYk~>;bm-Lw~;?QG{A=^o86xG$q6nY2`E>%Mo z&C|G|@LdyvC^72ElP8xW6sjU0lh&P8JL5u-K|w+D1C^Kkqa}rf*^_Cv*8-Oh{S;LQ zmQU3!FiDJyd)YYZF*i`;ur=A9+HEU5_F9uuiOGqR&!pO#KCo1NYJPrxYU*CeZFzbZ z>|vD5jT={t-3~EOQ4KjWb_$&i{$%J>vjVwe<>zQ)hE29>x0;8YOH#F=-NF}Q2a-H4q z6S^4YG{LNVF4IFIFvX@n-l;ZgXUejqFFN|{Mka2q&1}#kp1LM>7>&r$%xW5kY#&IL z5gVyX>!-f#^PB~>T0w~w$>cw_ugwkDImKD=&_&YRe*XMp8 zpNn(hGxduzGYLD}TOF|sdEIZeWoK4?DtD)K-iN(M0IV-Q1rz1P( zRTmKv;VEg7rDZ`s@*H`+1cl-l58`FEJpXOb;91Cz8)}$=M*gucP$6fnRMpjk!U_kq zhx*ONmNvq3c=C-ZS&`UbMGgzL#j+2a$v(v?O{oTX*=>+RubiO`{^UM}Vc}FdTkg0V zE`{BKWK6>(&W3D83_^@~4@SJmEt~t@uogc<5)jF*T6^X0gc(5!l92QA!w=H^i~0ll z3rHJxn#jL=#8%g}-!E~myWi8(la}u1?@w-v7nP9S&I=&*94{|xI7$A=OlBcy@a6kt z(Jf9C&Q+;mh6`t#URxARH1YW-r~+bd9@wM^jUNtxa?|*Kqq>uv}L%QAFmPiM}4?DC8mb7Cp?cIYCABzVT=C z{ZV90OkiLj386Au%BXH?YFcB0#BtR`|F{r6^!q!Dds$kf%%g70 zc!{TMb9y>koQ8HIOCMG`(Cj@!Y9g%gh4|9I$*HNM3GZY4Ak8-AcSp(W{0y5e@W#I? zG{_4aSYnNAe$VYP+h3;kJAc<2^{nG!o`EtGuD`z@eY_wyx3sEA)+!)WBU;{3!K2|w zUCV9bS^(`z>HWU#=>s)SJRUz@XrPhF#Sz1pWp+A~ce)gljf`=Wf0QI|tEe7z%I+*v z<7<(p(XUO8ymEi@RcmW&E*{Hfk*6loOL8pXZs-l48xrlW;SDlvSum|-@O_?`l%!*N zP`EDk1&R4Vq`{7w*Lbup1#sZ;_&NS3B5b5`lRxvA0yWOvF)(N*hKmLvh8+xc0%z5l z__OAQmT%9DIsXFd*vtFDr_vx#hb#K|VVZ35J{i&o4bd^Z-MWjoaZeqnLuuG!!7};OBXS`a^}LTKye23B*}Yy zo3r@x%!~|i$=Qx>?<(>iWrIv-^=4Y4xr61*b(1>TwTkEcRdj-$51-g^vPOR|$g>kG zC-TnM3!pK@@f+9?5{U$#5XLB0>@-}vy|osf;WgG2vA};_NOfy6HEajs{3j)0O;j}~ zE%Cibem|#Rhp3E|!bZ9a5p|@3a?8dU2Aa+6E5pmjnJy|yB$DA4&xEo-iE2( zFk4Ei@|Xue<0ihnluWJ$45$mG{|;#Hyh4@i^Q$7nvr$ z&CShxlN#?G(#F)()P&9;E1TO;za)B)C1^p{&|~O_q(vS=w0CjPiV#%967Mx^y@6t6 zwRk>Q^C8e~&Ht%tEndjfQjAY{ePqOJqxQN_p4y9qp}D}K^NXb5g4#{nLD8UBwfJ0R z+w$%Cm#ieDR+B)#gNBV)4T`i^V~=&XNkCE{>gOBDOlcMx!VShltKtQJAT1AMz|WEjbfh4iVAByN^+X(TbaH> zPLERhkAmMK57R-XmQok9y@=tbZm4)X@`t33^0u(Yy6NMffqT<(E6dA_67H=6p$K)Y zGK0Ks+n=7Kj&x-xbI-n9ot3Be!)_T@d;ToJNZ(&U%?teSprk=E<583z=9@ z=cwNUxuB;lu>ogbXn37UmPt2Hhd4FmwKnL{T{iT~AQLX;cwNhnPr;`W z^*eDrwiQ}W*66@?Yd33a>p_!J+F2%OmFNA*TXqFC?yxPrYc5t?@!!G^lZ?&%*Q$oI z90FUX)iAOrM&=*n3^9&zvu}7S4ke5`$#q5Q%Jv+KWjFY@+Q9}r$-*!*M=fGhMLzU` zqQcdA z(%@?Pvb(1T1`-_befB*|lEL{uepZm*kpKn4_UmAWm;6_Jn{ww$CC5%u%6%Pqs}9h% zDXqA_XcBCEe}^*fwf8zX|IuABbgyj5SN$Cv?#8@inv;wCcP>_B$3&Ul{A}JnY*4*0)^9Cn|M5N*_015v@mOmRFhCN7P zLf4;7J_I2LRFiie5!pHA#u{;jE+n4(KtE4MW@9YULNHb--Qw8B;&IBC%nepqPLtgWr}u9_7mkkPpHO)Q z-#C~P9J;p)wbha&EAg`ROLv5=qWO{mLO~B#C3WR{K#?l>@b2eT4 z=UeK}#>`v97wPdl_B$4EyDDJ(jHO_#8j5P~)2l0XQl49yNXA$u-f(_bP@vvfs+8^m zHF5A_yL<31Xf?^Ca60K$z>?Hh3#;aI+qS7UNId?2vq&%M?CIba88)zlf|#Xh3&F~b zk>3K@VqHYy5sZz)^tj?&dl9?1iHWth%@$BSZ~xBRtII>jO&5|+R8vz+lJ@O~m9!rH z=?PG~k=dWI_v>h5m@&>lbOLw*;1Lx)YuFoq+dEUqAa^m-*PqQHaG>NzD99Cmhce`_ zsQ45pn*U%du}dG39>zH4I;EW}zgY7jkN^5QE(1Y(?saG=XZe$P)4QEpPg9lOkdh~6^6pc_Pg?r>}(7_bD8Dj}cMS86$2QpWd)-(_^ z&&D4Xy;VwhNG5x#aUB`~7RssU@l5qYnf22!!V}(!FEuLaG3th87o#KUI_& zsG1ZgzcUMt242Sd$&=H;a^i_G@7tHEKYzZX+WD@1^4qs>P_VHHVwd#^@(>g*m5hJd zVa8qfkdZAh?0P&c2YMG&XMGx7zmz_z_^XqSGYe+mwoVWQ`3Cmy%u2qujcW934Ld zJ1AByGv2QB(5QW_{N6IxW6VUC#yd0B@3KZzR*Gp`WM?ahUcT_Ehq%%fgwgcl=HF!| z=L+c%=H@{Ctsip46lcI>}0^M$>7#U80>jN9I3w|Ft`;$>~E&{@hL>Il`;HjeJfFOEVNc6=32o)&HH$Cj%g^s*zB}SZ-)V6HJ&{Zr;~bn-exrj!;2csbL>MFgm^^_ua{D?=N*h;&y(bu}^4DD@b#*NCv*Tq%bn%ZsR;zA8 z+IZ}mWIzwF`SNb>UDbv(^mRH>~lF77B!ybTxPsMGX%ZEi5frr&gD5gFs!_~i?5 z(~?-uzTfUxC?3;o~GO1AMGEq%p2`s;wJH+=lu+}u1p^~N!f_~XPI=6w5_PO|Yi)ijd0GV6erq9AT9EvodORE-%H{mp0`h@*g??w&$)D)B z#ibU#;O6M4)>+!z++05%j{4YA>$@ervp#zK9A8ryaM^K*iP36}0k>Ha)d)*ojn1^e za#e4}z7mnwV^x;qy03|)S-L9k)Y8qa=X7;HQbwGU#UJ(wDiw< zwc*=#Fq*UY;-cqf^swtKAMLj83SKS}T(VJG*G@h)sq-5YQth6)aWSmij;=ZYm;z#0 z^|%7Sc{W5e;k?L&S43QaNBQW#ak*cgx{FEWoU5xV!16_N(Ayw+K07?#e0=KTsfvo%qi`BRnO~YMG=;gQ z3{o^aN$W*KG&(=%#mC#@qaT@bbBvNOiv^4^@_B>2nHd9LE3^V|~P(=LvOlC2|yt)?v zpU;*L&ZcW|)vOIY0iBBR{CS%`|J1?jb0}MSVh{h8V(yezl1*HUrK*Zb6lNS00qBh$ zLFtUK{O#Dw^dbGTl%$B-*JI^M+Xtl&&RVNlAx zBE>zuf|hH5mRE{Dzpl=7(;(OIJQwyN33wZ*8HDIUmWD|=K4g{GQpOp=*RNl*$8bVz z;hW=d8?R=M-TB1i0wrTf58?ibzHWqOFoIyrw zu?nyyDlv)Eg*1-_ww|LcWQe$j~<%4 z7d2=t)H1#Zl+wgnMMcFGiA7yslUkn*P-CPXe}8I5|IC+~hK3=KrGVXihRrl7IhnjQ zOy)Bdv{0gGJ!wJ~^u!jclF#POmX@D|RB;HnAz50QudePDI9Nef^2@0yn{GzgA6?I$ zJ%a)qd-j#Qda^Wc-+LLn!?~{PK!!Gz&Q=RS&7h&?k#+y5ObHR>#hjGQvK-SB3x_)! z8XC9)W3FGtN`inA>COmSVETnZv|FAI-0z7`pFYL7;rEvPK$4+MFI08MFtfX2udfRU z2}w(XbmLn@7tYbBbU& zvZ!A+NvBD zMVt+}Qrq`Eutk@TF;>i2!d|hnvvZT(!!z~DQ(Mve$`#F>*d*C}BB~WBD)(FCP7G7G zt#-it%VQbo#8RQ{BUCr7vf|cm`V1(J9$&d}3$3?zec#iUYnqU}7(vygOqp$)T`rWe z_dK4+?cacfk6R;-G!HmGjs67HSUwe`TI!Gco8mw(?QqEE-~XtO*)r++2XmtsH};dj zfxj5WF#DhO)G_>@cc5?8?!)E-lfVD}{LSUxZ@eD8Q6)w3c~B0|{2KcW7x6^CGsm6< z1D-_;s&JGjKc^7Ya6CnVyJ7W!`^TxyOet)M!&Xn8VYh9!42FW>@h-eL#G(7p5HD_! z++Vvf{ePMTri)KUZv@M+T08?Ga&fG={?qN0zlh#V233CM6bcm%HwvuN<8cRR7!K&I zVk*aCnk)pRq@)0!L^c~$JZ6bi*(5;q(aai4{(*MP)9Dmy6QJr8s>0jw&@nJGGhevy zQjYb_Z>Cl54rXR%*AEK{3chKxVt5ruM8jTMk>vOB5<7{|VOR8E%+%rX(#y{Pj>Av2Fj9s!sy0mWJ}~fCmELE{O9J0L45{D|CoMyYd8*`vHe6SS>WKcAgAccj@5kDMP zTKSmq(Srv!X)T&Vpo7p>r@HzbVJxbV!`ZktO5=r zBW9kO=N@MSc;hDWNz4<4ovC+}d=0&~L8Wb?v6LSLL8)In` zmqA1m(UFmn8$Pv_E;@qdXPcB}-l}D$-*v^bO}JEk4e|LufYzFtnqawI+*C^$?1JX~fx+BFi?|8s zV$=DwFOK89?jKi7$F~hy2mQDkcCjphZ)3jFl`t0C?7C`R^tK-ZJbYJI*Yvb)x@LsA z?UZI7>aW)dNnIY~9p6qNZSpJdynrc)T}lY`qV$TsN0Am6sC?pAY5d!r?(N;8@0P_- z+sX&(>!BZKq^EBpK&NTa&9rqq+!(ha8l@qLJ)UJcG^z08r)QRyZIUCse4fsIeFF4| zX7rj#17DYyOGAwUPboYoFs*Zpn*d2Sokd>qB0mztz%;vh@A+Efx7eZm^{5YV6y4%? z%7fHVQ8Ah9GCw4BHA$NvoH_)rwvk0T1AYB=p}g{Pk1h8RAV0aITLAs1Zvq5zQFUo{|r1*hRv|wmIF>gGk(yTZ0QyC&Y~@!*fQt>t$^6bB9(kM z8{2@Z=ie(lY*^LjFP5kVh7p^%Pk+U#$aj_kKarKU>vz%4(gKO5Y_7+E?!8i%Ay>2{ zRszzB8U1W=JMT=G^U8ELROAfJEKxARfY==2G6C^KK^PeRIw7jjj{(QQX#$a%ZT!V* zaeQNA!$MF@QgWcPvjqHL85DjL*uoA5w%ybMQd3@RcPuj0@GD6~d$FZk3jr#8%N)23 zMsG}KBRr3{`=8$n4o|-sEAlu5aDzZsSjWeAnpy9!JVqcOXXNJPA!?3Cb8to~HahpO zaK!kv5gpTHfvtV?HQ_wuT6+5M=h-;oD|y-C2j?N{0aIbbhiz@OUwCVvXJiz`w2|Wm zPC3$aPQk?+kL!WQsUNYhJ=iZV2ejpr|1xWLRjpN4F*TBY?v9~``% z_ApT8r|GFiXA)K>YI-94D>xH(k0e=shuUiVp}u<^3KoZxbO_iGQE>_v4M)B5ge3-9 zr_1v{poZGJeiisbH`kyi1-dS^9W?*nNA~f+QzrTCf1v?hyKaV3Tk)mNdmn$GKHn~a zA6T;6DJS33hkQ1|wOI&C2p0}UHCuf7^2Maq*Ed=0^+Ww0d7SM|(0AOT>3&gO*#1ew z#OJZOY=d30$JZi=I%Nhc*kT^;_%@Ug1~FJ4wd-vx@N;A2j8J$nQ?8SfDCs3AP({1}M+)x6Oz zl{0m*Ah#r7#^dI1?w^0+1SVD`BQujTR>ev%7Fq(fNJa7hv~NX;|5=9{M27@#(Y+p( zOKqQ+diKk&_Qh$-3nL9l1O$`%aZE8J7*{&x+5&J^0mc>*Iuk6%cD#1i#`w`n{(n=e zE8VAGHX#qc9tBy(MjE0^E-} zaYPn5;DuCeYV9fIz^0j{ zrK78x+HTDnp=W4_x2Prc7&_U+t$sMnZ0{lwmoZr7;RN2pP9Z!B`o!uX1b8C>2(Yj> zw*a3hDIt;L$8+Y`XY*^|3suGEPi%ukd;0WgBHh&CW6Ap&Z~i$@5=WaL+F{TAs{gLM zxmhtfQb{<6hOg?c-6U^k(M7si>c`l` zow>Ttuqz3ef{m2jaUVkH=?UJ5R#W;Bvj-stL3eOJTVT9wI>Z59M`&bCt0hH5M1+OM zy-bSqW@cwq*=WI?q?I~LBm!CnsXQ)&Nz!v6(PL->3@Cu+peCqvs<6=l2J!^wEaz5# zl}7>8!3~V50Ux7usI`zclm)OadrJBdzB1uaVHc&cQCIU4#*4vG2x{~{CbazTBMm{q zs#`xo_)&94b0^PlmEpP1m+I&5IeML6f7)yjE zH}&5B_F?{&0$5?!=h_$mX@7SEVNy6%aL570KI^^R{ecCd928o`{P-!fAJ~H6-WQOf z*B6277QAP!M^Nl$w^gH_h4-xw-3;$`B9#2hq6qrpN}_mi42J<;Fx7&Y_flR&2JL z)(tpb?zTlZIy#!0|KYP=#!kvmkt78K76>wA{kT~UXcqX8%@%B(QRisCKmnd`P-Mo( z+%~VGj!jB(9I7b28{UKUO9Zx912&@{D5e{nU?2$NXJ%RJL6>BK3`omengg=98j6WS^UI>j!}@{<~^F zAPpNjo&xQv=g=pC@)&!?aB1z_+zYLbj@s1o9>c!nDZY8Rxz=$#czhN66H{F{D=jWS zqEQnJz%EiKvRGrMA!hRWT^p-yNJY?W41?ThY@Y^Qt@F}ETX1kN-|CUQb+7h;doV5^0vE8*4(}cOE<~CT|+$;LP2L?EJgE_pSS-&l9ptm>|TJ-ev^bGBUoKTAiifjZiukgP$dWst1~-YPu${XA=P6F8^Ex zNfw~bfFu2XWz53r#J=E6{UNn+VIKl19xV6HqyW>zejfQ56qE7Nt>nHds_y|5XWh>{ zSVeTyQHGWV=)(B7Z~ugvG5pAl<-)7{yu7@sx8z_XP&|e=_6zj)&$K?Zrq}o3TFbZ# z=JVo)kAlog>ayD>IK$Q>O|Z7_KK-F-IE{8x=ooA*&ZRWiw^GvTn=Lv}v+}9;_>hmR ztVqWPYJDMb8{?#~Ro*MvFO$G8*XHEs`s344;U>6ZE+5nXf&g{cz<&>#hhXR&u!JqI zNxnh<4f8=9Q8$F+0?nH2{A;Vx=zeP<1NqXyHrq!wHsCh*Ou}uXuJT|sM?6bzr(AM9 zgoNEYiLP}TmL`Atn(TRWKT-#Fh2i=%H*p8NyI^b-TlrudOiUEt@fRbYwM-8d&7q&o zo$t6No3S25xba%Xb`SgcA^D6!&|_p~9@fYVpkRnVnbA2pkF9=bAcLu?rDR6?I9y~D zyqKf+cbo`*1?LAE5<-VP)QquM{XJDLYZNs1;ikB9=l4B?|ly4x#`xCBnx>kLT$-A%b9@7R=g=2VQBW$J_X^)vi-RH@Y6)Pu*RUkK!`!`J{&>r z|4+A9|1ecIMc%oh^?T5M~ z&IIKHoz}Ty0rj8scqY(}9FcwLw`Ma`I3fYFW_m=VINhBA<7dZ|+XHhxq+RWw`@fka zN-o47>OBgc{8dRTYIb)HMVrinDK74_$CQCzUL`g@9z$5di**=7p}(IM<^OW@1~@95 z6Ew5ZI9e31tKR30RA3|7wY9bVh8i9I%l|%0l@4KeSK1D4*w68Wyg(cEAhv~M5+bQYtK@}fSoy^n6{W`2Ytu7D%taPiFU`~wV1_yKNk7kmn|3Her; zkxE8Rt7tL^(_WZj4i1j4U|VDzckxZ}M3jSJUi$B*SI&TGwnOm#YNRp2r4ron&FE)l z`?tw+XvUy6m$>;T*_SR@4rp%}h=FeTMJ3Fc%sW2c;W7wT1{(#O0@~<9`W3#~ib=e0QV~~*7oJWBX(9W_;(ddP*!7)U=?{ZE6 z5UUu@&JWk4C3P)LuNN_R)2!Gc5vrcRpir9%$0*vd(#WJdR99>dON(~?`PuwgEhDcK zjLum0L7GuwqvcY%c>a7lqDJG&^2!Q3Z7^cVQl>$`pa-au@fZvZ6;*fU=ZSV zXDI{_nM9BowmvrO()*7xJai$E(dmfTSte=P$JZrjC4AQQ!`hR>)I?w3rZ3_z%`7)j zJ8)G_O+_S>+r?Na5~y(q2nisTmQo39*R@9qrkQx8;tU-{kQiQmevh{zV5`yXEUg1W zWxUwQ;4~?02-pHgv3{#126+=+L&h=hbA*jm~9Iw&_3tgaA z?F1c8mEyj5KL*~dhcMUYGk9~vy=u}ZBWLc*;S-GDUFulW`&IKH`Q_`;7mTByKFL)Y zfiWKCfCLe5XvkiqYEH~X?CYz*t^L4v|Khl6O1C$sw4F@eNH!&J;usi7*9Bu+VUEqe z1!(6qr{~@gYC!GdEnYG?{w=|(I^M;tz-Y!)#{$@5jl6H>RCYMCzCg3WhIV%sdCW^v zzqJhhw~mJvky_~`{RYy>%oi^L8NQ*@2eW#Tx11waFw1|}8uwl}j~;|^%R}Jyz;!X_E5?24!mE~&t*)qD*EbL5O%g49iKpj{@LOAlOW3!sfgL7KC!}$7$_*_B z{&HK;1*Y!?2iL(6-^6T!n5%qZ13<-HZ_?FR;oV-0@>52JS^6zSY(Qt@bc∨(>Z$ zk}i5I+a+eN_7YqIQ|NqhsfFNqV_dSNmw8;qa%Zo~w&3=Dt$fOa0`_#+pS$U2xpTqgdxkN^02c$!|q#dQ2KTL0|O?w}BKc7lSS_>-Iod;BjJ3_{^P z`kN2CY|Eh4vMAB_#~hCy0gIGL#p4vq79Nb-PQ{%{O~gMz>|BRSb$8B2qRy`z@2q}LS?8Z6~-6Y{HwX0Ot-P<0%P^#X)#a!7Zi;5 z1sxJl-lP%G-1aefo->Wp#kC;RU3P_kYCgKXxpx1PW(tuarbDyOs>h6QgCGA!O!Xnw zqFWE`gBH}z^>WF5*?+GI>K~w0|8*V2!~NF}EZpwT_vv#6go3ge-GA|^F^<(#EwdBM z8v@tpLMrp)n=RaJA9zOG*r)hv+eijOLHqAcVosDEo?o8oOd|B5e2G1I(4Qn*Qbv&- zD#6e9>?*)~i3O4rrq~1`2ZQ7mzu?zbk)jk#2D~f^TMRg2U*MA6S?DB3D)$CVRt2^DlDgUFGNibgW1FI~|O3_@D z?0r^-8gLb)at4<(xWzT!|gd{l`oGNt~TB*G2-J)Co&j- zZ^n~6gGxg$t+VOV8wzDjd97YltV1QE=k zEUj)%I6^^TI8<$O7Gx#`HkYl{Sttg;6y|h;Paj=aC?F`fI1U`2EN3HtSj5{qG(z zcbH)YjY%+ckakyqqYGg$z?lBV|Hx$U_nn*qy2uVIOtDI*k6-Px{n#tae^6_$AJg*d zUhTfbr*$>O*5gv_18`bhb!&qz5`$rwe$$S_iAqZPz})OEaszi4AU8OGoC98~+nl`W zM9#43KWFL#qjHpK7t`1EZ~0+VkgK}@;LP500Vt}Hp@|7_wR@9;Jsm=-9RLNz0n6M) zJANX;aB@G&xB#auNc2jIV|XQBU{WJ4EPOVs5hfKM;#VQPg0pm8!2RPtm#V9?I<{wuTwTqk+#r;i8xL8>S&exty~gYmwIR@*1^CglW7MO2qSzIv0>l1dWi zzq+EEEdr-BH2EEzR}Zfyu09$7_{hM-q&k2rk$49fhWXmo2A-dPYy|u-AJhVy1;&fRzyA(xymYcIqH*V- z1rA{-ozI)r>Bxs9nm^|1Gcq*1e;PzNX>oCQRzQ~41q%4wh7NHAzww#h@6?eB@_M6; zd&kq;xD^l_$uo~+?%#*u;$(#)2TcAcn9l1gg%g2arhc%0Eb=UZ(~|=aUG+ zK^O_J&nl&}@`k31eLXxS=xpJjmoasqO3A^Zvu1<}u5XPE$I^$Qs@Lq~WUr-Rk z=doukL;O=F80uF0?cg?L;fR19C{H^W#~@_`f%i1=8b5p03&d+UGk}n0X17oSYE9oQ zpSg)ADy2h1NuigB?xN5mWi7+RIK-YDYecxyaf&fu+gGjs=URVKd_4Z+eg;3#Yw%$Q z)20=dpu)k_coiW1xk!o{XpsY?J+wI#o_$JUzB<)F?|nrzSO#*s*C>c-Z8)qEtlI;K z!SQiR?a%?oJm?s}vWrKR^yLz~fWFaTW@4hoQYc6zg}q6J0^=&w+^GO6lMFC1gSju} zl!He}e}rpJl4$QyirLypv|Qs#)4)v=sAX=(!+ zMtvqBUm2lRuM8cfy$JD!nn?UCX|rW;{Kjh`BS+nh6MMh@z4B}f|9nUI!XM4!E)Zi; z<^)8Y{rhfP%~o)bY9Xf=oCMbm{_cmQ%l>6l^l&sDe`AybPtVc*hxrE|%`X9J;8zg` z#{Fn5BpQri0LMb{;{Z!34guRojhf23&6yEXEP~cq;+@4UCheOdPtGxm8_oUC00B%6 z`1W_a|6qjq)tjh6Xxl*qi&o-w5&-pV%Zc&`2x#^pFz31i_LlZ3a+n5&vQEE^QpP_smSb#;_`Y%{ZI>ZHm6mqR5s$GW zF^Vk%l2AK$^*5XklI~c*=g$<+`b1gWyx0DP6TLJ1`kWJh%PdG2baQcWv9S1rnguya zwG-4uh^;fnX5Un(a6H7LY~nh6`Y2X8P`5A|G=`H)SQ%zUMjwzL9BI;?{0}nPEG}Pu zXJ1B(!T%$p9VqR5NBQ!-PQNfdAz^v#Q#if2##^4#+EF|k#ba*8r_3c@fWZd#69X?R z80zCP6bA;1?JH0JV*)d_Zuj@vMF5j@{~~}-JpYLR==KqS_xJxR1RyBzxtIr!8vR+3 z_G-uP2ulg-8~QRM1A~Oin1ZQka)!;`@KJOpH=$*zI!t=g+SWE31~E*ab5M{ce_?QH zGT6B!tnrHB$Tpa--!!M?gDU^e_(FJR)%c@S*Im(USM?&DUF$HD9dy}|Q03)FZ;P>v z&1f!X+FPM|j^CCn!7i^RDkc_-B^)}Hq%@~>{9yAGkZB4(Z9sR2da02Fvxon;h~Q%n zqzCjI`1OZ9N2&2B@cbzh4d%W|$X^Kvdu(rSZ)*!zWnQ%2!d(DH-vzKbxO6Z!UQ>lp zhU%3bL&~#NK$wC|%eYcCUu%bVuQAd6ne*ur$V;9JH_KR$8gY?p*6U7QXN9sA}?b!(@oRKGnq8B?Ec!O(j;3YY9W46-iFZUsCC!*>CW_~w<; z)be3wpTFK|mgzO+y7voDgZB#vsli;>0pX|MArZYWmF27bE01!F5_?vjiJ@WSB@@dm zK)HKQglIce2oI(?r;k&o#X|$vEEbgq+>`dJp~dC77}=l`prqVP_qpEOsI8eh{i8c< zXLH=0AxkF*x&x4l|28AmTm8BO&r^5?&lVC82nYIaqdI$!aKJB~vSk@`g2!{5dw$<$ zw7)+t&U1TnrM>-Lr;u`b2Y6=liO{Qs>%$q98MHBf%sz0bI1 z>R#qB6#mZ^O<`5=IM2c3Z-SWpU`PtqheYvO`uR!wEEMzmn}bK*p8m^F&6Dn^m`o4O zv&RB}yG)Su()`*XAOG-AwP|Gh_|gX0{8Ts^B02YSQ9jI8Jraxs?<+Y9K3#FVfWkfb3p{`VjP`&-VQgU=BjdSn$%hS)S2?H$E@Mpq zDOTr)o#G}U$c;lxjVR}#HRd`F8@ua{wAo_6-n(5Dt};yDXa493ofv)d`OV87chZIE zuO2?~&Z6~qTpZz7=U-fIo}ouE-1l#ik$7yr6z1}>_!ks={af)Dt>O)(_tZ-{g(bSL zI!EMwOiy*Mkk7t9#%SNLur>PO1QmPY6{VQ5_3h2em*(fZ<|+vahu0U{*9;6yJVydH zOgmc^;Q>U!f3#yIm%uwCvpuDrGnw{s1@jS%FQ$GQ<6K|&HM*PYnzb`4-k(dh5_q9x z)YKSvmV!hIhU}Y{zIAnJ#oUshtC9X<&6 zZQ{g!M@H$m`r7I$-;ez&^|b1i*Y@~Sf{+;4sUn+!jTtq2XR?%#$P)wiLgR`B-hE2( z@L^D0CD#XBvA{BUOI|$Xg{>rtWIcWXZUj5KoGUV{ikfV+r`j`1&@h=KehoaNV9}!7 z04G!LDfWAv`X__EI3l6qy_0tpy3manM9un04-XC+k9_Ck-~ej<+PgeQoc$*rG4-pt zFhf_&gGH4?+MnUYgg~v}!7zx}Um5h=@_Vp<+H=2~8kSh8_GRetWDvcDE`S8DHYsMz z5qSzL&u#pxIA>pZR*PRfy9pDPpnY3j z=t|^;xtg*v-nA<_$E^0-(Z>Vj1BdjEfu@>msgKSFaR59>9ma7P0I1I!!Xs9Sd24EF z;K2ppr-t56>E0P_ZRAcD>~M5GC0Mt!&f(s*j_6v6?0x&wJ4FdF+Kzz^DyN_TX{rB) ztwG=flemR`&yOVNdT?D`V9Nq8$@ltaAi<(V88JQNJ!yXoF3r;_;y2R~yO;LgOi#q1>A{jt#+;EbKU+~KiG)@ zhqcStpIE|ms)yFr?@=fbdaBwTu*g&|Dj{lsebl(ZW)kw=5jyjc$9lLGFjOhO>FVx| zR^iy%+-zaB3Q~~N);{|g3G?6ME!e%XDz9&g=cltDaGJ1)YFyYp)@5Wj5FKdjqbf<=%C!zui-Ln3{d0 z8!c4!Am@p<$IoSHy1BVg2Az>(01k4Xk+1iiuk5qCwROc3ur#x;53D#BVSMUT;B6Y- z3Ay{KlrW1{^v(K)hnW>GqUT!iNgSDh0ckx^d4`162H><{W{2_Id@mUVmHR~T5&cXRcAN4Th%sSXwgqi@QxD=8_} zv_wWma>~zqxUzQPtB*9R_q}8@E~fsGksVvMM0OM>CG`R9#x=_vKkoDDSnK=uh!i8y zs*HqS4Y;R*Y`mk&jKky8#^z*SWPvFJpZVC;&BNbPa*yT!qv$?WK!?|$n_zxBKqi;R z`>HhLTC8ueYRgw`nymAyR219-@Ozu14}{RBZ<3KR_s&wnng%vmiCVljB6y1(UUN2F zOc8cRCbHe>-45%#X|+-vE+!qBlzzv8jVY9JwR*HN)SG;dk{e*A_U#VqQuPdFdAu%Z z!rV>H^h5un$B*TMCt5of)PoxVdM`>+7hCUF$JZ|d%GSMZf^>5~gPf}Dm;~&WXneJ`4NBdKU*!L>!G7R>6g3$x zcPBnMnMC8`@Mr8%|w(n8SaK8O7a5VGsHGRPQL7g9SKdyHA z^v1x7^5?@c_imlen?miKoP6+_@0F)#yE%_UeXue#d{%jElN@rkS`J7_rE^skIt)bd z)%ZiKS5;AF*Q*>@F@9=s;#8<8rA;wryikFq;b1IV8K9`Ksk3g_yIL_HyJSO=%TGT% zQ{-@y+}@hYDgQp}oX;K2eF%@6onQFPkq)j%ZMKd2j@MVNz|H5={c=zrKnS~}Jq=t> z`DOK9Ihf_s!mMXsWs_!c)PMhQh45NVREt05!( zbBjoGu1C*nHj{9!WWkK{b;8wkmsuSg9F$*B;Pu->v(?w{EY>1BRq~gRZFGT>o}Lxl zx~7(w%}KPgg^Ot=(8oaZf}*!+#DN0`YP8pH>@0S%bCt$PXICnF0$JT0SZ8#$9h6|3bjPPe`()D{F5LvAi*6{v) zGFO#3+n27!3Tqp%=x_o7S)V?=Ur0!;@Pe~*bMDXyj%)~(iNt|m`_V4BsfUCR&M$7O znDyDEQ!6($Rn`G+cms+$C$}|}MlK>bx*9vzY35l*f9Ey?zK%$MMNmRo8ac96BUA8L zipAFY*M@#?FxYh^!%ze=xPuZBNS<;UY~GdZ2TT6Vn>V+kutL5j6+rSgZP{HxhFM?Q z3=?0zg87O{5m~)ETG{8hL14w{h_5l?b_w_IpTpM1e?M-4zO98l!RlEcWT6(VJ)_RD z#ppy;HM%LEJlULkDC5~v>Q9K(%{(u>8($%Zsk z*6l?b{y6tMHGXbjQq%i_#k#)!znk$RmDXPT}L3gWIzrjM{6g$RD2FPZs1I@$<$L7NiB9+5NWC-Nt;vv& z1n&*zQ`eIefMS|yC87^D-O<8r(MFd?u`yu6HO0K61C-S1m4Hetn z5G)1xB#WN2LBVnR*7j@RbVp#@p<&AKFKu#{pPoH;?!HAU^tev)b*?OW^oM0Vb@m?* z!REXR^R__gdv50?A!m8%=Seo;Hb^NP;nXd^UOLPlj&8W(flP@zx6`I3Cm|W?`~7@G z82GD#D3C@IbfC$=`^IC__9@^3t+4ok8Q6gCsc^N&n`*HK-N_V-MwlMfzZs=PnmC>Q{n0fKF6T2$&EofQ;2v|QhD|B8W{ol8JrHsDVU ztz#p_B{`OUKfx=@kun2TpEcWnW=qIB*PTZz+sq6{dV=Zj`^PE4x}mER;^XBWm7s&E zq0zJ~oqmHgMR17YsUz|)LoSsNHCc;6#suXFr+j~ZKbTG8&aKbcy*&^vo#bS$!M~Et z_`_*NLS&BfVN^f@`QXo!u3NyoNk~i$wThY?W?Q`iuDaFd;=5_XV8AFwgB&$jNu*N! zV@|_L;{ONS>gSe%w_x8GFci6zrYpA9bLerC5ha&&!N|y{CSc2t+o+j^y4hcd1;4Mf zRFC5oy8uelyxXfGlR_K=t-FeOkH7iB+m#^}8sr1p1Hs&)5Y=Y8!KS3Fd@$(|*Hc2D z4^S=e!El5Fdm3V72PUOv2XlD$>X+JCRl!Cy{pRRe@szYqw~-Ruc#{+`L(orBVChSC z567X4@2T;=md<<~b})VzsH(3opoiq=Y-p(&u6b&Po`=~@1SFNHt;&39{$L>ckez&l@t_Ef*-6! z-ttdl=y!RV5y%z zT_0e957w0CHw%D^2{3ZmIJF|$_O$HRZEJk6>l4WX?d>HG>s5jf7){IG?)>4G(O1W9 zF7ZzH&|41tRpV4L89kCc@@lB-1IJQ|A6`2VZ_+9uC8amXh0EcPpFzX~uY6r7uf`ej zpUaoAKb)MM&$aM(h9~HH-0w)C*q^?Z5ayqEz(*!ZUS>Q>5VKi|lI1mhWse#r9+udK z!3y!%vi;!O2GlpkQMbS}b#(A2>q=m&Kb>@D(?F?Jio|fjb#g#Z?5{Ke zF`ol-oa@VC)LB?F&XO@F_edN(Xx=L2G4qH+zN<{aX_(39w<}KxMrzhxt=QN150m?G zTnVNJi)06jEZYlVU4QJSaD9fAy77Rxc;Dy5dn)G<*OD5_co;Pat?s4$!9xhV4cjk} zAu*G{wDLDH8P*;2)%%kYQ7fM@cwYY4tRa~Q&qW!Dd}nk5x>PUGgy_A_vzPGBqNjx~ zS;q&}OGlx@g+71e6;K*C%*mCJXmJsC*xU_R!3{A58QxP7T#Z(SMa_oy`g2_@$|*Qb z=N#9jZs-#CiPOuxZ@)(I`RNKouA~1KU>8yKSbI; z+u?e_#t2Rzb;BqUWzI(=FiznXDLRPWcH?~1{~=**)+axAbHLwxqY3>u%G z-swA<1<+4Nr>L>sS*6|wl}mvZz(;Ir6%*_E<@Phrx7f2MZuGV2bEIV>);$f~G(9po zs~Z_P!@9nqh}1vRwqJpKS2XmaGf`S&ceq}JU(!tF~s5@JjJh;$wn1oTOYPW#+>;$-KKc> zwW82nRCf3%7L7BKEP)l+^?4d?07HCV9YA`2nddypZo|44Rq7_oO!l8EEq<2vI+DJN zeQ>mD-*pws~r|TN$`dD)d(NKaV4;jIu6+80s^5CN>dbIN>f4CjDiThryEK$1p z`^k{t(bD2z*t?Va&jlXB-SsQ)S|w1N*|vMx&%cwe*q+n&>z&xMf}noRw>o-xNsITa ze5ynTdBe(1&Ht#mR@(Ta{mo&fuJgYw0K=qb7(5jtw=fsLu!?NRcC76)SxqFesYdoWY)k48kI)9ODbV1^{23xSKe# za_OwhB=MrZJ%o3D%jV4hC=nez%>I3aQYCcH1H)O)JLl$Y6%_&VY$(BlVy+WkuvbLo z0mc9sMl0iwb(^rS)%Q(IAjz)slpcs}rFvspMtKsAS?VYL3v1sx5RPqINvYbMW&Q8V zevuEBZIk?z-K~)6Nk1(a)P?dUX_pQkRt;k*M_>ww6dpel9uD3 z#>IqlhiHnJi%7(d{{6L%PtSCNX+>g*yqeh7Fe)NzXk>e>N;o#^`X)YqHj><)(e?AK zyvV6u>NyRxqDCeMKQM`Ld6_#zST67n%4et_;WtLyjqN5Ax{iQ>lr=UJjTKf!DJ{VM&@a9b!R0`DMsa=CVzX_*Gsi$~kHSp$CcewsHXUX^rw^(Wh zCY5pHU0`!ueNCpz!OCicoqirNFl1ggb}sFF_38u{Q#L7O?D!A}Cfb;}8;H#p9ofZ5 zW1?jj8$9=}y8)+A*VDhhd394`DkbL$Ke8t|HUJV(sB&U-YD+x1`=>31;jAf1=I;!X{8hx8 z^m9441^tW2&)1#)zpPILN!Rd{bofQ*9q(_zp&qKB)EPtT7FN=}`P1a0*k8Ib&Fj-62PN}{zL*Hxe`)K+0 zrlAdi6%M*A83@PH&>*Vr;Uj#@Y57MBI+W4C>ob;gt38BNX29* z?R;}n(_Wfw%hS-#(!)Ey{^Z8D%LlK1F6Pkx?!$+_z6**~rhY%b4u3K@_%rZH#7KLU z4(9m)&;L!5i~s&%`-0#47%>||kl*{2Ls)~IxA~Xb>k7S<B3N`f+9Df~AsA`KEQ)$dhK;p<^*j9hzY;@18x#GoHR)>QYaOA7+$(>h9w=kpcMKU20V8GfPB5Um^b(G6SjBh{99v z0$$Ad8?KLA$Zpni{nW#`j*-hRxVBd@Mf=QpMI3mwYSpN)3BP68N5RgLiP zZp$$VOdkMLxm|f(D!MzJUtcr4WgY%Akerq_=`2~}<5-H~L%}OgQwUoP{#O{Xsf<}) zzIbupj$0QX|NMvOp8vMc&B^1(uP0~qaj1k84+^|gEp z>#-R|cI!Qrb&8)8q`gxR-Z40mut{$H$8#c)o6-O+qsR`1E`Mp#Trg>B?-tvBK}Mo; zvTZwp$EUYgu!K>4d-iXal#=oUOAUS)1@Lphs<1Z;pZ7|y2fILY-k=Ctx|eNxtJ?9L z$?qP|ytSqh@YB{N_?8k!m5I=UcXBdoQ62|Q5C%5a_@x;vUaZR0?`4U}<_JC1% z-R$ddP?DJCdf{}$r#3hFUMvsd-#sxqAIwpLNhJ06Ey4v-Y33oiO%pp>!HwZFhoA58 zFE^q%#(m{P5CW&?@uZX#gubUXYvxw9PP;LU`mC|@WJun*a7(7`FSM0v#ATNDk<7Y~ zUK(g!6l(AqMT4s`HEFl$TlN{7n3ieNN3}1GdXJB^bNi{yIMpN2(JwAlJ1U3m4; zVr%AIer37*O3_t@>l3Hph2nhMEF+eP-+{^xDpaqACi1q?7hojic=EW`kH?YtCY&X6 zEfj+vovT=rwOYq0ALPgvYpSh~(DCkWg|PCK(;K3tJPvN~z3#^q*M{n$Y`=_ZOmqD7 z#Co(eDwn8xYP%m6Qa=Gh{xHJP=H7nyX0rG+5aJ%e=djftQE7joy%Zi+oGlkuN zwuaRaqMR0!7Mq`GDr2T~l<$MDN$=gmfbpZM*Iq21MkSB>KvP_*l`)0&2Ys8L zHq7nuY0{Nech&wNl&lG+IIprvfCcz&*{k30>Oc4TVX%p2=z1?(sY8#MQY_{6aPdfr ztxxoah)quQ*~hQ$J~k59*_*mD7NT!7=!Vl|tM_aVJO#G2Y~6Kp`(4tkAbjeDuRQ$_ zuKR97`<>T^p01H ze@HHKeO62m-J{MrshI>VY+M{S-OPMJQuWl{Wd@AL~N$2AuWFU(QgaDp4*zcJLnY#hM<9h${r0HD3ofWB@(%+ zz|W(tV|L*}beYB4<;&0&-uOp3R>%RREimhKMS`FAm5zd1uq&{wL~lgKPv+|Lk5Dtd zsg#v9(lOXGIX7PGA6ft+Yh$3{MqbgBeEx9Xh@nBW@UT0j%{()C2Sam9OG`&bDPAg7 z*~eg)?CmFDLLv;GIGi75u*cl$dDpzDR&?Vg!CY_!G=z&G>TT;9H;5Ia{aDIVanp3< z3$9G3Z&N2b_{L`K>9<6nW}`8`dy~2P_wW;QmpA#!YH4Xz@vM(M=#UH#P)?2=^utLC zZyOrArJgxUmby-w*~IH*Vr2+;sVJDO4lE85K+(!)YBqc7y%HsHL1x?=x$Xu!IqjV*O~_hfjYUEOD}XD9an z`vv&;5^Xj$@xKY6jwDHI^b^+~@Oug?YOAAE?8xwN7)R3M#| zssJ9GnelaUE$l`p{z5}m9`af!P9Ml7X@@n`*Y6$+=})Io4 zcH3|}k{Y?gyS*W5Vp=)*?VGwy0~x6lnHFv@4NDt_BC1y|ZukQv2ZScMLv>z<6JizJ zbJ~t`c|KW}0d>c=ZHFBCL!2dAS#njlUW;rAy)&Xjd2AM{*{}WW^{L(s#)FyY9ov76 zOVb=4%BICXHy4?G^6Od*fw-<%(`^g6qQI8^2`?@kDTem;cJ_l)v-7ZoG$I9xmxj?@ z;+}K)G{&;;UH$+R;<_NKdiSeT($SH^*Z)dr=`mjpfy^TA4oU%1+U)`U*jj-(Ra+;R zXydu6R=Rx9?%ThmJm;Ol_%=c<_hKbmzYGlB;^n_YtxZGsC|pYIq;=`C_}HPo+DA+l z@X2X?vn~_jADH<;ja-z7&@L@Ld31(HTXkB9`TR@s%}dLHA>ZxwErCzp{ua%B4YjGY z{o6}uecbS04ZzgDS*d?3a~<0aqUnEB$VEn!jyx-UfO%MNIoP~yzP#B* z%kCM>!QK`hU*0$E!tmxPG|@@G|-hHpNvduGl$3)5RfA)GwOc7#MYi97-(+zE(@W$guXMW0ap= zT0R)W9edEa49LXCzuwd`#*WRltGi8&foh0-QW$r&XU{f zg^`RM6;M}hzRj<#9!l34btY@ZYcht9h#TPw=9UPL;i$|dtbaI|O(uP<#o+(_sKeiz zn#b4L72>h3oE_o6-0Wwjd@*bfXqqYQg#j2~oeVnx1uLIfCHZ(Ybp3Gh<|rW+3f;`K zVxDV?B_VaX*`y4u$2_sMwJrBLM?{tCP2Hx)sB)^g=7>{o_(@m3ZYt^g{!%nb6x{<% z3?Yic?Ot=Ec)`&HB<%Lmi_^7``^w&IdHdF&^&1Wh%mi5k!JhW?>{r4i4&_q&h$k|K zrnvpG(PbwFdZB%UKB-?^)FC%@qx)+mzdpgx4M18@Tw#3LkU7V!m7dE4K7hdyRZ4@` zT!j}=#&^ySJIQUFT3_VEB_GTh%po6dwb+TdKE$76%+i$C;uOjZ3SzE{nwrkra4PLz@14gT6<+imY`TC-oO6_33i~ zLEJ$K&VSSX?!!ZF-yoOTPk30%=3C348o>`(e_W?RusviGqobq5UFmAPZm^196p2Ie z>FG68SE2wynpOuCC#5cyEs_$@xm>s~fac)yT3j2(TOu-UczzBa`#AqK@vG+>^GYX) zv6sLU7)`T70K-Z$M(L|jlNl#C1Xh@fqRApTzsnZigxav0N$!v3%V3?2toBn!_ohb8 zP);>!Gb6f4_Ubie5$f;9;eM3!skpff4Zq8ZKJ}H^say(uyZfSanhVT&Ux8o)Jz?_M z^#^#5Dnv&_ljOJSfT$?Wgtu>ZHLmw()ZE%9r0Q9wAN;_n!^LD~CBidaP!ehbX-eFY zm_o}PW+kzNBC@%EB_%_9-XMw@a0Y?pcgO$`mz)Ae);|KcXH7AO0PLGx+Y|Dt#{W|QFQw5v~0s_8hs z!^6JDAZiJ5KTM9mfDA&W2yujA_$zl7C42TI76=~>2s8pU+Uqj0V2MshvCiCeYJGA@Xu=u({ zTQCO!jP;(4(r@R(j@8rITz61`Yv)3STK9exu0NPV7qR^F%YO=@1RB*SQ)>v^t z?N_R2GwR!PKv?)X=n~LEc&f)q%otYd^6X>Of7$^k{fHds94SK-xVr%5YEIWA{H31fvXEbS77Q9HaU(xyQ9U4yfdMr*q<5MhevyBl+p+9kEd2ok6 zivY}{G5@K%KN!lk?9vmkeXTw)IvyMVm95;AWDwc(FGer07K@VMD@NWZ2 z_-{Z}FMPqw41P2_j4366`d>M;J|)>Kyd%VW`|DcCH}Id6n4{H)cSCpvMIU4!Vcj@A z4n9MkJbsYLoX8`mp%FeS3*|NX(Efi+xt8EfM~!DKzIBZ>#waUWrkF;sy4+K_Gn8;f z=r;0IN=n)VS7*8B2Y*7}nl5q({??b-jC_K#@l^u6zB>&0EX!Xf|fwq72GJkG_Mh|Uun?Atke-^u=m zK8lN(ML_VdeP3o#(JXTH*RFt+5|i;dTrmfLNNl1ymYSFsCks70lcdAeD#pCPOTIub?s8&#)3VV%m?Wj4Fpg#Yn z(4znhXo&snGth=FTtHW1cprVIV;GkFf5#92fjANzky$}e-WFI9KJd=2PS^q?3*xQp z7WalKkUMJ4>$M$z#wn=um-a;pD*+cEcLlTI#J%nFS`n;R@riBA7MgKRFb7n4Xz|Gh z$9OGF%k_D^m9U2**+Dn96fYin1?|H*^o~bppWx|9Ogt`ZBdYBa7m<0|`QAj@ zlCTO3<^KRrKFP-M8(-M82H}lThhB}hp1UTnW8X%1H7WW1+qe6~#JCJkx8}+v6Ddvz zSf?o@*2lGiAwVWAln4+fMdSxM*Q_zI2Y!V%*uxub5}aUlB}il@>;T#jILUM<*fz6i zLzBjgoI~#wy_t!zo?1()pC|J=$`qr0x9ws|o;@9D&iVu&X)p(>3iP6Mup1xp<13+o zy6OOtxFmafXm{AcA`MX7wInpqT7-W`Dx%a- z*trf!0F$O4;RZPjG+27~}A$7eR)8YXY}P>^W#7YC@d)q-Ruc-L1KHiOX zEiGI2;=t8{`2A7JiC7aYR%;tz@#dzj9(^+#<}&ZE+p_nkGN;Uxde^w%w_3(m?&5ewUIQZW15t$7~b zfFl?rKyotjVYlLBZ0qbSyJbffUH$YfG=th&Ugt#EJNT+Q6H^{|R~DaKY|el9&(%Cx zJv|1YMCsPu6!-0c6}dy=YhjFig)p@taLCu=UfZR|M(2c5Dc%OcA|eON_tiv8`O+tyzv{FLgpSkAb#2%1ip%v~A=D#7kP-d1k3$~n zPl)D0j|}fcHvOL~u6(q1&SEYpbow&t`~spmRQRS5H9HkEUL^&lnnu+265}4BSlO*5 zeoD-Kp9$}CK}bAtyV0jIU{${6$5TU2CP~F;_|zVnisFz5Hns0lIhnC^94FA`SNc2$ zs*aN^AKL#ZE!Fz($M9qczgLO07rTtlb}lY#JSF*YY8Fb6T&vEd`F()9U!5hrzL|J6 zLahuPPw?q_VPd?X)H+7<_QC_}7$q@Kh(OI?vMoD``%*^!APX*y8)bsr)Hz`a%}pnfn*d?&gg<*(k zNl7lBgN~!*o3|Dl97JzUA7~4v|IYgQ@yQIYdE%mRW`89jGclvD12Q~B%6&_-@)!s@ zzI}aQdF0!uG%1XS!Al=oJ4FOT(8}g$u#`foXf0NZu^iAPN$fB1oS(t3TN)W(E{_6h zCVIsExXuY&HWtPL@qPHW`Sp3=Vu)J=7E>4vU8xKa7|;?TZNzB_%& z;{7A}lOxEP05Jdj2+$Va?lcp%bn+&AdGVN@oya>CSZ$s+hFAYz+Za$Ir1|*X0A(J6 ztRTX1HUq@smw(5lo3~n?KaV~KQ4)Rq`V~VdA^ajV3;0H5L}m@Ayla>5UR)reuZJZU zhfu`;IcJlkM_+7Y&mpEha{Kk-Jub4xg!MQs)L>Z<6Js*yua}+xN5(pL`NqV=Apgf- z7at5{UN&8A^`gLYakjG)>S|yd0M!Yn((&ln`9Tv17|-hJMxQ^>%F1K<*t9+Y+gxj| z*TnrDnoVWdOhX1dnunY9?Jh>Bp3s1W&~lU4>j!<)*|QZdyVZY^`wR?< zpZ-5W29}DYTLUZX3fig$AuUFQM^ezBqYrD*BCCSmGv5(|tVW$-Vukb5Hjrv_K7x7m z3iLiPwdR={%JlzaLHJ&>($SpzZ|x3~`>?j@bcWkb|2?d$`wL6aWs>Vld;Ivo246H& zw89>9ZKGrO@5zOj;sg=9dx1}895Swu9Yo89#MCzMr+CQ^cmP{Q`oPn(D#0AIY_PI8 zo;c(;T)KZ+@L%V2Fb9?|yawVWzb(6jd6_4Ijat9K(7We$(gVS3iax;{sD2+mdW2@_ zlBfWu@I4inm2iOnV9Qv1LM`7C`U$Z^&`MNt);gw(SB!KRAR&d?k~;+b2_Bf`Nzwa>@`i^TZ zwC0|0z*_(ohDt$_aeO%J>fC;Y5j_ApF!X|D>gzbUXSaNC(?D8A1`FGlsP#FDK0pz$ zafMN#t^c7H9YXpUl4O_Kb|S*UV#lRW^9OTypm+BZv;~#;H5bARHl#CrB_s1Wc5M|d z9Q5}T%(l+Dm;MU{yjy|_@W7+jnIA`&@BWE05YJ(Xamj^Z%~CiYoJtMXJ@hFO+TNz zml?`qfbVk?Kbjy6469UQ1hBQ#3rC-Q6#V!lcIY4uQ+M~a7Q!zs&bb*h9p-~1C`Cq< z;EnwvbMOpPJjurKzp0;xdu_{%!tKcI_e>*{BhWMa;Zx$N439pCTh((QrY?y7B%c^2 zElhjd07D)ua0#@1YbKlsuWMb`lQ%2oaAq;-m{aVR2-mEbucvn$U_jQ$%{(k1o5 z`u;dQU&>`{4?JFci`vpVem8-8sSPFHc=RhoW7q1 zBdx3xb0`~?A3^8yw{g8~*5>AtpLg_RIcBBF*MSh_l&24Wy;xMWgcB4xAy++z`Xj7+ zZw$_gy)j>B=R4Kb$GuLa8kW?T=yH!9c(pu>I_Bf%eSKpNF~_Ba(u0vi><=2#cY7Fb+K; ziUBT!DGbc!50~sMF#cTk5qJ?!diZFe^!ae0P0^mg7^-XH*)ouU_Opwsx4^R30>*(_x3xZ55@w^c(xrqO;Y{Ovm z(7ns)J2clg(Fq_;{VZ7-oMPO<{t4}o_*ZDp=AVfg3>VG*&gEiA{%5?`!+(wU+MLI! zf3xBfN>r*NBEZlSVvgsfFT(uDcEaav2L2YZ0sy@h^Kajxs{D`ptQm<(KJ~$TU54X>sHdC{Dg!(n{W83Q+1P)dF0hhHT9RQ)dH@LH3!b|8bGa{ zocum_zGTEBBYKQOJady>R65sI_(Egh*hG&5J>Dnmq$%pTDrM-hg=zPqX_w>@2w?a2ufOt}# zWnRwC-@ip8los_ZEgKRopqJ!iG=B8Yz97lNka_#|vQ>c2?;Jd!%~2lSL(7iiBJ`OL z0Eq%IwmbO20CFU|9wXoh7#zPhyl~ zEnyoZ+~g3ZMU;weT|?w?5k0sAa19<*%o$1^-pvy?4nahmHkA_h95);j#bU^d?G*dVB z>AT}s_90qEIT59Iyc!j4qv6595DrW@OSjf=*zp#fQ~5fKrQfsWHgy{0div+nx-$kF z3+7Ok$wlcF(&EV^W;E5UEG_rY+dZ19D8i6@?VxKUZ}`W(6E3p3-E)7q_h~O_7!hdt zLcglB(1F&+w~jGN%tnUe0T|Jm9q)?l`Z6a@&6b;0AkqqItREegI<;TpwPlmLCsee) zKJ5-RkqDptuvE9!7@$a2XQE>H)Lgp|k&C%cE)CU4(}ib2nWvW(<2cRD?K`A^$Cqs4 zrOzy{;TJ=GDMM}$w<7u*vWwVmfb;L-xQCai zl;bzILiY4^+P&+s*erWTw|K?{kuWMIOF`iV2zuk#qO{x8me$W6Ba4eUxvi#ucCwq4 z)Evvb#r;&%QbFhO_2!NJI^D-IE~tGtlU=W%`fJ5j-;eAMUjz+qQMz_9=iu?nM?#PA zrKwiE4XR`PgD*NWaT}8;PmY1SM&hHe$Xok+g4GKPjqJM&-#dPC`gGrJUT1IVpxEMH z9#WR#O?duxx~2K!W06zvPa##FCx)7J=d9rQoR*%wuNsSZq~cZuFRn(#MjFXYA2={) z6b$$l^a>RVi$fzOxUDlpLW_SiUB=9tJTdPneXPjLc z%K3KtH8{F;Q^vdj@6j1IZ5b`UtI~G(#|dAM+Wv$#4~R20S2iZO+ieH)Q zh~XBXJ@|26X!6HT(#E7~1d<~!4Nhy%Ic7LZS`H)F!uak3^E8#LjLVZ3A#5s4rwwNr zi*d2IfOLbeoIfA^D#YTgdh4KT8MPyhqLW>&)0l@TDas-#7G`FJuu4{T00%>cec%A~ z&>D79r@D)~&YmmQ&tk)(sAtm!JDQ#qP!qn|%20 zLJsiIZ^TCddi!A=X@pB?!Pzxk$?wQ62`hUP3KAQ8(wKy(tFKu|-)g_x2FBDH+6yhf-M=2507duD7J+>Pqen5`Cb}iMT zlG%>p_T`=r;m^SmwdG7NuP4iw#tlK@1Zrhrr0WJax1=QbZ@&hGzW3ioVScpP+rT5h zeAqm%mD;aSH&YOYayNg@VoSC%xBl!a1(v8(`zndrF88s{0ni7%86t$S|27JQu=mw<3w|5l(e5a zw{-}rBQb9N1-2wvn+eivR2x~qdHK>!coN((qM^jjeO1h5>@&fV;b^JqNfV-JuY4|u zPOW@-{A#j;Zmn@n_Kqy`n>KxQ@tY!OGpU#>fwVf5Zj~bWGS?U9I~R4U6dn*Gy`fC* z2O9Smh2#wnW~tE}H{kkb<>NRm&_bK+UIKB-Fz$*pRNN%N1M3*}#_~d=T*||qZ()xr z^>!U_r!_WF({gg^ha6+kEUJG*%qbt+Me##!@P6lQY-~aEhf|&SM%RaiLn^Qy8`PvL zuavE^nmOw+k;rXZx2EnPi{9@=($}c-0v3fvf#i<|o{Eq_7hBu9A;)l90PM$eJ2xV( zN#JU}%_r|cZu9NNB1hE8kMG_42;18jr!nUuOX*hsU%FRrTT_9iF0+n-NTfqiJJuHn z?efK@j?3koSOkauqC~uJY!q3HcGJsn0(q7-c?Vjh*jge^mA^ym;K5|m_h5pMuy_!m z!w-LnM}47Duapm3AhJ5b>dKo zAlgdJ*GY#!e0m<-CxzUAY@hL5f!REB8(n57q2%OL3H?QELvC*F;ho52Hk?O zeh>n=Cp0UBsE&@`L_uug_)n|FVz(9B3a7;kXkJVH*8`KDBW|5J z!#Z=om7drX7e^N7%YacU-@-1!6N)vRonM0QBB&wZbr^Fuw6xkRr*Ia7`&ihqIJ(2z zU=ZFcLLbsSH4Dym7+)8oON!-a3w+u-;V!Rn^ne+`H#F}^_nOV~LNq{+!~CZmi_Yjn zElkHQw#>*2mWAN^+|_S`5aIKO&gmK_xMkWcr-(aGJSXHJCe7(q7;2Osw?Bey1)btC zeX6c*J0Wzy0>ZPGWh4fEj=1+qptQ2gD@sqdba$UauF;q($P2G5;yV(|#UziL6dYHVfq~pjm}H zrs~ff@(`upns;X}&2$&FDGHPr<+PweF=5_Wq?2xDW(;}z)lv z^7x^ChFcTr+%|d(i6QfAygQ@?7-cGroI~{WrJ=ZQTdH<^^ha&96-bCC=JH-t5={}sW!$GA~dkaLTur(s_#RL zad|tR+4)yrA!3a^GspJ z4({Cg#Pc=Ifl6@6Q{#!?S!XNU8!o0`-91?Mhql)uGn|_9>AWycExHs<$l=81h}0@< z$p@puly3d`9F9Fim$~4x0qY#vS6_$!r^BUpTT%P)sPkuTW?JYF3(@1{)N{mFb-)%! zlSY#VjWq{dA}ip~_EY7Tzw}$ZJG%DJBhX0biAKoVz{GSp+#M70lJW~Im);X!3f>2=#N|dDYSq~wl$-Bqv)B*r=53mD_YkTs-d?} z(FR~Ezz`2w@&aIU;~rXx3?rq*6(I@xM}>>jP9Rw+_}3UI53Mz7s*`^tTmyEQKBCH$ zSkJw`9`o(+gEK5zK%*FneA?%CCsqA3-WNmp3(WHQ7~4I_=#4#vby}nKzmAiF7WAziRFhB z(65YC^xIfBs+Ej#g=E`LFaO*n3vuv<3RR}~d-skQXP=TBy}IsM>h7>bNiN@ zH27FDEu-k<-PuXLTLQG44$;-mN2aXa zKkCE&A#)w-8vBDDeRZ6P^)3@%-r~tYah+3eiPmjqZXPmH)mrS5lbnpspK(eXS`IB| zFfQYj<2uKpLmPbG6?Z{&gf1V9kWeJd;Dr*Zk3#y~z`!grp$W_QQyK%RYC_6>ep_POJ4cz$%E?=5wKFoL1`Wze#H~v87e(_e0Y< z@41NN2g1K;mQE)up74BsiS~Yz>(3MBqFb%Ug%bKAXLxeR_vbJe29;I+#F+B^<9>ep zPmJk1Lzl7c^TNr={f4#B@iMzXFf>VTA~IY&F!3ZiKuA;+BW)4Oy^b9cW(m^mN?G>x zDz)o&TCHNBI0|*_w7@SS|tFAsxri70jt~L+aPi|knmBN z4r35db!)4{Vk+FVrtjxY|Ga*uD=Q~yD6tX76vxqG4_*SJ#Us411z^BdXXlPJ7!`{` zUdPL8aV`hW-5ZdGCnsz1mxY}UXZkxdpi$@A3>m^fBl^q zFl?+oNyAn3+2a_NyTN+n7`kiIiE&)U({@s^qD6d>K9zOGs9&Xa$W_s=&N?H%)=;0= zbPdt$P9%#g*GlHxk+8~dK#ACa`mZ^A zK(j$$@yl`Ps@`#UYg`#A!600!5wn_@Pqnj|w=FngTYzp$FZ#c5;Iia+(*NO;_grZN zSD&SMk`bAno8(}QR`~OZ`sp%BecTXm9%5V54UYZ%+dRB!`U_A*K=ZNA5CjmC<}hyR zz-q0d^V#+w!Ex&v1$Y0vsL;?x1X#1}x|$3VVHzqWEPlD9G*1d+(8)c&Ub;A!%2kC= z`17a0j6wZ~DUtF;)QHG_vJla>`E#tUW#}7xfqp(n#tf|3EscWNl8ruphJiuz*s9`A zB7gAH=$Ash`IK*G$YiGYwhr`#rouj#W7k#<;nU7#vI>x8Ckt$+UsJ0CzBl{J?PIc=fT-RHwFd zrS_jgn#?2BUOn?ca)SCntlwMkiZ);2Qk_IRzc4 z316Dp<-OVh#ko{$CuBck$_V+v@q(7M*j6dmiSzO+;9f!`$S8Bc>RnfnHZtx0Sg9Wa zutz#TftcmA7%_uzxTBmHZo5k_Lv({Lt2cNF#MRy(D4ZPSoI1UyZz&50qb?HbDYkQQ z{Efiy7~-`MFm@$5 z1zxMH&o(1OYUdnBTl``wm>;b%pj))0ufN#DCC?a;h+jP7RY&VW>Nv)TS__&NaFhXU)?A+1O0f2degK%i^ zcqzi$kDpNA+^7@ETKm=^bsU^eZTVCCKc%g9k9n=6G>G_Vm^6`s;9HnqiR{l86I-5V3qm7pc5hHQ`7Ev_g^M8 zuvC^#)G3NYrsdx~Hu<=adC<}Ao{FYxKIy6;3(|65yYt4d=X^LXY?jyRZ)ealD5Do0 za4|*R3e^tv6b!eB@`3BZuSq4CszGVc8~YWK?eM^-b7u>?RL0-3(Q&|?5yffSf(Zyr zP&aLMr2HNZ`>xFOyLazKsF!9!WH`Nxb#>TP8WPaacs71PIx63??r6Pm&f25$i^yI- zO?}gcltN__1S1T;(<%0bcKh(ozqtGiSg~!wJM+dtw__S}Qs2Mlxhe*CTjvOi44RYq z-*uh~`t`0{aRqRj^T;=d5>6+*!`vKZuW=s0_L%7C1B(c~hgM~u_A!`LM3A2sW%#m) zv$dMl)!h7K{iCkqavh&>dP+#}N=N$I$$JHKS;tLWLi*|is6`oP3H3+@PPVNRGq;p@>x#&+BV`bDI z@0a@_4{rTZ2vw1^=%s>ZVi7*shF*E_wp%P^gV!oApO;fbxe6&he*73^;1v)}g z$T$xB{Y#;gbo7L4NnyHnh!tYS%_5lB`1p@xiia0aJzsF&|IEXpuZ>BZ-}75Y@t=?I zOnFrLLUSstL`;ibM|4{-a%~!56;HSPSBw+tCZT&+2=yHR7f5U_rkTD|UT}GIr-N`m zrKCj886z*`{ZPML%t#dIrr|ti_fD}0zXnDcJi%sVQbq4LM0dKzL1Sdk2GOIplI#mg z8tl3F)%ll)Opowp6tj=qA<-NPbb3fj#Nc_%ngwAv;RqpWIk}-{Q>EynZi#CH)F<=k z)A|^&(&~<$D@CYseTj!*D}??EEH}iVC+H>8oK5wgQzPN54BpTKlu9dj ztuP+kZ!6CnqkX&2-NIfsoCR-e?}+Z#S)r2Ams`ekD8_j8k!w?RhygK3=!8(fw|-8$ z<?divO4`=>!Ll++YTij_GA7}7lCMr9@L<~R>tLqS(=D45|5tSS+s8Xm8a9a z{e{E4_aoNjytr)hp!hRt!eh=txw&hIIJ;^ps0}-^kcs<1THe)lgt}CG1Z0DuhBl{C zJ@^Eq%3*B*l<9c0@kh=d1EB`pgh33aw!dZ|>C>5UiC~kvcIBUJ?j8wu7g(kKJ_0El z#28&Qp&)^2QcAE!2-|X6{}}i#@-)Mp@@IIwDIdvnh3b=JO3nf;`+SpS9!sJhXs)Mc zGxP0iCSk;GZq^(PgF5$Bu-Z7(9q$}Uaz|4*?vq=zTsOfqf%Y6^9WCxh8ArkRroBLR zM)PYsyMn0Khp1Lmwrbir$?d0XYA>*LYn--4D&A{jmbd5M4Ss?){qw2c{L}PBilSff zeCXnDn2P&f?7ew7mTTKSY&BY;WJyYi7G)-6)}SauLdi_VGRu_ANfeF7kQ7nonaq_` z+=dXhAt^;>A|w7NPhg|Ll)I)ZAA?GoQT zR|IV0@)q&%&D2#0Pift7kdpPUCV<*J@&4r?e04j5k+p}q-2J95I@si7p$)<8L@Y&; zHN#Xxao3KOi-(ul7{>z7g$G7DI_NsCaz;n6gM&%rD4-Aa{n!ma1xr#pFj%a)didWP9tIQF4xwv%{H zW8H2&46RR4>N6u_6H|hM(Uk{QzT(sjIIUGU6oPd-L?JPQdK zP%Tk5*R>`4%<*$MypL{quyNg!6cmg#kBsG5Oo4c98sbI~(AkB!mYVOPk#T*6^KF*t zSY8nur$7M>)mSQgQf}F%7?gRYk~8k&?MX0)15}KOvQymz3XLBBJpCKcH$9L;4VcQv1zk}}I8pZb`JnpRUR=o$$mYZ%%n~Uz^ zFdqLj8gw1*#-R$A%Re@0GY-owR^Jg`Rga!`+gF;sNj#YpnawtSc&Qft{&;PY)Np*b zeuEPdb`VVj<$tlFdJ~MlKWL4wd`I zxFPCSk)5zQZO^@*5WKgWp86E|M_+1-b`@9SZXmsgXrP z;!DHhwrRD}ZHtZkEYGFq5O}$j=tJEDMUXE_Suig~U5eR^L@HbAfk5|=5G8>~MY^jv z`eb=Q04IQXvuxAs)`*BLi@OBQz_2^~BW<~gl;;2fvETUH_lbRX)wgdswBUMSRJ&i} z5P1Tmdjhhwg%N#UpSb%EyNaAz0`W(v?MRSrI{YB>^T|J32C&?~$MPH5^cM{F(l`QU zb+;*bO$2C$j~WW;{VJ%*-hoc}(o32!O&$0`o7R{MZv|H*?9Z&~KvVCt%rF>5$0N_e zk==KAr)pNmmvOu&C%JMTM>fNf2wJU8qK%+DDBjHZSwe>u*Xd#;2tc-JZ7-}RdY%ae zdqD7fW1D!^H}=%WT~z}?SvFMcWtupZr*vyJBxtxyS)SgqL!?n7L1^jaE#1n{dy|j> z?Z@FBWTzEyc;~azZ?4@j_2XbN!rqg2jH9n?aMUHKnq6-h_m7SYB)>uBN4bh#b`Q0& zkr8q=Fh(HVfiH4SUfw!ZcqgO4yG+a8^bC+|-KNF)s-n*zV4noUjJ|e9>&8ac3OCaV zK{RE??;G$k$z@iEdoIctkP#SD2ltCR5j{Sl3Vs!!)WD|tSvCV(S?<5r$?2MD(C>gi zq8@xCeUrNS-eV3$9cC8`rkI{~e9Z_w{Iy5Jw&YrnZGj300h6E>V<4N(M>RRkeXb0K zKM+u2Pfs}Qa_#f)4v9*B0Rh#lXW8KX6X%qEF2Z*-3dHGmnKmF6+a%sTd~FWDuON6p z7+K}Qt1lgFjl1y797WQEY$?bTV1;0k`m6*4d_=L5C-5K*3`Ry>V98-)7VcaGD?!** z6m$#|(%8lv6nv4!Ri|plwqB+M0t<~X8pqVsn&P|g&t0S#4OoN~>hgq*LL3h#$7%O{ zkQX5T6GXwOM+hq+jE}Mc;no-=pE+?IghI`)JXCz)im+j6)p8)s*6tQmNE=HU31X%a zjNi+|zJIdCm~b*f3GNjxWksOAvvMKT;XxvLPd3E`2ITfF(DtG^KsR@J^n!DEX;1tpefMa;P^Eo_O)Rug`pK{G$+g)^44#)@8ARBflatBUztL+)~mWAN5(8iXQ zdUhvpz}z1=1^6U2K3(ufu z!Jt!SH9yM|sJVGIv@6*`g*%@*TjzDG;P>tlRp+9T zhfiFv7RF?7@o5943)!a&k_VF@&+R@=k81YIxYPOb8h6P96Aa-}{2pX?SXre%qALQIPPUE_#R(FX^X^-!ICjAzMn#Uv+Pj5t zgO~G+7`1}if@XlwP+{enJcNCCE17)$AA_86uTK8>_>q4pjA4Q!kpGheVlcVp_QK^( zo=j>$9zLy5(Cg@*oLW&{!FQ=u#Nez_7bf&HO)L1-e#pf>G ziWV-eVpRrsylBBh(ec&7R(0B9o%7)G|2mePUBIGjnj=IQv6oy9QeVI=$R&Dg2>x^ zDD}k?Yfyk20SKQC0+}jTllM*pQ0i1+;PU-%LD~S=vDHfsZUV_ zmpf@JO*_PY2{}_VQ7?Pf-mY`(;ILlQW_|@6!7ftZsal`tC^Fg74D%WT*K<30V#0{( zrpiY=OZH7c%h;q_hx91#(zn>et5P5{cl)bB`|9W z+c=mr3j{on_!cZOUOyG}y%S#Gw@(0j6hqFi;j?5ehQQP}=x?R%K0H;pR=n%fu-sBz z{=`x`#AoZ#h z0kMlAaA*qu9BAGmLn*7ee#btPX}+{s?Q)gg7`81z@H3!iknFWvt2M|I;Ep3Y0)on^ zR*5l$Q!Lh1FGjw%TjjwXZ?fHX0}aietf0-HZ|rtLsK+k4KeZeX1+n*7@T1>M5{DL0 z>enJv276S`R=kj~J>RvNUjs6plo1$t_Rv>kza~8HVFyQfZhrPc8ESQS4dD)EKj91H zkAElaPSjlb_TuXMDAumuhPf?oUole08RJ&NR7*G>TuSNbACfb0g z;C(ZW^-Nvfi<@y-#?SEDjT`es6gvW@+K1-B`ZB%u9v(Bk9PfAf{%Ec9oCIqFyFB6T zLnwo6Z1jPU5d1Z6WaxFyPv&Dtj_(WN9T-^f)1qP}sB&wWT@t=llrM7up7uE+oob#R zBq$*NFhOtZE4KUSQ&9nW6eww+d6z*r0vnzkpo@dvJr5{}(4YmxzJnqe{uKt`_!%32 z5&|s_P7Tm}VQ(c&8!xV9Cdh7HsO!+>5%xx)slh-uXeFU1B9cD{^$=)WeXybzCF4cD z2wMmbINgIxYl}=WeBsp^@q$-Uy9ex&fcoRRXw-6yT%t9C78VS&Cm8F3`rwJHTgQsm zbP{Ych)L(5K*(EqD60YaKr42b8zC@a-$<=f4rk9Au^eFaXI^-Zkr8Cl=f86HwXy)7Z?_mUvGIei; zU@2k_h#VpL{B~a7J5f;sLqmHXCHDjo6_}O?(_*uLOazC8SGwv_%$R<_cflsyA=It? zJ*G0B3vfkYN7jKe;7{8H7HwevPNT^rkyo4|I535U!SFCMGlL=e=y}!QLY~qP`|lZ% ziux*{8@$N_7}T^{1#=!m;#_Nm`R#B* zRA1&dC>{JsdzE=$2SOb9c(1KAGi4Zx(=19uwhn*v;i|g_(yTfgHm7HAMe^tO@1#1YOGY7m zN0`OE*hU&v|3t;Gk}wkImBJwzS+hH3s`65P!j`#AFAgEyY51 zN>+$#PdsYe5?F!U^&#gOVwr(%UiSsN?@xxX$xidF+qS`R8D9~1?%>S{W&-G}$EN`$ zQ-@7Bf9VNzCwKSaX|qy{ATgh(1eXC_6chpP00+z?YD)_82JDUC%crFcL){C%uB@|d zONG!btq)QX5*E?)P^$SeyB=i*e;!a3P5EO+KDUzhG)y9|PnekKnr_n_F0At4+%#f{ zJ3IQvE%bKtJyEv9*fmW|d>OzUBEFt#wCo&%Mb1{rRl>)Fs4@A3QYiL^cML4OoQt4t zkc?K=Bb(lu9wSswV#2a-uj~#tODUoHz>Mvdn2Rq_VzNcQ!D(rNC#ybV775s} zb>6$(AMDl>x?Q}T_wNA9W~dA-NwYUlsBqIPXV-A2sJ_jQG?VW$*sdzzLIs}D&rd}0 z{qZuuN12pVrIZJ03<1GZ7@_2)Rw@%LO(HMp%0Jx83mf^K{0svVxE0P0HN9O}B27_* z)k}x*V|+YCH$`y;#TG+@!8+nXj>0eS<_A(FO zJU7}^fjozO`$|ty*%fs}CLl&Rt!eqXPt$aiPY_|HmL)&ycM6Ih(_A&-2vDjqW7@K1 zbY^ZDw}8yPApgIyEg{PJ@fGQKfBXKVAaXJjmZ2y)fkRNl}EBWt}^&%aN02mNIcDG>aB=I;T&Kc4CF#aQer&gHD>D zUpxakDoAY%FI5~jGdP?;AVY+Q#KoI^=a`=WLmRCoqByFvam1Eg zzi|TxcXn>B6DlOw&B{H-**6VxKe40zH0K9S*SRqNy_uT;w;=|GIGAwVbcdxxcs3=g z2u^;`!7*Vmcw+a_fB)SL7Ie-#%RU^W=YJ-`de$*nQu!y%(m&2u9w`xfbMS*r;cFvO^ zVy9(w6M?%S_2c32JO25Jmhkc;*c+5VW!bJXD;r*pNJPM1vEACSeh$}xD2SAR|3tp~@ zRAxAlv=1Qx>>DOJ)k??E0HgB27s0Q}r)edL{iHL3W4uwOWoQzf{N(~%ex#p+r7`*~ zTQs(;C587?Iyc}=-YkPKDRBLN(lN8GmXsl*U4F08BKR5pn45>od}T7@_U*a)Wfjsq z&i}Phrm#D&eYljz(j2U=-^|C?dW&ZZe;H7v4x95(B;30vG9!h2E-WMIh1qd*VFWWH zJkv^;XFtfb;^JDzUVVgd$?JQyL|D8G=n@W^ROrYf6F386iLgd*YG;xj8HIRFGC`=c z_OD1EYjm2+B@+Zt!Kh<5Z`^2h-+ zoU2a?P@#{tw(3EUY>N1LMYx|BJ z>0>VW?WyM4Xam-z4v*IRZ=44(#k$#mDgk1}UEJ*QDeuOoS zZI|#T>_QTH8;l?bZLbOdsB@1RBkI09dPJm~MMg!{{81zK)V`&wVEs0+`{vpJ^x5d_ z1E~#Rwh6(f6xy|MbafSwG#P6#7+?a|U4rQ$#?yrV7FHanUw?(BWR#Y^|1`R7zo)MA zA9;63Mwb~(+-({Cl#+M24I-}@#0{D&yszC*{~?>()QA65o4rB61Ycl<&RzCj(&27v zTMLT@r#a}1z!e2!OTK%es+Lh*Jo|sxG8PP9@GGgia{3h{sj+jj04(f_(!_9C4jA` zG+@eR=86*fXQTI-uV76$X#&NmPPHkdYgD%`zsHF#G-6nBqFRz?KQ|#s0cb6i{4U(6 zgk&_za7G@-1VnqEHC9mpfP+PjqvN&f*DHBIdO#VBYVaqshU?YR9+7d_bcX*78m(v4 zhfGx@_j`JbRqnn_i$kg>jIi^4xZ$M_bV&bft#I=ncWHHpWmW}-SBE&;*rd5!1~U9^ zue9`#qXc49yNlM5YSe3-YQFr`EI8^Mn@IaD#pMO9B4h_oDSe`I~dEsq4>XB@Y!^IE;O+wDp>4$H*m==Dw)}kCrn zzoGSx^9L3SrV0ZSRimcmzFmf?;hEEc{JUf7NPdi2z6B60+^N`;`d{GrzSxb_+0#)dgr7zDb zXo)Mx$s7tuY+06bWzZp-65=I7@tBYc9S&*og;~ESqS5gj8yki8>@m!{ga!gy@ads!c_Me@eYn@oOipF?y!+s!Q~ zSW#kyWzq$v*ZiZm3~V>mtR{9F2e>O%4gUo&`<`ijd-u%rLqO|q`y3ZplIBGn^CW|L zwOt)3+=#{p<!6G4Q5$?}0NPYa}YS zW&L-9Q^~_|49B^KotG+>(-*+JTLez3`oGU~TMkrvmi_}b=C*M_ANbE^&;gvmNqTZ{ zRj&|2)$GM_j+g#bCvdH@vJz^I@uR;Ry+fmD^eO~T8I9)N<~+kf3mMlk7#`rDmGb8K zY_>v@x7Yl53_4A8n~oArdYu`Dha{r+ogYR%GXk=Sfh8*$o;x^UmX<;OeAs1L)Sf8W zL^JYs84nQhMxF4*W@UoQGG=MT^29CnhOKL*k&N0tls3PPAvb>k=!_;0VGLxdwFGNZoZhS6TLy~!|0*B;SNZV&IpxFCg;($A zF6W&~m{}R4H@Q<)vF>(Q!Ii+RH;N}&vO-yCZaX$Af33K&&YALPt;}QHkU&~dwg&~b zYFYVq{i!qc{DEFWVd3MW@1kA^`W`ck*AG!*2>5)T{-ya%m0*`qRdUIlY!R)z#*$e* zsk`4rx67wLtT))*Sr;no)fsW&OLV(73i(^=jaj>nfPtS%K!Zx zaUcHUPJG&O6V*>Ej8@#7)zwS%Z8a2E&B5UajLiFrOB*f)#n)>yP4}tZ=z!b{4|u^X zwZaepz~!b#TT`>wqpvN2qY5hDcQ*Mfl#vPGRoJ{?@82|ju--|U*d4Vcwc^#pQQn!} zkL3tr!w9W3WZ8s};=|P5*FUiN0+f(?X!9h4*D3B+*hTtu69Zn;-gW7)Ko$BlKDBNA z+6o^)GFlw;5?W>)^a{Iz{R|%`O@pA(S6CZ^B;oP-hb7Sp@sNi?ddpTRh$xR#dSg#d z{V>yV0U}yWAL;6fE&upN z*xJ$(sxahaf|#@Z6N!j0TlEnUR@?cG(E7q8qwNbAzr_nWz{M^q#P5_3isk5;OBrxY zJW03e8O~|olEkld1_9F?_r@${cfZ~Q_Cyg% z!|nO$!A_u01@!5-=0-V0-Kh`UW^RRA6}c`}VbYt7t_T-*;Tcige%;r@eF+NL| zbar)hg|>h^0mmVf)zoX!bqk)Wv4QlC-mtE=c6x3egaT0R0Q%)ADRfsWOaM7n+J)H3 z6&ESECt*d;LW$Dw^7WwnF3=rPPjVHec>yQ{%ba^Iiz%_DOn2t<)4K{$uF;KO4(~Lq z^q~u^fMiLhwPdaRQvZ&(V{qsGK>l!&sq&LI?>TN@n01OPl<+zCoOLk)EAA>VY$ydo z>1nUuiMw@e(FaP<9fJkyNb-QSCGX80`_m-vc9p@pkeN43a7FfITVy7tq*T||f~9F5 zDYvl!AHd;p$ZAc_nr~pNnQEDxBP!H#0oROF`lk_58lf3lU$Pw7$*!Q%-mv2R7=eG@#*DDKQ{Td z(gn9KUtZ0%p`@UeZc~ZVKo}1xr0-6%4iCdnXh9+-4=TF{4(~izDFNX?i)J`Uw!F{7 z&(H8(p;L0vYJ{XVIHAdG45qmGDmyRl<;&)mfp8Y!3pc(=({gVaqNngqV>FpJl~sjI zzACm7v}0@l)?R<5pxNaLg=**euKO>j29wDHFa{O=jGgP)uHch{7ze8*n%v72`P+dv z(r`3EXIRD_V%ODqwhO0bhF<&2`hj-}yTRo1=RQeE0kPX8ol{_~?8eb}EiC*G_-8N-(2f0K zXHW?5eLYM1wywxgq6ETn++K*TbI#^~e zY#b`IN(l_I0(;`^_T1v)yGpy9^uG9JZ<2km(qhZ7eE~-QKa$OEc`ea7P^;M9nhNK9 z?E=^S{=G`_o2ol5r|*YPCkuuA;e#g?;gLmMewO}BiW4-B&X=B}gAL*k53W>6Y2LOn zzP60_B@N6BFmcB)8r&+*lX|JAXv**3NnxP`JAB)ECO=gkhRvHdw{zL);p`RJ89KlMr zE)Dz$QKb96&gyEVfvFvSVN)tu!kd$lK+y#{47ld3utH*3&DzWB@3LoERX(`Jw%oc= zQ0RRdd=bvMah2=_&OIx3F9_}~EoM?ZI}!2cJ^b(J=QQ9Wfk*7VuUr7C?~TiR zdpw(chZcT+Kh%-G0bvYYZ}f~Jm!0Y6E9>+F>gwraOE+f$5OVq)UEjoee}VrCL^vG< zS*<*0tfZK~9RIbcl@Dqhd-S^79`-W9m39e;Zvqoqko^3)jHp73DH5hYB_DF8^0{x` zhKcKRf%EtcY(f8HE%nsm%$eO0N-)`SwRw9s3#=riU9DuS2B7b4)61PKMV+_ARJi!< zzx|BjQd177H^JWpvjAtso(WgDV!7{&DgSt1^DFihIAj))_TX2Hw@M8ezmIe-zyZ!t z@5`$i5TE^_9G8b1_erF1A+1zCh^LX1Rn1Q!>yH8ii^9L0-XLLhmN_CMUwulv{%Z7Q zAp7H2a5dY#YZuVj_MyBNS+c6&v#c0$Zc~K`)a|r^oT1!6i}+ni$B!Rh^t90afJ2@8 za?YO3XNs)qLXWZ$$-Duv@pNrbf%`2~4yzId`7oDg^%Tj0-#3dT1610FHSkamj<w-Y*}dqTiEF>srQgBvS;oml*#D5;R*1t+tv71G1Tj+3X%4uXhfZi}}!h*7BI;VN^650R|yu(Zb-e6Zh!FZ#zzwmudXHEqw zeE1cl4TM?M7N(`ArG=49^8!H&0;j!YRS$3c*%ADU9|N&RHWH=7_R_^nQ;vYbwDTTm za_tqbB1oS`8U3D3@2ab-BV{4Z7<#Ib0F8|o6-M>% zHaBe3y?5{44Y{~jj;(%~5Hvk`@|sSJK2R2e2g>KD>M(y=1xo{}o(nYP0_lO%S~@FQ zF(6Dz%DeOOf!?#zx4H(yRLtXOnM!nTzf`-+7gdvW)FW{28L!xFgtq48=X27$20;|E z1>x)0CG0*N$kn#q`VGT|4p`kD6)0q(((8zks&$R2d;wp;&g9@8D^@GPq{jf_v#u#GTS-vVU7H>?^?Yff z=t+BK|_`yU()^q1+mpQs_+d%RD`R z_>O$Z9QbDnWk!7XHF#%hZg}*A%k5r6Ki$VL1aquTZI&F3R(5Ec!Oo!R1aI; z+rRGaJHfDGJOo=8E#9W(yZj?ReBD~ljB^ww51))idthLlSCg zt`xE{hwaw+M+ogc8uWsp6oo@pmY}3$QEqO$`BqtDPIW$=6;wTHk$otBu!)V?VpcFw zpxF1bJndV}vr%F^aFs)Wt~G-X1Qz)NXTJdG;|Oqa%TwD^3JmpB81{feqmIx@fFH#` zwz1_aMJ5+tIFov+c469n6>k0b6M^%aY<>GT1=2^kb^YbQ zZk2P(zM#0c*nRA?{EJ^B$9ptoIqtTi>#AR8DP4RGi^rpEXFuRD-re%z3##1p;cS)L z*2j@+RKI_gV_;w~L2et$GgvN6EvVeWpj^j?1;e1bspmaBI`kukT8Tn7dhE2yF z?_GzdK}ktX8*q`d%Nj1I#T*vGHsZi%q0 z7k>M_U_(_mT=UVxBz$J_VR6Siu|!9&W0n-JcGcdIBLLkryOORbuN)79(1uEgrpk*^ zYsDN6G|D_1VTr=*!i9(+@eJXV5WS15rKj|+)u1bgR|Au$N52rZx_frNxPOu^)i+ff zexuy}<)Hl&{9neGRaNVBa7Y^ktA_WZfpgB{t2%eEC{RmN^A?-DY6z;Qrb&vu-&OSW z^_!hK><^=i9q_Q9I;^V1Mu*eeGgq6ScnI_>}%)FGO3NS)bjE}YX?Qjwo8plfn6 z?|SZX=l@h7W71%9X72bsDRaw>0kKebq5KZ4;E3Dfc0rH(SwbPWtoz^t6j%Yh*jSBd zr^@*rTmgusLzqE?u)&2@@tdD;7+>7P52w`M#do;4_)9FBzi%Ivh<@MFVkZ%e{#QFy z?aPUPdyOW{H~r^FI&;=$HufQfJ5kc&!Ub_c{99Xj?g7WTArq1v`Z(LCmK(XHWa|>Y zf+E2gPWnlE_cOGzvdZ{Tnqc1JTYxOD#+EN za^XbDGaZ?Wc+k}n%{oB^`ieYPyC^Dt$`#g663n~pFF^m`!vY40qTG7tE1cqf3Ff(h z@H7#mE~nE6=NcX?4WB==ZRb~4|MKOFoABa2Z~}7;g0e4QGzwo#Fb6^UVSFo&t$-8H zmF4zkm6kFSk+`;V>TUtCc7;bVSlw!Qbu-9WPGh-ERcVe_;FV2(O^IdXftq2dtjLP|N4fi`^0f&kJuw1sbZbUD6pdQb{Z%20@38_l$5-Z}ayWD5NTYC@6aB-u!Bt`2+q-=Z2(0%zA`y+Ty@-=@&wlq< zVU~~{_S;8$3zau0S{R%#uXkg9C%L2XlfodOMfj0SfPq zkKvd2o_bHsdB)V8VSL%&&*k&GNvBA4dq4BL;id4Fu5EST$qaahRF`^ZtkT71>0%RBo!JiU)El<13KGmZ4;2zYMrtJR^9+R*N811gSAo6VLgssa~OD9~?b8_zc521I9oYPfUWR7m-EP+x6`on9#7@c+?p7kzNpt zfZS}NQHOUGsauXD1?nFNF9!`{B!OLRIKBKyPk)~d?RJARA)7qyDu)(DvXd%3fV~Yo zu=6qr^1uicYX#38K4<b~j4o}t`K!h?uzh zG8({4=rIc=NbtjU;=nT(n+cV=VTE{^7#+flco_@k`&gKEqU1>4~<({x_xuJyfFVGiN%<)~pI45j8jNKk?m|4mp#8deJ za2AC!iA0J}@+$?n0t#U~*ok~cR$`6N2opWl<1d1;tVIpGzx`|xbQ#mhq{@~zut3*J zJtet;kILuiIyj;LZq^>DV_J9luqtdB7cB=PjpKSepV3F|{|OtHIB69MoFE%F`;*@# z-W~elB2|ha3GF3Vv{^jC7DvCVjXmViz8qVLMtT&hl3nRag^?AdEGxS_V&Qr&_M~j& zIe8w`7vQi_$HRivA`41CZMkFTc>CrP_7`({?jL; zuyE_u!>bP7A5ON?FBhmDfIS^vcDmR4+S+RBPM)6k43yo7iu@q$FbW(*Ac4Ro9La-z zAh;5wDyJ;I@%PGXbf9*JbtChdaurZ`iz0D^Z6I_qOdhU>QM>QYGG=OCvp9-k?_@}x z?aVFb%V`5BiGcfo{r@e3S@l;xTU9X%!%~%Faa@N(hrj_U(7hr1^k)-XF~=!SMKj_h z{i|*3y}Nh8-uk&Oj5QU!>VQjT_S72R_IJbybt9P0M2Nv0(dVS#?465`@*JIBL zuD;(VmK7JF5RZ@V_psfzbJCD2G{_Vd1I*H{-v~wt8c!1~SP${iuj_Gr@)MRbD0I9U zy$_$!;!|%g2Z`x#%ID}l*yLkZZ3lMNZD0RwF8%kzkIsG>K6Lffr;z5n`c+9u4VI(Y z20e%#7+C-4NjprjkFd(R+M*MT&jhW8o0}US5GxBOb^ZVWKQCA|?+y=eT$uOJ3e&n~ zZ)H_2a4qfgo5$<{v2616?mYDCGBvG?jACu99ARQb>$}7A$AjRe%-Yw!>u)voJ**`; z!C?RpqO$#S*H3Epe@?#{t{;r`94?0y%6D{9r!$=$}Q$Z@`?W_D8%>_ux@b?AZ= z$JMo=@7{gikNVkZBAfZwHtSe{lOQ*d_X_*|HHLR&XIJc zXAdd22X+EcI2v@gBbdpsBnc{A7Rs;{K%LQZS2ZXO@Ip`)^2U$Ar+vc<-9VZY5qbHt zP?vA3@`#Wy^(R#Ld1P5b$4QHQd9MKdAq@^85gi5Sm&3xt`&jt+`PZ)aV_i?A8=t7e zi@EwbkJo1-<#uRxKj6p~KTv%omQX@!7M9B;4lzxs5p|Dn>_J+NI) zO|8GxwwC%*1FqYUQ7%`z#A7D!!Uv3ZRvmoeI?+$$B4SmXa5bG&mM!&cKD2!Lc&GKs zcvAP*o8K4(;0a=P?W}WY9tLU(@o=>IH0m-W14N$v#r-F&t8-z(Ii+`Jim1D_JK*hP z$cT5$N{{CdU;9h!q;2}Q>%KG!51~o;78=Bb72UX1XXIT+07`FFx<9dh;BTOml~qNX z?WiZ}uglpkm?|1vdFQ;?g!lSYD^kB3z+wfnl!TCtdRx?!V`grB!VUn6FL=PY4>MHg zD~6mAPXFp8Gs8&Q%!e0a_Rr-ee(l_+#pZa3q(9?KMz1vtI-kECfvMIS)4|;BMy0Sd z1Pz;qfye}fp!JYy!9UCDcr|m(bK*(8Y^B9nS#;Osz}Y2rYa1AxDc`Zro$>17UK;-p z+XpDBrS>r2%--C6L5g|O^-!%g(x1yeo{nHRTY}{VWZ?4=I-EfR6R`AC+Ep%i!V9_f zSv(-%68%|-lfm~RT7K=6HX6^y8bK?+VirN>8(5IO_pnA`?sA|(WYz^=kZ&5wVt zFzQD!72#Un)fFxqUS$!jx~ZD1%SUj!%*`vE-QmEX`^3%=Wg}4RLa$TF>g56)Yj#u0 z2ydnFN8ygdBY=HwmV022lC!hwrS26vXH?mNoB11P z)zxv@@<`^{{5~BRmCIbPaa;PUP5!B_UUPLL0+tW&{5a~e)#yhK? zADf14q~HrV!D!4%b$pXg8I^~x$xb)cW+<6_K~9CIGm$+czH9^TdhPe ziWQ82|LuBzJb0l9r6FAy9TS!JCRua(vIKPeRO|{5Q(}e{E zTL{0aK9|7XpY;9?{P0e==t36F7d{nupRW?oF%3+TdO~V?=1JEX@W=Q%8UY^`gte>Elbf5ZcydDLNx6a%)vzSlc{?Lh?)Sg%6|!9D#^H1-%=92F zQ2AvL=D~jjVJIl>*QLyb2Uf(gPzJ>Qa4(&ha0=T|z&kn3Pvvu~?n_)f2PUcK+}zq< zw*9^<_c!4GjQ^vP|KcbC^gdDLDVb!b;D&dNofKBs5OZlW@7?cuT9v;W@Q#>D_wdB()G`T9(1CNq@w#@J| ziC5dW>R=FCyXw*Z#;Iz(1-$|x4pC8`fcrXN;{DRruhIGUa#yG?n&Sch2x8MpusvrC zFvwI3;Zp$eOjhzz3EQS$cY+NTU@B&#_q6MYR{1Mrw49Zd5VoE1Wd1PWicuTH2d1q9 z6WaHF-5QDmMQgSZwGj$5m|0O zzApYkwQXuNCN-K>uMYSXQR&d^k<_U zOOgC9ysjC^^a8TJ+c8>SSi>=+h6L_-eHW4rDoyMG-j{G(iYO>|>rlW8k8yLnK{2Vj z5K8RE%ipIQmzN+#ixa?)_wU{TG0gqTJkrdT-m3$RJ$V9NXPg*S1Y85rqmt?yz3c;< z`lKZAcO+202b<9bY|PG8;SgZH>7c(ZT=|jCh)a>zg6BcnQkX9k8biE;G!Sz|p-2+PCV(Tw=i5Z0`^KwHe+Dy z6HH1Xyt#rdP|7;N*QLN9J8d9Us-gGa$WgOArKlstKgzhpiLuEiol3@_7)3uKt1%>j z@dnHtonNaV7x(x*m6NyiyUDIW_86FdOXvQ(RYbl6hp{C{@X!_T1kV^~E56!qHtp^+cSbAqlnx{`@v3d}0Xx6It8uF>T)tc?J}3gkeKvhUcrE z^{<)e06_6-hD=W~Gg;;7oQ~W0R>&nXhOOETmyICP2*K@* zu7MRsMe)}4Fh=HhjfokD)~l8lMke@cpA{>qL#Q&`d7Sbo9Nk;V2^|qzP(qt)Zf*Lt zt5TdLv5fOKDt^?od53one6u{Q`2~I$J)+UMg}GV(6lvcJA|l*vt0r8y=vNsc+T(n( z0EDrT3ETI%-6N8kdC#t~jtC>jfX)&4Z|6RHgU#>HJsgt=W;vTb zUL-J%m^6)?Lga&i`Eu%13&4fVQP+%~5xr^2P7pj687RHn6QVKq?j`Ka8yhRnQwa%E zGsjR08?pj1OtCM%Ud(E-U4YBav0FMC85fnXbITpDV zjB6@P5(Pl{6}V=U`Q*uymL8F&gSTB3o{w#aQh z5?2r8kd<7hDX81e)!y|S%c4;^{Zh~}4~x6tu=8!W5o4E;nWeWhGv+<`1tVrsclD^L zYkHjNlWy)`>$OGb^*l*BHzVUs)xcXn5&d^?Xu_Zec#{x=ZbIq%o^;+x_A`k&`+s~` z+23hh8Flf)uX}jl%e~xrQr)Ki>tMv?#wrRXoE0A z=9?P|c@EJ?E?dnI{ZOu0$J97dmq1_oIV$W?1%L=fxIc)O8eE4B?y zfX#V1MrP0k>0~ptQzf?DI2dmFSXxoC>YW${2`J0=Mh+5LZkW?e>qwkE6zEU)6vRZh z?IRU%^}#obc+w@ljZ!xY^*8u0G>FWy`?9``vj{%Q1`}ma*EbvI8;G@aeD;+2^i_)S zgKE!gN^dj&4MWMYuZl?t&;tN-jl0p?^X;;Yy z722OVuB6mkX!Ex~$4*&Q#OPS}7S|1KGCsPl?h!`-QM=aG)kXP($d$zANCUHou)?<; zf{y2pOvHZmXjh%nBJehjljj(h`M+Xx|5JpBj z7wgbMQA1erC@VLtB8;9jHP1>|fDgSGRLSIb4mj;NXV?;9dCp!xM z&Eojy%?iXa{jEo~=D%g|L+DH`qu;^J2MeD&yBJHb}!z6RGGScn$7gcSYA zj;+{nQ}1m|V{!11YaUZzJGI1!TK=QXC|JWZc0(+q z2S!bgT|ik++>S}jdynsWs`O5Jn3ITh4v21zC$d;l(gt8R|7rAfmel_J$MaV>wk9Ek zU9ECaya1*QfG$0<4-;b++jmdkbQVz2Ra?8BSB2JBj_P5-kGLQ0o30+VSlIB* zN^E()Wz)UJ(&cM1$ASwwR6;mWEt7wDYtvai&plhOccl;XHzlLTY0Obegp&~PSXjWg z48Ief*S$M#ncpiby=`8x{cCteSV`4O@e^X<-f5dZwF*!-CD?Ahq4%x*L6P4_j{HC` zy`INzl{Vdl?`-z?rFQgosSbD51?*es>TNfFU+FB}PE&7VWjz>8nj9AWv7fuTZ2j2? ze70dTr&j>y=~qBTj#8s%2k}76azPwOP~%ir=iMI6DH2WU<|*eiNlUUoSra06={TVv zfkBa}iD;t}2J{cHu9NcWuA{`^SZsE!wfl%zi+gpze0N*r(BLH+0$NEeuzwT>z z;65zHa0PMXMSqyZbAs(VxId3iC8u1f1jM=XHbk>WaO{G6V903oc5!$KQ#KV2$Q?kc znn!} zdk(f`jE{5_3MwQnzFOpP*NzM>c8Z!w7YiL!DWa`62YP37h!0FFN4M-pMxK3vQb#=? z9YkucGIVl6q9Wic9JUEJL#^m9i5#X~RW5+36kvXi={GrFoybkowIe&*c)`p1blmJl z(qLhnE)$)E+oV;I*I#*=aWH>MJQQ!ph8}klW ze0S6m*4L;a zdGu6QY^mU!h4CW`C8lGkgA#7j25vRfEl!bj|th!?QJt@s36`INH;_Sdj#z) z=+E#e?-7d=8xX8x59lIHBvB+3h<(wB6U-qMb1Y81socXA*d4asZIer{;Ic^cpPiwp z4ZY%EZplW!t^|!x&s)tf*6Um%3rgmW8=mqT#zn2Gb&BvRE_6F#n4Wb`d2KDbcU-Cw z^=HpZC#-u77QWq7?~kg?3TaDjiQasvK{qG&FDqTKwxpIxPsy)!^h{CLUOwQ=JK&}# zDIPwUK<+LSt6&UrE`L9gKD=g+M194s_|2>M zzYl0B>OA{a4sO>y_TtAHTW(>n3qBiz*N<;E_LeG@>2s_c1g;%|gmJW$# zcxS8Xbvy|3%_dcI%=f8q$-R>F2> zE-NVX6{j`;lPCzL91t^-2wVj~*8$uEl$pEzz*}c>Y=^RX7cfam4}V{eveMfrpO9$o zak9czn&W4lR+7_e{W|K{#}>TZF#%I)(I8)^vv(`wls*!NWDK&fvAMxi2Y^mHcFenN ze-+2ruOnuS8A)dhjg3D5-5gvccgps|a0K2KlTuyL=n(G0-xIXmYX?}&Q+)j#(|dX>r5G#88zOphq(Y2phf~kyc6a}|r*ogY zN;RgC&pyt10^JSflSd!BK-?e52RDamgEUhQBT|&&PEns7NFv$A&$;z}*;Y?Q5R66f zLT4&J6Eg$?jVwdO8Vk2Z>rWGgb?wmF_E(Wp>J~=FV`5mm;TwUXaKH=W1;lY5FV&P(yFDKd6O;tYDtv1BicuD^6;5nb)0$;-0*mC zBdz-;sIb`FSndV)ns$H$VSDocRsaO0O<`v}>yS>m-r@C@pjVtjl~gDM`~QsHjfcDU z9H&3sByMQ^Xm-e@6#K3Z{tyOTj3H^4O$$ahx~IVbOHRPBP*uJeP%q+x2Kjs=E8O(Ti zTL4ao?^S+yk$jyj7?&Tv8n4CI4|JlDFkLm6W3GMSaBeGr)+Ib(k{U=oQut%%smnkgxtc0{bBqsXb}`Hsn2{KcYLb>ndYaX$OB{*+^3j7@6yC`*(%)1TuIcYEL24Axqg z>h?@3Z8rM2aa^lmDfhgx7O6o0Sn$CDb4Zs;x0)RN)b3PQvfB4ZQ?KF*lF89Qf;|Y` zuT+ixP)Deo?v*??_q1}*w4cGeXCU(@LZI^KK|dJH7E5i2b$$MPP^HR2j9P2=$1L6B zHmZU9s@~^;ZS@dGCXao)aHlpB@YOaPX@o)u5OqKnr5Q-s$n!nl|1bnY?b$xd-qq_7ddeRR-y;B84ZW|@*H1g-5m^8f3@wT47a;!PT1cdi{#mQ^{`DyVC&+8$tn$g3@`Ra{cxW0 z^`ygRnCeri`$a@W(L49f(g#9|j)b*_#hwvARNTz4t0a?Y#v;z5@i2=M-GXqf+mA<*HBU zQ`!SgHTSjnJ4xFw$=)8JsJ3jYQvmBJbn5xH!noE6zy+0^z9n>~V&zVO-;K}JE zBScO1mmBp$DeTXjs+uDc3DrStTIX@Du}3T;ea_X6v3JrVj^6MR^6V@s^nA2}U<*~v zBe{m4RtYw(cS#(fT}p4ZkD0r;mueK0=IZ4uM1a*aqz(k6bURBco=h2kue@YIm02+jnqLtxTE!4eHe5XLyoW$F7$fxeVB^(#d zH)8ImmaWZ9^Wk#U!o1LNR94NM4qCG3pC$Csjc3BXZn~Yfe)`Ty z%D!Mdb>nHk2PUC z+DFY!{+Nr~7b88c73dcvcKiI5tB+{8l$2OES)Tj-yQfJ(&;)m1f@grjQpzz~PFzN$ zk?;WXPfM%)JWHj^Ak?l?xE`hFp%Rx*o&& z_D;EXRBZN~z>TKx-%7p%ZK0Z&2M1rveZd)Z2sQd zUhwwy_5BW}>eHuMjF-Ou6>ftEahEOhdABNZ-R788kxZq1+W-XaEP0k1UEE0w-q7rGkI| zY@hn!S<&3v22~P_aZ1DB>ev4L*>U4ex84NxGk8;(SrX#&K=Q0!C}bIcKTdxX*wC?^ zhEnXylkFF)2U}Ov&z(q;jel65!cY5u!z&uT`~3jXx`g(f-C(%Cg221jK_5PWRQ59o z8xr7&9higDp!3tp)iC=!hB)Sm+Akl3P;UZ00RL+f`ly8gxELZot!+>k1O;=G;k2w9 z$<^QEXb$lwDI1ykb^cS+SJ>E%pU(pFeSQ@jYG-9#u5?N-dQ`a0_pQzh&8yF`plg}K*4sVX0>#5EG088$66 zD$^@LtqnQLtd(GUR<}=%iL(^pH{c0@q7-Oy1nJ#G5>j z279~J69fg&V9TgAGBkuJR6u@?x#r~MmC91!J07cjcKrgZVS3HQ=<2PsyZqljJalu~ z`||UP_o$xd@p~R>-c}}c`7-3yZ;ilXhwx}9#6_cLpu~J*RDv8@pD|zmOG=X%TGPu> zceVN_IzVPASGnPxio*2&Y5mK^7Y8+B_26coFapB@@d*w%T6T2#nP5#-Z}(Lf3?kmN zfsrd>xAi4BJT=1qQ2{}AVwP^t6buxhn3}tlCZVDd02DjunQ29&PsSt1y~e4kVu{Hj z8_mxCs%$lr7i#3973w#rndWZOPv^+#?a2=4Z=P5tCDV6&#kw(5BAj4S))fT99!`yW zOaO80$-p0tY>|8V|2c-Rud2JZQ$~iDanPl==@?cYX0yJyC__~DOB z2GV*|I12ro5^hiiDvhwW{>;4eFdunCVni1!hNE`^;C4R2$bqWBl%&!M*_X6JHn7s@B*!Yp79u!#Rf}{+ zX5Ku)+zcoMA(6`Lp&&|8pHksBb?Xc)e#Si_EG9;InIfasVY7E%cV8UWTs*iW6ki!w z6j=r%u#vO7-teQM(kB4Sd^F9r%y<1a4LF|IdZTqw;ZBrgDl3>5!0o}w$QPl33r!!K z&k(NEy~uHmfOM+(vireCZhE}$}jeA_p`3l~`ynW^R zj2OF>4nPypLr}0wve+}Hw}G_K?7Tb>H-lQ*t84E* zzjssWN%iZg!w08F=KL&Q<8w&8z0c;62>Id5gp!`Em0z@CO4Jw_W#K%~RM5`1eG?ko zypjRCL^-tb2?Tgd@mnHKt7RPYXMgT^PFhB^%Sv@Gm4E+PE~~H9vR|%_^{Hp=%6y*5 z!OPI5n|?X17SR!Mq6T6oVOqT{v;czUaX+I949qc2ii5ypGQ7{$F}Bc4$b8;ERp8c3 zGco_}NZz_(+VCUA>csYG9`;Z;w_EID8pkGO!p15?ePN*FBxV-^Fh3Wt{QxW7WYq%~ z6h7Cha5ZedeNa*VvM)5B0Zk4j0Ae=;zT|G@`22OF%nMhLnslb?draOl)%}|EQi0T? zs!p~<+mLeC>PMY_e9Mn#)JLddK95s=ZA1s#=aa(+H{07IF2O@UU7 z$-}Y878co_)b9$IL1bIh`44ugt+Fx+|JDLT>=(H<7kFOgZ&dM_{_??(Q~RtdmfRi6T|)M?JYXttMZ?W4+4q$4A~S6IR!X zg5Y8Q12{{W1jc>h2DUQ$l0x7ib=Cg|tOmoJwl10}|Np*vA`{}bXz~OlAU;k-;$e{U zMD*yDJitG|7Y)MOMF2YCsmn0oJ=nyk5xU&!xdZ2l)%FW4P*b=!8-=d;R z^e2tA2JM~ls-Ei?AQ+s&g2kusPw!sd^?t&Q+SgOrF|~9z{sSgRUgbmzzdz8Nff^Jw z<|J}D=+x7w)(Lp`Wt_ghO-OLUs%wOUL7}yQt~K36Dj(Ax)HiRoS-0STr53^tr4fD| zIqTEz8H8~U3pEmE)xyX!d2G`&OFkbeDh{67KqQpUZP$ zeyBXp;FB;H++4sh^MOAY-g5v0Tai|wC!)EjhN~QS{`@(NUp*_b21+Cd0!Sv%JlYNX zONCS{L4mmoL>P)jV;^kjEe&m`-LM413VNUXf{%Om_*o{7W)>6&FnC;KGqbiJA;N%U z*A?tKPH8A@X50$I_du7FJk8K281OODmM(q!1bE9Sl2r*RBgpz@V z2M6kmU_Atx3=dz31mjanQ`6n^BHd3U8@?!y&NJ*N&zdiGyJIlfi(8-EoYdIk^D%>! z?~n&*5L}r7Z&fC>+woI@<&ilNea=3zcn3LtkW<>-t|Dq5F8NX-+8Z}FTe^V1blH;}Jcq6{p6Rs$AlH^GJUm2a_62hXJ-iuvqI6 z3x!Kvd(+j;e0&t(P7(sVV-*=0%B|xefF=o$%|T`9y6$Ee2CT`khLJ_DyU$OaMStjEKhqq5jl!2WMxBNu6Bk8azVi+Hr=|?eR`EOT+=Nszy43Nsl#59@e073;OPta77b*ms1PO1bc)Q}kRwy%cpya$%IOL%FCXxg?g)`@6;RCB@A6Zoyvj$8VRmnH0*!9yTI?w=fz?Z@ zi|@@<-~0SHWbu1qr(e}O%VL6H9PI&XCVt@H&wlIvpVyg}Fl7oX3n_m$c>HaW!CYJuWnjzXTOditchHjW z1eu{ht;EUYw(I#yG0#6WY)6jE1%OH#8{H>&$jGkAuDz4!_hv?6j zvvi{I9a^sI72a!H);D4y@>6(s(_i#)YI{?hoZEPuWLQfa3=mKJ4eEry{cA#KI&BbM z`}b7`?C$7fefFoM;b~oPAX7Xbhl3&SZyJ~r6)h?%TG%IN{}$LE*=Jd$>ePi7X>w#> z&MP3Me}#xu{aW{xro_g?Xz-j0PSI61`fT_a)U10WhUFda8Jal;Sg=v+s3zN%EGT@z zSW!99%`Nd!P5=gcD3qQbdn8(LFLCW{1#dy2v3~vy9Sg{&shTq;9HN^^MFbag=$SyY1O%)aSHQ<78VW01l3uA zjvE@o!o%VXs*+Zzf_+4>i$vtO-17;CSDl0TNvk!yWg@> z&}Kzk6R)N|$1D5AhThqQYrm?W{SMK-CQmE(`@m4@vAnL=1e_%do$ zO#l)ByK-VcYm-cG(-H@+0kCuqxqOFqITJmE?CE5=ul~gN?|Us@0|!u&?EcUXNfG8E zfwPme`&~$rVmD+XiJE+PTW{GjA5^aWVx>;SRK5NO(>|&`On=8Z1IuT@RsYk(!Zab=)3RZ;{(1rLnQ@;nFVj~_j38q_rjzf8k5_!Oca=6LeTeCJP00P{Q2QS z_NK3$-E)5i>qLMLgEA`h<>NVRoqPuN$aNQ4MRD<@irxyasbCVe9&29oBP3WEH5|Gc zllR>5u2JrF=Wg94CM}y)lj9Ks9dNvrFbAgO&n~ zMuTfy=OH(d86Qj6cVyxn+-jm5)8;ma1oYy2cjUXsNa)b02DsTHThKg-t@pA^7VMiR zUp4FIqw>VGxY<$TTMXz%)j2`%|HlhAZk;`_#-njc4ID;xrB{3waFtRnD7@CKQ#L2h zPAEt>sy8!Gb^IRmnEcOb%B~$+n=##O5DW!LcjIrU&t#PjZ=@qfu(~y9QHQNBlu70< zlP{kHd|M)c6(=GJNVB}*g~|V{EciqK!^>n_X7asvo@w3p>up2-HG2)4mn@{`zrMP>BYO83QZQpO4!h z>CSb!7Ub-B;3B5ZAmX)*w1z-eY-tGCk77f?)vbfj=hn%3w;dVDZN3e{x%JKAI58~= zS-L9~dB6y)9t;@zL`QxH=P}Ug;fH_}w|Y=pVfZY&oui`%Z93N36b*n#@KiFZUFKwj zQ#6%Dcq`o=p06d%cg(Lfw?qJHst|cdhxIasgRZ_xCB=@A+$7u7Mf@yn21zuVg zG8J@FXzm<0dPEj3YEFcMe{mUxPLHmDHTM8G!eHX!=}1-tq&|PcOD=`*dY(FYFrLID zL)I8TUQn3NSxrPeShv03)`y`a1BCl34+&W?#NvR3(Jt6{X`xI2A%hD5d_mEQlj#5x zu`u(L^CBtJQ{+>5353Q1oq~9ox#JF<(fqQNZVZKV_2|Q!s5S@;D?^YD36*B1=A{>K&H+0I9@4A?q!)mfdTS*FCRf6R zGAn9`Nk@fy6uOyZTvpH(G3%ru0o~TS@fPlRUu&|e)-E-8GM{ob@msL+G=VWFNyR$7 z({B0+P56L4vpq}h>`e9h5%OCr{N4KcLwZqcK)Zxwny@BTheW}Ou(>}fumqVwtX&ev zO{)G_-+>n^YPZ394ZWH}hYy46WN}?_6BXnOSt!NQ8zPw*89{?#T>}kZIlsfZ?H?c? zUlR4nT^{_~qDMY0&roK9u>fQOo#0BF5CbJe#AT&U&NR-_g?=B(hI+%=z4fVSm2b=r zXlkhmLC6~3=hsv2^6TcD4s}5oh(_B9DwXy@t|phH5#-H7MmTpE5N_n-wFt}s+spbp zXsFkvf zj-fD7m&OcX4fDq`U+$R(8jPH$UGIAsEeo^sUZ( z0j4*g`-Fr?K-vKzn`(p9*RZ0)4s8$&V<_K~NQ$E`-j;lvS*8h@cdSp^XvNMD0;Y9h zI5@F7e!V*5>(6DVNu-@aDr}sv1_@y{Q`baLK8$f+qRA43`yxywv7yeFkW8UJW!HkB z5t*nG0DkcY;5IUBv6L7$O*H7-_`vxh77!a=`hJh>$2QN)eMRXvmpu6Qg1n9KP`{`{ z3Tu8eQ1~+D6bhDN1tI5&lY?xx+H42W&_OuA&0l))u_F(45g0N$W~s($ZAF21&tzy8 zD6Q0GFZOwIi1k3L(_WiXXm{y8!-PrLlY4&MvmXuazu_RCa!zPo6f5#M}Qx zKo>!xDl7FscCDY7(vxNz4A`yw`6w30HrIG;&O!p75v^UiyP3kzE$2E4qYv}M+3#gV zubKQoz6v-2=tcu62XxMxeSG_BCPr(2Yf+SVe=P%7QvaF?sL@-;-2(I-_OP{+km7rJ&f* zJR}`9IltS%SLne{S$l4Y?)%|9AhVWbJyt>@Z37ZCSEvS+GtroA9|2C{d(xBXLSME< z3QMhvqC+v}l4`|;Vz(lW>$cc_)}6C(ODZ+a!{y!TLpgHU{uJ9Vin3zgXwbUbY;N%= zaD^Dd{(L3>QJ!~(I4AQHvFU=ZH)>-Q!m_b)A{gLn=S zU_cqLy0QY~q>R+mi>$|1R#wQfb%Md+trK?X=W$EV87RZEA+=};vI+_Xic}yUL-y3g zjVW!Y-yuSHiv)Is`3OsiEP`P5SUSt5e0&Qu!j&ED?Aj~2Gpefxhg`C|M_D-mzzPZ3 z9v;XGKm~*3&EAgkFFHA=-mK%=pSXeoxnt*Z{~fBn?qGF5fQw7pDB2-hIAX2abx#=% z3s~ymjb?!!GPE4-@TzXhsUat?&c}w0zq)cxTtebE2oh5@*C=;reZxm_gxe%0n!3qlkTzJ#Z9ZTUw&@sf?vX!CowXIz-2Gwq$;wiiz~evxR^ zP_%i%yura6fkbuFM?H` zgV#~rin(8~CA>zv7<0y@C>TEwibIeyNtH{Mh9z4iqc~N04-y0h-!A4maipi>YTrHE zj;Fb)*#(|?U$d&RyMvnVe0WIYHuVSc7DSk=RK3*ooN|vy&JP;Dj&v_GX3)B3sm#VZ z_^>%4gE$+>4sSl?SBNiL&T2MFyIq>mCxQb^YW5e#%un(%~Uru zG(@;a?}2UC)&Y}>k@a!Pr~Yt!AzsI?&n2R&i$;O*}>{v5P~lKsdi!q0!fSJb?4*^Y<)GEOByP~{6)~q%un6E)~Hy{ zZ6agT(~p}tM?b;970tEBySW7CFnh{q=B&$)`&99YhZ|-<(~W%qB(Lt z9@m%0Ys*8eD=e2kZ+@vCf)CIkjqxLpBG+U2+coV zb*IR*GjbQw6+1qQ&KCDq`T1DxeVLg(+GbP%DRH^GLzK*hV+7nkfc7@l5DDza(msqZ zvk@8%ndlzN)7@9jU5OW@UTk((rOSP7neP{)@(W5A6bhnW!PU*bwF?3h2L!fQOtMeW zbCy-}f~v|N%}q`DYF$TddO;mw+KyaZTH4xLY=uZh$SVPpv2bd3nm9CT2CL$$?(o%F z^1a~onxC8NZf3PA7V|F{;;GHt2SKFJc6+Fp;5O0H9`eq;RnI{E^f4Gq%_VVTL1+Pn zSEllQC)|#%(N|PIi>8srU`CDUEaPX}93W`)FPcMAi2~&mq-TOk#{*R;rT=Eds*OQH zkQO=wC~gQKftVMtJ5y0F=n*zzL?q(wcyp3h&RylUqi!Ao+2vxfJ}5Sj)1(kE0 zS{wsZD1Zugj!CWOM4^B;oE@{1SG^;@#|`PS^l8nDlFKL@kK!m>n%t(&R_`rBIaxk6 zg?ORH^;nCPsXzTtD5&NHTCS~TPPxb43vnfLXuD31%%^$#x zZJ{LC_OBanVB_Wn`7qS`5N``}qjJ4snC!op?u7$~reTE@33*x9lHsw?++aS5cOqG& z^`j!LZURal^0^*7Xt!iCMZTf^S-^idw6Jgd5nPlP`*W~btWjdyTt!(qxAGON?s0c{ zI~_$eBv5rokZlR}wnkSe_B4uS2lB4E;qCLw##7EH6qxQ^H&+}ZoHnOSj}6^r3|ZFwVNU`b`0 zb3yH*#-^tTLKZrkx6%|H4 z-`+S&%?1`dE4pf*ygJwSwJHE6kdoW&VA)o61`l>mk3lmEN~H|+cw9rQzP>rQJb@1X#7*aE5Xh>3)j}T8#x>={YVaF2kMu)JBlKar^w%Zt_ehZj!;mxk93=!> z)7NKn3>oFlI8<6yS(_7_+R)tLF0w#8)kV=Te$9R=-!sVZ5S*M zA3#_Ob@-caI$77XTVTDq{C*X|v2>$bvAA+$m}g*xc3xKRV_p7d!9qiA65g*{^K?1r z8z|UHXZ$I`4w3!N{{OdFLEPsIcW}lq0zuagPR&qPInXdt6h%3(h@9o#O9;V~<$;nu z2{bb_B(gEI4j9(+xFBE37z>A%-#3lqv6aSSMxqATW`;2Ym)%~Bg2TQ?q`PNq+U-AA zAvPQQ-_%4)o3dT*|#>!$y{ zR9BKDW09L!OR;lx`dF?;$toe*#KcHwiyija-ClJ}%uMEe^Y9!I)KlCOz8{s+)i zqq%jjt(ROC&T2E=9~d~&-m3SGr!?32atqv7l3RHuIIVR z1LUbwQ2QO@pu^#Ox3CXK$VhzcA;C(b^6u|1X@2(zWcDheJHvUID?~Yzku2xR<~9J~ zG|>X^<6-Qe_)sStT1%zlTCs`yt&?JV(Y~mrniJIDfKV zey`v$OTD5U)=DLP*qO;}Haie$0{GA*Mu4^uE001rb8oMqU?j9_=3@Umaz7RODXlc} zyw4x|l0+v@9dI}|IhAv$3)x)o=+?Y^?0=}bFd{>|8qD?hFOJ52Rchv<1?az4WK8Zc z?#ov$kSU6Q?~Q0rrp#lc(EKi1gN#zAzP<%1P8}aj(rZiM146I+&Hho+`g!s z3BA16%6&Lx(R?n#Ed!-+9$J#QZh5Y8Ss}T;z);$%zXOb5bT6;dENM+a2`mv2BS>Hz^(7a zic7dk=p(^t32V+kI05(~ITwP5VOk*%Flojh0s$=P<(_k~v=kJuZ8c!{gF7gcui6mk z7yx0aVDV&#58*59lYve3N(D!-&+rrxREc|v?hQ=m_Vok z8w>Aoxf4gAr~=bLd~74Y@?h+?Q&9wYBg)y?!(_eg5pcXj3S@i+PMYZl@5|AR1sf4s zR%2sXwRsa+svUiOw@tl&{diO&D2}$wsZPeqf*c)V3V%(!xZZWJ&*WaW!{Z5oQ1?KD z@ANg5a&`NWl#vvRcgzvn6x%aet=}y(`u87=E}M((mGALSG#6o;v3xSa!zL~Be*NcU z4yv*FPV!tf2DhAxDk2z%zL2o@1;R@jLC~YzT{ENoLh9Qmq?>d`U1ahX^dh9J*s`E7 zjlUll7VX>?TRs467Xkr5>Y!@aN^rbL7L-9uZ?S5wfYF0gS?TBR@1JwJkXs=5THrFA zn|mw3{Wz#L@ommU6fj^3jP;c`cKQP$6%-uMk_6{%G{kM=ovID>lMIAm;?gk){mS`O zSYr#Tmoz$l{D4TDEZtxPIBR-i{f=U>Y+RHm5_d5F#Jjsj&>Wl?AJ3E}m6UX}o*|Qm zh3yZH4SW&N#lQFP-ep-4`L`ATa6xFkKMpoZBc^`-Bx^c@kXh9*Y7pA^%wDI}+D8^3 z%`LX(Y3%v(9>WM=amC>AeNf=uxbgMl$B)p<=AW!Ly?ug)+chtkT=3@6km#&PyL&Ov z6!f=%(jJ@#S7h8@>=C!p-0gD9ZgsM9=>zd_uzfr^g&(*!5%mY3T!nxc(io^dAw|e@ zjy=G1ix*4@ams#ZCN(uAh{=n~EQ`OP<=(YD%+dv3444{z1hrNJ~7VjGs&lqEK@E0O4Q2_ zb3~JF=M9kb@(5C&?4m(L+upNI2wA&)82dW-cC;uokA0PC<5DVhdU2h0es4^s#x5{m zzmlGF$-Cb?@i$yhogWWY6R-L9zJXFG*W(o8Lrz2x5GkKuzlLP$@01Eo0rnRQJ)IsN zx{h%6uLJ^i!gKLXw~h86Ic__s!{{BDWdu z90-Ag76hJD!fb=Q7-`Ii%DI$QU;(-Q4@1Rg1 zZ?#F}1jXTrziDhXZrS?^-3Sd!E2}_1a9f;#{=*}l9W=C(nCdJgrd-QFeG&7q6Wp3G zkn^l+zLDMZIf+6)@xG@WH9iD(RLFZ(-dP)gd*{mPs*hp`n{hZ3raCY_Ts`;qCY1^Xh+mkBe_eFFTphvd@ z3EmbV;9NdxKe&!HRLE^^o^l7+PBXi4?kUss!4phsW$sh77X`M*>Y`p@2EWzK?XGr! z`GTL$mnP??@+}Lhv=fAlpnqPX*ajuy^jnB>Y-!QDdIF9!yWcj|e#tSp z@hT!n>Vhk<6|z(BbY8VR`yf<3)xo1g)Q9QWp&SrPMo1IKwHv0#&QEBm%e-`e&xm^w zdL6LZsVDD1)H%TD#x;@u8nv0?M~n7t^Xc4+{Ew`(EgTd;a`hzsr96P{vPbd$aX9 z36)em1({+FDf!4Q0UMQ4+ucS1hq#?Xd<$fIhuFH5w6s9AvA2+;)8P4gaCdv~@i~}E zR_7X*KU^FKS{7g{nk_-Drck^M3Js&p2*SzOgiA1FBeKkyG(|Jy;AS3DD@fR0>H}Jb z5hTYhE_cJ<0gN9UE!K$hTIS$FV=`z z3Ay?Qu%5){!{%17j0r*Fd z6!D#UewY89-^<8^za(RVX4v?S!;x8+5c^I$^C-lxfrMjf6XsGd8tBgL9vp1trc0SP z3&q#h6mhav1KQ5cPJlT?*9tqczx*g94&;{6fn8EG8ZvSYJ7m3tZuM4rI~C1=>AszJ zm*4g_lTwZ^jP#~2b94uR;6NbbS?+0=u7SSjz5lkn($_93RbE+n;2WBZFgVRXqw=O1 zb)wkalCjmr^CU@v&YC7ihP6f5$IgBloZiY%j|rH}E(EdEjkaSxctAq@f_H|jkQsMx zm7SCy=NV(#y4d@cBko?kVaUCnwKB6eYwGs1;LWBFES~R%BqR_JDRAJL672InxfNeXqm%lEx`st9cYvSVYb4W;0ROm>lbFL)$#oW7D4BZ04S3f z<487gma2B8z3Br0Vo^i7V;FbP%frS3TdIiirqI}uSQ%w?$6!)iDJ~nX*vMep z%8c;NwVzZ{BfmzRn!ND%-RK4q$X?E!fF{YuhK2^(?U$6z61~jSe&ecD+y8Rsk0tPR?Ko=|80eqVGcnd z^wpJjx7?`NE4`I4NVc1xz=VwQl3{crnGPjmyA&nIj>Z;0OXSw#?pQ2?;0TIzxx4!0 zW~B4|$*CzMQ(*2TPmEn+oV2_^bG_;!z?&JY2*%e{G6yQWTAMr@#w41ZCp{}5*ucVd z9tx|T6KciNX*VzdbG25p&s|eDUYTB}Xqeq&8iSb_bm}w8A#8=lJ$Ox8<0$t11}O;C zu9}(}(2k|n%o1Xc`ES-`>B!O+X6jbf#t}suQ}yNZ6Yp7JJ<>pqwN8;?uYX4%Nk7Mm z|Ft6f5;)X3M&oW>-1_vTl|gG*gwg}9a(H%?m6g{H0fw&-CsK*E?k5KpkMMe}3Qy@dDuTsxSZft_E2izQIC#zHV z?M;I+We~$W98z9!^bHEmWf+KoDvff6H<;_9A{Gzfr*RF zQ+^8ykEFvIGsVj3j4IPXPxHOq=%+k0JzcOosBwX*fJ0hB8{ZXf2~p&rO_tqAw@SsPP=7dMGy)4$Tu{cYZGmcEnGIn*-^18rp%<)=as*1&sxXc8Dhrt># zfSVCndA@$*mq85F>Eo;48mun7W`)OYvkGH6+8FI+_rzjB5M%69YrD)X#l%)OX2XGg z(06nW4ERIQt&_C`dwBKsoU=9e`a2=bzArNd3IdwUM-GDV6y%BW7m|vKI-5pWEy08i zMkzqrdc;GKpHp@y#J2l(Sb3OmDKt5ixLaXlOIpt(9+x>dP3h3wuQUwYPrb!@t`^!Z z7(togVrK_iUm}=lop|><{h?Hf?ec#>V8Uv0DCHU~pY(2_jWS+@Hrom_FRuH7RTj*) zS*scQH&l&Q(O5GqdC}K%?9hZR`w$C4vJ5G`5QTNX;Tu3(4k;$L=Yl}fH0N3LXIoC? z>@yRlmR&~8pR?}r0@E4zjk0u@$6_l+z#VPfo5}vLSg+NHwgu`pqb4_jbuE4PFMNSx zAEKY(PY$ozy-g3O|HnY2IdoqfdZ08wMcFu7Sm(|~deUq27NK!cvJI}J%U8G}7niyo zsfxg-i4|SdW*GRSTUVwd8`M~#WnRj z0xFEY`BkA{SMdLr>*&m9IZzqmV?-ZVNm85k-%n4@E5-?Auj;Z(SIsgsMaqV-`Zp!# zl4$eKU;Y2gKTC5(a?7IvM+*CK{FTDrhU0l!26-DSgF)8UBm2x56?=yWRAua8(yR$toFaU}h5J!Pfa$vy3 zlVY}XGnGI9%G~PFxi7erF6U0LvazkhN2-;mj43PLo7cVF3RFjRL(7DjJ}^vq?IaP;WX(=~&Qwm@wF*A(lvI{lWHDC=9eQn^tZ$q_F#C zIJRY;FIKO>sPJChC*{lR%3s>VPq6b`>uGYgZg|?RxVBPw_xk$RI?CW6plo@0c`XfT zf#%mPC7%SHjPNfU{Q9sp#)hy92f2S6H$B#Pp$<|s7S|yw1#gEnn2b4eerI!V7ZLNJ zyND23D-YdtUBmsENUY#gvK7{dasyPxM5-V;4_6+J_X<2Nyk1_FbZ~KNoB{S>| z%e^jdL&Z9oVx*4Cv{zQbP;}F`YG-E$u5xp!_SOgYMsm6JM6F92u4Tq>q-3-`{TWkn zh>eSdgQV5Z2$P|zg>_$`s>3{=K*&WEr=46j@umt?x_fa+8Jil7euK*ewXY9k4OIzz zdWdV1mi2`|XATMqB1S!&P9LoFDRo6!J;wp~t98O6(#OloYYZDZi^iVL#7)r>a<-U2 zTx+kWoO+?$-!{N1Ery@NxRH8jJwYV^G%6g%%=ONpBMF5cenb4?G5=w6SiIJ`_Kz5U@9-N(s}5gCZ0wg138mN`Rv;ibIE zBMY{j=Yq|>yjCIN-n^Lq_06}><#Z*gqdW&pTF}fdv5~x;rhI9X{aTJiTI`JRyU)Zr zi#v6VX)(bX;kKXbHZGSK2!p0gNIw_cO8Si06c+X+7|<(J9@SJ%n~Rn@jgp5>pUUpm zB51*IK0Z@^GZ05n4r*(#Cu)h0{izgQQe14w`}w0>E`Y+@!?u=2R-jMd2kyLX3WWka zLePFuwz)NL5&cBQV`;~&BDc08H{=+&%g3AgEu#?lu~9RgQ@vGw3fmV(-JwCEK$3jZ z+}cVcu+s;6&Qa9{AA$}Zfd?x3%D26*PoMVtJj+_psBmafjrD%!A86rrwL|z-ZEY>w z=26|yuh@89=K51@I$hsn8g(1gl`!L(Xo<(;@op7>M1<@ETMFp`v>&^hB0O}i6HRc? z;$HMte8T}J*X)#_mfy`6!M4qoQW^P3nULHYh|`z0(O5^3mK627FHu~ASbg<{J~97D z^RD6t_9gJXcaD677y!g193@|BdReNKM~f=i(pc_JnnXJNkr6niz1DqG$=SlmMa!zp zc*R>W8;n*jaE$7Kp@V}zc&e;JF{dlxKi3dQw91g=o!PI0cAWiBt{p|vXRn6 zE1yQ+ZqdsbY^3jhj!Kp<$#zG#qZ!C4oXZKfQoraUnJ@tYKua7nl?#!jb-Uqw6if z^5%iug8g7xmb_e43m0ty0V|DiO1_&k!2md+N}tz^;!O0IO58H&$EZdU5P$>v$6UdQ z_s}cWZcP&mmVjAcKRf2{S;t6^b?^(%VCqa@Gj;<(cVg?v0)Ox|206atQ=X5N^-;@! zy#|)C^`I`(SW&Ao+?-f_$TWb1yS^`Eex%+A1E6Zh@hOCstkrF9PcJX*@fa=s?YnTv zMr>@Gdd=k%U+{j-#9fDVEFYgP2$UvVe^D-d32phtG{s1ZrJ%%=><7RT!Y>2CFO|om zP0zXpXKD~JJ^wYpd%Us^lGg{!(vQn!;|~AnSkJGui7L94MWrp^28Ke>{Whjs8?T%l z@kmCkqqnzpFNSt4BF3STdKnsud~WaTygOUe3idkT;0w!~FX%a{t7|lTo7pRPr%^@8 zHhuMbyVMAsd);Q&Ba1%ksK;=AGIp+P-)cw>k0B9On&d)WLk%`wJ6efFLt~G8!O!!Y7HZZr4I?f)h{!K&UzhT z|D%ua;!YK0fnTZNEN`ieXs11xuMoBbkQK1GXdQGTTIqJW#3DgLwff7kuLNRviDgs!_x+WV@|xo; zHnua%cISbk-sC}qlf~E&oDba@Y!1FAY={$Y1{gA4u1VmDf#a>NvYepaC&nNW)J--D zz+eUf(p><3y*JJUJm&m7hf^s>fApdA$Mw$?>SJ$@sb6?49?S*0g`LjFMuMraVS_Ko ziVE=ilBK*yEHqEcpTW8s=Q8OJGOERl~&po-dXZ z{{QpE!Zm-u!}lb8FqwyGVl=Hj-JB~0{RvfV$mKm~w6}rp5Y?Q}WcY8?eu?ns=+YFx z5-)fIe;3VXiHYD5U=QsWtTTTQQK?gChqz%D!7~M;IxuDo?AvU=aW=;zn7t6BGLVl# zi`JfBJ^J{rw81O@{6#6CeaB$`!N7jhyLZFaki+Ss@Fefv01s@%a5AkmLdtT_(X$s{ ze*>yaPYUgTGn%S2aRw-WmscrtX6xo{pTL!fF$fHG(6_);c;<{BTE{N0u7cJN*s5sv zm082NDgtjp^;N9Fd%(neD+J?J5BAh04LFNo+~7UWlSq0&@XA?VUpEluJ@N_M#{~aJ zZh|?N1yiDu^LqiZ2s}O%N;0MiItzO9s1i*fBtR|WwV(kHz3MIS=69(FpMHLj!5}yL zm)w7Trzq6w+8AUus23N=HUhjF2F}WfiFiEVYL?f1p-7PW9Jc=wJUl0-mMQm*?Hv%E zR#hoqJ;BJW$lnMNSA!*vcu$rT{(*9j#vvDI^ShRTiPY}bMYJNO4k@Le zq1&GGtU#fxEFz#h=Qwug0BzP1|BrbI2G?_B7<(loh%(VTJgK)VOig{VGf*86kfm$R zq3AIU>;Xt^{n*vTWFul21?`W~2yK2@u$lt1jz2g!h4oTG;<0@`4}vGre2zpo(15XQ zK^NWpCKDuIC>(}1)%oXd>7eKF6}0C-jakZ;+Ptf9P=~1wUiL9pxeezsW6v^UY7!)w zF=Y)Mi?eioa{;bQv?N1MSx&HW-VcFkGeFCs)UPomLMI4P7?hw&$0;U&7MU+z%k5Na zZxV)|!|pD^57JzEEv6jERJg>z=Y(WJp)dvptQ;JvTTm`D(O3W9*hC=ck_OO`0~=wS zSX|8j40O1>?!g=(O;p7f`W63JhSqM(@x@uTbuPIN(Bd&}rA@w?n%ac7qqkS!$R~iG z@-sm<8ek7`kIh6<*RX79ZPYAF9u0POb_tbcx{PP&o5%P9`5kzV;-d(Ja_zOU8s79I z`Ni>Oyu*z+HB>8$h0k-`9Ek$qvR_qp%&f65NdJyVykA66sA@_<{>ueHJ(5kCVK}%S zz%mAghHUU#9sl}o8-+)#UkZuj;p_WhARfwW&`_`^@KwZ%=%&)c+?LB2XHc9;dX9r+2l&{!A<0;X<* z0+w6YSAP7s5B-U^?06}VBUBa&3k84DGK8B2blz-Vo9?=q)BR8OD+> z5R02pKTi=(@w{p#Y1jk%Al&Pxy6$>M!&{oD&lDJO%#qvaKaL$KffF`J&64O$m>pg{ z0ap+(;|1(i)xZ8tCjTSc_^TPV@ZZqj17{DQS|A_?wlTOnz}>B9>7>IbjGn;~#btCG z`39x{w9L|{cdR91;NK~cpMkg&d?7H@cE2s?Bf`EymkO9$YDP3Q=nh&cT%MD$u@K&V zS~To-A(Cc3dD=XC8Dx@&yrFw>E%{2pZ;-f7UkiqNQu)MpCGIfF43NS>$VCP|Sg|y^ zA>k!Oi(N<~+!L<(rs)ij1{`=g-NxF+2Bd6#H*efHjF{Nr`(8cxo1yK-);Ruy35mVi!!F<;byaawY|}2( zq~fcFIt-9g_?d24U$&BG{(tRV`6HD3+jd%2lxmW#l4MI{NJyj*!a>Gbk&rEGoI(_* zgeYWJLR3?>P?qc=retZX(PGP%G%0)UHNK&D`4e70os${!%(Hwx_kG>hQk&Qt`2Yv0 z{p~l1>wJS`Xgt5ONIsJJL}|6t+duFXsqySwT%L4qAoI-Y@$txhGInPD8a2-aa44)O$^sG8J-BGCC6U}Pket!U?jfy|ZLQV9#@d~{ z>XWPM5`K1q1>yk1O?rii<((UP#@zkD^aa9*t|#_a>zg*C->X@MA$7e;1aChCBElsw z?*+1>(DBb_|8Z<>%MsN}`}}iCJenyrSwM|13~{!&+LoUvmk*knn|C8fLgwORw%cYn zZLFViAV%wwNSv?8`B)jChJpS(+g^$*E$&b@aWsxO?P`s7%V5A9>SmddJh2*gzrIT< zhWCZAQwMRzee~1v!1TQ@jg;9_b2tREOVrortY6(epiRor73!~CgDi2{=2T_k_)Z%% ztuQLYgwe*PX4*3Kj}2tYXiq{yf{FJ`xW* z_MYkQrPeu;)_fODWjfPt4+uO0MLj4J9HK|$R39}`(X3f=x zd6R%jvX6PuK}<^@U%+vurrhywZ2j6@90LRtP8o-l>5*Q)1GtJG#3bK+cehn?JkaJz zp`x}}Q;`Uj>3^I@A8zzXNhS7kOioFqT_=k?Td7nyj(slu0YBv1A`|87v^Cx>L|p&z{&CQKodZG6wgy`Y7a z(wz!>vqBCp&}fk;F9-A{0mOu@S?TFFHpEkUpb|VcvTepl&MJaC`Z z`n`8vqBAdkpH3E{?9?Q#zEbw$#lOOodaGOCn&9~DS)?VPcNqz)O*@o{<#wLr4 z;QQzB`m?=#m06fxraorgeb!3i(9>@;T_FqSYdw}~mF~V}PyNH{%^{KmBmg83zTfKV zRwl+A(3bHbYz@&h*%Kv;75ihEN>SgC*Xu`;*jKbDE;H)&Gq6uFfBd(AT`ZB^*381f z0=1`r`eVBF@?$Q)+J%F8%5mMqUPX4RgSGXk5!q!12L$YXFHj5_ou<>yhp}xm%dE;E z-OZR!awu{49i_~_h=IYh!l7Aa{&)E2jP0!(O(5nA<)s$rAud=LhdV90`1%r#Cue5i z4#gFuJeSKDtzP-rHV@H@K~H|kp{U(@gP!{xv6yDVa8R5YXQr~my-AX**Vc(B{_(l)L2voK6MK40GAvzvT5x+2kCB0B7h3ejca zTMr8Qj9+lS09L2M%R?tABDxa;Rp-<VmaKCUhYEFfLaPQBlR&V(9m&XTI@Wh^t zz8G{>@+iH(6jS-*ZAs(1&lqAe=0$Q)oXx+Rvo9+={EQ2B%^lOiwX;*@b*oxKZ0giAPSmUt}z{+rmuknUSZI81Lw@T>S z*4Dg?jFR3XX@NPTNZ`2F*pF&^(wI;I;rSYml?z98iLdSkJ)sNrE5BwOSl(@7FN4r3 z;3nz?9v%gos$zaVK0Eb=cc9;WP%||HavWG&i2}VQIsB@j0s+cLaUOP4D*{1E6$pUB zr{0S#NLhn_>*5=mUO_iIMqROQyQ+=^M-akvtRx~S(M&8yc-9+6AmB$M_f<;8;_ELl zmtGxrmfczm>n>)urdoS#Qlt@jK!0;^#4UMBedku+}U44uef^?_Wm4 zi-|A{=VmG0Kfz2pP0xwA6CDlbgEpl(nk?DYg2>*%|DXH5Qx~)~$`e^JvC>~gvRk2P zz*71v$5Cn;mPT;6pvE$Bs)l~YwnH}s>C6E<4=UI)g_nIaR3Y``opq8@g0Bg5>?kd| zec?!-?%8A#tjL2026C4Wm2TV;_>Z>axxU&~9=@m*X4)*v#4js}!&V1br7Tft1jc2k zq?ajJ$=(uFg>3H;Q*Nx-JY|?nkqL%CGDsQuGUh}e$awr`dDD+c2^#C|=%e7eqPv@8 z3J-!e3I|r@;>&_`HZcGHK^W%H-1+-RFR=r@#j53196y_qP_@nTs{%L6O^XTNb#kx< zhlML^;Lb4B6NnWk=ePdWW4Z@E5THkW{`{baS1q)A^gK9HyB!pE#lFT_LD?-?gsq;R z-rPT9;h2KKL0f01oV>h)SNME0K7saTE6LEMQtv2_Jn~4&Mb5jps9qwvMQ`k^Q=v`4OlK9GS3QI`}@bV zC8eeY%`*Cx=YJr=4iS=pD^Y?^)Hj;F1Ra7nmEtyQ0fHsX5(0n*&&lT}MN=Pa@dFk8 z@4s^%k@GV$_DD*moWN!WiedRjfp9gtV0MjoKc84U^3RbF{hbf*8?CLWfl;zp799zk`>CsnMCR#T5?|QF z2j6u_({gKIIwWSsdMlwsONuK+I_A+AzO6TGSFVfsr~4&{qS?NY_=+o6uEYY8tb_Rw zQm0`S(H1oZQUMNtm+_FkzP<#<2_vIKfejk1utW6VH11ge(7%&Pt>}$PdATF@1b8lU zO*L_jX9l$8{Ro1Fkb?BEx;#2Q{*1WaXJ-=2vPcTGqhkiGv-^37RQJTbhW!*+32S^l zI7+pwO4JYx&=KDkvy}hJS#n62j;qP^P@&^TpQ^5e=xtCsA3YivE!(}Prc;sU)QD5G zv z|H#dJKQC2UqTU9QLvxWn^ysg=`LI%LWgDo3sHCHk>JdWmkeL3uqw}h9D(9eqMPFUlF_)vsj#;WtZ z?%vM-SKLs}&s>3Cio6MdL-N-#q%2_ifK>p=s8cHuLj+*2GS!3olEnPqyEnTzBt#+6fp^ zeQY7YLGQwp1KvpnGFN~!vROEM@U;t^dPG}k^hl1C!5p1w39GHM14bH3eb2l!+v zHq4JJZm5UfHzhH}9Y(Lwab>x^6XZu+LIIG~91<5@<5Pz&i@gkHs?Pu)dHfWaf;hlE z651}Vty@oqHJ_fB0NH6_-$|2kQphy;KH=Ga&Pe+f`bKxztx5abTldRX;*kfu8WYoS z(QB>=beZcO;dP?dAwDIs+L+~E45_uB7g#zDV`7Ulh9A0~bQOyg_|Q|(TOeRycOr`{ z0wWh1%QOrDv|4Tz7vL*`<6Q67;_7UvD37N*M&IZc_Bdk8is%9Aku?!X zB2kOB+~TW3tEJ)&uU6QW}h>5-Jrt5vVxNK zAVx%$CCSB$hE)S0d$M_*^S7J6VTEz#*D<3cVq7ObHI!BEw=OV|ZS@tK%E*bnN1e_p z^)&i5;RA^YnRGURD>Z@>D1Jby>&I<}_jAVXN#D0{Gk=YRXC>+9`U67HXJYVn?yt?M z^wlqJu4mBrB8uAcLSZ{5cla=vWXw>{>jCk5mYvPUoMVr4Gt#=77Mpdigw5Yi3>hE4 zR*E9YEXKbm+JAGi?S%^y;MW)ieQ@Sxf&5E3DT5R5zNMBdB)?Dm+&M~_>OwW&a*cf5 zr1KV1Mxi%HpM*rFUOwTd zGrv+WNM@%J|LBSshQ``+G#7r0%2(yb3oy5%cvZ*J!qxetkHVPr*L;(V*JWHCiiQ9} z1O)YSGP@ZM@r8*^8e!t3oHSI7Q3UMRFh9%Qxv(_B+fsdRFM?a?^GEtKkn2bqJs+3& zDm)OFFNpL6rT)Re#@)cvuu`Kk47Y_pv0=n6{e?5YaB1vr<#-QxWq#$Q?4hrY7kN&= zzjUY=bt;mCH~6DfqOTstX&v>sc|@z=;{JA12y_)~|h-Cs`U>nj|H>4&?t;)9Klu8`RX7kqlaK(wQjdOU_lsP5SA>V{-0_(>#N9WFlwoiRvGLP>*xt;&CxZ zlD~Ns{|5pR2$;|x#zGU2Sl@v7)}yYYpK!hB;(M~UDJN++`v1|B?xoQm-JDVll~6*E zG6V<`97wa_TlykIMKJ;$oAO4HENijF4>COrD+Jgl0@pw6dpjq~SeGQsiu`WXQ41yQ z4gSjl_qsF@w>@3F%9ncahCgzujqCm=&hp=Wt@qzzrvLx{=Fhy|<4Agc{>GdLCuMmE zN#{~fL2gXi1Tf$XI6me!UVd(UW9~Ve`zBG^_*Zp>sN8dgW>x(kZcE1>I~fm2arJut zahFxk+A{xy>~!Ud6`w~C>&dhNlj^ya`8#BLXq$P8Nzb_HfP=rHPw|fQ=2$qYN55K$ zrV`wptl==+inNJ$_CI?lk*>Swm=~a64k5UsL-4x#q;2srkw}9=YZ0IdK|Fswx245IeMhg18gU)r1%fBgcnow@>*E>vY1PF1O zeNd>Ux664ScLAhP)rHPAR^>$5>MK4XId}&`j!-B;HQSQiJXq+|bv03-?E`Um7g*~& z>pPkjKe6fl-eA#YKtLJwH3VBpj^oGuKjmSCZ3?$&6|i~i`mMVf1OL5gsmy;5uGj(l zhW~r*q>42oU}^$SD6eY6l{>Bljl+wpzNyAzCr?9y(lDbLt<(&O+VJ91OMc}k%^Da^ zv7mJM2(ms7WCR%Vto^LSZKVV)(<<1=(^Jd<=rJ)dWw6VW)$TV+JX$gH$U=^Lz9+@r zz=c9fl0zET;@iaYD@uD0=i7NP)!ywOqe$gv^brP8Uta_cj%_a;_`(u`nm3tQiYru^ zW!79uPZY3!R?w?F2Q{7fMXhYi@i(7enM;*d2=4o(yRfL1=+U-~(i=na4jAy=0C@RemnvbpN4@SHSSb_R1J$xr_ZY|kW{OQY z9H}z72fdRwGQNRg@v4S9oegWMez<@YUD6nm|3vxzR3<6i$k_ZZ&fT1I(?r)DXTqwx zF=GYg4Y*^FPcaYy;uQ(83UI)7^FDNz%BX+KMF_VHK~C|x{ZN@wypf? zVbZx>&*zwbC(Gtj1B!BKf2|3~yr;VQY8Im#nUAzTX;KXLn>hZPmoqmsI<1F}}HWs~q!`tDK z?{TMU-^H1(e}?TL%m-rxHn}0Ro@d>EuUfd*ewjMx|LR$a9oH;VN?aVFDl+LN_SUd2 zrA=G* z=f6*Tw3au2{=v-djSu0vfowp1M4kWrO9IQEG$iPSp*|6zD1SpEr5x z#_b9)qi~LW{|*tbnqLse%C$6EjrJbrE##+dHaTuO2e$-PytChT@uZQ_!1Uz*`iwO` zU(wii0k>RprOfFaB*)sNL=wvxVl>@Q0QNgFTVj8~Mpk4u(wO#dfPN~(CZ}dnU*cT* zO#PMxC=&j4o1qtWq#Bj||xSs|)s4a^y2(YS8CH(cdRR;#0w z-RvW`Ace(G(rhTklJHNP%i=#>DvtM#|FQ7oF)(~^ST#YMra?m-|AVmby4lM&7jGPf z5^Zjit4Xku!W1X_%N-S7UR9aYf`uE4;hTk2;z4e13bAk-kseU*-X^}Vid@<_7QZpq zuc|8#>oGSYR~006aD~ullnNH-3(YYa#^4mu&_!_Mmw7J`R{aXL+^s{f+6hD9H8CIDaZbK z(v8S!BsymraHLri&7Y*XHCm~-a$2@HmR_x<$wG1WiOx>)z!p_F{0_ZbiuKUnZlNvt zb2AjXq=l35fp?2X5$GZk93Ai8U9T_$CJP|b-91LBBqn83U&6{h4E?GCFpNNqxQ?^ixL)G8ie74+aj8D0rRY0cW2C&yFuFeLuWN)Vwp zsxc|`%RB6UA~YP6V9peUp8?8Ah%Lw8<2xF`D+m>)+w+2gc4%4M3N|UhFI$YAXcAd1 z(W0fV-&|M6!U<+$c8gi2${;v^fWw7*i!RXk-q2!FuqXF+h+}xb&3NO*AwkT>Rw=0} zD(G&LmwTJu$@o+|CWSia>Q`R>WwAcEblP=j;v3v%&-Y-4 zY!f3XEnOXOjjqhRBIFX(c=z0SL}}n|h$`H)CQB)rDLS2E&QZBtNgGU? zuU{RLbzsMvV-%z`K}a&mbGC4G4ey(ok;DN^V?1QwF<1ALEbZI<}b%O&9dX&fFsf1IEs z%pLIw zmvbtCxWne+Qm9!EPGoPGU;rI?oLGM04xF4TH3{Djhb7cDTgU~u7uGtx1DjkrILkm7 zclJikL>~J#jN61+DSh$Yog&9^58T##7FZ7fXh8>(GngNyB?yxf3q4&r(!mNlq0IS9;R`Y&qSmPJ}0na~fZiAVfCg6GGrxhF*aWe-@ z(3K1QTyXen@ONx%rU$6I$h2euN91;a(}hZkMDid7U1LUo{(kEp8y`{gb91dS4bU@*MB;3MV=nHU*rMDz z>}Iq$!i@{4oW&pHg!X};L|z4};QX{>g}V!R(k&cTx>GrA#S}i?xvj?_%$T&T*Y0_%9u+vCIN;i7M!(1-wd0BzRmN)l;#}YK2)80KEz` zbhRss0&fgl;6#8(1pmq>3NT^_&NbL+L`>t?Dmhh4R< zisnqDVS9j0ju7J^o)B1*Juylpupav^%y=kOj}wE8-e$}ZF-wI?_Rt4&qTxf`>zVt@ zY14IeS_xWKX&iJ-_ZB!92-l`~YkMM~LPBvw$o#KKkT#*&0bQu@q-eO>kZ9)@f1*7h zxrII|DhOI!xldE0MAIKX9`}@MYH#j82W=(?Ru!sE4o;2&i&XH@WF2PxL8wO8xfR@Y z-y79;3DtMA>m-&m!;ue2paG@-XsCpY3=B0u9(;MS>PX?{nx1bsA(`&aZb#5E+lTQa z%Vm9!I2lsa(0)}Q8b0Btqa9&%BgV7OhAr{7grRZ;WPn*9JiP^@2ATp z7(qk3lAq+ei(A{bB#CJy(0-OE{X%c6fdU z(u`}NeG4%sTFqlrDoLg&FApbewD9aJB*}Exzi)4+a9G7u@)RQ{>#V8iLG4>0CFI1e zX5JDd`b_;ntO=V+;XO>lUZ+RAwsbx5)4gzr(UoVmC(`7zZH^Jxz;f{;z(~QqUU@a@ zTq!71y+K5F8OIa1)qN8Oz@zWo1>>YUeU1GRTab!onU%Re`1*CW0!c6h8)bJYX`jCX zUCqAt%XZi_mU5VBX-nJ2HE0&_lWBjh)W)Z0h*eH7j`S*i-{ahB_Y`vSU|7B(bs0E2 ztX70Za*R^nUOkU3p95AK_4vJzH{uE&uuzBH=ma2G$dsC9B&060oq~^oio+5V6wHU2 z#su%g$9uz%5!^@gchxaU5}O5WVjGjmhK2^F(>atq4k4$$DP{&ica1*Qhnvgoj}Tl^xmTM4GG&l6sR?Qv|AfCH2p}>dvw5S zI%@e{1k&wjwflknqv-r7lCi}l1FiA`&}WRfL!@+JtBkmKR&g=*DhtCV*Fr4;I9$7B zxSmZ-OM@+T{M*&O!Mcw~Z7g$Jl-XQtsk*wl))!HVbE+P&Zva;KVEhPku4Ycviv)D8|KCHmceJvV%?h Date: Sat, 25 Apr 2026 18:44:12 +0800 Subject: [PATCH 7/9] feat: add ComfyUI v0.18.5 container image for OC9 --- frameworks/ComfyUI/0.18.5/Dockerfile | 34 ++++ frameworks/ComfyUI/0.18.5/README.md | 103 ++++++++++ frameworks/ComfyUI/0.18.5/test.sh | 233 ++++++++++++++++++++++ frameworks/ComfyUI/0.18.5/test_result.png | Bin 0 -> 101343 bytes 4 files changed, 370 insertions(+) create mode 100644 frameworks/ComfyUI/0.18.5/Dockerfile create mode 100644 frameworks/ComfyUI/0.18.5/README.md create mode 100644 frameworks/ComfyUI/0.18.5/test.sh create mode 100644 frameworks/ComfyUI/0.18.5/test_result.png diff --git a/frameworks/ComfyUI/0.18.5/Dockerfile b/frameworks/ComfyUI/0.18.5/Dockerfile new file mode 100644 index 0000000..0b5214c --- /dev/null +++ b/frameworks/ComfyUI/0.18.5/Dockerfile @@ -0,0 +1,34 @@ + +FROM opencloudos/opencloudos9-cuda-devel:12.8 + +LABEL maintainer="stronking 363133710@qq.com" +LABEL org.opencontainers.image.source="https://gitee.com/OpenCloudOS/ai-agent-container" +LABEL org.opencontainers.image.description="ComfyUI v0.19.1 (GPU) on OpenCloudOS 9" +ENV NVIDIA_VISIBLE_DEVICES=all +ARG COMFYUI_VERSION=0.18.5 + +ENV NVIDIA_VISIBLE_DEVICES=all \ + PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_DEFAULT_TIMEOUT=120 + + +WORKDIR /opt + +RUN --mount=type=cache,target=/root/.cache/pip \ + wget -q -O /tmp/requirements.txt \ + https://raw.githubusercontent.com/Comfy-Org/ComfyUI/refs/tags/v${COMFYUI_VERSION}/requirements.txt && \ + python3 -m pip install --upgrade pip setuptools wheel && \ + python3 -m pip install -r /tmp/requirements.txt + +RUN wget -q -O /tmp/comfyui.zip \ + https://github.com/Comfy-Org/ComfyUI/archive/refs/tags/v${COMFYUI_VERSION}.zip && \ + unzip -q /tmp/comfyui.zip -d /opt && \ + mv /opt/ComfyUI-${COMFYUI_VERSION} /opt/ComfyUI && \ + rm -f /tmp/comfyui.zip /tmp/requirements.txt + +WORKDIR /opt/ComfyUI +COPY test.sh /opt/ComfyUI + +EXPOSE 8188 +CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.18.5/README.md b/frameworks/ComfyUI/0.18.5/README.md new file mode 100644 index 0000000..90c0cfd --- /dev/null +++ b/frameworks/ComfyUI/0.18.5/README.md @@ -0,0 +1,103 @@ +# ComfyUI 0.18.5 on OpenCloudOS 9 + +## 基本信息 +- **框架版本**:v0.18.5 +- **基础镜像**:opencloudos9-cuda-devel:12.8 +- **Python 版本**:3.11 +- **CUDA 版本**: 12.x 或 更高 + +## 构建 + +docker build -t oc9-comfyui:0.18.5 . + +## 镜像启动命令 + +docker run -d --name --gpus all -p 8188:8188 oc9-comfyui:0.18.5 + +## 镜像测试命令 + +docker run --rm --gpus all -p 8188:8188 oc9-comfyui:0.18.5 bash test.sh + +## ComfyUI 版本对于python依赖说明 + +### 关键依赖变化时间线 +| tag / tag 范围 | 相对前一阶段的主要变化 | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `v0.0.1`–`v0.0.2` | 最早基线:`torch`/`torchsde`/`torchvision`/`torchaudio`、`einops`、`transformers>=4.28.1`、`tokenizers>=0.13.3`、`safetensors>=0.4.2`、`aiohttp`、`pyyaml`、`Pillow`、`scipy`、`tqdm`、`psutil`;非核心依赖有 `kornia>=0.7.1`、`spandrel`、`soundfile`。([GitHub][1]) | +| `v0.0.3` | 特殊版本:把 `torch` 固定为 `2.3.1`,`torchvision==0.18.1`,`torchaudio==2.3.1`,并加入 `numpy<2.0.0`。([GitHub][2]) | +| `v0.0.4`–`v0.3.10` | 回到未固定 `torch`/`torchvision`/`torchaudio`,并且这一段没有 `numpy`。([GitHub][3]) | +| `v0.3.11`–`v0.3.14` | 加入 `numpy>=1.25.0`。 | +| `v0.3.15`–`v0.3.18` | `aiohttp` 变为 `aiohttp>=3.11.8`,新增 `yarl>=1.18.0`,并加入 `av`。([GitHub][4]) | +| `v0.3.19`–`v0.3.28` | 开始引入 `comfyui-frontend-package`,从 `1.10.17` 逐步升到 `1.15.13`。([GitHub][5]) | +| `v0.3.29` | 新增 `comfyui-workflow-templates==0.1.1`。 | +| `v0.3.30`–`v0.3.39` | 新增 `pydantic~=2.0`;`av` 被约束到 `>=14.1.0`,随后到 `>=14.2.0`;前端包和 workflow templates 继续频繁升级。([GitHub][6]) | +| `v0.3.40` | 新增 `comfyui-embedded-docs==0.2.0`。 | +| `v0.3.41` | 新增数据库迁移相关依赖 `alembic`、`SQLAlchemy`,并新增 `pydantic-settings~=2.0`。([GitHub][7]) | +| `v0.3.42`–`v0.3.62` | 主要是 `comfyui-frontend-package`、`comfyui-workflow-templates`、`comfyui-embedded-docs` 版本升级;`soundfile` 仍在。 | +| `v0.3.63` | 删除 `soundfile`;其他核心依赖不变。([GitHub][8]) | +| `v0.3.72` | `transformers` 下限从 `>=4.37.2` 提到 `>=4.50.3`;workflow templates 进入 `0.7.x`。([GitHub][9]) | +| `v0.4.0`–`v0.7.0` | 基本延续 `v0.3.72+` 的依赖结构,主要更新前端、模板、docs 包版本。 | +| `v0.8.0` | 新增 `comfy-kitchen>=0.2.3`。([GitHub][10]) | +| `v0.9.0`–`v0.10.0` | `comfy-kitchen` 从 `>=0.2.6` 升到 `>=0.2.7`;前端、模板继续升级。 | +| `v0.11.0` | 新增 `requests`。([GitHub][11]) | +| `v0.12.0` | 新增 `comfy-aimdo>=0.1.7`。([GitHub][12]) | +| `v0.13.0`–`v0.14.2` | 主要升级 Comfy 自家包:frontend、workflow templates、embedded docs、`comfy-aimdo`。 | +| `v0.15.0`–`v0.15.1` | 新增 GUI/OpenGL 相关:`PyOpenGL`、`PyOpenGL-accelerate`、`glfw`;`comfy-aimdo` 升至 `>=0.2.x`。([GitHub][13]) | +| `v0.16.0` | 移除 `PyOpenGL-accelerate`,保留 `PyOpenGL`、`glfw`;embedded docs 升到 `0.4.3`。([GitHub][14]) | +| `v0.16.4` | 新增 `simpleeval>=1.0.0`。([GitHub][15]) | +| `v0.17.0` | 新增 `filelock`、`blake3`;`comfy-kitchen>=0.2.8`、`comfy-aimdo>=0.2.10`。([GitHub][16]) | +| `v0.18.0`–`v0.18.5` | `comfy-aimdo` 升到 `>=0.2.12`;workflow templates 从 `0.9.26` 升到 `0.9.43`;前端为 `1.41.21`。([GitHub][17]) | +| `v0.19.0`–`v0.19.5` | 前端升到 `1.42.x`;workflow templates 从 `0.9.47` 升到 `0.9.61`;其他核心依赖基本不变。([GitHub][18]) | +| `latest` | 这是旧 tag,内容非常不同:有 `torchdiffeq`、`open-clip-torch`、`pytorch_lightning`、`accelerate`,`transformers>=4.25.1`,`safetensors>=0.3.0`;没有后来的 `torchvision`、`torchaudio`、`kornia`、`spandrel`、Comfy 自家前端包等。([GitHub][19]) | + +[1]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.1/requirements.txt "raw.githubusercontent.com" +[2]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.3/requirements.txt "raw.githubusercontent.com" +[3]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.0.4/requirements.txt "raw.githubusercontent.com" +[4]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.18/requirements.txt "raw.githubusercontent.com" +[5]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.19/requirements.txt "raw.githubusercontent.com" +[6]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.30/requirements.txt "raw.githubusercontent.com" +[7]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.41/requirements.txt "raw.githubusercontent.com" +[8]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.63/requirements.txt "raw.githubusercontent.com" +[9]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.3.72/requirements.txt "raw.githubusercontent.com" +[10]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.8.0/requirements.txt "raw.githubusercontent.com" +[11]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.11.0/requirements.txt "raw.githubusercontent.com" +[12]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.12.0/requirements.txt "raw.githubusercontent.com" +[13]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.15.0/requirements.txt "raw.githubusercontent.com" +[14]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.0/requirements.txt "raw.githubusercontent.com" +[15]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.16.4/requirements.txt "raw.githubusercontent.com" +[16]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.17.0/requirements.txt "raw.githubusercontent.com" +[17]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.18.0/requirements.txt "raw.githubusercontent.com" +[18]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/v0.19.0/requirements.txt "raw.githubusercontent.com" +[19]: https://github.com/Comfy-Org/ComfyUI/raw/refs/tags/latest/requirements.txt "raw.githubusercontent.com" + + + + + +### v0.19.x 逐 tag 差异 + +| tag | `comfyui-frontend-package` | `comfyui-workflow-templates` | 其他 | +| ------------------- | -------------------------: | ---------------------------: | ------------- | +| `v0.19.0` | `1.42.10` | `0.9.47` | 其余核心依赖同后续基本一致 | +| `v0.19.1`–`v0.19.2` | `1.42.11` | `0.9.54` | 无结构性新增/删除 | +| `v0.19.3` | `1.42.11` | `0.9.57` | 只升模板包 | +| `v0.19.4` | `1.42.14` | `0.9.57` | 只升前端包 | +| `v0.19.5` | `1.42.14` | `0.9.61` | 只升模板包 | + + + + +## 启动代码会自动设置的环境变量 + +| 环境变量 | 什么时候设置 | 作用/说明 | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `HF_HUB_DISABLE_TELEMETRY=1` | 启动时自动设置 | 注释说明主要给 custom nodes 用,core ComfyUI 本身不依赖它。 | +| `DO_NOT_TRACK=1` | 启动时自动设置 | 同上,用于关闭/提示关闭追踪。 | +| `MIMALLOC_PURGE_DELAY=0` | Windows 下自动设置 | Windows 内存 allocator 相关。 | +| `TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1` | 直接运行 `main.py` 时设置 | ROCm/Torch 相关实验开关。 | +| `CUDA_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 NVIDIA CUDA 可见设备。 | +| `HIP_VISIBLE_DEVICES` | 使用 `--cuda-device` 或 `--default-device` 时设置 | 控制 AMD HIP/ROCm 可见设备。 | +| `ASCEND_RT_VISIBLE_DEVICES` | 使用 `--cuda-device` 时设置 | 控制 Ascend NPU 可见设备。 | +| `ONEAPI_DEVICE_SELECTOR` | 使用 `--oneapi-device-selector` 时设置 | 控制 Intel oneAPI 设备选择。 | +| `CUBLAS_WORKSPACE_CONFIG=:4096:8` | 使用 `--deterministic` 且变量未预设时设置 | PyTorch 确定性计算相关。 | +| `OCL_SET_SVM_SIZE=262144` | 检测到 ROCm 版本时设置 | AMD ROCm 相关。 | diff --git a/frameworks/ComfyUI/0.18.5/test.sh b/frameworks/ComfyUI/0.18.5/test.sh new file mode 100644 index 0000000..d37ea7d --- /dev/null +++ b/frameworks/ComfyUI/0.18.5/test.sh @@ -0,0 +1,233 @@ +#!/bin/bash +set -e +export CUDA_HOME=/usr/local/cuda +export PATH=/usr/local/cuda/bin:$PATH +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +echo "=== ComfyUI GPU 镜像基础功能测试 ===" + +COMFYUI_DIR="${COMFYUI_DIR:-/opt/ComfyUI}" +COMFYUI_HOST="${COMFYUI_HOST:-127.0.0.1}" +COMFYUI_PORT="${COMFYUI_PORT:-18188}" +STRICT_GPU="${STRICT_GPU:-1}" +LOG_FILE="/tmp/comfyui_test.log" + +pass() { + echo "✓ 通过" +} + +fail() { + echo "✗ 失败" + if [ -f "$LOG_FILE" ]; then + echo "------ ComfyUI 日志 ------" + tail -n 120 "$LOG_FILE" || true + echo "-------------------------" + fi + exit 1 +} + +echo +echo "=== 1. 检查 ComfyUI 目录 ===" +echo -n "检查目录 ${COMFYUI_DIR}... " +if [ -d "$COMFYUI_DIR" ] && [ -f "$COMFYUI_DIR/main.py" ]; then + pass +else + fail +fi + +cd "$COMFYUI_DIR" + +echo +echo "=== 2. 检查 CUDA 基础环境 ===" + +echo -n "检查 nvidia-smi... " +if command -v nvidia-smi >/dev/null 2>&1; then + nvidia-smi >/tmp/nvidia_smi_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvidia-smi" + fail + else + echo "跳过,未找到 nvidia-smi" + fi +fi + +echo -n "检查 nvcc --version... " +if command -v nvcc >/dev/null 2>&1; then + nvcc --version >/tmp/nvcc_test.log 2>&1 && pass || fail +else + if [ "$STRICT_GPU" = "1" ]; then + echo "未找到 nvcc" + fail + else + echo "跳过,未找到 nvcc" + fi +fi + +echo +echo "=== 3. 检查 Python / PyTorch / CUDA ===" + +echo -n "检查 Python 版本... " +python3 --version && pass || fail + +echo -n "检查 torch import 和 CUDA 可用性... " +python3 - <<'PY' +import sys +import torch + +print("torch version:", torch.__version__) +print("torch cuda version:", torch.version.cuda) +print("torch cuda available:", torch.cuda.is_available()) + +if not torch.cuda.is_available(): + raise RuntimeError("torch.cuda.is_available() 为 False,GPU 不可用") + +count = torch.cuda.device_count() +print("cuda device count:", count) + +if count < 1: + raise RuntimeError("未检测到 CUDA 设备") + +for i in range(count): + print(f"cuda device {i}:", torch.cuda.get_device_name(i)) + +x = torch.ones((2, 2), device="cuda") +y = x @ x +assert y.is_cuda +assert y.shape == (2, 2) + +print("torch CUDA tensor test ok") +PY +pass + +echo +echo "=== 4. 检查 ComfyUI 核心模块 import ===" + +echo -n "检查 ComfyUI Python 模块... " +python3 - <<'PY' +import os +import sys + +sys.path.insert(0, os.getcwd()) + +import comfy +import folder_paths +import nodes + +print("comfy import ok") +print("folder_paths import ok") +print("nodes import ok") +print("registered node classes:", len(nodes.NODE_CLASS_MAPPINGS)) + +if len(nodes.NODE_CLASS_MAPPINGS) <= 0: + raise RuntimeError("ComfyUI 节点注册数量异常") +PY +pass + +echo +echo "=== 5. 启动 ComfyUI API 服务 ===" + +rm -f "$LOG_FILE" + +echo -n "启动 ComfyUI 服务 ${COMFYUI_HOST}:${COMFYUI_PORT}... " +python3 main.py \ + --listen "$COMFYUI_HOST" \ + --port "$COMFYUI_PORT" \ + >"$LOG_FILE" 2>&1 & + +COMFYUI_PID=$! + +cleanup() { + if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + kill "$COMFYUI_PID" >/dev/null 2>&1 || true + wait "$COMFYUI_PID" >/dev/null 2>&1 || true + fi +} +trap cleanup EXIT + +sleep 3 + +if kill -0 "$COMFYUI_PID" >/dev/null 2>&1; then + pass +else + fail +fi + +echo -n "等待 ComfyUI API 就绪... " +python3 - <cCYY8Eg zZ7>XCvhT*e{O*y?d4HDccYXi+UfxBWIz0krq-=-_|Nb6RE*rHsAxY?{_Kktpk<+=Izx3`@h@HPq^W*& z2No~f=*C3l;fH_EtJ8JrgzLXN@#JLuEoq_s{UO&JBL(KZ>#|kTQa^H~d!V(iNc7E# zZY96JgzwbcdvYC-b_P+Beed?iZ-Z3DeATw%e_RZ&CQ;qDz3LR?+IEnDqCMz|VHCfs z&V0g`p`avuw1p#>)94kS@j}x|!K(?fg$Vi!2Zt>Ab->0l!ZCa^PFiGZX_VBo7N+VX2hQp?Y8sHhHZ%$w8w`ex2_4Y^%|T&44qJtR}pHojz^Td~~lH89;k zEa;iqS(D!x9jXcS%lF#*1@)V=Pg)`(B8*Vn*~a-j?}jh?$-Z(_$!M2mox9}qx!Vnm zklHbjNOW{#m>YS4UK`jZAfK_!wrk2yHy#>5?rb?xPoM50574$w<|dAkODMN}gzQf4 zfAZu>`3li5T1BzFP&-rX(xqWs4jMshWhpYA?#ebPHPs0GVqK75Zjh$+A|(a&b#Cy( zLtKu1g1&Ivv0#Nf!{e4<7Z;WeQk`&TjA`+~OA`W2mG5K>FvsK8|x!Y#=N%DGQ z<74JDXC{*C+B$hsO-*f@bs-nIHTmJg2Q9u4f_3$~pkX_4>H!;xfg=GdOEl(q@@wTN zS~|KFGP%Dpz@)`-Ba-#XcU%t6vg|sW0nf8MLA7MQL4@ZlQI=3FuI@LQ?A4oEv|(J~ ztoZudIpxUD(jmT!eXiL;1CLS`ZoBvET%=yJdfs3;LBX?b}W zengjFTvnD%RA9Aae@L2j#pXg&C@q_ILECsC>(s(RJ}Z83aBy|CzoFH-npL zY;5#AakyRVT=eIUA3qj%O&s-jWs2|b?q*_Tb?`VqrFjbP!Tm%!aMOFEz|&}WL&@3M znKSyU*mQT^U6fU96DiKzH*>3KzqRaE%@}SFOEOztCOF$CEW?|4URd4!9xgIMQ<@yC z-ky|@5MxofwY3#;+qC4~?WVEP0+w596Y_^9b`G`PHx%R<%`&;*f|sQ1qQNW0ETxNK zCwK!_heF#kG?ia}+gat*-lhcgwBBh zi(Gu?MqThRM(UcUUQ@NTwWh+OIH$Y3PlJ99VGx$o&l++hw5G^7yUb>Afz&iDB8Uui z-`@23{X#*{yW30)j<(gt$^BF&v~?>S2Piwbns&|2=DN`6j~}{=f7^;lNlQ;&j#NxS zBaBhpA5x$9WVIqDa;?%u*9uzYo@vG$re!rWH)lV6`ij?#Dc{MM97g%I22Ez=#U7i~ z=9U)bkmE^z%LQ&4wiikgy|13yFS+$3YjPdp5~gzkRn(BCH5M*Xsm0Pjaz$B94^&mT z4Bg3l(O?<4T#)*kvlgDLkT$sWQb75nC}wN;D0^L9T?iVHTfXoZjeuWWo+j9#P6q6Z z?rf%#6hal!g1+{MHS1((6s==MZN-?Q>e=e&BSd3WBO)V16w>U9e5ZTGJzm_sdpAt+ zBfd_tZ4ttinAjUcFRa(GvA1YMR%BTxTe`+`2bn=dpK)B^@>GwvjBxXH%X6yj$Fp?4 zO{A>EY^o%;=|7CC&dZkXNiI?Q4 z(_ZLXu?=CeV&cGwd!P47NJ?(3ub1~&RG7yRcm`vBdv{7yO)LQ0vvu43<-?T-nCM#{ zs{EzBAL{XbD2p51IdE`OZN4b$Dbl@iUecWO;lp3Evttlp6gi_Uwk8Zd?3hcH?JL$5 zjw3n0!I5+IwiMoV+U+bm@9-qj1iBpw#3INn#pl-!nVH*MJniApk&Ym%Wp#=c_uZPi zh4V0_ER>Y9+kIE!nqX)l$YNTPlp|TciA_VWS}Klu+C9@OIZ!C5CbbzE5s_Jiiglu6 z6fu9^dJ2~l*F>_|S;r@!%}QNKqw+hYl447+qjDxgYHqLPWn}OsYhX&VQeO^Vp7-AD zD|N#<4>)yN!cu^k19UJLdtu$3(V?Ls0@k_7LQ+#* zy&*$+w&HBSwekr4k3(}s_INZJeJ8Jbnt&B*lJcA~OxOOsH@Cx~GM6s7jkl!>7~}|wh^#>HUS4)u6J{>& zLa{ikI~8oybmv44NE%lN9kyMJb53-ApMb8|UZ13YfCO!(^( zKWw7rW_2^XP9~%n)U5j5Jj41OLr>ROy{EpA?1F=XljU)P*;u0X&eFyBFYD{L&31e8 zkN2dq=3?R(Mn=XaQodqX2;bB7MNuk3;anX3s)JtclCIk%a<+3L!j zp`oSCay@(A1JQdH%7?6N*DaLf#bnHqnWyA8XF)v}+HBtSqL! zK^WNXT4mx)lhY5g731evU>UX^cy}j{$=_5xG>z71zwg@8+g=M@Os5K0OtUq9BMe`LexqMZ}wxITYukRQ?B(vpiIJhsW|w9?!l>5GGtlWOUmc4gaj_hQuStM1}{ zF}j7LC3#IGSBz16d;5oT4j!>((oal<8Sll`c47=j3qI0q2cIZbYLvK=8jD{&RZV{- zftmD`OO2`@*5ve}y?ir^$+IkU3O57mi;hE1Fs{KRX=7#9`ASSs5$yAJuf%?iI!}+~ z%5M{nS5~zT?JV@qu)JGR)-TiAh?U15S(X2DE`CMgiCxEpSL2T#=)$Sl+1VGL0Q@ zG7@4s8r+e(bx1}l5J9;b#F~feqgX;Nh>E^sKftG%XJKS?nwfb46JhI-(ve_=s-3M_7MsjYNePJ#pQn6U&Bi7s;fkCS zb++k{TIzU&czk_*{du!8DS$CeiR+W1&g>l^7*erSypNqZZomLrY z>+#IXUdY2VF)`6ZxV*BGI8jIY;*_X@o@%L3GR?VF{$n0%uBE0I;~mJqy;y*tOHE4~ zxb#iA$k@@tgRF^M*O3nJ_Arxo`Tj{HaQ>J$cgYpa`rcALf~@5lQG-)s+~ne=O9fUI z&x4A3du|PvHK$PDHIecguq79>`k#M@Tyt8X@$~gI4!F{>YE3_f3}UlemnM`x7bsG^{TF{$WSQmre=S*u-Nf6tjA;bq+XeU>U z|JL0+OsUc4bP+Mq2K=$ErT$}I&*~X$)XQ(XG|_ZUl8v)}2Y3IZelv$yjOD_ zLc5#IPEOkI)MV&Jt+TVfX|o%@)?FyoskZ$dPguE%_gEXYAisuO=38MZY*7_xCU@>P z|HvXiHU1ZWPXr2(tkrECeN3}MhGZ?z+is=qEFv4-@gAC~a@i7zt)r7TM1;%e= zn_%G;dS#~D#5b<*a64e68?oK6p@!#IQ)D=9y!|w=;hiIKc!$fos&qUE%aA+X7l|!D zRx>6z>@*@9y12LqnP19xX$-JB9qZ*=Omz^w9#)M2%pHadHm-^EU70aMoFiIW`5u0t zscZAbqpa^s&ZMeIq7dfIfv$=5Ltbu7W{h*i03Jorsn#Ui2O)EM0)(EuJC5+ zsk++!*qA@4BLZdq5gmbM$~jt;7+6@EeNKT ziP=hSfP#XS>s8xB`z7VxipDju$@#CY&JTYmb;~o9@tEiUI45FJDX25@dNy@u(`N0$ z%PFZ_4^pF`VX{T+>253IX#AnaK7I=o(H*&IgUw(?O`QGuF&EyEH3kdh78&JC zOMv^tYz9ADF}rziC*~*<%mcrAt^q#k7|cZVr8J)z8F~3s6|RubP(NQ^eSQ6oCD`^& z9BL?4?(>IfLu=?=%&P*o00Kc#U}9u+Gxp;`TshfSmOTo&y*7I3(xnE=wv~)eSplD5 z;z+;$Jy8=jTlyf2ZXs5{V0&d}djNyMK%uHHM9W-bh4&y`Q01p_xW>>lx(G#O{s-gi z;%7ET8{Cr0d9#v@9N7(m?&NuIuFeDCarNbila6RWfujf)XWo2dSqd1}zIZaaD zs-|ma>)*}m&PWZ!<>d|8SGU>y{b8jXpRN`sx3jqj+`%mH1UZw%%>H7`0T6!E=XN3_ ziK6O@P)3{lIRC-k(aA}P^SFm;r(ID-#^~0{fC1i@(cRP3jL|=~R(iJloO(`rlADXm zg;iE``*@s1pb`IxnxVO`U%#R%oVb0U-ugVSv%Lbakqm3C$hg_-=JqnS$|rGidwZqI zfI$7CGaenvT1^NtthnM&?lhRN=k;+zRh_@7=}%)Qa0_L-hooAFlKY9M0|y=67f5#B z%HF2?V@|}%(o(T<^V!P2wc!I~t_ppFQZ2qucP^YRPdZWWQtr&Aj-Qx1bfo*`CPy_^ zfB2yrwrK;&lKBx;Nyvt+>W%GbtMFTyAg_;&jmd8h%QvE`0G_3%rw0wZ|4?IF^jAD# zX-O{ZXUx1|n<9-dZNt}kBM{>NbvMbmNFmMXMbst97Hz900RaK1$W~`}wyL6{qN?WW zSb!;+xNku8O@--x|9)`mAhA&6y`f;>O25~E0|&HivJy1JWRITr(cq&0aAkaHX$kIm zMw2rOKbfwLu(r0w=rCFa25!$HcghMoo}TZt)6-C?ezzPYP~Ds;c`5!0zYi+(vvj1} za2?Go2XhnmW$(F{Nkgusn@|Ay$WJ>vICM;USX>k?GIn!wBgnEOpt;fBW_gxrIko+#6EBeDLEK6_=9A zVjnprvoKf$k2X?r=yBhuQTms5w_&ZO(XA9Sf~#8^L>+ITr<1ziSbb z9iigzpZid?Jz2$m`QD!oZaN#J4h`LQ7Ap2#d8^C6&;GYB^y&kSo=7G_=lq5e21}ya z$1*iV@%|Sj|NatLPxo$0>#PJ{H}oKPv2} zM-ngfR8qf#%(v)MdgFsLEn7Lkp~0hn0G8=&`C{aR`wkgzad;<$h7!*oqcc{nvob;) z39|VZ1!XYaE=4BQ#^2vR)Fb?xt-GhEzT6#02ZwT~ex&`CXqFpc>q%X{T(W5L$|S#M z3Z`y_Yv9wRzt&S#xU=obfjrPr8oU0HUpv9Pqz-=)TQ^oJq(W06KCH@0anzts-~tP#xZoDxHW% zFx3Gy*#*QHrn8*pg6Ew;%4NPTAGou%V%EdsX@Q*yb?WI_WS{5Mim*rzx8*yD^PKKA zr#tFxEt9sh%S%w1{|WUbLpTi$jd-!~%u)7p2L{8m)rZXR0ds?YrD?sSIrg=ZcYW`J zk8!`Py0rTY@P$Agu3-Q5&0wj*%;uL%>g_H`b>nOPa>*Kpa}zZ(fDI`xb|knY*^1#v z>=pJtJ@B0;;lQkAtp4H2XU*0D=iFKA#hUe-um#PwViVHxYyOp;A6*}}jk`;m9Qt|p zluO&&Ev+=|Vgo*-$(5CI>g|oBh4J=`6<RDOuF4f=O zenQlHpz_r>+cd3vtTwK$3t!?dMXP+0>@^hZ8W`AV;7wgEF2La?E^A;e0Hr4^EUfyr zKXx~Uz_X^D@=KKlB5ZzsJ}oUxi;wH{Jb4oDwR-SlbaeC$9-Uk~TfNWbYThL7Lz8sm zaD)|i-1A#viOuT|RMgvh!;V9y4g`EaM@tK|if=__emlXWt@5#RzonTjyxMJNfx0v8ku z87A}ZnxXl57xng|!5^2F+~+Q2z5Z-n0JEf5CuE{;@^cYUng8LJM0xZ0_;@Wo;6DJR ze;m3e!#>d0*LQnn^B=x(=ALu{y1&%T#?evzd%s-~e=e3QI`306;P8ry3doVMs@D&W z<7R*fMI(mpdE45KL87*4O^Ky;FM~Cask=~HlCFI|u~}8s-Uy{DCMgBHXPTB4B46aL z-tmIQ*YM!w8X4`tR79MA@BYO$;XF&o+0Z`pIORe(-*%Nq)H}CCqZgsYO?JH~4|x)D ztdoO-%KnrFOD-2wnv;{0Z)+*F3C``{-()#n&6FGI+7aUYl`azI=YFn7pg!wM7vnG4 zD5QObaL2Ezr}tL+IBlqXQE$stoAdZsMwC@{c6O0bnbd^~H*@h7AFzmoEQd8ftaj4$ zu_>2bzJClp#zsB6OW3Pb8fEKO#CGs6-Qal^^VnCwN4@=tBBvMd$KLaI;MK0=OG=~i z#QUAO=n=-p-bn?nQd3ilF=#o5Q@6$)+1PK<@EjJiS9kmkrIvE6s|+hGtjtFHhL_Sg zswnACCVFgtH1AE5$bRHZAHSX8$)iweKQ!9sVlKuUp~#u8-H_Phb9FQ?FHey(Z4!so z41V%nmmgvRA_20SD5M8OLat?rd9L3I_r7$I!Ib1=57vx=YRRCbT)vY>iGyW&xljIK z7(I$buHRy-@5yHiZJi&k?_>aSTSS?-fbdo?GcWX2xWyma=3#d9Ex{q~o1F8BShVDA zsbrY5N^=2#H{;F zPz+*ZW|y`&~FQC zKtB`DyAF=K_m(N+J@gDs1sQ;hv9YnidNhpaQ#1K!YHDtn5J*VhpUbQI1gSNdblo-^ z1#k8~l#W9pS-5m=ZE@79N!y(He{vrv%SB-NiJ{*zpWfux28m=cAfaz?@K%NStg1*P z6-0vlE@Aswj@|v2v*}sZ`@)|#0gD%nfbCz|bk;FE76=RELIW>_P~-r{2_7*0nX6o? zX1X>6hT>^&8DiGorCYwE5GOC+^suD0{k{J=R$fVfnC0m)*d~hWYaKsgK5Ju5*{7I>b|3 z{WkvESg^nTsxvBEHNXm&l_=*ucPmY6&hxetxuen(7Yw_``&_?JQ>uw$p9`zAO#j>F z=EryP_)M0~kIZ@;{`sipe11IxJ^=w{?S(`lF;c105rUwpFo%@8ir(p+`6#46y>!g_ zq_>RuW|jZ>?3_t@Rd_O}wYS#EGpKh?Mzd4gYq_Q?rKP125i~w|K+{0<95}E(670S> zXJ$$$K78m9bNdMFGv*X`!PM5=oE)jh*OR_~8Vc$<376k5!~Fp>5>Zy-OU^3q@(5_k znz-euia zps5j6ce``vl`cOB2Rn^{;aZ5dTA?p-|lG7 z^>xF#04NC*I&dxiliAqHt!0z*$Ux9CNlkGS%}#~Ob^d!Ti9{k2%{x8s@|G@cZu)aZ zGqJPJjE@^Z`PM!=P$e%V#gBNsRQa~kj{bCp_IYv=ZhJd$JSxwMJ5y$H?sb$Lkcra< zEr+OIv-LPE|7cFs{vs_cjiJ9?Bf5Vg`EK5eH<)6_(3&Ad&a(o*6e^@WZLkDnMf$Fq z8UgwSd7=}f#_aR@oqaGlutOXY6@`HqrBeQ}0ZvUPS@6HN@He+_`gE znc;|pXy7WtN^%6&icFn4P5LshSjqSs63fNrW@fR{%IvKrRt%a*o1Y6$Msm5NYO$@Y zt*5{SN_to&Z^(+-`WXCV%yG52LrwV;WZz8Pg!uTLHTJl;I4fl$|F@<%k*bA8fx~p{ zkT5C(Xz1vaIgk4YxmZe5Mrm_kXWMJM_^eJAXhPg?_tkW3^E^9$^62E`WXSEykvjab zk85Aq-E&zOY0%}5Z5?IVxOGEQ6T`zoUqDMu4WxI|yL*@Ye|$OJaHAsL8AD|tK4WXi zq$HJ$!jU~`>o;D@=;i0>8qsuO;Ju?H-?Ou`>&J5U&iwKM%oiqI_vw0tMobryUnC~# z@G53yfjk8unU{wL*H*L_%e{*?Z3ij?{A5G=tqIFeT7vpHiSv_134@l`V5zNb7S>T= z^^sWFR+&--xI>Fig^YcEMNM@E=Y*LuTo@1vJ=te>^-!O?e*5UrAB$_sQS6yC>ve<2 zUXxyymo5TPytGv4jGI+Pkj@IJcAPlQ9cgeiCZ~(&hFLc)%Mnl>k-pc{1iX@@q~v%p z_3m^8G1ec8lU5sR(7~rDL=KBJCu6Vu)=2E)h*iB7yzuzwyL3#E7~MS0pVpboJ{Ir# zG!D>^nXck)|D4Og+WA)_EocOD$b7GTE}2Y*mEtuJ;FYUPk)|nEYX-+GnacCJAOj0C zGZcl#jvf2^mmOhlq@0iZ>zknd`Bxo#8=s2G^Kj`e`28~R^WH9^qUu+i`T5vXRAW4@ zdkc!{Ps!+iei0YeclzfiQ+-t*`RC?NoL+kvo67yf|AkxkB{>p`9cRgWd(Sr5v&j0R zB~zC_wRM9>>GjQe7w})O(@@MPl*|0&&U^fUZf={FBo{M${yPw7RnxyGTP0ZYJVW3> zvZy={)i5A}>yhrq(1^;#7HJ@(6VRZ6gF-#KK;=M)tRLQY3k*}{ciF}5OT|i{ zn%G!dE2L?ani9LaLA{>$_J`35EnOryS7jr5fovIvc=h&Oi^Br*&yk_> zbc%8t{iTLWB=)a$y)g@MBmmhFBd8WBbLC2=uf58LT$qDi^M-d&cRAy3GwtRH?aYoW zHs#lsY+C+SIO{z72+F+4*>CsnT{gvZda_H|C!h~m8+E}p^?XR4?#-9p%fvyWA@W{M zol_-Re9xOmwAQ~JPLPhe!$Lz%{W)BhpL8tw8qc%q>Dv6hC>331dqaw5W!y#>xWXQ_ z(W_qwZ+k9U1? zN|gpKmGNkB9jTGzYEyud>?nSL&O{{SOhyjh(9rndT3V-S(h#YqCE#Mo9~;B|Rb4W% z*_t47G!R%h@RT%JY`3}3ba!`mbUdHL1uLXMreKeKVGX+FN7~a(JHM6i^Z< zD>iA*8;&~0*P1TaC4kKah7-c81dz)*n zZ*jB*%H)@aN(+q28bqITcIsu`ja5EUJivOjZ9?A-OW3ytl(Tw%BYi-E$9!-F<;!l_s?$OKUq|%-?9A$9u3`9ThgVu)vFDW3ej@ z(;qR~nXtG(g1ml$4$6nsdU?5TvQF5lg2E&eo_{`99|Ottd02iC+TxIyFWUL$?(0wu zUYny{@&bE?&*~i1OD4jnX+ufz_w7`L1&@{p3AtN)@gpPG0_W-TcX(!GQ z4h41H8Ssq&UOVqIGdmmC&ThKEI+f^L8Qo7YYMAG?wzgsd$V*FaYoVY*BPeoTy|i{> zzZ25N=kM2+U!gSWccskF(882*rvq2Fj(0dk_knA!7vK~K8F(m#xY*S*+7r-1!opeE z@S&C$jfCSsm#H9iB`_4K9)u#q3@;1nI~0|%@t%3Dbs)^cNX6aY8StIVcCOmeZ%pNo z@xHgVK+3IL=cf-dE%$cu@hQb(4T}1^um4Yy9YoHk$VkpciidET%!Cu9 z7{X#zxVUB~X&`%m^6~VInX(l5kkNz>zAEMX`Q+@W zJV(Mt-?hvT+Off(fR}2}XkKQt#ZUIB88^*!&!O`^L{^_Nx4nNXKax_@w-$US0ezbZ zJcqDOEwc6ffKdjb>*oYhnY+sqC->b_2LHs@uUZx67KVmr-1k!WoY+g^ze!&6J(0q- z6{q$s@7WLT z%@mpO#22lj9%gigP1rcc(=03ng7!{MIR%}m9|PjiYc0~VOJp*F;#Gu2xuxi};@;cW z_r>xe%)+>1=5tl<+2(Q_E}_|)W%keAr=X(BE=-ipXded;1K4deGDOVFU#M`EyM@=j z`sDL?_%cxF?S(2_cbJss>JoXHV8PtG+;_QOk}8!A^^*OH>nD%?$h-Ep6RZUp?7xgX zTsif>W@{BCC8dk;H!94%SVw`o$eBDOB7)a2JHDpHe$QG*+bIIT(zDZYKi_1oe15crIB_@g z_vEA`*3+l+1npg2wLeM|iWk@XF(Z=68YUm&i8C5(B5Y2) z4B=o;6plOKYC~Zv$G&{I!FQ5Bu8D<(W$4~z_9!5KW<R^wy+jnsV{U$$IjDoB_8qkw(ytdgqW(@q~qi35Bl*1h@Ts z>gr>V=G5*1Mh8O;R}+1Mx`sy9rf!x6n88j(s9Kxxo%C;~sR83_{yv6+nFoG4NVz z%zm}IG{6WqX{-5Sw1($Pazh_JQsmrMo0V^rI=G1&mSX{KSt8V|(&p=-@Q2mR0YJf#JQ1pctZq@*t-*NEEMnC8q5?U)i>es0;9i8DZi7H2)3 zep$76!u9*7-__g8Yg@pF2WTN@lHq7Dkx2BG2^??Z7Vib#yeWT%Sb;(Grd!NG^!xlOSoOe9Lg>K*@sfk+wE!v&ee5vZIaXSWGEYZ4JAQ_6@cR<--`%Z` z%yd-6*p|KnCb!H>F6ZZhLMXJKkeZGOW8t&b?ns*DQ}T>zGE zWn~3ZWcg~H`EEb}D6Wa<9t}tFy>0Q)E=HOqBoBwnLKp*e2gt-?a6FsEu_M;AnrQc( zssUj1jYC|$5$XOFxLUkGs`RT=rGrwx6{hK8&ZPnG)6tN!hBTCE_8xl;AtKKT$XLa-=tK@^tOHQY{a`NaF2&O9v=+qKhA8+)8OH@6|C5PI=o zQ9~nuvp4J6KmoZ@YAWYG_Ec;h{1{Ql&Ec6T-_gpA8EFIxjC#)CGnd~SqGNM-^U&AE zW${NdgcjQ6JuiOwnaxtS%d9AyLs{obO@-rcB%n(R3!mTMdHro{ZtlHEqQ2B*!MDGV zHsmLjP&!@M+SQli zOG%AU#2Xnfze0wOjg6JS+x2}$Z6zndX2|+%h9?8n;PHO15n%AjkJjYGVpo(*p`joy z$8V}T4@w4p9#1pL!O{o)Oz(M)XCJJ*Xbjf7*}u}Y^BhgsKB8oi6-3`jA)tkqvncv_ zw8{vSm@q9cvXz01U@3$ecH!%_Og4SG60q)>SD16Kv2E2OH|xO$03L2oFV*h5VFJv` zJf}e^X|P-X6X80HId}0MiDp9c-$=80iJlVV&NdixWe#6trL7;HH_qlc7x&4OVUmJJ zX9D!!h?N3D&(KU=p3W&SQa=@53+7+-8#n%jj4^vf>JQpbph~c&UpC$}1J5Z;ySJ#k zX~leUZk>z0$V>k_p;#?lyS)}XRDW88I~Ez!@)e|DA7zIe#n^XXVHGa2^o1&G2AN^qfw3{KgEwHSLVt0MPLEFG|JqVZ+$i zSjumCYISuLl2M^pW~UuEl#*||Tl@GJd5%om`vYu+y+Zxn<#u=?1T zGC)H6qy$O=QsttLnJYF1SAxoqF`=ElmmLlMv-QDH9+ApQ>D$X1}AG*?if8WTV0!I^ODeR8=FJ#9_ zct!N__3brj?ro%PlE-!q^pxcW4f!O_IU(-e9fsD20#rA43^%_xgzv&{F z7RY!rWwSHnM|*QCBOh3fKTys7sP@j)t5?as0k?18|GI}Z|Ma>!`!D}A@&7(8_3z94 z7cx!K2FNOcpX@I>%6nNR^nU}#5Miov|=Js zWqh<5o>3XRGIai8hUs+b$B~*!L`+L=F)3A;@5CY3;ye$DLW_g!TXcAXd+cwZPn!zc zB>edF>2Il<*{(j<7$AG1tTKx_1{c>hA#EpGH=E~AI!O49wy+uDC4Wso>)#b$07rvJ z+X_#gsS7m%*kR+Iu22w^<5v?80hfu9kr7CGyE1kHT3u6t_-FW5ipl0*?Om##2Eq_`}NBn98udU0U z{>tWhQhHtpuyIzI+!aQSGVCiwpKZB;8|94F&K!}&c`DeXw#scdczSk;Qir`jk}(#D z1kcH?YzpKgsE;PnmUW)kuao&aXR__}>*QgYGa0X%m5&AGUU!o8-VOdnA2#jr}z)DN(4Wz%n zX%|I(8|Aw7bRV6!!=?R1LK($51Xs}9F41{&@F$O8bi>0-e|L*?GAK1 zbRA>TY-VCY=u!b}T9Qpl1Yc`(`Bx8F`moOpM#jdfJkNlEM(iYEEoPH6GFW)Ci0876 z6+kD3Ya>O#HUV8I42^bnkDEvfsOi6$IYyu`#Y$D~46qX`em(@%^NOk2De;RJFG@)n zV>lMUlL61h_11oUSCC5Pn*@1~9u-wG%K zOq?sy5ypVcOhNhwSIVK>Nr5G&Q<+Wfow93?T7wn-GUh*KkuYWUt#~@@ zlMg)r-2_5ngJrP{uX=rH|5uKm4^_=hVW{p{T8;o#*%?M|Mh$HKkR+Tgw~$IUH#c9_ z08?h<5>iV9Xt_z8^bPDo=;^Re=pqoxYNp3A#NaLa8S#DvY}gA z)^mba#>36S6cv19r=Dg#(Ki8t5!C!*M@b?-Y~(mz$(i@W_k|JH_DLj@PW)FkPu2PHFDkF%;W#LQd&Wyc{#ZNe5=^I^re@Uo&F{mrRXdd~ z(qLB68@*?1`_@!ARW88T8d^iu)z#rE)EtNDcv4#@aXAxZdaOxcGaYwN)Ku+b@StTm zF#?K&ROGO%5E#{Wf#vCtvjJB;wP$bqQV0hT@9Vdc<#)aE`nh=MrqDH?n%2VGMi-nuXyIap0t%7+`6doXv1JDr4f6I$&T_(-}KnrMZZ^GOGD>hJtM7q1{ zt_Om}2Lx?QCklnKtc8s<{>BB&UuJk1L*Y1<)2DwARv#jh?)`yg0O^A8FE~tSK7x$Mb6uVVlg*cuC15Y zK9xjxT&S?6<>cfT41s1B0+dL{8qbs zgG5Cc#C4D__T8OB&rSGC$T7Xw>u{pzo3PuRN4>2I`2TV$QXlYfT9>{5_aJnG5Is3? zIkO|bJa6w40}Gu8Dl6Ep#$}EUrne(3lBUyfE9)s$j5lPFv+++UT+wG#_;1)=t>7;a z4^jpA-i*55ZH>^sN){fUF8$V0xwlniXi`S|d~y#jB)PF>g#Xgvf=27uS9-kZA4prj zGNI{UzQgm3}kkr0WN2f z00|sAe}LNb^<8hE{uO_mKm#dutRHsq5z@neln+Wh$_j`q)pA>cr(EjFwbsX3=TJXd zb_H_2lb%-$H=#Wi{IIkAW!Pi(9+Y-vm!+|9T6`z9KECq@yG%hr!9=~koCV)W*V3du z`s|6mT=NR>edSp-l;>*gsb|$XlRpawyI<@XvxbI-ub;h&%(Q@gY#9F?RG(44LeFQN zQ*08`1^1P}IHB5)Ez%cb?i5qMV~h8|mf?0GlSi@e&oK!bVh>1`12Zc|#g?5;Z}JIJudZL>@-EjC*hKxZe|!NKJOIM6uT99SJ_<$+KP?g&>_ z3MZ8hAT!sYi$!3P(xGXT`NMOU1GUqyHf}oueSJTBC&Bb)Jsa*Wwe=&>d6`UZh>EFb zjD)tWuV0^{5ujtk2PB}AW&MhW)1E?q+Rt+Vv@;J<-_3;%a8P#mP8JuTuy*Dx8`I7&oy*2*wlDex+yO^H-n@Ii_Ua8XQ5e_ySh4#5WZ#zgNQj(`W zHUjFDpN)p#-0+r>1CgqbazVLI%X;}G!^S9b8_0biq||@`?Jvt%_gk&=hn~J&c?sg@ z`o;#>i#px~L8tt)4)NXgzt7Q5r)8_aD1)*B!6vpFBFB%Anjz?qgeVT|G_*CEpgf?s zS52pvc_Qnw%XtBQf5_NmT>vm~V=E90=7fTJv>Dt=> zQe9lY?%wtA&|A>=`TN!e_gi9PmlE`o6W9hQ9dGGf#HkICV_-1(U&`DY{4-nM#Mn5- z+kmI;&V_+$E_eOfV*VLwL$&ro=s>fp@Gt`p&b)UyB=8AkK}RK6vEu4wuB69LvgT#J z{0G^k$IdSLq{4NV)0)6|I&;}{`l+TDn{AC{dpQ*WnQ{@L^@R(6{W28Dv?q+TK$Hwt zxP9x^8H#LoMK5DY$k3BDWBl&-{Zeays%Yyn=vyJUi_h0Zu)q_C+&&pz8y$Vz3=bjq z0d^5%vDL`vj|3rOS}gyo$JVE?6IH9VA|20Dx29~glL&YbRFNZnq_SX*0Lj`W@-?bdl%1BGePw6)+sZq7q1S39L8Qr>o)X9)Aq zNlacI30M@M^bEM4s_!2Nxy>r;y97=B0SXVNgkwKbI#0>ITXe|PtA|;}UlNV_%6%wy zsfV(^YCF|cx6yl-1zV|gb#`0G#MIpoi1XmieEkhf?iLc+?iH;{0x*ya;eZO*F5i1; zD(u{I=m$u+n<1CRZXWjgPb}Y_QoAcgo(jK)_lRPX zhES^;XPKI_(qqfLOXmVt*nvMn!D+nmYhee+CQgTeYY4nAk>7#IfTIWI(o?g$VhYzm za7ONI3_$-!Ck$DaT@k1=lrB=}iQiYFmeCI7RQ_`n*q%V3fuXsukjuo0`_^3kpFkP% zJcC0gmd4vFJ){#mb$_-zefp#be$rKjv;#x;x(Oobr<_G*|C3^>7Pf60D2-N)hjigc z00nORP8*$XQ-pgH@Srm6K;RRTE1~fv>r}|&Z^wca(zVzA?JxY*3{l&Z-39eRN@8Mx zpun?+k{lDhla`b|hrzxpthAVsLi1dC@3}!Z55t80X7!*|Bea-Sm^(A~drDwVUBOOV z37r;I*TIwZ-4@r%zmQ3vcOe_tC;fPfcUaYa<3ieoptk4>WD=PCz|nuk+10g; zU~=_4!s2Yf4c+4fBP}rl4N8v|{}4=UUS3*qz>ZyJj<8GMx!~S@anw`m7uV*lwzy3R z%?k=2FI$WWB3z;8lU4b@*55@Kc)@k&!uGrWP0`vtw4n&Pp&*(>$*q5ONjk+;fErkk8K*N9HH$7j-4u>h{p}HW4kt3-b9tDLEw}D$w*GX*@c*5S2S<)f;O6S?ISNf4W?{@G&2~tY=_Bkz z|JrYcpb;13jIRJoNpE1oFe%BfBcXDF^A)Oca&nkM&MI%g!2u?eQ(|-l1?Kb62(Xar z2&wzWHI(HNe~E6VY9(YV`ejcMpiK^hvHt`KL8^MnvjTbl8%XFk@7{ZV9nAF^2d27- z39y(!sm=Lqxk;g-6CKgj)m1EAsVTRnXm`J&XC+zMOG#N-&(<4SH-X8I&wOr-gfm(A z74*V?`(l@_cWw|&U&3)F%@FfwnTDdzDTDp#vf;Iwd`rOF##4~Fe;?DUgFdFWh+gP% zWPW`c?_nj9pA*MbI@+2V=f-CeuJk&~w_<#}UjTHG9DPh>oOxdo7$b4s~yKJ~yVrFA|2hZi` zSm&l79(qRA_EZcaGWwinF>mz4=%h4xR|8$uhtaMgdb5X93^Y;~>uYMu*_ZO*}!ke0fyyDX0=Rc_E54GKtHa*vQ-j%la_UhLB+DzcV zYsq|%^G8P3R?nT8omnhx4Ty9PVwCr_xcaateQJrQ-eBnpY6mQwJ17Pd%d2lKD;7<| z6kla$3(<$oecDSSFN;;(Mpd{dBu+UAd|-Fd-;+66X+@NM9ygv2Nt^UlQw!Jo_?;pe zxx507wP3T$IeD#dKOBw=#X?Kym!6}=)2z~3dn3tzi^7r`rT_{D) zZ~gt*SrcIB_VU8wCmrqW1sc#o;<*JEIG}e-j&d@Gn_EH7r2avf3m1kK*Y@A9?(;n< zQHFZhe5BuL1yUoU^po%JcHlIQ$FBsvg}~Wc@;=0H#}DMeqpeIw4)XBwW-GL*4T!_p zS$Ze0=~37TaM>I+X`X)bnA~#bLs`)eGZYB|3xCU=0`*c6F=JY6?E;0|nm>eYFlDxA zMAhHzMDpESlww%~59fzl?*XB{xm*J_>ua))9V7(olpk^R2jX4dpS}%^_s-6<;6K*u zf0ditI!Trg6T6(OaXm)DsqbypM0fX#*czY}z$rxpa7kU3o?a`aeq8GC{`;ZqzA6q_ z_G3Qq^uUqMf4>%0?*c&oVFrkuRR{7X?=ZRFP(@DUcUqNN<@1?d1Kd!yr_`TJ+ar#U!QHnz|RhE#Vz zX#m4S%I6edEz}JCadY)S8R~lQxs#nq;Bmip`o#5^2OnNOQq1lw0m=8VGMw}D;>BgZ z<#*m2jRLuk623i9X@kN_IPQe_%d2Tn#6e43K@YUt96c;AE9;nG-7{8DYbXF02E7S1R!Y|f@imJ2JIeqUYR8*_lXMf4_ zR2}sH{Lo9(uQ)|TRrIfW`YrdrU`gm-_q5%=?rANxf8Eo@|GKCDZ{K=!0gf6FWH1@u zGbmD3SB$E?kOtrl#=rb;lVt0Q@!&^Lc!jB^Qqnmg5%wrQ8TM;8XSOrTa5yn_763vU89CVr zUxwnWC4Sy8h*a>gv_O!equAQn#aJ1|aGBxZ90)rmCC66!Fh!{CASH3pQ%>pv?-CIj zMcc>S=TW<6Demi8Qs|S%GsyaQG8~{5`Q(XUx0aq>YOACqtHoc_)6*fh1z!{!xHRk@ zj8{qknh|RIIMER+-64lZ+{;jMxbAKQzLY=a$Mc1?Hm8n<*8Dex-1 z;zJ_>SIP#mw~F>qnRx!k(nT# z$5WaAeZbAqUPfh`5+zFZ7AosZQ6YsK`x05Q%f4$vs0@XWObT^uIrhCmLP)Y4Yxe9R zTejzYS(^FXulv4V&;7^q_+#cZlg>HUb-vg4`}w@L&j!n?$70w2_@gFO%w_Uy;HUa} zM!({~Qhn)fX4|BnM{!1FrbKaq0Sc1A3-HikFwd2FGWP z%GKDp1$9-D$WLxARgD#TLr}(&=9G%-4=PHz|ZHd@`!uAh#ZeW3- zL!V!uQmJb_Txe}Fv4`N~9UdMg9z*`Okbgl1&fY8=9*qt)kAD1M| ze6NGdqn(ry*tXrb_iI<_efNSk--o|kzs6Gz1RO2ky!+}y7q1?jHSSt`Z;AXN4N@*_ z_q%^wEx0~j4e!r*WZ`gFSXhxCgyY+VH&CeKcE4y;<2$M z-PS(!9UqlQ!0P6%?G65o(PKkzc;U`UF9=^8MM3;#%ABU(+|UM59zF=CFB@AAHb|L3 zTVPSV8tF%m9pi79%|-kQ6v|T&q5=iB!4=3t$f|Tz(}``+0bH6yM}O zMIvp}H98!MH3*YYN5`%k@9rg>lYeH`Zl(I^8ebELx1>^&W=XbfTh=u-HpZu9WMs$& zenZ)cz=i^N@fGL_+9VLucH+c|3@6}eK+dJAy@37)gxVwH=G!+WFTg?l0|WE!i{Sba zteU&6gUm@jC^uySmD=@sx%jC0Pb%#2SR7KQ5}Rs9_hXH?0x5-}XrGt372CSewyM>n zcKE(`&=o?CBD-|9-GH*ESk-}$^54CH+!Qy(K6ZxJW0%+HXbJ1={K8sB`J{IaE3yL4 z`y##8C&C5dvb83Q`c;yTP9T^eK5>U%6erArwB<*N_x;Mve{b){{+UVNkA<~;{r!RL zea8xB?y^gRs8*pX-n6yF0@ho$c}VB8%5GO>NaQ?BVF+KaXLqs-YG2f_b zL5KWD6TxFQGWM2R1BDX`PZ+LLb}SV#OXQ9??^g~B9KFOk)eC}jrf>b3Pv}kPC~nFc zWacX|dobU9DH&y4{7;UeECCxpy4vEH&&X){t!Mbh7pm(yAmaCztOA`{u!ykmjn|hT z(WCd|;Q^xfLW%t1#X-U-w$U`gdh|v&Y~q@eul1O`Dx7$RQk@f0_(r%uVc&%B(YbJ7nKGKGPwe!~U9I#CtPYPsmlg?W3%K2s2I1Q4Zxk!4(@uBh z9fhY71ZCm?h%kCaSZ^TDGB;0SSi3maE0Lk@hDNdjRt+a;A-I-wcWS;fY(Jfgt?|-D#00+08A>(r$*+QW1uDMeI>o`c?%^3+f%bnWQHKn+A?4 zY@7~*4SUJKaB^NackU7LcnF4EfQimiNAl0WlTR+S=*20QLJ^~{R%a&`aQ4@qfATI= zcr*ufUVdz>QF$=0(9@{=6~CHt*`|62B5D+|UAt+#Z@Z!5EdBlgzK)usjHHK|w}K8M zBTtn_NXI}|;Wy{k=S>ViO+I+WsitAV^cKLv4E`>cFI&21mUVGHcYvtZ$-Qzlpr#B{ zVD*>%J)BJD3o*5_vN{;?Ua*a$$|!%Je{hg){%j!KmUYERjLIC{Ksq1{&HegjGcPZ1 zU9ZW(!bA%p$i2Z8d>t$2KPD*XQ_Zkxt-_0$PcJSKnPj*$QI@LaS%X?G*d`&Mi9H{I z9R>mm1~-OCHdG{ng1p@;^5|;@V`+9kj=wRP@G#SuhCzMH7I2$hzS5vJ4nl!q1Dhd( z6eT z0vI`%X|O{oaiwjlc@HT|oJvxi>!rAvKy#j&)jCc`Pv^}>DKtaE31=PM$OO z+ecY$u_%Kn`dt0x^6WGBaDEWWD;2-0UQ=V^Lj-L6g*)(-`&#~$r)=8ya^4T0VQ}!( zJR8*M#d_uS5-SDcC3>#N|5{vHtE{uPOgTKIe;8(%UY5VfCWH^@Fqy3UaWz}HnVaSL z+y@mMw_1TMay1BOf>&>pZ>bTWDnt3CUk=$VTflRZRN3wRC6EV4aXKu1V!IY>Ky@}{ z@?!F-AJ7UIjo;4ga&hH@@OUq^$BHT{a9?3Vf`17@q0v@bB2d6D17|)67-_}Y7g1-~ z6Ed@rdM+&=Kib0jZp%670U`ya~I z0=GD{z=y^JP3x5M%eD8=Iu51P>#Ko!La5E_LF9H5KbaX1dMcwdPs15uVzRxI@-AR% zkb0TJ3pEylpTXhKK+pGVDd(dVIhyFDmU3$LhgVdp+1xL`)Erky)sg67h z(6pY9wLuKf78j{arVTk67BZtos=?j3z4|HCwMo^6*X`|0GYZ>Z7PhbYa$bd~hBm9A zT6>Q>`5)EVUkbN;ma8?Fm}UC%n{YbrFVhwrUus6cB0|{vph!mYp-0j{b`+<3fd?2K z*gh@B)6>(T;1G#8U(nW8Q?u_)87>F4TcH4eI5)Svwh;;EZ_nxP`SilBNNQF&q)%?WebNXrMIYauM%3zo7nA?Ad(ry5?dD+k~rl6o8rba#h zXJes2U6Kwzi{L>%E5WuEkKLu@vaU+ssOHS8rvjhBi@>s1)#>V%0OhI-2NM%=KkkB^ zbl|t}wz<=R&yc>x?b|WoEOl+bK1Z&GF8MN`hTIu)0dNP3({>u z6cg0JHzY<+DpkRiV$-zK>&g35O6{r-va_=Z55FWHScrU3J5)y8XP2IHz`r{LZ~)*` z){RuoJ_ek`{F|fbjB9HnN5^OQO0yCqYyD(y3-99CA$a7-@=>t?So+8om97 z{`ZZ`*YJ}0KXE~*KDgZ>XWUwtxjE=3eKm&KD0G`JN+8VS_D-9uM~MT7q^S#Rf;pjA zIj%}#(KTzm^2SkDDFy!qMN#kKC**GMI_Omfo6+?ntC8OS@kn1d+wBV@$S^AYxj#qZ z8Xot7n^)1at%(ts8XWN!hls_>N8Q0%u4Y~^E!9ukhIJ1QsYnZ*7l19yZh`D6%E zL9ur8Z|u7M$0ciP3VWY+St4b)C0y}MpKWDJW&>6ALo*HHzT@I{1VwO2_ka1KYMv#! za{nZwvuvmzAbUhD4Z}3kX(OZ9lFm?mCp_#uSvS&{zAoDQtNv0^tb&X9zp1{wE46YR zt2;-T#a$h3ZBrphc=qNLJrEA)t_<_&{Y~hi@1oXmaB$!X;(B2Vbt!-ExYM@p_#ccT zl&CobqH}@@^}$x|Ad~vh&TVmFp5x{V3l)0h8M$qL7EFs>LNADu{8=F-1z)g%8pD** z+@IIjr9pat6)_Bv^G4YR$%VLEBYDKEmTRSp%x5kWRk8XH><}jC2D-NAGe<@x-46sd zcK}Mso#_eZ&!3Kp;?ye#_CJ`jo!jO=KtS^Po(X3IH9i`WU%5s`TAFm=GvXL3u1*Qs z$9UoCZ5dfM!+~sH2yeq<)Y3m*waX!=m{|Iv?+Z7q~zCOkMWaG%{6tG8|xo>Tj+Dyl2CckW?RR8!$OP-UzZQ)f%cpuA&~ zL@DB4Q1IqrV@RMXGB@i!ejLMHO(Hj-RWfTzmy4gpZpY?}stZ{{qBcEu9v)5JUKjRi z=0Qb-N>;7YYVpu4xCAjilOZv+w7NwJr>n|_pW6?UyrGd1!EIsRzSZ}@^Ntdq!lUW>9SfLilXm^Zf--h8x8y!O?}^#eid(nTK(LQbgM_>pyCRi$<* zFJ%ccd7)&Y5CN%6L7Qb>kO5Vl51Q@-lgc_>y@RPlb^G%9N~yYL*m#OMVnH00#*U5+ z3oji-k>iC@>Nqn4BKhK@IDMn^Q`83Rq}_MlJxwolXv?YGJg4!Pwh@x>!SX3m^uI8kYXL`JX^5E~W$zVb}2iTg8jqLS6^TR;?NAUiOVAB0QW ze@D2iiCCt{SMCLO3mf?5lpe?~t)zl_}gwlkU78sJsA!3It^t$kBg9-B4FGI$5b z-Vmt*OOW+(=3>*}5d05_WceHc5s%N#cTAwn-ueR~SGDMlRIa4e>&|qj-S2?x z4Nyw7eoy`4^dBH_2K+g%wNatKcAr~8e>SC(MJrd=Z2aGiKVbGX8>SMzt-R@)H9A~B z{@|Lr`dcEp5TdN^fmOZZ%S}O55ryqmD6gqsCY*s~vTx7g{-sbW@ZA0*q3@fU?#ckr zM78DMvj4sU$&Tan$`XjrUC$-)4XLZJ|J9^ISft6Pk}FGGn|eA4xjEFs$B)BrOx`(U z?NibTd{yB=e^?wj`)cP~n4@Z)HOujJUkTf<4cHWncv5}N$D8DzuCj8A9$)Genw&+Z zZf0M)pM`lNfKA}-_PjiOSgj-Ei$!*C{>$YHoO<;Crk(k?eO!}(!+W&NCx@D#H9{#R zyT3hAZBP=3vya&)^*HXG2**$hmZeFYn{>)+MYEX&vZ~$cEXuL(puRw|7J0vxF)L1@ z18)#LSeT$D59Wuw!@Ct9}=c*SbQXR z?%LIx4$uit9Ni|TJZ-gL6^$>hNv=M_F+uZh$|$a%U;Q*H2rUS-G?>MKP?E_601-$n z*U$(D2r@HYXc&@*(iPiFNI8esRTMhWT55tf8B?m!d@XcWFEw9vX3c5amgH5}!nhMs z0O#WY2h7G(jw=6tsbijY!0X+jj`EVh00v(kET{F6JREu_iWAyQ{P;#GX+;$FjvI&7 z!80$_l+%awe<1H>W@gdrt>8APU9n!-P z+tl>AV%!gAn+VFKD4zp3-BDYkN>cv1*_7!mZvB#$e47TS5*wTG8(Y1-y`k;VWwIIY zX&R*L&7VNj2A$4FN6|!1U!L;fYOA9=<)Rg3bq-n{d9%u07mOHWL^diQ|Y zQ6M*rdeP&}*}wi5Rv^CdHOJn++eY{gW(h=g{9J@yP$n)xGAAyMn{HDn#Vo96dfE}p z%7%SKeOn5TBT5ogetGxyB&ozFWT-CK5ODJJ8J*>EW}0<3X}kgZLD8V9@Xl3+tgdl+ zM^g&b3{(@lG_ax9m*fMV!Nr4PVwE;vuOxBOxnoSpBOqeg1J2+3Vuucpc@8Z`eYy2~ zgeRS`EmLaLIgiEvKzId%O6ha9L}!Rhsvezq%IOO>*`kF@8gpqv(#@!f(n3a|8i$?+ zDi`nId?4A-v4d~gReS(I#K7Pn)JAb!SG4DKqW;)ph3@U#{>urMd8v9qYP9rBt?skt zqfaQTy6oGj03NT9=Hd!nbyR1moHK7K^MJj8iC1x=za1!psL>-qbQ~EoLZpz*IW5D0 zl+y_NWl1L$u>Fn5_8IXtY!}lP%=z6l+CLkpX{Q*{JZ?|K^A|IS|rtZd*poA+esvH?55cwoO zzjb7aRm@rGSLS5ZbE(e5S-s*jUH2gn;q?7jQ*-3-VK&7BHAk_RgNP8aY(@U5E>j&T zH7!jm-<3*GWA4>O?tcMckK(*_{Bo&wY|RM)fe$q`o#Qi0@_%(aqVME^<;EC;B?w`E zk(M?Qq@q1j%@nb+JEjR^OEyz;KD?9&xAcHS&4;F{}4+vT&GSH`c70=bAC5C-;aTM3Atl6)R=}w zOxeIGd>d#>m6}w9F33bnM%Im~hV#c)nBB%d?0|yk(#!)f(I)bB`NCMa6D%jb|rRcqH6x~ zBKNr0*|^>&jYl<9$apb6jORu8>~s?5ngkXUOgf6PJpcq9Rg331ZPNvw19YYm1l3`1 zT3Kv;J0!bNg>a~-dkmNt3T&y)9efR%4@mk*Utj3s$8~mj`lW>N`*O7qGYwjsjEoFW z$Xto#?ooqqB*=BeCacEppSZvflGB);FUe`Q ze{{})d`V;iZeDj&`2d_BP(Im0Qf0y9b^B(*6;)>ABPTPOc%?rg0J!&btB{UrIF&Oi zF-zhN&R?9_E#4B$H02aCsV)a9E@j#+Iyre1;urDUst5tSm=(>&8ZJ-;zsxcTZ$ z@wu;sYtJkj(T6u0SofmuMNkjENuuk&m3BVM@wGJ$|HLlS=^;FIUlbqvsxqM{fdtem_k~EanjSvnv3pR*w?2vR+?27IWBMkKH zfXQ~Tdi{e@h3ycL20lZY(`|!JwkAQji;})^_k$wTxcFTtY|5n}MDi_m6(!|u-MI)A zi{IuuRw7i*h~j6Os+xO3*%o%{`kJ%q7*X|FMT@3qWWN zK8D0b2#2a7L{xNiEajfEOQS1FwYHM0!KazdlV?u(y#DV^SPpa+!(YB^Sa%cMcU=pQ z$jPM**6IRhMFeatKbRgt3xes%{RSqkh=@OFj-9rCt`~Jw4%irwB^2(Cj?*X?*nAQz z5%nka`a0Q#R$t9NOOx$#BgMe)`9_N&t$fyBaVB9z!VwgkEVo_eFQ--ZuI5 z=j&J^7ceF!tzKIr;3tgPYq;!>MGjG}hJ++0f)s2o?;b7XB}L}8 zgjQs@p)V<$jhilrE&fZ*TX51AMA8tITYXR~QSVlVvU*5!UETi2 z?Z$2X^Xp%=Tis^tSpSUct(xZkoa`Svi*23_Rc|w!BHfb<%cx1xyHn-^W_Rx14UPGI z%erG`4OW0&r2{b#0{%nfcm7)qrP!fFR%SD>KcR zQPz4tJ*q~!*^6gpZ}jSSa{F3`L=NrmcZN%_&YI7y-c@-fe@`Us79o(#2aXA?1$8^MxT#OSrUhh>V}VOMy1;meplvgK|}c1_kpBYSMi#o zu`x06ZN|1*{O&Q`%`{RRS4Q2EH~Aq1i=e!UwJDB% z73(j-INLe;NYu&N*%@OW6y_RJ(MX{Oq27@f?NhK#!>pi?a)Sz2j(y9mO`LM*_evYJ zgEmlN73&cQpKcV(w;K^kl>&E=Ge2I;sFTXY1YS)_@-IDsuoxseRTx450mN)@FqNf^ zamzZ{v6BB_&-Aofx9__{gp)XK%h;d;%$XzlEFMolLpp&7kTkQ`cAq$=WU5p3CuZx|1uMEz5Giqx@z6vDX$y-H`VqShO%X* z?fCX^y)r#58|lYr>>x@&6HBk6m9|77mNRTlv{?R%m{yf>i@zM6((DK~kT^M7=;dfm zxX+8w`V=?K3U9?6@1||$ZbO7 zg0H)X1H~*-;)1r=4NK4ov0g);u@ zy?^n5|5D7QzR7|^x=Q~rw>9Q*Q50jfH=&Y5J@fJD>bpCM$=k<~$>Ncgj*iDe%3CJ( zzOIDg5qTr1_k<(zXN{)*E1lNV$WcyA=09fObO#9U z?2K6fNSGg=(Z)QPwIWI+j6N}{2oqds$xg1`mga%7B!{7`rsl!Eg^CYATA8!lUv7{d(1}6efab-fe4T0_pAo zUVrYG!0GE)U0X}P$rEgxoDG1vf&v}MTT#jsT_z;Epsc!@rP-0TfsI6{ihd1P5|P1f zr*>egcj4^JZAqvt=?E!7NHk#RR z(6GB{O3;M#gln(#3U-^rv$>0N^j8~zm!~qC2y`wTHQTtOD3-Za02kZJGBD{_uypO* zRXl>Ck0`d*vp9bCIq;YXoDK`i0=0@5NI7qY^s}yTM8C%vYh!p}!QyN|hItc05f)}5 z7u5ov5yLuu6a9Lvq*D#g5bMHMZzw-d0zhKh{$_1JXrfL5VY0~5L=#~F&=^LuHVi`o z2Q>O_pMShsN)IvrMST8S&4_ESNR-d~-$Nn~*rm4s%I?VUm~!x#iWqS{5Lt!yU7YpW zx(n-%1>;F@cLVOXdMwVveh}$4sdnmAA%=5eF3N(k=9nuoFKQ73yZoj1p zUcn+mBk&nAd8@QW&6&K8mp9KOXC36I+2vPUWNj%6BEQ>ua-&Okyg{dzEF^Bt>Z`t~7$(?frh<`= zA1AUqXumAXN=H+@&dhuU9>aJOdJ4}-bJqBa*vFJff<4|$)45!7D?G3j-o4>heKkz~ z-JTu|lihlu=Z$_*s%r$;13 zl&}rHI{_wOOsRYoZ~s+)ucTgGb5WmZo*_8$fqiO_DPDf9_*)?RZVC4}jkfP~VBDmt zjRJP^zZ2M^RSzPMUD_E)6o+*7zY60#%sKeq3S*gdDbCRFon>FDb7e*;1C(<$u7k-X z)>+L+yOxT!ln!)9`bJCf=*nLDJb5fDg)>(k;3P#1fgtr(SCEj#-Un^gWbea=55La1 zUjO57Wm(f95!>U;9iBYpOG*fhn>_hZcpgVjl1OlWeg9^hoQXW%fl}Yis7!mu(ZeoR zrUvn-Owqbvq5I|OZ)^0eCuSeh8N7Ci8;((hL!hhc+4J>^r%*iw+W2S~Z_Q6gkPCc< zsi3v?0xLVpaLicNIF$ItVXrS)6?$#e+xQi{6=Xbo+PPmw9cfs_Md6h|r$ci5>YN8P z9GeMP>ZfEf5CP>}NBEi*#MvNsQvB_FEYby)#jb?YVAKJQTsYKYV`Gum0#%rnRtw^7 z5t9#?+D$w%t-N1OG8M%o@w6?M1e-i>)RwukFVXe(wzlsm@L&6$LFxs55J_M`%J?!c zkP`WPxgtE&zFHBk+6CT~*#J}92O4a=<$;VLg1FE&qt*=GrDC1SQw}X$ZLQBwvVliM zMIV)SBYBckb{Rw<+bBQFX{rrIprAZl*VfR0YX%rvams4t{y1EmLGJTEh20(<6n1ns z{$huO$vDg~%upzN2x%tlFH%x!)b~LWQM_+3KCB#V4jyx-c27n`YZd8rajf$b+C4cn zRe+gU;*nKD_5~mc!5ZVEy}tAn0;!~eh3p2{axtwG?J^T~6DYwy9p&A57xt(?d3-u` z-s2B3`v4S9SPVMp!3|QQdb2*(pmA*$m!{GD@F38sEYj|E0mQm|Gmt`0aEZe-J~Zy-zUT!`Wpk4E&;@0c^~D_CA!~@zRTeBOgw)Z?8UT zK0N6vUVw9=TU=!MrLN^9xel+W#Uq-Xq=@pyBE!YZ>|8FWieEnvRKDEzBqwiJeKWL8 z!-A`N(OeWU1a+FJ(+m}rn9VKjxYQb_f2rh$Fjd8Pz)NV{nxW_8d3Ovm^t7rfvkV57uSlg=( z-1~j^ZeAKza4!N(*d1nE-7j7G<7o0R9q%ahWYViA(+Nw4fUmO$TJ}}1Y60f;h?t~g z=W*vegt`Z?W3ni+0pS3ZiWcfIrQh)Dz1yU#p zV$O(zUD?`rwLX;PQ6+*;{Z#V7%pjWs#i9nIs$jVP-HHTFt6Qu0L*95;6p1ANmef!j zE#X)K`m4)?LhuI&DS7>W0wFt;Alz!qL9-=Sv!xJlQB>2vG&%fX4G=NXlw)G$a{%mi zEMQ6o`ulyS(AP-^K00p%(ftMw?oy-jbj(V}qY0p^P8ZchJi9azBQu{BPbt^i&nW8R zd9w|&ZyX35(kABSC>{y)#{Y`n$QTY4Oi{s%S>{ci@xMSR2wf#yM6S2SlV=)u4E}w! z*g=p^p?bzltiJMNYb&4hN9dlVtbSh-+0_pqX$%(TR2;Es!7OlhC}{l|_ze4js%{jS zTr3uesm`{J(CAeAx7bPsj8XmpUF0FaBNnO*; zXj_Z=i*D>LC7sAs<*YoE(ECnpV^Y%)3=YNIs=0%d z-D3N;%}Yhl{gLn(Yq6G6AS6S=w_^h&cLfs(mRgvKO6R6+ zl{a)FVN2l$yF4`hT$HOAT7p;KfAhCre-5&}LO@xW7`He27Oq&1dp174mfii#dsi0Z z6W3uL8BQ2ULd+23psc%9IuPpxr#*=3`4cczB41<=?ekhTwOJZ`$&LV~%Da(MShvS7 z=^eQso=h(97Iypo4H%geH;!E)2D9jaY|LNn?>DiqsIzM!+bR@i`34o0`SpMGWYk8j ziHUPUyM6oYa#~=VP0!L2RA#QwWZ|C5Uq?I%IdOa&M6Vo*8x(j(DZkCwMvp6oX zm|{>Kj2FQXZbTHv-%telmW&3aU5bO+_wTqkJS1W$0~g2m7sv1lJPlm58_ZgBouHVm zJ4Y0J1DLQr;yxvE^&>ECH*^9Fj33ct003CTr-_yG)^i58UrpRAOs>Jr2tC)sy3o!V zANR1Sefcuy-yf+Gh4h_Rnh#s?n>u;UwI=j5-q4$V9(82UxG)1UBJ|Ot)NIOP!+Qtr zB%Ol%&&wRknlc!1PHH;K;ZF%oa!<|P#WTBzez2W3`HpJLev6fG`|`va z3t1{|=B>PR9K0UntSp475*=JnYX8s>k$GDH7v!P)Z0GY3xso6`fiN2I$=D4$0zHuP zWtgHCP9vq#K?53Q0JSzqWaUxP`ynf|jOQ#NbQH{k2lC8&SlGV=^J?Hr3VGeT62jg6o$#3K>V=)n7SrA_!8*Ab^`)cFr#y^^%wa^=d;fo1}cIX&+#9f<1gzXcOWil5)aoRSWNJ`ylI z$TWC+5{YOOfZMAe1EC{eR?c10hnP(K%_+kXBHEV4z+B+w{hvmwGQIG=yCt2-Vg%j! z54Ld~kmFhQDC4l>;ydrEGpf4Uk;%hN86&8_>rxxyq?1=&vN~!8)0x@4t8+lZ}#eguqiAp41k%9xn_0eAVB#F}gyP-xfGTqY=fbz~x$ znhq?9$Unf@{6zkWg+=;3*QM6W8B;Ymq_LbKIAOa_f7O2Jat7Dy=z2qS;a;$acMJL? z526DbVF{c0^mC<;6+|Oaa}kU%5rYxup3%jGjGL z11-ufAv0RPvLwwcJ*ifVB!cL=ega%t)70hN{N)sO=?=Af(ESBIgHB3jyX(qjW-jh( zn?79{gYz6Jlv2uE7iJ4A6%4abg2!-Lq2fjhHRFnb?bDbp-8tb5s^}|z3-iV_bL`~? zt#evf0jwr@%$sI3i3tdN{ol_O?(l$$`X_>KF!av!7S;yi6ZifXv4}U2t3lkj#})Iz zA7{+ufya&~1E1l*MO#3GcNAd0UIhogV&n24M@S7T;jF*)N(;LE#q%~t!nv-cY} zoU=q^!ajddy^01Lnh8|e;y(y14y?LwA3p5z$s61-ix;q=C{{P_PB+Vg+&p?|dQuEY|! zUm9OYLn0xc-%>7nW!qo#!0}S_`jC?h)>(Ce{)JY&Yc%w6* zU>S9UCJ0Bz?aC#aJ}{B6nE9c$g(2*VqpwlRVGmE`>XT8RlMeJfHFxrf6~+uyr`W-7 za0@ST&{r?42RXwnn@U(W{HpEPzBZ!?13AvEw35fR6viNpq55co{^jK(&+|au<}z)S zg?u$IYGhD?Q2!$q9pU{jqDK6>Og~5qT4$_}u zyFr%>;@)h@w*iAjG4+cpD7DgujAqvL?;W(V6E#Zcs-EaF0i;2Um;zl=J`9HZTkJK1PT;o0SN2o42N+3_Lr@IEfKi6yNGx=)Cfrnz_> zb&9;@0@`zCjBPj-Aa=zFoKxj4s6-LtSA-^=8r{fYzqS}m{^v{O)iUEVHBBlUgXVg7*& zeSU4rQbySS7djTuM=D!tCruF|hZ7MGAHG}=XnQQ@UCi-wQU5#8DIy`|FsEYq(ueSH zwz7TXi}UVyvrUL7eg@Z%EFg%ctzrL&%i>~WTFZIU<5HE*5qHh@Uc8aq{2(*x_VFG4 zn%$?9Ocg&XQEFrqeko!0X=i(06fn3;&huJ|@R=Kb25sYsIDPQU8JWxMskUz(+sijU z=kemuiukB*akBEEta@L6V6~5*ans$lyZ)6EBCltDaTB-D%35#}uV)?3o$GNs z!Av!)YaRkCa6WcC)adaceoay>@$i!uPs42R;>DpF;TkY?XeVZRv5gXVAt}y&Jb|N>4xv)L57pu9J63~@87eH@Q?v9^2fsA#4L|ZF z+Z{aGB>`0xl>;H&Ur4TH21#*rTJ=c4LN*B*?ih*i3Yx83gT%`84qyM{m0=3+x!{Cj zL2gohfs0!JdGL&+Cl1I?ALIx)i?mwozkL1AF`jL25w=kV5$5HGSXnz@WK)@IUAq-F zKu6I9WYtR5r2etzl3NrehCvyQ*+wxpN?4VH6Vu zy%fT7$>g$k=iWv@50il0&88uP3qgp@7->j8m0l<41{t7GctvhBW#e1Dnpc=}G2qNG z4vk%$=px3+lQ|LUOlj58wsRlwah1)<8{>331z8g4R*)}U`)6F~rKreoM?r>E_$W^6 z-hOd|fdLAlY93S=!g&_Oi6Tb(&F^D^M~`9%@pPwuiC!{HnSRCZJrWqg%krb7N>vMT zazyAh1-X5rhy8qG_d&Zxw0W8vt^zb6Z&~hLt{IS?wW=+wpOdna`b*4nyZ}Qlir*(7 zgPteu0q@STNu!tIx{&cE4p2lAe&1Opt&L8$cRX~5g^3A(+_96kS|QwwUZxBoW`}~i z@6wNtk5hiP0EvduV{=MWr2_dO8nApn1ar-m$kOabLz8*i;D7;m>`Gf%Qjv6Jvd#) zW-6&`@dr&IxC4^6Wi%N7Hi%0GtW+?Z-;Xt8TjIJ5Q zgbE%Lp5?_D@5`2zGWXlGUq8zp7yd4fYr~!X5<B zgF->eoEc2%5baj1Cr#33c>uZlvv4@t>09-g%_ql+TU?`V#x?89fc^jRB+_;);YkMj zKk~be`azya5Fs-JGLmQ<7R3q8PPLueMxXR3PLw4E<0SxRHtyB0F@IrZp{2 z74qJGYfy9R4WZ_8{f!r>-?QWGY;7}JhR1uWFhu2kTDjRyb8(jZ}-C8M!uP{;~9Pk>3@0&T|@lu{sU}Ov}~_i)qN- z!PXXyR`+70+h#mFV!;y|D-`SC824=ZZfb5G@%XW}*?bR{s!;em=21T?u!dW>Cbjpm zOJY_QF%wkbz=M0tClsYKIsli!+Sc=o;+~EYucO@2N3sKXTO#&@&pU>&GZ|jqN-b`1 zHR4g4I;f!&vQ|o=tM^wZe>`dN5Y`=gi4iP-hv=jNMilXIQrA=UE^;JYsV?Pry^O+r z533Av&9f92_FSEvG@pr;Qn2B`mIS?UiqVCI*guy^mzRe0r4g_^LPh`(7`l3FlHDG6 zL#|fM&E?kg!JhRVr4Q6#=fY@MM2Xb+3PY3;S*4=k=Y9buk`E*edsA*+o>)kE=$W7} zWz=+bCr=dO;KmQ8B%C<4_m)`?x5k0;{qKCE-kmQ}gzaq0yRQ22F7IhHcqkru_^8hD zikS1#G$anGEJWXU!3ZTj}6KX=`{+ERB z%(gdPUhAk|UOmdCe!m3Z(>DsK*P*w9g~@4YwT3C(Mm0+Ua4W*bmfVN=mI6%g3-V&3 zTZq|%@aQ_ZAXB6weHRYa{CsWkHh>gyWMo9^woZ~I4EzQtUlGK`>1*Bp>EKLadTQ$Q z`~u3U0i8YXz1dQfx+;{Ts=D+{+D#5p3GpX!pt(#XQV*S~bN0ZK zD;|l2MTqy`$r+m3nfAC`QE%9X4V6ef07cGaF1`G0zHDY$sLRMFz3hjqAv`oxfvy{B z1tQZL-<8B%p~Sno3@pe#Tcm)DxQ)2LpO;?V-I!`zgL(j(>OF<>OEoAX3RF#6$5MqLchG|qE4QA=wDv1c_ zJ?i02Xgdgv#MREzo)N$6NB8r4%*gI70$!VgP219aJe(j_W(?lod=e;sLpLRG7lrM|L03V+W_&&#vT>KT z*~fN9T|_&JNYH6wDia#a@)Yzfu+za4eANZNZd_^KzHw_IlCaP*62A)_8liE)IpU)PZamXK!z=(^Crg`GV6Ww>;1rIKdk>xWDNBxVKn9~b!@h@JW zEx&;9{8_*X8~5TYorDA?7GlF8`}$9xP}|_1D&_mmSXy3(J{-wXCl+*w6A*|11viI~ zxc4Y{;5)+g%@pmpFjuuWcY*4(+-Y92bGwXIGEQvOV)p80=absU%d2k9n$OpNXsp&e z|JS%`!G8kR$o~pl``5T?6ZP)q6Fcw1@>3h}OWpp~t;;X@S$yJbbsCwBbqYKJFl@&~ z@@=eCY(pqtD-3s>MD{Mcd!SyRq^vNU8foKqxJZJt6sRqVI95GWcK{m^c{gXng6QLc z2~6(pWL?aBV;n!f%iu}>{eq;C6>r)#lY`nLgZ4Rsa&bvXI-@g6Mcvj!h6ku&-)3O8r?4?0@fRWJ^DzFWe5R51EgIMLpJd|qSkq=OuhDihfdqdg{-Mn z%x!hL>w^KvX^XyFZ#>bV(#(n1;*#p$JsdBl&Aqg`*e_tv1^lY#FqF2({d z($b31WZAXr{%$73Rp+!=M`FV{vPgdtp)QeCMk!PZbr4zeqR;3c8nP9JnaDll4#!b@ zJPw*bonYtOHV$HAAJHWsFjWJGAhnP?O97Gzd_2n5cUaq9>=3?TpeOiF=Td~xLw6H+ zrql&pLd6cg_DU6pv1mip$y*FES}NB8SbldEryhO<04KAk3FL@Si@~3V6t1o7ZbJS+Da8Sf32D$N67&n= zjS|COUzL?DN0Dg+yotqMv`FtQ?eYRz{g#ymLdx`_ofH$R? z>(*aEFCh&)c3(av$I})n8>crg;=a58faF9m*0r!W&&TQ8VJmD948c6G?%KLKL(KEd zQ^-y%m#jUfGM?0!+jW+`W7M%r=J$lh2tv`-&rKE4nJ5hjdor<+S5;GG!2%Ks6yNXz z@_MeU_m?p|i3KS&eF)ky+<*MY5t!Y87mi?TEptcFgJL6pO9Uz(J*xlMYNJDb|NV@I?SUnfd?L0Z?#WWQ z4{bYy6tu&K!HegEAOtaxRNn-^6_#=p`#=5CZPplu!4#>ntb+x{rM)EL7xv{57htgO!!MkP!qnfbd!@07S_?{)S=(x+L^QHdSH{ z^WW`4?as@|O-xR@|GUmu*fL{B!PQajzXiCs#IPe!1#1a?u9@QAIA>^Z5vEiY^9a`l z**0F$!C?wwFRJt@A)R#EO`a?+gNK}0a#~uOo6VTK9?g9mcC9^NdFYhi4)ym>KH1R^ z+QW7ZY=vmZfP$quuB^_w%#JLC%px8NL_%!5P|#0NTl76?-3xSTjuKfYpCIb;q=gas z@a$eV=4P@)Qx=I965Kt;%tS-97GANx%7gzt_C68BG~=-V+Si>4JB+=_@X(MJwh&xW z#CfBIEgVt`@8>b(>_bx%_bo?oLft3Ez26z8faf(ZQtUs?o7**~nM3zGMv4{+pksf3 z?=8MCQeO6Jlc$iP1%ghash5=Z0V7S7ua#K^F8^8jwUU zjKoe}1{r_qow zXxI)~XWgPb?8T?vqq*_Nz`@V?7h_t%?10{L6wQBr|1{e+g#RwQ;Ph4FgX^`zqO!+= zLZ?n5CDqF+99enY=6V)NE8%&$#l*sr-U|I1$_v0H8-DEy!�wk=mAAL5D*&j}2HI zADnQu(+cr`CZMKs^f}qt@}B?!IfMQPk8e*|QTxGwnHSEZiv)+BohSg>whI@uW_^+d zmx?1DeoMqRaXtQ#pkjVdafF$$&p)S)N=qXtJU}=KUwdxQClUTnZEX_Ajv?79Sb%Ny zHt=#Pj?96S$0@kC2q)RrLIOSsv1;Y`Bq9qwq8S9o_El5+n)tO+{Sk=Mq&-QhMK_3U z3F|+KC!tks1F$Pp1e(fp#897&PgfMRYm{XJoO>nN2q!l7AGk&4!n$2>I$}&}`7j1W z05a1AMdnI>VC567QMD*8;68rhMBk_*MkvqiKz;z1ucC=5)NLA@t-ItopK+Ffn;%p0 zDs11heq~|-79z2*=JO)K52H*0ira35_$z_qh&m37kz(6M{XjMQCqKZ0bie`0ow&dU z#nm%fhkeToQ;4}<#M6&8WVp`!s#5pWmHgQ?m+0~9D_g{xKb)_m{rIqsfB*GkP{RLI zW&RJ3)j!I?+J7kr|8E8C|6ea{a}{6jcAxmk6)L2uhWG~=8E=j}C#$ztuDx8U07id8+PCt9=(2rf%`0mc{j>uwPinhOkhJOr z<#w^KpmLcBS0X`_E#ZwFUete(krpm!o@gt)c~a+7G5$8~S~R z*2nFL=IdQlYKbuoq*g5DzG&miYb{j&`$Q>@3)JL|I_`Q2TUFldm2Jm${IJ zaKvMX@|uQN{Egh*7g%h1@%cCJg#gptzjxb7%{*s2L&MV>o*1ixek!jUd)kj1CKIiH zp0{%lZ}Xty6pTZNj74>ch@p~BBs`mV791j`(SQ5)?wJM+`+DA84@&e70r|0Zzm#_? zatGpWyO1cce?NoErL@cz3%Qz)eMeUhm%2<+Wdvl)CkcA>c^Or|+7v@2p%E{oybl=P zr=a!~0Xmxl&xERh=e;ojHvw$+57Wk?8i~+9ASK7TpXa96-)OOb?s*oo>tG^-hT85{|i{<_}~-0@j-2q zcOfW-JC6-i5AHIBG;h*|^UDZ~3|w3OK=dl_!XlSV=Lj{{Nk}q=fD7!!J_n#k*0Eq|4x@p}_JbKnM zXzT@b$`LMKSt1OZx<~o)c75%IfI~h+tD-DAnZ(e=#{C2B$IKhqMR@qF8#zjUHjz@m zQvwqfW@C+;Ug8K<3i~tR9QEhx*9L#m`j%>V^R`S6`~m#8rUz51d@Y8S9K+d(__~2R zpe@4?`XlUEu$W5%B@bldP%DSUzz-YD;e8vrHoBp2LIhkqMFqOS-dRRz+_%*|`GfT%(Qp0?-Aria$L^IL)`ku99{Lv~kiuaAi2Ix!w0J=} zp61#Cb0zAV&||U%{Ph%rz{)lDW|VmZSzqjC71I1?RrEcn-QC(}3zc1*?*W)r=DyWjFj&+p zXk)#58gXFnN4jnd8q#j~m4PL0AUorh%$tgzr7p`jm4ZaPGpYZ`eD@uYRGrepKG>+cU70lN}dw-Z~B*b2=CqtC(gtQt|7bk1b)lsjq_ zM(qBFOJGtx9M0#+C&g_ehj1Dq;zc_26C+PKSC4_gx+2O>Hy~d0`D+ZXj>5(g@^$0N z$#Kap!O+7GP8eN6~ zl}fWpgObubDxy#ljVei{(mbg&2?<#ZXwsmB=7~}?pZiT=e|w*Eu5+^c}G&bcEPt^^eYHpoqwJ-xyNB@w-cdFFop za0#?<9;xQ}EvsJe>lplE%d18`+SwEZ4L-hhs%3DyXzW+q6$ITwN;2nCrwO+UYJHUK zZo*9k@gwa5Jqs~J7wWSkW}@IvP)oM+eOrcEMIN-UD@j|NuyHJHDq!lZ$x z_)H^DVr@8Hmp_42$N}liIqA7l5Iun6L%4_i#Sms7ex5rK5uk>`P&FIdfnQ)fj`1dk z4t?A1n3!$wyF^$sK;w4f&jeX?!hIy}DoC)OzrmxUX;PGy3jXR&XHK8KxiZ5+`pnbw zL9)+H8LoP_Ta#StWJUz8!4b&hp>$!!&`>ZO zDsHH(uHNjkM@p*ni@@!b@E?PLtn$6m()QR*d6v%F1_)U~iU&-Vh;o{?4Rn3OP5e7T zgWd{O@m*KrghghBtp4$J@D8%QH*EyzA%RezZGZfs*Pi}*{kwNYy9!JzCSo^pd}-gH zrHgiA$E_nLPo9*n$UzoP+rWLpK=t94G{7Iyr$SB?1#9)zv~ zv7#!VxRW-UMYib_c3^^v$LVAn#~^|f^;hNHKijwibmNH+M@B6{^n?}&EuN{pB&1dy z>I;JaSML^(r%n!vs%f#(z7eb%{z1-L8}BGk_EOcmP&QsQDOSDyj5PWME2}m@vpe_6 zg(9S;!e`4!jdxm*pJU5SV}YJn0p19424;mJ%RRmiGacK4J@3lupO2^Zefq1&U&si_ z)gN}}MgPRfaYipkbR-rKWxz`)aKeP_t9MK3FyM&H)^n)=XrGs9er-bN*-jcY+GFG^ zXh7*?IU;yBapddM?dgTljw& zv(stcx@PE4?JWaCqUqz0H}Zrj2uFeq6T-AJe8oZ&>3mZ{bt0X}lEefss$>8m4>Cr-o1N;h4UWf z$l)PDKp)?AV}6$(Lwb6RX+OdkvOVWKCK8Xn$Bl<#b4%;#tO;-4#|N)@<<-?unfSh+ z( z`n z;o<>t%$E^tK6S?Tk>cw#DY1R-8J#d@iOlZ)wMuysq0UCo+ ztux^3aV%JA$6UeK1^XF+#|&HBV0sF2OobI2oK1GUY7j|A4ee2($KW2zjbv!{rS`PiT1(hmLF?c=wi2c7=y{dmK;=BaYnk$Bz>dyu!LkoX}_7ir>3^JNWcLY_uQf*ab2^K#; z`B0({Og!6Tep^fuO1e~5d1|v;fah75jx|P3UCF&-y}*#+24nuBL$4HGSw9E6uej#S z7n52Cz3P|lk0yMT%Dy8Qz2cNft^+tW;Qu&_!1{^F#KS{>_5o`?f|Ig`4OL9q55Op_ ze$X+owl~@R!n$8?H|4>Rq1N~BHwC-|AqK<={8Wi`PJ4Btsch$Za=*V&wq(?3H#nt! zraI6YM^;6|)MLksS)h7P=i#rF=5%%1k4LM;^)nhRv$0hKGs(zIrvS|>;Z3fFm6YM8 z;o{NieM)7;ThO_f3TpKo3O`fnja*#$L$_v%uvUjr5cd`Sxx$uCB?qj zZ328>>siGx4A5mHBOZRb8Po+D`Au%BP-|_}5;_?qQt-6XLiu}CEQ;{j(Yi2Aw9W13z`hVS zClb`RGBE`&xicn+-1!{$>K|;2 zuXJ&#jn(k|x&#At3AL~JAFO!UPeQAFf(U;DDMJ>h)CmOz1!>{4f#-#N16l5+CMs?mM&;=}obpcQ(>+Q&)atc9SK+R*59-B=#>Q*F&mI zQ860(2@Z`rK&t6`X?22?={x*he@bzS8*p@!-ZO&nqSG4&L3)iPbBU*2QU|JGJ^AGr z16DTuW3V_6VTK{HQ0c+RHW6-uvV(*t9UTTM?TWCo;kQ>Om{f9ePZWlJ-WQyqC>8}h z$VAY>$#On9v#sEC*iyzNyVtMOYs6HDKdUfPI>kBOvs!2aQU%Sje@wHR z-n?PeF;n~5@w{B=fQMxjA5C;kK5Vow7gKLTc4V600fi3_;;Yg=#*n=_r-ddI1-^vs zuBv_uf12@2!bLRXj4wcBbJXosY!SCYV0y`xoEGQK!G?q|_s4I`W7>0IJjA_;1gy>K zeWtWh<@G?W>!t8tF&VYeGTtX4VQGUBLhxU1WCMRtSKqyB*T@zg-gYpgo%9B~8)#&Rp5*;|_PH${JYfPf2VOYZ@<${v5_v_~Z5KQU zVi1y)8q`lPc03Njpt(??DY^maMS5=okOQ5-CJ-aqYnty?C-W={Dq^{n1pyrrwXA63)U!C)^dw$$kO4~m$ z99!5&X-0e+t3Jtv1hbMhf+GazsX%uK@u{<7$Ci>UyrcOS&4e^Ju1yGOZMJS%>EfE16{ z$ahuaDWaEQlJao3v`ih)0_(M-7XY{NAY(cJnKW~4pln&Rx;vQ=N1%*T-BL<~+23xmwMmY_-_1_81Kn2tLm-yCdUds?8`h=x zrr?yr4386;`CeAiMGw3UQ2QHBUm?k}+ z8k~?tW_NX3<;x_z6I)wJm!Wj_s_EV!gB>@B*qXXwtqURrTp z@+8}Otu&tP3m>Hhc{NR8+9DUA3??Y~BXbbb5rUm!7lK?eS_KjpHeQhg`r$GPrq$}Q zo_YLn-W+Lm(Au*Frq?Zlvz@%2=3DXL^IXPy;POwxW(ar|&?iEMj3fyQOG{lWc0p*N z*#r0ws@_HfbwbR6{uSZ?0eZic+aCY?JTK6C5v z)(KF#JUgCwgS13srX%SCMm3?k-9KI1y%jQIg7rrDspD@wTix;T=_TA~vq;nfldYXV z^x*_t+Y8;TQ-jkqcGO_?5(GCUm9`bzo`Y}-W)`7=_haCN+*XQCMi(zi@cVGNgs#g* zkA7`@-M)F^mY+hN!Jg1!m99?YPZ61j`|P@oqB<{pH4;y#`=d~!Of;UoHqtC$U3CJy z%*(Wd0|-eDOF5LoPFpQODh;~wUVGdk5Q>q7_%%Yop|saqyZlnNsm6?B)aItGIV#j|Vfb`J1As5ZfT8M94QJvlMo;*HO@c-uhz zr{8v%YE?tZTi3ME*TYF0M6_cpc zHGTFdC9=0yg(lynI*`QBX%pi0rU7j}h5S7bw&VLuF-47SsoUVQxcvE=%~R`jE!NqxHuB~(Y`PHJs4 z97?2@ntwB=4GQnsPeOp=x32@vxsYPHxlI8XM(v-s)t(~rmg?4P@y6}cwbe4cD9jT7 ztKpz{oJSu9Bl)K3$JDUIk-3UzsB8H6&F5Ado@S;jky z1`a_MpVdnFap4APxL4j;{Yw&y)!h~rmJ9&XJ%y~7e@>6qfLkHBIVwCnt7WkCXE`qv zi1Tyle?vJyyDZKOvqwE6svikM%v z5xe}*{(rNF;p@sI;hdSDe}Z0Xiw`o1g|YZp6$=Gq+6Jttzk|_L5jE)O2GXG6CX)l* zcyFt>2){aD9IR`2RJX5CeqV6*k8>--bjK-gD&5)pZM?;L7z3=a@n!m&U+?ruW7Q{H zGp)ycKc<8f1!#7J$b%Zl?|CH}p)0^B2OTk!=rx)=nQTU|3zSJ#cnglZgDS$q8FLz( z0Rh6Jj<@8y>O5^xKzv=dXWJXJ2`s{?=k9{`0)?}0Z2u&2ZXE*rlVOg`Iz+E+4Ioc| z+!8L{UpR{_Z0x%tN)m~8b@-P5^-gf!aH@yc3${TF=ppxL+V+&hRuLUO-toWR5MPZu z^n1}YKfpu=_w(U^!$K8uzUlsp%z33;MP1!Aml6ar96f@Y9mJwcZ%#gOR?b+p@a8X> zg_LqVT885pB*j&YCscVCATm${ew-Y-Q(;UmOt-j|PhCg!0}D3@#oFMhj77MV!hk#O zFGTH+-@k=+daEcM_0FIQ6R`qpj`N7V$YqNj)6U7Do!UdDDR~E-U-enTA$1(z3 z;oa-6sfS-kPKIR;*n`kTzFvG$gS3LuDNEf#dyXh2Y>!eKmbF^tCzu1>O%Ylw!J21= zhF!Z+O6u?a8cjf7ol{{Ws0hN5XJKC4Jqp;}Qdpdik55>57cu)oH!rJ#z^FU0=p4D9 z-Y+<{SyfWF;yZ>JAHRCd?CSU0~nJczgLJ z=`ucy3UknK5UBH@ zY7cBxit#alu}65?QEww^GNCR;jU|>Kjp{l&QxMn^0DB)&;Zyzt!xNO7|_J#3{RQ_g2*5r9yVE| zpJ=*pebd7ogtf*%ongf7+q5z$+y2+Dqm4q&XM9pp1wuRX^GlJB#Ko7A{K&3bslLXX z{xlk6*^rBiAGmhrqgK(#sxA?4_yQR`XxO0A4ST< zb8XX5+_U~{)*{jFlg?TuF9RJu!F9@}=mSW^WIc*S_FaAMqt=O$PBN5{0LHO#L5-Z? z-tl)?s#N`tvSix0rilwj6JZ}SPrC$>VSZ8Y+NXM9pLFFFd%?5YnjWdg@=^%Ugw_ag zHJ=IrX+ZYNWP*EqzL0$p(Y<^7He%1ZN6$7tl+!Qo>3J|V%{^rJ7z##$frp2OnUOK3 zd||hAVd@o8aoqaPrzQ==h$Sc#Zy5V93KEq%DjKY(>uA)5T81 z`b`4bphw7Db(XNY+wcsNLV~$(Y)_#i(iJY(PX z*wQSX>#O!<2VP?St47F=pHRos0t05OSvsRXTr!1e>iTO`+r-4hPq^`rWmJM8gaFKf z#}AZ-4Db-rrJTRsGu#CBnGAMlzjOtq%|Q#T+~Y$U58Ea%^+7RaWEA^s2BN0<;zE|l zSP_)oPb`U!Z1Tx!wo7`9Mgs=`03~!Npy&4$T3G=Mz@VaC-?VVWC(m$c4`Yo}6j;_F z9nUTgi+x&LA6;EFma~^}CeCKME@l8d9s&rP{UP&jK8Oqa;;1m>yoE#>8r;iA5^FIW z1S#^-$%-N(4jyGPSjS9ExG2_wlyLnY2uWQ$3f|FCd*5~K<8YA?O`m68fdeIk#g9a* zL|&cX(D{*H1udkt=(M24JW!8Yqso+QngjlaEvslKVwUL2`L2TmfT{I$gl>P9eAOGw z0`pkC%OIXD)7opQcnH7Wj<$Vb7o7vs3PQv|>@`eyHK^d$ zjXlw`H(FFGIyzjJZ%0L?eObtKqX<24s}(0P@?Zj9=HNj=8T#X%32(mnUG%Gq)TWv`I{n|A(I{>!qS3i-vgg1m z{ss}60}1aJ#Ruf&FX_MR!y^g?F@ICo9;>7)MkN(SBlL&maN+>IwaP!?+yaExUe6Ph z&tK~$WtWodvP0ghpD)}Pq$}GC?67YO$w67NSkq}g~tVc4+gK&3b-Y+j85IAW`MUyP=8_U+WW9pFdW8cwxNSg!J?`ts<$`v234 zX4?;C0=pbT&J1s%uXLk+GRZx9A*l(m}SEre*X0| z%S~!6nnc;?sKebF>gvE<%ho%*aG0u*KiPI8IQ&W(w3mZkeRUY{`2pZIcAM(NF0w&`arz#>ehP6@1LVq${84?lPB+!1V%N9%{%&QchmpoqK? zKp5sJjpJ~6fKHF50`~1vuv#3;OqoQXo8076)7=6$jaD;zdwalc zb%LR%MilHOMoiGJVt<9*1$w0Eye;&nLLhF@#0Z(~C(9WUcoWg}CGI_Y0GSGQN>5#yUYZ<3O1@(-h__M@pu~=3npciR~0o z*TX&+|LUbeJfjwn7K*P1&Zk9{;Al|R0Yhi9jqSoG@SSb< zTun~)+Xu4(Ez8x*{%KfnQKg`0h)5oDx*Hu0T}yVN9rEFFbvQ%N>vTn9t$FoO9QyN& zhDEgjMM{dhry2YQU?+;=HC_DZ0i0-RyS*cS)vEMKON^vi-gJ>EmYj#6nWOEi~WYkOpSp+*35E4l7=FLz8U}4CxbqxDQbgjqK>s1T# zmMioI!@VkjS|#CC*nhV{y* zlf$}wU^H~WwGT&>0^9nHHNP1#d2~rcz$IiPRBxM`li6Q`n+FMld|wnp-|%pBWaKJu z8HG&?OIC_Zdi-|6$O6|zYXn^%VoRrniWK$^ukVYB#|aEqIO~-=7B8#8Yx`I=R#H?k z$rg|y6EY)D7nM+rVbW#LMIa60;qv7d5y`*&cJZD{i9b?;8oC!2KUfZ8Z|G4qQUc!& zR8$kE1p;?8`0c(M7QS8zQvRp*jqq+q=5Jy8iP>vXAVte^_exQ^Z*mU;Va=#JE~Lr5^37 zYAe!HEQQHNZ|)Q{uQgj3(eMYJP~Z7>bV}-7P+o)MJMliwifNXmH^jMo1Lfl@4{Y{XC;pC4%$)Iv&C&6Uc$yoazoQFAUSg-M%5@^Z2tk~Y zCZMOmzIhWwAOK-7=S=sis|yVuYet(;2$vRqM!7&zEjhbYX%F;BL=ydHD87uAa<3A! z&KPtEk&jp73;{>`7S-yQXE`guMMv_+%ys+ykQ|roQ1Clzrtte-dg8SArz&2C=jD5s_9ar!j0wyVpmD~9_5@0&>uNN#6YVO>Bm3P_2+;066rp& zCvNSLckeN|v(woYFuCcxF+J&!bMek%Z$Lp&6eToNoRxJ8_Qr{|f>mt~9I2mr*+Y(j zi|7^Hs~Iq+Z1pP8?9xBMb?U@OUF_)Vm;q<=ZsC?)G!P(!!vF zBkM!;W~X#D&O3auB`Qn=oUf4*0AUY|&5)HTxEWv@D$nk{^XVC!kGFD%@~_G9hM^rVFE8*@kmM{P4&ACH=pa-fl=>Y0V`W#? znrNARYk&JzrHs$@;Zj+ZV76;s$%yIQ8h{@WiSO7Ec(DRbU0Y3WU~Z16#vEP7&|&Hb zDTCX1z2g>$9%`5=h~m{8pRoUZQ@!7^{7!p;CMjaaeQY?S09v-Wk1Dnp)+)u7T_=(0 zlwj2dXTgzehz3(nQFmK~7Grg-&yhg2Gz~3X+wG;kp3mmq!;IritVG$7ry<=?a zzxxlO%IpUZ5CJV}oU-Lx;Z+bu?qcj0kZg=Ie~@9%qQ<#Vu@<=2Ygb0Z z2Q}`~ZiI&>#~}Zf^;FB=x5u)pmRgqa;hcr5ao7isEnQA9xC=gUkZ?&PWp(-V3c-ZN z<;avv=&j#PEX5O_CEZSs&viV5ImoM#QLMA5yuM=n7?HU0N*TWATz9SXa7-fE9NbS$ zc10=a_+b6Z%gr6WK?vW9UZbpv@kJSrFykChyVEq5UZm&`J)@DP!I8DR+?Yf0IRK3* za>frt8^7(tc8#V?Q(xb-A1=$5{J!g?JZD?SeIW!*Fo(ACz9+|tvAR0Cw5+Jgjm$Co z({{4_fK3mPxQ%T__Tz?dH^JKLp#ijD#R>PXANf;(-xDA2_ugW-Z-D3NIX8;|R69@r z`Z^$qHylRbhzFL6gW7UgmHB5I+??P&;gn)q4y|pm!E=XG)mg%WFnoPH;ZrC@yZful zA{Ri)W#kLcX97rPlLH}*JB$pw9n#<-5u5JL&Q7E#&@2ZtvblNlmRao2P7BHxh1s60 zvk>aj13&nn%KZwMAah79FBP%c%Y-Jn>mx^etfc!-K0kXA<5POUsi)AVcRYxXN9l?0 z7u#K##!k(wOg;w;si2_Zq|l}5KTU`*&E8T0N)|AJWlFAdh+ZlX@9XMHFx*u2DPRms zo_FS%kCfRp*YAN;!?z>iR9v0bqbg^_0vEeaj9}n>^@_?n^Gq%hOX*TJF55=$2Ub-X zpM3ngXU}8~Q(8R$Vfp22YdDQ#GJHFfo65C`Ci~b|xxj;-qopUYbMc zke$$ZTVR@po4dZd>b)r9G}?zjKd_Ptcz(k~GMJ=?3XU{YsNS%Qr}tCgG#izUS!#A| zua2$Yjtc(8=W2h(VA3Ojox%4WY~QK*@rzT}^C+hs)CEJ~_bfmTY-=-R>52QX?7P1- zS$ruRcJ=bvY<{knV3*Y|7j85uYB|8IU<_L*+1VE#mD=3pQ>R*0sJ`_-qj1GX8m1U>^$a@eahZewyqlhPF6o@In zvBv(5%cN@`V)_`j8|-3^|G#LbF4RN(&Kbf?tTZ< z{YS;^w#(C$A8paX_5NxTqUe!!fIa5aj7Jz*cF!k_It+g0N@1rE8iZugrDc3uaW8`- z(py*^keHHev1ZA9!-i80yBK5sKsK#}Fq80;6uz60Ob#;RwS(+KM^_ow0;2%&WO6U_ z+#^k|^T2Jbp_1A}gW*r%x(;1AdYoFTMCLI_&HD?LTJ%dFI9fb|U<+CojFObqRaLpi zk8H8C$s>IowONT>U4R zkF5KOYsxM4#W+v6iZ^4@t1RP~?E&*D{vAM`uV49O-)U7g7RTEwzwYGs)bou+ZrpsE zV15ydYVJ#~#=9)?^zypF%C~nXck-Vde)EQwQf{!SoKa~1eCB3K6oV2BjAJJ3t2=Ec z+$AHc-Z=`17fGRhgYePx31c2 zG|*#41_lq`*lgMU!pGU!81&xr;B!aZlF^3S`N6SI@H;+d`01+e#;;#94L7Coj>4#x1RtSCnxy7PKY`?#f5dq<(exEoyVO5NDb#4fHv{*a z{6~+#fu0D-RAztktpCKtKTo0CvD!y=oFSi_Bm}R_ML3*-|2-}>^dgiM+hK2^#sjO6>kOmslJhQ?qeQ@w>M&p?q zPFsAW_ZYd^*&JF;9c4A){y46H#PI>8*WukAhs%nGHma-8X@$N`S~Th~us*Zdsmshb z?@Nv9U%s&E?27j_jd%UtqaqxM2$-h^H#fRLqC$Ha0QR#(6)n;g%POZbC0|=B1uE=& z*=zmU)Zi}v)_@h4p0=HTSOrt66m{yHh?L8*?6K_Wsi_Zj@hrhq9J9r(BgzeQ(zO3v zq>%Emv`!Dj0t6BQkTmTky}i952*8eKcc(3E-0{-`DEC99iS@;OvKt?plsbgIxl__- zV7^DQ!8SDNPL=FZy8@<}qO7cS)ZTQmy(4=UC!r@wrUErSqU&G7py-=3sSItmW(^{u z8sBQ)l|0{kZm)MmCF3SGIipojtew=?zZ)Lj)Y@7n=pXwq*f)&(BBjgk7S=@qB!sC} zN{3%Psvu?PtEh>kKKMQ)Bc%Z+zpsDjhMhQFxz9esq)q4L0hWSth> zA{>5W*ALwUMWh1X|&xvQItCG|> z!9EAb`3Ju+SUcr1b8n&9y@y3cg>m3=cn;WjDHBO)9p~f%D-HQ4E14b4tV|&&2sP0P zO{vGN7c$2{S&9yJ2h}q$Hr~5}π*bhoNXQLm9Bdb!C8eLX#sQ;;!`sgD+f;A4$^ zU+j=g65nLM=1SSy(+@RLgepHnoZcdrEj>Qm?m65BMM-5#eO!SyhO}w6x2CAw7_19n z3r8YDHv>uNs#UAFYt~ikj??$RTlKJc5_Wv-zT@LCG>Fy4Jo~<#d(;80mEdMI99*o0 zPugl9mLhH}>x*@+fmGIRcni`|zrBg1B2tLF%4K_FDPOLKVhhA zD#D7eN0gfBJtj1DW;|n z57XZ`~Pmi|J`=S^X6nd+%otwx1XDr7nZ`1GJSKd zloQ@6E|HJ7?R*^q$L38hCMU)GrjX^K^lF~lkg`?-1X5>- zbo0#)s&GM;q@{ZE4I!e)iB(r0EnZVy-o)c(_f}y|G6j%)DfqS;ZVIk%ZqvP^a%a7x zKyr*s3??jZlwsWbcF~3$(>M}tYu&OG*0 zm_eU*Su^t45r~H-WtlX9tI*1=1GL8jS1Z=`F%%UPm~ZmgIiSf-r|;4k0v(r_esVGz zva!=V)s9V({m6EL@%}JE(++Mp9pMObR_%zAg1vEjcMh1U34r?!8D`_yxYV~qcIre0 z2cEFFtkAu-{NXTqO%^#-{ciELp>V6L(Z>loItRm3RSsWE$KduRFV~arY)^*^x|^FP zbsX+LrHP}Z~FtZqoQ27|Bvd)~Of6Z4y)%b`kO zw#3kUj=ppt`ob<6YyHEheGf4oATZQVDWv0Fe@aLaRlEv z!q#Ud>M~*s!XO~VP?xUCaQK8=diMBSUiVQo6zzVK~yXl^uKph(IU% zRw5H4uqwy6^{yZnoE4lQs&wTNt=a5ap)Di?7DV2?J3ci7u`=y4#ahC#m_#q$`eJSe zvTRg2%J|gOXOPHcuh)GnBN;UgPCTR;g~(8)L~L_*1;sF%G;}opSFFgk-1Gvx@ABo^ z^rzeOxAX&aj#0ikL%yLW8EvM+O}6C;TebX>!i<>qIiuVToz^FkkXBRYIa~L+D4zW^1*niWVkvp8P! z(IaQndvtUl5`f8=Tbi}+-IenTF;DpFg*888X=Q=7217$B?r1EPp>T<=seOV6WNDS% z&LFwI-lK2j4o}|HFSM@!thVa&=)~S|mgX^k?ghHl{bN2d z+w3aqS_5v&jDt%KCT31Pk3yJPUvlN-bcA?J&J6AvaPNADkFW(QC32JRZ+2^=7Ap=c|CLua4=t&n5?uT;k20^IqOxp>YldKsZ`&n{6iu;n{pcPttfb*&PUC z3?hbnV+}Xq%t7~2n11|b*1uZ%x(^{$^Bw*C(5LfHE2h5r!|WT`yao;VHmYZk696)H z2Ow`6guHBcAs|KGs==hKrNY=2t_-1_m}+U3W7O*}l11z{GAl!G?VzQ)z5AZT7F@B# z5y@y4weNY>Q#T#G(+P`$=laY+3tXA6q&$b^L7 zb-!3=PzqdG_E+eicAo41ear0+5PUVP8|{o;%)?qK!SJK1G=)=|U!ZECl>P|{>6RPl zVIsoA-#XxKgFp|(7M*k!E9|G?z0(ClCe-4uAK`_7pf_XkeYLkZHJ%3mRW!{(`X)dh z=k}jJAF)yqVe(-*Z!6J8>8EKp=*^))f?#vU%p>vbzD7AJbS4Q;1ep&z3eF#m<7;|% zwdS9{t(0h@g*uGc_-6}fCId|ZTA>&ye9L1Cwhpz=2UP(^Gf6xq8J*a?m!JRHNDYARXs?Um}~# zjn3l!a5-x7<|2T9#l;c=0)WnvP^oJPuE&o?)AP>L}z;eF^t z&}t>(;Ar&CCte{ik8GeZNtJo~Y#$QKH9>|I;~X4*g@e zQsUB!Pp~%2@wTsPcR6+H0PSVClREAi(vMetD@YLOQm+g&p7i_>=fEuKe!Fm6&bGR! z(5taWzMWshu0?ux0Oo=O1H=8{eUDMzds_lx(E*kF*uWi7Ix3=<6``3}m~B>_`(&s* zS+G_VA$0W?*b)n^b^qRTis z$|MuJgfTe!j;=}ETKm)>b7r=>|9@1x^}S75F_t zIwjL-X!F&FSB=CXYpL<)@o-#srd1Rt;%A##2~yXq-comjV!o!b6#wr2@3uPDfhY`c zwuQq8huk~R9>|>|K#>%R-YT}bxVVVY`yo9I$a7xa3m=4m@7?VGE^H%*^?@{vxV@*g z-!fq7L04@Wt^Or-C)1iDU7paaiw)ue0(KZ4JTAX|Q3xCl^b6A*(&!jmjCYYopb;w2 z6+YJVRp3%^`J>uRJoPMg%8$r+m&I!_1i_8~XI6cNM?Cv$K=zvF2q_t=8h&tSlTMCf zHA5Np^5x4p=%kBBUULEG%GCy>a0i ztCp?TvI;ee!@Va81;D3Iv4fB7{szPy7}Dx3d<>N>m1r*m%fEJzri?vA9_3=Z!3ZH| z=CY{)nXFXc=s5SrhXG^XE*EH`7yR?~Y$%%Pu9th-v2kh^9DQPuD~6+tH`3n$XlbO# zWyxF6=V8zx2^4;?3blcH_nlHE)1>gICH7;RecpbJ^BzA`-`_1M=y`)50fUYTS(?Ox z5GscDNdjywx80Aa7;6EPMfrGpJw&tO)}*CELNe%rx&_3f!X_XE*;gM{reCG5UbT|`r%g8u;Uy$mQ{5~NPeiTQ8Ks0xGAMPz8zcwLrT!3e&`DTJ zL!1a?3cGg4(Gx5BRh+C9?)pc03OZ%%`*W{-l&uvk6_DM=@f^eeO)oDv+|It^cq8X| zBBh>rYXWjUusDsb84fpy-l;_>7L(MB4vtnuJ+(ye*0GYYaeAV|9Mp1Uev76yYO_?vVXAa=er&fvT@mzfwJ=Nw`)+d z-}4V5PjPPjqWKkZ)LsZ;@)J+2HJ4Qpi{c6++q~Gde&y`%lMC#U+UaLWlxMB20Zz-r zuu^#?Cs*y_3XxAz^PQPO3v_gs9U9R@-`}-}g5pxWSZNNsFSxzhIywR`{kA{`L3ci# z1!y9=J_o&ka-&cc*f#3&)YQ~8*37dBj?6475pYeJr*emeiA+G-g1vgT!=bZ0XJd0~ z2ANvmPzXoD^Xk?Sf3;h*3}s98H@d%;5rF)|w}t zf-Z;ZAMcngj&@cn{{938#JDG61}P~Qh`;^tDnyYH%`Wn_`+4-R1r;_EW_0id+bz_@ z-s1OagyMa@M>Pw~0eR+6ub)Af9?ckvV{bc7 zM#5`V-bv@L&-YSYZ0RThq?79{;#E729n!lEFlozrYVS&pn5vnmNN%vcN!;9ciwPh_ z=y}YS$NB$yueJHR6JTseN@y>i+e`BO1O(H+Gq1M2KwmiWLvu4=aN&mE2Ra3Xxb&sj z>UNJQ)@7%I$;>&(aX_9J%4r3M8rtU%w%PV#%+%gJ!}0MuSNz^B;LVgY{4DbN zkGa>E-M8vRm#ygLGuL(?Q&WWwjLgcV;Fv^mEgIC~-i_)q<1L-G{Xsw`=nHCl)i~8r z@M)MJ*_-c`IbsA9GXAR37D^2Wk#!c~yAI%(+FE zT3i{;O@Y4&PZT4VJ^y?K6ytRNf1^D8KOuD$WC2A`N?f707`980D$Lfth?>t7&!PD~ z;SSYtP{ops)OTXoeUp>9cY|>bHn+qk^Ul2JGOzMP-s6gp%(77;sf$Et(Fgii9W?g&(6i?P&3J||i z*5TBC9#$-RjldeUU#MbZ43=4JX;R7vvK^jv@U1$Cv@Otwu)|IjAbE?MXeB^}LP|*n zUqyViH|%h+(+MNTn>S-)J`WTk#8&S`)G-JosGdQ02OilnX-y;#ojl2~Y}@*4SXxXL zDPCD4PeUGF@4uXWymT zV$3c3d->n>5<7d@P>vh!L#?9phW8)cPfiY<&7;e~RyMR_K9E;kT_IjI$DV17u=|3m zk(?+~uO3+K|230e93zfVBc8BP*Anbz-Rtu5^4{CBFLOsUUO|CqOFw^Hbv5ST_17{R zm(S0`Ip#g@fya!(*hE$Bh#fOL$nc>F|5XjSwLVu@1u}R4Vs(95!HCFCGH_M>j&n=GNNe7VL8Ze=FAsn_}>Jthut`y z+lLvJ8Jd{v-0V;7wO`Mtso2NxcBAaY6MqrBs-5)DAhp4Vl?vG^Qn1s(f-OQ(12ovA zI(W&tsw@|r66lsU*?=#<*R(Rj+~P`6jou}Jp8~7 z!?iT+WAOTXPC*q2`N(O7KU^;oL~-zxuroE?MN1{&{FQb6HK?w#O;nRlHy@Iw{hRF- zDKKAxAt8M`F4_ODIb1n9hs`hcQEqN|_yx{D7b;n|po;qiEDzKB2aEf9{{7BE zdMM(1AP|#{@SZ&?JYo2-kV5|!;gux%vsd^{v^>TK7-hHgZtxo1{qo*vhny^Cll}C| zIxv~6zH(gmCr0hKv-hosFlpz7g8Blo8a76XwGT$ez;Z5N5N_Gtw|f@z*64{5tjYdk z%7%H`!j!!hVv=B1D!5Br%Aq{HTgs>4hZEpADRx8q#FYO3xNMr)A}^4)<7P`!dB5T% z1~Wfko&cP}$cPyO+=#K`!cLkR>h(+!$V%z{?lkm}4SO%c0ByOz`+tCW7A|?{rR{KAsi&u@X+qG*91FZsv5mTtnx3wD%y1m( zK5raK5|_LLqfwd`n@!hzYH*~m`$wRL7Vl@mz~XSf7??oug{B9v0-e&KlWnf>G5iIZ zCl<~i7YMASq-0KCBl0O2OIERLd1$Ye$TJ9T#u>AcSHJa$6b5A%Mxnn)Y%Y6F4l5O= zB(Ui~S?@A`*6|hmTkdx6Gp`06Yekke-JDOM+$bA!pBCFRBzGItUO(<44CEnK8;XT% z2V*6VpbpH_x1cyP&mS$47$rOa9~RC>lZA$bH5E#1T^o7b=s9SE`6b(74P)L6ZFKL+ zzGz7yA=xvQ-En@*F+JSzeSjv>3P+{4t{$~~^G-F1?)=eg#eZLS7`gKZ8}_`>nbXyw zUufo!p2$;COsmDiRjEK|g8mb6)^e&j?;l)p5k{n%sJJ+6aKTobtrBTh{?QFbn$|}) zpW!|c%+?FAdVXPiHU2}-uA$=MVgRBD`F#0VOGoEa85oXO7je9#>U<2iAb1jkbLQ~y z>a}Z+d(e1Tw<2Q!N9fbz^0IK5GNkXddiA2P=gdtyE7JpgYi-KxYpN#2BS$R-b+z|> z`NR0mG<-4<#qrbm%d2&-YmhyG98HU%=3-(|a)^Aa!X}g5jzkaPN|jips$@^-D)Zxi zPoQVj2(S=9DmARD<5?}bh7dp`anB1Jz9!-aPV z;VU#!>fy`n(PWuQUcW9OgSWv+9c!Yb;gYu0(i~ZlkUuTT-bFIj8fYS5`bh5wWS6>J z_<7) zJv+sPOUql^3ldQRTPCiz-0ZUiW@8 zm?#F8E!qOlKd4H5hMrjOpht7dUknMyzj%Lf^UHttXpiYqFJeT7(&a(!fgd>Nk$45) zXSVg1c*r+=n146rMa{g;(cdAfElkJbjoq#~=f+X?c_~9#0oWikTH4w`QKRVXQO(w0 z!)W6mwqt+^c;`mhER7UA3({dGhg%fHU$^d6o7XW2M-H4Qovg>YZc<0AXMg0C^-n-j z{LdB-gtX$TOc__i=icRwDo}|l2P7-b%O$c&`6sV`@aX8V51Lx(U*>0U;c)nH`>45(r`XrXPM@FM zBl;!ntl}|7KL(#=ac#|ZH53tE!)?tRY3?|aoxi_2H?Z`{Z2p!tTTNE5a5cL-+ber2 zjaucMu@*U4l$D$1#AP(>ajEu@&E0<-o1-oX4MAvnAcl5EQ7;6BSqy8g?6^hblr59K z9UTpCCG1YtyPCd_+$ok}tOYZU=$gn&|3sLiot$}p zZtpbkPv6)F{gchj5fc}4ns7g(Wtm5u5OAGMf@RcO?tk?1FvJ(=LLi8h6?BiTuG)=b zlPciCW@#RsXWZfLR!xGkL2(t`vY4iS%z0+nXB}nZ-cGi!9bEmJDrepO;!O9)6DqUc z&`e{;^*z6Y^L26+%rT&^N-&>4yV+@}0C0Iv&NT5D&VMa#_lU1$Xj-AAn%8h&b@;QV zqRc<5_)nJExzx0*tWU6JxS{ub;A3jkxnS|~(mor(B9A6b);VqSqRaa}eN=J$niX4f zjOo01RZ&xV$p_lO7Y#4k(x|#`1xcOC5%wLW%dAE7_q|UtN-5y__1i3g_(EP z8U0m9hhZ7t`v>UFwL&4}%F@);(gF);;F?Gn8Rh|3XS*uP8Ou3}2^q!o56`*$18z=c zu#?EuKI=poHKG2n^PBd`lNp|jHA%5|EJg{2%iK)q+{^Jc1PE`1l?R7mj_ZSdvBc`( zi=54Vu8&4}&x)5`9@}e1ZN^jG`$V)^X`qAMkOE zneX1?M*c_GWUgGiy>t{)z>8zN=OtOHPD}dYQAfp4B5{W8bS6KQz0^6@fK8G!4cs-wLe5)uNDB-OJ{a+uCzpKKMHW?E@l znlfj=@YpmZJ`MG@ew04$^!U>0e5SqUE=Yw>a5yzGcTOt5g{y7zT$A@8GtPfmX1>*B z(9T1#!#DT7w2J!Ukq*&Smaj$x)JM5eU?OT;fF%}k2_P`e)h=-v-IbecpJ6&H#5MJU za9P93p<>M&xM0#zEt~x;H5=CvbnSDgpy8_fj>j5tlV?C70f&IeA_P{6hYbpG45|%G z78+*cW|fE>Nfh$UsYe!3r>)R*8m(C!e0p-VP5dyFhOqTQ!UCEePgp+|eU`6rwo-e2 z9iE#V_F}cPwuZoJ^enR1)S^f((f?0^mQy$i+)8H3^C^D( z9~B#X-J~XB%YtY3OC-jkfGcgC!(*fFgBu+q@fd<8Je;G1V0B_I#_ZwSc9Ej5)YiG2 zY*Skx0L0l@$e)=vsxV#LZ0x@xC(M9W$6UCUH(#rty$*2T;LE!6tOK=Wi$uZm&w5f* zcpPO#Uf~$*OVpz9hg3#SB;EcQvyi}6I}gV#U{ypn$rAhc?6lJBnJ=DdI6UN}3_}`Y z{9~{=oqB4rFb_+f&3nx1ncc9JB~R3U{~s^Tad6-MH!> zs3*`5#8Z&OB7`r6V-vtsV5>fL>)C&gJo_pU=g1ARY9~NN!#^21^gbX%aKwvR+RWZ;5FADaiH1K_6F?{Jj^p~ zdEV!2siA|T4CpjlLAXku$h2-8uUjaDxVyZ9f{ucalB^(TRv0LteD{G#s;Oxr_M*#d zVqjUzMqx-t!0E=htvS@b*u~(s8`2^)UoEvX&p)$Vd+lFcQ&U|e1bPfRI9)H@IQaz_ zj))Q-mAXkBJI?!%%BjumwtDv%kw<<@2v@{_aV#zrp zj9_M1;h`MC%u#=^pSIB>ljmWu*PeHXXN-+wMi{(|NfHe4jyGBhp@bP{CRbA4>n}4TwNlsLK2$9#@9$fev6(y$!+|1Aj+h5s;H0{JUJ_z-x9HcQOsrvxOAwn0r!5DS*zDR&(~S3X&BcDv&kHU+ko*%J4U2g2EP+AabJd~Vn9rJP z@CK;8DNj?KKE7v&W9+s9Zq?!4`LsPN%Bhu@1Z`tFy^3UGM=uf~w4)AzwGCSK}Lm|F;h zP@LF(VfElf*B(Ugwz?2-;mAykz?y05p8?E>Vb%MO%~LVNo=u;X|bS< zuVdeV84w79HY!@szlx&^7z+IRi{d|10$M92s zp2cU|VV2#KFchG4Lwee#KDhYL6Q}y@1=aQF#$qlRVVZCiPSR0`)Z0BGt5%f%!>rDEvs?`o9d+jYF-*+)8*Y}VfltyNH zoRwgtQ0Rc80q*u_DwAKioJ~?pprdwhCC#0{O$dNkqh8>b^fY!9r`pi()(rT1PZdbu z%4=dWJz3oHrVu;vmdhiIw6NJ&-8t{a3QMhS5co4a#BT0 ztz`++&XdJED+&8>vU|aaZDUf%(U6OThc==?`Tl*_)q=?-s=w*4P>AcrH(O#OtsIKg z_JWIY>$E*t?c-cwsB@wli0}&FjS136T9m1>J*zcUqwL=(8cgq7vkD=KU)u|;JvgCG zS$m}Rb*hM?UitHEpthAKK%QhebM~&h*RQ(2z=8yk{>VYvYu8z^e6Kd6ZVM&$Y* zou)krvVxfVQH>TWuR&;m@vhwi`QWN|z2v(^;F3k*&xCN2!a9K|3}COeM419Ez!;Jk zVMQZC2NG-vu2WC{z-L~H3tfq?x%pB*+tMol0wS*44xsaNUP3KIg80F>_9_cU!B0jc zHncj&FKNSMRV=Mp&tpxkq`5wPtWT8c10Fm9EZ;_|Aq%~R3V(dB4E><7_akF-cj!ei z;7Ek-D$aqk7YMZ6@^sIgL7oM5;pI(ORzh98mg}D)oI1(759_wto6~-8s(7S(uNd`e zX@M?kQu55G(<7MPFG83&>>(PXKF5Sse|{c_AC3jAd(8a;E#N`jz1BW;BZg63IJUTN zN6oiZ%J?56=TLW%o~%KS41IjFB?@R~uKR`vmfr~|^0}Rs^rZ0dpN_g+s9>>_x$;z- zcU%#E{ae5;>R|Jx^3EMT>eNE%Js=9LO3MV}mp9nK1CDNVuYGPT$S!{MuE{^&kZ2Pi!xMko}ZYVHtq4Y%F-+1V#Dd5&Zvg{ID z3o>8v&(ww|jo9U_2OjBxDY{^Z#c`*SKRy(4>1?@|<0yc2j}x}HwS{Hz*6a-6@teZ7 zKNsJMCfaD{Z@SkS+sVu`D&lQHoz3(r$oHtNnb{W{b#i|ijP@X4r$qQ^%@x_xO-j_V zOQ3p~^xTeGAS2Prz09`UwV(`lnFz6{Af5KzS%11VZbvY$IMB$p<2*{vVKlw%|M|j( zYeLUi{;$u~kFLj$YNCs+&?BN}N$I<2aBTOcq>kEv8hNfoGrfdgw3TGbF4>f#`Kwf$ zC(*V(9du3`*!!=PB~thfSTFNijuS%-P;!+hPFw7?31%E`WE4ZeW2HvvZn z3|P6&9q3o!VFAiDm>}TC2!^CXe=8JTnI+S@kx>8paOyt-m>$e!Y>Q(dPQ-uj){BOvCJq%7P&|^u(0m0&6C^Fr+yhQDT6#3@Wg= zDxR&jI{apMTHPWw*B_*HU|S2mJB?6%=ihVl?AAJ$m8N6@guWCBgHvy2L)py`=6>LI zBL8?-9sRJ`>r>y6nP#b7m4=%yVUMt0pxs$?ClSsEfebw`mIMGr?ouCdc3{wk@7Qg4 z!iEIlN@$;$uxMFI;%(LCkZ$B?NJp+JP!H&C8H$KE6C+={UKGk)**Sg@pTWjxvDIt| z&KGjL2yZXj@+ZwN|=ZI@+mIkH@~hF?ZXLuBI+?&2~pLy71kjT%u6k-0HL z4Us7tt0y?uvJ}apKAf!#mI2J)?zr-j3kWLgf{{HeFz!QDv`QDG8)X*R^ z{3_7$-f%rIo{+Zdr0_1ihLdlxbX^)`YtfKaqCm0}tzVCnF?qYZs5688uO8+?!-*l6 ztM*B~lHgTZOP+3wTrD-FC5g^_w@bW^U~J7$$L+0njC%J03XYTXjZHbc)ri`=!)`JR z1aeS|mikpE4DWl!D7DD(fdK)s)|fBC4t!Ow6?zQ4$LXm^PM=1`;)Bt8ZIQ^joT#@wXwgHMd zn3l9ViPD}fMZ#PF3NW^?2FTlX35G8!ikMc zs?1e|Aa6Cy3yun7N`xv$ei;VO8x4GikW4m8{E3K3*5{K~5BnE;ghBf~n zRxIbnNX>a@A)IADQ{zkecGmyEX$#|4=xQUFZDQs4+~_Tm%?fvIl4*-_AZ9yb77U@n zQpux>8o~40HM_{u2Tkbd5=hzIFt_^B&Q4?k1S(|62c-)i9a`3FFc(eSzb-d`u8`cy?DQ`Gd=7KsL zWx&wRAM+cR1E1nTIoHUW-%urzduti^Kqx#oDuD{KUS88Fe+S(o_2bM15zEKY}mHpf68we4`$MZ#< zPZ~NWPJCimJrd8(`-{~Z#~1z|Er1N(L%$+FbaitF1Yi-&L>zVZk!tGWi_1fuoef{$?`LpBqXaRG1=Kcm?LkulPEs4>T-R8o-@gJ%Y;YhGD|M zP6X||m`Fq0b?__%@Em!poJPp2CDwCxJh47(abM`&-t*`>7sMw zT&t9L3)p3WD|HuQEXDrhGJqs%o~5Fqx-f}tsx`sWCm)<9T3X*|?66=m-shLRLSk~JM0%e*`{Uj>B@L^mU%;YE?aT)@ zMUKeXb}g*GDq0YwX%ASB#)+iVWnhU|cBkrbHpGM?M=C>9I3HlKhSk>&5Kx8r(j8fR zQ+cK5V4sh~YEe$Wn?Q=38vpi6+}0AbB)c{jDS}9 zXZ4o*1mNaN(LX%bW1gTeVxUCu7vSz;8RoDxR$|$ixdr?IUkcBnEdAlOL@VKY%2slr!t(z!~Ejn$X1ZP zs9!k`d|7+Eyqq9?%H z(vp(d+y$JP52(tae23s|$nS-TbN1|-1qt9DRLsEY7?_DpHjZi zw@+or`uoykW{h!{m&&Lp)nnJ{(Z355f_dvIAhYDS< zwHI1si`Wuf7!!LzxSPj9O@ACUfB*KW!~Lh8xd*ts$wvI_Fub=IYIMhpe)G#!cAJYv znxA;ieVg4!3BM=!Joi*&vn_7%aiTl0mzw}4yY{Vp7_l*U+yN1W) zlVeEs15qocIMKq&N|2=SpsLU}1rRAZeX%os*w3QBK}^-S3|}pFFBs25I)c0S6YPe| zl`v$#TzKP`*lb_)AP?WS)H!Z!6$kesH=;}}lKIE@675K8@K>x|^#=+2b+K76Lp;4= z2$3#;DFo5RPVjsEpRRp(ksCWLKz<#ZX8tTU@bb8Hlm!g?V7Rtb#|yUlBZt)}H+`Q1 zm>9HG>*6NvEX+0n^u%f|(WE$Vq}J01S}-z@NOr5?uH~hWA|9 zyRcZU+^W?q`Isr@_`=&N{sZmaVvJd_u75v-1RDrMY&p(`Cfs#c*=(vQ;?YI`; zaq>ii)^Kwu?T8s8is;YD6wuLfqSuGtddFwzD1PC}E@POS9!A&9b|F+fzHuV0LO@tp zUIqbInGPEz;Fy{%Nz)%7=8>QPGhlz%`Fzbi97G?tmyXk?-@Z|2c)Gux5f)a|bY5b8 ziyJ6NjClJaZv??9**-|K?=!;^pmE3=1;p#_2khGBj`_N{*w~KD+ZUeV{1 z1BZ+%R5q#`Tn!GT+ptIawUGhTQ{WNw`(Kv8zz*4gQ45x<>BYhGD;=vivC1n#XmPc%q0 z)}y4gy34<5T`&S!JqQg~h4IuAS+cNlsdK{S_N-EDf|XtHR*-MU(2x;FWYI{jm#_0O zJXfwrYo2q(nI!K-0oRH@^RKt0`xuO*Lq~`}J8hHJu@_@kz{&dH7Q46+?!wjzYjvhx z|M%mB#1g^XV-^XSsIM)&U}=MkKkBQIyVRX&qD+JI8_)DSlkEAeM#_9^0REh!5|u39 zMbrMS=zucT!C%fo8in>bJo&~KCN^YQz#bCw#U~_5vnl>#@3)*&go*M#GHf+R81L9k z&*TPnByOwCWGt){)jg)slRVt|v3)6YKx5Fg{?ls!y zj3&anm>!-P6i9s_3G^Nc2*Wz)Y<$N?=xDt-ArYAu?^+Gkc05D1z>Ezhy$S}LA6lvkDUZg(?a)xOIhCt**Dfs znSLBM1U^)c_(LopkXwMSBNtxFFVyG*>&n18@VZ%t=N1?77uSG49Hfz_&|HYN@0X5o z?0Qavgd>fu0e-i)KbY$P@%ZjdqN@rX&}-d>U(=iHv>SIc`kOY#z!#RNnl=`UCYaUo z_DzCV6U=_7YCm6R=XO#=SvWXN<%A(~2s+Ri$MNDc5AHAJm2f3M0XxU%QJ~7E`Ru){ z8V-x?^uxE$Wja_mm}yqOI? z&0kl9t&^(Ngy}H0+IbMcWqH-{j_jLAC&Dm)^|n#rQz4_izhSvd1aXSJtDrQ1(haD} z@OiDhzg9@jd!kdhBx=}M2vwMU$*$rn?pni4sCw7SW^>H1&xiG*sANsO(AU>b`cSw|bMv}JPe&2Ekaz85#BCZTB{}|>EG$`h{zqS}>SAd}RFRv7 zg$3ja9U%5V2vdl9@}1OG8zhf}LwNn>t`dRzibeuKr|#Vu!V8)*RdlFb<$SYb)RA5<-qQ!6vgcfRLYrSlEOf z0&)i1+NePU9~NVgK$|Yh*@M|ywE;gF2&RUb=bUJqij?oxDgfreB2)m8OE0TS@^jWJ z8CGNGA@{V~$JuVpn_cuj>jq~Kg8QSATwD)Fi zGqezxPT;pP2A}ZV<`r&YsZ!`^U2Ixl>2p@Uu4eRMKD{X*aOrg5ktfn(aUe|_7&Ve}N#62_Q6keyp1+fHvDk4$a{bhHGME#FVxt1{ zgTa{F($oY;N36_eTYAWUVPpgY989W`kPf944k-$+!e_ZbqbGP-`zGz#z&kwAnTgRa z4bm)Qz&s8T0<_;DphEq2R{7GhJUh!__nC_q!M0LgtYA8r|4?4mHHXpn!?&*lLYZyM zdr1_AQdZB{SQ0iZFkus3zl!g3I$a`~ubYL(2QA1=|EK~~CvoMu4}`E&o`#x|m=;rB zY`v!6kJdK$Na9Sw5(^$0SHgG;RBlvn(Rr)1BPXl*b1QDUdfjVXLp(4yf@ZUG{g+KO zj!$t;&?nu}!KtWft01Fk|0#-BXaKg#P$KdqdXd zV!&+7oAx+(u7Mc_n1R{ETx);Zhjj&YM@B>E@vZ9U!)W8hh)6?_B z5s2K@E%nS~Qv?Z8%**Ku9LUPhLS72jAJ+aE84LY|cvUtM18r3U%!ed~>82ff$eocJ z2LlVgP!(SKl0hO&j(q#zc3IMA!jRblre*-eK6o3%Q&TJ8J9DcB{|cC6zC|Gg*KOlI zGzr_*p24n1_QQaYj)@8Ri5mN?@rqyZPYmFwCQ_85&kozT!p9GKinl*hr5>nJVoWL* zl5c%o+yHvPE=1yyBmmoa4&3^#+zJsu$Z9CZ)}N6UfJ7yTfq(nNJ0P-*2|o8}k1;6V zQ!hQJ^|7WsZhFa6(rfvdvXRk~!ZZaT*V-3RS}5u$FO@M-gkbx~&G#>3;qw<{&@!+H zPP*5sy;5qKv}9EMrJlAdknhoVw+nP$;+Yrhp=m%DaI*4eq%V+etzzA6&tTCu1BVwg znH?OM?11%-w-)`Y2C)e88Nn{U;s};@xcVK5WZVxDZ)3~D`M>=nFyXiObuO3iFDcu~ z{@esUDqIBv+Y;(S-I?#vff7D9LXtXX&@K_z$A8@XOX09?XzcE&1z-KV(N(v0?KC#( z2xif^7T8X9K43{=)4ui1lqYat^Zm;Whn3CB-Z`kRAV&iHH(Ad7aR}Ck+pR$bDmRU7LXIi?YscZbg$PzlIb~-{68=R&IeLHd`x{ zSt zvsq=sjvp+NVao3;D-Q{d!)_Lzu987R$GbwtxiU*0+bENL^aKU1*C}RsNYSRFn;{aj ztDb^VIA8apVpWpX7#DxoTg3gLw*@)f(GwQ&Zy#Mh{D-41hsf zJqY{iyc{O1Y`EVUmI)Wg=0Jf#3z*H22oqWd<0jBWk&@sSH#Dq5*Y63;sNP1i(xFlH z=YT#00f69Gg~+O{GSZk1j!JlhN`Mus5c~1DAAf8@f>mgmXG_5xxDq}lFDx$Z!}8Z- zahUNe85GBjY_9BpyN9#lBX6eyU!Q2Q!bCugN!?3L%=Q=!LWO_zv~;5CUr_f0kPqaE z)5o=`TCLy9U80>>@giQi;tC)u;9ychfEOlQ%V4AXCyjEb!U(>`Y`*2LV>TQ^AyX|7 zseo+^HmNCm!$Gqv-2ohUo*=da(16Wug7mZG8$4xitv!m&S$B`{Q6MtMMN z0jsq!gXU6~S95$o*@EZL7ww^4NUDIrh3lExvhiOG%OKJOF*ym$2eZ=lYu5wXgc~PJ zOyAmnWYE_t%+D^ikJin7(L=DufBUQ#W?wpJ*OG3}fN7L_UvV(#nPH*~tqXY|Qukcr zvWvQP&TdBI7gFtVj&TMQEr4u%aO~ep=)(3u*Fo*#F5`reIH9tpReD!X3lqldC!u@E zv!|sT?8JROgR7vuf+@)u5P~om%=88ilBN~bRv=yk+`=Fcj-sxKBw5fCYVJd)?+Yt0 zh&jC^%Xh$ZBtk7Vux*vml}0BJcXl8e=C%Uk6JLRJyTl57gd4r^1JAR(bHCu>kxtGi%Xql<(9g)$d8@Zy9KH1Bz}K z*z+c1pfF1p&LRl64boKiIYlJu9D=H72zT!6+3y8e8MZvpg};pkVNU>;EB_E6dQ&-Z z>bgdr)5K6?zt|tu=UUka5NJmQ?k69LR|@CG%I zHTW30pD}3mg}h9gb1}zG{Z`&fivbPzaWL6fAV1*}zpqcJs*CqxRv zZ9^kg72xbdgIx_gTi)BmQs|V~-=wGq$A6yS8vFJ8>J8!PSFv8!UTbvJSl@#ubp(VZrfLA(Qxe>zpBzGocf$zbv7z(QYrV%*W92HPdzv=E>lX3Git8kulH{n2 z5!;INT{VWwm+>vmbt0YG1%EmMY`+`d*_389BUa3Wec+P^t%6`%ZN}lpdBsBdH6>n- zbOV?0mS=)$SJSGREn#9nzP42IAo~4Lf<+%!Tj%&Vsu5cnK0uH3p0TgnX~9OXH)rc3 z{w{QpKl^zoyGPRta^s*oR8J?jA*fD1VGD5q|Gq*5kX4?0eni?hJ}i`8SKm!#YXIdK zf}5yZ6?C)&Uy@;Bn#r$Tn4Y08@#OJ^!9=B|C&T<`p6Qtxn`M26K`~p-{>l^@XDg=b zyvoCpuMyHv;bVkvL@+}cOHw)Zo3Ew=-{b{vCz?|1673bKMd?@cY z`qA+-1_=CP7?XD{@(xKFnL#aUS}6VCRqM~Kz2c?qiq##v~4 zV6tcZ;9t`0w}%)Wb@Q<~*~*eP%SVG~FV)3I;k(5WBT zWAvgRw~mE38(_Uzeh(+bh<1>gYgq_mGwWpIQu|G3y-zj3SOHMj$uBTq6h+wyo?}sf z3?k?`vHBQ6j>kns*fADUAb1SA|hMFcpBmU22|kp5{G>x{pWhJ z(MUTC_ue%EWr1*=4vh<@y7JpN3Dc9Xw|YbA`K{8bzM@ojYYPFz8%mUQ_gOX61d4uW zm66*aE(swSyC5%i{m9EYGvi#Hs0mW2tSJqzZ&`BkLlcw7JsEwF4R!w5ZSQKBngRl@ zmh6jb&o$Vvfbu0HqYA>G$jaz+zC6(n*KWi$%r+JtsgB1}DBPs|$orGvtz$qn&CTCCl4dOeK2IYQtT?eZ zweLa-t!!`yQdsB=SZ)D!mUi-#mY_P8hLMKxdhz@DYD}gRW|B;t$ol?M6L)VzPtEc+ zC3Ht`$x9UYXC0j8hT5^2Q3f%08e=L}>5VcSw91(1QhNW!OL%K*Y0bK63C3YUSIsCU zuTi1ZtgLR>H3KZDIMg=BV(U|r&3=c{?q_R32)aEW3er_u4ZbXC2vfe*Di=z!v_fY9 zIu%6RYmbj?r>VxE{dBJCv1aNZIKzJNwttI03>6Ydaz~l%GPaNe-*t%Dgq0-JiW4rr zPA8=PqXlTU7oEEXw>}uNwgzFu?o(A)C%ae0tN?^iZ4$hroeaeHsM1zb2X4anK*>Pj z3m28s#e8*U&QOnpysaJmkigfJU8mP|wt>)WkXGU}_XoavVJb&XrrM!9dV6*Flp6pe zWv=Hp9ww}N3qn^)2jdzitXUaspHG`vDPIH@8@v?UF%VP^N>^Zz;!W86xo@8@uc!#E zOBy6bG5@%i8-3?BWfTM$0L6D|C9u|1VYp85;Dij;18FhevIMP0un8XI(zPCSM z#}5O(;tB930a_8_j{k0t3HL*b1N*)6vTADYKox! z1+T;}azlv#D+Sybd{xva@?_68N|#u}KM-2hfnsC@^cg3gwvCK9{%*v@m({3LoC-6Z z#2Sga9Z6I($ZGAmzhSb%?>Qq>-m|3@i4h?}s8t8T4&{15YSM&9-T5GEFQ#=0>QY8n z|IEPv#TOh^v-QGFjJ?zzpxL>79*A6@j{DIFQ#f0ZTz)0(3Vo|3514=xapU4CSv8LM z26)#T9CB3I^7L5`7FdP6Sy@?mSlf&&U^r}UCtXknnZZ?|q@_o<&Yx6mcG%R%d^?VK z;R=zV(HR-@o)76?Kmbi)e^yzsNNB9+vFecrfz>f#=nvd_g%Z#W9}z~xoj-rSx9{nd zG}10juQI~CP)|z>bP9bpplAYfJ(L~ECn)<=ij^;t49W?H1PtW#sXY#^hV)VzS-zP2 zU|>yXwPL>F4l_M1t>QSB@i$!8^Jl`oi1K*2b$k7Vvj-;eq~#gFq3IYH04fRWvs~|W z(X~pp5QyV>dPVb`-zXP+PT;V+a+1{EBdFGbq;_h)zdAhdMQ&*e)(0BB_bOf#YKt&1 z(bGc++Q<>p8bcnyhu&g(prZqO8_26h#3d=R^0+?k88q`nb`Bl27RJ@6!!Dx2FbxuG)NC?H$ZdAnsN? zP6Zs*%^l}439a&sA6&|~8u{xO0cG*gcPw}7QuZvrFh9T9kASO~?Ia32k~(7M!ZA|^ z2e2%hdMX`orBA>Pq7{7pzLq$oyKC}kJrQsQ4u$=2(7`+oobD25^hytDWdSz_fT0rN z;!1H3*Kcu29EQV{Jix23a&7L4%kpbERVG-lxqqSI1sk}fN}jdjhfx1*8VF~AKx`XaAZ2sHzPw4 zR!Zp_V#>RKV-_`ru)yHp>!mnk@NVXl|j6v*Y`47lC6}H|c@e0=Q+7g1z zN*s|L+PnhHSkFq4r)zIP*?0#GrJ*?kgAB6*T!4_T_dV+_?kfn|VS%#}tkiPN zb>elyK52ngmdzFt{P><&9BA#`?LMA{jsSA7{(LzjSA|X*wzim11;e<5Ja!C*O3i6ADkjQucaC*;)A(~|+P1SkV8Jgz z;$W7nK-E27(kY{sAH^0zY6GTz|Fw$|=gBP6n(0>8DjvJ!hkDm3hBm2fe@*W^1=zTg z$3Qy@qo4iVMSl`E@BB%KHnb}2Us`f59aMg>53MUK-t<|p%~6Uh_BX~`{r3RVfb!oh zesfoZfdUq$FcT8bfp3Yp`%j?sz-rb)PZESYakLnYPKQ!Y4-a*VyEmRU&&znJ=R;A^ z-`nd6m?z9{oJ+a`KRAiGNRvpKV~M4u8_@BQiVG5q?cO##>}-6dP;{KPL%Hsx-*KtOk2Pvm%2j2vR-%+xyCo^9B4Gm$Hz4`ODBF>IqN1Xbl75hI zk6~&Ub-J&tEL0d(M&2VUV;4|!WvC#hlQt}5U1?iVg1`|tQsiulTxXLQN&#~w2p(kB zE(RaNZ*^pz3(G5^Tif0R^NnS4K%1z0uJM^ho9NB8TM2<>HKLKYVv)eG1Oz77F|{7T z1WCWMg{G5PTak!-Duc_)^ zat@y0F>G8M5q5<~Rz`y^$M!vqYMg)|MOdZ*SKm+ZK0t6XL_?b*YrzEyHun1Zg<*nS z_x(?B_rQpDSI4ms_H%Hg!z@prpjmD%tVf4p1Z1rM8-~bi+30|3peX8`-haKu<4Q=) zUI=?-j5Xt#%C0MWz~^Gk?{&K;X&seSZ9+Q4_IS08_EU^@M`U=`2^x|J?ksU4?wwZ6Be4}o2a8vw3-WN&Zp z;!?1nKN;SrZ?BF4JqKXDrwc4<3F#i{l!0&0s@Qk3k_TN78f$^U45l8KYrB;*9u+oQ zQbhC!{OZ}od3ong2NrGI9B3a$1Mxd}7WEOTc7T*~IMw#|HZ(NM&(A|SKRas+C4`iZ zjf~&wOImN~mj{n45j3Pl4qVik4)v=(;7~8pBMLl*hqbq5q_?{}g;D8ytIQ=^2h~NQ zhajbn;{_=R+^vsOKDnrB<96Cky2M4D>dnOJYLpsfd41nns_zk<#g9d-=fa>D6kJWm zT-ZId4W}t>ze<^5>gFXQo?e($m^v*^_KfvW$`(zg$d?`)2LSVryk+uE`X-x% z6$)Ns>JzOUwjEGi?J}<2uacMFsueCw6y@POVo!&?O+fJ5hb5urAP0!)P1gi?tDu3Wqa!52s3NhjFT%-AHkgXV zky6}%+-j~DWg+_Zhi0Y2_ZKxafF$zUS(4w%WeXYTy=gl&XMWX25yG{=HzViKZcS+4 zYItI4iGP%`R7_u2rY;iHRMsR)I%?%}l}D$1>@cVu6_cUyj=4~WTJ2m5g2g4z)zpe` zc+-;94t7a55?bxNHKGz4qK4X>%fI3*y9{rrJ{UUx#CWYvuhEU$mU!@(uFpgFD%3m1 z)iL&!fnGl}Y#&sAq}6Ew6bk&=aZ0?(naz8RNz{V0xPymt?0GU>+NgL*CwxcGgP2D(Auq08i9D9!$9JJGP zpAX{oKF0^au5EraFe;LW&kaCN!t~6j9GI0H5)cIjmY|9^^71pMyGnMc zn&RG3uWavv3;@Id47b}lJ0F@ykQYE{8xunZkr-`dH%oh-+ZDX%sa#Dn_~GJhVNpl) zScFtv>^{}nXsYzCQMuO#`QtZk+?bO*{8g{2Q!|v8Af0*)L8{k!m zG|RC`{>Ee{so2^dUAFZ)KaVbq)Z7VEo+iK*8MgOK+TVK4*p(YSgo$s>`1$MLakFF= zwq+f53sZJ<7X5e8M+{0)2T*tZsh(znd9blz%RYrN6U-~w>2>*v-3~T(9-Yvi4Hc*f zT(ilE7xv`FiszJPwrzN0FtZf2!e%f>q!Q*p<0!1&l(~TK+2+q*=mucTX=OEq+FOn; zx641tA12);_gXZ!viJGN89J?TzJ=$rq>~TuOjS)}3PN6IG%igkjxz91@lOfbyF2>W zmawzBRMpKgMH{2s21_u+59N6=3t}CYI7k&nE6_$Pe0(Ys-w9$k3_N74J}Mawy(}p> zL~AphnTQ0Ou~@qp5uV0knHh_k zkr2_)S=IoJ!6JoP(`OcoRGO5a`s}2%E-@_r;ai=h1_?5or|*mXcG z2$5)UU3{8Fid*F<-nL|?jth9SuueNg766Ua;=%&Ou_GWi9txY5pij@R1=#&xSx;BO zdr)WncZGI)tpmPuaI^o3Mrdhm%=c@sQ4V`AN^FI-f7dLV?6Ez;&6DIqmM}cTcCd=e zt0`N}a~*o~99P_ApO*vM@_uv)C`+Dy$)X<9WRDWI$N4VJ)oLf9hHU2VuNVmQesL(r z4BtCe67$nKwSEs$b$N}-S7$SGZKZaA0&by4E$a+YCdjy+#(=lM5jo{gByD^`0)3N& zf4)pKy)KycEH7s9YZF6e}bKV`mF+?if5dg`puJk&ni9ibE zP9vm8G4ndC`gN4-Yp{qO%u4w?dh%WilI!n4RrBzs*PN9RXArV1aMW-TmzvG!;1iqJ zdrHvL(0UCST|Py!*=8%qH9AZ;xd-opWD`e97HnESC^k}18%RO}0b>BGs!S_F^ZXx>-m7^a6* zPAHyWs^sZey8cG^`i|c|=pT^3yMfyG&rVO{d-7O6fpvzF2C=I$bYT)U`fwP4whi8? zj0^`&%2c{Az%WR^h2RgYjcTN`gUj1ykJJE5gPUcX4QB%9>9OiPo%YF-sz-RNQ(F834t8pPBX2UBd;RCWV- zOS<``qWqIw%9h{Q(PXZ*hGETbnk_@?#z+;$?(6t|VBa~xWNmr5phnq-q%rs|@L=^F zU+CKo)o6GaRnFZw0GvR(82jnP>if(oWmF?;c&H4eEGF(s_c^$mcFtxgsl5vir&y2B zjWteK_(3XoWQdv8beK4FzHV1bwBj2@+Y5gKV#7Y5AU;0+8@^-CMVMgf5Ki~Gd7C&QBD^kr!UkJsByO)eQUzI{jGPh=Y zu;VMn&{7iaU8OyX6!Sf+?2tmtExM>B2ht?cP9GFuP@od_cVPwtGF&+LyF^oOCCU#1 zmfMVZ^|NRW*o8Vi9NOaZ@$-w9Oo)qPq@|q(mJQ56rzKyr61uBWU1do8wf_o+)jV8&B3I$xs;?D|CUMwuc-0c7=13!@OBXPES z=c5Vr!GNWX(4-DED;pqtGdpR*+M=*^a$~FTCdAJ2e?kT znK~M(TnFJNonMx3P}-%&m);Z>!2=BsOsU$yr;(F5LHJU?=;(A2Ra&1DI_#Xg%ZzQ# z$QXbDP+@=3!zJAbX&n|V3a+XCt`k78pp@lMSRbIzmW4JCI|XTmA%>vk+|Bmi z?+0+b@syV=Y7HeE7xa;yh72&I2K^Tpl~U=`b8{U{Og=0a=!&lG0PdTsaW$eZ#Ow7z z;SNiE*zE0q#~*s3hXR(W2~$uB0ub4q-d8eVeds0w)go1vsJw?*oTSJ6`!^f91@pFP z!`8kNs?Fc^g}f(mvY3CL?dpSP`^RQ^7BSRC?8(k}MnBC^Nj6hZ;8f#RM#4-^GI%B3 zXEkAD41Xi|nIeM@cKrH9|s&|E2MICgejcFh)xv=Mok_EOvq zUjbz%I>~O!95MhDBmcAKqf*<4Io+%(a#f%X2+A252q7xRMAZ*d)ZnHhoQa^g`QJ66 zfsm~yNd?KnHT4N5C^D_393lKdLMcP^M!0!m4EZMHtI!+O=_mLs2M;-HkOWHxYLvFW zM7{2n(yf+dWB|0Q(tVD4J2i>zGFb0mpx!S~2>nxX#RMc(#>0#m6i0rKN}cX-DlO;b z=05QL?sjJ;sF+dQqwUd?5W65F3&9_9&DS&Zl0dAZ6bD>;H32 zf2AYY5Qd_ABq|McOU1^Va zIaY*n&wK}S1H5JC@Rd2Se;!+83Ejl6qP#Bu?#}xXj;0PyDidJ;j7)=34n*Pp1(Q1j z>bBm_&0E?=;J)@|=g%b#BM}*LX(l=^!#cDn&)xDe4N_lL~}l2p?{q-5d|8 zGlN02R1MS&aG0EFR;=ks;y1}b!*Sbe)HoTg^lD@ghVKv&XmOoj@(2FW6EsIvBp%#Y z1%J(aEliv`5}m1IIAK8dM+RQ0I09XNR^JV_Z8XM@M&ZxEyY8(Haenh@7;60nwg8!U zM7FR#N>o#zK)X3!)auP}AH72_miVNNx7@_xq!8XRidowS^B5940RCk1UVi;RR5o! z)+tUR_gi;iERF93c&;uWc{dWo+(VeEW8>p<_G(-VEHvkwW7WXM1^d_2ykPCj>b&j< zRx(xxpC%h;eA3pZfehY(y|z>6VM_>;pU~eeTc}j4o0!DiwcN zFr};K5=D@&B#I-FzkOriZm;>^9i|*k^V}YfMsh8!&^j~sWg&jOasg_(ZQ#D<-w+H;bO*YH*-*D7!9LV3FN;uq(U`y#%AQn?lD)=(`FdM-@ z;i0n?G69m;;j0P*4eZ=TkjLa21`2)-*874ErlzL89mQc+&h=6i=$t7tJl@a>-RtC{l};Gi`)Mjd41?HcOAU7hYy*&g;vLZcMb)av+MAv1ipeVfvsL^CD|fK!9J`%HcekV;t%7&8ut-TP{?AL(hl|_Q zIz2l+epl_5=YpY?6`n1GGMeu4Wh>qfAjW}f$2`rnd#aufX zygjgw%*cSL#Xc-TW*uHv_du0-lNLUoqG=E-4ET26zvUk=nRn9=sG1g#qmkb$pcwIc z4FijWC8qn5u5{hg`mk$){rdT5P(AeQ9GTLLP1d=qEMr>uY-ABM))^TPYYmcO+@e2$?{&~R#C$2r0|DTme%GD>7 z(qQk09{^BIt%x#&KY4Qa_IXl{MWc&k!btwZAP<@(Hb20{!2BS(F|yGDVtxZy*sawG zHE<5XD9hmdu@?OZX0VDL1p8XILjiB|#&~S=hweG!+-Uw|iPHc4b|FcsT_iGyGII}` z$_1lyZ0LHhCjf{Ej{c5C1FY=OMOl1R(pGlkPyK&ClDzEq!Q!B&zJLF|rqADh9ZOtn zE1OdZ05sbgoN!6cXsG80IS%CQ0iz#{Buy^wF;mKdscj&eJ%nFa7>=zzG7v#~dJ6CQ zLQ0c*`d1{F5c*Zw+(3l~H0>7s0t53dp8^4K^qkb7#V*B>~6Nr=bPm;YZiwR9r8% z_J7b~L)e@b_Pq$upm8Ev`)5r}4SY^&lv-Lw5J!r`ecWk+kcn&65aSKw_0E}()$BnB zPLsfPSb!B*(*c!3l?|XSA$4PrpDvX(xv>q+;JY8@eUB7~H*n@{8k=szFbsUJm@@r( zhJ6oY3Z0#h{t1{duqy){MT+KrR`_BIczTJ==da!$nY;>@14C7$c836 zgN@3_pi21T8ldcS+a01z6OCjfL_8jSl+1&hI_6u6F-s5`5NP0|gso zNCHcM7-Tut!lfw0&kvs&KCB7ze|a_(wwzpCTzq_Xw$|nZL*Z4PZ1kS8>WmLh0na|cfB?8ZAcg)X%|cpeBgvz1MsE9b#e0#j|u`&J-V z?O$0w*mMHMqVvU~E|;7gJdppdUnWHtfql3B`N`1&F3ylIDtai?2u$B?axUrzzWoBa zO7I%h5=hcqc!r>TUU_@G z3168qzxPr*=X?GBeXr}i-u+Liy{*01UhDIDp8L6nD(*$yc~V3_Rmk#VAz!|cclksj z*ZYOd&S)0;x%vUD2?**7ile+izlI!WgIwExIJfljldEuAKUHj$WrE=^8y(Px1ELw- zD|e12=m(OnQ_qre$Kmgc9uRr}TxyUd9*F}vjw$li4SykxWnk?RIK|&lH$X60$5eHa za~wb4n%c(bEwA>-c7yW%VaI~Lu^*L{K3&#NxZfkkwCtR(f`RuNBc0HnXlmR-2JZK5 zLf#Z6!2<_g(Rv~I3aHD033%ISda-~V!S^uCsh|rQX+(fDnCT|NzpL4l$F73xOs{=L;s-iZtMI8k!N)mpWCy=UPjxwptdT|H^Sad&-%7r59dhZ~$;FKJ4U3Rl zcxl8JZBbv{bMYXb$=ATdny|0?D%EVfa!ZrJe0+G=!(hzl!sP)=k>u@;0LMy0s{)#6K!6X;Id~Ma z(J0EvY6Kv{95Wv^%NHH`>wS|9PB3{9o%k}_-%a{l`j#R{dRhfh#LX4XCcfYWS z5&64KHvN8s`c%96ne8@@51-M}^7mQ=w>CsGurd8~QX`e-<>mQ|YH%GTm11IBGSzPJ zO#=E8vrmKD3^@|W1UeSI{(-vOS=yWaMz79ATrZAS`M}{BUjt+E*{Udc1?{u(k~?bN zy?Y0vN;k}9`VOy&I7^Kx$srSRh7ydh_@piQNB9-%abf9v==+KMZ0d>Q8bT?*jc&E6 z-=mrVi14!@!Gu%d!1(0!^tL+^h!n!KA7b|z5Cm#RdSMrTVF_tAU|)FZ3AdcqbU@Pu zw77Yl_nRj5`)9ZwX1|O4gT z@5?zoIjJ@n72~|S;yIIlyQ3)UrkI9CcK$J;B4J8KrL6b2>A7v&cUSxid~%YGNt^5Y zheJ{2$v9RtQv3$_^pQ`r3J=}jke&DO~7Yc9duEGa`L*Vn|rR|Qp18^o02=hJi50W0i;+y!h zS{GKy07r6djlf8021k@s{E<-H&PEzMflDn^zdiFa+Pb=@HHAs^!(9bow3gk=Pz7OB ziT!TFsI6%0NxF&dgY@@Hz_$+KsM}U!Y5^+c*Pn_RUHe&uNj4MY6qH&6PxH(_N1J8?auHUyRlk6 zx^5#KQ-Xd~{s5MO?v4(N%(lTlW*{An4w(7bOE#yLmi3r<2iAX(V`A4OlBOCNC>Qq`6gv05y@QNjM|%p_m8)0V2F6hVUAYtN zcO-7VloY~AVFgeK#BzBYpqAScr9iBXTsQeg=6|tuPwOqSb?c6^qovc-G)XVb7nRpo zdo!i+O;kE7G>{-JK*cC6SFcGiqDxH z*Wfj=J>GvtNudCz`gMir0jMnz8UmD1jf8Bz?6ecOrG<8TFY_|n-99|~ed{&De{h|2 z^R?Di=S#Jj!oAmp)c=UAm8tr1?|sUBzbUWRIeUWBcM+xzTeeKTE+>-_@%Q!e&^+~` zr`g}#wrb3|Fd@OS$YQuPdE9U`+^ykl?*C}2fUUhRFwaORy^KEqGO>at^ ziE1nL-wf4%r1`5*|As#;c|uF0!3^Y3^iK^r$tiZ?&By&q)P)fLUu(@Dc?ohYc!1c8 z@1;Y2Y~7qLZWx7xZzZtr1i=ton{?h^97y69KTrR9*9rDypf>;jm`{WIAIVpKRyVd% zVzh8K-Hmwe_E?Pk5uToquzSNDA$K<7RX-oKoAFwZ1tESv=oL;RyTJ~=)dNK>T2jKL zUoP}B(%K?yG|`P%;;@*{$w0a#)1?o?Q=Mh@C!ndJPl9?HUmMA`U6&M{b@u_M~_uwA`3r7><~-BEU%+Za<&mql-QHy zSeV(Z0H2A837Au1D4O+g;&(%EJKj1f`#EtU@w61jQ2t*p$kS6{TCEra z{ymX@F<-Urz@cs(CNFz&sr~z9JP^Z@lXLMra)PLj=W6DDP7p+6!UxwD^aAY%swi0g zKEpn`<$U^snt_B8+&X(tQeS{SpS@@w-K1w=Ff{}H_*Re77??P7f8C2MG%Jfe0N!PA zWiIh3nR;U?WN!Op<%PA@*IqyX(f?wZfQnfmLR`bDm>F1)v9BliuUnM|-zT=LJpa0~ zk(-+ylNT`LVejm6i9=t}wWVwGLxtb)MVr4YCOScz|Dl-Otwj*{60@PB_SoCE5@U@7 z1({~QmGldm>sC+uod=fMb0=1g@p7|Q?n*ENjkekLzG@s|vu{ez6!jLSp^07B6hLG< z84K!+#UVJ-STOMTqdk8mBYp|&S?k8`m8ZVEy>w|l874r*@!YVauc_HW|K~8m7~|_q zDcMNXD&>Oj6T(aCycii7D>Edeq$o?ek~>h9{v&gJDI4b01bkdwEfT@7RxyZ}3P9SE zQkRXyQZ(9s%7XR}ETKDpPpzORPYUUdoUu-7WXJChG*oWdDYoGbeD4_;806Rkfw1ET z(=eov+KZ~`|B&czW4EzM zjEc1VlFnzCS-H7k%7rjx9v7%lDj0PL!zUg_7!LII5~&wA`*f_IKQQZ3l;`b#-F)rv zj=LR}IS_=Y_M(|W^P*-K3l0=oxJ1U*8ri_#gWNwIZC(gTczi#?W#+33LWtuvj#N>9>?PddC>*3jmkF**85$%rbIv;HYF~dzX5)R8tf>#Sq$c zZC;znOM@32;=YY+s#&@=Un(n=625GdPk-?O;S6SLIHsnje_~Gc-Y{Yvc7#R6RPwf}w)wP-zx)t~A}VvC9qJOU``lG7aG1%M9!-l=C*3T5 zHqEvKrzdTh(DSi`$enT5r6-;W*3A_E=9h|bha(R2G|lxIkDfZbASZii^E|c-h41%* zX;h|kUG>nWkIbNi00HU8DLP2YHF*E@ddDf=QZ=FCA&M4m|nD5qG5YHb(B6U zT@{3|pIzS#AdT^`_)Z;#|~1A?(7SznkdJeVB%V;LCZfj zPkf2@ecnb&6CcR(UYVYSN8JoyyH?3fQIelN7^i(MH<3%Qy9AIifxWT%+NTfvyd?U6 zWMoLCfMV%y!i#5UCkyqvY8B+|t45OQ<;!Yw6|Y~f^7kr+c;w z!^L+k8k&1Ul(6yNoO%N#NIu^pL`wY|a-u&z%JTanX$f=RWU*lf;i{UJ_I8#?rMaK| zu)^l`l&&K@RdK;Uq*G@XSXzZXL6M!Nb&2Y(8eQS7BK+G4H`R>thYVnn)) z%Y4sATOoVBX2GCsKlR4KJr~G`j^(WS>=(8 zFLn{|x?v=4y8dSW7YW?sWb&;eaTu6Lqsf1rG~b1N1l+yA(wsqe`)_+(IU6bdwxW`7 z#i$wRK@zx+17)vZ7(>+ki?lUYM2?3IAio+99;WxU-|u+_7eyI^Nd2ON5(FO>6u{^q zU6CrkIPzm4x$a7CZZ3Bfq3vwrs3w!^&nk-f4yFXzKS%Ez8!JXDL9HksoVjpqz?{EQ za{qoN-_k32dX%&}w_1lo=kF2Syq$|nzRP;~c&KNWLwUlg00`By`>@uzvBA|g{Nx$$ zlw{miE7Q(0OSrWa$+uq)``rf`AN<<9z0CD%BTs}wn5rnYu5iXHm#=stHx9Z;yVLr1 zzAVbLDoT@z>9(Gz&GCSJ^3Wv40}z-@y*{e4r_phgRTkx;UPd&L)kNnP(0EPzQsFr4Yy+Q01&Urt0IY=o`Ho3C@wtU-pgbQk zFSrVC8Ehj>G258U^Q}HU`u!^`nNgeCD5BYiUybcTr-fry~8UTS~)Rt|d5v_HwPIFz`-27{~vF*ZUh z!-Io}1X14kua+q5=4@Xyg0d(V`xuNa60Y@-EKDJ*5Cc#ED8!iQs*8(w;Bk$#NzCPe z7hy_Mr1icom5)}5dNtFaKbq}=_~l0rbbf%-QMs(M0?`VoBSxn3YApKESQB+ZDJlPI zeuq%HP}>8CG6`&5pphs&W@%UF-wcfXTL~)gkM#iNDgEz@6^_R3QKVnJYHK6I?{DsT zQd4+O9w@s^UNbXS7h7V=8lwk@gJc>t(2)cDw^mRQyqsc;5=!xNuGZ_t(K*0I@r^N5iPyl%dr3U9ZaT{-Wu zMU7iW(L(l(<+9PC7ABQq&bYBdSg<=!mpu^iK5z==och<<9*!+@9w5X%OmuWNY*FWG zYQmJ&>U;rbnMCkD7y#iI|N8}c0;obb6hY&GfWmU|^Q{NlM)~QEz&l~<*4PqxH9aJR zr#t;VFEp*(!exjf|AGPy*lLHR$nb;D{cXcjSZ1az(zV|YjMw#`joHk(@)DZnv%}N$ z0{iwM!&_d>ucY@>5QiFRG8A~ZuI~C{0dnl|+z2E(H)kZoBAlzf@O18uP>rJ^frfYt?1Z7iKft= ze{)|=HI~(yD6yj+r%s(}&;{eYBy{ZGVbYdt7G=MeQAA~nXxJ5wdsykYtQ^B|?UBwE z@POvofA@%gt%TtMPuT#?>+gr*p8rasR{F1;<`AZTHKR0qyGB;7M4B`IzaG$vM95f| zePV~bcie@oJMMg2(PuBt!~2-u1PxKwXzhsPj=PS1F6VF+K%$1sVjFaUnyk0iN4fuX zgNf05=G^ZyNMpKY$>xI7PDXDe(IUfKU<=)9XuFm>Mgm zcgxWt0^bCDHIBkCb2u27(4-3{LMTRg&$yu#Ky0g!247eepdV6W^EJdYEaPRAyG}68 zLTB5hCAs4;1hY%pD{rH{jkY|RCj;B-%f++Yq}8%0y5W4;o>n)oDb8GBUryDk0#vQ4 z+^xe?m_8SrpPRp23qXT71&UVed>at!%X?blz=4lf@?ZoF!EJz!tK>rzu-rcJ>%<$1 zmqVtLT7TDpG%qG1$^hAuKD z@gS4w8|y?`=$MSy?-TZt7M=2tf0pv&(=%?}Z{zdh43Oq<>7I@976CozdP7ZgLX*Qb z`^sC%i3V5HmTjY#$_!5goa4Zztp?9dO{d+<3rqTvdEd8oxs0?rRa3&^lBtoMS^jfNeLvhw=5NXUrLx!MsGgkZh8flW5xH-u7`!Q?^Un?Y8y!R6eU!W( zafFTe+be-x2jq6J_SU!8F$L%QUikB*g!We^_P<}5+tOb->-DwWP%h-7PXp_x(1|+zkEJ4N^DZsdGp50$`qRDdo4u@3X;0^CJQPHSo}}) zaSnU^v?l8#yn$W2lQhhsVnhT(NGL~~Z8U8ypp+}BkDJKhw{$P@Z&n|cuH4Myc}MO@ zv9+b8*O6TfLVV*R+g*+>-v4zL7p*GoE?qrgkdokZD0?kAUj!y@X=!1a?VKC#z%mdI zSoHCcV5AYkcb|3(RKW$>r%h&TQ#S7mI+MIwry(oDA%7^^LSG=Pit_&b#Psy2xYMc&q8!mIIU3nsDkJna?MWLpm9nvkk$-=Dv58B$Av`g`}il1A`vg z%=Xuo^}*)R*g~}C-3tz8X)SPx=xG)&Zg!n_MAL=Q{4wdF{6%n4^<$Kp{sekswbsi? zZImCKGe)mYFC=HF%dY8d+G!_8?-Ft>a;w3Z32rJm9pew+b!Zlz;~XvZuZ}hdnHAT; zTVqK#(X5ia%QK)4+yN`QfvzTrf@!&&&mr_#U#PjlvAbA0du9NUnmnfDSZU!7Da5a{ z6^*JHFo{O&&Ml*@xB5iCe?838kK|y@eU0_?pfKzac7#Z>!9hP1AM#w%=7PMut6YD! zU@sxjR}7#ui;js|q^|8O@vj!5*S*Pg7z%ZLoAC_8X)Qgztqe;4WNNTt&4VJq1)(A0 zJS|IBLM+kY;c8|-Fx`gSMLI^yeSc-X!$ehUuX<*DiE@axNW zz91~JUYPr?OOgk?ZPhW-Yhw0{|B|(pmBX5Hha<$Hsxt6Y@Pya{TPLYIwhVDJK=~#q zUVEIoKGyIZ>=d^WIN4y&N{rls=#ua2NaOl>@#4kV&^_rH67*pstQ$^i?e!fQ83~n~ zg>o(^Ff~;mPmVVPm29@S>RKnCy?dH)3)tE|UraL>-uml`xqfS|2He$cMbrVn%bt2{ z-HB#k>5sfx60w&0_4%)RuwA({&nF22d)*1@4YBuKG__cAz0=9;Q3*B^w)KQmsK%5V zEE}7C{jY}nh+h{px9R*R43wGgmZKC%(E3%O#f~kGPU>;8GM+1RuG`O`+HfS@Ll!(tR2Mj+ zRj|SNJXQ-{E#T1V>%6+hblDaQdKPggWxHn>RTYcZri{8gv7{b~YY zKN=hxL4byWf&!Wo+`8c5!Nwb>(&yIpa@gh}-+KwpJHVMOEQV@p@3~gGlR+3Ti?Hel zHQ7Xe(^#;rv$M0g8I&8Sg4yfz8%+ynXx9EgZ~;;xg^XI;+h@UNYKk?{0UYY?t}n1F zZhXy7w-2HLQQ+Qo6!4AFJFu0jrRB3~ zjfFXKCWCOc$I>FEZ^F=Ravv%vEaad5JWW_sXw18V1*YGEH;$;#&Z60q4MGfkP`9K_ zBumAKR9=ocpFTJ}XFx z`oRM@sV15!4U=6fQ;Lf4?LoYKq8f>@kWc6f+uh&26J3ARXAP-mCOV+Oj~t8@ZZDo~#ka0adjaQG~Qc_Yn3O1u-G4-G+^KbTH)-q2Z`Y-PcEdlz9t?w<{gcUWTnKiA3lw?A^kin*IUvg zoiNi82vLF_(LV|;V?!2nwF)6^vkTYEBIdt;K9RIG^tP>`p&{55s5qll!0Nzkse&1C z!0<4tiD?mnn)C|PG9$IMAPkBHG<0_IpM&Zq*4JnIuENU6{Ek>uL1V|@*T38@U0%l_!PBcmjHsPTCOn$&nU%3HYI`4Y7&wqSpJW6EH`RFnq z3PWW_T>lQtUqc`NM{iald1?zPz5Rgo0T_1U?C#2ttG{IgS6cYdDcKE!Z)7TzpOy89 z-WwA{U^5Z{TK4**gM;sk1w%B;fV%~~!n|mcT~&zy5+XN-2RU(&4Pk`rZf$K1X@oZa z#Y~;aEoqZ-d54thhv7b%)~xVry?0(9f2s!li1wK5WDB^6GdPf^qz7X09^aX3qq7DRGRbBbgQ`6 z4sI{cyE>lO2~Pn$@OBD}w!%Q3(26n~m9K#1DBlSO%)|x)f-K~xu(*KOg84f+>hxhG zN1E?scw_4%0YV?1Ewwef(IvjI9dj&ruD1;B?cn~kQuu4`ajJ%+i)Bti!qKLtYsfQSn}uRg6WAIKj7t&WUA>|KKC1{O z4W=6%Ica)%r!9m9v#mz-g!59})Z!+{BhZO>Ab(u5nL&2tlw6n7F<>L=n7C)e}9j5Ew&(FNi07W&S5QcYl6Kp-}4kk$T{0y!7O(MMgqkB`J(qll`N8;{f4TNs42L&?Z;U-*_nKjbEyWxMg zw<;nkN@F3q%U^=y9Q-ZXESvQYq?olskIh=1R1#wXw`RkwW!V-jn3bN@)z#?mpG^_@ zDye3kP-tMIr4?qhH7#H5*O^!pZ?d}-aw62>fPt=VKCBc#zW$uzKGOd#M4fDT)x_lU z+dCUe7H2KMT7{}9EHsouibQsYG(Q)EIC=%X9zJg5l|#6P+PlS1-FHo3WEFj0;Qx!r{+}%~L@{eYDLoIyMh@1!S({azXOMpq5pjhT;S!() zp-9&vhn7ZOKs4a!^wP|+^J#DU#t>x@tszc$PNUjPGx>GiUY5LDsf8mZt8=VC*EANK z8Q55+CvZqitgWjHsSGAwoijFMZGLH&iNSS$Q48Y2@XDcR0DJ`04DgZY(P_87 zAy~=4B5@13b!d(M;p*%1OZxC3?RkRB0Ja^x^U5<-t~YY25ZB_^*U8_|RBQlwvUeYKwWMD4NupZxR0;aL*bbyfQ6AmYs_%B#qw9x=S}e*l;kF>e3> literal 0 HcmV?d00001 -- Gitee From d6daa5054f8e4ad2143fecbca7d8e7d4ead6268b Mon Sep 17 00:00:00 2001 From: yuchengen Date: Wed, 29 Apr 2026 11:04:36 +0800 Subject: [PATCH 8/9] feat: add build.conf --- frameworks/ComfyUI/0.18.5/build.conf | 4 ++++ frameworks/ComfyUI/0.19.0/build.conf | 4 ++++ frameworks/ComfyUI/0.19.1/build.conf | 4 ++++ frameworks/ComfyUI/0.19.2/build.conf | 4 ++++ frameworks/ComfyUI/0.19.3/build.conf | 4 ++++ frameworks/ComfyUI/0.19.4/build.conf | 4 ++++ 6 files changed, 24 insertions(+) create mode 100644 frameworks/ComfyUI/0.18.5/build.conf create mode 100644 frameworks/ComfyUI/0.19.0/build.conf create mode 100644 frameworks/ComfyUI/0.19.1/build.conf create mode 100644 frameworks/ComfyUI/0.19.2/build.conf create mode 100644 frameworks/ComfyUI/0.19.3/build.conf create mode 100644 frameworks/ComfyUI/0.19.4/build.conf diff --git a/frameworks/ComfyUI/0.18.5/build.conf b/frameworks/ComfyUI/0.18.5/build.conf new file mode 100644 index 0000000..bd19c9a --- /dev/null +++ b/frameworks/ComfyUI/0.18.5/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.18.5 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.18.5 +GPU_TEST=true \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.0/build.conf b/frameworks/ComfyUI/0.19.0/build.conf new file mode 100644 index 0000000..5a5c534 --- /dev/null +++ b/frameworks/ComfyUI/0.19.0/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.19.0 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.19.0 +GPU_TEST=true \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.1/build.conf b/frameworks/ComfyUI/0.19.1/build.conf new file mode 100644 index 0000000..64d7086 --- /dev/null +++ b/frameworks/ComfyUI/0.19.1/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.19.1 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.19.1 +GPU_TEST=true \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.2/build.conf b/frameworks/ComfyUI/0.19.2/build.conf new file mode 100644 index 0000000..76a24a0 --- /dev/null +++ b/frameworks/ComfyUI/0.19.2/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.19.2 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.19.2 +GPU_TEST=true \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.3/build.conf b/frameworks/ComfyUI/0.19.3/build.conf new file mode 100644 index 0000000..e22eee3 --- /dev/null +++ b/frameworks/ComfyUI/0.19.3/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.19.3 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.19.3 +GPU_TEST=true \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.4/build.conf b/frameworks/ComfyUI/0.19.4/build.conf new file mode 100644 index 0000000..82b7153 --- /dev/null +++ b/frameworks/ComfyUI/0.19.4/build.conf @@ -0,0 +1,4 @@ +# ConfyUI 0.19.4 on OpenCloudOS 9 (GPU) +IMAGE_NAME=oc9-comfyui +IMAGE_TAG=0.19.4 +GPU_TEST=true \ No newline at end of file -- Gitee From c39fb7916c618ea6505d5e64b0fadd5c34efe934 Mon Sep 17 00:00:00 2001 From: yuchengen Date: Wed, 29 Apr 2026 15:48:06 +0800 Subject: [PATCH 9/9] feat: modify test.sh and dont copy test.sh --- frameworks/ComfyUI/0.18.5/Dockerfile | 1 - frameworks/ComfyUI/0.18.5/test.sh | 21 ++++++++++++++++++++- frameworks/ComfyUI/0.19.0/Dockerfile | 1 - frameworks/ComfyUI/0.19.0/test.sh | 21 ++++++++++++++++++++- frameworks/ComfyUI/0.19.1/Dockerfile | 1 - frameworks/ComfyUI/0.19.1/test.sh | 21 ++++++++++++++++++++- frameworks/ComfyUI/0.19.2/Dockerfile | 1 - frameworks/ComfyUI/0.19.2/test.sh | 21 ++++++++++++++++++++- frameworks/ComfyUI/0.19.3/Dockerfile | 1 - frameworks/ComfyUI/0.19.3/test.sh | 21 ++++++++++++++++++++- frameworks/ComfyUI/0.19.4/Dockerfile | 1 - frameworks/ComfyUI/0.19.4/test.sh | 21 ++++++++++++++++++++- 12 files changed, 120 insertions(+), 12 deletions(-) diff --git a/frameworks/ComfyUI/0.18.5/Dockerfile b/frameworks/ComfyUI/0.18.5/Dockerfile index 0b5214c..313adf2 100644 --- a/frameworks/ComfyUI/0.18.5/Dockerfile +++ b/frameworks/ComfyUI/0.18.5/Dockerfile @@ -28,7 +28,6 @@ RUN wget -q -O /tmp/comfyui.zip \ rm -f /tmp/comfyui.zip /tmp/requirements.txt WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.18.5/test.sh b/frameworks/ComfyUI/0.18.5/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.18.5/test.sh +++ b/frameworks/ComfyUI/0.18.5/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.0/Dockerfile b/frameworks/ComfyUI/0.19.0/Dockerfile index b1a5662..b89ff4a 100644 --- a/frameworks/ComfyUI/0.19.0/Dockerfile +++ b/frameworks/ComfyUI/0.19.0/Dockerfile @@ -28,7 +28,6 @@ RUN wget -q -O /tmp/comfyui.zip \ rm -f /tmp/comfyui.zip /tmp/requirements.txt WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.0/test.sh b/frameworks/ComfyUI/0.19.0/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.19.0/test.sh +++ b/frameworks/ComfyUI/0.19.0/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.1/Dockerfile b/frameworks/ComfyUI/0.19.1/Dockerfile index f219101..f32fb1a 100644 --- a/frameworks/ComfyUI/0.19.1/Dockerfile +++ b/frameworks/ComfyUI/0.19.1/Dockerfile @@ -28,7 +28,6 @@ RUN wget -q -O /tmp/comfyui.zip \ rm -f /tmp/comfyui.zip /tmp/requirements.txt WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.1/test.sh b/frameworks/ComfyUI/0.19.1/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.19.1/test.sh +++ b/frameworks/ComfyUI/0.19.1/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.2/Dockerfile b/frameworks/ComfyUI/0.19.2/Dockerfile index e96d881..306d88e 100644 --- a/frameworks/ComfyUI/0.19.2/Dockerfile +++ b/frameworks/ComfyUI/0.19.2/Dockerfile @@ -28,7 +28,6 @@ RUN wget -q -O /tmp/comfyui.zip \ rm -f /tmp/comfyui.zip /tmp/requirements.txt WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.2/test.sh b/frameworks/ComfyUI/0.19.2/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.19.2/test.sh +++ b/frameworks/ComfyUI/0.19.2/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.3/Dockerfile b/frameworks/ComfyUI/0.19.3/Dockerfile index 469d9ca..c44dd27 100644 --- a/frameworks/ComfyUI/0.19.3/Dockerfile +++ b/frameworks/ComfyUI/0.19.3/Dockerfile @@ -28,7 +28,6 @@ RUN wget -q -O /tmp/comfyui.zip \ rm -f /tmp/comfyui.zip /tmp/requirements.txt WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.3/test.sh b/frameworks/ComfyUI/0.19.3/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.19.3/test.sh +++ b/frameworks/ComfyUI/0.19.3/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.4/Dockerfile b/frameworks/ComfyUI/0.19.4/Dockerfile index e47f264..88ccf8e 100644 --- a/frameworks/ComfyUI/0.19.4/Dockerfile +++ b/frameworks/ComfyUI/0.19.4/Dockerfile @@ -29,6 +29,5 @@ RUN wget -q -O /tmp/comfyui.zip \ RUN rm -rf /root/.cache/pip WORKDIR /opt/ComfyUI -COPY test.sh /opt/ComfyUI EXPOSE 8188 CMD ["python3","main.py","--listen","0.0.0.0"] \ No newline at end of file diff --git a/frameworks/ComfyUI/0.19.4/test.sh b/frameworks/ComfyUI/0.19.4/test.sh index d37ea7d..858dba6 100644 --- a/frameworks/ComfyUI/0.19.4/test.sh +++ b/frameworks/ComfyUI/0.19.4/test.sh @@ -1,4 +1,23 @@ #!/bin/bash + +set -e + +IMAGE="${1:-}" + +if [ -z "${IMAGE}" ]; then + echo "用法: bash test.sh <镜像名:标签>" + exit 1 +fi + +if ! command -v docker >/dev/null 2>&1; then + echo "✗ 未找到 docker" + exit 1 +fi + +echo "=== ComfyUI 容器基础功能测试 ===" +echo "测试镜像: ${IMAGE}" + +docker run --rm --gpus all "${IMAGE}" /bin/bash -lc ' set -e export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH @@ -228,6 +247,6 @@ if missing: raise RuntimeError("缺少关键节点: " + ", ".join(missing)) PY pass - +' echo echo "=== 所有测试通过 ===" \ No newline at end of file -- Gitee