1315 lines
255 KiB
Plaintext
1315 lines
255 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "939ac1fa-c8f0-4285-86aa-892051cd6800",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8e11d891",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Exploración de Embeddings: Modelos Livianos para Retrieval\n",
|
|
"\n",
|
|
"Comparamos modelos de sentence-transformers enfocándonos en:\n",
|
|
"- **Tamaño y velocidad** — cuál es el más liviano\n",
|
|
"- **Calidad de retrieval** — precision@k, recall@k, MRR\n",
|
|
"- **Trade-off práctico** — el mejor balance peso/rendimiento"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2fafce80",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1. Setup e imports"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "29508ec1",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Modelos a comparar: 6\n",
|
|
" MiniLM-L6 → all-MiniLM-L6-v2 (22M - solo inglés (baseline))\n",
|
|
" MiniLM-L12 → all-MiniLM-L12-v2 (33M - solo inglés)\n",
|
|
" paraphrase-multi-L12 → paraphrase-multilingual-MiniLM-L12-v2 (118M - multilingüe 50+ idiomas)\n",
|
|
" multi-e5-small → intfloat/multilingual-e5-small (118M - multilingüe, buen retrieval)\n",
|
|
" nomic-v1.5 → nomic-ai/nomic-embed-text-v1.5 (137M - Matryoshka, dim flexible)\n",
|
|
" BGE-m3 → BAAI/bge-m3 (568M - multilingüe SOTA, más pesado)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from sentence_transformers import SentenceTransformer\n",
|
|
"import faiss\n",
|
|
"import time\n",
|
|
"import os\n",
|
|
"\n",
|
|
"plt.style.use('seaborn-v0_8-whitegrid')\n",
|
|
"plt.rcParams['figure.figsize'] = (12, 6)\n",
|
|
"\n",
|
|
"# Modelos a comparar: nombre -> (id huggingface, descripcion, prefijo_query, prefijo_doc)\n",
|
|
"# None = sin prefijo. Los modelos e5 y nomic necesitan prefijos especiales.\n",
|
|
"MODELS = {\n",
|
|
" 'MiniLM-L6': ('all-MiniLM-L6-v2', '22M - solo inglés (baseline)', None, None),\n",
|
|
" 'MiniLM-L12': ('all-MiniLM-L12-v2', '33M - solo inglés', None, None),\n",
|
|
" 'paraphrase-multi-L12':('paraphrase-multilingual-MiniLM-L12-v2', '118M - multilingüe 50+ idiomas', None, None),\n",
|
|
" 'multi-e5-small': ('intfloat/multilingual-e5-small', '118M - multilingüe, buen retrieval', 'query: ', 'passage: '),\n",
|
|
" 'nomic-v1.5': ('nomic-ai/nomic-embed-text-v1.5', '137M - Matryoshka, dim flexible', 'search_query: ', 'search_document: '),\n",
|
|
" 'BGE-m3': ('BAAI/bge-m3', '568M - multilingüe SOTA, más pesado', None, None),\n",
|
|
"}\n",
|
|
"\n",
|
|
"print(f'Modelos a comparar: {len(MODELS)}')\n",
|
|
"for name, (model_id, desc, _, _) in MODELS.items():\n",
|
|
" print(f' {name:25s} → {model_id:50s} ({desc})')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "cf402d89",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2. Corpus de prueba\n",
|
|
"\n",
|
|
"Creamos un corpus con documentos de distintas categorías para evaluar retrieval. Cada query tiene documentos relevantes conocidos (ground truth)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "3550fb1c",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Corpus: 25 documentos en español\n",
|
|
"Queries: 10 en español con ground truth\n",
|
|
"Categorías: programación, ciencia, cocina, finanzas, geografía\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Corpus: documentos agrupados por tema (en español para evaluar retrieval multilingüe)\n",
|
|
"corpus = [\n",
|
|
" # Programación (0-4)\n",
|
|
" 'Python es un lenguaje de programación de alto nivel conocido por su legibilidad y versatilidad',\n",
|
|
" 'JavaScript se ejecuta en el navegador y es esencial para el desarrollo web',\n",
|
|
" 'Rust proporciona seguridad de memoria sin recolector de basura mediante su sistema de ownership',\n",
|
|
" 'SQL es el lenguaje estándar para consultar bases de datos relacionales',\n",
|
|
" 'Git es un sistema de control de versiones distribuido para rastrear cambios en el código',\n",
|
|
"\n",
|
|
" # Ciencia (5-9)\n",
|
|
" 'La fotosíntesis convierte la luz solar en energía química dentro de las células vegetales',\n",
|
|
" 'La teoría de la relatividad describe cómo la gravedad deforma el espacio-tiempo',\n",
|
|
" 'El ADN transporta información genética usando cuatro bases de nucleótidos',\n",
|
|
" 'El entrelazamiento cuántico vincula partículas sin importar la distancia entre ellas',\n",
|
|
" 'La evolución ocurre mediante selección natural y deriva genética',\n",
|
|
"\n",
|
|
" # Cocina (10-14)\n",
|
|
" 'El pan de masa madre requiere un cultivo fermentado de harina y agua',\n",
|
|
" 'El arroz para sushi se sazona con vinagre, azúcar y sal',\n",
|
|
" 'La reacción de Maillard crea el dorado y sabor al cocinar carne a alta temperatura',\n",
|
|
" 'La emulsificación une aceite y agua usando agentes como la yema de huevo',\n",
|
|
" 'La fermentación preserva alimentos y crea sabores complejos con el tiempo',\n",
|
|
"\n",
|
|
" # Finanzas (15-19)\n",
|
|
" 'El interés compuesto hace crecer los ahorros exponencialmente a largo plazo',\n",
|
|
" 'La diversificación reduce el riesgo del portafolio distribuyendo inversiones entre activos',\n",
|
|
" 'La inflación erosiona el poder adquisitivo y afecta las inversiones de renta fija',\n",
|
|
" 'La Reserva Federal establece política monetaria ajustando las tasas de interés',\n",
|
|
" 'Los fondos indexados replican índices de mercado con comisiones mínimas de gestión',\n",
|
|
"\n",
|
|
" # Geografía (20-24)\n",
|
|
" 'La selva amazónica produce aproximadamente el 20% del oxígeno del mundo',\n",
|
|
" 'Las placas tectónicas se desplazan causando terremotos y erupciones volcánicas',\n",
|
|
" 'El desierto del Sahara se extiende por once países del norte de África',\n",
|
|
" 'Las corrientes oceánicas regulan el clima global y los patrones meteorológicos',\n",
|
|
" 'La Fosa de las Marianas es el punto más profundo conocido del océano',\n",
|
|
"]\n",
|
|
"\n",
|
|
"# Queries en español con ground truth (índices de documentos relevantes)\n",
|
|
"queries = [\n",
|
|
" ('¿Cómo manejan los lenguajes de programación la memoria?', [0, 2]),\n",
|
|
" ('¿Qué es el control de versiones para código fuente?', [4]),\n",
|
|
" ('¿Cómo producen energía las plantas a partir de la luz?', [5]),\n",
|
|
" ('Cuéntame sobre física de partículas y mecánica cuántica', [7, 8]),\n",
|
|
" ('¿Cómo funciona la fermentación del pan?', [10, 14]),\n",
|
|
" ('¿Qué hace que la comida sepa mejor al cocinarla a fuego alto?', [12, 13]),\n",
|
|
" ('¿Cómo puedo hacer crecer mis ahorros con el tiempo?', [15, 16, 19]),\n",
|
|
" ('¿Qué afecta la economía y los precios?', [17, 18]),\n",
|
|
" ('Háblame de las partes más profundas del océano', [24]),\n",
|
|
" ('¿Cómo cambia la superficie de la Tierra con el tiempo?', [21, 22]),\n",
|
|
"]\n",
|
|
"\n",
|
|
"print(f'Corpus: {len(corpus)} documentos en español')\n",
|
|
"print(f'Queries: {len(queries)} en español con ground truth')\n",
|
|
"print(f'Categorías: programación, ciencia, cocina, finanzas, geografía')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "fc3857da",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 3. Cargar modelos y generar embeddings\n",
|
|
"\n",
|
|
"Cargamos cada modelo, medimos tiempo de carga, tiempo de encoding, y tamaño en memoria."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "6470048d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Modelo | Dim | Params | Size | Load | Corpus | Queries\n",
|
|
"-------------------------------------------------------------------------------------------------------------------\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "fd228d449f514e07a368b80fd5853c13",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Loading weights: 0%| | 0/103 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[1mBertModel LOAD REPORT\u001b[0m from: sentence-transformers/all-MiniLM-L6-v2\n",
|
|
"Key | Status | | \n",
|
|
"------------------------+------------+--+-\n",
|
|
"embeddings.position_ids | UNEXPECTED | | \n",
|
|
"\n",
|
|
"Notes:\n",
|
|
"- UNEXPECTED:\tcan be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"MiniLM-L6 | dim= 384 | 22.7M params | 87MB | load= 2.4s | corpus=0.264s | queries=0.015s\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "43c98b329abd434085175b9decfb1017",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Loading weights: 0%| | 0/199 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[1mBertModel LOAD REPORT\u001b[0m from: sentence-transformers/all-MiniLM-L12-v2\n",
|
|
"Key | Status | | \n",
|
|
"------------------------+------------+--+-\n",
|
|
"embeddings.position_ids | UNEXPECTED | | \n",
|
|
"\n",
|
|
"Notes:\n",
|
|
"- UNEXPECTED:\tcan be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"MiniLM-L12 | dim= 384 | 33.4M params | 127MB | load= 1.9s | corpus=0.018s | queries=0.012s\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "f90402364c634397ad9b29d5d41c65a7",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Loading weights: 0%| | 0/199 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[1mBertModel LOAD REPORT\u001b[0m from: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2\n",
|
|
"Key | Status | | \n",
|
|
"------------------------+------------+--+-\n",
|
|
"embeddings.position_ids | UNEXPECTED | | \n",
|
|
"\n",
|
|
"Notes:\n",
|
|
"- UNEXPECTED:\tcan be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"paraphrase-multi-L12 | dim= 384 | 117.7M params | 449MB | load= 3.5s | corpus=0.041s | queries=0.014s\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "c115aee165af46e3b8bd6e2a4e22fb67",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Loading weights: 0%| | 0/199 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[1mBertModel LOAD REPORT\u001b[0m from: intfloat/multilingual-e5-small\n",
|
|
"Key | Status | | \n",
|
|
"------------------------+------------+--+-\n",
|
|
"embeddings.position_ids | UNEXPECTED | | \n",
|
|
"\n",
|
|
"Notes:\n",
|
|
"- UNEXPECTED:\tcan be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"multi-e5-small | dim= 384 | 117.7M params | 449MB | load= 4.1s | corpus=0.055s | queries=0.017s\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "11a55f1c36e34bdf8fdcf7784a283788",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"model.safetensors: 0%| | 0.00/547M [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"<All keys matched successfully>\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "7b68536d70734f0f83201c2feb749e1b",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer_config.json: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "b79d8be283d247eb8e2cd522e536ca39",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"vocab.txt: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "2d0f53694616493bbe303a9869972988",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer.json: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "588f7d602f2342e5916d1b665d0bd941",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"special_tokens_map.json: 0%| | 0.00/695 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "fe5eac1948ab48b9a6aa0f7af2d58b00",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config.json: 0%| | 0.00/286 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"nomic-v1.5 | dim= 768 | 136.7M params | 522MB | load= 19.0s | corpus=0.055s | queries=0.018s\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ec927998eef14868989f3cf4e19b2a5c",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"modules.json: 0%| | 0.00/349 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "d6afeac46acb4460a5d609799732f518",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config_sentence_transformers.json: 0%| | 0.00/123 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "adef57db897a41ef89e71fa35145f246",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"README.md: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "4d7b38439e3346cabb17b8fa66b03774",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"sentence_bert_config.json: 0%| | 0.00/54.0 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "a6467c55cb204f67aebde1285b54a64d",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config.json: 0%| | 0.00/687 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "9ce485266ee648aea5fb948dcebc0140",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"pytorch_model.bin: 0%| | 0.00/2.27G [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "6fddf98edd5f4a2aad93f22dff9976b9",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Loading weights: 0%| | 0/391 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ef2460bc03a8491693311a460e32e509",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer_config.json: 0%| | 0.00/444 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "fbfb4328cab84c83aa5a8f1665df3537",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"sentencepiece.bpe.model: 0%| | 0.00/5.07M [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "5a2145230a38405bb6d1834e2483dbcc",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"model.safetensors: 0%| | 0.00/2.27G [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "bd00e65a5a744979ad58563570c1a945",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer.json: 0%| | 0.00/17.1M [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "5cc0f51c1bec4bb08b7fb9b50849f528",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"special_tokens_map.json: 0%| | 0.00/964 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "381797379d944388b3fbbf707c58e957",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config.json: 0%| | 0.00/191 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"BGE-m3 | dim=1024 | 567.8M params | 2166MB | load= 48.0s | corpus=0.069s | queries=0.029s\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import gc\n",
|
|
"\n",
|
|
"def measure_model(name, model_id, corpus, queries, q_prefix=None, d_prefix=None):\n",
|
|
" \"\"\"Carga modelo, genera embeddings, mide tiempos y tamaño.\"\"\"\n",
|
|
" gc.collect()\n",
|
|
"\n",
|
|
" # Cargar modelo (nomic necesita trust_remote_code)\n",
|
|
" t0 = time.perf_counter()\n",
|
|
" kwargs = {'trust_remote_code': True} if 'nomic' in model_id else {}\n",
|
|
" model = SentenceTransformer(model_id, **kwargs)\n",
|
|
" load_time = time.perf_counter() - t0\n",
|
|
"\n",
|
|
" # Tamaño del modelo en MB (acceder al transformer base)\n",
|
|
" try:\n",
|
|
" base = model[0].auto_model\n",
|
|
" except:\n",
|
|
" base = model\n",
|
|
" param_size = sum(p.nelement() * p.element_size() for p in base.parameters())\n",
|
|
" model_mb = param_size / (1024 * 1024)\n",
|
|
" n_params = sum(p.nelement() for p in base.parameters()) / 1e6\n",
|
|
"\n",
|
|
" # Aplicar prefijos si el modelo los requiere\n",
|
|
" corpus_input = [f'{d_prefix}{doc}' for doc in corpus] if d_prefix else corpus\n",
|
|
" query_texts = [f'{q_prefix}{q}' for q, _ in queries] if q_prefix else [q for q, _ in queries]\n",
|
|
"\n",
|
|
" # Encoding del corpus\n",
|
|
" t0 = time.perf_counter()\n",
|
|
" corpus_embs = model.encode(corpus_input, normalize_embeddings=True, show_progress_bar=False)\n",
|
|
" corpus_time = time.perf_counter() - t0\n",
|
|
"\n",
|
|
" # Encoding de queries\n",
|
|
" t0 = time.perf_counter()\n",
|
|
" query_embs = model.encode(query_texts, normalize_embeddings=True, show_progress_bar=False)\n",
|
|
" query_time = time.perf_counter() - t0\n",
|
|
"\n",
|
|
" dim = corpus_embs.shape[1]\n",
|
|
"\n",
|
|
" print(f'{name:25s} | dim={dim:4d} | {n_params:.1f}M params | {model_mb:6.0f}MB | '\n",
|
|
" f'load={load_time:5.1f}s | corpus={corpus_time:.3f}s | queries={query_time:.3f}s')\n",
|
|
"\n",
|
|
" return {\n",
|
|
" 'name': name,\n",
|
|
" 'model_id': model_id,\n",
|
|
" 'dim': dim,\n",
|
|
" 'n_params_m': round(n_params, 1),\n",
|
|
" 'model_mb': round(model_mb, 1),\n",
|
|
" 'load_time_s': round(load_time, 2),\n",
|
|
" 'corpus_encode_s': round(corpus_time, 4),\n",
|
|
" 'query_encode_s': round(query_time, 4),\n",
|
|
" 'corpus_embs': corpus_embs,\n",
|
|
" 'query_embs': query_embs,\n",
|
|
" }\n",
|
|
"\n",
|
|
"# Ejecutar benchmark de carga y encoding\n",
|
|
"results = {}\n",
|
|
"print(f'{\"Modelo\":25s} | {\"Dim\":>4s} | {\"Params\":>10s} | {\"Size\":>6s} | {\"Load\":>5s} | {\"Corpus\":>7s} | {\"Queries\":>7s}')\n",
|
|
"print('-' * 115)\n",
|
|
"for name, (model_id, desc, q_prefix, d_prefix) in MODELS.items():\n",
|
|
" results[name] = measure_model(name, model_id, corpus, queries, q_prefix, d_prefix)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a2598cba",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 4. Evaluación de Retrieval\n",
|
|
"\n",
|
|
"Para cada modelo, usamos FAISS para buscar los k documentos más cercanos a cada query y comparamos contra el ground truth.\n",
|
|
"\n",
|
|
"**Métricas:**\n",
|
|
"- **Precision@k**: de los k recuperados, qué fracción es relevante\n",
|
|
"- **Recall@k**: de los relevantes, qué fracción fue recuperada\n",
|
|
"- **MRR (Mean Reciprocal Rank)**: inverso de la posición del primer resultado relevante"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "39149ab1",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"MiniLM-L6 | Precision@5=0.240 | Recall@5=0.733 | MRR=0.778\n",
|
|
"MiniLM-L12 | Precision@5=0.220 | Recall@5=0.683 | MRR=0.820\n",
|
|
"paraphrase-multi-L12 | Precision@5=0.320 | Recall@5=0.900 | MRR=0.933\n",
|
|
"multi-e5-small | Precision@5=0.300 | Recall@5=0.867 | MRR=0.950\n",
|
|
"nomic-v1.5 | Precision@5=0.240 | Recall@5=0.733 | MRR=0.900\n",
|
|
"BGE-m3 | Precision@5=0.300 | Recall@5=0.867 | MRR=1.000\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def evaluate_retrieval(corpus_embs, query_embs, queries, k=5):\n",
|
|
" \"\"\"Evalúa retrieval con FAISS. Retorna métricas por query y agregadas.\"\"\"\n",
|
|
" dim = corpus_embs.shape[1]\n",
|
|
"\n",
|
|
" # Índice FAISS con inner product (embeddings ya normalizados = cosine similarity)\n",
|
|
" index = faiss.IndexFlatIP(dim)\n",
|
|
" index.add(corpus_embs.astype(np.float32))\n",
|
|
"\n",
|
|
" # Buscar k vecinos para cada query\n",
|
|
" scores, indices = index.search(query_embs.astype(np.float32), k)\n",
|
|
"\n",
|
|
" per_query = []\n",
|
|
" for i, (query_text, relevant_ids) in enumerate(queries):\n",
|
|
" retrieved = indices[i].tolist()\n",
|
|
" relevant_set = set(relevant_ids)\n",
|
|
" retrieved_relevant = [idx for idx in retrieved if idx in relevant_set]\n",
|
|
"\n",
|
|
" precision_at_k = len(retrieved_relevant) / k\n",
|
|
" recall_at_k = len(retrieved_relevant) / len(relevant_set) if relevant_set else 0\n",
|
|
"\n",
|
|
" # MRR: posición del primer relevante\n",
|
|
" rr = 0\n",
|
|
" for rank, idx in enumerate(retrieved, 1):\n",
|
|
" if idx in relevant_set:\n",
|
|
" rr = 1.0 / rank\n",
|
|
" break\n",
|
|
"\n",
|
|
" per_query.append({\n",
|
|
" 'query': query_text[:60],\n",
|
|
" 'retrieved': retrieved,\n",
|
|
" 'relevant': relevant_ids,\n",
|
|
" 'precision@k': precision_at_k,\n",
|
|
" 'recall@k': recall_at_k,\n",
|
|
" 'mrr': rr,\n",
|
|
" })\n",
|
|
"\n",
|
|
" return {\n",
|
|
" 'per_query': per_query,\n",
|
|
" 'mean_precision': np.mean([q['precision@k'] for q in per_query]),\n",
|
|
" 'mean_recall': np.mean([q['recall@k'] for q in per_query]),\n",
|
|
" 'mrr': np.mean([q['mrr'] for q in per_query]),\n",
|
|
" }\n",
|
|
"\n",
|
|
"# Evaluar cada modelo\n",
|
|
"K = 5\n",
|
|
"eval_results = {}\n",
|
|
"for name, res in results.items():\n",
|
|
" ev = evaluate_retrieval(res['corpus_embs'], res['query_embs'], queries, k=K)\n",
|
|
" eval_results[name] = ev\n",
|
|
" print(f\"{name:15s} | Precision@{K}={ev['mean_precision']:.3f} | Recall@{K}={ev['mean_recall']:.3f} | MRR={ev['mrr']:.3f}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c6ae98f7",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 5. Tabla comparativa resumen"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "83ce9114",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<style type=\"text/css\">\n",
|
|
"#T_6fe24_row0_col1, #T_6fe24_row1_col3 {\n",
|
|
" background-color: #67000d;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row0_col3 {\n",
|
|
" background-color: #6b010e;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row0_col6, #T_6fe24_row4_col6 {\n",
|
|
" background-color: #d3eecd;\n",
|
|
" color: #000000;\n",
|
|
"}\n",
|
|
"#T_6fe24_row0_col7, #T_6fe24_row4_col7 {\n",
|
|
" background-color: #ccebc6;\n",
|
|
" color: #000000;\n",
|
|
"}\n",
|
|
"#T_6fe24_row0_col8, #T_6fe24_row1_col6, #T_6fe24_row1_col7 {\n",
|
|
" background-color: #f7fcf5;\n",
|
|
" color: #000000;\n",
|
|
"}\n",
|
|
"#T_6fe24_row1_col1 {\n",
|
|
" background-color: #71020e;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row1_col8 {\n",
|
|
" background-color: #d6efd0;\n",
|
|
" color: #000000;\n",
|
|
"}\n",
|
|
"#T_6fe24_row2_col1, #T_6fe24_row3_col1 {\n",
|
|
" background-color: #b31218;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row2_col3 {\n",
|
|
" background-color: #79040f;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row2_col6, #T_6fe24_row2_col7, #T_6fe24_row5_col8 {\n",
|
|
" background-color: #00441b;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row2_col8 {\n",
|
|
" background-color: #2f984f;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row3_col3 {\n",
|
|
" background-color: #7e0610;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row3_col6, #T_6fe24_row5_col6 {\n",
|
|
" background-color: #157f3b;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row3_col7, #T_6fe24_row5_col7 {\n",
|
|
" background-color: #077331;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row3_col8 {\n",
|
|
" background-color: #1c8540;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row4_col1 {\n",
|
|
" background-color: #be151a;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row4_col3 {\n",
|
|
" background-color: #ee3a2c;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row4_col8 {\n",
|
|
" background-color: #60ba6c;\n",
|
|
" color: #f1f1f1;\n",
|
|
"}\n",
|
|
"#T_6fe24_row5_col1, #T_6fe24_row5_col3 {\n",
|
|
" background-color: #fff5f0;\n",
|
|
" color: #000000;\n",
|
|
"}\n",
|
|
"</style>\n",
|
|
"<table id=\"T_6fe24\">\n",
|
|
" <thead>\n",
|
|
" <tr>\n",
|
|
" <th class=\"blank level0\" > </th>\n",
|
|
" <th id=\"T_6fe24_level0_col0\" class=\"col_heading level0 col0\" >Params (M)</th>\n",
|
|
" <th id=\"T_6fe24_level0_col1\" class=\"col_heading level0 col1\" >Tamaño (MB)</th>\n",
|
|
" <th id=\"T_6fe24_level0_col2\" class=\"col_heading level0 col2\" >Dim</th>\n",
|
|
" <th id=\"T_6fe24_level0_col3\" class=\"col_heading level0 col3\" >Load (s)</th>\n",
|
|
" <th id=\"T_6fe24_level0_col4\" class=\"col_heading level0 col4\" >Encode corpus (s)</th>\n",
|
|
" <th id=\"T_6fe24_level0_col5\" class=\"col_heading level0 col5\" >Encode queries (s)</th>\n",
|
|
" <th id=\"T_6fe24_level0_col6\" class=\"col_heading level0 col6\" >Precision@5</th>\n",
|
|
" <th id=\"T_6fe24_level0_col7\" class=\"col_heading level0 col7\" >Recall@5</th>\n",
|
|
" <th id=\"T_6fe24_level0_col8\" class=\"col_heading level0 col8\" >MRR</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th class=\"index_name level0\" >Modelo</th>\n",
|
|
" <th class=\"blank col0\" > </th>\n",
|
|
" <th class=\"blank col1\" > </th>\n",
|
|
" <th class=\"blank col2\" > </th>\n",
|
|
" <th class=\"blank col3\" > </th>\n",
|
|
" <th class=\"blank col4\" > </th>\n",
|
|
" <th class=\"blank col5\" > </th>\n",
|
|
" <th class=\"blank col6\" > </th>\n",
|
|
" <th class=\"blank col7\" > </th>\n",
|
|
" <th class=\"blank col8\" > </th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row0\" class=\"row_heading level0 row0\" >MiniLM-L6</th>\n",
|
|
" <td id=\"T_6fe24_row0_col0\" class=\"data row0 col0\" >22.700000</td>\n",
|
|
" <td id=\"T_6fe24_row0_col1\" class=\"data row0 col1\" >86.600000</td>\n",
|
|
" <td id=\"T_6fe24_row0_col2\" class=\"data row0 col2\" >384</td>\n",
|
|
" <td id=\"T_6fe24_row0_col3\" class=\"data row0 col3\" >2.360000</td>\n",
|
|
" <td id=\"T_6fe24_row0_col4\" class=\"data row0 col4\" >0.264300</td>\n",
|
|
" <td id=\"T_6fe24_row0_col5\" class=\"data row0 col5\" >0.014600</td>\n",
|
|
" <td id=\"T_6fe24_row0_col6\" class=\"data row0 col6\" >0.240000</td>\n",
|
|
" <td id=\"T_6fe24_row0_col7\" class=\"data row0 col7\" >0.733000</td>\n",
|
|
" <td id=\"T_6fe24_row0_col8\" class=\"data row0 col8\" >0.778000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row1\" class=\"row_heading level0 row1\" >MiniLM-L12</th>\n",
|
|
" <td id=\"T_6fe24_row1_col0\" class=\"data row1 col0\" >33.400000</td>\n",
|
|
" <td id=\"T_6fe24_row1_col1\" class=\"data row1 col1\" >127.300000</td>\n",
|
|
" <td id=\"T_6fe24_row1_col2\" class=\"data row1 col2\" >384</td>\n",
|
|
" <td id=\"T_6fe24_row1_col3\" class=\"data row1 col3\" >1.850000</td>\n",
|
|
" <td id=\"T_6fe24_row1_col4\" class=\"data row1 col4\" >0.017600</td>\n",
|
|
" <td id=\"T_6fe24_row1_col5\" class=\"data row1 col5\" >0.012400</td>\n",
|
|
" <td id=\"T_6fe24_row1_col6\" class=\"data row1 col6\" >0.220000</td>\n",
|
|
" <td id=\"T_6fe24_row1_col7\" class=\"data row1 col7\" >0.683000</td>\n",
|
|
" <td id=\"T_6fe24_row1_col8\" class=\"data row1 col8\" >0.820000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row2\" class=\"row_heading level0 row2\" >paraphrase-multi-L12</th>\n",
|
|
" <td id=\"T_6fe24_row2_col0\" class=\"data row2 col0\" >117.700000</td>\n",
|
|
" <td id=\"T_6fe24_row2_col1\" class=\"data row2 col1\" >448.800000</td>\n",
|
|
" <td id=\"T_6fe24_row2_col2\" class=\"data row2 col2\" >384</td>\n",
|
|
" <td id=\"T_6fe24_row2_col3\" class=\"data row2 col3\" >3.500000</td>\n",
|
|
" <td id=\"T_6fe24_row2_col4\" class=\"data row2 col4\" >0.040700</td>\n",
|
|
" <td id=\"T_6fe24_row2_col5\" class=\"data row2 col5\" >0.013800</td>\n",
|
|
" <td id=\"T_6fe24_row2_col6\" class=\"data row2 col6\" >0.320000</td>\n",
|
|
" <td id=\"T_6fe24_row2_col7\" class=\"data row2 col7\" >0.900000</td>\n",
|
|
" <td id=\"T_6fe24_row2_col8\" class=\"data row2 col8\" >0.933000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row3\" class=\"row_heading level0 row3\" >multi-e5-small</th>\n",
|
|
" <td id=\"T_6fe24_row3_col0\" class=\"data row3 col0\" >117.700000</td>\n",
|
|
" <td id=\"T_6fe24_row3_col1\" class=\"data row3 col1\" >448.800000</td>\n",
|
|
" <td id=\"T_6fe24_row3_col2\" class=\"data row3 col2\" >384</td>\n",
|
|
" <td id=\"T_6fe24_row3_col3\" class=\"data row3 col3\" >4.100000</td>\n",
|
|
" <td id=\"T_6fe24_row3_col4\" class=\"data row3 col4\" >0.055500</td>\n",
|
|
" <td id=\"T_6fe24_row3_col5\" class=\"data row3 col5\" >0.016900</td>\n",
|
|
" <td id=\"T_6fe24_row3_col6\" class=\"data row3 col6\" >0.300000</td>\n",
|
|
" <td id=\"T_6fe24_row3_col7\" class=\"data row3 col7\" >0.867000</td>\n",
|
|
" <td id=\"T_6fe24_row3_col8\" class=\"data row3 col8\" >0.950000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row4\" class=\"row_heading level0 row4\" >nomic-v1.5</th>\n",
|
|
" <td id=\"T_6fe24_row4_col0\" class=\"data row4 col0\" >136.700000</td>\n",
|
|
" <td id=\"T_6fe24_row4_col1\" class=\"data row4 col1\" >521.600000</td>\n",
|
|
" <td id=\"T_6fe24_row4_col2\" class=\"data row4 col2\" >768</td>\n",
|
|
" <td id=\"T_6fe24_row4_col3\" class=\"data row4 col3\" >19.040000</td>\n",
|
|
" <td id=\"T_6fe24_row4_col4\" class=\"data row4 col4\" >0.055400</td>\n",
|
|
" <td id=\"T_6fe24_row4_col5\" class=\"data row4 col5\" >0.017500</td>\n",
|
|
" <td id=\"T_6fe24_row4_col6\" class=\"data row4 col6\" >0.240000</td>\n",
|
|
" <td id=\"T_6fe24_row4_col7\" class=\"data row4 col7\" >0.733000</td>\n",
|
|
" <td id=\"T_6fe24_row4_col8\" class=\"data row4 col8\" >0.900000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th id=\"T_6fe24_level0_row5\" class=\"row_heading level0 row5\" >BGE-m3</th>\n",
|
|
" <td id=\"T_6fe24_row5_col0\" class=\"data row5 col0\" >567.800000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col1\" class=\"data row5 col1\" >2165.800000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col2\" class=\"data row5 col2\" >1024</td>\n",
|
|
" <td id=\"T_6fe24_row5_col3\" class=\"data row5 col3\" >47.990000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col4\" class=\"data row5 col4\" >0.069000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col5\" class=\"data row5 col5\" >0.028500</td>\n",
|
|
" <td id=\"T_6fe24_row5_col6\" class=\"data row5 col6\" >0.300000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col7\" class=\"data row5 col7\" >0.867000</td>\n",
|
|
" <td id=\"T_6fe24_row5_col8\" class=\"data row5 col8\" >1.000000</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n"
|
|
],
|
|
"text/plain": [
|
|
"<pandas.io.formats.style.Styler at 0x7f67287be3c0>"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Tabla resumen: velocidad + retrieval\n",
|
|
"rows = []\n",
|
|
"for name in results:\n",
|
|
" r = results[name]\n",
|
|
" ev = eval_results[name]\n",
|
|
" rows.append({\n",
|
|
" 'Modelo': name,\n",
|
|
" 'Params (M)': r['n_params_m'],\n",
|
|
" 'Tamaño (MB)': r['model_mb'],\n",
|
|
" 'Dim': r['dim'],\n",
|
|
" 'Load (s)': r['load_time_s'],\n",
|
|
" 'Encode corpus (s)': r['corpus_encode_s'],\n",
|
|
" 'Encode queries (s)': r['query_encode_s'],\n",
|
|
" 'Precision@5': round(ev['mean_precision'], 3),\n",
|
|
" 'Recall@5': round(ev['mean_recall'], 3),\n",
|
|
" 'MRR': round(ev['mrr'], 3),\n",
|
|
" })\n",
|
|
"\n",
|
|
"df_summary = pd.DataFrame(rows).set_index('Modelo')\n",
|
|
"df_summary.style.background_gradient(subset=['Precision@5', 'Recall@5', 'MRR'], cmap='Greens') .background_gradient(subset=['Tamaño (MB)', 'Load (s)'], cmap='Reds_r')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dc5f97a8",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 6. Visualización comparativa"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "6bf6dd3c",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAAJOCAYAAAB/dnBOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+09JREFUeJzs3Xl8Ddf/x/F3VpEEEfteWyJExFJqb4PaQpBaWmtbe2mVtrYuVKkqLYLSWlL7GrFTW0ttLaXSFqmt9tiJJCS5ub8//HK/riTcJJdEvJ6Ph8fjzsyZM2fOTMyZ85k5Y2M0Go0CAAAAAAAAAAAA8EyzzegCAAAAAAAAAAAAAEg/An8AAAAAAAAAAABAFkDgDwAAAAAAAAAAAMgCCPwBAAAAAAAAAAAAWQCBPwAAAAAAAAAAACALIPAHAAAAAAAAAAAAZAEE/gAAAAAAAAAAAIAsgMAfAAAAAAAAAAAAkAUQ+AMAAAAAAAAAAACyAAJ/yBCdO3dW586dTdPnzp2Tp6enQkJCHrvukCFD5OfnZ9XyeHp6KigoKE3r7tu3T56entq3b59Vy5QZPIm6TquHz5lHiYqKUs2aNbV69eonXCrr+v333/XSSy8pMDBQJ06c0Keffqrg4OA05ZXcefn+++/rvffes1JpAQDPqtRcU5+E0NBQNWnSRBUqVFC1atVM82fOnKkGDRrIy8tLAQEBGVa+pyU2Nlavv/66atSooSVLlujgwYNq2bJlRhcrwyV3XxAUFCRPT0+L1k9Puz45ISEh8vT01Llz59K0fmZqT1ubtes6rVJzLwkAyBye5DWEPsZnX3L1kNFtqoSEBPn7++u7777LsDI8LDO0gcaPH6+2bdtm2PaRMvuMLgCeDWfOnNHMmTO1a9cuXb58WQ4ODvLw8FDTpk3Vvn17OTk5ZXQRs4xz586pQYMGpmkbGxvlzJlTPj4+euedd1S5cuVU5xkTE6OZM2eqevXqqlGjhjWLmynNnTtXLi4uat68eUYXJVXmzZsnPz8/JSQkqGXLlnJxcdGKFSusln+PHj0UGBioo0ePqly5clbLFwCQOpYGMObOnZvlrtsnTpzQ0KFDVbduXfXs2dPUhvz111/19ddfq2XLlurfv79y585tUX4Pt5seZevWrSpatGiay25tu3fv1o0bN/TWW29p4sSJunHjhoYMGZLRxUqTzZs3a8mSJQoLC1NUVJTc3NxUtWpVdejQQTVr1szo4mUpQUFBmjJlimna3t5eBQoUkJ+fn959913lzJkz1Xn+8ccf2rVrl7p27Zqm9QEAWVfv3r21Z88e7dq1S66ursmmGTRokDZt2qSdO3da3IYDnjVr167VxYsX1alTJ9O8w4cPKzQ0VPv27dP58+fl5uamSpUqacCAASpZsqTZ+kOGDNHKlSuT5FuyZElt3LjxiZf/Senatat+/PFHbd261eL7MjwdBP7wWD///LPee+89OTo6KiAgQB4eHoqLi9OBAwf09ddf6/jx4xo1alS6tlGkSBEdPnxY9vackon8/f1Vr149JSQk6PTp01q4cKG6dOmi5cuXW9xhmCgmJkZTpkxRv379UtWBOGrUKBmNxtQWPUPFxcVp7ty56tatm+zs7DK6OKkyfPhw5cqVS05OTho8eLCcnJyUPXt2q+Vfvnx5eXt7a/bs2Ro3bpzV8gUApM7D/wevWrVKu3btSjK/dOnST7NYT8Vvv/2mhIQEDR8+XCVKlDDN37t3r2xtbTV69Gg5OjpanJ+7u3uSepszZ44uXbqkoUOHJkmbmVSrVk0LFixQnjx59OabbyoyMlJ58uTJ6GKlitFo1LBhwxQSEqLy5cvrzTffVN68eXXlyhVt3rxZ3bp106JFi1SlSpV0badPnz7q2bOnlUqdNYwYMULOzs6KiYnRnj17NG/ePP39999atGhRqvM6ePCgpkyZotatW6cq8Hf48OFnrr0NAEidli1bavv27dqyZYtatWqVZHlMTIy2bdumOnXqZJqgH32MWVNG91HOmjVLzZs3V44cOUzzZs6cqT/++ENNmjSRp6enrly5ogULFqhNmzZasmSJPDw8zPJwdHTUF198YTbvwfyeRfny5VODBg00e/ZsAn+ZDP8D4pHOnj2r999/X4ULF9aPP/6o/Pnzm5Z17NhR//33n37++ed0b8fGxkbZsmVLdz5ZSfny5c2Guapatap69OihRYsWacSIEU9029HR0XJ2dpaDg8MT3c6T8PPPP+v69etq2rRpRhcl1QoUKGD6/aQazE2bNlVQUJCioqLk4uLyRLYBAHi0h4ex/PPPP7Vr167HDm8ZExNj1QdCMsK1a9ckJb3BvXbtmpycnFIV9JMkZ2fnJPW2fv163b59O9MPF+rq6mp6ct7R0fGZC/pJ0uzZsxUSEqKuXbtq6NChsrGxMS3r06ePQkNDrdLpZm9vT+fdQxo3bmwKZnfo0EHvv/++1q9fr8OHD8vHx+eJbTchIUFxcXHKli0b928A8Bzw8/OTi4uL1qxZk2zgb+vWrYqOjs5Uw5XTx5g1ZWQf5T///KOjR48mGZ2jW7duGj9+vNk9TLNmzdSiRQt9//33Gj9+vFl6e3v7TH+PkhZNmzbVe++9p7Nnz6pYsWIZXRz8P77xh0eaOXOmoqOjNXr0aLOgX6ISJUqoa9eupukVK1aoS5cuqlmzpry9vdWsWTMtXLjwsdtJaUziLVu2yN/fXxUrVpS/v782b96c7PqzZs1Shw4dVKNGDfn4+KhNmzbJviYdGxurMWPG6KWXXlLlypXVu3dvXbp06bHlS3Tp0iX17dtXvr6+qlmzpsaMGaPY2Nhk0/755596++23VbVqVVWqVEmdOnXSgQMHLN7WwxK/gXP27Fmz+bdv39bo0aNVv359eXt7q1GjRvr++++VkJAg6X7dJg6xNGXKFHl6epqNNz5kyBBVrlxZZ86cUY8ePVS5cmV98MEHpmUPj5+dkJCg4OBgNW/eXBUrVlStWrX06aef6tatW6Y0vXr1SvEpj/bt26tNmzam6bSeMynZsmWLihQpouLFiydZduLECb377ruqXr26KlasqDZt2mjr1q1maeLi4jRlyhS9+uqrqlixomrUqKHXX39du3btMqVJrLOzZ8/q7bfflq+vr+rUqaMpU6YkefrI0nPT09NTn3/+uemc9/b2VvPmzbVjx44kaf/55x91795dVapUUeXKldW1a1cdOnTIovqpVauWoqOjtXv3bovSAwAyRufOneXv76+//vpLHTt2VKVKlfTNN99Iun+t69mzp+rUqSNvb281bNhQU6dOlcFgSJLPkiVL1LBhQ/n4+Oi1117T/v37k91ebGysJk+erEaNGsnb21v169fXuHHjUmznJGfBggVq3ry5vL29VadOHY0cOVK3b982Lffz8zO1P2rWrGlqjyS2AaOjo03tlJCQEMXFxenEiRO6fPlyaqouWam9Hm/YsEHNmjWTj4+P2rdvr2PHjkmSFi9erEaNGqlixYrq3Llzku++7d+/X++++65efvllUz2OGTNGd+/eNUuX2JaIiIhQ3759VblyZb300kv66quvkhzH6OhojR071tTWa9y4sWbNmvXYJ54///xzVa5cWTExMUmWDRw4ULVr1zZtKywsTG+//bapfvz8/JK8Mfmwu3fv6vvvv1epUqU0ePBgs6BfolatWpmCUDdv3tRXX32lFi1aqHLlyqpSpYq6d++uo0ePPnI7UvLf+LO0XX/+/HmNGDFCjRs3lo+Pj2rUqKF333032W/2/fvvv+rSpYt8fHxUr149TZs2zdSmtoSl9y6WtKdTK/Fe4cyZM2bzH3dPEhQUZHprtkGDBqa/wcT6SfybWL16tam8O3fuNC17+BtGERERGjp0qGrVqmVqzy5fvty0/OrVqypfvrzZcKWJTp48KU9PT82fP19S+s4ZAIB1ODk56dVXX9XevXtND3A9aO3atXJxcTH1HT2uj+pRLO3ruH37tsaMGSM/Pz95e3urXr16+uijj3T9+nVJ9DEmV05L2vmp6ZeKiIjQsGHDTPcjfn5++uyzz8zyPHv2rKkPrlKlSmrXrl2yL49YWg8P91EmHudZs2aZ7nm8vb0VGBiow4cPJ1k/sX3/4PG39LuBW7ZskYODg9n3ySWpSpUqSR5cfOGFF1S2bFmdPHky2bwMBoPu3Lnz2G0+7Pbt2xoyZIiqVq2qatWqafDgwYqMjEw27Z49e/TGG2/I19dX1apVU58+fXTixIkk6R53HC3pI5Xu9zVKStLHiozFY5N4pO3bt6tYsWIWD8+zaNEilS1bVn5+frK3t9f27ds1cuRIGY1GdezYMVXb/vXXX9W/f3+VKVNGgwYN0o0bNzR06FAVLFgwSdq5c+fKz89PLVq0UFxcnNatW6f33ntPM2bM0Msvv2xKN3z4cK1evVr+/v6qUqWK9u7da/GwQXfv3lXXrl118eJFde7cWfnz59eqVau0d+/eJGn37NmjHj16yNvbW/369ZONjY3paeiFCxem6Snc8+fPS5LZ8DsxMTHq1KmTIiIi1KFDBxUqVEgHDx7UN998oytXrmj48OFyd3fXiBEjNGLECDVq1EiNGjWSZP59ofj4eFMDInGIyZR8+umnWrlypdq0aWPq8FqwYIH++ecfLVq0SA4ODmratKkGDx6c5Inj8+fP69ChQ/roo49M86x5zkj3hyqqUKFCkvn//vuvXn/9dRUoUEA9evSQs7OzNmzYoHfeeUdBQUGmepkyZYpmzJihtm3bysfHR3fu3NFff/2lv//+W7Vr1zblZzAY1L17d1WqVEkffvihdu7cqaCgIBkMBr333numdJaem5J04MAB/fTTT3rjjTfk4uKiefPm6d1339X27dtNbwD++++/6tixo1xcXNS9e3fZ29tryZIl6ty5s+bPn69KlSo9sn7KlCkjJycn/fHHH6Z9BgBkTjdv3lSPHj3UvHlztWzZ0vRG2MqVK+Xs7Kw333xTzs7O2rt3ryZPnqw7d+5o8ODBpvWXLVumTz/91NRxcvbsWfXp00e5cuVSoUKFTOkSEhLUp08fHThwQO3atVPp0qUVHh6uH3/8UadPn9a0adMeW9bE747VqlVLr7/+uk6dOqVFixYpLCzM1D4YNmyYQkNDtXnzZtMwhZ6enipevLiWLl2qw4cPm4a+qVKliiIiItSsWTO1bt1aY8eOTVddpuZ6vH//fm3btk1vvPGGJOn7779X79691b17dy1cuFBvvPGGbt26pZkzZ2rYsGGaO3euad2NGzfq7t27ev311+Xm5qbDhw9r/vz5unTpkiZPnmy2HYPBoLfffls+Pj766KOPtGfPHs2ePVvFihUzbdtoNKpPnz7at2+fXnvtNXl5eWnnzp0aN26c6UY9Jc2aNdOCBQv0888/m42EEBMTo+3bt6t169ays7PTtWvX9Pbbbyt37tzq2bOncubMqXPnzqXYGZbowIEDunnzprp06WLRcI9nz57Vli1b1KRJExUtWlRXr17VkiVL1KlTJ61bt85s5ANLWNquDwsL08GDB9W8eXMVLFhQ58+f16JFi9SlSxetW7fO9BbtlStX1KVLFxkMBvXs2VPZs2fX0qVLLX5jIDX3Lpa0p1MrMVD34L2CJfckjRo10unTp7V27VoNHTrU1OZ8cGjcvXv3asOGDerYsaNy586tIkWKJFuGq1evql27drKxsVHHjh3l7u6uHTt2aPjw4bpz5466deumvHnz6sUXX9SGDRvUr18/s/XXr18vOzs7NWnSRJL1zxkAQNq0aNFCK1eu1IYNG8y+b3bz5k39+uuvat68uZycnCzqo0qJpX0dUVFR6tixo06cOKHAwECVL19eN27c0LZt2xQREZHi0O7Pax9jatv5lvRLRURE6LXXXlNkZKTatWunUqVKKSIiQps2bdLdu3fl6Oioq1evqkOHDoqJiVHnzp2VO3durVy5Un369DEFIVNbDylZu3atoqKi1L59e9nY2GjmzJnq37+/KVgn3R8d7P33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8OHDOnjwoGlZdHS0li5dqiJFipjuIyyth/QoUKCAPDw8FBoaalaHv/32W7JtluT4+vrq33//TdI2NhgMGjBggA4dOqRJkyal2Nd27969JMP+S9K0adNkNBpTHJ0sUb169RQfH69FixaZbXv+/Plm6RLP9dDQULM2ZXh4uHbt2mW6L7P0OFraRxoZGakzZ87Q15jJ8MYfHql48eIaP3683n//fTVr1kwBAQHy8PBQbGysDh48qI0bN6pNmzaS7n8U18HBQb1791aHDh0UFRWlZcuWKU+ePLpy5Uqqtz1w4ED16tVLb7zxhgIDA3Xz5k3Nnz9fZcuWNbsw1a9fX3PmzFH37t3l7++va9euaeHChSpevLiOHTtmSufl5SV/f38tXLhQkZGRqly5svbu3Wvx0x3t2rXTggULNHjwYP3999/Kly+fVq1aleRJXVtbW33xxRfq0aOH/P391aZNGxUoUEARERHat2+fXF1dNX369FTXhyR16dJFP/74o77//nt9++23evvtt7Vt2zb17t1brVu3VoUKFRQTE6Pw8HBt2rRJW7dulbu7u5ycnFSmTBlt2LBBL7zwgtzc3FS2bFmLP2KbqHr16mrfvr1mzJihI0eOmI756dOntXHjRg0fPtxsKM/69evLxcVFX331lakz4EHWPmckqUGDBlq1apVOnTpl9jbeZ599pjfeeEMtWrRQu3btVKxYMV29elWHDh3SpUuXtHr1akn3hx2qXr26KlSoIDc3N4WFhWnTpk1JPpibLVs27dy5U4MHD5aPj4927typn3/+Wb179zY9qWPpuZkaAwYM0O7du/XGG2/ojTfekJ2dnZYsWaLY2Fh9+OGHj11/9+7dyp49e4a/fQEASJvKlSsrV65cGjJkiDp37iwbGxutWrUqSUeHg4ODBgwYoE8//VRdu3ZVs2bNdO7cOYWEhCT5xl9AQIA2bNigzz77TPv27VOVKlVkMBh08uRJbdy4UTNnzkz2o++J3N3d1atXL02ZMkXdu3eXn5+fTp06pYULF6pixYpq2bJlmvY1IiJCzZo1S/eQok/iepycUqVKqXjx4vrqq68UEREhV1dXbdq0KV0PXvn5+alGjRr69ttvdf78eXl6emrXrl3aunWrunbtmuy3Sh5WoUIFlShRQt9++61iY2PNhvmU7geDFy1apIYNG6p48eKKiorS0qVL5erq+tjAYvfu3XX8+HHNnj1b+/btU+PGjZU3b15dvXpVW7Zs0eHDh7V48WJJ0ssvv6ypU6dq6NChqly5ssLDw7VmzZok56MlUtOuf/nll7Vq1Sq5urqqTJkyOnTokHbv3p3kG3Hdu3fXqlWr1L17d3Xp0kXZs2fX0qVLVbhwYYvOE0vvXVLbnraUg4ODunTponHjxmnHjh2qV6+exfckFSpUkCR9++23atasmRwcHPTKK69YPBRookGDBmnfvn1q166d2rZtqzJlyujWrVv6+++/tWfPHrOhgqX7QekPP/xQCxcuVJ06dZQzZ06z5dY8ZwAA6VesWDFVrlzZFAR7OPBnaR9Vcizt63j77be1adMmvffeewoMDFSFChV069Ytbdu2TSNHjkzxjaPntY8xve38lOpy165d6ty5s9q1a6fSpUvrypUr2rhxoxYuXKicOXOqZ8+eWrdunXr06KHOnTsrV65cCg0N1blz5xQUFGR6YM7Sekiv999/X3379tXrr7+uNm3a6Pbt21qwYIE8PDws+l51gwYNNG3aNP3222+qU6eOaf7YsWO1bds2vfLKK7p586ZWrVpltl5AQICk+9//a926tZo3b256Q/TXX3/VL7/8orp166pBgwaP3L6fn5+qVKmiCRMm6Pz58ypTpox++umnZB/a+uijj9SjRw+1b99er732mu7evav58+crR44c6tevnymdJcfR0j7S3bt3y2g0PnY/8HQR+MNjNWjQQKtXr9asWbO0detWLVq0SI6OjvL09NSQIUPUrl07Sfc7OyZPnqyJEyfqq6++Ut68efX666/L3d1dw4YNS/V269Wrp0mTJmnixImaMGGCihcvri+//FJbt241u2msWbOmRo8erR9++EFjxoxR0aJF9cEHH+j8+fNJbtLHjBmj3Llza82aNdq6datq1Kih77//3qIn0bNnz67g4GCNGjVK8+fPl5OTk1q0aKF69eolGb+8Ro0aWrJkiaZNm6b58+crOjpa+fLlk4+Pj9q3b5/qukhUoEABtWjRQqtWrdKZM2dUvHhxzZs3TzNmzNDGjRsVGhoqV1dXvfDCC+rfv79y5MhhWveLL77QqFGj9OWXXyouLk79+vVLdeBPkj7//HN5e3tr8eLF+vbbb2VnZ6ciRYqoZcuWqlKlilnabNmyyc/PT2vWrFGtWrWUJ08es+XWPmek+8PT5s6dWxs2bFDfvn1N88uUKaMVK1ZoypQpWrlypW7evCl3d3eVL19e77zzjild586dtW3bNu3atUuxsbEqXLiwBgwYoLfffttsO3Z2dpo5c6ZGjBihr7/+2jTE0oN5pebctFTZsmW1YMECTZgwQTNmzJDRaJSPj4++/vrrZD+c/LCNGzeqUaNGj30zEACQOeXOnVvTp0/XV199pYkTJypnzpxq2bKlatasmeRa1b59exkMBs2aNUvjxo2Th4eHvvvuO02aNMksna2traZOnarg4GCtWrVKmzdvVvbs2VW0aFF17tw52Y/DP6x///5yd3fX/Pnz9eWXXypXrlxq166dBg4cKAcHB6vWQWo9ietxchwcHDR9+nR98cUXmjFjhrJly6ZGjRqpY8eOppv+1LK1tdV3332nyZMna/369QoJCVGRIkX00Ucf6a233rI4n6ZNm2r69OkqUaKEKciTqHr16goLC9P69et19epV5ciRQz4+Pho/fvxjAyy2trYaN26cGjRooKVLl2r27Nm6c+eOcufOrRdffFEffvih6cnf3r17KyYmRmvWrNH69etVvnx5zZgxQxMmTEh9xcjydv3w4cNla2urNWvW6N69e6pSpYqpQ+9B+fPn19y5c/XFF1/o+++/l5ubmzp06KD8+fNr+PDhjy2PpfcuUura06nRvn17fffdd/rhhx9Ur149i+9JfHx89N5772nx4sXauXOnEhIStHXr1lQH/vLmzatly5Zp6tSp2rx5sxYtWiQ3NzeVKVNGH3zwQZL0fn5+cnJyUlRUVJKAtGT9cwYAkH4tWrTQwYMH5ePjoxIlSpgty549u8V9VA+ztK/DxcVFCxYsUFBQkDZv3qyVK1cqT548qlmz5iO/q/a89jFao53/sAIFCmjp0qWaNGmS1qxZozt37qhAgQKqV6+eKWCXN29eLV68WF9//bXmz5+ve/fuydPTU9OnT9fLL7+cpnpIDz8/P33zzTcKCgrShAkT9MILL+jLL79UaGioRcNdent7y9PTUxs2bDAL/B09elSStH37dm3fvj3Jeon3ADlz5tTLL7+s3bt3KzQ0VAaDQSVKlNDAgQP11ltvmQKhKUm8JxgzZoxWr14tGxsb+fn5aciQIWafGJDuj8Yyc+ZMTZ48WZMnT5a9vb2pXf5g296S42hpH+nGjRtVtWpVix5KxNNjY8zMX+cEgDSYOnWqQkJC9NNPPz32ezNpMWTIEG3atMlsyIJnwZEjR9S6dWutXLkyxY9CAwAAAAAAAFldQECA3N3dNWfOnMemDQ0N1eeff66ff/45ySgFz7MrV66oQYMG+uabb5IM246MxTf+AGQ53bp1U3R0tNatW5fRRclUvv/+ezVu3JigHwAAAAAAAJ4LcXFxSb4xuW/fPh09elTVq1e3KI+WLVuqcOHCSb69/bz78ccf5eHhQdAvE+KNPwBIpWf1jT8AAAAAAADgeXLu3Dm9+eabatmypfLnz6+TJ09q8eLFypEjh9asWaPcuXNndBEBq+MbfwAAAAAAAAAAIMvJlSuXKlSooGXLlun69etydnZW/fr19cEHHxD0Q5bFG38AAAAAAAAAAABAFsA3/gAAAAAAAAAAAIAsgMAfAAAAAAAAAAAAkAVkum/8xcfH69atW8qWLZtsbYlLAgCyroSEBN27d0+5cuWSvX2muyQDmQptRADA84I2ImAZ2ocAgOdJatqIma4FeevWLZ0+fTqjiwEAwFPzwgsvKE+ePBldDCBTo40IAHje0EYEHo32IQDgeWRJGzHTBf6yZcsm6X7hs2fPnsGlebYZDAaFh4fLw8NDdnZ2GV0cZHKcL7AU54r1xMTE6PTp06ZrH4CUPdhGdHR05P+hDMa1IHPgOGQ8jkHmkNWOA21EwDKJfyPFixeXi4tLBpfm2ZTV/v982qi/9KH+0o86TJ9nrf5S00bMdIG/xFfzs2fPLmdn5wwuzbPNYDBIkpydnZ+JExcZi/MFluJcsT6GpQEe78E2YmIjl/+HMg7XgsyB45DxOAaZQ1Y9DrQRgUdL/BtxcnKiDzGNsur/n08L9Zc+1F/6UYfp86zWnyVtRFqRAAAAAAAAAAAAQBZA4A8AAAAAAAAAAADIAgj8AQAAAAAAAAAAAFkAgT8AAAAAAAAAAAAgCyDwBwAAAAAAAAAAAGQBBP4AAAAAAAAAAACALMA+owsAAAAAAACQlfn5+cnBwUFOTk6KjY1V+fLlNWrUKDk7O2vXrl2aNm2aLl26pFy5ckmSXnrpJXl5eSVZN9G4cePk6emZ5vJER0era9euunfvniQpX758GjlypIoWLZqOvQQAAEBmwBt/6eDn56eaNWsqLi7ONG/v3r3y9PTU6NGjtXXrVo0ZM+ax+UREROiNN94wy/fIkSNJ0g0ZMkSenp76559/TPPu3LmjypUrKyAgIMX8y5cvr9u3byeZbzQaFRQUpMaNG6tFixbq3LnzY8sKAAAAAABSb+LEiVq1apXWrVunyMhIrVy5Ur/++qsGDx6sQYMGaevWrQoJCdGECRN048aNZNdN/JeeoJ8kOTk5ac6cOVq9erVWr16tunXravTo0enKEwAAAJnDM/3GX6+dC59IvjPqvvH4RP+vUKFC2rZtmxo3bixJWr58uby9vSVJDRo0UIMGDR6bR4ECBbRwoWX7UqFCBa1YsULly5eXJG3YsEGlSpVSfHy8xWVONHfuXB07dkxr1qyRo6Ojrly5kuo8AAAAAACA5eLi4hQTE6OcOXNq6tSpeuedd1SlShXT8gIFCui1115LU96enp4aMGCAtm3bpmvXrmnYsGE6ceKENm3apDt37mjUqFGqUaOGbG1t5erqKun+Q8F37tyRjY2NVfYPAAAAGYs3/tIpMDBQK1askCRFRkbqzz//VN26dSVJISEh6tu3ryRp37598vf314gRI9SyZUs1b95cYWFhkqRz586pWrVqFm3v1Vdf1fbt2xUbGytJWrFihQIDA9NU9lmzZmnQoEFydHSUdH9oDwAAAAAAYH0DBgxQQECAateuLVtbWzVt2lT//POPKlWqZPG6if/u3r2bYlpnZ2ctW7ZMo0eP1ocffqh8+fIpJCRE77//vsaNG2eWtlu3bqpdu7Y2btyozz77LN37CAAAgIxH4C+dqlSpovPnzysiIkJr165VkyZNZGdnl2zakydPqnXr1lq9erU6deqkiRMnpnp7Tk5Oql27trZs2aITJ05IkkqXLp3qfO7cuaNr165p69atatu2rdq2bav169enOh8AAAAAAPB4icN17t27V0WKFNH48eOTpBk0aJDat2+vPn366M6dO0nWTfz34Pf+HtasWTNJkre3t6Kjo9W8eXNJko+Pj/777z+ztMHBwfr111/VtGlTfffdd9bYTQAAAGQwAn9WEBAQoJUrVz727bvixYubnuSrXLmyzpw5k6btBQYGavny5Vq+fLnatGmTpjzi4+MVHx+vu3fvatmyZfr22281ZswYHT16NE35AQAAAADwPImJiVF4eLgOHjyo33//XQcPHlR4eLhiYmIeuZ69vb0aN26snTt3ysvLS4cPHzYtmzBhgpYsWaJbt27JaDQ+Mp/Q0FDTG4CJIxFJ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CwtTUFCQatWqpXfffVdms9m6XnLTmdasWVNr1qxJso0zZ86oa9eukqRatWrJZDJpxIgR1mOZ2ak+33rrLXXq1EnFixdPdnmfPn00ePBgVa9eXSVKlNDLL7+swMBAff/995naLgAATxoSfwAAAAAAAMgSYWFhMhqNWrVqlUaPHq3Fixdr1apVkqT4+HgNGjRI69at05w5c3T27Flroule06ZN09ChQxUeHi6TyaSoqCjVr19fixcvVlhYmAIDA9WnTx+dO3fOZr0FCxaoQoUKCgsLU+/evTVx4kT98ssvNnVmz56tZs2aad26dapXr57eeOMNXb9+PVPbP3DggCZOnKjXXntN3377rebPn6+aNWta25s7d67Wrl2rcePG6ZtvvlG3bt305ptvaufOnan2ZUxMjJYuXaqPPvpI8+fP144dOzRgwABt3bpV8+bN09SpU7V8+XJ99913aT4+9/L29tasWbMkSd9++622bdum0aNHZ6gte7l586bdRhsCAPCkePLmJgAAAAAAAMBD4e3trVGjRslgMKhMmTI6evSoFi9erA4dOqhdu3bWesWLF9fo0aPVrl073b59W3ny5LEue+2111S3bl3r8wIFCqhChQrW54MHD9bGjRu1efNmde7c2VpevXp19e7dW5JUunRp7d69W4sXL7Zpq23btmrRooUkaciQIVq6dKn279+vevXqZXj758+fV65cudSgQQO5ubmpaNGiqlSpkiQpNjZWc+fO1aJFi+Tn52fd9127dmnFihV65plnUuzLuLg4jR07ViVKlJAkNWnSROvWrdMvv/yiPHnyqFy5cqpdu7Z+/fVXPf/886kel+QYjUblz59fkuTp6al8+fKluw17Cg8P14EDBzR+/PhsjeNxcO8oz4ysl9H1n3T0X+bQf5lHH2bO49Z/6YmTxB8AAAAAAACyRNWqVWUwGKzPq1WrpkWLFslsNuvQoUOaPXu2Dh8+rH///dc6Bej58+dVrlw56zo+Pj42bd6+fVuzZ8/Wli1bdPnyZZnNZsXExCQZ8VetWrUkzz///HObMpPJZH2cO3duubm56erVqzZ10rt9f39/FSlSRI0bN1ZgYKACAwP17LPPKleuXPrnn38UHR2tV155xabNuLg4VaxYUZLUvHlza1s1atTQ/PnzJUm5cuWyJv0kqWDBgipatKhNkrRgwYJJ4re3Tz/9VHPnzrU+/+abb1SkSBG7buPXX3/VqFGj9O677+rpp5+2a9uOaO/evZla/8CBA/YJ5AlF/2UO/Zd59GHmOGL/kfgDAAAAAADAQ3Xnzh316NFDAQEB+uCDD+Tu7q7z58+rR48eiouLs6mbK1cum+fvvfeetm/fruHDh6tEiRLKmTOnXnvttSTrpUWOHDlsnhsMBiUkJGRq+25ubgoLC9POnTu1bds2zZw5U7Nnz9bq1asVFRUl6e50n4ULF7Zp18XFRZI0b948xcfHS5Jy5sxpXe7sbPs1nsFgSLbs3vgNBoM1oZoose2MevHFF9WsWTPr80KFCmWqvfvt3LlTffv21ciRI9WmTRu7tu2o7k9yp5XZbNaBAwfk4+Mjo9Fo36CeAPRf5tB/mUcfZs7j1n9RUVE6evRomuqS+AMAAAAAAECW2L9/v83zffv2qWTJkjp+/LiuX7+uN954Q97e3pKkP/74I01t7tmzR23bttWzzz4r6e4IvLNnzyapt2/fviTPy5Ytm5HdSPf2nZ2d5e/vL39/fw0YMEC1atXSr7/+Kn9/f7m4uOjcuXMpTutZtGjRTMeYyMPDQ5cuXbI+P3nypKKjo1Osn5gITW06sQIFCmTZffd27NihPn366I033tALL7yQJdtwRJn9wtpoND4WX3o/qui/zKH/Mo8+zJzHpf/SEyOJPwAAAAAAAGSJc+fOafLkyXrhhRf0559/6osvvtDw4cNVpEgR5ciRQ0uXLtVLL72ko0eP6uOPP05TmyVLltQPP/ygoKAgGQwGTZ8+PckoPUnavXu3PvvsMzVu3Fjbt2/Xt99+azNFZUY9aPs//vijTp8+rVq1ailfvnzaunWrEhISVLp0abm5uemVV17R5MmTZbFYVKNGDd28eVO7d++Wm5ub2rZtm+n47vWf//xHy5Ytk5+fn8xmsz744IMkoxzvVbRoURkMBm3ZskX169eXq6urzVSiD3Lx4kUdOnTIpqxIkSLKnz+//vnnH0VFReny5cuKiYmx1itbtqxcXFz066+/qk+fPuratauee+45Xb58WdLdZGRWJRoBAHBEJP4AAAAAAACQJdq0aaOYmBi1b99eRqNRXbt21QsvvCCDwaApU6boww8/1NKlS1W5cmUNHz5cffv2fWCbI0aM0KhRo/Tiiy/K3d1dvXr10u3bt5PU6969u/744w/NmTNHbm5uGjFihAIDAzO9Tw/aft68efXDDz9o9uzZunPnjkqWLKlp06ZZ71U3ePBgeXh4aO7cuTpz5ozy5s2rSpUqqU+fPpmO7X7Dhw/XqFGj1KlTJxUqVEijRo3SwYMHU6xfuHBhDRw4UNOmTbNOtTllypQ0b2/hwoVauHChTdnUqVPVunVrvfXWW9q5c6e1PHEaz02bNqlYsWJau3atoqOjNXfuXJsE7TPPPKOlS5emOQYAAJ50JP4AAAAAAACQJZydnTV69GiNGzcuybIWLVqoRYsWNmVHjhyxPq5du7bN80TFihXTkiVLbMo6deqUpJ6bm5tmzJiRYmzJtf37779nevs1a9ZMNVFlMBj08ssv6+WXX06xzv2Cg4MVHBxsUzZw4EANHDjQpuz+JF3hwoW1YMECm7J797FYsWJJ9rF///7q37+/TVlaEm+bN29OdfmD2pgyZUq6kowAACB5TtkdAAAAAAAAAAAAAIDMI/EHAAAAAAAAAAAAOACm+gQAAAAAAIDdZed92R407SQAAICjYsQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4AAylPhbtmyZgoKC5OPjo/bt22v//v1pWu+bb76RyWRSv379MrJZAAAAAAAAAAAAAClId+IvPDxckydPVv/+/RUWFqYKFSqoR48eioyMTHW9M2fO6L333lPNmjUzHCwAAAAAAAAAAACA5KU78bdo0SJ16NBBISEhKleunMaNG6ecOXMqNDQ0xXXMZrPeeOMNDRw4UMWLF89UwAAAAAAAAAAAAACSSlfiLzY2VgcPHpS/v///GnBykr+/v/bs2ZPienPmzJGnp6fat2+f8UgBAAAAAAAAAAAApMg5PZWvXbsms9ksT09Pm3JPT08dP3482XV+//13rV69WmvXrk1XYGazWWazOV3rwFZi/9GPwIPxf4K0sue5wnkHAAAAAAAAwJ7SlfhLr1u3bmnYsGGaMGGCPDw80rXu0aNHsyiqJ8+BAweyOwTgkbd3797sDgGPCc4VAAAAAAAAAI+qdCX+3N3dZTQaFRkZaVMeGRmpggULJql/+vRpnT17Vn379rWWJSQkSJIqVaqkb7/9ViVKlEh2W+XLl1fu3LnTEx7uYzabdeDAAfn4+MhoNGZ3OI+P7UeyOwJkg2rVqqV/Jc6VJ1KGzpUUREVF8UMXAAAAAAAAAHaTrsSfi4uLKleurIiICDVu3FjS3UReRESEOnfunKR+mTJl9PXXX9uUTZ8+Xbdv39bo0aP11FNPpbgto9FIsspO6EvgwfgfQVrZ81zhvAMAAAAAAABgT+me6rN79+4aPny4qlSpIl9fX33++eeKjo5WcHCwJGnYsGEqXLiwhg4dKldXV5UvX95m/Xz58klSknIAAAAAAAAAAAAAGZfuxN/zzz+vq1evaubMmbp8+bIqVqyo+fPnW6f6PH/+vJycnOweKAAAAAAAAAAAAICUpTvxJ0mdO3dOdmpPSVq6dGmq606ZMiUjmwQAAAAAAAAAAACQCobmAQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA7AObsDAAAAAAAAAICMcO/sq7x582Z3GAAAPDIY8QcAAAAAAAAAAAA4ABJ/AAAAAAAAAAAAgAMg8QcAAAAAAAAAAAA4ABJ/AAAAAAAAAAAAgAMg8QcAAIAHWrZsmYKCguTj46P27dtr//79qdZfvHixmjRpIl9fX9WvX1+TJk3SnTt3rMtnzZolk8lk89e0adOs3g0AAAAAAACH5pzdAQAAAODRFh4ersmTJ2vcuHGqWrWqPv/8c/Xo0UPffvutPD09k9T/+uuvNW3aNE2aNEl+fn46efKkRowYIYPBoJEjR1rrPf3001q0aJH1udFofCj7AwAAAAAA4KgY8QcAAIBULVq0SB06dFBISIjKlSuncePGKWfOnAoNDU22/p49e1S9enW1bNlSxYoVU0BAgFq0aJFklKDRaJSXl5f1z8PD42HsDgAAAAAAgMMi8QcAAIAUxcbG6uDBg/L397eWOTk5yd/fX3v27El2HT8/Px08eNCa6Dt9+rS2bt2q+vXr29T7559/FBAQoEaNGmno0KE6d+5c1u0IAAAAAADAE4CpPgEAAJCia9euyWw2J5nS09PTU8ePH092nZYtW+ratWvq2LGjLBaL4uPj9eKLL6pPnz7WOr6+vpo8ebJKly6ty5cva86cOerUqZO+/vprubm5pRiP2WyW2Wy2Pkb24Bg8GjgO2Y9j8GhwtOPgKPsBAACA7EHiDwAAAHa1Y8cOzZ07V2PGjJGvr69OnTqliRMnas6cOerfv78k2Yz+q1ChgqpWraqGDRtqw4YNat++fYptHz161Pr4wIEDWbcTSBOOwaOB45D9OAaPBo4DAAAAQOIPAAAAqXB3d5fRaFRkZKRNeWRkpAoWLJjsOjNmzFCrVq2sCTyTyaSoqCi988476tu3r5ycks42ny9fPpUqVUqnTp1KNZ7y5cvL1dVVBw4ckI+Pj4xGYwb3DJlhNps5Bo8AjkP24xg8GhztOERFRdn80AUAAABIDxJ/AAAASJGLi4sqV66siIgINW7cWJKUkJCgiIgIde7cOdl1YmJikiT3Er+ItVgsya5z+/ZtnT59Wl5eXqnGYzQarW3d+xjZg2PwaOA4ZD+OwaPBUY6DI+wDAAAAsg+JPwAAAKSqe/fuGj58uKpUqSJfX199/vnnio6OVnBwsCRp2LBhKly4sIYOHSpJatiwoRYtWqRKlSpZp/qcMWOGGjZsaP0y87333lPDhg1VpEgRXbp0SbNmzZKTk5NatGiRbfsJAAAAAADwuCPxBwAAgFQ9//zzunr1qmbOnKnLly+rYsWKmj9/vnWqz/Pnz9uM8Ovbt68MBoOmT5+uixcvysPDQw0bNtTrr79urXPhwgUNGTJE169fl4eHh2rUqKGVK1fKw8Pjoe8fAAAAAACAoyDxBwAAgAfq3LlzilN7Ll261Oa5s7OzBgwYoAEDBqTY3kcffWTX+AAAAAAAAEDiDwAAAAAAAMDj6r/vynzrykPbnHHIgoe2LQAAMsLpwVUAAAAAAAAAAAAAPOpI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOgMQfAAAAAAAAAAAA4ABI/AEAAAAAAAAAAAAOwDm7A8D/XHh/m/0bDcpl/zYBAAAAAAAAAADwyGHEHwAAAAAAAAAAAOAASPwBAAAAAAAAAAAADoDEHwAAAAAAAAAAAOAASPwBAAAAAAAAAAAADoDEHwAAAAAAAAAAAOAASPwBAAAAAAAAAAAADoDEHwAAAAAAAAAAAOAASPwBAAAAAAAAAAAADoDEHwAAAAAAAAAAAOAAnLM7AGSto25TdPRv+7b5kmmVfRuUtH79eru32aJFC7u3CQAAAAAAAAAA8KhixB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAADwiOrSpYsmTpyY5vpnzpyRyWTSoUOHsjAqAADwqCLxBwAAAAAAADxEI0aMkMlk0jvvvJNk2bhx42QymTRixAhJ0qxZszRo0KA0t+3t7a1t27bp6aeflvTgROCaNWtkMpnUrFmzJMs2bNggk8mkoKCgVLc5a9YstW7dOsXl33//vV555RXVrl072ViuX7+uCRMmqEmTJvL19VWDBg307rvv6ubNmw/aXQAAcB8SfwAAAAAAAMBD5u3trfDwcMXExFjL7ty5o/Xr16tIkSLWsgIFCsjNzS3N7RqNRnl5ecnZ2TnN6+TOnVtXr17Vnj17bMpXr15tE0tGRUVFqXr16nrjjTeSXX7p0iVdunRJw4cP1/r16zV58mT9/PPPGj16dKa3DQDAk4bEHwAAAAAAAPCQVapUSd7e3vr++++tZd9//728vb1VsWJFa9n9U30GBQXp008/1ciRI+Xn56cGDRpoxYoV1uUZmerTaDSqRYsWCg0NtZZduHBBO3fuVIsWLTK6i1Zt2rTRgAEDVKdOnWSXly9fXrNmzVJQUJBKlCihOnXqaPDgwdq8ebPi4+MzvX0AAJ4kJP4AAAAAAACAbBASEqI1a9ZYn4eGhio4OPiB6y1atEhVqlTR2rVr1bFjR40dO1bHjx/PdCwbNmxQdHS0pLtTgAYGBsrT0zNT7WbUrVu35Obmlq6RiwAAQOKdEwAAAAAAAMgGrVq10rRp03T27FlJ0u7du/Xhhx9q586dqa5Xr149derUSZLUq1cvLV68WDt27FCZMmUyHEulSpVUvHhxfffdd2rdurXCwsI0YsQInT59OsNtZtTVq1f18ccf64UXXnjo234Qs9mc3SHYTeK+ONI+PUz0X+bQf5lHH2bO49Z/6YmTxB8AAAAAAACQDTw8PNSgQQOFhYXJYrGoQYMG8vDweOB6JpPJ+thgMKhgwYKKjIzMdDwhISEKDQ2Vt7e3oqOjVb9+fX3xxRfW5efOnVPz5s2tz1999VX16dMn09u9161bt/Tqq6+qbNmyGjBggF3btoe9e/dmdwh2d+DAgewO4bFG/2UO/Zd59GHmOGL/kfgDAAAAAAAAsklISIjGjx8vSRozZkya1rl/+kuDwSCLxZLpWFq2bKn3339fs2fPVqtWrZJsp1ChQlq7dq31ef78+TO9zXvdunVLPXv2VJ48eTRnzhzlyJHDru3bQ7Vq1bI7BLsxm806cOCAfHx8ZDQaszucxw79lzn0X+bRh5nzuPVfVFSUjh49mqa6JP4AAAAAAACAbBIYGKi4uDgZDAYFBARkaywFChRQUFCQNmzYoLFjxyZZ7uzsrJIlS2bJtm/duqUePXrIxcVFn3zyiVxdXbNkO5n1OHw5nF5Go9Eh9+thof8yh/7LPPowcx6X/ktPjCT+AAAAAAAAgGxiNBq1YcMG6+OscuLEiSRl5cqVS1I2ZcoUjRkzRu7u7ulqPyYmRocOHbIpy5Mnj0qUKKHr16/r/PnzunTpkk0sBQsWlJeXl27duqVXXnlF0dHRev/993Xr1i3dunVL0t3pUB+HL2QBAHhUkPgDAAAAAAAAspGbm1uWb+P1119PUrZ169YkZTlz5lTOnDnT3f7JkyfVpk0bm7I6depo8eLF2rx5s0aOHJkklgEDBmjgwIE6ePCg9u3bJ0l69tlnbdrYtGmTihUrlu54AAB4UpH4AwAAAAAAAB6iKVOmpLr8448/tj5eunSpzbLNmzcnqf/VV19ZHxcrVkxHjhxJ8fn9goODFRwcnOLybt26qVu3bqnGO3DgQA0cODDD26hdu3aqMQIAgLRzyu4AAAAAAAAAAAAAAGQeiT8AAAAAAAAAAADAAZD4AwAAAAAAAAAAABwAiT8AAAAgA4KCglSnTh3FxcVZy3799VeZTCZNnDhRmzZt0qRJkx7YzsWLF9WxY0ebdg8dOpSk3ogRI2QymfTnn39ay27duiU/Pz+1bt06xfZNJpNu3LiRpPzTTz9VkyZNVKFCBW3cuNFm2ciRI9WkSRO1atVKL774ovbv3//A/QAAAAAAANmPxB8AAACQQd7e3tq8ebP1+erVq1WlShVJUqNGjTRq1KgHtlG4cGF9+eWXadpe5cqVFRoaan2+YcMGlSlTJp1R3+Xv76/58+erVq1aSZY1btxY33zzjdatW6dXX31VgwcPztA2AAAAAADAw0XiDwAAAMigkJAQayLu5s2b2rdvnwIDAyVJa9asUb9+/SRJO3bsUIsWLTR27Fi1atVKzZs314EDByRJZ86cUc2aNdO0veeee04//vijYmNjJUmhoaEKCQnJUOy+vr4qXrx4sssaNWokZ2dnSVLVqlV18eJFxcfHZ2g7AAAAAADg4SHxBwAAAGRQ9erVdfbsWV28eFHr169X06ZNZTQak617/PhxtW3bVuvWrVPnzp01ffr0dG8vZ86cqlu3rjZu3Khjx45JksqWLZuZXXigJUuWqF69etZEIAAAAAAAeHSR+AMAAAAyoXXr1goLC3vg6LsSJUqoatWqkiQ/Pz+dOnUqQ9sLCQnR6tWrtXr1agUHB2eojbT66quvtGHDBk2YMCFLtwMAAAAAAOyDxB8AAACQCa1bt9bSpUvl6uqqUqVKpVjP1dXV+tjJyUlmszlD26tWrZouXbqk8PBwPf/88zbL5s2bp9atW6t169b6+eefM9R+ovDwcM2ZM0eLFi1SwYIFM9UWAAAAAAB4OJivBwAAAPh/lhuRshz8Rbp+UZbYGBlcckoFCstQua4M+TyTXadw4cIaMmSIypQp89DiHD16tK5duyY3Nzeb8t69e6t3796Zbj88PFzTp0/XokWLVKRIkUy3BwAAAAAAHg4SfwAAAHjiWU4fUcKu76Tj+yWD4f8LE2Qx3J0gwxKxTirjK6eaTWQoZkqyfmpTfGZEjx49bO6pt3LlSpvlderUSVd7zZs3lyFxvyT99NNP+vjjj7V8+XJdvXpVR48e1fjx47V27Vp5eHjozTffVMGCBdWvXz/rOosXL5a7u3sG9wgAAAAAADwMJP4AAADwxLJYLLLs+k6Wn1ZJBidJFsliuadCwv8enzighOP7ZKjXQYYaz2nz5s3Jtjlw4EDr48R78NWuXVtfffWVtbx8+fLW9YsVK6bff//duiyldqdMmZJs+f1t3+/IkSPJlvfr188msXevgwcPptgeAAAAAAB4dD0Rib9Xf/7S7m3ODexo9zYfF+d+mZMFrZbMgjYBAABSZ9n1/d2kn2Sb5Eu28t3llp/ujr4z1GySlaEBAAAAAACkm1N2BwAAAABkB8vpI9YkXrrX/WmlLGeSH0kHAAAAAACQXUj8AQAA4ImUsOu7/5/eMwMMTkrY9b19AwIAAAAAAMgkEn8AAAB44lhuRErH9z94es8UG0iQju2T5eZV+wYGAAAAAACQCST+AAAA8MSxHPxFMhgy14jBIMsf2+wTEAAAAAAAgB2Q+AMAAMCT5/pFO7VzyT7tAAAAAAAA2AGJPwAAADxxLLExGZ/m09pIgiyx0fYJCAAAAAAAwA5I/AEAAOCJY3DJKRkyeSlscJLBJZd9AgIAAAAAALADEn8AAAB48hQobKd2CtmnHQAAAAAAADsg8QcAAIAnjqFyXcliyVwjFosMVQLsExAAAAAAAIAdOGd3AI8r84c9sqDV7lnQJgAAAO5nyOcplfGVThzI2L3+DE5SGV8Z8nrYPzgAAAAAAIAMYsQfAAAAnkhONZtkLOknSZYEOdV4zr4BAQAAAAAAZBKJPwAAADyRDMVMMtTrkLF163WQoZjJzhEBAAAAAABkDok/AAAAPLEMNZ77X/LP8IBL4/9fbqjXQQZG+wEAAAAAgEcQ9/gDAADAE8tgMMhQs4ksT5VSwq7vpWP7JIPh7kJLwv+SgRaLVMZXTjWeY6QfAADAo+Slt2TMmze7owAA4JGRocTfsmXLtGDBAl2+fFkVKlTQ22+/LV9f32Trrly5UmvXrtVff/0lSapcubKGDBmSYn0AAADgYTMUM8lYzCTLzauy/LFNun5JlthoGVxySQUKyVAlQIa8HtkdJgAAAAAAQKrSnfgLDw/X5MmTNW7cOFWtWlWff/65evTooW+//Vaenp5J6u/YsUPNmzdX9erV5eLiovnz5+uVV17RN998o8KFC9tlJwAAAAB7MOT1kKFOq+wOAwAAAAAAIEPSfY+/RYsWqUOHDgoJCVG5cuU0btw45cyZU6GhocnWnzZtmjp16qSKFSuqbNmyevfdd5WQkKCIiIhMBw8AAAAAAAAAAADgrnQl/mJjY3Xw4EH5+/v/rwEnJ/n7+2vPnj1paiM6Olrx8fHKnz9/+iIFAAAAAAAAAAAAkKJ0TfV57do1mc3mJFN6enp66vjx42lq44MPPlChQoVskofJMZvNMpvN6QkPsMH5g/TgfEFa2fNc4bwDAAAAAAAAYE/pvsdfZsybN0/h4eFasmSJXF1dU6179OjRhxQVHNXevXuzOwQ8RjhfkFacKwAAAAAAAAAeVelK/Lm7u8toNCoyMtKmPDIyUgULFkx13QULFmjevHlatGiRKlSo8MBtlS9fXrlz505PeCnbfsQ+7eCxUq1atYytyPnyRMrQ+cK58kTK8GtLMqKiovihCwAAAAAAAAC7SVfiz8XFRZUrV1ZERIQaN24sSUpISFBERIQ6d+6c4nqfffaZPv30Uy1YsEA+Pj5p2pbRaJTRaExPeIANzh+kB+cL0sqe5wrnHQAAAAAAAAB7SvdUn927d9fw4cNVpUoV+fr66vPPP1d0dLSCg4MlScOGDVPhwoU1dOhQSXen95w5c6amTZumokWL6vLly5Kk3LlzK0+ePHbcFQAAAAAAAAAAAODJle7E3/PPP6+rV69q5syZunz5sipWrKj58+dbp/o8f/68nJycrPWXL1+uuLg4vfbaazbtDBgwQAMHDsxk+AAAAAAAAAAAAACkDCT+JKlz584pTu25dOlSm+ebN2/OyCYAAAAAAAAAAAAApIPTg6sAAAAAAAAAAAAAeNSR+AMAAAAAAAAAAAAcAIk/AAAAAAAAAAAAwAGQ+AMAAAAAAAAAAAAcgHN2BwAAAAAAAAAAGTF53/eKtNzJ7jAeb9uPZHcEjzf6L3Pov8yjDzMni/pvbmDHLGk3LRjxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAAAAAAAAACAAyDxBwAAAAAAAAAAADgAEn8AAAB4oGXLlikoKEg+Pj5q37699u/fn2r9xYsXq0mTJvL19VX9+vU1adIk3blzJ1NtAgAAAAAAIHUk/gAAAJCq8PBwTZ48Wf3791dYWJgqVKigHj16KDIyMtn6X3/9taZNm6YBAwYoPDxcEydOVHh4uD788MMMtwkAAAAAAIAHI/EHAACAVC1atEgdOnRQSEiIypUrp3HjxilnzpwKDQ1Ntv6ePXtUvXp1tWzZUsWKFVNAQIBatGhhM6IvvW0CAAAAAADgwZyzOwAAAAA8umJjY3Xw4EG9+uqr1jInJyf5+/trz549ya7j5+endevWaf/+/fL19dXp06e1detWtW7dOsNtJjKbzTKbzdbHyB4cg0cDxyH7cQweDY52HBxlPwAAAJA9SPwBAAAgRdeuXZPZbJanp6dNuaenp44fP57sOi1bttS1a9fUsWNHWSwWxcfH68UXX1SfPn0y3Gaio0ePWh8fOHAgI7sEO+IYPBo4DtmPY/Bo4DgAAAAAJP4AAABgZzt27NDcuXM1ZswY+fr66tSpU5o4caLmzJmj/v37Z6rt8uXLy9XVVQcOHJCPj4+MRqOdokZ6mM1mjsEjgOOQ/TgGjwZHOw5RUVE2P3QBAAAA0oPEHwAAAFLk7u4uo9GoyMhIm/LIyEgVLFgw2XVmzJihVq1aqX379pIkk8mkqKgovfPOO+rbt2+G2kxkNBqtX+re+xjZg2PwaOA4ZD+OwaPBUY6DI+wDAAAAso9TdgcAAACAR5eLi4sqV66siIgIa1lCQoIiIiLk5+eX7DoxMTFycrK9zEz8EtNisWSoTQAAAAAAADwYI/4AAACQqu7du2v48OGqUqWKfH199fnnnys6OlrBwcGSpGHDhqlw4cIaOnSoJKlhw4ZatGiRKlWqZJ3qc8aMGWrYsKE1AfigNgEAAAAAAJB+JP4AAACQqueff15Xr17VzJkzdfnyZVWsWFHz58+3Tst5/vx5mxF+ffv2lcFg0PTp03Xx4kV5eHioYcOGev3119PcJgAAAAAAANKPxB8AAAAeqHPnzurcuXOyy5YuXWrz3NnZWQMGDNCAAQMy3CYAAAAAAADSj3v8AQAAAAAAAAAAAA6AxB8AAAAAAADwGOvSpYsmTpyY5vpnzpyRyWTSoUOHsjAqAACQHUj8AQAAAAAAAI+YESNGyGQy6Z133kmybNy4cTKZTBoxYoQkadasWRo0aFCa2/b29ta2bdv09NNPS3pwInDNmjUymUxq1qxZkmUbNmyQyWRSUFBQqtucNWuWWrdunWqdY8eOqU+fPqpRo4aqVaumkJAQnTt3Lo17BQAAJBJ/AAAAAAAAwCPJ29tb4eHhiomJsZbduXNH69evV5EiRaxlBQoUkJubW5rbNRqN8vLykrOzc5rXyZ07t65evao9e/bYlK9evdomlow6deqUOnbsqDJlymjp0qVat26d+vXrJ1dX10y3DQDAk4TEHwAAAAAAAPAIqlSpkry9vfX9999by77//nt5e3urYsWK1rL7p/oMCgrSp59+qpEjR8rPz08NGjTQihUrrMszMtWn0WhUixYtFBoaai27cOGCdu7cqRYtWmR0F60++ugj1atXT8OGDVOlSpVUokQJNWrUSJ6enpluGwCAJwmJPwAAAAAAAOARFRISojVr1lifh4aGKjg4+IHrLVq0SFWqVNHatWvVsWNHjR07VsePH890LBs2bFB0dLSku1OABgYGZjo5l5CQoC1btqhUqVLq0aOH6tSpo/bt22vjxo2ZahcAgCcRiT8AAAAAAADgEdWqVSvt2rVLZ8+e1dmzZ7V79261atXqgevVq1dPnTp1UsmSJdWrVy+5u7trx44dmYqlUqVKKl68uL777jtZLBaFhYUpJCQkU21KUmRkpKKiovTZZ58pMDBQCxcu1LPPPqsBAwZo586dmW4fAICHzWw22/0vrdI+kTcAAAAAAACAh8rDw0MNGjRQWFiYLBaLGjRoIA8PjweuZzKZrI8NBoMKFiyoyMjITMcTEhKi0NBQeXt7Kzo6WvXr19cXX3xhXX7u3Dk1b97c+vzVV19Vnz59Um0zISFBktSoUSN169ZNklSxYkXt3r1by5cv1zPPPJPpuAEAeJj27t2bbdsm8QcAAAAAAAA8wkJCQjR+/HhJ0pgxY9K0jrOz7dd+BoNBFosl07G0bNlS77//vmbPnq1WrVol2U6hQoW0du1a6/P8+fM/sE13d3c5OzurbNmyNuVly5bVrl27Mh0zAAAPW7Vq1ezaXlRUlI4ePZqmuiT+AAAAAAAAgEdYYGCg4uLiZDAYFBAQkK2xFChQQEFBQdqwYYPGjh2bZLmzs7NKliyZrjZdXFzk4+OjEydO2JSfPHlSRYsWzUy4AABkC6PRmG3tkfgDAAAAAAAAHmFGo1EbNmywPs4q9yfeJKlcuXJJyqZMmaIxY8bI3d09Xe3HxMTo0KFDNmV58uRRiRIl1KNHD73++uuqVauWateurZ9//lk//vijlixZkr6dAADgCUfiDwAAAAAAAHjEubm5Zfk2Xn/99SRlW7duTVKWM2dO5cyZM93tnzx5Um3atLEpq1OnjhYvXqxnn31WY8eO1bx58/Tuu++qdOnSmjlzpmrWrJnu7QAA8CQj8QcAAAAAAAA8YqZMmZLq8o8//tj6eOnSpTbLNm/enKT+V199ZX1crFgxHTlyJMXn9wsODlZwcHCKy7t166Zu3bqlGu/AgQM1cODAVOu0a9dO7dq1S7UOAABInVN2BwAAAAAAAAAAAAAg80j8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAAAAAAAAAADgAEj8AQAAAAAAAAAAAA6AxB8AAACQjKCgINWpU0dxcXHWsl9//VUmk0kTJ07Upk2bNGnSpAe2c/HiRXXs2NGm3UOHDiWpN2LECJlMJv3555/Wslu3bsnPz0+tW7dOsX2TyaQbN24kKbdYLJo1a5aaNGmili1bqkuXLg+MFQAAAAAAPN6cszsAAAAA4FHl7e2tzZs3q0mTJpKk1atXq0qVKpKkRo0aqVGjRg9so3Dhwvryyy/TtL3KlSsrNDRUlSpVkiRt2LBBZcqUUXx8fLpjX7JkiY4cOaKvv/5aLi4uunz5crrbAAAAAAAAjxdG/AEAAAApCAkJUWhoqCTp5s2b2rdvnwIDAyVJa9asUb9+/SRJO3bsUIsWLTR27Fi1atVKzZs314EDByRJZ86cUc2aNdO0veeee04//vijYmNjJUmhoaEKCQnJUOwLFizQ0KFD5eLiIkny8vLKUDsAAAAAAODxQeIPAAAASEH16tV19uxZXbx4UevXr1fTpk1lNBqTrXv8+HG1bdtW69atU+fOnTV9+vR0by9nzpyqW7euNm7cqGPHjkmSypYtm+52bt26pcjISG3atEnt27dX+/btFR4enu52AAAAAADA44XEHwAAAJCK1q1bKyws7IGj70qUKKGqVatKkvz8/HTq1KkMbS8kJESrV6/W6tWrFRwcnKE24uPjFR8fr5iYGK1atUofffSRJk2apMOHD2eoPQAAAAAA8Hgg8QcAAACkonXr1lq6dKlcXV1VqlSpFOu5urpaHzs5OclsNmdoe9WqVdOlS5cUHh6u559/3mbZvHnz1Lp1a7Vu3Vo///xzim0UKFBAuXPnVuvWrSVJxYoVU/Xq1a3TjwIAAAAAAMfknN0BAAAAAA/L1Zjb2n7xuC7F3FSMOV45jc4qlDOv/AuXkUfOPMmuU7hwYQ0ZMkRlypR5aHGOHj1a165dk5ubm01579691bt37zS10aJFC/3000/q1KmTrl+/rgMHDqhnz55ZES4AAAAAAHhEkPgDAACAwzt6/aJ+OHtYB66elUEGSVKCLHL6/8frTx2Qj0dRPVusosrnL5Rk/dSm+MyIHj16yNn5f5fiK1eutFlep06ddLXXvHlzGQwG6/OffvpJQ4YM0ciRI/Xf//5XktSzZ0/5+vpmImoAAAAAAPCoI/EHAAAAh2WxWPTD2cMKPbFHTjLIIskii3V5wj2P/7h6TvuvnlW70n5qXLSCNm/enGybAwcOtD5OvAdf7dq19dVXX1nLy5cvb12/WLFi+v33363LUmp3ypQpyZbf3/b9jhw5kmy5u7u7Pv300xTXAwAAAAAAjod7/AEAAMBhbfz/pJ9km+RLTuLy1Sf2aOPZw1keGwAAAAAAgL2R+AMAAIBDOnr9olb/f9IvvVaf2KOj/16yc0QAAAAAAABZi8QfAAAAHNIPZw9b7+GXXk4yaOOZQ3aOCAAAAAAAIGuR+AMAAIDDuRpzWweunn3g9J4pSZBF+6+e1dU7t+0cGQAAAAAAQNYh8QcAAACHs/3icRkyONovkUEGbb9w3E4RAQAAAAAAZD0SfwAAAHA4l2Ju2qWdy3ZqBwAAAAAA4GFwzu4AAAAAAHuLMcdneJrPRAmyKNocb6eIAAAAkBVGVn1OefPmze4wHktms1l79+5VtWrVZDQaszucxw79lzn0X+bRh5njyP3HiD8AAAA4nJxGZzllcqpPJxmUy8jv5AAAAAAAwOODxB8AAAAcTqGc9vnVt5ed2gEAAAAAAHgYSPwBAADA4fgXLiNLJqf6tMgi/6fK2CkiAAAAAACArEfiDwAAAA7HI2ce+XgUzfB0n04yyNejqDxc89g5MgAAAAAAgKxD4g8AAAAO6dliFZWQwVF/CbKocbGKdo4IAAAAAAAga5H4AwAAgEMqn7+Q2pX2y9C67Ur7qXz+QnaOCAAAAAAAIGuR+AMAAIDDaly0gjX596BpPxOXtyvtp8ZFK2R5bAAAAAAAAPbmnN0BAAAAAFnFYDDo2WIVVTKvpzaeOaT9V8/K8P8JvgRZrMk+iyzy8SiixsUqMtIPAAAAAAA8tkj8AQAAwOGVz19I5fMX0tU7t7X9wnFdjrmpaHO8chmd5ZUzr/yfKiMP1zzZHSYAAAAAAECmkPgDAADAE8PDNY9alPTJ7jAAAAAAAACyBPf4AwAAAAAAAAAAABwAiT8AAAAAAAAAAADAAZD4AwAAAAAAAAAAABwAiT8AAAAAAAAAAADAAZD4AwAAAAAAAAAAABwAiT8AAAAAAAAAAADAAZD4AwAAAAAAAAAAABwAiT8AAAAAAAAAAADAAWQo8bds2TIFBQXJx8dH7du31/79+1Otv2HDBjVt2lQ+Pj5q2bKltm7dmqFgAQAAAAAAAAAAACQv3Ym/8PBwTZ48Wf3791dYWJgqVKigHj16KDIyMtn6u3fv1tChQ9WuXTutXbtWjRo1Uv/+/XX06NFMBw8AAAAAAAAAAADgrnQn/hYtWqQOHTooJCRE5cqV07hx45QzZ06FhoYmW3/JkiUKDAxUz549VbZsWQ0ePFiVKlXSF198kengAQAAAAAAAAAAANyVrsRfbGysDh48KH9///814OQkf39/7dmzJ9l19u7dqzp16tiUBQQEaO/evemPFgAAAAAAAAAAAECynNNT+dq1azKbzfL09LQp9/T01PHjx5Nd58qVKypYsGCS+leuXEm2fkJCgiTp9u3bMpvN6QkvRZ4GV7u0c68ot4IPrpROsWaD3dt0NRe2e5txhtx2b9PZOV2nYprcvHkzQ+txvtiXI58vnCv25cjnSkpiYmIk/e+9D0DKEv9PoqOjrdeIUVFRMhqN2RnWE4tj8GjgOGQ/jsGjwdGOQ3R0tCSuEYEHSfwfiYmJcYj//ezgaK+fDxv9lzn0X+bRh5nzuPVfeq4R7f+NaCbduXNHknTq1Cm7tRmSq5Td2kp0tIb928wKJaO7273NK/bPdcjLy/5tZvQ+kpwv9uXI5wvnin058rnyIHfu3JGbm5vd2wUcSeI14smTJ61l3DM6+3EMHg0ch+zHMXg0ONpx4BoRSF1WfIf4pHK018+Hjf7LHPov8+jDzHnc+i8t14jpSvy5u7vLaDQqMjLSpjwyMjLJqL5EBQsWTDK6L7X6+fPnV6lSpeTq6ionp3TfghAAgMdGQkKC7ty5o/z582d3KMAjj2tEAMCTgmtEIG24PgQAPEnSc42YrsSfi4uLKleurIiICDVu3Ni6sYiICHXu3DnZdapVq6Zff/1V3bp1s5Zt375d1apVSz4gZ+ckU4kCAOCo+BU3kDZcIwIAniRcIwIPxvUhAOBJk9ZrxHT/HKZ79+5auXKlwsLCdOzYMY0dO1bR0dEKDg6WJA0bNkzTpk2z1u/atat+/vlnLVy4UMeOHdOsWbP0xx9/pJgoBAAAAAAAAAAAAJB+6b7H3/PPP6+rV69q5syZunz5sipWrKj58+dbp+48f/68zfD66tWr64MPPtD06dP14YcfqlSpUpozZ47Kly9vv70AAAAAAAAAAAAAnnAZmgC7c+fO+vHHH/XHH39o1apVqlq1qnXZ0qVLNWXKFJv6zZo103fffac//vhD69evV/369TMX9RPMZDJp48aNdq8L3Ovec+fMmTMymUw6dOhQNkeFrDBixAiZTCa98847SZaNGzdOJpNJI0aMsKlrMplUuXJlBQUFaerUqdYbqidKrGMymVS9enWFhITwWgTArpYtW6agoCD5+Pioffv22r9/f3aH5BBmzZpl8xpuMpnUtGlT6/I7d+5o3Lhxql27tvz8/DRw4MAk9/I+d+6cevfurapVq6pOnTp67733FB8f/7B35bHy22+/qU+fPgoICEj2+t1isWjGjBkKCAiQr6+vunXrppMnT9rUuX79uoYOHarq1aurZs2aGjVqlG7fvm1T5/Dhw+rYsaN8fHxUv359ffbZZ1m9a4+NBx2De6+BEv969OhhU4djkDlz585VSEiI/Pz8VKdOHfXr10/Hjx+3qWOv16AdO3aobdu2qlKlip599lmtWbMmy/cPQNql9zpvw4YNatq0qXx8fNSyZUtt3brVZnla3kcdib37Ly3vgY4kPf33119/aeDAgQoKCpLJZNLixYsz3aYjsHcfPugziqNJT/+tXLlSHTt2VK1atVSrVi1169YtSX1eAzPXf4/zayB3vs2Eew984oeG2bNnZ+mXG9u2bVO9evXsXje9bt++rYULF+qll15S3bp1FRgYqK5du2r58uXJ7n+XLl2S/JMkl2hA2pMrj4K///5bY8aMUbNmzVS7dm0999xzGj58uPbs2ZOkbmIC8f6/vXv3PvzAYcPb21vh4eGKiYmxlt25c0fr169XkSJFbOoGBgZq27Zt2rhxo0aNGqUVK1Zo5syZSdqcPHmytm3bptDQUFWvXl2DBg3SkSNHsnxfADi+8PBwTZ48Wf3791dYWJgqVKigHj16KDIyMrtDcwhPP/20tm3bZv378ssvrcsmTZqkH3/8UdOnT9fSpUt16dIlDRgwwLrcbDbr1VdfVVxcnJYvX64pU6YoLCws2fcJ/E9UVJRMJpPGjBmT7PLPPvtMS5cu1dixY7Vy5UrlypVLPXr0sLk2fOONN/T3339r0aJF+vTTT/X777/bXGvfunVLPXr0UJEiRbRmzRoNGzZMs2fP1ooVK7J8/x4HDzoG0v+ugRL/PvzwQ5vlHIPM2blzpzp16qSVK1dq0aJFio+PV48ePRQVFWWtY4/XoNOnT+vVV19V7dq19dVXX+nll1/WW2+9pZ9//vmh7i+A5KX3Om/37t0aOnSo2rVrp7Vr16pRo0bq37+/jh49aq2TlvdRR5EV/Sc9+D3QUaS3/6Kjo1WsWDENHTpUXl5edmnzcZcVfSil/hnFkaS3/3bs2KHmzZtryZIlWr58uby9vfXKK6/o4sWL1jq8Bmau/6TH+DXQggwbPny4pUePHpZLly5Zzpw5Y1m2bJnFZDJZPv300yR179y5kw0RZo0DBw5Y6tevb3nppZcsa9assezbt89y8OBBy5o1aywdOnSwtG7d2nLlyhWbdTp37mx56623LJcuXbL+3bx5M5v24NF273l17tw5yw8//GCpXr26ZerUqQ8thvLly1t++OEHi8VisZw+fdpSvnx5y59//mlTZ+7cuZZq1apZ3n77bcuPP/5oOXLkiOW3336zzJo1y1K7dm3LBx98YFM/sZ3t27fbnAexsbEPbb+Q1PDhwy19+/a1tGjRwvLVV19Zy9etW2dp2bKlpW/fvpbhw4fb1L3XgAEDLG3atLEpu/f8sVgslps3b1rKly9v+fzzz7NwTwA8Kdq1a2cZN26c9bnZbLYEBARY5s6dm41ROYaZM2daWrVqleyyGzduWCpXrmzZsGGDtezvv/+2lC9f3rJnzx6LxWKxbNmyxVKhQgXL5cuXrXW+/PJLS/Xq1R3qWjgr3f8empCQYKlbt65l/vz51rIbN25YqlSpYlm/fr3FYvnfcdi/f7+1ztatWy0mk8ly4cIFi8VisSxbtsxSq1Ytm+Pw/vvvW5o0aZLVu/TYuf8YWCzJXwPdi2Ngf5GRkZby5ctbdu7cabFY7PcaNHXqVEvz5s1ttjV48GDLK6+8ksV7BCAt0nudN2jQIEvv3r1tytq3b295++23LRZL2t5HHYm9+89iefB7oCPJzOeMhg0bWhYtWmTXNh9HWdGHqX1GcTSZPV/i4+Mtfn5+lrCwMIvFwmtgZvvPYnm8XwMZ8ZdJLi4u8vLyUtGiRdWxY0f5+/tr8+bNGjFihPr166dPPvlEAQEB1iHI58+f16BBg1SzZk0988wz6tu3r86cOWPT5urVq9W8eXNVqVJFAQEBGj9+vHXZvVPPxMbGavz48QoICJCPj48aNmyouXPnJltXko4cOaKuXbvK19dXtWvX1ttvv20z/UxizAsWLFBAQIBq166tcePGKS4uzlrn7Nmz6t27t/r166cvv/xSbdu2la+vrypVqqS2bdtq+fLlatiwoXr16mWzniTlzJlTXl5e1j83Nzc7HAHHlHheeXt7q3HjxvL399f27dslSQkJCZo7d66CgoLk6+urVq1a6dtvv7VZ/6+//tKrr76q6tWry8/PTx07dtSpU6ckSfv371f37t1Vu3Zt1ahRQ507d9bBgwfTFd+yZcu0atUqrVmzRuPHj1eDBg1Uvnx51axZUwMGDFB4eLi2bdumhQsXJlm3QIECNudBjhw5MthLsKeQkBCbaY5CQ0MVHByc6jpHjx7Vnj17Uj2G8fHxWr16tSRxrAFkWmxsrA4ePCh/f39rmZOTk/z9/ZMdbY70++effxQQEKBGjRpp6NChOnfunCTpjz/+UFxcnE3fly1bVkWKFLGO3t+7d6/Kly9vvfe3JAUEBOjWrVv6+++/H+p+OIozZ87o8uXLNv2eN29eVa1a1XrO79mzR/ny5ZOPj4+1jr+/v5ycnKxT1ezdu1c1a9aUi4uLtU5AQIBOnDihf//99yHtzeNt586dqlOnjpo0aaIxY8bo2rVr1mUcA/u7efOmJCl//vyS7PcatHfvXtWpU8dmWwEBAcxCAjwCMnKd96D/6bS8jzqKrOi/RKm9BzqKrPic8aR9dsnK/U3pM4ojsUf/RUdHKz4+3nr9xGtg5vov0eP6Guic3QE4GldXV12/fl2SFBERITc3Ny1atEiSFBcXpx49eqhatWpatmyZnJ2d9fHHH6tnz55at26dXFxc9OWXX2rKlCkaOnSo6tWrp5s3b2r37t3Jbmvp0qXavHmzpk+fLm9vb50/f14XLlxItm5UVJR69OghPz8/rV69WpGRkXrrrbc0YcIEm3sy7tixQ15eXvr888916tQpvf7666pYsaI6dOggSZo2bZqCg4PVoUMHXbhwQWPGjNH+/ftVqVIlVa9eXRcvXtT48eO1c+dOrVu3TiEhIda2v/76a61bt05eXl5q2LCh+vXrp1y5ctmj2x1aYnIlccrFuXPnat26dRo3bpxKlSql3377TW+++aY8PDz0zDPP6OLFi+rcubOeeeYZff7553Jzc9Pu3butU7Devn1bbdq00VtvvSVJWrhwoXr37q3vvvsuTcnYq1evaubMmVqyZIlKly6tH374QTNmzND169cVEhKi/fv3q3///po2bZpefPFFdejQwabdvn376s6dOypVqpR69uypRo0aZUGvIb1atWqladOm6ezZs5LuTvnx4YcfaufOnTb1tmzZIj8/P8XHxys2NlZOTk56++23k7Q3ZMgQGY1GxcTEKCEhQUWLFlWzZs0eyr4AcFzXrl2T2WyWp6enTbmnp2eSe0Eh/Xx9fTV58mSVLl1aly9f1pw5c9SpUyd9/fXXunLlinLkyKF8+fLZrOPp6anLly9Lkq5cuWLzhbsk6/PEOkifxH5L7pxPvLfZlStX5OHhYbPc2dlZ+fPntzk2xYoVs6mTeGyuXLmS5MMtbAUGBurZZ59VsWLFdPr0aX344Yfq1auXVqxYIaPRyDGws4SEBE2aNEnVq1dX+fLlJclur0Ep1bl165ZiYmKUM2fOLNknAA+Wkeu85P6n732PTMv7qKPIiv6THvwe6Ciy4nPGk/bZJav2N7XPKI40qMQe/ffBBx+oUKFC1uQXr4GZ6z/p8X4NJPFnJxaLRREREdq2bZs6d+6sa9euKXfu3Hr33Xetv+r86quvlJCQoIkTJ8pgMEi6ex+sWrVqaefOnQoICNAnn3yi7t276+WXX7a27evrm+w2z58/r5IlS6pGjRoyGAwqWrRoivGtX79esbGxeu+995Q7d25J0jvvvKM+ffrojTfesL7R58+fX++8846MRqPKli2r+vXrKyIiQh06dNDt27e1ZcsWbdq0SZI0fPhw5c6dW/Pnz9exY8c0ZswYNWnSRJLUpk0bbdu2zZr4a9GihYoUKaJChQrpyJEj+uCDD3TixAnNnj07M93usFJKrsTGxmru3LlatGiR/Pz8JEnFixfXrl27tGLFCj3zzDNatmyZ3Nzc9OGHH1pHWJUuXdra9v2/5powYYJq1qyp3377TQ0bNnxgbBs3blTt2rVlMpl06tQpDRkyRCNGjFD16tX1xRdfaMeOHerTp4/KlCmjcuXKaffu3apXr55y585trWcwGPT999+rf//+mjNnDsm/R4CHh4caNGigsLAwWSwWNWjQIMkXWJJUu3ZtjR07VtHR0Vq8eLGMRqP1//5eI0eOlL+/v06fPq3JkyfrrbfeUoECBR7CngAAMqp+/frWxxUqVFDVqlXVsGFDbdiwgS/D8URr3ry59XHifaobN25s/fUv7GvcuHH666+/HPb+PQDwOOE9ENkttc8o7du3z8bIHi3z5s1TeHi4lixZIldX1+wO57GTUv89zq+BJP4yKTFBExcXJ4vFohYtWmjgwIEaP368ypcvbzOVy+HDh3Xq1ClVr17dpo07d+7o1KlTioyM1KVLl9J80rRt21avvPKKmjZtqsDAQDVo0EABAQHJ1j127JhMJpM16SdJ1atXV0JCgk6cOGFN/JUrV84mW+3l5WW9qe/JkydVtGhRubu7KyoqSr/++qt++uknFS5cWJUrV9bOnTuto8oKFSqkGzduWNt54YUXrI9NJpO8vLzUrVs3nTp1SiVKlEjT/j5JUkqu/PXXX4qOjtYrr7xiUz8uLk4VK1aUJB06dEg1a9ZMcVrFK1euaPr06dq5c6ciIyOVkJCg6OjoNA+TP3r0qDXp+PPPP6tWrVrq1KmTJGnMmDH65ptvrHW9vLys54GHh4e6d+9uXebr66tLly5pwYIFJP4eESEhIdaphceMGZNsnVy5cqlkyZKSpEmTJql169ZatWpVkostLy8vlSxZUiVLltTkyZPVq1cvhYeHJ/nlDQCkh7u7u4xGY5Kbc0dGRib5tTIyL1++fCpVqpROnTolf39/xcXF6caNGzYjbiIjI+Xl5SXp7qiZxGkNEyX+kjSxDtInsd8iIyNVqFAha3lkZKQqVKgg6W6/X7161Wa9+Ph4/fvvvzbH5v5f9SY+538n/YoXLy53d3f9888/qlOnDsfAjsaPH68tW7boiy++0FNPPWUtL1iwoF1eg1I6Dm5ubvzAAchmGbnOS+5/+t76aXkfdRRZ0X/Juf890FFkxeeMJ+2zy8Pa33s/oziSzPTfggULNG/ePC1atMjmtY3XwMz1X3Iep9dA7vGXSbVr19batWv1/fffa9++fTYj6u6fxjIqKkqVK1fW2rVrbf6+++47tWzZMt3Z+MqVK2vTpk0aNGiQYmJiNHjwYL322muZ2h9nZ9tcsMFgkMVikSSZzWbrh6HEBN+9icR7Hx88eDDVhF7VqlUl3Z2jGUklJlcqVKigSZMmaf/+/Vq1apWioqIk3Z3u895z6JtvvtHMmTMl6YEfWIcPH65Dhw5p9OjRWr58udauXasCBQokuSdjSuLj463nalxcnM157uLiYk04JiQk6PDhww88DxztjfpxFhgYqLi4OMXHx6f4I4J7OTk56dVXX9WMGTMUExOTYj1fX19VqVJFn3zyiT3DBfAEcnFxUeXKlRUREWEtS0hIUEREhPVHKbCf27dv6/Tp0/Ly8lKVKlWUI0cOm74/fvy4zp07p2rVqkmSqlWrpqNHj9p82Nq+fbvc3NxUrly5hx2+QyhWrJi8vLxs+v3WrVvat2+f9Zz38/PTjRs39Mcff1jr/Prrr0pISLDOHFKtWjX9/vvvNtd727dvV+nSpZliMgMuXLig69evW79M4RhknsVi0fjx4/XDDz/o888/V/HixW2W2+s1qFq1avr1119t2t6+fbu1DQDZJyPXeQ/6n07L+6ijyIr+S87974GOIis+Zzxpn10e1v7e+xnFkWS0/z777DN9/PHHmj9/vs39piVeAzPbf8l5nF4DSfxlUmKCpkiRIkmSZverXLmy/vnnH3l6elpHwiT+5c2bV25ubipatKjNCfogbm5uev755/Xuu+/qo48+0nfffWe9x+C9ypYtqyNHjlgTR9Lde3g5OTnZTAOZmmLFiunkyZOKi4tTvnz59PTTT+uTTz5RXFycjh07pvDwcCUkJGjLli368ssv1blz5xTbOnTokCR+/Z0W9yZXypYtKxcXF507dy7JOeTt7S3p7ojK+79UuNfu3bvVpUsX1a9fX08//bRcXFzSdVPSkiVLWkeB1qhRQ7/88ov27t0rs9msL774Qjdu3NCtW7c0ZcoUFSpUKMWpaqW75wHnwKPDaDRqw4YNCg8PT/M81U2bNpWTk5OWLVuWar2uXbtqxYoVunjxoj1CBfAE6969u1auXKmwsDAdO3bMOkI+ODg4u0N77L333nvauXOnzpw5o927d2vAgAFycnJSixYtlDdvXoWEhGjKlCn69ddf9ccff2jUqFHy8/OzfjkUEBCgcuXKadiwYTp8+LB+/vlnTZ8+XZ06dbKZBQO2bt++rUOHDlmvj8+cOaNDhw7p3LlzMhgM6tq1qz755BNt2rRJR44c0bBhw1SoUCE1btxY0t3r/MDAQL399tvav3+/du3apQkTJqh58+YqXLiwJKlly5bKkSOHRo8erb/++ss6jc29szE8yVI7Brdv39Z7772nvXv36syZM4qIiFC/fv1UsmRJBQYGSuIY2MO4ceO0bt06TZs2TXny5NHly5d1+fJl64/L7PUa9OKLL+r06dOaOnWqjh07pmXLlmnDhg3q1q1bNu05gHs96Dpv2LBhmjZtmrV+165d9fPPP2vhwoU6duyYZs2apT/++MP6fVRa3kcdib37Ly3vgY4kvf0XGxtrvX6IjY3VxYsXdejQIZtBDk/aZ5es6MPUPqM4mvT237x58zRjxgxNmjRJRYsWtV4/3b59WxKvgZntv8f9NZCpPh+ili1basGCBerbt68GDRqkwoUL69y5c/rhhx/Us2dPPfXUUxo4cKDGjBkjT09P1atXT7dv37Ymau63aNEieXl5qWLFinJyctK3334rLy+vJDc8T9z2zJkzNWLECA0YMEBXr17VhAkT1Lp16zQPt/bw8JDJZNK6desUEhKiSZMmaeDAgVq8eLEKFiyooKAgrVy5Un///bemT5+usmXLSpJOnTqlr7/+WvXr11eBAgV05MgR670NHW1YcVZp2rSppk6dqhUrVuiVV17R5MmTZbFYVKNGDd28eVO7d++Wm5ub2rZtq06dOmnp0qUaMmSIevfurbx582rv3r3y9fVVmTJlVKpUKa1bt04+Pj66deuWpk6dmq5pbYKCgvTCCy9o8ODB8vHxUa9evdSpUydZLBbVq1dPlStX1pAhQ9SsWTPNmTPHul5YWJhy5MhhnZL0hx9+UGhoqN5991279xcyLr03RnZ2dlbnzp01f/58vfTSSzYjf+9Vr149FStWTJ988onGjh1rh0gBPKmef/55Xb16VTNnztTly5dVsWJFzZ8/3yGny3nYLly4oCFDhuj69evy8PBQjRo1tHLlSus9X0eNGiUnJye99tprio2NVUBAgM3U0EajUZ9++qnGjh2rF154Qbly5VLbtm0zPSOFo/vjjz/UtWtX6/PJkydLujut/5QpU9SrVy9FR0frnXfe0Y0bN1SjRg3Nnz/fZraQDz74QBMmTNDLL78sJycnPffcc3rrrbesy/PmzasFCxZo/PjxCg4Olru7u/r162czHf+TLLVjMHbsWB09elRr167VzZs3VahQIdWtW1eDBg2ySWhzDDLnv//9ryQl+dw7efJk65c19ngNKl68uObOnavJkydryZIleuqpp/Tuu+8+Fl/eAE+CB13nnT9/Xk5O/xvDUL16dX3wwQeaPn26PvzwQ5UqVUpz5sxR+fLlrXXS8j7qKOzdf0ajMU3vgY4ivf136dIltWnTxvp84cKFWrhwoZ555hktXbo0TW06mqzowwd9RnEk6e2/5cuXKy4uLsnnrQEDBmjgwIGSeA3MTP897q+BBkviPI5ItxEjRujGjRv6+OOP07zs8uXL+uCDD7R161bdvn1bhQsXVp06dTR8+HDrF+7Lly/X4sWLdebMGRUoUEBNmza1fmg0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",
|
|
"text/plain": [
|
|
"<Figure size 1800x600 with 3 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n",
|
|
"\n",
|
|
"models_names = list(eval_results.keys())\n",
|
|
"colors = plt.cm.Set2(np.linspace(0, 1, len(models_names)))\n",
|
|
"\n",
|
|
"# Gráfico 1: Métricas de retrieval\n",
|
|
"metrics = ['mean_precision', 'mean_recall', 'mrr']\n",
|
|
"labels = ['Precision@5', 'Recall@5', 'MRR']\n",
|
|
"x = np.arange(len(labels))\n",
|
|
"width = 0.15\n",
|
|
"for i, name in enumerate(models_names):\n",
|
|
" ev = eval_results[name]\n",
|
|
" vals = [ev[m] for m in metrics]\n",
|
|
" axes[0].bar(x + i * width, vals, width, label=name, color=colors[i])\n",
|
|
"axes[0].set_xticks(x + width * (len(models_names) - 1) / 2)\n",
|
|
"axes[0].set_xticklabels(labels)\n",
|
|
"axes[0].set_ylim(0, 1.05)\n",
|
|
"axes[0].set_title('Calidad de Retrieval (español)')\n",
|
|
"axes[0].legend(fontsize=8)\n",
|
|
"\n",
|
|
"# Gráfico 2: Tamaño vs MRR (scatter)\n",
|
|
"for i, name in enumerate(models_names):\n",
|
|
" r = results[name]\n",
|
|
" ev = eval_results[name]\n",
|
|
" axes[1].scatter(r['model_mb'], ev['mrr'], s=150, color=colors[i], label=name, zorder=5)\n",
|
|
" axes[1].annotate(name, (r['model_mb'], ev['mrr']), textcoords='offset points',\n",
|
|
" xytext=(5, 5), fontsize=8)\n",
|
|
"axes[1].set_xlabel('Tamaño del modelo (MB)')\n",
|
|
"axes[1].set_ylabel('MRR')\n",
|
|
"axes[1].set_title('Trade-off: Tamaño vs Calidad de Retrieval')\n",
|
|
"\n",
|
|
"# Gráfico 3: Tiempo de encoding del corpus\n",
|
|
"encode_times = [results[n]['corpus_encode_s'] for n in models_names]\n",
|
|
"axes[2].barh(models_names, encode_times, color=colors)\n",
|
|
"axes[2].set_xlabel('Tiempo (s)')\n",
|
|
"axes[2].set_title('Velocidad de encoding (25 docs)')\n",
|
|
"\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dafabe0d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 7. Detalle por query\n",
|
|
"\n",
|
|
"Veamos qué documentos recupera cada modelo para cada query, para entender dónde fallan."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "e6b6c58e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"Q0: \"¿Cómo manejan los lenguajes de programación la memoria?\"\n",
|
|
" Relevantes esperados: [0, 2]\n",
|
|
" MiniLM-L6 → [✓0 3 8 16 ✓2] P=0.40 R=1.00 RR=1.00\n",
|
|
" MiniLM-L12 → [✓0 3 15 ✓2 14] P=0.40 R=1.00 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓0 ✓2 14 4 7] P=0.40 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓0 3 ✓2 4 7] P=0.40 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓0 ✓2 3 8 18] P=0.40 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓0 ✓2 18 1 3] P=0.40 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q1: \"¿Qué es el control de versiones para código fuente?\"\n",
|
|
" Relevantes esperados: [4]\n",
|
|
" MiniLM-L6 → [✓4 16 15 6 11] P=0.20 R=1.00 RR=1.00\n",
|
|
" MiniLM-L12 → [✓4 15 14 18 11] P=0.20 R=1.00 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓4 14 0 2 23] P=0.20 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓4 0 1 3 2] P=0.20 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓4 16 9 12 8] P=0.20 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓4 1 3 0 2] P=0.20 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q2: \"¿Cómo producen energía las plantas a partir de la luz?\"\n",
|
|
" Relevantes esperados: [5]\n",
|
|
" MiniLM-L6 → [✓5 20 14 8 15] P=0.20 R=1.00 RR=1.00\n",
|
|
" MiniLM-L12 → [✓5 20 15 8 14] P=0.20 R=1.00 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓5 14 15 9 20] P=0.20 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓5 8 20 13 10] P=0.20 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓5 20 8 10 21] P=0.20 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓5 9 10 13 12] P=0.20 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q3: \"Cuéntame sobre física de partículas y mecánica cuántica\"\n",
|
|
" Relevantes esperados: [7, 8]\n",
|
|
" MiniLM-L6 → [✓8 14 20 21 13] P=0.20 R=0.50 RR=1.00\n",
|
|
" MiniLM-L12 → [✓8 13 14 12 9] P=0.20 R=0.50 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓8 6 12 18 14] P=0.20 R=0.50 RR=1.00\n",
|
|
" multi-e5-small → [✓8 6 21 5 12] P=0.20 R=0.50 RR=1.00\n",
|
|
" nomic-v1.5 → [✓8 21 6 14 5] P=0.20 R=0.50 RR=1.00\n",
|
|
" BGE-m3 → [✓8 6 0 23 13] P=0.20 R=0.50 RR=1.00\n",
|
|
"\n",
|
|
"Q4: \"¿Cómo funciona la fermentación del pan?\"\n",
|
|
" Relevantes esperados: [10, 14]\n",
|
|
" MiniLM-L6 → [✓10 ✓14 12 20 13] P=0.40 R=1.00 RR=1.00\n",
|
|
" MiniLM-L12 → [✓14 ✓10 12 11 15] P=0.40 R=1.00 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓10 ✓14 12 13 11] P=0.40 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓10 ✓14 12 13 7] P=0.40 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓10 ✓14 12 13 19] P=0.40 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓10 ✓14 13 9 5] P=0.40 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q5: \"¿Qué hace que la comida sepa mejor al cocinarla a fuego alto?\"\n",
|
|
" Relevantes esperados: [12, 13]\n",
|
|
" MiniLM-L6 → [ 15 14 ✓12 11 10] P=0.20 R=0.50 RR=0.33\n",
|
|
" MiniLM-L12 → [ 15 10 14 11 8] P=0.00 R=0.00 RR=0.00\n",
|
|
" paraphrase-multi-L12 → [✓12 14 10 11 ✓13] P=0.40 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓12 14 ✓13 10 11] P=0.40 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓12 14 8 10 15] P=0.20 R=0.50 RR=1.00\n",
|
|
" BGE-m3 → [✓12 14 11 ✓13 0] P=0.40 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q6: \"¿Cómo puedo hacer crecer mis ahorros con el tiempo?\"\n",
|
|
" Relevantes esperados: [15, 16, 19]\n",
|
|
" MiniLM-L6 → [✓15 6 11 14 20] P=0.20 R=0.33 RR=1.00\n",
|
|
" MiniLM-L12 → [✓15 11 14 6 8] P=0.20 R=0.33 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓15 17 ✓16 ✓19 14] P=0.60 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓15 18 ✓16 17 6] P=0.40 R=0.67 RR=1.00\n",
|
|
" nomic-v1.5 → [✓15 14 6 12 24] P=0.20 R=0.33 RR=1.00\n",
|
|
" BGE-m3 → [✓15 ✓16 18 17 14] P=0.40 R=0.67 RR=1.00\n",
|
|
"\n",
|
|
"Q7: \"¿Qué afecta la economía y los precios?\"\n",
|
|
" Relevantes esperados: [17, 18]\n",
|
|
" MiniLM-L6 → [ 20 15 14 ✓18 6] P=0.20 R=0.50 RR=0.25\n",
|
|
" MiniLM-L12 → [✓18 15 14 20 24] P=0.20 R=0.50 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓17 19 16 15 23] P=0.20 R=0.50 RR=1.00\n",
|
|
" multi-e5-small → [✓17 23 16 9 ✓18] P=0.40 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓17 14 ✓18 12 19] P=0.40 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓17 ✓18 23 21 15] P=0.40 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q8: \"Háblame de las partes más profundas del océano\"\n",
|
|
" Relevantes esperados: [24]\n",
|
|
" MiniLM-L6 → [✓24 6 8 23 15] P=0.20 R=1.00 RR=1.00\n",
|
|
" MiniLM-L12 → [✓24 23 8 15 20] P=0.20 R=1.00 RR=1.00\n",
|
|
" paraphrase-multi-L12 → [✓24 23 22 20 13] P=0.20 R=1.00 RR=1.00\n",
|
|
" multi-e5-small → [✓24 23 20 21 22] P=0.20 R=1.00 RR=1.00\n",
|
|
" nomic-v1.5 → [✓24 23 13 8 21] P=0.20 R=1.00 RR=1.00\n",
|
|
" BGE-m3 → [✓24 23 21 0 9] P=0.20 R=1.00 RR=1.00\n",
|
|
"\n",
|
|
"Q9: \"¿Cómo cambia la superficie de la Tierra con el tiempo?\"\n",
|
|
" Relevantes esperados: [21, 22]\n",
|
|
" MiniLM-L6 → [ 6 15 14 20 ✓21] P=0.20 R=0.50 RR=0.20\n",
|
|
" MiniLM-L12 → [ 15 6 24 14 ✓22] P=0.20 R=0.50 RR=0.20\n",
|
|
" paraphrase-multi-L12 → [ 23 6 ✓21 ✓22 17] P=0.40 R=1.00 RR=0.33\n",
|
|
" multi-e5-small → [ 6 ✓21 23 8 5] P=0.20 R=0.50 RR=0.50\n",
|
|
" nomic-v1.5 → [ 6 14 8 12 24] P=0.00 R=0.00 RR=0.00\n",
|
|
" BGE-m3 → [✓21 9 23 6 5] P=0.20 R=0.50 RR=1.00\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Detalle: para cada query, qué recuperó cada modelo\n",
|
|
"for qi, (query_text, relevant) in enumerate(queries):\n",
|
|
" print(f'\\nQ{qi}: \"{query_text}\"')\n",
|
|
" print(f' Relevantes esperados: {relevant}')\n",
|
|
" for name in results:\n",
|
|
" ev = eval_results[name]\n",
|
|
" pq = ev['per_query'][qi]\n",
|
|
" retrieved = pq['retrieved']\n",
|
|
" hits = [f'✓{idx}' if idx in set(relevant) else f' {idx}' for idx in retrieved]\n",
|
|
" print(f' {name:25s} → [{\" \".join(hits)}] P={pq[\"precision@k\"]:.2f} R={pq[\"recall@k\"]:.2f} RR={pq[\"mrr\"]:.2f}')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f723a45e",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 8. Visualización t-SNE: ¿Cómo agrupa cada modelo los documentos?\n",
|
|
"\n",
|
|
"Proyectamos los embeddings del corpus a 2D con t-SNE. Cada color es una categoría. Un buen modelo debería agrupar documentos del mismo tema juntos."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "d6038c05",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAATBCAYAAADzQON5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XdcU9f/P/BXwo4REGQo7gEqAqIiOFBBFAduqRNHrdpqta5+XG3VOmu1LuqsW1u1igv33uKouw7qFhQRkA1JyP39wS/5EhMggIDi6/l48Ghz77n3nHtzkxzv+573EQmCIICIiIiIiIiIiIiIiIiIPmni4m4AERERERERERERERERERUcA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERERERERERERERCUAA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERERERERERERERCUAA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERESFTC6Xo2fPnvD29sarV6+KuzlERDrt3r0bwcHBiI+PL+6mEBERERFRPjHwR0RERESUTyEhIXByckJISEiO5ebNm4fw8HCsXr0a5cqVK6LWadK3rYUhKCgITk5ORV4vEenv2LFjmDBhAszMzGBhYfHB9y8IArp164Yvv/zyg++bPl6rVq1CgwYN0L59e+zbtw/h4eFwcnLC/fv3C7Tfly9fwsnJCRMnTtRYPn78ePj4+CA9Pb1A+yciIiL6lDHwR0RERJ+VsLAwODk5YenSpfnaPjIyEtOmTUObNm3g4uICd3d3+Pr6YujQoVi1ahVSUlI0yjs5OcHJyQkdOnRARkaG1v6io6Ph5OSEoKAgjeVLly5Vb5vdX36PQZeUlBTUr18fTk5OmD59+gfbLwFHjhzBX3/9haVLl6JWrVrF3Rz6xBVnAJf+j67v7U/ZixcvMHHiRPTv3x+DBw8ulDp2796Nu3fvYtSoUYWyf/r4pKWlYfHixWjSpAmqVKmCCRMmICAgAI0aNSq0h0FGjBiBqKgobNiwoVD2T0RERPQpMCzuBhARERF9Ku7fv4+goCAkJCSgfv36aN68OSQSCSIjI3Ht2jWcPn0a/v7+qFy5sta2//33H0JCQhAYGJinOv39/VGzZk2d6xo1apSv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Pe/evRPatGkjODo6avy+vHjxQmefQ2X27NmCo6OjcPHiRZ3riYiIiEoypvokIiIi0tOYMWPQrVs3REZGYv78+ejVqxcaNGiAbt26YdmyZUhISMhx+y+++AKVK1fGli1bckx/mNXhw4cRHBys8+/9FHrr16/HgQMH8jQa8dSpU3j79i3atm2rHiXh7++vTpGVNc0gAOzduxcAMGLECJiZmamX29raqtOoZuf777+Hqamp3m3LTZcuXVCrVi31a5FIhLFjx8LAwEArvZeukYu2trbw9/fH06dPERERoV6+detW9eiy90dOikSiXM/vsWPHkJiYiO7du2u0TywW4/vvv4ehoaHO9GMSiQTjx4+HWPx/XfSuXbvC0NAQd+7cybFOld27d8PIyAijRo3SWO7t7Y3GjRtrld+zZw+SkpIwduxYrZEaHTp0gLOzM/bv359rvdeuXcOLFy/QsmVLjdGQWd+T7No6fvx4iEQi9fI6deqga9euSEhIwLFjx9TL//zzTxgYGGDatGla15GpqekHGUUbFBSkca2UK1cODRo0QGJiIr755htYWVmp17m5uaFixYp48OCBeplSqcRff/2FSpUqYdSoURrHJZVKMWLECMjlcp2pV4cPHw5bW1v1aysrK7Rq1QrJycl48uSJXu2PjIxEWFgYatSogS+++EJjXe/evVGtWjVcunRJ6/tH1+eyVKlSMDY21qteAGjSpAm8vb01ln399dcwNzfH7t271d8l+f18GBkZ4fvvv9d5LemiUCiwbds2lC5dGlOmTNHarnTp0ihVqpT6ta7vCENDQ/Tq1QsZGRl5Srm7efNmAMCMGTM0RhqJRCL19Z71c6X6Xh0zZoxGO2vUqKEztXRRncPSpUvr/Fx5eXmhRo0auHDhgl77ef36NQCgbNmyWuuio6Nx5MgRVKpUCd9++63W+rJly6pHqBXmcY8ZM0bjere3t0f//v0hk8n0+g7MiZGRkdYoOwB6zXX377//4vr16+jSpYvW56tq1ar44osv8PDhQ62Un7o+09l9Rw4fPlxjZG/p0qXxzTffQBAEjXTG+b0e+vfvj2rVqmm0LSAgAEqlEnfv3lUvV7133377rUZ7LCws1NdGXlJ+qrIKqK4/IiIios8JU30SERER/X/37t3TCDQAmWndunXrBgAwMTHBnDlz8N133+H06dO4desWbt26hbt3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iISi+pcOEZEOsbGxaNGiBdauXQsPD4/ibk6u/v77byxYsAAnT57MNaj5qQoPD0fnzp1x+PDhXFNnERER0cdn7ty5+Pfff3Wm5PwYtWzZEn379s1XcPFTsWXLFqxfvx5Hjhz54A9sERFR3k2cOBF37txBaGhocTcFQUFBkEgkWLlyZXE3hT5CaWlpaN26NaZNm5brtC3FTSaTwcvLC/v27dNIw/k52r17N5YvX479+/drzK1JVFTExd0AIvq8WVlZoXfv3tiwYUNxN0Uv//zzDwYOHFhig35A5iiFzp07M+hHRET0ifryyy9x69Yt3L9/v7ibkqvIyEikpqZqjDwsaZRKJTZu3IgRI0Yw6EdERER5Ympqirlz50Iulxd3U3JlbGyMf/7557MP+gGZ6eBnzZrFoB8VG474I6JiFxsbiz///BNDhw79YPnrKX+USiVWrVqFLl26aMwLRERERJ+WgwcPwsLCAk2aNCnupnz2Xr9+jd27d2Po0KEQi/nsLRERERERFS4G/oiIiIiIiIiIiIiIiIhKAD5uSERERERERERERERERFQCMPBHREREREREREREREREVALoNbukQqFAfHw8TExMOCcBERERfZaUSiXS09NhYWGR5wm62ZciIiKizx37UkRERET5l5e+lF49rfj4eDx9+vRDtI2IiIjok1alShVYW1vnaRv2pYiIiIgysS9FRERElH/69KX0CvyZmJiod2hmZlbwlhERERF9YlJTU/H06VN1vygv2JciIiKizx37UkRERET5l5e+lF6BP1UaBTMzM0gkkoK1joiIiOgTlp/0UuxLEREREWViX4qIiIgo//TpSzExOhEREREREREREREREVEJwMAfERERERERERERERERUQnAwB8RERERERERERERERFRCcDAHxEREREREREREREREVEJwMAfERERERERERERERERUQnAwB8RERERERERERERERFRCcDAHxEREREREREREREREVEJUOSBP0GphOJNFGT37yL9xlXI7t+F4k0UBKWyqJtSIgmCgD///BNv3rwp7qYQERERERERERERERFRETIsysoyYt8i7fxJpF06ByElWb1cJCkFUy9vmDZtCQOrsgWqw9fXF0ZGRjA1NYVcLkffvn3Rt2/fgjb9ozRkyBBMmjQJ1apVA5AZ9Js9ezbc3d1ha2tbzK0jIiIi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YwpiIiIiIiKiz49EbJzH8p/mvO/Rsnj8HnlQ51yGSRlp2BdzBQ9TIjGifFsG/4iIiEoIBv6I6LPHFMRERERERESfFxsjC0gNTPVK9yk1MIWNkXkRtOrDUgpKHI27qTPol9WD1Agce3cLPW2aMu0nERFRCcBfcyIiIiIiIiIi+qzYGVvAx6KuXmV9LV1g9wmOhouSxeNk/B29yp54dxtRsvhCbhEREREVBQb+iIiIiIiIiIjosyIWidG6jBuczBxyLOdk5gA/S7dPciRctDxerxGNQGbaz2h5QiG3iIiIiIrCp9drISIiIiIiIiIiKiAbYwuMKN8Wnaw8IDUw1VgnNTBFJ2sPjCjfDjbGn16aTwBIUcryWD69kFpCRERERYlz/BERERERERER0WfJxtgCPW2boqVlXUTLE5CiTIdEbAIbI3PYGVt8kiP9VCRi4zyWNymklhAREVFRYuCPiIiIiIiIiIg+W2KRGOVMyqCcSZnibsoHZWNkAamBqV7pPqUGprAx+jRHNhIREZGmT/exJSIiIiIiIiIiItLJztgCPhZ19Srra+kCO2OLQm4RERERFQUG/oiIiIiIiIiIiEoYsUiM1mXc4GTmkGM5JzMH+Fm6fdJpTYmIiOj/8BediIiIiIiIiIioBLIxtsCI8m3RycoDUgNTjXVSA1N0svbAiPLtYGPMNJ9EREQlBef4IyIiIiIiIiIiKqFsjC3Q07YpWlrWRbQ8ASnKdEjEJrAxMoedsQVH+hEREZUwDPwRERERERERERGVYGKRGOVMyqCcSZnibgoREREVMj7SQ0RERERERERERERERFQCMPBHREREREREREREREREVAIw8EdERERERERERERERERUAjDwR0RERERERERERERERFQCMPBHREREREREREREREREVAIw8EdERERERERERERERERUAjDwR0RERERERERERERERFQCMPBHREREREREREREREREVAIYFncDiIiIiIiIiIiIiPSlFJSIksUjWh6PFKUMErExbIwsYGdsAbGI4xyIiOjzxsAfERERERERERERfRKiZfE4GncTJ+PvICkjTb1camAKH0sXtLZ0hY2xRTG2kIiIqHgx8EdEREREREREREQfvWhZPH6PPIgHqZFa65Iy0rAv5goepkRiRPm2DP59JJSCgDdJCkSnKJAqF2BmJIKNxBC2UkOI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q6tLq1at0owZM2QYhh5//HHddtttsixLV111lSSpu7tbH/7whyVJd911l0pLS/U///M/uuWWW/TAAw/ooosuGvRrffOb3xyTBUZra6s2btyoefPmac6cOXrttdeGrHv22Wf1+9//XgsWLFBHR8eQNY2NjXrkkUfSXjt48KDuuOMOLV26NGMf9913n7q7u9Ne+7d/+zcdOHBAc+bMSXvd5/Np48aNuv7669NeX79+vXw+n2KxWP9rgUBAq1ev1te+9jU9/PDDGXsAAOB0+tznPifTHJu9jtl8n87ktttu08KFC/v/2e/3Z/VxJ66NqqqqBq0FbNvWhz/8YS1atCjt9RdeeEF/+7d/q/e+9736yEc+olQqpVdeeUXxeLy/ZufOnbr55pv17ne/W7feeqvefPNNfeMb39CHPvQhrVu3Th6PZ9S/15FkuzY6duyYrrjiCtXX12vSpEl64YUXdPfddysajeqjH/1of92RI0d03XXXqa6uTv/yL/+iQCCgffv2DVr3nOjv//7v9Zd/+Zdpr23cuFEPPfTQoHWVz+fT1q1bFYvF5PP5+l9/8skn5XA4Bn3uG2+8UR/72Mf0/ve/X6WlpSN+TQAA6OPxePTQQw9JkhKJhHbu3KmvfvWrsm1bf/u3f9tf99RTT+nWW2/V29/+dv393/+9pk+frng8rh07duib3/ym3nzzTX3iE59I+9wnPmOSpMrKypz9Xjo7OzVjxgytWrVKlZWVeuONN/TNb35Tu3fv1s9//nO53e6MHz/UM6JNmzbpjTfeGPL5yED/8A//oP379+vzn/+8Jk2apK9//ev6yEc+op///OdyOnsfmX/729/WkiVLdP3118vn82nTpk266aab9MUvflHvec97Bn3OcDistWvX5vRrNtA73vEO3XHHHWmvnXHGGWn/nM1673Of+1xaECxJDz30kJ544gldcMEFGXu45ZZb9Prrr+u2227TlClTtG3bNn3+85+Xw+EYtJHN6XRq8+bNuuaaa/pfi8fj2rJlS9r6SZJWrlypb3zjG/rlL3+p9773vSN/MQCkIfgDxtCsWbNO++ecPXu2KioqTvvnHY+6urr085//XF/+8pfTXj9xR/1FF12k/fv36xe/+EV/8Pfb3/5Wr7/+un7wgx/0P1S74IILtGvXLj322GODgr8DBw7oRz/6ke644w597nOfy+HvqvcE3fPPPy+pd/fecA+3PvWpT+nTn/60pN6HcEOpqKgY9Ofh2WeflcPh0BVXXJGxjxP/fMZiMb366qt697vf3b/o7fPOd75TGzZsUGtra3/Y3N3drc2bN+vSSy8dtIP+ve99r9auXavf//73+vM///OMfQAAcLqceeaZY/ZrZfN9OpPa2lqdc845o/qYodZGbrd70OfZuXOnotGorrzyyv7XUqmUPvOZz+iDH/ygPvnJT/a/fuLGtQ0bNmjq1Kn6whe+IMMwJPWuN/76r/9ae/bs0XnnnTeqnrOR7droxBN2F154oQ4fPqxf/OIXacHfV77yFdXU1OjBBx/sD+FGeoglSW9729v0tre9Le21r371qzrzzDMHrWfe8Y536NVXX9WWLVvSvs7r168fcm20aNEilZSU6Be/+IX+5m/+ZsReAADoY5pm2vf6RYsWae/evXriiSf6g79wOKxPfvKTOu+883T//ffL5XL111988cX60Ic+pJdffnnQ5x7rZ0xLlizRkiVL+v954cKFmjJlij70oQ9pz549esc73jHsxw73jOjrX/96/8av4YK/3/zmN3ruuef03e9+t//Xr6ur0xVXXKEnnnii//nJf//3f6d9PRYvXqzm5mZ973vfGzL4+8pXvqJly5bp8OHDWX4FTk1JSUnG9WO2672h1syf+MQntHjx4ox/HsLhsHbu3Kl77rmnP8y74IILtHv3bm3YsGFQ8Nf3LGlg8Ld161a53W7Nnz8/LYx0OBx6z3veox/+8IcEf8BJYNQnCt6nP/1pXXnllXr++ed11VVXad68eVq9erX++Mc/6s0339Qtt9yid7zjHbr00ku1cePGtI8dajTnk08+mTbG8ETLli1Tc3Oz/vM//7P/WHzfWJ9sR312d3fr3//933XJJZdozpw5WrFihdatW3eSX4HBWlpadMstt+jCCy/U3LlztWzZMn3hC1/of//ee+/Vueeeq9/+9re67rrrNG/ePL3nPe/Rb3/7Wx0/flyf+9zntGDBAi1dulTf//730z73b37zG330ox/VkiVLdM455+hd73qXfvnLX56WvvvGco50ck2SysrKlEwm+/85lUpJUtrONdM05ff7hxwHdffdd+sv//IvVVdXN+Tnj0aj+tSnPqVzzz1XixYt0pe//OWTPh2Y7UmEkz2xsH79ei1atEihUGhUH/fUU08pFov1h6cDnX322Zo+fXrafzPPPPOMbNtWY2PjoPpp06Zp3rx5aSOuAACFq2/9tXPnTr373e/WOeeco/e9733as2dPWt3x48d1zz33aMmSJZo7d67e9a53afPmzUN+rpNZyw016vPAgQO6+eabdf7552v+/Pm6+uqrtX79+hF/LyfaunWrZs6cqddff13SyX+fPhXZro3Wr1+vQCCgZcuW9b/2/PPPq7m5WR/84AczfmwqlZLf7+8P/aS31lMD11D5WBsNpby8PG0NGI1G9dhjj+n973//kCfvRqO1tVW7du0acm3kdDp12WWXpf1ZikQieuGFF4b88yNJl19++WlbJwMAipvf7+9/7iFJ//Vf/6Wuri7deeedaaFfn1AopEsvvfS0/Np9Yxx3796tD33oQ5o/f74uu+wyPf/887IsS1/72td04YUX6sILL9RXv/rVIUeSDlRWViZJad/PhzLcOiibdcS2bdtUUlKixYsX9782Y8YMnX322dq2bVv/a0OFXmefffagkaCStGvXLj355JODTlEO9OSTT+ryyy/X3Llz9b73vU+vvPLKiL2eimzXeyf69a9/rT/+8Y9DrnkGGupZm9Q7+WmoZ21XXnmlXnjhBR09erT/tXXr1umyyy4btOFcklasWKHf/e53+v3vfz+q/gEQ/KFIhMNhffGLX9Tf/d3f6d/+7d/0hz/8QbfffrtuvfVWnXXWWbr33ns1e/ZsffKTn1Rzc/Mp/Vr33XefQqGQLrvsMj3yyCN65JFHhgxCMrnlllv0yCOP6IYbbtD999+viy66SJ/85CeHvDfwyiuv1Nlnn613vvOduv/++7N6wPKpT31Kr732mj772c/qwQcf1Mc//vFBC69kMqk77rhD1157re69916lUindfPPN+sxnPiOPx6Ovf/3ruvTSS3XPPffo17/+df/HHT58WO94xzv0r//6r/rWt76lv/iLv9BnP/tZ/eIXvxjV12Aozz//vGbNmqVJkyYNes+2baVSKXV2duqXv/yltm/frr/6q7/qf/+cc85RfX29vva1r+mNN95QZ2enfvjDH+rgwYODdiBt2rRJe/fu1U033TRsL3fddZc2b96s22+/XV/60pd04MCB/lEb48nu3bt18ODBYR84ZbJ+/XpNmzZt2B12K1euTHu4tX79ei1fvnzIfz+SdO655/bv3gcAFL5wOKy7775ba9as0de//nUdP35cN998c9pDnNtvv12PPPKIPvzhD2vt2rU688wz9bGPfUxPPfXUoM91OtZyBw8e1HXXXadDhw7pM5/5jL71rW/pmmuuybgre+XKldq3b1/a3TFS7/e92bNna8aMGSf5FUr3+c9/XmeffbYuuOACffazn9Wbb7454sdkWhv1SSaTeuKJJwZ9j3755ZdVVlam3bt367LLLtOsWbN02WWXDQqirrnmGh04cED/+Z//qWPHjumNN97Qv//7v2vWrFlpa4R8ro1SqZSi0aiefvpp/fKXv0x7uPXqq68qmUzK6XRq9erVmj17thYvXqyvfOUrIz5QPNH69etlWZZWrlw55PtXXnmlnnvuuf5Rr4899piqq6uHvaPw3HPP1e9+9ztFIpFR9QEAQCqV6v/+99RTT+mJJ57QZZdd1v/+iy++qOrqatXX14/q81qW1f+5+/43VIAzlL67BO+77z5VVVXp5ptv1r/+67+qpaVFX/rSl/T+979f3/nOd4a8M66np0fd3d06cOCAvvKVr2j27NlqaGjI+Otlsw4azuuvv666urq0jU1Sb/jXt6lrOL/61a8Grf96enr0L//yL/roRz+qqqqqIT/ud7/7nT7+8Y9r+vTpuu+++/Se97xH//AP/zDi6PFMXnzxRZ1zzjmaO3euVq9erZdeeint/WzXeyfqu8blne98Z8a6KVOmaMmSJfr2t7+t/fv3KxqNauPGjYOeyfWZN2+epk6dqk2bNknqHfX67LPPDru2evvb367S0lJt3749Yx8ABmPUJ4pCR0eHHn744f4Fz5EjR/Qv//Iv+shHPtIf7sydO1ebN2/Wk08+qb/+678+6V9r1qxZcrvdCgaDox7XJEk7duzQli1b0sYNLF68WOFwWPfee2//cfxQKKSPfexjmj9/vgzD0JYtW/T1r39dra2tI168vHv3bt12221pox/f/e53p9Ukk0ndfvvt/b+eZVn66Ec/qvnz5+vOO++U1DtOYtOmTdq0aVP/g5+B36xt29aCBQvU2tqqRx55ZMgxCKOxe/futN1YA73wwgu64YYbJPXuuP7Hf/xHXX755f3vO51OPfTQQ/q7v/u7/l1tHo9HX/va19IexsTjcX3xi1/UrbfeqkAgMOSvtX//fj3xxBO6++679b73vU9S73iKv/iLvzil318urF+/XpMmTRp1b+3t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z/9Z//Sf/tP4xV/8xfjN3/zN2L9/f7zyyivxh3/4h/Hwww+fD5hPnDgR99xzT/ziL/5i/NIv/dJFvTz55JNRKBQuOsNwKT/90z99PgBdyquvvhrFYjH++//+v2/pzwWAiHNn7b3zbKper8f3v//9+L//7/87brnllnj/+98fEed24//2b/92/NN/+k/jE5/4RPzsz/5sjI6OxtmzZ+Pw4cPxF3/xF5ccWf79739/0dSFG2644fyuwevt13/912Pz5s2xa9euKJfLMTY2Fn/0R38UW7ZsueLv0svdBx09ejSOHj16/p8PHz4cX//616Ovr+/8RKQf+7Efiw9+8IPxmc98Jv75P//nsWHDhvjd3/3duPXWWy86BueXf/mX46//+q/jN3/zN+ONN96IN9544/y1H/3RH42IuOTv8Y0bN0axWLzoGdM/+Sf/JH76p386HnnkkfjkJz8Z/+2//bf4whe+sGjU53/+z/85Hn300fjjP/7jyz6jOnToUHz+85+Pe+65J7Zv3x5vvvlm/NEf/VGMj4/H7/3e752va/V+7x1PPvlkbNu27fwCvR/2j//xP4433ngjnn766Yg4F6Bu27YtfuVXfiUeeeSR2Lp1azz//PPx//w//89FY2B/2E033dTS/X61Wo3XX3+95cVXwLsEf7CEBx98MH7wgx/E448/Hl/84hfjox/9aPzqr/5q/Nqv/dqS/96v/uqvxr/8l/8yfvmXfzlmZ2fPnw/Tqn/37/5d/If/8B/i8ccfP79LaufOnRf9GaOjo/Gf/tN/ipMnT0aWZbFjx474zGc+c9GIzUvZsGFDvOc974k/+ZM/ib/927+NQqEQt99+e3zhC1+4Loci/+t//a/j13/91+Nf/It/EZs2bYqf+7mfi2q1Gn/4h394zX/23//7fz8+97nPxbFjx84fFD04OBgbN26M3//934/x8fG44YYb4uabb45//+///UUPy2688cb44z/+4/PnGtZqtdixY0f89m//dvyDf/APlt3LY489Fv/H//F/xO/8zu9Eb29v/NRP/VR84AMfOB8ivqNarV704OlyfngU1Dv/fOH/Oy+99NJFIdu3v/3t+Pa3vx0REa+99tpF//6TTz4ZlUrlsjeJWZbFwsJCNJvNi75+9OjReO211+J//9//9yv2vBz1ej3+4i/+Iv7ZP/tn1/XPBWBt+7/+r/8r/s2/+TfxB3/wB/HWW2/FzTffHP/u3/27OHDgQFv+ezt27Igvf/nL8a//9b+O3/iN34iFhYXYsWPHJcd8/7DbbrstRkdHY2xs7JJnkbT6e3phYSGyLDv/zz/yIz8Sjz/+ePzpn/5p1Gq1GBoaip/+6Z+OX/mVXzm/gOlyLnVv9I6vfe1r0Wg0llyx/Wu/9mtRLBbjC1/4QkxOTsaP/MiPxGc/+9mLznT5R//oH0Vvb288/vjj8Z/+03+KUqkUP/qjPxr/9t/+24sWtq30vdGGDRtidHQ0vvjFL8apU6eiUCjEf/ff/XfxG7/xG/EP/+E/vOjfPXDgQPybf/Nv4vd///fj8ccfj61bt8Yv//IvX/S6N5vNS94bvRM63n333edH818vzz33XNxzzz1LnpEMAD+sVqudn5aQy+VieHg4HnjggfilX/qli3b2feQjH4n//J//c/zBH/xBfPazn43Tp0/Hhg0bYufOnfFzP/dz8bM/+7OL/uwLd7u943/4H/6H+OIXv9iW7+V973tf/Omf/mn8x//4H2N+fj5uvPHG2LdvX/zCL/zCFRfQX+4+6Gtf+9pFZxH+2Z/9WfzZn/1ZbN++/aKJVP/23/7b+K3f+q349V//9Wg0GvHBD34w/rf/7X+76P7rnalf//yf//NF//0ffg5zJbfddlv83u/9XvzO7/xO/NIv/VLs3Lkzfvd3f3fROYZzc3MREUveL70zZv13f/d346233oq+vr74sR/7sfiN3/iNeN/73ndRbSv3exHnjjb69re/Hf/4H//ji8afXuidZ0nvKJfL8cUvfjF+93d/N37nd34n3n777bjpppviX/yLf3HRpIWr9fzzz0ehUIh9+/Zd858F603S/OFPNgCr2Mc//vE4cODAopXYq9EPfvCDuOeee+IrX/nKohuv9eZb3/pW/Nqv/Vo899xz1/2hGQCsZ+6N1qbp6enYu3dv/NEf/dElzwQCAK5sLd0Hteqf/bN/Fm+99Vb8wR/8Qadb6bhf+ZVfiVKpFL/1W7/V6VZgzTFvDVhTfvEXfzG+/OUvx/z8fKdbuaL/8l/+S+zdu3fdP9iKiPjDP/zD+F/+l/9F6AcA15l7o7XpT/7kT+LHf/zHhX4AcA3W0n1Qq/7Lf/kv8b/+r/9rp9vouP/6X1cJw3AAAGbESURBVP9rPPvss/4u4CrZ8QesOV/4whfiIx/5SIyMjHS6FVowOzsbf/RHfxT/8//8P1/yIGwA4Nq4N1p7vvSlL8UHPvCBeM973tPpVgBgTXMf1J0OHToUJ06cuKrjeQDBHwAAAAAAAHQFoz4BAAAAAACgCwj+AAAAAAAAoAvkWilqNBoxPT0dGzZsiDSVFQIA60+WZXH27Nno7++PXK6lW6jz3EsBAOudeykAgKu3nHuplu60pqen49ixY9ejNwCANW3Hjh2xZcuWZf077qUAAM5xLwUAcPVauZdqKfjbsGHD+T+wr6/v2jsDAFhj5ubm4tixY+fvi5bDvRQAsN65lwIAuHrLuZdqKfh7Z4xCX19fFIvFa+sOAGANu5rxUu6lAADOcS8FAHD1WrmXMhgdAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAukCu0w0AwFqWNbM4NT8d4/XpqGbzUUx7o5Lvj6He/kgT62uA9c17JAAAsJ40sywWJsYjm5yIZm0ukkJfpAOD0TNYiST1GYiVIfgDgKs0Pj8dT099Nw5OvxozC7XzXy/3FOLuTbvink3vi0pvfwc7BOgc75EAAMB6sjA5EbUXDkbtxeejWZ09//WkWIrCXR+Kwt790TMw2MEOWS8EfwBwFcbnp+Ozb3wtXpt7Y9G1mYVaPHn65ThcfSMe2XavB9vAuuM9EgAAWE8WJidi5kufj/rY0UXXmtXZmHvm69EY+5soP/Sw8I+2s7cUAJYpa2bx9NR3L/lA+0KvzZ2Ib7z1vcia2Qp1BtB53iMBAID1pJllUXvh4CVDvwvVx45E7YVno5n5DER7Cf4AYJlOzU/HwelXW6p95q1X4tT8dJs7Alg9vEcCAADrycLEeNRefL6l2tqLz0U2Md7mjljvBH8AsEzj9emLzqtaysxCLcbrZ9rcEcDq4T0SAABYT7LJiYvO9FtKszobC5MTbe6I9U7wBwDLVM3ml1l/tk2dAKw+3iMBAID1pFmba2s9LJfgDwCWqZj2LrN+Q5s6AVh9vEcCAADrSVLoa2s9LJfgDwCWqZLvj3JPoaXack8hKvmNbe4IYPXwHgkAAKwn6cBgJMVSS7VJsRQ9A4Nt7oj1TvDHutZsZpHN/NdovHkoGieejcabhyKb+a/RbGadbg1YxYZ6++Pu/ttbqj2waVcM9fa3uSOA1cN7JAAAsJ70DFaicNcHW6ot3LUv0sFKmztivct1ugHolKx6MhpjT0Tj+Fcj6mfevZDfGLmR+yM3+rFIi8OdaxBYtdIkjXs23xGH5/42Xps7cdm6W/u2x0c23RFpYp0NsH54jwQAANaTJE2jsPfuaIy9HvWxI5ety4/ujMLe/ZGkPgPRXv4PY13Kqidj/tBj0Tj65YtDv4iI+ploHH085v/ytyKrnuxMg8CqV+ntj0e23RsPDOxZNNKu3FOIB7bsiUe23ReVXiPsgPXHeyQAALCe9AwMRvmhh6PvwL2Lxn4mxVL0Hbgvyg99KnoGtnSoQ9YTO/5Yd5rNLBpjT0Q29eqSddnkK9EYezLytz0ciZXowCVUevvjE1v3xv5Nt8d4/UxUs7NRTDdEJb8xhnr77WIB1jXvkQAAwHrSMzAYxfs/HoU7PxQLkxPRrM1FUuiLnoHBSAcrdvqxYgR/rDvN2RPnxnu2oHH8qciN3BdJ+aY2dwWsVWmSxo0bNseNGzZ3uhWAVcd7JAAAsJ4kaRo9W4eiZ+tQp1thHRMxs+5k1VOLx3teTv2McZ8AAAAAAMCaIPhj/anPtrceAAAAAACgAwR/rD/50pVrrqUeAAAAAACgAwR/rDtpcSgiv7G14vzGSIvD7W0IAAAAAADgOhD8se4kpe2RG/loS7W5kfsjKW1rc0cAAAAAAADXTvDHupMkaeRGH4h0YNeSdenArsiNPhBJ4scEAAAAAABY/SQarEtpcTh6dz8auVs+uXjsZ35j5G75ZPTu/sy5saAAAAAAAABrQK7TDUCnpMXhyN/2cORG7ousejKiPhuRL0VaHI6ktM1OPwAAAAAAYE0R/LGuJUkaSfmmSMs3dboVAAAAAACAa2JLEwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHSBXKcbAAAAYGlZM4tT89MxXp+OajYfxbQ3Kvn+GOrtjzSxnhMAAIBzBH8AAACr2Pj8dDw99d04OP1qzCzUzn+93FOIuzftins2vS8qvf0d7BAAAFrXzLJYmBiPbHIimrW5SAp9kQ4MRs9gJZLUoja4VoI/AACAVWp8fjo++8bX4rW5NxZdm1moxZOnX47D1TfikW33Cv8AAFj1FiYnovbCwai9+Hw0q7Pnv54US1G460NR2Ls/egYGO9ghrH2CPwAAgFUoa2bx9NR3Lxn6Xei1uRPxjbe+F5+o7DX2EwBgDev2nXALkxMx86XPR33s6KJrzepszD3z9WiM/U2UH3pY+AfXQPAHAACwCp2an46D06+2VPvMW6/E/v7b48YNm9vcFQAA7dDtO+GaWRa1Fw5eMvS7UH3sSNReeDaK9/9UV4Sd0Al+cgAAAFah8fr0RWf6LWVmoRbj9TNt7ggAgHZ4Zyfc3DN/flHoF/HuTriZL30hFiYnOtThtVuYGI/ai8+3VFt78bnIJsbb3BF0L8EfAADAKlTN5pdZf7ZNnQAA0C7L3QnXzLIV6uz6yiYnFoWal9Oszq7pkBM6TfAHAACwChXT3mXWb2hTJwAAtMt62QnXrM21tR54l+APAABgFark+6PcU2ipttxTiEp+Y5s7AgDgelsvO+GSQl9b64F3Cf4AAABWoaHe/ri7//aWag9s2hVDvf1t7ggAgOttveyESwcGIymWWqpNiqXoGRhsc0fQvQR/AAAAq1CapHHP5jvi1r7tS9bd2rc9PrLpjkgTH+8AANaa9bITrmewEoW7PthSbeGufZEOVtrcEXQvnwwBAABWqUpvfzyy7d54YGDPorGf5Z5CPLBlTzyy7b6o9BrzCQCwFq2XnXBJmkZh792RH925ZF1+dGcU9u6PJBVdwNXKdboBAABWt2bWjJnJWlSnatGoLUSu0BPFzYUoDxQiSZNOtwddr9LbH5/Yujf2b7o9xutnopqdjWK6ISr5jTHU22+nHwDAGvbOTri5Z/78irVrfSdcz8BglB96OGovfCtqL377orMNk2IpCnfti8Le/dEzsKWDXcLaJ/gDAOCyqlO1GHvpZBw7dCrqc43zX8/35WLHnqEY/cBwFDcXlvgTgOshTdK4ccPmuHHD5k63AgDAdfTOTrjG2OtRHzty2bpu2QnXMzAYxfs/HoU7PxQLkxPRrM1FUuiLnoHBSAcra/77g9VA8AcAwCVVp2px6CtHYvL4mUXX6nONOPLciZg8/nbsfnCn8A8AAOAqrbedcEmaRs/WoejZOtTpVqArCf4AAFikmTVj7KWTlwz9LnT6+JkY+87JuO2eEWM/Aa5C1szi1Px0jNeno5rNRzHtjUq+3xhXAFhn7IQDrhfBHwAAi8xM1uLYoVMt1R57+VSM7B6K8mBfm7taH4QAsH6Mz0/H01PfjYPTr8bMQu3818s9hbh70664Z9P7otLb38EOAYCVZCcccD0I/gAAWKQ6VbvoTL+l1OcaUZ06K/i7DoQAsH6Mz0/HZ9/4Wrw298aiazMLtXjy9MtxuPpGPLLtXj/3AABAyywZBgBgkUZtYVn19VprISGX904I8OTkoYtCv4h3Q4DPvvH1GJ+f7lCHwPWSNbN4euq7lwz9LvTa3In4xlvfi6yZrVBnAADAWif4AwBgkVyhZ1n1+YJBEtdCCADry6n56Tg4/WpLtc+89UqcEvgDAAAtEvwBALBIcXMh8n2thXn5vlwUN29oc0fdTQgA68t4fXrRzt7LmVmoxXj9TJs7AgAAuoXgDwCARcoDhdjx/tYOlN+xZyhKA4U2d9TdhACwvlSz+WXWn21TJwAAQLcR/AEAsEiSJjF653BsGdm4ZN2WkY0xeudwJGmyQp11JyEArC/FtHeZ9XZVAwAArRH8AQBwScXNhdj94M7YuW/7orGf+b5c7Ny3PXb/zM4obrLb71oJAWB9qeT7o9zT2ntnuacQlfzSizAAAADe0drBLQAArEvFzYW47Z6RGNk9FNWps1GvNSJfOHemX2mgYKffdfJOCNDKuE8hAKx9Q739cXf/7fHk5KEr1h7YtCuGevtXoCsAAKAbCP6gyzWbWTRnT0RWPRVRn43IlyItDkVS2h5JYtMvAFeWpEmUB/uiPNjX6Va6lhDg+smaWZyan47x+nRUs/kopr1RyffHUG9/pO59WCXSJI17Nt8Rh+f+Nl6bO3HZulv7tsdHNt3h/10AAKBlgj/oYln1ZDTGnojG8a9G1M+8eyG/MXIj90du9GORFoc71yAAEBFCgOtlfH46np76bhycfvWi3ZPlnkLcvWlX3LPpfVERmrJKVHr745Ft98Y3pr4Xz0y/suj/2QObdsVHNt0RlV47fAEAgNYJ/qBLZdWTMX/oscimXl18sX4mGkcfj2zy1ejd/ajwDwBWASHAtRmfn47PvvG1eG3ujUXXZhZq8eTpl+Nw9Y14ZNu9wj9WjUpvf3xi697Yv+n2GK+fiWp2NorphqjkN9qlCgAAXBXBH3ShZjOLxtgTlw79LpBNvhKNsScjf9vDxn4CwCogBLg6WTOLp6e+e8nQ70KvzZ2Ib7z1vfhEZa+/S1aNNEnjxg2b48YNmzvdCgAA0AUEf9CFmrMnzo33bEHj+FORG7kvkvJNbe4KAGiFEGD5Ts1Px8HppRc8veOZt16J/f23+/sFAACgK1nmCl0oq566+Ey/pdTPRFY92d6GAADaaLw+fdFo1KXMLNRivNX7JAAAAFhjBH/Qjeqz7a0HAFhFqtn8MuvPtqkTAAAA6CzBH3SjfKm99QAAq0gx7V1m/YY2dQIAAACdJfiDLpQWhyLyG1srzm+MtDjc3oYAANqoku+Pck+hpdpyTyEqrd4nAQAAwBoj+IMulJS2R27koy3V5kbuj6S0rc0dAQC0z1Bvf9zdf3tLtQc27Yqh3v42dwQAAACdIfiDLpQkaeRGH4h0YNeSdenArsiNPhBJ4q0AAFi70iSNezbfEbf2bV+y7ta+7fGRTXdE6t4HAACALuUTL3SptDgcvbsfjdwtn1w89jO/MXK3fDJ6d3/m3FhQAIA1rtLbH49suzceGNizaOxnuacQD2zZE49suy8qvcZ8AgAA0L1ynW4AaJ+0OBz52x6O3Mh9kVVPRtRnI/KlSIvDkZS22ekHAHSVSm9/fGLr3ti/6fYYr5+JanY2iumGqOQ3xlBvv51+AAAAdD3BH3S5JEkjKd8UafmmTrcCANB2aZLGjRs2x40bNne6FQAAAFhxgj+WpdnMojl7IrLqqQt2jw1FUtpu9xgAAAAAAEAHCf5oWVY9GY2xJ6Jx/KsR9TPvXshvjNzI/ZEb/VikxeHONQgAAAAAALCOCf5oSVY9GfOHHots6tXFF+tnonH08cgmX43e3Y8K/wAAAAAAADrAbEauqNnMojH2xKVDvwtkk69EY+zJaDazFeoMAAAAAACAdwj+uKLm7Ilz4z1b0Dj+VDRn32hzRwAAAAAAAPwwoz65oqx66uIz/ZZSPxNZ9WSk5Zva2xQAAAAAwBU0sywWJsYjm5yIZm0ukkJfpAOD0TNYiSS1LwboPoI/rqw+2956gA7Kmlmcmp+O8fp0VLP5KKa9Ucn3x1Bvf6SJDwAAAACwVi1MTkTthYNRe/H5aFbffWaZFEtRuOtDUdi7P3oGBjvYIcD1J/jjyvKl9tYDdMj4/HQ8PfXdODj9asws1M5/vdxTiLs37Yp7Nr0vKr39HewQAAAAuBoLkxMx86XPR33s6KJrzepszD3z9WiM/U2UH3pY+Ad0FVsZuKK0OBSR39hacX5jpMXh9jYEcB2Mz0/HZ9/4Wjw5eeii0C8iYmahFk+efjk++8bXY3x+ukMdAgAAAFejmWVRe+HgJUO/C9XHjkTthWejmWUr1BlA+wn+uKKktD1yIx9tqTY3cn8kpW1t7gjg2mTNLJ6e+m68NvfGknWvzZ2Ib7z1vciaPgAAAADAWrEwMR61F59vqbb24nORTYy3uSOAlSP444qSJI3c6AORDuxasi4d2BW50QcicSYWsMqdmp+Og9OvtlT7zFuvxCm7/gAAAGDNyCYnLjrTbynN6mwsTE60uSOAlSOhoSVpcTh6dz8auVs+uXjsZ35j5G75ZPTu/sy5saAAq9x4fXrReM/LmVmoxXj9TJs7AgAAAK6XZm2urfUAq1mu0w2wdqTF4cjf9nDkRu6LrHoyoj4bkS9FWhyOpLTNTj9gzahm88usP9umTgAAANa3ZjOL5uyJyKqnLnjWNBRJabtnTVy1pNDX1nqA1Uzwx7IkSRpJ+aZIyzd1uhWAq1ZMe5dZv6FNnQAAAKxfWfVkNMaeiMbxr0ZcOGklvzFyI/dHbvRjkRaHO9cga1Y6MBhJsdTSuM+kWIqegcEV6ApgZVg2A8C6U8n3R7mn0FJtuacQlR8ecQwAAMA1yaonY/7QY9E4+uWLQ7+IiPqZaBx9POb/8rfOTZ2CZeoZrEThrg+2VFu4a1+kg5U2dwSwcgR/AKw7Q739cXf/7S3VHti0K4Z6+9vcEQAAwPrRbGbRGHsisqlXl6zLJl+JxtiT0WxmK9QZ3SJJ0yjsvTvyozuXrMuP7ozC3v2RpB6TA93DOxoA606apHHP5jvi1r7tS9bd2rc9PrLpjkjX+bkSWTOLvz07Fd+bORYvnjkc35s5Fn97dioyH74BAICr0Jw9cW68Zwsax5+K5uwbbe6IbtQzMBjlhx6OvgP3RlIsXXQtKZai78B9UX7oU9EzsKVDHQK0hzP+AFiXKr398ci2e+MbU9+LZ6ZfiZmF2vlr5Z5CHNi0Kz6y6Y6o9K7vMZ/j89Px9NR34+D0q4v+ju7etCvu2fS+qNgRCQAALENWPbV4vOfl1M9EVj0Zafmm9jZFV+oZGIzi/R+Pwp0fioXJiWjW5iIp9EXPwGCkgxU7/YCuJPgDYN2q9PbHJ7bujf2bbo/x+pmoZmejmG6ISn5jDPX2r/udfuPz0/HZN74Wr80tXl07s1CLJ0+/HIerb8Qj2+4V/gGwpmXNZrw504jxaiPm6s3oyydRKeZiazkXaZJ0uj2A7lOfbW89XCBJ0+jZOhQ9W4c63QrAihD8AbCupUkaN27YHDdu2NzpVlaVrJnF01PfvWTod6HX5k7EN976XnyisnfdB6UArE3js4345usz8dyx2ZiZf3eMdbk3jQ/vKMWBm8tRKfnoDHBd5UtXrrmWegBYxzyhAwAWOTU/HQenX22p9pm3XolT89Nt7ggArr/x2UZ87uXT8dXDb18U+kVEzMxn8dTht+NzL5+O8dlGhzoE6E5pcSgi3+KxCvmNkRaH29sQAHQRwR8AsMh4ffqiM/2WMrNQi/FWz+cAgFUiazbjm6/PxOHT80vWHT49HwfHZiJrNleoM4Dul5S2R27koy3V5kbuj6S0rc0dAUD3EPwBAItUs6Ufgi6uP9umTgCgPd6cacRzx1o7M+pbY7Px5oxdfwDXS5KkkRt9INKBXUvWpQO7Ijf6QCSOFQCAlvmtCQAsUkx7l1m/oU2dAEB7jFcbi8Z7Xs7MfBbjVcEfwPWUFoejd/ejkbvlk4vHfuY3Ru6WT0bv7s+cGwsKALTMCeUAwCKVfH+Uewotjfss9xSi0ur5HACwSszVlze6c7n1AFxZWhyO/G0PR27kvsiqJyPqsxH5UqTF4UhK2+z0A4CrIPgDABYZ6u2Pu/tvjycnD12x9sCmXTHU278CXQHA9dOXT9paD0BrkiSNpHxTpOWbOt0KAHQFy2YAgEXSJI17Nt8Rt/ZtX7Lu1r7t8ZFNd0RqJS4Aa0ylmItyb2u/v8q9aVSK1s0CAACrn6d0AMAlVXr745Ft98YDA3ui3FO46Fq5pxAPbNkTj2y7Lyq9xnwCsPZsLedi345SS7X7R0uxtSz4AwAAVj+fXACAy6r09scntu6N/Ztuj/H6mahmZ6OYbohKfmMM9fbb6QfAmpUmSfzEzeU4evpsHD49f9m692zpjQM3lyNNjPoEAABWP8EfALCkNEnjxg2b48YNmzvdCgBcV5VSLj69Z0s8MzYTz47Nxsx8dv5auTeN/aOlOHBzOQaN+QQAANYIn14AAABYtyqlXDz43v748EgpxquNmKs3oy+fRKWYi63lnJ1+AADAmiL4AwAAYF1LkySGb8jH8A35TrcCAABwTRzMAwAAAAAAAF1A8AcAAAAAAABdQPAHAAAAAAAAXUDwBwAAAAAAAF1A8AcAAAAAAABdQPAHAAAAAAAAXUDwBwAAAAAAAF1A8AcAAAAAAABdINfpBuB6ajazaM6eiKx6KqI+G5EvRVociqS0PZJEzr0SvAYAAAAAANAZgj+6RlY9GY2xJ6Jx/KsR9TPvXshvjNzI/ZEb/VikxeHONbgOeA0AAAAAAKBzBH90hax6MuYPPRbZ1KuLL9bPROPo45FNvhq9ux8VPLWJ1wAAAAAAADrL3D3WvGYzi8bYE5cOnC6QTb4SjbEno9nMVqiz9cNrAAAAAAAAnSf4Y81rzp44N1qyBY3jT0Vz9o02d7T+eA0AAAAAAKDzBH+seVn11MXnyS2lfiay6sn2NrQOeQ0AAAAAAKDzBH+sffXZ9tZzZV4DAAAAAADouFynG4Brli+1t54r8xoAAABA2zWbWTRnT/zd5J3ZiHwp0uJQJKXtkSTW9wMAgj+6QFocishvbG3UZH5jpMXh9je1zngNAAAAoL2y6slojD0RjeNfvfjzd35j5Ebuj9zox3zeBgCM+mTtS0rbIzfy0ZZqcyP3R1La1uaO1h+vAQAAALRPVj0Z84cei8bRLy9edFs/E42jj8f8X/5WZNWTnWkQAFg1BH+seUmSRm70gUgHdi1Zlw7sitzoA0ZftIHXAAAAANqj2cyiMfZEZFOvLlmXTb4SjbEno9nMVqgzAGA18vSdrpAWh6N396ORu+WT50ZOXii/MXK3fDJ6d3/m3EhK2sJrAAAAANdfc/bEufGeLWgcfyqas2+0uSMAYDVzxh9dIy0OR/62hyM3ct+50RbnD7kejqS0zS6zFeA1AAAAgOsrq55aPN7zcupnIquejLR8U3ubAgBWLcEfXSVJ0kjKN7nB7SCvAQAAAFxH9dn21gMAXcX2GwAAAABYrfKl9tYDAF3Fjj8AAAAAWKXS4lBEfmNr4z7zGyMtDre/KWBVa2ZZLEyMRzY5Ec3aXCSFvkgHBqNnsBJJai8QdDvBHwAAAACsUklpe+RGPhqNo1++Ym1u5P5ISttWoCtgtVqYnIjaCwej9uLz0ay+O/o3KZaicNeHorB3f/QMDHawQ6DdxPsAAAAAsEolSRq50QciHdi1ZF06sCtyow9EknjcB+vVwuREzHzp8zH3zJ9fFPpFRDSrszH3zNdj5ktfiIXJiQ51CKwEdwIAAAAAsIqlxeHo3f1o5G755LmxnxfKb4zcLZ+M3t2fOTcWFFiXmlkWtRcORn3s6JJ19bEjUXvh2Whm2Qp1Bqw0oz4BAAAAYJVLi8ORv+3hyI3cF1n1ZER9NiJfirQ4HElpm51+sM4tTIxH7cXnW6qtvfhcFO78YPRstVgAupHgDwAAAADWgCRJIynfFGn5pk63Aqwy2eTEovGel9OszsbC5ITgD7qUpUAAAAAAALCGNWtzba0H1g7BHwAAAAAArGFJoa+t9cDaIfgDAAAAAIA1LB0YjKRYaqk2KZaiZ2CwzR0BnSL4AwAAAACANaxnsBKFuz7YUm3hrn2RDlba3BHQKblONwAAnZY1szg1Px3j9emoZvNRTHujku+Pod7+SBNrZFYbrxcAAABcLEnTKOy9Oxpjr0d97Mhl6/KjO6Owd38kqc/P0K0EfwCsa+Pz0/H01Hfj4PSrMbNQO//1ck8h7t60K+7Z9L6o9PZ3sEMu5PUCAACAS+sZGIzyQw9H7YVvRe3Fb0ezOnv+WlIsReGufVHYuz96BrZ0sEug3QR/AKxb4/PT8dk3vhavzb2x6NrMQi2ePP1yHK6+EY9su1eYtAp4vQAAAGBpPQODUbz/41G480OxMDkRzdpcJIW+6BkYjHSwYqcfrAN+ygFYl7JmFk9PffeSIdKFXps7Ed9463uRNbMV6oxL8XoBAABAa5I0jZ6tQ9H7994bG370/dH7994bPVuHhH6wTvhJB2BdOjU/HQenX22p9pm3XolT89Nt7oileL0AAAAA4MoEfwCsS+P16YvOiFvKzEItxutn2twRS/F6AQAAAMCVCf4AWJeq2fwy68+2qRNa4fUCAAAAgCsT/AGwLhXT3mXWb2hTJ7TC6wUAAAAAVyb4A2BdquT7o9xTaKm23FOISn5jmztiKV4vAAAAALgywR8A69JQb3/c3X97S7UHNu2Kod7+NnfEUrxeAAAAAHBlgj8A1qU0SeOezXfErX3bl6y7tW97fGTTHZEmfmV2ktcLAAAAAK7MUzEA1q1Kb388su3eeGBgz6IxkuWeQjywZU88su2+qPQaG7kaeL0AAAAAYGm5TjcAAJ1U6e2PT2zdG/s33R7j9TNRzc5GMd0QlfzGGOrtt3NslfF6AQAAAMDlCf4AWPfSJI0bN2yOGzds7nQrtMDrBQAAAACXZlk8AAAAAAAAdAHBHwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHQBwR8AAAAAAAB0AcEfAAAAAAAAdAHBHwAAAAAAAHSBXKcbAAAA1oZmM4vm7InIqqci6rMR+VKkxaFIStsjSawpBAAAgE4T/AEAAFeUVU9GY+yJaBz/akT9zLsX8hsjN3J/5EY/FmlxuHMNAgAAAII/AABgaVn1ZMwfeiyyqVcXX6yficbRxyObfDV6dz8q/AMAAIAOMo8HAAC4rGYzi8bYE5cO/S6QTb4SjbEno9nMVqgzAAAA4IcJ/gAAgMtqzp44N96zBY3jT0Vz9o02dwQAAABcjlGfAADAZWXVUxef6beU+pnIqicjLd/U3qYAgDWr2cyiOXvi7+4xZiPypUiLQ5GUtkeS2KMAANdK8AcAAFxefba99QDAupFVT0Zj7Ilz0wQuXFiU3xi5kfsjN/ox5wUDwDUS/AEAAJeXL7W3nuuimWWxMDEe2eRENGtzkRT6Ih0YjJ7BSiSp3RMAdF5WPRnzhx679LnB9TPROPp4ZJOvRu/uR4V/AHANBH8AAMBlpcWhiPzG1sZ95jd6UNcBC5MTUXvhYNRefD6a1Xd3XCbFUhTu+lAU9u6PnoHBDnYIwHrXbGbRGHvi0qHfBbLJV6Ix9mTkb3vY2E8AuEp+gwIAAJeVlLZHbuSjLdXmRu6PpLStzR1xoYXJiZj50udj7pk/vyj0i4hoVmdj7pmvx8yXvhALkxMd6hAAIpqzJ86N92xB4/hT0Zx9o80dAUD3EvwBAACXlSRp5EYfiHRg15J16cCuyI0+YHX+CmpmWdReOBj1saNL1tXHjkTthWejmWUr1BkAXCyrnmptekBERP1MZNWT7W0IALqYT+UAAMCS0uJw9O5+NHK3fPLc2M8L5TdG7pZPRu/uz5wbC8qKWZgYj9qLz7dUW3vxucgmxtvcEQBcRn32yjXXUg8AnOeMPwAA4IrS4nDkb3s4ciP3nVuFX5+NyJciLQ5HUtpmp18HZJMTi8Z7Xk6zOhsLkxPRs1U4C0AH5EvtrQcAzhP8AQAALUmSNJLyTZGWb+p0K0REszbX1noAuF7S4tC5qQGtjPvMb4y0ONz+pgCgS1mWCwAAsAYlhb621gPA9ZKUtkdu5KMt1eZG7o+ktK3NHQFA9xL8AQAArEHpwGAkxdZGoSXFUvQMDLa5IwC4tCRJIzf6QKQDu5asSwd2RW70ASPEAeAa+C0KAACwBvUMVqJw1wdbqi3ctS/SwUqbOwKAy0uLw9G7+9HI3fLJc2M/L5TfGLlbPhm9uz9zbiwoAHDVnPEHAACwBiVpGoW9d0dj7PWojx25bF1+dGcU9u6PJLXuE4DOSovDkb/t4ciN3BdZ9WREfTYiX4q0OBxJaZudfgBwHQj+AAAA1qiegcEoP/Rw1F74VtRe/HY0q7PnryXFUhTu2heFvfujZ2BLB7sEgHclSRpJ+aZIyzd1uhUA6EqCPwAAgDWsZ2Awivd/PAp3figWJieiWZuLpNAXPQODkQ5W7PQDAABYRwR/AAAAa1ySptGzdSh6tjoXCQAAYD2z9BMAAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALqA4A8AAAAAAAC6gOAPAAAAAAAAuoDgDwAAAAAAALpArtMNAAAAAGtfM2vGzGQtqlO1aNQWIlfoieLmQpQHCpGkSafbAwCAdUHwBwAAAFyT6lQtxl46GccOnYr6XOP81/N9udixZyhGPzAcxc2FDnYIAADrg+APAAAAuGrVqVoc+sqRmDx+ZtG1+lwjjjx3IiaPvx27H9wp/AMAgDYT/AEAAABXpZk1Y+ylk5cM/S50+viZGPvOybjtnhFjPwEAVkDWzOLU/HSM16ejms1HMe2NSr4/hnr7I03STrdHGwn+AAAAgKsyM1mLY4dOtVR77OVTMbJ7KMqDfW3uCgBgfRufn46np74bB6dfjZmF2vmvl3sKcfemXXHPpvdFpbe/gx3STmJdAAAA4KpUp2oXnem3lPpcI6pTZ9vcEQDA+jY+Px2ffeNr8eTkoYtCv4iImYVaPHn65fjsG1+P8fnpDnVIuwn+AAAAgKvSqC0sq75eay0kBABg+bJmFk9PfTdem3tjybrX5k7EN976XmTNbIU6YyUJ/gAAAICrkiv0LKs+X3DiCABAu5yan46D06+2VPvMW6/EKbv+upLgDwAAALgqxc2FyPe1Fubl+3JR3LyhzR0BAKxf4/XpReM9L2dmoRbj9TNt7ohOsNQOAAAAuCrlgULseP9QHPn2iSvW7tgzFKWBwgp0BSxXs5lFc/ZEZNVTEfXZiHwp0uJQJKXtkST2DQCsFdVsfpn1zl/uRoI/AAAA4KokaRKjdw7H5A/ejtPHL79ifMvIxhi9cziSNFnB7oBWZNWT0Rh7IhrHvxpx4c6P/MbIjdwfudGPRVoc7lyDALSsmPYus940hm5kyQ4AAABw1YqbC7H7wZ2xc9/2RWM/83252Llve+z+mZ1R3GS3H6w2WfVkzB96LBpHv3xx6BcRUT8TjaOPx/xf/lZk1ZOdaRCAZank+6Pc09o9V7mnEJX8xjZ3RCfY8QcAAABck+LmQtx2z0iM7B6K6tTZqNcakS+cO9OvNFCw0w9WoWYzi8bYE5FNvbpkXTb5SjTGnoz8bQ8b+wmwyg319sfd/bfHk5OHrlh7YNOuGOrtX4GuWGmCPwAAAOCaJWkS5cG+KA/2dboVoAXN2RPnxnu2oHH8qciN3BdJ+aY2dwXAtUiTNO7ZfEccnvvbeG3u8mcw39q3PT6y6Y5ILejoSl5VAAAAAFhnsuqpxeM9L6d+xrhPgDWi0tsfj2y7Nx4Y2LNo7Ge5pxAPbNkTj2y7Lyq9xnx2Kzv+AAAAAGC9qc+2tx6Ajqn09scntu6N/Ztuj/H6mahmZ6OYbohKfmMM9fbb6dflBH8AAAAAsN7kS+2tB6Cj0iSNGzdsjhs3bO50K6wwsS4AAAAArDNpcSgi3+KYt/zGSIvD7W0IALguBH8AAAAAsM4kpe2RG/loS7W5kfsjKW1rc0cAwPUg+AMAAACAdSZJ0siNPhDpwK4l69KBXZEbfSAS50EBwJrgNzYAAAAArENpcTh6dz8auVs+uXjsZ35j5G75ZPTu/sy5saAAwJqQ63QDAAAAAEBnpMXhyN/2cORG7ousejKiPhuRL0VaHI6ktM1OPwBYYwR/AAAAALCOJUkaSfmmSMs3dboVAOAaWbIDAAAAAAAAXUDwBwAAAAAAAF3AqE8AAACAdSZrNuPNmUaMVxsxV29GXz6JSjEXW8u5SJOk0+1B2zSbWTRnT0RWPXXBeYZDkZS2O88QgK4g+AMAAABYR8ZnG/HN12fiuWOzMTOfnf96uTeND+8oxYGby1EpeWRE98mqJ6Mx9kQ0jn81on7m3Qv5jZEbuT9yox+LtDjcuQYB4DpwFwcAAACwTozPNuJzL5+Ow6fnF12bmc/iqcNvx5HTZ+PTe7YI/+gqWfVkzB96LLKpVxdfrJ+JxtHHI5t8NXp3Pyr8A2BNs38dAAAAYB3Ims345uszlwz9LnT49HwcHJuJrNlcoc6gvZrNLBpjT1w69LtANvlKNMaejGYzW7IOAFYzwR8AAADAOvDmTCOeOzbbUu23xmbjzZlGmzuCldGcPXFuvGcLGsefiubsG23uCADaR/AHAAAAsA6MVxsXnem3lJn5LMargj+6Q1Y9dfGZfkupn4mserK9DQFAGwn+AAAAANaBufryRncutx5WrXprO12vuh4AVhHBHwAAAMA60JdP2loPq1a+1N56AFhFBH8AAAAA60ClmItyb2uPgsq9aVSKuTZ3BCsjLQ5F5De2VpzfGGlxuL0NAUAbCf4AAAAA1oGt5Vzs29HaTqb9o6XYWhb80R2S0vbIjXy0pdrcyP2RlLa1uSMAaB/BHwAAAMA6kCZJ/MTN5XjPlt4l696zpTcO3FyONDHqk+6QJGnkRh+IdGDXknXpwK7IjT4QSeKRKQBrl99iAAAAAOtEpZSLT+/ZEvffesOisZ/l3jR+8tYb4hc+sCUGjfmky6TF4ejd/Wjkbvnk4rGf+Y2Ru+WT0bv7M+fGggLAGuYuDgAAAGAdqZRy8eB7++PDI6UYrzZirt6MvnwSlWIutpZzdvrRtdLicORvezhyI/dFVj0ZUZ+NyJciLQ5HUtpmpx8AXUHwBwAAALDOpEkSwzfkY/iGfKdbgRWVJGkk5ZsiLd/U6VYAoC0sYwEAAAAAAIAuYMcfAAAAAABcJ1mzGW/ONIxTBjpC8AcAAAAAANfB+Gwjvvn6TDx3bDZm5rPzXy/3pvHhHaU4cHM5KiWP5YH28Q4DAAAArHrNrBkzk7WoTtWiUVuIXKEnipsLUR4oRJLaPQFA543PNuJzL5+Ow6fnF12bmc/iqcNvx5HTZ+PTe7YI/4C28e4CAAAArGrVqVqMvXQyjh06FfW5xvmv5/tysWPPUIx+YDiKmwsd7BCA9S5rNuObr89cMvS70OHT83FwbCZ++r39xn4CbZF2ugEAAACAy6lO1eLQV47EkW+fuCj0i4iozzXiyHMn4i+/ciSqU7UOdQgAEW/ONOK5Y7Mt1X5rbDbenGlcuRDgKgj+AK5S1mzGybfr8cqpufjOf6vGK6fm4uTb9ciazU63BgAAXaGZNWPspZMxefzMknWnj5+Jse+cjGbmXhyAzhivNi46028pM/NZjFcFf0B7GPXJupY1m/HmTCPGq42YqzejL59EpZiLreWcrfYsyUHNAADQfjOTtTh26FRLtcdePhUju4eiPNjX5q4AYLG5+vIWnyy3HqBVnkqzbgluuFoOagYAgJVRnaotGu95OfW5RlSnzgr+AOiIvvzyNhEstx6gVZ5Isy4JbrhaDmoGAIhoNrNozp6IrHoqoj4bkS9FWhyKpLQ9ksSJElw/jdrCsurrNWPTAOiMSjEX5d60pXGf5d40KkXPHIH28O7CuiO44Vos96DmfSOlGL4h3+auAABWTlY9GY2xJ6Jx/KsR9QvOXctvjNzI/ZEb/VikxeHONUhXyRV6llWfL3jMAUBnbC3nYt+OUnz18NtXrN0/WoqtZb+zgPawFJN1Z7nBzZszVozyLgc1AwDrWVY9GfOHHovG0S9fHPpFRNTPROPo4zH/l78VWfVkZxqk6xQ3FyLf19qD0XxfLoqbN7S5IwC4tDRJ4iduLsd7tvQuWfeeLb1x4OayjQZA2wj+WHcEN1wLBzUDAOtVs5lFY+yJyKZeXbIum3wlGmNPRrPZ2j03LKU8UIgd7x9qqXbHnqEoDRTa3BEAXF6llItP79kS9996Q5R7L370Xu5N4ydvvSF+4QNbYtCYT6CNvMOw7ghuuBYOagYA1qvm7Ilz4z1b0Dj+VORG7oukfFObu6LbJWkSo3cOx+QP3o7Tx89ctm7LyMYYvXM4ktT9NwCdVSnl4sH39seHR0oxXm3EXL0ZffkkKsVcbC3n7PQD2k7wx7ojuOFaOKgZAFivsuqpxeM9L6d+JrLqyUgFf1wHxc2F2P3gzhj7zsk49vKpqM+9O5Ul35eLHXuGYvTO4ShustsPgNUhTZIYviEfwzfkO90KsA55Is26I7jhWjioGQBYt+qtnZN91fWwhOLmQtx2z0iM7B6K6tTZqNcakS+cO9OvNFCw0w8AAP6OJ9KsO4IbrsU7BzUfPX02Dp+ev2ydg5oBgK6TL7W3Hq4gSZMoD/ZFebCv060AAMCqlV65BLrLO8HNe7b0LlknuOFyHNQMAKxHaXEoIr+xteL8xkiLw+1tCAAAgEU8lWZdeie4eWZsJp4dm71o7Ge5N439o6U4cHNZcMNlOagZ4PprZlksTIxHNjkRzdpcJIW+SAcGo2ewEkm69terdfv3R/dLStsjN/LRaBz98hVrcyP3R1LatgJdAQAAcCGpBuuW4IZr5aBmgOtnYXIiai8cjNqLz0ez+u65YEmxFIW7PhSFvfujZ2Cwgx1em27//lgfkiSN3OgDkU1+P7LJVy5blw7sitzoA5EkAm0AAICVJvhjXRPcAEDnLUxOxMyXPh/1saOLrjWrszH3zNejMfY3UX7o4TUZjnX798f6khaHo3f3o9EYezIax5+KqJ9592J+Y+RG7o/c6APnxoICAACw4gR/AAB0TDPLovbCwUuGYheqjx2J2gvPRvH+n1pTYzG7/ftjfUqLw5G/7eHIjdwXWfVkRH02Il+KtDgcSWmbnX4AAAAd5BMZAAAdszAxHrUXn2+ptvbic5FNjLe5o+ur278/1q8kSSMt3xS5re+P3PYPR27r+yMt3yT0AwAA6DCfygAA6JhscuKiM++W0qzOxsLkRJs7ur66/fsDAAAAVhejPgEA6Jhmba6t9Z3W7d8fAAAAq0fWzOLU/HSM16ejms1HMe2NSr4/hnr7IzWdY90Q/AEA0DFJoa+t9Z3W7d8fAAAAq8P4/HQ8PfXdODj9asws1M5/vdxTiLs37Yp7Nr0vKr39HeyQlSLiBQCgY9KBwUiKpZZqk2IpegYG29zR9dXt3x8AAACdNz4/HZ9942vx5OShi0K/iIiZhVo8efrl+OwbX4/x+ekOdchKEvwBANAxPYOVKNz1wZZqC3fti3Sw0uaOrq9u//4AAADorKyZxdNT343X5t5Ysu61uRPxjbe+F1kzW6HO6BTBHwAAHZOkaRT23h350Z1L1uVHd0Zh7/5I0rV1+9rt3x8AAACddWp+Og5Ov9pS7TNvvRKn7Prres74u4Rm1oyZyVpUp2rRqC1ErtATxc2FKA8UIkmTTrcHANBVegYGo/zQw1F74VtRe/Hb0azOnr+WFEtRuGtfFPbuj56BLR3s8up1+/cHAABA54zXpxeN97ycmYVajNfPxI0bNre5KzpJ8PdDqlO1GHvpZBw7dCrqc43zX8/35WLHnqEY/cBwFDcXOtghAED36RkYjOL9H4/CnR+KhcmJaNbmIin0Rc/AYKSDlTW/E67bvz8AAAA6o5rNL7P+bJs6YbUQ/F2gOlWLQ185EpPHzyy6Vp9rxJHnTsTk8bdj94M7hX8AANdZkqbRs3UoerYOdbqVtuj27w8AAICVV0x7l1m/oU2dsFpYWvx3mlkzxl46ecnQ70Knj5+Jse+cjGbWXKHOAAAAAAAAFqvk+6Pc09pGpXJPISr5jW3uiE4T/P2dmclaHDt0qqXaYy+fitnJ1mbmAgAAAAAAtMNQb3/c3X97S7UHNu2Kod7+NndEpwn+/k51qnbRmX5Lqc81ojplDi4AAAAAANA5aZLGPZvviFv7ti9Zd2vf9vjIpjsiTcRC3c4r/HcatYVl1ddrrYWEAAAAAAAA7VLp7Y9Htt0bDwzsWTT2s9xTiAe27IlHtt0XlV5jPteDXKcbWC1yhZ5l1ecL/uoAAAAAAIDOq/T2xye27o39m26P8fqZqGZno5huiEp+Ywz19tvpt45Ir/5OcXMh8n25lsZ95vtyUdy8YQW6AgAAAAAAuLI0SePGDZvjxg2bO90KHSTi/TvlgULseP9QS7U79gxFaaBw5UIAAAAAAABYIYK/v5OkSYzeORxbRpaecbtlZGOM3jkcSZqsUGcAAAAAAABwZYK/CxQ3F2L3gztj577tke+7eApqvi8XO/dtj90/szOKm+z2AwAAAAAAYHVxxt8PKW4uxG33jMTI7qGoTp2Neq0R+cK5M/1KAwU7/QAAAAAAAFiVBH+XkKRJlAf7ojzY1+lWAAAAAAAAoCVGfQIAAAAAAEAXEPwBAAAAAABAFzDqEwAAYJVoNrNozp6IrHoqoj4bkS9FWhyKpLQ9ksS6TQAAAJYm+AMAAFgFsurJaIw9EY3jX42on3n3Qn5j5Ebuj9zoxyItDneuQQAAAFY9wR8AAECHZdWTMX/oscimXl18sX4mGkcfj2zy1ejd/ajwDwAAgMsyKwYAAKCDms0sGmNPXDr0u0A2+Uo0xp6MZjNboc4AAABYawR/AAAAHdScPXFuvGcLGsefiubsG23uCAAAgLXKqE8AgDWumWWxMDEe2eRENGtzkRT6Ih0YjJ7BSiSpdV6w2mXVUxef6beU+pnIqicjLd/U3qYAAABYkwR/AABr2MLkRNReOBi1F5+PZnX2/NeTYikKd30oCnv3R8/AYAc7BK6oPnvlmmupBwAAYN0Q/AEArFELkxMx86XPR33s6KJrzepszD3z9WiM/U2UH3pY+AerWb7U3noAgHUmazbjzZlGjFcbMVdvRl8+iUoxF1vLuUiTpNPtAbSV4A8AYA1qZlnUXjh4ydDvQvWxI1F74dko3v9Txn7CKpUWhyLyG1sb95nfGGlxuP1NAQCsUeOzjfjm6zPx3LHZmJnPzn+93JvGh3eU4sDN5aiUPBYHupenPwAAa9DCxHjUXny+pdrai89FNjHe5o6Aq5WUtkdu5KMt1eZG7o+ktK3NHQEArE3js4343Mun46uH374o9IuImJnP4qnDb8fnXj4d47ONDnUI0H6CPwCANSibnLjoTL+lNKuzsTA50eaOgKuVJGnkRh+IdGDXknXpwK7IjT4QSeJjHADAD8uazfjm6zNx+PT8knWHT8/HwbGZyJrNFeoMYGX5xAgAsAY1a3NtrQdWVlocjt7dj0bulk+eG/t5ofzGyN3yyejd/ZlzY0EBAFjkzZlGPHestcWR3xqbjTdn7PoDupNhxgAAa1BS6GtrPbDy0uJw5G97OHIj90VWPRlRn43IlyItDkdS2manHwDAEsarjUXjPS9nZj6L8Wojhm/It7krgJUn+AMAWIPSgcFIiqWWxn0mxVL0DAyuQFfAtUqSNJLyTZGWb+p0KwAAa8pcfXmjO5dbD7BWWDIKALAG9QxWonDXB1uqLdy1L9LBSps7AgAA6Jy+fNLWeoC1QvAHALAGJWkahb13R35055J1+dGdUdi7P5LUbR8AANC9KsVclHtb+9xT7k2jUjQMD+hOngABAKxRPQODUX7o4eg7cG8kxdJF15JiKfoO3Bflhz4VPQNbOtQhAADAythazsW+HaUrF0bE/tFSbC0L/oDu5N0NAGAN6xkYjOL9H4/CnR+KhcmJaNbmIin0Rc/AYKSDFTv9AACAdSFNkviJm8tx9PTZOHx6/rJ179nSGwduLkeaGPUJdCfBHwDAGpekafRsHYqerUOdbgUAAKBjKqVcfHrPlnhmbCaeHZuNmfns/LVybxr7R0tx4OZyDBrzCXQx73AAAAAAAHSFSikXD763Pz48UorxaiPm6s3oyydRKeZiazlnpx/Q9QR/sApkzWa8OdNwMwIAAAAA1yhNkhi+IR/DN+Q73QrAihP8QYeNzzbim6/PxHPHFo8f+PCOc+MHKiU/qgAAAAAAwNKkCdBB47ON+NzLpy954PDMfBZPHX47jpw+G5/es0X4BwAAAAAALCntdAOwXmXNZnzz9ZlLhn4XOnx6Pg6OzUTWbK5QZwAAAAAAwFpkCxF0yJszjXju2GxLtd8am419IyVzyTvMWYwAAAAAAKxmgj/okPFq46Iz/ZYyM5/FeLUh+OsgZzECAAAAALDaeUoNHTJXX97ozuXWc/04ixEAAAAAgLXAGX/QIX355Y2GXG4914ezGAEAAAAAWCsEf9AhlWIuyr2t/QiWe9OoFO0k64TlnsX45kyjzR0BAAAAAMClCf6gQ7aWc7FvR6ml2v2jpdhaFvx1wtWcxQgAAAAAAJ0g+IMOSZMkfuLmcrxnS++Sde/Z0hsHbi5Hmhj12QnOYgQAAAAAYK0Q/EEHVUq5+PSeLXH/rTcsGvtZ7k3jJ2+9IX7hA1ti0JjPjnEWIwAAAAAAa4U0ATqsUsrFg+/tjw+PlGK82oi5ejP68klUirnYWs7Z6ddh75zF2Mq4T2cxAgAAAADQSZ5QwyqQJkkM35CP4RvynW6FH/LOWYxfPfz2FWudxQgAAAAAQCd5Qg2whHfOYjx6+mwcPj1/2TpnMQIAAAAA61HWzOLU/HSM16ejms1HMe2NSr4/hnr7I02cOLfSBH8AV/DOWYzPjM3Es2OzF439LPemsX+0FAduLjuLEQAAAABYV8bnp+Ppqe/GwelXY2ahdv7r5Z5C3L1pV9yz6X1R6e3vYIfrj6fUAC1wFiMAAAAAwLvG56fjs298LV6be2PRtZmFWjx5+uU4XH0jHtl2r/BvBQn+AFrkLEYAAAAAgHPjPZ+e+u4lQ78LvTZ3Ir7x1vfiE5W9xn6uEH/LAAAAAAAAtOzU/HQcnH61pdpn3nolTs1Pt7kj3iH4AwAAAAAAoGXj9emLzvRbysxCLcbrZ9rcEe8Q/AEAAAAAANCyaja/zPqzbeqEHyb4AwAAAAAAoGXFtHeZ9Rva1Ak/TPAHAAAAAABAyyr5/ij3FFqqLfcUopLf2OaOeEeu0w0AAAAAAABrU9ZsxpszjRivNmKu3oy+fBKVYi62lnORJkmn26NNhnr74+7+2+PJyUNXrD2waVcM9favQFdECP4AAAAAAICrMD7biG++PhPPHZuNmfns/NfLvWl8eEcpDtxcjkpJDNGN0iSNezbfEYfn/jZemztx2bpb+7bHRzbdEWliAOVK8RMHAAAAAAAsy/hsIz738uk4fHp+0bWZ+SyeOvx2HDl9Nj69Z4vwr0tVevvjkW33xjemvhfPTL8SMwu189fKPYU4sGlXfGTTHVHpNeZzJflpAwAAAAAAWpY1m/HN12cuGfpd6PDp+Tg4NhM//d5+Yz+7VKW3Pz6xdW/s33R7jNfPRDU7G8V0Q1TyG2Oot99Ovw4Q/AEAAAAAAC17c6YRzx2bban2W2OzsW+kFMM35NvcFZ2SJmncuGFz3Lhhc6dbISJErQAAAAAAQMvGq42LzvRbysx8FuPVRps7At4h+AMAAAAAAFo2V2+2tR64eoI/AAAAAACgZX355Z3Xt9x64OoJ/gAAAAAAgJZVirko97YWL5R706gUc23uCHiH4A8AAAAAAGjZ1nIu9u0otVS7f7QUW8uCP1gpgj8AAAAAAKBlaZLET9xcjvds6V2y7j1beuPAzeVIE6M+YaUI/gAAAAAAgGWplHLx6T1b4v5bb1g09rPcm8ZP3npD/MIHtsSgMZ+wovzEAQAAAACsMs2sGTOTtahO1aJRW4hcoSeKmwtRHihEkto9xepQKeXiwff2x4dHSjFebcRcvRl9+SQqxVxsLefs9IMOEPwB0JWaWRYLE+ORTU5EszYXSaEv0oHB6BmsRJLa8A4AAMDqVZ2qxdhLJ+PYoVNRn2uc/3q+Lxc79gzF6AeGo7i50MEO4V1pksTwDfkYviHf6VaAEPwB0IUWJiei9sLBqL34fDSrs+e/nhRLUbjrQ1HYuz96BgY72CEAAABcWnWqFoe+ciQmj59ZdK0+14gjz52IyeNvx+4Hdwr/AFjElgcAusrC5ETMfOnzMffMn18U+kVENKuzMffM12PmS1+IhcmJDnUIAAAAl9bMmjH20slLhn4XOn38TIx952Q0s+YKdQbAWiH4A6BrNLMsai8cjPrY0SXr6mNHovbCs9HMshXqDAAAAK5sZrIWxw6daqn22MunYnay1uaOAFhrBH8AdI2FifGovfh8S7W1F5+LbGK8zR0BAABA66pTtYvO9FtKfa4R1amzbe4IgLXGGX8AdI1scmLReM/LaVZnY2FyInq2DrW5KwCA66OZNWNmshbVqVo0aguRK/REcXMhygOFSNKk0+0BcB00agvLqq/XWgsJAVg/BH8AdI1mba6t9QAAnVKdqsXYSyfj2KFTF+0EyfflYseeoRj9wHAUNxc62CEA10Ou0LOs+nzB410ALmbUJwBdIyn0tbUeAKATqlO1OPSVI3Hk2ycWjX+rzzXiyHMn4i+/ciSqU855AljripsLke9rLczL9+WiuHlDmzsCYK0R/AHQNdKBwUiKpZZqk2IpegYG29wRAMC1aWbNGHvpZEweP7Nk3enjZ2LsOyejmTVXqDMA2qE8UIgd72/tSIode4aiNGC3NwAXE/wB0DV6BitRuOuDLdUW7toX6WClzR0BAFybmclaHDt0qqXaYy+fitlJu/4A1rIkTWL0zuHYMrJxybotIxtj9M5hZ7wCdEjWzOJvz07F92aOxYtnDsf3Zo7F356diqyZdbo1Z/wB0D2SNI3C3rujMfZ61MeOXLYuP7ozCnv3R5Ja/wIArG7Vqdqi8Z6XU59rRHXqbJQHjTMHWMuKmwux+8GdMfadk3Hs5cuc7XrncBQ32e0H0Anj89Px9NR34+D0qzGz8O7Cu3JPIe7etCvu2fS+qPT2d6w/wR8AXaVnYDDKDz0ctRe+FbUXvx3N6uz5a0mxFIW79kVh7/7oGdjSwS4BAFrTqC0sq75eay0kBGB1K24uxG33jMTI7qGoTp2Neq0R+cK5M/1KAwU7/QA6ZHx+Oj77xtfitbk3Fl2bWajFk6dfjsPVN+KRbfd2LPwT/F2FZtaMmclaVKdq0agtRK7QE8XNhSj7pQuwKvQMDEbx/o9H4c4PxcLkRDRrc5EU+qJnYDDSwYqdfgDAmpEr9CyrPl/wMR+gWyRpEuXBPju5AVaJrJnF01PfvWTod6HX5k7EN976XnyisjfSZOWfQ/pEsEzVqVqMvXQyjh26zDb7DwxHcbNt9gCdlqRp9Gwdip6trR2KDgCwGhU3FyLfl2tp3Ge+79xOEAAA4Po7NT8dB6dfban2mbdeif39t8eNGza3uavFbHlYhupULQ595Ugc+faJRR+66nONOPLcifjLrxyJ6pTD1AEAALh25YFC7Hh/awuZduwZitKAhagAANAO4/Xpi870W8rMQi3G62fa3NGlCf5a1MyaMfbSyZg8vvQLdfr4mRj7zsloZs0V6gwAukMzy6Lx5qmY/+vvx9m/OhTzf/39aLx5KppZ1unWAKBjkjSJ0TuHY8vIxiXrtoxsjNE7hx0/AQAAbVLN5pdZf7ZNnSzNqM8WzUzW4tihUy3VHnv5VIzsHjJ/GwBatDA5EbUXDkbtxeejWZ09//WkWIrCXR+Kwt790TMw2MEOAaBzipsLsfvBnTH2nZNx7OXLHDtx53AUN9ntBwAA7VJMe5dZ35kx/IK/FlWnai2dqRBxbuxndeqs4A8AWrAwOREzX/p81MeOLrrWrM7G3DNfj8bY30T5oYeFfwCsW8XNhbjtnpEY2T0U1amzUa81Il84d6ZfaaBgpx8AALRZJd8f5Z5CS+M+yz2FqOSXntrRLkZ9tqhRW1hWfb3WWkgIAOtZM8ui9sLBS4Z+F6qPHYnaC88a+wnAupakSZQH+2Lrzk2xfddgbN25KcqDfUI/AABYAUO9/XF3/+0t1R7YtCuGevvb3NGlCf5alCv0LKs+X7CZEgCuZGFiPGovPt9Sbe3F5yKbGG9zRwAAAACwWJqkcc/mO+LWvu1L1t3atz0+sumOSJPORHDSqRYVNxci35dradxnvu/cuBUAYGnZ5MRFZ/otpVmdjYXJiejZOtTmrgAAAID1KGtmcWp+Osbr01HN5qOY9kYl3x9Dvf0dC3FYXSq9/fHItnvjG1Pfi2emX7lo7Ge5pxAHNu2Kj2y6Iyq9nRnzGSH4a1l5oBA73j8UR7594oq1O/YMRWnAoeoAcCXN2lxb6wEAAABaMT4/HU9PfTcOTr+6KMy5e9OuuGfT+6LSodGNrC6V3v74xNa9sX/T7TFePxPV7GwU0w1RyW9cFSGx4K9FSZrE6J3DMfmDt+P08TOXrdsysjFG7xx2xgIAtCAp9LW1HgAAAOBKxuen47NvfC1em3tj0bWZhVo8efrlOFx9Ix7Zdq/wj4g4N/bzxg2b48YNmzvdyiL2pi5DcXMhdj+4M3bu2x75vosz03xfLnbu2x67f2ZnFDet391+zawZb0/MxakjU3HilYk4dWQq3p6Yi2bW7HRrAKxC6cBgJMVSS7VJsRQ9A4Nt7ggAAABYT7JmFk9PffeSod+FXps7Ed9463uRNbMV6gyujh1/y1TcXIjb7hmJkd1DUZ06G/VaI/KFc2f6lQYK63qnX3WqFmMvnYxjh05ddBZivi8XO/YMxegHhqO4ef2GogAs1jNYicJdH4y5Z/78irWFu/ZFOlhZga4AAACA9eLU/HQcnH61pdpn3nol9vffvip3ecE7BH9XIUmTKA/2RXnQuLF3VKdqcegrR2LyEmNQ63ONOPLciZg8/nbsfnCn8A+A85I0jcLeu6Mx9nrUx45cti4/ujMKe/dHkhpWAAAAAFw/4/Xpi870W8rMQi3G62cEf6xqnp5xzZpZM8ZeOnnJ0O9Cp4+fibHvnDT2E4CL9AwMRvmhh6PvwL2Lxn4mxVL0Hbgvyg99KnoGtnSoQwAAAKBbVbP5ZdafbVMncH3Y8cc1m5msxbFDp1qqPfbyqRjZPWS3JAAX6RkYjOL9H4/CnR+KhcmJaNbmIin0Rc/AYKSDFTv9AAAAgLYopr3LrN/Qpk7g+hD8cc2qU7WLzvRbSn2uEdWps4I/ABZJ0jR6tg5Fz9ahTrcCAAAArBOVfH+Uewotjfss9xSikt+4Al3B1bN8nmvWqC0sq75eay0kBAAAAACAdhrq7Y+7+29vqfbApl0x1Nvf5o7g2gj+uGa5Qs+y6vMFG00BAAAAAOi8NEnjns13xK1925esu7Vve3xk0x2RJmIVVjf/h3LNipsLke9rLczL9+WiuNkMZAAAAAAAVodKb388su3eeGBgT5R7ChddK/cU4oEte+KRbfdFpdeYT1Y/W6+4ZuWBQux4/1Ac+faJK9bu2DMUpYHCFesAAAAAAGClVHr74xNb98b+TbfHeP1MVLOzUUw3RCW/MYZ6++30Y80Q/HHNkjSJ0TuHY/IHb8fp42cuW7dlZGOM3jkcSZqsYHcAAAAAAHBlaZLGjRs2x40bNne6FbhqImqui+LmQux+cGfs3Ld90djPfF8udu7bHrt/ZmcUN9ntBwAAAAAA0A52/HHdFDcX4rZ7RmJk91BUp85GvdaIfOHcmX6lgYKdfgDAmtfMsliYGI9sciKatblICn2RDgxGz2AlktSaOgAAAKCzBH9cV0maRHmwL8qDfZ1uBQDgulqYnIjaCwej9uLz0azOnv96UixF4a4PRWHv/ugZGOxghwAAAMB6J/gDAIArWJiciJkvfT7qY0cXXWtWZ2Puma9HY+xvovzQw8I/AAAAoGPMIwIAgCU0syxqLxy8ZOh3ofrYkai98Gw0s2yFOgOuh6zZjJNv1+OVU3Pxnf9WjVdOzcXJt+uRNZudbg0AAGDZ7PgDAIAlLEyMR+3F51uqrb34XBTu/GD0bB1qc1fA9TA+24hvvj4Tzx2bjZn5d0P7cm8aH95RigM3l6NS8rEZAABYO+z4AwCAJWSTExed6beUZnU2FiYn2twRcD2Mzzbicy+fjq8efvui0C8iYmY+i6cOvx2fe/l0jM82OtQhAADA8gn+AABgCc3aXFvrgZWXNZvxzddn4vDp+SXrDp+ej4NjM8Z+AgAAa4bgDwAAlpAU+tpaD6y8N2ca8dyx1nbyfmtsNt6csesPAABYGwR/AACwhHRgMJJiqaXapFiKnoHBNncEXKvxamPReM/LmZnPYrwq+AMAANYGp5QD11XWbMabM40YrzZirt6MvnwSlWIutpZzkSZJp9sDgGXrGaxE4a4Pxtwzf37F2sJd+yIdrKxAV8C1mKsvb3TncusBAAA6RfAHXDfjs4345usz8dyx2YtWUJd70/jwjlIcuLkclZK3HQDWliRNo7D37miMvR71sSOXrcuP7ozC3v2RpIZqwGrXl1/egrTl1gMAAHSKpxLAdTE+24jPvXw6vnr47UVjk2bms3jq8NvxuZdPx/isMUkArD09A4NRfujh6Dtw76Kxn0mxFH0H7ovyQ5+KnoEtHeoQWI5KMRfl3tY+Dpd706gULV4DAADWBp9egGuWNZvxzddn4vDp+SXrDp+ej4NjM/HT7+039hOANadnYDCK9388Cnd+KBYmJ6JZm4uk0Bc9A4ORDlbs9IM1ZGs5F/t2lOKrh9++Yu3+0VJsLfvoDAAArA0+vQDX7M2ZRjx3bLal2m+Nzca+kVIM35Bvc1cAcP0laRo9W4eiZ+tQp1sBrkGaJPETN5fj6OmzSy5ee8+W3jhwc9miNQAAYM2wLBm4ZuPVxqLxnpczM5/FeNW4TwAAOqtSysWn92yJ+2+9YdHYz3JvGj956w3xCx/YEoPGfAIAAGuITzDANZurN9taDwAA7VAp5eLB9/bHh0dKMV5txFy9GX35JCrFXGwt5+z0AwAA1hzBH3DN+vLLeyCy3HoAAGiXNEli+Ia8UfQAnNfMmjEzWYvqVC0atYXIFXqiuLkQ5YFCJKlnGgCsboI/4JpVirko96Ytjfss96ZRMS4JAAAAWIWqU7UYe+lkHDt0Kupz7x5Vku/LxY49QzH6geEobi50sEMAWJoz/oBrtrWci307Si3V7h8txday4A8AAABYXapTtTj0lSNx5NsnLgr9IiLqc4048tyJ+MuvHInqVK1DHQLAlXn6DlyzNEniJ24ux9HTZ+Pw6fnL1r1nS28cuLnsrBS4jGaWxcLEeGSTE9GszUVS6It0YDB6BiuRpNbqAAC0i7F+QDNrxthLJ2Py+Jkl604fPxNj3zkZt90z4v0BgFVJ8AdcF5VSLj69Z0s8MzYTz47NXjT2s9ybxv7RUhy4uRyDxnzCJS1MTkTthYNRe/H5aFZnz389KZaicNeHorB3f/QMDHawQwCA7mSsHxARMTNZi2OHTrVUe+zlUzGyeyjKg31t7goAls8TeOC6qZRy8eB7++PDI6UYrzZirt6MvnwSlWIutpZzdvrBZSxMTsTMlz4f9bGji641q7Mx98zXozH2N1F+6GHhHwDAdfTOWL9L7fB5Z6zf5PG3Y/eDO4V/0OWqU7VF4z0vpz7XiOrUWcEfAKuSuWHAdZUmSQzfkI9dQ33xgZuKsWuoL4ZvyAv94DKaWRa1Fw5eMvS7UH3sSNReeDaaWbZkHQAArVnuWL9m1lyhzoBOaNQWllVfr7UWEgLAShP8AUAHLUyMR+3F51uqrb34XGQT423uCABgfVjuWL/ZyVqbOwI6KVfoWVZ9vmCQGgCrk+APADoom5y46Ey/pTSrs7EwOdHmjgAA1oerGesHdK/i5kLk+1oL8/J9uShu3tDmjgDg6gj+AKCDmrW5ttYDAHBpxvoBFyoPFGLH+4daqt2xZyhKA879BGB1EvwBQAclheUdBr/cegAALs1YP+BCSZrE6J3DsWVk45J1W0Y2xuidw5GkyQp1BgDLI/gDgA5KBwYjKZZaqk2KpegZGGxzRwAA64OxfsAPK24uxO4Hd8bOfdsXvT/k+3Kxc9/22P0zO6O4yW4/AFYvy9UAoIN6BitRuOuDMffMn1+xtnDXvkgHKyvQFQBA93tnrN+Rb5+4Yq2xfrB+FDcX4rZ7RmJk91BUp85GvdaIfOFc+F8aKNjpB8CqJ/gDgA5K0jQKe++OxtjrUR87ctm6/OjOKOzdH0lqsz4AwPXwzli/yR+8HaePn7lsnbF+sP4kaRLlwb4oDzpqAYC1R/AHAB3WMzAY5YcejtoL34rai9+OZnX2/LWkWIrCXfuisHd/9Axs6WCXAADd552xfmPfORnHXj4V9bnG+Wv5vlzs2DMUo3cOG+vHmtPMmjEzWYvqVC0atYXIFXqiuLkQZTvWAKDrCf4AYBXoGRiM4v0fj8KdH4qFyYlo1uYiKfRFz8BgpIMVO/0AANrEWD+6TXWqFmMvnYxjhy4TZn9gOIqbhdkA0K1WRfBnFRIAnBv72bN1KHq2DnW6FQCAdcVYP7pFdaoWh75yJCYvMb62PteII8+diMnjb8fuB3cK/wCgS3U8+LMKCQAAAACuTTNrxthLJy8Z+l3o9PEzMfadk3HbPSMW3ANAF+ro3LB3ViEd+faJi0K/iHdXIf3lV45EdarWoQ4BAAAAYPWbmazFsUOnWqo99vKpmJ30vA0AulHHgr/lrkJqZs0V6gwAAAAA1pbqVG3RwvrLqc81ojp1ts0dAQCd0LHgzyokAAAAALg+GrWFZdXXa62FhADA2tKx4M8qJAAAAAC4PnKFnmXV5wu5NnUCAHRSx4I/q5AAAAAA4Poobi5Evq+1MC/fl4vi5g1t7ggA6ISOBX9WIQEAAADA9VEeKMSO9w+1VLtjz1CUBgpt7ggA6ISOBX9WIQEAAADA9ZGkSYzeORxbRjYuWbdlZGOM3jkcSZqsUGcAwErqWPBnFRIAAAAAXD/FzYXY/eDO2Llv+6IF9/m+XOzctz12/8zOKG7ynA0AulXH5me+swpp8gdvx+njZy5bZxUSAAAAALSmuLkQt90zEiO7h6I6dTbqtUbkC+emaZUGCp6xAUCX6+jBee+sQhr7zsk49vKpqM81zl/L9+Vix56hGL1z2CokAAAAAGhRkiZRHuyL8mBfp1sBAFZYR4O/CKuQAAAAAAAA4HroePAXYRUSAABwTrOZRXP2RGTVUxH12Yh8KdLiUCSl7ZEkHTuiHAAAANaEVRH8AQAAZNWT0Rh7IhrHvxpRv+Ac8PzGyI3cH7nRj0VaHO5cgwAAdJWs2Yw3ZxoxXm3EXL0ZffkkKsVcbC3nIk1MogPWJsEfAADQcVn1ZMwfeiyyqVcXX6yficbRxyObfDV6dz8q/AMA4JqNzzbim6/PxHPHZmNmPjv/9XJvGh/eUYoDN5ejUvL4HFh7zMoBAAA6qtnMojH2xKVDvwtkk69EY+zJaDazJesAAGAp47ON+NzLp+Orh9++KPSLiJiZz+Kpw2/H514+HeOzjQ51CHD1BH8AAEBHNWdPnBvv2YLG8aeiOftGmzsCAKBbZc1mfPP1mTh8en7JusOn5+Pg2ExkzeYKdQZwfdirDACwjjnTgtUgq566+Ey/pdTPRFY9GWn5pvY2BQBAV3pzphHPHZttqfZbY7Oxb6QUwzfk29wVwPUj+AMAWKecacGqUW/twctV1wMAwN8ZrzYWjfe8nJn5LMarDcEfsKZ4kgMAsA69c6bFpcbbvHOmxZHTZ+PTe7YI/2i/fKm99QAA8Hfm6ssb3bnceoBOc8YfAMA640wLVpu0OBSR39hacX5jpMXh9jYEAEDX6ssv70iD5dYDdJrgDwBgnVnumRZvzjTa3BHrXVLaHrmRj7ZUmxu5P5LStjZ3BABAt6oUc1Hube2xeLk3jUrRBBRgbRH8AQBrUjPLovHmqZj/6+/H2b86FPN//f1ovHkqmllrZzWsZ1dzpgW0U5KkkRt9INKBXUvWpQO7Ijf6QCSJjzEAAFydreVc7NvR2uj4/aOl2FoW/AFri3ctAGDNWZiciNoLB6P24vPRrL67cy0plqJw14eisHd/9AwMdrDD1c2ZFqxGaXE4enc/Go2xJ6Nx/KmI+pl3L+Y3Rm7k/nPhYHGoc00CALDmpUkSP3FzOY6ePrvk8Qfv2dIbB24uR5oY9QmsLYI/AGBNWZiciJkvfT7qY0cXXWtWZ2Puma9HY+xvovzQw8K/y3CmBatVWhyO/G0PR27kvsiqJyPqsxH5UqTF4UhK2+z0AwDguqiUcvHpPVvimbGZeHZs9qKJKOXeNPaPluLAzeUYNOYTWIO8cwEAa0Yzy6L2wsFLhn4Xqo8didoLz0bx/p+KJBUU/LB3zrRoZdynMy1YaUmSRlK+KdLyTZ1uBQCALlYp5eLB9/bHh0dKMV5txFy9GX35JCrFXGwt5+z0A9YsT8IAgDVjYWI8ai8+31Jt7cXnIpsYb3NHa5MzLQAAAM6N/Ry+IR+7hvriAzcVY9dQXwzfkBf6AWuapzgAdEwzy2JhYjyyyYlo1uYiKfRFOjAYPYMVu7S4pGxy4qIz/ZbSrM7GwuRE9Gx1HtgPc6YFAAAAQHcS/AHQEQuTE1F74WDUXnz+oiAnKZaicNeHorB3v/PZWKRZm2tr/XriTAsAAACA7uNJDgArbmFyIma+9PlLntPWrM7G3DNfj8bY30T5oYeFf1wkKfS1tX69caYFAAAAQHcR/AGwoppZFrUXDl4y9LtQfexI1F54Nor3/5Sxn5yXDgxGUiy1NO4zKZYExy1450yL4RvynW4FAACAdS5rNuPNmYbFqXANBH8ArKiFifGovfh8S7W1F5+Lwp0fdEYb5/UMVqJw1wdj7pk/v2Jt4a59kQ5WVqArAAAA4FqNzzbim6/PxHPHFh9H8eEd546jqJREGnAlfkoAWFHZ5ERLu7Uizo39XJicEPxxXpKmUdh7dzTGXo/62JHL1uVHd0Zh7367RQEAuKJm1oyZyVpUp2rRqC1ErtATxc2FKA8UIkntLgFYCeOzjfjcy6fj8On5Rddm5rN46vDbceT02fj0ni3CP7gCPyEArKhmba6t9XS/noHBKD/0cNRe+FbUXvz2RUFyUixF4a59Udi7P3oGtnSwSwAA1oLqVC3GXjoZxw6divpc4/zX83252LFnKEY/MBzFzYUOdgjQ/bJmM775+swlQ78LHT49HwfHZuKn39tv7CcsQfAHwIpKCn1trWd96BkYjOL9H4/CnR+KhcmJaNbmIin0Rc/AYKSDFTv9gFWl2cyiOXsisuqpiPpsRL4UaXEoktL2SBLvVwCdUp2qxaGvHInJ42cWXavPNeLIcydi8vjbsfvBncI/gDZ6c6YRzx1rbTrUt8ZmY99IyTn1sATBHwArKh0YjKRYamncZ1IsRc/A4Ap0xVqUpGn0bB0yChZY1bLqyWiMPRGN41+NqF/wYDm/MXIj90du9GORFoc71yDAOtXMmjH20slLhn4XOn38TIx952Tcds+IsZ8AbTJebVx0pt9SZuazGK82BH+wBMtLAVhRPYOVKNz1wZZqC3fti3Sw0uaOAKA9surJmD/0WDSOfvni0C8ion4mGkcfj/m//K3Iqic70yDAOjYzWYtjh061VHvs5VMxO1lrc0cA69dcvdnWelhvBH8ArKgkTaOw9+7Ij+5csi4/ujMKe/cb2QjAmtRsZtEYeyKyqVeXrMsmX4nG2JPRbLa2whmA66M6VbvoTL+l1OcaUZ062+aOANavvvzydlQvtx7WG09TAVhxPQODUX7o4eg7cG8kxdJF15JiKfoO3Bflhz4VPQNbOtQhAFyb5uyJc+M9W9A4/lQ0Z99oc0cAXKhRW1hWfb3WWkgIwPJVirko97YWVZR706gUnWAGS/ETAkBH9AwMRvH+j0fhzg/FwuRENGtzkRT6omdgMNLBip1+AKxpWfXU4vGel1M/E1n1ZKTlm9rbFADn5Qo9y6rPFzxCA2iXreVc7NtRiq8efvuKtftHS7G17D0ZluInBICOSdI0erYORc/WoU63AgDXV322vfUAXJPi5kLk+3ItjfvM9+WiuHnDCnQFsD6lSRI/cXM5jp4+G4dPz1+27j1beuPAzeVIE6M+YSm2UwAAAFxv+dKVa66lHoBrUh4oxI73t7YAcceeoSgNFNrcEcD6Vinl4tN7tsT9t96waOxnuTeNn7z1hviFD2yJQWM+4Yr8lAAAAFxnaXEoIr+xtXGf+Y2RFofb3xQA5yVpEqN3DsfkD96O08cv/169ZWRjjN45HElqdwlAu1VKuXjwvf3x4ZFSjFcbMVdvRl8+iUoxF1vLOTv9oEWCPwAAgOssKW2P3MhHo3H0y1eszY3cH0lp2wp0BcCFipsLsfvBnTH2nZNx7OVTF439zPflYseeoRi98//f3t3stnFeYQA+MxnK/BnZ0Z9FNAFkGVACOMhKdbJzihRZFCm8c2+gi/QWeim9hi6LLIMU3qXxrujGBiJ5UcC2IAlOKIoUGbILI0YMpxYli2bm4/MsyUPi7ObgvDPftKP5tqf9AN6UPMuivViL9mJt1q1AZQn+AAAALliW5VFs3o7RwX9idPDv/1uXL38YxebtyDJvYQCYheZSPW58thEb2+vRPezHoDeMWv3ZO/1ay3VP+gEAlSP4AwAAmIK82Y6F7b/GcOcfMXz45YvHftYuR7HxeRSbt58dCwrAzGR5FuVqI8rVxqxbAQB4bYI/AACAKcmb7ajd+HMUG3+IUfdRxOAootaKvNmOrPUbT/oBAABwoQR/AAAAU5RleWTlu5GX7866FQAAABLn9lIAAAAAAABIgOAPAAAAAAAAEiD4AwAAAAAAgAQI/gAAAAAAACABgj8AAAAAAABIgOAPAAAAAAAAEiD4AwAAAAAAgAQI/gAAAAAAACABgj8AAAAAAABIgOAPAAAAAAAAEiD4AwAAAAAAgAQI/gAAAAAAACABxawb4M0Zj8bROehF97AXw96PUdTfiuZSPcrlemR5Nuv2AIDXMBqP40lnGHvdYRwPxtGoZbHWLOJqWUSeuc4DAMB52KcBUDWCvznRPezFzjePYvfe4xgcD59/XmsUce3memx+1I7mUn2GHQIA57V3NIyvvuvE3d2j6JyMnn9eLuTxybVWfHq9jLWWsQ8AAM7CPg2AKrIBmgPdw17c+/uDOHj4/UvfDY6H8eDuf+Pg4Q+xfWfLsAIAFbN3NIy/fbsf9/dPXvquczKKL+//EA/2+/HFzRXhHwAATMg+DYCq8o6/xI1H49j55tEvDik/t//w+9j516MYj8ZvqDMA4HWNxuP46rvOL4Z+P3d//yS+3unEaOw6DwAAp7FPA6DKBH+J6xz0Yvfe44lqd799HEcHvSl3BABclCedYdzdPZqo9p87R/GkMzy9EAAA5px9GgBVJvhLXPew98IZ5K8yOB5G97A/5Y4AgIuy1x2+8E6/V+mcjGKvK/gDAIDT2KcBUGWCv8QNez+eqX7QsxAEgKo4HpztSKGz1gMAwDyyTwOgygR/iSvqb52pvlYvptQJAHDRGrVsqvUAADCP7NMAqDLBX+KaS/WoNSYbPmqNIppLl6bcEQBwUdaaRZQLk41z5UIea00LCQAAOI19GgBVJvhLXLlcj2u/XZ+o9trN9Wgt16fcEQBwUa6WRdy61pqo9nebrbhaCv4AAOA09mkAVJngL3FZnsXmx+1Y2bj8yrqVjcux+XE7stwRYABQFXmWxe+vl/HeysIr695bWYhPr5eRZ67zAABwGvs0AKpM8DcHmkv12L6zFVu33nnpmIJao4itW+/E9p+2ovm2u5MAoGrWWkV8cXMlPn9/8aVjP8uFPP74/mL85aOVWHXMJwAATMw+DYCqsgGaE82letz4bCM2tteje9iPQW8YtfqzM8hby3V3JgFAha21irjzwZX4ZKMVe91hHA/G0ahlsdYs4mpZeNIPAADOwT4NgCoS/M2RLM+iXG1EudqYdSsAwAXLsyzai7VoL9Zm3QoAACTDPg2AqnHUJwAAAAAAACRA8AcAAAAAAAAJEPwBAAAAAABAAgR/AAAAAAAAkADBHwAAAAAAACRA8AcAAAAAAAAJEPwBAAAAAABAAgR/AAAAAAAAkADBHwAAAAAAACRA8AcAAAAAAAAJEPwBAAAAAABAAgR/AAAAAAAAkADBHwAAAAAAACRA8AcAAAAAAAAJEPwBAAAAAABAAgR/AAAAAAAAkIBikqLRaBQREcfHx1NtBgDg1+qnOeinuegszFIAwLwzSwEAnN9ZZqmJgr9+vx8REbu7u+fvCgAgAf1+P8qyPPNvIsxSAABmKQCA85tklsrG4/H4tD8aDofx9OnTuHTpUuS500EBgPkzGo2i3+/HlStXoigmunfqObMUADDvzFIAAOd3lllqouAPAAAAAAAA+HVzmxQAAAAAAAAkQPAHAAAAAAAACRD8AQAAAAAAQAIEfwAAAAAAAJAAwR8AAAAAAAAkQPAHAAAAAAAACRD8AQAAAAAAQAL+B5Wm9wRztTVJAAAAAElFTkSuQmCC",
|
|
"text/plain": [
|
|
"<Figure size 1800x1200 with 6 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"transient": {}
|
|
}
|
|
],
|
|
"source": [
|
|
"from sklearn.manifold import TSNE\n",
|
|
"\n",
|
|
"categories = ['Programación'] * 5 + ['Ciencia'] * 5 + ['Cocina'] * 5 + ['Finanzas'] * 5 + ['Geografía'] * 5\n",
|
|
"cat_colors = {'Programación': '#e74c3c', 'Ciencia': '#3498db', 'Cocina': '#2ecc71', 'Finanzas': '#f39c12', 'Geografía': '#9b59b6'}\n",
|
|
"\n",
|
|
"n_models = len(results)\n",
|
|
"fig, axes = plt.subplots(2, 3, figsize=(18, 12))\n",
|
|
"axes = axes.flatten()\n",
|
|
"\n",
|
|
"for i, (name, res) in enumerate(results.items()):\n",
|
|
" embs = res['corpus_embs']\n",
|
|
" tsne = TSNE(n_components=2, random_state=42, perplexity=8)\n",
|
|
" coords = tsne.fit_transform(embs)\n",
|
|
"\n",
|
|
" ax = axes[i]\n",
|
|
" for cat in cat_colors:\n",
|
|
" mask = [c == cat for c in categories]\n",
|
|
" ax.scatter(coords[np.array(mask), 0], coords[np.array(mask), 1],\n",
|
|
" c=cat_colors[cat], label=cat, s=80, alpha=0.8, edgecolors='white', linewidth=0.5)\n",
|
|
" ax.set_title(f'{name} ({res[\"dim\"]}d, {res[\"n_params_m\"]}M)', fontsize=11)\n",
|
|
" ax.set_xticks([]); ax.set_yticks([])\n",
|
|
" if i == 0:\n",
|
|
" ax.legend(fontsize=8, loc='upper left')\n",
|
|
"\n",
|
|
"# Ocultar ejes sobrantes\n",
|
|
"for j in range(i + 1, len(axes)):\n",
|
|
" axes[j].set_visible(False)\n",
|
|
"\n",
|
|
"plt.suptitle('t-SNE: Agrupación de documentos por categoría (corpus español)', fontsize=14, y=1.01)\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5093816f",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 9. Conclusiones\n",
|
|
"\n",
|
|
"Ejecuta todas las celdas arriba y compara:\n",
|
|
"- **Modelos solo-inglés** (MiniLM-L6, L12): muy rápidos y livianos, pero ¿entienden español?\n",
|
|
"- **Multilingüe ligero** (paraphrase-multi-L12, multi-e5-small): buen balance\n",
|
|
"- **Nomic v1.5**: más grande pero con Matryoshka — ¿compensa el tamaño extra?\n",
|
|
"- **BGE-m3**: el más pesado — ¿la diferencia en retrieval justifica 4x el tamaño?\n",
|
|
"\n",
|
|
"La tabla resumen y los gráficos dan la respuesta concreta para **tu** caso de uso."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.13.7"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|