From 113bb657074d2465e88e3da2218fb30afa37137d Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sat, 10 Oct 2026 19:25:35 +0900 Subject: [PATCH 1/7] docs: align README architecture and user flows with implementation --- README.md | 117 +++++++++++++++++++++--- docs/CROSS_REPOSITORY_REVIEW.md | 157 ++++++++++++++++++++++++++++++++ 2 files changed, 260 insertions(+), 14 deletions(-) create mode 100644 docs/CROSS_REPOSITORY_REVIEW.md diff --git a/README.md b/README.md index 2448835..f0b8fdc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Python](https://img.shields.io/badge/Python-3.12-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![Django](https://img.shields.io/badge/Django-5.2_LTS-092E20?logo=django&logoColor=white)](https://www.djangoproject.com/) -[![MySQL](https://img.shields.io/badge/MySQL-8.4-4479A1?logo=mysql&logoColor=white)](https://www.mysql.com/) +[![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=white)](https://www.mysql.com/) [![CI](https://github.com/bigmooon/mongle-server/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/bigmooon/mongle-server/actions/workflows/ci.yml) ## 프로젝트 개요 @@ -25,22 +25,48 @@ | --- | --- | --- | | 시작 자체가 어렵다 | 귀찮음 **25.8%**, 무엇을 할지 모름 **24.4%**, 시간 부족 **21.7%** | 자연어 계획을 TODO·일정으로 저장하는 도메인 API 구성 | | 생산성 앱을 오래 쓰기 어렵다 | 생산성 앱 리텐션: 1일 **32.86% → 30일 9.63%** | 퀘스트·피드·알림·회고 데이터를 하나의 실행 루프로 연결 | -| AI 생성은 일반 요청보다 오래 걸린다 | 캐릭터·계획·이미지 생성에 외부 모델 호출 필요 | Celery·Redis 기반 Submit/Poll과 상태 조회 API 적용 | +| AI 생성은 일반 요청보다 오래 걸린다 | 캐릭터·계획·이미지 생성에 외부 모델 호출 필요 | 캐릭터는 Celery·Redis와 DB job, TODO·퀘스트는 AI Submit/Poll 중계 적용 | ## 시스템 구조 +Server는 인증·도메인 데이터·DB 작업 상태를 소유하고, 작업 유형에 맞게 AI API를 호출합니다. + ```mermaid flowchart TB - REQUEST["Request Path
React Web → Django REST"] - DATA["Data
MySQL · Amazon S3"] - ASYNC["Async AI
Redis → Celery → FastAPI"] - - REQUEST --> DATA - REQUEST --> ASYNC - ASYNC --> DATA + WEB["Web
React · Phaser"] + SERVER["Server
Django · Celery"] + AI["AI
FastAPI · 추론 어댑터"] + DB["관계형 데이터
MySQL"] + MEDIA["이미지 객체
S3"] + + WEB -->|제품 API| SERVER + SERVER -->|내부 AI API| AI + SERVER -->|도메인 저장| DB + AI -->|생성 이미지 업로드| MEDIA ``` -인증·데이터 정합성은 Django가 담당하고, 모델 추론은 AI 서비스에 위임합니다. 캐릭터와 TODO 생성은 요청 접수와 결과 조회를 분리해 긴 추론 시간에도 Web 요청이 유지되도록 설계했습니다. +이 그림은 요청·저장 방향을 요약합니다. **Web은 AI API를 직접 호출하지 않습니다.** 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3 정적 Web 배포와 미디어 객체 저장은 용도를 구분합니다. Redis는 Server의 Celery broker/result 및 인증 캐시이고, AI job·플래너 대화는 별도 메모리 상태입니다. 이 그림의 MySQL은 제품 DB 구성이며, Django 기본 settings는 DATABASE_URL 미설정 시 SQLite로 대체됩니다. [설정 근거](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py). + +근거: [src/shared/api/client.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/shared/api/client.ts) · [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [infrastructure/storage/s3.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/infrastructure/storage/s3.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) + +### 작업별 통신 방식 + +| 작업 | Web → Django | Django → AI | 실행·상태 책임 | +| --- | --- | --- | --- | +| 캐릭터 | `POST /characters/generation-jobs/` → 202; `GET /characters/generation-jobs/{id}/` | Celery가 `POST /v1/character` → 202 후 `GET /v1/character/{id}` 폴링 | Django `CharacterGenerationJob` DB 상태 + AI 메모리 job. 성공 후 사용자의 `POST /characters/`로 입주 | +| 단일 TODO 후보 | `POST /todos/generate/`의 최종 응답 대기 | Django 요청 안에서 `POST /v1/todo/generate` 및 `GET /v1/todo/generate/{id}` | Celery 없음. Web에 job ID를 노출하는 방식이 아님 | +| 멀티턴 플래너 | `POST /todos/chat/` → 202; `GET /todos/chat/{id}/` 폴링 | Django가 `/v1/todo/chat` 제출·조회 중계 | AI 메모리 job·플래너 체크포인트. Django DB job 없음 | +| 퀘스트 | 미리보기·확정 API의 최종 응답 대기 | Django 요청 안에서 `/v1/quest/generate` 제출·조회 | Celery 없음. 결과의 유효한 매핑을 Django가 저장 | +| 피드·답글 | TODO 완료·댓글 등록 후 게시물 재조회 | Celery가 `POST /v1/feed/generate`, `/v1/reply/generate` 결과 대기 | Web 관점 백그라운드, AI API 관점 단일 요청/응답. 별도 feed job 조회 API 없음 | + +Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Server job ID와 AI job ID는 서로 다르며, 플래너는 AI job ID를 중계합니다. **Submit/Poll이 곧 Celery 사용이나 영속 복구를 뜻하지는 않습니다.** + +근거: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) + + +## 코드·설계 문서 대조 기준 + +2026-10-10에 세 저장소의 기본 브랜치 코드·환경 변수 예시·Compose·CI·API 클라이언트·라우터와 Drive의 시스템 아키텍처·시스템 구성도·화면 설계서·시나리오 설계서를 대조했습니다. 코드 링크는 검토 당시 커밋으로 고정했습니다. 과거 설계와 현재 구현의 차이, 확인 불가 항목, 수정·검증 내역은 [교차검증 기록](docs/CROSS_REPOSITORY_REVIEW.md)에 남깁니다. 기존 리서치와 평가 수치는 보존하며 현재 운영 성능으로 새로 주장하지 않습니다. ## 관련 설계 문서 @@ -65,6 +91,57 @@ flowchart TB - Celery/Redis 기반 비동기 작업과 주기 작업 - S3 presigned URL과 운영 배포 구성 +## 사용자 흐름 + +```mermaid +flowchart TB + JOIN["로그인 · 주민 입주"] + PLAN["목표 구체화 · TODO 확정"] + DO["퀘스트 연결 · 완료 보상"] + REVIEW["개인 피드 · 댓글 · 회고"] + JOIN --> PLAN --> DO --> REVIEW +``` + +포모도로는 실행 중 독립적으로 사용하는 로컬 타이머입니다. 피드 생성 완료를 기다려야 포모도로·회고를 사용할 수 있는 순차 의존 관계는 없습니다. 아래 Server 경로의 공통 prefix는 `/api/v1`입니다. + +| 단계 | Web 담당 | Server API·저장 | AI·경계 및 근거 | +| --- | --- | --- | --- | +| 로그인·세션 복구 | `auth/store.ts`, `auth/api.ts`, `shared/api/client.ts` | `POST /auth/login`, `/auth/token/refresh`; `GET /auth/me/`; Kakao 교환·가입 보완 | AI 미호출
[src/features/auth/store.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/auth/store.ts) · [apps/users/urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/urls.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) | +| 사진·AI 주민 생성 | `character/api.ts`, `pendingJob.ts`, `App.tsx` | 원본 presign → S3 PUT → 생성 job 제출·조회 → `POST /characters/` 입주 | `/v1/character` → persona·이미지·외형 결과
[src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [api/character_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/router.py) | +| 자연어 목표·계획 구체화 | `todo/todoApi.ts`, `planner-chat/plannerApi.ts` | `/todos/generate/`, `/todos/chat/` 및 job 조회 | 단일 분해 또는 후속 질문·계획 후보. 생성만으로 DB에 저장하지 않음
[src/features/planner-chat/plannerApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/planner-chat/plannerApi.ts) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [agents/todo_creation/planner/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/pipeline.py) | +| TODO·캘린더·태그 저장 | TODO 확정, 플래너 확정, `calendar/CalendarModal.tsx` | `/todos/confirm/`, `/todos/planner-confirm/`, `/todos/`, `/schedules/`, `/calendar/`, `/tags/` | 계획 확정은 Django가 오늘 후보를 Todo, 다른 날짜 후보를 Schedule로 저장; AI `/commit`은 이 제품 경로에서 호출하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/schedule_urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/schedule_urls.py) · [src/features/calendar/CalendarModal.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/calendar/CalendarModal.tsx) | +| 캐릭터 퀘스트 배정 | `previewTodoQuests`, TODO·플래너 확정 UI | `/todos/quest-preview/` 또는 확정 중 `_assign_quests_to_todos` | `/v1/quest/generate`; TODO **ID**와 캐릭터 정보로 매핑. TODO 내용은 LLM에 전달하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [agents/quest_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/quest_generation/pipeline.py) | +| 완료·보상 | `completeTodo`, App/캘린더 상태 갱신 | `PATCH /todos/{id}/complete/` → Todo·Quest 완료, 잔액·거래 기록 → DB commit 후 피드 예약 | 피드 생성은 완료 응답과 분리
[src/features/todo/todoApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/todo/todoApi.ts) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | +| AI 이미지·캡션 | 생성된 피드·알림을 조회 | Celery `generate_feed_post` → AI 호출 → Post 저장·알림 생성 | `/v1/feed/generate`: 장면 프롬프트 → 이미지 → S3 → 캡션 → 결과
[apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [agents/feed_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/pipeline.py) | +| 피드·댓글·답글 | `feed/api.ts`, `FeedModal.tsx`, `PostScreen.tsx` | `/posts/`, `/posts/{id}/comments/`, `/posts/{id}/like/`; 댓글 commit 후 600초 지연 예약 | `/v1/reply/generate` → Reply 저장. 자기 캐릭터의 개인 피드
[src/features/feed/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/api.ts) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 포모도로 | `pomodoro/PomodoroHud.tsx`: 25분/5분, 종료 시 다음 모드에서 정지 | 서버 API·집중 이력 DB 저장 없음 | AI 미호출; `localStorage`의 종료 시각으로 복원
[src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | +| 회고 | `reflection/api.ts`: 당일 문맥·과거 회고 조회, 작성·수정 | `/reflections/context/{date}/`, `/reflections/`, `/{id}/`; Reflection·보상 거래 저장 | AI 미호출
[src/features/reflection/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/reflection/api.ts) · [apps/todos/reflection_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/reflection_views.py) | + +### 인증·영속화 경계 + +사용자 인증은 Access JWT(기본 1시간)와 **opaque Refresh 토큰**을 함께 사용합니다. Refresh 원문은 HttpOnly 쿠키(`mongle_refresh_token`, `/api/v1/auth`, SameSite=Lax, 운영 Secure)에 넣고 DB에는 SHA-256 해시를 저장합니다. 갱신은 기존 행을 폐기하고 새 토큰으로 회전합니다. 자동 로그인은 2주, 일반 로그인은 3시간 수명을 사용하며 회전 시 갱신됩니다. AI 호출에는 사용자 JWT 대신 서비스 간 `X-API-Key`를 사용합니다. + +근거: [apps/users/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/views.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [api/security.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/security.py) + +| 저장소 | 실제 저장 대상·사용 위치 | +| --- | --- | +| MySQL | User·SocialAccount·RefreshToken 해시·TokenTransaction·Notification, SourceImage 메타데이터·CharacterGenerationJob·Character·ImgGenLog, Todo·Schedule·Tag·Quest·Reflection, Post·Comment·Reply. 이미지 바이너리 대신 키/URL 저장 | +| S3 | Web의 원본 `source-images/` 직접 PUT, AI의 `characters/`·`feeds/` 생성 이미지, Server의 `log/character-gen/` 감사 JSON. 공통 `AWS_S3_PREFIX` 사용 | +| Redis | Celery broker/result backend, Django 요청 제한 캐시, 이메일 인증 코드·검증 토큰. 제품 TODO·플래너 대화의 영속 DB가 아님 | +| AI 프로세스 메모리 | 생성 job 결과와 플래너 `MemorySaver`; Django 도메인 DB와 분리 | + +근거: [apps/users/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/models.py) · [apps/characters/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/models.py) · [apps/todos/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/models.py) · [apps/tags/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/tags/models.py) · [apps/quests/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/quests/models.py) · [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/users/signup_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/signup_views.py) · [apps/users/rate_limit.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/rate_limit.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) + +### 작업 실패·재시도와 복구 한계 + +- 캐릭터: DB의 `QUEUED → IN_PROGRESS → SUCCEEDED → CONSUMED`와 `FAILED`를 관리합니다. Celery는 AI를 3초 간격·300초 제한으로 조회합니다. 실패/취소 시 생성 횟수를 환불하고 취소와 결과 저장을 행 잠금으로 조정합니다. `max_retries=3` 선언은 있지만 이 task에 `self.retry()` 호출은 없어 자동 재제출을 보장하지 않습니다. +- TODO·퀘스트: 단일 후보 생성 실패는 502로 알립니다. 퀘스트 호출 실패 시 이미 저장한 TODO는 유지하고 퀘스트를 생략합니다. `/todos/sync-quests/`는 오늘의 미배정 Todo를 처리하는 API지만 현재 Web에서 호출하는 경로는 확인되지 않습니다. Schedule의 자동 Todo 전환 경로도 확인되지 않으므로 자동 복구로 기술하지 않습니다. +- 피드·답글: HTTP 호출 실패는 30초 후 최대 2회 재시도합니다. 빈 결과는 로그 후 종료합니다. 완료·댓글 DB commit 후 큐 예약이 실패하면 로그만 남기므로, 보상이나 댓글 저장 성공이 피드·답글 게시 성공까지 보장하지는 않습니다. +- 주기 작업: 미완료 TODO 실패 처리·회고 알림·이미지 횟수 정리·Refresh 정리 스케줄이 있습니다. 로컬/운영 Compose에는 Beat 서비스가 없으므로 별도 Beat 실행 없이는 스케줄 설정만으로 작동하지 않습니다. +- AI 재시작 시 메모리 job은 사라집니다. 캐릭터 DB job과 브라우저 pending 값이 남아 있어도 원격 추론을 재개하는 것은 아닙니다. Redis Compose에도 영속 볼륨/AOF 설정이 없어 재생성 시 큐 보존을 전제할 수 없습니다. + +근거: [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) · [api/character_creation/jobs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/jobs.py) + ## 담당한 부분 도메인 API부터 AI 연동과 운영 배포까지 백엔드의 핵심 흐름을 구현했습니다. 아래 항목은 병합된 PR로 확인할 수 있습니다. @@ -80,7 +157,7 @@ flowchart TB | 문제 | 선택 | 이유 | | --- | --- | --- | -| 모델 추론이 일반 HTTP 요청보다 오래 걸림 | Celery + Redis + Submit/Poll | 요청 타임아웃과 중복 작업을 줄이고 상태를 조회할 수 있도록 | +| 모델 추론이 일반 HTTP 요청보다 오래 걸림 | 캐릭터·피드·답글의 Celery + Redis, AI Submit/Poll | 작업 유형별 대기와 상태 조회를 분리하기 위해. 모든 요청의 중복 실행·영속 복구를 보장하지 않음 | | Web과 AI의 책임 분리 | Django 도메인 계층 + 별도 FastAPI | 인증·영속화와 모델 실행을 독립적으로 배포하기 위해 | | Refresh token 보안 | HttpOnly 쿠키 기반 갱신 | 브라우저 JavaScript에서 장기 토큰 노출을 줄이기 위해 | | 사용자 업로드와 생성 이미지 전달 | S3 presigned URL | 서버를 거치지 않고 제한된 시간 동안 파일을 전달하기 위해 | @@ -88,7 +165,7 @@ flowchart TB ## 검증 결과 -2026-10-10 로컬 환경에서 다음 항목을 확인했습니다. +기존 README에 기록된 2026-10-10 로컬 검증 결과를 보존합니다. 아래 수치는 이번 문서 교차검증에서 재실행한 결과가 아닙니다. | 검증 | 결과 | | --- | ---: | @@ -105,7 +182,7 @@ CI workflow는 MySQL 8.4와 Redis 8 서비스를 띄운 뒤 Ruff, Django 검사, - Python 3.12 - [uv](https://docs.astral.sh/uv/) -- MySQL 8.4, Redis 8 또는 Docker +- MySQL·Redis 또는 Docker. CI는 MySQL 8.4/Redis 8, 로컬 Compose는 MySQL 9.7/Redis 7, 운영 Compose는 Redis 7이며 DB는 외부 `DATABASE_URL`을 사용합니다. 버전 불일치는 현행 설정을 그대로 기록한 것이며 이번 문서 수정에서 변경하지 않았습니다. ([Compose](docker-compose.yml), [운영 Compose](docker-compose.prod.yml), [CI](.github/workflows/ci.yml)) ### 로컬 실행 @@ -150,6 +227,7 @@ make validate | `/api/v1/characters/` | 캐릭터와 생성 작업 | | `/api/v1/todos/` | TODO와 AI 플래너 연동 | | `/api/v1/tags/` | 사용자 태그 | +| `/api/v1/schedules/`, `/api/v1/calendar/` | 일정 저장·월별 조회 ([라우팅](apps/todos/schedule_urls.py)) | | `/api/v1/quests/` | 캐릭터 퀘스트 | | `/api/v1/posts/` | 피드·좋아요·댓글 | | `/api/v1/reflections/` | 일일 회고 | @@ -174,7 +252,18 @@ docs/ 개발·배포 가이드 ## 배포 -`main`의 Server 코드가 변경되면 GitHub Actions가 테스트를 통과한 이미지만 Docker Hub에 게시하고 EC2에서 새 컨테이너로 교체합니다. AWS 접근은 GitHub OIDC와 SSM을 사용하도록 구성했습니다. +| 서비스 | 저장소에 정의된 배포·통신 경로 | +| --- | --- | +| Web | Node 빌드 → S3 정적 배포 → CloudFront invalidation. 개발은 Vite `/api` proxy → `localhost:8000`; 배포는 빌드 시 `VITE_API_BASE` 주입 | +| Server | 테스트 → Docker Hub → AWS OIDC·SSM → EC2 Compose. Nginx TLS → `web:8000` Gunicorn → Django. DB 주소는 `DATABASE_URL`, AI 주소는 아래 두 설정군 사용 | +| AI API | 테스트 → Docker Hub → RunPod CPU Pod 재시작 → `8010/health` 확인. Compose의 단독 API 실행과 GPU 워커는 별도 구성 | +| 추론 워커 | LLM·플래너·이미지 Docker 이미지 빌드. `v*` 태그 workflow에서 RunPod 템플릿 갱신. FastAPI가 RunPod endpoint를 호출하고 결과를 수집 | + +Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터·피드·답글은 `AI_SERVICE_URL`/`AI_SERVICE_TOKEN`을 사용합니다. 두 키는 연결할 AI의 `MONGLE_API_KEY`와 맞춰야 합니다. 컨테이너에서 호스트 AI에 연결할 때 loopback 대신 도달 가능한 호스트 주소를 설정해야 합니다. + +이 설명은 배포 **설정** 검증입니다. 실제 DNS·CloudFront origin·RDS 엔진 버전·RunPod 활성 모델·비밀 환경 변수는 저장소만으로 확정할 수 없습니다. Nginx 대기 제한(120초), Server AI 폴링 기본 예산(150초), Gunicorn 제한(180초)이 달라 동기 대기 경로의 타임아웃 위험도 남아 있습니다. + +근거: [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) · [vite.config.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/vite.config.ts) · [.github/workflows/deploy-server.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/deploy-server.yml) · [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) · [.env.example](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.env.example) · [.github/workflows/deploy-api.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-api.yml) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [docker-compose.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docker-compose.yml) ## 한계와 다음 과제 diff --git a/docs/CROSS_REPOSITORY_REVIEW.md b/docs/CROSS_REPOSITORY_REVIEW.md new file mode 100644 index 0000000..b247232 --- /dev/null +++ b/docs/CROSS_REPOSITORY_REVIEW.md @@ -0,0 +1,157 @@ +# 몽글마을 Web·Server·AI README 교차검증 + +검토일: 2026-10-10. 소스 정적 검토 기준이며 실제 운영 서버·GPU·RDS 접속 검증이나 성능 재측정 결과가 아니다. 코드는 변경하지 않았고 README와 이 근거 기록만 수정한다. + +## 기준 커밋 + +- web: [fcd2734b386035fca2d10980a1bb55ec8e90c4ba](https://github.com/bigmooon/mongle-web/tree/fcd2734b386035fca2d10980a1bb55ec8e90c4ba) +- server: [11f428734960dab8db60bc5bc7128fb62e8a495d](https://github.com/bigmooon/mongle-server/tree/11f428734960dab8db60bc5bc7128fb62e8a495d) +- ai: [8f897687560a6ebf179e3a0894a3bfd05b778efc](https://github.com/bigmooon/mongle-ai/tree/8f897687560a6ebf179e3a0894a3bfd05b778efc) + +## 먼저 확인한 점검 결과 + +| 항목 | 현재 README | 실제 구현 | 판정 | 수정 방향·근거 | +| --- | --- | --- | --- | --- | +| Web 진입·화면 | React/Phaser·features 요약 | main → ErrorBoundary·MobileGate·RouteGate·App, 모달 기반 | 일치·상세 누락 | [src/main.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/main.tsx) · [src/app/RouteGate.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/app/RouteGate.tsx) | +| 비동기 경로 | Celery와 Submit/Poll 포괄 | 캐릭터·피드·답글만 Celery, TODO·퀘스트는 요청 내부 대기, chat은 중계 | 부정확 | 작업별 표로 분리. [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 입주 | 생성 흐름 요약 | SUCCEEDED 미리보기 후 별도 등록·CONSUMED | 단계 누락 | [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) | +| 인증 | JWT 갱신 | Access JWT + opaque Refresh 해시/회전 | 상세 누락 | [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [src/features/auth/store.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/auth/store.ts) | +| 복구 | AI 작업 UX 일반화 | 캐릭터 pending은 localStorage, 플래너는 React·AI 메모리 | 범위 제한 | [src/features/character/pendingJob.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/pendingJob.ts) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) | +| 영속화 | MySQL·S3 묶음 | Django DB·presign·감사 JSON, Web PUT, AI 이미지 업로드 | 주체 누락 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [agents/feed_generation/nodes/s3_upload.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/nodes/s3_upload.py) | +| TODO 저장 | 생성·저장 요약 | 후보/확정 분리; planner-confirm은 오늘 Todo·다른 날짜 Schedule | 단계 누락 | [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | +| 퀘스트 | TODO를 퀘스트로 | ID 연결, 내용 미전달, 캐릭터 persona 기반 | 설명 보완 | [agents/quest_generation/schemas.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/quest_generation/schemas.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | +| 보상·피드 | 완료 후 피드 | DB commit 후 Celery 예약, 결과 수신 후 Post 저장 | 순서 누락 | [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 재시도 | 안정적 처리 | 캐릭터 자동 retry 호출 없음; 피드/답글 HTTP 실패 retry | 과장 방지 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 주기 작업 | Celery 주기 작업 | 스케줄만 있고 Compose에 Beat 없음 | 가동 미확인 | [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) | +| 인프라 버전 | MySQL 8.4·Redis 8 | CI 8.4/8, 로컬 Compose 9.7/7, 운영 Redis 7 | 불일치 | 실제 설정값 각각 명시. [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [.github/workflows/ci.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/ci.yml) | +| 포모도로 | 실행 과정 기록 | 브라우저 localStorage, 서버 기록 API 없음 | 표현 보완 | [src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | +| 모델·평가 | 기존 점수·제출 환경 | provider·모델 변경 가능; 과거 점수는 현행 성능 아님 | 보존 | 수치 및 조건 유지. [llm_evaluation/llm-model-cost-summary.md](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/llm_evaluation/llm-model-cost-summary.md) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) | + +## 수정 계획과 적용 + +1. 동일한 5개 핵심 그룹의 TB 시스템 그림과 작업별 통신 표를 세 README에 반영한다. +2. 10개 사용자 단계의 Web 모듈 → Django API → AI 경계를 연결한다. +3. Web은 화면·인증 상태·복구, Server는 DB·큐·보상·실패, AI는 에이전트·추론·출력·평가를 상세화한다. +4. 과거 설계와 구현 차이, 운영 미확인 사항을 분리한다. 기존 개요·담당 부분·기술 선택·검증 수치·실행 방법은 보존하고 사실이 다른 표현만 교정한다. +5. 링크·수치 보존·Mermaid 문법/폭·세 문서 일관성을 검증한다. + +## 설계 문서와 현재 코드의 차이 + +원본: [시스템 아키텍처](https://drive.google.com/file/d/15p49ZUIrJCmrSCy3LpU3FbjapZaMXdRc/view), [시스템 구성도](https://drive.google.com/file/d/1-M3fjfxeVXiphXsJgJKYBiKmq1vcqFBz/view), [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view). Drive 연결 도구로 본문을 읽었으며 시스템 아키텍처 PDF의 그림·본문도 렌더링해 확인했다. 원본 문서는 수정하지 않았다. + +| 구분 | 문서 내용·위치 | 현재 코드와 대조 | 근거·README 처리 | +| --- | --- | --- | --- | +| 일치 | 아키텍처 §2: 브라우저→Nginx→Gunicorn→Django→AI, DB/미디어 분리 | 기본 서비스 경계 유지 | [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) | +| 과거 설계만 존재 | 아키텍처 §1~2: React+Godot, Web Docker 빌드 | Phaser와 npm/Vite 빌드; Web 배포 workflow에 Docker 단계 없음 | [package.json](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/package.json) · [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) | +| 과거 모델 가정 | 아키텍처 §2: Midm-mini 및 Hugging Face 호출 | 런타임 어댑터는 Qwen 호환 API/RunPod, 워커 빌드는 Qwen·EXAONE; HF는 가중치 다운로드에도 사용 | [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [runpod_workers/llm/Dockerfile](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/runpod_workers/llm/Dockerfile). HF를 항상 원격 추론 API로 그리지 않음 | +| 문서 누락 | 아키텍처: Redis/Celery, 답글, 2단계 job, CloudFront 경로 생략 | 현재 코드에는 각각 존재 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) | +| 역할 오류 | 구성도 §1: Redis의 채팅 데이터 관리 | Redis는 Server 큐·인증 캐시; 플래너는 MemorySaver | [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) | +| 오래된 파일 설명 | 구성도 §2: posts/tasks.py가 향후 구현 자리, 일부 AI openai_llm/vlm 노드 경로 | 피드·답글 task 이미 구현; 실제 주입 모듈은 deps.py 기준 | [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) | +| 저장 주체 차이 | AI 내부 feed 설계는 이미지 영구 저장을 호출자 책임으로 기술 | 실제 feed LangGraph에서 S3 업로드 후 URL 반환, Django는 Post 저장 | [docs/features/feed_generation/CLAUDE.md](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docs/features/feed_generation/CLAUDE.md) · [agents/feed_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/pipeline.py) | +| 이름·방향 보정 | 설계의 VLM 이미지 생성·VLM→캡션 표현 | 이미지 합성은 SDXL 계열. 캡션 노드는 생성 이미지 재판독이 아니라 기존 장면 프롬프트 사용 | [runpod_workers/image_gen/model_refs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/runpod_workers/image_gen/model_refs.py) · [agents/feed_generation/nodes/gen_caption_prompt.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/nodes/gen_caption_prompt.py) | +| 일부 일치·차이 | 화면 SCR-CHAR-001·시나리오: 생성 중 대기/완료 | 미리보기 후 입주 동선 유지; 현재 취소·pending 복구를 추가 설명해야 함 | [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) | +| 기능 차이 | 화면 SCR-FEED-001·시나리오 SCR-FEED-001: 무한 스크롤, 추가 게시물 로드 | `/posts/` 전체 배열 수신 후 Web visibleCount로 표시 분할; 서버 cursor pagination 없음 | [src/features/feed/FeedModal.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/FeedModal.tsx) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) | +| 기능 차이 | 화면 SCR-FEED-001~003: 좋아요 총합·캐릭터 하트 합계 | 개인 피드의 Post.is_liked boolean; 사용자별 Like 모델/총합 집계 아님 | [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) | +| 일부 구현 | 시나리오 SCR-FEED-007: Instagram Stories 연결 | native share 또는 링크 복사; Stories 전용 연동 없음 | [src/features/feed/share.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/share.ts) | +| 동작 차이 | 시나리오 SCR-TIME-001: 집중/휴식 전환·랜덤 캐릭터 응원 | 25/5분은 일치; 종료 후 정지, 고정 토스트 두 문구, localStorage만 사용 | [src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | +| 일치·조건 명시 | 시나리오 SCR-LOGS-001~003: 회고 30자 보상, 수정 15개 | 각 필드 30자 이상일 때 2개씩; 수정 시 최초 보상 조건 충족분 반영 가능 | [apps/todos/reflection_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/reflection_views.py) | +| 일치·실행 조건 | 시나리오 SCR-FEED-005~006: 댓글 비용 3·일 5개·10분 후 답글 | 정책과 countdown=600 일치. 큐·워커 정상 동작이 필요하며 정확히 10분 완료를 보장하지 않음 | [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 근거 확인 불가 | 아키텍처의 RDS 위치·버전, 실제 배포 모델·가동 상태 | 운영 env/클라우드 상태는 저장소 밖 | 설정과 실제 배포 사실을 구분; 운영 확인 완료로 쓰지 않음 | + +## 전체 구조와 사용자 흐름 + +```mermaid +flowchart TB + WEB["Web
React · Phaser"] + SERVER["Server
Django · Celery"] + AI["AI
FastAPI · 추론 어댑터"] + DB["관계형 데이터
MySQL"] + MEDIA["이미지 객체
S3"] + + WEB -->|제품 API| SERVER + SERVER -->|내부 AI API| AI + SERVER -->|도메인 저장| DB + AI -->|생성 이미지 업로드| MEDIA +``` + +이 그림은 요청·저장 방향을 요약합니다. **Web은 AI API를 직접 호출하지 않습니다.** 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3 정적 Web 배포와 미디어 객체 저장은 용도를 구분합니다. Redis는 Server의 Celery broker/result 및 인증 캐시이고, AI job·플래너 대화는 별도 메모리 상태입니다. 이 그림의 MySQL은 제품 DB 구성이며, Django 기본 settings는 DATABASE_URL 미설정 시 SQLite로 대체됩니다. [설정 근거](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py). + +근거: [src/shared/api/client.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/shared/api/client.ts) · [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [infrastructure/storage/s3.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/infrastructure/storage/s3.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) + +| 작업 | Web → Django | Django → AI | 실행·상태 책임 | +| --- | --- | --- | --- | +| 캐릭터 | `POST /characters/generation-jobs/` → 202; `GET /characters/generation-jobs/{id}/` | Celery가 `POST /v1/character` → 202 후 `GET /v1/character/{id}` 폴링 | Django `CharacterGenerationJob` DB 상태 + AI 메모리 job. 성공 후 사용자의 `POST /characters/`로 입주 | +| 단일 TODO 후보 | `POST /todos/generate/`의 최종 응답 대기 | Django 요청 안에서 `POST /v1/todo/generate` 및 `GET /v1/todo/generate/{id}` | Celery 없음. Web에 job ID를 노출하는 방식이 아님 | +| 멀티턴 플래너 | `POST /todos/chat/` → 202; `GET /todos/chat/{id}/` 폴링 | Django가 `/v1/todo/chat` 제출·조회 중계 | AI 메모리 job·플래너 체크포인트. Django DB job 없음 | +| 퀘스트 | 미리보기·확정 API의 최종 응답 대기 | Django 요청 안에서 `/v1/quest/generate` 제출·조회 | Celery 없음. 결과의 유효한 매핑을 Django가 저장 | +| 피드·답글 | TODO 완료·댓글 등록 후 게시물 재조회 | Celery가 `POST /v1/feed/generate`, `/v1/reply/generate` 결과 대기 | Web 관점 백그라운드, AI API 관점 단일 요청/응답. 별도 feed job 조회 API 없음 | + +Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Server job ID와 AI job ID는 서로 다르며, 플래너는 AI job ID를 중계합니다. **Submit/Poll이 곧 Celery 사용이나 영속 복구를 뜻하지는 않습니다.** + +근거: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) + +| 단계 | Web 담당 | Server API·저장 | AI·경계 및 근거 | +| --- | --- | --- | --- | +| 로그인·세션 복구 | `auth/store.ts`, `auth/api.ts`, `shared/api/client.ts` | `POST /auth/login`, `/auth/token/refresh`; `GET /auth/me/`; Kakao 교환·가입 보완 | AI 미호출
[src/features/auth/store.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/auth/store.ts) · [apps/users/urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/urls.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) | +| 사진·AI 주민 생성 | `character/api.ts`, `pendingJob.ts`, `App.tsx` | 원본 presign → S3 PUT → 생성 job 제출·조회 → `POST /characters/` 입주 | `/v1/character` → persona·이미지·외형 결과
[src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [api/character_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/router.py) | +| 자연어 목표·계획 구체화 | `todo/todoApi.ts`, `planner-chat/plannerApi.ts` | `/todos/generate/`, `/todos/chat/` 및 job 조회 | 단일 분해 또는 후속 질문·계획 후보. 생성만으로 DB에 저장하지 않음
[src/features/planner-chat/plannerApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/planner-chat/plannerApi.ts) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [agents/todo_creation/planner/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/pipeline.py) | +| TODO·캘린더·태그 저장 | TODO 확정, 플래너 확정, `calendar/CalendarModal.tsx` | `/todos/confirm/`, `/todos/planner-confirm/`, `/todos/`, `/schedules/`, `/calendar/`, `/tags/` | 계획 확정은 Django가 오늘 후보를 Todo, 다른 날짜 후보를 Schedule로 저장; AI `/commit`은 이 제품 경로에서 호출하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/schedule_urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/schedule_urls.py) · [src/features/calendar/CalendarModal.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/calendar/CalendarModal.tsx) | +| 캐릭터 퀘스트 배정 | `previewTodoQuests`, TODO·플래너 확정 UI | `/todos/quest-preview/` 또는 확정 중 `_assign_quests_to_todos` | `/v1/quest/generate`; TODO **ID**와 캐릭터 정보로 매핑. TODO 내용은 LLM에 전달하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [agents/quest_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/quest_generation/pipeline.py) | +| 완료·보상 | `completeTodo`, App/캘린더 상태 갱신 | `PATCH /todos/{id}/complete/` → Todo·Quest 완료, 잔액·거래 기록 → DB commit 후 피드 예약 | 피드 생성은 완료 응답과 분리
[src/features/todo/todoApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/todo/todoApi.ts) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | +| AI 이미지·캡션 | 생성된 피드·알림을 조회 | Celery `generate_feed_post` → AI 호출 → Post 저장·알림 생성 | `/v1/feed/generate`: 장면 프롬프트 → 이미지 → S3 → 캡션 → 결과
[apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [agents/feed_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/pipeline.py) | +| 피드·댓글·답글 | `feed/api.ts`, `FeedModal.tsx`, `PostScreen.tsx` | `/posts/`, `/posts/{id}/comments/`, `/posts/{id}/like/`; 댓글 commit 후 600초 지연 예약 | `/v1/reply/generate` → Reply 저장. 자기 캐릭터의 개인 피드
[src/features/feed/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/api.ts) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | +| 포모도로 | `pomodoro/PomodoroHud.tsx`: 25분/5분, 종료 시 다음 모드에서 정지 | 서버 API·집중 이력 DB 저장 없음 | AI 미호출; `localStorage`의 종료 시각으로 복원
[src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | +| 회고 | `reflection/api.ts`: 당일 문맥·과거 회고 조회, 작성·수정 | `/reflections/context/{date}/`, `/reflections/`, `/{id}/`; Reflection·보상 거래 저장 | AI 미호출
[src/features/reflection/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/reflection/api.ts) · [apps/todos/reflection_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/reflection_views.py) | + +## 저장·실패·배포 상세 근거 + +### 인증·영속화 경계 + +사용자 인증은 Access JWT(기본 1시간)와 **opaque Refresh 토큰**을 함께 사용합니다. Refresh 원문은 HttpOnly 쿠키(`mongle_refresh_token`, `/api/v1/auth`, SameSite=Lax, 운영 Secure)에 넣고 DB에는 SHA-256 해시를 저장합니다. 갱신은 기존 행을 폐기하고 새 토큰으로 회전합니다. 자동 로그인은 2주, 일반 로그인은 3시간 수명을 사용하며 회전 시 갱신됩니다. AI 호출에는 사용자 JWT 대신 서비스 간 `X-API-Key`를 사용합니다. + +근거: [apps/users/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/views.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [api/security.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/security.py) + +| 저장소 | 실제 저장 대상·사용 위치 | +| --- | --- | +| MySQL | User·SocialAccount·RefreshToken 해시·TokenTransaction·Notification, SourceImage 메타데이터·CharacterGenerationJob·Character·ImgGenLog, Todo·Schedule·Tag·Quest·Reflection, Post·Comment·Reply. 이미지 바이너리 대신 키/URL 저장 | +| S3 | Web의 원본 `source-images/` 직접 PUT, AI의 `characters/`·`feeds/` 생성 이미지, Server의 `log/character-gen/` 감사 JSON. 공통 `AWS_S3_PREFIX` 사용 | +| Redis | Celery broker/result backend, Django 요청 제한 캐시, 이메일 인증 코드·검증 토큰. 제품 TODO·플래너 대화의 영속 DB가 아님 | +| AI 프로세스 메모리 | 생성 job 결과와 플래너 `MemorySaver`; Django 도메인 DB와 분리 | + +근거: [apps/users/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/models.py) · [apps/characters/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/models.py) · [apps/todos/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/models.py) · [apps/tags/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/tags/models.py) · [apps/quests/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/quests/models.py) · [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/users/signup_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/signup_views.py) · [apps/users/rate_limit.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/rate_limit.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) + +### 작업 실패·재시도와 복구 한계 + +- 캐릭터: DB의 `QUEUED → IN_PROGRESS → SUCCEEDED → CONSUMED`와 `FAILED`를 관리합니다. Celery는 AI를 3초 간격·300초 제한으로 조회합니다. 실패/취소 시 생성 횟수를 환불하고 취소와 결과 저장을 행 잠금으로 조정합니다. `max_retries=3` 선언은 있지만 이 task에 `self.retry()` 호출은 없어 자동 재제출을 보장하지 않습니다. +- TODO·퀘스트: 단일 후보 생성 실패는 502로 알립니다. 퀘스트 호출 실패 시 이미 저장한 TODO는 유지하고 퀘스트를 생략합니다. `/todos/sync-quests/`는 오늘의 미배정 Todo를 처리하는 API지만 현재 Web에서 호출하는 경로는 확인되지 않습니다. Schedule의 자동 Todo 전환 경로도 확인되지 않으므로 자동 복구로 기술하지 않습니다. +- 피드·답글: HTTP 호출 실패는 30초 후 최대 2회 재시도합니다. 빈 결과는 로그 후 종료합니다. 완료·댓글 DB commit 후 큐 예약이 실패하면 로그만 남기므로, 보상이나 댓글 저장 성공이 피드·답글 게시 성공까지 보장하지는 않습니다. +- 주기 작업: 미완료 TODO 실패 처리·회고 알림·이미지 횟수 정리·Refresh 정리 스케줄이 있습니다. 로컬/운영 Compose에는 Beat 서비스가 없으므로 별도 Beat 실행 없이는 스케줄 설정만으로 작동하지 않습니다. +- AI 재시작 시 메모리 job은 사라집니다. 캐릭터 DB job과 브라우저 pending 값이 남아 있어도 원격 추론을 재개하는 것은 아닙니다. Redis Compose에도 영속 볼륨/AOF 설정이 없어 재생성 시 큐 보존을 전제할 수 없습니다. + +근거: [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) · [api/character_creation/jobs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/jobs.py) + +| 서비스 | 저장소에 정의된 배포·통신 경로 | +| --- | --- | +| Web | Node 빌드 → S3 정적 배포 → CloudFront invalidation. 개발은 Vite `/api` proxy → `localhost:8000`; 배포는 빌드 시 `VITE_API_BASE` 주입 | +| Server | 테스트 → Docker Hub → AWS OIDC·SSM → EC2 Compose. Nginx TLS → `web:8000` Gunicorn → Django. DB 주소는 `DATABASE_URL`, AI 주소는 아래 두 설정군 사용 | +| AI API | 테스트 → Docker Hub → RunPod CPU Pod 재시작 → `8010/health` 확인. Compose의 단독 API 실행과 GPU 워커는 별도 구성 | +| 추론 워커 | LLM·플래너·이미지 Docker 이미지 빌드. `v*` 태그 workflow에서 RunPod 템플릿 갱신. FastAPI가 RunPod endpoint를 호출하고 결과를 수집 | + +Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터·피드·답글은 `AI_SERVICE_URL`/`AI_SERVICE_TOKEN`을 사용합니다. 두 키는 연결할 AI의 `MONGLE_API_KEY`와 맞춰야 합니다. 컨테이너에서 호스트 AI에 연결할 때 loopback 대신 도달 가능한 호스트 주소를 설정해야 합니다. + +이 설명은 배포 **설정** 검증입니다. 실제 DNS·CloudFront origin·RDS 엔진 버전·RunPod 활성 모델·비밀 환경 변수는 저장소만으로 확정할 수 없습니다. Nginx 대기 제한(120초), Server AI 폴링 기본 예산(150초), Gunicorn 제한(180초)이 달라 동기 대기 경로의 타임아웃 위험도 남아 있습니다. + +근거: [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) · [vite.config.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/vite.config.ts) · [.github/workflows/deploy-server.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/deploy-server.yml) · [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) · [.env.example](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.env.example) · [.github/workflows/deploy-api.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-api.yml) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [docker-compose.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docker-compose.yml) + +## 검증 기록 + +기존 Web 121 tests, Server 236 tests·84.16%, AI 3.672/5·0.90/0.90·1.00·SSIM 0.6712→0.8378·20/20·19/20 및 리서치 수치는 유지한다. 기존 평가 조건·한계 문단을 삭제하지 않는다. 이번 검토는 문서 수정이며 모델 성능이나 전체 E2E를 새로 측정하지 않는다. + +### 이번 문서 수정에서 확인한 항목 + +- 세 README의 공통 시스템·사용자 흐름 Mermaid 내용이 동일하고, 각 저장소의 담당 설명을 별도로 유지했다. +- 10개 사용자 단계와 API 경로를 Web 호출부·Django 라우터·AI 라우터에 대조했다. 기본 데이터 흐름과 저장·응답 방향은 본문 및 작업별 표에 명시했다. +- Mermaid 11 브라우저 렌더링: README 6개 다이어그램 문법 정상, 시스템 그림 약 416×550px, 사용자 흐름 약 238×382px. 본문 가용 폭 766px에서 overflow 없음; 글자·화살표 잘림 없음. +- 커밋 고정 코드 링크 82개는 해당 Git 객체 경로 존재를 확인했다. 상대 문서 링크도 존재 확인을 통과했다. Drive 폴더와 문서 11개의 읽기 접근을 연결 도구로 확인했다. 공개·비로그인 접근 권한까지 보장하는 검사는 아니다. +- 기존 프로젝트 개요·담당한 부분·한계 문단은 동일하며, 연구 백분율·검증 및 모델 평가 표의 모든 행·기존 실행 명령을 비교해 보존을 확인했다. Server 리서치 표의 AI 처리 설명만 실제 경로에 맞게 교정했다. +- `git diff --check` 세 저장소 통과. 수정 대상은 README와 이 기록이다. 앱 테스트·GPU 추론·운영 E2E는 이번 문서 수정에서 재실행하지 않았다. From d6c6f65edf4c9ef6986d4b6a8ddc691ede777372 Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sat, 10 Oct 2026 19:29:08 +0900 Subject: [PATCH 2/7] docs: record GitHub diagram rendering verification --- docs/CROSS_REPOSITORY_REVIEW.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/CROSS_REPOSITORY_REVIEW.md b/docs/CROSS_REPOSITORY_REVIEW.md index b247232..6b0bf8a 100644 --- a/docs/CROSS_REPOSITORY_REVIEW.md +++ b/docs/CROSS_REPOSITORY_REVIEW.md @@ -152,6 +152,7 @@ Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터 - 세 README의 공통 시스템·사용자 흐름 Mermaid 내용이 동일하고, 각 저장소의 담당 설명을 별도로 유지했다. - 10개 사용자 단계와 API 경로를 Web 호출부·Django 라우터·AI 라우터에 대조했다. 기본 데이터 흐름과 저장·응답 방향은 본문 및 작업별 표에 명시했다. - Mermaid 11 브라우저 렌더링: README 6개 다이어그램 문법 정상, 시스템 그림 약 416×550px, 사용자 흐름 약 238×382px. 본문 가용 폭 766px에서 overflow 없음; 글자·화살표 잘림 없음. +- GitHub 검토 브랜치의 실제 README 화면에서도 세 저장소의 6개 Mermaid 렌더링을 확인했다. 데스크톱 본문 폭에서 가로 잘림이나 문법 오류가 없으며, 긴 시스템 그림은 페이지를 세로로 스크롤해 하단까지 확인했다. - 커밋 고정 코드 링크 82개는 해당 Git 객체 경로 존재를 확인했다. 상대 문서 링크도 존재 확인을 통과했다. Drive 폴더와 문서 11개의 읽기 접근을 연결 도구로 확인했다. 공개·비로그인 접근 권한까지 보장하는 검사는 아니다. - 기존 프로젝트 개요·담당한 부분·한계 문단은 동일하며, 연구 백분율·검증 및 모델 평가 표의 모든 행·기존 실행 명령을 비교해 보존을 확인했다. Server 리서치 표의 AI 처리 설명만 실제 경로에 맞게 교정했다. - `git diff --check` 세 저장소 통과. 수정 대상은 README와 이 기록이다. 앱 테스트·GPU 추론·운영 E2E는 이번 문서 수정에서 재실행하지 않았다. From 06c87efc0674b9073ea951d4166835a0833a9f5c Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sat, 10 Oct 2026 19:51:01 +0900 Subject: [PATCH 3/7] docs: clarify product motivation with proposal-based visual --- README.md | 52 ++++++++++++++++++++++----------- docs/CROSS_REPOSITORY_REVIEW.md | 10 ++++++- docs/images/product-concept.svg | 37 +++++++++++++++++++++++ 3 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 docs/images/product-concept.svg diff --git a/README.md b/README.md index f0b8fdc..bb4e344 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,13 @@ ## 프로젝트 개요 -몽글마을은 사용자의 애착 인형을 AI 주민으로 만들고, 자연어 목표를 TODO와 캐릭터 퀘스트로 바꾸는 서비스입니다. Server는 제품의 도메인 데이터와 인증을 관리하고, 실행 시간이 긴 AI 요청을 Celery 작업으로 분리해 Web과 AI 서비스를 연결합니다. +**내일도와줘, 몽글마을**은 자기관리를 시작하고 싶지만 계획을 세우거나 꾸준히 실천하기 어려운 20~30대를 위한 서비스입니다. 나의 애착 인형을 픽셀 마을의 AI 주민으로 만들고, 자연어로 이야기한 목표를 실행할 TODO로 구체화합니다. + +사용자는 계획을 확인하고 저장한 뒤, 자신의 할 일과 연결된 주민의 퀘스트를 함께 수행합니다. 퀘스트와 연결된 TODO를 완료하면 사과 토큰을 받고, 주민의 이미지·글이 담긴 개인 피드가 생성됩니다. 여기에 캘린더, 집중을 돕는 포모도로, 하루를 돌아보는 회고를 더해 **계획 → 실천 → 성취 기록**을 하나의 마을에서 경험하도록 구성했습니다. + +몽글마을은 나만의 캐릭터와 작은 실천을 쌓으며 다시 찾아오고 싶은 자기관리 경험을 목표로 합니다. 대상 사용자와 제품의 출발점은 [프로젝트 기획서의 「핵심 목표·주요 고객」](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에 정리되어 있습니다. + +Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정, 퀘스트, 보상, 피드와 회고 데이터를 관리합니다. Web의 요청을 AI 서비스와 연결하고, 캐릭터·피드·답글 생성은 Celery 작업으로 실행합니다. 계획·퀘스트 생성은 각 API의 제출·조회 방식에 맞춰 처리하며, 저장과 보상 지급은 Django가 담당합니다. | 영역 | 저장소 | 역할 | | --- | --- | --- | @@ -19,7 +25,15 @@ ## 문제 정의와 리서치 근거 -기획 단계에서 수집한 외부 조사 결과를 제품 가설과 기능 설계로 연결했습니다. 아래 수치는 자체 설문 결과가 아니라 [`프로젝트 기획서`](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에 정리한 선행 자료입니다. +기획서가 주목한 문제는 **자기관리의 의욕이 실제 시작과 지속으로 이어지기 어렵다는 점**입니다. 하고 싶은 일은 있어도 무엇부터 해야 할지 막막하고, 계획을 세운 뒤에도 혼자 반복하는 과정에서 흥미를 잃기 쉽습니다. 기획서에서는 이러한 어려움을 목표 구체화, 피드백, 보상과 연결해 풀고자 했습니다. [문제 정의와 서비스 필요성](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view) + +몽글마을은 **쉽게 시작하기**와 **꾸준히 돌아오기**에 초점을 맞췄습니다. AI 플래너와 대화하며 목표를 작은 할 일로 나누고, 사용자가 확인한 계획부터 실천하도록 돕습니다. 여기에 애착 인형을 나만의 주민으로 만드는 경험과 퀘스트·사과 보상·주민 피드를 더했습니다. 내가 한 일을 캐릭터의 활동으로도 볼 수 있게 해, 다음 실천을 이어갈 동기를 만들고자 했습니다. + +![몽글마을의 기획 의도: 막막한 목표는 대화형 계획으로, 혼자 하는 실천은 나만의 주민과 함께, 작은 성취는 보상과 피드로 연결](docs/images/product-concept.svg) + +*프로젝트 기획서 1.3~1.4절과 2.1~2.3절을 바탕으로 재구성한 문제의식과 제품 접근입니다. 화면 구성은 [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), 사용 장면은 [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view)에서 확인할 수 있습니다.* + +기획 단계에서 참고한 외부 조사 결과는 아래와 같습니다. 조사 대상과 조건이 서로 다른 선행 자료이며, 몽글마을 사용자를 대상으로 측정한 결과는 아닙니다. 원문 출처 목록은 [프로젝트 기획서의 「출처」](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에 있습니다. | 관찰한 문제 | 조사 결과 | Server 설계에 반영한 방식 | | --- | --- | --- | @@ -27,15 +41,17 @@ | 생산성 앱을 오래 쓰기 어렵다 | 생산성 앱 리텐션: 1일 **32.86% → 30일 9.63%** | 퀘스트·피드·알림·회고 데이터를 하나의 실행 루프로 연결 | | AI 생성은 일반 요청보다 오래 걸린다 | 캐릭터·계획·이미지 생성에 외부 모델 호출 필요 | 캐릭터는 Celery·Redis와 DB job, TODO·퀘스트는 AI Submit/Poll 중계 적용 | +이 자료를 바탕으로 “목표 구체화와 캐릭터 기반 보상이 시작과 재방문에 도움이 될 것”이라는 제품 가설을 세웠습니다. 실제 효과는 TODO 생성·완료율, 1·7·30일 재방문율, 회고 참여율 등으로 검증할 과제입니다. 상황별 응원이나 TODO와 퀘스트의 연결 조건 등 기획과 현재 구현이 달라진 부분은 [설계·구현 대조 기록](docs/CROSS_REPOSITORY_REVIEW.md)에 구분했습니다. + ## 시스템 구조 -Server는 인증·도메인 데이터·DB 작업 상태를 소유하고, 작업 유형에 맞게 AI API를 호출합니다. +Server는 인증과 사용자 데이터, DB에 기록하는 작업 상태를 관리하며 작업 유형에 맞게 AI API를 호출합니다. ```mermaid flowchart TB WEB["Web
React · Phaser"] SERVER["Server
Django · Celery"] - AI["AI
FastAPI · 추론 어댑터"] + AI["AI
FastAPI · 추론"] DB["관계형 데이터
MySQL"] MEDIA["이미지 객체
S3"] @@ -45,9 +61,11 @@ flowchart TB AI -->|생성 이미지 업로드| MEDIA ``` -이 그림은 요청·저장 방향을 요약합니다. **Web은 AI API를 직접 호출하지 않습니다.** 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3 정적 Web 배포와 미디어 객체 저장은 용도를 구분합니다. Redis는 Server의 Celery broker/result 및 인증 캐시이고, AI job·플래너 대화는 별도 메모리 상태입니다. 이 그림의 MySQL은 제품 DB 구성이며, Django 기본 settings는 DATABASE_URL 미설정 시 SQLite로 대체됩니다. [설정 근거](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py). +Web의 AI 기능 요청은 Django를 거쳐 FastAPI로 전달됩니다. 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3는 Web 정적 파일 배포와 사용자 미디어 저장에 각각 사용합니다. + +Redis는 Server의 Celery broker/result 및 인증 캐시이고, AI job·플래너 대화는 별도 메모리 상태입니다. 제품 DB는 MySQL을 사용하도록 구성되어 있고, Django 기본 설정에서는 `DATABASE_URL`을 지정하지 않으면 SQLite를 사용합니다. [설정 근거](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py). -근거: [src/shared/api/client.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/shared/api/client.ts) · [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [infrastructure/storage/s3.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/infrastructure/storage/s3.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) +관련 코드: [src/shared/api/client.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/shared/api/client.ts) · [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [infrastructure/storage/s3.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/infrastructure/storage/s3.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) ### 작업별 통신 방식 @@ -61,12 +79,12 @@ flowchart TB Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Server job ID와 AI job ID는 서로 다르며, 플래너는 AI job ID를 중계합니다. **Submit/Poll이 곧 Celery 사용이나 영속 복구를 뜻하지는 않습니다.** -근거: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) +관련 코드: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) -## 코드·설계 문서 대조 기준 +## 문서 기준과 변경 이력 -2026-10-10에 세 저장소의 기본 브랜치 코드·환경 변수 예시·Compose·CI·API 클라이언트·라우터와 Drive의 시스템 아키텍처·시스템 구성도·화면 설계서·시나리오 설계서를 대조했습니다. 코드 링크는 검토 당시 커밋으로 고정했습니다. 과거 설계와 현재 구현의 차이, 확인 불가 항목, 수정·검증 내역은 [교차검증 기록](docs/CROSS_REPOSITORY_REVIEW.md)에 남깁니다. 기존 리서치와 평가 수치는 보존하며 현재 운영 성능으로 새로 주장하지 않습니다. +README는 2026-10-10에 확인한 코드와 환경 변수 예시, Compose, CI 설정을 기준으로 작성했습니다. 코드 링크는 당시 커밋을 가리킵니다. Drive 설계 자료와 달라진 부분, 확인이 필요한 항목과 검증 내역은 [교차검증 기록](docs/CROSS_REPOSITORY_REVIEW.md)에서 확인할 수 있습니다. ## 관련 설계 문서 @@ -97,7 +115,7 @@ Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Serve flowchart TB JOIN["로그인 · 주민 입주"] PLAN["목표 구체화 · TODO 확정"] - DO["퀘스트 연결 · 완료 보상"] + DO["퀘스트 연결
완료 보상"] REVIEW["개인 피드 · 댓글 · 회고"] JOIN --> PLAN --> DO --> REVIEW ``` @@ -121,7 +139,7 @@ flowchart TB 사용자 인증은 Access JWT(기본 1시간)와 **opaque Refresh 토큰**을 함께 사용합니다. Refresh 원문은 HttpOnly 쿠키(`mongle_refresh_token`, `/api/v1/auth`, SameSite=Lax, 운영 Secure)에 넣고 DB에는 SHA-256 해시를 저장합니다. 갱신은 기존 행을 폐기하고 새 토큰으로 회전합니다. 자동 로그인은 2주, 일반 로그인은 3시간 수명을 사용하며 회전 시 갱신됩니다. AI 호출에는 사용자 JWT 대신 서비스 간 `X-API-Key`를 사용합니다. -근거: [apps/users/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/views.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [api/security.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/security.py) +관련 코드: [apps/users/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/views.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [api/security.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/security.py) | 저장소 | 실제 저장 대상·사용 위치 | | --- | --- | @@ -130,7 +148,7 @@ flowchart TB | Redis | Celery broker/result backend, Django 요청 제한 캐시, 이메일 인증 코드·검증 토큰. 제품 TODO·플래너 대화의 영속 DB가 아님 | | AI 프로세스 메모리 | 생성 job 결과와 플래너 `MemorySaver`; Django 도메인 DB와 분리 | -근거: [apps/users/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/models.py) · [apps/characters/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/models.py) · [apps/todos/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/models.py) · [apps/tags/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/tags/models.py) · [apps/quests/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/quests/models.py) · [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/users/signup_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/signup_views.py) · [apps/users/rate_limit.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/rate_limit.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) +관련 코드: [apps/users/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/models.py) · [apps/characters/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/models.py) · [apps/todos/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/models.py) · [apps/tags/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/tags/models.py) · [apps/quests/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/quests/models.py) · [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/users/signup_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/signup_views.py) · [apps/users/rate_limit.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/rate_limit.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) ### 작업 실패·재시도와 복구 한계 @@ -140,7 +158,7 @@ flowchart TB - 주기 작업: 미완료 TODO 실패 처리·회고 알림·이미지 횟수 정리·Refresh 정리 스케줄이 있습니다. 로컬/운영 Compose에는 Beat 서비스가 없으므로 별도 Beat 실행 없이는 스케줄 설정만으로 작동하지 않습니다. - AI 재시작 시 메모리 job은 사라집니다. 캐릭터 DB job과 브라우저 pending 값이 남아 있어도 원격 추론을 재개하는 것은 아닙니다. Redis Compose에도 영속 볼륨/AOF 설정이 없어 재생성 시 큐 보존을 전제할 수 없습니다. -근거: [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) · [api/character_creation/jobs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/jobs.py) +관련 코드: [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) · [api/character_creation/jobs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/jobs.py) ## 담당한 부분 @@ -165,7 +183,7 @@ flowchart TB ## 검증 결과 -기존 README에 기록된 2026-10-10 로컬 검증 결과를 보존합니다. 아래 수치는 이번 문서 교차검증에서 재실행한 결과가 아닙니다. +2026-10-10에 기록한 로컬 검증 결과입니다. 이번 README 수정에서는 애플리케이션 테스트를 다시 실행하지 않았습니다. | 검증 | 결과 | | --- | ---: | @@ -182,7 +200,7 @@ CI workflow는 MySQL 8.4와 Redis 8 서비스를 띄운 뒤 Ruff, Django 검사, - Python 3.12 - [uv](https://docs.astral.sh/uv/) -- MySQL·Redis 또는 Docker. CI는 MySQL 8.4/Redis 8, 로컬 Compose는 MySQL 9.7/Redis 7, 운영 Compose는 Redis 7이며 DB는 외부 `DATABASE_URL`을 사용합니다. 버전 불일치는 현행 설정을 그대로 기록한 것이며 이번 문서 수정에서 변경하지 않았습니다. ([Compose](docker-compose.yml), [운영 Compose](docker-compose.prod.yml), [CI](.github/workflows/ci.yml)) +- MySQL·Redis 또는 Docker. CI는 MySQL 8.4/Redis 8, 로컬 Compose는 MySQL 9.7/Redis 7, 운영 Compose는 Redis 7이며 DB는 외부 `DATABASE_URL`을 사용합니다. 환경별 버전이 다르므로 실행하려는 구성의 설정을 확인해야 합니다. ([Compose](docker-compose.yml), [운영 Compose](docker-compose.prod.yml), [CI](.github/workflows/ci.yml)) ### 로컬 실행 @@ -261,9 +279,9 @@ docs/ 개발·배포 가이드 Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터·피드·답글은 `AI_SERVICE_URL`/`AI_SERVICE_TOKEN`을 사용합니다. 두 키는 연결할 AI의 `MONGLE_API_KEY`와 맞춰야 합니다. 컨테이너에서 호스트 AI에 연결할 때 loopback 대신 도달 가능한 호스트 주소를 설정해야 합니다. -이 설명은 배포 **설정** 검증입니다. 실제 DNS·CloudFront origin·RDS 엔진 버전·RunPod 활성 모델·비밀 환경 변수는 저장소만으로 확정할 수 없습니다. Nginx 대기 제한(120초), Server AI 폴링 기본 예산(150초), Gunicorn 제한(180초)이 달라 동기 대기 경로의 타임아웃 위험도 남아 있습니다. +배포 경로는 저장소의 Compose와 CI 설정을 기준으로 정리했습니다. 실제 DNS, CloudFront origin, RDS 엔진 버전, RunPod에서 사용 중인 모델과 비밀 환경 변수는 운영 환경에서 별도로 확인해야 합니다. Nginx 대기 제한(120초), Server AI 폴링 기본 예산(150초), Gunicorn 제한(180초)이 달라 동기 대기 경로의 타임아웃 위험도 남아 있습니다. -근거: [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) · [vite.config.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/vite.config.ts) · [.github/workflows/deploy-server.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/deploy-server.yml) · [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) · [.env.example](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.env.example) · [.github/workflows/deploy-api.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-api.yml) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [docker-compose.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docker-compose.yml) +관련 코드: [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) · [vite.config.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/vite.config.ts) · [.github/workflows/deploy-server.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/deploy-server.yml) · [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) · [.env.example](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.env.example) · [.github/workflows/deploy-api.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-api.yml) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [docker-compose.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docker-compose.yml) ## 한계와 다음 과제 diff --git a/docs/CROSS_REPOSITORY_REVIEW.md b/docs/CROSS_REPOSITORY_REVIEW.md index 6b0bf8a..c5a4ccf 100644 --- a/docs/CROSS_REPOSITORY_REVIEW.md +++ b/docs/CROSS_REPOSITORY_REVIEW.md @@ -64,7 +64,7 @@ flowchart TB WEB["Web
React · Phaser"] SERVER["Server
Django · Celery"] - AI["AI
FastAPI · 추론 어댑터"] + AI["AI
FastAPI · 추론"] DB["관계형 데이터
MySQL"] MEDIA["이미지 객체
S3"] @@ -156,3 +156,11 @@ Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터 - 커밋 고정 코드 링크 82개는 해당 Git 객체 경로 존재를 확인했다. 상대 문서 링크도 존재 확인을 통과했다. Drive 폴더와 문서 11개의 읽기 접근을 연결 도구로 확인했다. 공개·비로그인 접근 권한까지 보장하는 검사는 아니다. - 기존 프로젝트 개요·담당한 부분·한계 문단은 동일하며, 연구 백분율·검증 및 모델 평가 표의 모든 행·기존 실행 명령을 비교해 보존을 확인했다. Server 리서치 표의 AI 처리 설명만 실제 경로에 맞게 교정했다. - `git diff --check` 세 저장소 통과. 수정 대상은 README와 이 기록이다. 앱 테스트·GPU 추론·운영 E2E는 이번 문서 수정에서 재실행하지 않았다. + +### 기획 배경과 문체 보강 + +후속 요청에 따라 프로젝트 개요를 대상 사용자 → 사용 경험 → 저장소 역할 순서로 확장했다. [프로젝트 기획서](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)의 1.3~1.4절, 2.1~2.3절, 4절을 바탕으로 시작·지속의 어려움과 제품 가설을 설명하고, `images/product-concept.svg`에 세 가지 문제의식과 접근을 시각화했다. 기획서·화면 설계서·시나리오 설계서 링크를 관련 문단에 배치했다. AI README에도 공통 리서치 배경을 추가했다. + +“이 설명은 … 검증입니다”, “결과를 보존합니다” 등의 편집 작업 중심 표현을 독자를 위한 문장으로 바꿨다. 평가 조건·한계와 코드 근거는 유지했다. 위의 “프로젝트 개요 동일” 검증은 최초 수정 시점의 기록이며, 이번 보강에서는 사용자 요청에 따라 개요를 재작성했다. 담당한 부분·기존 평가 표·리서치 수치·실행 명령은 그대로 유지했다. 제품 가설의 효과를 입증한 결과나 미구현 기능을 추가로 주장하지 않았다. + +보강 후 검증: 기획 그림 3개가 동일한 SVG로 정상 로드되며 본문 폭 766px 안에서 760px로 표시된다. 줄바꿈을 다듬은 Mermaid 6개도 다시 렌더링해 문법 오류와 가로 overflow가 없음을 확인했다(시스템 약 370×550px, 사용자 흐름 약 238×406px). 기존 담당 내용·한계·평가 표·연구 백분율·실행 명령 보존 및 82개 코드 경로 검증을 재통과했다. diff --git a/docs/images/product-concept.svg b/docs/images/product-concept.svg new file mode 100644 index 0000000..e168c02 --- /dev/null +++ b/docs/images/product-concept.svg @@ -0,0 +1,37 @@ + + 몽글마을: 시작은 가볍게, 실천은 함께 + 기획서의 세 가지 문제의식과 제품 접근. 목표가 막막할 때는 대화로 할 일을 구체화하고, 혼자 이어가기 어려울 때는 애착 인형을 나만의 주민으로 만들며, 작은 성취를 남기고 싶을 때는 퀘스트 완료를 사과 보상과 주민 피드로 기록한다. 기대효과는 사용자 지표로 검증할 제품 가설이다. + + + MONGLE VILLAGE · PRODUCT IDEA + 시작은 가볍게, 실천은 함께 + 자기관리의 시작과 지속을 돕기 위한 세 가지 접근 + + + + 01 + 목표가 막막할 때 + 대화로 오늘 할 일을 구체화 + 자연어 목표 → AI 플래너와 구체화 → TODO 확인·저장 + 무엇부터 시작할지 정하는 부담을 덜고자 합니다. + + + + 02 + 혼자 이어가기 어려울 때 + 내 애착 인형이 나만의 주민으로 + 인형 사진·설명 → AI 주민 생성 → 마을 입주 + 나에게 의미 있는 캐릭터와 일상을 함께하도록 설계했습니다. + + + + 03 + 작은 성취를 남기고 싶을 때 + 실천을 보상과 주민 피드로 기록 + 퀘스트와 연결된 TODO 완료 → 사과 보상·이미지·글 + 할 일의 완료가 눈에 보이는 기록으로 남도록 연결했습니다. + + 지향점 · 다시 찾아오고 싶은 자기관리 경험 + 프로젝트 기획서의 제품 가설을 재구성했습니다. 효과는 사용자 지표로 검증할 과제입니다. + + From ffe7d36376c5713b739d383c38c177e419b02e28 Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sat, 10 Oct 2026 21:22:50 +0900 Subject: [PATCH 4/7] docs: connect market research to Mongle positioning --- README.md | 51 ++++++++++++++++++++++++++---- docs/CROSS_REPOSITORY_REVIEW.md | 8 +++++ docs/MARKET_RESEARCH.md | 17 ++++++++++ docs/images/market-positioning.svg | 1 + docs/images/product-concept.svg | 38 +--------------------- 5 files changed, 71 insertions(+), 44 deletions(-) create mode 100644 docs/MARKET_RESEARCH.md create mode 100644 docs/images/market-positioning.svg diff --git a/README.md b/README.md index bb4e344..668d7e4 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 프로젝트 개요 -**내일도와줘, 몽글마을**은 자기관리를 시작하고 싶지만 계획을 세우거나 꾸준히 실천하기 어려운 20~30대를 위한 서비스입니다. 나의 애착 인형을 픽셀 마을의 AI 주민으로 만들고, 자연어로 이야기한 목표를 실행할 TODO로 구체화합니다. +**내일도와줘, 몽글마을**은 꾸준한 기록과 루틴 관리를 원하는 사용자를 위해, **자기관리 기능과 애착 인형 기반의 정서적 연결을 결합한 서비스**입니다. 20~30대 여성을 핵심 기획 대상으로 삼아 생산성 앱과 성인 키덜트 시장이 만나는 틈새를 겨냥했습니다. 나의 애착 인형을 픽셀 마을의 AI 주민으로 만들고, 자연어로 이야기한 목표를 실행할 TODO로 구체화합니다. 사용자는 계획을 확인하고 저장한 뒤, 자신의 할 일과 연결된 주민의 퀘스트를 함께 수행합니다. 퀘스트와 연결된 TODO를 완료하면 사과 토큰을 받고, 주민의 이미지·글이 담긴 개인 피드가 생성됩니다. 여기에 캘린더, 집중을 돕는 포모도로, 하루를 돌아보는 회고를 더해 **계획 → 실천 → 성취 기록**을 하나의 마을에서 경험하도록 구성했습니다. @@ -25,15 +25,52 @@ Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정 ## 문제 정의와 리서치 근거 -기획서가 주목한 문제는 **자기관리의 의욕이 실제 시작과 지속으로 이어지기 어렵다는 점**입니다. 하고 싶은 일은 있어도 무엇부터 해야 할지 막막하고, 계획을 세운 뒤에도 혼자 반복하는 과정에서 흥미를 잃기 쉽습니다. 기획서에서는 이러한 어려움을 목표 구체화, 피드백, 보상과 연결해 풀고자 했습니다. [문제 정의와 서비스 필요성](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view) +### 1. 계획을 세우는 데서, 기록과 루틴을 이어가는 수요로 -몽글마을은 **쉽게 시작하기**와 **꾸준히 돌아오기**에 초점을 맞췄습니다. AI 플래너와 대화하며 목표를 작은 할 일로 나누고, 사용자가 확인한 계획부터 실천하도록 돕습니다. 여기에 애착 인형을 나만의 주민으로 만드는 경험과 퀘스트·사과 보상·주민 피드를 더했습니다. 내가 한 일을 캐릭터의 활동으로도 볼 수 있게 해, 다음 실천을 이어갈 동기를 만들고자 했습니다. +자기관리는 일상적인 관심사가 되었습니다. 잡플래닛이 2024년 발표한 설문에서는 **직장인 응답자의 71.2%, 약 10명 중 7명**이 자기개발을 하고 있다고 답했습니다. 전체 응답자는 직장인·휴직/구직자·대학생 등 323명이며, 직장인 수치는 그중 직장인 그룹의 응답입니다. [잡플래닛 조사](https://www.jobplanet.co.kr/contents/news-6416) -![몽글마을의 기획 의도: 막막한 목표는 대화형 계획으로, 혼자 하는 실천은 나만의 주민과 함께, 작은 성취는 보상과 피드로 연결](docs/images/product-concept.svg) +기획 발표 자료에서는 Better, Notein, To-Do List, 마이루틴 등 기록·루틴 앱을 최근 1년 성장률 상위 사례로 제시했습니다. 팀은 이 흐름에서 **사용자가 계획을 작성하는 기능에 더해, 꾸준히 기록하고 루틴을 관리할 경험을 찾고 있다**는 기회를 읽었습니다. 성장률의 상세 수치와 원자료 확인 범위는 [시장조사 출처 기록](docs/MARKET_RESEARCH.md)에 정리했습니다. -*프로젝트 기획서 1.3~1.4절과 2.1~2.3절을 바탕으로 재구성한 문제의식과 제품 접근입니다. 화면 구성은 [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), 사용 장면은 [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view)에서 확인할 수 있습니다.* +### 2. 핵심 기획 대상: 자기관리에 관심 있는 20~30대 여성 -기획 단계에서 참고한 외부 조사 결과는 아래와 같습니다. 조사 대상과 조건이 서로 다른 선행 자료이며, 몽글마을 사용자를 대상으로 측정한 결과는 아닙니다. 원문 출처 목록은 [프로젝트 기획서의 「출처」](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에 있습니다. +코리안클릭의 2023.05~2024.04 자료를 인용한 보도에서 스케줄 관리 앱 이용자는 **여성 55.8%**, 연령별로는 **30대 27.7%·20대 27.3%**였습니다. 팀은 여성 이용자가 더 많고 20~30대가 합계 55.0%를 차지한다는 점에 주목해, 기록과 루틴 관리에 관심 있는 **20~30대 여성을 핵심 기획 대상**으로 삼았습니다. 성별·연령별 비율은 각각의 분포이며, ‘20~30대 여성의 비율이 55.0%’라는 뜻은 아닙니다. [이용자 구성 조사](https://www.banronbodo.com/news/articleView.html?idxno=22900) + +### 3. 수요는 있지만, 꾸준히 돌아오기는 어렵다 + +높은 관심이 지속적인 사용을 보장하지는 않습니다. OneSignal의 **2024년 생산성 앱 벤치마크**에서는 1일 리텐션이 **32.86%**, 30일 리텐션이 **9.63%**였습니다. 몽글마을은 이 간극을 ‘계획을 세우게 하는 것만으로는 작심삼일을 넘기 어렵다’는 문제로 받아들였습니다. [OneSignal 벤치마크](https://onesignal.com/mobile-app-benchmarks-2024) + +팀은 특히 **완료 경험이 체크 표시에서 끝나면 → 서비스에 정서적 애착을 쌓기 어렵고 → 다시 방문해 루틴을 이어갈 동기가 약해질 수 있다**고 보았습니다. 이는 리텐션 통계에서 직접 입증된 원인이 아니라, 몽글마을이 제품으로 검증하려는 문제 가설입니다. 그래서 ‘할 일을 잘 관리하는가’와 함께 ‘이 공간에 다시 오고 싶은가’를 설계 기준으로 삼았습니다. + +![수요 증가, 핵심 이용자층, 지속률의 한계, 이탈 원인 가설, 몽글마을의 기획 방향을 연결한 흐름](docs/images/product-concept.svg) + +### 4. 경쟁 서비스를 세 가지 접근으로 비교 + +기획 과정에서는 비교 대상을 **일정 관리·개인화·게이미피케이션**으로 나눴습니다. 아래 구분은 발표 자료의 비교 관점이며, 각 서비스의 전체 기능을 배타적으로 분류하거나 성능 순위를 매긴 것은 아닙니다. + +| 접근 | 비교한 서비스 | 팀이 주목한 경험 | +| --- | --- | --- | +| 일정 관리 | Todoist · TickTick · Microsoft To Do | 할 일, 마감일, 반복 일정을 체크리스트로 관리 | +| 개인화 | Notion | 문서·데이터베이스·일정 화면을 자신에게 맞게 구성 | +| 게이미피케이션 | Habitica · gogh · Cram & Conquer | 아바타·공간·퀘스트·보상으로 목표 수행에 재미를 부여 | + +이 비교에서 몽글마을이 찾은 기회는 **자기관리 기능의 실용성과 캐릭터에 대한 개인적인 애착을 함께 강화하는 것**이었습니다. 게임형 보상에 더해, 사용자가 이미 아끼는 인형을 주민으로 만들면 서비스 밖의 애착을 일상 관리 경험으로 이어올 수 있다고 보았습니다. 비교 기준은 [시장조사 출처 기록](docs/MARKET_RESEARCH.md), 애착 인형과 성인 캐릭터 소비에 대한 기획 배경은 [프로젝트 기획서 1.4절·3절](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에 정리되어 있습니다. + +### 5. 생산성 앱과 성인 키덜트 시장 사이에 자리 잡기 + +몽글마을은 **생산성 앱의 자기관리 수요**와 **성인 키덜트 시장의 캐릭터·애착 사물 소비**가 만나는 틈새를 겨냥했습니다. 포지셔닝의 두 축은 ‘자기관리 기능’과 ‘정서적 연결’이며, 두 요소를 함께 강화하는 것이 목표입니다. + +![자기관리와 정서적 연결을 두 축으로 삼은 기획 당시 정성적 포지셔닝: 몽글마을은 두 요소가 모두 강한 영역을 목표로 함](docs/images/market-positioning.svg) + +*발표 자료의 상대적 배치를 재구성한 기획 포지셔닝입니다. 좌표는 측정 점수가 아니며, 몽글마을의 위치는 달성한 성과가 아닌 제품이 지향하는 위치입니다.* + +이를 제품에 옮긴 것이 **자연어 목표 → TODO·일정 관리 → 주민 퀘스트 → 완료 보상·주민 피드**입니다. 계획과 기록은 자기관리의 기반을 만들고, 나의 애착 인형으로 만든 주민과 그 주민의 활동 기록은 정서적 연결을 쌓도록 설계했습니다. 몽글마을은 이 둘을 결합해 **할 일을 끝내는 경험이, 내일도 다시 찾아올 이유로 이어지는 자기관리 서비스**를 만들고자 합니다. 실제 효과는 TODO 완료율, 1·7·30일 재방문율, 회고 참여율 등으로 검증할 과제입니다. + +화면 구성은 [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), 사용 장면은 [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view), 기획과 현재 코드의 차이는 [설계·구현 대조 기록](docs/CROSS_REPOSITORY_REVIEW.md)에서 확인할 수 있습니다. + +
+추가 리서치와 저장소별 설계 반영 + +기존 기획에서 참고한 시작의 부담과 루틴 앱 수요도 함께 반영했습니다. 아래 수치는 서로 다른 외부 조사에서 인용했으며, 출처 목록은 [프로젝트 기획서](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)에서 확인할 수 있습니다. | 관찰한 문제 | 조사 결과 | Server 설계에 반영한 방식 | | --- | --- | --- | @@ -41,7 +78,7 @@ Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정 | 생산성 앱을 오래 쓰기 어렵다 | 생산성 앱 리텐션: 1일 **32.86% → 30일 9.63%** | 퀘스트·피드·알림·회고 데이터를 하나의 실행 루프로 연결 | | AI 생성은 일반 요청보다 오래 걸린다 | 캐릭터·계획·이미지 생성에 외부 모델 호출 필요 | 캐릭터는 Celery·Redis와 DB job, TODO·퀘스트는 AI Submit/Poll 중계 적용 | -이 자료를 바탕으로 “목표 구체화와 캐릭터 기반 보상이 시작과 재방문에 도움이 될 것”이라는 제품 가설을 세웠습니다. 실제 효과는 TODO 생성·완료율, 1·7·30일 재방문율, 회고 참여율 등으로 검증할 과제입니다. 상황별 응원이나 TODO와 퀘스트의 연결 조건 등 기획과 현재 구현이 달라진 부분은 [설계·구현 대조 기록](docs/CROSS_REPOSITORY_REVIEW.md)에 구분했습니다. +
## 시스템 구조 diff --git a/docs/CROSS_REPOSITORY_REVIEW.md b/docs/CROSS_REPOSITORY_REVIEW.md index c5a4ccf..b800aa8 100644 --- a/docs/CROSS_REPOSITORY_REVIEW.md +++ b/docs/CROSS_REPOSITORY_REVIEW.md @@ -164,3 +164,11 @@ Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터 “이 설명은 … 검증입니다”, “결과를 보존합니다” 등의 편집 작업 중심 표현을 독자를 위한 문장으로 바꿨다. 평가 조건·한계와 코드 근거는 유지했다. 위의 “프로젝트 개요 동일” 검증은 최초 수정 시점의 기록이며, 이번 보강에서는 사용자 요청에 따라 개요를 재작성했다. 담당한 부분·기존 평가 표·리서치 수치·실행 명령은 그대로 유지했다. 제품 가설의 효과를 입증한 결과나 미구현 기능을 추가로 주장하지 않았다. 보강 후 검증: 기획 그림 3개가 동일한 SVG로 정상 로드되며 본문 폭 766px 안에서 760px로 표시된다. 줄바꿈을 다듬은 Mermaid 6개도 다시 렌더링해 문법 오류와 가로 overflow가 없음을 확인했다(시스템 약 370×550px, 사용자 흐름 약 238×406px). 기존 담당 내용·한계·평가 표·연구 백분율·실행 명령 보존 및 82개 코드 경로 검증을 재통과했다. + +### 시장 수요에서 포지셔닝으로 이어지는 기획 논리 보강 + +후속으로 제공된 발표 캡처 5장과 사용자의 기획 의도를 반영해 README 앞부분을 수요 → 핵심 이용자층 → 지속률의 한계 → 이탈 원인 가설 → 경쟁 서비스 세 유형 → 생산성·키덜트 시장의 교차점 순서로 재구성했다. 개요에 자기관리와 정서적 연결의 결합, 20~30대 여성이라는 핵심 기획 대상을 명시했다. 기존 기능 소개 SVG를 기획 흐름도로 바꾸고 정성적 포지셔닝 SVG를 추가했다. + +[시장조사 출처 기록](MARKET_RESEARCH.md)에 통계의 기간·모집단·확인 범위를 남겼다. 잡플래닛의 직장인 71.2%, 코리안클릭의 여성 55.8%·20~30대 55.0%, OneSignal의 2024년 리텐션을 구분했다. 기록·루틴 앱 성장 수치는 제공 슬라이드의 재인용 범위로 한정했고 원자료 URL과 지표 정의는 확인되지 않았다. 이탈 원인의 연결과 포지셔닝 좌표는 팀의 가설·목표로 표시했다. + +기존 리서치 표는 README의 접을 수 있는 ‘추가 리서치와 저장소별 설계 반영’에 보존했다. 평가 표·조건·한계·담당 내용·실행 방법과 구현/API 설명은 유지했다. 두 SVG는 본문 폭 766px 내에서 760px로 표시되며, 기획 흐름도 글자 가로 넘침과 Mermaid 오류가 없음을 로컬 브라우저에서 확인했다. diff --git a/docs/MARKET_RESEARCH.md b/docs/MARKET_RESEARCH.md new file mode 100644 index 0000000..404f359 --- /dev/null +++ b/docs/MARKET_RESEARCH.md @@ -0,0 +1,17 @@ +# 시장조사와 포지셔닝의 근거 + +README의 기획 논리는 사용자가 제공한 발표 슬라이드 5장, 프로젝트 기획서와 확인 가능한 외부 자료를 대조해 정리했다. 과거 조사를 2026년 현재의 시장 통계로 표현하지 않는다. + +| 항목 | 출처·범위 | README에서의 해석 | +| --- | --- | --- | +| 직장인 약 10명 중 7명 자기개발 | [잡플래닛, 2024-05-31](https://www.jobplanet.co.kr/contents/news-6416). 전체 323명, 전체 70.3%, 직장인 그룹 71.2%. 제공 슬라이드 03과 대조 | 자기관리가 일상적 관심사라는 기획 배경. 전국 직장인 모집단의 최신 추정치로 일반화하지 않음 | +| 기록·루틴 앱 성장 | 제공 슬라이드 04. 출처 표기: 다이티 데이터 마켓 / 월간 CEO& 재인용. Better 최고 증가율, Notein +42%, To-Do List·마이루틴 약 +20% | 발표 자료가 제시한 연간 성장 상위 사례로 인용. 원문 URL, 측정 기간, 성장률 지표의 정의·모집단은 확인하지 못했으므로 현재 전체 앱 시장 순위나 정량 비교 그래프로 재사용하지 않음 | +| 스케줄 앱 이용자 구성 | [반론보도닷컴의 코리안클릭 재인용](https://www.banronbodo.com/news/articleView.html?idxno=22900), 2023.05~2024.04. 여성 55.8%, 남성 44.2%; 30대 27.7%, 20대 27.3%, 40대 20.8%, 50대 이상 20.4%, 10대 3.8%. 제공 슬라이드와 일치 | 20~30대 여성을 핵심 기획 대상으로 선택한 근거. 성별·연령의 개별 분포이며 교차 집단 비율이나 시간에 따른 확산 속도는 산출하지 않음 | +| 생산성 앱 리텐션 | [OneSignal Mobile App Benchmarks of 2024](https://onesignal.com/mobile-app-benchmarks-2024): 1일 32.86%, 7일 24.23%, 30일 9.63% | 사용 지속의 어려움을 보여주는 벤치마크. 몽글마을의 수치가 아니며 ‘체크 표시 → 애착 부족 → 동기 저하’의 인과관계를 입증하는 자료도 아님 | +| 경쟁 서비스 분류 | 제공 비교 슬라이드: Todoist·TickTick·MS To Do / Notion / Habitica·gogh·Cram & Conquer | 팀의 분석 관점인 일정 관리·개인화·게이미피케이션으로 정리. 최신 기능의 완전한 목록이나 상호 배타적 시장 분류가 아님 | +| 포지셔닝 | 제공 포지셔닝 슬라이드의 두 축과 상대 배치: 자기관리, 정서적 연결 | `market-positioning.svg`는 기획 당시 정성적 배치. 좌표는 점수가 아니고 몽글마을은 목표 위치. 다른 서비스보다 우수하다는 실증 결과가 아님 | +| 성인 키덜트와 애착 인형 | [프로젝트 기획서](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view) 1.4절의 성인 캐릭터·인형 소비, 2절 목표, 3절 비교 | 생산성 앱의 기록·루틴 수요와 애착 사물의 정서적 의미를 결합한다는 포지셔닝. 시장 규모나 점유율을 새로 추정하지 않음 | + +‘사용자는 계획보다 기록·루틴을 찾는다’는 표현은 계획 기능의 수요가 감소했다는 통계적 결론이 아니라, 기록·지속 관리의 가치를 강조하는 팀의 해석으로 풀었다. ‘완료가 체크에서 끝남 → 애착 부족 → 재방문 동기 저하’도 검증할 제품 가설로 명시했다. + +그림은 제공된 발표 자료의 논지를 바탕으로 새로 작성한 저장소용 SVG다. 원본 화면·차트 이미지를 수정하거나 경쟁 제품에 임의의 정량 점수를 부여하지 않았다. 기획 자료 전체는 [Google Drive 산출물 폴더](https://drive.google.com/drive/folders/1Lfv49TDbilo4ivoSIpw4v8RDEnEw9quC)에서 확인할 수 있다. 이번에 제공된 다섯 캡처의 Drive 원본 파일 URL은 확인되지 않았으므로 특정 Drive 문서가 해당 발표본이라고 연결하지 않았다. diff --git a/docs/images/market-positioning.svg b/docs/images/market-positioning.svg new file mode 100644 index 0000000..5bc086e --- /dev/null +++ b/docs/images/market-positioning.svg @@ -0,0 +1 @@ +몽글마을의 기획 포지셔닝가로축은 자기관리 기능, 세로축은 정서적 연결이다. 제공 발표 자료의 상대적 배치를 재구성해 MS To Do, TickTick, Notion, gogh, Habitica, Cram and Conquer와 몽글마을의 목표 위치를 표시한다. 좌표는 측정값이 아니다.POSITIONING · 기획 당시의 정성적 비교자기관리와 정서적 연결을 함께정서적 연결 강함 ↑← 자기관리 약함자기관리 강함 →정서적 연결 약함 ↓MS To DoTickTickNotiongoghHabiticaCram & Conquer몽글마을자기관리 + 정서적 연결제품이 지향하는 위치생산성 앱의 루틴 관리 수요 × 성인 키덜트의 애착 사물 경험제공된 발표 자료의 상대 배치를 재구성했습니다. 좌표는 정량 점수가 아닙니다.몽글마을의 목표 위치를 나타내며, 경쟁 서비스 대비 우위를 입증한 결과가 아닙니다. \ No newline at end of file diff --git a/docs/images/product-concept.svg b/docs/images/product-concept.svg index e168c02..6b03e75 100644 --- a/docs/images/product-concept.svg +++ b/docs/images/product-concept.svg @@ -1,37 +1 @@ - - 몽글마을: 시작은 가볍게, 실천은 함께 - 기획서의 세 가지 문제의식과 제품 접근. 목표가 막막할 때는 대화로 할 일을 구체화하고, 혼자 이어가기 어려울 때는 애착 인형을 나만의 주민으로 만들며, 작은 성취를 남기고 싶을 때는 퀘스트 완료를 사과 보상과 주민 피드로 기록한다. 기대효과는 사용자 지표로 검증할 제품 가설이다. - - - MONGLE VILLAGE · PRODUCT IDEA - 시작은 가볍게, 실천은 함께 - 자기관리의 시작과 지속을 돕기 위한 세 가지 접근 - - - - 01 - 목표가 막막할 때 - 대화로 오늘 할 일을 구체화 - 자연어 목표 → AI 플래너와 구체화 → TODO 확인·저장 - 무엇부터 시작할지 정하는 부담을 덜고자 합니다. - - - - 02 - 혼자 이어가기 어려울 때 - 내 애착 인형이 나만의 주민으로 - 인형 사진·설명 → AI 주민 생성 → 마을 입주 - 나에게 의미 있는 캐릭터와 일상을 함께하도록 설계했습니다. - - - - 03 - 작은 성취를 남기고 싶을 때 - 실천을 보상과 주민 피드로 기록 - 퀘스트와 연결된 TODO 완료 → 사과 보상·이미지·글 - 할 일의 완료가 눈에 보이는 기록으로 남도록 연결했습니다. - - 지향점 · 다시 찾아오고 싶은 자기관리 경험 - 프로젝트 기획서의 제품 가설을 재구성했습니다. 효과는 사용자 지표로 검증할 과제입니다. - - +수요에서 포지셔닝까지: 몽글마을의 기획 논리자기개발과 기록·루틴 수요, 20~30대 여성이라는 핵심 기획 대상, 30일 리텐션 9.63%의 지속 문제, 정서적 애착과 동기에 대한 가설, 세 경쟁 유형 분석을 거쳐 생산성 앱과 성인 키덜트 시장의 교차점을 목표로 한다.MONGLE VILLAGE · 기획 배경왜 몽글마을을 기획했을까?01꾸준한 기록과 루틴을 찾는 수요직장인 자기개발 71.2% · 기록·루틴 앱 성장 사례여성 55.8% / 20~30대 55.0%의 이용자 구성에 주목핵심 기획 대상: 자기관리에 관심 있는 20~30대 여성02그러나, 관심이 지속으로 이어지지는 않는다생산성 앱 1일 리텐션 32.86% → 30일 9.63%기획 과제: 계획을 세운 뒤에도 다시 돌아올 이유 만들기03팀이 세운 이탈 원인 가설완료 경험이 단순한 체크 표시에서 끝남→ 서비스에 대한 정서적 애착이 쌓이기 어려움→ 다시 방문해 루틴을 이어갈 동기가 약해질 수 있음04경쟁 서비스에서 찾은 세 가지 접근일정 관리 · 개인화 · 게이미피케이션비교 질문: 자기관리와 정서적 연결을 함께 강화할 수 있을까?05생산성 앱 × 성인 키덜트 시장기록·루틴 관리의 실용성 + 애착 인형의 정서적 의미몽글마을: 자기관리도, 정서적 연결도 강한 경험TODO·일정 → 주민 퀘스트 → 보상·주민 피드수치: 잡플래닛(2024) · 코리안클릭(2023.05~2024.04) · OneSignal(2024)성별·연령은 별개 분포입니다. 앱 성장 사례는 제공된 발표 자료의 인용입니다.03은 검증할 제품 가설이며, 05는 기획 목표입니다. 출처와 조건은 본문에 연결했습니다. \ No newline at end of file From 53fe2be68659819f2b3ab6f13c3a05437e3b82d5 Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sat, 10 Oct 2026 21:23:51 +0900 Subject: [PATCH 5/7] docs: fix GitHub rendering of numeric ranges --- README.md | 8 ++++---- docs/MARKET_RESEARCH.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 668d7e4..3313bbd 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 프로젝트 개요 -**내일도와줘, 몽글마을**은 꾸준한 기록과 루틴 관리를 원하는 사용자를 위해, **자기관리 기능과 애착 인형 기반의 정서적 연결을 결합한 서비스**입니다. 20~30대 여성을 핵심 기획 대상으로 삼아 생산성 앱과 성인 키덜트 시장이 만나는 틈새를 겨냥했습니다. 나의 애착 인형을 픽셀 마을의 AI 주민으로 만들고, 자연어로 이야기한 목표를 실행할 TODO로 구체화합니다. +**내일도와줘, 몽글마을**은 꾸준한 기록과 루틴 관리를 원하는 사용자를 위해, **자기관리 기능과 애착 인형 기반의 정서적 연결을 결합한 서비스**입니다. 20\~30대 여성을 핵심 기획 대상으로 삼아 생산성 앱과 성인 키덜트 시장이 만나는 틈새를 겨냥했습니다. 나의 애착 인형을 픽셀 마을의 AI 주민으로 만들고, 자연어로 이야기한 목표를 실행할 TODO로 구체화합니다. 사용자는 계획을 확인하고 저장한 뒤, 자신의 할 일과 연결된 주민의 퀘스트를 함께 수행합니다. 퀘스트와 연결된 TODO를 완료하면 사과 토큰을 받고, 주민의 이미지·글이 담긴 개인 피드가 생성됩니다. 여기에 캘린더, 집중을 돕는 포모도로, 하루를 돌아보는 회고를 더해 **계획 → 실천 → 성취 기록**을 하나의 마을에서 경험하도록 구성했습니다. @@ -31,13 +31,13 @@ Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정 기획 발표 자료에서는 Better, Notein, To-Do List, 마이루틴 등 기록·루틴 앱을 최근 1년 성장률 상위 사례로 제시했습니다. 팀은 이 흐름에서 **사용자가 계획을 작성하는 기능에 더해, 꾸준히 기록하고 루틴을 관리할 경험을 찾고 있다**는 기회를 읽었습니다. 성장률의 상세 수치와 원자료 확인 범위는 [시장조사 출처 기록](docs/MARKET_RESEARCH.md)에 정리했습니다. -### 2. 핵심 기획 대상: 자기관리에 관심 있는 20~30대 여성 +### 2. 핵심 기획 대상: 자기관리에 관심 있는 20\~30대 여성 -코리안클릭의 2023.05~2024.04 자료를 인용한 보도에서 스케줄 관리 앱 이용자는 **여성 55.8%**, 연령별로는 **30대 27.7%·20대 27.3%**였습니다. 팀은 여성 이용자가 더 많고 20~30대가 합계 55.0%를 차지한다는 점에 주목해, 기록과 루틴 관리에 관심 있는 **20~30대 여성을 핵심 기획 대상**으로 삼았습니다. 성별·연령별 비율은 각각의 분포이며, ‘20~30대 여성의 비율이 55.0%’라는 뜻은 아닙니다. [이용자 구성 조사](https://www.banronbodo.com/news/articleView.html?idxno=22900) +코리안클릭의 2023.05\~2024.04 자료를 인용한 보도에서 스케줄 관리 앱 이용자는 **여성 55.8%**, 연령별로는 **30대 27.7%·20대 27.3%**였습니다. 팀은 여성 이용자가 더 많고 20\~30대가 합계 55.0%를 차지한다는 점에 주목해, 기록과 루틴 관리에 관심 있는 **20\~30대 여성을 핵심 기획 대상**으로 삼았습니다. 성별·연령별 비율은 각각의 분포이며, ‘20\~30대 여성의 비율이 55.0%’라는 뜻은 아닙니다. [이용자 구성 조사](https://www.banronbodo.com/news/articleView.html?idxno=22900) ### 3. 수요는 있지만, 꾸준히 돌아오기는 어렵다 -높은 관심이 지속적인 사용을 보장하지는 않습니다. OneSignal의 **2024년 생산성 앱 벤치마크**에서는 1일 리텐션이 **32.86%**, 30일 리텐션이 **9.63%**였습니다. 몽글마을은 이 간극을 ‘계획을 세우게 하는 것만으로는 작심삼일을 넘기 어렵다’는 문제로 받아들였습니다. [OneSignal 벤치마크](https://onesignal.com/mobile-app-benchmarks-2024) +높은 관심이 지속적인 사용을 보장하지는 않습니다. OneSignal의 **2024년 생산성 앱 벤치마크**에서는 **1일 리텐션 32.86%, 30일 리텐션 9.63%** 수준으로 나타났습니다. 몽글마을은 이 간극을 ‘계획을 세우게 하는 것만으로는 작심삼일을 넘기 어렵다’는 문제로 받아들였습니다. [OneSignal 벤치마크](https://onesignal.com/mobile-app-benchmarks-2024) 팀은 특히 **완료 경험이 체크 표시에서 끝나면 → 서비스에 정서적 애착을 쌓기 어렵고 → 다시 방문해 루틴을 이어갈 동기가 약해질 수 있다**고 보았습니다. 이는 리텐션 통계에서 직접 입증된 원인이 아니라, 몽글마을이 제품으로 검증하려는 문제 가설입니다. 그래서 ‘할 일을 잘 관리하는가’와 함께 ‘이 공간에 다시 오고 싶은가’를 설계 기준으로 삼았습니다. diff --git a/docs/MARKET_RESEARCH.md b/docs/MARKET_RESEARCH.md index 404f359..d5ce899 100644 --- a/docs/MARKET_RESEARCH.md +++ b/docs/MARKET_RESEARCH.md @@ -6,7 +6,7 @@ README의 기획 논리는 사용자가 제공한 발표 슬라이드 5장, 프 | --- | --- | --- | | 직장인 약 10명 중 7명 자기개발 | [잡플래닛, 2024-05-31](https://www.jobplanet.co.kr/contents/news-6416). 전체 323명, 전체 70.3%, 직장인 그룹 71.2%. 제공 슬라이드 03과 대조 | 자기관리가 일상적 관심사라는 기획 배경. 전국 직장인 모집단의 최신 추정치로 일반화하지 않음 | | 기록·루틴 앱 성장 | 제공 슬라이드 04. 출처 표기: 다이티 데이터 마켓 / 월간 CEO& 재인용. Better 최고 증가율, Notein +42%, To-Do List·마이루틴 약 +20% | 발표 자료가 제시한 연간 성장 상위 사례로 인용. 원문 URL, 측정 기간, 성장률 지표의 정의·모집단은 확인하지 못했으므로 현재 전체 앱 시장 순위나 정량 비교 그래프로 재사용하지 않음 | -| 스케줄 앱 이용자 구성 | [반론보도닷컴의 코리안클릭 재인용](https://www.banronbodo.com/news/articleView.html?idxno=22900), 2023.05~2024.04. 여성 55.8%, 남성 44.2%; 30대 27.7%, 20대 27.3%, 40대 20.8%, 50대 이상 20.4%, 10대 3.8%. 제공 슬라이드와 일치 | 20~30대 여성을 핵심 기획 대상으로 선택한 근거. 성별·연령의 개별 분포이며 교차 집단 비율이나 시간에 따른 확산 속도는 산출하지 않음 | +| 스케줄 앱 이용자 구성 | [반론보도닷컴의 코리안클릭 재인용](https://www.banronbodo.com/news/articleView.html?idxno=22900), 2023.05\~2024.04. 여성 55.8%, 남성 44.2%; 30대 27.7%, 20대 27.3%, 40대 20.8%, 50대 이상 20.4%, 10대 3.8%. 제공 슬라이드와 일치 | 20\~30대 여성을 핵심 기획 대상으로 선택한 근거. 성별·연령의 개별 분포이며 교차 집단 비율이나 시간에 따른 확산 속도는 산출하지 않음 | | 생산성 앱 리텐션 | [OneSignal Mobile App Benchmarks of 2024](https://onesignal.com/mobile-app-benchmarks-2024): 1일 32.86%, 7일 24.23%, 30일 9.63% | 사용 지속의 어려움을 보여주는 벤치마크. 몽글마을의 수치가 아니며 ‘체크 표시 → 애착 부족 → 동기 저하’의 인과관계를 입증하는 자료도 아님 | | 경쟁 서비스 분류 | 제공 비교 슬라이드: Todoist·TickTick·MS To Do / Notion / Habitica·gogh·Cram & Conquer | 팀의 분석 관점인 일정 관리·개인화·게이미피케이션으로 정리. 최신 기능의 완전한 목록이나 상호 배타적 시장 분류가 아님 | | 포지셔닝 | 제공 포지셔닝 슬라이드의 두 축과 상대 배치: 자기관리, 정서적 연결 | `market-positioning.svg`는 기획 당시 정성적 배치. 좌표는 점수가 아니고 몽글마을은 목표 위치. 다른 서비스보다 우수하다는 실증 결과가 아님 | From 39eb8845e5ace9b086a0b1e0151938dc2507f2fc Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sun, 11 Oct 2026 13:57:14 +0900 Subject: [PATCH 6/7] docs: move cross-repository audit to PR description --- README.md | 6 +- docs/CROSS_REPOSITORY_REVIEW.md | 174 -------------------------------- 2 files changed, 1 insertion(+), 179 deletions(-) delete mode 100644 docs/CROSS_REPOSITORY_REVIEW.md diff --git a/README.md b/README.md index 3313bbd..74dd9fc 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정 이를 제품에 옮긴 것이 **자연어 목표 → TODO·일정 관리 → 주민 퀘스트 → 완료 보상·주민 피드**입니다. 계획과 기록은 자기관리의 기반을 만들고, 나의 애착 인형으로 만든 주민과 그 주민의 활동 기록은 정서적 연결을 쌓도록 설계했습니다. 몽글마을은 이 둘을 결합해 **할 일을 끝내는 경험이, 내일도 다시 찾아올 이유로 이어지는 자기관리 서비스**를 만들고자 합니다. 실제 효과는 TODO 완료율, 1·7·30일 재방문율, 회고 참여율 등으로 검증할 과제입니다. -화면 구성은 [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), 사용 장면은 [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view), 기획과 현재 코드의 차이는 [설계·구현 대조 기록](docs/CROSS_REPOSITORY_REVIEW.md)에서 확인할 수 있습니다. +화면 구성은 [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), 사용 장면은 [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view)에서 확인할 수 있습니다.
추가 리서치와 저장소별 설계 반영 @@ -119,10 +119,6 @@ Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Serve 관련 코드: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) -## 문서 기준과 변경 이력 - -README는 2026-10-10에 확인한 코드와 환경 변수 예시, Compose, CI 설정을 기준으로 작성했습니다. 코드 링크는 당시 커밋을 가리킵니다. Drive 설계 자료와 달라진 부분, 확인이 필요한 항목과 검증 내역은 [교차검증 기록](docs/CROSS_REPOSITORY_REVIEW.md)에서 확인할 수 있습니다. - ## 관련 설계 문서 | 문서 | 확인할 수 있는 내용 | diff --git a/docs/CROSS_REPOSITORY_REVIEW.md b/docs/CROSS_REPOSITORY_REVIEW.md deleted file mode 100644 index b800aa8..0000000 --- a/docs/CROSS_REPOSITORY_REVIEW.md +++ /dev/null @@ -1,174 +0,0 @@ -# 몽글마을 Web·Server·AI README 교차검증 - -검토일: 2026-10-10. 소스 정적 검토 기준이며 실제 운영 서버·GPU·RDS 접속 검증이나 성능 재측정 결과가 아니다. 코드는 변경하지 않았고 README와 이 근거 기록만 수정한다. - -## 기준 커밋 - -- web: [fcd2734b386035fca2d10980a1bb55ec8e90c4ba](https://github.com/bigmooon/mongle-web/tree/fcd2734b386035fca2d10980a1bb55ec8e90c4ba) -- server: [11f428734960dab8db60bc5bc7128fb62e8a495d](https://github.com/bigmooon/mongle-server/tree/11f428734960dab8db60bc5bc7128fb62e8a495d) -- ai: [8f897687560a6ebf179e3a0894a3bfd05b778efc](https://github.com/bigmooon/mongle-ai/tree/8f897687560a6ebf179e3a0894a3bfd05b778efc) - -## 먼저 확인한 점검 결과 - -| 항목 | 현재 README | 실제 구현 | 판정 | 수정 방향·근거 | -| --- | --- | --- | --- | --- | -| Web 진입·화면 | React/Phaser·features 요약 | main → ErrorBoundary·MobileGate·RouteGate·App, 모달 기반 | 일치·상세 누락 | [src/main.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/main.tsx) · [src/app/RouteGate.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/app/RouteGate.tsx) | -| 비동기 경로 | Celery와 Submit/Poll 포괄 | 캐릭터·피드·답글만 Celery, TODO·퀘스트는 요청 내부 대기, chat은 중계 | 부정확 | 작업별 표로 분리. [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | -| 입주 | 생성 흐름 요약 | SUCCEEDED 미리보기 후 별도 등록·CONSUMED | 단계 누락 | [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) | -| 인증 | JWT 갱신 | Access JWT + opaque Refresh 해시/회전 | 상세 누락 | [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [src/features/auth/store.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/auth/store.ts) | -| 복구 | AI 작업 UX 일반화 | 캐릭터 pending은 localStorage, 플래너는 React·AI 메모리 | 범위 제한 | [src/features/character/pendingJob.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/pendingJob.ts) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) | -| 영속화 | MySQL·S3 묶음 | Django DB·presign·감사 JSON, Web PUT, AI 이미지 업로드 | 주체 누락 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [agents/feed_generation/nodes/s3_upload.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/nodes/s3_upload.py) | -| TODO 저장 | 생성·저장 요약 | 후보/확정 분리; planner-confirm은 오늘 Todo·다른 날짜 Schedule | 단계 누락 | [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | -| 퀘스트 | TODO를 퀘스트로 | ID 연결, 내용 미전달, 캐릭터 persona 기반 | 설명 보완 | [agents/quest_generation/schemas.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/quest_generation/schemas.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | -| 보상·피드 | 완료 후 피드 | DB commit 후 Celery 예약, 결과 수신 후 Post 저장 | 순서 누락 | [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | -| 재시도 | 안정적 처리 | 캐릭터 자동 retry 호출 없음; 피드/답글 HTTP 실패 retry | 과장 방지 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | -| 주기 작업 | Celery 주기 작업 | 스케줄만 있고 Compose에 Beat 없음 | 가동 미확인 | [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) | -| 인프라 버전 | MySQL 8.4·Redis 8 | CI 8.4/8, 로컬 Compose 9.7/7, 운영 Redis 7 | 불일치 | 실제 설정값 각각 명시. [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [.github/workflows/ci.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/ci.yml) | -| 포모도로 | 실행 과정 기록 | 브라우저 localStorage, 서버 기록 API 없음 | 표현 보완 | [src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | -| 모델·평가 | 기존 점수·제출 환경 | provider·모델 변경 가능; 과거 점수는 현행 성능 아님 | 보존 | 수치 및 조건 유지. [llm_evaluation/llm-model-cost-summary.md](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/llm_evaluation/llm-model-cost-summary.md) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) | - -## 수정 계획과 적용 - -1. 동일한 5개 핵심 그룹의 TB 시스템 그림과 작업별 통신 표를 세 README에 반영한다. -2. 10개 사용자 단계의 Web 모듈 → Django API → AI 경계를 연결한다. -3. Web은 화면·인증 상태·복구, Server는 DB·큐·보상·실패, AI는 에이전트·추론·출력·평가를 상세화한다. -4. 과거 설계와 구현 차이, 운영 미확인 사항을 분리한다. 기존 개요·담당 부분·기술 선택·검증 수치·실행 방법은 보존하고 사실이 다른 표현만 교정한다. -5. 링크·수치 보존·Mermaid 문법/폭·세 문서 일관성을 검증한다. - -## 설계 문서와 현재 코드의 차이 - -원본: [시스템 아키텍처](https://drive.google.com/file/d/15p49ZUIrJCmrSCy3LpU3FbjapZaMXdRc/view), [시스템 구성도](https://drive.google.com/file/d/1-M3fjfxeVXiphXsJgJKYBiKmq1vcqFBz/view), [화면 설계서](https://drive.google.com/file/d/1YtJOZGWTRox2bAD4ejiBRfHChII9syMF/view), [시나리오 설계서](https://drive.google.com/file/d/1iEBtXu_PdO8v77O-_BnPvVMfbw2PgwJB/view). Drive 연결 도구로 본문을 읽었으며 시스템 아키텍처 PDF의 그림·본문도 렌더링해 확인했다. 원본 문서는 수정하지 않았다. - -| 구분 | 문서 내용·위치 | 현재 코드와 대조 | 근거·README 처리 | -| --- | --- | --- | --- | -| 일치 | 아키텍처 §2: 브라우저→Nginx→Gunicorn→Django→AI, DB/미디어 분리 | 기본 서비스 경계 유지 | [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) | -| 과거 설계만 존재 | 아키텍처 §1~2: React+Godot, Web Docker 빌드 | Phaser와 npm/Vite 빌드; Web 배포 workflow에 Docker 단계 없음 | [package.json](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/package.json) · [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) | -| 과거 모델 가정 | 아키텍처 §2: Midm-mini 및 Hugging Face 호출 | 런타임 어댑터는 Qwen 호환 API/RunPod, 워커 빌드는 Qwen·EXAONE; HF는 가중치 다운로드에도 사용 | [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [runpod_workers/llm/Dockerfile](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/runpod_workers/llm/Dockerfile). HF를 항상 원격 추론 API로 그리지 않음 | -| 문서 누락 | 아키텍처: Redis/Celery, 답글, 2단계 job, CloudFront 경로 생략 | 현재 코드에는 각각 존재 | [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) | -| 역할 오류 | 구성도 §1: Redis의 채팅 데이터 관리 | Redis는 Server 큐·인증 캐시; 플래너는 MemorySaver | [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) | -| 오래된 파일 설명 | 구성도 §2: posts/tasks.py가 향후 구현 자리, 일부 AI openai_llm/vlm 노드 경로 | 피드·답글 task 이미 구현; 실제 주입 모듈은 deps.py 기준 | [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) | -| 저장 주체 차이 | AI 내부 feed 설계는 이미지 영구 저장을 호출자 책임으로 기술 | 실제 feed LangGraph에서 S3 업로드 후 URL 반환, Django는 Post 저장 | [docs/features/feed_generation/CLAUDE.md](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docs/features/feed_generation/CLAUDE.md) · [agents/feed_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/pipeline.py) | -| 이름·방향 보정 | 설계의 VLM 이미지 생성·VLM→캡션 표현 | 이미지 합성은 SDXL 계열. 캡션 노드는 생성 이미지 재판독이 아니라 기존 장면 프롬프트 사용 | [runpod_workers/image_gen/model_refs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/runpod_workers/image_gen/model_refs.py) · [agents/feed_generation/nodes/gen_caption_prompt.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/nodes/gen_caption_prompt.py) | -| 일부 일치·차이 | 화면 SCR-CHAR-001·시나리오: 생성 중 대기/완료 | 미리보기 후 입주 동선 유지; 현재 취소·pending 복구를 추가 설명해야 함 | [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) | -| 기능 차이 | 화면 SCR-FEED-001·시나리오 SCR-FEED-001: 무한 스크롤, 추가 게시물 로드 | `/posts/` 전체 배열 수신 후 Web visibleCount로 표시 분할; 서버 cursor pagination 없음 | [src/features/feed/FeedModal.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/FeedModal.tsx) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) | -| 기능 차이 | 화면 SCR-FEED-001~003: 좋아요 총합·캐릭터 하트 합계 | 개인 피드의 Post.is_liked boolean; 사용자별 Like 모델/총합 집계 아님 | [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) | -| 일부 구현 | 시나리오 SCR-FEED-007: Instagram Stories 연결 | native share 또는 링크 복사; Stories 전용 연동 없음 | [src/features/feed/share.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/share.ts) | -| 동작 차이 | 시나리오 SCR-TIME-001: 집중/휴식 전환·랜덤 캐릭터 응원 | 25/5분은 일치; 종료 후 정지, 고정 토스트 두 문구, localStorage만 사용 | [src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | -| 일치·조건 명시 | 시나리오 SCR-LOGS-001~003: 회고 30자 보상, 수정 15개 | 각 필드 30자 이상일 때 2개씩; 수정 시 최초 보상 조건 충족분 반영 가능 | [apps/todos/reflection_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/reflection_views.py) | -| 일치·실행 조건 | 시나리오 SCR-FEED-005~006: 댓글 비용 3·일 5개·10분 후 답글 | 정책과 countdown=600 일치. 큐·워커 정상 동작이 필요하며 정확히 10분 완료를 보장하지 않음 | [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | -| 근거 확인 불가 | 아키텍처의 RDS 위치·버전, 실제 배포 모델·가동 상태 | 운영 env/클라우드 상태는 저장소 밖 | 설정과 실제 배포 사실을 구분; 운영 확인 완료로 쓰지 않음 | - -## 전체 구조와 사용자 흐름 - -```mermaid -flowchart TB - WEB["Web
React · Phaser"] - SERVER["Server
Django · Celery"] - AI["AI
FastAPI · 추론"] - DB["관계형 데이터
MySQL"] - MEDIA["이미지 객체
S3"] - - WEB -->|제품 API| SERVER - SERVER -->|내부 AI API| AI - SERVER -->|도메인 저장| DB - AI -->|생성 이미지 업로드| MEDIA -``` - -이 그림은 요청·저장 방향을 요약합니다. **Web은 AI API를 직접 호출하지 않습니다.** 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3 정적 Web 배포와 미디어 객체 저장은 용도를 구분합니다. Redis는 Server의 Celery broker/result 및 인증 캐시이고, AI job·플래너 대화는 별도 메모리 상태입니다. 이 그림의 MySQL은 제품 DB 구성이며, Django 기본 settings는 DATABASE_URL 미설정 시 SQLite로 대체됩니다. [설정 근거](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py). - -근거: [src/shared/api/client.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/shared/api/client.ts) · [src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [infrastructure/storage/s3.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/infrastructure/storage/s3.py) · [api/deps.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/deps.py) - -| 작업 | Web → Django | Django → AI | 실행·상태 책임 | -| --- | --- | --- | --- | -| 캐릭터 | `POST /characters/generation-jobs/` → 202; `GET /characters/generation-jobs/{id}/` | Celery가 `POST /v1/character` → 202 후 `GET /v1/character/{id}` 폴링 | Django `CharacterGenerationJob` DB 상태 + AI 메모리 job. 성공 후 사용자의 `POST /characters/`로 입주 | -| 단일 TODO 후보 | `POST /todos/generate/`의 최종 응답 대기 | Django 요청 안에서 `POST /v1/todo/generate` 및 `GET /v1/todo/generate/{id}` | Celery 없음. Web에 job ID를 노출하는 방식이 아님 | -| 멀티턴 플래너 | `POST /todos/chat/` → 202; `GET /todos/chat/{id}/` 폴링 | Django가 `/v1/todo/chat` 제출·조회 중계 | AI 메모리 job·플래너 체크포인트. Django DB job 없음 | -| 퀘스트 | 미리보기·확정 API의 최종 응답 대기 | Django 요청 안에서 `/v1/quest/generate` 제출·조회 | Celery 없음. 결과의 유효한 매핑을 Django가 저장 | -| 피드·답글 | TODO 완료·댓글 등록 후 게시물 재조회 | Celery가 `POST /v1/feed/generate`, `/v1/reply/generate` 결과 대기 | Web 관점 백그라운드, AI API 관점 단일 요청/응답. 별도 feed job 조회 API 없음 | - -Web → Django 경로에는 `/api/v1`을 앞에 붙입니다. 캐릭터의 Server job ID와 AI job ID는 서로 다르며, 플래너는 AI job ID를 중계합니다. **Submit/Poll이 곧 Celery 사용이나 영속 복구를 뜻하지는 않습니다.** - -근거: [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [api/todo_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/todo_creation/router.py) · [api/quest_generation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/quest_generation/router.py) - -| 단계 | Web 담당 | Server API·저장 | AI·경계 및 근거 | -| --- | --- | --- | --- | -| 로그인·세션 복구 | `auth/store.ts`, `auth/api.ts`, `shared/api/client.ts` | `POST /auth/login`, `/auth/token/refresh`; `GET /auth/me/`; Kakao 교환·가입 보완 | AI 미호출
[src/features/auth/store.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/auth/store.ts) · [apps/users/urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/urls.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) | -| 사진·AI 주민 생성 | `character/api.ts`, `pendingJob.ts`, `App.tsx` | 원본 presign → S3 PUT → 생성 job 제출·조회 → `POST /characters/` 입주 | `/v1/character` → persona·이미지·외형 결과
[src/features/character/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/character/api.ts) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [api/character_creation/router.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/router.py) | -| 자연어 목표·계획 구체화 | `todo/todoApi.ts`, `planner-chat/plannerApi.ts` | `/todos/generate/`, `/todos/chat/` 및 job 조회 | 단일 분해 또는 후속 질문·계획 후보. 생성만으로 DB에 저장하지 않음
[src/features/planner-chat/plannerApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/planner-chat/plannerApi.ts) · [apps/todos/ai_client.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/ai_client.py) · [agents/todo_creation/planner/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/pipeline.py) | -| TODO·캘린더·태그 저장 | TODO 확정, 플래너 확정, `calendar/CalendarModal.tsx` | `/todos/confirm/`, `/todos/planner-confirm/`, `/todos/`, `/schedules/`, `/calendar/`, `/tags/` | 계획 확정은 Django가 오늘 후보를 Todo, 다른 날짜 후보를 Schedule로 저장; AI `/commit`은 이 제품 경로에서 호출하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/todos/schedule_urls.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/schedule_urls.py) · [src/features/calendar/CalendarModal.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/calendar/CalendarModal.tsx) | -| 캐릭터 퀘스트 배정 | `previewTodoQuests`, TODO·플래너 확정 UI | `/todos/quest-preview/` 또는 확정 중 `_assign_quests_to_todos` | `/v1/quest/generate`; TODO **ID**와 캐릭터 정보로 매핑. TODO 내용은 LLM에 전달하지 않음
[apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [agents/quest_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/quest_generation/pipeline.py) | -| 완료·보상 | `completeTodo`, App/캘린더 상태 갱신 | `PATCH /todos/{id}/complete/` → Todo·Quest 완료, 잔액·거래 기록 → DB commit 후 피드 예약 | 피드 생성은 완료 응답과 분리
[src/features/todo/todoApi.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/todo/todoApi.ts) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) | -| AI 이미지·캡션 | 생성된 피드·알림을 조회 | Celery `generate_feed_post` → AI 호출 → Post 저장·알림 생성 | `/v1/feed/generate`: 장면 프롬프트 → 이미지 → S3 → 캡션 → 결과
[apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [agents/feed_generation/pipeline.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/feed_generation/pipeline.py) | -| 피드·댓글·답글 | `feed/api.ts`, `FeedModal.tsx`, `PostScreen.tsx` | `/posts/`, `/posts/{id}/comments/`, `/posts/{id}/like/`; 댓글 commit 후 600초 지연 예약 | `/v1/reply/generate` → Reply 저장. 자기 캐릭터의 개인 피드
[src/features/feed/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/feed/api.ts) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) | -| 포모도로 | `pomodoro/PomodoroHud.tsx`: 25분/5분, 종료 시 다음 모드에서 정지 | 서버 API·집중 이력 DB 저장 없음 | AI 미호출; `localStorage`의 종료 시각으로 복원
[src/features/pomodoro/PomodoroHud.tsx](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/pomodoro/PomodoroHud.tsx) | -| 회고 | `reflection/api.ts`: 당일 문맥·과거 회고 조회, 작성·수정 | `/reflections/context/{date}/`, `/reflections/`, `/{id}/`; Reflection·보상 거래 저장 | AI 미호출
[src/features/reflection/api.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/src/features/reflection/api.ts) · [apps/todos/reflection_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/reflection_views.py) | - -## 저장·실패·배포 상세 근거 - -### 인증·영속화 경계 - -사용자 인증은 Access JWT(기본 1시간)와 **opaque Refresh 토큰**을 함께 사용합니다. Refresh 원문은 HttpOnly 쿠키(`mongle_refresh_token`, `/api/v1/auth`, SameSite=Lax, 운영 Secure)에 넣고 DB에는 SHA-256 해시를 저장합니다. 갱신은 기존 행을 폐기하고 새 토큰으로 회전합니다. 자동 로그인은 2주, 일반 로그인은 3시간 수명을 사용하며 회전 시 갱신됩니다. AI 호출에는 사용자 JWT 대신 서비스 간 `X-API-Key`를 사용합니다. - -근거: [apps/users/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/views.py) · [apps/users/refresh_token_service.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/refresh_token_service.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [api/security.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/security.py) - -| 저장소 | 실제 저장 대상·사용 위치 | -| --- | --- | -| MySQL | User·SocialAccount·RefreshToken 해시·TokenTransaction·Notification, SourceImage 메타데이터·CharacterGenerationJob·Character·ImgGenLog, Todo·Schedule·Tag·Quest·Reflection, Post·Comment·Reply. 이미지 바이너리 대신 키/URL 저장 | -| S3 | Web의 원본 `source-images/` 직접 PUT, AI의 `characters/`·`feeds/` 생성 이미지, Server의 `log/character-gen/` 감사 JSON. 공통 `AWS_S3_PREFIX` 사용 | -| Redis | Celery broker/result backend, Django 요청 제한 캐시, 이메일 인증 코드·검증 토큰. 제품 TODO·플래너 대화의 영속 DB가 아님 | -| AI 프로세스 메모리 | 생성 job 결과와 플래너 `MemorySaver`; Django 도메인 DB와 분리 | - -근거: [apps/users/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/models.py) · [apps/characters/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/models.py) · [apps/todos/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/models.py) · [apps/tags/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/tags/models.py) · [apps/quests/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/quests/models.py) · [apps/posts/models.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/models.py) · [apps/users/signup_views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/signup_views.py) · [apps/users/rate_limit.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/users/rate_limit.py) · [agents/todo_creation/planner/graph.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/agents/todo_creation/planner/graph.py) - -### 작업 실패·재시도와 복구 한계 - -- 캐릭터: DB의 `QUEUED → IN_PROGRESS → SUCCEEDED → CONSUMED`와 `FAILED`를 관리합니다. Celery는 AI를 3초 간격·300초 제한으로 조회합니다. 실패/취소 시 생성 횟수를 환불하고 취소와 결과 저장을 행 잠금으로 조정합니다. `max_retries=3` 선언은 있지만 이 task에 `self.retry()` 호출은 없어 자동 재제출을 보장하지 않습니다. -- TODO·퀘스트: 단일 후보 생성 실패는 502로 알립니다. 퀘스트 호출 실패 시 이미 저장한 TODO는 유지하고 퀘스트를 생략합니다. `/todos/sync-quests/`는 오늘의 미배정 Todo를 처리하는 API지만 현재 Web에서 호출하는 경로는 확인되지 않습니다. Schedule의 자동 Todo 전환 경로도 확인되지 않으므로 자동 복구로 기술하지 않습니다. -- 피드·답글: HTTP 호출 실패는 30초 후 최대 2회 재시도합니다. 빈 결과는 로그 후 종료합니다. 완료·댓글 DB commit 후 큐 예약이 실패하면 로그만 남기므로, 보상이나 댓글 저장 성공이 피드·답글 게시 성공까지 보장하지는 않습니다. -- 주기 작업: 미완료 TODO 실패 처리·회고 알림·이미지 횟수 정리·Refresh 정리 스케줄이 있습니다. 로컬/운영 Compose에는 Beat 서비스가 없으므로 별도 Beat 실행 없이는 스케줄 설정만으로 작동하지 않습니다. -- AI 재시작 시 메모리 job은 사라집니다. 캐릭터 DB job과 브라우저 pending 값이 남아 있어도 원격 추론을 재개하는 것은 아닙니다. Redis Compose에도 영속 볼륨/AOF 설정이 없어 재생성 시 큐 보존을 전제할 수 없습니다. - -근거: [apps/characters/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/tasks.py) · [apps/characters/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/characters/views.py) · [apps/todos/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/todos/views.py) · [apps/posts/tasks.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/tasks.py) · [apps/posts/views.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/apps/posts/views.py) · [config/settings/base.py](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/config/settings/base.py) · [docker-compose.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.yml) · [docker-compose.prod.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/docker-compose.prod.yml) · [api/character_creation/jobs.py](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/api/character_creation/jobs.py) - -| 서비스 | 저장소에 정의된 배포·통신 경로 | -| --- | --- | -| Web | Node 빌드 → S3 정적 배포 → CloudFront invalidation. 개발은 Vite `/api` proxy → `localhost:8000`; 배포는 빌드 시 `VITE_API_BASE` 주입 | -| Server | 테스트 → Docker Hub → AWS OIDC·SSM → EC2 Compose. Nginx TLS → `web:8000` Gunicorn → Django. DB 주소는 `DATABASE_URL`, AI 주소는 아래 두 설정군 사용 | -| AI API | 테스트 → Docker Hub → RunPod CPU Pod 재시작 → `8010/health` 확인. Compose의 단독 API 실행과 GPU 워커는 별도 구성 | -| 추론 워커 | LLM·플래너·이미지 Docker 이미지 빌드. `v*` 태그 workflow에서 RunPod 템플릿 갱신. FastAPI가 RunPod endpoint를 호출하고 결과를 수집 | - -Server의 TODO·퀘스트는 `MONGLE_AI_API_BASE`/`MONGLE_AI_API_KEY`, 캐릭터·피드·답글은 `AI_SERVICE_URL`/`AI_SERVICE_TOKEN`을 사용합니다. 두 키는 연결할 AI의 `MONGLE_API_KEY`와 맞춰야 합니다. 컨테이너에서 호스트 AI에 연결할 때 loopback 대신 도달 가능한 호스트 주소를 설정해야 합니다. - -이 설명은 배포 **설정** 검증입니다. 실제 DNS·CloudFront origin·RDS 엔진 버전·RunPod 활성 모델·비밀 환경 변수는 저장소만으로 확정할 수 없습니다. Nginx 대기 제한(120초), Server AI 폴링 기본 예산(150초), Gunicorn 제한(180초)이 달라 동기 대기 경로의 타임아웃 위험도 남아 있습니다. - -근거: [.github/workflows/deploy-web.yml](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/.github/workflows/deploy-web.yml) · [vite.config.ts](https://github.com/bigmooon/mongle-web/blob/fcd2734b386035fca2d10980a1bb55ec8e90c4ba/vite.config.ts) · [.github/workflows/deploy-server.yml](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.github/workflows/deploy-server.yml) · [nginx/api.conf](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/nginx/api.conf) · [Dockerfile](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/Dockerfile) · [.env.example](https://github.com/bigmooon/mongle-server/blob/11f428734960dab8db60bc5bc7128fb62e8a495d/.env.example) · [.github/workflows/deploy-api.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-api.yml) · [.github/workflows/deploy-workers.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/.github/workflows/deploy-workers.yml) · [docker-compose.yml](https://github.com/bigmooon/mongle-ai/blob/8f897687560a6ebf179e3a0894a3bfd05b778efc/docker-compose.yml) - -## 검증 기록 - -기존 Web 121 tests, Server 236 tests·84.16%, AI 3.672/5·0.90/0.90·1.00·SSIM 0.6712→0.8378·20/20·19/20 및 리서치 수치는 유지한다. 기존 평가 조건·한계 문단을 삭제하지 않는다. 이번 검토는 문서 수정이며 모델 성능이나 전체 E2E를 새로 측정하지 않는다. - -### 이번 문서 수정에서 확인한 항목 - -- 세 README의 공통 시스템·사용자 흐름 Mermaid 내용이 동일하고, 각 저장소의 담당 설명을 별도로 유지했다. -- 10개 사용자 단계와 API 경로를 Web 호출부·Django 라우터·AI 라우터에 대조했다. 기본 데이터 흐름과 저장·응답 방향은 본문 및 작업별 표에 명시했다. -- Mermaid 11 브라우저 렌더링: README 6개 다이어그램 문법 정상, 시스템 그림 약 416×550px, 사용자 흐름 약 238×382px. 본문 가용 폭 766px에서 overflow 없음; 글자·화살표 잘림 없음. -- GitHub 검토 브랜치의 실제 README 화면에서도 세 저장소의 6개 Mermaid 렌더링을 확인했다. 데스크톱 본문 폭에서 가로 잘림이나 문법 오류가 없으며, 긴 시스템 그림은 페이지를 세로로 스크롤해 하단까지 확인했다. -- 커밋 고정 코드 링크 82개는 해당 Git 객체 경로 존재를 확인했다. 상대 문서 링크도 존재 확인을 통과했다. Drive 폴더와 문서 11개의 읽기 접근을 연결 도구로 확인했다. 공개·비로그인 접근 권한까지 보장하는 검사는 아니다. -- 기존 프로젝트 개요·담당한 부분·한계 문단은 동일하며, 연구 백분율·검증 및 모델 평가 표의 모든 행·기존 실행 명령을 비교해 보존을 확인했다. Server 리서치 표의 AI 처리 설명만 실제 경로에 맞게 교정했다. -- `git diff --check` 세 저장소 통과. 수정 대상은 README와 이 기록이다. 앱 테스트·GPU 추론·운영 E2E는 이번 문서 수정에서 재실행하지 않았다. - -### 기획 배경과 문체 보강 - -후속 요청에 따라 프로젝트 개요를 대상 사용자 → 사용 경험 → 저장소 역할 순서로 확장했다. [프로젝트 기획서](https://drive.google.com/file/d/1AT0YGK2BfbWJpBcsvgHfugAlRHEdQTak/view)의 1.3~1.4절, 2.1~2.3절, 4절을 바탕으로 시작·지속의 어려움과 제품 가설을 설명하고, `images/product-concept.svg`에 세 가지 문제의식과 접근을 시각화했다. 기획서·화면 설계서·시나리오 설계서 링크를 관련 문단에 배치했다. AI README에도 공통 리서치 배경을 추가했다. - -“이 설명은 … 검증입니다”, “결과를 보존합니다” 등의 편집 작업 중심 표현을 독자를 위한 문장으로 바꿨다. 평가 조건·한계와 코드 근거는 유지했다. 위의 “프로젝트 개요 동일” 검증은 최초 수정 시점의 기록이며, 이번 보강에서는 사용자 요청에 따라 개요를 재작성했다. 담당한 부분·기존 평가 표·리서치 수치·실행 명령은 그대로 유지했다. 제품 가설의 효과를 입증한 결과나 미구현 기능을 추가로 주장하지 않았다. - -보강 후 검증: 기획 그림 3개가 동일한 SVG로 정상 로드되며 본문 폭 766px 안에서 760px로 표시된다. 줄바꿈을 다듬은 Mermaid 6개도 다시 렌더링해 문법 오류와 가로 overflow가 없음을 확인했다(시스템 약 370×550px, 사용자 흐름 약 238×406px). 기존 담당 내용·한계·평가 표·연구 백분율·실행 명령 보존 및 82개 코드 경로 검증을 재통과했다. - -### 시장 수요에서 포지셔닝으로 이어지는 기획 논리 보강 - -후속으로 제공된 발표 캡처 5장과 사용자의 기획 의도를 반영해 README 앞부분을 수요 → 핵심 이용자층 → 지속률의 한계 → 이탈 원인 가설 → 경쟁 서비스 세 유형 → 생산성·키덜트 시장의 교차점 순서로 재구성했다. 개요에 자기관리와 정서적 연결의 결합, 20~30대 여성이라는 핵심 기획 대상을 명시했다. 기존 기능 소개 SVG를 기획 흐름도로 바꾸고 정성적 포지셔닝 SVG를 추가했다. - -[시장조사 출처 기록](MARKET_RESEARCH.md)에 통계의 기간·모집단·확인 범위를 남겼다. 잡플래닛의 직장인 71.2%, 코리안클릭의 여성 55.8%·20~30대 55.0%, OneSignal의 2024년 리텐션을 구분했다. 기록·루틴 앱 성장 수치는 제공 슬라이드의 재인용 범위로 한정했고 원자료 URL과 지표 정의는 확인되지 않았다. 이탈 원인의 연결과 포지셔닝 좌표는 팀의 가설·목표로 표시했다. - -기존 리서치 표는 README의 접을 수 있는 ‘추가 리서치와 저장소별 설계 반영’에 보존했다. 평가 표·조건·한계·담당 내용·실행 방법과 구현/API 설명은 유지했다. 두 SVG는 본문 폭 766px 내에서 760px로 표시되며, 기획 흐름도 글자 가로 넘침과 Mermaid 오류가 없음을 로컬 브라우저에서 확인했다. From 91777a91bee19c19a5d09b277de11fad65795a81 Mon Sep 17 00:00:00 2001 From: "Junghee Im(Jion Im)" Date: Sun, 11 Oct 2026 15:04:03 +0900 Subject: [PATCH 7/7] docs: use supplied system architecture image --- README.md | 16 +++------------- docs/images/system-architecture.png | Bin 0 -> 518264 bytes 2 files changed, 3 insertions(+), 13 deletions(-) create mode 100644 docs/images/system-architecture.png diff --git a/README.md b/README.md index 74dd9fc..19db081 100644 --- a/README.md +++ b/README.md @@ -84,19 +84,9 @@ Server는 이 경험이 사용자별 기록으로 남도록 인증, TODO·일정 Server는 인증과 사용자 데이터, DB에 기록하는 작업 상태를 관리하며 작업 유형에 맞게 AI API를 호출합니다. -```mermaid -flowchart TB - WEB["Web
React · Phaser"] - SERVER["Server
Django · Celery"] - AI["AI
FastAPI · 추론"] - DB["관계형 데이터
MySQL"] - MEDIA["이미지 객체
S3"] - - WEB -->|제품 API| SERVER - SERVER -->|내부 AI API| AI - SERVER -->|도메인 저장| DB - AI -->|생성 이미지 업로드| MEDIA -``` +![몽글마을 시스템 아키텍처: Web, AWS 백엔드와 데이터 저장소, RunPod AI 서비스 및 배포 경로](docs/images/system-architecture.png) + +[시스템 아키텍처 원본 크게 보기](docs/images/system-architecture.png) Web의 AI 기능 요청은 Django를 거쳐 FastAPI로 전달됩니다. 원본 사진은 Django가 발급한 presigned URL로 Web이 S3에 직접 PUT하며, Django는 이미지 키·메타데이터와 캐릭터 생성 감사 JSON을 관리합니다. AI가 결과를 HTTP 응답/폴링 결과로 반환하면 Django가 도메인 DB에 반영합니다. S3는 Web 정적 파일 배포와 사용자 미디어 저장에 각각 사용합니다. diff --git a/docs/images/system-architecture.png b/docs/images/system-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..c62305e8b1e34ed7c58d4239050229a6f9b63680 GIT binary patch literal 518264 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≫l8@6^2f%(zVmZftT54XQ3U|fY*83b z^OV}2VOr=K$ATn2GRn8fC{!I;#>F=gBWjXAfic6H~pNwa=9JHAevGU%wt;|_aJH6 z=YO`TDV`;p`nm=o?SXl0+4*V0>ySAoD4NaX*R%#cEMKG!F@h(#0gA$a>tr{r-ea#C6AgKcs-^qlSLeUFu)M)eB@ zF5^bedYh6bj1ygsBTU?4^$wpSg1kQ32mMvMXeI3-%c)-@8!PwN`Fu)a?ql8jGxbVe zG7I#OwtqtK#jsxynUJ(JGWpBua&7`;rJq=AP#Kopuop+6U{_Esk|(S43_)jjgIczn zIz=hRI<0N4^{?*h>S6RW4v6WXcl}#&SC@AH z8IchU6)gQ8*B`70UeQ!h+?w&1TpN`6EYU_;Uw_Y*$^(&E3OjDC-Rxi=P})e`pa@># z-*Y1Pu)t*uv+C^|w2&h?eI{(9{7gS!NT59a3}UgM+t;UR$g!tG&(AC87T}*j$}n*a zIto79P3!)5X@k+DyGuXphezkM<;o2)tuB@5gVxsL8;|II*xtg_FE4v3LCK5FmsvH> zc;d*LO{Z*|9dC!S0;1cl+Eozb-~eDQvqGBR8m~hE|1kD?3e~5oB+NlxrxDbmsqiJh z$`d)wH_){8M(~aPv+qBi$^M8f|H38y$Rh7mi|Bf3LqnO1s3<^|kLi(~6U=V^#R<{n zY{O%3?DZ2u)OefmM1jw@evd`9$ODSBIk8%QD=!QH%`yA2!D$Ncnvt

@vgE2Fy&4?|n;bQkyVhR^Z;bCG(iY(CjqvHEtzppsQ;QKoKOV=kplo)c_ju3o z{R^+{EI6r!czb3yZ@xStTBbzs?15f}*q@KhDV6Q{r`C=o{w>ac?G;Psh~BFhy+gvp zh2s#f^9%OKdHL#sht(r_EM$yk&d9xvh8rmWCpYsnl{6Cm`fa~jXpV%|dO`Ju6x>TW zoP;>BX3k4Xk;-qvkfV2Ni=Kwp!wUjy6l!f{QN}^%8CxuIbm@t>v8A@RW9mV>%F?4N z0_0x#xeZ>kbu$^Jj><)5#!snf6U-iJBIplh4Q-u1r3jJGJ@?-T8EMIhH92`+F}8o7 zNN~qIN?ibYti{SDj`VmS`0(r5!Hq?a5>R-2Uhpcm=Z^v|S)K<>qZz?O&|zB_)P-1( zRSq*j;50dxb8W2+pL%C+R{tJ|wws+kR&C*{qjQGSDf;gK&$R;Jh%G>ooAt+hgABH?fO)ndVC(cq4RF2N?*S0|=? zwm;-HO7u}8sMRyTIdmw6M}l{J7EpQk3AHbHmTyTz?}3iW8N*qM=Wd91PGqgW?c(i_Ia^tDe-&pz9-Otkhuy>3%sG zrFO!R>NvFnZjC~F8(eKHsDIhC4sbvY2Ta7hn=EE~n7*XC zWrD$kiSIt0{J~6Au{$OzYlD*@#`*8DnQVbk++$;anNYW3 zg(Ej>Qoy6`b$$jO<0+wBC3nrO7Q&gZ{wc?Wtj48TxSnpy=J4!y!^3DBlV+=9N*I-w zUH6GuvYx(4kSru|w8_Kx5S1P)UMrZWp&sz%J5{f{=H3C}s30G#W}Lr;3Ebui-(DWo z*=ux}PIp)Uf!%S^-dlfb_Hd<33yB%sgtg?=ZAYDYcXw8M^&_URE9*;xtPlSva%*?T zANV`3*v2sk09&v_q^Xm_Z$cO)0T-B2x=IvPg%aLMP^IeiQshk@qeH{K-S{T6Lv5`1 ziIDBormRC2WS;A2m3&_X_e4}Lj+^u%?wc)Aa$NrtI)f8jwAfG+Zh;4(C)YL*)1x3! zaTyB-iW}*(8QW+D=D@ms|PLt5m@H%~O(0k-w00izIC}5^w_fzjf3U|%un{f5e zap}kBX08t|f}A1wPS-hKpD-@iEF3mB61n@|-X`}8?@Ji!z*b#W5>PB<@oG(zO(ofG~6M03<&iDVWagfjNL}W=2BkCfM`^2SF%KBHz z8Sb!KxM{5j@Q+$+1@^O5h6MOLDEO&Zz`Od1jA32s&+{#iku7b`hVvGbHp7l}K}BT7 z#wNGpqVZo(pO(FTHQ1Qz#&~5*M42C4@MEles=*0I?7Pg``-0xq5*g*=(emqb-Y0PN zB^o+`{5V~cBSmm6RKlS0jf#7@7o@kW^&!-@_dY(O+LjHjJtBWpYomIxgUS}sZ4}le z0W$<4@l^1u{d%$~Os?Bo{;>KGlAa8`I^0)6`8G}vUrAkU%2>lX<%3W59X7QbR-#-a ziU`RaVzms=UpYc#lxV&M$@B`G9v)m)Upv!}VV^Gaoz0ydI-iGCE>1CVTklo0HvRZB z;Mw!UXCqPlP9$?NU!o=}Xu}llzNF;BJzZO=Pm0PGGO{l%D=BfSxr#>xapy*(Bve6{ zBWNQA3cQep!JPnOoQy8Q=yjKm%6R2Z>kMW#LQ_&hJ;{KdLvXLW&98jBLfE)Y zArJ}eZ6g?4j1%8OhBGGtq&ulvp37goep5ZG6xY+b9qeS>X!QwI_V<*)H$-9ApN^AAkPpasVz!;~@Y?sl3nzZ;KPKyzQIlD|R z=s#DeXza!*0xt|w|4}$zjJzWl7>Q+u^KPZDmB%Am&oM+QuaB0?+-B?)T29#CG~Moi zYUScnofZuaF{`nqBB;yw%3<#ooH=j3c(segS_S@2Y&Y(SnW9FH5w&6h12y&7OF=>I z7A>4669%jJJnJ1O4?bwIFlBjRjoO&VG*LIcoKBvDp;{D`9xFPVb)cOu9`5E`6=PpUv^d*yUe>tqJ_YS zxpd##DgpB3E%IGMucJ?E&|iaatIx+vojlrQ=8sE!&YOkg%z2VH-)OiO zp^$i;P%X?vLxT5jq#OO zQWhZpE!9Ta8$+aT%WnNhgCKKBbH~6)_>XN>Q{d_O?SuIJK@Q!oK2{qu=T388`_s}- z(pykcqPewxoU=|+&=Sdq4~h9{=FZ3EU*ukDITAZYG}NEg1%o+n@t%#oY(2jzNE~+* z_M3NA`I#4p-{2g3Uu=;De);Ww1Nl{syf@RdyzGoEMhBf==OAG0ZQd0_^ooP|BA>y zS=qXSg6qnuc5!Oo_D8Ri-WQvC7RFmIpT zVT1oFZXBul_Tb*VeQvzcSSp?4r^|O+1$L9kkQN^9>^pX@ns08ZOQptZ%l(OIa zi`w%s>2R;25Moj^@cQ(~I1w4(ypPqRhpTM;0DRzJAGW_@0ow0qk8Xt!(Y@jX4>--) zA7|Y@AVCdG?yOv1vkSA=s13(dC>RfPO^BaHnzjWmbT1TaK$6lc^}Jh}x8dT&sB;zE$TNgu z2#lKGdnLq{>oe>L(Hl3aRv_Bkn|uwsM1?zDqTOoAWJDA(bDy@CdImKgFR)&^gyjY^ zh$!)S=C8LAM__>SoWDn66R^URSO4*s#~kLXN@mgZ1}rUgL()F+gbZ19B_qU4i@fPV z?dsp3liToARAiJSFX7y#_=s40*N=&F>B-cmiVBCy963(Ox_Yf=E4wC=n()iR!S2@T zZjeTn*mmyCA*Rg8_{q!6NFK$!axu`kT%e1D;A(nSf!uQSwZ#l91H z7fFKRwX=s7u@28*cf|h`!!%HqMfwF{a%!wX{a^92A2+qQLL#dbwJjq@!#v#i6WXxR z6o8NLjUl`I@(kXgyr10FW@hI!r#urTBRb~4U40i925G??o<;~`r;_9PDlQ=BL^Ovm zv-_Wr?3TFl`uV`@3%-fS9|z6GEeET_p;zhyJb(s!t&00pZEpftF4Tdo7zs z6?5Mq?O)b^>4TL9tx1;vi<}t*!)|u@LfJq8?{;4XDu&t;QJmf3f3Wu#Ky_tX10WnE z1cC*3CpaXyOYq=M@ZjzmAh;yBySo$Y;u755E=~yU?l33a@AcQ|*ZKecre_}SaFg=IMjCA(>;i@+o<)Cu~ zxFa%3A@&p*zx3#)a|^gV%o@&24dj$hVp_JVwMFOweiG;G3p07e$&Ndk{HQz|_k+uz zOtI0?7qoRXt(=OFEzzk@)GWH`l(sK)`k6o`U-Y-rgl0Cbz&@Vn~r37_P=P#AdoOj$y=jA#!pEEVS+}7Qn zHdbR+JKIlOwU1OwbkF^Oc1FWNU?C&Q&Kpuz5@57RbEUR8H`rKWG94y6H}AGKJCZr3zJ7e(CGFFkhQdQ6xXZtaASuL-c^kZq zFcXQidL{}ibzZu@+k+U4EY!G~ZC}1RYy@E^p(8T9pMB3|FM=Q)1cUY3;&p00X#jVy(xe7hip)>Y5~|9%b-mj%B9g_0649Jx z!&-Vt4kp2>oWtuw9h_30SfAKy1ucHzV~x_FWo)t3m}XO@(>bmyoAtegDfQ53aI5Km zDyCm)#ew4ldx;Q4joYzpaI}y&mltZ3Udswds9JOY?Y)=fvZM52YWU3hKL1{GT&dw& zIv0WJn%l*}s`_jk3gPODUXd<r7`S_IModm^;!(QpgM|FH{dc%02mPB_Ba57?-H{iOVf#SkT~+R}rNv+1-0jTo9IQs9d1-i7DrU4LIl75XV^%mT@Ob!;}0iQ8g#(yyL8BBNCfos{FZoe7vLy~zaP+6=LCJ{ zXT^fOdg?4)Qr5!4;oRjB)6#A+K}~95vP>8}W2L%tdrWro(jklq%d}0F?8B?(W+isSOh8sf!9Z*uTcUG;ISIDS#NXkLcAq|&GQ`7;Z%n`RWO9J^K%?cEa)SybCDiP9bOzLgju$mP1q1p;H3ZA#9R{ImGJ z>1QiMHzwfh4q=4)2;QFrhsof7^yjX%G_QA0!X~opL~5`oH%cYl+h$j)|6r`E5T7ty zaS=hSQ7h|yjYM|PuX1>%G{&$L%t9aX%?R>?Z|)_ZoUa$j${Msk3$zRzt;bMKi(lgi)j)zis(z*V3kq!)j_Aly2#GOz0UoV8-B*LS}J^HuhU9HE!TmAXO?rCTj{A*#pN>-vs*Ik%N#6)_SKg3xe|7B z#u}23vbB2*axt-wZ0fFEO>(MxZxA1rtshrg!5^8e6WFH3kX#T34geX)bv<$djf%}n)Je}iY!*%@`0l~QW(4tkk8lmtP!!L3Kbq{#wu ztBZzcZFje}$!@nw14Z{x8ed*;M_bNB8p1(zW^;`ZrmdN2>EU8?G6-WVlLRPQ-)1h9 zKn@W!=pHl~xz{;)djE>xA7sB0JerCJW4DYU?rt?&RY(;N()Z z{p-{4Mc%@e)0ufL+tX_2aH}8Lq%no-f{^XzCRHivgFUUch>$}h0#C&33&tsbHBGLq z=A}(+pw&Aagix9Douw)DwY(CIl;rOW#`YS0$BcdKNUZ4%bS62{$nl{=MoCOU$fwl) z#nQy@Gx0!B>?fmj{i>sRp(igna;4tSJ;k#K_L$odVh>TJtgx>pl)jQMbdVg)hT~SM zOleUo+>tvhrvN(qX#F#{bSF=>FD^1Ejv%3JpqEnUN&kH;>8}a6YC>;J^oB9lQO>Ao z(jzs0t7=UCux#q5Ws#$ydF0u^2uc$e2uO}3h**YS-lkLr0U^j<=8csoWWfMDB}vA4 z?7kA%61^XK2L%D0BpTrKRYYQp6o2NE%vFPkFT)|&IIq`x-ggOK?EkS7Xh-Tuq!6y#KnIvr@*N!O?$}5 z)qPQ8e=YmKAqcWjVMyJNH*E5<4!#1}&_L(brzMjZVp=jU0Y&&~^BtsZ(RGA9U+^P1+aGWVeD_Fas20KGJr^S zKZukPgY-)x{j>}38@Ly3^8ByVe~GrAcOlIHFnV z6j;Pw*?n)fU;MnOU(NL_NC%)fKh0wOXQ&+g4zL*uCpEz@CHQAboudKJcxYGudXoB2 zfF)@HY(_zuEA$U3^E!ecSz!H{hT&MO|-;e6590=u$<7 zp3x!7Rwq2ujW$0Ho2##`yl1pIR#6fm)nH*p|9|^hnDN)*C>X1mBr=WT)#tI6MPL=O zw~Q9#87e(5geW0~5&xe73#1~HCui&0RVen8nEa$X|19T_7 zoc}{j-7YQ5@+Whnu{lZul%$!Xz7-vmz)6i@2D4n$Tsp{AieL2AUFAK){15m|_HsyqA5) z|J{cE?}06yilA0X(YF1s*8Hmp`>%`e3y?!|eqS3!MQvZt}7p#uxi!P5s zi2Kc9R$4;`oR{=B=70Hn0MI8On_kA@`QUTOmr_~?2aj}7W*vqLnsQP8-?#~9rWmNG z_;_eIsQBOQ3rj2e9?PoFtv}AKSf&>9>A3Fg)fcIoTR#k>;QhKM;BOlU26NwJ?q@gp zJ@vmzP|f+;I+C2)_zK!iqwK-Pu64Ki_XJ(WF(gK;G7*DXmD$=bTJC!2VJPAMNZoHw zd>Y;t`}6Atc`^j-Jo#=r#*LJr3$9;5(X`7nGz%Ul?xo?}h`3If zAuTl;>dV-NxuxX+Pr{}zlk9|n*iK*olZuY-?(Ec>`cia&58>i3f$oZ;_uSkm_XYYE zqt#?aqc!1jS!($0CZDBS?1K&p9uZ%y^Suw0>h?p0#-Ad^Y6XaUnzYt+KSH6r94Xhj zz;B%D+uqtdbdVhCm%9UFKknP2ms&ZhKx@4o*u{u7o(EZSS9=bRK7ehEd))(|>?x3b5S}dMg;|?F+xsHNi zU7>sm=bS9u6L_if>%<`g+5Ua9nP#S12Yf29!a`e&wAEL5wrxaO#?Fjv{;4%oT$|kPIwlGwX_7{_8jXE^}R7P6~)N! zR@H4bl3~nZZ$J)eK5hKyBeaXspo@>RDY~Yk@{iDGXpfzD5k|IWq5}w|ED| zN!E~a{@H2HTSad9WE=wo>3{_B!;@&sZ)<7ybvq5N*&5!~zZbK<(oFqJt<<|%g_wo> zN)mZ6B=jJMH>K5NNVzec&)H&K<5szR0ngbzpJWV=?>6VB(Eysy{rqZX%D+XX3Qa9t ztuL$x(O2L=;L{%~>!$;`0Pkt)FOI5dNF_opTeFc+>YFHbN`GQIVy`wkt&u>?LTnz%F;Hf4+jW2ti)ocdM8ehEX8fj0uphXSSNG#o9DC*w>9dTl7L7oNOmLrNCB0qWE9QW zL#ezo5ijNyL_+w?cxR}5P{K$5*BTb>m1}lPB_$P{dmfwloKHx)p@&s!ZY~$GmuBW8=4e2V8b80A zdX-i1@L!UF!1NlQQp%ZE9431j)1$-pJrtU$w|&}w;`bGLATwMG$NHO!n28e@s<&rl z-Q?rl01>nc@zd*EJOW}nHN|SA9B8vVhJeLTUC84$ZGwr4Um^}^k71r!)Q|@PO&7o+ z!&}aSN*xRPfyvg-gOK8PJY$Wgh{?%0sQK7lR#drG*OVM8`g5QYawynk?KyOTlag>9 z3BlB)FGA5dWpM~@T_LE3g!~L9h@rz@)w)B4d_xZt=n~QMXpKo2nhh|7= zl~ew394@R8?X*81;CKBnF+R=ICOb0YdI8=YQ5(@NV5%0mo5Mr?X->BOM$6+& zeg6B!V59r;v?~RrobZT%rgkWP&l`+v@MJ~DK?2{jW|#Wa^<%T9L$5vOTNFas`|sw{ zUqUP!PnR|7TxC5fYMSL$GzA~E6DPXE#ic)AYP)tNE#3z4X@h_%_dYvGl95y!>Z$r! zWq8w_jb_~|hTV`GJCUc2z1 zRQGNES`Mpf%jCKoB&{m4*e7Jo)>3%4mhfS_6@Q9ayv@}z7Hiy(@VS5Ac)wqT?mXed zn`>qj>jhJweNrJB4X9NQCN=v%8?3DP!du(sZbqLROQV!lO2enAH)-G?St)8gnAmz& z>-n+6_$*+K_DF9rZZW-N&R~B?T8%mLZq>im^LVhB>s>l9S1sqe0eIo*fNXl9!vu-t zpVdA96(mK5CRQN4OnIvF3fNQaa*4UoeB{GMSks&*Lp7(z7rj%;K%J}bp;z|~1KZ;} z#UBH~{C`jpxPJo@P`G72Sl(K{<@c}lpwUMGOSgNWYJEb`HddxJUlLMgG|>E16=?++ z+$^P-kx-oA-_-7lg-)Yz86EwhaKzBOc37kOX5uAQa;^39>?`vwgS)*#tQqSeR%b8B z-*J?RQJ(SdSpfewtOCL4b)!ZdVu2fcHN}SecP&Gd+7Bc2Q%Lrm)g}76*1w761HYRw z1YwV3jV>cIGxKa*;yyO2BB~HJp4D8y1L$oMh&o4loZO#fl*KfGfUT3U>jiUfoTVD3 zZ`WX5)ProxZt>WG#GDp5h}`pbk1UE zMYM@iet9%0>P8P9D0&{$?>J5M`8hmKWE|PIs*@mAT)nEode-tUN;f239I1)?ywobL zewpZ=8M3Q;J39}qr`kB%>j#x)eJQh_h@ZJ>aNs3t^wXF{BtiwDDW+ls7!I_E8XM2h z9(ri0sF5uqIe|`%Ww43xHrBSoQb-ACl(jyhG5Ms356HY7h|^{H9l}5V>p=&}e=Qm1 zuNBRhR^ENvA^O1s7p}Kgjg3+f*4cU0 zFF$D58fM-U22|d4H|t<%Iw=-7X}JFR<-jvJ#B&bv=eXnoK&=ci9^ZTJrkff3R1YjC z(p!T4EG%`JdgT-6E0936&o`z?(u&GzB?ZZW{y-$5ZO+ule95*uOP~~h=thV>BX!2Hz=+g>w`4|o2EKSK1EQ}wCd_^&o4=LA zz|gPH2>7FKsT7S;%-@kh`rJ2{mQJEZj0c&4X+}pB3zs51bl<%@)9#v>&8_%c!RFy9 zz?GW1M|9Ok(__DbxUGacC#iCG_7l?hjwgN`0g#`w8DF|oKxNLc)dhnYi{G%7Jr z*Zb24n;ClHeors&L&~f&g^E&we7UB&vTfC*6Y+Sz=xH?y-0KFesS&&@KaPZ?#Gnn! zp`x8}OkM7}cbpAs9insL?Sro5BW>C_(?`!Mk;9xBnN`{4!??eMl9MW`LYKIyX&vR} zW@huW_HhgM)Z;m=rj2lb`8D7dyqJ52Ebqw7G8|#z$ zumrF(GyBS|e8*7}$rYDui+q)IBXV2hZ|@E+X)xFl-F*ID$Hu7fG~t$M2nmhxSc zyDjmCCLWH5j&l(@9=FB)NnB$i%buQq6gJ!O$#vY>Y;^|g-xizW#dy4s41wF<+fm>$ zjsAnret&3tN4j#b94#f^l(aLs8LM|X&(3rzQzU8p@Vy+ZMg)O~&oQeIv}p?6MEKDY zR8x9Wc?4#5B;x<5aAjPEkW@G8ygXwpdoM?^POKLn-FRLUsOS4lvor63pBLR;wD_io z4H4qmiT&Ok2Rm)O1o`I}UNVTcWF@&L8mChnM(mESX{`@`ta!;cjrLe1V~ z5z$Z$5e&~cLfZN%{$Q2gAF} zGb=mH#vL;@LA(~pFACp#xVn64&6}3;K}oUMJB@pe3)zy+eQk`ammrH*PEC6)Ih-=R1bJ4y!zZpv2Pp7+luYLYd4zNHuU$J_&)aWta;`>}TG&s6r5{}V6kAn0PhT^r2#=*a7`fttP zJtmXUkfX-%bt?Z7=gBsHmNyq&(FLKme|>IZayfl}VXp+OP1ZX&CVOly=%OsD8WTJqKAep4^to{pfsIHuf`=u=f<{yy-y*_&aIR(vVpx zQJ6Or!{B)#f6`0D-eZDZFO@_GBERvx{oN*$LwvX6aM4WFhe|>ahZyB{ zcmiUZrZ454@j61oA)t6EY8ryOcW9|^IW;#O?EvAy_zFuNLj`(kM|9jimP|y+YNbhZA zb7hW$Qnoynn%+OoHNKNp`$oh*fwqGv53b59d3y7?pY*)&<%u>n*DUyKsWQ!IBTxIy z4o%`ded?}`G&|?xVEY}Opm8}|)Vi?wfCj%iO>RTZ(+-mBp0IGc_~jWlSC97}Nhm0c zd^mL;-}!hN9Kw|sWt$IhtBJ8+zD+dUs>YH1AH55(I6o!?yt0^a@aKlR)vh$?9$YS6 zCi0F4*rTd3BAoksg985I2hzaaFQ@MJ@FFU~4*@7>0 z2|}SCq|b<(b^9K3B;>)!_(qdthhSiGl8$Ne@q3~sN_3*e-tH9HikC1M*=C7Nw+M80 z$1H4(S9WtY8FMWa1u3lCK(W~_?&O-NKa5GqS$8oO-{Tx*gxDvKBeWVp(Ei)*`6;lj zy28R<-{+;YGP}bJQN^m8C`?ik%rWd?;s6ucWFm2yXc4Kbc1V?1sn5O!E$r@X*^Gn^ zJYJ1B`#r0ddJ%GMPV~w!ooglwVfN#ZuyH=u3_}hZZFzz(g`M1NrgzJRk&!}M=0a}O zDg5`ndkf7Bq-R?J`iM`&MzjnHC<`Fkdu^U@xE_!S@xDQPAsPVHHfE27vjb=5^_mI) zNmyEAubiwLlwYVszzOpCbXZuNeZNa62GVhpLUye;`#CQmAlLw77MhufUybyb41 zr>9hio1W^nA-n$^S4OF+v+Cs-ee<^v4F1rIV4EmJ6l*Kp4YVC9+@SRSW{F3y3*sL0 zHc-I9_jduP6JeA>mJ|W5y`yq^bH@e+L!ENSIJgp0+-V3kiP$?NLPDQSdvt^YP7b+j z*)lhmPv;a_+L=@I)!w~JnpfArVU#3G5}-y2^yXKJzbTyYV}p8S(zER58%L;C@mk4#p@d5Qpgb%*;t&TIvL1!_^lFd@2DU z=HxNfw7oW}3>b3_w~<^H2iQ^=u8?pAoeQ5+2P16@gK#gX<11?IEwM0Kp4G1{$O{!W zL$Yi%%*LOzdijqRhlMnpi0a)BzE4R;90($d@_rC@Wlh4|Fv9IHEs^9c^>}!r0lvH1 zro(Xrhvc00NZ&}^edKBPy%#A%p`sbDJTaD$h!`?Vsgwmgx&9{(q|Ul>`%B-obrEng zP^=g7-XMhH34*@8L-ikn!NCocVIvp%+-~BF5GqQE7nLcjTm2?LG&>rxPcG~A9I;UL zSYJSPOy-@?V)wYhreiybOG`-M^Syp%^bf>mEHJ#Dk-b?RQJhzz63YiOJdcq;h~4BBk+(F@Ym z!{My16SFZw2=5VGn_x`Lw-~|y_X#Bp;$f6Mi=B<+ca`WZFYx54Tv%?=OISF@%m|a- zw>^H(IJxJ7$#KMsY|jifQVKuYmA?kWIah32DDqsfUFfc))V1uOo{Rg&wLZK1xdr*% zJNvTGke>DGPja5%aF%bRzK=IsTDQ@%k2Xi0V0&fp?+n;4gao?18_4Rk*1kt=HFNB&1>^)*3-$+wd zY*HafczbhmNijFPWP3q~(t~YmKY^1%sYrS#+X;$Js_aOxUjLOz3?0faaG|IB=Y?F|+4(tveUcQrK3v8CtE_g(wd;Pmh{mk< zLBoV?!Z&!hQ|D2+J#tWm!dyx_1MwRfS@2e|i+zLjw0h=1$z-=Yrt}dS zzyCWaYfZB(b)QGbYjyQG16ue=%!B-dU~wT*(qs*FL$oynLu8fB2`s!B42{UYh8Vq+ zM^}ONbfs>?XS*~SIv-aein7HHV|kx)iOs>^JVXeqa?%z^SrE`Ix?B2w zOYzm$VmUF$XbTFdu0Bu=*K-W>`V>R`HpVg*qEhHz34wq4z^{woG=m_+y7Q*nPm(tH zF4G5X(&0XA&=217>S9j?CPq_2paQ{W2B#28C@5_BA`HpEz{GUd#I%^UyzJ7+`NGZ_ z7i1xjon$Pn1%;~K`x0NAkKWP}sy$eU+PEx%TSOnL6HTGbI|o zJ|D%aOlDApbVbzg^;goR_PWj2LRY5vGL^?F43a=0Fr!nuF&5}r;z?aT3+Z92|s_<|wK=>pWeeI@$9xQ6h9H=jUf zz!g}U6c$>G@{wqcQ56=H7Fi-7A62fus{YDH^eilwdLR-3)5`Akbu|)%*gNZMR9KFk zk$Bk8p$KeU`eK_p1=XmSTeM18`OK#T1bdx?e!|qQ97KGhttL@1FQ}j5OK%1zAWU|5 zlJm?W*K-LYNTjFq_a?u<;jBTw>R_m0^?iBcyTJ_o zz9*ADkxsPeQmI-JfMkpK{wsy{N0O$S&>LLr8)p5=)M|^GV0^k{?%Z@~+>KQ1oC$~* zhg(ZUrWU6xi)ib!2OGTKbBj5mX#_68&(ViAC-N8s{+#Z5uY|UB@8+!ZN+`Xrn5)qa zo)$Mr{Y8iao<|x3VHr~Yyv2<}JN6I18k+>#=5lVai}3IQNm*Ad+!adHRr_s3dSh}` z2W;Z^-jwc#?41}q%#96Z%AVa612?y44upC$;HaRi@%|?|$cE(O7R1HSsMc+2a!T6T zYP1(wMnOynY~%!jj^2Yrx6xDT&#hycIbUszej<9Wn5f$|ClP2Q*l4M#1pAO5?GtP1 z7KWtN=8eR=s0AeZI&HcPV&>m+S{!#&oYpcLV;5y?AO@{kVnSG7+ z1yq&bX4&g(U07^JVNIJ>Ik`+GaPQalT6V(+!5A2Lc4#rBG!wQIF-7IOF>SLg5>lh4~QV=~Ci~k{`a%f*F ztJ@A)*o_-gs$x^Mv_6Q$*0mn&7|056!3kJ+yFKcux;yk*nlsGcz!(D=uS$s;(bdu8 z>L<&b{o=4Dq=I+y7*AykKqfrt$UxjBj01z0=BRNAXROtHGpAVXz0EFsnsVAD_htKF zhdc%9@yx+qCIpT_yXrz(IXdHB#t{+aH(^g90rNjhBy- zJ0GT}rdht7Dgaitiz}a?;DscIeSw~n*T&ildPIT`g*$;SZ6vUxR!Dt(^-|W`;hA@K zi|0}n++GscVf`GiVdp|KV4w(j*yhSvU%7IKL4S~MW|ZJBPho?L5b%VSL!@C_z|up4 zUSZcB;A~d+{2E`Wv(fg%Z~JWpR7OJHtlJSsQJG11x8J3TJj$(m^TMJgKI=C@sE=~? z!X0oBegV&tlbs2cZaT(_l3e$-j)05RH*6#t7II6`BO6&lFyQlPA7^e27B9`&_bkS8 zQwqvTAFVbs2NwiG39H$SWw)E<>hvFN3qMCj>R8>pL4r7k>Fw2`q9wD0mB^tFIVn<) zoDuE_AIiCc-CnrpkT(#GOm1(xYiwv_Nm&4{SN?OBkl341plxu$VU=FjjwDg6*iKrT0AsOTcnv4KU`J3Qs+!FqT)?owrS@7Oun;sa%4l@RY{f@xZq z)ef^cyNV2Y}@o46HO;KeIxV-j!O6e{f_$>4EB&iXM`Fc zH8Rrk;{(mZPqG^ui$El`8RS5E|Kh!|d3KDPc&iK&vPPd=;NeeM2R3NtZ*I>pv%w!$T+B7xl-_y8<^qFKw9G_3TxGmLDxxgu zoSeG%7x$#Wa4`4t#YC?X5}`Lh)6+HQq4`WF7x-LYFlS|%I1QFe@?RBkfZ!9-fHv&S zD&rkt%K4>%md)$8c}9796STd2_Yqvn-@hXImxdO3VH?B4Ps{~P@2#;uHLZyd4k=I- zj^d88LC-m-%ddHRK5ZRkT>AX^TZf8DHnFToq2!>-s3}Jv{uTiS2FcRr?r5= z?KwUCoQ(F)A%@AbmtrEi_WfZBZ{LE00P*;fcM|d(QeUSnb7zmHbgvJzX=07Gx5-8m z_Wbu8S~rSU02$pV8FMRs?e~G=osYaz*CL_2mU}fmd`~2vR+QyjiAR3PX*G0ps|$d+ z*+?r_w_ACa6yQZh-qthMuaL+<%Eu&ZY<(R0RRSU~zcIMDs==vz_zK9vH#r{oObia5 z4e!Ryg3XN1w_XuGti$K&rX@S!$1oDmU`V7;6{qxSx#A{t0O$PaHoyzxH(j-j$I~Xk zg-Z>ti~`j66BK7u`hMe(PlqoEq`Ne5M$<#r9Dk$}j=MKsd?SYG4+qjeosF$7H$S8(j%Q?oFlxutTozBNndVJQ0o`wMj%91HGYNM?7)w70g}D@me;qIb$eTm zp~dUcv!fP`#sYIu=#mBOR&&>%il~JAN zBJ_CUKdC4{WBt%l{QcBc0r8r>!{PSx8dH=-gbz-V2O$w~oCXL8++qWUm!e%GJC+3t zw`6lN2h+~H+>CY#)veRa3s#gp%Kvp8wE9%zcu#YCSH9qNe?_Tx*l*T);lYVObe z%(oG31;nqrnQbz{1PrC2!u%S8p$MgjFarIef2dAx5>(hD+d@kdQ7hm69T=Tg%~svW zww>~0`2L(J1pAvZc!A)g$`eC4}tFLSmZu0lT)T66P(1y81kcxs7cl^2w#lC!|y! zhUXF};7(#PYCb(d&8xz*rs|Try}NHW0eN|GY~+1kYHPd;NJmF#Nw~;qSY8l<_s>4t z_Lh;b)u;x3zCVkjg_q3BelMY-Ew3eHFD4e)++3Ot%va=MWUOp098OHaM&0t2pru0e zeJCxVi##L;GOLE>7A2*_23P|4WH2J87@Rn|#CwT7hYzcxeUl+g{X1L+Yc>vFgx<#E zpsjuJLo?-k2Tyv7r=HFJv(EofXMiPnziGf}Talg;lKA1UFwvp?osE4#=*L5h#qkAE zbW#)uAhRsA8rhUv$5EVFnmaK*H@LXW;O?W*Zt+Tq#P%Fi0a9caR)+`YM+b)D&rm9f zfyA+_MFhmtpNKh|gF&ru1Ktj}7Yr)wcN8dSqWAIbAq{zRNXlYZav7vjE>RkTO30~E z=nnob1!9?w?OJ0FCC9$xzA@A_-1uhbdmfg2XlZHgJ;!J{#Jhv}D1L6*I1D%Xd%pkQ z#VWE;FH<4=(ymPh9x56%0ErCMQ5_13Go`3{E>k% zj$s;nMd!A&e5ha1df!$024ZQhn9zIkOD-p(HLnM{V)JeN+ZNrhIs54zW{L2b49T?y z7!ekeCpbt!CZkW7@X^OIAPhLDvfe=T+QuEvqR{82s{UFvKwk^BNrG6SvpMchXy0_^Qy{D?Uf<%Kn#me zv;8?X{WoR)^PTr7*aMJA%EqdJMfu~IsiBUZyZPxq3}-hv1iU>n?LgW%Xt0fuBK#HB zZ;J9i-|*8nuPR3XK>0fEDSr0DiVeh1`~5Xye_s|41GEk> zgsu%L|5RW9f7&J*bFl9i7dJ--eDAKFyl#@Z-MkdB4`r38P3f}${DYk#4NB=wu{Lqs2&h(@&D}c7-0QNM=zwG_?!=f*}%h~R2cBBrb zB#mBniK)L!h*zF;f7mapo$j-n~mS;gykn-Cc0EtcSOCWFKi9eaa3QWo%c8D7;j)m zOTCt&SzX)bBVoY57Z{P(nEB*Gm(P51@yunpVZ+Xi8*kkLD7HHt%Bpb~M~xTiTF*MY zKU|&s42OdDjjW`U-rNlDxg=oWXsA|3pZsSt#9#f1AC_ER!V5A?-gSk;@<&8eM+J?) zXCXmbq+BGEv-|=og`PTa)x_F-%Vp_+;WRHizLa(VZu9mvdy}GVD zzf;^5Ww)4cbi=Ngyi?7|=Q z?cD-t+TvR$ZpeiB{{ck-T>B` zlaNrDp3}-fR-p=@xI&1SgzGHQt(-R@MMX|?X?kpRW6xzEsjC9zO@xkSgouoEkhd2Z zJ+lt=icNKu$bC%c{DoT`=Qe)V*Wu~G$ukRE|KVnbf23mCu!#jA0wbTv$JUfuUfOF- zaf*V70*n^5QoH(GYKc51T$i#jSK$M7rI6l0k^@Q2@9604thIV@OWI|G2gCdO1hYJ; zki@g!IBcXd2TML2I;$d9)f*KEiHVgyJm)7R11re2+8dF z8tH7HFQ%&aRr+;zAf9EZ1&h?t z{7RGl)|>-FNT94SzP{*}>?sIk-Ufz1sYeqbr8a$-f;6PY+*kS8IscWJXfq+nXpv`E&%4zhscLjQMa!0N zCaEj5bJBa@XA=qo%HFT-;Ka|nyOQ-Z+{9F!Yk_Nv262XmFT`)<73XJ{p(EV%!9Inp z*Il9P9Yz3=tnJ?=&YS3?8CUZe^CnXA|w zI~Hg}_n>s`Y{p2tf-0YBaLo)sRY84BG4*R_=hE z%tmr@YtD}<6uVxoi^HsJuCbDkba!_*v}6|Mfn=bcJ-ynIqR&{w;3a>}1I^Xg5OTZ7 z?c9B38oj1IH&>5NZm+z zhwr*C$}KMS!~AvNdlZ;QFyq&PR219|GSb6}`}^y0^&S&;nGDhby6v=nS>7(WEVuo= zoDGAVUHsK1%urX?)XJP!ij_439cQ>=uyN3Fm34eZS!WV-DME%9o?~R`_MnSWGdZ|T zx^&oinA~s^&~PLA32#9&g^r${^~r+!a``xu-HK+t#j5ASgIH)Y|F@0PSIyVMJvzFO z@~b3`Y)$2i(a6(fZae;ulk8_3FbQm?cQZsyciXCX>FygZQBqQyriN9V%^*UT>fSI0 zCB8tTa8gsdP&%oss76mV86RKTFtKj+nD?$LNUM;#Rh6!5|=qE>NW zVaUUSe7{_pMj!K=(3i-k=R*6ZDxuf!(G)Rcq_l^1xGmm?KlIR&<-g``b?NsrL7qvQ z&|WXjsN-SfwN_U^V5pZ8MzAN*Uj~(G8LX)>%4{tym)s%WVYoICK7OuvSOUg&vbL!C+DehFA}Be zX>fKKjuUY5gZCIAM+naNsi1@}7C6@=i6Hmg9u3C}uS@Fr5XCe@ib_8&2eU~&IDMrI zphG9}XwjV?zNaoUR@aypegqOZnP0u*htgbc5otSwrfNN2U5$2(uCgbC9&eCG%n>H1 z7IRluDd0j7A&Z8GO;UBbc-2JG;7C zDvKV(B?2z$BxF70so55vHJRjw1}g}jdmk(EUdNKRqkco7WOBSe2-4f zCJ`fTkVv5_WFMIGGoX>B{9tYnY@>i)SD>;wrt4jYPTkl(LCt9_8G>fhE5lHC43NzB zd=fmi)H6_8lt-xUXARoB9U8F?g024)KCgA8tl5O5$b7PNbH**sE+?XDl92Iz_UiuY zHFNiJgKGu$rH#Z*OLn0XXxil{A8@JG7cgjEA;+gLy4Li1jEzqRSoZ_f>^aD=yLP+1 zpm3xy>J=|P{fRK4Dhf&j;+4^N++E+rZ3$coU5ogEl%0NTTaS(<(R)+hywT3Si#}$~tiYS@jlG2| zX0UPdf|gaC*_%gGR@e69CP52>7inUV@mex@>v=ir5%Zbn~lIJs{=6CWQ?wl!KJ-;H}g6RJe|jv zgnTu+x87KfXZFvyHNaD{WsQ*a_}@3gUyoOf2sSgiNwk-mV`?N6SBV*K#@97+h52pY zZ`pH1YaM;l&~dHfG^bMUr*(to!kut?sJ#TI4A6xsECz<<3*nrObL;TlZ)ss-cIU5m zvmbza4l63g1}RG!tL>`lN}eZ+CkmYhpu+#*K6_`r_|H=ZsRxiiaJ#R%0k6}HayrdFnfWn*{q>Nsrbd);|P@~2PHS`IIEJv@L(%Z3{% zlyC_CZGeBWzP*}N6)4*Z_SP%la(-*AVFpgC#{Yp}673BW+`9oRnfM(DEB!{oVP;nR>2E`D)@um?g7M>W>+4c1GV*=@%;=Iigy-#r#eDu~*tysi3l? zrRL_jUszijdTn%MJm5(En`>?0Pyqy%`^ObdOM-zE`&)SWQbSf*OJPnH zE@k(|#)ijIFV=1^JibK2--O+wtlkF)2lsuZirr#ENl{1Vam}~kX>5XRfaa~Y+VwDS zHL=_k&<-p_(*wH1eYh8V25Y&I(s-iXmWOB~${`b9Rb1{280%pjq*^b#AsA8vrP>!E z=&->?vMGFwDkp=(uYMHZe6mg&0x0&n?6IOzv%fF(CpDC_AM&O~hP#$r&ve2FM^3nTpunYMN0;9Re_^!+njBu>45dda-Jy1cLAEr073UxPZ2@puT3bIm&f zNgUs?$4&`7qJbM;Ku837#O~^vV4ST%0xNfIBVeX-D6f$4MO(KG_H8 z$CE?kJlPQ6B;DIIgVEd8#&T+!;?A)qBe3Rr{!^j5`_K_mp}X=Hcg*f~iuVUx2|n5H zEe$aU2)~&1SrEyxGlq_^9r!%XVVtsAa7V=I_z59D%rOh6CIK3nH#Kp2ZtmbU*MIS@CMnxrV>7eXtGBg-bjIyq>8faTy%dfHx!QbEWxoa-d;*-tC zC1WKcnt0dpJ}JOe$c=)F_o0RGNL6KKccHiy&5yEEq~sk7fi!X5^;Ytsb=^*7Q zRji7VhK71T;MHQ2U1V_;6lB`RbA5LT-KOKQS``&cj&}nL$pO;tnQVuAm6tYV%F?N& zp{%GwkaY#HzRf_#IYzy%mr2LPeZ8?{xjGM8y8D%F=kYo(a4-Ogw?%K(P`~uym zYTyL{ua=gEwYfO~5l*G+w#AxUI#KB3A2F>a9gx)75&;!|_tUn`rYtBXU-yy1WK~SN zpV_S}79(ofjlA_FW!HW8Eqrd2xG8p6-q_jkJWXX4c|o4tQzijAgzV@de;IMqW(AeT zis2(+>{dBZ%2ea|X^0P~r~}+bXbqn7isv>!NBo-z6`KG$g6GMlim_Bk500~x@c+Ts zSBBNGWL@KK2@u?aySuv++#w{myL+$%3+@)2Ac5cx!QI{6or4~}&di-V{?7M2{HP!2 z^l7?xRqeg@TC2t<)bQ$mGPCUu`1Lb@!4KvD1FQi)hTX!ZVy%t@)Z_m=btEwucDNXt z@$`B*@7Be+(|0Yv8Pwvqaa7>mCiFFlolJ<3JI=8QkUaU)>_h^LGPKKwFoM3GP{xeR zPXyik==m++iC%N!E9^aR!vT0MS@@Sg@^JQ{v3+oQpOMcaG+dME47r1_6Zx}$wof`1 z39GjgR2Ez(s^2~}DF74Hhpgum)BJxshdxF7jj35J_G@5N?V)A(xk2l2Q5YRDfAxnmG5ulBfoJ8_sf#wDJ~?k%?&=Q(9{L@>U`&g}nG zWVFguak5?^JlQHjg0a7sih+H2vO%{;frY5y&_eoMF@-XoMzn+p?HjhA2Gb*AP zw40KiQR4__hK82MD6%zmH^wd0C(X)A8TA8G_P8cZ7$4-CNT4GlkxiCIP~z)JgT`}23g#*+72 zy>Yj(Z)bmeirce5;ZmW(FgUGxRpOr63C+{KTvgsutqY@&&H>)YUKJ9l%4&{1-F&V+ zYFqOqJ+pb|>`V`{@?&B{{>`XPqtDmg2*tq?_R5y~ulu*m?Y{Fv;*111S$*JZP}*V^ z6w{a8kp{aR)u;)79*66x$~Hka^72yrF6W`x^?(B8JsNh~@H^mq`PPe7T?KKjmpT8{ z=kuDI`HZ*(hcVkZ+4j1L>E+9AFazjSMV?nlZHfB3e zC@!_WAn-+eLGr%?FDYk@c3dkJnLm1Yw_QHP4~||Tea2{cIlqXzL}FKChf&B(@L0N` z4~BkDc>hz@mAm#9En7$Gzk%3Ti#9P*h@ zLbk7hmwNlj-rJi$Zguu-G2JunI_x-~7>dB!c7> zyw@LrvMda~KcP3xLuUO{nam$2m0!50qn*|ryM;v2(RbCRr%BU8UzR-DnIJ(uPATwk zeblE`L$)3OKhpkShi<2C)aVf!oLMfVWrE3FBYfxNtst>Z;ch@N2}dynr%oy(3zdnK zKthi4^zt;s@6aP28KRFo)?UX|l(P*aM!h|s#9N#I;DJU70tt~I2)ZQ^6KpmlR1E3& zvd#$ECWsF;j0&3L_VdRmLq^v$dgy)z!=Gvww44bsQK96$*{1sX3+-)DZi>8^3k{#> zC`v!Sh~4 zpV-)1(}f_*b3)$KXy}KUB`*%t%a9+j;bO(y741%K*C2ECxtsjz@v8{ZD5Y4#&Gico zeZFWUf^DZHDREz}vlhRDgo_Eb*Oyd;Xg?Y+KkKZW35HhE{Z#A(ABsne`2fsdgy3Bz z0_rY+2mEs1&g@3S6DUslc;DS!FIG&(O{Ocx7PBVk@g+89eOx>;D1&CYS%>Ahi(YemRwd+_5a=KKy)!I&-%aQ7 zVw(N~?@tN==pn%gW2{8&1j9#lg`f7asm)~xZ-!ki)`DVf{N@;~w<9uK@U3hX>mE0# zvnuQ@;!tzF`v;hp8%*cgjr?CulCw0au4rh>^j}ucUfrilpY|BtRbxk%^MjHSZi|n} z9915c78gk#MyA$m7AsuDLY?;a5euZ}B`Hmv5H@%nBr;nh%mool(Y1%5W1b}sXc;Sq z`$wUFatq%*wZ1&r?oPjL1WF{J2TL+zN&qb*SRzC`g*5bHUg&A^VncTK5D)!;Tu@M{VKiB~(x5FlwbrP5K!zWdT9736* zlYrxqpg^KR(n<@x^=G03ZD{J88 zCsX~d-n`dMdthX<$oP~8!>F1bzFSCDI40m%?}n)oG6*>%Rd=S?JMJOg;kc!N94iUk zX&f@}ONx|T?yN_l<5K{%6CMEbyE{(?ATlCM@`_BbG19_4yA-RBW90mb&}O(MmvOE( z);x2S>33J*r>HDeAH_f>5ov|Im)F%45)uP$Ojl7ZJgB3%s^N8s{wUGTY+W7NN0_g^ zS?pee`_r>GSPgjBAuSZ)q8sRVI%;#pEpo?aTY=)tAhARf%lCow#j!1<2B?#|B0IrW z{A}xDc({@a*h1L-5qZ}Z^LI@frTB4QWrPzr?gS|6!>&n1#LWUVF=qR>Ny1^?Bk+vN zA@QhulDUO|o(Z{7%O~!lQ`Qb`0V%{p{4RHKdc!`5uqoI&F4I9;&T)@8C= zTaI0bJ>sJ85&4FPM~!@!p!M3l^eCo6b3Z&E4(#Q7LHqlM!8|rMH;KT#)7M4&QJ33_ ziXS5!LPSL5fUmC=qlR{KfE4HawE3e5&Ca0A5h`HymWZz~p@-)2rLXL)<@{2wYwP4d zh>W$apx|bH;AdzrRYr;+a2{%R5VV;>YL1QAKeLSfj(8hyV~XSj)!p76V9wlgIrwwa zl5IK+;w^W(xw?&;gF`3GJQ$roJ{Y#P$@=1amQvKciGqSy+@@Mf^Z)mU+bTOh<;Z`IL!T{RI za+UN&v}kZ5WU+Rj;)^rohkTN`qjM&vvN+;klx5m%0j1284I9UMfFpzG_)1e#aBhig zeZP{Pfg}R&T&fd!TS!zhbkFeddJbd|HvMW`b{!S()9b=mPW7zd1*7b(&8}FlZ56pR z42S%T(aSpF}ORHKz7xek&rnOP%jyzOujt zgHJ>1i>Q0V@F2<~cm`u@6f!Y_O*Lm{74dLTh4{V{g}aJU!$2P;BE22P!^io7Bb@E~ zM4T`4HJ!x&O3;P@UdJ5DSMaL|Of_{Qh#dc!Snno<(o~~A3Xm>!5AuqT2Sdrq#Z30r z0>mG)ZIuJ(eLZh1#!c^hlv&FyJrw^O`|N}q;fkC4vjsp0xb+1F)FBcJsaEcgJ@bzdf}jjyvdR; z71&_q)hBp-x(^REd!rfE{#Vq+HsoXS&d5mF9*5cdpzEjd$Yat0+LB`aZxe(!oB)Yk z%czk@h_7pHPEY8K0~I?w6xu7Ft6DAaPDB{c?E0bePQ!O63bdEa2uG5Cdbb;_#lg2t z^`BB0pjXs^KwWiaL1z};^~NcSE)i)FA-`|DKZ*>R17%-${Z)@zLbJn6MY%x%F#pTT zi7t~Gdn-h_dvavDA#x+wa3d%skfMObz4WPJaQZ^JJITV&tJvnUDWW+h(NQ?lDj_bf z4uS_b8tho8{2z_juvFKUG$uKp_Zz3|m(+Bm?!_`+ecV;?x~><8_C0@d!4E1D>G)wX z;o?$kj^1Az;6fWK^mMa>K4-fGD)X-Femhb3y>$0H!o`$2pu|@@5fWofLGkl~@4AFD za@Bl}9}=H*6w0fq#o0hktLuYpi#4N0JkznRH<&|VQaOdvX%t2&DT$`agQ)7bqE6u> z&Cx#fM;LE$V(W5r!)Qjo$dLotg*RH}gUhp0%T`{{S({&KO?FL~;CHfO zwqUS3F;Cm0akh1xL)&FCyy=5>2up#vo0v%O$6i4KU!yMGfUZLO239=?G{`782N`9! zVzeo*(;;NvIH@vG^wtcLxaE%1Gx1Bx70<4wCfnAoZ}j?+4a@&O%GJ?{E8bvY!IlgzFqIzZ~gFt8Ouy+ z@Y%Qq>*o5wtkST>`Otkh2{owntpbOvtx+@E-pt7zgf;EdL^XH3Uof5el(2C>H)|D+ zm~gRJ7Zrtlx;r<^ZJEy=NX;O_*fnm)i9)=b8#XES5%NdvNr@T15ZCdobp?xyh59?u zHY9bW)D&FLONG-kQ|FK9GVSk8P4BnG>$|>@xx}(U6KsB~H8y+wdGs2GSBQzwetWEg z(4h)^)!BsO_o$}7+v9!kRN_J5IvD-jm)oV&?6@b$%`|rkA7YRbEV@Ia!vF^_PsnT< zNPH5yNKAG-o>~YC_3D@WPMF(Lu6L{-bc8mHgP?aetJp^qmwBSO8{X>&66OoVUwb-x z;VE(P1(~91lMCpXe}d@U;vF^~p&K+G;vhIyoDA6BeY(cAvRSG%;z;EYA}$c&NUPNS zq3xlbnfZtg`uN0t8UjU`w}FjpMn6N)dt)Y1Ci1fCEJl-E>s?h_JE3V$YSY))Ld259 zlvd{W8QCO{M5bT4z|;yPi~iqMhj7Y(1jGh4@1?XJ8t7b~u@u~xE}Djd^08sbn@@R@ zS#n61A=Ai!{5w~)ZStEf;J}fjsZNj_-Zi(h($ytUU!~rxhl(x%0dx#R0w?B|O)NG- z<1HHjZCF`F3cCY2Qq-%&baJ8)IKuDv$=taFDpF|eQJ+wE%>=a$#wc+d2L<_g6i#Hx zaS*13!=kf!bC!jRz}QdgMhs z6VJRo)8KY5Fg-rNJpJsMg+UVi9WaO@NmfP~tP91TolWY$2^wTxM16M+uOrT6wHsmV zU-=pEqS{@h-&>p-KPR>S99HJM+Q_zv-+a9+F^Vnm1}pg>vdS=taI)BE60tpKhi zz*@kyl>W#u0)GR$CG;nhIEkX{v!A>DhSc*TFy$E-%P=l>ur)}&8x;AREl(|(FWkc(uJKa*H^!Tv z1e8q8E6i8LnPw0-oGfL}d!=P4e66JZ_RGIk+V)afG|=DmYptCG8bdW=!dajhz#cMx zH)xmFams6|8(RT^)4ncLSF}VP>1X2Xvzsw@p4&|>2joc zJgyTQh?vM#igsf&16qhIFXv?^a#3hMY}xHB8PE2f}kSDma*{5n&6lh^ba z?!I)<3qdG@@c3PwI83`|N+K)*q(h1GyJ2QL0X;s&( zKqt-{J$rDJIY|&eGiAhsMm0)D(c4#}x0pa^e3W>yf2zQYQxH)uxp!E`Lc61wplH&A z+QB^~M58&z##0TH>tj0agkeXXeY~!_@R`l`R&}X4Yj5zqZ}uO z9N=lHXkT6=6MVhhx*Pa;dn-hpCB03nVH z(vQ+JNKStFv>yw(sFaBjpY}EE@(uNr^Vfbz9gNRIWh&}Bjnt<^If=`zE1&PRyXen+ zgRMx%S=VP>JxvY#-YuxLKSY#AEvd8$TzIu6f(N$$Q6)!Ty7C|8A7yW4Cfx#r-c6~ed?mc*f z@dUKyRZz`q^D(sH=%Jv}w*lkP%TXMb{rr4WCTVC>z*Q#UO?J0&LPtlFn_(x zu#?E?|FqZK??_H+zWpZXeuVy!$YtQEWTe~{kYw;VQo%dHye$amhfqw&`vgftA5DMjmg-Ho(~hC=Ra671FRe@|N|KK-^S+7^i%v|K-vA+e8% zo6H)C6R8oA^0V%yFoNJZ-+i5TzXo*Wn(lwI z?Tp_j3+Ta0ORaA#DlGih^UbDC5u4My zC@Ah4$u#)XHZgwU`riOnwom(+HsFaM=~`ZyOn_AVOA2nFzaPUNfniwT(L&Ur6?7VepDa%^Ty{sEr1r2I+tXWv=g9eU5 zm)P6r^kajAJKcGCD4IK)_a?++&?h9)WJrl_Vr<}L{LmHTOVaXT2E0AxdNZ;?c36k_ zE_Zd0Izoow9Kdhuoc)ousT!u=kl;Bj3?rJTOrWbX6A`u2Vy^%E@uTabge^YrtV(3q znQoL5FCdO0-3oZ!voHV#8h-EbRhGi-epE=GHo;l)Mi-cA%ueg1>A^gBi8+u44rg+q zNlWh$>Sq#Z8VVtkBm&hTK4gP(%pxU^R8N5hY7}Ga(6YmhDaL7d)m^di$#-0yHtpu8 zD!{Jn`Lt8-mXI$sEfqcrAzIhPqhp1e33D(qd&O-=H2*biS=YN;2WMRlZ}MrfeZsit zNBibO4=XoCTWHm+Uy^WR*+Rr(BvA(giauC#44J{|-9^MP4+FG;W9dS~m#`-u2axZ56n{~P zKn4+N@c_&pQSsi#`|GzxU!_&<$fi5sQSOCfub?|Rw{NZA44vHpphQ##rA5fuinx0P zZ$_Tb_582gb~C)sqs78w&PCDPd-~DH&~&IftX;d=;IrFIcvUthq_HIRb>O)5kSD&p z0nVYlUgNB77d3$Sde*;QeAsVp zRlMHNzt)jnG)r8MAU$a|Yce28QE@Rd$1dEZsj*3BiL`s6ggXlUa~$sU?D+ckj3?9C6yhZ4(|CTgJkwU)x)Y04? zp{Nk~OYeAwdIb8^O&oK4ZA-b|II#X!J6!p5OoyKL++l$;M@ECP&r;e@qSD)V5ku6L zM5XtSp5EVeC+%k;mkUDcAnX?~3@lxk+$2NbBtl_m<~W(^&^c_ZJV+yBSC9bd`7_{H zW5KgSrHUn^huffB>CA@z{=t56VUZyv@l$U*XjzBS*`^aNdg+DUMHdefpD&QOL`31Rz8T{QcdPy=_8() z9i^wqtP0mH)kX;XZ^b1^%qgMule8y*YhlX{)t_y_z*q9dq^XDDnH!IM-BhX7u`c z!-u1%1vThr-|hX-+ug&>?ZZt5-Gcl=g2jxBKhyvJIiSdZV0S=ygk-B{0}q?EPjkP}%^^vgH&8Mox1I?0eCvDw*L-b|2-YT~>?`!zR!fI==$$OZJ<4hH7 zZG#7lp-lFvsiME|dvL&(bNRRLjkSAXRJ$*9hj1c&k(Ue;h4kxZX8SezuE%+I8j+y> zSWGy*?v%+hziUofZAR!9*?h)-pxyi(L;FWM&bstlfLhJcRbTZZ%d2wdQ@Y~GvTNkx z%1qXi-BNV>XM;Dn&gD2@QE6=>tt4BA8vxwY00_c;vCbu(VQbUTJTG-C2WWErtVNVY2FS zR%z&W>VCocwYm&ocL0aJ`&^yenrA%;ALIj^?Ej@X`QrmDy1)B*3etnayyI>&)@H;L z&(Y>qW~cGOCm%w%`OXy$( zy-mb&+TMJUWNL#tlVt2GNp;dSWThgCy$+Y=5|T(VgHFze(|8EXW!ONJgBeN z--%NZEL1w)(`fhptEJ$7XFR{FPAS-a$;KIa;cHx0w{mP1d`IPYRs6Y6ITSe*VsQs+Awst6&Oh1+jg?^}W zC|uxnToB+1&aHxB#E|-5k@lnC`o0Sk0N%=bU7L>JRa-8D-S!Vp7bxnVL zOaLkTFAs(G=)V2yVbp2pWRk1!8H4Nu;r#USFsHp&gWOUE*XC9cC&4*)Cly+}z%mbHaM9 zCKvo9zKx*qADfexx3_3m3bOb(%}xtlGg^jBbon&t%f3gPxSKbiSz_U@v$?8dxSoK* zpwZ=i=V}%3KmJUVC{;S6pJRxgx{6xVX&_vRq!NH#pkdzN;~M z!Rr)-Y#XFXN_w-kIkTV^yCc?!To=}yzHDt~MRzNPcDY(M)^t2g0Hi%COAC#bI*ZJ+e?Q4U`g@vCgaJ0~@Kd*7CKi}<~n08Vsn zd^JB13D^P^w3jvOMVtP@s3s}+>O;P@Kd?%c&u>Yrw(wuwHS>))w|IH zZhz;idKbM+J2aqGKcZFq3nw9bzZ1oMfvlIQ$`GRu1B;#4`kOH7bQ;diUz8A3O$&b1 zSF|ag5=ONyrtcTEQ%Rw`H~ml`C}I5~Zk+5UAn>dxYtE8Em?zAJ?-w))F}YUwD(B(o z^M9**|JGU}4U`WHh)zFB9^DKxFL*N{uQ)v1qfJ!QHeSApn^l6cMFW_pQF)->a~6Av z^9HH5=3b-Q5ODnJFhH#Wkw=*<$HAvi|JUN<->26T&2OdB{ybxlSwAZu8<%YQU*ur= zHc)Tgypj3z4RFk_M&J>N)gJ1!gSXVi(JsWyTSAHtjMbyrEc+lDmkQDLVc`s9InBQ*9IMPL>dPmDL| zXTf_Qycz$@oc??l|1t=aPXdZYoagcM#iruE{bPWF!eJudeCBb|oM2Eu-L!-sxgVwY zPdUMQALY1i++v2ih=$SZO2LDpdDp}rIj*q{CJSdxmBV!%a;DuDfpDGH;LN`kjUDs9 z_kkY4=)$Brs@+4BmldLsUQ{!|GuD&P5fXzX9Up}y<$uOQBekK3YD2J>3@sRicumav zBmTH%$2^6K_cjH=i(?kDzvaPemRrp}?0@?`ZSueTUfPPx7L$=#KBLa~pIRqi(6Ej0 zGqEVy=SF+3k;BPs7EP0QW7lmje#XFwrNQ_QL37~(K# zPN(A(_`Bf=?gq^2ow2xqI40G>v4#H_BfZp}4X@zqhAJ3`qhgomv)ok{&U&YG-%7Qv z#KK(xyvC}?1%f}qai4U2rKD82w!&-d=+3CYraK<8zQxkaw2~s4>EG@z@RdlwoC5QM z=)PS!XD#RuuXlQRdZM{GcY2&`DW+vbr)q3mGZL`m`TL^^{3@Qqbw4#)NQbGWcDCbR zg`6tnMAe)6$NU3mw-7z~S9dc>qkaWP{zX>biv=G_mLmE4ZUF;Nr5?!j$k=F)Pfgj+ge^SI(@t zz3fYo{b>9_nq4J-e(!I$lLFM8eUid0nUd1mxJj%-1%I7`e?~IXE2vDxnbJ@shFKw# zRm$p*O!0pt!&3N=Va_keW%z^VFPAdu1bgEDmiUnZ`JLm0FkN2NrEY&9+hQCQk#Aph~Q^vPiuGFp1%c3y^(`@0$y{_Xil{$&Y+ zFDt81No^|JSwQnw{q$=gphU9Yvh0#-}|N1%|K6AE6)AfXQ4I==2xA_Tnw*$pL8 z%GY_F*-A};D}4&S9a$1<$Y1i030yYr`4l~$-dJ#eGC}MoPs$&<2qi^8I7Cuj;*sLm7YXx#RXwT+P0pjJ)Bm_+iTu-S!>s zs@1}}bI&R5XiRwK)@kE%*~Ql?oIRP@5~gsqQ&Hf16<4hTP#*m|hp0_c|5of6(;%*c zoL>An(a!|~j+%O=slF6U9q+Oayu0IONTRd-D6$U|O!k3B>RNwYKWpJ`Q7p7A?vhYC z^nZ`Jm2mlA7eM*jxa%H|+ShKUmey`ElOJq~ZeFY<>-S)zxbD&$)nt4f$kvdRDm$*$(euP?Mrt zG|}*!;qXaV*rge+$n-;r>IlSmL~dwoF7A|CptC3WmbW0@!|0&eTRgA-Io@t~zkfaV zi{@#mbBcCfOOPn?F~oYk^Y&qghBz5M#3Y zJpSi=aqkh>cVke03-XS6%Jb_F?olf}&O84zW9$AcwSM1oWam(}py`C6>~8Dp8a*qg zXKlL1D*r#f{f{5mN`_D?j$Csd%KX=z=+6Yn_h;u9ET8Cb^e?Ov_g$)uGia zY*Iof(j~Gnyj3BdT3%e8UZ$#aWTa2{oZmn*_i&+gHJj9G&V==R-UtxHYe)FeNqF2& z@9hN+DmRXl{Wn;%{x+BX5hM8bvGMZjb<}A`Z!2k=53pK;>3a60*5ek_Q*2W{I;zq| z2PfztK_8GD0*~$z-x0oUh8HJCEg^5B);oi*DKaT17ljy}zsxLio?>~!H z-c;x3#SO;qAuq$h;G-TTjYv(^)=V+P{Lr=C(Qv)Qe}{&~777C^6LvyWxcFce)=j3X z^M8fsKL>11K=53LF{01U$NkhVA*<4esAw6tD?*Tc?ci(4xkr$)jdpTs*0yg(YZy@Y zfR#eB$(g7KDF_8KL92b)Ia@7w@vZJIK%3nHyffgfeA|WN|C?bpE)Fj}^@r6+g<3hvUV(J2>oQ^cPkuXnYhH4d z%}TL>@lZs=Xa0BCF46+pogkB?Hq7xpnH5K=Q+;0ho~{EE4$oYG6S7KuiC?0xF@=Fg z%z((Fua}$Q3D#n6p8d94F>`fhP(N>rN&nw4%s;o&KL;WKP-up5;v%Fp9p^)5!bguH zEXFeO(dk(;6bHp6_KWV@Hpx41yoyd&m2EAKOVb0E*}le^+f5V8li*~3pX*Hmy&Srf zSgfN*D2x(S+SuX(BLl3@ej(^|JbY{}0~v%U8|Tg(9JRX!O!q_SdhUcg_dC>QA-7^e zF7noW&3eL~+gXX1az&SgC-B_1!W_-#}FnFr^ zF+ZxF0mJTpf@dPXw*bl zM&6z7K`h}CM1#&NUYyQ?Stj8Rp`V|Xjhws?E z{mH^bqS)HkUNQS;UcDItION=9;mNWfv9=jKOURMQfAnXY0#mkb?RuiS`}%#RIf>iR zD=6#u-rYJ&9ZNgCR_2PThE4TT(`^Mr4t$J-)%SAIF}JHB<$vDN{~SR7u09}gehgJ% zu%t5*Wfm&MFHG%MW$ssN8|X1=(zlT4AGOY2ubkL-T`Vh@sk+#& z428zW!OdpKVh0$jb+<|aAIQ6ZVUfN}I}3Nezx|a^DcmYLUGrZa@mrQ<7#mG*>9Pf@ zAH0ej0Wkp?Qs>XH&iDVHyYySU!GU5(H=rB}!^9w7<$&_{ajgM0 ze!bf=5tS8Jlh>As4gYR!G1{)m<-Yjw-In}D?hXAZumE`HcXba|LT(vDOJ_f+2gniN?ic@^Pb*AZFmcKxCIQi%jCxEp2=L^9^) zmn-J(;bHOByD1!xm{r41)|IAbOc7C7U~q4gR*2A~#nr5fO6YmU10aetiT`!u>=>a` zF_`r^_~;27VZ~r(e=5hr|F`4-*n&HFr~>Tgq$y#Pv+!cFw>;9n*;)gEe-}yf)NHR5 z(;n6(Y^-j37>#`uhnWX#P+w7hopjAs>ZEud)Ec#%--;h;DapwPATYHTU)O@%X|V_S zwMN~SdTL*jL#MA4YSPZYaf`thdGG|$U?I(G$=qC-eN<9V#9%!?zdImV)#jo1zS&I8 zdmXYb!;Gl;RCmgIyKzb}fBfvu@D+4f5UC~00QVZB$oS4mz-g?M1pJWbUQg_Cy{e&9 z&htxOCcpY+zp)1A3wd`i&hW69SW;{b*Z|_)E3y}Gf%HyrFmU9R?|^^)eW-aB?;6 z2^+8OOt!Z)-gMp!neTjTaFZU%#l%@%d5D;Xp(fjB41$irj5FCA$v95nI|TVJxzv8g zzfaU;%-Z0X2Kn9AFHBL1F;UITO>=G(loU6p>ZYpZ_NT-;tet!j4}Ju_-sbqS)P3ct z^#UGst5+0$xQ)km9rGrpd8s=SPE9vLxe3KWkz5JV(Xmb*?IM#P@Te8=xg-||%b)$# zAk*@>_r}D9U+DMdB*h3BHlo{pR`1u!9P^OS*o*i@>cpyVt!oka)-5UP+R=!thC~y- zrvbIjmE)(;s(mTXnueAIdp+-WgU_c%>Yd=+h^BeM5520cInHUq*4D1l7p%^%S+xa= zc6L{4r5a77wjcQ_APsElmUOiLCbRw!6wrOjQ~NTwiC9mPggH~Q}Xm_ zlWJRqriC-yb$6{tLKv&)M!tuB%f3%LU+l#P14vt}NWb-QXDvXy3wjh{s%38Zu`_)? z#56-pzkYks{sNAiCd4xCQ2Vq=MKajXoSMPnq!kXOqq4jsDjOYR$Y+0;)m@Z4JRu5zB;dZ$Us(R_5o{_ei8_kh zCbG7;x-hwDI5%It5nVvOS`xs%S$gR3d4mj?QymByd`1uvaM$pZK)&`e#Y*+@O--TO z7j~PfWD6_7L_H6tvqAQl)vs~;V84_l)8Xt?yf?4IsXmsMmRj=o9By`E;+$&p!ZWie zT{NR*Wu?Xw<1Z5(-v-V_y?_SIS~S-hz5GmU@=MCfN*Wm}tA3Ug*z&*-PU4>rzQM%a zy_Tc35w1wke7+fpnP{?bbJKPDK5H~Jy=bVhqGCAn!OrE$1`MXy%h?NXf`v9@EL-&7 ze#$m{K2OhHTeq6taGU!MP|9#MVE8JC?RY_f+HsA$uVD#;dJ(V`G;nlB*E-CU87NpD z-LxRX%4cqjn{+r2*>469#j+_|9Wn^bdOW$R-RlSo z@7cfI^0E-P{mjHg?{wpwHvX0s3;B=ziX{{wW7)mn+^60P+HLj@S5SaTMN#dD)dk$3 z{`bNOmmlW4rnj%g(N2v9k?pP>Oy`who#NYLv$ZGpD;BMGv!UQQ2S zW&i=zPvtx}bat##reWk`A~?&eLG^gAIFvzJ7%DgrdCZYJlai4Y&Q|AnJX`=!9=@== z0g|X*q` z4zjpgmrgeBa=f=O?fS&BtBMzh33$ya$0q)mvZaLYi}Hf@*6cxDFrcB%g`37cd%WM+ zU1M2bDOMjGj(jWN%je7_>d@t0as*D|wV`&=^%pSEdl$@H$(%mtt~_lUsYW?_pw50L z{*ky)NJmy6y!Pwjk|7SCZK zU@UBOjigzG9M0c=+hm*~HAwC4@4ZJVPQ+4@(GVufYrifNUMaItQc$CB? z#k}i05nA{vT%B%zOHRk#!P)9^6KFnRSe+GVGMXVH^SSd@ynh%fF?gx-h@i>7sHab& z!S<&0^~1mjKiXQI4VU3ppR*l&&uw*L7)tbVBc^GB3RbvQ=b-Wd%ZT(RG>ti~Cb*hV zzymh{vnpM8qhbALf1NzPIF7)9`at(9(wxb#JLzl0U43(P!|cY_s_CVQFRPi)5&~Fq z1`35-R(Yy82;ykXjVqJdP@JLNv$m1c#Ebh1vK_f-k<&ej8hG6&nTknCR?a(~GJ^Rm z`UJK7{=}e;N(tuQ;qm*=SOKG-|6R0emv``C6su!fgUmlnZ+I9|{ND7j^2)4Gbm`Rr zCnO%J^$fH_seXj-_6Z8PN=7S;>$uYBu8W81fR{YZ7r=>9D9YCM=-iiekJ(_M;idx< zR7v!4GcL4nHn`7O*{DI^P-D&X;38h7Or5L~GM?%!Q?{_Jm{YxH+jUAxT7dc4gyJKp z|KLlCx2|Sd5jJUOXB&n2+G@4`#WHP{N&Z8B6$VzC-l9RbaTOV*1VFRN(T9o z3nUJ*t2=SWvb2Vq1yuW!=h?5;6f{fW!95Ja$P0vq_0~t}d0ov$g8A^r$vF-iv&ts1G#>eF7(MxG*EM#LR@h zD`(JVk4~x^)*h@eD4MEL9t#fFCf9yFxWrBRqhL1Xz^u}>sofdTCToL{J&T&~DQw{S zhc|8xbH2;&Yc;$O+{3vu!c}I_gXP!l6GXdyj>rN-xVs{J>3r?;eyB+38?Q{RYEflV z1agL;Yo3d+g08r60Hhlcndm8dFi$yV^s@{J1c6VHmt%w7!g2nch2wsm!@bo#v!M@x zqI02=E}y-wLk{HHVQ8bIblAO>&P>TwGI|!zOGoAqYeLIo<;$gA=gcWHpNA*u$v$&C z=zDSiB=?RH?V|;Vl_z{SWAj4I>|;DoTx$s5KU)Lk+O5#57H$j-+U8eB_%8sE;o_2( z{nBf0kggK^SlvIcx#;qAOeydV9UZ+@sZ5hL3eH!i>Q!Fs-F~MZ@|r8(Y-|UkSch4C z_9&x-8#=C~!cbb3-Q`fy;3Z^tif_Xz-Ra?d>82lm1%pIrBL4?Ai(EvU71AxCwU#fnsAk2y7HRs zw-#;D?i^r3UHo0+V>T#&N=?}&QPeT*doyDrf$wMH8__gc5G~YW+c&QDo37#ZsgG`l zhOQ$YiR)3wY8k z#AUaFPJ&i`OfWgLt9-NR7buHP$RDN-%bl^346%Hi@DT&S&i3dN9$cFb$(z^LA!FaQ z=vpbwWtAiJSlA!eBlKB^LY_7=;gv@-xp=AQQ0P9_-A2dnG25>=Gw`u-&{ODqx~V@0 zg6lj1bP1Y!+P!C%<&3ox=^(TJ4a6I>z%Uswh4|Q-DZ#-7V#CCFbtpi+rl0d6F-c0A zjYfAT60J0)-}^iWiF2Nf@5}ma3c+I}Ft;Zw*qoFJ5!n%p!rD>nf4H$^=x@)BMXl#X zBsy5`$<9_oMb+%<3LNux+~*z5A9d!1(Av-aav!)Z5+g)-=I?X<%|KeRPtv)N;eeB} z>w!WnSR$Sob{^q`*X0dCYSPKb?OJj!F3|8{>4Gt?H!eMPW9|mhJtZ|$yS_y6NwVr< zkJk>Ql+xWB$@wgI+%SrbLyNjAUf}NN%@0XQNMW_|L>TX7vT)cytch)U1HfscHm!G# z<`)wcp{mU#uqA>&C*sA;gmS)QQ=yXkbt&X+4Q`Bnt{JB!ot#|=dP|CwUy7_aO+AW~ z;RMeX8E$O3-PGFtb=s@REa|B1o3zRAA+e}l#p?^-(L;X|3c^w zeBHQNW;a7XzS|Vkwbg9e5I|E4*)`uiYv^tuP5cM&+_6su0gq-GXcg6GztBu@T#BrPfR6vXS)bV0^aW9-oJk&vkv4@41QJ zMZ^`XCv3rZrbzEa>Z2A#{TH?KE}aGT>Zwe+9x}sD@WXDOEm3C7YV+V1FX)Sbi+4`m zxhefBma(U2CA@^^Y_C2%sLnU-@%Zo)x0#1Xjnpf&L3}_#j3kG$O?F#vf3Ah4g`z4~ zhnED1ZQh-$=LKVQ33gy3ajig2O9G^jNmc*aon@+zd9MkAnerPgKX^}2JAz*F?vK40 z%~ylb#D9v71?m7bO?2Cda3tQGticiJnOGJ5)q)z!qifxqds3zy-+jzJe;c*(ec&*u z3FT;Og>ba?syS`o8<+1(H$!#u&0h6uM5uW1Su*&OE>E?wyfLApzQeQ;k&S%H3Sp){ zcl|6X+TLcvzoD8PsyzvLG^nRSCy1-At*tA|)kcBEixOk!@cdq7oyequz=Ji|R{vna z_qVL*-#Z8ERIeSbN_G_WM=Y{*UtyFRTx(pdW=HNyK2&qjybJy12kqS1*H$+4ZKd_d zBvggTVf(r#FHUZbR$>IO!g}H)7LGNj`8fN<-sT?646bw9xc-^IL&Iy_|Nh4!AD^O@ zd|6D^D1W-vPm9|Gi0+Xe5D(xvV)yIS_n*>!SxlE`2sUy35XCyj_CYWS3eIQ`jn+#S zewbC`;RJ(MUOK;?trI8(ur z*DL;|prnJk%l7z@^HI#{_^X=dWQq(Y6l2eTb8;pOp^OcOwN)q>RwMQS1q&wTWEOz)#P4eO_G&XRomp-&YsVxNwdD2g_w@hx`U;@Dwxvtl-Q9zGa0{+MgS!M0+}(q_2X}Y3;7)Ld;2PZB z=kV^kHuL{em7=~1RKYpBcgtGct8-ZSc5)Nq)#lmRh9MDcmNfvuC_a;-q1pKCoL$&DPRsVVFm73`c%eTOqKZ!87yHqZ*xQ|R&%I=#Rl)wyse=|wLviqW7j zIWcTVl=iLJ3K(vXY8`C3CAq*p1vNbB6og(X(LK?w zlWq`akP&VcdMk?ulZv9p`d|>b@RXVCNiH&-o;JCOhE_Y*lkZENjmXOc4Hj+c8f{c@ z5h1YYo-?6Px5S^$fu#Xv-Vasyv7VzLPR__ zC!|Drv;Lb@{SVA&=Ua2e<~73jyznc%dm=3Acr5d+R-z=F#=OP@F-Y-G z)M*`4-&-mvdBjhnOxI4IIg}7|Zsa@kUjC^C03ZV{DWl(i0PMrf*xZfWGPXaag!*+j(qYNt`f{B2lSVyI%Qv=W^Tieia*pGjd{G zu!yBKh`YXNZFf!;d*pc7qRc6VeGIsks7 zrkHTDZKO}I{#acAG#n@{ov2>1 z(gSY$HhkB6jzRNp14VoP<@LV4;n-fk2sEAc*OT#x-TB7+a3b1S; zb|Qq?KU-I6$#sy6&ryxWW(xd+;s1Yl^kq?iM886B*DUS0eNDc7ww|xXe*ASw8T2^r zDc-W3dY7^;t1IDMFp&Q8;*U(BS~?357YKQUEdpV?+w1!k0gj#!tkZF4N4zE>5R#pA zpe`2i@hWRuWO|a)!AQu6!jVzzGG7o&+dEBaJL-*zm5Ky~H;i*e!cSfofw6Vlg^k3G za|2dqm01qM9U}6;T7#4Dp8y;3{PlJc_9sgf_&M7wz(6LhE`HBIy9F|Z(s-l&+k!&E z>I?`gcCbOTDb*^q#d-l-$})Plp`W$c`q90hRR(+1PZatWW=uBv9i(d3BueNhc~j6! zJgJIK3zoD-Nv$oy`GLPhV7RIfTuTdU1WXH1Y!*f=GrIF0#$wSU26SVFCJIDXZgi@7 zl^fEQ=y5Hw2>32Rvsa@x&)==Q%*+|pZ`T7s}LYHopsZt0?Xkh2~Ep0yhcWy525*3c>zKS28>V*NeT~g2FF-K7(<$UnM-rb zlSGV+A=nu-2uDFzp@{VLAP##lRYBE^FSI9(tS@^JhjGXY$r_Jqo3Z%*Zh(x^;pIzA zTYhC_W~MfgLE3tM6ATZ6XZO`j_p=hyrycG_Fr@pW90V!^MWT~$A~&Ua-GyCE9@eEF*nj+kb?lJJB z3TtuGr&F){$t*$eA^SpkU`tWM5#L4BDF51+M80@#2Gn?=c}~+j-G>R`^I8f?U6p1Lk2+*&D)7Ce4 zk&t<9%!uQqZ2e4%MGuJ|yBj$2gK;Un$Euz!;T9?1M?=#3{)acaL5NoynuGbLK1a(Q zk1W^_&H@J8bkSn_2IJTkE3Pt=dB*2*(6oc7j7GA{;d*FQwCbnfXF~t~eTs+~>}^yX z;&Z-q+$BgxWTe~S>~mxRn!9^>&&*}^0ZBihvRVM6sA;&eKSk-M@6-r@sw%RXw$mRg z>Tztrkb<_7B~E7!pH{{Yx_X`4uTcCUl@1#-Jty?Gj_2Jp?T(z=?@+ektt3Qt!fE#7 zrqIMng(?Gt0=VL_iCV1dd&WoSd*|ts*_|Igr>l}fGG*`@Z=@X!9X#|GaB$f};5bG* z2=K2vo7CMbIX{cksF_wvjhTl$9S($$h#v z{nY15gB*7HiId1xN|JvDG$zKpW9v%#3nwXy^f=x7aKUK(zTl1ku!Gy?E}?0{Y(k8m=o){vWo1F5KObwG*oO~~)U&0<+pG>jJyXh1=Mrl*j~ZrtPfEl0qx|U@p@Zye z7s$ll;?2OS*s>pnv(wQPB}A%yi3*DrZZSu#2tqyAW@(K*7H zcggQiROTt8RCJ={qW6@oXqHL)W<8h9@$loLR>9CEIF=1trfcK*-f$bfqG;J&35%!c zDd{V)E98IfxAIk#0Q&M2ou!*d{{0iapeQ~ne$5Al-aI@21s5>({L%Xd0!735*_xPF zTvE#mJQxy7sN^xJ**4_1Yw@oK5v?!sfaKiJQ?y3rcj#bN2m-i-j_n>_-G<1(Ll1hl zEfVN`hKFKsGErA$Ob3>@4UEmITdv|dokdKxoeI#hs-^4CYp0?ERRQvd76dF{e=>Lf zuV)21Hh}wW)lKk!t!2=sfB`%c%Cu5)kKg<(#YIQ-yt69aVm!*Y!j869O4Y&Z zsah}@)k5t)DVDFtvn9O-hhO6doH2;Y@9!kMkXn>+Sr5A=AmxX^)&FpQ|AUeE0<#B5 z1i6>3HY)$uLp_s#Si_pjB+P&^VoQ7b6^^~2qCfR~3W(2UurA~RR^WQYfHQV)n2$OaU4tx+%Ljpz=0{y6X1OwaKs*ufGyS>13A>=f7Jj;B3mf{Pz z3Wb`|Eugn=XFg-}?8w4g0@+G9;Ne!Lxd{^RJ8+X+Qz{NIp)v9I*p8BaiQr@uDzGycixq?`3E4INH{%N0!~k?~GKbO`=? z!NtMon%E+q;x7%m*4EzV!*UKvx|it=)R_O&l%3@wARUR1ucfX&r=Z%!p~bRTGKIfJ zzr^OAS*z2lEDriiz(V;MQ%{7TYT$4}AXyJPFAy$7D&?m&QW`BEnHO;=xwMxQlxg5G z7-?FFmT~I+$WDph`m0a{lt+5BHoMwS9eFF2X;#r>yk*0?I|y6pS8plnHFKxT-P;p( z+#7wxHY-*o$MS1Rp&I0F-cM6_d?{M>GYvw1Nqp9ZpPy&>)^9;7I{RjLBKnVa{mGy1 zvzOSp81Q8h%%FVa5ZGM;!P0T;d*KR@WJF|Bo2Ly~w9cL31irw)Oa_VKDA;IY=k_wE#UvwhAHcVBae;IAv%Pl=5#>Lc(1 zVXz3NQduu}J|0&3#TATT)Q*yLsI-(FlTfpxoVgxGK6%oJ@F?fB-*^`^y;!~4J)8ka z!^h1y2-GY!)Zv|sRwo#n9#UFJ%m?SmnP;)61P@vO*K1!O@5F={d9rzgzfpxj1Y5x;fn-z@JGY@wAk+7GgWG%uh#yjI#DcDKFo!sULMTbEvt2ouK zBkF?;!zIgLVC-nmNy|nLx+*m2OZ%Jy2>mX!6FGC zm)#SLP#SYUS;RhyCiNM{6@FLe;$15DF>2YRSzc|XZ`JfVYkJgiNfB;GC_IjeqFK&> z|7OQC&vkUV??jm0!9HCxodxMD9fDns{^KPhEcLF#-J@0fdCQOg(&RH^@`u@d(eQ2& zk%OoB@eV46kJ)qgHQfs>-e7By8Ioe-i4yfJ$%X_StJ3#hVWZkflC`p?W_!sD@71~! z1?c*KfeKd%9ShZNa==;Y)w5~WYki~@2?iqM&;-M`aLrq5emcdQXGg5|yGsN3jQFVa z>Z2UYDRE=bwQIg@q~9qXcVP?VCJ6!yANW)V_Y@=1n>Wo-hubM+vla9j?TT5=uI(ce z^sdp?om>sz1+aN;SsG<45;EinJv;6`} zoT)X-=~8^l(<+TkE6!$ikRey?PrI{R8Nl5AEeJ(eR&j`Ob7wsqB!pyLFVhlCSKqIP zZ^+v1|D7c<4*^Ii%a9yQB0zZlk;gLk!;-w06mxv`;UxWKjnKr)8`~L;!sT{gXm8FN zShLjf$@cP}ItVt0C`F8x0?ntP9vzYitOn8!pDm*2vJ`1CbtuiYt?j5>p>) z)$#(wZ-Vt&M&=^tDr#~bhDsx*2CH1Ts#|PE{ie6kBR=E))Z6^zZr9xnS65pOA4t}h zXqL~;MG(2=9(wW-!B+N~H8zaEx4EjT&)FnYrzbEkzZ#u`f~&*urWD(}j_0~gj3y@# z^6x_=@qHuE2hOT@2H&2JSq|o-WF#lvN>edFkD;D)gafM%j=U^&Qw+zmKN%;~hg8SV zVU3}z*fMFy?*sriUyDos@KXA)Db4wy)P}bE@xnBQdE)gE7_NtBvN`jo-~iW5bIAe} z`(_3kxJGqtx_1gz<7x`}osU|#T4fybx}0S(OV(WJ@b}uBtzWIVVldX(0`>x$4Re-X z=h0u8M5}JU71B(YH#ytd7vd0CDz3^izOga??Gysq$%sLNR%{KeNxh`Cde*w%f0vUS z4~aRQ(JQ=}hx8YR{QNO2U_xk>f(hDx4~4u^YBZFm{#CjwS-QBUx`B|^H#I@B52wgc zQ}-fIlIxp(z|_UZV;$pw>!NsTgQtY-!4NqFr$x1!Wzi-pf?ui=zgFYy&!&n)7l1wU zu4!bhl7AY-+soU2t7+`=2>vrH(2wt1G^oJ$SYMhpQs>nt^XZ7!t)aM{pPR+RY%ZdO zydPUJKwaG7Gj+!1MB+E~z^DG^#7MtnVT41^3esd@fkf)C?g=^4zy$36X^f09Y{m@q zFPA$lH`VlwYc^mzri}N4n>h(;ZZy2Iq-1R)?8={lo3-J$OhRqX@OIps)c-Qqx4*0% z7Grn5o;|sjh-zHgM#(yuvUt7Ew}(cFXCx(^1cIQbxcqCo1{hM~aF2<7)c0;CQL}Oe zYg@W?AB+6y0 zBBj+1o^z3nV~b_{86MbCiLR(Nf(MFflZFRX3l>fbju3%(-MQcx(tU_(@bwBJmRd5N z&`BhBntGn<$|QF9t5ua4KA0&yZvK=>lPK$y^<;7yMzZcQM$k`2GcUBgqP-9~>pTJV z!*h!>G_yT+;&_Ok*2}W3ZJN4J_DnqHZU6b);BVutK9kkte^>EMRLsuezkk68JhN{^ zFIhJcC)WRc*Z+IH(;%cT-0gz((YP!Hty$`7O|S6~!tghyswA~p>$Z^X*p^?AVdmIp z>ZGXOr;>NG9x3+XP#l|vbVL8uiAMr1;z&-N4*=qr;=(b+4U3 z_c5XaZhkc{`CQKE2R~mcLq}_okXcGK1!mk(4+%95myYYcLqPL1S!Iw9rKzFl*tgGA zJBVX18Mk)%gIC4X+?R27QSlf$WxiG530xxt2d@|xD%JlOTOrA!_?Jh>ey7j2_h3%$ z3pseq8R*1M5b^hQ`{UkONp@P<t21jmOdEaW>Xo)=P^8k1W*T2jl@`}z z-iGI06L5Z!EG}IK0hNUI!+(wb8oUw$c0^3V%GKU7A=Ty!Ld{8A$q|~yo-<5MlV>6} zthQM))nrrVFy7K!alHpgj=qrWgVXdAI%bF=BAxfe7OQEw+rJ@q(=6AVX&!IT(BF-m zk$ps}4OAkUAK!kQh}KETTAv_oxzx433dc7t^sq`PqB+-mo_9BEK4u0#qgx$VA^FEK z0}HNYfTCDrI4<{X2C?&w6yz1eUhP)Rpzh@bya|)vOVEajf|&#iu#~Llejnyq^uNvM zty1ZXM*V8FSEcE8VXUvPorF`9Z4CZXhqLZM@pivX+bDbX+EjMEt@_k2i~*5wN_CwU zHI={+VJf@5B(J!g{ujOsuBAkSLT$nR zX@+YB@OB2!Ca_5Fi)P^VxHVH{1>h*N+PFN|L)qwy#xxvtgmqzJk-Xy7^j2sgJ0IRL zzQaHwJ7zGUmydN=H{+{m)1M6_X#Axs%`_jz{!ecSJ-v1{ofx`kO#|T;RlNG8Xw!rPH z=#Ni|l2H?bKC7EWck>oCbsX1{ELB+()VbUzp!wagEv$~>-o=>G0q-+0$m>HL zTn;)D{Og#h(eir6ZYo;QjSUGX)(10EgP#aoA zL1pH@go31fWln76jDDY=)5IdcK5{I&7aL84)D=N07zWZ-EkC`*k&*D1ExvK$7&ZtQ zq!RylPn-}QoPg~G;(L_+B|-nkw{bMUXt#^q;m`7{ey@4N>E8=#i}5K!;+D zc;S!RVqpTh<(Fq9IHGfwX-xy96YRPy%sm zaSMpjeqY$0NV}I(YP-WFA}ms-w(xo$qXch^k|}gkCja#Noyn*ah7poM*P7lt@k7>Y zST4r&3ZK4!nfMHJay9ELG`vJy8KoF5aX25ffxKi}kN^>vH0?HJy4fu%{cao)f*hZ! zJ%4?^orDTw3*triVgY+659KGv^QzZDUKPfA!$nu~ia2M%?<~f;Q`zN-c|KE5Jhl}( z=t4Kuo2wSuMHkY4_KX40h<+Hzq{8lDu)}dO>d|x*%*srV%848y+pN`6q|Es?DKKchGi7`IZDLCNtPTL1 z{1B=SLn!K6hOr(^`rWMl#(05-$qeP%>K1Yf?zPSAs~!pzKH9btY{;GyTQRK_niF}9 zt&rRSB1^%ou%+v8ejNWpc<@4}1@^hLy=RN$96Awtur{+Cc;LWQa|aA*@TYLq!UDIR z5ZJd~@jo20xX+uaB}nq8zaW(590(7VH^;@`W*dHDxiv+&0>6FmSK0)82+Z(_GZeWK zN3fvel6Tq1NyPikPSqvTX~UVIQ!y|-O>dwG`aV$>rJM{M+N|3MT&%4X1?yNG1%x=b zKgCK5X&>~RkhSf|6I}Mq$jM`dx$Sp4}w3iAOzd}yesehf)0;N_1y(pHWk^rm4+ib~e&D8MSfPvkOK_{yU z6k@m@kH<4gHFtO>9Y@TqXomkwb7Rh_UVVYQ>eQ@p93K7e44`Jqm(a_^Pgv9%F%EE4 z!Wa`P;&n!>8&ZQojEJ6e!6VY}qFz6P2)h2urICLGjtmuQZ2vE#vtj^SmF4={VQa2~ zxXkeHBQpe(3t>(<*Lw%asc1C$a3WYkHc-aWIgjWnIOKGa_zdY1 z9(4yJ=(Mp(tR1BvH}Uu=*e~iy`9qgjc1pjwiLh=*JNx5+ZAMkU!ziM+5_Lm8hlxUr zAG+{#{7Jwrnx`CH`;A!2daXU4?n0DG&a;hxtV>qK)=0*P%Ft|Bi{y6_8~GTGt`!w} zCLV|RJwzeMKju6;i{6n;w?r z-C`y4&|jo%&`I<|hjf+eG+fXjZcY>{Xev;d0ac2q>m3}bt*5yk&{B0GJ;`gXVX*cs z7yZ$J8MUnf6NbJ`dktRz>V@CCDX+amUZ2HQbFDu6MlIkbR9P^0Q#$w1i=^ahn@OxM zWp9w!b(6E`kp6c}_9R*G=FaXMuo@F8$+$(!8}cRiw5b!(UMLzj^isB&I`+ASmWpWh zzwQwQGtXO~;~9rn6ZsV${`6R>?_^622l<6IpacX~PngWT zl~J_Q27_$t8~8W(k6ij(G0r*5rr&=I&22tu7AqAieH@I$0zF6X7HwYtDE2A6HWmc@ zhl+o&F1fbPt(1=O@C!1dE}tT0L8KgvTnY{ik|L1jq6M9G?y>45YCzeAPCr%#`_vtM z)sI0kiW3pz!K8LX^44CT>+Hdd$C0J|JSOKu6Ra$LcAxw10)zr!y${K~U9`L;QZ2LFp;@*vS5vpvggM4_`_F1!5X>m1 z^JvEuan@1+Q!*?l^etMiQ}s?B zue`S09DqfYSaW~uvfqiQOw1Y5wrJ~VEPuI)=BCqaqDPp;TaE;$3!=GNJnt*TxelYcvRTOz8ZPCR7Fs`+uFvX-tuK?wNMAN9*U;7o!gx zGZY-Za)nKUwxH%Kg^bXEkU4PhQB0LGUQaI+{)gRi;TNW56;*is!PX zmPxYt)go}+K22*+4%hq0*sdO29b0GA|2q2G=1@Zh)CT?dWUS^^WJgLCb0?}Uz8+7D z``c16G3Q-wxlrs)Zd!Oe=0mAKya&JqpZuV`!N25X0H{|R$ZMCiU((Y53~}qKq$J5U zXZVdp&2I{At~sM8 z{r#FQYjF9-OUiTW4pl@ zVYsvgM;W%e$o2Y5N@P;oM(`6*TGtywG<6#HgkCz^6*_j?w12vTCk~vi1YCd=hi}us zPwIH<+=iQ0U(c4myXP;q$+GfY?&>WW2K0Rgms@tg*#03i>eAA|w3<0)1#bfAO zg7G3+e7WcUl_3XRvs$*wjA@WDhoBXva=SaI!y>xf%8qVZF^d<4t?p7cV9-ZG{V|OQ zItr^8iY#^-x?)Jnpc#OCRP~E=b@!E#qG00-n{CZ@fHCL)q+-C=a6VuBLv;x+*?(p^ z{qI13`h#o1GrK)LebqimPyN3O91)0hZ)W>n{v*F&cf=3}SwK0Fwi~Lnj%g#53g_1& zxlU3B3jBxc1N5D%dTp*K!6)&bp&Rs;9pojEnHY-v-isPpwiM?M8#Zjnb%>V+77B}M zlf*hBSe)gBpcWv7)zO}EUh|g|%%T2_Bd_LQ7P7TEY?u(%MhRV28Gl-CtW=XE77bNJx(R--b}@esR&c8K&)yV#x9 zTy}!NRy)t!S-zj&4YnF_XjHLFstA)uoPFx5;Ew>gMqXB(DiG}n%5BJjWZsAdHATV^ zzCq2zqQtfl?S~B0=2pP|Inc{xuU4qXH~D29^aC=5B`V7#Y*!;cE1`e>aPjcx>R$ve znwVpn>JA_k24~n^)cT-cNEMu}=)-^84loUD^+aj$d9F+2Z|hrEC1G~%-_|lnT_%SO zR|8{rlzqKER6A+$JP(DOmN1D*FR1AMt?I!{h((Y$tNVqYpA~+c{`uY6)Np4d#E->u8HVaoLXSWVdRSR zE>9Ql*GZMLLkc}sYSPy`IG|JAtLafvQ7V6B^^$+ie<2vrnSMAqjmIO-Zo3N|kVLVK zA%TBf588zJ``!NuG5zsBjd+04sa5^^vFCp~x~6v^wmo^UAqyF^CZ)yJJkIAsz$hNp z$cWp;bmNA5n$g##Q|rgi(>Efvlc-V4ZL|U$-6pl1Z1vmN2?;85N}Vi$W8{g_e*S7=G`-(4OrnhibAgk6lcBIP49k>S`p9x8TnyyCIP zbm_mj8EKj<)<#vTm8uxl+n}TVf4WxxgTcdb^{;X7ME+rDf$2U!Elf>0HwycB&=?9s)Ngw4hzDRsm4UHx@&0FVz08*&2uPSb z%vr}oxZx3<@4;2;MVpA#QBS9_7aE@ARPR3o2r5 zDmCk1p>4>I>E8JW9T8+b!ZnnXhjlMG^{pipxzlMeczQbXz*I`_@@xVIF@tfOFXzwM znv#Ow4GTqQG;vCpZP<$mQ?w59kx@Ss6u<;<5b-mkw_Ak;d!Sf?=k(&fqa|WE>)5#^ z1*DC4D1DmGQ!LFT6V?wVyA?3CJmpGs&Tr1=XYP#VXL-lgbQ&HE6beP<))kgty9;b; z0R5*;?OyRf`O!3=SKg$Ys-~QZYHoUpuYm4^2OyZ=#cEr&vo%okNyo0@eIvJ96ud7r#Z zM?%1^b6DE=2=Gymuoaya9Knoz@G4NEO$amDZN2Y0xlF8J%$PpbH>h9Kb$i_Ep<)s= z0C4S8P0eebl{nQC{!&K0y*%0c;qZG!~X_`5Dk_z zqN5-A1aSU-RCWfz-&i4_uOk?|;5r6Q_1@!X#fVVZudO-R?6;=*Q85bUkRHRt#-B}O z$w#IS6c0RP_xObW2Ie>@(!oaBO&^6MKNBF)_bkjzMZTKfR%m%FU2sp4$?xcTU9Y6e z{Qgbw!TqOUwJDofnkd4{?Dz_DNH|6AALS5`Wq3D$#g7zMxxs zHz5n7G!27L!pVQIqspUIIs~S<-EU?>CMq#7)p97`kz#>GX1?y1KU!&d?3Uac_J5y4 z`e=Kb5)kXNC2hKM`qEIGU(U}*0aJ*UI5ZUSp1Ao-KE~_IjbC(jCyvQ{*C!BoV5cig z?0*`c{>*9qN^YV%6;Od)8AXzj6}AEkwlI2FPa~e@;$9ke2)DDhPU~@dnD7NMwXe^> zSTlsei_pekW$632D9}j)yKr<kncRckI+H}wx`^0xT^{W`|v)W5p^Eh7Z%$h zKlX77_(%11c;74jd;r@$d3|X`C8GV{aU!*xC(+p-g(N7+Vk+Fd$<3|gTtrr4j^A-U z0=2w9z~EiTVhfXq=loB#CU-vE74Mwocba+MHr^r=jeEL0OG^soF-B|iwR#aA z5uEWNX}#z_8k7;=YoBy@!h-3KfVje`Mlt|XXMQ7q8iTH@^Df=#iH{QmDDepon0?r( z_qDAQ3Wz<-SD3t*jjOYHZ;SNzmQ!1|m5_{k%3hC+w=aO4(&x4=1*Pz5`6L7N@|$S= z+~_DSK;RHmyeBH-k>CnNo%sryIaVl4ec(MHvIaO>pYq+fSZt5`Tg}t-um_U z*mBL~Hz?{>!x^9=u-*rv6(>inEuPgFO(wsK1$6jxzO1|1Jll2pt_;3D-=}}*INy+e zy~Z`D0=*xz9RAH``>HvpVUsV^0VXOTxBK&zk=Km}8G8v(jl#jAI#l!a;$)*(*Xy`r z{;|%!2MBc?KW%Ss*NJ9ZmRMT^qHJsFxiB-*YR4Wm>2UwAI)_kifFEcs{wyJ|ds0zT zgO?Qy$s;rfng3k2%=oep6i$G{)BG|c|FQrMbby!mSVlfF(OZG5AXdJo{2nH&S0l4wU!?g+jPJUQ4l^Imi9f75f4s=?!NI#{ z&2YPOTF#I_z;F+-wc5sL>hQWToV3q;t(ze3oCUXwwtl|!Q?S-PENXIJ5grtZ%xI?o zX!4-!0Ji$2Oa+dtRrdTaKAe(Z`N-W(2F?s6&(AJr*aDZu)~~nlOUP+1N2{|+?;zj| zQ$e9T$F`Lz#5DxG@mhIMKn{_TzK~qP%vns_TA&nQY+CWN5!|k{Z(HbY0GdlDEtarc zok9==gyVd6iFL*^>+&E^E1-E30sa9H!W*CoK7#|kA$iTrD|7r35pK`GO*7CX*vwn@ zew=!JSurmh$F9(wvS-XQ4$D;N5#+f%X5#bLCd!$ruX3CGNCORr#Yaa4t{Hm&z9xDU zA_gu1O_(5E*Iy(I+37!6ubkILX?C1 zj1}EF*pd}~3AUr4Vo6@dDjW&!7>p9^QMW6p>;jX=J*9br<#aQ!uI>Yl@;Z{Imm)5bfw8YY#&qpe{?cUz2!VjB?Qlg8b7$wX z3#wmNHfi*{KFYFB&=VATGG^_vf`zNQ?4|I zZ5HZX%3=~aPA`4l}&Dc>&9$W+tMripw+hp?GY~g zqT_iBiH=VQ)q(_Uo{!6N)4ZP{}jjOy{yREt`4-DUsC|o3-88W`fa?{2IRQOjv8XJ#9 z$Z)pRi_1&}a|piru)dE?C$ptCxPM;bY&QMTkW?w)*kK;0Y=8Qr@7>O5dh4%0Io2{4X{pz8W%Kry4LouWYGj2w zNrw<81x;NMSf5`FI@P0dnlZiE=j`*@jiu~1%l~%dUTX+j0qKExlk(VXK8!L;Vn38{ z!GjQ3*&+WiWX`;WVeS4u!2p#K1XM%ZPFX|6$XKWL>IWNXHr0~YsdV7;b(J&O6K`j; zhr2=I==;3B&=R+Bs{9CrJIB|PDvk74r7GSd8^b0JOJ|=Q&BZeFAS*9XF@HJ9NPfrm zs=OTW6ZI^GhmC@lH~oqki4dqv;_8@{c8u7qfI_*c(+{cTyp4%ZzB=pQV&)Or>0Nz` zW>5~A4k4c+HLhSFE+OAoY{7H<%{Rxv5R2fn>>hfY{ zpe6h9RXM+OELDqGech;&yeEzA;JYg}X6mTj+VysmDH;DL|Iqzqt_9Ou(ljc1h=OHq zzoT4F$)nCgeV$cm%Hy?Eep`o;J5J5zLc0q{v+RJ;k@LrS$(E!PZlRMEpQ)o(Yln(+f2Y7ke|q=EB=-aR+I3G}0U`8u zXdB~q1sodmReZ5ioR@Br2K-lzXI_P?FNU;lhjDgWEDe_ca<{$2gS zynEpGQWxr~&6HwSsg#|z?WSMv{e|bXE?G7P?$2iB8!M6Z4Hs=%`g@l(+dSL`^)ljP zZq29HU%bd?MWNRbBC)b-SGtn9x2x`Pv?Rgbd?1DT?E35&ZYy=K7b|rtbVR#^72Oh6 zNl`RmP|#wdSKXK5Ut2!%aUT^}a9Gy5-u|K*NxnDvow}ysB=0(Y+eb+n$w(BG!eXFq zpvY3gORmU<7UuGUXEcMAc5qzg1YAkfdd(TE+Qv2;9oZs+aIR3kacE+|rPplhBo|%c zN&?R)+)uC<2SqWF1v}#^HVWNia^sy@O4qKMcZMiYVe%>)K@PdI-+&MD9miUUgAYEU1Ao?Qb8D$I|^r<{l#hC@2a^TbVC(qi`3g z7|6|++T#r7bHl=9qKVv3u2@`ZWO+}Q9{M9ph_J&aj+LC&I+mf4gx% z5u9UK?=arI+^W_{VjAH#K3lZ55bHjR8T}q?pW%lyf{$;mA5R8Ejj*6EX`{T{C|a_R zXlKYwc#4u@Qc4n|mdkExX1VV9R)N|}wIENtV@)GGUFiN|m!9ZkbX27~F6U(1vQBr! z07zP+A?BxsJBX|8TwBFFAfgGQ7KYR9O~?&y+iwK_1;(cdhE7~g zQc42M6j`mX<{RrEVHV%rn%3|;sV<4NiY0rlCig-gM#4qX6cz-On5IuzOosQH#k|L! zF^PI-Q|@a*+`f#*tt&ZJlojgrsK4UZyf!vyKe5Y@cY-2#y<9jVf)40OjCYTlZUuI- za(18?r=1*7uix448ffFzHP)&us*CkeZo2WzU39$CV<#4pvbmn8TW1FeN*<#Z;AtFIko zREh!IQJGO!wt0sKBGiPFN5cj3pfO479?l+oEXt0>%i+Rh)be{f1tu0S2Ykbhye~U< zk1pyO>OMdBFV#rcx{j zU;UcR8)Fsc6N7qoYsW~hwDTLg@7)(3-i1&f=!m-hPoxH9*WgGFJ7AIGDHV!Aec3DZ zgX+P~q~V>STqgb5i_OFH(AWF)qxiUSD4Fp*o~;k-SQ6nA@|o}vP3{LpcuJY;6IVZ> zP1@QFN7YIj`D#B$2Cq)G#eER%p&HW-l-9!2j_SVK@bq4+azCB}za1|Q4}3=q{RKS< zRZdupVOHc4)Uj``3sa&>$I)gyh5SdU0h+)-<2cJ7+`MEP@R18K>7vqN{;j0Dj1u~5 z`z{EXNJ7$H8@}kfO4INAyn;5n`X<{Y50#S26?N_6#d-iBwXRvcp&c9%g}dO z7qHWp9(9|&K2aMTh$8Q5d;Vw)D(lFrgP?I?j+`NcD~y)m8ffNevc@is{bwWWU%?Id z;7bYg5(m9>x;vYDzoto%Ekkx|(tEvl4x;LM{|42b!|;2lF+Cl}ciK8&-W17#D$jhX z0tMw>eb_aO@omYg!%zwzb&qsJG7C~iilsY#Zd-G;EsjscWnpgDY{Rt!wT{}TY9=5; z?Ca@`c~1P`(YW``d{n;m0$1GYqN^oOXgh#O&02gUDv_wedYi;C8bK1PUAGpp=Y+?_ z?O>tHP9}o2LL&-i0o$Rpg`0Orp%(&~WatQT3Tc`P?7kNaCl?;_Pm^F%MW*)_q=m4T_<*bbudbJ z4PkN)3!?=X(`k=q76UN?IT8+WfU&DZ*$?9+f1~!!qwwt~{-w{_Wp1k<@>v;fNp7St zls_XWZ00z$KAkSwjoI{-(v#5iPFeYM>#MNc9VTlLBlhiB@VrI}$J|dvYsKXVS|k1t z5hPamQ)W7b44p47jxt%XRv+CQ);v*2O6SD`5Mh`EAWKhv{v^!A`0O;u@)fS!R3{lY zt2$Sja_Rz9@Q-87-qc9pm#PP=ZIWcO9)&nv0A z;~3{Ufo|oATC!8kmAsquSSs~UvjGoJV&8}$X17lI__;>{g!wE|6H{Tyo4HaVeMxDV zVE4qVtznOoS>WXe5aG;M%PZf{pv$TX@_H@anZAF1t$mh|St~p;sn1a_rD|~9l0`(A zTU9M!+raC9&)*gVx&5)rIDy%@?W{81N}kE0XD-8DbH3h*69IhVQtx@FoEW8do4YrX zx@&p5ePH4p5vAG5IAY3F9Y+D!loSr@?NE*>fqSLKwRT8cP#QNHAgr zY}By_H@g;vh7k9&Kr^G=QU=^2Lg}Y!Xe#0eeqUivppX!5hb$^ks3IO?tVqz4RiN;b z>Zdi-jnje)FUkS$O@eO?&fIcq9eOs1O;RIQ!oGXL*Oe3*Y`uZT<>GuwwyX z(EY~IM7x%_k~eG%RJhkIR+KZ?2C)(Nb8b$N1;~%r?Lr?u>}A0oqwd2^@kyR`Ju%6o zz%AE31gf`zEPH0JcqaB;5((coqdTF*cHZB#X`OkizZxg8jJ!DsUVQGJjD84D#hJFv=Fjey^-F?SRzv3Ye~6H2gx01D5gO$N<|*bhd;oc)Ci zyLrC~TE_q81O!A>UA}vI)Ra|+vE%f4ImZg(MiG`1kqPKfbLvZwM&tU!OC?GP%t|!l z+OuzCZeI4oHIZE}nml+e}vN{Jf8zDa_+2c zIXXMj*$yrWzYq+I3nC!o99RQ`xeY|i>|8?$9|^ag;u#|q@TiFjt47dOIiBMt-h~Q# zyk=4m5^~SHozx>U1ty#5$;#&C!<;M(5-od;I7laum2Z&nHAHNhuA`gnZjA#cF&ly7 z*=CDCpHaR7LK>?KSSDP>U@5&^$6fsCd$RzZr)LB?Fh5^F_b;_ae;hxWz-GHqlEp@b zyHJYr^?f{j;?v|kcVF=BP6QRl7JE|bDs{IK-sFi`^9bx;hs zN4c$U5L!=S`uJolSBI?RyCM%$no6%z+f>5K0x<8({U(JiCBTmypCjveOBSD=EI8j1 z5Xu_;a719ErJ|x!X?280P_k#^2Hz*S^?aJ;>88RcfVU#(lKH01m>!>PVx=qE1hd}jH01oYGjiE zIN6!Na9aF^fuWJep;J@?b9b*siRtpd&WNiCNb2C~G z*1{hJS^#bfEwL?yhJkg12isn~H!f(>%9hXgIW}2IY2RpQLRizPo1KJnb~xupE@j#) zAFmwY*C}H~tYws4j1!(eeiT&U7U268MY6Wnc$AI+{TuWmVv@XA<#UYG_aNxhmAg^A zqH;t)C?usMnW?%_x6HELO2$W|0Pl+~NXW!V(895xqLyIlUR#^MGA0K^pCqJf>pGAi zkmi_%Tj*>H^O$>7S1NI}jf0K!bdk=gs#IT!i;J3s;Td~1qDA?7aq-eWs;mE4FO)7K zvP1RLeriP6TV&y&!>Wg}x;;AB@?Tsu5@3KH(lJ#ay5fVYfPp`roF4lAqi<|x!DRj$ zXJjl149bx^ctxc5q^k^ans22tEcA+&2WE|58rhgrt9BXt&a9ev}bQUre-&<0c zO-`GOLSFV$#%^J|0q%jDv&9Lf18Z zLFNd01Z`_P~p z9|X?P0RbWn7+P$U_)tDdOJo7pyB%<_>s?d|LvPJN^kF_+LDZ=eu5j0g0WX zgc|e`I4jm;L=n04OM)cHf}nr%6$(8von3>UU`aiwRe80g9l_RtnuZq7tJDPj-A!=y0R_U~UlxnjJl ze4CxU4i5K1UlyMI0b?XdR{h(Ef9L-;RFrQ6Y0a&mN4JRm9bNPKK&b((IU)xIQCZ(m zzaT2yk7;>J1^kPRACYGP5%`9z4*;;xbP zVWDel`>gZ6_}Ki4JFhgE1MuGX9<&(t2M4gZ^?nRcx#;#_#Q6OF5y@ZkcQM})kk_!^)#7clONO)~p))jquVflFmiV+y72 zWK>p8NILL+N^fyc(N{UUw@)x<<+;BRNaz<3e$$SLQS!Bl+ZWD!RI-U(?;RWvms&8< zY?$5!EEt11C*_$IBA*1& z=h7-FNd^5K^eWVVJ#uJFIFLZ5G!NV3`=fvs^=2$D%dQ5*)EvY3w)tpLlU?0VgK2fB z|0V6g7Y(GRv-)Lg`R5id)y4^#b0sDF+jO<%12w{wj--4^{8Mz+HBcZfkG)@^?FM=_ z_emFklC$?50y|!t!_&jWr4Dsh zm!GWn&8&Fdf}PQ%Ub|D$P>l?Y2u2w80|A(kAGr6Z9{~Hb*T>|lsX#>6i%)U3VT5A~ z;#Jqly(EAxHw?_6@0Co#3SdB|C*HX$U@fc|k3VxUJ6Jo_tE!JE!+~3#UoB14_r-yd zI%~Qk{g9u+9sA~=IR`Y`|I=mu#|1Vxl{|~-lyxN|6dzb*Qkvgw!+Cq8(4F%~_3#l8 z4v0>^Rq9z?u(S zFqSzXGEU|tW(#rnvs!dL=`Vqq1zM%nclagJfkw#4*k2zA&cF7KYWlmKnB#56(g2}R z6*6cYd2nnJwQaE6lz4(=BJgAo!h9Ua3W_MYLm5puOh8p?#kZ*x_MF$nIprFDW0U>u zBeR3C`(ZsI!)Je$5d8~CXDA|l2LGD7xXeTbzv%I}l*jwU(d`b*zP17$0~Ot^-E-?gH67d+u*;}M1U@KfLmo6Ts+XU3t3t)Bu zL$PwRuZ}c};{YzZzjo_U|~Y8M$)}OgrE1uisT$Er9#sqV#v~srq(opq~ERn zh8FPWIKgk5>b~$Gb0Of2E$cQ`#($&%RIe7el$ zfG(p70+g7zp&+Ovu~-!hr39$UY0H2TQ@P820}pqsS!&Ktj2oFF+?}cGBhwD@-`DO> zi^U8y4#)(_Mq(x6|5RfH!HjsrdtvV4VPW*T!=j5wu@|@nXFKQ#HysLu2*b@|)*J&9xIw+|1U{)SIu|62?^-Zy? zc5ibG0C&`Uwt5oEt&$5+Tk)`Cd$;spj4~(W82d^HZi;{IjN}_)CCI{oAo9sE@AviYOk%AWHAb zWa1$({RID&z5O4$n<+owm+dmIYH2@$j>+6QH9l!%K07Rxwbb3vms(j@`Kat<*voHC zmHW8Z!pzy+zKKd(^M2T51S1dKrANT_3dP@@U>pQ{kOP@+)mjc z(QdWy&l6?eJ{y|C-3S?=O!47+4Fiy@{|#O$-eFg6QFLeU3s-`JzA#ZcMv42y;Ed>TGMzEKP$>{t9dlxPOH%2e_;@_5*tmqJ)jMuM*kWGW*D$on zrkRg0^bOO4=PW&fYKOKWes8+yKtAPnkDI!b6ywVc#bUP7^FRvi>gw9`>)p=ed=n-A zZf*bcnfn-%8}T4Ygl`IEGml>qz5v3nku2QS#y(;eyyl`~0n0&k#8>|x8J&N!U;pJ= z}^#eA1k3^4|yK(7R)y( zF%2OQBr*UZfjv>_p)8CLPWMH$Xq?UL=06z37Ku3cwnr>==K9qOv;-vySCS7Hdcg?! zc6ChCD>I_T|995bp3BbpLKew?l!D1C4^8R*45W5IcQLEwU@3N~0(#Vq<9vpbg! zt4vI2R_`%lCJ?bNQe9rt(b%9g1K92V`~Lp>r=B3l8J?Z59K@yQ5~+uH+^^2E+T#JT z9oe1aJtsMW6Q6o29{LK4RY%|R`F8@AFr9oev9j}N&QZQJWa~ZWxvSmpDO{%164|j{ z4El#-Jj5G8nfKDI|1$S~nyml+A)g1J#@rn(sdpCWWiT)zXi6UR5=q6tj@h@)V%~4U z1!jEmCG&-s@B@VJl-ehXDm9gVHlO&vEb^Eq&@sb^F9A3BXHGdZxXp7#Bh-Xj{muW= z>R>Ve@8^x<&KS$TwyhC7=xWJIu%3OwyryxbUVGKHrI*dWgxCME_MsDB<0y$SlHYLAh*=?_&V&Y@T)rX~m`-Y{c>H3sn z<6>B|6mkvBiVsn1Mz)XnYtmA`EGAW%i5Rl6{C}@Zl{E0Wsz#nh6n{StGmh7gZwFKI z4-0TZzS{9G(jR#lV{pB|a35Cow$_YQn$gt$`+NWQuE0+C3BBLMbpBBS$!7L~b_I98)i+g=#-GtIt#UGYX5LWyj8aNLN@cP5Fl#LzlH{oQl6BoA~OqLvj zf&~wvi*8wEMs4+e2{M%w<5!WHmp@rsX^TIZYWP`(@7&!Pi=vzgcaM>O2|K0mffjUX zQW$#63Ktg#?y7CTpIY9R2dMpl?0X-Tey#@+$-HpsQp-CD0jclwg*##Or##?(vwO z&(&mR_rS*s=d-;q)Hj69b%xLQFiX(vzOz|Ayam1UuR2t~WO((EM5M(!kkBcDuUJ;p zo>@7ReU`uO=^T#y3tOtPfwc ziFqH#R_)2rKik=V>p-UbtJ2W}#q%vnd-Z8WbvX@2PHXb5g#vP)Bt=sbeLbb&m!^8U zqYwMs-JL60>zxv~+)mfEyfx`uHqQp?!nm;CJEV;lOC4$x6?%q~-nUzNn@vGmbcH48 zkG9I0#)}d(Im}F*RVR)A+eiS1J1O!NUAf4Tq!$>}65i&4NokeIzwK5PKIk?~B_9C> zxywOca)Fou23B$~pONfj4L)eGWsV5lTA8xy#^Ja8I&ezw@3)xF)Q_Gv{cp!qq4f-Q zboYRh3Y=B%Z$D;&Gw){I3=~{d_Gl@kE*|8y5Xul~3=c`XuJFWwk%^4@^B1M*P(1WS zMHB`*o5Y(CE2#^Rm-{O!i*2W-Ffbu>zM93;qf=GEO$^nl?-Tj?wb!*EzlQ8VAnb1K zOQL;=F5eOQYghd;OM&1K?61pN*RYNWY%d*l6qN**K3oD#@P98tTRt?Qg+@H#sHxnC zz)mkPrlosrIy91%b&<5Rv5}d9Y%{gP)~+cUl9dp3?4NeL@26>sz=mV_DsJk;Jt!ra z(e(XM#8L!BX2EE(K%XMA9qZFaK`AQ|GW(9hfX#h4r~r)=yk_oYTAGBO(oBW}CTVAp znTf5^;G3-?r29ARJpZ~~KF}V4R|w9U;UD<7QM*<$oI5{VQ_cR>nQZJFiccuShY>ew zy^V&83=7hj)&lPG6Dz0)z84sQjxxEvysEv4NJ(R5YBi|^)ZTS{2HH=0f($V^#;b~w zjEs!#>p)!7SM(E?$Ji9_FNz^rBHf@J{^N1p zX7GA-#eCt~4SMcN>6pX0x6zaN+w!QJATV*|k7W6H`H&lk!{{9z9^bpo@^W!$8M{$YtMHY81>C|(e~^|W7fNZ$`YCVc zKW@1=+Osg5nNbRF4%2DoD7J^N)FSmEvgof)y$sl(eK|jj45K4c0}fHlr3ai>Al_lq zh}0l%U|1$3CIJeiF0$O6Z4Ca-^^+qVy~c>aUuYwUk6-&NY%chF6{4ls6%8}2S5xQ@ zgTz`n@?ncWVIqMcW!`79ySs5UdXs$C>|72s_;j|5-nixV9f3)vcf)8f2oAHEU@of; zH>qCkJlGqLJFQwhU8EV-vaOmS7(;Qj`0Q5Kd8@3!NiwTWDkNMY21?h3tM8AvZ66K3 z2=HqoA-7x}&D;G*&^|}Hq|<_deK|}{7rvoiaUmsVwYX}a%^T6=)9!vKy?1sIBf-EZ znlW3bH(iaSUXPq-cM?}izVX;qy#{ZBxoSb13wWp zY2CDp<(n0B#@cP$L%;S)n3cS->5T$oHHM_-y5wL+x%?n{>cMD6JkS}}rT@%VzIV8Zh&o0`U%F&dI*NR2hr@O-gkEp~O3 z4zihzoIyWO8c$?DA2nrHxciN^YLHCf-10SDdC2fGSj64xW#{S>%6IP}R+nu=mnsdX zyeo0bNOxDrn5DMxpqj!#N8e6wdU_{cvnQQw;$sFga)6Xzsx%rY^*2@ZZD6Qx@0VUzzyU%-)EH%Yc7VH zFuFcLVz#$*u%bwah&uB~f4m+$EbqKm!etikxz!L6XzNSvA3NW_#VNjF^kgph7-3NL zk)p6k+Q@UK%u?|dVTbf32W{_DKCfVN-psh5S><>2YG1qyjyYB1+6rKj?_VG-qaJFG zy4WfLf<;hTQyT@Ajlp8LH|L7?xY(F)2*FPYql;sbo25s zDrzFZ*H#b0x}w(Kcd2JUz(KF-S5G%VLRop$xY%ffAbkUAkf~71esyjCAxfn<0J|x zJ)e_r;>nw)!bHlkM)C^VI{jFGczXq55|L!~m`_yw)t{M~{AEO#7>ho^W#{sPZnl(@ z_7MVsX)hVO>yIJ7v7(N{RONJ_*Iz!?SZ%MwV0_DEk0=F+;Be+f`$A#JolWjClW7Gr z>^IxbMBbXxB;ZJqWIF$pv}f>uU#Bs(!cix8JZapgc1q5r)bBH&o{EKZwT3aIMFJ= z--kyNU-msNuN(YTfDE{4)qV@52;#Mkp^^!qEddb~8N3DD!+0m8$&^@f37xdO3e_RE zqk2qi&3lJX9J=X{j_(BK!!Z)Zpd7h!<+LZ) zAv)*il(($lN2HnznOo#tS~`3XljL`E)ThQQxRFbzZqUE*DOhB7tCpt&xKAYl`Q4Fd^cLs#WI@Vpt#3_oBBFsI}3)(@|kg`g4#MKqEJke9B@45rfNa!BUCc z`@h|cICtj20PAs>04tq9qee-!6Y!>f$?0F&D zk;bo7#0qHmQi4995kOc$H}WWCltKync&}usd`cM9r@p`Q!A1C{Ylrb zONpPbG-KCU(z;w6?-TM%YNYZwe^70#d%2V9>vwd&o2O;CgCoumGvyJIaPl&d6BK^E z-5i<_-R%8R7a?luGO3~Dj{lbeP0&HkJ5?qhtI8yWy{mP(h!O>)VvS%d-#0m3ZcuP;SW}*sA z6&kqHcefd`?AF`+Yb$t&Z7ME$|Jm9MFf3ECe5s^&cB!7%f1gHpE!vb;;=2vJ!~*uA zvl&cJ9IK({=Ee_M1Uyy{;pF1UcC=z3@5dNf>17&StgVysyWmutNm1q3!VXi!`O~h| z!!&d)w2Re~X1b1`np&4bDKkeMohVTJNM6d_jb{xOBEhoE`T*EDm`bdf? z9O>)#+#HUt?-~F(w`{W<9^)TLf~oXZ?)s-{lP#&HqhEmn<0_=?!l<%7-zv$}uT%)B z@CWk+sm&AEX>Sf7u|(DMK8~MK@lbAb)mt_>;Pc$9BdBF`CNO`KNtI7bX+?gz*cJ>Q zPN&cphHk-()cVBi^5gRd0xoCS+4J-B(_Qc(9+S_?Mndo@O*CBmq*2A8xMPZ)j6V~j z|Fp)y^{%MrzT;C}`EN-M-vtTFLzCR z^Ru9SqYske^9=`WsnNYADtjN1#zxdC8tu7F_*U^Jaw)pHxr|cg8L9KlLP16)$J3L>>@6{tWs+^N7012G#_6fD z&u1kz&;2Y6^%-p0zqvwl{U$W%&FpU*H^vN(m`Xg>+ugsyac)3$?j+ok`{NV5cL%n? zXg~FvdRN_fHx$3HN}mc-mvj=tj^i|Dp$Wwd=<|@WzE7w$Lui`jU&EI;wJ+Pmt8L*n zLUQY}FH1cZZDxJ>1)UvYLM_O0*D)?O{Z4DlsC3?86nr$2l2Rr|_sz)mxM>5+qZ@6} zMO3od971!zc#sCs{I4?BeL+CVcR!}9^$R|DZIh3Q>*0zk!P3X2z7#cqE~SfD;CU<^&NG=)Oc$jS@S z<<*K555sGD@ja`xG1l+fo!d9a--oL>>Xp2M9rSqOMWTc<@f6!I7P{e6*90wkUCsTmi3 zr$;b}K}h1P9PQ=d8y0(O1D;k#TbFxyS&JPf)wK7@Uw^Y-(&bkgP<3C*8qw?0s&`(b zkZL(=Yf@<~S;fXGcK^h{&f<2ylp{l@VY!oC4j=(PdMoG;0R6Glq{N3=j=tNla2;adMF8ewhOm$a3%V@v2{f+q|8TDl`qI6T6n;1I>uFLQ<3t76Fx z()btm57h78RWdw>ygZ+r@VXvuC`K-G9jb1s5hz0G++XeI66qBb@hZi|$;WTxjfUZ| ze_GJ<0$0Ta;o5TLCd>K$9ajcfp?Um=JptY?nregO6&{g$cn2}^DJ&X(^is1AhI?kA z`gZXnrMoVqL%izXVvNVtK^ou?tw92&3bjBs1WP~?18W;?GD?#%g^YDolr*o0d?vrs z4CiPM4lasO!3DBs+|79qS5;Nfke7be^VpV&WGnxLb^kEKzpk%HWe2&_?%_wD|1{3N z;Gr@-;}*HI5iV|vNguoDW(%NCF38 zKlPsg-S>KY1m#kv;38o8{?1w?*3{|ht``9hLF5|IR^@UIwz`^Ir6AjJA3WH$8g0 zVDL^7_0jjOD(6sf+wd?mQLA;fM84x z4y&FPwP^k%0|{`V+}!FY$kTUZEw|>wHOr84HcWKd8%bzl8}g&=^QquT34A)@@6)V% zvVW1EQg6~Hf2ZO;et6X?>eWKGKHh)pCoVaBZErL7K161u4nOsFG{Erk2%XS^+lKPI ztNs-77&{E?qm!H40Ky1<^&z_{{w7Yg#my|A+;-+`#BZ z;S_P1)Adr&2=#ji%2vAALH& zE)1XUduw)+&nQS3uBH!Ig^K+A*nc>EnQKxrrx|dNN=9^JI`$d$;LCuY@)Z@@piRnn z@s!Ut*285Y3m+V&cDx%7=PM{HgCa(&FTyvcTXnlm|H}V-F8(wy%6&Fg`ErxC>q0_? zZt>KkO^?eq?b1QAcgQ>!Yg52hIm(J%)Kq!DI5m~6 zZ0NyDKTGh!_1VB+qA`T`Yd(-i9MK3mMqS(6+o$NkQQ!1*ic z{ObY_=pLF$LXi~d`3$a}iVH~ni0`w$zwjM?0F{!+5S`8VMtoIl3kxeeIkLo1S#66I z&>XN8_&{Acm$n+|Xlo}~P$=p1wYnL!0EC&UJTXzW?j>35$l0e5`toMEdHq4-;p>-|~?f&B@92U7}VDIOP{!U$MUIS`Z$ z^8#^L2M4B7tj<(dtnPFX-VjWk6cKoc{y^(vp`oRXaCz+=4!N^>^=!CGG#%)y_aM$4 z7MtU@S=N{w;+ju2XkSwk)x32C8?(5|YKT2^^|TKM`86dpI7k!`NoaX@q5di6j09ta z2~5AfJSZrLIX6V1d)mJLl{dn8VYxgep;=gER;Ns>MQ~_CkREdx?z@cIqYAhocTin6Zx zv906TD9i{?jQBtx2}w?SY(nx{ujdyOJ@8$PMleyLYv^eb&+hi|fWwMrtU$QNSBB_e zQEPrg?NiP^H_x|dMagAgSqd-Glw8OB*IWPN0-)DWEt$D(M&|aR>gqXuEbqq+zpix! zjXKR2rq9_LV1roNGSg9wWZ&9fpAw|bDqKRkQ>pDP%Ae?optjPro2Wx_?EH{DHZnZO z#KI!%jb@e}fN1^$o%rrjK4I8?KL@P(6P{eyWj;v*l)?(ot7FjCzA}#$7>U z6~xVDEleql^7*L)WkCZmF$*G~`iQaO>owrUN_kq}SeVH$`};-Y_%og~x^S#uYh({| z_Q3b5{c=gfUPE8(+K5CsO<`@)uBy85#L|Bru(kx~-$XKyvQC$u~T0NsJ<*GqjXc-4Ek2N#;>l=)eSEx_a`*h4Ok-r*Y2Z zn5S^gbFl~PlD_#{?XT*wrA>Lz;i5B{E zs&T*zGyVB)-+)G73bc7?6?G8D=FsdD!OMcVEf*#O<>za#*xxHOV zneu-8Q6bL_X%c9@O_ociG^1HFz*C|L#^ow`#v4Zeuf1lZ`g5bvT8xPNq7%kk!Brzd zJDZz}>lKB`4ty5jI1Hzbof-b(0w-K>wP_0(|%k9@SQv$TsjJ8R?a9SHCG{8@u zalY0TlGe;rZ_{2gU2dYsWLN+4off~v1^2uVv#!>5v<+HFFW1BU_;zIXv)ZkK4C2}DuRX<|B=zJFk47l zNl_53M)9NYR-=A$ZPKL}#>Z6T=>v;l zl&n(-?H9j$GRu;KIwoOVZ^QVxd)e=$~m{L@NBIKMy$7nS0TTi}r z+w{~Bc7Ldp{gGXb?5VS{JQ<**#jY%`q*P>OgVokQt-a&k>a49D&qMzPb6roxtmoVI zdBnv(e)Xg=K1K}dWPs+R9GTD7fo51;`;*p5 zk9hLI?-s3N;hu<=F){BAJD|9^@|*<`j1Gy(Eh$-y*GCLT#oqkc3&5_te*RqChqh>7 zz#WRal6?Dq|AT{roxv2A&$66t=-;S3G=OjGiD*LwMfr~)%?Nx%6oWO%Icq$n#Okxq z1Dj*csgKhL9v3PL_Iu;39J4KiszR~!gZh!9?}jZC!kv2w7m3L$4d3MYfl?tr94-!u zxUa2|OD3si9@7{f^6R!qhzQ;D#3iO%Ra_(asENwR@9#TZo`>k=ASF!sOOx4E6y85y zKKZI_EWEBJtlgvfN4(1?@%Hlsa%%4AZxA{xoUu9cRJNVe%($I8(|g|-paCb|?4?hP zQgiukeOWZ<^)HPfAnZZ4oWjE5{JjgAi9nvES%|(!>%Rg=bjczuWCgG1Qat;??V%|x z@%~kW?LR4Kz`%XvSu-6f+FTIJP=WTA$AMe>V6=2JkfL&s_~-WfMf1p|tm3`{!@)};E=Z2r)({j^8X$c{Ug?Q=_qWT_QM zWP)_D2;K;-Os+a4p~FNUGS;DE;^MY8w+-}nRMpfL<`)F;$4_mTy8=g>&sWmGdKo6h zyxiV@zyD6;zlr&0q~Z;ru5oV%e2w3*I3L9eooE@6T0E@eP3$_hkwTvS#4r7yD*8`# z7QjIZlrCk2X6YZXIZOOa$Tpw^_DO2lY&9KU`+uq5KcCOxh5(=Ad>1irv@p`?loT5=eXKD7ZRx{@Xj7`vQm}Wt+Dd8 z5bfFEV5%RpNeKzJcaCuQW2QYZRwMzJ7K?GlO-Y}XEn)uf2V((%Q1D(>m*Cg;UU9-1 zuRpMY&&A+4kqYY*I|UcDhGo?%im3As>PTAvW>S^eixjr7FJ(HP`det0+?loI-;MAuHwBVPp} zE=!zJ06y!)T@wQhg?z}`=E4NgQcq8Rwya_KAzUDz(SCC+eAT&sxcfsAD>sS6KA?Fc znP#;oVx$yKQby)xzRrf@X%WwHeyKcZRlh5`Hq8D0{ZK@bW~J49uEuHj1>*8(e67-k z@6Q|cf*|@lL6~KU_{RqflAsahghYc$`sRb=oS4=lsBq3Xq+9E~6WIgnA&okjH)JAL)$t=T1U~3Z0P#T)c4OjR}%59 z!8f8WYAOfcfI1oReK<@}kzRjwsG@3RIEV-M)ViI_EvGxK+ftCI5~;D&rH9i>E!SF+ zl9jTGDj{Yh2W3OlY%jvD$br8*T4G{@h^#SGaSM3-CQGpW`9eY(GRqGmilI|Q8WIu; z!Bp>WtT1039{`LPd@jyBl;T=Egi6*Q>4bf?^fMFa6(`|2&Zc_YlJyS>Oor5&UdM2i z_W)Ps0t9UdSv4U&8>M|jfJLWsi^U`rJ;E$i@5cpIWtG*-*aOy+iG<7W;>L%|!*6m0 z%|Q$}(Y@h_SCj>Nfp%xx0a`@6uT4sPMco@sjwZvGOP51f?1)bfi%#%3(TE!;P=j+q zj?*|zt$PVQ?e;syI*=An#w_-bvRR7VK7QAEZGbS?U?+^Hw~vgc|GW zK6UO`Odm!?R;RHOG-zL#ms8-F7HPFU81bbapR)j|_Lb^F=PW23byq~D2*p${aNIrWTbfpdIq|* zKniOm&DV9#&79r7JU|jQlre!4!pf{RNj`zsO-r&lUGAR8ung@g{b#8z$w88p+2e8#D+>k&8AOwD_}SZychZa72SX~PE%r}iY4 zsYB{aLVF!h{;6CY^jz_}!*B;o-S@{At-L(CEJ?+iMDS!uB}*jRA3m+wO?%fne0yFi zpWLOx0+b*C(V+DO{%}!&7N+j0+FU{SIVMq|SCIJ>AU%P$Sf4Aj2hF*`ad&sO_Q=3- zDGawZ8&ueqc{2Genjg1&UEpz}8v~a?q5<5KZ8L<#x`L2QYbE-{REHHpEcS7;o<8hpi@D?=V^U^D11lwi3U|*(VpN@|7nJ0 z^$`O}Nr;-qdcufGv42I7d@XqjsqtYd5f<<<4ci9@gdmaoIiPQjH6GvaB+A3ZP`AB4 z>bt^WEN#8b{y6&Qgbhr_pKsA|$J*FmAVV$hRTEq{&OJXU2a2PS`yf=lQOX3|ym>Ht zx?gQ-vY(8DOHO5d&cyes>?VrRwn75gB3s4`97ngONkIkoI`VSvL0{gW{|d7) zp)dhNQq^>5+p!g~X$oCmQ1CjjTff$goR!hm2E{KV)+eu6f}r**7*}Ib&DNx`R1+lI zpQex*0YuR_Spx%TnnjT?H95ebk9$|KSUcRAk7O`ROK0vYXNQfP348d(Oj1&+veE|e zivO}6ke_+*Jf26_YN03h%A~uTRGtXU4@^`T)=KZjCd7D;;nh3caY$w9`x2tmVTGIc zdL*#eamnWc*@=g~pvrtNJrE)+hDfD6RjLe)2%5uKMeaIc7910hA`!Oe8Zt5!6?Wnt z2(D(wyM>2zx0jh0?&72Bm@Oe~gPECZ+KLG%oLzjL`_*u3klv6|4u>H|5$@P$yh6=%9$L;9y7empS+F0m0iw7L zrW)>tec%kBpHp_N-M%BoFvZkGA$apB{27g0^kJ$>(s*-FnFQbIdKJgxSpZ*L$Tq-U zs84iEPv4lxtz*2wdYE94ps^KNrwB^s7U%`_i){ep)vs}fq0$w8Tlc9D&v6OXP1}m- z5W15h$76oYQaO=2_%Q5WIXh2$@R0x!)a8b^X4>W}MQRcFB+Qx^V3AfrdOdDP74|z} zD8{e-F(LZr2i&dOBFOKT@OIah9Ur_&{_-7|@Lo|9=fy-2v>Ob#O0=`lJ86!)yf4lR z^ZooZAUESgQ;v^!tcb86EQ>d|_qWCIU3h0#9svWpn47IuR~TR6ufM^98l=G28~q=$ z-Z`$%H|!r?wwA3`%f_;6*~VJ7ZMWQ7*s@*Aww7(zvh7dLHGS{<{yqPE{^*s?>pIWl zJn)8P4nXppOBe9z(2qRppXGatNWAR2GAKWTq}s}HJWplQLCzIgU%(?{BKOOZ7B%>2 z(bZ|^i@oY~NgcyGc0LXUMK+j+`)L7RsajTcxo+Aq`p2uZq-`q{VidibC;TuRf4KT% zeuX^09PiAvZiF3@51;Cj0F=M^eC>~3d60C^j9)2OClkq$petl{Y!Kdy&&Ijf?I=dX ztDi^9%g>?mAE!p;?mG|1A|CE?F%&!WkDQ8h=D=N;F-VpBVy-NAk>1PtWyIisp$k=! z_hL{}(~CtX03c4~J%7~D94Rn~ijy>b508QGozLGVCnu{ev((eQHUt156Eo$eogfM% zQg}${xG8Uo-Ds{odF%ibF`SoVy5}|@+CHS6aD@&rM`49H_P=4P-}x_k(cKNT`fq|o zSwKgaTw;U-ZJM>LcCSUF#13(I>yV@$Yq&#(-sT^s{kI}hbB6BgEH!Y5n znoHuFEsb$Z2iCi`VHHPzlzRP?vzW;Pvd*L~vOw^bexy@NOT#?r3g}9IpbMcaP}bN| zom*NX1Z@>5wEpv8h{w16VlJROUJs|{$3WGDvL9z34HwWH_>)=)>H-OnqWVW@;~3AE z#GM^H2JgpxU(|IW6=bMP*54H8Ioa z3wmrHuY$Fth8Fh`>b$J*CPCUbIJz1uz>-cuQrbh!9n~dk?Qog??(cZgvX!E0srU&> z$^vl!I+%wls?k?37!M*vmm7MO$8(T}*f)^nCwpU~`$u0=cqj~%?5(h@XEC9t-~b_5 zt^g4l$8Wi&Mp7J~hlPtLT3<;G5qk%PoWVZRHCXnXos z?ezf~F34M}?K;0BC=R`U=P~{EEk=|}nhwsd=gmgzAJDbA0uxAqU5sHTD%wkkfSh3U zGdSzHS(SP{Hio*s!m<%i!Qy4%V4-Q#-hDMZ1IZFCU4#}<*G`n8>?xVsRG!Ctq-sn- z%V@oV?rm{BJ=e^=<}y&roWGU)Uqufs?8kx(v4H0648aUn)BNSj^kAYg5 zx|;8(3BSrpuX8W#T^i9DB}QHNxQR;B(UO>ZG~$mBxy;!JLEwfGh>MN4upG>2Wb!1+ z;?6nV7c<4|hjp2?r7d*S6!bLQ$Pds4k#0mWd~UYRgqCIf-(&gBl7-Z&JdRC@UN0s= zW7|mv4j~+Swe(Q3QOvuNrG_jEHXoVkQ`dpC!?H(}$u+SsR}w1Z6^ zf;a0@_&awQyw4VH9Sjvg7u~*=r;KlPYv@Z#;;?9s2M_4-9&FNpQ ztE$J+#=gmubME^krTBZOwMAmLWZP&@_o?K+85a{cct+XN)O63!^GDNZbNY7M1!52S zhbU9x!ba@$i}x~py?Hu3+LrRJRF1*I^BLT(+a4-UPhSlgb)&SNche=XWo~cJ3*8Gt zEa=q|tX3UMEnx&&=4=I=Za&^EF|wU)2_bFM^qV6=o?U4mXyu3X+0$?CtV~I$7h#(h z)(XN^8qF=;7l(^(A+cK-#y~U~(9&nGbNrc*vAf@}3Ia+t_=&-sqFz=vA`cBfZWhGzJOO60+7IPaYNp2}Z_ zi?)LOAnMQRkCqu@=(CvV9D;*tKTQ|*m}It}4l=Hm%a6kzGpDpcd&D*Li1)sqTx)8Q6@{<@V_RC6 z&52aWy9~;y2ZoV>S#yucqIQny?D__kQ0#y>O6^|^dNoqdYJXbI>`CZf&l;by60f{2Z?x>p{CxS{J3_`17ha zsySM?)xe+}ka=6s(w5C&GI}~|V*>OmB+tZPx$Mp zN~4T#hlkbBT^tmo9x!#eC-W0f0VzmFmfUcJ&X7j0u-0!R;4mL;YecU@=8fHp143O} zTdi*-BD)QeGYmZbx%@>*__0Ly87{4ppDxu54t1*F5HIAx`TB9u|SU@hSAQM973RLz>1g8%f*c(+JTDw;pUO4ZC|o z<2sufd*wcnw6@o$RDc=t`5L}XHvRGU1jv3Xx?7gz5J12udA0(h8{ z13ejh!Vk%dd6CQ9Xa^`6Jw0PK z9O>B44>J92|2k=};gS;yr4SaEu>woZ6FVCZ#u5<+zH@^=S*b{f-+Hi22Pf$C#yE5y zD-s+IpvEX55a)))u{Q<9_Yb;#X4k5k_zr8eRdBSqyOS@(bnOT0QP|*1&|7a zW$ZCA$fBWQTQ+{4S5)hX(6^(No9o+<7;u;%(N-NrbD#|YH z*9TDge{zAP`2pog_^Q}vE;!ah8uOhFYLFD5<`QiBMuOM-Iujc{M%7T4{A1P zqQMTP^;r_5;o((jqFAL2l*cZm%*k}&xksVYd(Awu;t7fve+kcKpFjaNC`%ITsI#KWKxsjYm|V>s{OgV z2=(jwjizsL8^J?pVt`~k@o2w?3)1WKw-}gkQk9=lzu~PNTrcZSny1iBnAX1fExx=6 zvNGcbA0ketmjyj0LNud5`93YO}GsJcuS z@;WjDE33O(9e@=Nr-a4Wk;8XpxZ(~#npW)q!-QSM+Zy6z3|e7gp7?^Rsg?ZVdH?Ld zD)G2PRQQ?GJjvca2LK~4UUScug0?E2`^QKbhqD)4-5Pl?v6FI5jrEaZKFQ0VgCj=< zzGzlc#b7|}Y-5Y}y|G&MHX7Stm3%vuC&F_t%B7=sxvK}Ou%6J8zD-H)mlo_w?oIq~ z-}G2(Kc|7<(sbim5t>52ikFC&g4ddxk#LvG_6$iNi|#C<)!R&^PKx%aWln`3(#onsx{`nK|%*i;1MeAk=W zi{--IU?V*|6}*m5SB=V~*e~36M@kwEOxouw->8z7VQT$dDrhWctyfizTg53(W}X_I z#{dFYt|B8xSs9&WY=O!`Z!GQ0?Q;e27c3Fv`Ks)e3rWLlHV=*(4(g*AThA2(-O5+( z0Z61Pqo$Lqg@?G56gL|>&^`JQ!)m@P`NR8XH9*qCq}oxq&wMS!@>5pfUh?Pl)JV(i zf-7(pnwwWXRX)Z=^e;^jG7IxR9~8I>Jgf01F&MwU%&MtPfYF=DW3>KLb|U%Nld091dVko)~XilbYRlob7NNg|ZdZn3BF z%=0^xt1eMD1!&I5=N8%%nF3RjtsJ7CyLsuVyVy2{-P(|63JHbbsuXVp5&Z%Cv4ke* zEZOtAs_)}CuLpC!ZMm4uM~uX@>1L!RDjLVPR0X!9)KFjGx!-Hp0d>8|gR{5UiBV&f z(VZWW1FIw#Weo1y3jdI;%LL!@JM%3|`87sYBE+1n&o@MTJoZLnY*6luiSIMxVA(32 zAWFi1L~5hwPq810YdJt5KPvCtS8&6$J#EZIE!~FC0^L3}uQQ8;#D*M_ zDjk5$G~2SETv9WU_c|svfAxV<$88J|p38|;{2yqi@bfEU0@aVqPlL`WF7Q;QviL8P z7kS*=kvt~=>!|B7xPS;`*E{&)a}L41X>?=arIeY$4R2Uhk)8c9=p5BVnKH7t3R?wX zv;2v827${WtM>5A_IY(tgn)|@!!D5%pLN~ zX>IeQII?gZ?pWVGOvJSC0YH>85N8;^pA;vhVWAU*`?G=TuMywCo@ zVzTmRvN#ircU?2LZBM>8qu{*ZC7xUFIq+TO!)V`V_^o$_L%LGa*L+E&aejVyeyp7i zZo;=Vx7S);Nh1LZ;2{;(;k@uodLL?_R)r?)a(Tik?{V6=yJ(x}#Bw?M&XK$J)6Kb4 zb6i41DrHzVbE!VIJtPD|h0j?v8wULwG*}2rThk~Ud@hm|zx?jLJ}C}72bAYZyC}1x z$#VCL1?hfy-7gf{XoNw+IwgfIPr^m^_aVAr0aKhHj_sh(l(sJnl30Ok=;#tRamAdu zh6gm{MI$|m-t8dkiSVdqVw@Rur-*1+2UlmU784kpOFh~5n5>yO;}z=aM$B^r_g9Sw0on)cXl3l)X8&o8 z6qM4@PXG*dbDs-9|=%~rw z6q;D#&(}8t5Te`ERGkqa6&iZ%R!h!fRHYh{kNs3rdcqgTBhg_f%)7SEpQGbVN6AMe zE=|zB@l%>KI&%v{oc7EDa?nt+GHNbz1#N&ibV`_kC39Lz2`jkI`eL(~Q!dvdIeI@V zII@NwXpKtR#G4j+71i59!SBnPE%C&0=9bx%Rws&Wg-JMrng))lr1uuzxn2G(Y3dCi zv2C8Ne)3xl2H0$P{9tdXSgJ2Sk_D>Ut|GjH>Va9|sk3^vZA;HESxa0{Uq;RrA`o!S za#uMk5A5IKsR@Hef<-=a_v-r4Y4BVZh+VF>I`g_&5U@6x6Q*}Bm$MxXPj3H#_lT;!vE_-w5H zU^C2uAZdn&O{@kNT&fC733@HO?CfnwTbpJkYE@Lz@zEpu45cqIq@1}rnlGpsX&HxY z1B$RmMrsv)Mp*u!d5b+XLl4UmZTtz!MQw*Q-_4zirkJNo_sX}%__3&r_R@;dG~YGt zF{iw@VPPILY1%OUuzTLqGa^pCE*KV!|Mj4q!j-szUPxT4De*(pkeaOpE;{C(?_nNn zi%_N6JvSKmg&N6oc-YWv{>7NV4@M@a92u!3t+GpLX!LW`xOF7{q~qc)YaE%; zL9RiY-pNN2m@@9b)a8H-(+b#|+ppZ_cQ9+iAoE%H!naQ?e2cY_uQ^haoy24OAmBr2 z=O%|}2TAA5h;WtE^b%9l-N;#QZ=p)E>h~6koNEgQz=K*Iuk}IvL@1F5REVE_M7&K$ z=7wZB@@o?=f~j+i#osUsog^GTPIt=3BEXTLmri)s~@0smtClF*d7}>W(=A zAZ8Sl3-YdjE|CD8w6qI&_-G;?_nR)`&T8#lmvNY|*6frJgze$dBV_MB(csXZKewID z*LI#c(?in@yA!3@FT;eqdl;&OcN;W_8DqYvT zpTW*12vT|9K*i5ZgUAmb+{>un#(KBfAACB{J2Xe+yCDm!$&2=GY62{dH?tnK2fYb; z+9Gr^+wpN;cIhV5c{ae<-5o0SQ*NH=(Y&Jq;$2oPd88y;wasNT)(F}2bBp7}Mg7ry zC}Y{W*VP8x7LySGZYZi8VfTc`Eu#aPcxBX z<)hKJNbN8S;v{BwccJdKzW2N1{JNPC-)AIw$mmcmBF236G&EE$p1vq1!UNLi;$COR zN4IV1>?R5^qsJdV6ggl^$fc&VYNRy-CJ(uELRSbzisu)8W<5lUXvY3BL9*U}DFAifV4Qv!qGMfa##Yh&E6@SSbHUxsKf$gO3JdZPdV?yB2F zTKbOp+6W12t)rQsA>E4#l3@P2zJ0ih$9>pjrKA0o4$-g2lT74av)oKu%*2;1{ypc8 zveV}#dNMdV+>D=I1Zd|K`2acro$UCou*@i#8y%!aYz%ex{@wjG{K*2&JK)H;s6pFz zz$7HMkGcEdl))te0EWoEjdMYofkjv?u3I+HSsMb!{ve zV(iPIInT`-m*aV8V{}l<)m3*&-DxllxTj950Y0)p_3={Oa`j6cDm8l`KuP_U1iEGJ zQm?Vbyxb{~cW+W}BM8vO9bXv!)^0W1WsHN17j4~qg8+`KvQg*JIkp#uN@o@zmZv0S z5+zcH2sxvmq2`S(ws*aTO%zB33&zW|vzc&c4|{`bt$n=eE6Gt+3a=ZH-)E-KPGsAD zQ!^Z|`Zufrqe;Ikd4wM1|AinC?pT$5w)pbN`$%`DB5h_zSpguI4fLfw#y~xKl7~Z2 zD%@7jnz!ceszp2Ms@l6 zKu>dq596JP*~LM%a!}P7x~&X|-!x9a=Q5!n=x$yK=5HSd$gi+@5VUC>A?7rrFlac# zne*dQYK7hB-VAXn7ZxgW%r9zdN`9G=%u>=&YF%b_;NLM3PZBnEGICsC5EtudsrDov zEgD|!C}~&~EJrtpd#LtV_kbST5db|T>3X8*wtf3(Vnc+6$K_zx9!eGI@zh&Cjm643 zX{Ce#3E-9bfIR5 zjO?vQy`3sp8}(~|(L$A$mezS$qfA!EYKA{uXFv3X@0%+tifQ>xGB18}?o6K70aC7p8*UOQCMWHKtxO z+1$%dX?J(D4Fz;Q@6VisE-5BbPCbgD2!KO~Z4)eg>QP{7M6X+`hy!*zWjg$T?;6_+ zw&DA8et;dnu1uRv#Lb%dZ3jxWplB18*J5v7$FX5n%@2=zWkvL{tebFi^bJcI+ zTA$eZM!KB0_VPo#(90%5gtQgVC%JCUOC5Q>o-w-PeNxn38^`144=P{3*-d!Zou2&m z^;^A5`ojo_-%zW`<6RgLG5wI1cY|Q5TFHkZCeG{{>do0Bx`aSs8Zne=IRd;j74M>T z%hUM*PP<1{_YSy9^=>*|(0D5sqE1Rh%x=MH3%se$nB?}OWGX2>*qpSy98rvj$((9$ z!sOD6yLh!KR*A@zP)!dTQfQ`7DSR-I?$TB)Zb|9Q;S8okf{pXZD{4gK?octh_zM0f z#wX)~tqNlPS%ROZ0&SCQ@QJ`YX)Cslh}TI*!M3AN^)uv5*xp*UW{?IJ!VkHN*%IYo znl3lNZUbxMJm~-kiqM@#^w8JvlKqz}SDcE8)-LB6Yd?7NRKv9Ld6}TGTFwJvuB2(5 zMcfxH6G{>m6rpx$k_r|gu>RgROcp?{f^)sUwfSd*<1v7phG}z7&>KkNI|F#%;oTEck+*}oo#STyIK36kR)`Oz( zecgv!vlx+*0wOS&0Cxf|4;pT=JIxQ&GPf<-cGmEqA0nUHL*?hm=HI=AcCPT6(#0 zVz^h;9~a9IMDrfHxYUsffuI?#oApf*(%l-r7dGH1!>aBHgHr2%Hue)^6rZ+$j%L#y z9UNvldG&mES${HOpBRtnH2`mPy==<-W%U%R>Fl4IZZZ)Vd4dfr)yEHJUs{!(2YW!% zB^gI+F1Ax@UCmGA4Q^TV;_dGW>f};(B zvH7%TwWHdD=waIaz#=P)Bk0L=B@W%xK!^@0$mOkK!Vc-ENF_Xtzke(D%_m!O z7Yq+V9%qAxm`kyoS@7xC0$yjSvy>BI)OtRr1#K&f$Tt;U=UQd~gF>j>Bv?OA5oY;0 z-E-Ai1KKM>zkclx9-14|Z(A+0W;K6{W)II7+?Bl<HqdO2IrJ||p) zH#U+#Wxwj2GMzac-5k9}ke7RX6!O%Q@(uRKa=vj*Xfv(P9O>n4JfmzkPr#n%Ug1Nn z`Nr1P_BoIe`rePoD+F);yd(y>U4NCZ<0L@)4iyR%(y(APw5|7l(A@yr;vKj+{R--6 z-(Hv$-}73*XNGN)Q|U&6-5fP9WMu1ygSr`tT1f(P2h$XM7AbHbj(UE)Xk7zkt5K0F zZ=?|WlsV%!oTQzPJUU}qs2pOj{l{@x#sp6NGUicgjXm1gg;Ou-(j|cVG{UM}%+^c> z0!@+m*SV=$Q`*}byD0))!hj>g9|}-z`rjql~wWtK2X_{OPcfq=XV`dhN&S3lRsm?bp6E!!&@R9AoGTbQ+^R`p#hstx7zf@0LR|cYkIxSmr*-Zkg$*= z0x?Y|ZG2(U;2-_hA6l*hG8doZ$nbQ0L;xrFB0QYJbjD-6U7i>nl7L~BqZOiCEtLn3 zT;R=zX-Lp%FBOp1aaeXvrg@@Q=*o*AW7zXF^w~_&KzANI+(uVu@*>*5{U1v&JW8V7y_;achl8NS<7A17}gcSlU;^0IPYDZa;PPb&ja`sdVK%&=`x2nHys<9 z5NK6i2IpaRx7~KtS(0+y&Y{K{v{aO7%%UBnSBrJGZ;=;ZT}vzs45FhDs!{f* z;6fEbqTkSyH*1v$Ga;7wJHGblA(Z8>_v${W!C&CxuDcKlNQP(qfc0nhgtQaJG70y_fKIIo2Q z8Oz-|b{2~IOvc#0p0>Z{{k-wA|4k*b4^mdUs8|ILSF+trZq85Zm|--*Kc~luCIJ7$ z$@gM*s8vFytIW5LxK!iDw3XYuf=;P3-1=rKd(ND^@alp+=3)9Jwnnr-%@INFpmxc> zI?C^y$clN0NwkuXP(;3D`Ka>U2q|FwBvV%fq6tW#;2G16C~i z4p7CF)cUEX<6z@vBa_fQuE+hnjENLRjh5v>IeyPeS|^-Hs%V=`3LEYuj!hNXpcV(W zvgBzg8vj}X6#>W=g4+q({3Juk@ zvM%DCC7I5HNwo5YW7))&`U5c3{gJsGrkxSY;BhhE9*Nm9m#l+~V4ZpB+#?m3(=W+&J zgd=&D>&X)flqQXWoF_7s61K6;1lYrP4b~Cy>xgS=D`&TssoKi&@`R^0hJ!6>IZq~P zA`%O~`;7~(VabXJxLu=7m`Qf_YNmyX9m1F^^dXZGTyA0q4=icg3cXcg1FY zH+q+K8+o)QyH}!+OkNu`3&|XY9iY0fFvuBgpYCJk2AH#a%rnz{6$LDiQhq(J2<5rj zOV>n=BS7zIH*HL9>u5qOKoXaLdHl2$ zVsWgk-d9i{b7#7+SdC4?Zt9kVmQ{RcVHf>RirzKNZ~r}~U(MGP)0$>%cnV|VNlAQE zM_^WA8NBTm`(uG>`qSjyzgfheoox7PBEg)_UcP_h4(y`!- zqHc1viBj3q;w+rez*i`qR1(=K9>LiBc0Hy_r5xsHPCxwtzHDn;g91!jVu-YYJ?-UT z;&WFOO&WfF;G{V7-u7GkP>UyNHY4(Jww9;)hIi7OWF$QS+uCOpW1Xwws(^Q;%{8q9Tpj*NaKRqUmbMTwhK!K`S7p#T(ncRC49;g^<2RM z?!5f`HPn95!D68L<*tvxr2p3z@{4=T^nO3Yj-gLXwQo?%@w|p@xUZ^ufVls*zR?{9 zPE!Tg&65=jNwWXLczg2--1&(qL*wOxd@+v_+cl+~2uF!QQMNnVoLzO!xFFN5U!6uiKa9fIsn;9D%C_ zks8on1yyxm0D0JYp#y^~%v)B(ue#ObzYq5Z49F8=R->Jk-uF~;hPA|A=ke7!Ie=vS z;`i&HUoT;y*zQ4!*bMq3gM*col_5?Laqk|k_N;W%Xa&o*)XlxF%l3azGBlAI{h+m# z)qfd7q@~R>1GHHF&RHY;;G{Y2$S`(x$h!=KSYIFSG=3OwovhBGVXSU+uV^mOkF99k zs(sQir~RiT_q+Oh^MUSHm`G&pb^c5BVD`_PWyo2L)&wa!L@RD9{nmqS5II0PcOuh* za0m{Y(ZbSVN9b1ECiyW?OzS6_;JyFnS7m1S2^%mU*A__dpRq057@2I1UkUi04@%p5 z>FDXL(y?3#j0qI)+ZE7DtJ!EYo5Pq0!4`T-AUzn4l6{fSXgveQ0BvVKb9wl9`u_=p za8rF)oJ0as=X^mW_JqkII5-Lsp%q7PyxiEBSR-02t4;Wyi{#fiG+Y1W60uGdHbnj# zqsfE@P9)@FC}39Uxtf=As5CT0liMuZtD{wMTeSm@k+?JR=vGgBtiStJ`M}#T^|v%3 z9u}A*>t*MLZZEraYihD)?)J3;Cw@UWs0^}x+q5o8^-F|qWVWB^n?Q6A2A~HpXE8Nt zE7n(_aWvs$w=D2Z?wCcohx(T2dTFR__K4A0=}n<+{sJpZ7@?8IZC9@aihd7 z6%nRzh}ZqrFpyipA;6W6+#US`_+GykEMmgPu;k1t$qCKL=HD%QY3vi_;IvaRQUs)Q z1=XDXEbkBO)XePHqRmW$4*!HCCQWdT=)@JO&>FmT&kqAL)sHL))v8@;r{x|Hmaz;S zvzoYAyNf1;8P)Ys1L<%!zu`wGL|{Kd9~##VH=lgpl)2eYC4E$-3u=ZAvk?+Nq^G0D zN{P%n>ywrz=@C&--c z(LN`WB)a}7cDmOOr7X9Xmvmx}m-rvqN=n%Pa9bYh=?2Q_O>JuM%D)=U2bOnbOw2%0 zKzU_E^C&?LLO44Jv!%v(CY!aNP5ttHJxHYcTjy$5H_zY<`8!tKsnCCQ|KBI^e_#I= zr9xtw?ia6??3(FVYsfr(wJ$r6xw@k(ZDmp~;qcYm?%y}(w`VQKRpqp(kQv%IT8WU3 z?G9wy^)3^BncH z<9XuQlu+M$-J@z>=CRv z%ALtF=_3S+T##qu_-)!;Ms2k!0@l`I4GvGsOKQ7%CSs_2gj$wX_4&d-vx)5&fCpP^3%)9|MNgE(?4 z*Rg@Et?M~TMS#v!8)(16ImNY0NkgUPc71}MkJ~a@fmPc6ZN(=1KP>?J0qK`VoH&m0 zR{e_dWL<*Y>s?~)MjP6yk`9*REnB9dl#=TC!GDyd*p3wnriZmB>XOln$>PNTU)2>rXQs#{KndGAm!dQf(VtybQZ;I3KS zM}fO1i7y*xD^#|N^BU64p(#+B8gC)NV2)y)V9WkY-`^VQO{{gUs%b#b)z!y9NK0n= zipyZZ8+3vRCjprw_xw^;L~t|9_54{>@?? z{i|7)@gEFspbDZ7w8Q}=j?dLpMB(NLp|2!%UHCzs$_$4N`Dy=HcfaXCK&=GNg}39r zQT%J!9T>1c3jMW#khX!=1?O=D2`I z7vDLT5r6Y7;cI#=k(eX-QZFV$8yli2HetK;%b|jgjFsa}V%0MUK3FAHUCl4vY9_es zxx~m{6-%S>nO}u!82`JkBs2X{aR?`L>{%B~P3$*9B22GKEjo+d2z7vED55a~7D5KS zlz;!NUnko?!XEtYVA~7Xpc`j zD=9RDe=j9LaHKCCrjI7=v*$omceLfH$6k!`bqtjw6^2+5lug2Xu;oQGlEig+QQne3 zhDU<4b8!M(`{dutE;U$>Wp5t_RffK~f`>mV+2=iy_?LTpAcKs>-?nSwre2E54*2Zg zeHwlw-N@^(PiH2$k*cmlcO=mI{lj$Cg7Cdo8@Dc=z~7|&&)FOQ@QYUbK^_VFw*U&I zSO+&RI3Dt|c9R{=v7MHEV?n!NQuzbl1i%wY2;2MnLmhBO?LHq3F2sMzcXAV(vmaG# zmB<_GS*%-@$8RI;uUXDKlu4^w_n3vof3`Ox#LD8~_r6svll@o5{ZhsSe~()PeNx{w zY&Dc{$+EjyH93+rHV|3*UnAw$@eu5O^I?K1saN%XR1f}8c>D&?-5mSng?BLWg0~;f z<&&R$f|0anFa&%!j$=;wgFbi9^(&jZAGU(GFyil>0+@)dCtUsEy9YiV?G*8@przk3 z(EsbT{-sd>UqNkfE{Np%KLP9ao;`>cv=G`!g4tivYZ?q2a;GIwfu%p2bCl8hdPcgo6LS`q-Zvq9Fwm$A8Oaa(DUvyb?e-Ikm&} z6T+B@E*eS8igS2vS1}s6y@L}hJb)g#$@R!VOZT?jzk$=!Vn*h{xbK&n?pI3c^Ye(kAL3OMY^e@E}v*;j%6QYgi! z(`I8}Ky-APqoC3zs->nEA^|Gw6NSdcz|1o?N=ir?a`B>|c)r_@i1mQH^WZ>2>48-W zJz5UH*L;^v!A?&5EMBLPfcXv3rRG`e2K1DZ)2Us50q8W1bd6L2j*BNxU_kdaCI(<6 z@UWa$l8g`l?db`az@2i?cdh888W|o`oXGLoA1o)Nr)ec6B?Zb08B`Maa_KaDevON_ z{_{gYKN8K?&DRM;Fl?Hdn((Dp%~`5>G{NwuZtdk8oj&(a2k~Ym&|v*#Q!0uEE<0Tb z)!53zBO_hl&%n6I*f5}_=ee%$t8c}~@Sx{I)<(Uitr`Fk>kyriL--4ANPYvvM45{k zhyUfX^!vPti@Y*d=FnN5qy0{(_9U}pfBAV1e`K;z;eTyk|0a^N#{hQNdM4wi4&=%a zqb*VmC?c!&tNG-71OF;YP0a8h>{U=(L+;NhPNMqS%EVeSc&MLf0gC44aL&SZe)6Z~ z*4g9%kmM@J6)m?@e(8kb$YDv>Wop;+0|)}6TInej(dA%J-RS5rp^!f^HZ74g6cx|s z1P;-B!7Zz6R4}kGw-#Qe;zM{A4^^nF)?A$ynsmR3z+sg!iR}X2*{tmbQogb;_32%2GFsVO_bC^g_|waO zfz5z14-t>^Moh4!o|jXkazh(qpMJ#bF^`whi`hsHfO&JvT~`J$9Y9lT=!snTi7Mup zk<~&?TBZ0Dq~USbqiJbrEY^ryY^^1_F1ns-!ELDpAl;zB=MY?Ek-`ndE>l-2Aku`c#f2W>-ntv>`=j&gB z1SWuFJ;U)gOYXVh&tKCXkB57skzJIjkh2OZ0m|bW*;(7^%POFuVob_>GAO|&C_^v}j zWf(Tm+A|uj(6*3ZbM1vB94R)GGcwz4syPtm++Z#64n8V)`o zb=j*(Ox=BF?Jzo>m($)T&L?PEt0!o%_{q@F#e_{$>VV^N%Sfm`Jpd6ZEzNw z^v)*#!kf%5`!-51hsOVFmPY~x@ZDH0HzUc1@@w!ywvpjtBxbl~M^yj!?J@nWqce93 zmJ5w&8Il>Z%JCvCZTgdd#o2;837oqKN!EPhOR^eRXlt45OZstd9L&npc{}k7x9!4? zoOL!m-2r7w=Yus2TGs{uMGG#(j~A!%0u6PQc}8D7tDBRKGSHK#bcZ7~=a2{XtP>w= ziIedS0)UJ-#k{Z4u;^h{q|o(D?O(0LiUf_&0zapJZ~;^=NM5we!OQbZN|*B0Y|Y>? zGQaxa^sdfg39%p(@GaDd<$l)}-N#|iOmRBp(tL2tluXOpjyGk<@pu{*6K#xLWFPt= zYIrAy1`>Us=rmKvHj6GY_h0?E3(D0?TXH&myC*RG*i+x?MNgPzOj2v_Xg_^KR{irQ z=Fe?%7}>@%Yf&zAuQ*6zQPa40)lz>m2uhhu8-^hn9Mt+h8fbs+_}`z`g6mtYz9txI zl)LGR`4@7=e8WT3|NCYHxs3mUYPiUD-W`rcHh9wsR~8KO3cS zzrItA-a0ZPM#qhm*r7K6s>+SO=l2S6HNE`fC`RPzPcs;UaL`G=oE{ww!~V=WwF77* zcwuD%E(a-#Y1K9lJ_y;Q@;o?XsxjU4n_ig>L2;C_R+Zwann)`?7$rBezzMDE*zNq~qKwr|y#<}D3GAP<)ftpEVD`*6xc1Kc z$5IDUoIQ%zcx^kj`=`6C)^8y&O@Mu75F3Ler+5f4-_-)@qxX%ELJkGJGY=|3R{p5Isq){+g5FapviL2$wX)Qi4=UD>K^7v^oT6xb6AyKwC+&tAD zSs~2(kGbOJxN&a?j;s(sBM#uT5_&>HK0=CmK8ijD20lI$d6q?z?BMs&HR=i5_?nGt zFSQsSGJK7uUt}}RkBKAnJ)Gz+w)PHSy+c50{9dQ8L=7fpRsIr5AwX zMVt3pRw-xpqK_~%bIu-soY&c?Pkk4Blh#=^rqe>h1;H*?G8_FbarE2&#V)@ZrFQ+z zF8?nczxnV562x0~0on_i)k^?NjB-HHVf%Zp{>~$vVUOf^Z47LP=D6XtLXj(F0c5u8 zz1Fw(3RCAkg-79gG(xnX5!9n34ANX9Uj2-trx3pAvj_w{RSTZD_|AhtS=SoAOhlt5^>8M^yWoF^t#3S_c z*<6)o1P3oy6R{EG$NbNwN4#a=$iDh9fXlB%G^JK-mk6CDJ?zI|R_yXRGra5>QdS;D zKGtRtE7r>EcH)sAv~Mwr6$&wu3Q1Zmbfi@vyJ zqJM`43CUU{oQgXtY5ffcnVqk{)2RX}SioyLeLE1G0|O5C)czrGar&HJX_+ zR~7{Zy0+sN5|)sMH1+~o+KMM~)LU@GyLDStM~LOU-%5Iv(y!X-Z9!e7V{4)8sYBoO zk0?F!5!Y}6@Y~z2AC1WiQc})e>_ZH5{tWpAuVJ4&;S|gC*ju2-Q$<>6-YOLt`6|MX zR<+ZzON`g3+}g?m?1|kjrCtQ=BEM`;e6|CenPC2?8VoQZ?IE&zsHK zQENlQG5PbptF_E`cR$->8o7DQqCXX}3*43T4$Gu*I7A zbcT<7;40NmYEV;@Bw+Qu-zr5< z%0_8GDx<$!26*Vi&WW3WXGrv+2x4}I~vvrMWRA#FZ)QjZWL(R@okQxL0B zYkmp<{WhMiL~@`Okg{D{?)LU7e6@LxF9jZNBM;HnMrXxAjB;5_oL&W7`dpd@LOzwu z8=KL*%cG27L^C&K?@?p( zB9(cqp_dq&JFSv!xIEb1Vk~A^QH0bC1~qVirhT$+S>NCK(6yrcRi zEB)<3ZC@HoZcAZh4GmcFGT*bIr>s?`9@*K5-#AZT@_NT!*e0PC(~e@vn^e9w@8&J7 zc;CGCWmKl@riycWK3h2@RN|^|=IxQp-y5(A4mJt3X{okm`VLRfk?y>>L%itAvlunk z5U6~bKxiua1w~cXcjDu^jz;l#9`s&Mqs5qlC{?sM9Tc(WeW10WW@EbZ>`XqY{l;d3 z3bP9I=Z_>#k-%VrNLaumEW~H0Iorh7 z!ox4R$gX+bm3<3d;d~-mFk>$lW(89fwOO^^z*6Yldcn?*49VO$fAPw4wv*uD$+Z_E zK-MIR9WK@BU)pk)Y~Jd8X~|1LArzRZRz4KEbrMz{hCAaY0YHZVNhWvK55Ob8$S#V4n6eL6Q+-=(#XTz+zQntEktnA z=~Ww!BtD02IjntOop}I-p??Y{@jV6cEk&qijnk2#qN%wYNq=4lrWswim!310bsJ9n znufr_(ySnM82v1yj z&;1J!id6Mp&w+qF7Txpz>@i@r^ljttZ>0FsIQacJo!*gDQqA-us63h|S``w${8>kw ztxKE7=LCCsLeAV!)N)7ZZyy*aQ3bKVY-IfN3P^)=OLs_j zcc(N+cXuPHbSmAAbf?nY-Q6jj|BW8cx#!;B_l*IJ7kFXs{lt3Knrp7Pz{>Isw>GVo zo!*0l@FU1O;c~sy@s!i$Fx?O3ul8i10A6MNY(V}V;LV5OEGiKxNE4fg30|{*hm!nU zPPnqaZGL;TWYS4ljn1u=8nq#0DL4sFq3jRtDg1d_P!E-UHg-hEeBrI4BmZ)EaUm8^ zne&Er98C1ddV9PYNBtV{WU0!*qM}gux_*?OuXAlwdWYx^I&fmA?6p1mSM3r}F$i8> z{gC%l8osXUM;K(Ki`6DSkAYNi`~iBnOr#=&_>d1ZdyKvUXNGcr*VaBpFT-loJ{t8KVC{C7{{&ENZ{u? z(T0j3#`=_A7d(6Ruw@}$g1VZ|+m@6*c`?}bq<*ro7v#t=&dob(W*G9ErycqoR602; zH2g1^d;$PIgZI)6j(;UO{&p$>WKiYn+dyEaqmru2#%qr zGrl;JRyz>nZ(ZQbVZKC?h8wsXcHf+&znE6n)r`Rv6V^^k0Il9tEf>Q*>3YBWfku*~ zi_nD`uc;VPnPKBY!+;5@R-55dwyHN7&8z{02xnRw3C}IO)OTqJ<|!x$)Y*m;;=h4R2=erbQU7M=&;VMI2G?`W1()84_48b5bAZM z@t}4i@~wdUlGEu;j1!jt85J|Xnl6zsxFf@f=cS3(K!LfLQlrZx{;bf9mdbo47ZCSU z*VGQz&_un8jdBuZ|0GgeS2kB!C!$PISv)D^uD45NXu*)<&O!>Vpr2t!Nlo2T$4pF} zpObTu+taJrBm3C$!uuaOZ<4E*a1h)Bvs!PNU{bp=0CF&z<9a$ z)Q!D^O#b5oMZfU=qEk$*WB*x@!0)h`{X|JOOh--pKmU^}^W!AVU|>5Tz`X^E(Kzug ztr4dANX7->P!&E09xnR8jS(Yx3bKmkvyMrSj}Wli7dbRxs>d3m`TMp6%VvF6ZUJQz z=R|@dKAXkj{wP-aW+=j?*Z&OzU^lNiN{k4+*f5j`L%L8=gJ$R7t8i$qSRYl|+s{}p zwdwZ=0NDN&8rJ^vuGhz+LsMf_yS4Mna{g3C1r5<)Y)q*R-v;xoEGk;B`_Fu3xp~)z zxE?1_X_ZQ<#hC|aK>2zeeLdz=@*6%m=wii1Wz{emieYz2w$m!cmuVUbTs#yk+ zgB3W2SaBNLPE`o4hE)sb;L|mB6U-KazaeVWF#DrggGvk-fzVWW>)?M4SlAb!qFB`P zyx#Gjh-y?o&-@_5Ar`T?f5534Cw8u1@JzWlqDGey%o5AxovBp*ludkamy&3^k{-@k!?9F`lMb?J|dy^80qN=dbpA=2SnVAnx2OtmO|T zqdLRz7OTX1rhDXcJ3l`2`;>*~JvWZ_eW|gTnv@1xJ+HX{+O?HhjG9;1)J%sJ_)WN6 zt+U8HH~R~U%Vmg+TAu%O4sJ9OPnTtHpiK@m=iIG0l;Bo)ubkB*FdguokTxkO$Jh`J z9ep6_LK*EfWK8*csyA((4_WwZJTj6}Qkyk?Y1~Di2 z<^FUGHkE%#u*&Cu{QPgu2MR-W*hgJ36ox2}G^ABgw^Z&023yeyXDOMHyNjJ$pwSQO zrl0zeg6H#&B6pbE@mh2Z!6)Kh`x=}aY5$NlQ~j_^;vVOQ6JC88oY6`!MH~KX@}%my zw{IN^LrkksW*2B z2tbO@Jzy?BJlgxz!M~H#;Kj0$elcj-aSygJ2^9=@Y~lR*0%z7l#q!7;1Bm7FB-7k*0x69y$#+pu+ppCc7)<-)H;JvXs){M*kNqzu*abL3+ z2@C(p8~p~>3H_S*0S%fakfob^;RNeNxv~O^9(YsmiEf;FGjURD!!13}&C`T#qGzk8 zePZ%qndi11INW?=>l2@MQiau?cKxNz8})dRvy(FuOlQ7^KYEt|432L^CzN4hDBItH zRm932bYN(3mx>(9gItUYJeZ13HC`=l<9iIz6QIjaN=juxO&$2-2a=CAZ{oMSBd(Yf zZ{h{XLOA#ftCdE|Wq-6(Mkx(ZXMr)RlOpfaBg-6b3@=AC4QBWjn^~Tu(iz2f063f! z1Zm#t6Q&Pa^i!u~d$syyvV4(|T}kP@kGduj?TgQl8bOcgM#r{towW}P^#SkE>vW$u z?RZ#2tjXqvN9f+UqE0EF7f{Ch(yK?JIkxZi9J1UvnNr^NbDTuD3W-yYselhEFu962 z!O+BF^f{@9ZkrC9UaO(iegmHe))Wmd2ouxRbt|;O$Y@HuTi+;m3+q!`V^#Nx=9e2P@zl;Y^WO3g84)t_> zX_`kY!)CMw(y+n%IX>7Ysl^jeCT;X=bg|^HGt@O~_P*KL%R)@6Us#wE4PxC}$p&BN zhIQt4fA-j_m1#mDf<>Z%b`B>ez*{g4rJzGF5(l_q#ejpv?Pt3DEV|I`@$I9BOD9*{ zZiI`;!5S9#IGk@LLqpnm7j}}3LOGa)k7+2t1P^{yD{$gar#i$mwJ#d&G>nsb% z$=YxSM+aNeb(&fLz^l>?dAl9i1;AI{SKX*8!(hRkIqz16w9Y3#c6>1S0e?1g@twFB zU{95-IJbAtH-<)fcngfxwuqsZE&n17K`SU)tuMnf=k->gUPJu7j0$~pqP5m^3WI&bKyCC#X-t?q7MuCwMXt$`lDEb z#=>-85`a0|?P9+M6I0kQwJ-=2O3Vl3_P&wLMpp@0mNI<_20EV5352qXTfN34NOb=G z#9MM_^%)Ndcm6#5^@bpuE|y98u8`GdsqexH>*2uXb1KAs@RFQ*-F(zo7w!_lVaO zcaHj@dGbVT9d%W0F2Ej@05Qj24D<{iN!VR({S1&vY`NL}a+>TCWkSDPZni^oA);rF zLtPv;nDR4GiB3zRFxS_hr!@!bry7vDLzLR}KU)3%(S1{ja)(|Q0|IwnW%?c}bn1+i zHi!1dG9w=Z?q%!iDvLrk-dlYgeLK6A8)w&dm?!yy0H`gtegdnS-eCKpmHsGYKF2({ zay@-JbrJ^k&UJHRt>}@(=+P^1S|$0qWWhZ{&T|3zaicVDKbgo?{Io-NfcM#Ht%;s5 zXGfoZM7A_{LulwDRqIIFF&%(0OD6xtP92pa?4R1$;q4&M`03JGB-~~KZW-vl0Vt#= zHMp^~*I*6AAhE)!(f=?{4tljtr4Y#=a*)?p{n-o|?X87>0+^qWp(t_bTh=e-_L?|2 zr=hQZ+L+>e7m0Iqi=?52MlsOIHNC##xj4Yjzid`x%j!GIuKWWJlZgP5f3cjYi*Wye zumR<#450n&VaJ>6XU#VOy!35IULV>yOLK(glgmbtw zB{KGp$YCX(sXPfU(F(H_TZt~U58T??T6u1GvmdUOUe7jKc5bFBk9tzCDq}LJSz~oF z)+_%EBvcNt@?AV}cuFhD!f1HUqgk*NyVwjb^SpWun4E3p&M3i`ZM{5yWU%Eu2k9++ zJdW;(8N)?q)#}n)3AL!-v zdU`F)`XMJarP)85eAsAb+kg?eh$y^??wbGwt~6)3UC`yhTcAq>*Cz5c!cpKf8qSrY z^#ZO+O2$S$y?bMWYduFQrw^n8Cz3PdtuWw6ig3pCMrk%tD-=eMrOUNN8yHv_nP_5B z<6H2rCM-VqOQ}sTBqCWoX_&uCz(&LN#ib*c)%}410vqHnrbcszGsl6MX;dYz&_Yx) zJ+jcT)PxxEPeBg%< zj)wzwXHM}PThpU7|6(TivI4~)rrClx|JoVMykI7ZD!Si>hkI#@f0nAn&Bbra^^_+# z91Wt?;l~-HO+F;F5N^Crc&}$-#B1;=F*y55EZ?aW17S7;nvjjV6AAj;>aJe!?$D^{ z`sW!8wD{)7 zbrL)2U6j0M_GbW%4i%_ERyEwp3uGc)HAK-bNRhtl4W%x0Ye`68j1*bT-jhFjDer!6W*8OXKSo+TfKeAU7ez<+r6uHKgTT!n(S5wD6B&`l_v@rS z)opU(>jv^muZc9v#XJcm{8F|6-L4DUi5TOqAB$iu%4{`n#&e6pb8{2WIeq;2>E8Lw zp|ASmEHipNMURak3+x&hWu`Fa5hxbWtdt)F^ChZN#{0=|6JYVlD@hXvNHs)%{Y*nU zx&o|eQaTWQv#2<+lHWy=;laMi;YU!~_cCV4*G}u-;&@LRf`o$v1-?u%mu>*vo4H=pJ_yStOEb5guPXXor>?LvJdFrmenEd~^t5rtSo zZ%}Q8-a~Ug&0LI7Q}p)H`cCp!Nkne#a8S#pwZO56Y86w!c>u8fwGZ7rz~wk;X78Kp z(~%RafT8-dh2so_y^QX9F2YZ~Vc-Hx5T&m?qmb}mek7JG!9aF+lu0{R*Qrp|JZP_Q zay}%xqy>dQXd}sPEbt}JXtq^}<*R-W4hJx*z`(9DZr)))$Rh;K&*+)e$Ej!57*+Jb zkF+cU$sfir%Fq1!P?v&M+I#*7xDZ5sxoUA(o#TBI?NJ{7cA{BCKs#lW*!sNw2~+0% zmq~)Rk?F>?E>3oydt;19Rv9o~C8Hd6ZpB1{AZ{dix|n`A>7AW4UqnSo0y*{^-R+V9 zdn3~o$<$A~piA!@HwG)P%wg+vXM$6^ zx=&s+^aRo^&Mfq7r3`I3&9Y@^#S%zotj&jqkB4{$Ef4cvX%YD+=_)Et$g^X;OlR|@{V<*t-a)@cJw7{L+p1CO{@Yxm%|a`&B5Xgj08!Oq zsJXH8GLUaRhy6r2gVY^-2(ktrwe#WnJ1TVYScA4>-4(49=_FEP^VQl&2;bS3rkvSO zl>hfNvJe=!#UB8RJUAj1%TZ2@G2s=HBe(rYI~(7<*TgsB(jQ<$(J#71V;umt6fg@1 zP4D-H3Yzh)>$(7nViu5C@EI_$qOgbn`Rph*9C4++kt76Ze{=`0&<;w}+i{H$btN*0 zCe|b zLn&s#9WO~hEVmd?3%?dfLDU9A=p>Csm}O*j?`~ERtcSHztN^hlzUvWM`FTqZ+k>$0 z7eX8|Yj?W4*D%29=F#XJZb9VU|9V6x})G#*@F82k5EkBi7)Ex#xf|8iCaw!%-J76v2N${^O=7|JU!&ZYusROJT8Wup& zE5Cc{084wGWrj3tbV{KOuR&zhmxR!LF^ZamjOjgg>W>kz$49xQ%m}5dTgtKmhMC6^ zwL;}*1V3KUs%+KI3}wnggqslx6mXB)5V^2|6?!TfJ;BHd%*we%4N`1!_aE|d1^vDd zFo*`e;_rRCR8xJwtsVUQzFyS4u#)>I5UMK!TmB8vcS+NzlMwH-^apmE`&JSPvm#tS zgny0UpM@X(6(D+q-yS-g{Oi{lfxh|K>m%gNEI6ln)yDccpOxfvzWxMzWyy5KWl<(> zw;7pWRLZMGs9LO2uKZ<2X#P!E;{>O&g^SB%0|F$j>oQ+~ixCK%-4OJqZ7>9GNZe?l zOf>`Ycr+nhpmF!>&Sn1X=;+6$BOb?f01x*0QgisIhA)Z)Y3DZnV}zivEuoRuf0u}w zTrTlrp0=&COSB2vnWMvS-_Xp(Of_LDRG5ZRf+^=g9WIv}a4OFM0Ra<}15>5_1s4WJ zu`NJiFh7?{@8xzvF0ZO+Nb?5A(#c4PauPrzQan|{h8CU>Ge0|X3_jMsOz`5>0hnYm z413K+$wXBl7ET9jL6dF9M#A$U7IPP~d$7G}fNz9_vWv6p@~$a1Vl9ew>kQ_j6SFy+ z)X0)Qnr8cRL$Da@XK2d_?hn&hmjW`)M7v|lv8w;+QvUP0o!U0w&*1+(j z$uwoyq6l({YXXu_@L>f+osksu^oh=80s!~Ng6)KJl9QABZD*TMi2>jQj7RU{?Bu-y zACq)Si%Y(#4;ggYm?X4_d5y3mstRaR~B{02aBwE zZpzT2u6m9uX6Yjj`*l7#Uzp|>I#gK6ivND{f4v|C;?a*Q5dRF;FFUY7D4!0r+!5zW zH$JW%#tNKQ632w9Sy0f0%5;DMyq-Y9*R49Q zwo>h!oI9cS*ebPCa62SsmuR>2AAx5A$@Yg$}|Fm*FX)ndp!s7x1bUUHMFd7te>iv zC&*CY2tRDtIcN2G8dEF`bn7nLBfuqqBUx5W3%&Fs@%Q)d)uj0+w&8k^#yl@`g zG+!Hr6i59b5l9LUV+=lac;Gx~1K|h21;m%;G%zca*C=8`;DK;t03h7g4VInXE!2Al z`&w*o8<94J94MeXG%3XWAH8y9*u8*b?H&My>k||Jd;(|^S6Np>Nli~rL)97+6aB^U z?w&7EFzRfxQ~!r|=FQhOPY2hi6(vN3*fe2?W!K9-55U{*oSv5C%@7!tIf_p&?ZzK!5)81I?YjOE<(cQ%Jt7nTGlyWnmDs?JZL?=a*5 z6)gaMsyyz+94D&X+o!z;l#aRTK36DGMUtf_x3~)Fp_a*7Wkc>{kSzmhlbv4xXkruX zO=?@5zbV$Z-K*>40Oq$VPZh2JI~L%10hQ^%*&A3-)IKA%pO=5Qvjy7FH{BwZ;q6-u zHYe>&z@6EnYl^+tL|hF$;giBglPOi+R;Ot8)sA>)x9=w)bwQg{6zki|+beS3Tki+( zxbIuaOyK2qvGI@%EeyOa-May%o-;oCbe@}Vq-?37_JuMaFC&V0$ZOKqU86}oMN2wb z9v4q!+vSrNQC62ij5HdCJt|W>oO&Nir!CX5Cz=DVj!MGi)l{Qh|KR{o!5qecV;u_LlPx$e%d z+y*v@U%#$=P}}@6p^L(0)^Vew(EASsQnB~hsK&V3s+XT|ntQ+*!G%($5WmQrY#eN* z#XFn=Rl~WO7WioAqhA6vo}{q2>hlwu4uBk3>#acrJG(MulABP#w1fdlhRFLy>zQ>H zF1_!EKoV|s*ZTuVBq$FTNqPgf%bqB%t#56%=6wRjQv)5sa;wt>5Wf4US|tN?y6@1B z5R)Lexm#J0PhjWei)_u;DWo`naD*5vtb6=d#X96P%VSf`q_#Vza z5$;bwzfDmrV zF|z$`?j_Fy<~r<$V6^qdRyh)<1sLu9aNiqP$r~>fo1fD=!tlb4MAoUG?_|=36q&JiI_9um=~;5NMN&>C`uoxZH{S2-xw}(RnPQ3ovq)9KQr1Ht^h8EwyZ=4s#oVGKR!|g8YI7m*S>4ca_{hv zgM(dwWmZ-emz0!}Gj)Sv?2@WFh!|wq!{= z3XbTnchB#Xu5(R{4Qg_Wm;(3&o{;5Z8rK{PC@4N35E8Ko3%?A1t|ciL*H> z{PT#9I`ovRv@nBzGc=_#5TSg_%Of@z27qlO58}6-x`!`y?0--0f4rCs1C9`ujc%Ra zCkUAoe|@s$kcHHO?v*N!gJoY-IttD~0wo8oF1V^}Eg+Psa2A9UYj z1h*5_OsZggMm)dn&g95Yb_J^ObCJ=o2~~|CcNHGIcx<7am04VZFR0}OL-2An;4v9n zrFpVL5k6t`VJ`Vl)2Y)Zj5eyWFQ%z6JawE^T>pQN~zzhN{qV9 zGkc%$u|-B-0p<IQY6t(%Ez_O~%QnxDi}QAhqOLvt z4rm}&K)fDhJplZ7N;3mZ6VmFYl`_hN!fk5+F>$+bm04 znG%^YKYvBHgmgVkUA}Z4oi6+SX*+lEAgf{xBZ>pEf~{cL^v0wpx(o@KJ?#rSgoH^( zc<%tcup_)FF}9vGECl@+L0gW-PK80T@zi<#yZ>vE{vW0&gx}htl!iui4Ve-WcgjG_ z2B;F_k^?b={3JD5X3@kxw{$yqd;=#LIG6Fh2}T=_2RED;PrBNpw~(RW$MNNjO)l)3|Gp2X6W7MXqgEK5T6}T% z1k_Sm%DDY38x%$fcip=dhGOfllYOT6wLtf8EL7Pm*z$Um=7SUjs z$-vOi&@jFk>-8kOhSinZ>8`#EYElbq5P@33#D#YW)%x9a^FJ)rKjzE#42dD|`YJ4# zRqZ#WUXK~VlRKp(&iw1foYY=mm&?y^^K60cK%h2ZQ6Frl%oy;L3{d#!F-+NyPc3oN z{zZNGn+WxXQ_>1^I&9;Gy5sqKm_-Hn_4SdFcZ~p97hx*$5#9Wt4vJxH3<)qY=~YEZ zWA{8xx7R`|D*()0{gQU5&QHVnO~)wk_f0KT5l2O22O5_|rZ*(S zYs!m2vA(d?+wllNu;vP33n};JFc+4mIcMb_JwpFK_U@nQm>|wTKo~*%vx$6F!K{a` zwzrK<=<{I_<+X8-z&y3BO5!w9%}D$j$>kL?@ljU*B|fytH|unWqv;s>Ir>m8u|353A#P+kVQDITZXvt>6nrs3T@tI|2?lOqoDO!^B{<9)K;eFFM65Z6}f)egTdqcT$rd0T7Xw_6g zW{52A@3ivYqYdya|8RQ$hj00t(+db))X%#L0=+@Z!I8ZB$`e5P%CCUW=y%FgHZbgQ zl2UUvPID&(_FJXwa!JEUB+q~}sIN^iCl0%%WfQ7J#cS!x*KumH4P-@_JM^5umXTJ`a3Dz*lNYMQ>7lCx{M0FM!# z>#&{vY4=O~&;a?@Ubmkbgl%pVhiVc*By;G)$tp@H@+suhv}eXgKQPoLZ-xp67b;nU zGWSwekdzyGD0<}c_>>Y~hN^Xwi7WP40dJ2cHr>`q@OUDpH<_7_VK;kD920O1mJP~qe9|6_M&u~u7o8oNA zQl{c+`Q~W#y{7XXR%PbSJT%g)Pd;7=EJNvjzco`bzqaoc7&M_T$nP)u=)32XcGv0G z?q8$t;@-QltZn>sqldrqrbzL^yD=TQK2tz_xfY1u&6_Ak9HTA{``G&MZPn}wq1Iia zP`TH}rLSq0KYX*QIzcleOJR0i!D-qbYiA>Q?7ma!-!nTEoRN@Qyt<@3^iGz94T|Se)4U3XQm1LbzRronAMnafZmw`o zKOuw7C;s!`|9v&#koH!?OJpYOAiuxwhtML1jrPmQ?kM|72M9Wqi>03x#JWm5dKs$8 z@~^*FAZp)GR@NeW75ewzy!`(FIbS&3wW>Vwmw|g3y><-Hj-q%xE*JJ`=A(JiK=FY4 zgFjjTUk!RV(JRCGg<;+&C50W#%yDupMHE%#QdLljAz&qxG3^yCP4CHO9*3C8=980> zN``jzLm9|29KLqIeYHdEJ4+cz^_aF^MxM*dUe(M@8=bc@s+xRH?o!a$v24m zj?7c)P#6WqAk-5ybh*HFRmVazIWd!r>`mWT9wOgQMe40A1JoQZQ|OQgC2oA;}*e@z=9(reHJd6+;dt6xL=@)Um1u99t;)wv{Vy_oM< zqw+YQ{A^(iWzu3e^)i%fQfXDf`C6$0IZ)}Or_s3Z;Jd8NKdH8kS{^bC^cdW7e9heT zXZ`&MyMUZ!m4K|AoRoxAg-Q52)L#$q*8%|nMJDw9*aZ4#XCh&N=}g#A2*r`$VrBP` zkdTRXhhRa1SwoD!LX5^l$Op%p!odN$GU#{Tj1`IqrA7pqvZWQO z(lJH$TD1L=jo!B_TsySzsIRml378;>FgtH1uFR`+sqM||?oxNz6_}>rnds(<^0kehQ z1_AeH`jEuMPl+CbevnA8=P(&U6OQKkvZ^a-Wh9zk%2-uKNhV$v{&f$o5F}i2i#cU6 zU@hDlf%!`A|FyV7UIV5fYn_Qv{I3-lVh5@_ZbJb%sX6!MdF%YPD(1{@0jfgF)DK?gkoZ{ADGOM8J6S zSLC;aQ6eZBYvF24APr&SiM&3?#Gufs9&{h6blP4VZe_Uqx|z`B+4^h^{P@iZGjTq* zfORj9<2V0hZJ=OI1D_rEuyUj{5vJF=r9w(y^!e?UHc z_ZT$JEW!RjlxN)xyJ=*CaI9Idxi(v!tzmscmY@`R?E(1{G1hk|fsoA`Da6C?3gKr0 z&>sk-a%Wjw8h5sdA3u3r2NLApR{~`NyMoNT{bzc1DM5XJmAj!FV`~_OwV>3IrwfrK zMW~j}@xj-5V%Yq4xylo?v2f~3w$#X!iQxfL3=2e!*i4sU^%x0Zq#ctMereWT6618n zYe$U|8QP#AV zLLOQXd)~h6$N*T;TjdYtH`|}I;cZ&2tu3QOtQu3^=g+x|>IW;o<9Xhrvx*E{eNQ`G zVMT@|I-o>Q6G#~N{)FS&SwaBv&yBt;6zCdYAT!bPy#D;K{Ubjcu&Zce0y;j@bV0kK zMvaX0e{$F)v%?uG6*UM3jQ5!{SPxQ&g5PD$^sUA9((PvlMNwm@OJWI$whHg~w~4jh z@mF#009%rMO`Nx-!!HOH!vb)WOL?hzSOVEr7O5{S3x#bQE$3(q%I{bamX=R(G?g?* zM7{Ek@k*yQ56ZogwS;GwYF)&Ss|UjzeZ(j$8c~XpzeaDLgr=q@Tp=hWJ?x`6Zk1{G z?hkmi>m8Px3`>pOO-bZ;jW1irRBdXt$sWoYdAuTv<=~-JLG|Y^K8B+S+39c8vkG!9 zW#yO}p+@OsyqQ(z)cL9c?gBV5(lMYq8v)s3t zR`*N(=QS867Kmn8OKS!a5@sqV61MgXUaaMVd#B0r^Bwbnr%{T}xoR6}VT=Zk=6?Mz zhmbfVO*lM}ReCo#dK6+%`rS3x$Ge0yCWA_5rkyh%o4JaeA(Ne(h1H?!$ClF4$K1B% zwUf{l8tuo`cV)}x#XpUuxdvAp3~HWg&v}5>ZQNHOXKB2px{dZ91Lkj-9-msI?&8pI z6&(Pj6kX5j2`qBlvAUA_tja63IzH#8!U=l5Yhm4Cl>>2N7v76SdioTn=}@tvz|7f# zQXBWnmcR+JFl;{a-G!eRk2^z=&zw8+`r!8gS!Lp;RYiGgpEU7--spvG4VxF@n30K$ z6p0&Sd=J}EnU5{X8%V!512QQ;h?uZ8!mB@a)sA@d=mO`{8wvLHZTt>l;7Ih_MYeSd z+ZdyAr^6=}A$)>}iHZ4n-Yln?Aa7P!=fhq)A~kifi$c}iB2|!Ml1I{Y%y!@9_Jkpo zhtDbrvufMO%vZK#zoPW)M5XK;ne03}g^{{{74=4gX4)pP^vcl@Xm;E%r=Aw^N|lZh z5Dm8(h&9T|?+5dV2zU81$mOC|SBu3oK5-Y1CWVgFligpN!xM#xVWdg?)q8w#(vC+8 zMeuO9$Y`c&GNysRn=%@S9RHmHt=+uq)z&p>_m9HSqhq6;!RFO!gC%@>szn6_(rXBq z&?pdud?Doeg+=qIu>|xTDUe|Lj##c72=q7GJGk$*HRp@=uS6Ez3k#=A@2)A& z6p6Tl_py^mTl5pX_A1B0#fvv4OD-<+d!CP!3l8z!dspXn(hskqH0s?uYBf)MRF^I* z&(eENDEddv6#ayLA1n~sz)71CJ5Kn=7>(BOUjtUyD=Hw{!ovKQKNg_Ye#saiR(z@h z>MjHV$_EkS;NY?3RCbL@Rae{WanDrfFjX3SiH)guM|V4@Jw3fQEGOi2aP6Qb3EPv- zMpj4BJN9Y`>pjR$>)DtZwW^Ihr`=$PpSE|kuGSZiWy&7*R8!Lv*Q3V~qb1aQ`yOp| z(KWw(T{{}P#n$KAV*9FK_5??t`)!ZsRxh>OMCUY*o9W6Juv|eW?TxmT_k?{fH7b;2 zWaM%@4@eU13W~1szGG7^54qnmC9G7@_kah+W3lw@Y^oo+mIw6p)7f~R?s`;E@Um*T z-5z?Whq)@$6k6va65-Wb4R4FWV|xf`kc@@9%-ECz1em;bGzl!xm~R)OMKiIVcXe)xS`&gFT0Mx&`Br1)|}yF z8{}P(GW~4fmD~BDrj^0vX%_ioBi!nZ^IQ_Sj_ZIDm${prz;WBNeN!XOX}8GCirUKT z`j+FK$lbZ}+M3C89U#>yCpL9XP0xOt5*w-N0=^K%wUBp&Mk?Yaba(A+PDI{x;2~mW z_x(~WWy>*Z;yC|vV(CJ2hZRMH2eoeRTYxfr~AWNiuagK5&DA5u^8{vHx)^Ms*m=X(&>C2K8tZPE;Mri9^ z`h=JX4aRP;&D@uo0VnhplUM6zX?G2rJPa!jLAq?A&UJ1&waMr!qC_c?9f%SFPT@d* ziH+rx^By*gd=vu)3?0^Dn>3FUE7QC2;dB;l)=lukY1WMdpw*3cl@?Vxhr_%|8+#Yy zpkM;;?PJG?gnbBVWI_Vs*Z~s`wq~nl>vpV&l#fQ$ZL4M(F6ZcNtW8fu+>y+Jvjl8# z-GIT1O*q(5j!2xHQhld3; zdpTR0vuaxXw@fa{L;Hn-qXUQp@3a!#M%^8fT@H1sH%)q?-mGw0y~E74KUnth;yA#_ zAHn4D^i52n)F@5NZY5|u_gCU>M&>$kivh; z)$};`M&>NmKNluy&WBwua(g@!fZvLc;d6S<2aGv9o!jJY(P8MTH`-@!-eS7+`k}{N zX+OuChE2w8Cf$L<2zrLCIsm2A z=hS9Rj*G)g%XH>I>3OZ|+4SM4`$*CL5P9RL!(~Kpv*keN*4-=T&=%$aqTjov@eTCm zo=9T2BIuuUoxeTVx1?Hobc#)O(x{Z>s$baD_2(w$%WUxnK)Z^!WrjtN;3C_{W4^#9 zNM>O1ESF3_vWbcb7I< zfB6|#V&XW*@h<+%^J(Z){`1e_lw`WZ`YdrweGr42-Jd7%RV2s}C!n|};Uv_h5Tkhc zzk~Zx86W^_gz4S;ugC_PP!HoY&Rb}V2nOmJ<=3E#f!<;^6?TnIj^90=*C_Iq+Z1jn z)GeqctE_``M_`f=LCd1OsvkI8RVD{>X}fzO$C{$-k#*)`RlgGkV@H23ANK$WPN6;! z5I=^vjdSn&RMSJ?Rv+hin_8DZDi8u;D?YFc&Q8J?;F;oc_O+)0FHOUBf@kEgpj_-7 z1>eq-@$l1-*Yop8GQoh1GYJ|0Tkw>KR~Bl=;xQ9HDr%OdoFbY)Z3ccYKf7*$hcd^6 z<9Zp_@)i@aX{wi!v2hKo80&iPyp!m+KQc1;rq#Ap>h`%Cj=;6PW1iDm(*tk^bUY1O z7lb6&u*jvk9s`J*l}{g|P(U^@11H9fqb3|KyhkRlWrehV{^ce;?spk7sVPrOWBG*W znkZoXT8Mrb&_KZUMil#>K#rUP0^b%AjMm^nQGmYZi3{1Xf#mB5%M+i0!1tsx>1wSLsy; zJvqt3srs|}@$pj);J+TZPJXChKXx{`e_Hq!1Nni(kyt%jVLm!4!fMOo^|`&Ljq107 z;uE@u6%W|RB<8D419Ch@{mJQ6k7KX(TumP@zY>d$+|;#?cUN?@=ZXS!1&P_-crhH3 zUJ`6sX}Ma9i>A=4rY8&%2$(Q6(N2MeeK@!9iYA%XCGV@uo-p_dn$lQF_&z-Z^^jBRv`&3=;(xz?Ln&$QCbck&>u+O>B%Qa<^XCdN7US#Jr#2i&2~*BUpoPL*}1 zL9u||brTAOx+}BX&!0&p-AwZ32yR#0pR4fj@(#YSTZBk`ls)p8i|>53Jv`iO83`^c zJ1yQC9F(UT+fX$SFLrK!F|MXm#X}>?>y`Kb+9JjM?TK&1p1awyL81J4GFJ?exUr#69st|8l8^PpTfPLZ4!?xMjv$pm|D3Vb%-Ffu6ur{Q@d84(sA5Ai|uyPdMi9#XvbOCSgX*$ zZ;zac(6AIA`h1k@LTb5HAYovAe+g+HjIj`W(tLLX^-M|xhB9K;)j;mvSV!>AC?#d9 zR(%DQ;C^QjuZfEEX0JDNIZ5&b7n89I>y1`1$VtQzRj;m9@-whLU2eH8Vz0S@bQ@9um)!zH2%DC*j&wb97SZWTzI&l`-;BQ4*Iu= zUx7s6W;=hxHUAsb`)6XIAUpvBuS^Eh1IkfSzo+nX-?Ok*$OZ7$&&Q zcOPl;nJj|5RHEy)>CG2$qBEuw!|7YKEA*urEN5dOW-U<`38}rRtFbw06CC6?+^=rQ zxm2AO@i{ZDUmUsjS=Mc5*Bt$|p7;+y3|F+3##(zgOPh%pbcG;?=1FN|!zNL)X=r0J zW^zzT;+x&ll05(tG5MyndRm`ppsm}BmLMd+7Ei90&cOyGxK9ZrxU-W+x5n(DfGDDZ zMfRwf$LGxA#OGLfcI(@QJ9?e2!&-qpICrZ3P_79a!D3xe-qTaQ&Xsch{T2}TSkaeR z+Ka<%Om35Z_AV(hW6-3*!$YAOHDgMa$pgZ|I*n3Rb$a8@Rd2NvmzW94{cnbLfR6RO zi7tKOz10WB^_Pfod(e!kFkp<^dxqutZbi&vreB@qV7BjF9^N)KO;+u6YWO)1OLDDR z{gYrrEoC&RTK9?}-__ zU}iy;Qx$C#jg5;=NJ>h2tFIsEHh0@Fr?~!JcPY(v*S4Xs$@2FxgyaXd4Co22+G3&n z@vr{gzQReq^nm}w7#l!5{ta*A#j?7~^P@0`3;I{d@%Ed+N5}kVj?I&c@$TxpseQ0NgdBE1#5OO!bDHP9ceGr?!cY%Mh6Ctw?}qVV#n^E|p9 zn2}V3T8jsP{8*t~86%C$*33XJ_LgBW&rKeR(v0ZXKa{=7Y4>wftWjvQ*rl;&W}P!Bel1D%{}i2**`REm3)6}(kZ4O z=aPDxHK{`a85rPL(6r39iC7N1 zOl2le;Go=)s+*_0UOJXM{WP&GDfQ1;^rCgR8l2wSmRN3=8VzPULG|GiQtcz6aq)kq;hP!KWSS$#(rL_ zB@6s*$snYFgG*0h9O1vWz!}A=#~r*#FbVFNE4}_O@b32SU{c;1XLS;yrwy;vbH3r zy{7C4u-tPWuW>Q=)el&YqO3x-qJ2o!0&+qCOCff9Y+k1>k)t(EMX@J6iJromP&&_U z$p6)l&5p`tDc;G11ihzbv1aqgXSvuA%8n-|uD9n1Wo(@X>H9>3BHfIgn23tvhb)@r z_1vVk;J7U_t&zJE&2$PEk&`_}Pl7NlmV6y!X&m}Kj+X`3Zxg$44)U7RSIC&84MVaz zd{IU6^Xq*aO%h@$ZJ{dQs6$TyX*?LFtc)0kb=Vn6V(bDeC{5i(cd)K3r(=K;Qczs4 zB=vHW&goVp;5A+71ZV#q*Z&FK{+O0CqE(YSc*sCtTbB-m zMup`vo&~`5xWu5i1U{D=FM;*tMI^792L6G&IAyeW2p~e9!e`N#|2kqzOb(yR-qfcDW#-6d zB(=@+l5FN2fVFO)@>j4IxHc;%C)uW_S^DPb+St8Bb!2BK3DVrp@ESrC+e(LK^^Z#m zE#jPWVEe-DuEP@>uFx(}ggk;F*u<;45j@&5Zvf0@fc6b-Q!OPCm(7qS$rcwC6=}@& zJRdI+Dl;}$k|zAhblH>hocUIqht1cercO5^%$e!8&BB6ti=r|d2p(IFr32S8^A%sL zej5!zI;6awr>K#S2!9eJe_Id2L$D{nAATi{5>c*8!TEx0ycN;=o+!1PayY>l$VHjybf&yozXD`s^pNkOlt;NU+rid=d??WBHVmDr(*Sj zKPOiiI-|(=HAG7K^oQOX21(IkVVQ>i6vWtiHCC)RffW{;4C(HAcX{GMzagO=8lKkB z6Ys*oOw3c5L!iPIoXB2RkWo^Ngx}|CI$bQJqGO*YuM;hM)y#K0UTjBPQl^Q56-BdS z*EIxbD`n`6*KJ7DOrJ&z|Glf(Hpuq0EQ~Zv28Go_4e5=Q2ZH#>Y?rm)g~Eiz+^ z3ok!oQS?kpayJ(jNMtAo>dZR^sR@Z zW37l`hP+S-pWJj0-1m@7*=T9o8NGy}_hKJLguFjsj+6tg2x;ire)H|kfL}7#)s*;4 zBs@a=h+aW-orjw3(e_>v_;$Pp$5gj(`|MAJT6NO6Ix6)MhZF4P*Jw)owiUmix*)DOBgw&ckKM5(-l zY;ZUnsksnZ-j!ssF&$|=gCz+gI$gV)adbv&r33XMkxZkb7A{Uzp3NPQ z&X;ny&fjOD&p+o+CZFsvi7ebPknGs$KB^%vDvpBtrhL4E?!ug za@6>Sa9=bvXt*XjPc41dCeLx9zF%Vk}%-RNLCeO=>qBG_rLzVQb7d z>=#89J4c~!ps#V!i`-1X)`Vajg87ouXeTO(S?oTV~(*QYFn8MOu-Nkx3^oa7sMG|Dq?! z6y7{gd)_{|(SPF>5Rb~wB##T)E9o7G+ltQ+#sE3%?YkM0gp;LG@Huu=9A)G2ec(^g zmTtvitXX_Hay)kh-*hX`FGE1d8O)ej)S2;x4Vdf=P2$*2*oT=xMml#ji4a(qZ%|`+YF>3^_HiRPY3-GLKN9 ztlmiBDmqDNTMf0VfEPXbN2@3j4Q)?EP&Av6lzX{4ZAnm_uQIEwx@Br@seud0S-wieDNvIJwd56r2htKz{8_ z_{0SqTWODIb)_*l&O60@pK3}^>zP^ziwYZVb}X%X^<{5SiMSu1bClwi0= zNRPf63Jk7V&{(4Q<(u6aR36&E_A021vN^i`s|~5#}$}QH&HdO=WE;t zF(oG`*7oqS)|Cyc9J1J)7hksXHXcVoAWpu-lT=681I<0883e3Uy_)0J97~5e`Fj0s&a8}n@VAR4zM7Z2! zb+V85cO{@hW(kt_E3oo6Jnr|N*TOK=Z|EeDgAT|s*4G+NC%GCXmw!|1J34_EaZNH< zet&snrx`7HDk-TB4~rKV?x$Yq-s}7B@88Z0*`* z)h7$WfnUcz2yf4I=gR~WZgYB@`3@RjHw?%?RzkIx(aC8IF9UFD?!T0eiNEExZ)@@T z$Pt{#Ff+7}TD5W`Qk>=%KtM@Nd3qN)mCs?O`cQA((D&gCLxvfTtt4bc=|oYghg8xp zCOz2C7ipgwlqrnr*YzfB390jWlLh9gQE$ML>zXU$m>rxG2+>% zBfy8R*y4{TkK2EO^8iyZbAJ7{N zkqSVCC6H|iK}<{CX5eEM?-Hc7g`e*u;r`JHfs)O5N=f^CS2)|@c815TkD>PJgT$E9 z#12y{(vC7EE$doWfWh4BV{Hn@ycX%x1)4uz%@-h9CZLyr^2@OVY9`B|-)XH@COCG- zMi(s*g&~(QdJca9@!f0Vtt~a}H~Ul=+0~AzH971=zCU-X`j-jfJEf?f!T~?&kdRBJ~ zak6Ayv)am91OMshm6oHTSG^rQ|6*26p7*(~z<%0lK4m+7TzBv)tnj4Dx7TO*Q`4

#8ymjPln}4P35<|7Q@@Lq_;$Uxg-Ot^vtz63H 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

  • h9ikqqIUymwXfZ?d!0; zgH5M;bBs*;JLqj3=OHZdU1q>MrvaT>#FKvmYps;i=Ae1paiGgCmkTJor^$5s@ts)2 zP55e4YBs@fx3;A7Vlhp!G-f&%$?P-wf)n|}EUREy5xhm;Iw3X5e3}-|g&u5Y(ydWJ z?T$&T*v5M;;P{X~Z}91hnp#0~&66CxjFEs+`Y2SYw6)CM`)r;d5418Mn`tp`8;TKMV#iIlJAp@#X-RD80? z>cz*e3Ms0{m$)L8p(;AY4!hMNEpj%jD&?W0Ydbqw7AsC*UD5;?23AJ2yq*qULL+sz zBtB^KtA~@>hBBovyE*10oayO~**d=;MPY3RYxME}0f0UyjUT+JH{;ZTEAHmC zorX9-A0?v_0-4$LP-ZvW{8v^b=HPqCSQw?FjVUk+?)SX~@{HEbeHFaN5Kw?eR_!9rHHv8sHnWe`3C-+PH(U`|7sfS@W=8J zMkW)D!lV=|YGW*)yQ%$R9!{;Va@m@OyGHRI*B7l&X@uzSPx3V5rqqC^J3=h0p!s+S zC5kp`XdEVPs%C4fAfO~M(HS539%sLJ!GGqj*smrC2wl#O>#P53MW7mUfO30yfJ+V( znsI}B=u;Tkd3n_bARVmmIBIAsMBhvy(ViyJif4F08`s(k^66PF?;T`hiExd2)sKx# zXK3vXC-~PxVhbq%pR*VQ;%;S}?JDREIx$dA9mae9V*IdSoSu$&BLT)K4I zwEfW6|NSFD5G+-g4=M*2jFS``EmGG*Gd01`_s;_cB3umS*G{Ci+56Q9L$EF7R+9eU`xH(qwn{{LF%!{&D`>)+8eWq&WnII{vqg_*;d> zZ0#Z#yKZ1Hlrrn>W(o)@bIutcDE>Vl&zLu9(Z}tCg-G2tLWL#CWo|Mb~~~u zA_>qZoSw&CQ5f(4DBT$|zCDEdlkqn!?!RA}9wAz^n&pmb_k_pk@&+;PX}hT zH1y4%)^f_Y+3=$+q1mdN8-<#S4dpi!yQSXvtZ%C#g-=?|W_Y!m^|Vfb^XF_+7k zNeRF166fBDlD9uT@1B0YheZQmI)z=j*iWvvu?8p`ExC3%Q%JnmwrV1E3DsAT_e|vB zD0GQ?z7USj0Etr#3$JZPaZVt_c1;0X-3u+A=T=Ei9`=EOeq8&xD?biXLYUYMk>K@= zcP*Rzv+2|MiYV)>5{Jt@UGsgWPS-ABGZiemnpG_1&DlXydKxE%+-t&nT#JX}Lvq@b z+r8@h0O0~m)VJIMb9J_AjC*Bc{Z!WqvTZ9U9FV7PU zT~Hwy3BYYO76kIN8e%EOe~IDnfsGK!DySr!?-C05Jsg;hwTZW4u~yYPrE<|7=MyGR zpcF^(siTdH?+1buR?vv%{5D^)){q(2{d*U1L*vcA*H%_vBj9#&PX}UX!f1;mRL#J+ z3ASowJZg+XtxMmF6YqoT#8aYG^I1-1Wn`7&uxd$Qe=B&t0=iP)F$5NKv_a*b1a6lW@*xh8C{PM-ts+gdndPfdt zTq*EgR$7Gb7t1_E4Of`7T+#Qh2oLLFk%*p*_*#fHr!gkkq7?l1lap8>eH9tbC1K|L zS)hE8FlPL-4w7&Zdl1sOfR6%rhn()4HTLQE?@)80wSlF7%%4FFq3C8m!t?K(*BeL( zB5L=`2Wu2FtA<*tLsL^{%==Br#_J%6RuUG++-J~6hbR^})v#+Uc9X`{MK(shAINv0 zQkcnb!SR?SS*sg^14rm5wDujR>NcBVXM==mFXyY#Xf%FdUKAyBpN@9l&Q@D86;kINne+kPPgM+cr?E;~& zj$agKN?2Uiz*fLAIl20@JobEI>8#b+{_^DuwYHmQ;d>~E-DxCz-kBZJsxC~l{{BG@ z4<2dV%hD!bh6g(D&`|5UWyJm=JeZig8ZQ>Fb~#UrufOLFA&06p*FlhbJ=ZOMVL^nu z?|W<_!Gl_ z;hKL%93MyG2(LX^@#PPhWMXSK!@oU zd#|~{ajjm6jkQ^p;rp?5Ur2$YCJ?#7q4YTZ$7rgW`iPi)ryQ{4?bhT1q6LJIh`pvO z#5k8^g9}O-d-ycfF<@9e^=P*w(x9AJ+n7{-2C(22ayEOS-2Q^ z_2s!QNhWv#+jIHkL85!lv|``CVhN?YO+P{mvftZHUmYM=YR{!kxbsO@Uy>$8wES z)5Wj(AKOUDS#+<)*;ZdQi0sZUX2?-`v?SQAuf7c@!l`n&xZDQ>pKomJ9BuvfX#md- z5*25Ykrwy5%`Oi}xz%!m6kVEos?}fH*rT4aR8sm1hy&cfBHlf2!Py9Dna4)Oo!vnD?IV^=8!9!5fBQ@I3L#R#b z@-!6(XIiktuY2ZDoY3>UC8B!sI35tP@KSHOb{<~n%-RfJy>A2YBHSNLjqSDZA`SzA zz_V(-%lV1jkM3(Ah0SaGyrapO+kE5;K{Z%ZOl4|szS)`c^NV^@3%kYSUOn#y=%$#eZt;0+?(X)d zuZEj_JFBW}f!4i@Q#?@kV=i-j)hYy0U^`uI(;wStpq_(;`vGJQK=XcF$h84#M+%q6 z*gFCIme|V@z@6JGamDK;B!)8h_wgsu&^?^CA)17ob7rHS77@Y z(UhpD8ixvw{jfC-%V1J;It~71W_9g1Z3*o$9kDSJXMM@Ss>b2*_WAyHm5Q6`P;MLp z*3dtp!GcUSMmaOou(P@PRx|UiU04lDp3is~<73Qyi9HyY4v@lSb<=Ws2~p~WZ7;bY%?%4rNVS@)f;Ts@bw0##+_xe zImd!ua#U~EwKU{3-Q)XYnd(_>%%@D$j!dPw@yRaiEqDB{mzp5a?skcPkU2^?29SJ=iN6b1k} zHCd~Kq@=w=wiB%O(;la`lCSK*HY!J%#%27H0e62A&ocQ%2}mNB&0bNbaqC!Tt+jpF zp#hn`0&pl|>ef3@+{DT2o~tOMHPjhgy*zTV^;ohBQKt@6{xV{Z6U&um*j0i(&goTRi3RjLFv( zyqLise>@}jp-%HLy!B<(NKgHX*cAetkEv{hP()#f5`VreklAQ-CPo*Agd~gssXN~z zN(NNejs8&Dzmp0+P@jvOG>S?lu*_oi?5mc}1^ zE)FKO!&(oIk>}eU=LtqVj%Zhi*7?%Ux+0aMB2#d^D6dsC4hEFMI(Pnl?&Er3MtWP_ zbwG;PQ&ZI)sNK4^u}f=d7pJV)?(j-|>P}L?w~pa8c!zRfAqpR+!tV6o?b)J{f`?25 z0{V{N`O$1<1{G%OUNY2ZBo~*24pJ4Ssl0Mpil4E$2Zdk=G4z{=Fizz6yR1I4D0% zZ$i1ZaCeiZCVL0viR%ZxR+!=sx9|2u3EK&~Rm{See6l1#BNxkPc|*Kb{TF!ujd(2! zuRo|;tvb*;Mc!OWH2dYZF2=r=;WXrKZ>z@7G5%S7v^q>Ag0378x6vP8e3qoo}dzJ~mcjIhyT z5I*8|rJAEK#gw`Ie!N~;Fq!N1aewHxhjx<7CF$aoax2K|;##Icggtika@5C-xErMV zBU&GPQ(Qs`<<2A`>bMTr8Lj_2q2OhktL;P}S!XaE2x|!{E-KRHg23!LrD3<=!Vsg* z;qq4kFJALqP~d$zpxDNWj}Z_e=^x!J7h_g;&P4P#5WsoW8^J@L5Jk35X*~88{pgD< z1YdV?TAzkBjr+0l0c2+G0D+6B!cXhlP#L%kw`1G9dOihtxEb*Gc?h8};M_T2$YE9k ze};zk!iRG@Gv`em=YW!pV?c``#-IJ4%IB}`p_u~WZY$d|(c=Zl?(vpN0ceX%^V!X^ zXxtX}VMjh`-v~C><;Hdlq?LuNB%ksG;}YNx8W4D9l4*$K$coB~?L0FF_iFW^?JtT# z6~drx{p(e%Yv0AZ6*f6TPxSfG|NB0ijdFKQ0w9fvHI)PbfEnDM|9KLB1r;)Xcv+Pk8inPRn6e1#+KpjOy}YMJ*Jyi`$@$3A)>6uW;n7&i z$tOu6x%-EpHQn7=&7e3sP5ms@qGaUk{BSbMozf}3Y$~GOQQ^3 ze%*;oeS|cEMM}@_KV6`~V&fuH<02hSIt>y@G$6&_RX&(4twQaJ|LlefV-_kEQ8AVw zMtg;oi;JLVV+z0}W6%~0Zj2bF8Bu#)m;JW6rweRqFs=>E-y83${rz=VvDkdTUqASS z5d+%mebzf4|L+Yr79(Qism!V})k)7V47DNK$!aMD%&29m)hZcbjNyFX&e_(Rc&fCm zq28yYBspv;i72+|prK`BB0233j$}nu@ox~191|0tD;YX=ob|7cSoA-DqZ4Mfa}M7NYA_buaONK|?ThF*osz6Xm6+6Vg*5dARBJQTsrpO>F45iK26Q%(wY)-w@X_mdAp&^fwFCC zKw>MdW_Y;3jS8`!S^{#T;!ppvKUR7ldS92;t%rFlL9H|^g*>tj)ZFLPK%ja z`4K1hlT%9yH-Zw>hC-y`8E7!WDV);C)s-GN8KWj*=<=r=N{&#vOjNAFn2nyQBi^}(l196)Q!T-G@L z%x#m(MyIC(bX14y>j&6W$vQtxHRjob%}L!EmR_t$`Bly-M6&r0e@-^QDy%@cmSRrJ zuWC)2!h5{U%Iiil+R*)cbjmO<%3}eut;!Z|aERI<$*qAC2M0${Q7Jxt4Z}wzFUk6s z<6-9EfC(LKYJNpbB3VW##3Z9#>!beTFpQuZlmpiB81=^&z2Ci+f?ZIzNEl28sDMzS zSv`JL6@7hubrfY(YfWt>`a8UNPcC#1{zgS9u6fmKSaW8+;dq&LmzS#g)|fFY+ld>a7t7pO`xbG4_L*dO#&r@AAk+j1<+{y$z;u(BN0JL#{j)xcsKZJRSdTSN; z%eHgXUQRgLoCeA{S!S4gJ0VVY-|>5bLV^&NT#}$f!BnBbe?Ce_1Z6PeM{q> zqyic6V;^~+TR{cQR~*`BdMb;GaP}#GrcZi~FI1nPzGtLg?it_@&Z{x$YX$Nkd~O@H zgp=Vy{UwuC-j_NpSu4PR^q}$)=y}3l$5v-QH;y!=dG2f8^WPGD_N3gvc?zJ>awcrH z1g0rTjyHBtF(!;U3o`SZUPq`u?X>uUJC?ulx3YzfFtD-;$l|iw`33+5U`a_y=jp1L z3^uR4zD1rcSw=JfgNzR>{ox84)B7|wCgFvAZX^9&yT}+PTyN>@R9sS481v*Z_CMC@ z-sEWXEDSH}ub9OZ)?K5d6Gn7`hM8GmoWjNRz^vJMlGF%B`SZwVuROWJf`Ox!59g>r z42uyDaDe#?79Hfo3`Z?B>1DZCEBFj|ZbEup>$SRPd8xE_s%~vxV(jp>gN_8bqm0@i z9S~*#qwfM`y98}AN83%jb*f3pBgw21{S2}MIDotM<0T<$1IH3?t#M#^zL|yQaUz_u zmulN?^yzHNFLzzL@cbW;^gu$z2gWG^Qbq)Ugq$$9RQ}}AyUmb9&kvwTz}c%aa4!jy zq$9JmNbm9l&EIZw)A{?4MVTwHT{$_V3;k2+CtL@nUVVRdG zwEY7=sOK?+?ua&*f0~gL_T$Ax-`DV{w8-aS>QmApNg1y- zvMxCM6ym}Y?QDt4Fc`3~u0EOF?VT>xkZ%@8^r4JVy%FA{Z(YA#D+UUn>z9E70dIb6 zYHP>RiH`Htl+_WK z1>1*JNuTv+@9hT}!M?C&%)g&!D=2Dw=$qjpKK{OkR!~Cx=E-KC=KUkS_DB3tISF*H zoSc$oigsG6($8FxUE*LgsV`&bTd@##Ea1i3!c2hCVBl;>#JLGzu5=t{7RMr(gD&&UdEryTf0d z2F^h5G=P+~=4r_7aA39&#-HDky{>_tBE0njpA7jogto~>c5_yigsrMvY+Rz54$*{l z&4q!5!KW2)k?szUyVrwF^V&DqIrndvFvLAi3nk?Ut^jnlv4SL5h)aS#LHuqSkC8KqDAxanjP_Y%C0sRzGOP@45Svl9F=N zO)g?1{W4e`>#9hIE6JGy&_s~#^`BW8f`}o7(539*eYE7#wsvoQlfHO1bT(f+o6(7$ zHkQ$PL0uo?AMI`>CdByuf@a_%`kBCCQ1UdrNCh<{ZJGAX-0QmhG=8x`fuh#qD&unQPI-|_nKd~A5hq^E#l_ETidX#r|^6U(yq8#z# z<07wj11$uzA%(6EKip(+f|~rO>VbVGb&iv|{0`{eULTv6qUcEGwK|8i)rlfvH|U@0 zG8h3kjb755UTGMy&OAexHTs`AU=!l!=g+C}+!O+DEmO16GQatXcQCX#X3v8NmGR}b zFy~&b6T{?2YT9e1*SG>-!blX?RZM;5iTNw}NhnHQdxZ2+WqXZ9E4Xpg>J3(b?+K? zAeH6$WHoJ!=lm?_^_~Dyr{4A^%K(7;RtZkR5bN&W35TdOSm8c(PKDQ$29Tb*$m#|G zHS65dU7{2UD?8A2j2%G#6wkx>8j6)Bt3vjTWV~GyEX;;fQ4!doHN>EItjVqHpKY5b z&q!Er44DX!kZ{&-9{VWP;|maiEZfS~t+ul1ywD#B-xKU??2u^Hxq!J=B@Yzt-LywW z!x4CSPLKCzZAK+jV<8d5Hh4w5bdau4oVI+vt^6IFOQJxgB|v|B;Fcan$UVI&0suLD{iWVNFr?Pv&@G`&*id z8i5Lr5qiT1Y>Lm8Haka3N!#jmz_ClvN^rpT?F;I-I~ZUK8SYelG(9(ki-JMEvh6Cb zCgF;>jnf%Tjjozd3_GooZZD zD1}RCM|eH;3+F%6%%7HP_94^eYM1xYHQeHHfHSZmnz}Y|!Lgu4Pf@NTXEN}EX-4o3 zuj1wkqngBLM*4*MCCX&@)wXnZghz&S0KNul=hKdOB6Air^BV5Eu?CW99%x*?^Vmbts+(BAVy4n)Gy zG11kMR|_OxO|xwA#l=f6SOYhU0w(OF+)C05Rtw6Cxb4<=YUfKXqNpU*6<$|Ip99_W z8HC38H!LsHLNxAQQ1E)kpRk@R#NgN$XPzOAKRsXpMKt8uf+6NuuxJ!;Zg)O)oB`teELXbV|D;nnDW$V@t9RgOAFX5lT2we z2%SZ5PfI~@;qqFsJ-OYRP6qgQzvy!J47vpLyxw-yH_*^f)mGP{UiNhVHWUAi5rva=BOzlSjSMzG!H zb(rCxser?t5fkYSkcgWJzxp^hDJr9>@yk&;qiwER4rM(eF7a~fAhi(t*HkY8E7R9z zH#S|N?q8B~uaAd2k$w*l4=((j0Y=!73K4WgY%vIZ?mz%86I}0)qsA5wB?zgoyKjf{ z^Mz{g1JSU7PeiRaj+a)TFKC53DI3+zL?DI^{rOW-8B@aMy_&hN-Kt(R(AO`!KcAv& zd!_yKg7aBj$Bh0n&Gxyl-NrrPhNNt%s1so&W9LLjYQJc;FDC!T>uXE&Hi0T?*2r+@ z&EFH_5Eeah5#F_9yx09DgvoRhb{yg|hruE+F)*~gwz`G&r3l*T4k;Z$ zDfW@y-k~Y2z?2X-} zJ#NII(=e8`(z{Kl&z+Pe*ea!9PtB(-MxFX_M!e^py#9L>fq|&_@XNMOTWi`RzA#Uw z?w12gDup=+ehZkGhCp}W-umfdoHQO2v+M0atk+ZR=~>7fb;#M7k9N=Tu{lu)-_NLp zDRLrOC8aoT>g;7%@d7LiIzpL&-PAK!grmr{7yjtw2Rcs9bD0UzyPL1~liAQAB(qp({qFlAF0!upT=-5)=YeVA zK|`DO3R#_gJ)D2!xV_7y%2i2e2^RYM(^m0vep0bd}I zj)K^}uU~;J`Rn1|Kg`?2jG-TPHSqv+$%uBug74&X&(93a21&v3^UNNPzw-kmQ_MuK zpen^UL6I=20wc;O(_h*Qew@dRDaTzN=bwJ0jv5Qv6iU>!YPpJW_t?HV2CB%A&If?i zeGT(76^%r(*UG6_2`^sB3i`fZwRUrU(kl$5QzkqC1-*I~5)ZA2SIB6_|Fb}9W@d}* zo%=|_XGp7i0)W|UdoQ(3R4^ra+UoB=oOHipbSg2&>q3tC=Kiacg}hZ*9pC+s*}>h- zj0&`Tpp{6vspTpk#MvUn+in+`7&(gQUhiJ?XE1UkGl}HHP#u(-pR?@0FmTfpwN;Vp z;lD9})MWT>!Y^lU`w9L^(*N@(9~<<04&wsRso8al7H`tF3g^>_>LQDew8ic9I`xy) zvzA=`Nhls*mAh1H-MxdhlLbCXm{DE2Us{#QRuIx_ZlwvxHPQIh$H9TNk7OV((mqKJ zisOdBQ|SIy5PT@K@H8aeGmr(syPuLPgvR4Ywhz|Gm1I|nu+Gs_SC1wtI((^JFB8e^ zDEGL_c7NHHi)571`08*SU!Us!ncl9%-2;OoxY736@S#M!i#!zXBSCQY&Spv>Daj*b zhf}b?b>KMhcSC8s?`+HLxEZ0-aXIXp>!8FhJfWgUJ??MU-be#_q^+0yMa9}2@062v z1ta031{KS<&B1A096f>&A|QKQU+7wGX-d`Ep1H&pKj(l&ke29g@g!D=DCcNUdw}F3 z*NXCw-IgQ8`HyEM|`CEJHe-pZ3K+)!!H24l7(e>wMd&>bUzwb>+WRqgzW4$*; z(Sq6aQO!?)8W^Y>Gt{OzD)pp3YaUv9c!0p`VORV{B>s&R8w<}odL zaAM3?%P#lN@2qIl=SvVvPj6HdwB+7hi^!YqO#LuyWM@6XD_F>kZ<_i(7Y`lA_AN=L z6!|&W{}%S_TG4$9DUCh+4(Na&MVNfj*ujcfmJ%lIG$a0VLw(8w+Q~@-WVG8_%cPyiOY)6Yw9jwy zAMEVy93xgCJx@|!A6$Rw2r3_K>^d|d38%-Gkz&>ofjZTi)e$VZ&>I>HS*5HfR|l1( z_>Otad)I~2C4BcVtHB|_j!TKFweVsF6B!18mtdn3L#vWmRR}Q6$HT+@xtYUJCTJ*n zZp|*P0E$3N2UK5BS?!K%VQ~`|z-lBhu`)K`S9nnMuf#%uOZiE=)_V&{5y#cdcM6@p zv1v4l^Gf~b)40g`{6U#nNtKbld{hNqn@0u-MN;iHzeQj-8MvKKoiVtp|I(DKs9|Ag z%wGLCOnWGAxBKl4hDh+v_sXWLzruY-WtbE>y_YsVQZHvwo(1y*9o5?_?Dgre*6kF# z&2{SrsBss5-OtQ~wv7P%K1BFakF~21(x9Tp`l3#`zr3L)A>dI^Dw@?}?Uf#LIg}0; zqKL7nNZZp948Bc|Q3zhEQWh^r1lBs$^;wEyD6$48gySb7UV4pI3LVi(N9g{T2tgQ- z6`I(Dz^;3rI$se0Kchb1Bggzv*VxPq1ziJm?)`+4-%qnh%DBu-5yufOwzVvq#S%Fs z%MK(j%Qjb1hpPxrxV&(s>NPXADV|pw4+n?iDp4a>H})T;C+Q4I<;kn9`bMdE=Hx$v zkuMX+Rlwr%>a-Aj#5v+wW;=IqcD9gx#aZfOs~*})mY$b-J@hDNjTuTwe2mG}Z-oiD z9T?c!pwm)lhouk@5QYY+*EOKDWuP8hNDgHAZbi~LJ{bJwy6HROv0dz3w!hD=_5*MJ zYQOqzBDOnb@&eXirpgWuWy^T6fghF{@L(g${YFLOJ4YCBKddMQ!b^GZTp?C(xp4|I zsR?ajv-kbr;6mcvnmEv*lekCux?RA5DTNV=b*wy5>OOI-RBA9^mH9h#pM=AY{07;` z^;s|OZ}MzSl6P)sh_RQA&*WO6EWjbsC^6ABpvg-##s=ME5(YSeL9u)Exv!Zk_tN4IiV#Le+eZ8Xytp7Jcg>mQu9G=hSp;7rkoYE7Bw8!88{ zcppo|17RzfsiWbO10;0~7!`waRTIAzAY*~4!QCG~({7e^klu6w848(6!@DQh(y| zZvMJC{@3uhNqQ- z1x>8w%rr3N(Ee0=9N?aj_l8<3TK5;H3{Pt(7K9@2=jL`q90|JL0jHpC>_JXjRs^ z^=iF(@0-)z`yuT!)|>5{rh>k%CF}>$jP%>5{p|Dd8YfExhNZbFfTl*oRWF;#?Z_JE zOieSnJ^Y<&pxQ*wJZC^;lJzZSiq>fih{-qe7zaEvN4+5n0Cm}>Izu@pNOoaliTqqI zt}5_k#iA!``tbe_1p2n9M<~Ym*H(;qpw<38mc#@xJo1wvesQsJ@`CEe(!P>3LZs-^ znmhIWRJfhfsilE3{@SwcvU9pooc?WVYT(P>b=$zz(|XI+S=@kmxFlM1ujZH$)|h1n zvUW>T$-B~;GI1Ld4s%vE7R&l{FjX?(zK~q>cV?EC{kR`XOm;JXnz}oDY1KCr{=7n| z%NWP&ST68+Hf|>y^14S|*JOw>|7S>NlYvE#k|dTi+7x5RuiKwd0~0qxlNS>1(z=+K zc~N6Dt^X+qGQ`0`Y!>uV+g~h2>oqax3{YF3TwpoQgwdVksXbx`hJ)kZ@VIdYXnWhE znKJMsCcs7JKS>x64(P#H;|w7mqIex)zYi^%%5syEu3>3ixVwk6hJ+}lU(1_>N_Hxa zwb5RCYzV(Ex9Oe82qTdN8WD=}J`+bJBV4A#mdEGtI0v{Rq3(_nYoej>HHP)LdD6#C z&eGe}^sQa%c0?A$5!z(;{*!Za^;PCq)@8K4Q~zVf>myAZ;mpuPuS_!9TWq8ap!ZzF zw3p>xbh{_S(gNhuxc3VdH%^tqd~clr;JJBTVTj4naFAd=^yQgjUmi{?+OcVkN69&5GFn>+ z#>n$vYNI`a?t3R(N>Yga-dB5^pii)skKsQ$Y0h!GpU04@?4rJ!G&!q|dDV5$sR^rI z&!&$Za$<~zzpY>UP!Pd_y+!=re=LvxnXv+Xz}G%8iyD+nT~q{UiKZTvEJlPxW|NXc zHPAM+t>0C4ZuLpf_07eZ4Z4tnGui!E*IDZDvw%ckbu?wSnF+KrQdScMSvv!a%-YSn znHdh}=@E`^;TID)hH=iW_99$t3MtN{N52%5n6L-V@3ZxHj}I>~e4OT{nkSu{O&Qb4 zUqc>YA);u@sVc&`;aF5PE{m=C`45!GcL|-c=)^?U$^9(@O3Kc<)_o@$hQZBJqb=d9 zyo#=Y8EicsihdI=4t7RORrAiS7yif>x`}4-agx8*-d6w{lobv#_|L=p6ROoD+GiJ+ zCzo?_N*GzH+gE!9f(s@C?HC*#9n*Ngt*%s+<>X?cHI-Kr)%za|4SU0+AM&oc)&kj7 zu^I>aX^V==I;5I4{vTgo0TpMKgbSo`_uvu;0RjYf3GNWwA-KD{LxQ`zySo#D2X}XO zcix|wo!yyz``$S@eVQip{cqipuj-ayxG7t9h}GXR!npLTdAptUVicQF!427+Sv^V> z45Wu4N?8o!pIgN+tNMU|Ie;JoOr8SsGJTm}(Le>`U*!XZ#9-fUtTIv)8$MPm$5Iq0 zCF3Ec%%EE(y@xeoWO=n_;jB}6pYexm@j)d2b{Kzkh}1^@MW8>=F_RqBs&Pz5kq@+* z*6N5OSUaBZq&*->`E-3{`t6&!0B|qLhw|wwsK>an{;2VeawC=F2*=;NdqDi+nOU1G z6BC3cZ+kWml0OeM4(R$*-~ASSz8n|@<(Zd<^(xPI?tP>1b#_W?zYZ^onAi^Zo-o1~ zQhNW~MV3iuT3v6J&U-Ue2xB(vEZ=Ww z@FXcE&L;7^TTBJx{1bn?2gao%t!haBF(3BddajuR9N)6MusG2B9d|)xaenXYk1rk1 z_%`+qbEzFrsNScDg{;;+M7*ajDMDS2jmE@d*?uH!_33HnXe&R_Y4Hfvn-_YOF zvI>*&RLTHUVfZCm08X4}<~vyXg#Kma4afoTpX%3W0O zjObo;6x>{de_Uhz$(MY1sNOYU@6^jTEX+;!Ru|bDJKSWwSn;66h=umJ)`D`vdcU&% zDOAVOfYMtnxjrCS-O3|M;UOK`G_tUQbGQ)}kMf z!lbG7RaMOq++Tc;i1+@iZM^9K@oTa>)Z(UNjSLN`tk##fDEV0Vu{Da$t{I3yDi4oh z*4jP7359=|ma+E`ikQp^dJ|`XDpPGO1p4^((mR+2(+f<{3&6k|V3cPH07f()U+ixF zp#sJrVRSMOjM8X+NdZ&Rf%$lA?SxjKI6yHsd}3r_=zg*F^P8sy^OK*Vgs`shA=>{w zc#!?Oa_>8be|P(HbrsX4jniIFKP5x#J;ET^dfo_nVOdE@c{wFb1=R;ybSA|_1|IXJ zGz(4qQU}k6f2-_B@AoL3M9@Xw?w!qi>1%!d5Mw?Mz|ItoerNuD;D7rE%vQe{#y6*# ztbwn&_`b%E#c3MMl=bs6Yo9DL*t;pIDj_7TF0V(iI=}4>!E}Kji<>|g4EMc}n;9zw zo-rGTxh#_4ZyHd+0I5XV*jRdYvm?F5HBS?YN=my}81riCi75_-jjWilD!~66`wEQP z9sK@X!lt>qYh-~>-V10bUolMG=>+3iKH?Y%1w{Z=kOtM9XnpBbQqRTWC6}S&WgxJY z67zjf9N(3mVau|bL3Ee`s1WKDDc7v5mjBlo{RILL$-L7T>6AH{BAca!c%T;TYZS=!q!P#e8Bydw*>0yq-o2iXkr=|Au*1^X==q&BWvg~ zU%A;I-$t>s!f5(*_A(*WW3Mas5U44#QL)T_#;l+1l9{m^3M=4x=Njx#TwIdSeu3jl z*ZQ;t0rYtX>Lc(PCRU%_r&o!RD9!J>qRHvJNHsr8(rL0;@Tth0%SmQl`cdct5wDD> zG>SWCO@?zR7R>uhS026i~H7U|rq7?(}cJwWyt0-@hn3%-hAZR)t(SSddx?k0X!$}T_PrHX%~;|()X$wsYRTm+Pu&o-tdHCDyUlGb9NgTS}!7v66{!gvG8`vw4t8-cFmjw|@n)0gq z_d~P1uV4LSUEMV6Y;7y|S2@9k^7%(PUhAwzqZmU@Qa+jMSQ&UQWPoZD0Qp>SJ2n2V zeg}LKFl!NBoM!N?I^^#h*#FM^6P|JLmc|l0QV8RM_HI;Z47D{23c6X<{xbCGgzwJjrbKnT_eN7-=H5J zvAvCnOL_H@`4~Ar$!}h_X|y4Ge3v8v2Z;~lZF$}HIf`%|LK}u(pWF9Zb+gJdIN}H2 z&(3=Ba5%{+I9IZP(B@R09e$+Gz9NN*qIVeS)O^a8$+TC`KxQBPJ`lH~BuCHnM4a-FwCtCqO1?ZRb(5zAm*AJ+{a;^e6fdtfCu{-)_(COJG>{cdi>?Q=DBkYX)WOk%%YKfBmE& zyB!yYy|j?v3*vG12W}1xML1IeYI+6aWK|TJU+?BE9&=C`kO!dx zu;SyDbw2yu@ikAa-qLcX+DAR?HcCHbybg;cCvtko?|exsXZM&MN(=_2C4W3>o+S#9 zy2X0(M`y9WuI_)U|pb#%gRGR0@W z=xr4`iCz9u?K#>q%4@Ex>u=h0FQk4ej2yPNEMQ58(xUMJaqq-H)2>f{Y%86F$40!RyzUpi{NN%kLgbDzKinV@aKKjYM=FTxsBn+k7Lvqr7XD|RsdCH0LO1dP5{#;4MF}PQeL&=Ft)Xl^IXEI&=U57^v%K*i zok;%;Q2+Z4pE8Axx&9U4nO?wspE>3FSb3*+>8bbb$Gm*tP!78z2NGN;Bx7$TOi;7| zRcDNdq61?6hTwIeY!?tY?YbHdHm~08H`#xGcJGrjhv!J>Gm5bPq?BLvhN_s=zuX;? z0&6=C&aIc{!^N*(l9=)JW`>52Jp66uyw+$UixNX*hK0^wwNO2LW!HDgB$G@VvF9Aq z+(t#WhK&h#%{Dqlo5uZT; zd6L;7RJ53Ok=}P;5R~-L3l+d!c)EQ5LMHKN=XYG2d-BcU zk_*#CKuH&AFpICNbB>s!WtODWIvO=pyi$Nr*?_ z_5A(FN%dXeE7tu)ZtONMSK|{xm-!K{n>iUX=A6M`)D!m>Dbnq2F$cS4Y>nQTsm2jN z4tGsqNr`%$%_)#}XN_rSVG>Rtg|7FmC#@??c3k}Q#zfUTM|`%Zu$05?d|`?{>Wt2p zTc@WniN`b8Ib6H>Js=@@Fr5-8Q^JyWZO6&vZu^@N%X}16oC4(eB zNEUqsyItdc)*lsB7lbZKujF3yP<0;ziOd@O*-pl~<_O;e9HbDJlsnghhA*kD5)=}?6~Xe58a53Dzao=?(ZZ3}Mq zvF=uoRnRrFpu~McFPMSi^-*3I2`wmxj*sGeUR_2_jmce$@9=D#)eNP7-$zw1&y1A7 zW9Q<5KqL~(t~JWp@!Z_~p|b=%`S;BbNBMV2b!NJ*`&q=6b@PF-PL%gw;qu?heh4R; zQzrG0znSQ0(->UB{=hr(Q!|6vrm!OdT0f+3L?fAlMO+mbXe>%YZaqtfuEqhK{LlVz z{{Xdrs8tRzofYmJ+TK+`uvh?H2}*x{!nil#CkHFzo3a?aymLC95jdZX7I1xlVXjhC zQjps@UMF2eVTY0P=Kho_-j|EU&C=JWMTp`y~ljG@W|*NGe!T-W!h zO$4!>n$&yFV&4K8e>P?U1v?)IrK762KDcye1*m-H0Z$-F42~n`@?aAD9#xUUVYE4t z!&ZlU`iveZ!uP|+?}hiN={ab65xi$~mzMQq;(3j59WBZ@mvQ}xXtLE#+jsnOI)ySg z<(+1b2^!EKVom2wjiY0&BAXKlFF7|}UKe*O$whES`bRjnkv=gDsNK!-5Qy-h+32e9 zYq%>R9xfU8>&tw?&;z7)TYCK8QLTSQ+5QCEV+;`Q^EvJ?Ym4SJq0`ju zB!E%g4qH=@RnYjX2{wK{r1(ndoEBS79aerKVH8->@_QZN=kk?5$y0fPD#9HWkv3(k zKLB&U;{?H~8Z5Y~Xu>~`StsJDM_W6Q(5&%|Ptkt~eyB3tOlOU!>4{H~q+Y+c`bn+K zD~cMzrJ0tl#w5_Hkl1;%IC|)qpsb)X*7Yoay~2q^0*f)@FE*DTl=vn!SA>I^5&F^b zHk1Iwiv@T1?lJ)oj)JXqc61CX%~&AM%7)47cAb%Jgf@M)kMMYvuyOa^={0EcNQQ?= zvot9^&W&@AkJY?gSL7Z*Y&p=kmp9f})WqPfvZ-uys_zJ<>9#5~MItiV1;K-uNSCEk z5-DH006#n>vB43swdR8=r6Bly+_!I0ve2+x3@Fw*O`QipbJSJmvst}-NE`S~Z1Y(` zcV-R55Z)SZ_JL}eshMfobc!!lYiK@&nLa;~t*KZ(V_37zsUt_2pY8fMFjL_p@#6F&S9PAM`SEODswG0;6Ge}j z++11Y{`x_10O1z}An`F?e(iu@u8kQ2skF13)Lh>dmE=%vlA+v>Y4I1z^gQQ}Rv+v}ps+Eg@j{`ay82HY7%CU&=dwc&eb9UCVb6l!9h z(Uvtr9$(~Wpsos-I+^|5*)GqFK?-6)f{&G#tM=A&%=W*0wtxIMh66FGBF^i*Ii~0s%ynEcD7roUvs_ zvdpfIVE2-lEe#p*pHa^*ZLZ=@zRzDiFqV_C94N>(AC6JB2ABrdR@<*LnahYb@L&1( z_o#=Q;L+)K|ANJT=}YbK<;;_;BwbE5At2VVsPKa)J_)JQG@I>wSR@f$d*+|l>}4b^ z7j5%v7Wf#K9_OdH(OZV#Jn!;#Akm5E5z>ZfP4vx>diS+D;GEnYHW0t_GefL0`cSwQ zLBUxeI~*m(SLcn7*(*95bQrA7dgPPKHy;gi%X`{(2gCm!wye@v;0?A13n84}3^eKI zj5m)^{BVKWLb8FMhf!Ck`M#3jn$#?kwHXe5b|#D7H|_V9_3(hSvCb{&3P5v54Ond} zCj|=&O3~{MQ=edNIF9I5@9!FX-4bAY2)KzXkBpP|R(u$Di3yOj7B;R-w1W-4)HNRS z$C-Erx|8Ap;T$Byj?chl&_D3RKXFEFoVVhl2>}zdkK$sH9B^|hO@No@YRYEN?s9A6 z?9?etfUo?tIUl5db0D1>_G3m*)nyw%2K>rchWT-E(`@!gUU&UfpIEy(=A0B*WIeM4 ziL=Mtc)4zfxCle$h=9Z*OqSbo>m+WM#%@xBq`3ghZQS78v(t*#yVYVED;jOGQw`7o z%D%L<%WG)WsnE&V1BQqj9t;~0dqq(Y+JkGCgIeu< z+)Pf}rPXw@F`uizgyyh$FFm#d45JEWkpi|5a;w4QOk z8|Z{6m+S;j;HPSZ`^F6qTRNZ;IlkT#g?eW%D*em!1n%Qx)=#t>1Ly)fAT_LkIsAO#9b|V;T@E zK1f(I@AHJ>lFf7(X=-Yjf95977j91jiA)`~n=|kdJEWPNYcFl#Y2O#?PxbXzb&l3y z)4KhH#9eRxOrOjPx<9$K7~iD@<}c07tLVCYYz#v71%@wuduo42nwYr&#Hn&qBnp6W zkRr(YEw}wR2B=!O)D6TIhE%Y9-eD>ZApGET@4+3z=*`FD^Xi7UyOqdQWh^GzIn!7o z48sT_dYz$kbhfV%KhF6fWg(CA;7@T-920hw*|rxN{L)(MKtx4kN0Q$&1EoWI zX7*<#NmI1 zb^oDOGvU!Y^VRk`ca9xQ*viIyPA2*S7N^zrsAkN$ne_Qi`Ml^5{N)F&=^}dQ4xKh( zs?U5mp`9;Iu@@RADYrxdf{4q-ujYrkw;R`=$MFl24i8Q)Xna(_0MRfq*7@XU{2EAz z`E1pDN1_zJlj2AuuP|5KI#_Jl^BJg8bhJ|<4nZxT47d68z%|hZ;qf!IUh2-RWwY^V zULyKg?;NPaib+geVZAzO6RB!cZy3lSUEk5a-tkKek3=j&e1L_Iw_y0d1>)?Y810p) zGn7k!)d9z-gXH)mGfdt{1F*##W>?V;AaM@JAs*8CyfY#|Z_PmR+(YtRT-D_#5RhFP z>>gUikuoo%@!-}R)oh0P67ZH6@;=L_-39U|j5FD!g&A#CJU^Nf$$D=LvXqtWd6aft z_Gs_B8}S&#=>`;9_saBlk#I{s2uF*=xG^S3%2@rB6@}3Q$~ND4%*;;RYYPi!pR&QU zk=>=&4aHakuqY^*QGrUQ3f8(VP`8T$X7BHtuzXd;fi>#LNxnpty}>70>HA+K)p#xeu58g-%XWuJ|5 zj6R$@x2FFbehJGFJp)rBql3Q+csOf*=(nDBf~9_-uQ(ht6dA6EfLmgs=*>Z{HVHTn z%M4Z_6zgOE>HM zMuGThbB(kwNunvMLCOnRNWXS3(0+0AOd-!uy`B$&d2nzDWE(o-vn55P1%06D6^>qp zORemqG-btx*3fl?S!Q6$c9P*m76bG3-S|O4htFk0*i!G;EwIgLr6ld?Q#wDFgmiHW zH87C#Zq|Y`bU+%PeXMuz$yM&5ILr+t2b>DgKtRXpqMh_?$Sx z>9l-etUdLS08pdXwaANRsu37`1Kfe)`eS$hknF6h|Opk)1*VvY|9N~&C zgaxl{9Ba!83;F#qxICPN)18fzYZYj7gOKeFMRaLH3GtEAe9nAB!oym^NfF0|1(X^r zHv_MEaqUp6qz$F;4^B73>zIJ-K2l^iypparYSosVUcC`!j%(k9FN=#013c=!a}P=EhtE)5;fFrr^K|8*V>kdMvM6~#=%eyOL#F7? zCfGAjz_E@F8rs)x34dv|ob_KvZS45%NQ3t+3~Jo@%gy02S*u7_VOXsaFfSV)Z{ji+*|2q)ypHDI&LHNrbp~EjZ+c(Q| z8q{T(;m&ZPjFM8Nm-Ra&I9=-=1J#n||6o<;(iRD0TaIvOx z>kPqJl2kgqotN>+2ibxI)#e@cFm8@pt%y`QoF+aQL93f*mE9TEv60rl&2Tl&|IRq3 z`-|j_YuBR?&@mwK9oa@X**ZfZ+GXBo-EWh z|G`5id>^uHqET8P2MwsK{<*W)Y!Q?hgd$#LgNKTB)md6Khk;?M_C$B{?L6KRX}?$b zlvV)gM)mOUpy4Eh2W`^Y?5TA*o|^&Is4MSqC>Qz$amDFqX+)qPldY@jE_%W?;1)7o zpriV9ZoYO{!wDNwT13BjI}ZsZ(c0^DE~lZm1lKdP&PiCf7fNrpUhqwp^`Le4`O#(# z>k(V?>)brI$Ow!>W~^^LERs*93*9nYgpqef-*(Bs#7f|U|DDyG3+OxTzPF%gN2C2o zM2Qn{z72D4X88K2dWHGCCQ2r|;^i!#Q2!TQ~zAiAsflav|?haB|s5NdojZX9-8} z1WQm|k4%YE`~A7N{zwW7oZQ=eIfn@tC*KBpDR)ngmxzK$yV1GNci6b?z(rL69Jl*2 zQ4;6CAU|e2$s2xTeBK}>(Y4F+(pIz#vx#ST6aTjYW2rwV^iY+cs+6~=KLvqm!@ad^ zRP&MsG!Jzie`U2+f7h!+qr<63BTkO_TPm;>`42i}%iuP5f)1B=u{tq+8;QY%^_JDP z)YR6cN)Uo}3}gZZpu3u^(9nl_wXRBrL-7M533|#17wr_bTLmx2(tju0j46TCE^U?q zJFI|o+V;zPy2Pmx8Jepb`=|^}>euqvQ(2+#WIY2itk*LyH0aZa=a!C?jOKzbr>_i* zIkMHtyQX@T2Vw~`jKiZ;^KEL?yY!aQiD`D~a4@kX&B?KfvKoeF283(x*nch#Dw}-S z_R^Y5%g~$|^yFx0Y76-}`MW2rc}m43iMTg9OaNoIG#(f06R+DXIFV2ik2P1@Eg>2V z2&T;`a^>TP>|o6!r}UK~r`MWP<&V4j`$bN!t~cS|3k$u2uU6cE_K~rC9QzLPFEWXr zJ}y?%3|U?b8S#F)98vFhQri2`Rt>>v$WinaW)JF? z+=B>D3zRID60N~i;HI-5KT|D-mP!$?Geen;-Hao9eW6Zp#yyV2WljrY`S{7wFrsxb zZ&6vl`Q$Bhgp6s}9wKi-)jo`zGrL46$_)sJzX}TJ?*=fwa7tibipJ-JE4b7D4&zuS%?% z`NYq@CDAb(+YZN9^mztx&=U+TH@C2ZvFjMzr{Ru5Q?z`gw{&BT}G>9{)Tna=dg@vyOS8b)>Z;n z-Y@YtZ@FtDZcK@3cZGv~Gg%2_>jBfXqGg>@LPH_3g=&w%C&oZ1)sNymW2CfxN%Tzp zx?e~Gp_&fxaAWON-~9?DN)j4f4mEci;8(9_)D6y}2Y<168$-{#42kfor80$A-+4^uZ`h7exZ1dcr4Ko_^MMxW>_1JQCHheKGV37q1HYB*Ac>x! zKTj4sUQ~;#x3DiBCM3m_r*dZQ>bTKD>bg}Ff`fx-%e--jzF9mkndy2Ti0E!Nz*0Od zcM0zP;@u+u?Df*lvx8kpULg3LOvU%CcqcO@xYpq4V`4^l z*1b}%t*)_T@00x^;&%2XC9f7Cjh091*@79u;A9SaxH^`A#koi}>+rygF87XpCXHRJ zlRdHHSX3b!%axDl&x&bANSafvPb+h~ zg8oe(z7T*uum6KS2A(r4G4j4FgH$C$RHjrVW(OAV%f^iF5kLTsDtFHIQL}ZjvUQG* zHr(Tp&l13M|7PBQ=qn#bQWQ)g`{y?TM$e}G1GU}qBBSvbO7YmUQ?r_b?Ce|YNo$`v z#y-6ESfYw?lM>vniE^@UBcOwWM&O;Dn~_r{gtXAQ;@c^9&81yTzBnj0`FtxHNwDr& zefi8ovhImi7tip4_EXO+s?-G3AN)q*bA#DQ;uHFFI}TE4+d-O_Gb1ZT2p9OB4qs+| zy|fnOPfQkte_~CUau%Iu!dn48AS*YP$as0_Fn*TF86l z`itU)i$UBZ^}_6CmP^Ucl7gawqF{o5F3lF_-Qsphs%jaQa1kY5z>vlGug}%io?0qf zf(mj{^11&>Rq#vDf&`d|Lzr+jYwR~xh-Z%tQom#)Gy-tLV- z-wj(;EUJb|1=8t_9RAeSMSJAmM+9{2cZTw(-YlaYx(qv>FYg`E`P0}~qxm#XXyj2G zJXXiphg$v@aS9=JGyLVz7d8SJZUY6a8e3W%g5mZjNPPFg>YdYZ&>@bMJAW*5b8uCv z_kGyjP|{FJ(pH%9WPi*4$Jty0iwZkK_K9{3MwB|VuZ+L@b6*PqeD~w|PG2k5R7Smn z9qDzTzWwJofOn0Ve2d6y#^&Z+amuBFR`%cFBVY^+z_Fj4#1l~YIuXFF=tgN_Q9r-% zL^otMW|w9!g!1cu{_~*dAx=JX7l=z>ip(kzt{x=5w=mDE8t;Ys5Do@mA;?DyrGdQA z-(n|o~ZMSf|8hC2=<}}DL|0JFckxylpU8`^Q5-y%y!c&?4s8iUr!%b0x zgK3o0m~sNvCC>s!^VE0m5Lk2Ziui;OhvXB|OmgDWCUUp-U(fp{u)=`Lj6}d7a!8!= zU)(xEzP7EgT;*g1^cI5;8OodC^CH?=scfLVCh_)Wgac3znP8A%Iy-fV2xgp;a3B?;8KY#&p$a zcN3`ve4!qQEb?%(HVH9|P&0zY-bpg1*4JAT@_;(T^fH2FN=dwou)V8_G5z{%JwdPq zO&;g>LjOKU9c3RD!p<*Bsx%=5!73X1m72?i2mp<(wZLIjV_<^@fi_6MIB4sYNx{+I zGUxbV4KF6zdNbvo`c=`xRa?L!;AuYuUPXEg;{qX^+Gz9{;KHaF6nn~jxmqp>c2@h(Q;>kI(tKZHrS^->e8sIacTwBty2 zuk#l~lv6>R5Nc_W*!XA)KlEPr{$BKNK(F&2a={r)#K1uwOvE}f<1z!*H5hp0xi5T% zYt~LqR_5j(E6T5LEjANeIh(&={vlm@pr;MDp&@(qurSM$@Mihq<@lwFiLl7yyEI_anaXS1L<+nuEO@Glb4O+dH`*wr%8ktGx2l{5y+vW zbfjwxnJkSef_uR9i}oLf=?!!Pbgq?a8@9V}JE88#X$Qq3rQ_nw3o zJyTMv7j8)rv11mrH}R_s1C)XmA0bi{Jr#0)-F+7WAHWN?;M;0j`zC$+s8V5bo9>_> zE(&uhA^?Se`AAT#t-){R;TgM`H_?c&Fr|ALDSFNuM-(K`zw_qf#4>(K7kWRv4Vc+K zPInl6tV5f6yV1amkgy5GSRMlEN0Yw4pnYA@@-e%BRhbyJ&A<%-$<_G+(5qe}v zq;1B;>ypC&_;QTNavX8};DH)6lL$IMMejU_@QzPv3j!C5K=0!q8rOd=$3pshIfMxH zdW$W5Mg-6>`X|&8a!izQgLKj+V1G0){!sS=pY#n!qpOSSKN0o<8>FR{)le!LX25qp zY2He-@lQ1?DXg8K|1}N=aGXw5CwbE+wJ8CH|G8d0vCe~MS!g7%-Z~Q_)c;uT?!lQF zxn+pJ_dlz-(|+$>9qk(}FfkN` zd=>~f{J#sQhF0g*vlF6dFt`Avh2M22oCff{wGXzdk-U zml&shwD2zL7KV7O8bY;6$QJYB>@4^jjN=yZ)&Vy9{FLtJFD?cSW$#k*X?}}j?H>!D zV2T`n08W&Ez6j8z|4~I6GM%Z9bqrLN^UW(od3`V{A9M`a5~d#J0~rQ}k%31X+ktFt zCF*H1K(pi&Xd`;}n{73_@;*N?z=5gq+0_pO~y!o5shGZ5fimlNh zSpeWu1UQWa_?#}@qoWuj5P*`3-TrGl)>R6+8FCZSRodWhC=7CH7yPS zswS=L_k9)!7!?v?Rw<9xwp^XwBHvk!wa%xbEB0>nx%T#kxuh7jo zEYfBK*=T=2X)5p$@}165swD*poM;c0G{0)_*Kr}_uAxY_E) zGJyAzAH`}sxY~b1ghz_x=|`OM*e|eym%zi@zI?~~TLRyKQqQ{gg1gqit<2^je^WT5rsCjg2fp`!KO{vq=^NBw$O%STM-2N7Fwa z`v*qXej z*EJYuNt;ujwk7}%p|ZleG;gB9E$GO1BGq>y5b)Qhspy=XSer(v=$g7HM~fC4giHm% zeClb&#>P}u$B4gvy^t%Yjg$~`R}j@u2sURMJzHL0=KLulIu__}6RSMa|54EBLSk!s ze}8><6L=N-kaC&&(bd;m0={u9U_37^t@RRQ&2|ktI5LpIW>;=cpJz4^q5WiaSpMww zv^Z4l_G5Uc3~9~zHs&6${wP}f<@!kP1`%-bqKoV+^!QU9!TMI-6g?v6rFh3bZT2B3 zGd>;ve8ozL9kg84T83SdRh|0}Dyq!!rnxoC!vhGg*_25IqWyyc6LzG{wD1A1skukJ&V*dci z-!$U@Z&mWAhPAoBj{jw6Y8PHF4LwG$7ck~`mOI%B@f zCr1TdO<%Hf=NrtVDuKr_M!Gha`>iU5Nnt_fLdWL&MKtb*!4#sl`z|g6shAz#%O!qa zzn7akzXlCn0Xe0LRaXv9WtNF>!({Cm$C1XlJrC%~sn`cs&sBN)zjHu`_c6c$G5`m> ze#;UD(FS;jt!qpe037hsB}WRtYFOY+i?{@+M<3g=h<tCYPO0b^d;$wU#iH}ttJ=k#X5JW4 zCZm*4F6E52(LGOig-5K~Q7)p$aJ#O#=S{6R?Ox3@*!H@+G%dxxXQ{%s7xafDj2b<1MJu z2#SR|qaYk%ccYQe$G7`ygw_9Jm;QWL`}Mckw6=Y`7FT_mUQ|-vI^Lcp;Sr{!{Xzg4 zAcUo;=v;sI%}DD@HfuD8z}MQgrac>qtAzB)cK*;rY7thK$I0$E2^5eVkuM5 zN>qPfE=qvr81MdX0qaWXPA%Z594zP6oZvnLcwfTIkpt{1AeeBOD(~w15Bmn3lLS0U zr_H`hhM<-Cy+Qi~a+1Vm7cY<5myCAxrw}w)RE)Q0%LP{U!Dinfqj(>$j<7H=?w+Wn zqR8RfU+k4=1+BHkJPFD;1f~=l?Oil_o8jvL36SZ>ed{-y4&INj$FA8-$ zt#`GYHtwsj*BZU9V{5t1roPYpG1`8WA8mIcH9Ls$zSx^gy5)s1Y5hm4YyaO2F@Sw< znzgBqZHH#$+%Mj(DL^

    0Q2_y`EiXw}uFDZ6A5UsuM||nNGb#8*yg|!Yn?dht zop$={;SrbfHWOqqR)(5Jq=W+9(#mH%y<}{B8c~s6GI}IK$+Jp86!Alr5vm9^%VXM` zS|_%tY0~HEjWAf!0Q?Oamuz^RCCY}&S+yxb#ETA>)bMsdJmyh)5-zWrebwT^ct85rHpD}Af#bkPINMFB zhDph8DE)8_1H;40wbl#G68ck0oew4+*BBYu;ZL-W57zlU?>l(sqFHa=&%<=v97&Mm zB#5eQZ-AplZc%@@Z87J{W^4H#doMzL>b8;5SRpM@drngMHB`nCD+p0qU@^2t$bwrjN?v*n7yuTL`P2Z zc-y-(^JU?|WM$=J0tZJ>IF*jJc79}7I6`j~xYE~KV7Y*BL|m(o=Inun#;$tm2e`)1 zv6O3qbnfg7ukDVur@H$^q~Qsl=aCa1XAsq9y;Lb0fL#<2p#Z zD|eOmc*wk3Z@-BZ{427ecQ2|qIO2Enj8(p7B__V$d8uruqpiEV{Wj*2=!?Z7UJUD( zBqZrMUvWE4xMtOyU8*SQ(EX{ivzkbft*(;+njzmUP1A^wi1_e0YPRjwjkLG4?u@?2 z!W&qVm>o?$j~0Z1=EJKmyAnqTYX#FhLxLstFT8mh zo+{qXu||z^D^NbD%rV93^{5}4?z~jbH^h8;2Zg!=VXBDp>)F_m88cP zv19#tBxYNsSN|LTzViVPyCwgNy?2bx>udK$8{4)Tt7&Z8Nneb0XW-3Mdu^YM(azh&IHgEj9p*SxNuu85gI(f|6C{c9EKj6l(C>-K5~n&SU@ z^}qZTb#VXsvH$sNf34a7tmI#d@xO1N|G7*4?@RJO`|bbwjQ;=2U80$Yp+ZhDtYr*C z&#Y=DDmp?JlKWpiDF1##9X3b`VU}S?(i97VeJyVE ze*;ke=g^q62fwYW&*m~EIqMoTs^3+Y$)2`XLlyt88~*=P_ z-@*`sBkLlx3+(yses0>FenCu3_i3rmP+Pz9GiIavW^}8^6S~cSYAZf zczO!BIN)vm?*PNVdrTR@xiHa_k4_pU?;QXv0xnWTNs|yGGZ=06_C(?bU(#fb5uxn9G(>I36%X0Pc(ZoGIh<_^!D>bke=rMWqFP5RPk0&e(I>ju-j zwkQp_H^O>N^fYXkSb-Oc*tm3$*Hv;s~l~K?W278<56dn)% zfBlS?dHtrZ!yEHt=xS3VqS`a$Mof{wOXxXOEy8Lh&ntmCJ11(cvJDG|VC5Mr^>@b8 z{eYg$diz0}TBbu)t@RVkM&s1hhVs!#bl$gb4Z26cz7Wd1I4K@{Tt4exR*JzcK9wf% zbDwzt_|m%Pz7Y0&qvz17Zu{EGq`?G4$lLvbv5f2DCdh*f-bS$Tc=5U*C_vCa$p^z9 z?=Tn1BOS2})6#UjTGdu(zk}USM%>Tdp7Q@W#hYA71x1VttNRpX?5U(FB;~H6QeU5+ z5>lEQ-SAUhgJesM{esgtt56&yBq5^?-+NEfTb~L2lNf!wGNBVa2{&a&OGs@~Shb_n zSxf8b(gR$C^t{gZPO`_|8Cr#_1tP(Xc zOzTX@RjyuIUe0RPDJ@nYoKqwx-cPazGQca?%f6T{G!lF(%1d(x?CWY zBKFsB#c$uX&$qMk=boY&KT|UD^D-~Y;}Z2o;(kfVOBn6m-mVzGm+A>8JR}l#2Jm)9|U9%i5%X& zeC$2lkHW*Exir&%PcrM&fAOojEK2u4(x0T>5qCVCOajN395U-3EpJhGJQM&ChtuP* za%xPtJ&niePCsoPr2oX8`uz_Jv)lJ}?Wk+v(?&Hje43$3t%Yc4-PxMT$KE<%Ql@{7 z0k4h@9&N3)wVXTb)&NbZZ6O^e6FHcWrUP2fIUxga))q^(+1p9Kj%4xIy~@k4Y%IT6 z?GAglz*w|T>w9O%TB6sFbp|^6#h#HyOXudH%Tc&Ns(FtO-AXm}V__yApB(>A#ckqRl7c`xX&?x1#r+sRhT_%MOOoR9RsUifBeZ^4CWr1|v}Xu@rNngKu>pgA+!6y6AGP z^zBq@g7>?Dax4!`QAc7Bs!D|nRO`)PcZwm@;|t68uiQu(@DY)2dqeqB z>9kI+6dVQ%*~-9pj)${-OoG(Qm0%ra3U~sPMRBtocbu(~yt31`WYzi7?%2q z9q#lfdLCFhPgm?*$>H-Omb2fr_E)6>yajMK}yj!4}O zEuetB!^oxL$`1PHS@k>S69oR)K*K!qEFNv9S9wiM&HU`Mbg1W4wXn7B`>=`b+kVf2 zmQ0VIB{k728Ww*1#xo4{_~m8aY4`N-+=JuUY;pbr1qP)s+`nq1I&43ejwiU5LR`d$ zhvZ5}Ye5hw5e&Weh9h&&8b|j<$APsB4+?m+$i?_~lYzJZ$^euQ0n1=+1>xrh&+qS_ zMTZv?jfOWbywXa_7=qs3<(=b3b1|X!)tkoUbUe%O!>6U=K(9J5F;p zp`30M-J;h1dgJxgMYKf;PKeI)a$6XXEzE`Tpr<+$NsctqFAEmRrMtVg@OIdDrOU1s zIBxm8wdh$}=q;Zn4kQyRh0adHju5?7@$sIpZFYao?!;b|cV=(UWgJWeV(5dvNy(CK zA_r%%>K8=>MEy2P;~?^;;SiDq`-X#a-0|=V+sF3X^K&Y{Rl=&hCh%(1RkF=lVA@_lk)&coozQgmWWA8-Q=1lBxe{CN3e_;Tp2cRj+$R4>-#q0umNub#|IoC^S>mR^S;WMkbH7y&O=#Dda>)c}m zzfbnXWt_iietc^gep&xUnfxy*PLtAaglVCgj5Zz5dPNe6m3qf`xWuTI#eB*C7$I=g z^=w8DU~D{Gn-GC>se2Ur&%saTnoCEu-MN!(ONVRNj};$K9HN2;IQyyw8d}B>P{WI> z8}ac#%;cmBZwVcIRF03Wi?ehtXV0grzD5$NNBr3Vm)A?*gN--+i75wH-?BnTk5?~G zUUtv7-yGyB5Ubug*SFjy=KA8JTM)|P#b(6ca7x7ItJ*0CL^0zRRr@t*}PFFsAJvKvV$1&*lSQ zPITzkq++6_U+vC(;>94M@pMDxL9Cg-I&3^$BeA~kl_ZU&&bEXUrYX+pi{_tN7#jr@ zWC~SM=AUu9%O$ce%0|M^!EszV?Yyvl=(OnO?uTp|4wYR&TW9wd{-!CCe_wI%yyD$? zez;bhkx`k8i_bO@CR3RkPvQA$Dj=^?U$w*Bn%!QYiN@;PTSD})3^^9)N`+}GPpEHY z#6W1S+L*2Bo}ChaNYJixV5=$kA1yOVPg zwR{TBTy1GWARy@fY&<#%NPq+E#z34WY_77tdXzd`#Qyp^!{@DMqupDthvPDwkfkmy zYlH>N0>JKX6CSWY~JQ^7NVI zVUW^eS!MsUPJRtSowL0Pc39eDyXmJkAKxnr%t8>Cn%s)SZ8;cSD6{pw1r^;y$9ll} z`mXg7fHA|rCwB|$SA@taE4*D%8jk0pm9?H0_PrErz;Ewy_!jxe=^c6+0y?Y~L6CIH z&V3QJeqsI$TU;4D_#&F97~#Va)0Fg0Q`gvr3<(WJ#RA4$!5_J!tSqP1ko?@w0`*NU zaU|>A+kT@sC~06Km}D`p+Kxca=Tg?e)<=)?z(k1jdzUh@-ok#C|vMedyKO*J_bJ_hCi?D!+Y!SVLt#Q{AyPj9=Kt-6Sk z)bHZ3YIzqIC~mF%oAB^9W`ppar=p*B0ZT8N)!u8oX}ETbFC$7}8m+zXE7?hR#H*d7@fDKDe*czH6# zW@9FyW@XgFq@3wrE{VtwI%K9NVsD0>CXS)Xi$_VJ~2KtZecji_^u4(>t<@{sC2Y6m$b4@uaB)2x64CuNt`PHDf!_C z$|q?7VR2$uZt32Oe|5c@{2;4)$j)8W2LxX9AbP)Btv?C^ej#kBRS5o3+)#Ifjt)&_ zBDUqDqoK;8nC-pzI2B^yL#T#UdL)&cm%bw)=|zf&v}^dI!QlYk9>%fkEJ)SDiuZ8J z>u%f?S$+J%rdM7Z7MB?Gvqfc$JqLF}g6igU7{VOaR4Fkn1E$KAL|n%3=g-@-C7mPN zf$_kth{9}d0#L-h_JIlAKu@R*^-A(Qd>%XR-OcuJE7QNuc2#NMHZ|s9mEgO+o3Kc= z^G$Mkn~Sj!LqeFHHm|VQ|8DARuX=VfN#D{)K}gS(d;48|ylA~%>rR$OfY$lp6^|$l zsXY|t{c3Gs2v&-);s$Vcnrp};CAh*eUh+NRlkF8l>+m4pg@Cnzil8X$&S~6I?x?r)1+`eA{R6QE5p1g$j-I~0gC`YgS zs@E?T=iXFCUKpkjQ*>BhXArsV&$U6tgvH4E_Lqbt(`&J4Rgfb|3K08>KUrBL#f8VB zmg9^M@Rw)u8-44@SUXP3%UU`7Yz$Fa+jE8x_zSrJw!>&zwRw4&gN{K(NJgRd=PCi~Sh`XsIPdZNL^X)FQt{$j6 z!s(9v=&DJtiK&~yfF8;i++9YP3pxka)7DXavHK`If>;ql0iw*GN>2mty)Z?L#OsWX zqKtgahf1^cV3hvxGhYj$5MYlFC~v#f2L~OlwK=*)zh5`#&>@o>IV$K8oGnj$lOV0N z`WTAydp~DDytF;Cw{&-APz@32QWl50zrRA(eycW4V$~sl__l^9~&KQ75unc_u9R^`bzqP^(!lzK#mI*6dtb* zff;l4YwwvxW>s-)yjG~m%V=a&;0IT465T(zU+0<_F+D95HQV$3DFx-G@7uy1H`M)A zaV4a|Mw~;V_}1AGDh>e=syCo?T5{m%0egG%vS^-$7V zJzxx2NYpA#;X5?%q zG2y2-AB(5J#y%_wB8d3QC-Smw0n_<4>P=+%?QIPCFr#eS?a`pDYKPtK#2vU-s7x<@ zt7%i(h~MdXK7TH}&gWdNoZ#9bBjHgXm^jG^0J#(&vOBfG%x{}LA-m3iZS_9#e8#q` zsiN!vlnqdCWP8K)8cKU0tCqugS0SciJZ#8p7iGxaXei`>|(>=@^ELO zondr!YF$iPi<^lF!cL_9c`Ign`)6{7n}~W=Nv1Fu7&yql(M`4io-4O=jo6y~?&H$a zgA7VZFPkvr9U7h8RoKJo3l&9-Fq}gzgX%tDFu^7e_^CYe{(R)1AC+?;JRk>L-Y49T zhp7dC(Y`U3O)A|cfvE$Alg@o{xgLDzc)|M_YGw!tsPx+E>H0s-f+={+o zQ|ms=OUnnO+ut{1P4D?|fHGF-O7a3@5IsdnT|tufF0V5nFg&4+S37SRt1r5Q4ra)#s5>)p z^i*4WvE+As6~RK!h8B_lK|Z!3m{KBNd&W&cBa4K&^EQ=N8t;-?g*6N%LKEja$_MIqV z@Gf3=wowR_uk^ALLAt@(Vsckx3Q@8W(eepv4m}8M?l2tPx!acn2x`&6CQ$w{aQbS9 z>8-IT=}1chKQ(ruqTp2-QmVaIx^fGJ0(x>n;7{i|l3h+<{ByRN7bE|pINW6T4D<)g z8Mgrgdw&#D?W!>Cybd3aj8ScOF;%oBD`19zX~kyuf)$@J^c9VRT`FrlrWfNJOk}TZ z9g0gzo)0538!R`#4#mX8MlRBsNljzZ%T;dY8pSi*=$W~J`E0amJ7u6hKoRpe+>Xj) zsu+VFF*93lI;MIc4JR;`gH#w>y-s&Ec1hh{dMf!nPav9Z*bT260gY2rOVgpLMP?iF z{Vtr1$~V>h-F-p9yU#4Doz*gSI9Oau6Se!G?Bd!wedJD% z%?t-kUh2Fcfz&%T60Y%Py6<}H5iybp_bfi1WP0A+_>oagZN^vnWbm0qvRDPyVU4&j z`%R8i?_ne=fhH#YA&@H76z0rQd(h=Ow_v;IOL__qik~|bM#7u)cd^_Rz|$% zc5}mjX@VP`!^iGJ6a{~0?RcoJppKs$>;A4Z+Z3TDL}sX~;bg-e#N83ve6{_;UtqLP z96Q>W{WdBac@q(y9m$D-@0V%A>(xO4VvO5h{+F88&zRJg_jJz2XGP**l6})!Mlr6{ zm+Yj#H&@r}^it<2`HmZq6Ya|r<(8J-Om3THzTHl+ci5!xaM?Z*`y5f4s5k@@8l7b9 z#6rsuvEL5Vf0QrP9lX26lelNFm*1D7ohryl^X~2r)lvAPiq@s33oo+tQWn%kRJcG^&-9O2LJ}p zmnT?xyTg-{b#4!y&&z`uwKtuTt#r$Bo^w@r5amqw*L-nY3WzuckU%2bt7PR~@h zcJ4>XfPCgco(9-5AXQ?yEna|(oJZBEN}F8t*Z2Oa*uD1jFNtXpdtg0(ouwb~rte;M zJ{-8Ao=-=0uK&FCVt7v^{L(t1u1^I}ufHk$;iHm2Opt8{_1Hx7obCDp%6pFdwRf%mt`rSA|_Tqycyb*7-jVRW8Gi? zr)-(G`wk7A|cy0FN; z`>pOyL1Dt_@sU8ey=K1E7QiOY(^=(I zUb<7=*x?a=ObpFE1bI20PVPLl_OUyt!L5-vsyDgPY^$fiv_*=aq@5Z~QL}jJ{~+tH}=V2yfYV&C^;GujiA>M>_1bbL# zmU~3PA49$|+v_e?RNI*d76qh)O&rUi-mk5zd0R49AUjvR(S{u&iDUcP8KpIMMIzT&Km7 zN0XmSlk8zX=kkvw1Z)Z3=1*2W8z1i%S$-LGBoXoHV}U4llg2|)Bf|eMx2AlcT+Pcn zA#ad_zH@0)Dc%l@M5;0yx1I+pfYU@TZL3Dm+yHh z;YJcv4Hx`DQwVo=MCvS}&>r7yEbe;WYJD_1tWGiv#pQx{njMqeIidOd->aPQx(5Lw zB;3Y@-INcIPrqL;$Vwl`h}c5(35rTs_C_vGXoKHHZz7mu}~pcGrVd`+Z#Ae#A-5f>?`C}g~8!r zj8qcuUTibdpBo&PDKoQbpaBFIVQk6t^;lqftOGaHE%Z+L{sOZcAxw8(B z7@IX0gWjxlps7{B)y!2MKunKyFD^M2a&;868@hIjZ{`{XeJXO(NJ%B_=>t0UfeF3l zj09B;m8kR`eGp#CNNnPV)?{2tS(PBm0o;txseqRv&OYXT1ZwK|p`+OjXF{GRa01s} z^H&9@)FmT!;npI4(guzCebSBwi0;Id$m|b@gbT**4M6+$kaM)7o3>(PbJ?vvkwLJ*xTxan}~fe<17vv?QO#&P^rV2dW0KIYGoVG~5iNXpG@hDt>eB zw8-qsHU-xqC>0Tt`qLPd*O3pmAfl)OV=(R*q&O^XS$h!IAW)0G#$_3 zO-8)l9yIjMMoQ*_X0Q8B;GhMs9lGvZhQ+#cXfj*I^7ENRuzT)`EleM)!?<}n)!$l# z#v1o+ER0OAf(u>ld;A2s4g&FN4WgD@fbI(aiEYEa3noasDq%w;pWV`+8U+c#-YZ0w zGcrOuLR*524aS~z4Htpp@|l?%X#(l?WQjlug%di8M+Ecd`FV|aEpS^A9~B-VV9oWP zg^*0*EDo6TH)i{P*OjVWX)^87nF(ca&N5F#Pn^@21fGooi_D-?etT-Gl zQcsm*w|`~)qrg%^v*=ijT4Ik;P*?(Y1{j_#{dUT?4C2-ddlo8-%_B!%Ug|%JOA?pk zV1%N4!HyL3q7sv89d3ZLBb=pWqEb7HCMmd%Y&&-xpZ`aHV;1cKDpE$H?W4@1A6l0r zb&3s7+c$ScB%OBGGrMdMTQ<&u}?CQeBLnj{n_Lx4|lrBxl$cz*F9 zGpzg5Qk$m3(fcM+B$J>zgpN1=yw4_yMLwH2I0Rxheo0O5Bq5z`7(i0pr@R#%TsgtOCAEU0OE9D6gMJlf7W{&!Kt}5heRsOo(DzL z<;i*UqEomEv=qDbq7|yG2^8L;Tx^)IX(Zz>EoTB=cM5bD{(>mHuQWvz^SJF@qrbnb zjtvoJTK>7<-uht@6$%&rt}i$nK5FS{O&@10EeOf`O%|VXvLK>wE1qPGYIAb_H}_ow zRD7W1HVhGuajs*x60nMUv(>DMW}@8Vu&BL{ka|8-Hp}|sp zX>Cat8LW>yFBCNTIy{`d1rZAaOP+`yUCOlB1boqBYf2PQQCvTiD`rYqoT$9pOfY#4 z5}_O-HOZ$F{5j)|7MD7)Gt-+i7z0M$*1KV_d$NTCvqf3Nj z5(@c^*CKzGYw!GUkdZfS%#7m6|NSelX5YfLJNw zx#kPnoz?8Ds;cT+tM|a{lpkDSOwvpj)%{nt*^pC;gZsSM@Ua9Z5og=Er!*;{Z|P7q!J!DoHOb4_cC2zUAD4aVILj%2!fG&XWA|Hj7KWT)%MI@A;z-dha3zJ~o# zt-<0IS(mJk!C~K-J(InHnAV*13v;rzC8&w%{Awga2_a&7YO392`%4o;Ea{qESNLjz z>tDi2S&2{n*Kk;s;fQyRced(Ixv)=PiQfi*t;=l@X7$?aQG{YE@IqU}p2ZUyCXc>W zLL+d(7>;*&SKgX~&+cz5kLwqSZLfnY)H6_OVd+^za|gLBoP(15>vwDdgG%hC16g~k zy5?*!SlrF3ITDdJM}G4&kB;#F^6HCe2#NOjvRV6YmA4PWr6wL#Hn=alNO4=n)Ap=boDn@}L) zxAou%CZSMo@k-1-t`9f_R*9Sj;~}C}i*~Mn9C5eCTfp0I6x|*yy&0#7ttc~dyPV1L z+X!p0dGFYg-1wqr$dp~!uggonKUVprxD}=GI-W|n&NEQ!!*69J`8hgT;+Ra0ttCp; zB~=myXUIPzspd;+Hu=7muuQENUuQM78D9^3TZCK7t#29!qmL1=m631PwB9{kJaW42 z3Lwa*I1*DKc4*WBaCd8AX@G0ucm@kTiIos(h4b1ln?*s|anrIM^ zfQ9pZ_XwegLaFZ_&Y^%HuF2m-OHWe;1Z|(mn31vtFWm_7Zg5hXF!w1MnfyORRp}S% z;zQIRfosA=HPXOx{8X-;W_CdK6&WvF%#VZcgza0S91GB%x8Rtla1seBOa3FqCWa`> ziNwK3U91t**QZb5n^QF*&8 zKq;&(G`53F$c|<^A2Hq>wer5+h@i9XdL+q>cjA5r%oP-AMsxH#1!H2Ky-iH5(w5G% zdjhbQFBx2To~L;-oxrgrur!hNY4vC4{i5E-Yw|BTI6q{TDmJ))2t!$T8SpzrelD&O zcTt`4rG)ESTa~%s`cwZf4izL~lZM zXRsJlZwFC!;&K)}pASL=C}7%K{haxVQsnHYutBI>VXxxyiVTY?iV{|$@#O5l>qxWv z!xlUzcs4mNKjrj?k@22u^WXru+(bgYeuL_uL$*1tzs}%hd|Z5KyGHyhZ2ZLFuqZe* zXGo(9ytEf3#huNHo7$$I{g@H~?&Jy`vGQF6$Jlp>(z(#yly z!~Dt8%BsB8pY*kzRF&;>s)RVz+SBo`tX#(asYU+F9PWn-OaF1l*KXU|zwlq4E|$R6}~R ztt1l!iNBJoM`JY3vQ78k%C!FNtsOfv6BiyXXI4y1O9U99=wj8|CwxQ#g#kmJ?JOy{ zVzZ^VsVfO24NX-I4Mh!2-DvQZrYF%Q&ZlA=jb8!Uswnw#d14}kv{ZCML$m@9pL}f0 z5)GbYBt*OgnSxC(Z{U?OF)&mBt@L+l+RC!BG6sf3Su*xNlYK*&`e%9ca|r>AI-Itr z-FLg+`l#Xuy}y3WdYEoPV|hh{ej8|}hXRB-&edN%Zrf8hyv+Mm%7nbrYHFmIm3xd) z52>Oh{+H(Rf77-sL_lQG?-+Vsz!Nu{`pI8DFi21AkB`e~Vt;=lGG;V3M%9XA_4Un> zs$PdHy1?OA%WY3+4lb99rS~ZyAI!-8_^M}F*fd^vFeWk3Hi5vkXcv~`C z@V!vH&A6BQ-4_-XfiIDO@q1f8jv)!tpSWkbyHzdb9KZ{`pAC6ex3By=Klx1Yiw$7u zSQ1`vJJK<6Vkipt(qt65%B45?_J@jaWmVXc*^dJ*g|kEfA$zVQV~17Z^!jwp=xqz9ggP) zw^@9wG21X}S42BOwkgdOe_}$u7sHfi)2#+M_MV@QbBMI3;?@4vNe&ny;>B}*H(=>5 zk~knveI;KiSF*dF)|4G)XE6;_^w#V!oQQLv8pUS+@jmNbYBGs}ijW66fEM-P;TXr_ z#nCVRCGvx}=JH05o#ar|%q<9#xx_4oLQ}>#nht`*dVYaDZFFM=aT^rwa1LP^?n>3h zTntgj>-OsI_F}8p+r80sRK|!sR5l7h^bV3RE5S&Xk-F!4&c%fOKl*Y&KuZXU4BmP* zG*NEC_bV(TLoVGwPbBCYtI22Er|smZE6L)deF`$rxAaphc!b-_r}D-+I>yRN`_Vh; zWW#RK%JED-ci+#OMCTQBznJ!4ShYGHpNO!;S4J&AW6+(i_0-1bwOvq4QZ_ssYP9BK zdTR9^{D5ONJPaeSJbqk#TzNh_gsTTFT5d**cN8cM($3 za1r5#+dqkiHU2pHh}_n{9LOH!$%N3$;en_`XCkaPJknL@ipcy+ykkr{Z?3-B_;wi- zp~%SBfUVEZa@uYD*Pb_rF}-!Gm>bVPBLi$BCg7OkDfcfMsc>)+^ET@sMm<2BXjCME zFr!%e+g5V76p==IBZ$&7kVLZ-$g^G_BuM0HV3pm_wc+A45RBDs+^Mtb-J{#FP z3N~5hi({R5La8XiP=cK#iyjZRe&fQYC+GV-#;(Z5pTErSlH#R5r0OmLY!AVv6 zFWEhX!Wd^t(xO2>@iC_%%d1*Ey#AMF78EkA5jncW^38g!splSWa`>$VGm%CM zIQT}#ixr`}O0I?P>4c1j8exKiE~4mhnYEHQrGET%2P{#vNf(VA%?-p-Zl^H(kg7%X9LK@?KAPEbzhYf?$A z8kv8*P~}OTv(fZy%eCI|T}efSbw8^#pwdFqRo@Xkuzk{Y;pj612?n5uUUD^9 z!k(hH<=}dO-r_@Rj!Fx9( zTZ<>%?8nt)Awb9sTw7I-3&XB~OxdaQQA|gb5G(2Vo$K)y?1mXDVbc^TVV8~{dv65zMgN5XO|9$ zDec!94+UqC=kx6Nm(ZLTb&!!pZe+BJ0Mo-_3A6Dx79k9(#UBEWyNT$YZT&XbfR|^U zFC8Qu<9E1w$v)2S?PhfzQ<^6LPo(E?~_PIS#77NO`257N@!j=J`@0dKzKl<@9KM-{W zgCf*y-LP?v3-gRJ5u-#lznhKpC!^$oHi@pkoL?Zd>n)6|v;p#cRTCM${o#6%A24pN zS9QS%TPH{1OYN^i6W+SkfKn+oSYnPuDHBZ$9G+-V+MQcPvs4miNRN0*VFr~nCP~eP zmm7g2NcVQ8Ny(2Q)ynp!qy zCXsb(S_g9?49=;4`$Z?EU~c0>gHO2o0x13C5Jal6_^NwCD-~5#r17C+^C$3M$WitXo_Yc8AVi(JryP;e2{1JS@QHhwDrG@^G`QHrLUF712?*DY2hNK=CJ6#OD?eBvkxC z-F4e>iINjabUXbRrI6^-w)cNj4y*JO;Ldg&0EOM45$=5YUvm6SMAXUV07C~;U~KNa zc<10`XRmreZ0vsOMWE|X_Nbyn1`T;NwJK@m)My+g*PV+E&-b%Rarq2U4)MByedHgo zfcAvj=#|RM#ZdUPY_Q+or+7_3ucNUQp@XP0n7M7fX8$C$hi>9**6d5F+uppXrJCMPomBJ3gUU2y?C z$N>F8IuugT+1%R5SkD+aFBzU!2;{I&CObQ`&c}&bN7+)%C+26A&BT{3OBI?R=$v&n|mhW~$OKFH~{Aokw@(AAXHC4{YPYM0#tlR1!%muprb#@rr_1};i?83$ZH>pR!)`Y zd)_f3yYIHUQgeQab*h+Z6PW+m6>*DUI?4~`cS`Y-ADnJzOq(`KO^N=n9ip89*v;~hFY@QR}ITOHbij2 z%`}rwxqcPQPYzZU5cGEu_Ne_Uwq#Wj^tuJw#hw8_6G;ePiqQMuxEj&!;i9dhWYDN0)4kV_C^MX;9 z@*s#%KtdgS5xau3eN~VhsKaKkhvc-k6w?l9;I%Dserpnk0l}#(ZaF zLg|r@pQW%=f2GFig>ZWpO9^qY+S*!H#zTKLu2V(_jm(HDvgGb}_I^NUw z-iD=09AGc!o!wNOUE~3MO3P>`Fd3Rms1wK>6ejSMbQQh7F;-PVd?1KK8&4_M;Hli? zLX9OHGqV0U`{|gH-%)_EwU5C7pj};B`-HQ7^9U!(e}(W{sZ)cpkIbzjgzOjecX&58 zchO?76hJr602<1_(9g4&PPmx$q>TDII@`xAzOLkovb8!!R{9nbBqXR*h8+9mx;h>j zw)e>)WM~d|HxFVJgOe2Jo3S4Q?`TpT2$JGyU+ljJbWBUV6;TV@`xTOPlUBSp-gk6* zduLcjZ->Ut_Ug)W;n_bq+H#;DfW3OnKAJ6;1W+;vfan!YP#Z$-=xV2r{cRFBNB4uY zmRl`8veyQlxh)}|+8;R=m)N}9bkftoDQ&zijbtp-3PWf~eK!40Y1Irr)^yR7-?Cp= zo8|p%TomFr*B&)kN5N*XonXJp$jV$=|MIzS9)a<^Ix%iN3H)NwJ?W+_HosJM$I{tG zpI2ISr0`%&Pq=9Q%B;oM{vmv#;c=1%1Dd9;^;=78-oyE^<-3u-stG%lP?m0KEe@{0 z+oVCuBd(loycwL;C1tVXEMDl2l9FcjQ)78H`FzEY)zbVIm2toSkTC+THzbfjb*P7j z`Xi+eq;1)1$j~pB6*DstG4u^>Z>9bL>2tXw=Sx+0ofX1`SN#v%!eAo9Gc+Oc!Y<-D%g-^m8{tj+7pfAB@xGUQUtv{VFJ5-HV&YDzjPRDwu>4rK~QW z8=p2>X1us?XSSqp!(YY+?tg{eard<8=5D_v#>LUWxJXKx3F_NvG@XvX=pDmgAGt8l z6)SB7*So;@K{yoXhJ~$F8A16gd48;H*q4gQ#hVcMd_Rv24!lZm=o3aYZ2@m?;Z#vE zfA%S8sr6dXF{>T-94-{M6VPhc+gT{R$7<=_2ddFCg+(b04+%`_7=EN=R| zm^tfve6--;=G>55v;h@8g_0Rjfp!xjUBE<+f|s0-kqGA{pfZQRt7CNtk1Rh`TdE9Z zzxCwWv`sJ5zd8$UfGEK=J0aV%Ot_|vLL=YPZ$CyX)+LihP`-ECy)}b0rfhCwpDT+M zvBH31@*PN z?Pi;C@YYmM4z9oGE^eVLLqR*7ZM8q6i{wUo^j}nAat``N0Ir%#{b;SJYC2BM0JFli znd!UTgZurgogc_MpRRQ?7wbV$^D`jWJ_cm(D}YYMn?n8g<0$a~5%Cg>t~QxpMgC}OAN;LTp=& z{*Sg!W7G6&*K<2cps`mM3u#xg-wfipeXth)KQPdLw9nTB$ms8J4QFN6)$XAkrW9L^2_-yCzbT z$@ZdG7v~JFeXjGh_0CcoNs9-vlp`Cy`QIl)0V`tU;Wm;m1g!u2pCLi27O7Y4eA{Oa^VnJS?2z65AnLT3DPNAPN? z2mEdM@BKY0x@VKkT8q*+?N1DsbpQLax4{9n${ij~(RYFeYA%fhd3j}4#Z^lTWQ6R& z3i&*%t*cuoZ?DkAt@{i$n8aQUGBO>cnFhIrP{AIlKJO3NkwXqm&^W9do8veVLxWQa ze@B`B;lP#!6UY&Rj*y=e9`jljo+``ASZHiRnM!|-mI^o%HZOczh8)bR zDsy^|=+rI0y>t9>2L4+g=O0Dze+cOQ>lX#T0YRF`kr3(f7BHqqhH(KzpCE9UPpW7f+msHSz8AsLfIgS|P(y z;)Yn+*l4jGPxp(H-8}Y8EpBxQ3cp(^o6m$4pGc~uLWGf8bF=M zjL8LXG%T%Eaz(2fYm?da<7dg5+zP{T?$9{q6l*9JoR-8*tR3hG{ttr0{a-=CgVSPO zBIuLl&#>6oZ$?VE9hX}is+FJN;lA`Qg+rixHGV9()jgf$&C;rL{mJz|?A-t0LVcP> z23U;;FvF?rb}hwftf$AOjD@kBAML##BHDt|LsT{&K}S3VCMjo3euaBw9+TK__Mh4s zb6WZms!9G&mhKn8xypcAP8i7B{*{`V*3eKdcgQ3_Y_?!qMEbN}Y-1XeY0%mSrEqP| zzm^i4uK0TkPwhW+#Q*&s0N!m4^p&FRRz)S1Q&%P=%=+XwxUfP!z1bAvc(Qo>&CBpw zHl&vLo!##!QuDlTH}rq}ynp=x2mr0Y#ipL-y&t`bmUB2VpNmpT!d!<%Rna-q)b6HD zYBXi`IXHArOS#oi|4-H<_^IB>)A&@IUzrEp5;07xB}IH%Fqbw+Z~;p2u`ec*R@V8%kz&SpMrx6 z3-|7tY}XRLGZuS2`M_tLk7v98X?#B6()-^=m}YUfX-F~ImuwoEG9sTx0XfTcE}thk zfh<3w*IP%Yps2;gg(4&4A#Eux0GKDhR@c;|LLs50B7W@6`TT}9g%Fmy$~^-kf!C+;TfOj2`=U8uLFLtV8^DGqn&KTopvTd)@_13y45^X>0!u z22#@}7-hba6h*wtfr{^Z0zvwIc{r>9h zFl4^w@d=8YhKAu>?edIHSz9wLITbL5B4uqgnzFlTudM9kdG2of=U&TZfjaQZW4Tdl z+{gGnS#s8rVL0{AyZ^5T6o{QfPDvp%IkkXOPSe6cw#j>#k-BWT{dlyK}&NOhb1U5sHLXL#D}@AP-U?`+9V-) zE=APK3)0-d$yu&^N6J-ey5;kL=Kw(wKRYe1x5v-4UKwoz~3JRc}jsY67I|eU8X=!O|F(?8S`0sG6IxV&LYQ-gC zm-Ecv!*3@=RzmxRI$keCU4GUWw3L7ODrX}@sJ8@7OiVC%ovu~?Im{FT&9@Z)svT9w z493SjFg)K=wDH+JK71OCvvAjuT_OMX4)9Zfz)Dy!A^)?bkXzqgTT?T$JUuTy9Q`*f}W>7*!cnQ4kbelopwgqNeI4@&_Q_PE153j;DMw{u$QV8VodB zIPZa8uJCxgR8y8hT(ApxU9O89So?j$9IrOccQrw~c zM$iSP#8+foHEwu>76Bn#$PX=&&6=M944 zh_xUJD)R}MH56vMNnf}$I9E`ewvnt0OBM28RzWOj0~EssgAUjmDg9N$k?3DlA74P0#j-+FvZF> z)bvbV8okAQbo(OfjXno?oTgI&E_T}se=|et4f*Q*Q!-x?->I(qil(+Pi|Ea{N`KZf zcqo)i?kq=Yix)Tn0C*AhS%&@hr2@Z&`YZaf9=vqsnN+f}3Ek+KSn2;Tl~dGoA*E!d z`=UQnehG+0FwK1<1WPo-H=bo=@J_o-7yCCljDja7q+{*G8yB%9_dc6FN?c>5TbWz0 z(e{;#lT$?}SRtY5YG|w)Xn6Hb4H4QbYlTWnO$=x7dp8HEA1C6&1(7n_ofxt>tvBR| zTWHp}KK({4`tA@@SzPY5f33Uog^i1@s=O5~j!c7{P1{cl0q_~KI$f-RdT=+Z-4L+y z1YMAB7$_6UAYEVgvb5E^I(i~(&m^ZhUg#4f$=!F^Ux&}t+7CgYEG~eLZ9oSV;3$5f zjJi`@h=Zh>+}p#U&eZ0%`56om)mPLcaby3h zs`E=r6WlJKdni>V2uLVMS-K^%z_Oa(Plt|4GX$AB&-xZhtipnxZ5s330c?9_%QH!H(^1*dShvGMgKCwPM8|%Zo}oo zQdH|pIyQ%Hhq<}sa#z-$hphkz7&pD23YEqMAxI#% zfIWD89U~33X4h+VL(pM|%Or;EDL2NiUzy}YWZ+>5kqKO#C;XX}t3Fo!@py1%CoQ~g z?A(CAHEmILY2(JUATdiaq!s}Qy??aDSC4`87ry)-JDG5i-Nlk) zWlSk3Vw+x;<=>ERKXUbJ0#ELUVro?HXz%!i74oL;I|PeTwba<#pn#eaaE)x%QW_mBUsenAeFL3u%O_Udu_z>Cr+Nmhyty!)D|D&Seao zBx0R-Ue%nY=>}{;V)Mw%dU)_GUW^+v7t4*XmTz>3Qn$Q@{738rkj{)M5b|`L#~e>9 z#mgIOkdX<^aVtxKE1#82B3Lbk}aUk=v^!&ntPp7qqnj_idc4+_uR4&57PX;5Hb3P*X`xk0}^qhcQ zUScJ9oP61?`U{Z?!Gs+1)5i*NP1ou}ycb4C%T_vi@OK{Fp4RJLz9=$BdV?S%SipvIw@$p74I5J?G4h9USQn$Ku2K34*5FgjfqNd(p<(NtzH!`SqFW zdz+Fn?U)$0}Xj$X)7;z@#8meLPB~kz6|XU|LKC! zQVll3xJ>)%Bs1qRn$rA~f`Tss2r?)Y_Bw|vYxKxf7`8@Rt5ZGQ*?`;2#;yUU1USNa zR4Mqc6jk54k1LPnme$kM{Zf~!!WsS^s*_yR-Twgcr7O@kq3pZm5vxl+?^R3W>vC zA^seT&s0tgJM6vJ^;A17$&7hC5gCJVYt5xf?(%yNxH)N8G|B5TjN^YfyJwR$o=Evp zOXc{>>i`#gn0)f9wjz5vH%>$AIg%Nlb#004Ykj$Ad7+`7mOH{3t1X-fep2lfjMh7a z#P^AAYF$*Ep0~8fw(N~$CWB#t#7Xuqt$T;ylej=)Bz}(~L5nkY;q`i6#V*XWb+-L5 zJqrE$Zto6W0m;zow1)EbR3tSGriy8R&K4%7%819jlez<^`lZlRHYA4NK|LA5YpPm(qkSJ_N=y}>kV-wuByMnoCX96#CDy9bp*3v>S3EBjJpYOZtf zpsb{T5HMP5{?Y-chh9TWvwmfUI~t1QWy>?MuqB)!FL$2rgt4IK+AUE+$r3F`PWzd& z)FSS*i+xtfEh{@dUI|{+teo$`%s~?&f6HJM;N?cQAr(s?$SKeL(lB7C3n-OeD9v&G zcK0WqFYM@aSr>GJtZ}0*^}w3kG9hOjz`5Qk6KR!1 zQtknV+%5vh?@tqL(Wv+M%f{_U^+wrM%j2yY2%P8y?lb{P{7NwTI|LKkpHOReh zV|DxYK5=&e*(t8KKV`HzGVIyv(%Ur$@z5>hDlXoUK)r#tV{bw3tUV`QY#&9clN*H0 z($*KK**L(ak5rY5w?vdGe=>u6bnP{@RD9C+AIr=PDlk8r*#ap#S6JssF_JSD0Ms%f zE_eI47l0kda$#kzwinUfK3jhg+cNCp38@iwZ!C%D;LzqTM z2aM@&e`%FH<%B@O-Jz~3;904ylV}l_Y#t$3aq?Oz@j7vdt zLme+$@5a)2@Vj!t_N$v^8-i6w_&@&4&U7$HAlg6thjSsmbhcCB`M0M2Cm_?XhK0!T zeswT+r~LNxmd5z$Q-Sr1p~?C{|5K~GD$ah$;yRyk|8(xJUjlFI#Ez779E_Xu{f^bq z`@!d1HHfdyrx>XI!pi6!aaPl|7@gp2c0~R}_frzbn&jeD?FIt{8E)F3;=k zb&yf`x}LjdmIL#Tj_`Q!)6n~Zd7rvz$jL>huVWl=?oI?!6H~O+lq{`{%`FTgE0A(~ zLToxdYvW>G2SK$u9xNa7!A1kazy*D646XQRrhRUIhnH8-?b0a|=Fab(dPHaN$E9S1 z7YJEMB61{kvJ^@sbDp(EK6AM}roAm=VWVp+Y5Bi-pxA0MnH=TY<@KA7jgIMh?JE+v zd$d3vX0@Rb3OE&(0}h%?Fwdv%|rJ)AShri5`+}{!BLHj(m6QdMsE`+>x+(1QtRm8Zd z8X#F|MzmoKg{GF1UHw6Ge9K;MtP>L`L)P-(^h(}_COqD2EUhK!c4VBaMw7wDW5|?x z8egg2&u0?sov=P682s)iEkqF_;QgImgGOsYLa@D0!Nmt#35|zerKXtz_#dpTl|JkD z7_g}HGj~wzPl46fs37n60Y=d})|1N(j8-Tz!IGmiRu!a0%)NK7@%04bqm3V1L^MRw z%$k4rMy}`be@n{L21|mUlyUyarbjYzsQyKCFgSqs*~K`Gghs4*?{*Dkqsy|=kwUXZ zejpuq3}??ad%Vrh->lc4yc~oly?Ct`7Rsz@&I#Z zX-QKOXJUTHIyRSyL`9p=^kuFSd6H-ig1{3`F28;_a(I4WQOFXffKX;+m>)lZNq;^D ze}>`s@Af4c9ElXn84=<0@^?cMM=%*Xap-ycL15JK(~{PZQ#Qr`8H)4bTjx>B*9pksEKTu0}Y6F~$u$aXmMlRYt}=}fcs_fuIvcnvv3 z3*3M@#`<68OnMa}3z=zAv|&rJ=&OHSvM_ox-}tal881jy*}9yqPp4faEn8P z^Top4JZKLXP!<~+)%JPEP+o;@01Ey){EuCoH@9Q(lXvge5w>&B7Vx%8*w$Noju-Cx z3Iz}5$jDn4zNcWp>cb{31uQoZJHqGf7xTC7H`&C-V=0;9Zny5! zY8Z*pM8RR5S6^#SL9ugNoV2)kEi)os#Oe)#NEx=gtoCzJIjb}`zha;vdBmT8?p<|AKc!S@7c8(Aw&hc7QVmtm%XRL>4NRBDAxkp^i603 zypzPc48b9wQ&dwj2!SRjwz|tlN3;D@V3ZWE47VA6fx7~R{?Oi+6*@f<8u-JrIiTZ7 z@|i9vxE78}%|2!`$hPy5d*i?5zFZQ}>)$9O7n=%ylKFi$~6trBB^O*AP+N zLOQaYw-l^ulKW0CM+x}U{=MCHi2l=kv|;Pi6R4Mw)6=--bu2ghA8imflp^%h%vlUu8%K%YYFbuZYW_6ek0*||6=V?3s_@^k69*& z-)#jV*(gDz^cLChlg`3{>{TJ*!5xFWvYMQHac8fG44v zXz@merSbq9TZc4vnyi+moR|Ns)bwQ zVqw8=yzm;f`#ss;*>=Cpt1CzIZ<|)LSKV%f&(Lr|`-f);El+;rMO(@Wjs4ALZ6#qN zGEh&w2aTeo?gWhk@OAv0Tu%7LMt1U2`Lwsy}AQrR7-yPB*9Ch=p z3;Z>M^vdTKQL0GV)B|9RrC6c!)lTuN(QfeOd!P?Mz@Z8qh~>m#xK=?hgG&v7 z9N(bl`IHYMwb>2@QWYdCJ6dRp&HzBm>vOLV^sVQGO1lD+{rBf^?b<1l`!e1y6O1~Z=RQ+>_8bPE>&wd1 znF%C8Jczy}DJ}jsny$mHuU!I$Y%V)!=VpIG^xx{Ui+4;fg6d-70r9{&|Gh8gbATWV zvFAMx`)J>zkZ%<%#IZpeZ@OT-$}j=@XFyMFBvAMcI?>kx>GgnR&Fl-Ss0UoLn78^*wY5uSa&?HC`a*)`y*q^dnrt`Pew3dPj_vl`@-i z#t6cpVjAXg#Z_HP&R4$C=`!73E_FS0-M`W*Ew*Jc0^Ap)h0eUd#;RhTcP=vjB!RRS!D|sUH69|Vt$dGP5C;38}V>E9H z;>HsDY_93RlEwsQ(=;ogo2xvj!fgiJdWXt?con9l&rJ^Vcg+jlxv}Kj@dd|tKm6^|6Y=BPBT!-I#pB8G(r10I9Oz!1>UG8-*1y!^kt@tTA2 zu&|RjI5^-Xuh63AfxK*fUZfKVFS* z#Fk_XDk{MP;;FZY;V}c=OlNj6(qU<-#z`m|O9A`?W9;*ffja0Q3Lcd7;46G|jGPTy z2fGil4JoG9o$g;)4eqz}DmFCk88gVg>)hNp5qH>J%66Ude8g}gr7=779}$^vowKOJ z(v{`lMG*w=`f>Kdv`s&{r7AS}11EG(0;OuZHb!DY8BR&Bzd7l*EG8PTFx@8N=J;6J zr5MVPgoOoHR{1LC*?gkazhSc&K@a$Y`X;bbwoiIiGmT*CeWmX4DUrL#@>Oa0n;J<5 z0MD*qq=K#3Stqp1`yGBe87`<$mgs#Nlach4XWH<3N;foZ{``6Wx=7>)UetIwfl#;I zgX{Flb*%rcjer+rAg4N~i+eZPIhBqp{v)y1C1fD9eI<#D_0z_h1=!?vkh*Wlwd(HP zSh||=kNw=QpFl~%&XuZFRKy*q7zm%zpSgKo4_+nDpK)f@xmpy4h=yZ3r?c{?L}LD& z9(KZOo7<&x+U&(Ipb8)(Ly4l|_Qu0oja#H6CLtqKo%4I)NF$oPBveNETpZrJ`hVRU zI&c5tb*0ubXp%j|hbj~;up@&${-ZzhJd>OaNhBDnL1?1inf1NE9mE%(N2|7U-@e}Umw}?i$uutYmxn<2 zhkI<2YO8nZ!_SG68LU1>rur$!M1+A>a|)0JW?JL6jWs&hy^V)89ymR(kmKvx1iEgX zw>-KpPYX|k;z_kCjG3fO6W=RKi-?;g8Hyl7a17#D9E`faj&vuZoI~R;2Yr@$q=P;O z%jt?9s?$~Vc0oW9)Dq=on%(KDz525*^B!n5XVXq9q=>L*k~* zDzfzyZ?jTsJrWMN1itWIPn^DM9*yMgCjkDc9Xlpau{nzz5O?reP?ZDPPy0yI5sZ(E?uk5PMafUh9N)k zaLmH>XTrE1YoX0<8Ic6|xn3KheR`cf!=cZwW%1$%jeW7L#u=xZklOkT5&oJJ3$HMO z-tCTRJ6MpA8p~5XP{o+fo~)6<{cSJ9AT;`U@AnY-wn6~}N?^UOxsW9u5efgxn@cff zwtO<{tj~@du_q6!dfLzl7fp>kemZ_!jv8GEV$Al{C<-FyG(zPMIL^`0vLI{nBWw)p zLdstKp*P_UzsE-~U6 z^?40V^eNxh0;AxkCyfpd&E(X(^L^h5`d5P0&?t`S-;Y@q+=_Rx?iH$-+cfSSv-8mDxeYrJ^H2-zNj{pbs9!(rh<+)RlrOfm&gkpA_!KM&h~Vv)R%+# z3&dSs&lc5`=uJ(+l3FO?B9mWQcaC@F!O=i`gpiK)XJ~_%^YP4CyVFieX>x=Z5?J(3 zywnc>{iUk7CtWkGt#L=<@;|s_+_IoX9lbMNel|8W4Gq0kT}R`}!K*^fg>CuVq{ha^ zfk^a1fR(!Ofnaq(JY3UGE)}!-m#J4f?-L?4^2IuN*w>@2JsLR9qoZT!fQ;uTgs_lv zO$NY8w2y0!s_TBl#SJ=%rPdx)38{fVs{3F;zA_y)M5Ag#CDbi{uUd|6X@Caoca0_C z@rg>l@uWt&XmQ&3!kj=f6jerDIxpiiJ|_$)0#2tlVaGIxD4?g$gLFYdNB0YXvwxxO z#b3B5FW5mqOuhsBnVCFTxEQ<&H&okynr0UM1C>~tQTT2ET?9Vg`syggmP{|XAwsyM zWkrP?JVai8fe9&iLrAvQ$mmG4bPU(K?eRHXDTghm{s|lalLbnLMT8|;vkp-wd84>6 zqz6IiHW7gbF2q!_Y9^;IadmM#CcxmV}hppXb`A_+9zWD4ABjzI( zT-aPLD&BiFS|4v^+tPLSIraAgt^r>qZrNN;PJ){Av#Xcc$JiSV3aaaoe#0mJEZ96_ z9~=FM+wfApFhA-&#AF9^57rE>X7_qV>$#FNkp%%h6gK@`s2d$UNlQT|OpZ`N%braV zHHXIcITCy_YI&RS&9NKw@NorohOllB@d!BwZjVgt!3~HkA2VFdT2Gm3h>|+*W{LHg zb(Mu`QsN6a7&9!`4bJ5c7{^+}q<{zTUM~G!K_A-* z4GxecCPq#jbOFDDFy#zXxmemwd^?d%ZJnfpq1}Jh!9MPbe_e2j(l^i!Ro*Z#jL=> zObGe|?l;zQ5RM!BKpm1E-512{Ufg6_NaM%zNEot;ZJX^X(qTzub2L;tYU@=uC?8XK9#CI1Z@n+kyQLTAevEwJ%b z%7I%miGugY9F$17eaz7q(&4@kgE|UcA_->~a0IZ2EVLXc;J5yjDx0u_glI+W5D3GHC!k-6c zLOxN`uMJHC&0FO}_N{D@7ov-yR!JnyEa zX=Ft4?BUGjP{9Nbi&vdzc}-#|gj+F3OWk8kh8}fzVNnF-l+LtwWM>^`iq6`^;cS=;923}5AW7%7m)=)EmPg#AyFB^ zdq)jZQYlO@)=Yzu2#&91s>9K;?TbHyQc~)%(tD%8mBN3Q!IjWp`GiV;$8-hD6z~`Y zEO?mGd_U9BCXEt+omkj)`Stg5u|WL^6iso5WISL_5qpeWh0FQ+ z*nEXZo|a#y%HI-{%?Q`%I%Vp`=<~jr7D8pn3P`YQsZ~qxIS&eHJmG6Ow!J`2ySH9- zas)sYm#Hi=lSSo_={(SHW2r}>L=1et1L(_?FpZ;b`ZAF$O2@&mkq3q{U=`S!SUV@YDfh%O_nfz z;%+!%S?s(CaqEikZQ z&uM7XrWo}I#3h%|OfFNfcq5HH?3JB*@j()K^FJvOJYwo!w^D zj+36nWgSjn%WhRLHrA|^U=_F0Ry^veBT~Spkk^lIR ztxDg*zCgZ{l&DIkBc);u&W3~h*Saa~}ZHL>QI z|I7KC^y&aSiGqf;3zPMg;-b&)KI3{}Ugb(PiT`aIw!nCSjZN5FMn}jjFc{hY*$Y*bO1W?7tq`F6 z^iK6m_6d=0UE1>Gn1)SkM|a$%7<3v;_R;RqYJ*hkl@c(C;sUj=EY4EdTxx$|=_(f} z?W!(~c-kc6;(=_`gHFZ@=9}oR=*J^zOG^OXBJ81X5V@kNpN+Qn}!FnJk^SK2oq~Qbq`7Pv<#!5a;s=vDX2gL_o zVA80~98qZ~s9KG#fSfeaWb5Pys@ue2bu!>`9G1|0>)=b#9w1m1u$FMp&sqik8bgkY zbQufJ$Sjb5VO@``vVv9Z|fjP}m(Q5eg^Q+>_Le|?ds$ui4tK%(MNhGV4Ih{rB z9b<^Xtm14vh`q00ZKS_`UdpSr(a3$Nxd20IzE=^YJ&c6GwJK^-O?VM31Hm)JlphvZ z@}(5?+FiTi5tS8$qPKZjm;KX}dUjI8G3bHQHAz*)X2k`f(qPesCp3$M(a1fIxzCdn z1jkQI3&+_Dip;wlT^3YNE~<2|SgYNfUEdjKpnc+AHdiRh$=o0tStwBJZ{EF!(!d;0 zwAup=SphizL#*3gj#2JhEW4!BV0LaP41Z!iTi}q+T$lt4sc4_(un@030%yK$^1p-- zehj2wCHG*eMfvmP#SigYB0pvq7~HlN5lPuE82J-7cIS7BiS5B(8kpjis%Wk7{3oM3 zAEgheTgIskL+Dc%Xk3Hd!=BGG$xZTHLp3}5+kF!BeEkMO*Id!zlbJ3xiH$M0Pst{dA92|^`eh5-H$4?I+J)~G^ zfRMnlWvAiM@D0Y5F@;aO21eB8(QChkOYxgDf!FWIrrZK8luTQEywvds&@#~U-!9sen zXHQVNAaCp7{+)+_!50HV8$<9oGx*rdPC_*SCp^1|E9LabU%h0lu~8v;@&?XM`(;O@ zY_7L#jZD^mW(qt4%5t4 zq%+D(40Pia6x5V{WyT`ceRa^h{}IYB|HQqDdZ)ZWU{LZ|Ws(3RhTIoE$7a(@qCIzK za+I)_aiEVDyZcX2E=!S+&MWginMu`A^+Xt{GIWsVIQDDJ{=++8t8ht_sF(Uc-GQ^d zq^MsfJvd|~YlG__xvgl`hcHZU@W4xiyPpdZ4rt$cMthMQGD!CgcK`=^1OtedRB3!3 zB@Iz2#7qAEKB7#t_T-zzqu({&!d3uABtEQV%Vnkj*_*AmL`e7kIso(4<6$HQfzx*8 zFEC`*)!i9f7*U@Am07o60nHYqD5#dsV1A7h4e%A0_<{e|9DC( z)W>wdQ~AAqrQzg$w5@zH4nY*@0D~Je9X6rgoM^B4(g2Xio{$JJoCWu=u*E^|cdppDL_w(CqJrsG&$6VSf2I41l!I4VXD^kMmm126kn3^#>y>$DS_fJNmS&u+J?qJqsd(ZZ~f z4^GE9txqa!!LzGOUAOyhaa1DYj`dF2Bp=WAk*V1s@N!9r*nlyLn2bikVfHWMK|_ml zHA-lgv=x{s$4!L3wNPGZTy~$%wk~~1G`6h;SnjX3;`T}YbWdE1lhyT;WEAkOa>vi4_*)0&hc60< zF!7;ORIIY!NvL4kG%0@~V7rGPACCV1X@5Y4TGN>TMW7h$=(nheGIMGhYD(Vl=!8q% z$q8ANWij04sZOG|=}qV*tS~BR;}f{8$>FK3tE#J`Zf0S4da|QuMWIO||6bczFLg?> z)?IT|88k;3sciT%%MxA6Wnp0OGM{(<2bqzuNMzFMY9Si%8FJ;_XgMEVeO6IZ*Kzn{ zZDa8|09#d7A{M6zmvA+bBru#?OaPD3tgoT}R!(i8Ue>h@0aQijo(={LQtNn7)z}dW z2AspUw~h-xMDa>F`b$47;B(&kL|1-5wswSIj?VIO{aEPKnxFF!kMx}x^c^zRR4xYu zsbWiBuI8gJ*=?pTmJ}8%m9L^jbKWRc^TD~D?|FI_XY<*6s%HA_m4GtBGVwZcA6b%HF1UOE#`n7=(1`0k{lrqxG?nORnUSdI02nui|=;g`c1I@33 z^q(=d6fJrja68Kmo z0@79b4Y8La4_+77XQ93#rexhigb-0<1Ea5&;lD5LokDy?Vidws3?R0XW5FS#p|pWk zPAEbih64Jo=uIYBsuSndYSk3&yGDV8|6GkZ-}4xhpjnC=n&9U_a#dw2{(hIP4Ji4g z@aXjlrLo*nlIy=2gc*EHy-y!HoryUns>_{f2fO>3p`q_Gln zJ8G(=lAG%K_HEJcP=ykp27~+9?1Jke8aBo8K$l1dFG6D}0)_;!P-8TT_NVy{tBo#g zsS!>)N{G?J=cFk`JR4{rJt*TOvfr9|En>6d^GErRq$1ccGc@_sgM|p%Q9Jn+BWRB>VYSlIf5cD@cV4gKQ0bKC z9EEFJ>HTf{Lk~IG29z^;lghOD<&_rtJpbK42Mi740CABO*-^7!RMceNeU;~9#`|cg z?>X3G+J4m1OH=&IzJQ9pC`aYth<9S!6!y*sr+)RD$YbRp^D`3*CNtZ$QQs(KZ;K?n zljDRmU0>!wZ7J+OUZCpMR!VlEy(s*tbZ`-v2Ap1?CrzWdT}2)h7M)}{#33hGQI+}I;TUf(F^(FS>zmoUq;F6=*M z#RG_|C2P5K$x1JmqQL7D)qLarbj?`M*Xoa0xOz5AM@zqLrUhgASsb*4G04V}Q$}Hp zNqId*Z8Cnu-mexx-HsPTRpH^ZU-fO?D*qrLA1U^}zPEZ84_jeV?l zuG9}H5Gaon{ldG(a$^VOA;6X zk0lcn0qK?my8m zg3q2`!70{6IyXKcUMz`9(6NFP%iq!h}tnvZ*TX(yr)hZc%lR z7l$UmjKbeqGFGPzXD{T;-gq#6Md@E{wpmFJpqhft2xp#N$`bG@r~E-TF<~r&ms5yp zRmvg9&ZFBXVs-*2P;i8t-aEu<^OOv@pzYMFm72-$2EmbiPfNk2F69u#=dJ5ylvJr2 zYe3d!e}1|+3Nm=LqC|s~548)hrLn@>~#0|&*vEm=5)*K zveKHQbI1~M)tOmYr96Acnurcdk<@at69)vv`pHpb&qgK-WprDPQbU7#RqDyZTOzAE zEl10S(d`E@wkb)D4}T_fxOzPac-;~59*#n8;|3$q_}Nc4 zwQ$oi(rWZVhkE$nXpdkhnY$<2F0KkU9`^LEd(Jk;4#{Nnkl(XZwLc&F=*0e{xk5w$ z%m9sLGDuVa9qZ0C6_Xy5BbEOR)F9%%OdK|NpIsiLY)GJfC(`aJ^NQ$RdhTW+d z&NDZj?A8sc-Yy~I6O&(o7VDHiy{rT5g9av(TEZP14X!;SOaG9rTHCC*T6kcukpXnm zY+#Kt>n$l49~LwqsTa6N&j}DQHq(>uDUZ^XlH?|OD#WMX72g7_2fypS#R@M4pjJmC za2$3)A$cvPpfCxI9rtk7Z_xH=g;MD`o$cF1ojD?4WjOvkZxm8aJiy5?ph)7|#$x~#V3 zz_knUwhHBb{TyEN@8RxTI=Fv$EpC7FS{%EyGy+c-5TxVJ&CAF+4Rm>@7gwuk@83?Q zs(gR1)H6Ddo=jQ(6utNj7Uq@Cgk#ZmV!b0*;r5kn)wa0pM^Tl0Z;M={ zXb!W*dNGD@9$;-^#j3*Pq@7;xrC_1e`xSV+Ft$E^T4=_zi*9fmZa8+4S*6+$UwBK$$GlrPBjoVUv8()WCtsoPPyWOt-}Sa1Fcj2LcGwNw|y`t_*4I$nPFxJdQjsg>0 zAYwr?J1cIxQS&_X@$`ud9z2;hJMUIx@#+`5Z@DNa)IihhCkEr|O}2Ps7QxYl&p~E{ z_I90ivIgWDu#iNotAo)xlJ5o}o^bYEIKTqei zQ1$1e+{zOW4o=ySoD^~g|2nbQ?pDnbWp&>}5wqLX7U;!r*_@<|~xXFOI z1q^sEu3wEx3Wg3*bO1Kg=45Yv9RRAaef~4IneEu<81S?Lqlm4bLuBllHVD+$P9s)l0mJj}J& zW9)Gl&d90E;J2VyG$7gP83^*{rNQOCRI|0Rak%)ARt%+I$SL^zVU-3ENs!l!v0utc z!p4$U)Rt$C z!HpalDn;0L1q5t)Ez#SdXv{;#eN^CcUpf~RZr*wW@D!*e51x0RyTgmz+)Ud#r3oZ& zzNa`s0WL23{j4btA*j9eCKTYd0EZ1aXmGjn_#hrpvT{gu4#JvRbmk;HcPG~D-1ftF zvt4m|*^Y4f9=a{DQ9tlZ4#g=xU;;OS>wevPa|B6;wOy%fVdqAO*sFa+!|W8?HC6hF zwZG5x)2*}1n#)K-nd3wZySMXfyU0Iwv=;`b?FF3DAlq4@`sixjwb@7Q)J^pm9`0qI z+eL&pzGqM4y`&6>?QrV%os22oWvkMM^WQicat`B+m0jOwd+yrh8#fFuvV3gt z_UwjMUJR`OOk!i?dv(gz6RKRWZn%1Dm4^B2A2TA>dCmumJ#}*~lGSeQQ_KQ;HSC%yUmOJV~W07S9 zu;?P}IzegMA{g=dfakMcMa0NI<0kat{rOhreR6m-!1DL$5_bS+*zAA_BMtnzivuJezq@i^s1 zqI~ij>}F)@>v@C$pjepX3324)CVfxqg(5+l7&%!l09jaYCqzWbbNqdOEBChcQ3YL@ zrN*7UlGs@9FN}m&tS)Gds-B1_Bbbu{t$D)#5IhYPm9NpXCcVbZu;~Ut=EqzuzfR57 z>1r2jWKtY4GX)?TjMUBi^oQhteLw<-N$uke(Lwu$e0}UEz%#S4ASF)>Ryb2Qt`m;< zJ90ax9T=sOCl-`t)W5o{@xsbO?>~7oIRS5;A67}kX`u0Z4q9M<^L5ty%fXo=<}QQ^>m4o{;J#4p^XD=*--@W)O(N$Az8K3d z!{Xu9Z9{0NYvjX14`?zcp~%hm-0x`%-WGE#>hE*tg9gg3KIVWyXXz_5U*D@%qcsyE$LgSZ+>D31t zVOFvLKA?yemUw3?YAe~1w{{QWdz9rhtqpd!>%(s0=6tNEy-CZf(}+FECt^Nu5Wz^v z5w|A~52tE3I0$D9OE%;^4j4KyN7iF50I5I&(Qz5vHtW^#ecrk5sLv~=y)|)nQSVxW zSZQFyG0T`F=R!ilP_7QHwK?1tzwO@xn%_0bM|&nEL@mTYTr^6jhHZ|((9@Qm#~BjR zht0~j>C}HlOIBra-Av?s+}sDuk2Gw6&)dZnR$s=cg@P*OIiN>vrPjuZWlovIhWJ6N zFol2q=qhVBsX=VvE80OlJUVMfnHOJ;F4%!gvZ85@CMDVmDx`eXQKrs|%I2QJmp?6R z>Li`6x^Z1NqCK@c&k)EUIOW|;!@RVLH}XZm^a9Y$C~|nDsPM?P@IIP7$v*6&)HpE_ zqvIMCQrxdCNJvPH9P0U@K>ZfBjujy2dP>KT;8Uc|q)m^+(t0s{Rj#w5)7`r=x2?8& zLhSqcyNuZ3;qkd@B8?dr?rLFrn#=r_UQDFNNc%Jma=8jDMqJqv57AVf2t_=^JOTSVu`r)aR5XhvfGrU(Y1$ zfA|n7>QB9+LvhdbXMTQBI~5P*-cd9hgMOJ#YhRxcE~+I}TXBAQ+1kPuqH!7=Hu;hf zHRlKT6c!OTt_0v8xG>-G5fVnd=5`xzi_iM^Ozf zd0CVk{nojGD%N^o3NtCWFD103CU4dXB^z3q)#;gg8JS?4UW0)m2z&R3J^#lP)olzm zW)6sDX7J9lbnH--gd1k5lA{#>DDq&2K=cEx3dTlC5F$^v*#ICoZ1xWu+)k_4Ky+H! zFOZz2<^^O|6mqvqG#z~akEH`nD%VlcC&$Nkx3}BELu(r!9HjaYWVIM(r!mTXjuIUD zUbCAokXuwrk(sblB>IgwP4&c0*aL%vV!+Mtjl)m^t&l9xU{g^CC|M6!1W101W`U(( z=0kY@`ISfNSXy40#W$*-nI1L_Hj45P?4OU^;}xTLcEuXsEI<`|nUJvY1^=viysi8vUiS|7dPUA&bq~=p18u6XDg`W8L1BM=XErjF z)2<;5I+Ne6@oXWz@Yg^tNrjHrq^hD5e1%H1(!g4=4u4U(DAvIbw7MBeD#8Dp)V|~z zLjf2YlF;g!P7Z~_QuG~*4`c76L>sD@%Gpd@m8{Gh!F?!yu>Ah)+QM^Qva{bkJ@MFQ z&F)V;>i=1N5Nx~!yyShuiu%MqzjKt^9nHDl_xo^(q?CI4wiHTE_55e-yFwzjGLM;G zvJw91k5Syw#Q6*nENWXF13)0W=$)8ga^HzT+0!BucGfS$YYMJ#avYNm>flG?7Iz5v zx<|`v5-vpBl{0Q-ZhfxGu%V`@pkXyY5#~XjSmo%V!L%If2w~^yv?bE($hi7wbO5mEe>M;ITHLhes;}=%c!49WAP_EXR-n ziR3anE;@|r^D!2Y4S&xc{NtSe4-xM6CroVD4w+E*^G$pWRp3-eCc@MhQ*g#%R~`nu zoTZf&;NXfTV?8mXUkM5g_WUI7!5h-vO?R!Y~9+xg??Jqia6y!)@sJ+*`rw~S|p1U8hF;Cy!Sq;-lM^|({YkNEeE9QTdJ_5ZBge>`~q z?d|cuby+q~z_QJAQvNap>aZiyJw}EqAwNJG^8Df_1pQi4W_3vVYRC!n9l1Tko9pqa zbXrU#=0hOCvARblnNEeWXe?GzSR8r(Vaep0p-&&BZ5UPkkIn9XeA${Qq-603aE;>d zj@yi`oGt#0SbW7@`S8|B#G$@F>uvD_;J+k;dgbJzC7>U^-0&vEM$0@py_Y1pjelQU znRYMySu1g4$uJ)6;#|+(q+#qq&&78uvd(Ii(#EwSGr?%G&(6Ui?W9_GW>Y~wE~}b# z7Wx7ZIDYWu*@qx=JB$U;rH2yb$LEs&}$ZPt_SM6`=x?V{l-%O ze(8SPWAb^^??u*Go?zF+(3IA6^wXsa7bc#Ci6M`3b;>#o zdl*to4A9SwguZV~wp@)2mm3}JDA$x`rkb|PH73UY%jPs4!>((?GQD)M(bi;cf2g`V zGq;0MnR#%&+Em&K-6a#$zD}goAjCHP`Reu81~4E3Mz;zRHlV(=D36a_T)42B>7ESt z?|toX=db;8hZwa@^8eu?_gRfN@P}{kTr~ zeq@*p<;Od$NO2M?E*}ma(oc|451QvLE)J=mdx@h~B9o<^0NYk>akI`}&My-n=ZR3@ z3uE1cXf*>(+5F6m@<%^lz?7D*YH{)0#-h?OMqlfFAaOj0^CE-SWqe$Uyx?&or_#=R ze3ZuD3saYn5CLJX)8}+mN3p8BvZSgD@CgT#>2B`y74-&A4)EP=&jQjtVVU>V%=f;c zsrQq&PmTkuP6*P{V;$={zdNlyq{uL0r;OstpyXrx5S<*lb8}U^>F{@i-QxB3S^cz4 z%~YlS^ht}yZnQbxcUIub9016A`0>T*;~aYf5_^NoE5R8Xwte}QE7)$5o1Q!DHB(LR zFFK9O3TsPCET@8q*C7!QF-p?@m${sdy8d$4C!9{TabCHdt%njnEkh1#lZpSFFq5 zTo3$rinpg;sT49Jre|l5jm<2~j6GV4Z!eFkRStftGo>9J@C*5vZTCa4z;b6yU#3Q9 zLSPpO9DRO-Kqxpzp+?JHYH}h{)cyt(-BBV}64xIePfXlJEJu7py zRGbxxMk#qVDIp;NbaQ-`wxSukRiwaa*8?Z^JBACEeDUJa#z3F*Tzz(*U(y8=`=(}> zSP!OuVpOX859B<4kf+o5uLs!!S0dd}rbU$9RH1}#HWn*gW{-3-l{#(N z-;3vzB;Pu`UADDAc=)&t)|;{?j7hQtriO+Ak>IYF9}^97>3xYs3h>y^PkbN)n0cxi z-ZlF26Csez>vH|jS9M>;5g&w)<|_EbwASvk%=gZcmO|(d9?oLyLMB8m#bya<)1>X=(eLY$th^I>asP_8jkvp4QgX#aBj+zPx|6I zkN4RO(r*4WP3Jm@@Gcgs&AL)2ZZhTXZ?8bB+M~g0iG!Uv^r{h(Dkl0k`f#bDKM?a9 zDi)>}J722{f|*+irHM5}f*Q^zAZ%>F(XhEiz<&2uv*GMkfvqUWR><7tB3l6c>sZUmBP2T3w^clDOCv$Uvv2~hm1wZSlv9T~ae_a@b z*JjU?pJ~QwA|1n)0xmSv{HzFNkI#4JOy_|ZAu9=?KCdUCK9W-tX>5pNuOYh6vDqPO z=rgBRl#|c;8-AzlO=eN?kY0S7*@s&^dYKyKYauG337-~tx?yB57|(oPjMo;b5BWRI zBv7uD7ClHwps<;sh=H^tDvBfGJW+KuQ*~GKZ_!qDgS9WU)QY&& z4H;~<6yM!W z8({9zb4qiz>aOZ~V;u*T{TU+lDD9?7p{DgP>Su}v;)m>ZoZqYCd6sZolMf$quG)Ak z+=+F^3U=+Ns@6P~3oY^;L_J3)yD#uTg#{+`=>oI8>$1yg_EncvHeshH3x)oogVIZ; zS`t{lNKaO@nw(2i-6mR}R2Uy|9+8lv1|z%GZRP(clhV;3fXjB|Ai(yR6RIyI6%ws) zb?SH6To3y;>*f+cNlG?MWN;s%+mpn)n5x@~KDX|^3a@%zZ#b{hwe#t`r$Hc#@u0v) zgh#d{C8U^{T0>L~oN2eErKf*E+h})z35UKtRkQ?`bUtO6|6HJOfc}Bt>k9YmuYvmF zrHBXxotLegR?jBSvm=`2D9b$e?{Hk|b^_lsQmB#{n3<=G5}bQUIGMVts}(h9x=VCV z^02SAtBcv!e2U@-HC@4np7krEV>@1lQtU)C0@;VS*bXR>T;RCiFSfeSyzsYvnZ~YS zW977d^u87$c~Mg7&O1?M`7g>O5mP|;VKWR0k@M~K_fpPa#s*ino+@oI=W+r5Odiwk z($z^YpbNj-yNgeYkR>Mawzf^kXMj5<@1wUPNucP%UB)MMGMwN0`@*0W&?Pq)Y4c>Mm9>Vbz{J#K zi_ez>EEZ|n1Im7;izBnvWz8qgBa7Rx`ntY1UszrK{`DC}%#QA9iC#;@Iw0(m6DzCm z5dFRkhWqcy@zIj6Wt0%PUkZek6C`I3UMeXmD9NQ`RXa#EQ`7OLGFYrfG|FPL?=BAJ zgugMKhMW&EeI9Q}GY)G!$9E&-CPoFu-d^}$47M&m#|qp_xL8`T z2N?{PNYxODl!3Dl;;o*nei{pVPihXP_$H#3Pmmd)g5~6-Vo^+($JPEL6Q!B53_gR# zjWsFFoyp7c*#4`49(vO`zwfp8^meE2Wg^|$nB2cBRCgm_2Ii_i8_zWw>dQ7WDl8)M zhSw!E9ua%Jehi*TIt;D&MO~d!yQk$QTX{wKOY8-;I1;@GgaT}U|8{tv*$Z=iXd1Uq zYw%a)XqY2oIQ-}&oCW4>@cro#84Yqo!JdfpKEgM zP_@NEn)lC+wUVBTzY6d8WFpHr)orPMAV5XWYDcBGmrPIPc0~P53|pWXIFcOyUIv(Ywd$Xpm^#{w?6D**izZf@4d6nu)g>2K zR$AbsN@%wzE!rd}q02Yx^<4#nVfJwIVMMG+8&rQ?Y|GHKd>uigAD5HK!|(pY4{DhD zrUsWWCxL=f1xoC`x=FcWnA3_|9B(9IR0bca)nC*{j+nQM7)Q}dJ2^Tpx2lpBfC>+1 ztYYh~9}*(&@C__9Azk<0o68|pesLI~oAv%T1GyAFpuOGeu(V}`{HIjjO{z0+YYQD# z&M~fOWa;b6W|WaN1}?gZFl=gTEvwkc>i(!@ zsTFDv`kgI&cDBw*+k%GA0<6~0o+}u6Sn^f3T^s3aO|4`sJ~_}IGNTnD7ua>KEzd%K zy$1DuOWaN)r=u#Wb1QSL$go@SLcH>qK)H{XqU+Re_(aKZ6{K+>HHCd!RmOQvJYBZ8 zy_wbXZDgtI;E$D&HvzxXS9{5s2GI;spVsiK@yU@Ogzr(pOFw?hegE3#$`Bq%6@3`h zL@^_g4CXWqWR(U$i#N(Fk28t{!_ZcE$&B}xrHz6Z>9oy;zOlQR&!H1DW3VYJv$E9I zveY`}9yTwJQXoP>GZ8}GS2UrF@cU(?MPP#;RX*L-ckRj81hX-!5)33wp8%kLhK+O@q<BwM8&khypXFS);}6(i^lkaK5vv>RR`u*$!;?1*82RCi8Y3dYgeZZm z_NTkcN+OrMH;F8AE2|H5) zd#ksVSIx?;ylwY!#0-TfvBnMc)LS*a82`eux*9^hM^mE@{KN=HzoM~9J_Jg9f65BO zmdEFAPSGME72YB#1FxvRv(MuDnd5AvZK@)iQPcDT`Pg2X&uw=a-m*ThR2(Nt&MQ`Y zuz&2>ZhhKz@`03atu+cjxYXex8~4kR2AIV1^LWVPt|+u_I*c@x<;g$1<)<_}X~HAN zy=_gMsCLR3Vfep{rDql6u7)Gqte;s|kbnYkY=?SOx+=F~gxBIrJENM;dGk)#^5AsJ zrY7*{8ch^?mzT}mw<>GN7<7?f6|Yasq6T&iOe_p3@6rNv?c09Nh`*lINU>p|Z}2t> z*JFRB@&jt*M8} zW^cV~xeG$dtwj1~)ZMO(E4c8I09>Oq`o2}^PWW6Kx|GayuUZeQ8X^-2p3t1Pb!eJn zpsG!5C^Y%Dy4ZmCdmfHoviy6l)e`emjMP)gfr7Gn2thl|OO1!%iwAwCfEIvyxv|yy zm15@9jNh}#JL1L!BU!$+gAf7DX9k-@LOrE1#wmikwK><(k|648OSDc!G7Iz8*=|r< zX&j&owTsX9*mj7l4}r~uYHxrUEZYs9g73Z+7RC|Is?}g03K?2`!b}u*yieK?z#ECj zPV52d5f2&fg)lV8qn!NWXgSyr4yf^q6Y1tUQ9VxC_KLmwV(v8n_sPj}c43W`m+C;- zVEJp8!FMINdNiWKD_rt+J*hJEIhqnYhT$__8uQojLW8bcMZ=}6pWZX&v*_RVPk9{| z1-T#utP5gxy`XBC`gtm}fD^dMk&`d!r7ZbaqRr~cVu%Xv*I$kp*f*PfW_f)$g5{tp zE4PXbSM&S+yxFRo-%79GNK0#7DHW<%#Opx3}!@M)sYE|}~Jmx55> zF!ID72w05P|8?+o|M6FGK#@au9|IHzIpSdPOJPXIQO1j{I{P^Tfs)!ZP_|Ts2F(RZ zL7w|@tqn|GdtY&6OO(iYpW~S!?ksnxwl}cNO4eY#CJ>Jpc6AIoQM1vd%ei;tM;p8J z@5GJAzeQQ_V@!9lQR8u_HMyCa7uhPJc`+j%XtDXg9u#V#U=wDb5)oo!VYVF{t}J26 z3r7bNDAs2 zM1H+S?@!Kifk^NzkbZVW7n}5Z(6#LuC1Sj>7&|*ZD+?vE2*v}c`^n1DZgcfpL(%}c zVcfU)xLo{8cVEiW)B=mKdrw;man$^rCi{yv+l%x$^Tw#rCVk?Q9nLj zoC?*9g%Z_DgJ}%=+%OLnpq^hF$?)|dr zT`Uz`O0qA+7h8Fz-SxJWvv|(8-sRfTe-T8pwoX0#0^TFRxgT6~a-gFAu4 ztGFRC)nVuRgfP!4v*jzn@ml9SQ7NO*tEbPVX2q5R&cA9^A$ackL;XXjy0OWA6LCAm z*t+lGe2zAeOS%8qKrMHB8WFf{zu_AO&>5c$WSV(VT%B5ym2qF=&x zJJVle65;I>+`RkoLO~~;zcbWQZNrvD=FP&r;+K66owpal9r`@I8lBMqgdYJJkm7dY z=`yhh1Z9Usq8x{BLZEf8kMwO{i&YcMHjUlCQswUWvlv8^!Il^}aWX(+Yj1dRpl*FR zN%IV5mbcs%R^o^P_zVnxTkBESsb-E6lAyS|3sx1uXT%i{8*9uw<$+3@Lv-d$AI zi_sJD_Kn(gXwM3(EoGFxNS}hh5zT>i2JYWm*?yBP<{?o)7b^~|x z7}KyWyAFh%LPmC47m(tS&G}*)Bj~7BVavyUI}O-ZweU+BKXjD3nx(kRJC zUdK?kS?zir{>o+Xu-})W8tOb&=yE4rZI4R6S3#sZRir1@s)1uGPdjqgRR3jVt_?W{ zNZ>ZEvg2b_qn!|*@M&F4z=3AHI{Ve$q(~Q&>OP|S6dfI_* z72b>%=3tpKsrS=UbbSFpeuC~RwtexLE1boV!kFd57Fo&q8I>I17&%noA|#MbNw&MS zwA1|eTpek(?0&5|d40M?lIyeE6MeyfZ5pZ)cZ*KT|lS*@tSsHEYg(*tb{o}lBk6(hp-R=Ej0JP>qX6N<|i zO+K_Y=y_lNZGEOm((7TWx~5TxQ$8Cd@H@nHEI9wddJ87M$%2^QY+mV-sHXnXYHRhS z@bv~;TkEPZ9dKe765<~}1cLBP%O{8Sq_wo}3v;c)6m)z07Q(^#FWX7w#mS%ayhVOI z&8Qu2GI+&`#LSdw^OkIi6pEYcq;qowdy6X)WSBP?&e z*}<#46fY78DZhaK-RGb<_~sNYA7=M?5)XTf9bK_*z$6&Wr`Z>tD_%ncaC;Vqpn*)6GkmZVO`X9pX5nkUBKEqgUsSQuA)(mAPEi{LccMNjxqLCQY#k5W5Fel`?pR37YNN;5Fp6E%};+Y-tCpOamz|! zw47q(udiZs;D`9z*IMtaZN5ur{cw1PbB5#H*;;g}#2n&i^m9OcbJI!~Hl>SP0t+5i zuJN#t!PENQX?$QuwG|U7*X=2tCTwC0pU2bM;Md>tfZIg}D-~qhEf^zhMxugBmfD>$ z{E*k7N$+TXx%oMJRX2dNj ze*mE|aL<8{fMXi%J3cnzuku99qJm#^tTI{oa2USq=y~zmzjd@m+`8;4)Y{Y|E~|ni z@;=6Xpi^&nLW^G<`Bx}$cY+j{pnX(MTH{T3iPIZtsu4C1T#9aj#BE=%+fj7G;+tp> zNhD4^9!}!X@$X9@j@zn{u)o&b!GzD!d~b)xWgJXJ#W-nI;K}k&{tmdBHSu|%!Jj&} zY@cQZsUEsM);fu*6~{xzFJj9sa`cEh#03;ilt@7b=-&OG{VoTnG3^b|J;$>5{8HS1 z`voiZaQKgj6u;QM#4uAT{!n}CdUX=^om2uMe$l+$m zV(}a7&NJ8zW~NVCZ04qVSd2dE(HE*gSQegdZ97JJ92?{N1BuUjK>85uj&h>z_XEgE zt@I3X$4EuY!0LLCbC4zl2}QfuS^To+5qj;kyA~aqcM|SGNrem3H|1vNUvY%D6OnST z*eov5;GJ6}xCnCy>+47s+(-c;m4FVRl-?>YgKa zHYv3@Z9YTC`a{y5VGS)hNkACX=F8Nq%$xA?+ui|_@0-oUNZmm8$@jT@nJ^{+kAo#O z{6(9Uq{pUAVudri_FD6|@)4A>Vx_(QBLrf? zVECt6cYC!=UHUuNntY!FNIdPA%e@TeM5|(TFC-t^}@YV8TH^u=Z+9yKM4#4rHiN*2LPQ#=e z$-BhuAzQ?m;xi{ZhltLZUe;RjPaq)~mMhT1)?Gdst1HVHduJy;C<@TbWS+C{`(ltm zG2g@SQ&X`~#7xyYfzvzmwo*^N2dl~VkD~bKDL5iv!K_B+4!ZZSNr6^4qukL8iyqGA z_*?2+TSCGIlrb)t8Y5j;E*R{bZoXoPxkgp%A>>IdUjrq78v3*%(`xCYW=Gh~shQAN zOkTURv9PeS{3-a!GzMJBpY2HT)|uK-sxbFW8@hCAq=pHYbG2oFnxH3O4;wk>9-EVn zy2kSc+&cp(>&Y^LVd0}7gkB`d>Z4?yE@=eE6Ag69y*m`U^LiuO{xYs?!%}0-bx=V;*PSEm=G? zUy!(2rQOCGhdb+avS~cFbo#I~r_vy?C=`vzIbsB^9{s#a`tX?8f)4m71FuYQAEEh=pwal(qR6H5hbro z2|merFy{xlm%cUO+lk=)$yob@Yd5_b@L+mOhHX@BRVf@?t4Y&r4niR@RqN%uR6X4e zhn~H4Qbv^CPFQ3rRoe1tU0eCs!-ZcPl4kNa^wMm>SPq*$3cArU%_>_&=UVjrwgx*Z zpe{Q!&O3!eN1p)Bz^lIJ?KWsC+}c&|*7~!V5~NPghLiaoY!wd&_#GW-U}N zyZ|NH=#y?%;?~$DS09}^*in4rd`GX7ctQlue*qDQu)$Tx$)ktVf86IDlF-#vC<}-Q zR3`Me0#5@{^VcZ7B$vBe55b(C1ZFn+i6PXR*(yI=R-;^>j@>5ESsO~{+l4~NaBOli zmL?CeA01kuD?oIA99>}Wd!z7j5knenyj*>m^b;VSZY#Qk087DF$?<%&)xzTdx=UyK zv-BKq_vesdXeESMNAsHq7@yr?zPrk%3)uhemx&Vm=(*XSXGln%zr3uC{EEHJoJ#0QxMTJbA8o2e~u2-LvktpHsXw4ip-;C@K>}pUA#n!{$0a5>F8e4o~ zdgJYoizbqw&n+19yXi~Tr>#nPsWJbjyqGrD#Y3R&-G++OYH&Q<(-G;@)LZ1R-Ed-V zeiqwj{y_^vhBanu!|^5TO5qlY=&OlKsF)DrcNzrU=$YApoR{Ec*6<<&OKSo@s>g@N zu>+>C_UGO5+XuYGESX%5G~tJvA{jpN(g*sd7xkn3E@jf`s{j;vK~&dJ$g9`=m2rnxEd+ zbM(i>+sn}uAu*GlzlB}J;Ga}nXE}0;BpP{Xjjqq}akxHL^of;3UumfAJYB7W@Ox|j zoE*sG&>|o9G4vl#z%bj)t&|l;_R{d&ySh8mXOfy7{5Cn*H#Nh473ZPC#=ww|MJji; zvN7RTvi*75MBGU|F(eC}4VIHF0H2onM6J{fKBM4hc~uU5F8C!XL!==P47rKMa85F# z-hA<)$A+Sntws=eRlO?G>rVDm&=nk;0T$(q93|}b#!r6$GYaGC#Y_LB)MhH)DPqJe z&uV03LeTg8IxoTZ@;rYm_3>Ywa0LPIaVvNw+HX!xt)8(T&TDfxbdzge0FQx`+IDTn zaz6os82$sbTgmUld~(#UbjUHMSMesLcD>v~yJkgYYl+XBzWl3H6qG&h{l{|8+1cE9 z3bwP9sOTo3JXQ$_m&|lFG0?gWK~<>4R`^^qWc*tl3un++$1uLbn=o1`OUn7^_~hG8 zQ$nxCrrCyk?~YzcwA;w_m?Zes8sf z9o>iVQqc4)eA@ih-;N+YwFyfQ6qiavvCaI))>A?k7#SUbPrmq->+(frtiKoCVnWfE z90xA;VlL0<^^?kGCJ>(A<) zACop*9{Ogfy=b?UyQLOoFrj<*AW3)o2zkL$QhYqxt)8c=kmWBHvYkR+Bc^jiZf=iP zFK3)}?LMUUY20w`=on%>R@B>V@>8|;G!nmOHWcm7g-^>czy_xZ5pbbl!^)^7 zNmkF^Zr8NA(cbyslAkAMEREU8DX)uYxpVs9cSE&17PZngKE95D4YBp^_^0fKihQtI zI;;Bq9uRI2gLR=RK8EF}$xe7SI5X5};q-r^puwa#!c7OgP~GU~KizHbf4k}2YdSA5 zz*-qR-f2x!c3v)_)?*Qobt#=eA7Ivay0go$S}1>X~ayhQk){(O)r&3{#=B$-ubb0{&rk^ z+WD6LJ~a>w>%y-&>f5AHeF{^BoGO{NvRUH&f6?@W||iy_PK!xcz9qK7F{rwvf{ETvuEhY0` zcNq=siTj$58Im>QW({VdmD0GmftK4#WpKW)J8S3z&6_Jrzl449O>d^dD4CJG>S=}k z;^{}u_-<-$5q0B4+{7nmtGEXpFXS9dB>OqkxhIPGgJkLQog24ox|v^Mkn2=QzQZ!~ zg>gMKPT+K$=L1#0Wt^xIca;&NBE|iQJ`%H6Q~k1dsS2)Iu3lRltUW!~yFKEw`Imh; z8w!HE1(Y}@KV6f#-d>Q%<~})nH<%Z_Ldu(2@Vnl>Y$yEe=Yd#xITyzj0nSH9!XD{u zHadg=ubXQCL%}dUPR}ro8s1aZP&OasU)xL%^9tADJ6B>My292zE^C6JKpF0ZgP#*_ zCc?K4Xg}Ta%^@u%Ho9~vzhdw2>Vt39O5{wI3Y1dP_*%Cg$%q%T=JtGd(m1i2mlk z;^QDcu3=(~xXr~kHr9W1DuCmQWOK0w8zKUl0?rd#VZq}0u+CH>!qg&w%1BmeVGJW( zCbIf2jq`Ivr=5V-)95>{>MCXCavm!z?=FplOhn2`(g~;=e-!8jg`A-FhKI~azEyjk zXwY$tr*VA*4^s6EAD+?baszA${)iKiNrn6L=Fdg@Uy<&)5PQYZz8${Pp5eBk&+K6C)3vK3KKT4l5yfXKAErl zQ)DNY{}Fnp7n<5aBgw)&Zmv)+PGP#8i?R4%kXy^A_hy|1Rmu>6jXe?S zDazGumYvQBAWv_`+jl=95Uw>5@^za{3=&qisIYwq>DNDLGG0ZAu)vT&I@W%%)LI%e zUHQT3g_H%a;oAlx_I0~*8b-6kdh2`}oeSqCD+ohAt-GFz@l6S;@i>tG0RY5ac=2SK zCO3_GDzhTz-U2iZFr#?-vrsTH+)k&c9r3uWj=6+80(>ggH-5?CJkHr!ea3gV93E+z zb2%35k5m+sC0Ccx&#}cALKN4C_n^CqZH|INFZPDOx$SufTxL|2a4+<`C|nut;X$X5 z!ged6KovG#*nbUg4rqF9%E@3vBsGM14&gT5*&YPdzn|p1@j1BXpuM)1$YMp#z0)Ec zbs^Lp!PZXq7Dli@1uaTXd-xbNn=@#ir)l43X}0xgOj(MO8*e^YKT_GzPdiy;Em|@} zEjE~8iNpB!09MA_`czJb)Z$Gc%HR)EQ$){i*j+Z8UOGUVv%q3$hn1_SN)V93i@G0V zmRu_mkqmQh*0!1q3VD;;WkhQ-@7o}XI$m2nWHh`)ac1gNv}L8TJDk<<6bj1RPF66W z>FAb{g5m`%9xO|~N|%~0*UZ1$4@4d#sRsTLxS>Q2fx#m{NZ#&4iK#UW_Ft)fE@siU znq0U%{K?v;m=a1}cIcg!kurh=*Sm7c?@B~?xRu|rXq#w9>D@|Fi(Uye{)e-Ejte@Bh9>_>w~Z(WR-n1VnJ&^1!Ve5bV9S~jAVccDULxQ`zI|P^D4q@Z&?iM^ia1ZY8uEE{i-Ce((nP=v;nKSczb?Tfy zr)vFJ#a{QWwO6lhy6?WOtF3<|b>8omtk(;+`AIthA(UiG!w6X@LBlwKFn;SPzr+;N z_GNJiU3ehVUp9uNFbM9X?$MiJ7G-vbtMOyaZOG z?f5=6>qx|OR?C$^8UN~K7+fA7_4VD}>7!BP*f!ciqob9{9y?qtLfm2YKM_}ZCE(R+ z<#fTfHg+nbEh`(f``L)bX#YACvTi^?Xt?_T86wfYf)*}9Mw>4k+o^-ZLY$v3uKuG~ z7pN^CqjdbpX!c3_=twr+m_by`qT!j?5{J0Dqgh{x3WB&1+4HFf*ON~#gG2Y=bW2P* z%R%$$x;c#GDT;7Hrx~f5R>xT5FTEW=$rWPcQMa5)9|X zN+WQ~k;LSMaT2~yd|TXET^u+qRK>Le1eKfEx;On6eyw$1a{cTy+eX1>3gy|22){czm|e}pqh6Hz=^TMY ziPiL*o?blqmiSonPc(!yAhfF*=_G%QmZX0;V4g_muv)+DM2QrcMteuRILzs&!C#Si zTc{=i?|Aso(!w5~iaigqR>@fD+YlV?_leUy)X0|MJD2rhQEC%Al` zSvL=;`hB@U78A1yymQYw?bL8oKiLhJR#vnnxA~+bLm6s+i7^ca$uzd3psAC7BCUPn zb6ArfygyWJB^Fw6baD8AX0Vwu5Awp}c!NPoF0A>o+~Ih>zog8$+XFBEy-~B5sMXnd;~uL zG#vBz?xpGW<4O(k*=mu8hdk|T?3^;H*@Ic9lvmN4pc;+!SX2jthseC{PWU|vCZ65A z+k4C)UWy;%tq)f z9XPq_V76{yGr?f9Fcn0!MkJk#* z{$NH*+ELM^)jU`T{COMxw2B0rgPJf?EcKj%*(+VQb#LGf%`y;WvE^=xX$yoJ1tl7l zrN;scsdynkALJtOmb4Px!S94`j03d2K0Z|(Y=RtPp~orZY+G+f^yG#KF~gYI%uZ7< zK!{dj*Et58&MhYcUc>+|gL z_=C>l{D8p5hmZx1r<(xWNp z+CmCoBk@~CMplOtmF;b1byFvodpF0EphU(*cSJls2RmYoAZd&_HY_3H%v2x{=&my> ztn{|;E)zI?>ZU9HLeNhGX?TH51nqnBHNcM3+N2P~go2qw|Q-8y8 zb>Z|=Yr?zKx+lcrsZG4;;-MmYop<87fCCwgw@kX z)e7^U7u3SD&_0E2P+rmg1`T46>CPdd31=3Ub3o^c7r&e6jy`F=p-V>24@$TfXv~K4kYMep(~F}Yt`n9rsN~BnC<6d z%;2|Hn7_-YK4-o{B{R9re=S6R0{}<2(3Ck}9lVjbZ>U#UH`InE^()hhhuF3QyUwA> zGJi0eJLBZDc2IXH-mw=%fGrer5fCAzKqET^&On=$!cP$R3#l=-0~6b)v$@y7Rw;>r zK)Dvo_SW?D6ySKU0=;+Indu5j>Tl)TsIy`Vw?Nfh@5@)XN!nb~38K^@u@d?i*W;eN z&}Cv=n6R4mR9TrLSTh+M2*?oKW_(W;enJUUG+Zi{J#yGDTwpNvRfYk3!$C#shelA` z$F?WPHi#K#V;1#~8Jt9o)&rX(BbE=SDugFpaf$KCL-^-&qqni}`crDtRdZwvqaj~CskAj2VRc1-roWjUw!D(5L%D= z$oY>lw?rJJzUDz_)Nv()w^D~&S^7J=0|7v$eaLp}J z%AeobrM)|~+4j6n}VTgK?DVsD;fV9(8u97M0~iq zJDsy$nb6I_3riK-3J|~36xHdzaP&0%rhxwhOS%CoUMl+z@gnE*vZ|*KA1xv;PqbJS z+45!#DLpu|_H=^fdA`B(^>R8cj{{Ls{>|ns(78-|{*;&2X(-189p!rzoqg!)j1V0= zoFg8#`M{^nwwT(znzt_I270~rdr$Nl34A}ngO4A&4uGh?fE!Pcx&jGS>8XfNb_*Rg;Yp3+uW-p`$4qNhvMQHNKG z6f7PmseWCk2f*%azq!gR$riYwKW!S<(`#M_RFLS8TwjrSKOzBiU!4m2G%yvvk$mS< z%>x8})ej#g(jTCM?hh{&T;aCYR+l#?38IOs{mHC_#h6T{CU$*Jd-v;13bxqF>RQmf z+vW8T#I+O}z8dfAhDX4{ASoBYwbKXRoz~wEF5WI9kJDb69;_Dk0pqJ``8wo2bzV z9`E+GcoYaV4bhGEV+LoCvdx6rgw#&bmm{##a(6T*nepA%GF2kLUEIvAlN%KJxY4*l zL=3~J*~os|g4XOl-A<`kvRUW7#FDa9d;AHwW`kp{ii*f`tC?szhP{F+5J8TyM_qgN9YDxy zf0X;~g_n6Txbkzx*9@)j8$`3qg*GP}^pPK0!56EtG88YPp~3co7yppEvm9P^TCfiU z;FR}L4!S;o6n-$I_Yzd~sFSJMoqNx!t2nHHN_NeaFQ3(uQi1#^O+cmTlB7-s;nyDv zwKUf`9E~hpzDpDp48VV^_~JoR-#*xEvS!;PdG_fwvZy%YaRJ0~{7!Og)w&6k*oSiK zFjkh!SG}=Yo*XZg#&Aq_&ChCEJjYGxO7^W(Ef$ByF~}7hu8EQjISTQ3kkb1#tM2tu zbhe!6DJ_+z2{l{`);@>>d^E4V=?BDm@qr^0%@?)1j0JvrZN`d@BZdobtjknDX|ISa zw4i%ml_1|+yu=zSgp}^0h&fz0Pz{vfd#|_NMA!_~;lpdx5{y7D%gag;w$0p=L(;q# z&I+zhx(bO#JZ!AjkHDAlCh3=;B9_&sE9ED2nTSaU(tw*m_K}th%5SN=fARPPh@4GD zCe0hF`^l(vcUNOb>n!6<`ONS|rN1Nfo-lmk)CYzs*tU%<|=*aN0vD%uOfX)8izRTUIR&fOx;7sqg4mtO*2XFm7+ zQAh~C>XVp&&jIpWlVQ}r2!xM?G~Sd-YWa&AO2r!!*AriFeF14=$NafV)G1*j%_%J3sbTt4*^NU zn2mYHRoC-yr{6b(>hq6eD$Curvb|bzyV{iZ15~Y6LX=!%aaely z2dMx}etD%j3KT?A66LtuH)Ql53<7MM0_&x3#;ewe`AF5t!Uj@r+kNo(bxfifw?mnQZD1VN z9c?IhOB~wzI5>;ax~Uc8Y30%^qsYcLqY&{^*GeG=1-*9SoD_m}&GaBA)RfKal_|=Z zxjn5F?&1CYDM0W@1)A{a#YjY;S!@J&7`J#G8_NMCq-HIlFzBjJ7xWgwqPHo5zi_VM zHfj?wfo`?=Y%!u9u5D>TTFTnos@v2>yL!aIRB4sE`QC$&p{7Mn4nxwaB~b5z>;GpOl<8RFCp5Ff5;wHB>nkMhpOAmB1^!5)~GITZ|~vENjz%7)=fNJ3yEl*1n@txMnC6P8=NJIUMwuU z0=T=YB7(K8K#rbzX*A}Y>o>fW0Y*1b$%RNXKFiGl)ekd01=1}}%gA1Jo;{UstD8_g zb9}(Hgqi58`G#jjuTkuy>3Rh1We)4 zB;sbD!jVCa7oLl!s0Zli<+AAnaLOw^O{SIZodZw-1rc1ar| zJ#iTdMt|~Z$=TkwOrts47Ya_!7orP(9sH&HM9W%viQ$C zv9ImVUe{+mCgjm46|Al&T=L_%ItmwA7^^7$-IDO#;Te?qiF@#eFP?PBvr;Tf1EWo_ z{J$|Ni#OMYAa%(Hd`O!i7pt(1XwD~=ATT29BtNK)y6=0*BET6^xWp5`{*1V-0qSx6 z1w!@(AG8fhm!{lpPUd&Apado-O8^$YCLG!Lu*?i9aWkskHC6T~65C!|D&_vVr*q7H z?%(CJ_Sn&nh*zji?ZU-of#ykv{}|&{Yj!(WQZb@FXK=U{xqP=FOUOmk_I#A(-B&Ze zPY)$&l|=40AhzKy(^^^1$HH^3>n-$>{u8J%@JXjTXIbi4DfNfujH0pGssJZi-*SVs zwE`J>$ZeNI8%%z(No%X}54Nc?I03)2LvVkj7-0qOEN<$p$ zbr0h4e2-pBGy8)Fh1l>nALI2(!Iz?6J)0)GHJS6?&92!q_u%3yD4Ad)?q~F}@sK5| za^2})9UBe65i^xudKx!ZK5K#@n3WCHC4=*t|I9b(G^ieW@+dP_VP>igd(;_m$OV*5 z|LP`fi_CK-qN8TBSXGg~S8?R|jLw^L0%0?BxErk3im+h;KxnO`ZhOGBD1Sw$PJI-FC zq2rSVFjyL*ZSB{!$munMG2sY{I$7^$&z3qSua_;6_u^AkacU=&KE22mC6_20c@a15 z?CqcPxa(?G_TDt7OE5kL24Du@d}74$4!wmvCoWsLuN9bE{idtVXl!V0_&vz(KIfxG zWv{IFUZarad2QoE$BPq*>JUGNMQN?vAN)_rtX7zh&QSbEb(^xH!>N84fQR=F0K(N)6$S#6B>N>avRR?QV3K`vDUT#Z`9kC?*6o1Okj2K<=5QJ! zx*6gM#1BZ8XD6J-GawK5-&IwF%w(Er_E!BLRnoujHplw=eiQQ1BPv`=(wYm+;2ln9yEInHY z7F;F}O`3gX)xNDibOaP0fg(MHo_m(D5R!rvpqXdsU;z~d_ji2IdF@OuU;#bEIWg;% z?Ow}s=Ea_6D)7>-RVCvWW+=8ZRNlP`>r-;CjEPkEwK5ap)r9*@vb|vx!|=QU(?# ziZa)7YwmQXA@S|o;Zc;;iigXs`SB*T(-gcFbd=Y77(9=ce2Dn!%SA%d(5xoYrOQT{ ziRk+owS<)!Ao!#5C_Z9bWbv0!9ZrH{7XsK8Z*;W4^0l(rNW|4}HrvffJJ7Dp(^^Ck z__Z*ES@gjt+bzS1t2$hvvT~mbtg8EiCM#&UF2rCFk(R_g*}^QMTtb3n*2?Jz$>}HL zXy?$cKUW}wzA638VHFXj4uHT{Kr*;xJZd6zkjAj>)ZyYE8d9;JJG)q|K8MgQlfhnU zF>3iiFN+&?4U^-1_wM~ZFYPe!=y>;C1yXO0b69hiM@d>6+}40toIU=` zFy${YgIVUNzE_>g({0H{J!mbF6Qr(kzB|pL(mGI9T1`jW%Ytfl4|V?QFfVC+6r^2` zMB=WMV4z6abfdCmr6WMjKaJRab1~Xg_OF;<%rmFP9;h9;7SF1{X455n)Z15paSx_n zP!QGD)}p#rovoed1fK?~wJHl3j3Bt5y?B1VLn{A!@Qv4jT7MoeQoh5koqrh;rjI_? zY3u0uT%xYpTV76}nVtDGV>v-WqpLrFe9mGo7=3X-%n@pagZxdkrHcywj4{-hiWXzC zKqpUjS(SbZCZLkz*1G>^>}$BFnv}yI$wN$MoE%WAkKz@f%7^qKnwZh(Drxq(9smGX zEi@05XPh>o2GEt!(nALU(JVZEJ=gGnuz<;@xMXhcK!$EtC@3RQ{xeno+K-N(prg`U zUlYXS$CIf?v8Ho_@7~W6XDKn!aJj7BhUG_7W>)%sjr8uQZlxb9GA+9hc|I;S@vriP z-)W*p;>}=Py=ynz1~lmUQ5@lMY@-N$DPdyyoHYd#K{zvA;Gh-Z47)a2mC=t@G3v}7 z9Oa{;8FFhW$pVjwyE```#7$Kqzvuw^$;Wb15@+TOvus|CrI7o%k{qv{BWuHtyk~h@ z78lV3$je2sEnTW6io3~a0FQ`!yV*w?S&znBk>-?Y6hGKl+?q^QK2@XxY#ugy}q4`CX0ZbZEC`ftlw2DAy>(kpCkqI#}o{WB+6!yL3JOt}2i zKgCdlIhnZXjI`M96_q@gA}2nfFqJNEhSy0U5)t^WwVp$~usT}J4^5mWsyESsR>1&L zNQ|~VCHa1nT=6(EoX~jJ*EZUUzw^~4h)zTF)xcsvE+9vyz}xT@rOlH!oL<{ju!%TX zw;B_r8HWQ5fm$8;p;Ah3Ftq3b>L&K3EjO4Hj3W^A@dzjgY|XyOL$VoI z8tyDkL1tc+`7EiswMrZFW?fmu*8Nc`3I?HN`Q{2=R@(!s^B$nkQUBC?>+O)%yHHvm zP`4VL$n247J6JxIRVpRdX;M!Js|&ttlTwoS3I$xcs7jKZ|{r+aj_Ll-wU zvFBdxXm21H9t=uh4eUXR*viOV{+!p z1s1Olgzhuk7^$ry4h{}bu~xi)rCS4gr9_zu0^c@>SR15*?h$mq&<>mjo@F||_9iA2 z8>Gwjy_Krx=ENWjp#QwJ0!!q1`wRr3jy;8JEJHKlwD(=q`oV9%e~>{7N~P0D5#9s^ z9axr5bTQpttF`kwC@R;9hK21=%%Pz*<1j>LT|;Viu_PId&tnpqDAJL3-3X2BAX&b3 z<;dpkR5Kc7Unf$v(dyV{?B}y8qq~%h`w>fENAf{Uzo;cd%IN5y^p3b}6*@9f)!rXQ*b)diMBBYBC7sKtJFzh7(f zNV@F)8LLn)M?f-(CZy$D`n)@U>2rF|7n}B-ddDcc$z^#iZUFIoEic!!h-R{@WpqBX z{r)gfpeGKxmI_G7wOzXG9}WlbzfyDGF`oIt98HqVG#3No46iPjQyEG~+j%GI&5C?J8XU93H;V7)2Ht?Y86YhMCi>5yjfpD*y-L{ zTsQmqBp5GJ*G96tM(luP5~h5u5phQ$wHJ}zrZm(Y`S<50+mBm%4(RCEk`-i` za#rX0CRWQnVD!-X!BNkSSNH;@<2HDAI8aP+}us!bC za!fU7Xk)Ut-fw3$K=_G2Ji2HOs+K6lr*7=oj)ek9*Bm3I(^%6YHa~cfH#BF$Zb(}k z0Tq8lZ!+j7$0Y9J4t|55vJq@Ax0eS2(#O*rSmo<(7z>-S5LTQ1e(T{t6cIaRvsx%$ z8lOR>(e~3aQX1#6&uys>Vj2(34F*uxa8mv29qE*T2me%?rWlBTAA#l@gg&$j!+g5bhL$xr(C0;KK6xh>+IK#vsUHd%r z>sNplQVBB*F8|9(s=%C;SOx#{#VBlUh-3>EAr7DA7Vi!andta+Uh|N?%nYH9f}E_N zz$7I#mA$edU_+!NS!!>!wsvQy7V7qN$X=BC)&UDPo&hv)Bnha@wi&w>?vg1os#me% zd1W}^!7!?N$*b2+K&fLD{{C#FB=z*|o$iO+$gwi!oWD839_hwJ!5+0$z_YEp zDm$@E$uXL3h|KWd&~OLz`@2$8aQ1+%f_hR$Y!H=6Dbhe-ZFb-AFyZj@`6^AJg;kL^ zW*03B3&s5!9}PUqpdG}hl-q4K#%-sVl)E^)BRTurhuykXej1*AIk>bsjBZ#7@RsHy zL8(a-Gt{*E+8dcdFAD2|^{hPYT-)^9*SJG|Kjp+FjwZY=0%Je-9j6UHfr4Zv}s@)n!Q5bg}Sx?c9SA8hHfc>LBRi98l)pN+wJq1rf2@D0BmQ!A;vzV9M;^r=)G zU328I3p;?j*D~b#f?s7x3(eP`3P7HdH&(P?%|M*b;U+3JzP&HGn*z~+zgv}10^)RO z1h)bOq5L(cou3^&L_5mUfm(Gb>}bO|0Lk33#}Is8w@Y22P57FDyR#)ZcT>sjv#N_x zV-)9&h(Tv6j^p_f8hDqy+P~{R{?WJpn{0eM4=4hx_<)(`M7^WADZpHtYYBXllDdY@ zE0OUBkDlsZ-smHUO2B-T9ak@hlbI@ho!zggbK(k#23v>VePo%YATjOr_UD+15R<)e zrSphNtnCejxQ*QCD%I3xcJ>F;)jk5j(|?_8g-Lzbfr^Yf?iN~pAGgEZf0 z>;52@r_>3;-twB80U!)8+X*6vbwPD0Xd4o^k}X<;hRA4zJdaA2qEhRZF+6RMUtlce zqFzW;kflB5U)zwRuR4DQR3%6Xh6m*v=f@z-dt(do@t4=rYc$*@gkeL$hwuvCfsyMz z6XA_d&;d$g;D?4VdhuJ`fMA}2<(wWkw8BV!5duTd|R@kQ$pW|zvng;B1bwW(Isqr+cbh|&Z%4W z+FXSuI>B8kxK0w{%S$+rk|$!xYEM7i0B8MWW3JE$ z&qXI;0~UuGMaQGh(`7y%!#0%lH?83x9DY|oK$*nj)mJOvW{Nz%-(j3Yh?wqrqm{fk zV2`0>?$=X@FIBjnCa3WVP=)R{IZO~lIqCOqc8;mO-h7>gk=Nc;A8|tF;LuQ?HWqoO z)THBfuycT?6w)`+nFvaRJX3!$Ab1Uk?vBKr@z{S%4*ON)_eqfh-MV0HG_dDW;4>2k zTbYeoLzD7$J)KUTHP=@!T~@Chf2t=aO?PZcS=C_yeTSC`U6E(Uswz)X{|wiai{pTG z48``3d&ilTtQ-=E&h=2CZtgC(_72Vy1+XL}kE!-OP*5-8S+EomO(;0t?v}K4sqEF~ z2eW9PskQF5myRyF)vn(9k~@deYV;x6YN%R+QDEO9fnO z!eJoCd1sE+-^L-GM$)i0_dplrm4P(P*h_A--U-Bs@QI1|<4kw+tmztZpifcyPD zSNg9fZ(R`B!n;JCS8fMDtIbA%fF(u{vDGdSd_WHUrxOwW%U5QlpcJaeMg@fYsWAY8 zU@AX=lYmw3W~#RT*n9g=lIZ`7zsv>!m(A|VTyg%FyZEoa>VJMzObcwI7oQXv4g5P# z0 zw|h~B4Xt?x3gjJw7L$dU10Rxd!9y01yH&EwwJr2VQT{(1^dH!`Qy@f8Na*s!=d|M% zWcF&IB+ob3xhw^DQr6mAsE*f!m+~LQ(SKs-hkca6mV)Hh5VS10^rhK{!jf!X@FhfP z2j#Syh|)B3&plVu|9IU0(wQ#gKYko})6z&%-3OsoDEu<)U}j+zwLLVT-Lf6EQ6&`>s}$480FMjRz!&-=xLA4*LVezDhLW2wF#k%^#z zW>Qeq)S@~}=0HE=cfIH=l(QNLuFvlmPjHB^4Ej@V&k1mj(RtshT$`GLdJSOogDhTB zDy9V3Uwn=7KYi<;0M^WVZ6&<4a!rSF}Wx6&=!BrZxz6j);rR_2RC_- zJmh{Fc?&;^gtNN8RMp+TWY^0so3E)a)G1LNDck9OMpl}xzVPFS;(nL`h$g^6jt~8b zIF`i<0SA12;ou-wp@xj6)_;M3_uvj9bKA>Ms%FY?4{qiB=Jeq>g=)2}AfVX;<`FXYK-y2io5e#0d1qAS3j zzbWYcT;x`HEa9jy%IXlrNRS-|7eqRQ3g_tm`nj3PSD?iabC>EyMLKS(5!sGPNSY{RoLa7uZLCN9a*GO5~6~}gR`s{h6aO-b|K)<&h~FvE zN#K?3zkclhDbN-Z{?2XIxQwFzL?{7DHsJhTwg|hs`EMEQZzlZ0_dB;~bLc1hb14za z?`1XULp}d=c-lX*Wug1;+{S%Bf{*+kef;0;{I_cg0l$|4DB?r@s?-1PJ%3V#+uxpZ zJBH)&7a+#JYjcJF=Wzes5dY8N{-+E7pK`bt0grvqOtIKEJ58|cdtCR5sXVDTT~R?$ z%)Yb5bKZ*A^PASSn=$(g%oZ@PDUb6u7hzbl8w@E*(6{xkPKzh)E$4f(Fohi}&zArb z6M#tv4^PXVqHZU}}RDj}>6K8$0DyqB&>0WZUOe>6PEOwjtw;i1#Vgxj)l6{P+AVu`Sz#9@Y>iPfs)&G0$Ti{DDT=tf8UjhRd@y9=LG>Hm= zMQMYT^@RGu{Fws}6qa*kkWvpqRPaw6_F=vd_)QR+A%C?x(D47>!2yP5+Ze0Z{-bHj-FZR zLoHDdXi@2gq(3t{TnVD>a#N$ic>1|?+dX&1T}WRaDA3{#Wv&iuvYp7u`CqlCri5EB zMR*Ep<_>H25BjU(K9A`%#W+xsd)>9z@0ueK9&hEbE=5RlW&~KRb>>H9NbWd}W$+LQ z6Je*#7-t15aOfwn>?@hY&_k|x^srRuwn^P1^##7MMznFANl9kNNNs8hXXsi#)Y&?J zVZMuBA7vavuv!{>v5d3r*lTmyrA+K=%5;UQ= z^RN#>cR`&&;$2b&%HKyt{)pxufgtg~%(9o&%}G~uA~Pi^8C1B(IE zw0B>%^>7%zN2g_T`e>7hqrz96lgwh>pW_8>sQ0?6+!y|Vo#mCHT(|9N>3O?ErRbu? zH(FFdhWl|GYUolS~=9L8g|=qH9PCIT|N zW}f6`Xg4Zkzy}sMQu54ADYjx|BgysUL5)hop6|1%I6Aw-33rR#qk0H@LnY_YWm+Wm z51nT>&fTSCJof}owiX=cPk_5>32~&xIyaI1 zwJffg)%yKT0q<+kY+>&T*9mqJO5eV-GWqty^|n=@ls~xYcx4y<5`h!v+rh6L7L#)A zwiE`NweBD|6#{+>tpz46HeqE>=14_8T^9KJ>-6>JqyIVqA);YTCa1;cfjQZh zI-A%u`(Uanr|GBYb&kQ(Ziu8L$EB4UISk{cmTWBJ$zoZWIU77Dlk=-xDLTCtr@QZU z47}{ELZ{|ytIlVu1emW~3pgXlUM*`!D|o_4`Hk}fG6&OnrxV^f!i5>H)RL_H?*QGf zEivfTwXQ{6wPb0%T=Twn5BGS73azns{#5^nLoE4-pPf5yH1#JDPy6q$Kfhk)SnvK4 zNOdP{$*KX_`m~H*udl8?4ON#$7O-czP=9}X8165}@Qcc1JBm=A%OQ#aBO047J27De11DS2M&<&Z;@^Gz1CX0tO5gV@Nvko2A=XodzBz3~*pOtI##CwyKM^!Gi9 zxTIXDyOX3@-BI0E=h=P&2EKa`hBS>bi}-iXtJWSniS@@}_{VGL#9@})D{qgdlf@iV z)CB5yr}iz}vbN`WtgAi56t|jn6Q=f$HF9SQMWjaQ+I2&_ zGzknAlW{u+w~t}UzmoE$5-ymFC$I8qYk%&r1QQIqeJr)Wc6l7jP|zZEet0o&96(8q~uo5;dKM;FO9x+|67cy=||WWOs_eBPIi3JJf&e{fy& zmSp_;`Y4?U7X-=P77~PcaXpzvc5doh{Ds=&Zn1Gi+oGJaZ5Lk}!>R48GG@|C9h|!d7)$8a?MF=82}22KXz5Bvv+2@m&%2T3h6KuZ(V;#QRTf%s0!|4Jx%N5 zSGrmNl}^7Ne3mT{elge|~OD0YuT+ow#ldzrPLsIIMS@_qA^0Zg5_<*c(@G#KqXl z2dWgV9w8ooxu?`$PDt|%p1#x#9DUm8E8#ee{>A2~eF zqW(*{0(+J(iRrB`BwEy^D;K(LqSjtm+~;#|{#mOEHlp;n+t|@uhwZ4gIj}j$!>v9> zXHAEdsTB0jcq&#-)d+9!SiN zmm#8Jy0b?!g;RAp*AtfegQlhE!r8)`FsmyO2N7R`3HYcqatf!fWcfXkoveh3%Xx^4 z<9<;gkY3D%mhR|Xn(P(KlFE}O zA%RecEu$;gAfL%)Vlh;&k*Bms+ZMtCwokXt=<-W*dK9^NfsjBeTipq-c8-J@qbSOB z!It$qgC0L=Fu2WmC&5>`J%LF2wC(~lWqRG_o!9Sx71Nj0AiQ3mXYtS5dZ5;I-90@D zIgO_(|2*}0*?@hagupLd*%J9_M;9*o_3A?>m>x-oQ2NpCaHHn>G*-S3I}QsJ`To%E zup!fGwZr>Una4xS>&4((lYrF0xCK$fz|wrVm{F-?8b*1an&kq&@!3_Oh}}3pCo6;& zygU34JbK->+{R8ePwx4s8FlPc4PDt2f!*V z8PWhjPvAz)5RuOt3_Gud0ruN-Kt&mswHYf;hmUvdvM$T}EOLL1g|rQk=8uKI?Kk-lk*{W->J0XF!aEi@&U@c_>`EVQD3$BKgy9iys5e>jIL~R} z&UKX^PVz0&lY%vBbrxP941zYW78^Ny3U~#acd29O=*eY7f84IuvSBKDzwO9eJki>t zC-KXJPDHDhi5_hbNcW_ETt1x9I0<_`vjr^KUo3W7nGQQzZ<&5wom;J6p3oQ>)Tp)3 zHG8tBG1?&kRKsz;J@glp#yG1Uu9vND=qslw!goQSGvq(P8B43ts_i}e62-q@j9qgv zkza}7)VdpNN^@THm{4kPz8zWvi*ndkV%pY`8Lp*Xb)G13D_0^*l!@KL3>D zz6rLCLm;C73O!cEpUj9Sr5;|QLKQ7|_f_fY%1P_-lN7u`4k3qA*AiVzg%cTxN|EQG zxRZtB`9!rkpoj6Qbp2)9>)Xm&QNpI)km{w&`%}#G*?x31<2BC6c0OJ2^^fEL&{U?8 z7t6f`v_a*h9;;+az%QC{y|t&CK|4LgxXN{8`-ij*)N>XPMC)bSwY?K7q`jBt06YHi zpa5djPO%@?2e~1)b#5D!YR!Q)>YZuKWYSsTb!Twb*}_Q;ma8wjc%^k|W}bVO{+lDn zNj*RmsM<76xv_Mjer+Oy)_0%E3pj44HMniBHLad5cshFV3t$!fWr-}ARfoZ}n-84wc}{R8M4)i0fu{GJGGD~kHGy{bco?xk$}r=DvBgHyVm z7Dg8jhdnM@^Xm5}E4Z;;{ihxph$}_1a|j^|-Z5a6S9RLK+PUU=_NCrDUhJzVjcz70 zV_uW_zTmL%d-C6s2>@=~sOXw(CF^~L?CkezUtm8B8ZP%AiUk%7gZ}8azQqTd8{57B zuSsL0c)Yr~PWMSxssiiva~-Ze1lE9w%P7aRZ<$ zr;-n|!qCGGX?~(o8-%gKQRJm{Ew{!3`s&LdOOaH2dhm#3SL&ZTiF92DmmjPwcJ>yv zs{t&^6S*W%nl^4V9{t~zGx_ZA8Q!19UUrYmfV0=rmpAxAoBP2QKiB+V{{E~ee^`5e4&T9Zz%Xxm_v8enfVf{$H-#);SS>n(cT~!d`bUK@+@4IOmlF?yj{4!Jadx3nr3YSR7j?R?2qKe3+ z=fI$tsu#~ZID^5a~?<}ZXMF&NEHulZ1pgxw3O5<-MyDkk4RbMwsqGDihY= zjO2!O?uvg}bcQ;8vmP`|%Ww$Tn)Ma|L*YA=VaO&! znL<}3aJb8SscP8qSdXcXN(1b#B- zF)r7E*Et@pwm>48SN3vM>va=bT1F&4E(iK52*b`?bL%pOQ`pSjv}_cR9{CzbR+*TL zGed>jes8YD3zSzu6=NF;`?f2c8u@XHd0GhFqTxii%`YI$gb3H%op00YE%&mVP_y}X_>z}l%a08|=$mLM$S-0YWLFkg85O>Q3-)vp~O$)$PG^eA^Vr{Ug#4$_XZOm}!pI5I$)P6)kzT0mGZDF5nw1xQ* zw_mX(rUQxef0Z82u8_n)OHVNR@w&R`wJ)b^`>I$+uk##K*!cMEznl?hxxs^tXwLQi zSbdITer^usabMBwq?1K}d?`0du1vP)N<4nL;pV zsn5N$>M^HYvQ@@{hWW_;_QXqCOZs-?D92Y&_DS$70l@BD4VaZwH1!BOHP48jk4;?(iIoRJEC)ZK%|pk2(-r0@^>~Z zw5WV&;x25@-7Cy9$I@HgEe2gl=@$EBUyMSIv2^*4S38EURycHk&alA?T0^?SSlv21 zXa+PAC})n$)cWp~@1+4iU{~i*Bo7!Ir)^>a$(^EQ1E_p~e%HrMLQ8^rYeHW9@mn&A zRpB%-7v>pm43EHfLZ0M7biV<=I%A6z_>giiub%CD#Ae20#mn=>clEP+jYJdj8CwW}{g`tNBotO|=Gsrv)Zf zXS4WFZERhuVh{(zKj#*lwtL)QtkOA|uK{i{42WVH-~I}mKJjR8amI!Q*?qM?=vu>u z*PYKY@}VN7zgDkB6VoDw|N7CGaJT9IWACkF>gpbT&*JXx1&X^nv}jwr6nA%bclT2C zAT1PVae8ofcgn%t_24eEpWkHe+&`YanfKmgl1b)2azbFU*=y~!zVcbC?Z*Bbd>7@> zK?Yx=JiE~y*(~G@8!|LFvy)uS%hj4{(V!HC8Dlmo-d2|vu+SYR;#J3bg{#yAa%>2{%srfX> zpwR&o7%h|~`Z#2_P+b{NUNSObIbPUy{oHWVmO(nxMmO~RNDdh_3br^Rz#tS3qF(e@ ziS9AzKkMW^&$;CXta0t%gd*@eU6Yzy6m^OJ)bNFf`jCnD=wvUNrzhhW%zfIu7lh>E zsw^_{25nC|jLdlHPq?)GDYhjs+~93x`4d@lG)qBYX+1zSAS7#_PjMy5BGa8z#Pp=igU75y)C`3O(KmlcS`Nx)Oo7F2?Q>IgKs%sI$IQ zciT=&@f>O!ve2;p=?3fAC>e7xlT=i55Tr6%$nUC%;wP8r!W%8(+~Bg5RMk0=KjCtr zLe0Y&>rW5tL-Pfe#kKJw*Q7I(2n(Ol>MW2}Rwk1O=g-SQ?j`Eg4y5}v!`7nBId^s0 zfYN8wvB(YQz&$pod~=F-uo|uQp~Z9&c59Nj?KkqU`^FD37pjYLXU5O8EvK8bNt(2~ z%c{k)O>RurR`;O9J2_TM7@bhidRICuj4U8(e3frL&FW#u0)L284rl>b zxFQjZ=Y6~GCf#_uxv;|!2R_z4dq?XvA>Wti~4T#MZ!`p6_m*)oOR#N`- zh30%rHeD&B?CuDm7ME~tsr#kAesf*WI{|IysG?%~SOvoaB?egC`(P z0Zd1?!;huM_oXOHKJjiqw2e)f*hC4=m z)uQudrZ66f*dvPG88Zp5z!KLGKWo}AC6LE}P4(TchE^lcjFE8$hmXH%n^8?rg{nTE zr?LoQyObU>yp%GbDbeKwSb0f&4t0#nJiWG5YY=+2xqJMoSCQ`B7f|m#L{*B^Ub}g~>CQM{SSDK?;1kwBPe$bGoaTaXa zkR<(zNrO!krx#p}xU|*An0Wm<)TV2Mt|b)btiN0}`y^W=5XLyB-l@O*{%WkBa-6y% zWrIg(d&DwjXDWcSIPYaKh+>TAVDh`UhGD#uAg}+*$IZg5s@Hn-UG74<{4NUKNSZJ( z6Ti0bDbH?I-Yr{2tf6S7cYKiWy*vqOj#HS1icV)^ zg<(BjZ87CsK;y8OzXwDf!0s`jtDbkIfspMJQIZ+7Sn-+sG}Y^g*?DA-!wC8!o8%7m zxyFO=T^`mQ{pK5x+y&ICQJt2Z_B=lxKO+G>F}0xaN?U$t&(8?!;MO{3N)Rhm&l4g- z89Srskm-fRq_<7qhF1(CYKpwYmtj&`4A?%xz#i~Z*F-yR^zm}^+i&@ROB?R1nOHok%L|roL+`R6RC)ITqtIxl_VINd5ki=~DxCosGkmB_(-R(52P1Aa7_2 zr@~72Vgb$}yHuQsRuwW*kWxZx8ADwfiV#KMrJ#Uj(Hbjted<+=>g3r-^&i@G4KiP9 z*~-1!f-%^+6_Z4AQ~lcM#~oI3PNYzhdvv`P>|zv07(QASV{E#lFcNv#N}fupZ0sub zOo|2GcbA)WM2iLku$Zz7xBF-~i#Vg-^<(?AE+elGV}f5e90RT=mY@9ka0GL3Mh2oV zLn~OidzE}F#ojPE>~1i;44kRqOFdYz#GOp+C-o67jA-=Md0XaT@MQSGthU2S<=kJZrCMj8UivBc z-7rOr#!P#D_+)~JfUVjj*FLqytyGZJ&(0Px97KYK1ohsFIdK02zs7`v!V!kac>ZAn|&IB^Solhr+hvkQd_+@n^LA~jBT*n z57K)+{TTier(JC)fZnV}AdJ>|dd8XI9AcB!pGXSF%Enf%Fo;`QswtanN)V9QD~gLk z;)>QCz3GF0F*ozWL6O|_TRM%w_gdm125GkPtUq9jFFVW`CbqJyIx*eVa(F4@TA^bq zcEc4I<0<c){0V-ag>1EbT~mnOK6h&x7Q6oR?f`@3ZK2HHJn=PQ zoCXWuHYKEn4_W13zq=S+5u2dVBu}$!!7kpA&r!H%V0|Mmdf$0J7cEU52gYnuiZ3HE0guCjVW`fklUp7aztYIcvsc6t8VwA zV0ymX1V-`rQMWlICoX3MKh1K>)XU{HMYN)t}Bmu87-zF?&4O1dJtBwD1_Q)S)#sIc1vXaMaA#1 zC|BkKHjQ#bB}DJ`QT?gnCEXc<9Dy1h`F+-yIv`gRfm1Yt4xDE+$vpPCY9y0IJD#6J z-oI(ZrY=#NW^>O%Hh1rq7BD#oaukn}-L5`$NZgNfje<$|b!=hC*{ZawkNB#;x>vHr zb6TA*ZO?IXu8Z>cF!GC{elGv?+}khLaJEvR>BY)MSrT?$dnpP~Dz z5Wki$WeW`jpU)I7GHQd8S888$FQ{+q?zl&D5C-lRU)p*U!50U9u z|AN5%iQ^O3noC||EV4K{Wn2MrbcR;TLnvDkth3zI3&`grgv;f9vF#T>xuFipM!xR% zB&S*$STL%QQ@t>@{3lz{%K4*g7!6Kuyvj^rv9y*mg#s43m|W9S5ijVZcG|nfvT6{-pv;R-qjv@*WI7; z^{1?rGiAGF5;eKs<4SN8JqiadMWEfE95EEz4G8^0$k{ZJ>Te&j@LfvMh=tIuaS7g| zt3>+z)@}rySr0Zl0fa=Cua;$D^QvE8 zW7QSJORg(CjxBGLy`I1LB38rkV6N!b3_)=17KNAycgnb4jgRFY>LJ$@ZUQY}7sx;^ zGFZT~Rwd%W9pS7yQ3KWE(_Et+VibcZ z^kNgidhl^?KROmu40T_xXLx!3xT54OPOarZ3xPDoq01rL0IgTvZmaG6qk7BA4I0D_ z%5E=_$D5u`qm?Nx?-iaQ>Pyo7TMbmSvi$a(+vYt7l)G;Q_{ZJdF?r_)UxiLrz(rcJYxVl{BS8=F{%8?kW7?mHe02!p zd@;eDD%TEpu5v=BnroGBCX`0)kBA{g0BbL2C9{Db!#0-anBhyU;Sc+XawJMq$c@LU z^kMp1tYx)Xf0RAP+n{e*#}4d)0zZ)_Wq2Z_zKwjiV%NW?pj^)cpCeO}c zS}u!Xr*K+BKA92n!yt9xl)`1y>Uu1~lmGffRE@Pxvi*3620^s9{=?8W@q1^JA^S|b z=yMZ3?H<)Nx>9!VXcqJ%Nj^&f>dg^g`A{9>Ls%WJ5OGUi0)&O0_o9uTnutBplSyJr zCY@RUWekVW&0%pQa3a!O*OLrl*koL`up3dUqi}X=jLa&kWPesN${N?FJaVA8U$;dV ze<+9+I^eXp#`PwZ~nj7}u`_1eS40 zVp`W|vAq>v(1+*a5K4iF4-~Qx6};@tz6J?@$SGFHoT5v}c`rF$?b6N98XNlC!Ax?M z$9^RSP{lTN_SbRX1lbL+b1B3wkH_h0WxDod#>eb!KD+bfHDB?_ooBMWoSkSzU|jRa zilj+^wT}|qZKd-aJ7(hZEGO#Fo0)=T8a}9+KkeR(6Dzh}9z+&%lVfJG`Mya)6h?~E z&J`L;q9GB=kl9Sk+3Kg4KOQw97*4&PQM<_mS#<4NhQ#U?N#74thnuW>RH&D8r>y~} z!u3&z;JDLZP9kD|{K~jcV(tH^jEx>rj|tvB%zCwhmWb&|*+uxFQ~MS5@bjKmQPd2` zV;!?ZIlT_f*Q3F2yF?XNXp@!}=}(CPf+G#!H@p6j$vG=iZO*z{Mp4~Ah!=^@4&ixq zEykOlC)9lIR-{S1KiR-}g>f=7cz_TrwIop^AQgKSI$TYEWoyhK;mjS~)+e0{Lg zw_t4G8>i?HIRQ`J_W-w`ZVQ&pnuq4T6MMcp(KJ-be2HZ^sg66dH9uoJD`kK_9f2Ad zGckKdo>>jWgDwx27T9D*YP0r3*6tw;tj!V=hud58zU7dR$YOYJoQu7_ zZh?;u&Y&(?`_-ecC#Pnj(V~h1ue(J;( z;yha+nvR0Z7HRt*Rx8+JfU^}lf)~DgQ5YC`K~|9jWvW^~9!=s<#pNVuz6n4VY5|@0 z>)j7T!9=*t>?xO*q;jA9vc==LyFBn}%JQRlX)?Chq~aKHVRZZOTDaJ`z@g)%V!p)| z8k`Z-+`=PLZ%w!`=p%60N(58kynCKV0sXST^4G+p#4A_{LKvj<80GF|ks48a(Ayx_ zwi?XiS%l%3v&p3gNt33Ifa{sBZr$Cwd48sZefal1RV#BAw^j}o_aCZ0PFb{a+NhU* zZEF}!yc%Xq+#cL4FjNG9?O8+sn3nG?ynML=Mrr#c|>c<9__8XG`h(=76R&&zqGzW6-(Dsa$0TU-cEI zTe2mOmIZt2?l_0I317p)_5Es(RX?h4-=j#L;=3Hv@~Hd}x<9gG^MBA-Ve1aa1`-to zBSxdup|T_h*pa&)KlcUPvMb?!S$Y1gup%$b&DnarH(HynU%)yw*?xP zRg!Qf4FU2R4UsW^7v=TO}>N5lhwg@^zjrH0sVppg=adm!{hd%UpDT}hp^;z zfJN|qZAn5~Y2}R$j^ zMm;?clK_t@L0Uy=%Ru7Ob8=Ko&5pIq1m!sWBTY-g5Zf@5SFx;W+1ecnM*0?#7PrpA zZ#OadJk6Op{q0v4#$qD47Bd}(2SEaPzj&&Sf7^2#BD9z@5>iq|&}HP6$K)xxVFmCe zjCk>LaKMluHIGkMtFJbgQh`w&MOuKhSXUC8&aMHya=sv+qn_o#62a1W1IPrYW#9c( z>v9(X8O|}a2(54`9>UH_daiGfkj-G$r~)iHbw#r^W`D~3I2GBLTg>es@=5o4)Mv@C ztZO#V+-LlErZV$Nqm6^j7?}v?yRIiRNEc3vx}+wHfVa|oAsxrOHy8jU;3li(_D-AF zn!Vv2R~joFXFc2mjX)Ok7VgFJDDfo`^KnWO=WC;c~8s%m=2l0Z^ zbTJ4X1JXxq5}O!?Ocn~*c8?EO{folgEGjD6pQe5Ia_%(?C>Hdp14ImXGwK^BZZJ-) zeO*m!G%G)yT{!O0Kzi0mu(B}A$#nB(;bV=B@L4qGAk`Z()3gmF8_{~quyWC(9zeMD;7R|5*M`z`z{L!X!NM{Coi$|W2>&fN(XTmLStzOO_V!SO>wh5lH zG7R*EVc`TF7;n25Wnf z6QK(=-6o15ih^V{+tTOOTo zzPvXguhB_$tH+SNe=L*__w(KFmuReA{9(yvFlu6}P|_n;bv*P;pT?%p^-ok6%%s7S z!k$xozBs~*OU$ezQ0{1f3+Zvqto5IvhoFHS65f1Ls|=U?_AYJ2gpAYS?NTGzM+6@$ zQuKu)q;JjyPAUjjh{r|=zwd=S4{d4(PDdoU60*L-B3FlW(gj=M0^X<)gwUq?W zhSxB^G{MYu282C$yzBduQXv{;INFmf7@>r9gvbYRW`8DDh`Y+woj{%UUU5BI;Ica) zAz9^MArZd~-QJajCMI;3jy8gS^~MnV(xk;LH9%(De4%H$Lsxy{^tm}FfX!MNh^6Ee1PyU2X7kssDPKm&P@xz<_bk3YaEWzoKk!kdx zt_Mh-E79fFng1qn%H8ce<_#1E_Mh+C%_9t95CU)>|Ky{eiBt`fhF3dnz8_GQA;-OC zB6K04q)U&uvHe^u8@;iA?RWvDf(G=;_d@fi?6){gzm2ceE!3D+s;hiz_fYrayJ{&{ zoV^}h#(#qhjq(WA_a2*aZ}DHR>k&moxjv8SP5drmx_;1qLSg0Kq%ChDF-nFPkDuUl zWg9NzcTw>K+*)d@dTORpxBf87zw0e4LLX0E1NjYJn(sj6zqy+ErfaqQdWC zdQkM<`9>0C)s-ZD>eq>cXp*Hd${lR)FCPlT=x#@hR7iqxyy005>+MH(azu^oU9fer zocW~^6mz;23<^!O{WO8Nzg5gGV?;e33r4{&bZV%cK^>BtV)9B>Q{{v&`9$ zWj>Z8(r)}n(KVy z`NQ||OLWeRR_7xSozjjunCw#gJ*=f@Yi@o_+(+#?Uutj8kBNd!a?9IZzEnkVfqQ69 z)z;i@9R{Xk?4Oq7Av8qPJ0CMy>Swb(v)@hK6hm2fJ%z`EAEKQxK%1d;?_q0MF~je9 zr%?6&vX!Iwjw#N(+OE_wQcRXYT8E$E!g8#TQY6=l((~AQUz0o$fBR#)(FpcpF4vk{ z#QN^HfFaJll{-IXc~h=5&Uh6B+NX-2Qd*z}-N@_X^BggOx2DP~5`u3XG=68yi$D4B ze|)`xUp19ef`tWrfnv1F|Ve1PEa=={_WzU&_Ia+zasqfTd=C1agQ2v2_?iwtnU(I#}UPU2G}f zj}zH2^`3jnwdLi+iK<-RKWH2tM42 zIQ+v6OP*Lq5kXk0^!LR|nT{B?Z1rwK`(PG+yMB~BYMolb!^vL+utYrli_-)y<3KX` zbE#hE4kg@+@z3!y6Wmklfk_lIQ`uL%iRSVO8P&ulMR7BAnxOxp3ne7~&k*dW==jZ( zreiYH>u2Q!+uy*!(VP#sywTUWZBSGPda8#C$-W;_uOo#Kr1W@vcT~17w|Qr@iFV^@NCQI zdgH{+<^3mV3X>>t~>MK0C8>)ny;4{Pr z|6=~t`?${2#KYThhS9slMMF{VRSJjLANGnQAi?X~4UjjmrrHqvt|ZIoV}i1N`vjUF z9?Mmv<5lm_8B@sKE?cOAV_k|M?rLOV>b8$!N&Z9^J6mp0=wC`tiQ|!t5s@vGopZH# zoiT%#kj*(Qj;DvIk%GkAerMOoYC(ahie!rN>+Kvxu80K;ZU%9wMupR2dA;b%DQB@6 zhU4R7*>*hNOBUHn5E~w(jgs?Tx zifT(c@MV=qg2dhO?Ph*C!Y+M+Q{2@}ojwtJ5dnJpbwp?={D$J(5d6|sv=cMa_M7$| zvyqOti=bX?Q~mpsCeH2*#7+H&d=jN7>Lqxw0d_ckuN>~i$ta7|FD`^~;vb5~`OEY% zl;LLgwN_&-yuU)1h!i!wS1E@7-oyjd{sayBoZW@1eI+Bhr zNiFBV8f%KnBSF)|;fb<5Y4yD3Ms<3ScvzdzTqV2N51a2-ezX3b-ioS>t)QE}h>Ug= z-)T+D{Q3L}!d-V+ncFf;@`mMP&v^r~zBE9;Hdp(?Nm22+O`$_5t)Jrscm1h{P5P^| zRa4kUCSW7XAgI*nH6!HtESgC6m3Ktw!(ee@jzWxtM~Ib);z6OW+Qn^w!$K;Hm-8mU z*N2cyR3f=0(iSZE%k|yKuO88VQ!_iTLW7<_M_8L>WtN>jf}0nHdR=E> zlBR4QvSflEqmoR91^6vF3}PpFkr2pb!K}JBr}Zy`vtT$6dL$l^T6^FOEsjyGE|>mN z>5eh7$ely`j@EZPcao!#w+orAzeQ~A7yZ{lt9dwyXs>=6mNKKMM>ltRI*F5jCj^;= z9Zsg)0cpRrRqe3(-jk>Oi05-uVCRj0#5CZ1dh2oQ;(#+#XjvYfZeY|d9iPwIUd|g; za4q2qDK_3LI+JwNk-OsA&bP0S`3jy`-Eq_TE<+G4$z)=rUr!BjPUp(@hsu)$V6Du| zqGK6DMgu|$z@Ppx4jV#@mK(30C4J8xrMf3P)+ApI3txLdyNwI7L_LK(FiAU|-%Cfp z$IpGp$n=z>=o1(L9LmL&DW^Y421V=`AjpGhF;$GvRD%OX9OI7H&Ran|N$K<6AKrof z4`^v)BHM;ABHfeDRy{+eKge#DoSRh<AyG^l3_|7$t2KkaS!N_qWdX)yxvl#$w&FB%Y zbd*|;b=)ubQt!qFd`Y zlYNWVd>ln>ci!W7a^rX!@fgb>8=>+ftlmkBAdwrSHw^?-eMEk8J_LO--p^tqtB3ku zwN~HK(MX~?#1NJ*X}t~%rY8BM1pdL+3HQ|P%mZ}!B=v3|yFIn9JQ%wIpXW{mBr?OM zh$5W;*|TP5bc!C&uJMzHP*H7oi+3Adu9gc11z0`Q_K3HL&w)-}+ZQ*Tc`ODZ3HfFR z@tdkl%rqJ{#*4=KO|}$_U)S*2nNW&kd^}SbGm&3X{bL6Xb^`a`tk8f{cvu#KfTUtE z|8-{c!T_b?nN_jW!opw+kYA?pzS=lyTEib058#BlbtR?G-NGF%2k45ho^OU|W&wj|=;BO`4_tnn<3q zG0dea78aPYS0}q1Fd+L0Et?+2wwFL!!^QjsP;K-4c`B_#7rZYJIAh># zggCffmuQv~TWJ=F#+_vRtX4EZGYc4~;aGl=dxw51ID>rPp10j4?N7swdyig(R=OO; z&jr~?3#F@*7Wvrhw;c_IJq!yEH=gX|6>RXd+zl~`@Ju~7H%%nRvU;g=pPBpNoEGOw z>x5kD5QOJ_R*iF!=C}uGyDQRvfP?VypzMSgg{Y57_;0aiabJ|9bdCB6I?$71J~rvH zZ9}+)zVv~Vbad!n2xY+z*Uw2C!a;cuS6c-dDx_9%0Wxt$9u~aC6%ldN5mIvpmx(HEbe-W?JsHk_$0$uS#)ZgfLPVg z^h18Qb8_lv?j}LR14220)(O>=h?VWn6O~$;wBKnxs0p4hplKp$BV<1&$TuZ-TVq?& z7lQ~U(m*lOTPokEt2i!>MdCrwPldldQ4mUK1!hM6(qJna~z1?&}kYkx4F(6<^Eo zpzzU=pHkJV#?XcD;UJ&TFIs9R%>}za57TOPMGC0B*p5PTo7>IKOoX=4Utz(caYsIK zibQK)*534kKy}iKgc$n-@}hTyj*I3zS_{{tpfdLI^@_fMgu-l<*8}+3NQ#1Kl(q1? zbVM8mE+=%B9mmJ5d{Vn(hDI_XdFL$Y9As4p+_3}+9nlD;9oj~LZlak_P4%ukSewYL z+TFso{Ks1>iDjQw=0kWQizr`|-mEX#4mTEPGUz6_rxb;h2r#xgTsS;GjD$+T$r5y4 zk96(jiM!lDpRZtK{Sh12&nT-Wp}D@VXn84N%aHh{`AXF{EFBOPu^(Z-Bc_C^VTPz% zzfHV;r~9n~Nai+J?k(1q1NVXZz4{5spG~aFz~8P=>O|wgV+mX1SDRvNJ?6wmyKK5d z6NrX&3LpHERE~E3nD+Ki(Y?}G+= z9u_z7PBn4^R`$rGua5`Ahcsl(==o@|JZJi&rS;L`R&e(jO21O0cQGfb@f?`>V2=}v zhKThJA7PA8f zLlGBTyQ{xG92OQ z82M5up2kI<1V7Dkugr=c&bqOd)2|SXZkvE>haOYtSMOoPPE`JYuYNtA9YYE2bVdG& zF*_COaLv#;-+=?AovmMAC0g&85>-PczcT5EaCvNe=3X&Bef7>SX6)olBV!tQ*Rn3V z5dJ&M%Ka^wB>^ICCNNpot9S{b?25c%koObY@?Ra%-YKKxMOu|8iWajnenGgVh>{V& zsS?HFu%KS_G9{1L9#_8WyRu!Yj*jF@Nd@0;2@QMYo)hZSyl*-wmNk<>#NErL8(e4d z7++gN3H$1F36I34+w|j%)yY?bH2&LrucO@HyNg{|5jWD)C~C8F9X{h7+}v_? zmQ*SJ8n>@;`iavI!5xlidnk)&eFF>{&ij+L%Et%O!|#VPaS93_JD>O@ zX!E`RGRcmV)7yvET6X!Q`7IuSL-QO$EAUos=spX#yands`l@{Je1cqv%nLl4C*e=Z zOovePhG9lKuYtApF>cLDJ&c35umwdI--Nz|TEn2F>8b&{%X74bde8K_6KU zk>M-#{@Xh8_q1BnSlfBP)s!n(yZmU9wglobTB^uWMQ@dSs~R$ojF**JM_&c&LsnWA z?kZv55Y#mn!8UD=bMd`_)(t%m)#65_w8zqlZ-m?yHZ>Hdv@6T{M>0RnS_k?#0X2Fs z6$}!=KJl|rcDeVKk?z$TC`W&kZ02~iHK!IKPgdGCRZrfq(XUr1_(4ec9!{e7x6Y1J zmoxNXz@B3h4>%0GWkRVxDkB0l4AU_2&|Fy4NTVlBS(Fn?bb$C>6!kAyPvz;tIO4PSLrG14mfU4uj(QaIsm(cP+dM<3&308Ycu+ z1Ivrmwg_}Ir9&Tf8Jyw8BBqP>erV}BB>fjiKq}Xkk@NI2se-;|UP16ajPtSf+idj* zmb#M_N88n=!H%`j=`1|n(OOI$`UixhZWm95tk$m#&l~|RSnmw1@HEK<4Z3C^z>Be# zf@XW9F|jRI#;##f>Y;3xX;Q(I;t{uH$_&i4&sbZY|$3&MX>SvxTP^NQO-HiR8sOhcS1YZRUkg^!)0 zVM*l?XvJftxrq`TCAt%BJZmKGlqN263-Ci$QV{lE-{@_*yTCE-q_^qR4dPKi&t1H$ z#wC53DuRJae>L`n9<{AYo1OnUjr|&#xrZ*FU_>GNF;<8*mWzq zg}W5`2Yj-ub_7D20(OfR{Q?rl6SyyX$%VjPNSEIPGpp;_pOfBrc@2FFD^|5sl1yh{k+xJSDy zx_XrPs?gV@`x3wF^1%X8lnW@!KocDUB0S@L_!=-`LG{!Z>zx^14&90(*SJF8<@z-! zmt)Jc#)RU%zP491WA;%xi&JFFU4nNSe9Y)9-d_>|;qvsE;C9B-!Lbm z3r)L@i1~7VvIg~`f(^6(6%Z@GiJJmxCn36GK@IftLo zR+%YJ)a}q46Ge+~7U$0*rYm(t0(yjmQ#1Uy*vhS>rNhq)<7ZP3-GrB(0}$gDuS(Q- zrj*?!a{8&$zQZ*;am8bcIjA$Q>r*F5u@p^lP6zq~cKox*h#N z_`qa|)laoeaI>A4K;NNOO=CshPN1m4s2ju6wB}?Hk;fAPcW%f#(bC6hlFU-R&_Hp+ zSsBO+Giw4IO0-jG-1CjH$E>Gw5$^`m<=$iC-P#!kPJ*p8sOdveK7zDE$YCw$hr~g| zUvuYMf-tk=l|lhOsANM~A)dOVR$}k`@E?er{LZiJZ1pXh%;swOAY-jUxuIO+RlD=z zSx90k34)v**GCMLqW!4HP7Uq3?fFyZwYtt%IHz${+is1ucOAJD7|1Zgf;_)^XSWX2 zx$jOr2_Fo0zkOLJFI{?lv0D-^a*Kcvl>iSHQA@0(XyD~`OQg1gmlH|FP8CBCZKQv0 z9fn2Xf?;Rs-&Es{YEl-zbjn*A22fMP@GRN%>&*p*o#3t`3!8u@E@hw)%*~Dt{RTr{ zwA>F$pYtAnPga9g>&c;bLuEt!D$@bAraD`$DoZ3DSji5P#w6`l8yThIux75QBRG%W z-*6gEb=KuNI%&>}+v8lQfmaE4X@(n0Gtwr6zK{43E9%L@Pfb37^jHc zn+95R2C5qbw0GvE15GcxfiFdD(~Z$RVJZk?k3m9Z* zw7|RGf}J8<8fTEhs%b z6e8}-g}|yDh=glY>Y(fzBa?d{{}UShsY}bvcl8)y?~BuYb&&l5I8o}N7OStIwR;tj z)M^tO;C8(EHg5RxAQWOJ38Eg~@Ncti-Vt=%oVh8S?R#8RyV33~`?FB@@Ja$o8F3wT z=D<_a`pDCH`qJYa4hgaOy9}nN1OUDih<=*PPc_5=eoxU7l>hm@w7*T>;{K%!m11Ow zRqBRT1Np__xK?{I%L_fjmQdcrbE4-u) zz>}tl#hdtHm5h8;0Pp$MdlLuJi9tS7J_)aK`c|B#`><9w6{;^TiF7EmAs4LLk2`+o zPm^)_;L$p>s~Q!3!W#YSq0o{lDq5lmszUB;Fr~PbUb)tm4=Ca4Ea{Fa&7}8amgP(1 z#)I75MJ~M^W4@gAqBp0U5r>^~@M*iaVsH4aB(=0)`Y25b20m`bZ#PnVHXE1Q6vh$_ zrwcR_)qHB?-Vrn&agyaL)vUXUS*-GnOnX$KFC-W8_>!`r)MF~TK$?a*jX`6e+NW_C zVaF|hu{kkvaTznsWY9y2^uwa|BPGkN)FJ=oMH_W1;>}454>M^2)AQ+co+83|C~}_E zm94sYyss78?t3=!MNZf!-c&km&`dI1y}j1+W1JJT03f~`TPCg?v*Jxi1>vZ6Y0rs7 z{v^@6;m!=TX;f!YEAi?Uo)KHZYET~;_3OjBC{Z3)Z=C0Xnvw_@4VpAETVI`g8ats_ zDhAIRr8Mzn5R8tJNUZaPEWTkku1;~AXUR*fQyCg50@6jsbvq9J{Tje~Q4_^v>B z21Rj$5OMg88o)%E4SXpZU8eArTb(KPh-WSpI9co0{RobzJ?k}Bi<~XjuD!9hKa017 zUu%ZYPiqWrcw+29Dr9JRQf?#oXjo+XDQZguk{GfQ?Z9Ro(jFFZq%+Jo?d8{<^xn&BYz?yc$RHD9SYBNMt{NB=V>NWC zAd6C(2>#d9b}`1t6L#u76NqoZ6uHpum-TRD-{(#K zPf*A~DrTv073b!SA)^1MxWxaA#b7;}*D!MI!4Ttre~$k3q5S7*jt3Zx4rX8fe~{$= z;9>p;Boaw(xZ4U5n)|_Yy{Qf#O{%hxVfDWKtZsA%{$o}`{p(W(^9qY2P zcmH}RfBi5?9=ON>x(VU9zb-ld$9?#pzi7Zo3Idp?=l{LQ>vcMCk;(Gk+=>5t_r!_z zHB2NK$#(4D?7n~f{4G0hk+kV=4>|w(=l?4!bxjtS&;_{vmj|3ne8>Esi{|`%yo8*Q zT3Um4IGKLRb-gKe!?u7(m0=i^Y;j-A^L{0I1c1)ClggrLb*eIwjD7Hl?(R~%glfF; zIShgU*06izx_3SMl$E(D0ic~6Zl1fJhZjG(s9;jy1&*XaU3rA)a<&G0@bk9qdrdZ` zlpoKxS?c^GKuA~&DmMq}66TIg+#`~1&rVB|pbE2!!LSk$DVKo>e&IbWnso}%G&tdpvqKhxw*?IB`b~ObzeCC? z#6R>?i3FP$>TI7Ee#GC@bv?L?1t@Z{jKmHscmDG&PG?hHsbp~1{A|ZA02{Ep*#Y{8 zx$G_DCJ+Dftt~XM{TQMvi?MHRfBKL?DPTI;23KAAeDZ5U1}%{4AyEGz4(F+3{Wc@a zl$i3QKHcuy3=}RO>=>>d!+|!cu|JbR z8KeIINIG-8Ns#T!bkq2>EXx%m6h~S$tNl?|S=9d?mcLS|a%>!1v|Zx;M^# z`ZTt*dndTq!eg^|0#{$#O2-?aS!uAop;4~)T)0b#yxwAhmjLhxBGYJ3_SV5ZkI8sw z8V+WHwGJAq+U76oxAo$=f7*4MJN+M(+O1eu9=%LLb!Gq!>*GHy_<`e>p>aw#eo9G9 zxc$(|q6^lwXlzM$)2S-OP;Gn5o&1@9yihN%myg@S#L9RQ0-IBOy7`+4fP_+H()ejb z&TNNV#QnP`i7WJ5E=4!^CX5e6bGFmJ3Y3V>W(~zGMlUm0d>OBo$BU=(f;02t0!lc5 z@E~M^Z(N+W#`;MoU`S+GA-CRSc#P4bi`@J61iTNbBR-VAGv;E`c$4ooxB*mS_?w%&W{QCLhD5;X zH;5t}F~Nw55a@Q*G9@why${q;LI7m$y`6CehS)7wZ{f3%pFz{}CV)y9XpKx2z*-PF-RuigTP zl;RxDk)DCQnfEUn|6Bm|taP?xoA=+kiR-N6$F_#k`S7@BpC;C6=iXgxjq3i^!huJ1 zkOcbX6_h}K9ca78#C++Eh5Xdv5@iiagB|P*MxJD(29NUW%DE z&cR1)ydlVUdf9hwS5`ukvyiaoFnG5l8qz>Y^Q_fKAPD%EV~+=XPYOk@Nmk( zlSdC)PA#Rs+>`T{gZO@G*M6x5>tP-i$z@@3qCn$f#Qk?zamnNEa~Anab$O-=Vj9uH zJAcf}Yue8_+#~$@+{Vj4o2Gb>X}*Mu{v$S>{Z90qE-kt#BA9J@iS;vMix%eSoL6{f zDB22U7wQ&=VbN!^LYFa|E`z1(*VY@5%}I@=d=OW&nLN;ptpR#ag0+Ig7hW5WXS<2; zd`}CcW_ac6WiqAmsjPkWdw{1UL>_nv{@|)gzx|c&%QcQs{GAVEa`CYl0(*1xXnt7wnc36!{~+zHqS_9- z_RY4qySr1|T?$1@ad-FN?ga|LwZ)}46nBT>4#i!97Y!DiOx{`llbP@R=44K?vQ}13 zvhsWO-uJ%m>$!TJ3eF{rgnM&H!>{W=feWf#?=W13aTQ>s)*ReTQuJWhf=I|fyQ33_l?h`@= zLXhM_Tv~eVwt(du%X~E2VrP@nQl*k%>pgR$JK{3$|EwNbyY$gKjd*N&10Ne9 z~S6@R8;jX8n#>NAXC9CBXwpQ;8#M0H{K+!_rL1vxSOl~_7)w*t`pkS4XLJ%evdKr5E2QEG9@zt=7ht1NM?HbcjHjyv3 zQU5%Me`Zm|DQl@h9YG1j#xf0}lG6^)dJV&4U^-MuW9*R|`(0Z>c0jY?IqP>zOsQfU z*8x~$IzTc;!6pfTdzw;0jJ?c70$}xC8@4aB(thQw{a2f!f`kWQ`trOqazPth6h;vmw_?C zV%QH-2_f2rJfI9TI+$R&)eGmKLC*Yf&x%d&idhEO672Qo@mOjC-1Qs zrg%<*#99tHO`#j%17RIWkM}^+&X1`XFPGhow%-2MgLv&f4h2P4mU#*B>;}%G#G=R3 zrnArr8;>+d3Pg` z5jW{BJFCF2@$zJ?i;?F6M;wN|0U?u|dBmVH-4=+T^R{KwQKQFLQG7`S43`HF80@-^WoY$Ci3D-B2}h!OqnkSoC3}EdYizG4ixLU?#kZZcLjt?zot6ImGz4jBppN zzoPmgG`b#}J`sCEP&WF|@MbD1y!15w%XoG|ZXpyg03lya@=zNMR(7#xqiN19U;ExzW|Lr9k zyWX18g>cyY1pYUg-uy0FO#5WxXI(xYVmamA(#DeaaC^*Q_z(0Hj&tWe7Qe@Fg0MTl zYCF|z|*z#I;72VfdoFBh%Y3iFjqVRmxyk(Ml zhTq|==^L+^?B&<2A(hEdKTjDbj6PqG&@VJ~{sLR`g}gnuUUrvXN#M<)*by;q_u zIVh!~gVh(_>`L=ILBQP)M%UsJOZ_kwGNHE1AAWsIv(^gO6-NOx(|?!$JG_@bj%6^+ z{LS;-r35qSta`J929^?ZtoTPJn(mDR_$i|{34cT>L+}=4N@daTx|KL zvu~~Qq^)vUOSSfQIt>o5m~Zia;Bx&It2F8ZNq8yv>TN^NPcXK|VX-}hoA?sg;t`e} zlAG@Lz>7BjD_4bp9eKSJirA{TZZm&aP3?{HWM=z`(DCP4ak2##)e5^A8iI6;J8|7d z>;Ii|fV_hIq6betf7p28`5zm_j5y!IA&MEyk8_w}O_od6?Du5U@%fD{h;BN!W~o*? zo@zwIo0c0gdIh6`tr*>oFpx`nTm;6CqP|Z*sDHVC)ZLoQt$C9C5?c3Ri*@1V@a8%~ ztgnYjvnl(G~G=p4CBa_?xH1b7`I#KH|kZ|+zs%CbW({r(VSomqGBZ;=R-wpH&<4` zN};i6aZyoB!H5G zv<1Ge4QjgogiaIh3&~`FV?-X*ELSTf8}BVyTHPsFf#*rgwQ3Ny4cHMuJMzVZix!A& zo54C8qBLR_n>^8G9_dUjL5y#cJiKdOwASKniT`@RV_TmafCZ8s)`=Ck${7s0It%|C zSNV+>cVB;HR`4=TdV83;LA%}ww`v69xvtB%gzf5T-+J~U@C{i42p|Y|#%%`j!0>+$ zgrymjazbR=fyYn zgB%vjG(jA1MqJQVIc6ZXja`?<+v7scx8M6 zUoOXJX6TQwf496xFOn+R+i$9i1?cOZ=i$x z|Ju<8C&35ff52pehk4{j9!AzKz75k$ZjU^Y20sBD)OCt&xNn<1HtMp{v}ae$Hay{c z?RGdrf=x@E(@670Lqe0@(^UN#cuRLbWGiK>OkP|yx5cDHORHMFhMsRCbrBq7KDd4I zzcfy=k;g_*SHn@SH|wh@pSA1A0yHpqDL0&6NRC}(@lWwb^Fz!8b+oj!WIowz6o-4Z z&6PYrH${ced2J6TyN~aNpZ7c@ZKg#pn=UhXZQb*1^X^4;^Fv%yjT8SM29+=UX^h-{ z9gjeQ9H$tu*n$4ZS;W`3gYeSKpDz@wR&K{+uv^d_>O$rq_qV;5oJQjpl&eSI_EmV9 z(J%LM8ZgJ&SJ|z!$QwcgcWJFy26vl_nbjwA_Q~Y3m~}rO^*s<&E_>On^JI17oXKUB z^eM$qCDF+G9x4%`C${j$8pYhGQ1Mt^NK=xPV9V=qQ9tYP9JV-YefO}0ybQ&iQBF{y zrtfZK2ssgQineU#dN!Dixf`Su@JqZs`>dw}e@5&1T&{g29tZ9?x3$Efd{CM^_y@Mi z|CKyrf`R_E{sIIA}zjr~WVYXR%x3_fqY4UFL+@^2PJ;wD{8BlF#;E9q+PI zRu111OgLBq_FwDZI+z9^vwQIp{FLMrFczBUxxzJ){nvUl>1%M=WR5Ot){FFOT;i9R z^OfERrF7_hHP&AR_$#vXe2Q$cuKnr|P;+!3Sh32_`3#=r9{&uo%1=4_{Ef&Y;Q4LD zr0Xz64qff%1~wc!H!_iK%N`O$dHU7JK;p@cY@ICUUh&)g2`#%Qukt5O zlKj}qE9LA~z_UOl8W+alKUS~9!0gcHPO5_}MS-I_ zsn=k)i6ARG^{$f~&4hRpzLd)Izcq`AHQj8hc>t82=ah3PG|@WWe=(o$F9~g2zKa8~ zNIva;D07^JPjF3kSAMyu0fwV~B2jWvm2NMM!vt03TDR^QjrXTrt5g{^Cdj4~oq*+% z((bo%B65Uhp@veV%5^Be1tU<%>D72n###5aX+nPjW^0Z8b+{0x2#zq0)~2!9C3_!L zB&Ox>SgZBty6hbat^9np-cXr;ef#h~Uci1RTCwm6u+Tj=tF?@WbTq*?#)gOE#@g;) zGZeRvv_`q2O%xLQ<#tZq!%}6#?<~#H$pU3OUnSob^G6pST0^=-0QOiM4e}lKXUKcvVr4q}|+ISJ(Gi((w^Oh6VTRbUTAMfDp ze(TPSs;C6%``3%!SLba^Cr*h|nY@+k>#b)kgtmXCwHQlk*P!89)kKDJ)$e(P!Du#Z z@82Nkpa{cQRX+CT&8NZAQm)dp-3QGDcg~9bH@}f-KM~j zczs%*he(8mtBpjNkBHqaOh`hvMOB3k!CTKhF6$kB*ihF312zYUy;a&6#h5ZQ)Eh9zhYkMjb&|pcR~})7MJjg<>|PIP&Y$Bl2W~lceIB@eICt&t&J8<1@7&EGc zOZj@Ev>{ZzA3j$P$wWf<@Ge3r?S{ts9nml{b=68`z>!s}9vW4l*H8=`cLNpzy#*Sh zDP*G-&uuDzlI*6@bXy9(X*oEzVyK@X4DGTsKAVWc@aioPH_lt5U_XpElAZ`^WH1V6 z))`Mmpn!k|VIp_>e$SV=saN*{dD%6Mp_0>EMyx{BT{TIbIQu7*;r%}{=)bIA&<$Ct z{R&-t&%;RIICfm!FftKmk3cf-_w__xRni|J^HR+zpV*)p2m$V^G}-hbl~x0h#}iHe zv>lZ$C|?0w>GX|q7-W2~qP;h)yrG}#dJ96(e45kwxg=q`WznN;X?kFvJK%lcHPZ8V zfj5)57v{HRKawA~@vdj1CtxZfqz5`?YeFgMwIt>)G|H*?EMThJkhf9l>ST|%(7e|B z++*)ykEOwkYNIE>PWBLa*%>!ej-`tm^8xS#Qibj9gTz%l9vE^iR*e^y~SMU^@m{ z&B{@}#QuKZzmK!$BGv!pT!5Vw+FyPd(7S>~g^rORU#n4)uhOtFdtdu{x#I+7=?q!{ za@Y~a57qZ#J%EF(I!0&$h3JD{`u3FNDacPASEyf(vhjI{{aynr-*i7w_*!jAaWJ_H zl~Nm>ZsdHe$t(&Ot!eAD()0M|!r0+lla){lZCNhm+adus@591cq|qknTS82OzfcrdmK zT$PFh%pT3KGa=O2)Ju!RJ#TR^MxlAx(SNZE@bq8I@)|?#YoQQDo|f&r6E2q*dXR0( zwJ!`Wff{$@P+Qyr&-7YZo>NRgtF8BkY&*o3qGJU(73T{Qly5Z`wgzWk_>^glz2y}7cxsj62i}=0;BUE^DbLeDE5k2lCP*CY)UnssXTX|3U+uOAKjHD%U;$#DU z{?sz#*Pxv%?k=Lw2@+yX;#R>j_xs@ljtV=}*u+j>4Fv#Yej9T=vFHRiXNrq2E=QP7ZR7FzV&R@8 zm`+NZ6vEIc((-s$?9j!_OG`3dN;tx;H9&vg3WuJJ6-$an$ zHuqBp>kLB$?W(XHP1=lbmxC8dh<#9)H*KyTuF$dA@#t1}htK0!?VExeQU1l5MUmoo7Z0BrEk{2E(7brb&2gV@Y7gfpUl>~gvrZ!{{4Gk|QpHA|Nn6AGk zO4~woeNJw*N+Z2MlAC4Jh@Z4tE$2@EGZW zKp1SXVj%^HV-4Dlqut1t(D3#hLkU*Ox?c z#552RO(H3HqqTjfn@hBLES@N)3XbEMn0?39_q&oqtb0aEe1N@Sv^%l;58=meREVOh zl~k|SiGzu%LZzm8K>6&S+B*socbzupKqmviL}%6xAiu-X4)9;Kp`Y|^Ze918-$fS2 z$zm+KY#a@HsO5E>Fq_J!gsa0M0{MO~ohy{!2Bvbz99b$#=y#X*&tDG*bBpr(LR;zl zkyX3F{@^%9x8o*t`mi@Ed+ZE9>z7UsA~uveU%NaOWFYxpc2WZ5C(W}^_ypZ8|N9h` z&d+F80oW^|Pf?%4B#!d@H2*M_2!L zJi`3p!8AF;yS?uXe?%t#1nc>(`>g6xvYH*XyrG))B{4l+J8^iUE5BNVv3hy5-or(J zL4^^=hq@e;I3|KIHMYk3)yS0JIM#UAK>L=7`;-piM^v9kDVevU$N*e ziY#%zqz;H3rX}C{Pa6+8cCCk_RO;`v`X_3Gp}k?% zMxKY!OqeISp0NrVe5t5IKtS-UijvWuXly~m(vPZr(#{R(ywDhz;IHqd)#iKB&L($eJKOe}A;Xmj zGCF7rMG^guH;`J@`yv@t+uKFW< zo~m$<5TYFRFkvcKg^RK>^1QkK~$x`_cj8vx)aF{ zzQQr=S|kTg!zcW337o^&&f&{d2YUmyag=v<4ngwECMLcI5eAJwwLYM~8TwD@5BFK0(R>Fm7XgwjWnrqR3y)0!*FN z1T;Q*Mj(`-eAVFI{dVy@o!9#iq04j;^kD?zwEkG#yVDXjoal4GQIs;v4rL2&hOU*^ zZrvUMg<^%Uw_=~}PJ`+K`TG!Au(A7MB&5e3Py`WKZRw-V;4wRJ_-R7-s(rT6@PvGS zrO^ZwhQEF9`~t`>$HKbT6c6i0UE9tP%LO6!D7=T_Iw`RY9E_q&hV=cDnz4F?x`vGN_lcks$QIeH#?I%*#XukTUeSGJ;49_R69!*K zO=;j2{+`Y?0&(0Axexrklqj}L>wXL-oDm>;JR;wKPou*VcFy-`0OKH6m5c2nK7Jsc z=nQF?MB~J;D0N4>=i>=A9xb#%yO`;{bd97@#LhvxISVViYD}u&%>kOqfaHsA<8Vz` z_W&WS;XB;7GM$$?%S1DwpLeH%-J%{Byqxj1+Kq?hjrXG`$mys|LKwu1I}qTToL7F` zA1oJ)`mfXHb%xp*zk<=_2lLKaZQH~xw>g9?nYX3Br#{Ys65mTDko`Rx?31V0Y{(0+ z{t(jlo2z}NiAD@Hzy8pbFxjg{8l=RS#y0W%S2%P`kZI}{Ev7!QRhjxmm^4w}?>5w+ z`>a^!?t8a6#;pvY+y-(W)f{ifPZrTBP%Z06o-Da;f3L7Y(SQ(qqX^^|BJxvUrKjiX zV`_cdFPv^0=JMz>edMjm14=nm{J6CoQKo>zKEsJux$WKR1}9;)$k@R%u;{Vyyq zXf+ufB1n)?x$}PZs9pEvq=YU7Zb?QrFCR6-oL_DHjkGyjL0r?CZ={u&+?0=WuN&GS##vrbUM@!?d-5`{6 z-SZARlatWg(DJz8w!oD2Z&>aX^l0BM{X3fTsMPjc;);`PqnhXIys?QT3A6x|PC4G}_req;juQ|*m@hH5XeDq1I?Y}e%>dU_jiLpFNyyqSLNE3U1;-PXu zPGVK9RMt{|TV>6_}EGS+274q=V3pC{8LF{R*Ys`(ihyGdMWGlS}y%>L(3nc zuV%WV5HxSC`T>;S_eVY}dI7WP@IL?M>2S+235Dwb%BV$*cue2<-_VDp^aM6V38$nB8I?1$V3-1w!1!13nyJ;jANm3Od*i`b(Ca;0H z?@1pe*AET(2~l-R)z_A>#K_|3O8E45LPUt@L&P$pN{&c&79k%`64JmG?1mw}sj%-U zWIaI)L+DXj-Qw1SSQ?ro;cY^F#b)ACaUY-Q2+?E^(9%wO_b*^A-hw+jt|uc0vCKaM zKF5~(f6{@d=gQK)x4#CXV)<9^j7}BYMu5>0FS zF+uPL2QClOKjG>8Jo99jDNT-~r$i~ekr{pIqHJw@De7e6PG5o7sdFlZ?$y*Fm*wu?*QB z6*e@k4zuA~#qdP*=_5TVL@m_be($r5cFQBo-#6dG@8ENZg4GOqL)}bF{JYKDgyEt5Vp*JH)1OJ*(cv9aU9f``ON?uoW8M*omT8Eg^QyBwvQ>TKf4W*eM0{S7Q~m(v1ApMSdP3_dZL))*M_K;n&mHYwyO zctKYRRF^Xxf^l?*1ps* zZ1x(?&NC*U>-c?)%*eV_6}vSm+iCsP!(~9-b|Wa6`uerjwEscKiv7Ey*O}Po$-#yg z-WH8|{nWAlq!1v@jfelq8d*JN9h15$$S4(xuvw*2MxOPpI9qw+0{aF_#{k zb}8cBB}Mn@dYzl5npx>FqXk7dQ0ozeyc_ETX8~>^gmTz>J^g>kqW`y4ij4}BMlplg z55DxIZEQe$=m&lnKZOVp=}DXS<=*j#B3b^JVKs5cq5JCX+x zR4!F>Ji1P;rHI8MF^J4H5T;mG$}bDQ<&u17?I)zH+UE=;`HDTalW4!oXZ~TN60a02 zV_#(p=0VhC5!KI#-@B{z2-|9UN?R`D&n6RvG zUHLL+;_a{<$*k_lfy20qF&LL>K5Ex$mSuiuiFL{Nj4eY?N<=?0czA6k_LJ;^PD4Qk zav|CF)Gyh1#7UbOKKfd0-#E6VFhNf1^Ph2Kq?e4|H7;K)mz~mM zpQipCSDLXsv^RD}#BH)oQLHv(+mh3ByLB)4IZZ--qVZXbV{+^>u|$g*I7MEi74R|W zuv2|t4$E@rt=h0R^t~D?hmzWNik;*oJ2S?!)rQB58H)T3&sUJ`H9+08NMua@}kJ7Cs4kuAb*?{FaFTiS|bF+r;U`` z#W*OoP(Ypr6$-()rP)_ZP@=D}``Z3c?v_BH@+OZ1?HoQaaZUHTMQ7(VILuv1J&hiIwLI!wr{ zXe=3p*SffWc}Th@Y66>TF!%q%89>BX)p`n|cnfg64zNr8jAwMw?=5GKQii6&_2omm z41z5KnV(@e7QY_>y=#?T^I@+`5cO)c9UAu?tlmm&iugDfT1sO$U=4CG?x)n~88@V_ zB04TtbL#HW?b1qt9Ka!0VMdxbD}J{yy+ASZ;haT(xIZcW$e= zfZm7B7R^2ZdQ*lpYDkNc;*zSVO037l&2Y3(P zbwTNr#E}Wk^3!&BSmhUh&TP6LOP}kq+lBpzM|!h^GRk&Dmm7lPB>tw3pQzfWSXl+{ zXpT{*mA7ZFQrC%V?NgY1O)_1Wpu#f{-Hs)3=RWonkM1cuR5Txnxu16w%4EWpWk^yZ zAlzrn8WPatQrk!2#C4|dH~0XdtVN=bFJ0te1jwh~e36>@R{KAfApd#V1CtSUdlN%w z5`SK0L_hO%NDU8!Az8tjz9iP@On%5jm17V(3Ys`7+fO4b_GX8) zG(P0FD`wZ_gmVeM<`F33xm4i*CGWTiyk#@|xtL)H)RGgMu^q7gu?gIgK4P8?#)Uw$i^j9Z z2TZDsj2rCdZSo=*;*85wD6ZY3_;DR}tu9x3l-r{B;gbdA8eG(B`4~!^H`iW@kTJ{^ z5OeM43-ya4F-Qfgw(D@9PJe5(bzrorAxhtChP+M+ch7A)|I3g)7s5^VnLX(3T`aGP zeI(OIT_d2L*J}fJF>0wI16Fkx`~EE#m$LiEli_(}$JAkr(HXn--?9y=RS|y;_&Nx) zvtLtk1R~Xc#XR4cN^n-gimH#;1K)dLi+%f`-@c;xbcl{^pb%%<4Gi3e{=O88&Z&Qa zSD8#HD)N}}av$UY6|gzf*Dp$p0iaUfTg~suQ1S7Ca-*rDmdjO0ge4%Mki$U_=pX0=7hZy9Sy<+vGywiW%SM6Y&5L zDg5jJI3_%Qu%S-t9Sl2T?OHp(o~CpBVukfMG{-PO0Ww>Z+ZjKEg*&zjq>_t&-8i}^ z7Z~8)p`=V4x`2Xu@1U=ifAeb-O*h>`rmdBhT-qFO8~sG`gZuyJ4Wr|D_SkWV-sAJY zA(y1)doG*ice~GkGOw%rE}zvdcERBR&5rBW8NonT>)4v4?+W9{>b4fpiz~d3Yt=h^ z*1Ew#>!uaPd;l;GLaYseQH*D6%)yNt@Y4tRI+dQtau_`MbxiJp8^+T$K~1NvP3UX} zTQhuxH}xoP9Bdg{7H5B6U~{Bj@mPk%SuT&S7z}$1wQ=^tzRSz zQoJ6|aKn>QD1E^^3;6p!dA(XEI`GQu06k82vs16%4bX|Vl{;pPO)_I-Z`l}F@!y*N zZy!Q@J}lCPh67hd0T}`w!G2WYoUal7))@Uw^;{@4@RXHKRDO}Q$7EE4S^|JIjV9Y^ z%vSMR!3M#e*Mpn>DtzfXn2sCu6GpAi1u0(G9h|Rh#HBAx?r;`;o;4%8`kj4A ztbFcyVhkLhML+h~`OSaIoDI$IeVtgA%Ux{$tOJ`tPfhFe#XG&ij?XI^k=?kLP?B}O zgxHePsSfjspbT`+$N$B-iY^?;y**othEMn{)wU9~j{D-aZWBoT&I-SY9&J0cN zb{8=p6IZ7=@2hN4IlS!lx8ELPD?682O4ASL6j;y`=tVCiCYgR7-za97>udHB&6*0K z0iP>n?$4ZHmkU}-*2I?D?Iz(T9^uWSUwKIyr{zr?(o=>Tt?%DYz|os^hM5IZbT=_<^8) zI^ZTnunDF{(7URoFy z@HN0;V?GC`)^v()AFQxcWE7cxbK@)poeT-~m-CWH#`zC;m6}~BoUM@faOlu7JO{?I zn}Dr5m)Ox5^CJ{(*oJgbw3#hpc_}fXITx0NTS8oH)a7l5&jy&sW!H50+?ZOlAW9q) z`~7myKLDdopCZH+quO_0K%j}^!CfpJY|9bu!&Z@Fhn?c&;04^!zQ7)44`hFx*#-5tR^p8{3~ zs`m+Ho(D_UTb*R>Jo-|szhj{|4Iif6Gnn_6Oz7YeAU6tL*M^dkon3axQemIPN&L(X z!63L$EVg>ec|;&mO?#u{0lU)bN!j)byyU5Te>jPqj-t4>XZm47mNam6gp~hu)trvh z+d{M6*7+A(;ddL4j^Aj=(-Nh&ngwi z`+?3z&9yDm^#ES@A^V8_M<&37BS(bQHa_<|N&g;x`(Rs>t}V!B^em3^>fpSJT&OzVf-dLALO=!OGPSf8%U#JP=8?Z5Su zTEVF&ku(y4k@<_-Z=wQ+1d=^IMk+tPZYEyq_w2+Kpf}>O4N>B-KFtTIzMU<%=KIa< zSR&m{GaFv-q;hhnpwTf7N)QSA{4#6Z-jL`p3y`yX7GMukw?E`GXmNfW-oce8g%7EJ z$Hhw1|Km!S;`NsG+(58a4^}RKf!<+trhOEQ5(ag-!y(YA%`yG&#?kw3DOMp-$T2tR zMmdC$zB_b~e~hkmYbgyg)MFe7f~0&LhV5Asj0B=QPw@D4svDD-)ed#2GkJ#qyKMN&p&yv7aG7N+i-|hf0+O+lnG$<$zz%yZphNRa0A{8 zB7SF|j|@^Y^f+jR-c_VWr=%As$!ZGL(vgxaoXE?6C-xRGi(v%h^ywI*`x03O_ zo7P*8RL%|t#~SjAXqge-#iKflWLXiCfnzCxccQtqTBx7i?$m7~bg@u7lJF;v1+c{L zt}B?%)W5PGC0w!pF`b?k?qp}_?00R|FWRo55xb7-l=^V+nwSV$<9`_4O3w{&e{(BZ zsZ8Q?AU<Qg!6q#mw$A6<1#cgiIle>!Xe~bx+q7`x$&F?pWiJVYM6>9<8HP$2E`UIk*jqQi|A(=*L zg!CUJKZ82LJe;)tpX)&KFhrtv?--pGWu&zJ&!#Z68>gHQh1|+TZ8|IeA;jmtXxZ40 zvVNGEM3RHkw4G5vA@DCKgAOwY)Z7|fbu%i&ib5LQDS3TX`C<{g@kc^R2~5YCI3la7 zgr3I_oH4o{blMINxMpKBzq9*?Mj5vU>OT&9EE5E5^fUI?(S~-2O*FJ3-Jb|JEp^$N z`knp|N5V0))l>8>_FK}afh9mV#!Qd1$G2b;dJn}KID=7jRpUyuT~y zz#)J}84SJf6I=B=8W9~ZU$!9d&lnO!Ha~Q%B`101gIyO#YuoOIoX@;Y|hF#9!h%dt5)8BP9G{ zaH^=2#4~NTf+z7pH*!BR%|}^lAM4$@rCH5P2;^R@)C4AL>WMvWxtW(8Q$)+Wn1&y> zuy85Uki0#pe0+4>%T6s#)*mXZpz-nS{mi2=&XS}onM$rH_#eCe z|E%hMm47-vU-t&os0(pudxEaLAIMw1&eVelgX>a`PJ;dCo#NQGnmv$G;L6i_tsciK zcn>Mu&03XaD2G7+Rx+CGBoFLL$Iai5b(YVPf{^O`*QbP{C(4cA*1U5(CfQ&Pg1Z?p zdo|dfD%=?!{GjjA|0DBxqj#oSYCHINYN&%aBw_=3r%x5@yWHO^03@RJpNvHl2 z{&c5XV=!Tv9`{*FkKt_CSxq++Iwwu>hMj49m%(UR)MPtFigbH?4KrQ}ZbO!(;4mxo zi-uFID@{nCD)vAMYYGYds#}^-nT@Ni`GhiLcvTIRJb|)+WlXU=h3H3^{-=`54?QiK zK6_KNPCkBahM5ZzC7w^19N9;pxSqn+qu5>Shf5L^mV%IMn4Gkm+&oX3^Tlz&d^k?3S5oLI?4~GPFj+dIT%-oVuH%k6f2F;|r zJwr?+(xBa(cqx4%<`ep@!8${(KC-EHTuS%OmTH3*yYbFpGeTq0R;=}KO;!goHi;c@ zxI*tv+eE^`~RqFwq=?!Qn}8=c8jH0m#eZx zJhl=;?nd6jjG-0AjutEMC0l{Eh@IT~$31i^l=$8@Q+A#WCvkcQRkxG)CEa>qN|iyELM%!V{7URfSmnd0xJgy6StKLQN0z=H{@{*Z%Ki|b-A~AJMZHgWlJ_tA_Q1D~&pwyZg9$!B+h!(}%x3G;B{=^x z(Ke_#NMaBYpFZova1_aI#FudhE~=zWd)&%-G|w-@1KlN!D{gk2jnn*+#zIRO!#DPr z)wcHZwVd-jG;zBC=WY6gaLPRU*lj}PS6~;g{n@|18XO=jwq-`U#;YJ5zZo$21mq-1MDdOUQrofs ztakTuMITwv4cgk*S}jGlN?ln^J9ZW*M7GoARfe)R;Z@# zSlv@ch@u9V)->U=BAh|JeU*4GE+xG`HgXrT8{yX5eS>on@nfrXzimXq>v(qL_Ht@U z&$Dy(&O>Qnf_?o9XM1OlGUSDeNAOW!rBh9Qnf&XFX;<8WhDu^b^C|t2oS_1onQh8C z>N6ie4=Nb~UNqo$xKbt+C{=b9G8(j44%C2u*hM2!%mWr^3>$tHuQMN^Xa@|Da)h&I z^B*Kc5k#W#Pz2_>jSxGDofb>w+!z%W#e?#=xXS_X`DV^4TgF5)qhqi=ZhULm=JN{L z29o#1-!!pkHy2gE-N)r#uSEst{6a%3kv3$Q^X0Ezz%2ub{f6)eCNNP0eD{NoEeOx& z>@6fDl%8=GPSOpGGpjsU+MaOU@#E*F7jPN8v*G*p6XnN_i1(-bV?C~V{jgMT>tCeSw))AA}|J zia)QXiQOtvOaAsePnX-`eMQ;t>6!9bcTJzf^ca1NFCb>muJxkmNXOS^w0+Aj4Y)W+o z;RtfJRu7Xm_Wj@scEf@S<6q7w;}33JnG$s&;%)Lxs>6IoxE?oZV7YmI|55on;ixh* z5?Xo#QSp_`ebfN&^Mw}e8-9k2a0JEQMWENJOPPn0v8-&sL6sZQMA89sh2JpRI? z&1_93wlqFd_PeP5D(%M7wRXu2Nvp$Fv6183{ws^?G}8NwhLL2+_N^AX>+V{kA1$d; zqK|xi@I(xZ{fQxMTG;apY}wuUAh!s#ivt-jM4gbfWfMk#R(fDsB3@sDQ(a&Pr7KeH ztJDE7^i4dt;h#;o+pD^r7;;kpWIqD>Xw~g)CRibbQUR@PxiBx$F~ir1tfQjGz#0dZi**t|FfDg6p5c?f3O?zzzEzNKkMz=@;Fc~8|<&Qp}R ze7?|eR2{aKCmzVt)6m?~-9l+|u8spp6|{%^a@2*3$ckPId|p_46(7QqOsJjWid!fHC*?BAG7x$l1ylLxyvrpfygM*b6j-I=okqXPcZjyT-JqFjy z2z2XBclh(aEk7R)Y0u;p&w(d)OZM6HjX7{ioGPa4a_d+gmE0j?BI~&{g|P?M)D#Nd z2t<-?<{M|p`gqqg@KW0S^BAGCaYOCn*dD5`#%;BIgK1fv2Y|K>bd>BU_jdspr+nw$+*48*fa> z3EI$6DUWj|wb|LvDKY>5`}R(jpY3(FI_rh5XR4h1MZGWJZVgLvttDQ~A12%t^|4b@ z9dRPMZ+shgDEcO5&BCmp(!{tFn!Ydoa@J{Dnuhp)wRi2&P_An{Htoz#cBqCF!gM0{ zrm0-YF1HCohPL}{a%qH3u4Rg`O>%1nX@^0GkV_^+5+VkPaUFMt2{ULg5$SyGbJp4| zY`eA2*=wD%mic4Wtap9$zR&Z_Z{FWK&+~iclX35P?xGO#>cfiwyWGQA(+&LH)b1i zPjv{QMz938>qn73hsrn1{m_&V6Dx9_0;HbRffjNbAA=2u1SO2+6=h){Zd7IIJawAlPY~G}0U$NWyPoZQCda?4m zhDc15Y{qAIG-bRlGCcY@`{ZRXabvhKQ6OVf4TdK4|JD~3 zJaM2f;}#w^i4>a#Pu-VVE@PFmOMUVxwccj&b^a>rhMV0fV=@w9T#lDUA|lYaAjoG zCD5D4!I3QyfjRH2jqqbLQbAZ$lB#H%yCsG_jGLDZ7`iIffmP+HD`=!FQ6|q4-;TCK zOMnr5fp76RqBm>k-GQNkD(yQ(elrdZbrA`RBU1uG5NxiQ!JFGxDu9Ni#VEJFcSXE7 zc*Ens*&4WNAyzK&HBrp;&x4HcO)kdUZ;y!upJn+ zCFkW$p$L`XtnT39M$wg#PLHxlM53}Pk=JJ7Lyy{;^x40DaHmY}K)&XR%1)ah3JN-R zmDN6!wFvfn&#i)j9e3#)svr3Ns(wTdz5>~ic+K{MT(d9~G|9ZN_nKb|&<1+aU#nmo zP+*8njZpgGF%HGa9sYq?CQY$xQxJ*pFxGFa$S|6tChTo=|DMk13G$rnZ zLks*eeclg=DpqrxB!{^66hHnYwSrtU5ghoXWpu$W)bPj&SULV&2xI~=Hoy|S7Q35l zZIa8u!jpbw09hE5N7`FodGp#j(VTvIzoTfB^DI(NTA@ea)_o(IJ=5 zecCnA@zmkDo&goELxLylxpG($&v{zXq1j?y!%zrKc_{mIsvQzQ)(m^E0tU%aD+!rG z`Jkqsh2ltow@hf{EPFz6s0b6?2g!k)HUa zvd=J-PS8$2%R+t3@gQ9F@<=hLJT}v$hUL6x+Mm{~l;(^`n6pA10 z=ieL3|JfG~Kquy?3~nO)#&i;6nYv3)K^t?E~(oHkfCJ$srMiA2!h3 zyA&!-%n`g46srV%Z&3PiW~htOQZKa0J+9NZ=Gbp5OyTho_|zl2`+BQBymJ;A3+)Q} zkQ?QpOOM+EF5iR1R9e-nn7XJz^){cD{v}f-vwiqx(9o371RbZywD{ z4Rzrp?*CiX{Y!UN9tfWbfm2o7$~RUouKjNZLtRdY2a=zZVD!gMx!J2WF1;b0m_n-! z*k^;cWl3@foRH?BHm_awciHs%Cl|n&^oH)dzvSKD=R*g`fi5q9`1ID;070aymYNH9_ByBmhr8LTgzU|;3rVki% zOsIF`>e*U{g5dlLL1~1P{)le_!5s)-%>4-FMux5*J0ryd9Ab3ex@m0^y{|qJ9RY

    ^sZ}T*T03a+&(ixWaZ6HVojKM=3w&1=F1Y2ZE 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