From 2bb0c24a5da9fc79e5004d054bebcab79f90ed99 Mon Sep 17 00:00:00 2001 From: Luciano Silva do Lago Date: Sun, 7 Jun 2026 20:24:42 -0300 Subject: [PATCH] feat: adiciona diagrama de rede para top 5 trechos usando networkx --- create_nb.py | 33 +++++++++++++ modelos.ipynb | 123 ++++++++++++++++++++++++++++++++++++------------- pyproject.toml | 1 + uv.lock | 11 +++++ 4 files changed, 137 insertions(+), 31 deletions(-) diff --git a/create_nb.py b/create_nb.py index aec8d42..d6dd8c5 100644 --- a/create_nb.py +++ b/create_nb.py @@ -27,6 +27,7 @@ import seaborn as sns import pulp import pymap3d as pm import math +import networkx as nx # Configuração de estilo para os gráficos sns.set_theme(style="whitegrid") @@ -155,6 +156,38 @@ plt.tight_layout() plt.show() """)) +# Cell: Markdown Diagrama de Rede +cells.append(nbf.v4.new_markdown_cell("""## Diagrama de Rede dos Trechos +Para melhor visualização dos trechos mais relevantes, abaixo temos um diagrama de rede conectando as origens aos destinos. +""")) + +# Cell: Code Diagrama de Rede +cells.append(nbf.v4.new_code_cell("""# Criação do grafo direcionado +G = nx.DiGraph() + +# Adiciona arestas com peso baseado no Score de Relevância +for _, row in top_trechos.iterrows(): + origem, destino = row['Trecho'].split('-') + peso = row['Score_Relevancia'] + G.add_edge(origem, destino, weight=peso) + +# Configuração do layout do grafo +pos = nx.spring_layout(G, seed=42) + +plt.figure(figsize=(8, 6)) +# Desenha os nós +nx.draw_networkx_nodes(G, pos, node_size=2000, node_color='skyblue', edgecolors='black') +# Desenha as arestas +nx.draw_networkx_edges(G, pos, edgelist=G.edges(), arrowstyle='-|>', arrowsize=20, edge_color='gray', width=2, connectionstyle='arc3,rad=0.1') +# Desenha os rótulos (nomes dos aeroportos) +nx.draw_networkx_labels(G, pos, font_size=12, font_family='sans-serif', font_weight='bold') + +plt.title('Diagrama de Rede - Top Trechos Relevantes', fontsize=14) +plt.axis('off') +plt.tight_layout() +plt.show() +""")) + # Cell 9: Markdown FAM cells.append(nbf.v4.new_markdown_cell("""## 4. Fleet Assignment Model (FAM) Conforme o livro base *Airline Operations and Scheduling*, o problema de alocação de frotas busca atribuir os tipos de aeronaves às pernas de voo visando minimizar o custo e as perdas de receita (spill). Como temos apenas um tipo (C-97), nosso problema adapta-se a uma **alocação de esquadrões (e suas respectivas bases)** aos voos requeridos para minimizar o custo total de operação, que é proporcional à distância voada. diff --git a/modelos.ipynb b/modelos.ipynb index a698730..bc9d517 100644 --- a/modelos.ipynb +++ b/modelos.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "3814c78f", + "id": "0d36dff2", "metadata": {}, "source": [ "# Alocação de Frotas (Fleet Scheduling) - Aeronaves C-97\n", @@ -21,13 +21,13 @@ { "cell_type": "code", "execution_count": 1, - "id": "47c2c468", + "id": "3135eacb", "metadata": { "execution": { - "iopub.execute_input": "2026-06-07T23:18:13.940499Z", - "iopub.status.busy": "2026-06-07T23:18:13.939868Z", - "iopub.status.idle": "2026-06-07T23:18:14.482559Z", - "shell.execute_reply": "2026-06-07T23:18:14.481932Z" + "iopub.execute_input": "2026-06-07T23:24:40.349240Z", + "iopub.status.busy": "2026-06-07T23:24:40.348434Z", + "iopub.status.idle": "2026-06-07T23:24:41.354405Z", + "shell.execute_reply": "2026-06-07T23:24:41.353676Z" } }, "outputs": [], @@ -40,6 +40,7 @@ "import pulp\n", "import pymap3d as pm\n", "import math\n", + "import networkx as nx\n", "\n", "# Configuração de estilo para os gráficos\n", "sns.set_theme(style=\"whitegrid\")\n", @@ -52,7 +53,7 @@ }, { "cell_type": "markdown", - "id": "c61fc14a", + "id": "804eaef2", "metadata": {}, "source": [ "## 1. Leitura e Limpeza dos Dados\n", @@ -62,13 +63,13 @@ { "cell_type": "code", "execution_count": 2, - "id": "132e1793", + "id": "dec4d110", "metadata": { "execution": { - "iopub.execute_input": "2026-06-07T23:18:14.484142Z", - "iopub.status.busy": "2026-06-07T23:18:14.483920Z", - "iopub.status.idle": "2026-06-07T23:18:14.852925Z", - "shell.execute_reply": "2026-06-07T23:18:14.851875Z" + "iopub.execute_input": "2026-06-07T23:24:41.356324Z", + "iopub.status.busy": "2026-06-07T23:24:41.356081Z", + "iopub.status.idle": "2026-06-07T23:24:41.724748Z", + "shell.execute_reply": "2026-06-07T23:24:41.723972Z" } }, "outputs": [], @@ -100,7 +101,7 @@ }, { "cell_type": "markdown", - "id": "0694381c", + "id": "68fc01d6", "metadata": {}, "source": [ "## 2. Análise dos Esquadrões e Matrículas (Aeronaves)\n", @@ -110,13 +111,13 @@ { "cell_type": "code", "execution_count": 3, - "id": "8cc5a607", + "id": "fbc5ccec", "metadata": { "execution": { - "iopub.execute_input": "2026-06-07T23:18:14.854417Z", - "iopub.status.busy": "2026-06-07T23:18:14.854270Z", - "iopub.status.idle": "2026-06-07T23:18:14.868015Z", - "shell.execute_reply": "2026-06-07T23:18:14.867338Z" + "iopub.execute_input": "2026-06-07T23:24:41.726272Z", + "iopub.status.busy": "2026-06-07T23:24:41.726147Z", + "iopub.status.idle": "2026-06-07T23:24:41.738777Z", + "shell.execute_reply": "2026-06-07T23:24:41.737916Z" } }, "outputs": [ @@ -175,7 +176,7 @@ }, { "cell_type": "markdown", - "id": "e4c88ec8", + "id": "875b834d", "metadata": {}, "source": [ "## 3. Análise Estatística das Demandas Diárias\n", @@ -186,13 +187,13 @@ { "cell_type": "code", "execution_count": 4, - "id": "92323d95", + "id": "e97df07a", "metadata": { "execution": { - "iopub.execute_input": "2026-06-07T23:18:14.869527Z", - "iopub.status.busy": "2026-06-07T23:18:14.869395Z", - "iopub.status.idle": "2026-06-07T23:18:15.140701Z", - "shell.execute_reply": "2026-06-07T23:18:15.140134Z" + "iopub.execute_input": "2026-06-07T23:24:41.740292Z", + "iopub.status.busy": "2026-06-07T23:24:41.740168Z", + "iopub.status.idle": "2026-06-07T23:24:42.004606Z", + "shell.execute_reply": "2026-06-07T23:24:42.003968Z" } }, "outputs": [ @@ -363,7 +364,67 @@ }, { "cell_type": "markdown", - "id": "9abfe029", + "id": "96d89f3d", + "metadata": {}, + "source": [ + "## Diagrama de Rede dos Trechos\n", + "Para melhor visualização dos trechos mais relevantes, abaixo temos um diagrama de rede conectando as origens aos destinos.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b176401f", + "metadata": { + "execution": { + "iopub.execute_input": "2026-06-07T23:24:42.006034Z", + "iopub.status.busy": "2026-06-07T23:24:42.005909Z", + "iopub.status.idle": "2026-06-07T23:24:42.099801Z", + "shell.execute_reply": "2026-06-07T23:24:42.099424Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxAAAAJICAYAAADxUwLTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAreRJREFUeJzt3QdYVHe6P/DXBgiKih3Brih2BXuvsfdeo0lMYpK9u/vfm2x2N5styd1yd++9KSYxsffeezd2BBUVxYa9YEXpWP7P92d+JzMICDowc+Z8P8/DIzOMzJkzw8x5z+8t+Z4+ffpUiIiIiIiIsiF/dm5ERERERETEAIKIiIiIiHKEKxBERERERJRtDCCIiIiIiCjbGEAQEREREVG2MYAgIiIiIqJsYwBBRERERETZxgCCiIiIiIiyjQEEERERERFlW8Hs35TIOr788kv56quv7K7Lnz+/eHl5SYUKFaR9+/YyYcIEKVGihN1tRo8eLQcPHpQTJ05IwYL883pZ//M//yPffvutzJo1S5o1ayaO8NFHH8ny5cufuz5fvnxSpEgR9bx269ZN3njjDfHw8BBH+n//7//J6tWrZevWrRIQECB56cCBAzJmzJhs3Rb7YNu2bbm+TfrvJDv+67/+SwYMGCB5Rb9ONm3aJJUqVRJXfT/SfHx8pFy5ctKuXTuZNGmSei2/jI4dO8qjR49k165dYkYXLlyQypUrO3sziCyDRzhEWRg6dKg0adJEff/kyRN58OCBHD16VKZOnSorVqyQOXPm2H1ovf322zJo0CApUKAA96uLwnNUtWpV4/LTp0/l+vXr6vn8v//7Pzl37pz861//EndRrVo1+cc//mF33aJFi+TQoUPP7QscjOYF/Xei3bt3TwUK2Bb8zFbjxo3zZJvM9n6k3bx5UzZu3CjTpk1T702zZ8+23PvP5MmT1dfx48edvSlElsEAgigLDRs2lL59+z53ff/+/WXixInqa+3atcZqQ6tWrbg/XVzLli0zXNV4/fXXpV+/frJmzRp58803pVatWuIOSpUq9dxreN++fSqAyGxf5Lb0fydXrlxRAURG20ovfj/Cqtm4cePUatP27dulc+fOltptP/74o6SlpTl7M4gshTUQRC+hTZs26gMby+arVq3iPnQDSE9DYAhhYWHO3hyibEN65ZAhQ9T3CAyJiHIbAwiil6RTMJDXbpvbHRQUpHKJtdjYWPnss89Ufn39+vXVV48ePeTrr7+2u51OR/jtb38rrVu3lgYNGsjIkSPl8OHD0qVLF/W7be/ntddek6VLl6qzyLitTlOJj4+X//3f/5XevXurM5Z169ZVZyT/9re/SUJCgvE7li1bprZ1//79avtwn9i2wYMHqwPopKQk9X9wfaNGjWTEiBESGRlpt72pqanyww8/yMCBA9VtcF+oD/n9738vd+7cydZ+RPoF7hPb2rZtW/niiy/k8ePHmZ5pRD4/0lrwmJEbj8fhKN7e3hlef/78efnVr34lLVq0UI+xa9euah8nJyc/d9uFCxeqfY99if2OlJLMoC4CB3547Nh/eL7zogYhKzdu3FDPH54LPFb8i8u43hZeg3hdot4H243nA6+VTz75RO7evevQbcrq9Z6T/Yiz1FOmTFHPD34HTgTgeY2JiXnutteuXZNf//rX0rRpU/V7hw0bJrt3737udkh5w+/AdmF/derUSf3dxMXF2d0O++R3v/udek3gdliF+Y//+A85c+ZMrr528Z7yhz/8wXg+O3ToIH/9619V2tiLpKSkqPcp7Hv8X6xWffDBB3L69GnjNjNnzlTvI0gBTG/Hjh3qZ0ivsv17Hz9+vPpdderUUf8ibS19+hH+H15LqEXB+wv+nnDb//zP/1Tvqba3i4iIML5HDUtOH3tuPzdE7ogpTEQvqUqVKuqsNQ6gMvPw4UOVt4zaCRyAV6xYUe7fv68+bHGgjANQHKToDzHc9vbt2+pgBb8fBY1jx45VOc0olLSFvH0cRKGYG3CQg4AEB9j4gMfvwPcIGtavXy/Tp09XH7z//ve/7X4PPnBLly4t77zzjjroR0CA75HCgwN5fLhj23A9vscHui7U/MUvfqFSJnAgjwM4HHBgmxcvXqw+fHEwnZV58+bJn/70J6lZs6b6XYmJieo6BC/pzZ07V/7yl79IvXr15L333lNnXRG8IeA6efKkOgB4VToYxEGEhqAJq014zDgw9fPzkyNHjqgib6QCodDb09NT3faf//yn2k84iEXhNJ5LFIRnRN8WBys4AMW+Qzoc9j0eE+4zr+FgGI8RQSiezxo1akh0dLQsWbJE7Rs8N3hdangt4/WJvHwc2OF5QH0FglIEdi9b0JuRjF7vOdmPqGF66623ZO/evepAEn8fOJBEgIftxWsWReTau+++qw5Y8Tvxd4MDZaQsIojR6W0424/twd/n8OHD1f/Ha2PGjBkqgFmwYIF6veDvCGlGSNXC/sXtLl++rGqoEJTg7xN/g45+7eI+sF0I9PHegvs9deqU2i78nertywj+Dw708XiQNoX9iANy/B+8NhAUIJDv06ePeg6wEosUQFsoRi9UqJCRdoX9glQ17Ff8DeNnCBzwfoii+i1btthtD/YNgkM8V9h+PE8rV65Uj2v+/PnqNnhNoP4Bq8H4Hu+xOXnsefHcELmlp0T0nC+++OJpzZo1ny5dujTLvdOmTZun9erVMy6PGjVK/b+0tDR1eebMmeryhg0b7P5fXFzc0zp16jzt2bOncd2f/vSnDG/7hz/8QV2P353+fhYvXmx32y1btqjrp06dand9amqq2taGDRsa1+Gx4bbYBvxc+8tf/qKu79+//9PHjx8b1//tb39T1+/du1ddPnnypLr85z//+bn9MmjQIPWzO3fuZLrvHj58qLYH95+YmGhcf+3ataehoaHq/+/fv19dd/36dbW/Jk6c+PTJkyfGbfH9b37zG3Xbo0ePPs3Khx9+qG63efNmtV366+bNm+r/fvTRR+rn7777rt3vx/a1a9fu6b179+x+36JFi9Ttp0yZoi5fuHDhae3atZ++/vrrTx89emTcLioqSm07bnv58mV1He4Plz/99FO734nnYfTo0er2eMy5Re8LvX+1MWPG2D3H2s6dOzN9Df7+97+3u+2MGTPU9f/zP/+T7e3Bfkn/+21l9nrPyX5cvny5uu0///lPu9sePHhQXf/ZZ5/Z7Zvf/va3drdbsmSJ3ePC30aXLl2e1q1b9+nZs2ftbjtv3jx1W7ymIDIy0u61oq1du/Zpjx49nm7fvj1b70ezZ8+2e+3eunVLvb7+/ve/Pw0KClJ/s7avvTfeeONp48aNn168eNHu9+3Zs0f9vj/+8Y/GdR06dFDvERq2FbdZt26d3f+NjY192qxZM7Xd2gcffPC0Vq1aT2/cuGH3Hod9o/+esF34f3379rXbRsD2477Wr19vXIfL+AoPD8/wtRATE2NcN2zYMHWdrew+9ld9boisiilMRK8AKRFoA5oZrADgjCdSPWzhjH7RokXVmV4NZ7rQ0QmpTrbQmjEzSJuwhfQJFFKOGjXK7nqcCS9WrJg6w48zsbaQjoMzgbZdewDbgbP8mm5pibOQgLOw4eHhxgqKhlUMPDawTZlKD2fvsT1IBStcuLBxffny5aVXr152t0XaA/Z19+7d1Vlj7D984fuePXuq22BlJDuwP5GKpL+QxoIUKpwxxtlk2w5MOPuOlRS0yMR+0/eLL5zFxsrD5s2b1W2xEoOzmVhpsu2CU7t27eeKhlGoDUhls/2dWLHCdXis+H15CfeP1w5SdrBfbCEFBNfjLHH61DSktNjC48fzn93nIyfSv95zsh/xGgKcVbcVGhqqVh+wYmEr/dl0veKh02eioqLk4sWL6rWq/2Y0nDHHmWzcJ14TZcqUUa8JrM5gm3V6E7YRqyVI+8sOrMDZvnbxusJ24mw8XsPoDqdfe7gPnEEPCQlRK0G2+wd/u4GBgcZrNyPYLl9fX7VaYPt/8fvxejh79qxasQKkGOHvQz8fsG7dOnX2Hz8D/D+c+cdKju3fB94D9PuP7fshoOVx+i5ceoUF72mZycljd9RzQ2Q1TGEieklIF8KBCj6AsoKDcN1i8dKlS2p5XB9Yly1b1kgFwYcb8rLTw230AXl66FqTHmYY4IAIdQy4PyzN40NRBzr4oLcNDNL/Dt1RKv31+kPfNgDBfeFAYc+ePepgCveFA0zb+8oMtg0y6t2e/oBM56gjTSYzV69elez48MMP1UEE2rdiG5BWgYMRpEAhHSN97QMg3QFfWd2vfjwZzQ7A40E+ePrHkz7Qy+7jwesuff0F0ukye51kB5477BOkLWUE1yOAwO1KliyprsMclPTpHTgYxAEaDjAdLf1rMif7EduN7c0oZQf59S+6L52mhoNi2+e7evXqz/1fvP6xv/CcI8jF3zDqSP7+97+rgBt/f8HBwSp4RQCQ3fkFCHBRZ4Ln6datWyr9CkHu+++//1xghL9H/P1hG9IHhLaQ8qUfW/p9i9dYVv8X+xavbWwTAn+kF+kUM6Ql4bWBYMP2/QInHXCyBL8f/x+paXg8oP/VMkod0jNaMquTyuljd9RzQ2Q1DCCIXhLyvXGG0zbnOD3kz+ODHcFG8+bN1YcSDixwVg2FofoAW7cgzGyAGQ4OM2IbCACCE+TxIhjBGWN84Ywwzp7+8Y9/zLBDi+3qg62sVlYAQQl+N85C4kwfDsLQxQg1CjjLmN3uVPgQTy/9gYTeT59++mmmw70yy+VOTxduAs7g4gwyHsdvfvMbdWCO/Zd+O3BGOf3KkJZ+YGBOHg+Gg2U2ewEHZJlB0Xv6oXjY9yjefVnptzE9fcBm+xrN7PWK13tuDFJM/3rPyX580Wpheq86SyH9/sJrDKtlO3fuVAE3Vnu++eYb+f7771VBfvpVyowgWLFdhcFZctR14OAXAQWC4/T7BoXBtq/p7D5O/H+sAGDVIzO6FgTPCw628XhQZ4D3KzR/QG2B7esAB+g4y4/HgfckDK/D70AwgVqo9HLyfKXf9pw8dkc8N0RWwwCC6CXpA+TMDiwBBctYlsdtUSis4WAGZyaRVgQ4o4uzxxl1g8GBOs6Q2xavZgaFvUgxQqcZpN3YwgGGI6GoGWeZ0Skl/Yd0VukFmg4E9Fl+WyiItKWnNyOlIn0aC1JKEKjhrPfLwH5HpxkcAH3++eeqkwsCItv7xcF1+vvFQQpSVPT92j6e9EFlZo8HZ1h1aozt2VP8jsy66gAOzNKvlrxoJexF9OPIrPMMnmsc0OlVM/2awmqa7cE7ztDjbH92Xq+vKif7EbfF84DVvuLFi9vdFq9h/A6cyc/p/spopQWvF9w30mfwmsXfOvYrDpbxvOnnDml8OGOPg9WXOUhFcIIDXBQpY5UTwbFO/9P7BqsI6V+7gIJl7IfMAj38f7yXIMUr/UkGdD1CowPbExtIVcL7D1YX9O/U6UuAkxcIHpCGiMYCtsEBCrUdKSePPbeeGyJ3xxoIopeAVA7kHeNMWlYBBD6c8CGb/qw5Ug/w4abPUuIMHlolonsSzoDZwoHBi84O294f2AYrgANdHFC9aOk/J/R94YDbFs486jkK6dvU2sLZfwRQCETQpUpDChRSIdLXaWAf4QAlfYcmnHVHXcOrTKFF5xa0e8T24iyuzsVGIIBcdmxP+uAOHabQ6hFdeQAHGTjQwvOl01z0ASZyv23huYYvv/zSbh8hsETnIHS70rUmWZ2Jtv3KKJUmJ7CCo+sccPBkC/nkOADEz21XehBEIe/eFlLCkNeevo4lN+RkP+L5wd8RumbZwsErnsvsth3WkOaCIAJdgnQtgIZ8eqTn4HWr2w9jxTF9GhxW63AQ+yqrNTgQxgoEDshxFl+320UKFrpj4f0k/VwTnGnH3wxONGQG72sIDnEW3hb2J+pFdLqPhn2B1wdqX5DWiE5ktlPOEbgBVmBtgweslqLL14veL7KSPr0yJ489N58bInfGvwyiLODgQn844eADqwG4Dh+SOJDCgUtWHzAoasbZbUw5xgEVfgcOJpGbi8ACB6q4Dh+oaGOK69EqEkvqyL1F20J84GUX7g/tHJHWgKJKnKHEByg+0HF/CFpwsO6ItoRIP0AghLoEbC/OtOIgHqk12Gc4iENKUGZQOI2UJByIoA0sWi1iX6BVaPozntgXODv8f//3f2qlAOk6uD88VhzcoqBZH6y9LPxOnJnEF1pNIk0IjwN94/GcoNgbqUwIBo8dO6YCBwQeaPcJ/v7+8stf/lK1kkSbS2wnHj/aQSJQsj1ARV42fh8OnHBbpE/gucJKFVZTsD8zysvPbUhzw31jEjeeDwQlODuLA2IcqOLn6SGAQOocDhix7Xj+UcuTVV2Co+RkP+JsOIpi8feIoA4phVhBQQCLNKesmhVkRL829N8aWobizDfeHxBwIvBEK18dvCCox+sX+woHpwiy0OpWt0t9FXgsOAhGcPTxxx+r5wTvKXi+8Dzg/QfPJ7YBKyM4WMbzaZvylB5eAyhAxzYjXRP3gfcO/F/8+9///d/PpVZiH+s6JewbW0jbxH0iIMH7EP52sFKFvyP9PpHV+0VWdE0OWmMjiEFAnd3HntvPDZG7YgBBlAWcmdSzDPCBjHQIHMziwxX971GUmRUcXOJAAwWFOCjFgSRSO3AQg4NQnFHHGV/k5OOgHqsaSHvC7XGmHWkZOBhAilBm+ebpP8Dx4YyDInzAI7UEH9R//vOf1dk5pGrgjBsO2B1x8IZtxQEBHg+2DwfROCuPA08cWOG+0qeW2EION/Yh/j96ueOABEO+cJCObU6/L/F7cZCEs4d4PDjriQMWHDy9as464D6RnoEDUuRPIzDBwQgOoJHKgIMKHORgJgcOThFY2AZjSHnAwSieM6Rp4EAFrxPUReC5toUDLOwbvL4QiGL78drC9XpIYV7D/sVjxPOBVStsGx4ftgdnnW3TlzQEkdjmDRs2qNvirD9um53XqyNkdz8i0Me8CLx2sGqArlvYXjzPCN5fJqjGQTVeG3jt4kAYJwTwN4CDTuwHBLk6WMYclu+++06dEECAgyAZB6v4+0Ft1KtCsIJgGmfd8fePg2esDuL5xPbZPp9YucHfU2b1RID3DgTz2F94bhFM4PGgqxhWPPDYM1q1QM0EVjnxt20LJ1ywOof3DOwzHJzj9YT/g4N8bBPeL/C+kVPY1wgO8PyiWQX+ZrP72PPiuSFyR/nQy9XZG0FEz+oGcDCd/kAYKQPoZPKqRbJEjoSgDcEvBikyzYOIyFpYA0HkIjARGsvv6Xuh62LtrM7kExEREeUVpjARuQikH2EJH+lKWG3A0jrSnLAMj+4qjkg7IiIiInpVDCCIXATaG9rm46IDCvLpUW+BXPu8yiknIiIiygprIIiIiIiIKNtYA0FERERERNnGAIKIiIiIiLKNAQQREREREWUbAwgiIiIiIso2BhBERERERJRtDCCIiIiIiCjbGEAQEREREVG2MYAgIiIiIqJsYwBBRERERETZxgCCiIiIiIiyjQEEERERERFlGwMIIiIiIiLKNgYQRERERESUbQwgiIiIiIgo2xhAEBERERFRtjGAICIiIiKibGMAQURERERE2cYAgoiIiIiIsq1g9m9KRERERGR+aWlpcuHCBUlISJDk5GRJTU0VDw8P8fLyEh8fH6lcubIUKlTI2ZvpshhAEBEREZFbBwtRUVESHh6uvsIOhUtk5FFJSU7O9P94enlJ/foNJDSkiTRp8uwrODiYQcVP8j19+vSpvkBERERE5A7CwsJk8uTJsnDRIklKTJR8+fJJ2So1pFytBlKhdn0pVz1YvIr6SkEPTyno4SGPUlPlUWqKJD98IDfORsnVk5Fy/eQRib1wVnC4XNjbW4YOGSKTJk2SkJAQsTIGEERERETkFpKSkmTBggXy1deTJSL8kPj5B0qTfiOlSuOW4h9UTzx9iuT4d6YkxMu16GMSE7FXwlfMlbvXLkuTkFB5b9K7MnToUClcuLBYDQMIIiIiIjJ94PDZZ5/J15MnS9z9+xLUsqM0HTxeglp1kvwFCjjsfp48fizRe7bKwcXTJHrvNilWvLi8N2mSfPzxx5YKJBhAEBEREZFp7du3T8aOe10VRTcfOkGaDRonJQOr5Pr93rkcIweWzJD9C6eqoutZM2dI8+bNxQrYxpWIiIiITLnq8Jvf/EZat24tKR4+8t68bdLjl3/Kk+ABcD+4v0nztqr7b9WqldoebJe74woEEREREZnK/v37ZczYcWrVodPbH0rrUe9IgYLOay76+NEj2T1nsmz55u9SpUoVt1+N4AoEEREREZnGkiVLpG3btsaqQ7tx7zs1eADcf7txH8h787ep7cL2YTvdFQMIIiIiIjKFqVOnqs5HwZ16y1tT10iZqjXFlZStGqS2K7hjL7Wd06ZNE3fEQXJEREREZIrg4Y033lBF0n0+/JtDuys5UoFChWTIX78RzyK+MmHCBHXd+PHjxZ0wgCAiIiIil4Z0oLfeeksFD31/+w81FM6V5S9QQPp9/E+1nW+++ab4+vrKoEGDxF2wiJqIiIiIXLpgGjUFdTr1lsF//Uby5zdPBv6Tx49l0e/fkahta2TXrl1uU1jNAIKIiIiIXBJaojZo2EgVJqO2AOlBZvM4LU2mTOglnqkJcvTIYbcYOGeeEI6IiIiILOWTTz5RrVoHfvqlKYMHwHYP+PQLiYmJkT/+8Y/iDhhAEBEREZFLTpj+17/+peY8uFq3pZfpztT5nQ/V40FKltkxhYmIiIiIXDN1ybOITJy21mU7LuV02NyU8T3dIpWJKxBERERE5FI+//zzZ6lLf/zCLYIHPWxOpzLh8ZkZVyCIiIiIyKVWH/wrVJB6vYZLj1/+SdzNuv/5oxxfu0CuXrli2lUIrkAQERERkctYuHChxN2/r2Y+uKNmg8bJvbt3ZdGiRWJWXIEgIiIiIpfRJCRUEr2KydgvF4i7mvHeUCmS+lAOhR0UM+IKBBERERG5hLCwMIkIPyRNB48Xd9Zs8HgJPxSmHq8ZMYAgIiIiIpcwefJk8fMPlKBWncSdBbXuLH7lA9TjNSMGEERERETkdGlpabJw0SJp0m+k23ReygweX+N+o9TjffTokZgNAwgiIiIicrqoqChJSkyUKo1bihVUbdxCPV48brMp6OwNICIiIiIKDw+XfPnyiX+tepnujJiDO+XIyrly69xJSUtKFC/f4lK+dkMJHfqGlK5WW91m2UcT5OrxQ3b/L1/+AlKosLeUqlxDWox5X/zrNH7ud9+7ckEils2QK0cPSMK9O1LIq7AULV1OqrfqKvV6DBbPIr7GbZdlcB+SL58U8vSSomX8JbhLP2nUf0yWT6p/rfrq8eJx169f31QvAK5AEBEREZHT4UC6TOXq4uldJMOfn9q2Wtb8+QN1gJ+WnCgePkUk8f4dObd3iyz+zVi5eeaE3e0RAPiULCM+fqWlsG9xSUtKkGsnImTFH96We1cv2N329K4NsuAXQyVq03J5cPOa+r9pyUly69wp2TfrC1nyn+MkKe7uc9tUSN8HvkqUUtOm7146J7un/ksOL5+V5eP19CkiZSpXU4/bbLgCQUREREROF3YoXK0mZObg/O/Uv7U795H27/xOCnp6SdyNK7L8t2/Iw1vXJXzxVOnx8b+N2we17ykd3vuDcflB7DVZ+IthkvwwTk5uXiktx/1CXX/nwhnZ8r+fyOPUFAls2Fzav/s7Ke5fUZ48fiynd62X7V/9RQUFhxZNlTZv/sZum9LfR2pivCz/+E2JPRslkWvmv3AVonythupxmw0DCCIiIiJyegH10aNHpMt7vTK9TfydWPWvh3dRFTxAsXIB0u7tj+Tq8XC10pAV3zL+4lepulw7Hi6PUpKN68OXTlfBQ+FiJaT7b/9bPH2KGoXOtTr0koIeXpKa8FBKVw9+4ePw8C4iAQ2bqQAi6cH9F96+Qu0GsmXyGlVIXbCgeQ7LzbOlREREROSWLly4IKkpKVIui4P0gHqhcjF8txxdNVcuhO2SyqFtJbBRcwlo0FSqNGuf5e9//ChNrh47JDdPH1eXq7boYPzs/P4d6t+a7XoYwYOt6q06Z+sxPH6Upuoozu7erC6XqfbigKNcjWBJSU6WmJgYqVGjhpgFAwgiIiIicqqEhAT1r1fRnwuV02s/6Xey8vcT5f61SxJ3/bIKJPCF4ug6XQdI89HvqZoE7fiGJeorvVav/1IC6jdV3yOdCbURUKx8gHGbBzevqrqH9MbPfBYcvOg+vHxLSOs3/t8LH7dnkWcBS2JiopgJAwgiIiIicqrk5GcpRQU9PLNMQRrx9TI58+MGObt3q1w7dkhSEh6qbkxHVs5RKU7dP/qncXsEEx4/rSg8efxIkh/EydMnj1XKUsnKNaRSk1Z2vz9/gZ8Pi1H/kPBTylRWCnkVVulUSXH3jG5PzUdNkuCu/cS7eMkX//+fHq9+/GbBAIKIiIiInCo1NVX9W9DDI9PbPE5LU52QanXsrb6ePnkiN88clwPzvpVL4Xvk7J7NknDvdpYFzpv+9TuJObBDNv7zIxk3faN4FS2mggzUONy7HGPcFkXU7685qr4/uWWlKrLOSNBP9xF79qSs+fP7knD3lpzculJqdeqdrcdd4KcAIiUlRcyEbVyJiIiIyKk8fgocHv0USKR3JTJMJvcPkenjuhotWPPlzy/lgupLq3H/8exGT59K0v27md+HdxGp232w+j4l/oHcu3xefV+laTv175ndmyQ18Vk6k60nTx6/cPvLVK8tXX71mZoFcf/qRdn4jw9VgPMiKN4GT8/MV15cEQMIIiIiInIqL69nXZUe/XRAnV752g1UAADbv/yLOtOvVxUilk5X3xcq7GNXx5DRCsbZ3ZueXciXz+jaFDJ4vFoJSLx3W9b85QMVAOjbn9i4THZP/bk1bFYCGzaTej2GqO8xbyJy7YIX/p+0nx6vfvxmwRQmIiIiInIqHx8f9W/ywwcZ/rxAIQ/pMOn3KvUIE6Cnje2i0o9S4h+qugZoMXqSFPLyNv5P9I61EhO269mFp08lOf6Bcca/RuuuUqRUWfW9X8Vq0uWXf1FpSujUNHtiH1UEjeLqx2k/r4igS9OLtBz3H3Lx0I9qGN3+2V9L9VZdsmwvi+0Hb++ft9sMGEAQERERkVNVrlxZPDw95cbZKKnerG2Gt6nZrruqVzi6co6as5CaEK+6GJWqEiT1ew2Tai062t0ek6TxpeTLp4qki5bxV21Z0bHJVo023aRU1SA5tmahXDy8V+Jv3ZD8BQtKsfKBElA/VGp37qfSlF7Eo7C3dPzgU1nx+4lqdWTX9/+Q7h/+XNid3o0zUeLp5SVVqlQRM8n39OnTp87eCCIiIiKytqbNmktaqYoy9K+TxSoW/u4d8bh7RQ7s3ydmwhoIIiIiInK60JAmcv3kEbGS66eOqMdtNgwgiIiIiMjpmjRpIrEXzkpKQrxYQUpCvMReOKcet9kwgCAiIiIip8OBNDLrr0UfEyu4dipSPV4GEERERERELyE4OFgKe3tLTMReS+y/8xH71OPF4zYbrkAQERERkdMVKlRIhg4ZIuEr5sqTxy8e3mZmTx4/logVc9TjLVjQfE1RGUAQERERkUt499135e61yxK9Z6u4s+jdW+Tu9SsyadIkMSO2cSUiIiIil9EkJFQSvYrJ2C9fPMnZrGa8N1SKpD6UQ2EHxYy4AkFERERELuP99yZJ9N5tcudyjLijO5dj1OPD4zQrBhBERERE5DK6du0q3j4+cmDJDHFHeFwl/PxkyJAhYlYMIIiIiIjI6ZKTk2Xz5s0ybdo0adK4sexb8IPEnj8t7uTm+Wj1uCa9+64ULlxYzIo1EERERETkNE+ePJGIiAjZvn27JCYmquvS0tJkyvc/iFdpf5k4fZ0UMGGnovQeP3okU8b3FK+0RDl65LB4eXmJWZn/2SAiIiIi08EQtejoaNm6davcvn3buL5AgQLSunVr6dKli3Ts2FF2z/lG2o17X8xu95zJciXqiOzZs8fUwQMwgCAiIiKiPHX58mWVroR/bdWpU0c6d+4sxYsXV5d/9atfyf998Xep3bablKla09SpS1u++bv8+te/lubNm4vZMYWJiIiIiPIEVhq2bdsmJ0+etLs+MDBQrTjgX1uxsbFSv0EDKeRXTt5GKlOhQqZ7ph4jHWtCL7dIXdK4AkFEREREuSo+Pl527Nihah2QuqSVLFlSrTgEBQVJvnz5ngs25s2bJ7169pQZM2bI4k8myZC/fiP5CxQw1cTpxZ9MkuvRx2TXrl1uETwAAwgiIiIiyhWpqamyd+9e9YXCaK1IkSLSvn17adSokeTP/3xT0EuXLsmCBQskKSlJrUqMGjVKZs+eLV5Fi0nf3/7juWDDFT19+lRW/u1DObZ5pSxatMgtUpc0BhBERERE5FCPHz9Wqw07d+6UhIQE43oPDw9p2bKltGjRQn2fEaQ3LVu2TB49eqQulytXTtVCtG3bViZMmKCu6/Ph31x6JeLJ48cqeDi4dKZMnTpVBg4cKO6EAQQREREROeys+6lTp1RnpTt37hjXY5WhSZMm0q5dO/Hx8cn0/x88eFDWr19vXK5ataoauObp6Snjx49X17355puSEv9ABv3pK5esiXiclqbSlrDygOBBb7c7YRE1EREREb0ypB2hs9KVK1fsrg8ODlbtWFHvkFXggaADLU61+vXrS58+fVRbV1tLliyRESNGSPmgejLg0y+kbNUgl+q2tOzTD1TNw/z5891u5UFjAEFEREREL+3WrVvq4B8zHWxVqlRJFUgHBAS8MN1p1apVEhkZaVyHORAIOjKrddi/f7+MGTtOLly4IJ3e/k9pPepdpw6be/zokZrzgFatVapUkVkzZ7hVzUN6DCCIiIiIKMcePnyoOisdPnzYrrNS6dKlpVOnTlKzZs0XFjunpKSoAuPz588b1/Xo0UNCQ0NfeP8osP7kk0/k3//+t1So3UClNDljVsTNn1YdMCQOcx7+9Kc/SeHChcWdMYAgIiIiomzDQT+6Ku3bt8+us1LRokVVZ6WGDRtm2FkpowBk7ty5cvPmTXW5YMGCMmDAAKldu3aOng10Z/rlr38tcffjpMWwN6TZoHFSMrBKrj+jdy7HyIElM2Tfgh8ssepgiwEEEREREb0QUo3Cw8NVZ6XExETjenRTQsoRDp4LZbOoGWlPCB7i4uLUZZyxHz58+HOD5F4EnZq++uorNTPixx9/lKORkRJ3/74EtewozQaPl6DWnR3arQndlaJ3b5EDi6dJ9N5tUsLPTya9+658/PHHbr/qYIsBBBERERFlCulJUVFRaoL03bt3jeuxyhASEqLaq2bVWSmjYmsUGCcnJ6vLxYsXl5EjR0qpUqVy/Czs3r1b1V9AtWrVVNHywoUL5auvJ0v4oTDx8w+Uxn1HStXGLcS/Vn3x9CmS4/tISYiXa6ci5XzEPolYMUfuXr8iIaFN5b1J76oOUVYKHDQGEERERESUIRQpb9myRa5evWp3fZ06dVSRs5+fX472XEYzHhA8YLBcTmG+xBdffKGG1aHWYuLEiVK2bFnj52FhYTJ58mRZuGiRJCUmqtuUqVxdytdqoGomytUIFs8iRaWQh6cU8PCUx6kpkpaaIinxD+XGmSi5evKoXD91RGIvnFNBVGFvbxk6ZIhMmjRJBU5WxgCCiIiIiOzExsaqM/unT5+2u75y5cqqs1KFChVyvMfSz3jAisHgwYPVjIeXsWbNGpVSBY0bN5bevXtneDsEK1hBwW3xFXYoXI4ePSIpP62AZMTTy0saNGgooSFN1PwKfKEdLeo0iAEEEREREf3kwYMHqrPSkSNH7DorlSlTRgUO1atXf2FnpfTwe7CKgcJrrUGDBuqAP/2Mh5wEON9++6363ajBeP/993O0ioGgIiYmRtVyIJUKheEIZLy8vMTb21sVRTNYyBzDKCIiIiKLw0E0hrhhvoJOLwJfX1/p0KGDGuqWnc5KGRVer1y5Uo4dO5btGQ/ZgYF1OsDB78tpChSCgxo1arz0/VsdAwgiIiIii8IBPmoFdu3apeYqaDgbjwPzZs2aZbuzUno4q4+CZpzpBwQM3bt3z9aMh6ycPXtWfekAxyqtU10JAwgiIiIii8HZ+xMnTqjOSvfu3TOuR0oRDvDbtGmjUnleVkYzHtAhqVatWq+03U+ePJFNmzYZl5FW9bIBDr08BhBEREREFgoczpw5o+ocrl+/bvezevXqqXSlEiVKvNJ9OGrGQ0Yw9Rq/H1DIXbdu3Vf+nZRzDCCIiIiILBA4IJVo+/btcuXKFbufoWC4S5cuUr58+Ve+H0fOeMgoJQrbr3Xt2vWV6ijo5TGAICIiInJjFy9eVAfe+NcWAgYUM6OdqiMOxNEqFTMeUFfxqjMeMhsah9kPgJaqFStWdMjvpZxjAEFERETkhjD8DYHDuXPn7K5HS9b27duregRHncE/cOCAbNiwwWEzHtK7f/++7Nu3z6jTQO0DOQ8DCCIiIiI3cuPGDRU4pB8CV7JkSRU4YIq0owKH3JjxkBEUe+uVjaZNm75ynQa9GgYQRERERG4AxcUojkYqkS3UIbRr1+6lZznkZMYDujehENuRtQmo2dD3gYLstm3bOux308thAEFERERkYnfv3pWdO3dKZGSk3fVFixZVB9uNGjVy6GoApKWlyaJFi4x5DAgYevToISEhIQ69H6xw2LZtxQoKpkWTczGAICIiIjIh1AVgANyRI0eMqczg4+OjVgKaNGmi5i84GjosodMSOi45csZDRrCacvnyZfU9OjnhMZHzMYAgIiIiMhEMaUPgEBERoQaraUjvadWqlRoE5+HhkSv3HR8fr2Y8oM4CcD+Y8VC5cmWH39ejR49UfYWGVrOOXkmhl8MAgoiIiMgE0MIUrUwPHTqkDq41dDpq0aKFNG/e3GFdjzJb8Zg9e7ZKmQJMqh41apRD5kdk5ODBg+o+9ayKGjVq5Mr9UM4xgCAiIiJyYUlJSarLEVqlovZAw9n/Zs2aqeABqw+56fbt2yp4ePDggbrs6+sro0ePdsiAuMyCJayyaBwa51oYQBARERG5INQa7N+/X31hCrOGmgOkKSFdCfUOue3atWsqbSkxMdFoB4vgoVixYrl2nygK148ZReAYSkeugwEEERERkQtJTU1V6Tt79uxRQYSG/H8UEbdu3Vp1WMoLFy5cUAXT2CbAgTzSlnIzcEE7WqRpQaFChVRbWHItDCCIiIiIXADSk3DgjMABKTwaZjc0bNhQtWTNzbP+6UVHR8vixYuNAW6VKlWSYcOG5Xob1c2bNxtdpfIyWKLsYwBBRERE5EQ4QEdHpR9//FF1WNIwWwHD3xA4+Pn55ek2HT16VA2J0wfyKGAePHiwWhHITefPn5czZ84YdRao7yDXwwCCiIiIyAnQghUH6sj3j4uLs/tZnTp11NC03CpSzgqKtTds2GBcrlevnvTt2zfXW6hif9gOjevYsWOuByz0chhAEBEREeUhHCgfP35cBQ66JaqGYWwIHMqWLZvnzwlWG9D5aMeOHcZ1mCyNCdNYDcltGIh38+ZN9T1aw2L1hVwTAwgiIiKiPDpAP3nypDpAR6GwrerVq6vAoUKFCk7bto0bN6rVBw3TrFHAnBfBAzoubd++3bjcrVu3PLlfejkMIIiIiIhy+eAcBclYcdATnDVMcMZBesWKFZ26IrJq1SqVTmU7dyEv6w9QOI4p11C7dm1VsE2uiwEEERERUS4dmEdFRani6NjYWLufBQYGqsABE5adCROtlyxZogIcwFn/3r17q9kLeQX1H/v27TM6TnXu3DnP7pteDgMIIiIiIgd3VTp27Jjs3r1b7ty5Y/cz5PYjcEDKkrNTdJA2tGDBAjXrAVAkPXDgQLUCkJe2bdumAhlo2rRpnnecopxjAEFERETkADgIRiEw0nHu379v97OAgABVU4B2qM4OHABTpTFdGlOmAd2OMOOhatWqebodV69elcjISPV94cKFVctacn0MIIiIiIhecQBceHi47N27126Og65xwEEx/nWFwAEePHggc+bMMQq5MRhu5MiRKsjJ69oQ27at7dq1U0EEuT4GEEREREQvmQIUFham8vdxRt8WUpSw4uDM4uiMoG3srFmzjLkTRYoUkdGjR0uZMmXyfFuQ5nXp0iX1fcmSJVXLWDIHBhBEREREOZCUlKTaneIrOTn5uTkOCBz8/f1dbp+iAxRWHhISEtTlEiVKqOAB/zoj+Nq8ebNd29bcHlRHjsMAgoiIiCgbcOCN1QasOqSmphrXIzUJk6MRODjjTH52XL58WebNm2cEPNjOUaNGSdGiRZ2yPWhpq9u2BgUFqdoQMg8GEEREREQvqBlAfQPqHHS3IN1yFNOSW7durVJwXNXZs2dl4cKFxraj1mHEiBFOqzdA7YUeWIdVB6w+kLkwgCAiIiLKwL1791RHJXRWQmtWDQe9mJPQqlUrKV68uEvvuxMnTsiyZcvUTApAl6WhQ4eKh4eHU7YHhdMbNmwwtgf70BkpVPRqGEAQERER2bh9+7aa4YD2ojjgNQ6aChZUhb6Y0Ozr6+vy+wwrJmvWrDEuBwcHS//+/dXjcJZTp07J+fPn1ffFihVTqzdkPgwgiIiIiETk5s2bamo0ztrbwtl6DDhr3ry5+Pj4mGJfIeXKtkgZKya9evVSaVfObHe7ceNG4zJSlzB/gsyHAQQRERFZGoaZIXCIjo62ux7zERA0IHgw03wCPBZMd9awYtKlSxenz6HAqo5uH1utWjXVsYrMiQEEERERWRJmEOzatUvOnTtndz1WGXDQjXQlT09PMQukW6G7Eb60Dh06qO5Qzg4eMH8C9SSAVZDXXnvN6dtEL48BBBEREVkGDrJjYmJU4HDx4kW7n6GlKYp6GzdubLrUGjwurDrgLL/WuXNn9XhcAVKXdCE6VnVKlSrl7E2iV8AAgoiIiNweDrDPnDmjAgekLNlCJyUU8zZo0MCpBcav8tg2bdok+/fvt6svwIG6Kzh9+rT60kFa27Ztnb1J9IrM91dCRERElIOD65MnT6rAAUXStjC7Aek9devWNe0UZDy+9evXq+F2Wo8ePSQ0NFRcAWZP2BZOoxbDTGlhlDEGEEREROR2MGfg+PHjqqAYbVltlS1bVgUOtWvXdmpXIkcED2vXrlXtWrXevXurFCxXgcndqH+AihUrqmCNzI8BBBEREbmN1NRUOXz4sErnuX//vt3P/P39VfpMzZo1TV/AiwBp9erVasgd4PH07dtXpWG5CnRcQgCntw8rI2bf7/QMAwgiIiIyvfj4eDlw4IAcOnRIkpOT7X6GM98IHDCF2R0OYBE8rFixQo4dO6Yu4zFhQFy9evXElWAOBWY/AFKqsPJD7oEBBBEREZnWrVu3VJoMpkbrLj9a9erVVXF0pUqVxF3gMS5fvtwYdocUrIEDB6op064Ena70Nnp7e6t2suQ+GEAQERGR6XL/McMB05Z1dx8NB9Q4E9+yZUspU6aMuBMED0uWLJFTp04Zj3XIkCESFBQkrradKOy2bSeLoXzkPhhAEBERkWlSd9BRCYHDtWvX7H6Gzj5NmjSRZs2aia+vr7gbdDNavHixETCha9TQoUOlRo0a4moOHjyoVoagQoUK0rBhQ2dvEjkYAwgiIiJy+cJoFAsjVSl9YTSCBcw7QOchd20PijqChQsXGhOzMati+PDhqqbDFWtRduzYYVzu3r27W9SdkD0GEEREROSScDCKs9mYcZC+MLpcuXLSokULqVOnjmlnOGQ3eFqwYIGqKQBMyB4xYoRUrlxZXNGWLVvUNgOCOqxAkPthAEFEREQuBXMbsNpw9OjR5wqjq1WrpuobqlSp4vZntlNSUmTevHmq3gM8PDxk5MiRqquUK7p8+bJ6zgA1D506dXL2JlEuYQBBREREpiiMxoqDVVqBYsVl7ty5cuXKFXUZ6VmjRo2SgIAAcdX6lHXr1hmX0XUJ3ZfIPTGAICIiIqceeKKrEAKHq1evWqowOjNJSUkyZ84co1AcZ/NHjx6tBuG5qoiICLlx44b6HkFeSEiIszeJchEDCCIiInJaYTQmRt+7d8/uZwgWEDQgh95q7T8TExNl9uzZxsE4zuIjeEDNhytv87Zt24zLmDiNVSNyXwwgiIiIKM8kJCQYhdE4024LZ65R3+DuhdFZ7ZtZs2ZJbGysuuzj4yNjxoxx+XkWCB70c1m/fn2XrdEgx2EAQURERE4tjEY7UgQO+NfdC6Mz8/DhQxU8YD9BkSJFZOzYsVKqVClxZUizCg8PN4q8MTSO3B8DCCIiIsq1wmh05kF9Q3R0tN3PkOJSt25dVRjtyuk5eeHBgwcqeLhz546RwoWVh5IlS4qrP7+2E6fbtWsnRYsWdeo2Ud5gAEFERES5UhiNFQfdRUjDWWpdGF2sWDHL73kMxkPwoOtAsE+w8lCiRAmX3zdYTdLPL1ZK8JySNTCAICIiIodNTNYTo9MXRuPMNA4wETxYrTA6M9hHM2fOlLi4OHUZQQOCBzMEVmgzi6FxthOnrVi3YlUMIIiIiOiVJ0ajKDqjwmgUAKO+AelKPMD8GdKVsPKA9CVAuhLSlszSrhaF0yj6huDgYFW/QtbBAIKIiIheCtJX0FHpxIkTKm3JFg4oUd+AydFWLYzODAqlsfKAwAtKly6tggcUTpvleUewCIUKFZKuXbs6e5MojzGAICIiomx79OiRChgQOOhBZxoCBV0YXb58ee7VDNy9e1etPOjgAa1rMecBLVvNAB201qxZY1xu3769KVKuyLEYQBAREdELIdXm0KFDauKwTl3RChcurIa+hYaG8mAyGzUPaNkK6D6F4AHD4sziwIEDcvPmTSP4ad68ubM3iZyAAQQRERFl2YYVqw0nT558Lk0JB8BNmzZVqw5IZaHMoVAawYOueUBtiNmCB3SM2rFjh3G5d+/enDhtUQwgiIiI6LluSsePH1eBw40bN55LU0LRLAKHwMBA1jdkA4IG225LaHmKmgczBQ8IJtetW6deG4Dnv0KFCs7eLHISBhBERESk4AAXxbFIU0rfTQkHu2jBGhISYppOQa4A6UoIHnRbW91tySw1D1pUVJScOXPGaMnbsWNHZ28SOREDCCIiIgvDmeWLFy+q1QYMf8NlW/7+/upsc506daRgQR425AQKpVEwjcJpPecBwYPZpjVj5sOGDRvsZj54eno6dZvIufhOQEREZEFIRYmMjFSBQ2xsrN3P8ufPrwIGnabCNqw5l5iYKLNnz1YtW6F48eJqSJwZV2+2bt1qdI2qWbOm1KpVy9mbRE7GAIKIiMhCkEqDNKXDhw+rM8u2MIdApymZZSaBK0L6F1YedGCGoMEsE6YzmvmA7luAQvkePXowoCQGEERERO4OaUkxMTFqtSE6Ovq5nwcEBKjVBhRHc1r0q0FQhpUH3eoU6UoIHrACYTaY+bB69WrjcocOHUwZBJHjcQWCiIjITaWmpsrRo0dV4KBTaTQECmi/isABdQ706lJSUmTOnDly/fp1dRmrOAge/Pz8TLl79+/fb6yioGVvs2bNnL1J5CIYQBAREbkZFO0iaDhy5Ig6qLWFM+JIUUKqktk6Abl6sDZ37ly5evWq0bUKBdPoumTWVDc98wE1MJz5QLYYQBAREblJmtK5c+dU4KDbbdqqWLGiWm1AASzTlBwfPMybN08N3dOTuRE8lC5dWsxIz3x49OiRusxVKkqPAQQREZGJYYUBKw0IHHS7UA1tV+vVq6cOAJGCQrnTzWrBggWqFS54eXmp4KFs2bKm3d0nTpyQs2fPGitWqH0gssUAgoiIyIRQ04CgATUOOANuC4WuSFNq3LixqaYdmw3O0C9cuFAVqANmI4wePdrUwVr6mQ/ousSZD5QeAwgiIiITdcU5ffq0hIeHq3Sl9CpXrqxWG4KCgtQsB8rd4GHRokXG8+Dh4SGjRo0yfUH6li1bJCEhQX2P1xFnPlBGGEAQERGZoKA1IiJCzW7QB3caevPXr19fBQ5lypRx2jZaLZBbsmSJUWuC52DkyJGqHa6ZoYYDwakOiDBxmigjDCCIiIhc9CD11KlTKnA4f/78cz/HXIHQ0FBp1KiRKtqlvPHkyRNZunSpMU8DdSYjRoxQRepmf72tWbPGuMyZD5QVBhBEREQuBIXQOAuMwujExES7nyEtCWklaMFatWpVTgR2QvCwfPlyOXnypBE8DB8+XKWOmd2+ffuMmQ/ly5dXK1pEmWEAQURE5AL59Hq1QRfk2ipRooQqiG7YsKEaTkbOCR5Wrlwpx48fV5fRCnfo0KEqkHOHFLmdO3eq7znzgbKDAQQREZGT3LlzR602oJNSRqsNKGDFakOVKlW42uDkuQirV6+WyMhI47kZMmSIVK9eXdzhsa1du9aY+YBp01iBIMoKAwgiIqI8hAM1pMBgteHChQvP/dzPz89YbeCkaNc5wEZKmQ4eBg8eLDVr1hR3gBUV3UnK19eXMx8oWxhAEBER5dHcBr3akJSUZPczHJQGBwerwAH59EgjIdcIHtavX290JsLzMnDgQLdpbYrX4caNG+1mPqD7EtGLMIAgIiLKxdWGqKgodQB66dKl535esmRJFTQ0aNCAqw0uGDxs2rRJwsLCjOChf//+KtBzF7YzHxAUoUCfKDsYQBARETnYrVu3jNUGTPa1heJbvdpQqVIlrja4aPCwdetW2b9/v3Fd3759pV69euIuENAijQ4484FyigEEERGRA6SlpRmrDRjIlV6pUqWM1QZvb2/ucxeGjkR79uwxLvfu3Vs9b+4i/cyHjh07qvoHouxiAEFERPQK0DsfQQM69GS02lCnTh3VSSkwMJCrDSaAVQfd0hR69uypAj93snfvXrVKBv7+/mogIVFOMIAgIiJ6idWGEydOqMDhypUrz/28dOnSKmioX78+p0SbCDot2RYVd+3aVUJCQsTdBhXu2rXLqOvo1auXKuInygkGEERERNl048YNlTeO1YaUlBT7D9SCBY3VhoCAAK42mAwG+a1atcq43LZtW2nRooW4W20HUpf0zIfmzZtz5gO9FAYQREREWUhNTTVWG65evfrcz8uUKaOCBhTYFi5cmPvShM6fPy9LlixRB9iAlJ727duLu7GddF6sWDG3fIyUNxhAEBERpYMDSXSpQRclBA8IIuw+PAsWlLp166rAoUKFClxtMDEEhQsWLFCFxYC0s+7du7vdcxoXF6fa0toWhnPmA70sBhBEREQ/uXfvngoakKKE79MrW7assdrg5eXF/eYGBfBz585VNS2A6dJ9+vRxu+ABAfHq1auNQLhRo0ZSrVo1Z28WmRgDCCIisjTUMmCVAYFDRsPecJZW1zagY427HVxaFQLE2bNnG1PBMQF88ODBqnOWOxaHnzt3Tn1ftGhRVRxO9CoYQBARkeU8efJE5YIjaDh58qRRVGqratWqqvc/JvQy1cO9PHz4UAUP8fHx6jICw2HDhqnUNHfz4MEDu85SSF3i6hm9Kvf7SyEiIsoEet/jbOyxY8fUQWRGw94QNCAPnoO13BNWHObMmWOkqOE5HzlypHh6eoq7QerS2rVrjY5heG3XqFHD2ZtFboABBBERubXExEQ5fvy4Wm24du3acz9H5yQUROPgiilK7g01AKh5QO2D7kQ0evRot50MjkD59OnT6vsiRYpIt27dnL1J5CYYQBARkdtBR50zZ86ooAEHUEhZsoXBWTgTq8/IumPqCtlDmhq6LelWvD4+PjJmzBi3XWlCetb69evtJmqzzTA5Ct8xiYjIbdI1rl+/roIGrDhg5SG9cuXKqaABXZRwAEnWgABy6dKlxgwE1ABg5cHPz0/ckU5dSk5OVpexwoZaHiJHYQBBRESmhloGtF1F4IAah/SQuoGAAYED2rCStegWppg0DYUKFZIRI0a49WshKirKeLxIz8JcCyJHYgBBRESmg779OEBC0IApwnqCsIZWnDjjiqAB/e6RskTWg9cFhqehcB7wOhgyZIgEBgaKu0pISJB169YZl3v06OG2NR7kPAwgiIjIdNOhcYZVd5axhQNDBA2Y28BWlbRr1y7Zv3+/2hGY3zFw4ECpXr26W+8Y1D3o9L3atWurvwUiR2MAQUREpp4OjU46CBrw5a457ZRzBw4ckB07dhiXe/XqJcHBwW69KzHTBEMRAQXTWH0gyg0MIIiIyOVgdQGrDAgcLl68+NzPMdgNB4MIGipVqsTp0GQHweaGDRuMy126dJHGjRu79V7CqgMKp7XXXntN1f8Q5QYGEERE5BI4HZocITo6WlasWGFcbtOmjbRs2dLtdy6mTaP+AWrWrKkaBxDlFgYQRETk1LoG9OVH21WkXqB3fXqcDk3ZhTatixcvNorqQ0JCpEOHDm6/AzHrBKsugNofpGuh5oMotzCAICKiPIWDuxs3bqiAAYFDXFzcc7fBQRB61zds2JDToSlbEIhiUByGCALOwKMGwN0PpDHrYc2aNcZlTJsuWrSoU7eJ3B8DCCIiyhOY0aBXGu7cufPcz/V06Pr166sUDE6Hppy8tubOnSupqanqMl4/ffv2dfvgQacuYRYKoMMU6oKIchsDCCIiyjXomqSDhps3bz73cxzgVa1a1ZiUy9arlFP379+X2bNnS1JSkrqMovpBgwapWSDu7uzZs8aMCzQWYOoS5RUGEERE5FAPHjww0pOuXbuW4W1wkIegAX3qfXx8+AzQS0HNzKxZs4wz8OXLl5fhw4eradNW6FSGCdta165dVUtjorzAAIKIiF4Zur+g7SqCBgx7y0hAQIAaaoUv5mjTq8KKA1Ye9GwQFNuPHDlSPD09LbFzN2/erIJ1qFKlitu3qSXXwgCCiIhe+gBOD65C9xvd+cZWuXLljKChRIkS3NPkEGlpaTJ//nyJjY1Vl3HmfdSoUZZZzcLfW3h4uPoeqy19+vSxRL0HuQ4GEERElKO0CfTZR9CA/GvMbkgPZ4IRMCBFCd8TORJec0uXLpXLly+rywgaRo8ebZn0HRSKr1q1yrjcuXNnKV68uFO3iayHAQQREb3wbO+ZM2dU0IB+848ePXruNjiAQcCArzJlyvBsKOUKrHKtW7dOBbG6cBhpSyVLlrTMHt+yZYsqHNe1RKGhoc7eJLIgBhBERPQc9NI/d+6cqmnAwZpuj2kLdQx6pcHf359BA+W63bt3G6k7aPs7dOhQVThtFRcvXpSwsDD1PdocM3WJnIUBBBERGakhyK3GSgNqGzCgKj1vb28JDg5WQUPFihUZNFCeQbvSbdu2GZcx5wEtgK20EmibutSxY0fx8/Nz6jaRdTGAICKyeEoIuiZhpQFdlBITE5+7DWYzYEYDggZ0e8GZX6K8hHob25alyPvHwEErQfB09+5do6NZs2bNnL1JZGEMIIiILBg0YD6DHvCme+jbQmcXBA1IUapWrRqnQpPT4LW6aNEio2AfOf8tW7a01DOCgvH9+/er7zEgD6svDOTJmRhAEBFZAA6+cBBy6tQp9aWLMG3hwKRmzZpqpaFGjRqWGMZFrg0zHubNm6fSdwCDB1977TVLpc6h/mjFihXG5Q4dOrC7GTkdAwgiIjeFbkmoaUA9AwqhM0pPwllMrDAgaAgKCrLMEC5yfXi9zpkzRw0phMDAQOnfv7/lzrxv2rTJSF2qUKGCtGjRwtmbRMQAgojI3eY0oOUqVhnwb0bdk3AAVrlyZZWehDO6hQsXdsq2Er1oUJw+cMY8keHDh1tuVQx/w7YD46wYQJFr4goEEZHJ4QwtVhgQNJw/f161YE0PLR+rV6+u6hqQpsSggVx9UNyVK1fU5SJFiqhZD1Z7zWIFZuXKlcblrl27WmreBbk2BhBERCaEGgakJiFoQG0DCqMz6p6EtCQEDUhTstrZW3KfQXFWm7SM/bBmzRojfQvBf5MmTZy9WUQGBhBERCY5oIiNjTWKoG/cuJHh7TDcDQEDvjClFoXRRGbx448/Pjcorly5cmI1kZGR6gQBYOWFA+PI1TCAICJy4aABaRx6pQEdaTKCtAYEDKhn4ERoMvOguO3bt1t2UJzt6iJWYbTevXurEwNEroQBBBGRC0H9AjonIWBAGkd8fHyGt0OgoFcaSpcunefbSeToQXG2U5atOChO13+gZatuftCgQQN1YoDI1TCAICJyMhws4AAKQcPp06dVJ6X00PceKUk6aChWrJhTtpUotwbF6Tqepk2bWm5QnIZhcRcvXlTf428cMy+IXBEDCCIiJ3VYQbCAoOHcuXNqZkNGnZNQ/Kw7J3l7e/O5IrcfFNetWzdLDYrTbt68Kdu2bTMu9+vXTzVCIHJFDCCIiPJIXFycUQSNs4wZdU7CIDcECwga0HkFXWiIrDAormLFijJgwABLzjnACYTly5cbLZgxLA6zWohcFQMIIqJcdOvWLSNoQKpGRtDnHu1WcfYVBw3snETuDisOWHmwHRQ3bNgwtepmRSgexwoElClTRjp27OjsTSLKkjX/UomIcgnOIGJ1ARNk8XXnzp0Mb+fn52fUMwQEBFgyZYOsPSju6tWr6jI6DI0aNcpyg+I0vF/s3btXfY+TB1iFsWogRebBVygR0St68OCBKoJGwIBJ0LqDSnroZ6/braJzEoMGshqk7a1du9ZuUNyIESMs2xQADROQuqR16NBBypYt69RtIsoOBhBERC9xBhXzGfQqg049SA8BAvK69UqD1abpEmU0KC4iIkKsPihO27Bhg6qNArxXoPaByAwYQBARZQMKPdEtCQEDVhuSk5MzvB06JdWoUUN9YQiWVdMyiF40KA5dhqw4KE7DgEjsE70S079/f0sWkJM5MYAgIsok1eL69evGKoPO185sqJsOGjgJmuh5+BtKPyiuXr16lt1VGBC5Zs0a43L37t25QkmmwgCCiOgnWFVADYMOGnR7yYxaraLFqv5CFyUiyhi6jy1evJiD4mxOTiCYQhtbQHojJk4TmQkDCCKy9Ac52qzqgOHy5cuqviEjaK2oVxkCAwOZakCUDRwU9zzUgOD9Bnx8fKRXr15sqECmwwCCiCwFHZIuXLhgBA26gDG9QoUKqfxsrDAgaLBqlxiil5WUlCRz587loDgbmHuxceNG43KfPn1UEEFkNgwgiMgSH9o6YEDwoKe9ZjSbQa8yVKpUib3YiV4S/sYWLVpkzEGx+qA4wOomWrZiiB40btxYTZ0nMiPr/iUTkdt69OiRXLp06YXD3DC0CZOf9SpDyZIl83xbidx11gOCdcAZ9pEjR1q+I9nu3btV+2coUaKEdOvWzcnPFNHLYwBBRG4zzE23WM1qmJuvr6+xylClShXVPpGIHAdTlQ8fPmwE6Zj1YPUZKCgk37lzpzEfBi1b+d5DZsYAgohMCWkAWGVAsID5DFkNc0PRsw4aUAzNCdBEuePUqVOyZcsWu1kP+Puz+nsVUpd0g4bWrVtbfp+Q+TGAICJTwIcvzuIhYIiJiVEdkzKrZUDKhE5L4jA3oryBuSnLli0zLrdv317q1q1r+d2PgOr27dtqP5QvX17atWtn+X1C5scAgohcNo8atQsIGPCFfOqUlJRMb89hbkTOTSGcP3++USCMIXFt27a1/FOC966DBw+q/YACcqQuIa2LyOwYQBCRy3j48KGxwoB/cTkzKEJEDQNWGFAIzVaIRM6BeiMED/rvFSlLaE9q9VRBtLFdsWKF3fTt0qVLO3WbiByFAQQROXXy88WLF41VBr3MnxFvb28VMOigAQEEETl/pRD5/Tdu3FCXUSyNomkrt2vV1q1bZwRVeM9q2rSpszeJyGH4F05EedpeFW0M9SrD1atX1QFIZoPcMItBBwxly5a1/BlNIlfM70fhNHh6esqIESO4GigiR48elePHj6v94uXlJX379uX7F7kVBhBElGsQHODMpE5JwmoDgoiMIN2hQoUKKlhA0BAQEMCzmEQuLCIiQrVs1X+/gwcPZoqOiKrdwhwMrWfPnqp9NJE7YQBBRA517949uzoG5AFnBvnAtnUMOINJRK4Pf9+2B8ndu3eXatWqidXhBMmSJUuMYvKGDRuyExW5JQYQRPRKEhISjGAB/96/fz/T2xYtWlQFC3qVAZeJyFxQq7Ro0SJjrkGzZs0kNDTU2ZvlMilduh4Ek+0RWBG5IwYQRJTjjit6gBu+MhvgBlhRsC18xgeq1TuzEJlZYmKizJs3TzVAAMxa6dq1q7M3yyWcPn1aDhw4oL5Hq9ZBgwZx2jS5LQYQRPTCJXkUO2MOgx7gps88pocPzYoVKxoBA4Ym5c+fn3uYyE3eC7DygDRFQGODgQMH8m/8pxbUK1euNPZVly5dpFy5cs57sohyGQMIIrKDM4sIErDKgC8ED5lNfAYECTolCcEDuicRkfs1RFizZo1qhACYuzJ8+HDWLYmoEyqYwI3VGQgKCmLLVnJ7DCCILC4+Pl4FCjgwwL9IScqstSr4+fnZFT5jPgMRubc9e/ao1qSAGQ8IHooVK+bszXIJu3fvViu0gG5LHKJHVsAAgshCEBigyBnBgg4Y7t69m+X/QcCAlQWdmoRBUURkHVFRUbJ161bjcr9+/VTLZRK1Wrtjxw61K1DfNWDAAJ5UIUtgAEHk5gFDbGysESzgS09GzQzymhEsYIgb/mWnJCLrunbtmpo0rXXo0EHq1Knj1G1yFWhRvXTpUmPFtm3btup9k8gKGEAQuRHUKuADXwcL+NLdUjKCAmecSdQBQ2BgoJqaSkQUFxcn8+fPN4Y/NmjQQNq0acMd89PJmdWrV6t9BHgPRQBBZBUMIIhM3lL1ypUrxgoDvs9s0jOgwBlBgl5dQPDAomciyui9BcEDaqQA7xe9evViG+afhIeHy8mTJ9X3OOmC1CV2nCMrYQDxApgmieIoDMvCmVy8qXp4eKg3DHShQBEpD8Aor6DLh+3qAlYbsip4RoGzrl9A0IC2gvyQI6IXdRVCao6e8VKiRAkZOnSoKp4mUWmhGzduNHZF3759WVBOlsN3g3TBAorFcGYBX2GHwiUy8qikZJEC4unlJfXrN5DQkCbSpMmzr+DgYAYV5BBYHrftkHTr1q0sb4+uKHp1AV+lSpXiGUMiypHNmzeroWiAk2UjRoxgYbDNccKSJUuMlV5M4K5VqxZfYWQ5+Z5mdfrSIsLCwmTy5MmycNEiSUpMVAdcZavUkHK1GkiF2vWlXPVg8SrqKwU9PKWgh4c8Sk2VR6kpkvzwgdw4GyVXT0bK9ZNHJPbCWXU2uLC3twwdMkQmTZokISEhzn54ZBJ47dy5c8cIFvCvzq/NDAIEHTDgX7ZVJKJXcejQIVm7dq36HquVI0eOVC2b6RnMwsAJRt1w4o033uDKDFmSZQMIdE9YsGCBfPX1ZIkIPyR+/oHSpN9IqdK4pfgH1RNPnyI5/p0pCfFyLfqYxETslfAVc+XutcvSJCRU3pv0rlr+LVy4cK48FjJvOhKGtNl+4XWZGQS2GNpm2yGJMxiIyFHOnTsnc+fONdIiUfOAVXV6BhkKixcvVt8jdfnNN9+U0qVLc/eQJVkugMAB2meffSZfT54scffvS1DLjtJ08HgJatVJ8hco4LD7efL4sUTv2SoHF0+T6L3bpFjx4vLepEny8ccfM5CwICx337hxwy5YeNH8BeQbBwQEGOlIKH5G/Q0RkaMhPXLq1KmSkpKiLrdo0UK6du3KHf0TzM/59ttvjf3Tu3dvady4MfcPWZalAoh9+/bJ2HGvq6Lo5kMnSLNB46RkYJVcv987l2PkwJIZsn/hVFV0PWvmDGnevHmu3y85B/6kEBzYBgsIHtBiNStYTbBtqYrVBhYtElFenFj7/vvv5d69e+pyUFCQDBkyhA0XfoL37hkzZqgud4A5GAMHDmR9GVmaJQIIvDl+8skn8u9//1sCghvKwE+/lDJVa+b5dtw8Hy3LPv1ArkQdkV/96lfy5z//masRFkxFggIFCqgAAQEDVhnwLyY8I02JiCgvOy4hben8+fPqMjq1vf7661zttIEp3Lt371bf43164sSJnJdDluf2AcT+/ftlzNhxatWh09sfSutR70gBJ7aie/zokeyeM1m2fPN3qVKlClcjTJ6KhDNS+qxdVkqWLKkCBX9/f/Uviu8QRBAROdOmTZvU6jygNTny+tmM4WcxMTEya9Yso6gcwRXew4mszq0DCLRaQ/u58kH1nLbq8KLViOvRx2TevHkyaNAgZ28SZZGKhEABMxeym4pkGyzgXxbQE5GriYyMlOXLlxsHx2PGjFHpk/QM5j+h7kEP0+vUqZO0bt2au4fInQMIFIO99dZbUq9rPxn8p6+kQKFC4moep6XJ4k8mybHNK1X+6fjx4529SZbGVCQisgqcEJk+fboxz6BHjx5qpgE9g0MjTOI+c+aMuoxWtqNGjWKaKZE7D5JD8IDezCiS7vPh3xzaXcmRENQM+es34lnEVyZMmKCuYxBhjlQk1Czgi6lIRGQ2OKO+cOFCI3hANyHOLHo+/VkHD0jt6t+/P4MHIncOIJC2hJUHBA99f/sPl/+DR3DT7+N/qu1E7qmvry/TmRwMKUexsbEqYLh+/brRFQnFg9lJRdLBAr4wlZWIyMzvh5hl8ODBA3UZ7aG7d+/u8p+Veb06s2XLFuNyv379pEiRnM+GInJnBd3tjAFqHup37Sd9Pvq7ad4QsZ1YKUl+GKe2HwetbPP6cpKTk+XmzZsqUND/or/5i4IFtEvVXZH0F7siEZG72bBhg5p0D0WLFpXBgwezXbQNzHlYunSp8ZnRsmVLqV69unOeLCIX5jY1EGib2aBhI0nx8JG3pq5xyZqH7NRETJnQSzxTE+TokcMsvM0CXrYPHz5UKwm2X9lJQ4JSpUrZBQtMRSIidxcRESGrV69W36MLHDoK4f2PfoaichSXAxpgIK2YHfOI3HgFAnMe0Kr1vXnbTBk8ALZ7wKdfyFfDO8of//hH+cc//uHsTXIJOBOEbkg6BUkHCyh6zs7qDoIFrC4gSECPc3woMBWJiKzk8uXLsnbtWuNyr169GDykc/ToUSN48PDwUOnEDB6I3DiAQA/rf/3rX9Lt/T+4VKvWl1G2apB0fudD+de/PpMBAwZYLpUpLS3NqFfQX0hFwvUvUqhQISNI0F9lypRR1xMRWRXqHRYtWmSk5TRt2lQaNmzo7M1yKXfu3JF169bZBVglSpRw6jYRuTLTpzAZqUueRWTitLUu23Epp8Pmpozv6fapTHju9KqCrle4ffu2Sk96ERQ461UF/Itgwc/PT/UyJyKiZ9BpacaMGap5BFSuXFm1I+WZ9Z/hBNUPP/ygTl4Bgqu+ffvyJUTkzisQn3/+uZG65A7BA2BStk5lwuP7y1/+ImaGgCAuLu65egVclx04C2S7qoAvFP+ZpUieiMhZ771IW9LBAyZMo2iawcPz+0gHD6VLl1ZdqYjIjVcgcAbbv0IFqddruPT45Z/E3az7nz/K8bUL5OqVK6ZZhcASOVYRbGsV8IXuSC+C1QO8eesVBXxhhYH1CkREOXfgwAHVdUl3msO8Ibyv0s/Cw8NlzZo16nuku6INPOrmiMiNVyAwCCfu/n0188Ed4XH9OHuyyl0dO3asuGJhM1qk2n4heECf8RdBgVr6VQUED/iQIyKiVxMTEyMbN240LiMlh8HD8/Me1q9fb1zu06cPgwciK6xANAkJlUSvYjL2ywXirma8N1SKpD6UQ2EHnXL/CAYyCxReNFtBwwCe9PUKSEtiChIRkePdv39fpkyZolbpoVWrVtK5c2fuahvYN9hH2Fe6sJypS0TZZ9rTvWFhYRIRfkjG/O9ccWfNBo+XWb8cpR5vaGhorgYK6EKRPlDAddkNFJCChELm9J2QOMGTiCjvCoKxOq+DBwxB69ixI3e/DZw3XbFihRE8YBZG165duY+IrBBATJ48Wfz8AyWoVSdxZ0GtO4tf+QD1eKdPn+6QjhwZBQpYZchJoFCyZEnVIhW5okg9wvcIHlicR0TkvAPjVatWqbozwHsy2oGzO529PXv2yOnTp9X3qC9kYTmRRQIIdYZl0SJpPe4Dt+m8lBk8vsb9RsnCmV/I999/n+0aAR0ooLNE+kAhu1lrCAYQKCBAsP1ioEBE5Hr27t0rx48fN+rMhg0bZpoGHHlZG7Jt2zbjMgIsdKciIgsEEFFRUZKUmChVGrd84W1jDu6UIyvnyq1zJyUtKVG8fItL+doNJXToG1K6Wm11m2UfTZCrxw/Z/b98+QtIocLeUqpyDWkx5n3xr9P4ud9978oFiVg2Q64cPSAJ9+5IIa/CUrR0OaneqqvU6zFYPIv4GrfV91H3tUHS4b0/5OjxVm3cQrZ88zf1uOvXr/9cMKVXFBAsoDYB/967dy9HgYJeSUgfKPDMFRGR6zt79qxs2bLFuNy/f3/1Pk4/e/jwoSxdutT4bGzXrp1K8SIiiwQQaLuGAlz/WvWyvN2pbatl879/r77PX7CgePgUkcT7d+Tc3i1y4dCPMvDv06VsjTrG7REAePgUxTqwPH3yRJIe3JNrJyJkxR/eluFfLpISFSobtz29a4Ns/b8/yqOUZ+1JEZikJSfJrXOn1Ff0jrUy4L9+kMLF/F758frXqq8er/5w0IECgoacBApYvcgoUEBBMwMFIiJzwkkkHBhrODCuVauWU7fJ1aDOb8mSJZKQkKAuV6tWTdq2bevszSIyLdMGEGUqVxdP7yJZ3u7g/O/Uv7U795H27/xOCnp6SdyNK7L8t2/Iw1vXJXzxVOnx8b+N2we172m3OvAg9pos/MUwSX4YJyc3r5SW436hrr9z4Yxs+d9P5HFqigQ2bC7t3/2dFPevKE8eP5bTu9bL9q/+IncvnZNDi6ZKmzd/88qP19OniJQMrCILFixQZ1CyEyjo4AABA+oT8H3x4sUZKBARuZGUlBRVNK1n7SBwQABB9rZu3SqXLl1S3/v6+rI2hMiKAUTYoXCVhvQi8XeeTZb08C6qggcoVi5A2r39kVw9Hi4+flkv7/qW8Re/StXl2vFwY6UBwpdOV8FD4WIlpPtv/1s8sWrxU71CrQ69pKCHl6QmPJTS1YPFUQLqNJbrxw/YXYehNzpAsC1mRj4nVxSIiKzRTQir0YDPgH79+rFFdjonT56Uffv2qe/x2YiiaW9v77x/wojciOkCCOT8Hz16RLq81+uFtw2oFyoXw3fL0VVz5ULYLqkc2lYCGzWXgAZNpUqz9ln+38eP0uTqsUNy8/SzgrSqLToYPzu/f4f6t2a7HkbwYKt6K8f3265Qu4Gc2LpK2rdvr2Yp6BUFzlIgIrKmnTt3yqlTp9T3Xl5eMnToUPH09HT2ZrkUNA5ZuXKlcRntWgMCApy6TUTuwHQBxIULFyQ1JUXKZePsfvtJv5OVv58o969dkrjrl1UggS8UR9fpOkCaj35P1T1oxzcsUV/ptXr9lxJQv6n6HulMaUnPciiLlf/5TejBzauy5D+fn4g9fuZmcYRyNYIlLTVV/P39pUaNGg75nUREZE4IHBBAAE4kDRw4UHXNI/sTjosWLVJpXlCnTh01MI6ILBhA6AIor6I/dzjKKgVpxNfL5MyPG+Ts3q1y7dghSUl4qLoxHVk5R6U4df/on88XUYvIk8ePJPlBnDx98lilLJWsXEMqNWll9/vzF/h596H+IeGnlKnc4Fnk2XYlJibm2n0QEZHrQ8rS8uXLjcudOnViN6EMrFu3Tm7evKm+R3DVu3dvrtoTWTWA0IViBT1evEz7OC1NkuLuSq2OvdUXOivdPHNcDsz7Vi6F75GzezZLwr3bmRZRpybGy6Z//U5iDuyQjf/8SMZN3yheRYupIAM1Dvcuxxi3RRH1+2uOqu9PblmpiqwdqdBPj1c/fiIish5MmEZDjdTUVHW5bt260rLli1uaW83hw4flyJEjRr3gkCFDmN5F5ED5xWT0m2ZBD48sb3clMkwm9w+R6eO6yr2rF9R1+fLnl3JB9aXVuP94dqOnTyXp/t1Mf4eHdxGp232w+j4l/oHcu3xefV+l6bMOF2d2b5LUxGcrIraePHksjlbgpwBCL8USEZE1i6aR1w/lypWTPn368Kx6OpjEjdUHrVevXqrBCBFZOIDAdE149FMgkZnytRuoAAC2f/kXSbh7y1hViFg6XX1fqLCPXR1DRisYZ3dvenYhXz6ja1PI4PHqgD7x3m1Z85cP5P7Vi8btT2xcJrun/twaNqPgIjUp8bmvx2lZPx50fQIWyBERWdPu3bvl9OnT6ntMmEbRNM6u08+wSo+6h0ePHqnLISEhzw1gJSILpjCh0wQ8+umAOjMFCnlIh0m/V6lHmAA9bWwXlX6UEv9Q1TVAi9GTpJDXz63cMPwtJmzXswtPn0py/APjwL1G665SpFRZ9b1fxWrS5Zd/UWlK6NQ0e2If8fItoYqrbQMBdGlKL2rTcvWVXq1OfdTvzEzaT9uhHz8REVlHTEyMbN++3biMoml04iP7FRp0XMKAVUDTkW7dunEXEeUC0wUQPj4+6t/khw9eeNua7bqreoWjK+dI7NkoSU2IV8XIpaoESf1ew6Rai452t8ckaXwp+fKpIumiZfxVW1Z0bLJVo003KVU1SI6tWSgXD++V+Fs31LTrYuUDJaB+qNTu3E/KVK/tsMeNwAfYu5qIyFowQBSTpnGADBgUh0nKZA+zHmzb2mLeAwarEpHj5Xuq35FM1JatSNGi0uW930vrkW+LVeye861smfyZxD98yDdEIiKLePz4scyaNcuYoozAYcSIERwWms7Fixdl5syZRpA1fPhwqVmzZt4/YUQWYboaCOR7NmjQUK6ejBQruXryqHrcPJtCRGQdW7duNYIHX19fGTBgAIOHdOLj42XJkiVG8NCmTRsGD0S5zHQBBISGNJHrJ5+1Z7OK66eOqMdNRETWcPLkSZWWA/nz51cpOUxjtffkyROV3oUgAqpUqSLt27d3wrNFZC2mDCCaNGkisRfOSkrCszcMd4fHGXvhnHrcRETk/u7cuaMKgrWuXbtKQEDmXQOtatu2bXLhwrNW7UWLFlXF5Qi2iCh3mfKvDAfSWKq8Fn1MrODaqUj1eBlAEBG5P9T6LV682Jj7U6dOHWnatKmzN8vlREdHy549e9T3+fLlk0GDBhmNVogod5kygAgODpbC3t4SE7FXrOB8xD71ePG4iYjIvWEI2s2bN9X3pUqVkt69e3NYXDpo1YqhelqXLl2kYsWKeftEEVmYKQMIFFIPHTJEwlfMlSePHT/12ZXg8UWsmKMeLwuoiYjcW0REhBw5csT4rEPdAweIZrxCg6FxULt2bWnevLkTni0i6zJlAAHvvvuu3L12WaL3bBV3Fr17i9y9fkUmTZrk7E0hIqJcdOPGDbX6oGHloUyZMtznNpDOu2bNGrl+/bq67OfnJ3379uUKDVEeM20AERoaKo2bhMjBxdPEnR1YPE2ahIRKSEiIszeFiIhyCc6mL1q0SM19ALzn16tXj/s7nQMHDkhkZKSxQjNkyBCu0BA5gWkDCHj/vUkSvXeb3LkcI+4IjwuPD4+TiIjc96w68vmR1w/+/v7SrVs3Z2+Wyzl//rxs2rTJuIyVh7Jlyzp1m4isytQBxNChQ6VY8eJyYMkMcUd4XJi63aNHD2dvChER5ZK9e/eqjkLg5eWl6h5Y82YPwZXtsLjWrVur7lRE5BymDiAKFy4s702aJPsXTpXY86fFndw8Hy17538vjRs1kh9++EF9wOilbSIicg8XL15U06Y1TJouXry4U7fJ1aSmpsqCBQskKSlJXa5Ro4Z06NDB2ZtFZGn5nupw3qTwhtKgYSNJ8fCRt6atlQIFC4rZPX70SL57vYck37omb735hsrzhJIlS0rPnj3VpE0iIjI3TE/+7rvvjCnKbdq0kY4dOzp7s1wKDlGw8hAVFWV8Dr7xxhtqpYaInMfUKxB6FWLmjOlyJeqI7J7zjbiD3XMmy9WTR2XRwgXSrFkzu8mks2bNUtNJExMTnbqNRET08p48eaIOjHXwgBND7du35y5NZ/fu3Ubw4OHhIcOGDWPwQOQCTB9AQIsWLeRXv/qVbP3276ZPZULq0pZv/i6//vWv1YcJ2vi99dZbEhAQYNwGPcK//vprOXbsmJEPSkRE5rFt2zaVvgRFixaVgQMHSv78bvGR7DCnT59W+8k2vQuD9YjI+UyfwpRhKtPUNVLgp7QfM3mcliZTJvQSr7REOXrksN1ZFjxN4eHhsmXLFklJSTGur169ukprYs4sEZE5oGAaOf2AoGHs2LGcopzO7du3Vf2f/rxDzUPbtm3z/skiogy5zekOpDLNmjlDrkcfkyV/fM90E6qxvYs/maS2HylZ6fM78+XLp/qCY6Acpm5qZ8+elcmTJ8u+ffvUkjgREbl2N6Hly5cblzt37szgIYOZGAiwdPCAzzzUhxCR63CbAAIwyn7evHkSuWmFrPr7R6ZJ78F2rvzbh3Js80qZP3++ehyZwVI3BueghS2+h7S0NNUbG2drMMmUiIhcz6NHj9SwONsD46ze760In4cIsFDzB5jE3a9fP06aJnIxbpPCZGvatGkyYcIEaTZonPT58G+Sv0ABceWVBwQPB5fOlKlTp8r48eOz/X/xIYSUpkOHDtmtVKAmBPUTunsTERE53+rVqyUiIkJ97+fnp+rbPD09nb1ZLgU1Dz/++KP6Hivxb775ptpXRORa3DKA0EEE3njqd+0ng/70lUvWRKDmYdEf3pVjW1bJD99/n6Pgwdbly5fVB9OtW7eM60qUKCG9evWSqlWrOnCLiYjoZaD5BTroAYbEoRUppyjbQ7elxYsXGyfDRo4cKdWqVeMLjsgFuVUKky0cjC9cuFBObF2tCpPR3ciVYHu+Hd9Dbd/gQYNeaaJmYGCgTJw4Ua06FPhptQV5trNnz5YVK1aw5SsRkRPdvHlT1q5da1zGyR0GD8/vI3xe2daGMHggcl1uuwKh7d+/X8aMHScXLlyQTm//p7Qe9a5Th81hSBzmPKBVa4UK/tK5UycVAABqG2wLpF+2cwVWIy5dumRc5+3tLd26dZN69eoxj5SIKI8Lgr///nu5e/euuty4cWPVnpvsuyhiH+HEF+Czqn///vy8InJhbrsCoaFADS1Rf/HB+7Lpq89kyvieTpsVgVUH3D+245f/8Qs5GRUlI0aMMH6+dOlSuwP/l4Ee2ePGjVNnuHRuLYbOoSht7ty5xhs0ERHlLpyfW7VqlRE8lC9fXrp3787dnsFAPf3ZhH2EAAspTETkutx+BcIWWp2OHfe6Wo1oPvRZkXXJwCq5fr93LsfIgSUzZN+CH9S0UbSb1Z03VAemlSvl6NGjRtEY0q9Kly79yvf78OFD2bBhgzHFU+feop827p9Di4iIcs+BAwfUe7B+b0fRNOrT6GfoIIjPZr1ajn1UrFgx7iIiF2epAEIvlX7++efy9eTJcu/uXQlq2VGaDR4vQa07O7RbE7orRe/eIgcWT5PovdukhJ+fTHr3Xfn444/VzApbjx8/Vu1bz507py7jzRNdpHSbVkcMLVq3bp08ePDAuE6f5cG/RETkWNevX1ed9fD+DsOGDZOgoCDuZhuRkZHGTAyc0BozZoxUqlSJ+4jIBCwXQNgGEiiy/urryRJ+KEz8/AOlcd+RUrVxC/GvVV88fYrk+HemJMTLtVORcj5in0SsmCN3r1+RkNCm8t6kd1V9Q/rAwe7/pqTIjBkzjDkOKLB7/fXXHdbiD78f7fEOHjxoXIclYqxEoPjaw8PDIfdDRGR1qampMmXKFGOWAd5nUYdGP7t27ZpMnz5dzcaAHj16SGhoKHcRkUlYNoCwFRYWpqY5L1y0SJISE9WBdZnK1aV8rQZSoXYDKVcjWDyLFJVCHp5SwMNTHqemSFpqiqTEP5QbZ6Lk6smjcv3UEYm9cE6lJBX29pahQ4aoqdGYHp1d8fHx6ozV/fv31WW0YEWNhO6s5AhXrlxRRdaxsbHGdcWLF1c1E+x4QUT06pCWiratgFVepKUifZSeSUhIUAGWXhVv1KgR6x6ITIYBhA2cCUG9QHh4uPoKOxQuR48ekZTk5Ex3oKeXlzRo0FBCQ5pIkybPvoKDg1/6wwJdlDDDAiskUL9+fYdP4cSS+t69e2Xnzp3G8rq+r65du4qPj4/D7ouIyEqOHTsmy5YtU99jZRc5/SVLlnT2ZrkMfObMmjXLaBgSEBAgY8eOZYBFZDIMILIRVMTExKhORmjHh1QgpBWhIA4FXyiKdvSZJQyGwxusXtpt1aqV6ontaFheX7NmjSoq15BmhaV2BBPsgkFElH3otvTdd9+pFCbAyZ8GDRpwF9rAPIxDhw6p74sUKaICLEfV+xFR3mEA4aJOnTolixYtUilRgNZ/TZs2dfj94PdjqR2dMBAgaUif6tmzp/j5+Tn8PomI3PHMOlaPkdsPCBwQQNDPIiIiVAotIDUXLcexAkFE5sMAwsVrM9A9SXPEoLms6i/QbvDEiRPGdVhZQYF1ixYt2PKViCib7Uhx4mXixIlsTpFuZR2NQjD3Afr06aNqH4jInNx+kJyZoSNF69atjcvIq33VQXOZwVLyoEGDZPjw4UYPbqRQbdmyRU0I1WfViIjI3tmzZ43gAe1I8V7KznY/Q7E0VtR18IDVdAYPRObGFQgXl5uD5jKD/F3d8lWnUKEeolmzZmoIHT8YiYh+Xr399ttvVWchQA2ZHhRKz05EYeXh6tWrandUrlxZRo0a5dDugkSU97gC4eJw4I6Bb7rFKuoU5s6dq6ZM5xYECK+99poaZod5FIBAYv/+/ard7ZkzZ3LtvomIzALvixiEpoOHGjVqqBMt9PP+QaMOHTxgdRurMwweiMyPAYQJ4M128ODBUq5cOXU5Li5O5s2bpzpC5aYKFSrIm2++KZ06dTI6Ten7Xrp0qepMRURkVXv27JHz588baaB9+/Zl9zobu3fvNlbP8RkydOhQtgknchMMIEwCrWMxVE7XJ2BiNXJKbec45FbwgjqMd955R7Ws1Y4fPy7ffPONnDt3Llfvn4jIFWEo5/bt243LAwYM4MGxDcxUQiqsho5UGKpHRO6BAYSJoFc2ckcxqwFw5mvVqlVGnUJuQleR0aNHqzNs+v6R+ztnzhzVvSktLS3Xt4GIyBUglRSrsLoouE2bNnYnWKwOKUtI7dI6duwoderUceo2EZFjMYAwmVKlSqlOSTqlKDIyUrZu3Zpn9RgNGzZUqxG6JgMOHDigOjVhVYSIyAp5/ffv31eXAwMDVbtrEiPNdcGCBcYgVMzDsO0mSETugQGECeEDa+DAgUauLfJw0TEpL1dCRo4cqQqtdSBz69Yt+eGHH2Tv3r15siJCROQMhw8fNubloCseUpfQupVE1eXNnz9frU5DxYoVpVevXqwLIXJDfNczqVq1aqnp1Nr69evl5MmTeXb/uq0riqx1cTfqMTZv3iyzZs1SZ6GIiNwJTpTgvVZDh7zixYs7dZtcBdK5kNZ18+ZNdblEiRKqaFqfZCIi98IAwsTyctBcZsqUKaPavbZs2dK47sKFC6rAGoXWRETuAHVeS5YsMVJzmjRpIsHBwc7eLJeaxK1bfGNlBk0/vL29nb1ZRJRLGECYHIrT6tevr77HBxuWj2/fvp2n24AzTF26dJGxY8eKr6+vsZSNs1EIalBwSERk9gPk2NhY9T0GeWJgHD1z6NAhVQsHSOdC23HU6xGR+2IAYXJIJerTp49UrVpVXcbBOjoj5eagucxgwigKrOvVq2dcd+zYMTWlFasSRERmhPRQHCTrEyYYhlaoUCFnb5ZLQCvvdevWGZd79OhhfB4RkftiAOEGMKthyJAheT5oLiO6qBBfmF2ht2fmzJmqPkIv/xMRmQHev9AuW8PKA1I36VlNyOLFi43GGS1atFCpXUTk/hhAuAlnDZrLDFYhsBqBVQkNHZqmTp2qPnSIiMxQGGybhomaBx4gP5OQkGB3oiooKEg6d+7sxGeLiPISAwg34sxBcxlBMDNmzBhVH6HbHCKwmTJlisqXZbtXInJlO3fuNBpT4P0MXZd0+2wrw0rywoULjVkYWP1mO1sia2EA4WZQuDZs2DC7QXPbtm1z2vbgwxYdmtDuFYWH+sMH06vnzp3rlFoNIqIXQd3Wjz/+aLyPYfYOUjStDid+Vq9eLZcvXzZOXGG4qYeHh7M3jYjyEAMIN4ThPTgbpO3evVvCwsKcuk04Q4UgArMjbIvv0O41L+dXEBG9SGJiokpd0qukHTp0UAM8SWTXrl3qxBSgkBwnrHT3PSKyDgYQbqp27dp2g+bQJePUqVNO3SZ82GB6NdKsihQpoq5LSkpStRorV650StE3EZEtBA14P9Kro1WqVJFWrVpxJ4mo2T47duww9kX//v3F39+f+4bIghhAuLGmTZvaffBhLoNednamatWqqQJrBDnakSNH5LvvvnOJ7SMi6zp48KCcPn1afY9BaDhI1jVcVnblyhVZsWKFcRkF07bv4URkLXxXdHOdOnVy+qC5jOCDGcOG+vbta+TO3rt3T6ZPny7bt293WvcoIrIuNHlAu2mtX79+Ksff6lAsvWDBAuN9uWHDhqq2jYisiwGExQbNIWUIg+YePHjgEtuGD6K3337byC9G+gBybBFI3Llzx9mbSEQWgRMsqHvQB8nNmzeXGjVqiNUhtRQnntC2FdCau1evXuxGRWRxDCAsOmhu1qxZEh8fL66gRIkSMm7cOFWoqFMFrl69qlKawsPD2e6ViHLd1q1bjRk1eK/E6q3VYQ7GkiVLJDY2Vl328/NTnyX4TCEia2MAYbFBczhYB5zdRxChzyo5GwKHtm3byvjx46VkyZLqurS0NFmzZo3qN+4q20lE7gczc/bv36++x8ExutjpVthWtnHjRjl79qz6Hi1s8Rmi5wwRkbUxgLAQ5PJisJueVo2zbbNnz1ZpTa6iQoUK8tZbb9lNe42OjlbtXs+cOePUbSMi94Mp0+i6ZFscrGfWWL2YHF/6BM/QoUONkztERAwgLKZ48eIqiNCFgTdv3lRBBD5EXQWKqpFji/7iKLYGrEDMmzdP1q5dq1YmiIgcAS2udU0YWrbazqqxKqw6YNinhvdj1D4QEWkMICwIeawIIvQshuvXr6up0K42hyEoKEi1e7UtZDx06JCqjbh27ZpTt42I3GOuwbFjx4w0T3SFQ3MHK0O9w+LFi43aM7QCb9SokbM3i4hcDAMIiypVqpQKIvQZfvT4xhn+1NRUcSUIcoYPHy49e/Y0cpJRvzF16lT58ccfVZEfEVFOYdUBK5oa3mN0eqdVobGG7ecA5jywmJyIMsIAwsKQ54sgQhfFXbp0SfX6drUUIZwRDAkJkYkTJxpTTxE4bNu2TRWC64mxRETZgbPrq1atMlI369SpI3Xr1rX0zsP7PhpWoEsflC9fXg3Rs/qKDBFljAGExZUtW1ZGjx6tlu8hJiZGfYigJ7orrpqgS1ObNm2MD7WLFy+qlCb8S0SUHWFhYXLu3Dn1PerBsPpg5QNlBFQoJMdKNPj6+qqV30KFCjl704jIRTGAIHWmadSoUcZEaHywIgfWFadBo8Vix44d1dwIfMjpAuuZM2fK3r17OTOCiLJ0+/Ztu2nTqHuwemtS7I8TJ06o7xE0IHjgBG4iygoDCFICAgJk5MiRxhmn06dPqwFCrhhEQMWKFVW7Vz1hG2fQ8CGIwMfVisGJyDXg/Wz58uXGCmtoaKhUq1ZNrGzfvn3qC7AKM2jQIGPoKBFRZhhAkN1BOQYF6WLlU6dOqQ9bVy1U9vHxUUEPUpq0kydPyvfff29MTiUi0nbt2mV0cMNMgy5dulh652DVYdOmTcZlpHLVrFnTqdtERObAAILsoNc35i8gVUh/wCA31lWDCAw4QkoTltwxKVV3afrhhx+M9oxERMjvR+c2/b6BadNWzvG/cOGCOkGktW3b1m6AJxFRVhhA0HOwpI+po/iQhcjISFmzZo1L1xfgrBlSmvTSOzqKLFu2TA2JctU0LCLKG2hLioNl/R6Gg2Xd0c2KsEKLjnv6vbFhw4bSvn17Z28WEZkIAwjKEIa3DR482AgiDh8+rA7GXTmIKFGihOrShA9D224rM2bMMCbNEpH1oD7q7t276vsKFSrYpT1aDd4L58yZY9SK4b0ek6at3IWKiHKOAQRlqlatWmqZX3+wYAr0xo0bXTqIQEoCuqr07t3bSMNC6gJavZ4/f97Zm0dEeezMmTPqvUu/P2C2gT4xYjWYezF37lxjdg5WYVA0rd8riYiyy5rvopRtGLCED1ztwIEDsmXLFpcOIqBx48ZqNaJ48eLqcmJiojrrhhxoV992InIM/N1jYJzWtWtXVTxtReg8hbQl3WACK7ZomqHbdxMR5QQDCHqhevXqSZ8+fYzLmLewY8cOl99zOLuGuojq1aurywgcML0aH6J6Ai0RuSf8vaN2Kz4+Xl3G+4BVi4SxL1asWGEM3PT29lazf9DJjojoZTCAoGxp1KiRavFn2w4RX64OA6Jwls22QBAzLqZMmSI3btxw6rYRUe5B8we0ddbvAzgJYtU8f7RqtR0Uh/dEPz8/Z28WEZkYAwjKtpCQEHnttdeMy9u3b1erEa4OBw3t2rVTMyP0xNl79+7J1KlT5ciRI87ePCJysPv378v69euNyygStupkZQyJ279/v92gOBSSExG9CgYQlCPNmjWzG76E7iaoizADpDAgpUm3b0ROMGZcrF692phMS0Tuka6juww1aNBAgoODxYqOHz9uNygOgRQHxRGRIzCAoBxr2bKlGt6mbdiwwehy4upQVP3666/b5UJHRETItGnT1FlLIjL/GXed61+sWDG7VVOrDYpDIKVhFRbNJYiIHIEBBL0U9FHHMCZt7dq1alaEGRQsWFCdiUO7V3wP169fV3URZ8+edfbmEdFLunnzpmqUoPXr18+YUG+1/WA7KA41bAggiIgchQEEvTQUJrdq1cq4jHaJKFw0CwycmzBhgmpnCElJSapHOjpMsdUrkbkgDRHTpvVBc4sWLaRy5cpiNXFxcep9jIPiiCg3MYCgl4aCvE6dOknz5s2N67Bkrrt9mEG5cuVUXURQUJBx3c6dO2XevHmqhzwRmQOaOuDMO5QpU8YuzdLqg+KsOjiPiHIP31XolYMIDGcKDQ1Vl3HmfunSpUb7RDNAisPQoUNVMKTbPCKVCSlN165dc/bmEdELoOZBd4TDwTKGX+r0RKsNirt165a6zEFxRJSbGEDQK8NBd/fu3VWerQ4ilixZouYtmOkxtG7dWkaPHq2GLOlUABRXh4eHM6WJyEUhVce2WBgrD1hZtBIOiiOivMYAghx2AN67d2/VMhGePHkiixYtknPnzplqD1epUkUmTpwoAQEB6jLyqTHNFvUdaWlpzt48IkoHXeB0B7WKFSuq2ger4aA4IsprDCDIoUEEpr3WrVvXOPjGknpMTIyp9rKvr6+MGzdOmjZtalyHgXMYPHf37l2nbhsR/QyrnHoYpIeHh0pdslq+PwfFEZEzWOudlnKdzj+uXbu2kZc7f/58uXTpkqn2foECBVRa1oABA6RQoULqOhRooi4iOjra2ZtHZHkoGMbqoIZ5D5jzYiUcFEdEzsIAghz/osqfXwYOHGhMPEXqDzqD6OFOZlKvXj154403pGTJkka+NVZVtm7dqtK0iMg5Nm7caHQbwpR5tGW2EqzsclAcETkLAwjKtTP4gwcPVh/skJqaKnPmzJEzZ86Ybo+jJeSbb74pwcHBxnW7d+9WjychIcGp20ZkReiSZpu6hMGQuoOaFWA1dOHChRwUR0ROwwCCcg3aKA4ZMsQIInSbQSy7m42np6fqp46WtfpABWcAv/vuO7Z6JcpDWAVcvXq1cRl/k8WKFbPMc8BBcUTkChhAUK5C/cCwYcOkTp066jLSfjAnAq1RzQaBAzq8jB07VooUKaKuQwrF9OnTTTX3gsjMNm/eLA8ePDC6pjVu3FisgoPiiMhVMICgPElnQjGy7Qc9ih/37Nljyr1fqVIlNb06MDDQWFlBy1o8HvRjJ6LcgVU/ffIBJyfQ9c0qqUuoJUNDCg6KIyJXwACC8uaFlj+/ylNu2bKlcd2WLVtUMbIZD7qLFi0qY8aMkfr169s9HgRGaF9LRI6FOirMY9E6d+5sma5LeE/BSQrdzQ7DLkeNGiU+Pj7O3jQisigGEJRncKYQH/qYFGtbjLxu3TpTBhGo8ejXr5+0b9/euC4iIkLmzZunUg2IyHEQoOuBcVgFDA0NtcTuRdrn8uXLVeG4rsdC8ODn5+fsTSMiC2MAQXkeRLRp00Z69OhhXHfo0CH1AWnGM/d4PO3atVMpWkjVgvPnz6uhc/fu3XP25hG5BbSADgsLMwJ3q6Qu4cTK2rVr5cSJE8ZjHz58uJQvX97Zm0ZEFscAgpwCZw8xcE4fBBw7dkwt0aOewIwwLwIpTUgtgNu3b8sPP/wgly9fdvamEZk+9982dalTp06WOfuOFE+sauo0ULTGxuoLEZGzMYAgp0H9wNChQ40z96dPn1YD59Cm0YwqVqwoEyZMMIbOJSYmysyZM03ZtpbIVWzbtk3u3r2rvg8ICJCmTZuKFSC907bRBNIl9XBOIiJnYwBBThUUFCQjR45Uw6DgwoULMmvWLHXwbUY4M4ogonLlyuoy0rLQtnbXrl2mrPMgcias4O3fv199jxMNffv2VWfi3R3SOrH6oPXs2VOtchIRuQr3fycml4de7kj/KVy4sLp87do1mTFjhpqxYEZ4HChybNSokXHd9u3bZeXKlaZN0SLKa/hbsU1d6tChg5QqVcrtnwisWKLuQUPTiZCQEKduExFRegwgyCVUqFBBxo0bZwxoQ6/zadOmmbYQGWdLe/furbpOaUePHpU5c+aYdnWFKC/t2LFD1RKBv7+/GuLo7s6cOaMaSmhoe926dWunbhMRUUYYQJDLKFOmjLz++utGb3e0bEQQERsbK2aEAvFWrVqpwkd0T9HdZNCh6c6dO87ePCKXdfXqVdm7d6+lUpfw3oBGEmjbCljBxAkIK3SbIiLzce93ZDJlDcH48eOldOnS6nJ8fLxKZ8IBhVkFBwer1RU99AkFoQgiUO9BRM+nLiHdT9cMtW3bVp1ccGfXr19XU6Z1iiPeMzB4k8EDEbkqBhDkklOeccCNtAVISkpShdUxMTFi5hStN954wzgQwmOaPXu2Smsiop/9+OOPKoURypUrp1bx3BlWI5HaqLvPVatWTc2VcfcVFyIyN75DkUvCPAUUVutuRqmpqarFa3R0tJgVUrOwulK9enV1GakKK1asUG0q2aGJSOTGjRuqfSngABqpS7rNszuKi4uz6zoXGBgoQ4YMcevHTETugQEEuSxPT08ZMWKE0fscLVEXLlwokZGRYubHhEmytl1VcMYVrV7ZoYmsDH/fSF3SNQAoHsYKhLtKSEhQq5APHjxQl8uWLaveG3RLayIiV8YAglxaoUKF1Bk53QMdZ+rRpSQsLEzMCmdWe/ToId26dTOuO3HihBo6h4MKIivCygNWIACpfqh9cFfJyckqbUk3U0DtF1o/61bWRESujgEEuTws5/fv39/urP26devUmXuzQnFk8+bNZdiwYSpIgitXrsgPP/xg5H8TWcXNmzfVsEX9t+HOqUtpaWmqYFoHS6j5Gj16tNHCmojIDBhAkCngoAJn7W17oqN2YPPmzaauH8AkbrSuxUGEbl2LDk3nz5939qYR5QmkLNmmLqFoWjdQcMc0rcWLF8ulS5fUZaw4IHjQrauJiMyCAQSZKojo1KmT+tLQK37NmjXGwYcZlS9fXnVo0vne6MaC9Ibw8HBnbxpRrsPfMNqYAiZNt2vXzi33um6agGFxgFoHpC3pltVERGbCAIJMB6sQPXv2NC5HRESougic3TMrX19ftRKBFQnAqgoCo02bNpl6hYUoK5g0jYnTtqlLeuiiO8HfMNIujx8/ri4jPQsF0+660kJE7o8BBJkS6iFse6XjgxkdmpBfbFY4I4mCcdRGaPv27VPTadHGlsgdU5d04I/XfUBAgLgjpFvqFUUESphOr1tUExGZEQMIMi10Zho6dKhxxhKpAZgVoQcymRECInRnQr2HnkJ76tQpNY374cOHzt48Ioc5cOCAahyguxB16NDBLffunj17jNkW0K9fP2OlkYjIrBhAkKlhRsTIkSON3ukXL15U7VD1YCazCg0NVTMwMDcCkCOODk26cwuRmaF9Kc7Ka0hd0t3I3AnSK7ds2WJc7t69u9SvX9+p20RE5AgMIMj0kAowduxYo4c6DranT59uDGgyK0ysxuTqYsWKqct4PHhcugiTyKz1AKtWrTIGJzZt2lQqVqwo7gazXVavXm1cxgoLHisRkTtgAEFuAcWItu1QUZw5bdo0uXv3rpgZBmqhQ1OFChXUZdRCoIf8wYMHnb1pRC99Vl63MS1RooRdVzV3cfbsWVm2bJlxGfUdbdq0ceo2ERE5EgMIchtoh4ggAgclEBcXp4II3SLSrDBgCisswcHBxhnc9evXqy8zt68l64mPj7dL6enVq5eRfuguEByhoYP+22zYsKF07drVqGkiInIHDCDIrSB4QBCBM/eQkJCg0n6io6PFzJAfPmjQILtBeliFQIcmnQpC5Oo2btwoycnJ6nvUAlStWlXcybVr12TevHnG32Tt2rWld+/eDB6IyO0wgCC3gzSmcePGSWBgoLqM1q4LFixQLVHNPFNBD9Lr06eP0b4WgZHZO0+RNSCtR89BQL0Szsq7EzQ4mD17tvG3iODIttU0EZE74TsbuSUcoIwZM0bq1q1rXIehbBjmZPa0n0aNGqnOU7przYULF9SBS1JSkrM3jShDCOLXrl1rXO7SpYv4+Pi4zd6KjY1Vf4N6dQVF4bYtpomI3A0DCHJb+PDGGcC2bdsa1x06dEilGOgPerPC2U0ESF5eXury1atXOSuCXNauXbvk/v376vtKlSqpugB3cevWLZk1a5bROhrD8NCC2d1qO4iIbDGAILeGtB+0T8TwJp1KcO7cOVVcrQ9ozAoHKqj3QJG1PguKeo979+45e9OIDDdv3pS9e/eq7wsUKKAKp92loBjzLBA8oNZKd4PD6qCe30JE5K4YQJAlNGjQQJ2x17MicNYQg9n0JFyzQrE4gojixYurywgeEETg8RE5G2qO1qxZY6QNoglAqVKlxB2gRTSGVqKzFJQvX15GjRplrAoSEbkzBhBkGUidmDBhgvj5+anLOGuIA4CoqCgxMzweBBH6wOzhw4cqiEBHGCJnCg8PN4L0kiVL2nURMzOsXmLlAX9rULZsWRU86BMURETujgEEWQoOYjCYDcEEoN3i4sWLZffu3abu0OTr66uCCKRQAAqqERyhwJrIFWY+9OzZ0y2KijFfBn9b+FfPnxk9erR4e3s7e9OIiPIMAwiyHJwlxAc+0pq0rVu3yqpVq+Tx48diVjiAQZqWDo4wtXrOnDly+vRpZ28aWdCGDRuMlqb4W6tSpYqY3YMHD9TKg66fwqof/ubcqaMUEVF2MIAgS0IxZ9++faVjx47GdUeOHFEH3GZuh4riTRRx1qhRQ11GQISpuMeOHXP2ppGFnDlzRk6cOOFWMx+wooLgAbUPOnUQwYNuYkBEZCUMIMiy0AmmTZs2asIzAgpAys/UqVONgwQzwnwI9KDXMzBQwLps2TLVwpYoL2Y+YN6KhuDB7Ok9qJdC8ICuS4CmBQgeMLSSiMiKGECQ5dWpU0dNrtYHOThIQIemS5cumXbfICDq37+/NGnSxLgOg7xQ60GUm3bu3Gmk+FSuXNkuVdCMMN8BQ+J0Z7NixYrJ2LFj1b9ERFbFAILop5kKKK5GQSQgjQlnHCMjI027fzD3AoWrrVq1sqv1QGGrmQvGyTwzH/D6M/PMB7wPIHjA49LNChA86LbJRERWxQCC6CclSpSQ8ePHqynPun5g+fLlsmPHDtMecOPgrXPnztKpUyfjuj179qjVCLM+JnJNeD2tXr3aeF0hPdDMMx8wrR41UTdu3FCXUeuAtCW8TxARWR0DCCIbGAI1YsQIady4sV1KBgIJtHw1K/Tfx9lg2/78eExm7jpFrgU1NlevXjXaJduufJkNukfNnTvXmKWCLktYecDjIiIiBhBEz0HqRa9evaRLly7GdehihJQmFFOaVUhIiAwYMMBIKcFjWrRokSp6JXoVGKiG9DgNfz9mnfmA9sfz5s0zBuDp9shmXk0hInI0rkAQZQAH2S1btlTdjNDVCC5fvqw6NN2+fdu0+6xevXoybNgw4+AOMyJwplX36yd61ZkPDRs2VMXTZoRgev78+UYDBT0zpkyZMs7eNCIil8IAgigLtWrVUh2adK/3e/fuqSAiJibGtPutZs2aalaEh4eHunzx4kW1uoJuM0Q5hSA0KirKOFtvu3JnJkhRXLBggTG9HemMCB7KlSvn7E0jInI5DCCIXsDf3191aCpbtqxdceXhw4dNu+9whhhpGTjDCsj1njFjhpq0S5STdB93mPmA4AEDF8+fP28MZBw1apSUL1/e2ZtGROSSGEAQZQN6vr/++uvGhGcMZ1u1apWpW6JWqFDBbnUFfe6nT59u6iF6lLfQYCAuLk59X6VKFalfv77pngI0Eli8eLGcPXtWXcbKHFbo8PdBREQZYwBBlE04K4n6gaZNm9q1RF2yZIlpC5GR243Wtbo1JQaAIYiIjY119qaRi0N703379pl65gOCB/z9Ig0LUO+ELmyBgYHO3jQiIpfGAIIoJ38w+fNL9+7d1Zc+WEL+98yZMyU+Pt6U+xLBA1ZX9BA9PA4EEbolJ1F6WIFbs2aN3cwHs7U4xWNAK+NTp06py2gsMHz4cKlUqZKzN42IyOUxgCB6CViFwMGGLkTGwfYPP/xg2jP3RYsWVelMOm0DdR4orDZzsTjlzcwHtDc128wHBA8rVqyQEydOGCsoWF1EGhYREb0YAwiil4R6CKT/+Pr6qsvIBUeHJp1LbTYofkXXGd2CEwWyaPGqz9ASucPMBz0xG3NQdPCAds3VqlVz9qYREZkGAwiiV4DOTOjQpLu16CFUYWFhpq3zQAFpUFCQkSOOYXORkZHO3jRyEevXr1evc2jUqJGpUn4QPCD16siRI0ZK4uDBg43mCERElD0MIIgclP6DmRH6IAWtLTdu3KhSJcwGZ5NxUIWhc/rxIFfcrEEROU50dLScPHnSlDMf9MpDRESEuowapkGDBhnBMhERZR8DCCIHQC3EkCFD1PRqbf/+/WqqrRkHtCGto3///hISEmJch6Doxx9/NG3bWno1WHXA6oPWrVs3Y46Iq0Mgv3LlSmN2C4KHAQMGSO3atZ29aUREpsQAgshBcFCCM7LICdcdmlAPMWXKFDWozWzwGHr06CGtW7c2rtu2bZupZ1/Qy9u1a5cx86Fq1arGCpVZui0dPXrUeF0PHDhQ6tat6+xNIyIyLQYQRA7WpEkTVYysJ/LioGvatGkSHh5uugNvHGx16tRJOnfubFy3d+9eWbt2rekeC728O3fu2M18QGBphpkPes7D8ePHjZoHrBTWqVPH2ZtGRGRqDCCIcgHaQU6cOFECAgKMAxkUb2J6tRmHzqFNJ1ZWNARDSGdhEOH+8Bzjudb1PC1atDDFzIdHjx6pCdO6ZkN3W9K1SkRE9PIYQBDlErR3RXG17eRqdH9Bq9e7d++acmUFeeP6zDOKqjdt2sQgwgKF0+fOnTNe0xgaZ4bgYeHChWrbdWMAzHmoWbOmszeNiMgtMIAgykU464mp1TjwLlSokLru5s2bqi5CH9yYCfLe+/XrZ1cojroIrkS4J6yWoZuY1rVrV2N4oitvM5oX6Hks+LsbMWKEVK9e3dmbRkTkNhhAEOXRgTfmRejUj5SUFFmwYIEayGW2Vq/169eXPn36GJd3794tO3fudOo2Ue5Avcv9+/eNtLzg4GCX3tV6Dsv58+fVZQQ7mGvCCdNERI7FAIIoj5QpU0befPNNu9aROPieM2eOJCQkmOp5wAAxFNJqCCDQ4pXcBwIHvD518TFW0ly5cBpBOf6WLly4YAxFHDVqlKkG3RERmQUDCKI8hIMaDGlDKog+GIuJiVEpTVeuXDHVcxEaGqpmAWhIZdKdesj8kLqEWgJAHU/p0qXFVSUnJ8vs2bPl8uXL6rKXl5fqhBYYGOjsTSMicksMIIjyGAIHdLIZO3asFClSRF334MEDmT59uhw8eNBU9QTNmze3a/GKomo8BjI31A+cOnVKfe/j4yPt27cXV5WUlCSzZs2Sq1evqssYbjdmzBipUKGCszeNiMhtMYAgchKkVrz11ltSsWJFdRm1EGiXiaFXyOU2U4vXDh06GJfxGNDmlcwJLYc3bNhgXMZwRKycuSKk/s2cOVOuX7+uLmP2CgLz8uXLO3vTiIjcGgMIIicqWrSoOluKFQnt2LFj8sMPP6jhXWbRtm1bu/aemHmBlrVkPuispV97SAFC0bwrio+PV8EDupoBVvPQNrls2bLO3jQiIrfHAILIBVq9oiYCtRG6ReatW7dUXURUVJSYBVYhWrZsaVxeuXKlCobIPJBKZ9tRy1ULpx8+fCgzZsxQfyc6EEfw4Mp1GkRE7oQBBJGLQItMdGnSB0FIY8IkXdQVmKHVKw40UQ/RrFkz4zqkY5kpCLK6LVu2GJPSQ0JCXDIVKC4uTgUPepWkWLFiKngww3RsIiJ3wQCCyIWUKlVKzYuoW7eucR06G6FIFCkbZggi0JkJU6sBBeFLly41CnLJdV28eNFYMUIhcseOHcUVW8sieNCT3IsXL66CBz8/P2dvGhGRpTCAIHIxSGPC5Gqkj6D/vj64++6779S/ZggievbsKQ0bNlSXsXqClZQzZ844e9MoE3iO1q1bZ1zu1KmTCiJcCYIGdCrTg+0QNCB4QBBBRER5iwEEkYsehKP3Pg6QkN9tWzSKFQlXb/WK7e/du7dRgIsD1IULF8q5c+ecvWmUgbCwMImNjVXfI20JgwJdye3bt9XKA2o09Eod/jaQvkRERHmPAQSRC0MXnIkTJ0qVKlXUZQQOqIlYsmSJmrzryrB60rdvX6lTp47RHnTBggXGpGBynVao27dvNy5jwrhe+XIFKJRG8IDCaT3RHa1adWBNRER5z3U+JYgoQxjkNWrUKGndurVxHQqTv//+e6MLjavCgWj//v2lVq1a6jImG8+bN08uXbrk7E0jm8JpHYwi7SwgIMBl9g1atCJ4QJAD5cqVsxvASEREzsEAgsgEcCCOvPShQ4caQ73QhQZBxPHjx8XV29QOGjRIatSooS6jy8/cuXPlypUrzt40y8NzoOd14HWF15irwHA4pOwlJiaqy/7+/mpmCobFERGRczGAIDIRnMnH9Go9LAsH4+hyhOnPSBFy5SBiyJAhUq1aNaNF7Zw5c4wJwpT3kA6H143tHA9XObN/9epV1XksKSlJXcaqyOjRo12usJuIyKoYQBCZDLrPTJgwQRo0aGBcd/DgQbsiU1dUsGBBtYJSuXJldRlpM7NnzzYmCVPeOnz4sFy7ds2oKwgNDXWJpwDpbQgekpOT1eWKFSuqFD4vLy9nbxoREf2EAQSRCRUqVEgVKPfq1Uud3dfpKGj1GhMTI6683cOHD1cHhYAzzDhYdPVaDneD/Y7aB822ZbAzoU0xVqawQgUINkeOHGmk7RERkWtw/icGEb10q1QMbBs/frzRzhL54jirv3v3bpdt9Yo5FyNGjJAKFSoY24wgQk8WptyHrks6PQhDC/WqkDNhTgiCBz0Ju2rVqup1gtcLERG5FgYQRCaH4lLURej6AgQOW7duVXMXdBqIq8EZZaSlYOaA7YwLPWGYcs+NGzfk0KFDxopQly5dnL670QgALX7RpQtQcI+VKmwfERG5HgYQRG4AnWlwtrZdu3bGddHR0TJlyhSX7XaEnHYUxuqCcPT5x0qEnjRMjofgEhOn9epU27ZtxdfX16m7GsEMGgFg2CAEBwerWhnUzBARkWtiAEHkJpDD3r59exVI6ILTe/fuybRp02THjh3GAZorQVcdBBGlS5dWl+Pi4lQQ4crF4GZ27NgxuXz5svq+ZMmS0rx5c6dtC4KYH3/8UdauXWtc17hxYxk4cKBR10NERK4p31NXTZQmopeGs/g4q2u7+oCaAwx1w4Gjq0EKE7pI6ToIdJoaN24cpw07ELpeffXVV2pfA4qTq1evLs6Ajx0Uce/du9e4rmXLltK5c2dV20NERK6NAQSRm8KKA87w7ty500hZQU75a6+9Jo0aNXK5AzWsOiCIwKoJlCpVSgURmMRNr27Tpk2yb98+Y54I0oSc9bpcs2aNaiOrYYCd7aR1IiJybQwgiNwcViGWL19uV6AcFBQkvXv3drmDc6QwTZ8+Xf2r5xOMHTuW04dfEdrkfvvtt+rgHbUF7777rpQoUULyGoqk8VqMiooyrkMrYnQTIyIi82AAQWQB6Ku/ceNGiYiIMK5D8IBZEuh440qwAmE7FK9cuXIyZswYTiF+SVh9QnvU8+fPq8sotEetjDNeg4sWLZJz584ZNTtIqUMbWSIiMhcGEEQWgs5Mq1atUrMXNEwgRitPV2qZiVoIBBE6Xx/1Gyi25kCxnDt9+rTMnz9ffV+8eHG1+pDXzzVmTsybN8+oydFTyZ1Vg0FERK+GAQSRxeCgHEEEBndpqDcYMGCAMZfBVdJuMBsiISFBXcb0agQRbO+ZfY8fP1apS7dv31aXBw8erNqk5iW058UKSGxsrLqMIBCdwvQ0ciIiMh+2cSWymCJFiqghXT169DAOxnGA+cMPP6iia1dp94rWrggY0OoVLl26pPLn2Tgu+8LDw43gITAwUGrXri15nY6GmhYdPCBtDoXxDB6IiMyNAQSRBaEDE1KXJk6caKw6IHDYtm2bOuvvKsPcMGQOE6t1yg2Kbzds2MAgIhswhRzzP7SuXbvmaectBA2YQaK7ahUrVkxef/11VdNCRETmxgCCyMKQujRhwgS7Fpo40//NN9/I0aNHXeJA3d/fX6Xe6IPfgwcPGu1IKXO7du1StQdQr149CQgIyLPdhVoH2xoWvM7Gjx/vkjNIiIgo5xhAEFkcpv6iDz9SS3CWWHfMWbFihRpGpw9CnQmdotB2Vtu8ebOaqkwZQ8teBFqANDU8v3kF3Z4wTVy/bhAAYuXB19eXTxcRkZtgAEFESqVKleTtt9+WBg0aGHvkxIkTajVCtwB1Jgy/s20/igAnJibGqdvkqrZu3aoKqKF58+ZGYJjbTp48qbotpaWlqcuVK1dWLXi9vb3z5P6JiChvMIAgIoOXl5f069dPBg0apL7XXXRmz56t5khgEJgztW3bVho3bmzUbCxcuFBu3rzp1G1yNUhB04PaULScVxOejxw5IosXLzYCFwwrHDlyJFvvEhG5IQYQRPScOnXqyDvvvCNVqlQxrtu/f798//33Tj1gRx1Ez549pWbNmupySkqKzJ0715hcbXWoWdm0aZNxuUOHDnlyAI/XxsqVK42amfr168uQIUPYcpeIyE0xgCCiDCFnHW1U0b0HdRK6sw6CCBQxO6vAGhOMBw4cqIbL6RUSBBGuUKvhbMePH5erV6+q78uUKaPSvnITXgPbt29Xq1Na06ZN1SoWniciInJPfIcnoizP+Ldo0ULefPNNdUAKSFHBWW6kNT148MApe8/Dw0PNsvDz8zOGzi1YsMDpKVbOhLqDLVu2GJcR+OXmQTyCh/Xr16tuT1q7du3ktddey9N2sURElPcYQBBRtuYxIIhAQa6GAmYUWKPQ2hmQ348ce12ga/VBc0gj0gFd9erVpVq1arl2Xwgisa/DwsKM67p166aK3Bk8EBG5PwYQRJQtaAeKg0SkNRUtWtQYVrZkyRLVEQnf5zWsQIwYMcJu0BzSaawWRGDewu7du9X3OIDH6kNurnQsWrTIaKOL+0PKkm1wSURE7o0BBBHlSNWqVVWBNQqtNQyd+/bbb+XixYt5vjdRC2E7aO7AgQOWGzSHOgTM7gB0qSpdunSu3I8uWj99+rS6jNoYFEvbtv4lIiL3xwCCiHKscOHCqpC5f//+RpcfdEKaOXOm3QwCZw6aQ0GxFaAr1uHDh43aEHReyg0JCQnq+dVBIu4LKWS1atXKlfsjIiLXxQCCiF4KzvijXSeGz1WsWFFdh9QhpNJMnTpVbt++7dRBc8jRd/dBc7ptq07ZatOmjaoNcTQEh9OnT5fr168bASQGxNm2+SUiIutgAEFEr6R48eIyduxY6dSpk9H1Bwea3333nSqyzct6BKsNmjt79qwxJRzTpnOjDgH7DwHhnTt31GXUv7z++utGG10iIrIeBhBE9OpvJPnzq4nHb7zxhpQqVUpdh5aq69atk/nz56si37wcNIeUJncfNIcAyXZoXOfOnR0+uA0rOFh5wKwNXbQ+fvz4XKuxICIic8j31GrtSogoV6FLD2oQbFt8enl5SZcuXVSaUV60+URB8axZs4yhajjgxVlzpN64C+xfBGgQEBCgDuwduW/RZQndtRCoAFYcMHsjN1KkiIjIXBhAEFGuOHPmjKxcuVIV32qVKlWSXr16GasUuQn3O23aNLl7965x36NGjXL4WXpnQMvcL7/8UhITE9VlBA+BgYEO+d04p7R37167oXQ1a9aUQYMGGe1yiYjI2hhAEFGuwQEu5jJERkYa16H1J2oVWrVqpb7PTQgekL+vD7SDg4PVgbDZh51hhQcH+YB2unhMjoDVBjxfBw8eNK5DTQnSwnJzqjUREZkLAwgiynXnzp2TNWvWyP37943rkFaE1quOOnOeGaQxof0oUqugWbNm8tprr4lZ3bt3T77++mvVKhcB2HvvvacK2V8ValaWLVsmJ0+eNK5DS1h0djJ7wEVERI7FAIKI8gQO4Hfs2KGGvNmWXoWGhqoOTnqeRG6lU6GYW98vJjW3aNFCzAiTv0+cOKG+xyoOiqdfVVJSkixYsEAuXbqkLiNgQHCHmhUiIqL0GEAQUZ5Ci9fVq1cbMwV0a9AePXrk6lCyiIgIdb8aBuHVrVtXzOTy5cuqrgO8vb3l/fffVwXqrwIdqubMmWPM7UCdA6ZLV69e3SHbTERE7ocBBBHlOeTaHzhwQLZv326kFkHt2rWle/fuKqDIDVgB2blzp/oe6T+YpGyWYWhYPUE9h+4shYALqzev4saNGzJv3jyjTSs6LI0YMUL8/f0dss1EROSeGEAQkVPz+deuXatqJDSkMqHlK4p3HZ17j4NwrEIcPnzYuC+0dy1btqy4uuPHj8vSpUvV9+hi9c4777xSYTMG0GHQHlre6hkP6FJVokQJh20zERG5JwYQRORUOKjHwfGGDRuMbklQsWJFlYfv6JavWP1Avj/qIgCrHRMmTFCTnF0VCpy/+uorYyAeVgn0sDxHzXjA70RaFBER0YswgCAil4DgAe1Jjxw5YlyHNCNMuMaXI+c34Kw7OjNdu3bN6AiFWQqvWk9gC6lZFy5cUPMoMLcB9+nh4aHuA6lClStXzvZchd27d8vWrVvV99WqVVOpVy+zOpPRjIegoCBVD8IZD0RElF0MIIjIpSC1Bi1fkd6kYRUCqxFYlXAUHNijpkDfz6sMmkOwEBUVJeHh4eor7FC4REYelZTk5Ez/j6eXl9Sv30BCQ5pIkybPvjCnIv2BPLbziy++UAEIgoaJEye+VMpVRjMecJ+opeCMByIiygkGEETkcnBAjmJnnC23bfmKA160LXXUSkH6QXMYyoaz8dk9ux8WFiaTJ0+WhYsWSVJiovp/ZavUkHK1GkiF2vWlXPVg8SrqKwU9PKWgh4c8Sk2VR6kpkvzwgdw4GyVXT0bK9ZNHJPbCWfU4C3t7y9AhQ2TSpEkSEhKi7gPBFIISQF0IAqmX2Z/Lly+3m/HQsWNHtbLDGQ9ERJRTDCCIyGWhSxCKnnWqka5ZQKcmdGzKjUFzzZs3l27dur1wZsJXX0+WiPBD4ucfKE36jZQqjVuKf1A98fQpkuNtSEmIl2vRxyQmYq+Er5grd69dliYhoTJ2zGiJjY1VqyJIf0Lb1iJFirzSjAesNiAIadiwYY63k4iICBhAEJFLQ+oN0m62bdtm1/IVMyMQSPj6+r7yfZw+fVodZGc1aA4H4p999pl8PXmyxN2/L0EtO0rTweMlqFUnyV+ggDjKk8ePJXrPVjm4eJpE790mXoULS2hIiPzud79T25UTmPw9d+5cznggIiKHYgBBRKaAg+F169YZ3ZN0G1ZMsUa6z6um4qQfNDdo0CCV0gSYnj123OuqKLr50AnSbNA4KRmY+/Mj7lyOkQNLZsi+BT+oouvZs2aqFZLsrt4geIiPj1eXOeOBiIgchQEEEZkGVghOnDihWr6iuFgLDAxUaTnopuSoQXNIGxo2bJh8++238u9//1sCghvKwE+/lDJVa0peu3k+WpZ9+oFciToiv/rVr+TPf/6zFC5cONszHkqWLKk6N3HGAxEROQIDCCIyHaQTbdq0ya7lK3L7URTcpk2bl275igBl1apV6vdevnxZVq1eo1Y+Or39obQe9Y4UcGAr2Zx6/OiR7J4zWbZ883c1PXvWzBkZrkZERkbKypUrjRkPAQEBMnz4cM54ICIih2EAQUSmFRMTo7oUoZuShrPtWI1AW9aXHdr2wQcfyJQpU6R8UD0Z/OevnbLq8KLViOvRx2TevHkq1Qo444GIiPIKAwgiMjUUVu/atUu1fNVn3XXL0y5duuS45Svaur711ltSr0tfFTwUyOawt7z0OC1NFn8ySY5tXinff/+9jBs3TqV1oa2shroQFJlzxgMRETkaAwgicgs3b95URdBoy6qh5alu+ZqdImsED2+88YYqku7z4d8c2l3J0dCtaeXfPpSDS2eq4XLly5c3fsYZD0RElJsYQBCR28AKxKFDh2Tr1q1GATEEBQWpictZtXxdsmSJDB06VEIHjJG+v/2HKQasIW1p5ee/kYPLZqlUpnr16nHGAxER5ToGEETkduLi4lTLV8x30DCITbd8TZ/Ws3//fmnbtq3U6dRbBv/1G1Ol/WAlYuHv3pYTW1erWRa6JoKIiCi3MIAgIreEs/NRUVGyfv16u5avSPVBWhNav+qOTg0aNpIUDx95a+oal6x5yE5NxJQJvcQzNUGOHjmcZYtXIiKiV8UAgojcGgKELVu2qEFxturXry+dO3dWMxX+74sv5b1521yq29LLdGf6anhH+eV//EL+8Y9/OHtziIjIjTGAICJLuHjxolqNQLG17bTm7777Trq9/wdpN+59MbudM76QTV99Jnv27Mn2xGoiIqKcYgBBRJYqsg4PD5dt27bJw4cP5dspU8S7TIC8PWO9S3dcysmwuSnjezKViYiIcpV5KgWJiF4RiqNDQ0Pl/fffl7Nnz0rc/TgZ9Kev3CJ4AEzKHvDpF2rA3ueff+7szSEiIjfFAIKILActWjdu2iQthr1h6rqHjJStGqQe19eTJ6v6DyIiIkdjAEFElrNw4UKJu39fDYxzR3hc9+7elUWLFjl7U4iIyA2xBoKILKdJSKgkehWTsV8uEHc1472hUiT1oRwKO+jsTSEiIjfDFQgispSwsDCJCD8kTQePF3fWbPB4CT8Uph4vERGRIzGAICJLmTx5svj5B0pQq07izoJadxa/8gHq8RIRETkSAwgisoy0tDRZuGiRNOk30m06L2UGj69xv1Hq8T569MjZm0NERG6koLM3gIgor0RFRUlSYqJUadwyy9vFHNwpR1bOlVvnTkpaUqJ4+RaX8rUbSujQN6R0tdrqNss+miBXjx+y+3/58heQQoW9pVTlGtJizPviX6ex8bPN//MHObV1Vbrb55eCnoWlREBlCRnyhlRr0dH42YG538jB+d8+t20FCnmIj18pqRTSRt2Hp0/RTB9H1cYtZMs3f1OPG5O3iYiIHIErEERkGRgihxau/rXqZXqbU9tWy5o/fyBXjh6QtORE8fApIon378i5vVtk8W/Gys0zJ+xuX8irsPiULCM+fqWlsG9xSUtKkGsnImTFH96We1cvZBwA4PYly0hh3xLyODVFYs+ckHWf/0quHrMPSCB/gYLG7XEf+QsWlAc3r8mxtQtl879+l+Xj9a9VXz1ePG4iIiJH4QoEEVkGDqTLVK4unt5FMr3NwfnfqX9rd+4j7d/5nRT09JK4G1dk+W/fkIe3rkv44qnS4+N/G7cPat9TOrz3B+Pyg9hrsvAXwyT5YZyc3LxSWo77hd3vr1AvRPr++RvjctKD+7LkN2Pk/tWLcmz9YvVzW77lA2T0tyuNy08eP5ad3/6XHF+/WK2U4P58y/hn+Fg8fYpImcrV1ON+/fXXc7SviIiIMsMVCCKyjLBD4SoVKSvxd2LVvx7eRVXwAMXKBUi7tz+SRv3HvPD/42Der1J19f2jlOQXbhNWLcoF1c/27VHbULV5B+Ny8oP7Wd6+fK2G6nETERE5ClcgiMgyBdRHjx6RLu/1yvJ2AfVC5WL4bjm6aq5cCNsllUPbSmCj5hLQoKlUadY+y//7+FGaSkO6efq4uly1xc8H+hnBasKt86fkYsQeddm2BiKz2yc9uCeRa+Yb6VPFK1TO8v9UqN1AtkxeowqpCxbkWz4REb06fpoQkSVcuHBBUlNSpFz14Cxv137S72Tl7yfK/WuXJO76ZRVI4AvF0XW6DpDmo99TB+7a8Q1L1Fd6rV7/pQTUb/rc9Zci9sqXvRo8d329nkOldue+z11//8qFDG+P2oi2b30oHoW9s3w85WoES0pyssTExEiNGjWyvC0REVF2MIAgIktISEhQ/3oV9X1hCtKIr5fJmR83yNm9W+XasUOSkvBQdWM6snKOSnHq/tE/jdsjmPD4qRPSk8ePJPlBnDx98ljCl06XkpVrSKUmrZ4rokZXJ337lPgH8uTRI1W8XbZGneeCCAQKuD1SlXB7qNWxtzQZ9Lr4Vaz2wsftWeTZtiUmJmZzTxEREWWNAQQRWUJy8rP6goIenlne7nFamiTF3VUH6fh6+uSJ3DxzXA7M+1Yuhe+Rs3s2S8K925kWUacmxsumf/1OYg7skI3//EjGTd9ot0qQvoga97fru7+pVYxtX/1Z/dy3bIXniqjRCWr9f/0/1eHp3L6tEtylX7Yed6GfHq9+/ERERK+KRdREZAmpqanq34IeHpne5kpkmEzuHyLTx3U1WrBiVgOKnFuN+49nN3r6VJLu3830d3h4F5G63Qer77G6cO/y+Sy3q0ChQtKg70j1PVYi0reJ1byLl5Tuv/1vKVyshFoNWfdfv7YLZDL9/T8FECkpKS+8LRERUXYwgCAiS/D4KXB49FMgkZHytRuoAAC2f/kXSbh7y1hViFg6XX1fqLCPFCsfkOnvwIrC2d2bnl3Il0/NbsgKVjhO79pgXC5Sskymt0UQ0e6dj9X3SGna+c3nWf5utT2pzwIHT8+sV16IiIiyiylMRGQJXl7PWrI++umAOiOoT+gw6fcq9QhTpqeN7SJeRYtJSvxDVdcALUZPkkJeP6ckRe9YKzFhu55dePpUkuMfGAftNVp3lSKlytrdB7o04ffq26O+QrdvxUpHuVrPF0zbwu8803KjGmx3bu9Wdd9VQttmevu0n7ZFP34iIqJXxQCCiCzBx8dH/Zv88EGWt6vZrrsqij66co7Eno2S1IR4VYhcqkqQ1O817LlWq2nJSepLyZdPFT0XLeMv1Vt1Vh2b0nuclioJP82aeHb7AmqVolJIa9W5CZOjX6T9ux/L1ePhkvzgnuz69m8SWL+pMbMiPQQ/4O2ddbcmIiKi7Mr39OnTp9m+NRGRiedAFClaVLq893tpPfJtsYrdc76VLZM/k/iHDzkHgoiIHII1EERkCYVQrNygoVw9GSlWcvXkUfW4OUSOiIgchQEEEVlGaEgTuX7yiFjJ9VNH1OMmIiJyFAYQRGQZTZo0kdgLZyUlIV6sAI8z9sI59biJiIgchQEEEVkGDqRR9nUt+phYwbVTkerxMoAgIiJHYgBBRJYRHBwshb29JSZir1jB+Yh96vHicRMRETkKAwgislQh9dAhQyR8xVx58vjZXAd3hccXsWKOerwsoCYiIkdiAEFElvLuu+/K3WuXJXrPVnFn0bu3yN3rV2TSpEnO3hQiInIznANBRJbTJCRUEr2KydgvF4i7mvHeUCmS+lAOhR109qYQEZGb4QoEEVnO++9Nkui92+TO5RhxR3hceHx4nERERI7GAIKILGfo0KFSrHhxObBkhrgjPK4Sfn4yZMgQZ28KERG5IQYQRGQ5hQsXlvcmTZL9C6dK7PnT4k5uno+WfQt+kEnvvqseJxERkaOxBoKILCkpKUkaNGwkKR4+8ta0tVKgYEExu8ePHsmU8T3FKy1Rjh45LF5eXs7eJCIickNcgSAiS8LZ+ZkzpsuVqCOye8434g52z5msHg8eF4MHIiLKLQwgiMiyWrRoIb/61a9k67d/N30qE1KXtnzzd/n1r38tzZs3d/bmEBGRG2MKExFZml0q09Q1UqBQITGbx2lpMmVCL6YuERFRnuAKBBGJ1VOZZs2cIdejj8mSP75nugnV2N7Fn0xS28/UJSIiygsMIIjI8pDyM2/ePInctEJW/f0jefr0qSn2CbZz5d8+lGObV8r8+fOZukRERHmCAQQRkYgMGjRIvv/+ezVDYeV//afLr0Rg+1Z8/hs5uHSm2u6BAwc6e5OIiMgizN+3kIjIQcaPH6/+ffPNNyUl/oEM+tNXLlkTgZoHpC1h5WHq1KnGdhMREeUFFlETEaWzZMkSGTFihJQPqicDPv1CylYNcqluS8s+/UDVPCBtiSsPRESU15jCRESUQTrTrl27xDM1Qb4e0Ul2zvhCDWlzJtw/tuOr4R3VdmH7GDwQEZEzcAWCiCiLFq+ffPKJ/Pvf/5aA4IYy8NMvpUzVmk5bdcCQOMx5+NOf/qS6RxERETkDAwgiohfYt2+fjB33uly4cEGaD50gzQaNk5KBVXJ9v925HKOKuvct+EGqVKmi2s1ySBwRETkbAwgiomyuRnz++efy9eTJcu/uXQlq2VGaDR4vQa07S/4CBRzaXSl69xY5sHiaRO/dJiX8/GTSu+/Kxx9/zFUHIiJyCQwgiIhyGEgsXLhQvvp6soQfChM//0Bp3HekVG3cQvxr1RdPnyI53p8pCfFy7VSknI/YJxEr5sjd61ckJLSpvDfpXRkyZAgDByIicikMIIiIXlJYWJhMnjxZFi5aJEmJiZIvXz4pU7m6lK/VQCrUbiDlagSLZ5GiUsjDUwp4eMrj1BRJS02RlPiHcuNMlFw9eVSunzoisRfOqaFwhb29ZeiQITJp0iQJCQnh80JERC6JAQQR0St69OiRREVFSXh4uPoKOxQuR48ekZTk5Ez/j6eXlzRo0FBCQ5pIkybPvoKDg6VgQY7nISIi18YAgogol4KKmJgYSUxMlOTkZElJSRFPT0/x8vISb29vVRTNYIGIiMyIAQQREREREWUbB8kREREREVG2MYAgIiIiIqJsYwBBREREREQMIIiIiIiIyPG4AkFERERERNnGAIKIiIiIiLKNAQQREREREWUbAwgiIiIiIso2BhBERERERJRtDCCIiIiIiCjbGEAQEREREVG2MYAgIiIiIqJsYwBBRERERETZxgCCiIiIiIiyjQEEERERERFlGwMIIiIiIiLKNgYQRERERESUbQwgiIiIiIgo2xhAEBERERFRtjGAICIiIiKibGMAQURERERE2cYAgoiIiIiIso0BBBERERERSXb9f+GFvjO8zzE8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Criação do grafo direcionado\n", + "G = nx.DiGraph()\n", + "\n", + "# Adiciona arestas com peso baseado no Score de Relevância\n", + "for _, row in top_trechos.iterrows():\n", + " origem, destino = row['Trecho'].split('-')\n", + " peso = row['Score_Relevancia']\n", + " G.add_edge(origem, destino, weight=peso)\n", + "\n", + "# Configuração do layout do grafo\n", + "pos = nx.spring_layout(G, seed=42)\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "# Desenha os nós\n", + "nx.draw_networkx_nodes(G, pos, node_size=2000, node_color='skyblue', edgecolors='black')\n", + "# Desenha as arestas\n", + "nx.draw_networkx_edges(G, pos, edgelist=G.edges(), arrowstyle='-|>', arrowsize=20, edge_color='gray', width=2, connectionstyle='arc3,rad=0.1')\n", + "# Desenha os rótulos (nomes dos aeroportos)\n", + "nx.draw_networkx_labels(G, pos, font_size=12, font_family='sans-serif', font_weight='bold')\n", + "\n", + "plt.title('Diagrama de Rede - Top Trechos Relevantes', fontsize=14)\n", + "plt.axis('off')\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "9af54886", "metadata": {}, "source": [ "## 4. Fleet Assignment Model (FAM)\n", @@ -379,14 +440,14 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "e7df1520", + "execution_count": 6, + "id": "05dc0200", "metadata": { "execution": { - "iopub.execute_input": "2026-06-07T23:18:15.142206Z", - "iopub.status.busy": "2026-06-07T23:18:15.142079Z", - "iopub.status.idle": "2026-06-07T23:18:15.243488Z", - "shell.execute_reply": "2026-06-07T23:18:15.242947Z" + "iopub.execute_input": "2026-06-07T23:24:42.101381Z", + "iopub.status.busy": "2026-06-07T23:24:42.101256Z", + "iopub.status.idle": "2026-06-07T23:24:42.158882Z", + "shell.execute_reply": "2026-06-07T23:24:42.158241Z" } }, "outputs": [ diff --git a/pyproject.toml b/pyproject.toml index 20b8c31..09677e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,7 @@ dependencies = [ "jupyterlab>=4.5.8", "matplotlib>=3.10.9", "nbformat>=5.10.4", + "networkx>=3.6.1", "ortools>=9.15.6755", "pulp>=3.3.2", "pymap3d>=3.2.0", diff --git a/uv.lock b/uv.lock index 58caa1e..1deca76 100644 --- a/uv.lock +++ b/uv.lock @@ -171,6 +171,7 @@ dependencies = [ { name = "jupyterlab" }, { name = "matplotlib" }, { name = "nbformat" }, + { name = "networkx" }, { name = "ortools" }, { name = "pulp" }, { name = "pymap3d" }, @@ -183,6 +184,7 @@ requires-dist = [ { name = "jupyterlab", specifier = ">=4.5.8" }, { name = "matplotlib", specifier = ">=3.10.9" }, { name = "nbformat", specifier = ">=5.10.4" }, + { name = "networkx", specifier = ">=3.6.1" }, { name = "ortools", specifier = ">=9.15.6755" }, { name = "pulp", specifier = ">=3.3.2" }, { name = "pymap3d", specifier = ">=3.2.0" }, @@ -1187,6 +1189,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, ] +[[package]] +name = "networkx" +version = "3.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, +] + [[package]] name = "notebook-shim" version = "0.2.4"