Sabse commited on
Commit
13ae856
·
1 Parent(s): 841b439

Add application file

Browse files
.ipynb_checkpoints/Untitled-checkpoint.ipynb ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [],
3
+ "metadata": {},
4
+ "nbformat": 4,
5
+ "nbformat_minor": 5
6
+ }
Sphynx.jpg ADDED
Untitled.ipynb ADDED
@@ -0,0 +1,684 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "45aff635",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": []
10
+ },
11
+ {
12
+ "cell_type": "code",
13
+ "execution_count": null,
14
+ "id": "0f9073ef",
15
+ "metadata": {},
16
+ "outputs": [],
17
+ "source": []
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": 23,
22
+ "id": "fec9b34c",
23
+ "metadata": {},
24
+ "outputs": [
25
+ {
26
+ "name": "stdout",
27
+ "output_type": "stream",
28
+ "text": [
29
+ "Requirement already satisfied: fastai in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (2.7.13)\n",
30
+ "Requirement already satisfied: pip in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (23.3.1)\n",
31
+ "Requirement already satisfied: packaging in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (21.3)\n",
32
+ "Requirement already satisfied: fastdownload<2,>=0.0.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (0.0.7)\n",
33
+ "Requirement already satisfied: fastcore<1.6,>=1.5.29 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.5.29)\n",
34
+ "Requirement already satisfied: torchvision>=0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (0.16.0)\n",
35
+ "Requirement already satisfied: matplotlib in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (3.5.1)\n",
36
+ "Requirement already satisfied: pandas in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.4.2)\n",
37
+ "Requirement already satisfied: requests in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (2.31.0)\n",
38
+ "Requirement already satisfied: pyyaml in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (6.0)\n",
39
+ "Requirement already satisfied: fastprogress>=0.2.4 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.0.3)\n",
40
+ "Requirement already satisfied: pillow>=9.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (10.1.0)\n",
41
+ "Requirement already satisfied: scikit-learn in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.0.2)\n",
42
+ "Requirement already satisfied: scipy in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.7.3)\n",
43
+ "Requirement already satisfied: spacy<4 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (3.5.3)\n",
44
+ "Requirement already satisfied: torch<2.2,>=1.10 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (2.1.0)\n",
45
+ "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.0.12)\n",
46
+ "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.0.4)\n",
47
+ "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.0.9)\n",
48
+ "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.0.7)\n",
49
+ "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.0.8)\n",
50
+ "Requirement already satisfied: thinc<8.2.0,>=8.1.8 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (8.1.10)\n",
51
+ "Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.1.1)\n",
52
+ "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.4.6)\n",
53
+ "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.0.8)\n",
54
+ "Collecting typer<0.8.0,>=0.3.0 (from spacy<4->fastai)\n",
55
+ " Using cached typer-0.7.0-py3-none-any.whl (38 kB)\n",
56
+ "Requirement already satisfied: pathy>=0.10.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (0.10.1)\n",
57
+ "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (6.3.0)\n",
58
+ "Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (4.65.0)\n",
59
+ "Requirement already satisfied: numpy>=1.15.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.21.5)\n",
60
+ "Collecting pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4 (from spacy<4->fastai)\n",
61
+ " Using cached pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl.metadata (149 kB)\n",
62
+ "Requirement already satisfied: jinja2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.1.2)\n",
63
+ "Requirement already satisfied: setuptools in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (61.2.0)\n",
64
+ "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.3.0)\n",
65
+ "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from packaging->fastai) (3.0.4)\n",
66
+ "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (3.1.0)\n",
67
+ "Requirement already satisfied: idna<4,>=2.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (3.3)\n",
68
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (1.26.9)\n",
69
+ "Requirement already satisfied: certifi>=2017.4.17 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (2022.6.15)\n",
70
+ "Requirement already satisfied: filelock in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (3.12.0)\n",
71
+ "Requirement already satisfied: typing-extensions in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (4.8.0)\n",
72
+ "Requirement already satisfied: sympy in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (1.10.1)\n",
73
+ "Requirement already satisfied: networkx in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (2.7.1)\n",
74
+ "Requirement already satisfied: fsspec in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (2023.10.0)\n",
75
+ "Requirement already satisfied: cycler>=0.10 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (0.11.0)\n",
76
+ "Requirement already satisfied: fonttools>=4.22.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (4.25.0)\n",
77
+ "Requirement already satisfied: kiwisolver>=1.0.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (1.3.2)\n",
78
+ "Requirement already satisfied: python-dateutil>=2.7 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (2.8.2)\n",
79
+ "Requirement already satisfied: pytz>=2020.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from pandas->fastai) (2023.3)\n",
80
+ "Requirement already satisfied: joblib>=0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from scikit-learn->fastai) (1.1.0)\n",
81
+ "Requirement already satisfied: threadpoolctl>=2.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from scikit-learn->fastai) (2.2.0)\n",
82
+ "Requirement already satisfied: six>=1.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib->fastai) (1.16.0)\n",
83
+ "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai) (0.7.9)\n",
84
+ "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai) (0.0.4)\n",
85
+ "Requirement already satisfied: click<9.0.0,>=7.1.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from typer<0.8.0,>=0.3.0->spacy<4->fastai) (8.1.3)\n",
86
+ "Requirement already satisfied: MarkupSafe>=2.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from jinja2->spacy<4->fastai) (2.0.1)\n",
87
+ "Requirement already satisfied: mpmath>=0.19 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from sympy->torch<2.2,>=1.10->fastai) (1.2.1)\n",
88
+ "Using cached pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB)\n",
89
+ "Installing collected packages: typer, pydantic\n",
90
+ " Attempting uninstall: typer\n",
91
+ " Found existing installation: typer 0.9.0\n",
92
+ " Uninstalling typer-0.9.0:\n",
93
+ " Successfully uninstalled typer-0.9.0\n"
94
+ ]
95
+ },
96
+ {
97
+ "name": "stdout",
98
+ "output_type": "stream",
99
+ "text": [
100
+ " Attempting uninstall: pydantic\n",
101
+ " Found existing installation: pydantic 2.5.2\n",
102
+ " Uninstalling pydantic-2.5.2:\n",
103
+ " Successfully uninstalled pydantic-2.5.2\n",
104
+ "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
105
+ "gradio 4.5.0 requires pydantic>=2.0, but you have pydantic 1.10.13 which is incompatible.\n",
106
+ "gradio 4.5.0 requires typer[all]<1.0,>=0.9, but you have typer 0.7.0 which is incompatible.\n",
107
+ "pandas-profiling 3.3.0 requires pydantic<1.10,>=1.8.1, but you have pydantic 1.10.13 which is incompatible.\n",
108
+ "pandas-profiling 3.3.0 requires requests<2.29,>=2.24.0, but you have requests 2.31.0 which is incompatible.\n",
109
+ "pandas-profiling 3.3.0 requires tqdm<4.65,>=4.48.2, but you have tqdm 4.65.0 which is incompatible.\u001b[0m\u001b[31m\n",
110
+ "\u001b[0mSuccessfully installed pydantic-1.10.13 typer-0.7.0\n",
111
+ "Note: you may need to restart the kernel to use updated packages.\n"
112
+ ]
113
+ }
114
+ ],
115
+ "source": [
116
+ "\n",
117
+ "pip install fastai"
118
+ ]
119
+ },
120
+ {
121
+ "cell_type": "code",
122
+ "execution_count": null,
123
+ "id": "4f7248a3",
124
+ "metadata": {},
125
+ "outputs": [
126
+ {
127
+ "name": "stdout",
128
+ "output_type": "stream",
129
+ "text": [
130
+ "Found existing installation: gradio 4.5.0\n",
131
+ "Uninstalling gradio-4.5.0:\n",
132
+ " Would remove:\n",
133
+ " /Users/scaspary/opt/anaconda3/bin/gradio\n",
134
+ " /Users/scaspary/opt/anaconda3/bin/upload_theme\n",
135
+ " /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages/gradio-4.5.0.dist-info/*\n",
136
+ " /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages/gradio/*\n",
137
+ " Would not remove (might be manually added):\n",
138
+ " /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages/gradio/launches.json\n",
139
+ "Proceed (Y/n)? "
140
+ ]
141
+ }
142
+ ],
143
+ "source": [
144
+ "pip uninstall gradio"
145
+ ]
146
+ },
147
+ {
148
+ "cell_type": "code",
149
+ "execution_count": null,
150
+ "id": "f9065e3f",
151
+ "metadata": {},
152
+ "outputs": [],
153
+ "source": []
154
+ },
155
+ {
156
+ "cell_type": "code",
157
+ "execution_count": 11,
158
+ "id": "117c4cfa",
159
+ "metadata": {
160
+ "scrolled": false
161
+ },
162
+ "outputs": [],
163
+ "source": [
164
+ "import gradio as gr\n"
165
+ ]
166
+ },
167
+ {
168
+ "cell_type": "code",
169
+ "execution_count": 19,
170
+ "id": "a6aa56e2",
171
+ "metadata": {},
172
+ "outputs": [
173
+ {
174
+ "name": "stdout",
175
+ "output_type": "stream",
176
+ "text": [
177
+ "Requirement already satisfied: fastai in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (2.7.13)\n",
178
+ "Requirement already satisfied: pip in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (23.3.1)\n",
179
+ "Requirement already satisfied: packaging in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (21.3)\n",
180
+ "Requirement already satisfied: fastdownload<2,>=0.0.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (0.0.7)\n",
181
+ "Requirement already satisfied: fastcore<1.6,>=1.5.29 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.5.29)\n",
182
+ "Requirement already satisfied: torchvision>=0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (0.16.0)\n",
183
+ "Requirement already satisfied: matplotlib in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (3.5.1)\n",
184
+ "Requirement already satisfied: pandas in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.4.2)\n",
185
+ "Requirement already satisfied: requests in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (2.31.0)\n",
186
+ "Requirement already satisfied: pyyaml in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (6.0)\n",
187
+ "Requirement already satisfied: fastprogress>=0.2.4 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.0.3)\n",
188
+ "Requirement already satisfied: pillow>=9.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (10.1.0)\n",
189
+ "Requirement already satisfied: scikit-learn in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.0.2)\n",
190
+ "Requirement already satisfied: scipy in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (1.7.3)\n",
191
+ "Requirement already satisfied: spacy<4 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (3.5.3)\n",
192
+ "Requirement already satisfied: torch<2.2,>=1.10 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from fastai) (2.1.0)\n",
193
+ "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.0.12)\n",
194
+ "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.0.4)\n",
195
+ "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.0.9)\n",
196
+ "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.0.7)\n",
197
+ "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.0.8)\n",
198
+ "Requirement already satisfied: thinc<8.2.0,>=8.1.8 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (8.1.10)\n",
199
+ "Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.1.1)\n",
200
+ "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.4.6)\n",
201
+ "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (2.0.8)\n",
202
+ "Collecting typer<0.8.0,>=0.3.0 (from spacy<4->fastai)\n",
203
+ " Using cached typer-0.7.0-py3-none-any.whl (38 kB)\n",
204
+ "Requirement already satisfied: pathy>=0.10.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (0.10.1)\n",
205
+ "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (6.3.0)\n",
206
+ "Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (4.65.0)\n",
207
+ "Requirement already satisfied: numpy>=1.15.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (1.21.5)\n",
208
+ "Collecting pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4 (from spacy<4->fastai)\n",
209
+ " Using cached pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl.metadata (149 kB)\n",
210
+ "Requirement already satisfied: jinja2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.1.2)\n",
211
+ "Requirement already satisfied: setuptools in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (61.2.0)\n",
212
+ "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from spacy<4->fastai) (3.3.0)\n",
213
+ "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from packaging->fastai) (3.0.4)\n",
214
+ "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (3.1.0)\n",
215
+ "Requirement already satisfied: idna<4,>=2.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (3.3)\n",
216
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (1.26.9)\n",
217
+ "Requirement already satisfied: certifi>=2017.4.17 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from requests->fastai) (2022.6.15)\n",
218
+ "Requirement already satisfied: filelock in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (3.12.0)\n",
219
+ "Requirement already satisfied: typing-extensions in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (4.8.0)\n",
220
+ "Requirement already satisfied: sympy in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (1.10.1)\n",
221
+ "Requirement already satisfied: networkx in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (2.7.1)\n",
222
+ "Requirement already satisfied: fsspec in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from torch<2.2,>=1.10->fastai) (2023.10.0)\n",
223
+ "Requirement already satisfied: cycler>=0.10 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (0.11.0)\n",
224
+ "Requirement already satisfied: fonttools>=4.22.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (4.25.0)\n",
225
+ "Requirement already satisfied: kiwisolver>=1.0.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (1.3.2)\n",
226
+ "Requirement already satisfied: python-dateutil>=2.7 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from matplotlib->fastai) (2.8.2)\n",
227
+ "Requirement already satisfied: pytz>=2020.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from pandas->fastai) (2023.3)\n",
228
+ "Requirement already satisfied: joblib>=0.11 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from scikit-learn->fastai) (1.1.0)\n",
229
+ "Requirement already satisfied: threadpoolctl>=2.0.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from scikit-learn->fastai) (2.2.0)\n",
230
+ "Requirement already satisfied: six>=1.5 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib->fastai) (1.16.0)\n",
231
+ "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai) (0.7.9)\n",
232
+ "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai) (0.0.4)\n",
233
+ "Requirement already satisfied: click<9.0.0,>=7.1.1 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from typer<0.8.0,>=0.3.0->spacy<4->fastai) (8.1.3)\n",
234
+ "Requirement already satisfied: MarkupSafe>=2.0 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from jinja2->spacy<4->fastai) (2.0.1)\n",
235
+ "Requirement already satisfied: mpmath>=0.19 in /Users/scaspary/opt/anaconda3/lib/python3.9/site-packages (from sympy->torch<2.2,>=1.10->fastai) (1.2.1)\n",
236
+ "Using cached pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB)\n",
237
+ "Installing collected packages: typer, pydantic\n",
238
+ " Attempting uninstall: typer\n",
239
+ " Found existing installation: typer 0.9.0\n",
240
+ " Uninstalling typer-0.9.0:\n",
241
+ " Successfully uninstalled typer-0.9.0\n"
242
+ ]
243
+ },
244
+ {
245
+ "name": "stdout",
246
+ "output_type": "stream",
247
+ "text": [
248
+ " Attempting uninstall: pydantic\n",
249
+ " Found existing installation: pydantic 2.5.2\n",
250
+ " Uninstalling pydantic-2.5.2:\n",
251
+ " Successfully uninstalled pydantic-2.5.2\n",
252
+ "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
253
+ "gradio 4.5.0 requires pydantic>=2.0, but you have pydantic 1.10.13 which is incompatible.\n",
254
+ "gradio 4.5.0 requires typer[all]<1.0,>=0.9, but you have typer 0.7.0 which is incompatible.\n",
255
+ "pandas-profiling 3.3.0 requires pydantic<1.10,>=1.8.1, but you have pydantic 1.10.13 which is incompatible.\n",
256
+ "pandas-profiling 3.3.0 requires requests<2.29,>=2.24.0, but you have requests 2.31.0 which is incompatible.\n",
257
+ "pandas-profiling 3.3.0 requires tqdm<4.65,>=4.48.2, but you have tqdm 4.65.0 which is incompatible.\u001b[0m\u001b[31m\n",
258
+ "\u001b[0mSuccessfully installed pydantic-1.10.13 typer-0.7.0\n",
259
+ "Note: you may need to restart the kernel to use updated packages.\n"
260
+ ]
261
+ }
262
+ ],
263
+ "source": []
264
+ },
265
+ {
266
+ "cell_type": "code",
267
+ "execution_count": 5,
268
+ "id": "740084aa",
269
+ "metadata": {},
270
+ "outputs": [
271
+ {
272
+ "data": {
273
+ "image/jpeg": "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\n",
274
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAACACAIAAADS5vE8AACeiElEQVR4AWX995ds2ZUfdkZmRmZEevu8KW+AAtANNIFmWzbVI7Hp1FST6kVSEkmtpR/nn9H8Mj/oh9HS0syQszTUUFytodF0NwG2RcMVCihUFcq9ei6fSR+RJtLo890n3itwdF++iBv3nnvOPnt/z9777GPuxP/57/3NycnJTufCf8fZhWNicsKli87khSsTF52Lc/cvOhMT5znrdM4vJiY6nUn/O6fnZ2fnbuXH5OSEw8Vk0ZmamOzkh2cuzk/Pzs8uzkc5v3DFI6dnF6cXF+fJT7adXPGznXs+xU74GVpk5XOiI9MzqZFxenpyeHA83L84Oex1J1fmZxfnZ2e60630EDHhwZAhf+QjJzl0LqamQvXU1GR3KrSp3tmFSnbPJ2aOO1NHZ52Do6PTs5EnZmbmVtY2rt24/fKrr16/fnV1eXl+bnZqaurs/PzkdDQ6OT0+cXrene7OTCJvQr6hEeEXZ2dnpxOT53jo19lZZ2ZGkinFYOrJ6dn+4Hg4PDocDvcPDp483b57986Tx49xYWFxbmNt6cr60trq8tLK+sLiyuLi4tzc3HR3Gq2np6cHw8On2zvvvf/e9777F1im0OOTU/ycnJ6dW1ydX16fXVhcWlxYmp9L7S5OjwZ7e08fjIb7K8vL12+9uH7pyvLyCiJH52dy65xPnnfOd/YOBkfH551J8ql/F6ejs+OT0cH+YH/r3sXJycLc7N72vbPT82s3b7/5pZ+7cvUqqlDrwFZV7RJTZB/BI4aAlS270zNfkeNELkcMhaEGDrwKmgpf5wW8C8I+vfAMeNQhPeF5zidOw6WcAxSl5srFCKYuJnIde8hWHRQfeKg9OUcgrkc4E1NSFADOJ0JK4Fu/Q1VAIKcAM/+kTjZFZ77UJoeHzvNU8T0VG6esShXVnbABasOXYEtBdR7YgoJ8Jyfm5vqKODw62gWg4+PT07PeeW8SblGJaExIg0idzkenysuPU7l0Jqenpqe6csGKEfidHJ9Wuwvf83AacBcYtYFquSG8DpT87IE2cj4bnU6BZ9iCyY3jQe356QgyHFUTEInYMGZiqju3uDg7vzDd6yGgm8cuDoaQc4TSbud8eHR86FFSP0Xe+eHh8GQ4PD48nELtSVehDloGrcjz4Seq8nNioguNpIVH6qBA0o2cfU5i+TNJFLs9kweLvUmDOVE/wUewgpb6T5qOoA6/OljWQBOR4WRdDJhSELaPW65zGiuwrEP5EVuUiJM6f05zaKp0Pgg9pU5cUG+tkrkZOgsFzhQRyHlIPvn2K3Ju/HCpXUWaeyExJzkim1SianMx0+32pibe++H31Lg3q8UvX1lf3nz09OzkeCQr7A2GSl6QiJxUMaBy7RSIPDZ1Bh+jET2btk7MRHYyGh2fnChscpJY5UAK1SyrFrlQR6Mo9KAKVPAOg7qIlc/ZNFXiLBBKjiczp6oIFq4oKIzAycmJ6elub2ZGlifHx7g/NTnlZGd7uzfTA+/D09PB/sFhGsXF8dHwbDhUNbI4G43yPNwEOmGiw/XiUE66o1HndFJ246aqwcSaqZKSk0ztYmJU24fciyq0ue40FBaGChMXFyBcHA9oPHhGtmWJUiR2prGhI9SE2xAS5Iay0BICgxknKIgYJMoVF5yOuZmvpE1OITZCjqSf1S43U3jdyoezahTyjIJQXiCUNGNoTTqvG3idP/9atg0+Z9NTk0cHu//j//W/e3Dnw36/15+fn5qZ+8Vf/vW3vvK1/cOTw+FgptefOofmizTPlHUWTNFbY0ox8OLs9Gxqqhvr1rmYnp4aDE8Hg/3d7e3BYA8XEZ9CW9l5qqrbSC/6xx+I1lbOz6YmJ2Wo4mA4MQmMI7pidNw96U4fT093zqfOO6Oz0fHS0uKNN17Z2FifX1jsTV10WY1utzs1R1oTU8cg9/TJ46mJqX5vttPtzk5OnHbOqKXTkyNaDrcmp6gfnAnrlRjBhbIcjcnI6Q6PR9p+NykL4J47xVhpUqPApW7EStRPCIkWKeiwwKV+yEOTaHYquJF/0AGUbP9k/uTlsWjdyXgfyAglwUohtwTXRDc50W1885lk+Qx+0Z8vZacKLUmdRtZF6/hiNMeY+hJIu5vCktBXKKGXTivDUhQcrdyqQ42cBl/oZlS6U5O96e4f/pt/cfDkszdf5AEsHI9OH2/t/f7v/c9vf/87v/27/2W/393f35MQnV1VVcWJC/aKvkk5BX8WB1HMFr4DEyN2djoa8oEePTwaDikDuKA/qBEkVwtMXZ9Vc0yZL7eiZU5OKKDpmZlSOiMWilH0p+yTk5npk9FU53xpfnpl7cpgd/uzTz765Kfvd4G3O/Xa62++/sUvTaiWh3s9stg/GMp0rj+in6jB5fkFntfmkyd7J0fUJvFFsKqgXt3u5/AJG8Mw1ekODo8jpGqeOHsC4adnaYhVAxDBhWqpE7GRBTO1xGQXwyBipyySndygwVd9aumRb10MDOp/ABBvPfDC70g64mopncTTjF2q9IFPnNOScUEkLTxsTJUqc3SnSRbP4YbsPBLaQ32+xriQdZrBeWSLcjozVZAgVLgTmSXbDsHPTvZ7vZmlxcXVtbXlxYV+b/r+3U8/eve7wLN2aWludm50fLy6NLtzcPxga/tf/k//z7/+23/3/PR488mAFZudnZntTc/1et3p2Tg0ZNtNIynbcqx2TNj+3t6DzQfDg+PT0cniwgKjw4qlQQJQLE44GXoDoTqeNYz8SIvl5R91CPR8uioOeQApj8OwfAoSuleWVjpHT7/zvXcAtHN+ogGgQRHv/uC7f+0//bs//41fIjHquzvTm+rPDw4GZyejhW56A6ej415vcmNlcbpzsrN9qNFOXoBAhFf8bl9h7/Oju7V3kIaK4giT9kGmH8VoImazciEQiWoptRy4yRAJyRDVwVGeIg7llPySXUk71/2oOzkN7KAi3EmCPJDTZJW77Uddrp/EHFBEzknkUXJOyjjaegBpu5G/TIOJKqFyHGeaDPOER5Sn4QZsVZu4uAWa0s0xKzO9+X6KmpyZmc7RnTw/G3EQfvTdb/enJ5aWFhbn++Q3PT0xNzszvzArxaf3H/3e//uf/d1/+F/fvf/kZHS6trrQ63ZDXRFfDNB6ZTiDjew7nTEYDu7fu0fi8/MLy8uLELm9s/Pk6ZOTkyNWB7/Dup89ijnPLowrmFrFJNRXDNmIz5s2czH54tXl/ccfv/vdP1lZ7F/dmJ/rL3OvAFmrub/55N/83j+/fvPW0vo1FJLgTH92YmpGLkenp91ed26edTs7OjqcnrxYmu3NzC4cQfrhBQ+NDgpvxjV7Rk6n0909PEYUZoaWYMg9yRiaoOTZz3o2ci+vN7faQWLIjsTyUN2XNL8a8/JZApSXnEt2sW0pJUcly7PteP6UkzwZUhz5riKTVaxNFFOBojJyGzcBIxeDfc+CR2Eqqso1/1wOtXGAQlMSlULzdGIFFEbM5OQUk+32WQzFkc+Zyc7Ww08JQ5xBzegYjKTqqOH1lX7nfPnR1t473/3Tr37tV7/1p98+HHYXZntnZ3RDDqS3mqGBjQuZF0esjR7csaQc224PRSvLSxrmyfHw7OyktHLY0o5k0FjwLMNk22oa/CgB4JCM0iN+1lfeeOl8sHnnJ9+7vDLb604lxpHoAzmKPpxcv7z42b0nf/rN3//rf+fvJ5YxObUwP88iy4irMjo73T8Y6GnOzvWHJwejkyMdt/WNDVr74HDQaBrXB1nVpBHTHfB4SrgxCySAJk1GwoCgOFBVqPNcC6yK8pZF0uO4NB5P446n4rF6sn3nprNSU+Pzlj5SP9PbDT/GZRVlSZxcZKao+A1TVC6yqgTXPUZv6yGICPG1Q3/ja8rPeZXeKGEQA7m65qR686A12dFBcjUlJHWqETGkV+D0rDs1cXp6jKubDx8cHWzfuL2+sLTIjViYn8UmucEXclaW+7yXt7/9rY3LV7745ssffPDhyRItNaNqrUrybkcoLPL04QV+Js755t3TSU7BRXe6tzDbn5yf6QNnnE1/SfzsyXDc8TzDMDt3w4miOuaPbvvaz716uvfw/kc/Xpi+WF9f4Fpx4GhWFlW7mTmdnD2Z7N2+euf9dz756Y8vv/i6sNb8rF4BFkWfhSmpvNDVxXR/VrwHJYfDQ6Z86XwVrEp4RcqYsnwx0elq+tfoi5hzfUytr9xz+Bh7J6E+CEuiiMRZSvc1RgqppAOSJ6AxyepQ5wbDdsuNeGh5PKXLx5VYN9oyCoYP245qKxP8UMwKc/N50Znun83xTPvHR4f6sjIuTyZcUFhStmx1RMOUFBOSgqT8zA8HPwDNjsgClhnwCf5t50SbPh0eHumvP968vzA3szA/Nz09wxXVyuMoJazjwvR0D1mTR8ejP/zX/8vf/N1/PD0zdTg8WFqYrfxTs585Uj7qUXAskrS1TRWtrqyG8rNTBoJuW9D2+z31TRU+P8Ykh/oYgAAjvnR6wmGFQNTx8fCLX3hjfWHm+3/6R5eWGaKQJX7JH+r1E2Elu9m5uc5pb2b6aGd/+Gff+t9++4WXWepER7UlAdZQnE4ydaUjttU53z8+XFhc3j/gs+3NLeRgsskIZY15jcBuIys/imayazfGv/2QXH2eVQnNYXgSN2iNq5fK5I5sYqEuhGLpjOTCdDiH1DCg/ipOUJ5LWEW9T/lT2/TZZohmgm4XLHbRhXaLBQ4ZbAzNH4QVUSzBzs7engDG0WGRnTJaQu5m6plSc2hlsX51M3RH9YyrFRomtbvR6Ox8ODrfPxycn51IMju3xK6dHQ3JQ5/5cDA8B62TqT5tkVYX4ughzXZ9df5g+PTd7/3FL/6V/9OPfvwu2aatlbyf8w1j0kyi6nKNr7O3v3d0dDQ/P8thl2F36uJk1JufmI27URVHdlVq/OFHsqCPOdDRlInZUDxnE6Orly9dW1t49/t/dnl9Za6vv0SDylBoMtF57tz83Iyg4ESnp098/fz8o0/vbd75ePnai8fpg1+ko4ymqIVwe1ZHgGI/Gnb7/YvBPsOqVezsbM9RwoujXq+HkKpFPuPx/QdHLv4HBwoczy+1c3WrkzE7Wo7loeBRCbfsmmShrLDmC/C6gVWwohUjuXDDe3MUdLpT/e5U7vpskOoCU/rSiSE1bCS7M9li+mA4k76c4QWBEF6iI4LLgTwwaSJApV559LO7/oUk9xOXAsfW90av/g2ZyCeee/g+A3eao07K8dFxr9/b2xvqtNM7o7MTDoyqij6LB/ZmutevrX/8k++tra298cWff/h480JIJY7l5+xtpKi92vCpHeQK98K+kLuwMN+dEfhFAFckdk39HCE8taqaJAt/gqC5GTgmFHeq5/zGSy8+vvvx1Pnh4uwCeZe6TshRMGdmus9MiBnSjvi6sKCPOPvkycGPf/jd33zp9cWFuVI7cgxPqtzOxRFXD1qW+UB7O0+3t3bml5a4bTp7+/sHiswAi2hTHVp7CdijY0yE1nCXAMbEt5TF+vFp2N9OnydjjIgnAurwWlJHB8Hj17Q4a4afolRmwGFqkjHwhz80DY1Dsc7OCE3ATRdupCBUWUTXjPNKiVy94iQ2poUGU53+/mAGKa0nBkkuN4BE6bSqwU1IizzVLTS6TvhxorkImqlOcQYrMiYUmTXifU0Zb5E1qgC01++zWBinzRvJKqijINTuHexPTfXXFqa/+yd/uHb52urKMhxWmc/4laLzF9RPTYkIq25VIxU9OlYyT6hLBZ6fxdMe6VYZb6twbWjNw47ibrVJdZOd/6JCv/gLXz8/2jvY3rx2aUVnXivQu6JPY7uiw7lbo4jyYmJ4OpxfmOe6LcxPP7j7ycnRYH5ujr0IoyrD0GiUaTTKkyW3hbl5rI7BrGEHKSldYOr3+2CEpjSRBhTUyCZ01pX/I4yC+koaWVainDSQac16blEtMTEC/yFdCC6NLYhxPd9THTEJFesHLEngj81KTYkLWGRbH+qBLP3TUFX+Sz6i4uKrYPFJBHQh+qGvRLpxLhLJaXZynEmoLc435sSJCuGBDkFmxFGFKPA4AXxquKn6R4PGV9E14GVA/9HR8dLcklKrIlrA9Nzc7P7e4Sjo6R4dn3FKDgYHQom9qfM//ea//Vu/+w+ORlHDP8vJnz0PU7hTHLm5aYiCKbVmj46OOWGGkBK2JrJUTqYxb59rsiBdo4oRzFjSi7du6wy+8+0/vn5pVQzmcHQSE5MESUOjUXAQM8N2ifuI9Whzc/3V1eV7Tx4eDvcX1uYTlU9yR2qNI8dlASDbJXS6KfzOlZ6dFdzKPdQNDw+PTgS9tb5wuwDhU5WjfupK473bruVyRj7DEy2A9SnXBEOb4IMYOAgU/CGUGYqdipcJHTmoljJMeq7OQls4VWXJE+npTJayKOc6V2Kc/JAmSMhhqC/dDWdqp8y4ORwshNNOLhvfjR0PySqRGjzXA80rCUT8S9esUul8sBnp2suz+Jgb6VUq2IjB1GR/qrf/iBPAK9KT6dBB/dnZw2GoQkkCO0YRIu+E0LBzd/Puu9//3pe+8esyLDJ8oj/6zyN0Hhlou3zSkljC4pPxVCZly3BoHWxiPZL6+6m9c3mKPFVKJCuDPHhy1rl6af2Vl269/Rffmu9h5vng6EgrZATnen0VEF1Mk5kws2BqRsxMdy/jubHPNPxMd0IoYbFcXhBGGRpwEsvZhFFcjFLHTUdQEEZA5ucXF5fkcGwagHLOjMYMyokOU4tnaIu4IjD5+QqME9RP/lCT1jdGBldgijqZibcb3OQcSnIxVmoqnswk2+QiMTQmyiz5pX2TXGKUpU38PiXU4CWMqu/8Ip8YxliVOtzyjS4SSbPUOEorRHWEZJme4YTzqk0ufv5ctdzKqSrlFjo8YBiq1B1bVdV93s1w65y27neL2k5nn8N1fL66vphOULKOmsgcFN2gVH/yeDhwsrI0/+7b33/5zS+vXr4K06gNvSHbd5Q060USnArqN+OpJ0acHVMZXOC+9uPnSp/atKOTkEGAenIiL0VjEwsp8ZfeeuOn7/6gN9XRaA8GA0Z2RuMmL4XSYieGb6f0HYnAc93erK44HMvKMJmWc7C3v34t7MaDrv6op9Rtgl+hHk2E3QipiA/9xDfFNRRgMl4SSwYuNfCkmYaNqW3xuRPXspvYV1QHdzFWKepExmWAwMJP9ilXKCE6BWoIMuUWcGXpJPqPjW2QQHcc/Xir1bQioVQmEfyMkdQfSoLdQkOm1LByzebEsMhZGTk66ohr2n2BNWqHRKPJqipVnZJCGO4v7TYCDIId0UvKG8UFvjD2OE27Ksj9Ju0woxGdYXNswPej4xjLzc0n0nArNJHTzukJBJg+c8qd1s4nmdSJiZmj4d4f/+G/+c2/9Tv9+eWzk6gT8kO+DsTZZAfPjGDQM4jQio9nuBwGGKtTV+XLubnYIacOOeATzwOS4Aw9g+Hhz33lK3vbT3afbC7N9+CYm4BUHuTE9BS2koRHCY8IEg5dXFpZXVeikLV/JKB57+xs3TgVunRZ4rP0UvDKY2mQYXasVYVIGhk+GzsDrsk+RTXZOYzYc1SvNEqlvF02GlCar0fHNAUDTxBD06ASnSySopzE5BRKMd0pG4OOqFkjxmVQiKpGjqNw4CX9HF9RN+kpYC9lFBL5IskWbIi5QSdGlcjzI9fzWWKOew6gTJZPxabo/AuEyEoDBV1ccMPHM1jE8Mmg+BCKia2pQAW4GNNYucNOAehsfn5+5oyjem56zMlIL81Q4bYi9IoF/bSWmR6R0CPHp0cnZv3E7e10+HcfvfvOxqVrv/qbf40TlwgCzOWv3EThu/l5Bk9iOU95+PBY1wsyyEUaRTugRJAPz11RBbcc8YxOR2srq6+89MLF6cl773x/LnAh9amRRjk6msa6mT5DJFmvN22sHvZkAxNaBAYeHwpYnzOWUrgC+00WMo9Dgr/lMsONEyXLAVPGzRYpIQZ1YS3auNLdywuhsuyR+UYgwkfhuEwLac32OTCthReDaaeyQOPmSVjnIxxDuSwjWO0899pHrLU/d9U6DkpiMalGIN+OMAs6ohx8BSjiRVWHgnTyCslBVdShi+pZt5JDVQUMCTuNiC8YQsL/FoiqslKixKl45cQQx4PW5ZcvnYM3yI0IZFMNLCXGnxzX0r3jI9i5YGqiLo9P5rBf+NaECX7v+cXKyvJsf+7p1q7euCawPxzO9BfmZ7of/eSdG7du33zlzfj7RQEaIqfpLluS2UBmb5mXcyokYRj9WOPEAmQ13hRpOokJ5DRxepZKODk8vHXjukG0P/i3/99pztzETDy2NDRWgncvDBIeadWAUtMgIgVSPzw8IInDoUlkk0emMvJ1pntcYXaAopG10qkGPBZaqE77iK7wCAJcjGzqaOgZn4PRq7euMEPGn+mbTHaheSqzxGlKRLQ+xhF7mrcz50DhAr1ZfosymqQjqhrblGBcYolB2pJfdEm0hIwi/agZR7pChKiRNbXTABTZJg3qG+QLBy60I7dCEI8uok7acmn80uSxFUTi3YyLqy690pNZ5YlbnjsNeHSco7di15JlPVHwcb63v89+a9xS0/oX51Mn56ecIZP7jP0zT2qMP8zpQt84wZn5WJyh4eGBIOTB3s4ff/MP/rPrN2bmliAtNBY8yFdHKcOfJyPZGnyLq+xkcro8kNTkWa2LLWEImMkhyvPKpUszk+e//2//FWdF9EPjSVAD4k9PZhc0fBqWDE6RbdxZbKk/Vx1hQOwkAr6/u38xwSJzXaa1t8dPt+Vr2IxTAn9nBgQnJgbDYbTi8VHKDUNDTySVGkQqISufkX/39Zde0CLdHDd9gUm18WccPyhJvDOYgeiqaGxQohy5hdS0I2aoClBG8q0jgI044u8gNEU0DRP2hIgCT2RaJOVK7BM66nC9bj3LDSBi7PKTANrdlCOq1hJWoUWUi+MjsK2jZYUQZcVwN8c8AgkPBAN9UUN4BXthTLiTstT9fIYj6TGDGMleNO1iZzRjQH5mxqAovXg0OOJBqSMCKQP9naPO6OBg0J9f2nry+Cfv/virX/9lFkqGRWrqnb7INM3BJYnJk4kZH4h0Em3YeBuWfH5o5JjDOMzN9f7s339zdDycjROiMnGxNdelpfkpfv3JcUqZ5H705+Z7/VlpUqFYy9Ozo8PRIW3aSZzJVEpCfvhw82xictlIDXsZN35GkebsipwOD0znEPRqGqjRnibwnCaMBozuXF9jAhDRd/xJNCIST4FVaAaloTCer+Row1YJZEPe7dxdzG75Njlifhp49SZSHaXjXuE4rYjGaT/ccKbU//D4GSLjyslT5iX+FPI8bStRYld8hogkjaqkTXC27oTgXA4mUJ3zJDfnK1/ximKFA3Z/oBQIp4jKnSafvbwxPMKRQ8k8xfbtHxxPXeytLS0KKszNTfTn6e54+oMDfOdWn/dnZnVwjk62e/PLd+989tJr2/PLK2l0Kl4Hwet9KNZFrn9wMCYXpyKGcdUaufmZWlAuMPPnf/YnB/u7i4vzvBxtCYjJYy6jb/z9kykaDQrEBUztEqE6PYQtgZ/JTp/NNKpFmhyxBApK9X12d3N0Mbm+umruovnzi/PznKVDNvs4swbi3p0IIxFhPhzPCWvsxpfu8fEB2YCQrlDYW3EIlYiFNnEu/m7Vp9zVJk4thCziuz6Tq+ecK6cVEFelBiJwIMqqABToUKvRTESVkwCrhJmvklsjS49Jhi4lcR3tZztHbD2bD8XGatdR0ClSlRrWoycVGv+CDbBKGCR1bKBWQnRrlef6mBZk0ScFNS2V7hEr0JjwKNqhw+vtDAYnM93juRkTkiY4jGZAHA0Po7cpsbSOyfl+f2tvMDFzsre7e2LAayEzWYuYVBxzgGYqnNVizZHnSp5OjDhVp/30m2K/nx9FdVQ49H780/dxhEiAoD/Tq6pccMnxS/UQUoNCE0exP0Nx0FkRodmZ06nRWS9jeWZOdiZnjcAfHpmIesqXA5SHT3bMitzdXeRX8ecoOeMr56emspweCRaOTkgmDX0so2d0uRov67y7tf1UvVUvn74yopQWqnYZXYxYolJNoqGjVF4G4USCDZGCkyY/6hdP/PSwDlI6kNXfod7LY612DUAKZoOiDOQTrmY8adzsgx/Ki4RdThm+fuZoPwPOGLuIwYPtV2GFDsmTSPQztQCeykYez+pdBVcV6hoKwDul+unBIhlRQZ3i8ISnwmk5OT7iGA/2D4s7U3rvA1w29XhiZml5QRWjfDrnxyzDoXjwMWODHUjc3t769OOPlpeXDeBrjFVrLWiM68ZLIRWtndY34mZGI5+mqEXEzx7nphf6480ijAHSSeNHYQIfh2bi4+gCsVW9mYnFhdVu9/zocBCdlLGW6aPB4ebDJ7s7h725/vGx6fMAdH5gadHe3unx0fbjxwe7oL7A55ufmzfBQd+ur+XQJicj3AwDG0t/hiIcQnOm07robpJoi1gYvYKBqSU9hNyIOdDB7pJLyVWfrzRvAhgMtAYiCTtexSV5PeLTTNMxLxQQXyjdbKgMYSXqFK6UdgTrKYtUXVTeGEMeaznXp3YcmMIjt1GYKl64zIKgijX5QFB9huZGesNpg0bq1G7kJNqqNJYiS0s2pAdBHGQhr9GJ6RYL8/3ek+3d04seR2jfqpiTSWMP/Zn9ybVM8QAYg30jK7Lw9SSL14YHg4npuf3d3Z2nj5cuXVVBlCoqSq+Okkuqz0PJqpyTmTNajYebIwguypE0NTo6+vTTj7a2tpk9AWs2c1oY9fyM0TE6mvnVhwNOL1ZMZHJlZ6Y/Obc4d3Y6zbXRxuD44eMty5Amps6ORzv7B6cbN16cX94QBDXCLpRlQoi1PceHg8WFRQ6dgd2Z9dVBjLeRtbIFEQw+BgthdShLey1aCy+uVLMOcNJE8j/qOLwt5mrzHO08qtlLOmlsKP5sZFl8SQGVvIBRIMjPKktWdfhJ86WsiGx8KMj19lmyrp/4TO01sJYnJI2jgBTHEz20+fNsVMYDqtb43qqoEqn/s0PmapV+SvpsKd2ZEgIhp/mso0mursSN7vV2n44Eay6tzi+ORru7Azy0AuY4Q3Cd7e4BLi0tGqAW2+ycWfogrljqDyq2t7cfPHywur66tHFZfuCNHWluxQG/0ssp2SQmSZKn3VlxzWJa452U7n/4/vufffqpBLpvfC6x5YhZ4GXafISLweDgeHDA+lzMxE04OxksLPYNvc8v9GPxLs53do929nhswnznntnePV5KXHFKAAIjkZFp1bE45rMeCbycdE6WFmfZLzCIfHOEECQFN9WqG8u6EB0WFsWFmaQpmpkhYAqL8zsNvjRNMooCMIAt18oRvqQZ40z6XC8BljSayMcyrLKYMI8EQ8lM2uQ/FryTEJvfJdOxjFUknXN3gupUJEJqVfNV2ioIkCzxh8C0JiSF2BwpFy/VPDLL73bHMwEe4hueq/LtgSRItSaWV1cfPbxH7XMxxJHpPENBOsMmiXaGJ4Csq9Ob7rGGCcfP6rpM7B8RND9ipC+bwXAZFWDDTMQVPXG0cKHGRCzsGw6GCdJ2p2Z7cW7GREupqudnH3/0008++oCba7FqgkOdjqEMoxtYeSI2eEpzTeu500ydc5M45DO5sDhLYFtbT58+PXj06KDXWzJZbXVl/uGT/eHJaW9hWa9A9CbKYEpI0Hxv1ujI/zgdJ6eH+3sZ0SzcFOBDUXiS/+FnO4zT5VoILnGqaoyPv7JKUUepS3RO/sbKpqrXxJgH48zKti5UNs8E7MkmTiXGUScr/5M2EIvhi7kMT1sxY+hApzRFCkraLVnJRCH1WRhNDdIfbFfG3/XVaJZBqYJ85LE8TRieCf2hoC5W+Tl3JMuUkv+q7oQ96s/NSi2QuL07WFnies5yWk6idmFoRBrdzlBHnDWx9EqPbLqjM3T6aHAsG+abD3T16rXOFyhLq2TGbBIB3h+YL3oY4zHY7U135jdWnj7eXFtZjG9retNYQ6I84w/l/cjPQOYQeNht/SnG6WQ44PITAKXUmwE+Eh+J6Yl18qhozY8/0VXfnekZBu1eWhcp6u3sPBp1pq5evyEMTQQUZ/xQEWyza5jFqanDDNEoyt2ZUZaspUmHbtzzlf/1L1bKOte0h585SqOG35CkZSdx9AE7Gli5nGv+cuZP3vkuQdXvlBKBNS+iZa6JB51sUvKq0FTTUnGG/Mmh/gUrDUPSw2sgVNiK3ammIPcUkFCZqaXpBbQDNYHL+FBqNIx/7lYORW99UEIZ4E+4EZ2yaggNbPKvapIycosbQ5AemxScne/1hkenxnE4FVEUWYsDZEbTOsOjk62dPbGeWZOajN9MmnEWr0ZDoBuOBsP+jOlX58K0gyOTuPmeMSumV794++b1a1e09xdu3TBA9umdT61j18f/5O69/f1hAlZZYjb12Ud3vv+971j0vji/qGTxGlVDG6xykMXldAOX5k1O1TSEj7uMFNv/9PH2Zw8ePX56eEFbCX/PTs3N9jYfbT/a3pte2VhdX7+/uZdRTuGYSTM0ajIUgqcmjfNlHoIgt7Ucp+YSjbu9eFKi9zk+8Lv5weFRriVJ/B7fxlA1TR0CGalIQbBYXEwPIMJ5d6NbpCl45dN54BpZNKlXYRFtppRiibtxQ8w3yHhY0+MpURG5W+5Vy04bb1QZJvW4/5F6AghCDkSbiKZeki83ymjJgE6SUypRBacgzzo8jvZUtBBbAxkyVT0pSzXkJJWNUUt5KnhBx2ysXprtz5yfHpq/cyA+ckx3dpkDgQ5Vh4bDY3SJeuza4WFuyjzp2fNezeCxb0Mc28l3f/TO7Zdf+bmvfo0LJcB2ZWPFEiHdaR0oGgUetS09omtXr2onuvUvvXBTtqZoD09PP/jgg3/9v/zz1195bWt3x83lpdXUNbKJPq8ZjGfLs0uGLIU5ZybNgWYpLgZ7B48ebz/dOjDMurjYX12ZWV/uP90evHdn87gz8eqNm2sr6/fuPqGQdYLZPfZPA9DhMe81vko8IxgIjkQe06rDqDCzROsEb3Lwg9Nbc7m8S12q1o0Kxz3huWiYglRk0P4TU0k8iUAv4yRJ235GYM4irSiA8cWxMcljMlX1YKEJNjKEm9DnE2U6MelWuZproVQuyYi4tLx4zp0JfceJjEYNBoc6wcI0ySw1iurxKXk9nfIbPal08qjGkrNxAqdj6uJeVbGpC66mdBIyxWJhYXHivDcc6OGK3F3M8hyMvxuQN8RqiMAwmbn49P7ZVN8M0klVyDCJgTf+LqAbYpjuTD7hTW+szS+Y8W4+2uDAeFjG5C/k//TxE87o+pXLNJdJg6xar9vbHhzc+/QzXtTO1u7NG9cuX9p4eP+zhcUF7u7+/j6h6qAbpUNE92L27NCqssFFt3M8nBBwOTo92j44MM5mTHN1uStQaGTszoOn23uHN25cW5mdPtjLkmr9dFZI5xF5oHB6kU57/jDF4ETUfonh84/wM0cx03eDS4kLYyEuqiuMI4Rqr5kGVILBeGduJW8ZJ03SFjJzudSD37CRm9F7EacrAUMglucDjWZewM4jluUzVymyyk3zl8aoQNmewD2tW3OTY5bM5ojAU0RHx8HAH/xAkjTiwS6mUElCdSVqH/lRfGn3mTBwqTLl36oYXy5F1dWcZmDPvMAQ2J02Odg4gDmjOkFnZyZbpiS6LgPexhMOj6f7caUtbTgQELLDicheTVwQMzRz9O6dj02vpnQ9ZEsDawnfePMLfKDrN65/8smdtZXlDz+5Y5bQ3s6OzQ7e+cHbggdXX3zhyeajy5ev/K2//dv/7P/xP3zjF772wu1XlhaX9i521CSBg8kZHXUh54PTndPjgeANifNsTs7Pjzpn+0Mj6v3F+aWFubmHjw8meiujTu/V22uXLs/aPIEhPDwcmBhkbb0uHZ2qQcG9GuN3ONXYF2bGrxhbg+ccjcTzw3zgCE7PWhoND9v8bsIuUUn2jKdJH0CUXokIgSdyd61p1Ag7iTDJDYoksgw2JBpnGw2S8iJhN7R05ZfdSzJPJmlhkD3PpeTRhqEy8hIUp9wq79yU1tOhdZQgpMiqUVIHGWAa5KUJORov2llLgS0KUrqvIjj2M8iWkfLz6TqWCKrgqoFrml6XORMcqI0M1Ap5RWACXfCLgzXXEnTPdk+Gp1SPgaiZGdb1+tVrK6sbOmo7e/und+8uLa+59eKrrxt5dQwODraePrl+5ap51oSkrPfeeffqtRvf/MNvkuwrr7/+0Ucf2ZXn67/4jeHezosvf4FrPNE50BfERPGF/sblw6cXtmOxrULHQjnEnVGUFilOGmebXzibm52893Dnwc7B8mrnrS9/qXu2/fFHP3n5575sMRpA7+9tn86enJ/NqadePZFppRDjy5SwarFR1EFPGJn/+Dc+yymVV5eCnna/IBI+ktH4CUyKJiDtQoP2mluxwUFn+wOIPED+uVP/qwmTT+DrWgTV7jfY4X55yrkaicmgHGrZS9rMHCgkf/B2M1HNkJW2AUpay8XhyWh3cKQ7k3ktCfm0sgvypUg8i+Y8ET6gKyq5cnAnP5ReR9JoGD5lQg2bF2HR8eLKqhaPrZxocQtma+JsWlX4YDSkMBDspczignPL1g1KjkyyPx4ur12ibq7fvvXLv/prWr3Y16yg39ycKfT0vEJ/8IO3b928wX7pjPG0HtvSYHdvaWn5nbd/OPVm71d/4zeePNikEL7w1hcHg+Gv/ZXf+PEPvm9SoSkbRiF0vEejo97s/Cf3PpgyG8m05aXlSQru4DEHyKqc3aPRhLXv1NP54aNdA3Pnne3NO58t/NxX3rr49NHlS7d2dnfofmHGg73dwcH+Qs+sHrHyjkpR6IZfzvumHR6FIXEvcKWpAoRXjVPrVDyK2IXWUJ1EzNiRloufgUh4lMddzwhpGA9OOaozU+yvn1I4gqLK2k++fKQVuVSIr8lLXsnCnRJlvN4mvMo8hEKQqWJgQodlDNe043SntWYiUUJu8R/NQj853x+eD47NPSWghKZStiO5NGLos6iLePB5sGjWEkSDygfKtejPVAmjTE/mD4idO8wF7RsksAwjY1WcSxkYOyveTExyhqNWY/JirWhKvu3wxE5Cp/3J8/MZ8wBHV2/e+IWv/8LapQ3zN/qLc9o09+Xh/YcUz7Ub12/fvs2VMVhlvvpwOHzltdc//vgTje3NL31peXmJe3Tt9g0p0by2tmIs5Qtf+eqjzc3Z+VW7Pxzs7nDOtK4rV/e3Ht/befBAQOdsOOqOdtZXphe7M9sZ/KUpu9s78dyEos4mZzYfPNi+efMLX/6FjWtXTaCm/BayVLv75PGTh9vbfCDyjnowK6sbc3Z6flIaISrgGXzC1sbZCJoJK+XQOBvvxJk2GzHhTGNtpOsxrS3SgYaSTSQUEERePn2NvU6nbqXJ53rK9eWHn/7JCDRdi13MwRDoB0Scod419kphQU9QYrlXOFGLRrUPPmdoi/ip6POjkwvoGWSu4DmPL3MRqrjK+Wc+UuuWe1IopVEETfyy/Cpa0oHARPPPzbXJ4SpcnNoFoVohNW9K0Ozh4R6v0yMGNMSrOA3MLJVgr6CRaYkXE0Y8zgaHNun4+a/+nIGCw4ODRw82Oavrly4vLa+I8Tx+/HhlbXVz8zFV9+DBfYrpe9//3lfe+oqV6hZePbh37+OPPnz55ZeXlpcNLsZido6EeZZWV/iorPZyZ0kcYbA3ODwYgOD7P/6h0fajyYvDwcmlZd3DBQv39ekhDPDNGNO755klzHx4fP/Bwy9++UpvduHkfChMeDSwx4OY0a2Hjzbv372H15lSZGrblL0AMhhqikkMAq5F3I0txZsAAt+wHSuCmLCx3Qmny1TUBRcDk6aNkqKuBpPRWq63p3Luj/Z4fhG8PFV5lhGJcBsNAY8SCwouZq5MwBGz5AmJjcAGUqQniOsW0KZXa2wuCE5JBThDUROHVosW+DLKnzzREJKQqTCUq3U+42vloiQIkRszkqzinKVKeaY+pcoY8lgrCzOczS8uXb1+684nH4QJpnH1jXciVEZjcsmY8qJyODe2Tby7NWD8/uP/+D/ZuHTJI/TYtRsWMa9RknJm4xRMNg8f3n/rrbdU+cmTJ+Yobu9svf2Dt1955ZXbL9zG3EePHvGK1tbXMTTtI4OidqqbP987mO3oBBqeO3u8+fjJ9vbDR4/evH318nLv4ekJoGchpImT2WKvC+GAK7Q9Od2zDcvqytLUTL9jDUSvf7S9x3EUx6RR+735qzdvuvXxRx/tDQfzlvFczFiWhoM0MDaiJ9ILV3GQGMMrB1YCGMNUHK+7DRCYH542CT9LTnZq67FCQcRUWT/Ltx7HoiYLtxwlMIVGro6USbXUz1IwDRy5ZfhIaZQPEdVJYch5lEBpRCTFZqhJjmzQSIKmS4nnlIkNwVUxJ74bWVLGFweKINZ3GTmmSE/b05VbURaE6hQiL5OFY6rSDzeH3YIv26689ZWf39l5uru9pdUmQGg1gv65bvv5kYL0g9mmc6Hc3uzjwfHa9dv/xT/6J+ZobT99kg0urlydXVjiZyB1YXHxhz/84fHw8OXX37h///6NG9dNJ8ZzceLd3d1LOTYyOXBm5oUXbu/v7j3dfEQP8ZMC6inDpNPmfl0Mh7hobdcn771nt9GljWufPrE76GGmNVxM7e0e7dqRU7BZeFCQenrSos2Ti+7C4qqADnfR9i400OD43r3NzcP9nYsV7sGUQVcbIr38xvTDB3eGB3tlALAjjNTyoi3qCD/D0rE9wmpllHQ1xpJ3GllJMerqmYMsjxJ/WO3msx4d/VqyVJCkpXucjv3cFBT9pAlTpLRLQ6PcS50EOtRAzqUCiCo0AMqYev5CTzJRWrpKAUkhBfkyc68AnGrFjlRxocaRRkJrS19Xo36kqhsN5cmh+gltKYLbcXraA3yXC9PCjAqZcd6j9ydndLbffOP1l1957b0fvW31jN01yydMxE2PmapUdWZAk98/nfjrf+d3fv2v/FXPG4RH+Z3PPjsRylte2d1+Oid6uLBgZG00m72FSGVne0/F+dQWOG8/fSoMbQqb9c7VyZowx4vl4lkX+xMUNnpqyMvsQdsMcZXXL186/b5JP3O3b9/a2nx4bBeEru505+n+ydHE1MJsLLHuBW2kxfRtZnVmWdLGleu3TCTAWP3Kx1s7B4PDq5evmWSPDq7azZsv7m5vmifEHkS8GEP95C8cdJSIch79bTQ+mipAcMlnCXOsvUtG4bis6uGI0eBd2h83Jn2R8lcCqliHYCQa37eTFFAjifFguDINIsEH6JBpTvLJXjsJAR6JpIN15JZeCWoCIyWnkFCh6BDqh0xC0TiB8qOS1IomiR2tv1QtWfqZMhqkg8MooRTFC+FPCPcZJ+j258+nZncPjvYyV8NOlBf2+YHxDFN3Jn/h67/46P5dyzHFWSqzRAtVzQioIXG5b1y++p//7t/n3Lzz43dtvnHn008Mcc/NL80vZF7Ewe72/PCQSdK527Iw8eLM7GYqfXV9zbMod139huYZ2R6VLG39NGFmz9zK8srR8ZDYqCU+tWlZajc/2zs4O3rxxVufvPjSTV29m9c/vXP3z//9Hz/aPzDN7Yj9sp6t8cueZTOzR1lYdmYX4Ne/8MXZheWD7T2Zg+PMzOzW9pZpQNevXVteWQsgJidWl1fSacgKs+jtSPdnjrARI11myM0HohwilfTWfEZ6zitBno06qd/SVDtIyw44oiuiTXwHMTS+3AgvABKCTzRK/8Fd2TdNU4iJ/yx9ZMd0lnaRc5xQGH8+hBoW+QtoCvcI0bsurIR8FLrFVjpLaMEfkgRyGlGhSxWiwAIu5GNlpfIg3CRYmjGkrE+yv+S0tSfz9hJYXu3NLXemeruHR9OPp+8/fGQpDwfChrwCxnBz48q1S9du3L1/B6NUUxkqYjDKqLiQnnVX//if/Dd22/z0zh1DASzc4uLKT99/38ri+/fui9oND/YvXVw83nykUJE9G2xeury+trah4lSY1dNwnjlB5x27jYhXWnxogtCj+w9EModHAxtjrK1vWBoKZ2qliLlZ24id/9Kv/+rDB3dtO72yvrF0+fJge1ObmO4zsVN6idO9WSi3edmMAMBc7+VXX/vaX/o6m9OcPAbR8NxwWkTx8JNPP90YDFZXV42O9UXBp2cWlvjsk+bhh41pyJj3+eFipCKMHSnUEUjlYoBbMMpVJiYt22EmdnQMGeUiCvIjcDFc6DM7jtOQbhViwtw4vMkxamYMDpzV5zL+EinW+k78U6Iy4sBQdBLbIyy6ocgqABSJftYVCHQmV0+wwFPid3ZN1v1RogbBugB65imlElCaE5/KwXT/Mx9DBz0LUdIADUcZ6eSCLK1dmplbNj6xenJKeDrwdz67d5jVN+K6+QLY19784mcfvQ9QopcantFvmXCVzPD6e7/79w1qfvDOD/FFvyaD6t3uJx9/9PTp4/nNpbn5BZkMBwf3P/vUYNXCwuz+zrZMGSxLq4xZnpiGdmoaxsT06JRPTc1Sih9/+OHTx49sc84zYvjU5sDoxPn54vycitjJUdU6E6b1XDx5/Iit/cpXv2Y8//Bgf3vrCb1Cgw6OdwV7pmf6gL64vPorv/4biytrWzv72lRrgcRg+47s+Xl2srn5SJ9uY3XJ5CbXuRZzzJ4ZUAIW4X34GUwUSgop5G6pSoTXrrZvwCipw2kLa0edRJUhPUGJmnjfAJRtRembGKnoI80yKdPsyymJHlBspBdd41/0iiPU1L0ggZZpTorEAXGsoSOqrm4HAvlf6rGmPuZRKd1Wby1A6ObUUKIQqpG7DD9xamuua43MBjdgaxA7U9mz5M2sc6BxQveYhCVIYy+T+ZV16yj0UOZPL/pcFW2dOtnctJMLSyTYrKpra+s2kbcX3L7lVYf2o+xbB6FW3/jG17WBd9/54YcfvL9nyJPMetMWFpqpvre3Yw8DWoyC3DwdbT19bJKyvRmsCNVDVvfZuXl146rPmmixt0uefB2MvHv3s52nT1556UWjriyX+fCLi8tWWuDV4NCuQtkvTL9Ma2B6dKu6U48IWCxn8+FDTveOeMDhkNXTejWX1bX1X/qVX3vxlVfNci4BROixavavzqpiuwxEJQyHg8cM9LlJj7Mu6F3ivdYl/omLZOmp5wcpBEAEDxzkAThR/tkZQlYwUXoFiOLqQvOFXh+VDiL5yxXuY2LEDV7aeZSIMsZIjadUcs5vVwsENeV8jNix+WkPIatRBzoZVcjDAoMeinWrk4wSB4O5JuMEsv2YuZie784dTZvecJLtY6bMsuvZHxJq/cyzjFXmX2RnmQKQacfAw+/RyJs60vteoOS1VP3bftZ2BlowZqL5g61dOqZ07fmly1ev3nrx3sN71PHKyiLg6WDrG+tw/cH/9m/efe/HUYxpJzyJ7v37D6ftHz01eXiwi2biPHn6BDfNDdJEtUBS2dnaNunY6r69vd3hwGYr81xrf6D58ccfms/38U/f/eFggMVqsrK29tprr73yxa/0lpbsnsadNoalWQYBM9Or6yuj00PO7/LK8mAwubpx6fj+/fD/gkmaff2NN7/y83+JTSufgs4IFtgM4sSiGkeN0jZ7gKzMI9rd2a4mNm3Bs135k4uacSQi93EjT+YApF9HPZfXkloxQ02ROM/ms6VyfHos7SKqqLyTUCCDqIVAh0z9Kqc2aKkjX8FOHeNLOfcIPjdWp4KQE3c4F/JE1kdmjgCmJ+/MycpD0Sk1Ppx4sZ8d+whkJaWFJedn/dHxHD3h8QJWh13IXAmKiDcCPdoYkZbT48O/QCfT3v33g803AdS0C0fWwM5ps1lnN9Mn0qXdE/NlbMJtaHtm5jf/xt9YWF58+7t/Ybq5Rxhj/eq3f/j2j3/yowWdqLVLeHJ+dtznhpxP7u7bRnynPxiaBKKdyhxD0xqphcmp4fBQ5Nt0ZLSCtu12WZCMxs/P72w/PdrXjdveOdgx75FUssTm7OyP/v03bajw2//Z379y42VDaZPpzHEJ0p72hvscue2OLrwL1Mba4ZqXcuzjyY0bN1599VU7K4jmNzkAOkY58DfcrUPlmRdHGfuOWfbuUbqZ8mY6FEJtzxa5QFEY3Y7uk728t4G+ic+b7ZQCsZy7EnenlVgI5KCUMxtcZD8d91J+pah29yxxewYpTnwqKV9JnSPo8ekPvUkQc1OS9uGH9qBVZXY+rWnSmItu52JuBUnE7kFB9AKTdtindKMrozh9I/zC0I43sOBv/K9M/6/P5AydJrr4y0pQ+p3PCVx+ioqjFGsksELY3YBvZkZXfWZ+DkkYJaj4W3/7d37ha3/5j771/3v3ne9DKb38yZ1P7cVx+5XX55fW2JqffvDOyy9eN3jxi6+9+S//+f9kB8WFpTlGyhpl2VlzSH7wW1UH3VlDXTXDcdJ6GjUlDbCzN+GjrZ3eytL1S5cEavTz/9pv/c2f/viDt7/zJ/+X//a//a/+0T988dU3puauxHGwGr9nwsmSAMTla9cNiC12VvuLBwKKTLUw+qWr1zYuX05bhBqML8ABj1NYOc+O9VEafhNS9DrbQlllIso5izyr/w+91vBnJovNYnIQW3KjgR4dHMNKaZ3IOYYpXIx1iLDTbYnKcZ6MS+6KSBQlDk1gEZbnVp3mZ9AS0NThJD/zYLIor9i5bfehJjZb4/OAJi470ibqQoyT2lyi+THBUO1FBw7RSajybPQFJUTO8rL7JV8h03LSbbKBa9BJD03nNRTpZKaElne0Pr3mp5mooGOLbW85cS52kOrjJrxhU9qHvVSFagytczPoTtMHO6eXrl37G3/773CKn27e0/HWXfvGb/ySJcxWxe8NTjYf77704rQd3M1gXru0/uizT9YuXZo+6fJGUazDlX1c7LTCrdRe4bsLwpPcaXRm4f3M9M6Tx/eFha5e++W/+ptPnmx3To8//Oinh+fd3/gbv/Nbv/MP/vgP/tf/23//3/2jf/RP3vjCPJujW7e7s2uy4t7uPlV7/dYta5ONsz7cvJ+9927ceuW1L3T7C6TMpocVYX/AlO/W6DS5SKyu1k0MDmGko8nyXviBNFtmR/H1tSPTEyI1j3R3zaEuxRVTUjJ2EutRtyXJX93JV9mv5sPAUNAaVLTj2Xf9Ko0TKpMgP/I/yIiyiTdTE8gZFtyzPO+CQWKYeD8CbIFOFEZBJO9NanE+gWOZpT/v8aDHJxUR9DA7HrL8L+9iqjmKqWQ5efbFiTKpoAgaMmBXz2S2nbPonlCRLZ4aV1W38dcXNs1n5+jsmUNzKSMZTWYvqdnF5V/59f/oX/1//l/qCAa3XnjlweNHP3rnByLCZmxdvXqFy/jhR+8PjUccDbFTVtoci4kwrLBBHLqVZaoaJHkqYx2jEQ/GhkTe6bR1sP9bv/sPXnz1zcmpj3e2Nt/78P3rL75y68VXuUNvfvkbv/+v/9ePP71786W35ODtUIeDwfbTbR7a2++8PTdrzN+mn8PV1TVrBV9/463l9csWrQGAGR8NJYWcLEt3YBpVUn+RXASWGQkNA7nCIVxaWmL4W+szWC/UafGGECVZoNZnnBdJn0GgMglugCfyz1+7+/w0RskfnldZecLPZxkUHX4UFRE2N4RPEasQI5Ir6RPV/nY0QOggzYws0EwsSAm3lI0PCEk+yV4xIbec6oA8WQVAOaDAas25CwvntJdEvys4lQ2/bDPG6YkLSBElc4VB3zQVlz+6JyGotKcx4IOhFKhSwSi1FGPpEgxUmmzNcXrj9u28vCSTnad/8u6PXnr91ae29bYZ3OoXD/YGQCl6ONjbtYXL2YkBKQpGthcgggAW7dLGZXGjo2xnDpBhn5iyTsCjJw8/vvMJgr22YnlpcePyNYR4JRqO6Y+b9GOhrG2pzRQ7Hh1RXuREo334/k91+vSYNu89sJGYYbjXv/C64ZHHe/sTc0vrc4uRLpmqgIZVayAPLH+3mswq1mN7RoxKaGrHBbXR0bFeRA3xxTPWPs2TFErSicrUq4yzjgzmiz9hTkm9OFe1qJ/P0TD+VfigwKNxI8tKmd5ScJOfpb/qI+glEHIqo8NTiaeqJ1S4KYuTacIEk52uUEuCkBa1VAhJEbRORdpJjbjT9N2L6Ki9XPLPZ/WyohlykDBgOaxQ6YUlJJzmlcMaB0Onsdx8qhhluXuC2aL4ynJVjdSFi0ARNbSqhSM19ECz44mTWmth/qfheONfJwf7BxbJ37556zt//mevvPbqC7du8zTta9DNPsGdD+588uTJ44X5ZTEDxk9bz8oxFQmU0osmJBqIJJDDeTPSoVOwtW3G4p6Y2IMHD15580vW28wdzf/aX/m1L3/5LTt+6DruZ+vUJ6jkh87HhRrYHs9UVydUzkcffMD1ee2lN3744x/hQ3dmtskw2E9lAiOty7sRxENNe1peWRILM+9JaGBpeUnXLEut9atMF1FC9KuZ15kiymPnGrnIollQiIOWSGdCmWPMqWQexfP/d7Fd8YmzRQUOOOKzkz3mkwhHw0XCbE4JkeeEjwIZsRmRWMxMtmUtncR6MD1xS+QJNfHcFO8n1SIzeIrggqF2HjJzWgfDFyA1JMnaGVTUI6TbW5y2ZxMUBUGZ8MquCcye2tGikAkT8Nay8nCGTbQrCuoZj1O91LfUUtVM/7OpqAQuhN/UShSM87uzs3P18uV7Dx/9q9/7l7/1t//W4uqqGZKdqcMP3/3xZ598rEZ6VSLLKCUJoYI4+bDS63FsvRhwcWlCmJEJ040XU80sxu60oPODR4/e/sEPfvGXfmVlae78bOnrf/kvCxZgOWr/5IdvI3p5bWVvZ89meeYS8Zy4WQLKi70l/byXX31FdeBSMEIlU5k60sAT/ugI7Hz1K299/eff8ioNBda2HBl1J74kyUwVfa8ocksIrDnhZLMX6ktty1OjtRbNgyIR0UBA0woIpxp4IsExjMaF11frwLkTgUWQKZJuibLJHtB+Bh/lMGROfwxTybZpoyiJknGBo7rzUTYBIZGiJFKbjIsgpSOPRsMoK6BSTl1LwSmTbZHd80u57Gf+3LcIc6av82KXm/QS7CUnvOG+7WlllhYQu10ZVCbOcaHVHz/KeD/DkBZCISYExgRE72rNAiSCScLKB7u7msIbr7324aef/PN/+k9NQhXXERp+dP/+5NlofXEZJizQsoTDzppeOqlU0mU4KDCSQ6pMOCEHnb1Hmw8XxZZGZ1fWNjjC7/7w7f/5n/3f/+E//q+vXr6ih48T3Pq3v/u9b3/rW7/+a79Efge6/TZNy9KR06vXrj18+BCgr127fuXa9U/u3qH2G39S1bQNbYAiGc33u8sLVtOLuDKY5KPqab9kIJmDzKwC4kmFD9hiwk1UlkUDgqra4xnG6/d19RLoWo9J5GiPlywLhK4Dr75WmmrEQpA5b4pEBI/2jy6JyimnIjaoVE5dj2vjQoRZoopPEZ1V2Zakm/wwEAEFzyK31Rk0nCRjWzU6SV65UkfQlRuFzcoq5bibqtRnmUEopPqmjw8Ge8OhhoSD0b26ZoYtE65rta6ic5pmEVLa5fAgfRT5F2eTpfaTSCrCGSAz1Gd6Bo8e3r8v+iiY9NLNm9i8/+hJbMrF+asv3BbmFiCxpHU4OppdmJNYH4sY2FZBIA3A/DIjGYpRP7ce3b+nz/Da62+88cabb//4h9/+i2//0e//wdMnW//Rb/315bU1Mwj/7I+/defDn37ty1/yDleR5uWFlVITrLW5z2JW86a0vfTKK0hkbLlMpTNDs7qzoaL1bIEZY2qkXtU515+iRNJ20hHJAKpKO4oNTTAVXtSrF7MQGizvAKAiFU2quriFPJlinZzKFhBZ0y5Bgz5RzE3c3lyPGQx0CkwRcpBCqmaU5qm6G0nU0VAce5f+izLKxW9CqhIlDCxinvIno3ZSmKHFQkYSxJYpC7RSQiVvD2Q4D/ZUOkoiJjs8iBVnvi4uvO3hwePHwnJWTq0sLFUbuzCzIo5Y7F7GE0Kpon04qRQaK5ZDpV8qnasxb8xcwKM2mcE03X3pxRfff/fHhqiWlwS18Wni1vVVMgreJyfNEbOxgroBjd6m3rsWzO1dXV9O/HJ2nvMsyBm3a27CfI+VtfXLl6/Or6waIfnCq6+9fOvm2z/64WcP7v+Lf/o/em2FhmpZ7F/68ls2CbasY/LgcO2Llw8OvIAhb93M654mLmy+wR2i3AgLkXgxMzu5urLodb5zfVq5XE5STrcrFcYoqhCqqvZ2dY3PgLdxKBIpylGCDBSlFx6z6Zlsh9nuwY42p9nhxtNkokWCImkFItQlNVUdJbeiV4gOaOLMhDlBTH16ynmQoQAd++gZZcZXDZH5ykcsVOEzGjFHxWWYqrJxxe1mtsq7lV/IQUpwmvJKwdS1iB3kCqC1N1TG6DJsx9NzxG77tNGF9mW00gL1vFqp7ZE5MerHQxSvQztBBpmx4Q086d/VeYOQEd3yiCqqlhsNY8VO50DKQfjSl7/03b/4tgn4ugPra+v6VsgzvMZe6uhyRgnErh7HNjXThbEX2OrylSvX9baMthnoCG8C8T3vIVBdHDMWYShUX04HbLW7Qm9d/eRjzSPNtDNxODgwhejp01396pdu3EqYdOJid2/H9jH2kJVKoBIT1IfOIdQrGxsvvfjSxvo6TqaXmgqTdsShNoUJ6zi0skiNu+gK57ixQ0Wkc7RkIbXARBTashfQTE9f4g52l22wFTNEr8geUIAEgJ65uhFeBUF8k2vJMnAN04Oahosx312rAl03wwt+NIJcK/rqXgMClQMiTaNEsxQEc0XOrZJFS6TsRA7BYWyKlZnpVcaliZIxl57yhhS4CWBsXYF9jLR7aWUNwZ2JBX0Nu2dM2VLHPAUbMWe707xrUnelJ4YXopURTsVRCFJCcvS4OuR2mgvaUofUXHpPKPHSxqVXXn7FPnbeuG3eO/83o5LBs2lco/nFBRMjtne3TZvf2Mgoh0F1TUIOGWzJKKk9YLObM6p5p7wWzZr/qq5iL8paXVmb+8Lso8ePLPTgZethXp6zBnreWkr/iGp3x+SiQ64VV5oC0/7whKNiFfNXvvyltdVVg/akYCzkLPRGV0VVpgsSKfopExXP2HViyPqCJd2yce76EcZkgVT6GRprMSGMMRHhpVvXu9eW58uPiZFKky9NQ1tK5wNznQQlQWmOwmNOWaXklQRhqVSRV9jng5RzigWFk/BdXpVr+lkedANgU1xRWTcBKd8pJr1r5iITTY3OMUbyG9unnGSIHPfpgMTY65AAEWljtV8pHqmXQAFuOfePz+h+gr8FDzgTf6Nqe96znupARQ5VBJmx+k7LzOSEAozHGnxqASOe4+nZ2a/92q+89967TJVOkN5QCrRg2cYoWftj6GPROZdBTelCYRSiFVNJp4YMesZJPNUz7M2nxnEKcrq2G/dWeVWRfnZu9vKVq0ZSMdCoyEn6a1lBBgf03IMHm9euXYWCTCxcWNBjMp3StOtFm95ZMptNfVNK8T86Ri0RE7nVgYZUPHwW6VCgyEDJRrWr/UnlLsLCGWwoZZ+LOTLtprth5mP1dKiC1ssBBm0kXE5Di/7Ai+RSXA6Dleh/ZeIjGfuMxY1eiBz9jpHKEzRvgBPN6UJslqzyuwDkxH1XNHTYJxPNxVMZupUnyOu9GJ1IVzz9cV6Ny/DkCKaVw2kTQSy0aEym+BhGD2iCmYCIHXY9hnjaBpgz+qReOun9Oyqg3duZCRu8UYQS/ryOIVHGqaFK+FUYSrXUqzG9uJE9Hqwc/dKX3vr2n39bGsXRbJlusbCwcekKeOvo3rlzR6yuP7cQ5ZctDHt8FACdniZIKu/MKOrO1tOtp9vm/TBKkKRG20JMoj5d79dZRK0Kqa7g1rBeHsgGkjc+aiPmUloVd+XaDV4WBcjVVWFAkx4zJCMTBUUwjWPpDJhDlSMEpM1EIk6ID1hKfkFYqlqPEG5LiQGuYL7HcR9r8orGKAN5FSByNWkrYZ2HfRkBCPMwslpfQFWCz6UiS9kwlL88Hk0S1vsuL4cYa6yirpRcSiqVZ9ZdZDaaCTchVz1jnYKcwDE2Cb0ZIzVqCJtxYhFLuyQym/k9JnXFW9O5AJXCSxAT7yljFBm7qAPFdlfJ5gOgROGTovxYQEPWyJ3XitMfyTgixoxxQ3Gqn6tV0TAvualnmAtj4VOnc/uFl8RsUDscWo4e38ueMCyOxGZpkYRFilSm2SAs3dPtHf4KYK2vXZI9B1zc8PHDhxary++1N76wawf5nR3NkkdlHqPocpAbSedTbrxxM9qMxm9YceadUcPh4tqqOBAGZXAXL02Ci3pzhO1IjeTKKUa9bPCyaI/WkXepiBgpTK6iUmspHRFRBCx5jnZXTeXvLqmI3cgr+QcQDhrDw3miPVx5PPuoS+Nsk317Mkxtf+SFjJjCNP2yTn77qf1HlrgCLomkFSwCFQrGWF1ifTFU6TplJmOmjYTcmhsUO1ghSiKOYmmTMaJmWCUfgJMSU3SOpp4RBcyQGP6gG+fjzqQBCLxSVca3ebqwAKcETzQL80tylEPYlUfCxHAy/4OpcA13ClDIS8sWHjw7M9NZeMlb2QQsSZZVnO/NSya9IYW1jfWHm5uag62eSJ/vog1fbKz1p9myZb05Iwpqtryywmxx5+iRwZ74VfZxMAt0e3dnY21dk9jfH3glh3pqTQdP97/4xS+aTiQkQXK3XrhlFoX4Ez2fppXXHpZOSLc8Uq+jatPgkIiKuvA6VKvsTXAVreMzbbUkmsqmg5VOaOXQGJJTacLr6nQnmbNkH1iGXfWrnMnqx7aSI5ngN+6BtCiLsOo8Dysprx6Hk7IYRX+oT4M14bX0jCGkGKOMdzIfPGBw0VyDI5+BfzQY4LE4tIk3L4AFYweOfmptUc9RNM1GxeMPLoteRallZp7KxHwUBAUKSKYH/YgqSvXcMd7jmFmZsSWm+e1ZM3BuI3fWxKQIQR3lpVE2FKWO0TmparhfWcSpdCFFag+3b93++jd+8ff+5b8gX3FnAQCO7dTMmcghx9Ub20R0d7Z3Pv3007m5Ty5dvgSvmw/n19YuWwJx5ZqhLsFoG/faVyqhRZSJcCNS1awKOjkcPHq0qQ4zs3PGY7Ie9/Dw2rVr6zb4uXtfZ21pZeXFl17CtyxsZdFqyQcAIZWYHVQipYj4oCrujkh6Yh/pbKQiGZRQHelR4siD7byu6hZ4qmo/doyen8ty7I23J4OLnFUbLNSlLxu21+Vw0r/kllTxInMGM/lZXah2SwEEiXR6G4k1a5F6QW48XuDhHABQWnDEm86/mnkBkQHIMkT6LvFFMzKv0uPuZ2aFRavBqTI9x7rDA9nmf2QcspAXCstCy75hqF1MM3GrqM4u7pnZqjNkQBFR6TcdDyCp01nqzc1TmUFKA8xz/hXngqFY2lz1jU/awVe/9rV//61vmsSTlXgW7B0NOlm73rt376kZjFqNN7Wo9c6uyNBTTQi7lpYefHrns1u3b+uE37v34LVXXzFEL189w6cmoJ2cWh1hLxsvKNh88HAjM+rn7I7JMxcDWFlZwc/tvV2rp1985WWt2hvrX3n5JTPYCvkhFONoaEx3DkA0GomE7miUqlipHLVBf3N8nmMIoJJFeRQu6qPJDeucS09wuVuZpO+F70FGuJ0mK7kjRqSShOF1KJkg0t59poB4C8FUNVD9uwrkIThjPdEtebGEQEw0TPpl8ZLSR4y8Vc8bsjA7jgdkFFDYqYQPYvviBEeTxfVupXuk6OQSRtsCpVhfkVxEJBHQAI8QVKnjVMqlkFraUOMsKMo/eafNKTwbXMz2zAUOjAz8HNpALodJrnR32BymhSNywztMq/tjAbjuLkCY/PrVr/3Ct//8T/gCmgkjwvkVvdRm+CXbD5+aW40NLLD1GLgB/U9Pjh8/vvfeT35w5crNq9eu62BlNqo3b1/sqb1XlHlwdnHOPgeLy+vL65fuP3xIAVs9KObChbp79y7tc/XaFW981gAGpwria82Kh1XLDDrwPKLtSG/K9QxxUI11t/W5yl1JvCIuZ1itIZIslZNpK+MjmbjB2EXoLoYBYUydRQOlCEfYTlG7nuZrElWuxZ/xYKQQ4FQebgYOiccUNqJXcgLgMUlBT2aw+WaVMEs+no9bK44ZHkBM/Qt+yggFkeM/JUZPhNYQo50H8yXGojO2I1UN3c5alVKXqn/Vo35IEsLjfDEFgU6M+di85gJ1pwjZVPc+u7aYVCqWM7Q2OLGmyd7cbCZ7xHb507RkWX2ZFNI4GAHUkY7hN/7yL/70g/fpVm9aMWFmx6zCgwG1YZGGwODg6Nzu7wgFODWiYnf2B2zt6vKq2UOvvf4aNHDtkQVzc/3e+toL5rTi07XrN1fXL0PMl3/u5+7f/ezt73zv1u0XzMiZX5i7deuWeRUnR0PLr9XE3CP2l2OAqcyclTycaGWRDmmQITpwgO/HDoSrBYdws6CWC+F4KkSaPop/rS+mvpG5K+2p9rjzTOaqfJq3QDBsp2TlnSe/xrdAKmxNkC5z7gsogQrNX/RBvb/8qOxCCsT0jPXmNbqZDORfXF5fjmiDkmJJJSQbqcmXKZE1bVu0Jr+q/AguZ7mQE7EKBOYdEGiPbOtq5FwQL4ZIEb44gpW4lp6I+XNBArmboKpO4n2RaPoo59bXbW4+5I1urG1cvXqyfL5qyQRLJyil6OhNGSFgXMPQU0faLS106dLlX/j617/1rW9NZB/EeCqgIB4tzerKyuSetfgH4ydMQu3PX11Yw46NjY2bN28aaacF9KcMoV+/dkMrerq1ffnyZU3Qfpm2yeQyc2Te/v4PbI4pYBhnEMjW1zc/+fjy5XXxntn5BJzEJ8kkpUxMPH3ylAs/5nYCjJmXDbjdhalMojVpU13GVmzs/Twjj2PgSjyexsMGF590hCtOPOvToVW2fkfyom5iWzjnRFMthRLx0kWM8DN6hkcWbUPPcBpcDJiikOXIFlrsaOAs3SOmIbPSAxYC5BH7TFVil1CQ+hFJ0ZsG2fKnD2iUwnhkVOICjia2Vluf+Q0dddaawxgrrkRNaAKBTSEnJ4U8rSvwzlq1bK4YnaZq4K46+mK8k8OTI3N3Hj3eNGivL8WqXsTdXzFqpofVMWMaC2IfU3yjyVk1u7DOZdm+9tob/+7ffUtHLNq3GtegJqIzlOtrG9Ls7G4X6DPX4toNgx9e0LuCh9BGf/hUA4GkpUtXrlza4KBR5LtbW9SYrsZnd+++aMuOxSzaAizwwrfh7h6W2tGcM0ffczAxfHdvz8CtvWA2R6dXrl1tdCZoCTUjG+9PmQbUOeygk0QIC/UllFSx6pIFQ/hVTIufEK4Wbtpd5+6OU05M2nvL+ECclOw5iMvV/0z4u9mkeLs5p3UiAbfzngPORuSoeSOB1eFOQEd61YFPAjMa/edHo7GUgdMQ14iNjxEdSJUgku5zNyiKbcoRUdWf8+QmVRL676c7eUw5ruQzh8+cQLNMw9PUrP2l1s7SJxnZk87RXNvsjJwnJyevXb2CcCPkxncktPmSxJ0Vg5QLJkkjM3Siqg6ENn7nVwKhF+afs1h2HIPMJFZgTWBlHxcXlqcvX/XbWgsN3HsqwTTjDBeZMM8k4QcDZEtDeshuit5AsH7lkk6FUXqq23JV8xOBQMibLOjTKHdlCK6en9tNExApSS/EsH754aNDZBhm+fSTT8wRSwTVi5sSvzDpp2MiAKvNJqqHiQMYCy5KV4n2iQ/hPDZGj1ATY8vlehNa3a1Ke/bgEPvGdigoEZehW6IS1D0Rm+pFwVh0GvAmfIci//Wy1aO5GkqLhsl/lipncTIiwvwrnzctNIBwNZJtrC9xxFetVozu0iHxfqRMlQoNEViBJxiqU9+JW1WCBpn8DLSVkq6GLClPncEzIQPam//om/aMxVU7va3yCnllFhrPZj8yrkrGsk0P1TaifaAMxizr0jG7mJxbKAuIrlhOOjq6jU8UoIQYZxnhohgePXxYbiAMmTNk+iKcXbCPyK2wMqJODY7Rxfu7dpibxztFUzzG1Q2OL1pZoeCjI/slzi0vcvWVx9NR8JEtNScmjwd7xtTMXt1/8jCCOZ/Y3348Gt1Ej7nKxsoofvOHLm1sLC4ubD16cvnqFX2O1pMv42C7iCNTeSxIQrhBNt0h+6QDR7hazdtnJKiFRBSqlrbgCvYXyML5akwT3ae7W6lQxglKxZRFaXk1P6WXEEwiMVEtZYiaZcKztPwUGUnDklxTAIbyYxJcAbmIGGfBzElYXyCSPCjyl6tJk494JyWfKJfgtW7UZxUEO6lVqSIlteflqel7+60alo0NQIw06piYXapK6T0DQ4UMcADCM9ZkLZYloonV5m3J1kyRfWLapUDVEkO0Tuv9BoN9IDJmiQ79Z1HsoB9UwTNEQnFodqi4UZS3vvjm977zF2FKeO41cNllR6tRVbYSu0oze6nbgC3PWN5ygk/6gLgNNbz4iYfeJJe4+s7+7ou9l022f7B1v70T56WXXvJWFMFfCx91HkWvLSyhXewjo5c+t7jozfDMFO1y/949y9Q2rlz5+P2fZqI+jTo5WXNel1PHkb0Z9+Pge19VZ9K8f1tXavYIjixCPO7mSv3kFmtyrkV4Dif5KgF1nzx9zIvBA9AuD5MqyZQJWMnkRbjB8gDIUa4vy5Qy/IVDxTzSRF6pnGZNK+vYlVZOY+G44EacG+4WSqKSGlha6jF06vHEhwLL+hw/07Rqps3z6QAnrR3XMl4W4LThVS8DDB8aXd56ZO6EjQRmuRX5mjcI7y9sVbsCjc/qrQXoSquAVJb7KLtczuPdnSfwYKEhgxKFA0bVR9Z0iq1puxDw6muvfuMb3/jmN/9demzjecS2FRsZyzEVAPQyRmMnKLOkK2whqKixYa6YhpoYuLAa2gu8bD9mNI0v+eEHH/CNgPvuvc/sJ2TOkdIB3+4z3t/ElWYpDnZ2mUEr2ekLbUar2H26fXBpf2V9bXltdWd3d31jgzYRwDXAQtvp7cuTlrJfkQaEKs2MwVHZBo6AJaSaNhbWA0hAUsKNGqpkEriT/kVUi0GluDJBQRwapiqmqPWZ4CYXPRa4KC0H8ybP6rAFWZ6VJM0ONxtH5azs8WcAHRwBcSV0XnYq6Gi3tIQCWjNTz1BTzymz3CacjrKMooldolgoGv9dcycmMoFPWsp8S+u4gKWOnIALiFium4qpGWQISJaWxqLn6E8TLG3hiqBwbRuvdtt4zQxubz1V+PySRtyny0T5FFlTzNJm8cfTLMPv/L2/y6f5wfe/A09pHOmQ+s6e3OWw25ZcNUz2WMRNGz3gP86zlkL0TNXy4pK+m3i8DXo/+vBDhV65ctmG9kfDfduqi+RcubKRtt45f7z58PoLL5vGwt2AKnpYd+x00YC/nT3O7D1t3+DllVUvy8AgRgEfOO+wqJqc8adbW+aj6dvr8WCsowmLdCPrpiH8SOWqdtX/Nq+e8c3d0rFdC8UxNsNu0TQqmq1DYqp8Yey0cxUvgrOqDsuIKU4SvgRT7vmnCwZ7gUeZxoJtK4M8nDjK46zwLTHzICoMk7H6NPiIMJwOuzWCmDdFKS72KCiJ6+J/MON/MMRmZeks1JV5pU1SiYzGUzFlj/xOb7CGWqEAlcBbwXdlBa1KGROXZlFEFvhDicpYeJHB8OWo1okJE5D1k7y7RNl2uuj1zYuVCTYG3R6p6GBeRCrO9V/+V//ktVdf/da3/p33LKEJ+bsej99+hEmIMSdDdHpxaVmkAJx5tVtUke0QLU0/PL50qW8LTlElRZR/fe6cj/bk0aMlU0EsZxZRyXz+7S//pUvbW1ted4fCoDIzRrRhOwDP2GXh0tWrWo/NAHAyQrTH47DDv4rAJmyLtvj48ZYqsGQ0SAMEkVKHeFEVa/WLTUg1Sx/AWcnLRyrfBT8PxO+VPXlm28QK+kVVRcxhHi+YPAOe0j+JDYJkC6sor8le8Bowxy/L8YjHPIv7JZmckxGeF2ISek4aFNbwQUJ3qQGMclzg8yJuDI7YzZZ6LcyohI0eVB1lceSp7950HBkhWB8GDoIYgI9hcqQVBN/8LbCMg1XWkZYKzsOiICNsISf/U9H2303UZIJT9KEBKX5g7MKOST82gNsWzVha2ej1rTrs1uyhACgb14TJiW04Uderl6+urywbC/vgpz89GB7KQddJQg1QTJokdndt7rSzvr7hZYGWYVvhbGrYqj2n1tbe+8lPzD9UIS/w2rWJ4tycdyEQ0OLSNTtjzi2Zp7ZFEc4trX78/k8SJM3L7dnUHDhnXceT997jWhlOJDeDa925WdexxSwijGL/mTIvgMpOarbJmjV/CNv1LaYCELUxUoThya++E6gLu/BNeCgsrQObMy1a+H06UaA4DaiER2oqCYKoDJgDUMuMQqEtop3MaYrOCuvlGhhU9oU4TxZ6JHqmmcYSSslhb4gVL1A3eKFmol1q6o8tIhPHpmDSmwqYSu6aaTrXurWcmMCFuqFfXGADsAX6a40BaxF1WWgIWaGkqKnT1nVSh1z3SYWEeMlTA1cCATDLgcjcjKcCkF6ym41g7K9LFYn3IWxpeWN2fokxbHjUwJJHOQBPnjy9d/euXhw4X9m45MVdW3lx2EN3NQk6KgUIDc/Max3eKca9XZydu3XzJitD/wooGhr74P33jKQaWxHIZrqIxIzpg8GQXeJE7249MoBPzA8+u1MxvzPvfaKKRAFUhPej8Z0MDieWlvH38NRqtZ6t1vQf0h5t+TPZMbEaUv30UCqr+umsUW1eRZQXITY2ulXtQfPAmdgHNa1WHDRlBhajn0UemVAGPSUL7jddEWMlNfD4xEujsvHMY7MKFxQWuASWKTw0qI/TKjijKs7j2uRW2nvUTLm9UBF7ROfaihjJcWgqMqmcjP1mRw6IyOC2ETP9pdinmRimOAyiTXFkgvTol2clZrwkhinIrSP4KRqCjzrJ3XYvPyVOFaM1XE/q//AY59MeNRctpp4sHayGYcvt0026Zm6ptj4Nj8NbbZDA7n12Z3frqbbHzVI5OvD6lSsmrxGVKBMVRaXx+FExnR3HOmv6WisrJgZtbz/NupzL61evXn1w/57XmZqvaMNGnOVBm7Bh0Tt3lR8+2D1Y3ViHkq1Hj9aX53HWy5bz6laLb05GzBNWcqXXr1zBZa+WzhVD+TOBCL5h3+jE0tIjs9jYWTRH5SC4rBbx2CSRHsFSRyqXdq9CpGMMW9MGptz11uZ0B3C4lH0GGKnlWitOMAnEedKAeddmwzUgENMT9LgaScuWFGRU3Pddhok7WYgBl3Jj0vWI+8IkAY5zY6yJgAVRvDvQxHyIEf81SyY6xpyd7CBmBX22W9P4yS9gKcQ0MJTEg4Nn0g8GogP8Q41z5FRSxKYWGKGeTb8E03HF3GemivikqdySMmdV01yrx6VFisEkybRRa3XMGNSXQPz80srUjHeKpVi58HMf3L1zemLdMZqN6qfF09Y3r1+nh1hkFddg0oozM9X+aIti0raHfvTwAV3v1XMcfnvmWX1xtnRM2eDWjes3RBkfbW/SufoDXCiMW127bMMoNl+rF8k92qMX9fHSLqk3s5Q4XjQlXu5tezvqPoWNEkRSCd6ou7y0vLO7Z3qJ2dk0XZgl3mjUTHxB+LTGMQAlTCXmGAIn4TEJkrP5Z65Tz2GWVGXGeU/ZoCNKOYCTF+hkQDOtNfkQSrXwYn8u5MjNfHrNWsIxnABkBB3ggtfehJ0gHsSoHvBGy4il2lksa5RgJb5u7VVY55lnkY6JA3EaS/icPwVHKwazjtSkuTIxGxFc/rsU0lQIQQFGpXU/SXI/n/loV2Ji80j73dBW07Hrgls5VCnWtP2ojDlgmsLmwwdTU491nC6fny+srE3bFjOdhIl9vtLTJ9FGlbdHwZ5iPx0MaFDjYgJUoibmIjIoVtLv7u7fu3uf4bYFosXCHn+8eX9/92XDEV6GYhI0r0g/zHat1L/8xYrYeTiyBYtM1IRHrxRdwgpqnLIpKL587eqdjz+h/zga9Dc5iJUGXZmgPWnGrKgmdW4fIAimupiEBMBqKE1BMKTJI9h1hUIV2xCHNXpIs/FeNJ9WRQESiRZ/XJgWthYGlCzuKrXUmJA4IFGE1yxRBWA54Oldh6/C1jRIIsBxZTJe5ttnXF+/3PEoaQINlRK8zNjNPTvM5Q+AACYuL/sZHYNcXz7lmecicCeiqdnfoGwmJOVsLHpJxwjJFb0n6VW4kJJWFfQk1+SUy0F8fgeUuVB3LZuvB1QIh+I81pA11pTBrapouPyao+O9nd0nj57cufOZfcfMGNSsr3iB3PKa/Zd50iLRA7vGWzUhDB0eyS3MgaGFmufFQBwPR8O9/YXLiXx/9NREs4WZ5VW8Mp11a+uRzrZte6+/8CqVjSHLq+uMjy468cHCcO9AO7KQHZeOB0NonhBWmLhgH00AUXnEwwkPSYeL07Z6+bKUcWvzhg2qxft90i2pIf155phrLzxmUYBHQafVHuPScmooRouP9M1NMK4c+auO/T7I5yL7REskIcEpl5TLT8n2+LKgqwiAcgoPSAZXAz++LaxAOexlSBVMPOVHutYKczEij8xo8b7RpfSus7ecT3BxlCujShUkaE2f7Js1JDxSLEwrMdKvBCX4VCT5+l+fUj4D2RgYbjXQeCrOGqyMLawnSickx3EWMWqlY1p5KlMx7apaBnK849gKukxcjHvq5bb7eyae+uGPPzjnVSwXE/Yj7D19qsUsrp6ywEYx8SJADPgyFRDCRGvE7zCJv6zSOtSMl24Z8imeGucSW9KX8hIdxR2ZZL+4SvC2tpq1CgxsNWldh+HeLp5Lr80lcnpyImjBvcetk6NjHXJYUTBJZGDSWzUGwxWT1OasiDO0EpniVwu4bj/ZuvXibYFEo7gcO9wpuHDYkoyMoM0VmakKJVrvm8hOHVJW1UoDVfujdOIDMSg0gfsugsihbUMxN+PWE0cY0PRJOTXl/wY92gSS2LisXs2KRBv/cH57s9Er6SNZfy3eq7YFGtljUj4cUIDWdoCOk2CiPp20w6+xyknN/QFQ0iR1YauSqXB0VvKseFL6CDF9pc2irZ6dVImeDciDULo3gxLYVHHtUpiCdYUYfRqYEfwxGdm5e1KmBEsSZ+3JedmWl4niUADsmoC10A5udPt8UmoQSSgUGUezIAAS/FQmQhWsVjPH6UeKICcynKlgcwjGJmjb23oEqY8fb9rTM69PCIVZR+HWwcGuJRlV60mdQTomPlF/lsqnQviPagcfo67tHKaWV1eQrVzpGz1QCxZMhH6IN8VzfZSuAYQR3iCTtWZhisT1SALTWIPlGJboe4EMn113yFnENrZN9nHpwvgIlgezfzQa2NJCH97qV+/wZYtpb2vLbTga05a1qupv+vZcWSKbGTBPNgSzKVjzgkWXMETZcV5TQlo9CYbd/oFMNFpYkd/5a2ly5fmRBC1NHs2P+uV+vpMtios70JIzGjSViM/kd8GvOhFRM0ADBDkpVzOeWsLYGTPl2p6mF2zoa3BoNXTbdi4tRKtINWdZBO27P+/dqbM98RP7LvvrWQhWfaIDS/92WYbDvW3KCXm85mJxEOPc7g66C45UgNtgcKPidQSXxsU9t+VUGveCKdW2n/UOg8HBbobtOnbluchoTfZjyEt6jZ3pDjIIrmuRRuhsvEfTcBzkDB2sQ3ZA84KNicn9nV1+FOhiDvwhprEJvIQ1LQWx5BEX3UIPfVZwifGSTGI/CZECDfgjtLSCeD6FntJz3RmaBEzZMrjJBkI2iRyNDobHezRp5nI4yjeOM2jhSBcLF+b7lntqNeDCj6FgvKOKkWWYfDqUralCdXs8TT4FNxKewyANF/VjABVnodOVoKtAEl9kjBn1qbRRSTnCC7IobymJCzEAFNAkz1grldYEQ0PsES7Fh6SY0ySOjqEkU1mHjNIB9KRlUjOFapZV30T9EmybM0nDmP28EHf24+j1mCD2JwEPm36BKRthKnuvxzxt7T6Qj7aY626kNQMOwei6h+xsd0udxLiXtzFhOz0OnRkRma9oWrRiz9YvHezvoDdGVI/6MBtWUw+INyajdDQaFZHn6OhYk/WUF2skHCw6IM5UTNNeFhYWth8/NSlWqNuCQ/OIQkG8XIN9XXzhSlsFgFh2U2UbhsAYPsoNJJIx+9P8EEMHVdyH/lY7fO1uHWBm5jx49SgNg2TVy18iNQkYMUwL2ofDG2VN3bavu5eMa4vFynSXErAukUUrRGxAwSQWYJSTIceabQYToSYWNuz1jPT1RCCSC25jJaPSziUIEHMPWCAyOcOJC4DS+miVQ2ElTaO0W3p6aQqqBxB2Oc2nzpLRxxyHojEHwyNqxuqqQKZUNN7RAwtL1sm1oXqtIwACGmHL5vnHXW1DIkpFaQN6qJ3MRifTtvFa/Oyz+5jPpqu5+qmR/FHCclfdKSSBIrPctcwLgGv0j8w9NdownS1aaXE+jvplJv7wyIztk3S/zygMV5ZmV+gQ8/8hij0Hq3kbO8zMPHr0hCiwP75OrfDCBjiHDPhbsWiVETk54YSSvNaMsUBgExnZGvv0OW724zYfgtWhROY72tqnmgZJnOK0moiv++nDR6ANnj7V3H5Q/Bij1wxTxq4TkRGP8YKPXoa029BfOTQiayX88IihLNQ7L2AmeJTCyFPvABsJ3OEKIqRvh7M8nDYaOiOQpAPapMxRgClVk5Gswg1dDD5BVQa2eHaUVe2WAfTyJiwaJ+yO2dVxYQhg5si7eTGL64uJIfEZQTUCEh1K1xRwbPmlYzTX/LdoVJ3gRLc9EPCG0IIGA6Iu2fCp1nQTanUlMxGn9E51OqoisBJDEO+hniAMvD45YRkBy6HeRk/nF6Y1WQTjHUpU8HA/4Q+vdzFPTU7SRH1p5oSdaYSqnoZotka0qxmrZ4BFjWWfa82MutIW5ANA4WQFwfGboUyh+nH2Ox+dcoDiKlnzalca6VuvkdMT7REDAvEOnlu1NU3R0v1qO+HERffo4KkUJktNz0EMBdPPXngAxDPjnSX+CqyZPBYLnbzYCBmQW5kXhThqrmeTC3zGAEUpRPf4Bg23pHLdxVyIMDDKaW5GCPWnkOiaZ0dpqPxkDStFRrVKPE3HFlrSH4wrEw2jx3R8YszSbHa78jBQWcHJMZGw0Mmy8kkTTNYbZIXi6ZcN5rVlTDB7b9H2bMRzMmiCAnpoBRj0plmki9looV1SNTdpWVqBNUQw4SX0VrHd8EeCiIT1pPIo9jhG6i9l5BQ2RCULh7lFk0GrCiBb047OyJ6EXqZBnBrG8cyoJxObWxdnEvLZfLqpj9K6WmQxD/dTXeBTQ1asZe4Kd69k1JxxdBpaTnvGnuZcn0ycRL3gN/JKdyKhZpJlnM+BWp+I15zH2b5w3QsZG3QMTGJpetgZwI4bkxVYTfZSyzeKpdRJinUDD6MOInz5BieJRwa8DV7xu8Ka8FpKsJMQd5ReACKMGKbQgxk+3CpXxo0wPThNjimO1DKftikYOoYs0hu1W2hMUsCiN0rlpw8MSho9y5nDVBvh9oxkctp0U/xTUaP0OUrBGAZUfCxoYJr/CswfjqW6AUsgUzY2V9MWgqU0iErmWjQuk+RQYcxDgokEWEFybhF5VYPrM6NPpcDkXsJRcZWlDLw52XUckLcmQZ0UZDMJNexwaH/i+BaQ2A8vcyamTSvkeBgBWb90iSWSofyVpcRiasb5mW0luYIntIiWIieZi8ekCbpU6fHYuc+wOpKt+j/TQyotBzebRcYltKlC95Xb17AxI/IaHwlWbzM8LCMXxsmoIqxYixN+JyN8y1E8zZyYKjR4Cd+5P1GRRYUUckh+PoOTLJAoKQVWLvgH8P4FV+7ILKRpwOEvGhOpymyWxOI0YDpmADF0THkzbBN3WGuTGkERgNUgCSFounaXMwEoZuqZ3oEZjaNKrVHkMCpyUXIYVx8pPwHUoj9cQlrOoSVMVQr4qJDTxlNPu8RCJYrKowrV0geOrSrJhCSqA08NuJO+dTLCTujREc6ULiNIQggEHzFb9O6d4om2nYn7ZTLk5PToYgQ1kbqQyukorny3+2jzQbzyqSlLpJFhQIhwYmxlbcwLgAz9KlTH2SA8fcVR4WsLTIhzZwW1bIQi20BYiJK/PKAa+53HYqfetD65Yk4cuJp8lgm93ZXlhdQ09U0rk0bBkXAdjb8/+6NEHPgkJxl6sx82MZceJfx4F0GQDpifPgozqU5OSDeareU+LiNQjTeK13pMsqX+/Rk7Y5hw6oLJNxgEJt4TG9DYc2Bw4BLjUQJIU6shkQx0AkvG6msGGc83a07MBYwair5pRaeiaHP4CnPyVWzKaaDeVE0lIXk1a5WrNDlP1fKVFJhTl1TdGFkmhRWnk2HdT8slYJKItUtPViP0i2+RaTeEZFAx1wOvjHR2DmmXxPEYWO9NFt0RHdI5y93TU852I0l6sRw6V3TTSw6U13wdW+WbiSZxo0A30n6NlIxGKFsVdEvHcrB3QFvIjDKLKZ+aj3Y3QqJvSKrZdapVILUI8YkuhE4HXEWUOWpjeEmikCPxTGx1mcBda6J1kh+NGfFXcbdiU218LCAJaJDWICJxyQTfwALRpVuiXKIdqmXgVLLEWicUDJKCGKGE0/OK/MYqJXjnTWtieRxLOiaRGqDy/higTMhAl9BBt2Qorc/Nr46hLeUzOZVPl0bEiVdEWoVoYrRnGFgiJ7lCBTbHiUkdtY1CN+LSoPApCC0qMzUIxuO164tXy0gF0t1TzYYhOYjVsJ6qTcfJEyejkWI4Evan5aVUVUdjKqmQqZ/Epi4pIsYOTizZ4A4Tg9nZeYCYSVUmWpOSNYYgb3LCHvWqJIzknBcIChVImfY4mXtjnh6+unmQ1AnIJ7ZWSxN7HNnLkd+I03b6xAZOgYutRlRfY5SNoQlPJeibVJWiMNYW5XSqwUabK6B8JuKWkpmSKAOBlEE1xRK2K4WhCIA8wnKfygrf/TV0+J3H5UgITY22KTiu5YFsy4gOkvEZTVPDZ/wYf94NUN2lI/2O6l5mdvPImwUC5fhGeLOYqtMxmducGJQgVE/0Ikzzj54B//A9ZIU+jMuh7NCaqaXhQHpQ4l4Mhe/4LqUc6VFFnRvXrrZHrsEHTyoPcuLZNVy5EEdVsSBKSw3HasI4rMiWpF3WXGmXKjbl4jV2xM+oYlIdZ4UnZosgpEmnLHuGpF+m7ygHNCTo2fiWCWEJs6St1l5PSpfM28a4gcpSa6s+wNGufRihaHqL7Ogz1tuwvPYmN9fJFwR51vpuhlGVLj0+6HlEGuMVqxlmwZZIHEyjUHIS60es2mIYhTnno0wLCYAy/yZX0hwdyE7jUrEkxJgc4ZUvZGFW/JiyRLKLBxMQYXQ4K014l0dK0zRej52YjMhDuT42ZcLZhRh/0TcJ0HDsMiueEVOcIuiDRJ5gJsP1GYQVSEjPqY5yZqYFck1q1UaMqiCUjkBpbGrox4LGhzhpLhKuahCoGRUo8TvoUP9UPj1yJ9YeCkrkw21/Qd9pN10TCc69BzDVLOZ6BHum4iLlcJ3AfCKE70LfOHfQIHIrhBV7AzscylG6JwFrWIYPpoquwgPxJ4Uw17SnfCWL+Gq8Ev8sIEOZ/A8O9jGJ9hKY2xFxPjH2xJdKvIfUKSMKh6gE0FGqyeEvepqaWVpeyNtUrU/tyCHtIZGYlBZD3AhTu6oY+KiBZh91q+3HGENJ0MzvZ5Ny16OxKz6jPuI4hkvFqHBBRrwX93HZD6JNywxu6neDUVCmacm83F7istymNn9gfnSNDg8hZhz/ZZVU1EeGRyLX2EENZWHGm8/F0gyMBCl0pJo79eLPaMeSCkPSlu4LISEX3WoTnRPCWeHaVahMtmzRnDrbjyyueCoHE4nIVL/J6F95sTGmLshnQgccnmJYGnrUyiAAqHHnJ6fjCitRdyltS0UFSoXwRxPenz2lE6gLTtNrzNX00vZwPkV0YiB0c4ui8K7QlsYWAZbGwg+DqerbGieZGA5FiNKV5ZsCwfvwKrhMf4Iilr3YjC4D3GAnlUOf0yugYxUI/SCkHuep20MMZaLK/AERy5XVZe1433vEbWEemsE48SqKHLBkRcokSp62OkNnQFNGNqypxsNLzXoBlYgj6yQAIgdw0GCi7gs5idPQB8TW7J3W6sSl4k6e1qZbjukRRscwtN5y72WfsUpeZrOfYaYoGc1LzEtrIiPZy1lNtRWdjkQTvOwi5qk83qwuik9isAl/w7gapkg7KRsEB5pGWWCLSxJNgaaCUaxvBEh/RLO4kV6P9HRDPsqLqjVLlH8gqPGRjlkGmCDPtBtqWK3DgejX6CHMCWfCHu0t8BLljr+SAxqI0/TnpEuBUTyaHLbIgexlormmyl1rsNLOVI3IUYogCSK7tO8jewXRLoa9hLSidahwFi24y5Kdi5N042VrTQVqdcgWlpZ1pShcujlBc8uDSnOiQTI0A1PadJ1DlVQIljOvcXXNquqM4ZQnMDWIYehwERDnYmtmumeIBx9aoeQc+LqLHtI24IkvmFK4KaAUaqRx0WlZBNedaPfSwVuYrs4RhpE77SOgyRDeOb1SURnbVx55DZJzaoZfrIkSoNYIl5ndnDelJa7Ni8mhVlzfOhNQYNOVbMmcJxQX4eUkysOXQl3IjWicXFc5pz7DZG5WSyOVnxDjXp3kkTTBhtqIkwhdgRer/2rTurA7KVJxTSK1r2bCdctAIabjIhGSKI91aGLOvi046tjf39nzyrd5bY991oij8hNkz4EOMotRQ3DaW+459YkofrcXvwSLZ2f0BzCyEbBFSHS4ditpAbGqn56aQMaAfAPQicPeaNbERtuioRpMPKcanBj9L+Wi2bnHY5Krl1d4CmJFs234urSybHtGNaLmifhYH1Bxz0Sfqkp62vRtwTzuUcKMaiRDc6L5h9Wsxt2oeL9QW6CKhOqoVx7Fe9AIEpjxrPqxPl54CCT+jg7Hc7q5bxBjlV9rN8SBbbPjsfqARX2gBTcrbFmqliALEMqzvXHbYC0aqoggflAt1vsO30Nv4FT6kq6Ic0OLuBUznH/ojk6tE4hzEtctPcV42MnXhQJckl9kFDJdthQ1fkhJpRvoLv5Se/MGHcNIUKTG7A2l7e1lCrM34qgyOWHzC7df3FjdOMycTs0rvSQZYwZGN40e5zgNKYTJy3XnQWyQHu975qInNuNCnhJsKQE0wZOaGLkndDJYY0N1KDSXHUzJkv/EKlRDi62RrTwbgCA4P4slstWHR236L5lrMGlevfW3umasIQwNB3uCaonFt+cLKI14OYSqjomQwZMjrYJEw9cy6aE2DSb+jYatBIjBDY2Pdokfczzi6drfESvLm6FoMhMCmKwkVv84GxlnzqbojG6N0lM2IhbZ4SVycs44poePwmg1eC3JBfbkJzShyNgN0UtsjhuZHjWBtoThfQwWXoVhUS4xTxG8P4/5c8V1X8W6XA9mcjueDpGFmbmfCudulL0jj6kzNVOAwGXTKGyMerh7MDR92Kiaxc46LwcHZioMy34lHCUXLWNhdn51dQWvcTCQFpuw81fMVhyC5FoYyWe6aVROCJC4Ssx8h+iPvMeZNxN1p3bGRqSR3h+dKZHWou2hWQqjMKwxU0BJEYLehOFKbRvD6EoaLY/wfrK/cWTPHUgYk3rg5ZTZZc605kuXNu7eveMR54ozYmglU7yWUjXsoxOHBx04ozI4U4zX14mofGTVLflxFuESvQwTC2+1pL1KqBS883KG9LQNUGYPdsyhcaPaZBxXZuoim5dHv0wZvxaT4dMwfBCTovORgpShY1vtDYvLexoTV2rF3eiA0OobPRF+sOKnxhvDFhkHEFlSaIYnMJR68kyaH+el2iG1z3wkm6CojIgUQQyZ5SNHyTLEcCvSVGout/angipZY6/x3Mz22DJGarhETCoDJVlaqj0YNFxZ9p6kJb1i84utKJ2fW/j0089ogvA3RQeOSocGjYbI8bVwEtOWHkx6D9qP2kWLoIdpJOECm9rqM5T1ocD0wz1brwMHRy2WV7+wtERYhnDm4q3pImEIGDBt8VGwIxnW4RHfISj7NEASqy0PRLkztbK6uLe/5PVf5MSH96JpsaFJb+Ix7Cq70ejwLPO1WwPjrejslPaK98NesNlpwbSiyRzH/N/jkT1wY5XwcWjSLeuku0TpmPwgqsThCDpN4/Cy2IRi0rHm54Yj2BKtk3EE36SZjBHd2KQ3gleeJmxpUx8HSUakxfB8Rd5SNfSU1Ju4I/bUoQRTliCn6e+XIyxRcBl4pgkW9yrvwKieKS8aQb7980eW2FpOWmZrsb3M077lFl6TK+CdqQ5HGaXVkGhgXWIzW/r9jdUVU7hsKOaNJ94JuLKyCj3sggF9j3z40cfBJT3hJRjN50gQSZVCRxOnSsstZOWImLVGVdH4KBISTUMIeTBBheTdYyqAwWmEPFFNS6/S2morKCayY4seE8rJK10Rq+4to46MtY1wQKHQqUTRAVd4bxSmDKMB+JkVkcouVccPqGgDhnsXNtffWZIJ1poH3Z06PNijHPLa3lGmi/DmyCFY9ezDJ7Tm2fAYj85qODJr0waW16pKrJKAZJmPrB2b1MfWY4IY1ghAtELD2CLBStJPKJ6kmZd7KlTqUiDvf+qdDnPelOp3wv6pWxCB287C84DDEZA5clofOXEadBQjo0LkGlUUmFUB0W3xehpukrgeIrN4Nnjn2Wj1Mk5x+TOnrFoIlVJ6JUMlkYE5fwmkUPBIIlErbEymMQLrDQMWiZoNCD0OOiehzLath5GA8KDbefzYuhzElk+VLliTnKZMiK26VRF8KQLTw0Ic1+jM4w53PVLVBRZ/LqTzFcbF13Ck34ydevthyOQFCei4olwbx0tCbytB/WQPomGsyT+y73gajE/KKXgGrBiinOMh3C0tzQ8H3kivV7eyub9vsOx8btYcDUzYk/dwQNZ4bIKAjoW+MSLk1/3h+3coZVonIRnOYulnZZGR0mkWWDELMYsoAp1a2+f9EvFjaI5xjyZMMRwY6xudWI0taiRQKAVdiVN9ko56KBEjHe+8OAmW5eBupcC2BAjyM7okF/MHPwn71fXY3AAROBLalmHWa6S/VdoMR/Td+CCBsKZHWXPTOGvi3YdlggObOnBWp4nZikmOQelw1GjPtWUbV8yvCpUsLomjYKv//NbMd6n4VJRwqGjUZo4BlUAtRENzKOOrxJMjMAfJqQpqEdbc6lY7vHKJJlA9VQNymVAY0jcZE3YqXNY2PFDjakUEqZkH3/259OEs8ckSsxpB1pWfzTQglMBiomjmQcdN5f9khi6payCUAPgArZRK9OmNmVYMyFC/7Mnjh1YXrawsKROsPVUbPxwjHzDIi1TNoUdn94NPP2kUczIIRVMyroSD4EIZ0jFpF1NWb9E90SwJXk/NUCkYVBIEgdIJE3mTe3zGCJngMgThC/NKYfhRni+LBlboRZpviYK0aB9/BJIpf8khSEkOpZnq1JVoKbckVC8PN5HIop5PA5MpMUTBaAoxTnGBxaKgxUkNqmkoGb2nEjhyHgwMrILt96zkc6xCzmIslHdBOgMaJvnZBNbQppYpuoEZiXFyWRtvPookGklBLwcRrOpw3yJeSPJsq3loDa5iZQIjAEvE1aB6bLdMGuwkIP44QF4ydGxefQCLBZ5lIIAe/ldWbGofixbudMx2LYlkInNG8kNuZkH1+bGAif2ueJafpIgqMYP/asET4cOKvai7V3N89N4jhnx+Od2C8JQlbQeJqK1qVBWsOD2NI27STG9K2BeGm0+Dp6WH41x7sKSaWuqR6QF4OG5xpF4ckoBOo15bb04VisUGv2gY4serXOEIBzcEEIi44laej13PSWxdInmEM1YwykZv9bokiOT0OTxURBWv3cwkiozcw4ShEPDg/3pLQA2ucWwCGJ5vrJJAXPlw4an5/3MLvZ4JujOmr5r2rAlarMkpzoRdAyiJgNcuMAiMnlfhAALfwxFcVJU6ojHifUXq+ob6rGFMmU6tb5w8PIjfIyusHVmsUEiRV1U2XVG5UJc858/1lXlChTPAIWayIytaDlDFzZpoyjG3I94RMqgzCRhnswHzHMaAkUt6YpkXG2UtH1cjXC/XPT4OfNk1Uzh408srP/7snempa7Ym+uSjjyluFZGS31PdYx2ssntsND5wbnTjb15Z49FkoElCCqeMZmGjMYFideI/qZV3Qpy1o2A0lvaUP1gu4UsSxkVpCOdEl4RhSV8xyIyGJ6NgqCAUjruCpbleSt6zpaJKOMmLr5PoTrKWWZpQ/kQjsCFTPiiTuPfNzY8bkGmsfBl9ACooNa/RSpZTBc1yznxLI9RW5MzORcfWRKGa++y6G1mGHyFBjPnFRB6PBHBUxagXQkovhrAcuVXRhXbuQaWIaMQbq5Q+ydFdnVoMdz+tSINQZd3KaKFxb7PlE3yn8aSleiopqCXsAwZXptKrMpBK63V0hkJqJhYzxLinIH4cO6E9+FHNsYn8rGJupswKOqc6+IQ67QS8EvURBuCP16gZMj7+9BO7eVLDJooEfzGpwSVynGuHPsg9g0OA6D1WUYxwQFDpdUezNdCkxdQIdhtzZfTCJqxL22uwCAfrvwYEZalv+IY76E8Hn8+j3Dg+jugOTTSPpEE/E0K52mV9kn3YlsmwLWXGv1u+GI/4hpjAhUMTL5h5ShQsncTjVIjXYKikQKMtWHO3OLdobZ53EgOPHd1EayzK0aMw+l2uVNlclCLLAFNnMpMIn3keFGo1EOQzryENi1Jl1KVR5Sguxaz4Szy9O33oIremoogoLp6k+rSRxH6WpsmJQ36ahLJlJY9CT8Ii5o6RVgMi3ihVuB57yvrIR8jodDF+d2aiydZdxMYTEy+IlDNLo4V50Iq+WKK0WE+GeF0nVxgyTiKvxBWcE4W5fvPmd/7iLyyNhcKtxzupbTlJ6SNyxoe2Y/cykGlQan9cQdYJRxDpM/pZXYoOHImgYaH0t7olL58uaExBgN8VwE0zImklhaXwF3aSInIDTARLmmKCs6TwM/5RmBajlrspOifRjdrruJeonPKCa9i1gguJ0PBoomOibzg6ah7r3jmvPUamlryQa66/FLyYWTXvXdoCNWOV05qsyTRGPMz/sn28+QEZ742ZNCCmUSU07k+nMXEIVAnqhANqj9DxEUOb2CCRpXIOn+dWjhJZD/dSj7hKZe8qgYsq2A75FwLDZs0CVxiGcp9SRKyDHJIfXQVh9SAgV7RClIq3wCfDFm3FNq9ApBfgeaueeXPZKCi8zZH9/mYkjK5TaHgbjRZo8icFDPkrAVYhGxBjxVZX7VvdVI24X6NBy2SmSMd8YY+nlxCniIep8yj4W2+riIBJOGYqCkPjU576uBYGEXiMlytjPqqkMwTlUga5VLy0RXiZhuWx4D1oyeg3DzPaK9k982+qPoortOlPJbmPQkw83HSqa05ZYlIGS0z/AJkaW9Oy02kyCjE1mfn/fVrGcgCapr+sq50u95x+dqYnpi+QNVyqVA2CVxGiGJaUVdOC1ELd/CcksHA9mgdH+Cu6La3+EhUUgo1wJs3ElSYVSTxHAa2sLj1+tGmcBibggnYPpaCWnJNYrp5FT1jDrUmLhM5iVsr2HPHgZMjwM7xvxRWHYNsF5gxtFA2uUDxGIaKtJry5dz7BfvBPrDkaWyPj1nqTIqIpyKMOBERTMy4yqvM86U/ZmiJrbnAe/+5P3t3ZeiR/fWs9vpnpyzpiTjJULlIQS8ovMhckAT+iRVAoBQt8zElkHUY3gDRF4ReDWC0ud6VJaoSHMb6xASNUv7RL8QuHkz4cykllXkwLy/yTAWLOGWeLtBJ+MXVKTC/da5/pOglklpopAybgBjR2W+fK2AN8fnZ5ISZKVAZ4YMV8+ULNbELi7GekQ7S4o7AMiQcjoTS02BKJf6EZEVV5oMxJlKi2kCRxFWO54oLgS57NU41NcUdbff3OpTBAC75y5cq77/5EzyeAVHBMD12Vc5+0RbW7pE+AWtNNdB6PMukHpWEqHlUvp3okcXrKc8rzIck2jyLR7AhwZ1FszKJwlMAMXex5o5AWF+qI6hCBEN5SLSgr1cgOdWnvcCOSS+axiZm9OVE7e40MwRqoUZf1y1cSix8cWEvp/R4AxnFgmkFfF8MGr5m6VmilqGPoqwll8xg6Qr5BRwI6ET6WxhFko2JoApKkKjUrzIwQvBWoDwSjxtig8KTSFEyCmzBMzi6insSYUILjwdHD/BcTWI0wNf3SbBMAaRA4oUhPUqG8GP1EUFlenF9Zgp45AeAyTrYP63sPW8QWCnVTovYNKFk2VtoCjSQaylOLNPBEI867pmal9xsEpf65PfZ6agICrY9NoZlbJkn7p8pqlI/U0VH5Fk9sJHX9uiBIoSFX1CDKOH6xfrLRqiQm8rqYkQrqIMrJ9kjpXcfplLIyxGx2MpnQE4pz6EvFoz3XCRenNWZgTeD0YldPwLxVc2ETVdcRgzAtcc7MaJMSmRpjF61bUCGDRi/jT3KG7WVLXdHUqkTtk4pO7J1Hm1/40s8vrW3sbD25efMWZvMEaMsrly7TOECWRbpl7DWP9CLid4S/YWY1MgIYV0MNwrr8DzIkch6cAFauxw9wHn4GavUUAUkpSYgtqAN7Bptid7R4VVJ5U8zKm4kvbO5HVuVkrnzT24nCUblCMYbVoKSA0vODbVqieazUmembG5WFsaUhQhjRBPkqVHVCU1UOfUVOKqE/UxqosJzd6dJ6Cu5pH9AcA649BEeparX74L6OiLNxIJULF6q+LtUhsXdf3H7hhffe/YkW7y6VU75FbJZz0iddaaUsPmeUPvBFKW+0W5vhl7ZKuyyxKATXpPC4B1uJgBLY6Ufrah4d2nUvGOqUa0z9V2eCq5jO/Jl1gDiUFtUO+YAaArDdIwjwtp9On+vWqmYD14U7H7w/euXVX/qlXzrY3VqeX3jrC1/0TsSEkNZ0/fTzxkcqyIEDBGUAedT4hYWbMMXhz5T9TAvOMHh0elph4mT4BhMJkrVKNtCk3XvakR6UW9gQNKYuuk7VOzLNgzFikXSzIaZ8msxmEm8g+XBwatJLpC2ktvDeyCTYWyzMu6F6KJ8Kb9bMZ53haAWopLHtxoUsdcmhaLyysAWQVLi1BqJQT7XiLwZvyDM9TTUgL9rVc86jiqxZj/9eLaQkLKOoM1JsIGrfQQtUBmBEH+7lnFUzyNqb/upXv3r3zmfmdVM5ZX1iKfJEcikNExdTfCjTPIqloQCIQ2AMpbnMYYibCNHRdi/lpp2jLX5L2IVhhmMtXd3bCchGy3LQQo1A8PwMjYGkHaCJmh1LVM87WutAiW9Zxc1NPczzj6MN4cggr+s3bu0/eXx+tP/i7ZtHRxviRbS+OQKiCMhTFkI9WCrGa8KLX+WbhB2uKwByWFt2DE5dpMnR4TQ/7C2dC3EHYKnVPK22PDuVLnCL0Bhci33yGW8m/aZ0mlirDDjVZHI5IEXD9D6TuX65NWxrv7/Q71mivmxnyoWlrs3BWeixsDJdhMBECz2Z8stbV7SKuVFHgM3xTbSOVqf2kA1e4XZsvaoTn8YQiZN9wgwVl6jaF8hCFb+n5hFEbIpBQGhw3ljUzktjly7JLfrAYfWEmSwvvHD7ww8+xASZJxqZhYSyCNhKAp73J0/NILM6ZKsDxRfgEuAtZ7y8E8uc8w8x4XyVn/GrRGKCOXNfnU+cmIDh/axJkd6Tl0hNdIxnKEhwD/M5MZm61TsGFro/9ddZKwuhB24qP81mSqeYqSx45oatXn/zdTUXE1tcMOsIl4rXxeHSjK0wdEOJLaFMTwGIuELeoRSGYbea6BwL3gZwdDuRJRqWOfqYn1Q0jfpHQgBHEWR+QNyXiuxlJMEQcVmlNjwJTREZ6tMdMDbizRTm3/UXbaC06K8/b+Fof84CXdW2AwT5Gd5JjQrEgUGaS/zZMJUg8tHqFm6k2xTRx5P1mbpEw6A8kWoJJPdXTAg75KqBGL8TPtLX4SzzExhEtIWlaRtKkJP2r+Q8CHDpvuiWycpvSi5WmXZNZXn89bom9sRudHvLSwsG9EUzJQ4HI7LYZafPwSCL3Mt2ACob/VOKJ45loQXL43eWt5BCzYaIzsoRU+iM2eMn20DibBhywAvygycLM4YDjdNTBsaEpq3FNTKjF0ZwbL8dwBvC4ldWEEkQJHzJ/4ne6mpUNcqjrYv1qW4UiguIC1vST4C8TjYbCAMzpyQNDh15MLaHIjWzNETIN5K7QHRWhZUWzUcW0kXH4N8osZmTmCeaBuIdmWxeKg37arF93mySzT1m2+4wvYxPCtvYOMUuVAkE2HKP/SEikiJhUb1wO3VlN8PJOF64qppRKuoR++LwEASRQjSTO6kiAy2ZtCoebUFHBBSxxgmk8iFYOrOdtGg9MlK0azZkx5RSUXxGeRbywju1VZ3yYTNwAjiadU31ts5xz+RWUxSDIMsebdVzOlpYXL1y5erEcAIr5KjUOlCHnuATAmQbaZTYfEsARVASounmvtHKSUtYAnAKvsBaz+dZKJe6nhHQOtHN8RQom9yEtnmFZl72qb3Mu/NRRZlu2O0uz+nwR1/gWKLmmUzsk+/Q0BLaihK8LbJSHhmm9eYMbvxr5/VTxUKEho6A1pyxGXrih+K2SDS9Txlk0HhC5EhfOzhna62yMEbJA05/OwE9sME4zVr++CM8sEyrUDV9+7SZYjabmVfBj0ADj0bQVrZ4mUA1og0PWd+g2EwViIVKmZXACQpDuIBfHNwCSr7SbiOL1KwaTGyT6gQviIj2BZxkhPuTTG/6QcQBUZQBOqEqLfjEAltzayjt9OD4S6w17Oaj/quX6sXR10iMN+57CYs5LxVnSERzbJ/ZLK5LLJkw3eEDLfba9Ruj3Sgp5yoOL5m4rNiCfeRRIxohPhL0MzgoUaVmjvgNo6zwgi3GMGYqrUo9xl2G5BmNZIwiiKHW7TCyuigYNueFc4tLS8Id+k1ZrNudnJmflUF0dIpLEwwX60ehIlyPSOpH0ROMPz9CWLuXNpVEfKDW4RKDDWbyMIZHWgAkkHC+PxQ+CWRgZM9+b8NBMGOtcQCTsUuNMZmltrFNi5lNkL2nFgwg6DSJGPQNHmRwUpimaY00MIXgVhRNUJ824RrnpVR0DBJyMJRUXQ1AYjo9mLrjZRpfNJGC2TjKI2DA3bBfXsksVVWRXK2KR26Fvji7tWdsOq5p16lB3tAjrMAJVTgZdYykqV9FMA1LUzD7AvzmnCcyBTG6P1RsguBxaYMZSC2Rl2XO4Mny6trNWzcvXRl99OEnmTRiP8NsihjUpvalVJAXCovEXCMSUT9tWM1TufgV/ErQj81KITEAHnFa/LCNrhGbvjf36n7AKK/Fe3qMqJuvKERWQ8JZT6eLh29hRNpmmFPl1mmxKrecFA3OU0SdVwvKR6gEfDTVDecOU8uyjB2/GDf9LRoAN8v6nKWbTb2I/Gai5SgmXiQSX9XPo1VFxjSuTOawmjJgDCEzrMz1D4DENNN1Ep5RU4JPQMWj1D8BYke1uTQAmUFvyMCxqkOMTAEhRirpJC5rUgiBVH+VPuhplqm0UAkCh1LZzxEW45awsC0vKLD0OklQNY5GHUuOqFRJbX9D9w+HJoJoS9mnx8bKNuC1iQPE1DLQOHiJ04m4qQBJJmQQR5xgrGXTaha0d8eiaYqZq+hUR4A/e+vG7e9897um32eMKTuC5QDiMD4jKXmBhxZqPba8yC3GuPY2IDcVoTvoMDh3C3bc02ESxjBHCUyVYpmpT+ixHQApGCA2jOOzdbnT2LCQDNoh8zoJ9WX4GlyeXQ5MwqHnSEJBwmBN9XioQS8nQNW1S7WkZscgkPHMbIjqKEVXH4+MU5aaaR2ydGhIh3urs20aHKzQLlCeGZ2FlfgyJhEBO58+dhwgmI/I87RzzNY8o1Jso83cS6sAkTStNI7gJc+EzIwhlK4ZOyKqnUShPA0lpkmiKKiclCn2dI66yyQ5CWShs+wYcUXZIIIszN81wyZWl+ZxncPHFT09tgSDcbYflaMi4NpOHDq84QR5UGbQzJ6wwsILmZwIN4GOySDL3gMnME54YvzVSLT3C4Pbq+vr77zzwx/96MfeQkYppwrqrNaBiEGr+MjGFLAoKscRMSZOoaywIb0kbxPogmTUS6YqZSK2Vadpp5l5ItSa2RSJ71WghvOKubgxxk0pmPxM5u1DmZ/fTaHPDoxD23O8SebQ8KJkPZE65Sayups7280Ljl4GnpinTJCImkn9tBLKA2G8eIqma/+u5YX+ErLt44X0bKyZea5ojc1JhxMiNCMNXvdOnAqv4ANpvO9EHR1Fz/N6hajms3kcfe22bynynFYSBj7HldZQ+io6KzkpN3mlhPxuTJCGcXILHaqdQEeIADh0BQkG72kWeyMeHB5kBr330GZzZ68K0HXIdBHJQ0B7ToH6ExPdmj5KicCLd7fHVkSKxvgN7+NOCe9ZBS3tgQAOV6jzwC//yq94gcG3v/2nfCfh3CQjA44dvzF6jBuP1DO4U43oJ9to0CoZNkjXtBwDL1bIxNr4NHgPM8RS4abkNo4WFlMwwqWU4G8Ml+cnDRzFsNDm+JxvTVTP0NNuuZtE7LzckuU4Tzl03//0Y8pm3MTiAuZm+rTeOhDqkE3HmCaTBeqpQ0Yr6UfL+OVGuBp4LFpiHlEX6d04StXIf9xknTUikK5m4NJIUkGedDgM3+nfhrbcDbWlXxq9NVpSrAg+JG/S9d1qLikaPNsKSsF6Aulls1pZy8YMxxE22pbNEinXgWXIOkyMyr59dTIOZ76OkIzXEAt6oTCupXrUuGd2V1laXNGjqYFaM85E9tlpu7QmLKsyoSkEp+Eq3ZOIifxAIW5y1ruITL3xxpsGy/74j//I1vTRT1XP+GOGxdLdBYasZeEIaJzy59BkPoGeahycLPUWXM6JVCQUMuEmXRyNKSQoMIoZOeF3yk2Dyb2UFa6GUkej04l0SVq32sVKPU5ZtzwUbURCUf0ta7/rkYmvvvKi+9IRZPQfjWKzyFldp/Sb1ERoT99JPxB1SRj+amh4g1Upkf/QyEBLjRwlNBeWpvOZs9SgvNdwNejJaLFz5comGlpa6QSy8lymwLoevaKw6Mk85gQ3YkQ11/yOuZNxqpFiUpu6nGxRZWjO0Gy84HQS7ZEosp+NhTg0+TsaCJ6YA549Jjny8WaSlzwJh6C0EaAxUKvyrNLq6pr3MLFT9G5Vnz/ngXHJxDGm4NmFYA+BqiFdyzqVCdGChOZn/9mf/vG7P37XWpDQapArU1DMo12JQaxOU4qvnoftAZptClKBLGvKC+BhSaJ3DmCXd/GgKAiQwyQ5t6ORV0mCjOdHe6ql/BxSwcoYaI3J0qew/IvA/ZSh9H50F+bEAUyHSH+bIl7wBqJ0vNNlygzF1r54nh7ITglRyTw5AZUpfWyWpfpPWKXFB1OEIS0gtfaXSHHamf9qHmqwsYh6JnfWDUGxFgkfp+sHN5FM6hZMtLtwVbVmj5rfV73hBjCSjA6s6+le8VloVOusD4/2Bgc7dg/IhjFWdaXnrfeUHMAzs0Xj26FJ5NLiAQfE8GGIcGHBC7mt21liruLgWa+v2SReouJBcgA7ZnKk02TQTvJba5Ov/9UAfKqlPww6PzlS0C//yq+tLq998uFPhWEUAKSUjrK0WY04GC5lxHMggeADVuqorEOBk8p+jJvnBEQVl4/Y0j9/KiSps6eQXYDwvLSpR67R5ZGg+/6PG+0470ij3YhlyxNj9OTGf/Of/lVjTQyqN7fBukVFpZHD2gSfMbrUDMc/uIQY8qc0CogpqYBCqRBK2gNwQEBEIqRL0SROrRgJgov00sd8RXFaTWvIqQ9vKU8HM1Up9am7mfAgw6QIRORWHMjNZOAWE9o0DRPFHBdYspqNbcprCXg6hSfecrgZmie0DGombmZeBkRyi7P1voH11fX5xYXspRhTQe1WktKXGiUDndqn1Cjf8LI4mw9kjSkKrx2NvJbcOZkWtbkVE06ZTE56J7wAgXmpyopPXo0Wr8KuKsdn2pfsq/3k4TpagpymDecIfwKcfIa0Bo12b/wZNYk49FeGybHdQVieLYanFshttUwFkyYp/U/OcVgI38O+3Oq+9sJNYGdV2o3E3qJhmOzQlJ6QkGXeN57NrRO08WDcURmnFD9xluYwyClB6p0xhDI/wRtaMhpVws/syfwOrYgNjwOAAMLhMvVS6EnVUFED12l744RuBpzGF4X+0qtNbWBDFI9ZomeMIWQ9YOI0ugGJFldVQ61MkEaLqCz/ghtH1dC8HbtL9Bb6om4CJ8bkiFC8oHWkE4SqoXurXbWbKNviXGgOub7CgPqlon4E/M8OkqWxwo/YF98+82Sqo8Ph8YkJO2N6UZg7UW0Mk+uyCWtSZZ95KqzAsgaJPJ4SS6jSkMb4Z0iSJsnTvFNAEtf/yqLkiYi0wnq8JXHuV13KWZitVv+HQ27jLJMiHRNJXMkwReYbTGZNl15LhnjzfJyzUITGUnSZYO5HHgnv0m0yWQVwKuJcofDEsotRqp3nAKPkh/MNlgGsYeNWLehibfiOsCt5cBvDQlRJliNYUp/MdkACgkEcZnQQvYig7Ull/Mma68Sn0o+KPwNXQX6KDw0A7U1j2jczUbvOZ4S2/otSzZ1PGGv0Nr8zAsQNG9Hws1UKU6IVzETHDZTwxTle9C5EFfdRG/UXvRheu9jY2c79JPiGHieOuuByjvzEoDFrM27qKdd84m3Jb5yNrzpLC0tzL96nsIKpW5FFfTYyEJIc0s7CRDlGgg1IyTdF1BG4+CtGF68qy1wr2wd/CEpWeSL6ZvxYkZHfIb4VfEHxgDzToyjvBiungP/pfjI1PwaT4yVnvnAUePjG76VxZIoX6XY5wsF4L6VqVSMYchUliis6EFHlG4NrmSRAkAZMi8gxzEnwULl1O26NyVDeVB1VknBwvSvC3EQhYW9YypB+1Iw+lfUxKSLPKySrAMzFmzGkzzRXXwZmligcPWIeRk1vneE0B4sj7cU7/OiVUec4Qynm20lgpnC/2+lNWumWGsEkVWZyWqt8g0Ocmkaz+hRS03kLVqoR/cxZu4s0J+1orGt8K8rDm6p6CbFEnru5TFb+59vRkIMWZcgq157dcK8xP2nzVPtOkmeF5rpzskzi/MtHjsDX1VJ1HqUqnndvK5t8VFnJoXKsj5yn0kYPRTat98iLDuKzJFoT/yUNLF1rbdJS6/Qp3MgHnzjOr7SBR1ULq+sJyeXbVsRIQDaV2uZw7IFQmdmlIQXYZFWNIOyJdkN5lh5HD/tnvbe9Y44om70DfzFN2dD3aJiueKZJVG1TVlxMdidyj6YxkX4xvW1+MM+mLxBsseS0Xf/TkIoNIaBEvjDbFQVNk4K94g29qn/Mg81AY+aDRImqb86USGHKQrdZ/7G6k3gSTjUNHObkwBAlRDTPfRlarEQQZj07WpKkxJTyYdUlzVidQkxRVLzNWR1JO6YVx5BENFVWZZ67rYr15Ym6MP6oYp2nfeY+FucrH74ispCMSZFg/hXa/JDa3+cEBIKReoo2vBiPRizL68MMTSfOmrBCnEucSBBQMayUUktWpSTDx6A/WdBMySs0Ze4Vu1ckhB+le54xNE35DCTBSRl4FBxm6mDxKbOI6BtzNM0WyiCb6UNsk85T9sQwhFmrMEt1pt+qXKCpWR/m54qS2G57bjnBvQTZIEc0n1ARTh4pLrRH80XnlW4sKYf+MelVHzWonw0CCAtvildZV6nCgY3uJMQkEsFGFZOsS4hQkpnrPh2qHdHUuU+nKdxnK7jO/XQ0i4DIDPUVzhpCnD8TYWT3sz/l2n7n5BlKnEvjqDI/v/78ivsldLfGhX6e2q0miFwaHy3D5FYX0F+kpuSfPfJ2KAACOLljiHYlsmzgDpBI11NqjYvxARBrnDoDW+FthNEAnIlwKcbPuDFRWpGZiSBFc4rLo9GKhAiUsWsQ4y0oAt4ZYxSqYZuCGG9NildjKMrFNuiGCFQrgHdGdrqKJoEsByh5i878rHmLS/FwqgOsCiktcSBFpLNdcYbsYRE7jUZH+BVPgThBOj1DBYxBgA+ITdVditOToiFDawKXdBKeHy7mSu4FPY7kXZ/jkzpvudX9cZpcqZQpaXyk8UvuxjMBp5W7KWX7/PykLhaFudVydtfh/GdP2oPPLubWs/RJ2/7n8VxP88yVhrJcRU27luvPj3bNZzv+dx3S80GCvba9AAAAAElFTkSuQmCC\n",
275
+ "text/plain": [
276
+ "PILImage mode=RGB size=192x128"
277
+ ]
278
+ },
279
+ "execution_count": 5,
280
+ "metadata": {},
281
+ "output_type": "execute_result"
282
+ }
283
+ ],
284
+ "source": [
285
+ "im =PILImage.create('Sphynx.jpg')\n",
286
+ "im.thumbnail((192,192))\n",
287
+ "im"
288
+ ]
289
+ },
290
+ {
291
+ "cell_type": "code",
292
+ "execution_count": 2,
293
+ "id": "c86d892e",
294
+ "metadata": {},
295
+ "outputs": [],
296
+ "source": [
297
+ "from fastai.vision.all import *"
298
+ ]
299
+ },
300
+ {
301
+ "cell_type": "code",
302
+ "execution_count": 3,
303
+ "id": "889270ef",
304
+ "metadata": {},
305
+ "outputs": [],
306
+ "source": [
307
+ "learn= load_learner('Sphynx.pkl')"
308
+ ]
309
+ },
310
+ {
311
+ "cell_type": "code",
312
+ "execution_count": 6,
313
+ "id": "6dd5b391",
314
+ "metadata": {},
315
+ "outputs": [
316
+ {
317
+ "data": {
318
+ "text/html": [
319
+ "\n",
320
+ "<style>\n",
321
+ " /* Turns off some styling */\n",
322
+ " progress {\n",
323
+ " /* gets rid of default border in Firefox and Opera. */\n",
324
+ " border: none;\n",
325
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
326
+ " background-size: auto;\n",
327
+ " }\n",
328
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
329
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
330
+ " }\n",
331
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
332
+ " background: #F44336;\n",
333
+ " }\n",
334
+ "</style>\n"
335
+ ],
336
+ "text/plain": [
337
+ "<IPython.core.display.HTML object>"
338
+ ]
339
+ },
340
+ "metadata": {},
341
+ "output_type": "display_data"
342
+ },
343
+ {
344
+ "data": {
345
+ "text/html": [],
346
+ "text/plain": [
347
+ "<IPython.core.display.HTML object>"
348
+ ]
349
+ },
350
+ "metadata": {},
351
+ "output_type": "display_data"
352
+ },
353
+ {
354
+ "data": {
355
+ "text/plain": [
356
+ "('sphynx cat', tensor(1), tensor([0.0041, 0.9959]))"
357
+ ]
358
+ },
359
+ "execution_count": 6,
360
+ "metadata": {},
361
+ "output_type": "execute_result"
362
+ }
363
+ ],
364
+ "source": [
365
+ "learn.predict(im)"
366
+ ]
367
+ },
368
+ {
369
+ "cell_type": "code",
370
+ "execution_count": 8,
371
+ "id": "3423b091",
372
+ "metadata": {},
373
+ "outputs": [],
374
+ "source": [
375
+ "categories = ('cat', 'sphinx cat')\n",
376
+ "def classify_image(im):\n",
377
+ " pred,idx, probs = learn.predict(im)\n",
378
+ " return dict(zip(categories, map(float,probs)))"
379
+ ]
380
+ },
381
+ {
382
+ "cell_type": "code",
383
+ "execution_count": 9,
384
+ "id": "e7fdbdf3",
385
+ "metadata": {},
386
+ "outputs": [
387
+ {
388
+ "data": {
389
+ "text/html": [
390
+ "\n",
391
+ "<style>\n",
392
+ " /* Turns off some styling */\n",
393
+ " progress {\n",
394
+ " /* gets rid of default border in Firefox and Opera. */\n",
395
+ " border: none;\n",
396
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
397
+ " background-size: auto;\n",
398
+ " }\n",
399
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
400
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
401
+ " }\n",
402
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
403
+ " background: #F44336;\n",
404
+ " }\n",
405
+ "</style>\n"
406
+ ],
407
+ "text/plain": [
408
+ "<IPython.core.display.HTML object>"
409
+ ]
410
+ },
411
+ "metadata": {},
412
+ "output_type": "display_data"
413
+ },
414
+ {
415
+ "data": {
416
+ "text/html": [],
417
+ "text/plain": [
418
+ "<IPython.core.display.HTML object>"
419
+ ]
420
+ },
421
+ "metadata": {},
422
+ "output_type": "display_data"
423
+ },
424
+ {
425
+ "data": {
426
+ "text/plain": [
427
+ "{'cat': 0.004127114545553923, 'sphinx cat': 0.9958729147911072}"
428
+ ]
429
+ },
430
+ "execution_count": 9,
431
+ "metadata": {},
432
+ "output_type": "execute_result"
433
+ }
434
+ ],
435
+ "source": [
436
+ "classify_image(im)"
437
+ ]
438
+ },
439
+ {
440
+ "cell_type": "code",
441
+ "execution_count": 13,
442
+ "id": "c797d5da",
443
+ "metadata": {},
444
+ "outputs": [
445
+ {
446
+ "name": "stdout",
447
+ "output_type": "stream",
448
+ "text": [
449
+ "Running on local URL: http://127.0.0.1:7860\n",
450
+ "\n",
451
+ "To create a public link, set `share=True` in `launch()`.\n"
452
+ ]
453
+ },
454
+ {
455
+ "data": {
456
+ "text/html": [
457
+ "<div><iframe src=\"http://127.0.0.1:7860/\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
458
+ ],
459
+ "text/plain": [
460
+ "<IPython.core.display.HTML object>"
461
+ ]
462
+ },
463
+ "metadata": {},
464
+ "output_type": "display_data"
465
+ },
466
+ {
467
+ "data": {
468
+ "text/plain": []
469
+ },
470
+ "execution_count": 13,
471
+ "metadata": {},
472
+ "output_type": "execute_result"
473
+ },
474
+ {
475
+ "data": {
476
+ "text/html": [
477
+ "\n",
478
+ "<style>\n",
479
+ " /* Turns off some styling */\n",
480
+ " progress {\n",
481
+ " /* gets rid of default border in Firefox and Opera. */\n",
482
+ " border: none;\n",
483
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
484
+ " background-size: auto;\n",
485
+ " }\n",
486
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
487
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
488
+ " }\n",
489
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
490
+ " background: #F44336;\n",
491
+ " }\n",
492
+ "</style>\n"
493
+ ],
494
+ "text/plain": [
495
+ "<IPython.core.display.HTML object>"
496
+ ]
497
+ },
498
+ "metadata": {},
499
+ "output_type": "display_data"
500
+ },
501
+ {
502
+ "data": {
503
+ "text/html": [],
504
+ "text/plain": [
505
+ "<IPython.core.display.HTML object>"
506
+ ]
507
+ },
508
+ "metadata": {},
509
+ "output_type": "display_data"
510
+ },
511
+ {
512
+ "data": {
513
+ "text/html": [
514
+ "\n",
515
+ "<style>\n",
516
+ " /* Turns off some styling */\n",
517
+ " progress {\n",
518
+ " /* gets rid of default border in Firefox and Opera. */\n",
519
+ " border: none;\n",
520
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
521
+ " background-size: auto;\n",
522
+ " }\n",
523
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
524
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
525
+ " }\n",
526
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
527
+ " background: #F44336;\n",
528
+ " }\n",
529
+ "</style>\n"
530
+ ],
531
+ "text/plain": [
532
+ "<IPython.core.display.HTML object>"
533
+ ]
534
+ },
535
+ "metadata": {},
536
+ "output_type": "display_data"
537
+ },
538
+ {
539
+ "data": {
540
+ "text/html": [],
541
+ "text/plain": [
542
+ "<IPython.core.display.HTML object>"
543
+ ]
544
+ },
545
+ "metadata": {},
546
+ "output_type": "display_data"
547
+ },
548
+ {
549
+ "data": {
550
+ "text/html": [
551
+ "\n",
552
+ "<style>\n",
553
+ " /* Turns off some styling */\n",
554
+ " progress {\n",
555
+ " /* gets rid of default border in Firefox and Opera. */\n",
556
+ " border: none;\n",
557
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
558
+ " background-size: auto;\n",
559
+ " }\n",
560
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
561
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
562
+ " }\n",
563
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
564
+ " background: #F44336;\n",
565
+ " }\n",
566
+ "</style>\n"
567
+ ],
568
+ "text/plain": [
569
+ "<IPython.core.display.HTML object>"
570
+ ]
571
+ },
572
+ "metadata": {},
573
+ "output_type": "display_data"
574
+ },
575
+ {
576
+ "data": {
577
+ "text/html": [],
578
+ "text/plain": [
579
+ "<IPython.core.display.HTML object>"
580
+ ]
581
+ },
582
+ "metadata": {},
583
+ "output_type": "display_data"
584
+ },
585
+ {
586
+ "data": {
587
+ "text/html": [
588
+ "\n",
589
+ "<style>\n",
590
+ " /* Turns off some styling */\n",
591
+ " progress {\n",
592
+ " /* gets rid of default border in Firefox and Opera. */\n",
593
+ " border: none;\n",
594
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
595
+ " background-size: auto;\n",
596
+ " }\n",
597
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
598
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
599
+ " }\n",
600
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
601
+ " background: #F44336;\n",
602
+ " }\n",
603
+ "</style>\n"
604
+ ],
605
+ "text/plain": [
606
+ "<IPython.core.display.HTML object>"
607
+ ]
608
+ },
609
+ "metadata": {},
610
+ "output_type": "display_data"
611
+ },
612
+ {
613
+ "data": {
614
+ "text/html": [],
615
+ "text/plain": [
616
+ "<IPython.core.display.HTML object>"
617
+ ]
618
+ },
619
+ "metadata": {},
620
+ "output_type": "display_data"
621
+ }
622
+ ],
623
+ "source": [
624
+ "\n",
625
+ "# Define the input component\n",
626
+ "image = \"image\"\n",
627
+ "\n",
628
+ "# Define the output component\n",
629
+ "label_output = \"label\"\n",
630
+ "\n",
631
+ "# Create the Gradio interface\n",
632
+ "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label_output, examples=[\"Sphynx.jpg\", \"cat.jpg\"])\n",
633
+ "intf.launch(share=False)\n"
634
+ ]
635
+ },
636
+ {
637
+ "cell_type": "code",
638
+ "execution_count": null,
639
+ "id": "4f6e7327",
640
+ "metadata": {},
641
+ "outputs": [],
642
+ "source": [
643
+ "\n"
644
+ ]
645
+ },
646
+ {
647
+ "cell_type": "code",
648
+ "execution_count": null,
649
+ "id": "d7f35496",
650
+ "metadata": {},
651
+ "outputs": [],
652
+ "source": []
653
+ },
654
+ {
655
+ "cell_type": "code",
656
+ "execution_count": null,
657
+ "id": "92d2518d",
658
+ "metadata": {},
659
+ "outputs": [],
660
+ "source": []
661
+ }
662
+ ],
663
+ "metadata": {
664
+ "kernelspec": {
665
+ "display_name": "Python 3 (ipykernel)",
666
+ "language": "python",
667
+ "name": "python3"
668
+ },
669
+ "language_info": {
670
+ "codemirror_mode": {
671
+ "name": "ipython",
672
+ "version": 3
673
+ },
674
+ "file_extension": ".py",
675
+ "mimetype": "text/x-python",
676
+ "name": "python",
677
+ "nbconvert_exporter": "python",
678
+ "pygments_lexer": "ipython3",
679
+ "version": "3.9.12"
680
+ }
681
+ },
682
+ "nbformat": 4,
683
+ "nbformat_minor": 5
684
+ }
app.py CHANGED
@@ -1,5 +1,21 @@
1
  import gradio as gr
 
2
 
3
  im =PILImage.create('Sphynx.jpg')
4
  im.thumbnail((192,192))
5
- im
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ from fastai.vision.all import *
3
 
4
  im =PILImage.create('Sphynx.jpg')
5
  im.thumbnail((192,192))
6
+ im
7
+
8
+ categories = ('cat', 'sphinx cat')
9
+ def classify_image(im):
10
+ pred,idx, probs = learn.predict(im)
11
+ return dict(zip(categories, map(float,probs)))
12
+
13
+ # Define the input component
14
+ image = "image"
15
+
16
+ # Define the output component
17
+ label_output = "label"
18
+
19
+ # Create the Gradio interface
20
+ intf = gr.Interface(fn=classify_image, inputs=image, outputs=label_output, examples=["Sphynx.jpg", "cat.jpg"])
21
+ intf.launch(share=False)
cat.jpg ADDED