From c42f6068a655c7bb8094933bf2abf03e5402e527 Mon Sep 17 00:00:00 2001 From: star-nox Date: Thu, 10 Aug 2023 17:04:22 -0500 Subject: [PATCH 01/21] added the add_users() for Canvas --- ai_ta_backend/canvas.py | 35 ++ ai_ta_backend/main.py | 19 + ai_ta_backend/test_notebook.ipynb | 811 ++++++++++++++++++++++++++++++ 3 files changed, 865 insertions(+) create mode 100644 ai_ta_backend/canvas.py create mode 100644 ai_ta_backend/test_notebook.ipynb diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py new file mode 100644 index 00000000..88835b03 --- /dev/null +++ b/ai_ta_backend/canvas.py @@ -0,0 +1,35 @@ +# import required libraries +import os +from dotenv import load_dotenv +from canvasapi import Canvas + + +class CanvasAPI(): + def __init__(self): + self.canvas_client = Canvas("https://canvas.illinois.edu", + os.getenv('CANVAS_ACCESS_TOKEN')) + + def add_users(self, canvas_course_id: str, course_name: str): + """ + Get all users in a course + """ + course = self.canvas_client.get_course(canvas_course_id) + users = course.get_users() + user_emails = [] + for user in users: + net_id = user.sis_user_id + email_id = net_id + "@illinois.edu" + user_emails.append(email_id) + + print(user_emails) + + if len(user_emails) > 0: + return "Success" + else: + return "Failed" + + def ingest_course_content(self, canvas_course_id: str, course_name: str): + """ + Ingests all Canvas course materials through the course ID. + """ + \ No newline at end of file diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 6bc7862a..7c06c7c0 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -12,6 +12,7 @@ from ai_ta_backend.vector_database import Ingest from ai_ta_backend.web_scrape import main_crawler, mit_course_download +from ai_ta_backend.canvas import CanvasAPI app = Flask(__name__) CORS(app) @@ -312,6 +313,24 @@ def mit_download_course(): response.headers.add('Access-Control-Allow-Origin', '*') return response +@app.route('/addCanvasUsers', methods=['GET']) +def add_canvas_users(): + """ + Add users from canvas to the course + """ + print("In /addCanvasUsers") + + canvas = CanvasAPI() + canvas_course_id: str = request.args.get('course_id') + course_name: str = request.args.get('course_name') + + success_or_failure = canvas.add_users(canvas_course_id, course_name) + + response = jsonify({"outcome": success_or_failure}) + + response.headers.add('Access-Control-Allow-Origin', '*') + return response + # TODO: add a way to delete items from course based on base_url if __name__ == '__main__': diff --git a/ai_ta_backend/test_notebook.ipynb b/ai_ta_backend/test_notebook.ipynb new file mode 100644 index 00000000..ab7e9a34 --- /dev/null +++ b/ai_ta_backend/test_notebook.ipynb @@ -0,0 +1,811 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import supabase\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from canvasapi import Canvas\n", + "\n", + "load_dotenv(\"../.env\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Canvas Integration" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "api_url = \"https://canvas.illinois.edu\"\n", + "api_key = os.getenv('CANVAS_ACCESS_TOKEN')\n", + "\n", + "canvas = Canvas(api_url, api_key)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 11:58:23,021:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348\n", + "2023-08-09 11:58:23,869:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348 200\n" + ] + }, + { + "data": { + "text/plain": [ + "'DEVELOPMENT - AI Chatbot Canvas Integration'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "course = canvas.get_course(37348)\n", + "course.name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get all users enrolled in a course" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 11:58:26,429:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users\n", + "2023-08-09 11:58:27,170:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shannon Bradley (91730)\n", + "Asmita Vijay Dabholkar (115151)\n", + "Kastan Day (119886)\n", + "Volodymyr Kindratenko (61060)\n", + "Rohan Marwaha (322674)\n", + "Joshua Min (6609)\n", + "Neha Sheth (334590)\n", + "George Tamas (43681)\n" + ] + } + ], + "source": [ + "users = course.get_users()\n", + "for user in users:\n", + " print(user)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 13:55:34,322:INFO - Request: GET https://canvas.illinois.edu/api/v1/users/115151\n", + "2023-08-09 13:55:34,427:INFO - Response: GET https://canvas.illinois.edu/api/v1/users/115151 200\n" + ] + } + ], + "source": [ + "user = canvas.get_user(115151)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 11:58:32,872:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/assignments\n", + "2023-08-09 11:58:33,114:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/assignments 200\n" + ] + } + ], + "source": [ + "assignments = course.get_assignments()\n", + "for assignment in assignments:\n", + " print(assignment)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 11:58:35,407:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/modules\n", + "2023-08-09 11:58:35,757:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/modules 200\n" + ] + } + ], + "source": [ + "files = course.get_modules()\n", + "for file in files:\n", + " print(file)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-07 16:12:22,025:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303\n", + "2023-08-07 16:12:22,267:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303 200\n", + "2023-08-07 16:12:22,276:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Module 5: Accessible Word, Excel, PPT, and PDF (53303)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-07 16:12:22,473:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Module 5 Agenda (606083)\n", + "Lesson 5-1 Accessible Word Training (606084)\n", + "Lesson 5-1.1 Accessible Word Training Handout (606085)\n", + "Lesson 5-1.2 Accessible Word Assignment (606086)\n", + "Lesson 5-2 Accessible Excel Training (606087)\n", + "Lesson 5-2.1 Accessible Excel Training Handout (606088)\n", + "Lesson 5-2.2 Accessible Excel Assignment (606089)\n", + "Lesson 5-3 Accessible PPT Training (606090)\n", + "Lesson 5-3.1 Accessible PPT Training Handout (606091)\n", + "Lesson 5-3.2 Accessible PPT Assignment (606092)\n", + "Lesson 5-4 Accessible PDF Training (606093)\n", + "Lesson 5-4.1 Accessible PDF Training Handout (606094)\n", + "Lesson 5-4.2 Accessible PDF Assignment (606095)\n" + ] + } + ], + "source": [ + "module = course.get_module(53303)\n", + "print(module)\n", + "module_list = [ele for ele in module.get_module_items()]\n", + "\n", + "for i in module_list:\n", + " print(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-07 17:52:48,076:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/files\n", + "2023-08-07 17:52:48,216:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/files 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf\n" + ] + } + ], + "source": [ + "files = course.get_files()\n", + "\n", + "for f in files:\n", + " print(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To-do:\n", + "1. Get user emails and auto-enroll in uiuc-chat course\n", + "2. Get access to files and other data and ingest in corresponding uiuc.chat course\n", + "3. Get access to notifications about content addition and trigger data ingestion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Getting users enrolled in course\n", + "1. Get user ids from course \n", + "2. Get user emails from ids" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-10 13:39:00,846:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348\n", + "2023-08-10 13:39:01,423:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348 200\n", + "2023-08-10 13:39:01,433:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users\n", + "2023-08-10 13:39:01,677:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sbrad77@illinois.edu\n", + "avd6@illinois.edu\n", + "kvday2@illinois.edu\n", + "kindrtnk@illinois.edu\n", + "rohan13@illinois.edu\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'User' object has no attribute 'email'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[73], line 6\u001b[0m\n\u001b[0;32m 4\u001b[0m users \u001b[39m=\u001b[39m course\u001b[39m.\u001b[39mget_users()\n\u001b[0;32m 5\u001b[0m \u001b[39mfor\u001b[39;00m user \u001b[39min\u001b[39;00m users:\n\u001b[1;32m----> 6\u001b[0m \u001b[39mprint\u001b[39m(user\u001b[39m.\u001b[39;49memail)\n", + "File \u001b[1;32mc:\\Users\\dabho\\anaconda3\\envs\\chatbot38\\lib\\site-packages\\canvasapi\\canvas_object.py:14\u001b[0m, in \u001b[0;36mCanvasObject.__getattribute__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__getattribute__\u001b[39m(\u001b[39mself\u001b[39m, name):\n\u001b[1;32m---> 14\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39msuper\u001b[39;49m(CanvasObject, \u001b[39mself\u001b[39;49m)\u001b[39m.\u001b[39;49m\u001b[39m__getattribute__\u001b[39;49m(name)\n", + "\u001b[1;31mAttributeError\u001b[0m: 'User' object has no attribute 'email'" + ] + } + ], + "source": [ + "course = canvas.get_course(37348)\n", + "\n", + "# get canvas IDs of all students in the course\n", + "users = course.get_users()\n", + "for user in users:\n", + " print(user.email)\n", + "\n", + "# get user object and obtain emails\n", + "#user = canvas.get_user(115151)\n", + "#print(user[\"email\"])\n", + "# channels = user.get_communication_channels()\n", + "# print(channels[0].address)\n", + "# for channel in channels:\n", + "# print(channel)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import requests\n", + "\n", + "\n", + "requests.get('https://canvas.illinois.edu/api/v1/users/115151/communication_channels')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Accessing canvas course content" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-08 15:38:47,426:INFO - Request: POST https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/\n", + "2023-08-08 15:38:48,144:INFO - Response: POST https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/ 201\n" + ] + }, + { + "data": { + "text/plain": [ + "CourseEpubExport(_requester=, id=37348, name=DEVELOPMENT - AI Chatbot Canvas Integration, epub_export={'id': 983, 'content_export_id': None, 'course_id': 37348, 'user_id': 115151, 'workflow_state': 'created', 'created_at': '2023-08-08T20:38:47Z', 'updated_at': '2023-08-08T20:38:47Z', 'permissions': {'download': False, 'regenerate': False}, 'progress_id': 2451523, 'progress_url': 'https://canvas.illinois.edu/api/v1/progress/2451523'})" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "course.create_epub_export()" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-08 16:10:46,184:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/983\n", + "2023-08-08 16:10:46,724:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/983 200\n" + ] + } + ], + "source": [ + "export = course.get_epub_export(983)\n", + "download_url = export.epub_export['epub_attachment']['url']" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "import requests" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "response = requests.get(download_url)\n", + "\n", + "if response.status_code == 200:\n", + " with open(\"file.epub\", \"wb\") as f:\n", + " f.write(response.content)\n", + "else:\n", + " print(\"Download failed with status code {response.status_code} and message {response.text}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting pypandoc_binary\n", + " Downloading pypandoc_binary-1.11-py3-none-win_amd64.whl (24.8 MB)\n", + " 0.0/24.8 MB ? eta -:--:--\n", + " 0.0/24.8 MB ? eta -:--:--\n", + " 0.1/24.8 MB 544.7 kB/s eta 0:00:46\n", + " 0.2/24.8 MB 1.7 MB/s eta 0:00:15\n", + " 0.4/24.8 MB 2.3 MB/s eta 0:00:11\n", + " 0.6/24.8 MB 2.6 MB/s eta 0:00:10\n", + " - 0.8/24.8 MB 3.0 MB/s eta 0:00:09\n", + " - 1.0/24.8 MB 3.1 MB/s eta 0:00:08\n", + " - 1.2/24.8 MB 3.1 MB/s eta 0:00:08\n", + " -- 1.3/24.8 MB 3.1 MB/s eta 0:00:08\n", + " -- 1.4/24.8 MB 2.9 MB/s eta 0:00:09\n", + " -- 1.5/24.8 MB 3.0 MB/s eta 0:00:08\n", + " -- 1.7/24.8 MB 2.9 MB/s eta 0:00:08\n", + " --- 1.9/24.8 MB 3.0 MB/s eta 0:00:08\n", + " --- 2.1/24.8 MB 3.1 MB/s eta 0:00:08\n", + " --- 2.3/24.8 MB 3.2 MB/s eta 0:00:08\n", + " --- 2.4/24.8 MB 3.2 MB/s eta 0:00:07\n", + " ---- 2.6/24.8 MB 3.2 MB/s eta 0:00:07\n", + " ---- 2.8/24.8 MB 3.2 MB/s eta 0:00:07\n", + " ---- 3.0/24.8 MB 3.3 MB/s eta 0:00:07\n", + " ----- 3.2/24.8 MB 3.3 MB/s eta 0:00:07\n", + " ----- 3.4/24.8 MB 3.3 MB/s eta 0:00:07\n", + " ----- 3.5/24.8 MB 3.4 MB/s eta 0:00:07\n", + " ----- 3.7/24.8 MB 3.4 MB/s eta 0:00:07\n", + " ------ 3.9/24.8 MB 3.4 MB/s eta 0:00:07\n", + " ------ 4.1/24.8 MB 3.4 MB/s eta 0:00:07\n", + " ------ 4.2/24.8 MB 3.4 MB/s eta 0:00:07\n", + " ------- 4.4/24.8 MB 3.4 MB/s eta 0:00:06\n", + " ------- 4.6/24.8 MB 3.4 MB/s eta 0:00:06\n", + " ------- 4.7/24.8 MB 3.5 MB/s eta 0:00:06\n", + " ------- 4.9/24.8 MB 3.5 MB/s eta 0:00:06\n", + " -------- 5.1/24.8 MB 3.5 MB/s eta 0:00:06\n", + " -------- 5.3/24.8 MB 3.5 MB/s eta 0:00:06\n", + " -------- 5.5/24.8 MB 3.5 MB/s eta 0:00:06\n", + " --------- 5.6/24.8 MB 3.5 MB/s eta 0:00:06\n", + " --------- 5.8/24.8 MB 3.5 MB/s eta 0:00:06\n", + " --------- 6.0/24.8 MB 3.5 MB/s eta 0:00:06\n", + " ---------- 6.2/24.8 MB 3.5 MB/s eta 0:00:06\n", + " ---------- 6.4/24.8 MB 3.5 MB/s eta 0:00:06\n", + " ---------- 6.6/24.8 MB 3.5 MB/s eta 0:00:06\n", + " ---------- 6.7/24.8 MB 3.6 MB/s eta 0:00:06\n", + " ----------- 7.0/24.8 MB 3.6 MB/s eta 0:00:06\n", + " ----------- 7.2/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ----------- 7.4/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------ 7.5/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------ 7.6/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------ 7.9/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------ 8.0/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------- 8.2/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------- 8.4/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ------------- 8.5/24.8 MB 3.6 MB/s eta 0:00:05\n", + " -------------- 8.7/24.8 MB 3.6 MB/s eta 0:00:05\n", + " -------------- 8.9/24.8 MB 3.6 MB/s eta 0:00:05\n", + " -------------- 9.1/24.8 MB 3.6 MB/s eta 0:00:05\n", + " --------------- 9.3/24.8 MB 3.6 MB/s eta 0:00:05\n", + " --------------- 9.4/24.8 MB 3.7 MB/s eta 0:00:05\n", + " --------------- 9.5/24.8 MB 3.6 MB/s eta 0:00:05\n", + " --------------- 9.7/24.8 MB 3.6 MB/s eta 0:00:05\n", + " --------------- 9.9/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ---------------- 10.0/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ---------------- 10.1/24.8 MB 3.6 MB/s eta 0:00:05\n", + " ---------------- 10.3/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ----------------- 10.5/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ----------------- 10.7/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ----------------- 10.9/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ----------------- 11.1/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ------------------ 11.4/24.8 MB 3.7 MB/s eta 0:00:04\n", + " ------------------ 11.6/24.8 MB 3.8 MB/s eta 0:00:04\n", + " ------------------- 11.8/24.8 MB 3.8 MB/s eta 0:00:04\n", + " ------------------- 12.0/24.8 MB 3.8 MB/s eta 0:00:04\n", + " ------------------- 12.2/24.8 MB 3.9 MB/s eta 0:00:04\n", + " -------------------- 12.5/24.8 MB 3.9 MB/s eta 0:00:04\n", + " -------------------- 12.7/24.8 MB 3.9 MB/s eta 0:00:04\n", + " -------------------- 12.9/24.8 MB 3.9 MB/s eta 0:00:04\n", + " --------------------- 13.2/24.8 MB 3.9 MB/s eta 0:00:03\n", + " --------------------- 13.4/24.8 MB 3.9 MB/s eta 0:00:03\n", + " --------------------- 13.4/24.8 MB 3.9 MB/s eta 0:00:03\n", + " ---------------------- 13.6/24.8 MB 3.9 MB/s eta 0:00:03\n", + " ---------------------- 13.9/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ---------------------- 14.1/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ----------------------- 14.3/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ----------------------- 14.6/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ----------------------- 14.8/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ------------------------ 15.0/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ------------------------ 15.2/24.8 MB 4.0 MB/s eta 0:00:03\n", + " ------------------------- 15.5/24.8 MB 4.1 MB/s eta 0:00:03\n", + " ------------------------- 15.7/24.8 MB 4.1 MB/s eta 0:00:03\n", + " ------------------------- 16.0/24.8 MB 4.1 MB/s eta 0:00:03\n", + " -------------------------- 16.1/24.8 MB 4.1 MB/s eta 0:00:03\n", + " -------------------------- 16.4/24.8 MB 4.2 MB/s eta 0:00:03\n", + " -------------------------- 16.6/24.8 MB 4.2 MB/s eta 0:00:02\n", + " --------------------------- 16.8/24.8 MB 4.2 MB/s eta 0:00:02\n", + " --------------------------- 17.0/24.8 MB 4.2 MB/s eta 0:00:02\n", + " --------------------------- 17.2/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ---------------------------- 17.4/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ---------------------------- 17.6/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ---------------------------- 17.8/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ----------------------------- 18.0/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ----------------------------- 18.3/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ----------------------------- 18.3/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ----------------------------- 18.5/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ------------------------------ 18.7/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ------------------------------ 18.9/24.8 MB 4.2 MB/s eta 0:00:02\n", + " ------------------------------ 19.1/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ------------------------------- 19.3/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ------------------------------- 19.5/24.8 MB 4.3 MB/s eta 0:00:02\n", + " ------------------------------- 19.8/24.8 MB 4.4 MB/s eta 0:00:02\n", + " -------------------------------- 20.0/24.8 MB 4.4 MB/s eta 0:00:02\n", + " -------------------------------- 20.2/24.8 MB 4.4 MB/s eta 0:00:02\n", + " --------------------------------- 20.4/24.8 MB 4.5 MB/s eta 0:00:01\n", + " --------------------------------- 20.6/24.8 MB 4.5 MB/s eta 0:00:01\n", + " --------------------------------- 20.9/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ---------------------------------- 21.1/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ---------------------------------- 21.3/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ---------------------------------- 21.4/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ----------------------------------- 21.7/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ----------------------------------- 21.9/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ----------------------------------- 22.2/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ----------------------------------- 22.3/24.8 MB 4.5 MB/s eta 0:00:01\n", + " ------------------------------------ 22.4/24.8 MB 4.4 MB/s eta 0:00:01\n", + " ------------------------------------ 22.6/24.8 MB 4.4 MB/s eta 0:00:01\n", + " ------------------------------------ 22.8/24.8 MB 4.4 MB/s eta 0:00:01\n", + " ------------------------------------- 23.0/24.8 MB 4.3 MB/s eta 0:00:01\n", + " ------------------------------------- 23.2/24.8 MB 4.4 MB/s eta 0:00:01\n", + " ------------------------------------- 23.5/24.8 MB 4.4 MB/s eta 0:00:01\n", + " -------------------------------------- 23.7/24.8 MB 4.5 MB/s eta 0:00:01\n", + " -------------------------------------- 24.0/24.8 MB 4.4 MB/s eta 0:00:01\n", + " --------------------------------------- 24.2/24.8 MB 4.4 MB/s eta 0:00:01\n", + " --------------------------------------- 24.5/24.8 MB 4.4 MB/s eta 0:00:01\n", + " --------------------------------------- 24.7/24.8 MB 4.4 MB/s eta 0:00:01\n", + " --------------------------------------- 24.8/24.8 MB 4.4 MB/s eta 0:00:01\n", + " --------------------------------------- 24.8/24.8 MB 4.4 MB/s eta 0:00:01\n", + " ---------------------------------------- 24.8/24.8 MB 4.1 MB/s eta 0:00:00\n", + "Installing collected packages: pypandoc_binary\n", + "Successfully installed pypandoc_binary-1.11\n" + ] + } + ], + "source": [ + "# create a epub ingest and pass the file here\n", + "!pip install pypandoc_binary\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.document_loaders import UnstructuredEPubLoader\n", + "\n", + "loader = UnstructuredEPubLoader(\"file.epub\")\n", + "data = loader.load()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Document(page_content='Table of Contents\\n\\nSyllabus\\n\\nAnnouncements\\n\\nCourse Content\\n\\nAssignments\\n\\nDiscussion Topics\\n\\nQuizzes\\n\\nPages\\n\\nSyllabus\\n\\nBack to Table of Contents\\n\\nAnnouncements\\n\\nWelcome!\\n\\nBack to Table of Contents\\n\\nWelcome!\\n\\nThis is a development Canvas for AI Chatbot project.\\n\\nBack to Announcements\\n\\nBack to Table of Contents\\n\\nAssignments\\n\\nBack to Table of Contents\\n\\nDiscussion Topics\\n\\nBack to Table of Contents\\n\\nQuizzes\\n\\nBack to Table of Contents\\n\\nPages\\n\\nBack to Table of Contents', metadata={'source': 'file.epub'})]\n" + ] + } + ], + "source": [ + "print(data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Accessing course notifications" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-09 14:02:13,105:INFO - Request: GET https://canvas.illinois.edu/api/v1/users/115151/enrollments\n", + "2023-08-09 14:02:13,331:INFO - Response: GET https://canvas.illinois.edu/api/v1/users/115151/enrollments 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StudentEnrollment (446616)\n", + "TeacherEnrollment (1201324)\n" + ] + } + ], + "source": [ + "courses = user.get_enrollments()\n", + "\n", + "for c in courses:\n", + " print(c)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import requests\n", + "requests.get(\"https://canvas.illinois.edu/api/v1/accounts\")" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-10 16:12:14,791:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/files\n", + "2023-08-10 16:12:15,822:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/files 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "https://canvas.illinois.edu/files/9018482/download?download_frd=1&verifier=wR6cQzYreeNJk0otdXNkskp3fsYfdPAqpirlfCfJ\n" + ] + } + ], + "source": [ + "files = course.get_files()\n", + "\n", + "for file in files:\n", + " print(file.url)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-10 16:31:36,198:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308\n", + "2023-08-10 16:31:36,328:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308 200\n", + "2023-08-10 16:31:36,348:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "modules: \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-10 16:31:36,761:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules 200\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53298/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53299/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53300/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53301/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53302/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53304/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53305/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53306/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53307/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53308/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53309/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53310/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/228904/items\n", + "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53311/items\n" + ] + } + ], + "source": [ + "course = canvas.get_course(7308)\n", + "\n", + "modules = course.get_modules()\n", + "\n", + "print(\"modules: \", modules)\n", + "\n", + "for module in modules:\n", + " print(\"module: \", module.items_url)" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'Course' object has no attribute 'start_content_export'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[86], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m export \u001b[39m=\u001b[39m course\u001b[39m.\u001b[39;49mstart_content_export()\n\u001b[0;32m 2\u001b[0m \u001b[39mprint\u001b[39m(export\u001b[39m.\u001b[39mprogress)\n", + "File \u001b[1;32mc:\\Users\\dabho\\anaconda3\\envs\\chatbot38\\lib\\site-packages\\canvasapi\\canvas_object.py:14\u001b[0m, in \u001b[0;36mCanvasObject.__getattribute__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__getattribute__\u001b[39m(\u001b[39mself\u001b[39m, name):\n\u001b[1;32m---> 14\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39msuper\u001b[39;49m(CanvasObject, \u001b[39mself\u001b[39;49m)\u001b[39m.\u001b[39;49m\u001b[39m__getattribute__\u001b[39;49m(name)\n", + "\u001b[1;31mAttributeError\u001b[0m: 'Course' object has no attribute 'start_content_export'" + ] + } + ], + "source": [ + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "chatbot38", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 685420526add95bad45dda218e2b81674801a139 Mon Sep 17 00:00:00 2001 From: star-nox Date: Sun, 13 Aug 2023 16:54:39 -0500 Subject: [PATCH 02/21] added canvas course ingest --- ai_ta_backend/canvas.py | 62 +- ai_ta_backend/main.py | 18 +- ai_ta_backend/test_notebook.ipynb | 811 ------------------ ...for Artificial Intelligence Innovation.pdf | Bin 0 -> 311430 bytes requirements.txt | 1 + 5 files changed, 78 insertions(+), 814 deletions(-) delete mode 100644 ai_ta_backend/test_notebook.ipynb create mode 100644 course_content/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index 88835b03..32ffa5a5 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -1,7 +1,9 @@ -# import required libraries import os -from dotenv import load_dotenv from canvasapi import Canvas +import requests +from zipfile import ZipFile +from ai_ta_backend.aws import upload_data_files_to_s3 +from ai_ta_backend.vector_database import Ingest class CanvasAPI(): @@ -32,4 +34,60 @@ def ingest_course_content(self, canvas_course_id: str, course_name: str): """ Ingests all Canvas course materials through the course ID. """ + print("In ingest_course_content") + + api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) + headers = {"Authorization": "Bearer " + os.getenv('CANVAS_ACCESS_TOKEN')} + + try: + # Start the content export + content_export_api_path = api_path + "/content_exports?export_type=zip" + start_content_export = requests.post(content_export_api_path, headers=headers) + content_export_id = start_content_export.json()['id'] + progress_url = start_content_export.json()['progress_url'] + + # Wait for the content export to finish + export_progress = requests.get(progress_url, headers=headers) + while export_progress.json()['workflow_state'] != 'completed': + export_progress = requests.get(progress_url, headers=headers) + + # View content export and get download URL + show_content_export_api_path = api_path + "/content_exports/" + str(content_export_id) + print("Show export path: ", show_content_export_api_path) + + show_content_export = requests.get(show_content_export_api_path, headers=headers) + download_url = show_content_export.json()['attachment']['url'] + file_name = show_content_export.json()['attachment']['filename'] + + # Create a directory for the content + directory = os.path.join(os.getcwd(), "course_content") + if not os.path.exists(directory): + os.mkdir(directory) + + # Download zip and save to directory + download = requests.get(download_url, headers=headers) + with open(os.path.join(directory, file_name), 'wb') as f: + f.write(download.content) + print("Downloaded!") + + # Extract and read from zip file + filepath = "course_content/" + file_name + with ZipFile(filepath, 'r') as zip: + zip.printdir() + zip.extractall("course_content") + print('Done!') + os.remove(filepath) + + # Upload files to S3 and call bulk_ingest + s3_paths = upload_data_files_to_s3(course_name, "course_content") + ingest = Ingest() + canvas_ingest = ingest.bulk_ingest(s3_paths, course_name=course_name) + + return canvas_ingest + + except Exception as e: + print(e) + return "Failed" + + \ No newline at end of file diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 7c06c7c0..1766b42b 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -268,7 +268,6 @@ def log(): """ todo """ - print("In /log") ingester = Ingest() @@ -331,6 +330,23 @@ def add_canvas_users(): response.headers.add('Access-Control-Allow-Origin', '*') return response +@app.route('/ingestCanvas', methods=['GET']) +def ingest_canvas(): + """ + Ingest course content from Canvas + """ + canvas = CanvasAPI() + canvas_course_id: str = request.args.get('course_id') + course_name: str = request.args.get('course_name') + + success_or_failure = canvas.ingest_course_content(canvas_course_id, course_name) + + response = jsonify({"outcome": success_or_failure}) + + response.headers.add('Access-Control-Allow-Origin', '*') + return response + + # TODO: add a way to delete items from course based on base_url if __name__ == '__main__': diff --git a/ai_ta_backend/test_notebook.ipynb b/ai_ta_backend/test_notebook.ipynb deleted file mode 100644 index ab7e9a34..00000000 --- a/ai_ta_backend/test_notebook.ipynb +++ /dev/null @@ -1,811 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import supabase\n", - "import os\n", - "from dotenv import load_dotenv\n", - "from canvasapi import Canvas\n", - "\n", - "load_dotenv(\"../.env\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Canvas Integration" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "api_url = \"https://canvas.illinois.edu\"\n", - "api_key = os.getenv('CANVAS_ACCESS_TOKEN')\n", - "\n", - "canvas = Canvas(api_url, api_key)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 11:58:23,021:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348\n", - "2023-08-09 11:58:23,869:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348 200\n" - ] - }, - { - "data": { - "text/plain": [ - "'DEVELOPMENT - AI Chatbot Canvas Integration'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "course = canvas.get_course(37348)\n", - "course.name" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get all users enrolled in a course" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 11:58:26,429:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users\n", - "2023-08-09 11:58:27,170:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Shannon Bradley (91730)\n", - "Asmita Vijay Dabholkar (115151)\n", - "Kastan Day (119886)\n", - "Volodymyr Kindratenko (61060)\n", - "Rohan Marwaha (322674)\n", - "Joshua Min (6609)\n", - "Neha Sheth (334590)\n", - "George Tamas (43681)\n" - ] - } - ], - "source": [ - "users = course.get_users()\n", - "for user in users:\n", - " print(user)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 13:55:34,322:INFO - Request: GET https://canvas.illinois.edu/api/v1/users/115151\n", - "2023-08-09 13:55:34,427:INFO - Response: GET https://canvas.illinois.edu/api/v1/users/115151 200\n" - ] - } - ], - "source": [ - "user = canvas.get_user(115151)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 11:58:32,872:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/assignments\n", - "2023-08-09 11:58:33,114:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/assignments 200\n" - ] - } - ], - "source": [ - "assignments = course.get_assignments()\n", - "for assignment in assignments:\n", - " print(assignment)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 11:58:35,407:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/modules\n", - "2023-08-09 11:58:35,757:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/modules 200\n" - ] - } - ], - "source": [ - "files = course.get_modules()\n", - "for file in files:\n", - " print(file)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-07 16:12:22,025:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303\n", - "2023-08-07 16:12:22,267:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303 200\n", - "2023-08-07 16:12:22,276:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Module 5: Accessible Word, Excel, PPT, and PDF (53303)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-07 16:12:22,473:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Module 5 Agenda (606083)\n", - "Lesson 5-1 Accessible Word Training (606084)\n", - "Lesson 5-1.1 Accessible Word Training Handout (606085)\n", - "Lesson 5-1.2 Accessible Word Assignment (606086)\n", - "Lesson 5-2 Accessible Excel Training (606087)\n", - "Lesson 5-2.1 Accessible Excel Training Handout (606088)\n", - "Lesson 5-2.2 Accessible Excel Assignment (606089)\n", - "Lesson 5-3 Accessible PPT Training (606090)\n", - "Lesson 5-3.1 Accessible PPT Training Handout (606091)\n", - "Lesson 5-3.2 Accessible PPT Assignment (606092)\n", - "Lesson 5-4 Accessible PDF Training (606093)\n", - "Lesson 5-4.1 Accessible PDF Training Handout (606094)\n", - "Lesson 5-4.2 Accessible PDF Assignment (606095)\n" - ] - } - ], - "source": [ - "module = course.get_module(53303)\n", - "print(module)\n", - "module_list = [ele for ele in module.get_module_items()]\n", - "\n", - "for i in module_list:\n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-07 17:52:48,076:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/files\n", - "2023-08-07 17:52:48,216:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/files 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf\n" - ] - } - ], - "source": [ - "files = course.get_files()\n", - "\n", - "for f in files:\n", - " print(f)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To-do:\n", - "1. Get user emails and auto-enroll in uiuc-chat course\n", - "2. Get access to files and other data and ingest in corresponding uiuc.chat course\n", - "3. Get access to notifications about content addition and trigger data ingestion" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Getting users enrolled in course\n", - "1. Get user ids from course \n", - "2. Get user emails from ids" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-10 13:39:00,846:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348\n", - "2023-08-10 13:39:01,423:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348 200\n", - "2023-08-10 13:39:01,433:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users\n", - "2023-08-10 13:39:01,677:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/search_users 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sbrad77@illinois.edu\n", - "avd6@illinois.edu\n", - "kvday2@illinois.edu\n", - "kindrtnk@illinois.edu\n", - "rohan13@illinois.edu\n" - ] - }, - { - "ename": "AttributeError", - "evalue": "'User' object has no attribute 'email'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[73], line 6\u001b[0m\n\u001b[0;32m 4\u001b[0m users \u001b[39m=\u001b[39m course\u001b[39m.\u001b[39mget_users()\n\u001b[0;32m 5\u001b[0m \u001b[39mfor\u001b[39;00m user \u001b[39min\u001b[39;00m users:\n\u001b[1;32m----> 6\u001b[0m \u001b[39mprint\u001b[39m(user\u001b[39m.\u001b[39;49memail)\n", - "File \u001b[1;32mc:\\Users\\dabho\\anaconda3\\envs\\chatbot38\\lib\\site-packages\\canvasapi\\canvas_object.py:14\u001b[0m, in \u001b[0;36mCanvasObject.__getattribute__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__getattribute__\u001b[39m(\u001b[39mself\u001b[39m, name):\n\u001b[1;32m---> 14\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39msuper\u001b[39;49m(CanvasObject, \u001b[39mself\u001b[39;49m)\u001b[39m.\u001b[39;49m\u001b[39m__getattribute__\u001b[39;49m(name)\n", - "\u001b[1;31mAttributeError\u001b[0m: 'User' object has no attribute 'email'" - ] - } - ], - "source": [ - "course = canvas.get_course(37348)\n", - "\n", - "# get canvas IDs of all students in the course\n", - "users = course.get_users()\n", - "for user in users:\n", - " print(user.email)\n", - "\n", - "# get user object and obtain emails\n", - "#user = canvas.get_user(115151)\n", - "#print(user[\"email\"])\n", - "# channels = user.get_communication_channels()\n", - "# print(channels[0].address)\n", - "# for channel in channels:\n", - "# print(channel)" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import requests\n", - "\n", - "\n", - "requests.get('https://canvas.illinois.edu/api/v1/users/115151/communication_channels')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Accessing canvas course content" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-08 15:38:47,426:INFO - Request: POST https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/\n", - "2023-08-08 15:38:48,144:INFO - Response: POST https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/ 201\n" - ] - }, - { - "data": { - "text/plain": [ - "CourseEpubExport(_requester=, id=37348, name=DEVELOPMENT - AI Chatbot Canvas Integration, epub_export={'id': 983, 'content_export_id': None, 'course_id': 37348, 'user_id': 115151, 'workflow_state': 'created', 'created_at': '2023-08-08T20:38:47Z', 'updated_at': '2023-08-08T20:38:47Z', 'permissions': {'download': False, 'regenerate': False}, 'progress_id': 2451523, 'progress_url': 'https://canvas.illinois.edu/api/v1/progress/2451523'})" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "course.create_epub_export()" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-08 16:10:46,184:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/983\n", - "2023-08-08 16:10:46,724:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/epub_exports/983 200\n" - ] - } - ], - "source": [ - "export = course.get_epub_export(983)\n", - "download_url = export.epub_export['epub_attachment']['url']" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [], - "source": [ - "import requests" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [], - "source": [ - "response = requests.get(download_url)\n", - "\n", - "if response.status_code == 200:\n", - " with open(\"file.epub\", \"wb\") as f:\n", - " f.write(response.content)\n", - "else:\n", - " print(\"Download failed with status code {response.status_code} and message {response.text}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting pypandoc_binary\n", - " Downloading pypandoc_binary-1.11-py3-none-win_amd64.whl (24.8 MB)\n", - " 0.0/24.8 MB ? eta -:--:--\n", - " 0.0/24.8 MB ? eta -:--:--\n", - " 0.1/24.8 MB 544.7 kB/s eta 0:00:46\n", - " 0.2/24.8 MB 1.7 MB/s eta 0:00:15\n", - " 0.4/24.8 MB 2.3 MB/s eta 0:00:11\n", - " 0.6/24.8 MB 2.6 MB/s eta 0:00:10\n", - " - 0.8/24.8 MB 3.0 MB/s eta 0:00:09\n", - " - 1.0/24.8 MB 3.1 MB/s eta 0:00:08\n", - " - 1.2/24.8 MB 3.1 MB/s eta 0:00:08\n", - " -- 1.3/24.8 MB 3.1 MB/s eta 0:00:08\n", - " -- 1.4/24.8 MB 2.9 MB/s eta 0:00:09\n", - " -- 1.5/24.8 MB 3.0 MB/s eta 0:00:08\n", - " -- 1.7/24.8 MB 2.9 MB/s eta 0:00:08\n", - " --- 1.9/24.8 MB 3.0 MB/s eta 0:00:08\n", - " --- 2.1/24.8 MB 3.1 MB/s eta 0:00:08\n", - " --- 2.3/24.8 MB 3.2 MB/s eta 0:00:08\n", - " --- 2.4/24.8 MB 3.2 MB/s eta 0:00:07\n", - " ---- 2.6/24.8 MB 3.2 MB/s eta 0:00:07\n", - " ---- 2.8/24.8 MB 3.2 MB/s eta 0:00:07\n", - " ---- 3.0/24.8 MB 3.3 MB/s eta 0:00:07\n", - " ----- 3.2/24.8 MB 3.3 MB/s eta 0:00:07\n", - " ----- 3.4/24.8 MB 3.3 MB/s eta 0:00:07\n", - " ----- 3.5/24.8 MB 3.4 MB/s eta 0:00:07\n", - " ----- 3.7/24.8 MB 3.4 MB/s eta 0:00:07\n", - " ------ 3.9/24.8 MB 3.4 MB/s eta 0:00:07\n", - " ------ 4.1/24.8 MB 3.4 MB/s eta 0:00:07\n", - " ------ 4.2/24.8 MB 3.4 MB/s eta 0:00:07\n", - " ------- 4.4/24.8 MB 3.4 MB/s eta 0:00:06\n", - " ------- 4.6/24.8 MB 3.4 MB/s eta 0:00:06\n", - " ------- 4.7/24.8 MB 3.5 MB/s eta 0:00:06\n", - " ------- 4.9/24.8 MB 3.5 MB/s eta 0:00:06\n", - " -------- 5.1/24.8 MB 3.5 MB/s eta 0:00:06\n", - " -------- 5.3/24.8 MB 3.5 MB/s eta 0:00:06\n", - " -------- 5.5/24.8 MB 3.5 MB/s eta 0:00:06\n", - " --------- 5.6/24.8 MB 3.5 MB/s eta 0:00:06\n", - " --------- 5.8/24.8 MB 3.5 MB/s eta 0:00:06\n", - " --------- 6.0/24.8 MB 3.5 MB/s eta 0:00:06\n", - " ---------- 6.2/24.8 MB 3.5 MB/s eta 0:00:06\n", - " ---------- 6.4/24.8 MB 3.5 MB/s eta 0:00:06\n", - " ---------- 6.6/24.8 MB 3.5 MB/s eta 0:00:06\n", - " ---------- 6.7/24.8 MB 3.6 MB/s eta 0:00:06\n", - " ----------- 7.0/24.8 MB 3.6 MB/s eta 0:00:06\n", - " ----------- 7.2/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ----------- 7.4/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------ 7.5/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------ 7.6/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------ 7.9/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------ 8.0/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------- 8.2/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------- 8.4/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ------------- 8.5/24.8 MB 3.6 MB/s eta 0:00:05\n", - " -------------- 8.7/24.8 MB 3.6 MB/s eta 0:00:05\n", - " -------------- 8.9/24.8 MB 3.6 MB/s eta 0:00:05\n", - " -------------- 9.1/24.8 MB 3.6 MB/s eta 0:00:05\n", - " --------------- 9.3/24.8 MB 3.6 MB/s eta 0:00:05\n", - " --------------- 9.4/24.8 MB 3.7 MB/s eta 0:00:05\n", - " --------------- 9.5/24.8 MB 3.6 MB/s eta 0:00:05\n", - " --------------- 9.7/24.8 MB 3.6 MB/s eta 0:00:05\n", - " --------------- 9.9/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ---------------- 10.0/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ---------------- 10.1/24.8 MB 3.6 MB/s eta 0:00:05\n", - " ---------------- 10.3/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ----------------- 10.5/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ----------------- 10.7/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ----------------- 10.9/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ----------------- 11.1/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ------------------ 11.4/24.8 MB 3.7 MB/s eta 0:00:04\n", - " ------------------ 11.6/24.8 MB 3.8 MB/s eta 0:00:04\n", - " ------------------- 11.8/24.8 MB 3.8 MB/s eta 0:00:04\n", - " ------------------- 12.0/24.8 MB 3.8 MB/s eta 0:00:04\n", - " ------------------- 12.2/24.8 MB 3.9 MB/s eta 0:00:04\n", - " -------------------- 12.5/24.8 MB 3.9 MB/s eta 0:00:04\n", - " -------------------- 12.7/24.8 MB 3.9 MB/s eta 0:00:04\n", - " -------------------- 12.9/24.8 MB 3.9 MB/s eta 0:00:04\n", - " --------------------- 13.2/24.8 MB 3.9 MB/s eta 0:00:03\n", - " --------------------- 13.4/24.8 MB 3.9 MB/s eta 0:00:03\n", - " --------------------- 13.4/24.8 MB 3.9 MB/s eta 0:00:03\n", - " ---------------------- 13.6/24.8 MB 3.9 MB/s eta 0:00:03\n", - " ---------------------- 13.9/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ---------------------- 14.1/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ----------------------- 14.3/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ----------------------- 14.6/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ----------------------- 14.8/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ------------------------ 15.0/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ------------------------ 15.2/24.8 MB 4.0 MB/s eta 0:00:03\n", - " ------------------------- 15.5/24.8 MB 4.1 MB/s eta 0:00:03\n", - " ------------------------- 15.7/24.8 MB 4.1 MB/s eta 0:00:03\n", - " ------------------------- 16.0/24.8 MB 4.1 MB/s eta 0:00:03\n", - " -------------------------- 16.1/24.8 MB 4.1 MB/s eta 0:00:03\n", - " -------------------------- 16.4/24.8 MB 4.2 MB/s eta 0:00:03\n", - " -------------------------- 16.6/24.8 MB 4.2 MB/s eta 0:00:02\n", - " --------------------------- 16.8/24.8 MB 4.2 MB/s eta 0:00:02\n", - " --------------------------- 17.0/24.8 MB 4.2 MB/s eta 0:00:02\n", - " --------------------------- 17.2/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ---------------------------- 17.4/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ---------------------------- 17.6/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ---------------------------- 17.8/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ----------------------------- 18.0/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ----------------------------- 18.3/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ----------------------------- 18.3/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ----------------------------- 18.5/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ------------------------------ 18.7/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ------------------------------ 18.9/24.8 MB 4.2 MB/s eta 0:00:02\n", - " ------------------------------ 19.1/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ------------------------------- 19.3/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ------------------------------- 19.5/24.8 MB 4.3 MB/s eta 0:00:02\n", - " ------------------------------- 19.8/24.8 MB 4.4 MB/s eta 0:00:02\n", - " -------------------------------- 20.0/24.8 MB 4.4 MB/s eta 0:00:02\n", - " -------------------------------- 20.2/24.8 MB 4.4 MB/s eta 0:00:02\n", - " --------------------------------- 20.4/24.8 MB 4.5 MB/s eta 0:00:01\n", - " --------------------------------- 20.6/24.8 MB 4.5 MB/s eta 0:00:01\n", - " --------------------------------- 20.9/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ---------------------------------- 21.1/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ---------------------------------- 21.3/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ---------------------------------- 21.4/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ----------------------------------- 21.7/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ----------------------------------- 21.9/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ----------------------------------- 22.2/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ----------------------------------- 22.3/24.8 MB 4.5 MB/s eta 0:00:01\n", - " ------------------------------------ 22.4/24.8 MB 4.4 MB/s eta 0:00:01\n", - " ------------------------------------ 22.6/24.8 MB 4.4 MB/s eta 0:00:01\n", - " ------------------------------------ 22.8/24.8 MB 4.4 MB/s eta 0:00:01\n", - " ------------------------------------- 23.0/24.8 MB 4.3 MB/s eta 0:00:01\n", - " ------------------------------------- 23.2/24.8 MB 4.4 MB/s eta 0:00:01\n", - " ------------------------------------- 23.5/24.8 MB 4.4 MB/s eta 0:00:01\n", - " -------------------------------------- 23.7/24.8 MB 4.5 MB/s eta 0:00:01\n", - " -------------------------------------- 24.0/24.8 MB 4.4 MB/s eta 0:00:01\n", - " --------------------------------------- 24.2/24.8 MB 4.4 MB/s eta 0:00:01\n", - " --------------------------------------- 24.5/24.8 MB 4.4 MB/s eta 0:00:01\n", - " --------------------------------------- 24.7/24.8 MB 4.4 MB/s eta 0:00:01\n", - " --------------------------------------- 24.8/24.8 MB 4.4 MB/s eta 0:00:01\n", - " --------------------------------------- 24.8/24.8 MB 4.4 MB/s eta 0:00:01\n", - " ---------------------------------------- 24.8/24.8 MB 4.1 MB/s eta 0:00:00\n", - "Installing collected packages: pypandoc_binary\n", - "Successfully installed pypandoc_binary-1.11\n" - ] - } - ], - "source": [ - "# create a epub ingest and pass the file here\n", - "!pip install pypandoc_binary\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.document_loaders import UnstructuredEPubLoader\n", - "\n", - "loader = UnstructuredEPubLoader(\"file.epub\")\n", - "data = loader.load()\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[Document(page_content='Table of Contents\\n\\nSyllabus\\n\\nAnnouncements\\n\\nCourse Content\\n\\nAssignments\\n\\nDiscussion Topics\\n\\nQuizzes\\n\\nPages\\n\\nSyllabus\\n\\nBack to Table of Contents\\n\\nAnnouncements\\n\\nWelcome!\\n\\nBack to Table of Contents\\n\\nWelcome!\\n\\nThis is a development Canvas for AI Chatbot project.\\n\\nBack to Announcements\\n\\nBack to Table of Contents\\n\\nAssignments\\n\\nBack to Table of Contents\\n\\nDiscussion Topics\\n\\nBack to Table of Contents\\n\\nQuizzes\\n\\nBack to Table of Contents\\n\\nPages\\n\\nBack to Table of Contents', metadata={'source': 'file.epub'})]\n" - ] - } - ], - "source": [ - "print(data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Accessing course notifications" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-09 14:02:13,105:INFO - Request: GET https://canvas.illinois.edu/api/v1/users/115151/enrollments\n", - "2023-08-09 14:02:13,331:INFO - Response: GET https://canvas.illinois.edu/api/v1/users/115151/enrollments 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "StudentEnrollment (446616)\n", - "TeacherEnrollment (1201324)\n" - ] - } - ], - "source": [ - "courses = user.get_enrollments()\n", - "\n", - "for c in courses:\n", - " print(c)" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import requests\n", - "requests.get(\"https://canvas.illinois.edu/api/v1/accounts\")" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-10 16:12:14,791:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/37348/files\n", - "2023-08-10 16:12:15,822:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/37348/files 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "https://canvas.illinois.edu/files/9018482/download?download_frd=1&verifier=wR6cQzYreeNJk0otdXNkskp3fsYfdPAqpirlfCfJ\n" - ] - } - ], - "source": [ - "files = course.get_files()\n", - "\n", - "for file in files:\n", - " print(file.url)" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-10 16:31:36,198:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308\n", - "2023-08-10 16:31:36,328:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308 200\n", - "2023-08-10 16:31:36,348:INFO - Request: GET https://canvas.illinois.edu/api/v1/courses/7308/modules\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "modules: \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-10 16:31:36,761:INFO - Response: GET https://canvas.illinois.edu/api/v1/courses/7308/modules 200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53298/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53299/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53300/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53301/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53302/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53303/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53304/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53305/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53306/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53307/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53308/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53309/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53310/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/228904/items\n", - "module: https://canvas.illinois.edu/api/v1/courses/7308/modules/53311/items\n" - ] - } - ], - "source": [ - "course = canvas.get_course(7308)\n", - "\n", - "modules = course.get_modules()\n", - "\n", - "print(\"modules: \", modules)\n", - "\n", - "for module in modules:\n", - " print(\"module: \", module.items_url)" - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'Course' object has no attribute 'start_content_export'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[86], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m export \u001b[39m=\u001b[39m course\u001b[39m.\u001b[39;49mstart_content_export()\n\u001b[0;32m 2\u001b[0m \u001b[39mprint\u001b[39m(export\u001b[39m.\u001b[39mprogress)\n", - "File \u001b[1;32mc:\\Users\\dabho\\anaconda3\\envs\\chatbot38\\lib\\site-packages\\canvasapi\\canvas_object.py:14\u001b[0m, in \u001b[0;36mCanvasObject.__getattribute__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__getattribute__\u001b[39m(\u001b[39mself\u001b[39m, name):\n\u001b[1;32m---> 14\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39msuper\u001b[39;49m(CanvasObject, \u001b[39mself\u001b[39;49m)\u001b[39m.\u001b[39;49m\u001b[39m__getattribute__\u001b[39;49m(name)\n", - "\u001b[1;31mAttributeError\u001b[0m: 'Course' object has no attribute 'start_content_export'" - ] - } - ], - "source": [ - "\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "chatbot38", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/course_content/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf b/course_content/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77d4c9828b88fa6e1a68af3c6e8f1497a1319ac2 GIT binary patch literal 311430 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


t+@t5eqOtm>3Ci>o?i&G%lN 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 literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index 8fcdb014..2c6db6c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,6 +33,7 @@ ffmpeg-python ffprobe ffmpeg beautifulsoup4 +pypandoc cs-dlp @ git+https://github.com/raffaem/cs-dlp.git@0.12.0b0 # previously called coursera-dl # No arize for now, huge build size with these additions. From 54e3fb011ea4f4b0c1c31e43f691e7e50d64fef0 Mon Sep 17 00:00:00 2001 From: star-nox Date: Sun, 13 Aug 2023 16:58:10 -0500 Subject: [PATCH 03/21] updated requirements --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index 2c6db6c1..cd858967 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,6 +34,8 @@ ffprobe ffmpeg beautifulsoup4 pypandoc +pypandoc_binary +canvasapi cs-dlp @ git+https://github.com/raffaem/cs-dlp.git@0.12.0b0 # previously called coursera-dl # No arize for now, huge build size with these additions. From 07238a21648279ada15cdccc571e3c0963fe6c90 Mon Sep 17 00:00:00 2001 From: star-nox Date: Tue, 15 Aug 2023 14:25:04 -0500 Subject: [PATCH 04/21] added .md ingest and fixed .py ingest --- ai_ta_backend/data_logging.py | 56 ++++++++++++++++ ai_ta_backend/main.py | 5 ++ ai_ta_backend/nomic.ipynb | 111 +++++++++++++++++++++++++++++++ ai_ta_backend/vector_database.py | 54 +++++++++++---- 4 files changed, 214 insertions(+), 12 deletions(-) create mode 100644 ai_ta_backend/data_logging.py create mode 100644 ai_ta_backend/nomic.ipynb diff --git a/ai_ta_backend/data_logging.py b/ai_ta_backend/data_logging.py new file mode 100644 index 00000000..133210d9 --- /dev/null +++ b/ai_ta_backend/data_logging.py @@ -0,0 +1,56 @@ +import os +import nomic +from nomic import atlas +from langchain.embeddings import OpenAIEmbeddings +import numpy as np + +class DataLog(): + def __init__(self): + self.login = nomic.login(os.getenv('NOMIC_API_KEY')) + + def nomic_log(self, course_name:str, search_query:str, retrieved_contexts)-> str: + """ + Logs user query and retrieved contexts to Nomic. + """ + print("course_name: ", course_name) + print("search_query: ", search_query) + print("retrieved_contexts: ", len(retrieved_contexts)) + + # concat all retrieved contexts into one string + context_string = "" + for context in retrieved_contexts: + context_string += context['text'] + " " + + print("context_string: ", context_string) + + # convert query and context to embeddings + embeddings_model = OpenAIEmbeddings() + #embeddings = embeddings_model.embed_documents([search_query, context_string]) + #embeddings = np.array(embeddings) + + num_embeddings = 2 + embeddings = np.random.rand(num_embeddings, 1536) + + data = [{'course': course_name, 'id': i} for i in range(len(embeddings))] + print("len of data: ", len(data)) + print("len of embeddings: ", embeddings.shape) + + # project = atlas.map_embeddings(embeddings=np.array(embeddings), + # data=data, + # id_field='id', + # name='Search Query Viz', + # colorable_fields=['course']) + # print(project.maps) + + project = atlas.AtlasProject(name="Search Query Viz", add_datums_if_exists=True) + #map = project.get_map('Search Query Viz') + print(project.name) + #print(map) + + with project.wait_for_project_lock() as project: + project.add_embeddings(embeddings=embeddings, data=data) + project.rebuild_maps() + + print("done") + # log to Nomic + return "WIP" \ No newline at end of file diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 1766b42b..7a1b98cb 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -13,6 +13,7 @@ from ai_ta_backend.vector_database import Ingest from ai_ta_backend.web_scrape import main_crawler, mit_course_download from ai_ta_backend.canvas import CanvasAPI +from ai_ta_backend.data_logging import DataLog app = Flask(__name__) CORS(app) @@ -132,6 +133,10 @@ def getTopContexts(): ingester = Ingest() found_documents = ingester.getTopContexts(search_query, course_name, token_limit) + # add nomic log function here + logger = DataLog() + result = logger.nomic_log(course_name, search_query, found_documents) + response = jsonify(found_documents) response.headers.add('Access-Control-Allow-Origin', '*') return response diff --git a/ai_ta_backend/nomic.ipynb b/ai_ta_backend/nomic.ipynb new file mode 100644 index 00000000..345b7ac7 --- /dev/null +++ b/ai_ta_backend/nomic.ipynb @@ -0,0 +1,111 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import nomic\n", + "from nomic import atlas\n", + "import supabase\n", + "import os\n", + "\n", + "nomic.login(\"z9vzLMiZvEv-Ub1Vc0wOFoKEI70Ute9OQC2_YjocH5TC8\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "https://twzwfuydgnnjcaopyfdv.supabase.co\n" + ] + } + ], + "source": [ + "# create supabase client\n", + "url = \"https://twzwfuydgnnjcaopyfdv.supabase.co\"\n", + "key = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InR3endmdXlkZ25uamNhb3B5ZmR2Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTY4NDQzMzc0NiwiZXhwIjoyMDAwMDA5NzQ2fQ.dMyvULsZ8jnnLk8TUZtP0Ec_6LeOxcoLnD-uIjoYYs4\"\n", + "\n", + "client = supabase.create_client(supabase_url=url, supabase_key=key)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "response = client.table(\"documents\").select(\"*\").eq(\"course_name\", \"canvas\").limit(2).execute()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "data=[{'id': 46461, 'created_at': '2023-08-10T20:32:20.802466+00:00', 's3_path': 'courses/canvas/How_businesses_and_websites_can_use_third-party_data_to_target_advertising_through_LinkedIn_|_LinkedIn_Help.html', 'readable_filename': '8/10/23 How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help', 'course_name': 'canvas', 'url': 'https://www.linkedin.com/help/linkedin/answer/a426264?trk=microsites-frontend_legal_privacy-policy&lang=en', 'contexts': [{'text': 'How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInSales NavigatorTalent HubRecruiterSales InsightsMarketing SolutionsTalent InsightsCorporate BillingLearningGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}, {'text': 'How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInLearningCorporate BillingTalent InsightsMarketing SolutionsSales InsightsTalent HubSales NavigatorRecruiterGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}], 'base_url': None}, {'id': 46519, 'created_at': '2023-08-10T20:32:30.368445+00:00', 's3_path': 'courses/canvas/Off-LinkedIn_Visibility_|_LinkedIn_Help.html', 'readable_filename': '8/10/23 Off-LinkedIn Visibility | LinkedIn Help', 'course_name': 'canvas', 'url': 'https://www.linkedin.com/help/linkedin/answer/a1340507?trk=microsites-frontend_legal_privacy-policy&lang=en', 'contexts': [{'text': 'Off-LinkedIn Visibility | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInLearningRecruiterSales NavigatorTalent HubSales InsightsMarketing SolutionsCorporate BillingTalent InsightsGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}, {'text': 'Off-LinkedIn Visibility | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInSales NavigatorCorporate BillingTalent HubRecruiterMarketing SolutionsTalent InsightsLearningSales InsightsGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}], 'base_url': None}] count=None\n" + ] + } + ], + "source": [ + "print(response)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Document(page_content='import os\\nfrom canvasapi import Canvas\\nimport requests\\nfrom zipfile import ZipFile\\nfrom ai_ta_backend.aws import upload_data_files_to_s3\\nfrom ai_ta_backend.vector_database import Ingest\\n\\n\\nclass CanvasAPI():\\n def __init__(self):\\n self.canvas_client = Canvas(\"https://canvas.illinois.edu\", \\n os.getenv(\\'CANVAS_ACCESS_TOKEN\\'))\\n \\n def add_users(self, canvas_course_id: str, course_name: str):\\n \"\"\"\\n Get all users in a course\\n \"\"\"\\n course = self.canvas_client.get_course(canvas_course_id)\\n users = course.get_users()\\n user_emails = []\\n for user in users:\\n net_id = user.sis_user_id\\n email_id = net_id + \"@illinois.edu\"\\n user_emails.append(email_id)\\n \\n print(user_emails)\\n \\n if len(user_emails) > 0:\\n return \"Success\"\\n else:\\n return \"Failed\"\\n \\n def ingest_course_content(self, canvas_course_id: str, course_name: str):\\n \"\"\"\\n Ingests all Canvas course materials through the course ID.\\n \"\"\"\\n print(\"In ingest_course_content\")\\n\\n api_path = \"https://canvas.illinois.edu/api/v1/courses/\" + str(canvas_course_id)\\n headers = {\"Authorization\": \"Bearer \" + os.getenv(\\'CANVAS_ACCESS_TOKEN\\')}\\n\\n try:\\n # Start the content export\\n content_export_api_path = api_path + \"/content_exports?export_type=zip\"\\n start_content_export = requests.post(content_export_api_path, headers=headers)\\n content_export_id = start_content_export.json()[\\'id\\']\\n progress_url = start_content_export.json()[\\'progress_url\\']\\n\\n # Wait for the content export to finish\\n export_progress = requests.get(progress_url, headers=headers)\\n while export_progress.json()[\\'workflow_state\\'] != \\'completed\\':\\n export_progress = requests.get(progress_url, headers=headers)\\n \\n # View content export and get download URL\\n show_content_export_api_path = api_path + \"/content_exports/\" + str(content_export_id)\\n print(\"Show export path: \", show_content_export_api_path)\\n\\n show_content_export = requests.get(show_content_export_api_path, headers=headers)\\n download_url = show_content_export.json()[\\'attachment\\'][\\'url\\']\\n file_name = show_content_export.json()[\\'attachment\\'][\\'filename\\']\\n\\n # Create a directory for the content\\n directory = os.path.join(os.getcwd(), \"course_content\")\\n if not os.path.exists(directory):\\n os.mkdir(directory)\\n\\n # Download zip and save to directory\\n download = requests.get(download_url, headers=headers)\\n with open(os.path.join(directory, file_name), \\'wb\\') as f:\\n f.write(download.content)\\n print(\"Downloaded!\")\\n\\n # Extract and read from zip file\\n filepath = \"course_content/\" + file_name\\n with ZipFile(filepath, \\'r\\') as zip:\\n zip.printdir()\\n zip.extractall(\"course_content\")\\n print(\\'Done!\\')\\n os.remove(filepath)\\n\\n # Upload files to S3 and call bulk_ingest\\n s3_paths = upload_data_files_to_s3(course_name, \"course_content\")\\n ingest = Ingest()\\n canvas_ingest = ingest.bulk_ingest(s3_paths, course_name=course_name)\\n \\n return canvas_ingest\\n \\n except Exception as e:\\n print(e)\\n return \"Failed\"\\n\\n\\n ', metadata={'source': 'canvas.py'})]\n" + ] + } + ], + "source": [ + "from langchain.document_loaders import PythonLoader\n", + "\n", + "file = \"canvas.py\"\n", + "\n", + "loader = PythonLoader(file)\n", + "data = loader.load()\n", + "\n", + "print(data)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/ai_ta_backend/vector_database.py b/ai_ta_backend/vector_database.py index 4c998f19..964a845a 100644 --- a/ai_ta_backend/vector_database.py +++ b/ai_ta_backend/vector_database.py @@ -25,7 +25,7 @@ # # from arize.utils.types import (Embedding, EmbeddingColumnNames, Environments, # # Metrics, ModelTypes, Schema) from langchain.document_loaders import (Docx2txtLoader, PythonLoader, - SRTLoader, + SRTLoader, UnstructuredFileLoader, UnstructuredPowerPointLoader, TextLoader, GitLoader) from langchain.embeddings.openai import OpenAIEmbeddings from langchain.schema import Document @@ -243,7 +243,7 @@ def bulk_ingest(self, s3_paths: Union[List[str], str], course_name: str, **kwarg success_status['failure_ingest'].append(s3_path) else: success_status['success_ingest'].append(s3_path) - elif s3_path.endswith('.txt'): + elif s3_path.endswith('.txt') or s3_path.endswith('.md'): ret = self._ingest_single_txt(s3_path, course_name) if ret != "Success": success_status['failure_ingest'].append(s3_path) @@ -280,21 +280,51 @@ def bulk_ingest(self, s3_paths: Union[List[str], str], course_name: str, **kwarg def _ingest_single_py(self, s3_path: str, course_name: str): try: - with NamedTemporaryFile() as tmpfile: - # download from S3 into vtt_tmpfile - self.s3_client.download_fileobj(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path, Fileobj=tmpfile) - loader = PythonLoader(tmpfile.name) - documents = loader.load() - texts = [doc.page_content for doc in documents] - metadatas: List[Dict[str, Any]] = [{ + print("in ingest_py") + + file_name = s3_path.split("/")[-1] + file_path = "media/" + file_name + + self.s3_client.download_file(os.getenv('S3_BUCKET_NAME'), s3_path, file_path) + loader = PythonLoader(file_path) + documents = loader.load() + + texts = [doc.page_content for doc in documents] + + metadatas: List[Dict[str, Any]] = [{ 'course_name': course_name, 's3_path': s3_path, 'readable_filename': Path(s3_path).name, 'pagenumber_or_timestamp': '', } for doc in documents] + #print(texts) + os.remove(file_path) - success_or_failure = self.split_and_upload(texts=texts, metadatas=metadatas) - return success_or_failure + success_or_failure = self.split_and_upload(texts=texts, metadatas=metadatas) + return success_or_failure + + # with NamedTemporaryFile() as tmpfile: + # # download from S3 into tmpfile + # self.s3_client.download_fileobj(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path, Fileobj=tmpfile) + + # print("filename: ", file_name) + # loader = PythonLoader("media/" + file_name) + # print("file: ", tmpfile) + + # documents = loader.load() + # texts = [doc.page_content for doc in documents] + + # metadatas: List[Dict[str, Any]] = [{ + # 'course_name': course_name, + # 's3_path': s3_path, + # 'readable_filename': Path(s3_path).name, + # 'pagenumber_or_timestamp': '', + # } for doc in documents] + + # print(documents) + + # success_or_failure = self.split_and_upload(texts=texts, metadatas=metadatas) + # return success_or_failure except Exception as e: print(f"ERROR IN py READING {e}") @@ -566,7 +596,7 @@ def _ingest_single_pdf(self, s3_path: str, course_name: str, **kwargs): return "Success" def _ingest_single_txt(self, s3_path: str, course_name: str) -> str: - """Ingest a single .txt file from S3. + """Ingest a single .txt or .md file from S3. Args: s3_path (str): A path to a .txt file in S3 course_name (str): The name of the course From deceb15f8e227e8904f89e2e0989ad73d0452044 Mon Sep 17 00:00:00 2001 From: star-nox Date: Tue, 15 Aug 2023 14:29:50 -0500 Subject: [PATCH 05/21] deleted test ipynb file --- ai_ta_backend/nomic.ipynb | 111 -------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 ai_ta_backend/nomic.ipynb diff --git a/ai_ta_backend/nomic.ipynb b/ai_ta_backend/nomic.ipynb deleted file mode 100644 index 345b7ac7..00000000 --- a/ai_ta_backend/nomic.ipynb +++ /dev/null @@ -1,111 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import nomic\n", - "from nomic import atlas\n", - "import supabase\n", - "import os\n", - "\n", - "nomic.login(\"z9vzLMiZvEv-Ub1Vc0wOFoKEI70Ute9OQC2_YjocH5TC8\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "https://twzwfuydgnnjcaopyfdv.supabase.co\n" - ] - } - ], - "source": [ - "# create supabase client\n", - "url = \"https://twzwfuydgnnjcaopyfdv.supabase.co\"\n", - "key = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InR3endmdXlkZ25uamNhb3B5ZmR2Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTY4NDQzMzc0NiwiZXhwIjoyMDAwMDA5NzQ2fQ.dMyvULsZ8jnnLk8TUZtP0Ec_6LeOxcoLnD-uIjoYYs4\"\n", - "\n", - "client = supabase.create_client(supabase_url=url, supabase_key=key)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "response = client.table(\"documents\").select(\"*\").eq(\"course_name\", \"canvas\").limit(2).execute()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "data=[{'id': 46461, 'created_at': '2023-08-10T20:32:20.802466+00:00', 's3_path': 'courses/canvas/How_businesses_and_websites_can_use_third-party_data_to_target_advertising_through_LinkedIn_|_LinkedIn_Help.html', 'readable_filename': '8/10/23 How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help', 'course_name': 'canvas', 'url': 'https://www.linkedin.com/help/linkedin/answer/a426264?trk=microsites-frontend_legal_privacy-policy&lang=en', 'contexts': [{'text': 'How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInSales NavigatorTalent HubRecruiterSales InsightsMarketing SolutionsTalent InsightsCorporate BillingLearningGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}, {'text': 'How businesses and websites can use third-party data to target advertising through LinkedIn | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInLearningCorporate BillingTalent InsightsMarketing SolutionsSales InsightsTalent HubSales NavigatorRecruiterGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}], 'base_url': None}, {'id': 46519, 'created_at': '2023-08-10T20:32:30.368445+00:00', 's3_path': 'courses/canvas/Off-LinkedIn_Visibility_|_LinkedIn_Help.html', 'readable_filename': '8/10/23 Off-LinkedIn Visibility | LinkedIn Help', 'course_name': 'canvas', 'url': 'https://www.linkedin.com/help/linkedin/answer/a1340507?trk=microsites-frontend_legal_privacy-policy&lang=en', 'contexts': [{'text': 'Off-LinkedIn Visibility | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInLearningRecruiterSales NavigatorTalent HubSales InsightsMarketing SolutionsCorporate BillingTalent InsightsGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}, {'text': 'Off-LinkedIn Visibility | LinkedIn Help\\nDue to high support volume, it may take longer than usual to hear back from our Support Agents. \\xa0dismiss this messageAttention screen reader users, you are in a mobile optimized view and content may not appear where you expect it to be. To return the screen to its desktop view, please maximize your browser.Skip to contentSkip to searchClose jump menuClose menuGet help with:LinkedInSales NavigatorCorporate BillingTalent HubRecruiterMarketing SolutionsTalent InsightsLearningSales InsightsGo to LinkedInSign inHelpSign inContact usEnglish (English)Čeština (Czech)Deutsch (German)Bahasa Indonesia (Indonesian)Español (Spanish)Türkçe (Turkish)Français (French)हिंदी (Hindi)Italiano (Italian)日本語 (Japanese)Nederlands (Dutch)Português (Portuguese)Svenska (Swedish)Polski (Polish)Bahasa Malaysia (Malay)한국어 (Korean)Dansk (Danish)Norsk (Norwegian)Română (Romanian)Русский (Russian)Українська (Ukrainian)简体中文 (Chinese (Simplified))正體中文 (Chinese (Traditional))ภาษาไทย (Thai)العربية (Arabic)LinkedIn Corporation © 2023AboutTransparency CenterPrivacy and TermsCookiesCopyrightTermsPrivacyGuest controlsYour California Privacy ChoicesDismiss privacy menuLinkedIn Corporation © 2023', 'embedding': None, 'timestamp': None, 'pagenumber': ''}], 'base_url': None}] count=None\n" - ] - } - ], - "source": [ - "print(response)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[Document(page_content='import os\\nfrom canvasapi import Canvas\\nimport requests\\nfrom zipfile import ZipFile\\nfrom ai_ta_backend.aws import upload_data_files_to_s3\\nfrom ai_ta_backend.vector_database import Ingest\\n\\n\\nclass CanvasAPI():\\n def __init__(self):\\n self.canvas_client = Canvas(\"https://canvas.illinois.edu\", \\n os.getenv(\\'CANVAS_ACCESS_TOKEN\\'))\\n \\n def add_users(self, canvas_course_id: str, course_name: str):\\n \"\"\"\\n Get all users in a course\\n \"\"\"\\n course = self.canvas_client.get_course(canvas_course_id)\\n users = course.get_users()\\n user_emails = []\\n for user in users:\\n net_id = user.sis_user_id\\n email_id = net_id + \"@illinois.edu\"\\n user_emails.append(email_id)\\n \\n print(user_emails)\\n \\n if len(user_emails) > 0:\\n return \"Success\"\\n else:\\n return \"Failed\"\\n \\n def ingest_course_content(self, canvas_course_id: str, course_name: str):\\n \"\"\"\\n Ingests all Canvas course materials through the course ID.\\n \"\"\"\\n print(\"In ingest_course_content\")\\n\\n api_path = \"https://canvas.illinois.edu/api/v1/courses/\" + str(canvas_course_id)\\n headers = {\"Authorization\": \"Bearer \" + os.getenv(\\'CANVAS_ACCESS_TOKEN\\')}\\n\\n try:\\n # Start the content export\\n content_export_api_path = api_path + \"/content_exports?export_type=zip\"\\n start_content_export = requests.post(content_export_api_path, headers=headers)\\n content_export_id = start_content_export.json()[\\'id\\']\\n progress_url = start_content_export.json()[\\'progress_url\\']\\n\\n # Wait for the content export to finish\\n export_progress = requests.get(progress_url, headers=headers)\\n while export_progress.json()[\\'workflow_state\\'] != \\'completed\\':\\n export_progress = requests.get(progress_url, headers=headers)\\n \\n # View content export and get download URL\\n show_content_export_api_path = api_path + \"/content_exports/\" + str(content_export_id)\\n print(\"Show export path: \", show_content_export_api_path)\\n\\n show_content_export = requests.get(show_content_export_api_path, headers=headers)\\n download_url = show_content_export.json()[\\'attachment\\'][\\'url\\']\\n file_name = show_content_export.json()[\\'attachment\\'][\\'filename\\']\\n\\n # Create a directory for the content\\n directory = os.path.join(os.getcwd(), \"course_content\")\\n if not os.path.exists(directory):\\n os.mkdir(directory)\\n\\n # Download zip and save to directory\\n download = requests.get(download_url, headers=headers)\\n with open(os.path.join(directory, file_name), \\'wb\\') as f:\\n f.write(download.content)\\n print(\"Downloaded!\")\\n\\n # Extract and read from zip file\\n filepath = \"course_content/\" + file_name\\n with ZipFile(filepath, \\'r\\') as zip:\\n zip.printdir()\\n zip.extractall(\"course_content\")\\n print(\\'Done!\\')\\n os.remove(filepath)\\n\\n # Upload files to S3 and call bulk_ingest\\n s3_paths = upload_data_files_to_s3(course_name, \"course_content\")\\n ingest = Ingest()\\n canvas_ingest = ingest.bulk_ingest(s3_paths, course_name=course_name)\\n \\n return canvas_ingest\\n \\n except Exception as e:\\n print(e)\\n return \"Failed\"\\n\\n\\n ', metadata={'source': 'canvas.py'})]\n" - ] - } - ], - "source": [ - "from langchain.document_loaders import PythonLoader\n", - "\n", - "file = \"canvas.py\"\n", - "\n", - "loader = PythonLoader(file)\n", - "data = loader.load()\n", - "\n", - "print(data)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 27383e1232272d3592c0cab4ac34012edc7e3193 Mon Sep 17 00:00:00 2001 From: star-nox Date: Wed, 16 Aug 2023 16:46:22 -0500 Subject: [PATCH 06/21] added nomic viz --- ai_ta_backend/data_logging.py | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/ai_ta_backend/data_logging.py b/ai_ta_backend/data_logging.py index 133210d9..5d0527a3 100644 --- a/ai_ta_backend/data_logging.py +++ b/ai_ta_backend/data_logging.py @@ -3,6 +3,7 @@ from nomic import atlas from langchain.embeddings import OpenAIEmbeddings import numpy as np +import time class DataLog(): def __init__(self): @@ -21,34 +22,26 @@ def nomic_log(self, course_name:str, search_query:str, retrieved_contexts)-> str for context in retrieved_contexts: context_string += context['text'] + " " - print("context_string: ", context_string) + #print("context_string: ", context_string) # convert query and context to embeddings embeddings_model = OpenAIEmbeddings() - #embeddings = embeddings_model.embed_documents([search_query, context_string]) - #embeddings = np.array(embeddings) + embeddings = embeddings_model.embed_documents([search_query, context_string]) - num_embeddings = 2 - embeddings = np.random.rand(num_embeddings, 1536) + data = [{'course_name': course_name, 'query': search_query, 'id': time.time()}, + {'course_name': course_name, 'query': context_string, 'id': time.time()}] - data = [{'course': course_name, 'id': i} for i in range(len(embeddings))] print("len of data: ", len(data)) - print("len of embeddings: ", embeddings.shape) + print("len of embeddings: ", len(embeddings)) + print(data) - # project = atlas.map_embeddings(embeddings=np.array(embeddings), - # data=data, - # id_field='id', - # name='Search Query Viz', - # colorable_fields=['course']) - # print(project.maps) - - project = atlas.AtlasProject(name="Search Query Viz", add_datums_if_exists=True) - #map = project.get_map('Search Query Viz') + project = atlas.AtlasProject(name="User Query Text Viz", add_datums_if_exists=True) + map = project.get_map('Search Query Viz') print(project.name) - #print(map) + print(map) with project.wait_for_project_lock() as project: - project.add_embeddings(embeddings=embeddings, data=data) + project.add_embeddings(embeddings=np.array(embeddings), data=data) project.rebuild_maps() print("done") From 6f083403c556d9996e75d6a7368bf27eb9b818f3 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 21 Aug 2023 14:58:44 -0500 Subject: [PATCH 07/21] added canvas file update function --- .github/workflows/rules.yml | 50 +- .gitignore | 332 ++--- ai_ta_backend/arize_logging.py | 78 -- ai_ta_backend/canvas.py | 241 ++-- ai_ta_backend/data_logging.py | 49 - ai_ta_backend/extreme_context_stuffing.py | 1098 ++++++++--------- ai_ta_backend/main.py | 23 +- ai_ta_backend/update_materials.py | 73 ++ ai_ta_backend/utils_tokenization.py | 260 ++-- ai_ta_backend/vector_database.py | 7 +- ai_ta_backend/web_scrape.py | 772 ++++++------ ...for Artificial Intelligence Innovation.pdf | Bin 12 files changed, 1492 insertions(+), 1491 deletions(-) delete mode 100644 ai_ta_backend/arize_logging.py delete mode 100644 ai_ta_backend/data_logging.py create mode 100644 ai_ta_backend/update_materials.py rename {course_content => canvas_materials/canvas_course_37348_update}/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf (100%) diff --git a/.github/workflows/rules.yml b/.github/workflows/rules.yml index 9028fd94..bce16fd1 100644 --- a/.github/workflows/rules.yml +++ b/.github/workflows/rules.yml @@ -1,25 +1,25 @@ -name: Rules Check - -on: - pull_request: - branches: - - main - -jobs: - rules: - runs-on: ubuntu-latest - environment: lintrule - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 2 # this part is important! - - - name: Install Lint Rules - run: | - curl -fsSL https://www.lintrule.com/install.sh | bash - - - name: Run Lint Rules Check - run: | - rules check --secret "${{ secrets.LINTRULE_SECRET }}" +name: Rules Check + +on: + pull_request: + branches: + - main + +jobs: + rules: + runs-on: ubuntu-latest + environment: lintrule + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 2 # this part is important! + + - name: Install Lint Rules + run: | + curl -fsSL https://www.lintrule.com/install.sh | bash + + - name: Run Lint Rules Check + run: | + rules check --secret "${{ secrets.LINTRULE_SECRET }}" diff --git a/.gitignore b/.gitignore index 905e086a..9df55d43 100644 --- a/.gitignore +++ b/.gitignore @@ -1,166 +1,166 @@ -# don't sync coursera docs -coursera-dl/ -*parsed.json - -# don't expose env files -dummy.ipynb -.env -# Created by https://www.toptal.com/developers/gitignore/api/python -# Edit at https://www.toptal.com/developers/gitignore?templates=python - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coveage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -pytestdebug.log - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ -doc/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ -pythonenv* - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# profiling data -.prof - -# Virtualenv -# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ -.Python -[Bb]in -[Ii]nclude -[Ll]ib -[Ll]ib64 -[Ll]ocal -[Ss]cripts -pyvenv.cfg -.venv -pip-selfcheck.json - - -# End of https://www.toptal.com/developers/gitignore/api/python -.aider* +# don't sync coursera docs +coursera-dl/ +*parsed.json + +# don't expose env files +dummy.ipynb +.env +# Created by https://www.toptal.com/developers/gitignore/api/python +# Edit at https://www.toptal.com/developers/gitignore?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coveage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +pytestdebug.log + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ +doc/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ +pythonenv* + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# profiling data +.prof + +# Virtualenv +# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ +.Python +[Bb]in +[Ii]nclude +[Ll]ib +[Ll]ib64 +[Ll]ocal +[Ss]cripts +pyvenv.cfg +.venv +pip-selfcheck.json + + +# End of https://www.toptal.com/developers/gitignore/api/python +.aider* diff --git a/ai_ta_backend/arize_logging.py b/ai_ta_backend/arize_logging.py deleted file mode 100644 index 19a7c4d9..00000000 --- a/ai_ta_backend/arize_logging.py +++ /dev/null @@ -1,78 +0,0 @@ -from arize.api import Client -from arize.pandas.embeddings import EmbeddingGenerator, UseCases -# from arize.utils import ModelTypes -# from arize.utils.ModelTypes import GENERATIVE_LLM -from arize.utils.types import (Embedding, EmbeddingColumnNames, Environments, - Metrics, ModelTypes, Schema) - -# self.arize_client = Client(space_key=os.getenv('ARIZE_SPACE_KEY'), api_key=os.getenv('ARIZE_API_KEY')) # type: ignore - -def log_to_arize(self, course_name: str, user_question: str, llm_completion: str) -> str: - """ - Use LangChain map_reduce_QA to implement this in parallel. - Write a function that takes in a question, and returns a very long "stuffed" prompt for GPT-4 to answer on the front-end. (You only construct the prompt for GPT-4, you don't actually return the answer). - - References: - Example & Docs: https://python.langchain.com/en/latest/modules/chains/index_examples/question_answering.html#the-map-reduce-chain - Code: https://github.com/hwchase17/langchain/blob/4092fd21dcabd1de273ad902fae2186ae5347e03/langchain/chains/question_answering/map_reduce_prompt.py#L11 - """ - return f"TODO: Implement me! You asked for: {course_name}" - import pandas as pd - - features = { - 'state': 'wa', - 'city': 'seattle', - 'merchant_name': 'Starbucks Coffee', - 'pos_approved': True, - 'item_count': 2, - 'merchant_type': 'coffee shop', - 'charge_amount': 22.11, - } - - #example tags - tags = { - 'age': 21, - 'zip_code': '94610', - 'device_os': 'MacOS', - 'server_node_id': 120, - } - - #example embeddings - embedding_features = { - # 'image_embedding': Embedding( - # vector=np.array([1.0, 2, 3]), # type: ignore - # link_to_data='https://my-bucket.s3.us-west-2.amazonaws.com/puppy.png', - # ), - 'prompt': Embedding( - vector=pd.Series([6.0, 1.0, 2.0, 6.0]), # type: ignore - data='slightly different This is a test sentence', - ), - 'completion': Embedding( - vector=pd.Series([15.0, 10.0, 1.0, 9.0]), # type: ignore - data=['slightly', 'different', 'This', 'is', 'a', 'sample', 'token', 'array'], - ), - } - - #log the prediction - response = self.arize_client.log( - prediction_id=str(uuid.uuid4()), - prediction_label=llm_completion, - model_id='kas-model-1', - # model_type=ModelTypes.GENERATIVE_LLM, # I think this is a bug. - model_type=ModelTypes.SCORE_CATEGORICAL, - environment=Environments.PRODUCTION, - model_version='v1', - prediction_timestamp=int(datetime.datetime.now().timestamp()), - features=features, - embedding_features=embedding_features, - tags=tags, - ) - - ## Listen to response code to ensure successful delivery - res = response.result() - if res.status_code == 200: - print('Success sending Prediction!') - return "Success logging to Arize!" - else: - print(f'Log failed with response code {res.status_code}, {res.text}') - return f'Log failed with response code {res.status_code}, {res.text}' diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index 32ffa5a5..e7b59a10 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -1,93 +1,150 @@ -import os -from canvasapi import Canvas -import requests -from zipfile import ZipFile -from ai_ta_backend.aws import upload_data_files_to_s3 -from ai_ta_backend.vector_database import Ingest - - -class CanvasAPI(): - def __init__(self): - self.canvas_client = Canvas("https://canvas.illinois.edu", - os.getenv('CANVAS_ACCESS_TOKEN')) - - def add_users(self, canvas_course_id: str, course_name: str): - """ - Get all users in a course - """ - course = self.canvas_client.get_course(canvas_course_id) - users = course.get_users() - user_emails = [] - for user in users: - net_id = user.sis_user_id - email_id = net_id + "@illinois.edu" - user_emails.append(email_id) - - print(user_emails) - - if len(user_emails) > 0: - return "Success" - else: - return "Failed" - - def ingest_course_content(self, canvas_course_id: str, course_name: str): - """ - Ingests all Canvas course materials through the course ID. - """ - print("In ingest_course_content") - - api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) - headers = {"Authorization": "Bearer " + os.getenv('CANVAS_ACCESS_TOKEN')} - - try: - # Start the content export - content_export_api_path = api_path + "/content_exports?export_type=zip" - start_content_export = requests.post(content_export_api_path, headers=headers) - content_export_id = start_content_export.json()['id'] - progress_url = start_content_export.json()['progress_url'] - - # Wait for the content export to finish - export_progress = requests.get(progress_url, headers=headers) - while export_progress.json()['workflow_state'] != 'completed': - export_progress = requests.get(progress_url, headers=headers) - - # View content export and get download URL - show_content_export_api_path = api_path + "/content_exports/" + str(content_export_id) - print("Show export path: ", show_content_export_api_path) - - show_content_export = requests.get(show_content_export_api_path, headers=headers) - download_url = show_content_export.json()['attachment']['url'] - file_name = show_content_export.json()['attachment']['filename'] - - # Create a directory for the content - directory = os.path.join(os.getcwd(), "course_content") - if not os.path.exists(directory): - os.mkdir(directory) - - # Download zip and save to directory - download = requests.get(download_url, headers=headers) - with open(os.path.join(directory, file_name), 'wb') as f: - f.write(download.content) - print("Downloaded!") - - # Extract and read from zip file - filepath = "course_content/" + file_name - with ZipFile(filepath, 'r') as zip: - zip.printdir() - zip.extractall("course_content") - print('Done!') - os.remove(filepath) - - # Upload files to S3 and call bulk_ingest - s3_paths = upload_data_files_to_s3(course_name, "course_content") - ingest = Ingest() - canvas_ingest = ingest.bulk_ingest(s3_paths, course_name=course_name) - - return canvas_ingest - - except Exception as e: - print(e) - return "Failed" - - +import os +import shutil +from canvasapi import Canvas +import requests +from zipfile import ZipFile +from ai_ta_backend.aws import upload_data_files_to_s3 +from ai_ta_backend.vector_database import Ingest +from ai_ta_backend import update_materials + + +class CanvasAPI(): + def __init__(self): + self.canvas_client = Canvas("https://canvas.illinois.edu", + os.getenv('CANVAS_ACCESS_TOKEN')) + self.headers = {"Authorization": "Bearer " + os.getenv('CANVAS_ACCESS_TOKEN')} + + def add_users(self, canvas_course_id: str, course_name: str): + """ + Get all users in a course by course ID and add them to uiuc.chat course + - Currently collecting all email IDs in a list. + """ + course = self.canvas_client.get_course(canvas_course_id) + users = course.get_users() + user_emails = [] + for user in users: + net_id = user.sis_user_id + email_id = net_id + "@illinois.edu" + user_emails.append(email_id) + + print(user_emails) + + if len(user_emails) > 0: + return "Success" + else: + return "Failed" + + def download_course_content(self, canvas_course_id: int, dest_folder: str) -> str: + """ + Downloads all Canvas course materials through the course ID and stores in local directory. + 1. Export content as zip file + 2. Extract files into given directory + 3. Delete zip file + """ + print("In download_course_content") + try: + api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) + # Start content export + content_export_api_path = api_path + "/content_exports?export_type=zip" + start_content_export = requests.post(content_export_api_path, headers=self.headers) + content_export_id = start_content_export.json()['id'] + progress_url = start_content_export.json()['progress_url'] + + # Wait for the content export to finish + export_progress = requests.get(progress_url, headers=self.headers) + while export_progress.json()['workflow_state'] != 'completed': + export_progress = requests.get(progress_url, headers=self.headers) + + # View content export and get download URL + show_content_export_api_path = api_path + "/content_exports/" + str(content_export_id) + print("Show export path: ", show_content_export_api_path) + + show_content_export = requests.get(show_content_export_api_path, headers=self.headers) + download_url = show_content_export.json()['attachment']['url'] + file_name = show_content_export.json()['attachment']['filename'] + + # Create a directory for the content + directory = os.path.join(os.getcwd(), dest_folder) + + if not os.path.exists(directory): + print("path doesn't exist") + try: + os.mkdir(directory) + except OSError as e: + print(e) + + # Download zip and save to directory + download = requests.get(download_url, headers=self.headers) + with open(os.path.join(dest_folder, file_name), 'wb') as f: + f.write(download.content) + print("Downloaded!") + + # Extract and read from zip file + filepath = dest_folder + "/" + file_name + with ZipFile(filepath, 'r') as zip: + zip.printdir() + zip.extractall(dest_folder) + print('Done!') + os.remove(filepath) + + return "Success" + except Exception as e: + return "Failed! Error: " + str(e) + + + def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: + """ + Ingests all Canvas course materials through the course ID. + 1. Download zip file from Canvas and store in local directory + 2. Upload all files to S3 + 3. Call bulk_ingest() to ingest all files into QDRANT + 4. Delete extracted files from local directory + """ + print("In ingest_course_content") + try: + # Download files into course_content folder + folder_name = "canvas_course_" + str(canvas_course_id) + "_ingest" + folder_path = "canvas_materials/" + folder_name + + self.download_course_content(canvas_course_id, folder_path) + + # Upload files to S3 + s3_paths = upload_data_files_to_s3(course_name, folder_path) + + # Delete files from local directory + shutil.rmtree(folder_path) + + # Ingest files into QDRANT + ingest = Ingest() + canvas_ingest = ingest.bulk_ingest(s3_paths, course_name=course_name) + return canvas_ingest + + except Exception as e: + print(e) + return "Failed" + + def update_course_content(self, canvas_course_id: int, course_name: str) -> str: + """ + Updates all Canvas course materials through the course ID. + 1. Download zip file from Canvas + 2. Perform diff between downloaded files and existing S3 files + 3. Replace the changed files in S3 and QDRANT + """ + print("In update_course_content") + + api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) + headers = {"Authorization": "Bearer " + os.getenv('CANVAS_ACCESS_TOKEN')} + + try: + # Download course content + folder_name = "canvas_course_" + str(canvas_course_id) + "_update" + folder_path = os.path.join(os.getcwd(), "canvas_materials/" + folder_name) + self.download_course_content(canvas_course_id, folder_path) + + # Call diff function + response = update_materials.update_files(folder_path, course_name) + print(response) + return response + except Exception as e: + return "Failed! Error: " + str(e) \ No newline at end of file diff --git a/ai_ta_backend/data_logging.py b/ai_ta_backend/data_logging.py deleted file mode 100644 index 5d0527a3..00000000 --- a/ai_ta_backend/data_logging.py +++ /dev/null @@ -1,49 +0,0 @@ -import os -import nomic -from nomic import atlas -from langchain.embeddings import OpenAIEmbeddings -import numpy as np -import time - -class DataLog(): - def __init__(self): - self.login = nomic.login(os.getenv('NOMIC_API_KEY')) - - def nomic_log(self, course_name:str, search_query:str, retrieved_contexts)-> str: - """ - Logs user query and retrieved contexts to Nomic. - """ - print("course_name: ", course_name) - print("search_query: ", search_query) - print("retrieved_contexts: ", len(retrieved_contexts)) - - # concat all retrieved contexts into one string - context_string = "" - for context in retrieved_contexts: - context_string += context['text'] + " " - - #print("context_string: ", context_string) - - # convert query and context to embeddings - embeddings_model = OpenAIEmbeddings() - embeddings = embeddings_model.embed_documents([search_query, context_string]) - - data = [{'course_name': course_name, 'query': search_query, 'id': time.time()}, - {'course_name': course_name, 'query': context_string, 'id': time.time()}] - - print("len of data: ", len(data)) - print("len of embeddings: ", len(embeddings)) - print(data) - - project = atlas.AtlasProject(name="User Query Text Viz", add_datums_if_exists=True) - map = project.get_map('Search Query Viz') - print(project.name) - print(map) - - with project.wait_for_project_lock() as project: - project.add_embeddings(embeddings=np.array(embeddings), data=data) - project.rebuild_maps() - - print("done") - # log to Nomic - return "WIP" \ No newline at end of file diff --git a/ai_ta_backend/extreme_context_stuffing.py b/ai_ta_backend/extreme_context_stuffing.py index 887928b0..0c5aacba 100644 --- a/ai_ta_backend/extreme_context_stuffing.py +++ b/ai_ta_backend/extreme_context_stuffing.py @@ -1,549 +1,549 @@ -""" -API REQUEST PARALLEL PROCESSOR - -Using the OpenAI API to process lots of text quickly takes some care. -If you trickle in a million API requests one by one, they'll take days to complete. -If you flood a million API requests in parallel, they'll exceed the rate limits and fail with errors. -To maximize throughput, parallel requests need to be throttled to stay under rate limits. - -This script parallelizes requests to the OpenAI API while throttling to stay under rate limits. - -Features: -- Streams requests from file, to avoid running out of memory for giant jobs -- Makes requests concurrently, to maximize throughput -- Throttles request and token usage, to stay under rate limits -- Retries failed requests up to {max_attempts} times, to avoid missing data -- Logs errors, to diagnose problems with requests - -Example command to call script: -``` -python examples/api_request_parallel_processor.py \ - --requests_filepath examples/data/example_requests_to_parallel_process.jsonl \ - --save_filepath examples/data/example_requests_to_parallel_process_results.jsonl \ - --request_url https://api.openai.com/v1/embeddings \ - --max_requests_per_minute 1500 \ - --max_tokens_per_minute 6250000 \ - --token_encoding_name cl100k_base \ - --max_attempts 5 \ - --logging_level 20 -``` - -Inputs: -- requests_filepath : str - - path to the file containing the requests to be processed - - file should be a jsonl file, where each line is a json object with API parameters and an optional metadata field - - e.g., {"model": "text-embedding-ada-002", "input": "embed me", "metadata": {"row_id": 1}} - - as with all jsonl files, take care that newlines in the content are properly escaped (json.dumps does this automatically) - - an example file is provided at examples/data/example_requests_to_parallel_process.jsonl - - the code to generate the example file is appended to the bottom of this script -- save_filepath : str, optional - - path to the file where the results will be saved - - file will be a jsonl file, where each line is an array with the original request plus the API response - - e.g., [{"model": "text-embedding-ada-002", "input": "embed me"}, {...}] - - if omitted, results will be saved to {requests_filename}_results.jsonl -- request_url : str, optional - - URL of the API endpoint to call - - if omitted, will default to "https://api.openai.com/v1/embeddings" -- api_key : str, optional - - API key to use - - if omitted, the script will attempt to read it from an environment variable {os.getenv("OPENAI_API_KEY")} -- max_requests_per_minute : float, optional - - target number of requests to make per minute (will make less if limited by tokens) - - leave headroom by setting this to 50% or 75% of your limit - - if requests are limiting you, try batching multiple embeddings or completions into one request - - if omitted, will default to 1,500 -- max_tokens_per_minute : float, optional - - target number of tokens to use per minute (will use less if limited by requests) - - leave headroom by setting this to 50% or 75% of your limit - - if omitted, will default to 125,000 -- token_encoding_name : str, optional - - name of the token encoding used, as defined in the `tiktoken` package - - if omitted, will default to "cl100k_base" (used by `text-embedding-ada-002`) -- max_attempts : int, optional - - number of times to retry a failed request before giving up - - if omitted, will default to 5 -- logging_level : int, optional - - level of logging to use; higher numbers will log fewer messages - - 40 = ERROR; will log only when requests fail after all retries - - 30 = WARNING; will log when requests his rate limits or other errors - - 20 = INFO; will log when requests start and the status at finish - - 10 = DEBUG; will log various things as the loop runs to see when they occur - - if omitted, will default to 20 (INFO). - -The script is structured as follows: - - Imports - - Define main() - - Initialize things - - In main loop: - - Get next request if one is not already waiting for capacity - - Update available token & request capacity - - If enough capacity available, call API - - The loop pauses if a rate limit error is hit - - The loop breaks when no tasks remain - - Define dataclasses - - StatusTracker (stores script metadata counters; only one instance is created) - - APIRequest (stores API inputs, outputs, metadata; one method to call API) - - Define functions - - api_endpoint_from_url (extracts API endpoint from request URL) - - append_to_jsonl (writes to results file) - - num_tokens_consumed_from_request (bigger function to infer token usage from request) - - task_id_generator_function (yields 1, 2, 3, ...) - - Run main() -""" - -# import argparse -# import subprocess -# import tempfile -# from langchain.llms import OpenAI -import asyncio -import json -import logging -import os -import re -import time -from dataclasses import ( # for storing API inputs, outputs, and metadata - dataclass, field) -from typing import Any, List - -import aiohttp # for making API calls concurrently -import tiktoken # for counting tokens -from langchain.embeddings.openai import OpenAIEmbeddings -from langchain.vectorstores import Qdrant -from qdrant_client import QdrantClient, models - - -class OpenAIAPIProcessor: - - def __init__(self, input_prompts_list, request_url, api_key, max_requests_per_minute, max_tokens_per_minute, token_encoding_name, - max_attempts, logging_level): - self.request_url = request_url - self.api_key = api_key - self.max_requests_per_minute = max_requests_per_minute - self.max_tokens_per_minute = max_tokens_per_minute - self.token_encoding_name = token_encoding_name - self.max_attempts = max_attempts - self.logging_level = logging_level - self.input_prompts_list: List[dict] = input_prompts_list - self.results = [] - self.cleaned_results: List[str] = [] - - async def process_api_requests_from_file(self): - """Processes API requests in parallel, throttling to stay under rate limits.""" - # constants - seconds_to_pause_after_rate_limit_error = 15 - seconds_to_sleep_each_loop = 0.001 # 1 ms limits max throughput to 1,000 requests per second - - # initialize logging - logging.basicConfig(level=self.logging_level) - logging.debug(f"Logging initialized at level {self.logging_level}") - - # infer API endpoint and construct request header - api_endpoint = api_endpoint_from_url(self.request_url) - request_header = {"Authorization": f"Bearer {self.api_key}"} - - # initialize trackers - queue_of_requests_to_retry = asyncio.Queue() - task_id_generator = task_id_generator_function() # generates integer IDs of 1, 2, 3, ... - status_tracker = StatusTracker() # single instance to track a collection of variables - next_request = None # variable to hold the next request to call - - # initialize available capacity counts - available_request_capacity = self.max_requests_per_minute - available_token_capacity = self.max_tokens_per_minute - last_update_time = time.time() - - # initialize flags - file_not_finished = True # after file is empty, we'll skip reading it - logging.debug(f"Initialization complete.") - - requests = self.input_prompts_list.__iter__() - - logging.debug(f"File opened. Entering main loop") - - task_list = [] - - while True: - # get next request (if one is not already waiting for capacity) - if next_request is None: - if not queue_of_requests_to_retry.empty(): - next_request = queue_of_requests_to_retry.get_nowait() - logging.debug(f"Retrying request {next_request.task_id}: {next_request}") - elif file_not_finished: - try: - # get new request - # request_json = json.loads(next(requests)) - request_json = next(requests) - - next_request = APIRequest(task_id=next(task_id_generator), - request_json=request_json, - token_consumption=num_tokens_consumed_from_request(request_json, api_endpoint, - self.token_encoding_name), - attempts_left=self.max_attempts, - metadata=request_json.pop("metadata", None)) - status_tracker.num_tasks_started += 1 - status_tracker.num_tasks_in_progress += 1 - logging.debug(f"Reading request {next_request.task_id}: {next_request}") - except StopIteration: - # if file runs out, set flag to stop reading it - logging.debug("Read file exhausted") - file_not_finished = False - - # update available capacity - current_time = time.time() - seconds_since_update = current_time - last_update_time - available_request_capacity = min( - available_request_capacity + self.max_requests_per_minute * seconds_since_update / 60.0, - self.max_requests_per_minute, - ) - available_token_capacity = min( - available_token_capacity + self.max_tokens_per_minute * seconds_since_update / 60.0, - self.max_tokens_per_minute, - ) - last_update_time = current_time - - # if enough capacity available, call API - if next_request: - next_request_tokens = next_request.token_consumption - if (available_request_capacity >= 1 and available_token_capacity >= next_request_tokens): - # update counters - available_request_capacity -= 1 - available_token_capacity -= next_request_tokens - next_request.attempts_left -= 1 - - # call API - # TODO: NOT SURE RESPONSE WILL WORK HERE - task = asyncio.create_task( - next_request.call_api( - request_url=self.request_url, - request_header=request_header, - retry_queue=queue_of_requests_to_retry, - status_tracker=status_tracker, - )) - task_list.append(task) - next_request = None # reset next_request to empty - - print("status_tracker.num_tasks_in_progress", status_tracker.num_tasks_in_progress) - # one_task_result = task.result() - # print("one_task_result", one_task_result) - - # if all tasks are finished, break - if status_tracker.num_tasks_in_progress == 0: - break - - # main loop sleeps briefly so concurrent tasks can run - await asyncio.sleep(seconds_to_sleep_each_loop) - - # if a rate limit error was hit recently, pause to cool down - seconds_since_rate_limit_error = (time.time() - status_tracker.time_of_last_rate_limit_error) - if seconds_since_rate_limit_error < seconds_to_pause_after_rate_limit_error: - remaining_seconds_to_pause = (seconds_to_pause_after_rate_limit_error - seconds_since_rate_limit_error) - await asyncio.sleep(remaining_seconds_to_pause) - # ^e.g., if pause is 15 seconds and final limit was hit 5 seconds ago - logging.warn( - f"Pausing to cool down until {time.ctime(status_tracker.time_of_last_rate_limit_error + seconds_to_pause_after_rate_limit_error)}" - ) - - # after finishing, log final status - logging.info(f"""Parallel processing complete. About to return.""") - if status_tracker.num_tasks_failed > 0: - logging.warning(f"{status_tracker.num_tasks_failed} / {status_tracker.num_tasks_started} requests failed.") - if status_tracker.num_rate_limit_errors > 0: - logging.warning(f"{status_tracker.num_rate_limit_errors} rate limit errors received. Consider running at a lower rate.") - - # asyncio wait for task_list - await asyncio.wait(task_list) - - for task in task_list: - openai_completion = task.result() - self.results.append(openai_completion) - - self.cleaned_results: List[str] = extract_context_from_results(self.results) - - -def extract_context_from_results(results: List[Any]) -> List[str]: - assistant_contents = [] - total_prompt_tokens = 0 - total_completion_tokens = 0 - - for element in results: - if element is not None: - for item in element: - if 'choices' in item: - for choice in item['choices']: - if choice['message']['role'] == 'assistant': - assistant_contents.append(choice['message']['content']) - total_prompt_tokens += item['usage']['prompt_tokens'] - total_completion_tokens += item['usage']['completion_tokens'] - - # print("Assistant Contents:", assistant_contents) - print("Total Prompt Tokens:", total_prompt_tokens) - print("Total Completion Tokens:", total_completion_tokens) - turbo_total_cost = (total_prompt_tokens * 0.0015) + (total_completion_tokens * 0.002) - print("Total cost (3.5-turbo):", (total_prompt_tokens * 0.0015), " + Completions: ", (total_completion_tokens * 0.002), " = ", - turbo_total_cost) - - gpt4_total_cost = (total_prompt_tokens * 0.03) + (total_completion_tokens * 0.06) - print("Hypothetical cost for GPT-4:", (total_prompt_tokens * 0.03), " + Completions: ", (total_completion_tokens * 0.06), " = ", - gpt4_total_cost) - print("GPT-4 cost premium: ", (gpt4_total_cost / turbo_total_cost), "x") - return assistant_contents #, total_prompt_tokens, total_completion_tokens - - -# dataclasses - - -@dataclass -class StatusTracker: - """Stores metadata about the script's progress. Only one instance is created.""" - - num_tasks_started: int = 0 - num_tasks_in_progress: int = 0 # script ends when this reaches 0 - num_tasks_succeeded: int = 0 - num_tasks_failed: int = 0 - num_rate_limit_errors: int = 0 - num_api_errors: int = 0 # excluding rate limit errors, counted above - num_other_errors: int = 0 - time_of_last_rate_limit_error: float = 0 # used to cool off after hitting rate limits - - -@dataclass -class APIRequest: - """Stores an API request's inputs, outputs, and other metadata. Contains a method to make an API call.""" - - task_id: int - request_json: dict - token_consumption: int - attempts_left: int - metadata: dict - result: list = field(default_factory=list) - - async def call_api( - self, - request_url: str, - request_header: dict, - retry_queue: asyncio.Queue, - status_tracker: StatusTracker, - ): - """Calls the OpenAI API and saves results.""" - logging.info(f"Starting request #{self.task_id}") - error = None - try: - async with aiohttp.ClientSession() as session: - async with session.post(url=request_url, headers=request_header, json=self.request_json) as response: - response = await response.json() - if "error" in response: - logging.warning(f"Request {self.task_id} failed with error {response['error']}") - status_tracker.num_api_errors += 1 - error = response - if "Rate limit" in response["error"].get("message", ""): - status_tracker.time_of_last_rate_limit_error = time.time() - status_tracker.num_rate_limit_errors += 1 - status_tracker.num_api_errors -= 1 # rate limit errors are counted separately - - except Exception as e: # catching naked exceptions is bad practice, but in this case we'll log & save them - logging.warning(f"Request {self.task_id} failed with Exception {e}") - status_tracker.num_other_errors += 1 - error = e - if error: - self.result.append(error) - if self.attempts_left: - retry_queue.put_nowait(self) - else: - logging.error(f"Request {self.request_json} failed after all attempts. Saving errors: {self.result}") - data = ([self.request_json, [str(e) for e in self.result], self.metadata] - if self.metadata else [self.request_json, [str(e) for e in self.result]]) - #append_to_jsonl(data, save_filepath) - status_tracker.num_tasks_in_progress -= 1 - status_tracker.num_tasks_failed += 1 - return data - else: - data = ([self.request_json, response, self.metadata] if self.metadata else [self.request_json, response]) # type: ignore - #append_to_jsonl(data, save_filepath) - status_tracker.num_tasks_in_progress -= 1 - status_tracker.num_tasks_succeeded += 1 - # logging.debug(f"Request {self.task_id} saved to {save_filepath}") - - return data - - -# functions - - -def api_endpoint_from_url(request_url: str): - """Extract the API endpoint from the request URL.""" - match = re.search('^https://[^/]+/v\\d+/(.+)$', request_url) - return match[1] # type: ignore - - -def append_to_jsonl(data, filename: str) -> None: - """Append a json payload to the end of a jsonl file.""" - json_string = json.dumps(data) - with open(filename, "a") as f: - f.write(json_string + "\n") - - -def num_tokens_consumed_from_request( - request_json: dict, - api_endpoint: str, - token_encoding_name: str, -): - """Count the number of tokens in the request. Only supports completion and embedding requests.""" - encoding = tiktoken.get_encoding(token_encoding_name) - # if completions request, tokens = prompt + n * max_tokens - if api_endpoint.endswith("completions"): - max_tokens = request_json.get("max_tokens", 15) - n = request_json.get("n", 1) - completion_tokens = n * max_tokens - - # chat completions - if api_endpoint.startswith("chat/"): - num_tokens = 0 - for message in request_json["messages"]: - num_tokens += 4 # every message follows {role/name}\n{content}\n - for key, value in message.items(): - num_tokens += len(encoding.encode(value)) - if key == "name": # if there's a name, the role is omitted - num_tokens -= 1 # role is always required and always 1 token - num_tokens += 2 # every reply is primed with assistant - return num_tokens + completion_tokens - # normal completions - else: - prompt = request_json["prompt"] - if isinstance(prompt, str): # single prompt - prompt_tokens = len(encoding.encode(prompt)) - num_tokens = prompt_tokens + completion_tokens - return num_tokens - elif isinstance(prompt, list): # multiple prompts - prompt_tokens = sum([len(encoding.encode(p)) for p in prompt]) - num_tokens = prompt_tokens + completion_tokens * len(prompt) - return num_tokens - else: - raise TypeError('Expecting either string or list of strings for "prompt" field in completion request') - # if embeddings request, tokens = input tokens - elif api_endpoint == "embeddings": - input = request_json["input"] - if isinstance(input, str): # single input - num_tokens = len(encoding.encode(input)) - return num_tokens - elif isinstance(input, list): # multiple inputs - num_tokens = sum([len(encoding.encode(i)) for i in input]) - return num_tokens - else: - raise TypeError('Expecting either string or list of strings for "inputs" field in embedding request') - # more logic needed to support other API calls (e.g., edits, inserts, DALL-E) - else: - raise NotImplementedError(f'API endpoint "{api_endpoint}" not implemented in this script') - - -def task_id_generator_function(): - """Generate integers 0, 1, 2, and so on.""" - task_id = 0 - while True: - yield task_id - task_id += 1 - - -# run script -# if __name__ == "__main__": -# qdrant_client = QdrantClient( -# url=os.getenv('QDRANT_URL'), -# api_key=os.getenv('QDRANT_API_KEY'), -# ) -# vectorstore = Qdrant( -# client=qdrant_client, -# collection_name=os.getenv('QDRANT_COLLECTION_NAME'), # type: ignore -# embeddings=OpenAIEmbeddings()) # type: ignore - -# user_question = "What is the significance of Six Sigma?" -# k = 4 -# fetch_k = 200 -# found_docs = vectorstore.max_marginal_relevance_search(user_question, k=k, fetch_k=200) - -# requests = [] -# for i, doc in enumerate(found_docs): -# dictionary = { -# "model": "gpt-3.5-turbo-0613", # 4k context -# "messages": [{ -# "role": "system", -# "content": "You are a factual summarizer of partial documents. Stick to the facts (including partial info when necessary to avoid making up potentially incorrect details), and say I don't know when necessary." -# }, { -# "role": -# "user", -# "content": -# f"What is a comprehensive summary of the given text, based on the question:\n{doc.page_content}\nQuestion: {user_question}\nThe summary should cover all the key points only relevant to the question, while also condensing the information into a concise and easy-to-understand format. Please ensure that the summary includes relevant details and examples that support the main ideas, while avoiding any unnecessary information or repetition. Feel free to include references, sentence fragments, keywords, or anything that could help someone learn about it, only as it relates to the given question. The length of the summary should be as short as possible, without losing relevant information.\n" -# }], -# "n": 1, -# "max_tokens": 500, -# "metadata": doc.metadata -# } -# requests.append(dictionary) - -# oai = OpenAIAPIProcessor( -# input_prompts_list=requests, -# request_url='https://api.openai.com/v1/chat/completions', -# api_key=os.getenv("OPENAI_API_KEY"), -# max_requests_per_minute=1500, -# max_tokens_per_minute=90000, -# token_encoding_name='cl100k_base', -# max_attempts=5, -# logging_level=20, -# ) -# # run script -# asyncio.run(oai.process_api_requests_from_file()) - -# assistant_contents = [] -# total_prompt_tokens = 0 -# total_completion_tokens = 0 - -# print("Results, end of main: ", oai.results) -# print("-"*50) - -# # jsonObject = json.loads(oai.results) -# for element in oai.results: -# for item in element: -# if 'choices' in item: -# for choice in item['choices']: -# if choice['message']['role'] == 'assistant': -# assistant_contents.append(choice['message']['content']) -# total_prompt_tokens += item['usage']['prompt_tokens'] -# total_completion_tokens += item['usage']['completion_tokens'] - -# print("Assistant Contents:", assistant_contents) -# print("Total Prompt Tokens:", total_prompt_tokens) -# print("Total Completion Tokens:", total_completion_tokens) -# turbo_total_cost = (total_prompt_tokens * 0.0015) + (total_completion_tokens * 0.002) -# print("Total cost (3.5-turbo):", (total_prompt_tokens * 0.0015), " + Completions: ", (total_completion_tokens * 0.002), " = ", turbo_total_cost) - -# gpt4_total_cost = (total_prompt_tokens * 0.03) + (total_completion_tokens * 0.06) -# print("Hypothetical cost for GPT-4:", (total_prompt_tokens * 0.03), " + Completions: ", (total_completion_tokens * 0.06), " = ", gpt4_total_cost) -# print("GPT-4 cost premium: ", (gpt4_total_cost / turbo_total_cost), "x") - ''' - Pricing: - GPT4: - * $0.03 prompt - * $0.06 completions - 3.5-turbo: - * $0.0015 prompt - * $0.002 completions - ''' -""" -APPENDIX - -The example requests file at openai-cookbook/examples/data/example_requests_to_parallel_process.jsonl contains 10,000 requests to text-embedding-ada-002. - -It was generated with the following code: - -```python -import json - -filename = "data/example_requests_to_parallel_process.jsonl" -n_requests = 10_000 -jobs = [{"model": "text-embedding-ada-002", "input": str(x) + "\n"} for x in range(n_requests)] -with open(filename, "w") as f: - for job in jobs: - json_string = json.dumps(job) - f.write(json_string + "\n") -``` - -As with all jsonl files, take care that newlines in the content are properly escaped (json.dumps does this automatically). -""" +""" +API REQUEST PARALLEL PROCESSOR + +Using the OpenAI API to process lots of text quickly takes some care. +If you trickle in a million API requests one by one, they'll take days to complete. +If you flood a million API requests in parallel, they'll exceed the rate limits and fail with errors. +To maximize throughput, parallel requests need to be throttled to stay under rate limits. + +This script parallelizes requests to the OpenAI API while throttling to stay under rate limits. + +Features: +- Streams requests from file, to avoid running out of memory for giant jobs +- Makes requests concurrently, to maximize throughput +- Throttles request and token usage, to stay under rate limits +- Retries failed requests up to {max_attempts} times, to avoid missing data +- Logs errors, to diagnose problems with requests + +Example command to call script: +``` +python examples/api_request_parallel_processor.py \ + --requests_filepath examples/data/example_requests_to_parallel_process.jsonl \ + --save_filepath examples/data/example_requests_to_parallel_process_results.jsonl \ + --request_url https://api.openai.com/v1/embeddings \ + --max_requests_per_minute 1500 \ + --max_tokens_per_minute 6250000 \ + --token_encoding_name cl100k_base \ + --max_attempts 5 \ + --logging_level 20 +``` + +Inputs: +- requests_filepath : str + - path to the file containing the requests to be processed + - file should be a jsonl file, where each line is a json object with API parameters and an optional metadata field + - e.g., {"model": "text-embedding-ada-002", "input": "embed me", "metadata": {"row_id": 1}} + - as with all jsonl files, take care that newlines in the content are properly escaped (json.dumps does this automatically) + - an example file is provided at examples/data/example_requests_to_parallel_process.jsonl + - the code to generate the example file is appended to the bottom of this script +- save_filepath : str, optional + - path to the file where the results will be saved + - file will be a jsonl file, where each line is an array with the original request plus the API response + - e.g., [{"model": "text-embedding-ada-002", "input": "embed me"}, {...}] + - if omitted, results will be saved to {requests_filename}_results.jsonl +- request_url : str, optional + - URL of the API endpoint to call + - if omitted, will default to "https://api.openai.com/v1/embeddings" +- api_key : str, optional + - API key to use + - if omitted, the script will attempt to read it from an environment variable {os.getenv("OPENAI_API_KEY")} +- max_requests_per_minute : float, optional + - target number of requests to make per minute (will make less if limited by tokens) + - leave headroom by setting this to 50% or 75% of your limit + - if requests are limiting you, try batching multiple embeddings or completions into one request + - if omitted, will default to 1,500 +- max_tokens_per_minute : float, optional + - target number of tokens to use per minute (will use less if limited by requests) + - leave headroom by setting this to 50% or 75% of your limit + - if omitted, will default to 125,000 +- token_encoding_name : str, optional + - name of the token encoding used, as defined in the `tiktoken` package + - if omitted, will default to "cl100k_base" (used by `text-embedding-ada-002`) +- max_attempts : int, optional + - number of times to retry a failed request before giving up + - if omitted, will default to 5 +- logging_level : int, optional + - level of logging to use; higher numbers will log fewer messages + - 40 = ERROR; will log only when requests fail after all retries + - 30 = WARNING; will log when requests his rate limits or other errors + - 20 = INFO; will log when requests start and the status at finish + - 10 = DEBUG; will log various things as the loop runs to see when they occur + - if omitted, will default to 20 (INFO). + +The script is structured as follows: + - Imports + - Define main() + - Initialize things + - In main loop: + - Get next request if one is not already waiting for capacity + - Update available token & request capacity + - If enough capacity available, call API + - The loop pauses if a rate limit error is hit + - The loop breaks when no tasks remain + - Define dataclasses + - StatusTracker (stores script metadata counters; only one instance is created) + - APIRequest (stores API inputs, outputs, metadata; one method to call API) + - Define functions + - api_endpoint_from_url (extracts API endpoint from request URL) + - append_to_jsonl (writes to results file) + - num_tokens_consumed_from_request (bigger function to infer token usage from request) + - task_id_generator_function (yields 1, 2, 3, ...) + - Run main() +""" + +# import argparse +# import subprocess +# import tempfile +# from langchain.llms import OpenAI +import asyncio +import json +import logging +import os +import re +import time +from dataclasses import ( # for storing API inputs, outputs, and metadata + dataclass, field) +from typing import Any, List + +import aiohttp # for making API calls concurrently +import tiktoken # for counting tokens +from langchain.embeddings.openai import OpenAIEmbeddings +from langchain.vectorstores import Qdrant +from qdrant_client import QdrantClient, models + + +class OpenAIAPIProcessor: + + def __init__(self, input_prompts_list, request_url, api_key, max_requests_per_minute, max_tokens_per_minute, token_encoding_name, + max_attempts, logging_level): + self.request_url = request_url + self.api_key = api_key + self.max_requests_per_minute = max_requests_per_minute + self.max_tokens_per_minute = max_tokens_per_minute + self.token_encoding_name = token_encoding_name + self.max_attempts = max_attempts + self.logging_level = logging_level + self.input_prompts_list: List[dict] = input_prompts_list + self.results = [] + self.cleaned_results: List[str] = [] + + async def process_api_requests_from_file(self): + """Processes API requests in parallel, throttling to stay under rate limits.""" + # constants + seconds_to_pause_after_rate_limit_error = 15 + seconds_to_sleep_each_loop = 0.001 # 1 ms limits max throughput to 1,000 requests per second + + # initialize logging + logging.basicConfig(level=self.logging_level) + logging.debug(f"Logging initialized at level {self.logging_level}") + + # infer API endpoint and construct request header + api_endpoint = api_endpoint_from_url(self.request_url) + request_header = {"Authorization": f"Bearer {self.api_key}"} + + # initialize trackers + queue_of_requests_to_retry = asyncio.Queue() + task_id_generator = task_id_generator_function() # generates integer IDs of 1, 2, 3, ... + status_tracker = StatusTracker() # single instance to track a collection of variables + next_request = None # variable to hold the next request to call + + # initialize available capacity counts + available_request_capacity = self.max_requests_per_minute + available_token_capacity = self.max_tokens_per_minute + last_update_time = time.time() + + # initialize flags + file_not_finished = True # after file is empty, we'll skip reading it + logging.debug(f"Initialization complete.") + + requests = self.input_prompts_list.__iter__() + + logging.debug(f"File opened. Entering main loop") + + task_list = [] + + while True: + # get next request (if one is not already waiting for capacity) + if next_request is None: + if not queue_of_requests_to_retry.empty(): + next_request = queue_of_requests_to_retry.get_nowait() + logging.debug(f"Retrying request {next_request.task_id}: {next_request}") + elif file_not_finished: + try: + # get new request + # request_json = json.loads(next(requests)) + request_json = next(requests) + + next_request = APIRequest(task_id=next(task_id_generator), + request_json=request_json, + token_consumption=num_tokens_consumed_from_request(request_json, api_endpoint, + self.token_encoding_name), + attempts_left=self.max_attempts, + metadata=request_json.pop("metadata", None)) + status_tracker.num_tasks_started += 1 + status_tracker.num_tasks_in_progress += 1 + logging.debug(f"Reading request {next_request.task_id}: {next_request}") + except StopIteration: + # if file runs out, set flag to stop reading it + logging.debug("Read file exhausted") + file_not_finished = False + + # update available capacity + current_time = time.time() + seconds_since_update = current_time - last_update_time + available_request_capacity = min( + available_request_capacity + self.max_requests_per_minute * seconds_since_update / 60.0, + self.max_requests_per_minute, + ) + available_token_capacity = min( + available_token_capacity + self.max_tokens_per_minute * seconds_since_update / 60.0, + self.max_tokens_per_minute, + ) + last_update_time = current_time + + # if enough capacity available, call API + if next_request: + next_request_tokens = next_request.token_consumption + if (available_request_capacity >= 1 and available_token_capacity >= next_request_tokens): + # update counters + available_request_capacity -= 1 + available_token_capacity -= next_request_tokens + next_request.attempts_left -= 1 + + # call API + # TODO: NOT SURE RESPONSE WILL WORK HERE + task = asyncio.create_task( + next_request.call_api( + request_url=self.request_url, + request_header=request_header, + retry_queue=queue_of_requests_to_retry, + status_tracker=status_tracker, + )) + task_list.append(task) + next_request = None # reset next_request to empty + + print("status_tracker.num_tasks_in_progress", status_tracker.num_tasks_in_progress) + # one_task_result = task.result() + # print("one_task_result", one_task_result) + + # if all tasks are finished, break + if status_tracker.num_tasks_in_progress == 0: + break + + # main loop sleeps briefly so concurrent tasks can run + await asyncio.sleep(seconds_to_sleep_each_loop) + + # if a rate limit error was hit recently, pause to cool down + seconds_since_rate_limit_error = (time.time() - status_tracker.time_of_last_rate_limit_error) + if seconds_since_rate_limit_error < seconds_to_pause_after_rate_limit_error: + remaining_seconds_to_pause = (seconds_to_pause_after_rate_limit_error - seconds_since_rate_limit_error) + await asyncio.sleep(remaining_seconds_to_pause) + # ^e.g., if pause is 15 seconds and final limit was hit 5 seconds ago + logging.warn( + f"Pausing to cool down until {time.ctime(status_tracker.time_of_last_rate_limit_error + seconds_to_pause_after_rate_limit_error)}" + ) + + # after finishing, log final status + logging.info(f"""Parallel processing complete. About to return.""") + if status_tracker.num_tasks_failed > 0: + logging.warning(f"{status_tracker.num_tasks_failed} / {status_tracker.num_tasks_started} requests failed.") + if status_tracker.num_rate_limit_errors > 0: + logging.warning(f"{status_tracker.num_rate_limit_errors} rate limit errors received. Consider running at a lower rate.") + + # asyncio wait for task_list + await asyncio.wait(task_list) + + for task in task_list: + openai_completion = task.result() + self.results.append(openai_completion) + + self.cleaned_results: List[str] = extract_context_from_results(self.results) + + +def extract_context_from_results(results: List[Any]) -> List[str]: + assistant_contents = [] + total_prompt_tokens = 0 + total_completion_tokens = 0 + + for element in results: + if element is not None: + for item in element: + if 'choices' in item: + for choice in item['choices']: + if choice['message']['role'] == 'assistant': + assistant_contents.append(choice['message']['content']) + total_prompt_tokens += item['usage']['prompt_tokens'] + total_completion_tokens += item['usage']['completion_tokens'] + + # print("Assistant Contents:", assistant_contents) + print("Total Prompt Tokens:", total_prompt_tokens) + print("Total Completion Tokens:", total_completion_tokens) + turbo_total_cost = (total_prompt_tokens * 0.0015) + (total_completion_tokens * 0.002) + print("Total cost (3.5-turbo):", (total_prompt_tokens * 0.0015), " + Completions: ", (total_completion_tokens * 0.002), " = ", + turbo_total_cost) + + gpt4_total_cost = (total_prompt_tokens * 0.03) + (total_completion_tokens * 0.06) + print("Hypothetical cost for GPT-4:", (total_prompt_tokens * 0.03), " + Completions: ", (total_completion_tokens * 0.06), " = ", + gpt4_total_cost) + print("GPT-4 cost premium: ", (gpt4_total_cost / turbo_total_cost), "x") + return assistant_contents #, total_prompt_tokens, total_completion_tokens + + +# dataclasses + + +@dataclass +class StatusTracker: + """Stores metadata about the script's progress. Only one instance is created.""" + + num_tasks_started: int = 0 + num_tasks_in_progress: int = 0 # script ends when this reaches 0 + num_tasks_succeeded: int = 0 + num_tasks_failed: int = 0 + num_rate_limit_errors: int = 0 + num_api_errors: int = 0 # excluding rate limit errors, counted above + num_other_errors: int = 0 + time_of_last_rate_limit_error: float = 0 # used to cool off after hitting rate limits + + +@dataclass +class APIRequest: + """Stores an API request's inputs, outputs, and other metadata. Contains a method to make an API call.""" + + task_id: int + request_json: dict + token_consumption: int + attempts_left: int + metadata: dict + result: list = field(default_factory=list) + + async def call_api( + self, + request_url: str, + request_header: dict, + retry_queue: asyncio.Queue, + status_tracker: StatusTracker, + ): + """Calls the OpenAI API and saves results.""" + logging.info(f"Starting request #{self.task_id}") + error = None + try: + async with aiohttp.ClientSession() as session: + async with session.post(url=request_url, headers=request_header, json=self.request_json) as response: + response = await response.json() + if "error" in response: + logging.warning(f"Request {self.task_id} failed with error {response['error']}") + status_tracker.num_api_errors += 1 + error = response + if "Rate limit" in response["error"].get("message", ""): + status_tracker.time_of_last_rate_limit_error = time.time() + status_tracker.num_rate_limit_errors += 1 + status_tracker.num_api_errors -= 1 # rate limit errors are counted separately + + except Exception as e: # catching naked exceptions is bad practice, but in this case we'll log & save them + logging.warning(f"Request {self.task_id} failed with Exception {e}") + status_tracker.num_other_errors += 1 + error = e + if error: + self.result.append(error) + if self.attempts_left: + retry_queue.put_nowait(self) + else: + logging.error(f"Request {self.request_json} failed after all attempts. Saving errors: {self.result}") + data = ([self.request_json, [str(e) for e in self.result], self.metadata] + if self.metadata else [self.request_json, [str(e) for e in self.result]]) + #append_to_jsonl(data, save_filepath) + status_tracker.num_tasks_in_progress -= 1 + status_tracker.num_tasks_failed += 1 + return data + else: + data = ([self.request_json, response, self.metadata] if self.metadata else [self.request_json, response]) # type: ignore + #append_to_jsonl(data, save_filepath) + status_tracker.num_tasks_in_progress -= 1 + status_tracker.num_tasks_succeeded += 1 + # logging.debug(f"Request {self.task_id} saved to {save_filepath}") + + return data + + +# functions + + +def api_endpoint_from_url(request_url: str): + """Extract the API endpoint from the request URL.""" + match = re.search('^https://[^/]+/v\\d+/(.+)$', request_url) + return match[1] # type: ignore + + +def append_to_jsonl(data, filename: str) -> None: + """Append a json payload to the end of a jsonl file.""" + json_string = json.dumps(data) + with open(filename, "a") as f: + f.write(json_string + "\n") + + +def num_tokens_consumed_from_request( + request_json: dict, + api_endpoint: str, + token_encoding_name: str, +): + """Count the number of tokens in the request. Only supports completion and embedding requests.""" + encoding = tiktoken.get_encoding(token_encoding_name) + # if completions request, tokens = prompt + n * max_tokens + if api_endpoint.endswith("completions"): + max_tokens = request_json.get("max_tokens", 15) + n = request_json.get("n", 1) + completion_tokens = n * max_tokens + + # chat completions + if api_endpoint.startswith("chat/"): + num_tokens = 0 + for message in request_json["messages"]: + num_tokens += 4 # every message follows {role/name}\n{content}\n + for key, value in message.items(): + num_tokens += len(encoding.encode(value)) + if key == "name": # if there's a name, the role is omitted + num_tokens -= 1 # role is always required and always 1 token + num_tokens += 2 # every reply is primed with assistant + return num_tokens + completion_tokens + # normal completions + else: + prompt = request_json["prompt"] + if isinstance(prompt, str): # single prompt + prompt_tokens = len(encoding.encode(prompt)) + num_tokens = prompt_tokens + completion_tokens + return num_tokens + elif isinstance(prompt, list): # multiple prompts + prompt_tokens = sum([len(encoding.encode(p)) for p in prompt]) + num_tokens = prompt_tokens + completion_tokens * len(prompt) + return num_tokens + else: + raise TypeError('Expecting either string or list of strings for "prompt" field in completion request') + # if embeddings request, tokens = input tokens + elif api_endpoint == "embeddings": + input = request_json["input"] + if isinstance(input, str): # single input + num_tokens = len(encoding.encode(input)) + return num_tokens + elif isinstance(input, list): # multiple inputs + num_tokens = sum([len(encoding.encode(i)) for i in input]) + return num_tokens + else: + raise TypeError('Expecting either string or list of strings for "inputs" field in embedding request') + # more logic needed to support other API calls (e.g., edits, inserts, DALL-E) + else: + raise NotImplementedError(f'API endpoint "{api_endpoint}" not implemented in this script') + + +def task_id_generator_function(): + """Generate integers 0, 1, 2, and so on.""" + task_id = 0 + while True: + yield task_id + task_id += 1 + + +# run script +# if __name__ == "__main__": +# qdrant_client = QdrantClient( +# url=os.getenv('QDRANT_URL'), +# api_key=os.getenv('QDRANT_API_KEY'), +# ) +# vectorstore = Qdrant( +# client=qdrant_client, +# collection_name=os.getenv('QDRANT_COLLECTION_NAME'), # type: ignore +# embeddings=OpenAIEmbeddings()) # type: ignore + +# user_question = "What is the significance of Six Sigma?" +# k = 4 +# fetch_k = 200 +# found_docs = vectorstore.max_marginal_relevance_search(user_question, k=k, fetch_k=200) + +# requests = [] +# for i, doc in enumerate(found_docs): +# dictionary = { +# "model": "gpt-3.5-turbo-0613", # 4k context +# "messages": [{ +# "role": "system", +# "content": "You are a factual summarizer of partial documents. Stick to the facts (including partial info when necessary to avoid making up potentially incorrect details), and say I don't know when necessary." +# }, { +# "role": +# "user", +# "content": +# f"What is a comprehensive summary of the given text, based on the question:\n{doc.page_content}\nQuestion: {user_question}\nThe summary should cover all the key points only relevant to the question, while also condensing the information into a concise and easy-to-understand format. Please ensure that the summary includes relevant details and examples that support the main ideas, while avoiding any unnecessary information or repetition. Feel free to include references, sentence fragments, keywords, or anything that could help someone learn about it, only as it relates to the given question. The length of the summary should be as short as possible, without losing relevant information.\n" +# }], +# "n": 1, +# "max_tokens": 500, +# "metadata": doc.metadata +# } +# requests.append(dictionary) + +# oai = OpenAIAPIProcessor( +# input_prompts_list=requests, +# request_url='https://api.openai.com/v1/chat/completions', +# api_key=os.getenv("OPENAI_API_KEY"), +# max_requests_per_minute=1500, +# max_tokens_per_minute=90000, +# token_encoding_name='cl100k_base', +# max_attempts=5, +# logging_level=20, +# ) +# # run script +# asyncio.run(oai.process_api_requests_from_file()) + +# assistant_contents = [] +# total_prompt_tokens = 0 +# total_completion_tokens = 0 + +# print("Results, end of main: ", oai.results) +# print("-"*50) + +# # jsonObject = json.loads(oai.results) +# for element in oai.results: +# for item in element: +# if 'choices' in item: +# for choice in item['choices']: +# if choice['message']['role'] == 'assistant': +# assistant_contents.append(choice['message']['content']) +# total_prompt_tokens += item['usage']['prompt_tokens'] +# total_completion_tokens += item['usage']['completion_tokens'] + +# print("Assistant Contents:", assistant_contents) +# print("Total Prompt Tokens:", total_prompt_tokens) +# print("Total Completion Tokens:", total_completion_tokens) +# turbo_total_cost = (total_prompt_tokens * 0.0015) + (total_completion_tokens * 0.002) +# print("Total cost (3.5-turbo):", (total_prompt_tokens * 0.0015), " + Completions: ", (total_completion_tokens * 0.002), " = ", turbo_total_cost) + +# gpt4_total_cost = (total_prompt_tokens * 0.03) + (total_completion_tokens * 0.06) +# print("Hypothetical cost for GPT-4:", (total_prompt_tokens * 0.03), " + Completions: ", (total_completion_tokens * 0.06), " = ", gpt4_total_cost) +# print("GPT-4 cost premium: ", (gpt4_total_cost / turbo_total_cost), "x") + ''' + Pricing: + GPT4: + * $0.03 prompt + * $0.06 completions + 3.5-turbo: + * $0.0015 prompt + * $0.002 completions + ''' +""" +APPENDIX + +The example requests file at openai-cookbook/examples/data/example_requests_to_parallel_process.jsonl contains 10,000 requests to text-embedding-ada-002. + +It was generated with the following code: + +```python +import json + +filename = "data/example_requests_to_parallel_process.jsonl" +n_requests = 10_000 +jobs = [{"model": "text-embedding-ada-002", "input": str(x) + "\n"} for x in range(n_requests)] +with open(filename, "w") as f: + for job in jobs: + json_string = json.dumps(job) + f.write(json_string + "\n") +``` + +As with all jsonl files, take care that newlines in the content are properly escaped (json.dumps does this automatically). +""" diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 7a1b98cb..6cea219e 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -13,7 +13,6 @@ from ai_ta_backend.vector_database import Ingest from ai_ta_backend.web_scrape import main_crawler, mit_course_download from ai_ta_backend.canvas import CanvasAPI -from ai_ta_backend.data_logging import DataLog app = Flask(__name__) CORS(app) @@ -131,12 +130,7 @@ def getTopContexts(): token_limit = int(token_limit) ingester = Ingest() - found_documents = ingester.getTopContexts(search_query, course_name, token_limit) - - # add nomic log function here - logger = DataLog() - result = logger.nomic_log(course_name, search_query, found_documents) - + found_documents = ingester.getTopContexts(search_query, course_name, token_limit) response = jsonify(found_documents) response.headers.add('Access-Control-Allow-Origin', '*') return response @@ -343,14 +337,23 @@ def ingest_canvas(): canvas = CanvasAPI() canvas_course_id: str = request.args.get('course_id') course_name: str = request.args.get('course_name') - success_or_failure = canvas.ingest_course_content(canvas_course_id, course_name) - response = jsonify({"outcome": success_or_failure}) - response.headers.add('Access-Control-Allow-Origin', '*') return response +@app.route('/updateCanvas', methods=['GET']) +def update_canvas(): + """ + Update course content from Canvas + """ + canvas = CanvasAPI() + canvas_course_id: str = request.args.get('course_id') + course_name: str = request.args.get('course_name') + success_or_failure = canvas.update_course_content(canvas_course_id, course_name) + response = jsonify({"outcome": success_or_failure}) + response.headers.add('Access-Control-Allow-Origin', '*') + return response # TODO: add a way to delete items from course based on base_url diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py new file mode 100644 index 00000000..2f2a1e79 --- /dev/null +++ b/ai_ta_backend/update_materials.py @@ -0,0 +1,73 @@ +import os +import shutil +import boto3 +from ai_ta_backend.vector_database import Ingest +import hashlib +from ai_ta_backend.aws import upload_data_files_to_s3 +from ai_ta_backend.vector_database import Ingest + + +def generate_checksum(file_path): + md5_hash = hashlib.md5() + with open(file_path, "rb") as file: + # Read and update the hash string value in blocks + for byte_block in iter(lambda: file.read(4096), b""): + md5_hash.update(byte_block) + return md5_hash.hexdigest() + +def update_files(source_path: str, course_name: str): + """ + Compares and updates files in S3 and QDRANT + Args: + source_path: path to the directory containing the files to be uploaded + course_name: name of the course whose files need to be updated + To-do: + 1. Get S3 paths of files for given course_name + 2. Compute checksums of every file in source_path folder + 3. Compare checksums with S3 files - if different, upload to S3 and ingest into QDRANT + """ + print("In update_files") + + ingester = Ingest() + # Get S3 paths of files for given course_name + s3_files = ingester.getAll(course_name) + + # Access checksum of s3 files + s3_client = boto3.client('s3', aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), + aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),) + + + # Compute checksum of every file in source_path folder + print("source_path: ", source_path) + for file in os.listdir(source_path): + file_checksum = generate_checksum(os.path.join(source_path, file)) + print("MD5 checksum: ", file_checksum) + + # compare file checksum with checksum of all s3 files + for s3_file in s3_files: + s3_path = s3_file['s3_path'] + print("s3_path: ", s3_path) + s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) + s3_checksum = s3_object['ETag'] + + # remove file from the folder if checksums match + if str(file_checksum) == s3_checksum: + os.remove(os.path.join(source_path, file)) + break + + # Upload remaining files to S3 + new_s3_paths = upload_data_files_to_s3(course_name, source_path) + + # Delete files from local directory + shutil.rmtree(source_path) + + # Ingest files into QDRANT + canvas_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) + + return canvas_ingest + + # to-do: + # 1. create a custom folder within updated_content for each course to avoid mixup of files. + # 2. look into course page data not being exported. + + diff --git a/ai_ta_backend/utils_tokenization.py b/ai_ta_backend/utils_tokenization.py index 7c36c2f9..061906b3 100644 --- a/ai_ta_backend/utils_tokenization.py +++ b/ai_ta_backend/utils_tokenization.py @@ -1,131 +1,131 @@ -import json -import os -from typing import Any, List - -import supabase -import tiktoken - - -def count_tokens_and_cost(prompt: str, completion: str = '', openai_model_name: str = "gpt-3.5-turbo"): # -> tuple[int, float] | tuple[int, float, int, float]: - """ - Returns the number of tokens in a text string. - - Only the first parameter is required, a string of text to measure. The completion and model name are optional. - - num_tokens, prompt_cost = count_tokens_and_cost(prompt="hello there") - num_tokens_prompt, prompt_cost, num_tokens_completion, completion_cost = count_tokens_and_cost(prompt="hello there", completion="how are you?") - - Args: - prompt (str): _description_ - completion (str, optional): _description_. Defaults to ''. - openai_model_name (str, optional): _description_. Defaults to "gpt-3.5-turbo". - - Returns: - tuple[int, float] | tuple[int, float, int, float]: Returns the number of tokens consumed and the cost. The total cost you'll be billed is the sum of each individual cost (prompt_cost + completion_cost) - """ - # encoding = tiktoken.encoding_for_model(openai_model_name) - openai_model_name = openai_model_name.lower() - encoding = tiktoken.encoding_for_model("gpt-3.5-turbo") # I think they all use the same encoding - prompt_cost = 0 - completion_cost = 0 - - prompt_token_cost = 0 - completion_token_cost = 0 - - if openai_model_name.startswith("gpt-3.5-turbo"): - if "16k" in openai_model_name: - prompt_token_cost: float = 0.003 / 1_000 - completion_token_cost: float = 0.004 / 1_000 - else: - # 3.5-turbo regular (4k context) - prompt_token_cost: float = 0.0015 / 1_000 - completion_token_cost: float = 0.002 / 1_000 - - elif openai_model_name.startswith("gpt-4"): - if "32k" in openai_model_name: - prompt_token_cost = 0.06 / 1_000 - completion_token_cost = 0.12 / 1_000 - else: - # gpt-4 regular (8k context) - prompt_token_cost = 0.03 / 1_000 - completion_token_cost = 0.06 / 1_000 - elif openai_model_name.startswith("text-embedding-ada-002"): - prompt_token_cost = 0.0001 / 1_000 - completion_token_cost = 0.0001 / 1_000 - else: - # no idea of cost - print(f"NO IDEA OF COST, pricing not supported for model model: `{openai_model_name}`") - prompt_token_cost = 0 - completion_token_cost = 0 - - if completion == '': - num_tokens_prompt: int = len(encoding.encode(prompt)) - prompt_cost = float(prompt_token_cost * num_tokens_prompt) - return num_tokens_prompt, prompt_cost - elif prompt == '': - num_tokens_completion: int = len(encoding.encode(completion)) - completion_cost = float(completion_token_cost * num_tokens_completion) - return num_tokens_completion, completion_cost - else: - num_tokens_prompt: int = len(encoding.encode(prompt)) - num_tokens_completion: int = len(encoding.encode(completion)) - prompt_cost = float(prompt_token_cost * num_tokens_prompt) - completion_cost = float(completion_token_cost * num_tokens_completion) - return num_tokens_prompt, prompt_cost, num_tokens_completion, completion_cost - -# from dotenv import load_dotenv - -# load_dotenv() - -def analyze_conversations(supabase_client: Any = None): - - if supabase_client is None: - supabase_client = supabase.create_client( # type: ignore - supabase_url=os.getenv('SUPABASE_URL'), # type: ignore - supabase_key=os.getenv('SUPABASE_API_KEY')) # type: ignore - # Get all conversations - response = supabase_client.table('llm-convo-monitor').select('convo').execute() - # print("total entries", response.data.count) - - total_convos = 0 - total_messages = 0 - total_prompt_cost = 0 - total_completion_cost = 0 - - # Iterate through all conversations - # for convo in response['data']: - for convo in response.data: - total_convos += 1 - # print(convo) - # prase json from convo - # parse json into dict - # print(type(convo)) - # convo = json.loads(convo) - convo = convo['convo'] - messages = convo['messages'] - model_name = convo['model']['name'] - - # Iterate through all messages in each conversation - for message in messages: - total_messages += 1 - role = message['role'] - content = message['content'] - - # If the message is from the user, it's a prompt - if role == 'user': - num_tokens, cost = count_tokens_and_cost(prompt=content, openai_model_name=model_name) - total_prompt_cost += cost - print(f'User Prompt: {content}, Tokens: {num_tokens}, cost: {cost}') - - # If the message is from the assistant, it's a completion - elif role == 'assistant': - num_tokens_completion, cost_completion = count_tokens_and_cost(prompt='', completion=content, openai_model_name=model_name) - total_completion_cost += cost_completion - print(f'Assistant Completion: {content}\nTokens: {num_tokens_completion}, cost: {cost_completion}') - return total_convos, total_messages, total_prompt_cost, total_completion_cost - -if __name__ == '__main__': - print('starting main') - total_convos, total_messages, total_prompt_cost, total_completion_cost = analyze_conversations() - print(f'total_convos: {total_convos}, total_messages: {total_messages}') +import json +import os +from typing import Any, List + +import supabase +import tiktoken + + +def count_tokens_and_cost(prompt: str, completion: str = '', openai_model_name: str = "gpt-3.5-turbo"): # -> tuple[int, float] | tuple[int, float, int, float]: + """ + Returns the number of tokens in a text string. + + Only the first parameter is required, a string of text to measure. The completion and model name are optional. + + num_tokens, prompt_cost = count_tokens_and_cost(prompt="hello there") + num_tokens_prompt, prompt_cost, num_tokens_completion, completion_cost = count_tokens_and_cost(prompt="hello there", completion="how are you?") + + Args: + prompt (str): _description_ + completion (str, optional): _description_. Defaults to ''. + openai_model_name (str, optional): _description_. Defaults to "gpt-3.5-turbo". + + Returns: + tuple[int, float] | tuple[int, float, int, float]: Returns the number of tokens consumed and the cost. The total cost you'll be billed is the sum of each individual cost (prompt_cost + completion_cost) + """ + # encoding = tiktoken.encoding_for_model(openai_model_name) + openai_model_name = openai_model_name.lower() + encoding = tiktoken.encoding_for_model("gpt-3.5-turbo") # I think they all use the same encoding + prompt_cost = 0 + completion_cost = 0 + + prompt_token_cost = 0 + completion_token_cost = 0 + + if openai_model_name.startswith("gpt-3.5-turbo"): + if "16k" in openai_model_name: + prompt_token_cost: float = 0.003 / 1_000 + completion_token_cost: float = 0.004 / 1_000 + else: + # 3.5-turbo regular (4k context) + prompt_token_cost: float = 0.0015 / 1_000 + completion_token_cost: float = 0.002 / 1_000 + + elif openai_model_name.startswith("gpt-4"): + if "32k" in openai_model_name: + prompt_token_cost = 0.06 / 1_000 + completion_token_cost = 0.12 / 1_000 + else: + # gpt-4 regular (8k context) + prompt_token_cost = 0.03 / 1_000 + completion_token_cost = 0.06 / 1_000 + elif openai_model_name.startswith("text-embedding-ada-002"): + prompt_token_cost = 0.0001 / 1_000 + completion_token_cost = 0.0001 / 1_000 + else: + # no idea of cost + print(f"NO IDEA OF COST, pricing not supported for model model: `{openai_model_name}`") + prompt_token_cost = 0 + completion_token_cost = 0 + + if completion == '': + num_tokens_prompt: int = len(encoding.encode(prompt)) + prompt_cost = float(prompt_token_cost * num_tokens_prompt) + return num_tokens_prompt, prompt_cost + elif prompt == '': + num_tokens_completion: int = len(encoding.encode(completion)) + completion_cost = float(completion_token_cost * num_tokens_completion) + return num_tokens_completion, completion_cost + else: + num_tokens_prompt: int = len(encoding.encode(prompt)) + num_tokens_completion: int = len(encoding.encode(completion)) + prompt_cost = float(prompt_token_cost * num_tokens_prompt) + completion_cost = float(completion_token_cost * num_tokens_completion) + return num_tokens_prompt, prompt_cost, num_tokens_completion, completion_cost + +# from dotenv import load_dotenv + +# load_dotenv() + +def analyze_conversations(supabase_client: Any = None): + + if supabase_client is None: + supabase_client = supabase.create_client( # type: ignore + supabase_url=os.getenv('SUPABASE_URL'), # type: ignore + supabase_key=os.getenv('SUPABASE_API_KEY')) # type: ignore + # Get all conversations + response = supabase_client.table('llm-convo-monitor').select('convo').execute() + # print("total entries", response.data.count) + + total_convos = 0 + total_messages = 0 + total_prompt_cost = 0 + total_completion_cost = 0 + + # Iterate through all conversations + # for convo in response['data']: + for convo in response.data: + total_convos += 1 + # print(convo) + # prase json from convo + # parse json into dict + # print(type(convo)) + # convo = json.loads(convo) + convo = convo['convo'] + messages = convo['messages'] + model_name = convo['model']['name'] + + # Iterate through all messages in each conversation + for message in messages: + total_messages += 1 + role = message['role'] + content = message['content'] + + # If the message is from the user, it's a prompt + if role == 'user': + num_tokens, cost = count_tokens_and_cost(prompt=content, openai_model_name=model_name) + total_prompt_cost += cost + print(f'User Prompt: {content}, Tokens: {num_tokens}, cost: {cost}') + + # If the message is from the assistant, it's a completion + elif role == 'assistant': + num_tokens_completion, cost_completion = count_tokens_and_cost(prompt='', completion=content, openai_model_name=model_name) + total_completion_cost += cost_completion + print(f'Assistant Completion: {content}\nTokens: {num_tokens_completion}, cost: {cost_completion}') + return total_convos, total_messages, total_prompt_cost, total_completion_cost + +if __name__ == '__main__': + print('starting main') + total_convos, total_messages, total_prompt_cost, total_completion_cost = analyze_conversations() + print(f'total_convos: {total_convos}, total_messages: {total_messages}') print(f'total_prompt_cost: {total_prompt_cost}, total_completion_cost: {total_completion_cost}') \ No newline at end of file diff --git a/ai_ta_backend/vector_database.py b/ai_ta_backend/vector_database.py index 964a845a..78fb3fb3 100644 --- a/ai_ta_backend/vector_database.py +++ b/ai_ta_backend/vector_database.py @@ -18,12 +18,7 @@ import requests import supabase from bs4 import BeautifulSoup -# from arize.api import Client -# from arize.pandas.embeddings import EmbeddingGenerator, UseCases -# from arize.utils import ModelTypes -# from arize.utils.ModelTypes import GENERATIVE_LLM -# # from arize.utils.types import (Embedding, EmbeddingColumnNames, Environments, -# # Metrics, ModelTypes, Schema) + from langchain.document_loaders import (Docx2txtLoader, PythonLoader, SRTLoader, UnstructuredFileLoader, UnstructuredPowerPointLoader, TextLoader, GitLoader) diff --git a/ai_ta_backend/web_scrape.py b/ai_ta_backend/web_scrape.py index 54b01402..b4944765 100644 --- a/ai_ta_backend/web_scrape.py +++ b/ai_ta_backend/web_scrape.py @@ -1,387 +1,387 @@ -import os -import re -import shutil -import time -from tempfile import NamedTemporaryFile -from zipfile import ZipFile - -import boto3 # type: ignore -import requests -from bs4 import BeautifulSoup - -from ai_ta_backend.aws import upload_data_files_to_s3 -from ai_ta_backend.vector_database import Ingest - - -def valid_url(url): - '''Returns the URL and it's content if it's good, otherwise returns false. Prints the status code.''' - try: - response = requests.get(url, allow_redirects=True, timeout=20) - - redirect_loop_counter = 0 - while response.status_code == 301: - # Check for permanent redirect - if redirect_loop_counter > 3: - print("Redirect loop (on 301 error) exceeded redirect limit of:", redirect_loop_counter) - return False - redirect_url = response.headers['Location'] - response = requests.head(redirect_url) - redirect_loop_counter += 1 - - if response.status_code == 200: - if ".pdf" in response.url: - if f"" not in str(response.content): - content = response.content - elif str(response.content).startswith("%PDF"): - content = response.content - else: - content = BeautifulSoup(response.text, "html.parser") - return (response.url, content) - else: - print("URL is invalid:", response.url, "Return code:", response.status_code) - return (False, False) - except requests.RequestException as e: - print("URL is invalid:", url, "Error:", e) - return (False, False) - -# Ensures url is in the correct format -def base_url(url:str): - try: - # Get rid of double slashes in url - # Create a base site for incomplete hrefs - if url.startswith("https:"): - site= re.match(pattern=r'https:\/\/[a-zA-Z0-9.]*[a-z]', string=url).group(0) # type: ignore - url = re.sub(pattern=r"https:\/\/", repl="", string=url) - url = re.sub(pattern=r"[\/\/]{2,}", repl="", string=url) - url = "https://"+url - return site - elif url.startswith("http:"): - site = re.match(pattern=r'http:\/\/[a-zA-Z0-9.]*[a-z]', string=url).group(0) # type: ignore - url = re.sub(pattern=r"http:\/\/", repl="", string=url) - url = re.sub(pattern=r"[\/\/]{2,}", repl="", string=url) - url = "http://"+url - return site - else: - return [] - except Exception as e: - print("Error:", e) - return [] - -def find_urls(soup:BeautifulSoup, urls:set, site:str): - try: - for i in soup.find_all("a"): # type: ignore - try: - # getting the href tag - href = i.attrs['href'] - except KeyError as e: - print("KeyError:", e, "for", i) - continue - - # decipher type of href - if href.startswith("http"): - pass - elif href.startswith("/"): - href = site+href - else: - href = site+'/'+href - urls.add(href) - - except Exception as e: - print("Error in body:", e) - pass - - return urls - -def remove_duplicates(urls:list): -# Delete repeated sites, with different URLs and keeping one - not_repeated_files = [] - og_len = len(urls) - print("deleting duplicate files") - for row in urls: - if row[1] not in not_repeated_files: - not_repeated_files.append(row[1]) - else: - urls.remove(row) - continue - print("deleted", og_len-len(not_repeated_files), "duplicate files") - return urls - -def crawler(url:str, max_urls:int=1000, max_depth:int=3, timeout:int=1, base_url_on:str=None, _depth:int=0, _soup:BeautifulSoup=None, _invalid_urls:list=[]): - '''Function gets titles of urls and the urls themselves''' - # Prints the depth of the current search - print("depth: ", _depth) - url_contents = [] - max_urls = int(max_urls) - _depth = int(_depth) - max_depth = int(max_depth) - print(base_url_on, type(base_url_on)) - base_url_on = str(base_url_on) - - amount = max_urls - - # Get rid of double slashes in url - # Create a base site for incomplete hrefs - base = base_url(url) - if base ==[]: - return [] - else: - site = base - - urls= set() - - if _soup: - s = _soup - else: - url, s = valid_url(url) - time.sleep(timeout) - url_contents.append((url,s)) - if url: - try: - body = s.find("body") - header = s.find("head") - except Exception as e: - print("Error:", e) - body = "" - header = "" - - - - # Check for 403 Forbidden urls - try: - if s.title.string.lower() == "403 forbidden" or s.title.string.lower() == 'page not found': # type: ignore - print("403 Forbidden") - else: - pass - except Exception as e: - print("Error:", e) - pass - if body != "" and header != "": - urls = find_urls(body, urls, site) - urls = find_urls(header, urls, site) - else: - urls = find_urls(s, urls, site) - else: - _invalid_urls.append(url) - return [] - - urls = list(urls) - if max_urls > len(urls): - max_urls = max_urls - len(urls) - elif max_urls < len(urls): - urls = urls[:max_urls] - max_urls = 0 - else: - max_urls = 0 - # We grab content out of these urls - - for url in urls: - if base_url_on: - if url.startswith(site): - url, s = valid_url(url) - if url: - print("Scraped:", url) - url_contents.append((url, s)) - else: - _invalid_urls.append(url) - else: - pass - else: - url, s = valid_url(url) - if url: - print("Scraped:", url) - url_contents.append((url, s)) - else: - _invalid_urls.append(url) - - url_contents = remove_duplicates(url_contents) - max_urls = max_urls - len(url_contents) - print(max_urls, "urls left") - - # recursively go through crawler until we reach the max amount of urls. - for url in url_contents: - if url[0] not in _invalid_urls: - if max_urls > 0: - if _depth < max_depth: - temp_data = crawler(url[0], max_urls, max_depth, timeout, _invalid_urls, _depth, url[1]) - temp_data = remove_duplicates(temp_data) - max_urls = max_urls - len(temp_data) - print(max_urls, "urls left") - url_contents.extend(temp_data) - url_contents = remove_duplicates(url_contents) - else: - print("Depth exceeded:", _depth+1, "out of", max_depth) - break - else: - break - else: - pass - - if _depth == 0: - if len(url_contents) < amount: - print("Max URLS not reached, returning all urls found:", len(url_contents), "out of", amount) - elif len(url_contents) == amount: - print("Max URLS reached:", len(url_contents), "out of", amount) - else: - print("Exceeded Max URLS, found:", len(url_contents), "out of", amount) - print(len(url_contents), "urls found") - return url_contents - -def main_crawler(url:str, course_name:str, max_urls:int=100, max_depth:int=3, timeout:int=1, base_url_on:str=None): - """ - Crawl a site and scrape its content and PDFs, then upload the data to S3 and ingest it. - - Args: - url (str): The URL of the site to crawl. - course_name (str): The name of the course to associate with the crawled data. - max_urls (int, optional): The maximum number of URLs to crawl. Defaults to 100. - max_depth (int, optional): The maximum depth of URLs to crawl. Defaults to 3. - timeout (int, optional): The number of seconds to wait between requests. Defaults to 1. - - Returns: - None - """ - print("\n") - max_urls = int(max_urls) - max_depth = int(max_depth) - timeout = int(timeout) - base_url_on = str(base_url_on) - ingester = Ingest() - s3_client = boto3.client( - 's3', - aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), - aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'), - ) - - if url.startswith("https://github.com/"): - print("Begin Ingesting GitHub page") - results = ingester.ingest_github(url, course_name) - print("Finished ingesting GitHub page") - return results - else: - print("Begin Ingesting Web page") - data = crawler(url, max_urls, max_depth, timeout, base_url_on) - - - - # Clean some keys for a proper file name - # todo: have a default title - # titles = [value[1][1].title.string for value in data] - - titles = [] - for value in data: - try: - titles.append(value[1].title.string) - except AttributeError as e: - # if no title - try: - placeholder_title = re.findall(pattern=r'[a-zA-Z0-9.]*[a-z]', string=value[0])[1] - except Exception as e: - placeholder_title = "Title Not Found" - titles.append(placeholder_title) - print(f"URL is missing a title, using this title instead: {placeholder_title}") - - try: - clean = [re.match(r"[a-zA-Z0-9\s]*", title).group(0) for title in titles] # type: ignore - except Exception as e: - print("Error:", e) - clean = titles - print("title names after regex before cleaning", clean) - path_name = [] - counter = 0 - for value in clean: - value = value.strip() if value else "" - # value = value.strip() - value = value.replace(" ", "_") - if value == "403_Forbidden": - print("Found Forbidden Key, deleting data") - del data[counter] - else: - path_name.append(value) - counter += 1 - - print("Cleaned title names", path_name) - - - # Upload each html to S3 - print("Uploading files to S3") - paths = [] - counter = 0 - try: - for i, key in enumerate(data): - if ".pdf" in key[0]: - with NamedTemporaryFile(suffix=".pdf") as temp_pdf: - if key[1] != "" or key[1] != None: - temp_pdf.write(key[1]) - temp_pdf.seek(0) - s3_upload_path = "courses/"+ course_name + "/" + path_name[i] + ".pdf" - paths.append(s3_upload_path) - with open(temp_pdf.name, 'rb') as f: - print("Uploading PDF to S3") - s3_client.upload_fileobj(f, os.getenv('S3_BUCKET_NAME'), s3_upload_path) - ingester.bulk_ingest(s3_upload_path, course_name=course_name, url=key[0], base_url=url) - counter += 1 - else: - print("No PDF to upload", key[1]) - else: - with NamedTemporaryFile(suffix=".html") as temp_html: - if key[1] != "" or key[1] != None: - temp_html.write(key[1].encode('utf-8')) - temp_html.seek(0) - s3_upload_path = "courses/"+ course_name + "/" + path_name[i] + ".html" - paths.append(s3_upload_path) - with open(temp_html.name, 'rb') as f: - print("Uploading html to S3") - s3_client.upload_fileobj(f, os.getenv('S3_BUCKET_NAME'), s3_upload_path) - ingester.bulk_ingest(s3_upload_path, course_name=course_name, url=key[0], base_url=url) - counter += 1 - else: - print("No html to upload", key[1]) - except Exception as e: - print("Error in upload:", e) - - print("Successfully uploaded", counter, "files to S3") - print("Finished /web-scrape") - -# Download an MIT course using its url -def mit_course_download(url:str, course_name:str, local_dir:str): - ingester = Ingest() - base = "https://ocw.mit.edu" - if url.endswith("download"): - pass - else: - url = url + "download" - - r = requests.get(url) - soup = BeautifulSoup(r.text,"html.parser") - - zip = '' - for ref in soup.find_all("a"): - if ref.attrs['href'].endswith("zip"): - zip = ref.attrs['href'] - - site = zip - print('site', site) - r = requests.get(url=site, stream=True) - - zip_file = local_dir + ".zip" - - try: - with open(zip_file, 'wb') as fd: - for chunk in r.iter_content(chunk_size=128): - fd.write(chunk) - print("course downloaded!") - except Exception as e: - print("Error:", e, site) - - with ZipFile(zip_file, 'r') as zObject: - zObject.extractall( - path=local_dir) - - shutil.move(local_dir+"/"+"robots.txt", local_dir+"/static_resources") - s3_paths = upload_data_files_to_s3(course_name, local_dir+"/static_resources") - success_fail = ingester.bulk_ingest(s3_paths, course_name) # type: ignore - - shutil.move(zip_file, local_dir) - shutil.rmtree(local_dir) - print("Finished Ingest") +import os +import re +import shutil +import time +from tempfile import NamedTemporaryFile +from zipfile import ZipFile + +import boto3 # type: ignore +import requests +from bs4 import BeautifulSoup + +from ai_ta_backend.aws import upload_data_files_to_s3 +from ai_ta_backend.vector_database import Ingest + + +def valid_url(url): + '''Returns the URL and it's content if it's good, otherwise returns false. Prints the status code.''' + try: + response = requests.get(url, allow_redirects=True, timeout=20) + + redirect_loop_counter = 0 + while response.status_code == 301: + # Check for permanent redirect + if redirect_loop_counter > 3: + print("Redirect loop (on 301 error) exceeded redirect limit of:", redirect_loop_counter) + return False + redirect_url = response.headers['Location'] + response = requests.head(redirect_url) + redirect_loop_counter += 1 + + if response.status_code == 200: + if ".pdf" in response.url: + if f"" not in str(response.content): + content = response.content + elif str(response.content).startswith("%PDF"): + content = response.content + else: + content = BeautifulSoup(response.text, "html.parser") + return (response.url, content) + else: + print("URL is invalid:", response.url, "Return code:", response.status_code) + return (False, False) + except requests.RequestException as e: + print("URL is invalid:", url, "Error:", e) + return (False, False) + +# Ensures url is in the correct format +def base_url(url:str): + try: + # Get rid of double slashes in url + # Create a base site for incomplete hrefs + if url.startswith("https:"): + site= re.match(pattern=r'https:\/\/[a-zA-Z0-9.]*[a-z]', string=url).group(0) # type: ignore + url = re.sub(pattern=r"https:\/\/", repl="", string=url) + url = re.sub(pattern=r"[\/\/]{2,}", repl="", string=url) + url = "https://"+url + return site + elif url.startswith("http:"): + site = re.match(pattern=r'http:\/\/[a-zA-Z0-9.]*[a-z]', string=url).group(0) # type: ignore + url = re.sub(pattern=r"http:\/\/", repl="", string=url) + url = re.sub(pattern=r"[\/\/]{2,}", repl="", string=url) + url = "http://"+url + return site + else: + return [] + except Exception as e: + print("Error:", e) + return [] + +def find_urls(soup:BeautifulSoup, urls:set, site:str): + try: + for i in soup.find_all("a"): # type: ignore + try: + # getting the href tag + href = i.attrs['href'] + except KeyError as e: + print("KeyError:", e, "for", i) + continue + + # decipher type of href + if href.startswith("http"): + pass + elif href.startswith("/"): + href = site+href + else: + href = site+'/'+href + urls.add(href) + + except Exception as e: + print("Error in body:", e) + pass + + return urls + +def remove_duplicates(urls:list): +# Delete repeated sites, with different URLs and keeping one + not_repeated_files = [] + og_len = len(urls) + print("deleting duplicate files") + for row in urls: + if row[1] not in not_repeated_files: + not_repeated_files.append(row[1]) + else: + urls.remove(row) + continue + print("deleted", og_len-len(not_repeated_files), "duplicate files") + return urls + +def crawler(url:str, max_urls:int=1000, max_depth:int=3, timeout:int=1, base_url_on:str=None, _depth:int=0, _soup:BeautifulSoup=None, _invalid_urls:list=[]): + '''Function gets titles of urls and the urls themselves''' + # Prints the depth of the current search + print("depth: ", _depth) + url_contents = [] + max_urls = int(max_urls) + _depth = int(_depth) + max_depth = int(max_depth) + print(base_url_on, type(base_url_on)) + base_url_on = str(base_url_on) + + amount = max_urls + + # Get rid of double slashes in url + # Create a base site for incomplete hrefs + base = base_url(url) + if base ==[]: + return [] + else: + site = base + + urls= set() + + if _soup: + s = _soup + else: + url, s = valid_url(url) + time.sleep(timeout) + url_contents.append((url,s)) + if url: + try: + body = s.find("body") + header = s.find("head") + except Exception as e: + print("Error:", e) + body = "" + header = "" + + + + # Check for 403 Forbidden urls + try: + if s.title.string.lower() == "403 forbidden" or s.title.string.lower() == 'page not found': # type: ignore + print("403 Forbidden") + else: + pass + except Exception as e: + print("Error:", e) + pass + if body != "" and header != "": + urls = find_urls(body, urls, site) + urls = find_urls(header, urls, site) + else: + urls = find_urls(s, urls, site) + else: + _invalid_urls.append(url) + return [] + + urls = list(urls) + if max_urls > len(urls): + max_urls = max_urls - len(urls) + elif max_urls < len(urls): + urls = urls[:max_urls] + max_urls = 0 + else: + max_urls = 0 + # We grab content out of these urls + + for url in urls: + if base_url_on: + if url.startswith(site): + url, s = valid_url(url) + if url: + print("Scraped:", url) + url_contents.append((url, s)) + else: + _invalid_urls.append(url) + else: + pass + else: + url, s = valid_url(url) + if url: + print("Scraped:", url) + url_contents.append((url, s)) + else: + _invalid_urls.append(url) + + url_contents = remove_duplicates(url_contents) + max_urls = max_urls - len(url_contents) + print(max_urls, "urls left") + + # recursively go through crawler until we reach the max amount of urls. + for url in url_contents: + if url[0] not in _invalid_urls: + if max_urls > 0: + if _depth < max_depth: + temp_data = crawler(url[0], max_urls, max_depth, timeout, _invalid_urls, _depth, url[1]) + temp_data = remove_duplicates(temp_data) + max_urls = max_urls - len(temp_data) + print(max_urls, "urls left") + url_contents.extend(temp_data) + url_contents = remove_duplicates(url_contents) + else: + print("Depth exceeded:", _depth+1, "out of", max_depth) + break + else: + break + else: + pass + + if _depth == 0: + if len(url_contents) < amount: + print("Max URLS not reached, returning all urls found:", len(url_contents), "out of", amount) + elif len(url_contents) == amount: + print("Max URLS reached:", len(url_contents), "out of", amount) + else: + print("Exceeded Max URLS, found:", len(url_contents), "out of", amount) + print(len(url_contents), "urls found") + return url_contents + +def main_crawler(url:str, course_name:str, max_urls:int=100, max_depth:int=3, timeout:int=1, base_url_on:str=None): + """ + Crawl a site and scrape its content and PDFs, then upload the data to S3 and ingest it. + + Args: + url (str): The URL of the site to crawl. + course_name (str): The name of the course to associate with the crawled data. + max_urls (int, optional): The maximum number of URLs to crawl. Defaults to 100. + max_depth (int, optional): The maximum depth of URLs to crawl. Defaults to 3. + timeout (int, optional): The number of seconds to wait between requests. Defaults to 1. + + Returns: + None + """ + print("\n") + max_urls = int(max_urls) + max_depth = int(max_depth) + timeout = int(timeout) + base_url_on = str(base_url_on) + ingester = Ingest() + s3_client = boto3.client( + 's3', + aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), + aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'), + ) + + if url.startswith("https://github.com/"): + print("Begin Ingesting GitHub page") + results = ingester.ingest_github(url, course_name) + print("Finished ingesting GitHub page") + return results + else: + print("Begin Ingesting Web page") + data = crawler(url, max_urls, max_depth, timeout, base_url_on) + + + + # Clean some keys for a proper file name + # todo: have a default title + # titles = [value[1][1].title.string for value in data] + + titles = [] + for value in data: + try: + titles.append(value[1].title.string) + except AttributeError as e: + # if no title + try: + placeholder_title = re.findall(pattern=r'[a-zA-Z0-9.]*[a-z]', string=value[0])[1] + except Exception as e: + placeholder_title = "Title Not Found" + titles.append(placeholder_title) + print(f"URL is missing a title, using this title instead: {placeholder_title}") + + try: + clean = [re.match(r"[a-zA-Z0-9\s]*", title).group(0) for title in titles] # type: ignore + except Exception as e: + print("Error:", e) + clean = titles + print("title names after regex before cleaning", clean) + path_name = [] + counter = 0 + for value in clean: + value = value.strip() if value else "" + # value = value.strip() + value = value.replace(" ", "_") + if value == "403_Forbidden": + print("Found Forbidden Key, deleting data") + del data[counter] + else: + path_name.append(value) + counter += 1 + + print("Cleaned title names", path_name) + + + # Upload each html to S3 + print("Uploading files to S3") + paths = [] + counter = 0 + try: + for i, key in enumerate(data): + if ".pdf" in key[0]: + with NamedTemporaryFile(suffix=".pdf") as temp_pdf: + if key[1] != "" or key[1] != None: + temp_pdf.write(key[1]) + temp_pdf.seek(0) + s3_upload_path = "courses/"+ course_name + "/" + path_name[i] + ".pdf" + paths.append(s3_upload_path) + with open(temp_pdf.name, 'rb') as f: + print("Uploading PDF to S3") + s3_client.upload_fileobj(f, os.getenv('S3_BUCKET_NAME'), s3_upload_path) + ingester.bulk_ingest(s3_upload_path, course_name=course_name, url=key[0], base_url=url) + counter += 1 + else: + print("No PDF to upload", key[1]) + else: + with NamedTemporaryFile(suffix=".html") as temp_html: + if key[1] != "" or key[1] != None: + temp_html.write(key[1].encode('utf-8')) + temp_html.seek(0) + s3_upload_path = "courses/"+ course_name + "/" + path_name[i] + ".html" + paths.append(s3_upload_path) + with open(temp_html.name, 'rb') as f: + print("Uploading html to S3") + s3_client.upload_fileobj(f, os.getenv('S3_BUCKET_NAME'), s3_upload_path) + ingester.bulk_ingest(s3_upload_path, course_name=course_name, url=key[0], base_url=url) + counter += 1 + else: + print("No html to upload", key[1]) + except Exception as e: + print("Error in upload:", e) + + print("Successfully uploaded", counter, "files to S3") + print("Finished /web-scrape") + +# Download an MIT course using its url +def mit_course_download(url:str, course_name:str, local_dir:str): + ingester = Ingest() + base = "https://ocw.mit.edu" + if url.endswith("download"): + pass + else: + url = url + "download" + + r = requests.get(url) + soup = BeautifulSoup(r.text,"html.parser") + + zip = '' + for ref in soup.find_all("a"): + if ref.attrs['href'].endswith("zip"): + zip = ref.attrs['href'] + + site = zip + print('site', site) + r = requests.get(url=site, stream=True) + + zip_file = local_dir + ".zip" + + try: + with open(zip_file, 'wb') as fd: + for chunk in r.iter_content(chunk_size=128): + fd.write(chunk) + print("course downloaded!") + except Exception as e: + print("Error:", e, site) + + with ZipFile(zip_file, 'r') as zObject: + zObject.extractall( + path=local_dir) + + shutil.move(local_dir+"/"+"robots.txt", local_dir+"/static_resources") + s3_paths = upload_data_files_to_s3(course_name, local_dir+"/static_resources") + success_fail = ingester.bulk_ingest(s3_paths, course_name) # type: ignore + + shutil.move(zip_file, local_dir) + shutil.rmtree(local_dir) + print("Finished Ingest") return success_fail \ No newline at end of file diff --git a/course_content/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf b/canvas_materials/canvas_course_37348_update/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf similarity index 100% rename from course_content/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf rename to canvas_materials/canvas_course_37348_update/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf From 34cbbdc9973bbaa88a09a5dbbdaf8a52ce2f69c8 Mon Sep 17 00:00:00 2001 From: star-nox Date: Fri, 25 Aug 2023 14:16:25 -0500 Subject: [PATCH 08/21] completed update function --- ai_ta_backend/canvas.py | 5 +++-- ai_ta_backend/update_materials.py | 19 +++++++----------- ...for Artificial Intelligence Innovation.pdf | Bin 311430 -> 0 bytes 3 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 canvas_materials/canvas_course_37348_update/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index e7b59a10..28393f94 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -21,6 +21,7 @@ def add_users(self, canvas_course_id: str, course_name: str): """ course = self.canvas_client.get_course(canvas_course_id) users = course.get_users() + user_emails = [] for user in users: net_id = user.sis_user_id @@ -77,14 +78,13 @@ def download_course_content(self, canvas_course_id: int, dest_folder: str) -> st download = requests.get(download_url, headers=self.headers) with open(os.path.join(dest_folder, file_name), 'wb') as f: f.write(download.content) - print("Downloaded!") + print("Downloaded zip file!") # Extract and read from zip file filepath = dest_folder + "/" + file_name with ZipFile(filepath, 'r') as zip: zip.printdir() zip.extractall(dest_folder) - print('Done!') os.remove(filepath) return "Success" @@ -140,6 +140,7 @@ def update_course_content(self, canvas_course_id: int, course_name: str) -> str: folder_name = "canvas_course_" + str(canvas_course_id) + "_update" folder_path = os.path.join(os.getcwd(), "canvas_materials/" + folder_name) self.download_course_content(canvas_course_id, folder_path) + print("Downloaded and extracted canvas materials") # Call diff function response = update_materials.update_files(folder_path, course_name) diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py index 2f2a1e79..076a8c48 100644 --- a/ai_ta_backend/update_materials.py +++ b/ai_ta_backend/update_materials.py @@ -30,31 +30,30 @@ def update_files(source_path: str, course_name: str): ingester = Ingest() # Get S3 paths of files for given course_name - s3_files = ingester.getAll(course_name) + s3_files = ingester.getAll(course_name) # Access checksum of s3 files s3_client = boto3.client('s3', aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),) - # Compute checksum of every file in source_path folder - print("source_path: ", source_path) for file in os.listdir(source_path): file_checksum = generate_checksum(os.path.join(source_path, file)) - print("MD5 checksum: ", file_checksum) # compare file checksum with checksum of all s3 files for s3_file in s3_files: s3_path = s3_file['s3_path'] - print("s3_path: ", s3_path) s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) s3_checksum = s3_object['ETag'] # remove file from the folder if checksums match - if str(file_checksum) == s3_checksum: + if str(file_checksum) == s3_checksum[1:-1]: os.remove(os.path.join(source_path, file)) - break - + continue + # Check if all files have been removed from the folder + if len(os.listdir(source_path)) == 0: + return "No new files to update" + # Upload remaining files to S3 new_s3_paths = upload_data_files_to_s3(course_name, source_path) @@ -63,11 +62,7 @@ def update_files(source_path: str, course_name: str): # Ingest files into QDRANT canvas_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - return canvas_ingest - # to-do: - # 1. create a custom folder within updated_content for each course to avoid mixup of files. - # 2. look into course page data not being exported. diff --git a/canvas_materials/canvas_course_37348_update/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf b/canvas_materials/canvas_course_37348_update/CAII Team Builds an AI-Powered Teaching Assistance Chatbot - Center for Artificial Intelligence Innovation.pdf deleted file mode 100644 index 77d4c9828b88fa6e1a68af3c6e8f1497a1319ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311430 zcmeFa2V7Il(~L5|6a)s76o!)iz=m)eI1c@zk{Z(XSJ?@A$XOf~>4HE3JQ>=f;Shjzup>|xC?PY8 z#$r_A1QhtVs*DI!L=-9om4r!&ia|vMq0nQ%KLAe`i~O%q6cp%D7$ivrqQ6vufP-Q5 z5M^C3L=TH|ggg8~lK6$BqC`UahN`0ihSEcH&XDh>B)F~)Sd1QGs01e9Tu^^c3-;R^ zjXa!CV2GK%^<@--0Mv7_CXgXoj&NI`x+xk-umcnhyhIa)wzVUCORHcVusA~}I0C4v zigHCGPzD;xz{}7C{86bVsPF;Yb#ut3~4bDGvQir%)XKtu71%PylfQ zpDYRya+(cDHwU0WyS~>Q2PlC7zDR%cn^!=fV|#u)m4N0&fzR4uNmh(?0>l#*0UtL- z1I_M+KLG+v2Py-Vk`a*t!^C8uFd0!vfab1yAP_C-2^bda$#?mPL=fl+<mbJ6yLZ#=W~8HIWM!adU}a}vWMpCI+_#T?-#$)OM)LLj z@h$V`I|UO10~0gT9%kk}Y|PBeY@{1A+qWvL{~ZFvw;GBkrna2Wq2te`$OxXy{ zk{YJAZUIq=xs~l>tE?bON`Tv4WS(egsKv=F9EI)O1#sZZvyWQjYA73tgEE80c~L&= zLEN=46+?CeUTlG%hQt7^fcU#6fQk71NHt>#0&3_d3;)c)v0p3@yFiRorgop2G}m>S zg=7*z0@+Z-iev4kj?s!HnR{uRs-pbl>&ip~jTWE9%XF)*Gud0KsJWazyv6k@|D)@t z>6A0mue$^WBK)zdZM3OKW{Pw zWbzV03Pey@5+OFTWnCD7mvNk}EH0{SbmAVEP1$g;{c`caDMUOUj?T(CPZ8=Ht%b8P zP$-4_*d|W5(|mS0|40JSkUfBRm6&_p-=8+oR?y1I{`BJWFfD3D;-_VmcMFOOcb4n= z%|zpxog5V3IQ8zS$7a0Xa{H2$w#l+pNCfTgA%cP-DIpVFRMTel-H%%760Z9Qw9rm* zNNxx_DlWGU`76>j7pTBy_?r}3!%hbxl*COp<7~HN zBT~Gt2AFoeNzTsC58*YbRIJOmzD57A_a#%#Bhge>6$@ka^@W-kMWsaF($1%MtdgQX zWRDil+Vxe$D7h=fcW?B~_3Gd1@&7X2RHtZk^mzEJ>5(GY^*rn*WD|QRdNMNuW}z*# zKeB)uTm^^D>08xp8*sInYNcdU6eRN}glTKK<@RtX%v5zAaPZN2RUN0NZm4~}Qiqls z?d&$|*K9n4dUUxmOJed?H!5~u0-K+iw#7%7NbMg;3*h+jL@P9cVv0Kf(i1h|lr4hp zwjI}Nzgmik3Hd7NYyU91d!@_4tBd)9P%q+U>}$k?OcfEtqTkfN%~ARyMcyCZbtwR3 z#u(PI)!Y9l-}F^)jC$0qr5UFl5Tyzcq-IA1JscO&w1`R^YNPP&zpQwtNk}z z%=01@xp|@jjOJaK56;3j=SCo&>mkcIaVcBii{mz~a;A?o2NdLU(*2$lE-KDs4@zx8 zjtSH}ILGWl@nLw1;(CB|e@y3PpEK)awymWpM#$pEJ7_i=5b8x@+?e8&@Rp#FG+491 zp`1?(80>;8F+y=q4bJuS77jZG_IAmk_^Eh_jbo)10jAPKki}feUi8EaMwB-C(41o1 zvIE{PJ%2+4HvJ-9I~VG3^f^uB)p&_*M5*t4;iP-h^+^xz>pZ?QlcTjYCOytB(#^## zR@}$5_qB?Wj^VA)H}*G*jrFR_9UWup^J4V*U?u$oA&G%u)38$o>2I6O;JaiybhZSz z`_>(ZAezkavPq^gf@C9J81ZmyPjj**SHrT&>sI8jl{Tj4l6YiMj{11y%-*)7r+s(g z;*PzFmvZt<^U(BuvoxPQpW*!Fi$gNcskAn)XPUcmGID!2N=ER!FLH_=d$$F&8*4N% z1soj1bZsfPI&O|IGJ(;Bu#dOjcZ{m ze@VQnFQ#Su{ke>^eWnuTjIj@5nJGSSo7RLk3Uf+tso;+FJ zew>$hAcW(d5Fe$=!G3&h;o{@|9_wshW@>4d;m4sD2QD*#XTszk`894BO?!Okm`r_L z>DrqLcfKayO{t3Ygxoz7)a|a=%?8bL+a-V%P-Wyt5im)70ye8fagEt${ z4A6eqCn=!GMBvX35x6#b^yH>@;1@?dwXBbAPWx?(#o71ywoh!= z_4a$OA4*&;saZFQdbHi-x7o23kvFs9*5yhBwH5Q-x8#0g-A`;zd(Jt zIrKtwN+QSL9fYcUYP0j!+}YzkHt(dk%?cuqvQ8j74s96>trJ1x(l%MzSB6*UTl9y@ zqd22E?5}rBDrAJe+B`gViOC1C63Bm-M!k-`V!*=Wbd{rUq}Q~7-e|5#?)t1>;;d1< zczojd_2I0W-9<+(zVkWv#!WosRm1ZX1ZueVPS&u)GL=2%Iptvfjk|uMb3K(X?Ss4g zM;jkJ2pqhxqZ-8jG^DP4bq?wHfjr)gXJ^yVf-$BCeKJhJW8)oBps zPcY7Ai&a{$+SyEd#U*P=-AVJCtJYPy2iv*0mL|Q-jvZNV$h8G(sK*Dlc9nI z*hkgNpOBeSq7ZKR_~eyiN%PAz&$s$MdO>J6u%L}=h0k{-J!IS=o7{|LDQXCRmd|TYQrNy(xlgUS)kJ)6uyD7Wm za^#fzs;6$;yo+B~$Od-eMb%Pk1{LgedHR;HwC}V=LcV>6k_Wo`3fK%X+%)P;!2VI#u)*{vUT6Pa~nQ<^^p1p6U64H+fwU- z8J@jd7jw1)6w+%B%U&?ewVG<2AcDH>8?r(aKKSfkE}fjQGF#`+&?86;$?I6KjP^8) z_HLQ_N!o56YHv8exjHm#9(=Fdcqy;l5%Vd#PS&#NMWrBnCt54y0m>9M%Rh}?&CN%z z6vuVJP17I4WUf>Y6ygyKhg~AKWKP-p$$Gh-imkK?D_Gq>XzIn-eRH6$KPIDZU4IKx z(edGUD9r}crh@qq-8xI$nzUcg%;+*#OHZ|;l6(3&e3$uq=~_ouleRg8-(0Hm*1H&%zQa* zT_Q{UnpS)i&q*3iNsM+4CO&UK>4}VS16k-(ruQ5|ez?(YVw}1i9K{w+hcM z@rCa4hwIlMIl`KDgUe`@cdJ%ZEghM-^rrC8o37p`c)g-+`-g+YAs1Vhn>Wv2S{_q; zNm!L+c*SLjSTg1Q>Y6)lP6RPGtdA}abJ;$1@eK^Ko6Kvd^f+eU!ymG3Y|7Hu@gk_q z{CG$FOTkh_y4SC#Q`^tCtxM$8J0su`niAf5em?@4@w%EBm7OJKWqH7EC9^H*Lt#%td~t{YrTWv?;ZawU zY0e#ysjzygI4|#*Jo_$@u`wXrUZ-l5ZnoWrDX!ym=_~nK_7;hBP^Vj74Db3&<&wwE z!c{p9!*8B6Z@WaEV60Bs4pcFlZMRt0RuH;(GHttC`_@wPi@>{5OF?fA4HdI1E-KYM9&Tj>Jn8)Ro3I)EUXOOuw0$?zIPoo=^Mt4%wEu#u@v4 za5I}?u`xBaFTm=5D!*=Zi3svf>aW8PLE3IxIZMr8Nt^2^a>kTdH z5>nzrZA#VEyxkVwhc;FfH`(p`3ruz1O~@<6#`s$$gxu{-!QwX>JT|9}%z5=ZdcG7J z*EnzgcA_OG$n&e+a9sVHN*}>fZe#M*L)Q$3PF*>{7pALCY+W{rs!rldoJ`PvwOzfz z9+$nvlA$r7(45=6-JU#c1$`bCyE>)6Egljl`C; zO~-_|bb0Pv^*Fn@Z2d33&A?BG4nOM|fR~eB`qNsymJPH=jP4ndA7O^XPU6ggo?ng? zQDG=ZN?A*H7s)9DxK9oPP8*Wnh798;!}g3XSS~`!IG;ZAvVHvl*;+s@lOdOl0QWt> zhve=6ff$@{fZtKyh2Z2u0J0<>5$G(QU}%lSI*>6)-bfV2#gSA%N|T-{4meVtg)8Fjbrgm>)s_LR#Z~W(;icx<4~2IE>1#42JM4qhsxW z|5>7EOK|;}QFC-q{h0yu_=~hM!ru0~BED$}1b7!!0B!)U9SCHA1cQ-S7wgm50aBKH zY2Yw_fhjxu6;Bz5G&05z)OigYNNxM`Qg%Rs{|;_|cOa1AXWbo68~jA4cLkiKSRCNs zg_9&8GkMnbEdGa8kkTY%;7MW|q=T~gM&?hiH3FQ1fA?BLgu^%ZSsdcDIf(-K+JnGh zolNaeK;r@yipJRfP#-g?zyRP$8A~8w9UZV3+wWBvf0U3|_zlkV18zWa>i$;1@S_0W z?I)PjSEy#b@$lU-Nb%!I?neUTGUo3u1s;l5zV$w;FJu@!2t*`b-}@vJ8A|G{N67UL z{4r0pNY2xd@4$_MY`cJCm2}a6?>YdO%-1p*stJPF*Z?ICz#VXa0vE-1$kPW8e?mma z@bkd^2aY%yLh29SA!M3gfjo%R-@bAE=Q|bP^!-0kM%Kk{673(olkzmsTY=Aay&WN? z$Zp$jz4;(1OGRqzZ`_lzAix9q?Q;MaLr@?*@PPv<1jr6#1&k+HU?jl+IB;N0K?6Aq zka7S@U?3>)_kBbmk@@ZV-VMo+AJl&<{`*S51{e^=#ep;qlE!2jYpe?fiT_joMi5{? z8F~07b&8*s2LS(Mxgh0V7EWRXWbn&?NqHK)0}zhDn>gr@x*)|L-a}0;1HgNM4=p*P zrTW{uXl-#=7pFgfXs|f6E&Au^s%A){u1|&mG??Hn1gr)MgTevfATl?kc*^%-fc_gY z2?C&kv>a{0z~le4{8TPDhd+G9kd^;Oh%Vmtk6%MHa0h}B-1ZMx%m|c&gAvM|poJ#| z)P4+fyMKWHfJ|qH#d#_@plyF>ishT|nm@pRH~9hnBRYe% z?YEfGFXgg+qpz&-vjC_9(gVUyz=Mu}bppP?@u=TNHhKqO2>c6_(V9GD{sqneG_l>E z(aHVuIO#>eH#A_*iu2_3x4y_qP6H7sG8QRJ^v$5D$axYzXwPflM(Rr>Qvp5{r$8VV zpw9t87fv9EvJ+(439{@2S$2XfJ3*G6Aj?jWWhcn86J*&5vg`y|c7iNBL6)5$%TADG zC&=>uc97+pC*vsKs{nyafe+x@074ufCBSuo1z7`bMKBPiumjQr;DaZpoB#~A{{;pZ zBmy`ZNgt9kgzO#p=Dnl^9Du+~ObQTjkQr)6AUMfDAQ-$boHUJA7=d+!xWk88^ zp(0>OXKt&)TB0>O$5Z(hrfV&G}@Vq}LsG{%)9GV=J0h1^K5eFB7 zJP*L>HxV42baj6c{#$K1I+ElfW8(>Gu0ZAgO1F5DzY=1A!ed=<2$Y&DFpZn{M|C9P zXI&@2%}5piiGZLSP>ui^9%vib&sRD9nD+d$${(2fSxj!wA1?r!=kL*fv^)tB5LiYP zi*O;mQ%m(n6C$w)G*ad#Ss6GS1&2$ctc9#?ByEI5ti>dRq$RAyfRqgk2}epu*g#=F zsA*yF1ULqPB2feA3!?!_aB&+HLc#_n1cxJ$LQ>*lNFlhiBwR>T94Y|=$|R5o)Q|e# z{K0UC-?he84ovi}zH_cb6!Ks4<~*E{>efWFV0 z|G6II1gUF$GXqUD9*DzveD7?ADCh4f2Q;vT05EkKID!<;l;^?2T~SD$??Ck5G`9pw z8X+YqDJ6tNK}Chc#NeVrQr4o@LNHM{3MwTfB@MHY{88Tx2*LePQ!t?G%ZQ5o5dYh| z@mL#z8ytsHvIPwFzaiCk?htlxj4cWn${;+D|7~&pd)E7n&%cWEr`G%r#QCwf;fJdJ zBn*T!f_-Zy$e&w~T=v^&2gpta0YfM$`E%@6_%X)rJa;s(qk$a_>}X&|13Mb{zeoeW z{`Uv0pq1xw1O9LK+k!;kf0f@CB+~5KwTpTe4K+0l9S!hd*iA#Tn}Ly@o`Ig8aStQ; z`u_Nq`SYEEmX?-@k%@E99?pNgAQ4!>_iI5S6Y)JLAK;R_Ad$o``Jx8x0#+kZQPNQW zL0~H2_Uobo{$or@O|u6?NnVIZLrq7si?m3Tf|81L7d2?_QJ#G?Fg7I-WdnBFbJn~Z zyW!4PfhB;VD*Hp986xnU8I62m{^6MIX;v%iPRJKUozdzqj7EPVr=#f!eB=QgE+fK|^oj*Mhb92wR=gS#Qs0E8pVX zzpp8=!n|C_&w#J7f@Z=z-}C|ZBW}?zx)$|Q)zWgVLM<6-<7U;ttnnPiraJL!{{81< ziY|P-AKcz$F?BoKYM*KA`IFWOoRIe#^>T8r=2!VvLqpCV8qrSR9TzxlwR*ute@{VS zM0qE7(AVCk?qa8*qo*4mn_@k@;l<0WUi(S( zT`TffXDHJV$@SD%T~wKGnnYin6H?pTa?X$V2@qT0fn}=XzPtG!k*SER^sJy7JpM%2 ztvf?nEjH&6kQl|l$E$8N3j1^TqV{#OA8$SZ>%9oMDgqV1&9S6hR9pICmHp-5gi8Sb znU0PN7wf^LTY1Mtlb8c^0lPVSq ztFg6bb9dJXZ_@EqkSggi{+u)PMNL5YP~h!00i*7QV*-5%g_(d-oAR0n+*~YEOTwU-zX=#(yGpxWKP^q@?wzAYKe^l_&8U@)S@7!)<$vGN zf9-4FMJ=Pf9UpVnVkt|l%fkkIj5{G~o-Z~OR{K}(`+`5eGqJ(eb4P5y$dVslZBK2U zJ2E=M_}&B4UmEsqU4&{{F6_7*;-P2_kB{lWj|}^cb+&b^9bH^xTI6URT)iDVJC&>3 zE&vhA3%QoI3^RFO9XsjqujL$?KnPd?t41ANgs!2X5(u|Mo@?1c`L4oDeLa#Hz<;KU3Gnt zDw>gcvJZXWiAP9z(AB}KIfXVB25w&3_j4Z9UKEx!!+aRjlBhM;8wsrARM#5fNNn4R zxm?Z~FW<51W>R5h6Z)~Tyj)mjW9r683P%XVO%>`C=5tT^vUK=fEz-Q~&0DWL54Ld~ zw^6&TEYq4QQZeKG@`zqlLK#P5qDY#V>S^})vrF9{%=I%j3U-Bl4w%1i@9hirDNV#o9@N#nXU-o1{WXEcwimdx@~ z*KKGDx1Dd$I3eJ^v9YN(l8V?bmvewY%S7A!eq(FZN~K`&^!@8G|pN2Ly^Rg-~k@vf|A_}(<;huaL>Y6C`$|DHI&Mq-^;s+ zOUfL+TP%CV8g}+elm-b9nkTt-oTtw#o3juDSRg6I^N|7B^LFL`^M_Vi3ZT z(q)-`atX&)8`?`DkuJHiSdri1TB6PC?7>t>8&;*+oVnNax#~@u1heA_-qJ2g`wHQo zvK3o+Z>iNh)OK8Mi5pIiGp0V4f zVX|Sk5OY3xT+u`!&eU@$snAEgH|w?i;2AWVF|j$#Z{Jo=XX&HWPl6noWju(dXMGY5 zjqy&oAW>U4njg!adv()&AbH{o=i2lDW0MQ~VyIb_k=@%Tr?Xzc6p9|N6JE~L=Rc(g zEIy%JSL|kCMZl%z8@z#>ImFwrEN_aF8){F^*w^p97ggycm zxOhk0v=)zKut1DN%4mMVOhkkv4(+pBE{-YcI-y*vb1^76j^)V6f%hw+aSxJ*(6*&$ zk%qaOm8rMF_4lPjF5EL)rZT*8*o{3kTToWq)5Y*G`|cSx=e_p&uc8~^Vbu;6>E+i}^yL%V4 zRa0kbT=Y##>5F(4IvM`*^z7F`UA7)k27mJhA$l|QUy#vO()i2i_35<*ID+85>HOscL zJ9AA=mp6s4`>`$V&b<3%JJH@yI2FYdI@!t{`65<)p=o&e!V2oO;;Ti!thn1Q`X4q+ zdwZ8hCuheoX~iSHZ6zyVnKD97R>YS2n1)dAT*9b`POH~c_oJ{{zxNSw@3(yj)Gw>_ z#(lE(8*1lt9g943WOrfk?$6^g&Eg)Bd@zpMl{cXsgRt- zl-sXv7WWEPmh(AiyLbtW%ARVgLEC3MRn@ZaUB7`zLhTiP>*4xkJloAv9%?zp8hleT zt!T=Xclxr85;omk&@#K^^l%#mSR#2JO=odrU~Wifa6Ed&^#qBil~vA{LeA}h!Fg)W7xKFJuwE|};$Fv#4&G$AbBa$yS`z}D zob?RU^{+444eE1P+p2BUJoxGon;grOp}EsBZ2#tcW?_y;i0U@3C2KkA-kj4`8n$3N z4U^%V(f)(zVty-TIPUc20%Hy=!aqEG<2EuO6~Iwau}$FebdsYI#k>G5M~~3r ze1C}bH3pH_my?R(qtc`iQ(r<@Y>n+76&|{DBIh0t#qm30553!&3JQ}lKi?=Zs=ZoP z6jTwq=RJ)9=M9A$g42^7=C=zq>*N>CO^g(`3-9NU{OEbrAwkILy4YICTTc+6B$oeNm2w-rr^agtR8q${8_!E!MVR2u)7R zt3ZOPhCfRzs9+DT7*9r>pucIra&lqt<+AOEb_Iz8DmAoux2lkza;1;!Zl-H{iRDZ* zU+su)9zV#iI8eMxS%>lcGXL09NcbX~{E;-hlHhJPzj9+EV`AG=1sk{(-6BgqOh@95 zWpGuHyU(Mli=yl2qVy}4k&@@C+6lKoNlPrxL)358nVP%BpU|r4g@EWvpm$S!*+YxnKg<;-B-A$CdK{d$K1s~CS<7+qW z?w&NGiI6<1?kj7)%FBD?!XDiTQ*SYYOsB@{*>9#Wil&qWy*=;FS8H|qe2ntybS{jX zI)s}&J`ni&h309A#R`uztX#a?Q(iJH2JCH%A(=M=h4ovcc1Iu7rBf7p*I^uo=q(>YU|jsZ@oGkyKf9zMk#^LnHP-4p}W*%aCoYR|sdHzJZ_GdNrj zs}@ssLvn9zUz)DZtfOH>gd3sCX+cXJ&XJwzZRhhkRf)j{w@`KJY526z`6v1!i-h~! zBOj(Ly-LfM`?WvCOm6nP+0;tn3*L;5NfW5`i#XB`><~kn`|P;F#nHaW@rJ!6YYbw| zXIjzG8S)14*F;TkLxkTrw3aEBSDcn8hBmTp%GYhbu{G{KgEwtUiywdSCMYE?AMckN zQfwhzvf$XOzoi&8KAYCqKKP_J1``b-wo`olFr5$Uok8?MHMHf1DGvouT`9~y-`y-Z2!|`A*IIV}C- z(C9)5Qy;G87U3rO>!Glix6x~$hmEs5?vI1J<9WUJo@{>PdB5>V*bP046 zWIk1&;cb`o*eG?$DQna9_N$S~r~EP3W8ms940u%o--pT^S7sgwMW61A*(kDqak4)j ze`6sz`$%!f4f^s`Nk{Xby9yQ}*Xnv0!uLezwI#`$I5y__^?8XnNPxp57AW&Hj$seFv-0D!+Z{W}tP+|JtWGD`S@ir}5Mv=PaecM;-;H z4j~p6uWp*7-ozce*(JpxxOz|Z;B$v$V@pMj;h`|B#^^JV!jOF#fXGn$8N72 zhb5CdE zx$?sIZHd8p*9($cp!#x+Wt0bOA4E!7pEI$=XB)9R4}awrFNiAfdmieiRGR2zTDvKl zSa`EvanomcU9O$GwMlaH6%X-KaS3L#FnezHL+M+EmLlF-gz%wvf_YbA845QpM-LN0 zLfz;0#=mm4lEZOsOgnDXD{Rx`lw^hu6y)AJ7pD2q#6a=rLGO!sPYZ?F*aV(EyMIy6 z9;kFa^}e+^V~4g^mEP22qhyM(=TbM%6!9$#HishBwverg;;tSnUME%0cRuD;w<&dd ze>iOA-MbmyHHPQfDaj{Kb_*3TIkRaNu7A0&k*~I5l_rU0eD$q#1Qn1gTsu*|ono-SdX&iP8LM?~L8hSD#x(waagl zJI_@?UO$y|wdSQRetefh`FdqmE^EPKPT2e>Q0J?bc>2l5d?pc?6Nj1~z$P(ONJs?b z%k+rX&zD)m!99u|S#(EIXS)?$M6r<+Rv!*6mzwsnb2+OWJ(zxTgeF#OA#wE6ctP;W z1cWdA%){m@EhcFp?*ghn$_5l{uMWeHF-0`OC zps^##D{$r=Cr=1e6{F&V`lFQ}r(R*i3=FBG zPrsWUQUaR>eBgNwuPRX(KunY$;e%Pw$t zy0n~*C?OHW>d+1Yp+sS_3ZR4NBesQ;R0da%T1f2?RRGoU24twLak05jN z^qvSEY$tqd=`0V;daJFTv0<4V#`2ae?Q^zp(|k_Ct(2zCH<>8`eSL$kon}yhA20Ay zuXgd*uZXdUr$M;u zUK$odM|ISeMy>NQJk!kNT+gV*j0Qf-h;6eo7#&y|GBADl=)Cfi#V5-I0b9RL4dV|D zht55i0!Oo7eZ0b;LbylYLiNh_)r8Dr?}Rn|xV7LO?T`$U+z;Jva!ijKMGpkUQ7_5W zE8gIqkrWvHG#u9IP~+>G>i{pbqCj0OKP|M-2D>$=&!G_MrqFWtePM1^msa1)Td7HE z#HMe4$^-?1@4@s7b9|k(`(AJtSUuE85W;j%#26X#DSl4e=25t{H}93}t17OMj^h5# zHGwy?mJV&A9P-kSF*h*^S%&nL;4PD81g{KN*6GXi55x39rE22Yny>mkrws&)*z-xA z1qVY0=(|6kIZ5}-y0DY>WP!p=?3xtL04+R6 zZ^88gkXak{Wu6=(KHsdcvwk)&4nGZ^PobwoxzB5HE^6@_KInd=E!*n2zx8&

2tusxvsBPuT^Eh;5>TGLYRw5q9^q|{l*bEa0-wsy7(y3QU> zNOwz=Edtm~kzqIGZo2&x6s#a1UU3MZ394@*!|(e9$ApaBYx?*T#<6uW?^#m~qE zg#nP=$HC@IBPu4&3IhTRO6P#s!EO=(MbPF&8s?(9s^({kGcy|Rzt|`?Y$7Mk#lw@3 zZF&je<}#7GJJ}s=>=?sNU-++w0`K+(otT3*wmL*m^Sj!L*5E=Jalbq-VAr8rkLwgi z71vuOR+gMAw-Hz|u0{VSrs zDklmqPAye#>uxdm_UG zH)Z@OxnnkeQpm6Dj@kUu#h+6eAc(8OP#J7)7& zoqUJvn9V<`2DD=~|EQZCv-wBW?3m3zt7gY+{#iFWqs>3+=KnWl(>cH8Nf-s@Gl*_0 z&LlYwI|5Oq&s)ca9WS!*UY_?jWa?klRdhtXb>NFc8f|E{yIgQ`*-qh(5_T-%|Elg_ z7!jIX2Fz-5-hROS(M3IF3%?IIx+pI2LE3(+%`E+|QHk9AHMfW$?!~CSx+o7>i3`Ki zoo?Zos6M@&?2a~ejA5rQ{8vLkRGk%Hb?Xajmzs|st6D=-T`tFM`2Fn+M#*0XhX2zH zMs;BKG5Vidz2U*YS?s{hUVjkGWbVE&{E0Qq+0__z6#TI7SyNtAWI9U?9v^6La~ zXL{1aOn@sWSO}Pv3A_?UdK(zwNKb+R+-i^?P%zFG;6M~?iwBqo*j2^SpQHbqd7)AO zI`-SK_21b1sRDpiT{zzUmjI+3nSUJ@M>GbDM-u?-@{OopffrG8TsfPHMLxYX)c# z(t$!?3o&tFsDy}^v;WT3ECK9>2!N!;0A)%Di%5z?MF4!IU$QHaw_PJk zZ)~7N4*_oAeqzmK(sRa#zGwTtAv!tdbA2bhz zLVpul{9nrg10)a=2dIjJCB=kcQj+3e5orlw2^b&@aIih>-wJ_2x#5LSq%9Ni5MU!c zQ3zBL;(~TT2mvSFpm4T0IMM~^EJAn!utXTZ5yGJmD6}g|2q?i2gy0yY5FTNNb%5jW zc4#LdI6=t9K?sd-boeLjz<$%tUuG=-$1M#L5fO%x+E)xL4iyuY02CzxhDkw%#mS8> z4igcU7L^qLpI4F;1OZ2*g$O9PqY&x%G9(_*g%BJql1}_a3m6jHk0<<6k78QjG zlRAMUSPTm62?|)%e_}tREkH@8Axx6vpM((oO^CmYJpZu}qSC?=fCvD?k}$Dvy%yM7 z5h^Sy0(1v)0P?S!_8&U2*l%L|Wvu&;#SjDfFi8wxKoS=f7A3cZ2uw;C28bac4M2dz zzqQeS5Jdc!Afmqw!T*~htB9DCuqfH6Bt^u40TmcU!2t8ZBIMynQVclNP*hS(>fg$O zL<7SNX_w4@vNB*b!H=#Y3j5b%>~9kMl1ftad-wStlM08zqu@A%-9HH>`I}H8|6ZtH z0{j$83>Xu>cc=fUruzN+;~z{=>NmMaKeztfxb~Y2KjjjK!GtA9qZ#lW`9EZWXbjQ? zSYY#y7AXCjQ2+iH%Wnew5=s*IZu{2P{-=ZjezhRrq}^rz!31Hy{dN)k?YE0Ma6TvS zGYg{b0Q?qEMInG4dVl_Q6_*6I3jX!;)&22wapzs6wk!WitQBjB0aef&572H(@x7jQ zr;+FR)A_gTTFZ^@!=HRTntOHuqUg6~VYNLw6GGhoVxpJ7-SVxA-=<>!wggdcc>8Wh zgZzfpcJ>9X{zot}>6ZP5+biHqY6!Z>jWB!6CGQCM6> zTrVrUU91?lRk$#H(5Kc}fv+~%a8>>TLHcyNf$$0M%?EI1sB1uFF4nUureW=MotAG% z!q>24(wm+^h4(oN71j4vWLiu!)kxbqIgDNLxwzHU;ASFPn~y7L^GxX~&MuYDjQeQH ze&|_c3(J=tmXED1qoOxIP0rQd7-mT=5Y0$bTO4uMjJ5I?_ZRcR3Hi7jZT|u@?LFFm zXu#P;m+R1w+*N9-pzOZBtIN?z&8F5fSlvr5%b$(&axY*NhwDWSYd^SvPUsn?wc@^Y z?L&Wl%e3$j5w^PQFUupr-A!JV#H5eN(z%7YO3wbvdWO=sZZ`Cw=WgtyRlEPh9J+Em z)KBex6@+cgy-N1ItiaUF*cva#>PomT-?$Ycug$45LKL@SP1&FvftQMU!dSH#qz^V8 zb0FrXd7j48odh9u&g&#hp0{J{W5;{UeGH85qhhlWvpz*<5zeAHm*nnc?wb}orNyHl zWz0(>2NH`u%}nHHA|9rE@o3dHU8%0Ms_cWAi=(!}WF}8)a5|GW1Aga`pQRN>*sYcRa{!{d%J05G%LYnsH2A3=L~IMOh^+ zLGN7ar5GbeFaOJf$ec^6dN8|-iwbs@Og(y&W;_NNPVUA|N_Qq`S+7eGH`n>cJYZ%Z z#Y>2awe`(NY3Yw+%~VMLfyD1KVXPZ^6 zKX6#=JE-;knvrI_^jc~+C|#f!>3524`})TKd+n5s+hJxIt->bUHoS~ekyG_2_^i(l z1tw}bux*4Bz1xqm1$0&?Ii{RB$QGhoGmPH*wCJ+pqMvX&+NXZQBn1OK`kTV9=wfpjo#&fZ5Kd()Z-deycg_KR)|7!Eg^fKD$QzTDUxFie4y1rDO1FvKfSSQA z{PwOT$`1@gu<>BE*Bn2e+`Dk?o*OeCtN#hd^!b4{w!O4Rnz}36`D|+KyH-Jg(aaWa zv#kuO9!t+eArPUrq;Hn=u7Cs0SfT~J-)2~8Rdj`Rx1|b%ma{DCR|iS?Z7!k0+10!F zsyzn;yjP;IxXVn0aJ#8+iHTglZGjW*Mvfvbx|0Ham6Xxj(P5rKtpZK$&oD!NwpVnG zPuXKQPOs)G8v-3!BVEu(7ca=#HHJ_qFW1%~sLs zP=U0Ys7_tkJx4q~zk3`cLQm0^-F#iPN5U#Sc=3iKqwGxYNB1w$)spTxcoE@1(_89N z-s7&o8S2Mqa?-u+6mL@LrJS(zpyk?rCcBy3PlS8wM5j6BQ8Wfm$v=R$n}wXfmmg+s zX@j*25)aC<*Lz7fFk61UEqSV3Qa}EoNa~W7-bi%qk+eM=mP}fWEXk!=gJL&ly$Opk z6RXW44Nj)aoP&7>t*9Ddrn1|kmmVApU*ryXzUjKI3of58^}bc}1vA=OdLV6yOE9Lo zG7fJ`PkT%}9WhBOc_f7SHSO&+mde$xqSOy%Mo+! z`P#46n7d)xX}aDTT*5~aCb{-?eyhQuP=k?NP;O~?9sN0H z|BJy7=H+4YRtmB8;%mJsW$hu-U-~pLc-@bNxA}IzRmtlK$FuBu>rvC=aVt)AH5Zr_4>Kuz-`-C$EAhQLa^XTGuaB86&kloiRIVzXv0>!d9$v@>~eN@Shi}o>UOKx zlaap`P4_y%zmjJAV7!jMzh8qk;dmcBxpCBSV9IH6vMJRj$E#yud2$M_l}~+Aq5RZT z=Qb2=a3<<4H%-SNdYEA#q=eF8ya!X~;JDrP3O;P>g2VfbB(9iF6c$&SGYTc*!aol= zst0M?1o`dWb^Q)LYEe_Ra6L+jaG-w7Lr&+TtgKtg@xI-Hvcn;9&KK`^W^62s?>exz znkqG~cy)hxIg3+(rlNm(+6_VCK(9PkiAiM64U@JTQa-mt{qOrL6_sN5U1~Vl;UU+c z&rqQh@Iob?DLnLcs?urh7wuWko}L2VEUz@>KDl3z&T2T%b5b$ye%bOJsETJm$Pn0^ zCO=}~9>_n1``VBs+D`0^O@7e$1^MAy32%#;E4$hiYa13mM3txK;awOK)tIp>ewN*9 zs}ZFp?XTXBl@u1tM>uW zl(Tbk4UT@rJ?P(_>YsgQnj|P(($Er7`altypU!$R{5FmrYPZ+5xjio8>(KF6Ga=L> z+mpn%)TJAxrAH5p-rX#Hu-+7TP;<5Qv~HtQZBpcAj4=1$8o@64ih0BSA<%FnI^6QI za{G0Zr87?yhTq|o%9AqtR1K34Uk(r6FGx<`3iKR{sOe{N8kq8T=GMbAJzX#NeB@y= zQEW|ou5Cg55>shN?=E+kV?{*%Ol_-`In!7GV>7!iG@iM$GFf_>3GZ(97JgnMsoD0W zso^1iECX}FVjGj^+n$Sa($UmVhptK%E$8Zm>gaZAgO9A%!y3$GF{Z*j{L8UlB91m1 z(&fv0R$(#tna9aAN`v0sIO&gUHJtfd;|oFMoJ5J|#c4v1Ah`}F@0DHcvc+^}SFj&} zsjhj%U!q@-7QcX$C{qb$cz%NR;W)TrGeewZjgCrwNu{d|nx84@ZX0DoZ}hZMx{Fgnp#_T&#Igo@)zXbr>W6kgHx}wr8d)JzAaD#(hV-9jsY= zCx-Cx>YNj|FXV)O&W;-}+&!D+k#X{ropk4`?r_mPtLpZW-kF*Mb1AOC&3Yse?r{I@ zMYtI`G5ZFzd`f;`s@GrfB)-GfBfhF z?|;1gFMs;e{|XKGMitoUH(~h>?pk`2Nj9adV8Wx>gp`O!sOQ9vn713V#>$M#Z5vX_ z;ig=w7oQv7ne|qV(cMEn?wJiAj_>BA{kLP%Y|-NZTh`^QFiT+1Ex9v2cjn<^{eIh+ z3C|fb@Xu5hcN6kCI4dN=N#6$fyk>9S6Ui@`=J$5n?H&G_KlR%($f4Je4n6l8!uH#G zJS5~$zEcrA1+l$mg8gD}&qF)zo|*I#j&{d5c_dKpu>Di;;vGIYA~U687e10wCq7C3 zfx5e=>u)ddGazcd%0#vu-6v2e8Ni@y!4FGKUlR7|D&`alvK zUO-53r9M2f{T}MWJ67|@dLX`IV~2QI+;+t!Gi&83@c1Q*{0{Hj6DGT56_@CFu)chy zJ0|cMWAn=RdDeE`d_`EeH{I%by`L@?XaD$R8$7cW`VDgdnrne!&mbl7lD9v=N!GM} zXk%TD?raOM;q4NpY}vz4sI%)W`2i3TF9XFN0wF#<$5OY=s`!*y#Y*;5PVSFzZsvSJ zuEC3b!DfDFDBXMGOCid8=+kWgX8G+Y#Bzkzr}&QV&cV2F56r|nD*82?>7GgSnj?5` zc~1H$xksSq9rjh{B*37{>5 z>5hv0Cd1b-5!JYjD>Yy6pf=r5^~HQRSA^Jj#~w_16xz4F6QR(j4%NmXXbi_qt{ zp+c|2)en8_&xvinWHY=57X9TSoRNxZ3!;a{F#WoMz zs$%3T1L{b1!b*m<16w?<2FpGGB<_Y%?iiv^MCUe(^FwUpyTXKb^zOZM!!YN&=h#=x z$sN<+-sjv_C{Ll!zF!4NpNo~;VTq3){$%j##I&WvtM!2jKb~=Ro>uYtoyhEMum2ge z>^p~j1&}-;f1cI%A3>I>Jy?X-psTIcHnZ$t4rF%{R*vz9_DFut9vPJ~cckQtXv%G0 z<~3;bwYbwSC*U5#EH5d8ABt1mzWO!A{#xSXYZ0c`(sn)tGv$wUymK{v+m3t9uDyrr{na=l_kfw#Jh40Z&M)o# zzeHB|OFZ~Fl`FU7#XmGe{p~*CvdMmAHP5Gjm#^h4zGjd-6Op|W1l~g04@wAL&z63O z!oTLAeQRcL@7b+6d9apGG1~#rLchSxxmi|`E;}QAUpm|)M-dX)uaP`TVqqm*Y~SWt zown=x$~&IROL6M&*l6FHg!xof$|Fa%d}J8a=M1BX^zJz;{t=Y%DXHFn>7C{Fy|Z zN6$E`xX+2~Ka&OW5Lf$!g4=tA#9zWb{4fm1V+b1Un-}!K!z9LgTKG;@-Af5DuhkKJ zhs=Hf+imQocf@FRPb`L;?%cOVexGqH|09)8VrB;#ntQO6cZ}e?l*YCB^<3|dUgNg} z+Fz=ic(Jzp!FGGiOZx$q(_c|S;E%-Wd>$kB6cs6z_-#h)!-g>DW+s2>+VIx^t~+A& zA;2}-{PC0~*cs_yqI>q(OQk0Ff+H^l=f5fO@fS>7J7)^`;3B(Uv4vO zL7LBKlyKS%c~u2$n;}*Iz{YTs9ZL3W<b3IF???g5;hT($J8;!A#jcz6a~o^= z*tmESRJvyl?k0RVPKSH38^FnGtB)#iK8DtB8#K?gM)fW`88n}wdhRw0m=7m1?r#_D zJ}e!5v2)mMG5#Hqfz6J1U|T)a0rr#o2tU)}`g35smz33=LbSg)TWx25%?Zbb!<;|Y z=IM4X#{af8V?0~6b-5m%Cs;wfr0_kA@SV>81Ap%+xBVryek}+3p=EnYMZb55!lO1X z-;oUUDYaVPuFh|?dB67z4}Q2d2JdM3r~Lc}z|0ekKVOT>?5n%JE=J;uPx)zL1g6;DKKZpW1ZUkIUV-ll%NV4$N}*cLyf5N7?ZA zvP*toPRuK|*Au+6EYWYO_quI4JlEfoHO%cFesIX~cJ zlmA)E#(t!o@mkIDw?^mgCj(`78@GID9ezq4?#J5aGqcSfMm8R0b%f@4X!(P^_C$Tm zH^x|Alrw*6$oFx2(`}CU#US5L&5!tNOMrb)h5!MFzL9kuU;a|x$WJi^pP1RlnHVp1`gx5bKBcSY z=Ok!+yVd-BF3amjg#6VvTlj@rv)yi8`b;+V$EL<7o^tm60h|BGm;L4QWuNVV`k_R< zZIwLN2h_9ouB?(f==@7g#XSW0rEI`Y$zM1`4z6sgzwnD^THm&&?scHJ6WY4x*xr81 zoea}^KGI94i2h#wB5`B9kcxf1cuJTB+9HS=6kV(*)?G?P2}jd1F=t-O;&`#*=%xOJhpmj)ZT#}$=X}_%?#cEvKQhVphc=#`SAWoC%=s&}f4%AC z6PJp40XNUJ z8TMg>lYV6C<2_;cD0X~-*}v4^^HFKcFV`3EFVN-W7dR*2o`Cx$kIDU^J&$is;k}T` zOU?XW@=RZ|mwuq!`;j*8ccj!lKHB%CCV}@5(huk4dz)IPRnz&vu>GF8k>A9rMSM)H zJrG29Ciykg@x`{C-;(|Oi$O%cKyQ*KlVU!-?bE{!c8?bQl-B$i2L=BH@VNLlqLEVKw(B*fSr)-d9K5 z-#P!{rK5QtB}w0DrSl2d#vji1cb=AU+gN(88Li<-PDfkc{ik5bf{$7F`*C{rR82{L|aN z-M;~%F6jFF?xEb~^&!RZ9y+wwcKOeD9`n;qkG}bLLMcCO54lM^J>g&Z5AI#U%X`Sq zUYS74R~|pMKY!Zk@DJZpsy*4`$5U=oPtW+*FaPwP@Uh@}=*;(qwSULJ%G*Ew{o57o z&;Rn}SAQSh{^h^p|M|xM@8PO??3KWCo^o)UyFc+?JOA~=Wx6%%9Lc}4+9CRorRe70 zw;%HrbMwakVzl54r_{H1JPT77deQ)|iEFTUdx8b!9HtVx&~+X# z@UzG{fm<@kShv(LYWJR9hgId@0(?09V`W2^_YxCKzVH^Xsh|eR+gILSGu98L7N{5~ z55we_W}j(-go3Hyq2=Dc2Of%98m8;LR>yAsUv>CN4UU`&vJbuBCN|!JXma4Bkf3nD z*8w)jyT?X`F2LGCa#iQ`0JhRko@NBd5rP8 zk1nc52#B!>Yyz>vEaQvZyN{4-8h?d>5XqjNiXrfnb?hEac@3oDJ1fQvT93W*;miqY z84f<~?(b~6>2!Ch&}30>q+-;STs%x3ABrDYtNxXRM6EzlWKnSi^f@M_GHJEw1>Ogr zIinfZB|QpE=(FxlSku7m3TnsQTsjPbwbXcdND0$K8mAlV%6X{}`y4R%0nZ6elZadR zxnLZ8S>Pu3;4uc%$al_pEng^XAkKRsR2;0SrbTU~muO5Iym%tFP?Pu=a}!Lbh{-UN z25y3-fY*DY{zPhIuY{!GgJ1dY^t)(ki}8}{No>_3{<)F{ri=JEJTnk7i~M*p7M3e> zSXeCVWYS==1P)afK+4%thw%#>)|#7RazP8T6OTRm^~*+%G$-HeK@m*W>|($D(9oQR z(21hLOXEjyxVb|-fabA}v3vPp$$_KaB5iS(#L%1q4=LbDg%8>|rJO3pn%^R(wZ>Sq zUB{$iP!cVAwG>&~>|jy_uiKVTA*Mnm2x zn0pYxUolCfz}CW^dy5cG*a$fdW&@Lv)`MdQ9j!ZLPJs;@VI1J@BECpIVtPnpbHNmi z&ATRodyrph(}=Ma$gbqx9nY2y5)p;+oHP%)S1300gVJzqJ^gb{kVG+P0bb z=m@Gr!LjWzjE-G0mfFMvX!tis_9aI^N)1|;6TgX^$P8?}yuNM1N%K-FMm_}@m>k5M zJz~%A{7!KV(X&6pjo?C2`q*8NOmOfGS?P=lbN0F!Mah$a+f-KW&FqPY~NOhc0L)V zK&-v%&Ejf2l2qT=V}J}+6HEbZ>p&3|jB6#DNpnMOlddVLMN^KuX)+lVqX>HDPhW7YOM%jkA|ORPi_aW1yfJ!5^S;fSK^iyXb0`2W zsF63@Yw8VJcrR`Yh}4+KOo4M>npn_5q)-+@`#}@fUp_-y8z;J6#9#QEQdOP@9Nj61wGp(jG17^JFN<5pJ3LIIBrZf=5NlvC;gk+Xz z;^u({q+Wy^=0EEbT4)S0fyQ#lEY9`V4>A$?2Urw0L%c>JdXU@@YEc`MO)s#6LCQ|D zoIDMol1PH_PT{E8t{Lh|>ZW5#oP-0`ygAWe@A)L2$NOPklLjq8BTj7Vu^L7CL8rKh z)nP)!ATu<`pcA`x2el>})I3#5oW6zjQJ<_QvBw5#%rxb{`fL(kb z8Q`Nt#G?KrDhw)YPAnV*5NxKmM8)msr$;hjqO1X9HeWMm07?PF>|$)N3hXSd2NW(A z5Gyxb1=&O};2=K9)ez9Nb1_?{_OU$$hHFVw$p2ag*9S;XEqiF*b_YI?!FJFv;bt&X z>0r||v(ccay>t^MC{VM5J>YP2jn}j^69Y0kx-My1TDj7?jZQCsWX`r0czX+aJnY2c zhx~!D#Yw>Ea;szmN~+>$&NnSo70u_+ovaDkOuV1(#&_0LiRHC>9CE zm|*~GgMi1eXm&S`5v72_6ookCDyE#aq1Fz}O-;5fujztJ-)Ss7_+b6SB)~76Kk%7d ze`QK8iHt@2`Xwitsnw{^uY|92q=#7TZrU591qR_Ha9~roVft=V*bnwhFdyu%a)ZKc z;s%9xnpJm)dPr$dvF+g)IrI0pe4S%#+$!b?Kvlqf$8Ltyq6dljXGnlnTISw$6yn@{ zSZ3_Lj9rS2U&cOj3{7LoavB4|ZSbONm_G}oR+eRGA2fbKC=rhr*xn9(8*{jrQ639(5ZTpU`el z$o6ghf_-3nxq8A2&h}reZ#9fRzJ94-jn<(tL?IN{@Xy#uplRx0EQkg--Mp7Pv|>&4 z{0Eb=c+f=~u!nJGrUA@lXlFjp!|urvSlG7MrEeHwPg5h0!C}3zg|w){INuf#s?Pr9 z*23D>ZQ<}3X~s2bGyd6~GztwrnQ-g3Ot}508Ev&sH*}*UXt$~IWX6F;2hyzEVa9>h zh?mr9#yQIFhP_>4@O87}K!Zs_D}32;pjD`Tn|RuBQix4~@^d9hz@Ey>daLxPV7>Xn zdJClKEa7Rqb-NXUxE6mHZ+J6lcn0S@>hPObOL!)Bb zPy0=@0+Xf0!+_JfJN;X^?Zbd;k#>_%6n z90pt=7sE9c1Y-tV8{7_E@9mi~;4+yTui@8D11`OtHaqt}1{3UL-p;?tE!%eUPB?)*snDyeiVH%V;Q1s5Mml7~g$tJwY zxHJ=pETmx@*v+lc4zuO=u2K|nV!$wj(IFNwL3PX@Jv7oF1Oo9HT5g3%jaVPD%w-DoIccfd-I zn2|1wlh#n7^~)s$iH!-H7#`CG(LuFBI|fF#yqf@rop82O6rq@X<>-o&sEr`~BuHiZ z%>7w z3K$TI^G>5|w$_@?+thtZIsIVs>3lDXg~2O#vS9RkyOp;kclE@bOzdkTLlt)eZn04v zgJ?lvfF{rsA6*#70TJ9q=QTh(LMRE5_k?`R2f;4M&=R~f5@9Y?M0nx!pGkz?6MMsi z(Svw@lGzg!CV;#IKU?evLdC#z$Xi8Oyg4j*C_@K{%0~}?gsB1o2t9IHf%s)>+DhV^=UB3Fmop2_?#JG#hI2ub#1Te> zs8x^woLpN|h!B5xy9%CP?V`D1;?v$3jKjfq3tcQSi32aCOBsGNDTXD3GG53SfM6Dcoe%qHG0o6RNWnl`8c(`iv(+sGkSKBb z+nm=d@5~9;oohgC&d>@RvSJ@#>(y*W;0Y97V`XzRM~;!toeLI`TySvAey#CVI6u|+ zu(k6D2G3f|XO4Docdq+)jhzt7c@D;|iGH82vAM5j5W{uPT|4ma6!Eour?ds7QJSl2td(S^zrvkO7Y>^P{%V%ZH(`9$D9uM&*jXy zaEi*sd=ApiyKuZhWQyNpT_%PQPxCPzoXfse(p?5r!~tCAkSJ9nNDjcakvYhCDD$%7soc5(JmbP8uT5dy0CLAW}tdO zKRdH7>S@I)Lm_vmrd(W>&!{XObw3GMb9qz$oEPPM;D+HZuf z6!J~dK8|tYHEE)^^XCEIlAxgGl*65-@)FUV@JY9zE+O2;ZAJTI&FC2VlOxLHHX+MGL#3x^ysVqmy)(GCFjY88jZfRmc#lxVx@ zmzGObS)s%w4IZ22XTdC_QP#=w(UO>4sHuqq>F|0vVYEGPVbhhprQtWhmusBKE=)|$ zSZI|gk-VE|FD@X})#T((# zxRvLRCKWbyuiNyHhQ+OEn?};QFDcCluQu{1bSfW9!_2zK2<^6ne$Yq|V%+AfcA0;t zX~)#1^*DTekDlSo^$N5DSxKI|OT-z+ zhEfh31Dh$;adYl0*wA|TICo=Yx|7xooX;6SNfES>)>X>3#KmgmG_EH(*KB%*?ZaD>3lKSEkVFfh$GPh$|hi(pYb5x6sM~ zEAh%ESScQ;k{6B9lmk>!3Py0CrVx|b>$1-mm5zkVYv zwL!~)0SnPw9CvTyvH9Dnqy@W@*_je28!esh9@Kro^+6v{cNSVtxJlg^burQ!$|K&FuT-9rrKuhEK`KR5 zqHKK(HU_uP>8r`KuI#hJMCj@yR*zX!E;v2NlfL63IfY=Bz9X$%=sVHQ`fgpe^xb;g z(s%2{yS_Vyxaqs`AxqoM&pj!-V_r68cg)|W?8Z#Tv$7j&(spGx)-F$F#}#f%*@+1* zl%06xtn9>9{!-bA|KeHM8K0K6be;GayP=+Roj9K!`KIf%L;6|Q*vG!t}@=EtAR>x7|;V?xk zmzG(%jBzuAH&ly=66@fK(W~y+a@i_WlNPil9X%w?segg_cgr7)`}Xk&?zrCuMT> zSR^~9ce(><|2lDn%UEOSlj4XXP%XA`a7>xTXSqWRd%JgHAQLe!fP{@PajuPTW6#)^DjJvIhAf#aY z2@b1v6=dq*SuB7q!-{8<&DtHQNEBcx*xrpa=rgN%Xc=aJv0ZJ!;650Jqr^rClopV+ z1)V8Lfq5T1nm}%S?ot@chX~4t?QNu)km%HpkPf;lUHXKTB`o&=4N}{7i^^@HWz$AK z3Oyizpf(u#p!pjWK&9nXok8&dgOz4V1gNvT{-&6j-R%5WT!@CCeHB@Skd^GoXb!~^ z0|DJxej6d+@#;wL%Yb~B6iFuyE0(kmGE5(0FH%QL2nG#;%GGf*q(xMoe$Fz9MJucr z;%37x$o4?jF2QuWl9H1dMKMKrpUh=fN|vWv#HI(LL919^c~pqT?hY-DcvGx?+zlz> z1^Qx;O`Dpze@fY9?O3AkV0W{K&BPX%Tz4m$%-&$I>a#>yBEo9uAFIg*rzE)oiE_R1 zL~O4sd(eKMyojB9jH}&}$$vWM$#ymPLZvX&6c*(a|D+MWgNNOn@g78sS7IqgGb(e6 zj1s|mkY$x#89A5ktHGc!DvSopD+%ySRUnk@5b(X!TYxIdwn2FMRURp*%An%zGB=EM zP=UooCXQf18HDOAtDW1Gds8|TdpjDJ&w!3I<`|1U7WWOSNJL{W*Xyi-L;IWK)J0{0B=HAhKWK|MvmO%Y&m5z9e%Ko^!l9f|J-Yd3D zVjXx?lIO#^9958W3Ii)%K;vFzml964V=|s@#l|b_-yv(ck{uF_lN{x$Lfk1gUo?qE z$BLq4vY6DE414m-bF$Y!h*$w6rl6?Em5GWjne`ae5Y9$TN7c#-l~|R8Q2B0Uk?O;$ z5ANQ;7?p+1*@^};(Q4|2>VhQ)mVwU&&+$Ejk6= zX@awUinL{-tEzz26rv=>_sK0?-UBWDZu#8MUr=D?6EL;j53Xz~!{#_xWEsVkF!#E? zj9ml5;Az@E=Da7@$IakG`v^!PuPRG$ay5sDHaJ;K+ljf3nr3r$x$9yyR0TpRC);&Y zh{-JUtkkz{|H??G>OV(yv^Zz{e~?Z#x!rh!bY-SzR*@_1wa-`NL}a{M+AGx;(JvyD zOa!1o5zWoXj-l<{q{#fEjbVya+m6p{V}I7MPCp@nR#nN&0D$ z=m({d*q7AeTi%PCg-1aFmz`#d4$)98;S-Wn(wacvpfQ@`wCa3*J?e+C8d+6cBM$eI zu|Vrqyw8M}Y+RPQXo>asOs3>O+K45>;(Yh|8%E=MkXqNI=?6`CZQk*7-w}pBUC{DtDfr%xTZNrsP$jM7tKo6}UYot5A}; z2I<2_3b>aQN~1Rgm_6!wM~M<6@X#w>RF)_;OPi;Al!Fy0$vn<)GLBga(Dc~Xmz2Ni@JZX=KYG0r;cFal0CGfcRi_Mu@*I#1rd{7ZF%odxA}|58*fv=?FW^m zi0K3B{sbo3w5zvm)NN#ZLcIElMJ>@{+#4lL*{9;lNgFkF!9Pwbmb^o!Wc(6QP~dV^wZ3J>yl<`fs5gwvqypEe)^OCE;%D)5Ubs`oI}V!C=Juafrj*@W zpq)}>*)r3GxEdCherL?sOrWW7$&*&AYG_Ne!X<8rtdw&eVNjw9mssTolQMRO9k_H> zxC9#9ARos>H*@ea7nI3zT9U%eX_PKyRwSumRLQG$DYIcgt z!`++Dv6FGt$q``u|kc~@G1B%Kh~K&eK@bIqa`UYep+m@O0+<#Hd*Tj95jj z7dsku*$=8)s9ymuvGTx+bRSwJdU>O;`MeT37W zRYeyHS*5|JZC1m~#;KB$1>aI-1spX?WHgspC&KjzCaSQ$Y&s(mV>L_1lKVEyhf5|H zmCJFqA6aJJwKZ7TFXF-&ym3{VDeH6+?WsSXsUy}*T2ZK#UV}w6tAOHcv?JEc>OjmO zG$Y@fm@m)5D_RaBF_?-?r-DIxs1hFxx)!?`vyz(xh@!LJ$_N!~rSP#RZevnRReyzI z@!nBLo8Y^6FM-C$a8zMhQ?QjZGa#B*ZUo-AXew)?ZcpKSCD?-LKHC$S0TgH^p5DzK z8*m2GK1!lDE!iTBuK}%6pM}$RGY6DbL)>Pl30!7A|1pt`vIgog%o$f`L3P`#%kN$gW4_NT;H}Qb_+Py{oR5~a~OAzL1t$G=l-@nh8)bKy1soj&5Idy zUK2zE!-CFhBDuxb!lQ3f&Yj4hbF>8;i<7+to$K3LMAF)})b?9UQX8}ONnqHys!*}Z zl_rg0XYmaNN#@ooy|1J6wWmP5lY_Icvv{^hp)l&4tr)hc69qpO!&T8`6?n4sC4%_t5>?SD@RUp4^zxlOP~>tC{p=|7hcd!5=P~8+2oJfoG!ypDR^_;MSdeoi^ z@(3%22kW&H0k_{%G##1wi^}|Mvue%T7{57*!%j5{b@Ce@kcX3|=NpU2+UP=27&@mq z?W#oOP{I9Fc-;2Bj&FiJ6}9e6>}Zr+%p|4^G>5xJMnII-?3q_bzylA*-sy+4Ll=J5 z?r+qMmsGcEbryHX?DF7-QryTj*w-h%E^=NXTT@_jl0Dk?TYVjpwHB*VjEpKa<`$@= zr$!5-tK>T;d%B-}5We1Ib#8*~gJ`uery2~%y#l`S5R^^x2wTE=GewLRCpwtRaz(-C z8>Y%VQJjFpBGH=maCpUsus zomv$Ro1KZxb#&$6)y(BLfyA~PO!rp1KqEHw9<>LIY{9tN{}{%>1#sdb(v>hr_7vHLV2PU2Kdc(_SV}>)Q0a3G_YBrLe_G0CPFPD zdT3p?HFk*^4s85NKbPqf_5fB`R)#0&PvNm*C^ni*%&DQL%kJPoMAqz&{hY0vuO84d zkHC<-5)(Vb;f2b5rDSBcB-W6MsDP@7EFPD2LvpWb0>MB-EE)jckeFRZ$;zlr7qQZ6 zRx>7MmRLQYqpOmbKS0UMehpFV&y&iFh?S18F*+0&9Ww!>YX4%JA}8~iDd4&Aj!nT5 zGXk@6n>jxuGB)3(0(^)y<-yXJ*eW$67mvliYRCwSaVQ(d&J#m4C?lL{u<_*hl8O0g zn;RrjRl7B=5ktX{92Uv0N|;r+5m zyh87pv>)!TD#yc>|I6Ld`h^2bV#;dWu{>bSP8k!LVN?e5kGpHpU^F(~9pWqQ7^;QQ zyNQjcdUpM;Dpj7pj-UohS%>V|BORi9~pz8vumtD_%vj(gB!BcEa% z%oXt0p^rsA**V*@?~u1B2!{ugv*v+;K`^VjnrR~5_I_Z?998aP6GlV4a!P45+irqJ zO0__UV_#{8Cb4YP(}7vK>QNn?ZBtg7kJ3+SaaIg-jCG5L?8Ge~vXM{oz>G+zO?HQz z`}n=qd8~cP6T~;`f}m$(Wg7<`*hyDqyeT`j6p(-llI2M!SqWvNIqRM6OL|wZ=NJ}J z+LX$|36n$Gb;BO%+~X7J8q)aHUCk0=B~OO`@RP_M#z2v=7TJ`*ii+XLWxEzzhuKrA zEUt`KNwYv86)QMqm_$dwXXa0`YpxX$XJ*KdNAWeRKf^R6YnUce@y&{gvDcZns_S~v zy=--wSSZW~GRL5((zrnydJEPtDOUH#Std=k&y~qiUP(5PF^2yZhWte&*yKfIVr;PH z!|Vy1V>H=YRL#%k_pL+83Y}zXEVJ_yD?-&{8N`trOCsE1rUB=!3ji5*fUH!N5PzGa*SAJ|c-rf}OASkI+x-n8>eKc+1;uZT;XjJOr zB34rMoAQ%dvp5J-WYy2p<_h{-aV;jvQru})nTP_5j7hSr$J6`^bzoCLwJ0A8$i7f? zA`^4V`lxB|Oj46Y$28fxFTRLwlvyS#59z_;V2l*J8AmafQgN^v`((bvPTI6-VRIy7 zfXc&!sV->$b{1ENp}B)(J3^0#__i@WO=>@)6x<&rPeYw0;M_#^I2|BRxQUWwZ>8ZV zd#jS?)+~gP8Bv+3x3-PFOz)=LTb5{Qzv~zsnU|HmmI(#ph%Fk&xr4pSoGg-Sv(p%o zGFNFMt9^x1=GabvJvQ|K*aQ~uB3bs80)afZA!zZ{)zV_RkTbzJB2?K)w3?YgR|iYc z52+G=U=xZ@=3qfTj+i5Bz4?A8Z;@=qfQw>qykFfVgccOxX)H}us!yi^D4dH*9LqD& z!mBS}k$F+Q9gM)%g^>wyEOsaUnsu$?hnt(h#&7J>!qi0~wDMhwb@OJzbfmTxqb4?m z)s<|q)y++Eno7^s?ww^b+7gjTiF$y*Xa-A_&>;4Ssv)4mhJ6P6CMD4rTS%h8a7{6e z+c|n}Nzd$xq>(Z*qKr!Ja~+AZ(`YoM!2l;Rj2e}zt%oXfR&{Q}8USNw?4>s!FviN@ z8P6)TYsW{?6iB_6(*#f^R_3IR861<9)vb@&{oAxs{uVWP+ZI61F?LEED>xP_D;G*; z`C3-S(4Z64F63Z=%%0;lSWEZCF4Sc(N2QYv#-b5HM>OwD$n+#Q)g=rj9t_LiOy<|T zZJZ5ai7x4>$1Y&FHt~RvAs5Gvp%YP(l0A>DMHL-=X>%7=XK!N8^&uCzV;OH`RZB9p zHg+~i&=0hNmlRN(XnM*gi(yz1^f9foiCGbn!;X2&T;Q@|ZwsebM8hfe-vgA$<-n_U z60E7d2i!?)V^2s9iqcM>s;sq8=nd6BX_pMeU~x~vx1fQrl{ zN|kagpdu^N*jbEx0Tr3e@m1%!0To4ncBy^`D%i}|Ah#1xp{Bh|)!A?g%81m4RuoQw z3E=o3y4wX#K_SPEP5z8i6s1AT?+3?^F0Yy&Gc z;*MC5+-wzewgmebk_a8m5eTwS>va;VlVL@~f<5ZT{gt5$c}E47le0@g6aHv#r`X^Mu}H2UBKo~ zr(F=Fqt61q=1~nCHRQA;0IRH+<8GhFY8ieV1h#-^Z2|&w7MGBX>xJ_WLNmO=NwRW! zlbX}X9dL>>kg*vHHt)!>Lt51)D9m0kxT19(gmn@YLM`Yz8-t#Z3+~VnDcR8rl3S9j zT;3%y_~omfWjd7>9(bh<5P^n!b^#OhDz1!Yw8 zN@Q5*MIj;)O20rasA-{-LfX*_s#=~$;dk_6o2)XX86VH$zY)dfmgMwgo-;Dz_}K*5 zIP-D@@|8g^0S4RAr5VX*frJ#VAMO)F`8;PN*XgT`SbjVtD3R7MgZVT#_^0Ca!GWhpejWpA?oN;{`-lH|_$n}c+6$k|CK+#;QDites|?|=m! z3_;|DVX}*nxp1X=ZEpr( z(c5TZkgZjVrH5~D#iH$K#X&vitCp+Z2OOc61v9^P{B2DX;toHt`NA;l=0dS^1I7CW zJgF6gr7|73lllbIbE2)0P8p?yzsoJsDWi5g>jr7hvc)KP5P+Xqw$U0==pcZZWm`w< z2{sEpvTUu&+r1k$K9X#cnlR`ffIZEYhYH29LcA-F7E#$+4TQX{)+E%uPk>0L54P#Q zL0YR7tc|=|o%ck_{2t}j<)qR-#~^L(<{)G%=u>J#F!!LhqwGI+r7aOUPx@LG6u~4j zoDj;SS<`?z#7btRb{;o(U!#GmL0J)j0HKa4liipozDY}J;7Rr=G?jI?R{%+3l`f9T zDuWWv6mrEbQ=^ffMyAr{u1BkOWGN0kEUESEy;U|sGm^Cx@?cV>3N48j$QuZw=1;0R z74rq0PTpc|Av5CS3XpZOXif5yo&bxlY`*flWo2XdI;1054^8nE+`gg$MA`+cMbYL~ zX`Gb{GIf;Mb?n#MtjgISeP-PGmaOubxW}OJnEN*?7L1rHi3>8cN|e;4x!9GkJDt^v z!^LkVR+x}r<(*8zZ_dV;dsQVm3(2~%Im|t$LO-1&QZ2)xXBjyx6$Y=TY@j2?&{aOn zgKoSfyG0c^v2+w>ht|Y9=8e2r@i7ZM<)uMbuws@po;@pR3Ts2vY|)%4ExgOQb-SC9 zGNJ#hFVOZ> z@@S6|gMBv7Co5i|8F*EpT3Z2DL~CQD9_)Zm_V1Nh!6X<)1IFF-#taC=46(?PG>lgp z5c|-nI8wBxNMdTGSm_SSf|cX}YG+q}|2Cdzz8YJumO9?eytU$0TU_V6*#b#H^aKuJ zGYowVvjvN~Dnyo$=(}mM7uM?PoH3iUiYZjExiL*5zu814bHM0R_c`S(;H3YPvz?Hm z#Zg@pT_yMf>KmnSXI1z(9So%m`t!N{w}twKr#4 zicm;TV|UT_C&cE}jn4Ka@jy{M8+vx_%_t3|EP4UKRtCJK)z3P2>V8u3O%mM_6XS8& zCvP>$L}i0vd#$!QWD#41T9QAE@*-)({{N;|SQ~D_twlB&5wOR;xNlZC9TkHiu7}Sn zCN8_03kcWCvuHc1y@p`D?&~c1CT`^is>ie&3gx2YG=X|nvrl`7@E9Szpl$^w_@Rg` zZM+nnS`l>SCY>&NtrZhrM2kwLri-8HqmR2??dJHWAYhz|s2Mvkp?;jW>Ih7E(Xeqw zA+5UIvILQ69{h>X(gvBbPv%dUoTGn^dTZ#<1j`i{pbibHwSTCrmD z3ngu}n#A$Xn%hXs#y9Jkd}ytjEF>~mX2wUjx+xw1#^Y-Cn~ku)b&`%mv+;z5xlg9t zK=?I??Xod=s-(B8FPX*V7}qIPPldPVh+tr4ik2iEeY6rC#WyQroM)nP($6H83!H6x zRT7_V`^z!RQnX;8zBtpa#ptkL1m9(Fv5Zw`7_h&EGZ3BWH8ker08Bu$ze(xted{V` zojjwXEu@(giYh|o9m^P_NCXJlMA}CgELMTJ*7oKw$|;*kDweSpqYy%s=xe@?J`c2B zdD4tNrD)%&Y_FTlWgV-k9hI)%+d#K?G_BptjzYrGVD+hs9DVR;Fc#Dty+P6JgQFF) z+6PZ6)mN2&9CT=wB~4k~YTl-6(Rep;gK8P&tYxh>*@fNwNnm4F>4 zprs0m`17FPt}`R3^Jp`X##&Y#^L#Ays9n``A5_}7M*V50Rx4`FdM5o>xiqRoDjH=> z8^PATDiuIfpLDj1N)9ZkfsG%c6-s&;$J%~*EP+)RjNZbdsFVju%J}R$U50O9?Wo0s zDQVcEVg$2USs5l897?eSLK#?L|IK4*r^9tnPrGGJ*KO*tTU6(|=wU`LZ5LG@Vz21r zD0d~u$icJW@~n0p=RT9BUuIsBczh7_8!;mvP1I)bdtqyWg_X@%QA;Fu&J?btr*As41_lif@ zakG!lP3rjx;^X_&ePrtiH>tA@a-$q|kg(;%?qREW47H3#G?b;N~4X0X2UJL%OZL5Xkdte0CK5HR$Af(z+yLgJgh8ip_ca#3xIv-i1 zx7L2>#pX`6D&zO;h{&VV)Ddx2LXc)15%($;QrQtPui^@l*bs5AQX$P6BJR~1q&6L# zzUn#xPesE2)UE!5w8Un7d!a~B*#b+pR!IqIY>2oQqy!d1v{Qu&N!AVVd|6{2;{LQa zTJ)XY8%Hz0eSlF-|I+D0q8jn|i%+H>TC8m4n4C144Q_Lo)Ri!u3RFnV>MOJ_OA-iL zPs^9yts?M9!QU=Bs#CVd9n~q@i?`~OHNsV$vc6


t+@t5eqOtm>3Ci>o?i&G%lN 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 From efd90482f529abee3f9d2485b291df77f24dfb2d Mon Sep 17 00:00:00 2001 From: star-nox Date: Fri, 25 Aug 2023 17:51:08 -0500 Subject: [PATCH 09/21] updated course export to include all contents --- ai_ta_backend/canvas.py | 5 +++-- ai_ta_backend/update_materials.py | 34 ++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index 28393f94..e7ae5a3a 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -46,7 +46,7 @@ def download_course_content(self, canvas_course_id: int, dest_folder: str) -> st try: api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) # Start content export - content_export_api_path = api_path + "/content_exports?export_type=zip" + content_export_api_path = api_path + "/content_exports?export_type=common_cartridge" start_content_export = requests.post(content_export_api_path, headers=self.headers) content_export_id = start_content_export.json()['id'] progress_url = start_content_export.json()['progress_url'] @@ -79,7 +79,7 @@ def download_course_content(self, canvas_course_id: int, dest_folder: str) -> st with open(os.path.join(dest_folder, file_name), 'wb') as f: f.write(download.content) print("Downloaded zip file!") - + # Extract and read from zip file filepath = dest_folder + "/" + file_name with ZipFile(filepath, 'r') as zip: @@ -109,6 +109,7 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: self.download_course_content(canvas_course_id, folder_path) # Upload files to S3 + s3_paths = upload_data_files_to_s3(course_name, folder_path) # Delete files from local directory diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py index 076a8c48..70eb1a52 100644 --- a/ai_ta_backend/update_materials.py +++ b/ai_ta_backend/update_materials.py @@ -37,9 +37,13 @@ def update_files(source_path: str, course_name: str): aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),) # Compute checksum of every file in source_path folder - for file in os.listdir(source_path): - file_checksum = generate_checksum(os.path.join(source_path, file)) - + filenames = [] + for root, subdirs, files in os.walk(source_path): + for file in files: + print("file: ", file) + filepath = os.path.join(root, file) + file_checksum = generate_checksum(filepath) + # compare file checksum with checksum of all s3 files for s3_file in s3_files: s3_path = s3_file['s3_path'] @@ -48,21 +52,27 @@ def update_files(source_path: str, course_name: str): # remove file from the folder if checksums match if str(file_checksum) == s3_checksum[1:-1]: - os.remove(os.path.join(source_path, file)) + print("checksums match: ", file) + os.remove(filepath) continue - # Check if all files have been removed from the folder - if len(os.listdir(source_path)) == 0: - return "No new files to update" - # Upload remaining files to S3 - new_s3_paths = upload_data_files_to_s3(course_name, source_path) + # Upload remaining files to S3 + subdirectories = [subdir for subdir in os.listdir(source_path) if os.path.isdir(os.path.join(source_path, subdir))] + print("subdirs: ", subdirectories) + + for subdir in subdirectories: + subdir_path = os.path.join(source_path, subdir) + if len(os.listdir(subdir_path)) == 0: + continue + print("subdir_path: ", subdir_path) + new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) + subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) + # Delete files from local directory shutil.rmtree(source_path) - # Ingest files into QDRANT - canvas_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - return canvas_ingest + return "Success" From bf3726b677acb80f54fcdc18858f40382e8a7cd0 Mon Sep 17 00:00:00 2001 From: star-nox Date: Fri, 25 Aug 2023 17:55:54 -0500 Subject: [PATCH 10/21] modified to handle diff file structures of downloaded content --- ai_ta_backend/update_materials.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py index 70eb1a52..698e8572 100644 --- a/ai_ta_backend/update_materials.py +++ b/ai_ta_backend/update_materials.py @@ -57,17 +57,22 @@ def update_files(source_path: str, course_name: str): continue - # Upload remaining files to S3 + # Upload remaining files to S3 - canvas export contains subdirectories subdirectories = [subdir for subdir in os.listdir(source_path) if os.path.isdir(os.path.join(source_path, subdir))] print("subdirs: ", subdirectories) - - for subdir in subdirectories: - subdir_path = os.path.join(source_path, subdir) - if len(os.listdir(subdir_path)) == 0: - continue - print("subdir_path: ", subdir_path) - new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) - subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) + + if len(subdirectories) == 0: + # pass the source path + new_s3_paths = upload_data_files_to_s3(course_name, source_path) + else: + # pass the subdirectory paths + for subdir in subdirectories: + subdir_path = os.path.join(source_path, subdir) + if len(os.listdir(subdir_path)) == 0: + continue + print("subdir_path: ", subdir_path) + new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) + subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) # Delete files from local directory shutil.rmtree(source_path) From 93646ac3a230956d6a47384d6366a8f9cb685b39 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 30 Aug 2023 11:14:35 -0500 Subject: [PATCH 11/21] modified canvas update --- ai_ta_backend/canvas.py | 3 +- ai_ta_backend/update_materials.py | 69 ++++++++++++++++++------------ ai_ta_backend/vector_database.py | 10 +++-- media/tmp4o6y9wmb.webm | Bin 0 -> 528285 bytes 4 files changed, 49 insertions(+), 33 deletions(-) create mode 100644 media/tmp4o6y9wmb.webm diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index e7ae5a3a..ae2770ac 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -28,7 +28,7 @@ def add_users(self, canvas_course_id: str, course_name: str): email_id = net_id + "@illinois.edu" user_emails.append(email_id) - print(user_emails) + print("Collected emails: ", user_emails) if len(user_emails) > 0: return "Success" @@ -100,6 +100,7 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: 3. Call bulk_ingest() to ingest all files into QDRANT 4. Delete extracted files from local directory """ + print("-------------") print("In ingest_course_content") try: # Download files into course_content folder diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py index 698e8572..933a0d77 100644 --- a/ai_ta_backend/update_materials.py +++ b/ai_ta_backend/update_materials.py @@ -28,51 +28,64 @@ def update_files(source_path: str, course_name: str): """ print("In update_files") + + ingester = Ingest() # Get S3 paths of files for given course_name - s3_files = ingester.getAll(course_name) + s3_files = ingester.getAll(course_name) + # Access checksum of s3 files s3_client = boto3.client('s3', aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),) # Compute checksum of every file in source_path folder - filenames = [] + total_files = 0 + files_removed = 0 for root, subdirs, files in os.walk(source_path): for file in files: + total_files += 1 print("file: ", file) filepath = os.path.join(root, file) file_checksum = generate_checksum(filepath) - # compare file checksum with checksum of all s3 files - for s3_file in s3_files: - s3_path = s3_file['s3_path'] - s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) - s3_checksum = s3_object['ETag'] - - # remove file from the folder if checksums match - if str(file_checksum) == s3_checksum[1:-1]: - print("checksums match: ", file) - os.remove(filepath) - continue + # compare file checksum with checksum of all s3 files + for s3_file in s3_files: + s3_path = s3_file['s3_path'] + #print("existing s3 file: ", s3_path) + s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) + s3_checksum = s3_object['ETag'] + # remove file from the folder if checksums match + if str(file_checksum) == s3_checksum[1:-1]: + print("checksums match: ", file) + os.remove(filepath) + files_removed += 1 + continue + + print("total files: ", total_files) + print("files removed: ", files_removed) + if total_files > 0: + new_s3_paths = upload_data_files_to_s3(course_name, source_path) + subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - # Upload remaining files to S3 - canvas export contains subdirectories - subdirectories = [subdir for subdir in os.listdir(source_path) if os.path.isdir(os.path.join(source_path, subdir))] - print("subdirs: ", subdirectories) + # # Upload remaining files to S3 - canvas export contains subdirectories + # subdirectories = [subdir for subdir in os.listdir(source_path) if os.path.isdir(os.path.join(source_path, subdir))] + # print("subdirs: ", subdirectories) - if len(subdirectories) == 0: - # pass the source path - new_s3_paths = upload_data_files_to_s3(course_name, source_path) - else: - # pass the subdirectory paths - for subdir in subdirectories: - subdir_path = os.path.join(source_path, subdir) - if len(os.listdir(subdir_path)) == 0: - continue - print("subdir_path: ", subdir_path) - new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) - subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) + # if len(subdirectories) == 0: + # # pass the source path + # new_s3_paths = upload_data_files_to_s3(course_name, source_path) + # else: + # # pass the subdirectory paths + # for subdir in subdirectories: + # subdir_path = os.path.join(source_path, subdir) + # if len(os.listdir(subdir_path)) == 0: + # continue + # new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) + # print("----------------------------------") + # print("new s3 paths: ", new_s3_paths) + # subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) # Delete files from local directory shutil.rmtree(source_path) diff --git a/ai_ta_backend/vector_database.py b/ai_ta_backend/vector_database.py index 78fb3fb3..f63e1bbd 100644 --- a/ai_ta_backend/vector_database.py +++ b/ai_ta_backend/vector_database.py @@ -374,6 +374,7 @@ def _ingest_html(self, s3_path: str, course_name: str, **kwargs) -> str: title = str(object=time.localtime()[1])+ "/" + str(time.localtime()[2]) + "/" + str(time.localtime()[0])[2:] + ' ' + str(title) text = [soup.get_text()] + metadata: List[Dict[str, Any]] = [{ 'course_name': course_name, 's3_path': s3_path, @@ -382,7 +383,7 @@ def _ingest_html(self, s3_path: str, course_name: str, **kwargs) -> str: 'base_url': base_url, 'pagenumber_or_timestamp': '' }] - + success_or_failure = self.split_and_upload(text, metadata) print(f"_ingest_html: {success_or_failure}") return success_or_failure @@ -776,18 +777,19 @@ def split_and_upload(self, texts: List[str], metadatas: List[Dict[str, Any]]): separators=". ", # try to split on sentences... ) documents: List[Document] = text_splitter.create_documents(texts=texts, metadatas=metadatas) - + def remove_small_contexts(documents: List[Document]) -> List[Document]: # Remove TextSplit contexts with fewer than 50 chars. return [doc for doc in documents if len(doc.page_content) > 50] documents = remove_small_contexts(documents=documents) - + # upload to Qdrant self.vectorstore.add_texts([doc.page_content for doc in documents], [doc.metadata for doc in documents]) data = [{"content": doc.page_content, "metadata": doc.metadata} for doc in documents] + print("split_and_upload data: ", data) count = self.supabase_client.table(os.getenv('MATERIALS_SUPABASE_TABLE')).insert(data).execute() # type: ignore - + print("split_and_upload count: ", count) return "Success" except Exception as e: err: str = f"ERROR IN split_and_upload(): Traceback: {traceback.extract_tb(e.__traceback__)}❌❌ Error in {inspect.currentframe().f_code.co_name}:{e}" # type: ignore diff --git a/media/tmp4o6y9wmb.webm b/media/tmp4o6y9wmb.webm new file mode 100644 index 0000000000000000000000000000000000000000..3c195a0fdc042665b2e18301a001ceb58d280d53 GIT binary patch literal 528285 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

*w;e$9-c%cyN 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�ZtRAHoMMzbz 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ȫM6WQA8?U0 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Ν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%0A);|S&ilLkc->MOTej&-Rxum@l_;VVI=!f} ze;ajAl7XB~@cq%D3o+<38}=2nM-kzZ9dMJ7{49(t2GcdeAYrOmYWmZ7n9N<^Jw&5= zXPtbuY%UhTl0%DHYyhqg)&e=X#>B)36Ce;e*)zO(9|Rw_4hdD!B;}#V9ZT=C#S;DW zB@t_p2o_x+0qhUf1i(Z5M>xZ7Q>2q_wo}guQeWZ!m#@=FkJvMs0&!;nXLOSlcLoBb z`uGz6*TFmZwNp#~%_?1i;60X^9WNc!UnF5GN}d!SRawbh`BTgEyr$A|_yuq0BbmBf zR+?>eRhr0#&`>6-S7up{v3g`N*uAox=tPb81AEJr1#ZuosPO7jvHY|j77M2o`shYl zDLrF>XKFSj)-JF>YMUosFK&X@#6GxoxUZtUW6=ADnN0Pu!4JKc2<_To0`+r`l(lBk zhbuUIYX&9M0X}4TE;NrFS?xx@-(G5{K`3*UR4(3cl$MH_o*Ot+jkIuzV`zF$MO$GA zVj$XU`+SP|LVNj(djc=HD$pfugI~1fyx#gIi&g88M%nJY^oe!{<1ySMELSbYn(#!X zCMyT;Tn(E7Dfh0KJlYYq&pM4<=L73B!aqh8eIdVH=r%vwLNfy#$aY5QjU56D1W^F+ zSir67J4_rtWNd|RK{@MHZF&I0uAi>;Is7)Nc|7(nrEQ zR+vDp7IG=f<SJG>J4M9RRQx$o;@Mz2aNVqU!F&ZOE14&iNEsDHuYqd(Zs%YVE~G zuGE#?p59m?Xqg~CNBRSwPeLHhL`BSHUycL4vEqOD!{Rf_GN;RI!(fxAQA>hff3pV3 z!{2tE?q>ni(LoOoIDgK&X3mI;ZAK*3L^{-O$&f>EM8(5vXpK+4JK z9~Z2z)O$jKw;^=!5+PW&M|0H)#!4k(|MJmT@8|=u@82edR>!dRu^MMZfacsaF^;2h9V+Ze>3(H- z@xIgDcJ8Dnkk3a1IE9(7aKmPpM*qCfsU5~dCPlU6#@qGggtXh)R60|xbS`U(CHARA z9J^!<675nAZ?s?H;tcFW2Q!?uSc;m0%Hl{FZB|vmsPCt)oAq}g%m3u8+iH}xoTOEt z(&#yrv3>?Z#@1$DJW#r#3F&)TG@vJnbOFiuw2i4ZdiQW(xYN|N)*cw4 z(C5wT(Em8P2KKtPAR60dlg74f+qP}v-k6PTr?IW3L1Wvt-RPz7C#>_$o-=#)f{?8N z!JdD7T$|?c_|I#2tKByzp4Cx3Tu6^hiS7Cg=?FL&A|f(;>DH0=>JMFpzS+Vep(`M~ z+P_an&uMjpxmUGec&o(lSQX=2m7$pM2+xn}0;Qsb#2fr%zt1;OOsVsn4bhseB7?KXdO0B}3y3x?#KO!S23f4z+;f-)*|9JO@;Fk?r7ikS`BmvceVrZB26Dw*0ii|n;p)myO>m#z~TQ2 z#PQXwYji2y$KD9c^N0fvYokGA*2e?mtyS{m>y{2t#vGj0WHgLg2^|69t^O~TFp>5fC@zpGYc==n?bXy4 zalB#d-Hzg?;fvi`OC9%CMDA+emNmWzFS{_`CFFR&w7<9+Kd3BI!V;9irz&fVsn_f# zK?2K{T-Hl?rw$=K@vfv^dDGyvOB?YH!R=M-9-*iOh-o{)?)KNRh3$uctyew23<|1K z!OT|K$UwWiqK%$Z(~fbi-q2H~Cggt^Z@qOU(@Z*rU!CCc;@Gm_3vvCi`@2<}1HDOI zz?qGm8SqA1=vb_)&8#v>_3S~eS}goSw!yF3^BLl5XgTj~wp;Z_8@`Sd7B-F2(SpxF zkd2=OvtuwJ>8tTg|LclJ7$gEjlr^G5QfX|%j8ywOxhUF)EQAO;RFbZD}mUh zWnA%kO6=q@F+W+aRLYUcv*Rw;1pT^G{Oilx_m7kMpTnbH`w0i|QqdsPo*JwR_T4m< zpX*+_>T%K1=5`6@Re^~bjKiQNiSEei^Z2hgzUF_#0Mf+En13zYcz^$Umx7P~cbzfl z$XxZjTfpd*K$40c+KZ`^6dj$IhGQHPcp6?8wHvNEBL_S6bLv;fj9Z9-7PMXkG`hc8y6XF_`i@jxgd=KSj6!R&Q%m^AI1 zJczoMYHyLyEfBu=tB8|O_FPsxhf+#G)%|qnxK8Lt&LorTJ?fxtA<&Ie2CNveLpW?` z3zCeJO}7f7w`NaaXrRkb+NfFPHym7-pk1P|8O4qvUJ#ABG1ot?)*D=v6#O@H(}Buk zsTS9=BCP5K$H6c}wKZNzyeE4YNNv$(pX1DCKpuqOp$1Khyl#?|yJhT=C`YiRTJ#kN zl2)DGo7lp71-WhFaW}d_Cs&)rdMskFIl&vIl^b2~LfAXguKq=rhKmUoQHZXaO}%Nl zSv;GinUCf5hw>N{S`C!WA(cWTqS6{>gL9O};XqPrG;Tp5xMfJlf1qc8@NHl9{Q4W1 zZ&H-C3@XX3@O`Ay^RbREe9hmSbRQJiJ%*H$v)6gEA;~Q!pHsP!uG`L|&OwDQF*ZrG zfRIZSUxjVVNP@|a8#v@x|pjXS|TuQgF#_g5ro!=iF0h&_nATA8y3WJ zu-}x5G)h+d*{3;JF5PdQd-LSEOPD$IpXKbkNvd*?<}>J^`xGpev^7hh+=8+yN3Dv5 z2b=-rd3U?6BZ77lyXFIT5kApG_hLM>ju$z|dt3{Km93|)-;4jUJ-g4Cr*5xT|Pb$8$9&39Ui zUBtb?%OI+s!$LpzEB59C^K~+0MsK65UQQbIEn9OB%Xj;%{Vnb>=jRlZ*@0a%i|_Y@ zK{Lgc&k`a(S-~;;Ht&MbLgNq8kQ}kDgv&H5-9o_SqE^JUW6;W(NsfMVG^C##iF1A} zFNck#NUT$V3&ZXMW_xFXpt>Yw-)=EF?)p-?VnZ>FiJx}JHe`l{3WyxV;RZ2uD;z~6s?3yHAkCs0;;>n*Y^$rMjP}bYv&?KEFEJKfU#-Cro!wPF0Biv%$tct{;G-4N(H@NF z1cdhEbB|r3q7;d!ZutVlc(|tv$u<+hzmr8fU<>`f-MrMow*A!=&ZwEOD{RfScG~4y zmIpF_5Ol!C`|We;Nh~n>po``^Xj^dk$YFs4`oU|O3kBv&$JGB!0y!%(v(*h^2JQ*9 z$^oyoRXr(5jDN!ENi!3^x@HFu0p`nH;qrWti3;d4&D;HSF)5kom%$F5W6?q`GR4q@ zuT(!_RBtBIIlpT`Mhfv0Iw$6Rt_m{#Xe57Fe>^|nlwcO} zgS-Gu{l!^i53Cm?J#xT+H=rnG;K057*Ns2o#V-z>y9k}mY(g74)zl)^b4Gormw)s< z1cEP_JwJc%OJo`w2l&&VJqI>AOvmWQ?O+=1sz7{cinzY?W*N@U`YLQW^0=sGUIpx z;Wes=U2Trglp_C@>gkO_!_D#^sb*h60kgBP&L3JU`ohg-9+y!sOiB@tWRU}ShxZp) zIt_i(qvqGOS71+W9Z+BlV6Y1xi-{_7g~S+mD66bldpZjn8~i3J=-%^uA4m0?8vA{% zr;3Gd14X@TYy7or2tJmPPEFrDB;IQvVzrQL#`bRg{W0@m1TwDhuelLN=7y4ANyvhP zO(H;mjFXN3y!a59zG5*Ry)zun{0O*X7-5W3eO6W&dO7=+B_ z6%~e;!J>~(m}XDrEDv~(E16*Sy}%Y#jkzhEiUri%2bXITgQ!iKA%1__=`id?&;O~< zB<=xB@Ac|N8Jz~DxmxtokezmdEE1{!B8Yv-POoC{#A3i7az`x%;zS~N z8oJ|^j`SH)skHAO;lc_;9RyeZ)=>O7Ab4-`@HD#ztZOYoQuDK+{|W(>WYF& z8g@ymawOyMMT8k{(N_JH-4;u8u5DIbah46Wf4c4ixY4j07c||ugv}EO4EGdp?dKqz z!j#@xpB0()sdmZiej^Sy#4cE@baZCMOAPX~ef-q<)Oi4}X!*AkN6`A>L_rvvZebCU zRXXQi`Ts5&5jHzmz|m+)%tm96KdVM-kP($<;woR-Mm4?fewEnrXq9Sd&QH-Z1LX2` zZUE&<_7Bo>gBq9}fQN>ndCErft+udj9OyDLmF6IkM8e4r-&Rvnc-@k{ARoLp;kU-g21jhL(d_cpZKIBD;ZPj~b_I1V#f3Pe8 zZ&fLePwfR&DvfXWqAH%Uk%5)|8VT&u6G~h0q*uQVVv`S#^S2DpycC)y=+Qlb*Tp_h zGqWx)kUd~5+B#tBSqtxbYgj!M>b0sIx&c0j(OOTVdAETe$dK26<7x;0u}csD zU#wSd3a84gKSO{4e|k54Pp>$DFu~>(Us$m>zrSh=G$A7i!#chF%KSMHA+t(;2M^jK zvVo{3^!YYy9gb+M&i~LhK@&EDDd5|{xPJW7XMh_L9=h6ZZ?fwF&e<_^x{K)Vp#A%E zZYx_Y#0H@`Pc$f$s_p1IEPlqL~A?2b1!(GX@ip0p%(Q_iDhn5UQ#V_^E+OS z4bsuXo^#37;B$t1P0iP!?f<+85R$)Qm`o6^d2Aq}zFQ)!xT!%R8kV|z;(G{asf2tx z=4lcgV^%wS?^SNwJ6)YqT&c@P#7bwPJU4~m--ll5qKxn7^D|qwig*j82;=(`67T0? z!fQ$oID^#8!p%4nn{BU{NtNCKm!_7gA4|UMY`p zMyZ_W8Vh;ey$>KE6@NqzIW|Z0k|ju=?c{Ue^@A|{60o!Y5z4PKX*PC2oo)m>S!h3G2Q{JxGA$oKts`IYpm1CFY() z(Wh}TrRRfFduP!;j2-y~w91d$yJ!z#6(zH4*J_F1@7pOUY10+Az5P*2U{A|D479MN z4m3u|SRzv+$nWr`Z=HI{w5sX#XaCCK_-Y)}U%`7Y+#u;#)h_B@Jk>^J4=(%P1wo`d zT}@Q8rrhbh5;V@uB&E;>C)Korm!OxBlF=*92#w4oeMep`ZytsPSMc?wP?@B|ygfSS zpJ4I^u2%lEh@jfj{*VsCoxOYp6k0o|SOMIjl+?euOWJe=+-`&as2e|5Mnw{diOe3O zmXi}MUFu7D;OTte*PCbfD<$A*qwp+4Bq(&6VRE}~R^Hz}f9JegB%REpG4-*oyz-7j zs0+ix@_&8ofA#3*@p(wqgiv=3NLvsPR<<5^#H%3Z*LmTdRH-C`to*ezp>J;WL`i9N zJufpP1dBi0V^}FKv#t^;;NryY)WhrBunuqo&uX2Ww)9DL((^3{?C;_~oPK0k4$~Mk zlJYw)`nd*Yk>q3t_s-%ejP?Uvm4BLL1ko~`i1&#)C{O$VlfIOhi)J7brkHR3eaw>Q z1KpvwTir@V%eF_SZ&Ii90*+R+_CH&g@IBGH2Vn*L;*Paqz)MK@^lhfu@s zAZpu^pxxn{dCs)DIYTEA_Ybdsf_+2x;pmzy{-|GPc435ET@&G^m0+>hKtDRcfI(KFWvLpkqF` z=K|h9w2`LJ%;zU*;=ZCuqz_XUH+Mxa3<9N+opht4hz%R1ohZ7>e7XTb37?4=>meyC zJl(fO`=J3ok`l2)Ud|q2Y&eY78`xpI&C`;xroRoQgcvQ&6ptWMU_xIO((^z>gs+)B zaw}f%5XUySm1%-06*Y8JcF(WpBgQdQMbIz6izl!?}G_=|jl4d9t*FO(z_tc)Z5TDl-cj3bm zE}qz|94=}m8*=(Jsx{>>ZcR=o(LmVkmzLf;;Tb!}4r=NbX-yVi{^e`{mCLiUj&u+5a zP(PX=Gq+BPG-{9^K5Mh)BV_rU?KP*|qDRLu_mWRrwxm^z-=!D-(MtyessFA;{X?;- zrBC`6p>Q$sDU1jSLAsty)-F1FMjUnep%#65A`h6TIaZr3qU?;Il#jM5ak;7{zCDO|5Nut{gpan+YkDmaX%v4*XxkaY!h%H?I&J% z5Px6?&L+<1>AWbj+_^E~4@Y_}MvAZGk>B5mKo=-(ap8|p42*nq`P}?@>E3#ClOO9> z$KTqbXBnNka^^?cn7O{!#06UHf=xS)I$EyDmDZ0m+YvPN5A^IN*Xu!5WcLGX=3$RD zCR%b}&B$lA=@Rp|ukIs8#n!~9X1zL-Q7DTJ!kO*$#7uwO<0?*Y$^=xLfT$fqh3!$f zRlntZ&VL1NB7dpRJAjB%fH&qa8=(ZGn^6rOjO}36OG8k8h8$S}>K}x0Sil5nrceP$ zePCsEiKuZU>4~XX-ZXI zy{G6cwoSzCx`+)|+;ssRt@p;P>*mPBK*3OT1z9}qNI{v6itb>?DIN8H7X?JUFA)Ri ziq^Dqj?tQiRvIXXN)FmCHeMd5fiS8A)kh-b=Xwg zAUP^I$$N`4mfEJGfrBQWj$0BZA23v=AK{E=LBwgc5u#8OADM{Lv|6L#m5aNeoo3Px zP9hw!zo;&`)4})mT9F;6lUH&_;X$~4wY}lsN;zVAV@3Qpt2Qd)-4yU5g~;iP$ub^F zl;-=s%$??dh)!SA>(RY8<=8QR968@F`Qc=r^l)t4fO8CwsV^^qb9L2~iRFUUS zJNFN7z?ADx)|NSgHxXlo<-!tX`oH@K^GCr4AtoL3e#^z%9=-*-N;zYiz?T2;zD`W( z!h6j|eNbGBq%iwP>j;g>jE{>$7s@t7tl^E(lPa-`yUoI;zgM`e0v(BmCMQ_V^~HBs z;aEm%LKMAX_xM7!07MM=VzRd#@2;V%fUwQ5@sL38Cx5DD75ZpOxYkB6TMp$Xn~iAygoFACo!k&6{|bz(hAg_WfaXqIsV3Xsc&2Z zyMrx<8FMw9KbzB0R!BY3vixq+GvEnudBKbjd;Py_=k_rZs^qyfCh zTgKpR*djCZ!0uy2T?y3D8t_kPf>;H3!$A+h5`E1tf6?&8*~>bnlOvO`25ngOM1=9P zNJhqGZh}G6Qw4uSO=z%SDPnKl@e2?LPE9PB(A0-WmA*iWA%#2VlLeL%VP461@1gX6 z2QQArgBgg`{jT0=nNHXv;eM*tWY%r{V`D6+?POxvqGDg+MB6ae=5>cvjkpEaSNa~$lS`3@WwNyv z5}7dZ!SGM5IgjnOq-zxktpO3|0dFX&f2cD=QUtqyQ$`{W->yZMP`L`YL^Gl<8^{ek z8LeWhEK~IeTbBvb>XDbY@v7IW*LWyo>2=8_Ci6YAL|S8Ru9zHUL36aYciC-nR4aM$ zwX8SGwv>FJG2RTnHK{moIDw=m>bH7L`nXJozeph;2`h+d#IXm9ti=AM)P_E@Ks_~1 zC0dqS4`%B!k=@?vO-K;kf-Sn3-iep`%#~i{9aoP;-NVq~zZpe}&e{(U^a6%e{CSaZ z#*0TlaNQ&pNtfH%Z!~dYe7wzH= zDqH30&z7cJ8peeCNbS~_5x2%c`%Cinob4PLs)_)azaZsIakw)*Bnr26N??o!ziv{& zR&Qumju@h|5$>6I!hlw-!h%TH8%v_gg&l;wD|7f}qY;LX;e5iNQsHSf7KBNCPT{ty zDbXl-cOG_|%`;$sSIv=n&P9nYQ_QgjW+sdBD=;bN{vSgJ@$HL|f6X>BNYQ}4$YT<( zlnTEwU1}$P;%74s)-uz*(A$Cq>%z@cL-D(xa$R`UX)W%6f!|-${+&!8MEU`1l4siq zk8B!K(lYO_Ih~9LNtT1`M%^`mc5*oO^Y7O|qqhC?LdtN1-cr<9pyxQ48nyI3$In^0 z@J-)d5Ui0)u32Gop^8{ub#PQysW`OS5|$(JqvNaj!<2)5aJ;b&R0_GDJ&O--y67jTWv&!RHV z3n1JO{}`D_WM6V%E9+1=n6Dozco}u{73!^Jf9#I(uiPk!jwEoaQpjQWuds+IN_yt( zGbAvVIs0pb1$36Qt| zZyqIm$8v)!(Q{*Et|}&E`cxFY91`cn@{4Rz$L0-XmKkxaBlR4zS1jl?q?EAF$lO}) zUXUX_vC4shwol&;0SXvdv6(FNj??UiY*MUi>U+p{@0%)$pPN@Mc8rM zf5*MwgzvU+Hzo!f6kjV>cm%aVrYZ{Y=%2zz>ThqNiw8Una3uI+7`%2rVGI8l0)Z}G zRG-P_Qb2g((`NQT0(GY4M$A5ay*nLmvQmQzgx{#2?wxg_g7v>QB^~lLZ9nNUMjXZt z-6BS^4JH?^<;G0x%C5Msa@U0XDn6 zFymG?Gt=^KnLE-h?qHE2E(S6aNhDW%iRfEQ^ytGtD>!liK|KrGuAZ*9it=$~5|^4p z%c;G$Xlsru0hRr|Ac+5#n@Db7ZI^ezf<5C)=?7M}z^mh%UK6)SC%@KL$?LUB^Ar?P zHmP%TLRK_F^5;jIUl8$^-wQeR&SpRdbN6P*u zdI6S=y{b^w#A?m^PExs!pl;XhLt-sl7eiyn|PM)RSgQg^+ za8%b%gElxZtMz-tDY^QyL+i$0bw78KA>_PT`@KERH@etor7J-uTM>p8J)!^>xw;2( z-Hl~FOE=)BAI3+DjrYGD2vXfwo4-Zy%#RCH$d`@bsoo(b%8bV#;ac#?8%)3lGxVTL zjq)U{ZGiK7+25b`khsN=kP`}wmr$b>@R?g$e(|5fP?`t;p!tb4OE@9}^oQiFpU?=CQ8EC3Rl`A4c zs4$g4R2$-Px?AU>p=!c2?v7o`6tM~(?u3c987%8O4#?RlVBtA`p%Y@@c7qs2w*X@+$GfLq1> z|30z|c$+z?KevN8&$B(z6>Zb2S>*pyQ>HRW4g)^Z>TVDhj5%v6y`}f3(!?4P%@CsT zH!rTMYQeX3kNW&M_m!qu?bhBVo758%Ps2>v4+wR`r;e2xHY{aE>mld0a_HCnFzm#B ze}yKaf+@BsL{(vhp^B*u848Jt>w8DjGJ{sKbT!0n;{FiV{&PX=1I=T?;45O8;*jM| z71^^Z#mmMND;eW|5tc~jfVcV91l^hf*0q8M)KcHWH9A^x-3T%IJ1<|!uAOC3W74_E zl(`)uG9vY!ArctJ0GGq&^R(n!5Q)(ItM1WkQ&+O(QNnRfs%(r9@1CvXo!w{I2trFA z!}jfs0U{9v{D&xG5M{EoP%}zvD6c~ApOBp??r-IEmRb=B33PFX_zp+iT^_cG)B3oC zhMi5UFiz~c~k(2Ti^Y$7*mGPObSk!H=Sikje_-1y3Nbz`xr4fk8>O5BUO-v`AEkOq;@+Z_l zzes2ahztUF!w~E%Ov<|=f^dr6-y`f@-2f}mazDBC=azF~_@03?lVD;rbBS`1^ov3EzEAt=SD-u!}@~)bsr!o+edK zTbnrIQdT=}EFI-<@Y4%ldfewzQIA!uaBQj#!>yT|T?2fQPJpEW-U7H2xGYf@BqiEk zD3WPO4|tt0Q6ZzW(I50gX>!yjbz+D0Z`OcKnayvu-v%JJf?`BuRAoQ%t9F zn22UU0$1hWVy@gPf(7J|$|WEQ3+h1FFtfxZ%3(d)`afiKW>bh0JP zbm=FZCIGQ;BrP_$IiYxtM0OB+LcC`>{>dU?9UwB*mx)jlD+I;7?O)VRC{g+|+Uifj=|Y5Lloi>v$Ex6m2#ByWihor4Nc z1FbPDR;*ZZ0%1$PYN0&I^DG{W(h&G_BZP}n{*hgfa+f03fPH^@h?_7EFHM*m$bR$D9&mp-q|Bj@NQ1tv}rJ`|(DDK8v zJNeTT`nNQzbr|LsB`b^Y1s$bR*IXX2v&!<&RC&8#s8k5fscS=W{8bv%9Ihnxc(Ulu z)%CAaaO|Fys)kFgNr5`a905Xf=pzc>BWEBa^p-Pty_?h6KBgxap*3jY_Q6Fr8ie~v` zaSbBccx-^Ud*dT|mfTarpTgaXsxSpnVO@}^}k*gK7CF66GKW_!@ zAe6$jld)gMVEFXvSeb}O)S@65TQI%j#_17o;{Xk(L%+|gEBd|)0jKM)de6TgL^ARJ z!B+Z$@KW5O7N(3a$cxuk(wS*tv03Go&(j<~$9A;yf$2bI>-P5S3^| zgm;LbikH4FA8(fT8DC;cequeDo5Br|do6Eq%%T$^J%3y@Aj8`q=KPB&2J856o|*9|@9) zLrmNWjve$4#y@u8XyRFj*mGc5vVe525D+oGNW0B*6FcWBLtEwwd=-Q-GC~1l(h2G$ z$;P#ksb5JaYd~bPFJ$P+eO%+n3KrR_Aek?-5zZQB6N~U06z;Vw5wh zsFv6N_74Gst~A;SBe6+2T%lr-&>j%k>mRz5<TghrIKQ^FA^u1(Iy6rC z`bvZ@!4!E$h)i)cCyjxah-!yy$+AHaKsl0;Mk&DmB%fUkL^*!DSHgF4cN%M=*^Z%@ z)KQg!3Zn+UD=S24j30!|>~^EYTc&!M`)s;d`6VLHyx?_mb0CbnD160OhR8+26PQ5O z1_!1S%Zy#t3Okq!fob+hBehkkGYGzhpgl|V|P4|$|;7rTF&q#%b_qna8^rT z8(@9dePvh*GR?&BB^|mZ3=;$dm|W~-8;aC^bARh5eM|>eZ1kKtwzYu%TPztn!)ZU* zt1Wo>D<|%jVB=OzAGe(OfOqQ7K{zr}zww(m2gTH4&*E!%dJUsW3KpM#?{v*P!~> z-v8k8zrbCS`OFu!ids2VQ)3-aF$rcvNntt$MWZMa(d@T0$L2X}Gr1S671I) zhZr0Yx`J0dyjW7XNgXbR{zV%SmPyl+D+V|xg9_Mpe&0y95Z*qbO zk!}$9A@;y0;Rg@$gCDjzS875vDRjHdcSBgret_w0qe9KG9GSA>TRzb^9A`I*fo9~E zg<1U?C3G}WX_Kd6>X&8d+AEsJ08Cgtq$|0WT8WY-`%0yCeUyyu=pO%=*zafkKMAzb zX$S_VZ7*an|Zy zjFNVlYb<{mwD``0?J~T}yYoN^j^ULdx!k#&ky5@By{#R86|bR|P{j|gtg>^I+@;iI z)el&xO&ZmTf{)z!m>~b9Or*pkp0JSCb*%>e_lS(k0wG!m!<~^1;*DrS;7YKS;lV_Wmdf`_BozRuT(}nCuh9o)?siC_XLtz{ zF%d`~*Nt*!t`T|pv1%r>hJpuj#COv_k;HBG#H-V2@&}QJsWb#<|3nRiwpj%)3oXak zCWyFZA?Dms00Iw>q#A2T+YiZu6VBe)^+K*+-?h|AbQ5DtpyNz%<4pCIUL;xROPVkS zL|*?|UGd_WqZwgmY^`RX_g9;7Bn(JpuNy_%;u=XCSO5B;{T!M0v!ddO|2y0Wx;N5X zEoe)z?q9mG(1CQ>_B5Mh!r{y~6*hqI)=;ctjuAuUR=~aK4LO&rnxyw#-MGYkm&lCg z{mWgh)3%2#tXCsmdR6Goy4mVEq+QQ}41OT=@L{94tq2i+4_Sn`cKn$Wa3g>B6?f(D zCBsIwsd~`l@(|?eOcTdWPV&WAmB4?mOy0$_?Sa7boOv zz#E(#LhrHhUbBrQ0EOWB9qh@vUZ6xtUCirat3y-(2NMxP0YMlP6~}!)zy~Ew#PKLD^EX znkP`nGJT7_sbz1gL;U?lqnS$@Ce&5%^9>tD0Tt{fXgY%)RN{N6Ygxdyzd>y9T_DH= zIu1&fqN>2^E&d#MR;&Lyv%vs!@A#kPKg^keTxNNLgT)6l+`Up!^G2I*pz?0iDHhiy zzQpfELL)#Fh_9!JYt}Pyg?>?=GFF{_e2uv~w6{iQN=QmpYvQH=C*^oSTPFk#^>UsH zbkHuLuUUn&*7duWgRwA%_h7v4o)_FVL$~Z(wl@EDTq2B8Pva(A(4vE?1ITYW1GI9f zLRN|qCgY41sl72P126b0;iQ}vMZYhGE=l3Tz&d}VwsS7h-{8n-2z<&e6${Wr?Pv1l z(Zx!4Nh*yBL1VKy=+l?q{sGFH<1T;Bq2Nrg`nb{2X|dUXIpvS1N^m{M<6V9Vi3b%G z2@L^JaK0`YF_=GZ`YoS)czC5RR~i}=oB7LiUq3|R7|lG!2Ti2*#q~<<*hj9RM~+$Z zKG{1qInPEshi}m%3_@p0SSV#=JWWw@Nl&#bh->H|)%h(qn2r4J*|~cDIBDDHqbyhJ zN{K~Q$g~>OCKO8idZnA!b%RMt`nXQok1%ZaIY3}ya`VmMLzpUTkI z^hStj1w~24Q?qs@Smfihy`{*gfY~N^!q_ zvt({TG5Jhhj8k=ckXitl7nu>h>EFaN3;z7?7V&o0+zOYXf$wdww7VJuwVSHpdtI z+RBFKvn@&!5olKSP_9V9o{I`BbQTv*dmc6wdu!z5zR;}lis)2iF%t~d)A(#^k zrgIc^B4+*sJqr6PGpRUeH$z>CHm2yIklvk!1 z(JaevthVo?RJXs=RZXD1?AC8csTUSYz6lXz!2Va{^q z@T%r_y!s6FW(6t#e?3`!kpRkcHI`Jw*EIt${6(osvujcnlB*p6k?J&hI}52xLG{f& zS6~yNHB)Vnr?Q1z_J((}GPm;lLBuAEmFyzmmgK|HWl;?+$L9;@I?ilZODdtW4gKr5;$q?zBAX1 zYJ8HbXih}us@VMC+W z9ElFk{uW*fX1o$iQdt)%RUA&cPA~nG9Hr91icDD-R{*;gpY*p%>ryJ^E-zVDBqv?b z8`gOa4pMwz!8~Vut_i@LPU}{JsU*oY&fc7$vR^|#B7IJea_i7=*B4?8kz)H|ugMP4 zf=<}q75>dLqRKq+bd6r_z$LnUdGTx~aJ8jpv=e+w&bs6S8;kdY4|t>cX9fdrp@?aK$ANOe$^nJH`i9-adWUgGVHt>BFbJ!iu4V+~@^SZt(;#yOqkZHMOrB zGwMB6sx=efjR}$<%3ybo$mACenfNn7U|YD0eH;9xIDqHO)=+~b2=H=HZZNq%URvUp z+wKF1D2sgqyRj6;30S(ay@feEq|+$nBDjRB{A+u|CHKZ%jdD)gH+bRLIJgp*wTU{1 z#w!i)Fu4fHq$p!zw?b452bxUp+AmK9fk$g4-CXoRbeP~E{c3wv*Zt&O~R-1Bu__q3}D5u{x@Q2QmTZYpsW6^pPk~5_|w)oJW zxmSSkAC=tmnsRdz+uW2SlIrQ%Yoa3~%t7VA1T9UMx!r^B0y<j}hbZMi45g4!kt zA0LWn(@Idkhj{0MLwPn2JWqMEt^lYt9=|OKqho)GUM+2`mMfu|V?;l34lp&C1qR+e z@mD-jqmZffQc;IHf4Ev#n@?`d{3DN2q#k=T?XVs0y8_aEA2vy% zheMJI1R?$gf+*^(l^IM&HMFQ~BQ7Jcv0TAOnCGOLInE=t`aRy7kbk7y=eNf1l14*} z?tp2)T36`dw2%GgCFQF4>{doPrY8YjY*Ljl{Q`8vEgK3-O{&5CDh|&MT0MQ_poz2~ zup0RQTJSTJfwf2&3y87}csmW{CG`~GP1SSt3`X_+%tKgE0x3lhxct=-niGZ)1=Y)5 zN1Q*%pm^kAZ7hiw%5o3kziJ+_On)GHUDYfHd3h`})mdykrlS8DHG)QJ$O*dKyVbQN zRN4Guxw45y8Iw;k&h%FU%9!z|{^~=}Py(}$K=n!faC*xG@@>$Zt4UX<= z%B5BrzR>cv5GrSsh(9i-;1Z<{+iAM8fZeJu<4^Gc|As&%u4_($BzK-8K$|j0QC%)rlf)ofaa>8Q zK$yASKqn*L^FnX^N_e%c075j<&b%?ABES7@gN(aK=n;r=|Mg)CrnpklqEoEt9sf-G zd#s!K;)Rl8qPv^W1i0KMWHMf#oyg>DorSXBBSxw{2d3!GAZ|uRUW-joK|>nx%3d){ zmMcL8Z?cK4%DQWPc6v;#9q8Hg0VThr)9E0%VyiuFx zuXe_@k$=<#3xRpZI~fo+?La|ROTe{s^x-g~g>V|CeFtL0KVs59HA6N^GlksER~5yf zaES_>4rA-05W(!c!QU^M@?8!0pWX!(2Jm*^M*mZv-0<;g;>-dvf@@{RK^YvWQ33k+ zuIq3+4Jaz1#3Qvf&_?x_=O8)xg`v$nu8G%XBB`vv^^io<2NR^PZ{bq1#z$T&PHpxI zNfs9TGTq+6u!hC?fKmmA!G~ZS(k^L7%cu(`@Ip!wq7B8h`wWtr`GFzq5T9>7gngp% z^h|sth@8Q4X=18DQ+!g0d!xn*kSB3h@(gO~1s$FjY+;7-FTom>;OqREKh55YU)`ZQ z3+8kTaxfOYyuSKC9O1!YgWJw${6W_WG(~>e4Lj63VWB#&VF~hpD(=PsXCAGlyuc=Z zo%bEC`ayhw5Nc$9w5lvCJ{m^S4K=dLt!|-smXRLc*AxBRPuou9#Q?Qh1_AkqnXKo5 zB85UFK$>s|?g}+RJnb|V9SP6DEg2Kry)o*Ky{sS|a*+FsKIs-hpY6ceOHN`qm2`HN!w514^KWuPW%{=zDwDjbN_tX)&Vyla-Sqb!_$l&y z&5L^MX-ld6Xq$&G)kE=!b$Ir1a}uRrKdXZWaCyop2X4vsB|xlE?unJeNA^fUN*$!^ zs=^c)htDM4vFdJ=w^n#MikZm}OP9YsKI4iuREp zZ;@(?r}|&AcU(K$lNV-ieVd4trIPh)ez%uZn-}{fhR;tJXXPr3#w&5Y40W;&wFnSO z?fratE)v=YqKbVjNU{R&`obp!4n#Pa#;|TmP&E;H9DXhhXIqecm$XVO^C4>AI*R$6 zlS+Cz4@F@AAo@xmW%E-oGX#zOiV|_gPwq)G!}do#+R=?;RnOqP_MI6MUxCs5CIa1U ziav66MBvoK8z-BGsR%o@hzhSROk>-tV_%&tvTZDQwTs&eqdwj~@4-6a`|XHpReZvJ z`CzVX6S4bxl0AcrKk4*f)#*II3zu?Wd41BKcqBI$ZS^=q_Ho!nINgoCdF95jgByps zaTcq_vJ-y0#iH$f9bO#*2Z;~EkkGk-|E zjP?sc`fFi^YkI<6j!A={c}Dg$X~GhbjzzVm>iBxBRLCdRXInEV`Ed|!E($20&!MZ2 zVKbI1N-EE5H*G>P1GECA;dPUL1*U;D^Js4d$lAm5Kmh+)(TgxW1p%1kZQ-Lp+kp{m zfc(m@)7IRnb#`*~SH1T=f!xjbXQbl~8(+s%v7}JRlDJ%S|B=5jy9!gSR@!^nUh;fX zkqpd@Gp1Y+=^0s?(mwQZowVg5J`s)?X7d0|Ex89MYS+EjW=f+y9S$cmU$CPnIT??( zW~2gx<-hsimQwAUlF@#s0r}6`>ajup{ShD#~LB{3w_rtI$&3FFJ{3|ECA+&6X!}{-`FJWWq_1n9c>C z<@{_=ftLO1qd{7M5rBaFcNXpUa5;q7fv)e^dK5hn2Yl0Spr^&_Df#w|4G?qq7~w~C zR3LU)R^DHr8!X}0^o6U?eYIX7`utIIWHDVeeqiuJ98-r1DnV;Zid(p+X!k_pu7eRT zr~*Cgj8n~Xc(NZW$t3JiN$p^pE5RChwe?Iv{DBp{0yNe)zu9cyD>cmlxkGwREjS=3 z9{nbIgg%1q9jq_7(o#D1ao5)u8|Pdt&~$c>QBm=Me|ZruOT1*$j|Vjq)!>g!=_$V6 zE2nCC7?EG)$>_38K>QwWNeh$IwreCtudMaOs;`Us=`5zy2>;bc@6$=R-4GAIKxmlB zZwNFWUOJGjz&im2{I!0fPlwB&c-e#buQmgs76ENTxS>L%GWPx!T^0=QMZ(V*%E?CT zteb?G)+gsH4YK#dx5rhm%ZOxFil7`AQ~H*7LNg#FOZf}6Fa;sh0{qST?xR6*ff1B| z{BXn9L{HpS04FG_oMdLMW;%t!Efm2U>P5YdjG;*#xqQfTM2z?9$(8R*VPY@tAAd7n z5R$&vPD)hcd}~blrAcK>=r=UrV=moj)z8*&$zw+9w-Jp)#1eE!f2L1=1y9Q{%XaI* zyh0)d0{9ov)lPV;EhQR{Y25Rz%ufS}Sej4TC+v+JIvhGof782y*F_ob_#*-q6@IO9>Agp%T z|3(UTXnlKDhEKfdG>YP|_&VHP2-A_Sr+b+`xN`z2;_xj{nSJRYFr)0$#EJ3Fn#!zh z&>UXZBm{{e0Qql{kJ+m3kQTiQm&`yt+rGd2gyz%sQ!IyaeO@EDS z{>le}7)mHHQ_L~d4kqYH6aa+C<36l`hSn0FSqzRy#|p`orl^-0oV8MI^ky6hL_89h zcxr7L=!B&nW5aH%K#%SExx0F&2)DTfS%<809ylDHG!vRqn(E?jo$$sxD_rP*qb|9Y zrv`XSa`YeV1Y)%=8IcM9BNID#ZUK@4VfXll^WK6Ovjj&oLftu`caMYr@o}&XB(0uN zc&S-qaAA{n;YJ8p%9p5d-NpZ@a%Oi9Cq5*5zJ+Uc*aVx{4Wa~qs_ZbB4x>QUff2lb z{1l-Y419b1>3^`23OIK!f15X91@jd=tW7F90Ug08lZlrY~qQW|w~r=a7)y z?4mR-#KwHV%%$gHXtB}|JEU?FvUHZcubrou>lvxEe3HX5p~vgq002`uDfJl&jVi3w zVnw895wEZTb&ImS*M%(Vguee5f`>W)mS8%gq;+)}XbF^xK{pQR1UPATdkdlkA=D#f zXK{KP?TlI_6`V9a_K@3{$l3sFwUXI{gpJ;Ae{y`*(_aVv4Ai_c(GE@lxjC6%>R|z z+zx^M1(TXs#LspP=+ElH8Kk{e=WGW31dd# zr6Q5HuL1plqmY67U4E{Dg11RIU-x;B2J6omu?h<}U12|MMK3a_#p?r>LwfyU@CP{; zg_H+fi0pvUk}h2<#co8+4?NJ8X*H~e=15At>|KvhRvHefC-+Y=T9k9qJzu+&20C%X|s zsSOeN7_g<{rh!Jsl--8~3G*U6pm^XjdRQ8Zq)rDH???ILVjj?h&;~Z4gG7%3cfH1$ z3UN{?#hp?TpqI|Ae30BV?+!52$nl#Zk%?}u*ss7Ez#5UjYM=4C2G&ViU$%5+ zwI-ocx`jP}ynQu20`oQO$g;@m@p@a*?LN`J4hFTK;5I z7@+xVY6g&}Gsf*kY;u_QH_i)un@sW6gEttSsIEaROS;oXk8d(G-oQN#7#{4 zB37u%{|Z*L=n@IdMG#ArE=~K}yPTZ)&))F#qd>!f5;TDP&Er#XM1M}7u>b9b5qczs z@!X+?BR!5Y9MDsPP5`W$%=Z8N#z?s!8kio7PbAB-bJ{0ht6onJw>g)j4UrM24bF;f z%3Yhlt8bHNhws)}>XhM$M6UHOn;;}_i2Vnso1CkO6W-a}Wtrtx5y^kPlzbi(OihR% z@gvn#^;83t9NR6z>;}wFBN}5Yu$=S`Zj3{S>(pZ>kBpb|oo2jbXQ9PxI-Dspz5Sn` zlSElB{2rYa6O0B0n4L6xPcN#fc(HKfqqAcHmd4x z-Vg|ye-%qKpYO24LPc5HxP4cEJ`L)6ikUmWpGKeQ?Zj3=NFT2xYO36EDR6@;U~Pkq z6k!Z|mph5Z_~hXBAHFVFniB*@M6Mvb!*IKQ6?m5LQ(`#9F!(E^DTlfcr*N%pC6QU< z*pblRh#CY!0P{=Lb$)Wb<%NWjgHYKria_rXJQTjNDOoUlNtX8h(h`IItUMNi-J?LM zff8JR{K5hcJ7tdGLKIPTmTxt}-)DKd_vS>(${bcgXQ9W+KtyXHSJ>^B8kv z$QM0@T(Uc4*0{t?@C1M$J$eoDdSpe)Y{_Dz zTheanQGUH;09sOh+oM3dff8_l{KMdVGx>#1l}hWCXHMKk1DHi=r_X@VQ5eSzm%fdj zU%7n?j~|^wqzrI$nMK3`#;Qc;X6bu`(?&Y8h~r#UaQ(vj9T2>NB;?kQu7UXGTo2GW z=Nv62I_}tH!DoWt1Wu|F{)D?;(usZ10gB*azgiX(>0cy|X4;f%g z5`=*K7Qfa!S&~jF(6~b!>jVpJuX<%11jn$!G&o~OmhP(Sy~!3AY_*1<_LBM}B{|5| zXBPtnoPF@VB!iUo%?2>rLFeG26gvc+kg==UzwHA6V(a(pV&07_#rW#n(mfh$0N|5r zoBJm5Tq|RkHUFhs%rLu_wX%RTu9+k~l>(JmunRj6y|lWq<~@}_4;4`US^)B891x@C zdw$(^sVWqM758J=9rMfTH=6t*9=A{ejF9IT4Jyu1{K ztu=n$k~%vwrl;!mYYQfhKF2aAzF)oT0xZ?ZWZt2$Wvkj`!Y+cq@%h7;vzyW{Te)Zn zUQQeXYc!d_)uH*!f60Csy z0>Qh!$olw;)ltBIBX4oCgJ584ySD48DHFr11eo;xd74yKzFWRGcj3ny+EmEC2}E+n z=jjh?%w(w83a6}KwnNnv4Roj-5tOa#%9I#o%9Ie>C zhZNsouZJ%uFgYP=zYPlZdC(01Btge6xRI)VchXMAKDq44cR&))riRnWoklNgTi?AB z0-x+2(G<)G;+@JlQS;GS+V$|~Xw&qD^HlU|kg1*OoT;NhLxB>&fc$>~aL>2%jrSPO ztpP3egt9IO$1{@GxjdWSMMcO<5h@q;saR#5eaS>$`uHdweQ-B(Ubfes=52zuie;sZ zkOz7UmJbYduNn0;K5ic&La4S<&ojY1D2UqB%i&pq*uQBc-hJObXx)uq`KaZWg(mZ# zR9f}58aI?Uh+NJlquW0x&gvOf^5F9*aAALjSxyKc&Hw-b!D#-U?v;OuCCxUB%`=2) zJo^tj_9VS;lt9|$m}swPP#Oqd>TU z64ZeFL5D5TXTMhdwAkP}brbvZGHvJ0@Bi;n3zg)-73WmEj9Y=UzO2YRyUNpnJ2Ly( z%_n88NdPI&p)({77UAu9n0htw0OB~rM9uYU&};V!M0S5>QSon9H4%t?Vw7htA1KxP zE!noQAxfE(7oPee<9a*q)w(WRzsfBVLpw%EF zqn$vxPTofK2DrEgdf)Re{0R~PwGaOQ{YkH*K(&Dq=z#oKn$7`3$|(VJi9^~_I=T8w zf4(6-CvZceYa3f1+w@|Ha3zX@m&cN^c$XXo`Ozc(O3w;>kmCoP#3SeGb6zPz{dm{A zlPg8P$6#WLeOo!qq=s^a*p5lKvb=Q5RL5t${YVol3;Z9xF@*;fG;Yn-$#o~E3KJCEb5!z5ZXR|T2&Ci=D@aV^Mg@C&7o$L|ffEpb{MA}LPKViGN0#Z|WLTMXA58!S8cD*W1e8S& zf6r2z`azz|-@N#siEaYasqGtQPC8}UyZqF0%t`f}dT=mQaiRlngfeKEuiE;Sl$Y3V zslsF&ckP`?jHg*cM8!0I{=}E2H17(=!LV#a=Q^?F;-U>t@Q{V|I3G?rv^3j7`TXme zTn8Bl-aRS%fVQ`_*rHt?4R{ocLf<)JmVgKBtKc8!*Np`mqd>)h6C{BA)qt4L$}6@) zDNoShwh`=U2Lg_mUjYH^Q-_@3Z7$O8Z*d#tAbFqHzwV*jSB@C&5(HYxZDwg>;FyI0 z?{BR>S?P$(ju-~^@6k~LY%TqMcEoEkNIN!sp8pT2H2j{br=@XVI6#AyE~1bbbfAqI zItOOW(~eTlpe@2P7itDv0u8L3x$PB{J}Ju=P=7TJ=*wf<2LY!mHCe2IRkp@2)n1|D zdc=@x#G}JSc5vYmKUQE{{@`!)0@8pePyk&aqd>la6F7kU)(c-$oBtX(hMXGm7^rh3 zSZezC#Loe0(zC6J>Y{ULtV0_SSQGlHSK zI#)w+aU`b0aZd&~@O?ugugwR#;Q`FBAoM3)P!mIWf+t#lT!9JbeJmF+pYH!dI(b>J z_xR$af0MjlZkp^BxV~JwdfYz{?B?Qo;0D!JX1SC`&xFShg;uetID25~KACmf1A(h; z0tW_E1l1d#@`&WHj0x0|Om%<4p3F5exfKoKBjZuezztxmN(5)rM4UT-Ndq{EH0xoM z)0F7->OK;`vV3AVi}x;va%U@5s%Tm|%K6%@4dph$R%m#}HB(duKnp15w_43!h=E-< zO4w%8yKVlZh23@3re;1vT{zv4PwE2QZJ@)p8kdh_c`$HXlOs%PhPpm$%eBk{tZF95 zD5(Gz;a1Pvqd?q&6JUV+*T)^3r@9Zns3(rpJ*-)>mq?GN;fWoiL0y3pbb$QcuVATGQ2;D`_1~)^mJu#zbljJl zM^@YAaJn(jjlk#{T{BsYxA#!byN){peC1Um;X7?fJo-ic?{wV*ze%8z?_4^|YHePB zh2O>Ei%7=h&#g+%ynOnejEaXNjK40Rh_0)!kPQnZRtY?9stNuIu=Z8#N?+)?%@{EW z6!ajc!rI1yzOiED^Y9>GnryfIjAN`D%&>B5=Dw$|C&))}vMEOS&VfS6aI`+**i=Q% ztYITyYetYC!K6W8ZDDlwWZ1e%t(#&o4@EnT$sY_22KrtaoKnaBAOkV0VhJKS zY(W-r$pKiURojaFy3Z+&LhAAa!U-+GE;{_?0b`h}4vFFDu+-;*Us_-dGCf6qt&P7R|$nSlTRfc$X#f~2i2_x!yWB@SL)n0l=4)zjrk z(*)ryWtS#NxJ)3h>6s<5%_o1dTeq2~LnxY)iau5JPfBG+QT5W5#wEv*|fvj`- z+AWsJ=z=Z+lSVwI_1Uu0GX1&S{-y@&*`OJ)sh(RPK__om;{}$>PxD;D|EkcwKy0_{ zcBddg9MXYFamYplnB5wbTKeZCY#ws-$AjH5sRrjrV#IluePx5veMrun9UQl{bWL{XPw>Kv?0VQA$r3Qi)(7KNqlb!GP9 zEBQFXw9&iY{$e6BA9r4VG1ISU1zcW3$;B{wC^-g<>$w zlB9TKu}X|~y->>d;xEhLo5zBg209JeX9yz<7 z9Y7KkIh_?fc`ZcLqL)iL*d5zc9BvwGR842K-Ep?$T1!bGOIJ`U=PWBgn*N0+P8Rxk z{8N}#(NdHe)CSwM5B~?NoI!mNouD z1Mo5)=`?R}s`|cs;uPuMZae8A`!PsktI3gXWAo$-PK(K6w5G45k z(RpSR;Z<&5JfrwL?N~||vdF~D{jsl?jj;b^q-9;61Eu8gjyS#)R#kMy0Qn(OCd%xS zbQN>BG<6Ku6eIzWL79Xl8c`#3S6)Fe(B0VC*cQiCd{u^czB(b7G>5?640%&Xp5NCl zUGkymbm}w^l9M&=Ga0?Sn>Yy4P~KDFX`D#pf|Mp>yt z`KU8P(%)yoFu6uuiV)--P5m4 zRGIi*D?p<`B!K{Afc)Q+723licGXkYV^E#*4nYZHq1b z#8qJcA@1xZ=^%8tpvL5hX(1#;3fVTTz7~B`O`|}_fdF`b{MA~h zRJOT&ohbK%NA+gGWK>9kt93#@IW&1%h-^7lfGWta1cXv7(zBN(k%sX^IpQwLqb=Vxu6zEnzHaiRDRJS12678s(x-nL6hqd@L~0E~eA)quN$ni|IN z0F!XBnY$w|lnC)jQo49SL1Tb)L9_=r_lr2!qBt?KLlND64kW023K2-B*}giR`dHAq zH)3O)@cq}iBnI0ktYR4|`d8IAs?~m2bj_kVR9nK4(n|+a(U+EM&!ZLDrRm;FXPM;+ zbfl^w5%7?JIkvJs&=bH;&X&DD*bMSIM|%sUG7W3oWkCYqBAel<`~2n#oE^`rB1`Gj zZQJD7VmKcOm1ANVD?JLi-pafv+LDl&nH{kzkP@&fDD;c&3-(Nl`ewB9@53Zdp49&t zf)rn}O`{oHB)92|T7WkxM593mfdHU@{Cg1v2(EurWBV+84Cf^8K?<}DQX=Z;1~NIl zt$DLZE~x%EeQUES(J_4gyDaZ)mmn~NyuX_H!OWB&1gRk^*_NF!%jv_mu@5#(z4rQUk@!Zxt){zHv_<&T-uCEq=3o#VFrBOSGi3t;ZZR zib;~dEfscYnFXX&~=&Y8c-JdKxwFPSwvN6a`|<= zn)E$YXvQ&ttA@*yUD5mRgk{}r=T?fNK+=H#w1E6UXC+=>l`?mqWY8NAwnfYMbKZ!F z4L(||3p*2Sf1-YyN!W_l@1}MdkNX!}h@9K=#(VV5C;WP>)Yy{^naa03Bm_bgyRHR$ z*ht#Rdq_i(HeyIH019ZRrU)}zUVA+-!rKdi3`Xk!r_sU)fZ0z>8afh4v>ov-AY1Ml z#t0)?%A;0FF$3_Vkawk9_zN$N_;_OK`4z!##a2WUKjM3a>%e}swc4^HGj1Zgt2eE~ z^zrTOh1N7VPxrHAXJ`Yyx3l#Rs&%OUflGUWqd?Vx0LXy+6dMU$LLw$X3#$T8eJo8V zIzvP+y5euzZ^WJ&3Kd#X8wz_+g%0}6099z@GAS5&q|~3c`)7*ScFlf2E)Pjg!Wp;_ z{vUmj|LOy_228z#saNS7^zf29Q`XcsI+7gW-<)e6d)cOH1>hRqkvLWpi*6<{CwU+; zl5~+OQJq0GJ>r6CAnmYxaQ_}`y))Vbd@tieBFv#y6R3X=-J|&Cvo@;U(u%V^50$Rv zne4PtT$%ieI|>lvbgY(}bi%@7qlH#%Fly-B`V~C*_gu7#qd`4^0NjB5cBGWZyY=mC z(U7d;3d570-zZ(=VJ+)0S20nR+Qb`gf;cu(qh|BsWB<6`*ax$1AO+@_KU!~#r<)aC zP%dFovHYmwM7s5Dhy9seGSjuc+8wy-94gIY!bcI+7>K{;O5_ec$3bEx;?T1)*`2!0 zmN6CTFnx`9f{>~t?p>%WpCFGxdqFNrcWsLJ#>>b_mx|m3eXpyk?E3AdKVG7An?H!! zUXo*p-&~yw$W*Z@s=EETNbWL?p`(~fi}pMzM-gPFM@0IIJch*oURtksZ~O7Hg}m;) zxDA&Y_`+T84dS+vf~BNBhek^(+tNNBlc!WRyT@Fe1| zkYF)(f54MYD0R4c#i#CNaKMsU!IJhvRUg7nhR>~yByx9AkFWc2jWu(pjVWRfol|Hz9(*Abq^|z_)le zkY?|NZ$Bue9aJsbU29IGK-Pf)1c3ZgozkkcfRC0YKu~!d zMVZ}Ipbs2YK!6q|3vpu}u0Vp;p~cYFEq?(4KN7(DtI?O)%U_X6$R|XSZqKQ;s+LZ6 z&deT;3aQaDS9%Lb^KKSUgImIh@sr`E7>;W|Im@?BfSb&GXFidjh`i0qzF!#bnmQUz zn*ED;0N(X?&FgtyD6zCu4}{LACqKh(mk{LP57V15+F?=Bo<*<+O50>oENuUN9a+9XZMsvKa{P)KPzC#apiOm%? zsHBrzE*m`|%?2QydzUNzzNDPr1-XXtPweu|Fhv-J>yp-z!36Ua9DXa<8%HzleT@7f z1)CxW+>=N^pRZBave|{uAxsJw{QYvv)!_y5_kW7S_4nJcd`oPxFPAfyR{>2je$^(( zp);2v#+A%%LQlyHmTW(p%S9J~gXbV+sP@oIvj9u|r2k67fOC@!Tcbf?fdMRl{C1^B znlZI!V2Wyl#hH00ZK_{qfX(5_PDeG>ha%q>;=WFhbB<(ewfYP+W;vNI6Az}p&ph+}B;NHNlwHgKvn=khh>Yd!8rk))XNq&NQIhm(F&1H85NfQ+`Pr%wPy=cl8tH?#$ zZfl*qzd@}GPvn7@r z{MUXmRNj!4-!v^0kH-OGAO=TgaVO%rE13p(Pnzl^buQG1nsRe-GV$kR{COa76C59s zDy6-MYBd4r&+^p4uG|p$WHtG;|1yv`w`pq9iORi!Sx((z#M$Pxp-ka6iwcTY$p*Jh zS#55c&&}Q(yK_B`0*{*2oXGs--FqXbKX*Y?4d`d0{`0HHOJTf| zPwd?DksU_fYEhGi#P?9G zWd}UDHd9qb8)$8_a{RK5_HmE2+S=tKI@I|t$Iek?M2q3DA zrR`A9C|$+VeoagFQ4Z`dAJG>qDAKUrCkRq|X3Tz)&6T&Gh^3R^8sMCSc~rsSbPemA z8edw@fwlkk$Bjj{C--oOP~Ty$@S`r5~A_Zf>g06brirn_cK{-VvVp9tf4Z_*M? z=8QjOLZZcS_wMpDaxKLiVY!Wg<=0MnY;UiNCR9?Nxi&pfr?z=4A8mJSQ=(STC@s9d ziR11c? z4$L$Hqd??=0epb`L363GOMvsl*Fm5_u?ZKYwKwmAnx+u?=e#MdsNYT8YvB2W+-j0M64BE8y!mH#3)_ayjuzQ9mfws@=V{gZ0) z49DOzZFAq#${51O$bzXPpGUwtm)q0&>r<{uMta0lfRjX{K*)gskbwMB+c8=`>3e@|znf;(jL~4J z9YR}cES2O0Ry=nFnH>%(lq<|*3_Bwbc~CRkWFw~oUjPx>QC~Th#6*Dy9@EN%F)$<_=+yzu)+%+$Z+it> zU^!&;Rlc|h`+~wOtp!`U=?~`nvz&TN@{BM{%zyseq>9}Iy{VLC&DfvzN~EO;f@Arw z#ed$QS|88huJAiSLbR*Kv!5H^|7)W_+kpY3fcz%KDaL~rBes68Meyre40e3X=8M8{ zhKfJRlSoBjNmQ~Lr_*t@qz{zN`+L4-Uxi+D!fFjD4_)ydqLY*^Fud71NploZ7^lIL zgEy!!w&|iOVp_-JNLT7~TWvBdBnQ+S-XEUvlN%ijouc~jKnq~>(HnKd+B=X) zkm{UA(pBj+X)+rr3H!fC>QMsWXqd>rc0l0wtu?<8GK3OIs zF}DpFQ2rZYZ=QJ6O)yG7r>zbw41`|l&yu*9?;!nu$h$jSMO%U-JkIR-$y1$G}TnIP}?7uQ*EEF7N#TXi1V*Tn1U7YM8q$6*H!gX+l;yC|o< zjn|$57#u+=K^%Z(=361OE*btNhx*+i`lN|T#W0~dJr0hdB}HTd>C@8Nk+3KK{;T$Z zuWX}0r-1?Bfc)8X59_2O!P_HAYl{J00839(`L=kUV4y^Y_st-Y-O^NFVw}<3ihk?E zc2VW`I#;n*^VSt(+g1q~=AVqMgfE$b@4V`g!1p2rwp?-VzkJmd=omvPy!Ub`xbW8I zTtp=*;zm%1dDEA~3({2qF7;6>#Ij$N@vB~J1SAi-{h&jHG4FE)Jz+Y7FV@-713S7K zdn7^)ZGj?yA7B2yeE zp0C?I7=$S~tkQ*eGCz$(*mR=v-GJYZsF1mxoMaCX()(nrtebnn;PB)Dh_KgWDVf_UqUG>Ojm@ zU!y>`fdU+W{J<-Lem@;|JhxYv{URq^^-K4Ix04E2zC~&8Rgq!5MHC=S3!dP}@!`Qx zL_icRJ_#B{VoSA`SMw)JMjop8ELKa-Q3V^Dlusdlkg#9#1j1;R8T`0RT>Xok9%=sC z9@%Pc>B-2XGg3<-v{Tf|-UGfu!KlppWnBC#8i%{?C=SpqsnQtUEq<)rF}OzP0y78+ zGRUpgcBHR{%+&;{j!e49egrlAl&abaY6{f4mSx+cK-hr-Fo68PG_>bxPbFQH@_@ZQ z->-!&2_B_%{BfINQ5Qj!8~I3VF3rcV+uVFfS^U|uJgDGRImrTyG`4=<&($W4#FR&} z^BWhSimQr8`hLj&RB#Mpf!onk$L~LF>oQiVHX~yJa{E z3YDoTx)-@+yb2{%7CnPblS$+;a9y%J{v@r!ml(6igTdhmhTshO3|g7SBJV@e6w^}_ zPX827)lgI=$`lZ7V0?S-!Ha&LMn@Plb$15;fFPw;(r-{)&WP_piJ}Tt?7tdX&9yE~ zU_8BI8j(elQu z`MvRDsv)86+LT~?0XyQ6>c1Azj7fc($e|LWLY)UE3MDI6qVAL6LkCa}N0>ncQO z-CMRDUXBO0>s=9ussbAC_cL#3T#p5~?{_!3l%*lh{1-46oB~h7;gq;iaJNMP%;};G*h36zskE&}qCfU<}#a?)VP9aS8muw5ofuC2Wq%@UG zF4|oqplr)OHXd&Xuy#peNz@T|;haXf%_)sU&Wqb--I!LuL_P{yf&UsemS~vblp%y< z+&Egas~n`d^Cj3`=m2fl7?`hD#Xg;;fx?9c(X!DviK?m|tIFuwoC0t)q1ldjmc zWA!J@dLg#tv@RPa)hmq!SrApzqd>ud0+fLK&25eP%pM6f3f<09fV+c5vA9+PMaAk7 zf{w29AR%G2KyU09?J>#CE33YZ$eipgX)Mxu{<-<}4G5V3imy4)cW*sEH{5W3vTWH| zvSH?QO>3Vj0%vR@sp(Ua))D9YD^}MyxKGI+osd$exk)D>WTX<;Bqe`aZ!99L8h zs+8ioeUa6D51~1o-Qb@~@)@@ophC8YA-~L-{fz^bFOe3+wgdJL z_3%>!r+^90qd>iZ0;que%D_<%P29{`@T16e5wj)locn+TfsG*))IG|{xBLT8GXR0RyJL(#XaH`9e;8( zR(JB`0cCBGu#J5x2g(NvRm%2Zrs-|_M8A_#-XZimPz+XC>&@)R<^ij-GZ!t0k@1n4 z!fp$t=1S=*$Otu!v3r*Q8sa!9ogi%GU?MY>t=>Y(CPi#0KiB9M>M>!}qd`J}0=$6y ze5p7v)0DNX-HqwJt)2PK03mucTmDG0HjER~fuG&!Rh*7)6TLmE{k+EXKBjF*PG7`o z^Nojx$@SuQ^nYwG8-Sb$+hLYsyFD3ZkAZA>#4?P+{DloFIA)yctDl%UdpD0}iQ=G?iYDUK z8$Pj;e2sY%`+DG^Vtc0>;Cc3V8O0a)bYg3%g<(2cewoIzAxgU~~0XA;DY`vE;P>p>{ zm;!QRZjTa=C#deJ2L}vVW(QGWX)$FCyV#xR$&Ru}dOwSgJcd%i5X^dCmH7CgWSmzu;)k z!gtajkkkNfPcvLS>9xS9}WN}8h zgVj6}l5{70=){0RPH1M^8Od#zB|T+Qv@5cp_53`eJ;~to1Zc-}ZgG%*zi5}i+Z7H! zDM~hZ6v#V9&I5%i7|}v!#ve>5XPGF@wB~oDVFAQtdbNW{P3LsV1L3GEU#S1?u`vJ$ z06+i%Oj7$800002zyJ)Co_;xGXlhaaG9j9+$-029|2`LFa<}CYaDtsB7Bt-+-JS9l zaw){*M!j0=phEKrcRsk^Ht(p_pf(Y}Ptjera zX>`RIF^n`?T$&b4lYEe;vNqgFsPjHhoW6Sf<5s0Q`fFY}7hksEx&~)~uJLyF8U+|ZGbNr$Gqd>!f0}O!tF|~J6a2+Fs ztI0I$sJ_m_p2WVvmY5of#b)O^B1I4>Kb2d4=QRAx2h;5F=j_H_R z66$uz7(|>y)qhiD;{x%tt+gOj0=-mhN~)tkuYm&~fc!3p#ZTGVP*5amZF(=d6fA(1 z`O)H6LC-Z$XDmJ&Qh+b2eQhslM3oUfa#VnvzpqMk;AnYevSW4?H@m zym9sSLUgp11e%3yGKz9g*_pc!uM<1F853QoIlS7yfP24Ii7=jff$fXHiLr(DMM*$k zQu3Dwth9kQ2b$=i&r`?EIs<%7q@Wy^%VY2Bs5$vi(yp}Xnmv-WcJK;XTw403qd>la z12lmA0saIa{N}VEbSB}}n4=_|b$9@nwsMl*vLO@jfZDwOXEoBu_OPhjpV`n*+CHFy z7<;CceLVMMX@CcNw|rA$2+@H%ZE<>((DI`icmQ0uZ2Z`|| zi32zi0uDuDa5N-U=Sb#lWP)9(;tNY$evJcLruz7P(^Ojd7;Xdnx{Vh<{Hk7g3^^Nv zNN+(l%;1rMFZ9h4SmwvmbedLhML(A0ejerq615k$A&)z1V+;_tdvH$86 zaGn2%9MRK!Cd!mZ3s-VP4Ajv>t?T34-$pglN))rYzBW_1L<78i~uu9 z=oEpAn!L`W)TeK|V#6$|ZMZ0y+4T4fefWng8h)>gG%=G?k5!rKaprCM^xY5RQykQH zCE6x06b4c#Y*7dkB;aSxV*IMzgjsHHa@5`n&UjF^mhU}?fgEemws{iZ97I*iXVrcD zh|+}uuK;j||IVUvl`pFBlBo`U>cM@<@bx~8-#F6oU}-G73JOyIQ6Jof0P&#Y1};%( z>0L&$YcCPn$L9Po9}d;ydSj492XkD*kn{B)QW_B`{RxfeKVomsw3{mF&u39}B@)PFoeG_Zcenq(dE@&m*IfcmOtc=iwzQpOddIyRF zks*g7P?${QAPA_8M8Q^6ejMt3da{N!nmi-zTX(E;7@(c3;14GGHGd>r$`%T;1HglU z6efXQnWR_L z##OJAg#$n7&D{Nl;M`E@*K9)oMugL+eWI{0xSvrQ;yV{!+?ReGy&ieXJA5`>%8hNh z2qO;*i(My}%+csQi3fHCE#H2A3LqHcbc_hLGd0*7iVXHNZ}8DO8Spz84s#=szHtJr zN!duO=^b3~58DXd!g#npwG>(m|2Rky@|xDfwzoUT2%v$(N``E{v2UH|WocqMU@4lW zH+7ZsTWa322`*%=h>J_v2eS@@^0TM?*zr|59)FSe2ro$Ev;>!HVvLu52S9fk%H@sK zKCp9b9wmd7S{;zsw8g#cAmnLB@pgmVLJdSd+;C`!7HXDQN|keA%fhZrli z-yM(yLKUfjG;Sk*pxN^G(s=uqB)en66VvzpotLeh{g$4bW~Ghgqk;hGpAz~vyay?n zugpBnj}3JLwU$5B+yvGdgGfJ9KBl2ou{joi*LANMh}aFMOxiEmRH;9UZ&WwrItsCx zE8KEFX~V+j;$l%-&67h*TeoT;ltE;4JQPF!dnZiZE7DT-CqHeFXmaQhCv(Qa`@QJm zR!mX%^Z59tP37v;FV2znq6|V~fp zLp3PH3xCLoVQ13#C0}-cf@U6)TPOB|XIZUfKc_lZkXP{i0K`?tJ=o8V4v7t?Ghzzi z9aGq&GmhUTD4<$P@h2^H1?IE_EJq#TfyX@I2VOGp-T@A{!25tu!Y8_jeQ##mqIHS} z8WCo3b-jf*tKPCK?Kp8P!Zg7SjS%13ju(jW0~!VI@tC!Jw2eYcV2CySIW zq(pQ)FyZ`l=D5-jTRtrQL_&TfCEYaSRN)aF(A~tVw_6x}F4=Q3=g_cK!5i0xKC}LD zRDu+ErBJLCl&PYfxK#jq%F$J^$=e=>9l_l~PmTM_*pgJ5h*=sW(2j#2-~x0GUIl*Z6BI{Nn0{E@toGwvW*Cvx91v4t+l%K{x(cselwO$nRgP~-pSP8nPDH7Z&SVz{H zfHwVd;y=*~N4n*1q{opNoq#{%vfT=7`q z_+gaI)#TF{)4W^p)9#7I0*j}eWnJq&AqAf*s;<>AW(VG%R1=vufffCrv>X;h;ShxA z4+}wa*RTJkCEzE({p#6Hpm_1;w82Q<1p=I0$i*!w->3h=@cS+g-1(}9`w0a+_tl7!Ln29>SJG{Um-!oOM_&*{7a^*$l9V_xZ>JF>ylXp#Jt3BT@3juA6ghDqi+L_4cC zLp7593$=;~mtn;=utJkvzPxU?&EO*g+-H#DXi*O zFK(B>bx%8g2gP`z8OPOUVLwd6f-6>W7N#m;0Ok?eFz_K6cKTJviyNmnzMx__SV~rm z;aMsRfm}ckeR{oKviT{$Ed&`EKX7NfYoRovPAPug`0ao!QgvVYlo&#*Zw_)29rc&1 z%*J4b{|Xq(R;tak)V9_(61mIb(1)|PV>rK;_Kc?7e;CMtl2Q}BYx1CmQPaE2I@SC- z4@NV=#(=B6fHl^&ZpGUSe{Y+FMohQ0kX}o&ofeDToG**!0!~dXI|<1b{@?B zj6|?;>rdQM)QOy+nQVB#PD8YbeZ2PvmN+Y)`8=%uFd5yd=rNF6WPqsxR|!VAOHv{k zw(r##M?2vn<(gnOmRd(>Rz$11W$l+@Xt>km8c>{*9+eNCQxAk=Lv`Uyt<>YxR)~ph zKVo%CTi1^QlM@OMdGJ}~^odMQl~TA;b`XtqG7OhY9$21mdm z5a^QSW*S=GmNQi6{6gl@$Xa7pYhjZ(g|wH@#XWCyU$e^ za+rc3#l>3eH3Sh7>OO>d3utOpnI>qOY{)-Ro2<(c{sh@Pno%eDa#g3fJCMdkHzIOC zV{1wxoX|+(K2{HOks5Bv%yKtnnSx;=#CoLu7<1+4wTNqy~!izUU zs?Orkx+ElJU`g#@X;Y1IZ^ZAvCj(orN{t``8%WwP-U04W9Rfgb27C~h+%pu>m`M=R zTcm=V=wlT%C8a?IT9|kKs@PM(W&QbZtZcfS_X}EbORE}s)7f)0eUKOjo;|mO>*|$s zK^vv|Pp`MJWF#~=1sA(u9Ro&7F^U;m>oQ0PNi@*!H=&XH)1=#AX-NJiwy11=Ni9^B zTi7+k!tXCTilMd{d;RqeT+J~a+UcNjzSSJ1kxm|0YQ!BlYWccoEs>YTgnY;Px}qe% z_CrJ>_yEDSH0@Abr?PE&@^B8ws1841{NO(WQV1Df(6MG>{nS~wcTgr4e7bCjbN>WR z?G-dX&KCAwBQwM2XY2pc$sk4Lv$l(YIlVQ0Y|EviE{9%1jx+%hB`(whg^v+gWb5yhPo=k`YG8*|#fI0Z<`#k%)?R}mT6vk181{gGN zF6y{vWizLC&L5!T7y6Nz3U)Tc`yg0Rd)IxrE7Q(9rTSbO$KDi;l;9d&D(7BGr?Ft?;-b zbCjRMqoMu7D)~jaR{h6EEll2>rqUH|{b#0o`b*IPll zAlX24y?t{75Gec~9cPwp5jfN2IQMcKUhQcHCH4F+n_(qY_4O0CX5h-6U~$I9 zRX;Y*+yY$<`l^1k)fRJPYcuz~LGP@CeP!AnWutzB`ozJEMb;6_Lu}C5iQ8zvo;D7~ zNtDmC=Fr2l5&!Hx&gbez)4`@g$Xlqr7u8F5!5irBb1P1A>^pS&IDGL?=;NfwcIu!09P$% zjza^L@PJU&_N)T(3z>Qmd|IQ~DPIw;=nrBHRLZv>wSV_=dK4gGV9-BDe_ZUkmlOmU zF0x6|8@1Ib;l$)?iGO`pzT05BwCw@;c zx;eB+tYed-r^K&LB-)rA@ImDG)Jfl2p_&S6i5FfM9@JM4N~f1Lvx3@(tBp$S%z^xF zMCshGBVG6DVbKCH)zr~gO| z5Lv)R#D~jb$|TflELvYw`r$mGbbPgVdM-=pdRga(l`zWUEeb@G8-2h7wUh!r8~5R= zCET{=Z5$dg<2x=tfqfWU=`041`h29zy(nI%pyW?uqEV=>D(s`~G>rgT9iPD8PM$DTg~-$iV#Uh4MmK=~(m6b!Bleu0T7X z^N;_!bX(w2(#g1wV2TZbMSy`I{#U)a^92G@3j%5Z0s`EN4s^zcr~?jGAyHp}is-gQ zwKxDb-I9Rf8Qpc8&)mWgN9g^Wfn}mMc=kkmgGERKHAZOON?xr|Gh*=6OW8{78O?Sh zgVnE+0JJSqfey+tE{<%rhfwwr;N0 zm}u>@YL}Fca;D7Lqns@zj&io`Fu|mM_Ngat^3G;#egdt;{h1T#dh^;0A(wb|tW$ld zO!Py~gMuhlaPy==Ci6cA`*(o`k$@lK_5ox|y*$f!<2sfujn$BW_)|bDTMV zF99j+u`5c<A81TOKZgzhiI!8#QoQT;6T&>KmL15++DdNA z6BT=3Q~Y=_hN-rya-pCX0AeNJ!z+=_x$%nKgAqGNX|JrJl1#j80*y;JBNoBzC!W8R z_S*<3ia>&b-&f=bHM)j$YFSyU;-Yufzr#JpKm>#dg7S}|vM#9&cI>b54HY!<32N%D zYRkVY7?!rfESPXu?Lkfz0pG1k?tMCQ^cJ=bW2^*!MnzdDYa=!gmgE&heKDzcm8@!2 zUi|~9gE6cl4mX0hz+vCKAI9xaL(3V4Sq)dpDf-!UC`I)E`=8m=G(V=-UuRg9K4!#g z19o_m%t5QWb6F}{d3^|-4QU*}{y^!Omkn(~{f?a93dTGp{Gq!XOFlP0rksM|)5xHX zt#f}(`D6eNaj@7k7)8kzGPPK#O+XQt6B1NAimz-NHR-qvsUYBo9t5W8Mt1%kf(BZJ z)96$a#oQ*GaKO-o#RrPgmkwc?8;r1s36D#BLpCa!-&aibsR{J!OWB&h(OGdKgb9C7 z!OA&7-}xs;qg10w`EgJ_;}MriyuN+s>Pad__M^T~U=9Fr0i@U+ISB88qj#yM(H4Y9 z;^b2a;cWV*TwvM?qy|yypyRsWn|_Yq|G`@@l&TM_xEIhPYVItPe8V`K*rN}&wfZwe zVqn`&q%1UFSvc?I9-WRm8d8Qi88jNn$GuLjRI9#hSlHxhx(~|3sCoEq8(s&emh_Bp zeZ#rnYJ?I5CKbYxY)A$<>L@?yG1SkK@>6zBI>ck^#djmX2vdn=OGzetoFDP4`w^Sc z7oz9y#-pBIE161-Ux0cAkxzl8;Jg4dXoWba6+{Ng8PM%#2LK5Igwz~8t^Jkv6pp9; z2IDym1&ZpJyv86`^%aooHd@lByHv8XB+gTkZuW0$>7T7Jbtz>uyNy!9?kM#XK z@or6iW8S!6M~mdCLFI*{Ke=tH&Ay4Njg1T%&2BQGgpm%zBTSRON7mpz`c_RI#6h#e zK<%3B0qKG!3HjK+`X&CLGRIb4aZPlBz>s;Ca2XjQd(};1y*MIKXJbR>@GD<4z-T~Bs3fuU%ffKs4Ey6Ux0|RX-Tm5pW8)*4P-u@% zyL&9TCp*Cc8(Jn7nQOP@8sS$R@=y>b2)y>pV`40pAEdZFZrAHF{AWjr5>fV`T!Q5Z znd)gD;G~ounISJCN@stMyH8Q$RXebyg*h-uyVNbvR5RfeD>+jeqh=$r;;xJL3P(Pjp&h`9OZRwrHWoGbJs`7wq|d-0yF zR{{3m^Ywz&E~%69;mF>11-ZN3g*(zlu3*T~jHd5;7(he3dV|?tszuYFB1k%4@3Ou} zfJu)PUKx?uLu4m2Ad1sVaZ7+fEv=uwXCa{&0n%wHytV&nXw0DUq^5vf-FP7Gy`g9Du46zm8uJXL1Mah0ymVvS1u~{dTG@$Z^0~s@ zjlRd#d?}kTjlrBh@1B^rIu_NqBHm{A%fmpST~;h8x>l;x zHj#a$wTW)&?C+}o^Iwty$qP&eu_A-YvB=`dPB4mDa5EDsz>}h8%wmZ|m!*f|Ww^v) zL84Nr`e?Si5Ea;yDzwb_Q~>nnEQJ3cY=s?KlONJhJ(JE;&Z@&?q9Q~gaItoI*v~F8 zD9Vwvgjg1;-0?Kdr*YfB3+`M$&CEMOL*WaSkEKj@oob-G_OpzhxjyG`oUB{wt>+p@5Lz%dFcKac`ReKdTS7s!ZK44!@NaP!>SzBo zYakT@K4d9L?Y^uKMYWW-dw)muzWdriXvNMo8#x@{g=_P(g5sx8VrItsgUB6tcP)$5 zO7ZxM9|(DY^RhNf+(<@~VwI~@_|IKy%Bpvu{|%<*FM2&;#>2vh&F;m*&C(IGc*>Iv zJ>*|oNRPPH8Rqkb7_t+T&0a1veL z+2N7Gk>;u*D(EW|3VZ<|O@Mz76v8##)1paoue8()bX(BhX$E}Cz+cesG!W5J!%j2= zji$6(fl;b?YE9>N_oL^<=tXj9O^Vp$W%eAikJ8(%G9QAxzlI)tnFOj7G}8`fP0Q=;MG^?>IKHL>KafOy zDb;CgiSiDG7ZnlbZ?}ZxZfPHQ;^Vm+GxI9M7IbNYWTmQ;1Bb^ZoSVKC%UP=)$NYu;BMJxm>6FoDBm~a-uX-b0MV3pluPC2=X$cawP0QBxaT#sFC&A z#_D68vp}L`gkibGa^}+FovCI#;b#)>LqC~rjaK`qYQBk1Ti{vz=swBxzXxv!1ttHp z9fFJs_(0D+Q_PP1Cc?RJgF~uzkY$U#_%TgtC3XE^{<7A>Pk4;YJ0SIQ`#FgG%N8L` zNc|7Lxhp|$_6o1N-f^q384OqRqwiJoum+vTiVvquAJKbLsQJ194*@|3`Z$4YuE823 zq^lqpS_&0biVOPnBAIq)Wk>WQUZoC8yJGECmEFvam3zj0q}^<8Z=kuhSqGw^EIzbB z%I_%}J~e#1gWPa`Bmx%fLiuUYyN))7Gxf9NuJmD z$frDri_Y{A+;xd3lP2d|2bw79W?HcFuA-kARSlC&Ci1;OKCwdAmaZ?7)GHr2k6!VX z26i5UJ5dZ;vCJvGA4$hLeHzO^BbDa-zr>Kxt85=PGS|f4!RO#-?qinZ%nFT2jt6^d zkQG;&Tr~8ymj9v(A#<*j7q75c=KtV^eB^Tl-bHVcNEYIil<;wo44T3fp|uG3GUn<& zXL|OPf{vsc<>x5%!Q9z-$cZW5IVt$d8#b`7n?h86q70!z{zq7aYy!4#W+*;ee>=$f zrEczjA2?s1OUSy9g6`t)*NbXEyD}XB$W}Erj7yZ_AoNQF5JxG4|fAygC!BySZ;N?UH5` zGqyHlSO@_je^i&F?>ETbBky?Jo)b2?I`!Z_`QU54H+C10~ZAY$4 zUcbGczeZw*=$0_Ff_Ho1;;t17o&)6*E$`eil24i(9GYPF<6=MA@OTQO>rL zg9E=t5yzbkDl(~sA5aVEKFf-1DG>3<8#lODTyUNa-sNp!2%rb-{ zPt(-?`RHv4(-3go#=OqoJIkllu2)Z{zslmL1*W>DdOR>_ZkAT*u)oL8U)nT?>r(fs zaDRhfw6ZUKJ>DPZhtHGzu4T&L z5R48<)ioaftxHWc`oWa@%V_H-Z9@t5a=2?+cbi%*`?6;?^W-b>agD62{SmbkWGy8K zn(Kd^1*o6@@tWyG>b1p4rnNCbU<3OGx@3D}v+!{Ssr~y_0;{t+2q+c0Y5iL8Fs)L# z*fHKfoQaYV|2^?nh%VY~=faW9wt^a0fZ)~!h+n8L__5SO#!}~uM1SneI zlsx%2(_UbT#R@4_8_5kHj}$JZlnQu#fItlL@T;77RNZh|oo-8=T-D&kAK_Ez$7VZh z2A&Pm5R0Qm9W#e3iS@r-iC)q|gK!?5+M$yi7FMPY8xP3qM{Z$9kKXts;N!GD#6{{I z@nyMZk#XbYC16NNs<}p7gH5>tm`eaSdDhjwP0oJgwJGA5$FftqKI~#zd4p4<7fgRy zx$P#1udou}au06l?anQ!xH@>B@ySGJv_<9Yk(7-`X^aHB92-p>3yUm=`h8Q{VMv_s zaBh;DMyzsuGQx$QsXsODgC{8#$83$A*G?%))xaY^rb%6M@8m_yagMFK2H*NHhq*7mLCI+gOaJ{)D zc`NKY;)M0|fSm*|KBxsNDu~YKSdPMYCbj*~P zI)9k_mdOzL;Cz=r@)pM#ysE~4_)j(sr2^E-xXr}0ohZ=kPn?b{pxvH47sF1$@*7h6$pe+6a_9`DPJG#Mq=U>JyJsKz43`)317$Z9epl7Qj8ki^7|u#dXiDMEmnZwYZENgcw26^V5~*7RkkXTL zq52z3c9dKi#Iq>!ng>*S7|tqdocyqi?6zoBlD^FUrAUeOyp<^$4@ax4tD9@b zIxYOQ<%3nte%6JzJt#(2=38W|^35ERmpx?;XijLKOZ%yPEV?l61b~0B?R=3UREtUA z;qlN_#NjH=?}I9@9d>petccEw-8;H$+lp?epNl;pvi^e?4E>)w4OHBJ)BXvJd=WEI z1If3sV4{1$BpR;OLJ2F906g1t-(RiI3;RzDZi5=_;Pblq)e zzTdo5v}h&w<|e^~lJi?hr)fwx(KT`jM)~vE#SL?w#UB4{k|1VV$N6F8yd9&ZdDv$Q z?p8^Qh&$n!1WuT?P-EUfQr0Y2PfbQJtw>J0+?-Ox25OiddXHIE*#+lAbw)i`Al{R$ zI&zy{P`0fh<(xg@eZvEG%zi&ZrLXbX5P|ph?EO?=LrFQBBiGxqE><)sy#{`DAE%h< zsp&1UvY$mW*o~}hWw0-R3cY^IJ@InbDGtF{v)tovS{@3 zXX@E9@K%``E%L?n)lKAJ1@S!cU68DnZxGZSdN+E#44m$%HYmjevzb#L?#+vmj+NZw z&pIEls5w1#cfYqJQ4T5eqerrmDZwvzIqG%41^(D&##feyu)kkL;iy_Pf_mxFKx@X7 zaZD?NRdvsaVUn~yMEc2}vewj1RDuRQhZi6e3aSC1+WzxlqrsF&L=bV5dVR=h+CF7E zDhwQdfJCv!*PLOZKpkop3xX=*)t`xxRh#jZDF1!!8*A_e+_9^%>=M>F3S{Kf3`f`E z4A8T!SW3yJi(v9gT4O5#L<5SdxLLSG2Y8>Rq4+B7N5(F9I~NKqHqr6Mycs328OwX( z4V-_KqCZS3!gut@v$*QHSH+wnJz`%`&J{7+8%kZeBJ+4FQ;Y$f#U8(DP*c5@DI4%0 z$x`|vB$^V@kESVm&{mKTQuDs;Zt$<{9uSk-vNR0@EDw0*o{rg|iSfX-jz1iT#~Y7j z(z6WQ4FdU+ODuccTD<5^h>FgusqxVe_U|rFQR+>p8Kq%&*S>|n! z1PgEKt^JN1BJdqy6j845jRtfC3Y?;~DARfBtt6p9h~3?=Jy~I8Mi2A-ru$wA4xq7A zV0OE;$Vhc76odyrO#$0~A|(J#sFrSQ`&GN8d}JHw#v0VbLbh3LJE>_|$YU?JnGCsP z>_`?|6|!){ECB1YM9?K^Brmwn`#urkp&|JU*7Xrhq850!2rhVjEn@NPRUfHHgH5GT z&w3j~w``6*C->mYdegf0F(=8UN3^Tc)NKfug#%RSaD>9Q30MzoDzh`gTQb>3pZP4n zvcGE01l-4C;j+YmUk-W+EDdBbeTm#&pKFD9PD1S|I{(;FjRxuTO&NUqS4ZeS;ozMS z%8RvePSW{VnAev8xTW(SmqX;=kt&Cxxdg?unl?KEx#@pYgNEj*2J~kMC#UhV38u;(HibVO|^${MJyf|wN2 zafr1!=fg4xj7fO#Q7}~4Y$uT%oQkX}!c;W&5tK@7FzDNpB!=I#i{;N=i=42(J< zNUJwht{zM)eE*q}k{@3|lRoHI1F$9(3OoRy9)Ja~a}oJ-Gc);#n~DOv%2H74ZuqV+ zm3<#<8)?+#LCH@7I3_GVxq!UTNlPk#;JbHt>tA~u2_3#QrtRFhr}C+Gft^-i8-jm| z3g?_dEW`>0wl|FkS^!FsTy&a-Sz#g!W&YInY9EV!BX2cN_%m{`hme5M@7e{r?E`92n*h)-K-eJA>)8soN3Yxti1|$1_imZr&an;TeVJ_Q^6>GtF8pgI z^5<9(Efj-?|B}<4$4BrHuEW0BVcwv~)?+n{d*wuZ#u|6*1^GO+2)UiI>n)OY&Ao`a z1b`hE#P&S}LhW-sv_~bmj)PxlEp)|P(1kuPM>!&r=8l18hFx}`3shCNJos3JrwBw) z0ool6=7J5ATC0D({`?}@*`Y(@lX!jSW{htz>5w|qSK!Yt`Y+#t#skJ6T{g#W07iQw z%2iX@T?^Xicp@3(I?d+GKyY?{zf0#JNY^WA6EVNef(b)P?{wE*v%dKgim~h`Zrwse z2HD=&EXq&Yxak|DYf7#AWLJBHxBb-u+9{WU9D-)U?w@7I@>EKgl)h^xIo?44b&w(O zRsuS$oQVv+Zfz^+kiB<*T?r*PTvz)?V;`qqM?tmp`L?AdpC-*JbO(%@?g_G87JCfP z6A0uk^%zohSL+FL}9@`)gLvt|9hXH8G*j$ zt#kme-ovaHQ~Oy0d}_?b>-Af@as)a3BHCIlS(Qvi($SmFI2N2zFc!!G8w}ePYaZi8 z{_>Y_g+UyjUKt0d%~4!^{NZr-^h~Xfo|Zd0jn`M*OgYk5KS<@fLi}Hk z;S#{b^dha?2)NYXI1r_x6vrNQ;S59H zc!VEpN0K#8YvGK1F{lJje60`&x8F0UVbK9m4{v2`Utk?!De|3?q2#7|he9zRd1wU! zPqFb2^jFd#n(P-9M0@(SAuSob*->;zV_WSHs{;5xZ#V6+=$dMJhz7jzW{F>A4EzGJuQBNV(NEmDH5rf`jGC6ERR_4tKzfZ)3CT}2B zDZTOoWeNqB0ni%%(JM5jbOMX@ShT3#s$ ziL-tyT9(Jc1Oi}gA^}D^Q3`keHZE$@W~efDubC@c5(@vB>I}scl|l>Q)Wf>Dh$Ozu zZfvq|z0^RMa-aSj9eb#(JkE zu$Vn-`Vw&}nsV^uD>PMc%5k=9<^5bBSnK2_GtJ#lUzaAXWr(ytHRHt1B?e5+l!)~j z7?Xsj)L2C3WIhp?-nazL5qH0J4u*%pSmKB2|RbvQBocUL3aK#D%FC?nz9OVm= z>2FL|@6cv8ntGAVrIFeekTgn3+7%^mdwH#^H9NVI%bJD#5;vTn}pTFjW^t(U?OtAuN4%=(bcx$uIZ z7DVkq^kneq&&J{UE)-+}KnDOzb76!J?P`J2gb1;+)D2cLX__n{nny@T zGy9igLgLxm@D4#k8;N&>%%x{j=P2KkCI{T-b7m}yS7FZSvWco>Zkab zzX>4!DuqEQGP2UM!rQ~*R?7oA4CbtB=EH5T;=1}-zV@LZ%;Wg=h{26?65(CO6ETx! zf+k_q5r^dW6?)#xYT`WQj7&ow##b^#xA32i7rS8J(9V6SF);2BO-CJv~OW)(Gv|=my;nLVXA#-I{ z)a%#sqkty0octtNd31)w{U~b$OE?l=^BmDDAw+fCv1!V7m4aGMK-O!L)ClLO$<^93 zB#I|(ef8l|4!>z`-6*O8zWGN0Ae;GPNf#E{B;Z8;u2-$Je>jeb!uc?VYIjeO`#v!k41H)=Q<3BM4^0@dRIAviM+{-A3*#W~_B z(WaFOoyZfSV#jS^u?M};c_F@{i#>-}<|Wp${GD4;lR|-W0CXAfj-phM zY(DpEn8AD<^>~J-?HvnfVU#M@zZ^6`hRc;BD8gRe%VAUqHg91<{W%7NkhRG5ofdi$5>&$IWS#{aw4}rE7L72 zjq97Qg*(SVNxPJkLU%^T3`!#uX1}Qg)=aKG2{uFbqN|Q)eFEu2%+}+5$-lf0xCMAJ zn@QZqhJ{#Q?4$bI@sX^6Fxqg0H%(w`IVNA3f5qj&-+cq_A3s(U5czLGWH<`qQwv=I z1cL(Jq!Fi=&H^AHaDZkj86etS0CX1+EvwV8m+JY$?FppZagk47aAP-DlRLLdfU1p` zMO8s+I`Pv36!DLOSR{GEo+*%}v40JP^Be~H*-*$HW+`N{3=$8S$X6E-_qYhArP!iAk!SygRFy|` zfD$3CkPx7qh8gixefCal1d5k}5D7wt_i*z&Uqmdy-Wl00wPV6%^7lQ%f3j5b&egl0 zS!G_aV|DOV3U7~N1QW=-q^7Fob4W7awY!oow}4W;1*B{k{~zNV5Tn}`=XSIRJtu}# zSJtOkY{5mMv<>8N?pYfFNf$LutLJHqV#{usb?{RiokyNu7}xR?{ZybDOC70dSNT=h z1J9;j4tjROGd;OwuPqg2l%Saf9IFLM?sZ=8t0p zWX%!#5RE7pJtR;Am;BH}0u{A19WcTFxiv5oz$_*YFXGz%JkrVpX-lsZa2E>3Q#1mh z`=4eP`T&U0c5#e4-q63$fjqQhQQ(nBD6}c zy9~OtMQE=o8yVjp5=8#y&0zcW>MbH$6`s#NT~+-{uQgn!!ILD6@xy(Qs|vAm?Tnu5 zkp%uiI|m0)-Fy<|)NdzSurSm_k2@q^+48}i-a+4Uv;^m-Y~ai8fogSWvaz~eTf^uq z6hcJz7A4<^Q>X1}kmQ;}VG~$3n zw)n6%9@0?BZ!{#8J2vb=EW;sjom}$h1}Gg9<{);wAlr6%3G2d| zH~$;bVd_>Ikx;dL@QY@KLF>Xi=O5E3_om*kt^G4u^;;x@b+z~}rT?lc7z7|x%6RP+ z_QGp&C0!j#o}vxPuqGu^0MnluZ)MBv+adfk#uwtDbLukY^OQUeZ*G-pS%!@v9AGjn zUP*7oN9V_`?JYY_TtKo$RA)2_xtfch!$U7jL6|&^ks}kLutHU;$!c>~%Ga7oYDu%Hs_Uf^P&6|JfFS~+ z@v~5mQeNOt2)hGe8cv)tfYOeR}$H*=X2Fdv^2pCduqkzd&DFsgwo9~vmg!U zsnOxeAr56%hF>Z7V?)OS&yM&yJrtI7B83p1$W*S~9OlBLG({n}UvND^EhDj;ol%a! z3vRI+@hiDQew@3tH!K7-?W2<+@;@z$gHQ_5V;@E4I0t z4ip%9JR$FJoHLdMNk3))H+eQz6~V zSJxq*gJEA|IO_a|+OAQGtU~7)E+Z|Aa6a4}rNSnE-O&uXwvXpMDHQg>R+u}(JVT&p zf$28ipxQ;m7j4Tug%C%7dn5awIY-j6R#x}KQ5t^Uv9pZ zo7+5%N10vhI;`up@(Qw7fIsCWySvaaFy%3&qXgkPl|jxQX7Zvq?EaG7;M`Tcr7 zCNxZH@|(w>d`_gMQR#-m8edd6CC~)}ah;@y(H|6$8{0e1!Y(esq^GJEP)xhoVp`zx zf)}M!hf$oGVEgjTq3b?v6XR`~@~hRG{QluQ8q48r6~vt(SF8INRT*I_kfeX3}1PE2gT*^R)^tsaj|! zAewE|mgvFy%h8>&5?=y!VpnxKzinpl{ux2`yvzkY-WlhBJ^c2VVKQW|z1vGVilsk` z#Dobh1B*fm3Ssx>4C>^yhtTtz;Wg5KK{S}6K4i(O!|A6z{W&=LN)`=kArRNTCc5?b z^ED_aR|)HlZO;1xo-s@LRdeYb!ktB%=yy@Fwn1OAN%*=kumE}hz&HRCL-oT;hrV`P zIj(duG@B4s)qxFEdit+7OV^5lO;sS_glO$1O0SOICs|t!vno%tjBcCnF5f9~6K}os z7(;o{?Rb@Y%V&yvWJNre8KA!d3)kyZErFux6k1n8@_Vj?(=fKZkCImJ9z>+u8@$b+?gw6Yh|@7vM@#0E&ldcLOqnl;cTU`pf84*eBG$ln6iZI>o!E(A;6>30a^){Sg2r79*x1|@cA82iK<+eZlh8#zF^8^IeOhMm^bv#xfG5m($~OIL3d_x?dc+4uDVRJ ziOVj5J7(=%pI+27FBWKz)j|LEoqHn|)l`s?R;FPA)PCM(#uQ|r-;ne7KCjF>;i)v; zfM!(`neZbp_-=lWLGvPEhM5$T2((1AOj~yR<34fQEK@dRJ)UZx5k+IO z&RMKZYw45Hpt#R1Vw3s!B|9^4pX*YKs|*0OsacHEwpB&7l@RaZviH_J>oi&76cmUc zUe`o{*IwTu+l<`65CBQ3RZ#>1)aPCRV5L)^O{PZPp^m|td>4?U^lHZjj;-9y zR~ggk@xJka0r zm+4~qyN(R!5T@=zaZs%EfRUTyS&!D0?SxYu1mBgO} zhxQK5urzB- z0jy@AH(Cyr@bLJhG^>YOzQp)5M3!7 z${)`q}w=N_flQ4ld?L{gVNNHKC=hX`;7Bb9- zSl%ks1+!qGjvtd|FmQMXSxPxv&@|G{_whe0qck_z-)taZkK728C5-8~oFRj3KoH=a z#(d^)Xh)lu)pRveXt0#x36Xs-B)-O>W2?D7^Y8Dt@F@KozKX#7GtmwPLe}|}Z5_}k z{zuX^uvfY?+t{{k+t!KgWMbQ#V8^y5wmGqF+qP}p%y<96Uhh-8yQ+F&?JEsqnLbc5 zsZ5~J&s5~!k`QX)2cgUF;M*HYaN_$+XgD}Gyi0%)qr_)~4&KMW&El|lWoh-AT2^^! zwa_jtFaxot55j&l{rsCoSNNoPhbo@iY4Bgp0E^eC{RsmI;lfwvHaNO>AZtcLtinM1O1>losv*73gzddq5azqO3_{Ky8D81>t zF1)>?UGpib8vrKweL#r$aPb#5!}(+x$J~EbkDy+gg&04s>=_!IwY84VQfZlm$W?@K z>n7_oKBY>{5{xrc?A-rIXHX~pAA5)!u@ky@R+g7^;$>|*$cJk~-ig~;yoZ&hE$tD* zh3Eak;Ug#k?dBT~;`Yxt>=uV&8yJ5kHWv3P9pxpkQOIuIo9_CXwCFR>rp$7WB>27_ zcc2b%xm>Zim`4@uyS*0Ekt9F{2I3~y5CiDHy{mpj;MYfPHyd_>8@v@O!4m)tsf+|E z7N9NQ`F@}+n0EH5=;!Pi7Yj`ouo|r9H(34_!hY9d7GL@mX7Hf{dXTokA)~%dwDhqs z@2hb`Ph23>3V{0X|2VYMiQ8x`f_=|kZ8DzOOz+ln0d}z^S&}!Z9*KKB4lC1azC;n# zT&*bAC34eQmg2l2w)1MbF{)|XbD1EwtG>NsRzh2u(+6|eMYq6(H?4dnQ#&-#pku!} z1!Fc3u^Zz4PU5n&nF@NjQhCWE?`hEtb(azPYmMQIUHW%ZAe2PDKz##d7U{wNfzP$+vei z{M%L>u{!C~FV^@U5QoNLRaoLLP}XhNI}jS-g4-%83?S(a@<4+BfZK)PsGyieOf#~& zGg7}@l>5HMQ8w2cOfwnNw4)9kCxB2-1rFvttbXZ5b)d(ltNSPV$tCV2C{n3S{y0GG z1E9%%pqXMhp!!0geL`gy_Mj^z=SllKa=;Of+!43FYDicd8R;r<=2$WcCxRvheX|JV zo@s@>Rt}mKWG3o9JHT3qr-Cgb*u+4f(F1!58JC(|JNt{x~dr;A&W*sr?0$T}CkywPLAK ziZwWw)orv2sIT`(W~yv(%@rBl?2hoh0SAf<4>g_CSR2k841NI}Ns&2>#pRi0))&KX z3QjZ|<51|om=&yI3?&T61;;87dI3Ol{h%~sAz-6rmj1TvjmHToXn^weJPjUZUR9h20B2^Ap?Y+@ zpR_Cw%7oIWyWNh|AuaBWX=4Qa(AW&>$(i}~;Kw~ruNi=7Mg3_%C_t>LB7pvz%{%|b zaRK`R)&C<)QOX5_O_#fTrsW0~*oRI5ijZPg!?`yQ^w1&@>0})CUaEaZyCHb$dk{SW zSye`BtJVbn1N{^LE&K0(_iG@F39CZ^W*NvvxlYMYz1LBrjMt1A`VViWrhEBsehZL+ z9Innk0?2wmHWyXL!8LjKFuEZ-DSH$J1DG5`2T%#bMn-Ljpha#{ndEb=ngMTe`CuQgrsNtsK!@1>Xynia|B9KCVo8n}g$B$O zA-AKMle)9A0WvHm9`IPGSq(6d2m#6pwW+8m6nKz^T~Y7=GLYs-&_0 zyM>2>m!6W@%0N4VZtRPc7qP9h z>9KfzPhCtS$rgW_hx{FF%Rk!~#?}^A;lbeF%X}!o%O`>$vhg_La$>1^)2A#`TA?y#iMVokacTyAB=p15{d<$!?2nTnI*AEaa|)0HzyD=K#%Fs0VIc zXV)oJ_zy&w5Kt6D6EJ>VQRX^bW&t>VEW@DqbkeUq?lQfbu}-J!$J#zLef`#7>T75dDAJ)62SZnMOHNI}>Tj@P9^N`42cNsxJ1aJ!xq)*X!ppy2|VX~&iYf`rh zI)Wojs07v1Pb(e3Nb|+vS}i($N1EKAV8jZ{3s2&ys=L);BYgd^M*8ELrohac{$wD9}uEoT?i@# zrLwr;d9RZ6nOFji13L{@X>6UIW=H685W`YNV0aWG&$3q_a)gSV_43TD)hGxEsa-8b zKP2H5o6Y$8*Z$K*u0`;xc|#C1?G>602uk{~aDDaNr1R?g zx_vP2pu=L*#l}bj=9(xEZ;zzzX@#@i7=65C+t-JHmY8t&j>A^xpA>Z+n349lovBoG zZRBjjmzT%av=>ve@2fMEx)fK3e@Xbp-fD}RSJ%}jY&Q(Sd@jmmwE&S|xtT88#BEE^ zlf6g+60CI`mOeoA#|T`{_+McU{G>u2zE}F_IpBy{bMX8%6WEU)iFz8aV!Zh!#N1Ta!|}u%Q(A$DZ=WmsApcF~aV|4Z*7_1IW3Oz({h|YJiT%s1 z25U(C!Jc^avbIZaiHC{BHR0tdc4Kpnk*V7skS%?}gEiLQ{Mt(yH|#0cU30Rl=y%EI zQ-UR8b|Tp`&b8S<0Fu-K?}B9H@&Q>>9z0Ap8Oc}ib`H{N+)!jNh~%xa9Y*|R;#&yq zDLI7M@>2+L|*~3IuC}rf#EOq-@WM;reke zCM(H(HO%==C!YO}7DX{QC0Oidc9P5s#m70E!(CI}o~k$|8!rxy2^Z#_YaR!`B6f4{ zusnoaEG5zB_VFZYilT@3iiEi9tPL0ft$mZ&7x&mg8zx@-6xpd4MZf%nTV!UdPr^Qn z<`&b)k$3d`57$A&nZF8&$EuwST`2PkS&%;kiMkBvcQYj;{v*@H-Z*ov6s7_MBU;?_ z>8V1Y!a%=J(Lx3W3{Gh%1D|V4{mN|bej%A{y?=Mu*jh5u)?M_P2n5Qn=O>Nwb4$9# zs>VLFw7Tn|)a}dNji1m15OGzBIso=xY`p*^17ez3A_urF3g=P|wWz8+uWn1A+ zN5u3u)9MbGutN>@_6JFno-d5blHWg$Onm_83;&O!_%;UHQ=# zx$=_QNub;&xlY5t|Dlajj*azU+QO2a_63&Tb+|i$K$~zg=S}QjRe^}hTP3E zL=@2_X0s2+QmOFV(4c3rXJ1GIal=@nlY-y#l7uaI*u1K>%ps%50K>nr4+hQuCy?Y} z6PMDHVs%Qf@!P=#uBV*RgIQ?sQ3yONpTdE*?lwKX7jHx3YE27;6gANVpW&;lTv>1L z{?Y6B_jzrWQo?_PV@sGXggh>%oLHKWy?LuLA>%Ohh=z9)NUu5%68E2i1W?pQ(w|ii z4kgFF92jxA5t}Z+Q_xtnPZ=B7mVDOczSEuFAFmR{1|K+S5rJ6G*}o}~D!_Btu4c>9 zUR>aK9v|WzL^3`_To&U4We)|}m^qqcjNclq7wkJ|Aqs@*05DYlI7e9iffGHg6`=IS z8h6Gm2|&uBvPAHBR}Xbk-eevr2ybEev^%!QNH_`$?!t9P4HmRQVRHKIt8Zi6&ML2; zzI'DP$Ql?@2{OYn+5;44Ae(BpD06dgA7XM5^&ik;u)!y&Ixa-AYfbDROe(YZ6_ zvlQB$+vHX?(~|iEm=Wk)8#nKAqumFJnkd*c(Ww5+>57KI$Y8Iq;t*W!wO|=dihRJr zsvzn~|3+09z8_Ih%X+=#=?OG84K;~O9HFC>cN8xYf-*1PlIF=9l4`$e_|*r;$KoB4 zkhQ_=R}(NauATuTR{-Z{O%)Y(cWRk6W|@QDIZ|9jQ15Ly5rI+tVA8|f=53j-!cG<;tyGhr{95a0-^eE zA@cIBn3ei8yl4C`+v{y#W-wO@VG6!U=CQb^O;Y69{4LCqTQKk=e9xUp$I^m9EzJo5 zhs&_jD$$wMM!<=DM(+1~$HSD^g5DA8e5~#ZS<8v67oQ>KRY@BEpVC~>gJi}bxzD^d z6p(yNqE$4fz+A8Ms2mkRCP>`#MbZyhJ!0pZ#XnIE<&ZASYL0(cE|^fHOmekh^dV~g zg-*bj{CsDo0j9WNoqy6PNZ=~y2YNWP-aJXd|Vdwr+CL(dcZ2522uuj&RH9?sHFaAim1 z%ie5xv34uSuX}I|k49fgz%`;-Y|ro{Rs@F=ty%#Z|UvCL5Tk(xYz1w zmC5B=-<={&oxLsurFd(j*jlw{712>$cRdY@lbbHVGO?QQg)l)`3L!+343F^Kq1E|~ z^`FTs9=YS=G>x6g6PExHvnN&SJj*6%`qeH??0Ok+EfDYCKMPTqs2{Q7OC2_0yK{vi zfoptc)wSg7)SU7WxK`$3CMH{e13@Bc+p@+e;s7N6q#Ctu30M$k(9UYLFV+yjpLog8 zOm>@vpb16Vc+qG)W3JBt_A2p(G2*~USC~u-&z2GPQ1*XCO1Kib8 z;0UDV`!Aa>xJ%t62qXG0|$ySH8VG?37SnZcr!G&fAT z-%mxEsFx)C*s#$d?Y3f2lz28WYZ2;~|DzBVHbRt?g2{jh{q4>#HG8Wf?z)x3Rp0%2 z#<22(?bH4WKjzfgzF>1-VGhbNr9oG=m!XQE@7@7`8TlbS!yOm^|5BcvsiDL9Xsg&XcEX5+*i8ZS zJLmRqWLK`JmC%9-SRF^X zzKW4nQWA&|OZ0+s_$srUuG#3tbZ!B?wN$H3eW=@>m`G@4VXh$8nv{qE$=1(*XzQ}$8c_Ht%IKOS(4#SnNxOqa zZ(%N3spM$!63hejMOrl#;dNUffFcTUT!^J8xL0jzEEL6XV5QQ8jqkc4eKH|8hw8{E zp>z(-c)Q`qLdgyws1XY)%g=#;pfmN%3~xUf^}cd}EJXFLW)N<%o~;JCHmk%$?N@gb z+fzZ~O7X)7E?d5O3(9{9T&X25h?N70(kOtRZVbUH6L$uxa%Q`t zcXR|H41$3U$hyjN&gElEY_exK#&dP+ncD@XA14BG|CGp^qcj>MTsN@kTclowT<2VA zZe<7Pa9fCKqcp$&h=$!Qhgg$q;R}R?05CWHAMPkpb$(a31N7?83{*2#5X#ee@*>Yw zmDGct4TNb3%@Nceh}n)IHWsHg;;1~#=?A_9Hf5VvzHkj5fEW8>=B~eN(r3onU$U_= zLw68?NQTT9#d}q}3YD8VFo;%vlPdRNqA--n(1hDmb6D?4dR0RPq*5k^EGBOiri!Ac`;8l7X}IZdbOY5laG($uuze2GHjfD4nh z%YJMJ_Tpp+U%|Esb#o%}HJ~0y`J&4;myet6pRApLzljgWQ=hoaT|h-h6Ap0DV}eO! zkQ*T_pJwW4VN4~oHp0ukS2v4|W6>H=;SB;kgB>W!K?_b7TlCD&SK`~>VhT;B&=Uy@Yutk^?#_FnV)o)v;}3}9 zxAgR=Bs2)|oRYr&kBvYl02b??t@j&&y_+&A?^(c9lZy{tMy+HbS{nD+CXG*SzWO|( zB7@xN8*#_OyWH9@&K+FA&do=Bm; ziBm~UH92TU-#pc5#fl3$*h-{ezE&R6t1PQ*8;A2@cJE=9&%Y*=20*mSlS0Xe|7f_d>X zXngn$Vr3DJj?N0dAWi>o%q>s(Kh(CIdwq|vBYUKgZJ%38SMCfrh@8vw4umVJ=!#EC(hTQ`tnTbg#0Xjk6wO*6tNL0|K17sfRg< zyZ^~`;IdysK*}mnw>__`L0)O(kzNG7 z0;vK0Aln4M3jJ^=zP9zhyL4Hh8Q?q;3Rt0GFgU&fQn!qh++{#5Z1CCVKXKDknXWSmapnoUpVR~o^ z8GQ?o^Emc-qPK(y?q@>RCXeC@7a&t^VYW^DiNMR7pZ;cK9BZ&FABeiQWZO4k-Tx>| zXhh|ADdD>bpt)(g3R312mX`P5>J?V?M?VfzK{jhKCK=XCdWEjvEu{IY;+TPq!5Fhm zUQ1kZJC?L**k3z6{D4*|ZNXUvw$T67tT**CoB4xAQKh$zzP*g+EGkO_``& zt3#)aZT@t&Pc8*h#-;5WO(*OcYfwoLBBj2+18r=3c{cM3o$4>+;#9;$B_7J9i@QGy z1$$TuQlI0`o0Zu(Eo@Yz1oyc;tEM>dl39xBZlz116eTL?j+9odQ2EblZV>=$@l&Fo zpe6H+{vTv4w7esiT{yE+d4Xh7Hu@aJ? zLERtP&NDY%Vk$SY^j6OSc{Pbg7@lwj{DutAVo4j1G`>G;lJrXLO@k>pU*_zs?dPHm z)jhb6UH7Qd$hUa@EQa@yj`+;12C<}9=}x(LX=D<}W3tqJs`|2Y*=lD6DE2H?0F%F32M_9WhL(URJ^i87SMjYNHO?yg92==%jJ_1 zO8wo0guE^nfo3eqgL+wgf;>P3_o!Y63=N(O6X*b`jn77j?Nt|-&xQLA9@l~feRKoN zBq^7{S7(;jCI*1ba-WU+5^c}|md1%Nfcn+FIXaQpr32sAW5yYlpmK`<%jW@=v?%VT z+-Y&;&=H3YZ#d0t-*$q%)pGsS$ZU063}1Dc&cbBS_(tWvrlOUqwd6a|4@#wjd`uU6 z=3X13Kv)z28~39E?8havNGD4Y(mZ42o-^WlxXcn(+W){Ust11-DtE?l$xEEjMO&Qp z7U9+MS~;0*W_z*GATXu;yM%9Z)Gm0H>XLWsmeSN3tJN>gx* zGyPw^F7g7MSjG7~4n0MZ(%slz+81ltC4Qg>wX#zdz^Hf-N3K7sfA5YMgD?dS`sx+{ zE+wZdY~mtn01JFb5*{X{gGmn!1fr*A%Wbm+hOPx}u$D zyjoi-45_; zp>`O1PRPDNh6k4ygN(pwYBBA30bN!Jyl0(y-%{$t*Pt-xt!lPGoL9S#( zz_EG!v>cTyo^cN|YkZprL|}2wAN1HhZ{A^4rhCMMgAy|7hEMDEzgql1Y;qD8O z*?wPOB65N+($ghWjZ#)!nbMo_8Q_Fs4=M49T2m}ek-#s@I)eZ5nqepYDPV~K^Gd1L z5Yb{Xz#1oLLW>Z&p!ASLi+xhH^4AMr+_*oZTRcj*Q81y2LR3tE$|^ zJYW~piq`0ye{s@h1e52oZ$iVK;p;~l*vEAz{mR!3uU*hYo7c58T?-}zLObSFL10wg z>-iF>Y^~(|UMh3b{}!=)2>tO{zzAZ{1~cGc!p|4?tZ6(t1~fJ!4St!@#hVXwpW&o~x#=cmwvYe_DutSzo)_wkv} zFzMtWDoI4C4v^MNr$M5>^63&zWkPSBnBP=Nrgfs5<92}GtZ*uea{13C5@f`ec0m0c0{z(X2X zv~+Ed4$@d)M`Bqg~fkPS*V_x=BGc-MM#FF<-`Yq&7@3 z?I~@Y4ixX|XGNy!VEChFgneZ(#gi3hzQ3*^{3!PXC(T_;`-qzl-q}$bC$mX_s*#oT zq3nNml0PHZNaS}Mu~If5R_Jqvy?19b=hguI!Ih%_)?4opF1LF|DiCT1z(M_N@#sj` z)ommyx>g8gfT~=fGAQt|V~2bs@${<7KBjw+=M@S{^})sN--?VO#x>lfmo?g2=;2uF zRKad}cqC@b^XIwzB$(r^t~_+e`nNMmr)7BKf$7ASTR2+_xE{^o=wN&-ZuAZP5I9~* z?p`_O2^i(;6k-qJ=@8g4kQbVfm8=9*R%O4wSJ-Th6-_ymLun1+CH0q(EH!(bC_tH6M zHFU0Rp$UWm6rP-`pr2aUg1YsyaI)wW1kPxgTH zR3R&@EG!c^!0!}*`Ws}nnZ4HoRx4D{+4OM!R!QK!m_VOCcx%^}d86d4T0;Pg=QEH% zz?fvSpj$`@J0R4B2QIO$uzM%t)69pzO@xuaIX87W44~5+*Q}3{($OKdGc*3}{|z`% z7$=92-OEq%KBvZ9N6FbKZd-cJ9_D63Y1FYx;Z5qob zs%xW3(tpM1){+KC5l|CEkT86>oB??_6>7;)Ap(a;MY={c)g`=$#`s-BtoWi@N=m)}kp6KGSGTFD(EgeznTCcP$phjI zo&wQ=mQS7OJ*;X}Qw`dcKc2RoT+y*^R1Oo}G?hMgGe$McyD>?VxMAQ9qE%xPEs`H) z!jP`k3S1fiwXu>07iKVw6E3y#ax;~;=8G-7NgVXk9#9Gm1Y%GibOV6X{ILhl9MFZ9 z{nnoJqQnAbY3&a;G?(gzOL64P8y)rP)O3?Tzh4qHy;XH$Zym${KbKdd*HixQOC3j= zq@V6%FwKV6Xzm=%SQ3qZJ0w1z)cx$vdXi5UEVK=)6<1K%l~Q9FRa;feI&tsWbj;~)1 zWq}7tr87kV1mdAa=N~jJI%@}zYm6>& zIhp`4QdWbRpEUPZvJVV(FvE8%mLH|fEC9~N|6>3Wm>AFa6nWhCMnlREg>lVnM-T5BuL4v_Cwje)TBx&_c`kmJV z2o$Ydtq%h&z#tBKYG(G-QxkY&-KmWUGSYmufGF(9kb*B@*|upqT<@w|CAOi&_p0~t z^+(!;MJqIsh~nX;mW8r@0pRy6>KxCT-)uUxFEb~ltA%VZU)hfEEWy!|eb8^_s?pA? zd+6j*18+RK&0Usl5#yHt$U(}EF zj&NM4rehNF8M8DCD}Y0*l*ANW>ezeIGmjMnW%Fv61Xl5hbQ+LmBGk!Yd?R!yV5hPM z;+Xo)-#^`KW-CR%vmOLQE2W4t8YfF48Yw|{#BesQMKg0&eQPE>!9_ey0<&Zm3)9jx zv1};VRZtA;tgl=0TN$w`)}C#AURZ(xL6JW`00>k;9RbN`%L)kQ3?^!K4!YC#jV0n0 zHwQLU|F(05tA(W)m=4nTVy-=PxgX!69ka=LtFA&*LGocW*lX)uTO9uY{1VA)SZjiE z(+!1f4yejG0zkgT8r^bLjWT({?sk9q=tmos(D8W(Mg*gCkR8C&aXw*NQNmxuP6@C0t(8t8u#k3mNpp^vy;y|Q zOLXEt7fqjI*_MX6nH&~f5=BN8a57P1D!ry9{OCX5c~^dW+UT2xM4c!(UBULQ)Mxbt ze%=H6E)t{Z!MhXSkGx4KoF0jv-wkNh{1cjeJ^yH^aHakqVrgLY+?aX+-vT>QA-W@} z9p^cJualA$<-kqW{!Ugh5PDWLxEH~1#WPm~Y(#wsY0}!C3c^8eI z6?D#xnSb?HRW_q_>Z0BRFX=qtAl1%@cfh5*QX#G6b4%f;N>Vy_k&Z;7LYOE@SUH;~-|)4UEJe@71V3or-vYcoS!nSSH0 zflSkkD#$IVg|xcC^xf-+?YrvN$t%q!80lc7B*DUE`&1e8n^0f_OB$J>v;s ztsN)}$qsf}q1eilITo0=z(nU&f`W+t$j$L3Bc0R*P^UyyYai{#}|YY=>Ojt!$u z-^ol=xR%R@fSwVG_F`OPT9)_P;@Ov}TPlDAAD>}CEI>G+0nkJ~`+-WtO}oDN=K4=P zKw9;@G2sr`(FmFImh97QRkAkdiyM@76Q64x;7V|2mskJh2DpQN*L^AiGnTx-8Jz)% z^UZG?ccFo3Nx3ja>BAz<{}OxjzNr+O&$zVev5q*Ya$?e1oz1#NKnwgwo?2JMmX(*c zp`7%JEw&rk--t)NTp0eG2?RymFHu;#84+e~4Qtq%*)uMDKrg#NE!(Y0(Ot07UTMcm z^W{wE73)0snZ3>pYU(?2Epfc^`N^#yA?S{>>4{&^GeM-nC{LjaI zpOs*at1e9Wc>5`N0<(5suJ>1iuu2_J{zRzwyAJWNd3liE!`Iz*vuU~hT;QVZzxf~T z<;P%=nw@ohes#_q&kf%KoG=i(^}=X@E|p8PxM7}BQ~xH??ns!Ugo+%egKMva)Pbol|tmj6eNf{u^Rqv6?xBdxbP3IC0na9QBR^T+$EPIzMfQ(6ALkfnXT zlQqnqlrN%@%IMikhVyU>h~wL^Yjfjutl?k*!A`idz)hejUvKP($?h%bQ(z)1;{$BeT%Q$_|(wl(b`HihO`sP*U`w(=g+}nWuFv{wwkGG#s{Jr$Iffme(@bBl4$CF`Na( zc-vfdTwQimALr8;wExn2g-QkEzdc+v&PzZ$l0)EPemNNOQK(a>*f)AhV{1$B;dZTc z)`>a4F{Y}Zh*{cWJNKCnBE#-&ct{;@YNZM_WQi->KcbQG)|x*%uv0>$6ux(iV5!_N z8XCxWPOtw6O0m}dq7;FodV9J5+ls;y{S1~eQWGH5K2TD-)yJLSidtLwPU{w)NZ(ri znxr(RNqfADw;Cj7+)168QJ>*55WNBVm|~QHFJ{6w9WC6`9PjFXTU#17^3x*Xl;{HD z+XgJJFqRpalm_Wg{;MC^{trS4si#Z*dy$AZodn%yY99tyZMvQ>S0IYUqfwMLdO(4a z__iP1&BzpdW$);HJ;7>)}U`o9a? ztiJFky-Tm}>mR*96&;TU6WQ=KM)>W+#7S+vTE4K!w!1}k5(*%z7#0T`%#bCUi1Vy^ zfYkV1*hLZ$D$pVn8@9e=P0zOn_cSjs^Jp%S4zauFWl|dc(o~*4gMJe}b?I~B9!oXQ zG%I8bYOB1IrLEKRiZ@%A>j<}XKnV2H&BsCJ&SE%9iQYNCK%#u(V0n9l7dl zn%0Pfp>NAeV68Gn0! z=P&t?9bGKDwwaUI!en7dy%;s6#m8`oe2RK$$)cnGm+ZSbQ%9J#OzTFfhLz;;W#^w{ zWO-rwz(0JciSI;UQQR{vBO8sFJDSdTXO#y~SAJ?jQPT}T9P1lk&P#XamMs5HD|p?X z;4R9sH=tD3*4B}U5l?5x*yaR&o8a7?p#5M82 z6vrCcul@^6hIjbcR&v1~z@jD7sdVP0e&UlCM%Mz@Sl&l{j?3k~5@#niXw((>l?(kqN%jMtcufSup1bY~`4HKZ=H`OH&yihJm z8*qJ#`W53sn)VkesYQJ+Xli+U?OZjfa7;BaNpnYtM2vrr+9Xv0t(stR|N3Dn4glbT zeuyB!4G4LLrCO85L1HPwcq&LI9s~9kPE@asL4jGveevrYZ*w|wkR?-U+=mv$qP&5S zbA5z7^bicT^@O#Bzc5-e&i61TotvZT5OSmr-ujmyYdU_BBP5iB2*h+}JGBUy$Zt~e zZJ2r{yqD$BN74~J-U}IIax&o7dCKrM45>?900dT|TMS3t_n%_@obck0d_v%@ek-hA ze9d;;k024}FYzq0V^_~1!5lBe{U#?iXI2t4^T4eXMWuGuffT<8Ln04d?M^KZi2rh8gyx*z~6@u3e zc7TPR2hii&qZ<(kgY9Q=?e74o%Vh@{oA>k~Drmx(Z@)Rw9>>kdH5gm7yAnH$MWoJS z6P|6acgZ%KUuk0}+$dSaHrUe%LGVIbz2Zj{5bNM&prP5n6ai=}^GZCXy?c%e%j5qu zJf9v3ycQiy8Ok=pZyaN46^-L`zggqbH!b($$xAW9vbDqHacGbStsw&ow z2x(&C>(rjd!F&G&)0$Of+&v@*8e~CX_43~isv4-H2*kBEroJg5oVsEMx&D#g)DPJw z`3J`v*Ym(s>^ZsjU;~jio%tt%`O}2>{nMDj_xOJ-i=?Ij5tCp$+vZ_tL(D&Eu*vjF z@UWv6gfKWAdfvJ_k9!6*7YXcSvHAERpPuCdJw{lx7%gF6a?OiOfHV;*+|6{PVhHyD zM#p7MV=!rvUm#bzxEuHmv|sFrTWw;ES;v{~Sn)+OsC-UzR*Dja|6+W#JT7N>x~HGr zRISlG89m*pDP5Sj;Zcj)a%Zz#gBY%|od?L*4qzWs-t$k}gE7-?g1^=6=w+U*HpW%( zod&Xrbvf6KkaCOU!Hx3VE}~zXC81D9LWK76yxY0SS#w6<)?t*tLZ=SikNINT->S$Wwj z#{GwPkig3GxQ>JfTr*KQ4RZP4FqcI@w<>BgZW>Dc`4q^^Rf!|cixRzfb-X4BfdWB# zTH$YBM&Sv1!iJhq5`!a6{94S)+0&f%A)7PH>ct217?3O^yTrVvB(5Q<4b$2!8N<@E zw`@26{(W6Q)Rnl!tzC4joOv!_7i&#Y^=*R!PTs80zw~rQUMO}1(phpY&&S>2_{)i| ztEQr_))eut&xb$x>GN;UC8NNyRGeSFZ*C4jz=5oA#vD3z9)(4D%vHGzXVB@sUId# zFPz;-Lnj@GOs1!|64PRR2NHFP{>M^)|M=N=5ge+R*LzI5x-d^}-zD|rElAd3Q=Cvt%^a$GkFl5?ZsA&(czH<32Y+|tJ9FP#w3^uGx!vHg=Bb0wAw8wW0LZL zZ`cNSj^N|1k-OAZpWHe;M4VL6VE6-@m~_7NCaW6%~0fqEM-5>^6WIQTMT{{%DS ze+oYYvVRa?WM$H!g^tfNt}4jQz*|GV7KjvA)FrjQ!1fohc0#0Sjz1KhDyJ!OU7ktO zl2(-Xl9-|MCAs+&Yr3gx%QNdxk?ut?(l+7qb8at{-%SimOK=WN6zaID)ckp<}#;tLnO9@7g9;%e zaEHVV=f#NiESX#=_Wc?-{(4#h6SMODsHER`+|m7SIDxRqB)Y-7 zL4cC#CJoT3z2G$o#@;wpk|atXpkv8wfPzkHEj%%>m8MM`# zGi6A1=%D$5cp;0uIkD?@xHLj*QQEiRvb6pf+p%N|V^{G9bm+h0w?ncEqI0KL zNwUiA8MB#d5HF=U{Zct(#nBbimVQ)nayNibnq}!TEeM5i!viSG*#y|NC>P zofex!oHJL=7Q<;b2DqsTuM$YZ00kGYwlW|gLBj^6ZFvnTuVCETc_!$<9yOusM0e5O z5F*gC3cs)nnEXuzj0n&ajyd_9d`yzgD9*yK8a!iuO|7|mT^t)ZX}qMQ%va3yVGhVf zVaGU#e(Sd3(1`6G{2u@|LCL;~J&z|n7puye&f!&ssIm;b8Zno^x6{YDhbTX!JQw(~ z6Qe-gfev(l{Kh7A&-#Irp2%4z3+MdNTR#1878Cjg4_?;Wev@FA`)_2Wt`#ZTS-`F> zg0eXX1u%_vcwN0Bto>deC=L2^97i`+meM^(B=ipBR$PZ?)2s+!!hvA27LMz(&h^Ce zk;2TG)j^Bh4f1+!7G}WmUVTy{{h4W;O`v_!_3Ohcyw&D~r7&m4zp;EbM`Kj-qArZr zKItbW_&a%hlVjzTkBLxd3H>P5TuMV+PB&VSGA$wikhxo+?GSM&juE#1`V-UfH+l^= zn60@#f!_iWBX3n-mihtW5~D!mfewg({KOwzLje z)vo^1RCN+p0JZqDPo732diQ-(1v%4Y{jtCrj^~&0vg{T3IYI|{wZuB`$gjjo`4xUe zhF=l7y4Ai?>Zdzw!+4&`i7*}@H3kK1Ye94=iVw%ei%07M)ggnsV+Lz1&8ihp4U}6H z+JmeFPaD-xoxKNPvf-P-i&k(wxkJG&d6bM*e)^EB$;e?JV!6TvsnyXwg*`)oLN?!% zr1F>6a)FdLIgq-i4xE7e)qWXQ z<>%mlXFhox9|)LN8BHoHWc&*1W@OXw?m&&6Rno+!B9D5$B$-Stk*HA|h-L|sLHS<%nsyeEWPCaBsLz-Qky(mbg(4feW;Apccmf_C$PA!RDV|gxS9=pREAoq8 z6spkR58=wEjo06EPp^URzZMW2Q(y$(%0^>d^y)6mi#=xBJy8w-l zjG|eUgH0F~7KA33YgI_Y0z+Su0N6a_Iz33SEgv~GlIqvQJ~da($M#XRXqN*1D_C0YD}Pc^g|hPj38SAN4gR7124w(Owk;Q8I2&(SD@5epa~m}|FuW+ zqHh&Ud%c{*BE*gYU(!^y;Z-Dqk>Gt5qd`M~4%mSF-;%$VI?zdt#E+8~{2eMcFM`9# zSXn987XNEqM$d5EG&=5t@l_7eTIx4!-vEf?6~sth`DX7g(jy9Ie}Y_*Kc?Y%V#i80dJML2Ql-ZhZ5`iLI^&ee*Jb zhmp!3RTf63yrU%KC)ZY#{prZ=n9~T|n8)TJ=Ah3| z`J~qVr#o@|f$eoS6ahn)~0G{<72R+iNF`CW1tG1*#=B&7YQm*xq zr|ZlRw^-&2V39JVQtcL0ecVFc+D0|iz;q<6s2`0crG@>jXa%lNsGAMlZ$-+0T{!X} z&A0rSOdG!s7bo~{z4NKIy`_mhp7~h|>NKU5wSdtNs}hIQ<>S9OcRIwU_ZOG0LridF z1a!gz=vzYPOofm+ZlDK|?FL(!^`XJIQMw~*2K$Mh?50q;K+6rVgK?j%K6@_r$&uN@ zSi7SDD~OOVEw`9##s~v)JoG=f&!|^-0K!lXkfX(BY*z?(izxUyF0G>f*3*RdCTFKh zKrP4wcWUfYJ5Ps026uJ|GpL5ASyg3yX_!)7kLA_KCIyYk>~{fc$l3?yCBr7lRzQ?^Zc7 zJ9Y2-f&i-E~@!=QxWHy1295-cOMre3x z%3%KoUY_P1NB6nR<4t&IZWr4fd5^3w3bHTauOG{fhcM3gS9)xlF{O@bKPziF!SQpRp~>4&5cW(ij6f zv7Kit#w>u400S{(tbU*n?Ly4c9Rj>w1g`Ta?{>~Olj62d^LF(ea86q6ZQ4c3gI!KC zD09Q?q4Re?TXZb!n0Z{mFHkTxc#Vln)Zqzoe3r(MmJ|Y!7Z1Rkx45-%?Y+Bpb2lDl z`Li^Yydd@DEDPADb3PO3?ZfflS~)#J&OS=7@A_D9Pnw)(fU(dD$q@`sp`v|2)roi%z%XI!3(BZBLcB^4i4;uu(p7`r8uD z81yL++KX$j64(#pB)S>ueXg<6yrV%Dfe$Ev{BRid#Fu^AQricTr~MXWM{jcJj4hrE zc3aq#Yo&PWkm?!8Oh%@z#7&Hy-{Q=>tr2*xtKSs>*1f>8W$SsBmIe`rej2(>6lv20#ys)6=#j?5WLW`TGv^l`pO*wI4TJtF&p z=+`WtiMpMOS}TPFIHD6QNsc`xr7Gz{3$EjKD_s<+2rgr?wrbu&;%dUnD@!BBa} z2W=gsH1>N7^(=^mj(0wr#}E5o1moFSj|3@SlSHIUouW?1L9(VZid#c=h7t)OkwME- zU~2OTV53;NB5U#FxHs&6!n*C>?%r=KULX8`RjS<}KejgKQm3}xIozW_*ntl`fc)Be z(ZtX)sszls-EGWKK>st?4m#rA#rFrLCK1O@F3aqhkYhUd*%RRR)HHw7j~tg=&Yb=> z7s*@&avZT<1+L>anKqsKhH81g%}}@;l58f70k~?v@jD2Xv(-Ov5Q7tWVCynT4+!)IAE`P z=lh3MBc$JTbHdOn&HBgW^_TKEw*ey+YVfABCUctSnCeZ143O=)KW(4EsBpYr_aCNu z7o$Mvfe%oC{MY5WCM19v#lT;jpZp~dC#47lmTzmHo5_aMKmRx92eaKy7^yU0=jY9Eu92GQ1f(mBX{&Icrj zxWR6DX0%NMAKXqei5fU76=O|C{mkb+gtFmHPAVISQ;E^M8KnW5*{xUv%U?_PB1qeN(JWm2oM4#wHBlB{&jPU%<^<%so!gz+2JQSbfrrjer z!IB7k#P~gQbKVvm=-_!*^`>`kpGc5e<3Cs0COn=(w!^_Es9vl_R0jrYw*>p#Dsbgp ziOUGknXZ9#++=%LVRO?TZ|xf~yc336R!9bhsYBZ!exr!?F62TldjO`N$Qj@iJIS z7$z3!>P`tPAH+5L8)ckdv_-yn^R`^gR)9u5Qko&NO5X2wgBfyAu_VOsy@ABV%zx%D z0dSHx(hz%CcLKr^y)m7a`8W@K)LC8}6+D(^KE`oMRU0Mcf*y}xBk%FG|Va9c2Iu1qYowK8PKY;mFB(;!zdK{U_}8@YtM`mSt_%P{@6u zVL_tfOb3*IlPI_5rCuzENZP_A8RbECoX|vSAPB_7a@p;F3z`3K>Y1p}zx#sB!|v&P zQG5oqk6zGd%$2!eOEMtOXrNSL1yHgmkMZW~mxp^heho3vfB?kwQQL))RMLNG3bmdg zvD9=l4Mk+a{nbOpHtNpZGlZv0p}tRiB^N}00{%<5mk=0{=f&(@2%D-ptN{pqqd@tA z4~&5POsmYVYpoXsV`8j(Q>ShAd0-lxgv;DA6v#9{TTgW9mPgN-cBI?&yLb?_7rh{F zDelotyjaZz+mCWdcv+jSq8}{Nu|rkZG{%{NMMWYI1B&8OAxry*c=-2zE-sS?KK614 ztY*BZ9`>?O0ub|z@``mAd`nL1K9Q7gu2_K1(()v&WjB~4b}|#mj(1xJLs;_~8x8UJ z)4QA+cdyoHu=?;7qeH*Yj4aY2mD7YOQGx6o`SxUX*_)JaDA)ivUL@9=ywve*=NU1D zUN{S$rchr#)VF*Xj#SJ-DR=~P0s$U|Csuf5L^i>5@Bjb+RaEu=qd^;i51@ejcBb=( zG{RN$jlU{s%b{FfLg6DXE=m>{o!PK3g;c!F_Kr6`?(sxQ+nifPRN^#(L4`Rk*?Or; z_mRV2j>ef1f(vwPDX(QrN0vx$$c!i!)WOt(M5>BYs0IltDgw^Tff>?@6lNZ-k?*82 zY&xLX>8gHtUU7~eDJyAQ=*9zB?tbv{l&=lAGg1LX5q;Y6Vm1BqV9B~>u{q?4EEx$C^zx{YXaY_-z zZi-*_nV8D$cBNfe@GPK&7_nJSl#ixPeuHSmS%yKK-^-wve2~N?S)f?wGmxb-+Rozk zEv>Hq;a|A7{k9iEz#qX@NiLpJfb4qd>la56FQ0JY}}%F5!n{?hl_1 z#}T8Av9DS}I8GRUI?unO7fHv}S z(y!&z9^b~({Hjb~qtCn#5Xc$$dbmM3m2uJje+Ew6)&8d@rHF*|$-lqixR)@YJV#L; z3lq8zU`e*yEJX@#5fHjx52Hb=fe+k({C1Mi@gb6H?8ojt_`1hx8TN&Pm`;FiGDI!sTU%I1KR*Y9cVwWG0 zz`MJ2u>M@Q{G5|mZU+(Lz|dJ)m^ZFec|uFA09Gg4aq$=;_R0}iX7z+$2Tae=!Z=@9 z*mnTcBNQXcn?Y~hu}<{TuRwGoDyV`h$l?Y8sTuf4M{wAZh?w#~^yb ziwhQEo0hUQC+Esuw*{+5WW)2*@X{^&#*u1rFW>qfzk_1NHRkN-ycy(>wd26TxMr+; zor8M|eBHTNTQ^U#VjG5G1NA2B4;aZOy>_H0Et|4<@A3M@tM{`3IaSSRZ^IH$<%Uc3 z43%8hUdDA7j%T=0PUCqYpUoJnh~4Zj0BYI)d&pkcCvf*ruWpIqc3%7+;-G(b8tI10 zdYAIT@-8j>SHz1jmw5lZ?H=54pocx_F+Awd&)&4~^+@y(C~@HclR`W;4FGQDYu!~k zbnD?^ax7sp5B1i+L}k-{%bR4yyq99=C!`m;7wngMO=L1$_(2CSEmtP`c|~wgkHjl^2c_+A2fkKpQlKar&d;eD3{3= zNGMvsxFss;w+Vt`F%N0GCYT-=`!Fd3iWq-ecKSL`VBiu-Xe+K6wOf8O2HW`bqr#*0 zZ-uKd!X4cG6vNzeacRoPr09-q1d>@W4^vBNHnlB*B~padd)P9gK-z&21c3Yj1c~zB zxPA@UPkV|LIn*htLiZWyg>g$!I@~iGCC`oi1=2hl?7`x>^Yi)GzKoZCNVHtMmIO>} z)nwd=ZALbgaKmJ=8rq!*5ZzB{{R6!wzqa+dKbFG1`kk_Qj01GfIr_*9$4fDNsmxz_ zU8C}Os$j~Q=qLMr%^f7`;16eKpczKt1z_$&x9e@W&0Yhua5tCtwsRAlfU|;|>j}#dkcc4*nthf{(01_f;EQWXO23VMfWbp5 zqd>5M5Ey{`6cZLc5i7u9Q1UxNPv_X?Irx~g7S&(gPKyY^c#@u=4;)wHgstJ{>}hn> zjh@L3h!J#7mVzB|W&nl$=L!*^X}ptm-8{O?wlGHz+AH-Qa*FmgEo@~SdN3miQ7G*? z_*2xm>0%($ra;5hij#xQd z=Szvl99~JRhZ|kU+ce4D@e5CqFMY#|?!A;#c}Ny}6>YW}`I+JZ~(nf+r{(Iek%aM8J2XrVnm`d^2VC>{M?{ zZrKC8waTw%k$oF5FclpI=X(bE!IWi-#!u~Se+sYgT--LJK+}N`K!E%{gv60cr5XF! zTxf?nx+OA_we+P7v;cMEAssmQvd8n?>Ya2GBLY2G z$K@d=Elp&_NobGi$3vUQy8liV3)FSb4AEosutZEajw5Hgk)K9T9`ipjWaVdfY}i3HG>qztW5)qE4Mr!nzcGGX zJX=zmb>b3Eh_+zDoLe$9=>7UaVFn3HVw4YAQV%>c{$!A)02k7wL!&^%fe=)H{1pO{ zk=k7$3%hta7ld*vhkK0ld0EP)$k>55TY8`vjx=R0wDEu#l5IMmt3Tqa3~0*|5VDz$ z>f6#xY=|7sXBWxYGD|NlA}rHYIv|nbB2!>syB_*Or#eH38UoQ@|Dd6$BAxBZrU6BY z*|99`uw{uu->Pkj*Qha!0RoLI(?eNiy_V_3Gr=N>e(uSGv%ixEJ}wVN_^jym{3k*5 z8S?Yr_zwO;IiXo5O(4RK@d`-E>Lj+eINZSeRr6W9qd?Jt5NLq>+_~VsISy37)nb`U zFXNzK#6xlePY0taR3jo&CRK}5iuOp?0@Dq zM$?Uq;yldFL$->(WM=OiVu;ADSLT+WvodGGG z9CV6y@E6NXU~fcn&_t`!J4U0=e!fsMXjIdT^AcAyz_>*C?p8!L44Ci+O~b&4#~Uuw z$Gz;fzS8K+aI#nu4#p@{NnFjGM{wXIsVyNaLG+uIe{@6@qd?7p5PX3A#$&k0$g62h zwrDW6zMdpg5yi+blypt@=tqXz@rg4({+t2{)QG(}qhFlZJ@U*JwH-_U7v4iXxe}s{ z(j1D67MCdOI>v;3B*sgc^Zwzj9sNCty1dCDK5>vX*ft-wVUW?bGCdpDl9raAYvl)^ zXr)-{P7)rQ6LNM0fLBwYy(a;^CaH}MrDoeqMLLg_ijl(U99T{9ufC@ z@M$_h>QmMo$&yxdBsein$A4K83;kG<){2=39cqWxm;R}dqd?h#5RicU#$&oW1_l8C zWheI#xL~4wS&b( zVCd(Ana$)$UgyWGy6Wc{F&0@i9@A7T{rrfzniF6soOzj35WP_7E#UXW_o8J~g3$!Q z4e~%C8rTvkuz@`aFx=I#Q@NsH`t$V^ED*ALy``2b^#wGDZ5i6$C;;$~`dI-Iqd>}m z5Ttw^*rgtwL)+vE)zGFynrJ^wla;aT~cwO2TGqJ zIzOAqjS!ihx`e#r<9e?Q4|!_hEd?ShiZaTH-8k%UQj}#6q7+Z}dWp&;QzxGdSt<8pvrZO<+n!(m|49P7a3Zns z^!OO&w}P%~63Tu*yg?l#c%-PF+|(yHUtdy4+%a^a+WgHRMK`qskYMm4wWW|NxTGfz zYDIzwnliewW%IkE^F{%$WqWoGRbODk!YVj6ZnT~j_6?kf$mQ zn{6f>%?|;HY;aQ_ZC>(Zgem^Run;>r_f7|oP94p@fofGm-VHlF5@&{}L@JC4N$>%F zfN}FZRXq=*K(c`l;DG!wp|=F$ZR(?9ctf9TkCEj?=K3`P`f}=3LO=rTrraoGjuh@5 zx)VZkcUQ?f?IFIg0m3?HpM zL+*SF0!6^FE**FARd|zC4_+xKQ`_Gz4NQ9lOD^twZc{25aejK`sEmI9$^8=dO*w*ZLhr6&(Nx*qd>WV5cGij;26eT#lUD9;<$rC z+z^#C!H8V$y2m)+$+DP~gvZGq5ZQV4tPwo2L?IhJFWYkxN+ zLdr)q!iO^8torh0Et!u=V>Ozmk`u+Pcdl^Pv6B_f82cC~d>FGM6KTKw@o$xN=v>6` z-P=++9m{Y;p0)-Qaa(CH{9Y@Yz>TOvdtm=oT)e0-4vGRl+PIq(g3}*Ak487`T2FNN zWNeUrw6bHH{a#cEqd>`l5eR_%=RolLGDcOyM$aNM`@ExGQVIE^&{GBY)ObdaM+v;L z#uN4SLNAgjpK29jtnyT$nn9ZvpCR3zAnw)>d=DPZ@!4&WKcO{q6h zI)>mi1d~$%qd@3^5gdU0(D$Y4nj5EO|HBWc1+*W%L>)`yYlnk9swokKB;&;HVZ#g( z*(EU3uF;i>f*&$)-|uH1DvX%IZsf@tCkpmiF5y}Dn?~j+@WbmGha^jtCbYQp7}#u5 z@N2-wu9q0@Bo24dA96U-I_M>7bJ|tJU(znxzVZZo-rc|37)vksrNclH2awwh$ih;{ z_8zrRo}v{O7aQQInt6OV@I%1pPw#)t5J&i*-VR z4hmVIKdGcTP1pnH6=tS@;3hL_m>-3^58r?{%;XX`^kYB$7S zYf>`@wQyag+iopUG=0t%w!h<@_M<@Ofe}Q2{L%u4saaW{Lf8(xL6Z(9G37%T$ELML zC(?h85rj_5VAgvzFRUH?hB>pqe_H=p)r;=%mR5DAd6ipOElZ8FF&yVPw1!G~K63c8 z2)6CtwfV8F1CKJBD8$aM!dVdU4nW$r?3bT@)l-+f7mlL{ze75ENwD8--ZM(HqyVg1faOr|B+ksD%2Yf(Spm!rTKxySMln7AlJH=#1a z_)D5P+2-($<%Nm=6u8#@kKqad)1ufz30s!&gYnnj0m|(bW`$QKr#Yf#N3}N(%8mc+ z3on!)*_$J8eW+QPT@HwO*S}xU9gMM$sddE#re3e1_n^n64lzpZGQNDGu^gNi@Amxy zdmF_oTVzqhMWaE!fe~zg{C;&C7|i8DIm|~4`E>MeaEz7&10{i{)JejWF3H4Y6`KGH z-@0yO$9egLK;@{|w}DsRpFRT9xO^Yqt%6%ZIMBxBFc&O(^gIAm;qtYKw57X|%*H84 z=(UIIGs(Xu#KNY0rRpeJ! zec=NT%fX!gcziuZ#$(390gB%aC;JcIaUyj?}kqPB#ubqv$yytQh>Z z+0~boAaTS8k2qp-Mds;rH*p`)RL&TN*rv{N{)7`0$B&o7Rl=q6H6LlAuGO8M3jFlr z(;9KWB76l1RM`FMKT_*U=B>|9kh{CTJHDN1(nZnjAxGOB#ZBcudpa-d&z3viv7k%x zaw*}D#?Al>Eg(ri1B8Ys^H*1qLJfnuNbhuk?3jW$2r$9yzJJ($AT5F%>DM zHxb97A7ibwo*ECq?XX<@-X^Spysra+bqF+N6I`97NX zwz+S9a6MWOTvr{PlcMfF$_|Icvk{Vq6?oR}Vj+e_$Dh5EHcb0|9_ZRV&9Lq7b%ERv z9oM8#U(j!|3j&q$s{ddyxBEbmD^gg;NqsOL_>ZGN%YhM;fczAHg1;68_ImM3|8{Ws zZWX@3(xi|NH{dNjt?m=8Zb7c5?m*h`Y(ybpC;BhmUN@2}m4T(Ww+G)QPgbhT5Ddso zCyLXoVy?g1gMg^rs?pbF_5#_ZO~jkj5)_;SV~BUMCtvtw0ft> zy&%=n4jfpzr##VM3V{Z2r?%9sk!xU#1NxBaqd^{l5vYLta6zGzxl3&+;Y?C66xD4# zTR>s1?RP*VpFnYgGG63h`x@W>H|cL3%n^2T#Nh_=bMEEKebNB%HprGQ&cTtw*j`$f z!pGfSBk8kjGtz_~6oMcPRlXNw1l^+eh`Bi6?qPw)q&M!Pz?ogX#B+DFts&Ac@(6cs zP3o%ELi(dNV(lxLctGTJI$p3)?*s{Zdq?O^!0;%NBj>0v(ORQbS4{*}k53?DGNly-M%p2hLyLq*@c>9c7~OS<`BnTDdv^ zSl10goJ&P+OAvRYWym3EgTT=kf%MadEYlG?lx1MJHNVz<0#Ix7H)Y0qcI_oQWF@fr zl9sB0jiW&)ff2lb{BRoBh2=r>fmprxJ06Gv6fbd-aZaau#)vh`X9M~76{VVkUYTSV z2LzcCoAdNbSm}=vZjD~i*qedr#(j%n5$-fqQ*Q4OwkF_C`;XT9eI>*T{ziUJH~a%z zJ!tazAb612Rr@SP>v%)-aQbMz{Zsn@PEauSB$;)9XpjU9=$EpPD11lLlQ2w~%Ims- zSf}6FqJ^ZR9h4e-3Hcat>1Oz`7^jWiH=GQAQxsQ(-|e+E5)Tyr2W_jFib=wPqgS)ldjBe=V9i+>p+3);h?ftrm^}V0Ht{o|$kg!-mUjRKgFqGe7gtlE{jo z`~l6SGz?<82u?5z*s~0gzyGLp+YE|Ldfk9+Li-Yd+g(`6`JdB5u}Zdi>3taZB1k7c z>;u7hCeo1MSRi1bn%8I2eDFcW0k}u8A9@qfcAwevn8KRs%tNL;Z~NPvs^+`r0x;{3D*x=`%cjIQ_r22*#wGz;0GL4RxzFOX7HEv-+ebsXGy87Vu8eLoSAYx z6(jgk>etvWDE=_9J4i|pn$eUI$bivFvS`5<&Y(Z)0ZM`#RhBfJ>8QD7r@t&h`JRfi zCbdfctqffTj7H8k4-t>UEjgp!x9R`4#VB1T-3NsSg#v_5qd?Yy5)6R+t7}WGFHjKiYc6M85{qgR7Y=Rjh;~zBZ|HN>WCE@aOUZ8j_?`5jonXu-zz5` z!o2B>K#8dChd(`cj+Ep-Bwyw*8Le){Wp7rgX3o&&@gp5QMep2BOSuSR^3QwVaDU*Q z9kZ^KwpJ7}pMGw(b6f<)#N_cLhYY#$P@H7!zd|`KRugo3Uut)Xllk8Et;8zruESE_ z!!Q?3^1|2P(E%N~6G54pj%23H0Gb$?vl<<JE zSlbRJM7Bz&7QNGsnB{D_ir{Xjxp%dhy&_(U1U-U`2eVJdF)L&oB1&+<;CD*g=&m8w zjSIC#rXe)KiM9|R_RN)tAi=V{g`Cf<>xnqxL{gzJQ}Z#eotufczIO%NB}> zJ4~#^7h%?Ae7T_|$$FZTmvHFkv>P`nUSm`xSc20yQrP{6e1>a04w|*&8iIPUbz6;& zsAw8w({uN3>(KpBoa_;C@%TKpDIpZP!=hG24+v*Y%@Yu^)VCy)<0;2!>p6AW06myI zZ-;3iTw3o}{9p}|rBF0;F|}G!m6!(ZVFnldgj8~XrZ~G@N-)S`W_F3ecz&8D-rD-j zp%h>pN_U6pEbTtM%s%G0Ap=UwHr5r>)MB4O&?BQj#(@$@fc!!ps2!lX?xXt zVBSt?C9|MFV0&7Hice1s5_~E}mj*TptAYCZVQ%qQ2-FVC;>9E6R}Nnqqx3qd9hL{B~#~wdLZAQ#I<`}BnmYrK0rwnU4T>w zcLL+yqK!C^9c$zJp)tK>yYu}%7oJYJAAJ!J8m!@#Jn-1dL4aj!Ie5cvtLB=>mo+@F zCXLwdAEx6d${E1`jdeknw)GU#Mxn4$ zwzL%adsE17atlkyM5^Dn{BmU|Q&u11rfYUnrW;#r7+F3=0t)8vD%V+LhGYI&4Chx zfc#@*Iy`9tJ;Z7>1@2@E%lR>}Tn)r}eI)ZNI%CK2>5|pfRY^hK3j?%5P^HbUl~+zy z97z_MW?m0+8BYbWU_(TCwOFt{LJHV@3huHV5g`<`u-jWzZb@r~_-E?Mjs>uMRcP%d z9&jV5!2-=tTWli{;bJ-R!C}|MpfhUxL`b}sOk^kv+72(pCg$!wfFnAV7iLgGp;g>Q z%cp6#fFM&xkh*v}>Bc2U4G|aw2%l>GChO%8N_D~#s%R!L+bBu4m+8G91stP5yMYpz zfc#B*($d6qp4h_14|`x}`_%YqzPMWOlNPeA`OZ33;EiwRkZfUlDX z$u^4Vg5wEI(o{AqS)zOg*?_nS4$mvQCxBD)tT)U>lMPaU_$S}9b{sNUjADqP&d78j zRi;!MPoFUz+qZ5n`-S7F(wapZn>Z$zJ6_w_$=w*Bqv5gM(!-KyVMJy~m4Q6^`5^Ih zR$zSK1rP=02P(yK&-vl%Vo(1h4_OskEN`z$qd^RT60Csye6DpT&=j%IHFbdKqK4DU zY7Ml9QpR+g#^c`)I1~30BhPlgrB;v|kB1AK)@l!|6Y4gxG;D~ZN)#Gd$GO$NyLT6* z4_NJrbn}I=#04k6=`5bNP)gmA547W4uCQfG9s{9e znlttY?HH`W2P_TWpj3jT)gX?T&~BY0tiTmOw%?omYviw%#=@3^V{fZ>Tne}$S+6YFSQnePDBzAdn+@(t1t2sa0h#|`;BL(+Zb55Tw8_q$L zzjSF{{ScbC@Ci=6Y#$oAmvRez+2{$C44n_-GO09;}Nl~Lf-hmR-fc({d zA-EcWMeaTAF2OR#w(hA16HDSyosui_I99RCRKHWrNS05#WmO+YGs^L4ke7#WqNM~L z4J9jEa#VU481MRV8HB=07f$gQnJWt+_w0$Q&|KDruPm_nU?rf1T=l-a9m3iBz1U@a zYfY-GeZ0YT4dFlEv}iOnAX5749ii`lyozA3jk*0db-@2CM|);Ayo)bxah%$ouhz%B z?7L!(sl*r4qq$gKKRp1c$N}3rLDN(BdQhGQ7_pw&Cc_8izSIG-fU2JPiz3>G9;&*HVRN6u={~{3x{iee# z;y0M51E+K9-`?f&iy>S21%gEe3}hEUrK)-am7lq=xM&5$(sJOhZtN3*w_85O0PD=T zLMeP)y>*mX)Q5QOzf=SpNUcrq1Viz3TUAk^+KmU(9v%bWc~@RG{^IfJ{o%v8S#hG8 z;vP5J!jVa-BwI|60$aKH8nB!F{2#SI`BdU4n6Fx+K)itx{DAxy*l~{$#2>8Y_SU;q zd=N1Y7N~zpjqS`>b0d!2WnVk z7SMf;8;V@XBk09nQ(=mW=ims9wO&+@`pM~&XnI;SP=Rx|{#E?lW=E;kt-qA|y3x&G`QrfI9D=Hto`j#GV;?xGXvbTPT;MD#w zB2TxvyyjZ8M>4LSf5W3d$$=9Pfc#U$zX+3Ihm?UCw<3*57I&2SQHz(`%v~uVrYwWz z>pj^lcXGKsxkhm9gjrzxNha}z=)avyV$sfT5cD+$71HD8@WP!7b;r;-UhCAL zKAxibER?ROEsmZ{fK8N&p2%5z8-I0HQls;Jd(-w<08GlJmwzm1S& zd+XHY&ynJLswAU9iGdR&fc$;|Bhn#yBmRzSGSTc9?8k=%K!1p2Zxe%OJ#H|c>dLN9 z_`x5gqY$HRp#YtzWsHV|*>(i58EaiaXS9maL!5vPw_j5bAG|abddCsJsemA%AoAQ3 z9Q-9ZL7(mnKA5xa_I1*xo5$bKMLGz+!**j8g?Vv5xA9xvzb8)FW=dQi^=80PqZ%we zfZX0`+{fdcBo}fWQy$nS;C^nJW8F{>6%3_fI{HvB%0KFrgv^bh&o1r8=#u(ii}C|0 zXFeD;03MyDBqvA(O+wKw=JJ7F{w;#DUYNV;A?+)}0_unlMs5Vn7#>c?Z&o6-a3V+F zigxgvzf7UK0nMvEgNWTNCH?A)d(=gPuStbNiCI_-aWAn4N+KseOj_kUeNy36HedNi ztr_86(*WIsd}L{Q*P|&xc$I$wpz}e7`SBGYnUBZbDUpyr3oT#ON^_3Z&&B<5Z$6UT zr`%L5c6Cfya%HvTvHB5vuN$E)0iyshes>k(ViImmn*!2EZ}s&Etd*ldQ-KpWfc$U~ z%N%upHcy1y_dZ`h^2AhN4|}Xu*qUc&gq11wQ=i~lnJy-MvTI1&O1RM<7kQlxEcjvo zF-~pc5*DHkT#N!763JCq{R`y>D{HYD=Lk{B#9FCP9Y zBVIiO+#iX29+?Wl)NBrYSsBFfqA*^S=m?q0i_LrzofUaa>@kaaZMvBelaoFtNm1!_ z&s0jiRTW)l|Lt?qr6H7Q*+R02Z-B`{p=y{OMM9eNg%TnRN0b5 zPPpykhbCf4*&;x+4{V!MJu)mpqd>!f6HI{oQ;Yq72eywFF+_liegMt>hQ_?srF$a& z9Cj8Y4Q3cSbC2SOcwJOeDyPQ>T0E@Y2YH^bRe>%2+wpRxSJ7=?V$*6FPvY^5%&%<* z?#2tHFQSJ+L2XX>btM!t9^TMFUYqS<-UnfKO^Tq5gE(y83dYO=HwpsH0LH4LjcNtx zi&Lk^IwYTWfY`3~`QiQ5>7tqV@S`^&AjBYk(-NB(N zWZ01Q{*_D2zh9$4Wq}i5fc$Y8+57Eke^EwQqUDGP!hBshbf-`~PdW|cs9we%!Jk!7 zG!^T35JCpCGlJ^N*=a~@cLtnTs47-<;m&0)zBN{ODz9e1x0nH|9qfp_zhY#spyt5K z#lxYgU3VZfSzTcu2r=5(B?o^7fg$Lz%+Tx# zgGMmKD+E76d}?7`0&V{U>i&9HG?<0&fw*tEuGh+8?hg;3!j$H!Q}E!Lp~F)Kozgc3 zs;A`7{KAIJ6LLB3+Hf8OPRXd@JZDKC?^2%J4Fa+;7RZoOiZ%*vMU`&d9NYdcfIJ6% z1Hiwe<{9GC{l*XZM!*GI{7P|_}FfE>4vYuQ*NL1fA0t>zq=20G23Y*0!H@o zWRul-=W?S!$bl1dfc#Utdhl^FjIh(rs2fsWWpLOwwTY z9_+Oj#x}Zxoux~n6tM*75@4WZI}g@^Q@;Vla8SlGh-!KkY2!L+`f||GBvV!Gybg`T z;~zt|bs*Wy=YnCCqd>)h004meL2BP_$U_4=%Mh7@+A>gNPJPqV9naP^Yh<8iBNv_6~*fFKio zM~Zm2bRtx#@QAhYmPLY?TLTtc*#BDoLL`2xkgfI)+PE0%&~~%Q-wy<}+FDe#NPtPb zQY1m?uo!2U4}kC~Wq+_QN3nIP5QO9$@iTrByb*ro_-iRgjwD7yRjD(N*q?XEj+pvb z36sz7qd?Gs02F}y6sz+@jy1291emF#0#jf;U^+%@nLzom6j+B)6$U(kvjl zD`L0CU`!R8kFVA$Z7CuxOQ502Zf6E(oT{no_>_NZJd!xVLED4S-m%1wW$+jPZS@#m+#jxPsp0#n)+C(+V`f{gfNN{oPHo#$+nn0AZTBswwr$(CZQHhW zd%pV*cCxdwR`djppEPz!;g?|n)w+J}RP}xA>TtLGgnAh~)cCh!2M1Um`vn3wJ2<+6 z((rTwiEZx!&7giwS~`o(2-x+2B2hhSautl|=Rf>POV8QTT5Ow)YC zui>Clmnf|hADSd++_%_-CJjHDHTvE6KT}TmU)1{5)?V28{Br;xZodzx6m*bNq6wrE zvnEP@G(4Xb@tY?%n8)lwp@cEQR*J303z=G!aII){uyU9M+6S{#BAz?N{oY(&v+$QB zfB^s;s?8ig*#n+Ey}-}jL4sSNdTJ7MAS6@!L~gLq@KzeMtvX*JY+Kou9ecbq1WCC; zu@DI42ljLn9B^@`F$fNx$UxnNHnI?GzQ9ZBa*K|_?1T8NM~VX{wpASLSS+f|!!V~c znM%XWPJh5>ra1}Wtz^&3GnubX+OcAhYUii&P5iIH^A-Rk_rGOZ99kV-OnN*C}=s?(6!~ zYy$Zy%n$xY{0hQCe@hX8cDI74FA#IzkjIH07;?91=UY;bq z;@O*wy9YMU#S6~>cu>46qG+&v{DRzZl0&z)moPO^_d}+7fJg3j9tD?m>RJ^(6DB*&12e4dcf$_8=v^*wTit{dXR;yR0z6 z;e(=)?dMF?Ys#AOFo|10`)2v54*p-@F}6LI0kMkEmM@&|wiNmGU~L=MmJ9+Khkgfz zHhlX0f{bZg_arRxOKsmdHcA!9p)dBD`(L7KC$0hv3CC48|s2T&T>W}5$#e?c_URdk4kc#bV>+MXM}xw*RsfPD#K@NK%_+xF4S5D$3Q|Db)`rj#S<@Cn zi|CqiJJD)>Pr+DOdm$iaba~28XEWdh;pvC_!$rz~{C9=zS%u4xL{PsA_ zP~;1#_j6@YYYLx{gOkDZ@p0up)nBcv3|C}TQvUO4STL#UVlmm!#|Mt3N5)R)ZHX}U zCcH5dWJ{0Ka1YyFs$_C8T>VI`-8f_Ymde`b7`%3AieL)N_xYu~V;P+FE%vpU<({r` znbv+8X-5UN`9>Ix*?KK=%i>8Gep!zjVw#IEaEVYSjHq)Dc)K`!tLw&awV5M8CR&c3 zF=r|vX>34Jff&Y)+<$!!`X^M-F6Isu8IP0wZO#It*rYR{z?3h52>@#N(S%fF7ucmR zMk2KUsKT{~yR=F>W9_QIZr2^I{m}6DvO`t01$8j^uNX`Fx`aG!&h-u<8{v~Aq?E%}}F)SZ~V6NC8ir*I%$AzayLvZm$942l? z>?OQTODpn5%F6gsU~3TL}&sF-N`4si?*ca);Gz%cdFJSvVG!< zb5(;sV+(<5b_iZyGE}w+C^yZm%*Z9Z^;jp9la5ZjALB~RTj%Zy9Fw{2S92dQQE_Xv zq@^s!d(-V$CZEXyUD}N^>>WeZ8SZgX&o8d;d<8W5Cqac>^=*USGKVR!a7>5UYgE*m z4LxS>ulUJQurH=$oH}uANY|t+*GTo--JUu(Wz>>gnG3<_qqy8NDf)j8;&RIf5EcV& zX1|6o`rklcuC_Xr03Tzi(qXdepG~7+Vm!i`_~C(q@Dp7b^e4 zJFp_OX!0U_izDnSwTSNXw<=3Pz`=Pk=rZ}KJo3}vmswQQE27#wK^g@@@yMK(>=8MI zoR}=nvPi^-*{2VgTLYHpSK1vfqrbynxy3ALP_YG>%25+5%*k5AEUoe?N=g?MFp=+} z=B_0HLK7&#TFWRG_%$V(Q~ND}hAgDxk?!A1CyK$0@=~B0d=)i{tOf|(_24qGf*}a5 zGv2~KYqIF*_G~9LqY86;Nne?EdlwChz@2>=Sq`v4Hqaap$2Hd<(${Zb1vpV~hx7SA z06;f>9}HAYx9JQ!H}#y7BqEq)pB33bVXUvQJ|=3TLxj6@3V5C6P=>2fc4wbr_sMTe@A zEF~6bQz`t?go1I|t8OA8UKLRUfj4qB=n6cQB*f;83dF*o;+O35X{%r-N8>u-0lixSJJ|2artu%G+f zx3PaYuR#F=vwRr4mncR`8yd1_+&Dx)c9^x9lp|!-l{R!O`Z4kn31wM!?m0i}1pS-b zvl73&cbXMi5i29SyQcUs5d^x3Qwlq?Plyy(J@g2H`o+Xi60+dLrkTGl1l-h|=hF8T z;dVSv#H|=~S7P(nRnt$MYQ$6DF(v+#fvA@mUT1XrhPq7X>_Np?Nkd-;sW_Dde5J_y zGBe^hEn2)dqv^){qo#Qwj7Cwc@iYlS+*w?}sYUBAx{*LHI#R+Pe6}mDq;FOZvWchz z#R#nv%K#ETBB_}m4YW^Il<3+u@1)JFJig!hkyAj?a=*>8p8!Of;$7iQAa4PVsQChf z0AP&&7(#8Yz&Ric%8)9155u@MN}4Y!e;sKy=wR=A#tqao1qQwsxt^9Xtza;dKemhD zDYlTe=Es@)ks*wO3?DeCtV^PbFyJ-GPb$=D8!H#}r8hH8OM1p?H46~)ru;@naxcOmcP{o6m`me(9_JK1Bzhp~^=B_ecDi4Wko%%`BJEH`8hpIvXRFGaf3rM{BPpj;?0GEKCL5s&G z<-R*UaQ&Xw5v(kygH%2u$ZuQtaWj8b)(=?N|KdtunjdRXa`;(Mq#m6{Lu8FxX*x}T z%|kfQ-6}^(&I6n5=81&y+^ql*$8(q9b>ci1CnB$cX8=>Gd<0$z(QLETrPb_>b(_{} zpSSh9zmfXLvfQ#mvKpd5Jj3nqQQ+FF;$hNi=euZS|FE*agJWBs3u|qUB zP>KphLE8~4@53OfrlEv7A3r1Ej__ockdBRajj?q){d~5?sF4RcpMu57mxY&q{V7Nq zZFo5y>YUD&GCBPL%j+csx%eZ;Dgc=O=NU%vZ)HG0L8gt|+3vaH1{sk{@fA7fb`x}A zFdI!;N|q;Zm?KKU%F&uC9))Qvu8b(SpKq0%UlnCsWFF}R?D-NlYganx9#2+m{CsNR zaA`Vi2xwTp$gL|g10N@X9TpUS6Gc4=@Fg+#${ z!U&ys)0ol#nif8l1BE)Y1M*DVrf$;+H(fO*-WAoY0se1?xlp;e zsKun_3^-h)p0;s*(Sb~HyC5fJ)iSL&#)1BW$d7E30AQsb+1%m#O7Q%G+q|j=^}Sep zd|KY1oHEtS6D|a!SGSdsq2my^M}2Azz(x^x_>83W-Z$)>nMhm zeEA|ZhJwl$zvaG-}*F4S*2eesmZdr3h zJITvu65AK=+BWp(g$O=#p8I62t0 zb0e3fS`Bh_9`lBR8hv0qw=J?PaIn*g5Da=1+Sk$;mF5#JQBdu#MoTG>LS3RG?bS4t z+Wgmz^@iO2>d{wdrkEPW8SZmA{C8tCOye2e^DAs~b ze8nR+zMPSbwu89*el6%jMXWT|N%A3SYh1sXjo;6TJf6Yj8Z?_#99aeF7B&l4tPJ$E z@tY8R=A5Hzf}G{>>m294UfPc1#S`F-U=PJ371(IB^a|;KmZggkCV&# zOejAYoS5^w$J3$>Ah(wT4w=ti3jmJs`&h#38r)aWuat*rm|w{yeJYg*rNBBKJV6{F zryEU0B#tj(YDp}iX9%IeaZe>2&Zyb9bDRI|r_L<8&%~LFu6EI)az4XCa7|=R{I}TQ z@M`kuoC zBXers0fq~bQ3@LmAGFPu?w__~S69Gp8L0OKS+Ei;#vLnwaW9~Cp`Z(lyN}#vyg4sv7pQEEFH&2=12DNMJ zYZC?$-_5 zT=qS;cDaLGMDT2MM0Qhq%grw_3F@Un8cBf1gZ3984%_;GUhBMh&}uLI;qC-Yi{Nb@ z6$=T_3JG9xHTVW_e-3mN0Jz2PWA~&jY6O5hm14bzw;IOW4-eDM=Q2jvIO|SJa{neU zXDdD_<%+h~pJ1RkZ7V~HR2{{Tei{4R7DU3|zG2t1K8PLE_F}-R3nEs1}8H0uHu95x+mRs0#1mj>V z0SWPKy#Dm=-|0x4RW?g++mu^n1=hLnG0H&r44)#CGnE2^dGdI>Cpe}L4aX`qe zf`YF;N$JKuS7G$3y`3+C=}ir&wHtjKF6d;Q0KQX(ui4%Rq6Fxn8`v4wvbAJ9F_dTO z;nzYfh>_Ue3tv$+l&Wx_Be7{7E%M%z%j)-XJ3P?#& zj%Y)nUWIFgSb)K;d$ZC`{gm(W6sg5@q zW)5t_cpEs_*)Em%(>zQ0Mq`8=%}3)Q5th{MI>mg?aejwHa=G$%{82#!_k@h?~awbmohF0o5Y#$?cvE>%v0+xSak>zD?6AH`KIw)WBSAz_! zP3m`?;~RA|%KRLJx*k7;(yB$rW+S5+k%!C=sEUFZs9y0edl{=DIYVJ1-Ek#R38+W| zP9y}K?V{2G5Z^N%>(dz1JST(ENv)rx;xGUN>gQlo?+GPAkoLI6S9;ayzQS_>De>`R zkcKUx4(MUH_m@##))HN;fg7cOG7p*=9SQ0hq}VN_2Onz6)@8tE_T4jT=BZZ0lq1E@ zRQtITU7J%u(!846^GeN&2`-1<_qi~ph^AA4gKV7W)!~CrCzNw0G~@K={bn*yV|wc! zf6mBzOHyU6XU>?iL1H4=CAl6>>_j(8AoLa|XnKu3ecs2D;Sp9&sL@1wRt?qBKu;~l z6<*gPul)dQ3{IBZ{1m{N*F6;46f2w`eft+|B`G#60_uU6 zQbFFXO(3{v1kozxO_IWWIPjI|(>H+w3PUVl$vxI8;CDSdZm!>H4HI>SNErz%Fnc;M z3YLhk1bYT*_;_J@kqO^Left5WNtYFT5DiYq@@5N>m_cQSX*WX!!fGR$tA0_qvn@Bwl{Tc;K35Y;O&| z$9;cc5He$d@&#%DAPjyV2L}}A5h*oYQB$k@Z~0mHu6rk~ehzMK)cGu&nTUmEC*EKW zr&A;4zrocXQIXg)X*1QIKV0i)zeS<6YB2neos4{M5X}6{Lo3QNkeN&czu2^g1~Iy8 z>l%(QnOI1_qlhsk7{#qcTWo&AsY^^ac(lJ98>5tK5wQ;EpyI%l+GgepNFwFhLpic{ z3Ov{pzh|mF4;PW}@Fk;e#F?u@2ps{T$6oETV_Lo?)L5N9KK_lq z+>WH##g^W{j4}#A?9_FutSSLz`ZV)sDBEQwgyNQz`j679EeQv&dUo0h-2SXsT~tW0 zGA?JV=ytC_=T&@(3w#5)S)5QAb^N|3yV$DCC~0uP>4w`hH<`%c8y;U|@FT3v!~w~6 zR~8hbtUcfXrkQ0}3Y}t67vwJku#zQx$r2y{y)u*@N zlrr&l6_0F_-YjF4pXsB&^~OqZL!pIcwpcI7f6W;n!ap?@xVk#gb#GBFhGs`ww#VWM zsL4p4MQfz+x%w9V-CB;lX^r3q$G&dlwv2@r*6J%7y&rrIZX_>!6~`$?I?Qi~285~xkvE!*4f{7*#xOiVb3 z17E+L1v)a!x_2Opwm`$7KZTWI$XCa%LEloHx2f5Si+Q%55UYgDVZA5v zHP{W{)i62t=5GHHqCwPt5J7I#nSzkx!%FR%Xf=_p85GCD62$I*j^S$V=MX+t=w3n) zEBNQ^9og<@RmoU^r(-9)t#_94LPL|0nw7Z^yxN6Wx`riGqgd)x{pFtMFuUshJ;%{% z@v3u1vcCX6S3+_B1b1@IMMtn@{F>`CJ11O1gDa^9GTN-qZ&fbVsux@;Zq!Y2wGbU; zzEj}LU42xlqYN5F%VVMroR7q$s34%ya<|xe5)Nn+Fl#kaLwi+ahZDXx?74A)7wHj% zB)!k1I*ZI}s5sA({IgoH+KT;c`~9t}JO7`b2C?${08&@OC@Obdcp;8OT_*xP=j@(Q zZ(|X4VY3VZ4@*1J(Q`~p^4dYO>EYMiz5N&(M4x{idHQ4+o`ilZN_yzfEISwg;T%Z3 zGri+MI=3z&E3aD?NteMto#9+eFIe9iEwppx_7WAo41Xl4;G&_B*(lJF7YTFP5dEXZ z8ByiE4D39F^VTftNEP0gMo_MEeg4ocMHph*;kiq~j8~sgciiFz+-k#9SFh$nY$uyie z9iedNnkEBAmWYY0bJ|+|rGI9d4WD(yO#dF1eQwsg+&ZM|yhXq+2?dwhrAF54=v9-y zkuV)%krOvG#)KO~pFL+iYxm}o1RH?Bn?CNZo-ugfVm4R6RO8% zab1Y+k&k0aBe75^g9_#Ho^$xZu_guqo}KKMWjrQR#~?vAtQsd{O5%`G#E0$sJ$Mbt z9g^?1%zHS9|^E?e^W`0dk-M$slU>e7W$#^!+sj zO>)VY3(Gr%{)z5bo6HQxRyA^? zNtn22qADi`j{9;`lI39}*RLFI)T7w>oN4-#hY)zsO|<3MBFQDh&%%5TTf-z6``~=f z)2Tt?4BJe30%J&n#O&4Kne7p-Z>Q#jv50s%(3PfFPBPjLWG@E#(4C9Yxsx{PnAN_{ z&V%tg05fEdib3taA)D-r+3tin*9F!dCfaCb4wI6g<2U=5`9|qwi*A|e#J$nR-n{cM zs19XUlaph;`3Hf62Iljh0YEzb6DWDy2K&e@jQC8FE#Gkj+_*}ZYPx3Vb&?!OAF}|V zMycje4K+iK0_cyDUppk=G^NHyp`1%3s9&vImJ4rIZduNSjpt-!oMCnfd(h0Fasggl%z4 zzKt9(k|r(}kpfrwGMG4V){_?KpDC1^qj;pr#!3)x4HBaM)a&F3!@rpi5Gse1p9lX- z{;|%ck|6zuSGf1ON^r>xZ!O@1da*`(o-g;=+_7!M?Ki5+KOh1rO%w*w$U%NCL10MA zG`~(yKs8zV*q)|NPsq_5xU@dZJ9O|VC5V?xk*I%xR6fF_TIM;d^r49)wt(mNlk4LLT;!Z+eR$H~VkCxg;Py%xcs)DNZ1J)YEN5l9$I<`j<$CA9X_vHVwIUol=*r`r7XGjVBBbK`9 zgQIulofWUzNy-8r_J97Qfdqxowz?S_B7|zNxK&A!alw4|f6-4t=#mmF7+7(j0*QDS zx-HUfBN_>`oLa>sP{lNyw70w<&I5eR+Z}|s|2mU|fTkcE4ZB`x(r8*7edqPF1C&Qd z{?hXvCd%tah$P+jY1H`c(5Tr(zg&WlJ}+iG;7;^n$H^eVAc+x{9|*upv9~fCu4`N9 z0#lC}-J>~gZG_>kFbrxlP5Mi^o){>YYnU{!)|z>H*Pz51iLNS&>p9L?S^qcr1M>27 zJEIRWA>pW^N~br+h9FvPWsJ-A(ibAi#G!CLzLh;c5sIma9vkm zy`47XTnK&sssIqLex=C=`{A9q9TZ*ITBV1VomP z034&C_Ws$ZQpDpZrNngKN}y$`0DUa^Up3qbD1%3N)|^EIV)Q^t@xdFH^`we^=5~5Y zUN-3hwD#t5lWvVAJZ>oz&i6-in8#X67ko^0P*1w#soDDPsiySdwAlCJ+@xfX`W+FA zGNeYgBs}r;UfMW9dysH_jh2o!r-0s}id#j_4Taw(%2*nYP-4s}lXPZ>pQQIywD|%W z08oOT*$h)YMi$K1GaYRRET{Zd$(T5Pm0GkR#K32ZWA0!#+SR#^vW`ebXi~J>IDVe| zCU%fXoRnZRr#b=H$k{*gVg+?zcImrZ+xDY?uwXX;)Brj;8m3q+_b_8pe4CB2Cj!k zjPFzoa7>mE`Nqe##zS=S&`Jl+j}l_9Ig~Cwq!fx&M}}#mfAz8_^IFcMfsE++mhxn- zJRH-WU8Jc)0ooOS!xgZkNw@_?V90Q%=wdX+z!7N~r4M7OO0JB2yhKWxEJ;?8r>!a0 ze$Oj^rn6=ro@GJ)MeGkUfMNg&+^7ZVu24~INRW2#pYF>Sa0Gy|{B*2BXc@!byKpMT zi?V3+e!MJ64gU$>9O;UCF1{yrC?2g{O3t!6ybR!^o_?@IrhOB^!q+_I+?t9 zRw2vx^bnXjVo{j~XSZV~;PrXpW$ugeQmZDC@Hq3_-ZHvnD_@=wyiXFcQ(A7v6I^Xf z*noVX|2JM{|4qVqZA<_gp*s=>)m#pu9X9<>U|1q=+(#%>&gl>f4J#8`ZP;y-OJMze z5^PG&>`M_{Tnzt@5rV+qK3(?iTk|8&o*{lXC)16%6sUC1(7Z+&awNUCavrgyMidITjWd$s3H0x_?s~0_WI4G0bMH8}n!bN4}EFi^c&t#8OeZ z{4jLyTEC%d4uDBq3i)y`bJfLrMNobUKjSfY!w1>L~an7Yx%(p&z1y zKwW#B6`RSl67z2O-{HDvxh2p6hgw*GQ9FFm{UQ|aZrYyvq}GUmnDurz`$-Qh06@k4 zJ`^I|F~>ZS!#kf&=8v9X{Oy#slqi2*HH%X4iY5^II4K`*@KxKEmF(k`8 z;oON$m=Sm7!fU@O)pvU5_QJM!1F7}8BVNUdU)oU?W0p;H_R8e5ag>IUVwH$-P0e0V z3mm(io`U4}=Vl1CREMj6*%hBv0Zu-$q_cF$HEWaH?AhqM57mGay$4*GiZerA*5_JL zi$;g?$@d`=>j@mn`KzvLTvw!??cWyA=y7g!N4?d3P3R|-9&PB7G}oUl%N1_G{5otL z|3hDcYWaPj^!bZIi(B#l1WP-B%{twf@9o2%e$7T)n1Xo&5j_NuMLcY36ZLgHSN#jd zn<>b^&1bjcwb=ar=h>*`OO>uc2)6hqs#-d6?g%;lYjJRv^r&i6zX1#PqjN|{Psz|c zFl`-T7&9KDF55srqH5sRETzN-o<$0CFq7JFGl&We+A~j+dd(I?RbaM?6z#q;exxkt zHloyCX-aC&)i2?ya{f}Z^p#zaIT~`WV@YXf+_|}(tZ*WUl)8UFb%;}pjYyUurNMhH z5(KQ@qlh4~g?K+(N5=u6c0Uf40N3SQfjM+^x2abdeh`SHW}OS!RwdYHx_ETXZ5F1~ zJ#13s)?zm{=x&uhw%>cw;|3*yd{X`9Q4cjypsEy3q3_R|*v2(i>wz%VF=`U|?nqgC zGRDo{e=WyWcMo8>ag3Y+{g#(RI>$j(i0NiN>`t43h z;b{^o2(VZ;seQ1N640u*Vo|W`e1p>NJWkX8%~`S2`uzQytx6@i1D+33dd*+iHqqw- zst0Nvu)sQ-`SKri4m9wmP0pAz$`^K#{`r;NNRU!+rJUpij8ynM=#H4OOH)YIIlUe1 zrNGvtQ>oYc8OOO4rnyZw(J069GV}Z&DgV0*R07Y;SCY^aIf|PobvCrFq}x-EQkWI;JAG@Yvj=kFZ zu%P>d^&5#m7>}3giNWMnWy7Erkh2aovzQxlxs(1Ld^@Te-4M@P<;z__kq*P(#38Ag z>#L@$h&}unQ8S|5WR8Ssp1olp6LRPK|~(E0=KSFyq<1u+`i;8)gsf;x3W z{a*$hwBo-5R7D(Yx3%U?tj_~0+q)1MA<%q`)rs5X_vmw;2u72Q^oHvfvf}Tdv$pUT z{Z?%qXJEr}iw?cVO04AP!TP+Tq8Hxjm*&6Si_a$VD}6A(BdAh9)1ju&t2~XL+LQ;% z^Fwi-u~6`wD5YNle&thVvkG*7fZ$-FJe;es-W+T67Ze^oTIMnSY7cWXSHCa=sGC4x ztQDooABbwe4bKtBlO|~^ALv&iKO#cGe|$;Mo*!dkGLpNRh4Va7`zIPC*tm|v-^`lu z8C^^muDzoF!g@3Xr9o4$kisakvY@tTE|v^EJ#*9EzD8@xm4eD?Tct;#R0@>bQA=n8 zQ6A__4XYv?Ul!N}p~eO1c1g2ek7)T~!mpOr<5gtuEgQtDW~b%rz4GME_s=`vee$Td zoV_CLC-tYAxlqT3pCjnlHtN!?qw<4uxR#VD*e5%YW8X6MF^949+HbM8dZJi%LXmI3 zN|mwYVBzJ;MsS<6iu)?uwWIyM+8Mb4{VoIg0g|o)Ko|Tz)GAG^lh9?I7gK>X!=&#> zLne~t)3-)Z++_QCJLuaJ=R;E@^|s3nk_3ri$*i%sfE-@VI)uNxFqsjsc4@EJo2A>xN(Jkba*AQTP$IzzCNYn<5Q>x5(CyfL{xF4SygEgYO2F(CSa_cg7|vjnnBa_5m)H7b`HA!;2oGZ2e^@6d(tq%?m;XA4WY2P8=E z@|hiP_hq-Q#*>AR=Plnu{jT9ePGPW#CtniaBU=(tkm?OtQc8rA`>*i?^yH`6EWa=N z@Ed4S0dnh^;hzh`Xq zQ45)%7XAR+X_;X_PU8?{CK{BJtB}~Xb$@Fl=;xtx*NJa<&{bmK#GzU75Ahj9wD)|9 z_=IeL@9js#IRNO#Ps|3K7n7MPkyK-t8KF-*gyP2pQ~%|pFk8?ZvEqI3VO*0a-5g1) z#LKUKbtY>zF)^$ua#>hckF9G0BkoeKVnF18CV~oU`EVV}ckNb&p*$v(o~4!($#6|6 zcnDIsPhDR&5ahMgcJR^ITZfU%z~-ggR9O7-!jj_#IDM0FlYP4pvStY8&mTYC#NVs+ma7G$b7xrAoWjCZ6eK6(DJLMgrI7iw z;8JMfrG)f@^v}uX?*@P&{q*^2I$e3rlIsi!Il|(~Suc%kEEB8pq9R}aY`gVNolx-J zUdxA0@x;z*#MCv|o=8U`e$Rv-BE|0n8O)*ld?%;@5p0|5-D3lI;p7VlCa0XF%%|@Ui8f{ zfty}jK*}jJ9bZ$}2X;h7h>IYf&^5ngIN&u2Nzk5p$)qDaczCisIL!UhjRC6O|Bu=V zM)IHKRW{8j3lp`KAc;cf{yc2xDh?-^F~AJu`KfS0I57~y#LM8w)SdZD1;?%GMEHU?&py#h&NuMP*{ez7a#H`6~LZqIC=5t?ObL?GR@$!`avXmRxo*+ zy~PC^Jsyw_n{m^o61-p?Qv}c%|7_1rHYh%yfg846V8Z?(pP+s;g~hMg14VgX#VJ45Yx_Fr7w}v1LiI@}mP^Me9T!WaSMwZ}zLi zbv~qxO4AOWg2RoEiG9iyRdS4K2#&D;zYxVCLa0jg9A~Be=3rBd{cJH)=~SNlhu>iE z;LPwmqo*C?LbAe9xb)>hj;hXv$hiq3G!xXBHPA%A&$Q1``G7P6`Lhx#-K%NlCK%BW%-*L^6n)<|1UjK}nP_(@JV@937cb#cuy(2o3 z$#8Xl6H@4T!jg2XvNl&{E#YNlSA(-Eh5VNf1#|i-A}V)}J~EM(u$9`Ds?q&k-d8g9 zfA-0~=vBYTCglCzMM}6?w`M7QtsuhmMcC|z)A6Ujn<4s=goi!}VL zLj9)%;I~SF^Jx*RyV==@Lq@?`#U#*14rV^88duI}kaqg7DgyTJKgkA2xLhMz_h1CC zUzFZ;1)i@)&WPdsUcQP0$9k(r(y;$+DkyIj%!p=(Sn&rC!Q>jP6-$~<>yf*CH zAzHjM7+aK*j7NnZBPujV|INJkBkU;Ox-0iW`pff%xn-MqCiqBpT7wJmhqDk!?7sH-CN};Eo;G}x(Fcd;aR^DN#JG{=dDda zuFV*QS4E{&)T}v^^9ILgxnRZ;@#%WT+d@&Ii#hHO~Z-}^D>?Z{jb~sR^#^} zRHun|p?5zirH7zGB0SgGcWDZ;HW@u>=oG1Yg_wMwpQdjf0@_}o(~=5 z9#~9Um)IIxO5RyrR>2UbBn{g|cF~CA>41fZSW(AYC8GL>k^+Rd{|7^-NPr0}6m3*G z97dt58d{Rb()~uU-{<_ECYZI_JC?htS$mJ?-Gq;QfplkLq!+SN&Uu3KksEOq+Y zQH41Jgq5wz&ra68INMW_?#??em8VYeoymvc!6%Ohp|V_x>OrAC-h%2S#Fq2--zo>!J>JFV^B)4h zR(|wdGjlMBH5EBHRCGgm4cSMNVNo5!h_}&{%qD4@hBSvx1U@yfU5csz0V|op$(vL| zY0*i=pDb?4DnJ$C7ensHWmio>b;ufKLhiEhb(7k<7Ko$~>SGK)uMnxpIzf_Y*YfR^ zRkS1xS(PlOw~@GfX`RfC2j8#8T`$8ue%L|^I;N95OJ`*N>-12BN{f{YtE{qPOLolw zpOJ@efJQr&*Uw%H4ns7^;9=Y_^vDp*u!&^RNZDxdgHeFN#`1=LS-mIdbiHqk zFxKd0$V9dQl-egmO>GKDDbIO6e*pmO;s-G=iF@rFOSYACLi(*0Yg(Mh2x_FO7(B2e zH)MC^KMqqoblls&g$@AclslTqisbtH5x-?+H(4jEKz*i+Y@if+;O`aH1Fs@~dAiLC zA9c!jQu09}AVDLn2?6LP=@CG8=-MEugm2zJZV%a{tWk!)iK}N(R4j1i#1xF^QvWUt zk=?kP2+~!c*znqu-}OJ(c`k^>@U0naV15qh#B#XBo## zwq+&dDTah)q*&0iE?{)c=q+<9GtA{A8C<{*ut~$YY*t-1$6>DQ;x>9E zjY~{|HD1vxwDsx<(g?t5uwQa+KH#-XI_U4!NogmvFxhHfsqE zQ|R3UQ^wL}0&o60rDLWkiuSd^>5sqRh;zl{*Mc5f>Qo!ggxk1XwQgCKsRszsybmnX=(Ewz3%8QqLn&V z*Y*Mg)>B`=NA}x$UaK&=65GZah((Bbw^ZIYLSMtU=K3oUn!6L+#Ry8Y9@rwnXX+4)e+ejhP#Q{Rxe-@OPzIpW2l+c;~F&pWOjhJKa9D$zxhihuRLB)|%12x(Sbl}+SO9%}@4Ole6Ac_AUK z;W#+l@w&E|OPj}IGS2|n<5&AuB_N~94eF`G-W*j)_$Smn=lHONmvQ%$jL95qC~XFV zi?zgSi824a-i!glAqf*ZB4*+-+LwgYD6pV2`)_>%IJe&iZr8-C{R9#-fL;cc z73;8jF-Y36pRQ4EYtzd|8V_#xW1wFp(lS2#VzEwiz=W71wKh+&bK`Lka%;4RU4~GD za!;KXN{9h+F!}2ir0)rGN_#oGxFV7eWGRS(3B4R%u1q3-=h<+=xF1Hdo>s{7lvjTmUf6-!o|`e3>7*H#ixY>hHJ(! zynhUYz|qqUS-PWXO~XALk1(%UAmti_Fa91X{Kq&cc25c;R~O}%UuxWp+2d;L`R2$E z3FzP7^NBV2{LKJxH@^=aE)0m@aqFA*X%FMgtNK`V@7N4vyC|*{J$IhrqiQ_O8imD) z$b14$0w0~%Bpet|U&CHlp{sEmw{>`pl3F_>Xq9e zvd}V=bV(it`n_#dLT>wVd^>Y3 zH*NIW>c|NB%z1wHR*`@wD10>C4Fl-wNEays$n zg+DXR6~Y5mFm4|EHE-H9Q#1O7kILijfOOE%A;>^n+KI5O7!!XiRf6Xq_jKC}$1f2;H}_32rT9s8t-VG3(V z2#o`HQQF=AbiU*Rz;k}I&A*R2u_YB5IvTB%UNaFV(Gw6BZmZi@aFI}>o5q)r{P(9i zWaW`59i0G)q=otXU^I_vJMO6K;>FoN`6y%DCN#0!T=+Q*hN#wuVA{qBQ* z9BD-Yb}^q#Ay0;}oIOb{K6*fFnU(zEPQCf{F7!h=Xe!0&!7I`v|BK18Hk;o+5iBxx zEyHN}qy2^>_Kf{6tQj? zjlV(7rnC^yha~az=(mN{O{@zVDb*6{b4WY*sHWYD5pJq?pw#{Mg8|ZV8i`p$k;`ub z%N^QMh4HfyIuj&$zZ19G`pRo7Jvy*4kzgW&G7>M6FcsTVom-@~?^db`5u-=y=x?s0 z21dXWb)AT~_(A7>;5j!jw*P+sH-0{M0}iQZ@7fsA^8V9v@Uom=2N;@4q|Woc{&<;5R>J z5_KIdF0c(W-}D$9YnNxZlAfTq?_$R5xS~bD@=IC}tp11a7N4gq^Jc~V95j2|{H;dGf!pWv8SP+y z9QQZvTA_{w;b8p966*EE{uPMP`fpX{6FxBJtN(l-1lW)2uj>t6tz`tq>!3cOVr?DZ ztu-@g2x6LyOnE8S5y8L*C&sED8kQU#}yx@bsH5OwkOa=fmUi+yZKcEXJ0-e1r zooh_0Pkb^57a7mK*FLwE~5uduRF(*d~TX`j1x`HT6;QJW<##7WG$M=kh)3nvi zDbjr`I{dHl0)g?vYhw}rBQ+{Ap4SL-TKkVI98gnj=GA+(*i1EhW~!J8ILJ9i0Y625 z3diSe>X5MEs3>NgsFaGOsiZEKaL8fFaf3{pntCnprFgw1Hb_h{us&eQa{@%XwU$Q2|{X~h|Z z@KO;`DsG5C$D^q2OX$uSpkUmI#PTHxHsMH(L80F!4pk$)Q*3ja3dcN(D_!bFYQjcV z2F*8hFgm(^Pc9dMUEdlu`CS=o4M6g4;R%{lZL`)#> zXGgj8RUyeBQ7pZ9g<%ejKy(#emWHCi+Xs;$eNx?10xqxNmsI{X8m3hUy^j<0tKGVi zRmSrvqkuRXo8gcE!IO)TaA>Pf`#i_-hGQg4X3b>tf7TjA!GpZFll2g}x)gXx{R=ys zdI7<(bj;d%4&pNvwddglv2=WC)4_2|nPLOza+&z}R9H|AZ~t&rC^g{WxW>hOmPoJ% zN9NXST9WJ*yv{jbspL0%0uTE2oe2L+n^H~LSkO+`J|)I3jH6YWP6sSjU0c3V$BYVM zQ%;e<$Sv-H<{frD`YkY=ad9Ylb@%s+l30%)jXbTDKKI}L4BM){MJL>ZYLjX z4*J2Y=uS@vKuKE9$+zPnlu}JUI)fo5lD0!+IWc5Q*r7W$%X~5*= z$@PqzG|VtH1%@jYbkT+VcwCNj-l=OO(^0{acyg)HvlfL?vi>RgC&v=9UU#~&Ae_Jq zUB>PnNYiRO&@gZl&A%3JvA4&ug7s~Fe5@4v*;CpUX5l^6Il|28BPq9gFI!Bp-4>qC zT9vW@w;knRGYO}rfP|E4UnET3zVg!B8*AyIK{#D*RZaX2Mj7#>SfmI5<@@g+(cHkh zq&$$4uv2+zZsdxaxwTgTxhRTFn%a{kgQ9dNxGT)%=P`vt{{3f2!nZZzEsxN)EMc|v zVe6^JeB&!Q7^AoyWeQb`XfjQ}??I{Vpn*fyJvxf(0+zZ3>4 z0r+1WHXmnnO(_20vSFfUDJD}hA-=;P%rP}@ya?d=?(f48LhraF8$E|3TH|oObswAe zTzNG_5w@|H2aTYzOL`BFTfNdxW>$o|&!Ea?mf5amx&*%*-OrT<`jEs3EhWx60nGLc zbv=7u>{hSP@a8$-d>HKE)$(Cz5-gM^n7n_WfQ4P`zUbF}SUYM|Io$_Zg@;?KT0-av zvBf?CYb@?)-S_6&~`n!EE=tnm_OeR zi15NRO%7wY2O22dhQm3|Up3^tibcm&;YUAPwa}y6m;}a~{dszA-;pY8<4qy&))+QAA_-%OHx1$1?JgXEDKV zH3(f|xpfrC|5Qm=pxzxp)g)1Fat4ff%~y3AniuRuLaSwSXJAIoFsjtn5Kn%cEcSfO zvlVN;LT%W02CP6PqTMBqek4*bhosxiy zDd}9*-`}5}l>5Hy|GK+SGeFNC30Szgk!IT2_0=jw3FDLF`i~YRtzhe}p{o9Pb+_-l zs*r*EkI#M7(Lmj6=IY(i72~|a=n?;^CuZ0`GX@8)ALu9B(cvDNe}o4fpSFfOO5Cer zEpqO~j+7mn#bq{7{JZQ)KNZXwJd6i?&z7Nv^%X)JH*=vul7z6xh`lZ(UNqGH z(bb_I{(WrzAe*ig4#qQ@p9|O$!ue^d78r3N2Yw%4f(g1?12WZNR5yip)puI+=x#}D zHn+FF3pk1bz*Zqx&IG&dc(_4+B}vfc=#Ci)HT3ZfbBaGns8Zx<~Niof^!Y$N_$D4S+Bo zLupE>1|19bD$|x|hBqx?QqzU}9rSidCdyOTUDQzFCLX;=@j_&LhzeC%6~JiMZ5;i% zL$38Ue(Fb80DV=b{jb#y4Fim?UIrP_wF2CGkn))cs%ht!_rb(McFjP#jQp|XKxC>K zS6{AQi9G*Ew7)Z=5_U!$xACZ>|8tcfcKNoh15aXOfx%RQ#yFT%^5@`0rN4^d@z3}7 zi)RdbD!0fiuBUpzVYAn2Mj2+0mlek^(063!{Md+k=PJ-7SM$_qm{JX@;7_|`F{fK$GOQ9Qw6xOpxKnMCW=`0X>)Ny)8J=$ivDis267q}_7=f^vCs|< zgqD8Nveqi@ck17*w-84(g%~F|ruS_Pt)xeehBBP#m9WyT3o4?Dzmj-K8KOv@I za|!?BcSE!Mi(s?qx6W7|_-M*YzE)tsPyg%rW!Xc#*=dE!$e-$5l`XeGXdl-FQnyAQ zTsSG*Qjh1n%N0q#Cyz^;@k+y0NfvH{BkX+tiHWa zgGP`@@{-fWGm_l4l?>hY^#Z#q!bGD#&%wId@*v^RR^+%w?#(Zpmx9W3wlPGW6+W9VAu-LjOxs{i?qK4>`uXY zu>SKgf|mFf(7`?dqxe9=-}d5A{TYfu;iG_qmf=OVIesxw5Rxsz_X8|)xBfT`CNABA z_@pVRta$oPZ_Zi5A>}7uDjK5Q6qOJ$9CQN|vR)8OxNL_>$IQkTh)&bYwnX@v1owvX z06AWE7l$VGe1ku6V;cfTiFR{3X5cRDAS0B`pErENuaKL(Vqo<;>zNZMDl4U$8-f`e zXs`TiNyH%LYgLCcxQMTx-`R@~wLP{mgTb@0!H{ZJD)6{Yht1U$&K$G0J$^L(gv;sd)6v)-FB3>c7Loc!_5Jq-c4U+}eP0vguW{_ZP?~Hjz zs}ck+OABCaGAqvc-G)q>=gQH3%sJ(QPVc@#O+B7gC!qW%YasM0Fn(7Mm*OzLTpu-q za$DksWEgmgY}}vAPKLUK)ZS50s^a;(XxxTtCNx>0`>6CBhfK01sk>6c6mm2iy4`9H zA@8b%p=uE8o%0B&gO(pn5W$a6%0(?Y!7IZztG3F!H>nw+1v$*u{z`|h4EGq8-c}1P zqYYF`YhUXFQ}<#43n{X10|JG|0BAelp6O0KYc9ANCBwB%cs^8xq0~cHwi$#)Sl?wH zrFL|#z^9N(#UkH+@|Ub%*_eo&(g%(0+G@=O&-46V>HcN*a2g-ps%E?l`sN|?FsJwq z^V96+kJ%s87AyJB>xKS!wx@u?dVDpmEHkeuZ%-G_Xbr z?os@~S0qQEjEXv}Z^9d5KOdvg0d={eBcMHq@h(i2m>p*?Ep1cK&WqkcmBdzhX5-j> zV))PKs#sDdYpwV@{M}PinMmoAPbWxaCO!C#JSjlXrqW&(yoTrcHz7L-{luwF40w=YAOIx*P%V`jfY#64K7IE93KRa|6r2_40jn)D7FA z(8XB-A-!pa{a}^>oW#u|w5za1P;#WV14E_Ede|zx@d6rR=mL$IE(*?<^Fox%?KLl% zDhbkxG3icT6m0*z7NIMEOnWpk*2s;=W)t5@&-ik$KW%CxAX+v+brx%hd6rgF5$Gf| zU!!09bxFoQu2J>h=UP;UyUsZ?s4C!;- zUP8EzeWp8!C~z=8Hz#0x;^L_pt44==^;}Pu4W&pn+}(`ec+%4n{fygs>WiFN$+^Dv zx#8RRsA{2dgnyK>=ygioJYHg^k^B{d(y3D&o|{aQjA%Lz;xmv95%{P10NoS#0oU3U z@b>IJU3KZ5G9`~i7lO{R)(t<3?RetD4EB_W(X%YQd2?SF(~J2o_bF-lR* z$aP}cR6se?{-KMd z=*@-aEH~GUGGk&_ugieFa&eyeyKcVJBG2$c-;ZpCEh5TNI&Nrb;Bz%OYgAled6)Gx zCc1K#n4sYJY*&GK3zZahM8lG-Ub1J|4`1Y$?)=8quI^kTf}4Ip;|#G( ziC|GPG-qv}Hjl`EjvDtDzr(&Bxm7cqo;5wGR{L5Qc?1BcoaX${5;K~vY8{@+b6KBt zWW2#nO}o8o4=r0&TL3>`N=ZERrm{12oC~S!lF0cZS; znqWU#B<0PPM{!OCsnqOL6plcLqP;pwN(v=wtM(=XX@regM%aI3pztKh_)pxg(_(%d zcqMrVf8F8623yL+)FvkMxjEODyhteBjS?QM=0(94-kH}1TefdMUx+9^U;at?D>PiW^!u4T5AIbm*Qt(wB(g)CSO zjw_qX!{vl?2pkUzAnZ1u`!b^$X3w;eWnZ<{jna^ZrYBXF*jMU^Aisy>k+pc$M|zt-LY8H#_I= zQotRZX#;s?v}g|r69GUPy>6t0BYh}nIbUFvmF4@xd9a1UTfXM}pF&0K@IQdFji;_pa?ZK!ohgm&@!xpv~FVc}S+)zoH zWIEm$Ry6K--O>j<)wHaQd&DY6^cAPoggV%fe!+py6bWY8q=w)q2+XhWZ-8;-HhQ8^ zpXbFI6_lQ74#-K%D^3{pqw?_CSRd89BEf0Sto&66il2YfPc<)WHT#$7Ne)MZ~9Im$`adnJO4u3zK>%bHf z6(^uBjv^7lr|UenA3;qKRh-iqc0WwxK6F-iyfO6d)KwHtw;71|o}%X7%iwO!vHnvV zyjyMSGkkHn8k@$&^!EJL_u)~p$mbvXeIvRPAEcjgSaMh|rfjAl_5zWxTH8XxJJw0- zvyrrV4k0?QEu~QLX(88NQhtYkiZGZ{sX$DXw^VwS4T(y7kg<63qO{T|ghLB>SfIUB zIr6iYF_t;;au#WwzaL3@*AxPx?oS;N0<8zy4y)XMSPfT>=$NljaP zT3oEmf(st9?{%~Vb_N;%xz345IQZ9RCU4o2EM==&8UR;&eC;1$4@M98{+Ly-3CSm= z(KQJ%G@aGs?G|H(y9#FR!6w+7-y-gyx^n0P$4oE;K&b5S>@XW_D|X@T$sJ&-9433D>`2Di|lA zvqcxUYOTjKXKYOnyhZiIBeR{6p+7{V$$W%sDPB0Xc4q?ZE z0VZO*JLZMK)bRpWdN!}q=JBLz5_FKYbl$45pq&!utku`YW&q1V1aIJ)I3aXbqlg9A zF7I)hH*^1^$aw6okxl?=G+oI^2zxfKG))Nd)1La+!tZ{1_KrE%TvT~Z|4iyetIe@{ zam!A2VzW1p&|-j@yaEV_vHG6(vJl8t=(j3tevr9uxdGbewIS_b%Arau+#w7-&oLdC zgJzCbb2kjs&VPuAA4AYcr(M4Rl64+O>@l47!~xaxa1@|qy9AWQt4TN(o(6cWI4?AuX8@L`pPtR?nmuxK_OKS z{CRQ}7*H&qv<_~|Qx{~>1e6QChtSjWm0(v5M9sEfonm9lMmcgBY=N|YiqIsP?$p0v z_%H&~nFRn$2oV1i(AB)qt&reAM|Lsyk@>2-Oh%4Uv9tt1x$|tGRP)FGfq-im?uoSG zBlSy+>eDH1A_HStpLMKLJ#0@>=A(=BNoPOYDlU&l7VXYcvma|*Fs9*FyrsXlt9=iY z`x~59zx5&!%&~=&2h{jEvdfa2UVrnXa*+Z`W1t;d+DZ}-zbk8nY_ozpXf0=!3)*IJ z1YNIV9N0lFRZyh3$-kYU;?lg*u9HzwNnc3xiQ=*63V!jIXTxG97+EMacd=LMAxvFV z1X48B!s{QN0FwbUOh$$7C8mgY5!Dd+@d7{~-;MV`)%BpD9UFgyt&zA_s8|pljH1Tu zW1a493Qm#qkWx~GAX|8I4{?6j>vZ8f&>T>gcmARy{n}T(#epCs)CbW5B?1qW_?{3N zi;2;}IHlyqJOkj`A?WerB$mLUAlxp&tE*n?wQ4NyNwEh^BwWy=Q@uq}Bt+bOw6!DN zBqM0yyP0P`nU}%o^kB3q!%{9eQ<&JWGEt{YJ4q$r6=ITpm@5$LtO0^@@T63&# zwY~kI^DP#I0l?G%bDi>*M%zViP9_;|5$QpXAhw%~+CZt5oU?iAueyX1&YZ_qB}I!L z=;W&qzy1EO!a#LJWT;Fh2z&%X%Ai)i9vgm??av_MG-TQ}^We2eWJ16t5^GSul*y8k zOao2VQN^^wN!bwCCb;w&$WHN^`75BdVbqwP&@=~IbrORy6y}%lYCiHG=P%;1!PNA4 zq6?gaCk!-pDfTR(yD!$$B?o(>B0thIv!gSP<$5#@6h%0a7vJeu>U4jIX45_`XK6%>Im=N}>q5(O6zRHa3>&@!=`n{_^!vNygfXVql!^U$G# zQh*Ff=nULvSi6hRp%4iy24)?+a8FRJ?8-mrlpF(eW1LG80sjq!HY4uzDxi_@^3>TR zFNHdeaRx|Ft6wK~e3dYOTdvD8JyCnh+rU2ZW~6k<$#=qm@-i6hQTM&`G3-&;%BB)H z$}Mmdaau_47lL0`FKn%0%+$+911d-m!6FyzRA+zZYK^!+OE3URvvOl~IPu8Qf@Xc6 zKKrk9bxW)IzD4-|0TM80Km#6`5OKgFM&sOxs!;1iEWBZr+?(P6!fzKmZ&cN0UkN^g z4+c;5qw9W`;)aTmxed&okQ?Mm-jfgHxBpPnKk`W3{=1tBFB`hoMPh)giA=0$Y-|HF zt2WgQI?12S{Iu1e+QCs>_t%8gs>3NkTFOb`BO$)V>Y<*sxJdPwk(ZvR#T!E3^6&Ja zYqptN@&lqpKYE5`Mtb-vW7yx}m_)(sOi@c3YY4c)Nj*U`8qt?zNSw=}^wj5jbPMZ@ z_ETPAdkyPN;rV>>bI58U;7x)w=Y=_kaRvX_v3xfXBawcI_hwwX&;Gs(X^u(VbW?i@qyYQ!v9-Zb;zY&hM1k0SONMYZ2}Y0nyGrS^RI7YP3QtH^=iUy0f6F4)Cj=OU8ayM+7KK;OTX_D8QS%yYBbc+$9hHgp zN?Be+Vc3P^b#>XYs?~XoI-Wsnpiu{s^Hn$!O*SofnMHX+!s?-(nWub^D8!Yprub4G zVnXT?O3ao;jTM{;Nh~{W@Cj%UB{j%2*eN~A=F)!vM^;SyXKfss6TyvVdUXaHjgDHO zlIcJIf+KZXoIgx%o(%3YZLllBB+O6C{IV6txYa)C?U7D0h6m5&*o*LZ-|*Ht@h7hh zz~8ESDL?bcvFbnlU#wZhB4+?to`2Z(`Sb>FuHThog?lg_QnR=$`%UNE!lTF^pH5VLZ>faTA2&O7dhX7RU>32$O*pm}R; z`BjsHl?6mvX&NbPh)~&w#`gOl$ug`^V$opL4r)OCxY+4-CoWMAuwafo)WfCwViXR5 zo~qlG+ewwgf&)RgK8r=cV;W+oZvy&Hou;@Um|fmdAn`X5{)D%4^DAn##h6j9^kTvH zhUv0Wx`rsiI9@jwKE_SUR1DNhz1-9qv->sQHRtZ}SpJ3P2fa!w`TyPg0mMk~^1P&} zxW`Vmtm;6)+schKTcTYmvRr5w0?~gC-(zA`!2*QK7cAGl7Vgx6Ag|A}`wZ+4zjdSTaO~PNnKl$T18OBj|BSJRFqzu)Z z2*t|Kpz2@C57r1ciy@CY{k$oy2>A{PQK%Fj8*|-gY%5hx#U@|~UpYn9rjUB>}h zw5{gE#Y&Tz#tC7sV`J`9H-U+~l*cpVQ!(AS@4$vqZBM?pGF<$GKY5`_D<00^!=s6l zX>hx5>wo>Lz`Q+5Y!IIH zA%ob}K1Rr`r-9g`X|`?#w7XEpxL8yY0P6-!7vQv&zZlMx{=U6n+&Hx)5?%2 z>_8)72BZ5Ef2aFBAFfYi4h!02_@#ClysC=)IooM%_3L`+4RTe(#?$<1!2g?oCxv~C zXc8yuS<0_ws)28Qd7ExLNSpjq+iGxCi;NR9gX?PRI%n_BYr0A8)+=oCB6isRuFlKj zREa#j8Ahb&$HTDA(m25u0Zfy}%@;=?G3M_?Hun>rCDjWMkC>wa^33 zYmO)Jk*U8XdW_1_aE;6t_K7S3jUzQ8T@{TD_tjb*t#+GBv|mR1xn^UH`e?xZo)cF_ zn)7ZGnCtiYA6d#b=n+Ty9VFDAV(+N)FJ7Nehc-Y*h6Jo8kN|fKfQnyRj$0mUYsVl`gG0)ELx=dLv8eg}ZFds;f4XE_g?(U)Ji5C2d)C0M#tHjZH z6I3q}r^7Y9SZz@0cu*%SVAaKT9c#u@NLb4-2c(6Z-(`oPKTY3 zVwl7S>_#JT{ISZeoDv&LJkWID9WDT(uqouf0cRk zLw(hJ1$61FaMT7vn8!$@!sKYEY5WxXeSC$}df<9Xt#eS;?%%Vo!Rb{a5%5URVwP+V zd$NFnQZ87b#eby(Y);?@X0O&#AYPX(n--ER#W zK*cgM*B~z8=W9ABtKT09;5Qp#>d&NQ8{Evr!)Sls&9GPhRc77;*P;B{eTpFfYUsg_ zx(aO&KEZ|kw&d(LW1574dVUs05}W-hN5Z~#%%|)8uXd{v*>uA@A%!&yP0{q#V{US5 zJD@6gh0*XS{_!8Q2ipM5t`yE8Bf-sM>YEv%Gp6Y8R!}@@`QS>B)u$;*>O|=F2V6~i z3bZAUA=H)FC@^><@&z2G8d<=p=kHh57^RFQ^g?-Yb1gOm*Y(E6MCte|=Mc(aaJ7y1 zis2W6(#@}jPLMwOmy#dn!e3aY2NE7}fAn?>T7=e8TlfEIBd-sSeuG0jH3o@YRW>1g zOfz%9^O?Dp>={tga(w($R_zfdu7PJF4dzJlRhJeY8#eWvE2e}ni#``yp z3_Ak6r8J%smcfAn0-PGyw)17w|2gvhHv|H^GiVSAkz{-#I%wB(!Pbq@u6_Oq@#g?_BN6x#F}onBxT*l)@Q3eor@{?uMgGCJ zTQ>Z9rwVbFwGS6Y>CX}#MbAOPIIocsxMJ0NBfaF2T2X=ApEl((bD2Q*ui4>%MoI<#HXF)(4pjPoMDK z)$6{snfW3@90CY!8;F{E8tG$_n4W|qGT_dcYv%+brVnj)eiB7zaBO#2oXbBghdqsF z<`RAHm<{$`w1V?b(=a9eV{gv=3eWp!0AZM{+f1Wo` zB}XOinAUH8=w(C*A2!(z_y7W1#f7T(ii6Cwv#LlTl z4c!}b!{CY0lQ1(vH_7c4UxTMT*C?0j0EgqZ0dOF|iCHl6O_J6QYR{{dsxHgOMnJea z`nF3>*CNjey)>vyNZ6ZMmBY9BJOzbe@?9{-*f9l?2I(EtCwsUT)|g6!Gw0c5*V*>wZ@#KdhI1k^!TJnh* zGh;G_h{g>0AmSw^HKbhfcp@J3pM`VGsmd?InFnxZUnOSnH*O>nf>nL)%= zZ=rOh|595x0bm&ZhK==)LB`2@r>ibkH2s;|Ll~C6(~PY8-tte6>P_6OHGl00;6@da zPl1)dMH-`JQR7OVUTD)(s8Cz)_R8Sz`fx<)w?$h#U&M)AxUJI@rMY2v5RIn1EOnDU z(G@WVG!}=oYT;9dM=3XMaVp$(LpS15M7yu}XoSN}R%CEUj9t}l8mEsJE5Xc&;J;Jx zvasSDbjeF!SZG@o3ntWWM0pgp2z#(E8;U^&e`Ke2Axg}VzUk^E`3((!+Q{lh+RJ2Z z6m*tVIk^eEqf_K>h;k9Ftf^nT(b2qcP*l$yoCtlwo54o;jd1Q zg3-i;B-DurKPu1abd#qNDqHSHNP{8N!VRvr(iFta=_^Pi=LynrHLH1{dRfwbG2CBV z5brH$YM9z>$lSH)g@6o(xY#jEZG==-GreU`%^Km6oOo*LQV7*#zE7FNeRL=0~H~{85L_VWP>>xhM?qY z8Lo9a+NB(CzlVkBkoZL|tiAh&vynzbDaqGu;WZIB9yt2+$Tt{S&5zyAcr`0MQfK+_ z0nxRSr>gTc5=Y;6eBH#(jLHl6_487>5hpJHUC9*YA*0Lbn^z0cMn#z15?XygLpnZc zGU^nNf^C=qD_$#@LJ9Rw8_CHkGgcmDC9B5r4zaBJ@MlW%ian|hG}c8}h^1+ggJ-=c z`)ef;?hxXsw0MArUmPj{hhmH!>bUeVRMOe#MUMz(1x#A@&L>mH)*F&+yae*7)^(4! z10AM)AbtSfANtJ0^f=^;_)%+=Q9pOKU<(QGWfAjpn{cDxk-K;$AR^gF#PKPTviqlU z#GG)kC?){T6IfTU{BZr|yX1ojG7WUc=)S2;S{0Vc3c$WK9E055J zw-az<`oTGUOB}ZF!9hun4AG|}3$tRBj1drwicH}hi5uXvl|Rr5t6lqQ#wn2+K_upa zsC3VcTo~`mrVoKo-bpsd?PQ=V&SqeNZpy(p)8>6;wAuXv0+JiOSjss%m2u~v66ew$ zw_CNP1jrJ*#gj%pZP$$c9@B-?2Ze~d#YF7CYKe?InznduhxEC#gQ)-pCXoe z>;xfJJX1{ zU9I7EpON*lMQl1lu;-$sEX-J`c=S+CfHn1}Td%wQJ>dv~Z@@iEmG-^2VO$my%Iv?3t78P#6##?ykiL;`;ig_4C-154KZ?ArIv#oAve;kIOftiNxeT zHg?{{F`XzVdm*kX9SV+RwZD^y(`d)M`ZCV1zU22&e6_NhQ~o#O;Y8VD7ZDI!U-H#tzvDYq01TDG4)M4Tk8n^xM_2?=}Iq09o?VB75q=Xw?Zd)+;UM>&ywYf1CJ_>Lv3`sW?Y z2OeseTzf{SLyVSVGf4JK9Jg4dUXcGrKEr{bLA;Ea`|UiTGJy3wYN9BX&VL_v*W)U@ z=9u($eW;S^2b^k`uXHXqVBd^7wn^UNYU*|5S1umXl|sGPKyK3N-*1U>;~9Wy zs|lP2MI|2ClBxqaeA0o9`qveJ+X?*OLS{-s37cJ&xxt{bw`Bn78I@q_cZDoxAKm`z zO&zcv+ZvCdLYLfFXP)Rk?dz%9-X8d6UPyc9rQKX*yrp4381*#mCW=`zXAX81^m%Kc zxYsX{rseP_t&zR>G=ASdMa-`~nm)eyfpLhqNQyj3W@9TA-ZE@6ZfhXn=FT zK3(+HY1=n~`nF&6QKk0e(=?_a1{Q2b!9)$*xeM|*lFiAik0BGMO4nilqQ&yi+yoR= zDm+NT+&lzUTC_L9@7lt9?C&af{c7isx#ml{k#HQ>k4e=_7!a+>k=KF1ASa@As*a_* zpEa-=J!|6N#3rSE92Ph{K_QrW6{H+iQFMBI7#?47B0@F-byx)KpXxs5|FAcBh=2BG zHI!8x-(s4!`(EPDxi(q^YzN?^oso4^s2+c)`?{IBU{U5NIIwCqzDkZ=hoJ{fQq;qZ#`MDAEFktaTXR% zcs-BE}|Ld}WtIfD4bVW%K)gqJ9^xD5nW$T%vn__m}<TJXD+887x5 za~Frkdl@Le^BVw<15ChJm=FP*#YqC7pzgcB&lw;qx#nboa#y${F23$zh7xZmr9QLS zR<^w0gJ3HTN;g+cxfPZ#w{A|gwvH`+naC;qt;G@an9d~b43*iA($PluWKr_Fxa4G( z4oa97)_F5Cd>{pj)e?y0Rwf~0%>6q85{B_7H`2XL$74Su^(1fXV7Zat+^(+My%ufO z==l9fWfH&5Xvm{8aLR>q{cyA3b^~I-x(t5y^+@k(?RGl3xw5Go^By6jid>IRcsj7J zPoHLVVGfav$_!5@nJi~MTsbF@t`r>DlbZ*?GyL1Y5!SZP_4~L1)dmwilBYupCm(sW z)6kuKhu6apvcUwW7{n~NP6V^BjF6M_PP%@essK8;f4#g*)SnZ+78`okH_b78ZQ7Q< zo$4@KC^x^HTAvSQ3!ziQSR6b-rYS7Xw>a_fF0PYws=wt%{Z_Ag`iQJq4737Y{##*E zIbCipDUH#*~;%kTR-6`{tsu*Lt&<};{1o=kom7( z?5bDwswK>Vp*DIn8mpL7pKaklhaRB4Gbhf28FKsQXbY_0`#)kLyc#g$M!iyN{Xl7w z(i&6Pwb94Aq3Vfunr1^B5C4=hkpFgb-(ykLyYB;Y%H*aPvdhpKhuukT;Ezts%xJ0K zH0kCoJ)tKta?MS6_bdmx@b2Xt9JjZWwHtlb&$o{T5k0f*_!~hNA3+Yg;&iE%#iUy z5Z8MF1j^GH@{-n#hj`LR?t)B4ej^*ZtbNEoB}KmrWpBqS9owO$@m z6?Vb;jIRLPshy>=4sG{%l>R?F%IO}pC|f1ezyAwf{0u>pf4sQywG*6iG>fEDdV*WF z0rl%}`Zu8uZw0(Un3r4pKN6c^B5?`D%=X@v#GFd!t>q{Xh1i10HRc#rMz2k{Bgv%r z@ym%N;qj`e5c1ymQ37=h-Ty1^N37XsG3szVN7oq&^53?eL6lFyh*c};%)`XqdXHJ< z313}{&UK+I<2Q>+L8}>25Tp5010Rrnz4w{8&r26asvXrvdQ3K)+7ozx>31^sy~vBN+S)vy&^_Um%Sn zAjISg=OjyHvmt}A{T>cdRkIsH)8iS(%fqD~-ea%K(EY#ZkaBLIC4PO#P_785Ogl?% z2v^~|N7(QnOw-Axde`G> zY-{~ms)i5GcO%fYi^-}K1Qn#Q0!4?Qw+B>bwZYR+ho|I(vh{i4|77!W=-L=5iO9;N zA`&_8H0Bc0`))gVN@^5 z8!soi(Q-oM(T|U*TOae}?x3o58aPm7zA-^6&Q$Hd~^V@O|!nG7jj-}GGTV_&o21{QXC z$fvqs*-tykCK>p?ga{Bg7!tS?n}6md@E!kR+7uW_16aI2vR6+grmMIA-a*Rn?%F3J z24WF>KSI8y2VAW3Tb|S!?Y4(lj_)7a76;LWh6@`+-Lekf(dZ_4uv94MpoPgwNz-rY z9iOiUKY-v3=vVVK1_htYUf-Wg7gnv=r6n?GsC1P2%vRJ`p7BnCI6egHsR3Vwj*2{P zZR{ptCVYxnQA0?mcGNiZmv}DC2Xi8QbR@w)XW5Q9vsptKWA>l7Zs+F1w{#4mtHgfY zROu1;r7{@R=MXib#UiZ$_!(d%_PN6Jkn~Jy%iKh9+edq_9V^27enm{3f8$l#5BMgy z?2?9AZ!@1=7V*ThWR^*Esc*Cf9vC4WV3FkmHjCde68gP4Pc5P~N_CNAI2B2njY)txnvgw1(JBby*@PW0N#v2haqzFOa}{f~Ho28oQi80eV}zyA+Mi>ao= z&`;WwJodhXk`*rMv@>4B*dXNCT*l#qCwV=XRoK!|z$%JVuF5aMwel6~|883!kt!c; zQt2ig1uM8b(kbx~)x7vYI%=qS^2q17aHNm`$`!0K?iRvPZ#?^f2*uIg-yW=zw*L{X5~Jsm z#%LwoOd50!1Ucks)6C8@{G9e#B4*dC!Nl#>$Ou)@JsNm5swzU2UrxCD2uaipE0lrsV?Ay!X}&r{+u?P ztN7QUG1Ca6oc`8B#qGo|nub{KF%EJv^E`j_7tVu2`PNl7(q)MG-eQ^&2wV-IRH`Wk z*g^f*>_Q*_3M{H$FrKnSwL%eZ&jq9ZvZ55_3Xru}jGa4xm2FLwZ#R$HEf6w-v^i(=gyyoz43F3%}K}EAGUYzYf)(O zysC!{O+kQ7K~lyvF1fES5w`GAf0(MNLmPL{87?4X4hmh#)GPFdi+*f10KOV|W}^3l5tqs&)|-GX+} z6lDY3>qvhu4p4s$2WB%b#y*9@e!o?6SoCxva}n3ynqw6{Z5^V_20M)T3zQMhRLC)h z?PzNS0@3*T4>fVXpm0f>8S{D{o~#90M2UC#Gg*K0aN}|C;*3t?3PLA@v#Zxg+X|Fq z2Fublkq^`)-Io)2U+$TmOPZ`gHA2~Z-aEG*jE{|+?(d)?l>hE&2onDp3*`0DYz=?J zji@;U1}zbUidb+n2Top^w^{w#Qz7w4n&Yn5J%+I11W2vxN=cjk^Xn1h{ztQ*pTIwd zw#M<|J?mh=5Y+*Nj(U$+15@@idfY6?7CbiPAqmVLR-5~VLoYd6M=X>x?p=*A899~) z&07Pd@^*Amx>9(3a8&Cj-!ZnAr$@mcNG)G!yEw|#XbMp0Gv{>{JX1URBuMC!pO9#7 zP={0N>5x?O4L3K|{~$Xi?Kz_teJ>k%iOJ75N2*>Nk!z^2;5C$)I1KIv&AU_x%U2`( zufT<%{oe=op2gs}uBVOr>F42hiDnu5#9iokRz7-dO_%Q9`N<_u^Gm!cX7lk$64N{rTYx2McVg+(dIBy0mhBXqHb!Jp=%wCe-%@wb z8vVf}XdQEw&dU8*{wGWspGk;Xw|djCbzR6ei<=w!X`|mIx?-lG=LGCy`j$^MT=xrw z6v~+F0oK6PzxQ8Mmz&X=B8%mY8TeK2;*sY$dH5OF#O9{K<=(-gH;DH)9#4@-69B;$ z=uN$;2>ltlXvQupc>xii{>{vA$SluPzhl5;&I~$)ZzjEUP99=RiD#lWbyAA&93_Y3 zdH_)T-a8hvhp!R}jpOrrhEPInb|(8=kHgB%pzW)vi_OSF`YRN$<@wuM%Z(Tt%JjoQ23)u1n^U!tnPnCoy~Vjl@bFc>7}dNkk3wo%MAus~y_|C;m&fk3Wv@gM7p)*(M`c5AVH*xrk?H{l~$+6xrz zl!mS=o>?jYEb4=b>(hHa`T!33&g zMgeu;4du-)#bc)fE@@ax3@Nc=S?_PSC~6dbYV}r9bprwyM|ps8parRcrlJ-hzuxY( z^7Clrp)Lqyk;o+gAsP4?S!O;n8om2y`ec2RxU8cuCH#xjht6^|g)^ES$jg5;6#ttA z+eHgMBO5j^LQL zdoophE&!}RJR4#TUEO;~7lrd!Zk96|;%{#{xH1!$I@p4ms}T9H8uS@ND|D#O$GVBPv`W;ACfb`p@Ls4%>N5Zlk1t#^a`*=$-74(P0k1%++&BQC9M~xRD)Zd~ zO_V}=cLlmQl|8(iCV6PocjxHUAl>EZDO{i2ltt<1JV7gIITTud4B#5ZR?ie#FuH7i ze09U^?1%)ejOhuWgQr}MO=hf{EpA)c5N)MIK!qkJ#Bhlc39lIRT0pjeMY$2$&C(YFam zeMhIY$e-h(EjHJ*?jW&}mm8;}jd3Kh){`tbte#43P5ozSMCb>VRf?x?Z!HJAZ(Xm>sQUdv;y<=Tq*q8*uW84a%TODGy*A>H`_iI%O0I1 z|L}kC-2QW68>OD$3t)pz=^&$557*>7T4g+vipWr<`jN45Ms1_c6S&<60bjfKaA?S< zacXY)&iy&fxPZbX-UTTVqtp0&=Q!XVwK+eVf;H>}&!un^uH70I!5-TK;%h=npN=m! zd|tyjp5I+7Ih1fA7IXtDf&T7n3BFh)Y6L)-2Tn-h($-ufRHGG+;4W+4wNtX*pNM)PIU+0(X2Vi)QmkZjcQ0R zn+KTtO0`ks6FEGg31CmLm)TDX)l5^UE)AQHvop+7NPT5*IvC;4sx zM^?A4%ab>+Fa|Bomw;V|v7N)+&k1(FlZa$x?YsehNz`Hu70j3joo}**qK4|YKnu->d7~SVj90D>URM)VTx{O$+(h@z30Fi4AM;Ylj#7v8ANKq4eO5xFkiG-##Jkp- zSNz0PB|bKu9{kjuThm3N$^e8TpbQx6O)@>Ur~S{0Zp}YxiV(~wn&(3kOE@Pr^x%NS~Vs43U7__Zh|zu3d^1Lpx+b|da-vI`#_d9%bQ?i7CK8GQyG5}WRuHL z7ei-So)4Vwnn1k?vKyBZxTq)rJJUE|+~qc{l}5^`%g`As{sCOw9@&4%z+>pMOIGp2 zdF5A0fAnv*WEZ$`_bwjEreXSErN7CE-pkYYk3>SWw80ZW^-**y9o29f;o`mqnuS0ECyoj|UlA zvS;-ydr;#pf`!uljEM{4@&07uktgYIf6(d5iyxOF;glOi`rQHyth$Z4DeqDk28Vt-5jq>AB#hjoiD2lvxY z!z4TF8ZOe>h5gu3{h0?W4hDzAs6}lCw_|UZY_iGh`&4<@H0x@vFU& z(*Jd-$@|+}iNn4P1Z`_en}l%Qm=kNGVa#HlX>EfLT7$rmM{4I$!=iHoSU3YgKuT2` zL6*K8>9cnANl{Iq7zZbWu@YgA?whI~NVlVEc7J@>OuW=&Hu_4;*p^>I#KFU$^ifg> zLBs!KNHp!)7QdQ_p&X#{1I;PuLwtpN(*Lz*>pktU7uag;X#Yl~K{ywPO6K`k08Z@= z3uvv>-usn7Sg>_t&+`XQ`$cC1_JbBL;R@|d z^9bwW;C=NGajB%Q3>EFAJtYWUjcycrLYedgwMbMCfQay4cQ@v5ar6-yrg=86k{A(v z;7BZ(eJCZ#wR}+}nj`3WOKW01S;iFY+VHUIpwkKIgM^IYbm~TWBqaz>L>FuA={V<} zNgUHReM6fl5-U)^^_EG=h#Nq zg8$%JZg{o`<``>|q6%B z3ZNp&H8rB$H%%9n`bTm~>c{jVJmu$Jkyf;NbA@BqrO$VQi6vdj*QeAFe)m*dH zLoyj?=FAfN2UT!OIITL%F69(I{ zdx0XLw$zA6^yyvpEeSL?wVR^7I-V}8Ip4auO=rncvQ)kq94WCBiA(|zIe=|owr>6S zV@rERSN@;D77L_hCF;l8^})NqDigm zEQ+AxR8Vu4W-!U^S;nDpHEW=Fq5=)_*E6Rz@B;)Lr$2KsnhWkNN|8+V4+n&ohA&qs zODlrbM4I3j=m_Q476x4J)>Tc6OCL5Y$1Zlh+u{8bbuDu{7L%M@;Hzaya^@(5_fS|| zSUoyGZ)a=QD3ymszP1ZZf-M)>GM}=i-bKDt#S(RIK%q8)HrP=Bq70CuSaKSUq?>PL zR=n5vduPrP{m2ZCd^fQb`ic_$#fe;-Ig`70JKPC;?-F}`L*2;@R(D{4$N+{h>Y<>R>3LagUs{BuvjHnO9P#2P;SWcta^4Mv#3oO#i zahG;Lwi*m6xVR=5c8j(O{8(q8MJ7qt{(_|&^2Mtr8h8i`zlB})>R#9}3D~8(jx4j& z!N$E)l!WBF2;qW9Yc;(?^cB28J)vQzBC}IdBPV;Ao3fywMNo>Sz|Ew!Ez2WmDxBR+ zq{02PxVWt;JgUClomWV=Ckf0duTNJzlM5j}Ph9K9KGXP})twif_BH321flQ+vl=o8 zH)Ho?1FZs9&x7FvHO4^M1ez;2h-JRKx9nVaid_Sn_s3)qA6%XW0R+swJj!1gL__9@ zsYqlRfanOs0rL)DNbFck{A81ipBoKCjRYH<(7YXac!jCkTIX|1Tl*TuGnM9%MbQxjw_cM z`iISft-qajFZ7?FXhN)`ABh#HjOoW-Hj%vbjQ?;uUu&j4F0mU=0}ih_Z5OapL_47LcXI6za|D zL*NE|Bf^Cyw*XUwW96Pp@UJai!|$**${^h*y&)*b2WO_)7j4hj-{{&wP58b@R1<)h z4m>Sj?t|TNl}6&L>UGyiX|oq(|7<1sdV#>qcwNT6NqMMTISdpHr#;KS{UT{16wMK} z;yul3UvEoWZy!e!YkMLgw9!>owbRk9a6^Sd-4-IQ%f(RqjavyXn|zS?ud7!9?25tJ zET>w~X5=S-r}dEFsZH5Uil;E@_9-w5(|p|ZnQF>1tm0v?^)70r(R390 zALVf%NfbU2`Uz@m7cYq2T57?RQmD={@({ZJ{${?v#|yPuI}Joe_T#!Tx+sipQR)gxM|Hb(sQmJ1b$9X&)w8X`H9E{R^0 zMznPxa+Ee9lx9SQ91*z`Mt2Zivk>YOOyo0 z?f7~+$$!UOu?G_rGu*B{$9JQ-EZD`_Wm(AZ>iZNb&WACHw>Nm=#u!?DLNf=w7Wyw7 z=3rt)c-b96S$%xrlXK3Zt)R-srpp`Nyk++5HFok^a2cjrC4}>DM(`&kIobU>1#tWC2LRsbu`m{X`Mo)8ixJ`UM(P&l+LIK>>jFi##pdgjn0U+Oh!txrvI{p!5G*VG0G^*? zI7+6=*SVTTQRMZ>cniCw{)a%2Xp(IhG2*XWa!R8`ly$_DVA~Eo1A4tA6O*BsoufgF zR;XksSJ@J|SFcH#i&1S8mM(Z+s07WZ%|9peg_J&m>kj)2eDm)Si~nMWd#$}uhv)67 zQg%$rSK>A7V;Y8EXc8;z>8?7q~qQ(52n6(`7Cw!|fL+0R@$vs0k zI)ZC2Zz)Os$1#UTpdft$io?Fks>Ds7n;I7k?AB@msWb+q#|%}^8R15F&h$nW`3Ajc zr+Z!BNmRJ_{GZdXT%1&8YI!@4U3VJT6`Ngq7_K}gwaf6TN1{p*zM`HlZeFH`RHUnf8OZk4(h*r zxHIO(5X}{%ZS#$ul3ZY?VoIPYZp9lI`tGG0bM??x3p$$A<3P#Lirf<#5S}y*SVMER zT-el1CD)ZxptWFR{z#<$)=-YG69)PissKnRKq*$8R3zNux`jG5jO4tx#G_IdY-H?R zmq-%&c<(B~bPl6jSp`?NCQs5kltcuH=taf>#4aQ|>i%z0YjL|{vM$vqvL1&+C!bWTdQUF}+Z2f9Ian6KT z?5ruYEA-geCs3pN%od7K9B;f!lVOMPrJytCa#HWN@w!J!D71p3Cx3C3*Bm^(+8W%z zVu-On+%&Jy65(1%~CEJLgIl&nkn)X)WkJg*Y zyy`k&FiZsii3i9u1GN@vpp-xeyf(tLZa;o57o^g#U7C>2j}&m-mE9E3 z6L0uztPY>9d?ouE4M@DXk!UciJoQ#i+ps{1xmiwCi7-}-_?+*ajdN$#TFydC#J9-o zmBf8avUZZSDctA~fU}+cuIn%Q5A%hj5cmNCTX{IzR!A7u@`w)qH?e2jsS&Y=qJ$z# zg_4FQ6JN@)DE^|A4XjOpB8!Qw(RrEr(w{ecUE&xHN4rvQ|G zM4b~o2Z?Smhn8YC$VBnc$+%~!WZ(LA#n96a6wb01x55=k2 zCmaP~Lmj1CU4T+9ZerJ8aUmc-cY6-~L$|}UE^oC0Qj>IMxF(pFe>iOn%8TFPCJeD` z!7@&pGivm$%>;CMp2S{rq|Opm8#IRHbY~{4EyYA(rYnrw%%I z4z`t8j>n;{l`V8#w-DwxE#Rr6SF?j(Co>+vM5dDR2APYoBili2V^3994*m%8pF;u3 z^*@+3+S@~3E!yv{@c^NzGl24#bN8ZaeMw$Id+$dm1n8t-aunAKa zP-YjESe@)kP^VP#2+N_X#BP3ImV;V%;k)CKo(d_{$E zQQ>D-Mxd=`{};A%w_-%9s=5t_jQK&SSP6xdS@hAGbQ)&r`d@p~MsQPxyTe?S-ti+@ z-nKs-|HpJl@(%gw6=cJqKh;X?N{G?6hWGT(_N7Ck8N=IEC^MWtb%w&;iP8c0!-Cd7ta)SCz*X(9Q_Nf1a z?8|}VPSO8*@;a3coIkMNLtlPwd*&INX8DE0K}(XN*0Ue`Ah3($HaDO9i`{diLr1uE zK)*nyK@mdbXz$X0daduK*UICAt=r92siXG~o>}w;d0^`fTGt9#CADezN7lh-&BrIS z)Wm;aC8TU%3!^<6EAt7@=NI#&rvDcwBq*{n_DgNgJS2w#N`a4zx{E#~T|V}U*xV8> zL~TUk?9TtXO5$Io&tpf8sZ!`u~JmTV!nP zFrBFod`#+#FG7~duyzJn?Cc${D{2~>4_dHHa_6!WE(fWQpqpbIIuV|idwdozmHmd8 z2yS|xYUS|K4h4xGvQf0G&)=@`bA2zu9fdbR!K>Cuhn$1I>;7pz+j>E&Nv0sA+N=y? z;qRpN;{LFAX0lYJ*y!?+Powoe~Psc5%GSWiKa9@9Dhe7fNbz$#a{M`C7m#b_2CHwKPgZ1V4(4 z>yw7+TzM$Mo)4?JnZaYl9B*>I2dziLM01yqS|oU^xce=NC1a7fPg-9YWwW};o7pRx$)DJrD~7~K!|DAd zN!o|KD7duhays|mZW>ub64pobgUFqI|6Qa=SL^%(?~yEyA`=>BJzH8@EWL2Y_@D_%R}^@#i;rJ5wP>Axt_o@=9>K zoeZHClSX^*8K+jKi>tbpBd^De6t$NRWk07sUoAcFgmU?*G&d^-h5MUIpt84`bQG$d z?2Em`;5K@pfWXh?=<3T~h9wCX4LI$({s~|SSUo7J!*E(^xdPPh?w|bDPa+9V zMZ@g)e6daDy~^C&>gf-VaYp}{r26XWH~ga)9y))IjN%IOl6&?3r025I>;$2W@xhl7 zdCISrnyJG#hBNr@R|gp+@MCBT(KqsR69j7b2d&T$%Bn+&o^!@G-izR_Q@iBClV9qs zDbX!Rz@R;Df;C2XU^x?U3b&K~7s4yU*)_#!Weq*P82w`Y8`TP!ZgN{@x0FQf@4YIh zDaf~mU*!YqH>VPJ`_zIkBCQJuKQCOdvIlw_4u5E*yY0y)=aDqJ!6w-hR9g(8!I;RN z(7FJsLK$8kounYKvXn$)b!1Ks7Y=TL)nP|=LO-ALEa4R4T*$SH&Q?LuZy~4`?g>Z| zk&->(@S)TW+1>w~$jBIhAN{U7N4CGVimgUeKe+_XK~<5NAocg?u<2krqVOiXVC&}E zSIX&%-6j6g-T8=8PxtDtO=f-hW1|1!WSQ`kJFSc4IbFn|YBg)JL%ax5M-{ad^QKC(yJ`ZEW+YlCu4rOYpYv1$bt!(*+fU= z)}J(VSG5pN(4T>XzJA2;4!a~QvB2!MQQP<0(}Nu)8i35<&r=(g=^nc zmg>h;ogkmBZ^wgzC!`XpPOAxlrCL&HUDY&OY^sVcP&{h3usG1+Hq{h&V*)H}SKr-E zaVDz_+?>YjuD0-DR#eag!gKHFAwm5tdFExPS>S)~*|OosEE!K+Be>IGaqR`M1_7dW z4*|#mfgi)fn%`=J6BF2&W3|I5YhuBe_!_?*Rc)<33#ewvIo2OvK=~e3zNc>T!U<{Y z+buI|Cz#r*)J;)>Hv6ymFh`L15=D?BONo64wvlbv%UZdI)CV$^o_=yP=C@tU-^DWx z_}U$ZJs3m`l{OoI=7K}C(D`vF!f9meJzuz+zJD^5_~vt`2lN1H`&8q%Z^;s>G;{mn zk?=agrV)4^O@2$7V-Y2R-2M7CU8k5Iap|>aT}7YvRHemxI{_`}E1(9Ul&M2nK1uD6 zFT)EUsj0Z6T0J5G`G!_|hv=ph{0|s~tPGq|Z#R6ng2fIMd8@gfmJX|BOOxD2XDvht zOVJf|v#3b0D7-sdl=ILlQ$*I7IGp?nmQh;92a*6#h|cFDERnM75-e;7fjQmm$E zCP%%gA}kCqek;~zv2@p&7a?z3{cW!<_VRoR4q3;jlPL|b2mPq`?CO{=_qHe>vjLPz zw}a`)0uULCaIF!g3Hi3ly((O$(a&FL-$v%>kkY%D#W8pr-}THA&c}Mq6t9?n9AJy$ zStubU*XO@6GcmZSxIiva{YgYl&=W3xkxRfX5_tn4n+ARif-&pFf5X4Zg$r`Hq_eco zcH0p9A%G-f(ZZKDPp~KK6AS%*7i~#CwZ3p8W13wW7rd*uji;k{T+_nf3eIu+XXYN0 zM=Wm^;Ec}nat(7Iit>Kb=o)Q^b4#C)^e(QYw;gU5C)BpIX<*a~+UJn1ca>%e%lz)4 z$!AgTn-V8F@izj-;+KvRbLS;dNt|Fvvjs3zk2+WXvHRQ=>uiPu!phgnHXJvTKFq&c zS^I4|ZYBKs&m<@lbH^jwtXX4)cE^-6cymiRF;5%6!IFC7yMpgvNJnE_xIN#hAwND) zkl`Q%XXD;)*Co3i4=a?kHv3!)tjb&ikUaxGrkg>V>pBAK&KJfwJlgSt-mXd%HG*&| zygkJV!hO77BD{pz3|STu&_K0JWZ`SpAm%MIeGy{1PG7FefX-)nzJ_C)+rX{-Aq|u1 zFQGbW<%eZSZilngWdAd;+5if>nUzOyw;LQqUpG2P)swWzseXlnCv9TlZwvlk^)qI7 zq<0&*v{Us85Q~7MwO*Bp5#_Akp#V-b8ogkKj#k-Jv9SBCHC>23{N zaPXBNH?1hv2FyYqKL%)ZcT<92wmlO>Lf`pUs^6K5lDRKKXJA`3Wzkw_(Y}Gn3iu^A zR24-c=K$pBz>kGGp8Q&LDyF%9%Rb-i}25wfNQ(9rm6efgF9OAXvprXUYhb*h~UkD*c5lmkVR`D)niRg zURWKw1BX_%($F+@zz5T+<(0a{Jp5+j$K*n4Yr>kA9jQ9=X`1UzjIycPO2j<8*hV{P zpV-fP!dOft5sM;Y?V6eN!}$oqv0h5Heev6@y7#nl+D5kUKAsvrDG!8H@rAi&SD1DV z31a3Tl0@5!*XyoKBGW?p5?}CF5Qoc6K$reBc3ucjEi(^5&i`+;m>9It*ZggaoIkI2 zB|xpDZj`@>xO0;myu{ykO6cU;3k>oz^@|giZ9pNZPiwmomI=c#lmcpIfZ>Oo0OaPtk9kakB7tIFQM~CL zXg)iPrJJ$Mrw@KC%9Nh5_#aM9sC-lXc7p!qs>d&Q7 ztNa-Eg*&}f%VLl4x!2@H55;fQaIt)1l(R}C^T+E1)l?LheEh!<#9Fc zw%43++aAPsycr9!j?pk)_3bc~JE;S+mTY}0IAnLST@|DomM&XgEvqz z^tD_cuoNJ9j}qf^`&9pxH;~7H4=>c|gNu4&REqw=Y*gi-q+OC7=j&8kpDXI0rTBuP zH~JD5(#(4E+r8mLCDw-{_2tdMl)Fq8EsgoJ{|LeZmWShjLZo8s)aAH$$C_dG8M!M; z%bBnYvDr+iLSuiRJ{07wHSa7Bwm+1!{i}tytL=`YE&}#jbKm^m1Q`bzw4}zo%Bhl8 zyJ=bjwSG#nO9YI~!`a5cnAv?b*bknT&-mbApJZ4@isaxGq+}L=3f+GlKjdv7+!Ohv z=9^x%{;QZqJzAKDRih9GsR6@+a+1Iir!56Czk)FCZ@!*^J>vP0zVEI4{m}TRtG%1_ z-5X}4pL_*(hg*w0Q?trW?%UP0LWGK(&y3Ik*5JW!n<8CvXiC%Lug73us&H~UU{}#W zDn()!R}}jU#LH|93qJA$Qt{zwE7wi_I8e<2ql_`h^^Df;irb$O#`eBcz@a|#uB1CE zYq-cZ-v&{GQt(?-<$jC6J{9$sRz>_wChWb_Q9||Ug$ zl?cU#9c@?`SY}27aGb#H;Rd)NHnmqpNY%Ypca8=fwSNgfy-a##3`bI3X^g|i^~arY zaNelXWPxkrSo&gCw&$PsGG7h*^SgqeSSqFm-btwq;&2+!;1Mmu_51NO9d724ENZ$c zLxqOBXg+qk48gQ6{rCVEwafN6 z<_Ir=eo)@zNXv)}&$?#I#!2K-z~aq+7aMJ)#6dS}vKA6C1mK#SpUw*CFW$+q_o+ z#FP9^eS||g@fldP1we0+`>5OI5gFtAd9r*0EjFtF6dd3rXV~h(fljPkNw}ld6sKs;xMA=uiBRrF%3d zU%7CR$L%2tTfH)1++VckG{c2BZ? zdk7ngM<ylH#`d4dtaIeO%88pi3GeasykB2Q zC^HoO+z_4cA;xJ4OLxh-6AIbtlmihE-xHLxp4=eQQ1N=TKppNZ0EHp&W2*ADz*@3T zzq18A^q&zBhO@hm8NCb4opz{J)K=V|ETR-q_nA@hOBfx5lAT=1E7ci&#xL>I*FZu zcz&lIJIoAVF1skrUXs@d98;rZEAzbK0MFp_@vac{@5(~UITtrB)1dozy@75xkUsZo0eq{1- zID;t^nna1O)E>En`4n99uGh)^$Zkjww9xp2Wp4zu+5ktQ9{2$nuikp3YaI1lv0o4k z-S%6Gsh*eEPy=9h2#{|x%GfeP!HH7!;uMMrWguD&)^4}K@aNiK2J!zi&LsH zJK)b`rrwbU53mnT&TICuTfZn_U4g_%*B?w2g_rgxA)__JC#NpfMw^ZZ3A4o7sX*Kb zgG7LV01?|49yg=BU_(;o(cn?(qm6bjye`RTwJ491Ou4Fe2(4jX4GRD3-vMLwyvGT7w(c0u1~($3V4Bc`T`Y zpjgnM?RH`DhFkenLFtgGof=K_k&G|Hf)fMr*#79a#YSpI&B)xQm|;c z;k8meE!2QW9Y~Q_42R%he|^hXt&7^;<>Fc)4MW@{ImVx9rbQBO;UYOv&&GhGWAw`0 zs)-NHh5I5_Hi6w<1wy0E%zmhZ9>3qVX}) zQ9t@oo1x61&ZVdT(SB(kf@a?-qAeZe)E0foM@MbT=(Pg|Cz0s!-b~o$x;F*yd1U0n zp=@TD5LZW9W3VQZqxz=sQ*?ON2v$*`31X|bq^Fte;A(+b?Pq{esvjFm=;VMztyrvG zC@6vhyq#N-`=}Jj;`Q=RxDU{5x`v#JUyXCHcf^FXOX_V~ITw*@;WHZkvQ>A-*`SmB z80pnAs1OQ57VC>;SJ9jI4@&1=HggNYXBW}2D;d5lvT@Od^IoV?`XjLZWi9g9ppJ2H zTA@A*@@)J+#z*la#M0L4Q1se7m~>&}S=mt2bk{5uL^2X0s0}5ZX_NSWDQxMAJFsLL zwxBRgdo)w5E|l(MkQ^LAUM)IAc3E6LO_yQMKo@Eji2?v9@qr(1=3J33HOZIuBHa{h z{y$W_H$hMAR>qqC)=6ZOe2TZ#F~+uvKPJ!Jv*4|sqDwq{xD?W3e z5+!^{oz9~%yuy!AZ#MbXIE?Hk>E6nH*?^irIhoBS9d9R2Tu_d{4gbp0ZHbS2werwI5yU^#XSfRU zp!TDzN|N501!L!>?r`5RUa`*F$tFkd+DGRK5e>0916YfAjKKT$C+<3tDKjMd5? zM()ctnHWHk(4`fB`pxreO$m$=Mn@QN#)#=|_d-uRxBXoQeXUexTMUV%0c|`sDWgbg zP>Z2`bz%rKg~36ay6l5~#vdr13c0gFf)&chY2&0_#v%tS|~uQ6|@Z{(nhNHL0{{+t2=y zUdI{|hMS|o(-b;f?*&W-&0Zy?O9tm>AnX~jOS!*wJJhM3Hhz!2Ge zhz~noyWJOV#nI?ikpAU9QuFX@jvLxxgH~X_z!Y6;_;mU;O-G+M+SQ792ZNrz!Uovr z0qYAxQ&*6?`Z8Q94Q#oCKekPJOn2a9}`cuKj zoV5g$pNu8RCNRkdlV2A}ClB0!+?Mjg*KL$oJTA@d;;w-m7yf!I&er>uztaN?+SKjI zTE1NR&(n)C{U2;Q2EjPaRrz_tRt!5hR{8@KcDhENmxFXgu!vwo|DVE73>@~+*9Vqd ze!M08Btmx`Rh8@nj#@u#o(Re>UU~}WMcu7=;@@~6W%1?`^dGkoHW*W&ZN9|oPq+R} zLUwbhb^hiXs%HJo2zR#>5c-L8Ra~pwsYNxHm&Fpelw>R}ClX9FU$!JL#9wC}s_7X? zH1&1ma>c>~J(e(kyHpy(o&v-@+8Pp$dPvB3P8-82^HwUa0Ds>gk7WC{l;zijUxZhY z{|hlf*#jPBKVz)FRsISU7xP3Wd-u)V?Tbg>egWR&eOk4r?F2FcsKeR(8?5O_@EzP_AD} zsLpK_0lU4bFvM@82xQGkoIIPB&WDR1GjQ1k8FPlbvCk>&kj~2;n4<42a^BDqjQaDv!d$;wHyIQC=%%cpgaJZ%+MDC&wx$T zoevO=F=cvYB=8E|nbA(C zj%*>CXL2)%U%KI&&}jun{Pn3a#xu$XJ^08pMvG3#_|vTmZna!oab&;7QF)94XOcRz zvhE%**I**va+(No+Fd9kq?41{2wx(INoqOV{+tb3+4ucWOTt8%CCX=aeb$vN~c4QxEvhL5d3VA6s<%3R?dL`lfhX9khb3)7@?llowAGT}64DZ}5?5h6aIzeyfYmwho371eIK>M6EfX*HxzA1ihL%gjV2 z0BV4W`uWUtvxgvc6lm3r%ve=P-XCol{r4Fr%nkq~qmKshSi4-&jh?$qC-yqV^;$1e z?<*lsIZ8(M!y1?7===8*_aDCKV@>Gjrs+-okpsKOn6r@$EaVOZPuVUeucyb2hBR9K zE}jTuC+2hrG+lpUt8#MHl`KE51Fn$aJeil5pIjC%HHKcaYevE8Z41Z>^KQvxiuOxz z+;-pThgXUIj%xi1aEGFGf_e#ogBF&P7x_-C(0aE7_8{s3s4Tz{ur$S}pEL2dUJ&Wa z4>sUY_w!bzft`zt7qbAsXSu=tryE)bSytXeYkwteFv__P*mZJ|bRCCWiS2gx#x2Osc7 z-dp)^wW3M@ANhH{(zb?|#+0gNkp7|spszI+0BI^g!}=Ru$3^E%p6Mw4Jl?a*zvJi4 z^FM0effGjDri`jR%8~bD>Y1JzuA~U2|4s)SLnel1etTP6+ZMaKHSb0I zbn+suzAo^|=6*F=0q;7Q9z_xHoz&H^8ez-s?k7+~5fJaDf^=o98En@)_c*DF>^=<4 zd1^GBE` zORfAhrysWsm5#LDcM_dI7*wR`b11q)g)(kZi2mv~Kor*#sdaGR&>ben;$>3AbU<7XKR(#$!NPZk!Z0y&5yIz+jL%St zz6}g%!Ro_l>c`~!xH~mSF^zUs4EHf0UJi>?apC|u3hk*FfJMtZoRXhD8LUBKWfr@j zBEFlWvMA>@#(hQJGboUp@rQir2{su(L)D*3=}$B#s08*l7Tf&zH{nAlaBU+ho3C`W z=J;UcDpOSGQ-ZOGQkWkgO!v>|l=4Kh>v!=9n%9TE{QOYVKYFU;Z8&)tnnj!~ z>G&ercwV0ejS8zp+Yur<%aeaHAo0h!B0G$R(RWx5wg--%D^_+s32`5g&?Y-&VREF) z=;AqeG=NtAQnR-7?fQE4KG4b=X%;b>8&h) zW#?V`oDPX>c7jO;vfSNo-r6?lUiIkineKF{!278)IP47Q*(+J}3B!t=N1zHQXGZ^C%i#i z1&?-6tMDxZ$|NusNlV#r%6+k$;tOl#yoPAf-s7C#z{r_uHM%8?I7+pqb8M%%jvHL` z(MK8f-X7Mpl|L0?q}Em#H_+iX4RFrimgzCX0f%yZ8w29|-)-1C->=swRB9u5n)VY5rmz(?=7MF#@7zx&F ziDE-@oQ&+Qzdw6UVHL)^r#7~xLLQsoPzGiPeG0!BG=n2T4*XXNM?C^oM?kOq)N>t? z0r37r)04*Zhw-sYsi^^D93127nlPSZW81dTSdAOowryi$+qTuDLF1&2 zZCj0Pefxg<7u>n$?m2UwdFD5{Mlx@|%SVyZ`miH4nnt#h|Mq1U_nD236zKS5`5q|b&QWqG z`H4H(79&}EyMV^|Z~sv_KLmDPj*=q{Yc)qKSSV0%4_Xh?PJwGl#UdCtP$)wRK5PmQ++vE}mThGTb>w4pkr+e0^n zT90Mcw>d_Y{>@v{nyK(92|g6cvd%hx&#cDj_X10$t#57XG_UU(-B}B-ebfy9<@4x> z|GoID!_5QD!y6MDqPP0C=_EY}Ml$?bEBsy8^0%|UZrOT5GuJB>3!7q|hi5-%U_^ld z`pwZa;YP*r1;^|9b+up8;d{@vs{wI_@J!RE#MTdmDBnQmLYI7+qAMIOKnaOtL$Qog z7Y>dZa}U~|e8@noiq){=EHaY(YBFUfhegR#J%vsyY=q;y_|addHuXAeZ&avA@1!5DT| zMb)@Ki9c3zd~N5dc@!W_jP2AQX{ZgpO8nu5?dBrJ#WrfN5*=U~*3)v*Uv_9_RnMm_}V{UHOcz9?nwtTP2BCxU-$y})Bz;S}*uH5XtoKGr#_QO7Ra?a(eR} zMVd~tu??;QvE@Hrbc{dWpd#haAl4~;%|2K9)ffgAeM=}beP8A@-ti*Wz?>E`19RN=n0zeuogDv)~s%Q&xKuBmzyX5_9%Z)2;HD#PIOuOsrX#zXGr)>R4sDl^cRa&!`ok*2ad+LVe zVg>9w6Hr+SuAnY_0?%waQ^7$9*cti${<+9mOWE&^f;y63KaUW9ghDL{1=%x@VN+V z&&NPV?o~kj_yl?bhOU|x?ft+pSmXzOggf07YPRuSTA^!HvqR^$hCHvPJa(M+p84k6 zL%^cYp*@FxdkMRczTA3S5bM>($__g?>M_oU@ew*#CDEIA+00W`5w%C{c&S>*Oe*ma zEl=+Kh2hSz<&%9<(~B` zoux$h0Eq7N-+6WV?<7X( zPsg9li+C3;RX$>+;WX6iT8DY(Ei>Emn)djGic3c&P&-J&MKB=CqsG`g5dm?v` zt*8bUwck(?+SY;W;PEWa25Lvg5N(e8KW`0sDCm1`fHZi({nK1iu^>_%crt3s#a&PH z{E$m*n@$gVE%akgMOJZ+e0xwT;^j?b=pTUNNo>B6k0&1C{9@;_8UlSE&K090eoChCTkbwZLrvy}YTirOwc zHd8}H(Q#M1Zt|ULiRuJ;KJj_bI5}#t`zvp}SkNjQUqQ$~-uD$d1u>mwiU)?YW!1v5im&siLFBpSjz_ zNRF;}Q6?xtD}_uNEza|Rt8X;Y97ZK4%}Ev(Y4&J&Jt4?iS#^z${EC`hy;)<4wNIt7 zlSUNaGUat}_4T)LZrbK4*fv_OK{JilpBtz=Y-@^3_-fVf4y%!?>gAZ%)|}DEV1UFi_B9#xMp-lFny`K>lQ?Kaal7;m`+v1Jo0KhLKpVyg|wuVoS-O$6x*Y*bpCQ z%FYYV8UjP};>}G<^!hXL^XOY?NaSYyEAYdCSPbyd{AgD3*w7FQ>u8HaFWU;9X}pp5 zN0F|kH|6}w<%42R!R(iOUP(-Ml21cVf@xUpF-mz~e8u+W8EUf(7%W?f1|n1JZDpozbcBhyUtxOAchNc&R0 zpZtFgu>;?F_F3VMFsnUo=f%!+schkQ*K9%1&S@xkk#!XK5*@{nmC@6 z*O3tOs07H1*T*3(`fAD2(pbbOg4QZNlTD09mxUo=@OKCz4~fWr4nT8H zduV(Apv^wFWIwZFV`uHp5&Qn~+gi6PIc%Lo+N?odJlt#axHWi$4;dA$47M}MXy{dC zK%Z40nQ+pV+XzBs{Y}N5>cO6DLYDFW8AM;uyUKZsx@x7ica{)tdco zOW7@);Ai9lm|p$x^~D27g}6fs=GW#DA+JLs@?-lnx@($54p7ve6u#bziCWH)3gk=z ze^BgqD#r|+*-v%uNGmb}2(2dM6~o2!&O9VZQYN)!4S|+wLD3c)0)c*4N@0hQ)*+&M zURx)+2=>VfsbJS2Fj#(TiAXaLec?aUM$GnoVEYe(LTzjGnwamInBUy5CB<-}Jhj9> zeOWsR>X`D4-#ZL@Pp_$|p;3vm)!4@0UUlP!g&<@+hpK>3LB)=hBXhT3tRjs-l+#Sp}l3_~bU z$AqiE@^NsB%%pXbwj=7vKs9e{^BF4`)C?H9gnJ??7#IdYHS-O`E-4rQ46+0a42<8? zwdbUuNnWnUxLpnf-S+;haw>HO2I}&g1Gj6KQW=qT8J0;LZSMtvyitC4X6Mg^PQxS) z#cZj*F9tt@8VV{Z?{xFu&s4v8jFE|*=+iiv&M9pgKW(c*CWZ^NZ13 z`QXUHpEVE>&CrhCiaE#sdo@(Gdk1cIN3t}8lCJB0>Fd2?efED$VDx{WV}c(p+M~Cs z7)<%zp}%mlcGeo%G2jdV64&quWE) z9I=o?UbW?MW`|oiKP$AU9!e={@Zzh(_U2pJqGa5{z6Q#m@jlu9v-G3CgDm}7%o37$ zTtBA7MqnC;T*s9Rl1QXU@xgYAzq4^T0oW%4@SPN>U}d`;2y`J0 z|AQSuJiBdj#fU5U(r{B!!gr(XXJtTmlfE9qF4Z*eAegLHt)uGPvYvc+&?>S!c*wTy zuSuFapU@;7T-Z4um#&xSU|b1YB8fww1pFl}X9K)0&P)SCdP2qPD9P!|w#_>_EP-4y z_9$)x-z*?#d_-{m^clR9j513b{#9P5=a% z8>WtKe*znJKJVJ1!jcP*=7$2eFOpt#KaB82%!PVV0r8QH{by|#msz;8zC3iuPk)6} zula2|C$r}l2dwK97?4;l+G>^2PSX>8>>Wl@i|lL zi}>??@DM|G2w1Ys1$kMrl#C?4Z z85^`{iO>^vdC!nA*-8NQM^GKF2Z%ulDok({yx#I)o!S@bU;GUYJwuIDs^c3Z8#}@1 zH~@qjbG``qpfxP6DhMS32+1~U;v9wS*3BoL5kWM{5Gd<8gcX^fja&P+*iCj;;|(O~ zwDUzVMi<5&BTN-JI+tKqp#}%yS_-#sUhaE6?1{RkE8{|bf8AZPY53>MbOgt{^J(u< zD0@1u@JJi$m()Wzo<1||F;RhF%!3`YwBgc3V)-1`{cvw%3qd02I!5i-V>BkV1C=<} zRX+cD^f7oqqE-){pmqDMlBHpAd?72z^6zP?EVVf60?go9gVDfTp%aXYh}S52l6u&M zq~@n67aoY?2&0;Y>~D{&Z8};o1=2&(4cnv6MS(+HwpkYe{DBfMG)@E0XuhnDZ91*G zqLW+?k{MwYs*BHamfi2))EdWVRd0xs^c#&u=fZ~~Q(yHKFL!G1>IBY4!@^#n$(qfE zCb(Wx`)YbWaPGI0qf%K;+`&(`^526X&4^mN++SkBCRUcD5u76aV&&1iz$N#i!e1jA zf=XSbKnyt$gwOypVhD%g79$`Ysx6P%Ilt~2F>`)PcvJzspdJ=x@`Ru$8Lz$I}J6NlMmiuxXhf8I`yG2sLe@~7w2ypg3_!3Qy#Fc!vno~ooJvp&rKohBS; zv)|gu6#V*WfUFAA5?_EAM*l(JW;4| z8Y&R7_I01J7kqIWkmyR$y%e`7iiqo<&>EtODb1~Asg}cBLqPGj`fJXtM2OTjfJh;j zdElfa-=+CP7bPi)`_%rF0ktI>g`J_NCRNUKV;Snqp?|}c98rxd5N+KRmU;X>sKIuM z2uq#J#n|OjLmD<_BPmT%7|JX#_eAIX&(_HY&{)w5zPkkU#c)&qMYv9lnBq zm-*R_Wc_i3aL|P(hTSwpO{QBd7TQbyJ3)1$fVa}rJHmVpuB)@4vL;)%=&>}26(*?C z>kTA5o&z!5K(VWl0X@rur12zXc}JPeDu&01*hvUhfK$}rsYbL2KIuUd@?nWP4a$Zq z(98yMdjbsw#@s(B%60yAHL~z0+L{1~()ak|;*c19D#~i^yeY%a9PmhYkH01;&cHZ| zOd7;pCB$JBTL-a%M(dcnF-5N>mHv_9@Dt%&kPw<=!m7+fx7yqBQ-mn-T|u?dW7qe< zo55B65yP!m7N<1BB@l|sc)2$Y7T^Z=@oaKPR%QgOAwP%i#K0}vfPNzzL+1An!7^np za|-%kea!SUpOyy#-G+TrVO*9;T{*U>)^pD=U$y2WVy*6^`!C1A?jVBX1`rGk6nPyJ z<=>)V=Wfzx+|2F`yBlVxlwn(@d9-YEwMN9L3HeA{Nt>O0%l1e9-EzyY@m7a+a(5Kk z&g-1rxQc40rf%$MzBwhWfN`}rIu$)CUZl{kiOz9L-u;_6HvU#J^G|qB zJtj@$tM>kyEt=Cjrz(umu3-wFg;%Y1SJrq?zvWG8_QtH^m^?PWHRwA~D_&4Nr9s4^ z+b0TGl?Z-8}be6eqtDjkvlOwu}i}B{=@S z4*!jW1EU4)Ju+I=x-(PW_%ZkNH7{)aF~-kgN1x}r3O}=(Iy9(%bOL`C|BzG*X7%{{ zk9FFQK!N}^_OPrQ;pC7|Ihe5e1S!*il?}6<+sT6Oyd7O-XcMqTnd`|3UL15ro}ZLvzl*UR3!$)K_g9X0#S>*$$wN(7#9)&SAVaV!^B3<4c>; z`xz(umnd}Tp9cYCHW&Z3;+V2djpK5!^i?PTZTi`+Yb)gE&E;s~#;}8BDSB_>tbmWT zt6ojm_lv*-`N*XHZ2dp#v~*!pwnVh{95Xo`61~4-7(!&o32T0C7`HfpLEx5$#ex`t z#rwVz-ePV&?g3Wofpn{8(xb$;ybBv&pYe0vB_hZ`FagllZ(iFpcK1o2!5&k{M2|xCkCB4BU%&v=+9q( z-44l6DwBHor8dpZ28f_Dn}}6<1Q=R65pNZw>8v+1%1(VHh8?}%th%C*Dk4bH6zQn; z2Pzw-K;{~v^3DPV=gn;YPxeR%R3NI;ta918p@gB)arKlDtoO5C@y3JQG7TwMK}GGF zo6!`~Y(jbD`6xuATYP`~G>aV)UM%52B|bH2MNxSJmCVs+O3@~K%Dl|WfG&%JSJEp9 zQu4m~(~V5kr*+Ty6swL3EL2?&T>weTlG}#l-*YMZP%~Dw4PE1=s1lKGAed6nyHA-> zQ)sJDP{R+T;K7=BN}NZs!SQccCmyKDJYAkVxpbq^a;Nh8Xbam*yAYKO)2CNQrou1k zcvPEV(za`=A10kHVHb7Tk`#nA13d3;e}Y7AibT0Knp6_=;w=%_EtRbv9EJ3uX&&A^ zED3`>b#-6Z1hRJ@PSZHJ6lbp%=}Pg97mi)TP(JU1a;`L4&382hgDi=GBW#_CntK}b zUqi`<@69G|!0LZ~xh?Q<)Mp0jL9`L!d=pL!P+$HBaGrKx)RWnx z*u#n~u1AM!&u3X6zQYdS79OJ{B~7cQ4P0G>@{+C>x6BF%6R*NXBn{d^YCw^y6mb?m zK0|C`|0j1VJ;bxhs@ozkO0#v$YO2i*>O||sK??WbY;x2*Tb8Vrv*A}-k zGcoj0eZWAVJ)zrZ(8NS76piy}Y+%#eSh!%@=iH<^SegFf$M%!?s;Tw#o3l@P?{JSbO~9Z8n$(=jg9C zH8wZt*Bm^4fAK1#Dd9{Y-_@XeBUGlsk~>eb@-~0Un&acE)?x3TbBGv){SaQ0^7RY- z$74x>X0O6Un>6RytLpey{6r$TA;j1MA2!Ms4Yv-aMiAuQxAS}4F~Sj4fTCu(51Ja{2< zr2!)ewOF#%SMgFrFYcacbL@DQzq0oA(S`!rM5RZKE#F(s@QTy1GBG5?jx}D*xuiwP zVKdGm4%Mn$*LZSfq1v&{vPZtt{dz_oqb#BSz0jXRq4hwNUz5OSrYP|p*rMbnWG;cuems3yuInvh z8En}C8nF*wz9H-S^o{#E4C~-Zn*HH&3&^IGv=T**FI2Q`d!B>n{Y;acshIw+Ob%8E zg0+o;e$R*&oTR0tz)bjH`p9YEg=bCD$X|F!`xA-AOe`ZFlU8aBek#bg4!d1fM9EpQ z2r?R5^i8zzz`uA|<+p;W@FBS`0Nx`@MB%~mi@OSlU*cI4)XW$pr-sQmh%*ZTZ$1yP z@CBs=$sN+;9Wyp<&!+o#9|lB!0DbgTa`*NBjWYuK74)u^1LVZj|3^=~FDFhfEbEUd zV?7FLif1Z}=oSIBM7Wmn+#O;cC&sx-XN02YXy-4`Mtz>H@rG!16N?I;IIZnH12}5V zT4ZD|7~++85IzR_7XOVO%ozQEAUv>V&Xf1C6xNu})Q4glzM-Jc3N^4bNEzA_bNXVn z)DZL~A_U_Bw;UTymMJJ?{_K)2)P#D$9!?858QyqV`DOu){)fU))g*1SpD3cRtgVsXN$X)PJQ#T8f5XJUMnI+W zHf|)6goE62Z!zT3{tm!(uGX@f^4PRp)O#6nDtD1g32C!eeEnLadvVivw8w<-TRdCw zGkm1B)w3N>Ga4}UK>knV?E+a0I2MO6j7-yH@y8kx#jo{`EONE;@prC5$8N;l(_le! zyJPecs~Cz40b1Uo`kKRyeFQeXtCLGn`l;2bd4k8Qzj>#=E*NN+fkSLh`GjtS?=Y8 zP%b@dR*@F-`L0*UM&VKa;CD4g8^a1MxbD;et4-n{F?0ZF|A5GPOo`CnD=cPi=GQMi z7V5v*YRlK5m@zgX|6jFhP;zEYz3HQp0b?`}*(h73kuAONfpzR%tJ!4UN!_Fw=_c@TAzN&pmn9gcj-sNx|=GdG!9^z@PK9!=SwInj8L(Sgv6q| z)C@bDHfK49+o|exn#Mj)RhMM1oNO_;vX)L)E!s`44XIgw>2Nb4mPzN(k1)Ayzv!pO zNK-o_?Hf-_p4U?zGjJjou#v=KlP_|CZk`v~i19t>KD7OI;`FgKVDvglRi1=cgGpU2 zf2@YK%xquAT>NFP<#kB45kwyQpS>R(^1oGc^w%g8+J;(sh{dT>z}!Zee7~-ltS#MS zl-^}pINW*NNV*glxET+@eJHq7*oefGmc8Gc*+w& zR21a+Wa2@F<0g|N^|EuIAfOIclK{6hu3gSTeq8|tia7yY@NV#S&bAb>H1wKz`+0WS z+_$D>>vUq!DJ&9#I@)SN)heUTw_t{|j$hto3t9gy8#pc~I31@b@M=K)L1W@Nxjc8Q zJY*fqUwI3`%=-@AcYK#FAf!7-r5Tz<`BhC$rp#7~rNS!=sCX$!HuuHHoP?ndNk}L{ z?l+L1ZDBjLk%#kCv_>q!vt{|gN0`uRj%M|sDp9S22$^FViH{IBuwTnB=6Icy7ofR* z6wQIvRl9y6yJ-xy$_G{gKNiZ4NWd7Tdsmkza1BLE-Kd1i5dp3vo*|TiniH>5WxrD0 ztDE0oW~j96M4B-)a8*d#v&Z&mLVj^=jzJFajbHKAKsGn^OD_?z1cEaLy`M^FBd1fR zW90RjOp~)s{NYe>xl3v)8uXDg0HBXh-Lv_-H{W*QYtFo->9v5cE5I2KJu zs&;fkbNO$}r3b^C(GDM6^rgfNW~*P@bz;CateZE-ffKn9cR{{`uV@@kkg0}aOuix$)|!rYQOsNBrM83?clY=lgOtOWjMMbvPATPf-)5fK1_3xmLuf}=EcSPCfg z@kxcwS#To1Y6@CBPU|F}5-T8Y{m?R?Vv};Gwjrk?d~T1hR=Th@$1wy&);-R}mX)gH zxp4#gkb1Y9o3(rMDE+%HxCenBrokK-d0y`@7NcqDP84z&o&^hAx=w5-iV*X84@lFx`uE5K+E*F ztfvETYQ=G&KsS&C-@>27P$~qx@s^YJXgoXcJ4`8#_>~L`5IE&~*l#TqB?U~j0gIO3 zA>`P%iScqD*b#A?Ooe(H)-?Vu+`9x7O-NJ0(!78HKBDaK9o<3(H9&UGc_6qNs8<1} z$mw>c3&qc|yuo!;VHwd!fgwPL%IOEMiM2`%2cm`fq)A8;8IH*xPDbIty3tEJ?R4&_ z%X70Mqdl9+WV=ANyyVItHg`pAR4j4Pm(w@7TmJY?tbvh6^^#> z&aYs;S~~2=za+?Ff?b4Re-A)oZxGtG?%)yMX^#OiJ((?s)m@&^?PD@99`1^KGTRnF zX4L$$eY!(hlF*QYc~RaF4I0zTZ%I4aLteK)V#;A8wY2TRG_z=t+pb|~WN|5*Ou zRv-zQ3E}m$rZ{4Mgp#Rlm|TY*p0HkEq(#;8DdM*{ifi8NOE8a!J8f<5qx8mSvyYjh zFZ19a&Ms{Mq^6#L&+s)?n{ohyBJgkW>Lj7sGi=CBsJM`@dm8gV4wN4f;wzOKno7xM z&1l}A3^Q(U#a2PPxFSVYskN+FJDNMbAc(Mi6+rDgv1Oa?`JCUhl*jJmkB^Tt^6x`# za#|$O0);PCx#|lSkt<>1E@@dmUyjYK=%$jB#dDy_V7^em68<}}!Tmt#Zhkn$PRK&I z&thZ`F0x9BDsjWtW;cIa$t}^g<#I6?efh=<+G%-Eu8dX zTl}aD$fZ_m#&eosL4mX9A8Uv(hiw-4@$yD$8&lo&@HmpuhY8-Ki-4Z-b#|?s`kyon zo(NhYhK{QPHy;XaHeMQHTs_o`-9SCxd^HP~d)okZs%1&Y$hIop;TTy08YvHn0zk;6 z|045vzoF}&htSsFHR3JVo$hM4s*m^FdHA!N-z}nXljZOua7LkX_*;7G$n)b`wl*I& z=?~-w2;eZx*kl)Vs!*eTzi?otP=No?$&k#FTj^=z?~(w=KZ2aopw8M}tZ2hc>HXe$|+!k9T=tcD<_G7g3aKjQ3(trO|JvN zOF@Y-*u~|o{MubPLJYPR)jZ}I_~}f@A6z8nEwl3viOpRe91GUMCMQ`J#!zN!x1$q# z+L>#TnJ!ZNljv$}CVP=8n3TLqNk_p?Tj{7>+WrcZDb9b*B{07L%?!)4r3->!N&Za24rELml1wngsks;>2H@eLGyH zmoFIcphyfNYP$Tc5e@TgoARzfjwGol)k47i`dbCIbH`?+WO!!k@{Xpx)|cRiXA;Im zI=uv+FcQF#k))~k{ERF#hyYnAM~q$GJ84%TA039d>ZT<{X{+4q zX6ALTDDF2WP1rv-4;-{as0Q!0*?7z&k=9YW_e7?wOK`ddY9|GuKEgbI6jBNi!EC-N z=~f0WVz=l*|h}SugO=}JaKJj081=lH5F`t=!^{eIiaR?>nfO<^B zKajqRQ4*vi5hqeK!Yj@ZRkD`C$-- zVz=$_!_~4AM9_#_L3DGEN`W}pQ5M2z$Z{lcOLSC9Vn0Kq65?VHQ3z;Jot{bOzYA5#W;?2P53O(ue-$n5Tpj$`0az2lb zgTw?qXS5ThwHKj-F0TbQmcK_^0=5P7UG?lnh)uM$p*`{baTPb+;y!%P>JD=OGc*Bp1UebJtfNkRvR(-#|z{a zA=T)gs62|>_lIb7C(J)!M!*v(g%3Z|&Uqjo;(n+0{M*<;?>qp{)=={3lgXaW52TDo zCmyeZg4&B%@A$751cDGW>Qm|_fb9(_C8Y=6`-cen z*|-tINpq}v`o+nCkifDlnbgJaV}ETjtA=jr(x*4!^~NGLJ+aV(3xn$K*7$(eh*sG6 z$=_NGe)LmJhcy&a7gF?yrMcqfy1&Vp!+7h_n)EXMJz-dkMh7$5LSBI98b0q2P)@kZ zQ_YC$xz5RL(c9CArw*sG$X2(KPjtIQe%*vTcy3vG)kL$KO*Tn36HaTN~$;8f3u}>Z!sZH=~u8*d#h!ctsoU z-WQ2rPW(J=ec4`=QwzR?p9MH}Jc8uVbh(L!PgEx_&uqmJWq5~zRZ`CKu;>!F*F}?_ za9wjc1Jt2TS?|3g;YRtJs~Ig?BsW)}r3V;nzjUJ0IrGpFQm0S8;Kbx|Z*jpD*C1gej({N7UU6>UOt&+ydu zD}GK`{p_1|cljFhV-l1`4Rw1W*$qv4A%Y;hAqKwV3-emnsR-U(A+gq9Ls7^t_M>-H zcB85z7sI{CUv?c-v^eNDPd^-sJG_2&-|m?V@rR)0LR+xv(ath7SbvOrX+_)X4zC{d zE~$+xi{&r}`Vqli(c6tJPa2~&qjL?~4>>svEHdpQY7kA-GSI0m4%oUUBagM?52n2A|I!=?Es%;_T5kcHKoVWRB7Dol zJ3Ab}bWtUvnztZ6EvMFRqrwa&k|+5u?E{JWk3xQB%)thEVzGyYt>g%8fla6asBY+UGhILwrC{HGrDU( z{>`T|*`l5P3PlZ3-(OoMx%>`6HUW{9pck#GZKFy*f1DF}drlC}I6uRJ zB;CR4V_9G4Pb+T^Box$Ct5W&+-p7UHfGEV*&=^ff93TBf;AJ_WnONuEn0No!j>E-t}F^}&w zz$n+g!1j|;DVu*U{&eKt#Vu?*tRn+6>T5McirpnMC?^i=)vkZi)93GVzqB=iF zX>HjDLIISZInF1td6kOFNZ;D6F_Fu=PsD%8MHs+^UGw@06qtGaiHFg!sZ zoVS2zrMCQD$36bL;A}gisG)!zCv7<_xnP8(wgtBQDNSXd= z;Qn698vAdxjGdbSy&*Z@zuiudVW2TEXaRj$Q|H`)h|RIe@A&d~IHv0HD%zGEEK3jG z&c6CPI7k{>1wvGU+%3=8iaswprMJU+K8($fqela7s=k8GCZ88wk|q=VF$>P0*IvXq z)Vc^IVvnNY0CtUGaPa}PTqO#Ddp^qqamalAC8LKHn@nmwm&k2x-)bcBg0P?-FW9gsnm_^F8-G~n?3)%HNCB#ghqx?V9%bC3gxUeiqN z&Lh=ZYqMFbY~wiGdXGqL)$(jD4gvx*L~Y&eF*WNTia$ErD!s2QpL+fSKN|D1^bytk}}G^0(`p#7M(@zw6!Y!;vDXO2e@{QIv zhdHHu&S1)*!)euAIRUsVIxIK}`P3bfX0&tBeT=UmPWTYdV)_!6)u61qFdUu|(HbRG z(J^cO`BDd^8}~qn15iUJfW1Bs4#Hk_st|l+kjzfVCq}%T!U^B=d#VCav^|$Mk5-SAra9i*_&>+GLkdDxflA5uu;=vlK<(tprH;wRa ztgv0*@l__U3v0*W-srtYn$vAvJa8pL&s=Ab=6%N5<#b)>L8?F29*21AZ#9n9H5Vk! zD^xNcsik0Gz3=!jh-po<@JLY`=bQ5elvz-$g`suj%%3xQFovGBI+D$PMSLqP(c?SW z33mCm@na0U1wX#)x1}ThwOB%M{2#}5Sn>(9r>Qw%y1c`J+_v0AR4QwmUQn^_5(x1e z^!{K~5QM)%GhLGV&zq3Job!>{-Dw4w1s$KGW#H-1O6$PiRUu0 z8XAkoWa2=TM0+vv(}r=NRO**=^ilSz(nH-@Q63rHxO9c)X(G;3A0Aig0w+R_jX6ah z!xx{0trSt0c|VQvQPcy6TiUVKVI9WMnKuYFHL!HX5ttX`v0HHKBoI6OcQcdE1~Hfo1Zd>v~f@b>XqB0>uU zaDZ&On=XE3N!09%r)D(h%*HmbqSJc0xR@7Sqi>}b*Vp%6<7yLXi&+64Z3EM8fK6|M;@xALs#Cw? zN3hd7^4AQG`zkpkp$>taJv_pL{ELAQ%zlERTS84y##W@^9@Q<;*$?4M0mGz2H#mkd zCvJ%V;pbf!gC}kASGn0s61@>+MMdJ^WrsXL)T@{uGl5tPJWdOxc?tcXc}pE%`1D)4aJR{?H^d*e{8ZGtidt;QnqGo|rcQ(ST5kQM#5+P@Cln%52}Vz@pdG^r*)axR=K-u4FOWJH8;*p*>a zcD@j9<&#ISsO00^E(&_Mc%U(BO{Fa_v-gztD>Fem(0eJ+P!E3}TBz1B8Oi-@?K9Do zdv7`y0l1`_h4ZG}$T0bpUNx$)ibqD=d3qnIam@!R{xSQ#qKTISdxese{f!<)OY*lIxUwX#52ZpA%tR>vVAENVHI?wJp_QYLEFU zYb6lU6Ku3$JaJOm@CLV`;_eloXz;jW{mMDu)3({7doqQ^S>{DlP>r!Y0aG8wt1Qh? zT1z-v*56(7Vi+}Z2>W+7)SRy(vx6?7e7DO*bXK47Iv2d16WSP2RXhwwDKAa88TZZeGRE<>#-h017}pO3EPKq&F6)O@odg@7XjA4$Pk5Oh^@-?kND z6(%|n_HsRn#O40wgzTHL==#1nHwlAsguU*N;}oZ-S^t?>=CGDANXGPh@{NIp3=r`3 z^3S;ZG)A-Puzqxm=!4e@Xy^C4;hc0pF{x3pc`r+r{MS}&x64@qiXyc_-ESF7?nr{r z{>uWoZr91621`LJ##j}XPC&tJ3g`lna&kJMf{6h_+Ik#eUFs|b_T*+)+okDno#Em)V%0grbk2M&Eh z1~7!mza=)eR@fQ}goSiymHF@dU4np#4$jr9e4e_zY&y@=9^UNTm=C=zY%$ZkOOABP zUk)iLt>_-1LbM54EB2Kv!Wv;tw=jScUe=-3_Xnowi589h_6^n+r%p`SO7tY~rZ|Zo zgDCB`W&g-&Gy1xM|MnMD!m0rR`aq8!Lk8XRPWTp{Rq<&WIpYo**mHJ^UIK6|dbjN4+R+HA4JcN~nE03T$ zV-ITdtcga9bhM~sG6N1m{WV=F2+tfU>htx_o|@~4?f*aR!hcWenIyKeFz8e%MX$3U zSdKFKGU@WHYB>;~&+_=XomQcihaCw?1F~QwBN)2!d1vL068zP^*|9c`YNLj8*&%~6 z=gJ6PG#U6NCU1S8d`B1#zM2NFNnUK>FoEC*MCbG}W$Yw3kRZ^$6TbKPA4S)|P-zo| z^Ubzho4@RC)@IxG)@I$Xxy`n1*Jj%`H{1H!pK#uH=FH4<9_Wk;w@sbaai_ZfCKt@2 z;g%1=m}GpEcBH220_-pB2ll;(vrGAcSvLyNbukCVfPJF_%YpCPv;L;U>VEF;!&v7~Hs!Q*X|Pp^GDdSh^0TWPvMU+WbnzJ#I~HRmHS0~i96z?ephnS; zaEt{vD4r#)u5_UWBQz=Ct2G#_6wrOol|=#2Y&K zFKI!6u!W?ud=h}=Fg6ml#~)ejj=@&WcVX^(N0XHFILx3v4A6tPZVkG~npPOmSwq~LHoUy@+@=B0E!-4ItlwH9+*OLFX@E{8Rj(WE z^=e4^tqz|hYa`d6&0Aw=u77d==ifWGT3%R5lwfmiVa0dPLxe56G+bInegkiJw9fvg zDTbp=2SpJD;h)AG3iZqPMH_mLQf#O%H>J^+i}z2`;fuI`7J0Rb{njrDEa;|R=lHb0ztSPc z<`p{+3}Gt+)cRv)Lqe?PDWWynG|qV2N1iF4Oy2;CgmV{JRXjym4Ys(>S6X!7G~BzM z>DdV9&hT7t45$LB_36H}W5#Rk_-(qH%OY!8E8SpZ@Z4?BtRAJMCg?vhV8l{W;qnQb zAJ_mz$qXpJoB#8uiruzrr&y(`_^zuQbI^D;*LC&k`mF_IlMN4c@ee(QqWoGsh({1# zQRACW>A`$K{q!S$8&#n^A}wKibl`&=|M;55DXgdcz~96;mJGvQ)T<7${ywx=$q>Ep z^jchKljRx&H!FgB%K!XjB)?upXHI1$53e%Bqg@NS|# z__Vd+H~v^^u+tsv6kz{23HMc1>yWE9CA4y0*MK?6Pi20EGg{cRtAJ5bY2d9#WHlqk=!ucw@4Ej*X-*?*fR zy+D-LlZ*rC;kcu~rZi^6F7ldy&Rnfheh9P(W__gN`~yR@sGpZD-l`ZLDtmX6Thp~+ z4k)gTAOND;VG$FW524jQmy-iy*s8IT-`9e+y-HouVufVw4yJpopX^+2qdwA`N*nG- z%$6cg|9J5rG3N_2fS?Th-$vaz+obyuXEJ$RE-$f4>=9HCs?(7#(hJf4YaHF0dFiJP zlgjLx?wsQ*vVCJ0BuP}xHMrgbqquZ*`Jq!Y!xRHOj147H`1dL$e=K$TS)rtMb+u_c zV**}O=C-a|nwaQ-+R@FeIPSWuf8WgTRfA5Y1q$g?s@yTzu&t7TCijkK%a>`(~vH;3018}Kq`mOtZq#Wjs&1W5zHQWFL zn|2t#&JEA@x^AC#@0WWBSo85nbS%Sx=9yO#c!&dYq&Y?j$|g+3Lxk}s)k%c>Y0Do( zYC7V!$GkS*`qMZ7_af|NJLW`nXP<2-{;B!Poy`^tE5WmxrHZtJF>o2T2kaKEvMW|? zEngTL1m*JexdcKnZkn@>a#!A|=7c(&ZTowIRwa^{-GH`I#W3-2jY^}8U3A&-X}cr4 z*iBa7H}1iyPwYN2Wmw4%QsV2(9a;CCo_F>)s^R#*XzYW#fftwpQ<0Og)rnsn-zcIJPxe zd?DE*8WyGJ8KQx1%>z#QeUt|xz!lEw&-;qLvV7s+AgB!gx6Q%!>T~Ev%m){@s_K(Y z{11Q2qI32Apyjzm=hIrxhpAG|zj>XXWWul?Cg}=ebmiEe(PQSX*s_5j>olKfP{SX8o z;W9B}OB)88yY}>rEHAHF-XD;d>y>O^BIDL~H+eM8x&*TO9%Xn^OeXW$lrp3|-^nK< zXw%5j$=;s9Eq?F%6wh<5Bvd&bpL+^pcZdE(r>%xcT9tr-V66s9#+7-2q|aWJtH9z~ z(ujf;Z?XYZ^CkS>>Z$f=i1g%xi5QSsyKqkkxuhbs<+`=Mg6n^X z;x2~amD!VZhc{8IL&KF_)en6zJh}iZ<;;ND|1B{|Qa8jWg;@CS4MKD;`6AOoRsAq? zL?mNv#$~F&TIZnm81{GPsY`XsKzce|jdo&-_B8ce(Ngo6oWGGxz3NNsnb5-R@4b0} z0@-}Kp#+5wIF-!er8<DOloZKKcEnzRp$&xD%>X9=8IMm&tps@vb=s{I;U1WK=!Y zVN6l@-=xaYc3(if6YsBvm3mphs&1XV`zpTqe_!SjtGS&qIZ!GnLWQ+idVqQa3k*7wk} z?_Jy|&ye2z59g=x2XZb1g>bHF-+^hVY_wx9Tc_XJXC^iw!sMmTi*dtYPB~8rdgRX| ze}bAVL3;C10&jMpcUgJEg0v|sh4k)kRSW=8SZW2Exiyb1{$l91tw99j5}|gL$-jfV zSJ^($6pNV(2Ni9`D}teIvw(|g1Tnmly9uGYFjdlp!znj^>Or=sKvssO_BqPI zN)#=j z3H7SLB!VQx**!a}ru5F<(opgAp=QJy34f2v8AI|slq72K*lnK&?E39w(_4=`rQtQe8v6l-kqktxs0zAtD2 z9OH(!ef}q}497uyF3ZNI#j9UYUe^2RIGre%ZLu&2VFEOvZK?2N)R7CWJVpcW+V?EM zQej6&$n@~6HlGx6G$z#jN=4}5l-j4^x0a-~OfeU`?{Ftgg7RW;W&59OzOW()8tm&? zp9NDLF89P8$!uJ4TcK3T3AzYIk|ywI{)uG6?RFAiKXbupfUL9-yQ~bS;>DgVh{sPg}ym>Ugr-EO3n%LFjS;&n+$G zp2aaXSvfui5)ob*mVD9dYbY?d5^;RRcy+RbiU_tj?MO)Sw-@jsq=fl|U7O;*l7kLx z`7G@Wb)FZj9hN^R&sT|oN;u1#@ql)mme3snPL$c`>OaPk_(p2KQEbuNoFUMNJ6X_^wC&{c%5CUx|fkT?}bA*RB!$wE47<2H`(6WGHx;lXSC$*;B8JYsB4q;hh3%6ky_gE5?A zmLF-oBP}svsyZ!ZvB1D(AC}WK20vZqn*|;c+(Y&CSzajpzxXPZ| ze%aPOkJvn!tVH#{R|$7>ZS^bp02ByK+V%a|`rp71##1P_3**ZtPuS%9w%{etGgvJ$k?D;I#s64h(6nC$-(}km z#1IwFG$-Xz%ViKE>p>l25WfeScC^m_gyGe!*(;E71fB`3WgrkH;jL=8{0> zmU6a3`LW#$20OjNNz-z2839}NGH7NXOPwAe8EOt{^vRAqJPEYhqg4NEh$U4 z8T}CRgMw|6x?SO6q5szLm1V!+Nx(i%LvxIMpHuANV*?Y%07|MpQ1?Ud!#qe$OPb;X zPU1v(l(Q@^(?MNlC0@OmGT=9Isb4gEsFo4N;Bl>nH}B4w7)?5%k3kSyPSN`#&)CTY99iKZ241h!Th5<3KVKLO1g-d$ z0&EOb`en#g%MQLBj#0^SdD1kkuv}<~Pc^z+BcXtOz0vLW=gq@-F+oNIBB*o4wQzsQ ztFjta8G7=uy7V@iKo-V{L<|`|ZYA8EfbPTF&t|0KIz$+6AwcQWJJA^G{CnL8G!y(^ z$r{K)lcl3dC4voISi*LE75(Cdqyajj`XixdZ<86xu(NtIC|lLZnUs~YtNU`BOKoUE z!&ayb2Dm+Hiv!uSizc|BytCZjq%k(D)K(|sz=ZF7*X0sa_6Hfn<=@bykb%Zo<78qA z1^vu{$h3C&*2kn#?w6*mQmUV5Z?uZvKn<2Z7kT$vV~{HC6-MswmG0pS|KUr}rv7hG z6tJVusW4?G@v=1fGF*gxVlzDZ|$qYZL(Z-Mi`y5F*(hiW1(DBT-NF;}_O#iz}k7mj)3O+<(tz zixJ5qn%A_}0A&~mB0U=qoW(WFg5`nti>NtshJ`~01mC3sDD0<&MrPTyL~P-+r3Jma zrMn&swAF+J-|~T1AZYh5NCXkR5jEHEiDbQ8V)0uxyt0wudRVW~$Wpkfq8~OebL$JZ zIJk>*C0u^Ma>Z*EbOD1#1K0@~yX#NZ4ZRRW6Aa*p{PD7Wq5Zx0N*SU$|97R1yigpu zDufVYxgOi-MfjOZ4*Cc|H^Xydq!Ltc-FDE7*@0CQl3fen)jcMajT=J3odktN8gfUw*lEu44Jw z;{bIHI&^Le2;6x-2iW^-GWqk9=7#R0N8|p!yaD_l=>j_Es|Ks<_dS>J0vj^~^xzOo z4;i}!z4%)Fn*xfy(Nni#M*cz9Wxz%wp^r(XOA_9OYPa{ZM5he8dfS6%5xQq|*zJgZ z=C)E+jI+DACCy`^I7;LDz4?~0k9!8ZCVCt*wZ#sy%A7DXSb)( z6y`m1u5KhKRLeaMe(sRS3^1vrR>(B};C#MCyoMG9@Aut4#oswEG@uohG0kIk`l$|a z27C&CRL|&`LCh_m8#K!k`XO#i8x*bM&0(s4Fd+W?4)wRD0g(OH{v=O%_l?&KzBCn$ zNG&D(HF%Mp7B!dQl?uM ze!{r1HN9GE2C=l7mkrfZnd;#E3bcQOeCXk?Lcfhd>im_$qjf%cHJ|w<6seQqVAzo=s$e@AnFR@1l_wan&Qjt)8Pib;5+*80xOFTuH@q z8nVT#Ex;-#fh#4GhA-C(oK@%KSsA?hz%U_dpGU2-_MDI7@7HuFG&(?v+l~Bzc7IPn zIbvML=Y5m@A4{Y?pcFBKN9_R9=bT_2h5nOE&;lDMmrU=0AjEKI(fi@He3}_v7kxt& z91^^3@md_0g1;^txE<1jPZPKS2$yy9RSq;QtEdFr%zrJ_Nf7ka7k2d7kOrJFfgfI>rjD6%}Ra$^9hnVMTgAl1Ye*m|o5*S1k%wY*Wy@7dz( z=eEGoS<--Pr{RcTBOg)V4KY`N_J!L=F-{`8EKM>1{M6gW1#TzO3VT}uaBf7hY}<#H zrpqYzy{2#uJfj2Cx}J(Zi7)GCsgG1tuYHv6ZaT|?1FL}a%$KC4>YXW+{})ejOZ6~m z$q&WEN<7)&5g`hr_L^a?0ZJc;;D$G(0(qeMv0BBqT6L>`metT#U)OwtqfoDLF0QRC zJzuGQf^ZZP8`wti-$;yv*Q!_QIm7Y-*;}nJYTJ-QGd5#71s)@t9k)y~1=74b+ttS2 z90eA=6dPjf@_GB-WDEEu;jAChF4_h&9*z$2g=Lh9%d}G4-UGO+J*dQxb$sOZ3|x2= zs@u`#u(`hdQVEC+C$O@Hk(GugnW-xldvyl87CLs>`TWo##i{S^MAscjjPEQ92xplq z3Oc+kHKj6HepFqv`fUb~eceC4=pP**7^p8OtM4xy*$k2Z8%5d9B<;jN0-<|j=M47) z;ZNd3_}6iyYlmvAowD*eB8=nn9*C1x7y&aQp~?H~u>hs_1;Uz$5(eysFsCM$*dpsn zM@7^IXjcb)%jJIOr^2(?q99Z7^|_+vb-NhMO$e$-F?44CH$`Q!>PNu%>`> zzi_@*HEta|2jhe04LKwgXP*DW>nH<;qgBN^yV(idSAXNEF5r0mL<+t!rP3RCk@od3 z+w}qdbFYTM{qk%Bnhk6P$J6lf2x;m>K!= zfA+z38HU7YY&B{Lr!_Hb(p)(&G`0&g2`0jF!_8xF#h#Md zqBSuuxM1FP&xjD~WS^3ChQo5RE$YH~k)(#plMml%+wgvk2#_3u*bv?qNJw#CAy`)X zsK*MotMG)w1$r!_rxCF9gZdmC*QBMoEPnsiWVgZX?4xwJ&_sh4M$UdC#~9@k`eco5 zqL5-!7w)+GW=}_q0)~7#pWQB7ks*9iYhl#2RN1KA9N=5{=mIeP+UdDib$JIMHyX~8 zle++Sy(gTHJa$DN{*utxt&p$zwVm3Ow$7hVl%20Qymb%^@Slfn5~sxL3!j6)E+W1N zqQ^|*%XZMIcABi{!rejge)45ZoTKtQj}&8WP$kbXk}i_!>@B8@a))^^Z95eKA-s&t+i?HP>vmT3)B$JtiHICH(jcmy%FOI`Y!#71PS{xwI>i9 zN|~kPA#L~banh4%!T)hiSQ?!w_%@Nz zyU93B1ucJhDF_$mM9h$Mw?ZIW3VHoSe%8P$H=%*X;c+z%+!88ys%(6-JRf)if>He{ z4^L2kLOw!0#bOjT*Xz&jy;o5dz7D*o;=9Q*R z6Op4DbgQGc?WG@Rg`li#@U~U&{^i7m?qu+qXG^m89r9o$-*i`G3jBTE(3a!ucb5&) zIF^vZ63W@~_vvqXTpMgMul$<}Xx2D&fc!`;5x=QZg&D0$x?h;T_1?Xn=E&J*%kyZ7 z0Vl0FHvAMh@kYv&eB-2xUw!&-s<4&3d^(E=BdUz>r{;?y$ZEzS8q}cluA|dI@cwW_ zB4K%^@PYE@k&e>WYX7C(FvSLrf{wT6*E6ye5dYZVWC3)az(ZA@b+>xRglMo8WzVG$RuNbgzza?SfMWHv3efsv+OLPCYYVO-gI1m~fGN>sS%@oT&Dv3pk4%^_%~5avdQhu3V~8VCQ)n?Dk1)PHh1E|Jc0?%TLuU8^E=gYPyLDFSZ1AR9OY{hP>(u-M&S6mpGiZ;$A0_g%P}pr|3fT2 z`3}Dv=5x_0L+Oht{h%zg~f4LXxWZK0Q?-Kv|CP-(XNl6wGVQUn{S4d)C~0< zoGd3ipOYYnhG5>hjdk=-aNoQNI|h#%XFp3)!I~kv^{qS~92%VyPMv4e;g@`!V0^99 z^pL;aI2b+N|4ZehV%B?;Zsc^HtuNMS7VYcljkcl z=CQB-1InGHp+vs-jOU3VZTGV6>AK|5IKSuwBwmbGayuGhP}AzK?%l1UfPQ~s-mP$Sh7d|Ofcl%1&9 zv7u`HtiJj$o|;4Soka^GAVvA%K@KuaiPE;GUVtLUZH4!G_#CcHH?<$DYLOV|;$H&Z zMG>j{$+b_LC);a;U;w1)da~=-C+{wV3kVsoFP$?ZyI+IY7?zWIlRl8UufG187k>T6 zg0Dg!p5H7o2A|9(jhk@30974NB5xHe?5+~H1KiKYbgPO<^h7adNSc{|`tLc9UT`7sX`?30LM2Dnx) zQ5_a}94#d#=RG%c+%uNtNe|CHUFmX2BvZdtM79&dxB2k^p65El-#JDJsOw7$2Ij2| zU2C9k9yO8I+Wxy#nq{1Hkn_RdIrvA97cuE6`r7eh=4J?9<~62E8?ol&wc2bf>I^O`^4 z7HC20!1|%7Y&?AC7?}>u*1i&^->&hu*wWX8_G3Mz(dfrooZ}sHo8{%a?0?p|^wVbh z0fryM4Cy)%?u(s)pTXK22RpGZC}xrMG^hB33`@|46V%o?IImSy7`k&Lf95}zVbVWO zU*yDmSp`PEyhK|;FysDjbL3Dq7oAt##>}zT z(e|7e>$KOC?YM>HAjg!yC-G8gwOa!gAr@Uz!ul_E(dHb7juR zMIj4ixA>3kzz0W7P+9U`$j;#rx^&U=Erma!{&!-;4Xw$(Vzm!c7-k6bo?fAtcn}eY zK)R5>SZm%iZZmTCY+@dK9>zVnez5g`FuY$NMsG%DI{>xBTHe{ zz7oC~!Y5WkWG5fE0D`&u+8igqUdCV13mh17nTYjJ&fS&F(AjL+p+Bm$Vt=HWGDgO( zQeW+=C0DS2NNc_~8nM6XThI(jgePW~bBU_-q%EkfGph(L~ z`6oi~glOQqhz+xpPBI(N7G3*b13vXC}q3(z%3Af@N0Jn$8kqClP~)Mj4TV$P3CA0#ow<dcO|{% z?6^zXU}3FKPthtm`hdyY345j zm06NBZ)*5(++r2iNUX7u488o8cS4O=DmxmaEhqDC16#CvcrIOTrYc~GsuBJ#ZWbW+ zr3?c**IV&#(JGRO1`n|%j*f^sn=^N?0q24(2!Brfe%5Knc8FOs7=q37*!40okauJp z7?C~x)8L1Ycng1*HTN?>TFjBhM`or=f7BE@{Ex1bJe3lz{`dAgEEff1)4(d%l1Za7 zOX3+@n;%k8g2*08!XrhPDm`nZGnw7Re7Cp~q+I$P_sBxm1VIs%)e>zPNmbQSXJ>Zb zL%rY>FSC!NtV5<-Z^I+dxX={tnJ7nF&j1`6@XMJXh|hvk{H2y5v5a#sVV!|>c260H z3S(DjMR88tt)C`x8xeLMXx7_;yl*d9->AW0MaWezOVBwi9oj|iYK$-Ceugo6+5R?T z$#WZ`4F1oir&wTRFwLealF3Zpzkcd{eob&h_8F`p!VGL%z=jHiDIeGi0%(5mg8Nsu z(jzK_n-q{$`f|4#+)$89Yx@q zznLbnDsWtWg9U5lu>;6sEOE_Hk0MM@PYNh@vifCO(4Y}AY~4l0sA*y-S`ctJ=fRqA z9-2%E-zg>$>J%wlj5AlUWN&BQX!Aokp3i4Cd+XV%xx+EX1Pt6f+mkjY!2rIQR5`u9_1pOf`t zFI+*1D6cM1E3ju$seGfvQ=+eVebJyQ_KmRz@-)$0tE*%b)iAfo$k}%PxIKkW)?X+F z%u3_fW}qS9pMML$|BH<_l<56-0E80lz-U0XmRO_@_wnM=Y=#u2{N)~K)pQR+`8Mcw zC3%K%9$g=v%pXvrmhFlT$5&M?1laj}bu(g5SC%{tGy@l+OUr9*N--XS+@F3bOKb@n z5~z0Q7&M|xM19{X9+1JIeeE-B;jw#gv^xN2saxwfo(siDc9<$+NLC6sd}Z0*H0uOY zi5`&YvnQE9I{cMl%`ocYyr4>~G*nb_^vjydE2wBR?Q`{i-kW&2Hfd7^;tN}-@FiVu+q#P8sW9;te zKQswpb$-mP>-04HLn!g0{^Ak!8-%*jbk)CgOyVJ&nw^#nS8GIfsLg_?l&aTVd)qdg zQX>QN@fQnUo*b4HoftHx2=ZEVnm~`tlMECI!#Uq2MuI?Jf0?Ff8Zs{&J9>@ZpW*f@ zL;diEvxQ3E%HlWuTfkkxc7U)jAv3Tw%^-HdU_e*Zah9IER6yh1}MxEq%Gf$}PLEuyh@ z{5tqxa(;8aIv4TeHGdS4arAW}Imrhuk5d}m{YS{iV@5j^ck_-%anuiXa)%niaW#s=5eQB3dHsGGdU_0(rI6(4A0E zz0(19_?hNQ*nxo?o)@w%FtcDg+mSg;Ni0nP2gtBaq$kGq(=tagCVFcqj)hY>6t!%? zrk4uk!1e3=sX4N=^P6uT64IK?e*ZT9`c>b~j*{lD~>=%%f_diQWn zCL%JirSydoRd|huO_-*eeYALam~0FU=j`@5%fh<_JtIOEjvqE?oc5OfXW8}9ZxIi& ztDJsWO12kgvX~hx3X2YM@I0V4m0^zv+3G*?oS&l{jHIG){j)-2V@I$pNqnrC4{hYm z8dKny{@dQe&>JVJ)X@eI%c#U@4$zz9O(^4ae`bA`e&b-3cNn+0va#>Twi#H^Ud9B# zSPqUs#0*Yo+8fd7RGTlg%%oICd%pLTjH~7#VMDKAecX(uc2VV4_dn}j{>wZ8?EAlw zz+25*n%=;|eA+~*E&1(_8IU86&JWIWaJVDYP}?sfvlmOVGnXWI{6rGj=V4eWwzu3-cJM`i z&bZK$>{bM5c)_Ld9aqA?92gyY;$A-UVA+U}VVg$V+hq=|jp1AU{2k11o_Wyg0q^V{2)gmAW4Ot;^ItQ(3;cX}4Ql-dg#(`a-_RA?FFkiM znEW!(%Zg$2Dq02zA)dM`%R6~A)JtDqg%?c zZaoWY>O>{n!xnf6sU|L@XYa}skx0Ra&KvI7P#CsnqZZ#5lh1w7Q?cXkIJW1#GtUIf ztnrfqI|6TBkl{{>nK^nlb@5Gxs-!42Ezti@X+>WP_Cv7;34t^qny2A*aX?>JYnMxM zzZM13@*NpxzZ|3p5nvi8;-g%Bg~X=x&ldz1@t^%x7Eb`j5GQSo$^HA;-wCp3wwb{^ zF3Mbe;Noqe(L{S1(-ZK11k1Ex_?O`p?)+)clJWxV^LTj<{Y5!wS z!IJvFQNKUo1ew)7EF__5%g`PoXq{TVG}%3u;$9 zpN(sQOAu(<@oMndy+IaB---&jI7gcgl(zAJg7i<6(78Nd7gF?qgq1%F1Wc-`Y`|5=S!k)&+BBKvks@P6KP7<4-pd+m3>c@AyD z{4djASa$z6y%uLMy*Kx9aQgGW$R4)5@_C23A)lAhM<)R)^1gGW+?;mu;ma|H#U2My zwO&Jw8?K2-8{;UZnZDmmn6=tmg6(LO)ASv8*ih2h&7jnsp5IH%cSA2c_T33DT%?ER zs^yg${i%sVw;1|*1kD#szI%*miKZBb2BDjLY*o0ci<&;-HmeOk5kKQKkNq)*h2TjO zr)tJu$glAe6XU|V`m;qR;ODij0-E+5J^hU0_*|1sP3e+W5#hh&)9WBusefUn`QYFl zcIKvEPR{4KaV~g2umybyGlK?b{_sC*Vwz?L2iwPKe?`*ksQDF0DvLz8Lxbw`G`KSw zPV<94`5R7U9*x2{A9`qfV#!z|o#7?Q0@&LRNN~$>X)t0N3@?fgatVd7gAOxQKBz(a znY{9-^0{8L!7JYk)Fe4|s2)N)AX!ctXCluf>miYUI$2W^#w#45tP>v7;8+bS{+VMf zO?)Zqxo;cXRk(3yQEgPK z{*p;Af?#$3S(kFLPXzlkmYIiRzE+guB{>sHS1;cBU0LUCC91veUB;buT=fDnHHC+eqE>r^Thv& zmrlqW)tPw&=i)VmxQ|ye;HLoQ7M*vm z+^$6~GeXe_200wz?%SGW!fb(8>o#AS%40P`?@2a;u{xg%#E=lL3;Y7Exuto&@G z8R9ZYK5aGb4@ogI`wQBYNYtm_v0i?L`p1}D{lvm>$>fqs@96>3V+pH98LNv+)s_l( z?}@@ed1W_R4S;mvH{!QU5b~djU5cI2O{cgTlnR59i4ciV!Nilj{lCDCog7Vd_JNvU zdZldaq{sgPblQBnSP5uS2{CB@WO48WQ!kM>?n<*SwLG`Pi$QDUHl+Q6oKb#&X4 zKV(a{ktWzFWKa!@iffbP9RTi?AI6T_b;|Oiefed_yrv<-S-FO-8-F})nbK8W%~epAxWXyGexqMx8|I8!HL%$;SA)V8^L8qsc?3JV zaV*)M$gYKah<21xpbjo3{ApYCL;us)p?gs!vn_#HIHn{v5aqj{7mKL;yaM2R0Ti-N zaJpK*DPhV=Ha|dlj}2iyCOHQ`TfYXZCfcC|b@SFO3AYU?IIn~(H`!$=St5Qnw>!$G z-_(7d1vCB<@$WWh<=?Ox_V3qKRUDnKgGXCrg1Kz0>vt-oFocQ60+=}C+`HHudYwy_ z>z=WOFF;o{4-ALy&u&VP9&LebPX{T6-fu>Dz6iR%X>idd6^o*|{Ulw@s49>7OR2h> z=3t>?!;=jF+>;hb5Oge)xpI&NK%mnXXW_ff)8wsW9}}DZ%Q8%36RF(20nBP%5Mz+;@03O{ol5+WZB+I@m)``s{C=K zl%_|wI^&b^gF?1A9nSG4bij{x_6)m$M-nAFHDZ`IVlRGI^ozhWam%4c3HoFf0Pl>$ z2$M3@8}k~%N5YoSb0z#9$+ObyY^2GI)b_e99A*CP?9BG+-*?Kl1_TgLk$p&AuR&I4$L03!2^k6%NERz&XO zXNcC2;UU^sl`#qaoU1Rg`i-iv`S)K#@@)_txBuHN%IFDb6Z#Et$W<@?a_seaW-b5z zCyHsu8T%Yu^lC_e9b%pjIILG9x~@!C)yL&yxn_o?wsa2r;Ddb0FzY@m; zE5$(Dzlhlye|5VXG1GTD^9P_(K3-O$jtA*5w=Sx2v-)fABBm;8wZG?zkin8I?1nj! z;~Qtm#mMOYRXIlYts5u*%nuHHIAZs;f%rD$XwE9A^Rk}=x&9*mk$!1 z2rAmxN3wa~LWuScwdU~Q{DE+5qIjl(Eik%J9k~4;bT|m%WsvF$m^kqxdho4T(sh8P z*flR8I}T?e%_W{?5?^VhZRetIp=X>qCe3@tz=WHA)66!8GmxTcJ_r21TkWf=CJ>zA zzp922yC2DJ_$Jt3*kOKuv_dKwd136(0Jrui562Pn#0qJ|Vw*`7r%mt5QCcyO%&DOB zrC&DIfyEGZm3jtA?jn;32a}fe8(i0)r;+sTy%c2dZtqMHFYFHvXG!QJ1|N!CCVD?}`+{Jx;&--AqLRHXhWfN7Dj((F z{V*{!*l+&GS#fezo8X@^KJMCnc7DnD3g;ji5Z^^vA<{kZ}B(irWnB@TiKr zb=aJ0%2eaE&G$OO-74oRGp2b%4L_o zd`MlX{ZguYBjc)}Sw_t1n5_n{@SmVY>SSWs8*)GDe4H`JMg3LjH%L90UaiTvo=>GU29>C`;XvHiRVr9siCis(>R?iD#nc+jhZIIt z2O4RP2KGvVWiQjjV5wm~9T@<@mLV^Lb*PF;2Jc$MOK^x;n6hN#VLSZ= zP0GMSp>X~e1x)S@fPq8Xv-s7s(Spn_l%t1}tz*!oniskV$O`(YM5GoLx`O)FUH>ik zz;y^-4R2i$WAg3v6q4w=pGYUAJj}fE745oV9AO%3aS*|br=8^>G5^W5bHl4DvKD3; z3@VWsB}b7KqC@wK5?%#@tNGG%K9>V|9l==(7MQzc1>s#hIBpo5Nt=shObDM^`tzs$ z8vWG8ER*=F?+1^Ja|HDzH+?Io6N|amvi?_>%&s!Zs6kKfT=SX*;Y^ zhzQ5g>9n$9DrfG3GVahh+9*sfeW_V3SCG1EDC0jYCh)1O6{ExP5Pagix;V6*%9{T< zx(0_j|1N&Bv21G@%e8D9%eJ+AvyElkY}>VLYuUE(_Iv+?^E_Xj^AXZG_Vbx|@*>1C zyX$Wg1+Qijzl)`-Y19vevQ4PZd%n*T&HvDNxPhwITzcjqi-S<2FrP&Y4zhrQnG0#uV~OFu@FrK- ze+Ue6T}gYLdgwJzM>IV-@2(?cCMrC)aC;bV4X|#@Obhzc+U0l86EZH@%5PA8Ogow| zjbio|xyG*JBT8Se+Lt#;KP*s1a#0~2o9 z{|%xEv!sjv%$H+6$>wGj>bQg&0gV_(3(wrR1~J5;@>-_ep!5J?@Ysc&ZsGfrL9{ z4NW8X2d$4GxTo>Nmy?DmvMIQq?09M_JK!O`lJa_uSz`G-#BakOEp^*g(!e9;kg zuZD|5j%DmfWyo*BLowpSJc)q)EAgMJPsquW!ax#zk(pLVK7o579gU@)_f1&+AlfpA zpvh6i>p3o-+1<7IrxkG{=L(&m2O!3*rodE#*#pF0->MsuCQzEN1XcFZ!i) z$Q2U!5Xa;<8s7~{_+In3LjJWnU@McxrDXcEG4zde8G%CtIlphMD4j%9FU}Vhd?2?-1A-cTm0vLmlQn4f9MBQ z+?VX^4?QD;C>YVvm(wxwDVh}LY^I;+#L0XYNf4(V5mzV!XY2y!s!0Uvvn%l`uZH#xiBgxM z1pGc;#4sPpb84)@O3YdGc;n#@bO9N1c0X|X@`|f&t@JzW6zOi4{Wa_jAP&}ww!@lF zj{O?H9CDX|@HAg0Ctw&aA}Hdqme3bg5U2z)2~h6L34w2i1%{0y9$QQXr>;JyJV>s; zOp)S$RO)?J8|B2H#DOJPnEqUoPq+EBv7K=rN3~3fSK4}EEf1}!7z0A7XPd8x8HT@{ z0`)Lr4}-2;4T8BXIX@-4iybal1y19Hy~eExqBvqR&_;qZ1OC>sM4~@hkk@xn%4*Kg zP@hJc>52XAPo7tV@k^nOd6dB+I}X*=R0Nr`{{@$4KRiQHGcH4_JNc1!6tfWB_Sn*5 z8`o~PI5Ved9I8R^)6}x*|E2ML-U+!ddQfSF4C*(Fh+ zp^93CM6qd{bOY-h0oMNEW;y)})xI@SG~}pR18%4}h>+B!-uFOaTJWZ4;;0D*H*vqP zuXyf`{!y7=LpaMHOXR7-tKD&2CGcLh^MgWLwNLk5bZoUz0uR;^lBKa~UZV_hue`5) z_)`O{q;Qn=RU!_yheD3Og5mp(T__eMJV?kF2(S31w0@X37$tIExK>d33C5Y|3S*LZ zBncLl29!5_e!r?z;~N5#8`x*s<&q12e^%P6WTBNs5)U8Hv6*NJQePNtO+b|C_7ScdR+%qWlatkL^s)VA%D^-H4>B}$(~VXJ4OTFj+sL&);2hc$2OlG5aj>_vZM|2GO8l{LZX@@f=wK7i*q_oRe_16E zU1BR)r;#en;4wH3@~t7;ahPIhAJCaVO_7E~`W{4hzlqw+l@?q!azrAsxTB<#SLhwkL z>k%)x%!xyaYfYiY#W%$^C5y}JFSTF8{dT=^=_lDMR!QBlyk>9D0=D7(M+WBS*>FFH zQbH=b_h!?|P%xIVv$2!_RdIWY6@k2FqmT~_-@&S_eUax@`)fWoV|ys->Y8sn9+{)K z&DXv(Ept_@x>$`qzw^*8Xr`?%TD`B(K217(R2fT;>p+5IKzI-TH_SjC6&d8s2TznT z;)#FReQx)e?27vcj>gAot~oK^{x+&dX`qvS>VyrcBU1k4-4e)2*;n8Ab*fQy-?nX? zabY@K5=L7w5?E|?iu0?XX&SXj)8(iz(iM#Ume+Dy>mT&kN7MCknI~K13G{mg$$p$r zn@n*;hr_tXpPW+?;y4SDYY{I&IZkv^wF^vBXcz2g){0m|eJkF3H7Z>EC{Dq(z5rB` zS4&{996W9+(jH`Vvm^Lv;ocKJL*nNe%HGR8o5|%@HGhHdQD4=#?faJa1ZuN}grV+? zr9n<4i^!Jp*q&53sFfHu%JQzVRix@W|X8cUaKtP9}>UNJm*ah`Tiwu~c zF*>r$(h=K*$#|E@311n^VFxL9YSucwpD{$p0e**8MpGpE7HU<5AdOsFCy-S47wMu( zzq-w1YcgB@y-ygKXrF5DXo=_wGaubpNsII8nXlZL_Y7JTbyAY8+XBxkSI1`N;JCF$ zG0xepm#k%BI_;ZEm`0<3idUthX8rO1I&!}#JrENet08}ymxF2x3!I7>>0Dm#9%i?_ zsx?@|Usl8jt0kE5j`p;Wt8lP=T(cHMSFFY54Ehi7?bo)(3}5P;Ta87GD^%zT>W7iJ z=4f2DyL#rtuU?IQL;VA)vOc?+F=x(IpI>~tcD_~k5)U!A6Gx1c{Pf{$ZD&oT9#8|R z<%mG^qBY8&;7SX?Nq)E(exp>nR)a|mVV(5c01$VC=1~~rJ#yQC)GW#4(wJ-Z_U(@3 z20tNeJ58<#>Zvoa{-Y+rH+;PbUL-`y{yLE17Agl@&wVdlaPE^nM>w&+RD~tK-fiSp zi3uY&hI7H*EjLAwTk6f>thOIVBG#w&Y%vOpQ&b?fm>$MnrjqeXeDAn2q;yIk*vFLw3GPy z%{S|`;Z1)}9~nXBBJ7paH}ik*gSxj`uh8JzQQ;i+^DK?Mmn%3gtSWnXB>w;Xx$gfq zu{(mE4oYm0Xuz?Zep)!z#xbmQ9HK>%q6t^DSZFCeIF9^Db1-D=m8lnFfRwxaHO*jM zDHIbv?Ri1+$MJhetMKdJOZZtG;h}hU+dmcl8z80-IwzsMX3mmx_m6aMmTN`Wg8cW0 zqg@;uj&!1me0?-an}llsmE>{*WAolsvB&}}n6-Q%oG0DDI4YHz*aB}VahTXp`obuCL0p3LWTEc}Dl^WD zyN9uk38^7Au8Qbd@BePnQr{vK#M#~_#L)M%|0J-27%}l>=l&X$}0$AelTGQ?bqRY(=ez&CqU<|QzLxtqFlc9m^OOK zP>8h({uVwkIY82897geF#r=wgbU9pQR@gxOJs~s>WpOlr#e3{6@KQZeBHo{bX+^-l z&NRzw;O(%rVsR!$3BQc}tP1V}5EKe_*ZIbJnos3_z)?25i-p83?B8?7bDSU zi-laVK-|sGZHe!N(8wG-sbb|3AZTppyT@i@L>qnl%e0?`z@H0uG2zcazZ>eBO}$s}vx0@4 z%6jPkS4IB?)(20!14C3BOEFvs%)6pR-H)>YdKp2cA(!dn;F{w~DD7T09NeKhNh&X( zrILlI6*@GwHEG1^p;;Mvddv4r)1AO0b4!)y8c%WBv2@sbPs?)BE#lbh+&)CWdc0M5 z>yi>oe0W#AXYApOD^0#gaqxt>ZckyiVIf~5_)a19!#mso?YwCX!15Z)=BY?T4vSOD zh`JbTK6uheT^=k`K-16(Qt|Hq(cnf)ni$b+BywA(x>s!T&$_&DB++MMj$m zuS8_MlT+rcb5BJEuLM&ux-2{o^Ksrd3M*E)5%8EVj?Yi*u+Vb7=$gSCr>Xrh<>1|Y zzb8W(fpCCSMt6z0)ADxL2IYwik{OQwhk}!LUd1!qvW;Z%#sP^A!dA5QQW6SEywV?CD$%=dGoGOX9xSn~=j1drP0l z$K=lEh_ery;Q1h?=+4vU0t(}fytb%K8?y&J_hES}EOog5rEV7CP01eHH-V{G!>1QK zsovqyUvO^D;dA1#POFVpV-J8yYT>WUHsoW8L=6(00U}s@)f}+feo)H1n1V)DJZoCn z_?6)K4S5_4knruZA)8JufPB<>n~@CWGeN;_z(6} zVs2GSUv}ayib?dL!ahmgDo(4yBcN;H!qw=Y|{z@l&mM<`w&`E`tr(kjWWnueD z8rh$qYbhC1A)6O*t3ROLl7rAKX8fm;A~s)5PM=Q8B$IBI=8bA{68P9+97Tq6ej|C)CVT5&HGpbF z=vTe}IN1ns|Gx`l$q_EQp-FFu8?@}EC0cq$} zq_`7cxS&u<-$U~BzAz($V#SoYc_u%5Tn*(>>3S0MT@^v%*H)~U_wPGFKxo1#|*Bu{Y z<6oEfUDc(QzL{2QTlwLwl2LE_(`asVDBg2ShP!5BnT4~OfKBLpP(8L4~q!N7`krCa= zQ4(O}CoJXdxzN!7nz5j0b4--*hIxfHl`| znzp?YvkHIZ%}hs5y_=4oN;yel0!=q9KYDv2^?wnse5b8*KwkuDN4oHFo;7Ik>4)O{ zo<%V@GAk2JF8$u8)>gLQg4gi%BTs<{<6knUqb_NE&5(!$E&_;Vob+^cF7#7M&B}7| z!LGz#ZSCQ)vGL7VNHa^rs779hG0rX4{=cL~4w)F3e{1TOnBKwiTs+7@=OxbuU%=X% zzT5^OJ{#n?hVRFJzt%8K-8Dry9&v@VLDBic{)#%5CxWHjO7nX-fw z<)D{XiNwl6^(Cq>?g{Dx!KAOp8K_F4g_vyg7ylTYb9irApXwiqe^T0+_8IrWo|tz7 z>|#~Kt4xxZ5}P06^S&VDJfa%?O!sCabc^tL8u0F0Jz+R)Ho$+!aFO~|5H(mu`Q?hd z14P*Jf14IH*|pU(_MCG-TiY{;nDvB##pizj!u0>yS*j4BWg7XjnGPFD1B-riYlQe~ z-<1K}0ZlUnKaw|^!e=X+5b2JUTx_MCj{P~9hW7j6B!FU5HBq?a z_(AU?w>yd44~ryUI~(In5_U&2C{&vxcP0?dNZJ_zbm8BpkHQ2E0MLt5L=LDdwl770uZ}f+N&>)?R{ysQS z3^2v|cSPpZMBJbb%d||_6w4YU6bwYT`#M($XCT)|Efc=6z3B)h@q;(z8do9y;yn6- zamGWlc{t)37WM^@RxiMjQS(E!gg0@xsM5fpvd=`cLsSHvqWH12#Kee;5#ZJ%;pi;tDP+mdHAsve=I6 zBbuwy1prvfU(5T^hFabkzewTbQZK7J4d0gh!-iV>QcVdL7aRortm-=Bb0(2;!LI-# zNW0r6tmv5Y{5rP6!ml560nsSzB9PPw`=2KUrvDOIxK2}vz#wT$RCIZ z`$dA6-nDKlcFQBFY@*yg{y2XLzN6H4W-OHcHjEa+=8Y2m9-c4vGOgG8?4?SA-0GLu zRD$#Sy5D#Y1@x0098YxpiLlzQSaHJunhWdLv%GX;vs_#6zqA@!@#6#;K9tM@#dRW(+OX> z@LIdYxhqpd33^uAF{H}S7O-sZEGl#xCEYM?+HavViEg?zDZ;#ezJUv>auTt9c&w}k zGAfMj$WlUrtqHOR3gDigbM~wz6GqIlPk4-4{K~E4+%kzgjbpSp*hJwd4mwWS^hXBR_h395D+m^vCz5NN*HDk;-wR&sP`np{_=iZ$IbV zfzF42^8&MNLOC=t?^p>Jfnc+}`gFi1V%Th`wZ<8#L%o z_+z^GQ)H!tzo>oOq^E*}1c8XmUvmBR|(}JH?$Q`zYtk7}8hEU!~yIaHjOSm*zWY zwGY}6=OKlW!;l&Ul-3ZjOZpWFb_-k}stRvrQ?SjIzopvv~qM*joW5kLyPc6(35UkHrwn)(i0k-cED)LlZE2U}I52N+BX4L(=f{vAc z>z>kRag<&sMiig@OXyVHI0f+u=vKVR9p)BEoUhr9gP{&~z6)Bd$Cna^?wtWqG4x-` zQb{aayWVa7N-L?iX4S0av((F;IKaeuLBh z&*uqI^NYkKQj|rKL;A<0G2xq}u$EXY)wgN;1qaVe|Ux z4+unx_}NJZ)r6c-q7j`oJ$tb)|mR3Lp^NV3?28%llEa1?zoHq*J$kp_O7BtfV*kt)bz<0dl zuU9tII3O7Fh^w3nXgvGp7q4M;pX`At!+7#A|hBkOta3Xh+@)@N)xqAQ^5}12UWr zeej5b?sDU;1{Tq0MPK`9h4As8e-SC{=%{Q}y~g5=+IRtSs8DUrxexg)@FfBD*@fe))mH27WxJi_wRJ z7^Ybi%P6LvX*CCDI#~iRY(8m&cPifP7J<#rT!g|+pj3H#Dw zZ~;dy(?7){++n+~D`!S3<#tT@#0Lu-{1C8tVJQc?C9kcV8Z++p~ajd|hI9GXg32M2sP z71Rw^Ir_2LC$I3sbK~X--{`X*vS&Le#~!L8wWKM_)|)O zy_&j3)>VL2Kk{j0rSi2fdw_@?Uk^oXe)-@7u3c%9r*&j^tS*w`=CHpS9#Rfi|DG6O za`Da;%>~}eXQhGh31E{hJp8tMZ{V|t^6g>ZZJVJJ`kqvtDH>MtC(?@;&qh{8YWaU4 z7$lEd08WYN4iH#qJLykv5Agk~)5Q?!&)e+NX8~niRZ^06;2rv{eSIA>fhcE( zw5=ZoLWgzkX%~Gw)vB#q9K$TVjLLJ7ANBb!oct zix1NWM4bMwhfZ3SU#z|cphM>&?5G2#_WE6KD@~ax5O!fb6}+>aPBG@ z^fizG=DNo5BiMG3qwie*EK;HCwH_Mxo*P$VL7^mi&MB+j=QHrYwU2%O=w*&}NXc$P zyhvn^0l($r2Ro$VX*SmxuMTo4Pjc9Qx&{-t7o)UoS#@h!Dc9xEv2}pB?!!B|B~M`i zBI91f3C4*GuH_#m*HslVFStCEoFdjXrK)H&KVjSCO8ZB9`qRG~g9ICahpS;36K`ZGP;O zjnnQbxX{%I4WRx6&3D2MB=`(OeDZ(WOlARJ;r^Mjq^J)x5W?sYIeV_ox?V{WJGTU@ z$=(*FFZ~?V+FAZ>3v>IYm%la(p&Ip@akWT`pZ*xPB0d0zZsgj4!_*oDR|qZ>#kRxl zENlb|vSY_RKKk0Cy%2XnM)%t?(wYz|^i=9}BV;~E#rry4p3K;5&pJW4xiI_B%k%`_ zSnBFHIH6>q4Y86@4l~?_dB*H3mH&!kCJaSSv+twdgNc7KgjGxD`mqYAOs_K+4mGH~ z_F=@Nm%~`zCux5aT4{wG zc-pe`jJ#UE|A^H{h+h(9%pael6(5kk#w<5bM|^ROKTDm7fjZ88^DyB=(6k*-KAwsr zzV8<+URh1J61L|(9K3eIpR#Kyv@~!nzNMMupudPIOe^*-;QUa+g*`hzzme_7#$(4mNfrFU0r0L-Q`P1hy2q7Tyw66&te;8EUo#ESCQt34*{nwdKF8o=M5gU4 zQl(7e>Yd^nHl;q$-B8U3f)q+kDryokd6T9n2cj**X>FH_x@_BBcKrS_gUB+ej6p)( zKqM0XH`f6gW&B7Po22SIbz*yp@p2%(;vcai?{gb+GbuJ9m4b9pnWN-VU(t!tY8@}i z@zb$dQmAj6QS#qbN?;Sj;TIUV1jG&2_VO|}eMvhemF}Eyitr`g#nf6Fqx#hhOl= zu&%Q?YN^sdWm4f4c47BU@u?PTO6XRx3javJvAefi6LV(NLZcP5T)Rk~)Xn})c=QQ= z0YSbV`!mPbNj@K*l8!WfjL-Sx;tA6pFX9w|&J?n6*Vil)NdWpP{DrdD8qGss?erAH zY1L4K+>|BeNQp!8Cm@(}boK7~o464EjIVfeWAzixi)wKGF_}WZwI5yqnfo}N>p=@bb0Yt(WwV22P^Nmy|kM2tL|pDeNkV>hEq zU3PPdzYJTirfxb_wDza6%_y%j^5v#PVuQN^5PYTbFy8(_tDNVgo#zU(vYTP%ZmY5L z2UYrp#on`7e>6_uUv2XE6lu1?Kwal*swK5$(f5JE zDgs3BG?N7xO|uj#0qU0B(sM6W{{;si>3q3*kSbo*I(bepyjxo?dVXZ}MR*vchJqm9 z_BF|lPbFSfg0Pl~5z>0wRwkQ_y@tovaONe#t#dC8A| z%3bqjr_@Duo3yKo%{}ruhW-4?fhPIu7PE4hs(MJ|j)hVcz=X;+`!QYsF2MoNhq?~x zu>KGGMsoNs`wQ!-UqNhbji@4FO0lsz>X;wXV3qE#2w5xEwCY6E8jgMo_j-?^{BCt$4Kd1eRQcXU zP|8=X*2-L9-!1!??MNS7I_<~Hm|IQo{I;w#cRlXA9L{MHJsJTsm1g|w1>>RpL0lh< z>jBS63jQ7?xn{#_L}3@2E#5lJ>gDD8(T9Z-912aUb-PhYzho$&4^qQ@= z#qBR_3RvW&cdcAIi7$Mn5hRvR0gbB;bVlzbaCf^<5$!uck7Cfi`=GSRv>S$iKseUH zG>aAS+0ve^yh1qrLAD-(!0ZyBdnq*7$k`_IF#nfplXl+*b5V}U;X}N zVd2Ol)Df|2E0h#63`gF`NlLhBXucjE@ z;cfg_beniRdyIVwRPJ+vqMia=Otmb~;#9D6^M^g^fynr|nfv9Uxh)}` zQV(M(f{Re0z1Fc}y&~W0H+D{#!tR3SU$8$Ft^=co2*F^OWV1+uXl+YBpFxLsa_k!e zf&f6-G`u1JTwkV?Jwv1F7eH(gfK&niR1yBRN*=u-e7Mbhc8{t!GH-TK>%6?Kr#p8z z-%Hlt6cilA@+%q9jgC=r(40p$g6&|(Vn**5Ayy;ZbGW~dYN!VK{Y7LU;zUtcqIHM6TZ{hbsKQ0 z`cM3l=mMS^YK0WRh2G*j%jxJ%B_6_m3Mol-4`0T&@&Zx_VJnWm2fpPjj^XXxF`9Sx z63l7E;hxSJr)e85d$-^@?Mi%8TS=~~m{!i4KnD6EZzFSzXJpaK7Sv+YECk|1XFs8$ zP(AtIs+hyu@rvy+cK3>Z=0;==yT-HqB{=2$N>0aB*l@;r&09wBJa6bF4}iX-)W@h_v{5%g(MA~fp|gMbtzFcYGd&p2gmTy@I=60w1; zm-~@Ke0Q^gXd`^7ghM@of^NySZCOQHtX1XT_5@Np&Mk%bSahX~wY;64<#gi71kL0% z8$ASp)BJ>-_SuL+#@wDH)JxLwT568xEdh+Yy;{~x)mAd4ciurNe$0{_FNT{a@2QEY z%IPF%6L-W=1`UqKv^mJszsZ&ei=fGK&u@oX5FCJ1oC6>iyE+PH}Chh=nlGyx`aB1NCQa+v!}nW;C-o9|;g7c2e6Wz)B9~-}lLi1`&PCz9-Rul54 zYH-i)ic3r9fHG=yFh_9oiA46lXUM38+eHd3OSdqu3EbczUG?p;IoQioec1J+8r|le zLXHac^S2vq$4m{9y0!|S*pBNF7wko>P#qZcCfWzjBPG6;Y`y^cGw0H_TWw`;^*F0g z_ebeHmuj$E%-)o9d9|OSQ$GipUdA^jg19CnL<{YZK%>9?D1NW0ZfJcj?VWpx;v+}k z>m@VB5KEaj@X}24K%+AM<0RuXp)9Gq979t?Da+0IVw=qakx{?8W#7v`| zeBEa*Bf>UTp5fKbbWemz){@o6ANx{h$rO5szxIMqA_`~A1M!%&w}J(Dq?};J`hLJu zH-_gDrntDnj2R*mCkPxaYt~j!P{S%HSBQIt_XX^g==`%PGh(AT!#ad!*VKqL3m0uD-La;z&3jeny@f%b* z6lWN<#mC0Jan)C;i^xCQQdOwXs0ctcWO zXVS998(xL(7~X~zofK>3#Z{yl?*^4(>DW0vh7QOJI-f)_kcltIl@!(BsKou&c^}sTv0D?=C1{)w8bC#Ll4XI)0oQQUFE0sIseV3kY)dyP4R%!MKKY$ zQZZ_CaOK&r#`2lxLek1UZ+k^D%>^{;d7q|j3NY~)GGk8H4ec0|IqvM{qCRg_3YXVr zsk(_J2BS05#^)7f=Kz9c>xD|+o( zX?F>t(C3UjS=^*TpkaH30c`YH=66VQ;<5(aHn$)`g!cpf8P1h)+z6%;=*Fu&+eE5m zY%T5(>vnRfJ%55gB_iQ1a&IeI&x@eo=skRs`;|{B@2(I{j8v&0Qw@}KUp|s^+Qtf~ ztNbj56EABBmr9%z70P#pqcazOu(Gq*I@%UHYm`cR?XhD+ti_i|@dpZMEtrM6U(fdL zAfZYivWx$lAGnGOk>&)@@zXa23TO-d?yHJjYHsIQ^#rclyTdW247&3e3m&+l^EUoh z^wNyy^@2X-s&RjEBv0_5TXoE$aj}q3#??w?cjeA6^h8{~C@<+QYx>j+rk}~)rup(G z1H=Jh&~u~CxrC=;rr-P*X+IQV@HuW2AWnEbqhZ`GqrXCj8yP~`znyHTPkn440?R89| zov&P^1Qkp`9pou|xd>|J-&P|Lj45W=+?o~-M70nd{l25ulw&Q5?^S7r7Z|z^cie0dLEzcn5r$NV zI3JnqW{qT~U^Rd^*G$u|VfG3TIn)1*NH0gSgdH01vtlTv5~V%nN}8fa#=78FWr&GU zDV@q%G5N0GZOV4|CFQli;q4FNun|*Wt#eT+0yGpvUo^z8Bx?sQALW-MX-4juv#Msd zg-YkjWOI&&9$Hy#6&TJ+gnFe4B5dytjbAP3#-F#;Ln`D1%ODc7w-wcAVgxG zZF!J^_92JxAn~Dqqq3s?mYQWv8yg)1x-y2^ptPCs^BUEpIMnGSV@pmPi@*0{^C=!#XIa zmXY+96V@B(bbM2%KKWEZc5<>r1fLqz6_=v$&Gh54Y^ZYvdIoTJKIu{2^Lu&eNyxG` zfk-_6dFKTiDKKiq>2E@s98&|MZAYk`DDsmv($+uXh!PS*`uM%4>|<4Bd7^z*UeM5qEP_w6?4DGVhMnRa)HPLUoM#OP71lQ zBO6jpe4a%4gVi((RjAEJD+@l5g@>V8@lM@`Al(4QNRZH27C{;X<-m_(g8wNr9UjGz14R<#Kjs zll>n3lcK)e+lr5#xR0$q=bD?L;tMR9^H;;_WQT@Il5SBc6bl=fKx`TKf$#*RsU6%R7hQ zwowiUCj--3u9n4y+oYN1$C5-+C?ni^xZM2IVO;&adIvx+63JBlziEUQByE4;Q*a9w z*-*3-|91~nqIdOWJIMh9XT7OY%+CoSR0M9gwf6~g?Oy^q8S+cl8RP1R$(@vEUv_^q z+WWGq{P23BX|xJm3|2c^Ma}#_PgTn;+OBuIZ?qR$DdH)@uM_`)K!T${+SyBMEQ!`>P)kl$6xXpP;3KJQnXYflNt_+W$|9v#&c@eNbHj59u=H z)9yJX4s!Ouw~Wp@mICSs>*ts&36^>!n+)Jqh ziC-KrRz|l6|Ps;`_ z&MvWF`h#&Y*#lRQ)Ozkk=Q?k0yWu z_-e=emw;7NA?~k@*r0}-9aN$F(13}_`RlEOpXTo5Ig#!F-Gx^j@KOg7RRS7xs@U#WpBK8vPsLQ)9FstJiHTk3s_~{s`h&I@3-Kjt}8soWs zc-e}L{UIU!7pMx@m>iC6^PmO!O0Pn{9f!H6bXzNS+Ru^xh#_j}lBHQMFCVoJ>_P`z zap@c^PB-#3_@WzvCY8Ci-!5scmmN#O9%U^QGgOkC)F^s|EQXq--$+a*=l%1^@Z}3K z=LM@3%j~+p9)wFk6pXJ2VR&;nhW8^a%-q?fAIYR6O$>wFak%C`1DjD-u(~qhxQUar;`ViYq3_+@u8Q70%N+ z)Z)Y`>|(?rlVjrqETi#K!8fvOhKfXc`{7a1%E76$ZT{}@nT!0VfF)iQuAH2!QVI~2KTj!EbBQ1nxBgvg9}M;zzZEqriMrdHh zo7>@71;`OYTnSlJ27wgWihci#@GDW0IrWKoFAN{mosyFdR1wg8!k8ViIL<|nx`L+k zLjS_4n9%9+I++2$?lLd@bB6Yc2+&nZ?^lc8#546)!o~+@Z&5w?dZ8kE`CYlLro* z`me!6V(EYE8XQhu?bNW2+zw*NfgT9r7Pg24R#qyV6aEkoB;GmuKR$9 z@U?lBo#t+2Ek8m8JWi1(u>3a#~^+LZ8DZfnjk(Dpbzbxoi{QoIH&uF=D!o>8&eve z^UmnItvV@%Uz{p7wUcAgI#cSesyGIS>AMk+VYMp&?a7`Adp-6Bj>vIq{J z99;;Xkbg>4M1_A{m8s#~bHzPe?KKDYkXORv12Rdj5IPe)*Z{I!lYDIlMsEui`J}Ui zbD*l_&BK(~OSF0rDKb}Fd|H(L-FWy8*WTKjQ?uhwq&yWbx>qaLH&ouU1iFz4DGjL@ z8u6<*%!E7=ThaZ!hCAOd4zrFLu9zV3w@a6F6%9Uvw~})Fd***vL<$;if$vq|0#=>; zlzNM-(vn`1i`+Z(ocyF5)#=V4w*!pKq)bIe5a4H=iQc;BaVj2=Z;L-vxOM=d$q(rt zHqVx=?!TSdD#oFCz;rjnr8^8#uWdhPMp{Uzr4HVdk9Zv2KM>z_*-fG zwN*osqCozm!RwVgT`b28ULJQ_U=I~opf!SDdbUF)sG=5DsG%`YIR8L1T}mA2hunWH z- zYmBbUsPKTmm6oGG`H^=7iE1?#qNn$-JQZziuoz*w>%)gcS-g=?A*XZ!#?jU(_*`Qk zFguGI&W@XdlAE44Zm-`&^Jw-XjAAG{_fMO9+l7LE0f^B*fUOy0*)oX#!IN>CN`(q? zOxi{(i8Awy&ru8CLzzI4wPLz>c0(}zRIl&h3)#c(TU)`*A1h&D%_bEmb+DdEFxRLQ z<8kc}JjGSrfR|Ujf>1>35FS=7t4fjrJdA)9+9RAgsxh1GO+o67uQbP2ajzsXW)~sC?NWSb+&J&Vs zTR&=8j+$hBYroq5$p{hiery@p^luyc-#lxk(8!{jAo9kFzVFAj3d#;+N`$qWb`0xj ztT`TwF3rdxP>WAimm$i0gwV*1!$P*rj=XA8`+7MUl=3-elgjJ0Sn|Y?lDW2pfy*=>_1ot(GrhnrESyV#c}mF4$DMqT?e=U4tf#MoL?c)* zZ<&*)UeT>MlEUQ~oXeToZUW^;p{nHaCGgymLv$UWE-v!%2)eHw=>EAlh+*ay*-M;>{k9L!{gKSw;XNO5MYL4e$Lrp zFH#0s@$$P$kUdr#LmW7L&KrGNGb6x6ygUUHvNF3h!+IWF^i9^WDrXmm4S3v z?@hmMmG~$(d2^#7%XCd47_~Gf**E0O}KZkaG_7( z60eYRk4VOjEqm}KzY>-Aw#L_qV|sR~S?B75GOmk%H~k(nS9Xo(5l=T)q zR7=``LrU-7Vynk`WN+nuTR6mXO^tDjgd{T1kO63?H^0&|T=S@J_1Y?n-%h+s5smOhwAo3plK_aC@`I2Q1+@(PDOjw)t$ zr3D!)Q+*ItwHhSvY1fTSVl!YJI6dJYOPsVL#)6fSudt&BbS{}1t!I`hI4;4)+gD@N zt(J#pr&r43pN6}9b{#_X=Tu8C-rEKeVMSdHcuh6@^nl<21I`o3ZV341GA!9_6YpNd zBh)gTS?1$W{{+>lsvH}<-fOz8z87svO~!bYwb7%sNZ+w!h!K$LovtP zuD~ZT_Z6*wQ{bkJ5(y6wC>9Jp>;P8OFPPK0B%+agnX6N8VGv87uXLPO3T!T5L);>C z7I)VDk^!OY-Xz($r+xjy{MqUfqa&hU_}?Vpnxlt+538V9X+a=Ofd7*;^`N>@dJBXt zm81HH3OU~!{`Ar*vX$Ts_<-ss5JQ<)uu`GmDFE^2A33&eujYt&S96oVEI4O2wY10r z^qb_>?;x@r_VgV`h?D)l-F)P__;gGJes^a1mk5zyu=nA`eK02y{C2^w-=KwtLh0+j zf%8)%lLLqBsRRvYvun3z0uL<}x=~p?kU{?5SAf>H`7?hOWE!7 z)b!*Ko6qyN{l@4Oe2zm8!)}D^275u(mnL*V3peurG~s4C<^uggZTrfu0aB*^=0QjM zt5Ap?fCTn~h&?W!+@&MWrYfR8ByXU`d0sayg7p95IY{g~>yLi{OYBT$3Hr(lPQ@(< z>?bu?`7DxCLuq&^&)mg9l=Z&ZV+xXmPGEoVP0hp4!?wi?8{kmKY;p*hI2nfPP^KsS zjZ;II^%zP9ADyW-+iYACe+eljtEkBaFXtpHgu>}t55##>uXboxhmk3Z%hSg0>4XGC zLpPbi)D>F1pU7{oMRz0!)yl=@nw!`+XA@6Vfk?Mt^52M*fwX@>q?b>YQ{}|##n6EW z5NFaRWL|+23f&omTC})vw2c+l`UVAVygui*K@1^mL!_>#^@4(fQCBPK54(j*ON^bs zH}IZi>T9L)1W{|Cn_%Fis9nk`Iy zYlT9gL;w=j&#jr%G=HR_1%)wy7jijB_l^tGdN|1EcTDh^y(wIi)=yo`J+s~q`}K(d zu+yh;x1`zM13ziWujJlM*Me)Id~G*CSS}`4GfjU5#aH-{ZZl=q()UJ;#N~#9ZPaqk zdNk@k^6Z+^VwAtL(J#iB_?stPpt9UrP`&cdN!?DJ`#n=QQwyw_?EzxU{^gmITBU3l zqSqNAl*8|Obj5uFc)ySnltnuEQ}nIiwb&RcS4W77?^o- zSWlwllnw1n@v4{LZ3gOkYyEElZb2)Tl1318LCm%%JBb4NHmAYYO6(vu-k5DvSiH#^ zYIHHaRn>(wsy#$QQ{Jz?j4rR%W961U$JZ?09y2lL%m{`Q&@&qXvtAyl*7hf9BbW zr4`zw`@I9ZLGZsuda^$4BY)lB>(vgs&nhf%NJ>dL!SFYoDHYpNU2U`A{Xw~x+Zm@R zPLY)z0qQ%d7pjSRpC`&`qTbk%M^uH^jYp+O1=EnqOL%PO38kWm_*(WLH2duANlAT zBud3v-Ptr&c6${mPVpImD}hvQ&>Q^^qEfJZ@jk?%;RE?i&pb&%rA2wE>p%4LKqrEA z1-xXM;;dZVIqAOmJ{7PNL`w;32=%EM_AGxoend?}qX&tarKY|C;+=7Xq{LV^e``l{5!Ja>`UouPf{GeccJCEEa~=p52m5G zwHP-d4IYb%M-jmb`Jxl0#~Aho0#|`Aq9d6CwxVT5F8_q5gi;}92Sj8AS_u9MR)XW% zmkPa%VED>*K`1M=Znclj1Y+CVaiQsek`GlQtfD95Ay%G)b0ja6=jeRt9VGij}g zc_HLqNNsKSaaLUcAgKg=98-;w4|l<}$pUXrA=wd=?wFY3A@pzApKk63aWk^qj9C57 z_z>|}3MCWd3*Oy;@LIAnRzn+J6KBj#K>tE)tO@zNV`q=EOQ2SPC`UUF_0o$|;w z-xk7b$~-~!TJYZ-@DCS=Vmce#m<YiSv1H$~3jE$y(3cI(DTFy{ z*M3Wr`eiqIP$l^=--kZC&4UU|yk{<#Cbx?(%~h_QD@Q$acGe^~>8fG)!-f_*4sXSP zJCjrFO~02G-$Otgk5>)ss$W{coKk|-~3Cv3rET^#VTG4tYFKN|mN5anlR~dWAK`$@$(n z!dn4ric`p5!`3?+I-zqnD?X3+^FgYLOBk;IXw+%UEq1JZQOLkP8P4y^aYJ`Ppp<^GN5k&1pU&TtSe{w(WtrvH9NR7q$F z=(vOWMZmpb>n{f#aTr~&J~REb?o8YFx}p>p?)mR)X`L>MTe%MDsk=*SYj&D$P?{3l z4JnV#y~49R%BCG&4;LX6iJX7gq42Iy7hArJlVJ+%zEXff9NzTWGXd2(CO>JIc-OKb zqWjxkJMJrRI3N2k>d8`8>cZOy8HrUnRMBb1_leP%EXn@OM>$J zdDRq!RZfS+w*uc8{K|2f^RB$55QN)0qIlyuycjmX( zo7M6dRB?DuOJC9Y=k0dv*n2kUjtG9z`4W5Itb+|dwxq^$Lj}S{9tWqI=5^CuLrXAp z!+FJ`F=y>%$rznL(dU}sxgZ_r^5{~qC+3%SZsuGFJ;7bx{ zp;?ZUuXn4W#a!T>yNaP>B_1i>@W??3_$7tu!6VX)utGo6_z<&p7F}~2?yC;faGh^{ z>ke)(_v=HXIkw(Hr3ISXy8iEbRI)U$q^Cm&__EWEe?U1>Tfm3Lm@4gm_bxR>oI;>0 z99>IGJDr)s&we-5p)ibH`~g1Z`{yzs@DjNiZ0b!R((#vEASzNLt{dz89V02q09W4S zef{TQy`1hDaUAhxrThbX7uFD z8RCHvvWB~y?rpUN2vU*tDpdTx5}5kwO0KorkY_17MgW*TS@8?wm~czqdL#aX{$K>Sp)hPn;W zqwiVGWIQN6?S#Cs>8#l8b1SE?_BpV&`wl|nQ8?blS{{5vz=h~k3E~^3iuYI@84i6( z47x3M&74M-PTR+s4MoI5=qV@MWZ3?bE@ufH-|#g;Os$S{r`J>Hc?#J+cyxzUkd)~R z0g??%;^pGJ!2NYe3ms-$1JdwhfdL@T<9Pe@dQtTc{IQHF1|aSIvla+F$+F!oKtHdp zl*J0~J^vO)gj<=X;z)vQ6pn^l$rZsbyab(>O^>Ir38T&LG)u17mhE++i+nnMQ}leY zX2tK{h@OOf7NPC5&|2oK?%YFF7SdgVPmmL|+qb+}tEB%czZ4t)SV-kcd}fuf!450} zWcu$&riP)U^!#h#kF~RxR`I{+4CxF;lepF6Ixa>>k2kzm6_|N4U>ETBo zS+-tI-`?a}%&cu2A6!o4^NMD|JBgc)?a-o(-r^8hk%)Fuj_F+9RfTRNuqi6niUEzM zkE1VAdD*WY+>RZ-YL?$E{O9Pj!Vjq$nc%sB$qnw3Q+YBMg7hS|+!8U?5X+vk3hnf1 z;{z$ej9~BgUqnGnQ9}*BnO8n??>^#Zx`$C(T)%pf=m}f1;ePs3axe&ioPbd0y2kah z*jaT6*R+<4{ap5z*(V?cg+i^o9~Xl`05a6iu?xZt1AgRIOdWOv!V89o^(&_KklPH7 zu=A{S`aIbcTKV%DuILriVU%K~!GOyNEkqe;uimJ!~eF-0gK zJ8>~I1d(-gMwmbQ!6Ar;c5#+EW^e|0t2+}~R7d^=GTC*B1X4_46G;?SF&DP;C{<_Z zyHj;*(W#X39 zT<-sQFSHOGqlsTABm+Rk`|0oQzMhOu!JnLiP^#OZFdfgtMhgy2@-2CNav(m%6NlaC zoR20Hs1dk!WxumE4Y^{ExF}gN3_0IWX6CGk?E}SJ0<1!B28{D#Uoyei*|>tzsRnjsCy|W}GkFEarxyi*g(^G<-3^qggO+Wb2oehN zNeO&FzN3dez$qtc{xZwOH9A)kTqhx=kk|eZeNyYoQg*oU__Xjzv5+W*1hmzj-g5u1 zj6xRuK{E**I)VEu%TWf>KB<3CVhKfM)Xcn@+;ab>&R3Jxu*kc}5zpE?8Vju-yl81L zWOeOY1Ck$g37sV9oV}_Qp|92=>7y(G|CQr_|19F)N3?PIb*LYx(IJ}jLNpW&6Yuz} zx(d~AElJTuh>nY`mlJ_h(FQ(|X&kTdEk-tgCpR%mOy&<+hf}I)fw3(< zD@fJ5>MvJd%NMGO`X|5gWD81x>MiABd4@dqRNe1%RCKLSNDF|h@uPJ|yD~pXq;ne;Gjpi7lVo;#bpwmUd5&Kndz;j&vLQY4?EpT2 zw!1ZQ1#@ou?^iX32)VZs6{f%Tc>-?`vlq-S+oUI|SZD$IS>QaR>%xh1Wp07-n4{DN z)$TE27A}T${-dFyeayQ;87DLxqU|)c-?7f-O|g{}nY(!!cFst9F>%nx(4kn@8&9MT z{l&!@&e`-07RL~RL=La)?IL<+v)u& zm-8))6_^)Oiz1U(Kv!14maz`5UxeY(qb1)NeoA(ROM_f3EV!w&91HtE+* zg2P+*{ofovXgEr7qJ`5x);pz4tM#B|TduU>f4lX+K`yjAW>rmCzlynj;<$DJ$TmM4 zqjFm}-}Ef25vj7pO2o$(Y2c3|I%aoeL_R3V2ez z>)Rayc11-mJd6=ymQFMqGHN9=3_@LWo#KoK%!Z%JnP*_JKPL1B=be&BrMSh)=w=8=Gs^bXW<8qaPts>O zValv;|0S4;LSv!eHUK#w;Dh+pTq5mg+EPz*AoAh269KvcYP8qUaJwLy21reBNy!cC zGfAb0^q8c2oY-A|p!=^b46;Y^$#ro-u~F8TSGI3w$p|XOOSN%}xZ05vh7p+;aQbz6 zOZ?zaJXzF&EJ2|g23@EH^xCWt2yjG7iB^O~mtO^?^XwR!cA2t5kh*h7?8Hojkp#EU z>twAc8?tln_qdULg;~q-^0Qoa=*LOAu77do_9KC}BvPxl1400@Z`j)P{o)G&tohp2 z3$GsfGXehZ(2o_%4UbK-nsfg3rj`{IlGFc4%E-w-^~5PoWg05Q!{rSc~$sO<^47&JXvAsi5Ciu48EU;2Q-kP6K z?p>Yd#%B>oESROsF_$x)Pfm1qG_ufNFA}OQ@})edwkLe=4A?>;dH{0S&)%OiZ|UG$ zmebB5??>-SZGedL<43dgxfB{Rn4nda@FPuslPJyvq@e{-DUP z&aP0PL@X@56UG~tU572DD5@R#sOlbKXwc_|*5{|44TLf1wZmANV#HR{VgP&91c{p^ z(|kp1bc#1w<0U~EA0pR#W7DIRP~Dji9TN5WiqQN;B*90kpB#xtvPBE*>%);CjgA?K zDauOW`%*W9^Q+{q{6Z|}WHV7g!Sl~s`n1z!NjT|a^7HSV1ZqKo`pdD1vO zvVmADH=GQ83}Z0GK&#}&2;645DKZ7vg8^_Se-joD*WLhW1Nh#U;~LnuSm!eX{>&bs zOLsqMHTQ)c%}0q>bxNvoVkDJaZl11g!U;(vP0`qk^{YIa%k-;C<^#)kal#rg5O&u| z2`?PvaQ!1Fd&@#o&Nj!)jf&G7psWusOq!MQ%5OqG18EtpBQ@(Jm6|ON%#CG5JBGYX z_AEQ>d-B-swlnKBp*$u^nT6 zqz1987B+{pIL=tR-5fJY$rh@ZB`$VurDB`olIM&RhXczDF($y9-nF`xm=gsxuFwjm zANNA7TRaiJz|K@#S0}kUr}8!aU0`ZC__YPWk<9`PcH+sHOB(^uDCn&O#Vdw0r1AI! z{t@X3s6=0oZ}{VVl?W(84vhC2VS4~n_e&oCbN}`NWkmKXpIB*LqM($0fX5Ne>YOU} zKW`f3!+%%|OM*3s897<{={%t`Gnl2;sR&=J-c1qn1*#vUAttue5yVfqPPOFv${N9p zQy%&Lw|IS07Q?av6<8e{+$CyB!c_eaMF8}l^Yy_BH3@+1iN5qd5?E;B@WJ-15^mXC zxPP35=o3;cIaVgnyrbV`r-?h|l8+5p@Bp>g6eMo+(&?$KjG=DPt{JRo7MwR{BBa)DTegnuq@-?FLGt6lODc$8;sBwX+F-nq_;sNx>97W<<@lO3z+ zSW*+$FZYvK&1GDTKP;)JMqyCrmeXCU&v%3;U;@9lpwu!F4@GINJAdXieocp9dxGb%D}k7RWPk{Si&+e1XY3W*cQq*HC_C+n+!|+m$&rH zph>*PV8goRU@D^jbxPtr=0DR^6rz6{HILw&b}PBI5bk^xZObxt!FxY>i}&OY}-lW4FC!=e@bYZL3cv+Ki?dX5M7|RGNq+lKbx)8(eZDEg}&Wx0eF|T@!Of*$7@Dp(ITtHMaR&|HeEWgi3(PCwR!BP5tTI1kJ2Z`+3Rc5_x zkCKN~HZ1FVTz&-s%2S`&FB!BgWM@$=9{}+o?}GNYruqF&sx>_m81HtBjQ{%io5B^a zAjh!|3Do=bCR&2F`{P%>&=>6ck9Bo70EIQ+W3uAL)OFmm4dpOuoHnj(-h-IO(1EV7 z(9|J2rtv0gc_JqHqZF-Bi+XufH@y#mU86x0;}bT~XmiY$qUe zx&#m3dk=Ww=NIgtfr|_!tY~0kspp(@0#_H&k_7Kw*~>OJ*wosqCbo#W9Zzv=oL4IO zU|^9gROmerm&0`8N7c3s?H0hfC003Z>+Ry2kH>3>z@0`T!MGCurBg#XLbH7YCIT;( z?p5IXN$jZwph*6+!+Vr8uUJX;FYXtV_(%@#Lj^sTdU&<#rSk=8boiq`Tc7iZRedd)F^mkqJ+SyP79c(C}O4 zv0&0}luOwiypx5@Fr_D@Q{`;$zRQlnvs68a$;Z*DM}X>${GF8lRp3W#=r8`)=4weT zJj$5I=qw#r-G&TX_uc56p1tqK$8$N^@rOdeDgcU3zz3DSrD;rF@%{Zg%OQ+4O~&M& z9(S2JL2z^-^n1KsHqOIh5}B_Q?H9KOpE&%h;qKHKqXNNU1!3jZpnEfU!G_bqo*_l? zM_i8ko+?2Zm1lmpMR`h^dW?!L7W_!*ao^AY2ksI0(Nj|h$vnhZog=41=nX_Py`|ig zjta7Fv%|w_Z$>@#frIeq^|mJv>{X~E5W(~k#;fR}ujXOWH%LWKxq~Uh_&+`zio?$f zM(e|O_nhrJ0zn3vA*)J=BG_H~5A9Da${-K-QnJ?xhwt_yUPo|81+R*zk*`X|fsBI& zLZ7$4oUJ|$T!jMS_LIvaxve1P2U!rA+o`6n&)_ebkcCq2&EL!_TaYVHj(>y(5N6C? zO5J>~zjXQ7`@>*UGfU?;hdwZ@L2U~PD;g*=01BC#`PJA! zPh!sR&p)Q4MIynSxNQg^-&b<)XH;Gf6BX3m^E3akBm6RHl*d%kd9bxyiz6kns-tF@!~JJ~*=vMRdC0Gsj!007C; z$_n*RQ$jQw5FAb!{W%$75j&XsvYe4TTEU_@cq?fhlS@w^dOElr8R>a(bDV1TP=$vD zApHp?{*x~t`=IVP%OD1=BW@fl2shcI(;>l1V(8wRjZZE9N7Exs-VSLVEUO$pK7n2+ z@fF>iMSrLxGhD%YJ^%aem}y^8mw8>=HPA!r(8iCY5*ph8iEo?Lzza2#)0ip9L;G)p z(T_<^cp^-};vrTti}r&ClLI^_Y;&bB!;=(^lFav~uMRwj8e8_pzlIwnJ>Y{)R0Uq{ zEwukBS5(r7!U7k}nssgdM4X}oYxI+5U2O(LUiGi2&6MA?Jteo(;bxQ(=wtD=+#;;Q zcpc9ILeRR<`JAVC9siW-7+N>cGCpv@qAc-RdGa`Y*(gDm1`jC4^iN5K{*B54O@^=x*Ge#Qsj#f8k$n#K5-^3(-UB3)FyK`G*hn%K zuE+%h?z|lcg7;FEtdBD+A9(ob<&qh=isbhuqTmQ0U89rBjaa)~_yYM$>_i>RJQ-S$ z*T7-awvqZN-7@fCbcNzFdp+;plu8{gr!UQDwkX+1eD(6n3tJ8B%I}`UEoFR8*f!Fa zXi#N>6Y`+g-rug5Qpx=BNBU%kzJ&$w$N++1du|i)8UbrKe&02@TbV7CqC9HH3>U@a zNPNh(3VCRBA|bGnLc%-tmM3vl*J*D7$bXGCO5cxcBPk(hRA88X+NOtE3Jufg0LORxeLgqfp>1Xj`M z_dX5F2v5}j|2K3CWjL*LGL?(i_TP=i)=9bo{9D35=rsa3cl;v}%1OJa=uDLAV+1KN zWaMJ#-UPdr`YUp^dWlM)#cXcMXozqyZj)Xb?!|AOvM>C?pR!qRJ@VBkWiyiSch`DC z=^2b-%VL4DJPivks$vj_b5vNANW@a zfI6_47KL&?7(ydrXHI*2_`*p1Nsw zSTGFZy^C<-fA6KqSh%?S!A1JgG#rW%FlivT0zL!uE%LX{L%L7tW2JxCVdB#8Vo%V{ zh*=KYv<64LPhn`rgWg@}(*?vE<`@=qBVMBSPpUzch+-B1jE7v|MFld&e*E!Q{v#L0 zE++vCzuVoRTZEHms&dcni?DT=UDwQs;58yC1y6E~`Vn)DB^}7!gcT24GrnY`BoS?L zVYSBB_T&GduPCQK9u-a{=_zAN1bpA?t*a4d!eAiHTeX=vsugI>FF{End+f8WIlsr= zYxc`A?~N}mB~C*^43e30t-ZQ!*lCGgilnp_2h0f%yp5W))l#c!9%Vb6^tgJ?9MZ_5jiXJ^{ZSr>YKVPg zxrg85wJ@ojPbdF$+bADDijLX30x$)Fr4lGZ5*Si4+n<0lg_dNU5(jR2`{^_ZXAT!b z-fs{{f5mlB9+-j0onX+QS2qqTR}fZ9<|f~aI`4ER_tTjVARbQ-kWWjyce`tX%U{UV;ODbe7^pk<2Y7$xnDnS z0+PCuq?4mjrFnxFaPo|7MQImK^;!+VoZhgSEKNa&@lX}-ux3zjUo47CMQR6!Or$OC zvDs;)bVK$AlpQntBkY(3pd$Uyo9|+41a-b-G>RtS%|Ed#4&h}on0rI{4hJ+^B~so` z&-FRy)G!CW<(Lc7P(nB!#~&&Xk3@@~4S%CUDg=TMw9Kg+_bGZ44ZB2y-C2qiX0zQv zqY(=eW5t0S8<+sGGPu7eozsPRBV>$JR!8UJ1`-4r-$f6}Z@YE35I`e>Hp-u&T6W(4GSX=$O zltCH>BjibBJt01R>dGt^R43%ivLg97k;@O4I94c0{;sQbYFCJJ5@Fosjd!`31GkkXq)yUD&RGCV9mRRaP$1VuX zs+ykAkXVR}ehjEQ<}>eXHLFMyy2sMmdEt=^r(+(s8>;R zp>{LKgsdzTh{D9(m1P_GM_%|&dUy_f_}nL-E7B|<7lRxu$4yzk4~C}uVgHW#;7pNm z@uPYAey_mT$D0%{E9n-j(p4MC!pGFa$sNeW_nphcqW!zVt~PCzKRjL13ay` zy}@W;V(q8IhFx~gOlx&!aM{cHH0CAz`wHG ze3m)=j+~AkMf3&$)!^rs{=m*TIr3{_V2ZysH$F}sIdGu8Al1jqz3DTFOK8zReBqI- z>e!pBlQKaGKmIvCYI>mhjv@90Px=I2p-#wBZj#ihe{bP;;Kh_v z0(RY;&YPe>K)S2zxhRPnGVVE<@DEK{DJ7<_WOsGpvEZ8qe6D8|oNh|Ox_@CCs>eIb zpmn-$8(7WdXUS2ljcS1@t^d}lcv?dUI6!>yCy52i8XkCX$PV_3EMriwf)1e61yfX5 zG(vylSr?!u+VB;-5Z7)*6xHwfE)-k_pt}5A6-;A|laoRFK%JoQbr&&p=g-DCz_Q}3 z3|>l48(AZ|wLmSw$HZKxm|J;~DK1p6J=#vrYHK9klb(F_CD89*z45MPaow7ms>49! zmIgKEww_{IGy#OLsU;M}2-tN6a=h{aM<|qI*Bc`_%c3jQQR$)B4s+`FC?Q-(vr?I0 zXyN7`R|$3bru-UrfvSguTLYyDJg=3rhhtNAn@yYr4i4?>vPB-WoC*P^m1=iJH#A1H z{=TM|Q|(aL-_k7kTd`jk8`yuoEGj6)?S@Og2}N35iDqR_0>g{{IX3->9DgW#_F-3u zwg>%Z9mGTa5Y~ikU@U*qgmYMx6azW^+8BZjP|g*gHachZcX^d~+kuh`k`Up;dQ*bRuw^oQgudjK#D zqG9=9(4kwDN@s-(!EhGnmVo!P#6s(dyj7zF5uD&qF$BD}w%>t3sfNwDuJtLZ3Sj8Y z)yen2{!Syvz7q39i*Nm6g^gKPKtKIBMz~XfVN1`m+5_*{$S$_udICjP#aiu?&iiL1 z3553Z^{8haj_)WH4*s4$+qCrN?|ETOfk~biAcJ0-Ewu;y9pR3F_o-%t$5#(~7x7iL zTbplfvnPYYZ=_!l`)?d>WC1hFP1Gvp3T!kZKh=x<91&aQK9~75t3AI!K*wS9v#z7h zw=3_=EE$Zd2UXf;ApjgGEE+H57P%(qhF1@nd{_fBI0zd?zNXF? zBWy+<=_P|l6u&!Qw~y@FxdYGeP5kdL;o?K^DY`!YC0XezAA6x-1ptWZCl73d%905f z)|{=wl%`jS?18-G*6_m1gsr*Q*&yOn=|A6r6G%dHKOl|^^B$1HU>@8>PzcK67#5b- zOR&PT$RJAm;LAmteq+w2ArUdi1x)({S<(q%QnCKOQENPUa#YP_pC9v4M6)R3j*&%? zDH7{27ldIwy5#z^Z>X%e5QG*i%yw%t*DkYo>W&l<@t@@IKfeORt5IL=_K-~WQWO7L$l65h3=6VNtyG>J1mHw6qjy*`xcBpCbbdQ-q^MuUy+dt8Ar!w{Z20Vi?)u17P ztsV#va6g-v%tE1TQGrJ}T6~*`cfGn{rQMs+o2Acm-FnKy(ZYUW_gZrN!Zid@@P6m- zcNdZ#%boZ$C@5J*hi=3lp0nfNfgTDa#ykmvdIGr$1VRS9MfdVMCaAI-1|c_>WGWFw zWC-O~WvqX5#WrG|xV$ouG7rt(nn~;T)2rmSg8ot64}#DE05bVW6^@uOz32FXXX8(C zftEdp)TaS~|5hbOQ)urp?XV2Q2tKqB5_Q%!W3Q^FXDZzBwA-5n)BEjp@8Nkw`&FGF z6b18*INJtXkc4UItS<}F+GC-IJ~z_bT&K>|BqD#NYs8I;EFgmbY5d6s>xi5W*4O7JgH`vEo&6 zX$@b*tDwP!S7B}9<@%2q>;~y>d%a1S`L6JS!ihq%sbb$g?$w~x^lsn6V@amHvy zGj1nQ5*o{is45HD0-O3)P8h3tyZ06*7E}800SIG^(5wLb|5!r@DM^l1yvd>HCW5t& zIYR|>`yu4yVtsxw&>+dYU)Q$e5eY@1Y?u7mP|d3yWDoxT+m8N8AMAe8%gv}rV}#XU z?(I6}YT{7?gSgde@1N&Q0|D-CT0OY|GnDB^tT3-uD#b`7G)Rtle1s z`t`vR(;Dy$bFBB^MHUur_Bd~U)aP)0DKzfLNXvN3H|5Mf+Ia5@nW4j zra1D@Zo9YQ4JP05m-9ab2~b|Z2cMN+ok9434qK(bH)?u$Z*zL;TyDc3PW9EnEHXTh8NPqaCvt$Jbzdb<|Fg_WT5`sudJOi zp*=o<-IqIu@(-je%kSjVd!hDe)5V^n2#gt#N((RPgw2O{tb51!oq+j%`W07AQ9C7R@{Bu_klQ*hBmRKSFe?>-hmuiLPDve^*ec9bxt2&&>7@ zjp9fqTUD~Bj6u(TVVuKJ=7~NH%YhZcL>*1DM}%_Naf=bSQAR*Fqcreki^fN+eg00P zE2_%<-Uu3(UkT1Gdkm@HV!Z%M?CF@G4HWF`${hz5P^c&xL?0~_tONj!{abR&wd3pQ z)Vf-GlGUfDl;F45q(cJbK=QbJ3_=lddcj$Yy!SJUO0B-WwGt2 z(s?lt&Q)64m9lbSY?omrdiLyx{R#&i%T1qO=UfNbAuwSWoIoPjdPBel_rMH&k$Czr zlZZb<+Y$iK)=zJSlViqkX{^}yZI{|^7H|tuL(r?2VQ0i1*J>4HUw8d}=$dpc5PecF zh2tlK>y)s6Y@iM|`R4o!Lp~=lZKs;d&F3?O2&{fPPU$p9e?cVr4Rp0o_GTFP>K)J2 zxxAJtqD&_wo{r2G!ep2=iik9}?z72k)9$Giyw?H&|4ULcUH-$n$*%62D$4`D)o~do zAGVk=F7<0W=*hCSmg!sn|3$#f&q6gXb(p`()vqqbJH3a_x#cg0`l@}Whyv3Lu5JRE z>TP1#a5nKm2}s3JPV!<0TKM8cu^}QsISpJba1l4Yq(Kq`+*F50(V+z)35>z_FD1Yu zPYpyu4nlY{QJc&%=WYpihT_o@4FBYpVf)dZ2(}fpY9%*GM;HZfz=T47cWhg@r`P#!V9kk-`^!(IetGxaxj%JE%nBaKiDAV zrj{pi19|Yk3S%48l7TsGDW1v9m=5nv4=|z|!deM2;YOVK8$14J3BBjdcs$E`@Kuhk zCJM-@PT_sb*5&@tEi!((Q@{8)Mhga{JWuIk#YZ|~=5C*Ek+Me-^09mdYj$r6Af51x zNy*>DLRvNa5WxP_JS1jHb^o9=KDDhL8&xZF^wmguKS9|w0AQ@2ftd%5u%`b+o+S-# zBTBi6D6o6<3k&O!;yEi1R!UKoPdwU~L?$FSe7~bzi8DE75l2j`VD>MK3VGVAwwrEd zDqKx`eQyU^;ZHbm^YVTUer>|?M~P_~fK2~`$!nrb^80!AU_mnpTKNvOF9B;ezviLnT97@1PgZ}p2q&mDkJB>{q7=r zBM&3$>}k9RY?~rP%nXh#k8E0ng5LmO!GI6nCbRGV@}Y}F+wiM#z9t9a-0;!AD-cmh z`Ys!!vM;rkAlrOKLpL7yZy%h{58uEuCc`lQ)0$9pyu?;A3(G0)Aj5IY$$K~za4as? zmK*9SUwFbt#laddt zDB-uB4spfDe>o;mlbH%Ged3RaW{}-wvO3ia!&~!M?|9y5oA=w_aFP8<0sC{aa8w5E zl7lOn(?&Mywc@pH^Sg+k}^`TxT+!?i6Iq zd+U~H*X&-ELJoV2sKR%*n0NkrFIk*K=mn^^k#-q*s?2mnb3*^v+mr zsVe}MHOgW;TX$SW*zRQ3^O4;AC_%ht=K^!?UK#Dz{$VZ|>+}o9`Rp`PiVc>c^_9*} zeqO`(7ODNQlHkj#h5F&?BB;)Bm$Wc);!tT1aTnv2#fIy5jkb)yI{n`=#7j2uv(NDn zPYYH(0dQJFc4~KejGX!&Pw=65r5SJv)Ct^Yi0cm!(jW9;Y(O982V+2E&(|>;%@40< zE;RIE!TVb2V(LQ9Gs3h$iCd$&o<>7`;i7MXHU)bwa}*M$L?GhSx!;0U<4z62sTWhA zmC3Jcx{c*cNy+Zxp$kxUAiS=$b3oF#D8nvGHpI?(jKl97qUuGOoYvn9=cA$)d z@_1gDEAYKrM@C?bFrbs(xpK%h5!3z=>25j6s(5*yjnqXqFmI{0P}hnC{79qg2Se%l z)$%OBQRcVlJ8pnUroj>`Cp$1CMEzVY`vc0Aj*b502kbQVq9Tz^SU*y!6D}ojKGI@6 zWbYV-r2Z%OMk71f(%_H= zqN>ya!TmusuT6h4D&#xy?G7>x;@-!%98ZY@zRiTBGY9{5-!Psva)1H0J(qEo)Uf1I zR>xaOH1O0gNWAbL;tQ;VI(ny497}%2&eN~ZKZJ#YFar8pF%7@;bxCrn^kaV1 z0h8jxIA%vZzedx7L|S|bqQf*n*-Qx#JQ47I8qUJbx}WqD3SZ#U@n&e9uFXC=7guVr zT>a0(KWyJW%3V$oAqFAc_J2ban?jKN#JUsRh0h7EkRVeWd9OOAXN=?OhFr9;+ z;bh5@#%;7J2p$Nn6PayJ2L`}1MhT&&r0FrM3ykvLRZaFvSP8Vus?T_O+&Rk8S@6pw zCVj5O%xs@;Tbf<3a9Nv`0i}@uFxbrpu)Z-s5ESQsIRSVH2r*(Y{m#kM#>*yC1P1Ba zJk>Bt^e?;uJFVhr{GcaOQQP#z_5>nFQtFmx@v-LgP%Op2x)DEzgQUat)bv@<=L2KV zET(i2R`Ay1Da=EOkyy9yWa|H z?H-DP%8A(ZOn({GB(g#FPC`QhRMxX9a?TD-NG|6%j0#eZOi8jdx*(vcLp~NQvZJk( z8_B&#!a^x#adrrb4%B6f52cpeOblnW#+fnVjz-|>WxB%pu4Y;3I+Qws+767a+y;5` zpY@l?zrGH?KGZF-;|vWzfQtqo_!MZ_=8Zw~kuwEZn&$l@B4VYMu(Znu0ma|LuSEL6 zO3WM^tj=HTsN?CRHO0r4NLl67hbdm@dw$m{oJ-cVyFA)6UzqxQbMz*o7@QwayT#SpFDzNA5)L8&8o# znoKqq$T6q8NL1c`%-;zFZD#)rs|s$Q{cW-@|o+nn5?B*m)O1OT4spc zvWLXG;R1sh|0Zfu_yn0&>FNESP8I|lC;e0UT%z}`>YuyVVc=ppp-oyY zcXK>_3xl$!lW!G_=!+!S(=ORcMBjeH1J-{H#F+c33sA#DXXKwfl$Hwf$HO$hG!F8- z;c4^*4wGfmruXOgPj>4uzfW=wtXmO*uJ%OO~nm zRE(sU(laOgKAjy;xd%>B>*hyKu!?eevkqQXI;ey_1ws%3-lvKg)&dj+U(P;LO2msF z6Rijo!_{eKO22sXg`K;AF<$P#plOg4w^s43EVg{obHt2@U87;wE$JSEE4larn@ZQy2D z&T3Eodf*|`pcYJp;jz@g)g6I+z|=!duPe&$<<}&eOFV`XO7QVuFXSUR+M~drJa)5g!O_XiR%I@^Eg4KsTi&k2 z(@F6X9{gMI83d~n_TaqJikls0Y^+_<=kXSiB)c=tLBHoJ&=D}cd_-+<5^b<&A$Eel zUv*Z3C+%o`HH5xtG7vO{2P4vU&z|lip)Tu< zvB+s(3MSdx?LK_>cvB=l9TY z2{0%?+A6+Mdw6z7c*xW$Yo(<N@T&^D{T{on)+4G8nRqueM`hwP6xkJtij>Ac zf37?87Nb}(Ia1+MX?JWo#)%{7%p3{Q1d}wVArd7i(gH4|{M6bv#Na`DvWI*oi~QT% z->@Hp&ndAIJ3`Gi#mY#uaQ2I?5Y~`Oqkad*#P$o2O(VohB1<7kNPTuu6gUbH<gj~*h%Nv19+on>;jWaB4JW7h#xlzgh&PPt=(+$ z2mXRxYMTozT5i|`R|1BEb>m{BwZT0bV5Silr%#NX5GN$Ps_D-)7Wxy zQP?0H#AGT8L$#KvOu2RDpfhW z6%;k!pL~;n_Sn>XVgZ*&v|Li1k8+=d?UaBLzO&7Rq%B+j?7@0`*2QnAbm|G_j0kFI z*`+SiCy`uY)Gg`DEf*aqLf`FLdY~G7je^WP9Y>P;YUvNWrbzz7WI$Aay4BtbLbNg9 zPyS^9GPDfWalvwdLO+zA&sqV}D!$j6G1*51wV72W3*ORxAI&BBSpu#CCOPA6O})5< zqu-p@S~wIp^ts7hJaZoztze26AzIR~1y)?@h5|Z1Daq#9+X-b9_DI8DWqGy$yLZA{ zb**!L;7x%>sxIm7&*cz5EbWBxF=O+k?JjJ)F*+^RXkC!zYS&uKj5$B7`5y;zr}?%9 zrUBvvW6{euq#<40+yJp~3h;~ANRGa^)g^giU(Ppur{&~5nA5Lau-sy?F(5=YsEdtw z&Pb*Y%^XpwtlBKf=03bB5@w?qj^?+KOe|MV=dGR6(x9P;Mnd_+K371!?PF))!XhhI zLj;+kmsqF^zD|+7?DJ%(6^)5?ciG1HRqZWHxBF zu{yGvv=e=8AvAh)>#@gVTqNgh_*9KnC{(R3bPac=`)|MopE1MMK7}*XgWIgC zMNM;Y#a*Rwx}QG>7_o%JYS8paC)g6lwIjf>uSi4a?I{#QNNxo}%z_-#4}8SG4pl|>IwPcMtE(``%|V-xQwNXUDo)X*nSbQcf7` zlJz=IyZNa;SVO5+|1Lh617(8(1PJ%)(S75FTp6qFyOFnUNUC!Td%;D&Y|%7DJ?G8V zO1BcKT6=_@q4b5?GO3^EuGSFj*n%!+Vqf3bFjMe#^JL`WBO@J&|i$+wnzN7Pl(9mVV(RXR_y%ACOY8!HB;ew`CqLEi3E5b zguuc>>AQ#}2|$oVbKXP}>*a&DKh{BAW#cqu8P|TiKCQRZysnQcPwSM6@)rFQ$)tkT9 zov%04p#JX=5Rwe=-Vg0kf`GQMV-}YKMrj(DI@VmU_46SWY$=Rw0?h2e!2Gw74y{+= zW*rNhM`MyxYdZp&q<4J0Fgsa{&+$8tK{BS#dxGAc#L7yM<^k8x#J+h^r>c1VosTdz zP}Ki9PP!kuS1%uwcE8@vFi!N?G7yOUF-EEb*;dPzb&@(~rAt=JOV16lftQI&J0zf4 zFbaioz-K;VDPa}2iAvBW<<)no1RthCdXYv0rlNmn-C%$>^38OPlxiS)%FOs-*Mfdr|4u@;g4)ASGdyk@%eGF+X2I6s z(q--V1*R2gL1Dlo9;jIx`I3Tb;Zj0&P3Xa zzO`44Jw~9LbGdvp7xQk8w7*%WGxh5+(RB5`va+u#GLmH=x4_CSpnzZd%Z@A1?jX)S z-xq(flZiy1k@b{h@k-<1a-@x7aK+Do)pgIu0el{vkeaM2z6K4&i%I|K-y_{LcAitP z*3EMir-|trgJk5>5ibt*_i0+(_$wj<1_nMIuHRiO{EL7%Fh(~!v~+|jpxH*2bJj$b zlpdqWDt8##gdfCX!zb?I;)mdyQ?~{FIPdI+!9;?Olwb{I)S6_-(+2wl>gT;=FnRSmgd+2@zp=XPgA|GDCuaI#x z#C3nztOMnGj$j8zm%Phbm>Y7Zcx{K*d_nGiZ9MJq+{5Hp=Ju5|bu9zigD1pH){&v0v;B3_QUhBq zN1Z-;ul+UMNm^z-VHYU4$L|AZfe$-)tv{(39hq#+UXSHfHx_##RPA{>v82!w1$+M3 zg5bCP$Z7JNJZ7fs72v}HmaYF+vp~84-WPEr5o?*elTRO@$7nAZPdFl4at7YKPDxLAz$R8D2pwVHrq62j#7cxtg$F+rc?%5 zCvCr7Xl3Wn4#fUdQEdS`NdDnLDSR3U^7#c9((THBv$sN?dZi}G{PCa$XSYfSGJ(`d zp~5^TEX^W+rOWL2miR5T6r&QM>1ke4k2gqvS7K|=Dk5w}Zr}oq1@?Zl#3mxg)$V zISS*+@|Bacf0j!16Z2oEMKL7DwATt5)Jn9x=xi%RZ5V%%yYZ@gB znMl?H+CW&Gm6IU7<%BAwe%+9=nxxf7L`1*jTm3A{P*2!GROoh5jto+}F0t})M`O2s zq4a$gEci$$^~g)ok`q$3~?SW;ZU5ex`sm5Mf z3#)f>ElD}nIN?8@>Nf~zx-043D zW9I)vvm?0#-ez$egfQq6Rz3FUB1BZFHkbiwD~0wJCaa)Zt0j|UAvItB&i@*n@85P% z!lakp%REsGcka<+7Kv+>Nl6Utof($rXVbDTuUuLA}( zV;U8nqk&?Und01c$gpM*4~gHy+jN#MKb~MBto>aK%x+MaL`-86$so3M@joCYWIu>2 zTAp3YqX@nEhpqKk`j=_yx06I@aHlbbA3VmNbGjEoqY1HmmlrN|qKqT79e6x+G8sk7 z1(4$lL&q|em1S>qnHg1tc)`X^2s%fk_5*U2SlbAF-{Sr2Izkx={cW>vbUVv*J$w?n zgrf!5-eOI4rG$ju^>e3#TZ?}StlWH3A>?p7a2CuS6uakyu6-Vo*bxj|IqbV8j*zOE zN;^#<1JYK#WM9E2Lju6wMTiwdI))3I(;ex;C9osmG!##*Df~?Ab*sikgr8dG+C&qS zFJmwhPk9S&Fm0xF3qAZpwNp--((e)gIfJt$-}LQP^PJ%a?=G^A&GIlgmQY-HV{gS4 zC6;((etsq$W`~zE3pqb5c;1tMrACRi*%BsV(Yx9PX8lL-gIog5L{uN}9&hGNl9nVE zY2AW9H(qSB{xxt&I2tAUo?Z!llSgA|NL@4{{H0h6B5+D22D+QUf*rUrnR8WCP9rp=lqU+PQ zxyToz0ZQzLA=oQ6?%`f++-h62r?wbMc?$Y`5CMKL0QW0%>>tbBs<1Sp2XJ%qwKN(K zPphIfC7)#U7!aU_@)sMGT>s8w3{(tL0h6UIpBCBV4jKbL7VLj;*>p{;vyd9GSH+Q% zoOEBu7rv!i#AzN?G;uL=VCf zc4JTB?&~}jZSVx5wbnf1kYlBh)L1&sIgp24M?$4za9frckbZ+4(WtxdeSolAa(eGG z+AX4<)oWQyZ>n7g>2R!s-yj3F7=STaF{T~9ZX>B;DJrQaxG_xT-idn6z(2ti^8$|TN9P& z9x8SLi}AErVBt4~q?zLn_?apFmH55JhArq7&Cl1~by?uGfpnEaF~Rcbx2KhgbeHVA z8khTP!{6~HXOzhXT%^BwdJSGu8`$Fx#oBW-`s9;ugjfZqw`MpRU2X8}(+NihI;KzM zPx^gr&i%=92Ek*GP}d-s?*tI?9q=xa(y9INOrp@sh)S#U9POod(~>`?={2$+P5V$IormA(YKZ ztG1kIQ_+D8ls4dJe9o^NPd(`07tpS`P5ag?{^2M>e>UP1sgM>o^Bc4VV7Q4x!Lxu% z!RtY>#knQyy(=*P8PGtXfy`H4`rE$J#A-s%z9Y-2K^F2JNC#_uVJr!R4tl4u7JV2bDs`WjKw`wZ`%i?ySDWml`eK4*nu^&FjnDFIG4+_A`Czw$73+pVrhrX(@IFYv`UvyJJi_LT)$ zl7MCBiuEXd^v-tL>{T!+&HK6PRo||1`X0qcAQK9F%Y1rKz*Zn72)9W{2f$qT48TnGAH&oBK<)&ub(&SeMOjqv%1@Z z@vIXCa<^X+IZwZ$hbFRkpbB)pSrUfRSWwIeY${DF~(J%CXa9$KjlxINw#<+ z8N+|h)VNl|ljN8@O6J#AwP5Vaq>GyTYGI-kT7!sV6+Q^0-$-xdjd6(-fmq7VILKHU zgqZFn*OPj8$`vGy{jVH?;sf<0N@0GzBijG4++6ZkV*j`DGPNjF^}SIgGczN})3kgJ zF`9a_l{0U-?2uHXz_0`keJgOW6+`W*WyNEcb_C|J_#ook`J%8e&io|C%apD9-fVu3 zB&}qc4xUPeW?5m2k=3}!|3Uh`O)qX`)==xnYy7jcPDUc1C^G+#Eh-e!nzqckf!5IH z*kJg)6ixEjkz~L1>Mi``+GvQj_a-K}ivEM~iEp}tpSV)G73z_KtEBTl>zw@|wC+Eh zQ;;8KClE>zgq7O#{7ilQj1K4rOB?VAfu2C3$yR%MXj%8#+3OUl;SSpq+}cCs%2w44T=Fgc!s!JiYylzWCLD>TXabAoX*`jY;yLoyF&l zO4*zlMm-j2$0J^WpVY!(0*RSKwP~GA@r#cDdEiwNQYqiC3wYEPtm2^cq9qg<2Rsq7 z1P6UvI-e}uKpwo>YLicV3pL1xO@K{R*|qe+{#YSr!Neo9guVtb^e$ zO7{i%%JQm0FSFzt4waX)Tbx5I82!78sAa7&UYB6$f%k5w3B2Uaq>W zT3b6Kh4=B0DkzNheP_YRP;Pu&`)KC`@uGk>%^hu{5oL6G6oQdXk_x>hHQonI|IyqaIejXov&`y3P~hx)-PgG( zT`E=&S5D7FsQlpeon0|vSKtQBRg=$ipRU-QR?5*-ENb5LOah%^v1uSw1K=GBf&ihU*(g`DjHL`k;!b$HRyN;d>OKV~vO1UO zgv~(Mkq&PxP*aT3#=Or6eH~~aoYb^$6fS2kAK|DSp3y}G-xpjr@~Ebl3|>c}ZB0eq zloi_pwi{3O2g<(L%B=q*_^8Pz%MjXG$#y7VykE69*Z*1mctN$h>fKLnraw{pkEux5zA|vy zS?mLNvq)k|O={ehI>xY0Ze zfiF9!-$^5U(7yg4G0q5z);!&H7VPU^2)i)PqT*6&UU~0)Pco)kn8yJRqN+V3)Ju{-LC-UmKj?Wd57wjR9xTj-1y(AT> z1E$`34d8XaUzK;3<8ue^k)8@Cb3D>lrb&UEexVb^F4dernFbBr*Lp6x@#8m&M|!wB zuN+cc<`MmVA>P+cHb@6u`PX=%jN1iwaMWEy8m~9T&EVJn_1K{_U{sBaaAG%Gow@~2?$DVKz zBAKfgqAV%vt6`*Fzm8WG&O>dS%4Mr#wLAwMfTlfCod}sA_oqQvFN^Jqy!7XfRMD_-q_Zw*8)KU$NQi$sBWx zX@2$>(0B}+))o)rMpK$)u%XIo%s%tZttb`Vt(Zh$`(J6u1tsH?Fu3iQ53-ib=HNe2 zGEDq+G#D(xk9n24PRC#r9KQt){}P*%jNU(PAaKQYjBISQATMR|Xa;vwD(@4`xh17y zj3Rpf3+==27rWL`&6`U`K_ChT-iu)L3rwz;l;}njXl5^DxEMxz`1Y%17fE7Rdx0=y z-6{FdY1nO4he*LIWZAnbr|s)fRUR5u6RHX{%AEv4WBmvHh@f@U!+@x>z}+@qW`Uru zzl>}0Sz~qdS=z4Nt&%U-`Yv+D!P4YLU}*LU*M^AnQ;zI0K9jlWw#d!& z4-(*!Uji_^M3|Ebo1g?}A*ma%4-hn3%V`g^B<2 ze9(&)))#)MG^aWL=U@*l1Zq^F+|b%>X^yhqs8vDq+~ivX2z8O;FSik`yK@*T;Kjjt zwC5%?_u`V|dxp)_>?%hY60rwFPD)irDG(P7U>Lk0W0*TOc&Ds<_}c-gp>H52>55qz z6KewftbL&Br$8eg%pr^Q?!pW+D+de%>~9FYr3-Q;_#Mcbci6E0DXUjP$)dZHzD~ zHm}mHTH6qcOMf?JnuoYUe=QgG5=jILKxd(7@+I;Vex!g07f_0~x*(E~3D8QQt~bK9 z(8F50BGRdK!c{O3HbtYFrvh(Hcsi5|smRxl*wSDPUh*grs_s2U1H9#HvI#W5*Z@LXfJD&mw>Z_u(C{V-(D~Ua z|Fv^QHqK8w5LpmTm?Ty;%uvGx#PU?xB)2zzizk^oyH=4Vj-JLc`WVgG5yQc*Gb7Uf z;e~2u_$n__{>9{#P4zctJNkD8MQ_e=p*tIo(HQh9*4Pq`l}27g)OPsdA84UM;EQ%w zVqe_&7)VvCNdyUnaIr^GmN*@P_|+_Ka1K()5SgpR?zP5EN{A2!r|dh+*R@(ESNwh@ zF*B{FQ~ltsN*VOUEY2fXk#pG>rLIj#ROD%y{x6 z_?*eOD#bZ|YO*%|nasrPXP*4EB;=bgSU&Fg1nPbQQ3#*)+2r&EM0s8OO5pZDJdC3! z;rgy+Le94!BBXBW#GXpebyhO#E9*{wM2QCSv$FK{OpKGts}`H0V{z&p2`l>KwQh+) ziBK){>Uua>mG+-X@y{Eb{Wx$egAXQ(lp|XO9W9$%gx*P#MyV&^`nzHQcy= zM2=|2F2`U21wNH0L~?Z>h?H3fUU&sbSPgzk@%4f`ueY;=7ma&kk6i6yU6Ky`!p%n8 z8|ualg+V_CO<31>`ONV|N0(Pn65x{~;45^^22@PFym5-uYVmm^q?y&QCfbb>FtUG; zyYWaishKG}TfxN+PKjxn&`Tq%M>2P^f?UXa+3$}Xw_2X*DlFg(IfFrbuqhyPEa+cp zk7dZcD9SF;Sb3-MP@fXo1pkXg{Vh+W^qc(UhEU91`qx^K2h`VWi7{7-g#16+^6{jH z@B5HvE?L4=97PERoQ31);e;6nAw@-fnnz$6BFwhsRcyb$I>ZmALk`$?xL8VYmuSO- zAe`zvV8S*ZG8t^@HSfD!O=4|Ok*#w7YBcIEb1BYgJv7~idk53*d+VAAD+d0ftwI<6_gZqK z@^B(TJlrW4N=O?nVVev1@Ce4hFk;W0aqz2kY4puV0oad@oBec&FG!ieTbF8;dNOyQ za%dHxfKJ{C!xInCSx#?e+upenGvMcy{?lPRT7IIhXRw8ax<7l9kzZ-uF^Xm$ZOnhL z$=35*=KRseKNvYg7nl*d+0|`EuA+l5gj+W3<>eC{xrRLU47-zqmGTXYtQz)!yfSv> zEIr9u)^YrBppEC=Q=(e+QRmLxmV#QJDg#a@gsre9aOFAddF{7erYtyBHuh$*jAPjS z|E+2M@0#u@LX>gp{+hV7dmZx#2|AB$?W%X^o8t(L&Sd-qhsE-k4(BBbkP4aFr@O4} zJDoHo(1(#K@X2sGev)&-Pcl*|ue)4BZ1kj>)-0c$4`|5ej?=W3$xP7V5$7C^G^ryD z9l>YE7{n^Lr=Pey12h(6?SH_{P71HQYei0tFf-55o!JLz`<_^FAb!vkhj z(rBe6KfSA+)rE-K2U~CH2s$=rEcQovj#^qL5K*;^Ps-$IKyS?#5PBT6KO!CWf2{oP z08XTqwQ(6Zn_ha`T%HM2A+OPJ6WKG&S#aP^T>nt282gr{ibeSMz~w&!QB(gQ`T=jl zp$bZvhOL41%!+}{i>toiifRUQ)r9zn?XKD54DO$KZ)C`#(mO12hW*gm;jAO!FwXT^ z!t-^%+llIo9-TSH;)bv)%kb{x4Olzl5TVKSgo*f?1V{8x?iW_A*pC)tyckzJrYcZlhfdQiG&BW#UblS|77CbvDln=OIBw7nSmHg3Ig^6t3jrxoz@&0)S; zkdVH|v<|WUU7sCugkLKWgaxP63H{j#h^a5@hvZXfw0oW*3sqfze3@?m2dsiC6Cv1g z7D@>a9f{;7tfe)&X+K=*==nVTE}c2&g2004EyB&<7;HTPO1pX2!)AizuhX#lz}sH& zz>!K%dIgX=N8@h|lo?V@C9?>9{*4iL{m|kEuXQ07xC~Kv|HgXQ_5vs29nr6+N6K~P zS}e{4guVfJD9R~aAOC~nsRLX!-7NOsN1>_KM?q>^xoiu{?_${vNgv3;sJ0WTHR#Mh zc1WqjW2Hxu7a4pRHal8MPp}l;tmgM1WnI*IWG7X{oNt6gJ%#Rb2_!P_7?*`CsNfm} z+%dt@Rck@_reY`5y$|>#`%B;}5;s>27$~7nnF+mz@r`lHUn`2pIpiJMk8rGMz#-o? z4idl+rxdQse~%+ax%O&8PI=aJ#MDm3H-VIoNpwV?v^WV$kXxs-FT7M^v=iPb6<0@vF}u%AQsMZ9+aTeIKFZJAg? zgz5L#_sdA_3>@a|r%m-{`!CJdct-zYeo?a%6L_jtIWPx=_$9MaV~jh{Kd}sifdZX~ zXI!`lNgOkE|Cx}qEU2eh@glud2zY-Vh7 zT$MY{)5hOMrAv-ASHIBjKYc1YSfXAjUx6zgtfQu-nlZ=y*Q`oH5Q`3uXx(EVyT}trQDQ4vS01 zg}LLlS`|Zzk5l~Gw3frRW{gts4GUJ-c?=8U*Y;xx^tYh0?yW{?UpTf1HJ_ngywQ?| zF3^-$0%vT(TKg%@svwT)8Lf}qKGNqYn8nj+NI^GMJ4Z{T5m+6gf&dNH1hiav$ z!4%)*cO-$Ykc8}6*PsJ1BmLvVKx`Hic$)J-2vg4WgC?>4txoNaUZoySCR0JpW3>+2_6yA1xSX(uROP z!#%M?&1F}#b+y?dK1sj_a}K0=AqJ=62Ku_NLbePK)>wqcWUF4y{J5Ul*?_K&Nt?T_ z1S@@^`8i=SGv|nypTpRn$1}b%n>{AqfaJ{FwPDoSq5y@8492!+C1U5c4(Fo8ev+j# zkw|lmn?NluhB;(}Z>fXx)V`-CmR%)s!Q?~)WKbhpaTu3r-`o@OpR+|GkgBiex7oL} z5S`Kg)3LLxC3p`dCF|Rd0S3n7NCTb#-SVg$0i*VxZ!(Mq2(ZSf*Ma!BsRdUhE5^eY zGG;Fz3{a6wh8T51T`c9N{w2|3@&*xx|HD+irP_pvkf-;CUxEw?zVgo2F>;~cVYa2O zdsl#O^(#eavHa+OF!0!jQ*(OZ=`Z$iX-n@r7Dfja>pD0Y`{K#6#I&4WrGrpATQ$!4 z_tM=3Dot7?O}Ft=R^M^t)%tC*E)ZXys;1rtyF&2kg$=xRpLeWkn^t9pbRp8S@^PHD z{T_Gpgk%WuFw_)wU+&Efmzj0Q*sk2AF43bfk;^9v+o}gtf7qALOI{EJAMMZuub3>ZEvTP-D z7HhJf>uyr8CAW-qLBd88>8Qt$2VO?ALm`}=tJCZ=pSyfp<|9*%0OKA^*yoO{?mkFZ z{g^?*W`JhnZQtG@EHg3fQaRaxa@?}<69gcy+#0Lm;{U?)5p?=2MJAb6^)F3krsw2* zXquNej@_$+)4Fik1NFR+sVVS%f3^rL#5fKAW~PUt931Eqm|;fJp(_wNx&E9D z+f*cYg)XigY=I*BHxV66+-m}3q+kAz9SX|}sMDTUBJA%Am_O^OoFUfj=5~mYEdcTC zBN%2O9s@;F(}w>)l8K;O68!p~UOgZLZ_ddxo+ExN2JvV*SNiuPf*)4si=XwtBlb&` zJF_2dpU7}8V_C}8*4Js8Yw@v)%ex@HJ8ts9-Up@anevs$_g^T!Ao4;-s_eZeUhJWf z%&kD0;KtFbTKB%abIA_mff3uS=EsmhUo;^h`70qB9EnD@2AK*Ax5|RS4R_WzvBczu!%Q|Go9V6@ zEljYzmn{5DW}0>8l6iL9kOV=n4)tPjL?BEFC>7wHGtd|r#V#rzA_uI7f3c1my8)7y(7T-r&ZQ1 zit{#m@tDo0X$dh8=OIwxW?tsAARN~v;Gp&2AIf_=#Wx)HbFww4jVU&vds5uQTO%;r ze;U$yI*5HCt%4k>6k4w83uN2o;lUQ1Xw+Bi3era@Jdt|gKX%O2z6p3jt;|lxIBKQ+ z9*QR7+fe$M^~2In7zL68%OVj%nD4t~3VDD*_A>y6Q?73TJAMEq&eDK7R7Tu&;+6xT zI-zRNJ+JN}&QL2Gh_Y8{qY_z_VK3K0rn2M$zOxn%!mtejVcG%jOF{D*6p<@&=6 zls{yg?|Y0Fr9-e4ViNK$L=NIj$NNxGn5_PpwXaZiJHl*3R>0LSj*Q!=EJ(T9(uL9xXQ9mZwyIt-!qxG z57_+8WxJ+T=3@=E#2huApy^ob-5&|B#cQOd(_Bh0v-h1ublTjph|YB%U+^<|``LU- zLu1^WZLsvaWg@E%upg>45nN;NZmkdpd{-PqmfNIHlZ{4YLP&Aeez_w*}ZwgHZH* z){FT)lLg7;4mDWVbn?vY558~i?N~8qN3TcK#?Z^GRl5z>h6lVvQDA?Oz^qvsbHx=I z?(u_D$fR&tX48`Uq9Vg3NEW+C1d3oakGDo0u3;waQ?LO7+_+d2%1SA~zdPE(^-b+i zEUvqm{r;q%dSgd+Os~!nmbi7| zb%Oo+JCIoIorgEidyjLefhJc%l7Uzpa0va#csb@zZV!=Oux+laA5LG}K4AM`Y+^=d zre=zj88PeE^sJ@y^&ke82-SBJ`{mR8gZe)R9xNP)3sFQ(899m7%+Vt(qlFz*?X{!a zk;I2kr+TxvnjRA)-MT|`?JOUdpQMuh)xDz2d)EHFscqo?M=I{eI$v0lGsD!d9T@m=*~RqH}_$D^H=vV z^%MLpX|Jf3v7Y*sHyvA8%Z8@qA(_jI#kzp7M1Xhd9fBl7hUDo93>$CNHOFKP43>Dd z6u8E6bkj6WdPNVZtf^x4g#F~?fKzXpX?q26&xrU;!BgD8ElPjhimw}HP!5=F}+>cG-vhAO=a=fWCQL^S>r@O(i z0899-7|UqH)zI-#-`l8=fWIG`boo;ksoZG~K^2EGBYSh=o{^5j|NP@n9B4&9RThj} zGg1i=-m!Tj>I_bo=`1iXTUtp3Epk^L3Xe3}Jy=Ikka5jw~3idQK#B6m$W zhf=?vf{EdX9f7B(7NKjZj%7OEtZho5S}*F(-OwhO|eXr)pwI+Iqe(P$x$ zUEZzuXs>A2TOy+|&fy7(q{=rczpt(gI)7g!;p5j1_YbcX^hIp?z)w4^UzHWk1-`26 zhF(MA+Ff)B3zXd@XcbbX=RT_1Q~LMYc8+7ha$<|EPDe$CYAL|!itzd(nSG9abb{Sr z3*|o)iz5SJbwCQgxL3#5jzoy|Pc$d=NWA=pFW+Ybbr${qiZX1O+wqwur~Mg^NFa$A z>VD=&JQ%5f1#}r&C!3Wp^>vW^Y3D!{i+&x&&RR$aIt)V{(7slra)csn55JcR#cavCZ_7{JB`u4~9GwDxLq4bPbGkbxSn1 zZ5xfW$tm2kq?aM+2})~v*1$FN z*H>@F^+#EPB=D_#9{_C)U7^>4w2WyFOwk-<|;$3-+NN(MPhCAQq9q5bTsAF|B4>UeGtCN!&n{Id2$#fC##OP)0gpK>T_io@=71Q7HHhfc6Kr1TN*)T*}Tb9{^Hy z09F-Yh()!8+W^tM3SRn~B(xJi@`3THbB8(9i#o*R*G5244LzhpDb!SH9?!`iPfE4g zgEdn;?(iid7agG~?+d=$)DvZ0ow1{)lVxKHJDoA<=E6)fq!;7mqN_4pWSEw5Nhgp5LC+etF{FDn< z(~0DoswJ05<2~=ZZ`rR?upciZzl(1&Gu6}rTqb($H!d>ESBh(DgjWigHNy!o%8ova zERZD~qP?5$#hRLlI@PN3kZtP2&uUM5u!Cs-71Gd2|D*-=uroc+2+Qm~I{eY(l)H{IBsnX`~rL}s^mvbVAZGB;veYM?`wY#l=x zs6QgSt49llM;=FcBkH7S1m#K zStM~QpvHpJh7aMsXaO9(?=DFr0z37$ihFxZ94aRAdRe>fJ}A#I?LQ+v4C#4rk51j} zU-B9qM#Umna2QxLTaLhrS}8E%hq6Lq&aY<$D=g#D9}c@m9$v?fph6gt+Zd3?PsvcU zA(4L-e-sJ&X@zg|$o>i_E2gAe&CSRwrP+ibdD!Nvar*UFG_B~MZ$X{)9eh<~g`m^~HQ?x(Hs%^L|Z+Tc^)@T*k zCXN1Ve&k8Z9V;zjlh(u_2nr>ol;k83@HyL$_%x^`@a{7Xk|-hGHn)?=X=OVp2)0t7 zeZc5mNZHIF+h7z%^{R%_Bvo0F*Q52YzhZjx)y;(P`cnWZdPEGFI(Ss=TOo)X%(P7? zyy7N5FEfU?8J_+fX6vuDS4OqAYhUX~THT5P8+k*wF{lze>HWcS-vlU5=}EP`jrmGg zf?Sd~8l))q9F`5#=_ge`>_mUrsGu20vb1uB)O1e!qEtumNJ=Yga(95j%kU>#+_KiuWtCX1@G0L8rL7qI#a70BcdqJf(zx!c<>_m4F(e-)we918Qm$FkmuWPOcd;2>0n`372&W$@&45o`ODbLJrl4q*pEd$z(Q$^YlY`#>xEl5_4}giIL&*_s1VY=h>FB?wVgRBRYT!I9q$ z3|p9U-&;GF4^@dFjgbkA-N(XtPla+d30G7h|LlRh7xXz$wFVaF(qR6Tk+_={X!$h5 z=@mbzEh%yCAvnQuq0lCgd<}Sk3N*FHsC*g=gQ)ND@}X>&AwE=ni_TpWe`PwNC6b`y$ zo1CzwBYrNXUN+QWN)TFM@P;_K`n^ZLICtwB7l(sOAGwf%^XmFj-G>GoOugJv?a?p6 zcEsK}>U(ui|E@gF{s2WHGtpiz1Vl~Aej@s+HU~$+*fS2N$@h3~2DCs%i2Xa;Wa6(N z-)Yo07Uqrf`Jp(QWQ9KET%Ky#+g8;PEZtB)0mh`Qn*Qwv7&Q-e|FQie| zA^nPaK16ctmTB)Lgz_l)mFRRJhYD3 zk{upQnBV8Qn0nuI9jEC0HPnri9Js274Nm>B*}YtlrS=}y{*A>+@%mP(J-M#Y@IDdZ z+k(f!@yQ2+M1o>7owqM)JfhIosCKV2GRr@*HyC!{8Qkp02Tj1)@7jVR&yY`q1~) zoE&mOYbEl+7*#qHwLF9=n^O|8GsEYJOFI5bTzzOvYvkS-I^fW(v2ixwXK4LLE%AFs z6s6W}<^++V`1OuUvfQ+)RM-M2xBdJVD|AISH;IOTCdA5ggdVP^ zwdYj={?MOOz7>nWNxoG8j5csjls@Lg4>09}c_%l^>DqWb+zzvKXjm+Dh!GWYO&1D? zvT90P+aYbLX#DUONbc^X372zeAyp{R)hEo&+|lmVY*09N2{Vrhn>MKB0X5kS^qX61#UT*okJ+;oU}f%@0*IgfSmqT?+rmC6Q$<^u5)DzYRN^>L2(Q?QXRQwj2g^+uzv8%pZ5pdkk0=;>ktFd94v|V1K>B1n%dV;e zQ+ZQouK8NP9t(h8-N*!$n4YwHedbpLjxW^#VC?_f);+W+_vUi(ndaH8$d+>$GbbT; zt&V0h+C=)wy~Gm|s|aDGv6q0xZa2+0mb9Sd)q4eR!rDE+O}8gUNR8TcWG+F9I@pFt zDU@PjN)`-7X21c}WMdrM_>(eREF%9_H8JOQK9+1~=1OO8R zw1+HJ5C4a;ivfZdO#8sldV7+3&{*S5elw6Zj9G_NWlxFjFlW$-PNiiwZ<$_Y&s3dF z^cGifaSLHS+MzH9X;>Ycs#~9RIkg-$|MWi3?pqn8+!y9nWhR{Vz2+KGqHz$|Ck?)5 z1o3v($NudBk|HcC`%t(iKGOLYJJX_>CYxm!9<{gov!P*-rKq0^K!rKP;$z4~u+dms zUZ0lP;Oj^e=~-2;gR&PMp_J~6+5cltvv z3Q3W#i@ZmR9ZxS?nydZoL^oMBWw}*<$DT?yj>Zm z2yp1|7eWtqE<+i`)W?(t@6xp|tp?wJu1lpHR8+`0C?ARSQ%-QFPC!S#P zBv0lUz&G+6-T>qS@)^HE{GA8#F$w$K9-~6B6({;Fcp9>oGv9D_(4+Zp=&Q7APZ5B9>G04)w1#g4#0Mg(eC$u73DOG7Mei=wWBppQehTv!{A;B54h_z)>g9{_-&HpZi*Z593PsHWUPnwQ#G# z&7^35n^@6uF2apz{2|`i5~w%CbU6zMfMb|hI*m4|jR@iRlJ1KW^+9=$B>%2=e@4z9 z2XZvF;6B1bB2bs4uhVW>{QjhQ-^Aj(_*EaVjB>EIr~~@rB9>WA=-z*YgcF=bMLwg* zCF#HO90O~q0{0iZuEtgT6B~K8K)8PTirvC^_4l3(C|Z8_YJo|wwq{L!Z(X84pSBXw z4U+{JT8NwT4RDQCSZXjq_ty%f3R=GSUC++lO&ZCXhgBN;fA0rq^?2Q2Fpiv+B6G_E-D-oaRJ9>f_4tI#eO&jW4)xW3 zF$8wQh5=c?lc21;(W34JW!Y=WMk58xRLrY5bp7i&=B6|Z{eEZDf~=it|1FEAzYi%a z6oLT2y!*d@V~AJpEdqn)yIh!?swFmGr*Fpf@V_|@SUy^1T7O9l;f1RJITEwB{)B9F z1dGwKmr*JZFpukerGy#BS*jvXehN8$h(T4k)^L6`0&T8|-1yeIWltp(II$_*SEc1C zKs0U6%eZr5ue#pBGe=D>sf~#0pZI9ryTn72=RfnL|BVL)eq)dIkTNXmP~Q{3S)Df& zWd3RHxr3_gN1^Tg^+8yB2qC%}G?L3*O7REV5FMNUBXsM^HKrWM(%ml`?Gm>U){5f; ziuU8UAr7@}hpPOI*KZejLB`35%_xugxVIdFgmB%V!6qQtxQGF((0x*-du&=hli5OO z(te}=_QzmRfM(?;y23_J!Dh(o+#ZC8Ajw5JT1)&eY8Jl|yz34=BNHr_Q$ zjDxs|Ft))EUms$;8mQq9WAaQ(T@3yX zY+Q*4NKL0GcgOe_$r3pdng5E~9BEq&X8VNj+{f^oMV@9vgzW6FZ9lqPv()0ljjGn4 zfa#*EH_#YlsDV-5vY>P-{hJPdqa%4p6X)!GFQ@I(8*jh*Tk03h@MZe%WuYza5z&K5 zGbe7VZ}dM-XS79D{LaffAg3}FaCu!04V-VBbWKcV_KaS@TMAW)OEFZ@M@1tF>jS?i)cerx<3J42T zIOhs|;u4vAn<*roUH=}Y%2e@srObAD(8C$bVJ1x{i42v>5aRhfWf>!O_}V*k zXU_Xz|Ca}s%CWhmL6{U zfjugzCxS>0Ab?W5W&ODR1^|BN=3{?w4phq_`$}XW-kt)ouXXbe&0Jq+%Zuuiv|qE7 zRrD?-lq_Q>&O2Wul>-`kNG9}LiD#XfqQ1Z@7bh0WPU8V-;)iy((!#dZINy?~)|{UI zwr?A(ZEKuUQDK$i{s9tLfO!_KER}s-@gHqPD7?9u28{LMnt9bT%`5CP!CyEG2+piW z>ioR1bzix4A8YCyh)=BHeiX)zmqm+jO4^BtOU2K#C2hYhd(8TK-vDlAZa%D2(ZT-s z#n_TkPAEF-OcMM6XkuaC(280|y6R;Jy-G0qLZs5MwTUWUyjCnoSu*N&ijsX7I@4_k zdrrY<|BKb#p=9rpaPgw@!X@*uo=VP}{7_4AOJ}(A+W?;v?9L=uAGLiwFHm14i(U^6 zlosxmOj&l$>^B=uJlaB`5F7wj+W*}_O@a^kK+c-A#~-|aT->bD$Woe(_7qkI_J%|+ z_T{FD8DMNu^KmxYIJx{InJ>M*(S8Di*{Z}*GXpREMzj99Q+>GBT~AipVp&t7QJ0RA zmU*T)aV~Bv%k2`T9o)|v-s2sGAuEow8>psw9##DT2yNYyQBhZ+RUakefFW5qh413$ zYp*~;qKzjC?wceQ`Eg3KATg>+0_1KpCc9+!(Ul6LR)(6mrGTlIR2^xEAv74rVn5cm> zYdZQqSGfA6m)-2ga^jQjGKnZVeQ=BZ>oCCT0~N|-T1Qkqx>;+RwUUMjSZQ)JFQh@o zu78DmDCsIyzVBw0uJ{@sY+Mw7;y7UN_WVlw99OO=kZkGuP17@>4}1SzA2rosg|eit zxxKS!0FE=apTu>9Q>0rATO`sTc>NZR}VHj;DBj!8BAI_vroF1e$d`XNMg1ya4v$Z6B zdC0JT)U&Y8{_i+gI2F(hH^QMxrK))nt`F6bXE)74^IA8*NJ|9UgphZjyfGD)G;!?DSWA|oeCN1L|Y zQ!t02&3>;rR09t|bDS7wHPS}?WaS7_VDt>hH z98hAMrdHB6bKm%Duxy-qpouetmuQPyjOIEu+;OPG4H0m^=amuW%_}C=CHQFJA6sFM zv!H$O;>oJYD!Qd+Q46BLIxv_fN5X*lwh}h2V=4cGH;qrxo!=m$&)Di&9)Xf?OYaKh zt`aRVsE9UqzCrQGUf5$`ICN$}{?)OTxtOQdMnEbf>=|Q=z!)pM;a*dni?4=N@JqoL zxiOA2jNKdqH2ItjE&*!a;0{*gIun6J;!W`I6CqYq)BTb4X$BjRrI=Z_%Mihj?9SON$YoVRG+1Ro^U5Sj#F_I386FzRsp zb|7?@&k0j0m|%5DrM^uHy)rooh=~Hw;r9M5VVu}zyGy@hE&__J%x*1O~ZAySlh8*GOfgi z%N?zEeu(&fQ2~m|2?4SY2(_2((-d$txgtlAs7d)Q~v?L)&W<_?+QWm zRTLj_Ng~p?Qsv+_E}61F#tZ>x(nb14k1c5hKK!(W1=v_Q)-)qx*`t_UfqDi>u!W4S zX7`7kb!hialcb>u7Fo}i7g`AAP25k>>M#Y2o{MAP&Tyi{h)H0+^po+UjpPRtYs@y`9o7W}k1*!m1I^0h*T$iHuEO{o>_&biN7B*Zbg%<(l*o|3-} zgftxMfePe5$j<7rT$h0cub=dyj>Fm%by0v6_knK%OV$|x>=1Cz->p;F=<_#mXk}UuR*IKVyR%%OBc1r!r<+>sB&3MaWV}JBw}K{{gC2hI zN~YqpaBnHfqHNRImIrQUsOKxg`muq=M?5MG7yirJqpWh6Fu$`(Lu#iil)OICeDy)J z@nXnTjo%2Lc5#O4t**n~v^U@7C8lDTZ^57Nv4`)C>)odgJ7;$im^ExI5S>d(QCV-*bPK4$=Q&SgIMPo3F}D<;d3GYZ zr^tAdn-b(>v^wNIlnBOTh%_(((-rLW}x42a}?IM~JTwvP*>kMvtp^6r4 zNEo?GFb8m6hkOa#`g59>s;;^W=eGpz;Zi#GZNkJ`_z6;ozaH2pIxNJUl!bKYFYtNp z$DLC8(RFVmJn7%i9OVCgUId7UuP6EgPLl$wdn5a144)wV*h^K)%+-~;GLG!j_3!sL zNNH?MUGdvOk8pTT#x^DO~Wz4@Tm8y5Bv3W8N3;LN5h5X4`k5WFF z@~dUo?+A2-g1rDZ8lZEHHnM?j>>@qk@Y{ejW&IxYm(FAQ@k|3DoH1YSqLdEC9eh7U zW{4dV+`;ceb2=}dVg?A+?7(KniQ$g%sI5EFYvRx%VS4Cj3QQf|lc?A(-A&$Yopj$) zK%ymzT3o>??mF(+2!oyc{_02=Mr99VFAkpaQi4Q@R&r?iTo}89aF_duWJ=36@k#Ry zp+E*s0OR`5doQa==jx9EB0Y+kxP!nML`Gh*jbsj1=+uvC*FNNTT5sG5;L=<-0PZ{R z1bI=CQtf7~o@m@~dhZ>{(9Sw=fz$5TJ$x+foV(B2T zc<4Pj;Nrk#KFq5{c~qb>V&Q-KsSR5?@4&_X=8;8GUBktp8yN2*T+1W8tV76kfkXc3 z5D(fN#XzPKm1mnM#tP<+ebdJY0*jT>t-LNM`JV;kf%uE>c%}VQTK|aI^Iz_JYR0*c z3&KP^BxBdu-phQ-u9|8@T=qJgPQt>zw^5+(u|c1Is=|6Vh}p{s-gVpKNkuM+b1K{z z1yhkB>n;AkLx@nADCMTVOMrXp{IP1om1{YLrbfo_4zZ_sTcp9-CFc>jd~G>cE+|1b z<u;lh``Y|I z%%5m00RrkH0yTvBZ{8fv7?{QbI%WIVc56;%B7gEhvyEQ0MiA#rx07{0aF|frgvxAK z1u=5o{BBODUo2-NmGyl|wsPS$kb!6C|IQm8@FN`O9&80wXgX~R>(9jEK;mLY}`OYmw|TFjGe9F^8U8+pT5M}#J5$O&)lJ@0GpOlbjA11 zY(+dm3PMsMxA>|?l>;{TZ=FTB6(l;2LAgGl5VTGRhvC0y0+sm0Lb!^JsA6p>ZjzAX z+p7Y97MD&z(# ziLDMS{Pe61nB+kF*g2#zB(37}6_eE$yqT!h`>?_?A~#=MXKU*RH^Z}RnH6@d5aXZd#h=k66>~6 z)ZWJLCa1r5@LcI@BQ4)2!3z-CzIcfF?;eW#!b^3YkueY#OJSIl?Zj1S++#X7KSYUh zx2Z5Ui*VL*P!|;xt_camcy0jDA9v!;ZY(s*MEGt53)B=n8~P7w33=WNux2SOe}59P z$pwuUQ#HYkS#V?b#%<2$?9_<9)JI~=1IMi<0dRRhXEGIga3QkQr4(wwv3~gBU6MT# z_FGJUJQ+s`p5z6m3_W&DQ=4K0jaIEq>w!s7f(7C9Xf` zl0lF|CJlsUO4y+$sPmQxd6Vx@khIc&f*&YHGBo*LB3uY|p;?RY| zZk;dIrZyQNL?aj(t96abm>kG>M2B)A)|{-ZRIn=!WDCEYky3zW-2{#pXqro$jr(hO zdbuv1g74`L%6>YzJT*4M02i&#LkN1oX&nN0_6EI z{_%{!tpg2F1w~iDIwFqqs1ay;OkM0CW}$MC5LQ#yk~asO0V<+mdE`zipBLDIt3W+N zA*kUs0S&Y%v@YYUrUMbFf?R!NX`!bEb&YEku+ePP5XkPG#COnB*1~$Y`u%H>u?KUknd48y853F+J`=E!VNU*W;eyR~W zISU94NO!DWpMd7!vJ#5PKFTU(6$pnoW#*1O(u+O8KY|*#YasZT*=%a;CeELgDkeG@ zSV@(CNLsxeH>TEUOi{l(=MYgD&Ul&p-9Il(ai;NDb378?O&hhBD!hxBnfp#J(>179FD$>hoHG20pq`)#(p82J15y$TAgv>+e(!?Rv2HnCR8J8+; zc>F5x?F)eCi?!%>Q)Rf%_QFvf{TuzyI|k-NPHUZSFl)MdCWNAk^VrXB;#o>n5ixm-(oY#>TFxi9z)?dp> zkmJO%q5=!;6uCnNr}DzIxNTmaUvvHX!I-F|xED7Xle_!-k)TK_n>d>Xc2Ek7K)5c- z9hzRFDQ9=i%4Q3GPQavDeuIYPIMwbx|MamsTMFK?^I7fMiJ0nIC%?7n*2>h~Gl9j@ z3aO!(5ZM^_=!NHbyO*vH=(SMkANcW05Jr$`t~dN&Ace;P!j3NdjktJRsDn%a7jc!N z3`cfX@POfyJ@Vwi3R5n)-OtEGDx&l)Wlqz2xBy4cQ*HdsBgwp&R0&Mbucpz_u{t#> zv<)zG@%j3p?ig&#E4_$L!^mP1UEol`0p0 z^ygg&>KbL`L03IU+9c)M)??Shld9*B75)-#-e~|4f?EvoK zRys1uMi9PJ0;_@6^JJk|$-;scRq=_>U`Ntm=XY_gZOS+Wt$c$m7(2tEWA$VLVp`6JAK%q-6IOt|iDU%wb>8if3uXlh9^?O8%u|LK)Wb3QRM$ z+X2|i%6;pQuGwFMw3kBDNM}!uv@3ypiV(j2-+g9epl{b>Z~|_^H5|aURy6=#5C}TE zw4<`5In|>B780lO!^NC`CFJ;COij$ib?+Xnlz4=Te)UVuWRymNZYV2AQw_STx=lB@ z(u*YS28ys1p=~_Q4DJhRM!>R3IO6n5^QmPIT>IK%UsNG66ls}Z(W|iSJn$hAJTcg& zx^<~;*uSYenD5YZjV!=dbDnfQBEdN*#wQ<6f7Tq)JepWkKLI0-BMG*@e7s!#6?G=65msRv+A+|nEW{+As_1RuKA%>)Z>qE_g4Ke?!VCl@Y z(xEI?Z^3>7=Z}o;MJZ}rl#(3ScQ!23K}Bzmm=56=p`&@Zq9yT=;4bkKirFCqi~g`` z=F1}9L&XZPdKn&Wb{$8rie75#1IeM??$>ky`vl%_5dhxY|6R*)Zs8Q=nC6v13Ds$L ztP(`6c!ts@ehm$zIv`NJrDK|%aMOXZ^CeLEB1ku3C2v0C37POBbF3&wI)bCh^z==9 zDR71`KBe=0|0+zhUKhtSNfh&<<-VzCe~5)%MA1mfnAL*tjf^-4`5zxQyf^S-TVq0H z9%*1;dh~8$0)W#k>x%Z85s<8oqv|UgqYH2p|fR8Ufgin_YqO-q1x?jLUUO zbwPX{SYpHFw_|M7+WCAL+ehz6c%zm-hD~b)G`?Ivn+k;rhTbr4myfqcDOqLCIF(%f zs3k$iI3%sX$D|Z#@F#l0jHgw!7#%i+ySGiaxCN^qD0^P)go`HU_qsQ9WIn!6vQo1F z$%bkG@Nxe>Gsh;9zdHx`^Mn|Oei*t#42q}k3M9y)#0`20jyceP_l8DuIB**hq{HA| zb}p5lASt!ZAi+;jcF~DeQ8zP~qWC0#+qza29MrGCc#qdt)L3%#N--N%{omvr+i_Y7 zY7AEx9F>A4QFc0Lc-CdC`X3t|GQE)8XERDloY>U9Sp|&}*-5!|pF1HS=8rAv56{U$ z{fvNNR2;Km$>{mAu*q(Fauxyrw_ED~@I^qtkz-X>Hz4pV-xWzM*cc3C$12Q-CRM%! z`vO-;MUhkPDLW^Hv{Xs5Ja~iQ$wQ$Hy}E5UEV|yV8|HftxBuiBdVMq@h9HvI(X)Hq zPt*SSZu&F3t75itl_BJ#!C&e&V@oVFmquN%i@tnV{o^dFiBvhK8#}uM%!ZA!j2#}i zGfrPEJvzxgD9T-7LS@_9`(d+PEyJBm(AP0M20;#&QM}x8c(V7hYUlmGsL%#wd{Yk7?%|tA>kXlomNRhusO#m#!4Rc;A;U`-n7?1+t z_W;%VJf|JVcO>cn(~4m4`ujp(@N#|B$$_EYI*xKTha$WIn*8}_<%Qou8I-WVlU1`* z;Ir$Xz3B!`NYvuh?iLc4h}wF8o_<>7sR!l&P(SR>0`Gpzyi5%7npNn2YIL)1vL5_9EYEdy5>G076M8Q%~v1D)-T59SCeL>mWsg*C*Lz z+0I{bH6O}z@kBpHj9nT7%)6F2G4)`Pu(Kw?q{#wP`w*n(CDX@6BJSHU+_t zJwiyJ`KpRVI+|}WE2^gTp9*~n|3R0=29xXk4j9Y^6Q0BOvOsn{l;i@gaRIA}dmz$6 z<{>x`a=FLH_m=u!;iR!1!!aew8K1j|lhSd@L*XjSj)%>2g`GXEBK*apTaLZrA+*1O zZ1v!~%-#DV?DWIdqzxDXUC*(%7TnIP9f^qbddS_LbP80V14}Yh_TT2QV7-$@nFUkv ztUL)d_3Y58-$2!>ik2J_VHXICxO@R;J_ZC5lT?&eU*V8X{GIPhmEPa2y zogCE@00V^GDG)1#Tb`cfYzXli%pHNUAmNI8TK=p6x~SE2 zKb@KENI~Aw)LW{vU~wNNqa!TL&_U^|A*#K?E_QVtrdM4zU7WK_#V&f{qqzuKp08>_ zT9j#z1J9zz7e2V$kfZ$tLo386QSkR8-^Bd~Xr>XEPF(#VhqBOA6*y%E(oq0|k zq0Gf|Uf)}dSrv?Tgx%a+0&F8SMHFKO%F>Eue3Wd#-7xq2;HenfUjq`i$JSW5g8BHA zldPqLDa&C2(#gGF>Tnzjd$>Vt&0mf$Qe#{!9DOa2X>zpNZ8saZXcUwq+KPHO1Gi~o z^)Owe^`9F*=}5zMQuQ7*A~v~X*K725#i54r6iSuD?UBQ{OOJ+kKDTv21gceHY-KW_ zJ4Lb>o7ifoFH`^RydW_D%N%F0BRAX2ipY?a`i2Xw#POt{V@Cx28qD=I3!{IZ?LHyy z4UlW?2#$~rh$xK?N0KSJC>t-jRnc zuLgZ6wLees^2u+w;@_3rV~I&e-?UiDlT`r^YJ969y6U9X$%9~1{Uyk9in~_Ax$=nj z;F;8IwqXI3teDA`^mDejU~GLzxaUNTAC(#X_k4x$6X+MQpWf?<@7m+^gouhFep=<4 zsyi)aGJL)p2K}{u+e{SiOTiromsiA$!rcks?#b6K!XWl43~H- z%UZ!zN&9H$cw!;)Yw;`o1Z*5gEok%g^A8_xrCmoov_TWVM+9dsvY;aVb{>xD7r^Bc z^QcJzov0A?x-U0KFghWrU8F>~s>%BEQ|z&3Z^Gr)MK$zeg!8M#F*;W5C(N>_VvmuV z=~HKH*)5<}G8L$FQx8B;2jVY5c!53Spc-{=xAY@}RKvPD+2AXN@I4#!>gdDt{>&v& z))9=J(m{_Ka~t9T&ZoGAw%RybrR;)(lh3>lcDn=?;a4W$ZrBS}H)XO%{F++(MI_+Q zgyiEB`)q$s&lKwY;-#3^w)OC~ryWj=P-@6GjJia#QEa;s`9SxxssmzJUt`uVS-Wk{ zd6dt)`$M|^fYFg|`~mmmn{zYdLnRMm>Rb@5l<$QWwevsu7X)h{<|rBU2Fjt#T1;t} zaxC1hvO&`<9jXb*YNTRG85Aj6$cuv2$Mts6fCbGv+B#Fr3(5q|s?TURKS1ztbbD1H zOr4tG36xOhN!wQSc(Y;Ae)&o9B$HV~l*$(z3yPpT!ithuny_Dh%FX#>ah1stWx7*> z>VcCQwp^m+DJ#PXTijuKF0x9`f%*E*Bp%jyoK1NVH%mb#*i=LQL+#5*kgt9r{{myJ zRr}cTd7n24kS7*++5Z24*UJ3RFqtbEn+%&P_l3*TfwjLwt6h0Y&Rg5640SuBd8|eh zm)}J;7G|HRCj~8zg9;ne^Fxv~qm)>2AT{POO=oY`pP1<0-zT-KYOCJD>xE$1Un&~n z34{=kTsQgM9?|qnHkUccf&d=y;i)q=%5nm5o{-77n<*n4$R7^5CPe=`A>W{^*jxGH zZwS7`4mh4`iiYZ-KoYiBmw2A%>{uatfQvF5Z4dY_@FfAC4pMmRHj^>t!TlU2`4?V? zXf9@$AC#RT+PK4M?d9x>RcP)6zpZAegmd~dC>*eu^PGs7zzSuz3>`@we_qfL!M_LF zdSm1RNfY$bVn&fRqYeI~7?q6)*b}UXR9z>0Y>eRLy;A%Hl}Np4sQGp}l_OCx&(L;m zSGb9oJq`FY&C;DO|72Y3UarlsjHmln@561@V!q}Y^0b~@ME}N+j{#$qFkfT&C9idz z)|{97pO2IQVW-y9OwFYW^Svg@$66J)-607+f(~|Qi zO3oO3uVO4&ko2r{(~fb}6v0L4(%b#G4S~6DJ|*K1StdC*NT^`MZcH`$)FglWkt>@V z>miEf;N8&QXMy>oWKVlWU;y$?XfTgY-dtFcO;6Hhj!%bp9jF8~FD-mf z{=I4p#9bQ#B!}%;Qm@96NXL`&%cc(kq{1t`7dXlf3@Bax@5=C}?5H6|xD8Qy?yEEA zaRDRLd+3oU4Y4h?2tL}fW7ROh)E?gb5IMmuu2twm>tYFhS;luNpgSJ~EtG7;_*>r^ z=AtP=L5*L6b(WFUaipSBA|z&f5X8szMD zOc&l7*!}VvFQfQ5RrO!|o(5(dN>{i*Qlk_zFP++D;g;>|Z1MAW`Zo+8%vNiH6ibZd zeSUQ!0+WMq_4bEfZHw|mciu&PsL+*E5?GV%wmUP$PS5Gq-zqD=!ksa}VmbM5B*he% z?ELe^F2Jb#d6tF);tg6y116+tvFOC;E7TvGgDnD4?NzUfdfyaSy*7-cA4VZ;i&IMa zRky&Dm-~>Bj$i{huWiBHi}XDQ z<|xI(?Vi?PM=|_^^9rMusxjcC2GodROBtU?i7*|bG1Gr!Fnk95-un&Mq?i_W{NZ*@ z;E#(^INp+$v|E?opeqFK0iYsQ07!D>by(xY7U$vhpQXBJtqlt`H9YAU(Vk|_YZQb4 z$ztJs+?Z)#>jxMGpMk+7;RJpny5_BrDnalG9}~Ov)O8z8Eg^D~rVi5D6ufo}hvqt? z3Lf90;{F8%fZ5X;Av2E)_x*^sxpuVn^&NRpJX)I~NE#YVSAtXTpFVX3|sP9;z? z0lvBvYmCM3+gcJ`_e*z|(~sA%{@{!rZ*p%UpROfGx}PyOw4n@lsqZzj)T0=Q)%NnG z?asmkYxaSEEd0lt_ZmthSzK|ACwf7oa;}ZmK0bbe{~^sd__t4thycv+oyn#W>fPH3 zbNaYbSKD4nT60R|r^lhO>DCI2>Hb6uTDRG;ZtK7LJep~Gp(~3_?|<>SD=#w`-HzBg z9c0py3dNb8Fqd!O0o%5uvnF{}v1ht2%@H9dW4C zBq|!UX5uD~M!j#*Xt*HtK30YD@HUVHqk3AUh2*%oXAoatIvsU_+AF}^NtdME^e z^_Y8->uB|08$f`{O+5^j1G|MC0M-9J)GoCM+NG$hq?^%k@@$%eN4D4Afz*vK^=JRSi zGzI}Tn0vHeW-e-PzG0Q{1ff`i z!e?1PLog(}o+(hR35LCh0cPArP<^(LHGkIQiG>ghdlu4u&p;0vVsg6Nvm`;k`-RwK#+`PlEac&U)r1>f(Tlq zHZ^#6zS0PegSrRX{C^hmag-1kK4jfN66CqT4txG3cSLO<^14PNeX!a7D~DhBt@p2P z;JHRm-94gP{xWuP@&E=Far(ccubZ|$@?;BbR%>sBody&VkpsNftK;AD)lD1SB&$Wg z+f^||4#m{DE6XmgiECz~-HF1rc(&yPNtny%yvzP*o~ECq0GpcjL55C~nRZXK=B_Sn zn_;v(|L9T6)fe09{~Hg58eIy*j9UGT+yK!Z&=+@_$Kb>lZtX)wP0eiF`U#0*U$KTW z{I7Y5Xb%k5%-aSymPQB>#ItF5x66KiNFS3qzP2ww&}iX6mn9arn#wL0{y0ha6kWD$ zBQ6LzV?)Cxnd~eeNzljA|FlbUb?dmp#ok97Vn&a4FL{!8)rxwVlbEyGsxXz6y%Xs} zRYx7$itlM}P;BK=p--YEGavjJTtRmMUBe?8SupwQ>0^eyh0B9>CQ=(Hrk&*xB=lyZ zi>EVQ3I)BIl*#>#EFzceM5fjZI!)lEgV<5=C%lhG_i(7^9M8Y^8^j=BFo~*-aNkn; zy+zh;Tp>14xgCdcZN8hUO*YemGXrf(WP0cv>Kq2PygYGt@hwVInLTH6yrOE7E);BE zH89TQDNBn-&A^AEB0prGgi|qH_#l{$JEa-rc{o#mgM`^7z3k1W=+VH*Rf>TiWhFN# z73p^5w|j1pAd@ltOx7X#XH~faEa}@+%fjhVS)lc+>+#QWH1^NjueFuV==Gpm#nj9j z@W8qSPW~i0pByxH zJV4zKNv-6m!RSec+tpsB%4#)xi!&oRzYq6eX}N_7EU17{y9$Uq9$P^bfAeqE-@Bq7 z%cZHwB^F{j%?RR)+bq8Moti6(gp|8cJ8_B4MtG|RWR!C63V5K(Czgm_q zSIc0jNn&s^np)D8Itk`iJFL68ZXh-K`lpG8xnBx!L^oK|iu~;9@>{AfARj&>{)92E z79tEEVR}j$%@K)$rkrY4i=f=CyuFW<0Pwj{?9tT`a&*Jcvj)#Zjpt@C8I)J*&WC05 zl~|g@K|B9?$IS_o0ok8B0Em6SC!JgyD1*3_CRD@xTfd4BhGSXzw{?{26P6Th6f)o4?GT@bh zYS3pjumk_iHu=mX<|K*c9%Sut5DT+w)6Q{jk7XeibF=qiZZT%HDa#Y<)5iZ?W*%6} zS|r`t@v0vFP{dK|NNEI&f&3yq8#ll6uj+PiNLIx+Jrk1ptL?u!)=)irIo=te4!q>c ze)i3jlFFV?sZ~mMxVV_8x)ChB^~j6m3j5g2?SYmN{HkDbE0+zs^SXOO%v2;o%gE2O zD|(l4`(_2JPT_JrH&2+26Q*a5rUJD@>?0pl%7CMe*~xT9D!k7(yhrWL^$Kze-)DAVesmOHZX!pyYRvVcJU;u$(Ea5yFZd_E{UDC$9{*tJ z1SV!D6V2bg3SOre+3B64ne!a8fOYwqVQlZBWR#_rmPEchQ3Z?Acp z7yp%62p_=6$$=iUzUCMt=DB6D7Tm)F4MktZyEqQ#*Xo-ClPdL48a1`&u} z`(s`Cr;A08;Qk4bZ8b>6X8>-i1@2ADD5CGQ_kTAjA~G;)Jm2gYu8=U?r6AbS!UCXT z^#0ww!mt@YAwuev%QHw$3a7(NQf+-ZY+30{;-Y!g2Q#!&Sv*vD=1+^PP<#s?R!+tV zZfk!D>vVw?wOflVlf<{Q>LU4n-D)blhr_qzZNd{uv>aRX5gCPJXhJ=|$E5>AowltJ zmAXW|*|MN2nBOUz{!J3Jv6Q;Gc0xO@gB<y zjB77{Ui$Bs6Ok<7gT)K>G{i{3Khq8!Om6Bau_B#4%iW)UFC^D-Mw>I?e{F6=E+9cpFh(?(LEJRwf{ zfnXsyK8>AsWWWMpUYiWW4IfgMz2}lj)-_e^33^E)RvBMYS0Q+o1dL0IT6aUEIsrLf zOogdi0VQC~m$ADd;=={hwGXN0SPM}Svlt$sJPT!w1C-ZkoWRi(aYLx}eOMFRuogJ` z4-61F;ECR`$AWn5r{<8T=Cp1w;3aVFh#rZWh5IoCJ0z_>ZMZ?e`(~_XNZ`dKj8vM* z+7GCON3T+D=n+7Kv_6AIbJ&s{P!A1U#>ggwYf8E|1;1r;Zu987b3X((eOBV+#+2h# zYDy0eZP1YC5ieeRLleR3MM<`z#7|3b`exWSi4Y%QE*J3j`VQs1D3lumarhB><+6Um zko5D!RGtG&uwzPuK<((ROfFFuj3-4i? zJm%~e^z=9-G z{YTwn=~*Jea2hNEGlx=!kKtPvL|-G%(NP_&LRJlac_FV>B<*N5F)H?JVLP28wp3Gw zxyAf$J`TI9%73{p3RO8Uks~L7i&!EaNi+<>_*3UoA+jI2g9}Sf`^AE&INvg>YcxFq z4)wpUb^#{j4GfPsl8L$MzlQkRu=qAye_Sc`$}C(nw#MWYo*ESeuaJALXIl(4 zsZLgv^+R?!-xz3VuMgi&A+mTw#S)`Z>i-HX#BktRb7daf*Y5y!%j&}qnkzCCnE!2e znVlrD>t33rCQ-!^{-f4tvM@BE*Gmxyh3HjN1%+I~Hiw?^G0Qvs@%+lG#zP_o*D-xClAZ7=A zI8Ap?Ia`kf)4pcI`bP`0f5(>W) z`t^LB!A!`f=Yr&>5PzUh8R__}=1e{-ZkFBv5C5*~S@l=0!b)wq6GztUcmt|!xs9sP z1j=WTNl7zMA5p8D`o@y(Z6Zeh-AkG6Hc0YCVAa7WUNUM+nMNN?;JaWqP(@CJfc)qXs^^Z#lG55SRN3;rx9-fgx%qMFrxE}abTS)r%P zy_3(0N)~OPzs*CFBp7NG{b+WmfxW@(MKe!}Bp+Fs-0lcY27x4z zk*nf8yBtVGr24~6kMk%w%bozCB}=eF;S59fxb3Vb9bh>_)`VFwHQp#3Tj{l(iqLL! z2OkiO#bMZ3FEz^)J+nO!-^!P^#+?U8q#AXBfz9J5AihO1ynSLP<^CR&=C~wyZI%#CSp;zic!+kc z37cd;4#EMavk!x`0@T+-8lprNzRx(7n!P%=vH7Awh;__rZqPyhymp4(!24rqhevaW zC$B3+iFR;eHI7NeNj?=sS$S8k%kKHLRa*+gwk^+Y77Xx)bxP^ecx~;l;sCU+jyKf? zC4UWM2w#q(g_iVG=bvrDuQ{Wy$tdtUKn_3-tCs{(Q4?v+bS!ppn}e>*I8ICNf3*Gn zv&Sn=m#B}`IkAe77JkJHPv)sWsxIU#6IOE&$&9|>MtU=E!wLC%cefNZ52Bk4N1S_p{Us$)584ahJ7*F;a zKi+pL2>L|eg@zyCh;Dl$W!A3?!iI={D~bHkOQFG~d4x>Ba;OEI%8r1$@n2uA(|pY9 zEx)BbjUy6bm{W9IORxX+ct@~Nisg%?IIqv1!{FEjZL2HieM5HIgtzw>)==p8rv8D+ zFzfjmA8Vq7;faSqf+C9E{OfHtE?)r4AGON{#dzm3w=&6(fE0m7EK3Puz64D7t#kwa zKMNql3*a$-D}jSLD1Y}#v5-ZmWiAKc0mG#86fI`$003?wA zV%y!xy&D@58G^nKU0PedGzP`tosz#x5#NfDO`|Ci6=oRrZ0+S0X0)9aW7gcyGP^JF z+9?K9q9|TW86GUK)M*j2Ve$(jDe(^HF7|tEIWnF^d_Jwh#yg0wC7&{vipN!tJ0(Yr z6ya6(ga2>%z7wdxP`QCyECixhsg_9i2npSw$C{c;E6|ZXqEYu3SFT9LK-G~uilIKf zN{~-RGu-(p7!N_5_r;J1!B6N1Q8)V3Nj0=2y5~x13MK0WL69l}y!RrZR{#<^u+uyD z_c%`SF6b^Mg+}WcNj@KJR5QBit0Kam4o~zP*k2)tismjYT;*1UNbDlhTDt9_;Y|is ziu|v+d>({1#M>@7F3XFQX9X;Yt-3Lm@o@-swcBQtdS1F(7CriRVzHAVKMzKiL0;)V zzkh2B8|8n~5h?p+9W(9}V!9(KI%9Q`d+~LA12`X#xF7G*Q&E%g9vSjtQPIp<%1pQ3KMvIZ2v$<*35Z6#QK+nhkfBYtvM)nV29 zZSbs%se}p(BK44y1q(~g91h{yaFZ3-SxM^OUL*4RV!q!2+ zgwY@{D{Y8#ET$yeun4aii@o8_^IYR!02MXh3@UfiWoe=ee3dM#ux4?oy{bT%V<&@u zI0eIhX%TDRJzJhLmcb%XD>3{f*j29$QX<{4llS}aHb<<)r0!Dr5ahWaYljrKFA_Z` zoEFGpJ`Tbe(3U&fB#b%Pv(7S&ZWeTpHBqui-Q|^08A0R^SeG#~SDi`uuUm|y1Z+>0 zDei2sdHkD`#vA3OAPcQi3MBXrTJ|&K8(MVE@6}VmqHyGX)&E(R>#Mqa7MQp?I^mJM z%D3^uL~)g%)BL7~2c~s}+v+{^b*;VSEWwA!_#8WCFupvhW8gb4HYsM zjsjaZfmyF5BL3Apjj!b2w=2xR@Pabs{^;Q*DiMg3Caf*JX>A;%{`luA;Vznz%z_!N zVRi_Pd;{0E|2$ccOangnC7KF58CH%y)>dpEl7!uQ`{P;OTItF?IzQaUa-jg&X>RgS zo0LdfClG)-=S%k%eQD;8uwF#xZ6DH5B08`bvy-d#55$ei6Xe3{%=}=3xT5(EJ2ZD) z&P@imaP$BEZ;(8I0pr#O$VnueSAMh^*AmEXZeM-zc|(ONOAXR>h0Q**ki|j(t=$S7 zX5Q)EPR``8{q4h}ZTdM+ptEXdxjr|;(25=3@Y;gw2TKp#IUtC??1E6<24F2j$9n6s z55Jk-h4JO+Wx+M>Xv*(8Dj_*&E;O|WAZ;XcdUSgm)mP&`jv$~+pohd{pe~lFj^Dxl zq`QTs63M_#e5>nsg<_9)$a&n~HEu~pqAD*}6oFBj?INgTPWSd)*gC~nA(vqk{bDT_yhGuV zvg^Yb(^Xd218He~#j8-Jo(lKG&MrI2w3%S1eSVF6mCTDkr5Rs9Rg>I$bDY!=uS&q+)C z`sf8-lpd(#2&P(tHs1K-5P`Yc2tdjQ-W)Lr>Z3Bo&%pth%TB-ZRc2##@IY*dU%10G z;}a5_kmku?E)*UDdrku6GiW3<|A3JOdq9Y;{etTfwnJPr+QLJIxrW)pTZek9WRs+9 znP(aLd_^k>Dzz@&Orzm;P=%{n9>c24 zpfQ#GfuBi&@%ku^{BEL#H*kaXm%cNF?C12XGvf5(j^M_gc%8^F?l&D!bEyM>)C3He z!>|ffw_|8cRfz)$Jo8qDPSxwbf6A+zNTeNwcN&_HIoq2PGdMPzJjkO)8!bT!;NajB z9FtNTQptm~XMVh)XbExIrhLv&ke9>aYoxW3&PFKya9S3CHP%~$mUr4;d@IOiv9V?S z>rU*dI)hxDrwp|LxfQKU^+fMWUS---M3J63Ae(j1z>WY0$0F|ecDc|hRADae5kj76 zXw$Q7CFkr)$?&GvD@(pKW>vOJQM^G`_rK$D6u9K2L9Rg-1S!31KPp7DAAa_cgqV^` zVe)%-6a``RFYk9~i5U)*XRLa>2uPPrlV$oP?(B&RB}{K#(w5x0LXbO&mi&wOteQ=v zu9sV1YDi&-nzI~Qa+RtYeKX)>aT7=?ar{MU%Ut*3S$v9MpIqJ46_<=>w6BVGh3pZR zfzuaE&Fu_lKNLhITq6-;7h$r_qWM|*2S#4F zB&beqI}D_Iq11P{Glf`Wjlw48m`hrUf9TK6LLHh^!%_2#S%X<&mIeVBOB5XM>R9)9 zRW>ELNRRb;$wcCPS?usd!lMABn}8304I1kfmI+2lUnsvnQ7x9$Ewhjs>y5;vAYVC= zkgxlQJLeg@pD5YUBst4i*>Q@0E5%r|(##r0IiNF2CYTY{a5~G+a0wF2*7Mki(E8d& zNfF$6{vmy&9{HQI@vK#|<4Zpm<8l6oD9vG0bPCPXL1of~8mX_JdzR&ve3aJ{pYyuH z-~631dqn6J&nNACfGC?!Ge0B=r>8)%7wW}a=uFlA41Df}ZZ8u9uk1N4^4m&ZbKC?i z1()yr>Y&=fFVE|~QdX-v;XMv`mwEmj^sgzOP@+otNFFAnlhoPN4x;DV4`V zyA0pOaITIac(`f3L_YqD&s9Z;U{lJrnV$tWV;m)S52-Kjrh!8p1*jtVrQFCtD;LuVN4udWOhjt3dF2R6?Q$WSA{-dUN6C^h0i+;m=qXa~)Y!Z~{ zzu6vSEFcifsM3?v5H|$X5Wr*FHqIPJ!!)}>V=9_J$w<3Q1^DeI>xKf=P5qV7X^S7l zttLe-tAcQA^(R9g{$NbouVdPSHEQiBknD~IouA@ZEU?I$wP*&M{rB5Z+`T416-(&pVPD&%#j59n_a2~TPs z^vZ@i(Ls0au?Dln%?6s1g~&pIHW&jd?lUk=St=k%`dx^rLjQ3_km-ODQk5&ukoX0` z(5CT^Xm8q*Xt)S_gVi=(n=w0O86(Z6C4vsr=0v5-u?bS>EZIrRo3r)|02j1HP{!s0)n=Y`UKebp{ z%XQ(YmfcZkj6v#1#OjPVWN-#J6o1E!SSz0_1_p;C(~`-K6=7U~Od(JM_`3t3`qhPC z`SR8O6S_wh0_t3&Y{2x&KxoL&R7NehTNP|bxRDK$gkybxL8DD~7q-IwbdcC69A-Eg z=TLoEJ4Ih}Ay>SoH^Ks6n~L|-ymW*yM9sb%lXaU>3v1H5sdXE3C!yzCGGk+!Nyrk3S^9v(j?r~bgQvkoW&h~Us*+`3MvU!VDTN=;6kD<*R3l; z|6mO6DH9_Z#)bF;MLd;rqn-d=&%#y!g5cMli+E|Hka`c8D*<)v>aG-F)zBUaQE>y4 z=9E^WwnXs)GP^qf$ZEhsWe3^LSEI7nk|nP*He4g*x=G3-q;CFOX`(iZKkQL4+HCD$ ze;qVP+1AZufFo<1SgJH3?%t7dJJ9KaZ_dJt6Q9WmeO8wVv z5E^XSBbOYGZR2)zeH*FW2DvV3m-)iul?I)&_vQXp{a9W?_Zz9%Bz4;&iANTLR_cL3 zEur&>Y}MJhhmH5B3++Qr<+g?i>F6fQODt^c4?VZbudQ+s!0!*+*dn2M0J3GkhsjM{ zlT$nLPEtxxSYdz>#u7Abyf=L{Aqr&XQyoDbb?v?}opc0~Sbn{M_6BKnrfc?~AG;mc z6$6ozrke;_vT%h^_M(YsoY_$YZ_R>iR>&S<@>*qp&|7Q$y5LZUVjnDCAd99IvEx5; z&1Rp>Kaz{gBC|Z5&5B=cxS`CQ)=0>;8ZSsuBVU&q9U;9pGktC5Khe-R=X??W+F+Za zceqao)8n%r>axd?qwdrObuaWUbqF%rs*YmEr7`iGJNpUXf&(iF^KHa<{B z1BoU+J#$R1cKY~QjP#>luH7hOu)q*um?d|Ax?UlpPtO5JbJugk@PyR=;AC=`6}#|w zrSrptuDg8JT_LfnRkmDtD>Eg-nJ6HQ%?x~f#M?#@Cz44s)??*0<=2WW=-}fyU|s20 z_OBO1hZfg>=5l1;-aUt*f3AVOA&SIDC>~5*NhfT*sneP4TeZnjkv)`M=@TfH75v{> z9Ut(4D!uCmIRMx4HGn6U?|IZ3HQv}}w#C&bpdaluT=mp3spC|*8#YDg-jO%SF(hs2 zzNg~@qN-+70L{_Y{ALuy{b1^)2V?Z06$ye?#po%AXQo?b^kQbSYpVTQ0M9kxFQ#*A zshCxKh41TQrHB^9o8Qi1QMFtq@p5SuJ@P^v7VXY$3LU?Q%?u7)c(b7dX99*HsOPQSzoq=7J^q5uBFk&6R9Knd~_ za(El+VtKTHtqK~WGV^}VcQ^8 zWu0?l%`MWk*smn*Bw@bzi16AA#W7y9e`92*E@D#>a|^+<%S{{!DCs+^a>KTyI=$!O zuXU<}JIV*>JlW~J{bLsAXxI<=?)Xe#)9`IPn*|7Qu>M>KpXpfTOgVp%qj*{3CrY%X z3hdu@*H;P!O#iv#Sx+j?CQ75m#}}svJA6ys{#R%sw*d#Uc$~OKU5Y5&DAxC?4EGAyf19o=^evo{?khOe8;dKFUyLL4!A@8eIZ%&J3;CTBj0wSJrRQfpDgxuv2~OjO{M>>znw z3YB?-H`?7E$_S0xl#!|-)^>Y$v{(OO4C2slVDUBGE(Oic?Mw1m0A7fw0{8bx+-Tv2 zWU;zwL~w?@+cQ!+RJ#+-I?lBgkOEF<{U@K80&1ZB$DSU_j7o{k#=WRWI=Sd$xkxsV zsCDYjAYUZwe}xbdUvlNaDXb)zRU}!vdu5H(K+yRhlYxZi1pxAHz{iA_qgNhPvGmgT zh2a{*b8goP=#>tZ$k0vsgOkSrL%8tk@1=`dQtQ>v3-;3vE}=A$v_k}xgJ4!uHnf`- z8S}FN*9T(9SQ3ZGi#^EuVkS7v5OF9Zw%@6Yfe795pxfFrYFl@99~!$jM_@h2>gR>3 z79F2TtgG%#^%?saw4QsTYJXn?QHN`hAk5Ef(kEm$O1*se>+K-MUu>B^k&nWtyr650 zNi&(rvm$dY`ToLZ6aRa3ySC%lu)?dUo5TqwZ|CC)WKvSCMY>?9DH1vdAU_0r46-4~ zu>IM(qlE)~-S)?a^@|=8%%cNKjye+U8B=_>8#LU8zIK_;`aK`s zS1{&SA1ZF&Bc=L$qh0#-WQ}Xfe6~M;OUmRmx6>=zmr5Z?d-@N=1ubIE;RO%X#3DUm>5!%SyN7S#O+9JVpvq@KC3 zk%z=aC8vqn&pcXOlOsvyP8(v`24Kgi6UQebfwk?=C5F`W&L42aI@`Ier*|V!K-%p1d-1`ad z7q<@A;b3ShgFUA9?i76NE7{R}(@?ypkEW^=uD2xx5~N=lbGi$5{;=bsv_Ee=&3VJg zaG=~WXQzTM-_Ql2ok}l$^dWxG6R5cn`u{wKY`|(NieE%$^*GW zGnyeDa%VQ_g?D>{7yaO2^gUHc`~HqT%u`3wsc^6EC=z-Cpx^=ZSZTtK3dW{kaiqv= zI!?ipdX=o+Mc#Eh(8aa>h?zg;iauocpP!(U%O{i@CY5Q;hxUATWKj}sI3(pb#rebR zFG%wWMiH+6sS>^O!k9GB^xQAW2Qy>8!kIH3x9r3pEtPeeKmd!`s6>lRx9a47Tw)}L zcxDUDEC{!_?I1I^+b(H2rUdMzJ!tNu&LwSC!fdvF&P32gi#%d$NV8(2i3t8W5A5Vh zgw$_g@qJw?J1S>}4A#&nW%aJdFm%%Cu9b$Nshw?|jfj9f_sqN_l0}AcHr3{HRebh@ z3bs5pr-{MXss^o7aUKxbwt%$+=lxGo5rqi|+||`Imzq(k`N!Tconl)-Tv0=Sd5|l-))w149sp?X?QQHAQu)2J3nwM@!gJ@foOI)q8PDB3ffQr*|%S zkIrZaAGdOMeSz>1rU3O%E~xnH^hEjHWEl(|_nA1V%)t6rTGD<)PVa#r zTMBamPSDX0GU3I!s3D7BbC2RaPHOAbYC8ByaU%i=eTS77k>9r(l!Qxc2#KBh`Ga&S zzbQ-yv6q?Y8e4y%*HbTG&G#3(qvKt#iS&#*kZJgaCE6RgB65JN%i0X}IS=v|30(kC z#DMv_fk;$WY&^@IXMmxzBleQ#QiPShA@9aWhyE|c)0R2Jbt9-^x}*woXX0cBl4a~` zH3@!H!KreOj`P#Tx800Q#F%v~J5Az2Uk`>6dkj5XN2%`$`sFKB=1imvC%|w>3B=#j zl$xuwk;ea6)E4T}3$yx8-$~uivIBdjbz(NSOuwxj3iF3P8lKOcTv!k>?=v_G>8@H` zoe0)5C)^HcMW#>&h+V5k65Sc6Bss58jJ+*BKv`9zg6tkLs#^AsuLZt<;6kh&+>rrY zY2EX_Y%ASfahOWsI^KOQoZ6h|r;GOy<^RLg0?H(3LT*1r-a2o?YV|Y_*k23sm<;QJ zDi7^q#{cM9o>nhF(cIJ|_FW{j7p7`T&<-O(`(Sf0fRpsIbe0>})bD+1`SXvn+hl){ zHuK4giEZ%8ye=leU*oL7GB2@+uc2S|=r3JceNx_zOcsGcH`teJzqxi0j+FbNm#D-! z)`;mFC?Q%|<|YnZxJm7B&d3#*1Mff_DrW*uc=J7=?a+Urg^EjMq<#08dg0( zAQ0{;0LA9N^J#WUgc>Hf4tC17TJKCZ3YP93GJW52Np}7BW5zgqOsm-`yx16w{%5Ca zpz*7crsG?UB?jGCex6_IgqvY3v%xed;8`H^Alta+s(iMYz?Tuvqg)K-EsxTiXy=&d{4=#1}LrR%DwOua=G3Hj!b|MfdPI%%tf_hZPg`fk3 z@l`8mWte0*YIWeiRil$*b>b`UY|FE zNR&cd`C+d1;irXfIImU9VXtYvvXxE${joA$_& z25JezwHZGr%>>kHYgZKegudqZaj!$`g^}5Vn>BG*f2t3KKbTtHB)&G^hV5h$pHPTa zHWO2+*gm_&+RQ&H);EpC%R!z5fFDhyDT?SP@PDsRc&T&=@%`tqR# zr{86qp{)1tQ)W(_>}~2I-lDd#H@fi$U;?&5EiMfLA*Sl4U3@dUsbMI6Z428j)HM&K zwp)sXZU89B|6#qYh0JMk0Xf~PE&_WXVQlr_+uN4vs3b&eZ*oeh0zCVfkvaV-ZGO8K zr|1H!?zeKOF%dXV!u&@$ONJN%d2byb1xt{6+K!j6g1 z7<_6U)e(S#a6d*faw8G-fz?&Tw51tKD$8We8TfsDCkNOut!ioeMunr`WtYFPubS)2KA(_}XRhXO3*_TxU|4L3!#|lftONw_2zZL`)oIgSq0eP@N-q(>2 zrsEP3S+KFi8_rVX=AHDp%|Mq-_CtBuA24s-Z(ZaAA#!T{&*~bb3}|f$f+1!9O~7m9 zh`x&Z3!jssVXDW(p4AtFb{t%VI!d}zY4`EY7&Ta93VV3O=g*xo8`oN;a zevg?OC97C6Ux;S0PsQYAy%X~KN+a7DU*ps-{7zAQY&V6@rNS0bH<`L83XR4>;vlj@ zCtY1$c>a-}X=^Y_nCo4HCUxL$3p4U`sDK?X74-ZCqBU8_b6809IP8eev zKugQeOB^P6#AYYo8lIZgKkiO1vZ69sB(wuSnFZRfikT`ru-Hb~Vo5!lV=N1BKluty z%eL?oXJaX}^rl_#Qs&@1?MMhYzmMjkCh&lp^k;wt~wYp;Rs<+--Np zq1ahV$Jn-F-P(F{{QNCF>8~6XqG@AaKq=vSnPz+6o^rcsua9qsb5bO<4L~^r?&O6l z+U%`pU6B#Hf$iFc%AN2W=E74Mr6g~IYG{?Bd);H!3qAi()!x%cyv=CEBmGm+iD?0p z38cIH+avag;^9BZ6j7yft*x1T8b7eyI_crRcxeL7r6yii>=BLYlFpEOY}LP&Pz6O) z_0KC6QrDYh(4%lW8r=)>del>Q`vIjAo2z5wQ+c_qEiaxTWr1Q$i14~=v^^cMf7L41 zT2xdOj;UmEe9-jb;zTVi4&Kqn8AbU`1~vjg3FQLf*^ANRcu7tin&K+&{EL$RQKB`) z`|Tw2A-)v}%>Ynd{<8;@x|`Fk<)l$~m_J;uN{N_BgL9(eoeLycV#G2wweFfOC%H2x z=HTa2c3|0_n1ct6-3_aiNrGpjKs0(SOHwZKt`gH3-({q?) zs?Y#~7KYusQMWmptiu+M=wA9RYgMgbPaMX)P#_WRaCKMDNdHrr9n??P4)P1cEl}j{oY1QUM@*>Cd|$Hy&Bx*qywLct1*^T`3YUfcLcfuv7DjBzGwH@qi`^+unXlCzFUw zI3i&{Upd*%sr%8Fg19FdxxNPjhQbKlvO1iCX^`~%Q<$wI%2fUt)Z-E5!l@P%&_O57 zJAvNSm?=A@qSv4%>v}9fGEb`bJ%B$ef0tH>btQ19UV<*;P1%aEm}5ZXr3o=#9nnEF74KxH zgmXdE)#}L@uegjD@vBy;%HebCFtK3F;js-Nu=w-5)`(HE&l}FFVA6Tpj=%ecpRcSH zlj#2ivqVk^F$ee78GmnAZJ{qy>w83E2TS!b zwz2<$Hw>2a4_6!*vR|_D7C{~Pm+7A`k93Wdzn`%WAk7$#lm>+DL6ua#2_j z8`Jspp;?q&g+|1^5dMA#Z}1@s4U@ad3mOmITqnd+E}-(PuS=aI`$_7Upvws0P;2NE z_|y8M|K@H~VX8WxruM}MoW2U|KL#hNRKUlH81z}ko%Ty@Tkk%p7zx2QsTl(JU%G^F zSezZ$5Jqly^TV|IB=p%oJy{KVqVFPqEXScmmchtd3%@1nGz4?xa{Q1OaFGd8J_@YFGGHbJZz_z_!lcwib8VM5}RV*jsZ4G zj~e`a0=wuWswl0v@-O1A1AsdF(niRa=(X(T%G>|NCf+M76rUa*m|r6RR6XDan>>~C z%oLu}J~GZc_F=fXC&P&zE8B4!{6(V5K_RQS))X?So|S0yr4AjpON4r>N$%lhZ!*h^ z?uwa>-O-;6F|g`;>u=A@B4_HFj8c&3@BC)jUI?Q!{OJyAo&f8VQXf*b1|cP}rHCmA zL9GM$ek0<6$*|V_N3&QiLw!`R-c>{+25}-oa*4YSUm5?;YFO&9OluCOP6eqO;_Zl0 z7Dqm+wPh-Gs^kmrsajM2jRlv*wprKG1|)xHXO9^DN0HDc0M!8)FP2%Z93(~=GFfiZ zJZZkS3nmfdv0LSd5a{d8{R?Y}Q5n*uSDtV(7WIh)(7p#kH#OnYMoD zb3jhc6qk-6L_pGgm>)c?GOAfTPS^U#MA)D)DoNbs#+WrnmBjUCwbKb`ER zN#{=_M0OHJtdsiH*q#$xnM?N5?36t@-|u<;+HYAhH9$#kunyH)RtPmz4oiP$kSq$w z_?rWurUPNh;5Qe-6U!1{LZ?Wq*(JeVRwRWVeN?rs=N73-!C}8PjJM#(k;FC0^3rYz zMfDIvDxo4&doM{vRi^&>2E3P36bj1AL#~hg2`!Kt9ic^#MhcHn-)tyuCy;ni$swBgjKd2-x<##;5m?B+WUQV?lwjiL6W*7UjR;f zPz)4sS_7a~0Wk@9yTJBdoorI3UB-HP8(x7FiLCQwqYdE57>>a1&JhccERC9lvv5U_ z5r*0AsB8B9Wkq7JZ_9k702$6zv!3ou+kw4g26+h8QIog(S@*}?I1g=ySNaIZq(QE5 z4-~Z&d+pmgQGa76%p~JgBW7+){tGS0axO-uMnVZOzklkCDSU6A&fmlq_3dVl7fJo$ z$KVYUnZHv_-KcK^_0AmooL#Q3625f4L`T~2{Ncn7*{O+hq8~{6)}35o{k_IpZ?EIc z*>cBjR(Y`~=C@I%hW=k81GNu`%?x#g%lNw7r43W~o%sMEtft80+t0ZKbOBc(%+cyv z^ll@0fM+pRBuR^Ru;6lh9>FdP*A<+NCz38I{yl9)V)iA>q^XXXn|uZ{i(AqB7eCYsa#(s&fxZLFUttD^gUKge%p5cR0 z5aroqY~6qGd-(KES3LtiHO#DzB}iruboESE%h==&Da_1iTol3qqLpE>-KUcHX}J?c z{XDdIi4%)Dy;n#;_ozM_?Pa$XPA)SgHD0%`(DwstQgf@0g?gn|kc%q!VhtOpD-Eo$5`M^^4<=DF+Y3(MQM zp}O^Ns3HzW+;bGnoEH?QXqqh7i>#Ik(DR1Gn4UJ};%5*%pSlui$7bk*GsUE)8y>44 zZ8aLGWjL6q7P=DB6;@SS94r(iLCDk`bXYWolDNd~S3BHW%!4gQGB;scqn`{2abTqr zW!>(3_F7gL{QwP+1#Pr%O1KKttr(9 zT(~_G;+sn*rU#COKfQL0Q$idi?={~n2$|S^!0pU))9(c5ZJus?qNI~gPo_^wB$*$4 z^Fzi@cSp7zix)^62^|g=)%niyRg9ve_wdW~z;_RW=O&2mVZ)J>Bk)Jomr&uRv zAzdXU5*v+w&~=&@=qk@`r{Ynsk;h5V!__Yq(j-vp=BgN)de{#MoYc8&<-RTx!tgf@ zEKeXTlV|9Tw8j6)xeixsz~Inz@B6ugAaE1-^SNTl53-YNYdN48lB_tT8KX$(7J&Kz zEXQwLOvPMdWtLCOk8H10>2v<2Hi@E>JES+r*0Sf`rK`LBU~H@IU)4QdpQgI^?1xYn z5Z!Zqa5z7vZOFx}U2nXx)MI;ZZ^C2`8F!PncwoRoAI$v4+PenSsw4p42r?(*jRkxxd{>o;d!d?FlMY zxCr!~_uJa>M=Sp^(MtBn;;n*y_}HLMw=};vQue-rrHjTH$>aI~-z9E!Ix`*$j?F%Y z@2?JxzY_hx)#I3=gl(3%N-P^q|Cmsa>zC>GRLKs#JobL0&_&DJN*gNgq+%R*@KI~AC9r?8v!@aq z))*_okWySjn0-BINw=d~bmVOXCs5Zn-%!x79`IY{On~oCQGmuM48!Sg@Xxn4nm!)Wuj$_^~-3+;#chtQd z5n~zSBy0t2nDf;OE07=xSwWAMq;Hf|W(HV*dq+Vn>QUAgmkA~4cg>VL|5l$jSu9Dy z(0z%TACZb-@xC+`WK=od{u`gXFyuBWv4cRdanN!Y`IcuzR3xkgK$8pju>W>h1T*@w z2^pOB^d9@WNEk_<$Mga&FIp54v2fmrtWh#FFJOsGDHN)&?A-NNXV1I|qZ_{JJOHNG zIK!Am68Y0bk+FL&iADJl-pml>H^*W6=eGCZcX+mrpkCY6Zi{tttgW#{5PL`HY5luX z0~Qoc)z6ojW<@^y(~Feye`8d|E|n%=#Q8O$~m2CvYQ|! z#RIDa3o-Z>?^mavR`e972@;mVmw4a}*aAnweo}iiNESMrG$XM|{EcRbJ@v~|I2O9* zxr~v=ReB5j)qk$xwMtwH1>QcH5o)sV7M^63qoH6r&TybUm2S__PgGzbb_eai0I$NGJwccZagsKAe9BxC&0dHOJKc*963w-w z5Q6#aH!i@HLUQFh5Gl^VgJHOSV#P1$zK?^ufZM>lZn)4AGlCA{FfZcP>Tdg|1?Cup0kyN4ks{`@_`{$ zFA3C+Vc#wH%jO&U`!Mj9CoZiB77h@aM1o3t%Ls#Fp3+r2`}d4G%c?@gq}eMnD$WX7gEa;bOINYf`2G9;CI)Z(ox`F z!}x#vPG`nW%S^Y_wv#plQtq%?|U$+*tNkkqBE1 zQuZhqL@8|%eWZU87B^g6X!8|y zYm4*aPOK>CiHWD*>3^}-TA+fXD536KxV`rwTWR_2eSW|P0&7z*r5X=rl`biy;Ja7YaVZ(H#odrwEVvCM zKAT2T`aV(EqUZs$4Vt^ToH?Zt7D-3hY{?;%aPC+~$^a6Np1KhyGvv{{ub$s4sq$yF zO-^dJi*r%Db^K}3EeKoq zs8(sV^n{k4dOxRIMxB@gdRyNg*N9Nf+p#qop zD$B#sRyicQp8L?=r1ooM#ajvlObAT#9|*_Df5`#D7w`e%v_^mSe;i!{V7 zMxO!nrZ>i@S7o)%*GY|O;q(9xC(}_w8|}wmdwel@x@b1bE)o+=DlOk1FYAS@qW~qm zL6%S*kSX>!kmJ+8Hoy=NSQEaPx7gu_@dOjk94C^0*!^o0o}XBYbz~ZdYv6-9Ah{BA zflO?re!kUxI+xb<@fOUB2ajsHR3*69&HRGdA_8I!aLo%t+kTiMeZMXuTB?z_8%jN&>V%N%z_cKR@5cfI`~?ffN9qX8h!g zX*W78H3Wl5kh<|9UZEMC#@cSkgd;!Q6lw=&Vixld441blaHiai87T2gPa=ibLU6gv zwQ1p481PQkwfQV`)e_kHWCbKa#xf182rhC+?5ln2>Fc^#V%Hy6Rf}@bk8>W9?$ zWuMqH$Wv~*0lN`mJ)uu8l50DU3T97~gDa`|JwsuV_0;F6Jc*EXnA@zpqJXso9*D*T zI&^sqO#22^$v8sasPH6;7HQ(!6KbrY`ZxBfGktS|1%d*v{{=iC7NIf_$OE7etzqBM zFctIo4f58#_T>`Vi@3TfwvejBelOiW0T9?%gb|oA$YP0tCHYv6sVBWt`%1gu5sq_) zm&47?axjTSmz67iUNxZh;`OTSf1P?T_<{f7EbG5iVeq*N&PX>~TsdI?D&ttEBpPGRD7BcexJ>SHmE%vWl<@)Er)iqXjZ{LcXq=6r4|DLjx%&f*lGo$v=t}H z0JRC_pb89;KlY3k6&aopgu`dbCn83SiBpVX1-2f9+!xhEGqaeTEo(b>AWrgV&`bUo zA<*k+*V*2)b$S^Lx3K-!oy~)2PWRG|f7kx$3;HbqafTM!v1-ZNTLe~RQuh+znGhi2 z1N&G@&A0=d=vH0D89L;IumtT^$?ncgevf+|`)hsV8L_h~%HH0+2e`bO56hc)*cSR3l$W8dg5j(JWKPdD6jdmDu;T!FuC*+ga) zrcy5-7Y&LsH7%llibK7PaTYe?a9x8oacvD)c-_sB>vT-{MJjOQg-iKVi$4F7-o32R$ zj!E7%M3qcqDSgil2h{ZEqF?xj9}u?(c-Aq1bdv)&7cud!&o&g(oO{sLJHs(PxJqP3 z{!*Q3(9bwG$et^ON<4hO!J9B(Yuod)QnZ(Q?I~uv{5Lnfe)nfJDf!g9OFS2wN*`cC z9J3+UAAb5j>u1$T7=QdTHuE^nvpzkZ3!6ZVJy6lo>8iu%`-p^6e@vnn?nwz$zH8rL z;q1aT#gh97QsD&=lMOONBcl0T?1?r&roLDXfjh`leR%zWfd2oin}9CoH3nkTc2m<} z<*^Vf{gyv7_gk$=?x}!mx`Y?~d$<}1XP3_VZ-S6XkQx}p(K|lY z_KM^ij)Q5GFL}U> zcNWv{9w6acec1P6LA5|&Fu>@^XJCdRE?2T?>x%o;`@g7VRo)40^SUOB{C~FnYahN} zcAg|{|2ahoJJY;eo!lApWW8~9Qc$wH64xm*%P6s3D=z{WB!WDcNwtSC9^ z&EBnN5bzbMyVY^kx*D7-CrpxdqH{?hxA+uEcs89;I>+De-4zW~^Y#47UL+EXW-miq_l^0nO# zv_33Q8TZM5Bcr%uE9&EQvzyqnTj$=Cr=)z7LZSDFFNK^w6>xngnfHuSDwfL1HhS6p zsbGfw5G5Z);K+k*{}4+ZDz!VQyOsfBfWs?J3n(GAPPzp{nji3gmUJNNrDNiOGq>2c zG%;a-J&DWt*wkMbJ^&e!TZ~NjVibJ5l&Idj5m6H}S(Na@Z;S zsPfmZ4F3rM7<6_5foTIiM~pjxPsjE2IL#0AItGLM*)coxh_|AFDX%7O+E^{c(SS8 zyy^bykE>*1mw?K0wH0fcbG#Oqo<*&Tvn}1F(sF|mI3SaamC7InsMXo2!N_>E{4QEn&oEHjUZxR&i^%KY?vfT{{jvA|LwunM3$?Z7i# z8$Mv1>>hZhz5)9-Os1u?{w3C-JPe}y?x!Q7B!@0du}I7f>IrbanLj;QeopS*@^;k- zxm{6fQT{|h!#PaBOhHj2*k1~*`m-&S{1&Hjj^{1mT4xTgUwlt5hhlMb2;{I2&{e!&c!$$9(=9&i%9a@)11|eatq0C} zeSn1HqRuvjaC_LD9I!Pu(8utp3LN(`0j-rqJtOK z)fv&BM4yDCGJ0~dn>zOA;w$)HGSJp+@bNT(3_b$AHRS9OasjbRzrR<~R+JR3a==4O zacws{s7pGn=5-qAbE56quwzI)UhpJtJRLFnf+8Tjo> zZnEF$D&^WK*~e|-`$-Z?yF^M#ON6RIeuT3BcfSGl3HV%w80q@)TUbEu3|&}^1=_(P zC4)V~kNV6z?UzaNCK5z_uMd@+V-eDP;Od#w3~ybU99uBhPtm!J)M36TC;-!AOwqYO z-3Zec2{sUfa5~+R`A(Rp%YG&0K=FqBdZl?hDuRI<9YD`f2p$7nSvlFf0- zJweBcXOGXJgfYJ-^qqS?unPPs7dbfqjD&78;AVem{;UL%zr{al8A~G5iWweqA5%$_ zM#3k?To6hok|I~Ltk_^rdJg$n3;`b;7F{Ne@GD?}Ljn?xxU#!|bEG6GSwZ~=QyGu7 zSP(uCI01ls;@_9&_fCxQ++@bAw`tX381B(i^${tglzT}{8yR)&!rZ}vL@78R;asp1ikoN^2{@$U^{7GQZE}_mY7t4isG=F+Mj$MO zNvm@+ZUPqbZz|7hzd1ygy#KVVBb#{WcCz$Jje_cRKeZN~utOmh#9S%lSTevagqHk$@0roI7570+-h zL1;@_W78opgIJ9qS*eguV`?zwM@|qJI{qa3P0F&8ioTiG7#n^p*Fy1H!I?Aebk&W7 z{wsI91E0Bx&jLzN$F{dnrfsCFiW^@LFDH%zel^D_Ho9U8z~9Fbx)`()`1VL{Xp~ z7nhWkPLk6eOH|yzM0E(le@aqf^6M$RR_b1k=>OB-1GfR*xOP3aXM&3haKLl})PPfh zuaYd!+0e0`?mQIV4JPETJNV$?mZ@H-S$P7M^Na7T(pZ+1nd%-Bl3=$?=>WH0E&{%cldQAMBI~Xl^U+Jx1eMN zk4-^LEjClLeTwTh7R|gH605768FCenNAiol!OYRr83QpBLG$Sl?XaA+IUC0>IfhpZ{yQ94i07m%dmKFA#VNP`J8XWBYtSMNH0Vanum{qW=f?BNs9?y!0Ml=j|nUf?VB@DdSWkms`MEUSM9oOp6Kw;9ay#*BE^P(z(mEoqopaHlGW<0#a}k(bj&CK*l0sYxU5q^A?*Agg`8KN zC(I$PX}pP;JpJW`BxGSHH02_&vK0bI1S?3rR6$qpHv1U0v9h+G>MqlSNc^XU(u@kE z-rFZp^as@YC>!vp;trY&$dG~a8cFIh6N&a>?X}h_Y!-uH(e^^IK9a?O`(%9kim$Nx zl%5WaO;)MVVIaaU%_y0{oPqOER%42Q{@U9Dq5IM`(up)^&{$G|s!V=cz|KDi1l|R# zkLA8s%rDpJ-OJHcTysZ)dF z*4DXs3Ph#!H?as}B58|Eu|no`zN;H3P=rD9nxoG{ISODXbcm`fo5Z zc1)tzoyR=J;dIj`cJ+->N|5T$VU->|Qze+Rw9Sl4m+Y`qR^gRW(*{q!tu&Q29{!9$ z8#5x!bYMEi`>?j-rGMbsa2yCOIz_*yJ_`}R$XizH9c-wOln|8(f{7eB2$j7!7lG;? zl~Ye%Rx2=^R#pNT{TDal&zqn20C_Qfr^!RLP<1@OzShiKEJz**0u}JNk1$5?v?n&i z*#~|3RambJu32?$nsfNCa$1FGCWp-5a!ojUL~JU^Z>RRMyt1FBxFR(oCP3|2?JZmC zDR#U0Zj0`} zyrE!1btYG1$S>rk(V498ZV!F#)>t#Wx)(S3=BT>kAT>#%Y=0^u zn$0C-Uir*FMV38q{f65ksCGxoY7~`iq+2-PpAmVb%k|Mvqh;moQpY z^6e!MhdWj2N*}(W&p9x5AvO?GSc(O413_>DKG!TgVEA*@%mza!965JTBQ@-~6X;lK z#d--Naf@{;%8E(J();D`Wlh|Gxo4~xjA#TP)L`epZ5MBO{9oS&FOuhsj_c0+_-k9j zF#0JK*AOw_$_ClJF@gPXwTaG>FY`K2Q3hx(H^LQ1%7~iupcyn2OTbUsUHM zU!#a8Na2WL?ZS`cWoEL*uv8N_3Kb_kG;t?52Si8W zzVGk%u~2T6?(8IBWPTfmgnp|rMa<8WBE(SR%~d_-%Ah!wRvdR|H*mDEGh2u=?+J%O zxCVA-H^~q>5@l=^Fy<$H>iBiZwA=Ml5q9&NY7T(<2g<6wfTcM#u^dq410qSQy`&)jjtikaBG6q;w6TG*P+^OBiYT~Btc?bq4|cH1%5O2 z1xf5LJoiv8sY4lctH=E9d?qXx+hZ=#IwA`l7D9)kap_~p32-U~r^N&j9>TY4t?^4y z0aFa({W+(Sx!UqwO<^k*gbM@_0W|vl4X1u${+1#nmcY3RzYl}&uwe>Tp;^cY1{y(qdw_voVC7m4twT4~T?-iz4n z>x{0u?=^bEmxv(Y=T>C0;@B?|(t&)<@)JRU91di~ zgQ3pH=$%*g^Vju+La0-yACNpw&N}=y9wni!^5GbDFdaoTYxvu5xEH=ZEv0=`uZ(DG zjZiNvElk30eRhZM|BMaph9Q}3aP&}}W1a#!G58QlF5fgcSqOeY4~CQ4mDWvv{(8|4 zwA2rYR}dSFE#jXg>HJyj7cz%B#&0~yl?p8CMJZyrv+A7Sh8-$-PW0Y)?wU$f=864> z2g5|acmdwyK;7WeZIV1-?~glV@;_&#VTC15QmiK`wuDv}ism-koCX)|L|LNC30s=l)#D3oBW9BW1C#)pEtsBk% zdg!zqsSl7C zy;x15C{#GBIg#UzK_gYjiQf~na#S^(nhJ>IkyQwHDCqm7oXY$hu9LFq$A7FrIn9gt zO}R}9Py`V(4J=-(0C|dx3x`tB+wQf~$YToE^8H*Yz=$J>)F%^R%cR(w2|Z=SPJe!E zIBj7P9f2!=V}aXW5Elz927;sjKttZd>!cb`xfrjq-{j+@EE4-$pOq+&quSw8?{Y%w z;t6@tnBWV`cYp0X)^5rFcq{I%l9D0>KdMh5HfHtKi>Xt?Gf_AhYOEfeJZte;K1wuI zteEI+_zzyEV5BMXFhY=Ygc?M@`2roIPu%IpPMndTy{iav05EyXzWOCsRaUgF5O`0M zD`){hLjI@EGA)*ee!y(i#%?c0QMz1S1zPT-N9vsAiGkpBjWnshDl5Z1qAIZJ+RgZ} ziVD`tMsMRCT2U?zf_*07)s4o7#exWdAmsqU@TG=XAQ7jLZCo_;`)|nBwaz7(bkH`! z18~1-`3i5+PCzDE`b=Y4*YzLvWbGxUhm{ivtvJ~kN+c5=yC)*`+o&uZUJk!qmNE=B z6pw?SFJ-|>kDyZc_n}5)H}g5Dp&@Y_hcEp5QN(A26(Ll^)+#h`$zo4t>lT}k^toTJ zH3q-=w<@AtbpH^P;eH1N5r`YNk;4j~a{@uI;^J$^jy(1u?4_#2@tMUuGm;i~f5m|8 zDBJI1|CvNF(FgC8E7`LHujO3LnxJgDroP&0Y#T75|LV44ba#^V1l{1Ze)LG)m1B{tjcjA_`Ut!$9wi)3(n`{wbAaIu~ot-OSkILSUBtiVI)w`n! ziX(?(*Vu#=kUDl`ur}4XKvYWYkJck*B{wWtpWE4KiV@K7`N`SPL1RN>5Ic zFbFE$h;wd3V|fScYS5e8mZe~UVvD&@^8Uqw7p^Lkdb&YS?1xo7L!)2ZKwi*9B@5md z3MQ%qq9)25R~YEKR6ZU|cEFM-TfuUf3xjcDPR6M%#H&N%_&4FW8%b7yYTtA= z!wEhrGk0GmnX)XAlA(Y9{+|A2kmjDl%clh!_^EJvi1lC7_92*dHzOFF)n>Zlo55tt zGG|WK&dFfoNZ-zC{PZQMMn!j~&*Mvmk*U8!=Sn>Y9Q^Ss@+3@T#HgI0rNq>`giuwP z30|LE{~0DgVFAsV+snl)@%_1!*>-O3MBYw!rt{N*Y|-cb6td$EX)zD4JPpcSe@1K* z*8Y&;=i4?+F2cX-8Y7s_zF?@1do~7*&^=qKRw2yY&Ucu&HV*Px59B33d)NSYrZ!+TX%ff$~Z79t;iUU3548sWLKzSpHy6Azh%B&z1@&5Ifk@r~1sA*2dpLyfK*f~aJQKR3h|`Kvq*O?*J;5k-sz5_0lEwf~UgiD;!S zZtpA%mkm!XD=0HtNag^HzJ4x^wIG@M7>s@8@W;?mq$DVs#%W#(FPC`lZwgoCAxnbsQ%=+JGx$47SkzPKL1}AX%srGCRQMG_O+U>G9 zE=f>r8Y$|!hHuUPY_p&efW`NefILE&Rw&1Cx$G5|6+JV0+6Je&zi*KFG$SBU5dJE6X7C$(jLF3vK$E43BrZLlvD^f*WKUHW zf|Ht9)-9_vc1#B{3vl{Xl%pbJw;#od=Ow~#j9;A(H-1j|GqN3PUn9Cg3Xt zkuT{~v?c0s8+QShgb<+M1=UNLY943|L`t87a<%DRIK{Cio1!RNQg5-B=&rM2n)lr_ zBV<*J+qLkV7(Nh5JsliuIj$tb&HwIwUJ0O8{;&T7)d~3ANk&^xXkhtkp7xXx6LnXP z!nBy6xKLhfHo~y?L0TpwRD0Efgki!B`1;}vQ6-CnV|Q>dC@q-c*fg=s{JYkOf@mS{D?==y#gcU6pkl^yO!Ii21AGD z{2@DrBbC|W!|V5%jhxzXVEG*-`(EYWtkuc1sq&v91JnV~|A`Y0#N!kQBxAbh$p16* z1XYTpuKWG{$KMY48jj2YpK15XzaAe=cr4M@g^W%;GsV9P)*{ ztY;f($_Gu}VO+`OQ#XW`uQt;6z|dGKTjagCjwvuc_WhFf{v};>3I6CNy&>7{bNG7$ zXD+<guZwG}5V5VcxJy#EMgmEA7;(y)vs4wQ~8@!*+X+L9+B zPVu4>Dnbys%F4>E6zTLsVKkk3?3Ohw0jU%Ht!gQ;%Jvh;(sw2@a!@6zef7AkSQwu5 zbigtQsW7&Jl^n>QThDvAzvxz5ttf)W<0-O6@22C-4n~2i=PDyR53WYdR=^ub#3CZ@ zs>M#*w({uT%(|_A8OtU{J4zkq3|Pw|42F~zkkMA8YexRmsI8g4w*BG0#;BXiua*F{ zwT>lumjR?m{0juF{_g;n<-8*>zg%SI`?J`+PTguL1x^yEPU80`R*XtG$A|$48K_LO zT(W<(+a#opj*SPA`A5sC>#NFb_k%pN)*o3$Fi`cLC`+%BMZi4op657b*170$^yut% z+o}NstmqxbdNB{QPiA}?6S;<(Az$U5x_Q%%dxiX&WI+|?Z@KuG53bS}3W%nQjpKwT zUih`jtQOXZi$7kp>Eby;2N(jS1y8C9H}*sw4&0adwxdagBZ3OTP+nG<#Pl7s-)d_A z^w<5zXc3t5f7wf*eSn@EZA@8eFIria&AJiHY7yKoxG{bKyWw;=SktOiOPc##v894%e(2F#VOF4{Sz^Q$DjwJ>#4poe zH>vVRT!GuA^q88ETBCZmz2axOY`rUBqY3O~wvtl3Glo8$9XlLz;&ZC3Ag8|HIL#8* zq+sd#*Ej7W=O!f30H|Xo5Ofi65UxbO2i!wjXxG1eP(XT05GvTv*ztl|vkEj)_!d)e z4zop)I!QF2#4`t8AstjeZX9%0mBq(rt_y(TIBo+4N7Zy2HnX+U_1B{VKcdJ0y)X7B zt@JgB8@lnjl*qhPFA`~JnH4HBS*QP|7Pw<7RvVf6O=$`~Es6B{I%=<$#0*;6ejS_y zzZ?fO+ErSOT)r?*SXsFFyzTA*5*7Sh?;1@TtCw%0f%l2Zlt7(D5CqIYn zZjOlrwC85&B%}K|#MjHyQGQH1TR`oX zf3!Y&6q)Zm8#zilSo4Be~#$3 zFy-qpfr@sV!^sY*dQ`Q3DU;}-X1v`Ja?rNLAnJajqJTigJ-9C%;-HbU<%m+-)Jsh= zac<1zuN1jpLoK2CP}n>dV6%H3=hpQxw1Id7cEX;CeETx2Pzs}eTXA;yQVW@o{`P)Z zyq|m*VEmG4!!ZS$e6x1Etp57A>;1^14K&<6Nkjhk)p^HiUcU5%iS<1)Y#rE%OXtp5 z;ZSvax(qds=Ry4j%;;OIYM5+-q~}ml#Yl=RgUQf%SII4V32PxQ zoP??}Zu$SrpqOGbQxx`fd>Pz=_s_WmaFQQuNFkO?fFQv@UH;RXgCPcdQno4peIIHV zl|U_`I7LDRy?t!PS6C-aU61h(u*ivMc6f5N%voQCs?rZ(39`|8h9L_@76;Lnmz$`@PU>24n>h6J=jEyTpl*>8Z)*OO>NvzQHl_dEHyV ztZGxY5$Koq?bP!+RTk@oxtRVj)gE1Wgs?&Li4o=UcFtROnLM<}I$zH*FU>JA!VN8? zfQFVMBW*OiMU#tp?es`uUh?KP8qkf|V&28akx3ef@vCn45HEik>{l%cKVOwXAm7f) zb_@2_PTJI2RTx+bn82^I!N^$37-dzSUnEj#2V|DL1vxq3+EpR!f&)41`@r51HP2sYRI~~~amO!#=ml~+szK{3k1MRbNhUuv z-R8d1>ua~fZyXWTik$Z8(kk-fA{3!42m26HJ7#Kvbx-<-Qv7D?-StS4FqZDI{?+om zd3~^VD9#};p4HMHI_M>1UpU#bW%gxM?$(Y+GZd|nl_pfYs@h-s9H7bT=)GF{h5Qe> zkQJk}VkAwZcQ^$7gHHh}ZM(IJf;Ed6m%?w1ESgwD6m8fwJ^k*z%{6+wwAOT^725 z169;Ds6F-EkqW0KXe!rhFQ#&7F}HBtef~bU-dHNi+IRZ90^mwUPWq9XBJljBbtO}h zt!<)ZRSyD6V7!eMt|hgQ;OJ&1TS^c1H>S?159LBv7nfDwTABH5N~Nn-JSD)9&+Y6G+q8HgRveavXIM7d5XfuBpWS8YrVQ3J%}Kmkr;r zYPPVR>N~CXlNw6*WyKUXQoK}m{I*dB%a|?c=W!!ad^K4*@4gMF0xbwv8jF7U+0W=l zA*x1Qs~P=PGr3w@&pu^QC8MvR*QlCcK+vC3+Jd)J)xFZKrn2Q9b?>_ z$Az9guo+GNMN@&f1bl+#6)6;s%9G~@9O;S;bwT3g>ZTO3N=z-it4-ndcFH8yHeBs# zKXnOay_UH`Y?|}>t~`JDoZ5o4ItHyFaZP5onR*ox*G_&)o8|QgNbFmqkoXZ&=Ur1? zxeb=~5p_|R0y{O^-qXQjBTBwK-Q;jAuzsXnyxt;uI)~Zv;38NxHBx#Rs8 z4L?nWmb-VX z(H)Hf2K4Pt)QQ?*9rs)3?i*8G2Ak7`B5qD zW3X&kWkS^~jx0zUD+16IEam-vmHV8mgpqjFb7xtn!6nh_*5 zm${K)|MWn0ZxBBM{6rEB%T-L$$QUg0O*L z^#Pyx0$IW!Wm2GE3m)Xaivkr@{VpJ$59mKhiIil!8^KiPEC}gwtrt!fLtsYl7v4b0 z^psLE6#RTKO4}VJ14)Von9~O+3nXQ;5qtAOf@CdwZ@3w?Xkcb9SL>%gnXW}_I`_Rf zIzdZ<V*K%cwMxNR;t3 zZz+a(8af~rF(Jn7mW_X0k|*`Oec+-s$NVq;EXq#a!9X6I=AVYamV(uWA0#a=w5+k! zA%KI6g8w>C%ZL69YAQ@*h5o3C;ur2HREuqfqogR$pMTGcR83Z@&xVp>D&h(M} zJH~E9{R33D=EotYmRbRYo{2x9IZEgc;uTLGf4z91M?6x6=Ta3JAlfDhpVJ6nijeqc zQ$oUMF1)zGjK!=c*++}E)n`2RYj2>Q^pAp0ZwU-D!94#RSTxnstut$|RU+`b1Gv_i zK(JLn$3dVy^MkaZcAujX!`eA|UVxN1_g{P~Q)nU3J?)p6dgv0mp1|+FaFy9z z;w_Vng_#^yS-#)&VteGvAe_YbF{0U**;mj6a-&Jv8^OPEcGW3wc&Z(*f5 zHQ#hYpJhY>7hdVtraz}Z+EfcidYqU*c=-MV= zLCRpxbk#yCzCp>fY&(G$=33h;`t~_vJPvo4x9!t+s~6qOrkFkoVs2NjEqc`OSVWPh z{(Pz2S#{!r0S%MYN>g^hKM=!IFgfX!b0Cpgp%?Ryh4-!^3zQgL z@fv)RX+IDtW~qOcy)6Gr5djAR6sWT9H>M_?^wSp1cyUyVwieVym zgSZe~=lu_F?6@Vq2EHBmFb#*4l{O+y`%$jM264;<{3roP*H?cXbXPgPU|vOqgNvsa z-h3xDQ?(4cI^_WDYSWxx0A=ZdC-!9!-Nif8x@gMS$G*y0#AI3H8RtDu+p^NOQa?AE;zJO%rHD$D+b~U!|qaq z>Uj*|)oZ14nn(O>_atJ&pc%vlOLhqbze0DC2S$N#?W8SmV9;|{{H8b`)5B+%D0Gg2 z<&(!4*R-gXnQyG}mz=~!H?~u>so(Dm8s?;JdnslbGY*A?r+O;GuEHYbYZ#W_*p1`Z z3oybbm8usZ-ZE2lgzz>PFTURqJD?;K* zXksJ(!0Lasds#dz$uB{998NB3zX&)!I0U=+^zvgzB*#7&U)lXt3fuKs_w-+oTIjHK zMWHr&d0ef6z}#)G1y|KSve-8h&Sr^79Lr>>rAXQhL8rgT4tzAa&k(iuDFyEW16C*- zJC?gS9N5r9okldd#wn`}ox9f6TOqXxRcN;A4OK`n*Sf%;ZDNhFGW8ulk{5%|S8{*x zBI!*VcLJ9)7~8-3g=0}(BV+x#Bc1=GvkteDf@oWfER{NsXR(RrGP-KLe*%->ZXbdm z-CST3lMjiQvZl0k2HXUw{2&mV2Y};IO5%5QM9IKkB=w48cCht>Wvl!f46)Ipduy3^6kef#Jp@;sxvU9idwfl-WzLz%Rv65< z{%95K#^aZbQ%)^ma;45<6o)y$Hlh-eBxtHQ!e5-aaFqrIU@<=f!4&}S*MH@)6#3U1 z=HKH1CK5v%7PT4uXDU@D_TOJ^o1?&9qCGnw(s_7zU?(rag-QgFnWq&GKR|6pdanpq zg)?I8+|FB`A1{P8aK4s9Epnzu-kp*k1Wi~o?Y*KAIiiRL)KFtOjD=6n(<}w&piZf2 zttq^KcuXyEA6(0z#3?|KR?KD%d91VDN&mF+F?2X*n)+MsO_{9xP0tltV|LzT9Ov%Uu~hd9p`^4;9^P>6W>6UB6x@6WD$?w|9cy3ZWcc|ge{2pP#tr5dwtf_p?Np*Gq&G+$@e62B)@^BhV zNBql6t)Le!7JYTDX0p*~@I{F+B&~bxECY+xwi%xfKa>b}PP;(X(2ox{o{|1m)YR9W zGxOY5WxUX}B(c^Em=ipQR!@Irb6|QeKvSTrx4r2ai%|FSomSS~H%GMGpW}@C=yLIQ zGz|3^R6!4>n2__3`7}0j2IMtzPDr}+xKB<0F8DTZtM?!&>gH<9-9~dM$Iz&DrYKx$ zcunf_d*zo7&7>#Wd2_^Gm}ri%kC2l|fIC7L5dF+MmySnx&S05Y?&m*Vjhq83l2}!* zWFTxjpU>dG_{DpE9b`U4DvD#I9hxejCn=q3_UdRPaK^Rg$^3~gPc-hWipajINN_e0 zF!v?I#hj4A7C%!3MjOr#z*_~OTcSzX;S?3U^ET^Y+TGbnmpj!7>L!&4tf9bz;ZdQN zA>VwN$->`AIxjTc)s^bvSxn{hn9!T$pEKi{=|t9|qYgjy)DDHGpCkkP*GZ+sH$kejUd7 zb-TIzn5xEJd@|!5>7+~jf{B-9vI3QgsHp^k=Ay)@M7JEJkNU}oswK6C>@AFbXD0=3 znCd}4I#ajRU{6R3K<4lufISm3*kNewES#KyQxIhss8%F@&6B52af@` z6z3x>e{*qh-2fGow_44|G0=vTCsT|Nu4+R&P%SqpqK!b&Rhq>oh~SYk7W!(yI;mE^ zp}CF{nYu=VIA(MiMHg5Z79gasEks1muQrmX1EkjXd;!5F(NBzAO1*M!Sx<*L6uUb7 zU(KqG#*z8ks>Hv#*wI5TiY!H(Xo@MnprU>gZG#oxRh-*W*DCFeg`A<`-mIn>s|1)V z6Jll&2j9d|VtbwELKVe^3-+L@J8WA3(uQ7Ea@xfN!u{7Qlet@M1DZTYQ7K(m*UE|o zbpyc*0O%o%r&JR(bAxMW3x$z-i3B_dit26kx&+WZG8oua#mTQUzGP|*BlceOn&#!! zx<+4m0D_X&mcVt{!Mx24T0j%X<_8HJq z>TEd8dI9q&n8s}sLmTCkG!Z3d%F;a2ATGQr1%u*@6(#*)%3rubhDlRBsNmzHb`BRv zQVAr<3xnzLrbPij0YE^e)>@Q6fFJZYUlyOR6{9x~`6wmsLHTcWL4E~BrrMrYOwD;L z4OS~^;?pi>%8iFGHF14W0@qSRQW}ndDwnn271PstKWeR9mo6s;<11SrEkblCEz=X# znQdqRS^XTnze~aWSQ*24_B0d1O{=!GxdL%Q1m8=Ck=$$@&7VQ6vujRFQ z7~SZx{rTN0pjU6fgj6yI8?~x%tQi$mq(tb}2b3+)GK(A5jaw|R5(wS|;A8l^8;__` zeAi1^e@mxV<#Df-w=R3z&lx1F4|)v3J$-Bsoq|~2(`9} zInG}BMt3~NIcCzwV%p%e$BT*ksgyR834#uQi8H~%eFf(nfJhL*1>}%F&MsYVyzSGrkPtJV=>7J>he$jrI>?pdGZ$jzGfn*; zN7uku2Ny$Y+g-65t8Lr1?bXKmYGbvn)wa9Zwrv~V+xHKWdz0Lo1ZN1O$`aZdxzK7X_8))jKgiabQT9a0I6wud&2je$ugcmp&hVy_gwGwhj){fjI zM&h3ty9|2v1l@G*{&faxL$r>Hv2XT=f{X*D_d8{eDi)0hqzU5ZvUNS5P$X~&D6q@#w!Hk4#qniBnu>P6C;!1kv1=qIMkKl=XvZk ztYtD9t8=iJ1y20Zuni{WourY*rL_b{+xPMIV?J3aiQa*ad{0AMhg=+*bR)_NZixPb z0*xLBIj3mc^-hHF9TV3lLm#rWZS94bYMyo+#HSP}R6n?t@O~SL&H+6Xa5WO$?D`=W zJd{3u;zCPa{TmdfW6{}Thr?kB@n2)`&c+a}fy{F*q7|scBIAp_547xooVNml5>Jn+ zc8tdm26lk$cK5%aPs%(VV4raRP>GP&z;SkYlli>3l{ndGC`g_cd~l&StrSW2g>UEi z{@c#flM~|02HR6E)V3)M5la`^D;MCI=EzmVR2M{ z-8y&zuFVq8h|rC^T>mP+40_p@a9_`o&KZ`R^!g0%`m}OANI6VPwD&!yDbVoW%gX)C z;|Qn7JTLf@{xIm&%-A2n9#Dvny#87s*a(2a`8URo`?o%HnYv30Tn!gYvZpvA;kZd9 z@%A%M>Td{Ab6e`1_YnD?M_)dv46 zzfiRP?^cv%jT*0gSzkk{^x^}zB6pe-AMs8V-F^M$lIDfW=SQVNM19e$a^OQcRBY#~ z{$F8?TyiSDQbsE4d6n3jf?q%DX1L4D^<7j6yF!`7)aUObDz%d{rnTH_hP}RHcFl@xXxv%M(7>5%Ws#{yW1pSQ`tKP?V?YH;CF`k6U z^!W2)5wFZJSL{~FQekn8mx#0%aWt=x)!UI`XM3F-P1?Q`yAS^0YX?Hn+5`v0dCdTz z1pj@!>rtbl&9r8N$~#lsNM>LEkaTBkP_N5Og$9xy*i|j8m!L_1avi?Q8YIg_d*hx_ zPd?D!r`3RN2UY*%7xMA7jy>Y3IW}AP02Y|wngN&6c$384h$E%g;N_GK67ww;=jCCd zTMsn%-SmCQa0=eu7?}BpzD^XX8o#yTElJDQ;UyeD=7OxA#~FuCd#3(> zL#n`(=|?rHCiwm(DY%Z%Pe~^S2o>Y44DgixsD%N&bQ)dhhNp{p8<>@dYI{yKj5R#h z9vQmGkVNclkW=p}x$yD{)||@^$@~>f$?CKXKwz5EUK!ON528B;!(-~J+opDB4v>`8 zWgS`RvU3(b8wdo@M35>wz$Wgi;_q3x#*SaCFduIZ6-{G*(tdApU8rwrPB`W@vYeE- zNUvq3(e-eC>*}k}YjXSj6gV-HzCH7VJRtze=j|t#{Eiw>4 z`hv%w!)$noqSe?10?(#4uCv`>M%z6nm)PGYERwzF7epZJK+D(>1pM)U3K~t8r7=KLR!^W^7T=o`5B_7oGVv?BoG%OqLgb6n zF$GA~Z$s3|gMyj`cZeOM*D!9GW>szVyXsIHoD3i|M*R^}F&>(Cwitr5Eiq1;)d4eX zy*NlH{Cf>PM}Csbp=-^E2$=-nBSH?p>Wp^KM4IGJG&06>wKO zuRyCq^9zDHkh$Ot*;*abEf<4o$4vPZU{_KgcmaTl18S-I)3+m5hKzaBIc(`TvN6Kr zt(T~!)YCD-48EnYBT9}w^R!tW|M7c}bnto=qlV1tCU((_8%VvE&s`18(GjHz z=`C*SqrGr;{R5Yq)5-VtY049HJ^xGTwY9*N7W)ezxVgf`{K{1h>syN}p55#l-{8?! z1S4-d7m*1bf9em}w4A{)G<_Il^?EA14Pg^U4v* z0#(Y$HJeQzWO&bRlxU8^!}!-C%*uk~2Rf|aCl`)kJE`y&iHAEaP9Wsfc?%sWRpkU9 zgz`P4Ij-QvAv7_e-XL|sctOZiPs)m`c%T<>p$-H}vbSZw&T$G@NdiYK$JL+MbkL4G zcvZq8Rx2$SYpZz&#QweY@2r3rwqOn$J0!MdfH(NVy@_q%zdkNh3vlRBt#iP*@)MK7 zsM~V&Q}kOpgMpaDz&vY<0WFBT3)-5M1Xro~WOq3uA4PXYZrnn0 zyaKnakTjUnT?d--1^{XtNLowYS#>A7)*OL_ZET%FwudEj^1_J$?_X_*EKuGG=6A)O z+gJ__04b+$nvyuFyuP z)?y(DW(fXtWbEj2r`8|yUYe`_2=6I#N*wtPe#P>wmyiK@AbmwWd?GI(s5h_LOh3_l z)||~aNJ>Kj$1kJ?cfzyjYTc(b0?)Ue3v0+D2I{YJ12^e{fJj@x0R|&U$0|*whnjHK z&CIKVNx;U2>CbAt;2tC;Xk*{&>13a)hMEE)N&wV0uq_zx`f+OSBIp~yDVH&E_57VN z?fQNE+XTo_o$Fcp+5$xj{(RyVEqQFz^IK06$&Dry9lttlF>*IWTP6V9(O}A<;!pa~ zc9=<32wGt@Qliv`XFORWLTKU#K56Ki= z>+ZXuue&)bbhOJU*V8O>}sv&`6s zo6$Lg)74T6NYb`0{$m1!x(5<;)l-F0)%V)&aU8U*ri=mCXogZN9VeTw=)dE%Ns_y9 zYZ#%*(~8ThCjwik5M?joFy`Z=TBsNkPT$-(aH^x{?4*jqV~WMXo41Zw>h?Npo9x_i zC!C&(W!jT=X<^Bhl))`Hi++6}Kt)f1Y0?cYT8jxYxvm(n0x0^1?#$E@TeW3T7(X2Y z`<7KkrKu7;Of!8(*?!7|7;F&5%?EeJ2#hHw{>t|3ATt~`COy#Ntkdv0r>Zpn4Pe|BAx|8u~`}%hf~-aI^3P1E>pF#!Zyr4A~Xgm9K&tWxfBr8SM7bRUwd;nG~|fZn0u^_t^gYR4rd z4N;UTCWOkl>4~#)H>2+i+0XmY(5_^dN~jsIhJj+tG)=Y5Ks(Az=z1EKt{1xE1NP0e zyr;hH0i79ebl6QS&>UwTqN>|2&P%~&Q$SX;iI%^&b}Z4wpRxkMVE{BfP$3L+OfBrq zbgl1tIAy84ZrxEm)G7FqwfVul+AjorIN{;FrM-kKUG+T+8;vGJX&>rEb2YE{-CDmF zyTENpa7j=hUS}n>p1sS6` z88~edt?no;+64n*4^EHZ7)M%D2cA1IJzVUQvd*omoNmB?$wkB<)D8AtH@!KOFFK(EZE$hmXS|A0=7sS#W6}?=4cbcP`|DzmS%3jrj++FPz=7kPq(vHo&+!a zSbIoewr4&u&C9_P>ly+hdAqx%&-1mc@! zo9mseb&rkO(fU#ggscG2qWo;!ZmYSa>>0?5?|1d!^^|&~*xN_A!Y0sW44BrEFdi!aaHP z$G>gR#8rFu{1n&tKE{?Bj|xo~?BV|DrEDohLy1OgV3HdRv`NMH38rr}qhc!n?4bu! zL7Wl(tOPXzW{2O0i+SH^5I1p)HJK5=#fygKiLXnGJu1`e7_LVGZd!gx|KdT&789X$ zksvi}Pu%+l1<~$)}7jD82l5I3! zzh$CWDCU6;6OZRxfOBm~`v&-!cM_C_cf1B%)y9vF#>uppMg1QOuQQMdSzxe2XuLBvsiXe3p&xwoLEqiF zTCaEqxdW}Z;fg!py=Y$+K0Xbow3t0~E~(BDM(NwEG0o?E5lz33lP%N7PC5MXgHe&R z2*VKKok4NwBXtuLW(qs;DVC1Goj-m{zX^T%b*VwKKs>j|&R#mOa*6lNg(f_9rXMHs zh3lO`z8}q4cn(@QbSlNdO-&bmz404gOU1WvP)j^XP~sgs8IYgLIP;9PZIgu(hEBZ6KG6p7JUDu-6H zh!wQZopki)EfY0(W*O{ol01*IG9531o(rqt0TLt_t7kf#XOR$@2x^cIZsB%~QmP<- za>1U#fwEQup#A@SgqFOMQPJ`rn3b|K$dEOk|3VCP&iSKVrjxU7JSTI?QK50e!63_z zg#0yc=m_h-_qk*LnAVoo80lDym{XQn>4X)$Z1n?+Tkx`P_F;vH&Egl37kk4qONw$) z1*4ZJAwqT1F6jX!RVJ!^d-s+cTXWP1;=d2JU@lUPJW*!rwiD{T>eCj44ET+M+>%B6 zZHW{^j{PW6AU|mRIN@_^!Tm!`5v1MMoBbbGBXlD0bcOb;)nin`wmirIq)hZacF`Pb z>(`x_<-Mh~e_&)mA~i)u6!w(TYIDlI_B;#+o~GFG`Uoa?v4Y;J?XI*FWn#Y~NkVXF zlj2PtKn`?p@W~h}73p+reNBhbumY(`vGCo=!dSj_+C#m&8l35Z%iMD&sO zDIne1+C>W0Bzo%4O7Zz+)8Dy5E4RNcaj@U@i1O5F7~+dKTXux%>_2N&1KjZLn|E(7fu4$CpkxG^{wXVDwLboiq$%N*NfKS(EDWixmVHwRH{{ZV+te^x~ z740ti*iuoJ{IP+f0wkWB06Ie=q z%7n5ofnc8e{hB%xE;M^4ptg$XXiaYTP?gJ|<3|3uj*tF3H#7Yl#?_&rxZ!=@8aIkFYU|Lplw zo~VZF%MWQ;1_opl1*-E5ydHO7?(>$#k5*|Jp+4lwo!9t*8+5Ho?VaRZ0^F@UbZa}jhLIJ>2sFI z7&l%`iDibWX20_@cAQ~(pEg^=B=TlLHbPqa4u#MRQZ?khm&D*OpgwE*X(uxR6t{}; zI%N5Y`WkpUHP|;`L~9|HNW({c>NsEv332d@ZIsX2`S60{)Jrr=zLwOmDs4Lb$)ZO~ z;5a2iM!B4TF|88-g8)=Vn~VD6EHDhmKRhQYHQ##6;^a(5gQ`J(`BxjHLrHyZH8Xdg z@Q4yN8;n}CuD27Q#@4-SO60|`!Wr0?~9$V6#?JGFT4`6xSx;{eebHw92( z`pc+u-0P&Oj3GYrOaX3~#;un~mo+8px-jq$F3^Ls+8e-)E)%|T(6dti%TM<(WXT ze%Ykea5~2Py&ALypipay;~(*^O6~eh;<-TuxYP}vVvcu027$HfpkS!_7L2coLay)x zOnLp60om@AQCPU=?{>zyYV5+h5eQ3N$U^u{iHG)OrC{Cw8|!IAx;X{i1ebPfv2V}~ z+|w>qdKuCWFWot=Xa`fNGGk(XT{7`|mZ4k~olv+Mz8@%^ep7`>XREItN(~qIH0fBF zm6-2QIus#NDi5?l@$9uDvz?WYp%*4b{|3uoSpUhtv1Tf(j^hb&c!+PP5lpFF@ng6? zUzx0FZEvrV3T_DhXU)4>;AeCgzhU z=U4^1Z}=8uVPRy4yFh%mm;=BzviGTa+%6Ou1bx2>E=J>_InLqk!N;91vDe=*gfout ztn^02qGts8r(9EEH@~dmb*A#N5g&ddfdt%Q0y=bv@-fBl4_d|owK~{a3hBbzp*<_5 zOiI&GeE>Dx{*$3w&6y0iE|4?%jENny8E#mB#x@sBSyCC;EFJ;CNcz9Ss5z>_XhOad zLs%(#;TKf$f#^x)llvmC%>L;sgNymkq+`{=2Dz)CK)fvYA%(yVO|8 z=<1KSHaXwfU3xscwW}xE!U?Z>+u=eewiWVnIDAg;U1a6F4z1a@gOSl+Cd_ZF4cv(y zj8%RHe1RQ*9dCL>we9G_Y z$Jlfg;K+5sd}(w1?&q&z3BQnU*Tbs=|6;CpHVFQDiidQxzExU z$kOvBP%&+(d!h~`7=lULYcqQlzu>*ZSK?s;1 z8x(W3EYudMAK6#z#B*9%3uBOmbw^K^Z0HegHyR#w5hFSbhLm!?Zi(=!tIx5T;R~p> zgHs~PY}TE2bv*mssjv$j_LWQGu&yT#&8BO?^ zTw{>)?xChhbjcA}YEef+MoZ`$D-T|@KVz>*gkfV2+6viO>%dhoMs6IP`as%Ir!yEn z2wG~JC3VG>FJJ5*Awn5|)O10LQ~IJ>i4az_DJF)gn`LI*`vJw5k)Fd6JQ&uiJ5cx+ zA7v8bwQANN05ajkob?8}K{kH(n37FjQd^RgK$6X4eym)Telapbz77@J(#|_zi8nW* zS}RTE8*Ww5fOGydg;UH>jCbf35xc222eNzo{|1-p|9)Eb=hQTd_b6O`NWF13&k(t`I z^Y;7tUcG4L_yF#SYFk&4mtXkVn`W{~%=z2*tEiEpC<{!@hm9pP5z1tlXGZ+jwA`O$}=a%C39ZKP)9ri@T9No z4#{a^uIs7mC>nX~KiJ(`xn|1@ke?Bo+_#V)bJ8LPP<9a)top3wJYAd>>YuDvKZQUT z_M5A%nH@~_sL_@|H+^RgKH@z-d`*ZJ>P^tXJ#AgbG;FT+K&LMHAxpf3G#MGY;G`Vp z_q-`YVl`J8n!R1DP>tA(h_4wGu9OVaqgq$5Ua&@2-&R{U%$lmr9%QjRFZ(Up;^p5K ze!vWzbi_QTxI8_j*D8V*K#f7K{A;hm^Z;j6GFtD+kKg*m90B|@^)IEtf^;PnU&gmb zVjLu?iG*Z9rA(X%F*Mt0jhbn)_w*-@vs^JnLizvN?UJ6n$M# zXP*llS*Q6rl9@H_F@n}AYnHItXym5gc-nZHACE$qHws=GWgy-HBj}MGH|A}a>Mr&< zdz--%pOX?8g$q0Gxb2p#Ss}1-j{AdHbq>dDbMqUoIflR!W+~+OUx^FiqAdtairSGi zqJo_y@ezxY0qdvJsAULi|3`v(pfaFmSyUesUe8xQGz9h<+=k6kb-tDsVwDF@#coes zHM;!4nk{Wxk}NnmqNyPu;2_};3#q2M*WH*wYC}lG&t51X;GpOk>98@NX=DS`N4o>d zF%!fQk6ld0BRb>)b%W7s2sPHJ)yFQxAMSucN* z_n98lb}Db$DV0{{B+QI6zDpTSmT@jL^(lALcF8X+bfX*E;MUwsBRWINCf*h+T6U-e zmIe>@!~YmHV2*)$u(J4h4ewTqyCQ?ZSji`(H8o||k|69S9XV9-4&tj%^?Wx89LS>S zNbt{V$p!5)&-^zzz5qjTZ+=UOyD%R(o21=7wFm9qGd) z%K?S)k19Zz3jRK@^B1e&XYwW!^;J$}I5eXFCAUKs6{K7LYTq3KZTKMzt}4RP#s9AV z?*D$S3UNzt{bQ{~LYg>Pktr#Qo!C`Opup_fB8t=i+kU1fH6`wjfk{i5BQ1xYp8C5! zJ>E^ti;Cf1B)6y>rSEDhj&bAl(v*B&-$mZHTdO>}Xw^puu*xhz%k5Cd>R#6k+roA0 zdw6A@e8`F4MstH%6!_40O;^U;wRsh7p`WJbm9F2EZrZhnG{a#EAfO~_tT@o_96e$2 zKld$js}|AOpECg^$AhnsT|Eu_SGhu%Q?UAZjkDZ-yK7UAA>mh5_|b|WCYR7N|J(%@ z1?c(}=2wJ?BFJe{)1P4}DO}yCA+(h#2c?;K<(vm~eq}xr^r~)G@fvTwc2@(m_R<|? z9k9{EFrS_A8t4!?H|CRBKJ2R+*%kz?v^|YmoGR&8&Mffn5BO16tEyNm@b>2-@76?y z56pFcpOD#_f?O8ir0(G^1Ab`+;il)Y(#4iPK&UINKpFL&xKI$!6|Eu-glYv-{{j(c zO5PeyxDbQ?&Xc^gq4lMlK*s{+F~PSZoV#j?^x(k0&gPwgw?UDd zhb<5rN#7q}qnE$mpc4#BWkqps&E;1*AJT%YDPW^E74w9bqNvvVsO%IV0Ilb*4Si3E zb-m@P&Pyj!F?tXEeC?ogO{v;jjJL}=DA{b54RD^D()eJoM@ero2lzMDKKzWC@q)MZ z1&gh?9`sVU#rPbvRYs4gZHA{We5(65<_XLB4@qIp09t`(KtHWo+GpTW^_rQKuCaa<+Sz@ z)t1zDYWI$>C(y6^@r*2(obW3Ba@x7TMz%=s#2d3Daia?-bri9!9A<9X zq!Vpp5?j`RsA4wL6n=Uyz_{k1SS)yX2uBm_K~*Bu<3;k{xJoO<0EL=|*k0SK>hLvv z)I_ne!oM%n<`uoxb&%dPTe+*fGv1NDIV%tQ7`31@>d*>=}L7udRt1F^WR674_tzi+H7b4^%AawxDxy zX99LQ!yHvVUM>Air`jK!Tp<=@W<^boHfBRsM-_~j^j?eZ?FwMm4$I6w_fmc$2G%>C z62<{V*ftHj6uq3jg|))Putyfi8SSylKq8w?pVdJRW+WPiLDRnDDkR}VkZ}*%rP9^d zot-TE6-F*xjjTn&(#YqGC3AtMi`hA~*Du`H?E=9H0IUlT6n3yC6IYx9Ogs6O=D$^t z_j%#fM?!6D5@llqm&W<=7AJkS$Ebb#gn%TO)DT$9(3C8}%&Bsu!0&FUIb<{i|D^~f z&2JZ@>2_fk?ZW7*&?10_sZI1G+x{QSe#d+?sX8$lw6(d`6tXimwi<_IpY}Alv3yPU#|c* z3@EPIGJcsdg3mI)jT+xZ{CM7Oynq`WMUyYOq|quCo)QrYdA)3fZjbFiUqexDv46~} zJnJH%nEl*=d8&+Qz$8(&k4ZQQB$&sb3pP9A0e@O|4%Dec0y;j8D=g($Z>$YU+%Lsy zO^%ym0p<-)(mO~f>5tv@SH-nhls^e)Jcd8I+ut9j4(q0drb|TF)@gaO^s}meA56#z zq7`enb6pP$6{`!LgqlMc2NB8S3FuF7x^mi) z6z9(R4)|6{pODvl78lI{(l&OF6DkcG-jDZd5D4Nu@XDG$=h3mv+Hi9#gNtUcz()}3 z@qdxZuy+8?&*msHod|4TaOa16hxpMC9%UvJkHwC|jB8w5)X7UfZg6wQ<)Nh-@ zn(zI>wq48F7I>1o(Qod+RrkT%(S7(aMf@X3XGo(4C$rXHItITGRPVRoxe9)ew8Iuc znQ<94P(^%;9fxpLpNs(GI-~s%bZA>$Y%j$1=cI+&{Qt-Y{NF_y`Q^2g;w|2ks$=yG zZTl(-lulVfch9loEBHR?m{j;7*gQpM7YNw)l=5FH-5;I?&>y}Z1HvB=n4%@+dlV&O zt=gm!24ZZ(`lUye4eJ(_uMm72&9-~P*-DN zsM$13#M8ggIBARfdYOBOuJ#L@52xj5(oJG5(RiMB>846nDmAVt*r-(EyUO)it4cV* zd$`C-eg<rWzm$?qXPg5qEq=h}A9vpnZE6INA>b*i94<UvfH)EJFW)&I!k+LeX|Bjl#_GmwEpV zj?QdlK@pY?D%+N{`E?JYyEfpSL(xh+j6HMo=~ANEji1&S&^TaW8p8kRm*7BvrxdWDFb#j z_u?q5iFV|C?O(5j`6hcthTzgZNfjxx@SE@^LKLK`4$yb?Lx-XRwM8{e47Sy)XT!R$ zr^9f=$%J0QQ}$w>3>7`nU$(QPaBzgtSNg82YAD*tyK#<7qGNZ+a=5~HnLL)~kt3oitx z;gu(oT~Qc=*43Qje(69u_Jc!)6OCoD?@04X$+rGnwzi^;tUomcX7#-;S(5SDoKMx` z76Z>QyG3f7P6z!x|I(jT$X~ZjO|qD!yhg=WYNcm4J=)&K{4xRUH&rdJ8NlRg~KPWqaxg^lrmB9!)KX0xV7w4wuFgrgg;5@1S&dZ2 z&<#kyWI$XlLatVi@+rOeD`M&Wp)RQ-Itj=-jod1*tc|PO-oTRN7RjXxeM8c4-;N&m zsE9PR{+oUUF-Vv3_NiC$(6;?4Eb5Yb8Mw($y*e!znJfQi@~2MmgDf@f3>Jvq-0{v4 zJeM>vatRFPlQ^Qi1s`n%uOZfFWu?*_W`STG0L}v_Y+JI&GXf4`sy-`WY1hHaFJKQk zrq!tI8zR0#@Z4Rbz7^-qvgSFVdLw^UdIv1{5N32!oN4c677VBU2VMRGiH#B5i2z46 zM#g^9D6}Di*dF$>e8ib4{eZd&IBfhrg+0d%JA1)r$&XDLCE4)PA?YiwS64Y(>hi;r zEK1%HkHTxIk}63~^!+>Yh1uobX}(H|u+kaRoK9*t*B$_f?y9_qsPVhRL{ z0B}+NzH2UwPanWRU;k^y2yB{Tql%LN{8F~?(uwVcODMGNUqtwk{6+gtH6+pIM>kQF#)o*~nN;C(_w zBbb!YkIzo8DA?PIU>e+H&kF5d2;j&a9$+*njux;!>Q-_?IXJkr(@fy@wO9>I43W~` z?(_b3(Q(?KT^`~N_~Ql}E;7N|d1Jt)CM3+?s5EzswE{9epSQUdX)|$XuGE*Twl^M{dIhIhTt~^GWR2m~ZJ%k_MKcRr`<- zR4ekFZ)+&cJ#ruzMXOB-hM-`AXJZ?X;_;7CrDRA7ZzOFjzxhSCjWXZr`t3!f0%x#; z+_zs&@(22U7xF%$lprcVmbm!uTgOhq3uOm-<1IJsn2}0f^}LX$xch> z=VaH1pye#f_7Vl2j!`q~V(PKCMMOH@T3A7&dia=Kv5o%x=59=$VWVTol(y+<5QSb{ z6Pgk074eUJ0dDx8qu#nLdf_=Yjtg{}&>9i)o9)&_QD@k5P898TxHjL{+gcl@VYEdi zo$Mc=#Y=$edwV3X1!VW3(j>(T`Mxm9I7euT+nQ}SsHz!uPSO^~OCb8~%xC+iHnxB> znVzQlZULD02ERDNUr>KqOX7%nFmr*EdH|s1`>F@(Mg$*;Gyq*u`p!*v@e0`E^%v= zztGZrQ3};R#VCNvB&Ld8M46FByzQ_|`Ul1Db=M4MW(<|g&|Z|@-isxsyAw5GGFV5R^!@KQyWW8JDwmO--#*Syd(BwBoqi996wk*KT!o19uHe)^> z7pZWWVljX);&NGfmg@aaZHS<~wvHh(hv9UE(X^`^QcXS;>GdZYah27#av2!*Oe4=0 zL;zY^Bc&t^!E@gX;yyQbBp&-YHtZjIX&^Pu2mtOH_^=;76ZbXL4q}&jwsTbGosmd3 zF#T1uUd0-fLx&DDkBh{=T^aq2dfS6?C|G(KF^-S3NBIL(VH^&ICPB`#IU$_OqRM5z zZ!fe9-)igOGrD3GTN*sqD75v*7*V^jeT2HOo~&i=ck!9ayE|1m8>Vhil0+_CGEQ6! za%1ctc1^y{=^RzdV$Aul-d>MrHIr0J6{J?1A-AG1iQg}(a?`(+xoFuo5BK*Tl#}(e zpzPM^(-`tP=-nR7F%&5z-(BjGnUfa?_5t7_fY%bN{zxA=#4`~tL*-FMUnobR4`g_( zggb=vEdIjpx(;!FWYCDxhvb{Qu44+G7nlr(c5qxi6ynZUI+~9stbUUPgY%mr=+Y_@ z+LRT*-oE^`VxPcaA|tv{Oe1I0UBM&d2Q!!krq3sm*!+H&(MnPx7__f8;R|;RB@V%Eiw?VH0)+FnHX6OpI*Dcm5|-<(FuY;M>Xj`oE&SBN@~_!s zI!EbJS)hxUdye{7Pl3nz=M)S1!4Rf36>!*^-=YPWvDNxOL{|aLt?nFWa{6igwa5}P zDk_C3sUj^TEvH-SBpl^N1%D|*vZ&nEL_UW-5u=cP$LG;53_$8s8!3*bM5Lp94JHKU zxzV?ED}lfoCS6Tikj}DkCX;fMdC%fVS&qIr@#sb8Ru);wV#)G|TMJ)}ZH^_>mcI#p z-RY9sm&ORVJ4Ix@9vWnCdrRKW^XsiotL*ErbaSk}@f|22@O5Uj{cJ2GiiQW4vO59r zw7}k{VxM^aTr9NJY@z1 zmz@z;E>Avd<`n5FSTJsp3PBn-uRJ>zE!Z-ddr`-<$`JT_arq<&nkO)uJ}gB(U( zn-hWD<@a0c?$*XzI3q zg`U9|fWY^90KDoyv3FX=WzUz@uOE@m+NPLz+JcNUNmROi|H4q!Li8XTB&VWmQsx>ug97C&6NqkQh#EiUDE+!&gx zxh2u~87Z45e_Qhed5me|>Tg2yi-E6&N)f&_3P=#r1c0{$2A~|=nzO$!@RrzT-CIcy zj!ZX&jBUMtIp%b#@;RiG48We}U<|XpD}1P2tOqi!TNo)rf`u?1Y}zsTdlyY{XrENF zGAL=5c;hRz3!8pgXS`d*G@r#NsG?M-G7`8&nNS)%xDe&Mw3+d7CbD1D{V zJN?vlf!`(k1N(Xc0>4(WJ_CEWTAX)1jgY8uBbsir%1v2LgfVpyuL;K zPjWNK@2y6n!(q{Naopzlg2l&4^H;R!$f-lgLAn4Z4-V?;i!4hTx!M7{)BY=2iQif& z@vQZ#o{%kIos{==Ts%))rxuyBhT7XNdaXp`Uj>~N5cFY|ZlZbgur9#xJmnOSxYj0F z)Z`~8%+OHyjj!0q8Ib7^4Wsu!OdY7@2{M`F&-Wce>~_sWQ_<30Va!@q{(mnl1PYt% z)vO3UOROv@M9$pCB|=&=q~a#dikAKBZL@Gwo*@$NMkI*8s=CHk4+sNw_1)JX* z2VCt)i+E|MlLC!nGO9ZUXb&espkuOx!J4HHBXG(;6=QEi(~cQEuAm1284UEGB}cVkNXPi7t=`gWEDiH^ncnzglun zgp<@IZ(CfJ`hm&6z=NUP2DS18I45t-SQ_}Bc#LIu)g z`k+{=gOHSX;BGwc-4RPo7cBxouZ(cqx?gI)loxkDm(@mdnAsbl3k353@Z&%)%!1Jv z_b1JhQQVsmrESG1NDQhByrFJ}dodhU9yyqbwLJnL8_j2qx9tPi3!yfA~)L zZJ@(7vb{i;RVBdGkj}m1=L>^Nik%sT$Qpa5CXe)L6$={_jl4spH_p3Ge6%)I9-5oZ zbU!v|?jPgbov05rM|`5(h^{+YDY)Vk1Sm#Ih)&R-!xXwDCUxJ0Med|!HFT2zg%COaMzCBcHr;RjUsL_X?)y3kh7 zn@!^_*bnzU9JpN5;S9&M^K2QkwK(V6^KFuK=CGvvJILTXHalC3Lp<&aT zH?evxa%_;~Y$-hY{(S9H;MQ2u=ZI=w-uqMa?J zX~Sljr5H6SXp!nNcV3ZsU)jR zk?7*=LJ)%hCVXW81V&&RNBKu3ml=AgLG$7drV}0A9kNx*l^#Bi5N|bn4R~|zW++Lz ztk1K&ndlSKwJgS0r(Wsbu|Xwj+|)vmrSqFgi6{GQ4vt(nDMrO=7ELSJ0>2^?#~nkS zYI!$DOH7Sevm2@S5=ZVd1R=0r#)4S#YB0!hB6~){Lqi{YR~CusJRAp(6SPtVZ+@~c z!$B03OV5Y!1my`-L3wJ^@7DJ*KO*+0U z^$j)My%qR(DUyue6faDQ{4O(Hz7=DF4KTrd&t&6RA}8!crzI82SC-{|Qg{fRLRQbI z5V5N5Zc_A;rcZ%;2<;>L6=fTvDpKTEM5(JEV82!r;sQ>;*EY9vUMHI!RDG`;{q5f$ z6+zSg-Jb}?bYA4`D;y^AWx|2~U23ZxT<$-Tu7NSLrdh_eZQHgswm00^&c?|TXJgy8 zZQFJ>Ha7Ns-tYc{t}}CHdb+Et>axfVekKVTRTvOSjlmicgc+O!FRg$EMN1=>)>v%3 z;B#Hd4daS5sMvZE7PzvG$bs z3aV$VzZMm&*1s4F@W9JNOotq?MmjqzuN*j|qU1HIJTe8Qzo$@!AL*yxTNC_+zH$BK zxP)eUU%p;4?l?=k0q@mWS5OilOHq<%@?wJF&=4o`#Tj$SG517 z(kmgF{Q&{gC9U}f4a#%$>a$?#xrs>Quj-lKP6mrwR#X>LoDLL$K_F$V z5|q7g_ewA|G6gk*_;3G|_!=|US*-H0IQJjgCz*yAijU@p6{vAsHUWpkbuG zfjP4g)3Oh3KE3lIEZ>=7O|lLKw93o>Ab^fVa{z>-{}k{!C5}azp;96h+ZK(IUZW%g zt+y{0>&o)#FN1XQ?wT;X0&UEWcMhXMtjnmlsv#As5mJoQmCpdezo7;p0Jd2 z$H9niA0#yxrb{fFM~M0iT^X)!9EX%lP@5=>5Xp=@K$D*m4YIXQ?AXGWvS;`Rm~d2S z>QyL-Wd2TFS`{AT`@=qSf< zp8FAmR)H>W`!kHYZQ5Rkjpoq+i#J6%sV@zk5e8>SIs9+DI1@L5vq=g|74#__q&Nc) zPoPNKJAp5soH>$z9R7>h=V+OQ<#ZE z^euOzdjK>*lLUl0uo_4ptpXr)0YPw}X;3P|dGq;MZ5-}9>}M^^Toe$dYs3@GnHkKz zy579~8_>F&nY`l(n_sR7zky-m6k(UDAq+@?BsfR-t)!!oJY=B7`F-A$j>Vwpu^t zi}CFH?t}yPCd|FuMJ@4=w+}Ieb=RVFai07I5&+2v%-D+o2y;N+PNc$ktrwjXoWPp( zZS^~u`1Ya~jc*@JLLRSQc>#jF4Ujtj8A|3o3&4;b1_*xHCbss%rzdvwwemSm;9NoAl zoNy)F`(-wYV=iHs#yf2!!u}l>>xR0S!3|F#?|8@@^oHBA5yNXx*2j6tO%^`!sp^;u z_kMF%wPH1gL;}12bsS|Z$-d_Mld)C=%BYq(q>tUG&B2~P`%9DLhnePZ-&6Kq;f;-? zX~ZkLpMBK^ZC=%k#Q(_$A-n{9Om+0{z7uhk6~hci@5w=nwCm02m-8*H1tVH6<#X(U zDMG(DzCP6^YqVxlEz<3d76pH&IVT~v``r*hdJIWKLhd3nR5YJq)tH6Wu@~hE3uCF_ zthB(y>6HW0%pD~%dsN0EZi}d2{b`m@$g33JQ^%dXGnWeDshmNWn#k8ovsxijRrBB9 zO^-gMhek{PgwwHj60=MFJ%mAB!m!D9(rs;<0;og<9rM0p6|EY9D0uwr&1c?V#}Pph zKL=!*rWlgGRA(g>wTQk%+YEl6(ti9WAB2by@FCx2`-5M3!bCI?TM>mbza@vAALbl1U7Y?Mr6o?lc4mQ?%#Je_Ocvu?9%@}rZZz@#c18z{WG+Q|DmJ&B9{oxLVP{A8b-{AC8p4{ zs-QSWRaUjzyv6QwvD!ESA22BtsR1Bz{4aXUHQ<2cqnRg(MGi>6`0W>i8mX>UqHsa@ zy#vFrpT~&4VV+dp9^{QRU8s$a`!$YvPTb`+!U0$+H_Bd+<}S1QE?Aa`&hqTU@^9kHYcM_t;r%sx zO@j5MMO29<9Q^2aEcTZ!C#@4rq~~H<)tx_;K}E1?bqw(hbP7cV0f^E8ACn$j)hgHf zIbUgY7SW`7ESL%<$~voLP_B_Oaq7eOO^Pv-_LU}XK8{;FvlIU3etD&=HjYi{0vl7= za|`^*mry<#T~5e>ymF`x<*V?dhVQ6FI0XaPoql07qByOtDaSdM_5S4Rv`o+gKL9>a*+q2|qv*gyK>S zHQUh^To_#+yO(30vGogC*PP-$xwJ2`tB)t?7Kqy#m%WHuHfJzjH!~IGmA1f2o5!n2 zxgd6V-*+dsh}>UP!0t$;i`^Rv#+hS%tSLN!J*)Et^w}FB%kry&z~WYv2|`26$^xCo z{sIsk13u<2jld;CvRwQah7df#i^yrHUBEypI4o}gb^;j;!X(9TI&7rjMP3nDuX>*> zhZG~F2gf;=wyc?h>2glOLf76#*id^z+n#6wz4U=mg2|(p^}lFt%#u$Suh#s6c;QQS zo%SfZFyP0c{>}O8wS7yxbmofKGhA4Esy=-%0|GHP;A0MbY<%@+snL+)?+27=L)(5+9k15**MNUv z1wULNWak1v)xQeqsvNmN^YJ&%w}_86SM;vBwa0sx2NbFT%o2&Da%4ARF;quZg9IdB z)6S*d4zL2*TjP6Q7dU9RHZ8WO-uA%!zpG%3LLT6FvH?2uWyIU4HcKh)Ge>g9LH7W zIS3KMTu>@rM=0O(H+wl~*+z@Llu=-!e_5I-AT|GSTW|k24u+T(@Uh71>*FG|9i^|- z8jr@-@esFnl^&#wjA>;u>DVJ8L;b>rk=Fw!54`~TQ%bLYK#Nj|wj%|pC1Q83qw~uA z4-2&bOJiRk86f||mW96coJGNw<@6hCBi2T#sqlwfV!%{X@-@|8G?xPPA4ZCiF?N4T z#MKRAto2mbhGXoCI<;oUdAqRtAD}IKhN;4cekV&6pRE!$$94Xj) zB7Tl|NkUHTGZZvTa?)Q?+rcYF!HdL`*yyq=gWT#$9u$f^01&Hy%LOJ5z6fs!k(5_-8{RV%A_<28!PqI3s_hPU=a}ReDe&u0S7UnWN%lq;J zxdJtA`VLE_+wOJ$awi%E|5g`NlK3`9yQ)E#*i7y+68OKq2iwaYs+mvb!)Ha%oo+;- z#<=i<{vlo$X~KoEqWr#v{D$cUG6aFwR38vF&W=~CM>O2%Or>xeFEYVqO^cPP>LK^N>FmBlb#n{DO@(S49X#S#JFv|LWFIhDx@_ zyZ=v;6LBfvV*yNThw}TyJ%fHGz5ez`JmG=5&-H?(AKbRM#d)_e zL2*-M${)AmmJ5WW35!bJ(;W@imP9c`)9MJ@_55Fc!tbl7^KX1xzeQ;nE@A5psc{0a z9~gduu*U6(q&M*N!u(O}A_E9#2?o zim$Dn8Q8T1 zk=zgZb$amEj=MsUeE{MI5S3(fZaYMD^#`U-EH8Lurj_w4`6Z_o=KDzT1cz|(46AR`#K!lR_`InF*vg>s#c6=wSZE{lu6IyR5 zmVktyV zpnJuu?R5%ov6KaT9AqL~^9juJ_)^qxBQbiu6Vpk^4CsX70R@4)LgKXy8jC~#h25WM zceZU8lkH#wgbQ&&50_*9pPj0kS4|iK;&%annVUjU6aW$m5F~o?8K0)wcpmHSSnvZ4 zc-CAWl=q*wy}jMRVYaf=q{6a_!_Ru+_9gK@7Ju1j`QAv;thY>0&Y;I_97|2|p+^|Lyd?@z3%H7X zcYm`Kzv6|=<0x1TYpz@AF3j*FJl&fcvmQtUUvB+4bZ-q>X=KNaMC8phTJb(e`mRA+ zra(UZl`n`q^Vbi5QM>2Lq)@%n(xP-b8(&+Wzg9{xa8Xd_mmSQYw5|qUc;*4E^J?8z z*1SDcu6{(x0t(G2fS@jU)*$|L+|`OO90X+rJ@NY^!98Z>6tPH>q~l2pNXR+_AW;B6 z39evm4Al2T!{qbKAdjBFg7ULe4u2?Vvdge=BCk>EyB~ocVP%p`<4H)%ybylQ=htrIZFLucN;daM zO*xbS62_xTrDx5<%|?1zC~^is;sL^Z!A&i68dRY5kxLV!*)4)N_sqC$IYM#YK3&g= zw-xmI%g|`U$+1t(DdmrMeGPgRX;(b7Bn`G4VkV#8!m}xOBD~=774kNgTiqgWaAh+w zoScDb?gQlwg1kB2i=|naG5@nqOSpk6$_rK8nCHgBlgKA{DVCy|Pxp25517=ocylT3 zT1XSvKvM(>IUEFY6cQeu*PV-&GV3&?II9 zM&VrmXFz{kpI!1y&Pcfvd45LhNe!8)A6=DNT;lF`RJw};xdqf5?CW)*=okP=9w@|} zLBXZirXETsheo&lb)mkJ@3@M89p*V_<>BDsv^t@q<8K>3=QK=w+;eI5syN4Mu&CsY z)@|cVuBA^6Na^{atc%zotnH=kavFw>1snAwjXWgFhu+XT{G5QzylhTFBf)~3gD?}m z&L7YY^FoGP3#2y&p-F=M=yy4G$^%NC+(fy8GKl+TuF%z;sVl!+UsqN(T3l#R{S zD|VyNiX@e|20D3Yd38jJV-jbl{(hW@t4~e*fR1c==~vS4Uide+a>R0ZUEOHlmp*|M z?u=R2YCTpy#qGe#W|c*K_dN2&Rl1T%m<|~ZJJx6HNMhEc3myatPLWUmQ{3**hg3O} z8X?B0*i_=?-BsP{XnBbt4l~2w@8uRW;z!OdOYK>?*Fp9-yC+$>6*E-1`Tk&l01Ki0 z1s)WnBE46h+mPYU6=OJj`N#|hJ!pLy#cvJi%2^wnli)&;6#$YEu=B%C``PlMeXnf- zTHOFfO9kijT6bC*ND70O#6B7y)FA${Uh{a!&<`aRbK9iO@ZNM+P9(?J_q4_Ku*%D; zU=Y}W`;`!B4(|cUEtzSYN*8N-*Jry-Ua^tG7_mxs8aafPz#itaf5bf!VRNE<edTV>PWOy6H$?b)t>orBhqsKzQi4h3S#Th-I-*vdiV zg!^8X*JPsHy8wrqqqJaTMC}u=QZX#qgX5OEH_r>QYDI5BZmmcz8*TI-UkJ%H-~+5e z_!pKL8ANMu$4@r~2=&7|Z(H5g%Av&HdlBci8FfEz#^{RT=rfK|cx1MJ=*E^t(7fSS**W+c(X*4%)c9I$l275Gy;3Fhtuhg%sMU1e%5 zVA*^1OZMa2TE%J}7Mi^Y6}x-K0G2F6HWvR(s;bHE%KVwlz^qpZ(u;-9pS_d>yqes* z6?U|{A*-Ick7WbAI^zCfK!*u4BGO553#(0dV?jo9{PwYyjU(y5GzTdhX#P_ic;cE~ z4s*j`G5`Kfh~x}5xgIpoq$_8K;=D&83?#$C+>XqjP**PN`DT1R_~iQ^b4>gGxF53uI{BA45>O8&bZX-4h7B_MV<|Jz0VUT$z+oV4qV2z_4{z6XrprQOL`k9k~a-N$^u&9 z)Rk9iafZF54(~k&EqR$)_rlxIW6sAttIJJ+;M_~$(-VBN%xr^ZBXtXH{-*0%7)VV@E9S^cC zP(eg48NBC^4Xyq#DwdENyz$tWw((<9+=JMhQ)A`py|Vg%MW$+|1~49bru;)#E^Wi5 zW&?m|8%|B*JuqKe1K1}MQZC}5^3Sy9K6Fon%0@)Tzs(mw@FC&gi0g0vdk`Vj1$>|^ zZA9R|LML+|QJ6zgYxRcg=JOMY45JpAY^uT;m0Z8Q9Fx9ellxG4-W5g_(-NcQgnq%n zYs@eVV_W=M+Hl9_nq*qtMx8B0$ju=C2I_@vU81-a_%VlQgg*TQXNd4S6?PxmV{Qh0<} zXU!jx-NXjc^Z1}O2|s&1AFmuStP|7QQkqA?icAKyf*2PSUoS$iGKkJ|u?`R-g_ zoq(Ds_Zs&a*8z7r*YwLhqy?;o(}OEVEtqQfOHA8L~KrdF1cf7 zrR(`-`@0pQpeOPI!YFl1w4GlByOl(ycP&b5g*OMG)kJ5(9lv#vR>`0CBXGxYy}uCR z7{(ZlMm*DrnzKLU6ZHqzkESUog~ zoheK(c$)9f*?+#*SD*Au%6TuC23@6=Cws>V<6%qoK#$I=H+gg_!6lwlNa+1snR&j< zP_#!PkL;2_A8PRvNYAuhjGKdT+ge1^U;;y*Ror#wU1sNqXk90rqb*HGYGdRIZY2v zxuVZ>pP+`3BQsvtHA;f?PkfFUaps}O-Mrk#RsbLlu}C{4(0G)teK3G|jd70a`6uqk zg9y5G2r1v9K3eI}%^5cb*I01u)sNwg5T}O%j4jY50DSwZ-#Ycjwdo~LWq zGvNV0*rV}zp2a-TZNEbQ#PwJ8af5w~QiN7@wUqFx>N2Q0tXDASe+u%*7(mS?F!HU( zv;%YN6em14*&PM!`N_j^6S9MUQv`MyS~ptmS<`V~a}63!yh2(KP0yMoOlElqP=O0I zc6Zch8iSTU^L?o&0@mVIxMeD@_DBo8v`|QMAl&}l&Vfzi^zCAqqrO#P&SBaD?%q(?lhyA2V42?4txJ>rV3 zy2+8PgoOp;M)fqC$@)i)PA!uk z=QG0G{ako8qDGBV)0zFy<*iZq`D4O01!o{24;o}d&$<(aQk!n2-U-iV(cs565|U

txOKz97+K?u0^0}WlnDdJF+jp^CdGuIMgt?x}>7P06S#6KcEL-M$EnNPE%(nN$J zi-z_<_o^TKky-5W-|Tzzu+9HEshldjH*lW1DwBDNRy#qC1%!V8Ql93d5U|}ML8F)} z%+K*NIzcg%d652Z0v%c4KXDK#fW_~gsJ9EH*gJTNBbsxBZ;ni2 zQ8|i}jj*deeEergk)80DUVsN8`uN7o5Oan0? z_+*IsQroKXQxzeNDCO zoAU-xbAQ$ecL0ftlK^DpfRD9^1XgmtmLp&8G-*VSiqAevsZWmt(4NQ^T@DwEeIZ1Z zqhwAy!;=pBb+tKB3A~%vN0JT#J6ms7D7_QUJ1b1PfwFZuVnvqc5;U1Pwmlq*0Zx&? zv9-QlPVEc}GA(~nJn$1tP<;WrBthp=38g?0lqIeO0mAY}ONSRqw1DsTpO3277$#tp zcxgw{kLrzVO~%Jc0%IBlb-MNNUCx=j*rV%niwr-*L`ATKSGdjYAcJ+%1HZUizFWyl zNUihfqWuS~{-d-boBp@uuzxM>`0{2@2C_r#g&Q}`VO=ht=5#%7>|pt5SUa>W3xw$L z&v%D*ocbqD)suu{^Tw5MX@h1W;^4ycwj9Qu?=ra$z!moO7^PMi?M{qgyUQCK?(ka{EH-EHy1bUrL6iyHkuvR<$X17k<&H?n=`aVKW;2OgziI;8}tne zIgK;xC`-#dlkkfqAu}gSBd-__zT@qU=O))KG-EUjSj6G} z2UG=F10Z_D51K78CSp1t`#lCu}H4Z+Tg!IX&P=F%R zJS449GU_DfEgOwqv*2F_coupqRT;z?2`hryLxMxo7_()^xC>kh!%H{!(C@7aINhVe za^CK=Ze=JEkzjucrx5#d{>CL9daoy!l+45jYK?Io>!42^%v$u2f8#rgvXj<6B<7cq zQdw|!YkeL#MP!z{0tw{j^qswk#VO0Yz4wL9-HTb@(KAAl!Y`f?=je$37o_$%lZCF- zc8SbjZFved>n)BHg`$`M+?NEsR_o*_2eh>ptceLQrxZ*GWpQd~bW37kIZynWv zjn~yzVQ-kXLm$>OVQ4;aC*QNQB6l6Vj7<8fu=yF0Tm6^sgI{YUBPjrZ5&n zS(_t$4GX_dZpB^ah`(0`CF!X=`+L<+Bi60UDZkuhLn%#qnQs7$F4=sz3jFQZA(>)^ zp|@=S9^G_N_wYZuR^$d`+tX`|@cE0_Ifg-53sW$m7@i37;}Y1r6maNYI>B$1&eoHZ zhdil$VRhrG4j28`DSR=RSJ(2n7vFu6xiMm!l(wQk8_yE}a$dm4%CoyIYmfk#=0rF0 z0LW~%P+V6$M3V?BcI<4t6@egYP`qanyw($JYg#euuG3YO3?xbj1EW^#CIaf!8Vfx6 zk(6?5S5F;r@Pan}`QcqW+Y-03Xv1}U^En5XgscWNd7wH4z7@k_p=t-eq%!5+kTk;T z>xyr?LTNsd{?Wnc8Z2qwi6U+YCWHret>g1Ax~;8wd}}CpO_E> z&L}^YT3_j#AYlf~p?p*kq-s}+vov)SkF&mkTFGHH0Yg<8g;xr~p?wfOC%LhA8Rs4k z!R$i!d;kBA(I()3>hIh}wo=N5K;->Mnfy!z*8H-05d;cjM-oxMRw&gar)Tt7^FL5gTq0z0n)Em|33YBo zupFgjb9u1C?y`DojXBPz;aVjntop0*k`c~I$x)7PpXPHBVr64}3%odlyneFhN)5YR zTVK5~S~Ex7bg&c%vu*dAKH#xt6SULfgqr^nCyWSeo7p&uM`b{i444&3zNZrzEFvNcx^s zjW;v^NcXT*FZ$zJjYxNdlXZB&jjLj~XLM1wWyS3g7EQ6Jd7d5!OgHyPg}iMfq>8YB2?HKGQLVB6k^eF`)Ry z;BPk?>WQk*!t<#&S}v9g8LEi}k3i2^(Z!X z$P{3j@wH91Szc~$%+UQ`@{fG`-~JoH9znw!r!r|WT%18 zNQwy;w^+43HS{3dmJ%mB6(mYx>M5*)wswG@Np<<--etCB9O9|rz{IE}TMgnWB`fb) z2Yu?x9QZ2;nkD5ZXI@OvH{6kiuDo5_={^v*-e8!jU;$MJ3IQH@!C1`qz$DYYcAIbH z%g`R!@V9%7<2O?iZ9hQH9fpTd1giS7KCFkJ3UlEk7vMhqLqRn2gc6&J$FhO8mKKa2 z#!%}GxY54*p3%ZzpNA-y1eFd(NgDhwUq*odBGcMhEj-yscmHb}u-A&#_rU*dDIG`S z^T!vggf2s!Zs?nvPdg)%F*;F?wqkMLk?)VtubTZJDkr-eTdx%W$mle>rk7ACVL`vA zlRDo~1?^V$aRLFun@iWogJ7eM0;xNvhMs1usLJcq(8^ErjHNOkj(Z?noiS7Bc@Bm%bl52;`d9x}p9hX#W@ynmZ=| zIC$FL__}=Pn&U+Y;Zi2_E@u`=F1L4rzXNCiANlW9gMtGDrtYp5ldg!&f*A=AEw4W< zOIuC+Fq)vSxtQ9ao2R-FbGfAQ^=o$PEAQIo z0$tm6i391eL?}=xCDGB`m$;=QH6f$WayFrAc)C~e9uPcPwYX~3#l`8;Q0~2v`su1~ z3FoRbG*4$`g;wk8U`Fmf!GYNO1iLT;=_HG8JWzr9*PtbShsqk);SXlNBlu_ILDu((5>$Z|B#P3@Yt(k<>H>M0RGY6? z?Xq!74_~rt@#J1iKYy8{k`wW<5&nLf1MXuO#|$eSed}P%xl+MNIxLCGl6QdqfnfAH z0$kUTIJA7m!-{=_!*u1i0ZEg0jB_4g=^1sRI?$|WHx28@HeME&4b^W|rZxwXz(ny1 z(`@)YJ@YqLv%)_E^Ze>kDCMQCSKb1Cl%1FnxH9VrfOLAaK1(^o(~8 z*)P#p(pO7roY!yA?k63kqjiO4SoOKsFpRbs{ked$Ba^_yqKE#uxH+QS}!734(uR6z_NQGKvSy^Jr)Cm zfSivTlj4Lpq@2k=Lql?}=80H8HK!}ZY-JTBsW}#nE;Kv8w<7+$%!qN`4kP3DtwRq$ zd1;v3de`;b)na)%=j9iiL2BW<(W9>AeRGhRY-!va}GcNzoLdw+DSP=|yK0*wF-+XIVJ+l4rYuYjXB(X`hV z>#2)KbK^h4GK%_tnltBS;D0)T-0U|S@Cxj%<20R>6@Y+7;xR-s;t=?Jl$l5^CYJ8zpG zB!aI14f52Z&V_#K$eP{P5JY7=620V4W;m;aF&A1Lzi+9Mw7j)`6F z%zSY2AF&k02UtwD=8^fmG6CWU2FS@n63J-b!#ru*b1)W)yd>VRm zm>rphc;!AT2Y+*#I$pMctMJs;w%3e#iY70cKV=C^4|h3pG~)$268NMI3f6o3*3r0sLG-(=kQ}wNiLkyj4R5CttHd zA=$E61S8mC%I;G3adqGQK)#f=(r|Q1YDl0@_9{2hgn0)uAgYBx=0lOj7;-?wQy^LR zRs&{dKD6`rInAAX(%7 zXIJ)!goUizdJ>1h4sdm9#dHJ1e?+<}WE*zDP(`g*ZGSSKNI*lpVFojKE@=xyR{6mB`BEwj5$Q++b|gQe9`YReEK^%>!&yXR4JmE5wV2%W_6%}%CVh{OM| zwG2}`sk^RVA&^1vFMw>MmV50H#6*u^#5KEBx799)Y( zGFN!j{3rG6zsfL58*u7_O>?@C<|ca@e8);dg1WHG2OccKzXfamWBjgm%9S7<-U6*W ztPG@g$*N?oMXBQA6=Fs9>lJzk_DRr?l8LHk%5TD335(+-lbjVowqC@!0Aa^FKjQb2 z$mK)FPqOZTqbpgX-v$fP9tTy3T0CMEVJk@YICRK$=9!;H>*+rvVRF`HcZ8>fL$Car z*#On(!LzSYnW(#VJV~G(EGC%=7gl8C6u7WfSTS?6VQqny?!-FKrxFN0Lm1w z^>F`_v9JE^ENc>hH zRT4pMqGEcIT>-kDw#I8}(;GWP-Mpee7+y&~3MF4_b}8l6&6~bSiVb^Kw1cYE7SnW3 zLCbO(ue!cbJS3HE!mhutXB~>3R#81021mfohYfXA01+bA7~enj_NVK}LbJ9DuBts} z!XA*g^MQyDq2`&`1AKh+08sXTd#BvX7ea)sN{>PA&xd>pIj5Q`QHvtc!g5-nOTCZD zelnd!nc$7g3)2O1Zcw3om6c-!@sOW|Wry4VU`(Ax3r(HR7VMp?uI;8YTM-&gWzu|P zsD;#j^Q$U$;)CYwpw%?2!B*R(i|FA>t4=aUQY)RY`upOSfju%(RVjyO+0QmHehFPk zkMh;|dmUqLy_XG4uqL)9b~zVjp3new&w4FYIxcXj@hzsDZQXH7g|gCbiieZ01>p2e zJpkna2*9HO!zv-1GVP^Pw+)Q@ie*BjdQlDQ_lB9xSj>Cw*=}aTc4Q;guLo`rn?pj8 zr4LxvmqA;-LYY_Qy`ydtq5}9aMHqo$+3=9VjSTFg9lZX~ZkIBeZa6z~468Y)hKav! z2Sp4bMk0?}$Nrqm&UME{A@p~3)THc!ySZj#_nn~@SmX(^_A=cw)zYM1(sDv5qWnpoW$@T=f9r=( z(MO$GIara#BMkLSTbmiqe(t}j|fB=b~Wa-RJ4yS51D^+Y=ZQF@qd;=+~tGj-5 zDZ@dUYly}ke%Vlq^E1wtY;v!zPTaUIY(53A>t{KA$v-iw+zrafjHX_$8a7=85;@1`01#J6+X! z^aJH@f=9OGOH|u>yYh}lp{Z~}bGe#NHtQ@($xZ0oyY!6??e^NCb`YglsbKrE$%b0|G8<+&rb>xl%Sv~5>N=Dv;VhZnr^DHM}wL zuAci&0K`8Oqx3Rg|w1nRBt%YF84=o(HX`^w6x*%zj5oa(AmdG|sF|ZXm>IwEP zobA6VFd@>SJD6vL;2!+zaiYtI%RC<~jZY-RqsxwGD@ZWCMH>#2&MnS#ErBVz-;~op zj%+Oe)%L%0I9X|WQ(Sgis_Cm28R0VZDu@*iA&ttF-is%U+H+8S=#|nPYRD+@9Z$pX0a3AdOfWj+8QZU(7{F8ItxRgZ z2su^<-7TX7>|7@rie#fOcKI8G3Z1jeww+85{?{XP*xxNXN>y~dul+ciLeU%mY7)?N z353ox*N^J)Hn6b_77?s@YOUDs8pgdZs@f4gz`ZzPCYM3zmKoE_m_MB!9@wwrh#S}pw!tET6p>afs8 z+B(x7x}?nAG-Ofx$cU_T%lNx^oQCK{ytY`RDVH``Ot^Kxr0v4xEsSRn04vUygQSDH zC2r&~MJP3gBsABP*>XzgU*mD0ix%PvTJT%h8zNZCCeHAoPN`E3l)SqEf^-#)gG^c_ zRXH&jRsr$sQ@vyQMYBw|x%dJTqvsZMVo`32#CGx`?S*iI`JLO%L3fE8VaBLHv*O$_j+`EWO1qiKsUZJP}0JSXO z<2V2HP;v&YE;UZHr;Tp?gbeyDC>wl*lu2te?;X{&+sh?_Sb`J`x2FfszIAEI z*lrTU9A$eP1UIWMK2cFfCg)gHiybOosS-w#}dpk)MD%9|t#d#KWVxC!} z$v=g7z1*#sJ6-euo6Y=XB1(IK^Q&xFHgix+l$f+B?7B%&CRH$kPle#J&Upofh^;|E z)~CLqP;)FlZ7?Ri)Vj*fAVU=&c}{%8X~_H{ydpq)dq^ORWQOAcV}oo7fxPDe(4fm* z;H;&qQQ@0}1lc88d>D-7UnW^F%mW=`xr}RI&}6PcG2e4os^cM?}>#o~g}v<9IV+)H4hn#}dwa|IA%`%YdoaRmZnm+R1Ts%Q}}W2>1uy2WBsF zp-3qJwF@{&G&b`??6+CINilV0bpS@^JANl9Wy)1z=<_rb_(`HvONw7J^Lg}SDa+%q zk=!qG6mIDICvJY5$=d^UCZY>a$opZeqxX8F?D2 ze;hPn82#Lh0_+2rd}7~K_%yOY2ldx(lG9VB>snyV@}I6f@X0%Z4`?t@24&u_IVbrq z&B+eGAHf`S@wH&9)>nP{{3iYMUl7cbrrpw9#{|0qb&GiDcb(oV6?l4ekrsi$2l@?0 z%Si(soH^-zgbTj3WNz}y8@m_0{GUkkAuizNejd+G_elOz!)=LUW|-CCZxcl{-D$^i zqtf&M3|>OD@j1tNW)LiV@+Kb#RBN&QuKpxs)L^jR26vQoOdZHUg?dus@|7=34Mi;% z*rG`UnV?5=L(0rd%{$|8TCthfUQVJc^|m%k=IV)K+M{)K+$)9+8<6LAeI=ahLsWga zk9YA7rXhhjwM$s+;g0d?fAXlCCUE8P3{fi|> z$~GcAE=@j9Z+{1jb{`>Uxp~>5mv=_hoO9l> z!@kaDN`!CF|J8a;K2~w(ldb7}-G^{weM_uh!oI!FS0#FGvK13dJcYyygZ_*B1WH8h zVPDNIr=EzuoAWr}h^z>&%F#|KTaUtE(BCA~VlxL2YK`6`xfv zHAP@0N)H8!q^o`-_y_h%^9&fVKs(+OO-vj(d#6H{%&Wl({j#?b{?*4D1XaQB*T;h73(0q$!RzH8_7}5h$BjGR(~E5SM|C> zN-YnrWOD0kt_h-~G?LQ379z*VoZR{ykZ(s<{`fp-Dpx3S2|z;tE`Bne4We0GXT_k9 zec;51GuHs@>$w@Qu~?WDeg7q|SRJtSeT{H{WBQBlQf!>x?$1-ri-A%KI(!_5!_z|@ zIBk(A`5lxnAz{43mO&LtIA7aC?6id9y-*N5(p}Kqh<&nkZlng;w(BoCJ$T=|vK3Ti^)6Au@g z+qLBNB&^S9?T%ru6KP%8#;rW_NR7MZ4>m}jFC^o--lzIh@@N6E8zs$FLubmU?mbnR z2I*mkFF4Ex_@_##LXjr`8cD#%s-*Gnbw2KJ#lJrb(CCC}ka1SSGPK6sduq0iH~8Wl zQ9lg=Ky)@uK)qSLQHOg!93UZNHY%>pld+G5=mw=f-phX?$gZS`o4Cs0isFFu^R(RT zr7LlT?KrXKKB0#RTBO@C@7OxxU9|)c^)In{9bfj0bU%p4=M?@FSE`BK)$@|bjTnai z!S|&;*;6#&3(c}~LF882Hj>J{Z`IA2b zF8&{x28{y>J--)`b!~P zeW0Vf05;o~u}3Kq%vHR4l@N{o{F=U?{7RaMn#Af5(f@ID4eWU|YdE&8#&*)!wj0}Q z8k=uy+sPZ-Y;2p2ZJQ_G`3L*#%r!fEvmIe@q<@^d@uZg4ga;PS4)}C32mcepJ+lyg zibN!3Ji0h8{4kwVZfVtO+qgjxz8NNG{{Sq+rPHYWfT2qv=?RV0)7ZnZ!O%57(TmKI zWeN4xm&m^0OP*@)Nqi|>qp4TBR~67=*hc=$B@1&tJb36>l|{%acj=iqJbsEa2kTS3 ziN6BBohSWur}&>708Q%K@vSK_d4X8o&@zrr)YJG&?YwFa=G94S<6kSe=8F4yU^19m z6~zdgzD*kNv=*fRgMgYlm_8t$hEEU`^ASc*s(sFKcNgn7$L49%kyFp_#>I0F)v!-3 zaTbW7yS7sUaOcXm9`3|~Z7HOUu$`wg2Ar+Y2tr;^tj+9r+7#!6ix{!Cs~cTz`A^{I=$up9 zOh&gU*QdMT1?ptIIvC0lt0;wDrVVTmcQLFWEgMiP($U||(7zLG_ddAd{Zk`T`|&vj z`#=tDV9@L7XRfO`9JRu;OFD)PT1W@jVRT2OW zeT-L72pkCs`t6?rN3)nu-9)+k?^$F1DUi(E+kJhZM2nJ!OO!qh4C`Vw`!SUvHB2gi z*y4x9Zy)^5j?EvVmtUe~YoheY?wpZ0LBY_#EQ4XDXmO!3*}`{yVf^ipD1V<~)1ubM zIM9kfLsbjVN~E+8l1Yw8=jwdvFso#x^3t5f)0&+kBMtI}5Dfj|_miFH;p)pHs`J$hyG)9s%`ir$1O|j<1 z)z#)vh`^gR9iOqSjj+i@&Q>Rt^Y{Se%=Ai~9O((umV50>dsKYVW{geu=;YTU-ypWr zgt$)Tbw{+Ngm8>UX`Ac>`R+;M9*a>TG>DDLH_?<%-M{k$y+P4s%!Im_7}4MuOSyAPy>Q9*Z<|VeT}PMM zLZ>@pVMGilk_4pvJ+|R2GM95)6%esG718Q3JO8i%OQ+6p?aIsW76%})K;nQ_&zaYN zbv>Za9ssS<|9umiRTPJxT8m=f2#EVB>W9pBC%c-F`)ep;Ctf+z1;6uV*=dE~tgzNT z8nn02L$vku+b$?&%OUn!b}PthpP6wevuE~`8ow$cXZei<g`Wfc^gQ%2(1!8norZ&ES0QNwj{`n{A( zNv#C>Rt3h#jD$w!FHe!bVA~V*UhzkWCNxeC+Sd>NWQa_)P=3QFj~ps^YwA3{m~jfQ zDE|OVFV%t8c=7)RCBLW__j{k=PL`4TUe!|oTF-x9d_fs;frO7=F2ZLp6f}aMBnImA zAGrdf9L)cC@9+r7>s{6i>CR-4SS`0H*Om6uF%?c6D-K3J99NF%p@N@FbO*w>NzLuv zCRd<;JPbia2`nhv9>Q~R_|^E&auDk@{z`x%X?`A6{T68~UdZ~47hBU4Fv{8fv>AoJ zs9oewEj}-;vDIopo7{H(d4D&NgloIG(Y|NbQyr|Hy|r*zP4eugqZpx%= zdv(p|ujc%a?37tqj1jV4?S;E$Kf16MX|)f7Y0ZI!`FgxU-?W&g4T7;X*1?P}{|79~ z2q<&~KwJ3lZp+zwx$Kq1PJ7q6XScBvW|*mbD79|eKJX{kmMRi(0X8MoRb_3km6?zY>h=%whu85ORJVL+7>j zQZ~he2L(aK)4akueDRsJyM7av9I_0wDUX4vMKpSa+~Gfj1?~9zJk?&5sMEX3lwh7I z20~k@+y9x-&a)n@x1o5%0T!sit=~!%LpWQfa7Y{EBE*lrm3>vLpQhDPq3B^H14g$k zV4M4IlkaTCii@KdWIDmt+}miED}&3A5Zu&S>ShZDNi;OqP~K#mts&DM<)4EoIdVHg zHb2vLW0*c6hNqs_`-RZjn#X+wDRE}3J0EO{-`Z~FR- zsrKD>{g3lRd;jknP_h0BtVS(%MWBn&N0 zKr=NN{nK=jZA`g&D7!lPCf&nAfJ&_+_-PA7MhdGG`YV=|_ud02v({rQ~Gbdvc?c@5&ItJ}9JKaM6ekJRBBPLygx zsdA)_7gVEkQ+dpmZvDvbXRWQUTMb)~xQWZXOm-IIuWt;w148+yW8xi$6AfKXp!t+- z@#dq~Li%$oULfTXL*xSES^EyDhk3Wb1a8*79^^$14zcr3U^sW{%Sy6t))938hGmh zv8-exQgmrM9h211Jx^&ZKr(q-8QbiDW&2p0#5ERc1={q+LE)(EV&yk>sqTa8&LPwN z8fBgp{Tf|p<6~d~z-u|+u%Qsp!>Pj_0ox^o*@0hec<7P!Dmp5|??^My8cJo4mZ`0= zt)GE&Pws&L2U-UC9*O7^z6Q|A%^}Y$foEag^=`cL7!!@>BlX5J?-mibHn9w7-^4Q|FnD?;8o3z6@akUG$%8r+`&}%iMSQFqV`Ts1iKX={^sZ zV??&3ABBE%HM00U3U}RiCudB%xNsu34}t=-W@rK+ht-kAr7u8l`SPwh{-Q7XZ=1c} zC}wJk0t68c>5@+`4(v9y=Eabb)4lxo`!^zW2=-4_^LC2w5C4#xhLd?6q(jvGKyTQU zm-ou@HMzM|F84xAVjlwigWSjeXEXGFC!E&TXI+UG_SR9Q;3J^GUNINW6V@I@yT2sG zUF8>Gt_0L~iYRkS*81ObVv&b=`I(rh%N*VO$sLZ6Tg;T^dZ&;?hOAa@ps5Mo3*E1u z#uIZxB*a($*B6?#Idv3z9&ZZQQr%xSmytBi_gsXrHg9$6a*mXqU6~hus}N?b9Mt-6 zTk~}-M97sTmVTcyPn-AH+;)1iPv3<1;!3TDDq&r;$uhaeBLkbl`g%PJ8ZJ8O#^0B@ zB}^GxLmAw*X4qCupL~G+52xS*H}M_triHEkyLe?CfbQ)7jxF2h{}b;l7!9mZ?TX4Z zG+e*SQ9rD&A+u!^)ier1RH+Ox9hY&dUP=5n*I1RE^xFah)N>CW2G@fx$5Yt0NLLH<9n>x&>NtBG z0?;u<)(ArZ6=!+)0c6h$_ZEjM7;-ppdPxOYXJvFXZZ`ca38;X$faf40(PkH7&A6k0 znkJyI6#xXp|J{L`h+oB+>N1Z5g*!k{yqD@Y#&*M^v2qvZE4Dj~j1SNeb#5=-OWWlb z9nm_@XQi9(lun1NJA}ZBR2HTh@^f5{Ms0>L){Mm6& zMf7v@RlWB(`q6)!bAnI&TouSjNc6OP3LLFy%beHr#S~PicRwJn;{mamP6^UUBR8~yemxU~Ed(c*5{uuh#2dE?LFOMseieji5YSm7CHN} zrtcGM`T`fWl}VixLClNK3|~5KUGAl`3OdcuQ;#!$%_ycs))CH7N3gd!FNzuKDwCB| zT6oTRDc3*t2o^oiAXm#9rDh>sL6n|M=AXINli!mMFHz#yz)0Lhe>!P3?8q0-=6hh~ zJbnR%RRACu-@FA6+dr^v&|>D!$6}-f4raK-A@u0*Opd|2*(9U~t4v#i2My?Fs96 z7?rQ6Ps%61xK~j%{WYlDg$BUNG!Y_KSUAMGxbWhz>cvws(^BgF3DgXVa_egH7SMf* zilf;;`QSX01wmBgd?`8~#9K=gGE)pSfGNI0ExZmP&Crthxe1Y|rmcj{L))tia0#BD za(DOOZ9u$6&A4VyOmU|(el^AiH=k?X2etS>beosRstj3>C5 zCoC!u_Y=nNEfNxOZH$Pqv8g8c(d|f)oar6@5q-)XhFcGc^6B}EMr7E;X}>F4b%#_F zQ8V`z<{$<7#)P@v>@Cu%U~K}cfDHM^2QKf+SKKQxl};gmc<~zXCfh=hbAcl1_R`|n zx2JCla+g$-j#$|eo;nV$Tt${950csrz>U`Lo*NnShDBS5n)qR_aii~-Eu9HuvzOTM z;_M)^>J*fw0m*w+10Thx`LCo3gzx*XQS55Ob8ldzpr__uafH~w>(QhGcNQ`V-LZt> z%Y1o@+gv*yMSM?`;{9j;^G`f>E5XU0<2_uSV~_mLP~p{OeaVT|snZXf4ecWKd&Zxs z@Yu*yL}K$Mgy*(^z~qAi?_dH{d>Xy^*bD2z-dxIxRR#I{v=o02D2BsauUz?<5!79+ zWDw0J&8`HBj0?aKV%H!nMaZ{PM2KEtY#8zCb~Bq1CyMAgLCOyHyN9$85)!hAe53FG z3!wBZXhH$T_+8d~2BiL(oGqCQowkWC5j_DB8IFX{%)ojvmnuiSjv;U~6(6~xNv1}| zZ{2Ny>kaw=*Ifv!(Y3LWSd0QSfaMm`YfloSMiW(!{0OIvqVMzMqA4CI{ z_U|KC+GER2ZH2o435qMr`llA0qd#~V3_jT?ARAl85gZNf=saSy9}|>X!X>Q+XX--I zT=y5xtSDi&s@(ntI}Blxy@+wx*Yz0|hH52MyMu-khadnavvg`h z2{c4qiXu*yp|W+ht_V;{JWlVDV;Z`dCRPdwM-|aYSuqZ1Zu(4y4>z z#WKgj>!kddJhy-^{%q^lf{;-|H5NPk;OwcMV3+6|cpP5WET8gEggF`lTAVlbHg*%n%qe zr15d-RfOKPNJ8bZJzG6eND#j(R2I_Lm~33*nNKH~Ug?_Q`RkoZy~MHevjt|O>dx}w ze#eHx?cej;&_|2XL%ct%5I0b08vv5`oeRFJ-=4ayQoW2SS+X-2Yu<0eAbUNBU)$hcv_P!TJlhbzgy;&{9n)y4Yt->V zrNZwt;-xs7f3Am<*Vxqplb#3VOBF@h0*sBCX_qBYQDoVck;Fs?Rh z|F7AtqS09(UTP}%wvUgDCUojz1E1(0gTqp84`|pvb?LXIfdBAekjC#3Q}OW3$D82X zT^&fATpj7zXIJUtKCOG$B8jNYEZ#VlsjW|=9@Phr@49;EWnH+^xY9fOs>h$7*U=l( zc>tIZ55k19cFQ{7fpfJDZ}xw7c~oabam#yats?5N*f2dfVUvt(V%D$44d+xQ{upyvi=#x zQ99*rlko@_i8gB+~La3*5RQ9CY7U3WygZj|L|PqQp;en{wd0fchA^SWo7asx}b{1vc_T z+JScrY!46vah55RnI)+});4psU+ocRkv($gR8E>mQL$P*UEOZwy$XX}e6!Szf#o!Q z5a3KsO&AUxZ&ri#f#dO5t_0Ei2%gF1{nHWxTPJ{_aAm2Fl(Em1>1_`+($`g-%2R$J>Si`d=pzaI zEQ>J?`K%BgdGYh6z9wvq@u^n5L>bRzUq18olVna>qP*8k|FkMd@JIF40d8`E<&28O z5rf_hZrpyzTax3{Um<>;T)bkv{=Q5<26x4M&d!&{xOjG#Y^^(tJ6e)rjlB-x!PVlQ z$AguGt$QGUDgi4P-o*4^hArm1{J=Z-TyES@ELONBo)R^3fZ{^of7(w_i0=^+R%_*$ zY&*yPJ?Sw_E9LRKdJNbWF;6B8-e}A#W*Aq{W<1Fk@08V{zwcQlSJc{834~#YB6z=5 z2M$#l{XWsX!!1+`hc_khQ3)F;S`;j`0r3HCJ<>4W;3P8)Cag7=jZ^XTwLJn{O3eqZ zpwv&9BTKGF!)J(OGBK0WiOY15S>Mc(s++6{yF<8+f|=|iqwA>0x*Rw=&D_08_VdCFr@sl6nIVEDqLNYBr9QYC3SIzbAfmn$tp-U zDbia|*~zjL&{L(iDWf!hQ%W$nh8B1Kt(Pb;GYb1Byvs@3l)+24o>XecVa9(~SReHJ zxk*t#EteucDlbT>tZsm>z1*Ukk?bPuAhtL<#5-Zg8$W-fC_#0Hfxj~ zOUtsO2YjZ4HJyGkf~W3$>M%X*F8p{|Nxb!YX&mnW`X1naDdMg5J2QGlq^ztrZx(hR zCuj((DIw{2h~IiB<%pbh+$gl>h4^?(WKrBs7TyFB=@s%JIqCo)x?)?K!*s8{<38q1 zo7`;=9ehVce0$)nf1spAhX4Yd2?p30KpMvcKd*6WotSgBm>!qxe2{^hQzv=x_1$(0 z;0uCq5C2tCf~x)pFhK{X9y(wI8ja6gfX_uia0gU(soFSjLO7X5AzFJtQuvD)xPcw8 zEpELviu>1Z24*^jw3#)`QiRTa*HH0-|1{(M^y}(ohBnd+hvd6^kMxpCyPWfl*9!^+ zU?*wyrxNvx^Ab0dZg;35AHo5NbCRM^yNW zN~{&%6)YDu{= zTO~E`a<~l>Oe~>S9`Lu;`Xa>%K01Q@!ko{=vymDZb&mRCq1wRkp+jUx>dr{z5H#}p zlvxAOZxS%Jaso;E{fPqbjWr=Lhn}jTfDhYo)>dNGC*QXl&`0c~Uu(T^{9v`BiC8V| z*MV1I%^dJ&UNMWz^UT?GiC(+#{VQ<-Yic!+AfL(qe_ZeHJHN!ryjlj_NXC6KUQUHL zByHtIM^B>DZy2LLn5q`xh%t3o{m7cN_sE%{XNSeuM%*3>#_jd{rvopT$Fk^>`8oA&^b zrUz`q{V=}kV>ZWL+M@0q(1FNBeXvTH8Zu-i-l-UkL(!rkD8L-mYvMbm#@EAll1(iD zG|vBBa|97iP-zhvQ{4t;Ps!JZ?^Qd2Ii(}vm0I9u4oAwBQh-@Q#i7Qm=1jg4c{W6q zUshWoNmcHV_I+=NB&Otz_IPVR+p1u@S)UCAGUOWNbT)i`1RrF$YNPTJ$RLBLB3roy4d&8^-y)bm)H^8oqLQgAl!~dHmw^X;Th(xwbe4Ym6GK~Jj(p9C zJi9Qb4!*IQ7Do%nbs<0%`QbZ%yb1tX_#bPKcc_dXXkoz7{?!Imi)_iBYM!xS*GYeo z!gDFuQ==5c4`>QJMr3+RvlsB%4SAU6ah&LLKlHJd}03kQ*81upa&7o8_-(`&mR?V{y zG}MtBw?Os?ai-{@XVboQJg}zRxjbi+2mdInw66HIQ(pcxr}Up}1+?{>*Ga@2A!3s4 zQh)dPwb*wA!vE|jD;ameyvzFve!gsFCxy3knxpi{E+yLMi_4zL?0HR$X@_CoYn9shl#D9))!2I;Y9{tpaWJ${7;Ap3Xj#T9m#fHjQWoJ->NBL5( z9^uV|$+BY&!kH#QOd#(F*aaciA>d?0yAh?t<(N;bt9~{45(jVGGKadjQb4{cr|j{S zwe?TQuTLniN^UR$3X=gqxBp}D2$qJ)D$Fm(fVx$_aAxnNM&{#u_B*PLXIqvt9}{YP zv2*D|@YewHwL@ghNX}=J^uVC4gM@RWA@=7`o{ddWBDK+rHZ3()ur2|^kn7t<-Nk~A z=4f<}cnJg~M(ld5hx;Fk9cNSHsid?8&3Lz~ugqMOi!G{aaph?uBipX?S*=%mXS{UdtZ-wJwc~i*J-kH#q7%0<6E5E=o-7fWoi<(0l*) zjj5npXA>nd*v|N4xJ>SXN&j1&p?Y2K3M|WV(=dI7)`nX0F@p`Fa`Nc-K<>8=eDdq%AEh0ZpFWWGZYnc~e!2Nqv9yw-rNv4LQ^;#pT zaQoJ)#=J4{FAk7n^u=L>fjIZhIkNsn5_W@Hm4p;1qpn?6s`{Nm67uqUItv(q|7;e&+b7^=4G04{pPw zd45`TgU;0tdn{2y)iq?=X3?E?y5aU5a*8noH(9>nmFO{9hfmgc{`YhcsMV^N@=DeN zVNL{z)1|h#6rr3j55WO^dls)Pc~3Q|on^~Iz$|Dh7IDYT%@3{Xov+KnXSr+yW2fC8 z%q>eJa)4hrpj59t*aU@JIpQfwWl)nlOELa*@_@kWUvE-iS7YzAiXRAN*9<^mXaE?& z_l4>GhjZQE`nK-bXl%HUc_2F$M=gogRRn&$D=jGtxQ)XJU-omzb{S!(7*btjcUc$8 zW5PqRBqc~=lz^i*489PVbTnR{na)WeQ|IR4=Dx#XJFLBrhSTg^ahJBa*E}wlM_F^v z!3x(@{NULMl%|9NRQwFmUT)$?jA3J^HJ17&8s~VLjRN{Zj9AA;-|;-;YaERm4{eg- z)UHCJWbNSGb8J?-Zo%_ThK|$Bv}62&qEfP8O%GxOOOAi1|+!Os(7hdT&IN)we8Zg9nHbl1t_hhCp3c2#o^c0G{fM7gPhO>3bi%5w@zk9|c)tEN?@Q2(b;FIe&t?UB@lnK! zQ;i1Nsnl=;g7PH<4%Ro=4s|vk?Ou4b^XUIV?w~Yy6_>}%XBS56{Z1W{1hl_wQ{a`G zZ=~@RQ%3|A|jKbYJg@HAA^crjVb3Json)5!YwEjYWJBx0lyL&#zHpw zjnlI`qf@^%+baMtv2PbD7o7?NG9IeGOt=Jq%}iq$ zrpnVG9r|A8i-=Co9xUfwMel=Rm(&%Oid4F5*anOdcW;XB1JcleG7 z5N2!Ee;FVDGWVraynB~^1a`xw%(gnbU>1A-Yn$F6w;~vTc9oYHu52vCsA8mZ8W1sn z+->AKO?H<3LYG<$|6EF?32Kd4Om$tzJFV~FI@ZVid-vPpf;=0U_W-}kD4m`RL9bym z*fz^-wk3j#PLhqV2rvO0Z2QhzIt74fevh{A*b-y-&`JxMeegg9y^e4CR`;RTJ%z$xeNXC9?YCR!F~o=Gg+3q_Ao!dRwMHCtM-BQ>&oTI6xXWHToywse_eY zAbX`M;x@7Z0*wewYY)L8x}Vwd;x3au)fA+S$Fliea6XztnnHsTnYgD z?f>ptIHnRKhl~XvL!$pm%H>xDg-Pp=6;>CCWQkyCi$Kkf8N5~H%d?aGr91o4NDuMs zel541FUe-OfzhLbJ}?B9V@xV3vE{EGJz%wZf~AE0wNNpXl{ei&A}R~mRO4)nb{J^; z#TbU-ugWN1mA8;|#|y)nETx9VzbKWyV`z2-TO?C>(jHAb1udWumo#07kQyQH!!OH# zqw9~na zH{o9I%XFo>m|^SoiG?gA;ygiRKlYliLn&(NtgW^Z7;Ddbm`fGH`8sqOc&-y z_U?}ffeD~61^~?eJLdqD>ZMcdpyrbiV!;2_B4iO{y9s5Y|Pj_%9{3SGw575TR`u0pM+Y_|@N(Z6Q3IPpz zY!YR7^l)W(@{e}W70-g!oJX7@M%`vwX$^#>7415qvO5E3S9~Ot#AFGQ0l(Vb7KvN$5IzTgApo#=seA%vX{ak9q-bv{ZIiqwEGVh6d zB%Yeu-hT4)P7ax7%XVb##wyHl#{^u-lh+hQ%+rdv*0@V#ff&9A);Gy!hq`oeegwI5 zq%5IMP6`1|gfnWlFXOy2ziid~>|SUvNPxl+0I($gcPHMM#V8DIM{TnHr$(35iobUr z5Z#MupV`+zP;wK`az~UYvnZ2W{J(L*1Y?p)fbEBf#0DQ9Voo$8hBy**&RY2qMV)&4(0S8#Czno9;x$-24~2)PlN8G6l#LH zkh3PbOYUVtRfk0lm>-af55*kE96^o^AGnwc%-cuhI5jNa{I>VW6<>x?;Zy_Tw4DUdoT zWrh_}AtQp`7>v{@o-PkHO^?h|P;XZ%?<<|3*6$cji=*WK-_O7P?^sYTePLh+*-CnX zk_AOP&`!a3A$td=w=v$}q*0#nWfO}eTZ$;j-7l4T@*@k9uOmg6y;*|rK@4C}N4vi| zZT6eW2tQp@8qA~>#)_B!6@GPz^n;-GgypU61%m#(pxU{N?a#SC2P-Hk_6dAqK7RoHV8dFz4#ZqCm*?k3;h+ zlJRgei8Q-Q+`jQ zkl=f&fQUD)fr1p8yvjV^0SA`y&>A6vN=LL%x1HmA#IvA?X5`tm_C|yo)Zs0DVo#t_ zZfnn77-JjA)=c$x5H|GWH2!*AN}KPB2AwH(57XVqN6m5X;yE@kEio&5>^&6%7nw*2 zSNkvG4{ZP2WBE=c#QP~N+x#%4dis}|^$!WAaJQ2&StVI%8n>bN`-W< zxCLcRPSX;xi`x88qho;Cpskv>!rBjn3_R`2CE7)vHKbI*|DK+T3YC+b%X{j~< z*z@=G?XQr8jrS;?57raYnMy1>#fn(}-#V!p6W?+J3QV2R24*d_Z;GvwYT9f6wk&CFv>q#zuarz`t5GYZ zD+m@A1+Ht%WqGu#4gCWL{w~*f*~CnoV&g=bKc@QIFB^&&e)2Ss9{+EO?ETOHbjv}C z(B%2G&yM_`<3XrhZVpeC-?#gB+gN2YB}Bz!xJ5}Nx}4a%8Xgq$?kyca{{9IzN}sT@ zml>V}EbK-24=V;I{>F+I_?-RubhLr0z2{x7SF!y;E3^|w-OGkcuQ8XuL*~S*s#sX{ z$bwA58af_7XUB(yoPGUbaLJHHn7iebL29Kz5+Rw`J+ly-a^Hh0C38&=?iz|GCneef zuyn+yCIO9_h~rtjiKDCXy08jc?9v&h)-|Q`D=&F}~mDg=N_eFL;wFQ;@$r&xDGd5qejT=J$* zyoj3j;*+@&P2g^xJNV=Z_x#r2DiG4a-?VW~-x()X8MpwV-;I=poQ>0<;m+BOr-rge zZ*;MGgNT@!4^vhMK5x((i68svY2fsVU?)ycT111Y_j`XN83jC=I<`vr;sL;S{R_$Z z8VE9%4@ zc+P&kuy67RkiU^|U#xu3O(rc!SdO1)QL>68ZdUO z*9OELY6jN3*mMtYNE4k^ifRMFt*EAXZZAx(AcEOO9j#pq@z>0Mod=LIU+#IN```(G zvDc6B$}|;+k#6kLfVfFv%05PM0EH6);6dMP7x-dyNBjYy%_&1LGCk=77ORm{0lK{& z>U%}Hp5%z`Ipw^VAg^zT9lNg1JbSy0T!*91$^^V81cvhtI_ErgEL3HFt5B7JIPj%^ z)`yd2Wji5C^atEjTv<8MF8HY~|2K%d9l^*V5Jr3x7@>_00px#SjTGIjU{n#_bn`F| zMR=87jLY5}9*QSri4WDkwAFHa%mJL!rH$Z|f%`F=Re9pPSeau4ntbKp59X)eA!bIK zBXu$zmzX>TH`7K8m)WP-gW%vmz>&P+^zMRyVhERdSNxPY7mWxH$DTLNe$3&4|E2#3 z7cY>2vDi^A#$0RQ^`dv{tyREl`;+I^8uT3LyJfyLRGgVloR~3V2b?xBJhIO^qbtK~ zJ_=Nvs(pieI=QVOj;SCeinmTX=@;W93ghqtRM>`RIZIf7jjS&%4B)~Ow*;hbuL`yT z)IZKR)XL}HE&LZZ>lQWI&EshxZ}(j$S0_|h>Ltq+aoJq7o8{zLdjv}Zai~xWZxuNR zK4^xlPLp-Vk~mP9005r$ZCtK)cz^!!Qx=6T#z!JA0uwX)E+gcD@NU8{K1YJ>Rg;`S zYwtaxELqmv-i(XndQey`9ZQ{1!};^pDAWZ!I1;0R>=ON;DHcm)T$WW+L zWI+Z52LA0lWt7CnRS)&s^vt!EG5v`cmnNps_*#(H8Z{+kga69Iz$^d5cROahP`KT4 zNqqQ%NEx8cRQ(3hUD=U83B2+Ko21V%L@vc5R0p@T*6^B%szBynM=)7`qlYz4cua%A zJQua*>(%8P>W%5*xS(vpcTvyP4_;abHAoeE6BLyDQYRli$hC_yP)YT5*-kaY9N9vv zKu8)ab@jQU1}k<4ZZ`-TG`Ytq7#*(6q#TsPmxSV)JO0)yLW7TC^%+8<$z8+j5MGPt zD)-QGna#ABtI^2IVj@PLBHY*-NTujx-l5Lu>^Qs%q9N8Zb@JKv*99Ju-gx_@21Ne@ zj4w8oEm@V45Q9*Vic@yM<>jGOynh3>G63+N|Hl4->iVWSJw@<~mUU-&4XN{wOM13T z6kW!injmFNNCkT?I;%h5FIag9QF68_SIS(!#Zp1rgq&t`b_h00+d4+=WC#z;MqM63 zSLD+WTjDS@Odt}!a1}EfTY^OMZuppHey97e=MSlqx;v{k&&pz7U8tF|e8zrsiY~eg zqwaZ2Pa;zr1#(l*1~6*e^CycbL4#G)NkpUk%7Zd52U#a2#4_@(0?QH|u8|~aWHNuD zFe$Cvnkc9RQ6q#`3bRz+5T}0#MdKk<61ZQdMwQkH58C-QM59%5CHu-=6I~;u>#HT1 zN2KXq7nSr`5c*AeT$~gvb>W^{7a84V@Si#zlCr7L%&NUh`a@q}pv5TGo%!9higF`f zGe8s9RM;|(@g@(_M8#=3pCpg0mO!6(IBtWM8}jFtTj|CeSY~|AcPF4Q9sqpdo5Av{ z1sF$Wb501nS{P{Pktm}j79k=yL0|?@&(#GF`2-qa(wIKB3^i-7yK`p}XDf7I6&jiZ1DxKOFmy=y%kxvP(Vx->lX163HOsA3i16Lsw}_8I_WgE~oKU%4Ur15$1sPjlL>n6T_qgg7 z5+XZr|BRvi#__%NsOLM*+JlFJ2u{Q;!k|Sh(Lxk1Q^7R;+hao$-PJux2B(m3wt_3F z;*zKG@1Ho*QhX57%&7Yl4XfFgc`mohzCSzTKds6G&`2Yk-AKbuhty}v?p)RdhH0XF z6|l{L(_-t?ubM@Op!sj@(<%V`_}j_nhSe0hF!icdv-PYf=JRB%X(aaz<@1gcDnUNz4}c0=$dJ8lOl#8^(@_d&U9jsl>K-FgIv zU8+Z(?=TtS78Cl!A?JFh#X;ris@(^4>r*|HmzOk-=1TdzS5=&Nf!3j$Cr&~+VP^*d z(fzLToQ{WcxzErl4LkxP)Rkyv)b3tn)@y)g_rOYPe$f7W2H)%PLO5`2A1c zbIB8B+ge~g*|slS0mpCf z?x;&$Lf)oI znl)i9bj_Z6j-^==_o<)vb^i9Ks@QzMUbp}{bXqe8J=XY*L%t+BbtWF^%v%?;OR@OV zF|voV!c9S??+7LPH_IjJ&O4*|98a|!kQD%h837RF-)Cd;ugh8~-6!n$*#2rl1LXz_ zP{X>tAnvJoXwhqcdQf`)Y%N)V)QwgUz%7*^9GX8h+W{EgGz5o#1oB6#JURweK||dm zAyH7$z}22ENIZ0;_q9UcEVh)RsMs}6ca@e-$-+*RSdVALvgUO2)}h%eC?b*+*#K4V z4YmlXHTa1}vMjk@;vd2mL?sjz@e$Z)wy){SZnvx41nh`^DJH4^X8J&ICe04T=x~KM zPY&0>_UZ<8;e}z|%Mojt8z??xD*bqp?5}yTV2Z{>FK|L&qk<*48CC_{ld1*PhsIvY zukO$=fBXjvSbu!Wx5aHkV#CnP>%qXJaz`~ag3TrxycIPv)Fe%Upl(rn%|v-X%++sh zFEH>+5LwF@$UO8nE7NJz@Z0aeTyOvc*LSJdT{{A-H>N-4CB5c{!^E!%6+%-3`bCpA z2+Q>vqYPsDcb$B9K@n3#XG`y^IQ{nr6XDaVSI*JyP}0#8Y0=5;$9?yn2A<~2h}RF9 zoa;c@4_O9up9~ptfe1IQ)4K@Qz$?68JHSh1FjwO)hiFIx6M6>dnVWz!f{5y86sOhb z5xv{?MIx{tJ&Yj-!|-lM3lexrrZW_nuS^sbD#|TPQJdV^1fIs*7;!ZJzTDYz#whKQ z%;b_u6y$vIg>Is^t-!BmwN7%%x|GzUAMK+ajutFw6d-HF>iz^hT_#(*fZqQ|d@(P< z3zmSlYV3VxXiR4utfdz0xU#LyKKReF3?cX5TfoMd;5^Q?+gZB{S-ywt%x3*-Z$mlk zcg8YL0u+j=ttv=jQ>T*hthqvn9ATjakPN~_IOAh38b+Sx4q{Z<<`>qKP&1-30g9bA zcePI3Y~67!#j5o)n8%1>81`O$)yec&ponbtww);aDd*?av}b*8X)>nm3b~%qSBCs* zp__*z0?Qg2aJf06d|w3H7(!%2&)IlXxJi0OidWraSVZl?v{O~$jbNnUKN>KEvE z*P?ue{Pd)Hf%)-04+Qt^y`O~^3#sn%rA%NGI-T0KU{v6ZoP?(LxfNZ1Ss0b?a51?( zUgKINI-O*Ke#O65+KPY2oMBXGVEJKlYo>@P&b7#YT?y98&wyM-C_clj)&t&wv}*I9 zEDWND$T7c%55`Slg-$nT#_LC8Q}>Cwt>sDi%(P5^0B*_9`QmU94iXf#qvGnIrZk(i zh57=3k!WQoa&^oBH6xTjZ{^&i&F7W3Zh_l=s_LgK==otzGqj@V`6TM0#c5udqPP_p zMFYIoQG>mK_ZGpZ?7u%Jc`Glmr`cEVVxFNaEqHRF?ZVz{jsqfe1)f5qu^mt?g3_TG zu11ACpHOt!oR+vyT9GY(Aw|a$1|-D>n@OWR+RAC+&5XQLM&TkLU*~VsSR^{S!7Oag@Qtz#r6V#fQR_t?*?~d&nA-0Pc6ty>9MOuS8hb)Z?C5(B zui<|D?>rV{pMe@AFTQuGO#%1PF38HN_?$_TfKg{)9GnAgFQ|e>3)PUhyYfv-8fSSN zJ;s1X761A@RbKA|GqqbQUP;*u+R8twBKZK7^YBy`tONRfIXvqD|2J^*472ltRq?C3^q(g2aSsr>>Z+nhsT1VyrxXrZPaf-(Cc zv)yL2d_y{zlRHKuycp7LNaa+~g=c(&V|2FfPtiKe-jdEwtkswvEj5lbj!lj*B&$g_ z&|U8r9&mM#>!p{$&hlOc|0Rxa+#{^d;RaDTBq|(2Z&zg%%{=EnG@i~b`Fwe8xewmz zpPj~D!GRH1L76M*NZKZ*Ar3FU4XFGiO6WDLDSFlUOSLa!siwdBU-SJcW;J+|fd9B6 z#S9!X7!47x$EzXtjd)zMq}fMC|6>Pb08k*|y|i>+OfGW?-kcwa`yvKakE10WFb-Z5TRG>hsHei|sgf3vi7#RgNjWRZ~;t zXpxpE|Fp}DL@)0svY$Pm}!-rA8}XQ zZE)(OSa`oReZ$+rQ@N5i#_pUWY?Rw375(HUoZ$HVmr_G@EHuglZz`=x00vn^Uhe*j z$hW^hc=T~X>ha} zZn3aZZXe-M%|ZK} zFFPrUiy9SLu`fQ&vNep38s95%OmAE^RUeeZU< zJ5L3<7ln&MDo93|7?rLcC=P(7Wa!;0hI{@}tyO7KW!cq-gqE!K1np~;=I97VX|FNF zX=_fpC+&{D-4U(YPNHj9Qd8$@7xO+87w#kwZ2TtNFQRMJYU7pLmRHKQZU-u&|fiGCWJP&^aHmHrOSj@yr&N`6^CU5zSNjw#RR; zhv)ux5R=-R-8gf+3h;rPUb|i$#)aqEf+P!p1)8dfR&j3>u`gx%fge%tyIgH%m051~ zMf;E*)eoe7`3*qYqHYzPZlr)wnM3^6=$*z5qk$K1Xp*)|-=jcvP!6X0VQ$`Kpd6AkhXOJQU=5 z)uTlPn{08HSgY611@ScGdWM$|V<-IUw=jH?DHJRk>oshH$~sj7oiX`@gHo%yjFFR3 z6t^m>IknGX#Js#{)hARzlH%7t%_=St&NarYiF6lBMh}I5Iz?dvo$rHCwdGv4E4!*5 z5WQEng9()9-MJ8~#v;_U&&F#UV!a(k6?n*KMBXB*wL<@FtGy;7F?x;eA?0lBw0x;t zjVlfJF+{veK-e+5#Y{d|lLv_w1L5%k!K^dEf&*+xPs_&q+P*ny&N?^L;SY~E)HGxo zGQkR0&CFu(NKSxzE%%YAH-_tBSlWLhw~O{n8Tv@Sf!zdda2My>b((5R``h0YC0U3x z>L1{yf}vRA1lay4f>*3w@r!)3(<2vm%*OvvFbRbs$vmH$stgea1Lw!wF_}Kc;={pu zN3qWmRB9>~%nkegW4B#6CRFhO7^f|%)?Nr{u)UMm;OPRv%-2_JjTUL)dNTQF+S5IS zr`v4_-c8l(RWVYr!8txgFz~aO8>aqh=fZQWwPUBDxtL_Np<~Ra#Ah^~W$5{z*)SuH zE`R3ZkULN?8z#jqSu7S>K@XmVvh;5?VFkAxA_>N*z-Mhen_(@7P~iW`z|XNzw&j<% zfbCW)#&n2r84Z~8THUzIV4cJRw2>}tkpL{O|8YHODDM5XG5Iu6RBq!Vh7M!Oc4ZRv zMaJ1|m4uxMw+di8lycd!3;n< zc5{to)150ifCnxmc8^22qTJPJihUwE1aP;*tJ z;oO8UsoiQEBU8-dI_qya2Z?@f_`7w|m??Y*eLTkR7GeF7c4%-)OPoOLQjhO49&go5 z%+MHVLce}$g8wxmZ_|QY49tdtChbv0Hb*a9!(MT^`2sg8z8*Ff$%XrJfT(O*QeBtn;&A=o$|e@ z;V)Bi7zY4U8_KVir)sSAq?3>FstjJrksRzQ@Cu#tAGiEhyo(96OD1`+B_$})F*y!d z43;G*9%Yh^%dcDall!>*I;G`TMR9e)sVI78qL^lI6Pc2yXKX%q8eychjMwa{|XOnl(iWaM6u$ql?RAhW)%p zB}V+OoukKXPs~LFe{dJJ(6WAlYF=y>IXmPA@d>~{0z^x&Rk_19{U=uaSg3`FefAvp8AIN}RsM15LK_WjIpoj`qc zY6?L(scAs z#S-1BP_z(Pd0ZV(MC#$`q%>}e#JW1Q5~P!+Po;78SfaE8Z3>ST&p#EZ_b`oAM_ThlaFXwyIO@rBs@CtH z-Gb5tPmMGd;F*aS!x=$nvHV_`{{6-NJ*v8>7fkXmIP~rMmFVE+ic(>-(5)&`Z&vd- z&*7{m^QSN=1&ri;#k2C+M~!I%rO7L%J^GUDJ5~QiHJE1SNL*^a6a?1cS%d+__tx}~ z00J!RHCoT5ie$jYwVd1cxvGN;3%Q~RZPQEu-SpEzIj)|={zA_KO+MuaSp8t4i z+rSEk(Xjld&h`9fW{-@%rIaz-b<-RwNF$Y?zp7^{c%}%E{Xn5qkB7u|Tk*rjRn?kF zs`edCf$DaW*)LY+KrUuJ@q}qUp>f=$1zbDrw!~ej(C$$p30cqkb>fQCS>0Z&F|jwM z2|FR2va(xZmuAXi`}z(#UOs_Wb$v+pno1!2Dx}J2RZ9wyX1|Q*lwH(bQ&^5QsT+Yi zcD-fT4mvSy1nn{v9kJEi{!hb*OYFQ*g3vfUt^#?-JP<(1(gjv9fHiG?HSk$|ir1cX z=9pE>w&nhn=sW&XC1atC*+V`M=Tqmb{U`76c#!7Kda+Od`if_|2yvRYN-SEBDQ4H^ zrfi}hA>%T~t_rl|Apo=ibTzMK@DYrAw2R9Pf@PV1b6&E&dL^8nf3G5dzko=ataTcz zmv!5jOZ~8+T9Nm<^?||rX`{18kgSOfN6ga`J-rK&jvq}R$M=telnPBEOk5?;-oeW6 zb^W=fT5RfvFbO!KIdaX-u1k7u-cqG2zTE1JeI}=i)hUdNgCLrJQl>NM_!1~-MgdO( znEj&`_{u?gtZgVh3s4_HVo_~zK}#rl8@)KB@X@kVjy($p^k^Z!87b89?nGg#WcZ~Y zu@bT2ZmmV&LaI`t^goA&LP}^#fCzB!l$h#3+FMAV9c{^g)zdt@}==-G(@GDTBfa1vcV980! zDr{gP&N3Pjff4ci@MEs+s18~=Rs)ZwDNQ?T-OKTT#+#g=>QFI?n6Qc*zeD^Y;xlaM zUYzJ}|5W}7HbPu_+qzQe`?~=y`}#x;1f;)24Abwt9RwnXioILiHe;Q`%|4XFB`k1I z9uU#|vQvhu!W!JVV7z>xYch|l7NJOl><8bZjilS)Gsu6cGrQcNY8PP_AF}V>X+d$4 zHd97f2V54|%#Uq^$p)!(oWqKjZ5%5I$AOX*FrlB`@@)rmYZNJVI_5ZM&-xmpRc!P| zyyM|*2Bgi18K;1-18L=3vD>NwZquD9x|kfB3#hAWC7-g2-gt?DQ`! zCPUlSi2Tzby(Lw1?eg}OhmO!BwoG5^u#ihGE7b|Cwv^u@WIu%~)1N4+FYLKKY>nki z9SXd4()A*lSXQD0I)l8UUD5lV_Vr?MMS`TJ2Ep;G(~ zu+cjYr^K+{`6>Qm72r#&lMYou$R~7nXblEY z22nW4m~o=b_eor9R}5wXGkQN?;>muIK$GFkQXhnEDCCOyV#i4Ls0TPvJFsl!rX0k# zRu-@)d2Fgf?-fO)nq(X~8vw9&n~1UIk&sS$6%HvsPxR!K84UA zR5VL833-}cS&y|eSnNTsbU+E~fd6Mb2@va9Uh*|+xT5Rbm-RL?hfPUsUuWMFj?XKL zDD%y9sP)3_6pt`dD^P%u6@nilfrD!JOsg%PtVWfsi%xjcQ&mG&JkB6~yTe&+WrHB) zN5w`7rlh-X^C=DYUX<$lDZ&=dm$ue7&U|d17Vec_KQ3up;d;q| zW(6u_V;KefavUtd!Q<>=*}^6f}rjzBWZ@M@KHYDi6 zJhPVUArbvB3|E2c-4JX1cj~}eQA!CP*a#02Z3H5;L2Ra3ax>cD4_BY*60y57kW zMQxe;sf>swJ29@9C!8Is^HYycyZ(^8Ay+FW>bdgswC*HA*q7);7F`>3cXBex`UW}? z%mE4mbK>gubZqSM+(YH-KesK|X9P-e_LM0Hn*h0*@Rnx0wh1n!dD@f?vk8&kmqRU` z|5NuUMBVXEUw3=(F~U4Dw}wmyc2fATtOf>Yaf39iGL-@FZA@;W(8`~w+6put_FS;q z1l=6?%$^-@gD8mmszR>m2w?`pP>>n_qy;k~YZrnh)#7+lFut6X`r%i?sRq!e|=BXaxjRS?b=x|2w9>T z)02{g%i2Q;S;ulAgdS7au_%BkX@k;e+KHcg`R*lNA2E|E=G?lv$T)dJfW+gljM;?* zOyp~8rVTdWD%YaJbL2|>CQDR0^oUh)@$u_FmkEaH{0quOa0QmW+dqe6lxJ2AbBh6OLAyJ|BvzGL<)<0hAzD# zhf{O*@wgwJW*hJPXM`JwGr}^TInkhiS*teXcO5-E_Y#eAkhvWA`;|K;{K-=9Rzy=t&ODAm;oB( zDP@1C$^sM~@_AZ+8b64AD)cHPqZ(Btnga(bljwBmUZ$^|>2$J#E1-Va*PV6!AhSw; z;kf6Pf*0*s%lYfxRpx3Fs;&5h_jXauKB&SHALj@3iO-r!8N(SN4}|I^w63DNHJyyS z9O}KeC+*^G-Tbp;w<~H37CH1u&I_m2WDs##P&)PQVJ0c^c*SAJ0Xw73vYQ9tx8-to z*bLIL{_VdF(tbZPr!Fspd~$VayABYC7GX#h z?vNjKithA9=Xa`Y-1pL55ue6Yw|B{|p`SaT}6>0;SnSs2sa+1C8y1I%#h zB56@6q$&0{v4C3a93czlEU9UU=e7ey$T$Va2p~i@$WIx=?O&9DhxMp5M5xGP|K%1s zUCUV+?rZ(9NUML`x;qg5*218;YQ<_gf&}T#GbHB~$jkTnU&nCqT5D8g_y>^f$UhYb z`{jhxP(K3C6O5}bB)w~>t zDETh2 z>J52Gid8prYqui;`Wp@BpqP>5iOz}#A@T1BWE2NzR%R|YjLz%`=LjEK5?$)g^Cj$y9{I;`R)-1)_2(`S{TciVFcMwhQ z;qv;jy`7}#lc4>Td(-ZH8LkX;lMAzR$^y0#d8*yp#E%Qu7qjlQ8cDwj!|xyPE34@s zLW@m+$tlTi*}SO_s_#_c3};Ukj1(oUd^HQ6J+;?YBE$%G9?XbA)^Q$K(qiC- z$0S3Lj6>}tl|%Cl9dXXWEIJJX)eLn{oube0TbJrkykDI3>wy(gj14Gnb*^kSsNy&* z&)PXwg2PQTgJ&tY*I7CB#erh!6@LRYzT=3&x3J*=LH}Ub;Sfwg#Y|2=qq+$nZb0Hl z|J$6)AVMd;?tbeXu%ew2zuO828{G+H(}v4DNB`ELkpuIOe+W%johe!`RyzQz6TH!A zcFl_pFQ>+=pIy@HZwV*YN7pAMiRgX1dK-Zq zD04nn5>Zfg@8p|&UaD!OMN|#Kt+f#80?|Kq%=z1kXvT>-nn|pem6?2D>JYQ9x(sF% zFbAK7a2}G$Vs)Z~zglLTI-TUXwJxX{&wn`J2x(C#7C~U08kz zb|e3vjZZ>sJR?@}7+RWc5p+m2d*B{Xk3$!{nx*o~;VTzroTRRh>-`ib(3#bqN`SSV6!txwP~D8gOub#d zQ#FV9Yz3$9!|SqAj-#PF!gywBcMk1b-zfjiqdI|+L1OMe#2pB|k4#cJZ68Kdkpa!C zDx+K|i>g1$hSv5lAyM6bYD3fzzTuPv+e1PK#Hk+;@b!wZL8J|zufGI0lMN%Tsezzi zRwoZzvRF1p(4;djCJd&tpYxHrU_Mj_naV%~i?^jr?xPpiqY}g`9im22<`XpgIpNo4 zE9&`Pm-<^MtAy>ZB@X@Cw9YqG@p~Pb5CCvELpocV{y?f&%_Z_(Lp7+YMM~n{O8Xp3 zIwcU>wKoaO3}A?ww$0DZd^8?LS74OP4;O!oeQd);t84PMIC8-zt!NA6m35kFx)gbU%m}$58tc1B8LBNpu}rNMJnoUwLe~EqwEl4{g4D<-tHNri?!n1C$-0-$ew4mv0674GYmSoqk>FMxM9 z)&TfU)Z;2?YL^SKw^w#VS*SWP*RB*Z{nvWk0}%!SE)s8F%?+U?LTyH~c|J7M`vd*8 zKuiUQ_y7eCIG67mk4Hf&H#2W^%SmNU6=Z+}K|`3yeAyzDJaDgVPpGiDUPBES?I!xc z^5)hkT-2w>4UcfB6c?T`^R?LJNY9tnKv27nc{PDen#UuV{V@gg~+S!7caVV`f z`RNR=vOrS9T(Vu(j>~7cJVATHMhDCD`|d_wpj)cY_T(|#__3#TITt{MK5Y0<#^!u7% z=q9fJApX$*Aefk_{~(B`{J*PUZ5scBj8p%E;55|!gWO2}gWy@H|AQim|AP>4{vY&% V`Ts$ip8u_?ZT=5JY{7>>{|ApBY^eYM literal 0 HcmV?d00001 From f5655ab758fb10f0bfddc2158fc0b7a5b4105d77 Mon Sep 17 00:00:00 2001 From: star-nox Date: Thu, 21 Sep 2023 17:55:56 -0500 Subject: [PATCH 12/21] modified ingest function --- ai_ta_backend/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 6ea4e26a..bfc3fcca 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -2,6 +2,7 @@ import os import time from typing import List +import json from dotenv import load_dotenv from flask import Flask, Response, abort, jsonify, request From 6f80b96fa1a97a6afae241e97acb3d642f484d4b Mon Sep 17 00:00:00 2001 From: star-nox Date: Fri, 22 Sep 2023 14:58:35 -0500 Subject: [PATCH 13/21] modified update_files() for file replacement --- ai_ta_backend/canvas.py | 37 +++++++++++---- ai_ta_backend/update_materials.py | 79 +++++++++++++++---------------- 2 files changed, 66 insertions(+), 50 deletions(-) diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index fec319ff..945d73fb 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -107,7 +107,6 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: os.mkdir(canvas_dir + "/" + folder_name) print("Course folder created") - # Download course content self.download_course_content(canvas_course_id, folder_path, content_to_ingest) @@ -135,16 +134,38 @@ def update_course_content(self, canvas_course_id: int, course_name: str) -> str: """ print("In update_course_content") - api_path = "https://canvas.illinois.edu/api/v1/courses/" + str(canvas_course_id) - headers = {"Authorization": "Bearer " + os.getenv('CANVAS_ACCESS_TOKEN')} - try: + # a dictionary of all contents we want to ingest - files, pages, modules, syllabus, assignments, discussions. + content_to_ingest = { + 'files': True, + 'pages': True, + 'modules': True, + 'syllabus': True, + 'assignments': True, + 'discussions': True + } + + # Create a canvas directory with a course folder inside it. + canvas_dir = "canvas_materials" + folder_name = "canvas_course_" + str(canvas_course_id) + "_ingest" + folder_path = canvas_dir + "/" + folder_name + + if os.path.exists(canvas_dir): + print("Canvas directory already exists") + else: + os.mkdir(canvas_dir) + print("Canvas directory created") + + if os.path.exists(canvas_dir + "/" + folder_name): + print("Course folder already exists") + else: + os.mkdir(canvas_dir + "/" + folder_name) + print("Course folder created") + # Download course content - folder_name = "canvas_course_" + str(canvas_course_id) + "_update" - folder_path = os.path.join(os.getcwd(), "canvas_materials/" + folder_name) - self.download_course_content(canvas_course_id, folder_path) + self.download_course_content(canvas_course_id, folder_path, content_to_ingest) print("Downloaded and extracted canvas materials") - + # Call diff function response = update_materials.update_files(folder_path, course_name) print(response) diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py index 933a0d77..90b6feaf 100644 --- a/ai_ta_backend/update_materials.py +++ b/ai_ta_backend/update_materials.py @@ -28,11 +28,10 @@ def update_files(source_path: str, course_name: str): """ print("In update_files") - - ingester = Ingest() # Get S3 paths of files for given course_name s3_files = ingester.getAll(course_name) + print("s3 files: ", s3_files) # Access checksum of s3 files @@ -42,51 +41,47 @@ def update_files(source_path: str, course_name: str): # Compute checksum of every file in source_path folder total_files = 0 files_removed = 0 - for root, subdirs, files in os.walk(source_path): - for file in files: - total_files += 1 - print("file: ", file) - filepath = os.path.join(root, file) - file_checksum = generate_checksum(filepath) - - # compare file checksum with checksum of all s3 files - for s3_file in s3_files: - s3_path = s3_file['s3_path'] - #print("existing s3 file: ", s3_path) - s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) - s3_checksum = s3_object['ETag'] - # remove file from the folder if checksums match - if str(file_checksum) == s3_checksum[1:-1]: - print("checksums match: ", file) - os.remove(filepath) - files_removed += 1 - continue - + files = os.listdir(source_path) + + for file in files: + filepath = os.path.join(source_path, file) + total_files += 1 + #print("file: ", file) + #print("filepath: ", filepath) + file_checksum = generate_checksum(filepath) + + # compare this checksum with checksum of all s3 files + for s3_file in s3_files: + s3_path = s3_file['s3_path'] + #print("existing s3 file: ", s3_path) + + s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) + s3_checksum = s3_object['ETag'] + + # remove file from the folder if checksums match + if str(file_checksum) == s3_checksum[1:-1]: + print("checksums match: ", filepath) + os.remove(filepath) + files_removed += 1 + continue + + # different checksums but same file name - delete the file from s3 + elif str(file_checksum) != s3_checksum[1:-1] and file == s3_path.split('/')[-1]: + print("in replace file condition: ", file) + delete_s3_file = ingester.delete_data(s3_path, course_name) + print("deletion update: ", delete_s3_file) + s3_files.remove(s3_file) + break + print("total files: ", total_files) print("files removed: ", files_removed) - if total_files > 0: - new_s3_paths = upload_data_files_to_s3(course_name, source_path) - subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - # # Upload remaining files to S3 - canvas export contains subdirectories - # subdirectories = [subdir for subdir in os.listdir(source_path) if os.path.isdir(os.path.join(source_path, subdir))] - # print("subdirs: ", subdirectories) + if total_files - files_removed > 0: + # Upload files to S3 and ingest + new_s3_paths = upload_data_files_to_s3(course_name, source_path) + file_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - # if len(subdirectories) == 0: - # # pass the source path - # new_s3_paths = upload_data_files_to_s3(course_name, source_path) - # else: - # # pass the subdirectory paths - # for subdir in subdirectories: - # subdir_path = os.path.join(source_path, subdir) - # if len(os.listdir(subdir_path)) == 0: - # continue - # new_s3_paths = upload_data_files_to_s3(course_name, subdir_path) - # print("----------------------------------") - # print("new s3 paths: ", new_s3_paths) - # subdir_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - # Delete files from local directory shutil.rmtree(source_path) From 0223a227188dd3f252663a088a6f34b023905e0c Mon Sep 17 00:00:00 2001 From: star-nox Date: Fri, 22 Sep 2023 15:02:20 -0500 Subject: [PATCH 14/21] removed the extra os.remove() --- ai_ta_backend/vector_database.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/ai_ta_backend/vector_database.py b/ai_ta_backend/vector_database.py index 79184d85..ddb35a13 100644 --- a/ai_ta_backend/vector_database.py +++ b/ai_ta_backend/vector_database.py @@ -301,8 +301,6 @@ def _ingest_single_py(self, s3_path: str, course_name: str): #print(texts) os.remove(file_path) - os.remove(file_path) - success_or_failure = self.split_and_upload(texts=texts, metadatas=metadatas) return success_or_failure From 2e10cc8a3a30f59ab5fc0ff829c3412d23730031 Mon Sep 17 00:00:00 2001 From: Kastan Day Date: Fri, 29 Sep 2023 14:55:12 -0700 Subject: [PATCH 15/21] fix underscore to dash in for pip --- requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index ca74fcb7..40d959c7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,7 +28,7 @@ unstructured tabulate pdf2image typing-inspect==0.9.0 -typing_extensions==4.7.1 +typing-extensions==4.7.1 pysrt docx2txt pydub @@ -37,7 +37,7 @@ ffprobe ffmpeg beautifulsoup4 pypandoc -pypandoc_binary +pypandoc-binary canvasapi cs-dlp @ git+https://github.com/raffaem/cs-dlp.git@0.12.0b0 # previously called coursera-dl GitPython @@ -45,4 +45,4 @@ nomic flask-executor # No arize for now, huge build size with these additions. -# arize[AutoEmbeddings, LLM_Evaluation] \ No newline at end of file +# arize[AutoEmbeddings, LLM_Evaluation] From a38fb909b7801a44802328d511e5dcf28b2d004f Mon Sep 17 00:00:00 2001 From: star-nox Date: Mon, 2 Oct 2023 12:33:50 -0500 Subject: [PATCH 16/21] removed json import and added abort to canvas functions --- ai_ta_backend/main.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index bfc3fcca..f5ecbe31 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -2,7 +2,6 @@ import os import time from typing import List -import json from dotenv import load_dotenv from flask import Flask, Response, abort, jsonify, request @@ -401,6 +400,15 @@ def ingest_canvas(): canvas = CanvasAPI() canvas_course_id: str = request.args.get('course_id') course_name: str = request.args.get('course_name') + + if canvas_course_id == '' or course_name == '': + # proper web error "400 Bad request" + abort( + 400, + description= + f"Missing one or more required parameters: 'course_id' and 'course_name' must be provided. course_id: `{canvas_course_id}`, course_name: `{course_name}`" + ) + success_or_failure = canvas.ingest_course_content(canvas_course_id, course_name) response = jsonify({"outcome": success_or_failure}) response.headers.add('Access-Control-Allow-Origin', '*') @@ -414,6 +422,15 @@ def update_canvas(): canvas = CanvasAPI() canvas_course_id: str = request.args.get('course_id') course_name: str = request.args.get('course_name') + + if canvas_course_id == '' or course_name == '': + # proper web error "400 Bad request" + abort( + 400, + description= + f"Missing one or more required parameters: 'course_id' and 'course_name' must be provided. course_id: `{canvas_course_id}`, course_name: `{course_name}`" + ) + success_or_failure = canvas.update_course_content(canvas_course_id, course_name) response = jsonify({"outcome": success_or_failure}) response.headers.add('Access-Control-Allow-Origin', '*') From 7a9c21d90a4a6f5e393570ec88187e18a1e20ce6 Mon Sep 17 00:00:00 2001 From: star-nox Date: Mon, 2 Oct 2023 18:39:44 -0500 Subject: [PATCH 17/21] removed file update functions from this PR --- ai_ta_backend/canvas.py | 48 ---------------- ai_ta_backend/main.py | 23 -------- ai_ta_backend/update_materials.py | 91 ------------------------------- 3 files changed, 162 deletions(-) delete mode 100644 ai_ta_backend/update_materials.py diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index 945d73fb..f3e83fdc 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -125,54 +125,6 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: print(e) return "Failed" - def update_course_content(self, canvas_course_id: int, course_name: str) -> str: - """ - Updates all Canvas course materials through the course ID. - 1. Download zip file from Canvas - 2. Perform diff between downloaded files and existing S3 files - 3. Replace the changed files in S3 and QDRANT - """ - print("In update_course_content") - - try: - # a dictionary of all contents we want to ingest - files, pages, modules, syllabus, assignments, discussions. - content_to_ingest = { - 'files': True, - 'pages': True, - 'modules': True, - 'syllabus': True, - 'assignments': True, - 'discussions': True - } - - # Create a canvas directory with a course folder inside it. - canvas_dir = "canvas_materials" - folder_name = "canvas_course_" + str(canvas_course_id) + "_ingest" - folder_path = canvas_dir + "/" + folder_name - - if os.path.exists(canvas_dir): - print("Canvas directory already exists") - else: - os.mkdir(canvas_dir) - print("Canvas directory created") - - if os.path.exists(canvas_dir + "/" + folder_name): - print("Course folder already exists") - else: - os.mkdir(canvas_dir + "/" + folder_name) - print("Course folder created") - - # Download course content - self.download_course_content(canvas_course_id, folder_path, content_to_ingest) - print("Downloaded and extracted canvas materials") - - # Call diff function - response = update_materials.update_files(folder_path, course_name) - print(response) - return response - except Exception as e: - return "Failed! Error: " + str(e) - def download_files(self, dest_folder: str, api_path: str) -> str: """ Downloads all files in a Canvas course into given folder. diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 75d9c25b..6da85205 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -414,29 +414,6 @@ def ingest_canvas(): response.headers.add('Access-Control-Allow-Origin', '*') return response -@app.route('/updateCanvas', methods=['GET']) -def update_canvas(): - """ - Update course content from Canvas - """ - canvas = CanvasAPI() - canvas_course_id: str = request.args.get('course_id') - course_name: str = request.args.get('course_name') - - if canvas_course_id == '' or course_name == '': - # proper web error "400 Bad request" - abort( - 400, - description= - f"Missing one or more required parameters: 'course_id' and 'course_name' must be provided. course_id: `{canvas_course_id}`, course_name: `{course_name}`" - ) - - success_or_failure = canvas.update_course_content(canvas_course_id, course_name) - response = jsonify({"outcome": success_or_failure}) - response.headers.add('Access-Control-Allow-Origin', '*') - return response - - @app.route('/getNomicMap', methods=['GET']) def nomic_map(): course_name: str = request.args.get('course_name', default='', type=str) diff --git a/ai_ta_backend/update_materials.py b/ai_ta_backend/update_materials.py deleted file mode 100644 index 90b6feaf..00000000 --- a/ai_ta_backend/update_materials.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -import shutil -import boto3 -from ai_ta_backend.vector_database import Ingest -import hashlib -from ai_ta_backend.aws import upload_data_files_to_s3 -from ai_ta_backend.vector_database import Ingest - - -def generate_checksum(file_path): - md5_hash = hashlib.md5() - with open(file_path, "rb") as file: - # Read and update the hash string value in blocks - for byte_block in iter(lambda: file.read(4096), b""): - md5_hash.update(byte_block) - return md5_hash.hexdigest() - -def update_files(source_path: str, course_name: str): - """ - Compares and updates files in S3 and QDRANT - Args: - source_path: path to the directory containing the files to be uploaded - course_name: name of the course whose files need to be updated - To-do: - 1. Get S3 paths of files for given course_name - 2. Compute checksums of every file in source_path folder - 3. Compare checksums with S3 files - if different, upload to S3 and ingest into QDRANT - """ - print("In update_files") - - ingester = Ingest() - # Get S3 paths of files for given course_name - s3_files = ingester.getAll(course_name) - print("s3 files: ", s3_files) - - - # Access checksum of s3 files - s3_client = boto3.client('s3', aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'), - aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),) - - # Compute checksum of every file in source_path folder - total_files = 0 - files_removed = 0 - - files = os.listdir(source_path) - - for file in files: - filepath = os.path.join(source_path, file) - total_files += 1 - #print("file: ", file) - #print("filepath: ", filepath) - file_checksum = generate_checksum(filepath) - - # compare this checksum with checksum of all s3 files - for s3_file in s3_files: - s3_path = s3_file['s3_path'] - #print("existing s3 file: ", s3_path) - - s3_object = s3_client.get_object(Bucket=os.getenv('S3_BUCKET_NAME'), Key=s3_path) - s3_checksum = s3_object['ETag'] - - # remove file from the folder if checksums match - if str(file_checksum) == s3_checksum[1:-1]: - print("checksums match: ", filepath) - os.remove(filepath) - files_removed += 1 - continue - - # different checksums but same file name - delete the file from s3 - elif str(file_checksum) != s3_checksum[1:-1] and file == s3_path.split('/')[-1]: - print("in replace file condition: ", file) - delete_s3_file = ingester.delete_data(s3_path, course_name) - print("deletion update: ", delete_s3_file) - s3_files.remove(s3_file) - break - - print("total files: ", total_files) - print("files removed: ", files_removed) - - if total_files - files_removed > 0: - # Upload files to S3 and ingest - new_s3_paths = upload_data_files_to_s3(course_name, source_path) - file_ingest = ingester.bulk_ingest(new_s3_paths, course_name=course_name) - - # Delete files from local directory - shutil.rmtree(source_path) - - return "Success" - - - From 65b2ba1c09618553d2c99b2799b9256cbfbb6f5e Mon Sep 17 00:00:00 2001 From: Maxwell-Lindsey Date: Mon, 23 Oct 2023 12:05:12 -0500 Subject: [PATCH 18/21] added ability to receive canvas checkbox data --- ai_ta_backend/canvas.py | 21 +++++++++++---------- ai_ta_backend/main.py | 13 ++++++++++++- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index f3e83fdc..d36ea440 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -69,7 +69,7 @@ def download_course_content(self, canvas_course_id: int, dest_folder: str, conte return "Failed! Error: " + str(e) - def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: + def ingest_course_content(self, canvas_course_id: int, course_name: str, content_ingest_dict: dict = None) -> str: """ Ingests all Canvas course materials through the course ID. 1. Download zip file from Canvas and store in local directory @@ -81,14 +81,15 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: print("In ingest_course_content") try: # a dictionary of all contents we want to ingest - files, pages, modules, syllabus, assignments, discussions. - content_to_ingest = { - 'files': True, - 'pages': True, - 'modules': True, - 'syllabus': True, - 'assignments': True, - 'discussions': True - } + if content_ingest_dict is None: + content_ingest_dict = { + 'files': True, + 'pages': True, + 'modules': True, + 'syllabus': True, + 'assignments': True, + 'discussions': True + } # Create a canvas directory with a course folder inside it. canvas_dir = "canvas_materials" @@ -108,7 +109,7 @@ def ingest_course_content(self, canvas_course_id: int, course_name: str)-> str: print("Course folder created") # Download course content - self.download_course_content(canvas_course_id, folder_path, content_to_ingest) + self.download_course_content(canvas_course_id, folder_path, content_ingest_dict) # Upload files to S3 s3_paths = upload_data_files_to_s3(course_name, folder_path) diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 6da85205..63bbeb38 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -401,6 +401,17 @@ def ingest_canvas(): canvas_course_id: str = request.args.get('course_id') course_name: str = request.args.get('course_name') + # Retrieve the checkbox values from the request and create the content_ingest_dict + # Set default values to True if not provided in the request + content_ingest_dict = { + 'files': request.args.get('files', 'true').lower() == 'true', + 'pages': request.args.get('pages', 'true').lower() == 'true', + 'modules': request.args.get('modules', 'true').lower() == 'true', + 'syllabus': request.args.get('syllabus', 'true').lower() == 'true', + 'assignments': request.args.get('assignments', 'true').lower() == 'true', + 'discussions': request.args.get('discussions', 'true').lower() == 'true' + } + if canvas_course_id == '' or course_name == '': # proper web error "400 Bad request" abort( @@ -409,7 +420,7 @@ def ingest_canvas(): f"Missing one or more required parameters: 'course_id' and 'course_name' must be provided. course_id: `{canvas_course_id}`, course_name: `{course_name}`" ) - success_or_failure = canvas.ingest_course_content(canvas_course_id, course_name) + success_or_failure = canvas.ingest_course_content(canvas_course_id, course_name, content_ingest_dict) response = jsonify({"outcome": success_or_failure}) response.headers.add('Access-Control-Allow-Origin', '*') return response From 7c4a8398572b71959454c264b357514ab21c9ae3 Mon Sep 17 00:00:00 2001 From: Maxwell-Lindsey Date: Mon, 23 Oct 2023 13:21:31 -0500 Subject: [PATCH 19/21] removed unused import --- ai_ta_backend/canvas.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ai_ta_backend/canvas.py b/ai_ta_backend/canvas.py index d36ea440..f313438b 100644 --- a/ai_ta_backend/canvas.py +++ b/ai_ta_backend/canvas.py @@ -5,7 +5,6 @@ from zipfile import ZipFile from ai_ta_backend.aws import upload_data_files_to_s3 from ai_ta_backend.vector_database import Ingest -from ai_ta_backend import update_materials from pathlib import Path From 8de89009975621b034b986fc4a3fd3061706535a Mon Sep 17 00:00:00 2001 From: Maxwell-Lindsey Date: Mon, 23 Oct 2023 13:58:11 -0500 Subject: [PATCH 20/21] added comment for debugging --- ai_ta_backend/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ai_ta_backend/main.py b/ai_ta_backend/main.py index 470df25a..b6dc0a1d 100644 --- a/ai_ta_backend/main.py +++ b/ai_ta_backend/main.py @@ -399,6 +399,7 @@ def ingest_canvas(): """ Ingest course content from Canvas """ + print("made it to ingest") canvas = CanvasAPI() canvas_course_id: str = request.args.get('course_id') course_name: str = request.args.get('course_name') From 46646c77f0c0d817515a5fd5ccadf4e9e635b279 Mon Sep 17 00:00:00 2001 From: Kastan Day Date: Mon, 23 Oct 2023 13:00:58 -0700 Subject: [PATCH 21/21] removing pypandoc because it appears to be unused --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 7a50fcb2..d77c27ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,8 +37,6 @@ ffmpeg-python ffprobe ffmpeg beautifulsoup4 -pypandoc -pypandoc-binary canvasapi cs-dlp @ git+https://github.com/raffaem/cs-dlp.git@0.12.0b0 # previously called coursera-dl GitPython