From ad71259ba52168ad40507ff70e745e1e925b0071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E9=BE=99=E6=8D=B7?= <7803802+sh_lelouch@user.noreply.gitee.com> Date: Wed, 2 Sep 2026 09:54:03 +0800 Subject: [PATCH 1/3] feat: add A-card operations frontend and backend foundation --- .env.example | 19 + CLAUDE.md | 6 +- backend/Dockerfile | 2 + backend/README.md | 39 +- backend/pyproject.toml | 1 + .../src/backend/api/operations/__init__.py | 10 + backend/src/backend/api/operations/_deps.py | 139 + backend/src/backend/api/operations/health.py | 71 + backend/src/backend/api/operations/models.py | 105 + backend/src/backend/main.py | 37 + .../backend/schemas/operations/__init__.py | 15 + .../src/backend/schemas/operations/models.py | 37 + .../backend/schemas/operations/monitoring.py | 18 + .../backend/services/operations/__init__.py | 17 + .../src/backend/services/operations/cache.py | 112 + .../backend/services/operations/mock_data.py | 105 + .../services/operations/model_queries.py | 339 ++ .../backend/services/operations/streams.py | 126 + backend/tests/test_operations_queries.py | 233 ++ backend/tests/test_operations_redis.py | 110 + common/src/common/config.py | 55 + common/src/common/db/__init__.py | 2 + .../common/db/models/operations/__init__.py | 31 + .../src/common/db/models/operations/base.py | 40 + .../common/db/models/operations/governance.py | 155 + .../src/common/db/models/operations/models.py | 114 + .../common/db/models/operations/monitoring.py | 182 + .../common/db/models/operations/reference.py | 64 + common/src/common/db/session.py | 16 + docker-compose.yml | 9 + ...模型运维模块-后端架构与数据库设计-V0.2.md | 308 ++ .../A卡模型运维模块-数据域关系-V0.2.png | Bin 0 -> 445855 bytes .../A卡模型运维模块-数据域关系-V0.2.svg | 331 ++ .../A卡模型运维模块-数据域关系-V0.2.yaml | 71 + .../A卡模型运维模块-系统架构-V0.2.png | Bin 0 -> 368784 bytes .../A卡模型运维模块-系统架构-V0.2.svg | 204 + .../A卡模型运维模块-系统架构-V0.2.yaml | 55 + docs/architecture/CHANGELOG.md | 19 + docs/architecture/render_diagrams.py | 148 + ...模型运维模块-后端架构与数据库设计-V0.1.md | 291 ++ .../历史/A卡模型运维模块-数据域关系-V0.1.png | Bin 0 -> 447963 bytes .../历史/A卡模型运维模块-数据域关系-V0.1.svg | 249 ++ .../历史/A卡模型运维模块-数据域关系-V0.1.yaml | 56 + .../历史/A卡模型运维模块-系统架构-V0.1.png | Bin 0 -> 306966 bytes .../历史/A卡模型运维模块-系统架构-V0.1.svg | 206 + .../历史/A卡模型运维模块-系统架构-V0.1.yaml | 52 + .../A卡原始监控指标-模型方表评估清单-V0.1.md | 154 + .../A卡运维平台-功能页面表关系-V0.1.md | 123 + .../A卡运维数据库-DBA授权申请-V0.1.md | 46 + docs/database/CHANGELOG.md | 26 + docs/database/build_full_schema.py | 158 + .../model_operations-V0.1/00_database.sql | 9 + .../10_reference_and_models.sql | 127 + .../20_monitoring_source.sql | 160 + .../30_governance_and_reviews.sql | 177 + .../40_reports_and_prompts.sql | 172 + .../50_workflows_documents_usage.sql | 142 + .../model_operations-V0.1/60_seed.sql | 21 + docs/database/model_operations-V0.1/README.md | 55 + .../model_operations-V0.1/validate_schema.py | 70 + .../model_operations-完整建表-V0.1.sql | 40 + .../model_platform-schema-20260831.sql | 544 +++ frontend/.env.example | 6 + frontend/README.md | 23 + frontend/app/app.css | 51 +- frontend/app/components/common/Topbar.tsx | 8 +- frontend/app/components/ui/table.tsx | 8 +- .../features/operations/BankOverviewPage.tsx | 162 + .../features/operations/CategoryCardRail.tsx | 87 + .../operations/DeployedModelsPage.tsx | 213 + .../features/operations/KnowledgeBasePage.tsx | 75 + .../features/operations/ModelOverviewPage.tsx | 167 + .../operations/MonitoringDetailPage.tsx | 337 ++ .../operations/MonitoringOverviewPage.tsx | 231 ++ .../operations/OperationsDataContext.tsx | 148 + .../app/features/operations/OperationsUi.tsx | 382 ++ .../operations/OperationsWorkbenchPage.tsx | 225 ++ .../operations/PromptManagementPage.tsx | 65 + .../app/features/operations/ReportPage.tsx | 176 + .../features/operations/ReportSummaryPage.tsx | 142 + .../operations/RuleManagementPage.tsx | 134 + .../features/operations/SystemConfigPage.tsx | 92 + .../features/operations/UsageStatsPage.tsx | 69 + .../app/features/operations/WorkflowPage.tsx | 176 + .../app/features/operations/governanceData.ts | 101 + frontend/app/features/operations/modelData.ts | 385 ++ .../app/features/operations/operationsRole.ts | 85 + .../app/features/operations/reportData.ts | 59 + .../app/features/operations/reportStore.ts | 19 + .../app/features/operations/workflowData.ts | 144 + .../platform/hooks/useEditSessionLifecycle.ts | 2 +- frontend/app/hooks/use-persistent-state.ts | 24 + frontend/app/lib/exportExcel.ts | 35 + frontend/app/routes.ts | 16 + frontend/app/routes/operations.tsx | 41 + frontend/app/routes/platform.navigation.tsx | 91 +- frontend/app/routes/platform.tsx | 88 +- frontend/app/services/operationsApi.ts | 199 + frontend/package.json | 1 + frontend/pnpm-lock.yaml | 53 +- frontend/vite.config.ts | 49 +- operations-alembic.ini | 41 + operations_migrations/README.md | 20 + operations_migrations/env.py | 93 + operations_migrations/script.py.mako | 27 + uv.lock | 3484 +++++++++-------- 106 files changed, 12461 insertions(+), 1796 deletions(-) create mode 100644 backend/src/backend/api/operations/__init__.py create mode 100644 backend/src/backend/api/operations/_deps.py create mode 100644 backend/src/backend/api/operations/health.py create mode 100644 backend/src/backend/api/operations/models.py create mode 100644 backend/src/backend/schemas/operations/__init__.py create mode 100644 backend/src/backend/schemas/operations/models.py create mode 100644 backend/src/backend/schemas/operations/monitoring.py create mode 100644 backend/src/backend/services/operations/__init__.py create mode 100644 backend/src/backend/services/operations/cache.py create mode 100644 backend/src/backend/services/operations/mock_data.py create mode 100644 backend/src/backend/services/operations/model_queries.py create mode 100644 backend/src/backend/services/operations/streams.py create mode 100644 backend/tests/test_operations_queries.py create mode 100644 backend/tests/test_operations_redis.py create mode 100644 common/src/common/db/models/operations/__init__.py create mode 100644 common/src/common/db/models/operations/base.py create mode 100644 common/src/common/db/models/operations/governance.py create mode 100644 common/src/common/db/models/operations/models.py create mode 100644 common/src/common/db/models/operations/monitoring.py create mode 100644 common/src/common/db/models/operations/reference.py create mode 100644 docs/architecture/A卡模型运维模块-后端架构与数据库设计-V0.2.md create mode 100644 docs/architecture/A卡模型运维模块-数据域关系-V0.2.png create mode 100644 docs/architecture/A卡模型运维模块-数据域关系-V0.2.svg create mode 100644 docs/architecture/A卡模型运维模块-数据域关系-V0.2.yaml create mode 100644 docs/architecture/A卡模型运维模块-系统架构-V0.2.png create mode 100644 docs/architecture/A卡模型运维模块-系统架构-V0.2.svg create mode 100644 docs/architecture/A卡模型运维模块-系统架构-V0.2.yaml create mode 100644 docs/architecture/CHANGELOG.md create mode 100644 docs/architecture/render_diagrams.py create mode 100644 docs/architecture/历史/A卡模型运维模块-后端架构与数据库设计-V0.1.md create mode 100644 docs/architecture/历史/A卡模型运维模块-数据域关系-V0.1.png create mode 100644 docs/architecture/历史/A卡模型运维模块-数据域关系-V0.1.svg create mode 100644 docs/architecture/历史/A卡模型运维模块-数据域关系-V0.1.yaml create mode 100644 docs/architecture/历史/A卡模型运维模块-系统架构-V0.1.png create mode 100644 docs/architecture/历史/A卡模型运维模块-系统架构-V0.1.svg create mode 100644 docs/architecture/历史/A卡模型运维模块-系统架构-V0.1.yaml create mode 100644 docs/database/A卡原始监控指标-模型方表评估清单-V0.1.md create mode 100644 docs/database/A卡运维平台-功能页面表关系-V0.1.md create mode 100644 docs/database/A卡运维数据库-DBA授权申请-V0.1.md create mode 100644 docs/database/CHANGELOG.md create mode 100644 docs/database/build_full_schema.py create mode 100644 docs/database/model_operations-V0.1/00_database.sql create mode 100644 docs/database/model_operations-V0.1/10_reference_and_models.sql create mode 100644 docs/database/model_operations-V0.1/20_monitoring_source.sql create mode 100644 docs/database/model_operations-V0.1/30_governance_and_reviews.sql create mode 100644 docs/database/model_operations-V0.1/40_reports_and_prompts.sql create mode 100644 docs/database/model_operations-V0.1/50_workflows_documents_usage.sql create mode 100644 docs/database/model_operations-V0.1/60_seed.sql create mode 100644 docs/database/model_operations-V0.1/README.md create mode 100644 docs/database/model_operations-V0.1/validate_schema.py create mode 100644 docs/database/model_operations-完整建表-V0.1.sql create mode 100644 docs/database/reference/model_platform-schema-20260831.sql create mode 100644 frontend/.env.example create mode 100644 frontend/app/features/operations/BankOverviewPage.tsx create mode 100644 frontend/app/features/operations/CategoryCardRail.tsx create mode 100644 frontend/app/features/operations/DeployedModelsPage.tsx create mode 100644 frontend/app/features/operations/KnowledgeBasePage.tsx create mode 100644 frontend/app/features/operations/ModelOverviewPage.tsx create mode 100644 frontend/app/features/operations/MonitoringDetailPage.tsx create mode 100644 frontend/app/features/operations/MonitoringOverviewPage.tsx create mode 100644 frontend/app/features/operations/OperationsDataContext.tsx create mode 100644 frontend/app/features/operations/OperationsUi.tsx create mode 100644 frontend/app/features/operations/OperationsWorkbenchPage.tsx create mode 100644 frontend/app/features/operations/PromptManagementPage.tsx create mode 100644 frontend/app/features/operations/ReportPage.tsx create mode 100644 frontend/app/features/operations/ReportSummaryPage.tsx create mode 100644 frontend/app/features/operations/RuleManagementPage.tsx create mode 100644 frontend/app/features/operations/SystemConfigPage.tsx create mode 100644 frontend/app/features/operations/UsageStatsPage.tsx create mode 100644 frontend/app/features/operations/WorkflowPage.tsx create mode 100644 frontend/app/features/operations/governanceData.ts create mode 100644 frontend/app/features/operations/modelData.ts create mode 100644 frontend/app/features/operations/operationsRole.ts create mode 100644 frontend/app/features/operations/reportData.ts create mode 100644 frontend/app/features/operations/reportStore.ts create mode 100644 frontend/app/features/operations/workflowData.ts create mode 100644 frontend/app/hooks/use-persistent-state.ts create mode 100644 frontend/app/lib/exportExcel.ts create mode 100644 frontend/app/routes/operations.tsx create mode 100644 frontend/app/services/operationsApi.ts create mode 100644 operations-alembic.ini create mode 100644 operations_migrations/README.md create mode 100644 operations_migrations/env.py create mode 100644 operations_migrations/script.py.mako diff --git a/.env.example b/.env.example index 7ea6fae..165660e 100644 --- a/.env.example +++ b/.env.example @@ -13,8 +13,27 @@ MYSQL_USER=root MYSQL_PASSWORD=change-me MYSQL_DATABASE=model_platform DATABASE_URL=mysql+asyncmy://root:change-me@127.0.0.1:3306/model_platform?charset=utf8mb4 +# 运维模块独立库;省略时后端自动复用 DATABASE_URL 的账号和主机, +# 仅将数据库名切换为 model_operations。 +OPERATIONS_DATABASE_URL=mysql+asyncmy://root:change-me@127.0.0.1:3306/model_operations?charset=utf8mb4 +# 运维模块访问另外两库时使用专用只读 Session;生产建议配置 DBA +# 创建的只读账号,不要复用 root。 +PLATFORM_READ_DATABASE_URL=mysql+asyncmy://readonly:change-me@127.0.0.1:3306/model_platform?charset=utf8mb4 +DEPLOY_DATABASE_URL=mysql+asyncmy://readonly:change-me@127.0.0.1:3306/model_deploy?charset=utf8mb4 + +# Redis is an optional accelerator: cache + Streams only. MySQL Outbox remains +# the reliable source of truth when Redis is unavailable. +REDIS_URL=redis://127.0.0.1:6379/0 +OPERATIONS_CACHE_TTL_SECONDS=300 +OPERATIONS_REDIS_PREFIX=model-platform:operations +OPERATIONS_EVENT_STREAM=model-platform:operations:events +OPERATIONS_EVENT_STREAM_MAXLEN=10000 +OPERATIONS_DATA_MODE=database JWT_SECRET=change-this-development-secret +# AES-256 configuration decryption key used only when a value is wrapped in ENC(...). +# Replace before deployment; keep the same value across all four services. +APP_CONFIG_SECRET_KEY=change-this-config-secret-key # Force the Secure flag on the session cookie even when the inbound request # scheme is plain HTTP. Enable behind a TLS-terminating reverse proxy that diff --git a/CLAUDE.md b/CLAUDE.md index d106ebb..2b5069c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,7 +10,9 @@ - `migrations` — Alembic schema + seed migrations. - `nginx` — static frontend, `/api/` proxy, authenticated `/jupyter/` proxy. -Redis and the former separate Storage API container are intentionally removed. +Redis is reintroduced only for the A-card operations query cache and event +Streams. MySQL Outbox remains authoritative, and Redis outages must not block +core APIs. The former separate Storage API container remains removed. ## Commands @@ -135,4 +137,4 @@ Lessons from splitting `frontend/app/features/schedules/state/schedulesStore.ts` - **前端 — 页面 vs 路由 wrapper**:Page 组件持有 useState,route 文件只做 `` 重挂载,二者不要混在一起。 - **拆分前先列调用面**(`grep "from "`),任何外部 import 路径必须仍然可用 — 用 re-export 或 shim 兜底,不要让调用方被迫改。 - **拆分后**每个新文件 ≤ 500 行是硬约束,验证方式:`wc -l ` 或 CI 脚本。 -- 拆分本身是**纯结构调整**,endpoint 行为 / URL / 响应 schema 零变化 — 不要顺手"清理"。 \ No newline at end of file +- 拆分本身是**纯结构调整**,endpoint 行为 / URL / 响应 schema 零变化 — 不要顺手"清理"。 diff --git a/backend/Dockerfile b/backend/Dockerfile index 85b5977..7299145 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -14,6 +14,8 @@ COPY common ./common COPY backend ./backend COPY alembic.ini ./ COPY migrations ./migrations +COPY operations-alembic.ini ./ +COPY operations_migrations ./operations_migrations RUN uv sync --frozen --no-dev --package backend diff --git a/backend/README.md b/backend/README.md index 5e943a5..f75347c 100644 --- a/backend/README.md +++ b/backend/README.md @@ -5,4 +5,41 @@ 模块合并,外部 REST 契约保持不变。 底层走的是 `common.storage.AsyncStorageBackend` 抽象,按 -`settings.storage_backend` 切换 s3 / local 两种实现。 \ No newline at end of file +`settings.storage_backend` 切换 s3 / local 两种实现。 + +## A 卡模型运维模块 + +运维能力作为同一 FastAPI 进程内的独立 bounded context 接入: + +- 平台库继续使用 `DATABASE_URL`,负责登录、角色和工作空间校验。 +- 运维库使用 `OPERATIONS_DATABASE_URL`;未配置时自动复用平台库连接信息, + 仅将库名切换为 `model_operations`。 +- `PLATFORM_READ_DATABASE_URL` 与 `DEPLOY_DATABASE_URL` 使用独立只读 + Session;MySQL 事务会显式执行 `SET TRANSACTION READ ONLY`。 +- 两套 SQLAlchemy engine/session factory 完全分离,运维路由只读写 `ops_*`。 +- 当前已落地 P0 ORM,以及模型列表、模型详情、指定月份监控结果三条接口。 +- `OPERATIONS_DATA_MODE=mock` 时仍走真实鉴权、Workspace校验和API响应, + 仅将业务查询替换为后端Mock数据;切换为 `database` 后读取运维库。 +- Redis作为可选加速层接入:缓存聚合查询并承载通知 Streams;MySQL + Outbox仍是可靠事实源,Redis不可用时主接口继续运行。 + +本地启动: + +```bash +uv run --package backend --env-file .env uvicorn backend.main:app \ + --host 0.0.0.0 --port 8010 --reload +``` + +运维模块探针: + +```text +GET /api/v1/operations/health +``` + +真实业务接口均需登录 Cookie 和 `workspace_id` 查询参数: + +```text +GET /api/v1/operations/models?workspace_id= +GET /api/v1/operations/models/{model_id}?workspace_id= +GET /api/v1/operations/models/{model_id}/monitor-results?month=YYYY-MM&workspace_id= +``` diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 7ae9d3a..482c432 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -15,6 +15,7 @@ dependencies = [ "bcrypt>=4.0,<4.1", "loguru>=0.7.2", "aiofiles>=25.1.0", + "redis[hiredis]>=6.2,<7", ] [tool.uv.sources] diff --git a/backend/src/backend/api/operations/__init__.py b/backend/src/backend/api/operations/__init__.py new file mode 100644 index 0000000..b152e3f --- /dev/null +++ b/backend/src/backend/api/operations/__init__.py @@ -0,0 +1,10 @@ +from fastapi import APIRouter + +from backend.api.operations.health import router as health_router +from backend.api.operations.models import router as models_router + +router = APIRouter(prefix="/api/v1/operations", tags=["operations"]) +router.include_router(health_router) +router.include_router(models_router) + +__all__ = ["router"] diff --git a/backend/src/backend/api/operations/_deps.py b/backend/src/backend/api/operations/_deps.py new file mode 100644 index 0000000..64f42cb --- /dev/null +++ b/backend/src/backend/api/operations/_deps.py @@ -0,0 +1,139 @@ +from __future__ import annotations + +from collections.abc import AsyncIterator +from dataclasses import dataclass +from typing import Literal + +from common.config import settings +from common.db import readonly_session_scope, session_scope +from common.db.models import Roles +from fastapi import Depends, HTTPException, Request, status +from sqlalchemy.ext.asyncio import AsyncSession + +from backend.api.dependencies import RequestContext, request_context +from backend.services.operations import OperationsCache, OperationsEventStream + +OperationsRole = Literal["admin", "model_team", "business_team"] + +_ROLE_ALIASES: dict[str, OperationsRole] = { + "admin": "admin", + "administrator": "admin", + "developer": "model_team", + "model_team": "model_team", + "model": "model_team", + "business": "business_team", + "business_team": "business_team", + "biz": "business_team", +} + + +@dataclass(frozen=True) +class OperationsContext: + request_id: str + user_id: str + workspace_id: str + role: OperationsRole + + @property + def is_admin(self) -> bool: + return self.role == "admin" + + +async def operations_database_session( + request: Request, +) -> AsyncIterator[AsyncSession]: + factory = getattr(request.app.state, "operations_session_factory", None) + if factory is None: + raise HTTPException( + status.HTTP_503_SERVICE_UNAVAILABLE, + {"code": "OPERATIONS_DATABASE_UNAVAILABLE", "message": "运维数据库未初始化"}, + ) + async with session_scope(factory) as session: + yield session + + +async def operations_platform_database_session( + request: Request, +) -> AsyncIterator[AsyncSession]: + factory = getattr( + request.app.state, + "operations_platform_read_session_factory", + None, + ) + if factory is None: + raise HTTPException( + status.HTTP_503_SERVICE_UNAVAILABLE, + {"code": "PLATFORM_DATABASE_UNAVAILABLE", "message": "平台只读库未初始化"}, + ) + async with readonly_session_scope(factory) as session: + yield session + + +async def deploy_database_session( + request: Request, +) -> AsyncIterator[AsyncSession]: + factory = getattr(request.app.state, "deploy_read_session_factory", None) + if factory is None: + raise HTTPException( + status.HTTP_503_SERVICE_UNAVAILABLE, + {"code": "DEPLOY_DATABASE_UNAVAILABLE", "message": "部署只读库未初始化"}, + ) + async with readonly_session_scope(factory) as session: + yield session + + +def operations_cache(request: Request) -> OperationsCache: + return OperationsCache( + getattr(request.app.state, "operations_redis", None), + prefix=settings.operations_redis_prefix, + default_ttl_seconds=settings.operations_cache_ttl_seconds, + ) + + +def operations_event_stream(request: Request) -> OperationsEventStream: + return OperationsEventStream( + getattr(request.app.state, "operations_redis", None), + stream_name=settings.operations_event_stream, + maxlen=settings.operations_event_stream_maxlen, + ) + + +async def operations_context( + context: RequestContext = Depends(request_context), + platform_session: AsyncSession = Depends(operations_platform_database_session), +) -> OperationsContext: + """Reuse login/workspace checks and normalize the three operations roles.""" + raw_role = context.role.role_code + if context.is_system_admin: + raw_role = "admin" + elif context.user.platform_role_id: + platform_role = await platform_session.get(Roles, context.user.platform_role_id) + if platform_role is not None: + raw_role = platform_role.role_code + + normalized = _ROLE_ALIASES.get(raw_role) + if normalized is None: + raise HTTPException( + status.HTTP_403_FORBIDDEN, + { + "code": "OPERATIONS_ROLE_UNSUPPORTED", + "message": f"当前登录角色不支持运维模块:{raw_role}", + }, + ) + return OperationsContext( + request_id=context.request_id, + user_id=context.user.user_id, + workspace_id=context.workspace.workspace_id, + role=normalized, + ) + + +__all__ = [ + "OperationsContext", + "deploy_database_session", + "operations_cache", + "operations_context", + "operations_database_session", + "operations_event_stream", + "operations_platform_database_session", +] diff --git a/backend/src/backend/api/operations/health.py b/backend/src/backend/api/operations/health.py new file mode 100644 index 0000000..f149bda --- /dev/null +++ b/backend/src/backend/api/operations/health.py @@ -0,0 +1,71 @@ +from __future__ import annotations + +from typing import Any + +from fastapi import APIRouter, Request, Response, status +from sqlalchemy import text + +from common.db import readonly_session_scope, session_scope + +router = APIRouter() + + +@router.get("/health") +async def operations_health( + request: Request, + response: Response, +) -> dict[str, Any]: + checks: dict[str, dict[str, str]] = {} + targets = ( + ("model_operations", "operations_session_factory", False), + ("model_platform", "operations_platform_read_session_factory", True), + ("model_deploy", "deploy_read_session_factory", True), + ) + for database_name, factory_name, read_only in targets: + factory = getattr(request.app.state, factory_name, None) + if factory is None: + checks[database_name] = {"status": "error", "mode": "unavailable"} + continue + scope = readonly_session_scope if read_only else session_scope + try: + async with scope(factory) as session: + current_database = await session.scalar(text("SELECT DATABASE()")) + checks[database_name] = { + "status": "ok" if current_database == database_name else "error", + "mode": "read_only" if read_only else "read_write", + } + except Exception: + checks[database_name] = { + "status": "error", + "mode": "read_only" if read_only else "read_write", + } + ready = all(item["status"] == "ok" for item in checks.values()) + if not ready: + response.status_code = status.HTTP_503_SERVICE_UNAVAILABLE + redis_client = getattr(request.app.state, "operations_redis", None) + if redis_client is None: + redis_check = {"status": "disabled", "mode": "cache_and_streams"} + else: + try: + pong = await redis_client.ping() + redis_check = { + "status": "ok" if pong else "error", + "mode": "cache_and_streams", + } + except Exception: + redis_check = {"status": "error", "mode": "cache_and_streams"} + module_status = "ok" if ready and redis_check["status"] == "ok" else ( + "degraded" if ready else "not_ready" + ) + return { + "data": { + "status": module_status, + "module": "model_operations", + "databases": checks, + "redis": redis_check, + }, + "meta": {}, + } + + +__all__ = ["router"] diff --git a/backend/src/backend/api/operations/models.py b/backend/src/backend/api/operations/models.py new file mode 100644 index 0000000..61a720a --- /dev/null +++ b/backend/src/backend/api/operations/models.py @@ -0,0 +1,105 @@ +from __future__ import annotations + +from typing import Any + +from fastapi import APIRouter, Depends, HTTPException, Query, status +from sqlalchemy.ext.asyncio import AsyncSession + +from backend.api.operations._deps import ( + OperationsContext, + operations_context, + operations_database_session, +) +from backend.schemas.operations import ModelCategoryCode, ModelStatusLabel +from backend.services.operations import ( + get_model, + get_monthly_monitoring_result, + list_models, + parse_monitor_month, +) +from backend.services.operations.mock_data import ( + get_mock_model, + get_mock_monthly_result, + list_mock_models, +) +from common.config import settings + +router = APIRouter() + + +def _envelope(context: OperationsContext, data: Any) -> dict[str, Any]: + return {"request_id": context.request_id, "data": data, "meta": {}} + + +@router.get("/models") +async def list_operation_models( + bank: str | None = Query(default=None, max_length=150), + category: ModelCategoryCode | None = Query(default=None), + model_status: ModelStatusLabel | None = Query(default=None, alias="status"), + keyword: str | None = Query(default=None, max_length=200), + context: OperationsContext = Depends(operations_context), + session: AsyncSession = Depends(operations_database_session), +) -> dict[str, Any]: + models = list_mock_models( + bank=bank, + category=category, + status=model_status, + keyword=keyword, + ) if settings.operations_data_mode == "mock" else await list_models( + session, + context.workspace_id, + bank=bank, + category=category, + status=model_status, + keyword=keyword, + ) + return _envelope(context, models) + + +@router.get("/models/{model_id}") +async def get_operation_model( + model_id: str, + context: OperationsContext = Depends(operations_context), + session: AsyncSession = Depends(operations_database_session), +) -> dict[str, Any]: + model = get_mock_model(model_id) if settings.operations_data_mode == "mock" else await get_model(session, context.workspace_id, model_id) + if model is None: + raise HTTPException( + status.HTTP_404_NOT_FOUND, + {"code": "MODEL_NOT_FOUND", "message": "模型不存在"}, + ) + return _envelope(context, model) + + +@router.get("/models/{model_id}/monitor-results") +async def get_operation_model_monitor_result( + model_id: str, + month: str = Query(..., pattern=r"^\d{4}-\d{2}$"), + context: OperationsContext = Depends(operations_context), + session: AsyncSession = Depends(operations_database_session), +) -> dict[str, Any]: + try: + monitor_month = parse_monitor_month(month) + except ValueError as exc: + raise HTTPException( + status.HTTP_422_UNPROCESSABLE_ENTITY, + {"code": "INVALID_MONITOR_MONTH", "message": str(exc)}, + ) from exc + result = get_mock_monthly_result(model_id, month) if settings.operations_data_mode == "mock" else await get_monthly_monitoring_result( + session, + context.workspace_id, + model_id, + monitor_month, + ) + if result is None: + raise HTTPException( + status.HTTP_404_NOT_FOUND, + { + "code": "MONITOR_RESULT_NOT_FOUND", + "message": "该月份暂无监控结果", + }, + ) + return _envelope(context, result) + + +__all__ = ["router"] diff --git a/backend/src/backend/main.py b/backend/src/backend/main.py index cd8eab5..9b45c2b 100644 --- a/backend/src/backend/main.py +++ b/backend/src/backend/main.py @@ -32,10 +32,12 @@ from common.storage import ( from fastapi import Request from fastapi.responses import JSONResponse from loguru import logger +from redis.asyncio import Redis from backend.api.admin import router as admin_router from backend.api.auth import router as auth_router from backend.api.jupyter import router as jupyter_router +from backend.api.operations import router as operations_router from backend.api.platform import router as platform_router from backend.api.resources import router as resources_router from backend.api.schedules.runs import router as schedule_runs_router @@ -65,6 +67,35 @@ async def lifespan(app: Any) -> AsyncIterator[None]: # 取得它们;这样每个请求不会重复创建数据库连接或 HTTP 客户端。 engine = create_database_engine(settings.database_url) app.state.session_factory = create_session_factory(engine) + operations_database_url = settings.operations_database_url + if not operations_database_url: + raise RuntimeError("OPERATIONS_DATABASE_URL could not be resolved") + operations_engine = create_database_engine(operations_database_url) + app.state.operations_session_factory = create_session_factory(operations_engine) + platform_read_database_url = settings.platform_read_database_url + deploy_database_url = settings.deploy_database_url + if not platform_read_database_url or not deploy_database_url: + raise RuntimeError("operations read-only database URLs could not be resolved") + platform_read_engine = create_database_engine(platform_read_database_url) + deploy_read_engine = create_database_engine(deploy_database_url) + app.state.operations_platform_read_session_factory = create_session_factory( + platform_read_engine + ) + app.state.deploy_read_session_factory = create_session_factory(deploy_read_engine) + + # Redis only accelerates operations reads and event delivery. It is kept + # optional so a cache outage never prevents MySQL-backed APIs from booting. + operations_redis: Redis | None = None + if settings.redis_url: + operations_redis = Redis.from_url( + settings.redis_url, + decode_responses=True, + socket_connect_timeout=settings.redis_socket_connect_timeout_seconds, + socket_timeout=settings.redis_socket_timeout_seconds, + health_check_interval=30, + retry_on_timeout=True, + ) + app.state.operations_redis = operations_redis # 存储接口与业务路由运行在同一个 backend 进程中,因此直接复用存储对象, # 不需要再通过 HTTP 调用自己。字典键使用真实桶名,便于上传会话和存储 @@ -94,8 +125,13 @@ async def lifespan(app: Any) -> AsyncIterator[None]: try: yield finally: + if operations_redis is not None: + await operations_redis.aclose() await rclone_http_client.aclose() await runtime_http_client.aclose() + await deploy_read_engine.dispose() + await platform_read_engine.dispose() + await operations_engine.dispose() await engine.dispose() @@ -112,6 +148,7 @@ app.include_router(schedules_router) app.include_router(scripts_router) app.include_router(admin_router) app.include_router(platform_router) +app.include_router(operations_router) # 内部存储接口额外加上 /internal 前缀,供后端服务间调用,不作为普通前端 API。 app.include_router(storage_api_router, prefix="/internal") diff --git a/backend/src/backend/schemas/operations/__init__.py b/backend/src/backend/schemas/operations/__init__.py new file mode 100644 index 0000000..aed7282 --- /dev/null +++ b/backend/src/backend/schemas/operations/__init__.py @@ -0,0 +1,15 @@ +from backend.schemas.operations.models import ( + ModelCategoryCode, + ModelStatusLabel, + OperationsModelDto, + RankingStatusLabel, +) +from backend.schemas.operations.monitoring import MonthlyMonitoringResultDto + +__all__ = [ + "ModelCategoryCode", + "ModelStatusLabel", + "MonthlyMonitoringResultDto", + "OperationsModelDto", + "RankingStatusLabel", +] diff --git a/backend/src/backend/schemas/operations/models.py b/backend/src/backend/schemas/operations/models.py new file mode 100644 index 0000000..a9f33c4 --- /dev/null +++ b/backend/src/backend/schemas/operations/models.py @@ -0,0 +1,37 @@ +from __future__ import annotations + +from typing import Literal + +from common.schemas import StrictModel + +ModelCategoryCode = Literal["std", "bai", "big", "afd"] +ModelStatusLabel = Literal["正常", "陪跑", "陪跑结束", "下线"] +RankingStatusLabel = Literal["相符", "不符", "—"] + + +class OperationsModelDto(StrictModel): + model_instance_id: str + bank_name: str + model_category: ModelCategoryCode + model_name: str + model_id: str + model_version: str + model_status: ModelStatusLabel + last_iteration_date: str + ranking_result: RankingStatusLabel + ks: float + psi: float + ks_mom_drop: float + secondary_hits_6m: int + is_wuji_bank: bool + last_processed_at: str | None + previous_advice: str + common_model_name: str | None + + +__all__ = [ + "ModelCategoryCode", + "ModelStatusLabel", + "OperationsModelDto", + "RankingStatusLabel", +] diff --git a/backend/src/backend/schemas/operations/monitoring.py b/backend/src/backend/schemas/operations/monitoring.py new file mode 100644 index 0000000..5cb5e5e --- /dev/null +++ b/backend/src/backend/schemas/operations/monitoring.py @@ -0,0 +1,18 @@ +from __future__ import annotations + +from common.schemas import StrictModel + +from backend.schemas.operations.models import RankingStatusLabel + + +class MonthlyMonitoringResultDto(StrictModel): + model_instance_id: str + monitor_month: str + ranking_result: RankingStatusLabel + ks: float + psi: float + ks_mom_drop: float + secondary_hits_6m: int + + +__all__ = ["MonthlyMonitoringResultDto"] diff --git a/backend/src/backend/services/operations/__init__.py b/backend/src/backend/services/operations/__init__.py new file mode 100644 index 0000000..e5338f6 --- /dev/null +++ b/backend/src/backend/services/operations/__init__.py @@ -0,0 +1,17 @@ +from backend.services.operations.cache import OperationsCache +from backend.services.operations.model_queries import ( + get_model, + get_monthly_monitoring_result, + list_models, + parse_monitor_month, +) +from backend.services.operations.streams import OperationsEventStream + +__all__ = [ + "OperationsCache", + "OperationsEventStream", + "get_model", + "get_monthly_monitoring_result", + "list_models", + "parse_monitor_month", +] diff --git a/backend/src/backend/services/operations/cache.py b/backend/src/backend/services/operations/cache.py new file mode 100644 index 0000000..33296a0 --- /dev/null +++ b/backend/src/backend/services/operations/cache.py @@ -0,0 +1,112 @@ +from __future__ import annotations + +import hashlib +import json +from collections.abc import Mapping +from typing import Any + +from loguru import logger +from redis.asyncio import Redis +from redis.exceptions import RedisError + + +class OperationsCache: + """Best-effort JSON cache; every failure degrades to a cache miss.""" + + def __init__( + self, + client: Redis | None, + *, + prefix: str, + default_ttl_seconds: int, + ) -> None: + self._client = client + self._prefix = prefix.rstrip(":") + self._default_ttl_seconds = default_ttl_seconds + + def build_key( + self, + workspace_id: str, + resource: str, + params: Mapping[str, Any] | None = None, + ) -> str: + canonical = json.dumps( + dict(params or {}), + ensure_ascii=False, + sort_keys=True, + separators=(",", ":"), + default=str, + ) + digest = hashlib.sha256(canonical.encode("utf-8")).hexdigest()[:20] + safe_resource = resource.strip(":").replace(" ", "-") + return f"{self._prefix}:cache:{workspace_id}:{safe_resource}:{digest}" + + async def get_json(self, key: str) -> Any | None: + if self._client is None: + return None + try: + value = await self._client.get(key) + return json.loads(value) if value is not None else None + except (RedisError, ValueError, TypeError) as exc: + logger.warning("operations cache get failed for {key}: {error}", key=key, error=exc) + return None + + async def set_json( + self, + key: str, + value: Any, + *, + ttl_seconds: int | None = None, + ) -> bool: + if self._client is None: + return False + try: + payload = json.dumps( + value, + ensure_ascii=False, + separators=(",", ":"), + default=str, + ) + await self._client.set( + key, + payload, + ex=ttl_seconds or self._default_ttl_seconds, + ) + return True + except (RedisError, TypeError, ValueError) as exc: + logger.warning("operations cache set failed for {key}: {error}", key=key, error=exc) + return False + + async def delete(self, *keys: str) -> int: + if self._client is None or not keys: + return 0 + try: + return int(await self._client.unlink(*keys)) + except RedisError as exc: + logger.warning("operations cache delete failed: {error}", error=exc) + return 0 + + async def invalidate_resource(self, workspace_id: str, resource: str) -> int: + if self._client is None: + return 0 + pattern = ( + f"{self._prefix}:cache:{workspace_id}:" + f"{resource.strip(':').replace(' ', '-')}:*" + ) + removed = 0 + try: + batch: list[str] = [] + async for key in self._client.scan_iter(match=pattern, count=200): + batch.append(key) + if len(batch) >= 200: + removed += int(await self._client.unlink(*batch)) + batch.clear() + if batch: + removed += int(await self._client.unlink(*batch)) + return removed + except RedisError as exc: + logger.warning("operations cache invalidation failed: {error}", error=exc) + return removed + + +__all__ = ["OperationsCache"] diff --git a/backend/src/backend/services/operations/mock_data.py b/backend/src/backend/services/operations/mock_data.py new file mode 100644 index 0000000..87b2ff2 --- /dev/null +++ b/backend/src/backend/services/operations/mock_data.py @@ -0,0 +1,105 @@ +from __future__ import annotations + +import datetime + +from backend.schemas.operations import MonthlyMonitoringResultDto, OperationsModelDto + +_MODEL_SPECS = [ + ("江城银行", "std", "标准A卡", "JC-STD-001", "v2.3", "正常", "2026-06-18", "不符", 36.84, 27.40, 24.10, 3, True, "2026-06-18", "建议启动模型微调或重构评估", "标准A卡通用版 v2.3"), + ("滨海银行", "std", "标准A卡", "BH-STD-001", "v2.3", "陪跑", "2026-07-28", "相符", 44.10, 6.20, 3.40, 0, False, "2026-06-03", "维持现状,继续监控", "标准A卡通用版 v2.3"), + ("华东银行", "std", "标准A卡", "HD-STD-001", "v2.2", "正常", "2026-03-20", "相符", 43.50, 8.80, 6.10, 0, False, "2026-05-20", "维持现状,继续监控", "标准A卡通用版 v2.3"), + ("南岭银行", "std", "标准A卡", "NL-STD-001", "v1.6", "正常", "2025-08-22", "相符", 41.12, 13.60, 22.50, 1, False, "2026-06-12", "建议重点关注 PSI 与 KS 环比变化", "标准A卡通用版 v2.3"), + ("云岭银行", "std", "标准A卡", "YL-STD-001", "v2.1", "正常", "2026-01-09", "相符", 45.80, 5.10, 2.20, 0, False, "2026-04-28", "维持现状,继续监控", "标准A卡通用版 v2.3"), + ("通汇银行", "std", "标准A卡", "TH-STD-001", "v2.0", "正常", "2025-11-30", "不符", 38.73, 9.40, 11.80, 4, False, "2026-05-16", "建议开展模型微调可行性评估", "标准A卡通用版 v2.3"), + ("北岸银行", "std", "标准A卡", "BA-STD-001", "v1.9", "下线", "2024-12-11", "—", 0.00, 0.00, 0.00, 0, False, "2026-03-02", "模型已下线,不再参与月度监控", None), + ("江城银行", "big", "大额A卡", "JC-BIG-001", "v1.4", "正常", "2026-07-03", "相符", 46.30, 4.80, 1.50, 0, False, "2026-06-24", "维持现状,继续监控", "大额A卡通用版 v1.4"), + ("华东银行", "big", "大额A卡", "HD-BIG-001", "v1.3", "正常", "2026-04-16", "相符", 44.90, 7.30, 4.90, 0, False, "2026-05-30", "维持现状,继续监控", "大额A卡通用版 v1.4"), + ("云岭银行", "big", "大额A卡", "YL-BIG-001", "v1.2", "陪跑结束", "2026-08-05", "相符", 42.70, 9.60, 8.20, 0, False, None, "暂无历史处理建议", "大额A卡通用版 v1.4"), + ("滨海银行", "big", "大额A卡", "BH-BIG-001", "v1.1", "正常", "2025-09-25", "相符", 39.40, 11.20, 9.70, 2, False, "2026-04-19", "建议持续跟踪,下期复核", "大额A卡通用版 v1.4"), + ("南岭银行", "bai", "白户A卡", "NL-BAI-001", "v1.5", "正常", "2026-05-22", "不符", 34.20, 18.70, 15.30, 2, True, "2026-06-09", "建议启动模型微调或重构评估", None), + ("通汇银行", "bai", "白户A卡", "TH-BAI-001", "v1.4", "正常", "2026-02-11", "相符", 37.60, 12.10, 7.40, 1, False, "2026-05-11", "建议重点关注并持续跟踪", "白户A卡通用版 v1.4"), + ("江城银行", "bai", "白户A卡", "JC-BAI-001", "v1.3", "正常", "2025-12-05", "相符", 40.80, 9.90, 5.60, 0, False, "2026-03-26", "维持现状,继续监控", "白户A卡通用版 v1.4"), + ("华东银行", "afd", "反欺诈评分", "HD-AFD-001", "v2.0", "正常", "2026-04-10", "不符", 28.60, 31.50, 18.90, 3, False, "2026-06-21", "建议启动模型微调或重构评估", None), + ("滨海银行", "afd", "反欺诈评分", "BH-AFD-001", "v1.8", "正常", "2025-10-30", "相符", 36.40, 8.10, 4.20, 3, True, "2026-05-25", "建议重点关注并持续跟踪", "反欺诈评分通用版 v1.8"), + ("云岭银行", "afd", "反欺诈评分", "YL-AFD-001", "v1.7", "正常", "2025-08-19", "相符", 38.20, 14.60, 12.70, 2, False, "2026-04-15", "建议持续跟踪,下期复核", None), +] + + +def _model(spec: tuple[object, ...]) -> OperationsModelDto: + bank, category, name, model_id, version, model_status, iteration_date, ranking, ks, psi, drop, hits, wuji, processed, advice, common = spec + return OperationsModelDto( + model_instance_id=f"mock-{model_id}", + bank_name=str(bank), + model_category=category, # type: ignore[arg-type] + model_name=str(name), + model_id=str(model_id), + model_version=str(version), + model_status=model_status, # type: ignore[arg-type] + last_iteration_date=str(iteration_date), + ranking_result=ranking, # type: ignore[arg-type] + ks=float(ks), + psi=float(psi), + ks_mom_drop=float(drop), + secondary_hits_6m=int(hits), + is_wuji_bank=bool(wuji), + last_processed_at=processed, + previous_advice=str(advice), + common_model_name=common, + ) + + +MOCK_MODELS = tuple(_model(spec) for spec in _MODEL_SPECS) +_MODEL_BY_ID = {model.model_id: model for model in MOCK_MODELS} + + +def list_mock_models( + *, + bank: str | None = None, + category: str | None = None, + status: str | None = None, + keyword: str | None = None, +) -> list[OperationsModelDto]: + term = keyword.strip().lower() if keyword else "" + return [ + model.model_copy() + for model in MOCK_MODELS + if not bank or model.bank_name == bank + if not category or model.model_category == category + if not status or model.model_status == status + if not term or term in " ".join((model.bank_name, model.model_name, model.model_id, model.model_version)).lower() + ] + + +def get_mock_model(model_id: str) -> OperationsModelDto | None: + model = _MODEL_BY_ID.get(model_id) + return model.model_copy() if model else None + + +def get_mock_monthly_result(model_id: str, month: str) -> MonthlyMonitoringResultDto | None: + model = _MODEL_BY_ID.get(model_id) + if model is None: + return None + if model.model_status == "下线" and month != "2026-02": + return None + try: + index = max(0, min(5, (datetime.date.fromisoformat(f"{month}-01").year - 2026) * 12 + datetime.date.fromisoformat(f"{month}-01").month - 2)) + except ValueError: + return None + distance = 5 - index + return MonthlyMonitoringResultDto( + model_instance_id=model.model_instance_id, + monitor_month=month, + ranking_result=model.ranking_result, + ks=round(max(0, model.ks - distance * 0.32), 2), + psi=round(max(0, model.psi - distance * 0.74), 2), + ks_mom_drop=round(max(0, model.ks_mom_drop - distance * 0.9), 2), + secondary_hits_6m=max(0, model.secondary_hits_6m - distance), + ) + + +__all__ = [ + "MOCK_MODELS", + "get_mock_model", + "get_mock_monthly_result", + "list_mock_models", +] diff --git a/backend/src/backend/services/operations/model_queries.py b/backend/src/backend/services/operations/model_queries.py new file mode 100644 index 0000000..2cf46cc --- /dev/null +++ b/backend/src/backend/services/operations/model_queries.py @@ -0,0 +1,339 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from decimal import Decimal +from typing import Any + +from common.db.models.operations import ( + OpsBank, + OpsModelInstance, + OpsModelVersion, + OpsMonitorBatch, + OpsMonitorEvaluation, + OpsMonitorResult, + OpsMonitorReview, +) +from sqlalchemy import Select, and_, func, or_, select +from sqlalchemy.ext.asyncio import AsyncSession + +from backend.schemas.operations import ( + MonthlyMonitoringResultDto, + OperationsModelDto, +) + +_MODEL_STATUS_TO_API = { + "normal": "正常", + "escort": "陪跑", + "escort_finished": "陪跑结束", + "offline": "下线", +} +_MODEL_STATUS_TO_DB = {value: key for key, value in _MODEL_STATUS_TO_API.items()} +_RANKING_TO_API = { + "matched": "相符", + "unmatched": "不符", + "not_applicable": "—", + None: "—", +} + + +def parse_monitor_month(value: str) -> datetime.date: + """Parse the API's YYYY-MM month into the DB's first-of-month date.""" + try: + parsed = datetime.datetime.strptime(value, "%Y-%m") + except ValueError as exc: + raise ValueError("month must use YYYY-MM format") from exc + return parsed.date().replace(day=1) + + +def _percent(value: Decimal | float | int | None) -> float: + return round(float(value or 0) * 100, 4) + + +def _date_text(value: datetime.date | None) -> str: + return value.isoformat() if value else "—" + + +def _datetime_date_text(value: datetime.datetime | None) -> str | None: + return value.date().isoformat() if value else None + + +def _latest_result_subquery( + workspace_id: str, + monitor_month: datetime.date | None = None, +): + filters = [ + OpsMonitorBatch.workspace_id == workspace_id, + OpsMonitorBatch.batch_status == "published", + OpsMonitorBatch.is_deleted == 0, + OpsMonitorResult.workspace_id == workspace_id, + OpsMonitorResult.is_deleted == 0, + ] + if monitor_month is not None: + filters.append(OpsMonitorResult.monitor_month == monitor_month) + + ranked = ( + select( + OpsMonitorResult.monitor_result_id.label("monitor_result_id"), + OpsMonitorResult.model_instance_id.label("model_instance_id"), + OpsMonitorResult.model_version_id.label("model_version_id"), + OpsMonitorResult.monitor_month.label("monitor_month"), + OpsMonitorResult.ranking_result.label("ranking_result"), + OpsMonitorResult.ks_value.label("ks_value"), + OpsMonitorResult.psi_value.label("psi_value"), + func.row_number() + .over( + partition_by=OpsMonitorResult.model_instance_id, + order_by=( + OpsMonitorResult.monitor_month.desc(), + OpsMonitorBatch.revision_no.desc(), + OpsMonitorBatch.published_at.desc(), + ), + ) + .label("row_no"), + ) + .join(OpsMonitorBatch, OpsMonitorBatch.batch_id == OpsMonitorResult.batch_id) + .where(*filters) + .subquery("ranked_monitor_results") + ) + return ( + select( + ranked.c.monitor_result_id, + ranked.c.model_instance_id, + ranked.c.model_version_id, + ranked.c.monitor_month, + ranked.c.ranking_result, + ranked.c.ks_value, + ranked.c.psi_value, + ) + .where(ranked.c.row_no == 1) + .subquery("latest_monitor_result") + ) + + +def _latest_review_subquery(): + return ( + select( + OpsMonitorReview.monitor_result_id.label("monitor_result_id"), + func.max(OpsMonitorReview.handled_at).label("handled_at"), + ) + .where( + OpsMonitorReview.is_deleted == 0, + OpsMonitorReview.handled_at.is_not(None), + ) + .group_by(OpsMonitorReview.monitor_result_id) + .subquery("latest_monitor_review") + ) + + +def _model_statement( + workspace_id: str, + *, + bank: str | None = None, + category: str | None = None, + status: str | None = None, + keyword: str | None = None, + model_id: str | None = None, +) -> Select[Any]: + latest_result = _latest_result_subquery(workspace_id) + latest_review = _latest_review_subquery() + statement = ( + select( + OpsModelInstance.model_instance_id.label("model_instance_id"), + OpsBank.bank_name.label("bank_name"), + OpsModelInstance.category_code.label("model_category"), + OpsModelInstance.model_name.label("model_name"), + OpsModelInstance.model_id.label("model_id"), + OpsModelVersion.version_label.label("model_version"), + OpsModelInstance.model_status.label("model_status"), + OpsModelVersion.last_iteration_date.label("last_iteration_date"), + latest_result.c.ranking_result.label("ranking_result"), + latest_result.c.ks_value.label("ks_value"), + latest_result.c.psi_value.label("psi_value"), + OpsMonitorEvaluation.ks_mom_drop_rate.label("ks_mom_drop_rate"), + OpsMonitorEvaluation.secondary_level2_hits_6m.label( + "secondary_level2_hits_6m" + ), + OpsBank.is_wuji_bank.label("is_wuji_bank"), + latest_review.c.handled_at.label("last_processed_at"), + OpsMonitorEvaluation.action_snapshot.label("previous_advice"), + OpsModelInstance.common_model_name.label("common_model_name"), + ) + .select_from(OpsModelInstance) + .join(OpsBank, OpsBank.bank_id == OpsModelInstance.bank_id) + .outerjoin( + OpsModelVersion, + and_( + OpsModelVersion.model_version_id + == OpsModelInstance.current_version_id, + OpsModelVersion.is_deleted == 0, + ), + ) + .outerjoin( + latest_result, + latest_result.c.model_instance_id + == OpsModelInstance.model_instance_id, + ) + .outerjoin( + OpsMonitorEvaluation, + and_( + OpsMonitorEvaluation.monitor_result_id + == latest_result.c.monitor_result_id, + OpsMonitorEvaluation.is_current == 1, + OpsMonitorEvaluation.is_deleted == 0, + ), + ) + .outerjoin( + latest_review, + latest_review.c.monitor_result_id + == latest_result.c.monitor_result_id, + ) + .where( + OpsModelInstance.workspace_id == workspace_id, + OpsModelInstance.is_deleted == 0, + OpsBank.workspace_id == workspace_id, + OpsBank.is_deleted == 0, + ) + ) + if bank: + statement = statement.where(OpsBank.bank_name == bank) + if category: + statement = statement.where(OpsModelInstance.category_code == category) + if status: + statement = statement.where( + OpsModelInstance.model_status == _MODEL_STATUS_TO_DB.get(status, status) + ) + if model_id: + statement = statement.where(OpsModelInstance.model_id == model_id) + if keyword and (term := keyword.strip()): + like_term = f"%{term}%" + statement = statement.where( + or_( + OpsBank.bank_name.ilike(like_term), + OpsModelInstance.model_name.ilike(like_term), + OpsModelInstance.model_id.ilike(like_term), + OpsModelVersion.version_label.ilike(like_term), + ) + ) + return statement.order_by(OpsBank.bank_name, OpsModelInstance.model_id) + + +def _model_dto(row: Mapping[str, Any]) -> OperationsModelDto: + return OperationsModelDto( + model_instance_id=row["model_instance_id"], + bank_name=row["bank_name"], + model_category=row["model_category"], + model_name=row["model_name"], + model_id=row["model_id"], + model_version=row["model_version"] or "—", + model_status=_MODEL_STATUS_TO_API.get(row["model_status"], "正常"), + last_iteration_date=_date_text(row["last_iteration_date"]), + ranking_result=_RANKING_TO_API.get(row["ranking_result"], "—"), + ks=_percent(row["ks_value"]), + psi=_percent(row["psi_value"]), + ks_mom_drop=_percent(row["ks_mom_drop_rate"]), + secondary_hits_6m=int(row["secondary_level2_hits_6m"] or 0), + is_wuji_bank=bool(row["is_wuji_bank"]), + last_processed_at=_datetime_date_text(row["last_processed_at"]), + previous_advice=row["previous_advice"] or "暂无历史处理建议", + common_model_name=row["common_model_name"], + ) + + +async def list_models( + session: AsyncSession, + workspace_id: str, + *, + bank: str | None = None, + category: str | None = None, + status: str | None = None, + keyword: str | None = None, +) -> list[OperationsModelDto]: + rows = ( + await session.execute( + _model_statement( + workspace_id, + bank=bank, + category=category, + status=status, + keyword=keyword, + ) + ) + ).mappings() + return [_model_dto(row) for row in rows] + + +async def get_model( + session: AsyncSession, + workspace_id: str, + model_id: str, +) -> OperationsModelDto | None: + row = ( + await session.execute( + _model_statement(workspace_id, model_id=model_id).limit(1) + ) + ).mappings().first() + return _model_dto(row) if row else None + + +async def get_monthly_monitoring_result( + session: AsyncSession, + workspace_id: str, + model_id: str, + monitor_month: datetime.date, +) -> MonthlyMonitoringResultDto | None: + latest_result = _latest_result_subquery(workspace_id, monitor_month) + statement = ( + select( + OpsModelInstance.model_instance_id.label("model_instance_id"), + latest_result.c.monitor_month.label("monitor_month"), + latest_result.c.ranking_result.label("ranking_result"), + latest_result.c.ks_value.label("ks_value"), + latest_result.c.psi_value.label("psi_value"), + OpsMonitorEvaluation.ks_mom_drop_rate.label("ks_mom_drop_rate"), + OpsMonitorEvaluation.secondary_level2_hits_6m.label( + "secondary_level2_hits_6m" + ), + ) + .select_from(OpsModelInstance) + .join( + latest_result, + latest_result.c.model_instance_id + == OpsModelInstance.model_instance_id, + ) + .outerjoin( + OpsMonitorEvaluation, + and_( + OpsMonitorEvaluation.monitor_result_id + == latest_result.c.monitor_result_id, + OpsMonitorEvaluation.is_current == 1, + OpsMonitorEvaluation.is_deleted == 0, + ), + ) + .where( + OpsModelInstance.workspace_id == workspace_id, + OpsModelInstance.model_id == model_id, + OpsModelInstance.is_deleted == 0, + ) + .limit(1) + ) + row = (await session.execute(statement)).mappings().first() + if not row: + return None + return MonthlyMonitoringResultDto( + model_instance_id=row["model_instance_id"], + monitor_month=row["monitor_month"].strftime("%Y-%m"), + ranking_result=_RANKING_TO_API.get(row["ranking_result"], "—"), + ks=_percent(row["ks_value"]), + psi=_percent(row["psi_value"]), + ks_mom_drop=_percent(row["ks_mom_drop_rate"]), + secondary_hits_6m=int(row["secondary_level2_hits_6m"] or 0), + ) + + +__all__ = [ + "get_model", + "get_monthly_monitoring_result", + "list_models", + "parse_monitor_month", +] diff --git a/backend/src/backend/services/operations/streams.py b/backend/src/backend/services/operations/streams.py new file mode 100644 index 0000000..fb9a0fc --- /dev/null +++ b/backend/src/backend/services/operations/streams.py @@ -0,0 +1,126 @@ +from __future__ import annotations + +import json +from typing import Any + +from loguru import logger +from redis.asyncio import Redis +from redis.exceptions import RedisError, ResponseError + + +class OperationsEventStream: + """Best-effort Redis Streams transport fed by the durable MySQL Outbox.""" + + def __init__( + self, + client: Redis | None, + *, + stream_name: str, + maxlen: int, + ) -> None: + self._client = client + self.stream_name = stream_name + self._maxlen = maxlen + + async def publish( + self, + event_type: str, + payload: dict[str, Any], + *, + event_id: str, + idempotency_key: str = "", + trace_id: str = "", + schema_version: int = 1, + ) -> str | None: + if self._client is None: + return None + fields = { + "event_id": event_id, + "event_type": event_type, + "schema_version": str(schema_version), + "idempotency_key": idempotency_key, + "trace_id": trace_id, + "payload": json.dumps( + payload, + ensure_ascii=False, + separators=(",", ":"), + default=str, + ), + } + try: + return await self._client.xadd( + self.stream_name, + fields, + maxlen=self._maxlen, + approximate=True, + ) + except RedisError as exc: + logger.warning( + "operations stream publish failed for {event_id}: {error}", + event_id=event_id, + error=exc, + ) + return None + + async def ensure_group(self, group_name: str) -> bool: + if self._client is None: + return False + try: + await self._client.xgroup_create( + self.stream_name, + group_name, + id="0-0", + mkstream=True, + ) + return True + except ResponseError as exc: + if "BUSYGROUP" in str(exc): + return True + logger.warning("operations stream group creation failed: {error}", error=exc) + return False + except RedisError as exc: + logger.warning("operations stream group creation failed: {error}", error=exc) + return False + + async def read_group( + self, + group_name: str, + consumer_name: str, + *, + count: int = 20, + block_ms: int = 5000, + ) -> list[tuple[str, dict[str, str]]]: + if self._client is None: + return [] + try: + response = await self._client.xreadgroup( + group_name, + consumer_name, + {self.stream_name: ">"}, + count=count, + block=block_ms, + ) + if not response: + return [] + return [(message_id, fields) for _, messages in response for message_id, fields in messages] + except RedisError as exc: + logger.warning("operations stream read failed: {error}", error=exc) + return [] + + async def acknowledge(self, group_name: str, *message_ids: str) -> int: + if self._client is None or not message_ids: + return 0 + try: + return int( + await self._client.xack( + self.stream_name, + group_name, + *message_ids, + ) + ) + except RedisError as exc: + logger.warning("operations stream ack failed: {error}", error=exc) + return 0 + + +__all__ = ["OperationsEventStream"] diff --git a/backend/tests/test_operations_queries.py b/backend/tests/test_operations_queries.py new file mode 100644 index 0000000..a0086ff --- /dev/null +++ b/backend/tests/test_operations_queries.py @@ -0,0 +1,233 @@ +from __future__ import annotations + +import datetime +from decimal import Decimal + +import pytest +from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine +from sqlalchemy.pool import StaticPool + +from backend.services.operations import ( + get_model, + get_monthly_monitoring_result, + list_models, + parse_monitor_month, +) +from common.config import Settings +from common.db.models.operations import ( + OperationsBase, + OpsBank, + OpsModelInstance, + OpsModelVersion, + OpsMonitorBatch, + OpsMonitorEvaluation, + OpsMonitorResult, + OpsMonitorReview, +) + +WORKSPACE_ID = "W" * 26 +OTHER_WORKSPACE_ID = "X" * 26 +MODEL_INSTANCE_ID = "M" * 26 +MODEL_VERSION_ID = "V" * 26 +MODEL_ID = "JC-STD-001" + + +@pytest.fixture +async def session(): + engine = create_async_engine( + "sqlite+aiosqlite://", + poolclass=StaticPool, + connect_args={"check_same_thread": False}, + ) + async with engine.begin() as connection: + await connection.run_sync(OperationsBase.metadata.create_all) + factory = async_sessionmaker(engine, expire_on_commit=False) + async with factory() as database_session: + await _seed(database_session) + await database_session.commit() + yield database_session + await engine.dispose() + + +async def _seed(session) -> None: + bank = OpsBank( + bank_id="B" * 26, + workspace_id=WORKSPACE_ID, + bank_code="JC", + bank_name="江城银行", + is_wuji_bank=1, + bank_status="active", + source_bank_ref="bank-jc", + ) + version = OpsModelVersion( + model_version_id=MODEL_VERSION_ID, + workspace_id=WORKSPACE_ID, + model_instance_id=MODEL_INSTANCE_ID, + version_label="v2.3", + version_status="active", + last_iteration_date=datetime.date(2026, 6, 18), + source_version_ref="version-jc-std-v23", + ) + model = OpsModelInstance( + model_instance_id=MODEL_INSTANCE_ID, + workspace_id=WORKSPACE_ID, + bank_id=bank.bank_id, + category_code="std", + model_id=MODEL_ID, + model_name="标准A卡", + model_status="normal", + current_version_id=version.model_version_id, + common_model_name="标准A卡通用版 v2.3", + source_model_ref="model-jc-std", + ) + old_batch = OpsMonitorBatch( + batch_id="1" * 26, + workspace_id=WORKSPACE_ID, + source_batch_no="2026-07-r1", + monitor_month=datetime.date(2026, 7, 1), + revision_no=1, + batch_status="published", + published_at=datetime.datetime(2026, 7, 20, 8, 0), + ) + new_batch = OpsMonitorBatch( + batch_id="2" * 26, + workspace_id=WORKSPACE_ID, + source_batch_no="2026-07-r2", + monitor_month=datetime.date(2026, 7, 1), + revision_no=2, + batch_status="published", + published_at=datetime.datetime(2026, 7, 21, 8, 0), + ) + old_result = OpsMonitorResult( + monitor_result_id="3" * 26, + workspace_id=WORKSPACE_ID, + batch_id=old_batch.batch_id, + model_instance_id=MODEL_INSTANCE_ID, + model_version_id=MODEL_VERSION_ID, + monitor_month=datetime.date(2026, 7, 1), + ranking_result="matched", + ks_value=Decimal("0.41000000"), + psi_value=Decimal("0.09000000"), + ) + new_result = OpsMonitorResult( + monitor_result_id="4" * 26, + workspace_id=WORKSPACE_ID, + batch_id=new_batch.batch_id, + model_instance_id=MODEL_INSTANCE_ID, + model_version_id=MODEL_VERSION_ID, + monitor_month=datetime.date(2026, 7, 1), + ranking_result="unmatched", + ks_value=Decimal("0.36840000"), + psi_value=Decimal("0.27400000"), + ) + evaluation = OpsMonitorEvaluation( + evaluation_id="5" * 26, + workspace_id=WORKSPACE_ID, + monitor_result_id=new_result.monitor_result_id, + rule_version_id="6" * 26, + rule_item_id="7" * 26, + ks_mom_drop_rate=Decimal("0.24100000"), + secondary_level2_hits_6m=3, + abnormal_level="level3", + monitor_grade="C", + reason_code="R-C-001", + reason_text_snapshot="排序性不符、KS低、PSI高", + action_snapshot="建议启动模型微调或重构评估", + is_current=1, + evaluated_at=datetime.datetime(2026, 7, 21, 9, 0), + ) + review = OpsMonitorReview( + review_id="8" * 26, + workspace_id=WORKSPACE_ID, + monitor_result_id=new_result.monitor_result_id, + evaluation_id=evaluation.evaluation_id, + review_stage="model_initial", + review_status="handled", + decision_code="tune_or_rebuild", + handling_note="建议评估重构", + handled_by="U" * 26, + handled_at=datetime.datetime(2026, 7, 22, 10, 30), + ) + other_bank = OpsBank( + bank_id="C" * 26, + workspace_id=OTHER_WORKSPACE_ID, + bank_code="OTHER", + bank_name="其他银行", + bank_status="active", + source_bank_ref="bank-other", + ) + other_model = OpsModelInstance( + model_instance_id="N" * 26, + workspace_id=OTHER_WORKSPACE_ID, + bank_id=other_bank.bank_id, + category_code="std", + model_id="OTHER-STD-001", + model_name="其他模型", + model_status="normal", + source_model_ref="model-other", + ) + session.add_all( + [ + bank, + version, + model, + old_batch, + new_batch, + old_result, + new_result, + evaluation, + review, + other_bank, + other_model, + ] + ) + + +async def test_list_models_uses_latest_revision_and_workspace(session) -> None: + models = await list_models(session, WORKSPACE_ID) + assert len(models) == 1 + model = models[0] + assert model.model_id == MODEL_ID + assert model.ks == 36.84 + assert model.psi == 27.4 + assert model.ks_mom_drop == 24.1 + assert model.ranking_result == "不符" + assert model.last_processed_at == "2026-07-22" + assert model.is_wuji_bank is True + + +async def test_list_models_filters_and_detail(session) -> None: + assert len(await list_models(session, WORKSPACE_ID, bank="江城银行")) == 1 + assert len(await list_models(session, WORKSPACE_ID, category="big")) == 0 + assert len(await list_models(session, WORKSPACE_ID, keyword="v2.3")) == 1 + model = await get_model(session, WORKSPACE_ID, MODEL_ID) + assert model is not None + assert model.model_version == "v2.3" + assert model.common_model_name == "标准A卡通用版 v2.3" + assert await get_model(session, OTHER_WORKSPACE_ID, MODEL_ID) is None + + +async def test_get_monthly_monitoring_result(session) -> None: + result = await get_monthly_monitoring_result( + session, + WORKSPACE_ID, + MODEL_ID, + datetime.date(2026, 7, 1), + ) + assert result is not None + assert result.monitor_month == "2026-07" + assert result.ks == 36.84 + assert result.psi == 27.4 + assert result.secondary_hits_6m == 3 + + +def test_monitor_month_and_operations_url() -> None: + assert parse_monitor_month("2026-07") == datetime.date(2026, 7, 1) + with pytest.raises(ValueError): + parse_monitor_month("2026-13") + settings = Settings( + database_url="mysql+asyncmy://user:pass@db:3306/model_platform?charset=utf8mb4", + _env_file=None, + ) + assert settings.operations_database_url is not None + assert "/model_operations?" in settings.operations_database_url diff --git a/backend/tests/test_operations_redis.py b/backend/tests/test_operations_redis.py new file mode 100644 index 0000000..5e8646f --- /dev/null +++ b/backend/tests/test_operations_redis.py @@ -0,0 +1,110 @@ +from __future__ import annotations + +import fnmatch + +from backend.services.operations import OperationsCache, OperationsEventStream + + +class FakeRedis: + def __init__(self) -> None: + self.values: dict[str, str] = {} + self.expirations: dict[str, int] = {} + self.stream_entries: list[tuple[str, dict[str, str]]] = [] + self.groups: set[str] = set() + + async def get(self, key: str): + return self.values.get(key) + + async def set(self, key: str, value: str, *, ex: int): + self.values[key] = value + self.expirations[key] = ex + return True + + async def unlink(self, *keys: str): + removed = 0 + for key in keys: + if key in self.values: + removed += 1 + self.values.pop(key) + self.expirations.pop(key, None) + return removed + + async def scan_iter(self, *, match: str, count: int): + del count + for key in list(self.values): + if fnmatch.fnmatch(key, match): + yield key + + async def xadd(self, stream: str, fields, *, maxlen: int, approximate: bool): + assert maxlen == 1000 + assert approximate is True + message_id = f"1-{len(self.stream_entries)}" + self.stream_entries.append((message_id, dict(fields))) + return message_id + + async def xgroup_create(self, stream: str, group: str, *, id: str, mkstream: bool): + assert stream == "ops:events" + assert id == "0-0" + assert mkstream is True + self.groups.add(group) + return True + + async def xreadgroup(self, group, consumer, streams, *, count: int, block: int): + del group, consumer, count, block + stream = next(iter(streams)) + return [(stream, list(self.stream_entries))] + + async def xack(self, stream: str, group: str, *message_ids: str): + del stream, group + return len(message_ids) + + +async def test_cache_round_trip_and_workspace_invalidation() -> None: + redis = FakeRedis() + cache = OperationsCache( + redis, # type: ignore[arg-type] + prefix="ops", + default_ttl_seconds=300, + ) + key = cache.build_key("W1", "model-overview", {"month": "2026-07", "bank": "江城"}) + same_key = cache.build_key("W1", "model-overview", {"bank": "江城", "month": "2026-07"}) + other_key = cache.build_key("W2", "model-overview", {"bank": "江城"}) + assert key == same_key + assert key != other_key + assert await cache.set_json(key, {"total": 3, "name": "标准A卡"}) is True + assert redis.expirations[key] == 300 + assert await cache.get_json(key) == {"total": 3, "name": "标准A卡"} + await cache.set_json(other_key, {"total": 1}) + assert await cache.invalidate_resource("W1", "model-overview") == 1 + assert await cache.get_json(key) is None + assert await cache.get_json(other_key) == {"total": 1} + + +async def test_cache_without_redis_is_a_noop() -> None: + cache = OperationsCache(None, prefix="ops", default_ttl_seconds=300) + assert await cache.get_json("missing") is None + assert await cache.set_json("missing", {"value": 1}) is False + assert await cache.delete("missing") == 0 + + +async def test_stream_publish_group_read_and_ack() -> None: + redis = FakeRedis() + stream = OperationsEventStream( + redis, # type: ignore[arg-type] + stream_name="ops:events", + maxlen=1000, + ) + assert await stream.ensure_group("notifications") is True + message_id = await stream.publish( + "monitor.review.due", + {"review_id": "R1", "bank": "江城银行"}, + event_id="E1", + idempotency_key="review:R1:due", + trace_id="T1", + ) + assert message_id == "1-0" + messages = await stream.read_group("notifications", "worker-1") + assert messages[0][0] == "1-0" + assert messages[0][1]["event_type"] == "monitor.review.due" + assert '"review_id":"R1"' in messages[0][1]["payload"] + assert await stream.acknowledge("notifications", message_id) == 1 diff --git a/common/src/common/config.py b/common/src/common/config.py index 734c410..0cfcfd5 100644 --- a/common/src/common/config.py +++ b/common/src/common/config.py @@ -26,6 +26,7 @@ from venv import logger from cryptography.hazmat.primitives.ciphers.aead import AESGCM from pydantic import Field, field_validator, model_validator from pydantic_settings import BaseSettings, NoDecode, SettingsConfigDict +from sqlalchemy.engine import make_url # ── AES 解密核心函数 ──────────────────────────────────────────────────────── @@ -63,6 +64,43 @@ class Settings(BaseSettings): ), description="SQLAlchemy async URI for the platform MySQL.", ) + operations_database_url: str | None = Field( + default=None, + description=( + "SQLAlchemy async URI for the isolated model_operations database. " + "When omitted it reuses DATABASE_URL credentials and switches only " + "the schema name to model_operations." + ), + ) + platform_read_database_url: str | None = Field( + default=None, + description="Read-only model_platform connection used by operations APIs.", + ) + deploy_database_url: str | None = Field( + default=None, + description="Read-only model_deploy connection used by operations APIs.", + ) + + # ── operations Redis accelerator ───────────────────────────── + redis_url: str | None = Field( + default=None, + description=( + "Optional Redis URL for operations query cache and event Streams. " + "MySQL remains the source of truth when Redis is unavailable." + ), + ) + redis_socket_connect_timeout_seconds: float = Field(default=2.0, gt=0, le=30) + redis_socket_timeout_seconds: float = Field(default=2.0, gt=0, le=30) + operations_cache_ttl_seconds: int = Field(default=300, ge=10, le=86400) + operations_redis_prefix: str = Field(default="model-platform:operations") + operations_event_stream: str = Field( + default="model-platform:operations:events" + ) + operations_event_stream_maxlen: int = Field(default=10000, ge=100) + operations_data_mode: str = Field( + default="database", + description="Operations data source: database or mock.", + ) # ── JWT ─────────────────────────────────────────────────────── jwt_secret: str = Field( @@ -268,6 +306,23 @@ class Settings(BaseSettings): # print(values[key]) return values + @model_validator(mode="after") + def _derive_operations_database_url(self) -> "Settings": + """Default the operations database to the platform server credentials.""" + if not self.operations_database_url: + platform_url = make_url(self.database_url) + self.operations_database_url = platform_url.set( + database="model_operations" + ).render_as_string(hide_password=False) + if not self.platform_read_database_url: + self.platform_read_database_url = self.database_url + if not self.deploy_database_url: + platform_url = make_url(self.database_url) + self.deploy_database_url = platform_url.set( + database="model_deploy" + ).render_as_string(hide_password=False) + return self + model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", diff --git a/common/src/common/db/__init__.py b/common/src/common/db/__init__.py index 10b0d03..21b1649 100644 --- a/common/src/common/db/__init__.py +++ b/common/src/common/db/__init__.py @@ -5,6 +5,7 @@ from common.db.session import ( AsyncSessionFactory, create_database_engine, create_session_factory, + readonly_session_scope, session_scope, ) @@ -13,5 +14,6 @@ __all__ = [ "Base", "create_database_engine", "create_session_factory", + "readonly_session_scope", "session_scope", ] diff --git a/common/src/common/db/models/operations/__init__.py b/common/src/common/db/models/operations/__init__.py new file mode 100644 index 0000000..7a93d2d --- /dev/null +++ b/common/src/common/db/models/operations/__init__.py @@ -0,0 +1,31 @@ +from common.db.models.operations.base import OperationsBase +from common.db.models.operations.governance import ( + OpsMonitorEvaluation, + OpsMonitorReview, + OpsRuleItem, + OpsRuleVersion, +) +from common.db.models.operations.models import OpsModelInstance, OpsModelVersion +from common.db.models.operations.monitoring import ( + OpsMonitorBatch, + OpsMonitorDistribution, + OpsMonitorFeatureMetric, + OpsMonitorResult, +) +from common.db.models.operations.reference import OpsBank, OpsModelCategory + +__all__ = [ + "OperationsBase", + "OpsBank", + "OpsModelCategory", + "OpsModelInstance", + "OpsModelVersion", + "OpsMonitorBatch", + "OpsMonitorDistribution", + "OpsMonitorEvaluation", + "OpsMonitorFeatureMetric", + "OpsMonitorResult", + "OpsMonitorReview", + "OpsRuleItem", + "OpsRuleVersion", +] diff --git a/common/src/common/db/models/operations/base.py b/common/src/common/db/models/operations/base.py new file mode 100644 index 0000000..931d291 --- /dev/null +++ b/common/src/common/db/models/operations/base.py @@ -0,0 +1,40 @@ +from __future__ import annotations + +import datetime + +from sqlalchemy import DateTime, Integer, text +from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column + + +class OperationsBase(DeclarativeBase): + """Declarative base isolated from the model_platform metadata.""" + + +class CreatedAtMixin: + created_at: Mapped[datetime.datetime] = mapped_column( + DateTime(), nullable=False, server_default=text("CURRENT_TIMESTAMP") + ) + + +class TimestampMixin(CreatedAtMixin): + updated_at: Mapped[datetime.datetime] = mapped_column( + DateTime(), + nullable=False, + server_default=text("CURRENT_TIMESTAMP"), + onupdate=datetime.datetime.utcnow, + ) + + +class SoftDeleteMixin: + is_deleted: Mapped[int] = mapped_column( + Integer, nullable=False, server_default=text("0") + ) + deleted_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +__all__ = [ + "CreatedAtMixin", + "OperationsBase", + "SoftDeleteMixin", + "TimestampMixin", +] diff --git a/common/src/common/db/models/operations/governance.py b/common/src/common/db/models/operations/governance.py new file mode 100644 index 0000000..e3692d2 --- /dev/null +++ b/common/src/common/db/models/operations/governance.py @@ -0,0 +1,155 @@ +from __future__ import annotations + +import datetime +from decimal import Decimal +from typing import Any + +from sqlalchemy import DateTime, Index, Integer, JSON, Numeric, String +from sqlalchemy.orm import Mapped, mapped_column + +from common.db.models.operations.base import ( + CreatedAtMixin, + OperationsBase, + SoftDeleteMixin, + TimestampMixin, +) + + +class OpsRuleVersion(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_rule_versions" + __table_args__ = ( + Index( + "uk_ops_rule_versions_label", + "workspace_id", + "category_code", + "version_label", + unique=True, + ), + Index( + "idx_ops_rule_versions_status", + "workspace_id", + "category_code", + "rule_status", + "published_at", + ), + {"comment": "监控判级规则版本"}, + ) + + rule_version_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + category_code: Mapped[str] = mapped_column(String(32), nullable=False, default="*") + version_label: Mapped[str] = mapped_column(String(64), nullable=False) + rule_status: Mapped[str] = mapped_column(String(24), nullable=False, default="draft") + threshold_json: Mapped[dict[str, Any]] = mapped_column(JSON(), nullable=False) + supersedes_rule_version_id: Mapped[str | None] = mapped_column(String(26)) + change_note: Mapped[str | None] = mapped_column(String(1000)) + created_by: Mapped[str] = mapped_column(String(26), nullable=False) + published_by: Mapped[str | None] = mapped_column(String(26)) + published_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +class OpsRuleItem(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_rule_items" + __table_args__ = ( + Index("uk_ops_rule_items_order", "rule_version_id", "sort_order", unique=True), + Index("uk_ops_rule_items_reason", "rule_version_id", "reason_code", unique=True), + {"comment": "规则版本下的判级矩阵行"}, + ) + + rule_item_id: Mapped[str] = mapped_column(String(26), primary_key=True) + rule_version_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + sort_order: Mapped[int] = mapped_column(Integer, nullable=False) + ranking_result: Mapped[str] = mapped_column(String(24), nullable=False) + ks_band_code: Mapped[str] = mapped_column(String(32), nullable=False) + psi_band_code: Mapped[str] = mapped_column(String(32), nullable=False) + ks_drop_band_code: Mapped[str] = mapped_column(String(32), nullable=False) + conditions_json: Mapped[dict[str, Any] | None] = mapped_column(JSON()) + abnormal_level: Mapped[str] = mapped_column(String(16), nullable=False) + monitor_grade: Mapped[str] = mapped_column(String(1), nullable=False) + secondary_upgrade_threshold: Mapped[int | None] = mapped_column(Integer) + reason_code: Mapped[str] = mapped_column(String(64), nullable=False) + reason_template: Mapped[str] = mapped_column(String(1000), nullable=False) + action_text: Mapped[str] = mapped_column(String(1000), nullable=False) + + +class OpsMonitorEvaluation(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_evaluations" + __table_args__ = ( + Index( + "uk_ops_evaluations_result_rule", + "monitor_result_id", + "rule_version_id", + unique=True, + ), + Index( + "idx_ops_evaluations_grade", + "workspace_id", + "monitor_grade", + "abnormal_level", + "evaluated_at", + ), + {"comment": "按规则版本生成的不可变监控判级快照"}, + ) + + evaluation_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + monitor_result_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + rule_version_id: Mapped[str] = mapped_column(String(26), nullable=False) + rule_item_id: Mapped[str] = mapped_column(String(26), nullable=False) + ks_mom_drop_rate: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + secondary_level2_hits_6m: Mapped[int] = mapped_column( + Integer, nullable=False, default=0 + ) + abnormal_level: Mapped[str] = mapped_column(String(16), nullable=False) + monitor_grade: Mapped[str] = mapped_column(String(1), nullable=False) + reason_code: Mapped[str] = mapped_column(String(64), nullable=False) + reason_text_snapshot: Mapped[str] = mapped_column(String(2000), nullable=False) + action_snapshot: Mapped[str] = mapped_column(String(2000), nullable=False) + is_current: Mapped[int] = mapped_column(Integer, nullable=False, default=1) + evaluated_at: Mapped[datetime.datetime] = mapped_column( + DateTime(), nullable=False, default=datetime.datetime.utcnow + ) + + +class OpsMonitorReview(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_reviews" + __table_args__ = ( + Index( + "uk_ops_reviews_result_stage", + "monitor_result_id", + "review_stage", + unique=True, + ), + Index( + "idx_ops_reviews_pending", + "workspace_id", + "review_status", + "review_stage", + "due_at", + ), + {"comment": "模型团队初审与业务团队终审"}, + ) + + review_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + monitor_result_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + evaluation_id: Mapped[str] = mapped_column(String(26), nullable=False) + review_stage: Mapped[str] = mapped_column(String(24), nullable=False) + review_status: Mapped[str] = mapped_column( + String(24), nullable=False, default="pending" + ) + decision_code: Mapped[str | None] = mapped_column(String(32)) + handling_note: Mapped[str | None] = mapped_column(String(2000)) + due_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + handled_by: Mapped[str | None] = mapped_column(String(26)) + handled_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + auto_closed_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + state_version: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + + +__all__ = [ + "OpsMonitorEvaluation", + "OpsMonitorReview", + "OpsRuleItem", + "OpsRuleVersion", +] diff --git a/common/src/common/db/models/operations/models.py b/common/src/common/db/models/operations/models.py new file mode 100644 index 0000000..021cd82 --- /dev/null +++ b/common/src/common/db/models/operations/models.py @@ -0,0 +1,114 @@ +from __future__ import annotations + +import datetime +from decimal import Decimal + +from sqlalchemy import Date, DateTime, Index, Integer, Numeric, String +from sqlalchemy.orm import Mapped, mapped_column + +from common.db.models.operations.base import ( + OperationsBase, + SoftDeleteMixin, + TimestampMixin, +) + + +class OpsModelInstance(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_model_instances" + __table_args__ = ( + Index( + "uk_ops_models_business_id", "workspace_id", "model_id", unique=True + ), + Index( + "uk_ops_models_source", + "workspace_id", + "source_system", + "source_model_ref", + unique=True, + ), + Index( + "idx_ops_models_filters", + "workspace_id", + "category_code", + "model_status", + "is_deleted", + ), + {"comment": "业务模型实例;模型平台可受控直写"}, + ) + + model_instance_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + bank_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + category_code: Mapped[str] = mapped_column(String(32), nullable=False) + model_id: Mapped[str] = mapped_column(String(128), nullable=False) + model_name: Mapped[str] = mapped_column(String(200), nullable=False) + model_status: Mapped[str] = mapped_column( + String(24), nullable=False, default="normal" + ) + current_version_id: Mapped[str | None] = mapped_column(String(26), index=True) + is_common_model: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + common_source_model_id: Mapped[str | None] = mapped_column(String(26), index=True) + common_model_name: Mapped[str | None] = mapped_column(String(200)) + source_system: Mapped[str] = mapped_column( + String(64), nullable=False, default="model_platform" + ) + source_model_ref: Mapped[str | None] = mapped_column(String(128)) + source_updated_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +class OpsModelVersion(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_model_versions" + __table_args__ = ( + Index( + "uk_ops_model_versions_label", + "model_instance_id", + "version_label", + unique=True, + ), + Index( + "uk_ops_model_versions_source", + "workspace_id", + "source_system", + "source_version_ref", + unique=True, + ), + Index( + "idx_ops_model_versions_lifecycle", + "workspace_id", + "version_status", + "online_date", + "offline_date", + ), + {"comment": "模型版本与生命周期;模型平台可受控直写"}, + ) + + model_version_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + model_instance_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + version_label: Mapped[str] = mapped_column(String(64), nullable=False) + version_status: Mapped[str] = mapped_column( + String(24), nullable=False, default="active" + ) + platform_versions_id: Mapped[str | None] = mapped_column(String(26)) + developer_user_id: Mapped[str | None] = mapped_column(String(26)) + developer_display_name: Mapped[str | None] = mapped_column(String(100)) + development_date: Mapped[datetime.date | None] = mapped_column(Date()) + iteration_start_date: Mapped[datetime.date | None] = mapped_column(Date()) + last_iteration_date: Mapped[datetime.date | None] = mapped_column(Date()) + iteration_reason: Mapped[str | None] = mapped_column(String(1000)) + escort_start_date: Mapped[datetime.date | None] = mapped_column(Date()) + escort_end_date: Mapped[datetime.date | None] = mapped_column(Date()) + online_date: Mapped[datetime.date | None] = mapped_column(Date()) + offline_date: Mapped[datetime.date | None] = mapped_column(Date()) + development_ks: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + development_psi: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + max_lift: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + scoring_logic_storage_object_id: Mapped[str | None] = mapped_column(String(26)) + source_system: Mapped[str] = mapped_column( + String(64), nullable=False, default="model_platform" + ) + source_version_ref: Mapped[str | None] = mapped_column(String(128)) + source_updated_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +__all__ = ["OpsModelInstance", "OpsModelVersion"] diff --git a/common/src/common/db/models/operations/monitoring.py b/common/src/common/db/models/operations/monitoring.py new file mode 100644 index 0000000..b842cae --- /dev/null +++ b/common/src/common/db/models/operations/monitoring.py @@ -0,0 +1,182 @@ +from __future__ import annotations + +import datetime +from decimal import Decimal +from typing import Any + +from sqlalchemy import Date, DateTime, Index, Integer, JSON, Numeric, String +from sqlalchemy.orm import Mapped, mapped_column + +from common.db.models.operations.base import ( + CreatedAtMixin, + OperationsBase, + SoftDeleteMixin, + TimestampMixin, +) + + +class OpsMonitorBatch(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_batches" + __table_args__ = ( + Index( + "uk_ops_monitor_batches_source_no", + "workspace_id", + "source_system", + "source_batch_no", + unique=True, + ), + Index( + "uk_ops_monitor_batches_revision", + "workspace_id", + "source_system", + "monitor_month", + "revision_no", + unique=True, + ), + Index( + "idx_ops_monitor_batches_publish", + "workspace_id", + "batch_status", + "monitor_month", + "revision_no", + ), + {"comment": "月度监控写入批次与发布门闩"}, + ) + + batch_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + source_system: Mapped[str] = mapped_column( + String(64), nullable=False, default="model_platform" + ) + source_batch_no: Mapped[str] = mapped_column(String(128), nullable=False) + monitor_month: Mapped[datetime.date] = mapped_column(Date(), nullable=False) + revision_no: Mapped[int] = mapped_column(Integer, nullable=False, default=1) + supersedes_batch_id: Mapped[str | None] = mapped_column(String(26)) + batch_status: Mapped[str] = mapped_column( + String(24), nullable=False, default="writing" + ) + expected_model_count: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + written_model_count: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + feature_row_count: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + distribution_row_count: Mapped[int] = mapped_column( + Integer, nullable=False, default=0 + ) + checksum_sha256: Mapped[str | None] = mapped_column(String(64)) + generated_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + published_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + published_by: Mapped[str | None] = mapped_column(String(26)) + failed_reason: Mapped[str | None] = mapped_column(String(2000)) + + +class OpsMonitorResult(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_results" + __table_args__ = ( + Index( + "uk_ops_monitor_results_batch_model", + "batch_id", + "model_instance_id", + unique=True, + ), + Index( + "idx_ops_monitor_results_month", + "workspace_id", + "monitor_month", + "model_instance_id", + ), + {"comment": "单模型单月原始监控结果;发布后不可更新"}, + ) + + monitor_result_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + batch_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + model_instance_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + model_version_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + monitor_month: Mapped[datetime.date] = mapped_column(Date(), nullable=False) + source_result_ref: Mapped[str | None] = mapped_column(String(128)) + ranking_result: Mapped[str | None] = mapped_column(String(24)) + ks_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + psi_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + sample_count: Mapped[int | None] = mapped_column(Integer) + good_count: Mapped[int | None] = mapped_column(Integer) + bad_count: Mapped[int | None] = mapped_column(Integer) + source_result_json: Mapped[dict[str, Any] | None] = mapped_column(JSON()) + source_calculated_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +class OpsMonitorFeatureMetric(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_feature_metrics" + __table_args__ = ( + Index( + "uk_ops_feature_metrics_result_feature", + "monitor_result_id", + "feature_code", + unique=True, + ), + Index("idx_ops_feature_metrics_iv_drop", "monitor_result_id", "iv_drop_rate"), + Index( + "idx_ops_feature_metrics_csi_rise", "monitor_result_id", "csi_rise_rate" + ), + {"comment": "单月特征级 IV/CSI 与贡献变化"}, + ) + + feature_metric_id: Mapped[str] = mapped_column(String(26), primary_key=True) + monitor_result_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + feature_code: Mapped[str] = mapped_column(String(128), nullable=False) + feature_name: Mapped[str] = mapped_column(String(200), nullable=False) + iv_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + previous_iv_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + iv_drop_rate: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + csi_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + previous_csi_value: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + csi_rise_rate: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + ks_contribution_change: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + psi_contribution_change: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + source_metric_json: Mapped[dict[str, Any] | None] = mapped_column(JSON()) + + +class OpsMonitorDistribution(CreatedAtMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_monitor_distributions" + __table_args__ = ( + Index( + "uk_ops_distributions_bin", + "monitor_result_id", + "dimension_type", + "feature_code", + "bin_order", + unique=True, + ), + Index( + "idx_ops_distributions_feature", + "monitor_result_id", + "feature_code", + "bin_order", + ), + {"comment": "排序性评分分箱及特征分布"}, + ) + + distribution_id: Mapped[str] = mapped_column(String(26), primary_key=True) + monitor_result_id: Mapped[str] = mapped_column(String(26), nullable=False, index=True) + dimension_type: Mapped[str] = mapped_column(String(24), nullable=False) + feature_code: Mapped[str] = mapped_column(String(128), nullable=False, default="") + feature_name: Mapped[str | None] = mapped_column(String(200)) + bin_order: Mapped[int] = mapped_column(Integer, nullable=False) + bin_code: Mapped[str] = mapped_column(String(128), nullable=False) + bin_label: Mapped[str] = mapped_column(String(255), nullable=False) + reference_period_label: Mapped[str | None] = mapped_column(String(64)) + reference_count: Mapped[int | None] = mapped_column(Integer) + reference_share: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + current_count: Mapped[int | None] = mapped_column(Integer) + current_share: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + good_count: Mapped[int | None] = mapped_column(Integer) + bad_count: Mapped[int | None] = mapped_column(Integer) + bad_rate: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + psi_component: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + csi_component: Mapped[Decimal | None] = mapped_column(Numeric(12, 8)) + + +__all__ = [ + "OpsMonitorBatch", + "OpsMonitorDistribution", + "OpsMonitorFeatureMetric", + "OpsMonitorResult", +] diff --git a/common/src/common/db/models/operations/reference.py b/common/src/common/db/models/operations/reference.py new file mode 100644 index 0000000..69d6351 --- /dev/null +++ b/common/src/common/db/models/operations/reference.py @@ -0,0 +1,64 @@ +from __future__ import annotations + +import datetime + +from sqlalchemy import DateTime, Index, Integer, String +from sqlalchemy.orm import Mapped, mapped_column + +from common.db.models.operations.base import ( + OperationsBase, + SoftDeleteMixin, + TimestampMixin, +) + + +class OpsModelCategory(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_model_categories" + __table_args__ = ( + Index("uk_ops_categories_name", "category_name", unique=True), + Index("idx_ops_categories_status", "status", "sort_order"), + {"comment": "固定模型大类字典,由运维模块维护"}, + ) + + category_code: Mapped[str] = mapped_column(String(32), primary_key=True) + category_name: Mapped[str] = mapped_column(String(100), nullable=False) + sort_order: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + status: Mapped[str] = mapped_column(String(16), nullable=False, default="active") + + +class OpsBank(TimestampMixin, SoftDeleteMixin, OperationsBase): + __tablename__ = "ops_banks" + __table_args__ = ( + Index("uk_ops_banks_code", "workspace_id", "bank_code", unique=True), + Index( + "uk_ops_banks_source", + "workspace_id", + "source_system", + "source_bank_ref", + unique=True, + ), + Index( + "idx_ops_banks_workspace_status", + "workspace_id", + "bank_status", + "is_deleted", + ), + {"comment": "银行主数据;模型平台可受控直写"}, + ) + + bank_id: Mapped[str] = mapped_column(String(26), primary_key=True) + workspace_id: Mapped[str] = mapped_column(String(26), nullable=False) + bank_code: Mapped[str] = mapped_column(String(64), nullable=False) + bank_name: Mapped[str] = mapped_column(String(150), nullable=False) + is_wuji_bank: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + bank_status: Mapped[str] = mapped_column( + String(16), nullable=False, default="active" + ) + source_system: Mapped[str] = mapped_column( + String(64), nullable=False, default="model_platform" + ) + source_bank_ref: Mapped[str | None] = mapped_column(String(128)) + source_updated_at: Mapped[datetime.datetime | None] = mapped_column(DateTime()) + + +__all__ = ["OpsBank", "OpsModelCategory"] diff --git a/common/src/common/db/session.py b/common/src/common/db/session.py index 0b9836d..b17ea77 100644 --- a/common/src/common/db/session.py +++ b/common/src/common/db/session.py @@ -3,6 +3,7 @@ from __future__ import annotations from collections.abc import AsyncIterator from contextlib import asynccontextmanager +from sqlalchemy import text from sqlalchemy.ext.asyncio import ( AsyncEngine, AsyncSession, @@ -55,3 +56,18 @@ async def session_scope( except Exception: await session.rollback() raise + + +@asynccontextmanager +async def readonly_session_scope( + factory: AsyncSessionFactory, +) -> AsyncIterator[AsyncSession]: + """Yield a session whose MySQL transaction is explicitly read-only.""" + async with factory() as session: + try: + bind = session.get_bind() + if bind.dialect.name == "mysql": + await session.execute(text("SET TRANSACTION READ ONLY")) + yield session + finally: + await session.rollback() diff --git a/docker-compose.yml b/docker-compose.yml index 5ea023e..fbf7a98 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -78,6 +78,15 @@ services: # No local-FS volume: backend stores everything in S3 (S3_*). environment: DATABASE_URL: ${DATABASE_URL:?DATABASE_URL is required} + OPERATIONS_DATABASE_URL: ${OPERATIONS_DATABASE_URL:-} + PLATFORM_READ_DATABASE_URL: ${PLATFORM_READ_DATABASE_URL:-} + DEPLOY_DATABASE_URL: ${DEPLOY_DATABASE_URL:-} + REDIS_URL: ${REDIS_URL:-} + OPERATIONS_CACHE_TTL_SECONDS: ${OPERATIONS_CACHE_TTL_SECONDS:-300} + OPERATIONS_REDIS_PREFIX: ${OPERATIONS_REDIS_PREFIX:-model-platform:operations} + OPERATIONS_EVENT_STREAM: ${OPERATIONS_EVENT_STREAM:-model-platform:operations:events} + OPERATIONS_EVENT_STREAM_MAXLEN: ${OPERATIONS_EVENT_STREAM_MAXLEN:-10000} + OPERATIONS_DATA_MODE: ${OPERATIONS_DATA_MODE:-database} SERVICE_NAME: model-platform-backend SCHEDULE_EVENT_NAMESPACE: ${SCHEDULE_EVENT_NAMESPACE:-model-platform-local} JWT_SECRET: ${JWT_SECRET:?JWT_SECRET is required} diff --git a/docs/architecture/A卡模型运维模块-后端架构与数据库设计-V0.2.md b/docs/architecture/A卡模型运维模块-后端架构与数据库设计-V0.2.md new file mode 100644 index 0000000..2e89a93 --- /dev/null +++ b/docs/architecture/A卡模型运维模块-后端架构与数据库设计-V0.2.md @@ -0,0 +1,308 @@ +# A 卡模型运维模块后端架构与数据库设计 V0.2 + +> 状态:设计评审稿;独立库 DDL 已生成但尚未执行,ORM、迁移和接口尚未实现 +> 日期:2026-08-31 +> 依据:当前 `develop` 工程、运维前端 V1.9、现有三条 API 契约及甲方提供的 `model_platform` 18 张表 DDL + +## 1. 结论 + +采用“**同一工程、两个数据库、平台库只读、运维库自有**”的方式: + +- 现有 `model_platform` 库保持不变,只读复用用户、角色、工作空间、对象存储、脚本版本和调度数据。 +- 新建独立 `model_operations` 库;模型平台直接写入其中 7 张受控源表,不通过运维平台复制一份数据。 +- 运维模块只读取状态为 `published` 的监控批次,未发布或失败批次对页面不可见。 +- 判级、复核、报告、流程、文档、Prompt 和配置由运维模块独立维护,模型平台不得写入。 +- 已发布监控数据不原地覆盖;勘误时新增修订批次,保留历史版本和审计链。 +- 首期不新增微服务、Redis或消息中间件;复用现有 Nginx、React、FastAPI、对象存储和 Schedule Executor,新库自带独立 Outbox/Inbox。 + +这能满足“模型方直接写业务表”和“我方单独建库”的双重要求,同时避免取得现有平台库不必要的写权限。 + +## 2. 模块边界 + +### 2.1 模型平台负责 + +- 银行、模型实例、模型版本及生命周期数据的写入。 +- 月度监控原始结果、特征指标和分箱分布数据的计算与写入。 +- 写入批次的完整性校验、计数、校验和及发布。 +- 仅获得 `model_operations` 7 张源表的受控写权限,以及发布事件所需的 Outbox 插入权限。 +- 已发布数据发生错误时,以新修订批次更正,不修改旧记录。 + +### 2.2 运维模块负责 + +- 按已发布原始结果和已发布规则版本计算异常等级、监控结果等级和命中原因。 +- 模型团队初审、业务团队终审、超时默认不处理及全程留痕。 +- 监控/诊断报告生成、编辑、发送、汇总和历史修订。 +- 七阶段开发评审流程、材料、知识库、规则、Prompt、报告模板和按银行配置。 +- 工作台、模型大类、细分银行、监控明细和详情等查询 API。 + +### 2.3 明确不做 + +- 运维模块不重复建设账号、角色、权限表;只复用登录模块返回的用户、角色和工作空间。 +- 运维模块不得读取 `model_platform.users.password_hash`,不得写现有平台任一业务表。 +- 模型平台不写判级、处理、报告、流程或配置表。 +- “手工同步”不再复制数据;其含义调整为“校验最新发布批次并重建派生判级”。 +- 报告汇总、知识库和工作台不单独建冗余汇总表,首期由业务表查询生成。 + +## 3. 总体架构 + +现有服务拓扑保持不变。运维能力作为 FastAPI 后端内的新 bounded context 接入,但增加第二套数据库连接: + +1. 浏览器继续经 Nginx 访问 React SPA 和同源 `/api/v1/*`。 +2. `DATABASE_URL` 继续连接 `model_platform`,只承担现有认证、工作空间、存储和调度能力。 +3. 新增 `OPERATIONS_DATABASE_URL` 连接 `model_operations`,承载全部运维业务数据。 +4. 模型平台模块或调度任务直接写新库的 `ops_*` 源表。 +5. 批次发布后,运维服务计算并保存规则判级快照。 +6. 运维 API 联查新库源数据、判级和处理结果;用户显示名等按需只读平台库。 +7. 报告生成、提醒等动作写新库 `ops_outbox_events`;接入异步阶段时让 Schedule Executor 增加运维库轮询连接。 +8. 报告文件、流程材料继续复用平台库 `storage_objects` 与现有对象存储服务,运维库只保存对象 ID。 + +配套图: + +- `A卡模型运维模块-系统架构-V0.2.png/.svg` +- `A卡模型运维模块-数据域关系-V0.2.png/.svg` + +修改 YAML 后运行 `python3 docs/architecture/render_diagrams.py` 可重新生成两种格式;脚本依赖 `diagrams`、`pyyaml` 和本机 Graphviz。 + +配套建库建表脚本位于 `docs/database/model_operations-V0.1/`,包含 24 张表、1 个视图、四类模型大类种子数据和静态安全校验脚本;原始平台 DDL 已只读归档到 `docs/database/reference/`。 + +## 4. 数据设计约定 + +- 表名前缀统一为 `ops_`,与现有模型平台表隔离。 +- 全部 `ops_*` 对象均位于独立 `model_operations` 库。 +- 主键统一使用 ULID `CHAR(26)`;日期时间统一 `DATETIME(3)`。 +- 月份在库内用 `DATE` 且固定为当月 1 日,API 序列化为 `YYYY-MM`。 +- KS、PSI、IV、CSI、坏账率和降幅在数据库中统一存 **0~1 比率**,使用 `DECIMAL(12,8)`;API 转换为 0~100 的百分数。 +- 沿用当前仓库约定:不创建物理外键,使用 `fk_*` 逻辑索引并在服务层校验完整性。 +- 可修改业务状态表使用 `state_version INTEGER` 做乐观锁。 +- 需要删除的配置或流程数据采用 `is_deleted`、`deleted_at` 软删除;监控历史不允许删除。 +- 所有根业务表包含 `workspace_id`,避免未来多个项目空间数据串用。 +- `workspace_id/user_id/storage_object_id/platform_versions_id` 是对 `model_platform` 的逻辑引用,不建立跨库物理外键。 + +## 5. 表清单与归属 + +### 5.1 模型平台可写源表(7 张) + +| 表 | 用途 | 核心唯一性 | +|---|---|---| +| `ops_banks` | 银行主数据及无极银行标记 | `(workspace_id, bank_code)` | +| `ops_model_instances` | 银行下的模型实例、通用模型关系、当前版本 | `(workspace_id, model_id)` | +| `ops_model_versions` | 版本、开发指标和生命周期日期 | `(model_instance_id, version_label)` | +| `ops_monitor_batches` | 月度写入批次、修订号、发布状态和校验和 | `(workspace_id, source_system, monitor_month, revision_no)` | +| `ops_monitor_results` | 模型单月原始排序性、KS、PSI和样本量 | `(batch_id, model_instance_id)` | +| `ops_monitor_feature_metrics` | 单月特征级 IV、CSI及贡献变化 | `(monitor_result_id, feature_code)` | +| `ops_monitor_distributions` | 评分分箱或特征分箱的基准期/当期分布 | `(monitor_result_id, dimension_type, feature_code, bin_order)` | + +`ops_model_categories` 为运维模块维护的固定字典,模型平台只有读取权限。首期种子为 `std / bai / big / afd` 四类。 + +### 5.2 运维模块独占业务表(15 张) + +| 数据域 | 表 | +|---|---| +| 字典 | `ops_model_categories` | +| 判级与处理 | `ops_rule_versions`、`ops_rule_items`、`ops_monitor_evaluations`、`ops_monitor_reviews` | +| 报告治理 | `ops_reports`、`ops_report_revisions`、`ops_report_template_versions`、`ops_prompt_versions`、`ops_prompt_regression_runs`、`ops_bank_report_configs` | +| 流程与材料 | `ops_workflows`、`ops_workflow_stages`、`ops_documents` | +| 使用统计 | `ops_usage_events` | + +不新增通知任务表;通知和后台报告任务复用新库 `ops_outbox_events`。若后续需要展示逐次送达结果,再增通知投递日志表。 + +### 5.3 运维库技术表(2 张) + +- `ops_outbox_events`:与运维业务写入同事务提交的后台事件。 +- `ops_consumer_inbox`:异步消费者幂等去重。 + +新库合计 **24 张表 + 1 个当前监控结果视图**。不直接写 `model_platform.outbox_events`,防止运维事件污染现有模型调度事件流。 + +## 6. 核心表字段初稿 + +### 6.1 模型与版本 + +`ops_model_instances` + +- `model_instance_id`、`workspace_id`、`bank_id`、`category_id` +- `model_id`、`model_name`、`model_status` +- `current_version_id` +- `is_common_model`、`common_source_model_id`、`common_model_name` +- `source_updated_at`、`created_at`、`updated_at` + +`ops_model_versions` + +- `model_version_id`、`model_instance_id`、`version_label`、`version_status` +- `developer_user_ref`、`developer_display_name` +- `development_date`、`iteration_start_date`、`last_iteration_date`、`iteration_reason` +- `escort_start_date`、`escort_end_date`、`online_date`、`offline_date` +- `development_ks`、`development_psi`、`max_lift` +- `scoring_logic_storage_object_id`、`source_updated_at` + +模型实例只保存当前版本指针,所有生命周期和开发指标按版本留存。 + +### 6.2 监控批次和原始结果 + +`ops_monitor_batches` + +- `batch_id`、`workspace_id`、`source_system`、`source_batch_no` +- `monitor_month`、`revision_no` +- `batch_status`:`writing / published / failed / superseded` +- `expected_model_count`、`written_model_count`、`feature_row_count`、`distribution_row_count` +- `checksum_sha256`、`generated_at`、`published_at`、`failed_reason` + +`ops_monitor_results` + +- `monitor_result_id`、`batch_id`、`model_instance_id`、`model_version_id`、`monitor_month` +- `ranking_result`:`matched / unmatched / not_applicable` +- `ks_value`、`psi_value` +- `sample_count`、`good_count`、`bad_count` +- `source_result_json`:仅保存尚未结构化且确有追溯价值的源字段 +- `calculated_at`、`created_at` + +源表不保存 A/B/C、异常等级、处理建议或报告状态,避免两个模块同时改一行。 + +### 6.3 判级快照 + +`ops_monitor_evaluations` + +- `evaluation_id`、`monitor_result_id`、`rule_version_id`、`rule_item_id` +- `ks_mom_drop_rate`、`secondary_level2_hits_6m` +- `abnormal_level`:`normal / level1 / level2 / level3` +- `monitor_grade`:`A / B / C` +- `reason_code`、`reason_text_snapshot`、`action_snapshot` +- `is_current`、`evaluated_at` + +每次规则发布或源数据修订都新增判级记录;旧快照不覆盖。页面默认读取 `is_current=1` 的记录,历史报告仍绑定生成时的判级快照。 + +### 6.4 两段处理 + +`ops_monitor_reviews` + +- `review_id`、`monitor_result_id`、`evaluation_id` +- `review_stage`:`model_initial / business_final` +- `review_status`:`pending / handled / auto_closed` +- `decision`:`no_action / tune_or_rebuild` +- `handling_note`(手工处理必填) +- `due_at`、`handled_by`、`handled_at`、`auto_closed_at` +- `state_version`、`created_at`、`updated_at` + +唯一约束为 `(monitor_result_id, review_stage)`。模型团队阶段完成后才创建或激活业务团队阶段;超时任务通过 Outbox 执行默认“不处理”。 + +### 6.5 报告 + +`ops_reports` 保存报告主状态与绑定快照,`ops_report_revisions` 保存每次正文修改: + +- 报告绑定 `monitor_result_id + evaluation_id + template_version_id + prompt_version_id`。 +- `ops_report_revisions` 使用 `(report_id, revision_no)` 唯一约束,正文和结构化快照均不可变。 +- 监控报告页默认只查询最新监控月份;报告汇总页查询全部历史。数据库不删除旧月份报告。 +- PDF/Excel 等文件通过 `storage_object_id` 指向现有 `storage_objects`。 + +### 6.6 流程、材料与知识库 + +- `ops_workflows`:银行、模型大类、模型实例、独立开发/复用通用模型、当前阶段、状态和计划日期。 +- `ops_workflow_stages`:1~7 阶段实例、负责人角色、开始/截止/完成时间、确认状态和停滞天数。 +- `ops_documents`:同时支持 `storage_object_id` 和 `external_url`,可关联流程、阶段、模型和版本。 +- 知识库不是新表,而是对 `ops_documents` 按银行、模型、版本、环节和通用模型标记查询。 + +## 7. 发布协议 + +模型平台每次写入必须执行以下协议: + +1. 创建 `ops_monitor_batches`,状态为 `writing`,携带幂等的 `source_batch_no`。 +2. 幂等写入银行、模型实例和版本;插入本批次结果、特征指标和分布。 +3. 校验模型数、明细行数、必填字段、指标范围和 SHA-256 校验和。 +4. 在一个短事务内将批次改为 `published`;同月份上一修订改为 `superseded`。 +5. 写入 `monitor_batch.published` Outbox 事件,触发运维模块生成判级快照。 +6. 运维查询只允许关联 `published` 批次,并按最高修订号取当前结果。 + +失败批次保留为 `failed` 供排查。任何已发布结果、特征和分布均不得执行 `UPDATE` 或物理删除。 + +## 8. 数据库权限 + +建议生产环境至少分四类账号: + +| 账号 | 权限 | +|---|---| +| `schema_migrator` | 仅部署时使用,可对 `model_operations` 执行 DDL;不改 `model_platform` | +| `platform_reader` | 对平台库指定字段只读;禁止读取密码散列和权限内部表 | +| `model_writer` | 读取字典;对新库 7 张源表执行限定 `SELECT/INSERT/UPDATE`,并插入发布事件;无 `DELETE`,不能写运维独占表 | +| `operations_app` | 读写运维库;只读平台库必要表;服务层禁止修改已发布源结果 | + +若模型任务与运维 API 暂时运行在同一 FastAPI 进程,代码层仍按平台库/运维库两个 session factory 和 repository 隔离;生产批处理脚本优先使用独立 `MODEL_WRITER_DATABASE_URL`,将权限边界落实到数据库。 + +## 9. API 设计 + +### 9.1 首条真实纵向链路 + +保持前端已写好的路径,不重新发明契约: + +| 接口 | 主要数据来源 | +|---|---| +| `GET /api/v1/operations/models` | 模型实例 + 当前版本 + 最新已发布结果 + 当前判级 + 最近处理 | +| `GET /api/v1/operations/models/{model_id}` | 单模型完整元数据和最新状态 | +| `GET /api/v1/operations/models/{model_id}/monitor-results?month=YYYY-MM` | 指定月最新已发布修订 + 当前判级 | + +所有接口返回现有 `{ data, meta? }` 包装。切换 `VITE_OPERATIONS_API_MODE=api` 前,前端 `operationsApi.ts` 需要统一附加当前 `workspace_id`,用于选择并校验数据空间。 + +### 9.2 后续资源接口 + +- 查询:`/model-categories/overview`、`/banks/overview`、`/monitor-results`、`/monitor-results/{id}/features`、`/monitor-results/{id}/distributions` +- 处理:`/monitor-results/{id}/reviews/model-initial`、`/reviews/business-final` +- 报告:`/reports`、`/reports/{id}`、`/reports/{id}/revisions`、`/reports/{id}/send` +- 流程:`/workflows`、`/workflows/{id}`、`/workflows/{id}/stages/{stage}`、`/documents` +- 治理:`/rule-versions`、`/prompt-versions`、`/report-template-versions`、`/bank-report-configs` + +列表统一支持分页、排序和与 V1.9 筛选框一致的查询参数;Excel/PDF 导出走独立端点,不让普通列表接口返回超大数据集。 + +## 10. 登录与角色 + +- 不增加运维 RBAC 表,也不接管现有权限管理模块。 +- API 复用登录 Cookie、`Users`、`Roles` 和当前工作空间,不创建新的角色或权限数据。 +- 新增轻量 `operations_context`:校验用户已登录且可访问所选工作空间;业务角色取与 `/api/v1/auth/me`、前端 `AuthUser.role_code` 相同的登录角色来源,避免前后端角色口径不一致。 +- 角色映射约定:`admin` → 管理员;`developer/model_team` → 模型团队;`business/business_team/biz` → 业务团队。 +- 前端按角色决定页面呈现,后端仍必须按角色校验写操作,不能把前端隐藏按钮当安全边界。 +- 角色代码最终值由登录/权限模块给出,运维模块只维护一处映射常量。 + +## 11. 代码落位建议 + +沿用现有 router / schema / service 分层,每个文件不超过 500 行: + +```text +common/src/common/db/models/operations/ + reference.py models.py monitoring.py governance.py + reviews.py reports.py workflows.py usage.py +backend/src/backend/api/operations/ + __init__.py _deps.py models.py monitoring.py reviews.py + reports.py workflows.py governance.py +backend/src/backend/services/operations/ + queries.py evaluation.py publishing.py reports.py workflows.py +backend/src/backend/schemas/operations/ + common.py models.py monitoring.py reports.py workflows.py governance.py +``` + +运维 ORM 使用独立 Alembic 版本线和 `OPERATIONS_DATABASE_URL`,不能让现有 `model_platform` 基线迁移误扫新表。`backend.main` 创建第二个 engine/session factory 并只注册一个 `operations_router`;业务规则不写进路由文件。 + +## 12. 实施顺序 + +### P0:首条真实链路 + +1. DBA 审核并创建 `model_operations`;建模型/版本/批次/结果/特征/分布及规则判级 11 张核心表。 +2. 导入一组 2026-07 样例数据并走完整 `writing → published` 协议。 +3. 实现三条既有 API,前端追加 `workspace_id` 后切到 API 模式。 +4. 验证列表、模型详情、单月监控详情数值一致。 + +### P1:业务闭环 + +实现两段复核、报告及修订、七阶段流程、材料和知识库。 + +### P2:治理与运营 + +实现规则版本、Prompt 回归、模板版本、使用统计、提醒和导出优化。 + +## 13. 开发前需共同确认的 5 项 + +以下均给出推荐默认值;未得到反对意见时可按推荐值实施: + +1. **模型 ID 唯一性**:推荐 `model_id` 在工作空间内全局唯一,不只在银行内唯一。 +2. **指标单位**:推荐数据库存 0~1 比率,API 输出百分数;禁止两种单位混写。 +3. **批次粒度**:推荐一个来源系统每月一个全量批次,勘误整体升修订号。 +4. **工作空间范围**:推荐全部根表带 `workspace_id` 并逻辑引用 `model_platform.workspaces`,即使首期只有一个 A 卡项目空间。 +5. **模型开发材料**:推荐运维表同时支持对象存储文件和模型平台链接,避免重复上传。 + +这 5 项确认后即可开始 ORM、Alembic 迁移和首条真实接口实现。 diff --git a/docs/architecture/A卡模型运维模块-数据域关系-V0.2.png b/docs/architecture/A卡模型运维模块-数据域关系-V0.2.png new file mode 100644 index 0000000000000000000000000000000000000000..eed4eed998b980ab84cd2b2ff5a7a99e8731f04e GIT binary patch literal 445855 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 + + + + + +A 卡模型运维模块 · 双库数据域关系 V0.2 +平台标识只读引用,运维业务全部落入独立库 + +A 卡模型运维模块 · 双库数据域关系 V0.2 +平台标识只读引用,运维业务全部落入独立库 + +cluster_model_platform · 现有库(只读依赖) + +model_platform · 现有库(只读依赖) + + +cluster_model_operations · 模型方受控直写(7 张) + +model_operations · 模型方受控直写(7 张) + + +cluster_model_operations · 运维判级与处理 + +model_operations · 运维判级与处理 + + +cluster_model_operations · 报告、流程与运营 + +model_operations · 报告、流程与运营 + + + +5e390f22af134f76b948b6179f886986 + +users + roles +用户与登录角色 + + + +fa2425ff55b64fb68447fbe9df6124c2 + +ops_monitor_reviews +模型初审 → 业务终审 + + + +5e390f22af134f76b948b6179f886986->fa2425ff55b64fb68447fbe9df6124c2 + + +处理人 ID / 显示名 + + + +f7ad9eee12d4406182ca79edef7e10cc + +ops_workflows + stages +七阶段流程 + + + +5e390f22af134f76b948b6179f886986->f7ad9eee12d4406182ca79edef7e10cc + + +发起人 / 经办人 + + + +2f8f6abee8874b8083218fafe3dfceb4 + +workspaces + members +项目空间与成员 + + + +9f7470d84e0f495d9e32d9e83ee777ae + +ops_model_instances +模型实例 + + + +2f8f6abee8874b8083218fafe3dfceb4->9f7470d84e0f495d9e32d9e83ee777ae + + +workspace_id 逻辑引用 + + + +b5bf8bfd876b4a8298364b8832b1a1f8 + +storage_objects + versions +文件与开发制品 + + + +d63ec4b0c1f54f28a1b6e9e25ced7720 + +ops_model_versions +业务模型版本 + + + +b5bf8bfd876b4a8298364b8832b1a1f8->d63ec4b0c1f54f28a1b6e9e25ced7720 + + +可选开发制品引用 + + + +52370f80438a4639b04449518b48b710 + +ops_documents +材料 / 知识库索引 + + + +b5bf8bfd876b4a8298364b8832b1a1f8->52370f80438a4639b04449518b48b710 + + +storage_object_id + + + +0eef55ad5f8e482d84f70346e8a07c51 + +schedules + runs +模型计算任务 + + + +e39a175c784d4021862ca0594e08476b + +ops_monitor_batches +发布批次 / 修订 + + + +0eef55ad5f8e482d84f70346e8a07c51->e39a175c784d4021862ca0594e08476b + + +计算任务产出 + + + +cd5ab313d36f43718a23c57ae60110d3 + +ops_banks +银行 + + + +cd5ab313d36f43718a23c57ae60110d3->9f7470d84e0f495d9e32d9e83ee777ae + + +1:N + + + +9f7470d84e0f495d9e32d9e83ee777ae->d63ec4b0c1f54f28a1b6e9e25ced7720 + + +1:N + + + +9f7470d84e0f495d9e32d9e83ee777ae->f7ad9eee12d4406182ca79edef7e10cc + + +开发 / 复用通用模型 + + + +c270303679e04e67b03d65b8a341a0a3 + +ops_monitor_results +单月原始指标 + + + +d63ec4b0c1f54f28a1b6e9e25ced7720->c270303679e04e67b03d65b8a341a0a3 + + +版本快照 + + + +e39a175c784d4021862ca0594e08476b->c270303679e04e67b03d65b8a341a0a3 + + +published 后可见 + + + +a96305dd888e46aba9b6b0ff43b5317f + +ops_monitor_feature_metrics +IV / CSI / 贡献 + + + +c270303679e04e67b03d65b8a341a0a3->a96305dd888e46aba9b6b0ff43b5317f + + +1:N + + + +164a58bf45ff4224aa7f5e8ec2378bf7 + +ops_monitor_distributions +评分 / 特征分箱 + + + +c270303679e04e67b03d65b8a341a0a3->164a58bf45ff4224aa7f5e8ec2378bf7 + + +1:N + + + +5aef5a7b826344848389149b9879e85b + +ops_monitor_evaluations +判级快照 + + + +c270303679e04e67b03d65b8a341a0a3->5aef5a7b826344848389149b9879e85b + + +原始指标 → 判级 + + + +12ba8a67ad2f4749b9fb5da5367a4c50 + +ops_model_categories +固定大类字典 + + + +12ba8a67ad2f4749b9fb5da5367a4c50->9f7470d84e0f495d9e32d9e83ee777ae + + +1:N + + + +08cea7b88ab94490a5a850f76ad9efd8 + +ops_rule_versions + items +规则版本与矩阵 + + + +08cea7b88ab94490a5a850f76ad9efd8->5aef5a7b826344848389149b9879e85b + + +按已发布规则计算 + + + +5aef5a7b826344848389149b9879e85b->fa2425ff55b64fb68447fbe9df6124c2 + + +触发两段处理 + + + +d67d14f80f4b4ce39377cb6b59ae2311 + +ops_reports + revisions +报告与不可变修订 + + + +5aef5a7b826344848389149b9879e85b->d67d14f80f4b4ce39377cb6b59ae2311 + + +绑定判级快照 + + + +c395893276dd4282beb453109dd0f4c7 + +ops_outbox + inbox +独立异步事件流 + + + +d67d14f80f4b4ce39377cb6b59ae2311->c395893276dd4282beb453109dd0f4c7 + + +生成 / 提醒事件 + + + +5ff3174966bd40cc958a6b27dd619911 + +模板 / Prompt / 回归 +按银行报告配置 + + + +5ff3174966bd40cc958a6b27dd619911->d67d14f80f4b4ce39377cb6b59ae2311 + + +模板 + Prompt + + + +f7ad9eee12d4406182ca79edef7e10cc->52370f80438a4639b04449518b48b710 + + +阶段材料 + + + +1cd6cd505e6d4bcb90641198590c283d + +ops_usage_events +登录 / 需求 / 报告行为 + + + diff --git a/docs/architecture/A卡模型运维模块-数据域关系-V0.2.yaml b/docs/architecture/A卡模型运维模块-数据域关系-V0.2.yaml new file mode 100644 index 0000000..c2856a9 --- /dev/null +++ b/docs/architecture/A卡模型运维模块-数据域关系-V0.2.yaml @@ -0,0 +1,71 @@ +title: "A 卡模型运维模块 · 双库数据域关系 V0.2\n平台标识只读引用,运维业务全部落入独立库" +direction: LR +formats: [png, svg] +theme: + font: "PingFang SC" + title_size: 24 + node_size: 10.5 + edge_size: 8.8 + splines: spline + nodesep: 0.5 + ranksep: 0.82 + dpi: 180 + pad: 0.5 + size: "21,13!" +clusters: + - name: "model_platform · 现有库(只读依赖)" + style: { bg: "#F5F6F8", pen: "#AEB7C4", dashed: true, margin: 18 } + nodes: + - { id: identity, label: "users + roles\n用户与登录角色", icon: flowdb } + - { id: workspace, label: "workspaces + members\n项目空间与成员", icon: flowdb } + - { id: artifacts, label: "storage_objects + versions\n文件与开发制品", icon: flowdb } + - { id: platform_jobs, label: "schedules + runs\n模型计算任务", icon: flowdb } + - name: "model_operations · 模型方受控直写(7 张)" + style: { bg: "#EEF5FD", pen: "#6F9ED4", margin: 18 } + nodes: + - { id: banks, label: "ops_banks\n银行", icon: flowdb } + - { id: models, label: "ops_model_instances\n模型实例", icon: flowdb } + - { id: versions, label: "ops_model_versions\n业务模型版本", icon: flowdb } + - { id: batches, label: "ops_monitor_batches\n发布批次 / 修订", icon: flowdb } + - { id: results, label: "ops_monitor_results\n单月原始指标", icon: flowdb } + - { id: features, label: "ops_monitor_feature_metrics\nIV / CSI / 贡献", icon: flowdb } + - { id: distributions, label: "ops_monitor_distributions\n评分 / 特征分箱", icon: flowdb } + - name: "model_operations · 运维判级与处理" + style: { bg: "#F1F8F5", pen: "#74A087", margin: 18 } + nodes: + - { id: categories, label: "ops_model_categories\n固定大类字典", icon: flowdb } + - { id: rules, label: "ops_rule_versions + items\n规则版本与矩阵", icon: flowdb } + - { id: evaluations, label: "ops_monitor_evaluations\n判级快照", icon: flowdb } + - { id: reviews, label: "ops_monitor_reviews\n模型初审 → 业务终审", icon: flowdb } + - name: "model_operations · 报告、流程与运营" + style: { bg: "#FAF6EE", pen: "#C5A467", margin: 18 } + nodes: + - { id: reports, label: "ops_reports + revisions\n报告与不可变修订", icon: flowdb } + - { id: governance, label: "模板 / Prompt / 回归\n按银行报告配置", icon: flowdb } + - { id: workflows, label: "ops_workflows + stages\n七阶段流程", icon: flowdb } + - { id: documents, label: "ops_documents\n材料 / 知识库索引", icon: flowdb } + - { id: usage, label: "ops_usage_events\n登录 / 需求 / 报告行为", icon: flowdb } + - { id: events, label: "ops_outbox + inbox\n独立异步事件流", icon: flowdb } +edges: + - { from: identity, to: reviews, label: "处理人 ID / 显示名", type: dep } + - { from: identity, to: workflows, label: "发起人 / 经办人", type: dep } + - { from: workspace, to: models, label: "workspace_id 逻辑引用", type: dep } + - { from: artifacts, to: versions, label: "可选开发制品引用", type: dep } + - { from: artifacts, to: documents, label: "storage_object_id", type: dep } + - { from: platform_jobs, to: batches, label: "计算任务产出", type: dep } + - { from: banks, to: models, label: "1:N", type: plain } + - { from: categories, to: models, label: "1:N", type: plain } + - { from: models, to: versions, label: "1:N", type: plain } + - { from: batches, to: results, label: "published 后可见", type: write, width: 2.0 } + - { from: versions, to: results, label: "版本快照", type: plain } + - { from: results, to: features, label: "1:N", type: plain } + - { from: results, to: distributions, label: "1:N", type: plain } + - { from: rules, to: evaluations, label: "按已发布规则计算", type: dep } + - { from: results, to: evaluations, label: "原始指标 → 判级", type: write, width: 2.0 } + - { from: evaluations, to: reviews, label: "触发两段处理", type: flow } + - { from: evaluations, to: reports, label: "绑定判级快照", type: flow } + - { from: governance, to: reports, label: "模板 + Prompt", type: dep } + - { from: models, to: workflows, label: "开发 / 复用通用模型", type: flow } + - { from: workflows, to: documents, label: "阶段材料", type: write } + - { from: reports, to: events, label: "生成 / 提醒事件", type: async } + diff --git a/docs/architecture/A卡模型运维模块-系统架构-V0.2.png b/docs/architecture/A卡模型运维模块-系统架构-V0.2.png new file mode 100644 index 0000000000000000000000000000000000000000..84121889a687c97c8a1a63a84efd14406bb980ed GIT binary patch literal 368784 zcmeFZ^;^_ixHr5FL_t7WrF4*xRJu_Zx};+WC8fJdRHVD4rDNzGT0$C>?rw&mJLX-u z_j8@|7Rcdy!z)K%=-Jc!6SI5 zwJzY@J$)Go=s)P2mmdu|QUCn&>>nxUTNRfiyJ25v>pts1+rKrO1VTC| z-C=e5*6<(W?mLd#I(IQ{)usCrD=OZ_&pMeUkhDYdB!t`&`B-&vopOO>=e0LpZT^a! zaXm=Rct#L#AN;=mxpiZ%nc)4;r{JS`g>P?g|Mw$5$e)Mb`QH!FOWa@n-=F`}jenc> ze?Rca?(6^ki2oMk|JLGvcEA=>^CmntRvg;R!0>c) z)5v8NiL{9DCn834cXwkrJ;L(M%gcjiW@l&T=QALJI@U~#j0qyDs<`5Mm|GREZnd;f z=d0y0Wqf(_>`?$TFmMoUgulO`Ji?$F9UZ;gG+OLIC-GM`*NZSE0Hn15$q z-;xbczB*iO(fsQD-rj?6-|k^yVTql{O5Vr9#XTdMtTR!drfwzBd(F-mG_ZspQB+hU zFvgsPL?YL}Ye3jIUi}^&Whj8{c05v6jw-wQih1+*pWgW)^0yj$CC!J2%L^9r9aU)6 zeK43vL3mbE7VpQ!^H>~e3?y=6Z`m)6ZjUC{KBQttZIrJStmG%UR|}1L z<2*S&?Hbb8L1E6dU5om0TaW$h9+gk&7oZ%l+I>{_Q}mdMk7@19TT>*>Ch)5F;uXecvtGPz=lbMU-xYf-dirCUQLnryrV5=yT-U>1S z!{7djSqQZN@TBJ4=RN0lBYb7ZBcq~L1kAd7{nN=#YfH=D)w2{zMIX=91rjrs#Y)G>E-exI zuY=Dirm7iH&0dd%QU}%!><{d`kKcHSJqQR0OBKM!@_m_?S1{bw`TNz2L&C6uCdU(0 zq%XE1QT3I$ot<5}fxf=}(#^erL56{T<5xdS?}uHTosUlb3=eBmEvG^hj<}vZJ2kkE z@9N?jLcuHIwAOS!ffBTN#m?9>(&srix8(iCb_(wR*)CJ{!OHm9Ug8FE{Id&x`|R)5 z^3JZW7wGyPIDk&5yMOn#P%7)l0gS3~n1zOhrpsi->-xGbP>+(saq%umCs8r7Gwr* z;A8M6sPjwVE%e^`d8w_frsl-vrdgRgU!ATIS;jZKsF^5#4o(iFg{6EdKNa|y$o8Jt zzC>bINz=@n9Cw!)`Z8GRtXjg;r&;x*2i88?8TW9cT^Vi``;+j)ztHFtn!2m2i|X^2 z38#?F5yr=4=;^&^xUUR_)eIuB$#ZSilm7(8xEubOkXEYFMc45)=WG0?Wjh1|1A|4P z;5r?I*vKfd)7?dY65p1Gd~e@$QL7?cAuUcv+dnroq*B0#+^^MEqoPDBh5_b;1RItA z1Q`+-Xm@F{7ZwmVi|KVrbRO?t>xj}G&o{-R6fzXHu4d6`3jr01%hPQ~*y9Ba=h0bD zT%lG4{odp5CECvdMF>4Q2(I5yow|apfpB6YxCnHRVpz2yrkz5H;8cZW9a4s9!p9#h ztQsj>Lt%(x>ZL(vf4?TOrl50(L|k1WN8cBV(|k17z)CmAX`8RI59jb`h4&Rdep z__uEjwa%o~9qk<^CMKjVl2fCF3aR`GP*N7XqW9W199Hk&KZ_4%o$1Z$llEOw@H2CiEr{MSd5-LoDn&*$97y6%j;P-9Mz zF)kg+SF;=(AKZyS7uKD`vS^)R_iLHz_7sR8ZKkCPm&XML21-jy|Gf_k)E1+m$x2E} zYRi0au6AOoRSK@;FXG^kkdRR;KcJW?OAfZmAV> zz!ftb404v2msj9p)9&-k6E1U8i2xW7OW>06xwgz%xM|#6oKxk0>C372&!vNQd~Ey~ zgtssajabr)tM^{Tmsh&P0vXAf@)UeTyvo`i?oCcq#`=FAWM^|iPRKxY_?^wB@<*J% z?0Ijax{M>qEzd2VbBIew|LB?{}$f)Gx?W;~d|9sU#t*wirbO21I!FE$G)|*2(TX(gb(e&T( z>Xz&6>ucCVr4;XNMSovplX$slwi(%O*i>mgR$Pv==Mkgt#Ki@kIlv{ULf*5rMm;V4 zubTUd)Wc91s03c?>$(#ksKe19#!<_XpW+f7w4*JTp0Tcuhjjd{YSw)H+GW=gB*K5i zMyW16-GEj;G39%7+ln1`kl;-H?73^#DmRP1oH|*X@F8UZ65sPF2KO zxUTG^#>5ofU@d7QCnv58hnV1d@$p01xRlS5i_z};%Mk`0J%(Qg^y=S}ZES3S>(*u8 ziPe#{k8ZInxF~tU!Xnhz>8hMnY&>p3=d2velzrjIZF{vtV=R;25Q>G+t2X z^Y$(Euh6M_E6a;2%ax|2XwaUS^(qs5e+GwEIjK20Sy{2*udJ+4@Vjc@dtf6M8QR_D)8a=S@nR+(< z6q2B(uGo~cMYrbGd6mj^bgFX`WIXr#-0a?HZ_jQk-?;^ z?)rUonXQq60#IZ%c3xNQ?B!@a7V9yQS-Nta%-_Ze`sk$7hB&k@k!z;TAhG7kKvEK& z)+(i6rX8`qMWL>$Ix;#MSsUo`bav4F*zy(vH22P2dRJUqI}Ig=9BVU`;@Oh7SKQWj z{5xlcl&{~QEZ@A*aN(J%+BRoKY|UJ}$>B8Dd^!ex-(go&B3BhCyZX|IjHaWRU7_GREGEjl$NKH$mi*Uu zOAT(A#K_K6t2t#DH#(JOrq*F&qL8ddYg$lXq6oAb@OpdT;Ps1T14)0wpx9Aw*JkvB z+@)srKmuWE__LA6m#+;^$M-CzvK4kX8I%0i%YxuFbUi!=G71Ulz?r^Pq&->`oD zQiZF~LL%O|^j*32C2;nd4R@xdKUv>8IIVB#o)6qQh+`$pmJbUGTeIPT$Fi1hPEdPO z4UlnDs1<-U1qB1+_Co$js9lQ3$@Lv5C;=Uk9!WypXJw%X*K2IK?_A0LfFr3f+ed3l z?#pOsNSoz@6SI$gw{u4rl-)-WMy>ZEw*`b!E$LU__)JA3WL)Cn*KzQy%*>LIgE$sJ zms82<#$Tq0#zxAp4)^6P87Mh!PUjO_R{_e@ft*E!98>cdKMXtWooSu2k7-He!L^#E4L4X|l?+!L-k8&*Yh3Yo4JQpYgJPqo*4lnIIP}7uO38hoNH%+#nK? zlfM9M7xv~a8s7C@kkJ?iD;6NBu0G~9IqVnaDg5oL2i6txq`Rr>1cO}on^Zd%hFWgt zj*Q0l<%dbKP(wqg;fpD?ch9<*BqU&o#BnOcx^kPj$CgtiI*T-MUYeF#mGvISvaZGO zlhZC`uDtovKN*~yoSGRumF6c6RI?{u^pBQtO3K~I9@)%YJfF(S&rd*?y10qoOT1Fp zntJkBE+DRHRc`qAJ7K5YPb$=51E~V7DgLz%n>@yC_q%i$M~etqwT|m#q@`y|O%xEi zBJ~a{h5XKOe1*@_0pegv;8xFvJ%|iz5%4_ri1=cluN0Y|zbP%@2a3WMiBJ@;O}J{L zT%v$!_t&Ns0mK}mcWOr?l*4fT)6)@n`LCMO)4bzy|BuVNAIh^82%Wvwmktgm>_;`( zLioKl4~sl6Dmge=lLak*6tk{nwZ|mHhBOB4oz@roXh-B}L|p1NU|m0sY`RijUsFg+ zZD+N25rEV>wENOHiDKet3wWm>*^6gtHm2KUXdXwZ4y2G(TMhK}ftuzre^nw;T_i>c zd30aEde(4?Yt-|F^V#XS*8^>#!-A1@k*;9mnh{xbTtNmTVGxRt0;PTd^zr^rT z&&H{to2#JE?d8jt6BCCs^`4mcI!=yPFMYH(KoJh4@+SPV#;ON}L;$rRBJH{PYc@6r z1h1G3^r}cqA=m5r68k`B&EdQ#be<>FFmt)wbnouRS)nk_Cc#sZVi6)TQfF||Y}f7` zZ9aMOq#Hfd^={Ub9G`;MDcCNhod27KJ=pILO>HI_@I zMZM&5Y0GW?@l2U8YRk9ambmaGZ6FlF)sbD}bM+iLr=JcXa-KXI5OR z^&pP-GJ^I>kcE*k(J}~{zFl|nC<3&g#RRS@tohhv{&vDCTuPqzzm}zx)-(}LSA})X z0qeCv<*O&IVfwGBzbdcwmxf$lofB`pIa^s?wwP;JL;40mB677x@~60p;IFK^BYnyKD$z06@KnZL)YSzzND?NKnP@L{%rJ5zBeP2Lt7=LOU0uqH;gP|?giFtP z6EppmwFAPa$ZK2eM(;6P*HIP10BDg#F9QP(nTPuGxQO^Jt_tjKuRt-F49t$8KPid) z*zZSnHZ5-?Th)qBwvKa*nqr5`TmKlJchiWMe2Z z(-5*~!!z2@1S8q&uEv_#P^Kl0^)WU3C`-=mG*q<>UAEiSvb}>~U+XUqDa{b?)~Kj- z?1}v)E^fQG2e8BQv^1sim>bC7oO;WL{O@~KR@Q-$z7R{ak+}?Xw4tzSdy@Il{d%ie zEdlGI)e}zHCJZ>GV1b*5rxhhJg{6_X1ayYaIX2-VDy6#GZ!BanWqPuk0WEq4xNnI` znNlo^bNAfo<%*12WT%C8otD5P+u`y=d0SiNVA5ML)hyUre^%X`>(Bn#@=5ew zt0>0<5*WVO;OQQK?I#TlG~TrY7eBdQ^U;3O5mE9G5$VBAZetBY&W)vO4lU|#jd2^! zdq+uO`HGNqJ|TM&LMA9ZeSNvoV~!eYXH`{I*xTsZSn~4z zzTMoLnhJ$^YTk-!Y@F@yOC<9YzRIuw{LuiOEtkqBRnG-eap1VP4HXQkjofKApi?N# zFAG@e*!XBJlad2Uz?XBhNI@FYSo9MtihZXO05Y(0oS1>}BKOVR3}n z^~z%4*4&p18ohqql3jq)pd9YM9P)YYb6xArJ5ky$(nUi$7 z3hztF$gu8rIMiJ`Hg-E%YRQm1%g)T6b)T1mg0nPJ*Nt_2u5mP3@98J`q87En>3z&( zbhg^{0+ROb@%ak&R4hY(PjRefU(Klt#Et6ozpX*_;J+=hGkeEcjq2T8OL~fqYQ0CSLn%Sv{f_4T@?^DTMovx~;GT(z?n}qpKHgF}$jGwt@}23Xfhx)6!Sej zQt5;JKUjBfr@fQB0ab0vCEY1wrBVhmU8$dmLx4s^0dAI-IuyyEVeD~a0-~E-(RdhR*^uImY$`Q8s70Pzyd1an%sgqIrfewY1D=yz zmh?UvDpu>d#uZfTPd|U<-ldbmZS_q8`bcqx&ylYJ6wcSBrN{QGnkQ9dl~to-V?Ewn zY44z7Gi@#O3=GE`BL|0w1L!hp;U#}~ojdw1;F~vW$PqQJXs15!hi8%D7(^nbTOkKm z13MsKz18p8*&T#JTAD?Mbe6Q(b&2(y=T+e-99FOS`bPSlclP=B>f@0TQ!HI9zr@d@ zXFNfTC{NFpdh)9oK6*@ai1K`IJJudCSdDIOvo?CdcK@qLmF>*dy~OhZ4J&tTb@eze z$*Y%#<)>X2@Uh|(3O)hBxfXS!mN$BO+O`C#;Xregf?C3=&E7RN*5IWMn2^=-@kMUa zlsh1leVVdjddMfbrRk~4>kYJs$jB&z7Z~WdGT_6T+uOI#pTD+kPpDk1{2j}zX<>OZSF2x*nhpsJ zr4-b!K_1v6ru{qVtNK=FqbK=6nXF2VOyD!WzD?rfgc{#V8(7K(J81oT=gs|kTjuTT zB=D^h_VYhZA1X}?3Tn!wH8!TSE{Z9+Q$wh&ryE6~stoG=RIh;ozrVX@uptV87@|w` zinsRWa2hsOb>YT+pih^@{T080*7}S}qZ0kr{O0F@V0W}N!uTqjFyO07`aaLE(a8i1 zJ664hz|epQ#mRNl87TF-Gj&oiKila%uAE~LZA#w0d6rfzj?n^4o1;cUUS_5wdkFmV zGkd%JF<;c?=ueNBo66z+pV;Tk69-q!Ym^oZGr$2={y@!S6h>0X_ zl>uC__JkMjo;`{l$^1;o-3Ze`&PQb6Y>n-VHzpezKvjqswHcKRRVoB#>ZyeEm5VA( zna5rP(nPf`5ud{J2^aAdfr7NZQ*u0h{Qt55KtSj)rl)v6R&1F#+Fq*<^iq#hp^@R= zuegg<>tbD#Cs$KNL?;prM-NTOaXTiC%sfPH`?YE!dfy5Jd-~xf^LUDHsuWbPF!0sJ z$q9EIkI45Nunrz8Tj`f(W_jww$w;hWs&<|U9D81%lH)by^2DyYzoe(9yE2zo-`e3S z(52CxMUE!(Q;CXXx|KnmLlPR^r=>4?qj`adSL-?S3&I*5A7do!>?Li+fIp#-s3i}u z?Fbt?+{ie#Y35+HuabD?~aGHZJWanlN3ISFU0C_l6Y&FIqn*~$HGwzqVXXV>lDY|2V*!?d9B&DRfhTC57 z^YgO^T@M3xqNYaTnB^@@%EE6wUKZoeL*D;w1RnelCt!UdC=LjIm6esBMTKS>Zd5>D ze?DhqIGO-RpnhK0Oc!em?;K=%v4w@ZVlC^O)C=DEFh_D*kM`ya=v7$GNDBn4t8zO- z@(s-<>rJC>E6_jkV2)t=`QE=X-6~nj*chx0=+%x2#Z4WdFH2x{c4c8ZgjLL(dNlYn z9*pQ1lTyLGIWZ6Y&&ZU>7frvOlhqYMRhm+KgBSmLRHudiNtIC#d|MdRi%TuL&KREX zlaa+%YM&e?2)nD9Qr_mW9_8TVtn9RkkJr4mo_z!qk2Kf9+mvxVzg9?g4@XNs`x!k?6~b49lQ91Ze%$|b9gKLSA1;Q+$6nFMajMdTub z>yN;)G9MqGv@{| z0li8qLF`%pcvkxoCN`&_LE5+`V~tmlali&)VbP<8sH&OYZc4~!vEVQ<~dik9EMf4B~1gWsrI*CM4Ydc11c40tDSdgSI>glxX1D`D8(pkI@% zejVttuFJDE*MrzM&z_|N8I0R%Sklb;(%VP-kN5E63n5*7{lPN3iFRKMKXP1?jTT=c zFRzu8)Q=dMS?C#=jPo4{T#wI3Cm3Vy-$9Y<#Z4X11Aji}0Eao&2 zGpcCRN*3iLnR8hHHy~za4afl<3Mm8t1XMaYIxJIJw%$7;;|fpdP&%}HI&hhZ>YQ@k z34FM`xI}0**B}Aa;d6|BcmRxiT=d0`Xle&t7-f;6nb!CM-{d48!9ezaPJJ6B9>Kn? zDFgh$tBc` zu9p(#6uG-H1AWDenMDo`0jTMmopq*r=DW4j6ACWmRR9jqYLZ=r11=5D;CKR=M69k`G*iS8NPPn8m%L zmz9_LFty(+%6Og2IvO3bUt_yQ`mf%o(aaXUC%r^NzcK_SfSPr?+MdHQAUR6 z!EthLK>=u*J(^ZA(b4tjU3|!PvPz2A4*tUnUnGJ-+ycZm z#%paGkl0tJiS(^MsU?7?#hB3=OTmwA0le!JK6|byA?HOG)0BKV8k+J4itUSp1U=N@ z?&t+k^z+v7%EP0>%^hs#{q0ji9wJ3KtxM>|TM1I@t&`U1bw>`#&^@}_S$=?doI8M4G}EtgaPAH5J( z6`rse)w42Ni=rjM!np0@GE)OsMHS1B${1osYvxk(F+rhkUx&+c8NJl)d6GEgd+y;< zJxL9JWx0w}mI(8={wObx>+T0S=p>M}MD!Q47+FAwL#WI0Jr?EAK}_`do|)O#Jo-q1&jf~-4;-d@>-YF5$QynGT@-Vtk0aH^#Rj9)?` z);mj=>W;TfyuTbVGrcfp{0sI6zWfXJ!-!MEZ{$_5Rg=8VVh29BoopgpFG8oMwb9(x zB0`>#+VUG?&Om4bUH%$4Gj%*;qbmhUga_!b@l4#rRc*Y z>&4_HCNM#qn7jBcrHLqe5)4 zR$rCn`C)9YUqxjlXJ^iJilWa9h@(Ln1wFw<6=&t9*Xo(z7 zyZX#qK9K~M)z#J2(sEO>11gffh=_=`2Y9a!6eSOl&*|ydJ4rH1|%}_^4BH^LNZ}|M~gYD zp-E1f??J>j<;aWr-@xm&Mv)b&KqFr@Xm!yyG;@7(-2pZ3BUs(w(4N&vw`4@az(-3> zouNU@rR3sqy}Hfs-&s{$IjlV6bA_&*N0Niw%0^IekG8L`pYzU8^`~;8p$>&qAx|tC z2*AAH*vRa1@UpV*q#wjwZUgI?VWr#@Qfo88`|@SH|F7Vu5#BrB@mmLyn!=Nl8%)qY zLDHa8Xk^G_K&J?S|0g4d^$($;kdDzN0JH-XqQi)R!j$ zKbqi)7j1h6?ICL{+K}`>Vulj8QE;v_xh&Svt08rMW6nO>l-SGCy3YZm;CCJz{@vNx z8yphkemz($R=(5dJCE9PY?Pk*+!&Vrk z5PB6%b%1k4>g6S9c@7wj%W_E?jf`_>ssJ%DMd6PhznfAEhgpDaYlE7WgH?l2mp+gO z${z2igR&M%Ayng%x72MEs#N~#wKhv!NRHx{dl)G{%M?ZPHuftjE3~RUHoosiDupuB z(fN%`s1&OeN{khq@vm=g;y&S-AMa8IbUEdbKvn+{FI4Ij#gfQKQ#^Q|qQ` zzMZVSx;_Y(2-aI$YbG<(pHe51ssxH9^Yz4DDyyk?vGVgz*{DQ9i_ zCV40`j6<)<%;*~9{sB-K>X3_&k;fpH2~(eQl-WZ%1db)|h8hJ9fGXkW>fLx%}1I}U4>U6MMk6e7ZzcDoLbEgf+d2P}%p~O8{ z%Ln5pKy^<_&M;_X$#B{6;f6`6P*(Q#-oraBCSU=!vOOs)euU%BEJptUFQ9wIatZ!h zxL1H@k~@sgzg=|c>aQwBCvq3-Hih~J7ii}ZnD_P&K8jG7r`7uHU=n&*EZZb(brZl!qEARP*1+-^ilpJ0Mc22`wxxuKs1} zTE}H6Z7+YbjZSs`L+0#)?$;0j$Y;w`K6ex#wqlf#39(KWsD{~w?)N$zuAo(r3)mel z$Cr!VJERh{`zjDN*$x2axSNV#og*P;V5An8wbT0(7BR7QP+Qbl?0e@v>_5DS^D3UK zvZ^%bS-o^e_^LAuzvgxp@~&#eI9s3MQ-Bf?Qw*i+U_#1DQPlCSDr}sd`|~Nt)FQ)v zz1pPj(NHLRwk%7*pgyuQVvR+&yQ^!$dH46R92qu}njnBYSxsDAEH5{=H$iA-C1I*n zLI`9XKeP*CNXy6s1%}3&8QTARaQAke4!F9YT^uS~>)Xy;R^?BF#sk8m3E!g~P>VEA zqA;(`K)vowhn6RB-lVd!3_8*>I-*a+T3e`%Sv5{yFK-b9Feh+&9xrBH`eEL~01?yF z$jFuj8{mz+vc2Tt-SX3_Hp|M+j*W`SD9X+TXW+Wf&2{QgFnN+ zd2E-%8&evKisY{kObm@Fc|2aQF_QWOaJim+Zq&83XWROb}#LLbO4<jnl*1OeFu*)fpUjXrYb-Y2w{D}^6{FQI})J; zionhBjrsBjFzS@bm=Pd%yW`boq#MY}Wzw;Qgehns*E>HG`n-8%JLzB>kO&Y3P_xbt zH;t@}X&r}w)d6Hx?RjDldo8foegQj1jgK~3!p8Bj)o(zD_ zK@@SNm2J^6F{A^jCKDwKpFXs%P}#e<+zpa4mW>zqFs*Thr=qClWiuqBsi}E9x8d8< z50+hH)q&!Hb;)$8ggu^P(Zbx04gZ;%UN@3X; z`btma_3&(Y4ZXR-=Y8wgF$U0*-(p_;|G*NAtydoB75W(aB~UtMkg zcQ#&hUP{wttt=62Sqfm@QX}du-3B+OooqN9_RZiL!&)Ek^RuA1Y=!uOj6!BB531AW zOah<%HPi$x_g{bu|1vKR6PF@|-#l9&=ZbiIg2??$5QK)PYYm9y^<4>A&pfU-kI2U5 zUUTNv7`2|ClaPQ2Xl8%-_vjZyL~hr^6&!n9Ff*CJbcniwLUFT!=7a3VVI5IsFJ+ya zoHU?cUAWYZj8=?fuH(7vW3MXmnAE~XLA-VtA@<9d?W7IpwBAov5gF>1OFO~Yid+4dmnnv(Ux zrb_`2M-B(VmZzbZqW>H4Rma3el6=}1w4uoyXP)zZNaT*%#swgE%@-#CKKT0&ED=To zmT8}e9e)DEz*z6TO%tl?HZQPnH4!DH5kO4q!{)C7jtVJ@4sAM}LMpNA^EvAwp=z@~ z>35erE>JTS@#Pa_;+GPNpAT+!O|v!5zfLFBdcuXH5U2tG@Pt0$6-g1D77);Fa%Ch4 zNYc?U8ThW-f9EnkAZz8%oeMBpft;*k1#S>!sy6_8pl>SE$v+nOAq)mKkj-3$S^y%x zWU1=h$*;Qzqn@F_NtPWM#pgH4J;|S-}QxZwG zVk4(BWIO~959^x8akRiRidI@aUE>F!bf)F2_1F)!%WQmH6kAF95_Fvr`i3fR6jjzj zDUK<5a`W>iOS~F>#m0iN2(U1{foF}gkIzlqi&2%~!!vcmB9AT9j2LdHtE($KmVa}@ zBV?emvckz?mcwrP6o??$Ut4Y)oZfas{r>s8`F-fsL)XP#kdz2wSFb`+DHocJfM3dG zKG|kE@{}@l$7$vZh9a*3#m;V&ae0Rspmbsd8ilm9QE){)CJ)E;6#rYG{>xjkUKl^-raJ z&TTx!ckjmQ3}68{xQrpqcyGb9K_Kb`2m4nbab(LwV@uV3huAxyX z;tLWxAb%a!x?(j`$}aSL0rds5;0JVY6ld$`=ukyfb%p8+h{gdiN{Tb3&gCU7mzuID zHJW9WZWby9G7xH2PGGKJkp$zsSaSW(QU_p4wCP~kMhg^^Ij_s#UmwJI0f${Cj$cQ} zy|#p}a83sv%e*>}LNij+`7;8;?!aVVaCn#rIS$-*a$$!bDZcFk%&$C8glqty8?LAz zHXl`e#bs=tMY0OawlV8D&!peXY)sO}O#PM&SlT+9q073y|=v=XKM& zz43huHo(dEmz0yM4K2BwuTnIfS(*hxXF{poKynjOYp|ND>u{RTIEk?R5g8fjXbm3% z`wW_1PRc5m%#&7eeyk~*nxr~{J_p`uKN|0MHO2p{eMId@?9?2`4v zhjLOTi^=VA4XD&e|A z@-P`j^q~3K%E|)`G2hx+tq;T^kq>bm1|pSz{0e!xY7O>BA<(N4N?AalPaMfrEH}m} zf6Ccb$uE+&yByCBhQ;ENikI=0W#we0xgrTpL2j6udg)B2iEbdJl&o#(K=Wx%UfQ2( zg`MYL?gh?SgSf{*6$P|y!G@$ik&zckgT2P8xf&h*y=K^S1!W2I3UZb6F1dHK)q{Fv zH~#xDIJo5)WEuBs9fSP&s;t%L^8%Ts54{hJH+v_*wu5r)ver3SPIjWKN6P(TV^=@Z z;DU$aifRC5pRKa}f~*`eRM7>(QC%$p`|fSEjLX9_doF^WZy1+9Nji@brhXMp{R$;l zT<*;^HQkUmADynXkMlo2MkNc2)1>!P@LOn?yLH*+0E5))x|pj#lQ|_``5x~O55&yO z6agqJ*fFr-LfHGo@id(&KOrH6D+0`L0an@9+Y3p*By^9J6*f0-QojZiYa{lIhZya^yj3k9n8y<*7ku7Nfeqf9nF#_g!G6)!|X@+PMhUIvPDM zdclo{M-mFq`1W``zUkjA7n=Rwz_@opk9uQl2M~XXn(5(hKz0y}RX85(zBf7D^C8Cv zl%X$)>xdPW7y_%FI{^+_=xqsw;ul-7BV5I*Q}t@s$ADT@?M%u+Z?Y8AxeKT(OyFTa zAk=YQO@|2&!SEENu(3nLOnQ1op~bd;uEdxXJeKrzPPzaHDTgHsv{%hFx_6ASQ>VL; zkX&7WDWpxcS6twh|K8A0UmwB`p9e8EHMI`;6t~M|QxHI1k&am=7nPUqr`DU}cisUF zWCv3~jpZN_WP;Cu-8tLf&05K!WqF_l0w5JtWs!lH$CLtXW!pfJij-yrm&gACwA& zx6dtcdj^yO9u;m^-$0LrJmoiACck*%dzC3z=R7ntl*nm)4SE6?07$(&IsHQ|(WzOa z{sOdOpty9c|IQP|#K7?N@+=$~9)?2jd-N+gdR7fGL1<=+%X(qYWkByd%fzru9Kdoh zN{wo#ZF!2xxf8GNF)@O+lffC7$5LV?dMz#4y-6=0-S_Y8AI<(;dZ^Cf|8cWd6VO$f zbb}muJsw99J78B#S6E_BQ40L<29Q-|f9Xb9Zce@ZAMT-{W{(nV&t6n0GBO#8!>|)- zYy^oG;CRtr>~*DqF`l|AE3d=TJs_2-vDk;R(?xZFpiDWSlUTlHW@flSr11$V4?Y*bB-*1TkS^-2J;n4eg8`(=TRcAzXu{TUG! z=v$>H^J!pi5VAQp;50#i805(YRoEnyLZ@bU4|FzQ#z&cqThG;(c5d=P&Iw44*Gr2N z{c@JwgH=1+W@_8J#~2=yRev0n?T;`tGQwB94rDB?-kG(WLTrKk3eEiSqr?V9KJkPO zzw+bg;hZQYNUA*|rf4vqy9RB^SU%Ov(n$3iRk<&K=k&O0QIS!a^uV*xp`{xe9!3u4 zWvqoHLL%sQTQMO@Dk?O&=T+T=>DdH3v0M#IjIZK`qSYS(v;(e<05S!F&mV{%dp^91=+@PodG$7gtA;^*7E zyw9R8x>~3qu`GIfn@8rygZrQ^QN?2q(j0;DOjZK0id|$9A`*Ro}f^HyLuC`zZ>N!$*_LO&#bb8zSp#17Pa1&U1&-o!9)FV^6>i#MAk? ztfy-nr+}IQ{A=-Gin*rL?O`dxp552BFO7_iCI*rR25a74q3ty4C0`Km@)SB8?DAah zly)>K00KLl?s~u$@61BYez3krXnkiEqux6;C55F@T}P+TpbktJJ8k?fDomJkR{aQ? zLhUAsWkmR}hZGVR5=6!(&39%F22@%Q_JN#LY>0rP&C#RURR;G3z6eR6vSsy6IhSBj z0>K1;Al3qVFpB%7&Ka;E8XC@#l?0ff%J8`=JUG}ZhFjr7TUKn@Os)MI7+FyS<|NNP|ss zSh`6w5z@NAlp;J(A3G7d&Ckxp4#qxh4|d79Tz&&vOY>IjcwYJ14V_*aDYtJFf_Vdd zzJ&(Yj?(D;kEZnt%|Bcgvn?VKAceulqzeitxRn^U+fh(#1Ne+t?=5UON)86I#Bny& z0h-_dX3d`kI|LXNP>g{8XkM`4!NSUXgC!Cn`K*)h{@2?+Z$PEr-#-P*?BV4kFMm;m zCZ?vmKKXtaet0wm=v9OHSe2y~>9Hgq7Yhp)OHs29_)?G;k>q?zMqGlc{J}47L2lWG zr);PO2!ck8>H%~=5;;8+lI8R!s5#)8_B)}LK#Br7tC0Ji-MoKrI2`KvyeavZXJBPz1x_#xzyA;qNZjyO zSzmm3F!RY{No{GBrkctCEi9cMyCP{*7M;{3*z{AKvy6v zFjPujo{QsEu1eRTH*&^NTiKEfbJv_~hPm+b_h%&coD7_ugM5>7$92X717~Ie0(BmL zVwR?UHe=zA<`HsV3w+Hrzjx*-yt8(dlx&}RF+GJy7FwHhoUy7jHzzu@_e+_nb=n?| z=vfNz7L||Z`Ow|=04wa~e--_6&36CqSWL6t$2p%bbth-+l{f+Zea6*5U(O$cn&w#p zbZohdYIIo1clW^q#O{QGrw09dK^%o6AQ46&z=rE~unJ62UkcC)9Y8ls3fbPa@V#Sq z>jcGK8pTFJ(nHEhU^rN!Q2-PcK3+bnxoy&u0~05wsc_6hE~HjIJ_a*(nkiEo_hupJ4IA3CNa=fOth64}; zsSNSOpG|nFLO4`QU51E>sR=NiF0ZGwC$)-GHeo>-=6rBW5n=rpB<&XRwm7{mht^m@ z^1yy1KP5wg(`sF}*-z;aA>k5+{o2FzG3PHks~32b04uWU&KI_QB*#AkSYs2(3(@zI zeU|i&$9XhZU!$(*or6OKjqz&|NjXI7)0-=OnY9}xe)GX8_Qb>_n-4hv+F*$7Aq7WC zGu@666BAdl9;waF_3?}s`0ov%>Vo^SR~Oz%Aa|MBEFajpKXAzmo+Gtr>vDATnY}UD z)5rcCsM$)Hj^k~s=|&22g7dwhHK6H&$O*6=MMlm+rWmf+P&>b}dbCB}!~giPWGK1h zP?Li7lgeAf*@21lqMGg(K&qR@x?fUV&Wtqs9Jq_bhzs1w1X zPUzL8U&`nBaqi~3a}H5|JkJeTiT^+H-oh*D{`(ijKpsI+%0z@gK*@)eR=N@CmhSEr z5h;}hX#t1sA*7XVq#LBWyYC+Te$TnTyVm&!&Skj-UCJ8f^Nzh=wS!hJ)H4-uzB_8^ z8A6k^YKDV*ogkzvdN_utt*57l;sbw&q*O;oJG5fpH-3L`Yjv>nM*`KS9XPi-6|w>d z8P*2M(8(X);uTt2GK^D%OD|tuF7H>Vu|a<1lOrO26h*6^|I?8xJGF6$0K@XXH9yF5x=UEMtE z1W8U(^t=DV6YKJyIDuDgK;~vvJSParal17*z|P>6Asm{O?= z2Q|&;>l@nclyQS(bY|;2H+>L%I&y2FF#s*sRDT+_!Z`>cYI4;cAqtCV$uCrx2`U$?*)BU4^wf-zZgSPMe8Mb;Cyas9l8g-40s;c|3xw#gx zigfjPvw=l(*z-0cIIx_4p2o$k#>I`D zp1QfayK||&j*H^B6kWRs|Wa#u`5TEDLc17@QTwgE^XUi>4 z^19ZMBW~WjsmJo$1{S!?Y1YO{spYYYOKbd81GlTdq$d<}Q2#vpz?Y^ySySV5M9oE| zCL$stARy2mg-*FUG$j@Ivk(Hr6cq}jt&cx>(RvnOL$RGB69>-%v zpG11uNI=i0Wc0h$aj&ss-TkC%JAu#fCw~aL+UfZxTd|UF-@aXfye0FQsVXCDNi#ER z&2ss170mkj#`TE`*uX@~*_(cT5vGGV>X5Fnvq1ge3yV-(6*r0HTBFosUia6>KW6bB z5%gw=ba{CDYF0SQsm4NKK4>{oc@eDLl~D6$U;VpXnf?jx`0=jm>29=5lUy8%osZA6 z@9=uO%kJ{891-n>*vlmw`>|}U(ltK?CaZB2_lnU^_?!|sjg^D`iem00=rO2z~Hn=(Oph*3$ALi^#Z4n>bD!0e-0<(3i9 z=nR=Dh@Rel^YKET0Qw|#-_Im!RUY1Ox)cX4fHwFWE0@c5-?3En2`&kz=k|BfXHU49 zLjAUPc0PUl7|xY>6X;VxVQPo<{FmP9aaqqCEZ|T8ox<+wQQ-GPKEQHVonCl09LokE zI+2@x%_}{1*M(-)b5y-u>~ZX|6T1#Hi=Ok6dHF%eQk$}Jx`9z>#&qZW!ouAu0<>k6 z_Kt+GH{4rzx=lh&^;fH$D_o9V^Jr)w)s>I|OsO&%Pm0V2Bz2g< zIrXAmG(m5SW-xc>=rkBoqUy-M6_;7BKxT!7l~FnpNr7r=Y~`LHtmDX{E>e56ZvoBL6Me)-ERt*iGThXzx{kgJojl~d35}ptuTYsqy=t&_oAq)MB z;_uzc%F24JnpxxM=m;S}ZW5)={f{@qHpYjBoL)>;R~)Q!!LGdEb+@y7Li?c9BE`~1 zJiy<7>ut5W&jIr#jyr)0ofDey7=t4 z*;%}FA=Yc)c67X_Hgw=s_hDnCybQz*@2+{>dd%yxEiZiQCm9*OXYtpxtgL{y>Uf3> zu^syftf=hx@p7qZu+uuOlz^`cD$lk~a{0&us84ZDKw=il%FN6fF*JYfjV1YW79zWF z914}QrPoH+Hb=waLbs>;vs^4N)7&CThEG^&R{>5D?8_9gHQvzhheM>^tjKayv40Tl z`#x+V{nOpQ5M+S_7U(X*d-{uG*$q4Q6vdS;IH6)>LcdWUU@>^}W^-;u3Gsl_=r^DnF+Xo0{W;nH!$&|~4g8-QCry)Gxkk+8OwB; z!t3F7JjQ{DVb(1d{Z5ZSg!*OEwux4d3+bt(win}s&J<4PYSu8exmFjYxbbRvg>(6f z3E^Asl=-Zwe@O14Kx8VQ8vO;ZW{sTz8zOI#x!wKEI^omU!)9Ap4gRO(Vlpy`99^+T z&OhVs_aduOU{&EnF>H)`TJ8F2Yj8S*qjvCXQ2P!Jz}q}q#qfKIU=ly?(^PvHE8u$2 zuC{0k3Iga4LS`B_MhcPOb!e9*&?U(7#HPXqVV}OvK0tE#I2z08q}}4rP*Hy1J2o^l zFfQuLq5RlXYl=WWMrn5iOMkvc?6rfvQFhAE2Skr}Y!lQkPN8z&ie^`GyXaqGzeD@% zD@)NEq9MEl?DMRprLzjr94H9hUQqt6)6Q**P5P7zUzz+6_zl-TAj)JQoqXU_WUTPU zl}3VQD;`2~CNvFFK7sx=BI3gbVJjmekoNmExAwdiDo9Lr-ClK;G^53{Ul|iCAc@OT z94{DF684UI`La$phyr0MA%S3GXC5sWE`=r<7Q6zD(r~3mPCe?~MCE-Z8x}kc&hV(A zA3t7rT3vWhNhfv>_7d>LfUvN!HW^a9%+=1U*~`?|qbw)=L?t9vwu?=B8qLg%W+%Q@ ze`Hr^husJLPWS{}Y)ZRttx%$b;J36anm9oU@1q&2_7Cuqc0J^W{rEPUIR5rP^n!*W&lxKrab+asQ7XxTe_0vMD~5`U08Kx{QV>S-QAisE^|E* zS<(p{u`w}hCa3S?)!gE<6e*JD0^Oe^pm*DpF1NqY>@TvqYqws%3C4cax~k7&+T(OE zK&MM7+1}g^R(0;grk$+>D!&#ErJUAEcZ%sPC#AeeQiSjJ+?dH==ny3hP2jU?)q#oX z+C)BYXby8^tB#?@+Ze0ja-6q2k~c{mg-q?Jd&#l>Q4@!9HSRRpCBO7sSy!#IxNGI-yd=Xbub6w)kka!>2w>k%y z;XzztBEyW)ecK)3_4S_5AUuMyFT@W5yi8A3T>bzHvwz=Xj8jL7v~O3(YGedKCCA3Z z^txLCk&+yJ)0D>ar!=&BeorZ-O6%{aZ|`66WnDxjK6HD-TF}lYF(WY2-b}L6Osv}?mmcNmrJox?u6 z9A2jv7bC3tIU?ztt??3|aS@S;+vRg=uB|;C@;bvluw5QI+KY8-8yRIt*w8?IsJ!*7 zbZyLjYnupBSXeX$cW=F4UVcd3hw7WS)prj`IVl}V4o=Nu*{HKfG>pHa#DD4(+-Z-` zK_a0b%K56NzmybUSv$gNY5|&_{&IURwv$X2V3a^GDyaA7>m*Va%RmM=(OnK(H8#tM zRDFq5gN?bY8iIGaP=tOv#h-2)%+os0zMhenm$#WN&+htoqKwXZ{FSra;()h`uzYg4 zg*^ZfAr5w{^We$XDTl=X)wa|Amd1F>zavwe})BY8;8%1TE^Cv_Ta3Ck+Bbi=Q?z|Gm- z-aaG+WQKsN_6Ub2goGrJmCtILs6Ie#u|0nei*2BhHH+2fGTmc7Phe|s@T8)jCqdue z96UWe(~$QiCMGiGxI%3z8(ow0a7yG@Jw-swL1!eBdX+UZTyMW8&ZY#e-K}D8cxp|L zhZoqu>98#ih7)iKjh}eIno;~pKp*7_ECB*L$nRgaNcL8n!y#(}9y(iQ)c9x#Q^?F^ zkqWmEnZ%a@u&_vYoXho3K8uN~hN4);RP?nAlu@Zt`Xw8DPT$Q3>5b_iRU`USUDIc+ z8hZ(ySjb^~HxVFRhEn?avZ_2Shy)OE@m0C8nY1qG-$;|Eys=i!55?r>C%$Q>VAw1K`-e*?_T{!E%a|%bJJ7X=fY&i3 zKF54glSjhk`Jcxm{@=$mm-Q9Aj?`Ak8UEKV+XRS7N!@hW5f=7_jAJ5=<5eFVK|O7Y ziF~8E`=uKrRqmyUAg3+xK51ClW2B(T$vIcH?@ChVFqqM>@^i9oF5P%%Yh&v#s-yDn zLZ*U`Qlz-3WTn$l03_zf1?RwxyEir_D4n5@at*b0+@XfZ{Jr?A(wJcCTEZga#UL~!AJ_Phnf_>j)>ueyybts`} zCg)(hJv^6{iD{(R9>v{naUX8~6{VbeEN*(R^b*dn;<6M>yR(h8v1pUS$5a$V#iaCg zL<`S823_2L%&-+4osogxlrlC3jCyMCTMSiFtS`tQGF9q|!L3EXgTCwEdeZ!-l*`wfIt?YMtx>jGJoz1bd+Us^ zwhkaE98HInv5b3I6hu40;SD-O*4$=nt{nmTXTCQA{XV*FuMRiTsijHBJbnHE?|yVR zcp=z44VsshmVvzRI6YO-aUdlK?j0C#$kI^T?^nthy}f(pm?7@1f#=I)0-8s_7F6k9(&&V#M+H z8|^DLrR!JUS9;2z74tS(8WO@1Ahnx2-lH3JWMce?{rNM{(}n-C8-Ct)ssv~rh%Wem z&+s)=>X7jVK$I2)7q_&4uA>Gdc>sj<_FNScg&PC16vm)DjZ2{`c2vAXwlRq{R>4qR z^Df0(WM!be#MS$_R{Jn+OnnOxfWNjoT6eW;L@dCWMwketl&s;p&+Do3?Z=n0vgpmn zS9uem$b5_!QCw|Rtk>h!u1YJ3c0X!c+uLd7PXKy4q}8BwiiS5jE>3+YaDKrS z$Mw&H(z^Z^E`Jq6_izBGW;c%IXlkZOki|OAux6sFesnN{g2q||X)#e&*GI52fJD9K zw6n8Pu6F94z0V8+{dWx#kJ_U0elLm&qQk@VT#3wnZ{yUOU-cB_mdaZJNMpZZh*>9e|dbC+F@xMN5E|>~AGNHc-bm zNyY?jS4y{muJ=v|YVr(Cw_FC)|tbhuepGL zs%2fPphfN!6{Vt4cu!ByKsuh43KoBUT1Z7jig#s$+2l1Wtg1+MF0|X|cMZmWo~%E_ zoWjdu8hyv_fW(qRO35gdO10f-T}Cjn}8}>fNfv^3Ri$LAG5lB`RdNke;E`(cb<_(p}{Z{6Y-P0 zj~88Wo(Xa|A}3Hh0`Ma!2)h96E9#rHTs-97{zeb(KcF^!!j!HinWj7S3k} zjq(Mg#ZCFnLjd|RcN zkHiZBx_DYd>l)_SafF~CaQ1jwQgUnu$9u5AQ`53mX62J~Fw?||;vqfv5vR*XzsklS zUDU8)r1p_B(uA`1tF zkF&VzeyvYm9}8l+r@*_OIvzl1&0d2iY2WgdY0<&~h=DNww}g!i>tLRToGI|V$e&>sRWro@kjmv_u26)pN?q8 z8DN>gsRrr_tulwIDiO7iYsiaEYDvhZJ(Rj$eXXIPzEM?0)x^|PW|w$0$2RT0?YvK= zXN|*5Dx@^Ogv3r3>C?Rxi#Mcr3c1P!>cfTN_cH-FAa`_}3T^QBugRS(SNN^cehU+% zr%nM7;TsjtIFKW;@Ym18*a4Y=Ab=AR%%!K7bYVm(&V4;UQ`b<}yoSkW2u4iC$%5(c z>hwDTSYC0&*D2H_-1gTGMvj zyoq^PSu|r`p51YTg_wGIB3--Aq~A&b5b}-=cc@S6uHE!|x?6`uS&Ym#ZN~Kdus(u1 z(ERNk6-1IhY?cab?!$+7sb;d@3$_#t(H0m^zI$!#!fzR{HMcSd9Xwu0ReX+9W!g}> z1^x9Ki=$~!p@7&tVu!4{Dt--jQtD;iq`Z~gtL|WIJ#+mf4wG4z$&Np_5bPE|K}GS? zPVncBWB&uiHo)Z6`WOHtLhh>uEU2c>#Kv#FTAJ$4Y?PV~w<-);OgtEpL1PynjI$qK zu5>$UP5JcRXOR%ycJ+t>yy)0 z-n;=`h^q`}d3*S79H%h?m6od(4^lj-O=221MWHn8{SpU+29NVOH~56q)GD;k_&f+m zw>En56RRTPsKq~GwhHW*f4c$fp`%yV8P=`n{pyv0e+HiZ@q8q|_`{*Rh^(%1!PXI- z#(l&C?f{ClMbF`?A6W3pK|v&m;D=iqBBUh0aGDQBc4Rgqs0l$`b3P5I_wU6;AOyYE zaN3%GS@joE)HONTl#Olr{e$S~?#|UfrPep@tqia-GM?|zENyPhcw^!I^W8Pb`Kx-3 zg~olcf8Aa7(?OVo<|}xB?gop!W|^KfrUTOW~JZg0Zpvb}rS z&?fm}eJgCTK?qU~o_OT4K$7Nok$voMilC-8w0hE&Yt+TUVtQ>7)7R~A*WV9K%K_YL zNqRoZL$l(D$qgB;Q)jSUCIas;mx=UJ$y1=NQu>TBdRu&=9} zPjcb$JQ{KKTi}Q|jCVggWJJ~K`!~0A?2RrY!s=dJEP!%eGI6>esVf3e6b(4@w;pmg zPjs>&m|o9@w-V8;Z;pq@$9K#;OS^2f)vh@VAaC8Ajeojl;zaEUpq&;I)nOsgFq3Gq z#|LM2X?Za3iNRbg(0!O;T5qq)Nn1J66GE%15iTy8|@qy z!}GtxhlCq0tkGFj?LxCD7nCqT3EWk-8zgenJ5ym)z>;^%?w?NW9FZj@EzoNiXi`#8 z;DsdQS|n=na1eifbCeDgmQ3{Xm#4dbTf*zQP5&Ziv7a37AWsY_TRVBs0tZr%CN8s? zBBsvn+yX!ufKw1#&6yD&PhCN6F+CN{=Z)kBxfDYI{u@O_MNLhz;}EY7?Ukiv3uW@+ zMvZ4RsLa%iB!-MI;655Hrdg6D z3_Okhg74M`USLdr%-)KWBT|9{{=xN=GQ|9+sNvXNt3#k9}9{c)%nL zVp+tcd#Nwd;m2B2Ew0bXDO9Ef>oQ=LI0@ST@!J7WTvk>Vm8-rsfMh1PYCf8YtZ#$3 zY;KR^Rf{*j&wgOl_EW<26s*0K(NZNDK$Q^UqM~p1+fWwKaZe&YoIJQw;<~|WFbbPM zYjw#=((DGR;Nq8dfLLwrH?VEC0 zX|SIjo`SdnotM!)B%AWyvjvX?Py5ZAH{Vvf^20qDp3zcsy3{MnP)ex57>upU8yB55 zYUrmJ@E>v8S4rr|CwK#o+&rMudynG)sz>QWZf5}8qw+LBrxicXDke;o85SOH$Nq1y zUksbYw}AHRa4++@vmnhLuR`@7=>#L7ZjAnBC%Dg5mi>|huIMqiDl z)u5Wft31Uc=`;&xP?O$2oQnz%Z8uxI9`U`ex1UJxPFEZk!;Ia_&}2Wf2<_~rV?hV9 z<~6+EbaXkO&AVffohhFq9+7f#wm_?V`*0HtyInn*nep^31;k3;dK~UFNC!Q^C4Q0& zNN9-#*_2vab91^(7s)x+t?}>fuCohC(8YYSk4Ok90M3Uu5g-C{cx8g&VPUp2`|+p+ zhDxWs<;6>$M^|jx16(kvJ0>NBfUinUNs$nQ?FAsJO`euaWk-94oNBQVy`e8S1Hh&K zmdW=Ycn+HkzJDrmjHkUZHy?tI0{TxlBJoM?lewiEmga)%%L4>KWzp|d!y9H`gGg>> zxJGqSSN&?WU%7hA(BG&fAYwt9c(A)Wa>(gTjR#f`i7wM9r=!t^@@!$;_PwDzEf7Iy z)wt{GxI#G`t?E3ju90PGVl+ED57JlQOEs#^hMjo>>tlV+4j%=}>3mR^muEqdJuMLv z1eJ$bc1}uiN`yU81N2)*?XgiuUEA`QfJ`=mi2`O3~kQ7xZ6 z&QSx-_RcrW>%3QaGy4EwfE@nzL2Qcyo_7z#ruzAw& z*UfDy=BXtngpd^+rU9G+OOe;(oS685cu(()pD5hq$Ao#A5n2DT9)FqhsXsf!lNN++ z)h;kphU50S_gonlfZ$#(xcIFoepUijni1Ay^bacjk*3Ime z**b1u!2?uPQwd=43zGT5<9QC8zaRLCKR;mC44#H(KCfA$3FgRn;zvTABh{mpASCx! zf`H4t#nYy{-6c{FACv`BvPT`R!bFP*l)g5gn|z+z?_XDwp$nK7#Q#AmiD5AYM$%Cs zK#AHVOHNTz0IXxVHO~&MjqhZ_iPtT`2mgdFr*_8VWRS%~{j0k?3w#xJ(B@jj?>ud7 z!9Jv1)8(-DgprU4W)a4KT4VK4hbV*c-R1b`X#3N?C8+!R(ls@{xr2bqY~$!%(|6e6 zWmZcz5D%cIo@~<)5J97;R{}jP83GP5(9o!SiN#^(vfEWg&mrj`VRQOg?{RH+rQ*#N zzCneQM8+i!#Bwhx?PJP~R6Qgq&pL>^YH>QR>ymuML6xGyhM1VB1BUZa#ds54Q&xK1 zOa=uWlj^`B5{)lTM@x7X^jI0f6f|2qDK&vIz-BOPUf6-tYQppI-tko3$*spw4E~^HYMR;VjN{{jExMJfS&6N~ z_T@bv2$t%KU3^PmV3kQm`Rh0eUe}Yob)=QeESw-cy}kM@FIdnL&lmRpDIzJz7-glT zmieNc+%jr>E^ck}IXy+I0s#qOW@L;UklZ9?qNa{%=?GnfRWQxf+oQ)LO#5pX=dQnB zgO2@LU%}I}<`TmTFW@)*n;Xhh0h1aw+aC%cA3U*`-*O6!r026f{JQDg2lRdh$^h8# z+p=Ya`ZX7aF9m4^vU4=DQb9iEHRy6NHG_muE~BBZUWjhAdxnn7;kGOYsgXVvAoH#@ zKsj?KltruHtw;hSB%{SkAbVsp=W`Gn^F{u4+bg_%FlOHuiIyY;#e=*1_3Kd-=}z-K zTG{m*t9e>t5=v*e@4j125JUHH|5H_C5KfTacY7*QZbYr=$VZLQ67Wqubu%UjT9{Vv zFsS5|6S1kQ%6wuTjgkG34a21OG*kGxXTo&m1CXzNUqcU z`o;zrOyK%yhj3y;KIxs)EqG|~0;3c$%3c7X(T3aHQexc}S#^FgXGW`R_Ge`Ey}vAK zGn3KxSxJW53yN6-Bo}9rgyISN5i|;tV&=4k%ujZC2>P>D6afU;^-2NKu(qxZcrJ&T zYk2(`3Ubec7M`G!?)a>N(LvGg%51+Z&cLAxvDZt=tu{LM(r~$p7TO|D?5HzGM3S&cJnt(#RyaLB@@(%^Qr;sSWTi*gy1rxB(SQAx` zpXMO-qnSX)#;KImI&U>#x&28-^q=pZH3~cPh>n3gRbw4U;6zef+yg)dEr2ZCfjBw9 zOI*s!r+o#(KMbqA1FJjy5_chlt%Y%+`1j$wwdu=K8f+YKf$G!d&dh^frCp#a6m$R( z`2{dr8>%5E`Fq#s58v< zaP~TCYVnn(gTxW^(UJal6?4@6{pdBzTxJH$ouy9?kC;(YtnSxBveU(2+sClo`GkEp z{oZ`fWDab)In%*EiB;gY25&~lLJv5=s#gYa?{RWdvh4#cJ`foxS4G)ko170t3rzp? zI6ej9vJ1>n_@msOM*(7_YybCm$dGCj9NW0#B@r29v{4yT&ZpE_8z2;sZK?HLY z|3nQH0;D^Q*O5Q*WaCwf!Cc}9%%af5&KILGC_EH%HJXU`qS>STCx9TO*IH$UVZ)#z zgYtaAL}6txhh{BcKrs^V=qj5t7a#(VSxSJlfxCOSOu!e21IDfwSi5WF=4++ELt+L- z;fKV;j6lZafcbVuOH1?`&qe-)WjfU_76~I0Idd=c zU4WqQQ$&EA*-1L)bZO@!;_;8k-vD?z5hJ8 z%8~uF|7ro`?J{3=i`BL=lB#8VYIMKYB46Blh%gyUErxof=VW2a3A%?jkpgl`N?L_h z)g{VR9T}Pg583SuNhJB)PKQj7+s8a@mPTBQh*+|K)rRa4U}|CQ$wV`nZgf5Z7CF>O zRs_q}XJ;P3BKxD(eh4Q3=9>dlQNEKT^F|S^5fGk6YyJZbCy7cvNp2x%ytO>Zz(cNk zk~}*;z zKKHaD`)f#uwzddzxolVK)jLNvR#x-4LA}&U6UeMmE56|YG`pP8wr6{|1|=hJ<@Ekif%ooyg2I5{~%Z$}CI@!AYeUjC!~#gT^QU-=&6 z<=eA$Q0;^Kpb~N)!7l=1Tm6l|g2us6zp#U2CdXM5g+35}YhC(7jJ>THK+{seLEP0B z{}{5p6PVoKvr|6L0%EDVIlqXHhud)rAJv@`D4tnFr&fFn21>zt1C$cIih7q6zlV2p z#xsIXAp19JZC7c}$$*=U8)F`DUU;$~)r<{^URs*7w+c%9h)l4vw{tmIm96XVA2r0= zd78L&Ue~0Z(gX=zwN>Yj1BFC7x|f-JNbt@a6Yn2D$Gn?N@3( zg)U@`=JknTxcy`p7$`+L(8vF(iqD#t--EIWARj7>S4vJ#Pw(3<#B;m7dZjL#4Aal1 zqJZmBFSff5(+iC6?9O+b3I&3h#~)BgizA)Kp!AyY#U&dCh8@z3_H%EkaBd%C|+kX?1QN#>12Yb`oIP|q58AXc76A|=`V&mOG;YC$-bk`vgadd3sAdU5 z_DJ)zQ{Qj>fQQtjYt@UFak5p>a_D#b zvEH;A99%L4q#!?vWrvE6W}qM9Hh>T~WqSIQlhR-+RDVS&FTDHk`!DfNAdt<2+=JO5 zH#7CP#EWw|!%ikyb5K9Hb2)yAjmE=^?N}eIP=bRO9PTz#+jAfzKxQdo@w!y%d6iy9 zh6ZZy8vr2NCk z1(uxN9>EK=X4#@AA02!LXW-oyrF}S#Yv~~KPbwJ5cI@=5Ws`WV;;nId=8TN4q7tX^xcI|5q=<$2T1nrP`hnt zpG_d|&b-6Mh|oFBHD0&+aKqIBl_N1SFeSt5j9vrFC=BO*lClMy1$q@EEGRl!Ps~@y ziii{yQg~m#cY~M>O*8v7i*|{H9juKcWu=fCZNi3ze9$r6?+^FSxKJX{p1=8nVRiTR z$1k%k)o1jAOkE5}J?Iv#HRXhZ?(u$=+1Qdx#q@oDJEWjs3xu0KN?jmyRj)R}BcL6t za@2y14#bADiAl|cD;cog4LVE9i(pJ(?ArAQMRJtiI-k=$^o%2bUT%BfNOJF?^{Uk# z5j%B+4*Rv31}PxCxSW>dC%*7{Y3p!_x!+zB;TYLA2WFT9&{CuM*kb#-;n)i zMbT|94ST+DaXHR;`!=q`&G&sAx9vWlQ9yaLC*VRp zyrJ}6u`=k+G~pr>iB$wOz&9A(hI3hJyg~ix3&{wbrr`Qkv|lg*;0ff8AjIGx#`Ud}m7B>|He-wJ(7_8-h5@H- z9Sb(j5V_noW4*Iu3$`yCTT~(HVHrC#YL{#|emds8&G7dJZ3oOxx3YYtr8>j_MI0<3 z3X;~gHpuu-X_m&Z#rf&5bgD^R{H4aiPt?I5o%Z|o0{1U59-!yFVL-_h;0N?^V%ObS zdl36Glv(59J=z>?m?5e}NaMjQhxB87p?Yq91tq18A?c%_SKy~#==@S`*S`!B!5hny zG7dB3O+n1v&*7ADJhZ^a&G$zYluVRc*TGm?W@Z$x+v&aCW7e>_eSm46=e59CmUqBo zG=V2cY=$R?)-#U*opWKf`PHM!b&b!?Y4WFcIcNEmlfC#u8J5n@0f&kWN>{FKrY}+t zSjS3?XJ(g}VN^D~W;J>m6|*J1?IKXNz*B;R7T!K*9KqRHWiLP6M_j^!W^5IZh+A95 z=!J#rn?hlmK^@}8)fknh6rm=}DUHO23bSFC)(gQEwxa>N9L=)O*bkmShVCarv_`=z2sepjJS!JyBf+=dC8jAyB?TV0x2L*_d#g9U zJ0?E!S81%(Ihq!F_lrCb#F*xpVJS0Uf4AoIG%z&ebKQD9l?4WVzu{lK{jC4~l97;b ze5#cDAs9#vC@j8?R?`b2mht zslrE0OgCczKpLblmZwh74edF?_*>x#O@o1hl(dPEShvW$zqR{k()(+BYM3HTp^x68 z&1KA~q8%P#BKCI;j~-Gzp`7sC1kjw-IQvBiyYue)FxrkCTtrrviIh0TB{4BF%C`;7 z<5plt$Lzp#=<9N+pN`VzpZrnYSQs>3odqAIJyfPf<0JKg{98PL2{Dq3?5<9%Ep$17 z!ykrcR5~AYmZ=u!JRA_C8Bi*fUaP8b_!!H=0q0Za+Qnl&D|>4)1bq~Za$JUe+Z|AL zk|w`AJFa%WyQ)}m2bCP^2ZDiY%@X-W*X(slvbLt~pW27PKV1(VFKWgN7}I_RG+(mhf`|bi{q>>Tc&9y8JOC0;&K&ZTtLEE}aA@yjrJ9oI@HhPH zDkUWeJ0EfY=DVWl;@sO7|4-2clEz4X3Xr(`&+LL`)jApV3*M?Z^*t#;c+$(=#aTtG z%a_;q+ysUG*uqS7Y#^H{2rjLOMD&dn|=59Z+R6dKPodW@C?G`%4vZjJqN@9w?9j751b zKS6v&(EJ120+v~)A`6Az4+#ymwdrM&CAEpV)I$?}$~boRklBX;(b3O#%82Hc%HngR zV7y0h1hPJb!p6|t+)VlrPo++WD!R{7sGtiz$c~0GhM?(Fj$BscM*{?KrvNcF0hkVO z_|j0WMpDln3oDCT<${8vwg1PDw0$xJ0owa;N5W6L0>XSaj>3mt2neL;RyaHwJ>!dr z{6C}|B-E3DdS!D^DTzPy*yXsrG!lt?=Q$pAcn~UZWTP^y0>w6s=HsU3f5II#d4+b_to({cR65`oF;SESUWDx6z7Ka(vruC z!o2?8Y2q8gT3#85 z;1pet7s*53EVS0RODEOh?M8IU!T3yJIw@ezyzP!hu<*5Vi`-DG=)|s@PVh>lmK6s3 zUNNka(r^q7k1C6D6W$NoJa4;&&?!(hAufR$yE^xCh?m8ETV3PCYyZ11Loc%n-uuzR zTAqTwB25c(a|9tJk*Ot-!Ul?Lcv?EHH(6QTH6Ho<4w=DZn$PtD+`L*NDypgvdOD{i z_yYZ4vX2UF3zbQ_#G@yHQrPO!jimaOtccc*Hr;|Jk9*{mqK?H1^=^cIyY*UbnbaBc z#_Q#^$UQOfs_`c?VSVA}V%tsuH($#glj^&L3ij}cEqTw{=-*-jfgGD?MyXn3+>@nJ zH90x>Pdv?_h$ji6(hq*kClHy(c`^H6G4bihAg}Xwggv-FA5wJy`&V}iJN4Ed#eug1fumf$eunF zN+sp?3%DYCH9Uz_;1%KhcZH=0QVDrNFDAWzm|9b_OMX=yNQR9q2o*)r_w?YaRwv%= z>P?7qUFTz02s>Tp5NY9Q!XWW~;$QUfNeIP8K_x{i$M}1NhujFj(n}X%8!AeaP?1ACI&`23(Es@Va3m!BId@% z7OScl^6ntBl1GL!D&b;mHvi4p!+0_GRdKV zx6uqfm?oKemimY(onfR^m)fni9tvv5}!r!>B^fY zsni5yS2tc`VCe7fUb6{(l01ViP@6n69cCZ;iShpS zvic|C6jlc!j0BUivKZ#OSL``6OkMeyrQG`(b7_%^1Vya);`(aU>GeBz`_L?G9mxBw6u)CfG#Ld2(f)`BWStZF1)-Q zN*wgLWFZZ)o9|+Ev|>=eHB&y5x5_1FvS=wHgdF@2vL(Gl2Il&*6){aYzc)A2ofr;$ z-@gNpV3QEjW=hujZtfT(vs|&!>#mqv=;Zt#VNw~d4hM4Qr}aGNgf|n@@`{YtSEiL4 zH#RWjUmw)zzV2l*J^pg9B3Oq`rG%D}(&4kw%bcdwcZ7y>lNA2e7WX+gF=GUL7 z!a|Fy6YztDJ?Z{2IM~#bMvRqbw8CbQUtGL4SRtd?=KI*4@D7RQ*HK%I3U?O$?VQol zM~{fd#>cU_AHZ0x#NgoA6RnR?p)n60Ki2v>3RwyEoElfOCcpmvjW1qUP|y-PgX~@6 zJ=Ze`8JABrknLvNkcwGcRjzlV<*T8r^Tnl`qDA80CpsFBq|@ixFU##(yi&%I=$O1+8~bBB z?ia2RzBh;u&jxZ<*ew#+4NIoF=8`g<%Y+4~#=hH5)^$Ks!X*skcF|RvB)o!4gX=@X z%Iuc%BF5WA+@|o}el4`kM;Z54{`8???^6HAY%tjim6B6Hb9wWNXs8|6)3Je(p8l4J zp<=?7F`u`;gF|hi5J)7Fgv)wtqMF}=$tnD2o<&fmIkAv5%RV23 zx%5iOFX(^wAm0W?HC7%&h_tchjGE=gmgeT${IqBLYOY)-vg9KFka3Um><00U7O#9e zm}L03v&XV#yhK;zJW{~-7K3`>x8|^1^$Lf%kzxw@J^mVx$1>5$7b+pPkm5RGHYvkLbg(#;A`(Tb#-?+)i6DRBTH$#<;j+It@newv zLSXR96`AurrHMSi>hAEv#BpK{hwLAu_A7l`+q-=iabfZC2?;8PXdfEC-)h|I?k>W{ z#oj{tTx;*yYC_^cwZ}$;P23Zzu$JY%&F@Y;Pq~>sw^U%feeF!0oUu4m|JKxT&CFbt zB{%C;{tl^ns4&1t+iJ{D_MKvYpt*~1%DP%xs-gn>-R3c4?#~`pf)*fXuHC-7LKI`h~$$bBEo8By8 z+||>CG`PY|<(~qxhJe~8kAJoKC)#$GY4R$MTWNewP75t37jW);e0(6?wEyV;;p{D- zqI|n|VH8n72|+&xdHh>UgRX8SD&S-qs z4_JXeyv{!J(Qz{#Ic2WMf7+wXl_NoZ6%D9LG6C*Au#~qD)O3Tgtc=r8(!=~5=y4zuVjxwqJ4AD!c%Z*(^>oJ^5WuK=Ga*4;0(~c zdh3=u{KDtl4%oKh68lG0K?VRG&d;~%C<%uSt#^NslOXX^%^mJwWMu7qX?c0H3SKv4 z?r0{F0U$h}!U`t(BAA!_2`g)F)6@??uHLV*nX%uZ49(0mD_2r$Y-zD8U6dozNaPcu zU2kBnIaI-uy^}z~-nA)>BhyYR{}`-R*ZM~yZbQ>O+(7sousqnBxVsBd+3aw{Xp?Ic z=uTF7RuleE&({j$i}Ffr#Jt62J*I?+_!gBmxJJ%vIaZ@NcpZioadw(tWPBNVu-E;h zd8dh937k3G#=ypKpQM+j|cn zTu&|g2hvAvZUAL~j-`EbkzufXpY67g-gY?O=#CrS7{S82Wx*A%#cgrCF__ujQ|d?9 zra+0PJQeg*WMxcfZKg@*ZO}$vOgO)>gkaSzs;RUFjLFF&j#_qMpjWQ$ zXuI-yh`;uso5K#uti@X!9ERLW3tK+G0*uBxh4r`)AgR889lpBC z0Pzb5keWly=*<`)JW9k2-p=+I(1#+o$5Y+P*0CNzS?MmUM@rX@VS;RWRd4Ei608D-8$cf6KY+qV7x4!AmKQ`%7DM03>3WW|hi(U|tlMA@cr}<#sRMl~PIdM6d zq<_4{JPbKl@l^j*@!a(~tM0}5=6FXW-BP+8atEP7szuz;**VcWvb^!u0f%;`SUr;CxGKR@R5<7)CUXc1M<)4P<*>=mvCRL|{v_S>5TlNGmSs^GRL zQj!)OW|#u6=W-sH8+UhCJU2VB5b|L*9c(_&;~n_HiqwmjwWkvn;@H6Itc!?bn`Hw~ zoo7US*we$0(5ak9FDXeqMqNB`b=4H6kZD6I{w*Pa%xmp18tr+!xqh^fpO>e_Ws~&v z>+ULBq7TrD@F&zu!a7I_Y;OmAhY&x>RQbO4Armw195s;bVBBK#Bdpk&(yMjKN3E=! zAG2)BhJhS?TBgap)2|5*A%M8@FO7gCfB&UVAiF~-9%0;_6d4{~wA;lNJn7XklJPXy zHbzEL^6ZvMCSYDHwd|h{Yts1vO{-va@{GSFi!J~ipLXKtCi2A zmW}^VWNHDvau@=zYVp7)ql<_8haO9aJA8d?=f}W%xfn0d#ha2~wb>2KdWCsTp+GOa zBtnPr-8{F`N5|Gw)w&?Vx@VvVQBhK&U*d78+N1{59uYTJk8BpJQRqNOG{BUWQ?Ei6V06%jQt1ex-9w+YyOZvjU^BwpZXWNR`M zKh)pZ2DDp#Rt)Ux8D1;{*`Qx-wD(ra(X-cJ3Zvh>F28^O*f5aXvKZa1f>JX)5oqkHy~jIqElY<+nuAj_%EfdM`{=Kl_aJ8f6Y)>Mf} z*YVbwY5vdp-b8+<`O2^gr1Qq;M(k@!p|@fl;!U@GZ(ja%+>rIXIX*Fg|LECUz}o=M zH1`9T^F*1MpzFYk%Oc@wG$&)eA{s>=;?%g3yn<&jo8DF8c6kQk9))vTsGbrKeS|2F zkoMYkFlK`gy|pz%?7TqOy?kpd1tv?6WH zYcJ}RIgR_q;f}e001P69heou6OQrCN0q0GjUeS;C01+7XZPc8P=4s(IGKJLz=s zt$yh%dd^>#gw%B)+F~S6rzFEKN6!Uy8kQ+HjLsvtjoiFkJNimU*8w06G3>eJO_#Q( zPidY8iQ#88P3clnZsl=n!F(L8a5dK0`je&u&{FK+;P7C#>9(sUP>a~mt^g#` z2|xx2(A$Uy$|G!~Wo0Qut#$O$0A|9?4cqG<0y-vnla+fwe;p|C@B$+tnd-W6G%9?+ zlD9Iyc`@>hebA(*Q@@p$IkwBNI4o14r+zxVwsyL*$foZbw>vluNh&(ieSl17oapuN zt|c(%y(!dE9q3_B* z)}VZ3WaOpJuuyEF9*oNra*M=^n8hvppFrLR}`2iYK0(f633!7fI|oK*H^B$3A6D zscG`jPwHFlW+ZF}IYeAYgi3^rTNCi)NYr?~1}n<-bgGYLuc?$b1C&BEo@1%mOl8z+ z3P_%wf1-SX(=pL`7RL(1Tl4sh(9h&Nw13&6S#K7ZEyHa%+i(%m=eU)De%G?jjem@P znT%eMx0P(g++fPnyQ0gqUiGc0Su$H5EfuqNzF6!yAnir2_m_a&9j%7iM&qp2i7eaJ z`1v3>RKdnJXs`$8zu0~HNE}7pm1-oQ%d+q8ktx#P`oNS|X9KoF6}$=;;!#t3`^E#% z5)441*4CEcpQZQ2b*daRvHR=w>#wH*6xPu_C_;JLFJt{xJKf=XB14* z1E^e>{Z=PROzbZ0?d^jvWM~)}HL>STY#vt_Uw%qUTg;~N`i5R!Yg=2?_wI=o(Goy9zeqf!8k2Nna_hc1>?-YXod_b;7Cg2iiqFmht*iF~Z?DpIbmXV`t zoU}q`J^MCznk`QlD%1R_sF-NEX&*oS?wG4y4uCMei?3)1kSL$O4l=;zBRNNiPs6}m z1F{MyCuls6D-@Nme`juKO|x1(pEy&&j4OUV#uLOL4Js`y9jNWvK!6L7&tPe&+}d?0 ze&#)!>wQ@j=#RuaM@lS-3W`n>+%79AVTKMwhs9P9KH=gjRc^isV);;fe19o`@&W?g zl$4Y+{pO}-TIryW5DJm?=qAig!{Wg9z}KQhx8V0D#Kp1aw%3{b0NpJE$5&!;P(4a{ zD0&fqZfp;1uRL)HS+2jNE4|tG{Aojjtj71EpI1f$G%nnRI|Hri>Qcl@YzSat^Cx`t zsO2WKOC!Hmc440!NO$Q@36=MVTCx-iGxAF>%0`4z3ex$FRk|KHYnQKTM*tRiLf=od zG{3y53w4VIIy#E(^|fIDQxjaTS&k0FN0+bWzcgGpQTEGV5u|okIboQrF874=+4YY5B0S1P_ni4 zJ;QTDt}o4RTD~*RP+~$0*e_RHo_DE#@`+{jPR$Od;}RSb#D)+>M#y|yjY*cHL)to5 zl$G5VpCY(TEN;p@0Wcz7>#^S>t*y<|y4fc?vcN^_4h#=UXG={l9nD8)DvjmmK7RvWBaRJl56mu1jPLWR<6^Ab zEQ8}~;V5l)q_vXin{R-#5!lG%WMo0 zwwA6~KSF))^R0oUu3*4@FLAy$D8jU#V%!sNg@7;2rw9MhtomJ2&ZXGX&H*wHOzd%T z%UetL?@=bEswa>Hbv}9W#Gi23!^4mxuDaSC6fG-cGGFL=1H@>i?@Xt0V8Fcd7L}?} zk8*hUDbjK<_;bj8aTj+t64&;R{=vQ*Sg?mo? z{4P>-y|iHE?M|1EprN7Y8&LmIZWy<-p3940Z7LZg@J$m}oEleVZWgPHN;`l^bK8~( zfN;zxm^3VztH`NGD_vl8jJLIh*DQkY{dzzPs+owK{H*zy3P~mOT|L(wxgO_@{FNkJ zWpnnftAbf$IA6tNc*4;;iLbv(t*dXPn{of_#!L;PU)GNHud^6%78|Q^evPC_=^g$? z;<)f_F7(2+TQxmi#BpLVECY41!Nx{Fp{KVLEfzr&ZbRbj9~AiIp16xEiB1UT6Alg@ zR(0%@e)9oN&O=SD5c6Rqfj#yeR^8w8SK7OY0!vC!+fK^8f;>wZUo)lvA13<;v%U3??;z2>KB^T8!3tqfv1s zCX*Fb3H6fz-r(dwozqwVEtTzMawr=OguSRiQr)BvreEi#Hrflr(;P3nK@S++`Y(N~ z799kp5i7ln_ksYt2j2;*Rf4}zR8z~Q7Uj0H zEu5oKsGgHrQ(NOTwJ*_8BC7IQ#e2HKW_7mFbvlZU4oDSc4rWKaq;xp~%w^gYNdS7p z-m@Gn2*9T*e^%0tc%Gum-4=Azy&! z#B1@U>KPHnE>~{6PojG6eQ}0+VGfAj08^i+uo%rYxatkDMid#W&O*Z8VV0C0azXq+ z-!|cV!crF!btcZcj^}*}ep&NccFpxiwMiJ{jt5ee1TgBGvhJwRj-h ze!0|UuzZ$~fY@bY`J9*@C$78DE)rD6)m*kxwCFYi3_R*tXss{o1Q`Rk{D7ODqQt}% z|05IRSAFyza-TIo&}9^(ycQ!v(_6{3wzSe(aASE8y#erL;>{#B1cltUMFSwF05LmS zsXQ~H4!jiLp0YlhwE&p)c&xrh$@`Y>Fwx%NTL2zi_AYx23Zw_9Z3660R{MdQv4UW* zK+e>H6j&c}OXczPZg*BVIMTHqf`pJaZ4&4?(W&*S6*F-cbcei#w<7ehZuJ3`%W0>Y zbi@T9nB3M|R}?*cq27&DzD>%;IK?16uvXuWb=ybKS_hJ`Ybyej(O);R_=4v*`S4%WdN#Vomv^DL1vKvlWRt0pzhI7=2 z#dYf3j(oFK^78ZikqiYiCOI(YyHZ4wcMp zL_PXA!3JD0K9$J9Ab-HcB`_yPzcHzl#XV~BL-M^E1B~Spn5cL<`bJu-x>scWgeQy_ zG3h2@kB-)d?~6ZuQ~DdgtVbI9#Nu4$zq7fx#$$RG6NE1ce zkN1a}jaY|!M-;HbfZ}s`#wt=^(>HUB?_`1!alcsnoVEJxZu2J)=UfD0)gLS;3}z@&ahNIrQU{;} zaCF`Phga2!oDDxY2VT61fb$gc92J+`O9tY~GK=9lXEZ8wy1J>ES~7(4Dq(mk2rxA_ zHQwh}!K(0jGY+N)zPJ zmOVHm%-;XdH{t?rWy1-Ge`etJNPn-(n>D-Qwzj*VHvIkj_w^^1df{ZCl3xn6#I)A! zNw$cXU|`%)Nymg253D&L3bfuCSPj-$2||9AOjoh!m+hZhX}ce7YW4?9x3do;!}qo=JJhlU)+zCspet|DFGV&b+ilt$pVsh~w6%rY#=~>8{aL77`w8U>uTHR- zBL^)^QQqUNLiOki`|y?r(6t~BpCAji;oBxa)nenF#LYqgXo2jUK$-al#ce4OpcYQS zYcq4cQ3&{5fMV{M!?N6^%$MQXT7SZw8nl=1+0nxMJP4gO$1nMt`v5n#-O_}bib@HH zIzg-{+x4+<^fNL2*47p{`zl$L%|MeAxD`2&6NM&Q==??n!SGq3@Q6CFu61eODHfU3KtmPw`0;_hu z4e=7)Z3BlSV{|77VnCNio_zosB_nl*VtH=vDvT*v>6tvaM5@rqS@!>cqf$y%dJ%Q* zCY@>0imKvwFkIsAw%?BmPpWgebfcn5evWx_ksBbxwmWR10Ibci&kR)vRk-h9E*(Kc zL_EpQ54K9Zdi?lda&MyATMZKlzOl*MS7F&dK6UUJcUaDxA%6bi<^s!+r4U2 z`FE_nz4wa(Vv-=Sy_KjqnhMABM8%+_k92;4AtBSX&Nd5@cx`oi>MHegu3G@Jue0Y} zosaGUvbl70bkoV6+r!F*54_CNU-LVj-6_*z0m-c5?ZI4UA7E!o73Jif#xgnsNT@B8 zYR6`1{4Gb^=6MJOZUqAFE=6ZplF_$1T_WWZQ044CQcMt#)2Y|uiVbQih>@AEu6l6KrDkwHOSI=m>hLOZ@14{6F&4H>f zKJM$c-To-X(^P73RY%Po1_)2*j)C-KPl1Y$y-7eeeng zJEZ{LBX6O0LS$+T^CEZdD1%4BKB!Uv1W~a<`@1O;Rl~xp0=dygeZm?p2j#|I@*uf< zFo{AWY>jie%r*q^otJI!`Vr2Eh=6d&73&xMufEHR1CU^-6?Do&=>mb#?atv`PY(}0 zk2!xSe%)Z>9)H4X*RD-h3v25nSDsW#tI#E%p6`@fO_W+pDj>ea$DFNn5Q7EB%B!K9 z!&%2y`Nakoll3MxB%aqoue=%H_ZS#1@2!9+^df!%YXPuDUP3LZYFiVfR-?-hPuxtq z^!d4My~T%p+&QBRr(ysriV!>*$z3`Bsa*v8M$+USi&^dZMQbCKDHYDd&!43`8o#~H zc5q;L|1K>+FY#jE1~=<E-h4J!iv(>J z%cQ?Xlkkf62z`75i~t8QBe&b7k#+qinNXU_AMJ$qQ}elR z6^Jv#-aOjdq@c(uPwZBisp#sX-Osbu_MDe@_ofGvV!Ebc?T(TGH^kj~@1q(V|<-}r50Jn){V=L%w zmI?(Ob0MA!@)F5cC;%v_l?6wEpz~9-pzpP)xP%hl$l8#iTyP50-GDx!7WN#efzvC( z_V3Pr>Qumey{E7JxV(DzC1Wd z1~H_kJG!EJ2hBANcX=8Q=tuJL_*lSWV3?t{UzR zdN%xoNPyH0+-S1=!eA|fVV`;Rj-TIdmQg)M?dXX|+5$W-2{``I-NhJnFH?VwVJ7vV|Iz)%Se zq>>Ep_hx3Nza_|dOn(|Lb%vRApSX<|e_Q>AM7XodoZ)ac!U0~I&$x>cnv42 z_9h`r6wop+`a4ahg!5jE;v#I4OD)ZV#02<2cqZk7xhBXHZi; z1nv}g30|IO%Z4WP`}N8#ETwPWOiwt1;p6pg{P;*1)s>vblK*g%5?J@~uXm5P5H@B< z4dta^sw}3ml=bjJD0s+8)*Arb*I%^&Lbl&w;E@kFf?%~FSO2A^*1}+(s8rzac~2Dq zs*#Dw4WCn|Pv<5PQzQBI#=TDq6fG^Mwv)Zgr?UFTcoF97E3u<9na;_A&f9u5P+BIY ziC@3c&P)1g&pJ(;74ub@G8K{w)Iq%g07*Ufd+@tUj3@>d{+dYuZ!FP8(sYb*M~Q|= zp68&s-i<$GiroTe|KJD97sVmXn}6j-EY?8%%jOCvl5_6%ug=?!2RXd@J-z zP|)WPvx#4Y4UFRA;?N;;xVT=4TS(JnSN8C_uDjFu*%`@9!Ijsb2;Zm>e@`57?qp#F z>d#dJDIKlNwLZb);&iN6YfCV8zr`hF->I*s0_}Bw1UsV%d?=NcvWMa1`MqOm7-B_N zA%6Pns?#_BTstUH_W#4V@YgT0#Qq?te?1Yydh(B|=ZDv?q`Lw`<+%W+`l0iM*(S)2 z{ds)nzybBpax(VLj$BR+2^=T}(D-;aMk;p+MK|JMPPu8p6elkxw@4FCOEO1MnK>F~Htu&yweh-32p z1WSMZ_V0bV6f;EQ-nLhXlQaJNVj3f&|GWeY;?~^ex?$%38pLmq|3BCH?{ZbbO$jfG zwZ1`7jf){>B>wMBr+ejOLd&XANx({>SA+ zeJt_K|Gy9B)mJL{yeTHS`T;{oQ)r436yM6J(Y3N(4Lt)@_urdUkwhi>bADO64lC#X z*j-m|{C9G$p8S_F05;-3NA2@}UOy2zS;Dude^Z(u}S z|95($#J9{JEgLiawWIzSw5#|0mx)p&(WdCq8Wxg^@~{Ao=?A8d!hhXZLu5;1??h*l zTs8f4?zpdz?wct7^GXHyZ{rSZIVb%T~j@gcg z@VJNf6M*~pkHz`hMl?jy@`&)yPUt!ov|jZQfko;2|F|gsF~(PKQu6uF0gZIyu9XKx z&HuYG`hHK9PUin^Kz9w5neKxsaZtYc&&AL(|MBv{AWk-q4|gd1uR(nFmk{yQ*Z;?y zFz^aUN6<)Pr=ay=3Il82z__^t6&ce0c^O8hk3xi@I7vdp-FuNyG0~~R(lKN%0saccI$xl5L z7&

{GA6PM4ib>ce*{ln&X6+)w}T21i5~_C|LNr11L(9kQ`B z?8;uAQoP-{{QC9locFnJ?O}UpKHBr>7!?3LC`DOIuofOiW#i!)tt1v0xvi~w+4yos zY7aj#pL^~+5z{dbsCk$Z8XF)yQsIi(+>AfRLU47yM?=4PZd95uRl6PW$lbjTv9B=b zpy5m<-PTBkdbsu8T$#UOYV=`d-Y_x|5h?>SLtd1)j6M6-R>S6>3_4CTp&<|ttULWa z>keN=tv#C|0oGdxAmU8l7KAxhR%wVynj!o2UvRIuc4eFRDpBCnBeLY(Uu6+*pOe;& zGe)smJ$pO$<4E6|I~|R+G4s~Xm+j-)2Qe`*_m3MmLOgqh_mS_@GcXtey{iNBom^gB z6_>Vq6seTl2B{D=*&ct%M)-89!0KdYF+GqX&85?IwR@lhfSt^27f|E~0$d~|4o6+_ zSW6T=&A<}b^|^-;Ibxfqo<>qn?2OWU1&F~VE6aY)z60(&%^LeXuGFsWyzyeA0ZE7N z!U&8%Vo?;>!u9fU8dQA2-6n7UH8jPDj{PUCZ4RO{&1mjPxIVEJ0ED0}O+`baH4mu3 zDs_Fco$5h&f)|)ZBlq~})Acq~iq)aJx$a@no1RS^h}+!63XN!m*F}kmxtS49@?#7P zn{IU~D(2w+b+f^9)T!DR{yx;${2SvDgkh%yze3It-VhK-8b-z>BF?n@{Wtu^-D8dL zm5RoTi5(yn!e2nhVoYI@ysWwE*Zt&(i^XwolEYVOuRMs$~3Cu3}tIAKhi9E%r&mu%BY87S*gEWv6y>ek+zXhMw?@)8AgS!V63sqIa__x-Gd2_36X4`wBGTe+Vjbr2Dj<*YJu?Y#^+}%S4QP|ld*s1YJ zurb#k#DHRH!9xHkNXx9+J7we(`0`%wfPNX#iHW@+${y*l2qe^Gq7bu8O{2Gen39Kw zJhV&MSpMUr&Gn-1LC2m;OlqoxmDL>9qKc*GQ(taTkUIz?8k>r14xLL8ciNo_7QAzG zJ;hDpUA(qsxtmlSNQDvc&auVq&wJY4d1Ef`K-HU`Qp8~1-n$)0yAcV+XKCHC<1lRB z0-aot19Q%H|5Wgb-c|;w5VPrKOKVRuFCX4rr6%$iiQViFA-t*4dcwKAOtSI0xamw& zb-S)!V5wva)?FGborqqtvKFwf58l1kDoXJ3%Fh{LU|})3sdo+|_BJ|A2n+KE4NdSe zMx+lGyo18SEiVb4Q!$VFkx5)1E@Mch%!4Q}6)=0_%S(PYv8u5+6zQ)tEf|7>$v%?R zSgfMdpKk_7Mq*CL?!4RUSRAIv80o1l(hdq$%565-3hr1o7)(+Hq)~J}9s0A=NqxJG zMCi8|$Do9SDe4JL5VSz@zB;95do`b$dHV9E6Z$_c0NhN0UulrpL<3WFUxXK1KQzC0 zZL>(XAwZ<*%HZgtPj6_MZdNt?)kn^vW9pr zu@14V-#=ASG1aH6cz6o+At3K{KQL!wccRGCSx8V2&A$ym4kX%)vhLG6klgz0|Jf4v zN0n3hwa2rH-d0n(3DNnyo)LkI1%G)Wy!I?QZm%a=zzRmG{doV?1O&OA@o0GNi!q&I z;$m4qC-#b0ZqH#sk%!A8p&3DsCQcqBAPBgs5J{^nOZ_2Ap`IRUl?bnAh)#EzcrX7n zQXqbXkqQUPBEe7B%iZuJx@jCsu_u4vP2Cwv5ww(_zp^GXxB|4k_zy*{^{{H)|%48!7hX4}9v$xT6c5yztaGxm6_P zG3PY-oA?2@HChc~C#BGDWDONtv_1j}dhKma!i0#w4$2`O4_rm^K`l{qtdVAKLs(rK z;~*lB69(UnTnA;f_v?FHh_?)`HCyQj?p0%sZ{IB}5sPSmMQs1SMKUpV>5XpDlBeLX z*S0xe)eXXMJ6NV2izrR3ddtg|tddZ>JD!ZsWBV%*%&|w|XV8SQ)W+moq_?KdhlAR) zcKkXEivMeJc8d}k>6iI|Vzhi$q1?NMB;@#|sx;^vKs7i7nSBg&4#|2zxEzPZ&AdH>E2DO}GT_9VVQ;*)KLPuxwwxEL=(E ztp*P#@%Br0)_;r{i#=r=CWVQp!pzbqf%6h>Va1dP%?1N$2moFLa^|~O9bIFZDI<-$ zU4AY0ys^yzt8JtTuzl)zhI8JW46)|dJQ*5Tj)kc_4jzpuSWt^qX`8gQ>eBj1_hJ+? zV`OPB_TNT=o!ln2-5AR z>96ADejGx7hFh;elqM~IZfBb_zQ0b!v>F;;^Hz1g73m8E#Z8drf1>(e9-GO8fS|b+AyT2;&PJtSCv4d*AeRSwG41eiVEHa}l7T+EY^wON16jwCy`Nb`PK5KC?Sn zX1IKHf>|1ISJX3uyqie+ICwmPHDk}PEO5$Q2v*DffUj{C2$R6>q*dnZa4K8uTR& zQJOzIzk#h8<*7^-E3ah}l`X- z)G1mY{hOw9mLWK((z2^g%_lKN@nCgzbDXpB^^S%Y`W!ERh_T8|t)&`^<(R7cnQP*J zWIaY0<@2e}Z66MWen0&=^52`rvcO1usAlCtAaf}!pQQ1lBnoav;bJz^l!|y6(itCk zznb{@&_@5dnNIqN0Yq4;fN!{ufYmyi9@6*arRRwC+sYahY%Gh(T^>5L#o5)8_@m8MeCb>Zn;TWa1mz_Tk6uj}Jo)#?LzFXjXR){M+nIUMJ43(=ti& zvi(yMNgWgZSzl0-WP%Q1E{vlX2np!_*cf3V>eZag{L+!w+7ltVQW-$bK)=nW##e31 zeT7LmI&U(6{-=fypPnoa>|A2cvrqlqAzK@b>s}VdA`Hc(xu-FC5iA z^ZDwX*?PI5k}1xMndSs}lzPnI^=m;C`+=zlctSYg-S|%?d8Ky5;Q&I$-_X$&AlwC3 zUETCG#^?9Q0~uUXZat}TvK?3+y-FY_kkX?F7gcGVTsivJJ|avrnT$T53HMY(-KPU{ z>kP+5>F&D%g4;Iye@dt5ZtM9~4IanF_51r`x0lfJ-bd%RoFRt7*LAQ|A-ovw=nxLU z8%bJ+eQRVHVcHElR}TMs6ctfOsZ#&UMbg~p-UXj7OTc;1A=oX&OxlF$c*~r={oC2u za#aBa)-o)tg1`~5wVi@9s+5UckRBpPH+Wulq6@XZ61?KPiQkv&s6u4#@`N_s#kmih ztEgj)?`19{uOoz+gW)VceLX!Tspq_H9sq4z=cy(#i}4|;za^vcNAz&I-tYqR!v|k9 z_?8D)QXJ)cqdfvB(k7H6|F>m%?HnX6HpAw-p9nwScsHg-RN~|v;p?zS58qztb{;!o zEVhIN0jvVH*G;OS;0a*@sjRHdbN#};ZZlVRK{Bi;{6UD(ubofywmE=h(Go0=ZZvQ) zzsV`oJW{=7%we~=wE!oO$x%V@AUx8+_)Fud{>u@ro zOG(tah7}yE&JQ=4eyy|LvS_A;kkw3nLiFEtN~`+lyvgW7c80j#0^0ENdG%&qDmX3J5)Q%NgsKB}sqmOCi`XNaU%OX9+gAL~{<~!2O!;$&tVv-AB@p9I&lzj5#jR^^i}|^Oz4`GPVXHpJa@=1d zgDP1Opuo!-O%&7??7atj{`Ihm&}}!GUhKa7_0^!xll~O2yo6)JT;Zh)g-lbs%;ql= ze8j_m$IcqxUh1Gh)o95{kW<|4$z6y70k@g5;v+MM&{SOY>!xnJoV3X}5piQ;hL?!F z&X_Dl>qSytMXob7A^@>IR_})7uOtqod4h>SmB{>8vWe#_w7YSN0jX)bdrshP9zH(i z;x|(H+H7+?a2Ko`wevPLH8CF^>#*>)?9#8zRslgnL2-GUrIho` zsN=dZH3=x@*)qmJQnP{-Ui4Ms!))m6+qLvm zqu6zhjD~WQCy%I&M=eyVo;og%DQKUO;o_?DGe?A@7X+H zLYW;n`!1HI6+l=O!T`;36HFzhMXz>%?eM3}iAGy?fAs)b?%x%KPeZdX@GBe-f#wj7 z$4Dm^0F6CA-aY;chkq8XV{A0nr6zQ~>P{K!n%yEbe8cLye=GH(#7n)i5zqAB`#~JP zOo=UG+n=@V5_-X7h}#GXx;EYZ>qbzmn6l&~U)Wkh_FNph*M->HJ4S`55c>nLD0Fnk5tDw`5u+o5jUc)!?=uDbUh@^%sDQ04MN;x7@uF z;mV}BFo(YfRI1m?LRf`7K>;OOpIAZqQ&h6vaMrKBy}j5ZiOcWz&vNi$Mg`md?IG9> zX|z~ub2D)N1b;Pk=yAsfF0R*Vi06BngIJ)t_329jGL!wC+09sDNw=_;8cuAmEX#}5 z9+-O9H}#dZh#E)xs-u7e#8K7X&#+vS#%}oH_J5_o!cTc+Fw=b2j$)nD^((&`m65hj zjtAIni>vqG4UYEl@3J)e_|nNW&kP3z%g8s@l8BgjH--jDkI4lcF8B6lXeO%lhA!f| z3#QUmxtn5K1Qv!R{Or^MO66o zu#M6AgxIaUGiyM~cpCyoNegn8hO*uXvwr5q$A_IJRr6Ps&uM%vwdkFkf z{BPcToa7!tw|hUPT|fUeRzEKhAvBp1hes~=i@sjfkXO#Sl06r!`Mp{@zV-ln^_Nih z`R=fpzGMW%Ef7v$@1l4}I4lr595GKszRLd2@I>}>j^<}+ZtT<9Gq`Z~7YT*?XSC-Qwc+iKYa*j2jz&MXQpyc!XVDCK2)E=0Ix4 zwv2lF2FX{EG9q?D+YAl~_3J&*TpGrVy*69P;a8eM0B*=;R1R#jFSMu=w2S)-b=U09 zN!j?6LEO$`F*+e{+`B{){ZDKMZNz4i{v2S#m;1@mug~>9<#rM}vZA(dutk*cUP^ zrB;4*2zQU2nS6^%Jz!6pWB;CsQAWOs%Hb%p7{AU=PJyF%9veZv%6}nYHD9-AEJVeW z;3FI(+%4D7s8L}N4{`g{!YYp9bWT_^O?F-HQ2?n0`TDir&0w3rYinOWo};*hw+WYN z43MuD@a+C*{MBdd^)|iu%L7jq{OMY2%!d+L=0s8|=-F=dU?1@!Y~(w{WF$ zIte3>Zix7I7t(caDk39;f4mZH7yld-{Gs;+SXY#VxO#QZu?N^=-uKm;aWfM zTymg&eu>dgF?8x379cR`I$7b1WEn?hOeXP$^0gnI4ojqcLx-k0hTlD(1bNy>`}lrc z=%r8dDJe3Faq5otfHMWMS%p&S4#^HbiWl>Dfk}u$>dw{GL{oFeR{j+s+n<|D-C`6{ zD?0q@a^iv*J)r)MV*H%n=*(h@eQDM1 z*`LQA5s$h|Zf~B#3ZRRn&Bo7L4-UwXH#{QlnG5eAJ41(;KSSz6g20e-n_-Y5xn@rm zCLpTQVJRU;7RkPhxTi9oj*Pfbbnp-2j-BsBtKs9`EKYnoBJqT|cZ847o))tl7l#jS zm-f%>Oq_P?i5P>e z32A7AvHQo>5_?M6DDCDP=rENq}0ItVz!DmW@^)}o`%jt z5DzPg`n@KZ*O3b`Njy0fQ@J-DIk3xRYBN(!qRBv=dI-k3WK6P;r1)643S)KUHs^}d7I1gU9p3GkfsTdE;zp3 zoo2dSkC&X^P?E!kjars0J8*mFMECW{?t34;o+#9uUAwxU3oh4zKGg#E?P+sMrk8z1 zYZdX;DsDY}iR!L7kfk2tBYqfEMNd!7IB|AwV{*NJy4D@`Zhh0C&TYSoV7lJgvgoMs z+Dp%E9q;%UCTwH8*zA41=zSg)m+Jlg3O{Ot03TcWz(!_wCRxVjby>}r1;KrBrp&X@ zLSF+CJS-EV%d8Qm*>}ApXj%~VoB(fxe1HqY?!#+7e3U}~n>eq=)K9!qWQw4IiPk^6 zB6i~7t)gO4|IN)!&oJxKV9jEl;|=+IgZ=VDg7JoQ(03`#cZ~79w2divXJaDSn5%SKOHP4tXTF|wa`|Ol=@%Xx* zl^qsLw>i?}d3xO5PNlQI7`icGqcNOv0jqQC!$sm4>(@L}Wx-2 zD`35tq=|Q%lLS-{X*nfmk!D5hRfHgMqb-OQeVLLjcYHEc>db2#fZ3XRAU@i8Nq6PY zpJ|ttqTc!gS05#(a#u0A#it>?UFRhZ>%QKd!T;n@3mj^9%cxYw1`_>>Vni=d>79}N zC%wRP#0VUlwYa8HRaF%_?4d@d;0b%2lj<_Q!>V1D!rFY9lx$n;m$11>+f#aRuBxNl zevH?jmtQ_sq68Fx;>U9Ds`ut;o-F%XTITYkzQn7LwC>Lo_#-*4te|Kkg0RAQ)`hWv z(GoYBY@p}IkJ7`SvPJI}q?%a;d3h)QdcD(~v7E~T%ZcLEiaJN3h$;;xAy_-wb)`u# zg#G;PyhVfQyT|#C4B(I)c*F0Rr}+r@`Ms9v1cX+If26R-``Jd5KHO|QXVs!IEIM@P z?AJxdJq6xlxOgPn+LSR89J1Cc<%ENr;I^T8vTsL)EEsOCKJ+BuB!uocyr;c*cw>l? zo<2cEN#r7Eih(YCd3{npr?4>g#}9)@_mbICzf=ngq(7-kY9+e$<1Y`Z2fBMqyLi;@5_;`(T!0tzPxz@uL$W%P z?duI}BU1N+(+;e?j)pLdu#t&8%8Mls>bn0oc#XRlfi)`de!yoDy*?S!XBiN%WAmr* zxeR{E+CrLC`>l}uEG{as7n1JNcdC*Da{G}%Er)$C2SCx}?pa5XpKZ(OcNb0Rvy&4d zr0e4yWs!?(M{@V2d!O(72L%WJDm^^JRd${CL1oabCoS8LQ^_GOvzoX%V881x5!yc} zzFQdk(fIx5nloUre$K?y9M+*EI?`gR@5Ll_t9`cTS-V+STiLmKcDv7{l0KL!XJJ8f z2PlIA5bxtQ)CUhpHJ#4Q3G_THQjeCF4ARm>{2}H8OA~ipvrJ4(E0A>Gjk$_pv;GNd(jGnyYQ1-w zfV{9$#k)ww&tE55=$P{Y<>UahwcdFLe%WyFu~WTRZ*anT7KxDWhp0cw3AFg`Ha=nV z!+!0lT9_mbs0sXgCN@Qvg66tYJs3+GZ|m!$gDbJ`-Scq@3N@QtkdGGZ&d4?y9Y;rT zJNzs?l$_Qjd;mS#jbmp%uGK#NBXWIT9-TOG2@#X}du8IuMQ|H)wD0fMqxEvQ#6O#* zEG6OuCKfACyMghAW5Yc66TVE-tF?+@_~w{W-F}i~L=ZTfN7E_8{DxCUb2sUNk1)>W zyz`1k1lBZ=I5;?w_{@Gk7ZVr1N6)0AZ@epb&;!^(6O&8)D-SyBPm@+dsb?xZiRYB-Rrtaud7M`n)@xr}*{k%}X5?f&*VTC0zuu zsx7728#g{bztg)>GmeQxnXV694wHK|IOODt!~4RevwKpwZW2WiogdhK7imAq%X`20 zzQj7e&Ru^1vTSE}mS}zq%!?N+$EftqncxaM5&JDe3n#5&AruJ7>l!h>z>c=Z z#@%*%s_L8;D-QrCIV8bjb&#}=zjKGRNgjd`T&u%kQ}=(E`Umd#@Y0-DoS9N@3@lrhS=6(B6>_@%@pse| zb1X$iN9T(RS6zt%f|IyaNzf^yNN1i(mjBG)Z7|`$ud^{wv*UJBuAN9jFAx$r>oOWIncf?k(O!-PYDZYOtQzg z@Rj`PO7LIyVoHB? ziFPGYcE<0dr2K<|5qVCtC?Ml9G&)C#>pN7GJo);cyXVLHKxJ{43x4W&qy^nzQ7TaF z9aE6CTvex`(t7-4PEOuWrAGv$8V%AhpV_g|`X~a=LUo0L=>TfxsqLBM46ePpDN`eI>tbM5sSHyDtx@su`#A2RDLQ$9Yzhid7S&hhFku>p%?^HJn52q|O5S95 zSD(=yTYVuH%R_B#?W&BQcKZQo574t~@0)Fu=P|1nMO>j_4OT15y@lD_p>%j6Z8=jM z4L-cs>BbXe4z5m@&;!|Sy}Oau4|bnx>jjcWwak?}XEdLdp4V@Cx{AxJMPk7`-nTyz zJgLyL8I{Lk;%ln~9Y24(Bre_D$_iRTU~~>&m~B|;p(dm!UX&uTQ_N1@xER||KQGr{ zXQmdCt6C8-H~RtqVKjVydG}_Yhq%kEtk`I}in!aC)E*PCQDS~|$l$(w5*GbW z0d!uN=P|$Q(P{0YMo?P)TR-%@mX@r9&HKCy_rcy=q&W?ypFn8_+jCh$MX8^@OA zj4+S+d-4iZj~~rpld_g~_x2ke#N=JhlHKT@>xXh6io5;4`Gb)cUv~@r*B1&A-O4%* zHe!^j1?0l_@9!G-RviIIZc6K#{;6fQ0P$qMR4EZeEfLs6NsceG0ZHNggyFYkYer9< zS&>sr5r?L|3LFTRCjn>Dk$_tQkqxZU~s#B7x;gO>r_@#SXVuV=fT(N*3j)KaG2fA>M`Lm}l; z^wc|4Pu~>`Ql={pM#i6ceh&|Ob?5VgCHRQl+Ga_=$W9U_hcwK^sq8_-l?Pt}E=NGA z`3J`igmwy>nwYc&X5#f!&vGwRzU1x0n1a*KXBhaqORFFLl;W<>3(o2>>YWyo`j-(E>c7BQ^aeeEgkO;G{3{${@mSIY?4mbcc1 z_Vy3cb-ht@&)4Whu9t9UPK|@PRP&UK`V-qXT@LO)z@noPN&;<}_69D`K5Y#8?8yoH zl$0E}%#@{`H0zbwEbZbfd+a|5P9@eeHf~3=U*>e15z$6QykG6Z;dZA%a zQQyWjAPrq9viWzA|2Wr8( z)-EW>@!y{0Yjz8@pQVJ&pG`n_pOSBr6Fhm#Q~f8E9W0h|H8TSn( zmr*f!7K-U{pMb#Fs%A^c^=PxT@W*R@*TZK;wzh|xGike*K0)|qoBK!WBTRNPh2hlia+~}5LUs$;udgp&xLC*fe?(ErDQnsC&u|aflrcmQpuyJ@ z)SjD>=xo@rVmQ8aUSkzSt;26loc+0bm{&fHHEvc^yj-33$8(-_@?>S@=S*+e=4)V$OQ4x{Dw4NU0<4G^vl3B za@+7kFFX9~SM2&Vo%VLaD1GYhUz=|zy%j#A+38K{T)erMb(tZJ&EGM zVUHl7w-=GH5wo1g)pKo+YkrZLnG9Gx;FME`Ew$~cMJ(TkWPy!34M37vUAe;C*Rz`3 zP7dRWgurhUW?lTi9TshF6kzN$*Ml+kEgkf*xpCXY)qyi6L_FZKBNF{&4k!k#wSOkkr~%boI%a!g|pc=ojem@v#PUdhPq*y0#}J z7gywmNV=hN8FM|oMU}l~bO1s_3*->julTvS?^&lD)Dz%+C^3?WfnKmc>aE8bmSVLS zg<`^E`h6*6cjts($L+6Uy+Zdl#xhk3ST|vyq*Dov2Fce&-)5yl8biKYlOZlj)|k zpD)Nv@H;SMCth{+Ak^|Cz}Em#f!oEeAQtwZ#(ks#t3bi6}!Xo}isJDN#_rv(aDz4XPT}iHiET3_VtzKlM9UURYb}9Fh}Jr4bs=HVmTr%;5Fq z%bl4-Zd`09?Cts$7}d0x8jp3~)?Kt>gK*Id zo12@4Mv|@2;*9pH`FA1D*~-u32g`e%nJN22{i4dNQ!guKx+>{YmJ(pXD1;mqgo`lu z2-Kqug2cq=WS_(h_>DZL@r=;V+7t4-`PDIg6r^{Ou&Py=W8`lbq}0q9-=^WP^$%%^ zfZir9Zs(uW$}C<^@?;8*x3;vf+aFs1+`@Qx*-g#OO~!^DYS-&wz05oV6S+#dF))gr z3Yjo@zOc9z99rQNj-|sP&ULyJTtBuqN|{7D9VcpxHC^?ob+XzdwnzXc9234HvbiO< z;*QZ{1bRv}N2a|csE%pXn~xsVrsv}F-Z(#IBDJ0=C8|EzH0mz56ykKJ$cLZmsae!{1~FB!r2zut>uC!T+A;Tg~#xlp|O;A0qasA_hM z*--eVyR)k^=yHBQrQe&#d-r>@qB36MY>g?Gr`Caacv0SDg{{NIF|C#4=(B9fA7y4m zh!jY4tDf#COc-2QSxd-A;c5rNz8V*w(6qEPNeO9#-+2`aI-I(~IT;ewJeF}Md+nQ3 zwLu}uPS0i|Mf@BsC-F(lC(=0pQ(Mdy)%Mt59It7f&Ki}(e+47PxwtqIG45ky==WAR z5Y*7>zu7*i2TeCdkGIqpT%-4hpM`e#3sl14`bAIP*K5_zBfP9jO9WF2S5Ie!K#;ng_g_)6O^ z^ljchnlbz|Cph%Oa?L_D`5Tl)*>k+sAI-16=k;q}cK0!M;8(l1{H4ilsK9!l&ng@T zr{;RFyR~Xxl^LI|X7^4G^z0r)9Id@cU%1KvktQdid;04`sr6*Yo}8$U@q?FDvD$7A zW1*n#)47qJS+njNSa!mhgP?j=b9YoqEIpg4qhhyrvzBlR6SJ}&#qoG}xr8WsJATp~ zeujvw*|S8)wLU3x;QwoWQBg&=4H$g?Ss?7U_zo*#S|l}~ybQQK!x_b27IRisR})}x z^T)}e(U3~rcO4fTBY0p>OGg_X9WApfI@ueY{#N4Q@%F4bpC}s}Xtq)Rcm)*=Pjh7~ z02jinQR)vgMYL-$?f|`%uo6z=%a?De!mql=$KwHe;&|*&jh@*KGvc$V^?+JIsZBix zN5Xt6M%VfqyeEX9tDR=R0ox(>d#%QopP8@LrI_)h;wQzmepOcT5%ZdTT;IFAbmy@; zPh%HzG>Wa})pEH<-#%F3?&>}@CLan$doFAo%(D5NY~7G}&8G!9jk~TEi3bU7|M_vZ zAh}3*>1=m@UvKvM%CK*3s)#yS(D9#VT)$Pq3)6V$5+CuQ0C6%yjD;57HRu}1A-a$#{jJG0$#^( zm~d6BYw-7mhJ6CfpM!VhJ3ASC`YWENxSul&%|cVmU61ry3U&WvE8_C<@@{TzI&byz zf)be>)?ZbDGdobCt?V`m?})13n!kWsiQIJ##l6NuLP~1UKpIm#lpFzI3n91OKfIWP zUTH(nvk$ft!hINlB@ak(L{eLOZ3YJxx61sYsnkMJX`;*te#g zh`3yz1L=Yn68lFpKNS=NfiA3fU0hsR1>Ep*xM`!&$UXi2{4nPev}yxM!Q?hV>J;ZM zMRG#27v)=B8uauzUTGv`CMs!MTj%FP*$NL~DMCJx^l6`m)H{VwJE-GWlz&c7aU5F;Ra8xl6le7{Qb5|qj`H65}SC?D96CTwoVt2ZxFEyP` zkX&ph5cJ#>>zs!N{#w1NlPBY|33I3~Xt&_ua$SKbAo*KrlzN)G^#xkd7NFGZC2(Q zH)l$!Tlnu<*ZHvFv*~S%Q*bQrwM!*&t)zt(@+My=T<@)DPhHHt*GhOEP*|8c%e8>} z7<4jaD59Q^e~cT+heIZF<9XGUL{FtCZlr|Oo;vi4LN#ZspNuMYurkr35)mC)bFPTa zHmhmpr1h_Y4eyo_3kz_`Ik>eS3QlGL!=|q*gl$q)|A0b`dgGgYWk`Y?*wro(v0$`V z;KqfvGT%t1G8+(xEq&9~rgkIvUpG9pwU>%g3fNc@d5r-kXrZThG`FMe+@n{tduZPu zo){|yOf)7095jzuhL(o`ZeZZ7^KAAVDm$t9`Nuv|LB6A>=jk){?_)&|6M2dqCXYeS ze5impVr3i%4Ym{)I(r2@YXkT+t3R%&%T4Row; zZIHR^xWS zK=`=nTwmuAJGHbs94Yh2^dx?Sx6*(={y0b-ZQ_itxluMyt5_;qY9I+Jt*49&cAd z$kzV+cs+kvy;BoOp`5o6V7ut-z9f;rWBTfy89MNVNP~+AF}|1mHk7mzc(7VJ+Ea8+ z3&oLGX(eCN{iYdvbFw}Kw4opqtnL~of7URYvL#r~W!^`6ez<;5iD|?0CYh+jXyCi2 zhpYBb&L8_LcaH}Tu$J4Sb4+H-$+jlTDY;pafv5U&LEV|J5{vqN`*JGTXacWg*X2Eo zI1znRz`>c4i*)~>Mc2w0zu7rK^jYxOPm($5@Fbc}7t_jx61@gSV9+PL?%wXjfJ_)@ zC+^FD3tJiGHV?}E@cw;+1Mf_SR3!aShC-%%!O;|#Tr9lI@I=Jp9jW%s1!|8G7Z`$L zFtpqY+>5C#F2II>TpnMXKlb)kF0*!;dC4g!Cnuocz%81q(Rp<;rLe%0gj79cSqi4Z z#rJp*ceK~l`uh56_V$^kZhpUq5ekN28`o)X_9N=Q9cMN>=%=_Ogw5#yMS$Mytg1RL z9mg5J6!qj>!~S8jcyOwAiU=ljDg1G>Cn6fyefxM!gf?4cnB;u^Z1rae9Q{JQn?ySV zR({p%E5p)pLOzpLaG$pyGAsH@D|k6kKIy<6ZL_CmRW*+~ za(zrv4}xq%`Y`6HI|tHCO8M!ITNBSi0tI%?--xB3uRlRZ@8IXxl=8*%IJ~m4t>K$* zn@+?XtDp@hAvf`A`~~?pLDFACXdZ>`8!8`RWWiHpKC%XWwoF)0qe1BSfV|mgdQj^? zG?_^l5k-jF#xzLP1xJo*vt(RXz6U8?)6-p z>VpPH;P+OVRl7Z7wzR(XeTVx|ojq|!l(;{oDMdvoz|@0;=T<$Xyt7NAW#&QmI@KyH zI+MN84w^$n_m3iIrCqn-_NbjeG_g53Iy%;zt>^p!rM)d-qw~~$E?d17AcRcMCKvx| zx~_4d_cyA_K5a~8bQHynsgRR!qZ`xH!=TIK_Kt|Xg9C(*WTf-z z0BCc*RY7#J6iM4RS$%WJlLH)3i-^uhVBiAxux^)B!6Ooa=5B?bzq4MWp<zBo9pTF+cg-cA z%or}=h90za7d$~7nmfd=uD6~-O4I(c+803WJlD6{Uv7()-Jdzh60&_gJ}uub{<6-; zp*!U9NP`sR-waY59QbMyDdwNuvX%E5_MMpcD7u*b8`WU?Vu5e-m9HDLM!(sI*+!GySt zq;=`bqjR8omtO;(2bxLbC6tZ9%?UagI)P2F@wnNfK3B83(imoV6o}Uva#Q8V0-(_5 zR9R3z0h`gnsqxzMMm>w{!NI}WbiF8$2L1lx6f7mnP;Y|+k<+=x#B!jmUirVQ?U zi&srWE$KAmo|_!~NhNb7{mxFy(i0Vy-9!5A3o9Gy&YM2UT1E#c(ETHV zAoO;atD}%;!5N;{ZlTTj$woJj55UWEHk*J!!0FM3DH1Oj+u?uTQ{{|Wxca04_&0&a z1?dPK(r@DgHY-N|c%dnEK|Oag081jyC&EolW_JPowZ9G(c_(4Rt}yGIR!B0L9;;;l zysGZU1LDK${RtfiR#pz5ylO1FD{kereyazA5q78Z2X_yv)5xu0h)E-L)~VPHE@xfa z$0^^?>9Um&GbgikqHQVlNlTxN)fU!&6x`-7BSnlmwWxplKx0GB$?0U(Z7*4Senm@x z2*rC?SXg-I9l#tPO8<~%*AMzmq^l0mAz(KERU;CdZl;|GNDgdHzJG`khZi`|fmRNw z#LtBa?3q$iPcGi+SsVBFX;wR%bUd=EK3k^Jt?wff;IvqM@3=i9V`M~^r&gNoRG^h% zrEdD1Q0n33)$xU^(oHd{VA^NaWPyRK*X>m8GIY4!XjthoIU~_0ORNp`nw_AIT=u|7 z28GXYlkeWWd%)zD!b1;7IW&RZb*p%bOF^K$u;;c@gG)dV+k|CYpL>P})XI$eks`Q3 zbv={CkV)%IU2oqS5eKuP3s2YN)MP&1O*dSDf%ec*}c{jG9N!V)uwOw-tc0^bxTnTYR=f%*$EoOg@?s;fLH|{ z>M}6t{uz%ybLY3`eJgmE4$Z^5I?Af5D>x&OE3S||pr0JOEkDBQChLz7&kbp>V(n`@ zWa=1lg-g*hO-~YIkUmW?>Mx7=5QG`^5J6p;_IYq5dap z5_F0w!)C%O_`!++t$LL8-yvv`YpEk1mtxP!x2@g?IL7xHZEkLM)%)XJU())@Fr}H= zIY7t?nD`qU%ApnBd7E&8*H&6u@OpeONtT9=PCiG8|U6!7>RnXX6c|3gb z|Bs!KvqS9jc-LObou<1oG_6MS1RDFS97yL%`On!@33!d*ktM#zc~)NcqoS;Dr9yS_ zWhuC5asxMYRe%Bm{6D^7l@0kif?2cK)J_nL=XtpRX~#~tT?~8XekZx#BSho*Ygd8X2$fRM?C+H3$F1coiwwL_*Es;Sbwt2>1ua zF8gmOu0`V8of0`MH2;>n0>W|$xX)?(j3*_1jG5ib`g=*96tYl^;RE=h0Dq19Y*6~& zeb(T_V>JxI0!SvSxhzc?RjlP|y>&{okK~yxy+HWQKB9WckWFj$e_2C@{yG3ZdbV|4^g< zNB^L-&o9{Auv!uSif~Tk1rBS;#>DR|Z?9ysVMW4{%s1@B#8~5#rrc%QXm!gbsv-`I zK~PbJ8Dd~)ShBv7!tm@_t-hj_BT9*BIoo10;cOO1L!BMtOLg@oPOmJNBuI5Ha3fY zDGk2x=K-fJyV6S}P|2G3Bd92rUA9zd5d(FH*njpR@f~SzZXXz-1vkWLn#nmoAkid8!3w;3~&a>lc!OEb0*B2EI|{{3hg13W--b5nus>0^9}Hp}07m^pxoPj1al8G73@@kioMpy{ z&1whEcIA%e^{J(0_)1E2bZ^giN&gw?M5&o%drko>XSsPld7XNB%^&-1!slUX+~)Wq z*H&jI7MF|I%e@Jz7Tav*BgMKyKkY|se*(>Ct5{u*Cy*&8rM#RcYupz2e8#l_L?VD3 z-iRTi7V0ALE;{x2&%IO>?f(>)N3B5E_UGV3;){EeI=$@d}g?sDmx(B;_u8J7cxsi~<# zwY;7)6Oo4-yibL%0I)KJfT^ob9BDzT%%;{>qM-4v3j5r==Hv=& zy`I$%KB2uvTo@uZU-smJSx6^KoG7l&4^bO**moy_6bO0jo|u}hNqc$<0h7STerRy$ zY<-gUaCIaaq@d<1VYr-~85kL&=vW*3rKM4WKzLZ&hYz3D-#>>q{!B_DUG@}82~pM# zuC7)Ou)iL=q<>NLbUc1~DlnvZC5XUYCY1cm7X!obVoMUy{PO@1smCMIE^#C)GaIH7 z%5@CioAtaQ6BVsTN9+8CN;uLUdDAPaa}lnQ;EVUr%UZ+X%hcu_fx|4t9}a(ufdR*q z7ea8gFCEc?jt<>Ok&;0XDMa9K0exd*<4o^@f}~qm6m+arQg&KO!!{a7bt!4ugFvCny{;*KzM)H>#eIu(wn;rNuAHz) zg*rZaqpeL;%gs++^UkWB&N|JA_|uCA>z&bG@VoGNyOCRW56ugstU5KzOu1Zq*Gq1I z#k1p-jQ4a$(nqT-9+L@n_Vg^RJ8q$X&c}$~^UY%1Chz$&9ZjB5c<=?e`C=kkm9_OR z6&BG$uS(C20at~7JJp^aOSG0-?5)T|`CVpD|Fd>a0K``POG@nHUlv1!MeO*(ad2qK z-JDxG9=DT-zZu|T%x=+7VbgN&Gl%7A)mGJT8rp>yZCI0aICxyxoRE13eZ#K0fT0)M z6y(cjm=G^_RCg=H^D`IP2nqAY_KJ!R{jh$PPmX1n`xJSiVA-wtpe1y4mOM_Bf8j4z zc7~US#1BS?3W5F~1rwE13=aA^KGoIn1W(}2;)A{`7MbamPj3)gTS&XTc&%TwsG?$} z8BPISEfB;I9(aND1ET#7c6?~n_d>zgoDwEbLAJEBB{_Af^Mt!en6~JeQ)gTP3T=b!^cC2>r>r96+7uKZZ_wqUmPqLN5{gxoCm5VWLDmOg zzRi`x=$*NxUzRcbh6YeJa%cJw8R*LI@_bxKy}KKs6Pvi2BUZVs!{6_tqG}yJ zj8*%u^eg`RX~6~P>2JxfznI6?+=~PHMI>jqOHTAget`oU8+!s)MyqE!H9fsHP{wq2 zcJ?RtgZImd=~o~)WmCmP_~O0JQ*!ccFg@EbDw$+~&_>&%iTGn5&&tNgP2Y^i#j1nl z4b@`Bw5@XdibvV5LQPH0>UbU#wy=%p@o^^fNkv6Pd-HVdu1gYj$+-LiPjtgtEu$32 zybpn-tgOh+28@A&BOFgOpP4fzJiZY;Feo@PBSZUlnc5qHfqWS5P@RsZ8 z06#@qdq^6f(Z0T$+7B_Hk+Y5tB&8=_a~%#cucqBj@I{XIj)5iW51gyrKbpn)KAql& zNJ>gVn6Iucn#>I{<5unTsn?(H<(01NUzb)C>9M$Lorv&7^^pngH`E$hkFFxtB*E|p zxQmOl^L%U5-s#tWVm#|pJM2k$4ja*jKXuOub_r>Lprf8X91eFcSrW9W-%@h-a1SIk zpQz-Zq{Q3Ubf6MQP_kH1su46R)SDCkaIqvq8EBN z-AcL74w5#LNPV%~FukT~gsez^rx>>fBQjH4Z%+i%)Pcz($xcSu0o-LEm2uIg-Y z+e1>mL+d?Tn^b5y5_?ab2_6cL69rdRRX!oQsZbw>JG;2-4>!qma}+r9mV5hQ=>w~6cwC!1%ZM_q$8s$4TE$ButFzn52|f7%I?l~ZJOyZE&eVj#Vonk+3TzLqgLVAOAZ zt3Yo5Uvwrh97UMu(+F`ek+>W(B`by{fk4%G=JHIX=f?6T4tOsppx3S2 z!fru5K~fSBoj!32f{-*J zbvevRQ-BL-_mxWA8(`Xj8C|%~h#zysOM_^7SaPzAk&;rl{o}}pLN4OHYx+XRxw)6? zBUuUzl$`2BuEF$9a>2BXGeI_@^#2For2-@>LBA+1dGNV>)(J%k{I7 zOv01+lb){uASXl%CY054ghejWbN-NoojCY#bs`#N^q9%c{i-dP`BLvgk*pyaHksbc zVvlN_$1b&KOa)m@Fs(x@4<-RP!Jh* zo?>K%w#S2pSv2ej7_9F!AX2KP&1)kc%%6`j9NA;b8Gff_Mb1%F^rj619bH1yA$!c( z(-YyoUv3&lowv@%;bur|xxsjAR3OEnq5?2(JR4b0(Gn!OOT!XO8@q>1Hj0rDIWUXo zL6H8yUV6IWd)^w~JSm*;Am(KWR3?1Vr>Wt*npVFokvMh<6WFThnJJ9!Ns*EEjpkO9 zMcxVAufT*MW=CcQes~KDz0>x@!xt)B2RAn@mvW+MZzb+i`wBOGCD57!{?b&X-h_rV zR?~jjq!vwY>-KT@YE01Hg8<;1{vwF>@E=)g%eBqTZxylhPzs?I;K%4AqPhEvjJV5> zYlg+WMrVG-NB22jE!j%_r0X4K?Y+C&o(D4Xiy-QVUU4Hd*~ErFQ2ge=4y`jHB4X@v zRQqrn>QSU$V$`oYvdQ1tc5%!)I=J#YJrgaohN8c`8U7rD?V9*MyQruP(8@Z`0WH<< ze;R&Nx~sii^+4jgELWsywDplrl3@**gf#DH{Z3~qLjO!^JnJOS-2z$12x}4)&r@0%~-HnYctKrlTmFjD!DyOxkxz80v25X!E zl+|l+k4;YE51;J>?3t`36_s-O$!z@F z=JTV#Z{w3Gv!Utg71k@`4h=}MVXirShfBjvha>Fh> zHrCI(^T*UdsCbIbZo_1tgAW&RFgTl7b}jf#r04fc`p|xvxt%!ob<{*g2g_Sk39vhc zEh9I!8ydCeOIAY6N9)!L?=|Z3x^IovaGqKG@NO+xC6w9T@qSpZ(nmB{KCV~_#@B9ZVSODrxbs~(bX!Q! z_OYd)L!$xbK)%cd)rR}gRs{&I#*(06{@S$%sebx@;)>EUGPt$_27DGl6d-4!f|`pd zsJ`5SHrMePP?30AH$8bG+8(y(yvgFh1YLSXVKK0fiV7$A^3Hg5=+e>?kRGAA)FoRI zm)F`>#cfLovM`erO=Hth|NCSh%I)=9y0`W)_^&=U@4mnlztsZajPJ-g#g>X=A`O>= zOshF2h$`2@&rea|V@L-B!)GwmX3&1IpP!AFZRZf0gm+&SeCBTL$%lF?;csv6VheG8 zGln_GT$yj#*px3W`w`F2nV>bCX0~x$hWjzFCxUj9EX92jvm*!R>egI`*B8H(D`b6A z+FJ;;^-gALd)$qQ%U-_*3N!a=i`U4L&ktlV*vw8l4P-SBOQ-CK+_i!SZ=4?){$}AF zs{D{u5h-WXuUf1gBtSk^Jky-{ez%-cwAT8qI!Xu<)hFEAwb;sWspr2Dy(mj&_WrmnB!lOZWNX&km~( z>iZl~?@o<2NA9K2apo2flwBT<0)D?;S!&l;5O-&<0Batjv2sH2XW{azyv$T~s`hq8 zX>UfKuJarN*>G;>VZ}^? z$@5~9J$WUzZ>X509hWffP!bNp;4z|L&@~0U$B5Yo1MULN!pp&oJvwJl97847v{bhrl@i)P+n!Ejns$ZgO5~L|YrZI8;gk*8jp}Mz^h;+-e3I>r)eZuv9upZg5od&{iSjZVXo zBEG>JzK!cO>J>dvtv5VahCH{P_!>(umukIZ-j%zO?Pyt~7HFM9NcyB@L5|>w;|w}F zW;#d<1#z*ku(|Jg2ZBzUFF?Hc^rGQqomTPJ!U+%n&r$aypcB&OW6OT&ap&@CZM@c` zvZuYBfJv#?-p*vW_>FD@=6A`(w#%KO_DVz>33_|E#dKTeSlm!Q{EfZ4dky@$Y6CrV zXSyQPQqb{9&d|UB4lsT}Muk5nb|wIj8q;-}MUT{gU2?SkWNQI`Zl@nm(cJp+R$v|m zyZ*$-DGfO&%f-otxPdd@F`XL-6b8g*8V9UIAy%xh76~?AMIN`lwsL%1SsN+HRVRm- z7twOAB4nyTI*F01qZJ>=q)E>wZSU;)uQi)(TqIUtr38^TmTUE5rr#m8ev%UJ(mc9- z%UO}vmHy6ON?La#-&+IPt4J6eE4RA5fqfiC7}@z9N5q01?sek?8&r*g{`E`Ix52 z8M6Bxa%Is;JEEGMPT2DStKin9_e8BsY7eo!{GaWbAtl#I zD>|xSA*Asaucrb@9nQ!kI@*JsLT&&`)k-%X`{(#|-Wqrvw9D)B4Kmm~>4vdkb}9DC z1Wx4?orV|TQ$Z@XZMMLLN{q)qi&KWRDOh>P$xRka+)<2z9tPg3JMS+BRPwZj>4?2v zw2J_dDA}8f^}$rB!oMzDk_UM!KFP^I!Kx42Qf0^7P08nXz{x@W61f=E*JUbIbF^ zSd}ZBj&%?t(hEa@))cqb3U1b}2)s~uvZ@!m69SFM&x-unA^v8BOx{+*1r>fKP_ z-{B+8yv=L)$bu}n2#b36$s!dz8(dp>go^GFuitnTYmBGUaGI5Zwz@J6Pek+w7whjM z`z4t&n)LVuqsK8wCIidPlor<0!Zud+XYp@@MDe2~xB{@`9r9FNqgc%KSGg)#AF7># zctKJ47k7*l+3CJEMS4cdUUh-WgUK0-5PJNN6A8$lAlHhXT`6^;(fG?^g>n4HL%p$u zfID!)i;;fx*rZ{-G6&EFSl$OPwLiaWp!rU&)JJnDxIUiJwM<-tpDP334H30iRlK&1 z{mmiPJil&f4k@@a1S&#JUNtLa)VF^SY#{ea+gpE!WKcyv@V<7E2!nW4PGiwY&!7?q z(4|uT%~;|$O!rdT3}3&c{m6v4=AS94@NB1NFp&@dg_CitOjg>INjN*0-p3&eE0HVP z_l4Xo91c(>Z~!lzC4l5jDLMw8pw^vjI&Mn8xe2RsR&Z(AkG=CS9;siPZ8TT9@egK8 z*<=)W91L5f8^)ixh%03jATv*q%T5F&uO9K*iUAx3NCX`Tv{?hF-4xEumPItCWv0$m zo}h4RT53l4OOzQGsde^`(v!CyV{J+-%;g)nPU8n8dmwJ`Xgj)LArF(!>}ty^{_DVy zP0jq`uLw~?zGhH2y1HlZ{6#4C`-&{=yX3i{LDiijiUI!j!@{Dv0=0QS9teo)eAK^p zhVOa3eE*@^Ij-91L8|78ucOta?NdKoNp!jYxfLGa>-xjzDTdssd15AHj_-7ayY=XL4Mb=UV# z<_C4Cx-u~EdCDEvKGY?_F>+=IBDuuM9?aF*ve+Das{A!t#PupACZBmc>hqg|m;Y{% z1wxO~D$F)iAISayC6;dX>sD$XN{2XVh^C7)>Vj(oe{NwhU7TidzV=VB8k){~`*-|7 z)v=4T@V?-!X})-kh7>eA*3P3_(g4pmmz3YHA2 z{_WzC{Sv9!p3;XJ>|R}Z$Mq`R{#(V4*~!SUQh|h-iqQKA}jNsx?YEV zbx1t5yV#|BZbkBb&Ai*N2fh7Tw!{HXW415YQrwO|;XAMCznC$7AH3~9cTfE)qb`yP zA#Q^u%;^SkYkR&VIom6kZD zf+LD1d`dGlJ)$UqSK?+b1S0a1b{gei;!yTyuDWeU=E)?}A%TCde5va(MRGu91$9W@ zF+zl%x#6FN@Y63riZMv73r9wXEM9T8r!HD*`gRzyfp4cRIVoA`r*Xv&S;`jSW+$}J zL>7a7bbycFy9DNkOaXcm{qOOgWn)A?oG=LLZn$uB99RBz@`k^Qu;IkLLANk}@MzUC zG}8NX^TZ4iH)VU>TICqAgpsYOYt@o+T?k*a4V>|@$-fZ6P_K6|O@&2CK#Rm|Lmsj^ zG#I@YaBoupX8wPuZhmV=+POLKYP-e6>pc`#91rOv3}^g)>7n>0eL}F33lCdc+;vt9 zjh?{L5ZUAxf$JvZy;a{nuyQQGSDj#?i3O1{6MVdG-G2f#8sPgg@E5v)&+EYZKIBl= zzfl7&C8XsqIhSXK05xu9>E`?Urp^@^)V~i|zJrm2PevpBhAcV#lTuK0bP7fK+c-hM zdSg{dRIU{^2tSs16=r}N{$1H6AYLTCfPoCafrSJHo~U;TgHdlGqT&mXu4QesV|bGC zz#ts~v{P17d2TQz2VJCA#hX`n7aXbDOv*q30om66zX-1cH$KQ?5R(_VXOsgxV&DwS zWN(EiPF5HQ3~ECw{UXI>Z8w^O??14waFCSuX-)1(cc>t~HJYRJKt{u#g87EPdQQv# zMaVzu>!Q&0;Pb(Lw>r70Sm7%J zJ1kI{B-L(iK3UbnQp*2dF2FbWBg?g}P{8iJqx7Et(tZn%8QK_V*gbIS{+EA;H9+9( z%o&cmx?{P)DVEK{ba`fv8Ni`>dwQ%Wz|raHc_xa8OVl?S_@+tIX27vq)b@{Gm1fKO z(mTChdg^MhEIB5EVtba$a{9^tb3BN3lNO+OsrUXi6f0K*jK%#0ILIHCI}lMRDtYF| zQ-}z6P~^x)ILp^dfR;k3%=k<}#+y_u46&a>x!Xirh5=oE41CJwrY6R>_x}|Z4hcF2 z`@f2?rESwv)60KM%hisxTU6x5NS4s~ta2=|gOCN#g#I5n!1x^_WwZ~}O=Q+kW2DH* za;^9@-)pVV(O0st`QB$T6B+&hOCmbThBGpK%!0V|P;iI433Oid;4FB2i(<1XLE)CP z*gHo6RkiCX&_JI9me98hVgNN{m`$<1pyY&89ht1Z0$BzQ)x*(>|I!_!)lQ7q$c@eB zmy!Dzg)4=(aM3>)P_}&V)=X4G#Q4Q8ocTtX&_Dmh*a0}P1Hz-!-$rk^{Qrp9*dJe4 zrSH7bU^58@q-+|GFVDpi{qeRyycPL4nG9OQ{$%kY0H96W72-N}g(VJ>fQ0Pg1q-R; zy#*sJHQQX)#{c+eI~j&Y8kZq~&F!*_m*k5NfCgh=L=0oGqu4ON)I{Qo7Ds>tvVIDA zkii!N=t|e|F;Q=|Csk~94JlU+KE={pem9rINDdqXhm}TlhW`fxtz%ip-M&5R+v8;P|_^9~dKWb0y)tpd$dXbH)o9 z;TixhJ^{%GvZKT04h$=;fQ)|XhWr&`$fISXnKz(=pb(6O_n3Sot~&<9=tb(O1$zYh zZ>+M_A3TF7u0p;K1Z>hJvP4kHFrrNs8@LITw~eT}c{{DN_Vo2_UgEeNBl?0o%G$|y zT#G~7Vc|-4D&2PSg*1#|dS-1QCXnf14gRT8HY?gsysv{GtX}7yeOU@PztG-%5`Mak z-QO(634w(D3V#q0o#T*atrWp}7Xs0lEo7D&x2S?%O>88d@7LF*D|;43=qU2}Tg~RK zW$a9k7<+D&a>BhyKHf~>s(Ne;|C}J-U_pU^)o@W#^--D5m`Pj0W3HcD)YANOfC1p; zm(;j4>MCjj>dFL>w|i(;*_po9zTmZ9-E2+u+^ZmeS4B$t^aIURFBF~{ub^Lb+7q7M zefGk0zB7q9`F(%w@Vlxf$Q>XyFLIejxvx+%!;gC81f^-f8wU`_KP6%hRC}mxU0VqI zL+kk_yt`dDwNb zvua)ME<s^-Il$a!O_j7qN>)TPRfrD zZnv3f*6-h*`g$BW6tceceq;DWD@Vu%1maZ-ww-%ab=l=xw_k0|$O{{^z6`?n+5v%_ z9PK-S?drgGH?1yLQw6wG&E7#&YnPF4JPr@&BUlaF-M0gBvwPo*8r0I>ZZf8Skl~Da zU!fBMc_Dv40>w{~=4wg3;xJgWCfhG1X|UjW=%8zfNa#MKvVKrnHsz{J;e3n$OYZ)C zH*kY%2lZ!RNq^?gW&_7l^Xy9)z*QR!X52p63&;M`V9W-gn#xfG>pckM+plK(7BoUz zEy3T~mzhlGjl3~Oo!arE#y10!s=4}iAT>epLoUK+S^AQ(D4T*QwQ&QpwG;23&}#lY z4no?WI5*)Wxc__87T)@*?~@pcR}-Sb1?{4qG;4Mc2wDS}D?jVGjpsvYN~AMp%w|-k zhIM$ZN53Y2`&JG9@hOgR5~vW!V=hj?oqhN>0rE8uQZ0&$R(?tQE`p?VDHI6lBiK%k zMxIn44M*$aRhLh!8ELpNbw_5e31rhFSkZ1D^errMsJ!mRh-nQlNP|Cde1Jiw9O;mc zpB$YgYN7f5J>Z-Ne}To02`2s-9yt~8L?TZCtZ#8=5ow7zFshjQ;5PsHCLM+eSnA0z z6Kuv+S9p!nM&;XYHg-{ajLZrbHa9jn7XF}N*^`wex$f7W>f zWC5lFYfej<)p9j2*6|vfZzXeaiwoEbAy6yuVkfV{F!^3svHd|f+`j{X%uKc=|ExQP z)-&*KtOng2P#2SVZZ@MG@M_m(%L=~N?UJdA5)LnZ=y4fdT6eZ?@(&o|16G4KyhLSa z0Dc()ouR%b6(9A3#9Ueu9HCn%bzlR^-nu>0`T9=nk5SLc1i)Ti9#&^+GTLX!ydR%s z9JNC2WaE>PKS}b<<=2&GRcLFCuGD=}lI?m|l_Y!+AEYV_&B%M_{Z#aJt1&BwtRK|& zaBx1pl*!Nd|1$nl3DiydmygzV>fAMFuOsgX?{(_CUgC;JvOa(mhHCylroI9!s_lCl z6$=sY0*bVPG>CKvNJw`|4Im*kAl;!TNOwCRE!~53i-3USFr?Cr#4yyre-GUI`@Zw= z=)LNkIcM*+-u15Bex?e32llf=Ka-zfdc=HRDSJ9gh>cUhT)#9Q&$D{&uUf%sIg_0Q zz1B1$%}HKHH=W%056E7aXBAsa4@VSW+a(>fn# z%9^e~to~iN&Zjar{S*WBIcpXyoN{Mbb^K>1SZ4Sb?WeCsCeM(paIw&|R_6I7!LRkU zIH1>((%~*neL7@v49)cbXT2=V2tFD#0fPW(PH}$Na#G=tmtT6iMZrQc44%Q^9Z-tj zKHU%0J=ZF?pGw_mpz%Y;+oXu_<`VjtIqTT??Mg^5N`KXPFd>%+gbrK>!SS7S5nDq% zT+C^*V+W6m<8qvtb*s3U_vrVUvHp}ex;AIPS zAwH}1`ci(>A#*MTcs_8g=Bv;oE^f>;L>#Gm-*PhwrSiTDOjhlrun zLxi!^S2hOyM=BzSdMk2P4vvYLynq@;}xho_zNK4F%x`^VVX zd*53cZocAG${i0d0bCp5M^>p=`)E9HkN#TBKXUPX%0pT>I0R8(Z?W)i`KPZ!2zo|- zZ=6*Z@hdjZ5QAAS#$p)uqI=!6uyO;7m@U+FvNz~kY;GPO(-;iuoTDi4PB|~}awxu_ z>DbHO`n6E;)3eGw`J7F{Q$hY-UJ>-^Iv(Bk)GOPI#E};J82(he!@;{3_uY60urFcE z=i?~{*rbgNzz%XKWvuw)oge!5tV4Z{+-835R)_eWDdd?U>GlSQaQvecT$nD_SkTW^nWpJbb;#VfgWafbm9=@V4!`|Z;u+#jijU><)fgO{lPT6& zqd}vyR#K5;XE~$8?SURw>7_3IjSS9D`=hgdhJF~M5_-d)CYPn8tlG@t?WP&Ue;EYl z)up`oaNIjZHMl^gKhZ_EP*^i^`_t7w>@s(fgq{OB}IWEmjo^$Q>s=@@(r zzQ-81n!Ks$Xw=5@)U=Do%i{T}BSBcCSj-rD))Ls-izgX3b+a2Ic{wyl?Dde|sjBKv zFJY#Lmog3x=fs7cg?(*%1yK<@E5i?P)*Q95pZygH@#Mzx3SbWdh>!u5imPv^mDg+eFQ5--GgED&>f~^B zLJUtDuhx$gK(WyK9#?Q$RxV~R z^XjEN3o^)BTJUU&R@h!2b#h{jN0PU}^mC zX%+MC53M6eUY_#Ko1ptjA;Su@^~EiW`&Alg9s_TQO9Q{7(~66MKcnQ;GdQ`o`rFoh%g>*C+#Gyhz?+(w%B z#E99aYpY zhvUDnf86>uU6sV;r1du(BDR8x-nw~L6f!7+p$p0MJs%%?Q0KS%CduLH!!4S2pG<@# zzNy#wN=A@zT+y`MN|#@Kw#xY$GimNrcCTQZ?@~q;{pv?ncFfc~@Phc@eeYzfRRbL*Q}!-P2jZg%e+NMX5z)zIJ84MPUy3HDa0h zug}r+NfxI%k+T>BKFN)D-eRg`fxFj?)X=}r-je;^T26R8-6+T-3TYN$^OI~E3Fh79RJw5XE_i&mMZ9ueyxg0(ZVR(yZSVB?A8>Zv zglWIDKg-u~I<~fGOvvz$Wol%qCaJ3Rl&baEdDmQAo~tx1cW=+oID5S$!Uf-NLgaiR z_k|XJYn7(4w~^MVG~)2NZ+b+#nY7sRDPfd^g@ZtmSG`qt)T2qbxo%^cNvB9_$jN&v zaz|T6-!LfaW?hekljCp+S8|a$vrK|{FT9?ycjCTTuG??gkjJYO=SLOt+=3#g{CTWw zl2+tWr^v0!B;LNHgKx=r3(^Yop@7$^R7C*qVluU90z!}Yg9dr$N@Idva z_T^4&CJ1dtkoN_yRi{{2r>unsP84f<8+FAlyNuY?%zt@B!V9 zgpaa~T(ky0Jtmwa=H7txiTERDF$nM7=}1vcd(hBs+Lkey?S93lYSZS^-Wvx@0%_1M z_53(Wa9ptxbG&1Ge|CJ|Qry6DJoxD|i+9v;oUYU?CQyTr{F(7PG2iRt zQ|;zd#n!A19Q~ne@}`7b^n2r9+;fmW%?dPXXb19RGL#LCVtZAbyr6t-$&_Y+*A@#* z*~ZpZvDN@m>#e-%EN#c~gddhLFAxx%%8=StelDe!&HaGEWvML=KQ`ULb-0o+4>gtA zm)(0Ixj6N|5BgH*pU}{!!bzovb^}X?WnfY^K&*o(#4CKV-Tn&Sy6TaZC!bR!pOa~w zlj&Gn1b(EmGAt@HT3q)D6+FP+ zyGnD~%ufavx%Cz;eqJw@i$>WJUTxSz9iE;=?)a!Q&BkoIEu27)eD%{1G0VJ*9-CWG zcJO~FPkobD&Fg#ejeq@3$iO-eS?PdRMA~Y9ln|f)`2KrW*L?5%$1O7+hCxtt8hFhV zNc5t-?x?j^y!=c3)YO8}0&AXB>l(c^XQ5r6=JRs5n}JHhaptx1g7c0QjgaWAv^PM+ z;jp!)Hz^a;4C|=edi#3xvvy4G1BNCemGK$jttRN9=U3WWCq8srRE>MN&r7Q}o0Ri% zEGjED_wJ@KE(t^!@Ndy1+e(|7nzDpF&}34y1p5J=t^&z+#eCyVuGLCbx>&UHLohcZ zX!tn5UaJanSCg{xKgW9m`24)#Dz!aJv3KqJRD`+kSHH7h0k*9ER?L&H56BBgttTcX zMvjl`_{I>`<>e*T)dkvx>;vmeAreqR+vJMPs_)+!;+2=Eq>%}V+>mWv_p^nj1H#vb-@NTf^}TmVUp9F+gYC;#&KndN1q(K6hd5pywKk0J zd238dpq{N>V!)rXBO%_IpP3u-Qb|eKs^FC-L+rz%Ib8n_of-2HeEc<4wdEP8aF^oJ zVynUiETXyAPs1#bslUn4guNAub;K+ryVEnza-D@rHCggBStd8>>}uY0G}3K7(muza zzZ?+CNg7G=jEK!q{}b3G1Otnk0UpVwJr5i*iYf!U_+U3Nlh@X@@vDe1h zTE6qOTC9dfN=nMm;o&z*#_FexiHnsFMUH>n_N4fG<+;yTyov09k=^+AvT#!9TS_1gXCGasu&#!WSXOBjbF3}3z0Y=s=9=sFSX2s$au*&QdGt}H z4~~OZ32HvZDdPuruMvV+TMM~wH}z|7E)(9PzbjHI7XFhHUpIkn(lx#}z7AtrF)79n z*LQ!R?&vIJu9c@uZR3$NKU)n(CSybOhS}db{M^isCSSA*Go?)nXC>EAO1$J0YtH0) zMn;I99xAyt6$YozaX_anmX$5fIvPT9Vk(fBdwkvI!zrJC5Yt~1^#}BTu96wE;uw0# z!El0pZl>~zpjH89Kaxv%iUc%m_T(MF5t^1CxZM!1lfW^)p5x@Mf$bwFue7}Qcv8b= zUnTwrc9t$srKV-(5Q&F@InJJnKv8-Y<;f|8GY#z2SDnRI_YdJNvD-_WlvA@%hZT+{ zTW}`k^fM*pek%c5B3yu@At`+oYpAPanj4i0N8D><>VK|)?p(Gp~>AWYOpnwz^4>?&@p|FtcolaK1~pxX^!(o)R(pftHBVg{pS3{|uYTpc;+k1c{nF;06z#2| zuftXfT=Cr`noN{B8E*~d=ey#RBU$5nTy<1aVg!;J#PG+`swZ8l^~|+c+^VXpv*j1z zV8ya!OV-!M%jZ4!+pfa|owV~cSytPwP`))Gvo>FhfOs64PdC(l(JRj7#ILsrk38^_ z<=}sUpo)bGPcxgI*t^Vq4at0=Mp7_rl|Nll05L+0ja9J3>lbM2km6G5CgcPM%fWnB z9*G>UTvt+3dZKQ_0*ri-R2qc<+u2!l?%CpY@k;4AS}^|m5gIt1faIIpyRl=UIV^uR zKHZE-4LMs8*7Cvlr7B@5?OS)PhZ$9OGMR>sk5ig3#r9TKR%+rz%!#Q(<)$?1`OeZu zr}t{@;LUpYC!@xjx(y6=@){a>Bro4hY^Jcp3+ov+7KMjjXJ=!xbg)v(Q-O_jiS2ZE zv;mGPS~@(a;=B7E;=OZybp39Qx-Mzx8!Z;t;KIUfbFPnDRq_(1C%RMf>^Z{`L#xk7 z@w!}24^4L);3<7d#l?oh6BAnTy>9ziG-ogDn=!!u-H>rPiGZu7h5AVfEspc4Zj>#l^jibbg`hj)6^3O1#Y@jSjVxVU zv^wXQ`+h#p&Cl16&+8KS>(|m**k^0bg@qa(5lj@=$}vQ#wbd%AVbdvm4VB`%lX&(H z@1w-f;#C3T=L5rpzK7Qu|DHxJ3h2TF_Z+B1JRwKkatWPP?E&nN$Ygo*IC*m*JBZU$ zjRH-(^|4}wI-irfK6|NttY8j72BC=ZFG|AfVS;^{v(eDweX-{`PAVj^9B=3shjXb# z(}q+^s{V`889vjm0xY3e$tW*EKrRvZ90bhjO2TaTl8tA_>w3DiS^4?Io^!!QqZ=FG z`SCvdAb2!f1=MY=BRFsWaK5>qyxbJP>lj68bAq!K4#5|23{2y3PcNW^Z6BYmOw|s2 zRZV&%<;wKX@pD*6=WyNIKX-(Dj!mtrCp^!NXn-YrVn|7lw0(-a%WIQnp&b6iut(PG zxTtWswCWZB{If?ld+D+`PIk64dt7MHNx61uJPahkLn zEexc2WOan}W%L9rB9lqJjuYo**zytHdsQI#22DAx^%+cfu^e~mneeXxwI8)E49S!Q zKz8eWc5mAi$8~9~r@m;o?*R==t?9)Ij~tC?>eys2l~!tl{Y7lfAI6{Xj5m$9`kOM= zVcekB*5Bf6=QK-k5G@571*FoPG&Ik7V;rauOqC@*-sIJ7onRQz%XfOkDSUi(D`Uk7 zfMc|?k&*!s(8>h-mTTO7hdy-pl7_XrhQ&n<#im^xmY&Cel4Y{>CUki9ia&T6{r*c9 zfPk$j4-HmU`}{#Bg%Gnz*Yo91jjHxlRb`rEN0p2#`ZraHq>g*V8j5PU=j#qPK<4S8 zhf2B&shsDko_=~mlw2L<1#rE+)kg|tzwj^XKhYvN9H&1&F9owMXMe$j?O9+Pme$sg zoFSy$S2l#mtDo;C0|32$srD5Z@9=O6pp^xEeW`%2#5~s3me1GJhAGpnssj|twd#cf zaoqZFW!51 z7jy5weu^@YX^4%DpsKRJ@9#e_(j=-Fy44b}-ngBot}C+l)7}cYnF9V?yRoUHy4pt1 zsF`E9D*iB40|YT>apa`LHRa8DMSV2^e)3!&wZ_y!g#)@=d zaRFFH@a+YoT1UPL;zZ|}T@D67vUvH?*#`WjH0Ot6toV}Jbn`yQZ^I*mXP$EDr;8p+ zaYJ&60VR3;-#pLcFVa3(l)hO7BHY2N&VHdCzRz@=_hAb7JmAmk--@# z6!0hc!HFN=TjO%D(dDu;2bz`&teu?13k!9$@~74UW9;chln$^r3R&8v`*MlmdjspSY@{;RM|9Z9U#Ta8Hgrx|< z!MgGCdAx#xSPBWmO4?L1(BucY!S0u>ABOOTKZgC*RS+?lwFg{(WhDQN%Unm07ROT? zA50*SnnH+?PN9}sq1Iqe&*GN6x&G?@tLC7Ey(fUqI zm#E`9>uO%`5Y{|=02=CB%f!EpyL9pJ@)obI2J!H^NC0X;FUfD;^o0p;@uW$j?T0%} z+DTz53)R5d>OeoeAzq;Op{<_ZaaNrkOm>w->?QzxVBmS52X;7#(S-Y65K1x|zFzRkqqYg7t31awUGK_g z#LoqOztL4jyQB{-EPMt^5I2x$Hd%t-u34xxIyV=pXW*^2xLc9Qq~7ClJNk;dF&x^> ziGTfFUZT;NQ(vD*2^O3j9U-x?dqPf2S=Kyo0KV2fm=wU|M%UMO8(h)5DW2PgfhIi; zQ+9;iEHG*f2JQ@7SBa9;#Cfv?fmL5sLEiy#)Y+rE=qM(9-G)~;Z> zB!AedXODarqwIIRBHK=ODrS8tzLzw9AW@SArp=+F$-oU1iWIjA4o|46+7AJcD5*x$ z<3OpK5Wm9eAMoc+Gb)Ol*KZc1web~L5!R=l_SYoz#rB9|=dgQ*Bk)N(VGZw8wQIR6 zhGUW1>4`pwCWh;MnImhK0h~rS5&$BXlK%QSKbChHlw_NBQLB}^%hwvHX=v=FqzGkj z;)CTJS>*vbns3lFN+<+q+L5meOj)VVLRXFCATJR`pgQR)58wPzp=p z0JNk&(jiDW|7`h_sO2B&-{}sLMMuMA`$+V(E7MdxWYt_R8P0nTSa)|F%WP(vAt}pRC zdsb-cT0yhKt)$S%Y@x5;3m`i)KAvBz)ZX>{}a)FP!jJAlTAV0Co9iza^CZNv@%et=+pwWurt4xF^90!&#_{CDB7u1+zWg?UZ+ z3B?C9sPO0}jk4HVKJU7Ew{h1x3dc26nAgdV1M1zaZ44n7{XWJ!&C5%6#IKa5i4r%> zyII6}?Z=+pw6R0hY@$dh?}(TX-c>)Qx0Ehq{rGQhP@+cpvA1@DHti zRvb<+d4(sb(r2NiuOAA|-Qk5o*}M1jFq{I9%o>ampw_mJL2~C?@6Whm(^z;~Gsq2N zH{3s94Mg&$s&cyNlCu?Ry9}P4iOdbvU8FfS@ZOu%GYsv_KLEa8aS24b7+z2_+f+=! zU(sU`n)3Pc@c1}z8mw}LJr?&~hDXwj{`_egk~ve?nb7uYTR9oIQX*7X0GW+j<|V~V zYx|{Bsk<4NwI%x49-nFfUcVgBo3OZlO*5ey<9%Xo!_>m(&9x;&^O@ety$(V94b_im z=Ts#+#A|G9-TV7Nh~Hg*2aW%YLF|Mgn3C(szU(A z#x7TnSlWIaE$BfD<4HCPn-tbTQLotu?okA~sBC}poBfn$Ib9mr;FJz1P{2vHxc$Q- zVuB!TN$KhM$Vo5R?Xyjh$16t7^?n^DWq)P{g(K7F?HWswa1G2VbSJLoHV7{z|NI8l zSTKUMSH9b!f~)UvJyddly;={oHPNdDHn~u}7SJ}})PQ)17K@=O@R;lyQGL^=@T+Aq zqTb&}@95~o;Qg13^~I~P({$Nb7;kz$;^aM)0DY)ufCjl$erzhS<&jjBEufC{v*;&s zxmIg{ovtl(=T$fPO4`^UH1ns_a~u^?Q}1voDZpXcLLwywcJj4TaloytK<1xmKI@eS zMlat@RqU4cb@4pE-}R#fg`+IJdnsTK(-3RQ+4;SDdU%qhUN5HCRg51}eo4H++A!BE zY1Aze`+BS9z?RcT8Z+rNta*dj_(o~C34SU5I&7Bel-&Dliyb{Rllo&!_?x|M{@DlE zjAoKzF72eU3uCxBHaJmNdxpz3>1v)b1{d;-?IRBl-x5FP1z`xuKcVn8&M5O7;6qw@ z9-G9=zrotHh}hA>(lb9Ud`XyVy;$)LoS9PEPuC2A>kCW|&~A+!M}1)2t7~h&NSkW( z_Lf?D9Fbl!I^;&2W3AjG)}lTErpA%7h9(L2`SW^UW#-lg>C*a&^6BjdCS)p;Sm3TM zSaVL9h7dF1-^9=nY#d0uX=IKL=oLXXl~PRh-_+>MK0(EMd5s*zceW1*o*HcD`E?-r ze1G-1>~Y~MB$%TZy}oNO?@fzt9(c)9##EZ=GV3M`V?H~G0HrwT$_2~~kaP^Kdu447 z2qbat(?68YaZLIAJOf~se9mysvcklKUIP75Qz`AOnaxSu7E$!bL!I;GbX%5NPkI&W z$gwDZ^Y;rV6LCK4em!J9m1rg3#mGKwuy>I{qEyH2b``hZ1TmCJmiT^a>$U8qrLI$P&fT9;5=1G67uOqYo3!N@0M6%gH zH|5WLM&O1(8ot{ofMi3N3CyAc+lpl|@|WB5;t1GGR%;KYnrYoUe|j7B>;K3iCD zSbH9a4XwHtbVt)IlLR)Ahu;O{66^WsH4di}4BP39+S)-=t6rz%QZi;Z4HT__L1V|j$}zp9qZ^Q zVqjR}5j*F$uCcM^;|JRh2u`u5kKv}P5=@!$Rf(n@YPS8ZB<8k7V{l@L@Yp7e>2wtG z3&3`6nLra3SU)qYpAZ$9-V`J?Xe_a$@_@eb7}L&KR1aop4{qx%Ph;rt+cRFc$cX<+ zSgr=)={ii-5bOZC5?D!r_Z~vSbBqz&s@dro^!C-8pO>j$2Sa=0%}Gid!botbuz{Q1 z-6!BTwR*$Y?5&ZXjT9z42?J}v`3~>RS_nK>+~tp|@)Juy6*Y*%0e;>xRi_sJcy-)c zbX9$3&|q+|S{Q;2-uX*f16H0``qaj>upo3F$;n(eIGR~%TQ~Xuxz+|s$lA4rLP3c;J#DJ-+gDUx zKm1Vr8QS_zlZCNM&W&c?8R3k?Fmp5pTQ*~jhS;Bl&zgJ$Xi%Qcruqo&dZF5!vzHa0Zv*}H6pUvDspW?adjK*$}JOTyyjT1;ZH0?La5laN zYFK~ZGu?1R45G2FI;&}#96E7;WdrL0nEl=!h?4JOK-fNCyD-9F(%24+qI_glw z#_K$4B>e``>%4|d1`eZMdxW(6&E}$WK0fnw?&LHvT?3sx_n! zP<)Zc-&6)x3=fV0(`#fW8e8qq81;;#*pGJaT$mQ=;9;+|E1~G1P$cYI%w4F{MY>8y z#3op!NUp;q0j(Zg!)`ocVuBQeLV>ce^z8rbx22q)oOh=_IL@D-Biolk;7vaHAaw(Z38FwLf^OxgcJa(q zjf=$Pp5zFT>f)L!c zUlS+($<2<*O;0hRU)G}|b~+~-mJ^#6ZjW_j03#?RtarP+c%V9J95aC#n2#MbJTiAh zgrYd~F>;W`uFlfd-?cXjhqfB2OGPKC!zQU6$v%6&d$$?p%kFS@$Ag7;#>i{6?r3Wt zHpARxPvku=ipk-hE&|bO5TD4Y$OKWLo<(zB@>BqgnM^UzJWZybmKIBySXl)@7=HeUTA7%A6!FlSr@qOPj$~0L@ojtz=g`or58>xpVmPmu@ zayapUcJq?EXcZO~Xm5WtfN1AbJRS&TOis>aM)cWu9zW{)=`9;*vJxbA8en+j+txZ} zb@O=d{BMHAK-fCX=|OFFZ|li^2eXdRi3$5fO$uOo*Mz(rSit1fqDxZ^9L$*qCdlvis98AC%L)wMW;WP+K-jAB?9PDYBwxaq&#tdD69>xO^_3 z0mNvK8y|rCZ7a;)8V;b3lj@fP6z{$?(EIPIp@bg1}F3upo#6X|knhii)xKR`{(U zuHkHTRZvoi9Ag0rk^bRZlds|8ZVaFWcGI4QHTKPece!+d&|;`#1|HOF^g2$?&_RWZ z6>~ZF+1zfr%*TgLp2$=-GkhDia@M&?h$bwhaBiw`+duxe?G=)FV2BnuwE3qw4?Qzk ze1`gy=HR9Z<+SQsHKP8o{1Ku-;1zNv;4ZLCPK$8Lk$XR}~&f9N3%L8^_r}t6GMk4Xf%HyG3=k?W;sQl@da$g)y$;dUQLHT2kAL?alT*G4J<6$QcH zs#*^X;1Yq?2UGzYRjKuGTKWBL+K6$fP7uW4r-$9$I>&$icJuzN&xKzoj4XPqL*=Go z6>LvY#1~2usOBc|>X!&%5XVi7s_u4Ey7cyM->0XX-ac>jw+|q<*nFwHZtiZUrMQ;< zDea!UpS#xpLR^k+=9ap^Gv0JHOhb^Ryd{<5Gf^|GkHtoo;K}Pe7j3Ns_YYrb6(V?bO8K$`}i z@RLbpRG!<_?WM8s0?6qW)aMUBje1j=AA zy*_juTdvj8PbUjs#s@w{t-*8lrIkS^y!I~?76ti`NJbOhRQ>5u)196k?ZSz4ORihD z$1659{nV48^?==DeuLl^h?g9r?yLx?pODKnutU~KY+Uo8+Wrqj(yUo(Zjir{|H=1c;(Zzgu`&_P= zZor21*2HcDgfJh?Sc+l@zYAb=@r}KNxqVwMSX)r!ky(Gtm4=@PB3#%+zteQEWx|Z$ zw;NNew;p2_X&_@$$qt6z2eP0{{tBqzC8SbW?X=tgQI>LNmlA`&ljZ%mcXM_p&cQDaS4;o#|6N?&U&zjI?vAosWBogIYO zt@OKNsk)e7Qlds{K^t?|&VX+)7jWJ#9(+>VhU<@^_Z_HStb-fy=K-s^_R*pJ7Y*L{ z*r;XPs5Rli73fuLuMA_1; zDLJkdQ}&wS0fRr$EGCMxg(8gdg6MC$LM>6+pq@oDkJuU5ACaqwIh2^!!A-n5@!TK|&kH3A3O zi0aok1nGx9;}sx)Nr&iTO=Pupq!^x8-B+PZDOT}@c;W91-xd!lpcyj6=;r|;&T$5^1`>O~n0l1t zYBQ<}b&7Fb=ysXYQbgwJ0KP5${?wEdHg_q6a4D@gEQw4xk7 z(UPTXkm6q-fveaB>-bNLP_dmIy4^{ePIo};lY?dg2b{K<`-kM8^(C)VxF0LnFE0G; z=9v$0*-m)|>L!Ux)58$D1aW~|+o-5b;57u;$<|J9Uqc^6)q4dZV0f-*9?s_G$GffT zHE>kWiPFo-88J^{L9fR4wbGAps7?X^rxf&l)XX|3Ue9O>q`~>6Q^{fx}S<_kg} zOL-MPSB6z}P+H>gJ)TCY&bhKUZ{VL>7g=o_;Ws6g>-vf0pvecML$RgfFi{7^;m+Xf z-f@@4YqO2PtV70Y3G-%K=i(r53HRy$GwIrIEYz-Ca+LyGpSzJQPWWv5HffG}?M;kr z{ghbtrUutdgcy_Otr%Bt(Ne!dF_=mnzV{2Km-;yl3Qr9|U` z-A&24&bC9Zv3(-r4wo2b{9wUABQHXzuIkr+RkD8x5=yn`C53#s(w&(J%}N$5tpYAG zfVvkSk=E>S;1SV^!Us7?>9J7+AFAsdQMlX42}X-3P^Y@N1Y@izrMHicw=& z2KDvVl36G84E8QM2eHfo`~&F`vqzeY$w76vUvY+^+m{dxNn z5;7)n&QC7x_S+Xc72$|pZ(40;-$n1ly!6ti(YB$GnYy~9i#_qDU!C-Glq{~xOUKNu zW-GLE)Cp`C%n-O>2>c#hM5IB~d!~m0#>=Q!**TGs{8Rp4fg?Bdp>#acVjO0bGkI;cS{GAry_+-lJ z%@|*_CkTRcDK?#b5YR%1LV=X=Q4pi^PBI-x9vUva3heL823eE;^`kv<%rsN@2isHB z5^=eg8yVZ@i%MF26UV3aY4MT`}dO%)16VN=ewDr zr`Yn+_ae?a+1S+17}tNDPW^&vj#WRf&5mUOm*wc^!l>clHR zUBN#f!0-w*#@YHFeCmfKE7V==A>B&(Q5?k37%Ro#I_czZ_EZAxYxIWSZ*u8Wje_PN zt@oGax&stg;h74OGIm{-IkepJw4E76k*bU`5aV0~Fl6V+xSq0x;xi-MMl=6}gcac3Z(Er>|Sojh5*9EHp036rnus$abk6&o181-;n5~ z(BJiYWlj-F<1FF&o+#=68d%6YdJzSV-0<88Gmsa%_DpH@FfJzt6(FJu`e`<3{{8sh zx!Ktvgzx!XXb}$xo}P4=GOE{AwP2SWTrqHf8$g*s4;kyx@1>B-Zi|S^V*HJ=9%=pA zqe=?TrR6t-r$+GC%g_0?|G5xD9AlbSO_0H#`Q-p%?*UK@y&yR){h%`r^hadc4y*H} zCOF?Z+jkTT&bB|@F<-pH?6U#dMN4j+{OF8jo}SsQ*1mnw!wJGW(ORr-n$v5ROZ$Ir z#q`~WUUX_uT_BgS6lvaf)Ly!~dahiQEo0;96xFo5lY-G9_EAT}y@!1NT`p zun+(`U49N#hu}*J@%ah7Hv_ps0H1xzaoF1W-$Z1|bovT42xpf++84n2n+V&;c#sZ3 z45ud#ZY1vjuT)gyM@kCo#Q%q1(xuX`CjP4h80&T-J{~&XO`56#zK`(h5=+*Q>?gU{ z&?6Nmmv}{ZaluxR-DLv_L3#68sm_9htr*ae`x0XJRKIqPzgOMK_EH7BP7I^Q~7j2Pulx5==7k8_CK=fVqU_*dvR zqW3D9lXLfvmB#chZtf3r$TVADBF7fM{%yUeI{~HiF>()u1UFZT%`Y?@>y-bz4`t_y z-T)osP4k5X+hP&TTTQjdM~_l*+q7S(1`^9mXH|o0R+nnme62$5;*b#i!m$D|8Cd+7 z_4JsoPJ9j zKHRtE4qhehH2zSoHs)i!m~2yT5AJus5G%L~50nsZJ8?`mSf!^VFeQ5g1|C{eo(=yK zZTN;S^;vQYCw`lWOa4PyiHslD(>U>BQ4i9aYu_z-(l9^l$9|!z-usXH^mhvRZ@&I- zcE%5XHOP>}R#^x3OUv{W&FFQ%TK;k|$1bUeeEo(ALu|0PRRB0CTvMksBR4n6_?OJW zSlLEu8}3zV78Y$)9UU<0<&g*--Pp@uSuqltba2%6Ro~{+yA(_FJ3RLYD9Sk$nq&g+ zW!Kh*#KatZXn!=MK3q15?z4ZnrO-3RSMCfU?fU!-U*|ph*rKc$uMnc2{9+moc!GOK zR&wj-RlFzN6bY2;>P`H}d~FsGKg2F+EbrL$4I8im?J{9svdyk_cG~DxEGVgK>~;5$ zOX}%eQGWB-qVl?GP4pSNA`?l+Iy4vVDiROQkh5m#GQ$IhDv$-@GkqKdJ~^2#I8vp{y4sYB`P$6v$M#33zEAu5;x)BPGU2XNqDFVX zK?0QSzs$fPutf@ScDSdHL_KqoGRv*P(!N>^=b(Xv9y#X=U!Il;L=yj2>KMOic}n-s z$VeCF+0@TGg}HF-v9{B>v`BQzso4gknqgJ5{4^IXETE=wV!dsNzqB3}4!Hj{DGa7@Y3F^z; zqJLbm4i+g(I`Wa|qv%?vHyUb?{$o@nGdm_B8J_%LMDAHsJ;8ET2`_Ulsw=DbJ7UH=SZ13Z49Ri0wGyf&rYXE zwwbS0x#o^B`Roeo{da0glS(RrKh`kHzq4-JSB;;sucx5zcqj#|#Rm2D?j}ZppjfM$ zG;J%-Om!6Wz3~!YedXkIzZqC{bmhIS7E&!^J81jE z`OZHT4)>gxShKV)00Mk9GVgYJDQ}&jy81uYuYcUAITrxuK#v9&(J(!=GTG4~r97{^ zM^A5qr;ZfKa@-`lQB?ewyQJkFcFOa`bzqf>sNvl87cb|S_sRhidLBQnU}Ta#5K)km zGwB(zQvB>pd-pD?h?OI^s3_L2y6t?Q=>qnEtsQeQd2K0E6e!k5mllM(e2w- z9i2JG)k2)9>?!x1BJlts;L}NQu5@nNeW~Vk9B!_z4ur#nu3mYX5taUS97i!pk%5wc zQLq+Ca-W2&=<6pi*tSR;lSlv9D`DC$@2jPNWDr67rfX$+QP^FIF%3vlG90eGwx0U6 z^yw8a%nKaldJ_mCJ-t~}RFtx}H#vt63xUj4i%QZ;WTw?K^q02+Bcg%0JMJlylBTFC z_}H%rz0d)K1m{XSr^E{|ukypFH61&9cteACNFX62I5sYC7&(*7!^btOA&45cO6ohV zDd!gTGQD;^OMTq0=QqHt6aPmK`3wk%3;8d>5Ukj)&#srG`^41+0;Le3M}-@jcOZUA zfn!AZw~vPku-G5LOi2LjK*x-#20}_hfkH6390M0O^X#C7LZO=4nq?k)4AwR_mQZNt zrYrF++=-g74+%nTrmppO^0NZT&3@_hQjE<6v((zotY zq37EF$jUrxzx5B^^;;iLaj%McH)%J_fFBF+^E{0K{Cf3@3XkUfBb7`{ZgZb>L+?w8 z*N+3ZZ^XvKl$4b@92^{86^|v&oIZ$t_XG>&H+-AZQ`W3|digc9v|dV@UZbv|NFN9? zA$yTsnA~mFY72(PjXMa%ehQuB3KXEcEkGG8K*_;&U;pILr2RG05kg@(f7AA%B!0Uk zjo5p#z;xqZkps)$mu*_tp}`R})GFMfMhYkH#MXZ2boQT-whSEo!M*Vu;5%2__9F8EX6tFk^_lo!SR*43C+a zIgCs&#+cI|v7VJ*9=)_=L7qxJ>1Wrrj+%4zdRtFnX;Zj8eg`zWR0{6abiVGg2yM4; z0$N$7M>TG%yy5x)Y*Z>cLH+c{QEPib{P9WQVJV3l;508qhC8rrtFE=gRrb}7Z@*=& zhnDxvQe7#>dFLPbq9uHGyLH=b9$kO?Mk8*3=zDRRcm9blS|mBiaPaZzre;iRd;5Ir zrY9rl_^yuPX&7y9gQi z^v&>t!>Bkm4!#|v!vhX^U!p%>0nY9%enCx#|PPK2$txtJoQT__p zd;v;ja9r}Fy=u_ykB|B5MW~-bN^eGXNor^igQkNj9{%}*Z#y17hu#oxQ87^?I_k)K zo6^L$?!63XC!CXLI2Y$_;fFrNN$I`tZT4EidI0EX%us;Y+nL3#c?!W=e0-na6do-G|jLETe# zva)OvYJHxUxuh^SO*YqrQNfGhvs`vkZQt}G8TEsbYfe|a`}u{!=_VtnqMHK-pJneI z-ka!m0y`OaZ-d9xb~?I(t_aGN>L6e%@L3s1k@6eL;NW0-Mn>?^Qec;qg8~E+?-Y)b zQ;8kR*F3wo3b^gKhnFvF;FaU1_dt`d*9JjQU&j}zJBu!@|B}?C_hvqdT}mfE`dldp zf{0~CKwS@Y&^d#97xi`p@3c&WR6hfOy*< z+IKIKIB$HYQA`|jAol6C&C5MVaeW1SYGjT$8WK{;xNql2^SEopT?|gZm(*umt@l<4 zHoi$fNg(W6f33d#-SD4JQ-9rr96D>?)*1-RKb}Nxx^D1MBpmc}u5mIvK8cBV`_R9* zariNjNU0lcd_XJvd=O&2ebcUee&@GC{f=j&yAR~*8IEW(VLCro1nyNTaU+^mS~8Ps z6J3O~LJ_uu(`37taGGe-l)AHLsn4p#?%)2cTaGjwhl0Zi+qYW&duSBs`QXvloqwFAx?+C#vTah0jL0cU9hBTdy0TfkYD8Yn7rl@! z_=YAcDe7|m>^8G3oRB-UFKN@&bva>VY`RA%p*>JM=`SDbjjM9kUC+vHN~lJqOV_jM zmIwEOMSxxJvuL-NY*cNBPjj>fUSWW*`qtXGBy+ZE!@k3vi!_5c@2&b#@)2JTfEFdy)DO zbEiUJ!SHdioHmQ5zFrLQ1@HeO?LOW|TmYjfXR^2A~wMN z8dCqK`=@L;7{CXvp`efLe+OARv+qWj&iz4_bI9EA2M@KTFFC>onEAzfJ$~$^Zf~zYS4(ezv^GC0%tX?eTNO(VU2R(*ENaHV-_8lr zaq25x+;z~y6-UYb-^bw8`G%HqeeekG9n!o1?)$%^ORqr$@M+Gn zl15q`6fxqEqTc8$7Qp%CU3~ZIaxyp|tpl84oTN|K7alz6s*7vn5FVBA@L{^}bY#VH zE|(SG{f_9YqKDia##7sGxm9tESPxn&_0oL< zPo+zr{^4Ir4%VP_^%oWpi6VvQE0*BX6)8CX$JAATMfH5`RTLBj11Tw`krrtI6$wQ^ zy1S&iQ$djy1OX|fyF>PQK^N+;c3nc>b%ExQYkX zGV?k=l#7RDC}q{2*Zbc+y6&%BMo~o9d}5$eIr0IYHl^a=H_ z)U(Drq6*W2amDvYDTtvh0y_L8{_z+y#i}6`ONVPk=|!k=yF}THO_Z`+?lSX5c(d=5 z{m?Iv?}5OO!S9z2-y;mmo@WhzMwJNcyM+@KtS`xIUR>-VF7YZ5T{qDE!>E3PAqiV8 zuK%uzA>Pf7;-cKgxBn{=x_{j_?g{k}&F?o-s`D;dBEp~Vj2>UkfUN)bOFQGjql+d( z+3L--2{6x;6r`b2ssKQkQqi zqq$xEyJeZu28l}!<6aOrX~eFtt`#cO+-3rP!|{2FJHQiU$=Ickqi$FzEFtsxfVBT8i19@79u z+J!~yK4kCC{*R{mWkCH#vojzXClmgA)X$o+#^H@f>&>mBWTQ%5jbL#?5f!fg(gdNC z-@Y3DOnitYO)>>Ky`%4ynPs_HtHs*P)=m<7u*(L&r3P35N@ug z@loi%2z^&VhpH1?lbYK{wj!$wtyN*7SLNvcyLSyeypqX$S_~TB) z+WzH}v#TkVf|GB6#?!@d-z{po2SUEmEcy4xP--- zT>bH)AFAHl%5tCWdEw6^l|V9?+vpqXvu5S(vz=f_8Z)@VH_b@8EWE$dN(x+5a4*c_ z$~A3XE)0uLYQD>B9Qr`T`GPs7z^Xv$k(ZdMAGH+O==)O`m{WQf+Y2w{OQ8x>LO*jD zZJwpw_77vvAQpJV!f{=SV*y=jw6gV|-qc99oI26Rm;L~XD`@#P@guMkP52(EK{n0* zQywbPPhBf9yoZOU%8`9W`e~|9N}yEMD!Q8Soly7hZDtJ-?*f3;@7tYGdjnGv>xyjs`DS2l1gZGDGEoAe zABnbrz$A;^GZ?4O-NeIfsesHYB(-NrX6AUpqSSgI_ZC(|#jk+Ulu`R3WkOV^z5;f7 znoz3LphmMH#~Uw?{S%o;EVQE9KRp;VK8AB%+$4@2S^VOrFuZ+Cwfh01J@Z45D8!Aq z>i}tjEoP^NaLBN9);P(9INSu?qihn#kO8|iRE2A>@2K*@fa3auH`{GOLz7n2)jA}L z?&1m?BvnA&a9g`c0Ox1Jx|lS|1<_*IdhqV()Z|fzD)5Nnc{Jsn$#g38x#;{S#5@;P z{=v)7oa4~Sxbu(S`{sKJAel2 zW-$G}kPCZ{)Ev3CbJk%h-VvzR-dheFkAB(Bo>EhjfBHXaj`FaB=)_w*+OYI(be-FA z3@%tm@i|f(1~344wfZg5jAZ2z29ansBbt1G2~2bsbmv4{0P$Kytp%NKUlQJVAGf|D z4b5-XsJ@VpLK2(4Z22ck#}NKqeTueT$?(Ue-}`K~Wxn^x?&FAza=oEd zR+<61w2MLRs`Tj&Q|P$lldEVTF#|G58MHM&xpMwADn5M9-$NI^-k)F}fPB6C&bFex@?Kd;s2qIfpnkWe{Y4$u(fouyHxR1>K@l zu#w{0TRHfZ8Mdfnqid!kQSx`gR-w7^HWry>XZ^=BeKFvt?qJ`qU>OLCeZnY8^oZoe zeA=xj6jUfA!R)lWndHB{>4fw-v2MYED7VZ+#T_3waR?l4VGF*&cvMmQg@^%89%uJ) zO5W_2c)&76up)b$9b4R*GwuKB2U;TJo|G6+Oz)gTpLdl3NaXM=A>{L_L`|OU*k4Z5 z^o*Rzb|f*HK2^{#%p>*fplb(@#;(Fhf(zAs8)Pz-@K@c|$^r z7cT!_-ls69kTXb`iPpxKrWsfPR>r{>2EzY9$Il0&Qp)+-4@*kydlweJ8P;gz|LEsp zRLn`vHj^-l$oy+^wsVG6wckvVtx`!_F@@M+cU@Np2;O$FYoUaD>cQPw%MbkWzg1_qCvi~K5U@iwlnt}1yahN;zHe_=)g6qeLaw`NOc})?MD!hhk4oN@D$W0S(aRAS zQS*pgbIMA#J28`Yfvi;lrHKeaI}84n$9m0y#04z6me(;|BTGGJGt!i6bp+(n-dvjQ za-5nO;$NSp6XJ{e#X~n^6&1jGLUR%{8S>$wFtqI4igmu(IgP_pkND$pjwhUDR)3OT z4Gav~Ea!PNHFw1v&33S6WM}I4{l;*b%PA}0O$>l3|9Zz>Tf2XY^r`(LP@f>yvsWZr zt@b_Wb2{a`AprfB5;)Q~F)=+_+wkl;-Xj_LWlTko6+viJ-T5i(F0R0#HVl%2373{N zYFcVp1&uB|X#o*Y7rw>-f7s#fPEYw+YK*vqWJ*<4tkC%aYjR4e2!$uIi~FcQkob2? zOOZz-X1vq(t4{<3kEw+cQWqD=hK9b*?yWd&&WQ0WB!8`#%uOx*7Qk8=XuzoW7XG%! zvE$oTg9Pi0e+c3{-uZq^SM!{-&?{j*JULvx^p@|gMYTgiiki-Q3NQlCvMWWS;M&?Z zTNQhx9!o#@?K{ndcCOF0*tX?)3}zijy-ZHqv2;Z22ivM@XpjX&GW{$q4W^5C@jtD4 z>i-D`qe3X{lG|pl*u)b(OmB|I={b3bHOHxxuF3Y+87grJiMiPhmVjVm7!FR5`eA@X z`R3_PfifkbgJJbHb_==fO)%#8w{p>%vrBD(UiqqH?fA?}dR86+3`;7`4lFSpF351> zxFvXcjdyhP9u7&Vn*D~Pxdm$kCr%(sdkeJ36-!>ic~YR-71ilps~9RUlZ8+I;USMn zEaQKmeV3sFG5m#_$*&6K{1G`5^N7m3LPiw1>!86MWgk^7=MerbRtu@^y%2$|D@v#P zWw6d@{t#qyu+DmwbF5RtR<>%<{g9THVg@;@%E`_ughg)k-$%i`f9YY}yemvn=gZR3 zT+Z0uSVr1Jm@H{uYmxA;FnM`J(U83bB`xb7}CW>GV=kMrQ8fPce#x(X@E|m%Uc7 zn(qQJt`tsQ8F^I=eFhSa%Hx1N`%6YvvtZ1&AKhiEErZ(GHlz5(YVN7uW?Z&^+vseY zIEOd0Bv?}lGc(7(JKB4ay~py>rvDu@tZ}Q(*(jkYL+I$b7=<&nvvausx$SsQRb`L8 zbgd(0;l}d%X-rJqT7$I~tofHDyV*f8u zIe!=)9*@=OwKu6X@Z=%3hN`XI*B}JtJzJfDJbWHKk(u5gt>?vdD)4Z&9(HX@%8`F8 z(bgXodX4hBpXbhy-^C`bUKe-R955ajfeLVLw?#*cj*=BjOQlwI(HX{p~4lq zS2@|;XV76?DL^{pu|xiVnKQx<4|lpFuhu{Jq}Mpjp10d|qqYZ!8{Ua@gg5@ajt3j@ zT=k%)p|u*cAKpImrI^`r`gIb_&o}84?{PTOn=m&w$E$tnWY`lI&}BGR@4AulZiMai z>(@uC9ju#v@~R8}&H^|IFsW8uX=GEbaN`A;dxo!cVhKVz6FlUu^Q>TFZm}~)%t4W$ zUi(W#mQsPu-XmE#S!>s)*(z#PawX<~)`h@RbS*3l3=GWfU?p}8a&k_3V2Y7jzuZM& z&;}Zfg)>BTg?iRdi3Qdnc4TB#$Mm`?D{6Dd1l*4mH*7EC(UI0o9PKz9N2z%(Rvu6J zeKyOfv=x^|?BlkW;XjJuGQftj1il%a=;t+G-d+GRqLqv#azFd+hxH{qY9MR4FS7aj zT2Pn3XvO$weShlq+J~z?jWZs$@s50E^ZK}n6i=x1rdndsGpuZ3I-tl_R;r$r_gWKU1@*ys2Y zCXC#5`_aP>|NZzTct!g zN#kR8?^cwyXq3Bf9-JRNgq?a&l-S#=yEX>F<`D}v8*z^7n;f4*LPE~Wic|~6NqY@I z;;Tuw{u+tEP*v8+iZ)jav8wWjal%#MPk;W5Jd5oZoMSITb~^4=G+k!Y>k4jOjHjkEzy7DGNhGxx z*SC?cXG3Q&W<2VoS2UQXM3G*GW{3HV7K#?bBI}uyNC;>wta9`uXJ-d0I+D=EIbDW+ zYvx5tcbCJ2 zofk@mVPFGFU-;E^W@ct;T2Tv=6Qsww=TeXQRt!8WCJsj@idRpxSS?bA$Zfxg@E#7? zkhwWozn6vitj~2|x1C{%xtdK{XU9a+PmkZR3Wct%WGtpGrfRMYv)%m0qSpQXYpLC| zN`)D*9IZ5M8ez-CAn>F5rjv2Pxcs|+EPB=imY1L2zlk~eRu*7lwI|^#J0~h7E;w`v zR+Me8UMVvXn3%4B4frc{6?-eL?p4Y`oR!CXr71h7@p#xDozE9a^l@Kl_uYZAfckll zNX;;QB=h~3SOh`8qRIUC7YcfxLrwNsfqxSqVv|!_&&~KsCnqc09;xNtRJ{LZ=pmN$ zTyG17(eWKI?Gn+)&L<&c9Z@n#&dU_%p9LMKPA%z~8RrJRO0Vw|Eqh~z#)ki%bnKi5 zF2YYLWY2fyTwG0!1cvMD9UiW4V_SBbdT=I2AyOHbqg)ckX&S)0^=q!~ir@9?$<%Zh zZ%eJILWK4_dl8aE+`$vEq*E>kG8owF&Z{}&>*@;Ktlw?CMMZ?YHAZ3y@GkpJ@7kX4 zO|@_*j7Ua{G?Vdh7XV8;4LK}pkPf@0GA@g(4r0q8_NZ3 z;7IC`pgU*v@lX6-EG)&!d`KdnV{ zdejCstKOoE=eYc}oT9Uyp%BX;Rn>Y-((KRfzpiP05?i<&TT&bmIQ19y$BQp)jT!)~ z8DFyY)UKE$?%7+>TtO$~ZeR351o{9ER%cj_h&*m$VC z{oC8gLpWUq=yPjkUt3h{DaN}V8++IsFGD!VFCZYT=4bFs<0sp8KRS`Lyr+PkJm<3k z1_Oe2l6u>Rj{z{Sk2c{r95>ZGimlJidvUX2fROoCCXe@7`*DX}mJiw>a!4 ztC{g8>p1}C;(~%xMsbcTEJ{y7gcN4>*gOZ;}Q)ft-s?-PB7Wh(<2bla<=j6Z11?1U1zpX!n1ys2EO;#seshfVZq)^ z0&ygeWTM9icPouflBRfVBD#SwLy3$Sy(0YBEF8T>2*u2m4;h<)VE+riw6Vd)n=)Ym zH4g0=cPZO zhVa^WRw(s^ItCwX@iGC5^M~7n^NSM&qU&9YsvHwN3LO+h|*#V*s~5y@Ax{;6MBOL3OW@2yen7hUif|B z3I|7zBs$U1S5`tVJ``e3hRUcf2i1^LgBYzo`F8Y8ZRsj_E7pz4D*Lag&Cn(UWO}o>+S5(}4*YXBr6!GSx;cL;0gn*ERJtoTXi?q|P^P4KdJ?KDqt)O>J0~0!-6tAqOQ8)G2V)yM+&033a6m`UFWq3wDwOyeZ zy!6TN?~8IY#crz8WZfqgUl3FUFHv&RE#>2>5mKP#N)irD6#=n_Qw2p7o3}?-qx(_h{ zAL+U`ku%8sWOL#MD~PR+=8L4S`!-fqOM}d3@AugfCgps#3Ns?iB28zSiqrkdjoyKY zi7a;|dBp(n61@*H@1DQ6CXpb+ka25!t$*j9$6a-RW?y@u5Bs2=>Bpb+A)#>{* zm@!!-YKNzmOpt*c{zvHioy(6(d-pFr8)+34sr?nRdrcFz=NSBM-90`0A-3IoH@ti) z+{2yWZvAWQ{-1F57R@;lJ0cVmK(qQhjoSE6&7$3hTOpNCh4>k7d~Lg@Atm)13RP0` z^S!oCHhKc1IaJitCl;K)-g^24uI1sJX3tvlG(b*@FJs)rQPk9wF|T%yfH2mPT%;Ko}5#r?Kw<6};Hd&A}P4L2%R%W`sp0H43E zb}|7UcL~O$A5I_gtd_FaT9zHvWdm2w&t^E2v{=lhezoC z%#=ZQwRFV}+k2j3kaB9=Z2pAniSFa)Hm|WgYYsFuV>oYky`}%X3_{o})}Dr$&pyek zxMI6Uz<Xl1YK!LP{qRqNeMbquKkbnmrXn#td`njR zk9NIpS(nek(sMKFm+dxvvvOyHE7x_0Zm?P%S$cTG;pL_c+;ES^RbE^EoSh@LCuL7| z4&|gT(>mybXol2%KD2iM%8R|t-(ju93Bvg$KrVQEh?goA->J4y)rdvm-dUU>$M^9D zEZ$|+dV6P^FXzUU%ct76u8e_<=M4~Ql{hf#G}c}F2z|ND%MBpW&)lEy8-9M&|Jp`z zZp9oxz`XcT#S<}eLNT49QUp>1>JG~(u&Sf|@!0dC1bbdl9i2W%^cuj+;H z8m5`Jp0=eCg(dVrUQvwPHFhopd1QzIs+C2YGykxLEsimRF$f+- z697(ZIj@QD0$m%hZV7H*V`k3bA;bNaqul-55AO&>o@@@C%6+o@T29+1$O&W}@)>n; zsdn!y^GSA=L3fpNXDqv30(Kb9uUR6Fr?qlCZk8v9gL_1nq&r{T5$^b-{n%JyA96@C zL0ieiB^^_gBLOxgV9;>UOSni^L$o$B+QgvC5FJg23Q9dM6nr`uL6KWC&YGNu@1RZqz1Fh47HZm`juuJY(}}nbYZYlz`DQG3k%` zF9Z^EWJ-Kl_0;ktTdV4ScyH|No)IPG2{y=6a(bRpfp8cc!to!@L-ZU>1%MEX?Pl&_ zmnBR*Fa%L7C%tCJ!VOL*Fo9!Oa`Q%Y`doTk2NT3bfB;XAM)acI@DGc$u-zP+Fju!b zyZWT$iS2G^Kl_V^CMzbdK1*w#BlnZaOQPq3k1ly6gn;aty~~+Ik>=v>xnLS_&}-bX zoTlQeg2Zw@oho=bUl@0C|4X=%ywx0Y*|dK^Qb|d~M66jiKY|oMU<&u`>(aUQ=TlhT}G9F#_<0~-W zS3wZeYtYDcxS14EzSz!a%|lvTT>Ryig70@+p{Gase@X7ATfSS`9_blN!@|EaN;qo9 zm3z2m>9hyWn>#q+Juoub8H^o$dibXi1n*Xwu2#gTG&Lh$NiccA|4mel(XfC>EOor67}V!hbGs~Vh=*>w)26u`*9!-FeSOnDttrWO<(F zd8M3}nbE+|p!M$Va;zsP=rcIXp|{v6zU1_lkH#Pco5xw_h19a%+myC=Cb*q2lFrt~}Xvda5xr>DEYbv@|E}v`kS% z&qP1nb1-?stI-1S(I|ca$_K9Q^dQP2k^UzeHLkvUIqD_fjpfn`&qoSiOj_k1ENeA> zH3Al9UjKOW>}1r4e}YzsH8PY+)Inv#!8Kon>f9$skr71w#RKwyZLQtyvxRVt?!964 z{tUUUs-qo0+wxZXatEiXo|?lCNvYECnK?=T{M+<(LD~`o)4_wfKOcBrBjL8tJ^f{^ z?&N`}+lbkyl3*jc0>Y`ejUIsx)4bZ}lIF~{XA7){Ew!3Wb6ZwhJ**E{EKU#u;60G7 z)d1E%6B93AZL2A%=7i+WqYTP|rUzj1U7HMebydTRO>%JJBtzLcq%_e}jGD=D$ z?p1bkqJqd%TaY;|T|NKdEgmR6y?(Nxchnw{oSJMko&4%_dsZT!pEQvEesjehP1R0< zWBEqCker%Q%chRV>DhKi^pk=eCx*(!&vG}Stlkmerm?8{tp+yKa|x<11*1=40nO`^ zHb{ACaYKpg3c8yvne3Nr3J`}1SoDt#l}=`mTmnK-0c_*nC#zgoK|w)o$43bMi49hk znqT9$iR;!JC;j@DuhgyVJ@z=a=AUqApZAV>eDs4%@a!~zwXbh%%vghml$Pk`b^KuX@;x8ABTj8gh+c8#Rr~c5L*_IsFc~=6u{|JA+DqIof~c8OA3q zHQdP@ryN;t5VFh$_DjR{_HxJbwBGKhGhl3>2NqYYE%G^D$oZGoq~VPNN5hY(GH)jxx`6k5)u-XYD1hPQCzqjt94x= zFH^G7#xLRY&vuGDBh9H5u==+|S*X)1XwaFQKpd-EZ}uUx8GRfmRPfF7LXRH+jr-)J z_Gad0tl1^Gy2iV1iJa|i440im!4Whx2z%rk&%(Lut;LDR4V0_2a0a85d~s`{;T^2wul~JP@|uF zWA+XWH4iFj`hm>@UF+ncA&_em8DWd^_fAY3zYA=|INdx*yXFuQXoSgb1k3;vkC5%7fu3GYl4dhC;ZI(q`^`hLQfY4q&lG7 zS5#8Sn8om`n89Z6TLKft8U_mZw*-!rNI_7u=Q!m-LJ&|>Ku77S1md%Y7+gb`#NUmf z(?{q}U(W~=ZQosHc`i)XDP=%(OeV0y{s7?JY6qOAmEi)nrbob-BR~e}TSlE?u4-Gp zj&S8<%R=p$eVLq^;NfPY#*o%7&>&S05UFN>?Ye_Vt(t(mx+|&TkypMNpG@BU#;R36 zc>u3$6nGQ&^rMivJ-%RGp&C1uoW30$)|wc>fBp#d_4-VT{l6mc&1 zeaUUuZV7A?2FD7<`C+~JEVzFnq}~xIH2KoO(1F`^#5qYcka{NDXKCA0=p@|wWUb{R zB7s7~$Ok94YVrQZ)|b?@*qCbU(Laj$E)KLo?^}U4^o$xaMLld(hE0R|_@fyJ9+6zU zJ_f{C@ZECZ!o*G;lGJuU=Jd=llA}2Pwio>Dc$k`o#%6(Y*s8u90p;baH|zU$XBj~rQCXrm^SW*DVLaV3g(62(9paQc=uQs`x6XgFKwirjHTgE zsnXwTxJIHeOrnvdy^nP|!Dma`=!?7XVW)egv>S|2_w1MKT>$B^M~@i!KTZLc&mDWzIX`a6+V(O-~#LF~5t1Qg`a2;oaFeSNFi0^scoO zGg~}xUd55;a?%j_5V5Vdt3l3W7jQZni>>q7#PffSO&w`Va zUtWF><1m`=?_Zw%E~FXKWiq#b(3+m@@Mx=-OMUEFf0^ZQ6oAJm`;#^BUXSp3fmRC3nvc(oGh%HTUQKv(F!O69eHQoR0;%G9;{KykPp$2l77E*O5ER() z{F+&eIhxG#?2_qE6YCiVb;y$H7jZ4CPjDq7ndcA!R~o^)M$sIWpXDjUu&gHkjs<@~O*yp=Q_HG)63d#VgpJBPxz9H#bt=L63YY9!A!B=2WtFPX z(8g_W3~Ct*8*7|C1NS%T+!6$GHZ_0ak;kMcEzV#ODSMVAobnzO+U9AI4{Td$io5J!8&+~YWf_L?caAHq^ zY7URtc*1tG;abI+7}%T`E(4K8^)11r!u24}>KC%QeNuz)p`mt+kf#mX3yg=o8ENZQ zl|UpdYFEI^OdOn?_D`M+?SL}yl>Cew6R%ASwu%;WHvcmAj#L;c=5f>{GJ3CfV%+qL0m5g~M-7|e`dRF%wi~L$0BWv~V zL>dXFl{m-44!jT!WPW4$*{xx)XIDw^h_WyQ+Q@aBa=k^oO#F1a4g;j$VVkYqx3(i& z$mf=g66S_tEU0;TKf={}?Z4}ljY~ct(ynh1(IAiEo#WakA-S&0OX{#*wZ;`JxZN6; z*DMtuIoQ*YTj3ZypNC1ZMXOB%eRLH27X5);>V3A3-LRgm-0d`vq4+O zzYydT7Tg?$-TKSh2C)v?3}Acf<2%PfC~Hy3ru0LwBMlH;%h_yh;~s&)aHArVCTK5Qk+4- z&bd9u<%&TH@G=P4uWqTA1MfXLbe-jBD7|q}<;%zj)k;Nl#zlcxzktk>~z8Cr{yt)W(Tz_jzm$y!V}U?)**PWO4t*^?N0i{!BTFStG$Fb0ypi z{I6&%!^#*CBAO}f8SOXHWc}d!Sz(Wqc%@9t^V)NNxyjf?D$c&9j!bkS^C#{8VvF(T zon6w#u&tD)UDA7Eo7Q?OFO1zIkIagS-gi&pF?~rlcWpg{O2*CO1nvJ~P#kPC=KaM> zaFTELJPG=D79e*n9lo)#;!6FsEre;#p;E*BTukV=Zm+RsV`Xqyb2u&jbRO$WV>9o3 zt+toK4QRx95PW4+>rB>2Dxqc$?oBb@MCh3Vno(SDnkyrSGf`8ka69r3G+%j-Me)|z zcsVy=hi4?6b2nxf-dlD)9gV>#&0U6hOn1IxxqFlsKd|9uT0mQI$#?Di*jnQJKw9m1 z=G=*Il^*rVKWX~Ld4NQw=EmO*Br>fbxbSVwxvca#QfP9(_Pj%-{1eVqsJhJ9J*b8P z<=-Cx`p+LAkIv7&yTlco71f@HlSaNusB78!s^ofXdA^kzkMuPP58l}TopC`Kfah2H z&bMx9{`sn<+8cTP1rKi{O=*hkuh6;J%JIQ@BSRdMh@mw;4ED>_e99dRsC)0UWyEbi zXCnbWuDm5jiLvg@v9RoaOj7cy^%ZnS&_!%8Mx&%mjPKluVU_-dQ3@M#NRFlJLpo4o zLkxdo3H&u(lV!QP7vOmiAAht+oD<*XLx!b%&8R(?Nur`u1nPqbs&4!;;jV0-*HfK| z>T@rP<#=3L+&eu2DjXbYcQSz$*SUj!n>8m!mRZGN1O2t0e5*Wl4WBE&eX|uE=HeZ> z0o_AcJ;d{8qO_ZX$~Sz6uqM6nKAUbGs8+}?DpZ@rm-3J943G9R7OwBelp{Rtga=79 zkiMP=cSb)^dDJ283`Yk`a;!(t-L`q&lFIS%Fp4DEqY7N`qv|g_duhPIAfV7bc|bYZ zzFb_hPmv&Z^zv_wAS-OyY!vk@FppnGSy#nK#!1z{cM2xZQ`qCA+rD~tEG1tL{0~!= zZ3zC}K%`P*@Fk|?egiQjQ_@wiLhv~-EP1DFejNr|r++L`*z1&CZ*|WBMV?u9Y{yG3icp`(U z2jZnSYc?86{jYw6YoTf^xmr3GZz&iv6@sp7ABcq6slqRB4wMraaL5OP~D5e-`>Dz z5U3lR5`@`8@ZV%Ur`KC$$B?LDe{elHo~i3U->I$1CiHNdJHy1-{Mj8&rU9ST2Hib? z=vu3LRI{`c*e|{i1aj6>nEZMQ)dbV+fj?Aq=+2;-Gw`Xx7pXZx^$d^DBlFb;@3h@{ zJp^D55X#$A&N;cm33-1>JP{953N1#gy~KGdSC`Q>F5j-y>Xm30_oAf5skZfATbN(ef zkL8BC*Ny41ly9QK(gp$O34}-l;_w88(BY1w{`j}EF^aew{Mff&8MXH_ zcnzDN+7yF&BA$_~T=JTd3|jua&}e_rmDnGk#)}{fJ-lRCEB$YdQt58j`TU2w40NkJ zYHN^Ka_hD~C5QG&*E1}%9A9CZo*axq?&4!{^B9L3@B z9S~t1c(KK4+R&pb0tZ*u-P&ESjPIS(O7|h7kyX4Q8dhA;1(l<+Vr&)%^PkQ|)+eaH zoyO8>fl+R(7G{~oWS63&~lqmK-jt zsIn~3bc_uTtL&eV-O%o9F}JyjvxTYGUr?i#}^oQ=Vkr*Wks$TYHoP?889 zS#zX$+rg(*t(!yTpTRpRiEKkX!#=-_qyLz>ajN~a`nAX?MB-9 zvBn;s9&*Oh<$2+Yn^@CSaZJQ}pWc^No{0&eYU6lO&GwnvM<~g?X}C3N)7@H_{0O3A zzL>thzLB)TZtGD$iZwiiQzvVsnr9vM?sJw2N~O1N@#A`hSedkiQcq@IwDz@ftJ-l9 zz9pc7%`ZCNq#;orp7WOrbvH&}huyexQgm5Xp{I(;JwVQ%S0{=kJX*m^(7@%#@v5{+ zoNp~nCPB#sxTHmRPgJQZ=RJ#C80DzU+cskJQb<3%G^9o#4Y#_Y+(&WFE#1l!%G(3u z*;m)gh~>Djm!u?-nmLRS_9ZS{Bo6n)Gw+cq#E>e1L6s;CdlnYn*3u9Rde2KS^Hw}Z z%aPTaz)$glThWC~jH}dNl3&N;L6#o$K87Av$8KLZzeEca5CWf;-%7Pe?U6hAEjCk2 z+)AHNnn{I_X^(C z=ObwUUuRtu>o`Dm_!k$Mp9BI1~nXD=hLRooXOq}xjw!Y;K8wuL3l@cdDXDe^^4 zrS43A8yJT+$TqOyMN^Ij?R{s_(zwA7EX=c|56_Ofw6aZ~&cp6lO~f(rh9$>b7&zET zacm4hn=+~k^vhInMYx5jUeO)MM|%CK-d_FWv4Z8XeV+Rs#m?+%>f+3xf z9jeEKa^~g0E`yam-~>AY2S}3R2_@-wNAdttzyxXaBqBaEUXZpMXDwfE8uyzmN+{5r zfB6i^6f4q9vd3+u_;rLnG*;}N&?wCPOml=!3{go(GzNd*Prrv2H`EFVCY0^1vv@+i1k}SpU#sxubY1)~UuiY`6F` zR+gB1mHrnnb22$i*G&Kk9|2_=TnOuq&ve_x0M`-((Fknq7WVPtj$8^@k_Q@jfk}eH zw_1lmqzU7b#T~+#5rNd~%b-r8xc}P=I~-~*k#+Tg!*!uH%Y)2ue35dr6u_Sfz69ts zOaVwN4E74GuK>aIWYG9R%m+#$euS(=eyPZj8DZbN(`T)={42-g>l`+aKJ*2ou5=Q? zxkY1lp{uQYe$R>)Ea;E0TM>TS`2?YlXLnJ$Nbvf$cno(XP(Z6zsc#om#$fA`AECQM zp$vQeGtHw89AuV|yWHf^Ar*z`c&U2irII>Io|5@@)$E}NUo_ibq}&l7KplQC@HQmr zULSkYad#&UES8G21b*6eBU@WoBe#zm^E@<5yYhVMtQ`yITX#}|%%M7H;Nyi<=|;(? zT&VM~m2FlA$w~e2mR zZW&(L0qWt^f8?;QtH*u#7#gTE+qNvhXalc&xA`b=)|`UQP^mK^tp_X3{yH1Ay2a4E@c5mdwF$KKC~ zbET!dSld}NNlC@pwa0;-gj8(`ZXE6oHVBU5PWeAH?WnMWQ#rrp~ zAeOt(+&HHmZ7S<#Dh_8;$(@RS$T#EgW3TtxQ4+U+{vV(D=vE;b{NjK9;3%GT?&YF7 zsM|PAB(ad)i;2Q@puy+rSLrotCC zFDjFgrFU@`Uc`4bH0_(+{)`*YMs`4=M(ZDnJ-7IQI$pbj(gnRAGGt5T8}L6zbl8PK z_&}D#2K*9}>>&UJK3?vsC=?Qq0Sx?0V$=|-?t{z7C4MFOZ0fzyy!dNCbg9fr-WAt$ z{fnuDB2Mi%jU!$mz?l2!G3!SZQ}Rh;!`x@{r2VZhxAce)Nt_VjP!DNOGi%ZafSkxn zQuOs^NE2Yrn=0auhK%vQ;T`OiM@C}*Pe&7ZWS*EfxbJ=XU#zFABFk%ZA+7C{JGnYV zlY@#$_$bF$$wlsbyycj?G$5?vzP;S;?&&dJIA782?x_izQDK%kkDJnlk_O;2lJ+_t zG8Hm}z~>H+0|09(wkO$aNDB zLNVvFWVE_kO~krW=hYs-1v2cq0pGp!5~J8(|7ObJyfA7!%IB*T)rndj8>+wzQlKmi z$}yh%^#5gVQ z$J|k2%>!!GbYR+`0OqL0wI0k~P&A z5|0dW6M}^Dde9KWJWo%M0~zW*A_#p(`*^;cKcBFlE?`x$k_>Mzk71e&R# z!-dcVAF}EESpK3+;7l(|bzp%-=GQ3(^q+UB!T04mqrUV*>xL1$s^#w;6~lH3Ecte$ ztu)P`5alCZD(a&}^Vz-F5r!~MT2!hA(Q|Vz;?i#I1Kmyz5#$A4EEx7v?I=mcPL-=b9CH&v&A~RClv%z)3EG&L0oF2 zyC`*VbGvkIO3Wa^tM>fCApaX0U|#(}Tvxffj#KTjWrG?Eo34wa=i7ESE&_-cHOi_} z!^K|We4e5vxh+ap<{lG(7#TyeQQ*Nc_o5-~0utL~V(s$B(LBZ*?Eyj%C5Wuo1{%C9 zmW-nHcOff483aFsF4eA=w+RkpHh)5^BZiV5QoZVKWhEA_-8NSFhTspvVZr0Co0$et z3BS*jXjhi6ZKkH$&97>Ne%!R4(@v8lvEIrIsGCl9)i)gwo)dD+&(O&kKv?-U5_7YE z;=Q5i`ZH5ZsG1tm!4JYfAJvNzt*SjsP~>Ok|W6UfXtkguK^#M9ExF&GFh z5-lM>S$6bP?hL+j*v%qjZNK#a_;DT>1V%3MEUvp_wh9Zct>ZlCDID&R7N*3?1fj%5 z7KCVRFV&;%9;1V*=66qr467M{3=qiDY=EHnLUE@KJ$^_F6g}#|=D&`s#%omE1UVbZ zw(IpLo)BBVx(tDqA3oWUT0najBbWP z7Rn1e$n@j2hs&R`u~?tjE6_t>q;w0byHO1UC5yNiRdxhEteKx>X=n}p)I4Zjj9R@o>*4{rey-D z)B_vf7iQi)?bYVNh2p5X(9qA7eC37I5c#~kW!q4B12AO$wX18g=cy19o-C}1BD*(vYYiWl2IYcbww-HrI>wlCSTOUC@ zgw@4?T*KQeLGap)5)ex&T?PqADCz$RWo8(6*l&pZ;8I_gg-8-UcfqujL3w~wUWVJ2 zmR82of(!}7!p|2h{E&IiP^6F+;szLlwNfftaVn~j;9^L#O3(A6U4=^M%YCxcSPa;0 znhP)R9KT*>Ds}*0ei1IjLJ`EX-)xB}q)ngUs~D5bK55UhRA7{F@*>26_kh;W>#W1Q&o-XWMkAb8K=FU48vK8-z*F2UlepOI0vp=p&s! zkal*t_OVPy9$p-PS}ry}>|HT5Dr|(G-}WK9T6c*N<@grsP+;I?sDaus$V&GEzyS^B zh!bz#0!A?rl@7Wl3EG~yYsDjsA4k7?av%KJy7SaIo(^uLfBgLK?s0|FGJw(#E`Ku; zDa;|j@<2&j-6YsBKqb#^6NjppA00N{N_TW2f-rAz_JeEsD&O4T30iQ~&HFvCHES-z zBN49mgG9G!@g!;EX{TO(-P&cx>*?2j8XsAIS{J!-f_-Xi&2;UCe8G;Lg>-)M;S7DKE_#hR_>`GQGXLgy-M0;%SRc!Q~itqn-UO3gb;nagt-hl9Fu zCyx$7pVVS{i4=v$oE_L+kQ_GRyKEvMb$Au_;1R$O9L?Y6h-fWJ|5{e}>eQMtW#fduV|#b6etbTl$KWB&JW}>8~X}*qlGpNw{brlJLVj* zt@!2sIHbll>9UtwyveY89sNdh)JzKexooEjer3q37L3@nN3+vbd2Yfs@3iw?I9S-K z1Ovao;^>l-D)aUbFku0~wQHAPJgHB6z9J-_+z%RDa~Mb;E~&20Sz9bECBfNq5y0^k z4l-Jyb;Q;!HP;^xHXCn^^66VH)-3=X;(2QwVtv%P8HOc0S({hyHFcUvCPx!C3Yt9| zevXTQ+}t2pW$-)NMoyac0G^VsmhW;#-+Xd^kCR-QHAzM*Nk$rZ_HuIlnVK37X#XAO z_bzy@)n21%&N_vI82^R{KK507e-Zou5t^?IO}hOyqunM_uxof|D+0^cO6lAkF|3|5 zEg`Z2PTOi4GPzbauRQ^_ndw9ex7IVdv>Z)Z+kmv6{Z>0g`9cL+ROn<)#`q5ieEvjeVnWv}xD!e)^p4TR?FQ;R}Nt2!Yj_TtuWu6FCetiud zT@6NcmB(SKFOtHhewbi>u57zg4xspmo!U)QTYgN}Fl1t6D+R4}mL7y2kP{1#U(;E1 zs2EtV%o{DRcxIYA*(aY3E(9hmE~-{Nu96N<_Lg9##Hr+FU`)C})8Y*sI4cvS;=_LY zS)YY>ld=|51VIe=$F>^{_Szt*Pwp2{0i7YF1ccOlnbtVF_;&Q z*|NY5n3qoqypk8R5G!kFC@e4MKH6_?R7q7D5WB}Z-zP&yLGE;y*~g$IXJVU>OCml48B)mCuCBbK zqh>aTtws0s7m6)E)R~j8{r$d-F;psy>R;GPwAbbb&)%dfeJk&Myq)xZI8PzLMXq7h zjDsu>lWS(b5pG`YTwbq_x!NO~tqDI4rgWWF_FP+FV~FXXFrScP%+EmdxdG8FpBrHG z3gMoL!u!8(fU%5fW43VIx|65I`ZN(9ZdH5ND}+wAV)-ely&7XCbp3l9V&$Xwks%k^ z2M=r(%5iY)tg-s!uCEQ~h(|2&%;!RR0_VDC?!=l}cWme}0cHGGGJp@-+P|vqIb$RA zbad9`u~37`AYn=$15f@SxRv~x6r_6n3K?0h@Y=^D=U~n8hkGWQ|D8+LWR8wTvhx^+ zX+_iFDO%9gJ!1#ir)Koj-5)hXY$)G~g;>`^#}+wR!zA9p z2R0sx*@{KEDz2byv2;k&hrH(7rY|USup_2p|;az`ec1(o?g04p+>Fl#4}V$kO>+L1oFO)8)$^jWl~^ieIkuE<|Y}R8rsS zbac#tX;FS07QxOARb|L6sova;lapNBTFk>uVrFLr%*zM4DQ_5!V$fnN9emt{qoUSXPAUWyho3r@Z}TTeRSvD4eL(&12C+TtR299ZTVFt^IV z467C4dSCa3uPWX>k7*sLNVjxSmzBL?4%S2aoMKL275xGmH)ZIItH0*o`5TftMb-;r z!*}Ffo_m~@z&T<-asiq_08>T2#?;8Rz<=2!n;j!_=ZTI)2YW3k4 z#;B|0!TXC&7J1kS^>kbHuGzSjsdppG*ULvAfS%ns)L(*Z?*?X)gl0#{kwz-SM9M@( z${CY{nt<2z^D8o9JJgpwf+ay1r2wz31Nkkt>yEX$i#ze;!8PQ>?nGx#Dw2ybU0xKt z{0*7`qd{|U#t7|bD}i-S#jSmJw}a*6ww)&&Ek7%6tcu8?FxZZJMf2Y{QHQZG=!R-s zJpYx(z}^N$mZBePw_>VEc&E9*I;93A*6H^*RhAPAi2v=5ckIS9m^&uyON_Jw?Xref7TXdnCX)fmHRV{a z;93Nb4t~*hd#S(w?NHcU@LUY_SB1?hXS=+GLLgiOmSFW*K>q?ANubHyP!lksU@G2= zkcYbGX&`XH4~lYz>lk_-$c9^vX7yh9B@$&1^p}6aIRua`wWHNmcL|L15~va>HF``h zy-}_L*1LL%mdeNPWLW&FIam=`^VO$`ths7#BANZ?+Krh4npGG{dvdg16adT+8)SR| z4ZNHDb$_et{`%#k>enw?xlRC3Dw3`&<@>HkA)AMZS-X^ZT!S2q90gsG<4HQ4I*=iE zV%PyNO4Ju{uB))(WYSvpNM6|L-WjX+Jn;N>xQbtJd{(RIE_AQc=D>@3GP#p2X-5<{ zwbvTarZlxS@qI`nqRmu;dBdcc0}<{$x-+mecUzMqHin%YG|A1xbOf}j%Fx<@Wjy_S zZLh~9`z{aVjR8CsYguS!f!D|4HBFe<1e>SGSXdH)E6Ehw+qghIa>_qJV#_WlQ?Fkm zy^9@KKB+#?oFFII(5R|mw>e~pz`gDrY-t$6Zm^3)~r?H(3Al6O&n0{_ccbktcf=@d-%<92# zg@E@mMrBgOS5(zkRCakgi$77`ksqwD2jE)Pk3K(qQmALG9@XBY18+!aGs@6eF7@!v z{&5j@DLsLcJmegx?BVz<5zBRj;1-B=fZ9vIF|Yd|BJk_eP^=p_`4;H4Zi<{y2FA&C z-$OZ3L4Ipr-O2``Sy`JYITg3KwPU0$+43A1Q$Q=H4E=^oc1OEWwDC+SfRubEhYIg3 z_}e<-NlLPSK5Ggn0(H-Wt}ORG-~kqQbjgWF(LM6C@_`Bst8E)C?pa>0L}zV|>o9Hb z%9yHcuR7t?WCQx;XzY@9Nk@{RSUg;SqoqEx&N!%cZchCRp590s5DX(Z4<1hzA+{#@ zC#d0#y5&UN@NG21Y-y6X8)8&k% z3*#f_g108zy}7;NS=ncwzk;-WD;~j9*{>KDr+ZGnVW?NNC%>I%P|Ewv+fWen+~Ol% zpMhyPK*Z?zqCJR=?lD{Oi<@IVOgwwIG$;_u*}I1|@)9OnX>mPW><%tpHBu_UEOf+&6BM z=B@Q~*=B2I%sm@IDdMDK9D;KF9{s~c9Em;^h>GP-M1)oRaDAl$4|+KfpU5#>aHq-1 zi>DShc<89Gu@e33g-zO;%X3|CKK*xm_sg)WHYl700Q2TAC{16i^w2l%l`>l#3##VU zg}1$jToKWesJ47ycx_)7iXgIrT?CEc>$AGLWQooq09Cn91AG2-W^A*Oy*xVGp2_;B z8NrCCaQ4D=g-|U*c9J&829fG97($Y>&*c;VQvSPTI4TKBZ0mR6yX*0 zLAG}WT)z%TuC@ULs$9>Y%-G-{Ho{8Dn=3wK%!<*}5tc;o` zj^w|KadH1eK|#IRoQDUPkSB!+e72qmIQP*KAW^W-%yYFEDmoog6FDHNj#G3`!y?JvZ?>y6$45qqy>twdg!-CE#LU5Ezq% zb3MG&V>{O^N3;~$j6|FNXlqAL9~@hbPrL9)Sm-d0GQ{j&Zw69pYjqbE=fc+)i=C%|NXhHWxV|bM;{Z$#-Qnaj>QzD>XQGjq+ zu#XS#%Sy)?#{(R<0~iVl1kM4=3AI{%tP#f-BL>Qz`RTSN0D27othw5Il27-CJyB14 zWcUFQ^;t_xj>C|VTwdD_KX3T_y{zC{+nk|SXK3}Wi zPmBYDq>j?p$W{g3p3ce|9*!L5pwDus0XQlH;3)7?%PTg?(~<#zaAC7Q$z&3=3}=bk zGQLyglx-I*sUIv^zqjS`;wwqHQ@ghB9?{Q4JKV(FWMY0f`r?KHU1mL=erKW*Eor}M zXtVcAtYNZX(!%Dm)m$m(JF8XN3N2=US3uksOm3*)jO}t%Ew!@uXRyHZC(gN&UmF2I zd(r8Ec{ynM{Eus{XnUG5QTF74Fbmv4d7TFw*jB;d2nBrdTe}Hne=M6a8sr5(Ma~d1 z!@xjR06m7gTZ^51tE7swT`HaeW13cY%UA1QMn>@AX93W3d65oY0BbtbWPq3W<8&=%@DrBS&plbz zWYyL$a|fj8t^gD;YeAW2g)=jDsDM`Vf!7g8+c5u21sbkaQ^7S~EX=oML)m~&fEPc|HRCMhI(T56i(3`k z_shVEx$c*h)q8rvhvK3O3;>=3A=2eVt%;zaF;BB4f1Bl;o5}kaqpk*?hMs}S=w@d8 zHiO~LKDz42b=$l5@#V97#}1h@o7>aTxt0WEq}cRE7q}{b0RT#ZkWAi#?glto8i^@S zUUShP_z>mcrGWK4b-IWP%?7#dPYcid_f4ytY&>7_J5*o{5<$-XLI}3)Z5}AVb3=r-+I)mkSF5pq5SkBSj?NUhpUGJ6f6TJ_9!!A|TRIH|2z&f<0sb#EEH@_+JHUl@yMx zGE%N~pHTb${xSnHE3>(v0xE&=xj^7fhStuHqhsYCbUckOc-5c(dUly1))5#DH{}l3 z!)?fV$Q|c0^V*EKyqDe%X*5oLS#@7M@N$=ZT^ZACU60skGsXmNovCzQjmUR>$8_1_ z!nf{n@6p!U9Yw_4#QWhghYI_H!2=tL&lRfs0M$>)$-WM`lN>b%;0q?8xgX$7@Q#)> zZ{Ww2K5RFDg(PyE7Ek`ta-Ytn6WkP6Zh1paMy$xd$r6ekeW(iZw_%XMzJ8}2&0=T? zq)x{O09h+Ngf7?V2IwTswQV>J@`lW!9y-&z$kU6tPPl+A5$YDoiWW9p);+zC69gi@ zJ6T`)=CbWsw?k61vR$qfEy(nC7>%2qu$x@Q)nYJXdq`(b6P1vuZk&@s(YS7scjd2( zus}lwi-E-ha`$(7Vq~O{DTUC;7(KTf&S1f56g+nB4eXlE1vs;B@K=x zF#t+!?3r%?ZcPeA3{cjq)@kz3no`^8tw2H9^;4V%dYsBY>8IDfC5#_y3&jtru-`j< za^kW+yOrAN+lz#!Iv!q{3S;X5RRU+^o`gFRDDY39@erz}PBRa`zV2dg6fX1} zS8CGM7+uz8Co~- z8W`+q;J-YQ977Y?55jLhJX}A(k;vZn+-3rKnX@@xxyj|vI{FjLNco@N`^11Gv{VHN z%UifH@_8(x5Z^KRf`+$6*X=Tb!H`zk5lRsi7w;AT;e|R)uT@znp49!8&pZP%Xpw?= zACgY~Q{E2r_EwL5sh51%F9QnFq%n6ew7C<6CsYChpbPuI6}rmkNbbB!!T(>?OO;VE zh>35U7+5{px@2^%)%q=0BnL>7K*`eL|DYm?5;$fCW$~{XtT&3I;swHdi|=&iLei2? zYIn*!I0~eMRYAervwQZ;nNvK_Qqp=2>MDt4J!=cP3bMKrA(#ja%?EP^3tH)|ifj)? zj=6h~XZ){Ztz4KtTh#k;;2Wdo1~S_51X%EFf-sRjpBR=2Wtzb3lMYp0GMxy!?@&yt z)t}fNCPtK*MU+YF>PQZ=xTjxJ7Jr*oHK%@;jdjdt6#uf>b384@WgIU4Eg3!*P<823 zd$_h=K50!nk6FuVs7Qtr(-$6BL8=>68BZqdyXR;O(3Qbmoyox!a7P0sYl@hsk z9^|!1poXhJ`C?}vMqi64Lw^wXL~!ULP1O&LNut@4!4Q`{J{9NKTP$C-@rdn>iGth} zILIG0TlYdM^C_W&GYn>+WF8(1HA)7D>D`#|6dLe%*P^AVFs;0d<0=mRx@NbTAunk}u*zedT6ge|YDJ_V*vB#X6={ zcP~)@y7I}G{SK`~R8rn{ELj*U!Sdri4AA;!5{krAuKZQo-C9g zF&&hPsw!HuF&mSZ~_gDh5Fo&TzsZBdnM<)EY2AEj!%(2v-uGyiTC^0El3trd@c@; zhvlb4vd)1FD9vf(+nc^B5igx@&T+00wC7tTZ`4xii+`+7+)EvDUW^p| zIRrQ{afbhW=rW;pPh=Xj=ITn0NM8~%TO1lES+MiD$Qk=mzm2Hlt0K58|eQucfE zl(qZz0tZa|Ri2^dm;8UG@Y-AVuvvp-I?Ce56^h6DM7^e|)MOi1po?qZ119uIc_CMU z!hYx-$F&s}m_b;Vxr#xZw18~Y=_1;$Txu{YrE6xO6J+ntgayx*#$SO-&@v4`qxwqp zD+xNJIfjD;{1-SxBEG~K8JmIJH27YaNuGN5z$P%*Lpla0v5%ckKuS5vAnWKyMV*J$ zSi%Evso+Ryd*%35`?OXW#ud=X zExtZIC#?55xH-bdB?;ZEfiY&%$1a@OKa9K?$%{%ED0=;@KMFYg`ruPr|B-XoKlM;$ zg&I&JP>mV#-}SUl9o9dozR0x4g3wAma`WHBNBwz*Dh@hbVXqO444d;GFOgcb@;HNL z-`fFq{k6l@v?OEf!Lqy#8DiYch_)XwdqXxAt517tsl2mAd;~7N(`u$5xZ&beuqkth zN7R|>{@Y+$iZwHa#1QQF{w>+hvDDgbak8-mI^s~%adTuj{ZC7t=?(Rq9Miz}qQ|!= zuO1%D%*@%SJ-e^;^5y$K%+X-m25P^h2Hz^5e^;3NQ(HNOTh_^ZfFTk2IWV?p=H`sv z@4fT0#h_A|hkfI7xw>1xh>7v(8D>Bi&P-X&3ulE`^!Jmz4wmnb+&yGX?xFe2gY2Wd zf2|$Qq6(iNXVK?Zv>5cDlTDBqui5!R$I9A2bLP_{h7f({n=u@x_U*2l$(y1$p_jdK z4uh>Wk;&*dvmN)tB_iLJo+R4N5L6uZ`9*``9IjiSp(VfR&^M0wE}aU?Tpr6^W!(y9 zbvrwz%xsg6nfA!>B*s8GIC#Llep$;cYdyC(5x?Jni3U<$@X!MDTan%ojeV@8hsGGSDeTyXz z%F~~?-Evgp!iBw&;y1o_c7qJg2Tmj;RvMz;B&F$_o3%;qnM8oW@=yQxFod*pRQD-+ z9|IUUzc*oTmR9s6Ma)*O$`CQ$y!>;uD6(fxSzG%lmxe}#SZ1bx8XW$#s8Y|XQBy_9 z7%c(yeiU$4Z4F5rsL&VSOH?>(1bfWb{N|s-TtX%{CZ-1g_^#3CdFR3M61fWn z8Ie0ko_K7UM2$|_E6tPRb832O87#ULpg+d-kqSpt`S$#%KG|a@TGYDzF}8xyN{pgKSLX(|n`>FXs0{5DUejK{p0_i8Il0tAn3N7|o1 zw@IjMG+(|KyK+UkREMGzh@M)1kR@73p4JY7&oRT6QNs`KmEb2T-~U!H5K7kc0vlJi zw-dR(uy%csx$Y96uB`kROi5JK%(`30%!c~Yf#Cc_+LUI4u%;7x5rPG;gT35qGdylSa2yw@Xqlui|4@ndGB*7HT9&nz7r97=VOEOKGr|^=tb;!>*^8NWwrJ>)ELQSCRHR-B8vT; z$b3&PUS+HN3if^tv47K}+VMyJGwz7jR9?PJ%hy1GCfY8^SbiuMvU05xytjlZKqaf@nLyiZWb z=HSp_9OAp{2SCpHo<|;NqTH&QT3X5x6&(rwp=MpF3tlrMGwW(D(`#x!=QciWuK^<@ z`!czD!@v7wb&ha!)7a4lmE#iGea_{zL#os~;qU5MI+T~3DTJ$}hFCV|R=(hplP4*d zuUcJI8)mydraza|8hx#a7R`6p=kZ$>ZxCn*wE&#)@~JSb1hFd`sQkh6bhPyC*6224 z$PtZ@P@|bxh2XZfwPH@QXj|Ptm6oa;`yd+HW%fLd^~b-RB|3kOXvOW} zwTsSHJ4`n(w^Lnyg{?{Do=-FSdX21Qh1jH}kl5T$&aVW|CuWS+CJod!4wN88O91!J zq1##dl?8OXEY&Fp2n^MH&n-ImLCKVvon3ToO#>L3g1KKCts!n|yyyu`oax>jLJAm` z5~k-QMz`W~_RQxCH^4noo}vZyWnw9CU)aC-=#l90cg4No;k7mIE&#`Ij>wVWz_50* zkx6ZK$N#-??Mq{?WW{&-9m+f!Pk$koh+ICNH8gH|NbIppw$Bmkbi@!*)>;}_d(P>6 z6M%^f0OZPQ|Kpup2_4oN)K5vOk7R7W0;dh~nX(X8^SQ_#EBCvY6qFxkJiiv@dUjpy zA~Kl9lmPmIqbf7y3Q0c)1ZK0`F^~!n+&qA5kx~=3WKf|nO0IEP#J2}%D{-2NBhwu@AzD3$-S_Bj6%)(F3QX~5x5;YHBHwILGHL4_M ze2RoVVM;g&fb*Sfr*NM7{(=fj{0qkTrzON2z(Jl~m#;!qUm{uWZ+wLyd!Nfnc(ehatllpS zFs%T>^r!nVR&QJx zSh(ZH@QsucQGN#d3?e?8Z~j41TfmNpWU5aQE%|r+8vegqRs*T=OaQjtiZbAxhnz&@ zZytb(!TD@+0b0%c$C9r1o&3@WV?ASf8}J;viUUA^z?}p_F%KN<-80Xal27p#z^2ca znW6H=vPb{^m$g|`iZGP`m@+tV%0dDv@*k=XvLEgO1O10kqznTl^(H6(F?A6eG{&(1 z;Qz)xvpU>izE_Cjn$YdDC9KWXIlar8KCTGp+^}8|R(Df)$)`dvB;vte_XdkWX%E2T z1U{A02KJA)qaUULgpHoM`HcoObyVa({^8EZwjoh-J_T(29Zx5H0eO5`6VUbT=&x78 zXDmmuW>7o?NC-%voztYKo>Ke2s8V4cuiGMN%<%CLo%uApwSKkwU@8;AW7W(0QdXl%72t0hgGI_mh zvsI5`Bh-=)1K>1qZwBA8U%(iFbFiF_I4ttdGYr9OMLI`Iumv|xYBeqenWnRPVxSL9 z^I7=?5U36Jzu%uOBV$Y>@I;^cvkW^6%dt$6NoJVTR_7oGJ`wbnP7g3@${$bZG2>H4 ztaG5o)0@}8(7@zD<9Yn)s|P60Y>t>8ShYQ?wltU8K<`EEAY1Yq*uMtEZ^CORN$^Lr+-} z?CG#Epib>C#w4Jtpx!UgihP2gJ2^gc%$m)z>B!juEdq-F4RNXev8&ckJHq9sjjnoY?N#(K$gJHd$`BCGO*(OT2kSNokC$t`5e3dnzo!kR59-_jM1*vI-; ze6n8eQ2hA#@2g~%$7TmdIW?cw+Qj)$j0=G|Q~qYgX~Y2$25OxjatEKIEO^b<`mz6$ zE&v`BGZtesIQ2KmIb}alm04_>=8|cW$>S1#TKHcV6@Qg4ZGPbJ{1Q+S{{LbTh+w!& z&qPab7u4-8f?i#*C3=3t84;{Yk7OSrLeIFXmj07r-Yd2fW>q>Im=?inhzw{S&S*rD zx;yS?)}MNC>P5noAD;rgv%vilKErjrP3{m<Y(`j8*9r5-rJN}dwf`H# zGE!Fa92n=PTMD(>&8KIA`AEJU>4Zr5r`yoGNV-cM{OIr0cmCG%zToLMd566X{NS<= z7jjFc@37Kty5R5f)&@ybq*-4PisaYP+2X(sdpwC;cv(57k&AUme5;XZF^O=x>jw1NShVb=>x(!+ z2wbI&g=cnf;k$Tg^d)~#IPTse2Ya)^1>nqeg@Dn3_Al>=pa1e<9KEwlO5r4PsbJUE ze~^XglaeFM;3LL3=L=-UfL}10NW7CFst5M-iBF;S8?@HNuMnmyrTWVGvpO{%)nL=c zOt_$XjyukpUkGz%tR(ko(gc@Q`0g$fFCaBORjrnTzn0(?ujO<%dNq24{$BBt>7 zl-U4ZEIDF#M;d5!ITadY$Ptm$JXv$y^S9Umq3!m71AZ9(Y6J=a1mc-JVp3Ftr=A3%gSxn3D;2MPU|rK8tQ;8-A<(*|n|t z34Mh3K>@wKcm0x6{0n%Iai@oZL^B=#+g~EmDia|THE+M4w;HL_zS^++aEu2Pr)ZTt;Gl)#artc-_>J*-FQoqw+9nT?Api`mdCHf9*#xFa`ruP(q z%-r8zNawR@EYMx45(8U?;qB};!A8`J110Grl@^+-j)Us>w39+?|qequ4OJfpSx;*&FP@ycI0$nDQ{T#oyrZbbhrl~IcU5!aOP|(ibfSE~sMywudWqDsyR55rV zO@LHgO)EFGL(l1$4zwlGW%2nOF*XhqIeR_DkonWLCH)7*=B}?XP|)N09-b+yrlppT zgC_uMb-8f%%n^QjwA{SQT>tIy-r__-e3pE2p@2=TeE76ett03(wpb$_;jsHNEIb3< z^FsAWvaO#VF?qh1=fNu?$Bs9e?B~b2k(sJU1K*R>g2jtloP^OU4NtTs73-e_CmVJ%ZkE_%58f-6*Tsc4c{E`K0)0O z+J7ZQ>E)8xh;qkspS|g+x7}-G^F~{Qf!O{7ia$G^d3yj)GHk4%{E&A=C74ye2`*4ORE-EsQm7ww~&_30~X_57EJ zUP-H%%LH89#22wO9OtzUMJPOfboiW=RpF%J#0%-TlD~!LH9fv}RSm9O*erZfYEk_i z$#D%${Ln?jCAn}|e}IQmHGFe6tke@ zHW1$}8DHu3@jBWXzcHyP0QW3s)~=9)7is!lI=Ur-$7P2?eI+jVej~TATslxvR!)W7 z+(tA@d&lUb&`OR&duup6_~6?7q$07upoct_*I@~?)Dqg-u6udzcqs0)tSam@SPf*l zA26;qB_(2s$@#@WM^=?*_boT~U?M~;5|2KfBCeF&4j|Z8njB|=0PVP`tuNl>NX_BY z^W<(!2|qwcT@(;=Gd&;Ek*SGr5#10*q!cyoNh->F>zq5d(YqD#1c(HAJVK2rBC%E+ z$l%bTQbCmclbN~IYbTcX{c4=?8puvnOg0|0I#j9ctXLe#jd(#qLUjHmVySiWl|%FH!4}kuUEht)M0;OziA-Z4C@e8Twy88=BuZ<3r20oLcL5 zwc`{vnvM)Ix8Z8p4zrScIUELJhd=!ExokI5O~^rsLi(NLP?c@E%s7(YX_FoLlb4gz zd*KfK{N6o8zj_P;Zsjpr5!7;=wItaSOl!Lg$!pT7^O-DzkQ|b^)%xC(QL$@;eegC-g*rTS)M>Ik= zFPk2}ztFxoP~B}|`Kk+uU9!=vm^0@teMm->I+#Tj8q{JnWs%5CyTKw&&@V4M{N=KH`wUZPpTyLPs5zZUa#gHB*+5tkkz*I9OUh>m@N)*?Z=+4?lS(OX7x z&*gI18F}%#=8O+6cc45)8VsToy_dheRsx%%rnk4Z(@Fywm^DT76fK_@Zx(G^>E5P2rzBC@ zMaXXg%xm*2wE(O)U`1Kq0XTq|tdB99F@HGA9*dN#Kp>aH>rlW)V5Thq!lZy+Cfaid zht%75mfP8ea+kV?$vOA6q*Zz-$FcRgycFEVL9DgYw-cS#+iGkU$7`0m8Ti-AFh=NM zb@RLY;wtX;gT4T6?>Ue8ZwS%f6YdOXs-iO0R5DU7A_X3mUN4 z*XBYn59}wxhk^bZmT_sNT1s`LL6@!Ju=Mbq4~I?$enr5#Xop;$UNw>1X1qck0E450 z9c-*&Pgs{R4q(1mSVeRF9x$QvPO^U7ZUK~LnIOjgw_1gvedge zl54;h41N;x?=VJxtfX-7m#+C8XTfFn@uEPKR8=T zKj`HxqCXcHTKV&KDvnqL4Mm>$010uGl$ z<}_XGu8Y?wAm^TlO<)ENDt)_TbeY?l_nMgSQK?oVt9}~TjarF5f@^NMlH}S&?%n^+ zRvd^b$slkNZA?opjB&7Pr9B&V9%Y^VbveGN+?v;7}|GY*BQ zMc2TGK-R&IqJ}&sdijCwLk|!wGg>L#azw}LgbsfBda7WeS#-IqS~&SZk6y0%|IY2S z@hPdV`f_akMpoL*+#YQT1TbxiQ9uA52pv%|>Uq>fFRl1F=FV_Af+~W>Re}&X z8$vj%nvQuMJ=_(U(UFq|B1GKw&{P;JO_tG?g7QJ3g6CehWTLIQBAKyjhV0qiP9V)h zTmK<8fWA0P{flNH;L0&{-Mv-#OFw@^UIN;Um0xsqEJ$vrRC7MohkoriNi4)BJ1vn! zXWtVJ(yccyB=8XQG{7%&3h=U<`-ZZ2@7WCI#%w+ozsPm2jRze71&iJ#LU!DAR*&WO zfV-CL(QX^5desBU7R_<;ASrQB%n$35FCAB6Kh>5W8x7y6j@uegDPQ@Lfqt^B z9L^-vPj|)?mffXfOEXJ<1}1_b7(O-8HFB&BeMH$`G|Tmg>`whuZayeEp7WTmPpO*s zX;Ek+;i32?;WOS!kTS7@Kop#5(#2<7tzlxFc(_ms;{uAym(eBySk(t?+0AJoMHIj= zf*|DiSm;~YH>rxgfR6%z9s_|E)}>X-vf1+^+^z=P8_*%WCp>L4qdj6!>~l_-Pj~p+ zjf#`#dJ~>IcRlHy0okls7UTCu#^^_Z9|bgFu#&kLI@!%;O$4{g;U9!oUqDo&`f$aY zri-5Z-d>3Z_3I-RjLgi3vfMlxAUYi$3y)+79}lRmySxa`SoPj5Y4HR(0zhwQ7nYqT z)xAVT3tGKEgPa|^<^!poZwveu25ikwv_LZ3$C#Nf>@z{7JeWK~Gcvz~I>;r`On@7fJzrqw5N0>LHtSRiq3gpvlp|!wLp`N(O%un&Q`?bK1t4C)gE^H_1oWZ zsvKuN?zgoM8b?E@ynJP+A5~=5S<=c=RcOC zD_HBSYAz$QyBCGh0Q9ATk%@_WqxqggxA3uYrr%Y1y|mzXucDF$T7NNn<1X{R<*Q77 zZ&V-~LBdRDPjzAH+atzwQZ?sc-o6-8^LYX!nI%*kDANLTun}FLUO}gIhx_oC*ye7T z8UM-HM&2@pgGPUCE%k3-9u`#ww&tS{vWtvnL8Kx(Vl=N9Vq2!xa;h@4FvfB*Y6qp~ z#4gk^X{72O@=hq|Lju7I)CX94p6-L+H#7Mufgd>rUiXABJnGWuRMwQ9ImceP$oW zW}a?qB0}>qrh<6`$9Wq>2_!)ddJGaYHRkKI()}PbmA{gW7(Q(6?}iw)2zAPGb+!3; zUKH&@>cNVt#$0!Jh9>-^NI`h-t~N6%%b{5qqoV)WjM z?p9U13Pgtg>G$zEx0r9!lcE(rSb)uPd`i6yTFRNdKJi){$+XzrBkSoJ@bU7*qNREm zTmQP$>l}8l@t@RfM52YHuHHM&*d%2Ee|_>|HsH#gO?-bQgcFIE1x&j}xc3+1Z5( zF!o1}AOuG!4dSx*0D`Q@UE69sFb5C9Gjy}%`ifI8nQit-sgpsy7l7o+=e8Iog|a#U z3d80AO(?)u1pA*)4+-bw(*_+;0w&GXCEaRh8IBd-N2<3!CL}y8w-{Bp zv7G0mvu%(wDi<`MeXsrhCxX+M1pMdVp zFCAaqVOmv8-l1jSW6)mhjL!x`1EQq{i|*o~eJf8+L&p<^{zmIMxD=JGxNpnJuwU?l zt?k+q%o~4V%|;u)jRDDYadnk1kQ>tTvvcw#*TeIVt&?+n6s^oJTsh=R5K#!b+GxSs$=KAkWRLxnV(NvgC55 zYllWK-^_sds7>8Ac^BgEM@G-6#ZgpDJJXA}t=V|~H=VXJj@4y$Tjo$}jqAkWd*{w* zPZb2`St-VQo#=BST$C4BbUyeRO?vDkPPkZvJS6tNMzgusz04ZZGZ*pZe$CRKK!?6v zZ=PNBBhm;v))j`VKZWDg#M)o58RDJ>HV3pUby#Y{;) zoC^pV14nUf zhaHtnxs~iqId_0Fif=r(g2d|HF@kI_v$Z%33NkdH380Y*`a)ZvgVu@XJt-8sA(YWR z6e@hAHkaU<)o{RmH!>hJ6ob5nIBfNCYp{^9&14j)MK_$3%%))D%J~*CD3j-}Dp*Yt zS--wD+uaKYAkueO0Qv(>UDwpwd_Ss?*rs+4fPT}Ty^O7%N5R^qboBFKfV??%(@2K& z|99qyPTJFLtKWpmtNKiaziZ z?z0Qo=08(J9Ya8;DEZ(~jEd^ko4F!1<_P zDQDjI7fo7Y4l8jTvBp@w2*6JJ2!#u#$3W_@uv=ao(N@Yot~WKg0sBP3tM6P-4|gso z<#*QTh-TrQS;>tnlX`AZ2|8(MIMvcTq!looS0b6dXL_{X+b>vM?P{kP>F*t#5jha~ z_7eJ=FY&-H(My9mtykIVGs63YqkX_SMGGbIDu#o~4%1GC?8W-Z$-;j1rNcnhe$eDD zJ!!mFR;8S+c>OBTX5W+Kc3PmavzCrp{+>%pVi#-jBhKaU0(>8m>}kzRjuq;K+$(^f ziY(W0T-#kMAN1;2cAjsQxQeoL|25&Rt_)8dT}e4cUy?j4C9?ernZ z-)ss*~`dG^AgI23S!8av~TCcfPp>lQ_L-%z1kd%14E>*V|{Z+$Inf}&8G_;3DH zeK)S&TL@BB>;qa8_Wppo)!>8DVauB3+4yZ~3YbqG(R%yVHw%k0N5jv4l*0;Qp_aN+ z!Pc-esnRZ`D^NP6H@{i#ODD*45{2?Y*_2`g(geAXC(DL$g5UG`)7Gq{~=xJ)d)--*vJ)g+u|fwVuZL5ZzK+CH9Z`oG>7 zIBvql_t2{m@|hF$wJY@-tkV6U@66__J49j9;lq|H@!itGnQ zmA*%w2BfRbt>e*Z5f5rmRL8kQKR(^xlTM*^im8JALyrMldg>6Jk z{;i-QWf^dcpw}R)bkYxL3277wJvk69@9MPdEh(yVcz^6VQ4PH4!0%SdY+kslG)UdV zZET+`bXA@diMDDrKDtXAf6^RNv-u~G+(q3Ru?iQY`}p2zYtP|$j(;~LwN&T9HrdWV zghIZvSx06^wEC#iXrl9i|HnXbhY;cT^gdB?GTfxbEGm@%SUI@A1tg(e95l_r(HoD8m@o^$fKogLsns0MsvB^bvV0-`s%eY7}{JecvzWVv!t#q|7jGE%oW+c`cRT6T}p~-Xc*YbIAf4beWm_?qkARz4bdEV$2&o{?L-# zy~}w2+TuIlpE!GjvOyk4LL~C?@2`Al&s6`JD!q zaB$^TVhVCMX_!yr!aVx&%Gr{q3}H}e+jIp|DQpC5N5)1=5-JAns=aZKxp&wkA+<>=IJ`QV zZHvcdJntUDRUNdl3J1Rw5=9HT(`h_7STjjB!{%YbGYWJo{VHuh786n)Y0cc>aNoj5 zw}~GPOP+W-|k3)(MB0r*Jjk8c~3v*Zj9`m!Wx~En&141ZvE2y`=4l_^iF0+jK%zyZ;Rnr zZHC&HvQ*yNu{@SzPeXA`(r)Xq3o;5a{rlG+JW!hgY3|M8xvN~ueNtTR-Fo#r`0GGX zZLdFgIRIJ+GTgtGr`lT6q;}O?C%?axgTn3ax9j{XAFi^Q_EzO9Bytsdp8(A6zhk~W zc9ktpvxichpN{tf&?{Z3JW@b|LdIV^7Jsms3mH?bOB>!hfSCC}%2yxZUD*gK;Yo#Erk+Af)|eZLl|M%ijuCcv)-ut=ZbH{Vvpbps0YL4vUT;20-kRWlK`+2Tq zux3IpC*{uDFSlyPxaEH&@-BFMzeyr2FyOD6NBt)1z<~%OBW`&G$4Jb;z}0exF$C}! z2A-{r5wFSP^%sTQ19 zr_2pCq(?V^x&eTVQ<)!yYQ>MDYZvQ{b&Q?#ww`ZgPxygq{6e?VRuET^T>Y&Cwm%rr zv%6##&dHfys=^?UJ@TBCoN$-k%VnbG9?+TaX0DW2JD_CfH8%ELFK^hJBiig5c>j3e zx;RokZhHzgaF^zzBXa0Tt{pNi71D4@tMgmUh8kz<_c&HzTGUS2LYNucM zN_rpelY$WJWlGZ(_M`M`baJ0gFzZ`yM01u|D;JNr%Etmc`J$Z5Jx9FUQTg>57#t{P z)Y2Kk`e`c1AB*I$u2(`*Mm(MGxk01@WDeRU^Lppqm1Ej@T}Ikjan+7KJ&JwHtzj3W zxq*jqj;AqQKvhBx*v9iH$H{Evgxzk58bS-bISojt^XvNTuHnHj@r*pp1*=}ZgD_CZ zlgyImUbqure$M5GbWh>ti|d6t(;p61$K3jr=SErAwzo$Y8%cq@zcU`8`iQu?i&DK? zPSbgCY%GXV()qP#(TQv@gzmTM!Nb-!Bo=Lcs7m8#jfhc6=++!bv{{(A0)Fd-d>VJF zWr(B>(HV~=xXk&VAe(ZFBd%$xXzyGX8Q2>xn-y@GYiGrKg~I$3(E3KHJmY$WX^+d{ zn=i``ea_w3V7X1VvJ(K+_d?aRzettUF!j&8l;`P3ijcRmdKq`TKxxp6&`E@ac`owN zqgUah#mNL`mOwJy^1S(Tn6VRLwPWgB4=Y#!29>J!#BF_3f6Sn6uYVM@BHE0OmUr#- z_t-aw&$~U|a(eLK!7Ge}MxVgE_!h8F6;J+hBZ-b2P( zUWh#UL@IlU?gLFjQc)6v`-fx?hipvEZ;jh5ECZ#M^FW&0p7N3Oa8PCSn1g&DNsh9v z4Ck>X<$nJB*`}2Zc;Ye9h48}$A0dl1rk7=)%s@V8f06;zGE{w46cuifI7|csKfF}I z2-asYJ*9pXc3&t+)kwL`j|RjoL~On5b~YA(eEP{8`pllD4N{-pBAJ&U(-}Z!Oo=3j zgDyxc&UN;ypr0S|wT9t25BCc#8iiOH9=;6^9|Rr-r&xPhvZQC5p%F&);;unXvP%>w zN-!c8Cnqo4)en-xwxUzZ+&mf@_D!NI>^b1ti&{u?@wthMGD`9aduCD}=~|({x;hA~ zmq=Kk;ExbcHsjy-zOTy){4T+sD2!9FaJqqWX1(_Sh?oI+@klVkRp>x*VQ=r`=~wq9 zS3XCN6gg!WdAkMu;?ce2J3hUt80BkF_2kVPzkdc=7$j;C5qClMGDzP6?&MUQ46^?m zJs=`$q+=j{zj8tn4pPN}FM3~wV%B>sdgAk09?v9<5eSHCn;5BG@0T^^ma_+W?t>m= zA9GT=NYSi;TWHhgRzRawhe;CzyF6F9NQ%*xvC?c>Me?vuF~OP01uEs?$-BQ-Pj_@- z&+)J$=m7)C>lmfcJJzEWOdN-LZ=Od{!IrM=v&-Pq@)f6*=JN53bH*oWWq!+#Pqvg% zw?knO2H=X_<-0ksB1J>_s0zeqL8@ycYLj&CFCh_BIm|?HVl+HFsxdWt{E}O3W+kKZ z;tTK1KHWsQ*^jo*Dq$)XTa+7#CHaN;SoA2VCX12JCi4-a@B^;CKEc)aoaRa3p9%iV zHFKG^uNC`RbKC?2%p#0a-k_eJ9YOR=|2Dyx2eQ`SZtXmnQ!ce#9Ni zPH(BbA)9g=nMU85ofWLhC#TkShf-YiVonNAZ#!#p@Av0o(a}Q79h_^+IVm_=mff9E zM=1ZgpVQrhbf{c7+-w$~E)a-`O+YMe2VJ;c5VA&DFHSsf_~M}I%peFG+3q#?8+mN$ z5bU`$W#x}+?!uIHFOv#i1-<^9K@{vv2DKNdV%zpO4nsHG!`rN^vxI3& zlrmAL|nvh1Syeb^(f$D>K!95Fw)+!5abip+S}7^SB6RcvSReuV)I#AX7%*J z(|b<6VFkI*n23l}koEo2+KL4wAfK0h)Hw8gri;^M0NR-pY{ylkxNQt^yeuRmzc5hR zpF9AfnxT?@b)Z5e8w6FdwYi8!PrsS-ThG0dc$XBD)ta1;9q{Rap~UiB<96_G{S4K6 zdf+e)yn^aloK<@XAwkkI?Bq)|UE96eSIjH44DnV!sdQ!ld2%0bI)E_TrD3}?B!_Y0 zdXTSSjTR|*2`cUYuMFBuOa5wO2B*8Oc2WPS^TWy54tbhOb{5O-#E9GFB40hCsON%;G z6jpn5GfYjdt=2B4Ol-c5`_&*aKfieuMj83RvO_Qz1e%+8N#SO2RsCc7#A71!7Oj8U zQyMUA%6RWw{m+HkDbeoRW}pl0qHpWy`ht5M=rbdW<>W*l5Pd)UN@8`iueL@m)a`GC zZSE^JF0G=pFa|emOAQ+I(1f-$*_|&bhhp{9hKuj)HyidgelQ(GEYz&3%#WAnPmiu) zc@Fk^*ux6B3(D1#=Ia-0%A$sW!Wjq*Jl!=voDuH3)$EDmG~P}hMZ{(??e|_ZT=uoc z_9c!FQJxwv^7Cs=VG@3ztn4tRa0P~OSDemA4c?lU*y}?*JK1!m-zun`vj5@PAQc{Z{%jTcrpH;5oJ0q+1jCHQ* zlk@bZ1<|UQh8fS+a&trwLl6GjOU}y72Z!~$#woa3qv*kKzs(noIiw=!?{s?AYW=0* zJj9{O*s^EY>CEmbvtH68VoK*>qw8UQuG))!HwyjswDI8d3C)As9Hd-pNNR3mZrLU4 z#f4dn{Y&1xpQ3Q|H?{HswXCZsghQ^jLvG!8@7B9~ufvZ9t)t1(hJ8$XIjs_5iz6xh z7bkXpD%_+;Wd%uX8mBCXE+FmqrwZ#alP?k!8ut~AqgkpOxUj-gRj~#=v6Fhv28xdR zFPTdOl3qo8A;`qqS2Qx!(_=NDvkNqC)*M|a+_PI>sU&x|O0>BLrl#!}t8En=eJ5_t zOF!r(YbqCt6@p*T1qoIYT`2oabH9~I|Euxg^0}R2W8WC10P{h#<#l~L(_v#PcXfA( zGIF(|j$q`KV7O zZ{2jQQ6de*)O0rZz`wY^t^}^@hI$rwa%pE>?I^41`C-<$&IngLFCS$}x8kjcajaB{ z9Y1(gnalgbrEY&j<3>OK)OOd>2pcUHfykjEmFw~jeDW+%J!sA7P_3$&#jw|}?}l3) z{@|n4-;*SV>EwU!C!HEG73RNRqRG=~i$rIRI*Ru$=7Eo{jVZgU&N&`TotE4Wm8;+B z+TE38w7dC66U~h;tI_T6c+gu{r`C_z7po`izm^zxSTMQ2xV>cGLB+qaN=u-KR}3)G zckvp6nW%ax$Zh5)00c1x8@r< zA)aMF{BW9`E2*&J4vRk5rIfcbbY@nf^wiy&f3`|Ur+RYxpn!-^PLL*uso5*#fS@T zd6XiD-g;T(H4KHc2H2|D-y!USrRE7OSj27nPLc8=>Uz6PaO4h_>RzrOYy0-4cHBuc z7p}~u0d>xjgM*uVXX((lFniNnVm$T|t$&i%lCq(R!r|C3W7h3#sPWZ6?ZunN!Keo0uaXjsfbEA#>34PKv&6l+F{WR~n>v*v4A-O&Cpmn*j?y$&cy`?&AQuSU~44nv8iiPr*2*sKVTz<@1HQLnerSgMV3+I6DYzgeu?{;P@O5( zzGlnVDiD^HHtRpai&UCuNA-dFeP{zbbOigXR4kj&3=;%R;hsEI^z!gnfm%qKw*n2U(fx$V; zX5l-C>Wf3G|5s1OnWsPOr zOdM6T<0huDt8lr{ZYtVrw{1heMn_l55LGY3d~Zx49?ogJ&!?t$5zg)A%eefUHq=$@ zOn^=1&lN?nGf&Y5GkfAskxE@IXH{98P+y)Wg`a5Vt?=gY{-LBd=lz$JnTH&Ur~)NapbZ$*32Xe9Di8lQ+xj`hRfx^u!O)D(PL$|G8cYguu_Pxf7@L? z`U1+e+cL{HXc9S^6pxAFX zuGymQT->ol^*;Nn51GOUi9mx527}s>I^t*gv{2+-gPZjt)HMwkynl-@^>0rnKIi3< zozzSQ1gn|Em5$U)7e0tPd<84&r)bEt?9l|8+}{*xmSXa-i?P$zt^)_S@Ya(GvOX5v z&uvt+nu<4mMo3FE(=GOHjJ;0)4MxFRsC9-9FrB-_h=<|#E<%Ze)@@-p4lOIcLl`41KF^c2M6C>A))=MGWr)*E^sMas2<*QyV9 z3|e;^=f`R5iH{xTMST~lqYict*B`bnSJR){`K~(A@8s>1g_+o`40mPd2^9l_!{>w; zTPN9OJ-y_2CJuVYYl8fx_ES=3=ss;18+*bBVV|d^H*XZ zWyuG44Ir8O8HpfEUMmsix0*k_HWSz5#?W|(-d+DLanX&zZ%1Eor_WLayap)d*?MuT z&uOpoO}f;sgsLmUgx?FLL#*o9n3K0X`^=7`?)zu!lZ`8LVUwZHh-Tj{569@mD*~c2 zrMKo=YlF6>cCeeS=ll0(7bVew0!d_)(n~!Hb6baMQ3osG$^E5|<%E{+$}8r9}c zZVfg%t4wU=KWA(;K9nS1+gYqmo7~cz&>he@Xw3_obgy@aYnUbzacA&5c%kmMR@*8b z##H5D0Nqryp+s$d$59km$c#pB*4%t*rdp~FlhhzMnWQtC#i7G z>~KMXu{FnScc+b~0X6vo-8bV&IYg@|y-$D9g&{68{1E>Yb2HU%C%?(@#%gd|?* zul0{99)Z6uxLgqQofTkR|5jWcHo15Zsqadx7XWM8ek-ukJ<;XPaQJ$$TD{N%+YmPS zxUnL&al5~tv31esnaaevPtqtl#oHO~x3Syf!XWKD{jOm%qtczhSXBQj>p}C^ut|aE zdiygx-$tG45EQl7$--=BbA0y?NR--b+c z$<2D}!tuQZS;kh?dkyJ4-alWoE+;O=r?EQ&j?&{!-kS$?QftqX4lx|p zYMIE4@OagO5u$ilj&%)T_f5*q`flx+X6aSq8!rlh+0htXCIn!J*M7HyZoF9mfG?AHdub^ zB1T0w+;#28IZwb+mMT}_7oQ>x6ulhUYymRay>QKCsyokDb@}ZZ;XkziSE|x`q%`n_ zhd+X^Z;OzR3<}LT)pns+^eVoVJ3knBQlnj1WLIk2%MDB^Qx$E{*K&$5jl7|(oj{gQ zRS!esL%h!1+=k_I(@*n=z-$A`+MtWhW-5ch7C4OzTR8#gl-Zp$q*`c=Hovn^Es=b} z^pZRJX|xj>L#0G#+E;#SM7vdnA&0|V;*3&;E!77>_#g#aA0C|?%<1Z?c+qa%)S)r_ zCE~UQ4bYux7k^^lb`?@*eqv0OB+T5l0MMP z$4hWMe|vM6CO4Me#^vm1&+3qG+*BHsp3*;FxDC#|Hxn|uD>T(PBh~0@)U}u{+jxe@q{B! zh3>zq+*KoftHA?S22je7o3dX)v0n%|rwP3EZ-PLEt(l{-?+O9F@w88Uj?T7*fmIT^kw-Z(&9BYqZ zEzr5LZHV9jEBq)3pg7sCo3(RY@1iyMR+F~OJeP%PS4KZOz1DC{ZWTjY&#?FlVrIiG z6QjCmAMj^i#>ts#9<{Io!;0*TREH#?@<>wwaIfVDDk^s}1eJFs0cC;b`&!E9!Nhj0 zhjQnO8Uj^+&33YN7h@Zim%S^Ts6TECXZf=-PpzdyTMOt(MMIBHqF2!sdQN^=@M*r@ zwSZms;%Exv*vh7q<-iSv9FfRVHW0LG3ZjQVX-HXzXYRN6z~)(~x{+IwQC`5l^KMlW zGx>3JK7Z{F@qGz!oWQC`u~y(0iV-;veQ7bT-v-gGiNT%gVIJecoc1cNKh(oRWqsj>p#eXShQokSfyn>Ai zw0HtvRTgpwn*Qw=s%SYUW}lgRu(8^cU!^f9A@$<9AL|DH3zAm+oNfgC^S8vR0AO*8iQ<|((1Rm*E@o$Uhq$sicf)HLGP zUu6>$6w9r(D;Z8U%chp{p5~{Q@AJ7DV*zGbWN^rj#_2GOll!-_Qmnmj>TuE)xV|?fBsbT z)8<=C&YhpEDLB9Fn8)jZstk*pF8)M~k0S63eZHzktEY^75KD?^HFqp*0%Z*275#OA zdTl_2dRHuS}Fw5#U@48a*YEyU_ zaKy~!RsYE7P35dSt+SV@yh|tgA)N!0HR%+IVbLg0W?L+VZuLV%grsi}2*bg+gN;#z zC}rfY^XJX~rIhgtDgR_v2D;#puKJOo5N%Wm=_5t7@i&GWBn8BspJ66IuNhbqGD;LT zX{_JNdN`>rcb+=V|9(laZPlNHB5S#fEM|~1D8Ns+lYNI`MN-E)VZ)09d^F_bNMb2WQSGz!@0f8J$zF`L3lkrl6j9AE#YOm)EsVx!61|Ir|-;3XJlR3!Qo^AiZ*LmZuoVLs zr9u6S2cO9l_}WlWczt9?*HSw4W>|&xk`g@Np*07d<^+rej6DZ8p;0G=ORHaBSC2BN z5hyZxyGD?{m)ClD@F2zFj7h}Q{;!l!q}$)n*ZE&3+|!ijfXhNw;SRHAq@A1R1C=}d zkQJvao1DS|3t)Q!u=A32&)>Cbq@eZ!DT{YXQz~ZD$m&=g%#Y? zlN6SdERCk)nF28{DA3CL%qHfE@lK~avYNmU~fXIG*!{FX{t$TQJJ0-;bYk#1h%mG4n`UA!K?VF ztu0K3#~DpAjf5VA1KQF@Lp!vyrN%E5-0M8G9X$?BQ4uFzM0TN}&Z1zUPQ~T7AxXO; z#SRo2jp?>zAN@k3vdEYm6+cYpml%-#)T8-`uo=Au!^n_z@V1~gM?0A6r=&0L-D*C# zX#LM`x>Jt~yM?s!RuRxsz&y?3ySl8)NF9KyAWb3jnDqSnn}>T3K_D-+2QY+2=>K6x z()OFQ9b>av%RB1}mE%19zxQH!MSkTP6fAx(fKjH`Iiijuq%hcw;kW>t)UBmSjih=z z5c1~~^N%cXw?bCy!A1Zos|7w*$GebgKzVzGx#4@)Es8Um>TqU9q4LNyUWg9m2W|K&?vSttSR^DF^IC$0gJ~R z+nRnEP(nlOeABA4PEeK3nH5uA+-^(i2t{Ic8uqkb+|32?ZW^Rm&%jU5ZxCC8x8ID~ zROY%0DZTd)(W;Cx`$QU?Rg8DvJ_q9lNTPXdGTv_q=Nf?o92wc5C*4R= z$IIpxfStgNp3U2_KCGzH7`S$@LR5%acq{f#8*EDQ)gPS1bvlLAOPVqPFctG4IE%{sV??g_(OxQv?3x5Mp zJ{#K%g5c*#i>DFyDBR9rh6DQtE}25Wg@Q30u8_=715NAM=m1Q;p$D~xp-gIvrT`oZ=nN?Ax#R*!()#|y&oSS?RpV< zjg0$^=Khx)mDz!4ThCGQ3&f?Q=>6o&{(tw6-&Z;Yw!InmNODahPLeqojfvB{nYT>R zdHt=yp3@g62I4La7dvv#N$;-~&TsXc<`wmBjX;(hwE=^zaT62x&vO8WiC2lFd11V% zbfyJ8hvR3tKIF}fF;&ZXUHFBW-S1Hfo2?yRQi!+MtUsNNlbI{xZ3bnu>FHaY>1_4}2PHr3=fhKw#4%#x^ie|xVm1Aq-!*KlM)_K2Ei#wIw0hE*M6-}3FJVV>7U&7yK9b2`gvUT zbcs*W>q$gZ0#zR@1XE|5i?ICTtb{>ii~|N3(4UgI|F<7!yAtOUYP{akiAQ?CMx&O+ zq3?ou#(@G*DEB5v`WKd(?j`hO)F(1IY0?eD( zu)se4ffDv@yJx7N$A=`O7v5sufCNcO-Vx{P=Nh4}Gx1vChW6`@TO&A`0X)c9r@Q-~ z8@)sKyt5}XPxL&Apl43moSU{2*0CiVqwgDNRLMdl0`4ZRsn!PG!EWewHHtY<% zTL^yVfAU=lL0O<2;}@$truQHpz{Er_{mB;%xjsB__S$NKP_9NtfJJ5zaxAJslx(qy z4&U+-mpGI?G9ZZ`jmbJT0z=s!Y*7eH5^Oc)<0m~LxO8}?=_u&(F5{1U1DSB|K{YO= z7&RjBi_>I|&P5kx71(kpXCa0)y?CIoGA`F4h_b6|av6DCDL6Q-0kf)4r^t;M5=8UO$}s%m@kLb6#N1 zi~eTM6`2xeUX1{pQRB>Cu_C4lKD>#j$YXh0OiqIwcH^Yb$Rgbwz-wPyGlY;iL?vE+ zG*^n$azMlS*7DH?unkwFu|c0PYKgE`C>KvVI&R%dKf#BjgVw2gjP7)LN|e8Vhj^4= zDtOJ06JjQywZfHTR~TgBki1@nc-2HP)*e`a)DO0~m;dt(;#`&CN09c2Rk?;~HTlq7 zFC*htm2eOKLuMtIGzy4WDWLlo-EQW6mw9&smcgxf9Goap79%Boc?Ey_s*)b?)gsPu zJm-<*0sy9KdUzqY=^v{mTUve_G7V>rff(SliLLJCWR6g(I}FP68}1}F)$11ePr~~O zo*m(wk8P*g?_%HChj%suQ5(`wyXd;`spKJ60Vdf|bLWrL=mUjq(?-VvtcZy@LVw(8 z^*$~@jh*QoiBX&2?H<|OSFN8PJ4bP@l<0R5SJS8+jo$8!F0jp2`14rj^?J0jx*@rO zYFEM5vFgSBPwEEM%2fuz;mx2EP+$Zmqx#>nWBz~I0yH9z7l5bz5tE?15EbZ-D4Jz9 zVK9*5^BW}HNx%n_mKw=nI)5BZVIwA>AZPkWR7@U*5}td0nSX6g(-J$OZ;(g)-M-HF zp347ztSiZFJ*T&Kq>1X=tAnB*qC|$`0Rl>eqCdRp-aTJm?$>%zM9~Jl%f7n?_K+xS z%!4{nNKV=}z?pi5+mV7K>qp~F!abh9-(5dw0k#CFvL-c9yUAYv+dneyx!xZI+&}(a z+tLTjd$=!hl(MYT(%0c8d**{Jcf0hTq?Q-+q3Iw|z5f`JcYTF^tuu=ZFC#09Use52 zUK@*(As^t(btZDKVJ3>!3X=RV4L37#r?x*rtz3IcF9}lG;*egL3BCW0lE#%JD}BdJ zN7pd*e4!9DxK|5#h)v&XXBVuy7P>&F1h&)3%QC?SH$C=1XCjdb4lPjH^`;DI=l%bN zWAJMOr95olyvbS7`q9B35_cfJBmvm7L&qZlJc0N?Tz?9Zu#j8@q2AJ*?v1M~Wd7$H z%uv)TH6)7;tXehKM4e;Bn!J7CxG!hZhPk0;j5vv%&oDwvZ8tldf%V*a%R{oyXJo)?&HfYS zFp6oQo=-z}VdjWicj-^_;iojiE=q11$oE_~9Db>Hg2qKJ4zfvLJH1LUc^nYqzc@B( z2W^%<%41qH>`$m4=PB6|7s;OOuQEbaBw!=v+iQY2AcA}kRgx=V4Nt*mgfkK$cQ;6b zA*TdTUXAm~qyOYpEF5~SSHPNoaY|?V*>x7ME$+$Bf56KuUyr%NE+vldD#VO0k9pRh zUQ`7+T<3bKx8Mo&KY1GeGgPfw^*|II0VpL4RV4%aS(L@1f=mEwy0MMPV~LqNPqI+p zN)>4sHP9~*dP35JZO1y->0Mh1z!ecC=)eh^{}?!Qu`IycRTv!c;%z%pn3S)}aLt{( z34Tkg^66~B?^ud|imEfT&KE|rs57uCL_M@l;CN$}WsTCxi_)H75q0o2PGC`p`n4{f z&?cy)7kj%|&^*Cnmqk9?xItY{ps+9!mcsILXV zqGSI#qW0E3_KB;?2AxrkJ;B+~p19 zU}nLEyIHeYX@#Mqi53D6?=(kf$i^Z&c)8Cf(+1sa799O3I9l`VA;sViA>)eAbp1Z`}m(^TMlUx;kF%}YDnyJY>XJ;~CpwrJxQ)Jz>ld`%|27qcrGHr&O3Zvq z)x&L+!WPVJq!RV4fAcol#_COG8KZ^(rEGczjt!4eDueu0mG2b9I4DIbflya_Y5NnJlzH?AQ`yLOi}Y zU#Ug?&Ln&EGC{O!RjDP;UZTWaH8v&^{9mB7TlRNbREY9RmJCp2YL(G1M(jFA30@6~jJnb5 zS)9otHqoF8o*NO%Ux8M-(@zmY^$trAl;TTkZbaZw&`pi3LeWGdvp$9yLZ`n>5pUy&U#rI@|^jc2t6b1VqL8~Et}IV320Uk4u|;c zF^Zs2_QZ8UjfaQP{bZep$*Gw37bW(UuFi;$McDk%_%80K!H*6W8p(S7K?}Xi5bH5KA_45CqTos0`k=42FM~IakY9JKPV8j+xv7i^kdX4Y{Sxdj1tDe~qd2 zk(xs(r+Z$V?(ALpDDCwU)Tbg8!rl-!heF|~PJgTkNG%``;9T6?MwIXMVpq27EG#U_ z9S?oGy5@0HQ~wwYGHabNVXLNzXR95F~Z2bLp-1EJ43x3z3JRg-LCY3VW<`r76D_xsAKJ!*NB zO})#En&lD4X^T{mpqn1FuSjtQGN?}u*`459N%uS+g!}C3*F5_X@QL>w5;?UyIZ`_P zNLlH3|Im;F*zAh=4#6&BHe!gk)Lyk>o;@+C@AK#L{FLlr%wUVl5$Z(ZD#Fm`J{Ftf zy6~;8`-2$sA~Ad}i2lM%%w~gv*XBYDQg7dv2G)CJLJ0C~0d*<@A=@cMvTKwP2y}KM zNd3>ungPwGfh^S=X*|@PANP4n5ooAWAo%ECJKn53KqrQrVP_X_@4}76Mja=E!MQow zt{$fTzCL+I>4Ojz>BA2T^_x=l8|8(XzdH7Xb{C2p69<2ff7lq``e|bad!&lz8$L!B z6<^$;@FoP>n*4JI$@ag<`e7zpQ@(C(eYn8nTW?`;p}oRTzD%<2I!(~c(G5WfuV@R) z@LVGvTi=8CDoLIXjs4aZsalJ#doMAy33f5Yhfj--)OsQ2($K#KuZw5sNQnX<=AUUH z$L|Jp1_#D=iBVSQNPD{d(o`Usx|kTaCtOb({3_ZojR{m8`2JC5`#Weu>- zlDpr;7$x0MBvodj==7~OPcuAM_g=oJ!EdHqlz=Tq&CuAq2_#yK1 zd90jQ{N3hj^rEA8!O&>_uE=ei&lu2axVePbxRm}+pPbNzDLNT{KZ#Q6XBgtuW5_D$ z{P=<1KdJSPiQ$GKLEheU=V49$Px^l`^;XQ=*x6NrN#<6*2kcyT8R8bht?leoG&RYE zq#7P$^dly>_$h5oUOkTJ6I74-48$bB#L(8(vaHSXhQpO0j>IA?OM!Pdqa@}fvW+jI#C%#l+E**D%B2r+&=?MLoo>lfhpa!C@KRd~FS z8oC0bfRtNZRc)_e^cb%y8I}(Xo!3s|<(y!OBPqrzer3fVQw6$jYJKah@TkuU{ko>Q zn)OE7@Kyt5B`b9s3-$T}0EUFHOVs8Txeb;)O*K_>T2DKhk=Hh; z^O+E!VM2>Slr9(z3Uv4SP7Ml|exz;CM2_He&t115(~b(m(C{9cr%zLWOt7U)+#c-8 z|C&2HkoOpY!$xg5@jmG*^WX=-%nIO3)cQxSKa0n@TazL;$8uLxV9~@W|5S2&N)};o zFVAOp;p^Jk{jRRDJU|Oz`Lxg&Yb3!V2KyFaD4EY&z!oMOgH_~+yH;N2l1{tBXFu%r zD3;LX`W$UC{DSjYY#fn#s>VZ1#Z9xV(<;T-Me_CQgtydPsam(#?E}AD{^C@?TL2`O z{VxU7ASXpYR6uGj0-gIP1I1uAz#U?ks?!eAG#AiV@#6VE4 zPw?e|e*R7VM|;Jm41l6F#K!kBii=4SFWlA1pe`(t_vTG~!uz3oL1my+(%ICCUl`pl z!XVH?4GeOwa_Xs%m;v8qmzO_}8lbpG%ik6H{e6~FOZ239O#4=cxwlw%i-%i3JL_n7 zS$;yj=nJ=PSBX_`Az70=?w}?O`L5MawV@UQi~LnN*Fe*9R}>qiEszts&;;=FsR&Q; zCJ;Smmbke3v&UYW7Te}}4ydHz-s&g2dl90_IA(zq^nZvHdZ%# zJ;Cqa$LfYL9nPG0sdBYyQWcPJ^{Z^bbEv_@A9HGPO$ZPtNchK17Y;1dWgibokn|CbB*_tlH zgtx{bOsc4EMi!AXNT*ug#x!OSLKTP1mRZ$oj-hVXxvAOdvE!oG08Y!|Ip|p zcveZehV^~Rp6kHeI)A7GEbHxy2>j##%<0NLpU3!nyV0*hL*vT!9MNtBjA+=^AR#&R z-V1s_ubsZHzU~QE*V2i47@VHUC_0+ki!1mCuf`xEd^$xK@zAK@uLv6nG@l5E`})Gl zu81%k&oAsVR_C1Y;JtmVGeaXB*%fI$(qVqD+Mxk=vaFY)dU)Q(KHIutp-|7qesVe6 zI-R!wrEMG30u)J%!Zje*C?g(D%6x^WDymPVLc$e~qoYNv+&2DgY1v?lUM{bC@jwFw zFm~&*8;BOpoRcvzHdrcMl;Vf6DwdI?5*%+g`>Xn#Ebayfz@+?JPh z`c?pQv(|632*ik9(0^Gr&qMt_`!?3ud{iaBB%VcxGtsahAT|<-1TXA*w3*+F|MjKv z9zDEQxWRpL*|BV|?uDL0)LUG4I-3>^aGm0)PTd9@gPTK0@Z!C%&jBA*W8{E#`1d=& zcL1IZPEDO(*>^(n8xbdJP^;4^z3tH#fil&L#U)>aQSytJfy~V9H=nW8B+CYy37kMZ zOU@oCy9wrqQbs|+c-|Rdoj!z~hYFE64J@gu*XDRyULKkA7@xAr^QG^2r!9bOck)K^cSVyBwrbdh8xS+~@LHo+gI`4wlmXD)~^W?IfhIJPcURGHU3Lja!TbeHBgOaT6#quowT@odebd_&8O{d;yF63pcD zT`l{>v*x#jn2by55~f4jS1DHZ-)Pf!))`dZ80_MVcG3@*W^T9Y;i1guh@md4aMR}G z%qee>D!joa9|azV1m(9^RTpNQ&cJxSv^;gZl-*JNzmUX1OG_DV!R=s9l(NncMMV_1_w` zf@&6asJj*h{0-`}wi$BftCp6p}R#o2*2Yi=n4^ zIS0GSRRR@J6+-$*MB??hk>~Oxw9<>Zq(g#N0Pz8Mg|m_S;>6YtpkYFScY)!{0&z;PDxYI}cl<%W$t_P-YIh?L8 z&?X2HgN+ljhf%Sy*3t(SF+zoml(u1FCG)?kkz)MHnn@!_VKTd}*1zR&+C*##3MT~T z-~_4-_}L@431L)1d^T4Py=GdGA_*spRU21-dv_Nb$wKw^BV3AABBM-u@LUguSm9-9 zj(GQh{8{lWy?RpZBk5XeaZj}E7lHz4MWjFv?|1N=Bo*zva^|*tfoJ^yMO2awfR%tS zKm@W%3YrkHI0$>=j^vZliNLaM(>rRH&I8)tu4nz9;`PrPWgF>(v z2W=@uZtHU%vxA^{Q8hwWgdYA`$q<3-to!Y$2}*`Mav1%ler?3dbJ7e_;)Gs3?JClx z(Y|`>HqOQtrTx}M5EY!RMzUC+<2qYQ?5HSeV|sc>rWR}(VYMHaNXp5M`whNrP^qHp zj{A5KINu|^yKm`&<;*5U3|Y2SR?F`~X&Lauo@Ldf!~u;G6qUP`ZQZ`fI<Eq&av7fC5Oa_O}QHRv~ zKYc@W`rT*hH`4Si4@2v(UHyGaE=#`NsIuqaV5l}`a=}FBqT9m4y7#>Wr&>*Ef%`+= zo02Jx&5P*gs=jAmexW;QqCV`V6qTflr!gwE*Z=WM?Z>nFfRCPm&FgQhB`5oRcj(7= zsotET6VDqinLkhVEXaV{T~YfphQT;|n`GPwHudzY6eu$+<%H zYuYO1>u4oS-Kd(Vonp|GaMG0kvIwJ4O@033pm|ixUs0z$c!3(pnG?KULY0rtPe*CL zB41N*XNSScXq%t43rg}UhlAS->t0zb0gIrb)aJaDYdw<<&yu-uAaxa`!*W@T<+28^ zZpO~eN>ConmB$lHO6RBFs`k@d)QIP&)O4tnDDEWi6Wk70JewU%mob*1i(~Y6C!QsJ z&3vnOuZc?eRQ1#1?2nih5Wdr@V6@(P!$B7+c&g(T{r*Fd8KsIJCUSeOce6jgd!IcU z*%}=`GZPyb37P>trls{*@q9kDN@ybjG=t#!Rv32sG6?Nq(9{=BefI_rdglFce48b& zxLHgS)M9)$NV@Yx8?KpC5^MuBr@zXr@xMDuyi4w;l$6#A-wk)433i_j=D2(o{IJuV zXTN;bz89U3k&nY{xqS@s#|N3Bx5~oMfh7qeYu{zep5(2wvx$7eTa_60`}YT>Rkl1! zyxqUnPT)r-#47c3_OA(lOHuNu*E^py2wu8gJ(e8gpRAKTYu)FHW+rbzTsiv~iEv>i zTYCF2A|&sq#z-d0J9(>0h_M^QYcVQNeMKLSDI2LPo6D$8jhtC;!4JcyHEmXceVO`0 zJkor_ZkacAsa5{zO8**bJnB|un$UKYQ{>zEvF?JPiN-p&TJ*yw1$?6Tq5Xp5{^6jp z-k-ZQ!hZz`seBpUe(<#Y-+$}@DH4jl1%2Zt%{u~@|5P<)yBVDe(5y`#N&3Y9j_^Va zlE&sQYY+X2Jh(FXsi;}u3bC#n9hSZFETDmVFQ*Xx6c=hl{otFr$Pa*^za~_qs;|}` zp|g64X54 z^v4&#pALiGlo}oU@YV|XD~^tyu_-rZ5Wa}vIN6)LbyxNyFWFJ8zzq+QVt6L}iw%5g zCbNUXc5R$>qOHRE_Qe~nQWuX6NkjtWMTjlTld_rh3KtCDB__o$fDj4Jj8a<9U_pmyO+K(v-8k z_!H{0qx@XS(y-pEf9MMj0VNpU?UH`ce=NUEg($Z1slkGeS-Astv3k?f{Abmnq*X&( zhqG?@`!0L_0IEC-Y%ZYi*qeVcz%B_+mj2&m@R9hYbUE|}xEq2hbSU@>D1(&|kP3hM z@~ALA0S<_AAGCn z%4g^^H{^}pE(1>a5CZW?l9s$)*1=}?y_&Q3ik3%zkqyODCQ4|fUr zYL?d|wen0j`)I0ZX6N7~mQ{g27GSFUr?Dz&f)~v4SbCr6O%BBVk-8{?nGK0@$D^)q zAhSm!M!)>o+GK3Rz3eoTAr+FjNIgvwI9M-gXQar6;}uDKWw-BfpQbs^<2uf|$LPnSUikT+4Spw^>t3P2*xlDPW=baX+66^B-Q*}^1>;MO5Boo&9U zA3Io2l~0oO|L)tdL_-1T8i*7g$WVNoHc2F4{%*G!LOM#syBhJdXG3ka3&{F}nz95J6*lPPL z6-gVLCiCx~ZM~QB1>!BL2?}7UE`g!3K{w?x)a5dMxWv6evoTzF65LL3#`1=^#P$Ev zIvvZ?ui#D#W9T6AO--MD3Vl<=$wDNgPcA^`3|_ajw}W}Wk)M8ea_KHf$HW!hP{V%= zY(9b3E0uXmU7w}fsl9o9jIg@hXQ+Lp^@HRCFNQu=uVmy%JplK@o1$pk(A&;p|+KS5#E! z{JfS^pj0N75N++rB4*3+aPJm%DG9t>*oEupWTQ~!96ZLDk&(-R4}7Z)f0F#mUL|UGx4p`CpJP!UvZaetPmfF#( zNaLOBH^v{2hS8*@`0lA=<9IZ|Ff9dz*xXF>H{Toz?qNDeNp{vJ*pD?$$^ zTu(i1XU8Vyofc?tdmGF`cCNnbaW8&l+c_pOGQXhUMcZ9wX4UN3Xru?h&5Q1n!kPP} zSHHZPSuWDO$4jjt$^gKgnvYMGjjbXeB}OI{@&Bm$3a}>I_ib!N1YZSIBn(1Hm6Ar0 zPDyEzj)BDJQeQzuKt@S-j*ihxK|q)^qen6WPU?A}HvyMbU+=3QQ>l|vb}|q_zpBvspYZ7Z z`4yzLCw?Hsx2UbI2GyISkUpO*;e+$23)9rmi3XHH6^1b*Y(Kx9FH@j~Yr~OX1U#G!64@G$Pqr{pLiAc$2tndEQvV>!&+K{inDQ zj}*As+jRvPbbztSdPy6M;^C6s4Gp+-D*HdQ=ilOJDR;s4xZY&B{wUltx0@}zO;b%R zZDV6Y+sLS3MZ!C`q(nhPMC4=}h1;FKiZ*Y9WXQOa^&St&F_9KCyBaj^SVejMyw0;{ zxi@8kIO#*$S9jozjcRB#8qf%7=vZdu!{Iu{#+Zxu;97UI;qmbR=$lyd)Qx26-|8rP zaJ|X;+WU(JzFy)l=Uw7l>N?qx7j92r9p2cXy-o77pgfR$<$Keyad`>Bbn(R@M~LNI z2eDgYVI-ruo|=o1nv-!`c)v*Rj&`xe_sNUYa6JKr7)UT(s2uJ4e`!O562{A0S-?W2 zbi)%9jpk-&@9^=d@18o<(T&nmQww`g{$P$kJR5dwvBx(?`S9Xjb?;?DHV&SVwwX;E zRkMbbRrUjZesq?y^NSkD7_i4cN(B^J308`E(=$GN6ahUf$_;JtZ0afg{BmAZjVtTdp0Q}_fVyrdAbg7Zqym5204OeyXzGxi_PG>$uZr1Pe9-!_#? zc5!iuijK}&TJn6(EzF@OQd86MGlbttw8E`+a2oP$msuZ`p9btG1b!o2&f7SX_aQ=A&%JKj@)7 zy0a%~&;FuYJ41W+H0{}wv&F^X9%7qAT(neo8P9QzUR2wg;~2a+`r$5ZzCC@HQgCY* zWc_*U&3-pv)pNwuVX^@hI)vAeBTedqsECNPk3UoZ5u@d=2eSk(a5VF%Qq&#$9s1rE z@arS<)ztTwxsv<|U7UBi6g)&I7{4#PKWeyowk_(nmZG3w{km}9qAgQ{mA$xyY_yWm zGqvpd8f>JD7(78xfAZ?-v3oD+X_92=-anxYm7@!NLR*>fK`vwcp1weSE>kpQY<;=u zAKCPO-ZrnV>9byXnrVi7`LH0DNwvnYAJQS9TBE9!J;sA7V=zf5Adk zmfv_G;5HPfOJ;RE%bDgh&#CSWP#e)x)*5DUs6iCdBw1<{f!k^K#p$WqqMDza1yWoI z+?&U^MwiV}hoNC}4cK`U(!uh>aB~GW)^dO2)Qi$>3--VEZeIMG9SkcsBkAxdZeK3& z{XqJ+Z=Tj*f{Ywr2T~Xe4o7fbMf4j1g#|7fKA|O&Xiof{W@|u8EgLs@=?lA;>ghlE zzIG(h9q9Vo5(;Soc1>`22!(;QAoc#=njXcCwdWwoDy&8L4e6FoAJRt8r2!_0LALDl zcbPT6t-BsafiMm-1@^-IelpcfqHVYg(QfOJUmu{FK4YIa`ryZ3k$dU42TT@Uz$N1P z;}RLNlsMOXEPVD);CAaAOr`3pHZ6G+H*5iG1lh`e2%P4a=}k^CuG?gT=AqofOHXxF zlUPqXQ0#k~^iTaYJ_N#Tzu(KeLDt)9IdP*d8b`?+XC4DB33NBOAT8#9?J(Bvd#or3 z`PI+hfTc@*BqaQ=52eH0Pc{gt|J44i!S%EMQ+Ge_UpUo_EdsZ6_()P8U{Ulo4gM3$ z>-R`5#BVc`f@0r}`H$@jtibrwWViYT*)Ou`&8YHA>z*`>B$=RzLocR&=a*)-+FzsG zBu_r6R*)h!lJh&NchNWqbSYk%6$7h0}~eNkuvd>LPOd>_cn0v|GxNzbT+#NfI}(8ZJ6cMcyyOMzZK{2 zi)Gtb$cSQLkNO9smIzfSP0w#;S`-~p4@bM=bPTX{ERh_SZ0D@qeZ> zL%1U8z$B8JTL#Jym_KKvuf)akyGF$D6pZID@Zuu!_=_>Jr;L3K3H21CEHr<%f%J!Z zdeVPi-XgCPwWSwEbSv`_Ly2*tiPukgzrA*%kc2DZWwV>!q?17*tu*c^bB2*$+Uu=J!_F#QKKD7B zZf8HsibsuH7pZIswGZynYb7vVl+Ky0q0FWJaM5>T|O`gsw!(d^olJQt1f`1A*96pZu94^FUHGxTHyMbn(vtAs1Lw zcr?4;)zmG@0*vCCY0^<(L(2nS>9P2q)ECXE`&g2&xJ+J78+jsC7uxws_;Yq8im<=@ z@SiyUi1{bif$tvZ9(3^<1;@HU5YTB3Vwh<1lLNP#%=<{59>*U~?-yEJR~*x!^~Xik zcLVAEU*bq;57<`fCP(_kKTKfYWK^7B_SpCMl=BY!0So{p9&>XnCY}80r{qt&T`c`v z@oV$J-F9wyNB0*kGVYwWomycPNwvxpn%N^UKdULeZKm@ z*6+p9fDA7piiI|Z^EL$dya(x$XKU@s`H z3y42r{P|aAv66S)OV&mv;JhtLdtdm`yV}i^O~jQXryMqLDxW~&9!8Y#pqk}nDH4W$ zopk=h@pmT3LY#kn`39JlGg<(*3V7&IEpDRKt$t);A2XEgOO>Mnsqt*5Ap*+7%d2p> zJ#5seokj{*w~BP?Hvq&jVmjK|71;a2S^2dFPyzwsUQb|SBZ8KcqqENp_e{Qw)c=)g zcgfyZmj&4eqo`>3!Kf^sB>3dWXG8vAhb091?V1d_P+hlgFNaHEd+JB9Kx#k$=%)M# zmf4o znUv235NGb!;y$2+O;aE!{5rcIiNfpfjQ94gi0IK0vZ7WM0x6u|-;*_VJM?;QiP9_R z+2=z#AeI5QRnFl7(NRcYFlH2Il4|}RW)VFX7S8c68B3QZ)mKu8CfPexKdMr#k-d#z zN?y@KJd8#4sO`C_dm&}i8M#sA&^H#Q0h@(59Im3xF@sGJ&}T~V80SNRFDN_o7dx3s z2;pxg`L^oU&TWgiEt?jr6znY^llxBaTea?7cuO17QnA;#rwHp3!K+~W_8=cx;;B`P zp$8Wfhpte*1&#jwm*?2(ce}(!JyIHkuf6tJc^iP5bH@Xs1$FL(mrd*O;GZhOhY%_( zu+!fyVEgmiq>&ycc~m7Tf1#)W0X2vs>8x3k2i2p99^9*Rl+8k1?<*b=h-i_h@~=Yd zND&oef~jJpredY0hSFPE>roL(LV&v1yVMmef!~S(vZ8eK!s7il7 z#h(YnJ^(-rVt+-d*&>!tEhH97xU(b;2v(pQq}!(NU#Ow_JLK6oAgj`Cd4VtxAh#A# zyLFYyZURu%bYnc!xzE3SOmsN(UB2&K0WyyuV?_6_$4PYQV3mu^WP*gwO>!F}R7`z$ zvwTfb6nd=+Cwb+~>n&<-CbDC#o)um-cD%3Lf6P9}b+SP#G=LO!ZI zNke7ag@#Cz&4qv>VxXy*gYaXS(=@h(hk!{uvvVSHyP!xil_jRA@7-6wgj4N((|~Jb zut_$=ZEAWZfm>?(+qs1C)!iH``<^eaaGKhgyt1;e%%<1JN1htq4ysZessT(9%CN>? z8(g8xf;c^vg~%FLHbtM06NPAqNdTS)piQ8C{>c$Uq1Z~T;Ta}R=}1W9!HSr%Cw7kV z?c-6)g(O4quHpOUprj?%^9Xm{DYvLdZH7jwpxu2(axE2iaF|(~R=9FXlpZBO`~PGt zeA*EAGKws$Gy6}rBUpr_52bTQ+~g=I-00^38~nh zXnL4F(co=AT#^k!vNn7RZX-y<*Z+agD!XvT?6tbq7CjCL22nFX}V#SxVag zj7siv(W1|no)sDp%FD{jE87;I*1r5{S;*|96;t@EXfInL6}vNu9I+q$RUgdg2`IFL z)rBX$;oFlQrj}Ng*!FFxZ3=DxUiRc55j8Pqxi*#0Ns$57ou}N z$}74}e6XM)^~9|Iu9p`qlMVES_YP=a&8w(T(Lw8w_}*9*YeYnV=RXj_*Dzo)S&Tf; z^4{qg%z+}-NpYiZAyb`IlfB7x;W0yah;zf_>X7lyL^0@Jy*O`}gUiW6 z&C>jWjw-I-!{npk(4(zu-gD?7w}D^Ipi6i)yRmC1d*aL2T_T$w*>ASpZe^O79Zu;? zD8BjTG#&_QNZEel8I~wg*@IZ#CksQ&c{gqo)N>NF3$9NUt$93T(PfPlAlXVKwv)bl zp`7r1!M)PEpe;J^?Db3o8t9Kop6JKv*X|we5yFG5?AE>jM>iPyKpd}<$d6rkgvN>8k;2RY^yS7nai%84uB9VI@UWy=Tl?AP zfy02hRY|`c%yC7{0R%wK;G2BOcN9lm!!d$(vBq1Y*PU=ZZ)lX3_`L^;M!j;9gnX95 z7rM~Ax8-r5SNGs36hF{lSk<{wet!%>=<->$@3XvYh+)5dTjsXM=u_hlA4r&9tf`-B zm3kaEaD{ zOcu8&`zxFb3={qNE;DQh1_%+$He5hccg4KdX(hUaCOnE|+{(rwA%+-_=1u?2Wsm&g z9s6R59Tjda?mIo-nLGf~oPQ6i!shyTO+tNC5;Cj<}%?8%az5Vm(L9}hkg+m9#ETVl~%3OF- zR42o~DukM`4%yLxB4A#xLgy@Fak=X=K)qcWqhY)!9o`+E6~bF*w29n*49;;XD;CLz zEO0cgV_%uXq3s9C<-^$*05%0sjZwcUj2k#NwNr`ZXt;GZk3V0}I@$37M0j@H#Nisow{SxT|GQ;4`xs z1Bkcux=l75FIGfkz8a&_@bc1+v`nZY&3nUrp4i&(s51LH98#TIbC>A7?5r^97MsNq z%Zmn_=eGc{bE$djB2ee{WrrDn>1d$8yJ9%cVSF{b7gIGE)3@7!;)-{Z85@>5B1F~F zU$NhE%&@370%9;r^l(@zUw&uhZqh=b$3$=L%_slY&0f{_{qNR~h zt6Sg&_NfgaUXW+Sbu233@+(wFK4-)F;8?9It`PRK-(Ocp5AdsGCvDl`ajc5wJJ&Px zCOx&nr9=z^8urU{@pf>ZS7B}D4F5SZO=ORk+=55#7N0PP6&Pk^S>pP#6kuC3>QZcj z#m`C~R}!G2OFc4f!)d{HKzsbH^6o(?W*?&yRU>jA6eFFgZ}wu^5s-$1l{$up&#&v~ z=n0BVW`}u9do2i#`Ok)l*=?JLE5RB~D>QageWd$Wky3N`B}`px46k86;Io-qIC@|_ zv(MMqGjSdI8i&qkV=v}H+uOua*)Fl1&ds$Cn(#Nvvx7etoeDoO=TbR-%E8|A#Wr#P zZmn+Yxgt_));bSoc@%4% zJ9t2m=-zUj6MR8zd8r(_qHm2&J<%#;SoLB~sncs+*4TB9wZ@2dxpC~ya>;=^&~riA zd?_do?_dLs_%P0YFMLFA zXWY4t6^jsC)l89W5Cmcm2xzI@Cu3BL#r}Q?r%&12+p{T-jEsoRb#vf??p7@(@^{;8 zOsZud>aQ$%*2kpX_!F`Yr2U*t8%7SRMOOEbfTdwk0QXkTP>*0h)IGGFh_GfcUpvrw?f+fz1&q5}(pjSh&mj1!$!ZxbBz z=p2Q@1~RquO&p6{TwUijz1S3i(e+j1PH7{eNDZ!As2iJ}Zq)`aEJUBW%-63bwv_4| z%pCvBAEOh1ws)$}JF4Gu=^G+ob|&pHM8ar*3jP&BPR|G$3dns4ONm!1fQKi#-}45r zl5*g?IT(v~CVh=pk-N1fd#fR^Ok0o1=x6SzP+=vQot@p*$o_6Ew$^^mr3QemgvnUb z!9(*_0Wm#U*(}z(!W{BvSUdwMH#P~yIVmIQJI9$K+y2LpI*#fj!?`jfU_~?{QhmRi z`SX1(bx=z~b&ZI+W(_o3V+<<+KcpV;kZ6ow0lGXTR+jR*V~_vUVjqL2$Z)U*P4GkU_asA@k8*b4OQ)9pb1PuB!+$ z@jJM1fmuKS=C*!nfupw5Z=PsmIX5SY-QvHLR5RasWE9hu@y~4p#D#kdA&8B)2ho&5 z><(tk!Wh};2R#(A#uMAM1`6%fSU6ksUh+G`r?vY~d?MTtXF5Yex78|OC5kOGwmU^=@ zU&CUP)zNY#0XPq{|6!5fkW_GxBix%;OP>|=@8g$f{vCMFdxauUx6rss4Jh8r#}Yyd z_3L!Of9Krm49ADu65eC)N0#QzKooUAfT(x}4mbxAFz&8H(M9&ded5eo^KwHK4rXtY zlS-wnjmkqd>V6@Vn9?*9tdo5j>G|~2bHEw=XX``D3vX<|5#T{o)n&cZyHXe0hmI`L zn3VL3XEN`Acq{_j$p%Bbq*}jr9OK=VM08ncQ_be_!$u$3ere5beP72lEMu7GJJMS8=Ugn#$X#Rt_e_kyH2MX4yMq# z_h(R`oVxS1{|rx+9T;@H*O4D?sH)guY;cdoKR2%YFs(&uKUGUTKDA+IT&6#}yXT)a zM!0h@Q@#|_<{60ai+?jcrWUz5X^coOZFQYacSTby76Zh<@2&Z^Nxb5BR0U=oM@EpS`~N_07I?L8;NvK?VwW{zl@EinW69fnI}$gRQzqp{GdX~3F2Y!$mnM@Nq%#2)rLjE*oNCe`>P z_qMEdy1Tn$SxHy~wd52<=(ug0)!6L(yxr~w9dNU*hKeoq(C3_kHZ@4^fshIMm)FbR zJuO(f-L8}1w=ZTNpK%Y~J%k=wO>0I+>DX>{HTN5Xo(O^Fp5oamRdwxUZ&PAP7HD6V z$8uh%H3zrps@|h3DO6Yb>5uorNG@UP#3b%5l27{~t*W{+1tUl{{QtrXw}BI+Mh?DEsBT@0 zf;V$e*&@a(j6^po%nZuw<;qugA zgA%uBp=7Lh@%NmsVziaj>f!z(qU$gw+R$O|jg?~UvV2GTD9SI>;_QEe-Ga>h8V@`E zisJ$12oifo- z@v^sx9bXH@7o|5fWfs+BtXakrXGCsq^<54jEPXunpSu`)>V|54_J47TOZ@`0+c|Y$ zi$yU2Rw=HELibS;c-;Q$FAjWquRlXZC+Kt&rL7ADJ_e zpW<&2<7v83JOm!T)e>teII_~T*#)e&m7ZB&v>@7hEiDfAQ5Vl3VHdT{!Y>EYHZaIW zCVB;JkNbI$;H`l57Gm>i_~7vUJ?u{uU;k`g70#&&!wwQ6NT)ZWHC)}O8-OxdfZ`b5 z;=1p;?Et7O5!Jkx-Y*8VN9sJ&&Rs@ebnUM{b^xY+{N~RP(W69H11i|tW;4JpuKGdl zHpqS$k_iZS0<&mKj~702HTFR3h|Z?IF=$u`>j0bh=YW~_&ZP1jYDs{F>sZAXbF#+? z&Pd++=ifrQS=b*SV;V7*Y_Ih|j6HS?G_QD1a4g?#3rvaO9a;?+RRTu+5YBnEenApA z&I0;~#!PJhOfb}#qcHUhfUTT=UGyrY9Z`k`yZ83|9L>q7gar7B?J-lB8=5ZC?Xcxa z-o)w7M-F1V+I6pHAd^#zUUR}XV@1ZA2oOr2F%N?*tR1x4V{oO<~w7>T0!3# zt_2Cq=N<(Xf@z!x)gvQuogh*Xlk3rKBDys-dqStddwbx(15X-e{UP(}3* zN+%%kwZFczz$0>_y2STov#U2C?#c-TSuJr9S$)=lpgnxbHHIaD@fOX zXJ_laJ#{Kx#6HHVD?SSxGY|*Z6}8*h?p><9k zuEC%D6UGYMsXnfw ze)A(=lK#vDc+c5FgNEAnZIf_$eSQ5}=M4+YJ+Cre(N$kM+FAVDqkZd0EuC0k;bu!p z>SVDpdG|abx!gyeMYN8*b}hYllyj1O0W0ftx@;{WOl)hoK>z)L6B1wa4G+Lq>?@zu zUe|79YL*laT1{;Ej-mn5zd`b7BZU1}l{|BR5%Bwgtd`EPsJSqLuo%;nk&!2BgFw{{ zpig_<^uVx%NI~O3YTS3{nM?hTi`=bpyIFtyx2k$ z8K2GNaRTM3j8U%?W-RY1koqOKUw$#Hbr$mjd6PVP3YbNl=4W#DEiEaI?WO_OEmk|( z4!p*>;!R;JQO8gV1lgL{_oAX=Yyf1DXB|Fp{7HuUL6Y1uu}*hLiuh|LKd(@=e$~LJ z;I8n*9YycuPGRVeUU`z2pt@bU{JE$a$7y`uIUP{P4Sd_^SCiC_ENV0W1m^~~KGRbN zM@L3yMRKTUaMSnu(TJy#Ojh3mLZ_X6jZ2o~ueIBXny;BPL3Q2lTmT)NN;^CI%d2d* z%e9p}CNkXg%5INC?#4Vre5EfmL26kN>v3ashCjO%Gb}?m>8LAJKP@HH;G^^wwI;uM zA$OlqB%%an0>b~zxbMY7j@*Mz2Ae8XI;2 zY8T6tFOP8>BI?@*VnTTz?u>sMh$$>JJcq0l?zK^gX=~WM5P8qBNyBdd`qm__;fapr zv1R9%rths}rGsZ|mlWs~U4QTRR1C16AAbay_fvO3%FsN`Ngcxl_1^|eNGx~nTAGa3 z#OjQ?Wbc|;-g4FE_oS^KO92q~IuK*EX=8G?amL)`NXi_V^pv^GSDV|uVasntA^_xB znc3L`BCmMyfJSlvqLsba5^JKVrW?~GIiq6i+6*PZ>P!Jkr65@G-Y>m3SGS0$ujN>+ zsIMOf%LE}W>}t3~K5)5&OEDSYQl%q!+fI=yMyV(cwSm-ECjtof6Tg6yD+KU2O9hYs zttYZ;(r~yHp3h5zOPx90j+SHUrg-=Uy>`Uy^#PRQf{PXPpoN?atg;s$0J6RuGzA#Y z{oRsqiJf8d^0Aoc==L&h6877t)h(Ve6E1=1v^S`Ah-)-1k!}v6ws$^wH{DF=FSGO} z5QZ+H{C};>H|!1?0x~y#077NRBeKPz#zh4Uned(X*cQhE1Lvn7HMxm zHAwr^p9&Ouasrt+sFeXWY0}rK^Ypo?H%xt2Ypf&ZV&^;f)re~)olZq&ev0oMYv<^J zpsod0DG8du0+?<{t6MUoH$$#nKviP<+vVE5Z83wwz2v=By&D&MxQZL|fuTHTf!Q8| zv4)A z$=MDy{g`4|{gy)O--&^>33%QCb#%e^Uxf0Ai&i_)^Xe$-N6W2_Z_w%k$xkaNDA>{7 zZVUDE^8>YgpEfpJ=3H75B2OPb77d~R*5S+$&E_&o6kTNoC-)s~fT4nxaVqB3-kl77 zzt-D8Zf<|0&nm`(6BWv1jL<$oq_HXE2Ewtv-bkX>V~8WAOGgz_NF-o0ZoUZ?7(;^a zBb^RiA+r>pu)6V>nec<~wkWK-u>SU}gehDe$+#S_6{x#SgyeS||Im`T&)dl3;!9yT z+0pl|Rox_OBzC(8;b(AE_j{|S_Fgwd(xyPzir-OO>*;-V!Am>&7RaLjSGyfmxGbdI&B+S*m?b*o z&I^l~$G?^+ape!>$m>Cd1suN>8Tadf?7DV~zd_CP*0pD>43R@*ds=Nu$phFR6bj+_ z@dlko-tS-BCuRQHEO3|KRFETKso?s=%C-L7ApSh~;5o3xM*<}=Iz~|`YmW>Mei?h!Dj)xJGTipgkN>Kb$l!n%`5CG2yC*E9IMJD*=vn5zfwS@gw)<+sI-)xV-V^`0IQ-oVM;$ zQ2()Zw1n|^P75Wrt#|)ea`fgK=;PO@qre5t06mh3xbq79`V_sEX_iw9fZy;kmZrqLgpPy*2w^l`Bz|aB1GtBe*~3u z!*m6e+@GSN)B};xzWK)>v8+b!GArnv=P%`C2S&Ek{R>t9T}liFTt*Eswcx*=^+kb& ziQX7TQWnd_2Mns8eqi0cFRu@iGaYSql}&yu@YEd?H@dNMalW*l!7J<0+1v$OV7g`z+V;Ww`NlQMSI+YYUYBaF$nh z@c?Yqebkt;XHkS_<;L%m`gM$)Lq-PLNpW2wB(Vpl2d^pKFI)F@1HDPepX1gDmcW)Bnp(vd(Q$bZz^QWNB?yH$1 zvuSg++&KzqnV#I&7LfjUyJttd58^z)v@n!vR>@zlTGbt^U@!X-w26NXS6dgge!(}l z5QQUf#G;HJr=QAIRtuiB`ZMg@Q^B_PNYr2#`)uS4l{7!2^6tfIv1K`WHAvQ>fbb}3 zsg*)>n8o7;5LuWkMwj-^ThIwYLxrPPcA{AfW{x8CL;nM9qmD_ShQM{hlUn&BC}_L! zuRtO_ZRM1UQ2sth36-u{8ux{aMW?MK8KS0bK0kslK8z(Y_x@OU5GWT+nj3JXA{fb8 zxo6ozA1Hu=9V6Z*(%d`W<>c*!(c#goB2NqBb4HD+15dYN?_K>P66~^o@$3N@J)Wn? zU1N=84Yq6_k*<3Q?zbO3G=u&*>96Nmt#!i3qpXgR;=-qX*!cLL#8Kpt-$Fp7Iyt^@A2Bly){x_Lx z^aW`i)3TnPX=iPpbF;w&K@4i#BYiV5K!u&Kh!48eWX#Z0mvQTMQ$9vWDo1-&)i9&J z04ADW8cXJGs;m-gpXL>+DFSLfgCM_{g&AFAB{y(EioEMQUbj5*77{DgyUuBhbb z-@82cW3$;^@gJZo^y|?^@#B}q=LunE3i@>+0yFED9izq;9wO3jewO^twn{VZPeriy^?{QG?Tlk>NWzKpYj3qaRyIMO2VsH+7y#eTQl=V1Zoq zD_Pd_b_8N4(Q;Q*go(P+9<2@Oi&uh`xoqbSFnLmGJ~sN;WYiUiukoSO)@Jln(ROgt zuAIrG7PTQjTMf$B1MOWyf@9-gSOnG}g`~1^9<9JbQtwcx1xqT}*YFgvP zV}~!$;x_o!(s&>~#+H-quH;nhB;Rt!cgkvBMOE14e7_kn34VE#6uv2MrN@cf!E`Sr zxO~EuB+mF#&(6~2R?pt(diDC&+?CUkXVNon(K228=Ve2->y2C7D$eM{6W}yhF07oZ zUU3nPzRGg>Wkaj$mj}_XXBd&Gp`wpVfq2+}09)xO0TU;(q2o%;%F)_xc1rThgYwPU zZO`LH9Ib7-*GF@)jPF9;Yd-Oua(%A;D2V3a&W!zb;t*4B3cK1h z65|@5jT1#Q_(|jYPhY(;N~l@}GxO?1gkNo? zp0C4{>(ox@hyl`8{tKaN*^u+DAg%H&8-Zx|bJ!bd6|%r{BG)+YA>u zqokw+_w%=SQf;a7)^ zd%^igKrHtaZGADTZj=z!zK+Axh$&x3EKyZYWckHkx_mr%7vZ2j)B#O6UR326X8=j% z=NBs;EqXkKZta-GmZkkbmdCTDL%T zkDt_NsF_^ty}UYa^Hs*y9Ta?#F5G)~_L8n$VwO+$x$y$y)`c{@xdD*|t;6cPUe?EScIFdWC7o-+tM{9Z9wwU?)<1fQlzsEoB4Q%JogRxa*Yj zwEq1b_-4WFs*6wc9}D62LJ5_ZpF0T>-3H}c;3gfitq-B|(U@g`jZ4f{Q0?x+x;f&; z%fQ{h^?K?aTX8t4;qh5IqX}~SjuF^;azP)fet+QW165K@Rp3Q(&LBmu+~CTsI%Nvn zsbCODiGDC~iF})r?GG;OlIj(tzyEHbbF#!$xzWUbQICh{k^p?6o86Vd|G7dJLD?QT zLH~vY*^Z|;ZWB*m_%x@YS9ldNz)^hEg^7?BOdOoJ5!XgCQo$wNU>0|pv_fZZQrCeZ z6kr7EBO^NLA}?msWEZ286E7wCDqg8+;s$H^ILvj`H1=-+z}GSr=S_ABiktu5&=;&< zd9mF7OXjV}*eq{XY)(bb3Jl!p`3bGQf8^g{gPp{^=e{}#F6A0ihNmuHDnS~LJcSYM z4t{#*Trvb|mGoSSROUP17gHr_A`Fmgu5|!(6VMKteJR&*?H_pVulWyZjvT0etUPpX zhTIr2{dFK|3DHkCMh3vgjqT@lyymDvBKU9VQd?JB+`9l$4Frt*uXVJC>1u0781cT= z+&k}~_$GLzuREmH=8)qq!#&T+^z^eRiak$Cb2i0OUizGxMV)B!YXlO%EI4u&x22`m zCy_RrP42#lmr}?aZ%1UEfN3^X!>GK-uFv`3ONLuf7Q@D73O5xHDfJk9#q`1m=l7B9 zUjrcAw@TF_guP?^tOAn-cFe%JlBA$*p;e`juj)ZmzT(}lA zOZc_K%Vr@fC*t;Vmj~?Lvm#v$Blm?nslc0p4e^OvYlFD&4(f4iSQDp9l^ijq?S*^r zdmeQ{e14`VN&jbg%fb1}f#p}d?!LC*?CS2p?RJ0Hf)$6!@M-&&7rDoR4gQ=9W%eCE z{qsWLXz7o#?MY_dL-Mf=yb*n>{p#J*6uCYT&YkGF@2IFsXpIn$m;BoiL$u}W$(ma; z%eK>2>dOuPJhwP@H>>)9a%~XGyP2ktQ9MyVnc^k8EXIg|%WM^uE*mW9^{` zzIgMi%V(qdV;c6<@TC>AMnCf10-x(=f0FljonIJK&2MD{+WIwD<6126Q(p7|J`PfOby|5&P zqwec&U2!?Mbk`&Lmv!msw;IIF5nT`GPRh#5qN^tp>%}3MTA73@N3;{y&|)kbYOAfa z(|d;yTj_~)A}*Hmosbk3WK;COJjm;)bZXptl;TGyncpFvcBk+ychrJWSB`t+t-5*y$6Yp3J6qCS7tn6BX( zD(b(jE}kJ&*f&t4wYSm66eH97G~$e}3I%mxCc7DBxSbo4o%vG4Q|ctaw9tu^Mp-9u zKv>uf$rDOSU*k>ab)x-@3r}(FtVCpz;-fZk6<_qGZk|HnP zQxGCljsTm`cHFs*aYggZV1;77+BJ{FWN*iOA&1d)F~@p2<(R^r?7}flh@qxtK1Z_u zQ)5w&+%?b0DAv%cLYezBidB>F;w$?aht7|E>rZd57V@iI&=e`{4=j;qIFgC4?WAg^=4{P|o;g0zfzJj_;s+41&oP~=gWN;`he;5fyN z3f8KXoUIE|w$0t;XxAU1Foy061EHJ>F_qA~4Sr#GTj}Lx-nl@}dK16<0k7gSGZ}j} zs~j*zeDi!g(KCG7xL3>RUq=vr!B(Aq@|TN=!HHc`b!Msw>p{t0>vW;lBs6Iz{0s$s zY!Z2qv%VLY29SL-!sF{sy9YW)Wk~3lyWcPD6(xmt{Tb?NcLRL;=Xqe6!OQ^$YVvbo z78144!MGf4Y9l62P^Oh1V3f<7G>YH$VbR4`(0Bak7+f&*yREq4>DSTK{#3=SLKAkW zaw_<(!CG?@<=!H?-0+Xf zm&1lDaenV@H1i~fgoKu1)k+Uqc!GKBzMQ-)KF#N7d_q8#^hvu>R-L0Aq;+&sBpiO| zoW^R4>kmg)OEu^Il5yGJwFb)_#&=X*Qt~X;#5IGrVbKUAB9>5&6&Y;St@zBI!|W6% z3^YRU8*R65-+C>{Op!~&9h_HcUD?w_8{6n<-I2Fg3c)s$yft8cDX=kIIaZd>TfPVISVvzVNtv_MhTz zAHDMV#zOmIM$_qacZlI#QBF-`F=$2JgS~P0?l&FZf52GjuEgRBccccxL+IhkIn=ce zrE^OC9+a026sgW3!bU_y;yv-05AQ!{qO3YAERl|;`XV*3j@MSy@Qtd>c~vc%`IoPS z?7qEJP1vXwMc5lMSHLpwYUS8(*Lw)8R$hs&t~#I4z0gk+;@`XW^#pu;=*yvB#}UL} z@MfW_hg{H$nHRKl-#k10($n*)ZIc29u^`B{w9(5r;F zkSPY*%;a3*IMRcRX*0$O?Ih7`O$DU%&C0Lpskm)Ti{#n?9R*6c;I@(4(3PIXrqK>T zdqF4>U%Oj-ZVtpKh>p|UwJR}oZVR15Siq-!gy((pbKSerrE^p%+}dj4q;J^ds-Cx8 zOwrYVM_<;{DxvK+hr@^PXv?8-ZS1;-srft1R{R8Tq(i)2*p*;&@nT!D-x%3T1Lwt34?`4GBANv42`9J%qYS! z3&>oq+gygG{teP6_O|nAee*kqTqeETnm+d$Y@sgs9rbsEbEP{bROm)*C;5?vW_z!j zZXImkH4oPM`8e-zYlqBtx^yGSH)TP#!(clKbW$(2=y$%P0V zaq`BZ<37B9-|L(qk6X=2(l$G&ing!xTi{jo`kAIwYO2Pv>qll0CdunT zR`u)IthN&$V_Bn5E%8<_jdI#6+3Q17Ik`CWn8W4s_MjKVv;ihl6i>TwWKx~G{dU4?esyMrZuf~mB733VS`zCk;*YX##^1;i?1l|> ze`=iw#SIJKJLGnvBsCs&3CVKkCU*^96a?+!%vOX%j3Qj*P6{hQ<`b*HK-GBmE#LbS zclEL=ZHjiJ4j=bh)u$P99B3tpRt#ktu0Cy}hE$qu();a?=y?O0p)H)NdahS_Hr+O% zW&ad$r#V~^Rtv=zr2o9tus5CKy<0iry*M$3Zcxsl9P5tXLog@o*I)Yi0(5iZ@FTVi z#cz)~NUX0RxzJb;*x#?X=501gCFnG$y*!2(q&XkZJAf_5FGe&&S0Tcjw{GoIm{xwU zb7kcJKf2xms>-Ho07XGUBveWoq#LEXI|S+O?gnWjCFCHTf^>I-w19|693%y#yQS|O z@cowmz3a|W>dZXP%$_~F_ny@j#?1MAK@OXVF{qyUu$``nW?n|>d5T^VhbYGEn@~iI zwKqb2tj^!22flurI7x3lIzk=&?ZN|s?OnerJ^zsQAxnGL^A!wLQTF#YewJ2GTwaH+ zv|fA!Ta%FSW|0gwiOk^}Eq&iBT~CkYvqb$kiYVS4JhUyS_H^Cu_pTVh(q_A46|zf} z>GI{T-1gS$ULimP`M9d@D-YwLz4F>e3;FtM$K3XoQy&C}6NlT*C2pE_A8RHQ66-b> z6clKX_?*P&DfsCs^0}0Upl|p|wMBGd^JAJd#y_`v=e)2 zc(m!*Z|%U^?uRkPT+X$Rm!-Q`NLh+YY8?;`a-#8yZul>8~jwW^R1r-b6vm!66YG+#^hsIcnLz?xNpxzg+l#K$_N;UI;+P4vmRRROa_thE- z=K8-kNt0@ZWbUlM`M<{|PA4CADR@t+*|o$p_uO2}W{6wqu;{1Ju!VlOLl%f0x+n z=(>5JSfCxhOklK!S+z+%%ln$0;IO(Cx!c+w%E=!vIKNckT1R zP%ql=0t-H5ZqM7tO)Eu7)Kd|N*axbB%aHsH2aC%*8fi(Upyj2Od}`k&8)w%px%4EAeJy{qZu98zz*p|`_KTgd*e;~vnz84D zhL+$oTVB`CZ!R8QmlZR&i-j0|0RgzvySN+Y(>t^`=QEy%$4!STo5w&V9R(=29#?Os zhJ2r>2r2}rvz`BVHt${DSl*UZXZu41$j;pM?d5%$zIwxLY`Ujcn^b34zWhg%qY*JN z<1OpVG(2=gm&ZI8i^VRxqA}|^p5+httw3bt#;qP$qmroa?dwTh7gP!4MRBnNqG>3q z@7PM|bkWSWWv7jrr-M8m@gJJlH{OmG&z76-+EN)S@T-U1zxlW~;H+3=d{Kv_>{a_@ zap`z#31cH<`li&{?mTfWgIkr7l5${ZHm9ys+j4oM7R=_gk#~z$okd>vTQ168Y8n9n zHOkyv7)xfiT_M!<-S=F+;B(xngnU{rAC9A7mzEznGmmdY2N7ccwGElfmyJ%Aj=fAZ zv9*o!%uQq%U>QxdS}V&Gg-` zC2ly8A!0Q#_@1c4YN(s-c&oL! zG{iCm-}y+2pX1Dv@xs&WUJ7(C*s|ZYGtvNI5P&!LXrQbYSGBZWnFw#75Ulm?x^f)rfY~^ zD!*c)uD9Li*wl_9kTR<5=orq#wRv=anXG~{)wuEFo$GN_z4dtscavSGDUu7JxOfi? zwOo$AEI=qibGB3z!rqPlLH#y?otUQIM$*ON0;B*LFu!&NO||^;02LfUkU{%$fHyTb zxDjYl)SJPUFON2><|(8>D(8dXVEpg(>YiaX^P8@x+ng37!|im;g8Gi*k({&hr>MB= zXRWI;(-W3FmRm{i0z2c@(9MBOdyq63aDDp42l7d=?T?IIjHF$?fk*1P$^O zmg-ci#qjM%W?anQs6OoAPFL``oRI6;IlbxWE@m3{^b;%{@VNoDh+f4c3h9lx+G^jk zm8Gm06rouf#*@OD?) zxPHWW<}CoTg-FEkWe=b$_eJ9?0b`@+4fSM z(#KsP2%cl$-UP?3@*>AbA1}AKu7&TAWqR~KTxkmV3RBa^mVQgof_azo;5@EBO9rl= z5714eW{%RM<3N(%hi4`!sxjy#-vZhYSw}{ARtg?t6FYMe;F>2h6Laf4Ex(jJqB2>e%iAwYc?L}{STp)E z%0{_9TY>`4em{S5*Omd)&}t!lZJn^PkxjresVft-dVGG|TTL)lrX3j)sSx`m?qh~? z5~R->=356XtBpmze>L&am-b5sAJAe;B~A{*fk8dnIGaA0Mdw?U0-x%G)-)#bU`!P+ zvjpJt8_(7p_0N1>>gimn)vN&d5SyF}!tQ}_N43%RFc15*+P>x&;5L>(M7-}C%{c9b zpo1!58)KYlCZDRZCQ+v-Cf3m8wv%N$?JmPpv1Bntk^5t^-ACZeyUpyYr)=>=N!;*i zam_U}ON#~li2ePihK5PHJ~OKB9-!91{#7x|@~m6AuFog|6WYfe-(O14LO{9`&ql+D z5MLU*`2i8k`sC$#0=MunS>8B=CzfJ;m0eV)ibw~9x z^I!K7>2D{gj#jbR_7bFUEJgWGYb0PF6{x|v4r7}Q=xUvr)1dPYz8HI>k=^F~Cba5@ zEZfRg92aWQRx?dg+&k+pT%cjHDYUaipq&s0+5^lK1j1EaG<4+35ETs-LWk7AY!UHo zB2&C)nsrxsjDT^wU3^Q&J|$7DyP8+v2PR39XM4_U))0K}5!Hfi$4lBhUa4eF?ualN zR4$?~jtCE9TVFUwXQUlKU{X<8rbF_NA6hh2JX+|3W1=zg6REpCSPnPi+G&Ve{rgmnK8?L z@OBiwZK9HO1b?i(-fZZNB=}%Nd)J2ocymqb1*Ff7neUr_Wl@4T3(dRT1_{_zo>Tp zee6LY{Y+ESG?SURTm-57_oway(oJB_Rz384E#8HAtPZ#|pjI%^X)6d51A84<84*Td@8i&7@X{sh)GdQKa12&&ofbo zVQxFpTy8VbaHvhk(6W))E>z&06!O0kUcydErn~+gJ|ToUPe6*A8$v&N&X+F^;KW&v zrwr&8Q51d}D+S7p@@@t{g)}hw%7n#0%ViS=cTd$fCJvXf_36E5=t^@bEU!YMHlP=o z@h9!J7wDxLwQ9E7`Qz)3Th-R?AqS`r>4Gz1a^W_wn-wq_gdTALnh8@lz|{`pSMGDl zmOlEc)$op4<-!#&UR2fC^w5EPA^HAr6d47%??869o^i}!2den-=N!e2!*ZN8U>_;= zG)G#G*vCa^-FAJ-1oceRD}`w`_N_OSK3JTv28CLn}_=tXYC49K+ zbCm3Lx|Wx~m?BGu>eAcSL;F>=Ia)83!+w18aBifAR#8QZ!0%cU@`;{$E?bbpuBhS! zyjAVbpSXH+S|Cb6jt-8X%cxaxddl8uJT=xiEtlTXrs=zZwbX+8FeMyt+u%kWm;z}# zT`8MdZ!<3e`LJZf&HJyteLFD~>GStd1_}7N(hk-S#=y>zduRW)x6E}*(;*r|T zTG>qnrSoZQ+oNwaLn((_66sEk^gR@Nt&fjmx<2sL{4J|5{9=F?@)PDLdN1~VtAh9H zQ)S8v*QU0cb#pWVwye&nEzeyVd&M>d!Sz1}eZ9oIGC*C;U8YwrRzEGnuDdx24aOEw zkd{%o5ooRPSa$-1>6Mj?(^(3z+6}qSmP39#0d|Qn9>HiI_7)!NGAbP}rQkl?%Z7q2 zjTr9p_r#KBZqZu%N8_>`eivu6#U?v{M#0oZ4(2li|B#D&Me0 z-UB74!TwSX#=;gN!jRS9t;o9$p!5~KNmRI3 z@Aqfky`ZK>1yW;sp)l(W^>f*dzxn>_p3h)?cuW-S&1oXZ*TQWwOX!Y^wDONR7A=+u z`^iuG2@Leb`}_S?kdz`|;2bZOR8Myt-~!Gay#+(2bgv!3fxsBQGh*O#aVpim2?e$$ z;<44~8qeZ3;EZseVNn8w4Buj@H_*20J2m?_HGNIV^cN*>v~2j6@m;}Qak}K^u-*55 z++5mP@xA9o0k3{lP{br6{O5YAJw3>YY1RS`YZP!0t5Juqngy;72xdJlTANOaWZ6xG z1hEr8tO3T)w7cO9q~PUgeeY|{^WTT%E?1?eYb)XEh3><40|WgdCEU9Or0o^T(2P_n zy@i!G}juuG<5Pz}8ECFZF`pf6G^IvhyV|A|d zKx~waU3d&`Y^c@q+IHn8LbMH7T5tAOK^37sVqFd`*Xa`?ttxNRTuc+v8_(Y;Jz|oU-4$d`T!c;AA;rbB zZMvyy%QxuG@lm94bDG^ewmNWr4HMi+{7&L~qn?!l z-;veC;BbMZl~wI?R%X6cIczKyA{(3OqIkQ8m53~>%cH^a=mPzcrMGMo-JX=lM9|VVnu2;SLHg1ZWscv}j>8(fW$)d?DFyl8ZwS_L9UYMrj z!5m8cF|*}QZ`2&O4Ej!N*{{y1U7=SoR*OUK34$45*DkJIk>{bCJKA>dEw6tr{C-8$mveKLnBjYkeYGhV^JUwO9>}P3{7swd zeZ*tx^S=7DQXB>PB)Tp;^DygDLe%?~%?W?uDsbejmad!aM`3oU{ESq(%-!MZ)}d5( z7@g0K-kv5NyT%Z69mSfptG_2jnu{rR(z6 z1Co2t%Y(tCeFW9~7=dx2FHXU`Xpnf1+_fN#PdRR#os8*T()7tV?grV{jvBY&C}69F zzCX&@;t8BrgyDfmz{06IF195X2UAAzOuF@$?HIze6%8Zf_&HiC77k7xN2!(?va+hF zqHi0_H3|H%Mce2#iVAjR9ClMhzds=W6Jbs76-j|X^wNQ~{Y2T(qt=(!MW3pa-fGv` zs9)5TVn2SYXL%v&L--(Ae5%3o9Z#)2fr>?8oz+EcNz@Gg8$cz|M-m zE=UM!osP9kP0ZHUfdQ+{Z}!vE-pB+M4gr_1wC0<@pfw%|$1RY4ocox z4~(s+@Lah9!=xm}oU?UsWgN^0C7GF)-H?4t>#KBbFX6fm%P*67WbPjA&2o9$+=64 zyqs%OdF^|jnq1NO$X`SBlDQ?d>unP)HG$b)*~=>gW_blBVb@bzPMDMupK-X3s}HU> zBN-#&lpkBCj*172vF4fmT4SRAYa6+m6i(~x$u&I91llgPL68sxvRlJ zgGx=V+cT_d+s4^BIkMX~K!305qgyr0GV`e~EcmsB>r5{JwI>O$ z$90o%tPU6ei^RkwfWv$Po(pM7NH55sr>C2y%-O-PxQonwn3(^d-P|NO4=5HY&qL74 zYUE8+K4p_XKc2ZER%@T*r<4Y@eDw2jf?H}56S^2a_{S@s?<2(Cb9LilB;t2!P!KFESxNzxFTakT`1}VTMY&o5 zrty}|fEUz8PXzmVPIbslVaOX7Q|L)Rmk z11}oU;4XkP&BsRc;C91=r=YSQ9cu*c!I2(~#Fjkf-CU#(n%e2!8%fTNo2K^`Yu`zKkDab9$}qNs+q-uD2KJTMh5g))>e^Lyb=>^^1+RN zrtS&ZZqI0ye4&x8L_u(T>_wQTPh38$dOKnN^Uj$IHzUp6r*qoiN*OzZeg_RX&qYHJ ztOx45zi+#+NUR!_bvY2Xl(7|tQoqFsH7)42{hxY238nuGr7^PrPQ-JI2e6_pW6!De zlkz^8Eu>srQrT*>_JJ^;hal+6tMTAA01qzEcqiTA_wj#1D=aOkKt0VcPoarMKK-J5 zy>(r?_NWiUDc&F8W(fLwfjFr}h?1MA)=vvCEdx%8+bgV&BQ5dqeY9Qz_a6JrZ2EvS z^LQ*Z$M_rp*S%?t5Pjmm$-bmgYG)R*Og3PO5ATwPWOkG@)0prlL#pmQkHdbp{Ti-f8-im+sR>&UmYsv>YZH3HQu3=Tp2tttG zK=gy|+=+fdK9%;wfy2YMq09Hpuz}Ar3$iB_8WGX5cn;#sD&+cQ5$}vD2>mk`cI;3x zAS9yQUT^eDTC7IYH&dUorv~RfCSR!Omo6BbK*OXMrD=}-eEU$uTX+;u@YLDd_Y%(N z1EDx$)OlpF&+kg{bbxwrkl&{S9O}SdPI1>)WNZ#xjw@W{W#5xc=yP?=)C-@bz{Sun z`dswy`5!NJ>SuF*k%FkJLBFp*LSNQ@Sy~AsL}w1Q{L)49 z@b6$}`{yt2QYnD23;y;hw?HF5;-Lkj%Dn43LH=td%Us5GT&p=$0#yy6L~cR>blHO! z(|7A*Gf z5lAw+ZO3o>VNeoz2&*m%r_x`89K=QuF5l@gp=ygwY`7j}&S^2-E7B}00uMIoe^ub$ zKZ0Q&rtdb!+&i|Fr?b*+YWtA6I zs+@TpC^}qq`+CsTKWlp^7Irb4Kjz;HHyxz7u6ZAxldyMlm7i0s|ivM05t~#27tEb4v^a zcPmLhpfpwY^zkjsnk-MtuBsh+=F83Kch+PmrJJJd7Js*)BHbz5a|hp(hMAYKK3u)o zb}R2BlnAzMu3^C@Fa#uRjOZ4tkS!*Dqglv=UZXgS753ZBHDP#pd_y?xiN&xX*~qd zX&w|tmJNHs-Vj7t9nwxG|C*;Rzt}F~E^LI%)HMKq3e@I#1;6CF>aoe5Y8``t=t z$bJ^4fjon#@KMu^Plwt?eV;viE_*o`FUej(u=A=eI<*fPRv2L2HItUY{=^OV3 zpCMpn{)RMn=LdSn%;tVZ^a-K1-1^B_Yi3yn0`*jPlsiodXui@C&G(Uosvb9)O7|Tv zblxRb{~2xYRq%v&;i_j?FR)V(Z`h~otYN3Q)#rCvjuaT2G$x&bi*&5tMB`4{@C00}3E8aAN*3qqc6w4tM~>=1>k zdP_W0rK0$ogXLcCA&aulfVT?Q7}c{@>dN5Nq6N$cl^% zzAnZ09xdjv0Y-gy7sz-O!wwvXU_r$L6@n1UYYaQs`J=YxRS^vQf=P0b3XyG~g`Tx}6D)ymrWD2@1?|d3^qo;6q!^ z0<9pFF%xR<{tVf0;c!(^R*T^3i<#tL665+FyAEQBfMx4SU;}S|38o?n?<>qva)joiNhax|?6a!I_LQz$2 z@oTxE6SO|m&ry~5Lr1@(tmawHJg|&VM6Yfpoc#4iAQA>M&^ibv`pJS|>v@ZCi^l~@ zA`!9*i64))U6MqG9*J5_b5GsoXy0~+dxd(3V$ZwS#y**TsNZZb}E=y;MB$8Je~pwfJDa8Ux;Iy12Z*hUB9ja zy2yXcfH`y)CfR0PTTHWuj3jW;B$%%KX|I1JQYEY3Rx7I6EW>utod+>=H~nu2Tol3G zYD#ZnrQH(!Lq5Mpj8RZ>NqY?&K-nV@CD5A8@Q&@-e*^q=?|5m2`02gzS(NJH`ll`%CoKz%KiPgNsrJ)={3N9}@#ZbgCzIy?J-U8hkPte0N!oP5czO z2=3hXfWLX7uu&X;Q>v#Qlm8DK6}Y#Pg?)V2EPmh3=D*+Jgr48tjS5%0;&^eqw7Nbp zqY45nEf6?L`V*l`)wg-|x1IeFqi!+TYG{F_#>z2T?Iy(-bo})YmG9hSLap`c00$e_ zbDQZlT?RHHtK;_46aT4~pQ8DVYrUj1e%CkSv6+A<>Z|Rdx`BR%@w8PAI_7DR(R(+Y zo8dX1KFNf5_s*MHmHHw(%J{0W#y3rGyqxYQupp-Xen3EA6NFn1-$K=fUV(0KiNAHc z$TQxb^%;91C2=5U`|JV0aaB=1-$?IH1&Z&)g}L*m zha-}?5G@{McR`+2&kSeu$B!S6gmg>1AP3D$?PTt~aE_I+*}&TAD~likLe>2|_wBb7 z5C5#T^F*ClR?myV`u*3Y944hC#6Sa)abov_a_FK3w6?*(r{7<^@IBw=W#J?4Yrh=Q zOcT)BJ$)bcPvgMifPgnY9;vRo$s>%u$$Hqga+Tn+PFoZPy}nf2YGevxzUlHL^lO>e zC4+VRui4_+P&^0k&o+$8lXFl-GY6l!CKs^ua7Fnc0oS{I4(gZi`pa0{eZ$`QUkZrjW=|4dkDh zhpoxoiYjVYrFSmC zVVt?1Vnr5dm%QDRzawheDq|z>CXq&<&xXvH^XuENe2$*$UQuT9+b71H&tPl$+eWNB zYAInqmnO?}bXEq9`(gwk!#Rw*KD+#_U2nWn6U}^C{*uKd|Nr8FR{dW*uwI#wCYrzO ze555`KQBslA5P9jaS_da{$A_CuZ3N#3x2}?PzSb!uJ58uV6&_-D{B&fpT~7r4EJge z6~TH&sI=efzSE7W&;Dcg`xV?CL8s;l=SSSHzN}g$mm7dLxuk?`SzK1 zf0sQm7Le-9<){%I!h;Za|XrIp^^YW7D3bx%Rq5ltX;JdBee{*v`9@12Khhvui)fXdp&C=)URUTQf%k3+fa)~+))k!=BR^U@MLh+DEqAr`nuG=HU6p?1}P+8Xl@ zwyeqY-HmLbsMF6ChP(y)v}S3FWc;VF-d2*FY#~$77k@NA%9O-;=To%b`IVf()3lY55KcG*7M;pjbcwR|QJ{qGrA`(gO} zFWSISQZ4rR+M$*;vWN0sd*a8;ynd_azSpCe7QFcf&i^pq6?XU!rT#q=6B#qR_wKf} z6gQCOmuWeHsF_fJ?VCS8<`p{%n)h0=V&&lW(*07q>iF>~k}sV8S-QoN!E(^;?-t>y z`e}WgHQ}8)FRcL8pGU%1MT!x8wX?MLPyet9;=3&j3rlF&96aQ5mJ3~F^2^-4Xt*JG z$AY$cfN^&`?#8S=`MWe-r^8VyE6U>eF486%j9JysOQ(sy+|$MCJ}mw5_@x~@$OWPW z{@1c)|KhSs|Lp!xOTLpY5--6*qv|Ot07r!6d-PIfBWM;0mVPCurM~bgQTw0 zh5gsXHDlF=XehvW-S59N2sv9wF~qUSko`RZu;WOP8&->}6YU-TMd3uuyS1%BcpV1e zv=}k+V>YgcAC5dgi!Sn5kBM2ZC7BE*x%$bNG+A~JPR#PG&#Nq^y3aL@d#>SY4#oeb zPfo7&<}dcjGR4PNx~e}3B`JhqE3UX2f{v>$qP@qo+vVk(lV2;i7{XES{7Ho{->xko z+-tayt={8nkIA9@=V4wue-Bn-&p79*!-)sH*X;V~tFVmNfLJ`eqm9Qc$5$775uB06 z9xu@0Fe&e~VW>oKWO#?kL;hKvi>dKn*x_c_lkGYzwb zKZelSX~DlJm+_a}kC?`hsK%10UhqH4mNhb<0KDv9YQ}HfGWGAVx_g90+}~yYLt6kd zqWbT+{sU+7Z29Or68i6)#l%tx|3mqIXZ0TwQu6!r`SQ%HUGiUgDJJ$85s&+4xSwX8 zP0}*Rr2Ccf9J6AuF@9e(W5?x-y>FlVE_B_n)SbQ_uTA8o|}+YBY5-t|MQsM zJL0vG3eRaiV&lc-3JSpfA3Fco*6J@hwn>{}+sx-Id>35?#Pr|gSiJrVr{i(n$qHk7At;9yIrX_SWelblzwnjFadzgK1X z->U3((UN^J0{(r8#p|W75;-KfPjpNa4&n(cgROhOe|50n)uD0&*wuvAt9`|^R>w65n|gb zl_%MFLTo>+1#yDEWouxGhh@V_LjwB(;WU*<2cKYxhma%1m}-V()4alZRz)GXn`rXP zQB_<=_3>-tuwpudkJZ1-Vk2OH2h(+5>2DMDC0(gxBHQsl4+_&~TXkVlkxLJ$g?D#8*} zEJ~fHU*4O7_X;avNkPIi7(zUB#L0;z8E}Fq!UvxW$z@=Uczq{|@tF?=%VhwIN6q{B z)^ysTvn6uV6a1lW`z`BFbZ5>EW2obT7n2S&Xw}m}ms5s9Qr^UumwN2tB8w<4=TD?U zjy*3G(!QoYMZ_y38O1HzK2vF{RlCkf!WH``;ap=HkF0dW<&?7VzM616E~Tbl9x6>3 zkK?po9oXJ!bWBpTU;RPU7i>Je*O@)%+@I>sdEvG?G%YTyiGH|L^)~4V>cJ8OYbcJl z(WQ{uzN}YuWhi_tyLL%^&tthM+m?5ak0im?)#;(^MuhMq*X*;6D#A|668gF&V+I`5 z#YH+-arQEis2)6$@HNfNIStgej@9EL#ikuLh};^~8|@CwUd(}wxwgC`JoAn^4R)CN zx=>xm^!fgFw>CHP(rtI6WYUxFufJUP$ivA$xn?r`NVG>KKJX=+hS-iYe?X?Kk4(*xIPKAogL1xCdcF3@tM7Fz1kZ-8-ZF2&YxYTm*dLg z1UoF!48AgErHDi6UZR79Bd{@|s78s$urr1?6p3u4@V$tYh8;Hb6gQvX`&)FvCXi>X zgXdz_Gj@&pr?L(k+|m5khFt~h&Y%$!2u728m{cK8_qm>gBS88Qo;YInn>^WXc*vM6 z^debIMpk0;o_K8X9%=UK*Ta^qkDt--?a``HW?2l@gdd?BRe_0gum!E!Ob0;i5DsSw zk_~HRB1Abj%fm%8|I&4OmR8Z#G77sgG-PQ1diw0mUdX(As!A&Ln{;0MQRJlbcW zeyZ60k@9I+-;xx?;&+HN0ER_B!iS14`Co)bV#3ybT5)dhl#Rx7LUVLHdF}0zsI(Z1 z>FtSewp+f1gwHi@40s+Y*tC7;^Q?_ozs8?E+n?)8$D8$R(VFA?vixp@R$%tfgdGRf zX=#Bfa;L=;EQ=2N_t0|L(9GA=r?!L{tBmhrn(VSiEItD`o)v*R!w_A25=@WBuyvv0 zr@fW3uhqTH4##Ut=&7DKQatV0bc%{r2khV$KkhJs%AEp{LAPoaz~G1fZ_h)$dXP&3N%ll8-pX$kg3l;>F_@#(w3R zp8;iZHWb?Vgnh!*rX6hZZ1{*pwfI)GJorrk5;>3AVv@};-#58syWv`jDFxCDyr*~u z!3x6L*;D_(Wuh6(&_^mwhb10N(L*Zz0^wupJHPdJdu+qUZGw0~(BnmB&o{ZN34U@c z9kmNhj9k&!Z8e>VR65X*O`eKWbeGm>kxGQ&Loc`1Iz_7YVki&>VOc7$B~tmXrE=L! zeps5ku(Z%3r{SSoWS{{I^Eh@FemNNDAP2@A$2i+awyx1qI#LRt1O+PA7HlqK1UxRf zp>|0XT59TnotxZ-WEy)&oA;Ddz~qdI2+Qs*zF*d8U_zdNuOig0!&&p?mC`vXL-G=A zbN8wE;Vr09t#j!`s`0czchi3dGL&<|GS=v@w3TH^5EIGZZP|wv+%*Z233`$}sO$tSE!l7R^4%}q$GOnkI&}BX8tbC?{U#vbb zs^KuZ<6+a`_?3pLIRjp{{#Eh%UQ5rKyYk-4wQdt>NLDu%z+5(YQL6O7Jj&QXv-b-5 zfh*Nwe0=hu4|vHRdSoCypWz#^z$+Nv0C^MzocI=F$5~&@Q$|ptx1)ZxdOBCq6C;%e z^{UlUqq{q;4bXWylSS61$2n#)l@t5o>Q+wprJU_qIh$aVZGLvtGL+l-J!IRQ&RM@u zLx?8<-=q8>W3?=W6PNO_R>QuCEPx6d*t$=nw4Yw%KiSV}6iLujCf6$0fd*T07;>Z* za2}DyyebsolpEW0U0aX{-DxtyRLqdpW&J{;qoeDX+t6@6-GRsCu3H(>BZAV_?xm}w z_B%_Myo4Unku_M3iimBocS)*S)h>dx={|QfLFpkuQ-D=%h*d4(EK81Wq**nJdwjz) zHUnv0XPF0(G$A>wzM(%5Zc~QK$#J8Vmz(`?83J~Q#@pR}S>Yv|X6M&G8h&~b4biu{ z&6F4!R!%t%_Cp@ydLQyqUY>AN@m62MeTRv8^X*ZDqmY1*vK*blYz+q3 z*T*Dm7ksturClk|1?R3%z&PYT21xXlip&kg-6j zSMW#08I*mRB(ITxGWensmngyXZAV$K5iPRA_RiFaG-4I`^Yn*Q0gX2JqCr7;cwfkK zEu|=yMrt3)={qf6zg^9|-*g7-q`y=ACZxR_KjSg_Ec# zYMm{U=2JF07T%9_+uxr+kZa2#@!5HSld{p0KK_)Q|IPZeW`k zwJUl7<4OTqtpUn~fg+W7>`}=QFDK&(*>@irR?>#mva*K_RVE>-%8MvXIdWGrC_e2r zv6QYZ!{pa159E_yjfgri9(E4O3#N4RTuz#KyHsP4!pMeC=`ly%WL(A2A68gd5Nk-9 z*kj-e*QkS|^=jui^pjgCy70aZgE-;jLP}povuMM9++{wo`-6KVfYL( z%RCQzoVXMvuwt;qL-H)8a%)J5G0+W26UBMrBMw$%%af?HW&2!pHR{krIdhtfKE8_J z;5nMWo~9nEDD(IT1Pac?o<29-kt!{g$Yob?O$ZtN3+0p$7oOk%9mJqBzRd`+&G)OG z7IlGfUHEA5xlYe=l^?{*U>}E|cd;ZK8Q0j0z9JnIKD5z^E@vsXDL4wRv%}7*dD{+PQF8JX}>-{Om*O0(sc2jX-o?Nnc z8AF!LcN1r{jNxK0?ujQnj6TLxD#S+H+1}lOU!!U)JG#BNe-5RP4x@coH1-A4GzC}>4RWU*g@JyRI4C`X(l&O9WbI6<&XaXD*G5!OYfLRBF1!tip_q z*yg3%Obr9S#S3kk#qR!5pt?mckP&BGCJmY<_Q;T9T>T)mNRg$wm%c2&n5=VsqFt|GWa1Il#|$WK zX{F!ISI@Blj=4YI(qTp*=LtJv`uIUELH>7zg_aCBvOx4`C_`2HKq@VhRPu!^nNa8j zH=I0y7KDDRJ=`_1sXtxM zsw3eFXrV~Ps$u1;?#d-<$AdA=5A@hv(Wuf9!m6*O@+IH*N0O%#2jnex!C?cUF-ho0 zznMr%x|M z)rfX+y4~^JAOp=*4ELk1I-l1Tf0+#Lg&l$1w8Eh^q;0b++#o zAF|J^FiBiJ^qR|(dH`%IcZ+7ftZJ%LzzhmKokou(qlx%?-ZjLj7ph?s|B@IOp4Jxse5SrRLU7wwTsnb9pS)oc8&2B2 z;Bxmxbf14iva*7^a3RE((fj$c+9R~>PVlY3Dk48p*U($A;ku8Fo+du8qQT?I_y!xp zpg%?UWTh>=-cjc?3kMHy;XE060*uVo)9>Y0NF!SC z_XifcfS{rVzkJ|{^)UYxo&3k2CBm5gBe7&HYr(@^(YD%?EkZTXfb}5xIUvXIop5a& zBT`5Qan&Er0d#)r(8$|Thgyz=m0|^W7M-wX!(S7_t_o>zh;Si!8a^Sm%EUV zTGl7esWaF_K2rVtI~w27p0USe_;ZUot@ozb>qp2Tq3&dv^8qeic-dcyAD6QU&)8&Z zrHg-bco^Jii6`-_Z5ObjUlXb2eaBGZhOK(hiddVVrnD%N5X;4A`ujPEHj zHkx7^%A&MvajL6BS$W^!C72q_&&_%)5BeeZi)GJuJ=bz~>H17G-$0<4&V`~XZ){^D z*xOew%)yJU)Y1~{)KsGb6>0P)e)&?-$Z&y62MT*>S4_(hFnc}Whp*Kla`#?hO5<_H z+4sO%T2eRmzJ&X+&dM=k#}Yj%(#RLQzD`});Bmig_g5Z4S~qR2zs=iH>*qgOpW{*3hPPj*np_D3#EXwQcMFus@ijaS1#s`TN# z9J+yv3o}5tEDgTUNb8)rBtO}mhZi^N%q*C< zneI?;zn1^Xj8$nnJ=Cxe0yVU-z%{C*Nd3Y=c(003l!qUbk+FUplV4fk@Z@E6^<3%^J(KX*vL36I**RH z0YQJd)Dj=CX4Fvj?t;V{L6KM>Bp{%)VY@D~XL9mh_tLZ8Av7s0Q;R9m-rkeviK#-B z9yp^fSAp)&!t=uAXK$s$hOb4Vw29=YUS0W5Nt_$%Qr7v?5sNjrzGU%AH5M0 zL-<@}3&aEjaHWABbxSfrJ^_k_CeEYLty70E4t`@o|7IhKqNuD?Z&mcvAlQfBEdRx{t*>&oo;^XFbC>uv!(T~Ufh)neuQjuIjjfBfpEjlj=#U8(_kqWd0*oHc8UXSE(iVEGp!-HA5kdL##mL=Nwg34nFfj? z@9O-^k(VPoeSq{XE`$n3?eAN&@U>i&xdJi=gPvE4OFCB<_N<6q+v8T!`V6lF=FKJ0s;kgAG`O|r=jdY7Y$fOsL}qTqVZ=MY7PSs3R(xkcYft! z#cROQQ}$=<^>))D0-!Jk1_tyH=?Uy|u~yffYS`S=QiE+%m2^jd;?&yNuAOZz1Hl^G z1Y#YoK^tq>CCKbwOihu{0$J^^!B zCx-1_;E}W=rf`HcHa-W>091tV-8*Waz{Sd~#42DsPfZ6x-s2c^%y&JWHrqUl7eI~) zFip1Lum*?%WF_$SUs#N5y7I=i>qY%v&V;9W}P!`^_k5Yh{ZtP4qpT7bFk;(10ZcBm?GvM$*`JKFX0h1<2UJbH#)~SX2{hOiF8W$B8Z^Whwg5PrB}MUyL0LM zkKf<(oU@#R9L4v}-nsV`cjm61Oca^x=y+gN>Ja|^DaSHNMKd1WO}Oflcin_oC%eEq&GAvpg7!j9 zSY{Dm83f=zR$I{cA-KNvhrn*;q8SK>V9!d|zKxR2Mlj@Tcm54PK_npzpr2@nanS5+ zCsWdJ2fSej`eWvOT~FZ97xX}U%IbRGyTRntX57s)0E-d|H1dE}0kFvj4pj+!Y9Ox@ zfQWf-@m&E2L^}8eM9hChdJXS!k9zZJw>@!1hC{Yzt^Ua_Bzd|aWn`mP#3Oc7qc*!v zi(0%937djEznnqB1Irs@;D8hW-Wo61jh|*yPyYGO_Uf_gp~7cWuM&_Oj{eX{Wvji* zbRx_hBi_64B$pLZz>3NW)?owCK_+4qNI*ac@(@9mi3p)ku^8gyL|ne=;QNL=?*Q;* z2x{e*X(=2@_=VC zQwOxLqpYXst}*6v40Of)33`2piZ2iS9dpxi`?!xWxFY*6tt~A|aLE z2`t76HO1vJHA3xm$!REjWzBPpfZYpkDKM$_e}Y%|-m#CCO(}eOQL2R;s@Ai%hKUgf z-orN?B`Ka?QY?JWl>6zwTfsI=h)nR4W=-m*e3rwG(Yb}JHcGQ+OWL_uOkXyJ1GdsX zw)%$yfhLPdLXGh6W}TUd33h1M6>S=IsI^w-@OHbY5`!KY;JL@hWwxefYcKv)2pd;4 zY;494g-V@VeFa+iYK5t=8#p?hJc|Zjgog;x)?irNdkgT&EP5fW_KiuQxpjx|RD`Vc zxXqQSM(^$KK|R%_1zy{V5;V$uVaGDSIVCs*A~G`<$;p$0Uv)d}j7%dU{ItKiY4UOy zN)-(=;0Q9{rx4XHoczG_qr!4JcID89B*aX}%e&BJJAbt5Kyw+YQ9UauQYHrbKJG;} zV2jdF_7AII?niDn?L}(-=->Xp;yO*j_lofO6bYxWcnLFF3ME_dM{PUa$dL;q@I*S= zHC}s>vvy5o4d}B6f(Rzgr_vsM4#mUE({sfWHYWynH{YU+i_3F#%2rOkXM6Nw8wZ3^ zr+)o47H`YlMJ)%(XxsTa@}`g7fMeNvh3;Us5g7;tWDk}@X&F6#Pq;K{uWq5C4l4t* zE)AD$t$fs*o0CJMjb$-u!Wj^N4%Ij^I@i|ZHHzPG4cd4#&CKpR{a0jTDlY4tmVqO{ z{)$eX2k*YoV$OLSQy^^DiocjE+NNg6k$->nEtEp=ZV}iR2h>6%e&cWOT(z9oFurk9Z#QFN=$j{ZG3ZKvt`=0e}7FN(Y{5M&Yt(S(l zB8C6zZxt4JJV^fc_Zxqvkbg1tjy6%pbv*YyJ&~2AQ#=`9 zU%w(acruKxtr(v5Oh%rTdYCq2ITYjx@QiDxYzT-ybIm_*VWx^bAb>nm@)!R#L;6&Q zFP>Or7`1Q7cH^RO-8x^npHKj;^YxTFlx#cC@}v>^WD8WR^4rG9O{`c-Z!A2qd#0oN zOHn{vvBe(AXnLd|lwH$MSM6a~>%k@2YBy(t{p@z~uawSt|HJx|K~CSTz}`*q$7;yx zCZ{*1->Ue-dE~MGUHK#F($kW0JFDNd8-kAW!}ad4F9D-!TD!5&HJ;YP+w*g2wE(7Y zP3ZQQmJr-H662w6>IxNbo*QZUDpZa3}V+_sAG^}7l&eO$7 z@d;}7bjnpm{bM9s>GAfS5(^lpS+6?CQw@1kRopiR=aq?(wtGc?ZVfJ$C3x(sJ>ws| zR79<_?{L<0GGx7{l=OI=f}}YJ*eniwOFz@v6KK-l11d}667>awLM#Hp4{Y8wV@$te z$RmpQ>74fZh4^LmsLPf33C81NhFF-Y{~9ME!t%po(Dj74KR3u1s{W75TyN?Fpx5ho zGQ*zfVR|jGUm8QzbEDT8RaRGs!kkVbr2gipUmq}vbk@mTUJ$RISw*AN$kDIh>Eg? z@PAQX=>Z@hEooG#SP5%@L-KVSjSo5Waj4!5c3FxL0C~6o`E=^^yZHU$_IV=r(f z6>s&scWW&4VfiT-a3kWU2h~UX&Y+uGa<2_-f4KYUQGE+)x%VI|c#EyuP1im3$A%Z{ z{`=F*5#J1Oqq+$nPv2x1pPF0f_Hf?kXS8QLK%ly(4-pNK%YMU6hzMa2D!JM@ozr!{ zW2hfWx%XkQ)BK=7>Gk7&*(|iA@yOlpsT1TXvHMH!rI>Cr%&J#rK=AvX4Lgm!YQ}>s zz%MkR^%rI15JbQ$LW=UZxt-Yo6)>~2qtPox`zqSt&}1MMCYz0K#H}xxt=0x=)YrAo z+ie+c0|&fYd9?l97)a||dvEvekM3=oXy|per?X)aL%Epq4(+aoC)>=yF`#pUP{^X1 z$aG;LRQe^lOhl)vJM@>9TrZpfwx_ z)|Bk9XRicvXH)Nq7&A?HcO7eKJ1Y|E5AOX{o%@?#d1x z(XOc)w}S1B0p5;jcJiz%OJ$T>r;fKWtvnXk+@Qe$!04nDX&#{frO&+0TFmc{{*)mb za+*6FF>P((W{)ySuW#kW*SefUFrH2dLqqf(nyC>^t`p>(;5gH=F&4(xW78)5`X0NA zM&bXz2Te8t>Hho5*AL4#I13&RwFm(TmP2bt$4d}x=zT6i zfaBtWp;9cQbmsk~fzNsQ6R!BZ6lV|L-IeSxmDnY*-|^D}#^WZ<3~mYR)v?5y^-Tw#%7DA@VekmWzX^6wCpI7Z%EK345aeate~=#b1jaAP>Psb!^D7;|6?=)OKGZ zWW>kq+>mz9xj@+Lo;v|><*Wy&o|)GzCNUP{h|TUyxF_7bdE2)@qo`mK^pLQ4jB~aS zA$%yER4diWuJ>Q7E$>NLI{Bk1K0JMNPbzjT=Z`fE=Mv!!r<$)fyPINfSe-+@K7G1Y zuv_Nw?Dd0)o&foBXEdlkUDf(U*<3Xdr_WO9J(bt5nkPq(^q`OVt&rVa7&qYVAdEv? zyV?J4*UPwed-)RlF^Vj^H8RpRXgj-RlKMIMS}54furfhz#=upE@&1=#K^b{!oC`3P zvkKyJR(Kl>90&_1K6t1bP{-#0mS0fTP~n6GAP(SxIP?6Y4sNYu+a=3Q#}YorkLag& zG}oNAkBy(0tt_1=(T^WDjl1s65Rb1fmV3ng&(_u6jE3-jMb5aNusrP%Xg+$*mysso zO3J8`1~R1GFOPvb0H_zOku*=E+AE4rk2v=e`$ouWPNR1G zr zdrr;a==?v4s}mNx9(3%_iLml?7X_iqwZ2}tTk;-Ve)8IKe~n={-4Q`_wYJb0L{7CB z1;F8d)>8i}YkNDDlOaW{dC2}fp-rt2&>>70YC4tzfve$p-lHtEN3qkTY~Stq$vwg0 zN)KvJ-!-Um@YO_Dd8V$luUQ?ULb~tp_b?`fhge4D<#!3TpFoBGX{GW@X)7xue;f2L z5&@Z*OY{K+=(81v3;`=wc}$mg+x3-|-w)zXfzXHk^AixI+i&3FZ36=d?{h=547Ca; zXxC1kp`q8)XDr96!1Ay=3#6%j0fhtDMLJq1G~CyCvw@#}aYdhD5nd)ZzsI zwP4{xk&zFc#sC-=4_!NPZgsRqBL7RH5AGkM(Br1KSExV?SoP#r$SthB5Bt{)NH+{u zOSUz$cscs7kN$@aTkPoQgN}}1EMQvzj%r*O{bQPx3nAaW$peA%pYh6%fiRjnTc^C^ z#jIeU#qwtK7Tif-(@_@$i$NO!K7sO)LOha8gdAfks%@Z-;I{Fh%#kix%`{?hIilAz zW*{w_F1ClxABG(xY!n=frO5qnm-DgXxM+4LSp_<;#*fflM* zk%VD+H~<-8Q;4aL)U-RnOz*sAfKD-RInDK?JD3=r`qo#z74juF@ObIUM3sJabe+*@vMdcD zAjPo(7kc__8Mbhbv~=eWJ&cbweUtDC)!h6}tx!qo|Kz$^%&&78W1(+Z`NdgY+K4BzW|r z&o~v=PeaVUfR0FJ@o`Tmnc?U{L}&4))!WA3D(QL8#p+JJatmEIS(EVveGHE8WdmwK z*Sa<6`LN)D=&(f$9jCqA+Rzi$Js&&`FOYBLtA+Afbq0xZjz9^jgWoV@r#RH{WU zqB$09t(DH;$RX>pu5x66Ly@JGLGQj+^GrT|l*+cr9Nu>WUuwST?%AYubdZ}yG~9We z%vhh5K<%aK*6g&@>_RC0)`ki5Y>Pg;du>&osxdtw4wY`kWYlhI#EMvrDfOSYYslFK zHwe!P1}c+AC!i_%bg&5;=KgTTiG)DywLyDyd*nMhKVPq8 zbON8Li|UQw_PKR@B8-r}52R_D!WDabC3XtQkO7UVF-pLx7EnTH13p$1Inju2vkK6QkX4ruY^{9+(OoQlgSV0(eb3-A^a@hh`T41{Y(|4X&^ zS-}<}-|XJT;62^IPO9dOgP%^C^*IFVj{TkxeO8xSL)}|1wlhwz5_@w_@8=zkJj*mV zu9`(fk|Af9#*bIRr)BjIFOROL7DruxeTmREc~=(r^FWNRJyzx1 zd{cVdlj6U1;c=sAJO=l9`CaGq_wcaas-njdyMXC%85PjjAYzv&ew$Q|Ee(#hST8Y< zWaX~fd07i4xBhAO|6H}P-Bm7!qu{*F%p&V&c*nuV$I`+MUg^l41px4L)CoJkv0@wV z^m_(>x%L?!_GkL$uyJz_uHf1G$M|UO`tGZ9bpkqua(>{ItK;^7C7|4Wf?3XTxdabU*g!9o+5Z?lEiUie4Q#nL@+2BVF4&jeV zr;?V8L05KiS!OH^AQ8Wak-YBDA$ef?{~TRl!vF{`=yR>|L*ZkEJ;kB-FmSr9>?!>k z0-K;bVfC&4oNJgys?z(~mZuzM!|7z^S4U*#U@ZVU{ZB8g^Zwp>V2~<^Ng*6IzG|&) z{?|e_)B5J*@6jtXw3;0k2Rs21uXHm0_~)y=LJXjB>RC2nI_-*d6Eu)ds;Pm77_R;N zRHg*;rvQZAUR~$*zHbn-Sb+UpPYmLBd+|AnK!N-<{2N`hN!+lSAGnM~+{u6Qnk+~pf_^1+x&S@%yLBv9e zuMQhmrXP1R{3#5EgFc~7C*F@WEn%w>pT^eTTl#D-9j_nEE_FTqa@nr9ZbUk|-ZJzU zS8c%+f21*vAcL;lTu*Gb2Gl=|4a?BDpU->*jMERH&0b(R0D7|{cf$I#i5&O(`*e00 z!7w~adJ8=IKL_-m5-~792ZTMKp#zuvMIdeHwAL0dOhUOm@j-ZM@P!ySyu3}-uV2ET z4ZmtHo0ru{wt-pn^JJwe;U}b+ruWEJTO${g^Q=YnkC!YgH0hcD3RmISGBZ0H-?rx9 zU_ht1nbQsdQI8?%z3m)__i@r<<|H+sC@rF?AcfR&1ADJ1THTd`Qqo z!Wd22COr|{rD^BP<{O1!@uX(YlZ&5!W||vcb$1ZO%umnvhQmIN9ycBJ7|Ey!FWXP! zgPwG2G*7s!Il<%}i1+RS&s;;!_YCM*!zs*SjK)!9z38#8N#NwZ=C;Nj>3M z<`1nO+`z9hGVY1Rp1R9df}n7tgZXNT8w1=33&MKn$qhn)0e{ffwUb`A#1u2yzRv#Nxv0u zWC^R7y&-puhD}9r89Ah^5xZyZZq{o*65G(VTTk0iO_GH#cy)F0pMg?1!G%k8`xcZ3 zC(7-}Qr0>>(pL8;DXu|=^ry~p!^_9S^t)1Hf3l_PTN=oc*yV)0&wknQT5dhmX%^P^ z#mP5q){c$<&unvuYJSCwy7|*h&StCc@zqH@8PueEyq^-*UTjQLGRiv1@_3%@9|C#2 zSYACAf80h0pqGQJvmYOcej0@T^dDrzqv<@j7qNr28(uA-!(2~dju(O=PAhkaYnGqZ z#e*g$MJ)MK`o&bGrcd{#q0h~;=|!h66N~wL&S=D=KyBzBb%_c=S~?G%Ue#WD{Fy$? zEnFYqxa7(yc8^YjfIunkiIu2_v)uGVM=9!u1dn#(ut&wTN@>%v#*-YRbpR=&w)Oc`AH`?vaJ6jAo|BnB)R1%9XZN3U-pb#-MO znW~dnaMFM%r}zboGQGo3t(aHrZqR)NQ*LS@ck>2A3f4n=%Ln<7Z}B13(i896V&45n z^8GzRuZ5Bb%{w+yX%T9oZSx>Ak|{g4R}OhFm=A?_ZUb{SO!T=x?knA0q2*T))?DX2 z+8NVol1@7}$@1waObfT23)xen+H!J;96na9WlYMc2eJC3TvH42>(>t-)VMK76$yT_ zr=Vw)tEFetd!xOMKSUhkbXM#~JKy2P;?TxxFc8I$3hDOSOj$j(3!0wCfI?BljOq9G zwF~B0uqt#6%x1@5awnu+tWNGetI)xss}*HpJ7D(Hx=ew&ox(P>*wsHX&lhgW@a~bJ z2g<*fkm;k=wA`#-R4$RuBsR!F7qLg^tJ_I9_C|g$>@3eF8~*dn z5<_b>1s0NixRz&q#rca8gPa<;1lHF*1*Eus&Z_^0^gf~lQKKNS7lky08@Le!EU47f z)aY@9S=W+wSn<*&B8jBG^$^jBiN=@2nEi+r{dFw`kD~I6yl@ZY#0}3z@Yh5gw&2iE zzJfC9m~>GXFdR@iOld^Y?XBz=ksy}B9jk7^l84|ACBND%G%F)F&?-O!QZiULrv;Dvs|o$FpKFO_ zjZP6~WNIfj{VgY$GfkysJ(`I1U}w`3sc;T?9&xb$(_pSVamx}$x@819sUl*uY=Q`P ze>!6h3&ELX=($o`UlrqKpO8BC=({!?@KJnw7uE3hFX>C&Vm_*`Z|Uvo2#JZ$->IoN zR@VN;d7DN(YK7tI+MlW6J#$6+_fOLe%_AOEc+Y9)>syiYYva?4`sMXRvh*LrG_Kdr z?khZ)Iht-|2Y&gY_duv}8y_%qqaLt5XULKx!)JYWW{3T5s_~QK{D)&Qd zuX>YyN~v^uJ~PJ=y`K>&@`R>^j*>DRDK;CR=YEl-3) z$rP`6kFZu@vyP;RviB|7dXfEh?qBOXU(ipKGV3VSwcEM1TU1F#9I7kvOX`x1Yx(?e zlaYI=7TjqBUMNWRU-X3w`#!uRNL(*Aa>SoE(8{W)Knn?(#799t_o4@9-)wA?z!OO2 zE7B#t`SlxrjAU-EuKn2Y+qf=bel?Qsor(S34F6?CROq zt?9gu9GaR5q>;HY61eJ`^i#6o?4d01t+? z*V`J^R~9}8XWT+iIcge3XDY0*WuH+X5e<_jr|8dDICRQRoEJ!HehTq1ES^V>qHVJy z{jfX|e38O${^6;WiJ4=p+0R9h)d#UI9NJPwt&)$-Ure%?rY`zZ%H@r|HXBoctb_z! z<*iwih|$H(TRm+yf@zX8;pVb}bmTY|oGMS0LYZGRWyyrB!N=Esvg&L+EurG?T3uyw zQPX(0Ha0zj4fZ3|eHI#By93B+<~Of*;PRNY1g{7Qghs=CRS;28Mb$ohh*?`(I=e^J z*IwYzrk_vR#$WnEnwXSmLCMO>+HL=IwH>`4 zqda(R)?VMRlR7?{uRVynsQ>CkX9o?L`K7(UXVG$yZQWAq7cOXH#c!RIesiIP*wKCi z!!}mSAxq_rdAWlz^s0h}E(bC0Tjq4U3?;2OQy$7fEao{3_hQJoglv;c4sP`t)@gN z`~uM3RCthU+L-Bx9!`{>}HUUdH#4`mr`j= zNvZ)xX|NgHzv$~j%gi$4qKxGMIXSprlU)lBqiw%5YoYW?3q{roF3T&k>cn>~4LNx@D!p-xRV6+AlkQz#P?1{)kFR#13hq?jm7brXUkW=$cX#U+;^}dLUxGxL+WYPX)z{-M;`Opv(orMsf~Ims;lnZEFo0= z`7p}fDb&q5I?+#C;g`FE>9e?WOr5Nx_O?zd;x^|#hYyEkZ{HP`WZ#!A5hNXYzEhAj zA(~OE{Gv}e%4F->^@xHWaor{F%xPBXG#6;1;P<%ZSu9wnfz*_y*#&@!MwBZvfC{_< z<#L9LSRO4G2VO1I3t}}aqD3}4!F4aP4MhbxAHgple?6*wHPCk1XSm&SxgC& z%H(ZbgDubMnJu}eiw#7Vl;3*Z?>)|5m_p-p13l+893Vo)Sm%n4B_j8Eas-^Q5l`xyf-D$O}4X=oSNcm$1NKWI(S zkdR2NeAVjMED9XgW$uYU0B_HERrR-kCA_KqKmDcP%vZSNbQo^j4D)=aI==;ydV1Ag zb9`EACKncP#4Xq!2G#M04uO=HzTqc7k!^Q5K1YW@w;=>nL= z!NkVYwt;DGT0hHm49)njtQFDH_&&cR!+Y#{)Wd7&L3cRU`{ttlbW0e1(w@S3yrEr$ z5iI%s+qhj|!`dHxE{hX{nNqFhnr-L*6yht`TgFYCEfrVqn!qz2>uPK{ZGQxvGb??VnV)L7Yrb%>tzUGy( z>b;pFiIF}0leK6RDOy?fx5z=lZ_%z&t!Zm!azE0~*>IGRVQLec|7f@4AP_+N8Gg#` zYseiB{-!f!w5%&nPwT&R_qe@*t`C6&00pa3eA`$CxFBh@BZGlr+e|EM2ry?Wd)I8$ z@)yCK1O~31r40`~;w`m1q1eueh;>AS=FtE@U$6dSDg-t3GbPe3Pe)+D16z zXV6T1wcsT+Gz{g8Gt>0;7A0l(LIrE6rq<5#ATR&Pt~wsi$T27xG8+BvKg}g43XGbp zM$eXHgIv3S`1rgZ9@a##pIU=1V#C;H$NUwx&L2UQA~w(CEz>aiNG1NwV7;FzB1PRS z`TR1rd(euPR_s`grzbHJzaM7e{Dwn(U(p!y72?*UNU8lZ{D%C~nTP<)IlTL&mBUi_ z?JbFwgAv4v7b8t2zi>{@OV|=5<56vDn$qlC@@KdU}ozp1+GD`!A>7 zb1BPHUn_OpUyL>05Fv^QqlAHzLS@FX_K8kbp9V z{E13S9SoehT|F)<@6?R6{sb-4jS<9-f7`YZ|04IOSRQ}Mm9K0ZG3gy&Ei&+18jNPlCwO#jJ;t^2bU!JEv;{jugo6+6X& zR)N4ay~rvY_A$XEO-|0<-;aDHLqVmh{?@XJIb2u1f;<$MA9l zgeRXvaY2tci$;p!7+(dNef_4un!D63B70!v~Ps$xEz2>)p-^EuqY zNgCka_L)BwnTRD*=Bw$AwX{w>D9c-KII>2WWMf7cLVZ{nxKmx{ zA71q1`#o<|iEs zVWUSEYmagn9fR(o0ejSm$-eV3t1zc_9OqusM8Jc}js4o7=46^&D<|8oemfPm~Lo}7Bx|rL*_pnS$ z&D{IP->&td5LOm%XtInmmc9_qKK`|HqouqwTkkop^t~%*Vk;q7 z|C}p0tc_A!i?O-MT$$#m5&MgcrZdQ7B*pTnV+fh zqXJKVy7#E_!hogrdfr>vo-aLv(l0q4jk5-z3PP-VGt94>tzmg=4lJePvkX?%v&@jI z+-;wP-j}hg;F69gnUyPn>{9zEa)EsUNZ96624Tc|MyR%hrP|9`>Uf1*03|R$aRKUL z$NFq+ULGGPNa*SHZ8q$L-ltj}HtfN@7Ga}IZ4UKqt4u`3^vrk~S!$cB5Y2J3c6P$k zUTDd|w>eG@vz)6xnzvhdNu64F_Y;Q}6WHpFK?b*GM2spnFWFbD7-_1-cZz~EB>5T? ztr(ssKJ&MakUO02Wx#lbR!0$|DZYIx1&teAu3PFt*6U|L%rh% zj|y7Ol%T;JJmAva+Mp!*Dc9NWbD-|6O8{?Uhx1!cZiN)KxJQGyzaHWbjqg0EKP)8~ z3AcE?$WAy8d+nUOd3IpONaxKE*SdZ1>m5E3(fQfc`$e0Ev_#KS`z3>2M< z1`8hCv>}YJY|2lckWFhzO=qjzug+BGzM0-mM0ji+bFMGqiFL4Y4xkRhbsDUkhak|E z191yV?pSY1Poa!Fl$avykZ$1A}hyAk;|C1|1+n90EdZ_+!_v`Jn zh>xmosez}^MZvw@I)9oZOw)Gb-%QFW3fIYp3goz)dm-OmWrXUmMfddZf$9%V`Kj9h zVuaF;nG&N(^;NL1D}iM08@5CYYEzspZt#0(kzKc!}{Rq5C8*P zJ)JOvZ^?K+!R!ShVC&agcQQNU#f-8zG?6LCUI?7x0%QnW@VH$j)&6}kPGhk4IWOtvTZ>JtU#uPaw*(mRO(F!$9lBnxtPeYNRLb>f`Y9?#IuEl8 zn5^POov!tlTNC!C;-XWxUh!iDVj@(StU^4FgCM6#w&fky+-wqS10Pk|1hDQ9NGE>3?~t>uicxLK<~{dYArVX0ZV2;(~Q#sg(-I z%_9>Nzg%Us3We_em~pX--CnKzF{_g#RWMM3KyJ42+}sSg=^&26kr4HLle)5GcCoqc z8LOkNKUsKw{;YHJ`2afdqH9{*51z%9!O{{{0|)_Tq}-G zUO1Lds}_`Qe+Oo8!cY*!KL!hQ1c+8&QX<;n$je z=Xd%WeJN}XRagOmCUUy7?|>50GgYd{Yd_wbE)ikj9cSbyEz@oC<0me@_o+kZd<%}4 zF_B2RUL{Js3T1c&mX4b+t0xQ2dnE>~qY1mZPBZ7;@=^|0ro;He+c?;|8aMq9)VIu1 z8eUehFmp4WpS*FA#b`!x#!09_=R7sLudUrhkfnHTpXxn0k42}qr^a= zpy>VI{|p1ZidmhEjjgSVrgLAqfBG9tR*9wU>G30ahA^5pVj?HQV#=aXbXJy8LE&@s z`V>**n)+#a;xC=swz9qt3Og5Q+z|t4ptSSrW3rJJviwwbK(^-5&5SlrbbH%tAvrD^ zCQ4M`K8x19Xl^G9xcl6ddl8aftwd0DdkOA(~CX=pQ*fGd8Es+y+9sze|$pBUP6%g;6}Iql@b^R zQ6$CFZJSOeJzwjj1imY+ML=5v3T)&qeqT_WtgDKz*HM(WyF7WIhEei9*RPubhSOtI zO4%oNcca^@6v2Zy>jEau{_6!wSSBzASQ0z>%Ue)`+W*Ic5FhUT3J1l=(o;9zeQxGE zhB7f9d06tzItQ-2gHY3}Y4RZ%Ig0*6-RrX)_0?8(2H0sTjCJ?l_2z#9{PBZPa@N6| zK3W!0tN83Vr>ifA+*Ws=+ImP<;fo2kP(ftx!TLm$;TYeqQugY>!GpzQHcc~=()j2V zL5b*L^^#3ZO*H&Af22N5RW|qDEe4BGX zds|Oi;0pfy9BGs$78USq2m(!lW=qO2vbvO*)2nnSh+xfh$|71tuJX?MqK+K3t`>(2 zwNX~H^ZG}Ro-P-a=bkRs+++V03EF+=HqYJrtxnhZQmgN~S(S#bHr0N2IYaI}lsKX$ zisY>>1ye@3Zn^-ZyW@Rs{F#fgni>r;>7}%q8V+zHcfO)s`^11K-n9W(pC*AZx*HOe zWOni&;>hk-kJC+ULJiNF#yQ5YWj#DsQ-(o-GF7A%! z8&w`O;reSY7lTHRoBkH{;qI~rOm}8vOqNH(*E@;SI~v-i6n*7b9dT z8dpda7Wm8&&rI0&5lr4aiJesjBGr*@IcOIZ<4}lvP8VB<5EXw{X?Ow^#=u_TQ%JD&fBZ@B0*elFeevA3sMJ4NAW zKKm1Go8fUnJ)<#6N&g+=_F^{#b_69tC@ypD3DK6sXN>@3LCI{V?YpvGD^@zgNf*9I zUAnc|DEi&tJeuI6E2qc7&A~04evg|1J~xAsHFx(qjb7{=!cTVh=WtG))-Sd9&gpKP z{Pwe-D=-4K=ej>SF&5q0VtaCU6;)AMhg;r!%D?3MME{Bq zbK$0qG8y$JhC57oItvV0M+n#}VsX;lN^CW#z!xoM<@Wh&ax()_{JA!NOx7D=VJ?RQ zn^Ehm^h&GJvad`AKC(@G3Ps9qL<NTAY5#oi=kUZ%yQvJE1rU_s}|1Cwk?6c!7YA_!VP)Jcv!E6 z9B`awifS0yNH5{K`gi>tzQ*sjKLDZvQ-BMnC4zkkl!PwB1Z7~>X0^0XxBrKpiJyX> zK=^$kitcl@BHQ-ih=pSnp}!s1D-5@ss}f~cm4f+NXT{qfqN_0(p^~Z|z&b_M`>)FP+0sRZxji)~!&!$Nra_vPzIY}jUNo0{ZsQgooMg`6SNH_s= z27`qKjh+ybmi%kyVOa>Qn##|gC~K5#+0}b&2(TK`L0D`eW84KtxF{x}Y;r(1!LFYX* zqekCGfur;1KwBw=2UEY!K8cn1YmeF+y!J}D!3oOZBef76-cUv$2mC7@g0Y>pjxAvx zFTZ7f9zsCqGUHz0z9TU3TNN7F{jppLtP+G(jN-57tBe`z;>WEJccTaIC2tSgCG=!o zKejr%((W6}44~P25>g6M^4Mb`)UCM9$wL#w9c@$4|MBO6KzRo$X*blnmMu^0$f!He z9QiNQ4{wOfE4hNYGQ; zcog_BXDS<~P-*l0d-z+1dU|pT7d~|*6$V|xupc#_d1g)Plm1yY5)vdOQ!h`NOFNH+ z=yJSAcb_>4_5sr+({h-5t=Y3$&~Yiiq(a#a2uMKsLePm1@mey#r?f70wkyhEX-T%q zH2kZ;s2TS?{%@6LM=uqmIwp}wm`_CuHg?_!9}qepC~EH$oSljAbSY>pBiFfmsrBo9 zQ7iC62(T*oJ?*N!$RkiF?%uCEx1@*lYodY{1|Y-;Qhvfm32P2#^2?)o`uvq1Wa`J8 zy%di_n&A~#H|VwZZ{85`SU3c}dOVq@zkcJ3;;E8O;7Q;G)cR3!M{A~FhS7VR7jAP~ zULGc2Evq6Rba#g|>~HNm4@*HZi{dq9guJ#glke`AozF_lPsgCkZ7bg%)W)mjhP?Ib zO^JqD4)&tg^HW_4?=LgQ@j5!MfKzVUyt>!Fsg*`0ugX(Ertg7EB|^Jyj*VrY^HWO~ zw&`TyYnZ_8Ki^2LN%9=V(x*TWD-9|`rh_Kb(Og`0&$ava?_?diCQOGbevg*fX_CZX zKWsKqG8EG%U2P4BT9cpQXmKPY9o+U9Xk%EZS6fz~(J)6dMUsm$OwfsDX%~Kbzwd~T zCF685(ffS*dCZ)$scVdKK@nThGDO;ZWd8z0%$4my!K#PlW7zv#bwR5!kLVX=$~%2q z#g3$A_sIkm^L9ewd4q@TH04dtiC{6I?f=2Lx6?z`W5p;DPC8W;+u>-@&xI(LeV`cb z;wMb$zW42^6M%;m;AB>0IGVP!7mxTnM% zB6*x{CzcJ2_{VqntlHH%9et4lgVtVYxTqXSTdDo4ZD87Ng;lRQF)8ui$+1bXyEBRf z_{h5M@l{SW=#lWhj^6cHDNAwj^Id!nt6Yc-45Vga+W7{2WdQ1;%HCOB2(;;%XyxPN(q008}&3qVX$t?yJQi|6ly7V z4u>N1Jfk=1Kej9q>s>U3w9Sr(x|ChzVw@TbV^hG5x2GN$5z+?D#%T*Sv#SLkHqC#$ z!>3#keC?p%f^0FIEnU^3R4!2Db&4Bbt%>}N|N3F@_#0Z(Cdr`0CqvigCO4)VEA0IhF%b zQ7I!(@MCT_sSx%e5SiD1qAF#JFx!C+w9l-egIY+%weOZ<-jSez+#FYyJMEI}ss1`u zCNEYzInE)B2zJa5=D^Z_52vSwShy(JfUJuL6Zz3z3eF)31=VlGz_= z%|SpsYc$U03q!013u-P2gEs?LN`JS4w9JA3qlCN&gQna(EL1^c&Gfi7=`@UCp zGtH>JHeN?3wt%PFEvZLs{nVoLI?+(dcuN3!cSM#vpXez?J`twh%!@nUkIJ=~S|$wc z3pj+fo3yo~EBAydr)*A-?q5{s4P1lK>tNriuCzBfN;sQJ#13QmK&>zVX7In>1}DE` z>bEnSbI1iAZ?KvlhkSI{KC|7~zpk5_GVPzTpQ*AJzW;_G7%Mg3Ppy<9@}02v5}AFZUhb}-QC^YaR=Ym z@B99H?|$~PIh?bn)~s2xX60CB=ee2BEzTs z%#O)od3p@}RI@jNM-Rlf?M$>Y2uModmTVPfN@t~adKjL_yxAp-2p z1?=HRuWu`SR;8A$9Y@B{P%kO$8TCBQMBPreHaH)CzBwGFxma(i0pb(4_41oF;Cr{Q zad{dJ@3!35uxcC(UkAx;koX?13O5VPpb9+AdEFmn5BO_>^G46K;R$LWarQ;P;^$Y` z@g3vGr-Icb8fZXPiH{!$V%xT~;QPP$jZwrRcQiyFrCD6SQ~isy-5gMh3P198{y@&uK#z*FIb%(stMg3XMaA=@qu`lV{-l(uQ z;6run&MA(4Udh^Hi+sHx)=^-HO3uEUOw#j)U3nSZk^Jc=G*r0;DJmgr;(&T$!h7cD ztwU$Ozf6+#Cf)A(E z7mT(l){e__64idx)U4FCv;=Twe#q2MJ9$h{?O z8a}vJ5AV3!i{|B*hi67l#`Iw_(dJ9n4HB1 z`&;%Y?B5nB6xsym?}sJvmzWsK=MR^v^gZLU5$M>s6?fksGh%wQ0xlg$(@{8&x?`Z; zjnk0F3v7d{oC3#Y5k)hrisse5p{%QD@8EKe-y3|Aqxw7>pQ#-iu<}up*bJ^eD72&&9R!iFD*5$8FNrEr!tE3GhlwsK4% zeVG{t1DtTVC6Yq;wo+wJe1XJEj)zu zvuIsGb~ZZu{SJ5SoK555abfb!Zn*h-$Dalq1|SJK-|1pLI6BteB<|RsMb@mWylDyg zz1FUpq(|A(1=t4ro7WR2-gg5n*90|vK18mwPUtyrJ|~}uY?Bb%pXgq!Y`r`f*=_vB zZ%q7X%2+qh7zzw2GIPwhffg+2%QxY&#RiI{ldHqaK-Yurny_730tsgaqtAfu8^jR3 zjSYnuJHSg2#LXGKI;SKs=Hw@`3SL-XgnaBx?(M-HQV!;Nug9oO%0m=!%x36pr8b~x z(m%2p!z#TI-SgSEQi_L(K)#%xzJE(>j#le$9_gsU23v7X&k{ofm@d}t- ztabYKth3J8&Gr2vV*Mo3x?xuQ)c4A{PDcz8NmdV&-z#OhIH$W90SAv6O zWt6Z{jn_B*q|#v(a?}u-OF%M+_`SMq-0!?YfWLHB7W=lbNs)*w{CH0|@-~!z? zkIYstd|gkMzDQPG0m*l1vnFH9!v2}zaS*55-hpo?i)~{dJgP5T>-|9OQne?@I8#vg z>*zG~2AE&IX}mm5O}%hil{H(8J?U@dd`U`A;d!^`ez{<#zt+@mz+plg`uVk$ql?GR z@*N>V7bi5Z1ecS$es6?S$it{g>_mfQ_gl9&t3V6TB2tQqDsnS;zbwvdWQ0IqHdrxE5Psf?!F?o11FMcEG^3`)q6gRxpwWUWOeFu z;mB6{L`v(4THQ-_mIX_M0c|QIp7NG*)l@8kRb8mzRk}xsClb{hJc;&BrxYn&Tf|r6 zIL%#m${;tP2=nK(NyteB4IL{~M|D)x`}M{NeHHS~7O#rPZXBVUo(w?$x)~HgG*3hS zA!{;xbepE_!!o1EuNkFkVHzG)^jvu6T^~K$?xMSx0*)a*1D^-^rMV-+sH`?9IwmNLO_q`DNG8Rf zdGGPba>Ev4FZ(5TNK7!lNIraE8+pCA=N;WW{fLpvvjgGP=pNwFP4LpE!8W?S;( zwoll$q_Pqg%k7~m_jn1bykxO%! z_lQk;(SVX0wY5{6*r;t{Ae`@nzkf@=bQdk!xrzOg!}%EQId9G4Qk`$GUMb|t>|3?A z$Us-0Hs{SJ2D|h33=+UlZ75gYPZX;)dm}CXsv|0)f{Ys`7`}wGv{qE9 zl%?WV)bZyCXDJ@jzNQi)v8M!5)YxK_SbPRR0w*MXU7sOATKc8)3ZBae*lo|^^4Ly& z_|RpFwmE?qEqo{Bb7c(=Hl2{)YFvsAcZI ztBX=fn{TfLBZvg}Y{w409&Npj+;D(^ta^5Pc+F|CNnO9!y>E^1TjWZ#TCCZ^-6G9x zwGsZW-*Wc9kRgWaR3lJOgb!N?I$raiA9=li^u1d9i@@mRICcVnRD7gu!kEJTH|s)7 z6yXqDA|Xnyk5Nvq!UV0XIs|%{HYOLWMl56$GGf1-B-m$P^QT#}&79c36+~>+zD|o-v(|z3$$FHsZ|os`5yRjm;jAQ)3Z!#XVk7u2b8qgHz7$z_?om$*E#o zX&J3u&>X6ZhY7@)NIq-w_hm6xTFTvM1Qx_|CY`&UA29v1yl-IgjiTaBas)En1wX&a zj@+8E;Zk!DVpI>4EwxA|J7Jk%z(GFJr25X^PfuI%I%c(N+IVxM>-LwMo@YN}Qs9IL zAyFqhMRHhZ+08SLRLAQcx9uz6#fh~-yE)aQ^o+)*8b0p`LS6roJga2%ZFC&6OmSD z-i6@seqq?8RM#9G=xo9I6ZVP4{+snhc2_2A9#mAF%bm;%vmXt!nhMit=*btdB%+0$7hZ*|FDTW>jd$xJ^v+dzn;&qpE%G`I$iE8wRh4C6sgHo%5E=r z!nP+eoICH{rpyGIP~S8vGLnjcVCC}i+T$kyntp(7Xj$+=%#=oxdT4I42TEaM1K^** z%G9=rEpY_QjTXyu^;$3OGdXUmNshW_H|%zrFqeYsFb$WY;_ePe36*>@TFG}2@iu*hFV**o8<;yiA#3hh*7uQkS|SwAs#{GeO;f0-IZ_#- zBOAHGhqgKMa%5WBVI{4!qe|UWt?c&hGvRVYcz@dx*AHvvvm1BIg%ZlUD0$$KZ?@J_ zW&f6#g}&o;%eGg9)xgzJL~_b~QR!FTxuaU9zWkhM*fC!gV>xfFS(RuOO;i)LgxKYE z{~&PACHck92!Zx!Qg~YY^>sF5=pq$rIbp}vAPtfexI~cg_6 zFssIy0H37X5#x$$OWcJ_cVcmwnw&^oV8tvj*Wa6BR(kp3WF0Zbx@zX=l8b%0fx@R9 z*iIk)LUmjlH@}#__H{cGJy?3MX+RV%EVS$F+<0frz4hJ}vZ3!AZbsn?mF9KNZ7TYV zFk~P(ilp=k=;>%m>Q7w1b;GOWkgTN7BMB96=m1$8uC$@XHp}H@|kLsjY zcnZs?N3W!dz6nqS+ZjD_bD;*4)J3~%=WJg!()Hnv8tjEiKjIQXF-WI?5j4L@wIJA) zBoV@*byqS9OCX8GRqmqe-EsZh9=E9@Z@R9`?w}v;Rvl-3A^K2d3rq7&1=uLT_D8C` z24mA_kBDm5<8CGn_P=Qsc4_0cxTaryfS;g5Kgh@Ya3-GH0(550q0T$JZ7XLPFID;V zye-LreMP_Eic0b;As{vPo%f~yIvxeS6`09lp5#85jB-X`oW=l|Lnq;-S;YKRsy#6n zDh7MK_^5YfZ@$tKVXLZs{*jeF_w_fworjKC$SZnsdR$N7osgTYQE4M=Q8V!!hzzz1 z3L>_*Ol)V;mUFHf|IBc$dn*vU!Q$Km56rg4?(qFX`%NC&hfbiT7*6xIka0_2H$M?J zBC=^YB92c;G>^L2dmHFR?MavO1o8EwPu6-ekaLd8t{krZyfD|ZTrHz=+gaN#`_c9Na=|Gw*$c#LUDdDW%B-q_;pYyux9xvmWr>PiNtok1TyGO)8np^yh%dzYE>AouZ zn+DftU+V@5DR^!ukbCS|WZb?x^ z5!kcGSH}^ixze)=LVaE@6G(ZpAuqWzi^p@gzl(ioh|D`97D9CZ%uLel?EJ_bR-dqZq&l>c5(G_ zi#-$9%v#xV>v$RIKUC*YsA;p+{W-*hltidZ6ajNL&E9Lf<0x6c-fMiK?mC*#j8xEM z8V{&gvKFZ}!zKH6&7>+w`nJ%~(hfp|LMG=twVgIu%^C0o+ zIu1Vb(azI*;7BRY74@*6OtV^(-BAu4MGaQVc4ZN~Jujw@Na%uMnzAY~ypr@Eof#6& z+)B0=J(@&lj;z$PYFhVH-$nvy*cW3`NYB`C1;6`v`4dQ2^b@8UK5_x`R*Z#-c;pq1 zckQ)g%_YE0R?o{qq5lL_{ENR-42cTIB31s+K+oTQltkI_IipUPz2fnF?BkXXfemWL zP>W;34Duslci%5<{>1EDg#Jt-TOU}w17mI-=5%Haeh{H)JVWf5IjNDL3vv=J_!o5N z??qhkD4O)bjr;SYTMW-jn#um?@8}PT&sUPVI1uoT_!^_}M=XmNvCQAl{%OL0^_#Zs z=C*eC`#T4AAMI6X!;i>;U3{E&S-4R!#_9_MR6$PKZB-OBjYpP5Vb^WX7G*T9`~CVW zc39<*sTv6BVjqP&K{4K63MYf~VD~hxby@!T?&eecrJ1!h+RpT>+cg8GbV3S8Wexn> zLe{e5c$LSw-j!EoDxg(37fr=5w~Si6d6QCh7)Kwk{+ZLf2=^{T(4c(y*;A?@6I@$e z%mqx6rMsol#or$udw}GfBLNw?6``7gjx_iK%x)3eQ?X#T4O{I&MG|Ru%OsFj!(DEYLWEry;% zkuwsP7Ctn;Jd-({QgLCW`P$yT(-lV=lKJS*HC+ocl!Mp)`r2VXZF0~x&5`)9+JAK<^^QK`i*oXbm!~COIN^_VAzMcxj-#^J)D4;?xaPY& zrVaN%|DSD;qzxfVDE(&jQrdbm&b{PkhdHyd5(~c55$U4ePHuxF!VKBFg(2mq4QfBQ zr5wLehztb}|C+_uRlD02n@d#eKe-FxAFOQQ-ne>gc{^D)awi{B}~?iPS&t!&5h|hN;TX1Ozs&G-eRs5?hi^ z8r!B|t3Tzg38kU^Xl+vtDP2+g=_U~v3~2sLqP3B5WGw|aN~p4NCN zb%P9-EkMC;UFhKEN?+#E@xfC#czrDS-!}b42ETWL&(%O4D1I6TDAsa2< zuqw0_{~{_o8tGPR`vdpV1jTH!gUNgK1q`Yn^XKq5hf;C6-XuZ0Z>c}_Gw9RDF>Ug- zQoJ_O)yCsips`4mRxCyYc#(AzCXI7gy`~WGO#9Tm^i9WG@W?)nri+zbZJIaObfaBz zhOC-=FS;0PI}>?><}cK9@)4s;LQG%iU;=B$fJ>e+=3#-7xaR>47k#ZoMCFrcxhS#h zdegkcKug4v=#7?Un*1mqgv(peKtbxyuf%d;jmq)9REH?35J=kxL*Y8x&}e2EiP7FV z1E7%NUzJ9`Jk~4aLb)n^({-$u7Pg`A;vGfIFHdi?4sUds&Omn&De8l>o)_}>rBqLP ze7(EBUR;|zy=a1dK|TBJ;pC+Q!xGF3=JkPxtDkjoi<4(dx1z9K`?Q9Bbg=6W_iGE6 z337CmdJ9VfQR|MhZT147ZAtC%cEv&5uJ(Dqs8~DXsgeIKzEcFU53d2Ri*Q z)D!%(@xu~4ZzfN`b0yX*#t38~ zZqI_LE6GPJpYmmt;@_cMmNc_I(mE`0C@2qM;B*Whm;Ukr8v~7ePx4(Poj#$cI1+!l zy#TCo58r8`IFh$%>+FWX;b>QE44cG9lgEvh%A|!V`3$SKp>z-Gv7&kn6ez?^XHuLV zJW_gLj2-LF?@g>kDv~|Mf8Nfrlnp+20$@`?k=6^j|4Byl{MSbi)_RfA9gy9MWhalU zSmaGNlHNPaz`BE1hiejInl)gb2Il*J%Kv%H;Ua28kmg+cSRB+-i+IW__Oj6apW0Jo z=-&>K@ST!bLDGj5PDu?i<*tIThN1fn0tRmkl5Z#wzB@ck&+JhsAD_V}hm?>VFXYynPOYh$J=XVvKg27(dvx_=h9lV?ttQrYQe=(htsi)bqEQe*bR zaC-j0@Xtf0#_<=Hr}_fSpWTd#AN|S3_O>=9*yY2VH<5L{QG;R>(ofy~f%<=o{qu>x z_3t+LPwB@&O=a>$X{qA=DKI?u_xCAVYn{EHt`xj3k4(+~t!H@ezi)MBGCkEC46DvD zS6@K+TdBhf`E2FKuKXz(gYh4dW_w0q8d8`Hd85zmdRF}ZskivQ_1X(ytYETreR-$n zrbVsmE%;AW|1II9{TICFmVwfOOHWtJ-NY>arw@PoJV)@C4Z0)FUEy%iqEfp9{t$xW zV>J?gheaC07q#;U#6R^r`TYy;ZXerj4ZQYJJtcf+zlM(*m462qQUzyHc=~nvRvWi zKEargGx?o#Q{GQax!iC;*vp8V9A}V{O4nQ7gdM0i%*{0-fs0Ja7|gu+?zT2{5ERFe zP_HTUM@h84z8w%Bso^@YTQ5eAPD#IoxLkv%@nguC(bk_A?fA){_}ql5fZw55&o{&m zAg)tl;%g|Vq~BsBwn(zTir1iK2FlL-{Zy#I;K*2wj#M0*V?&?c--Yqc%uJ-5TnECQZE|LPMa9W3rm7CSzqy zSv(qrSptZQjvw3-o<2$!?XZ1}{h3fXp%{HYcVGeVl)OmTepJAxG^%94b z>&;vg9FA{jdft!ZycQTq9Jo2#4(H+TaqnlkTX%0BxDYaXj)30luiUfq{-aT!!Dwb} zEgpVCHY3XnYDgv!!yC>w5*~XZm;F$W13Np9!UxrNr;2QsDjFGfwMmxIA|;VkH$k6!_C? zK0G{v?*+doc;{>cM=i)yn8_eMO<|b8J6}~bxcj$uWMiYMT|;sAlR=6&`lw*7?Cpxg z__aF(332-6kr1aT5##RSLo)i`^lK00NL6$VoXfQ&0^a%}X_#YURT|~jysH$9K{Kr4 z#ZiGh@lo;dq_p(sfo(B(M3gLbyLy<*C+<{X7#hV1c?HZbq@>7;#vR;*Y&L&bpgj@7 z0^;Bo;^JOKDRLknuo5$yox#%14d+dTPdAxqn6qPE5|$KZ^}%eUGYQZ4>S_$RY!rd7 zPkMS_W8&i@FE7!|s}PW2*hMzq3y~A*u%Q+dVt%i15G^P~U3AcdzKluy5&+aa28Wac zPqCaC^hybDPEgBS=A`2jRa-Y;pA*C4;NDQt(IFxuYYuKjDCYlI+zav`C{+)dv6is5 zMlLA8NC(xCMrpYL`9`fh$+Q5dZnR!UkPYFV7A4}uD}$!yL>Gc6^b6+W!mIjKV_S< zjnL4L8UHwIgN=xSQf@q zoc{oW7~WSbDZ$-yEsdwyWm>-t%j4UY@`52N$NEf0&nX*x2|i$wMHKa-<&Ej8Up-Df z*~;$=6eZoIcDfpjAmyGc9%r<)fsld%;@#OM!khbFFIAnnC5K?e6eS9|+s$A34<*A? z@{=J*pgboQ26w#NIYR?#=>$3e_F6@|Q9cOM1AJ3R)hyv>Z3MkU*nbeC$Hw7udQBRj z{UU2!Wmn=gE!QY#XQvQ!-IJ1%!cS!*#6zJ2HKBblc%=|Hl#Eh5PNX5Lj82f`j2XM? z&nU3ya)bM;E!nDE<*|hwXNh7pDk>3j34{%!$w4t0xmN~;pjO&2ay$aE_L8|9MMVv` z@JYsR793p{Ph=0>bnF`T>;!fIW-voc8k!Ku zqfz}Zr8A*Fd*2w0hJN2nNz-?W}^}M)5K>QPuI${b~fYRJI-5ZfyBbKDM~Otd=|sQjbi_e)D~r)2f~{2yZQ-mFh^m11%E^iH!A=8(mQ}}L zD7jA!_{qY!cyg0QO~3FDK$1Ovk*^|NI7BHj9|1k3*}cDjnV;V?2;p>pGm3lZCBm1g z5TB%;kzR%b$cdu1rT@rU0ImCXm4ej(ecx9K@h8uTBgLAL2K7_3Ru{ZOP}bkmx(T(3 z>yhl9TTEI#j(5p!w0-MG>yC5V&e^4{Zh_KIljqcxwiK)Dr!Uh^pA$tQ5X4}gL1k=; zy|!iz!$?>xZG>ek%?s)?4V>74PxqtD`>wq8Wwmc*c^TIIq!z*55nkhR#@sHnu4=I?IgP`GQGDrV$;r;?J_$QA<=VjiC=l~|OT^Gd0d4pLMiOeC1TrNa59djbym2~AR+p7NBsUhO7*Vs0$KRqH)>h!mq z#>Mb-W3mip@qnrDAcHVItYgIxZzg81>DyN;^r$@^`5FYV++Yojj*opWDuM|{#Qa{= z2;)q^A~}SvbowIJ%fSx^4&(v>)H{%L6yR6-$mevmozRIDWsF)Kg2}zHvKdRTD=a!pfg6TQ@Zp6fnB{Do^f3!;TOKNIx+hb2l`&sp z(JH6l#0-X$0mjvojkz0eaQRDom5-&JBvVjPQ(FSq9u_XI^i~})Weg*F0yY{V`aVaI zF{n0DUw$-wVvjg4_Jj81N~N;pEE8 zu5K=`prGyhG7jleW@%MbbSoY~$!Mf#2x{5@14OM#07I)-lzzwQ$Um7Bvv{0w!(4^= zHRTm)M9)(zq=IOOa=ON=c;gDjX@G=1?q9BxtwLzsVfo1^RG6We#e(^oFl3RDH%A!I zKYMe<#HJ!OiC_e@YA<1*NrEj#uQUj(uwN{i{!;8!>#R3K)CHKV#jp&2WqF$1T{nZQkmTC!Y3ixW@6 zhRl8RhLCG!pmRrHLNarP8Z+<#nxk*vk6GaV&|>YSrx_km9%3(K2l!gA$YGNhAOF29 zk0>EQ)j!;$GsY)d)W(7&;^fYri?6@*K;42Q^5h9`pqB`;A7(5q^kMtX*)MN7u$gQX zfqBAZB&clPtNwLH)MnpIiKLhh2ZCF6q`a1qe=XKhgqD><`_tr^c=k5ABhORXo$Pvf zDotaITwJw6bZ2J*z-^@0=MWHtkBQ2-@GTvAES|~vi;7S{Jp{#4ntxY*pAK#{h*&OH zk9wEI^S0G&(XugDG}Xg5a>4Y^0vB8-qU1S3M<3MDzhWIPFic=Sn=DQvtw0oTNNnZV zZ%tysn!J5XiOERC2;Z@FC-w`_Y)&fZ_wSiPc|RL)Y=0lIFm}Lr%z%^UdhF3uHnp2q zsiCB)8W|SGJUTkwW>E!h@l!XjV3yA0%=w&7qTzpF!J&^@=%!Eh`jYSzkGE(k*pVvg z+vOz0(Vne9O9dW54GPCmo*DZuPNpviw}i*;rcOWS7S+G0- zzc{edNXq&ve1>+A`muQIwz1+}7(X#m0AP4|u)-r9zU3I&%|@{z7*XP0F^-5YF-3#!S#H+ zH>ntc3T(rQo6*Elny};hS~f$PSEZq-rslu>g_xgw#u`IL1X-^XPot^#&38q>M*ZT{ z%={RrW{FmGTo|H8Lg*$!6kX-7+Sg79burrLUY6XZPq`k?UQ%*Eb91r|V4z^;JwHnk zcgNy{aMR=PN)07+1k!W2+7aZIm7Cpa#RCGDQYz$z&wZp6=mi@K*wjZyM>C2VamKi- z@(L?kjjDosS$K9!K`fqB3B~*`T`zshB}atB55B6OKK~ebZ^ZckkJ08XRWmb`-ZFjM zm@#D%1d@y^8&NC2jpHws8I7DI!{E0`1UQ&e%|>hEL1$ZOU-`aen6dPhC?WwJa`V0L z3wM9r`E2cz>C&PDeFSx)!UJ`I%&-)MOmh0bHVWRj+m&0lN?^T5u2oD=zd?!f$Ng&!MCJs{2=Vv_osWI<(D+{45hb`nEP(5hF34LaUjRI+E_Ji?m=OeiP^d4h%b@c>B& z+jo!~*DHFOUV2=d<-S34?!mk<9p%Kwm0$$ccROns)*N*akD!I+j-s|%J_X_ESlgBz zd@Si}RN`Bf_e`)KQ9%mrXM+=j>B?KHaP~j%eY_v^%@5sv`byl~_*L{IxJ5z`Uf(=4 zBdi1tmcKZJ`LyUpc{|xUv&gB$CWj?uHhJWi1{2B97LP)w!i>MX>~!n~=A3HYDqzYg zsK-1=t~fv|d-)fSB%EyQYO+=3jFP&UnDtlH{*lq~@yA86a`e1=WE8S`E%e&khd#L! znSdj2Z2HBw9Fdo}5p8XygUL_3kE-tpQkIT+&dTfU$>~p7p1*nfK*!Vl(~Y=uV=#Fy zy2m9nqf%Dr{DDMA773srGyc6~g|eSo?h(W|PE;MYcPcpoA&=X_eAJ@Lgc_wUMY|}k zxDd5t?S=l7QSi)~jp8W@zio*k+{t=K$Z}467JQ|fE_GmAoiNcGGODU_)Z=91$R!GQm$FTEoBHA|<*Prwx!rND!BoYpxTmguD5chjc@`h{sLx4astjbO}T; zf7H;}WW*;&OOL6-+J1yYBcAcLR`mG=@vdmtYom87ms4f>Q$NThEO2#i5VA97xf8JEQrC2cbWo3I`&2&x6pUM)Ha7*@_0RsnxGeuHu? z5V;xryJW`)?z=)lx7!-XdpCG-CoQc{l$Sbp15~0+emM>A>lY5K^IIyo3)B#7xHEB7 zuvB1Fm>+`P=%iwJc$1#m+Ycg^#1E64-mAi$dYD&fxnF6xZ2zI*xkyonV8c%tW7AhM zdu({xpi2MM}h8@wBI3Y*~vXz-2FU9CyVBPY=eN{khny0`#yXFH( z@2)pw&ha91$WHImCI?nT3ZV3P5W7~>lMNkKf1m6z(~zG_el&KdF42tbI|-{k?@o=d zc>@c>LKZ}0lp4$SgQx{ z?|vTnL1l|CrR^%;+&r|gc&ai#)V=_xVh~G|o{wNK4{#o9X(Zo57B9g0KL6fA+jn;O zeU;3sS21a}q;b%#Yc4A`VqS?^ ztphlXA1!M>C+vkvJX?Mrcnjzz2HoOv11Tn01w3214 z+P&yoZ<%==_(*B=1j=sj6$4StOeGqH++eLe_As!83~v7zw0I79!1cb57+m*bme|Sa zr==W|iYu3lVdTI+q;@VN^(6=@HMD}fj%~zM3KGHH1*2oH zV+X5J@WPuv-ww6sA|eSizU?|AB9CUsB9}m8gTbS>xrSVw8T;rTE~s_&E%NCzAyIW! zwgr?K+@h687pfuNBz#}-iqs0M<+G-=xmL$QJ!g5s>nRF$XKM6^7x*Yri_vqUb~aDl z64W?85$@kCvO3VZf7GDx@}D93VdGq>*v9e&Knf4sVXY>yjZcleTal}oW-p3`86NX< zNj7P&9Qjcqh2q}An;oH7Th2z?UOH}G_!k~7qH>WRGH_2%_jeh?WGfE=y5Z5OyRw3E z;VpkdO&u0&cO;iPCZ0RSGsQ#XsU04((M~NW9_;s*U$r z0wwD{HW8ekLyfZQ8tcR;CQN3`kJsCL9BM(Djg9JRE;m8Sy6B=)!k2J2gS{!ZN-r%) zDY%J!#Vq)S`dN6=UT)U9cYZkfbP^^xnm`PBT|BODGWO|=NO>`!ygKS6uuiq>wFM?Y zELjfm{Sog4gcV75Dg&%{kg!@w{piZCo|$(!j=S6jMJdE$uEUp?6b}pg?AfPdE=kEz z=Zv0|8|PA=XQC3Jd6o8hpF;DTiForF-gebP|AEom(1*0&M_VLUc7oczDU2YI`hTvB zZy$n9{=8%u@%bBE&(6>5wBN>ac>j3;e8^CMh(CM$B7?)p9wsL>CakZpP*Hb1%GvR8 zt^Vf{z(?)*^UoJfQ!Q#7<>!}Yh07Ye!T)&ye8_uS9ux8SMcxy+Y#7MbPyVnsR+A0c zY~y`Y|J&yF^QW{lk6&1bnMRS*Fwiefl*%nSxf#!q{_krU3T^*(4Jk^1n+(d%poY7P z_5apHTA;z}_ovB*kxt~=QwrGcW5@uKkIBIQUP`%(VgGh6~6D$?e*bIb9|65a@u7-^C;}nh}0FW|#O$sh}#=uij6!HI>p6TG=e}-rs zAD`1UimP0{AL0O#x&OaG%41CR2LeihuY?5Py{|hBui7OJj|q|<+xUBpO8o5`86L`F zhvRid&T#OVXdSMyX=%59(?$EWlrDJG*$sdD(}_b|>W zg_Wdfl*ssN05gFi4NIwAknwfC*qM>dZZU|9D_yapUiELIlESF}LQLi+ff0hw_{U#U zQd4h_G5^+?tf|8AtkG1|TnaL+^^2Cg6+hP_A4!$uK6N(c49$mmi0U_dOTjP1ce})hF-?A)v(Lwr&i3STi zsHqsGEpEL#?8K<|Gcn5fFUDWMN*^XB{_V1)bxwpc?B7~KiE&iqhC=!Xe_- zgnpklPWQrc9((lXI@9_uzGm2%Z6oJ*|KfhZ#7J%9x%=b^N0;N0_h0PHI5+rrrWq>6 z+{%8RTDDNp!*?{KQGFJ?RwhCd@j~2mMW_Hd|IZty zUDee6>mGAf0S?&JF8_ z;9B`SStZ%okUm{;v6kQ4fTPf8T{gStn)jNqw2cov8^;6sUT0($+uL6nOR|2T zg(rH=?cM->^0rEpBBjR0R@Kwz_8mUYU0tzi>DKG|?Mu;nD`e(EO95}uKTsXDPyYIc z`~yl`J4+2-L?5A#wzU_GhQOx$q=B5M7n~K_^%39E6<%JkkR}{H_nvX7eDecnP)q@0(FoV#f4>wrO1gOKxv79ca zGA5_8uu$>wiN-zZ3rn+H3b0UK)lN@PFo9k&hX5Zxfsu_>LfHsL8iORjKJ%sY7=di; zVY}r+X9~N>*e*{MfqeHsQ$7W0-w|wU2Aw`g5Aj;5X#+Tg*^j*=gn>FfMveJAgb0#h z17HLruSl^vox)l=3W8Ue0XnH{G}fG^dKKq0=m zz6*9q=v#8Q;S?E&%_U3aQ;GmkUN0Lhv@(}~*jeeFi-B8Nn(3TQ5obSUz z)#|eCiYodQY+J0Zp1wpFZg0N7dn59b-%;V`M+kZ3?)_(uC)&OZE9kzrAB&owbZ^GZ z@A5G8H$z?5@*&Cj>Q7qK&;U_&lCB#Y8=t2_;l-5ZG>%{33sCJjREV300p()?@6Cyy=}F7gNxlsu)?8quBp@uLw&As6-L_!xu) zjDCRyCliZVGiQem)oRYM*gI9ZivP>y;085X_ylJcLr_lcxBZlJ&GIeR8$>8l&(Y^5 z@6N3qQyznVrn*n}VArHPY*#wyPa0Jj?bS!t9t`CUin8F2gl5o<{L0Cgr|=S%q2%p&OV5I6aU@{W}tI&h(^Fk zn_8gptmCqq$n_G7++*{5h|yeViQ?NvST;*KWk-5QJrg4<3xu6z+~A~|3>*ToXc?fP zbl7-#ZjTtA4Zl5_Iq-dSp*RdBcYk8r+Om6^xF>kDQ&6SIh$kZ}7g6h!{(G%!8lB|R z9Q#|J-aQxNzU#=%v@t@IVCvD+9%fyylLIdOpx#G1Fn-CsDJq!nU8xxd6Et|CTg5;2(>u5hUH?rY+4Q>eH;Zv!nI zLDsFiyJbQY3KJGAf1iJyyxrijnyDkXt9S+k1~IAelQ|2}kF)uFmJK-|>@I8{gqb}g z;j#Ikmg%oYf!OLBJe_DQ7&FByF>iWPA`FB9GNHULtyVyyCjVYE--U}Bbl-H_G$*g) zD`g$mPP*e8eDbI5QM#V?K;S;(y4U3@dLNb_2U%JCj$@LQYt*^zEb}T9a#^04A;4QK z{Gs~1k_>|(3jjFuFp0Kz}l7)DQsbSjp9&SbWhYmX$;Qn?G8{ow`Q50{~%&ffZl$ zt{!E^Wnaue83xUxX*P#XmlWq`$6WQgVR9hVb`v-YeL(A%diRcdSoy8pTtbooSVgr< z=blQcZv&;|o4Ww%pIiJ^&;zY-}gyTVj}@1cFh| z#P9OULfbNnJ&&uM(nhZc5-uFX@UU`g2%G!6@;8LO!MIVvC_ScA7|*`~?Y(4MD7Pc>+i%0V2fv0qM`oUYDiq118W1JvvaY0gtHrYF{ILJrS^x zh-E7Sk6%J+Fh5*5Z^T~flHI#>qF=JGQvkWOe9JwCeDghqnPja;USkGKlCG;|H?5Mh zGb>x&I=znj)`CI#l$O^52ux0XA$*PZN}5LQ*RP{A-UTTOIUEGU#2mePEB<}YOW9M| zH&Uw3=pvV^j<@GG^r0DuE7H*&8SKpaeV=LH{@Rzzw<%foNq6@OIo-;Uc#zw#|Vp=NrFS z$e!MVfJqOVBYYRVBiMu>tINjE?1{O6A({_{FCKibXWT#{knic6SU!5?#B|x&$s9gt zBH9(N$Z2ky-=o?zTe3x^3Lv)>X@!4nxS(oD#}c79oVfQQ<#fhTd#L^{OQk7)W8KF| zOWRRXm)69~j`^nLka#`SLpgk=>a+oA;(~(HN+vfdc>3BmFfX@!%>A(MC1Sa41H1%8 zNHb7KCW_&EFn$!in!$qmo_Mk! zkr@S4BFywW(0e{26A5wf8hr!!OAKa^rFwrd_}8|D)l@a?$-)hiM<99W{e^Dcm__65 zxEIi(7;R@A9ee&@!2C&yrgV_4$OuSXsQSDcA~$zc?eg-8eR?{QS_Aq+?UoiP?+Vh@ z?|nP!d8_t3?4Rjsg+TQgbRnu2^vL2QXXY4AF8YHYL)kI36aa1r@ALm3qTV_#>S*g8 z9z;P&5v4;wK$(GM|R zR-6fMnKDYiZx=4s)V2>sO|(tEf(rJZ8cVF8!4k;wTa4VYi;>bP0?u@JCxf3gvs++` zSHTq)gC{L9`{6ZR6{ z{TJtUvFPRGL@!LLH`V>er8I&rH0OQ}iwX{~9k^`@6py{MtI=N$9j+1^j8nQ5VeHZe`o8P`7`>UWh7~^Lf=L_zt zFjK;9ZluHS)6oF?51 zCXhD=MEA_*yg=La^7d8G!`piUt$g?|$LjYMP?TI0gmH0khjW~cU~Wm7=v$||h5^Sf zH$8k&Oziam8f87(G^>;p#%~88eOHT}U9V6jvQEcUS}PqAS0TDr0Yc!rUqkQ5i9Pu< z!Q_56s|ZKVu&*BAB< zO7zcQu6#S`5uj&Wkk4Z5kOC#<(DzExWpUo?uq>}^DJt3NpjCARv^D<&6CGxpL$gQK z`{h)na$EJ?vN^Z!>Q?Us_d9e(vh0)~U#lqnZ7VZ9+}W-=GVSaaeSuxD8Zx~|QPaMh z#k)2kvc;3Z=AHd8 zi?~O2vt@*z)&GJ<#8ninxYfgQfy+B9<2wNg^3bPVk_@|3zz^+l@Lc`H4Irg>9Q50k z>BkyKIL}#8MdB6eUr9ig(hdUu4J)X~eV(Q}4cJH*e}}~adunL_oDJ>QB%Hws^3zY` zTLOY~kJmDfa;*`V3*7ty3e)*VFLuuk6_heQ|M_Ec?G^YV238`o9i^Yy&FEbOV||c=zLww8t2fw&+XAvty`W(fAD9kvDDr z)6bWzuim_AtL!FsLZ*LUGVG-HH%qPzdaP+8#XiL+EjO!WTg<)JE%9{X0sN{uJt%3N zZq}7(IJ18Jtb3Q7yo$>Lj(m)orC_Ifx2W}$hA2hUgJ_~ShKE8GDu81-kQo9Ne&GPj zROi!A*{RG&9cAyJ^$X>XiNc`W zPjyau``Z4d+lglI02?i&bb1dwwcs}o&J3Rju|9F?6DpOU1Nke2X;3vo5+_d8=K8=E zynXC+_JrMJ`UndAwbtnMFsSnecc9~V0Idh))Y;joRt_9iiv!=e56!sOL=Xhf8!4{d zfm}W;jL>F($c7;lw^8kjdj*Lt2;a6sHgv9IWZ<`Pq)L&1fTMH0eTMH~i<0T}J&frYHtU%v>M@!ULmy zkeFC=xe$f}xhy|hneJq;I{IFH!6WW^UGJP~-a5BK2Mja4Vqml|oFT1cQ7Us#Pix;6 z{861tLG3@nboSAaTN{ZZ1uQ!V3~B9EE4&<=VFYKzLFzq2Jb@p^*?6?#!tZS=n^}D z%%}(cAeJjhhm%)C3@H&>i#m{s?l0377At$V7{N#Yp6Avd#6Wj5bs6_H8MU5Hf$@-f ze&xOIOw>m`w0j(N{+~Ep6j8zr$`(!AnC7wv1rsYq!%UE8=H?m|v&vKw1feyec8j%y zfVR0~;X3sqa^4rUJj&Z-=j!{Vu3mfKj&PJ}?70nhRgRQ*SVx`7#bT1{&`7$eZ#2`) zVCetOt!A0^rNC(7#ytWfy^B($bFhDgWng=M!BukpvGlOeLqY{A zM4mVJ{Z8I!$W=X7^TM+w>}b#AAAef^-J3WM9%#I}qhzz&-{u0=5CJpS_;2EuuBt%648L6 z!Uo}hDNxD~mEIN>w!{_;J}=T-jw^8d7Y60&klV-@&)Q&{F}2$B{tgDXQt)`uf0Wrm zfHGsbC>d&9)>t&(d5~7^wypgIpp2-VhzxDXD+pdR9~@nA_RMi}+By$}TQjp?*9Eg? znm&&(xOUf0?h4gZ>N0)*vtLZ$KY*>Xk1cRzcFzOeyg63fW!GMJ>`pr?IbQlvq(QiEH9G?)*Hpi+X#t+HBnXN z*H8iHG~^H^xOjQ^?qVmF-FfF!E9CxSDBL9i?cL77<#*5@EiL=O_iU}-ddoFeXvX)V z!m_{Z)90Y0U?X*PW}Z89P5EWM2Q}1?Qag-linO;_SG_ z-p`I*qxZx@k(m<6@NgZ90&QCBW_x;1#kgQ_h}ythk+sfhyV-E-cy?L$!gkgiuiZu7 zH%&Ub^&V3$c}Xraf#TZQ(?eK!zFMOnr}=pRH`nfTgfwybZ#S9a!tMgnW3!>}YpfO;F(AMo7 zb5bZZ?`MI#kt|DyH`mMoKnJhlf^RVfd<}_c4mK#UEt?;15YAQ=zuwlOkm8G$T`}DHNN!06$M<_Q z;9mvKEsUI(P5}&H48*e9>|BJH#~#Vr50ilnVMbqk^1|UApg$q$!qvv*UUa%JwSr1o z(D+;|!#W9$($ zOGifUV3Mk8#WmBU<7#iM>bJw=-+=5B6Q1~PYIR_Vd)_9?9idSeRk>)@F~5A~{3hof zlvke(=H9t4HPz_Js3Nr${N?<_OA@^i6a)Y4y1o=_8gq?}L(duf?}37;NUDhbj|ju) z@{bM6Q=hvbFFpmzAR*Y(u6WVYIYr~49bh9mydWoK;TF0Djw|Hj^}$&qGE= z1OS-L*i2qCbU@5iSis|K9X?B|#Pn=)5Ow#rr+Nm|2c*r}7`!ePQv`Q@ zX*LVT#kPhSp@&*Tu_wn)qwZQO7ZnyTjOR0O6vt@7f7A5U{$xz(IfTvS7L)Z#HvqUi ztf2hTc$mpsE;Tz>xr2PLiB7zB$HC;zJfI>M@rl<>NWK2SzS`FsJf?{VTA$@8h8n)6QzW$0dW;2WV5 zH@h1x=Hl}n@EaQpfnc@XlCvM;6n0mRtaf_32EM+t>R*|_ZW9p=GB*B8H!t8WZbAH3 zSl&o1DBC@UBBpS!f>jFI^<6iXtD6nMfHyIL-8~1KrTD?*mHk(sLUU4nG$_wN+X ztN9wZAt}7BfCo&V?|1NMHsm@dNj7wQZb?t^F?uUGY;mJW51D)nwZ<6 zVxy$t8?;DR!l4NsK-AOSGOVD~4x;>06^!z!cSh^7jl1s`pE&Jxa+-+hk_mO)8Jb1$ z@)*iJbhFgP!?|=*(<16Y7^>n^E$+{xc8&>oL7teW`wn!BmP*hY+0SEuGPAs^SRDGi zM8W#QEr!M`=w|Xbl`pb%U?u*xrRs%AwOM68$X ztea`W?7NJho_+#YU1px?dF|KM)Zo+am)SP^{@~5Z4%3(adbnix^)PKsW_c<*Cipoc zyNt(3D&?}F=Un9VQ#M=Vc+SeZI5p$Zxl+Y#y>sv%&x22{_UZEMY)A1>?D^i;8PI_uByTfCEW`*>zU%Hh;q3ucarI z#&Th$4g&N7F70a$8!DVI?Hez%-d?lc7x1Pq=jp|PR_Z*V47AL9z0bCem+VOa7b?lh z!tSzHH9}B9@J0}WzGrfDTs-m)Mh|K%WxCsLBvPY7o)BzzyyNrnaU;$^)CY zNnn6+{Nw{V$zYT;=6(bgrCAUime0Pef(dr=ubQaL$&0#b-Ri>H*hXhHZbbW={Pzf) z%{uhf=-!u0NJ{j4&9%=Vb(vC)J(N_h$osLFGHN=XP;6w(^g(2V?_1Txa9;ZOuIr*7 zHcPT>n3}`Xx(a{0Gur6rf_ z*gMQ4#`}8QFZ>J{v5#W`3s)?wJBrftZ-h6{z7tY;0`HY*iU@ zl^J5{t)x4)V~z;6y+Bdcl<(_ievwZtNBV>(%9@Ek`uL_6^zO^ z(C7B=KeM;zKC?hOA~KT=Kkf#klCc{%8t`s&C9zT3-KFQLduLdly+TZ;<~f>S!hLG@ ze{5M){+LZ9o$xQ^5`Dzp3W&=#wH8?V06JdvDNUc4?_A4JRO^WlP)AZxfdkOvwE>X zVS;^FhV+OqOtRr_PfyZK%(Wyj{-^0XDl;+^FFpI^f!=@I6zv**nP^5rdc!O9eG z2e!D8r)3Tl*Sg^Khgu%||7<^Fduw~;4=wZW5G?2e30z!F<2PY1<%6uBZBf73e;JJo zcQ;hA{`W=TWxVbG=Q?7@E$)djXS{EGNF`{I8IQxteiHsAKj@YglP=0sEN;}T=5U?v zQJ%HwJlAy<_n(h#+5dSbjQd{Gqz712GzB!@{i*n`u=zCPhk8fd2ap9K3Ngh*z(ru% zHq2ZB)IAJ|NTav@QCgeDV;!4049P|J*+U8bMKvo0mdt#ak|K-ZSgw7i#cS2g1Be#12B$``9>id?i z?yNzERsv>c9sUOL$mrG;DjyiS4x3fc$g^NcK8ayve!=&AcV~ZU5R0 ztG7?DPeM^_YIdjCq*?aQsgS{ip0L*aDEIh$TAeZrdgR&~Y)4AiVc~PXZneVP0KnCg z8n(cQ%;KP{ra`QBKTXoWwrnYU!{F24Mg*Fnoz)x=a(pWuvSU7Y@dU58!X}Hj7B7vM z>^u~vHo$j-1Hy;ke2!G6ME1F{+SEp&uQS#|NZ7P!IQ`ZDtom?4Ns^Ctg%^!dqw$8c1QY z^d7#TJG9~AGl?}jS$pX0Ug#qX??7>two%pe+C~p22gs{3vZvBNA7AU$03f@+kw~lX z-`KY}zRx{f>MR&wP%Hk&{tE5N>9M;&ex!~4^y1?1xTkd1Q?@C&4u4^$99-Wc`TNOd z_?ZkP_+r!3qL^S)HK)?sf-w>_q>@OYg}@zi0Ahk0_GN(f(r)NaiImcJU>}gQr?{4x zHLK)+U*m8l5V0PiDpcPO#>yV{q#cAxYJSilj(N;1CB?mpARLs!t*~HNT#-HooyprU zchR*rFo{t2z-a6+t7b3M_QzY~r`1oFpn@uTjr zS;q!E%glf`UABy%x)8l8oW4%0a;&V{SU9h!FS3vVwc$~ZhzXR6E$lwa)_jLqPuZc0K6$lJ)Yf+J}&w-Xu7HO$y?~*9Xo%X+nf#!$1N89UScZ zDRS(LOq}LRneNZ?S@gRi2h+A=0NJQBw_m4w(2?oyeKZKho6}zx&ErBs*W5AWwnWpD zlEQx*Ktctgu+!2KQzVrz6_B5SY8tM)pGlaZi5oK+@jISvskW0b!4QS~Oj;)5D1!w{ z!=Bo3rx%~CR44~JwDwf(TyLbsT-*Ku=LzIf|J{Y;uz6qP^Aj(pj^FI2pj{ShD4;YF zrdiwDBf;lsTB5rar0vBWW!=yiqvZ`zuoBpKs8h(B=js^~kk+fxIb$E)@xAJ49cl?G zb(?lc7uvX=prr|fAo&+BBxPZ=fN?P{)8@ZwjA349qKObTJX+|48n+EGfnxei7yRer z&_`Ae2yOxAHRK0qqttUf&Zt2Rq+OR(I1r$XarAKh8JY@q&URX^wY&kLBVotRRST|S zzJI4_KyT{;Pr&CEqubsNT|el+Y5GxKhbMDY$FW)qH2sgD3(ER~To)V|8)PjOi6DQ2 zR3*XMx`|N9gHs=8pinQb91q@rOl6S#M|a&WC)5>HlpUMBsM{7XL-zj#Eb|Knn2tS| z^yFD{dY~oZ9R--zIq$0uU0xX$8D#f{B4S&Ya20(UO^DCajP}zDKwy|k92J|WHtQOY zGpB(|hNLnK$Xdcd2|}nJh0cj@pV~XbUzsZ$K*rIFIuG2UA{T|~Rv*MQFV_0<;;pR% z`?v9AW^?J%DJ9>-dc&zp&{(y(jS+xoAGW;c6LYsHnDL%3@>Fn-{VRc3B;Ukkx{Y{{dyXRGvns zyllo!)fLajO~eYLh<=1GqaU4uGW2uAz;TRFgktX@cqYy>PuS)C7^`%mfa))A<07CU z=^!65Yv9w*4a7*IoQJ{w3(Iax76 z|2RVyx_{-@+yp_Wf>k*p4(hdOkV3PnW#|p3PxqYIy7uI#N}>q%>yIf`=|w-5BwtY> zwP)iFG&pLJ8lG*`xx#<)^ZzZDU}OMKbPLQcm|XNA9gy)AR+03;b7K8e*_9KcLhovv1gZLcmFdBhL6ZhyWv*m%UY-rp#(>VAGqx|H{z z0I@k&&o3&Xz<^3f)G`@C52FVwRE@?RX%DC4N?saxP8J1r_B!@;N|8!Ov*anajF|T_ z`AA;N%)q9x49d?iyQ}SE)rU`*K;zj$2L9ChW@oyX0ye~mZ`95)ZRd2vrK5Okg2kK|Hf&u@4ncEwBWWVN^B72 zEh#0LuUjFmRg710QIDCLnJM?VWZRzn-Cbjh%Y8nmi{@r4av`rRX$yXzo_J*7Wcw>SkC_LF1a#jRJqHAyK6Z9U_#dWFIZW2S)t6}zbm zeEzaBx4n5rTH422b&oVSwSM&5_HSYabdxSAuMP#n!zV&WW72pBx?~b3i#2N{canIQ zC&zd05EHUY19F8Y;8r?Bx%%)W06A$hWug+3w$1S{NjO7U-nno!WdbK<$ll>my#g zc)^St8l9zu8o1A^Gqo*+kMG;iAZdMe6ciyGpbI0@)zzgD$`5NcbWma=mswEbOG`-q z_o-Fkw}DvEUDLxackXk1BlU#Mwv(}brRW%Dvd@~!yu^3*bj^O1b>mlVuFKLPzr~>b zGkCJW(nSa%1dyUJEA3yk3A&Fq2utVQv9ssAEmFUAbPKIJ(CmJ$!eh{+6joh=yObu_ zi5tj6=3TcCP(ZKmgM`mF1$8BH(-s-p_tgHVyxJ(yYm_%pFJG&Qs1R%tX$F%moWG*$ z3CtrXIJypYM3$G0GjRE+?DF3?6|PkcTbT{ykw4L_c^k@qinV&|sV~kQ_b#&U!lWtZ z8NHzApG(KS1s{2@k_UASxi*>V}46QeJbuPQWjHNy+zKMTq zaw$$H74S8?Q&qZjbI19p5k}y(HvRKOd1pdGdfRR-p=iL-)9~={n)-SK_*w`N?NIW* zKi)m)x4*uZVQ;I=oC|pL%bcAfFIPv225H?8_Yyf1dJh}VKVWBRbe;xmHJvMc=TAGU zf>!)tj{5TDp|Eu3j|iA>*je%b|HQKUn!`u9i+#Vhv>A|9RW@#qyb-IX_dVRq;k%mRbo4BrXrwLA9V7U7swayg1V1Rnu-mchx|{bN3t;WIn8e?bRHb7HD*Na z%{38Ees(;(7T_8?x24Exn?Zo7z6{8Sur%44D&a$teDEY2TjSKC7UM4}P;yh^x(to{ zH{Bfzo2jxupkzKE2?=8!a!JNzUg90^&pN8*zIX0P;20Q|kYBrrmzgI!%q%J{zO=dY z4Em{+TEcJ0wEdLNJJT_VD@SiD?y2L&z4+X~0bR$YXvbnYFRvP$QaglRgQQfg*A@Zz zNtNQ&;C}Q$g>K<@&cYQrlXw+dF1)!*SXfx58xOvXJ1;C4_z9cu((`k%gvFrzwVs73 z$f_5)$Q9UwqES{}E^n5B{M=39)0eL1-rs_sBB`KB^;KX4lhTsdh0Dgzcl8sMj-zp# zDcS|hpYW7*bP1pV236ltb?((}A1e8&u4!+Tbjj9o2?|L%ai6~JmIe5F1k}S|)`;)0 z6Iw6oF8(cLO4P)}RMh3-5nd2+6|}%1F{0YDbU<--dRi^p$6PuUAqE*Q(D-S&*wV)S z=xw=|T9eKRJ>(YQdTak_i&!8T#!_-`r-xhQ#R~-T=$A=t`J5_)jA6l~C*@b1$h3T>eD#gZ8Vz?HXw9T&IBOh6!=>z(I~6C5GcezA3~dD92@52spI8whstKp zPqxM%y!#V=fx$g&ur2FE$z1mAaMK*OPeyd@@3q5ZurJoWuGP8-rF6qXD}3hJko2Pe z{*wB9px65K7N;pwia4kxR8P!RdyR)juTIJD1@kyZ-T}uW=0UuQY1t-7ps?e4ypW8) zA~+F_Zd-EQCUUP{DXq?&8g(drf9__-h2wq1XS(tV0xGJrO!x>T7j|L0s;Fh+4+ta6 zD~yPvldeOMnHcQN9KbKKbrnF`yHiitc!alV+{ZpT?RogvKqO-B#lL@ixm2}Y2!U_a zHB%y%Bn1a&kSpEtNZ}IU)`5ZO`E$}ZlcxgkWAB^#4gWBNl&J{s851D|1%(Cw`s}r1 zM)pO{K?aR-$y~{RT8!V!&4t~Ocy#bh0*Wq$#pkfj%Bkt;k@IY(_XX;)q&_-}U1DP5 zM;$xd0+I*Y?rDr-N%<*MNJi1Vt`Hhrmf{NrD1+DQOGZ!+H9EcoIJ@KEZDE?IU*G$l+6_<`p`U4zFDcI0_g1;)RASk?BU1||Ka0_OMZf#BAxiF*Ichmb_TWMLui@5wgEbEm z*LFu+>jg9`38O^I4>EYFfJ4e!%ji@Vt~YG)A#?W6Etk%&%=vSY4-_e@1Bnsf*p<0q zIPj3K70cJV_S>6q!_W>}yzfiY$z%)-&q(Q8|29b>2I2U>+!v=y-6bM6`peTNMYKqy z8Kh!ETysqw9aRrcY5UL@oWK`!o0!ma=nH~(v}x~uUVwxr8aEty!PGBw#H9EfcK-o2 zwen69jUcZJ>>YkK8V)mpYzy^fW09G@|;DPbZhx5wFFjsw07xYpijoRcH>7Bcr8(2_q~RpeEmQk^rz zx)8Meo_tT@lh;eN4-5Q3<{sTmtYnTTi3+Vb9l1C=*XiYd z-Q7(m>J{wHIdY`wi)1XnFEn?Lf$Vjshz=9;hj-Wp?^Mwv({=2DuFKkC)@eb%c7?H^ zN;HYAyu#>F6l}Wm2)`HiY4cnY6_Ic{Vcn~@L#zu22w_T|9Pa#qWjO9L6ZLz`WU)zu zHNHf%|BYj`M!T!2@4@DirKP(o*0teEd=!(Aka9ZG{mP#> zus1W*;5_4b;@ET*{_WdaMdQhV`E#^Iw?KjEb!4oftv=j738#vZ2OE3_IfgbeuL$naa+xEQE}0w z@BJahrtE@tyJly|?XR$8cJP=piXZN%WEn5Fb#x*|ORNR0X+`Xewn&_K3nuMXFm+X2 z6%7Y#Ym`v-dKhI%!+S=ERKZ%@g^Nn<15UokOhKa(m@v^cq=g7>b8F#X! z+0r5eAtWBiT?wZz=r-AMUvC$Hi2U(LEEg=}?;H-gE^0FfJAiHW6&2*s(b3?PQB&lf zZjO9n&==RXCye>>YtOdd*~7zRW8Xh%k6k4bjJE5rndJts^=-C|xs8k#eZ_QN*PVCP z<3I1)s$N~x)>b2ei79s4(tholx2sVOz0b8`%Htm~WMqg>h-Qn6~o30#^9{4dXCT>KoS z^`5AgLIU?BKB{^+ZcqB~`1^UfS8q-ik%Kq<=;_mRHS#=!dQjboUmkgNHJ(bQwBlA= z`D`!8P*S{rnYWnZB5Q$G2N}Hw#Ilbl>7Z3 z?TKyU*`MClV)_dBzIe#J_J59nX6FO*?~C6?PwGC!8DW@k-x(Wl>6_2yzEWvITd!C7 zyRNlO7`@E%u)pqZ(h3UlMrEi}2G&yolznrat{=|{^QLqhAtYE6Bki>LxXSiDD5*W! z74XB{W@T5Qs7h$^Jk7EP%cF#`vG>Au3rP;mx;HLdb)#AvW~08n?eIJLofD54w{0O} zlnFt!;(s6@+plyT47hiX{I^>Lq0S4F8-$csPJ=JXZCfV6aUk8A&nD#l{*?LYQ_0rL z1*`GT7v8v=f=;5)0D;iCT33GSjt#HHhJ&!m@b|i~1GCF@dpa5S?=%{mE~`^dq&HdM~PZwH&dqmi)7lIp8hplrU6!uR1Et^k78Xb(BqVx&)klJ3Ibu0JIfp1 zutB4~6n>g0$wg5By~_D-W%DOy)FX2xI`gwGf9q#+KyU(TKQ!40^=cL2Ie0#j@KI>l zFIt(YM72_jU<4IW9U8X6al8*>a(1S2ivsUaKj=>@S!5`?Bk9qkm8slAB^^3c>IB&H z*4-zj82?L)b?ysf=6QgSEx~c~hkpx~VOCQ=c$k>7Qua9>%{HPS(a|IcobP(n``ovV z9)NQ{+D|&zRnlB!ivH0=I#=SmfdqF?N1l6TR^n}qQGlQ8I+zpHUOsQvq5jDyA|^%z zbBr1F9J(!?CO`s?(8|4grLc;PV{byQM!9#=bOPV`U*b!?C!5Z0^N$!#>ESKV)U`N9 zo;f|P_L$J9;ZAFMfg0GW^}-Oylw5FUkA9P?XJ5pk-_`Avz^uMH7N>(4-l3A&-QKH( zwmZ_cv$waN>+)gqoln+1>h(0#o!48iU;NbSwm%d)RU=x!4}Jam^&6kBpb@l7#$*ut z^5op>CI38DY7Wg`7N3A=05HZ zjR-byxm*w<4{Y8SwWVZTB90E*dPi}2c~$51DvV7{U;6nm$4h5Kb({SYN+UeAk?A~I zoFJp7j>^tv$@xlYK2yjW9@Xnbr?Y48+rC4Z9 ze7D)kRQEeCZ=ZW^2mwPLZ6)yVK2?&D+6vp{>hEYxSGtF-Q7N#q6RZ+G95-X;5U1hg z!1xd}PGD({tuuH#nBBHk*pzdi02RQKyhx_-L#WL?hM z<+?IW?9RF`m^@^HxR_q;+V2PK-X>a}Q`r7;wA>N!CjGM>LnmvLDWW!f!1|kKP(-tO zh%g@i4%8qywQL*K>yrm`OzkF@eku69SW8_{se{X4jOh{b@{;t){Pia12z2GJ=rc_h zOP&8Vs8tW`th5;pt|e?XZ}Bg-CLuvKoU17G27h4=AvoHJA^cQHr)p+)e_X)jnNl(V0X{RR%V#hL&!fNX4q&zlCK`c_amB|8@R2GT5nXa$$ zCnZvV^oSOf@;b@84o>kVZ-iXEv_#Ddd`(NMybp1XN;Jy!tgEruigC)rmkKeasBfsM zYL99n+Cv;u_P`#PVL#|mGaXnWYz#|F8{heo|JY+r?{a->tA&$ScxuZ*;Va!Bq_}!ED$nb3c*uW!aavf|hb|IB(d#|kB8o{PXX6&4Q@Wmp z-Ldm&n%v(@S77eHXx@o=tx_Gh+1XMr@}Wk%?G~z8vSaE?!upfVP{@^tw2-^!r1Zwa zanKZL=SL6*5iMdF0$x&5JR!Qt-IktL^~Bm%Vg}w z=OlV;sob)#5Um`zYc!eJ=y$PvUQ=5eo1Sh5_BSgFfx7%nI^F0#*=(hqN(>LZSIN~| zJinp%25dmv0)I8y`M6zGqQt+qDM-Nz^vvs#5@%lx4W~E;T=wojJ4dp(S=cJ>fRJ8L z=IKdbSeHIFhR^Fm85^i#p|ABv>-V!$iLa^$!dGdmZ5~dyPN$cOL*q{>rK}yN1zudYoUsP8Y(bb&RZDul;FnG<3 zx<04Gd8PEm40K7(-M+)h#T>`lo8*dJ_w_8$sg)FLPEmcY6sb|{wvl?##=^6QH+5%GXLA|o$KU(>v*GT#-l{Vq`JD=%`5xCr8GnT zk0z-n8b3vSQH=l0gpYM1I+W6clDodVVvD3ZdJApz8`t?hU)a?Q_47V1bs8WluA2^}l?($$ zMU)^%60f~=nwOAh%4f{+aDgp*hjJ5&at9xnesOw|pS*6lz-&$y&@u){ewRD8SlQZF zQCAn>A*Isd0EG9^qYymya?^R@&noRlJ!v?iqQAc^HE+L;e9H@-2cTp`I?GZK2!!{N zH{pY>-fvh&ZTlURfu}fXw=*(4`!->O5eBeS(+kypQiZF24 z%qJK8-*Xs7b0qeRS{~lEP@xGjbTDjal>Dt*fEPx>$RaG92~MwivD*_x6Qluyu%QVb z6_-A9G@Zn2B|SP7m1r*?FUbx^oF=RvjT%2c2;wFHv+4QWsK&!p@m%Ev4OD=(C4NQ% z-CZTTZ8VIsrssO`vQ@j@nX?{A2l=7gn`>6$cK*o}@E{;x+D(;btgf2j1x}^KwMX2g zgg&$R6K-tE#_xKhU4Z{3W3~#+w{PbdXhzbT9bj8I9+7wdtag~~{!Xmx`FsZ{Q zIh0d?2Fg*SFg^K24QTriJrN0Csq3W0n$NKmT-bZ1?v4d*F{}aX87yZq6_1aOdM>XOxbKsJe&6_@}gljI?j0= zQ3em&t$t00z0^L$JUzmj%k*+X>fH^*R^fj{ql3>oh^^`U@B)S+paGXre~+J^_?FNj zt6?SjX|RK($;HWQnV`2ivLool%v5!vt?*F!bZ^6CBl$~t)n8UwpWheh8PE^PVOdsI z$f-pAh}ys2&wV*NxjD3lo1T&Gb$prxcJ`2h%>h`GM z5MpDaprxffBcgfkrzbhUGXT_9uympAuXLkVR=}Ry#&pHiUC|G z$u;}HSAR>&=r#+!zif~XN_Ac8&D@|yQJ<>@rz_7UbKve&;{K&DciQp5`DJ)yWNyIT z#)$symoHl%>->T^R{99dmq9=aA{=0hq)EU(tY)Kpowk*ha82uzfpnAWhrD&U7)bds zlz6)wpy6Dt@$lW%6L)zf?Q^omM$bZOPtZXhp+1uoxHrfGb2 z%JCpyGv~%JML_TGzpie+JIZwQMF*3Cm;O?`3l|H{LZVcRj0fi(4IZr&*P88D_8S++ ze3gNWO=usof{DV7^%DjIdlZSV@Y@O>je^y>SDHD@<-QTo;aR=?%;mat^t;og-n13# z+^YqHY?dk6;ZYHmONY*pw9?y2fe3E&ZM!jw zu_>jQS4oMnhJY~w*IMCRIan#(qhVm<XX;z5!>@IT0<4M=G> z1_)NL#Z*O(`_K6yMh9$hsop8mNjQ%Pq^?d_^+p1?oY;WlT}a@?!tztQ)bLs-~<)@$M*>j5g6uzyAeX+3$S(L2=#P!MR!pa7cQ1IpwR zxl+ym-Oe)dJSt4{tbWt(t{peaw}aJ9D^-{Bj5R5+xC7kp^4c0BM`)8@zBfEHNv#!< zhMgJ!>~xB>v00t}^6+uvk)1lz^x{|!oc21bVHq22tNhm~k3rh?3he}ZO}WddPqo8h z`R;y3i3e>%KXkD3Nx$b-7+N`&+xouC7b~761Kv&mYDs{AZ0? zI%UY@11C4PAFp>{+JLebEB6)jyST3&Il(Cn81ocNyI=LeOlyL3>*Ev|MnE!`HC*Y9 z_xK6;PzA|HvZLj1@99|jv7FU7FJ7}l0Cb!8^zmv-9#jya5Xh5XPAwPIO_XlS_wcbE z_hG3@Y}bM%xX(olU8g(qL2bWeAv^|kar>d#*PJtSedjqT1U#r9v9bIq{dcM9GnUKv%bZWnHcfq+jwzl~@|p^# za!24wRN401?$sUn&FdtQ+`}hf$QmX*r4sfK00M>PhB&2L?C*-E%I%^5WLWKH63EN5 zz-QnVDkhiw)Hv?2o2kp72X>Dj4%so=ODMCb*Ow-S`9#PABdM{+Uk3-=6UuYW{r3x=RC}tjskXPoB*ixS=s? zogs!g6veFU?C&a!2?4k3AIe{2;ktbM8(y^UtVqH8W`o2&McS8#w%X2eCYVg~mK_kv zyu7^y0P#@Z8WJ2F`|X=mcS~+=u8E_iY6Kha{ITa@DFgeWZiP-_^JVSP>hEv6jvN3( zyEdJLj_-&djv}l{yKFdiO=CK*}zbT+o)02 z75;Q*)S_$!R^^8_5ZN9p3>X|Vz@F=fH%_lZ&zBwEC@bf@ge?F+6!c(yu)J?txv5~P zP=5SP-{mg(0wZ7K4GgYVvCSIMAWGCZt)Ke;YwtV%no7b(QB>9jDgvS)OP4O7^s+0c zbd(|@O@t6S(h@qjh)5R@FqA~3sYo%QNLT4y>7j%c2t5*{gamRYxbFMjf8qY_eBhiD zPMLYyJZ+vyIHBtEQz0gF2eD)-de!TzNlU^7O(3?5wvJc(Ad1G|4t~^+$px21;>+%L zaTd>42hE8#w(9eOImTZ@$fAz0@Gt==?I61XIC*7mo?!FC_p$+vfLt?P$L-jk!{8F~ z>8q5D)oXWIn+}sY8lwey8-pq5SCJ8&*y3+Be6d`7l$otF#kR3T*VCtzuvGpqgz7H{ zZ0;&Tl?y0#j{m4Zc4#*eio5t|69-)4G8>&GB39@N($b!%xTNDl>Z&c2x~cWgKy^UX`}&0cHmCBVKLw*Xconfq!q)&s z9$fdhvHm7Pe9UW{DleoYlu9R=iN3jOLG{cP6_qsQ>-iU}Kx|54tU;rYUH`}SMh)>g zrRkmQK*`>?#$G(o4>}#MJ*ZMGOw{c$$u=g4Ft4aDY(f21GmhQl?QK4o+;Z# zT3e5udioT1cflp9UC2!(`TKL=kL8M~s!W?1 z6pGtf2uI!{3gSL87-%BhfF6L>Qx7Y9Qw${a%*-r#bK5tQS)~* zDfzj%KZ3H-sc7fxUxqb+V{eKy_^{ZrMpfsNPt;86XxIC&-Vf3_Pv2NUtCN zw&bg6FR(1{1|h${{;Ar*?)x~x5BkmXd;9k%Aj1VS>L8O56&sBn4RH~lo7{wxz-)h) z7i;%^{f2BO%GlT#==gu;2(D^qYtiUO#t4 zU~9O}(Kw4me~kX4u+YnDD7hyRW3V3+=(&Nn4@4S|jDirGWxZD%h!m=RM2QG0B96v{ zK3uNgE^{TJAvHxs5;>7S3p79SF;IUl6EjtOpSdaTzrkAB$i=WpHf`I4hV-)8B(QFe zM@*t;OH_9V6~&}U4DIS<&^CV~Q>YfuOh?K#4Fi61Ha$(`vFNs7seT+)o>Af8x3)a2 z@faTZDWyK6a<3iie)TC}RcQ;hb#K+Lk)O|Lax?frxg$Na(Z82<`jRpt7ca22s;)O& zISTwhe%p&Tfogy}!6eM6uY9c3MdOc*RGY?jY$_jQTvl0}%rsbhH$^(R0OQzhRJaO* z!G5j|4mxLi84AnM7_D1*`VO($4owaG&{rjjbMc=d_dRUk|1J^ zljZXK$2Ri}x|du>NKC}~J$4H7<$0hQvUg`8)-0>M$uf3ZD!|(hRQ8fn>O`;_l)RfE zm^!S6vo2fpsj>6fu2k+rFLrWri;_y<(|TMMA*Y2Tl_E0zGyk~qQUar~YuL6n=fvsH z>L>Xe;XUuY(j+ok;p~nj+&x#%GJAJJknU((h)V84sSchi1U@9=miW)@?TIrtPe?m! zg^o{HR)z3C1+nf2+{D$z_AbK~qa5d(LVA0#g!g9IAOv%d0ul_Qf!`j|Ok8f`coEqr z7&ALPpK9BB4R{Sm6W94p_jx&ZZ0>}Ch}QaI_e?FQ)WsdTHmdRNT=NefI02Y>-xj-v zx@^jx8mOvGQI2|-mY0`j&Tf?Kx26Evsr8H4X*#krRJ?wtf&VO-7!?%<`I);23fg2C z-eQ>sl20#-ESOeeoo7&Vk?yXcdQnIqNl_ZQPjlS6$C7V&!HKh`#)Wt&DA@b#<+Fd! zrd?wOW+Jw?la9dYaw8;BtK&j;Mp z$pvewq}s*K(~7>MyL-UpA!78$){1)53$Ovlj>ED~@}nDnfCFzqXGKFF&x(3Wu zR@O@zgB@%?d<+BIsvu*`(QMkf1~~ul01&tUQ48CsMKGhi>T=LwlS-ei0%_MR&7H%2 z!Rv9c(T^sd@TVp+zZmjdSy(r|;ClL{gz4A!GMs(;YD6w4&w|+k16KCS+WTQDM|KGQ z3n;4t)5B-cmCOIcCr7Fc`-{v>J+EkA!Z8l0aG^jWNCy-#Mt_2Ut&Ssf@tw;an{~kR z&uDVRqQjX>(@#?Xu_mO2Cdu&XMEb{W@rj};&mgI=Y5IXb95XL1J3&miPABlsL(T{Sw4}`Mt}L%W>Hcwc$(G zyCX6Rl!$v)z%DfCb~Y_4_5}MT0fRi+6(O8W!06v3{4QMIpE zoR4M=EGPazm{c^os1|@oK~H9$PO}&1{9D7L$h?R3wW-U|Sl5c`%DA`~jNarYV=!bG ztm58qPHQ`d`fBagyj!SI15Ceg&)rQ|M@LA7@9^iPbdPHnfspC`A-mSxESLdVk9w|R zg;=j$aVLaJCOYdhgG56q!-U8++#gQ89W%46Jd4QfRKSwV+-k?dY}_Y(l0)e}-zQXm z&+d7z$qjnuztRsbpq{6OGRp0J%<_WhSg<>SRAVj=!-UoVBz%6wACPrRe}A})V2t|u z(JOo;JaFqgCX-BocR@>z1N!FCqpKq$_q}r9qg8=CKrj1f8OU>cbnm|Xv*t>nAPw zm)-FJ-9aLE#Do7a{`GJ07a9BEo>u<%)Pq&D;7_lTtoR<^^KVm{qJ!(%URFFSD}#59 z{^xcswxr*yZ&j9EUwcig?CdB_Cr(U%p~L_s=T}qV`}Zy_C0qHV((7Rb33d*V;O+8k zqH{-M3kku!~X{* zsngZ`tlsg-?O_Z0s}5Q_7jT}_&k}uBR^0sRZ@OE%XGG32@tN;7 zAAQr94D^AsiL_jLQho8M`5FX4p<0;_)A;LQ`eWi9lK*wh?7P=x{15N>N)M^^2`IsT z`nvjwG+5_Ksix*WYnPDh?d@A=Z?``fHq$9a)o7^DZNcC0(S86ve0{B#!nb_r z-~0D{YeS3cM;t2&)bYSyd)CYPD+ycYfomXoy)>b z|M%gxNqZgbrXidNrqR!NMMgQSpc#kFdinH9pUzP?8D%bdzY}ShVK=ajlLc36e&te|C#<{V94w3(Z!O(D#K@jfd zV(u{)9!`TG7e4vTgZ(F?az`F>Sz(|sg#)b6w6~b$23%hz9~QJUZ&(qHDPS^MPO*Gh zJd?M{#YaLVpYgD#@l12=$Z~PWTOd8wbl-_uk1Pbx*OweLQc2nwZ*GhT8%M7Sg1f^w z8FHfCvTno9g#b2%lf|3-f^VC8hZO3h$ChMUe7XEc8TF#vu}eCpTU~TgL|!m{kMK}e zWpa4iuOOUP=x1AMdh{1o0La=xZ<_pYTFDxJy#Awe6PXUzKm9-4IpaIR^-1GabdIY;xw$a*v z(@IQCp_@ab0H66Q?5QWWbI8ExnC8_!FG2WQC;B*3fp{e|&@q2C0o~}+4NWPt%k9P_ z!A#3w8Rg7^o)*`h0NKmk`6lrm>DrIFe02th5p_8(^jCtG1j$n8Y@BENA|RapcK;ui zIb>&ioW28)FXqvlJ*a5g;oUp#mb$MWO3S~O@A^A_+yKG-AI6`n2#Os4&NWF=ltlVp zxl2=Zbw!UK?tdk2u6681()rHB>&aI~MvZeFgt;=uWqyf_L~$|2_NL-ZUaoP@c#kmF z-paPPgpv~qKojPGsYaEnTk;AhB;F95c(?wD8BOpyAiRIahZoU_Pr(0-j~Kb&D$@U$ zp<>IN#CdZ_LV!^#_W1P9eDBpu$ycbBw=Gqu|9x$>W$=jHo>$x@v*atrgE8rGUNcj# z=I&7e-@gPL(;59xba>+~lgw|_CyHN@qn>-B%wbDhF^JkFPA|-)V0j^_AFQ;FJ=BYz z9pJG!cZppSX>_{Xy!6&RSN#M2B6VHOnBKu@#jnLpmBUGP&=SS8UtIT#_3RP)xBg+I z;g_P~{C3z29J?zq&cbL56Rl%TG+RrR+UP=IxhZ^lR+voOdYh>Lrt#eG{`@{B3U}z? z%abitNXjBn-*?iSK^Ni%{B$DhhtAo#KMt8R;w$F*f>q_f?L$0!&5v-vZBD_q5Zp*Q zNr9&F&r5sO+uNECi4S!bMUnrq;=#Y{lT7Snj^7=AUhnzrn{K35^l8CBTr|F9`dG6 zobx&q`>q1t9TP$Bm57Nec-xIB;3kwq3pxZyDh-JA)9$Xao*{bcp>f z0nN!j)krcTQ6FN zC-GL@{84a71yiM#(CDWXu1NT?*#+0z5u;V_?kLL}NWu`@2irs*z^knx;`fw0DYo-S z+~Qs)fmG!fowAV)OAhkebrh)6x>p9@VB^YMxni!!1lxMn#Y|tz{Hx(7g<4?vwnTne zvu-UoZLRWwAi2c(cny+^uGDf!|6h9uiO(gWcOZJ5IX$^+z zXlfm1s$lY7yRVRS?B2H#o!d9}_%Z@&o7 zwoJ{>-y(+ac+KEN7_6PXC+!DQzD;+_KaWX(4t!ewU|xyyvXtZCP+OuLDk*ogRSZqQ z@!WZDf1I9v980so0M5H-q?OXX#zLkx!5q zh{b*odB^YbZIhA*o5)c0gg3x(3f36CyQi6b4^+Y4`?gz)aa{K$2EQX3~@!voyUu6QML7eH~R_tP#nKjy9^)f0^eLs17kG7Gm4cv@X6!PNP-A z3)cP9eCxv+wA0H3-1@IMfm)n4{i#N8A*OfiZ!sShE#}HP#B>Cj>Fx09uF0)C=QW!n z6qh(#IUoC2p1E-MHN@r^+sC8X-;O#ivR4!JGbFW50lO2ILf0%n6xn+DmIm7$w$JY57T{R>kL2YOe+KwQB0Pz_+(A$aHoqJ)RUfoW z+w)Gsv!+=gK}uY3J&JLCQLLn+F+n9sSBiXpEkjzBwi{PMC=OifuHIZ`@mtfF=%S<& z(%|BqKRkm;UlMpywyE8@u?R~sO|T0M1H%u|GXjhZ4AHlGm!fM|sn4#t;Sj`Na@6>K z9Telax~1-4Z(3*u-AI+-RPnpByIH7 zXbOQ`M1`tV8lVzoCj$cZsRQx_Z{F}R?r!%IN_O-DHkVR7Y~aC>zH)B3OyWMJ(tDjo z9*gCcRnqP&s8-^spQ6%VZe(hX_?vNgW8WJV*_A3MCxi_y!mq-|5iI-7Oe7?{PBxtB zbVpPx56Y0%pXWrYQ$AdIU7j#DY=sg@7AExRs-=SZWsrpzyyUMbD18V7;=bQ5krg1B zH8GicoRyR!WtjzTEU;;)whU-*?W=pkH`y@#tgfe_VRPS|MpUD$)UL+L_FE?e*%9|hdiCWO z@(;FtuceyXc@_JgaYyN(X2_a#)@5LL{Wdo9PIBVu>;4W~)l{z*bP!>wRW`)AA=7X4 zg~{;N!hj{?^0KT~(~ofy#sXv8_^ft4H`!}ky5DQw!Z5Vma|0Qo6mf&MM0t0Cc@+%J z>4Lmm47=3YH{8__%Uh>-aM`ORQq((1_^O*R=&33KI*1%S?zugojTRQz`YGF+UstDE zlA%=II5HcLNJXR3swh;T``rrniS$JN+xTo7Dq3TbH%{9Uf~ul>h{JSHye`~1DZ#*SCrBsB(|Ae7!OLyF$1*vR=-LHG-cN(? zZ8mYKp||%9jg69)8#arm3;7vdV?R0le`KSCwObM{r5OfOll0Uc^;x$TSyqW^%Q($E z